diff --git a/business_objects/dog/assessment.py b/business_objects/dog/assessment.py index 1b86278..c46d3c8 100644 --- a/business_objects/dog/assessment.py +++ b/business_objects/dog/assessment.py @@ -56,10 +56,11 @@ class Assessment(SQLAlchemy_ABC, Base): self.is_new = False self.weather = None self.lighting_level = None + self.temperature_celcius = 22 self.location = None self.user_handler = None - self.distractions = None - self.assessment_command_modality_links = None + self.distractions = [] + self.assessment_command_modality_links = [] super().__init__() @classmethod @@ -99,18 +100,15 @@ class Assessment(SQLAlchemy_ABC, Base): _m = f'{cls.__qualname__}.from_json' assessment = cls() if json is None: return assessment - # Helper_App.console_log(f'{_m}\njson: {json}') assessment.id_assessment = json.get(Assessment.ATTR_ID_ASSESSMENT, -1) assessment.id_weather = json[Weather.ATTR_ID_WEATHER] assessment.id_lighting_level = json[Lighting_Level.ATTR_ID_LIGHTING_LEVEL] assessment.id_location = json[Location.ATTR_ID_LOCATION] - assessment.user_handler = json[cls.FLAG_USER_HANDLER] + assessment.id_user_handler = json[cls.FLAG_USER_HANDLER] assessment.notes = json[cls.FLAG_NOTES] assessment.temperature_celcius = json[cls.FLAG_TEMPERATURE_CELCIUS] - assessment.active = json[cls.FLAG_ACTIVE] + assessment.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m) assessment.created_on = json.get(cls.FLAG_CREATED_ON, None) - # assessment.id_command_category = json[Command_Category.FLAG_COMMAND_CATEGORY] - # Helper_App.console_log(f'Dog Command Link: {assessment}') return assessment def to_json(self): @@ -129,8 +127,6 @@ class Assessment(SQLAlchemy_ABC, Base): , self.FLAG_DISTRACTION: [distraction.to_json() for distraction in self.distractions] if (self.distractions is not None and len(self.distractions) > 0) else [] , self.FLAG_ASSESSMENT_COMMAND_MODALITY_LINK: [link.to_json() for link in self.assessment_command_modality_links] if (self.assessment_command_modality_links is not None and len(self.assessment_command_modality_links) > 0) else [] } - # , Command_Category.FLAG_COMMAND_CATEGORY: self.id_command_category - # Helper_App.console_log(f'as_json: {as_json}') return as_json def __repr__(self): @@ -283,8 +279,6 @@ class Parameters_Assessment(Get_Many_Parameters_Base): @classmethod def from_form_filters_assessment(cls, form): _m = f'{cls.__qualname__}.from_form_filters_assessment' - Helper_App.console_log(_m) - Helper_App.console_log(f'Filters: {form}') av.val_instance(form, 'form', _m, Filters_Assessment) has_filter_search_text = not (form.search.data == '' or form.search.data is None) has_filter_weather = not (form.id_weather.data == '0' or form.id_weather.data == '' or form.id_weather.data is None) @@ -292,14 +286,7 @@ class Parameters_Assessment(Get_Many_Parameters_Base): has_filter_location = not (form.id_location.data == '0' or form.id_location.data == '' or form.id_location.data is None) has_filter_user_handler = not (form.id_user_handler.data == '0' or form.id_user_handler.data == '' or form.id_user_handler.data is None) active_only = av.input_bool(form.active_only.data, "active", _m) - Helper_App.console_log(f''' -has_filter_search_text: {has_filter_search_text} -has_filter_weather: {has_filter_weather} -has_filter_lighting_level: {has_filter_lighting_level} -has_filter_location: {has_filter_location} -has_filter_user_handler: {has_filter_user_handler} -active_only: {active_only} -''') + filters = cls.get_default() filters.get_all_assessment = True filters.get_inactive_assessment = not active_only diff --git a/business_objects/dog/assessment_command_modality_link.py b/business_objects/dog/assessment_command_modality_link.py index acaa91a..48965df 100644 --- a/business_objects/dog/assessment_command_modality_link.py +++ b/business_objects/dog/assessment_command_modality_link.py @@ -33,7 +33,7 @@ class Assessment_Command_Modality_Link(SQLAlchemy_ABC, Base): ATTR_ID_ASSESSMENT_COMMAND_MODALITY_LINK: ClassVar[str] = 'id_link' FLAG_ASSESSMENT_COMMAND_MODALITY_LINK: ClassVar[str] = Assessment.FLAG_ASSESSMENT_COMMAND_MODALITY_LINK FLAG_ASSESSMENT_RESPONSE: ClassVar[str] = 'assessment_response' - FLAG_DISTANCE_FROM_HANDLER: ClassVar[str] = 'distance-from-handler' + FLAG_DISTANCE_FROM_HANDLER_METRES: ClassVar[str] = 'distance-from-handler-metres' FLAG_IS_IN_HEARING_RANGE_OF_HANDLER: ClassVar[str] = 'is-in-hearing-range-of-handler' FLAG_IS_IN_SCENT_RANGE_OF_HANDLER: ClassVar[str] = 'is-in-scent-range-of-handler' FLAG_IS_IN_SIGHT_OF_HANDLER: ClassVar[str] = 'is-in-sight-of-handler' @@ -50,7 +50,7 @@ class Assessment_Command_Modality_Link(SQLAlchemy_ABC, Base): id_command = db.Column(db.Integer) id_command_modality = db.Column(db.Integer) id_bribe = db.Column(db.Integer) - distance_from_handler = db.Column(db.Float) + distance_from_handler_metres = db.Column(db.Float) is_in_hearing_range_of_handler = db.Column(db.Boolean) is_in_scent_range_of_handler = db.Column(db.Boolean) is_in_sight_of_handler = db.Column(db.Boolean) @@ -78,7 +78,7 @@ class Assessment_Command_Modality_Link(SQLAlchemy_ABC, Base): assessment_command_modality_link.id_command = query_row[5] assessment_command_modality_link.id_command_modality = query_row[7] assessment_command_modality_link.id_bribe = query_row[9] - assessment_command_modality_link.distance_from_handler = query_row[11] + assessment_command_modality_link.distance_from_handler_metres = query_row[11] assessment_command_modality_link.is_in_hearing_range_of_handler = av.input_bool(query_row[12], 'is_in_hearing_range_of_handler', _m) assessment_command_modality_link.is_in_scent_range_of_handler = av.input_bool(query_row[13], 'is_in_scent_range_of_handler', _m) assessment_command_modality_link.is_in_sight_of_handler = av.input_bool(query_row[14], 'is_in_sight_of_handler', _m) @@ -104,22 +104,19 @@ class Assessment_Command_Modality_Link(SQLAlchemy_ABC, Base): _m = f'{cls.__qualname__}.from_json' assessment_command_modality_link = cls() if json is None: return assessment_command_modality_link - # Helper_App.console_log(f'{_m}\njson: {json}') assessment_command_modality_link.id_link = json.get(Assessment_Command_Modality_Link.ATTR_ID_ASSESSMENT_COMMAND_MODALITY_LINK, -1) assessment_command_modality_link.id_assessment = json[Assessment.ATTR_ID_ASSESSMENT] assessment_command_modality_link.id_command = json[Command.ATTR_ID_COMMAND] assessment_command_modality_link.id_command_modality = json[Command_Modality.ATTR_ID_COMMAND_MODALITY] assessment_command_modality_link.id_bribe = json[Bribe.ATTR_ID_BRIBE] - assessment_command_modality_link.distance_from_handler = json[cls.FLAG_DISTANCE_FROM_HANDLER] - assessment_command_modality_link.is_in_hearing_range_of_handler = json[cls.FLAG_IS_IN_HEARING_RANGE_OF_HANDLER] - assessment_command_modality_link.is_in_scent_range_of_handler = json[cls.FLAG_IS_IN_SCENT_RANGE_OF_HANDLER] - assessment_command_modality_link.is_in_sight_of_handler = json[cls.FLAG_IS_IN_SIGHT_OF_HANDLER] - assessment_command_modality_link.is_on_lead = json[cls.FLAG_IS_ON_LEAD] - assessment_command_modality_link.trial_count = json[cls.FLAG_TRIAL_COUNT] - assessment_command_modality_link.active = json[cls.FLAG_ACTIVE] + assessment_command_modality_link.distance_from_handler_metres = json[cls.FLAG_DISTANCE_FROM_HANDLER_METRES] + assessment_command_modality_link.is_in_hearing_range_of_handler = av.input_bool(json[cls.FLAG_IS_IN_HEARING_RANGE_OF_HANDLER], cls.FLAG_IS_IN_HEARING_RANGE_OF_HANDLER, _m) + assessment_command_modality_link.is_in_scent_range_of_handler = av.input_bool(json[cls.FLAG_IS_IN_SCENT_RANGE_OF_HANDLER], cls.FLAG_IS_IN_SCENT_RANGE_OF_HANDLER, _m) + assessment_command_modality_link.is_in_sight_of_handler = av.input_bool(json[cls.FLAG_IS_IN_SIGHT_OF_HANDLER], cls.FLAG_IS_IN_SIGHT_OF_HANDLER, _m) + assessment_command_modality_link.is_on_lead = av.input_bool(json[cls.FLAG_IS_ON_LEAD], cls.FLAG_IS_ON_LEAD, _m) + assessment_command_modality_link.trial_count = json.get(cls.FLAG_TRIAL_COUNT) + assessment_command_modality_link.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m) assessment_command_modality_link.created_on = json.get(cls.FLAG_CREATED_ON, None) - # assessment_command_modality_link.id_command_category = json[Command_Category.FLAG_COMMAND_CATEGORY] - # Helper_App.console_log(f'Dog Command Link: {assessment_command_modality_link}') return assessment_command_modality_link def to_json(self): @@ -130,7 +127,7 @@ class Assessment_Command_Modality_Link(SQLAlchemy_ABC, Base): , Command.ATTR_ID_COMMAND: { Command.ATTR_ID_COMMAND: None } if self.command is None else self.command.to_json() , Command_Modality.ATTR_ID_COMMAND_MODALITY: { Command_Modality.ATTR_ID_COMMAND_MODALITY: None } if self.command_modality is None else self.command_modality.to_json() , Bribe.FLAG_BRIBE: { Bribe.FLAG_BRIBE: None } if self.bribe is None else self.bribe.to_json() - , self.FLAG_DISTANCE_FROM_HANDLER: self.distance_from_handler + , self.FLAG_DISTANCE_FROM_HANDLER_METRES: self.distance_from_handler_metres , self.FLAG_IS_IN_HEARING_RANGE_OF_HANDLER: self.is_in_hearing_range_of_handler , self.FLAG_IS_IN_SCENT_RANGE_OF_HANDLER: self.is_in_scent_range_of_handler , self.FLAG_IS_IN_SIGHT_OF_HANDLER: self.is_in_sight_of_handler @@ -140,8 +137,6 @@ class Assessment_Command_Modality_Link(SQLAlchemy_ABC, Base): , self.FLAG_CREATED_ON: self.created_on , self.FLAG_ASSESSMENT_RESPONSE: [] if self.assessment_responses is None else [response.to_json() for response in self.assessment_responses] } - # , Command_Category.FLAG_COMMAND_CATEGORY: self.id_command_category - # Helper_App.console_log(f'as_json: {as_json}') return as_json def __repr__(self): @@ -152,7 +147,7 @@ class Assessment_Command_Modality_Link(SQLAlchemy_ABC, Base): {Command.FLAG_COMMAND}: {self.command} {Command_Modality.FLAG_COMMAND_MODALITY}: {self.command_modality} {Bribe.FLAG_BRIBE}: {self.bribe} - {self.FLAG_DISTANCE_FROM_HANDLER}: {self.distance_from_handler} + {self.FLAG_DISTANCE_FROM_HANDLER_METRES}: {self.distance_from_handler_metres} {self.FLAG_IS_IN_HEARING_RANGE_OF_HANDLER}: {self.is_in_hearing_range_of_handler} {self.FLAG_IS_IN_SCENT_RANGE_OF_HANDLER}: {self.is_in_scent_range_of_handler} {self.FLAG_IS_IN_SIGHT_OF_HANDLER}: {self.is_in_sight_of_handler} @@ -173,7 +168,7 @@ class Assessment_Command_Modality_Link_Temp(db.Model, Base): id_command = db.Column(db.Integer) id_command_modality = db.Column(db.Integer) id_bribe = db.Column(db.Integer) - distance_from_handler = db.Column(db.Float) + distance_from_handler_metres = db.Column(db.Float) is_in_hearing_range_of_handler = db.Column(db.Boolean) is_in_scent_range_of_handler = db.Column(db.Boolean) is_in_sight_of_handler = db.Column(db.Boolean) @@ -195,7 +190,7 @@ class Assessment_Command_Modality_Link_Temp(db.Model, Base): temp.id_command = assessment_command_modality_link.id_command temp.id_command_modality = assessment_command_modality_link.id_command_modality temp.id_bribe = assessment_command_modality_link.id_bribe - temp.distance_from_handler = assessment_command_modality_link.distance_from_handler + temp.distance_from_handler_metres = assessment_command_modality_link.distance_from_handler_metres temp.is_in_hearing_range_of_handler = assessment_command_modality_link.is_in_hearing_range_of_handler temp.is_in_scent_range_of_handler = assessment_command_modality_link.is_in_scent_range_of_handler temp.is_in_sight_of_handler = assessment_command_modality_link.is_in_sight_of_handler @@ -210,8 +205,8 @@ class Parameters_Assessment_Command_Modality_Link(Get_Many_Parameters_Base): get_all_link: bool get_inactive_link: bool ids_link: str - min_distance_from_handler_link: Optional[float] - max_distance_from_handler_link: Optional[float] + min_distance_from_handler_metres_link: Optional[float] + max_distance_from_handler_metres_link: Optional[float] value_is_in_sight_of_handler_link: Optional[bool] value_is_in_scent_range_of_handler_link: Optional[bool] value_is_in_hearing_range_of_handler_link: Optional[bool] @@ -276,8 +271,8 @@ class Parameters_Assessment_Command_Modality_Link(Get_Many_Parameters_Base): get_all_link = True , get_inactive_link = False , ids_link = '' - , min_distance_from_handler_link = None - , max_distance_from_handler_link = None + , min_distance_from_handler_metres_link = None + , max_distance_from_handler_metres_link = None , value_is_in_sight_of_handler_link = None , value_is_in_scent_range_of_handler_link = None , value_is_in_hearing_range_of_handler_link = None @@ -344,8 +339,8 @@ class Parameters_Assessment_Command_Modality_Link(Get_Many_Parameters_Base): , get_inactive_link = json.get('a_get_inactive_link', False) , ids_link = json.get('a_ids_link', '') , notes_assessment_command_modality_link = json.get('a_notes_assessment_command_modality_link', '') - , min_distance_from_handler_link = json.get('a_min_distance_from_handler_link', None) - , max_distance_from_handler_link = json.get('a_max_distance_from_handler_link', None) + , min_distance_from_handler_metres_link = json.get('a_min_distance_from_handler_metres_link', None) + , max_distance_from_handler_metres_link = json.get('a_max_distance_from_handler_metres_link', None) , value_is_in_sight_of_handler_link = json.get('a_value_is_in_sight_of_handler_link', None) , value_is_in_scent_range_of_handler_link = json.get('a_value_is_in_scent_range_of_handler_link', None) , value_is_in_hearing_range_of_handler_link = json.get('a_value_is_in_hearing_range_of_handler_link', None) @@ -408,8 +403,6 @@ class Parameters_Assessment_Command_Modality_Link(Get_Many_Parameters_Base): @classmethod def from_form_filters_assessment(cls, form): _m = f'{cls.__qualname__}.from_form_filters_assessment' - Helper_App.console_log(_m) - Helper_App.console_log(f'Filters: {form}') av.val_instance(form, 'form', _m, Filters_Assessment) has_filter_search_text = not (form.search.data == '' or form.search.data is None) has_filter_assessment = not (form.id_assessment.data == '0' or form.id_assessment.data == '' or form.id_assessment.data is None) @@ -417,14 +410,7 @@ class Parameters_Assessment_Command_Modality_Link(Get_Many_Parameters_Base): has_filter_command_modality = False has_filter_bribe = False active_only = av.input_bool(form.active_only.data, "active", _m) - Helper_App.console_log(f''' -has_filter_search_text: {has_filter_search_text} -has_filter_assessment: {has_filter_assessment} -has_filter_command: {has_filter_command} -has_filter_command_modality: {has_filter_command_modality} -has_filter_bribe: {has_filter_bribe} -active_only: {active_only} -''') + filters = cls.get_default() filters.get_all_link = True filters.get_inactive_link = not active_only @@ -451,8 +437,8 @@ active_only: {active_only} 'a_get_all_link': self.get_all_link , 'a_get_inactive_link': self.get_inactive_link , 'a_ids_link': self.ids_link - , 'a_min_distance_from_handler_link': self.min_distance_from_handler_link - , 'a_max_distance_from_handler_link': self.max_distance_from_handler_link + , 'a_min_distance_from_handler_metres_link': self.min_distance_from_handler_metres_link + , 'a_max_distance_from_handler_metres_link': self.max_distance_from_handler_metres_link , 'a_value_is_in_sight_of_handler_link': self.value_is_in_sight_of_handler_link , 'a_value_is_in_scent_range_of_handler_link': self.value_is_in_scent_range_of_handler_link , 'a_value_is_in_hearing_range_of_handler_link': self.value_is_in_hearing_range_of_handler_link diff --git a/business_objects/dog/assessment_response.py b/business_objects/dog/assessment_response.py index a4e692f..0807cb9 100644 --- a/business_objects/dog/assessment_response.py +++ b/business_objects/dog/assessment_response.py @@ -61,10 +61,10 @@ class Assessment_Response(SQLAlchemy_ABC, Base): assessment_response.id_response = query_row[0] assessment_response.id_assessment_command_modality_link = query_row[1] assessment_response.id_response_quality_metric = query_row[2] - assessment_response.id_obedience_level = query_row[3] - assessment_response.value_measured = query_row[11] - assessment_response.notes = query_row[10] - assessment_response.active = av.input_bool(query_row[12], 'active', _m) + assessment_response.id_obedience_level = query_row[4] + assessment_response.value_measured = query_row[6] + assessment_response.notes = query_row[7] + assessment_response.active = av.input_bool(query_row[8], 'active', _m) assessment_response.assessment_command_modality_link = Assessment_Command_Modality_Link.from_db_assessment_response(query_row) assessment_response.response_quality_metric = Response_Quality_Metric.from_db_assessment_response(query_row) @@ -76,17 +76,14 @@ class Assessment_Response(SQLAlchemy_ABC, Base): _m = f'{cls.__qualname__}.from_json' assessment_response = cls() if json is None: return assessment_response - # Helper_App.console_log(f'{_m}\njson: {json}') assessment_response.id_response = json.get(Assessment_Response.ATTR_ID_ASSESSMENT_RESPONSE, -1) assessment_response.id_assessment_command_modality_link = json[Assessment_Command_Modality_Link.ATTR_ID_ASSESSMENT_COMMAND_MODALITY_LINK] - assessment_response.id_response_quality_metric = json[Response_Quality_Metric.ATTR_ID_ASSESSMENT_RESPONSE_QUALITY_METRIC] + assessment_response.id_response_quality_metric = json[Response_Quality_Metric.ATTR_ID_RESPONSE_QUALITY_METRIC] assessment_response.id_obedience_level = json[Obedience_Level.ATTR_ID_OBEDIENCE_LEVEL] assessment_response.value_measured = json[cls.FLAG_VALUE_MEASURED] assessment_response.notes = json[cls.FLAG_NOTES] - assessment_response.active = json[cls.FLAG_ACTIVE] + assessment_response.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m) assessment_response.created_on = json.get(cls.FLAG_CREATED_ON, None) - # assessment_response.id_command_category = json[Command_Category.FLAG_COMMAND_CATEGORY] - # Helper_App.console_log(f'Dog Command Link: {assessment_response}') return assessment_response def to_json(self): @@ -94,15 +91,13 @@ class Assessment_Response(SQLAlchemy_ABC, Base): **self.get_shared_json_attributes(self) , self.ATTR_ID_ASSESSMENT_RESPONSE: self.id_response , Assessment_Command_Modality_Link.ATTR_ID_ASSESSMENT_COMMAND_MODALITY_LINK: { Assessment_Command_Modality_Link.ATTR_ID_ASSESSMENT_COMMAND_MODALITY_LINK: None } if self.assessment_command_modality_link is None else self.assessment_command_modality_link.to_json() - , Response_Quality_Metric.ATTR_ID_ASSESSMENT_RESPONSE_QUALITY_METRIC: { Response_Quality_Metric.ATTR_ID_ASSESSMENT_RESPONSE_QUALITY_METRIC: None } if self.response_quality_metric is None else self.response_quality_metric.to_json() - , Obedience_Level.ATTR_ID_OBEDIENCE_LEVEL: { Obedience_Level.ATTR_ID_OBEDIENCE_LEVEL: None } if self.assessment_command_modality_link is None else self.assessment_command_modality_link.to_json() + , Response_Quality_Metric.ATTR_ID_RESPONSE_QUALITY_METRIC: { Response_Quality_Metric.ATTR_ID_RESPONSE_QUALITY_METRIC: None } if self.response_quality_metric is None else self.response_quality_metric.to_json() + , Obedience_Level.ATTR_ID_OBEDIENCE_LEVEL: { Obedience_Level.ATTR_ID_OBEDIENCE_LEVEL: None } if self.obedience_level is None else self.obedience_level.to_json() , self.FLAG_VALUE_MEASURED: self.value_measured , self.FLAG_NOTES: self.notes , self.FLAG_ACTIVE: self.active , self.FLAG_CREATED_ON: self.created_on } - # , Command_Category.FLAG_COMMAND_CATEGORY: self.id_command_category - # Helper_App.console_log(f'as_json: {as_json}') return as_json def __repr__(self): @@ -163,8 +158,8 @@ class Parameters_Assessment_Response(Get_Many_Parameters_Base): get_all_ACM_link: bool get_inactive_ACM_link: bool ids_ACM_link: str - min_distance_from_handler_ACM_link: Optional[float] - max_distance_from_handler_ACM_link: Optional[float] + min_distance_from_handler_metres_ACM_link: Optional[float] + max_distance_from_handler_metres_ACM_link: Optional[float] value_is_in_sight_of_handler_ACM_link: Optional[bool] value_is_in_scent_range_of_handler_ACM_link: Optional[bool] value_is_in_hearing_range_of_handler_ACM_link: Optional[bool] @@ -242,8 +237,8 @@ class Parameters_Assessment_Response(Get_Many_Parameters_Base): , get_all_ACM_link = True , get_inactive_ACM_link = False , ids_ACM_link = '' - , min_distance_from_handler_ACM_link = None - , max_distance_from_handler_ACM_link = None + , min_distance_from_handler_metres_ACM_link = None + , max_distance_from_handler_metres_ACM_link = None , value_is_in_sight_of_handler_ACM_link = None , value_is_in_scent_range_of_handler_ACM_link = None , value_is_in_hearing_range_of_handler_ACM_link = None @@ -323,8 +318,8 @@ class Parameters_Assessment_Response(Get_Many_Parameters_Base): , get_inactive_ACM_link = json.get('a_get_inactive_ACM_link', False) , ids_ACM_link = json.get('a_ids_ACM_link', '') , notes_assessment_command_modality_link = json.get('a_notes_assessment_command_modality_link', '') - , min_distance_from_handler_ACM_link = json.get('a_min_distance_from_handler_ACM_link', None) - , max_distance_from_handler_ACM_link = json.get('a_max_distance_from_handler_ACM_link', None) + , min_distance_from_handler_metres_ACM_link = json.get('a_min_distance_from_handler_metres_ACM_link', None) + , max_distance_from_handler_metres_ACM_link = json.get('a_max_distance_from_handler_metres_ACM_link', None) , value_is_in_sight_of_handler_ACM_link = json.get('a_value_is_in_sight_of_handler_ACM_link', None) , value_is_in_scent_range_of_handler_ACM_link = json.get('a_value_is_in_scent_range_of_handler_ACM_link', None) , value_is_in_hearing_range_of_handler_ACM_link = json.get('a_value_is_in_hearing_range_of_handler_ACM_link', None) @@ -393,8 +388,6 @@ class Parameters_Assessment_Response(Get_Many_Parameters_Base): @classmethod def from_form_filters_assessment(cls, form): _m = f'{cls.__qualname__}.from_form_filters_assessment' - Helper_App.console_log(_m) - Helper_App.console_log(f'Filters: {form}') av.val_instance(form, 'form', _m, Filters_Assessment) has_filter_search_text = not (form.search.data == '' or form.search.data is None) has_filter_assessment_command_modality_link = False @@ -403,14 +396,7 @@ class Parameters_Assessment_Response(Get_Many_Parameters_Base): has_filter_user_handler = False has_filter_assessment = not (form.id_assessment.data == '' or form.id_assessment.data == '0' or form.id_assessment.data is None) active_only = av.input_bool(form.active_only.data, "active", _m) - Helper_App.console_log(f''' -has_filter_search_text: {has_filter_search_text} -has_filter_assessment_command_modality_link: {has_filter_assessment_command_modality_link} -has_filter_response_quality_metric: {has_filter_response_quality_metric} -has_filter_obedience_level: {has_filter_obedience_level} -has_filter_user_handler: {has_filter_user_handler} -active_only: {active_only} -''') + filters = cls.get_default() filters.get_all_assessment_response = True filters.get_inactive_assessment_response = not active_only @@ -448,8 +434,8 @@ active_only: {active_only} , 'a_get_all_ACM_link': self.get_all_ACM_link , 'a_get_inactive_ACM_link': self.get_inactive_ACM_link , 'a_ids_ACM_link': self.ids_ACM_link - , 'a_min_distance_from_handler_ACM_link': self.min_distance_from_handler_ACM_link - , 'a_max_distance_from_handler_ACM_link': self.max_distance_from_handler_ACM_link + , 'a_min_distance_from_handler_metres_ACM_link': self.min_distance_from_handler_metres_ACM_link + , 'a_max_distance_from_handler_metres_ACM_link': self.max_distance_from_handler_metres_ACM_link , 'a_value_is_in_sight_of_handler_ACM_link': self.value_is_in_sight_of_handler_ACM_link , 'a_value_is_in_scent_range_of_handler_ACM_link': self.value_is_in_scent_range_of_handler_ACM_link , 'a_value_is_in_hearing_range_of_handler_ACM_link': self.value_is_in_hearing_range_of_handler_ACM_link diff --git a/business_objects/dog/bribe.py b/business_objects/dog/bribe.py index d356f04..c75b2eb 100644 --- a/business_objects/dog/bribe.py +++ b/business_objects/dog/bribe.py @@ -71,12 +71,10 @@ class Bribe(SQLAlchemy_ABC, Base): _m = 'Bribe.from_json' bribe = cls() if json is None: return Bribe - # Helper_App.console_log(f'{_m}\njson: {json}') bribe.id_bribe = json.get(cls.ATTR_ID_BRIBE, -1) bribe.name = json[cls.FLAG_NAME] bribe.code = json.get(cls.FLAG_CODE, bribe.name.upper().replace(" ", "_")) - bribe.active = json[cls.FLAG_ACTIVE] - # Helper_App.console_log(f'Bribe: {bribe}') + bribe.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m) return bribe @@ -88,7 +86,6 @@ class Bribe(SQLAlchemy_ABC, Base): , self.FLAG_NAME: self.name , self.FLAG_ACTIVE: self.active } - # Helper_App.console_log(f'as_json: {as_json}') return as_json def __repr__(self): diff --git a/business_objects/dog/button_icon.py b/business_objects/dog/button_icon.py index af31c8e..b976874 100644 --- a/business_objects/dog/button_icon.py +++ b/business_objects/dog/button_icon.py @@ -72,15 +72,13 @@ class Button_Icon(SQLAlchemy_ABC, Base): _m = f'{cls.__qualname__}.from_json' button_icon = cls() if json is None: return button_icon - # Helper_App.console_log(f'{_m}\njson: {json}') button_icon.id_button_icon = json.get(Button_Icon.ATTR_ID_BUTTON_ICON, -1) button_icon.id_image = json[Image.FLAG_IMAGE] button_icon.name = json[cls.FLAG_NAME] button_icon.code = json.get(cls.FLAG_CODE, button_icon.name.upper().replace(" ", "_")) button_icon.notes = json[cls.FLAG_NOTES] - button_icon.active = json[cls.FLAG_ACTIVE] + button_icon.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m) button_icon.created_on = json.get(cls.FLAG_CREATED_ON, None) - # Helper_App.console_log(f'Button_Icon: {button_icon}') return button_icon def to_json(self): @@ -94,7 +92,6 @@ class Button_Icon(SQLAlchemy_ABC, Base): , self.FLAG_ACTIVE: self.active , self.FLAG_CREATED_ON: self.created_on } - # Helper_App.console_log(f'as_json: {as_json}') return as_json def __repr__(self): diff --git a/business_objects/dog/button_shape.py b/business_objects/dog/button_shape.py index f1e370d..275669b 100644 --- a/business_objects/dog/button_shape.py +++ b/business_objects/dog/button_shape.py @@ -66,14 +66,12 @@ class Button_Shape(SQLAlchemy_ABC, Base): _m = f'{cls.__qualname__}.from_json' button_shape = cls() if json is None: return button_shape - # Helper_App.console_log(f'{_m}\njson: {json}') button_shape.id_button_shape = json.get(Button_Shape.ATTR_ID_BUTTON_SHAPE, -1) button_shape.name = json[cls.FLAG_NAME] button_shape.code = json.get(cls.FLAG_CODE, button_shape.name.upper().replace(" ", "_")) button_shape.notes = json[cls.FLAG_NOTES] - button_shape.active = json[cls.FLAG_ACTIVE] + button_shape.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m) button_shape.created_on = json.get(cls.FLAG_CREATED_ON, None) - # Helper_App.console_log(f'Button_Shape: {button_shape}') return button_shape def to_json(self): @@ -86,7 +84,6 @@ class Button_Shape(SQLAlchemy_ABC, Base): , self.FLAG_ACTIVE: self.active , self.FLAG_CREATED_ON: self.created_on } - # Helper_App.console_log(f'as_json: {as_json}') return as_json def __repr__(self): diff --git a/business_objects/dog/colour.py b/business_objects/dog/colour.py index 986b59b..04c4f2b 100644 --- a/business_objects/dog/colour.py +++ b/business_objects/dog/colour.py @@ -64,13 +64,11 @@ class Colour(SQLAlchemy_ABC, Base): _m = f'{cls.__qualname__}.from_json' colour = cls() if json is None: return colour - # Helper_App.console_log(f'{_m}\njson: {json}') colour.id_colour = json.get(Colour.ATTR_ID_COLOUR, -1) colour.name = json[cls.FLAG_NAME] colour.code = json.get(cls.FLAG_CODE, colour.name.upper().replace(" ", "_")) - colour.active = json[cls.FLAG_ACTIVE] + colour.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m) colour.created_on = json.get(cls.FLAG_CREATED_ON, None) - # Helper_App.console_log(f'Colour: {colour}') return colour def to_json(self): @@ -82,7 +80,6 @@ class Colour(SQLAlchemy_ABC, Base): , self.FLAG_ACTIVE: self.active , self.FLAG_CREATED_ON: self.created_on } - # Helper_App.console_log(f'as_json: {as_json}') return as_json def __repr__(self): diff --git a/business_objects/dog/command.py b/business_objects/dog/command.py index 958d386..e0208f6 100644 --- a/business_objects/dog/command.py +++ b/business_objects/dog/command.py @@ -112,7 +112,7 @@ class Command(SQLAlchemy_ABC, Base): command.hand_signal_default_description = json[cls.FLAG_HAND_SIGNAL_DEFAULT_DESCRIPTION] command.can_have_button = json[cls.FLAG_CAN_HAVE_BUTTON] command.notes = json[cls.FLAG_NOTES] - command.active = json[cls.FLAG_ACTIVE] + command.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m) command.created_on = json.get(cls.FLAG_CREATED_ON, None) # Helper_App.console_log(f'Command: {command}') return command diff --git a/business_objects/dog/command_button_link.py b/business_objects/dog/command_button_link.py index 08f144d..426a761 100644 --- a/business_objects/dog/command_button_link.py +++ b/business_objects/dog/command_button_link.py @@ -79,17 +79,14 @@ class Command_Button_Link(SQLAlchemy_ABC, Base): _m = 'Command_Button_Link.from_json' command_button_link = cls() if json is None: return command_button_link - # Helper_App.console_log(f'{_m}\njson: {json}') command_button_link.id_link = json.get(Command_Button_Link.ATTR_ID_COMMAND_BUTTON_LINK, -1) command_button_link.id_command = json[Command.FLAG_COMMAND] command_button_link.id_button_shape = json[Button_Shape.FLAG_BUTTON_SHAPE] command_button_link.id_button_colour = json[Colour.FLAG_COLOUR] command_button_link.id_button_icon = json[Button_Icon.FLAG_BUTTON_ICON] command_button_link.id_location = json[Location.FLAG_LOCATION] - command_button_link.active = json[cls.FLAG_ACTIVE] + command_button_link.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m) command_button_link.created_on = json.get(cls.FLAG_CREATED_ON, None) - # command_button_link.id_command_category = json[Command_Category.FLAG_COMMAND_CATEGORY] - # Helper_App.console_log(f'Dog Command Link: {command_button_link}') return command_button_link def to_json(self): @@ -104,8 +101,6 @@ class Command_Button_Link(SQLAlchemy_ABC, Base): , self.FLAG_ACTIVE: self.active , self.FLAG_CREATED_ON: self.created_on } - # , Command_Category.FLAG_COMMAND_CATEGORY: self.id_command_category - # Helper_App.console_log(f'as_json: {as_json}') return as_json def __repr__(self): @@ -299,8 +294,6 @@ class Parameters_Command_Button_Link(Get_Many_Parameters_Base): @classmethod def from_form_filters_command_button_link(cls, form): _m = f'{cls.__qualname__}.from_form_filters_command_button_link' - Helper_App.console_log(_m) - Helper_App.console_log(f'Filters: {form}') av.val_instance(form, 'form', _m, Filters_Command_Button_Link) has_filter_search_text = not (form.search.data == '' or form.search.data is None) has_filter_command_category = not (form.id_command_category.data == '0' or form.id_command_category.data == '' or form.id_command_category.data is None) @@ -310,16 +303,7 @@ class Parameters_Command_Button_Link(Get_Many_Parameters_Base): has_filter_button_icon = not (form.id_button_icon.data == '0' or form.id_button_icon.data == '' or form.id_button_icon.data is None) has_filter_location = not (form.id_location.data == '0' or form.id_location.data == '' or form.id_location.data is None) active_only = av.input_bool(form.active_only.data, "active", _m) - Helper_App.console_log(f''' -has_filter_search_text: {has_filter_search_text} -has_filter_command_category: {has_filter_command_category} -has_filter_command: {has_filter_command} -has_filter_button_shape: {has_filter_button_shape} -has_filter_colour: {has_filter_colour} -has_filter_button_icon: {has_filter_button_icon} -has_filter_location: {has_filter_location} -active_only: {active_only} -''') + filters = cls.get_default() filters.get_all_link = True filters.get_inactive_link = not active_only diff --git a/business_objects/dog/command_category.py b/business_objects/dog/command_category.py index 0166a78..5bfc295 100644 --- a/business_objects/dog/command_category.py +++ b/business_objects/dog/command_category.py @@ -85,7 +85,7 @@ class Command_Category(SQLAlchemy_ABC, Base): command_category.id_command_category = json.get(cls.ATTR_ID_COMMAND_CATEGORY, -1) command_category.name = json[cls.FLAG_NAME] command_category.code = json.get(cls.FLAG_CODE, command_category.name.upper().replace(" ", "_")) - command_category.active = json[cls.FLAG_ACTIVE] + command_category.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m) # Helper_App.console_log(f'Command_Category: {command_category}') return command_category diff --git a/business_objects/dog/command_modality.py b/business_objects/dog/command_modality.py index 03366a6..3738915 100644 --- a/business_objects/dog/command_modality.py +++ b/business_objects/dog/command_modality.py @@ -71,12 +71,10 @@ class Command_Modality(SQLAlchemy_ABC, Base): _m = 'Command_Modality.from_json' command_modality = cls() if json is None: return Command_Modality - # Helper_App.console_log(f'{_m}\njson: {json}') command_modality.id_command_modality = json.get(cls.ATTR_ID_COMMAND_MODALITY, -1) command_modality.name = json[cls.FLAG_NAME] command_modality.code = json.get(cls.FLAG_CODE, command_modality.name.upper().replace(" ", "_")) - command_modality.active = json[cls.FLAG_ACTIVE] - # Helper_App.console_log(f'Command_Modality: {command_modality}') + command_modality.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m) return command_modality @@ -88,7 +86,6 @@ class Command_Modality(SQLAlchemy_ABC, Base): , self.FLAG_NAME: self.name , self.FLAG_ACTIVE: self.active } - # Helper_App.console_log(f'as_json: {as_json}') return as_json def __repr__(self): diff --git a/business_objects/dog/distraction.py b/business_objects/dog/distraction.py index 5b639af..37fd857 100644 --- a/business_objects/dog/distraction.py +++ b/business_objects/dog/distraction.py @@ -111,7 +111,7 @@ class Distraction(SQLAlchemy_ABC, Base): distraction.quantity = json[cls.FLAG_QUANTITY] distraction.proximity_metres = json[cls.FLAG_PROXIMITY_METRES] distraction.notes = json[cls.FLAG_NOTES] - distraction.active = json[cls.FLAG_ACTIVE] + distraction.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m) distraction.created_on = json.get(cls.FLAG_CREATED_ON, None) # distraction.id_command_category = json[Command_Category.FLAG_COMMAND_CATEGORY] # Helper_App.console_log(f'Dog Command Link: {distraction}') diff --git a/business_objects/dog/distraction_intensity_level.py b/business_objects/dog/distraction_intensity_level.py index 5ac5e51..c619094 100644 --- a/business_objects/dog/distraction_intensity_level.py +++ b/business_objects/dog/distraction_intensity_level.py @@ -102,7 +102,7 @@ class Distraction_Intensity_Level(SQLAlchemy_ABC, Base): distraction_intensity_level.id_intensity_level = json.get(cls.ATTR_ID_DISTRACTION_INTENSITY_LEVEL, -1) distraction_intensity_level.name = json[cls.FLAG_NAME] distraction_intensity_level.code = json.get(cls.FLAG_CODE, distraction_intensity_level.name.upper().replace(" ", "_")) - distraction_intensity_level.active = json[cls.FLAG_ACTIVE] + distraction_intensity_level.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m) # Helper_App.console_log(f'Distraction_Intensity_Level: {distraction_intensity_level}') return distraction_intensity_level diff --git a/business_objects/dog/distraction_type.py b/business_objects/dog/distraction_type.py index d41aa1c..6176a85 100644 --- a/business_objects/dog/distraction_type.py +++ b/business_objects/dog/distraction_type.py @@ -66,7 +66,7 @@ class Distraction_Type(SQLAlchemy_ABC, Base): distraction_type.id_distraction_type = json.get(cls.ATTR_ID_DISTRACTION_TYPE, -1) distraction_type.name = json[cls.FLAG_NAME] distraction_type.code = json.get(cls.FLAG_CODE, distraction_type.name.upper().replace(" ", "_")) - distraction_type.active = json[cls.FLAG_ACTIVE] + distraction_type.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m) # Helper_App.console_log(f'Distraction_Type: {distraction_type}') return distraction_type diff --git a/business_objects/dog/dog.py b/business_objects/dog/dog.py index 83c049e..d18143e 100644 --- a/business_objects/dog/dog.py +++ b/business_objects/dog/dog.py @@ -79,7 +79,7 @@ class Dog(SQLAlchemy_ABC, Base): dog.appearance = json[cls.FLAG_APPEARANCE] dog.mass_kg = json[cls.FLAG_MASS_KG] dog.notes = json[cls.FLAG_NOTES] - dog.active = json[cls.FLAG_ACTIVE] + dog.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m) # Helper_App.console_log(f'Dog: {dog}') return dog diff --git a/business_objects/dog/dog_command_link.py b/business_objects/dog/dog_command_link.py index 0db8844..79f6605 100644 --- a/business_objects/dog/dog_command_link.py +++ b/business_objects/dog/dog_command_link.py @@ -75,7 +75,7 @@ class Dog_Command_Link(SQLAlchemy_ABC, Base): dog_command_link.id_command = json[Command.ATTR_ID_COMMAND] dog_command_link.hand_signal_description = json[cls.FLAG_HAND_SIGNAL_DESCRIPTION] dog_command_link.notes = json[cls.FLAG_NOTES] - dog_command_link.active = json[cls.FLAG_ACTIVE] + dog_command_link.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m) dog_command_link.created_on = json.get(cls.FLAG_CREATED_ON, None) # dog_command_link.id_command_category = json[Command_Category.FLAG_COMMAND_CATEGORY] # Helper_App.console_log(f'Dog Command Link: {dog_command_link}') @@ -221,21 +221,13 @@ class Parameters_Dog_Command_Link(Get_Many_Parameters_Base): @classmethod def from_form_filters_dog_command_link(cls, form): _m = f'{cls.__qualname__}.from_form_filters_dog_command_link' - Helper_App.console_log(_m) - Helper_App.console_log(f'Filters: {form}') av.val_instance(form, 'form', _m, Filters_Dog_Command_Link) has_filter_search_text = not (form.search.data == '' or form.search.data is None) has_filter_dog = not (form.id_dog.data == '0' or form.id_dog.data == '' or form.id_dog.data is None) has_filter_command_category = not (form.id_command_category.data == '0' or form.id_command_category.data == '' or form.id_command_category.data is None) has_filter_command = not (form.id_command.data == '0' or form.id_command.data == '' or form.id_command.data is None) active_only = av.input_bool(form.active_only.data, "active", _m) - Helper_App.console_log(f''' -has_filter_search_text: {has_filter_search_text} -has_filter_dog: {has_filter_dog} -has_filter_command_category: {has_filter_command_category} -has_filter_command: {has_filter_command} -active_only: {active_only} -''') + filters = cls.get_default() filters.get_all_link = True filters.get_inactive_link = not active_only diff --git a/business_objects/dog/image.py b/business_objects/dog/image.py index c08a0d3..9ef9bd6 100644 --- a/business_objects/dog/image.py +++ b/business_objects/dog/image.py @@ -85,7 +85,7 @@ class Image(SQLAlchemy_ABC, Base): image.id_dog = json[Dog.FLAG_DOG] image.path = json[cls.FLAG_PATH] image.name = json[cls.FLAG_NAME] - image.active = json[cls.FLAG_ACTIVE] + image.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m) image.created_on = json.get(cls.FLAG_CREATED_ON, None) # Helper_App.console_log(f'Image: {image}') return image diff --git a/business_objects/dog/lighting_level.py b/business_objects/dog/lighting_level.py index acad87f..3a34ac0 100644 --- a/business_objects/dog/lighting_level.py +++ b/business_objects/dog/lighting_level.py @@ -68,7 +68,7 @@ class Lighting_Level(SQLAlchemy_ABC, Base): lighting_level.id_lighting_level = json.get(Lighting_Level.ATTR_ID_LIGHTING_LEVEL, -1) lighting_level.name = json[cls.FLAG_NAME] lighting_level.code = json.get(cls.FLAG_CODE, lighting_level.name.upper().replace(" ", "_")) - lighting_level.active = json[cls.FLAG_ACTIVE] + lighting_level.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m) lighting_level.created_on = json.get(cls.FLAG_CREATED_ON, None) # Helper_App.console_log(f'Lighting_Level: {lighting_level}') return lighting_level diff --git a/business_objects/dog/location.py b/business_objects/dog/location.py index e4180f8..db1951b 100644 --- a/business_objects/dog/location.py +++ b/business_objects/dog/location.py @@ -85,7 +85,7 @@ class Location(SQLAlchemy_ABC, Base): location.id_location_parent = json[Location.FLAG_LOCATION_PARENT] location.name = json[cls.FLAG_NAME] location.code = json.get(cls.FLAG_CODE, location.name.upper().replace(" ", "_")) - location.active = json[cls.FLAG_ACTIVE] + location.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m) location.created_on = json.get(cls.FLAG_CREATED_ON, None) # Helper_App.console_log(f'Location: {location}') return location diff --git a/business_objects/dog/obedience_level.py b/business_objects/dog/obedience_level.py index 1985466..ce06da5 100644 --- a/business_objects/dog/obedience_level.py +++ b/business_objects/dog/obedience_level.py @@ -61,12 +61,10 @@ class Obedience_Level(SQLAlchemy_ABC, Base): _m = f'{cls.__qualname__}.from_json' obedience_level = cls() if json is None: return Obedience_Level - Helper_App.console_log(f'{_m}\njson: {json}') obedience_level.id_obedience_level = json.get(Obedience_Level.ATTR_ID_OBEDIENCE_LEVEL, -1) obedience_level.code = json[cls.FLAG_CODE] obedience_level.name = json[cls.FLAG_NAME] - obedience_level.active = json[cls.FLAG_ACTIVE] - Helper_App.console_log(f'Obedience_Level: {obedience_level}') + obedience_level.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m) return obedience_level @@ -78,7 +76,6 @@ class Obedience_Level(SQLAlchemy_ABC, Base): , self.FLAG_NAME: self.name , self.FLAG_ACTIVE: self.active } - Helper_App.console_log(f'as_json: {as_json}') return as_json def __repr__(self): diff --git a/business_objects/dog/response_quality_metric.py b/business_objects/dog/response_quality_metric.py index 096b6e5..95412bc 100644 --- a/business_objects/dog/response_quality_metric.py +++ b/business_objects/dog/response_quality_metric.py @@ -20,11 +20,11 @@ from typing import ClassVar class Response_Quality_Metric(SQLAlchemy_ABC, Base): - ATTR_ID_ASSESSMENT_RESPONSE_QUALITY_METRIC: ClassVar[str] = 'id_response_quality_metric' + ATTR_ID_RESPONSE_QUALITY_METRIC: ClassVar[str] = 'id_response_quality_metric' FLAG_RESPONSE_QUALITY_METRIC: ClassVar[str] = 'response-quality-metric' FLAG_VALUE_MIN: ClassVar[str] = 'value-min' FLAG_VALUE_MAX: ClassVar[str] = 'value-max' - NAME_ATTR_OPTION_VALUE: ClassVar[str] = ATTR_ID_ASSESSMENT_RESPONSE_QUALITY_METRIC + NAME_ATTR_OPTION_VALUE: ClassVar[str] = ATTR_ID_RESPONSE_QUALITY_METRIC NAME_ATTR_OPTION_TEXT: ClassVar[str] = Base.FLAG_NAME __tablename__ = 'DOG_Response_Quality_Metric' @@ -47,25 +47,26 @@ class Response_Quality_Metric(SQLAlchemy_ABC, Base): @classmethod def from_db_response_quality_metric(cls, query_row): _m = f'{cls.__qualname__}.from_db_response_quality_metric' - response = cls() - response.id_response_quality_metric = query_row[0] - response.id_unit_measurement = query_row[1] - response.code = query_row[5] - response.name = query_row[6] - response.value_min = query_row[7] - response.value_max = query_row[8] - response.active = av.input_bool(query_row[9], 'active', _m) - response.unit_measurement = Unit_Measurement.from_db_response_quality_metric(query_row) - return response + metric = cls() + metric.id_response_quality_metric = query_row[0] + metric.id_unit_measurement = query_row[1] + metric.code = query_row[5] + metric.name = query_row[6] + metric.value_min = query_row[7] + metric.value_max = query_row[8] + metric.active = av.input_bool(query_row[9], 'active', _m) + metric.unit_measurement = Unit_Measurement.from_db_response_quality_metric(query_row) + return metric @classmethod def from_db_assessment_response(cls, query_row): _m = f'{cls.__qualname__}.from_db_assessment_response' - level = cls() - level.id_response_quality_metric = query_row[2] - level.name = query_row[3] - level.active = True - return level + metric = cls() + metric.id_response_quality_metric = query_row[2] + metric.name = query_row[3] + metric.active = True + metric.unit_measurement = Unit_Measurement.from_db_assessment_response(query_row) + return metric @classmethod def from_json(cls, json): @@ -73,12 +74,12 @@ class Response_Quality_Metric(SQLAlchemy_ABC, Base): response_quality_metric = cls() if json is None: return Response_Quality_Metric # Helper_App.console_log(f'{_m}\njson: {json}') - response_quality_metric.id_response_quality_metric = json.get(cls.ATTR_ID_ASSESSMENT_RESPONSE_QUALITY_METRIC, -1) + response_quality_metric.id_response_quality_metric = json.get(cls.ATTR_ID_RESPONSE_QUALITY_METRIC, -1) response_quality_metric.name = json[cls.FLAG_NAME] response_quality_metric.code = json.get(cls.FLAG_CODE, response_quality_metric.name.upper().replace(" ", "_")) response_quality_metric.value_min = json[cls.FLAG_VALUE_MIN] response_quality_metric.value_max = json[cls.FLAG_VALUE_MAX] - response_quality_metric.active = json[cls.FLAG_ACTIVE] + response_quality_metric.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m) # Helper_App.console_log(f'Response_Quality_Metric: {response_quality_metric}') return response_quality_metric @@ -86,7 +87,7 @@ class Response_Quality_Metric(SQLAlchemy_ABC, Base): def to_json(self): as_json = { **self.get_shared_json_attributes(self) - , self.ATTR_ID_ASSESSMENT_RESPONSE_QUALITY_METRIC: self.id_response_quality_metric + , self.ATTR_ID_RESPONSE_QUALITY_METRIC: self.id_response_quality_metric , self.FLAG_CODE: self.code , self.FLAG_NAME: f'{self.name} ({self.unit_measurement.symbol})' , self.FLAG_VALUE_MIN: self.value_min diff --git a/business_objects/dog/unit_measurement.py b/business_objects/dog/unit_measurement.py index 3af9875..6665e98 100644 --- a/business_objects/dog/unit_measurement.py +++ b/business_objects/dog/unit_measurement.py @@ -53,49 +53,57 @@ class Unit_Measurement(SQLAlchemy_ABC, Base): @classmethod def from_db_unit_measurement(cls, query_row): _m = f'{cls.__qualname__}.from_db_unit_measurement' - level = cls() - level.id_unit_measurement = query_row[0] - level.name_singular = query_row[1] - level.name_plural = query_row[2] - level.symbol = query_row[3] - level.symbol_is_suffix_not_prefix = query_row[4] - level.is_base_unit = query_row[5] - level.is_unit_of_distance = query_row[6] - level.is_unit_of_mass = query_row[7] - level.is_unit_of_time = query_row[8] - level.is_unit_of_volume = query_row[9] - level.active = True - return level + unit = cls() + unit.id_unit_measurement = query_row[0] + unit.name_singular = query_row[1] + unit.name_plural = query_row[2] + unit.symbol = query_row[3] + unit.symbol_is_suffix_not_prefix = query_row[4] + unit.is_base_unit = av.input_bool(query_row[5], 'is_base_unit', _m) + unit.is_unit_of_distance = av.input_bool(query_row[6], 'is_base_unit', _m) + unit.is_unit_of_mass = av.input_bool(query_row[7], 'is_base_unit', _m) + unit.is_unit_of_time = av.input_bool(query_row[8], 'is_base_unit', _m) + unit.is_unit_of_volume = av.input_bool(query_row[9], 'is_base_unit', _m) + unit.active = True + return unit @classmethod def from_db_response_quality_metric(cls, query_row): _m = f'{cls.__qualname__}.from_db_response_quality_metric' - level = cls() - level.id_unit_measurement = query_row[1] - level.name_singular = query_row[2] - level.name_plural = query_row[3] - level.symbol = query_row[4] - level.active = True - return level + unit = cls() + unit.id_unit_measurement = query_row[1] + unit.name_singular = query_row[2] + unit.name_plural = query_row[3] + unit.symbol = query_row[4] + unit.active = True + return unit + + @classmethod + def from_db_assessment_response(cls, query_row): + _m = f'{cls.__qualname__}.from_db_assessment_response' + unit = cls() + unit.id_unit_measurement = None + unit.name_singular = '' + unit.name_plural = '' + unit.symbol = '' + return unit @classmethod def from_json(cls, json): _m = f'{cls.__qualname__}.from_json' unit_measurement = cls() if json is None: return Unit_Measurement - Helper_App.console_log(f'{_m}\njson: {json}') unit_measurement.id_unit_measurement = json.get(Unit_Measurement.ATTR_ID_UNIT_MEASUREMENT, -1) unit_measurement.name_singular = json[cls.FLAG_NAME_SINGULAR] unit_measurement.name_plural = json[cls.FLAG_NAME_PLURAL] unit_measurement.symbol = json[cls.FLAG_SYMBOL] - unit_measurement.symbol_is_suffix_not_prefix = json[cls.FLAG_SYMBOL_IS_SUFFIX_NOT_PREFIX] - unit_measurement.is_base_unit = json[cls.FLAG_IS_BASE_UNIT] - unit_measurement.is_unit_of_distance = json[cls.FLAG_IS_UNIT_OF_DISTANCE] - unit_measurement.is_unit_of_mass = json[cls.FLAG_IS_UNIT_OF_MASS] - unit_measurement.is_unit_of_time = json[cls.FLAG_IS_UNIT_OF_TIME] - unit_measurement.is_unit_of_volume = json[cls.FLAG_IS_UNIT_OF_VOLUME] - unit_measurement.active = json[cls.FLAG_ACTIVE] - Helper_App.console_log(f'Unit_Measurement: {unit_measurement}') + unit_measurement.symbol_is_suffix_not_prefix = av.input_bool(json[cls.FLAG_SYMBOL_IS_SUFFIX_NOT_PREFIX], cls.FLAG_ACTIVE, _m) + unit_measurement.is_base_unit = av.input_bool(json[cls.FLAG_IS_BASE_UNIT], cls.FLAG_ACTIVE, _m) + unit_measurement.is_unit_of_distance = av.input_bool(json[cls.FLAG_IS_UNIT_OF_DISTANCE], cls.FLAG_ACTIVE, _m) + unit_measurement.is_unit_of_mass = av.input_bool(json[cls.FLAG_IS_UNIT_OF_MASS], cls.FLAG_ACTIVE, _m) + unit_measurement.is_unit_of_time = av.input_bool(json[cls.FLAG_IS_UNIT_OF_TIME], cls.FLAG_ACTIVE, _m) + unit_measurement.is_unit_of_volume = av.input_bool(json[cls.FLAG_IS_UNIT_OF_VOLUME], cls.FLAG_ACTIVE, _m) + unit_measurement.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m) return unit_measurement @@ -114,7 +122,6 @@ class Unit_Measurement(SQLAlchemy_ABC, Base): , self.FLAG_IS_UNIT_OF_VOLUME: self.is_unit_of_volume , self.FLAG_ACTIVE: self.active } - Helper_App.console_log(f'as_json: {as_json}') return as_json def __repr__(self): diff --git a/business_objects/dog/user.py b/business_objects/dog/user.py index f4397d3..eb731fc 100644 --- a/business_objects/dog/user.py +++ b/business_objects/dog/user.py @@ -72,7 +72,6 @@ class User(SQLAlchemy_ABC, Base): _m = 'User.from_json' user = User() if json is None: return user - Helper_App.console_log(f'{_m}\njson: {json}') user.id_user = json['id_user'] user.id_user_auth0 = json['id_user_auth0'] user.firstname = json['firstname'] @@ -83,7 +82,6 @@ class User(SQLAlchemy_ABC, Base): user.can_admin_dog = user.is_super_user - Helper_App.console_log(f'user: {user}') return user @staticmethod @@ -91,7 +89,6 @@ class User(SQLAlchemy_ABC, Base): _m = 'User.from_json_auth0' user = User() if json is None: return user - Helper_App.console_log(f'{_m}\njson: {json}') user_info = json['userinfo'] user.id_user = None user.id_user_auth0 = user_info['sub'] @@ -103,7 +100,6 @@ class User(SQLAlchemy_ABC, Base): user.can_admin_dog = user.is_super_user - Helper_App.console_log(f'user: {user}') return user def to_json(self): @@ -118,7 +114,6 @@ class User(SQLAlchemy_ABC, Base): , 'is_email_verified': self.is_email_verified , 'is_super_user': self.is_super_user } - Helper_App.console_log(f'as_json: {as_json}') return as_json def __repr__(self): diff --git a/business_objects/dog/weather.py b/business_objects/dog/weather.py index 4c11693..37e26af 100644 --- a/business_objects/dog/weather.py +++ b/business_objects/dog/weather.py @@ -68,7 +68,7 @@ class Weather(SQLAlchemy_ABC, Base): weather.id_weather = json.get(Weather.ATTR_ID_WEATHER, -1) weather.name = json[cls.FLAG_NAME] weather.code = json.get(cls.FLAG_CODE, weather.name.upper().replace(" ", "_")) - weather.active = json[cls.FLAG_ACTIVE] + weather.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m) weather.created_on = json.get(cls.FLAG_CREATED_ON, None) # Helper_App.console_log(f'Weather: {weather}') return weather diff --git a/business_objects/file_type.py b/business_objects/file_type.py index a4d41b7..9bcb552 100644 --- a/business_objects/file_type.py +++ b/business_objects/file_type.py @@ -56,13 +56,11 @@ class File_Type(SQLAlchemy_ABC, Base): _m = 'File_Type.from_json' file_type = cls() if json is None: return File_Type - # Helper_App.console_log(f'{_m}\njson: {json}') file_type.id_file_type = json.get(cls.ATTR_ID_FILE_TYPE, -1) file_type.name = json[cls.FLAG_NAME] file_type.code = json.get(cls.FLAG_CODE, file_type.name.upper().replace(" ", "_")) file_type.is_image = json[cls.FLAG_IS_IMAGE] file_type.active = json[cls.FLAG_ACTIVE] - # Helper_App.console_log(f'File_Type: {file_type}') return file_type @@ -75,7 +73,6 @@ class File_Type(SQLAlchemy_ABC, Base): , self.FLAG_IS_IMAGE: self.is_image , self.FLAG_ACTIVE: self.active } - # Helper_App.console_log(f'as_json: {as_json}') return as_json def __repr__(self): diff --git a/business_objects/project_hub/contact_form.py b/business_objects/project_hub/contact_form.py index 7d4174e..dc62425 100644 --- a/business_objects/project_hub/contact_form.py +++ b/business_objects/project_hub/contact_form.py @@ -63,16 +63,14 @@ class Contact_Form(SQLAlchemy_ABC, Base): _m = 'Contact_Form.from_json' contact_form = cls() if json is None: return Contact_Form - Helper_App.console_log(f'{_m}\njson: {json}') contact_form.id_contact_form = -1 contact_form.email = json[cls.FLAG_EMAIL] contact_form.name_contact = json[cls.FLAG_NAME_CONTACT] contact_form.name_company = json[cls.FLAG_NAME_COMPANY] contact_form.message = json[cls.FLAG_MESSAGE] contact_form.receive_marketing_communications = json[cls.FLAG_RECEIVE_MARKETING_COMMUNICATIONS] - contact_form.active = json[cls.FLAG_ACTIVE] + contact_form.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m) contact_form.created_on = json.get(cls.FLAG_CREATED_ON, None) - Helper_App.console_log(f'Contact_Form: {contact_form}') return contact_form @@ -87,7 +85,6 @@ class Contact_Form(SQLAlchemy_ABC, Base): , self.FLAG_ACTIVE: self.active , self.FLAG_CREATED_ON: self.created_on } - Helper_App.console_log(f'as_json: {as_json}') return as_json def __repr__(self): diff --git a/controllers/dog/assessment.py b/controllers/dog/assessment.py index b843bc5..bd3b443 100644 --- a/controllers/dog/assessment.py +++ b/controllers/dog/assessment.py @@ -15,6 +15,9 @@ Dog Assessments Page Controller. from business_objects.api import API from business_objects.dog.command import Command from business_objects.dog.assessment import Assessment +from business_objects.dog.assessment_command_modality_link import Assessment_Command_Modality_Link +from business_objects.dog.assessment_response import Assessment_Response +from business_objects.dog.distraction import Distraction from datastores.datastore_dog import DataStore_Dog from forms.dog.assessment import Filters_Assessment from helpers.helper_app import Helper_App @@ -56,18 +59,31 @@ def assessments(): Helper_App.console_log(f'form_filters={form_filters}') return render_template('pages/dog/_assessments.html', model = model) -@routes_dog_assessment.route(Model_View_Dog_Assessment.HASH_SAVE_DOG_ASSESSMENT, methods=['POST']) +@routes_dog_assessment.route(Model_View_Dog_Assessment.HASH_SAVE_DOG_ASSESSMENT_DISTRACTION_AND_RESPONSE, methods=['POST']) def save_assessment(): + Helper_App.console_log('save_assessment') data = Helper_App.get_request_data(request) try: + token_received = data.get(Model_View_Dog_Assessment.FLAG_CSRF_TOKEN) + token_expected = session.get(Model_View_Dog_Assessment.FLAG_CSRF_TOKEN) # 'csrf_token' + if (not token_received) or not hmac.compare_digest(token_received, token_expected): + Helper_App.console_log(f'token_received: {token_received}\ntoken_expected: {token_expected}') + Helper_App.console_log(f'session: {session}\nkey: {Model_View_Dog_Assessment.FLAG_CSRF_TOKEN}') + return jsonify({ + Model_View_Dog_Assessment.FLAG_STATUS: Model_View_Dog_Assessment.FLAG_FAILURE, + Model_View_Dog_Assessment.FLAG_MESSAGE: f'Invalid token received.' + }) form_filters = Filters_Assessment.from_json(data[Model_View_Dog_Assessment.FLAG_FORM_FILTERS]) + """ if not form_filters.validate_on_submit(): return jsonify({ Model_View_Dog_Assessment.FLAG_STATUS: Model_View_Dog_Assessment.FLAG_FAILURE, Model_View_Dog_Assessment.FLAG_MESSAGE: f'Filters form invalid.\n{form_filters.errors}' }) - model_return = Model_View_Dog_Assessment(form_filters_old=form_filters) - if not model_return.is_user_logged_in: + """ + model_permissions = Model_View_Dog_Assessment(form_filters_old=form_filters) + Helper_App.console_log('made model') + if not model_permissions.is_user_logged_in: raise Exception('User not logged in') assessments = data[Model_View_Dog_Assessment.FLAG_ASSESSMENT] @@ -77,19 +93,47 @@ def save_assessment(): Model_View_Dog_Assessment.FLAG_MESSAGE: f'No assessments.' }) objs_assessment = [] + objs_distraction = [] + objs_assessment_command_modality_link = [] + objs_assessment_responses = [] for assessment in assessments: objs_assessment.append(Assessment.from_json(assessment)) + objs_distraction.extend([Distraction.from_json(link_json) for link_json in assessment.get(Distraction.FLAG_DISTRACTION, [])]) + for link_json in assessment.get(Assessment_Command_Modality_Link.FLAG_ASSESSMENT_COMMAND_MODALITY_LINK, []): + objs_assessment_command_modality_link.append(Assessment_Command_Modality_Link.from_json(link_json)) + objs_assessment_responses.extend([Assessment_Response.from_json(response_json) for response_json in link_json.get(Assessment_Response.FLAG_ASSESSMENT_RESPONSE, [])]) + """ + errors = [] Helper_App.console_log(f'objs_assessment={objs_assessment}') - errors = DataStore_Dog.save_assessments(data.get('comment', 'No comment'), objs_assessment) - + if len(objs_assessment) > 0: + errors.extend(DataStore_Dog.save_assessments(data.get('comment', 'No comment'), objs_assessment)) + Helper_App.console_log(f'objs_distraction={objs_distraction}') + if len(objs_distraction) > 0: + errors.extend(DataStore_Dog.save_distractions(data.get('comment', 'No comment'), objs_distraction)) + Helper_App.console_log(f'objs_assessment_command_modality_link={objs_assessment_command_modality_link}') + if len(objs_assessment_command_modality_link) > 0: + errors.extend(DataStore_Dog.save_assessment_command_modality_links(data.get('comment', 'No comment'), objs_assessment_command_modality_link)) + Helper_App.console_log(f'objs_assessment_responses={objs_assessment_responses}') + if len(objs_assessment_responses) > 0: + errors.extend(DataStore_Dog.save_assessment_responses(data.get('comment', 'No comment'), objs_assessment_responses)) + """ + errors = DataStore_Dog.save_assessments_distactions_and_responses( + comment = data.get('comment', 'No comment') + , assessments = objs_assessment + , distractions = objs_distraction + , assessment_command_modality_links = objs_assessment_command_modality_link + , assessment_responses = objs_assessment_responses + ) + # model_return = Model_View_Dog_Assessment(form_filters_old=form_filters) + if (len(errors) > 0): return jsonify({ Model_View_Dog_Assessment.FLAG_STATUS: Model_View_Dog_Assessment.FLAG_FAILURE, - Model_View_Dog_Assessment.FLAG_MESSAGE: f'Error saving assessments.\n{model_return.convert_list_objects_to_json(errors)}' + Model_View_Dog_Assessment.FLAG_MESSAGE: f'Error saving assessments.\n{model_permissions.convert_list_objects_to_json(errors)}' }) return jsonify({ Model_View_Dog_Assessment.FLAG_STATUS: Model_View_Dog_Assessment.FLAG_SUCCESS, - Model_View_Dog_Assessment.FLAG_DATA: Model_View_Dog_Assessment.convert_list_objects_to_json(model_return.assessments) + Model_View_Dog_Assessment.FLAG_DATA: None # Model_View_Dog_Assessment.convert_list_objects_to_json(model_permissions.assessments) }) except Exception as e: return jsonify({ @@ -107,12 +151,17 @@ def assessment(): Helper_App.console_log(f'Error: {e}') form_filters = Filters_Assessment() Helper_App.console_log(f'form_filters={form_filters}') - id_assessment = request.args.get(Model_View_Dog_Assessment.ATTR_ID_ASSESSMENT, None) + temp_id_assessment = request.args.get(Model_View_Dog_Assessment.ATTR_ID_ASSESSMENT, -1) + id_assessment = None if (temp_id_assessment is None or temp_id_assessment == '') else int(temp_id_assessment) model = Model_View_Dog_Assessment(form_filters_old = form_filters, id_assessment = id_assessment, hash_page_current = Model_View_Dog_Assessment.HASH_PAGE_DOG_ASSESSMENT) model._title = 'Assessment' if model.assessments is None or len(model.assessments) == 0: - return assessments() + if id_assessment is not None and id_assessment > 0: + return assessments() + else: + model.assessments = [Assessment()] if not model.is_user_logged_in: return redirect(url_for('routes_core_home.home')) + session[Model_View_Dog_Assessment.FLAG_CSRF_TOKEN] = model.form_filters.csrf_token.current_token #.hidden_tag() Helper_App.console_log(f'form_filters={form_filters}') return render_template('pages/dog/_assessment.html', model = model) diff --git a/controllers/legal/legal.py b/controllers/legal/legal.py index 4161312..6acd459 100644 --- a/controllers/legal/legal.py +++ b/controllers/legal/legal.py @@ -20,7 +20,7 @@ from models.model_view_accessibility_statement import Model_View_Accessibility_S from models.model_view_retention_schedule import Model_View_Retention_Schedule import lib.argument_validation as av # external -from flask import render_template, Blueprint +from flask import render_template, Blueprint, send_from_directory routes_legal = Blueprint('routes_legal', __name__) @@ -67,4 +67,6 @@ def privacy_policy(): except Exception as e: return str(e) return html_body - +@routes_legal.route('/robots.txt', methods=['GET']) +def robots_txt(): + return send_from_directory('static', 'docs/robots.txt') diff --git a/datastores/datastore_dog.py b/datastores/datastore_dog.py index d6dd5c2..4d7b7c9 100644 --- a/datastores/datastore_dog.py +++ b/datastores/datastore_dog.py @@ -681,6 +681,54 @@ class DataStore_Dog(DataStore_Base): cls.db_cursor_clear(cursor) return assessments, errors + + @classmethod + def save_assessments(cls, comment, assessments): + _m = f'{cls}.save_assessments' + av.val_str(comment, 'comment', _m) + + guid = Helper_DB_MySQL.create_guid_str() + now = datetime.now() + user = cls.get_user_session() + + Helper_App.console_log(f'saving assessments: {assessments}') + + rows = [] + for link in assessments: + row = Assessment_Temp.from_assessment(link) + row.guid = guid + rows.append(row) + + Helper_App.console_log(f'rows: {rows}') + + cls.upload_bulk(Assessment_Temp.__tablename__, rows, 1000) + + Helper_App.console_log('assessments uploaded') + + argument_dict_list = { + 'a_comment': comment, + 'a_guid': guid, + 'a_id_user': user.id_user, + 'a_debug': 0 + } + result = cls.db_procedure_execute('p_dog_save_assessment', argument_dict_list) + + Helper_App.console_log('Assessments saved') + + # Errors + cursor = result.cursor + cursor.nextset() + result_set_e = cursor.fetchall() + Helper_App.console_log(f"Raw errors: {result_set_e}") + errors = [] + if len(result_set_e) > 0: + errors = [SQL_Error.from_db_record(row) for row in result_set_e] + for error in errors: + Helper_App.console_log(f"Error [{error.code}]: {error.msg}") + + cls.db_cursor_clear(cursor) + + return errors @classmethod @@ -872,6 +920,54 @@ class DataStore_Dog(DataStore_Base): cls.db_cursor_clear(cursor) return distractions, errors + + @classmethod + def save_distractions(cls, comment, distractions): + _m = f'{cls}.save_distractions' + av.val_str(comment, 'comment', _m) + + guid = Helper_DB_MySQL.create_guid_str() + now = datetime.now() + user = cls.get_user_session() + + Helper_App.console_log(f'saving distractions: {distractions}') + + rows = [] + for distraction in distractions: + row = Distraction_Temp.from_distraction(distraction) + row.guid = guid + rows.append(row) + + Helper_App.console_log(f'rows: {rows}') + + cls.upload_bulk(Distraction_Temp.__tablename__, rows, 1000) + + Helper_App.console_log('distractions uploaded') + + argument_dict_list = { + 'a_comment': comment, + 'a_guid': guid, + 'a_id_user': user.id_user, + 'a_debug': 0 + } + result = cls.db_procedure_execute('p_dog_save_distraction', argument_dict_list) + + Helper_App.console_log('Distractions saved') + + # Errors + cursor = result.cursor + cursor.nextset() + result_set_e = cursor.fetchall() + Helper_App.console_log(f"Raw errors: {result_set_e}") + errors = [] + if len(result_set_e) > 0: + errors = [SQL_Error.from_db_record(row) for row in result_set_e] + for error in errors: + Helper_App.console_log(f"Error [{error.code}]: {error.msg}") + + cls.db_cursor_clear(cursor) + + return errors @classmethod @@ -986,6 +1082,54 @@ class DataStore_Dog(DataStore_Base): cls.db_cursor_clear(cursor) return assessment_command_modality_links, errors + + @classmethod + def save_assessment_command_modality_links(cls, comment, assessment_command_modality_links): + _m = f'{cls}.save_assessment_command_modality_links' + av.val_str(comment, 'comment', _m) + + guid = Helper_DB_MySQL.create_guid_str() + now = datetime.now() + user = cls.get_user_session() + + Helper_App.console_log(f'saving assessment_command_modality_links: {assessment_command_modality_links}') + + rows = [] + for link in assessment_command_modality_links: + row = Assessment_Command_Modality_Link_Temp.from_assessment_command_modality_link(link) + row.guid = guid + rows.append(row) + + Helper_App.console_log(f'rows: {rows}') + + cls.upload_bulk(Assessment_Command_Modality_Link_Temp.__tablename__, rows, 1000) + + Helper_App.console_log('assessment_command_modality_links uploaded') + + argument_dict_list = { + 'a_comment': comment, + 'a_guid': guid, + 'a_id_user': user.id_user, + 'a_debug': 0 + } + result = cls.db_procedure_execute('p_dog_save_assessment_command_modality_link', argument_dict_list) + + Helper_App.console_log('Assessment_Command_Modality_Links saved') + + # Errors + cursor = result.cursor + cursor.nextset() + result_set_e = cursor.fetchall() + Helper_App.console_log(f"Raw errors: {result_set_e}") + errors = [] + if len(result_set_e) > 0: + errors = [SQL_Error.from_db_record(row) for row in result_set_e] + for error in errors: + Helper_App.console_log(f"Error [{error.code}]: {error.msg}") + + cls.db_cursor_clear(cursor) + + return errors @classmethod @@ -1100,3 +1244,124 @@ class DataStore_Dog(DataStore_Base): cls.db_cursor_clear(cursor) return assessment_responses, errors + + @classmethod + def save_assessment_responses(cls, comment, assessment_responses): + _m = f'{cls}.save_assessment_responses' + av.val_str(comment, 'comment', _m) + + guid = Helper_DB_MySQL.create_guid_str() + now = datetime.now() + user = cls.get_user_session() + + Helper_App.console_log(f'saving assessment_responses: {assessment_responses}') + + rows = [] + for response in assessment_responses: + row = Assessment_Response_Temp.from_assessment_response(response) + row.guid = guid + rows.append(row) + + Helper_App.console_log(f'rows: {rows}') + + cls.upload_bulk(Assessment_Response_Temp.__tablename__, rows, 1000) + + Helper_App.console_log('assessment_responses uploaded') + + argument_dict_list = { + 'a_comment': comment, + 'a_guid': guid, + 'a_id_user': user.id_user, + 'a_debug': 0 + } + result = cls.db_procedure_execute('p_dog_save_assessment_response', argument_dict_list) + + Helper_App.console_log('Assessment_Responses saved') + + # Errors + cursor = result.cursor + cursor.nextset() + result_set_e = cursor.fetchall() + Helper_App.console_log(f"Raw errors: {result_set_e}") + errors = [] + if len(result_set_e) > 0: + errors = [SQL_Error.from_db_record(row) for row in result_set_e] + for error in errors: + Helper_App.console_log(f"Error [{error.code}]: {error.msg}") + + cls.db_cursor_clear(cursor) + + return errors + + + @classmethod + def save_assessments_distactions_and_responses(cls, comment, assessments, distractions, assessment_command_modality_links, assessment_responses): + _m = f'{cls}.save_assessments_distactions_and_responses' + av.val_str(comment, 'comment', _m) + + guid = Helper_DB_MySQL.create_guid_str() + now = datetime.now() + user = cls.get_user_session() + + Helper_App.console_log(f'saving assessments, distractions, and responses:\nAssessments: {assessments}\nDistractions: {distractions}\nAssessment Command Modality Links: {assessment_command_modality_links}\nResponses: {assessment_responses}') + + rows_assessment = [] + for assessment in assessments: + row = Assessment_Temp.from_assessment(assessment) + row.guid = guid + rows_assessment.append(row) + Helper_App.console_log(f'rows_assessment: {rows_assessment}') + cls.upload_bulk(Assessment_Temp.__tablename__, rows_assessment, 1000) + Helper_App.console_log('assessments uploaded') + + rows_distraction = [] + for distraction in distractions: + row = Distraction_Temp.from_distraction(distraction) + row.guid = guid + rows_distraction.append(row) + Helper_App.console_log(f'rows_distraction: {rows_distraction}') + cls.upload_bulk(Distraction_Temp.__tablename__, rows_distraction, 1000) + Helper_App.console_log('distractions uploaded') + + rows_link = [] + for link in assessment_command_modality_links: + row = Assessment_Command_Modality_Link_Temp.from_assessment_command_modality_link(link) + row.guid = guid + rows_link.append(row) + Helper_App.console_log(f'rows_link: {rows_link}') + cls.upload_bulk(Assessment_Command_Modality_Link_Temp.__tablename__, rows_link, 1000) + Helper_App.console_log('links uploaded') + + rows_response = [] + for response in assessment_responses: + row = Assessment_Response_Temp.from_assessment_response(response) + row.guid = guid + rows_response.append(row) + Helper_App.console_log(f'rows_response: {rows_response}') + cls.upload_bulk(Assessment_Response_Temp.__tablename__, rows_response, 1000) + Helper_App.console_log('assessment responses uploaded') + + argument_dict_list = { + 'a_comment': comment, + 'a_guid': guid, + 'a_id_user': user.id_user, + 'a_debug': 0 + } + result = cls.db_procedure_execute('p_dog_save_assessment_distraction_and_response', argument_dict_list) + + Helper_App.console_log('All saved') + + # Errors + cursor = result.cursor + cursor.nextset() + result_set_e = cursor.fetchall() + Helper_App.console_log(f"Raw errors: {result_set_e}") + errors = [] + if len(result_set_e) > 0: + errors = [SQL_Error.from_db_record(row) for row in result_set_e] + for error in errors: + Helper_App.console_log(f"Error [{error.code}]: {error.msg}") + + cls.db_cursor_clear(cursor) + + return errors diff --git a/forms/base.py b/forms/base.py index 4739f6d..22bef12 100644 --- a/forms/base.py +++ b/forms/base.py @@ -41,7 +41,7 @@ class Form_Base(FlaskForm, metaclass=Form_Base_Meta): @staticmethod def get_select_option_default_value(): - return '' + return '0' def __repr__(self): fields = ', '.join( diff --git a/models/model_view_base.py b/models/model_view_base.py index ade4c7c..bb3b170 100644 --- a/models/model_view_base.py +++ b/models/model_view_base.py @@ -76,6 +76,8 @@ class Model_View_Base(BaseModel, ABC): ATTR_ID_IMAGE: ClassVar[str] = Image.ATTR_ID_IMAGE ATTR_ID_LIGHTING_LEVEL: ClassVar[str] = Lighting_Level.ATTR_ID_LIGHTING_LEVEL ATTR_ID_LOCATION: ClassVar[str] = Location.ATTR_ID_LOCATION + ATTR_ID_OBEDIENCE_LEVEL: ClassVar[str] = Obedience_Level.ATTR_ID_OBEDIENCE_LEVEL + ATTR_ID_RESPONSE_QUALITY_METRIC: ClassVar[str] = Response_Quality_Metric.ATTR_ID_RESPONSE_QUALITY_METRIC ATTR_ID_WEATHER: ClassVar[str] = Weather.ATTR_ID_WEATHER ATTR_TEXT_COLLAPSED: ClassVar[str] = 'textCollapsed' ATTR_TEXT_EXPANDED: ClassVar[str] = 'textExpanded' @@ -243,7 +245,7 @@ class Model_View_Base(BaseModel, ABC): HASH_PAGE_DOG_COMMANDS: ClassVar[str] = '/dog/commands' HASH_PAGE_DOG_DOG_COMMAND_LINKS: ClassVar[str] = '/dog/dog-command-links' HASH_PAGE_DOG_DOGS: ClassVar[str] = '/dog/dogs' - HASH_PAGE_DOG_HOME: ClassVar[str] = '/dog/home' + HASH_PAGE_DOG_HOME: ClassVar[str] = '/dog/' HASH_PAGE_DOG_LOCATIONS: ClassVar[str] = '/dog/locations' HASH_PAGE_ERROR_NO_PERMISSION: ClassVar[str] = '/error' HASH_PAGE_HOME: ClassVar[str] = '/' @@ -252,7 +254,8 @@ class Model_View_Base(BaseModel, ABC): HASH_PAGE_USER_ACCOUNT: ClassVar[str] = '/user' HASH_PAGE_USER_LOGIN: ClassVar[str] = '/login' HASH_PAGE_USER_LOGOUT: ClassVar[str] = '/logout' - HASH_SAVE_DOG_ASSESSMENT: ClassVar[str] = '/dog/save-assessment' + # HASH_SAVE_DOG_ASSESSMENT: ClassVar[str] = '/dog/save-assessment' + HASH_SAVE_DOG_ASSESSMENT_DISTRACTION_AND_RESPONSE: ClassVar[str] = '/dog/save-assessment-distraction-and-response' HASH_SAVE_DOG_BUTTON_ICON: ClassVar[str] = '/dog/save-button-icon' HASH_SAVE_DOG_COLOUR: ClassVar[str] = '/dog/save-colour' HASH_SAVE_DOG_COMMAND: ClassVar[str] = '/dog/save-command' diff --git a/models/model_view_dog_assessment.py b/models/model_view_dog_assessment.py index 1d84120..d050fba 100644 --- a/models/model_view_dog_assessment.py +++ b/models/model_view_dog_assessment.py @@ -41,7 +41,7 @@ from typing import ClassVar, Optional from operator import attrgetter class Model_View_Dog_Assessment(Model_View_Dog_Base): - FLAG_DISTANCE_FROM_HANDLER: ClassVar[str] = Assessment_Command_Modality_Link.FLAG_DISTANCE_FROM_HANDLER + FLAG_DISTANCE_FROM_HANDLER_METRES: ClassVar[str] = Assessment_Command_Modality_Link.FLAG_DISTANCE_FROM_HANDLER_METRES FLAG_DISTRACTION_INTENSITY_LEVEL_EMOTIONAL: ClassVar[str] = Distraction.FLAG_DISTRACTION_INTENSITY_LEVEL_EMOTIONAL FLAG_DISTRACTION_INTENSITY_LEVEL_SCENT: ClassVar[str] = Distraction.FLAG_DISTRACTION_INTENSITY_LEVEL_SCENT FLAG_DISTRACTION_INTENSITY_LEVEL_SIGHT: ClassVar[str] = Distraction.FLAG_DISTRACTION_INTENSITY_LEVEL_SIGHT diff --git a/robots.txt b/robots.txt deleted file mode 100644 index 2730005..0000000 --- a/robots.txt +++ /dev/null @@ -1,3 +0,0 @@ -User-agent: * -Disallow: /qa -Disallow: /dev \ No newline at end of file diff --git a/static/MySQL/00000_combined.sql b/static/MySQL/00000_combined.sql index bd62b43..3bedc38 100644 --- a/static/MySQL/00000_combined.sql +++ b/static/MySQL/00000_combined.sql @@ -1,26 +1,24 @@ USE demo; -DROP PROCEDURE IF EXISTS demo.p_ph_save_contact_form; +DROP PROCEDURE IF EXISTS demo.p_dog_save_assessment_distraction_and_response; DELIMITER // -CREATE PROCEDURE demo.p_ph_save_contact_form ( +CREATE PROCEDURE demo.p_dog_save_assessment_distraction_and_response ( IN a_comment VARCHAR(500), IN a_guid BINARY(36), IN a_id_user INT, IN a_debug BIT ) BEGIN - DECLARE v_code_type_error_bad_data VARCHAR(100); - DECLARE v_id_access_level_view INT; - DECLARE v_id_access_level_edit INT; - DECLARE v_id_change_set INT; - DECLARE v_id_permission_contact_form_admin INT; - DECLARE v_id_permission_contact_form_new INT; - DECLARE v_id_type_error_bad_data INT; - DECLARE v_time_start TIMESTAMP(6); DECLARE v_can_admin BIT; DECLARE v_can_create BIT; + DECLARE v_code_type_error_bad_data VARCHAR(100); + DECLARE v_id_access_level_edit INT; + DECLARE v_id_change_set INT; + DECLARE v_id_permission_dog_new INT; + DECLARE v_id_type_error_bad_data INT; + DECLARE v_time_start TIMESTAMP(6); DECLARE exit handler for SQLEXCEPTION BEGIN @@ -32,16 +30,16 @@ BEGIN ROLLBACK; - CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( - display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL - , code VARCHAR(50) NOT NULL - , msg VARCHAR(4000) NOT NULL + CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Combined ( + id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT + , id_type INT + , code VARCHAR(250) + , msg TEXT NOT NULL ); - INSERT INTO tmp_Msg_Error ( + INSERT INTO tmp_Msg_Error_Combined ( id_type - , code + , code , msg ) SELECT @@ -51,156 +49,191 @@ BEGIN FROM demo.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; - - SELECT * - FROM tmp_Msg_Error; - DROP TABLE IF EXISTS tmp_Msg_Error + + SELECT + t_ERROR.id_error + , t_ERROR.id_type + , t_ERROR.code + , ERROR_TYPE.name + , ERROR_TYPE.description + , ERROR_TYPE.is_breaking_error + , ERROR_TYPE.background_colour + , ERROR_TYPE.text_colour + , t_ERROR.msg + FROM tmp_Msg_Error_Combined t_ERROR + INNER JOIN demo.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; + + DROP TABLE IF EXISTS tmp_Msg_Error_Combined; END; + SET SESSION group_concat_max_len=15000; + SET v_time_start := CURRENT_TIMESTAMP(6); SET v_code_type_error_bad_data := 'BAD_DATA'; - SET v_id_type_error_bad_data := (SELECT id_type FROM demo.CORE_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1); - SET v_id_permission_contact_form_admin := (SELECT id_permission FROM demo.DOG_Permission P WHERE P.code = 'CONTACT_FORM_ADMIN' LIMIT 1); - SET v_id_permission_contact_form_new := (SELECT id_permission FROM demo.DOG_Permission P WHERE P.code = 'CONTACT_FORM_CREATE' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM demo.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_permission_dog_new := (SELECT PERMISSION.id_permission FROM demo.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_CREATE' LIMIT 1); + SET v_id_access_level_edit := (SELECT ACCESS_LEVEL.id_access_level FROM demo.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'EDIT' LIMIT 1); CALL demo.p_core_validate_guid ( a_guid ); - DROP TABLE IF EXISTS tmp_Contact_Form; + DROP TABLE IF EXISTS tmp_Assessment_Response_Save_ADR; + DROP TABLE IF EXISTS tmp_Assessment_Command_Modality_Link_Save_ADR; + DROP TABLE IF EXISTS tmp_Distraction_Save_ADR; + DROP TABLE IF EXISTS tmp_Assessment_Save_ADR; - CREATE TEMPORARY TABLE tmp_Contact_Form ( - id_contact_form INT NOT NULL - , email VARCHAR(255) NOT NULL - , name_contact VARCHAR(255) NOT NULL - , name_company VARCHAR(255) NOT NULL - , message TEXT NOT NULL - , receive_marketing_communications BIT NOT NULL - , active BIT NOT NULL - , name_error VARCHAR(255) - , is_new BIT NOT NULL + CREATE TEMPORARY TABLE tmp_Assessment_Save_ADR ( + id_temp INT + , id_assessment INT + , id_assessment_old INT + , active BIT + , is_new BIT ); - - CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( - display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL - , code VARCHAR(50) NOT NULL - , msg VARCHAR(4000) NOT NULL + + CREATE TEMPORARY TABLE tmp_Distraction_Save_ADR ( + id_temp INT + , id_distraction INT + , id_distraction_old INT + , id_assessment INT + , active BIT + , is_new BIT + ); + + CREATE TEMPORARY TABLE tmp_Assessment_Command_Modality_Link_Save_ADR ( + id_temp INT + , id_link INT + , id_link_old INT + , id_assessment INT + , active BIT + , is_new BIT + ); + + CREATE TEMPORARY TABLE tmp_Assessment_Response_Save_ADR ( + id_temp INT + , id_response INT + , id_response_old INT + , id_assessment_command_modality_link INT + , active BIT + , is_new BIT + ); + + CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Combined ( + id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT + , id_type INT + , code VARCHAR(250) + , msg TEXT NOT NULL ); -- Get data from Temp table - INSERT INTO tmp_Contact_Form ( - id_contact_form - , email - , name_contact - , name_company - , message - , receive_marketing_communications + INSERT INTO tmp_Assessment_Save_ADR ( + id_temp + , id_assessment + , id_assessment_old , active , is_new ) SELECT - CF_T.id_contact_form AS id_contact_form - , IFNULL(CF_T.email, CF.email) AS code - , IFNULL(CF_T.name_contact, CF.name_contact) AS name_contact - , IFNULL(CF_T.name_company, CF.name_company) AS name_company - , IFNULL(CF_T.message, CF.message) AS message - , COALESCE(CF_T.receive_marketing_communications, CF.receive_marketing_communications, 0) AS receive_marketing_communications - , COALESCE(CF_T.active, CF.active, 1) AS active - , CASE WHEN IFNULL(CF_T.id_contact_form, 0) < 1 THEN 1 ELSE 0 END AS is_new - FROM demo.PH_Contact_Form_Temp CF_T - LEFT JOIN demo.PH_Contact_Form CF ON CF_T.id_contact_form = CF.id_contact_form - WHERE CF_T.guid = a_guid + ASSESSMENT_T.id_temp + , ASSESSMENT_T.id_assessment + , ASSESSMENT_T.id_assessment + , COALESCE( + ASSESSMENT_T.active + , ASSESSMENT.active + , 1 + ) AS active + , CASE WHEN COALESCE(ASSESSMENT_T.id_assessment, 0) < 1 THEN 1 ELSE 0 END AS is_new + FROM demo.DOG_Assessment_Temp ASSESSMENT_T + LEFT JOIN demo.DOG_Assessment ASSESSMENT ON ASSESSMENT_T.id_assessment = ASSESSMENT.id_assessment + WHERE ASSESSMENT_T.guid = a_guid ; - UPDATE tmp_Contact_Form t_CF - SET name_error = COALESCE(t_CF.email, t_CF.name_company, t_CF.name_contact, t_CF.message, '(No Contact Form)') + INSERT INTO tmp_Distraction_Save_ADR ( + id_temp + , id_distraction + , id_distraction_old + , id_assessment + , active + , is_new + ) + SELECT + DISTRACTION_T.id_temp + , DISTRACTION_T.id_distraction + , DISTRACTION_T.id_distraction + , DISTRACTION_T.id_assessment + , COALESCE( + DISTRACTION_T.active + , DISTRACTION.active + , 1 + ) AS active + , CASE WHEN COALESCE(DISTRACTION_T.id_distraction, 0) < 1 THEN 1 ELSE 0 END AS is_new + FROM demo.DOG_Distraction_Temp DISTRACTION_T + LEFT JOIN demo.DOG_Distraction DISTRACTION ON DISTRACTION_T.id_distraction = DISTRACTION.id_distraction + WHERE DISTRACTION_T.guid = a_guid ; - - -- Validation - -- Missing mandatory fields - -- email - IF EXISTS (SELECT * FROM tmp_Contact_Form t_CF WHERE ISNULL(t_CF.email) LIMIT 1) THEN - INSERT INTO tmp_Msg_Error ( - id_type - , code - , msg - ) - SELECT - v_id_type_error_bad_data - , v_code_type_error_bad_data - , CONCAT('The following Contact Form(s) do not have an Email: ', GROUP_CONCAT(t_CF.name_error SEPARATOR ', ')) AS msg - FROM tmp_Contact_Form t_CF - WHERE ISNULL(t_CF.email) - ; - END IF; - -- name_contact - IF EXISTS (SELECT * FROM tmp_Contact_Form t_CF WHERE ISNULL(t_CF.name_contact) LIMIT 1) THEN - INSERT INTO tmp_Msg_Error ( - id_type - , code - , msg - ) - SELECT - v_id_type_error_bad_data - , v_code_type_error_bad_data - , CONCAT('The following Contact Form(s) do not have a Contact Name: ', GROUP_CONCAT(t_CF.name_error SEPARATOR ', ')) AS msg - FROM tmp_Contact_Form t_CF - WHERE ISNULL(t_CF.name_contact) - ; - END IF; - -- name_company - IF EXISTS (SELECT * FROM tmp_Contact_Form t_CF WHERE ISNULL(t_CF.name_company) LIMIT 1) THEN - INSERT INTO tmp_Msg_Error ( - id_type - , code - , msg - ) - SELECT - v_id_type_error_bad_data - , v_code_type_error_bad_data - , CONCAT('The following Contact Form(s) do not have a Company Name: ', GROUP_CONCAT(t_CF.name_error SEPARATOR ', ')) AS msg - FROM tmp_Contact_Form t_CF - WHERE ISNULL(t_CF.name) - ; - END IF; - -- message - IF EXISTS (SELECT * FROM tmp_Contact_Form t_CF WHERE ISNULL(t_CF.message) LIMIT 1) THEN - INSERT INTO tmp_Msg_Error ( - id_type - , code - , msg - ) - SELECT - v_id_type_error_bad_data - , v_code_type_error_bad_data - , CONCAT('The following Contact Form(s) do not have a Message: ', GROUP_CONCAT(t_CF.name_error SEPARATOR ', ')) AS msg - FROM tmp_Contact_Form t_CF - WHERE ISNULL(t_CF.message) - ; + + INSERT INTO tmp_Assessment_Command_Modality_Link_Save_ADR ( + id_temp + , id_link + , id_link_old + , id_assessment + , active + , is_new + ) + SELECT + ASSESSMENT_COMMAND_MODALITY_LINK_T.id_temp + , ASSESSMENT_COMMAND_MODALITY_LINK_T.id_link + , ASSESSMENT_COMMAND_MODALITY_LINK_T.id_link + , ASSESSMENT_COMMAND_MODALITY_LINK_T.id_assessment + , COALESCE( + ASSESSMENT_COMMAND_MODALITY_LINK_T.active + , ASSESSMENT_COMMAND_MODALITY_LINK.active + , 1 + ) AS active + , CASE WHEN COALESCE(ASSESSMENT_COMMAND_MODALITY_LINK_T.id_link, 0) < 1 THEN 1 ELSE 0 END AS is_new + FROM demo.DOG_Assessment_Command_Modality_Link_Temp ASSESSMENT_COMMAND_MODALITY_LINK_T + LEFT JOIN demo.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK ON ASSESSMENT_COMMAND_MODALITY_LINK_T.id_link = ASSESSMENT_COMMAND_MODALITY_LINK.id_link + WHERE ASSESSMENT_COMMAND_MODALITY_LINK_T.guid = a_guid + ; + + INSERT INTO tmp_Assessment_Response_Save_ADR ( + id_temp + , id_response + , id_response_old + , id_assessment_command_modality_link + , active + , is_new + ) + SELECT + ASSESSMENT_RESPONSE_T.id_temp + , ASSESSMENT_RESPONSE_T.id_response + , ASSESSMENT_RESPONSE_T.id_response + , ASSESSMENT_RESPONSE_T.id_assessment_command_modality_link + , COALESCE( + ASSESSMENT_RESPONSE_T.active + , ASSESSMENT_RESPONSE.active + , 1 + ) AS active + , CASE WHEN COALESCE(ASSESSMENT_RESPONSE_T.id_response, 0) < 1 THEN 1 ELSE 0 END AS is_new + FROM demo.DOG_Assessment_Response_Temp ASSESSMENT_RESPONSE_T + LEFT JOIN demo.DOG_Assessment_Response ASSESSMENT_RESPONSE ON ASSESSMENT_RESPONSE_T.id_response = ASSESSMENT_RESPONSE.id_response + WHERE ASSESSMENT_RESPONSE_T.guid = a_guid + ; + + IF a_debug = 1 THEN + SELECT 'Temp records'; + SELECT * FROM tmp_Assessment_Save_ADR; + SELECT COUNT(*) FROM tmp_Assessment_Save_ADR; + SELECT * FROM tmp_Distraction_Save_ADR; + SELECT COUNT(*) FROM tmp_Distraction_Save_ADR; + SELECT * FROM tmp_Assessment_Command_Modality_Link_Save_ADR; + SELECT COUNT(*) FROM tmp_Assessment_Command_Modality_Link_Save_ADR; + SELECT * FROM tmp_Assessment_Response_Save_ADR; + SELECT COUNT(*) FROM tmp_Assessment_Response_Save_ADR; END IF; -- Permissions - IF a_debug = 1 THEN - SELECT - a_guid - , 0 -- get_all_user - , 0 -- get_inactive_user - , a_id_user -- ids_user - , '' -- a_auth0_ids_user - , '' -- a_names_user - , '' -- a_emails_user - , 1 -- a_require_all_id_search_filters_met - , 1 -- a_require_any_id_search_filters_met - , 0 -- a_require_all_non_id_search_filters_met - , 0 -- a_require_any_non_id_search_filters_met - , v_id_permission_contact_form_admin -- ids_permission - , v_id_access_level_view -- ids_access_level - , 0 -- a_show_errors - , 0 -- a_debug - ; - END IF; - + -- Can Create CALL demo.p_dog_calc_user( a_guid , 0 -- get_all_user @@ -213,196 +246,300 @@ BEGIN , 1 -- a_require_any_id_search_filters_met , 0 -- a_require_all_non_id_search_filters_met , 0 -- a_require_any_non_id_search_filters_met - , v_id_permission_contact_form_admin -- ids_permission - , v_id_access_level_view -- ids_access_level + , v_id_permission_dog_new -- ids_permission + , v_id_access_level_edit -- ids_access_level , 0 -- a_show_errors , 0 -- a_debug ); SELECT - IFNULL(CALC_USER_T.has_access, 0) - INTO - v_can_admin - FROM demo.DOG_Calc_User_Temp CALC_USER_T - WHERE CALC_USER_T.GUID = a_guid - LIMIT 1 - ; - - IF a_debug = 1 THEN - SELECT v_can_admin; - SELECT COUNT(*) AS Count_Errors FROM tmp_Msg_Error t_ERROR; - SELECT * FROM tmp_Msg_Error t_ERROR; - END IF; - - CALL demo.p_dog_clear_calc_user( - a_guid - , 0 -- a_debug - ); - - - IF a_debug = 1 THEN - SELECT - a_guid - , 0 -- get_all_user - , 0 -- get_inactive_user - , a_id_user -- ids_user - , '' -- a_auth0_ids_user - , '' -- a_names_user - , '' -- a_emails_user - , 1 -- a_require_all_id_search_filters_met - , 1 -- a_require_any_id_search_filters_met - , 0 -- a_require_all_non_id_search_filters_met - , 0 -- a_require_any_non_id_search_filters_met - , v_id_permission_contact_form_new -- ids_permission - , v_id_access_level_view -- ids_access_level - , 0 -- a_show_errors - , 0 -- a_debug - ; - END IF; - - CALL demo.p_dog_calc_user( - a_guid - , 0 -- get_all_user - , 0 -- get_inactive_user - , a_id_user -- ids_user - , '' -- a_auth0_ids_user - , '' -- a_names_user - , '' -- a_emails_user - , 1 -- a_require_all_id_search_filters_met - , 1 -- a_require_any_id_search_filters_met - , 0 -- a_require_all_non_id_search_filters_met - , 0 -- a_require_any_non_id_search_filters_met - , v_id_permission_contact_form_new -- ids_permission - , v_id_access_level_view -- ids_access_level - , 0 -- a_show_errors - , 0 -- a_debug - ); - - SELECT - IFNULL(CALC_USER_T.has_access, 0) + IFNULL(CU_T.has_access, 0) INTO v_can_create - FROM demo.DOG_Calc_User_Temp CALC_USER_T - WHERE CALC_USER_T.GUID = a_guid + FROM demo.DOG_Calc_User_Temp CU_T + WHERE CU_T.GUID = a_guid LIMIT 1 ; - - IF a_debug = 1 THEN - SELECT v_can_create; - SELECT COUNT(*) AS Count_Errors FROM tmp_Msg_Error t_ERROR; - SELECT * FROM tmp_Msg_Error t_ERROR; - END IF; CALL demo.p_dog_clear_calc_user( a_guid , 0 -- a_debug ); - IF (v_can_admin = 0 AND EXISTS(SELECT * FROM tmp_Contact_Form WHERE is_new = 0)) THEN + IF v_can_create = 0 THEN DELETE t_ME - FROM tmp_Msg_Error t_ME + FROM tmp_Msg_Error_Combined t_ME WHERE t_ME.id_type <> v_id_type_error_no_permission ; - INSERT INTO tmp_Msg_Error ( + INSERT INTO tmp_Msg_Error_Combined ( id_type - , code + , code , msg ) VALUES ( v_id_type_error_no_permission - , v_code_type_error_no_permission - , 'You do not have permission to admin Contact Forms.' + , v_code_type_error_no_permission + , 'You do not have permission to edit Assessment_Distraction_And_Responses.' ) ; END IF; - - IF EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN - IF a_debug = 1 THEN - SELECT * from tmp_Contact_Form; - END IF; - DELETE FROM tmp_Contact_Form; - END IF; + -- DELETE FROM tmp_Msg_Error_Combined_Save; + -- Save Assessments + -- CREATE TEMPORARY TABLE tmp_Assessment_Save_ADR_Save_Error AS + -- INSERT INTO tmp_Msg_Error_Combined_Save + CALL demo.p_dog_save_assessment ( + a_comment + , a_guid + , a_id_user + , 0 -- debug + ); - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN - START TRANSACTION; - - INSERT INTO demo.PH_Contact_Form_Change_Set ( - comment - , id_user_updated_last_by - , updated_last_on - ) - VALUES ( - a_comment - , a_id_user - , v_time_start - ) - ; - - SET v_id_change_set := LAST_INSERT_ID(); - - UPDATE demo.PH_Contact_Form CF - INNER JOIN tmp_Contact_Form t_CF - ON CF.id_contact_form = t_CF.id_contact_form - AND t_CF.is_new = 0 - SET - CF.email = t_CF.email - , CF.name_contact = t_CF.name_contact - , CF.name_company = t_CF.name_company - , CF.message = t_CF.message - , CF.receive_marketing_communications = t_CF.receive_marketing_communications - , CF.active = t_CF.active - , CF.id_change_set = v_id_change_set - ; - - INSERT INTO demo.PH_Contact_Form ( - email - , name_contact - , name_company - , message - , receive_marketing_communications - , active - , id_user_created_by - , created_on - ) - SELECT - t_CF.email AS email - , t_CF.name_contact AS name_contact - , t_CF.name_company AS name_company - , t_CF.message AS message - , t_CF.receive_marketing_communications AS receive_marketing_communications - , t_CF.active AS active - , a_id_user AS created_by - , v_time_start AS created_on - FROM tmp_Contact_Form t_CF - WHERE - t_CF.is_new = 1 - AND t_CF.active = 1 - ; - - COMMIT; - END IF; - - START TRANSACTION; + /* + INSERT INTO tmp_Msg_Error_Combined ( + id_type + , code + , msg + ) + SELECT + t_ASSESSMENT_SAVE_ERROR.id_type + , t_ASSESSMENT_SAVE_ERROR.code + , t_ASSESSMENT_SAVE_ERROR.msg + FROM tmp_Assessment_Save_ADR_Save_Error t_ASSESSMENT_SAVE_ERROR + ; + */ - DELETE FROM demo.PH_Contact_Form_Temp - WHERE GUID = a_guid + -- Get New Assessment Ids + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Combined t_ERROR INNER JOIN demo.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + + -- Update Temporary tables with new Ids + UPDATE tmp_Assessment_Save_ADR t_ASSESSMENT + INNER JOIN demo.DOG_Assessment ASSESSMENT ON t_ASSESSMENT.id_temp = ASSESSMENT.id_temp + INNER JOIN tmp_Distraction_Save_ADR t_DISTRACTION ON t_ASSESSMENT.id_assessment_old = t_DISTRACTION.id_assessment + INNER JOIN tmp_Assessment_Command_Modality_Link_Save_ADR t_ASSESSMENT_COMMAND_MODALITY_LINK ON t_ASSESSMENT.id_assessment_old = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment + SET + t_ASSESSMENT.id_assessment = ASSESSMENT.id_assessment + , t_DISTRACTION.id_assessment = ASSESSMENT.id_assessment + , t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment = ASSESSMENT.id_assessment + WHERE + t_ASSESSMENT.active = 1 + AND t_ASSESSMENT.is_new = 1 ; - - COMMIT; + + -- Update Staging tables with new Ids + IF EXISTS (SELECT * FROM tmp_Assessment_Save_ADR t_ASSESSMENT WHERE t_ASSESSMENT.id_assessment <> t_ASSESSMENT.id_assessment_old LIMIT 1) THEN + + START TRANSACTION; + + UPDATE demo.DOG_Distraction_Temp DISTRACTION_T + INNER JOIN tmp_Distraction_Save_ADR t_DISTRACTION ON DISTRACTION_T.id_temp = t_DISTRACTION.id_temp + INNER JOIN tmp_Assessment_Save_ADR t_ASSESSMENT ON t_DISTRACTION.id_assessment = t_ASSESSMENT.id_assessment + SET DISTRACTION_T.id_assessment = t_DISTRACTION.id_assessment + WHERE t_ASSESSMENT.id_assessment <> t_ASSESSMENT.id_assessment_old + ; + + UPDATE demo.DOG_Assessment_Command_Modality_Link_Temp ASSESSMENT_COMMAND_MODALITY_LINK_T + INNER JOIN tmp_Assessment_Command_Modality_Link_Save_ADR t_ASSESSMENT_COMMAND_MODALITY_LINK ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_temp = ASSESSMENT_COMMAND_MODALITY_LINK_T.id_temp + INNER JOIN tmp_Assessment_Save_ADR t_ASSESSMENT ON t_ASSESSMENT.id_assessment = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment + SET ASSESSMENT_COMMAND_MODALITY_LINK_T.id_assessment = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment + WHERE t_ASSESSMENT.id_assessment <> t_ASSESSMENT.id_assessment_old + ; + + COMMIT; + END IF; + + END IF; + + IF a_debug = 1 THEN + SELECT 'After align assessment Ids'; + SELECT * FROM tmp_Assessment_Save_ADR; + SELECT * FROM tmp_Distraction_Save_ADR; + SELECT * FROM tmp_Assessment_Command_Modality_Link_Save_ADR; + SELECT * FROM tmp_Assessment_Response_Save_ADR; + END IF; + + -- DELETE FROM tmp_Msg_Error_Combined_Save; + -- Save Distractions + -- CREATE TEMPORARY TABLE tmp_Distraction_Save_ADR_Save_Error AS + -- INSERT INTO tmp_Msg_Error_Combined_Save + CALL demo.p_dog_save_distraction ( + a_comment + , a_guid + , a_id_user + , 0 -- debug + ); + + /* + INSERT INTO tmp_Msg_Error_Combined ( + id_type + , code + , msg + ) + SELECT + t_DISTRACTION_SAVE_ERROR.id_type + , t_DISTRACTION_SAVE_ERROR.code + , t_DISTRACTION_SAVE_ERROR.msg + FROM tmp_Distraction_Save_ADR_Save_Error t_DISTRACTION_SAVE_ERROR + ; + */ + + -- DELETE FROM tmp_Msg_Error_Combined_Save; + -- Save Assessment Command Modality Links + -- CREATE TEMPORARY TABLE tmp_Assessment_Command_Modality_Link_Save_ADR_Save_Error AS + -- INSERT INTO tmp_Msg_Error_Combined_Save + CALL demo.p_dog_save_assessment_command_modality_link ( + a_comment + , a_guid + , a_id_user + , 0 -- debug + ); + + /* + INSERT INTO tmp_Msg_Error_Combined ( + id_type + , code + , msg + ) + SELECT + t_ACML_SAVE_ERROR.id_type + , t_ACML_SAVE_ERROR.code + , t_ACML_SAVE_ERROR.msg + FROM tmp_Assessment_Command_Modality_Link_Save_ADR_Save_Error t_ACML_SAVE_ERROR + ; + */ + + -- Get New Assessment Command Modality Link Ids + IF EXISTS (SELECT * FROM tmp_Msg_Error_Combined t_ERROR INNER JOIN demo.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + START TRANSACTION; + + DELETE ASSESSMENT + FROM demo.DOG_Assessment ASSESSMENT + INNER JOIN tmp_Assessment_Save_ADR t_ASSESSMENT ON ASSESSMENT.id_assessment = t_ASSESSMENT.id_assessment + WHERE t_ASSESSMENT.is_new = 1 + ; + + COMMIT; + ELSE + -- Update Temporary tables with new Ids + UPDATE tmp_Assessment_Command_Modality_Link_Save_ADR t_ASSESSMENT_COMMAND_MODALITY_LINK + INNER JOIN demo.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_temp = ASSESSMENT_COMMAND_MODALITY_LINK.id_temp + LEFT JOIN tmp_Assessment_Response_Save_ADR t_ASSESSMENT_RESPONSE ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_link = t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link + SET + t_ASSESSMENT_COMMAND_MODALITY_LINK.id_link = ASSESSMENT_COMMAND_MODALITY_LINK.id_link + , t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link = ASSESSMENT_COMMAND_MODALITY_LINK.id_link + WHERE + t_ASSESSMENT_COMMAND_MODALITY_LINK.active = 1 + AND t_ASSESSMENT_COMMAND_MODALITY_LINK.is_new = 1 + ; + + -- Update Staging tables with new Ids + IF EXISTS (SELECT * FROM tmp_Assessment_Command_Modality_Link_Save_ADR t_ASSESSMENT_COMMAND_MODALITY_LINK WHERE t_ASSESSMENT_COMMAND_MODALITY_LINK.id_link <> t_ASSESSMENT_COMMAND_MODALITY_LINK.id_link_old LIMIT 1) THEN + + START TRANSACTION; + + UPDATE demo.DOG_Assessment_Response_Temp ASSESSMENT_RESPONSE_T + INNER JOIN tmp_Assessment_Response_Save_ADR t_ASSESSMENT_RESPONSE ON ASSESSMENT_RESPONSE_T.id_temp = t_ASSESSMENT_RESPONSE.id_temp + INNER JOIN tmp_Assessment_Command_Modality_Link_Save_ADR t_ASSESSMENT_COMMAND_MODALITY_LINK ON t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_link + SET ASSESSMENT_RESPONSE_T.id_assessment_command_modality_link = t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link + WHERE t_ASSESSMENT_COMMAND_MODALITY_LINK.id_link <> t_ASSESSMENT_COMMAND_MODALITY_LINK.id_link_old + ; + + COMMIT; + END IF; + + END IF; + + IF a_debug = 1 THEN + SELECT 'After align assessment Ids'; + SELECT * FROM tmp_Assessment_Save_ADR; + SELECT * FROM tmp_Distraction_Save_ADR; + SELECT * FROM tmp_Assessment_Command_Modality_Link_Save_ADR; + SELECT * FROM tmp_Assessment_Response_Save_ADR; + END IF; + + -- DELETE FROM tmp_Msg_Error_Combined_Save; + -- Save Assessment Responses + -- CREATE TEMPORARY TABLE tmp_Assessment_Response_Save_ADR_Save_Error AS + -- INSERT INTO tmp_Msg_Error_Combined_Save + CALL demo.p_dog_save_assessment_response ( + a_comment + , a_guid + , a_id_user + , 0 -- debug + ); + + /* + INSERT INTO tmp_Msg_Error_Combined ( + id_type + , code + , msg + ) + SELECT + t_ASSESSMENT_RESPONSE_SAVE_ERROR.id_type + , t_ASSESSMENT_RESPONSE_SAVE_ERROR.code + , t_ASSESSMENT_RESPONSE_SAVE_ERROR.msg + FROM tmp_Assessment_Response_Save_ADR_Save_Error t_ASSESSMENT_RESPONSE_SAVE_ERROR + ; + */ + + -- Get New Assessment Command Modality Link Ids + IF EXISTS (SELECT * FROM tmp_Msg_Error_Combined t_ERROR INNER JOIN demo.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + START TRANSACTION; + + DELETE ASSESSMENT_COMMAND_MODALITY_LINK + FROM demo.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK + INNER JOIN tmp_Assessment_Command_Modality_Link_Save_ADR t_ASSESSMENT_COMMAND_MODALITY_LINK ON ASSESSMENT_COMMAND_MODALITY_LINK.id_link = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment_command_modality_link + INNER JOIN tmp_Assessment_Save_ADR t_ASSESSMENT ON ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment = t_ASSESSMENT.id_assessment + WHERE + t_ASSESSMENT_COMMAND_MODALITY_LINK.is_new = 1 + OR t_ASSESSMENT.is_new = 1 + ; + + DELETE ASSESSMENT + FROM demo.DOG_Assessment ASSESSMENT + INNER JOIN tmp_Assessment_Save_ADR t_ASSESSMENT ON ASSESSMENT.id_assessment = t_ASSESSMENT.id_assessment + WHERE t_ASSESSMENT.is_new = 1 + ; + + COMMIT; + END IF; -- Errors - SELECT * - FROM tmp_Msg_Error t_ME - INNER JOIN demo.CORE_Msg_Error_Type MET ON t_ME.id_type = MET.id_type + SELECT + t_ERROR.id_error + , t_ERROR.id_type + , t_ERROR.code + , ERROR_TYPE.name + , ERROR_TYPE.description + , ERROR_TYPE.is_breaking_error + , ERROR_TYPE.background_colour + , ERROR_TYPE.text_colour + , t_ERROR.msg + FROM tmp_Msg_Error_Combined t_ERROR + INNER JOIN demo.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; IF a_debug = 1 THEN - SELECT * from tmp_Contact_Form; + SELECT * FROM tmp_Assessment_Save_ADR; + SELECT * FROM tmp_Distraction_Save_ADR; + SELECT * FROM tmp_Assessment_Command_Modality_Link_Save_ADR; + SELECT * FROM tmp_Assessment_Response_Save_ADR; END IF; - DROP TEMPORARY TABLE tmp_Contact_Form; - DROP TEMPORARY TABLE tmp_Msg_Error; + CALL demo.p_dog_clear_msg_error ( + a_guid + , 0 -- debug + ); + + DROP TABLE IF EXISTS tmp_Assessment_Response_Save_ADR_Save_Error; + DROP TABLE IF EXISTS tmp_Assessment_Command_Modality_Link_Save_ADR_Save_Error; + DROP TABLE IF EXISTS tmp_Distraction_Save_ADR_Save_Error; + DROP TABLE IF EXISTS tmp_Assessment_Save_ADR_Save_Error; + DROP TABLE IF EXISTS tmp_Assessment_Response_Save_ADR; + DROP TABLE IF EXISTS tmp_Assessment_Command_Modality_Link_Save_ADR; + DROP TABLE IF EXISTS tmp_Distraction_Save_ADR; + DROP TABLE IF EXISTS tmp_Assessment_Save_ADR; + DROP TEMPORARY TABLE tmp_Msg_Error_Combined; IF a_debug = 1 THEN CALL demo.p_core_debug_timing_reporting ( v_time_start ); @@ -411,26 +548,15 @@ END // DELIMITER ; -select - * - -- COUNT(*) --- delete -from demo.PH_Contact_Form_Temp -; +/* -CALL demo.p_ph_save_contact_form ( +CALL demo.p_dog_save_assessment_distraction_and_response ( 'nipples' - , (SELECT GUID FROM demo.PH_Contact_Form_Temp ORDER BY id_temp DESC LIMIT 1) + , 'ripplesipplenipplytippledipplykipple' , 1 , 1 ); -select - * - -- COUNT(*) --- delete -from demo.PH_Contact_Form_Temp -; - +*/ \ No newline at end of file diff --git a/static/MySQL/10502_tbl_CORE_Msg_Error_Temp.sql b/static/MySQL/10502_tbl_CORE_Msg_Error_Temp.sql new file mode 100644 index 0000000..30fa7b8 --- /dev/null +++ b/static/MySQL/10502_tbl_CORE_Msg_Error_Temp.sql @@ -0,0 +1,19 @@ + +USE parts; + +-- DROP TABLE IF EXISTS parts.DOG_Msg_Error_Temp; + +SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning +FROM INFORMATION_SCHEMA.TABLES +WHERE + TABLE_SCHEMA = 'parts' + AND TABLE_NAME = 'DOG_Msg_Error_Temp' +; + +CREATE TABLE IF NOT EXISTS parts.DOG_Msg_Error_Temp ( + id_temp INT NOT NULL AUTO_INCREMENT PRIMARY KEY + , id_type INT NOT NULL + , code VARCHAR(250) NOT NULL + , msg TEXT NOT NULL + , GUID BINARY(36) NOT NULL +); diff --git a/static/MySQL/11308_tbl_DOG_Assessment.sql b/static/MySQL/11308_tbl_DOG_Assessment.sql index 0e4612b..da5f814 100644 --- a/static/MySQL/11308_tbl_DOG_Assessment.sql +++ b/static/MySQL/11308_tbl_DOG_Assessment.sql @@ -10,6 +10,7 @@ WHERE CREATE TABLE IF NOT EXISTS parts.DOG_Assessment ( id_assessment INT NOT NULL AUTO_INCREMENT PRIMARY KEY + , id_temp INT , id_weather INT NOT NULL , CONSTRAINT FK_DOG_Assessment_id_weather FOREIGN KEY (id_weather) diff --git a/static/MySQL/11320_tbl_DOG_Distraction.sql b/static/MySQL/11320_tbl_DOG_Distraction.sql index ff3ec9f..58c2be4 100644 --- a/static/MySQL/11320_tbl_DOG_Distraction.sql +++ b/static/MySQL/11320_tbl_DOG_Distraction.sql @@ -1,6 +1,8 @@ USE parts; +-- DROP TABLE IF EXISTS parts.DOG_Distraction; + SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE @@ -10,6 +12,7 @@ WHERE CREATE TABLE IF NOT EXISTS parts.DOG_Distraction ( id_distraction INT NOT NULL AUTO_INCREMENT PRIMARY KEY + , id_temp INT , id_assessment INT NOT NULL , CONSTRAINT FK_DOG_Distraction_id_assessment FOREIGN KEY (id_assessment) diff --git a/static/MySQL/11328_tbl_DOG_Assessment_Command_Modality_Link.sql b/static/MySQL/11328_tbl_DOG_Assessment_Command_Modality_Link.sql index a6ba3e3..8ee868e 100644 --- a/static/MySQL/11328_tbl_DOG_Assessment_Command_Modality_Link.sql +++ b/static/MySQL/11328_tbl_DOG_Assessment_Command_Modality_Link.sql @@ -10,6 +10,7 @@ WHERE CREATE TABLE IF NOT EXISTS parts.DOG_Assessment_Command_Modality_Link ( id_link INT NOT NULL AUTO_INCREMENT PRIMARY KEY + , id_temp INT , id_assessment INT NOT NULL , CONSTRAINT FK_DOG_Assessment_Command_Modality_Link_id_assessment FOREIGN KEY (id_assessment) @@ -26,7 +27,7 @@ CREATE TABLE IF NOT EXISTS parts.DOG_Assessment_Command_Modality_Link ( , CONSTRAINT FK_DOG_Assessment_Command_Modality_Link_id_bribe FOREIGN KEY (id_bribe) REFERENCES parts.DOG_Bribe(id_bribe) - , distance_from_handler FLOAT + , distance_from_handler_metres FLOAT , is_in_sight_of_handler BIT , is_in_scent_range_of_handler BIT , is_in_hearing_range_of_handler BIT diff --git a/static/MySQL/11330_tbl_DOG_Assessment_Command_Modality_Link_Temp.sql b/static/MySQL/11330_tbl_DOG_Assessment_Command_Modality_Link_Temp.sql index 113ace5..8fe3d1e 100644 --- a/static/MySQL/11330_tbl_DOG_Assessment_Command_Modality_Link_Temp.sql +++ b/static/MySQL/11330_tbl_DOG_Assessment_Command_Modality_Link_Temp.sql @@ -17,7 +17,7 @@ CREATE TABLE IF NOT EXISTS parts.DOG_Assessment_Command_Modality_Link_Temp ( , id_command INT , id_command_modality INT , id_bribe INT - , distance_from_handler FLOAT + , distance_from_handler_metres FLOAT , is_in_sight_of_handler BIT , is_in_scent_range_of_handler BIT , is_in_hearing_range_of_handler BIT diff --git a/static/MySQL/11340_tbl_DOG_Assessment_Response.sql b/static/MySQL/11340_tbl_DOG_Assessment_Response.sql index 1a872ce..ad45b79 100644 --- a/static/MySQL/11340_tbl_DOG_Assessment_Response.sql +++ b/static/MySQL/11340_tbl_DOG_Assessment_Response.sql @@ -1,6 +1,8 @@ USE parts; +-- DROP TABLE IF EXISTS parts.DOG_Assessment_Response; + SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE @@ -10,6 +12,7 @@ WHERE CREATE TABLE IF NOT EXISTS parts.DOG_Assessment_Response ( id_response INT NOT NULL AUTO_INCREMENT PRIMARY KEY + , id_temp INT , id_assessment_command_modality_link INT NOT NULL , CONSTRAINT FK_DOG_Assessment_Response_id_assessment_command_modality_link FOREIGN KEY (id_assessment_command_modality_link) diff --git a/static/MySQL/31328_tri_DOG_Assessment_Command_Modality_Link.sql b/static/MySQL/31328_tri_DOG_Assessment_Command_Modality_Link.sql index a58d916..d9dd5ae 100644 --- a/static/MySQL/31328_tri_DOG_Assessment_Command_Modality_Link.sql +++ b/static/MySQL/31328_tri_DOG_Assessment_Command_Modality_Link.sql @@ -46,9 +46,9 @@ BEGIN SELECT NEW.id_link, 'id_bribe', CONVERT(OLD.id_bribe, CHAR), CONVERT(NEW.id_bribe, CHAR), NEW.id_change_set WHERE NOT (OLD.id_bribe <=> NEW.id_bribe) UNION - -- Changed distance_from_handler - SELECT NEW.id_link, 'distance_from_handler', CONVERT(OLD.distance_from_handler, CHAR), CONVERT(NEW.distance_from_handler, CHAR), NEW.id_change_set - WHERE NOT (OLD.distance_from_handler <=> NEW.distance_from_handler) + -- Changed distance_from_handler_metres + SELECT NEW.id_link, 'distance_from_handler_metres', CONVERT(OLD.distance_from_handler_metres, CHAR), CONVERT(NEW.distance_from_handler_metres, CHAR), NEW.id_change_set + WHERE NOT (OLD.distance_from_handler_metres <=> NEW.distance_from_handler_metres) UNION -- Changed is_in_sight_of_handler SELECT NEW.id_link, 'is_in_sight_of_handler', CONVERT(CONVERT(OLD.is_in_sight_of_handler, SIGNED), CHAR), CONVERT(CONVERT(NEW.is_in_sight_of_handler, SIGNED), CHAR), NEW.id_change_set diff --git a/static/MySQL/70502_p_dog_clear_msg_error.sql b/static/MySQL/70502_p_dog_clear_msg_error.sql new file mode 100644 index 0000000..badf99d --- /dev/null +++ b/static/MySQL/70502_p_dog_clear_msg_error.sql @@ -0,0 +1,44 @@ + +USE parts; + +DROP PROCEDURE IF EXISTS parts.p_dog_clear_msg_error; + +DELIMITER // +CREATE PROCEDURE parts.p_dog_clear_msg_error ( + IN a_guid BINARY(36) + , IN a_debug BIT +) +BEGIN + DECLARE v_time_start TIMESTAMP(6); + SET v_time_start := CURRENT_TIMESTAMP(6); + + CALL parts.p_core_validate_guid ( a_guid ); + + START TRANSACTION; + + DELETE MSG_ERROR_T + FROM parts.DOG_Msg_Error_Temp MSG_ERROR_T + WHERE MSG_ERROR_T.GUID = a_guid + ; + + COMMIT; + + IF a_debug = 1 THEN + CALL parts.p_debug_timing_reporting( v_time_start ); + END IF; +END // +DELIMITER ; + +/* + +CALL parts.p_dog_clear_msg_error ( + 'crips ' -- a_guid + , 1 -- debug +); + +SELECT * +FROM parts.DOG_Msg_Error_Temp +WHERE GUID = 'chips ' +; + +*/ diff --git a/static/MySQL/70516_p_dog_create_new_user_auth0.sql b/static/MySQL/70516_p_dog_create_new_user_auth0.sql index 139c6e3..fdf8c20 100644 --- a/static/MySQL/70516_p_dog_create_new_user_auth0.sql +++ b/static/MySQL/70516_p_dog_create_new_user_auth0.sql @@ -44,7 +44,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); @@ -113,8 +113,8 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error; CREATE TEMPORARY TABLE tmp_User ( - id_user INT NULL - , rank_user INT NULL + id_user INT + , rank_user INT , can_admin_dog BIT NULL , can_admin_user BIT NULL ); @@ -128,7 +128,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split; diff --git a/static/MySQL/70516_p_dog_get_many_user.sql b/static/MySQL/70516_p_dog_get_many_user.sql index 125e131..8597b4a 100644 --- a/static/MySQL/70516_p_dog_get_many_user.sql +++ b/static/MySQL/70516_p_dog_get_many_user.sql @@ -52,7 +52,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); diff --git a/static/MySQL/70518_p_dog_save_user.sql b/static/MySQL/70518_p_dog_save_user.sql index aee02d0..3c2f459 100644 --- a/static/MySQL/70518_p_dog_save_user.sql +++ b/static/MySQL/70518_p_dog_save_user.sql @@ -32,7 +32,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); diff --git a/static/MySQL/70530_p_dog_calc_user.sql b/static/MySQL/70530_p_dog_calc_user.sql index 09eaa84..301db41 100644 --- a/static/MySQL/70530_p_dog_calc_user.sql +++ b/static/MySQL/70530_p_dog_calc_user.sql @@ -53,7 +53,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_User ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); @@ -169,32 +169,32 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_User ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_User ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Id_Calc_User; CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Auth0_Id_Calc_User ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Auth0_Id_Calc_User; CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_User ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Name_Calc_User; CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Email_Calc_User ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Email_Calc_User; diff --git a/static/MySQL/71001_p_dog_calc_dog.sql b/static/MySQL/71001_p_dog_calc_dog.sql index 626866f..9243ce6 100644 --- a/static/MySQL/71001_p_dog_calc_dog.sql +++ b/static/MySQL/71001_p_dog_calc_dog.sql @@ -43,7 +43,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Dog ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); @@ -137,20 +137,20 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Dog ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Dog ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Id_Calc_Dog; CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Dog ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Name_Calc_Dog; diff --git a/static/MySQL/71001_p_dog_get_many_dog.sql b/static/MySQL/71001_p_dog_get_many_dog.sql index ba8daa4..a150ef3 100644 --- a/static/MySQL/71001_p_dog_get_many_dog.sql +++ b/static/MySQL/71001_p_dog_get_many_dog.sql @@ -40,7 +40,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); @@ -137,7 +137,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); diff --git a/static/MySQL/71003_p_dog_save_command.sql b/static/MySQL/71003_p_dog_save_command.sql index 7c51fd2..cb64a19 100644 --- a/static/MySQL/71003_p_dog_save_command.sql +++ b/static/MySQL/71003_p_dog_save_command.sql @@ -34,7 +34,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) , msg TEXT NOT NULL ); @@ -114,7 +114,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) , msg TEXT NOT NULL ); diff --git a/static/MySQL/71102_p_dog_save_command_category.sql b/static/MySQL/71102_p_dog_save_command_category.sql index 48703d3..d97d1ca 100644 --- a/static/MySQL/71102_p_dog_save_command_category.sql +++ b/static/MySQL/71102_p_dog_save_command_category.sql @@ -32,7 +32,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) , msg TEXT NOT NULL ); @@ -102,7 +102,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) , msg TEXT NOT NULL ); diff --git a/static/MySQL/71104_p_dog_calc_command.sql b/static/MySQL/71104_p_dog_calc_command.sql index 09a2fa9..95ae665 100644 --- a/static/MySQL/71104_p_dog_calc_command.sql +++ b/static/MySQL/71104_p_dog_calc_command.sql @@ -53,7 +53,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Command ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); @@ -171,32 +171,32 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Command ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Command ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Id_Calc_Command; CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Command ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Name_Calc_Command; CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Hand_Signal_Default_Description_Calc_Command ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Hand_Signal_Default_Description_Calc_Command; CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Notes_Calc_Command ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Notes_Calc_Command; diff --git a/static/MySQL/71104_p_dog_get_many_command.sql b/static/MySQL/71104_p_dog_get_many_command.sql index 3fa4716..a3b5f2d 100644 --- a/static/MySQL/71104_p_dog_get_many_command.sql +++ b/static/MySQL/71104_p_dog_get_many_command.sql @@ -48,7 +48,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); @@ -173,7 +173,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); diff --git a/static/MySQL/71108_p_dog_get_many_dog_command_link.sql b/static/MySQL/71108_p_dog_get_many_dog_command_link.sql index 5e3480e..b6be48b 100644 --- a/static/MySQL/71108_p_dog_get_many_dog_command_link.sql +++ b/static/MySQL/71108_p_dog_get_many_dog_command_link.sql @@ -68,7 +68,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); @@ -257,26 +257,26 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Dog_Command_Link ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Id_Calc_Dog_Command_Link; CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Hand_Signal_Description_Calc_Dog_Command_Link ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Hand_Signal_Description_Calc_Dog_Command_Link; CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Notes_Calc_Dog_Command_Link ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Notes_Calc_Dog_Command_Link; diff --git a/static/MySQL/71110_p_dog_save_dog_command_link.sql b/static/MySQL/71110_p_dog_save_dog_command_link.sql index 32ef969..865c7b6 100644 --- a/static/MySQL/71110_p_dog_save_dog_command_link.sql +++ b/static/MySQL/71110_p_dog_save_dog_command_link.sql @@ -32,7 +32,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) , msg TEXT NOT NULL ); @@ -106,7 +106,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) , msg TEXT NOT NULL ); diff --git a/static/MySQL/71111_p_dog_calc_command_modality.sql b/static/MySQL/71111_p_dog_calc_command_modality.sql index e841363..a281755 100644 --- a/static/MySQL/71111_p_dog_calc_command_modality.sql +++ b/static/MySQL/71111_p_dog_calc_command_modality.sql @@ -43,7 +43,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Command_Modality ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); @@ -138,20 +138,20 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Command_Modality ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Command_Modality ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Id_Calc_Command_Modality; CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Command_Modality ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Name_Calc_Command_Modality; diff --git a/static/MySQL/71111_p_dog_get_many_command_modality.sql b/static/MySQL/71111_p_dog_get_many_command_modality.sql index 20796cb..7f73fec 100644 --- a/static/MySQL/71111_p_dog_get_many_command_modality.sql +++ b/static/MySQL/71111_p_dog_get_many_command_modality.sql @@ -40,7 +40,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); @@ -135,7 +135,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); diff --git a/static/MySQL/71200_p_dog_calc_location.sql b/static/MySQL/71200_p_dog_calc_location.sql index e8d843a..4d81240 100644 --- a/static/MySQL/71200_p_dog_calc_location.sql +++ b/static/MySQL/71200_p_dog_calc_location.sql @@ -43,7 +43,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Location ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); @@ -151,20 +151,20 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Location ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Location ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Id_Calc_Location; CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Location ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Name_Calc_Location; diff --git a/static/MySQL/71200_p_dog_get_many_location.sql b/static/MySQL/71200_p_dog_get_many_location.sql index 960ef81..29d28fd 100644 --- a/static/MySQL/71200_p_dog_get_many_location.sql +++ b/static/MySQL/71200_p_dog_get_many_location.sql @@ -41,7 +41,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); @@ -141,7 +141,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); diff --git a/static/MySQL/71202_p_dog_save_location.sql b/static/MySQL/71202_p_dog_save_location.sql index 105c4a6..c45b817 100644 --- a/static/MySQL/71202_p_dog_save_location.sql +++ b/static/MySQL/71202_p_dog_save_location.sql @@ -32,7 +32,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) , msg TEXT NOT NULL ); @@ -104,7 +104,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) , msg TEXT NOT NULL ); diff --git a/static/MySQL/71220_p_dog_calc_button_shape.sql b/static/MySQL/71220_p_dog_calc_button_shape.sql index cffebbc..0d55ba0 100644 --- a/static/MySQL/71220_p_dog_calc_button_shape.sql +++ b/static/MySQL/71220_p_dog_calc_button_shape.sql @@ -45,7 +45,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Button_Shape ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); @@ -143,26 +143,26 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Button_Shape ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Button_Shape ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Id_Calc_Button_Shape; CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Button_Shape ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Name_Calc_Button_Shape; CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Notes_Calc_Button_Shape ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Notes_Calc_Button_Shape; diff --git a/static/MySQL/71220_p_dog_get_many_button_shape.sql b/static/MySQL/71220_p_dog_get_many_button_shape.sql index 68e1c69..fc1e7a9 100644 --- a/static/MySQL/71220_p_dog_get_many_button_shape.sql +++ b/static/MySQL/71220_p_dog_get_many_button_shape.sql @@ -41,7 +41,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); @@ -139,7 +139,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); diff --git a/static/MySQL/71224_p_dog_calc_colour.sql b/static/MySQL/71224_p_dog_calc_colour.sql index b6db4b5..2020a00 100644 --- a/static/MySQL/71224_p_dog_calc_colour.sql +++ b/static/MySQL/71224_p_dog_calc_colour.sql @@ -43,7 +43,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Colour ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); @@ -138,20 +138,20 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Colour ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Colour ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Id_Calc_Colour; CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Colour ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Name_Calc_Colour; diff --git a/static/MySQL/71224_p_dog_get_many_colour.sql b/static/MySQL/71224_p_dog_get_many_colour.sql index bca9209..02a1103 100644 --- a/static/MySQL/71224_p_dog_get_many_colour.sql +++ b/static/MySQL/71224_p_dog_get_many_colour.sql @@ -40,7 +40,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); @@ -135,7 +135,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); diff --git a/static/MySQL/71228_p_dog_calc_image.sql b/static/MySQL/71228_p_dog_calc_image.sql index de5ff6c..70ce78f 100644 --- a/static/MySQL/71228_p_dog_calc_image.sql +++ b/static/MySQL/71228_p_dog_calc_image.sql @@ -53,7 +53,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Image ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); @@ -185,20 +185,20 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Image ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Image ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Id_Calc_Image; CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Image ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Name_Calc_Image; diff --git a/static/MySQL/71228_p_dog_get_many_image.sql b/static/MySQL/71228_p_dog_get_many_image.sql index 1e0880a..803b288 100644 --- a/static/MySQL/71228_p_dog_get_many_image.sql +++ b/static/MySQL/71228_p_dog_get_many_image.sql @@ -49,7 +49,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); @@ -164,7 +164,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); diff --git a/static/MySQL/71232_p_dog_calc_button_icon.sql b/static/MySQL/71232_p_dog_calc_button_icon.sql index 64ac929..2797433 100644 --- a/static/MySQL/71232_p_dog_calc_button_icon.sql +++ b/static/MySQL/71232_p_dog_calc_button_icon.sql @@ -55,7 +55,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Button_Icon ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); @@ -185,26 +185,26 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Button_Icon ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Button_Icon ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Id_Calc_Button_Icon; CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Button_Icon ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Name_Calc_Button_Icon; CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Notes_Calc_Button_Icon ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Notes_Calc_Button_Icon; diff --git a/static/MySQL/71232_p_dog_get_many_button_icon.sql b/static/MySQL/71232_p_dog_get_many_button_icon.sql index 480ad9a..07a9885 100644 --- a/static/MySQL/71232_p_dog_get_many_button_icon.sql +++ b/static/MySQL/71232_p_dog_get_many_button_icon.sql @@ -49,7 +49,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); @@ -164,7 +164,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); diff --git a/static/MySQL/71234_p_dog_save_button_icon.sql b/static/MySQL/71234_p_dog_save_button_icon.sql index 4b6de34..b8d524d 100644 --- a/static/MySQL/71234_p_dog_save_button_icon.sql +++ b/static/MySQL/71234_p_dog_save_button_icon.sql @@ -32,7 +32,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) , msg TEXT NOT NULL ); @@ -104,7 +104,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) , msg TEXT NOT NULL ); diff --git a/static/MySQL/71238_p_dog_get_many_command_button_link.sql b/static/MySQL/71238_p_dog_get_many_command_button_link.sql index dc7361f..39937e4 100644 --- a/static/MySQL/71238_p_dog_get_many_command_button_link.sql +++ b/static/MySQL/71238_p_dog_get_many_command_button_link.sql @@ -100,7 +100,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); @@ -356,14 +356,14 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Command_Button_Link ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Id_Calc_Command_Button_Link; diff --git a/static/MySQL/71240_p_dog_save_command_button_link.sql b/static/MySQL/71240_p_dog_save_command_button_link.sql index 101f601..6c4c66b 100644 --- a/static/MySQL/71240_p_dog_save_command_button_link.sql +++ b/static/MySQL/71240_p_dog_save_command_button_link.sql @@ -32,7 +32,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) , msg TEXT NOT NULL ); @@ -108,7 +108,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) , msg TEXT NOT NULL ); diff --git a/static/MySQL/71300_p_dog_calc_weather.sql b/static/MySQL/71300_p_dog_calc_weather.sql index a047869..7261a7f 100644 --- a/static/MySQL/71300_p_dog_calc_weather.sql +++ b/static/MySQL/71300_p_dog_calc_weather.sql @@ -43,7 +43,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Weather ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); @@ -138,20 +138,20 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Weather ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Weather ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Id_Calc_Weather; CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Weather ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Name_Calc_Weather; diff --git a/static/MySQL/71300_p_dog_get_many_weather.sql b/static/MySQL/71300_p_dog_get_many_weather.sql index 2508249..aa28d7a 100644 --- a/static/MySQL/71300_p_dog_get_many_weather.sql +++ b/static/MySQL/71300_p_dog_get_many_weather.sql @@ -40,7 +40,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); @@ -135,7 +135,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); diff --git a/static/MySQL/71304_p_dog_calc_lighting_level.sql b/static/MySQL/71304_p_dog_calc_lighting_level.sql index 9c4229e..ab6f7d9 100644 --- a/static/MySQL/71304_p_dog_calc_lighting_level.sql +++ b/static/MySQL/71304_p_dog_calc_lighting_level.sql @@ -43,7 +43,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Lighting_Level ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); @@ -138,20 +138,20 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Lighting_Level ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Lighting_Level ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Id_Calc_Lighting_Level; CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Lighting_Level ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Name_Calc_Lighting_Level; diff --git a/static/MySQL/71304_p_dog_get_many_lighting_level.sql b/static/MySQL/71304_p_dog_get_many_lighting_level.sql index 935c2db..ace8739 100644 --- a/static/MySQL/71304_p_dog_get_many_lighting_level.sql +++ b/static/MySQL/71304_p_dog_get_many_lighting_level.sql @@ -40,7 +40,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); @@ -135,7 +135,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); diff --git a/static/MySQL/71308_p_dog_calc_assessment.sql b/static/MySQL/71308_p_dog_calc_assessment.sql index 9ca4a79..ee76f00 100644 --- a/static/MySQL/71308_p_dog_calc_assessment.sql +++ b/static/MySQL/71308_p_dog_calc_assessment.sql @@ -65,7 +65,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Assessment ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); @@ -237,20 +237,20 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Assessment ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Assessment ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Id_Calc_Assessment; CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Notes_Calc_Assessment ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Notes_Calc_Assessment; diff --git a/static/MySQL/71308_p_dog_get_many_assessment.sql b/static/MySQL/71308_p_dog_get_many_assessment.sql index 3670609..86d20d1 100644 --- a/static/MySQL/71308_p_dog_get_many_assessment.sql +++ b/static/MySQL/71308_p_dog_get_many_assessment.sql @@ -60,7 +60,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); @@ -171,7 +171,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); diff --git a/static/MySQL/71310_p_dog_save_assessment.sql b/static/MySQL/71310_p_dog_save_assessment.sql index f2fa819..63ed91c 100644 --- a/static/MySQL/71310_p_dog_save_assessment.sql +++ b/static/MySQL/71310_p_dog_save_assessment.sql @@ -32,7 +32,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) , msg TEXT NOT NULL ); @@ -64,6 +64,22 @@ BEGIN INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; + START TRANSACTION; + INSERT INTO parts.DOG_Msg_Error_Temp ( + id_type + , code + , msg + , guid + ) + SELECT + t_ERROR.id_type + , t_ERROR.code + , t_ERROR.msg + , a_guid + FROM tmp_Msg_Error t_ERROR + ; + COMMIT; + DROP TABLE IF EXISTS tmp_Msg_Error; END; @@ -112,7 +128,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) , msg TEXT NOT NULL ); @@ -171,7 +187,7 @@ BEGIN UPDATE tmp_Assessment t_ASSESSMENT LEFT JOIN parts.DOG_Assessment ASSESSMENT ON t_ASSESSMENT.id_assessment = ASSESSMENT.id_assessment SET t_ASSESSMENT.name_error = CONCAT( - CONVERT(COALESCE(t_ASSESSMENT.created_on, ASSESSMENT.created_on, v_time_start), CHAR) + CONVERT(COALESCE(ASSESSMENT.created_on, v_time_start), CHAR) , CASE WHEN t_ASSESSMENT.notes IS NOT NULL THEN CONCAT(' - ', t_ASSESSMENT.notes) ELSE '' END /* COALESCE(WEATHER.name, '(No Weather)') @@ -281,10 +297,10 @@ BEGIN IF EXISTS ( SELECT * FROM tmp_Assessment t_ASSESSMENT - LEFT JOIN demo.DOG_User USER_HANDLER ON t_ASSESSMENT.id_user_handler = USER_HANDLER.id_user_handler + LEFT JOIN demo.DOG_User USER_HANDLER ON t_ASSESSMENT.id_user_handler = USER_HANDLER.id_user WHERE ISNULL(t_ASSESSMENT.id_user_handler) - OR ISNULL(USER_HANDLER.id_user_handler) + OR ISNULL(USER_HANDLER.id_user) OR USER_HANDLER.active = 0 ) THEN INSERT INTO tmp_Msg_Error ( @@ -297,10 +313,10 @@ BEGIN , v_code_type_error_bad_data , CONCAT('The following Dog User_Handler Assessment(s) do not have a valid User_Handler: ', GROUP_CONCAT(t_ASSESSMENT.name_error SEPARATOR ', ')) AS msg FROM tmp_Assessment t_ASSESSMENT - LEFT JOIN parts.DOG_User USER_HANDLER ON t_ASSESSMENT.id_user_handler = USER_HANDLER.id_user_handler + LEFT JOIN parts.DOG_User USER_HANDLER ON t_ASSESSMENT.id_user_handler = USER_HANDLER.id_user WHERE ISNULL(t_ASSESSMENT.id_user_handler) - OR ISNULL(USER_HANDLER.id_user_handler) + OR ISNULL(USER_HANDLER.id_user) OR USER_HANDLER.active = 0 ; END IF; @@ -399,7 +415,8 @@ BEGIN ; INSERT INTO parts.DOG_Assessment ( - id_weather + id_temp + , id_weather , id_lighting_level , id_location , id_user_handler @@ -411,7 +428,8 @@ BEGIN , created_on ) SELECT - t_ASSESSMENT.id_weather AS id_weather + t_ASSESSMENT.id_temp + , t_ASSESSMENT.id_weather AS id_weather , t_ASSESSMENT.id_lighting_level AS id_lighting_level , t_ASSESSMENT.id_location AS id_location , t_ASSESSMENT.id_user_handler AS id_user_handler @@ -426,6 +444,20 @@ BEGIN t_ASSESSMENT.is_new = 1 AND t_ASSESSMENT.active = 1 ; + + INSERT INTO parts.DOG_Msg_Error_Temp ( + id_type + , code + , msg + , guid + ) + SELECT + t_ERROR.id_type + , t_ERROR.code + , t_ERROR.msg + , a_guid + FROM tmp_Msg_Error t_ERROR + ; COMMIT; END IF; diff --git a/static/MySQL/71312_p_dog_calc_distraction_type.sql b/static/MySQL/71312_p_dog_calc_distraction_type.sql index aa5f157..ccbee6a 100644 --- a/static/MySQL/71312_p_dog_calc_distraction_type.sql +++ b/static/MySQL/71312_p_dog_calc_distraction_type.sql @@ -43,7 +43,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Distraction_Type ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); @@ -138,20 +138,20 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Distraction_Type ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Distraction_Type ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Id_Calc_Distraction_Type; CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Distraction_Type ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Name_Calc_Distraction_Type; diff --git a/static/MySQL/71312_p_dog_get_many_distraction_type.sql b/static/MySQL/71312_p_dog_get_many_distraction_type.sql index cfd24de..161b96e 100644 --- a/static/MySQL/71312_p_dog_get_many_distraction_type.sql +++ b/static/MySQL/71312_p_dog_get_many_distraction_type.sql @@ -40,7 +40,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); @@ -135,7 +135,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); diff --git a/static/MySQL/71316_p_dog_calc_distraction_intensity_level.sql b/static/MySQL/71316_p_dog_calc_distraction_intensity_level.sql index 5cc7386..a07a81c 100644 --- a/static/MySQL/71316_p_dog_calc_distraction_intensity_level.sql +++ b/static/MySQL/71316_p_dog_calc_distraction_intensity_level.sql @@ -43,7 +43,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Distraction_Intensity_Level ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); @@ -138,20 +138,20 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Distraction_Intensity_Level ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Distraction_Intensity_Level ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Id_Calc_Distraction_Intensity_Level; CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Distraction_Intensity_Level ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Name_Calc_Distraction_Intensity_Level; diff --git a/static/MySQL/71316_p_dog_get_many_distraction_intensity_level.sql b/static/MySQL/71316_p_dog_get_many_distraction_intensity_level.sql index 2c718fb..1268075 100644 --- a/static/MySQL/71316_p_dog_get_many_distraction_intensity_level.sql +++ b/static/MySQL/71316_p_dog_get_many_distraction_intensity_level.sql @@ -40,7 +40,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); @@ -135,7 +135,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); diff --git a/static/MySQL/71320_p_dog_calc_distraction.sql b/static/MySQL/71320_p_dog_calc_distraction.sql index 2148374..0431e2b 100644 --- a/static/MySQL/71320_p_dog_calc_distraction.sql +++ b/static/MySQL/71320_p_dog_calc_distraction.sql @@ -99,7 +99,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Distraction ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); @@ -339,20 +339,20 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Distraction ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Distraction ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Id_Calc_Distraction; CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Notes_Calc_Distraction ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Notes_Calc_Distraction; diff --git a/static/MySQL/71320_p_dog_get_many_distraction.sql b/static/MySQL/71320_p_dog_get_many_distraction.sql index a881ee0..5e4061a 100644 --- a/static/MySQL/71320_p_dog_get_many_distraction.sql +++ b/static/MySQL/71320_p_dog_get_many_distraction.sql @@ -93,7 +93,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); @@ -243,7 +243,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); diff --git a/static/MySQL/71322_p_dog_save_distraction.sql b/static/MySQL/71322_p_dog_save_distraction.sql index a03d075..8883cae 100644 --- a/static/MySQL/71322_p_dog_save_distraction.sql +++ b/static/MySQL/71322_p_dog_save_distraction.sql @@ -32,7 +32,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) , msg TEXT NOT NULL ); @@ -64,6 +64,22 @@ BEGIN INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; + START TRANSACTION; + INSERT INTO parts.DOG_Msg_Error_Temp ( + id_type + , code + , msg + , guid + ) + SELECT + t_ERROR.id_type + , t_ERROR.code + , t_ERROR.msg + , a_guid + FROM tmp_Msg_Error t_ERROR + ; + COMMIT; + DROP TABLE IF EXISTS tmp_Msg_Error; END; @@ -118,7 +134,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) , msg TEXT NOT NULL ); @@ -213,7 +229,7 @@ BEGIN , ' - ' , COALESCE(DISTRACTION_INTENSITY_LEVEL_SCENT.name, '(No Distraction Intensity Level Touch)') , ' - x' - , CONVERT(COALESCE(t_ASSESSMENT.quantity, 0), CHAR) + , CONVERT(COALESCE(t_DISTRACTION.quantity, 0), CHAR) ) ; @@ -257,10 +273,10 @@ BEGIN IF EXISTS ( SELECT * FROM tmp_Distraction t_DISTRACTION - LEFT JOIN demo.DOG_Distraction_Type DISTRACTION_TYPE ON t_DISTRACTION.id_distraction_type = DISTRACTION_TYPE.id_distraction_type + LEFT JOIN demo.DOG_Distraction_Type DISTRACTION_TYPE ON t_DISTRACTION.id_distraction_type = DISTRACTION_TYPE.id_type WHERE ISNULL(t_DISTRACTION.id_distraction_type) - OR ISNULL(DISTRACTION_TYPE.id_distraction_type) + OR ISNULL(DISTRACTION_TYPE.id_type) OR DISTRACTION_TYPE.active = 0 ) THEN INSERT INTO tmp_Msg_Error ( @@ -273,10 +289,10 @@ BEGIN , v_code_type_error_bad_data , CONCAT('The following Dog Distraction_Type Distraction(s) do not have a valid Distraction_Type: ', GROUP_CONCAT(t_DISTRACTION.name_error SEPARATOR ', ')) AS msg FROM tmp_Distraction t_DISTRACTION - LEFT JOIN parts.DOG_Distraction_Type DISTRACTION_TYPE ON t_DISTRACTION.id_distraction_type = DISTRACTION_TYPE.id_distraction_type + LEFT JOIN parts.DOG_Distraction_Type DISTRACTION_TYPE ON t_DISTRACTION.id_distraction_type = DISTRACTION_TYPE.id_type WHERE ISNULL(t_DISTRACTION.id_distraction_type) - OR ISNULL(DISTRACTION_TYPE.id_distraction_type) + OR ISNULL(DISTRACTION_TYPE.id_type) OR DISTRACTION_TYPE.active = 0 ; END IF; @@ -284,10 +300,10 @@ BEGIN IF EXISTS ( SELECT * FROM tmp_Distraction t_DISTRACTION - LEFT JOIN demo.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_EMOTIONAL ON t_DISTRACTION.id_intensity_level_emotional = DISTRACTION_INTENSITY_LEVEL_EMOTIONAL.id_intensity_level_emotional + LEFT JOIN demo.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_EMOTIONAL ON t_DISTRACTION.id_intensity_level_emotional = DISTRACTION_INTENSITY_LEVEL_EMOTIONAL.id_intensity_level WHERE ISNULL(t_DISTRACTION.id_intensity_level_emotional) - OR ISNULL(DISTRACTION_INTENSITY_LEVEL_EMOTIONAL.id_intensity_level_emotional) + OR ISNULL(DISTRACTION_INTENSITY_LEVEL_EMOTIONAL.id_intensity_level) OR DISTRACTION_INTENSITY_LEVEL_EMOTIONAL.active = 0 ) THEN INSERT INTO tmp_Msg_Error ( @@ -300,10 +316,10 @@ BEGIN , v_code_type_error_bad_data , CONCAT('The following Distraction(s) do not have a valid Distraction_Intensity_Level_Emotional: ', GROUP_CONCAT(t_DISTRACTION.name_error SEPARATOR ', ')) AS msg FROM tmp_Distraction t_DISTRACTION - LEFT JOIN parts.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_EMOTIONAL ON t_DISTRACTION.id_intensity_level_emotional = DISTRACTION_INTENSITY_LEVEL_EMOTIONAL.id_intensity_level_emotional + LEFT JOIN parts.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_EMOTIONAL ON t_DISTRACTION.id_intensity_level_emotional = DISTRACTION_INTENSITY_LEVEL_EMOTIONAL.id_intensity_level WHERE ISNULL(t_DISTRACTION.id_intensity_level_emotional) - OR ISNULL(DISTRACTION_INTENSITY_LEVEL_EMOTIONAL.id_intensity_level_emotional) + OR ISNULL(DISTRACTION_INTENSITY_LEVEL_EMOTIONAL.id_intensity_level) OR DISTRACTION_INTENSITY_LEVEL_EMOTIONAL.active = 0 ; END IF; @@ -314,7 +330,7 @@ BEGIN LEFT JOIN demo.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_SCENT ON t_DISTRACTION.id_intensity_level_scent = DISTRACTION_INTENSITY_LEVEL_SCENT.id_intensity_level WHERE ISNULL(t_DISTRACTION.id_intensity_level_scent) - OR ISNULL(DISTRACTION_INTENSITY_LEVEL_SCENT.id_intensity_level_scent) + OR ISNULL(DISTRACTION_INTENSITY_LEVEL_SCENT.id_intensity_level) OR DISTRACTION_INTENSITY_LEVEL_SCENT.active = 0 ) THEN INSERT INTO tmp_Msg_Error ( @@ -330,7 +346,7 @@ BEGIN LEFT JOIN parts.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_SCENT ON t_DISTRACTION.id_intensity_level_scent = DISTRACTION_INTENSITY_LEVEL_SCENT.id_intensity_level WHERE ISNULL(t_DISTRACTION.id_intensity_level_scent) - OR ISNULL(DISTRACTION_INTENSITY_LEVEL_SCENT.id_intensity_level_scent) + OR ISNULL(DISTRACTION_INTENSITY_LEVEL_SCENT.id_intensity_level) OR DISTRACTION_INTENSITY_LEVEL_SCENT.active = 0 ; END IF; @@ -341,7 +357,7 @@ BEGIN LEFT JOIN demo.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_SIGHT ON t_DISTRACTION.id_intensity_level_sight = DISTRACTION_INTENSITY_LEVEL_SIGHT.id_intensity_level WHERE ISNULL(t_DISTRACTION.id_intensity_level_sight) - OR ISNULL(DISTRACTION_INTENSITY_LEVEL_SIGHT.id_intensity_level_sight) + OR ISNULL(DISTRACTION_INTENSITY_LEVEL_SIGHT.id_intensity_level) OR DISTRACTION_INTENSITY_LEVEL_SIGHT.active = 0 ) THEN INSERT INTO tmp_Msg_Error ( @@ -357,7 +373,7 @@ BEGIN LEFT JOIN parts.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_SIGHT ON t_DISTRACTION.id_intensity_level_sight = DISTRACTION_INTENSITY_LEVEL_SIGHT.id_intensity_level WHERE ISNULL(t_DISTRACTION.id_intensity_level_sight) - OR ISNULL(DISTRACTION_INTENSITY_LEVEL_SIGHT.id_intensity_level_sight) + OR ISNULL(DISTRACTION_INTENSITY_LEVEL_SIGHT.id_intensity_level) OR DISTRACTION_INTENSITY_LEVEL_SIGHT.active = 0 ; END IF; @@ -368,7 +384,7 @@ BEGIN LEFT JOIN demo.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_SOUND ON t_DISTRACTION.id_intensity_level_sound = DISTRACTION_INTENSITY_LEVEL_SOUND.id_intensity_level WHERE ISNULL(t_DISTRACTION.id_intensity_level_sound) - OR ISNULL(DISTRACTION_INTENSITY_LEVEL_SOUND.id_intensity_level_sound) + OR ISNULL(DISTRACTION_INTENSITY_LEVEL_SOUND.id_intensity_level) OR DISTRACTION_INTENSITY_LEVEL_SOUND.active = 0 ) THEN INSERT INTO tmp_Msg_Error ( @@ -384,7 +400,7 @@ BEGIN LEFT JOIN parts.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_SOUND ON t_DISTRACTION.id_intensity_level_sound = DISTRACTION_INTENSITY_LEVEL_SOUND.id_intensity_level WHERE ISNULL(t_DISTRACTION.id_intensity_level_sound) - OR ISNULL(DISTRACTION_INTENSITY_LEVEL_SOUND.id_intensity_level_sound) + OR ISNULL(DISTRACTION_INTENSITY_LEVEL_SOUND.id_intensity_level) OR DISTRACTION_INTENSITY_LEVEL_SOUND.active = 0 ; END IF; @@ -395,7 +411,7 @@ BEGIN LEFT JOIN demo.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_TOUCH ON t_DISTRACTION.id_intensity_level_touch = DISTRACTION_INTENSITY_LEVEL_TOUCH.id_intensity_level WHERE ISNULL(t_DISTRACTION.id_intensity_level_touch) - OR ISNULL(DISTRACTION_INTENSITY_LEVEL_TOUCH.id_intensity_level_touch) + OR ISNULL(DISTRACTION_INTENSITY_LEVEL_TOUCH.id_intensity_level) OR DISTRACTION_INTENSITY_LEVEL_TOUCH.active = 0 ) THEN INSERT INTO tmp_Msg_Error ( @@ -411,7 +427,7 @@ BEGIN LEFT JOIN parts.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_TOUCH ON t_DISTRACTION.id_intensity_level_touch = DISTRACTION_INTENSITY_LEVEL_TOUCH.id_intensity_level WHERE ISNULL(t_DISTRACTION.id_intensity_level_touch) - OR ISNULL(DISTRACTION_INTENSITY_LEVEL_TOUCH.id_intensity_level_touch) + OR ISNULL(DISTRACTION_INTENSITY_LEVEL_TOUCH.id_intensity_level) OR DISTRACTION_INTENSITY_LEVEL_TOUCH.active = 0 ; END IF; @@ -513,7 +529,8 @@ BEGIN ; INSERT INTO parts.DOG_Distraction ( - id_assessment + id_temp + , id_assessment , id_distraction_type , id_intensity_level_emotional , id_intensity_level_scent @@ -528,7 +545,8 @@ BEGIN , created_on ) SELECT - t_DISTRACTION.id_assessment AS id_assessment + t_DISTRACTION.id_temp + , t_DISTRACTION.id_assessment AS id_assessment , t_DISTRACTION.id_distraction_type AS id_distraction_type , t_DISTRACTION.id_intensity_level_emotional AS id_intensity_level_emotional , t_DISTRACTION.id_intensity_level_scent AS id_intensity_level_scent @@ -546,6 +564,20 @@ BEGIN t_DISTRACTION.is_new = 1 AND t_DISTRACTION.active = 1 ; + + INSERT INTO parts.DOG_Msg_Error_Temp ( + id_type + , code + , msg + , guid + ) + SELECT + t_ERROR.id_type + , t_ERROR.code + , t_ERROR.msg + , a_guid + FROM tmp_Msg_Error t_ERROR + ; COMMIT; END IF; diff --git a/static/MySQL/71324_p_dog_calc_bribe.sql b/static/MySQL/71324_p_dog_calc_bribe.sql index d9a5e15..56bc267 100644 --- a/static/MySQL/71324_p_dog_calc_bribe.sql +++ b/static/MySQL/71324_p_dog_calc_bribe.sql @@ -43,7 +43,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Bribe ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); @@ -138,20 +138,20 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Bribe ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Bribe ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Id_Calc_Bribe; CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Bribe ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Name_Calc_Bribe; diff --git a/static/MySQL/71324_p_dog_get_many_bribe.sql b/static/MySQL/71324_p_dog_get_many_bribe.sql index 52ea0de..0cb6fbf 100644 --- a/static/MySQL/71324_p_dog_get_many_bribe.sql +++ b/static/MySQL/71324_p_dog_get_many_bribe.sql @@ -40,7 +40,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); @@ -135,7 +135,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); diff --git a/static/MySQL/71328_p_dog_calc_assessment_command_modality_link.sql b/static/MySQL/71328_p_dog_calc_assessment_command_modality_link.sql index 8b76c63..0a2f314 100644 --- a/static/MySQL/71328_p_dog_calc_assessment_command_modality_link.sql +++ b/static/MySQL/71328_p_dog_calc_assessment_command_modality_link.sql @@ -10,8 +10,8 @@ CREATE PROCEDURE parts.p_dog_calc_assessment_command_modality_link ( , IN a_get_all_link BIT , IN a_get_inactive_link BIT , IN a_ids_link TEXT - , IN a_min_distance_from_handler_link FLOAT - , IN a_max_distance_from_handler_link FLOAT + , IN a_min_distance_from_handler_metres_link FLOAT + , IN a_max_distance_from_handler_metres_link FLOAT , IN a_value_is_in_sight_of_handler_link BIT , IN a_value_is_in_scent_range_of_handler_link BIT , IN a_value_is_in_hearing_range_of_handler_link BIT @@ -81,8 +81,8 @@ BEGIN DECLARE v_has_filter_assessment_command_modality_link_is_in_scent_range_of_handler BIT; DECLARE v_has_filter_assessment_command_modality_link_is_in_hearing_range_of_handler BIT; DECLARE v_has_filter_assessment_command_modality_link_is_on_lead BIT; - DECLARE v_has_filter_assessment_command_modality_link_distance_from_handler_min BIT; - DECLARE v_has_filter_assessment_command_modality_link_distance_from_handler_max BIT; + DECLARE v_has_filter_assessment_command_modality_link_distance_from_handler_metres_min BIT; + DECLARE v_has_filter_assessment_command_modality_link_distance_from_handler_metres_max BIT; DECLARE v_has_filter_assessment_command_modality_link_trial_count_min BIT; DECLARE v_has_filter_assessment_command_modality_link_trial_count_max BIT; DECLARE v_id_access_level_view INT; @@ -104,7 +104,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_ACM_Link ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); @@ -155,8 +155,8 @@ BEGIN SET a_get_inactive_link := IFNULL(a_get_inactive_link, 0); SET a_ids_link := TRIM(IFNULL(a_ids_link, '')); /* - , IN a_min_distance_from_handler_link FLOAT - , IN a_max_distance_from_handler_link FLOAT + , IN a_min_distance_from_handler_metres_link FLOAT + , IN a_max_distance_from_handler_metres_link FLOAT , IN a_value_is_in_sight_of_handler_link INT , IN a_value_is_in_scent_range_of_handler_link INT , IN a_value_is_in_hearing_range_of_handler_link INT @@ -178,8 +178,8 @@ BEGIN , a_get_all_link , a_get_inactive_link , a_ids_link - , a_min_distance_from_handler_link - , a_max_distance_from_handler_link + , a_min_distance_from_handler_metres_link + , a_max_distance_from_handler_metres_link , a_value_is_in_sight_of_handler_link , a_value_is_in_scent_range_of_handler_link , a_value_is_in_hearing_range_of_handler_link @@ -319,7 +319,7 @@ BEGIN , id_command INT , id_command_modality INT , id_bribe INT - , distance_from_handler FLOAT + , distance_from_handler_metres FLOAT , is_in_sight_of_handler BIT , is_in_scent_range_of_handler BIT , is_in_hearing_range_of_handler BIT @@ -332,14 +332,14 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_ACM_Link ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_ACM_Link ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Id_Calc_ACM_Link; @@ -348,8 +348,8 @@ BEGIN SET v_has_filter_assessment_command_modality_link_is_in_scent_range_of_handler := NOT ISNULL(a_value_is_in_scent_range_of_handler_link); SET v_has_filter_assessment_command_modality_link_is_in_hearing_range_of_handler := NOT ISNULL(a_value_is_in_hearing_range_of_handler_link); SET v_has_filter_assessment_command_modality_link_is_on_lead := NOT ISNULL(a_value_is_on_lead_link); - SET v_has_filter_assessment_command_modality_link_distance_from_handler_min := NOT ISNULL(a_min_distance_from_handler_link); - SET v_has_filter_assessment_command_modality_link_distance_from_handler_max := NOT ISNULL(a_max_distance_from_handler_link); + SET v_has_filter_assessment_command_modality_link_distance_from_handler_metres_min := NOT ISNULL(a_min_distance_from_handler_metres_link); + SET v_has_filter_assessment_command_modality_link_distance_from_handler_metres_max := NOT ISNULL(a_max_distance_from_handler_metres_link); SET v_has_filter_assessment_command_modality_link_trial_count_min := NOT ISNULL(a_min_trial_count_link); SET v_has_filter_assessment_command_modality_link_trial_count_max := NOT ISNULL(a_max_trial_count_link); @@ -769,7 +769,7 @@ BEGIN , ASSESSMENT_COMMAND_MODALITY_LINK.id_command , ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality , ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe - , ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler + , ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres , ASSESSMENT_COMMAND_MODALITY_LINK.is_in_sight_of_handler , ASSESSMENT_COMMAND_MODALITY_LINK.is_in_scent_range_of_handler , ASSESSMENT_COMMAND_MODALITY_LINK.is_in_hearing_range_of_handler @@ -786,18 +786,18 @@ BEGIN AND v_has_filter_assessment_command_modality_link_is_in_scent_range_of_handler = 0 AND v_has_filter_assessment_command_modality_link_is_in_hearing_range_of_handler = 0 AND v_has_filter_assessment_command_modality_link_is_on_lead = 0 - AND v_has_filter_assessment_command_modality_link_distance_from_handler_min = 0 - AND v_has_filter_assessment_command_modality_link_distance_from_handler_max = 0 + AND v_has_filter_assessment_command_modality_link_distance_from_handler_metres_min = 0 + AND v_has_filter_assessment_command_modality_link_distance_from_handler_metres_max = 0 AND v_has_filter_assessment_command_modality_link_trial_count_min = 0 AND v_has_filter_assessment_command_modality_link_trial_count_max = 0 ) OR ( - v_has_filter_assessment_command_modality_link_distance_from_handler_min = 0 - OR ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler >= a_min_distance_from_handler_link + v_has_filter_assessment_command_modality_link_distance_from_handler_metres_min = 0 + OR ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres >= a_min_distance_from_handler_metres_link ) OR ( - v_has_filter_assessment_command_modality_link_distance_from_handler_max = 0 - OR ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler <= a_max_distance_from_handler_link + v_has_filter_assessment_command_modality_link_distance_from_handler_metres_max = 0 + OR ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres <= a_max_distance_from_handler_metres_link ) OR ( v_has_filter_assessment_command_modality_link_is_in_sight_of_handler = 0 @@ -834,12 +834,12 @@ BEGIN AND ASSESSMENT_COMMAND_MODALITY_LINK_FILTERS.does_meet_id_filter = 1 ) OR ( - v_has_filter_assessment_command_modality_link_distance_from_handler_min = 0 - AND ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler >= a_min_distance_from_handler_link + v_has_filter_assessment_command_modality_link_distance_from_handler_metres_min = 0 + AND ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres >= a_min_distance_from_handler_metres_link ) OR ( - v_has_filter_assessment_command_modality_link_distance_from_handler_max = 0 - AND ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler <= a_max_distance_from_handler_link + v_has_filter_assessment_command_modality_link_distance_from_handler_metres_max = 0 + AND ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres <= a_max_distance_from_handler_metres_link ) OR ( v_has_filter_assessment_command_modality_link_is_in_sight_of_handler = 0 @@ -878,7 +878,7 @@ BEGIN , id_command , id_command_modality , id_bribe - , distance_from_handler + , distance_from_handler_metres , is_in_sight_of_handler , is_in_scent_range_of_handler , is_in_hearing_range_of_handler @@ -912,7 +912,7 @@ BEGIN , ASSESSMENT_COMMAND_MODALITY_LINK.id_command , ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality , ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe - , ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler + , ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres , ASSESSMENT_COMMAND_MODALITY_LINK.is_in_sight_of_handler , ASSESSMENT_COMMAND_MODALITY_LINK.is_in_scent_range_of_handler , ASSESSMENT_COMMAND_MODALITY_LINK.is_in_hearing_range_of_handler @@ -929,18 +929,18 @@ BEGIN AND v_has_filter_assessment_command_modality_link_is_in_scent_range_of_handler = 0 AND v_has_filter_assessment_command_modality_link_is_in_hearing_range_of_handler = 0 AND v_has_filter_assessment_command_modality_link_is_on_lead = 0 - AND v_has_filter_assessment_command_modality_link_distance_from_handler_min = 0 - AND v_has_filter_assessment_command_modality_link_distance_from_handler_max = 0 + AND v_has_filter_assessment_command_modality_link_distance_from_handler_metres_min = 0 + AND v_has_filter_assessment_command_modality_link_distance_from_handler_metres_max = 0 AND v_has_filter_assessment_command_modality_link_trial_count_min = 0 AND v_has_filter_assessment_command_modality_link_trial_count_max = 0 ) OR ( - v_has_filter_assessment_command_modality_link_distance_from_handler_min = 0 - OR ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler >= a_min_distance_from_handler_link + v_has_filter_assessment_command_modality_link_distance_from_handler_metres_min = 0 + OR ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres >= a_min_distance_from_handler_metres_link ) OR ( - v_has_filter_assessment_command_modality_link_distance_from_handler_max = 0 - OR ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler <= a_max_distance_from_handler_link + v_has_filter_assessment_command_modality_link_distance_from_handler_metres_max = 0 + OR ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres <= a_max_distance_from_handler_metres_link ) OR ( v_has_filter_assessment_command_modality_link_is_in_sight_of_handler = 0 @@ -977,12 +977,12 @@ BEGIN AND ASSESSMENT_COMMAND_MODALITY_LINK_FILTERS.does_meet_id_filter = 1 ) OR ( - v_has_filter_assessment_command_modality_link_distance_from_handler_min = 0 - AND ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler >= a_min_distance_from_handler_link + v_has_filter_assessment_command_modality_link_distance_from_handler_metres_min = 0 + AND ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres >= a_min_distance_from_handler_metres_link ) OR ( - v_has_filter_assessment_command_modality_link_distance_from_handler_max = 0 - AND ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler <= a_max_distance_from_handler_link + v_has_filter_assessment_command_modality_link_distance_from_handler_metres_max = 0 + AND ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres <= a_max_distance_from_handler_metres_link ) OR ( v_has_filter_assessment_command_modality_link_is_in_sight_of_handler = 0 @@ -1211,7 +1211,7 @@ BEGIN , id_command , id_command_modality , id_bribe - , distance_from_handler + , distance_from_handler_metres , is_in_sight_of_handler , is_in_scent_range_of_handler , is_in_hearing_range_of_handler @@ -1229,7 +1229,7 @@ BEGIN , t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command , t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality , t_ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe - , t_ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler + , t_ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres , t_ASSESSMENT_COMMAND_MODALITY_LINK.is_in_sight_of_handler , t_ASSESSMENT_COMMAND_MODALITY_LINK.is_in_scent_range_of_handler , t_ASSESSMENT_COMMAND_MODALITY_LINK.is_in_hearing_range_of_handler @@ -1315,8 +1315,8 @@ CALL parts.p_dog_calc_assessment_command_modality_link ( , 1 -- a_get_all_link , 0 -- a_get_inactive_link , '' -- a_ids_link - , NULL -- a_min_distance_from_handler_link - , NULL -- a_max_distance_from_handler_link + , NULL -- a_min_distance_from_handler_metres_link + , NULL -- a_max_distance_from_handler_metres_link , NULL -- a_value_is_in_sight_of_handler_link , NULL -- a_value_is_in_scent_range_of_handler_link , NULL -- a_value_is_in_hearing_range_of_handler_link diff --git a/static/MySQL/71328_p_dog_get_many_assessment_command_modality_link.sql b/static/MySQL/71328_p_dog_get_many_assessment_command_modality_link.sql index 3ee5e7d..a19d9bb 100644 --- a/static/MySQL/71328_p_dog_get_many_assessment_command_modality_link.sql +++ b/static/MySQL/71328_p_dog_get_many_assessment_command_modality_link.sql @@ -9,8 +9,8 @@ CREATE PROCEDURE parts.p_dog_get_many_assessment_command_modality_link ( , IN a_get_all_link BIT , IN a_get_inactive_link BIT , IN a_ids_link TEXT - , IN a_min_distance_from_handler_link FLOAT - , IN a_max_distance_from_handler_link FLOAT + , IN a_min_distance_from_handler_metres_link FLOAT + , IN a_max_distance_from_handler_metres_link FLOAT , IN a_value_is_in_sight_of_handler_link BIT , IN a_value_is_in_scent_range_of_handler_link BIT , IN a_value_is_in_hearing_range_of_handler_link BIT @@ -94,7 +94,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); @@ -150,8 +150,8 @@ BEGIN , a_get_all_link , a_get_inactive_link , a_ids_link - , a_min_distance_from_handler_link - , a_max_distance_from_handler_link + , a_min_distance_from_handler_metres_link + , a_max_distance_from_handler_metres_link , a_value_is_in_sight_of_handler_link , a_value_is_in_scent_range_of_handler_link , a_value_is_in_hearing_range_of_handler_link @@ -230,7 +230,7 @@ BEGIN , id_command INT , id_command_modality INT , id_bribe INT - , distance_from_handler FLOAT + , distance_from_handler_metres FLOAT , is_in_sight_of_handler BIT , is_in_scent_range_of_handler BIT , is_in_hearing_range_of_handler BIT @@ -243,7 +243,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); @@ -335,8 +335,8 @@ BEGIN , a_get_all_link , a_get_inactive_link , a_ids_link - , a_min_distance_from_handler_link - , a_max_distance_from_handler_link + , a_min_distance_from_handler_metres_link + , a_max_distance_from_handler_metres_link , a_value_is_in_sight_of_handler_link , a_value_is_in_scent_range_of_handler_link , a_value_is_in_hearing_range_of_handler_link @@ -405,8 +405,8 @@ BEGIN , a_get_all_link , a_get_inactive_link , a_ids_link - , a_min_distance_from_handler_link - , a_max_distance_from_handler_link + , a_min_distance_from_handler_metres_link + , a_max_distance_from_handler_metres_link , a_value_is_in_sight_of_handler_link , a_value_is_in_scent_range_of_handler_link , a_value_is_in_hearing_range_of_handler_link @@ -479,7 +479,7 @@ BEGIN , id_command , id_command_modality , id_bribe - , distance_from_handler + , distance_from_handler_metres , is_in_sight_of_handler , is_in_scent_range_of_handler , is_in_hearing_range_of_handler @@ -495,7 +495,7 @@ BEGIN , ASSESSMENT_COMMAND_MODALITY_LINK_T.id_command , ASSESSMENT_COMMAND_MODALITY_LINK_T.id_command_modality , ASSESSMENT_COMMAND_MODALITY_LINK_T.id_bribe - , ASSESSMENT_COMMAND_MODALITY_LINK_T.distance_from_handler + , ASSESSMENT_COMMAND_MODALITY_LINK_T.distance_from_handler_metres , ASSESSMENT_COMMAND_MODALITY_LINK_T.is_in_sight_of_handler , ASSESSMENT_COMMAND_MODALITY_LINK_T.is_in_scent_range_of_handler , ASSESSMENT_COMMAND_MODALITY_LINK_T.is_in_hearing_range_of_handler @@ -538,7 +538,7 @@ BEGIN , COMMAND_MODALITY.name AS name_command_modality , t_ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe , BRIBE.name AS name_bribe - , t_ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler + , t_ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres , t_ASSESSMENT_COMMAND_MODALITY_LINK.is_in_sight_of_handler , t_ASSESSMENT_COMMAND_MODALITY_LINK.is_in_scent_range_of_handler , t_ASSESSMENT_COMMAND_MODALITY_LINK.is_in_hearing_range_of_handler @@ -598,8 +598,8 @@ CALL parts.p_dog_get_many_assessment_command_modality_link ( , 1 -- a_get_all_link , 0 -- a_get_inactive_link , '' -- a_ids_link - , NULL -- a_min_distance_from_handler_link - , NULL -- a_max_distance_from_handler_link + , NULL -- a_min_distance_from_handler_metres_link + , NULL -- a_max_distance_from_handler_metres_link , NULL -- a_value_is_in_sight_of_handler_link , NULL -- a_value_is_in_scent_range_of_handler_link , NULL -- a_value_is_in_hearing_range_of_handler_link diff --git a/static/MySQL/71330_p_dog_save_assessment_command_modality_link.sql b/static/MySQL/71330_p_dog_save_assessment_command_modality_link.sql index 123194e..765492a 100644 --- a/static/MySQL/71330_p_dog_save_assessment_command_modality_link.sql +++ b/static/MySQL/71330_p_dog_save_assessment_command_modality_link.sql @@ -32,7 +32,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) , msg TEXT NOT NULL ); @@ -64,6 +64,22 @@ BEGIN INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; + START TRANSACTION; + INSERT INTO parts.DOG_Msg_Error_Temp ( + id_type + , code + , msg + , guid + ) + SELECT + t_ERROR.id_type + , t_ERROR.code + , t_ERROR.msg + , a_guid + FROM tmp_Msg_Error t_ERROR + ; + COMMIT; + DROP TABLE IF EXISTS tmp_Msg_Error; END; @@ -87,7 +103,7 @@ BEGIN , id_command INT , id_command_modality INT , id_bribe INT - , distance_from_handler FLOAT + , distance_from_handler_metres FLOAT , is_in_sight_of_handler BIT , is_in_scent_range_of_handler BIT , is_in_hearing_range_of_handler BIT @@ -105,9 +121,9 @@ BEGIN , id_command INT , id_command_modality INT , id_bribe INT - , id_distance_from_handler INT - , id_is_in_sight_of_handler INT - , id_is_in_scent_range_of_handler INT + , distance_from_handler_metres INT + , is_in_sight_of_handler INT + , is_in_scent_range_of_handler INT , is_in_hearing_range_of_handler INT , is_on_lead FLOAT , trial_count TEXT @@ -118,7 +134,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) , msg TEXT NOT NULL ); @@ -132,12 +148,12 @@ BEGIN , id_command , id_command_modality , id_bribe - , id_distance_from_handler - , id_is_in_sight_of_handler - , id_is_in_scent_range_of_handler + , distance_from_handler_metres + , is_in_sight_of_handler + , is_in_scent_range_of_handler , is_in_hearing_range_of_handler , is_on_lead - , trial_count + -- , trial_count , active , is_new ) @@ -161,21 +177,41 @@ BEGIN , ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe ) AS id_bribe , COALESCE( - ASSESSMENT_COMMAND_MODALITY_LINK_T.id_distance_from_handler - , ASSESSMENT_COMMAND_MODALITY_LINK.id_distance_from_handler - ) AS id_distance_from_handler + ASSESSMENT_COMMAND_MODALITY_LINK_T.distance_from_handler_metres + , ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres + , 1 + ) AS distance_from_handler_metres , COALESCE( - ASSESSMENT_COMMAND_MODALITY_LINK_T.id_is_in_sight_of_handler - , ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_sight_of_handler - ) AS id_is_in_sight_of_handler + ASSESSMENT_COMMAND_MODALITY_LINK_T.is_in_sight_of_handler + , ASSESSMENT_COMMAND_MODALITY_LINK.is_in_sight_of_handler + , 1 + ) AS is_in_sight_of_handler , COALESCE( - ASSESSMENT_COMMAND_MODALITY_LINK_T.id_is_in_scent_range_of_handler - , ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_scent_range_of_handler - ) AS id_is_in_scent_range_of_handler - , ASSESSMENT_COMMAND_MODALITY_LINK_T.is_in_hearing_range_of_handler - , ASSESSMENT_COMMAND_MODALITY_LINK_T.is_on_lead - , ASSESSMENT_COMMAND_MODALITY_LINK_T.trial_count - , COALESCE(ASSESSMENT_COMMAND_MODALITY_LINK_T.active, 1) AS active + ASSESSMENT_COMMAND_MODALITY_LINK_T.is_in_scent_range_of_handler + , ASSESSMENT_COMMAND_MODALITY_LINK.is_in_scent_range_of_handler + , 1 + ) AS is_in_scent_range_of_handler + , COALESCE( + ASSESSMENT_COMMAND_MODALITY_LINK_T.is_in_hearing_range_of_handler + , ASSESSMENT_COMMAND_MODALITY_LINK.is_in_hearing_range_of_handler + , 1 + ) AS is_in_hearing_range_of_handler + , COALESCE( + ASSESSMENT_COMMAND_MODALITY_LINK_T.is_on_lead + , ASSESSMENT_COMMAND_MODALITY_LINK.is_on_lead + , 0 + ) AS is_on_lead + /* + , COALESCE( + ASSESSMENT_COMMAND_MODALITY_LINK_T.trial_count + , ASSESSMENT_COMMAND_MODALITY_LINK.trial_count + ) AS trial_count + */ + , COALESCE( + ASSESSMENT_COMMAND_MODALITY_LINK_T.active + , ASSESSMENT_COMMAND_MODALITY_LINK.active + , 1 + ) AS active , CASE WHEN COALESCE(ASSESSMENT_COMMAND_MODALITY_LINK_T.id_link, 0) < 1 THEN 1 ELSE 0 END AS is_new FROM parts.DOG_Assessment_Command_Modality_Link_Temp ASSESSMENT_COMMAND_MODALITY_LINK_T LEFT JOIN parts.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK ON ASSESSMENT_COMMAND_MODALITY_LINK_T.id_link = ASSESSMENT_COMMAND_MODALITY_LINK.id_link @@ -190,30 +226,18 @@ BEGIN -- Error names UPDATE tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK - LEFT JOIN parts.DOG_Assessment_Command_Modality_Command ASSESSMENT_COMMAND_MODALITY_COMMAND ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command = ASSESSMENT_COMMAND_MODALITY_COMMAND.id_type - LEFT JOIN parts.DOG_Assessment_Command_Modality_Link_Intensity_Level ASSESSMENT_COMMAND_MODALITY_LINK_COMMAND_MODALITY ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality = ASSESSMENT_COMMAND_MODALITY_LINK_COMMAND_MODALITY.id_intensity_level - LEFT JOIN parts.DOG_Assessment_Command_Modality_Link_Intensity_Level ASSESSMENT_COMMAND_MODALITY_LINK_BRIBE ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe = ASSESSMENT_COMMAND_MODALITY_LINK_BRIBE.id_intensity_level - LEFT JOIN parts.DOG_Assessment_Command_Modality_Link_Intensity_Level ASSESSMENT_COMMAND_MODALITY_LINK_DISTANCE_FROM_HANDLER ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_distance_from_handler = ASSESSMENT_COMMAND_MODALITY_LINK_DISTANCE_FROM_HANDLER.id_intensity_level - LEFT JOIN parts.DOG_Assessment_Command_Modality_Link_Intensity_Level ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SIGHT_OF_HANDLER ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_sight_of_handler = ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SIGHT_OF_HANDLER.id_intensity_level - LEFT JOIN parts.DOG_Assessment_Command_Modality_Link_Intensity_Level ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SCENT_RANGE_OF_HANDLER ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_scent_range_of_handler = ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SCENT_RANGE_OF_HANDLER.id_intensity_level + LEFT JOIN parts.DOG_Assessment ASSESSMENT ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment = ASSESSMENT.id_assessment + LEFT JOIN parts.DOG_Command COMMAND ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command = COMMAND.id_command + LEFT JOIN parts.DOG_Command_Modality COMMAND_MODALITY ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality = COMMAND_MODALITY.id_command_modality + LEFT JOIN parts.DOG_Bribe BRIBE ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe = BRIBE.id_bribe SET t_ASSESSMENT_COMMAND_MODALITY_LINK.name_error = CONCAT( - /* - CONVERT(COALESCE(t_ASSESSMENT_COMMAND_MODALITY_LINK.created_on, ASSESSMENT_COMMAND_MODALITY_LINK.created_on, v_time_start), CHAR) - , CASE WHEN t_ASSESSMENT_COMMAND_MODALITY_LINK.trial_count IS NOT NULL THEN CONCAT(' - ', t_ASSESSMENT_COMMAND_MODALITY_LINK.trial_count) ELSE '' END - */ - COALESCE(ASSESSMENT_COMMAND_MODALITY_COMMAND.name, '(No Assessment_Command_Modality_Link Type)') + COALESCE(CONVERT(ASSESSMENT.created_on, CHAR), '(No Assessment)') , ' - ' - , COALESCE(ASSESSMENT_COMMAND_MODALITY_LINK_COMMAND_MODALITY.name, '(No Assessment_Command_Modality_Link Intensity Level Emotional)') + , COALESCE(COMMAND.name, '(No Command)') , ' - ' - , COALESCE(ASSESSMENT_COMMAND_MODALITY_LINK_BRIBE.name, '(No Assessment_Command_Modality_Link Intensity Level Scent)') + , COALESCE(COMMAND_MODALITY.name, '(No Command Modality)') , ' - ' - , COALESCE(ASSESSMENT_COMMAND_MODALITY_LINK_BRIBE.name, '(No Assessment_Command_Modality_Link Intensity Level Sight)') - , ' - ' - , COALESCE(ASSESSMENT_COMMAND_MODALITY_LINK_BRIBE.name, '(No Assessment_Command_Modality_Link Intensity Level Sound)') - , ' - ' - , COALESCE(ASSESSMENT_COMMAND_MODALITY_LINK_BRIBE.name, '(No Assessment_Command_Modality_Link Intensity Level Touch)') - , ' - x' - , CONVERT(COALESCE(t_ASSESSMENT.is_in_hearing_range_of_handler, 0), CHAR) + , COALESCE(BRIBE.name, '(No Bribe)') ) ; @@ -244,7 +268,7 @@ BEGIN SELECT v_id_type_error_bad_data , v_code_type_error_bad_data - , CONCAT('The following Dog Assessment Assessment_Command_Modality_Link(s) do not have a valid Assessment: ', GROUP_CONCAT(t_ASSESSMENT_COMMAND_MODALITY_LINK.name_error SEPARATOR ', ')) AS msg + , CONCAT('The following Dog Assessment Command Modality Link(s) do not have a valid Assessment: ', GROUP_CONCAT(t_ASSESSMENT_COMMAND_MODALITY_LINK.name_error SEPARATOR ', ')) AS msg FROM tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK LEFT JOIN parts.DOG_Assessment ASSESSMENT ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment = ASSESSMENT.id_assessment WHERE @@ -257,11 +281,11 @@ BEGIN IF EXISTS ( SELECT * FROM tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK - LEFT JOIN demo.DOG_Assessment_Command_Modality_Command ASSESSMENT_COMMAND_MODALITY_COMMAND ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command = ASSESSMENT_COMMAND_MODALITY_COMMAND.id_command + LEFT JOIN demo.DOG_Command COMMAND ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command = COMMAND.id_command WHERE ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command) - OR ISNULL(ASSESSMENT_COMMAND_MODALITY_COMMAND.id_command) - OR ASSESSMENT_COMMAND_MODALITY_COMMAND.active = 0 + OR ISNULL(COMMAND.id_command) + OR COMMAND.active = 0 ) THEN INSERT INTO tmp_Msg_Error ( id_type @@ -271,24 +295,24 @@ BEGIN SELECT v_id_type_error_bad_data , v_code_type_error_bad_data - , CONCAT('The following Dog Assessment_Command_Modality_Command Assessment_Command_Modality_Link(s) do not have a valid Assessment_Command_Modality_Command: ', GROUP_CONCAT(t_ASSESSMENT_COMMAND_MODALITY_LINK.name_error SEPARATOR ', ')) AS msg + , CONCAT('The following Dog Assessment Command Modality Link(s) do not have a valid Command: ', GROUP_CONCAT(t_ASSESSMENT_COMMAND_MODALITY_LINK.name_error SEPARATOR ', ')) AS msg FROM tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK - LEFT JOIN parts.DOG_Assessment_Command_Modality_Command ASSESSMENT_COMMAND_MODALITY_COMMAND ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command = ASSESSMENT_COMMAND_MODALITY_COMMAND.id_command + LEFT JOIN demo.DOG_Command COMMAND ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command = COMMAND.id_command WHERE ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command) - OR ISNULL(ASSESSMENT_COMMAND_MODALITY_COMMAND.id_command) - OR ASSESSMENT_COMMAND_MODALITY_COMMAND.active = 0 + OR ISNULL(COMMAND.id_command) + OR COMMAND.active = 0 ; END IF; -- id_command_modality IF EXISTS ( SELECT * FROM tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK - LEFT JOIN demo.DOG_Assessment_Command_Modality_Link_Intensity_Level ASSESSMENT_COMMAND_MODALITY_LINK_COMMAND_MODALITY ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality = ASSESSMENT_COMMAND_MODALITY_LINK_COMMAND_MODALITY.id_command_modality + LEFT JOIN demo.DOG_Command_Modality COMMAND_MODALITY ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality = COMMAND_MODALITY.id_command_modality WHERE ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality) - OR ISNULL(ASSESSMENT_COMMAND_MODALITY_LINK_COMMAND_MODALITY.id_command_modality) - OR ASSESSMENT_COMMAND_MODALITY_LINK_COMMAND_MODALITY.active = 0 + OR ISNULL(COMMAND_MODALITY.id_command_modality) + OR COMMAND_MODALITY.active = 0 ) THEN INSERT INTO tmp_Msg_Error ( id_type @@ -298,24 +322,24 @@ BEGIN SELECT v_id_type_error_bad_data , v_code_type_error_bad_data - , CONCAT('The following Assessment_Command_Modality_Link(s) do not have a valid Assessment_Command_Modality_Link_Command_Modality: ', GROUP_CONCAT(t_ASSESSMENT_COMMAND_MODALITY_LINK.name_error SEPARATOR ', ')) AS msg + , CONCAT('The following Dog Assessment Command Modality Link(s) do not have a valid Command Modality: ', GROUP_CONCAT(t_ASSESSMENT_COMMAND_MODALITY_LINK.name_error SEPARATOR ', ')) AS msg FROM tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK - LEFT JOIN parts.DOG_Assessment_Command_Modality_Link_Intensity_Level ASSESSMENT_COMMAND_MODALITY_LINK_COMMAND_MODALITY ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality = ASSESSMENT_COMMAND_MODALITY_LINK_COMMAND_MODALITY.id_command_modality + LEFT JOIN parts.DOG_Command_Modality COMMAND_MODALITY ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality = COMMAND_MODALITY.id_command_modality WHERE ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality) - OR ISNULL(ASSESSMENT_COMMAND_MODALITY_LINK_COMMAND_MODALITY.id_command_modality) - OR ASSESSMENT_COMMAND_MODALITY_LINK_COMMAND_MODALITY.active = 0 + OR ISNULL(COMMAND_MODALITY.id_command_modality) + OR COMMAND_MODALITY.active = 0 ; END IF; -- id_bribe IF EXISTS ( SELECT * FROM tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK - LEFT JOIN demo.DOG_Assessment_Command_Modality_Link_Intensity_Level ASSESSMENT_COMMAND_MODALITY_LINK_BRIBE ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe = ASSESSMENT_COMMAND_MODALITY_LINK_BRIBE.id_intensity_level + LEFT JOIN demo.DOG_Bribe BRIBE ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe = BRIBE.id_bribe WHERE ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe) - OR ISNULL(ASSESSMENT_COMMAND_MODALITY_LINK_BRIBE.id_bribe) - OR ASSESSMENT_COMMAND_MODALITY_LINK_BRIBE.active = 0 + OR ISNULL(BRIBE.id_bribe) + OR BRIBE.active = 0 ) THEN INSERT INTO tmp_Msg_Error ( id_type @@ -325,24 +349,20 @@ BEGIN SELECT v_id_type_error_bad_data , v_code_type_error_bad_data - , CONCAT('The following Assessment_Command_Modality_Link(s) do not have a valid Intensity Level Scent: ', GROUP_CONCAT(t_ASSESSMENT_COMMAND_MODALITY_LINK.name_error SEPARATOR ', ')) AS msg + , CONCAT('The following Dog Assessment Command Modality Link(s) do not have a valid Bribe: ', GROUP_CONCAT(t_ASSESSMENT_COMMAND_MODALITY_LINK.name_error SEPARATOR ', ')) AS msg FROM tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK - LEFT JOIN parts.DOG_Assessment_Command_Modality_Link_Intensity_Level ASSESSMENT_COMMAND_MODALITY_LINK_BRIBE ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe = ASSESSMENT_COMMAND_MODALITY_LINK_BRIBE.id_intensity_level + LEFT JOIN demo.DOG_Bribe BRIBE ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe = BRIBE.id_bribe WHERE ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe) - OR ISNULL(ASSESSMENT_COMMAND_MODALITY_LINK_BRIBE.id_bribe) - OR ASSESSMENT_COMMAND_MODALITY_LINK_BRIBE.active = 0 + OR ISNULL(BRIBE.id_bribe) + OR BRIBE.active = 0 ; END IF; - -- id_distance_from_handler + -- distance_from_handler_metres IF EXISTS ( SELECT * FROM tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK - LEFT JOIN demo.DOG_Assessment_Command_Modality_Link_Intensity_Level ASSESSMENT_COMMAND_MODALITY_LINK_DISTANCE_FROM_HANDLER ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_distance_from_handler = ASSESSMENT_COMMAND_MODALITY_LINK_DISTANCE_FROM_HANDLER.id_intensity_level - WHERE - ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_distance_from_handler) - OR ISNULL(ASSESSMENT_COMMAND_MODALITY_LINK_DISTANCE_FROM_HANDLER.id_distance_from_handler) - OR ASSESSMENT_COMMAND_MODALITY_LINK_DISTANCE_FROM_HANDLER.active = 0 + WHERE IFNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres, -1) < 0 ) THEN INSERT INTO tmp_Msg_Error ( id_type @@ -352,67 +372,9 @@ BEGIN SELECT v_id_type_error_bad_data , v_code_type_error_bad_data - , CONCAT('The following Assessment_Command_Modality_Link(s) do not have a valid Intensity Level Sight: ', GROUP_CONCAT(t_ASSESSMENT_COMMAND_MODALITY_LINK.name_error SEPARATOR ', ')) AS msg + , CONCAT('The following Assessment_Command_Modality_Link(s) do not have a valid Distance From Handler: ', GROUP_CONCAT(t_ASSESSMENT_COMMAND_MODALITY_LINK.name_error SEPARATOR ', ')) AS msg FROM tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK - LEFT JOIN parts.DOG_Assessment_Command_Modality_Link_Intensity_Level ASSESSMENT_COMMAND_MODALITY_LINK_DISTANCE_FROM_HANDLER ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_distance_from_handler = ASSESSMENT_COMMAND_MODALITY_LINK_DISTANCE_FROM_HANDLER.id_intensity_level - WHERE - ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_distance_from_handler) - OR ISNULL(ASSESSMENT_COMMAND_MODALITY_LINK_DISTANCE_FROM_HANDLER.id_distance_from_handler) - OR ASSESSMENT_COMMAND_MODALITY_LINK_DISTANCE_FROM_HANDLER.active = 0 - ; - END IF; - -- id_is_in_sight_of_handler - IF EXISTS ( - SELECT * - FROM tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK - LEFT JOIN demo.DOG_Assessment_Command_Modality_Link_Intensity_Level ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SIGHT_OF_HANDLER ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_sight_of_handler = ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SIGHT_OF_HANDLER.id_intensity_level - WHERE - ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_sight_of_handler) - OR ISNULL(ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SIGHT_OF_HANDLER.id_is_in_sight_of_handler) - OR ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SIGHT_OF_HANDLER.active = 0 - ) THEN - INSERT INTO tmp_Msg_Error ( - id_type - , code - , msg - ) - SELECT - v_id_type_error_bad_data - , v_code_type_error_bad_data - , CONCAT('The following Assessment_Command_Modality_Link(s) do not have a valid Intensity Level Sound: ', GROUP_CONCAT(t_ASSESSMENT_COMMAND_MODALITY_LINK.name_error SEPARATOR ', ')) AS msg - FROM tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK - LEFT JOIN parts.DOG_Assessment_Command_Modality_Link_Intensity_Level ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SIGHT_OF_HANDLER ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_sight_of_handler = ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SIGHT_OF_HANDLER.id_intensity_level - WHERE - ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_sight_of_handler) - OR ISNULL(ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SIGHT_OF_HANDLER.id_is_in_sight_of_handler) - OR ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SIGHT_OF_HANDLER.active = 0 - ; - END IF; - -- id_is_in_scent_range_of_handler - IF EXISTS ( - SELECT * - FROM tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK - LEFT JOIN demo.DOG_Assessment_Command_Modality_Link_Intensity_Level ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SCENT_RANGE_OF_HANDLER ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_scent_range_of_handler = ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SCENT_RANGE_OF_HANDLER.id_intensity_level - WHERE - ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_scent_range_of_handler) - OR ISNULL(ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SCENT_RANGE_OF_HANDLER.id_is_in_scent_range_of_handler) - OR ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SCENT_RANGE_OF_HANDLER.active = 0 - ) THEN - INSERT INTO tmp_Msg_Error ( - id_type - , code - , msg - ) - SELECT - v_id_type_error_bad_data - , v_code_type_error_bad_data - , CONCAT('The following Assessment_Command_Modality_Link(s) do not have a valid Intensity Level Touch: ', GROUP_CONCAT(t_ASSESSMENT_COMMAND_MODALITY_LINK.name_error SEPARATOR ', ')) AS msg - FROM tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK - LEFT JOIN parts.DOG_Assessment_Command_Modality_Link_Intensity_Level ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SCENT_RANGE_OF_HANDLER ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_scent_range_of_handler = ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SCENT_RANGE_OF_HANDLER.id_intensity_level - WHERE - ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_scent_range_of_handler) - OR ISNULL(ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SCENT_RANGE_OF_HANDLER.id_is_in_scent_range_of_handler) - OR ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SCENT_RANGE_OF_HANDLER.active = 0 + WHERE IFNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres, -1) < 0 ; END IF; @@ -502,42 +464,44 @@ BEGIN , ASSESSMENT_COMMAND_MODALITY_LINK.id_command = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command , ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality , ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe - , ASSESSMENT_COMMAND_MODALITY_LINK.id_distance_from_handler = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_distance_from_handler - , ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_sight_of_handler = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_sight_of_handler - , ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_scent_range_of_handler = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_scent_range_of_handler + , ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres = t_ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres + , ASSESSMENT_COMMAND_MODALITY_LINK.is_in_sight_of_handler = t_ASSESSMENT_COMMAND_MODALITY_LINK.is_in_sight_of_handler + , ASSESSMENT_COMMAND_MODALITY_LINK.is_in_scent_range_of_handler = t_ASSESSMENT_COMMAND_MODALITY_LINK.is_in_scent_range_of_handler , ASSESSMENT_COMMAND_MODALITY_LINK.is_in_hearing_range_of_handler = t_ASSESSMENT_COMMAND_MODALITY_LINK.is_in_hearing_range_of_handler , ASSESSMENT_COMMAND_MODALITY_LINK.is_on_lead = t_ASSESSMENT_COMMAND_MODALITY_LINK.is_on_lead - , ASSESSMENT_COMMAND_MODALITY_LINK.trial_count = t_ASSESSMENT_COMMAND_MODALITY_LINK.trial_count + -- , ASSESSMENT_COMMAND_MODALITY_LINK.trial_count = t_ASSESSMENT_COMMAND_MODALITY_LINK.trial_count , ASSESSMENT_COMMAND_MODALITY_LINK.active = t_ASSESSMENT_COMMAND_MODALITY_LINK.active , ASSESSMENT_COMMAND_MODALITY_LINK.id_change_set = v_id_change_set ; INSERT INTO parts.DOG_Assessment_Command_Modality_Link ( - id_assessment + id_temp + , id_assessment , id_command , id_command_modality , id_bribe - , id_distance_from_handler - , id_is_in_sight_of_handler - , id_is_in_scent_range_of_handler + , distance_from_handler_metres + , is_in_sight_of_handler + , is_in_scent_range_of_handler , is_in_hearing_range_of_handler , is_on_lead - , trial_count + -- , trial_count , active , id_user_created_by , created_on ) SELECT - t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment AS id_assessment + t_ASSESSMENT_COMMAND_MODALITY_LINK.id_temp + , t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment AS id_assessment , t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command AS id_command , t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality AS id_command_modality , t_ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe AS id_bribe - , t_ASSESSMENT_COMMAND_MODALITY_LINK.id_distance_from_handler AS id_distance_from_handler - , t_ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_sight_of_handler AS id_is_in_sight_of_handler - , t_ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_scent_range_of_handler AS id_is_in_scent_range_of_handler + , t_ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres AS distance_from_handler_metres + , t_ASSESSMENT_COMMAND_MODALITY_LINK.is_in_sight_of_handler AS is_in_sight_of_handler + , t_ASSESSMENT_COMMAND_MODALITY_LINK.is_in_scent_range_of_handler AS is_in_scent_range_of_handler , t_ASSESSMENT_COMMAND_MODALITY_LINK.is_in_hearing_range_of_handler AS is_in_hearing_range_of_handler , t_ASSESSMENT_COMMAND_MODALITY_LINK.is_on_lead AS is_on_lead - , t_ASSESSMENT_COMMAND_MODALITY_LINK.trial_count AS trial_count + -- , t_ASSESSMENT_COMMAND_MODALITY_LINK.trial_count AS trial_count , t_ASSESSMENT_COMMAND_MODALITY_LINK.active AS active , a_id_user AS created_by , v_time_start AS created_on @@ -546,6 +510,20 @@ BEGIN t_ASSESSMENT_COMMAND_MODALITY_LINK.is_new = 1 AND t_ASSESSMENT_COMMAND_MODALITY_LINK.active = 1 ; + + INSERT INTO parts.DOG_Msg_Error_Temp ( + id_type + , code + , msg + , guid + ) + SELECT + t_ERROR.id_type + , t_ERROR.code + , t_ERROR.msg + , a_guid + FROM tmp_Msg_Error t_ERROR + ; COMMIT; END IF; @@ -590,7 +568,7 @@ DELIMITER ; /* -'ripplesipplenippletippledipplekipple' +'ripplesipplenippletippledipplykipple' DELETE FROM parts.DOG_Assessment_Command_Modality_Link WHERE id_link > 740; * / delete @@ -625,26 +603,37 @@ from parts.DOG_Assessment_Command_Modality_Link INSERT INTO parts.DOG_Assessment_Command_Modality_Link_Temp ( id_link - , id_dog + , id_assessment , id_command - , hand_signal_description - , trial_count + , id_command_modality + , id_bribe + , distance_from_handler_metres + , is_in_sight_of_handler + , is_in_scent_range_of_handler + , is_in_hearing_range_of_handler + , is_on_lead , active , guid ) VALUES ( -1 -- id_link - , 1 -- id_dog + , 1 -- id_assessment , 1 -- id_command - , 'Test deez noots' -- hand_signal_description - , NULL -- trial_count + , 1 -- id_command_modality + , 1 -- id_bribe + , 15 -- distance_from_handler_metres + , 1 -- is_in_sight_of_handler + , 0 -- is_in_scent_range_of_handler + , 0 -- is_in_hearing_range_of_handler + , 0 -- is_on_lead + -- , NULL -- trial_count , 1 -- active - , 'ripplesipplenippletippledipplekipple' + , 'ripplesipplenippletippledipplykipple' ); CALL parts.p_dog_save_assessment_command_modality_link ( 'nipples' - , 'ripplesipplenippletippledipplekipple' + , 'ripplesipplenippletippledipplykipple' , 1 , 1 ); diff --git a/static/MySQL/71332_p_dog_calc_response_quality_metric.sql b/static/MySQL/71332_p_dog_calc_response_quality_metric.sql index 98a9641..470925c 100644 --- a/static/MySQL/71332_p_dog_calc_response_quality_metric.sql +++ b/static/MySQL/71332_p_dog_calc_response_quality_metric.sql @@ -45,7 +45,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_RQM ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); @@ -146,20 +146,20 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_RQM ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_RQM ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Id_Calc_RQM; CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_RQM ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Name_Calc_RQM; diff --git a/static/MySQL/71332_p_dog_get_many_response_quality_metric.sql b/static/MySQL/71332_p_dog_get_many_response_quality_metric.sql index b60d758..3cc4392 100644 --- a/static/MySQL/71332_p_dog_get_many_response_quality_metric.sql +++ b/static/MySQL/71332_p_dog_get_many_response_quality_metric.sql @@ -40,7 +40,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); @@ -137,7 +137,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); diff --git a/static/MySQL/71336_p_dog_calc_obedience_level.sql b/static/MySQL/71336_p_dog_calc_obedience_level.sql index a33db59..5e2411e 100644 --- a/static/MySQL/71336_p_dog_calc_obedience_level.sql +++ b/static/MySQL/71336_p_dog_calc_obedience_level.sql @@ -43,7 +43,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Obedience_Level ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); @@ -138,20 +138,20 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Obedience_Level ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Obedience_Level ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Id_Calc_Obedience_Level; CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Obedience_Level ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Name_Calc_Obedience_Level; diff --git a/static/MySQL/71336_p_dog_get_many_obedience_level.sql b/static/MySQL/71336_p_dog_get_many_obedience_level.sql index e50d8c4..11e1a87 100644 --- a/static/MySQL/71336_p_dog_get_many_obedience_level.sql +++ b/static/MySQL/71336_p_dog_get_many_obedience_level.sql @@ -40,7 +40,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); @@ -135,7 +135,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); diff --git a/static/MySQL/71340_p_dog_calc_assessment_response.sql b/static/MySQL/71340_p_dog_calc_assessment_response.sql index 5d96f88..b47ecd9 100644 --- a/static/MySQL/71340_p_dog_calc_assessment_response.sql +++ b/static/MySQL/71340_p_dog_calc_assessment_response.sql @@ -17,8 +17,8 @@ CREATE PROCEDURE parts.p_dog_calc_assessment_response ( , IN a_get_all_ACM_link BIT , IN a_get_inactive_ACM_link BIT , IN a_ids_ACM_link TEXT - , IN a_min_distance_from_handler_ACM_link FLOAT - , IN a_max_distance_from_handler_ACM_link FLOAT + , IN a_min_distance_from_handler_metres_ACM_link FLOAT + , IN a_max_distance_from_handler_metres_ACM_link FLOAT , IN a_value_is_in_sight_of_handler_ACM_link INT , IN a_value_is_in_scent_range_of_handler_ACM_link INT , IN a_value_is_in_hearing_range_of_handler_ACM_link INT @@ -112,7 +112,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Assessment_Response ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); @@ -189,8 +189,8 @@ BEGIN , a_get_all_ACM_link , a_get_inactive_ACM_link , a_ids_ACM_link - , a_min_distance_from_handler_ACM_link - , a_max_distance_from_handler_ACM_link + , a_min_distance_from_handler_metres_ACM_link + , a_max_distance_from_handler_metres_ACM_link , a_value_is_in_sight_of_handler_ACM_link , a_value_is_in_scent_range_of_handler_ACM_link , a_value_is_in_hearing_range_of_handler_ACM_link @@ -280,7 +280,7 @@ BEGIN , id_command INT , id_command_modality INT , id_bribe INT - , distance_from_handler FLOAT + , distance_from_handler_metres FLOAT , is_in_sight_of_handler BIT , is_in_scent_range_of_handler BIT , is_in_hearing_range_of_handler BIT @@ -326,20 +326,20 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Assessment_Response ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Assessment_Response ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Id_Calc_Assessment_Response; CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Notes_Calc_Assessment_Response ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Notes_Calc_Assessment_Response; @@ -357,8 +357,8 @@ BEGIN , a_get_all_ACM_link , a_get_inactive_ACM_link , a_ids_ACM_link - , a_min_distance_from_handler_ACM_link - , a_max_distance_from_handler_ACM_link + , a_min_distance_from_handler_metres_ACM_link + , a_max_distance_from_handler_metres_ACM_link , a_value_is_in_sight_of_handler_ACM_link , a_value_is_in_scent_range_of_handler_ACM_link , a_value_is_in_hearing_range_of_handler_ACM_link @@ -427,8 +427,8 @@ BEGIN , a_get_all_ACM_link , a_get_inactive_ACM_link , a_ids_ACM_link - , a_min_distance_from_handler_ACM_link - , a_max_distance_from_handler_ACM_link + , a_min_distance_from_handler_metres_ACM_link + , a_max_distance_from_handler_metres_ACM_link , a_value_is_in_sight_of_handler_ACM_link , a_value_is_in_scent_range_of_handler_ACM_link , a_value_is_in_hearing_range_of_handler_ACM_link @@ -496,7 +496,7 @@ BEGIN , id_command , id_command_modality , id_bribe - , distance_from_handler + , distance_from_handler_metres , is_in_sight_of_handler , is_in_scent_range_of_handler , is_in_hearing_range_of_handler @@ -512,7 +512,7 @@ BEGIN , ASSESSMENT_COMMAND_MODALITY_LINK_T.id_command , ASSESSMENT_COMMAND_MODALITY_LINK_T.id_command_modality , ASSESSMENT_COMMAND_MODALITY_LINK_T.id_bribe - , ASSESSMENT_COMMAND_MODALITY_LINK_T.distance_from_handler + , ASSESSMENT_COMMAND_MODALITY_LINK_T.distance_from_handler_metres , ASSESSMENT_COMMAND_MODALITY_LINK_T.is_in_sight_of_handler , ASSESSMENT_COMMAND_MODALITY_LINK_T.is_in_scent_range_of_handler , ASSESSMENT_COMMAND_MODALITY_LINK_T.is_in_hearing_range_of_handler @@ -1201,8 +1201,8 @@ CALL parts.p_dog_calc_assessment_response ( , 1 -- a_get_all_ACM_link , 0 -- a_get_inactive_ACM_link , '' -- a_ids_ACM_link - , NULL -- a_min_distance_from_handler_ACM_link - , NULL -- a_max_distance_from_handler_ACM_link + , NULL -- a_min_distance_from_handler_metres_ACM_link + , NULL -- a_max_distance_from_handler_metres_ACM_link , NULL -- a_value_is_in_sight_of_handler_ACM_link , NULL -- a_value_is_in_scent_range_of_handler_ACM_link , NULL -- a_value_is_in_hearing_range_of_handler_ACM_link diff --git a/static/MySQL/71340_p_dog_get_many_assessment_response.sql b/static/MySQL/71340_p_dog_get_many_assessment_response.sql index 92e055e..6e1bc80 100644 --- a/static/MySQL/71340_p_dog_get_many_assessment_response.sql +++ b/static/MySQL/71340_p_dog_get_many_assessment_response.sql @@ -16,8 +16,8 @@ CREATE PROCEDURE parts.p_dog_get_many_assessment_response ( , IN a_get_all_ACM_link BIT , IN a_get_inactive_ACM_link BIT , IN a_ids_ACM_link TEXT - , IN a_min_distance_from_handler_ACM_link FLOAT - , IN a_max_distance_from_handler_ACM_link FLOAT + , IN a_min_distance_from_handler_metres_ACM_link FLOAT + , IN a_max_distance_from_handler_metres_ACM_link FLOAT , IN a_value_is_in_sight_of_handler_ACM_link INT , IN a_value_is_in_scent_range_of_handler_ACM_link INT , IN a_value_is_in_hearing_range_of_handler_ACM_link INT @@ -107,7 +107,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); @@ -171,8 +171,8 @@ BEGIN , a_get_all_ACM_link , a_get_inactive_ACM_link , a_ids_ACM_link - , a_min_distance_from_handler_ACM_link - , a_max_distance_from_handler_ACM_link + , a_min_distance_from_handler_metres_ACM_link + , a_max_distance_from_handler_metres_ACM_link , a_value_is_in_sight_of_handler_ACM_link , a_value_is_in_scent_range_of_handler_ACM_link , a_value_is_in_hearing_range_of_handler_ACM_link @@ -266,7 +266,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); @@ -366,8 +366,8 @@ BEGIN , a_get_all_ACM_link , a_get_inactive_ACM_link , a_ids_ACM_link - , a_min_distance_from_handler_ACM_link - , a_max_distance_from_handler_ACM_link + , a_min_distance_from_handler_metres_ACM_link + , a_max_distance_from_handler_metres_ACM_link , a_value_is_in_sight_of_handler_ACM_link , a_value_is_in_scent_range_of_handler_ACM_link , a_value_is_in_hearing_range_of_handler_ACM_link @@ -450,8 +450,8 @@ BEGIN , a_get_all_ACM_link , a_get_inactive_ACM_link , a_ids_ACM_link - , a_min_distance_from_handler_ACM_link - , a_max_distance_from_handler_ACM_link + , a_min_distance_from_handler_metres_ACM_link + , a_max_distance_from_handler_metres_ACM_link , a_value_is_in_sight_of_handler_ACM_link , a_value_is_in_scent_range_of_handler_ACM_link , a_value_is_in_hearing_range_of_handler_ACM_link @@ -638,8 +638,8 @@ CALL parts.p_dog_get_many_assessment_response ( , 1 -- a_get_all_ACM_link , 0 -- a_get_inactive_ACM_link , '' -- a_ids_ACM_link - , NULL -- a_min_distance_from_handler_ACM_link - , NULL -- a_max_distance_from_handler_ACM_link + , NULL -- a_min_distance_from_handler_metres_ACM_link + , NULL -- a_max_distance_from_handler_metres_ACM_link , NULL -- a_value_is_in_sight_of_handler_ACM_link , NULL -- a_value_is_in_scent_range_of_handler_ACM_link , NULL -- a_value_is_in_hearing_range_of_handler_ACM_link diff --git a/static/MySQL/71342_p_dog_save_assessment_response.sql b/static/MySQL/71342_p_dog_save_assessment_response.sql new file mode 100644 index 0000000..5a3e59d --- /dev/null +++ b/static/MySQL/71342_p_dog_save_assessment_response.sql @@ -0,0 +1,540 @@ + +USE parts; + +DROP PROCEDURE IF EXISTS parts.p_dog_save_assessment_response; + +DELIMITER // +CREATE PROCEDURE parts.p_dog_save_assessment_response ( + IN a_comment VARCHAR(500), + IN a_guid BINARY(36), + IN a_id_user INT, + IN a_debug BIT +) +BEGIN + DECLARE v_can_admin BIT; + DECLARE v_can_create BIT; + DECLARE v_code_type_error_bad_data VARCHAR(100); + DECLARE v_id_access_level_edit INT; + DECLARE v_id_change_set INT; + DECLARE v_id_permission_dog_new INT; + DECLARE v_id_type_error_bad_data INT; + DECLARE v_time_start TIMESTAMP(6); + + DECLARE exit handler for SQLEXCEPTION + BEGIN + GET DIAGNOSTICS CONDITION 1 + @sqlstate = RETURNED_SQLSTATE + , @errno = MYSQL_ERRNO + , @text = MESSAGE_TEXT + ; + + ROLLBACK; + + CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( + id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT + , id_type INT + , code VARCHAR(250) + , msg TEXT NOT NULL + ); + + INSERT INTO tmp_Msg_Error ( + id_type + , code + , msg + ) + SELECT + MET.id_type + , @errno + , @text + FROM parts.CORE_Msg_Error_Type MET + WHERE MET.code = 'MYSQL_ERROR' + ; + + SELECT + t_ERROR.id_error + , t_ERROR.id_type + , t_ERROR.code + , ERROR_TYPE.name + , ERROR_TYPE.description + , ERROR_TYPE.is_breaking_error + , ERROR_TYPE.background_colour + , ERROR_TYPE.text_colour + , t_ERROR.msg + FROM tmp_Msg_Error t_ERROR + INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + ; + + START TRANSACTION; + INSERT INTO parts.DOG_Msg_Error_Temp ( + id_type + , code + , msg + , guid + ) + SELECT + t_ERROR.id_type + , t_ERROR.code + , t_ERROR.msg + , a_guid + FROM tmp_Msg_Error t_ERROR + ; + COMMIT; + + DROP TABLE IF EXISTS tmp_Msg_Error; + END; + + SET SESSION group_concat_max_len=15000; + + SET v_time_start := CURRENT_TIMESTAMP(6); + SET v_code_type_error_bad_data := 'BAD_DATA'; + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_permission_dog_new := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_CREATE' LIMIT 1); + SET v_id_access_level_edit := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'EDIT' LIMIT 1); + + CALL parts.p_core_validate_guid ( a_guid ); + + DROP TABLE IF EXISTS tmp_Assessment_Response_Copy; + DROP TABLE IF EXISTS tmp_Assessment_Response; + + CREATE TEMPORARY TABLE tmp_Assessment_Response ( + id_temp INT + , id_response INT + , id_assessment_command_modality_link INT + , id_response_quality_metric INT + , id_obedience_level INT + , value_measured DOUBLE + , notes TEXT + , active BIT + , is_new BIT + , name_error VARCHAR(250) + ); + + CREATE TEMPORARY TABLE tmp_Assessment_Response_Copy ( + id_temp INT + , id_response INT + , id_assessment_command_modality_link INT + , id_response_quality_metric INT + , id_obedience_level INT + , value_measured DOUBLE + , notes TEXT + , active BIT + , is_new BIT + , name_error VARCHAR(250) + ); + + CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( + id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT + , id_type INT + , code VARCHAR(250) + , msg TEXT NOT NULL + ); + + + -- Get data from Temp table + INSERT INTO tmp_Assessment_Response ( + id_temp + , id_response + , id_assessment_command_modality_link + , id_response_quality_metric + , id_obedience_level + , value_measured + , notes + , active + , is_new + ) + SELECT + ASSESSMENT_RESPONSE_T.id_temp + , ASSESSMENT_RESPONSE_T.id_response + , COALESCE( + ASSESSMENT_RESPONSE_T.id_assessment_command_modality_link + , ASSESSMENT_RESPONSE.id_assessment_command_modality_link + ) AS id_assessment_command_modality_link + , COALESCE( + ASSESSMENT_RESPONSE_T.id_response_quality_metric + , ASSESSMENT_RESPONSE.id_response_quality_metric + ) AS id_response_quality_metric + , COALESCE( + ASSESSMENT_RESPONSE_T.id_obedience_level + , ASSESSMENT_RESPONSE.id_obedience_level + ) AS id_obedience_level + , ASSESSMENT_RESPONSE_T.value_measured + , ASSESSMENT_RESPONSE_T.notes + , COALESCE( + ASSESSMENT_RESPONSE_T.active + , ASSESSMENT_RESPONSE.active + , 1 + ) AS active + , CASE WHEN COALESCE(ASSESSMENT_RESPONSE_T.id_response, 0) < 1 THEN 1 ELSE 0 END AS is_new + FROM parts.DOG_Assessment_Response_Temp ASSESSMENT_RESPONSE_T + LEFT JOIN parts.DOG_Assessment_Response ASSESSMENT_RESPONSE ON ASSESSMENT_RESPONSE_T.id_response = ASSESSMENT_RESPONSE.id_response + WHERE ASSESSMENT_RESPONSE_T.guid = a_guid + ; + + IF a_debug = 1 THEN + SELECT 'Assessment_Response_Temp records'; + SELECT * FROM tmp_Assessment_Response; + SELECT COUNT(*) FROM tmp_Assessment_Response; + END IF; + + -- Error names + UPDATE tmp_Assessment_Response t_ASSESSMENT_RESPONSE + LEFT JOIN parts.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK ON t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link = ASSESSMENT_COMMAND_MODALITY_LINK.id_link + LEFT JOIN parts.DOG_Response_Quality_Metric RESPONSE_QUALITY_METRIC ON t_ASSESSMENT_RESPONSE.id_response_quality_metric = RESPONSE_QUALITY_METRIC.id_metric + LEFT JOIN parts.DOG_Obedience_Level OBEDIENCE_LEVEL ON t_ASSESSMENT_RESPONSE.id_obedience_level = OBEDIENCE_LEVEL.id_obedience_level + SET t_ASSESSMENT_RESPONSE.name_error = CONCAT( + COALESCE(CONVERT(ASSESSMENT_COMMAND_MODALITY_LINK.created_on, CHAR), '(No Assessment Command Modality Link)') + , ' - ' + , COALESCE(RESPONSE_QUALITY_METRIC.name, '(No Response Quality Metric)') + , ' - ' + , COALESCE(OBEDIENCE_LEVEL.name, '(No Obedience Level)') + ) + ; + + IF a_debug = 1 THEN + SELECT 'After set name_error'; + SELECT * FROM tmp_Assessment_Response; + SELECT COUNT(*) FROM tmp_Assessment_Response; + END IF; + + + -- Validation + -- Missing mandatory fields + -- id_assessment_command_modality_link + IF EXISTS ( + SELECT * + FROM tmp_Assessment_Response t_ASSESSMENT_RESPONSE + LEFT JOIN demo.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK ON t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link = ASSESSMENT_COMMAND_MODALITY_LINK.id_link + WHERE + ISNULL(t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link) + OR ISNULL(ASSESSMENT_COMMAND_MODALITY_LINK.id_link) + OR ASSESSMENT_COMMAND_MODALITY_LINK.active = 0 + ) THEN + INSERT INTO tmp_Msg_Error ( + id_type + , code + , msg + ) + SELECT + v_id_type_error_bad_data + , v_code_type_error_bad_data + , CONCAT('The following Dog Assessment Response(s) do not have a valid Assessment_Command_Modality_Link: ', GROUP_CONCAT(t_ASSESSMENT_RESPONSE.name_error SEPARATOR ', ')) AS msg + FROM tmp_Assessment_Response t_ASSESSMENT_RESPONSE + LEFT JOIN parts.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK ON t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link = ASSESSMENT_COMMAND_MODALITY_LINK.id_link + WHERE + ISNULL(t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link) + OR ISNULL(ASSESSMENT_COMMAND_MODALITY_LINK.id_link) + OR ASSESSMENT_COMMAND_MODALITY_LINK.active = 0 + ; + END IF; + -- id_response_quality_metric + IF EXISTS ( + SELECT * + FROM tmp_Assessment_Response t_ASSESSMENT_RESPONSE + LEFT JOIN demo.DOG_Response_Quality_Metric RESPONSE_QUALITY_METRIC ON t_ASSESSMENT_RESPONSE.id_response_quality_metric = RESPONSE_QUALITY_METRIC.id_metric + WHERE + ISNULL(t_ASSESSMENT_RESPONSE.id_response_quality_metric) + OR ISNULL(RESPONSE_QUALITY_METRIC.id_metric) + OR RESPONSE_QUALITY_METRIC.active = 0 + ) THEN + INSERT INTO tmp_Msg_Error ( + id_type + , code + , msg + ) + SELECT + v_id_type_error_bad_data + , v_code_type_error_bad_data + , CONCAT('The following Dog Assessment Response(s) do not have a valid Response_Quality_Metric: ', GROUP_CONCAT(t_ASSESSMENT_RESPONSE.name_error SEPARATOR ', ')) AS msg + FROM tmp_Assessment_Response t_ASSESSMENT_RESPONSE + LEFT JOIN demo.DOG_Response_Quality_Metric RESPONSE_QUALITY_METRIC ON t_ASSESSMENT_RESPONSE.id_response_quality_metric = RESPONSE_QUALITY_METRIC.id_metric + WHERE + ISNULL(t_ASSESSMENT_RESPONSE.id_response_quality_metric) + OR ISNULL(RESPONSE_QUALITY_METRIC.id_metric) + OR RESPONSE_QUALITY_METRIC.active = 0 + ; + END IF; + -- id_obedience_level + IF EXISTS ( + SELECT * + FROM tmp_Assessment_Response t_ASSESSMENT_RESPONSE + LEFT JOIN demo.DOG_Obedience_Level OBEDIENCE_LEVEL ON t_ASSESSMENT_RESPONSE.id_obedience_level = OBEDIENCE_LEVEL.id_obedience_level + WHERE + ISNULL(t_ASSESSMENT_RESPONSE.id_obedience_level) + OR ISNULL(OBEDIENCE_LEVEL.id_obedience_level) + OR OBEDIENCE_LEVEL.active = 0 + ) THEN + INSERT INTO tmp_Msg_Error ( + id_type + , code + , msg + ) + SELECT + v_id_type_error_bad_data + , v_code_type_error_bad_data + , CONCAT('The following Dog Assessment Response(s) do not have a valid Obedience Level: ', GROUP_CONCAT(t_ASSESSMENT_RESPONSE.name_error SEPARATOR ', ')) AS msg + FROM tmp_Assessment_Response t_ASSESSMENT_RESPONSE + LEFT JOIN parts.DOG_Obedience_Level OBEDIENCE_LEVEL ON t_ASSESSMENT_RESPONSE.id_obedience_level = OBEDIENCE_LEVEL.id_obedience_level + WHERE + ISNULL(t_ASSESSMENT_RESPONSE.id_obedience_level) + OR ISNULL(OBEDIENCE_LEVEL.id_obedience_level) + OR OBEDIENCE_LEVEL.active = 0 + ; + END IF; + + -- Permissions + -- Can Create + CALL parts.p_dog_calc_user( + a_guid + , 0 -- get_all_user + , 0 -- get_inactive_user + , a_id_user -- ids_user + , '' -- a_auth0_ids_user + , '' -- a_names_user + , '' -- a_emails_user + , 1 -- a_require_all_id_search_filters_met + , 1 -- a_require_any_id_search_filters_met + , 0 -- a_require_all_non_id_search_filters_met + , 0 -- a_require_any_non_id_search_filters_met + , v_id_permission_dog_new -- ids_permission + , v_id_access_level_edit -- ids_access_level + , 0 -- a_show_errors + , 0 -- a_debug + ); + + SELECT + IFNULL(CU_T.has_access, 0) + INTO + v_can_create + FROM parts.DOG_Calc_User_Temp CU_T + WHERE CU_T.GUID = a_guid + LIMIT 1 + ; + + CALL parts.p_dog_clear_calc_user( + a_guid + , 0 -- a_debug + ); + + IF v_can_create = 0 THEN + DELETE t_ME + FROM tmp_Msg_Error t_ME + WHERE t_ME.id_type <> v_id_type_error_no_permission + ; + INSERT INTO tmp_Msg_Error ( + id_type + , code + , msg + ) + VALUES ( + v_id_type_error_no_permission + , v_code_type_error_no_permission + , 'You do not have permission to edit Assessment_Responses.' + ) + ; + END IF; + + IF EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF a_debug = 1 THEN + SELECT * from tmp_Assessment_Response; + END IF; + + DELETE FROM tmp_Assessment_Response; + END IF; + + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + START TRANSACTION; + + INSERT INTO parts.DOG_Dog_Change_Set ( + comment + , id_user_updated_last_by + , updated_last_on + ) + VALUES ( + a_comment + , a_id_user + , v_time_start + ) + ; + + SET v_id_change_set := LAST_INSERT_ID(); + + UPDATE parts.DOG_Assessment_Response ASSESSMENT_RESPONSE + INNER JOIN tmp_Assessment_Response t_ASSESSMENT_RESPONSE + ON ASSESSMENT_RESPONSE.id_response = t_ASSESSMENT_RESPONSE.id_response + AND t_ASSESSMENT_RESPONSE.is_new = 0 + SET + ASSESSMENT_RESPONSE.id_assessment_command_modality_link = t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link + , ASSESSMENT_RESPONSE.id_response_quality_metric = t_ASSESSMENT_RESPONSE.id_response_quality_metric + , ASSESSMENT_RESPONSE.id_obedience_level = t_ASSESSMENT_RESPONSE.id_obedience_level + , ASSESSMENT_RESPONSE.value_measured = t_ASSESSMENT_RESPONSE.value_measured + , ASSESSMENT_RESPONSE.notes = t_ASSESSMENT_RESPONSE.notes + , ASSESSMENT_RESPONSE.active = t_ASSESSMENT_RESPONSE.active + , ASSESSMENT_RESPONSE.id_change_set = v_id_change_set + ; + + INSERT INTO parts.DOG_Assessment_Response ( + id_temp + , id_assessment_command_modality_link + , id_response_quality_metric + , id_obedience_level + , value_measured + , notes + , active + , id_user_created_by + , created_on + ) + SELECT + t_ASSESSMENT_RESPONSE.id_temp + , t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link AS id_assessment_command_modality_link + , t_ASSESSMENT_RESPONSE.id_response_quality_metric AS id_response_quality_metric + , t_ASSESSMENT_RESPONSE.id_obedience_level AS id_obedience_level + , t_ASSESSMENT_RESPONSE.value_measured AS value_measured + , t_ASSESSMENT_RESPONSE.notes AS notes + , t_ASSESSMENT_RESPONSE.active AS active + , a_id_user AS created_by + , v_time_start AS created_on + FROM tmp_Assessment_Response t_ASSESSMENT_RESPONSE + WHERE + t_ASSESSMENT_RESPONSE.is_new = 1 + AND t_ASSESSMENT_RESPONSE.active = 1 + ; + + INSERT INTO parts.DOG_Msg_Error_Temp ( + id_type + , code + , msg + , guid + ) + SELECT + t_ERROR.id_type + , t_ERROR.code + , t_ERROR.msg + , a_guid + FROM tmp_Msg_Error t_ERROR + ; + + COMMIT; + END IF; + + START TRANSACTION; + + DELETE FROM parts.DOG_Assessment_Response_Temp + WHERE GUID = a_guid + ; + + COMMIT; + + -- Errors + SELECT + t_ERROR.id_error + , t_ERROR.id_type + , t_ERROR.code + , ERROR_TYPE.name + , ERROR_TYPE.description + , ERROR_TYPE.is_breaking_error + , ERROR_TYPE.background_colour + , ERROR_TYPE.text_colour + , t_ERROR.msg + FROM tmp_Msg_Error t_ERROR + INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + ; + + IF a_debug = 1 THEN + SELECT * FROM tmp_Assessment_Response; + END IF; + + DROP TEMPORARY TABLE tmp_Assessment_Response; + DROP TEMPORARY TABLE tmp_Msg_Error; + + IF a_debug = 1 THEN + CALL parts.p_core_debug_timing_reporting ( v_time_start ); + END IF; +END // +DELIMITER ; + + + +/* + +'ripplesipplenipplytippledipplykipple' +DELETE FROM parts.DOG_Assessment_Response WHERE id_response > 740; +* / +delete +from parts.DOG_Assessment_Response_Audit +where id_response > 768 +; +delete +from parts.DOG_Assessment_Response +where id_response > 768 +; +delete +from parts.DOG_Assessment_Response_Temp +; +select + * + -- COUNT(*) +-- delete +from parts.DOG_Assessment_Response_Temp +; +select COUNT(*) +from parts.DOG_Assessment_Response_Temp +; +select + * + -- COUNT(*) +-- delete +from parts.DOG_Assessment_Response +; +select COUNT(*) +from parts.DOG_Assessment_Response +; + +INSERT INTO parts.DOG_Assessment_Response_Temp ( + id_response + , id_assessment_command_modality_link + , id_response_quality_metric + , id_obedience_level + , value_measured + , notes + , active + , guid +) +VALUES ( + -1 -- id_response + , 1 -- id_assessment_command_modality_link + , 1 -- id_response_quality_metric + , 1 -- id_obedience_level + , 10000 -- value_measured + , 'suck balls' -- notes + , 1 -- active + , 'ripplesipplenipplytippledipplykipple' +); + +CALL parts.p_dog_save_assessment_response ( + 'nipples' + , 'ripplesipplenipplytippledipplykipple' + , 1 + , 1 +); + + +select + * + -- COUNT(*) +-- delete +from parts.DOG_Assessment_Response_Temp +; +select COUNT(*) +from parts.DOG_Assessment_Response_Temp +; +select + * + -- COUNT(*) +-- delete +from parts.DOG_Assessment_Response +; +select COUNT(*) +from parts.DOG_Assessment_Response +; + +*/ \ No newline at end of file diff --git a/static/MySQL/71344_p_dog_save_assessment_distraction_and_response.sql b/static/MySQL/71344_p_dog_save_assessment_distraction_and_response.sql new file mode 100644 index 0000000..649e537 --- /dev/null +++ b/static/MySQL/71344_p_dog_save_assessment_distraction_and_response.sql @@ -0,0 +1,562 @@ + +USE parts; + +DROP PROCEDURE IF EXISTS parts.p_dog_save_assessment_distraction_and_response; + +DELIMITER // +CREATE PROCEDURE parts.p_dog_save_assessment_distraction_and_response ( + IN a_comment VARCHAR(500), + IN a_guid BINARY(36), + IN a_id_user INT, + IN a_debug BIT +) +BEGIN + DECLARE v_can_admin BIT; + DECLARE v_can_create BIT; + DECLARE v_code_type_error_bad_data VARCHAR(100); + DECLARE v_id_access_level_edit INT; + DECLARE v_id_change_set INT; + DECLARE v_id_permission_dog_new INT; + DECLARE v_id_type_error_bad_data INT; + DECLARE v_time_start TIMESTAMP(6); + + DECLARE exit handler for SQLEXCEPTION + BEGIN + GET DIAGNOSTICS CONDITION 1 + @sqlstate = RETURNED_SQLSTATE + , @errno = MYSQL_ERRNO + , @text = MESSAGE_TEXT + ; + + ROLLBACK; + + CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Combined ( + id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT + , id_type INT + , code VARCHAR(250) + , msg TEXT NOT NULL + ); + + INSERT INTO tmp_Msg_Error_Combined ( + id_type + , code + , msg + ) + SELECT + MET.id_type + , @errno + , @text + FROM parts.CORE_Msg_Error_Type MET + WHERE MET.code = 'MYSQL_ERROR' + ; + + SELECT + t_ERROR.id_error + , t_ERROR.id_type + , t_ERROR.code + , ERROR_TYPE.name + , ERROR_TYPE.description + , ERROR_TYPE.is_breaking_error + , ERROR_TYPE.background_colour + , ERROR_TYPE.text_colour + , t_ERROR.msg + FROM tmp_Msg_Error_Combined t_ERROR + INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + ; + + DROP TABLE IF EXISTS tmp_Msg_Error_Combined; + END; + + SET SESSION group_concat_max_len=15000; + + SET v_time_start := CURRENT_TIMESTAMP(6); + SET v_code_type_error_bad_data := 'BAD_DATA'; + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_permission_dog_new := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_CREATE' LIMIT 1); + SET v_id_access_level_edit := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'EDIT' LIMIT 1); + + CALL parts.p_core_validate_guid ( a_guid ); + + DROP TABLE IF EXISTS tmp_Assessment_Response_Save_ADR; + DROP TABLE IF EXISTS tmp_Assessment_Command_Modality_Link_Save_ADR; + DROP TABLE IF EXISTS tmp_Distraction_Save_ADR; + DROP TABLE IF EXISTS tmp_Assessment_Save_ADR; + + CREATE TEMPORARY TABLE tmp_Assessment_Save_ADR ( + id_temp INT + , id_assessment INT + , id_assessment_old INT + , active BIT + , is_new BIT + ); + + CREATE TEMPORARY TABLE tmp_Distraction_Save_ADR ( + id_temp INT + , id_distraction INT + , id_distraction_old INT + , id_assessment INT + , active BIT + , is_new BIT + ); + + CREATE TEMPORARY TABLE tmp_Assessment_Command_Modality_Link_Save_ADR ( + id_temp INT + , id_link INT + , id_link_old INT + , id_assessment INT + , active BIT + , is_new BIT + ); + + CREATE TEMPORARY TABLE tmp_Assessment_Response_Save_ADR ( + id_temp INT + , id_response INT + , id_response_old INT + , id_assessment_command_modality_link INT + , active BIT + , is_new BIT + ); + + CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Combined ( + id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT + , id_type INT + , code VARCHAR(250) + , msg TEXT NOT NULL + ); + + + -- Get data from Temp table + INSERT INTO tmp_Assessment_Save_ADR ( + id_temp + , id_assessment + , id_assessment_old + , active + , is_new + ) + SELECT + ASSESSMENT_T.id_temp + , ASSESSMENT_T.id_assessment + , ASSESSMENT_T.id_assessment + , COALESCE( + ASSESSMENT_T.active + , ASSESSMENT.active + , 1 + ) AS active + , CASE WHEN COALESCE(ASSESSMENT_T.id_assessment, 0) < 1 THEN 1 ELSE 0 END AS is_new + FROM parts.DOG_Assessment_Temp ASSESSMENT_T + LEFT JOIN parts.DOG_Assessment ASSESSMENT ON ASSESSMENT_T.id_assessment = ASSESSMENT.id_assessment + WHERE ASSESSMENT_T.guid = a_guid + ; + + INSERT INTO tmp_Distraction_Save_ADR ( + id_temp + , id_distraction + , id_distraction_old + , id_assessment + , active + , is_new + ) + SELECT + DISTRACTION_T.id_temp + , DISTRACTION_T.id_distraction + , DISTRACTION_T.id_distraction + , DISTRACTION_T.id_assessment + , COALESCE( + DISTRACTION_T.active + , DISTRACTION.active + , 1 + ) AS active + , CASE WHEN COALESCE(DISTRACTION_T.id_distraction, 0) < 1 THEN 1 ELSE 0 END AS is_new + FROM parts.DOG_Distraction_Temp DISTRACTION_T + LEFT JOIN parts.DOG_Distraction DISTRACTION ON DISTRACTION_T.id_distraction = DISTRACTION.id_distraction + WHERE DISTRACTION_T.guid = a_guid + ; + + INSERT INTO tmp_Assessment_Command_Modality_Link_Save_ADR ( + id_temp + , id_link + , id_link_old + , id_assessment + , active + , is_new + ) + SELECT + ASSESSMENT_COMMAND_MODALITY_LINK_T.id_temp + , ASSESSMENT_COMMAND_MODALITY_LINK_T.id_link + , ASSESSMENT_COMMAND_MODALITY_LINK_T.id_link + , ASSESSMENT_COMMAND_MODALITY_LINK_T.id_assessment + , COALESCE( + ASSESSMENT_COMMAND_MODALITY_LINK_T.active + , ASSESSMENT_COMMAND_MODALITY_LINK.active + , 1 + ) AS active + , CASE WHEN COALESCE(ASSESSMENT_COMMAND_MODALITY_LINK_T.id_link, 0) < 1 THEN 1 ELSE 0 END AS is_new + FROM parts.DOG_Assessment_Command_Modality_Link_Temp ASSESSMENT_COMMAND_MODALITY_LINK_T + LEFT JOIN parts.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK ON ASSESSMENT_COMMAND_MODALITY_LINK_T.id_link = ASSESSMENT_COMMAND_MODALITY_LINK.id_link + WHERE ASSESSMENT_COMMAND_MODALITY_LINK_T.guid = a_guid + ; + + INSERT INTO tmp_Assessment_Response_Save_ADR ( + id_temp + , id_response + , id_response_old + , id_assessment_command_modality_link + , active + , is_new + ) + SELECT + ASSESSMENT_RESPONSE_T.id_temp + , ASSESSMENT_RESPONSE_T.id_response + , ASSESSMENT_RESPONSE_T.id_response + , ASSESSMENT_RESPONSE_T.id_assessment_command_modality_link + , COALESCE( + ASSESSMENT_RESPONSE_T.active + , ASSESSMENT_RESPONSE.active + , 1 + ) AS active + , CASE WHEN COALESCE(ASSESSMENT_RESPONSE_T.id_response, 0) < 1 THEN 1 ELSE 0 END AS is_new + FROM parts.DOG_Assessment_Response_Temp ASSESSMENT_RESPONSE_T + LEFT JOIN parts.DOG_Assessment_Response ASSESSMENT_RESPONSE ON ASSESSMENT_RESPONSE_T.id_response = ASSESSMENT_RESPONSE.id_response + WHERE ASSESSMENT_RESPONSE_T.guid = a_guid + ; + + IF a_debug = 1 THEN + SELECT 'Temp records'; + SELECT * FROM tmp_Assessment_Save_ADR; + SELECT COUNT(*) FROM tmp_Assessment_Save_ADR; + SELECT * FROM tmp_Distraction_Save_ADR; + SELECT COUNT(*) FROM tmp_Distraction_Save_ADR; + SELECT * FROM tmp_Assessment_Command_Modality_Link_Save_ADR; + SELECT COUNT(*) FROM tmp_Assessment_Command_Modality_Link_Save_ADR; + SELECT * FROM tmp_Assessment_Response_Save_ADR; + SELECT COUNT(*) FROM tmp_Assessment_Response_Save_ADR; + END IF; + + -- Permissions + -- Can Create + CALL parts.p_dog_calc_user( + a_guid + , 0 -- get_all_user + , 0 -- get_inactive_user + , a_id_user -- ids_user + , '' -- a_auth0_ids_user + , '' -- a_names_user + , '' -- a_emails_user + , 1 -- a_require_all_id_search_filters_met + , 1 -- a_require_any_id_search_filters_met + , 0 -- a_require_all_non_id_search_filters_met + , 0 -- a_require_any_non_id_search_filters_met + , v_id_permission_dog_new -- ids_permission + , v_id_access_level_edit -- ids_access_level + , 0 -- a_show_errors + , 0 -- a_debug + ); + + SELECT + IFNULL(CU_T.has_access, 0) + INTO + v_can_create + FROM parts.DOG_Calc_User_Temp CU_T + WHERE CU_T.GUID = a_guid + LIMIT 1 + ; + + CALL parts.p_dog_clear_calc_user( + a_guid + , 0 -- a_debug + ); + + IF v_can_create = 0 THEN + DELETE t_ME + FROM tmp_Msg_Error_Combined t_ME + WHERE t_ME.id_type <> v_id_type_error_no_permission + ; + INSERT INTO tmp_Msg_Error_Combined ( + id_type + , code + , msg + ) + VALUES ( + v_id_type_error_no_permission + , v_code_type_error_no_permission + , 'You do not have permission to edit Assessment_Distraction_And_Responses.' + ) + ; + END IF; + + -- DELETE FROM tmp_Msg_Error_Combined_Save; + -- Save Assessments + -- CREATE TEMPORARY TABLE tmp_Assessment_Save_ADR_Save_Error AS + -- INSERT INTO tmp_Msg_Error_Combined_Save + CALL parts.p_dog_save_assessment ( + a_comment + , a_guid + , a_id_user + , 0 -- debug + ); + + /* + INSERT INTO tmp_Msg_Error_Combined ( + id_type + , code + , msg + ) + SELECT + t_ASSESSMENT_SAVE_ERROR.id_type + , t_ASSESSMENT_SAVE_ERROR.code + , t_ASSESSMENT_SAVE_ERROR.msg + FROM tmp_Assessment_Save_ADR_Save_Error t_ASSESSMENT_SAVE_ERROR + ; + */ + + -- Get New Assessment Ids + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Combined t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + + -- Update Temporary tables with new Ids + UPDATE tmp_Assessment_Save_ADR t_ASSESSMENT + INNER JOIN parts.DOG_Assessment ASSESSMENT ON t_ASSESSMENT.id_temp = ASSESSMENT.id_temp + INNER JOIN tmp_Distraction_Save_ADR t_DISTRACTION ON t_ASSESSMENT.id_assessment_old = t_DISTRACTION.id_assessment + INNER JOIN tmp_Assessment_Command_Modality_Link_Save_ADR t_ASSESSMENT_COMMAND_MODALITY_LINK ON t_ASSESSMENT.id_assessment_old = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment + SET + t_ASSESSMENT.id_assessment = ASSESSMENT.id_assessment + , t_DISTRACTION.id_assessment = ASSESSMENT.id_assessment + , t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment = ASSESSMENT.id_assessment + WHERE + t_ASSESSMENT.active = 1 + AND t_ASSESSMENT.is_new = 1 + ; + + -- Update Staging tables with new Ids + IF EXISTS (SELECT * FROM tmp_Assessment_Save_ADR t_ASSESSMENT WHERE t_ASSESSMENT.id_assessment <> t_ASSESSMENT.id_assessment_old LIMIT 1) THEN + + START TRANSACTION; + + UPDATE parts.DOG_Distraction_Temp DISTRACTION_T + INNER JOIN tmp_Distraction_Save_ADR t_DISTRACTION ON DISTRACTION_T.id_temp = t_DISTRACTION.id_temp + INNER JOIN tmp_Assessment_Save_ADR t_ASSESSMENT ON t_DISTRACTION.id_assessment = t_ASSESSMENT.id_assessment + SET DISTRACTION_T.id_assessment = t_DISTRACTION.id_assessment + WHERE t_ASSESSMENT.id_assessment <> t_ASSESSMENT.id_assessment_old + ; + + UPDATE parts.DOG_Assessment_Command_Modality_Link_Temp ASSESSMENT_COMMAND_MODALITY_LINK_T + INNER JOIN tmp_Assessment_Command_Modality_Link_Save_ADR t_ASSESSMENT_COMMAND_MODALITY_LINK ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_temp = ASSESSMENT_COMMAND_MODALITY_LINK_T.id_temp + INNER JOIN tmp_Assessment_Save_ADR t_ASSESSMENT ON t_ASSESSMENT.id_assessment = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment + SET ASSESSMENT_COMMAND_MODALITY_LINK_T.id_assessment = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment + WHERE t_ASSESSMENT.id_assessment <> t_ASSESSMENT.id_assessment_old + ; + + COMMIT; + END IF; + + END IF; + + IF a_debug = 1 THEN + SELECT 'After align assessment Ids'; + SELECT * FROM tmp_Assessment_Save_ADR; + SELECT * FROM tmp_Distraction_Save_ADR; + SELECT * FROM tmp_Assessment_Command_Modality_Link_Save_ADR; + SELECT * FROM tmp_Assessment_Response_Save_ADR; + END IF; + + -- DELETE FROM tmp_Msg_Error_Combined_Save; + -- Save Distractions + -- CREATE TEMPORARY TABLE tmp_Distraction_Save_ADR_Save_Error AS + -- INSERT INTO tmp_Msg_Error_Combined_Save + CALL parts.p_dog_save_distraction ( + a_comment + , a_guid + , a_id_user + , 0 -- debug + ); + + /* + INSERT INTO tmp_Msg_Error_Combined ( + id_type + , code + , msg + ) + SELECT + t_DISTRACTION_SAVE_ERROR.id_type + , t_DISTRACTION_SAVE_ERROR.code + , t_DISTRACTION_SAVE_ERROR.msg + FROM tmp_Distraction_Save_ADR_Save_Error t_DISTRACTION_SAVE_ERROR + ; + */ + + -- DELETE FROM tmp_Msg_Error_Combined_Save; + -- Save Assessment Command Modality Links + -- CREATE TEMPORARY TABLE tmp_Assessment_Command_Modality_Link_Save_ADR_Save_Error AS + -- INSERT INTO tmp_Msg_Error_Combined_Save + CALL parts.p_dog_save_assessment_command_modality_link ( + a_comment + , a_guid + , a_id_user + , 0 -- debug + ); + + /* + INSERT INTO tmp_Msg_Error_Combined ( + id_type + , code + , msg + ) + SELECT + t_ACML_SAVE_ERROR.id_type + , t_ACML_SAVE_ERROR.code + , t_ACML_SAVE_ERROR.msg + FROM tmp_Assessment_Command_Modality_Link_Save_ADR_Save_Error t_ACML_SAVE_ERROR + ; + */ + + -- Get New Assessment Command Modality Link Ids + IF EXISTS (SELECT * FROM tmp_Msg_Error_Combined t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + START TRANSACTION; + + DELETE ASSESSMENT + FROM parts.DOG_Assessment ASSESSMENT + INNER JOIN tmp_Assessment_Save_ADR t_ASSESSMENT ON ASSESSMENT.id_assessment = t_ASSESSMENT.id_assessment + WHERE t_ASSESSMENT.is_new = 1 + ; + + COMMIT; + ELSE + -- Update Temporary tables with new Ids + UPDATE tmp_Assessment_Command_Modality_Link_Save_ADR t_ASSESSMENT_COMMAND_MODALITY_LINK + INNER JOIN parts.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_temp = ASSESSMENT_COMMAND_MODALITY_LINK.id_temp + LEFT JOIN tmp_Assessment_Response_Save_ADR t_ASSESSMENT_RESPONSE ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_link = t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link + SET + t_ASSESSMENT_COMMAND_MODALITY_LINK.id_link = ASSESSMENT_COMMAND_MODALITY_LINK.id_link + , t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link = ASSESSMENT_COMMAND_MODALITY_LINK.id_link + WHERE + t_ASSESSMENT_COMMAND_MODALITY_LINK.active = 1 + AND t_ASSESSMENT_COMMAND_MODALITY_LINK.is_new = 1 + ; + + -- Update Staging tables with new Ids + IF EXISTS (SELECT * FROM tmp_Assessment_Command_Modality_Link_Save_ADR t_ASSESSMENT_COMMAND_MODALITY_LINK WHERE t_ASSESSMENT_COMMAND_MODALITY_LINK.id_link <> t_ASSESSMENT_COMMAND_MODALITY_LINK.id_link_old LIMIT 1) THEN + + START TRANSACTION; + + UPDATE parts.DOG_Assessment_Response_Temp ASSESSMENT_RESPONSE_T + INNER JOIN tmp_Assessment_Response_Save_ADR t_ASSESSMENT_RESPONSE ON ASSESSMENT_RESPONSE_T.id_temp = t_ASSESSMENT_RESPONSE.id_temp + INNER JOIN tmp_Assessment_Command_Modality_Link_Save_ADR t_ASSESSMENT_COMMAND_MODALITY_LINK ON t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_link + SET ASSESSMENT_RESPONSE_T.id_assessment_command_modality_link = t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link + WHERE t_ASSESSMENT_COMMAND_MODALITY_LINK.id_link <> t_ASSESSMENT_COMMAND_MODALITY_LINK.id_link_old + ; + + COMMIT; + END IF; + + END IF; + + IF a_debug = 1 THEN + SELECT 'After align assessment Ids'; + SELECT * FROM tmp_Assessment_Save_ADR; + SELECT * FROM tmp_Distraction_Save_ADR; + SELECT * FROM tmp_Assessment_Command_Modality_Link_Save_ADR; + SELECT * FROM tmp_Assessment_Response_Save_ADR; + END IF; + + -- DELETE FROM tmp_Msg_Error_Combined_Save; + -- Save Assessment Responses + -- CREATE TEMPORARY TABLE tmp_Assessment_Response_Save_ADR_Save_Error AS + -- INSERT INTO tmp_Msg_Error_Combined_Save + CALL parts.p_dog_save_assessment_response ( + a_comment + , a_guid + , a_id_user + , 0 -- debug + ); + + /* + INSERT INTO tmp_Msg_Error_Combined ( + id_type + , code + , msg + ) + SELECT + t_ASSESSMENT_RESPONSE_SAVE_ERROR.id_type + , t_ASSESSMENT_RESPONSE_SAVE_ERROR.code + , t_ASSESSMENT_RESPONSE_SAVE_ERROR.msg + FROM tmp_Assessment_Response_Save_ADR_Save_Error t_ASSESSMENT_RESPONSE_SAVE_ERROR + ; + */ + + -- Get New Assessment Command Modality Link Ids + IF EXISTS (SELECT * FROM tmp_Msg_Error_Combined t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + START TRANSACTION; + + DELETE ASSESSMENT_COMMAND_MODALITY_LINK + FROM parts.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK + INNER JOIN tmp_Assessment_Command_Modality_Link_Save_ADR t_ASSESSMENT_COMMAND_MODALITY_LINK ON ASSESSMENT_COMMAND_MODALITY_LINK.id_link = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment_command_modality_link + INNER JOIN tmp_Assessment_Save_ADR t_ASSESSMENT ON ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment = t_ASSESSMENT.id_assessment + WHERE + t_ASSESSMENT_COMMAND_MODALITY_LINK.is_new = 1 + OR t_ASSESSMENT.is_new = 1 + ; + + DELETE ASSESSMENT + FROM parts.DOG_Assessment ASSESSMENT + INNER JOIN tmp_Assessment_Save_ADR t_ASSESSMENT ON ASSESSMENT.id_assessment = t_ASSESSMENT.id_assessment + WHERE t_ASSESSMENT.is_new = 1 + ; + + COMMIT; + END IF; + + -- Errors + SELECT + t_ERROR.id_error + , t_ERROR.id_type + , t_ERROR.code + , ERROR_TYPE.name + , ERROR_TYPE.description + , ERROR_TYPE.is_breaking_error + , ERROR_TYPE.background_colour + , ERROR_TYPE.text_colour + , t_ERROR.msg + FROM tmp_Msg_Error_Combined t_ERROR + INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + ; + + IF a_debug = 1 THEN + SELECT * FROM tmp_Assessment_Save_ADR; + SELECT * FROM tmp_Distraction_Save_ADR; + SELECT * FROM tmp_Assessment_Command_Modality_Link_Save_ADR; + SELECT * FROM tmp_Assessment_Response_Save_ADR; + END IF; + + CALL parts.p_dog_clear_msg_error ( + a_guid + , 0 -- debug + ); + + DROP TABLE IF EXISTS tmp_Assessment_Response_Save_ADR_Save_Error; + DROP TABLE IF EXISTS tmp_Assessment_Command_Modality_Link_Save_ADR_Save_Error; + DROP TABLE IF EXISTS tmp_Distraction_Save_ADR_Save_Error; + DROP TABLE IF EXISTS tmp_Assessment_Save_ADR_Save_Error; + DROP TABLE IF EXISTS tmp_Assessment_Response_Save_ADR; + DROP TABLE IF EXISTS tmp_Assessment_Command_Modality_Link_Save_ADR; + DROP TABLE IF EXISTS tmp_Distraction_Save_ADR; + DROP TABLE IF EXISTS tmp_Assessment_Save_ADR; + DROP TEMPORARY TABLE tmp_Msg_Error_Combined; + + IF a_debug = 1 THEN + CALL parts.p_core_debug_timing_reporting ( v_time_start ); + END IF; +END // +DELIMITER ; + + + +/* + +CALL parts.p_dog_save_assessment_distraction_and_response ( + 'nipples' + , 'ripplesipplenipplytippledipplykipple' + , 1 + , 1 +); + + +*/ \ No newline at end of file diff --git a/static/MySQL/71601_p_ph_save_contact_form.sql b/static/MySQL/71601_p_ph_save_contact_form.sql index 6936a84..e6ed635 100644 --- a/static/MySQL/71601_p_ph_save_contact_form.sql +++ b/static/MySQL/71601_p_ph_save_contact_form.sql @@ -34,7 +34,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(50) NOT NULL , msg VARCHAR(4000) NOT NULL ); @@ -82,7 +82,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(50) NOT NULL , msg VARCHAR(4000) NOT NULL ); diff --git a/static/MySQL/71603_p_ph_get_many_contact_form.sql b/static/MySQL/71603_p_ph_get_many_contact_form.sql index 23e2cd3..2c0e7da 100644 --- a/static/MySQL/71603_p_ph_get_many_contact_form.sql +++ b/static/MySQL/71603_p_ph_get_many_contact_form.sql @@ -50,14 +50,14 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(50) NOT NULL , msg VARCHAR(4000) NOT NULL ); CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split; diff --git a/static/MySQL/90000_populate.sql b/static/MySQL/90000_populate.sql index 48f9394..260de60 100644 --- a/static/MySQL/90000_populate.sql +++ b/static/MySQL/90000_populate.sql @@ -989,6 +989,10 @@ INSERT INTO parts.DOG_Bribe ( ) VALUES ( + 'NONE' + , 'None' + ) + , ( 'TREAT' , 'Treat' ) @@ -1016,7 +1020,7 @@ INSERT INTO parts.DOG_Assessment_Command_Modality_Link ( , id_command , id_command_modality , id_bribe - , distance_from_handler + , distance_from_handler_metres , is_in_sight_of_handler , is_in_scent_range_of_handler , is_in_hearing_range_of_handler diff --git a/static/MySQL/deprecated/71104_p_dog_get_many_command.sql b/static/MySQL/deprecated/71104_p_dog_get_many_command.sql index 80c5bc4..215bc1f 100644 --- a/static/MySQL/deprecated/71104_p_dog_get_many_command.sql +++ b/static/MySQL/deprecated/71104_p_dog_get_many_command.sql @@ -38,7 +38,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); @@ -120,20 +120,20 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Id; CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Name; diff --git a/static/MySQL/deprecated/7213_p_dog_get_many_understanding_level.sql b/static/MySQL/deprecated/7213_p_dog_get_many_understanding_level.sql index 7633def..7075c06 100644 --- a/static/MySQL/deprecated/7213_p_dog_get_many_understanding_level.sql +++ b/static/MySQL/deprecated/7213_p_dog_get_many_understanding_level.sql @@ -40,7 +40,7 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); @@ -126,26 +126,26 @@ BEGIN CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT - , id_type INT NULL + , id_type INT , code VARCHAR(250) NOT NULL , msg TEXT NOT NULL ); CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Id; CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Code ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Code; CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name ( substring VARCHAR(4000) NOT NULL - , as_int INT NULL + , as_int INT ); DELETE FROM tmp_Split_Name; diff --git a/static/css/pages/dog/assessment.css b/static/css/pages/dog/assessment.css index 6c98e07..a20da37 100644 --- a/static/css/pages/dog/assessment.css +++ b/static/css/pages/dog/assessment.css @@ -1,5 +1,9 @@ +#formFilters { + display: none; +} + .container.save.button-cancel { position: fixed; top: 10vh; @@ -49,8 +53,8 @@ table.table-main.assessment_command_modality_link thead tr th.is-in-sight-of-han table.table-main.assessment_command_modality_link tbody tr td.is-in-sight-of-handler, table.table-main.assessment_command_modality_link thead tr th.is-on-lead, table.table-main.assessment_command_modality_link tbody tr td.is-on-lead { - max-width: 4vh; - min-width: 4vh; + max-width: 3vh; + min-width: 3vh; } table.table-main.assessment_command_modality_link thead tr th.notes, table.table-main.assessment_command_modality_link tbody tr td.notes { @@ -61,6 +65,17 @@ table.table-main.assessment_command_modality_link tbody tr td.notes { table.table-main.assessment_command_modality_link thead tr th.assessment_response, table.table-main.assessment_command_modality_link tbody tr td.assessment_response { - max-width: 43vh; - min-width: 43vh; + max-width: 60vh; + min-width: 60vh; +} + +table.table-main.assessment_command_modality_link tbody tr td.assessment_response thead tr th.response-quality-metric, +table.table-main.assessment_command_modality_link tbody tr td.assessment_response tbody tr td.response-quality-metric { + max-width: 15vh; + min-width: 15vh; +} +table.table-main.assessment_command_modality_link tbody tr td.assessment_response thead tr th.obedience-level, +table.table-main.assessment_command_modality_link tbody tr td.assessment_response tbody tr td.obedience-level { + max-width: 15vh; + min-width: 15vh; } \ No newline at end of file diff --git a/static/dist/css/dog_assessment.bundle.css b/static/dist/css/dog_assessment.bundle.css index 4d936b8..96dc0a7 100644 --- a/static/dist/css/dog_assessment.bundle.css +++ b/static/dist/css/dog_assessment.bundle.css @@ -75,6 +75,10 @@ } +#formFilters { + display: none; +} + .container.save.button-cancel { position: fixed; top: 10vh; @@ -124,8 +128,8 @@ table.table-main.assessment_command_modality_link thead tr th.is-in-sight-of-han table.table-main.assessment_command_modality_link tbody tr td.is-in-sight-of-handler, table.table-main.assessment_command_modality_link thead tr th.is-on-lead, table.table-main.assessment_command_modality_link tbody tr td.is-on-lead { - max-width: 4vh; - min-width: 4vh; + max-width: 3vh; + min-width: 3vh; } table.table-main.assessment_command_modality_link thead tr th.notes, table.table-main.assessment_command_modality_link tbody tr td.notes { @@ -136,8 +140,19 @@ table.table-main.assessment_command_modality_link tbody tr td.notes { table.table-main.assessment_command_modality_link thead tr th.assessment_response, table.table-main.assessment_command_modality_link tbody tr td.assessment_response { - max-width: 43vh; - min-width: 43vh; + max-width: 60vh; + min-width: 60vh; +} + +table.table-main.assessment_command_modality_link tbody tr td.assessment_response thead tr th.response-quality-metric, +table.table-main.assessment_command_modality_link tbody tr td.assessment_response tbody tr td.response-quality-metric { + max-width: 15vh; + min-width: 15vh; +} +table.table-main.assessment_command_modality_link tbody tr td.assessment_response thead tr th.obedience-level, +table.table-main.assessment_command_modality_link tbody tr td.assessment_response tbody tr td.obedience-level { + max-width: 15vh; + min-width: 15vh; } /*# sourceMappingURL=dog_assessment.bundle.css.map*/ \ No newline at end of file diff --git a/static/dist/css/dog_assessment.bundle.css.map b/static/dist/css/dog_assessment.bundle.css.map index 9ae1a56..8e5f6fc 100644 --- a/static/dist/css/dog_assessment.bundle.css.map +++ b/static/dist/css/dog_assessment.bundle.css.map @@ -1 +1 @@ -{"version":3,"file":"css/dog_assessment.bundle.css","mappings":";;AAEA;IACI,gBAAgB;IAChB,oBAAoB;IACpB,cAAc;AAClB;;AAEA;IACI,eAAe;AACnB;;;;AAIA,iBAAiB;AACjB;IACI,sBAAsB;AAC1B;;AAEA,eAAe;;;;AAIf;IACI,6BAA6B;IAC7B,gBAAgB;IAChB,cAAc;IACd,SAAS;IACT,SAAS;IACT,qBAAqB;IACrB,2BAA2B;IAC3B,aAAa;IACb,sBAAsB;IACtB,uBAAuB;IACvB,gBAAgB;IAChB,kBAAkB;IAClB,kBAAkB;IAClB,WAAW;IACX,yBAAyB;AAC7B;;;AAGA,WAAW;AACX;IACI,gBAAgB;IAChB,kBAAkB;IAClB,SAAS;IACT,eAAe;IACf,gBAAgB;IAChB,sCAAsC;IACtC,kBAAkB;IAClB,SAAS;IACT,WAAW;AACf;;AAEA;IACI;QACI,eAAe;QACf,cAAc;QACd,eAAe;QACf,WAAW;QACX,eAAe;IACnB;IACA;QACI,eAAe;IACnB;IACA;QACI,cAAc;IAClB;AACJ;;AAEA;IACI,UAAU;IACV,SAAS;AACb,C;;;ACxEA;IACI,eAAe;IACf,SAAS;IACT,WAAW;AACf;;;AAGA;;;;;;;;IAQI,cAAc;IACd,cAAc;AAClB;;AAEA;;IAEI,eAAe;IACf,eAAe;AACnB;;AAEA;;IAEI,eAAe;IACf,eAAe;AACnB;;AAEA;;IAEI,cAAc;IACd,cAAc;AAClB;AACA;;IAEI,eAAe;IACf,gBAAgB;AACpB;AACA;;;;;;;;IAQI,cAAc;IACd,cAAc;AAClB;AACA;;IAEI,eAAe;IACf,eAAe;AACnB;;;AAGA;;IAEI,eAAe;IACf,eAAe;AACnB,C","sources":["webpack://app/./static/css/sections/dog.css","webpack://app/./static/css/pages/dog/assessment.css"],"sourcesContent":["\n\n.container-input > input {\n padding: 0vh 1vh;\n border-radius: 0.5vh;\n max-width: 7vh;\n}\n\n#basket {\n max-width: 100%;\n}\n\n\n\n/* Right column */\n.rightcolumn {\n min-width: fit-content;\n}\n\n/* Main Table */\n\n\n\n#pageBody {\n /* height: 69vh !important; */\n max-height: 79vh;\n padding: 0 5vw;\n margin: 0;\n border: 0;\n align-content: center;\n justify-content: flex-start;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n overflow-y: auto;\n overflow-x: hidden;\n position: absolute;\n width: 90vw;\n color: var(--colour-text);\n}\n\n\n/* Footer */\n.footer {\n padding: 1vh 1vw;\n text-align: center;\n margin: 0;\n max-height: 5vh;\n overflow-y: auto;\n background-color: var(--colour-accent);\n position: absolute;\n bottom: 0;\n width: 98vw;\n}\n\n@media screen and (max-width: 400px) {\n .footer {\n max-height: 8vh;\n padding: 0 2vw;\n font-size: 10px; \n width: 96vw;\n max-width: 96vw;\n }\n .footer > h4 {\n font-size: 10px;\n }\n .footer > h5 {\n font-size: 9px;\n }\n}\n\n.footer > h4, h5 {\n padding: 0;\n margin: 0;\n}","\n\n.container.save.button-cancel {\n position: fixed;\n top: 10vh;\n right: 10vh;\n}\n\n\ntable.table-main.assessment thead tr th.active,\ntable.table-main.assessment tbody tr td.active,\ntable.table-main.distraction thead tr th.active,\ntable.table-main.distraction tbody tr td.active,\ntable.table-main.assessment_command_modality_link thead tr th.active,\ntable.table-main.assessment_command_modality_link tbody tr td.active,\ntable.table-main.assessment_response thead tr th.active,\ntable.table-main.assessment_response tbody tr td.active {\n max-width: 6vh;\n min-width: 6vh;\n}\n\ntable.table-main.assessment thead tr th,\ntable.table-main.assessment tbody tr td {\n max-width: 15vh;\n min-width: 15vh;\n}\n\ntable.table-main.distraction thead tr th,\ntable.table-main.distraction tbody tr td {\n max-width: 12vh;\n min-width: 12vh;\n}\n\ntable.table-main.assessment_command_modality_link thead tr th,\ntable.table-main.assessment_command_modality_link tbody tr td {\n max-width: 6vh;\n min-width: 6vh;\n}\ntable.table-main.assessment_command_modality_link tbody tr td.ddl-preview div, \ntable.table-main.assessment_command_modality_link tbody tr td.ddl-preview select {\n padding-left: 0;\n padding-right: 0;\n}\ntable.table-main.assessment_command_modality_link thead tr th.is-in-hearing-range-of-handler,\ntable.table-main.assessment_command_modality_link tbody tr td.is-in-hearing-range-of-handler,\ntable.table-main.assessment_command_modality_link thead tr th.is-in-scent-range-of-handler,\ntable.table-main.assessment_command_modality_link tbody tr td.is-in-scent-range-of-handler,\ntable.table-main.assessment_command_modality_link thead tr th.is-in-sight-of-handler,\ntable.table-main.assessment_command_modality_link tbody tr td.is-in-sight-of-handler,\ntable.table-main.assessment_command_modality_link thead tr th.is-on-lead,\ntable.table-main.assessment_command_modality_link tbody tr td.is-on-lead {\n max-width: 4vh;\n min-width: 4vh;\n}\ntable.table-main.assessment_command_modality_link thead tr th.notes,\ntable.table-main.assessment_command_modality_link tbody tr td.notes {\n max-width: 12vh;\n min-width: 12vh;\n}\n\n\ntable.table-main.assessment_command_modality_link thead tr th.assessment_response,\ntable.table-main.assessment_command_modality_link tbody tr td.assessment_response {\n max-width: 43vh;\n min-width: 43vh;\n}"],"names":[],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"css/dog_assessment.bundle.css","mappings":";;AAEA;IACI,gBAAgB;IAChB,oBAAoB;IACpB,cAAc;AAClB;;AAEA;IACI,eAAe;AACnB;;;;AAIA,iBAAiB;AACjB;IACI,sBAAsB;AAC1B;;AAEA,eAAe;;;;AAIf;IACI,6BAA6B;IAC7B,gBAAgB;IAChB,cAAc;IACd,SAAS;IACT,SAAS;IACT,qBAAqB;IACrB,2BAA2B;IAC3B,aAAa;IACb,sBAAsB;IACtB,uBAAuB;IACvB,gBAAgB;IAChB,kBAAkB;IAClB,kBAAkB;IAClB,WAAW;IACX,yBAAyB;AAC7B;;;AAGA,WAAW;AACX;IACI,gBAAgB;IAChB,kBAAkB;IAClB,SAAS;IACT,eAAe;IACf,gBAAgB;IAChB,sCAAsC;IACtC,kBAAkB;IAClB,SAAS;IACT,WAAW;AACf;;AAEA;IACI;QACI,eAAe;QACf,cAAc;QACd,eAAe;QACf,WAAW;QACX,eAAe;IACnB;IACA;QACI,eAAe;IACnB;IACA;QACI,cAAc;IAClB;AACJ;;AAEA;IACI,UAAU;IACV,SAAS;AACb,C;;;ACxEA;IACI,aAAa;AACjB;;AAEA;IACI,eAAe;IACf,SAAS;IACT,WAAW;AACf;;;AAGA;;;;;;;;IAQI,cAAc;IACd,cAAc;AAClB;;AAEA;;IAEI,eAAe;IACf,eAAe;AACnB;;AAEA;;IAEI,eAAe;IACf,eAAe;AACnB;;AAEA;;IAEI,cAAc;IACd,cAAc;AAClB;AACA;;IAEI,eAAe;IACf,gBAAgB;AACpB;AACA;;;;;;;;IAQI,cAAc;IACd,cAAc;AAClB;AACA;;IAEI,eAAe;IACf,eAAe;AACnB;;;AAGA;;IAEI,eAAe;IACf,eAAe;AACnB;;AAEA;;IAEI,eAAe;IACf,eAAe;AACnB;AACA;;IAEI,eAAe;IACf,eAAe;AACnB,C","sources":["webpack://app/./static/css/sections/dog.css","webpack://app/./static/css/pages/dog/assessment.css"],"sourcesContent":["\n\n.container-input > input {\n padding: 0vh 1vh;\n border-radius: 0.5vh;\n max-width: 7vh;\n}\n\n#basket {\n max-width: 100%;\n}\n\n\n\n/* Right column */\n.rightcolumn {\n min-width: fit-content;\n}\n\n/* Main Table */\n\n\n\n#pageBody {\n /* height: 69vh !important; */\n max-height: 79vh;\n padding: 0 5vw;\n margin: 0;\n border: 0;\n align-content: center;\n justify-content: flex-start;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n overflow-y: auto;\n overflow-x: hidden;\n position: absolute;\n width: 90vw;\n color: var(--colour-text);\n}\n\n\n/* Footer */\n.footer {\n padding: 1vh 1vw;\n text-align: center;\n margin: 0;\n max-height: 5vh;\n overflow-y: auto;\n background-color: var(--colour-accent);\n position: absolute;\n bottom: 0;\n width: 98vw;\n}\n\n@media screen and (max-width: 400px) {\n .footer {\n max-height: 8vh;\n padding: 0 2vw;\n font-size: 10px; \n width: 96vw;\n max-width: 96vw;\n }\n .footer > h4 {\n font-size: 10px;\n }\n .footer > h5 {\n font-size: 9px;\n }\n}\n\n.footer > h4, h5 {\n padding: 0;\n margin: 0;\n}","\n\n#formFilters {\n display: none;\n}\n\n.container.save.button-cancel {\n position: fixed;\n top: 10vh;\n right: 10vh;\n}\n\n\ntable.table-main.assessment thead tr th.active,\ntable.table-main.assessment tbody tr td.active,\ntable.table-main.distraction thead tr th.active,\ntable.table-main.distraction tbody tr td.active,\ntable.table-main.assessment_command_modality_link thead tr th.active,\ntable.table-main.assessment_command_modality_link tbody tr td.active,\ntable.table-main.assessment_response thead tr th.active,\ntable.table-main.assessment_response tbody tr td.active {\n max-width: 6vh;\n min-width: 6vh;\n}\n\ntable.table-main.assessment thead tr th,\ntable.table-main.assessment tbody tr td {\n max-width: 15vh;\n min-width: 15vh;\n}\n\ntable.table-main.distraction thead tr th,\ntable.table-main.distraction tbody tr td {\n max-width: 12vh;\n min-width: 12vh;\n}\n\ntable.table-main.assessment_command_modality_link thead tr th,\ntable.table-main.assessment_command_modality_link tbody tr td {\n max-width: 6vh;\n min-width: 6vh;\n}\ntable.table-main.assessment_command_modality_link tbody tr td.ddl-preview div, \ntable.table-main.assessment_command_modality_link tbody tr td.ddl-preview select {\n padding-left: 0;\n padding-right: 0;\n}\ntable.table-main.assessment_command_modality_link thead tr th.is-in-hearing-range-of-handler,\ntable.table-main.assessment_command_modality_link tbody tr td.is-in-hearing-range-of-handler,\ntable.table-main.assessment_command_modality_link thead tr th.is-in-scent-range-of-handler,\ntable.table-main.assessment_command_modality_link tbody tr td.is-in-scent-range-of-handler,\ntable.table-main.assessment_command_modality_link thead tr th.is-in-sight-of-handler,\ntable.table-main.assessment_command_modality_link tbody tr td.is-in-sight-of-handler,\ntable.table-main.assessment_command_modality_link thead tr th.is-on-lead,\ntable.table-main.assessment_command_modality_link tbody tr td.is-on-lead {\n max-width: 3vh;\n min-width: 3vh;\n}\ntable.table-main.assessment_command_modality_link thead tr th.notes,\ntable.table-main.assessment_command_modality_link tbody tr td.notes {\n max-width: 12vh;\n min-width: 12vh;\n}\n\n\ntable.table-main.assessment_command_modality_link thead tr th.assessment_response,\ntable.table-main.assessment_command_modality_link tbody tr td.assessment_response {\n max-width: 60vh;\n min-width: 60vh;\n}\n\ntable.table-main.assessment_command_modality_link tbody tr td.assessment_response thead tr th.response-quality-metric,\ntable.table-main.assessment_command_modality_link tbody tr td.assessment_response tbody tr td.response-quality-metric {\n max-width: 15vh;\n min-width: 15vh;\n}\ntable.table-main.assessment_command_modality_link tbody tr td.assessment_response thead tr th.obedience-level,\ntable.table-main.assessment_command_modality_link tbody tr td.assessment_response tbody tr td.obedience-level {\n max-width: 15vh;\n min-width: 15vh;\n}"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/dist/js/main.bundle.js b/static/dist/js/main.bundle.js index d0c7df0..dd77627 100644 --- a/static/dist/js/main.bundle.js +++ b/static/dist/js/main.bundle.js @@ -842,6 +842,62 @@ var API = /*#__PURE__*/function () { return _saveCommandButtonLinks.apply(this, arguments); } return saveCommandButtonLinks; + }() // Assessments + }, { + key: "saveAssessments", + value: function () { + var _saveAssessments = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee9(assessments, formFilters, comment) { + var dataRequest; + return _regeneratorRuntime().wrap(function _callee9$(_context9) { + while (1) switch (_context9.prev = _context9.next) { + case 0: + dataRequest = {}; + dataRequest[flagFormFilters] = DOM.convertForm2JSON(formFilters); + dataRequest[flagAssessment] = assessments; + dataRequest[flagComment] = comment; + _context9.next = 6; + return API.request(hashSaveDogAssessment, 'POST', dataRequest); + case 6: + return _context9.abrupt("return", _context9.sent); + case 7: + case "end": + return _context9.stop(); + } + }, _callee9); + })); + function saveAssessments(_x20, _x21, _x22) { + return _saveAssessments.apply(this, arguments); + } + return saveAssessments; + }() // Assessments + }, { + key: "saveAssessmentsDistractionsAndResponses", + value: function () { + var _saveAssessmentsDistractionsAndResponses = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee10(assessments, formFilters, comment) { + var filtersJson, dataRequest; + return _regeneratorRuntime().wrap(function _callee10$(_context10) { + while (1) switch (_context10.prev = _context10.next) { + case 0: + filtersJson = DOM.convertForm2JSON(formFilters); + filtersJson[attrIdAssessment] = null; + dataRequest = {}; + dataRequest[flagFormFilters] = filtersJson; + dataRequest[flagAssessment] = assessments; + dataRequest[flagComment] = comment; + _context10.next = 8; + return API.request(hashSaveDogAssessmentDistractionAndResponse, 'POST', dataRequest); + case 8: + return _context10.abrupt("return", _context10.sent); + case 9: + case "end": + return _context10.stop(); + } + }, _callee10); + })); + function saveAssessmentsDistractionsAndResponses(_x23, _x24, _x25) { + return _saveAssessmentsDistractionsAndResponses.apply(this, arguments); + } + return saveAssessmentsDistractionsAndResponses; }() }]); }(); @@ -941,6 +997,7 @@ function base_toPrimitive(t, r) { if ("object" != base_typeof(t) || !t) return t + var BasePage = /*#__PURE__*/function () { function BasePage(router) { base_classCallCheck(this, BasePage); @@ -1150,7 +1207,7 @@ var BasePage = /*#__PURE__*/function () { key: "hookupButtonSave", value: function hookupButtonSave() { var _this4 = this; - Events.initialiseEventHandler('form.' + flagFilter + ' button.' + flagSave, flagInitialised, function (button) { + Events.initialiseEventHandler('.' + flagContainer + '.' + flagSave + '.' + flagCancel + ' button.' + flagSave, flagInitialised, function (button) { button.addEventListener("click", function (event) { event.stopPropagation(); button = event.target; @@ -1181,10 +1238,17 @@ var BasePage = /*#__PURE__*/function () { }, { key: "toggleShowButtonsSaveCancel", value: function toggleShowButtonsSaveCancel(show) { - var buttonContainerSelector = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '.' + flagContainer + '.' + flagSave + '.' + flagCancel; + var buttonContainerSelector = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; // , buttonSave = null, buttonCancel = null - var buttonSave = document.querySelector(buttonContainerSelector + ' button.' + flagSave); - var buttonCancel = document.querySelector(buttonContainerSelector + ' button.' + flagCancel); + if (Validation.isEmpty(buttonContainerSelector)) buttonContainerSelector = '.' + flagContainer + '.' + flagSave + '.' + flagCancel; + var buttonSave = document.querySelector(buttonContainerSelector + ' ' + idButtonSave); + var buttonCancel = document.querySelector(buttonContainerSelector + ' ' + idButtonCancel); + utils_Utils.consoleLogIfNotProductionEnvironment({ + show: show, + buttonContainerSelector: buttonContainerSelector, + buttonCancel: buttonCancel, + buttonSave: buttonSave + }); if (show) { buttonCancel.classList.remove(flagIsCollapsed); buttonSave.classList.remove(flagIsCollapsed); @@ -5375,7 +5439,7 @@ var TableBasePage = /*#__PURE__*/function (_BasePage) { key: "hookupButtonCancel", value: function hookupButtonCancel() { var _this11 = this; - Events.initialiseEventHandler(idFormFilters + ' button.' + flagCancel, flagInitialised, function (button) { + Events.initialiseEventHandler('.' + flagContainer + '.' + flagSave + '.' + flagCancel + ' button.' + flagCancel, flagInitialised, function (button) { button.addEventListener("click", function (event) { event.stopPropagation(); button = event.target; @@ -5967,6 +6031,12 @@ var TableBasePage = /*#__PURE__*/function (_BasePage) { var isDirtyMainTable = records.length > 0; var formFilters = TableBasePage.getFormFilters(); var areDirtyFilters = DOM.hasDirtyChildrenContainer(formFilters); + console.log({ + records: records, + isDirtyMainTable: isDirtyMainTable, + formFilters: formFilters, + areDirtyFilters: areDirtyFilters + }); this.toggleShowButtonsSaveCancel(isDirtyMainTable && !areDirtyFilters); } }], [{ @@ -6899,7 +6969,7 @@ var PageDogAssessment = /*#__PURE__*/function (_TableBasePage) { var _this; assessment_classCallCheck(this, PageDogAssessment); _this = assessment_callSuper(this, PageDogAssessment, [router]); - assessment_defineProperty(_this, "callSaveTableContent", API.saveAssessments); + assessment_defineProperty(_this, "callSaveTableContent", API.saveAssessmentsDistractionsAndResponses); _this.dogMixin = new DogTableMixinPage(_this); return _this; } @@ -6920,18 +6990,151 @@ var PageDogAssessment = /*#__PURE__*/function (_TableBasePage) { utils_Utils.consoleLogIfNotProductionEnvironment("applying data row: ", rowJson); } } + }, { + key: "getTableRecords", + value: function getTableRecords() { + var dirtyOnly = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + dirtyOnly = true; + var row = document.querySelector(idTableAssessment + ' tbody tr.' + flagAssessment); + return [this.getJsonRow(row)]; + } }, { key: "getJsonRow", value: function getJsonRow(row) { + console.log("getJsonRow: ", row); if (row == null) return; - /* - let inputTemperatureCelcius = row.querySelector('td.' + flagTemperatureCelcius + ' input'); - let buttonActive = row.querySelector('td.' + flagActive + ' .' + flagActive); - */ + var inputWeather = row.querySelector(idTableAssessment + ' td.' + flagWeather + ' .' + flagWeather); + var inputLightingLevel = row.querySelector(idTableAssessment + ' td.' + flagLightingLevel + ' .' + flagLightingLevel); + var inputTemeratureCelcius = row.querySelector(idTableAssessment + ' td.' + flagTemperatureCelcius + ' .' + flagTemperatureCelcius); + var inputLocation = row.querySelector(idTableAssessment + ' td.' + flagLocation + ' .' + flagLocation); + var inputUserHandler = row.querySelector(idTableAssessment + ' td.' + flagUserHandler + ' .' + flagUserHandler); + var inputNotes = row.querySelector(idTableAssessment + ' td.' + flagNotes + ' .' + flagNotes); + // let buttonActive = row.querySelector(idTableAssessment + ' td.' + flagActive + ' .' + flagButton + '.' + flagIcon + '.' + flagActive); + var idAssessment = row.getAttribute(attrIdAssessment); var jsonRow = {}; - jsonRow[attrIdAssessment] = row.getAttribute(attrIdAssessment); + jsonRow[attrIdAssessment] = idAssessment; + jsonRow[attrIdWeather] = DOM.getElementAttributeValueCurrent(inputWeather); + jsonRow[attrIdLightingLevel] = DOM.getElementAttributeValueCurrent(inputLightingLevel); + jsonRow[flagTemperatureCelcius] = DOM.getElementAttributeValueCurrent(inputTemeratureCelcius); + jsonRow[attrIdLocation] = DOM.getElementAttributeValueCurrent(inputLocation); + jsonRow[flagUserHandler] = DOM.getElementAttributeValueCurrent(inputUserHandler); + jsonRow[flagNotes] = DOM.getElementAttributeValueCurrent(inputNotes); + jsonRow[flagActive] = true; // buttonActive.classList.contains(flagDelete); + jsonRow[flagDistraction] = this.getDirtyDistractions(idAssessment); + jsonRow[flagAssessmentCommandModalityLink] = this.getDirtyAssessmentCommandModalityLinks(idAssessment); + console.log({ + jsonRow: jsonRow + }); return jsonRow; } + }, { + key: "getDirtyDistractions", + value: function getDirtyDistractions(idAssessment) { + var dirtyRows = document.querySelectorAll(idTableDistractions + ' tbody tr.' + flagDistraction + '.' + flagDirty); + if (dirtyRows == null || dirtyRows.length == 0) return []; + // dirtyRows = Array.from(dirtyRows); + var dirtyRow, inputDistractionType, distractionType, inputIntensityLevelEmotional, intensityLevelEmotional, inputIntensityLevelScent, intensityLevelScent, inputIntensityLevelSight, intensityLevelSight, inputIntensityLevelSound, intensityLevelSound, inputIntensityLevelTouch, intensityLevelTouch, inputQuantity, quantity, inputProximityMetres, proximityMetres, inputNotes, notes, buttonActive, active; + console.log('getDirtyDistractions'); + console.log({ + dirtyRows: dirtyRows + }); + var dirtyDistractions = []; + for (var indexRow = 0; indexRow < dirtyRows.length; indexRow++) { + var _dirtyDistractions$pu; + dirtyRow = dirtyRows[indexRow]; + inputDistractionType = dirtyRow.querySelector('td.' + flagDistractionType + ' .' + flagDistractionType); + distractionType = DOM.getElementAttributeValueCurrent(inputDistractionType); + inputIntensityLevelEmotional = dirtyRow.querySelector('td.' + flagDistractionIntensityLevelEmotional + ' .' + flagDistractionIntensityLevelEmotional); + intensityLevelEmotional = DOM.getElementAttributeValueCurrent(inputIntensityLevelEmotional); + inputIntensityLevelScent = dirtyRow.querySelector('td.' + flagDistractionIntensityLevelScent + ' .' + flagDistractionIntensityLevelScent); + intensityLevelScent = DOM.getElementAttributeValueCurrent(inputIntensityLevelScent); + inputIntensityLevelSight = dirtyRow.querySelector('td.' + flagDistractionIntensityLevelSight + ' .' + flagDistractionIntensityLevelSight); + intensityLevelSight = DOM.getElementAttributeValueCurrent(inputIntensityLevelSight); + inputIntensityLevelSound = dirtyRow.querySelector('td.' + flagDistractionIntensityLevelSound + ' .' + flagDistractionIntensityLevelSound); + intensityLevelSound = DOM.getElementAttributeValueCurrent(inputIntensityLevelSound); + inputIntensityLevelTouch = dirtyRow.querySelector('td.' + flagDistractionIntensityLevelTouch + ' .' + flagDistractionIntensityLevelTouch); + intensityLevelTouch = DOM.getElementAttributeValueCurrent(inputIntensityLevelTouch); + inputQuantity = dirtyRow.querySelector('td.' + flagQuantity + ' .' + flagQuantity); + quantity = DOM.getElementAttributeValueCurrent(inputQuantity); + inputProximityMetres = dirtyRow.querySelector('td.' + flagProximityMetres + ' .' + flagProximityMetres); + proximityMetres = DOM.getElementAttributeValueCurrent(inputProximityMetres); + inputNotes = dirtyRow.querySelector('td.' + flagNotes + ' .' + flagNotes); + notes = DOM.getElementAttributeValueCurrent(inputNotes); + buttonActive = dirtyRow.querySelector(idTableDistractions + ' td.' + flagActive + ' .' + flagButton + '.' + flagIcon + '.' + flagActive); + active = buttonActive.classList.contains(flagDelete); + dirtyDistractions.push((_dirtyDistractions$pu = {}, assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(_dirtyDistractions$pu, attrIdDistraction, dirtyRow.getAttribute(attrIdDistraction)), attrIdAssessment, idAssessment), attrIdDistractionType, distractionType), flagDistractionIntensityLevelEmotional, intensityLevelEmotional), flagDistractionIntensityLevelScent, intensityLevelScent), flagDistractionIntensityLevelSight, intensityLevelSight), flagDistractionIntensityLevelSound, intensityLevelSound), flagDistractionIntensityLevelTouch, intensityLevelTouch), flagQuantity, quantity), flagProximityMetres, proximityMetres), assessment_defineProperty(assessment_defineProperty(_dirtyDistractions$pu, flagNotes, notes), flagActive, active))); + } + ; + return dirtyDistractions; + } + }, { + key: "getDirtyAssessmentCommandModalityLinks", + value: function getDirtyAssessmentCommandModalityLinks(idAssessment) { + var dirtyRows = document.querySelectorAll(idTableAssessmentCommandModalityLinks + ' > tbody > tr.' + flagAssessmentCommandModalityLink + '.' + flagDirty); + if (dirtyRows == null || dirtyRows.length == 0) return []; + dirtyRows = Array.from(dirtyRows); + var dirtyRow, idAssessmentCommandModalityLink, inputCommand, command, inputCommandModality, commandModality, inputBribe, bribe, inputDistanceFromHandler, distanceFromhandler, inputIsInHearingRangeOfHandler, isInHearingRangeOfHandler, inputIsInScentRangeOfHandler, isInScentRangeOfHandler, inputIsInSightOfHandler, isInSightOfHandler, inputIsOnLead, isOnLead, inputNotes, notes, buttonActive, active; + console.log('getDirtyAssessmentCommandModalityLinks'); + console.log({ + dirtyRows: dirtyRows + }); + var dirtyLinks = []; + for (var indexRow = 0; indexRow < dirtyRows.length; indexRow++) { + var _dirtyLinks$push; + dirtyRow = dirtyRows[indexRow]; + idAssessmentCommandModalityLink = dirtyRow.getAttribute(attrIdAssessmentCommandModalityLink); + inputCommand = dirtyRow.querySelector('td.' + flagCommand + ' .' + flagCommand); + command = DOM.getElementAttributeValueCurrent(inputCommand); + inputCommandModality = dirtyRow.querySelector('td.' + flagCommandModality + ' .' + flagCommandModality); + commandModality = DOM.getElementAttributeValueCurrent(inputCommandModality); + inputBribe = dirtyRow.querySelector('td.' + flagBribe + ' .' + flagBribe); + bribe = DOM.getElementAttributeValueCurrent(inputBribe); + inputDistanceFromHandler = dirtyRow.querySelector('td.' + flagDistanceFromHandlerMetres + ' .' + flagDistanceFromHandlerMetres); + distanceFromhandler = DOM.getElementAttributeValueCurrent(inputDistanceFromHandler); + inputIsInHearingRangeOfHandler = dirtyRow.querySelector('td.' + flagIsInHearingRangeOfHandler + ' .' + flagIsInHearingRangeOfHandler); + isInHearingRangeOfHandler = DOM.getElementAttributeValueCurrent(inputIsInHearingRangeOfHandler); + inputIsInScentRangeOfHandler = dirtyRow.querySelector('td.' + flagIsInScentRangeOfHandler + ' .' + flagIsInScentRangeOfHandler); + isInScentRangeOfHandler = DOM.getElementAttributeValueCurrent(inputIsInScentRangeOfHandler); + inputIsInSightOfHandler = dirtyRow.querySelector('td.' + flagIsInSightOfHandler + ' .' + flagIsInSightOfHandler); + isInSightOfHandler = DOM.getElementAttributeValueCurrent(inputIsInSightOfHandler); + inputIsOnLead = dirtyRow.querySelector('td.' + flagIsOnLead + ' .' + flagIsOnLead); + isOnLead = DOM.getElementAttributeValueCurrent(inputIsOnLead); + inputNotes = dirtyRow.querySelector('td.' + flagNotes + ' .' + flagNotes); + notes = DOM.getElementAttributeValueCurrent(inputNotes); + buttonActive = dirtyRow.querySelector(idTableAssessmentCommandModalityLinks + ' td.' + flagActive + ' .' + flagButton + '.' + flagIcon + '.' + flagActive); + active = buttonActive.classList.contains(flagDelete); + dirtyLinks.push((_dirtyLinks$push = {}, assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(_dirtyLinks$push, attrIdAssessmentCommandModalityLink, idAssessmentCommandModalityLink), attrIdAssessment, idAssessment), attrIdCommand, command), attrIdCommandModality, commandModality), attrIdBribe, bribe), flagDistanceFromHandlerMetres, distanceFromhandler), flagIsInHearingRangeOfHandler, isInHearingRangeOfHandler), flagIsInScentRangeOfHandler, isInScentRangeOfHandler), flagIsInSightOfHandler, isInSightOfHandler), flagIsOnLead, isOnLead), assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(_dirtyLinks$push, flagNotes, notes), flagActive, active), flagAssessmentResponse, this.getDirtyAssessmentResponses(dirtyRow, idAssessmentCommandModalityLink)))); + } + return dirtyLinks; + } + }, { + key: "getDirtyAssessmentResponses", + value: function getDirtyAssessmentResponses(rowAssessmentCommandModalityLink, idAssessmentCommandModalityLink) { + var dirtyRows = rowAssessmentCommandModalityLink.querySelectorAll(idTableAssessmentResponses + ' tbody tr.' + flagAssessmentResponse + '.' + flagDirty); + if (dirtyRows == null || dirtyRows.length == 0) return []; + dirtyRows = Array.from(dirtyRows); + var dirtyRow, inputResponseQualityMetric, responseQualityMetric, inputObedienceLevel, obedienceLevel, inputValueMeasured, valueMeasured, inputNotes, notes, buttonActive, active; + console.log('getDirtyAssessmentResponses'); + console.log({ + dirtyRows: dirtyRows + }); + var dirtyResponses = []; + for (var indexRow = 0; indexRow < dirtyRows.length; indexRow++) { + dirtyRow = dirtyRows[indexRow]; + inputResponseQualityMetric = dirtyRow.querySelector('td.' + flagResponseQualityMetric + ' .' + flagResponseQualityMetric); + responseQualityMetric = DOM.getElementAttributeValueCurrent(inputResponseQualityMetric); + inputObedienceLevel = dirtyRow.querySelector('td.' + flagObedienceLevel + ' .' + flagObedienceLevel); + obedienceLevel = DOM.getElementAttributeValueCurrent(inputObedienceLevel); + inputValueMeasured = dirtyRow.querySelector('td.' + flagValueMeasured + ' .' + flagValueMeasured); + valueMeasured = DOM.getElementAttributeValueCurrent(inputValueMeasured); + inputNotes = dirtyRow.querySelector('td.' + flagNotes + ' .' + flagNotes); + notes = DOM.getElementAttributeValueCurrent(inputNotes); + buttonActive = dirtyRow.querySelector(idTableAssessmentResponses + ' td.' + flagActive + ' .' + flagButton + '.' + flagIcon + '.' + flagActive); + active = buttonActive.classList.contains(flagDelete); + dirtyResponses.push(assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(assessment_defineProperty({}, attrIdAssessmentResponse, dirtyRow.getAttribute(attrIdAssessmentResponse)), attrIdAssessmentCommandModalityLink, idAssessmentCommandModalityLink), attrIdResponseQualityMetric, responseQualityMetric), attrIdObedienceLevel, obedienceLevel), flagValueMeasured, valueMeasured), flagNotes, notes), flagActive, active)); + } + return dirtyResponses; + } }, { key: "initialiseRowNew", value: function initialiseRowNew(tbody, row) {} @@ -6945,6 +7148,16 @@ var PageDogAssessment = /*#__PURE__*/function (_TableBasePage) { clickableElement.click(); }); } + }, { + key: "callFilterTableContent", + value: function callFilterTableContent() { + if (assessment[attrIdAssessment] < 1) { + var formFilters = TableBasePage.getFormFilters(); + var filterAssessment = formFilters.querySelector('#' + attrIdAssessment); + DOM.setElementValueCurrent(filterAssessment, ''); + } + assessment_superPropGet(PageDogAssessment, "callFilterTableContent", this, 3)([]); + } }, { key: "hookupTableMain", value: function hookupTableMain() { @@ -6962,6 +7175,12 @@ var PageDogAssessment = /*#__PURE__*/function (_TableBasePage) { this.hookupTableAssessmentFieldLocation(); this.hookupTableAssessmentFieldUserHandler(); this.hookupTableAssessmentFieldNotes(); + if (assessment[attrIdAssessment] < 1) { + var tbody = document.querySelector(idTableAssessment + ' tbody'); + var row = tbody.querySelector('tr'); + row.classList.add(flagRowNew); + this.postInitialiseRowNewCallback(tbody); + } } }, { key: "hookupTableAssessmentFieldWeather", @@ -7148,7 +7367,7 @@ var PageDogAssessment = /*#__PURE__*/function (_TableBasePage) { this.hookupTableAssessmentCommandModalityLinksFieldsCommand(); this.hookupTableAssessmentCommandModalityLinksFieldsCommandModality(); this.hookupTableAssessmentCommandModalityLinksFieldsBribe(); - this.hookupTableAssessmentCommandModalityLinksFieldsDistanceFromHandler(); + this.hookupTableAssessmentCommandModalityLinksFieldsDistanceFromHandlerMetres(); this.hookupTableAssessmentCommandModalityLinksFieldsIsInHearingRangeOfHandler(); this.hookupTableAssessmentCommandModalityLinksFieldsIsInScentRangeOfHandler(); this.hookupTableAssessmentCommandModalityLinksFieldsIsInSightOfHandler(); @@ -7228,9 +7447,9 @@ var PageDogAssessment = /*#__PURE__*/function (_TableBasePage) { this.hookupTableCellDdlPreviews(fieldFlag, optionList, cellSelector); } }, { - key: "hookupTableAssessmentCommandModalityLinksFieldsDistanceFromHandler", - value: function hookupTableAssessmentCommandModalityLinksFieldsDistanceFromHandler() { - this.hookupChangeHandlerTableCells(idTableAssessmentCommandModalityLinks + ' td.' + flagDistanceFromHandler + ' .' + flagDistanceFromHandler); + key: "hookupTableAssessmentCommandModalityLinksFieldsDistanceFromHandlerMetres", + value: function hookupTableAssessmentCommandModalityLinksFieldsDistanceFromHandlerMetres() { + this.hookupChangeHandlerTableCells(idTableAssessmentCommandModalityLinks + ' td.' + flagDistanceFromHandlerMetres + ' .' + flagDistanceFromHandlerMetres); } }, { key: "hookupTableAssessmentCommandModalityLinksFieldsIsInHearingRangeOfHandler", @@ -7270,6 +7489,8 @@ var PageDogAssessment = /*#__PURE__*/function (_TableBasePage) { var selector = idTableAssessmentCommandModalityLinks + ' td.' + flagAssessmentResponse + ' div.' + flagAssessmentResponse; var handler = function handler(event, element) { var parentTd = DOM.getCellFromElement(element); + var rowAssessmentCommandModalityLink = parentTd.closest('tr.' + flagAssessmentCommandModalityLink); + var idAssessmentCommandModalityLink = rowAssessmentCommandModalityLink.getAttribute(attrIdAssessmentCommandModalityLink); var responsesTable = document.createElement("table"); responsesTable.id = idTableAssessmentResponses.replace("#", ""); responsesTable.classList.add(flagTableMain, flagAssessmentResponse); @@ -7299,16 +7520,42 @@ var PageDogAssessment = /*#__PURE__*/function (_TableBasePage) { head.appendChild(headRow); responsesTable.appendChild(head); var body = document.createElement("tbody"); - var assessmentCommandModalityLink = assessment[flagAssessmentCommandModalityLink]; + var assessmentCommandModalityLinks = assessment[flagAssessmentCommandModalityLink].filter(function (link) { + return link[attrIdAssessmentCommandModalityLink] == idAssessmentCommandModalityLink; + }); + var assessmentCommandModalityLink = assessmentCommandModalityLinks == null || assessmentCommandModalityLinks.length == 0 ? null : assessmentCommandModalityLinks[0]; var responses = assessmentCommandModalityLink == null ? null : assessmentCommandModalityLink[flagAssessmentResponse]; + console.log({ + assessmentCommandModalityLinks: assessmentCommandModalityLinks, + responses: responses + }); if (responses != null && responses.length > 0) { - for (var response in responses) { + for (var responseKey in Object.keys(responses)) { + var response = responses[responseKey]; var row = PageDogAssessment.createNewRowTableAssessmentResponses(response); body.appendChild(row); } } responsesTable.appendChild(body); parentTd.innerHTML = responsesTable.outerHTML; + var responseRows = parentTd.querySelectorAll('tbody tr.' + flagAssessmentResponse); + if (responseRows != null && responseRows.length > 0) { + for (var indexRow = 0; indexRow < responseRows.length; indexRow++) { + var _row = responseRows[indexRow]; + // let idAssessmentResponse = row.getAttribute(attrIdAssessmentResponse); + + var _response = responses[indexRow]; // idAssessmentResponse]; + console.log({ + indexRow: indexRow, + row: _row, + response: _response + }); // idAssessmentResponse, + var inputValueMeasured = _row.querySelector('td.' + flagValueMeasured + ' .' + flagValueMeasured); + DOM.setElementValueCurrent(inputValueMeasured, _response[flagValueMeasured]); + var inputNotes = _row.querySelector('td.' + flagNotes + ' .' + flagNotes); + DOM.setElementValueCurrent(inputNotes, _response[flagNotes]); + } + } _this3.hookupTablesAssessmentResponses(); }; Events.hookupEventHandler(eventType, selector, handler); @@ -7369,7 +7616,7 @@ var PageDogAssessment = /*#__PURE__*/function (_TableBasePage) { row.querySelectorAll('.' + flagInitialised).forEach(function (element) { element.classList.remove(flagInitialised); }); - var countRows = document.querySelectorAll(attrIdAssessmentResponse + ' > tbody > tr').length; + var countRows = document.querySelectorAll(idTableAssessmentResponses + ' > tbody > tr').length; row.setAttribute(attrIdAssessmentResponse, -1 - countRows); tbody.prepend(row); tbody.scrollTop = 0; @@ -7441,7 +7688,10 @@ var PageDogAssessment = /*#__PURE__*/function (_TableBasePage) { }], [{ key: "createNewRowTableAssessmentResponses", value: function createNewRowTableAssessmentResponses(response) { - if (response == null) response = assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(assessment_defineProperty({}, attrIdAssessmentResponse, null), flagResponseQualityMetric, 0), flagObedienceLevel, 0), flagValueMeasured, ''), flagNotes, ''), flagActive, true); + if (response == null) response = assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(assessment_defineProperty({}, attrIdAssessmentResponse, null), attrIdResponseQualityMetric, assessment_defineProperty({}, attrIdResponseQualityMetric, 0)), attrIdObedienceLevel, assessment_defineProperty({}, attrIdObedienceLevel, 0)), flagValueMeasured, ''), flagNotes, ''), flagActive, true); + console.log({ + response: response + }); var isNew = response[attrIdAssessmentResponse] == null || response[attrIdAssessmentResponse] < 1; var row = document.createElement("tr"); row.classList.add(flagAssessmentResponse); @@ -7451,16 +7701,20 @@ var PageDogAssessment = /*#__PURE__*/function (_TableBasePage) { tdResponseQualityMetric.classList.add(flagResponseQualityMetric, flagDdlPreview); var divResponseQualityMetric = document.createElement("div"); divResponseQualityMetric.classList.add(flagResponseQualityMetric); - DOM.setElementAttributesValuesCurrentAndPrevious(divResponseQualityMetric, response[flagResponseQualityMetric]); - divResponseQualityMetric.innerText = response[flagResponseQualityMetric]; + var idResponseQualityMetric = response[attrIdResponseQualityMetric][attrIdResponseQualityMetric]; + var responseQualityMetric = filterResponseQualityMetrics[idResponseQualityMetric]; + DOM.setElementAttributesValuesCurrentAndPrevious(divResponseQualityMetric, idResponseQualityMetric); + divResponseQualityMetric.innerText = responseQualityMetric == null ? '' : responseQualityMetric[flagName]; tdResponseQualityMetric.appendChild(divResponseQualityMetric); row.appendChild(tdResponseQualityMetric); var tdObedienceLevel = document.createElement("td"); tdObedienceLevel.classList.add(flagObedienceLevel, flagDdlPreview); var divObedienceLevel = document.createElement("div"); divObedienceLevel.classList.add(flagObedienceLevel); - DOM.setElementAttributesValuesCurrentAndPrevious(divObedienceLevel, response[flagObedienceLevel]); - divObedienceLevel.innerText = response[flagObedienceLevel]; + var idObedienceLevel = response[attrIdObedienceLevel][attrIdObedienceLevel]; + var obedienceLevel = filterObedienceLevels[idObedienceLevel]; + DOM.setElementAttributesValuesCurrentAndPrevious(divObedienceLevel, idObedienceLevel); + divObedienceLevel.innerText = obedienceLevel == null ? '' : obedienceLevel[flagName]; tdObedienceLevel.appendChild(divObedienceLevel); row.appendChild(tdObedienceLevel); var tdValueMeasured = document.createElement("td"); @@ -7468,18 +7722,26 @@ var PageDogAssessment = /*#__PURE__*/function (_TableBasePage) { var inputValueMeasured = document.createElement("input"); inputValueMeasured.type = "number"; inputValueMeasured.classList.add(flagValueMeasured); - DOM.setElementAttributesValuesCurrentAndPrevious(inputValueMeasured, response[flagValueMeasured]); - inputValueMeasured.value = response[flagValueMeasured]; + var valueMeasured = response[flagValueMeasured]; + DOM.setElementValueCurrent(inputValueMeasured, valueMeasured); + DOM.setElementAttributeValuePrevious(inputValueMeasured, valueMeasured); tdValueMeasured.appendChild(inputValueMeasured); row.appendChild(tdValueMeasured); var tdNotes = document.createElement("td"); tdNotes.classList.add(flagNotes, flagDdlPreview); var inputNotes = document.createElement("textarea"); inputNotes.classList.add(flagNotes); - DOM.setElementAttributesValuesCurrentAndPrevious(inputNotes, response[flagNotes]); - inputNotes.value = response[flagNotes]; + var notes = response[flagNotes]; + DOM.setElementValueCurrent(inputNotes, notes); + DOM.setElementAttributeValuePrevious(inputNotes, notes); tdNotes.appendChild(inputNotes); row.appendChild(tdNotes); + console.log(inputValueMeasured.tagName); + console.log(inputNotes.tagName); + console.log({ + valueMeasured: valueMeasured, + notes: notes + }); var tdActive = document.createElement("td"); tdActive.classList.add(flagActive, flagDdlPreview); var templateAddIcon = document.querySelector(idContainerTemplateElements + ' .' + flagButton + '.' + flagIcon + '.' + flagActive + '.' + flagAdd); @@ -7618,10 +7880,15 @@ var PageDogAssessments = /*#__PURE__*/function (_TableBasePage) { value: function postInitialiseRowNewCallback(tbody) { var newRows = tbody.querySelectorAll('tr.' + flagRowNew); var newestRow = newRows[0]; - var clickableElementsSelector = ['td.' + flagWeather + ' div.' + flagWeather, ',td.' + flagLightingLevel + ' div.' + flagLightingLevel, ',td.' + flagLocation + ' div.' + flagLocation, ',td.' + flagUserHandler + ' div.' + flagUserHandler].join(''); - newestRow.querySelectorAll(clickableElementsSelector).forEach(function (clickableElement) { - clickableElement.click(); - }); + var clickableElementsSelector = ['td.' + flagDetail + ' .' + flagDetail].join(''); + var detailButton = newestRow.querySelector('td.' + flagDetail + ' .' + flagDetail); /*.forEach((clickableElement) => { + clickableElement. + clickableElement.click(); + }); + */ + newestRow.classList.add(flagIsCollapsed); + detailButton.click(); + // console.log({ newestRow, detailButton }); } }, { key: "hookupTableMain", diff --git a/static/dist/js/main.bundle.js.map b/static/dist/js/main.bundle.js.map index c81f98b..f1860be 100644 --- a/static/dist/js/main.bundle.js.map +++ b/static/dist/js/main.bundle.js.map @@ -1 +1 @@ -{"version":3,"file":"js/main.bundle.js","mappings":"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","sources":["webpack://app/./static/js/lib/validation.js","webpack://app/./static/js/dom.js","webpack://app/./static/js/lib/events.js","webpack://app/./static/js/lib/local_storage.js","webpack://app/./static/js/api.js","webpack://app/./static/js/lib/utils.js","webpack://app/./static/js/components/common/temporary/overlay_confirm.js","webpack://app/./static/js/pages/base.js","webpack://app/./static/js/pages/core/home.js","webpack://app/./static/js/vendor/altcha.js","webpack://app/./static/js/pages/core/contact.js","webpack://app/./static/js/pages/core/contact-success.js","webpack://app/./static/js/pages/dog/home.js","webpack://app/./static/js/lib/business_objects/business_objects.js","webpack://app/./static/js/components/common/temporary/overlay_error.js","webpack://app/./static/js/pages/base_table.js","webpack://app/./static/js/pages/dog/mixin.js","webpack://app/./static/js/pages/dog/mixin_table.js","webpack://app/./static/js/pages/dog/command_categories.js","webpack://app/./static/js/pages/dog/commands.js","webpack://app/./static/js/pages/dog/dog_command_links.js","webpack://app/./static/js/pages/dog/locations.js","webpack://app/./static/js/pages/dog/button_icons.js","webpack://app/./static/js/pages/dog/command_button_links.js","webpack://app/./static/js/pages/dog/assessment.js","webpack://app/./static/js/pages/dog/assessments.js","webpack://app/./static/js/pages/legal/accessibility_report.js","webpack://app/./static/js/pages/legal/accessibility_statement.js","webpack://app/./static/js/pages/legal/license.js","webpack://app/./static/js/pages/legal/privacy_policy.js","webpack://app/./static/js/pages/legal/retention_schedule.js","webpack://app/./static/js/router.js","webpack://app/./static/js/app.js","webpack://app/./static/css/main.css?0a91","webpack://app/./static/css/components/button.css?0e0b","webpack://app/./static/css/components/card.css","webpack://app/./static/css/components/dialog.css","webpack://app/./static/css/components/form.css?94e1","webpack://app/./static/css/components/image.css?9f9c","webpack://app/./static/css/components/label.css?b78f","webpack://app/./static/css/components/modal.css","webpack://app/./static/css/components/navigation.css","webpack://app/./static/css/components/overlay.css?6dfd","webpack://app/./static/css/components/table.css?e553","webpack://app/./static/css/layouts/header.css?da75","webpack://app/./static/css/layouts/footer.css?65e3","webpack://app/./static/css/layouts/table-main.css?8c15","webpack://app/./static/css/lib/reset.css","webpack://app/./static/css/lib/typography.css","webpack://app/./static/css/lib/utils.css?0479","webpack://app/./static/css/lib/variables.css","webpack://app/./static/css/themes/light.css?855e"],"sourcesContent":["\nexport default class Validation {\n /*\n isNullOrWhitespace(v) {\n let txt = JSON.stringify(v).replace('/\\s\\g', '');\n return (txt == '' || 'null');\n }\n */\n\n static isEmpty(object) {\n\n let isEmpty = true;\n\n if (object !== null && object !== \"null\" && object !== undefined && object !== \"undefined\") {\n\n if (object.length == undefined) {\n isEmpty = false; // object exists but isn't a collection\n }\n else if (typeof object === \"function\") {\n isEmpty = false; // object is reference\n }\n else { // string or collection\n\n let isString = (typeof object == \"string\");\n\n if (isString) object = object.trim();\n\n if (object.length > 0) {\n\n if (isString) {\n isEmpty = false; // String greater than length 0\n }\n else {\n\n if (typeof object[0] != \"string\") {\n isEmpty = false;\n }\n else {\n for(let i = 0; i < object.length; i++) {\n if (object[i] != \"\") {\n isEmpty = false;\n break\n }\n }\n }\n }\n }\n }\n }\n\n return isEmpty;\n }\n\n static isValidNumber(value, positiveOnly) {\n return !Validation.isEmpty(value) && !isNaN(value) && (!positiveOnly || parseFloat(value) > 0);\n }\n\n static getDataContentType(params) {\n\n var data = null;\n var contentType = '';\n\n if (!Validation.isEmpty(params)) {\n\n if (typeof params === \"string\") {\n data = params;\n contentType = \"application/x-www-form-urlencoded; charset=UTF-8\";\n }\n else {\n data = JSON.stringify(params);\n contentType = \"application/json; charset=UTF-8\";\n }\n }\n\n return { Data: data, ContentType: contentType };\n }\n\n static arrayContainsItem(array, itemValue) {\n\n var hasItem = false;\n\n if (!Validation.isEmpty(array) && !Validation.isEmpty(itemValue)) {\n\n var isJQueryElementArray = array[0] instanceof jQuery;\n\n if (isJQueryElementArray) {\n\n for (let i = 0; i < array.length; i++) {\n\n if (document.querySelectorAll(array[i]).is(itemValue)) {\n hasItem = true;\n break;\n }\n }\n }\n else {\n\n var isDate = array[0] instanceof Date;\n\n if (isDate) {\n \n for (let i = 0; i < array.length; i++) {\n\n if (array[i].getTime() === itemValue.getTime()) {\n hasItem = true;\n break;\n }\n }\n }\n else {\n\n for (let i = 0; i < array.length; i++) {\n\n if (array[i] == itemValue) {\n hasItem = true;\n break;\n }\n }\n }\n }\n }\n\n return hasItem;\n }\n\n static dictHasKey(d, k) {\n return (k in d);\n }\n static areEqualDicts(dict1, dict2) {\n const keys1 = Object.keys(dict1);\n const keys2 = Object.keys(dict2);\n \n if (keys1.length !== keys2.length) {\n return false;\n }\n \n for (let key of keys1) {\n if (dict1[key] !== dict2[key]) {\n return false;\n }\n }\n \n return true;\n }\n\n static imageExists(url, callback) {\n\n var img = new Image();\n\n img.onload = function() { callback(true); };\n img.onerror = function() { callback(false); };\n img.src = url;\n }\n\n static toFixedOrDefault(value, decimalPlaces, defaultValue = null) {\n return Validation.isValidNumber(value) ? parseFloat(value).toFixed(decimalPlaces) : defaultValue;\n }\n}\n","\nimport Utils from \"./lib/utils.js\";\nimport Validation from \"./lib/validation.js\";\n\nexport default class DOM {\n static setElementAttributesValuesCurrentAndPrevious(element, data) {\n DOM.setElementAttributeValueCurrent(element, data);\n DOM.setElementAttributeValuePrevious(element, data);\n }\n static setElementAttributeValueCurrent(element, data) {\n element.setAttribute(attrValueCurrent, data);\n }\n static setElementAttributeValuePrevious(element, data) {\n element.setAttribute(attrValuePrevious, data);\n }\n static setElementValuesCurrentAndPrevious(element, data) {\n DOM.setElementValueCurrent(element, data);\n DOM.setElementAttributeValuePrevious(element, data);\n }\n static setElementValueCurrent(element, data) {\n DOM.setElementAttributeValueCurrent(element, data);\n let tagName = element.tagName.toUpperCase();\n if (element.type === \"checkbox\") {\n element.checked = data;\n }\n else if (tagName === 'INPUT' || tagName === 'TEXTAREA' || tagName === 'SELECT') {\n element.value = data;\n }\n else {\n element.textContent = data;\n }\n }\n static setElementValueCurrentIfEmpty(element, data) {\n if (Validation.isEmpty(DOM.getElementValueCurrent(element))) {\n DOM.setElementValueCurrent(element, data);\n }\n }\n static getCellFromElement(element) {\n return element.closest('td');\n }\n static getRowFromElement(element, flagRow) {\n let selector = Validation.isEmpty(flagRow) ? 'tr' : 'tr.' + flagRow;\n return element.closest(selector);\n }\n static getClosestParent(element, parentSelector) {\n let parent = element.parentElement;\n while (parent) {\n if (parent.matches(parentSelector)) {\n return parent;\n }\n parent = parent.parentElement;\n }\n return null;\n }\n static convertForm2JSON(elementForm) {\n let dataForm = {};\n if (Validation.isEmpty(elementForm)) {\n return dataForm;\n }\n let containersFilter = elementForm.querySelectorAll('.' + flagContainerInput + '.' + flagFilter);\n let containerFilter, labelFilter, keyFilter, filter;\n for (let indexFilter = 0; indexFilter < containersFilter.length; indexFilter++) {\n containerFilter = containersFilter[indexFilter];\n labelFilter = containerFilter.querySelector('label');\n keyFilter = labelFilter.getAttribute('for');\n filter = containerFilter.querySelector(`#${keyFilter}`);\n dataForm[keyFilter] = DOM.getElementValueCurrent(filter);\n }\n return dataForm;\n }\n static loadPageBody(contentNew) {\n let pageBody = document.querySelector(idPageBody);\n pageBody.innerHTML = contentNew;\n }\n static getHashPageCurrent() {\n const hashPageCurrent = document.body.dataset.page;\n return hashPageCurrent;\n }\n static updateAndCheckIsElementDirty(element) {\n element.setAttribute(attrValueCurrent, DOM.getElementValueCurrent(element));\n return DOM.isElementDirty(element);\n }\n static isElementDirty(element) {\n let isDirty = element.getAttribute(attrValuePrevious) != element.getAttribute(attrValueCurrent);\n DOM.handleDirtyElement(element, isDirty);\n return isDirty;\n }\n static handleDirtyElement(element, isDirty) {\n DOM.toggleElementHasClassnameFlag(element, isDirty, flagDirty);\n }\n static toggleElementHasClassnameFlag(element, elementHasFlag, flag) {\n let elementAlreadyHasFlag = element.classList.contains(flag);\n if (elementHasFlag == elementAlreadyHasFlag) return;\n if (elementHasFlag) {\n element.classList.add(flag);\n } else {\n element.classList.remove(flag);\n }\n }\n static hasDirtyChildrenContainer(container) {\n if (container == null) return false;\n return container.querySelector('.' + flagDirty) != null;\n }\n static hasDirtyChildrenNotDeletedContainer(container) {\n if (container == null || container.classList.contains(flagDelete)) return false;\n return container.querySelector('.' + flagDirty + ':not(.' + flagDelete + ', .' + flagDelete + ' *)') != null;\n }\n static getElementValueCurrent(element) {\n let returnVal = '';\n \n if (!Validation.isEmpty(element)) {\n \n let tagName = element.tagName.toUpperCase();\n if (element.type === \"checkbox\") {\n returnVal = element.checked;\n }\n /*\n else if (element.classList.contains(flagIsDatePicker)) {\n returnVal = getDatePickerDate(element, adjust4DayLightSavings);\n }\n */\n else if (tagName === 'INPUT' || tagName === 'TEXTAREA' || tagName === 'SELECT') {\n returnVal = element.value;\n }\n else if (element.classList.contains(flagButton) && element.classList.contains(flagActive)) { // tagName === 'BUTTON'\n returnVal = element.classList.contains(flagDelete);\n }\n else if (tagName === 'TD') {\n returnVal = DOM.getElementAttributeValueCurrent(element);\n }\n else if (tagName == 'SVG' && element.classList.contains(flagCheckbox)) {\n returnVal = (element.classList.contains(flagIsChecked))\n }\n else {\n returnVal = element.textContent;\n }\n }\n \n if (Validation.isEmpty(returnVal)) returnVal = '';\n \n return returnVal;\n }\n static getElementAttributeValueCurrent(element) {\n // debugger;\n if (Validation.isEmpty(element)) return null;\n return element.getAttribute(attrValueCurrent);\n }\n static getElementAttributeValuePrevious(element) {\n if (Validation.isEmpty(element)) return null;\n return element.getAttribute(attrValuePrevious);\n }\n /* base_table.handleChangeElementCellTable\n static updateAndCheckIsTableElementDirty(element) {\n let wasDirty = DOM.isElementDirty(element);\n let row = DOM.getRowFromElement(element);\n let wasDirtyRow = DOM.hasDirtyChildrenNotDeletedContainer(row);\n let isDirty = DOM.updateAndCheckIsElementDirty(element);\n let cell = DOM.getCellFromElement(element);\n Utils.consoleLogIfNotProductionEnvironment({element, row, cell, isDirty, wasDirty});\n if (isDirty != wasDirty) {\n DOM.handleDirtyElement(cell, isDirty);\n let isDirtyRow = DOM.hasDirtyChildrenNotDeletedContainer(row);\n Utils.consoleLogIfNotProductionEnvironment({isDirtyRow, wasDirtyRow});\n if (isDirtyRow != wasDirtyRow) {\n DOM.handleDirtyElement(row, isDirtyRow);\n }\n }\n }\n */\n static scrollToElement(parent, element) {\n // REQUIRED: parent has scroll-bar\n parent.scrollTop(parent.scrollTop() + (element.offset().top - parent.offset().top));\n }\n static isElementInContainer(container, element) {\n\n if (typeof jQuery === 'function') {\n if (container instanceof jQuery) container = container[0];\n if (element instanceof jQuery) element = element[0];\n }\n\n var containerBounds = container.getBoundingClientRect();\n var elementBounds = element.getBoundingClientRect();\n\n return (\n containerBounds.top <= elementBounds.top &&\n containerBounds.left <= elementBounds.left &&\n ((elementBounds.top + elementBounds.height) <= (containerBounds.top + containerBounds.height)) &&\n ((elementBounds.left + elementBounds.width) <= (containerBounds.left + containerBounds.width))\n );\n }\n static alertError(errorType, errorText) {\n alert(errorType + '\\n' + errorText);\n }\n static createOptionUnselectedProductVariation() {\n return {\n [flagProductVariationType]: {\n [flagNameAttrOptionText]: [flagName],\n [flagNameAttrOptionValue]: [attrIdProductVariationType],\n [flagName]: 'Select Variation Type',\n [attrIdProductVariationType]: 0,\n },\n [flagProductVariation]: {\n [flagNameAttrOptionText]: [flagName],\n [flagNameAttrOptionValue]: [attrIdProductVariation],\n [flagName]: 'Select Variation',\n [attrIdProductVariation]: 0,\n },\n };\n }\n static createOption(optionJson) {\n if (Validation.isEmpty(optionJson)) optionJson = {\n text: 'Select',\n value: 0,\n };\n let option = document.createElement('option');\n option.value = optionJson.value;\n option.textContent = optionJson.text;\n option.selected = optionJson.selected;\n return option;\n }\n\n static escapeHtml(text) {\n const div = document.createElement('div');\n div.textContent = text;\n return div.innerHTML;\n }\n static unescapeHtml(html) {\n const div = document.createElement('div');\n div.innerHTML = html;\n return div.textContent || div.innerText || '';\n }\n}\n","\nexport default class Events {\n static initialiseEventHandler(selectorElement, classInitialised, eventHandler) {\n document.querySelectorAll(selectorElement).forEach(function(element) {\n if (element.classList.contains(classInitialised)) return;\n eventHandler(element);\n element.classList.add(classInitialised);\n });\n }\n static hookupEventHandler(eventType, selector, callback) {\n Events.initialiseEventHandler(selector, flagInitialised, (element) => {\n element.addEventListener(eventType, (event) => {\n event.stopPropagation();\n callback(event, element);\n });\n });\n }\n}","\nimport Validation from \"./validation.js\";\n\nexport default class LocalStorage {\n/*\nfunction getPageLocalStorage(pageHash) {\n\n let ls;\n try {\n ls = JSON.parse(localStorage.getItem(pageHash));\n } catch {\n\n }\n\n if (Validation.isEmpty(ls)) return {}\n\n return ls;\n}\nfunction getPageLocalStorageCurrent() {\n\n return JSON.parse(localStorage.getItem(hashPageCurrent));\n}\n\nfunction setPageLocalStorage(pageHash, newLS) {\n\n localStorage.setItem(pageHash, JSON.stringify(newLS));\n}\n\nfunction clearPageLocalStorage(pageHash) {\n localStorage.removeItem(pageHash);\n}\n\nfunction setupPageLocalStorage(pageHash) {\n\n let ls = getPageLocalStorage(pageHash);\n\n if (Validation.isEmpty(ls)) ls = {};\n\n setPageLocalStorage(pageHash, ls);\n}\n*/\n\n static getLocalStorage(key) {\n return JSON.parse(localStorage.getItem(key));\n }\n\n static setLocalStorage(key, newLS) {\n localStorage.setItem(key, JSON.stringify(newLS));\n }\n\n/*\nfunction setupPageLocalStorageNext(pageHashNext) {\n let lsOld = getPageLocalStorage(hashPageCurrent);\n hashPageCurrent = pageHashNext;\n clearPageLocalStorage(hashPageCurrent);\n setupPageLocalStorage(hashPageCurrent);\n let lsNew = getPageLocalStorage(hashPageCurrent);\n lsNew[keyBasket] = (keyBasket in lsOld) ? lsOld[keyBasket] : {'items': []};\n setPageLocalStorage(hashPageCurrent, lsNew);\n}\n*/\n}","import DOM from './dom.js';\n\nexport default class API {\n \n static getCsrfToken() {\n return document.querySelector(idCSRFToken).getAttribute('content');\n }\n \n static async request(hashEndpoint, method = 'GET', data = null, params = null) {\n const url = API.getUrlFromHash(hashEndpoint, params);\n const csrfToken = API.getCsrfToken();\n const options = {\n method,\n headers: {\n 'Content-Type': 'application/json',\n [flagCsrfToken]: csrfToken,\n }\n };\n\n if (data && (method === 'POST' || method === 'PUT' || method === 'PATCH')) {\n data = { \n ...data, \n [flagCsrfToken]: csrfToken,\n };\n options.body = JSON.stringify(data);\n }\n\n try {\n const response = await fetch(url, options);\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n return await response.json();\n } catch (error) {\n console.error('API request failed:', error);\n throw error;\n }\n }\n \n static getUrlFromHash(hash, params = null) {\n if (hash == null) hash = hashPageHome;\n let url = API.parameteriseUrl(_pathHost + hash, params);\n return url;\n }\n static parameteriseUrl(url, params) {\n if (params) {\n url += '?' + new URLSearchParams(params).toString();\n }\n return url;\n }\n static goToUrl(url) {\n window.location.href = url;\n }\n static goToHash(hash, params = null) {\n const url = API.getUrlFromHash(hash, params);\n API.goToUrl(url);\n }\n\n // specific api calls\n /* Example:\n getUsers: () => request('/users'),\n getUserById: (id) => request(`/users/${id}`),\n createUser: (userData) => request('/users', 'POST', userData),\n updateUser: (id, userData) => request(`/users/${id}`, 'PUT', userData),\n deleteUser: (id) => request(`/users/${id}`, 'DELETE'),\n */\n static async loginUser() {\n let callback = {};\n callback[flagCallback] = DOM.getHashPageCurrent();\n return await API.request(hashPageUserLogin, 'POST', callback);\n }\n\n // dog\n // Command categories\n static async saveCommandCategories(commandCategories, formFilters, comment) {\n let dataRequest = {};\n dataRequest[flagFormFilters] = DOM.convertForm2JSON(formFilters);\n dataRequest[flagCommandCategory] = commandCategories;\n dataRequest[flagComment] = comment;\n return await API.request(hashSaveDogCommandCategory, 'POST', dataRequest);\n }\n \n // Commands\n static async saveCommands(commands, formFilters, comment) {\n let dataRequest = {};\n dataRequest[flagFormFilters] = DOM.convertForm2JSON(formFilters);\n dataRequest[flagCommand] = commands;\n dataRequest[flagComment] = comment;\n return await API.request(hashSaveDogCommand, 'POST', dataRequest);\n }\n \n // Dog Command Links\n static async saveDogCommandLinks(dogCommandLinks, formFilters, comment) {\n let dataRequest = {};\n dataRequest[flagFormFilters] = DOM.convertForm2JSON(formFilters);\n dataRequest[flagDogCommandLink] = dogCommandLinks;\n dataRequest[flagComment] = comment;\n return await API.request(hashSaveDogDogCommandLink, 'POST', dataRequest);\n }\n \n // Locations\n static async saveLocations(locations, formFilters, comment) {\n let dataRequest = {};\n dataRequest[flagFormFilters] = DOM.convertForm2JSON(formFilters);\n dataRequest[flagLocation] = locations;\n dataRequest[flagComment] = comment;\n return await API.request(hashSaveDogLocation, 'POST', dataRequest);\n }\n \n // Button Icons\n static async saveButtonIcons(buttonIcons, formFilters, comment) {\n let dataRequest = {};\n dataRequest[flagFormFilters] = DOM.convertForm2JSON(formFilters);\n dataRequest[flagButtonIcon] = buttonIcons;\n dataRequest[flagComment] = comment;\n return await API.request(hashSaveDogButtonIcon, 'POST', dataRequest);\n }\n \n // Command Button Links\n static async saveCommandButtonLinks(links, formFilters, comment) {\n let dataRequest = {};\n dataRequest[flagFormFilters] = DOM.convertForm2JSON(formFilters);\n dataRequest[flagCommandButtonLink] = links;\n dataRequest[flagComment] = comment;\n return await API.request(hashSaveDogCommandButtonLink, 'POST', dataRequest);\n }\n \n}\n","// Utility functions\n/*\nfunction $(selector) {\n return document.querySelector(selector);\n}\n\nfunction $$(selector) {\n return document.querySelectorAll(selector);\n}\n*/\nexport default class Utils {\n static getListFromDict(dict) {\n let list = [];\n for (let key in dict) {\n list.push(dict[key]);\n }\n return list;\n }\n static consoleLogIfNotProductionEnvironment(message) {\n if (environment.is_production != \"true\") {\n console.log(message);\n }\n }\n}","\nimport Events from \"../../../lib/events.js\";\n\nexport default class OverlayConfirm {\n static hookup(callbackSuccess) {\n Events.initialiseEventHandler(idOverlayConfirm + ' button.' + flagCancel, flagInitialised, (buttonCancel) => {\n buttonCancel.addEventListener('click', () => {\n let overlay = document.querySelector(idOverlayConfirm);\n overlay.style.visibility = 'hidden';\n });\n });\n Events.initialiseEventHandler(idOverlayConfirm + ' button.' + flagSubmit, flagInitialised, (buttonConfirm) => {\n buttonConfirm.addEventListener('click', () => {\n let overlay = document.querySelector(idOverlayConfirm);\n let textarea = overlay.querySelector('textarea');\n overlay.style.visibility = 'hidden';\n callbackSuccess(textarea.value);\n });\n });\n }\n static show() {\n let overlay = document.querySelector(idOverlayConfirm);\n overlay.classList.remove(flagIsCollapsed);\n overlay.style.visibility = 'visible';\n }\n}","\nimport BusinessObjects from \"../lib/business_objects/business_objects.js\";\nimport Events from \"../lib/events.js\";\nimport LocalStorage from \"../lib/local_storage.js\";\nimport API from \"../api.js\";\nimport DOM from \"../dom.js\";\nimport Utils from \"../lib/utils.js\";\n\nimport OverlayConfirm from \"../components/common/temporary/overlay_confirm.js\";\nimport OverlayError from \"../components/common/temporary/overlay_error.js\";\n\nexport default class BasePage {\n constructor(router) {\n if (!router) {\n throw new Error(\"Router is required\");\n }\n else {\n Utils.consoleLogIfNotProductionEnvironment(\"initialising with router: \", router);\n }\n this.router = router;\n this.title = titlePageCurrent;\n if (this.constructor === BasePage) {\n throw new Error(\"Cannot instantiate abstract class\");\n }\n \n if (!this.constructor.hash) {\n throw new Error(`Class ${this.constructor.name} must have a static hash attribute.`);\n }\n }\n\n initialize() {\n throw new Error(\"Method 'initialize()' must be implemented.\");\n }\n\n sharedInitialize() {\n this.logInitialisation();\n this.hookupCommonElements();\n }\n\n logInitialisation() {\n Utils.consoleLogIfNotProductionEnvironment('Initializing ' + this.title + ' page');\n }\n \n hookupCommonElements() {\n // hookupVideos();\n this.hookupLogos();\n this.hookupNavigation();\n this.hookupOverlays();\n }\n \n hookupNavigation() {\n Events.hookupEventHandler(\"click\", idButtonHamburger, (event, element) => {\n let overlayHamburger = document.querySelector(idOverlayHamburger);\n if (overlayHamburger.classList.contains(flagIsCollapsed)) {\n overlayHamburger.classList.remove(flagIsCollapsed);\n overlayHamburger.classList.add(flagExpanded);\n } else {\n overlayHamburger.classList.remove(flagExpanded);\n overlayHamburger.classList.add(flagIsCollapsed);\n }\n });\n\n this.hookupButtonsNavHome();\n this.hookupButtonsNavContact();\n // this.hookupButtonsNavAdminHome();\n this.hookupButtonsNavUserAccount();\n this.hookupButtonsNavUserLogout();\n this.hookupButtonsNavUserLogin();\n\n // this.hookupButtonsNavStoreHome();\n // this.hookupButtonsNavStoreManufacturingPurchaseOrders();\n this.hookupButtonsNavDogHome();\n this.hookupButtonsNavDogCommandCategories();\n this.hookupButtonsNavDogCommands();\n this.hookupButtonsNavDogDogCommandLinks();\n this.hookupButtonsNavDogDogs();\n this.hookupButtonsNavDogLocations();\n this.hookupButtonsNavDogButtonIcons();\n this.hookupButtonsNavDogCommandButtonLinks();\n this.hookupButtonsNavDogAssessments();\n }\n hookupEventHandler(eventType, selector, callback) {\n Events.initialiseEventHandler(selector, flagInitialised, (element) => {\n element.addEventListener(eventType, (event) => {\n event.stopPropagation();\n callback(event, element);\n });\n });\n }\n hookupButtonsNavHome() {\n this.hookupButtonsNav('.' + flagNavHome, hashPageHome);\n }\n hookupButtonsNav(buttonSelector, hashPageNav) {\n Events.hookupEventHandler(\"click\", buttonSelector, (event, button) => { \n this.router.navigateToHash(hashPageNav); \n });\n }\n hookupButtonsNavContact() {\n this.hookupButtonsNav('.' + flagNavContact, hashPageContact);\n }\n /*\n hookupButtonsNavAdminHome() {\n this.hookupButtonsNav('.' + flagNavAdminHome, hashPageAdminHome);\n }\n hookupButtonsNavServices() {\n this.hookupButtonsNav('.' + flagNavServices, hashPageServices);\n }\n */\n hookupButtonsNavUserAccount() {\n this.hookupButtonsNav('.' + flagNavUserAccount, hashPageUserAccount);\n }\n hookupButtonsNavUserLogout() {\n this.hookupButtonsNav('.' + flagNavUserLogout, hashPageUserLogout);\n }\n hookupButtonsNavUserLogin() {\n Events.hookupEventHandler(\"click\", '.' + flagNavUserLogin, (event, navigator) => { \n event.stopPropagation();\n this.leave();\n API.loginUser()\n .then((response) => {\n if (response.Success) {\n window.location.href = response[flagCallback];\n } else {\n DOM.alertError(\"Error\", response.Message);\n }\n });\n });\n }\n hookupButtonsNavDogHome() {\n this.hookupButtonsNav('.' + flagNavDogHome, hashPageDogHome);\n }\n hookupButtonsNavDogCommandCategories() {\n this.hookupButtonsNav('.' + flagNavDogCommandCategories, hashPageDogCommandCategories);\n }\n hookupButtonsNavDogCommands() {\n this.hookupButtonsNav('.' + flagNavDogCommands, hashPageDogCommands);\n }\n hookupButtonsNavDogDogCommandLinks() {\n this.hookupButtonsNav('.' + flagNavDogDogCommandLinks, hashPageDogDogCommandLinks);\n }\n hookupButtonsNavDogDogs() {\n this.hookupButtonsNav('.' + flagNavDogDogs, hashPageDogDogs);\n }\n hookupButtonsNavDogLocations() {\n this.hookupButtonsNav('.' + flagNavDogLocations, hashPageDogLocations);\n }\n hookupButtonsNavDogButtonIcons() {\n this.hookupButtonsNav('.' + flagNavDogButtonIcons, hashPageDogButtonIcons);\n }\n hookupButtonsNavDogCommandButtonLinks() {\n this.hookupButtonsNav('.' + flagNavDogCommandButtonLinks, hashPageDogCommandButtonLinks);\n }\n hookupButtonsNavDogAssessments() {\n this.hookupButtonsNav('.' + flagNavDogAssessments, hashPageDogAssessments);\n }\n\n hookupLogos() {\n Events.hookupEventHandler(\"click\", \".\" + flagImageLogo + \",\" + \".\" + flagLogo, (event, element) => {\n Utils.consoleLogIfNotProductionEnvironment('clicking logo');\n this.router.navigateToHash(hashPageHome);\n });\n }\n\n hookupOverlays() {\n this.hookupOverlayFromId(idOverlayConfirm);\n this.hookupOverlayFromId(idOverlayError);\n }\n\n hookupOverlayFromId(idOverlay) {\n Events.initialiseEventHandler(idOverlay, flagInitialised, (overlay) => {\n overlay.querySelector('button.' + flagCancel).addEventListener(\"click\", (event) => {\n event.stopPropagation();\n overlay.style.display = 'none';\n });\n });\n }\n\n hookupButtonSave() {\n Events.initialiseEventHandler('form.' + flagFilter + ' button.' + flagSave, flagInitialised, (button) => {\n button.addEventListener(\"click\", (event) => {\n event.stopPropagation();\n button = event.target;\n if (button.classList.contains(flagIsCollapsed)) return;\n Utils.consoleLogIfNotProductionEnvironment('saving page: ', this.title);\n OverlayConfirm.show();\n });\n });\n }\n\n leave() {\n Utils.consoleLogIfNotProductionEnvironment('Leaving ' + this.title + ' page');\n if (this.constructor === BasePage) {\n throw new Error(\"Must implement leave() method.\");\n }\n }\n setLocalStoragePage(dataPage) {\n LocalStorage.setLocalStorage(this.hash, dataPage);\n }\n getLocalStoragePage() {\n return LocalStorage.getLocalStorage(this.hash);\n }\n\n toggleShowButtonsSaveCancel(show, buttonContainerSelector = '.' + flagContainer + '.' + flagSave + '.' + flagCancel) { // , buttonSave = null, buttonCancel = null\n let buttonSave = document.querySelector(buttonContainerSelector + ' button.' + flagSave);\n let buttonCancel = document.querySelector(buttonContainerSelector + ' button.' + flagCancel);\n if (show) {\n buttonCancel.classList.remove(flagIsCollapsed);\n buttonSave.classList.remove(flagIsCollapsed);\n Utils.consoleLogIfNotProductionEnvironment('showing buttons');\n } else {\n buttonCancel.classList.add(flagIsCollapsed);\n buttonSave.classList.add(flagIsCollapsed);\n Utils.consoleLogIfNotProductionEnvironment('hiding buttons');\n }\n }\n\n static isDirtyFilter(filter) {\n let isDirty = DOM.updateAndCheckIsElementDirty(filter);\n if (isDirty) document.querySelectorAll(idTableMain + ' tbody tr').remove();\n return isDirty;\n }\n\n}","\n// internal\nimport BasePage from \"../base.js\";\n// external\n\n\nexport default class PageHome extends BasePage {\n static hash = hashPageHome;\n\n constructor(router) {\n super(router);\n }\n\n initialize() {\n this.sharedInitialize();\n // this.hookupButtonsNav();\n }\n\n leave() {\n super.leave();\n }\n}\n\n","var hi = Object.defineProperty;\nvar Or = (e) => {\n throw TypeError(e);\n};\nvar gi = (e, t, r) => t in e ? hi(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r;\nvar ne = (e, t, r) => gi(e, typeof t != \"symbol\" ? t + \"\" : t, r), zr = (e, t, r) => t.has(e) || Or(\"Cannot \" + r);\nvar H = (e, t, r) => (zr(e, t, \"read from private field\"), r ? r.call(e) : t.get(e)), Mt = (e, t, r) => t.has(e) ? Or(\"Cannot add the same private member more than once\") : t instanceof WeakSet ? t.add(e) : t.set(e, r), Ut = (e, t, r, l) => (zr(e, t, \"write to private field\"), l ? l.call(e, r) : t.set(e, r), r);\nconst en = `(function(){\"use strict\";const d=new TextEncoder;function p(e){return[...new Uint8Array(e)].map(t=>t.toString(16).padStart(2,\"0\")).join(\"\")}async function b(e,t,r){if(typeof crypto>\"u\"||!(\"subtle\"in crypto)||!(\"digest\"in crypto.subtle))throw new Error(\"Web Crypto is not available. Secure context is required (https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts).\");return p(await crypto.subtle.digest(r.toUpperCase(),d.encode(e+t)))}function w(e,t,r=\"SHA-256\",n=1e6,s=0){const o=new AbortController,a=Date.now();return{promise:(async()=>{for(let c=s;c<=n;c+=1){if(o.signal.aborted)return null;if(await b(t,c,r)===e)return{number:c,took:Date.now()-a}}return null})(),controller:o}}function h(e){const t=atob(e),r=new Uint8Array(t.length);for(let n=0;n{for(let u=n;u<=r;u+=1){if(o.signal.aborted||!c||!y)return null;try{const f=await crypto.subtle.decrypt({name:s,iv:g(u)},c,y);if(f)return{clearText:new TextDecoder().decode(f),took:Date.now()-a}}catch{}}return null};let c=null,y=null;try{y=h(e);const u=await crypto.subtle.digest(\"SHA-256\",d.encode(t));c=await crypto.subtle.importKey(\"raw\",u,s,!1,[\"decrypt\"])}catch{return{promise:Promise.reject(),controller:o}}return{promise:l(),controller:o}}let i;onmessage=async e=>{const{type:t,payload:r,start:n,max:s}=e.data;let o=null;if(t===\"abort\")i==null||i.abort(),i=void 0;else if(t===\"work\"){if(\"obfuscated\"in r){const{key:a,obfuscated:l}=r||{};o=await m(l,a,s,n)}else{const{algorithm:a,challenge:l,salt:c}=r||{};o=w(l,c,a,s,n)}i=o.controller,o.promise.then(a=>{self.postMessage(a&&{...a,worker:!0})})}}})();\n`, Fr = typeof self < \"u\" && self.Blob && new Blob([en], { type: \"text/javascript;charset=utf-8\" });\nfunction _i(e) {\n let t;\n try {\n if (t = Fr && (self.URL || self.webkitURL).createObjectURL(Fr), !t) throw \"\";\n const r = new Worker(t, {\n name: e == null ? void 0 : e.name\n });\n return r.addEventListener(\"error\", () => {\n (self.URL || self.webkitURL).revokeObjectURL(t);\n }), r;\n } catch {\n return new Worker(\n \"data:text/javascript;charset=utf-8,\" + encodeURIComponent(en),\n {\n name: e == null ? void 0 : e.name\n }\n );\n } finally {\n t && (self.URL || self.webkitURL).revokeObjectURL(t);\n }\n}\nconst mi = \"5\";\nvar Qr;\ntypeof window < \"u\" && ((Qr = window.__svelte ?? (window.__svelte = {})).v ?? (Qr.v = /* @__PURE__ */ new Set())).add(mi);\nconst wi = 1, pi = 4, yi = 8, bi = 16, Ei = 1, xi = 2, Wt = \"[\", tn = \"[!\", rn = \"]\", Je = {}, W = Symbol(), $i = \"http://www.w3.org/1999/xhtml\", Mr = !1, oe = 2, nn = 4, It = 8, Yt = 16, pe = 32, ze = 64, yt = 128, re = 256, bt = 512, K = 1024, ye = 2048, et = 4096, Ke = 8192, St = 16384, ki = 32768, Zt = 65536, Ci = 1 << 19, ln = 1 << 20, ut = Symbol(\"$state\"), an = Symbol(\"legacy props\"), Ai = Symbol(\"\");\nvar on = Array.isArray, Ri = Array.prototype.indexOf, Ii = Array.from, Et = Object.keys, xt = Object.defineProperty, Pe = Object.getOwnPropertyDescriptor, Si = Object.getOwnPropertyDescriptors, Ti = Object.prototype, Ni = Array.prototype, sn = Object.getPrototypeOf;\nfunction fn(e) {\n for (var t = 0; t < e.length; t++)\n e[t]();\n}\nconst Li = typeof requestIdleCallback > \"u\" ? (e) => setTimeout(e, 1) : requestIdleCallback;\nlet dt = [], vt = [];\nfunction un() {\n var e = dt;\n dt = [], fn(e);\n}\nfunction cn() {\n var e = vt;\n vt = [], fn(e);\n}\nfunction Gt(e) {\n dt.length === 0 && queueMicrotask(un), dt.push(e);\n}\nfunction Di(e) {\n vt.length === 0 && Li(cn), vt.push(e);\n}\nfunction Ur() {\n dt.length > 0 && un(), vt.length > 0 && cn();\n}\nfunction dn(e) {\n return e === this.v;\n}\nfunction Pi(e, t) {\n return e != e ? t == t : e !== t || e !== null && typeof e == \"object\" || typeof e == \"function\";\n}\nfunction vn(e) {\n return !Pi(e, this.v);\n}\nfunction Oi(e) {\n throw new Error(\"https://svelte.dev/e/effect_in_teardown\");\n}\nfunction zi() {\n throw new Error(\"https://svelte.dev/e/effect_in_unowned_derived\");\n}\nfunction Fi(e) {\n throw new Error(\"https://svelte.dev/e/effect_orphan\");\n}\nfunction Mi() {\n throw new Error(\"https://svelte.dev/e/effect_update_depth_exceeded\");\n}\nfunction Ui() {\n throw new Error(\"https://svelte.dev/e/hydration_failed\");\n}\nfunction ji(e) {\n throw new Error(\"https://svelte.dev/e/props_invalid_value\");\n}\nfunction Vi() {\n throw new Error(\"https://svelte.dev/e/state_descriptors_fixed\");\n}\nfunction Bi() {\n throw new Error(\"https://svelte.dev/e/state_prototype_fixed\");\n}\nfunction qi() {\n throw new Error(\"https://svelte.dev/e/state_unsafe_local_read\");\n}\nfunction Hi() {\n throw new Error(\"https://svelte.dev/e/state_unsafe_mutation\");\n}\nlet Wi = !1;\nfunction ue(e, t) {\n var r = {\n f: 0,\n // TODO ideally we could skip this altogether, but it causes type errors\n v: e,\n reactions: null,\n equals: dn,\n rv: 0,\n wv: 0\n };\n return r;\n}\nfunction He(e) {\n return /* @__PURE__ */ Yi(ue(e));\n}\n// @__NO_SIDE_EFFECTS__\nfunction hn(e, t = !1) {\n const r = ue(e);\n return t || (r.equals = vn), r;\n}\n// @__NO_SIDE_EFFECTS__\nfunction Yi(e) {\n return k !== null && !ae && (k.f & oe) !== 0 && (ce === null ? Qi([e]) : ce.push(e)), e;\n}\nfunction P(e, t) {\n return k !== null && !ae && Dn() && (k.f & (oe | Yt)) !== 0 && // If the source was created locally within the current derived, then\n // we allow the mutation.\n (ce === null || !ce.includes(e)) && Hi(), Zi(e, t);\n}\nfunction Zi(e, t) {\n return e.equals(t) || (e.v, e.v = t, e.wv = En(), gn(e, ye), A !== null && (A.f & K) !== 0 && (A.f & (pe | ze)) === 0 && (ge === null ? el([e]) : ge.push(e))), t;\n}\nfunction gn(e, t) {\n var r = e.reactions;\n if (r !== null)\n for (var l = r.length, i = 0; i < l; i++) {\n var a = r[i], o = a.f;\n (o & ye) === 0 && (de(a, t), (o & (K | re)) !== 0 && ((o & oe) !== 0 ? gn(\n /** @type {Derived} */\n a,\n et\n ) : Lt(\n /** @type {Effect} */\n a\n )));\n }\n}\n// @__NO_SIDE_EFFECTS__\nfunction De(e) {\n var t = oe | ye, r = k !== null && (k.f & oe) !== 0 ? (\n /** @type {Derived} */\n k\n ) : null;\n return A === null || r !== null && (r.f & re) !== 0 ? t |= re : A.f |= ln, {\n ctx: B,\n deps: null,\n effects: null,\n equals: dn,\n f: t,\n fn: e,\n reactions: null,\n rv: 0,\n v: (\n /** @type {V} */\n null\n ),\n wv: 0,\n parent: r ?? A\n };\n}\nfunction _n(e) {\n var t = e.effects;\n if (t !== null) {\n e.effects = null;\n for (var r = 0; r < t.length; r += 1)\n we(\n /** @type {Effect} */\n t[r]\n );\n }\n}\nfunction Gi(e) {\n for (var t = e.parent; t !== null; ) {\n if ((t.f & oe) === 0)\n return (\n /** @type {Effect} */\n t\n );\n t = t.parent;\n }\n return null;\n}\nfunction Ji(e) {\n var t, r = A;\n Se(Gi(e));\n try {\n _n(e), t = $n(e);\n } finally {\n Se(r);\n }\n return t;\n}\nfunction mn(e) {\n var t = Ji(e), r = (Ce || (e.f & re) !== 0) && e.deps !== null ? et : K;\n de(e, r), e.equals(t) || (e.v = t, e.wv = En());\n}\nfunction Tt(e) {\n console.warn(\"https://svelte.dev/e/hydration_mismatch\");\n}\nlet D = !1;\nfunction Ge(e) {\n D = e;\n}\nlet O;\nfunction Re(e) {\n if (e === null)\n throw Tt(), Je;\n return O = e;\n}\nfunction Xe() {\n return Re(\n /** @type {TemplateNode} */\n /* @__PURE__ */ Te(O)\n );\n}\nfunction Z(e) {\n if (D) {\n if (/* @__PURE__ */ Te(O) !== null)\n throw Tt(), Je;\n O = e;\n }\n}\nfunction Ki() {\n for (var e = 0, t = O; ; ) {\n if (t.nodeType === 8) {\n var r = (\n /** @type {Comment} */\n t.data\n );\n if (r === rn) {\n if (e === 0) return t;\n e -= 1;\n } else (r === Wt || r === tn) && (e += 1);\n }\n var l = (\n /** @type {TemplateNode} */\n /* @__PURE__ */ Te(t)\n );\n t.remove(), t = l;\n }\n}\nfunction le(e, t = null, r) {\n if (typeof e != \"object\" || e === null || ut in e)\n return e;\n const l = sn(e);\n if (l !== Ti && l !== Ni)\n return e;\n var i = /* @__PURE__ */ new Map(), a = on(e), o = ue(0);\n a && i.set(\"length\", ue(\n /** @type {any[]} */\n e.length\n ));\n var f;\n return new Proxy(\n /** @type {any} */\n e,\n {\n defineProperty(s, c, v) {\n (!(\"value\" in v) || v.configurable === !1 || v.enumerable === !1 || v.writable === !1) && Vi();\n var h = i.get(c);\n return h === void 0 ? (h = ue(v.value), i.set(c, h)) : P(h, le(v.value, f)), !0;\n },\n deleteProperty(s, c) {\n var v = i.get(c);\n if (v === void 0)\n c in s && i.set(c, ue(W));\n else {\n if (a && typeof c == \"string\") {\n var h = (\n /** @type {Source} */\n i.get(\"length\")\n ), g = Number(c);\n Number.isInteger(g) && g < h.v && P(h, g);\n }\n P(v, W), jr(o);\n }\n return !0;\n },\n get(s, c, v) {\n var w;\n if (c === ut)\n return e;\n var h = i.get(c), g = c in s;\n if (h === void 0 && (!g || (w = Pe(s, c)) != null && w.writable) && (h = ue(le(g ? s[c] : W, f)), i.set(c, h)), h !== void 0) {\n var m = d(h);\n return m === W ? void 0 : m;\n }\n return Reflect.get(s, c, v);\n },\n getOwnPropertyDescriptor(s, c) {\n var v = Reflect.getOwnPropertyDescriptor(s, c);\n if (v && \"value\" in v) {\n var h = i.get(c);\n h && (v.value = d(h));\n } else if (v === void 0) {\n var g = i.get(c), m = g == null ? void 0 : g.v;\n if (g !== void 0 && m !== W)\n return {\n enumerable: !0,\n configurable: !0,\n value: m,\n writable: !0\n };\n }\n return v;\n },\n has(s, c) {\n var m;\n if (c === ut)\n return !0;\n var v = i.get(c), h = v !== void 0 && v.v !== W || Reflect.has(s, c);\n if (v !== void 0 || A !== null && (!h || (m = Pe(s, c)) != null && m.writable)) {\n v === void 0 && (v = ue(h ? le(s[c], f) : W), i.set(c, v));\n var g = d(v);\n if (g === W)\n return !1;\n }\n return h;\n },\n set(s, c, v, h) {\n var F;\n var g = i.get(c), m = c in s;\n if (a && c === \"length\")\n for (var w = v; w < /** @type {Source} */\n g.v; w += 1) {\n var z = i.get(w + \"\");\n z !== void 0 ? P(z, W) : w in s && (z = ue(W), i.set(w + \"\", z));\n }\n g === void 0 ? (!m || (F = Pe(s, c)) != null && F.writable) && (g = ue(void 0), P(g, le(v, f)), i.set(c, g)) : (m = g.v !== W, P(g, le(v, f)));\n var T = Reflect.getOwnPropertyDescriptor(s, c);\n if (T != null && T.set && T.set.call(h, v), !m) {\n if (a && typeof c == \"string\") {\n var Y = (\n /** @type {Source} */\n i.get(\"length\")\n ), M = Number(c);\n Number.isInteger(M) && M >= Y.v && P(Y, M + 1);\n }\n jr(o);\n }\n return !0;\n },\n ownKeys(s) {\n d(o);\n var c = Reflect.ownKeys(s).filter((g) => {\n var m = i.get(g);\n return m === void 0 || m.v !== W;\n });\n for (var [v, h] of i)\n h.v !== W && !(v in s) && c.push(v);\n return c;\n },\n setPrototypeOf() {\n Bi();\n }\n }\n );\n}\nfunction jr(e, t = 1) {\n P(e, e.v + t);\n}\nvar Vr, wn, pn, yn;\nfunction jt() {\n if (Vr === void 0) {\n Vr = window, wn = /Firefox/.test(navigator.userAgent);\n var e = Element.prototype, t = Node.prototype;\n pn = Pe(t, \"firstChild\").get, yn = Pe(t, \"nextSibling\").get, e.__click = void 0, e.__className = void 0, e.__attributes = null, e.__style = void 0, e.__e = void 0, Text.prototype.__t = void 0;\n }\n}\nfunction Jt(e = \"\") {\n return document.createTextNode(e);\n}\n// @__NO_SIDE_EFFECTS__\nfunction me(e) {\n return pn.call(e);\n}\n// @__NO_SIDE_EFFECTS__\nfunction Te(e) {\n return yn.call(e);\n}\nfunction G(e, t) {\n if (!D)\n return /* @__PURE__ */ me(e);\n var r = (\n /** @type {TemplateNode} */\n /* @__PURE__ */ me(O)\n );\n return r === null && (r = O.appendChild(Jt())), Re(r), r;\n}\nfunction Br(e, t) {\n if (!D) {\n var r = (\n /** @type {DocumentFragment} */\n /* @__PURE__ */ me(\n /** @type {Node} */\n e\n )\n );\n return r instanceof Comment && r.data === \"\" ? /* @__PURE__ */ Te(r) : r;\n }\n return O;\n}\nfunction he(e, t = 1, r = !1) {\n let l = D ? O : e;\n for (var i; t--; )\n i = l, l = /** @type {TemplateNode} */\n /* @__PURE__ */ Te(l);\n if (!D)\n return l;\n var a = l == null ? void 0 : l.nodeType;\n if (r && a !== 3) {\n var o = Jt();\n return l === null ? i == null || i.after(o) : l.before(o), Re(o), o;\n }\n return Re(l), /** @type {TemplateNode} */\n l;\n}\nfunction Xi(e) {\n e.textContent = \"\";\n}\nlet wt = !1, $t = !1, kt = null, Oe = !1, Kt = !1;\nfunction qr(e) {\n Kt = e;\n}\nlet ct = [];\nlet k = null, ae = !1;\nfunction Ie(e) {\n k = e;\n}\nlet A = null;\nfunction Se(e) {\n A = e;\n}\nlet ce = null;\nfunction Qi(e) {\n ce = e;\n}\nlet V = null, J = 0, ge = null;\nfunction el(e) {\n ge = e;\n}\nlet bn = 1, Ct = 0, Ce = !1;\nfunction En() {\n return ++bn;\n}\nfunction ht(e) {\n var h;\n var t = e.f;\n if ((t & ye) !== 0)\n return !0;\n if ((t & et) !== 0) {\n var r = e.deps, l = (t & re) !== 0;\n if (r !== null) {\n var i, a, o = (t & bt) !== 0, f = l && A !== null && !Ce, s = r.length;\n if (o || f) {\n var c = (\n /** @type {Derived} */\n e\n ), v = c.parent;\n for (i = 0; i < s; i++)\n a = r[i], (o || !((h = a == null ? void 0 : a.reactions) != null && h.includes(c))) && (a.reactions ?? (a.reactions = [])).push(c);\n o && (c.f ^= bt), f && v !== null && (v.f & re) === 0 && (c.f ^= re);\n }\n for (i = 0; i < s; i++)\n if (a = r[i], ht(\n /** @type {Derived} */\n a\n ) && mn(\n /** @type {Derived} */\n a\n ), a.wv > e.wv)\n return !0;\n }\n (!l || A !== null && !Ce) && de(e, K);\n }\n return !1;\n}\nfunction tl(e, t) {\n for (var r = t; r !== null; ) {\n if ((r.f & yt) !== 0)\n try {\n r.fn(e);\n return;\n } catch {\n r.f ^= yt;\n }\n r = r.parent;\n }\n throw wt = !1, e;\n}\nfunction rl(e) {\n return (e.f & St) === 0 && (e.parent === null || (e.parent.f & yt) === 0);\n}\nfunction Nt(e, t, r, l) {\n if (wt) {\n if (r === null && (wt = !1), rl(t))\n throw e;\n return;\n }\n r !== null && (wt = !0);\n {\n tl(e, t);\n return;\n }\n}\nfunction xn(e, t, r = !0) {\n var l = e.reactions;\n if (l !== null)\n for (var i = 0; i < l.length; i++) {\n var a = l[i];\n (a.f & oe) !== 0 ? xn(\n /** @type {Derived} */\n a,\n t,\n !1\n ) : t === a && (r ? de(a, ye) : (a.f & K) !== 0 && de(a, et), Lt(\n /** @type {Effect} */\n a\n ));\n }\n}\nfunction $n(e) {\n var m;\n var t = V, r = J, l = ge, i = k, a = Ce, o = ce, f = B, s = ae, c = e.f;\n V = /** @type {null | Value[]} */\n null, J = 0, ge = null, Ce = (c & re) !== 0 && (ae || !Oe || k === null), k = (c & (pe | ze)) === 0 ? e : null, ce = null, Wr(e.ctx), ae = !1, Ct++;\n try {\n var v = (\n /** @type {Function} */\n (0, e.fn)()\n ), h = e.deps;\n if (V !== null) {\n var g;\n if (At(e, J), h !== null && J > 0)\n for (h.length = J + V.length, g = 0; g < V.length; g++)\n h[J + g] = V[g];\n else\n e.deps = h = V;\n if (!Ce)\n for (g = J; g < h.length; g++)\n ((m = h[g]).reactions ?? (m.reactions = [])).push(e);\n } else h !== null && J < h.length && (At(e, J), h.length = J);\n if (Dn() && ge !== null && !ae && h !== null && (e.f & (oe | et | ye)) === 0)\n for (g = 0; g < /** @type {Source[]} */\n ge.length; g++)\n xn(\n ge[g],\n /** @type {Effect} */\n e\n );\n return i !== null && Ct++, v;\n } finally {\n V = t, J = r, ge = l, k = i, Ce = a, ce = o, Wr(f), ae = s;\n }\n}\nfunction nl(e, t) {\n let r = t.reactions;\n if (r !== null) {\n var l = Ri.call(r, e);\n if (l !== -1) {\n var i = r.length - 1;\n i === 0 ? r = t.reactions = null : (r[l] = r[i], r.pop());\n }\n }\n r === null && (t.f & oe) !== 0 && // Destroying a child effect while updating a parent effect can cause a dependency to appear\n // to be unused, when in fact it is used by the currently-updating parent. Checking `new_deps`\n // allows us to skip the expensive work of disconnecting and immediately reconnecting it\n (V === null || !V.includes(t)) && (de(t, et), (t.f & (re | bt)) === 0 && (t.f ^= bt), _n(\n /** @type {Derived} **/\n t\n ), At(\n /** @type {Derived} **/\n t,\n 0\n ));\n}\nfunction At(e, t) {\n var r = e.deps;\n if (r !== null)\n for (var l = t; l < r.length; l++)\n nl(e, r[l]);\n}\nfunction Xt(e) {\n var t = e.f;\n if ((t & St) === 0) {\n de(e, K);\n var r = A, l = B, i = Oe;\n A = e, Oe = !0;\n try {\n (t & Yt) !== 0 ? hl(e) : An(e), Cn(e);\n var a = $n(e);\n e.teardown = typeof a == \"function\" ? a : null, e.wv = bn;\n var o = e.deps, f;\n Mr && Wi && e.f & ye;\n } catch (s) {\n Nt(s, e, r, l || e.ctx);\n } finally {\n Oe = i, A = r;\n }\n }\n}\nfunction il() {\n try {\n Mi();\n } catch (e) {\n if (kt !== null)\n Nt(e, kt, null);\n else\n throw e;\n }\n}\nfunction kn() {\n var e = Oe;\n try {\n var t = 0;\n for (Oe = !0; ct.length > 0; ) {\n t++ > 1e3 && il();\n var r = ct, l = r.length;\n ct = [];\n for (var i = 0; i < l; i++) {\n var a = al(r[i]);\n ll(a);\n }\n }\n } finally {\n $t = !1, Oe = e, kt = null;\n }\n}\nfunction ll(e) {\n var t = e.length;\n if (t !== 0)\n for (var r = 0; r < t; r++) {\n var l = e[r];\n if ((l.f & (St | Ke)) === 0)\n try {\n ht(l) && (Xt(l), l.deps === null && l.first === null && l.nodes_start === null && (l.teardown === null ? Rn(l) : l.fn = null));\n } catch (i) {\n Nt(i, l, null, l.ctx);\n }\n }\n}\nfunction Lt(e) {\n $t || ($t = !0, queueMicrotask(kn));\n for (var t = kt = e; t.parent !== null; ) {\n t = t.parent;\n var r = t.f;\n if ((r & (ze | pe)) !== 0) {\n if ((r & K) === 0) return;\n t.f ^= K;\n }\n }\n ct.push(t);\n}\nfunction al(e) {\n for (var t = [], r = e; r !== null; ) {\n var l = r.f, i = (l & (pe | ze)) !== 0, a = i && (l & K) !== 0;\n if (!a && (l & Ke) === 0) {\n if ((l & nn) !== 0)\n t.push(r);\n else if (i)\n r.f ^= K;\n else {\n var o = k;\n try {\n k = r, ht(r) && Xt(r);\n } catch (c) {\n Nt(c, r, null, r.ctx);\n } finally {\n k = o;\n }\n }\n var f = r.first;\n if (f !== null) {\n r = f;\n continue;\n }\n }\n var s = r.parent;\n for (r = r.next; r === null && s !== null; )\n r = s.next, s = s.parent;\n }\n return t;\n}\nfunction $(e) {\n var t;\n for (Ur(); ct.length > 0; )\n $t = !0, kn(), Ur();\n return (\n /** @type {T} */\n t\n );\n}\nasync function ol() {\n await Promise.resolve(), $();\n}\nfunction d(e) {\n var t = e.f, r = (t & oe) !== 0;\n if (k !== null && !ae) {\n ce !== null && ce.includes(e) && qi();\n var l = k.deps;\n e.rv < Ct && (e.rv = Ct, V === null && l !== null && l[J] === e ? J++ : V === null ? V = [e] : (!Ce || !V.includes(e)) && V.push(e));\n } else if (r && /** @type {Derived} */\n e.deps === null && /** @type {Derived} */\n e.effects === null) {\n var i = (\n /** @type {Derived} */\n e\n ), a = i.parent;\n a !== null && (a.f & re) === 0 && (i.f ^= re);\n }\n return r && (i = /** @type {Derived} */\n e, ht(i) && mn(i)), e.v;\n}\nfunction Qe(e) {\n var t = ae;\n try {\n return ae = !0, e();\n } finally {\n ae = t;\n }\n}\nconst sl = -7169;\nfunction de(e, t) {\n e.f = e.f & sl | t;\n}\nfunction fl(e) {\n A === null && k === null && Fi(), k !== null && (k.f & re) !== 0 && A === null && zi(), Kt && Oi();\n}\nfunction ul(e, t) {\n var r = t.last;\n r === null ? t.last = t.first = e : (r.next = e, e.prev = r, t.last = e);\n}\nfunction Fe(e, t, r, l = !0) {\n var i = A, a = {\n ctx: B,\n deps: null,\n nodes_start: null,\n nodes_end: null,\n f: e | ye,\n first: null,\n fn: t,\n last: null,\n next: null,\n parent: i,\n prev: null,\n teardown: null,\n transitions: null,\n wv: 0\n };\n if (r)\n try {\n Xt(a), a.f |= ki;\n } catch (s) {\n throw we(a), s;\n }\n else t !== null && Lt(a);\n var o = r && a.deps === null && a.first === null && a.nodes_start === null && a.teardown === null && (a.f & (ln | yt)) === 0;\n if (!o && l && (i !== null && ul(a, i), k !== null && (k.f & oe) !== 0)) {\n var f = (\n /** @type {Derived} */\n k\n );\n (f.effects ?? (f.effects = [])).push(a);\n }\n return a;\n}\nfunction cl(e) {\n const t = Fe(It, null, !1);\n return de(t, K), t.teardown = e, t;\n}\nfunction Vt(e) {\n fl();\n var t = A !== null && (A.f & pe) !== 0 && B !== null && !B.m;\n if (t) {\n var r = (\n /** @type {ComponentContext} */\n B\n );\n (r.e ?? (r.e = [])).push({\n fn: e,\n effect: A,\n reaction: k\n });\n } else {\n var l = Qt(e);\n return l;\n }\n}\nfunction dl(e) {\n const t = Fe(ze, e, !0);\n return () => {\n we(t);\n };\n}\nfunction vl(e) {\n const t = Fe(ze, e, !0);\n return (r = {}) => new Promise((l) => {\n r.outro ? Bt(t, () => {\n we(t), l(void 0);\n }) : (we(t), l(void 0));\n });\n}\nfunction Qt(e) {\n return Fe(nn, e, !1);\n}\nfunction er(e) {\n return Fe(It, e, !0);\n}\nfunction We(e, t = [], r = De) {\n const l = t.map(r);\n return tr(() => e(...l.map(d)));\n}\nfunction tr(e, t = 0) {\n return Fe(It | Yt | t, e, !0);\n}\nfunction Rt(e, t = !0) {\n return Fe(It | pe, e, !0, t);\n}\nfunction Cn(e) {\n var t = e.teardown;\n if (t !== null) {\n const r = Kt, l = k;\n qr(!0), Ie(null);\n try {\n t.call(null);\n } finally {\n qr(r), Ie(l);\n }\n }\n}\nfunction An(e, t = !1) {\n var r = e.first;\n for (e.first = e.last = null; r !== null; ) {\n var l = r.next;\n (r.f & ze) !== 0 ? r.parent = null : we(r, t), r = l;\n }\n}\nfunction hl(e) {\n for (var t = e.first; t !== null; ) {\n var r = t.next;\n (t.f & pe) === 0 && we(t), t = r;\n }\n}\nfunction we(e, t = !0) {\n var r = !1;\n if ((t || (e.f & Ci) !== 0) && e.nodes_start !== null) {\n for (var l = e.nodes_start, i = e.nodes_end; l !== null; ) {\n var a = l === i ? null : (\n /** @type {TemplateNode} */\n /* @__PURE__ */ Te(l)\n );\n l.remove(), l = a;\n }\n r = !0;\n }\n An(e, t && !r), At(e, 0), de(e, St);\n var o = e.transitions;\n if (o !== null)\n for (const s of o)\n s.stop();\n Cn(e);\n var f = e.parent;\n f !== null && f.first !== null && Rn(e), e.next = e.prev = e.teardown = e.ctx = e.deps = e.fn = e.nodes_start = e.nodes_end = null;\n}\nfunction Rn(e) {\n var t = e.parent, r = e.prev, l = e.next;\n r !== null && (r.next = l), l !== null && (l.prev = r), t !== null && (t.first === e && (t.first = l), t.last === e && (t.last = r));\n}\nfunction Bt(e, t) {\n var r = [];\n In(e, r, !0), gl(r, () => {\n we(e), t && t();\n });\n}\nfunction gl(e, t) {\n var r = e.length;\n if (r > 0) {\n var l = () => --r || t();\n for (var i of e)\n i.out(l);\n } else\n t();\n}\nfunction In(e, t, r) {\n if ((e.f & Ke) === 0) {\n if (e.f ^= Ke, e.transitions !== null)\n for (const o of e.transitions)\n (o.is_global || r) && t.push(o);\n for (var l = e.first; l !== null; ) {\n var i = l.next, a = (l.f & Zt) !== 0 || (l.f & pe) !== 0;\n In(l, t, a ? r : !1), l = i;\n }\n }\n}\nfunction Hr(e) {\n Sn(e, !0);\n}\nfunction Sn(e, t) {\n if ((e.f & Ke) !== 0) {\n e.f ^= Ke, (e.f & K) === 0 && (e.f ^= K), ht(e) && (de(e, ye), Lt(e));\n for (var r = e.first; r !== null; ) {\n var l = r.next, i = (r.f & Zt) !== 0 || (r.f & pe) !== 0;\n Sn(r, i ? t : !1), r = l;\n }\n if (e.transitions !== null)\n for (const a of e.transitions)\n (a.is_global || t) && a.in();\n }\n}\nfunction Tn(e) {\n throw new Error(\"https://svelte.dev/e/lifecycle_outside_component\");\n}\nlet B = null;\nfunction Wr(e) {\n B = e;\n}\nfunction Nn(e, t = !1, r) {\n B = {\n p: B,\n c: null,\n e: null,\n m: !1,\n s: e,\n x: null,\n l: null\n };\n}\nfunction Ln(e) {\n const t = B;\n if (t !== null) {\n e !== void 0 && (t.x = e);\n const o = t.e;\n if (o !== null) {\n var r = A, l = k;\n t.e = null;\n try {\n for (var i = 0; i < o.length; i++) {\n var a = o[i];\n Se(a.effect), Ie(a.reaction), Qt(a.fn);\n }\n } finally {\n Se(r), Ie(l);\n }\n }\n B = t.p, t.m = !0;\n }\n return e || /** @type {T} */\n {};\n}\nfunction Dn() {\n return !0;\n}\nconst _l = [\"touchstart\", \"touchmove\"];\nfunction ml(e) {\n return _l.includes(e);\n}\nlet Yr = !1;\nfunction Pn() {\n Yr || (Yr = !0, document.addEventListener(\n \"reset\",\n (e) => {\n Promise.resolve().then(() => {\n var t;\n if (!e.defaultPrevented)\n for (\n const r of\n /**@type {HTMLFormElement} */\n e.target.elements\n )\n (t = r.__on_r) == null || t.call(r);\n });\n },\n // In the capture phase to guarantee we get noticed of it (no possiblity of stopPropagation)\n { capture: !0 }\n ));\n}\nfunction On(e) {\n var t = k, r = A;\n Ie(null), Se(null);\n try {\n return e();\n } finally {\n Ie(t), Se(r);\n }\n}\nfunction wl(e, t, r, l = r) {\n e.addEventListener(t, () => On(r));\n const i = e.__on_r;\n i ? e.__on_r = () => {\n i(), l(!0);\n } : e.__on_r = () => l(!0), Pn();\n}\nconst zn = /* @__PURE__ */ new Set(), qt = /* @__PURE__ */ new Set();\nfunction pl(e, t, r, l = {}) {\n function i(a) {\n if (l.capture || ft.call(t, a), !a.cancelBubble)\n return On(() => r == null ? void 0 : r.call(this, a));\n }\n return e.startsWith(\"pointer\") || e.startsWith(\"touch\") || e === \"wheel\" ? Gt(() => {\n t.addEventListener(e, i, l);\n }) : t.addEventListener(e, i, l), i;\n}\nfunction yl(e, t, r, l, i) {\n var a = { capture: l, passive: i }, o = pl(e, t, r, a);\n (t === document.body || t === window || t === document) && cl(() => {\n t.removeEventListener(e, o, a);\n });\n}\nfunction bl(e) {\n for (var t = 0; t < e.length; t++)\n zn.add(e[t]);\n for (var r of qt)\n r(e);\n}\nfunction ft(e) {\n var M;\n var t = this, r = (\n /** @type {Node} */\n t.ownerDocument\n ), l = e.type, i = ((M = e.composedPath) == null ? void 0 : M.call(e)) || [], a = (\n /** @type {null | Element} */\n i[0] || e.target\n ), o = 0, f = e.__root;\n if (f) {\n var s = i.indexOf(f);\n if (s !== -1 && (t === document || t === /** @type {any} */\n window)) {\n e.__root = t;\n return;\n }\n var c = i.indexOf(t);\n if (c === -1)\n return;\n s <= c && (o = s);\n }\n if (a = /** @type {Element} */\n i[o] || e.target, a !== t) {\n xt(e, \"currentTarget\", {\n configurable: !0,\n get() {\n return a || r;\n }\n });\n var v = k, h = A;\n Ie(null), Se(null);\n try {\n for (var g, m = []; a !== null; ) {\n var w = a.assignedSlot || a.parentNode || /** @type {any} */\n a.host || null;\n try {\n var z = a[\"__\" + l];\n if (z != null && (!/** @type {any} */\n a.disabled || // DOM could've been updated already by the time this is reached, so we check this as well\n // -> the target could not have been disabled because it emits the event in the first place\n e.target === a))\n if (on(z)) {\n var [T, ...Y] = z;\n T.apply(a, [e, ...Y]);\n } else\n z.call(a, e);\n } catch (F) {\n g ? m.push(F) : g = F;\n }\n if (e.cancelBubble || w === t || w === null)\n break;\n a = w;\n }\n if (g) {\n for (let F of m)\n queueMicrotask(() => {\n throw F;\n });\n throw g;\n }\n } finally {\n e.__root = t, delete e.currentTarget, Ie(v), Se(h);\n }\n }\n}\nfunction rr(e) {\n var t = document.createElement(\"template\");\n return t.innerHTML = e, t.content;\n}\nfunction Ae(e, t) {\n var r = (\n /** @type {Effect} */\n A\n );\n r.nodes_start === null && (r.nodes_start = e, r.nodes_end = t);\n}\n// @__NO_SIDE_EFFECTS__\nfunction ve(e, t) {\n var r = (t & Ei) !== 0, l = (t & xi) !== 0, i, a = !e.startsWith(\"\");\n return () => {\n if (D)\n return Ae(O, null), O;\n i === void 0 && (i = rr(a ? e : \"\" + e), r || (i = /** @type {Node} */\n /* @__PURE__ */ me(i)));\n var o = (\n /** @type {TemplateNode} */\n l || wn ? document.importNode(i, !0) : i.cloneNode(!0)\n );\n if (r) {\n var f = (\n /** @type {TemplateNode} */\n /* @__PURE__ */ me(o)\n ), s = (\n /** @type {TemplateNode} */\n o.lastChild\n );\n Ae(f, s);\n } else\n Ae(o, o);\n return o;\n };\n}\n// @__NO_SIDE_EFFECTS__\nfunction El(e, t, r = \"svg\") {\n var l = !e.startsWith(\"\"), i = `<${r}>${l ? e : \"\" + e}`, a;\n return () => {\n if (D)\n return Ae(O, null), O;\n if (!a) {\n var o = (\n /** @type {DocumentFragment} */\n rr(i)\n ), f = (\n /** @type {Element} */\n /* @__PURE__ */ me(o)\n );\n a = /** @type {Element} */\n /* @__PURE__ */ me(f);\n }\n var s = (\n /** @type {TemplateNode} */\n a.cloneNode(!0)\n );\n return Ae(s, s), s;\n };\n}\nfunction ee(e, t) {\n if (D) {\n A.nodes_end = O, Xe();\n return;\n }\n e !== null && e.before(\n /** @type {Node} */\n t\n );\n}\nfunction Fn(e, t) {\n return Mn(e, t);\n}\nfunction xl(e, t) {\n jt(), t.intro = t.intro ?? !1;\n const r = t.target, l = D, i = O;\n try {\n for (var a = (\n /** @type {TemplateNode} */\n /* @__PURE__ */ me(r)\n ); a && (a.nodeType !== 8 || /** @type {Comment} */\n a.data !== Wt); )\n a = /** @type {TemplateNode} */\n /* @__PURE__ */ Te(a);\n if (!a)\n throw Je;\n Ge(!0), Re(\n /** @type {Comment} */\n a\n ), Xe();\n const o = Mn(e, { ...t, anchor: a });\n if (O === null || O.nodeType !== 8 || /** @type {Comment} */\n O.data !== rn)\n throw Tt(), Je;\n return Ge(!1), /** @type {Exports} */\n o;\n } catch (o) {\n if (o === Je)\n return t.recover === !1 && Ui(), jt(), Xi(r), Ge(!1), Fn(e, t);\n throw o;\n } finally {\n Ge(l), Re(i);\n }\n}\nconst Ye = /* @__PURE__ */ new Map();\nfunction Mn(e, { target: t, anchor: r, props: l = {}, events: i, context: a, intro: o = !0 }) {\n jt();\n var f = /* @__PURE__ */ new Set(), s = (h) => {\n for (var g = 0; g < h.length; g++) {\n var m = h[g];\n if (!f.has(m)) {\n f.add(m);\n var w = ml(m);\n t.addEventListener(m, ft, { passive: w });\n var z = Ye.get(m);\n z === void 0 ? (document.addEventListener(m, ft, { passive: w }), Ye.set(m, 1)) : Ye.set(m, z + 1);\n }\n }\n };\n s(Ii(zn)), qt.add(s);\n var c = void 0, v = vl(() => {\n var h = r ?? t.appendChild(Jt());\n return Rt(() => {\n if (a) {\n Nn({});\n var g = (\n /** @type {ComponentContext} */\n B\n );\n g.c = a;\n }\n i && (l.$$events = i), D && Ae(\n /** @type {TemplateNode} */\n h,\n null\n ), c = e(h, l) || {}, D && (A.nodes_end = O), a && Ln();\n }), () => {\n var w;\n for (var g of f) {\n t.removeEventListener(g, ft);\n var m = (\n /** @type {number} */\n Ye.get(g)\n );\n --m === 0 ? (document.removeEventListener(g, ft), Ye.delete(g)) : Ye.set(g, m);\n }\n qt.delete(s), h !== r && ((w = h.parentNode) == null || w.removeChild(h));\n };\n });\n return Ht.set(c, v), c;\n}\nlet Ht = /* @__PURE__ */ new WeakMap();\nfunction $l(e, t) {\n const r = Ht.get(e);\n return r ? (Ht.delete(e), r(t)) : Promise.resolve();\n}\nfunction ke(e, t, [r, l] = [0, 0]) {\n D && r === 0 && Xe();\n var i = e, a = null, o = null, f = W, s = r > 0 ? Zt : 0, c = !1;\n const v = (g, m = !0) => {\n c = !0, h(m, g);\n }, h = (g, m) => {\n if (f === (f = g)) return;\n let w = !1;\n if (D && l !== -1) {\n if (r === 0) {\n const T = (\n /** @type {Comment} */\n i.data\n );\n T === Wt ? l = 0 : T === tn ? l = 1 / 0 : (l = parseInt(T.substring(1)), l !== l && (l = f ? 1 / 0 : -1));\n }\n const z = l > r;\n !!f === z && (i = Ki(), Re(i), Ge(!1), w = !0, l = -1);\n }\n f ? (a ? Hr(a) : m && (a = Rt(() => m(i))), o && Bt(o, () => {\n o = null;\n })) : (o ? Hr(o) : m && (o = Rt(() => m(i, [r + 1, l]))), a && Bt(a, () => {\n a = null;\n })), w && Ge(!0);\n };\n tr(() => {\n c = !1, t(v), c || h(null, null);\n }, s), D && (i = O);\n}\nfunction Ze(e, t, r, l, i) {\n var a = e, o = \"\", f;\n tr(() => {\n if (o === (o = t() ?? \"\")) {\n D && Xe();\n return;\n }\n f !== void 0 && (we(f), f = void 0), o !== \"\" && (f = Rt(() => {\n if (D) {\n O.data;\n for (var s = Xe(), c = s; s !== null && (s.nodeType !== 8 || /** @type {Comment} */\n s.data !== \"\"); )\n c = s, s = /** @type {TemplateNode} */\n /* @__PURE__ */ Te(s);\n if (s === null)\n throw Tt(), Je;\n Ae(O, c), a = Re(s);\n return;\n }\n var v = o + \"\", h = rr(v);\n Ae(\n /** @type {TemplateNode} */\n /* @__PURE__ */ me(h),\n /** @type {TemplateNode} */\n h.lastChild\n ), a.before(h);\n }));\n });\n}\nfunction kl(e, t, r, l, i) {\n var f;\n D && Xe();\n var a = (f = t.$$slots) == null ? void 0 : f[r], o = !1;\n a === !0 && (a = t.children, o = !0), a === void 0 || a(e, o ? () => l : l);\n}\nfunction Cl(e, t) {\n Gt(() => {\n var r = e.getRootNode(), l = (\n /** @type {ShadowRoot} */\n r.host ? (\n /** @type {ShadowRoot} */\n r\n ) : (\n /** @type {Document} */\n r.head ?? /** @type {Document} */\n r.ownerDocument.head\n )\n );\n if (!l.querySelector(\"#\" + t.hash)) {\n const i = document.createElement(\"style\");\n i.id = t.hash, i.textContent = t.code, l.appendChild(i);\n }\n });\n}\nconst Zr = [...` \t\n\\r\\f \\v\\uFEFF`];\nfunction Al(e, t, r) {\n var l = \"\" + e;\n if (r) {\n for (var i in r)\n if (r[i])\n l = l ? l + \" \" + i : i;\n else if (l.length)\n for (var a = i.length, o = 0; (o = l.indexOf(i, o)) >= 0; ) {\n var f = o + a;\n (o === 0 || Zr.includes(l[o - 1])) && (f === l.length || Zr.includes(l[f])) ? l = (o === 0 ? \"\" : l.substring(0, o)) + l.substring(f + 1) : o = f;\n }\n }\n return l === \"\" ? null : l;\n}\nfunction Rl(e, t, r, l, i, a) {\n var o = e.__className;\n if (D || o !== r) {\n var f = Al(r, l, a);\n (!D || f !== e.getAttribute(\"class\")) && (f == null ? e.removeAttribute(\"class\") : e.className = f), e.__className = r;\n } else if (a && i !== a)\n for (var s in a) {\n var c = !!a[s];\n (i == null || c !== !!i[s]) && e.classList.toggle(s, c);\n }\n return a;\n}\nconst Il = Symbol(\"is custom element\"), Sl = Symbol(\"is html\");\nfunction Gr(e) {\n if (D) {\n var t = !1, r = () => {\n if (!t) {\n if (t = !0, e.hasAttribute(\"value\")) {\n var l = e.value;\n ie(e, \"value\", null), e.value = l;\n }\n if (e.hasAttribute(\"checked\")) {\n var i = e.checked;\n ie(e, \"checked\", null), e.checked = i;\n }\n }\n };\n e.__on_r = r, Di(r), Pn();\n }\n}\nfunction Tl(e, t) {\n var r = Un(e);\n r.value === (r.value = // treat null and undefined the same for the initial value\n t ?? void 0) || // @ts-expect-error\n // `progress` elements always need their value set when it's `0`\n e.value === t && (t !== 0 || e.nodeName !== \"PROGRESS\") || (e.value = t ?? \"\");\n}\nfunction ie(e, t, r, l) {\n var i = Un(e);\n D && (i[t] = e.getAttribute(t), t === \"src\" || t === \"srcset\" || t === \"href\" && e.nodeName === \"LINK\") || i[t] !== (i[t] = r) && (t === \"loading\" && (e[Ai] = r), r == null ? e.removeAttribute(t) : typeof r != \"string\" && Nl(e).includes(t) ? e[t] = r : e.setAttribute(t, r));\n}\nfunction Un(e) {\n return (\n /** @type {Record} **/\n // @ts-expect-error\n e.__attributes ?? (e.__attributes = {\n [Il]: e.nodeName.includes(\"-\"),\n [Sl]: e.namespaceURI === $i\n })\n );\n}\nvar Jr = /* @__PURE__ */ new Map();\nfunction Nl(e) {\n var t = Jr.get(e.nodeName);\n if (t) return t;\n Jr.set(e.nodeName, t = []);\n for (var r, l = e, i = Element.prototype; i !== l; ) {\n r = Si(l);\n for (var a in r)\n r[a].set && t.push(a);\n l = sn(l);\n }\n return t;\n}\nfunction Ll(e, t, r = t) {\n wl(e, \"change\", (l) => {\n var i = l ? e.defaultChecked : e.checked;\n r(i);\n }), // If we are hydrating and the value has since changed,\n // then use the update value from the input instead.\n (D && e.defaultChecked !== e.checked || // If defaultChecked is set, then checked == defaultChecked\n Qe(t) == null) && r(e.checked), er(() => {\n var l = t();\n e.checked = !!l;\n });\n}\nfunction Kr(e, t) {\n return e === t || (e == null ? void 0 : e[ut]) === t;\n}\nfunction Xr(e = {}, t, r, l) {\n return Qt(() => {\n var i, a;\n return er(() => {\n i = a, a = [], Qe(() => {\n e !== r(...a) && (t(e, ...a), i && Kr(r(...i), e) && t(null, ...i));\n });\n }), () => {\n Gt(() => {\n a && Kr(r(...a), e) && t(null, ...a);\n });\n };\n }), e;\n}\nfunction jn(e) {\n B === null && Tn(), Vt(() => {\n const t = Qe(e);\n if (typeof t == \"function\") return (\n /** @type {() => void} */\n t\n );\n });\n}\nfunction Dl(e) {\n B === null && Tn(), jn(() => () => Qe(e));\n}\nlet mt = !1;\nfunction Pl(e) {\n var t = mt;\n try {\n return mt = !1, [e(), mt];\n } finally {\n mt = t;\n }\n}\nfunction C(e, t, r, l) {\n var be;\n var i = (r & wi) !== 0, a = !0, o = (r & yi) !== 0, f = (r & bi) !== 0, s = !1, c;\n o ? [c, s] = Pl(() => (\n /** @type {V} */\n e[t]\n )) : c = /** @type {V} */\n e[t];\n var v = ut in e || an in e, h = o && (((be = Pe(e, t)) == null ? void 0 : be.set) ?? (v && t in e && ((N) => e[t] = N))) || void 0, g = (\n /** @type {V} */\n l\n ), m = !0, w = !1, z = () => (w = !0, m && (m = !1, f ? g = Qe(\n /** @type {() => V} */\n l\n ) : g = /** @type {V} */\n l), g);\n c === void 0 && l !== void 0 && (h && a && ji(), c = z(), h && h(c));\n var T;\n if (T = () => {\n var N = (\n /** @type {V} */\n e[t]\n );\n return N === void 0 ? z() : (m = !0, w = !1, N);\n }, (r & pi) === 0)\n return T;\n if (h) {\n var Y = e.$$legacy;\n return function(N, X) {\n return arguments.length > 0 ? ((!X || Y || s) && h(X ? T() : N), N) : T();\n };\n }\n var M = !1, F = /* @__PURE__ */ hn(c), se = /* @__PURE__ */ De(() => {\n var N = T(), X = d(F);\n return M ? (M = !1, X) : F.v = N;\n });\n return i || (se.equals = vn), function(N, X) {\n if (arguments.length > 0) {\n const U = X ? d(se) : o ? le(N) : N;\n return se.equals(U) || (M = !0, P(F, U), w && g !== void 0 && (g = U), Qe(() => d(se))), N;\n }\n return d(se);\n };\n}\nfunction Ol(e) {\n return new zl(e);\n}\nvar _e, te;\nclass zl {\n /**\n * @param {ComponentConstructorOptions & {\n * component: any;\n * }} options\n */\n constructor(t) {\n /** @type {any} */\n Mt(this, _e);\n /** @type {Record} */\n Mt(this, te);\n var a;\n var r = /* @__PURE__ */ new Map(), l = (o, f) => {\n var s = /* @__PURE__ */ hn(f);\n return r.set(o, s), s;\n };\n const i = new Proxy(\n { ...t.props || {}, $$events: {} },\n {\n get(o, f) {\n return d(r.get(f) ?? l(f, Reflect.get(o, f)));\n },\n has(o, f) {\n return f === an ? !0 : (d(r.get(f) ?? l(f, Reflect.get(o, f))), Reflect.has(o, f));\n },\n set(o, f, s) {\n return P(r.get(f) ?? l(f, s), s), Reflect.set(o, f, s);\n }\n }\n );\n Ut(this, te, (t.hydrate ? xl : Fn)(t.component, {\n target: t.target,\n anchor: t.anchor,\n props: i,\n context: t.context,\n intro: t.intro ?? !1,\n recover: t.recover\n })), (!((a = t == null ? void 0 : t.props) != null && a.$$host) || t.sync === !1) && $(), Ut(this, _e, i.$$events);\n for (const o of Object.keys(H(this, te)))\n o === \"$set\" || o === \"$destroy\" || o === \"$on\" || xt(this, o, {\n get() {\n return H(this, te)[o];\n },\n /** @param {any} value */\n set(f) {\n H(this, te)[o] = f;\n },\n enumerable: !0\n });\n H(this, te).$set = /** @param {Record} next */\n (o) => {\n Object.assign(i, o);\n }, H(this, te).$destroy = () => {\n $l(H(this, te));\n };\n }\n /** @param {Record} props */\n $set(t) {\n H(this, te).$set(t);\n }\n /**\n * @param {string} event\n * @param {(...args: any[]) => any} callback\n * @returns {any}\n */\n $on(t, r) {\n H(this, _e)[t] = H(this, _e)[t] || [];\n const l = (...i) => r.call(this, ...i);\n return H(this, _e)[t].push(l), () => {\n H(this, _e)[t] = H(this, _e)[t].filter(\n /** @param {any} fn */\n (i) => i !== l\n );\n };\n }\n $destroy() {\n H(this, te).$destroy();\n }\n}\n_e = new WeakMap(), te = new WeakMap();\nlet Vn;\ntypeof HTMLElement == \"function\" && (Vn = class extends HTMLElement {\n /**\n * @param {*} $$componentCtor\n * @param {*} $$slots\n * @param {*} use_shadow_dom\n */\n constructor(t, r, l) {\n super();\n /** The Svelte component constructor */\n ne(this, \"$$ctor\");\n /** Slots */\n ne(this, \"$$s\");\n /** @type {any} The Svelte component instance */\n ne(this, \"$$c\");\n /** Whether or not the custom element is connected */\n ne(this, \"$$cn\", !1);\n /** @type {Record} Component props data */\n ne(this, \"$$d\", {});\n /** `true` if currently in the process of reflecting component props back to attributes */\n ne(this, \"$$r\", !1);\n /** @type {Record} Props definition (name, reflected, type etc) */\n ne(this, \"$$p_d\", {});\n /** @type {Record} Event listeners */\n ne(this, \"$$l\", {});\n /** @type {Map} Event listener unsubscribe functions */\n ne(this, \"$$l_u\", /* @__PURE__ */ new Map());\n /** @type {any} The managed render effect for reflecting attributes */\n ne(this, \"$$me\");\n this.$$ctor = t, this.$$s = r, l && this.attachShadow({ mode: \"open\" });\n }\n /**\n * @param {string} type\n * @param {EventListenerOrEventListenerObject} listener\n * @param {boolean | AddEventListenerOptions} [options]\n */\n addEventListener(t, r, l) {\n if (this.$$l[t] = this.$$l[t] || [], this.$$l[t].push(r), this.$$c) {\n const i = this.$$c.$on(t, r);\n this.$$l_u.set(r, i);\n }\n super.addEventListener(t, r, l);\n }\n /**\n * @param {string} type\n * @param {EventListenerOrEventListenerObject} listener\n * @param {boolean | AddEventListenerOptions} [options]\n */\n removeEventListener(t, r, l) {\n if (super.removeEventListener(t, r, l), this.$$c) {\n const i = this.$$l_u.get(r);\n i && (i(), this.$$l_u.delete(r));\n }\n }\n async connectedCallback() {\n if (this.$$cn = !0, !this.$$c) {\n let t = function(i) {\n return (a) => {\n const o = document.createElement(\"slot\");\n i !== \"default\" && (o.name = i), ee(a, o);\n };\n };\n if (await Promise.resolve(), !this.$$cn || this.$$c)\n return;\n const r = {}, l = Fl(this);\n for (const i of this.$$s)\n i in l && (i === \"default\" && !this.$$d.children ? (this.$$d.children = t(i), r.default = !0) : r[i] = t(i));\n for (const i of this.attributes) {\n const a = this.$$g_p(i.name);\n a in this.$$d || (this.$$d[a] = pt(a, i.value, this.$$p_d, \"toProp\"));\n }\n for (const i in this.$$p_d)\n !(i in this.$$d) && this[i] !== void 0 && (this.$$d[i] = this[i], delete this[i]);\n this.$$c = Ol({\n component: this.$$ctor,\n target: this.shadowRoot || this,\n props: {\n ...this.$$d,\n $$slots: r,\n $$host: this\n }\n }), this.$$me = dl(() => {\n er(() => {\n var i;\n this.$$r = !0;\n for (const a of Et(this.$$c)) {\n if (!((i = this.$$p_d[a]) != null && i.reflect)) continue;\n this.$$d[a] = this.$$c[a];\n const o = pt(\n a,\n this.$$d[a],\n this.$$p_d,\n \"toAttribute\"\n );\n o == null ? this.removeAttribute(this.$$p_d[a].attribute || a) : this.setAttribute(this.$$p_d[a].attribute || a, o);\n }\n this.$$r = !1;\n });\n });\n for (const i in this.$$l)\n for (const a of this.$$l[i]) {\n const o = this.$$c.$on(i, a);\n this.$$l_u.set(a, o);\n }\n this.$$l = {};\n }\n }\n // We don't need this when working within Svelte code, but for compatibility of people using this outside of Svelte\n // and setting attributes through setAttribute etc, this is helpful\n /**\n * @param {string} attr\n * @param {string} _oldValue\n * @param {string} newValue\n */\n attributeChangedCallback(t, r, l) {\n var i;\n this.$$r || (t = this.$$g_p(t), this.$$d[t] = pt(t, l, this.$$p_d, \"toProp\"), (i = this.$$c) == null || i.$set({ [t]: this.$$d[t] }));\n }\n disconnectedCallback() {\n this.$$cn = !1, Promise.resolve().then(() => {\n !this.$$cn && this.$$c && (this.$$c.$destroy(), this.$$me(), this.$$c = void 0);\n });\n }\n /**\n * @param {string} attribute_name\n */\n $$g_p(t) {\n return Et(this.$$p_d).find(\n (r) => this.$$p_d[r].attribute === t || !this.$$p_d[r].attribute && r.toLowerCase() === t\n ) || t;\n }\n});\nfunction pt(e, t, r, l) {\n var a;\n const i = (a = r[e]) == null ? void 0 : a.type;\n if (t = i === \"Boolean\" && typeof t != \"boolean\" ? t != null : t, !l || !r[e])\n return t;\n if (l === \"toAttribute\")\n switch (i) {\n case \"Object\":\n case \"Array\":\n return t == null ? null : JSON.stringify(t);\n case \"Boolean\":\n return t ? \"\" : null;\n case \"Number\":\n return t ?? null;\n default:\n return t;\n }\n else\n switch (i) {\n case \"Object\":\n case \"Array\":\n return t && JSON.parse(t);\n case \"Boolean\":\n return t;\n // conversion already handled above\n case \"Number\":\n return t != null ? +t : t;\n default:\n return t;\n }\n}\nfunction Fl(e) {\n const t = {};\n return e.childNodes.forEach((r) => {\n t[\n /** @type {Element} node */\n r.slot || \"default\"\n ] = !0;\n }), t;\n}\nfunction Ml(e, t, r, l, i, a) {\n let o = class extends Vn {\n constructor() {\n super(e, r, i), this.$$p_d = t;\n }\n static get observedAttributes() {\n return Et(t).map(\n (f) => (t[f].attribute || f).toLowerCase()\n );\n }\n };\n return Et(t).forEach((f) => {\n xt(o.prototype, f, {\n get() {\n return this.$$c && f in this.$$c ? this.$$c[f] : this.$$d[f];\n },\n set(s) {\n var h;\n s = pt(f, s, t), this.$$d[f] = s;\n var c = this.$$c;\n if (c) {\n var v = (h = Pe(c, f)) == null ? void 0 : h.get;\n v ? c[f] = s : c.$set({ [f]: s });\n }\n }\n });\n }), l.forEach((f) => {\n xt(o.prototype, f, {\n get() {\n var s;\n return (s = this.$$c) == null ? void 0 : s[f];\n }\n });\n }), e.element = /** @type {any} */\n o, o;\n}\nconst Bn = new TextEncoder();\nfunction Ul(e) {\n return [...new Uint8Array(e)].map((t) => t.toString(16).padStart(2, \"0\")).join(\"\");\n}\nasync function jl(e, t = \"SHA-256\", r = 1e5) {\n const l = Date.now().toString(16);\n e || (e = Math.round(Math.random() * r));\n const i = await qn(l, e, t);\n return {\n algorithm: t,\n challenge: i,\n salt: l,\n signature: \"\"\n };\n}\nasync function qn(e, t, r) {\n if (typeof crypto > \"u\" || !(\"subtle\" in crypto) || !(\"digest\" in crypto.subtle))\n throw new Error(\"Web Crypto is not available. Secure context is required (https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts).\");\n return Ul(\n await crypto.subtle.digest(\n r.toUpperCase(),\n Bn.encode(e + t)\n )\n );\n}\nfunction Vl(e, t, r = \"SHA-256\", l = 1e6, i = 0) {\n const a = new AbortController(), o = Date.now();\n return {\n promise: (async () => {\n for (let s = i; s <= l; s += 1) {\n if (a.signal.aborted)\n return null;\n if (await qn(t, s, r) === e)\n return {\n number: s,\n took: Date.now() - o\n };\n }\n return null;\n })(),\n controller: a\n };\n}\nfunction Bl() {\n try {\n return Intl.DateTimeFormat().resolvedOptions().timeZone;\n } catch {\n }\n}\nfunction ql(e) {\n const t = atob(e), r = new Uint8Array(t.length);\n for (let l = 0; l < t.length; l++)\n r[l] = t.charCodeAt(l);\n return r;\n}\nfunction Hl(e, t = 12) {\n const r = new Uint8Array(t);\n for (let l = 0; l < t; l++)\n r[l] = e % 256, e = Math.floor(e / 256);\n return r;\n}\nasync function Wl(e, t = \"\", r = 1e6, l = 0) {\n const i = \"AES-GCM\", a = new AbortController(), o = Date.now(), f = async () => {\n for (let v = l; v <= r; v += 1) {\n if (a.signal.aborted || !s || !c)\n return null;\n try {\n const h = await crypto.subtle.decrypt(\n {\n name: i,\n iv: Hl(v)\n },\n s,\n c\n );\n if (h)\n return {\n clearText: new TextDecoder().decode(h),\n took: Date.now() - o\n };\n } catch {\n }\n }\n return null;\n };\n let s = null, c = null;\n try {\n c = ql(e);\n const v = await crypto.subtle.digest(\n \"SHA-256\",\n Bn.encode(t)\n );\n s = await crypto.subtle.importKey(\n \"raw\",\n v,\n i,\n !1,\n [\"decrypt\"]\n );\n } catch {\n return {\n promise: Promise.reject(),\n controller: a\n };\n }\n return {\n promise: f(),\n controller: a\n };\n}\nvar E = /* @__PURE__ */ ((e) => (e.ERROR = \"error\", e.VERIFIED = \"verified\", e.VERIFYING = \"verifying\", e.UNVERIFIED = \"unverified\", e.EXPIRED = \"expired\", e))(E || {}), Yl = /* @__PURE__ */ El(''), Zl = /* @__PURE__ */ ve(' ', 1), Gl = /* @__PURE__ */ ve(''), Jl = /* @__PURE__ */ ve(''), Kl = /* @__PURE__ */ ve('
'), Xl = /* @__PURE__ */ ve('
'), Ql = /* @__PURE__ */ ve('
'), ea = /* @__PURE__ */ ve('
'), ta = /* @__PURE__ */ ve(''), ra = /* @__PURE__ */ ve('
'), na = /* @__PURE__ */ ve('
', 1);\nconst ia = {\n hash: \"svelte-ddsc3z\",\n code: `.altcha.svelte-ddsc3z {background:var(--altcha-color-base, transparent);border:var(--altcha-border-width, 1px) solid var(--altcha-color-border, #a0a0a0);border-radius:var(--altcha-border-radius, 3px);color:var(--altcha-color-text, currentColor);display:flex;flex-direction:column;max-width:var(--altcha-max-width, 260px);position:relative;text-align:left;}.altcha.svelte-ddsc3z:focus-within {border-color:var(--altcha-color-border-focus, currentColor);}.altcha[data-floating].svelte-ddsc3z {background:var(--altcha-color-base, white);display:none;filter:drop-shadow(3px 3px 6px rgba(0, 0, 0, 0.2));left:-100%;position:fixed;top:-100%;width:var(--altcha-max-width, 260px);z-index:999999;}.altcha[data-floating=top].svelte-ddsc3z .altcha-anchor-arrow:where(.svelte-ddsc3z) {border-bottom-color:transparent;border-top-color:var(--altcha-color-border, #a0a0a0);bottom:-12px;top:auto;}.altcha[data-floating=bottom].svelte-ddsc3z:focus-within::after {border-bottom-color:var(--altcha-color-border-focus, currentColor);}.altcha[data-floating=top].svelte-ddsc3z:focus-within::after {border-top-color:var(--altcha-color-border-focus, currentColor);}.altcha[data-floating].svelte-ddsc3z:not([data-state=unverified]) {display:block;}.altcha-anchor-arrow.svelte-ddsc3z {border:6px solid transparent;border-bottom-color:var(--altcha-color-border, #a0a0a0);content:\"\";height:0;left:12px;position:absolute;top:-12px;width:0;}.altcha-main.svelte-ddsc3z {align-items:center;display:flex;gap:0.4rem;padding:0.7rem;}.altcha-label.svelte-ddsc3z {flex-grow:1;}.altcha-label.svelte-ddsc3z label:where(.svelte-ddsc3z) {cursor:pointer;}.altcha-logo.svelte-ddsc3z {color:currentColor;opacity:0.3;}.altcha-logo.svelte-ddsc3z:hover {opacity:1;}.altcha-error.svelte-ddsc3z {color:var(--altcha-color-error-text, #f23939);display:flex;font-size:0.85rem;gap:0.3rem;padding:0 0.7rem 0.7rem;}.altcha-footer.svelte-ddsc3z {align-items:center;background-color:var(--altcha-color-footer-bg, transparent);display:flex;font-size:0.75rem;opacity:0.4;padding:0.2rem 0.7rem;text-align:right;}.altcha-footer.svelte-ddsc3z:hover {opacity:1;}.altcha-footer.svelte-ddsc3z > :where(.svelte-ddsc3z):first-child {flex-grow:1;}.altcha-footer.svelte-ddsc3z a {color:currentColor;}.altcha-checkbox.svelte-ddsc3z {display:flex;align-items:center;height:24px;width:24px;}.altcha-checkbox.svelte-ddsc3z input:where(.svelte-ddsc3z) {width:18px;height:18px;margin:0;}.altcha-hidden.svelte-ddsc3z {display:none;}.altcha-spinner.svelte-ddsc3z {\n animation: svelte-ddsc3z-altcha-spinner 0.75s infinite linear;transform-origin:center;}\n\n@keyframes svelte-ddsc3z-altcha-spinner {\n 100% {\n transform: rotate(360deg);\n }\n}`\n};\nfunction la(e, t) {\n var Lr, Dr;\n Nn(t, !0), Cl(e, ia);\n let r = C(t, \"auto\", 7, void 0), l = C(t, \"blockspam\", 7, void 0), i = C(t, \"challengeurl\", 7, void 0), a = C(t, \"challengejson\", 7, void 0), o = C(t, \"customfetch\", 7, void 0), f = C(t, \"debug\", 7, !1), s = C(t, \"delay\", 7, 0), c = C(t, \"expire\", 7, void 0), v = C(t, \"floating\", 7, void 0), h = C(t, \"floatinganchor\", 7, void 0), g = C(t, \"floatingoffset\", 7, void 0), m = C(t, \"hidefooter\", 7, !1), w = C(t, \"hidelogo\", 7, !1), z = C(t, \"id\", 7, void 0), T = C(t, \"name\", 7, \"altcha\"), Y = C(t, \"maxnumber\", 7, 1e6), M = C(t, \"mockerror\", 7, !1), F = C(t, \"obfuscated\", 7, void 0), se = C(t, \"plugins\", 7, void 0), be = C(t, \"refetchonexpire\", 7, !0), N = C(t, \"spamfilter\", 7, !1), X = C(t, \"strings\", 7, void 0), U = C(t, \"test\", 7, !1), Ee = C(t, \"verifyurl\", 7, void 0), Me = C(t, \"workers\", 23, () => Math.min(16, navigator.hardwareConcurrency || 8)), tt = C(t, \"workerurl\", 7, void 0);\n const nr = [\"SHA-256\", \"SHA-384\", \"SHA-512\"], ir = \"Visit Altcha.org\", lr = \"https://altcha.org/\", rt = (n, u) => {\n t.$$host.dispatchEvent(new CustomEvent(n, { detail: u }));\n }, ar = (Dr = (Lr = document.documentElement.lang) == null ? void 0 : Lr.split(\"-\")) == null ? void 0 : Dr[0], Dt = /* @__PURE__ */ De(() => {\n var n;\n return i() && new URL(i(), location.origin).host.endsWith(\".altcha.org\") && !!((n = i()) != null && n.includes(\"apiKey=ckey_\"));\n }), Pt = /* @__PURE__ */ De(() => a() ? wr(a()) : void 0), or = /* @__PURE__ */ De(() => X() ? wr(X()) : {}), Q = /* @__PURE__ */ De(() => {\n var n;\n return {\n ariaLinkLabel: ir,\n error: \"Verification failed. Try again later.\",\n expired: \"Verification expired. Try again.\",\n footer: `Protected by ALTCHA`,\n label: \"I'm not a robot\",\n verified: \"Verified\",\n verifying: \"Verifying...\",\n waitAlert: \"Verifying... please wait.\",\n ...d(or)\n };\n }), sr = /* @__PURE__ */ De(() => z() || `${T()}_checkbox`);\n let Ue = He(!1), R = He(le(E.UNVERIFIED)), j = He(void 0), nt = He(null), je = null, y = null, Ve = He(null), fe = null, xe = [], Ne = He(null);\n Vt(() => {\n Xn(d(Ve));\n }), Vt(() => {\n Qn(d(R));\n }), Dl(() => {\n Hn(), y && (y.removeEventListener(\"submit\", hr), y.removeEventListener(\"reset\", gr), y.removeEventListener(\"focusin\", vr), y = null), fe && (clearTimeout(fe), fe = null), document.removeEventListener(\"click\", cr), document.removeEventListener(\"scroll\", dr), window.removeEventListener(\"resize\", mr);\n }), jn(() => {\n var n;\n I(\"mounted\", \"1.3.0\"), I(\"workers\", Me()), Jn(), I(\"plugins\", xe.length ? xe.map((u) => u.constructor.pluginName).join(\", \") : \"none\"), U() && I(\"using test mode\"), c() && Ot(c()), r() !== void 0 && I(\"auto\", r()), v() !== void 0 && pr(v()), y = (n = d(j)) == null ? void 0 : n.closest(\"form\"), y && (y.addEventListener(\"submit\", hr, { capture: !0 }), y.addEventListener(\"reset\", gr), r() === \"onfocus\" && y.addEventListener(\"focusin\", vr)), r() === \"onload\" && (F() ? it() : $e()), d(Dt) && (m() || w()) && I(\"Attributes hidefooter and hidelogo ignored because usage with free API Keys requires attribution.\"), requestAnimationFrame(() => {\n rt(\"load\");\n });\n });\n function fr(n, u) {\n return btoa(JSON.stringify({\n algorithm: n.algorithm,\n challenge: n.challenge,\n number: u.number,\n salt: n.salt,\n signature: n.signature,\n test: U() ? !0 : void 0,\n took: u.took\n }));\n }\n function Hn() {\n for (const n of xe)\n n.destroy();\n }\n function ur() {\n i() && be() && d(R) === E.VERIFIED ? $e() : lt(E.EXPIRED, d(Q).expired);\n }\n async function Wn() {\n var n;\n if (M())\n throw I(\"mocking error\"), new Error(\"Mocked error.\");\n if (d(Pt))\n return I(\"using provided json data\"), d(Pt);\n if (U())\n return I(\"generating test challenge\", { test: U() }), jl(typeof U() != \"boolean\" ? +U() : void 0);\n {\n if (!i() && y) {\n const L = y.getAttribute(\"action\");\n L != null && L.includes(\"/form/\") && i(L + \"/altcha\");\n }\n if (!i())\n throw new Error(\"Attribute challengeurl not set.\");\n I(\"fetching challenge from\", i());\n let u = null, _ = null;\n if (o())\n if (I(\"using customfetch\"), typeof o() == \"string\") {\n if (u = globalThis[o()] || null, !u)\n throw new Error(`Custom fetch function not found: ${o()}`);\n } else\n u = o();\n const b = {\n headers: N() !== !1 ? { \"x-altcha-spam-filter\": \"1\" } : {}\n };\n if (u) {\n if (_ = await u(i(), b), !_ || !(_ instanceof Response))\n throw new Error(\"Custom fetch function did not return a response.\");\n } else\n _ = await fetch(i(), b);\n if (_.status !== 200)\n throw new Error(`Server responded with ${_.status}.`);\n const S = _.headers.get(\"X-Altcha-Config\"), x = await _.json(), p = new URLSearchParams((n = x.salt.split(\"?\")) == null ? void 0 : n[1]), q = p.get(\"expires\") || p.get(\"expire\");\n if (q) {\n const L = new Date(+q * 1e3), qe = isNaN(L.getTime()) ? 0 : L.getTime() - Date.now();\n qe > 0 && Ot(qe);\n }\n if (S)\n try {\n const L = JSON.parse(S);\n L && typeof L == \"object\" && (L.verifyurl && (L.verifyurl = new URL(L.verifyurl, new URL(i())).toString()), Er(L));\n } catch (L) {\n I(\"unable to configure from X-Altcha-Config\", L);\n }\n return x;\n }\n }\n function Yn(n) {\n var _;\n const u = y == null ? void 0 : y.querySelector(typeof n == \"string\" ? `input[name=\"${n}\"]` : 'input[type=\"email\"]:not([data-no-spamfilter])');\n return ((_ = u == null ? void 0 : u.value) == null ? void 0 : _.slice(u.value.indexOf(\"@\"))) || void 0;\n }\n function Zn() {\n return N() === \"ipAddress\" ? {\n blockedCountries: void 0,\n classifier: void 0,\n disableRules: void 0,\n email: !1,\n expectedCountries: void 0,\n expectedLanguages: void 0,\n fields: !1,\n ipAddress: void 0,\n text: void 0,\n timeZone: void 0\n } : typeof N() == \"object\" ? N() : {\n blockedCountries: void 0,\n classifier: void 0,\n disableRules: void 0,\n email: void 0,\n expectedCountries: void 0,\n expectedLanguages: void 0,\n fields: void 0,\n ipAddress: void 0,\n text: void 0,\n timeZone: void 0\n };\n }\n function Gn(n) {\n return [\n ...(y == null ? void 0 : y.querySelectorAll(n != null && n.length ? n.map((_) => `input[name=\"${_}\"]`).join(\", \") : 'input[type=\"text\"]:not([data-no-spamfilter]), textarea:not([data-no-spamfilter])')) || []\n ].reduce(\n (_, b) => {\n const S = b.name, x = b.value;\n return S && x && (_[S] = /\\n/.test(x) ? x.replace(new RegExp(\"(? u instanceof Error)) && console[n[0] instanceof Error ? \"error\" : \"log\"](\"ALTCHA\", `[name=${T()}]`, ...n);\n }\n function Kn() {\n [E.UNVERIFIED, E.ERROR, E.EXPIRED].includes(d(R)) ? N() !== !1 && (y == null ? void 0 : y.reportValidity()) === !1 ? P(Ue, !1) : F() ? it() : $e() : P(Ue, !0);\n }\n function cr(n) {\n const u = n.target;\n v() && u && !d(j).contains(u) && (d(R) === E.VERIFIED || r() === \"off\" && d(R) === E.UNVERIFIED) && (d(j).style.display = \"none\");\n }\n function dr() {\n v() && d(R) !== E.UNVERIFIED && gt();\n }\n function Xn(n) {\n for (const u of xe)\n typeof u.onErrorChange == \"function\" && u.onErrorChange(d(Ve));\n }\n function vr(n) {\n d(R) === E.UNVERIFIED && $e();\n }\n function hr(n) {\n y && r() === \"onsubmit\" ? d(R) === E.UNVERIFIED ? (n.preventDefault(), n.stopPropagation(), $e().then(() => {\n y == null || y.requestSubmit();\n })) : d(R) !== E.VERIFIED && (n.preventDefault(), n.stopPropagation(), d(R) === E.VERIFYING && _r()) : y && v() && r() === \"off\" && d(R) === E.UNVERIFIED && (n.preventDefault(), n.stopPropagation(), d(j).style.display = \"block\", gt());\n }\n function gr() {\n lt();\n }\n function _r() {\n d(R) === E.VERIFYING && d(Q).waitAlert && alert(d(Q).waitAlert);\n }\n function Qn(n) {\n for (const u of xe)\n typeof u.onStateChange == \"function\" && u.onStateChange(d(R));\n v() && d(R) !== E.UNVERIFIED && requestAnimationFrame(() => {\n gt();\n }), P(Ue, d(R) === E.VERIFIED);\n }\n function mr() {\n v() && gt();\n }\n function wr(n) {\n return JSON.parse(n);\n }\n function gt(n = 20) {\n if (d(j))\n if (je || (je = (h() ? document.querySelector(h()) : y == null ? void 0 : y.querySelector('input[type=\"submit\"], button[type=\"submit\"], button:not([type=\"button\"]):not([type=\"reset\"])')) || y), je) {\n const u = parseInt(g(), 10) || 12, _ = je.getBoundingClientRect(), b = d(j).getBoundingClientRect(), S = document.documentElement.clientHeight, x = document.documentElement.clientWidth, p = v() === \"auto\" ? _.bottom + b.height + u + n > S : v() === \"top\", q = Math.max(n, Math.min(x - n - b.width, _.left + _.width / 2 - b.width / 2));\n if (p ? d(j).style.top = `${_.top - (b.height + u)}px` : d(j).style.top = `${_.bottom + u}px`, d(j).style.left = `${q}px`, d(j).setAttribute(\"data-floating\", p ? \"top\" : \"bottom\"), d(nt)) {\n const L = d(nt).getBoundingClientRect();\n d(nt).style.left = _.left - q + _.width / 2 - L.width / 2 + \"px\";\n }\n } else\n I(\"unable to find floating anchor element\");\n }\n async function ei(n) {\n if (!Ee())\n throw new Error(\"Attribute verifyurl not set.\");\n I(\"requesting server verification from\", Ee());\n const u = { payload: n };\n if (N() !== !1) {\n const {\n blockedCountries: S,\n classifier: x,\n disableRules: p,\n email: q,\n expectedLanguages: L,\n expectedCountries: qe,\n fields: ot,\n ipAddress: st,\n text: vi,\n timeZone: Pr\n } = Zn();\n u.blockedCountries = S, u.classifier = x, u.disableRules = p, u.email = q === !1 ? void 0 : Yn(q), u.expectedCountries = qe, u.expectedLanguages = L || (ar ? [ar] : void 0), u.fields = ot === !1 ? void 0 : Gn(ot), u.ipAddress = st === !1 ? void 0 : st || \"auto\", u.text = vi, u.timeZone = Pr === !1 ? void 0 : Pr || Bl();\n }\n const _ = await fetch(Ee(), {\n body: JSON.stringify(u),\n headers: { \"content-type\": \"application/json\" },\n method: \"POST\"\n });\n if (_.status !== 200)\n throw new Error(`Server responded with ${_.status}.`);\n const b = await _.json();\n if (b != null && b.payload && P(Ne, le(b.payload)), rt(\"serververification\", b), l() && b.classification === \"BAD\")\n throw new Error(\"SpamFilter returned negative classification.\");\n }\n function Ot(n) {\n I(\"expire\", n), fe && (clearTimeout(fe), fe = null), n < 1 ? ur() : fe = setTimeout(ur, n);\n }\n function pr(n) {\n I(\"floating\", n), v() !== n && (d(j).style.left = \"\", d(j).style.top = \"\"), v(n === !0 || n === \"\" ? \"auto\" : n === !1 || n === \"false\" ? void 0 : v()), v() ? (r() || r(\"onsubmit\"), document.addEventListener(\"scroll\", dr), document.addEventListener(\"click\", cr), window.addEventListener(\"resize\", mr)) : r() === \"onsubmit\" && r(void 0);\n }\n function yr(n) {\n if (!n.algorithm)\n throw new Error(\"Invalid challenge. Property algorithm is missing.\");\n if (n.signature === void 0)\n throw new Error(\"Invalid challenge. Property signature is missing.\");\n if (!nr.includes(n.algorithm.toUpperCase()))\n throw new Error(`Unknown algorithm value. Allowed values: ${nr.join(\", \")}`);\n if (!n.challenge || n.challenge.length < 40)\n throw new Error(\"Challenge is too short. Min. 40 chars.\");\n if (!n.salt || n.salt.length < 10)\n throw new Error(\"Salt is too short. Min. 10 chars.\");\n }\n async function br(n) {\n let u = null;\n if (\"Worker\" in window) {\n try {\n u = await ti(n, n.maxnumber);\n } catch (_) {\n I(_);\n }\n if ((u == null ? void 0 : u.number) !== void 0 || \"obfuscated\" in n)\n return { data: n, solution: u };\n }\n if (\"obfuscated\" in n) {\n const _ = await Wl(n.obfuscated, n.key, n.maxnumber);\n return { data: n, solution: await _.promise };\n }\n return {\n data: n,\n solution: await Vl(n.challenge, n.salt, n.algorithm, n.maxnumber || Y()).promise\n };\n }\n async function ti(n, u = typeof U() == \"number\" ? U() : Y(), _ = Math.ceil(Me())) {\n const b = [];\n _ = Math.min(16, Math.max(1, _));\n for (let p = 0; p < _; p++)\n b.push(altchaCreateWorker(tt()));\n const S = Math.ceil(u / _), x = await Promise.all(b.map((p, q) => {\n const L = q * S;\n return new Promise((qe) => {\n p.addEventListener(\"message\", (ot) => {\n if (ot.data)\n for (const st of b)\n st !== p && st.postMessage({ type: \"abort\" });\n qe(ot.data);\n }), p.postMessage({\n payload: n,\n max: L + S,\n start: L,\n type: \"work\"\n });\n });\n }));\n for (const p of b)\n p.terminate();\n return x.find((p) => !!p) || null;\n }\n async function it() {\n if (!F()) {\n Le(E.ERROR);\n return;\n }\n const n = xe.find((u) => u.constructor.pluginName === \"obfuscation\");\n if (!n || !(\"clarify\" in n)) {\n Le(E.ERROR), I(\"Plugin `obfuscation` not found. Import `altcha/plugins/obfuscation` to load it.\");\n return;\n }\n if (\"clarify\" in n && typeof n.clarify == \"function\")\n return n.clarify();\n }\n function Er(n) {\n n.obfuscated !== void 0 && F(n.obfuscated), n.auto !== void 0 && (r(n.auto), r() === \"onload\" && (F() ? it() : $e())), n.blockspam !== void 0 && l(!!n.blockspam), n.customfetch !== void 0 && o(n.customfetch), n.floatinganchor !== void 0 && h(n.floatinganchor), n.delay !== void 0 && s(n.delay), n.floatingoffset !== void 0 && g(n.floatingoffset), n.floating !== void 0 && pr(n.floating), n.expire !== void 0 && (Ot(n.expire), c(n.expire)), n.challenge && (a(typeof n.challenge == \"string\" ? n.challenge : JSON.stringify(n.challenge)), yr(d(Pt))), n.challengeurl !== void 0 && i(n.challengeurl), n.debug !== void 0 && f(!!n.debug), n.hidefooter !== void 0 && m(!!n.hidefooter), n.hidelogo !== void 0 && w(!!n.hidelogo), n.maxnumber !== void 0 && Y(+n.maxnumber), n.mockerror !== void 0 && M(!!n.mockerror), n.name !== void 0 && T(n.name), n.refetchonexpire !== void 0 && be(!!n.refetchonexpire), n.spamfilter !== void 0 && N(typeof n.spamfilter == \"object\" ? n.spamfilter : !!n.spamfilter), n.strings && X(typeof n.strings == \"string\" ? n.strings : JSON.stringify(n.strings)), n.test !== void 0 && U(typeof n.test == \"number\" ? n.test : !!n.test), n.verifyurl !== void 0 && Ee(n.verifyurl), n.workers !== void 0 && Me(+n.workers), n.workerurl !== void 0 && tt(n.workerurl);\n }\n function xr() {\n return {\n auto: r(),\n blockspam: l(),\n challengeurl: i(),\n debug: f(),\n delay: s(),\n expire: c(),\n floating: v(),\n floatinganchor: h(),\n floatingoffset: g(),\n hidefooter: m(),\n hidelogo: w(),\n name: T(),\n maxnumber: Y(),\n mockerror: M(),\n obfuscated: F(),\n refetchonexpire: be(),\n spamfilter: N(),\n strings: d(Q),\n test: U(),\n verifyurl: Ee(),\n workers: Me(),\n workerurl: tt()\n };\n }\n function $r() {\n return je;\n }\n function ri(n) {\n return xe.find((u) => u.constructor.pluginName === n);\n }\n function kr() {\n return d(R);\n }\n function lt(n = E.UNVERIFIED, u = null) {\n fe && (clearTimeout(fe), fe = null), P(Ue, !1), P(Ne, null), Le(n, u);\n }\n function Cr(n) {\n je = n;\n }\n function Le(n, u = null) {\n P(R, le(n)), P(Ve, le(u)), rt(\"statechange\", {\n payload: d(Ne),\n state: d(R)\n });\n }\n async function $e() {\n return lt(E.VERIFYING), await new Promise((n) => setTimeout(n, s() || 0)), Wn().then((n) => (yr(n), I(\"challenge\", n), br(n))).then(({ data: n, solution: u }) => {\n if (I(\"solution\", u), \"challenge\" in n && u && !(\"clearText\" in u))\n if ((u == null ? void 0 : u.number) !== void 0) {\n if (Ee())\n return ei(fr(n, u));\n P(Ne, le(fr(n, u))), I(\"payload\", d(Ne));\n } else\n throw I(\"Unable to find a solution. Ensure that the 'maxnumber' attribute is greater than the randomly generated number.\"), new Error(\"Unexpected result returned.\");\n }).then(() => {\n Le(E.VERIFIED), I(\"verified\"), ol().then(() => {\n rt(\"verified\", { payload: d(Ne) });\n });\n }).catch((n) => {\n I(n), Le(E.ERROR, n.message);\n });\n }\n var Ar = na(), Rr = Br(Ar);\n kl(Rr, t, \"default\", {});\n var at = he(Rr, 2), zt = G(at), Ir = G(zt);\n {\n var ni = (n) => {\n var u = Yl();\n ee(n, u);\n };\n ke(Ir, (n) => {\n d(R) === E.VERIFYING && n(ni);\n });\n }\n var _t = he(Ir, 2);\n let Sr;\n var Be = G(_t);\n Gr(Be), Be.__change = Kn, Z(_t);\n var Ft = he(_t, 2), ii = G(Ft);\n {\n var li = (n) => {\n var u = Zl(), _ = Br(u), b = G(_);\n Ze(b, () => d(Q).verified), Z(_);\n var S = he(_, 2);\n Gr(S), We(() => {\n ie(S, \"name\", T()), Tl(S, d(Ne));\n }), ee(n, u);\n }, ai = (n, u) => {\n {\n var _ = (S) => {\n var x = Gl(), p = G(x);\n Ze(p, () => d(Q).verifying), Z(x), ee(S, x);\n }, b = (S) => {\n var x = Jl(), p = G(x);\n Ze(p, () => d(Q).label), Z(x), We(() => ie(x, \"for\", d(sr))), ee(S, x);\n };\n ke(\n n,\n (S) => {\n d(R) === E.VERIFYING ? S(_) : S(b, !1);\n },\n u\n );\n }\n };\n ke(ii, (n) => {\n d(R) === E.VERIFIED ? n(li) : n(ai, !1);\n });\n }\n Z(Ft);\n var oi = he(Ft, 2);\n {\n var si = (n) => {\n var u = Kl(), _ = G(u);\n ie(_, \"href\", lr), Z(u), We(() => ie(_, \"aria-label\", d(Q).ariaLinkLabel)), ee(n, u);\n };\n ke(oi, (n) => {\n (w() !== !0 || d(Dt)) && n(si);\n });\n }\n Z(zt);\n var Tr = he(zt, 2);\n {\n var fi = (n) => {\n var u = ea(), _ = he(G(u), 2);\n {\n var b = (x) => {\n var p = Xl(), q = G(p);\n Ze(q, () => d(Q).expired), Z(p), We(() => ie(p, \"title\", d(Ve))), ee(x, p);\n }, S = (x) => {\n var p = Ql(), q = G(p);\n Ze(q, () => d(Q).error), Z(p), We(() => ie(p, \"title\", d(Ve))), ee(x, p);\n };\n ke(_, (x) => {\n d(R) === E.EXPIRED ? x(b) : x(S, !1);\n });\n }\n Z(u), ee(n, u);\n };\n ke(Tr, (n) => {\n (d(Ve) || d(R) === E.EXPIRED) && n(fi);\n });\n }\n var Nr = he(Tr, 2);\n {\n var ui = (n) => {\n var u = ta(), _ = G(u), b = G(_);\n Ze(b, () => d(Q).footer), Z(_), Z(u), ee(n, u);\n };\n ke(Nr, (n) => {\n d(Q).footer && (m() !== !0 || d(Dt)) && n(ui);\n });\n }\n var ci = he(Nr, 2);\n {\n var di = (n) => {\n var u = ra();\n Xr(u, (_) => P(nt, _), () => d(nt)), ee(n, u);\n };\n ke(ci, (n) => {\n v() && n(di);\n });\n }\n return Z(at), Xr(at, (n) => P(j, n), () => d(j)), We(\n (n) => {\n ie(at, \"data-state\", d(R)), ie(at, \"data-floating\", v()), Sr = Rl(_t, 1, \"altcha-checkbox svelte-ddsc3z\", null, Sr, n), ie(Be, \"id\", d(sr)), Be.required = r() !== \"onsubmit\" && (!v() || r() !== \"off\");\n },\n [\n () => ({\n \"altcha-hidden\": d(R) === E.VERIFYING\n })\n ]\n ), yl(\"invalid\", Be, _r), Ll(Be, () => d(Ue), (n) => P(Ue, n)), ee(e, Ar), Ln({\n clarify: it,\n configure: Er,\n getConfiguration: xr,\n getFloatingAnchor: $r,\n getPlugin: ri,\n getState: kr,\n reset: lt,\n setFloatingAnchor: Cr,\n setState: Le,\n verify: $e,\n get auto() {\n return r();\n },\n set auto(n = void 0) {\n r(n), $();\n },\n get blockspam() {\n return l();\n },\n set blockspam(n = void 0) {\n l(n), $();\n },\n get challengeurl() {\n return i();\n },\n set challengeurl(n = void 0) {\n i(n), $();\n },\n get challengejson() {\n return a();\n },\n set challengejson(n = void 0) {\n a(n), $();\n },\n get customfetch() {\n return o();\n },\n set customfetch(n = void 0) {\n o(n), $();\n },\n get debug() {\n return f();\n },\n set debug(n = !1) {\n f(n), $();\n },\n get delay() {\n return s();\n },\n set delay(n = 0) {\n s(n), $();\n },\n get expire() {\n return c();\n },\n set expire(n = void 0) {\n c(n), $();\n },\n get floating() {\n return v();\n },\n set floating(n = void 0) {\n v(n), $();\n },\n get floatinganchor() {\n return h();\n },\n set floatinganchor(n = void 0) {\n h(n), $();\n },\n get floatingoffset() {\n return g();\n },\n set floatingoffset(n = void 0) {\n g(n), $();\n },\n get hidefooter() {\n return m();\n },\n set hidefooter(n = !1) {\n m(n), $();\n },\n get hidelogo() {\n return w();\n },\n set hidelogo(n = !1) {\n w(n), $();\n },\n get id() {\n return z();\n },\n set id(n = void 0) {\n z(n), $();\n },\n get name() {\n return T();\n },\n set name(n = \"altcha\") {\n T(n), $();\n },\n get maxnumber() {\n return Y();\n },\n set maxnumber(n = 1e6) {\n Y(n), $();\n },\n get mockerror() {\n return M();\n },\n set mockerror(n = !1) {\n M(n), $();\n },\n get obfuscated() {\n return F();\n },\n set obfuscated(n = void 0) {\n F(n), $();\n },\n get plugins() {\n return se();\n },\n set plugins(n = void 0) {\n se(n), $();\n },\n get refetchonexpire() {\n return be();\n },\n set refetchonexpire(n = !0) {\n be(n), $();\n },\n get spamfilter() {\n return N();\n },\n set spamfilter(n = !1) {\n N(n), $();\n },\n get strings() {\n return X();\n },\n set strings(n = void 0) {\n X(n), $();\n },\n get test() {\n return U();\n },\n set test(n = !1) {\n U(n), $();\n },\n get verifyurl() {\n return Ee();\n },\n set verifyurl(n = void 0) {\n Ee(n), $();\n },\n get workers() {\n return Me();\n },\n set workers(n = Math.min(16, navigator.hardwareConcurrency || 8)) {\n Me(n), $();\n },\n get workerurl() {\n return tt();\n },\n set workerurl(n = void 0) {\n tt(n), $();\n }\n });\n}\nbl([\"change\"]);\ncustomElements.define(\"altcha-widget\", Ml(\n la,\n {\n blockspam: { type: \"Boolean\" },\n debug: { type: \"Boolean\" },\n delay: { type: \"Number\" },\n expire: { type: \"Number\" },\n floatingoffset: { type: \"Number\" },\n hidefooter: { type: \"Boolean\" },\n hidelogo: { type: \"Boolean\" },\n maxnumber: { type: \"Number\" },\n mockerror: { type: \"Boolean\" },\n refetchonexpire: { type: \"Boolean\" },\n test: { type: \"Boolean\" },\n workers: { type: \"Number\" },\n auto: {},\n challengeurl: {},\n challengejson: {},\n customfetch: {},\n floating: {},\n floatinganchor: {},\n id: {},\n name: {},\n obfuscated: {},\n plugins: {},\n spamfilter: {},\n strings: {},\n verifyurl: {},\n workerurl: {}\n },\n [\"default\"],\n [\n \"clarify\",\n \"configure\",\n \"getConfiguration\",\n \"getFloatingAnchor\",\n \"getPlugin\",\n \"getState\",\n \"reset\",\n \"setFloatingAnchor\",\n \"setState\",\n \"verify\"\n ],\n !1\n));\nglobalThis.altchaCreateWorker = (e) => e ? new Worker(new URL(e)) : new _i();\nglobalThis.altchaPlugins = globalThis.altchaPlugins || [];\nexport {\n la as Altcha\n};","// internal\nimport BasePage from \"../base.js\";\n// vendor\nimport { Altcha } from \"../../vendor/altcha.js\";\n\nexport default class PageContact extends BasePage {\n static hash = hashPageContact;\n\n constructor(router) {\n super(router);\n }\n\n initialize() {\n this.sharedInitialize();\n this.hookupButtonSubmitFormContactUs();\n }\n\n hookupButtonSubmitFormContactUs() {\n const button = document.querySelector('form input[type=\"submit\"]');\n button.classList.add(flagButton);\n button.classList.add(flagButtonPrimary);\n }\n}\n","// internal\nimport BasePage from \"../base.js\";\n// vendor\nimport { Altcha } from \"../../vendor/altcha.js\";\n\nexport default class PageContactSuccess extends BasePage {\n static hash = hashPageContactSuccess;\n\n constructor(router) {\n super(router);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n}\n","\nimport BasePage from \"../base.js\";\n\nexport default class PageDogHome extends BasePage {\n static hash = hashPageDogHome;\n\n constructor(router) {\n super(router);\n }\n\n initialize() {\n this.sharedInitialize();\n this.hookupDogHome();\n }\n hookupDogHome() {\n \n }\n\n leave() {\n super.leave();\n }\n}\n","\nimport Utils from '../utils.js';\n\nexport default class BusinessObjects {\n static getOptionJsonFromObjectJsonAndKeys(objectJson, keyText, keyValue, valueSelected = null) {\n return {\n text: objectJson[keyText],\n value: objectJson[keyValue],\n selected: (objectJson[keyValue] == valueSelected),\n };\n }\n static getOptionJsonFromObjectJson(objectJson, valueSelected = null) {\n let keyText = objectJson[flagNameAttrOptionText];\n let keyValue = objectJson[flagNameAttrOptionValue];\n // Utils.consoleLogIfNotProductionEnvironment({objectJson, keyText, keyValue});\n return BusinessObjects.getOptionJsonFromObjectJsonAndKeys(objectJson, keyText, keyValue, valueSelected);\n }\n static getObjectText(objectJson) {\n return objectJson == null ? '' : objectJson[objectJson[flagNameAttrOptionText]];\n }\n static getListObjectsFromIdDictAndCsv(idDict, idCsv) {\n let listObjects = [];\n let ids = idCsv.split(',');\n for (let id of ids) {\n listObjects.push(idDict[id]);\n }\n return listObjects;\n }\n}","\nimport Events from \"../../../lib/events.js\";\n\nexport default class OverlayError {\n static hookup() {\n Events.initialiseEventHandler(idOverlayError + ' button.' + flagCancel, flagInitialised, (buttonCancel) => {\n buttonCancel.addEventListener('click', () => {\n let overlay = document.querySelector(idOverlayError);\n overlay.style.visibility = 'hidden';\n });\n });\n }\n static show(msgError) {\n let overlay = document.querySelector(idOverlayError);\n let labelError = overlay.querySelector(idLabelError);\n labelError.innerText = msgError;\n overlay.style.visibility = 'visible';\n }\n}","\nimport BusinessObjects from \"../lib/business_objects/business_objects.js\";\nimport Events from \"../lib/events.js\";\nimport LocalStorage from \"../lib/local_storage.js\";\nimport Validation from \"../lib/validation.js\";\nimport BasePage from \"./base.js\";\nimport API from \"../api.js\";\nimport DOM from \"../dom.js\";\nimport Utils from \"../lib/utils.js\";\n\nimport OverlayConfirm from \"../components/common/temporary/overlay_confirm.js\";\nimport OverlayError from \"../components/common/temporary/overlay_error.js\";\n\nexport default class TableBasePage extends BasePage {\n // static hash\n // static attrIdRowObject\n // callSaveTableContent\n\n constructor(router) {\n super(router);\n this.cursorYInitial = null;\n this.rowInitial = null;\n this.placeholder = null;\n this.dragSrcEl = null;\n this.dragSrcRow = null;\n\n this.hookupTableCellDdls = this.hookupTableCellDdls.bind(this);\n }\n \n initialize(isPopState = false) {\n throw new Error(\"Must implement initialize() method.\");\n }\n sharedInitialize(isPopState = false, isSinglePageApp = false) {\n if (!isPopState) {\n super.sharedInitialize();\n this.hookupFilters();\n this.hookupButtonsSaveCancel();\n this.hookupTableMain();\n OverlayConfirm.hookup(() => {\n if (isSinglePageApp) {\n this.saveRecordsTableDirtySinglePageApp();\n }\n else {\n this.saveRecordsTableDirty();\n }\n });\n } else {\n let dataPage = this.getLocalStoragePage();\n let filters = dataPage[flagFormFilters];\n let formFilters = TableBasePage.getFormFilters();\n let filtersDefault = DOM.convertForm2JSON(formFilters);\n if (!Validation.areEqualDicts(filters, filtersDefault)) {\n this.callFilterTableContent();\n }\n }\n }\n hookupFilters() {\n if (this.constructor === TableBasePage) {\n throw new Error(\"Subclass of TableBasePage must implement method hookupFilters().\");\n }\n }\n sharedHookupFilters() {\n this.hookupButtonApplyFilters();\n this.hookupSearchTextFilter();\n }\n hookupFilterActive() {\n let filterSelector = idFormFilters + ' #' + flagActiveOnly;\n let filterActiveOld = document.querySelector(filterSelector);\n filterActiveOld.removeAttribute('id');\n let parentDiv = filterActiveOld.parentElement;\n let isChecked = (DOM.getElementAttributeValuePrevious(parentDiv) == \"True\");\n let filterActiveNew = document.querySelector(idFormFilters + ' div.' + flagActiveOnly + '.' + flagContainerInput + ' svg.' + flagActiveOnly);\n filterActiveNew.setAttribute('id', flagActiveOnly);\n if (isChecked) filterActiveNew.classList.add(flagIsChecked);\n\n Events.hookupEventHandler(\"click\", filterSelector, (event, filterActive) => {\n Utils.consoleLogIfNotProductionEnvironment({ filterActive });\n Utils.consoleLogIfNotProductionEnvironment({ [filterActive.tagName]: filterActive.tagName });\n let svgElement = (filterActive.tagName.toUpperCase() == 'SVG') ? filterActive : filterActive.parentElement;\n let wasChecked = svgElement.classList.contains(flagIsChecked);\n if (wasChecked) {\n svgElement.classList.remove(flagIsChecked);\n }\n else {\n svgElement.classList.add(flagIsChecked);\n }\n return this.handleChangeFilter(event, filterActive);\n });\n let filter = document.querySelector(filterSelector);\n let filterValuePrevious = DOM.getElementValueCurrent(filter);\n filter.setAttribute(attrValueCurrent, filterValuePrevious);\n filter.setAttribute(attrValuePrevious, filterValuePrevious);\n }\n hookupFilter(filterFlag, handler = (event, filter) => { return this.handleChangeFilter(event, filter); }) {\n let filterSelector = idFormFilters + ' #' + filterFlag;\n Events.hookupEventHandler(\"change\", filterSelector, handler);\n let filter = document.querySelector(filterSelector);\n let filterValuePrevious = DOM.getElementValueCurrent(filter);\n filter.setAttribute(attrValueCurrent, filterValuePrevious);\n filter.setAttribute(attrValuePrevious, filterValuePrevious);\n }\n handleChangeFilter(event, filter) {\n let isDirtyFilter = DOM.updateAndCheckIsElementDirty(filter);\n let formFilters = TableBasePage.getFormFilters();\n let areDirtyFilters = isDirtyFilter || DOM.hasDirtyChildrenContainer(formFilters);\n let tbody = document.querySelector(idTableMain + ' tbody');\n let rows = tbody.querySelectorAll(':scope > tr');\n rows.forEach((row) => {\n if (areDirtyFilters && !row.classList.contains(flagIsCollapsed)) row.classList.add(flagIsCollapsed);\n if (!areDirtyFilters && row.classList.contains(flagIsCollapsed)) {\n row.classList.remove(flagIsCollapsed);\n let dirtyInputs = row.querySelectorAll('input.' + flagDirty);\n dirtyInputs.forEach((dirtyInput) => {\n dirtyInput.value = DOM.getElementAttributeValueCurrent(dirtyInput);\n });\n }\n });\n if (areDirtyFilters) {\n /*\n tbody.querySelectorAll('tr').forEach((tr) => { \n if (!DOM.hasDirtyChildrenContainer(tr)) tr.remove(); \n });\n */\n tbody.innerHTML = '
Press \"Apply Filters\" to refresh the table.
' + tbody.innerHTML;\n if (!tbody.classList.contains(flagIsCollapsed)) tbody.classList.add(flagIsCollapsed);\n }\n else {\n let isDirtyLabel = tbody.querySelector(\":scope > div\");\n if (isDirtyLabel != null) isDirtyLabel.remove();\n if (tbody.classList.contains(flagIsCollapsed)) tbody.classList.remove(flagIsCollapsed);\n let initialisedElements = tbody.querySelectorAll('.' + flagInitialised);\n initialisedElements.forEach((initialisedElement) => {\n initialisedElement.classList.remove(flagInitialised);\n });\n this.hookupTableMain();\n }\n this.updateAndToggleShowButtonsSaveCancel();\n }\n hookupFilterIsNotEmpty() {\n this.hookupFilter(flagIsNotEmpty);\n }\n hookupButtonApplyFilters() {\n Events.hookupEventHandler(\"click\", idButtonApplyFilters, (event, button) => {\n event.stopPropagation();\n this.callFilterTableContent();\n });\n }\n hookupSearchTextFilter() {\n this.hookupFilter(flagSearch);\n }\n hookupFilterDog() {\n this.hookupFilter(attrIdDog); \n }\n hookupFilterCommandCategory() {\n this.hookupFilter(attrIdCommandCategory, (event, filterCommandCategory) => {\n this.handleChangeFilter();\n let isDirtyFilter = filterCommandCategory.classList.contains(flagDirty);\n let idCommandCategory = DOM.getElementValueCurrent(filterCommandCategory);\n console.log(\"filter commands unsorted\");\n console.log(Utils.getListFromDict(filterCommands));\n let commandsInCategory = Utils.getListFromDict(filterCommands).filter(command => command[attrIdCommandCategory] == idCommandCategory);\n let sortedCommands = commandsInCategory.sort((a, b) => a[flagName].localeCompare(b[flagName]));\n let filterCommand = document.querySelector(idFormFilters + ' .' + flagCommand);\n let idCommandPrevious = DOM.getElementAttributeValuePrevious(filterCommand);\n filterCommand.innerHTML = '';\n let optionJson, option;\n option = DOM.createOption(null);\n filterCommand.appendChild(option);\n sortedCommands.forEach((command) => {\n optionJson = BusinessObjects.getOptionJsonFromObjectJson(command, idCommandPrevious);\n option = DOM.createOption(optionJson);\n filterCommand.appendChild(option);\n });\n filterCommand.dispatchEvent(new Event('change'));\n return isDirtyFilter;\n });\n }\n hookupFilterCommand() {\n this.hookupFilter(attrIdCommand);\n }\n hookupFilterLocation() {\n this.hookupFilter(attrIdLocation);\n }\n /*\n getAndLoadFilteredTableContent = () => {\n this.callFilterTableContent()\n .catch(error => console.error('Error:', error));\n }\n */\n static getFormFilters() {\n return document.querySelector(idFormFilters);\n }\n callFilterTableContent() {\n let formFilters = TableBasePage.getFormFilters();\n let filtersJson = DOM.convertForm2JSON(formFilters);\n Utils.consoleLogIfNotProductionEnvironment(\"callFilterTableContent\");\n Utils.consoleLogIfNotProductionEnvironment(\"formFilters\");\n Utils.consoleLogIfNotProductionEnvironment(formFilters);\n Utils.consoleLogIfNotProductionEnvironment(\"filtersJson\");\n Utils.consoleLogIfNotProductionEnvironment(filtersJson);\n this.leave();\n API.goToHash(this.constructor.hash, filtersJson);\n }\n callbackLoadTableContent(response) {\n let table = TableBasePage.getTableMain();\n let bodyTable = table.querySelector('tbody');\n bodyTable.querySelectorAll('tr').forEach(function(row) { row.remove(); });\n let rowsJson = response.data[flagRows];\n if (!Validation.isEmpty(rowsJson) && rowsJson.every(row => row.hasOwnProperty('display_order'))) {\n rowsJson = rowsJson.sort((a, b) => a.display_order - b.display_order);\n }\n rowsJson.forEach(this.loadRowTable.bind(this));\n this.hookupTableMain();\n }\n static getTableMain() {\n return document.querySelector(idTableMain);\n }\n loadRowTable(rowJson) {\n throw new Error(\"Subclass of TableBasePage must implement method loadRowTable().\");\n }\n getAndLoadFilteredTableContentSinglePageApp() {\n this.callFilterTableContent()\n .then(data => {\n Utils.consoleLogIfNotProductionEnvironment('Table data received:', data);\n this.callbackLoadTableContent(data);\n })\n .catch(error => console.error('Error:', error));\n }\n hookupButtonsSaveCancel() {\n this.hookupButtonSave();\n this.hookupButtonCancel();\n this.toggleShowButtonsSaveCancel(false);\n }\n saveRecordsTableDirty() {\n let records = this.getTableRecords(true);\n if (records.length == 0) {\n OverlayError.show('No records to save');\n return;\n }\n let formElement = TableBasePage.getFormFilters();\n let comment = DOM.getElementValueCurrent(document.querySelector(idTextareaConfirm));\n /*\n Utils.consoleLogIfNotProductionEnvironment({ formElement, comment, records });\n Utils.consoleLogIfNotProductionEnvironment('records');\n Utils.consoleLogIfNotProductionEnvironment(records);\n debugger;\n */\n this.callSaveTableContent(records, formElement, comment)\n .then(data => {\n if (data[flagStatus] == flagSuccess) {\n if (_verbose) { \n Utils.consoleLogIfNotProductionEnvironment('Records saved!');\n Utils.consoleLogIfNotProductionEnvironment('Data received:', data);\n }\n this.callFilterTableContent();\n }\n else {\n Utils.consoleLogIfNotProductionEnvironment(\"error: \", data[flagMessage]);\n OverlayError.show(data[flagMessage]);\n }\n })\n .catch(error => console.error('Error:', error));\n }\n getTableRecords(dirtyOnly = false) {\n let records = [];\n let record;\n document.querySelectorAll(idTableMain + ' > tbody > tr').forEach((row) => {\n if (dirtyOnly && !DOM.hasDirtyChildrenContainer(row)) return;\n record = this.getJsonRow(row);\n records.push(record);\n });\n return records;\n }\n getJsonRow(row) {\n throw new Error(\"Subclass of TableBasePage must implement method getJsonRow().\");\n }\n saveRecordsTableDirtySinglePageApp() {\n let records = this.getTableRecords(true);\n if (records.length == 0) {\n OverlayError.show('No records to save');\n return;\n }\n let formElement = TableBasePage.getFormFilters();\n let comment = DOM.getElementValueCurrent(document.querySelector(idTextareaConfirm));\n this.callSaveTableContent(records, formElement, comment)\n .then(data => {\n if (data[flagStatus] == flagSuccess) {\n if (_verbose) { \n Utils.consoleLogIfNotProductionEnvironment('Records saved!');\n Utils.consoleLogIfNotProductionEnvironment('Data received:', data);\n }\n this.callbackLoadTableContent(data);\n }\n else {\n Utils.consoleLogIfNotProductionEnvironment(\"error: \", data[flagMessage]);\n OverlayError.show(data[flagMessage]);\n }\n })\n .catch(error => console.error('Error:', error));\n }\n hookupButtonCancel() {\n Events.initialiseEventHandler(idFormFilters + ' button.' + flagCancel, flagInitialised, (button) => {\n button.addEventListener(\"click\", (event) => {\n event.stopPropagation();\n button = event.target;\n if (button.classList.contains(flagIsCollapsed)) return;\n this.callFilterTableContent();\n });\n button.classList.add(flagIsCollapsed);\n });\n }\n handleClickAddRowTable(event, button) {\n event.stopPropagation();\n _rowBlank.setAttribute(this.constructor.attrIdRowObject, -1 - _rowBlank.getAttribute(this.constructor.attrIdRowObject));\n let tbody = document.querySelector(idTableMain + ' tbody');\n if (tbody.classList.contains(flagIsCollapsed)) return;\n let row = _rowBlank.cloneNode(true);\n row.classList.remove(flagInitialised);\n row.querySelectorAll('.' + flagInitialised).forEach(function(element) {\n element.classList.remove(flagInitialised);\n });\n let countRows = document.querySelectorAll(idTableMain + ' > tbody > tr').length;\n row.setAttribute(this.constructor.attrIdRowObject, -1 - countRows);\n this.initialiseRowNew(tbody, row);\n tbody.prepend(row);\n tbody.scrollTop = 0;\n this.hookupTableMain();\n this.postInitialiseRowNewCallback(tbody);\n }\n initialiseRowNew(tbody, row) {\n if (this.constructor === TableBasePage) {\n throw new Error(\"Subclass of TableBasePage must implement method initialiseRowNew().\");\n }\n // row.classList.remove(flagRowNew);\n }\n hookupTableMain() {\n if (this.constructor === TableBasePage) {\n throw new Error(\"Must implement hookupTableMain() method.\");\n }\n Events.initialiseEventHandler(idTableMain, flagInitialised, (table) => {\n this.cacheRowBlank();\n });\n }\n cacheRowBlank() {\n let selectorRowNew = idTableMain + ' tbody tr.' + flagRowNew;\n let rowBlankTemp = document.querySelector(selectorRowNew);\n Utils.consoleLogIfNotProductionEnvironment(\"row blank temp: \", rowBlankTemp);\n let countRows = document.querySelectorAll(idTableMain + ' > tbody > tr').length;\n _rowBlank = rowBlankTemp.cloneNode(true);\n document.querySelectorAll(selectorRowNew).forEach(function(row) {\n row.remove();\n });\n _rowBlank.setAttribute(this.constructor.attrIdRowObject, -1 - countRows);\n }\n postInitialiseRowNewCallback(tbody) {\n if (this.constructor === TableBasePage) {\n throw new Error(\"Subclass of TableBasePage must implement method postInitialiseRowNewCallback(tbody).\");\n }\n }\n initialiseSliderDisplayOrderRowNew(tbody, row) {\n // let tdSelector = ':scope > tr > td.' + flagDisplayOrder;\n // let tbody = document.querySelector('table' + (Validation.isEmpty(flagTable) ? '' : '.' + flagTable) + ' > tbody');\n let slidersDisplayOrder = tbody.querySelectorAll(':scope > tr > td.' + flagDisplayOrder + ' input.' + flagSlider);\n let maxDisplayOrder = 0;\n slidersDisplayOrder.forEach((slider) => {\n maxDisplayOrder = Math.max(maxDisplayOrder, parseFloat(DOM.getElementValueCurrent(slider)));\n });\n let sliderDisplayOrder = row.querySelector('td.' + flagDisplayOrder + ' .' + flagSlider);\n DOM.setElementValuesCurrentAndPrevious(sliderDisplayOrder, maxDisplayOrder + 1);\n }\n hookupSlidersDisplayOrderTable() {\n let selectorDisplayOrder = idTableMain + ' tbody tr td.' + flagDisplayOrder + ' input.' + flagSlider + '.' + flagDisplayOrder;\n this.hookupChangeHandlerTableCells(selectorDisplayOrder);\n }\n hookupChangeHandlerTableCells(inputSelector, handler = (event, element) => { this.handleChangeNestedElementCellTable(event, element); }) {\n Events.initialiseEventHandler(inputSelector, flagInitialised, (input) => {\n input.addEventListener(\"change\", (event) => {\n handler(event, input);\n });\n handler(null, input);\n });\n }\n handleChangeNestedElementCellTable(event, element) {\n let wasDirtyParentRows = this.getAllIsDirtyRowsInParentTree(element);\n let wasDirtyElement = element.classList.contains(flagDirty);\n let isDirtyElement = DOM.updateAndCheckIsElementDirty(element);\n // Utils.consoleLogIfNotProductionEnvironment({isDirtyElement, wasDirtyElement, wasDirtyParentRows});\n // let td = DOM.getCellFromElement(element);\n // DOM.setElementAttributeValueCurrent(td, DOM.getElementAttributeValueCurrent(element));\n if (isDirtyElement != wasDirtyElement) {\n // DOM.handleDirtyElement(td, isDirtyElement);\n this.updateAndToggleShowButtonsSaveCancel();\n this.cascadeChangedIsDirtyNestedElementCellTable(element, isDirtyElement, wasDirtyParentRows);\n }\n }\n getAllIsDirtyRowsInParentTree(element) {\n let rows = [];\n let parent = element;\n let isDirty;\n while (parent) {\n if (parent.tagName.toUpperCase() == 'TR') {\n isDirty = parent.classList.contains(flagDirty)\n rows.push(isDirty);\n }\n parent = parent.parentElement;\n }\n return rows;\n }\n cascadeChangedIsDirtyNestedElementCellTable(element, isDirtyElement, wasDirtyParentRows) {\n if (Validation.isEmpty(wasDirtyParentRows)) return;\n let tr = DOM.getRowFromElement(element);\n let isDirtyRow = isDirtyElement || DOM.hasDirtyChildrenContainer(tr);\n let wasDirtyRow = wasDirtyParentRows.shift();\n Utils.consoleLogIfNotProductionEnvironment({isDirtyRow, wasDirtyRow});\n if (isDirtyRow != wasDirtyRow) {\n DOM.handleDirtyElement(tr, isDirtyRow);\n this.updateAndToggleShowButtonsSaveCancel();\n this.cascadeChangedIsDirtyNestedElementCellTable(tr.parentElement, isDirtyRow, wasDirtyParentRows);\n }\n }\n hookupChangeHandlerTableCellsWhenNotCollapsed(inputSelector, handler = (event, element) => {\n if (!element.classList.contains(flagIsCollapsed)) this.handleChangeNestedElementCellTable(event, element);\n }) {\n Events.hookupEventHandler(\"change\", inputSelector, handler);\n }\n hookupFieldsCodeTable() {\n this.hookupChangeHandlerTableCells(idTableMain + ' > tbody > tr > td.' + flagCode + ' > .' + flagCode);\n }\n hookupFieldsNameTable() {\n this.hookupChangeHandlerTableCells(idTableMain + ' > tbody > tr > td.' + flagName + ' > .' + flagName);\n }\n hookupFieldsDescriptionTable() {\n this.hookupChangeHandlerTableCells(idTableMain + ' > tbody > tr > td.' + flagDescription + ' > .' + flagDescription);\n }\n hookupFieldsNotesTable() {\n this.hookupChangeHandlerTableCells(idTableMain + ' > tbody > tr > td.' + flagNotes + ' > .' + flagNotes);\n }\n hookupFieldsActive(flagTable = '', handleClickRowNew = (event, element) => { this.handleClickAddRowTable(event, element); }) {\n let selectorButton = 'table.table-main' + (Validation.isEmpty(flagTable) ? '' : '.' + flagTable) + ' > tbody > tr > td.' + flagActive + ' .' + flagButton + '.' + flagActive;\n let selectorButtonDelete = selectorButton + '.' + flagDelete;\n let selectorButtonUndelete = selectorButton + ':not(.' + flagDelete + ')';\n Utils.consoleLogIfNotProductionEnvironment(\"hookupFieldsActive: \", selectorButtonDelete, selectorButtonUndelete);\n this.hookupButtonsRowDelete(selectorButtonDelete, selectorButtonUndelete);\n this.hookupButtonsRowUndelete(selectorButtonDelete, selectorButtonUndelete);\n Events.hookupEventHandler(\n \"click\"\n , 'table.table-main' + (Validation.isEmpty(flagTable) ? '' : '.' + flagTable) + ' > thead > tr > th.' + flagActive + ' .' + flagButton + '.' + flagActive\n , (event, button) => { handleClickRowNew(event, button); }\n );\n }\n hookupButtonsRowDelete(selectorButtonDelete, selectorButtonUndelete, changeHandler = (event, element) => { this.handleChangeNestedElementCellTable(event, element); }) {\n Events.hookupEventHandler(\"click\", selectorButtonDelete, (event, element) => {\n this.handleClickButtonRowDelete(event, element, selectorButtonDelete, selectorButtonUndelete, (changeEvent, changeElement) => { changeHandler(changeEvent, changeElement); });\n });\n }\n handleClickButtonRowDelete(event, element, selectorButtonDelete, selectorButtonUndelete, changeHandler = (event, element) => { this.handleChangeNestedElementCellTable(event, element); }) {\n if (element.tagName.toUpperCase() != 'SVG') element = element.parentElement;\n let valuePrevious = DOM.getElementAttributeValuePrevious(element);\n let wasDirty = element.classList.contains(flagDirty);\n let row = DOM.getRowFromElement(element);\n if (row.classList.contains(flagRowNew) && !DOM.hasDirtyChildrenContainer(row)) {\n row.parentNode.removeChild(row);\n }\n else {\n let buttonAddTemplate = document.querySelector(idContainerTemplateElements + ' .' + flagButton + '.' + flagActive + '.' + flagAdd);\n let buttonAdd = buttonAddTemplate.cloneNode(true);\n DOM.setElementAttributeValuePrevious(buttonAdd, valuePrevious);\n DOM.setElementAttributeValueCurrent(buttonAdd, false);\n if (wasDirty) buttonAdd.classList.add(flagDirty);\n element.replaceWith(buttonAdd);\n changeHandler(null, buttonAdd);\n this.hookupButtonsRowUndelete(selectorButtonDelete, selectorButtonUndelete, (changeEvent, changeElement) => { changeHandler(changeEvent, changeElement); });\n }\n this.updateAndToggleShowButtonsSaveCancel();\n }\n hookupButtonsRowUndelete(selectorButtonDelete, selectorButtonUndelete, changeHandler = (event, element) => { this.handleChangeNestedElementCellTable(event, element); }) {\n Events.hookupEventHandler(\"click\", selectorButtonUndelete, (event, element) => {\n this.handleClickButtonRowUndelete(event, element, selectorButtonDelete, selectorButtonUndelete, (changeEvent, changeElement) => { changeHandler(changeEvent, changeElement); });\n });\n }\n handleClickButtonRowUndelete(event, element, selectorButtonDelete, selectorButtonUndelete, changeHandler = (event, element) => { this.handleChangeNestedElementCellTable(event, element); }) {\n if (element.tagName.toUpperCase() != 'SVG') element = element.parentElement;\n let valuePrevious = DOM.getElementAttributeValuePrevious(element);\n let wasDirty = DOM.isElementDirty(element);\n let buttonDeleteTemplate = document.querySelector(idContainerTemplateElements + ' .' + flagButton + '.' + flagActive + '.' + flagDelete);\n let buttonDelete = buttonDeleteTemplate.cloneNode(true);\n DOM.setElementAttributeValuePrevious(buttonDelete, valuePrevious);\n DOM.setElementAttributeValueCurrent(buttonDelete, true);\n if (wasDirty) buttonDelete.classList.add(flagDirty);\n element.replaceWith(buttonDelete);\n changeHandler(null, buttonDelete);\n this.hookupButtonsRowDelete(selectorButtonDelete, selectorButtonUndelete, (changeEvent, changeElement) => { changeHandler(changeEvent, changeElement); });\n this.updateAndToggleShowButtonsSaveCancel();\n }\n hookupTdsAccessLevel() {\n this.hookupTableCellDdlPreviews(flagAccessLevel, Utils.getListFromDict(accessLevels));\n }\n hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector = null\n , ddlHookup = (ddlSelector) => { this.hookupTableCellDdls(ddlSelector); }\n , changeHandler = (event, element) => { this.handleChangeNestedElementCellTable(event, element); }\n ) {\n if (cellSelector == null) cellSelector = idTableMain + ' > tbody > tr > td.' + fieldFlag;\n Events.hookupEventHandler(\"click\", cellSelector + ' div.' + fieldFlag, (event, div) => {\n this.handleClickTableCellDdlPreview(\n event\n , div\n , fieldFlag\n , optionList\n , cellSelector\n , (ddlSelector) => { ddlHookup(\n ddlSelector\n , (event, element) => { changeHandler(event, element); }\n ); }\n );\n });\n ddlHookup(cellSelector + ' select.' + fieldFlag);\n }\n hookupTableCellDdls(ddlSelector, changeHandler = (event, element) => { this.handleChangeNestedElementCellTable(event, element); }) {\n this.hookupChangeHandlerTableCells(ddlSelector, (event, element) => { changeHandler(event, element); });\n }\n handleClickTableCellDdlPreview(event, div, fieldFlag, optionObjectList, cellSelector = null, ddlHookup = (cellSelector) => { this.hookupTableCellDdls(cellSelector); }) {\n if (Validation.isEmpty(cellSelector)) cellSelector = idTableMain + ' > tbody > tr > td.' + fieldFlag;\n let idSelected = DOM.getElementAttributeValueCurrent(div);\n let td = DOM.getCellFromElement(div);\n td.innerHTML = '';\n let ddl = document.createElement('select');\n ddl.classList.add(fieldFlag);\n DOM.setElementValuesCurrentAndPrevious(ddl, idSelected);\n let optionJson, option;\n if (_verbose) { \n Utils.consoleLogIfNotProductionEnvironment(\"click table cell ddl preview\");\n Utils.consoleLogIfNotProductionEnvironment({optionObjectList, cellSelector});\n }\n option = DOM.createOption(null);\n ddl.appendChild(option);\n optionObjectList.forEach((optionObjectJson) => {\n optionJson = BusinessObjects.getOptionJsonFromObjectJson(optionObjectJson, idSelected);\n option = DOM.createOption(optionJson);\n ddl.appendChild(option);\n });\n td.appendChild(ddl);\n let ddlSelector = cellSelector + ' select.' + fieldFlag;\n ddlHookup(ddlSelector);\n }\n /*\n hookupTableCellDDlPreviewsWhenNotCollapsed(cellSelector, optionList, ddlHookup = (event, element) => { this.hookupTableCellDdls(event, element); }) {\n Events.hookupEventHandler(\"click\", cellSelector + ' div', (event, div) => {\n this.handleClickTableCellDdlPreview(event, div, optionList, cellSelector, (event, element) => { ddlHookup(event, element); });\n });\n }\n */\n toggleColumnCollapsed(flagColumn, isCollapsed) {\n this.toggleColumnHasClassnameFlag(flagColumn, isCollapsed, flagIsCollapsed);\n }\n toggleColumnHeaderCollapsed(flagColumn, isCollapsed) {\n this.toggleColumnHasClassnameFlag(flagColumn, isCollapsed, flagIsCollapsed);\n }\n\n hookupFieldsCommandCategory(idTable = null) {\n if (idTable == null) idTable = idTableMain;\n this.hookupTableCellDdlPreviews(\n flagCommandCategory\n , Utils.getListFromDict(filterCommandCategories).sort((a, b) => a[flagName].localeCompare(b[flagName]))\n , idTable + ' > tbody > tr > td.' + flagCommandCategory // + ' .' + flagCommandCategory\n , (cellSelector) => { this.hookupCommandCategoryDdls(cellSelector); }\n );\n }\n hookupCommandCategoryDdls(ddlSelector) {\n this.hookupChangeHandlerTableCells(ddlSelector, (event, element) => { this.handleChangeCommandCategoryDdl(event, element); });\n }\n handleChangeCommandCategoryDdl(event, ddlCategory) {\n let row = DOM.getRowFromElement(ddlCategory);\n let idCommandCategoryRowOld = this.getIdCommandCategoryRow(row); // DOM.getElementAttributeValueCurrent(ddlCategory);\n this.handleChangeNestedElementCellTable(event, ddlCategory);\n let idCommandCategoryRowNew = this.getIdCommandCategoryRow(row); // DOM.getElementAttributeValueCurrent(ddlCategory);\n if (\n idCommandCategoryRowOld == idCommandCategoryRowNew\n || idCommandCategoryRowNew == 0\n ) return;\n console.log({ idCommandCategoryRowNew, idCommandCategoryRowOld });\n let idCommandCategoryFilter = this.getIdCommandCategoryFilter();\n let tdCommand = row.querySelector('td.' + flagCommand);\n tdCommand.dispatchEvent(new Event('click'));\n let ddlCommand = row.querySelector('td.' + flagCommand + ' select.' + flagCommand);\n ddlCommand.innerHTML = '';\n ddlCommand.appendChild(DOM.createOption(null));\n let optionJson, option;\n let commandsInCategory = Utils.getListFromDict(filterCommands).filter(command => \n (\n command[attrIdCommandCategory] == idCommandCategoryRowNew\n || idCommandCategoryRowNew == 0\n )\n && (\n command[attrIdCommandCategory] == idCommandCategoryFilter\n || idCommandCategoryFilter == 0\n )\n );\n let sortedCommands = commandsInCategory.sort((a, b) => a[flagName].localeCompare(b[flagName]));\n sortedCommands.forEach((command) => {\n optionJson = BusinessObjects.getOptionJsonFromObjectJson(command);\n option = DOM.createOption(optionJson);\n ddlCommand.appendChild(option);\n });\n this.handleChangeNestedElementCellTable(event, ddlCommand);\n }\n hookupFieldsCommand(idTable = null) {\n if (idTable == null) idTable = idTableMain;\n Events.hookupEventHandler(\"click\", idTable + ' > tbody > tr > td.' + flagCommand + ' div.' + flagCommand, (event, div) => {\n Utils.consoleLogIfNotProductionEnvironment(div);\n let parentTr = DOM.getRowFromElement(div);\n Utils.consoleLogIfNotProductionEnvironment({ div, parentTr });\n let tdCommandCategory = parentTr.querySelector('td.' + flagCommandCategory);\n let idCommandCategoryRow = this.getIdCommandCategoryRow(parentTr); // DOM.getElementAttributeValueCurrent(tdCommandCategory);\n let idCommandCategoryFilter = this.getIdCommandCategoryFilter();\n let filterCommandList = Utils.getListFromDict(filterCommands);\n let commandsInCategory = filterCommandList.filter(command => \n (\n command[attrIdCommandCategory] == idCommandCategoryRow\n || idCommandCategoryRow == 0\n )\n && (\n command[attrIdCommandCategory] == idCommandCategoryFilter\n || idCommandCategoryFilter == 0\n )\n );\n let sortedCommands = commandsInCategory.sort((a, b) => a[flagName].localeCompare(b[flagName]));\n Utils.consoleLogIfNotProductionEnvironment({ tdCommandCategory, idCommandCategoryRow, idCommandCategoryFilter, filterCommandList, commandsInCategory });\n Utils.consoleLogIfNotProductionEnvironment(filterCommandList);\n this.handleClickTableCellDdlPreview(\n event\n , div\n , flagCommand // fieldFlag\n , sortedCommands // optionList\n , idTable + ' > tbody > tr > td.' + flagCommand // cellSelector\n , (cellSelector) => { this.hookupTableCellDdls(\n cellSelector\n , (event, element) => { this.handleChangeCommandDdl(event, element); }\n ); }\n );\n });\n this.hookupTableCellDdls(\n idTable + ' > tbody > tr > td.' + flagCommand + ' select.' + flagCommand\n , (event, element) => { this.handleChangeCommandDdl(event, element); }\n );\n }\n handleChangeCommandDdl(event, ddlCommand) {\n // console.log(\"handle change command ddl\");\n let row = DOM.getRowFromElement(ddlCommand);\n this.handleChangeNestedElementCellTable(event, ddlCommand);\n let idCommandCategoryRowOld = this.getIdCommandCategoryRow(row);\n let idCommandNew = this.getIdCommandRow(row);\n let commandNew = filterCommands[idCommandNew];\n // console.log({ idCommandCategoryRowOld, commandNew });\n if (commandNew == null || idCommandCategoryRowOld == commandNew[attrIdCommandCategory]) return;\n let divCommandCategory = row.querySelector('td.' + flagCommandCategory + ' div');\n if (divCommandCategory) divCommandCategory.dispatchEvent(new Event('click'));\n let ddlCommandCategory = row.querySelector('td.' + flagCommandCategory + ' select.' + flagCommandCategory);\n DOM.setElementValueCurrent(ddlCommandCategory, commandNew[attrIdCommandCategory]);\n // console.log({ ddlCommandCategory, commandNew });\n this.handleChangeNestedElementCellTable(event, ddlCommandCategory);\n }\n getIdCommandCategoryRow(tr) {\n let elementCommandCategory = tr.querySelector('td.' + flagCommandCategory + ' .' + flagCommandCategory);\n return DOM.getElementAttributeValueCurrent(elementCommandCategory);\n }\n getIdCommandCategoryFilter() {\n let formFilters = TableBasePage.getFormFilters();\n let idCommandCategory = 0;\n if (formFilters == null) return idCommandCategory;\n let commandCategoryFilter = formFilters.querySelector('#' + attrIdCommandCategory);\n let commandFilter = formFilters.querySelector('#' + attrIdCommand);\n let valueCurrentCommandCategoryFilter = DOM.getElementAttributeValueCurrent(commandCategoryFilter);\n Utils.consoleLogIfNotProductionEnvironment({ valueCurrentCommandCategoryFilter });\n if (valueCurrentCommandCategoryFilter == \"\") {\n let valueCurrentCommandFilter = DOM.getElementAttributeValueCurrent(commandFilter);\n Utils.consoleLogIfNotProductionEnvironment({ valueCurrentCommandFilter });\n if (valueCurrentCommandFilter != \"\") {\n let command = filterCommands[valueCurrentCommandFilter];\n idCommandCategory = command[attrIdCommandCategory];\n }\n } else {\n idCommandCategory = Number(valueCurrentCommandCategoryFilter);\n }\n return idCommandCategory;\n }\n getHasCommandCategoryFilter() {\n let idCommandCategoryFilter = this.getIdCommandCategoryFilter();\n return !(Validation.isEmpty(idCommandCategoryFilter) || idCommandCategoryFilter == 0);\n }\n getIdCommandRow(tr) {\n let elementCommand = tr.querySelector('td.' + flagCommand + ' .' + flagCommand);\n return DOM.getElementAttributeValueCurrent(elementCommand);\n }\n getIdCommandFilter() {\n let formFilters = TableBasePage.getFormFilters();\n let commandFilter = formFilters.querySelector('#' + attrIdCommand);\n let valueCurrentCommandFilter = DOM.getElementAttributeValueCurrent(commandFilter);\n let idCommand = Number(valueCurrentCommandFilter);\n return idCommand;\n }\n getHasCommandFilter() {\n let idCommandFilter = this.getIdCommandFilter();\n return !(Validation.isEmpty(idCommandFilter) || idCommandFilter == 0);\n }\n hookupFieldsDog() {\n this.hookupTableCellDdlPreviews(flagDog, Utils.getListFromDict(filterDogs));\n }\n getIdDogRow(tr) {\n let elementDog = tr.querySelector('td.' + flagDog + ' .' + flagDog);\n return DOM.getElementAttributeValueCurrent(elementDog);\n }\n /*\n createTdActive(isActive) {\n let tdActive = document.createElement(\"td\");\n tdActive.classList.add(flagActive);\n let buttonActive = document.createElement(\"button\");\n buttonActive.classList.add(flagActive);\n buttonActive.classList.add(isActive ? flagDelete : flagAdd);\n buttonActive.textContent = isActive ? 'x' : '+';\n DOM.setElementAttributesValuesCurrentAndPrevious(buttonActive, isActive);\n tdActive.appendChild(buttonActive);\n return tdActive;\n }\n */\n leave() {\n if (this.constructor === TableBasePage) {\n throw new Error(\"Must implement leave() method.\");\n }\n super.leave();\n let formFilters = TableBasePage.getFormFilters();\n let dataPage = {};\n dataPage[flagFormFilters] = DOM.convertForm2JSON(formFilters);\n this.setLocalStoragePage(dataPage);\n }\n\n toggleColumnHasClassnameFlag(columnFlag, isRequiredFlag, classnameFlag) {\n let table = TableBasePage.getTableMain();\n let columnTh = table.querySelector('th.' + columnFlag);\n let columnThHasFlag = columnTh.classList.contains(classnameFlag);\n if (isRequiredFlag == columnThHasFlag) return;\n DOM.toggleElementHasClassnameFlag(columnTh, isRequiredFlag, classnameFlag);\n }\n toggleColumnHeaderHasClassnameFlag(columnFlag, isRequiredFlag, classnameFlag) {\n let table = TableBasePage.getTableMain();\n let columnTh = table.querySelector('th.' + columnFlag);\n DOM.toggleElementHasClassnameFlag(columnTh, isRequiredFlag, classnameFlag);\n }\n\n updateAndToggleShowButtonsSaveCancel() {\n let records = this.getTableRecords(true);\n let isDirtyMainTable = records.length > 0;\n\n let formFilters = TableBasePage.getFormFilters();\n let areDirtyFilters = DOM.hasDirtyChildrenContainer(formFilters);\n\n this.toggleShowButtonsSaveCancel(isDirtyMainTable && !areDirtyFilters);\n }\n}\n","\nimport Events from \"../../lib/events.js\";\nimport LocalStorage from \"../../lib/local_storage.js\";\nimport Validation from \"../../lib/validation.js\";\n// import BasePage from \"../base.js\";\nimport DOM from \"../../dom.js\";\nimport { isEmpty } from \"../../lib/utils.js\";\nimport TableBasePage from \"../base_table.js\";\n\nexport default class DogMixinPage {\n constructor(pageCurrent) {\n this.page = pageCurrent;\n }\n\n initialize() {\n Utils.consoleLogIfNotProductionEnvironment('hookup dog start for ', this.page.hash);\n this.hookupFilters();\n this.hookupLocalStorageDog();\n }\n hookupFilters() {\n }\n hookupLocalStorageDog() {\n \n }\n\n /*\n hookupDogCardsProduct() {\n \n let d; // , lsShared;\n let selectorCardProduct = '.card.subcard';\n Events.initialiseEventHandler(selectorCardProduct, flagInitialised, function(cardProduct) {\n if (_verbose) { Utils.consoleLogIfNotProductionEnvironment(\"initialising product card: \", cardProduct); }\n cardProduct.addEventListener(\"click\", function(event) {\n // d = { keyIdProduct: product.getAttribute(attrIdProduct) }\n var elemClicked = event.target;\n if (elemClicked.id != 'submit') { // disable for submit buttons\n if (_verbose) { \n Utils.consoleLogIfNotProductionEnvironment(\"product click: \" + cardProduct.getAttribute(attrIdProduct));\n Utils.consoleLogIfNotProductionEnvironment(\"permutation click: \" + cardProduct.getAttribute(attrIdPermutation));\n }\n var d = {}\n d[keyIdProduct] = cardProduct.getAttribute(attrIdProduct)\n d[keyIdPermutation] = cardProduct.getAttribute(attrIdPermutation)\n // send quantity requested\n goToPage(hashPageDogProduct, d);\n }\n });\n if (_verbose) { Utils.consoleLogIfNotProductionEnvironment(\"click method added for product ID: \" + cardProduct.getAttribute(attrIdProduct) + ', permutation ID: ', cardProduct.getAttribute(attrIdPermutation)); }\n });\n }\n */\n \n leave() {}\n}\n","\nimport Events from \"../../lib/events.js\";\nimport LocalStorage from \"../../lib/local_storage.js\";\nimport Validation from \"../../lib/validation.js\";\n// import BasePage from \"../base.js\";\nimport DOM from \"../../dom.js\";\nimport { isEmpty } from \"../../lib/utils.js\";\nimport DogMixinPage from \"./mixin.js\";\nimport Utils from \"../../lib/utils.js\";\n\nexport default class DogTableMixinPage extends DogMixinPage {\n constructor(pageCurrent) {\n super(pageCurrent);\n }\n initialize() {\n super.initialize();\n this.hookupFilters();\n this.hookupTable();\n }\n hookupFilters() {\n // Implement filter-specific functionality here\n }\n hookupTable() {\n // Implement table-specific functionality here\n }\n hookupFieldsLocation() {\n this.page.hookupTableCellDdlPreviews(\n flagLocation\n , Utils.getListFromDict(filterLocations) // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n );\n }\n}","\nimport API from \"../../api.js\";\nimport BusinessObjects from \"../../lib/business_objects/business_objects.js\";\nimport DOM from \"../../dom.js\";\nimport Events from \"../../lib/events.js\";\nimport TableBasePage from \"../base_table.js\";\nimport Utils from \"../../lib/utils.js\";\nimport Validation from \"../../lib/validation.js\";\nimport DogTableMixinPage from \"./mixin_table.js\";\n\nexport default class PageDogCommandCategories extends TableBasePage {\n static hash = hashPageDogCommandCategories;\n static attrIdRowObject = attrIdCommandCategory;\n callSaveTableContent = API.saveCommandCategories;\n\n constructor(router) {\n super(router);\n this.dogMixin = new DogTableMixinPage(this);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n hookupFilters() {\n this.sharedHookupFilters();\n this.hookupFilterActive();\n }\n\n loadRowTable(rowJson) {\n if (rowJson == null) return;\n if (_verbose) { Utils.consoleLogIfNotProductionEnvironment(\"applying data row: \", rowJson); }\n }\n getJsonRow(row) {\n Utils.consoleLogIfNotProductionEnvironment({ row });\n if (row == null) return;\n let inputCode = row.querySelector('td.' + flagCode + ' .' + flagCode);\n let inputName = row.querySelector('td.' + flagName + ' .' + flagName);\n let buttonActive = row.querySelector('td.' + flagActive + ' .' + flagActive);\n \n console.log(\"inputCode\");\n console.log(inputCode);\n\n let jsonRow = {};\n jsonRow[attrIdCommandCategory] = row.getAttribute(attrIdCommandCategory);\n jsonRow[flagCode] = DOM.getElementAttributeValueCurrent(inputCode);\n jsonRow[flagName] = DOM.getElementAttributeValueCurrent(inputName);\n jsonRow[flagActive] = buttonActive.classList.contains(flagDelete);\n return jsonRow;\n }\n initialiseRowNew(tbody, row) {\n \n }\n postInitialiseRowNewCallback(tbody) {\n // let newRows = tbody.querySelectorAll('tr.' + flagRowNew);\n }\n\n hookupTableMain() {\n super.hookupTableMain();\n this.hookupFieldsCodeTable();\n this.hookupFieldsNameTable();\n this.hookupFieldsActive();\n }\n\n leave() {\n super.leave();\n }\n}\n\n","\nimport API from \"../../api.js\";\nimport BusinessObjects from \"../../lib/business_objects/business_objects.js\";\nimport DOM from \"../../dom.js\";\nimport Events from \"../../lib/events.js\";\nimport TableBasePage from \"../base_table.js\";\nimport Utils from \"../../lib/utils.js\";\nimport Validation from \"../../lib/validation.js\";\nimport DogTableMixinPage from \"./mixin_table.js\";\n\nexport default class PageDogCommands extends TableBasePage {\n static hash = hashPageDogCommands;\n static attrIdRowObject = attrIdCommand;\n callSaveTableContent = API.saveCommands;\n\n constructor(router) {\n super(router);\n this.dogMixin = new DogTableMixinPage(this);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n hookupFilters() {\n this.sharedHookupFilters();\n this.hookupFilterCommandCategory();\n this.hookupFilterActive();\n }\n hookupFilterCommandCategory() {\n this.hookupFilter(attrIdCommandCategory);\n }\n\n loadRowTable(rowJson) {\n if (rowJson == null) return;\n if (_verbose) { Utils.consoleLogIfNotProductionEnvironment(\"applying data row: \", rowJson); }\n }\n getJsonRow(row) {\n if (row == null) return;\n let inputName = row.querySelector('td.' + flagName + ' .' + flagName);\n let inputHandSignalDefaultDescription = row.querySelector('td.' + flagHandSignalDefaultDescription + ' .' + flagHandSignalDefaultDescription);\n let inputCanHaveButton = row.querySelector('td.' + flagCanHaveButton + ' .' + flagCanHaveButton);\n let inputNotes = row.querySelector('td.' + flagNotes + ' .' + flagNotes);\n let buttonActive = row.querySelector('td.' + flagActive + ' .' + flagActive);\n\n /*\n Utils.consoleLogIfNotProductionEnvironment({ inputName, inputHandSignalDefaultDescription, inputCanHaveButton, inputNotes, buttonActive });\n debugger;\n */\n\n let jsonRow = {};\n jsonRow[attrIdCommand] = row.getAttribute(attrIdCommand);\n jsonRow[attrIdCommandCategory] = this.getIdCommandCategoryRow(row);\n jsonRow[flagName] = DOM.getElementAttributeValueCurrent(inputName);\n jsonRow[flagHandSignalDefaultDescription] = DOM.getElementAttributeValueCurrent(inputHandSignalDefaultDescription);\n jsonRow[flagCanHaveButton] = (DOM.getElementAttributeValueCurrent(inputCanHaveButton) == \"true\");\n jsonRow[flagNotes] = DOM.getElementAttributeValueCurrent(inputNotes);\n jsonRow[flagActive] = buttonActive.classList.contains(flagDelete);\n return jsonRow;\n }\n initialiseRowNew(tbody, row) {\n \n }\n postInitialiseRowNewCallback(tbody) {\n let newRows = tbody.querySelectorAll('tr.' + flagRowNew);\n let newestRow = newRows[0];\n let clickableElementsSelector = [\n 'td.' + flagDog + ' div.' + flagDog\n , ',td.' + flagCommandCategory + ' div.' + flagCommandCategory\n , ',td.' + flagCommand + ' div.' + flagCommand\n ].join('');\n newestRow.querySelectorAll(clickableElementsSelector).forEach((clickableElement) => {\n clickableElement.click();\n });\n }\n\n hookupTableMain() {\n super.hookupTableMain();\n this.hookupFieldsCommandCategory();\n this.hookupFieldsNameTable();\n this.hookupTextareasHandSignalDefaultDescription();\n this.hookupFieldsCanHaveButton();\n this.hookupFieldsNotesTable();\n this.hookupFieldsActive();\n }\n hookupFieldsCommandCategory() {\n this.hookupTableCellDdlPreviews(\n flagCommandCategory\n , Utils.getListFromDict(filterCommandCategories)\n );\n }\n hookupTextareasHandSignalDefaultDescription() {\n this.hookupChangeHandlerTableCells(idTableMain + ' td.' + flagHandSignalDefaultDescription + ' .' + flagHandSignalDefaultDescription);\n }\n hookupFieldsCanHaveButton() {\n this.hookupChangeHandlerTableCells(idTableMain + ' td.' + flagCanHaveButton + ' .' + flagCanHaveButton);\n }\n\n leave() {\n super.leave();\n }\n}\n\n","\nimport API from \"../../api.js\";\nimport BusinessObjects from \"../../lib/business_objects/business_objects.js\";\nimport DOM from \"../../dom.js\";\nimport Events from \"../../lib/events.js\";\nimport TableBasePage from \"../base_table.js\";\nimport Utils from \"../../lib/utils.js\";\nimport Validation from \"../../lib/validation.js\";\nimport DogTableMixinPage from \"./mixin_table.js\";\n\nexport default class PageDogDogCommandLinks extends TableBasePage {\n static hash = hashPageDogDogCommandLinks;\n static attrIdRowObject = attrIdDogCommandLink;\n callSaveTableContent = API.saveDogCommandLinks;\n\n constructor(router) {\n super(router);\n this.dogMixin = new DogTableMixinPage(this);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n hookupFilters() {\n this.sharedHookupFilters();\n this.hookupFilterDog();\n this.hookupFilterCommandCategory();\n this.hookupFilterCommand();\n this.hookupFilterActive();\n }\n\n loadRowTable(rowJson) {\n if (rowJson == null) return;\n if (_verbose) { Utils.consoleLogIfNotProductionEnvironment(\"applying data row: \", rowJson); }\n }\n getJsonRow(row) {\n if (row == null) return;\n let inputHandSignalDescription = row.querySelector('td.' + flagHandSignalDescription + ' textarea');\n let inputNotes = row.querySelector('td.' + flagNotes + ' textarea');\n let buttonActive = row.querySelector('td.' + flagActive + ' .' + flagActive);\n\n let jsonRow = {};\n jsonRow[attrIdDogCommandLink] = row.getAttribute(attrIdDogCommandLink);\n jsonRow[attrIdDog] = this.getIdDogRow(row);\n jsonRow[attrIdCommand] = this.getIdCommandRow(row);\n jsonRow[flagHandSignalDescription] = DOM.getElementAttributeValueCurrent(inputHandSignalDescription);\n jsonRow[flagNotes] = DOM.getElementAttributeValueCurrent(inputNotes);\n jsonRow[flagActive] = buttonActive.classList.contains(flagDelete);\n return jsonRow;\n }\n initialiseRowNew(tbody, row) {\n \n }\n postInitialiseRowNewCallback(tbody) {\n let newRows = tbody.querySelectorAll('tr.' + flagRowNew);\n let newestRow = newRows[0];\n let clickableElementsSelector = [\n 'td.' + flagDog + ' div.' + flagDog\n , ',td.' + flagCommandCategory + ' div.' + flagCommandCategory\n , ',td.' + flagCommand + ' div.' + flagCommand\n ].join('');\n newestRow.querySelectorAll(clickableElementsSelector).forEach((clickableElement) => {\n clickableElement.click();\n });\n }\n\n hookupTableMain() {\n super.hookupTableMain();\n this.hookupFieldsDog();\n this.hookupFieldsCommandCategory();\n this.hookupFieldsCommand();\n this.hookupTextareasHandSignalDescription();\n this.hookupFieldsNotesTable();\n this.hookupFieldsActive();\n }\n hookupTextareasHandSignalDescription() {\n this.hookupChangeHandlerTableCells(idTableMain + ' td.' + flagHandSignalDescription + ' .' + flagHandSignalDescription);\n }\n\n leave() {\n super.leave();\n }\n}\n\n","\nimport API from \"../../api.js\";\nimport BusinessObjects from \"../../lib/business_objects/business_objects.js\";\nimport DOM from \"../../dom.js\";\nimport Events from \"../../lib/events.js\";\nimport TableBasePage from \"../base_table.js\";\nimport Utils from \"../../lib/utils.js\";\nimport Validation from \"../../lib/validation.js\";\nimport DogTableMixinPage from \"./mixin_table.js\";\n\nexport default class PageDogLocations extends TableBasePage {\n static hash = hashPageDogLocations;\n static attrIdRowObject = attrIdLocation;\n callSaveTableContent = API.saveLocations;\n\n constructor(router) {\n super(router);\n this.dogMixin = new DogTableMixinPage(this);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n hookupFilters() {\n this.sharedHookupFilters();\n this.hookupFilterActive();\n }\n\n loadRowTable(rowJson) {\n if (rowJson == null) return;\n if (_verbose) { Utils.consoleLogIfNotProductionEnvironment(\"applying data row: \", rowJson); }\n }\n getJsonRow(row) {\n if (row == null) return;\n let inputName = row.querySelector('td.' + flagName + ' .' + flagName);\n let buttonActive = row.querySelector('td.' + flagActive + ' .' + flagActive);\n\n let jsonRow = {};\n jsonRow[attrIdLocation] = row.getAttribute(attrIdLocation);\n jsonRow[flagLocationParent] = this.getIdLocationParentRow(row);\n jsonRow[flagName] = DOM.getElementAttributeValueCurrent(inputName);\n jsonRow[flagActive] = buttonActive.classList.contains(flagDelete);\n\n console.log(\"jsonRow\");\n console.log(jsonRow);\n\n return jsonRow;\n }\n getIdLocationParentRow(row) {\n let elementLocationParent = row.querySelector('td.' + flagLocationParent + ' .' + flagLocationParent);\n return DOM.getElementAttributeValueCurrent(elementLocationParent);\n }\n initialiseRowNew(tbody, row) {\n \n }\n postInitialiseRowNewCallback(tbody) {\n let newRows = tbody.querySelectorAll('tr.' + flagRowNew);\n let newestRow = newRows[0];\n let clickableElementsSelector = [\n 'td.' + flagLocationParent + ' div.' + flagLocationParent\n ].join('');\n newestRow.querySelectorAll(clickableElementsSelector).forEach((clickableElement) => {\n clickableElement.click();\n });\n }\n\n hookupTableMain() {\n super.hookupTableMain();\n this.hookupFieldsLocationParent();\n this.hookupFieldsNameTable();\n this.hookupFieldsActive();\n }\n hookupFieldsLocationParent() {\n /*\n this.hookupTableCellDdlPreviews(\n flagLocationParent\n , Utils.getListFromDict(locations).filter(location => \n (\n location[attrIdLocation] == idLocationRow\n || idLocationRow < 1\n )\n ) // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n , null // cellSelector\n , (cellSelector) => { this.hookupLocationParentDdls(cellSelector); }\n ,\n );\n\n fieldFlag\n , optionList\n , cellSelector = null\n , ddlHookup = (ddlSelector) => { this.hookupTableCellDdls(ddlSelector); }\n , changeHandler = (event, element) => { this.handleChangeNestedElementCellTable(event, element); }\n ) {\n\n */\n let cellSelector = idTableMain + ' > tbody > tr > td.' + flagLocationParent;\n Events.hookupEventHandler(\"click\", cellSelector + ' div.' + flagLocationParent, (event, div) => {\n let row = DOM.getRowFromElement(div);\n let idLocationRow = Number(row.getAttribute(attrIdLocation));\n Utils.consoleLogIfNotProductionEnvironment({ idLocationRow });\n this.handleClickTableCellDdlPreview(\n event\n , div\n , flagLocationParent\n , Utils.getListFromDict(locations).filter(location => \n (\n location[attrIdLocation] != idLocationRow\n || idLocationRow < 1\n )\n ) // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n , cellSelector\n , (ddlSelector) => { this.hookupTableCellDdls(\n ddlSelector\n , (event, element) => { this.handleChangeNestedElementCellTable(event, element); }\n ); }\n );\n });\n this.hookupTableCellDdls(\n cellSelector + ' select.' + flagLocationParent\n , (event, element) => { this.handleChangeNestedElementCellTable(event, element); }\n );\n }\n /*\n hookupLocationParentDdls(ddlSelector) {\n this.hookupChangeHandlerTableCells(ddlSelector, (event, element) => { this.handleChangeNestedElementCellTable(event, element); });\n }\n */\n\n leave() {\n super.leave();\n }\n}\n\n","\nimport API from \"../../api.js\";\nimport BusinessObjects from \"../../lib/business_objects/business_objects.js\";\nimport DOM from \"../../dom.js\";\nimport Events from \"../../lib/events.js\";\nimport TableBasePage from \"../base_table.js\";\nimport Utils from \"../../lib/utils.js\";\nimport Validation from \"../../lib/validation.js\";\nimport DogTableMixinPage from \"./mixin_table.js\";\n\nexport default class PageDogButtonIcons extends TableBasePage {\n static hash = hashPageDogButtonIcons;\n static attrIdRowObject = attrIdButtonIcon;\n callSaveTableContent = API.saveButtonIcons;\n\n constructor(router) {\n super(router);\n this.dogMixin = new DogTableMixinPage(this);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n hookupFilters() {\n this.sharedHookupFilters();\n this.hookupFilterActive();\n }\n\n loadRowTable(rowJson) {\n if (rowJson == null) return;\n if (_verbose) { Utils.consoleLogIfNotProductionEnvironment(\"applying data row: \", rowJson); }\n }\n getJsonRow(row) {\n if (row == null) return;\n let inputName = row.querySelector('td.' + flagName + ' .' + flagName);\n let buttonActive = row.querySelector('td.' + flagActive + ' .' + flagActive);\n\n let jsonRow = {};\n jsonRow[attrIdButtonIcon] = row.getAttribute(attrIdButtonIcon);\n jsonRow[flagImage] = this.getIdImageRow(row);\n jsonRow[flagName] = DOM.getElementAttributeValueCurrent(inputName);\n jsonRow[flagActive] = buttonActive.classList.contains(flagDelete);\n\n console.log(\"jsonRow\");\n console.log(jsonRow);\n\n return jsonRow;\n }\n getIdImageRow(row) {\n let elementImage = row.querySelector('td.' + flagImage + ' .' + flagImage);\n return DOM.getElementAttributeValueCurrent(elementImage);\n }\n initialiseRowNew(tbody, row) {\n \n }\n postInitialiseRowNewCallback(tbody) {\n let newRows = tbody.querySelectorAll('tr.' + flagRowNew);\n let newestRow = newRows[0];\n let clickableElementsSelector = [\n 'td.' + flagImage + ' div.' + flagImage\n ].join('');\n newestRow.querySelectorAll(clickableElementsSelector).forEach((clickableElement) => {\n clickableElement.click();\n });\n }\n\n hookupTableMain() {\n super.hookupTableMain();\n this.hookupFieldsImage();\n this.hookupFieldsNameTable();\n this.hookupFieldsActive();\n }\n hookupFieldsImage() {\n this.hookupTableCellDdlPreviews(\n flagImage\n , Utils.getListFromDict(buttonicons) // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n );\n }\n\n leave() {\n super.leave();\n }\n}\n\n","\nimport API from \"../../api.js\";\nimport BusinessObjects from \"../../lib/business_objects/business_objects.js\";\nimport DOM from \"../../dom.js\";\nimport Events from \"../../lib/events.js\";\nimport TableBasePage from \"../base_table.js\";\nimport Utils from \"../../lib/utils.js\";\nimport Validation from \"../../lib/validation.js\";\nimport DogTableMixinPage from \"./mixin_table.js\";\n\nexport default class PageDogCommandButtonLinks extends TableBasePage {\n static hash = hashPageDogCommandButtonLinks;\n static attrIdRowObject = attrIdCommandButtonLink;\n callSaveTableContent = API.saveCommandButtonLinks;\n\n constructor(router) {\n super(router);\n this.dogMixin = new DogTableMixinPage(this);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n hookupFilters() {\n this.sharedHookupFilters();\n this.hookupFilterCommandCategory();\n this.hookupFilterCommand();\n this.hookupFilterButtonShape();\n this.hookupFilterColour();\n this.hookupFilterButtonIcon();\n this.hookupFilterLocation();\n this.hookupFilterActive();\n }\n hookupFilterButtonShape() {\n this.hookupFilter(attrIdButtonShape);\n }\n hookupFilterColour() {\n this.hookupFilter(attrIdColour);\n }\n hookupFilterButtonIcon() {\n this.hookupFilter(attrIdButtonIcon);\n }\n\n loadRowTable(rowJson) {\n if (rowJson == null) return;\n if (_verbose) { Utils.consoleLogIfNotProductionEnvironment(\"applying data row: \", rowJson); }\n }\n getJsonRow(row) {\n if (row == null) return;\n let inputHandSignalDescription = row.querySelector('td.' + flagHandSignalDescription + ' textarea');\n let inputNotes = row.querySelector('td.' + flagNotes + ' textarea');\n let buttonActive = row.querySelector('td.' + flagActive + ' .' + flagActive);\n\n let jsonRow = {};\n jsonRow[attrIdCommandButtonLink] = row.getAttribute(attrIdCommandButtonLink);\n jsonRow[attrIdDog] = this.getIdDogRow(row);\n jsonRow[attrIdCommand] = this.getIdCommandRow(row);\n jsonRow[flagHandSignalDescription] = DOM.getElementAttributeValueCurrent(inputHandSignalDescription);\n jsonRow[flagNotes] = DOM.getElementAttributeValueCurrent(inputNotes);\n jsonRow[flagActive] = buttonActive.classList.contains(flagDelete);\n return jsonRow;\n }\n initialiseRowNew(tbody, row) {\n \n }\n postInitialiseRowNewCallback(tbody) {\n let newRows = tbody.querySelectorAll('tr.' + flagRowNew);\n let newestRow = newRows[0];\n let clickableElementsSelector = [\n 'td.' + flagDog + ' div.' + flagDog\n , ',td.' + flagCommandCategory + ' div.' + flagCommandCategory\n , ',td.' + flagCommand + ' div.' + flagCommand\n ].join('');\n newestRow.querySelectorAll(clickableElementsSelector).forEach((clickableElement) => {\n clickableElement.click();\n });\n }\n\n hookupTableMain() {\n super.hookupTableMain();\n this.hookupFieldsCommandCategory();\n this.hookupFieldsCommand();\n this.hookupFieldsButtonShape();\n this.hookupFieldsColour();\n this.hookupFieldsButtonIcon();\n this.dogMixin.hookupFieldsLocation();\n this.hookupFieldsActive();\n }\n hookupFieldsButtonShape() {\n this.hookupTableCellDdlPreviews(\n flagButtonShape\n , Utils.getListFromDict(filterButtonShapes) // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n );\n }\n hookupFieldsColour() {\n this.hookupTableCellDdlPreviews(\n flagColour\n , Utils.getListFromDict(filterColours) // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n );\n }\n hookupFieldsButtonIcon() {\n this.hookupTableCellDdlPreviews(\n flagButtonIcon\n , Utils.getListFromDict(filterButtonIcons) // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n );\n }\n\n leave() {\n super.leave();\n }\n}\n\n","\nimport API from \"../../api.js\";\nimport BusinessObjects from \"../../lib/business_objects/business_objects.js\";\nimport DOM from \"../../dom.js\";\nimport Events from \"../../lib/events.js\";\nimport TableBasePage from \"../base_table.js\";\nimport Utils from \"../../lib/utils.js\";\nimport Validation from \"../../lib/validation.js\";\nimport DogTableMixinPage from \"./mixin_table.js\";\n\nvar _rowBlankDistraction;\nvar _rowBlankAssessmentCommandModalityLink;\n\nexport default class PageDogAssessment extends TableBasePage {\n static hash = hashPageDogAssessment;\n static attrIdRowObject = attrIdAssessment;\n callSaveTableContent = API.saveAssessments;\n\n constructor(router) {\n super(router);\n this.dogMixin = new DogTableMixinPage(this);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n hookupFilters() {\n }\n\n loadRowTable(rowJson) {\n if (rowJson == null) return;\n if (_verbose) { Utils.consoleLogIfNotProductionEnvironment(\"applying data row: \", rowJson); }\n }\n getJsonRow(row) {\n if (row == null) return;\n /*\n let inputTemperatureCelcius = row.querySelector('td.' + flagTemperatureCelcius + ' input');\n let buttonActive = row.querySelector('td.' + flagActive + ' .' + flagActive);\n */\n let jsonRow = {};\n jsonRow[attrIdAssessment] = row.getAttribute(attrIdAssessment);\n return jsonRow;\n }\n initialiseRowNew(tbody, row) {\n \n }\n postInitialiseRowNewCallback(tbody) {\n let newRows = tbody.querySelectorAll('tr.' + flagRowNew);\n let newestRow = newRows[0];\n let clickableElementsSelector = [\n 'td.' + flagWeather + ' div.' + flagWeather\n , ',td.' + flagLightingLevel + ' div.' + flagLightingLevel\n , ',td.' + flagLocation + ' div.' + flagLocation\n , ',td.' + flagUserHandler + ' div.' + flagUserHandler\n ].join('');\n newestRow.querySelectorAll(clickableElementsSelector).forEach((clickableElement) => {\n clickableElement.click();\n });\n }\n\n hookupTableMain() {\n super.hookupTableMain();\n this.hookupTableAssessmentHeader();\n this.hookupTableDistractions();\n this.hookupTableAssessmentCommandModalityLinks();\n }\n hookupTableAssessmentHeader() {\n this.hookupTableAssessmentFieldWeather();\n this.hookupTableAssessmentFieldLightingLevel();\n this.hookupTableAssessmentFieldTemperature();\n this.hookupTableAssessmentFieldLocation();\n this.hookupTableAssessmentFieldUserHandler();\n this.hookupTableAssessmentFieldNotes();\n }\n hookupTableAssessmentFieldWeather() {\n let fieldFlag = flagWeather;\n let optionList = Utils.getListFromDict(filterWeathers); // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n let cellSelector = idTableAssessment + ' td.' + flagWeather;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableAssessmentFieldLightingLevel() {\n let fieldFlag = flagLightingLevel;\n let optionList = Utils.getListFromDict(filterLightingLevels); // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n let cellSelector = idTableAssessment + ' td.' + flagLightingLevel;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableAssessmentFieldTemperature() {\n this.hookupChangeHandlerTableCells(idTableAssessment + ' td.' + flagTemperatureCelcius + ' .' + flagTemperatureCelcius);\n }\n hookupTableAssessmentFieldLocation() {\n let fieldFlag = flagLocation;\n let optionList = Utils.getListFromDict(filterLocations); // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n let cellSelector = idTableAssessment + ' td.' + flagLocation;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableAssessmentFieldUserHandler() {\n let fieldFlag = flagUserHandler;\n let optionList = Utils.getListFromDict(filterUserHandlers); // .sort((a, b) => a[flagName].localeCompare(b[flagName]));\n let cellSelector = idTableAssessment + ' td.' + flagUserHandler;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableAssessmentFieldNotes() {\n this.hookupChangeHandlerTableCells(idTableAssessment + ' td.' + flagNotes + ' .' + flagNotes);\n }\n hookupTableDistractions() {\n Events.initialiseEventHandler(idTableDistractions, flagInitialised, (table) => {\n let selectorRowNew = idTableDistractions + ' tbody tr.' + flagRowNew;\n let rowBlankTemp = document.querySelector(selectorRowNew);\n Utils.consoleLogIfNotProductionEnvironment(\"row blank temp: \", rowBlankTemp);\n let countRows = document.querySelectorAll(idTableDistractions + ' > tbody > tr').length;\n _rowBlankDistraction = rowBlankTemp.cloneNode(true);\n document.querySelectorAll(selectorRowNew).forEach(function(row) {\n row.remove();\n });\n _rowBlankDistraction.setAttribute(attrIdDistraction, -1 - countRows);\n });\n\n this.hookupTableDistractionsFieldsDistractionType();\n this.hookupTableDistractionsFieldsIntensityLevelEmotional();\n this.hookupTableDistractionsFieldsIntensityLevelScent();\n this.hookupTableDistractionsFieldsIntensityLevelSight();\n this.hookupTableDistractionsFieldsIntensityLevelSound();\n this.hookupTableDistractionsFieldsIntensityLevelTouch();\n this.hookupTableDistractionsFieldsQuantity();\n this.hookupTableDistractionsFieldsProximityMetres();\n this.hookupTableDistractionsFieldsNotes();\n this.hookupTableDistractionsFieldsActive();\n }\n hookupTableDistractionsFieldsDistractionType() {\n let fieldFlag = flagDistractionType;\n let optionList = Utils.getListFromDict(filterDistractionTypes); // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n let cellSelector = idTableDistractions + ' td.' + flagDistractionType;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableDistractionsFieldsIntensityLevelEmotional() {\n let fieldFlag = flagDistractionIntensityLevelEmotional;\n let optionList = Utils.getListFromDict(filterDistractionIntensityLevels); // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n let cellSelector = idTableDistractions + ' td.' + flagDistractionIntensityLevelEmotional;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableDistractionsFieldsIntensityLevelScent() {\n let fieldFlag = flagDistractionIntensityLevelScent;\n let optionList = Utils.getListFromDict(filterDistractionIntensityLevels); // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n let cellSelector = idTableDistractions + ' td.' + flagDistractionIntensityLevelScent;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableDistractionsFieldsIntensityLevelSight() {\n let fieldFlag = flagDistractionIntensityLevelSight;\n let optionList = Utils.getListFromDict(filterDistractionIntensityLevels); // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n let cellSelector = idTableDistractions + ' td.' + flagDistractionIntensityLevelSight;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableDistractionsFieldsIntensityLevelSound() {\n let fieldFlag = flagDistractionIntensityLevelSound;\n let optionList = Utils.getListFromDict(filterDistractionIntensityLevels); // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n let cellSelector = idTableDistractions + ' td.' + flagDistractionIntensityLevelSound;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableDistractionsFieldsIntensityLevelTouch() {\n let fieldFlag = flagDistractionIntensityLevelTouch;\n let optionList = Utils.getListFromDict(filterDistractionIntensityLevels); // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n let cellSelector = idTableDistractions + ' td.' + flagDistractionIntensityLevelTouch;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableDistractionsFieldsQuantity() {\n this.hookupChangeHandlerTableCells(idTableDistractions + ' td.' + flagQuantity + ' .' + flagQuantity);\n }\n hookupTableDistractionsFieldsProximityMetres() {\n this.hookupChangeHandlerTableCells(idTableDistractions + ' td.' + flagProximityMetres + ' .' + flagProximityMetres);\n }\n hookupTableDistractionsFieldsNotes() {\n this.hookupChangeHandlerTableCells(idTableDistractions + ' td.' + flagNotes + ' .' + flagNotes);\n }\n hookupTableDistractionsFieldsActive() {\n this.hookupFieldsActive(flagDistraction, (event, element) => { this.handleClickAddRowTableDistractions(event, element); });\n }\n handleClickAddRowTableDistractions(event, button) {\n event.stopPropagation();\n _rowBlankDistraction.setAttribute(attrIdDistraction, -1 - _rowBlankDistraction.getAttribute(attrIdDistraction));\n let tbody = document.querySelector(idTableDistractions + ' tbody');\n if (tbody.classList.contains(flagIsCollapsed)) return;\n let row = _rowBlankDistraction.cloneNode(true);\n row.classList.remove(flagInitialised);\n row.querySelectorAll('.' + flagInitialised).forEach(function(element) {\n element.classList.remove(flagInitialised);\n });\n let countRows = document.querySelectorAll(idTableDistractions + ' > tbody > tr').length;\n row.setAttribute(attrIdDistraction, -1 - countRows);\n tbody.prepend(row);\n tbody.scrollTop = 0;\n this.hookupTableDistractions();\n this.postInitialiseDistractionRowNewCallback(tbody);\n }\n postInitialiseDistractionRowNewCallback(tbody) {\n let newRows = tbody.querySelectorAll('tr.' + flagRowNew);\n let newestRow = newRows[0];\n let clickableElementsSelector = [\n 'td.' + flagDistractionType + ' div.' + flagDistractionType\n , ',td.' + flagDistractionIntensityLevelEmotional + ' div.' + flagDistractionIntensityLevelEmotional\n , ',td.' + flagDistractionIntensityLevelScent + ' div.' + flagDistractionIntensityLevelScent\n , ',td.' + flagDistractionIntensityLevelSight + ' div.' + flagDistractionIntensityLevelSight\n , ',td.' + flagDistractionIntensityLevelSound + ' div.' + flagDistractionIntensityLevelSound\n , ',td.' + flagDistractionIntensityLevelTouch + ' div.' + flagDistractionIntensityLevelTouch\n ].join('');\n newestRow.querySelectorAll(clickableElementsSelector).forEach((clickableElement) => {\n clickableElement.click();\n });\n }\n hookupTableAssessmentCommandModalityLinks() {\n Events.initialiseEventHandler(idTableAssessmentCommandModalityLinks, flagInitialised, (table) => {\n let selectorRowNew = idTableAssessmentCommandModalityLinks + ' tbody tr.' + flagRowNew;\n let rowBlankTemp = document.querySelector(selectorRowNew);\n Utils.consoleLogIfNotProductionEnvironment(\"row blank temp: \", rowBlankTemp);\n let countRows = document.querySelectorAll(idTableAssessmentCommandModalityLinks + ' > tbody > tr').length;\n _rowBlankAssessmentCommandModalityLink = rowBlankTemp.cloneNode(true);\n document.querySelectorAll(selectorRowNew).forEach(function(row) {\n row.remove();\n });\n _rowBlankAssessmentCommandModalityLink.setAttribute(attrIdAssessmentCommandModalityLink, -1 - countRows);\n });\n\n this.hookupTableAssessmentCommandModalityLinksFieldsCommandCategory();\n this.hookupTableAssessmentCommandModalityLinksFieldsCommand();\n this.hookupTableAssessmentCommandModalityLinksFieldsCommandModality();\n this.hookupTableAssessmentCommandModalityLinksFieldsBribe();\n this.hookupTableAssessmentCommandModalityLinksFieldsDistanceFromHandler();\n this.hookupTableAssessmentCommandModalityLinksFieldsIsInHearingRangeOfHandler();\n this.hookupTableAssessmentCommandModalityLinksFieldsIsInScentRangeOfHandler();\n this.hookupTableAssessmentCommandModalityLinksFieldsIsInSightOfHandler();\n this.hookupTableAssessmentCommandModalityLinksFieldsIsOnLead();\n this.hookupTableAssessmentCommandModalityLinksFieldsTrialCount();\n this.hookupTableAssessmentCommandModalityLinksFieldsNotes();\n this.hookupTableAssessmentCommandModalityLinksFieldsResponses();\n this.hookupTableAssessmentCommandModalityLinksFieldsActive();\n }\n hookupTableAssessmentCommandModalityLinksFieldsCommandCategory() {\n this.hookupFieldsCommandCategory(idTableAssessmentCommandModalityLinks);\n /*\n let fieldFlag = flagCommandCategory;\n let optionList = Utils.getListFromDict(filterCommandCategories).sort((a, b) => a[flagName].localeCompare(b[flagName]));\n let cellSelector = idTableAssessmentCommandModalityLinks + ' td.' + flagCommandCategory;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n , (tdSelector) => { this.hookupTableAssessmentCommandModalityLinksDdlsCommandCategory(tdSelector); }\n , (event, element) => { this.handleChangeTableAssessmentCommandModalityLinksDdlCommandCategory(event, element); }\n );\n */\n }\n /*\n hookupTableAssessmentCommandModalityLinksDdlsCommandCategory(ddlSelector) {\n this.hookupChangeHandlerTableCells(ddlSelector, (event, element) => { this.handleChangeTableAssessmentCommandModalityLinksDdlCommandCategory(event, element); });\n }\n handleChangeTableAssessmentCommandModalityLinksDdlCommandCategory(event, ddlCategory) {\n let row = DOM.getRowFromElement(ddlCategory);\n let idCommandCategoryRowOld = this.getIdCommandCategoryRow(row); // DOM.getElementAttributeValueCurrent(ddlCategory);\n this.handleChangeNestedElementCellTable(event, ddlCategory);\n let idCommandCategoryRowNew = this.getIdCommandCategoryRow(row); // DOM.getElementAttributeValueCurrent(ddlCategory);\n if (idCommandCategoryRowOld == idCommandCategoryRowNew) return;\n let divCommand = row.querySelector('td.' + flagCommand + ' div');\n if (divCommand) divCommand.dispatchEvent(new Event('click'));\n let ddlCommand = row.querySelector('td.' + flagCommand + ' select.' + flagCommand);\n ddlCommand.innerHTML = '';\n ddlCommand.appendChild(DOM.createOption(null));\n let optionJson, option;\n let commandsInCategory = Utils.getListFromDict(filterCommands).filter(command => \n (\n command[attrIdCommandCategory] == idCommandCategoryRowNew\n || idCommandCategoryRowNew == 0\n )\n );\n let sortedCommands = commandsInCategory.sort((a, b) => a[flagName].localeCompare(b[flagName]));\n sortedCommands.forEach((command) => {\n optionJson = BusinessObjects.getOptionJsonFromObjectJson(command);\n option = DOM.createOption(optionJson);\n ddlCommand.appendChild(option);\n });\n this.handleChangeNestedElementCellTable(event, ddlCommand);\n }\n */\n hookupTableAssessmentCommandModalityLinksFieldsCommand() {\n this.hookupFieldsCommand(idTableAssessmentCommandModalityLinks);\n }\n hookupTableAssessmentCommandModalityLinksFieldsCommandModality() {\n let fieldFlag = flagCommandModality;\n let optionList = Utils.getListFromDict(filterCommandModalities); // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n let cellSelector = idTableAssessmentCommandModalityLinks + ' td.' + flagCommandModality;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableAssessmentCommandModalityLinksFieldsBribe() {\n let fieldFlag = flagBribe;\n let optionList = Utils.getListFromDict(filterBribes); // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n let cellSelector = idTableAssessmentCommandModalityLinks + ' td.' + flagBribe;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableAssessmentCommandModalityLinksFieldsDistanceFromHandler() {\n this.hookupChangeHandlerTableCells(idTableAssessmentCommandModalityLinks + ' td.' + flagDistanceFromHandler + ' .' + flagDistanceFromHandler);\n }\n hookupTableAssessmentCommandModalityLinksFieldsIsInHearingRangeOfHandler() {\n this.hookupChangeHandlerTableCells(idTableAssessmentCommandModalityLinks + ' td.' + flagIsInHearingRangeOfHandler + ' .' + flagIsInHearingRangeOfHandler);\n }\n hookupTableAssessmentCommandModalityLinksFieldsIsInScentRangeOfHandler() {\n this.hookupChangeHandlerTableCells(idTableAssessmentCommandModalityLinks + ' td.' + flagIsInScentRangeOfHandler + ' .' + flagIsInScentRangeOfHandler);\n }\n hookupTableAssessmentCommandModalityLinksFieldsIsInSightOfHandler() {\n this.hookupChangeHandlerTableCells(idTableAssessmentCommandModalityLinks + ' td.' + flagIsInSightOfHandler + ' .' + flagIsInSightOfHandler);\n }\n hookupTableAssessmentCommandModalityLinksFieldsIsOnLead() {\n this.hookupChangeHandlerTableCells(idTableAssessmentCommandModalityLinks + ' td.' + flagIsOnLead + ' .' + flagIsOnLead);\n }\n hookupTableAssessmentCommandModalityLinksFieldsTrialCount() {\n // this.hookupChangeHandlerTableCells(idTableAssessmentCommandModalityLinks + ' td.' + flagTrialCount + ' .' + flagTrialCount);\n }\n hookupTableAssessmentCommandModalityLinksFieldsNotes() {\n this.hookupChangeHandlerTableCells(idTableAssessmentCommandModalityLinks + ' > tbody > tr > td.' + flagNotes + ' .' + flagNotes);\n }\n hookupTableAssessmentCommandModalityLinksFieldsResponses() {\n let eventType = \"click\";\n let selector = idTableAssessmentCommandModalityLinks + ' td.' + flagAssessmentResponse + ' div.' + flagAssessmentResponse;\n let handler = (event, element) => {\n let parentTd = DOM.getCellFromElement(element);\n let responsesTable = document.createElement(\"table\");\n responsesTable.id = idTableAssessmentResponses.replace(\"#\", \"\");\n responsesTable.classList.add(flagTableMain, flagAssessmentResponse);\n\n let head = document.createElement(\"thead\");\n let headRow = document.createElement(\"tr\");\n let thResponseQualityMetric = document.createElement(\"th\");\n thResponseQualityMetric.classList.add(flagResponseQualityMetric);\n thResponseQualityMetric.innerText = 'Response Quality Metric';\n headRow.appendChild(thResponseQualityMetric);\n let thObedienceLevel = document.createElement(\"th\");\n thObedienceLevel.classList.add(flagObedienceLevel);\n thObedienceLevel.innerText = 'Obedience Level';\n headRow.appendChild(thObedienceLevel);\n let thValueMeasured = document.createElement(\"th\");\n thValueMeasured.classList.add(flagValueMeasured);\n thValueMeasured.innerText = 'Value Measured';\n headRow.appendChild(thValueMeasured);\n let thNotes = document.createElement(\"th\");\n thNotes.classList.add(flagNotes);\n thNotes.innerText = 'Notes';\n headRow.appendChild(thNotes);\n let thActive = document.createElement(\"th\");\n thActive.classList.add(flagActive);\n let templateAddIcon = document.querySelector(idContainerTemplateElements + ' .' + flagButton + '.' + flagIcon + '.' + flagActive + '.' + flagAdd);\n thActive.appendChild(templateAddIcon.cloneNode(true));\n headRow.appendChild(thActive);\n head.appendChild(headRow);\n responsesTable.appendChild(head);\n\n let body = document.createElement(\"tbody\");\n \n let assessmentCommandModalityLink = assessment[flagAssessmentCommandModalityLink];\n let responses = (assessmentCommandModalityLink == null) ? null : assessmentCommandModalityLink[flagAssessmentResponse];\n \n if (responses != null && responses.length > 0) {\n for (let response in responses) {\n let row = PageDogAssessment.createNewRowTableAssessmentResponses(response);\n body.appendChild(row);\n }\n }\n responsesTable.appendChild(body);\n\n parentTd.innerHTML = responsesTable.outerHTML;\n\n this.hookupTablesAssessmentResponses();\n };\n Events.hookupEventHandler(\n eventType\n , selector\n , handler\n );\n this.hookupTablesAssessmentResponses();\n }\n static createNewRowTableAssessmentResponses(response) {\n if (response == null) response = {\n [attrIdAssessmentResponse]: null\n , [flagResponseQualityMetric]: 0\n , [flagObedienceLevel]: 0\n , [flagValueMeasured]: ''\n , [flagNotes]: ''\n , [flagActive]: true\n };\n let isNew = (response[attrIdAssessmentResponse] == null || response[attrIdAssessmentResponse] < 1);\n let row = document.createElement(\"tr\");\n row.classList.add(flagAssessmentResponse);\n if (isNew) row.classList.add(flagRowNew);\n row.setAttribute(attrIdAssessmentResponse, response[attrIdAssessmentResponse]);\n\n let tdResponseQualityMetric = document.createElement(\"td\");\n tdResponseQualityMetric.classList.add(flagResponseQualityMetric, flagDdlPreview);\n let divResponseQualityMetric = document.createElement(\"div\");\n divResponseQualityMetric.classList.add(flagResponseQualityMetric);\n DOM.setElementAttributesValuesCurrentAndPrevious(divResponseQualityMetric, response[flagResponseQualityMetric]);\n divResponseQualityMetric.innerText = response[flagResponseQualityMetric];\n tdResponseQualityMetric.appendChild(divResponseQualityMetric);\n row.appendChild(tdResponseQualityMetric);\n\n let tdObedienceLevel = document.createElement(\"td\");\n tdObedienceLevel.classList.add(flagObedienceLevel, flagDdlPreview);\n let divObedienceLevel = document.createElement(\"div\");\n divObedienceLevel.classList.add(flagObedienceLevel);\n DOM.setElementAttributesValuesCurrentAndPrevious(divObedienceLevel, response[flagObedienceLevel]);\n divObedienceLevel.innerText = response[flagObedienceLevel];\n tdObedienceLevel.appendChild(divObedienceLevel);\n row.appendChild(tdObedienceLevel);\n\n let tdValueMeasured = document.createElement(\"td\");\n tdValueMeasured.classList.add(flagValueMeasured, flagDdlPreview);\n let inputValueMeasured = document.createElement(\"input\");\n inputValueMeasured.type = \"number\";\n inputValueMeasured.classList.add(flagValueMeasured);\n DOM.setElementAttributesValuesCurrentAndPrevious(inputValueMeasured, response[flagValueMeasured]);\n inputValueMeasured.value = response[flagValueMeasured];\n tdValueMeasured.appendChild(inputValueMeasured);\n row.appendChild(tdValueMeasured);\n\n let tdNotes = document.createElement(\"td\");\n tdNotes.classList.add(flagNotes, flagDdlPreview);\n let inputNotes = document.createElement(\"textarea\");\n inputNotes.classList.add(flagNotes);\n DOM.setElementAttributesValuesCurrentAndPrevious(inputNotes, response[flagNotes]);\n inputNotes.value = response[flagNotes];\n tdNotes.appendChild(inputNotes);\n row.appendChild(tdNotes);\n\n let tdActive = document.createElement(\"td\");\n tdActive.classList.add(flagActive, flagDdlPreview);\n let templateAddIcon = document.querySelector(idContainerTemplateElements + ' .' + flagButton + '.' + flagIcon + '.' + flagActive + '.' + flagAdd);\n let templateDeleteIcon = document.querySelector(idContainerTemplateElements + ' .' + flagButton + '.' + flagIcon + '.' + flagActive + '.' + flagDelete);\n let buttonActive = (response[flagActive]) ? templateDeleteIcon.cloneNode(true) : templateAddIcon.cloneNode(true);\n tdActive.appendChild(buttonActive);\n row.appendChild(tdActive);\n\n return row;\n }\n hookupTablesAssessmentResponses() {\n this.hookupTableAssessmentResponsesFieldsResponseQualityMetric();\n this.hookupTableAssessmentResponsesFieldsObedienceLevel();\n this.hookupTableAssessmentResponsesFieldsValueMeasured();\n this.hookupTableAssessmentResponsesFieldsNotes();\n this.hookupTableAssessmentResponsesFieldsActive();\n }\n hookupTableAssessmentResponsesFieldsResponseQualityMetric() {\n let fieldFlag = flagResponseQualityMetric;\n let optionList = Utils.getListFromDict(filterResponseQualityMetrics); // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n let cellSelector = idTableAssessmentResponses + ' td.' + flagResponseQualityMetric;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableAssessmentResponsesFieldsObedienceLevel() {\n let fieldFlag = flagObedienceLevel;\n let optionList = Utils.getListFromDict(filterObedienceLevels); // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n let cellSelector = idTableAssessmentResponses + ' td.' + flagObedienceLevel;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableAssessmentResponsesFieldsValueMeasured() {\n this.hookupChangeHandlerTableCells(idTableAssessmentResponses + ' td.' + flagValueMeasured + ' .' + flagValueMeasured);\n }\n hookupTableAssessmentResponsesFieldsNotes() {\n this.hookupChangeHandlerTableCells(idTableAssessmentResponses + ' td.' + flagNotes + ' .' + flagNotes);\n }\n hookupTableAssessmentResponsesFieldsActive() {\n this.hookupFieldsActive(flagAssessmentResponse, (event, element) => { this.handleClickAddRowTableAssessmentResponses(event, element); });\n }\n handleClickAddRowTableAssessmentResponses(event, button) {\n event.stopPropagation();\n let tableResponses = DOM.getClosestParent(button, \"table\");\n let tbody = tableResponses.querySelector(\":scope > tbody\");\n let row = PageDogAssessment.createNewRowTableAssessmentResponses(null);\n if (tbody.classList.contains(flagIsCollapsed)) return;\n row.classList.remove(flagInitialised);\n row.querySelectorAll('.' + flagInitialised).forEach(function(element) {\n element.classList.remove(flagInitialised);\n });\n let countRows = document.querySelectorAll(attrIdAssessmentResponse + ' > tbody > tr').length;\n row.setAttribute(attrIdAssessmentResponse, -1 - countRows);\n tbody.prepend(row);\n tbody.scrollTop = 0;\n this.hookupTablesAssessmentResponses();\n this.postInitialiseAssessmentResponseRowNewCallback(tbody);\n }\n postInitialiseAssessmentResponseRowNewCallback(tbody) {\n let newRows = tbody.querySelectorAll('tr.' + flagRowNew);\n let newestRow = newRows[0];\n let clickableElementsSelector = [\n 'td.' + flagResponseQualityMetric + ' div.' + flagResponseQualityMetric\n , ',td.' + flagObedienceLevel + ' div.' + flagObedienceLevel\n , ',td.' + flagValueMeasured + ' div.' + flagValueMeasured\n , ',td.' + flagNotes + ' div.' + flagNotes\n ].join('');\n newestRow.querySelectorAll(clickableElementsSelector).forEach((clickableElement) => {\n clickableElement.click();\n });\n let countActiveRows = tbody.querySelectorAll('td.' + flagActive + ' .' + flagButton + '.' + flagIcon + '.' + flagActive + '.' + flagDelete).length;\n /*\n newRows.filter(row => {\n let activeButton = row.querySelector('td.' + flagActive + ' .' + flagButton + '.' + flagIcon + '.' + flagActive);\n return activeButton.classList.contains(flagDelete);\n }).length;\n */\n let rowAssessmentCommandModalityLink = DOM.getRowFromElement(tbody);\n let divTrialCount = rowAssessmentCommandModalityLink.querySelector('td.' + flagTrialCount + ' div.' + flagTrialCount);\n divTrialCount.innerText = countActiveRows;\n }\n\n hookupTableAssessmentCommandModalityLinksFieldsActive() {\n this.hookupFieldsActive(flagAssessmentCommandModalityLink, (event, element) => { this.handleClickAddRowTableAssessmentCommandModalityLinks(event, element); });\n }\n handleClickAddRowTableAssessmentCommandModalityLinks(event, button) {\n event.stopPropagation();\n _rowBlankAssessmentCommandModalityLink.setAttribute(attrIdAssessmentCommandModalityLink, -1 - _rowBlankAssessmentCommandModalityLink.getAttribute(attrIdAssessmentCommandModalityLink));\n let tbody = document.querySelector(idTableAssessmentCommandModalityLinks + ' tbody');\n if (tbody.classList.contains(flagIsCollapsed)) return;\n let row = _rowBlankAssessmentCommandModalityLink.cloneNode(true);\n row.classList.remove(flagInitialised);\n row.querySelectorAll('.' + flagInitialised).forEach(function(element) {\n element.classList.remove(flagInitialised);\n });\n let countRows = document.querySelectorAll(idTableAssessmentCommandModalityLinks + ' > tbody > tr').length;\n row.setAttribute(attrIdAssessmentCommandModalityLink, -1 - countRows);\n tbody.prepend(row);\n tbody.scrollTop = 0;\n this.hookupTableAssessmentCommandModalityLinks();\n this.postInitialiseAssessmentCommandModalityLinkRowNewCallback(tbody);\n }\n postInitialiseAssessmentCommandModalityLinkRowNewCallback(tbody) {\n let newRows = tbody.querySelectorAll('tr.' + flagRowNew);\n let newestRow = newRows[0];\n let clickableElementsSelector = [\n 'td.' + flagCommandCategory + ' div.' + flagCommandCategory\n , ',td.' + flagCommand + ' div.' + flagCommand\n , ',td.' + flagCommandModality + ' div.' + flagCommandModality\n , ',td.' + flagBribe + ' div.' + flagBribe\n ].join('');\n newestRow.querySelectorAll(clickableElementsSelector).forEach((clickableElement) => {\n clickableElement.click();\n });\n }\n\n leave() {\n super.leave();\n }\n}\n\n","\nimport API from \"../../api.js\";\nimport BusinessObjects from \"../../lib/business_objects/business_objects.js\";\nimport DOM from \"../../dom.js\";\nimport Events from \"../../lib/events.js\";\nimport TableBasePage from \"../base_table.js\";\nimport Utils from \"../../lib/utils.js\";\nimport Validation from \"../../lib/validation.js\";\nimport DogTableMixinPage from \"./mixin_table.js\";\n\nexport default class PageDogAssessments extends TableBasePage {\n static hash = hashPageDogAssessments;\n static attrIdRowObject = attrIdAssessment;\n callSaveTableContent = API.saveAssessments;\n\n constructor(router) {\n super(router);\n this.dogMixin = new DogTableMixinPage(this);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n hookupFilters() {\n this.sharedHookupFilters();\n this.hookupFilterWeather();\n this.hookupFilterLightingLevel();\n this.hookupFilterLocation();\n this.hookupFilterHandler();\n this.hookupFilterActive();\n }\n hookupFilterWeather() {\n this.hookupFilter(attrIdWeather);\n }\n hookupFilterLightingLevel() {\n this.hookupFilter(attrIdLightingLevel);\n }\n hookupFilterHandler() {\n this.hookupFilter(flagUserHandler);\n }\n\n loadRowTable(rowJson) {\n if (rowJson == null) return;\n if (_verbose) { Utils.consoleLogIfNotProductionEnvironment(\"applying data row: \", rowJson); }\n }\n getJsonRow(row) {\n if (row == null) return;\n let inputTemperatureCelcius = row.querySelector('td.' + flagTemperatureCelcius + ' input');\n let inputNotes = row.querySelector('td.' + flagNotes + ' textarea');\n let buttonActive = row.querySelector('td.' + flagActive + ' .' + flagActive);\n\n let jsonRow = {};\n jsonRow[attrIdAssessment] = row.getAttribute(attrIdAssessment);\n jsonRow[attrIdWeather] = this.getIdWeatherRow(row);\n jsonRow[attrIdLightingLevel] = this.getIdLightingLevelRow(row);\n jsonRow[flagTemperatureCelcius] = DOM.getElementAttributeValueCurrent(inputTemperatureCelcius);\n jsonRow[attrIdLocation] = this.getIdLocationRow(row);\n jsonRow[flagUserHandler] = this.getIdUserHandlerRow(row);\n jsonRow[flagNotes] = DOM.getElementAttributeValueCurrent(inputNotes);\n jsonRow[flagActive] = buttonActive.classList.contains(flagDelete);\n return jsonRow;\n }\n getIdWeatherRow(tr) {\n let elementWeather = tr.querySelector('td.' + flagWeather + ' .' + flagWeather);\n return DOM.getElementAttributeValueCurrent(elementWeather);\n }\n getIdLightingLevelRow(tr) {\n let elementLightingLevel = tr.querySelector('td.' + flagLightingLevel + ' .' + flagLightingLevel);\n return DOM.getElementAttributeValueCurrent(elementLightingLevel);\n }\n getIdLocationRow(tr) {\n let elementLocation = tr.querySelector('td.' + flagLocation + ' .' + flagLocation);\n return DOM.getElementAttributeValueCurrent(elementLocation);\n }\n getIdUserHandlerRow(tr) {\n let elementUserHandler = tr.querySelector('td.' + flagUserHandler + ' .' + flagUserHandler);\n return DOM.getElementAttributeValueCurrent(elementUserHandler);\n }\n initialiseRowNew(tbody, row) {\n \n }\n postInitialiseRowNewCallback(tbody) {\n let newRows = tbody.querySelectorAll('tr.' + flagRowNew);\n let newestRow = newRows[0];\n let clickableElementsSelector = [\n 'td.' + flagWeather + ' div.' + flagWeather\n , ',td.' + flagLightingLevel + ' div.' + flagLightingLevel\n , ',td.' + flagLocation + ' div.' + flagLocation\n , ',td.' + flagUserHandler + ' div.' + flagUserHandler\n ].join('');\n newestRow.querySelectorAll(clickableElementsSelector).forEach((clickableElement) => {\n clickableElement.click();\n });\n }\n\n hookupTableMain() {\n super.hookupTableMain();\n this.hookupFieldsDetail();\n this.hookupFieldsWeather();\n this.hookupFieldsLightingLevel();\n this.hookupFieldsTemperature();\n this.dogMixin.hookupFieldsLocation();\n this.hookupFieldsHandler();\n this.hookupFieldsNotesTable();\n this.hookupFieldsActive();\n }\n hookupFieldsDetail() {\n Events.hookupEventHandler(\n \"click\" // eventType\n , idTableMain + ' td.' + flagDetail + ' button.' + flagDetail // selector\n , (event, element) => {\n let parentTr = DOM.getRowFromElement(element);\n let idAssessment = parentTr.getAttribute(attrIdAssessment);\n /*\n console.log(\"click detail\");\n console.log({ element, parentTr, idAssessment });\n const data = {};\n const params = {\n [attrIdAssessment]: idAssessment\n };\n API.request(\n hashPageDogAssessment // hashEndpoint\n , 'GET' // method\n , data\n , params\n );\n */\n\n let formFilters = TableBasePage.getFormFilters();\n let filtersJson = DOM.convertForm2JSON(formFilters);\n filtersJson[attrIdAssessment] = idAssessment;\n Utils.consoleLogIfNotProductionEnvironment(\"hookupFieldsDetail\");\n Utils.consoleLogIfNotProductionEnvironment(\"formFilters\");\n Utils.consoleLogIfNotProductionEnvironment(formFilters);\n Utils.consoleLogIfNotProductionEnvironment(\"filtersJson\");\n Utils.consoleLogIfNotProductionEnvironment(filtersJson);\n this.leave();\n API.goToHash(hashPageDogAssessment, filtersJson);\n }\n );\n }\n hookupFieldsWeather() {\n this.hookupTableCellDdlPreviews(\n flagWeather\n , Utils.getListFromDict(filterWeathers) // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n );\n }\n hookupFieldsLightingLevel() {\n this.hookupTableCellDdlPreviews(\n flagLightingLevel\n , Utils.getListFromDict(filterLightingLevels) // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n );\n }\n hookupFieldsTemperature() {\n this.hookupChangeHandlerTableCells(idTableMain + ' td.' + flagTemperatureCelcius + ' input.' + flagTemperatureCelcius);\n }\n hookupFieldsHandler() {\n this.hookupTableCellDdlPreviews(\n flagUserHandler\n , Utils.getListFromDict(filterUserHandlers) // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n );\n }\n\n leave() {\n super.leave();\n }\n}\n\n","import BasePage from \"../base.js\";\n\nexport default class PageAccessibilityReport extends BasePage {\n static hash = hashPageAccessibilityReport;\n\n constructor(router) {\n super(router);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n leave() {\n super.leave();\n }\n}\n","import BasePage from \"../base.js\";\n\nexport default class PageAccessibilityStatement extends BasePage {\n static hash = hashPageAccessibilityStatement;\n\n constructor(router) {\n super(router);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n leave() {\n super.leave();\n }\n}\n","\nimport BasePage from \"../base.js\";\n\nexport default class PageLicense extends BasePage {\n static hash = hashPageLicense;\n\n constructor(router) {\n super(router);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n leave() {\n super.leave();\n }\n}","\nimport BasePage from \"../base.js\";\n\nexport default class PagePrivacyPolicy extends BasePage {\n static hash = hashPagePrivacyPolicy;\n\n constructor(router) {\n super(router);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n leave() {\n super.leave();\n }\n}","import BasePage from \"../base.js\";\n\nexport default class PageRetentionSchedule extends BasePage {\n static hash = hashPageDataRetentionSchedule;\n\n constructor(router) {\n super(router);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n leave() {\n super.leave();\n }\n}\n","\n// Pages\n// Core\nimport PageHome from './pages/core/home.js';\nimport PageContact from './pages/core/contact.js';\nimport PageContactSuccess from './pages/core/contact-success.js';\n// Dog\nimport PageDogHome from './pages/dog/home.js';\nimport PageDogCommandCategories from './pages/dog/command_categories.js';\nimport PageDogCommands from './pages/dog/commands.js';\nimport PageDogDogCommandLinks from './pages/dog/dog_command_links.js';\n// import PageDogDogs from './pages/dog/dogs.js';\nimport PageDogLocations from './pages/dog/locations.js';\nimport PageDogButtonIcons from './pages/dog/button_icons.js';\nimport PageDogCommandButtonLinks from './pages/dog/command_button_links.js';\nimport PageDogAssessment from './pages/dog/assessment.js';\nimport PageDogAssessments from './pages/dog/assessments.js';\n// Legal\nimport PageAccessibilityReport from './pages/legal/accessibility_report.js';\nimport PageAccessibilityStatement from './pages/legal/accessibility_statement.js';\nimport PageLicense from './pages/legal/license.js';\nimport PagePrivacyPolicy from './pages/legal/privacy_policy.js';\nimport PageRetentionSchedule from './pages/legal/retention_schedule.js';\n// User\n// import PageUserLogin from './pages/user/login.js';\n// import PageUserLogout from './pages/user/logout.js';\n// import PageUserAccount from './pages/user/account.js';\n\nimport API from './api.js';\nimport DOM from './dom.js';\nimport Utils from './lib/utils.js';\n\n\nexport default class Router {\n constructor() {\n // Pages\n this.pages = {};\n // Core\n this.pages[hashPageHome] = { name: 'PageHome', module: PageHome };\n this.pages[hashPageContact] = { name: 'PageContact', module: PageContact };\n this.pages[hashPageContactSuccess] = { name: 'PageContactSuccess', module: PageContactSuccess };\n // Dog\n this.pages[hashPageDogHome] = { name: 'PageDogHome', module: PageDogHome };\n this.pages[hashPageDogCommandCategories] = { name: 'PageDogCommands', module: PageDogCommandCategories };\n this.pages[hashPageDogCommands] = { name: 'PageDogCommands', module: PageDogCommands };\n this.pages[hashPageDogDogCommandLinks] = { name: 'PageDogDogCommandLinks', module: PageDogDogCommandLinks };\n // this.pages[hashPageDogDogs] = { name: 'PageDogDogs', module: PageDogDogs };\n this.pages[hashPageDogLocations] = { name: 'PageDogLocations', module: PageDogLocations };\n this.pages[hashPageDogButtonIcons] = { name: 'PageDogButtonIcons', module: PageDogButtonIcons };\n this.pages[hashPageDogCommandButtonLinks] = { name: 'PageDogCommandButtonLinks', module: PageDogCommandButtonLinks };\n this.pages[hashPageDogAssessment] = { name: 'PageDogAssessment', module: PageDogAssessment };\n this.pages[hashPageDogAssessments] = { name: 'PageDogAssessments', module: PageDogAssessments };\n // Legal\n this.pages[hashPageAccessibilityStatement] = { name: 'PageAccessibilityStatement', module: PageAccessibilityStatement };\n this.pages[hashPageDataRetentionSchedule] = { name: 'PageDataRetentionSchedule', module: PageRetentionSchedule };\n this.pages[hashPageLicense] = { name: 'PageLicense', module: PageLicense };\n this.pages[hashPagePrivacyPolicy] = { name: 'PagePrivacyPolicy', module: PagePrivacyPolicy };\n // User\n // this.pages[hashPageUserLogin] = { name: 'PageUserLogin', module: PageUserLogin }; // pathModule: './pages/user/login.js' };\n // this.pages[hashPageUserLogout] = { name: 'PageUserLogout', module: PageUserLogout }; // pathModule: './pages/user/logout.js' };\n // this.pages[hashPageUserAccount] = { name: 'PageUserAccount', module: PageUserAccount }; // pathModule: './pages/user/account.js' };\n // Routes\n this.routes = {};\n // Core\n this.routes[hashPageHome] = (isPopState = false) => this.navigateToHash(hashPageHome, isPopState);\n this.routes[hashPageContact] = (isPopState = false) => this.navigateToHash(hashPageContact, isPopState);\n this.routes[hashPageContactSuccess] = (isPopState = false) => this.navigateToHash(hashPageContactSuccess, isPopState);\n // Dog\n this.routes[hashPageDogHome] = (isPopState = false) => this.navigateToHash(hashPageDogHome, isPopState);\n this.routes[hashPageDogCommandCategories] = (isPopState = false) => this.navigateToHash(hashPageDogCommandCategories, isPopState);\n this.routes[hashPageDogCommands] = (isPopState = false) => this.navigateToHash(hashPageDogCommands, isPopState);\n this.routes[hashPageDogDogCommandLinks] = (isPopState = false) => this.navigateToHash(hashPageDogDogCommandLinks, isPopState);\n // this.routes[hashPageDogDogs] = (isPopState = false) => this.navigateToHash(hashPageDogDogs, isPopState);\n this.routes[hashPageDogLocations] = (isPopState = false) => this.navigateToHash(hashPageDogLocations, isPopState);\n this.routes[hashPageDogButtonIcons] = (isPopState = false) => this.navigateToHash(hashPageDogButtonIcons, isPopState);\n this.routes[hashPageDogCommandButtonLinks] = (isPopState = false) => this.navigateToHash(hashPageDogCommandButtonLinks, isPopState);\n this.routes[hashPageDogAssessment] = (isPopState = false) => this.navigateToHash(hashPageDogAssessment, isPopState);\n this.routes[hashPageDogAssessments] = (isPopState = false) => this.navigateToHash(hashPageDogAssessments, isPopState);\n // Legal\n this.routes[hashPageAccessibilityStatement] = (isPopState = false) => this.navigateToHash(hashPageAccessibilityStatement, isPopState);\n this.routes[hashPageDataRetentionSchedule] = (isPopState = false) => this.navigateToHash(hashPageDataRetentionSchedule, isPopState);\n this.routes[hashPageLicense] = (isPopState = false) => this.navigateToHash(hashPageLicense, isPopState);\n this.routes[hashPagePrivacyPolicy] = (isPopState = false) => this.navigateToHash(hashPagePrivacyPolicy, isPopState);\n // User\n // this.routes[hashPageUserLogin] = (isPopState = false) => this.navigateToHash(hashPageUserLogin, isPopState);\n // this.routes[hashPageUserLogout] = (isPopState = false) => this.navigateToHash(hashPageUserLogout, isPopState);\n // this.routes[hashPageUserAccount] = (isPopState = false) => this.navigateToHash(hashPageUserAccount, isPopState);\n this.initialize();\n }\n loadPage(hashPage, isPopState = false) {\n const PageClass = this.getClassPageFromHash(hashPage);\n this.currentPage = new PageClass(this);\n this.currentPage.initialize(isPopState);\n window.addEventListener('beforeunload', () => this.currentPage.leave());\n }\n getClassPageFromHash(hashPage) {\n \n let pageJson = this.pages[hashPage];\n try {\n const module = pageJson.module;\n return module; \n }\n catch (error) {\n Utils.consoleLogIfNotProductionEnvironment(\"this.pages: \", this.pages);\n console.error('Page not found:', hashPage);\n throw error;\n }\n }\n initialize() {\n window.addEventListener('popstate', this.handlePopState.bind(this));\n }\n handlePopState(event) {\n this.loadPageCurrent();\n }\n loadPageCurrent() {\n const hashPageCurrent = DOM.getHashPageCurrent();\n this.loadPage(hashPageCurrent);\n }\n navigateToHash(hash, data = null, params = null, isPopState = false) {\n let url = API.getUrlFromHash(hash, params);\n history.pushState({data: data, params: params}, '', hash);\n API.goToUrl(url, data);\n }\n \n navigateToUrl(url, data = null, appendHistory = true) {\n // this.beforeLeave();\n if (appendHistory) history.pushState(data, '', url);\n url = API.parameteriseUrl(url, data);\n API.goToUrl(url);\n }\n\n static loadPageBodyFromResponse(response) {\n DOM.loadPageBody(response.data);\n }\n}\n\nexport const router = new Router();\n","\n'use strict';\n\nimport DOM from './dom.js';\nimport Router from './router.js';\n\n\nclass App {\n constructor() {\n this.dom = new DOM();\n this.router = new Router();\n }\n\n initialize() {\n this.setupEventListeners();\n this.start();\n }\n\n setupEventListeners() {\n // document.addEventListener('click', this.handleGlobalClick.bind(this));\n }\n\n handleGlobalClick(event) {\n }\n\n start() {\n this.initPageCurrent();\n }\n\n initPageCurrent() {\n this.router.loadPageCurrent();\n }\n \n}\n\nconst app = new App();\n\nfunction domReady(fn) {\n if (document.readyState !== 'loading') {\n fn();\n } else {\n document.addEventListener('DOMContentLoaded', fn);\n }\n}\n\ndomReady(() => {\n app.initialize();\n});\n\nwindow.app = app;\n\nexport default app;","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};"],"names":["Validation","_classCallCheck","_createClass","key","value","isEmpty","object","undefined","length","isString","trim","i","isValidNumber","positiveOnly","isNaN","parseFloat","getDataContentType","params","data","contentType","JSON","stringify","Data","ContentType","arrayContainsItem","array","itemValue","hasItem","isJQueryElementArray","jQuery","document","querySelectorAll","is","isDate","Date","getTime","dictHasKey","d","k","areEqualDicts","dict1","dict2","keys1","Object","keys","keys2","_i3","_keys","imageExists","url","callback","img","Image","onload","onerror","src","toFixedOrDefault","decimalPlaces","defaultValue","arguments","toFixed","default","Utils","DOM","setElementAttributesValuesCurrentAndPrevious","element","setElementAttributeValueCurrent","setElementAttributeValuePrevious","setAttribute","attrValueCurrent","attrValuePrevious","setElementValuesCurrentAndPrevious","setElementValueCurrent","tagName","toUpperCase","type","checked","textContent","setElementValueCurrentIfEmpty","getElementValueCurrent","getCellFromElement","closest","getRowFromElement","flagRow","selector","getClosestParent","parentSelector","parent","parentElement","matches","convertForm2JSON","elementForm","dataForm","containersFilter","flagContainerInput","flagFilter","containerFilter","labelFilter","keyFilter","filter","indexFilter","querySelector","getAttribute","concat","loadPageBody","contentNew","pageBody","idPageBody","innerHTML","getHashPageCurrent","hashPageCurrent","body","dataset","page","updateAndCheckIsElementDirty","isElementDirty","isDirty","handleDirtyElement","toggleElementHasClassnameFlag","flagDirty","elementHasFlag","flag","elementAlreadyHasFlag","classList","contains","add","remove","hasDirtyChildrenContainer","container","hasDirtyChildrenNotDeletedContainer","flagDelete","returnVal","flagButton","flagActive","getElementAttributeValueCurrent","flagCheckbox","flagIsChecked","getElementAttributeValuePrevious","scrollToElement","scrollTop","offset","top","isElementInContainer","containerBounds","getBoundingClientRect","elementBounds","left","height","width","alertError","errorType","errorText","alert","createOptionUnselectedProductVariation","_defineProperty","flagProductVariationType","flagNameAttrOptionText","flagName","flagNameAttrOptionValue","attrIdProductVariationType","flagProductVariation","attrIdProductVariation","createOption","optionJson","text","option","createElement","selected","escapeHtml","div","unescapeHtml","html","innerText","Events","initialiseEventHandler","selectorElement","classInitialised","eventHandler","forEach","hookupEventHandler","eventType","flagInitialised","addEventListener","event","stopPropagation","LocalStorage","getLocalStorage","parse","localStorage","getItem","setLocalStorage","newLS","setItem","_regeneratorRuntime","e","t","r","prototype","n","hasOwnProperty","o","defineProperty","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","getPrototypeOf","v","values","g","defineIteratorMethods","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","ownKeys","getOwnPropertySymbols","getOwnPropertyDescriptor","apply","_objectSpread","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","asyncGeneratorStep","_asyncToGenerator","_next","_throw","_defineProperties","_toPrimitive","toPrimitive","String","Number","API","getCsrfToken","idCSRFToken","_request","_callee","hashEndpoint","csrfToken","options","response","_args","_callee$","_context","getUrlFromHash","headers","flagCsrfToken","fetch","ok","status","json","t0","console","error","request","_x","hash","hashPageHome","parameteriseUrl","_pathHost","URLSearchParams","toString","goToUrl","window","location","href","goToHash","_loginUser","_callee2","_callee2$","_context2","flagCallback","hashPageUserLogin","loginUser","_saveCommandCategories","_callee3","commandCategories","formFilters","comment","dataRequest","_callee3$","_context3","flagFormFilters","flagCommandCategory","flagComment","hashSaveDogCommandCategory","saveCommandCategories","_x2","_x3","_x4","_saveCommands","_callee4","commands","_callee4$","_context4","flagCommand","hashSaveDogCommand","saveCommands","_x5","_x6","_x7","_saveDogCommandLinks","_callee5","dogCommandLinks","_callee5$","_context5","flagDogCommandLink","hashSaveDogDogCommandLink","saveDogCommandLinks","_x8","_x9","_x10","_saveLocations","_callee6","locations","_callee6$","_context6","flagLocation","hashSaveDogLocation","saveLocations","_x11","_x12","_x13","_saveButtonIcons","_callee7","buttonIcons","_callee7$","_context7","flagButtonIcon","hashSaveDogButtonIcon","saveButtonIcons","_x14","_x15","_x16","_saveCommandButtonLinks","_callee8","links","_callee8$","_context8","flagCommandButtonLink","hashSaveDogCommandButtonLink","saveCommandButtonLinks","_x17","_x18","_x19","getListFromDict","dict","list","consoleLogIfNotProductionEnvironment","message","environment","is_production","log","OverlayConfirm","hookup","callbackSuccess","idOverlayConfirm","flagCancel","buttonCancel","overlay","style","visibility","flagSubmit","buttonConfirm","textarea","show","flagIsCollapsed","BusinessObjects","OverlayError","BasePage","router","title","titlePageCurrent","initialize","sharedInitialize","logInitialisation","hookupCommonElements","hookupLogos","hookupNavigation","hookupOverlays","idButtonHamburger","overlayHamburger","idOverlayHamburger","flagExpanded","hookupButtonsNavHome","hookupButtonsNavContact","hookupButtonsNavUserAccount","hookupButtonsNavUserLogout","hookupButtonsNavUserLogin","hookupButtonsNavDogHome","hookupButtonsNavDogCommandCategories","hookupButtonsNavDogCommands","hookupButtonsNavDogDogCommandLinks","hookupButtonsNavDogDogs","hookupButtonsNavDogLocations","hookupButtonsNavDogButtonIcons","hookupButtonsNavDogCommandButtonLinks","hookupButtonsNavDogAssessments","hookupButtonsNav","flagNavHome","buttonSelector","hashPageNav","_this","button","navigateToHash","flagNavContact","hashPageContact","flagNavUserAccount","hashPageUserAccount","flagNavUserLogout","hashPageUserLogout","_this2","flagNavUserLogin","navigator","leave","Success","Message","flagNavDogHome","hashPageDogHome","flagNavDogCommandCategories","hashPageDogCommandCategories","flagNavDogCommands","hashPageDogCommands","flagNavDogDogCommandLinks","hashPageDogDogCommandLinks","flagNavDogDogs","hashPageDogDogs","flagNavDogLocations","hashPageDogLocations","flagNavDogButtonIcons","hashPageDogButtonIcons","flagNavDogCommandButtonLinks","hashPageDogCommandButtonLinks","flagNavDogAssessments","hashPageDogAssessments","_this3","flagImageLogo","flagLogo","hookupOverlayFromId","idOverlayError","idOverlay","display","hookupButtonSave","_this4","flagSave","target","setLocalStoragePage","dataPage","getLocalStoragePage","toggleShowButtonsSaveCancel","buttonContainerSelector","flagContainer","buttonSave","isDirtyFilter","idTableMain","PageHome","_BasePage","_callSuper","_inherits","_superPropGet","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","_assertThisInitialized","ReferenceError","_get","get","bind","_superPropBase","_setPrototypeOf","_wrapNativeSuper","Map","_isNativeFunction","has","set","Wrapper","_construct","Boolean","valueOf","Function","indexOf","_toArray","_arrayWithHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableRest","_toConsumableArray","_arrayWithoutHoles","_nonIterableSpread","Array","from","isArray","_arrayLikeToArray","_slicedToArray","_iterableToArrayLimit","_createForOfIteratorHelper","_n2","F","test","hi","Or","gi","ne","zr","H","Mt","WeakSet","Ut","en","Fr","self","Blob","_i","URL","webkitURL","createObjectURL","Worker","revokeObjectURL","_unused","encodeURIComponent","mi","Qr","_Qr$v","_window$__svelte","__svelte","Set","wi","pi","yi","bi","Ei","xi","Wt","tn","rn","Je","W","$i","Mr","oe","nn","It","Yt","pe","ze","yt","re","bt","K","ye","et","Ke","St","ki","Zt","Ci","ln","ut","an","Ai","on","Ri","Ii","Et","xt","Pe","Si","Ti","Ni","sn","fn","Li","requestIdleCallback","setTimeout","dt","vt","un","cn","Gt","queueMicrotask","Di","Ur","dn","Pi","vn","Oi","zi","Fi","Mi","Ui","ji","Vi","Bi","qi","Hi","Wi","ue","reactions","equals","rv","wv","He","Yi","hn","ae","ce","Qi","P","Dn","includes","Zi","En","gn","A","ge","el","de","Lt","De","ctx","B","deps","effects","_n","we","Gi","Ji","Se","$n","mn","Ce","Tt","warn","D","Ge","O","Re","Xe","Te","Z","Ki","nodeType","le","Proxy","deleteProperty","isInteger","jr","w","m","z","T","Y","M","_iterator","_step","_step$value","err","Vr","wn","pn","yn","jt","userAgent","Element","Node","__click","__className","__attributes","__style","__e","Text","__t","Jt","createTextNode","me","G","appendChild","Br","Comment","he","after","before","Xi","wt","$t","kt","Oe","Kt","qr","ct","Ie","V","J","bn","Ct","ht","_a$reactions","tl","_unused2","rl","Nt","xn","Wr","At","_m$reactions","nl","Xt","hl","An","Cn","teardown","il","kn","al","ll","first","nodes_start","Rn","$","ol","_ol","_callee9","_callee9$","_context9","Qe","sl","fl","ul","last","Fe","nodes_end","transitions","_f$effects","cl","Vt","_r$e","effect","reaction","Qt","dl","vl","outro","Bt","er","We","map","tr","Rt","_iterator2","_step2","In","gl","_iterator3","_step3","out","_iterator4","_step4","is_global","Hr","Sn","_iterator5","_step5","Tn","Nn","x","Ln","_l","ml","Yr","Pn","defaultPrevented","_iterator6","elements","_step6","__on_r","capture","On","wl","zn","qt","pl","ft","cancelBubble","startsWith","yl","passive","removeEventListener","bl","_iterator7","_step7","ownerDocument","composedPath","__root","assignedSlot","parentNode","host","disabled","_z","_z2","_iterator8","_step8","_loop","currentTarget","rr","content","Ae","ve","importNode","cloneNode","lastChild","El","ee","Fn","Mn","xl","_t$intro","intro","anchor","recover","Ye","_ref","_ref$props","props","events","context","_ref$intro","$$events","_iterator9","_step9","removeChild","Ht","WeakMap","$l","ke","_ref2","_ref3","parseInt","substring","Ze","_t2","kl","$$slots","children","Cl","_r$head","getRootNode","head","id","code","Zr","Al","Rl","removeAttribute","className","toggle","Il","Sl","Gr","hasAttribute","ie","Tl","Un","nodeName","Nl","_e$__attributes","namespaceURI","Jr","Ll","defaultChecked","Kr","Xr","jn","Dl","mt","Pl","C","_Pl","_Pl2","_ref4","be","N","$$legacy","X","se","U","Ol","zl","_e","te","_t$intro2","_r$get","_r$get2","_r$get3","hydrate","component","$$host","sync","_loop2","_Object$keys","_i2","$set","assign","$destroy","$on","_len","_key","Vn","HTMLElement","_HTMLElement","$$ctor","$$s","attachShadow","mode","$$l","$$c","$$l_u","_connectedCallback","_this5","_iterator10","_step10","_i4","_iterator11","_step11","_i5","_a","_iterator13","_step13","$$cn","Fl","$$d","attributes","$$g_p","pt","$$p_d","shadowRoot","$$me","$$r","_iterator12","_step12","reflect","attribute","connectedCallback","attributeChangedCallback","disconnectedCallback","_this6","_this7","find","toLowerCase","childNodes","slot","Ml","_Vn","_this8","Bn","TextEncoder","Ul","Uint8Array","padStart","join","jl","_jl","_callee10","_args10","_callee10$","_context10","now","Math","round","random","qn","algorithm","challenge","salt","signature","_qn","_callee11","_callee11$","_context11","crypto","subtle","digest","encode","t1","Vl","AbortController","promise","signal","aborted","number","took","controller","Bl","Intl","DateTimeFormat","resolvedOptions","timeZone","_unused3","ql","atob","charCodeAt","Hl","floor","Wl","_Wl","_callee13","_args13","_callee13$","_context13","_ref7","_callee12","_callee12$","_context12","decrypt","iv","clearText","TextDecoder","decode","importKey","reject","E","ERROR","VERIFIED","VERIFYING","UNVERIFIED","EXPIRED","Yl","Zl","Gl","Jl","Kl","Xl","Ql","ea","ta","ra","na","ia","la","Lr","Dr","Ee","Me","min","hardwareConcurrency","tt","nr","ir","lr","rt","dispatchEvent","CustomEvent","detail","ar","documentElement","lang","split","Dt","origin","endsWith","Pt","wr","or","Q","ariaLinkLabel","expired","footer","label","verified","verifying","waitAlert","sr","Ue","R","j","nt","je","Ve","fe","xe","Ne","Xn","Qn","Hn","hr","gr","vr","clearTimeout","cr","dr","mr","I","Jn","pluginName","Ot","pr","it","$e","requestAnimationFrame","fr","btoa","_i6","_xe","destroy","ur","lt","Wn","_Wn","L","_","b","S","q","_L","qe","_L2","globalThis","Response","verifyurl","Er","Yn","Zn","blockedCountries","classifier","disableRules","email","expectedCountries","expectedLanguages","fields","ipAddress","Gn","reduce","replace","RegExp","_iterator14","altchaPlugins","_step14","clarify","dispatch","getConfiguration","xr","getFloatingAnchor","$r","getState","kr","solve","br","setState","Le","setFloatingAnchor","Cr","verify","_console","_len2","_key2","some","Kn","reportValidity","gt","_i7","_xe2","onErrorChange","preventDefault","requestSubmit","_r","_i8","_xe3","onStateChange","clientHeight","clientWidth","bottom","max","ei","_ei","_Zn","ot","st","vi","Pr","payload","classification","yr","_br","ti","maxnumber","solution","obfuscated","t2","t3","t4","_ti","_i10","_b2","_p","_args6","ceil","altchaCreateWorker","all","_i9","_b","postMessage","start","terminate","_it","auto","blockspam","customfetch","floatinganchor","delay","floatingoffset","floating","expire","challengeurl","debug","hidefooter","hidelogo","mockerror","refetchonexpire","spamfilter","strings","workers","workerurl","ri","state","_$e","_ref6","Ar","Rr","at","zt","Ir","ni","_t","Sr","Be","__change","Ft","ii","li","ai","oi","si","Tr","fi","Nr","ui","ci","di","required","configure","getPlugin","challengejson","plugins","customElements","Altcha","PageContact","hookupButtonSubmitFormContactUs","flagButtonPrimary","PageContactSuccess","hashPageContactSuccess","PageDogHome","hookupDogHome","getOptionJsonFromObjectJsonAndKeys","objectJson","keyText","keyValue","valueSelected","getOptionJsonFromObjectJson","getObjectText","getListObjectsFromIdDictAndCsv","idDict","idCsv","listObjects","ids","msgError","labelError","idLabelError","TableBasePage","cursorYInitial","rowInitial","placeholder","dragSrcEl","dragSrcRow","hookupTableCellDdls","isPopState","isSinglePageApp","hookupFilters","hookupButtonsSaveCancel","hookupTableMain","saveRecordsTableDirtySinglePageApp","saveRecordsTableDirty","filters","getFormFilters","filtersDefault","callFilterTableContent","sharedHookupFilters","hookupButtonApplyFilters","hookupSearchTextFilter","hookupFilterActive","filterSelector","idFormFilters","flagActiveOnly","filterActiveOld","parentDiv","isChecked","filterActiveNew","filterActive","svgElement","wasChecked","handleChangeFilter","filterValuePrevious","hookupFilter","filterFlag","handler","areDirtyFilters","tbody","rows","row","dirtyInputs","dirtyInput","isDirtyLabel","initialisedElements","initialisedElement","updateAndToggleShowButtonsSaveCancel","hookupFilterIsNotEmpty","flagIsNotEmpty","idButtonApplyFilters","flagSearch","hookupFilterDog","attrIdDog","hookupFilterCommandCategory","attrIdCommandCategory","filterCommandCategory","idCommandCategory","filterCommands","commandsInCategory","command","sortedCommands","sort","localeCompare","filterCommand","idCommandPrevious","Event","hookupFilterCommand","attrIdCommand","hookupFilterLocation","attrIdLocation","filtersJson","callbackLoadTableContent","table","getTableMain","bodyTable","rowsJson","flagRows","every","display_order","loadRowTable","rowJson","getAndLoadFilteredTableContentSinglePageApp","hookupButtonCancel","records","getTableRecords","formElement","idTextareaConfirm","callSaveTableContent","flagStatus","flagSuccess","_verbose","flagMessage","_this9","dirtyOnly","record","getJsonRow","_this10","_this11","handleClickAddRowTable","_rowBlank","attrIdRowObject","countRows","initialiseRowNew","prepend","postInitialiseRowNewCallback","_this12","cacheRowBlank","selectorRowNew","flagRowNew","rowBlankTemp","initialiseSliderDisplayOrderRowNew","slidersDisplayOrder","flagDisplayOrder","flagSlider","maxDisplayOrder","slider","sliderDisplayOrder","hookupSlidersDisplayOrderTable","selectorDisplayOrder","hookupChangeHandlerTableCells","inputSelector","_this13","handleChangeNestedElementCellTable","input","wasDirtyParentRows","getAllIsDirtyRowsInParentTree","wasDirtyElement","isDirtyElement","cascadeChangedIsDirtyNestedElementCellTable","isDirtyRow","wasDirtyRow","shift","hookupChangeHandlerTableCellsWhenNotCollapsed","_this14","hookupFieldsCodeTable","flagCode","hookupFieldsNameTable","hookupFieldsDescriptionTable","flagDescription","hookupFieldsNotesTable","flagNotes","hookupFieldsActive","_this15","flagTable","handleClickRowNew","selectorButton","selectorButtonDelete","selectorButtonUndelete","hookupButtonsRowDelete","hookupButtonsRowUndelete","_this16","changeHandler","handleClickButtonRowDelete","changeEvent","changeElement","_this17","valuePrevious","wasDirty","buttonAddTemplate","idContainerTemplateElements","flagAdd","buttonAdd","replaceWith","_this18","handleClickButtonRowUndelete","_this19","buttonDeleteTemplate","buttonDelete","hookupTdsAccessLevel","hookupTableCellDdlPreviews","flagAccessLevel","accessLevels","fieldFlag","optionList","_this20","cellSelector","ddlHookup","ddlSelector","handleClickTableCellDdlPreview","_this21","optionObjectList","_this22","idSelected","td","ddl","optionObjectJson","toggleColumnCollapsed","flagColumn","isCollapsed","toggleColumnHasClassnameFlag","toggleColumnHeaderCollapsed","hookupFieldsCommandCategory","_this23","idTable","filterCommandCategories","hookupCommandCategoryDdls","_this24","handleChangeCommandCategoryDdl","ddlCategory","idCommandCategoryRowOld","getIdCommandCategoryRow","idCommandCategoryRowNew","idCommandCategoryFilter","getIdCommandCategoryFilter","tdCommand","ddlCommand","hookupFieldsCommand","_this25","parentTr","tdCommandCategory","idCommandCategoryRow","filterCommandList","handleChangeCommandDdl","idCommandNew","getIdCommandRow","commandNew","divCommandCategory","ddlCommandCategory","elementCommandCategory","commandCategoryFilter","commandFilter","valueCurrentCommandCategoryFilter","valueCurrentCommandFilter","getHasCommandCategoryFilter","elementCommand","getIdCommandFilter","idCommand","getHasCommandFilter","idCommandFilter","hookupFieldsDog","flagDog","filterDogs","getIdDogRow","elementDog","columnFlag","isRequiredFlag","classnameFlag","columnTh","columnThHasFlag","toggleColumnHeaderHasClassnameFlag","isDirtyMainTable","DogMixinPage","pageCurrent","hookupLocalStorageDog","DogTableMixinPage","_DogMixinPage","hookupTable","hookupFieldsLocation","filterLocations","PageDogCommandCategories","_TableBasePage","dogMixin","inputCode","inputName","buttonActive","jsonRow","PageDogCommands","inputHandSignalDefaultDescription","flagHandSignalDefaultDescription","inputCanHaveButton","flagCanHaveButton","inputNotes","newRows","newestRow","clickableElementsSelector","clickableElement","click","hookupTextareasHandSignalDefaultDescription","hookupFieldsCanHaveButton","PageDogDogCommandLinks","inputHandSignalDescription","flagHandSignalDescription","attrIdDogCommandLink","hookupTextareasHandSignalDescription","PageDogLocations","flagLocationParent","getIdLocationParentRow","elementLocationParent","hookupFieldsLocationParent","idLocationRow","PageDogButtonIcons","attrIdButtonIcon","flagImage","getIdImageRow","elementImage","hookupFieldsImage","buttonicons","PageDogCommandButtonLinks","hookupFilterButtonShape","hookupFilterColour","hookupFilterButtonIcon","attrIdButtonShape","attrIdColour","attrIdCommandButtonLink","hookupFieldsButtonShape","hookupFieldsColour","hookupFieldsButtonIcon","flagButtonShape","filterButtonShapes","flagColour","filterColours","filterButtonIcons","_rowBlankDistraction","_rowBlankAssessmentCommandModalityLink","PageDogAssessment","saveAssessments","attrIdAssessment","flagWeather","flagLightingLevel","flagUserHandler","hookupTableAssessmentHeader","hookupTableDistractions","hookupTableAssessmentCommandModalityLinks","hookupTableAssessmentFieldWeather","hookupTableAssessmentFieldLightingLevel","hookupTableAssessmentFieldTemperature","hookupTableAssessmentFieldLocation","hookupTableAssessmentFieldUserHandler","hookupTableAssessmentFieldNotes","filterWeathers","idTableAssessment","filterLightingLevels","flagTemperatureCelcius","filterUserHandlers","idTableDistractions","attrIdDistraction","hookupTableDistractionsFieldsDistractionType","hookupTableDistractionsFieldsIntensityLevelEmotional","hookupTableDistractionsFieldsIntensityLevelScent","hookupTableDistractionsFieldsIntensityLevelSight","hookupTableDistractionsFieldsIntensityLevelSound","hookupTableDistractionsFieldsIntensityLevelTouch","hookupTableDistractionsFieldsQuantity","hookupTableDistractionsFieldsProximityMetres","hookupTableDistractionsFieldsNotes","hookupTableDistractionsFieldsActive","flagDistractionType","filterDistractionTypes","flagDistractionIntensityLevelEmotional","filterDistractionIntensityLevels","flagDistractionIntensityLevelScent","flagDistractionIntensityLevelSight","flagDistractionIntensityLevelSound","flagDistractionIntensityLevelTouch","flagQuantity","flagProximityMetres","flagDistraction","handleClickAddRowTableDistractions","postInitialiseDistractionRowNewCallback","idTableAssessmentCommandModalityLinks","attrIdAssessmentCommandModalityLink","hookupTableAssessmentCommandModalityLinksFieldsCommandCategory","hookupTableAssessmentCommandModalityLinksFieldsCommand","hookupTableAssessmentCommandModalityLinksFieldsCommandModality","hookupTableAssessmentCommandModalityLinksFieldsBribe","hookupTableAssessmentCommandModalityLinksFieldsDistanceFromHandler","hookupTableAssessmentCommandModalityLinksFieldsIsInHearingRangeOfHandler","hookupTableAssessmentCommandModalityLinksFieldsIsInScentRangeOfHandler","hookupTableAssessmentCommandModalityLinksFieldsIsInSightOfHandler","hookupTableAssessmentCommandModalityLinksFieldsIsOnLead","hookupTableAssessmentCommandModalityLinksFieldsTrialCount","hookupTableAssessmentCommandModalityLinksFieldsNotes","hookupTableAssessmentCommandModalityLinksFieldsResponses","hookupTableAssessmentCommandModalityLinksFieldsActive","flagCommandModality","filterCommandModalities","flagBribe","filterBribes","flagDistanceFromHandler","flagIsInHearingRangeOfHandler","flagIsInScentRangeOfHandler","flagIsInSightOfHandler","flagIsOnLead","flagAssessmentResponse","parentTd","responsesTable","idTableAssessmentResponses","flagTableMain","headRow","thResponseQualityMetric","flagResponseQualityMetric","thObedienceLevel","flagObedienceLevel","thValueMeasured","flagValueMeasured","thNotes","thActive","templateAddIcon","flagIcon","assessmentCommandModalityLink","assessment","flagAssessmentCommandModalityLink","responses","createNewRowTableAssessmentResponses","outerHTML","hookupTablesAssessmentResponses","hookupTableAssessmentResponsesFieldsResponseQualityMetric","hookupTableAssessmentResponsesFieldsObedienceLevel","hookupTableAssessmentResponsesFieldsValueMeasured","hookupTableAssessmentResponsesFieldsNotes","hookupTableAssessmentResponsesFieldsActive","filterResponseQualityMetrics","filterObedienceLevels","handleClickAddRowTableAssessmentResponses","tableResponses","attrIdAssessmentResponse","postInitialiseAssessmentResponseRowNewCallback","countActiveRows","rowAssessmentCommandModalityLink","divTrialCount","flagTrialCount","handleClickAddRowTableAssessmentCommandModalityLinks","postInitialiseAssessmentCommandModalityLinkRowNewCallback","isNew","tdResponseQualityMetric","flagDdlPreview","divResponseQualityMetric","tdObedienceLevel","divObedienceLevel","tdValueMeasured","inputValueMeasured","tdNotes","tdActive","templateDeleteIcon","hashPageDogAssessment","PageDogAssessments","hookupFilterWeather","hookupFilterLightingLevel","hookupFilterHandler","attrIdWeather","attrIdLightingLevel","inputTemperatureCelcius","getIdWeatherRow","getIdLightingLevelRow","getIdLocationRow","getIdUserHandlerRow","elementWeather","elementLightingLevel","elementLocation","elementUserHandler","hookupFieldsDetail","hookupFieldsWeather","hookupFieldsLightingLevel","hookupFieldsTemperature","hookupFieldsHandler","flagDetail","idAssessment","PageAccessibilityReport","hashPageAccessibilityReport","PageAccessibilityStatement","hashPageAccessibilityStatement","PageLicense","hashPageLicense","PagePrivacyPolicy","hashPagePrivacyPolicy","PageRetentionSchedule","hashPageDataRetentionSchedule","Router","pages","module","routes","loadPage","hashPage","PageClass","getClassPageFromHash","currentPage","pageJson","handlePopState","loadPageCurrent","history","pushState","navigateToUrl","appendHistory","loadPageBodyFromResponse","App","dom","setupEventListeners","handleGlobalClick","initPageCurrent","app","domReady","readyState"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"js/main.bundle.js","mappings":";;;;;;;;;;;;;;IACqBA,UAAU;EAAA,SAAAA,WAAA;IAAAC,eAAA,OAAAD,UAAA;EAAA;EAAA,OAAAE,YAAA,CAAAF,UAAA;IAAAG,GAAA;IAAAC,KAAA;IAC3B;AACJ;AACA;AACA;AACA;AACA;;IAEI,SAAOC,OAAOA,CAACC,MAAM,EAAE;MAEnB,IAAID,OAAO,GAAG,IAAI;MAElB,IAAIC,MAAM,KAAK,IAAI,IAAIA,MAAM,KAAK,MAAM,IAAIA,MAAM,KAAKC,SAAS,IAAID,MAAM,KAAK,WAAW,EAAE;QAExF,IAAIA,MAAM,CAACE,MAAM,IAAID,SAAS,EAAE;UAC5BF,OAAO,GAAG,KAAK,CAAC,CAAC;QACrB,CAAC,MACI,IAAI,OAAOC,MAAM,KAAK,UAAU,EAAE;UACnCD,OAAO,GAAG,KAAK,CAAC,CAAC;QACrB,CAAC,MACI;UAAE;;UAEH,IAAII,QAAQ,GAAI,OAAOH,MAAM,IAAI,QAAS;UAE1C,IAAIG,QAAQ,EAAEH,MAAM,GAAGA,MAAM,CAACI,IAAI,CAAC,CAAC;UAEpC,IAAIJ,MAAM,CAACE,MAAM,GAAG,CAAC,EAAE;YAEnB,IAAIC,QAAQ,EAAE;cACVJ,OAAO,GAAG,KAAK,CAAC,CAAC;YACrB,CAAC,MACI;cAED,IAAI,OAAOC,MAAM,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE;gBAC9BD,OAAO,GAAG,KAAK;cACnB,CAAC,MACI;gBACD,KAAI,IAAIM,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGL,MAAM,CAACE,MAAM,EAAEG,CAAC,EAAE,EAAE;kBACnC,IAAIL,MAAM,CAACK,CAAC,CAAC,IAAI,EAAE,EAAE;oBACjBN,OAAO,GAAG,KAAK;oBACf;kBACJ;gBACJ;cACJ;YACJ;UACJ;QACJ;MACJ;MAEA,OAAOA,OAAO;IAClB;EAAC;IAAAF,GAAA;IAAAC,KAAA,EAED,SAAOQ,aAAaA,CAACR,KAAK,EAAES,YAAY,EAAE;MACtC,OAAO,CAACb,UAAU,CAACK,OAAO,CAACD,KAAK,CAAC,IAAI,CAACU,KAAK,CAACV,KAAK,CAAC,KAAK,CAACS,YAAY,IAAIE,UAAU,CAACX,KAAK,CAAC,GAAG,CAAC,CAAC;IAClG;EAAC;IAAAD,GAAA;IAAAC,KAAA,EAED,SAAOY,kBAAkBA,CAACC,MAAM,EAAE;MAE9B,IAAIC,IAAI,GAAG,IAAI;MACf,IAAIC,WAAW,GAAG,EAAE;MAEpB,IAAI,CAACnB,UAAU,CAACK,OAAO,CAACY,MAAM,CAAC,EAAE;QAE7B,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;UAC5BC,IAAI,GAAGD,MAAM;UACbE,WAAW,GAAG,kDAAkD;QACpE,CAAC,MACI;UACDD,IAAI,GAAGE,IAAI,CAACC,SAAS,CAACJ,MAAM,CAAC;UAC7BE,WAAW,GAAG,iCAAiC;QACnD;MACJ;MAEA,OAAO;QAAEG,IAAI,EAAEJ,IAAI;QAAEK,WAAW,EAAEJ;MAAY,CAAC;IACnD;EAAC;IAAAhB,GAAA;IAAAC,KAAA,EAED,SAAOoB,iBAAiBA,CAACC,KAAK,EAAEC,SAAS,EAAE;MAEvC,IAAIC,OAAO,GAAG,KAAK;MAEnB,IAAI,CAAC3B,UAAU,CAACK,OAAO,CAACoB,KAAK,CAAC,IAAI,CAACzB,UAAU,CAACK,OAAO,CAACqB,SAAS,CAAC,EAAE;QAE9D,IAAIE,oBAAoB,GAAGH,KAAK,CAAC,CAAC,CAAC,YAAYI,MAAM;QAErD,IAAID,oBAAoB,EAAE;UAEtB,KAAK,IAAIjB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGc,KAAK,CAACjB,MAAM,EAAEG,CAAC,EAAE,EAAE;YAEnC,IAAImB,QAAQ,CAACC,gBAAgB,CAACN,KAAK,CAACd,CAAC,CAAC,CAAC,CAACqB,EAAE,CAACN,SAAS,CAAC,EAAE;cACnDC,OAAO,GAAG,IAAI;cACd;YACJ;UACJ;QACJ,CAAC,MACI;UAED,IAAIM,MAAM,GAAGR,KAAK,CAAC,CAAC,CAAC,YAAYS,IAAI;UAErC,IAAID,MAAM,EAAE;YAER,KAAK,IAAItB,EAAC,GAAG,CAAC,EAAEA,EAAC,GAAGc,KAAK,CAACjB,MAAM,EAAEG,EAAC,EAAE,EAAE;cAEnC,IAAIc,KAAK,CAACd,EAAC,CAAC,CAACwB,OAAO,CAAC,CAAC,KAAKT,SAAS,CAACS,OAAO,CAAC,CAAC,EAAE;gBAC5CR,OAAO,GAAG,IAAI;gBACd;cACJ;YACJ;UACJ,CAAC,MACI;YAED,KAAK,IAAIhB,GAAC,GAAG,CAAC,EAAEA,GAAC,GAAGc,KAAK,CAACjB,MAAM,EAAEG,GAAC,EAAE,EAAE;cAEnC,IAAIc,KAAK,CAACd,GAAC,CAAC,IAAIe,SAAS,EAAE;gBACvBC,OAAO,GAAG,IAAI;gBACd;cACJ;YACJ;UACJ;QACJ;MACJ;MAEA,OAAOA,OAAO;IAClB;EAAC;IAAAxB,GAAA;IAAAC,KAAA,EAED,SAAOgC,UAAUA,CAACC,CAAC,EAAEC,CAAC,EAAE;MACpB,OAAQA,CAAC,IAAID,CAAC;IAClB;EAAC;IAAAlC,GAAA;IAAAC,KAAA,EACD,SAAOmC,aAAaA,CAACC,KAAK,EAAEC,KAAK,EAAE;MAC/B,IAAMC,KAAK,GAAGC,MAAM,CAACC,IAAI,CAACJ,KAAK,CAAC;MAChC,IAAMK,KAAK,GAAGF,MAAM,CAACC,IAAI,CAACH,KAAK,CAAC;MAEhC,IAAIC,KAAK,CAAClC,MAAM,KAAKqC,KAAK,CAACrC,MAAM,EAAE;QACnC,OAAO,KAAK;MACZ;MAEA,SAAAsC,GAAA,MAAAC,KAAA,GAAgBL,KAAK,EAAAI,GAAA,GAAAC,KAAA,CAAAvC,MAAA,EAAAsC,GAAA,IAAE;QAAlB,IAAI3C,GAAG,GAAA4C,KAAA,CAAAD,GAAA;QACZ,IAAIN,KAAK,CAACrC,GAAG,CAAC,KAAKsC,KAAK,CAACtC,GAAG,CAAC,EAAE;UAC3B,OAAO,KAAK;QAChB;MACA;MAEA,OAAO,IAAI;IACf;EAAC;IAAAA,GAAA;IAAAC,KAAA,EAED,SAAO4C,WAAWA,CAACC,GAAG,EAAEC,QAAQ,EAAE;MAE9B,IAAIC,GAAG,GAAG,IAAIC,KAAK,CAAC,CAAC;MAErBD,GAAG,CAACE,MAAM,GAAG,YAAW;QAAEH,QAAQ,CAAC,IAAI,CAAC;MAAE,CAAC;MAC3CC,GAAG,CAACG,OAAO,GAAG,YAAW;QAAEJ,QAAQ,CAAC,KAAK,CAAC;MAAE,CAAC;MAC7CC,GAAG,CAACI,GAAG,GAAGN,GAAG;IACjB;EAAC;IAAA9C,GAAA;IAAAC,KAAA,EAED,SAAOoD,gBAAgBA,CAACpD,KAAK,EAAEqD,aAAa,EAAuB;MAAA,IAArBC,YAAY,GAAAC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,IAAI;MAC7D,OAAO3D,UAAU,CAACY,aAAa,CAACR,KAAK,CAAC,GAAGW,UAAU,CAACX,KAAK,CAAC,CAACwD,OAAO,CAACH,aAAa,CAAC,GAAGC,YAAY;IACpG;EAAC;AAAA;;;;;;;;;;AC3J8B;AACU;AAAA,IAExBK,GAAG;EAAA,SAAAA,IAAA;IAAA9D,kBAAA,OAAA8D,GAAA;EAAA;EAAA,OAAA7D,eAAA,CAAA6D,GAAA;IAAA5D,GAAA;IAAAC,KAAA,EACpB,SAAO4D,4CAA4CA,CAACC,OAAO,EAAE/C,IAAI,EAAE;MAC/D6C,GAAG,CAACG,+BAA+B,CAACD,OAAO,EAAE/C,IAAI,CAAC;MAClD6C,GAAG,CAACI,gCAAgC,CAACF,OAAO,EAAE/C,IAAI,CAAC;IACvD;EAAC;IAAAf,GAAA;IAAAC,KAAA,EACD,SAAO8D,+BAA+BA,CAACD,OAAO,EAAE/C,IAAI,EAAE;MAClD+C,OAAO,CAACG,YAAY,CAACC,gBAAgB,EAAEnD,IAAI,CAAC;IAChD;EAAC;IAAAf,GAAA;IAAAC,KAAA,EACD,SAAO+D,gCAAgCA,CAACF,OAAO,EAAE/C,IAAI,EAAE;MACnD+C,OAAO,CAACG,YAAY,CAACE,iBAAiB,EAAEpD,IAAI,CAAC;IACjD;EAAC;IAAAf,GAAA;IAAAC,KAAA,EACD,SAAOmE,kCAAkCA,CAACN,OAAO,EAAE/C,IAAI,EAAE;MACrD6C,GAAG,CAACS,sBAAsB,CAACP,OAAO,EAAE/C,IAAI,CAAC;MACzC6C,GAAG,CAACI,gCAAgC,CAACF,OAAO,EAAE/C,IAAI,CAAC;IACvD;EAAC;IAAAf,GAAA;IAAAC,KAAA,EACD,SAAOoE,sBAAsBA,CAACP,OAAO,EAAE/C,IAAI,EAAE;MACzC6C,GAAG,CAACG,+BAA+B,CAACD,OAAO,EAAE/C,IAAI,CAAC;MAClD,IAAIuD,OAAO,GAAGR,OAAO,CAACQ,OAAO,CAACC,WAAW,CAAC,CAAC;MAC3C,IAAIT,OAAO,CAACU,IAAI,KAAK,UAAU,EAAE;QAC7BV,OAAO,CAACW,OAAO,GAAG1D,IAAI;MAC1B,CAAC,MACI,IAAIuD,OAAO,KAAK,OAAO,IAAIA,OAAO,KAAK,UAAU,IAAIA,OAAO,KAAK,QAAQ,EAAE;QAC5ER,OAAO,CAAC7D,KAAK,GAAGc,IAAI;MACxB,CAAC,MACI;QACD+C,OAAO,CAACY,WAAW,GAAG3D,IAAI;MAC9B;IACJ;EAAC;IAAAf,GAAA;IAAAC,KAAA,EACD,SAAO0E,6BAA6BA,CAACb,OAAO,EAAE/C,IAAI,EAAE;MAChD,IAAIlB,UAAU,CAACK,OAAO,CAAC0D,GAAG,CAACgB,sBAAsB,CAACd,OAAO,CAAC,CAAC,EAAE;QACzDF,GAAG,CAACS,sBAAsB,CAACP,OAAO,EAAE/C,IAAI,CAAC;MAC7C;IACJ;EAAC;IAAAf,GAAA;IAAAC,KAAA,EACD,SAAO4E,kBAAkBA,CAACf,OAAO,EAAE;MAC/B,OAAOA,OAAO,CAACgB,OAAO,CAAC,IAAI,CAAC;IAChC;EAAC;IAAA9E,GAAA;IAAAC,KAAA,EACD,SAAO8E,iBAAiBA,CAACjB,OAAO,EAAEkB,OAAO,EAAE;MACvC,IAAIC,QAAQ,GAAGpF,UAAU,CAACK,OAAO,CAAC8E,OAAO,CAAC,GAAG,IAAI,GAAG,KAAK,GAAGA,OAAO;MACnE,OAAOlB,OAAO,CAACgB,OAAO,CAACG,QAAQ,CAAC;IACpC;EAAC;IAAAjF,GAAA;IAAAC,KAAA,EACD,SAAOiF,gBAAgBA,CAACpB,OAAO,EAAEqB,cAAc,EAAE;MAC7C,IAAIC,MAAM,GAAGtB,OAAO,CAACuB,aAAa;MAClC,OAAOD,MAAM,EAAE;QACX,IAAIA,MAAM,CAACE,OAAO,CAACH,cAAc,CAAC,EAAE;UAChC,OAAOC,MAAM;QACjB;QACAA,MAAM,GAAGA,MAAM,CAACC,aAAa;MACjC;MACA,OAAO,IAAI;IACb;EAAC;IAAArF,GAAA;IAAAC,KAAA,EACH,SAAOsF,gBAAgBA,CAACC,WAAW,EAAE;MACjC,IAAIC,QAAQ,GAAG,CAAC,CAAC;MACjB,IAAI5F,UAAU,CAACK,OAAO,CAACsF,WAAW,CAAC,EAAE;QACjC,OAAOC,QAAQ;MACnB;MACA,IAAIC,gBAAgB,GAAGF,WAAW,CAAC5D,gBAAgB,CAAC,GAAG,GAAG+D,kBAAkB,GAAG,GAAG,GAAGC,UAAU,CAAC;MAChG,IAAIC,eAAe,EAAEC,WAAW,EAAEC,SAAS,EAAEC,MAAM;MACnD,KAAK,IAAIC,WAAW,GAAG,CAAC,EAAEA,WAAW,GAAGP,gBAAgB,CAACrF,MAAM,EAAE4F,WAAW,EAAE,EAAE;QAC5EJ,eAAe,GAAGH,gBAAgB,CAACO,WAAW,CAAC;QAC/CH,WAAW,GAAGD,eAAe,CAACK,aAAa,CAAC,OAAO,CAAC;QACpDH,SAAS,GAAGD,WAAW,CAACK,YAAY,CAAC,KAAK,CAAC;QAC3CH,MAAM,GAAGH,eAAe,CAACK,aAAa,KAAAE,MAAA,CAAKL,SAAS,CAAE,CAAC;QACvDN,QAAQ,CAACM,SAAS,CAAC,GAAGnC,GAAG,CAACgB,sBAAsB,CAACoB,MAAM,CAAC;MAC5D;MACA,OAAOP,QAAQ;IACnB;EAAC;IAAAzF,GAAA;IAAAC,KAAA,EACD,SAAOoG,YAAYA,CAACC,UAAU,EAAE;MAC5B,IAAIC,QAAQ,GAAG5E,QAAQ,CAACuE,aAAa,CAACM,UAAU,CAAC;MACjDD,QAAQ,CAACE,SAAS,GAAGH,UAAU;IACnC;EAAC;IAAAtG,GAAA;IAAAC,KAAA,EACD,SAAOyG,kBAAkBA,CAAA,EAAG;MACxB,IAAMC,eAAe,GAAGhF,QAAQ,CAACiF,IAAI,CAACC,OAAO,CAACC,IAAI;MAClD,OAAOH,eAAe;IAC1B;EAAC;IAAA3G,GAAA;IAAAC,KAAA,EACD,SAAO8G,4BAA4BA,CAACjD,OAAO,EAAE;MACzCA,OAAO,CAACG,YAAY,CAACC,gBAAgB,EAAEN,GAAG,CAACgB,sBAAsB,CAACd,OAAO,CAAC,CAAC;MAC3E,OAAOF,GAAG,CAACoD,cAAc,CAAClD,OAAO,CAAC;IACtC;EAAC;IAAA9D,GAAA;IAAAC,KAAA,EACD,SAAO+G,cAAcA,CAAClD,OAAO,EAAE;MAC3B,IAAImD,OAAO,GAAGnD,OAAO,CAACqC,YAAY,CAAChC,iBAAiB,CAAC,IAAIL,OAAO,CAACqC,YAAY,CAACjC,gBAAgB,CAAC;MAC/FN,GAAG,CAACsD,kBAAkB,CAACpD,OAAO,EAAEmD,OAAO,CAAC;MACxC,OAAOA,OAAO;IAClB;EAAC;IAAAjH,GAAA;IAAAC,KAAA,EACD,SAAOiH,kBAAkBA,CAACpD,OAAO,EAAEmD,OAAO,EAAE;MACxCrD,GAAG,CAACuD,6BAA6B,CAACrD,OAAO,EAAEmD,OAAO,EAAEG,SAAS,CAAC;IAClE;EAAC;IAAApH,GAAA;IAAAC,KAAA,EACD,SAAOkH,6BAA6BA,CAACrD,OAAO,EAAEuD,cAAc,EAAEC,IAAI,EAAE;MAChE,IAAIC,qBAAqB,GAAGzD,OAAO,CAAC0D,SAAS,CAACC,QAAQ,CAACH,IAAI,CAAC;MAC5D,IAAID,cAAc,IAAIE,qBAAqB,EAAE;MAC7C,IAAIF,cAAc,EAAE;QAChBvD,OAAO,CAAC0D,SAAS,CAACE,GAAG,CAACJ,IAAI,CAAC;MAC/B,CAAC,MAAM;QACHxD,OAAO,CAAC0D,SAAS,CAACG,MAAM,CAACL,IAAI,CAAC;MAClC;IACJ;EAAC;IAAAtH,GAAA;IAAAC,KAAA,EACD,SAAO2H,yBAAyBA,CAACC,SAAS,EAAE;MACxC,IAAIA,SAAS,IAAI,IAAI,EAAE,OAAO,KAAK;MACnC,OAAOA,SAAS,CAAC3B,aAAa,CAAC,GAAG,GAAGkB,SAAS,CAAC,IAAI,IAAI;IAC3D;EAAC;IAAApH,GAAA;IAAAC,KAAA,EACD,SAAO6H,mCAAmCA,CAACD,SAAS,EAAE;MAClD,IAAIA,SAAS,IAAI,IAAI,IAAIA,SAAS,CAACL,SAAS,CAACC,QAAQ,CAACM,UAAU,CAAC,EAAE,OAAO,KAAK;MAC/E,OAAOF,SAAS,CAAC3B,aAAa,CAAC,GAAG,GAAGkB,SAAS,GAAG,QAAQ,GAAGW,UAAU,GAAG,KAAK,GAAGA,UAAU,GAAG,KAAK,CAAC,IAAI,IAAI;IAChH;EAAC;IAAA/H,GAAA;IAAAC,KAAA,EACD,SAAO2E,sBAAsBA,CAACd,OAAO,EAAE;MACnC,IAAIkE,SAAS,GAAG,EAAE;MAElB,IAAI,CAACnI,UAAU,CAACK,OAAO,CAAC4D,OAAO,CAAC,EAAE;QAE9B,IAAIQ,OAAO,GAAGR,OAAO,CAACQ,OAAO,CAACC,WAAW,CAAC,CAAC;QAC3C,IAAIT,OAAO,CAACU,IAAI,KAAK,UAAU,EAAE;UAC7BwD,SAAS,GAAGlE,OAAO,CAACW,OAAO;QAC/B;QACA;AACZ;AACA;AACA;AACA,UAJY,KAKK,IAAIH,OAAO,KAAK,OAAO,IAAIA,OAAO,KAAK,UAAU,IAAIA,OAAO,KAAK,QAAQ,EAAE;UAC5E0D,SAAS,GAAGlE,OAAO,CAAC7D,KAAK;QAC7B,CAAC,MACI,IAAI6D,OAAO,CAAC0D,SAAS,CAACC,QAAQ,CAACQ,UAAU,CAAC,IAAInE,OAAO,CAAC0D,SAAS,CAACC,QAAQ,CAACS,UAAU,CAAC,EAAE;UAAE;UACzFF,SAAS,GAAGlE,OAAO,CAAC0D,SAAS,CAACC,QAAQ,CAACM,UAAU,CAAC;QACtD,CAAC,MACI,IAAIzD,OAAO,KAAK,IAAI,EAAE;UACvB0D,SAAS,GAAGpE,GAAG,CAACuE,+BAA+B,CAACrE,OAAO,CAAC;QAC5D,CAAC,MACI,IAAIQ,OAAO,IAAI,KAAK,IAAIR,OAAO,CAAC0D,SAAS,CAACC,QAAQ,CAACW,YAAY,CAAC,EAAE;UACnEJ,SAAS,GAAIlE,OAAO,CAAC0D,SAAS,CAACC,QAAQ,CAACY,aAAa,CAAE;QAC3D,CAAC,MACI;UACDL,SAAS,GAAGlE,OAAO,CAACY,WAAW;QACnC;MACJ;MAEA,IAAI7E,UAAU,CAACK,OAAO,CAAC8H,SAAS,CAAC,EAAEA,SAAS,GAAG,EAAE;MAEjD,OAAOA,SAAS;IACpB;EAAC;IAAAhI,GAAA;IAAAC,KAAA,EACD,SAAOkI,+BAA+BA,CAACrE,OAAO,EAAE;MAC5C;MACA,IAAIjE,UAAU,CAACK,OAAO,CAAC4D,OAAO,CAAC,EAAE,OAAO,IAAI;MAC5C,OAAOA,OAAO,CAACqC,YAAY,CAACjC,gBAAgB,CAAC;IACjD;EAAC;IAAAlE,GAAA;IAAAC,KAAA,EACD,SAAOqI,gCAAgCA,CAACxE,OAAO,EAAE;MAC7C,IAAIjE,UAAU,CAACK,OAAO,CAAC4D,OAAO,CAAC,EAAE,OAAO,IAAI;MAC5C,OAAOA,OAAO,CAACqC,YAAY,CAAChC,iBAAiB,CAAC;IAClD;IACA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EAjBI;IAAAnE,GAAA;IAAAC,KAAA,EAkBA,SAAOsI,eAAeA,CAACnD,MAAM,EAAEtB,OAAO,EAAE;MACpC;MACAsB,MAAM,CAACoD,SAAS,CAACpD,MAAM,CAACoD,SAAS,CAAC,CAAC,IAAI1E,OAAO,CAAC2E,MAAM,CAAC,CAAC,CAACC,GAAG,GAAGtD,MAAM,CAACqD,MAAM,CAAC,CAAC,CAACC,GAAG,CAAC,CAAC;IACvF;EAAC;IAAA1I,GAAA;IAAAC,KAAA,EACD,SAAO0I,oBAAoBA,CAACd,SAAS,EAAE/D,OAAO,EAAE;MAE5C,IAAI,OAAOpC,MAAM,KAAK,UAAU,EAAE;QAC9B,IAAImG,SAAS,YAAYnG,MAAM,EAAEmG,SAAS,GAAGA,SAAS,CAAC,CAAC,CAAC;QACzD,IAAI/D,OAAO,YAAYpC,MAAM,EAAEoC,OAAO,GAAGA,OAAO,CAAC,CAAC,CAAC;MACvD;MAEA,IAAI8E,eAAe,GAAGf,SAAS,CAACgB,qBAAqB,CAAC,CAAC;MACvD,IAAIC,aAAa,GAAGhF,OAAO,CAAC+E,qBAAqB,CAAC,CAAC;MAEnD,OACID,eAAe,CAACF,GAAG,IAAII,aAAa,CAACJ,GAAG,IACxCE,eAAe,CAACG,IAAI,IAAID,aAAa,CAACC,IAAI,IACxCD,aAAa,CAACJ,GAAG,GAAGI,aAAa,CAACE,MAAM,IAAMJ,eAAe,CAACF,GAAG,GAAGE,eAAe,CAACI,MAAQ,IAC5FF,aAAa,CAACC,IAAI,GAAGD,aAAa,CAACG,KAAK,IAAML,eAAe,CAACG,IAAI,GAAGH,eAAe,CAACK,KAAO;IAEtG;EAAC;IAAAjJ,GAAA;IAAAC,KAAA,EACD,SAAOiJ,UAAUA,CAACC,SAAS,EAAEC,SAAS,EAAE;MACpCC,KAAK,CAACF,SAAS,GAAG,IAAI,GAAGC,SAAS,CAAC;IACvC;EAAC;IAAApJ,GAAA;IAAAC,KAAA,EACD,SAAOqJ,sCAAsCA,CAAA,EAAG;MAC5C,OAAAC,eAAA,CAAAA,eAAA,KACKC,wBAAwB,EAAAD,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,KACpBE,sBAAsB,EAAG,CAACC,QAAQ,CAAC,GACnCC,uBAAuB,EAAG,CAACC,0BAA0B,CAAC,GACtDF,QAAQ,EAAG,uBAAuB,GAClCE,0BAA0B,EAAG,CAAC,IAElCC,oBAAoB,EAAAN,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,KAChBE,sBAAsB,EAAG,CAACC,QAAQ,CAAC,GACnCC,uBAAuB,EAAG,CAACG,sBAAsB,CAAC,GAClDJ,QAAQ,EAAG,kBAAkB,GAC7BI,sBAAsB,EAAG,CAAC;IAGvC;EAAC;IAAA9J,GAAA;IAAAC,KAAA,EACD,SAAO8J,YAAYA,CAACC,UAAU,EAAE;MAC5B,IAAInK,UAAU,CAACK,OAAO,CAAC8J,UAAU,CAAC,EAAEA,UAAU,GAAG;QAC7CC,IAAI,EAAE,QAAQ;QACdhK,KAAK,EAAE;MACX,CAAC;MACD,IAAIiK,MAAM,GAAGvI,QAAQ,CAACwI,aAAa,CAAC,QAAQ,CAAC;MAC7CD,MAAM,CAACjK,KAAK,GAAG+J,UAAU,CAAC/J,KAAK;MAC/BiK,MAAM,CAACxF,WAAW,GAAGsF,UAAU,CAACC,IAAI;MACpCC,MAAM,CAACE,QAAQ,GAAGJ,UAAU,CAACI,QAAQ;MACrC,OAAOF,MAAM;IACjB;EAAC;IAAAlK,GAAA;IAAAC,KAAA,EAED,SAAOoK,UAAUA,CAACJ,IAAI,EAAE;MACpB,IAAMK,GAAG,GAAG3I,QAAQ,CAACwI,aAAa,CAAC,KAAK,CAAC;MACzCG,GAAG,CAAC5F,WAAW,GAAGuF,IAAI;MACtB,OAAOK,GAAG,CAAC7D,SAAS;IACxB;EAAC;IAAAzG,GAAA;IAAAC,KAAA,EACD,SAAOsK,YAAYA,CAACC,IAAI,EAAE;MACtB,IAAMF,GAAG,GAAG3I,QAAQ,CAACwI,aAAa,CAAC,KAAK,CAAC;MACzCG,GAAG,CAAC7D,SAAS,GAAG+D,IAAI;MACpB,OAAOF,GAAG,CAAC5F,WAAW,IAAI4F,GAAG,CAACG,SAAS,IAAI,EAAE;IACjD;EAAC;AAAA;;;;;;;;;ICrOgBC,MAAM;EAAA,SAAAA,OAAA;IAAA5K,qBAAA,OAAA4K,MAAA;EAAA;EAAA,OAAA3K,kBAAA,CAAA2K,MAAA;IAAA1K,GAAA;IAAAC,KAAA,EACvB,SAAO0K,sBAAsBA,CAACC,eAAe,EAAEC,gBAAgB,EAAEC,YAAY,EAAE;MAC3EnJ,QAAQ,CAACC,gBAAgB,CAACgJ,eAAe,CAAC,CAACG,OAAO,CAAC,UAASjH,OAAO,EAAE;QACjE,IAAIA,OAAO,CAAC0D,SAAS,CAACC,QAAQ,CAACoD,gBAAgB,CAAC,EAAE;QAClDC,YAAY,CAAChH,OAAO,CAAC;QACrBA,OAAO,CAAC0D,SAAS,CAACE,GAAG,CAACmD,gBAAgB,CAAC;MAC3C,CAAC,CAAC;IACN;EAAC;IAAA7K,GAAA;IAAAC,KAAA,EACD,SAAO+K,kBAAkBA,CAACC,SAAS,EAAEhG,QAAQ,EAAElC,QAAQ,EAAE;MACrD2H,MAAM,CAACC,sBAAsB,CAAC1F,QAAQ,EAAEiG,eAAe,EAAE,UAACpH,OAAO,EAAK;QAClEA,OAAO,CAACqH,gBAAgB,CAACF,SAAS,EAAE,UAACG,KAAK,EAAK;UAC3CA,KAAK,CAACC,eAAe,CAAC,CAAC;UACvBtI,QAAQ,CAACqI,KAAK,EAAEtH,OAAO,CAAC;QAC5B,CAAC,CAAC;MACN,CAAC,CAAC;IACN;EAAC;AAAA;;;;;;;;;ACfoC;AAAA,IAEpBwH,YAAY;EAAA,SAAAA,aAAA;IAAAxL,4BAAA,OAAAwL,YAAA;EAAA;EAAA,OAAAvL,yBAAA,CAAAuL,YAAA;IAAAtL,GAAA;IAAAC,KAAA;IACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAEI,SAAOsL,eAAeA,CAACvL,GAAG,EAAE;MACxB,OAAOiB,IAAI,CAACuK,KAAK,CAACC,YAAY,CAACC,OAAO,CAAC1L,GAAG,CAAC,CAAC;IAChD;EAAC;IAAAA,GAAA;IAAAC,KAAA,EAED,SAAO0L,eAAeA,CAAC3L,GAAG,EAAE4L,KAAK,EAAE;MAC/BH,YAAY,CAACI,OAAO,CAAC7L,GAAG,EAAEiB,IAAI,CAACC,SAAS,CAAC0K,KAAK,CAAC,CAAC;IACpD;;IAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EAVA;AAAA;;;;+CCjDA,qJAAAE,mBAAA,YAAAA,oBAAA,WAAAC,CAAA,SAAAC,CAAA,EAAAD,CAAA,OAAAE,CAAA,GAAAzJ,MAAA,CAAA0J,SAAA,EAAAC,CAAA,GAAAF,CAAA,CAAAG,cAAA,EAAAC,CAAA,GAAA7J,MAAA,CAAA8J,cAAA,cAAAN,CAAA,EAAAD,CAAA,EAAAE,CAAA,IAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,CAAAhM,KAAA,KAAAO,CAAA,wBAAA+L,MAAA,GAAAA,MAAA,OAAAC,CAAA,GAAAhM,CAAA,CAAAiM,QAAA,kBAAAC,CAAA,GAAAlM,CAAA,CAAAmM,aAAA,uBAAAC,CAAA,GAAApM,CAAA,CAAAqM,WAAA,8BAAAC,OAAAd,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAzJ,MAAA,CAAA8J,cAAA,CAAAN,CAAA,EAAAD,CAAA,IAAA9L,KAAA,EAAAgM,CAAA,EAAAc,UAAA,MAAAC,YAAA,MAAAC,QAAA,SAAAjB,CAAA,CAAAD,CAAA,WAAAe,MAAA,mBAAAd,CAAA,IAAAc,MAAA,YAAAA,OAAAd,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,gBAAAiB,KAAAlB,CAAA,EAAAD,CAAA,EAAAE,CAAA,EAAAE,CAAA,QAAA3L,CAAA,GAAAuL,CAAA,IAAAA,CAAA,CAAAG,SAAA,YAAAiB,SAAA,GAAApB,CAAA,GAAAoB,SAAA,EAAAX,CAAA,GAAAhK,MAAA,CAAA4K,MAAA,CAAA5M,CAAA,CAAA0L,SAAA,GAAAQ,CAAA,OAAAW,OAAA,CAAAlB,CAAA,gBAAAE,CAAA,CAAAG,CAAA,eAAAvM,KAAA,EAAAqN,gBAAA,CAAAtB,CAAA,EAAAC,CAAA,EAAAS,CAAA,MAAAF,CAAA,aAAAe,SAAAvB,CAAA,EAAAD,CAAA,EAAAE,CAAA,mBAAAzH,IAAA,YAAAgJ,GAAA,EAAAxB,CAAA,CAAAyB,IAAA,CAAA1B,CAAA,EAAAE,CAAA,cAAAD,CAAA,aAAAxH,IAAA,WAAAgJ,GAAA,EAAAxB,CAAA,QAAAD,CAAA,CAAAmB,IAAA,GAAAA,IAAA,MAAAQ,CAAA,qBAAAC,CAAA,qBAAAC,CAAA,gBAAAC,CAAA,gBAAAC,CAAA,gBAAAX,UAAA,cAAAY,kBAAA,cAAAC,2BAAA,SAAAC,CAAA,OAAAnB,MAAA,CAAAmB,CAAA,EAAAzB,CAAA,qCAAAtK,CAAA,GAAAM,MAAA,CAAA0L,cAAA,EAAAC,CAAA,GAAAjM,CAAA,IAAAA,CAAA,CAAAA,CAAA,CAAAkM,MAAA,QAAAD,CAAA,IAAAA,CAAA,KAAAlC,CAAA,IAAAE,CAAA,CAAAsB,IAAA,CAAAU,CAAA,EAAA3B,CAAA,MAAAyB,CAAA,GAAAE,CAAA,OAAAE,CAAA,GAAAL,0BAAA,CAAA9B,SAAA,GAAAiB,SAAA,CAAAjB,SAAA,GAAA1J,MAAA,CAAA4K,MAAA,CAAAa,CAAA,YAAAK,sBAAAtC,CAAA,gCAAAjB,OAAA,WAAAgB,CAAA,IAAAe,MAAA,CAAAd,CAAA,EAAAD,CAAA,YAAAC,CAAA,gBAAAuC,OAAA,CAAAxC,CAAA,EAAAC,CAAA,sBAAAwC,cAAAxC,CAAA,EAAAD,CAAA,aAAA0C,OAAAxC,CAAA,EAAAI,CAAA,EAAA7L,CAAA,EAAAgM,CAAA,QAAAE,CAAA,GAAAa,QAAA,CAAAvB,CAAA,CAAAC,CAAA,GAAAD,CAAA,EAAAK,CAAA,mBAAAK,CAAA,CAAAlI,IAAA,QAAAoI,CAAA,GAAAF,CAAA,CAAAc,GAAA,EAAAE,CAAA,GAAAd,CAAA,CAAA3M,KAAA,SAAAyN,CAAA,gBAAAgB,UAAA,CAAAhB,CAAA,KAAAvB,CAAA,CAAAsB,IAAA,CAAAC,CAAA,eAAA3B,CAAA,CAAA4C,OAAA,CAAAjB,CAAA,CAAAkB,OAAA,EAAAC,IAAA,WAAA7C,CAAA,IAAAyC,MAAA,SAAAzC,CAAA,EAAAxL,CAAA,EAAAgM,CAAA,gBAAAR,CAAA,IAAAyC,MAAA,UAAAzC,CAAA,EAAAxL,CAAA,EAAAgM,CAAA,QAAAT,CAAA,CAAA4C,OAAA,CAAAjB,CAAA,EAAAmB,IAAA,WAAA7C,CAAA,IAAAY,CAAA,CAAA3M,KAAA,GAAA+L,CAAA,EAAAxL,CAAA,CAAAoM,CAAA,gBAAAZ,CAAA,WAAAyC,MAAA,UAAAzC,CAAA,EAAAxL,CAAA,EAAAgM,CAAA,SAAAA,CAAA,CAAAE,CAAA,CAAAc,GAAA,SAAAvB,CAAA,EAAAI,CAAA,oBAAApM,KAAA,WAAAA,MAAA+L,CAAA,EAAAG,CAAA,aAAA2C,2BAAA,eAAA/C,CAAA,WAAAA,CAAA,EAAAE,CAAA,IAAAwC,MAAA,CAAAzC,CAAA,EAAAG,CAAA,EAAAJ,CAAA,EAAAE,CAAA,gBAAAA,CAAA,GAAAA,CAAA,GAAAA,CAAA,CAAA4C,IAAA,CAAAC,0BAAA,EAAAA,0BAAA,IAAAA,0BAAA,qBAAAxB,iBAAAvB,CAAA,EAAAE,CAAA,EAAAE,CAAA,QAAAE,CAAA,GAAAqB,CAAA,mBAAAlN,CAAA,EAAAgM,CAAA,QAAAH,CAAA,KAAAuB,CAAA,QAAAmB,KAAA,sCAAA1C,CAAA,KAAAwB,CAAA,oBAAArN,CAAA,QAAAgM,CAAA,WAAAvM,KAAA,EAAA+L,CAAA,EAAAgD,IAAA,eAAA7C,CAAA,CAAA8C,MAAA,GAAAzO,CAAA,EAAA2L,CAAA,CAAAqB,GAAA,GAAAhB,CAAA,UAAAE,CAAA,GAAAP,CAAA,CAAA+C,QAAA,MAAAxC,CAAA,QAAAE,CAAA,GAAAuC,mBAAA,CAAAzC,CAAA,EAAAP,CAAA,OAAAS,CAAA,QAAAA,CAAA,KAAAkB,CAAA,mBAAAlB,CAAA,qBAAAT,CAAA,CAAA8C,MAAA,EAAA9C,CAAA,CAAAiD,IAAA,GAAAjD,CAAA,CAAAkD,KAAA,GAAAlD,CAAA,CAAAqB,GAAA,sBAAArB,CAAA,CAAA8C,MAAA,QAAA5C,CAAA,KAAAqB,CAAA,QAAArB,CAAA,GAAAwB,CAAA,EAAA1B,CAAA,CAAAqB,GAAA,EAAArB,CAAA,CAAAmD,iBAAA,CAAAnD,CAAA,CAAAqB,GAAA,uBAAArB,CAAA,CAAA8C,MAAA,IAAA9C,CAAA,CAAAoD,MAAA,WAAApD,CAAA,CAAAqB,GAAA,GAAAnB,CAAA,GAAAuB,CAAA,MAAAK,CAAA,GAAAV,QAAA,CAAAxB,CAAA,EAAAE,CAAA,EAAAE,CAAA,oBAAA8B,CAAA,CAAAzJ,IAAA,QAAA6H,CAAA,GAAAF,CAAA,CAAA6C,IAAA,GAAAnB,CAAA,GAAAF,CAAA,EAAAM,CAAA,CAAAT,GAAA,KAAAM,CAAA,qBAAA7N,KAAA,EAAAgO,CAAA,CAAAT,GAAA,EAAAwB,IAAA,EAAA7C,CAAA,CAAA6C,IAAA,kBAAAf,CAAA,CAAAzJ,IAAA,KAAA6H,CAAA,GAAAwB,CAAA,EAAA1B,CAAA,CAAA8C,MAAA,YAAA9C,CAAA,CAAAqB,GAAA,GAAAS,CAAA,CAAAT,GAAA,mBAAA2B,oBAAApD,CAAA,EAAAE,CAAA,QAAAE,CAAA,GAAAF,CAAA,CAAAgD,MAAA,EAAA5C,CAAA,GAAAN,CAAA,CAAAU,QAAA,CAAAN,CAAA,OAAAE,CAAA,KAAAL,CAAA,SAAAC,CAAA,CAAAiD,QAAA,qBAAA/C,CAAA,IAAAJ,CAAA,CAAAU,QAAA,eAAAR,CAAA,CAAAgD,MAAA,aAAAhD,CAAA,CAAAuB,GAAA,GAAAxB,CAAA,EAAAmD,mBAAA,CAAApD,CAAA,EAAAE,CAAA,eAAAA,CAAA,CAAAgD,MAAA,kBAAA9C,CAAA,KAAAF,CAAA,CAAAgD,MAAA,YAAAhD,CAAA,CAAAuB,GAAA,OAAAgC,SAAA,uCAAArD,CAAA,iBAAA2B,CAAA,MAAAtN,CAAA,GAAA+M,QAAA,CAAAlB,CAAA,EAAAN,CAAA,CAAAU,QAAA,EAAAR,CAAA,CAAAuB,GAAA,mBAAAhN,CAAA,CAAAgE,IAAA,SAAAyH,CAAA,CAAAgD,MAAA,YAAAhD,CAAA,CAAAuB,GAAA,GAAAhN,CAAA,CAAAgN,GAAA,EAAAvB,CAAA,CAAAiD,QAAA,SAAApB,CAAA,MAAAtB,CAAA,GAAAhM,CAAA,CAAAgN,GAAA,SAAAhB,CAAA,GAAAA,CAAA,CAAAwC,IAAA,IAAA/C,CAAA,CAAAF,CAAA,CAAA0D,UAAA,IAAAjD,CAAA,CAAAvM,KAAA,EAAAgM,CAAA,CAAAyD,IAAA,GAAA3D,CAAA,CAAA4D,OAAA,eAAA1D,CAAA,CAAAgD,MAAA,KAAAhD,CAAA,CAAAgD,MAAA,WAAAhD,CAAA,CAAAuB,GAAA,GAAAxB,CAAA,GAAAC,CAAA,CAAAiD,QAAA,SAAApB,CAAA,IAAAtB,CAAA,IAAAP,CAAA,CAAAgD,MAAA,YAAAhD,CAAA,CAAAuB,GAAA,OAAAgC,SAAA,sCAAAvD,CAAA,CAAAiD,QAAA,SAAApB,CAAA,cAAA8B,aAAA5D,CAAA,QAAAD,CAAA,KAAA8D,MAAA,EAAA7D,CAAA,YAAAA,CAAA,KAAAD,CAAA,CAAA+D,QAAA,GAAA9D,CAAA,WAAAA,CAAA,KAAAD,CAAA,CAAAgE,UAAA,GAAA/D,CAAA,KAAAD,CAAA,CAAAiE,QAAA,GAAAhE,CAAA,WAAAiE,UAAA,CAAAC,IAAA,CAAAnE,CAAA,cAAAoE,cAAAnE,CAAA,QAAAD,CAAA,GAAAC,CAAA,CAAAoE,UAAA,QAAArE,CAAA,CAAAvH,IAAA,oBAAAuH,CAAA,CAAAyB,GAAA,EAAAxB,CAAA,CAAAoE,UAAA,GAAArE,CAAA,aAAAsB,QAAArB,CAAA,SAAAiE,UAAA,MAAAJ,MAAA,aAAA7D,CAAA,CAAAjB,OAAA,CAAA6E,YAAA,cAAAS,KAAA,iBAAAjC,OAAArC,CAAA,QAAAA,CAAA,WAAAA,CAAA,QAAAE,CAAA,GAAAF,CAAA,CAAAS,CAAA,OAAAP,CAAA,SAAAA,CAAA,CAAAwB,IAAA,CAAA1B,CAAA,4BAAAA,CAAA,CAAA2D,IAAA,SAAA3D,CAAA,OAAApL,KAAA,CAAAoL,CAAA,CAAA1L,MAAA,SAAAgM,CAAA,OAAA7L,CAAA,YAAAkP,KAAA,aAAArD,CAAA,GAAAN,CAAA,CAAA1L,MAAA,OAAA8L,CAAA,CAAAsB,IAAA,CAAA1B,CAAA,EAAAM,CAAA,UAAAqD,IAAA,CAAAzP,KAAA,GAAA8L,CAAA,CAAAM,CAAA,GAAAqD,IAAA,CAAAV,IAAA,OAAAU,IAAA,SAAAA,IAAA,CAAAzP,KAAA,GAAA+L,CAAA,EAAA0D,IAAA,CAAAV,IAAA,OAAAU,IAAA,YAAAlP,CAAA,CAAAkP,IAAA,GAAAlP,CAAA,gBAAAgP,SAAA,CAAAd,UAAA,CAAA3C,CAAA,kCAAAgC,iBAAA,CAAA7B,SAAA,GAAA8B,0BAAA,EAAA3B,CAAA,CAAAgC,CAAA,mBAAApO,KAAA,EAAA+N,0BAAA,EAAAhB,YAAA,SAAAX,CAAA,CAAA2B,0BAAA,mBAAA/N,KAAA,EAAA8N,iBAAA,EAAAf,YAAA,SAAAe,iBAAA,CAAAuC,WAAA,GAAAxD,MAAA,CAAAkB,0BAAA,EAAApB,CAAA,wBAAAb,CAAA,CAAAwE,mBAAA,aAAAvE,CAAA,QAAAD,CAAA,wBAAAC,CAAA,IAAAA,CAAA,CAAAwE,WAAA,WAAAzE,CAAA,KAAAA,CAAA,KAAAgC,iBAAA,6BAAAhC,CAAA,CAAAuE,WAAA,IAAAvE,CAAA,CAAA0E,IAAA,OAAA1E,CAAA,CAAA2E,IAAA,aAAA1E,CAAA,WAAAxJ,MAAA,CAAAmO,cAAA,GAAAnO,MAAA,CAAAmO,cAAA,CAAA3E,CAAA,EAAAgC,0BAAA,KAAAhC,CAAA,CAAA4E,SAAA,GAAA5C,0BAAA,EAAAlB,MAAA,CAAAd,CAAA,EAAAY,CAAA,yBAAAZ,CAAA,CAAAE,SAAA,GAAA1J,MAAA,CAAA4K,MAAA,CAAAiB,CAAA,GAAArC,CAAA,KAAAD,CAAA,CAAA8E,KAAA,aAAA7E,CAAA,aAAA4C,OAAA,EAAA5C,CAAA,OAAAsC,qBAAA,CAAAE,aAAA,CAAAtC,SAAA,GAAAY,MAAA,CAAA0B,aAAA,CAAAtC,SAAA,EAAAQ,CAAA,iCAAAX,CAAA,CAAAyC,aAAA,GAAAA,aAAA,EAAAzC,CAAA,CAAA+E,KAAA,aAAA9E,CAAA,EAAAC,CAAA,EAAAE,CAAA,EAAAE,CAAA,EAAA7L,CAAA,eAAAA,CAAA,KAAAA,CAAA,GAAAuQ,OAAA,OAAAvE,CAAA,OAAAgC,aAAA,CAAAtB,IAAA,CAAAlB,CAAA,EAAAC,CAAA,EAAAE,CAAA,EAAAE,CAAA,GAAA7L,CAAA,UAAAuL,CAAA,CAAAwE,mBAAA,CAAAtE,CAAA,IAAAO,CAAA,GAAAA,CAAA,CAAAkD,IAAA,GAAAb,IAAA,WAAA7C,CAAA,WAAAA,CAAA,CAAAgD,IAAA,GAAAhD,CAAA,CAAA/L,KAAA,GAAAuM,CAAA,CAAAkD,IAAA,WAAApB,qBAAA,CAAAD,CAAA,GAAAvB,MAAA,CAAAuB,CAAA,EAAAzB,CAAA,gBAAAE,MAAA,CAAAuB,CAAA,EAAA7B,CAAA,iCAAAM,MAAA,CAAAuB,CAAA,6DAAAtC,CAAA,CAAAtJ,IAAA,aAAAuJ,CAAA,QAAAD,CAAA,GAAAvJ,MAAA,CAAAwJ,CAAA,GAAAC,CAAA,gBAAAE,CAAA,IAAAJ,CAAA,EAAAE,CAAA,CAAAiE,IAAA,CAAA/D,CAAA,UAAAF,CAAA,CAAA+E,OAAA,aAAAtB,KAAA,WAAAzD,CAAA,CAAA5L,MAAA,SAAA2L,CAAA,GAAAC,CAAA,CAAAgF,GAAA,QAAAjF,CAAA,IAAAD,CAAA,SAAA2D,IAAA,CAAAzP,KAAA,GAAA+L,CAAA,EAAA0D,IAAA,CAAAV,IAAA,OAAAU,IAAA,WAAAA,IAAA,CAAAV,IAAA,OAAAU,IAAA,QAAA3D,CAAA,CAAAqC,MAAA,GAAAA,MAAA,EAAAf,OAAA,CAAAnB,SAAA,KAAAsE,WAAA,EAAAnD,OAAA,EAAAgD,KAAA,WAAAA,MAAAtE,CAAA,aAAAmF,IAAA,WAAAxB,IAAA,WAAAN,IAAA,QAAAC,KAAA,GAAArD,CAAA,OAAAgD,IAAA,YAAAE,QAAA,cAAAD,MAAA,gBAAAzB,GAAA,GAAAxB,CAAA,OAAAiE,UAAA,CAAAlF,OAAA,CAAAoF,aAAA,IAAApE,CAAA,WAAAE,CAAA,kBAAAA,CAAA,CAAAkF,MAAA,OAAAhF,CAAA,CAAAsB,IAAA,OAAAxB,CAAA,MAAAtL,KAAA,EAAAsL,CAAA,CAAAmF,KAAA,cAAAnF,CAAA,IAAAD,CAAA,MAAAqF,IAAA,WAAAA,KAAA,SAAArC,IAAA,WAAAhD,CAAA,QAAAiE,UAAA,IAAAG,UAAA,kBAAApE,CAAA,CAAAxH,IAAA,QAAAwH,CAAA,CAAAwB,GAAA,cAAA8D,IAAA,KAAAhC,iBAAA,WAAAA,kBAAAvD,CAAA,aAAAiD,IAAA,QAAAjD,CAAA,MAAAE,CAAA,kBAAAsF,OAAApF,CAAA,EAAAE,CAAA,WAAAG,CAAA,CAAAhI,IAAA,YAAAgI,CAAA,CAAAgB,GAAA,GAAAzB,CAAA,EAAAE,CAAA,CAAAyD,IAAA,GAAAvD,CAAA,EAAAE,CAAA,KAAAJ,CAAA,CAAAgD,MAAA,WAAAhD,CAAA,CAAAuB,GAAA,GAAAxB,CAAA,KAAAK,CAAA,aAAAA,CAAA,QAAA4D,UAAA,CAAA5P,MAAA,MAAAgM,CAAA,SAAAA,CAAA,QAAA7L,CAAA,QAAAyP,UAAA,CAAA5D,CAAA,GAAAG,CAAA,GAAAhM,CAAA,CAAA4P,UAAA,iBAAA5P,CAAA,CAAAqP,MAAA,SAAA0B,MAAA,aAAA/Q,CAAA,CAAAqP,MAAA,SAAAqB,IAAA,QAAAxE,CAAA,GAAAP,CAAA,CAAAsB,IAAA,CAAAjN,CAAA,eAAAoM,CAAA,GAAAT,CAAA,CAAAsB,IAAA,CAAAjN,CAAA,qBAAAkM,CAAA,IAAAE,CAAA,aAAAsE,IAAA,GAAA1Q,CAAA,CAAAsP,QAAA,SAAAyB,MAAA,CAAA/Q,CAAA,CAAAsP,QAAA,gBAAAoB,IAAA,GAAA1Q,CAAA,CAAAuP,UAAA,SAAAwB,MAAA,CAAA/Q,CAAA,CAAAuP,UAAA,cAAArD,CAAA,aAAAwE,IAAA,GAAA1Q,CAAA,CAAAsP,QAAA,SAAAyB,MAAA,CAAA/Q,CAAA,CAAAsP,QAAA,qBAAAlD,CAAA,QAAAmC,KAAA,qDAAAmC,IAAA,GAAA1Q,CAAA,CAAAuP,UAAA,SAAAwB,MAAA,CAAA/Q,CAAA,CAAAuP,UAAA,YAAAR,MAAA,WAAAA,OAAAvD,CAAA,EAAAD,CAAA,aAAAE,CAAA,QAAAgE,UAAA,CAAA5P,MAAA,MAAA4L,CAAA,SAAAA,CAAA,QAAAI,CAAA,QAAA4D,UAAA,CAAAhE,CAAA,OAAAI,CAAA,CAAAwD,MAAA,SAAAqB,IAAA,IAAA/E,CAAA,CAAAsB,IAAA,CAAApB,CAAA,wBAAA6E,IAAA,GAAA7E,CAAA,CAAA0D,UAAA,QAAAvP,CAAA,GAAA6L,CAAA,aAAA7L,CAAA,iBAAAwL,CAAA,mBAAAA,CAAA,KAAAxL,CAAA,CAAAqP,MAAA,IAAA9D,CAAA,IAAAA,CAAA,IAAAvL,CAAA,CAAAuP,UAAA,KAAAvP,CAAA,cAAAgM,CAAA,GAAAhM,CAAA,GAAAA,CAAA,CAAA4P,UAAA,cAAA5D,CAAA,CAAAhI,IAAA,GAAAwH,CAAA,EAAAQ,CAAA,CAAAgB,GAAA,GAAAzB,CAAA,EAAAvL,CAAA,SAAAyO,MAAA,gBAAAS,IAAA,GAAAlP,CAAA,CAAAuP,UAAA,EAAAjC,CAAA,SAAA0D,QAAA,CAAAhF,CAAA,MAAAgF,QAAA,WAAAA,SAAAxF,CAAA,EAAAD,CAAA,oBAAAC,CAAA,CAAAxH,IAAA,QAAAwH,CAAA,CAAAwB,GAAA,qBAAAxB,CAAA,CAAAxH,IAAA,mBAAAwH,CAAA,CAAAxH,IAAA,QAAAkL,IAAA,GAAA1D,CAAA,CAAAwB,GAAA,gBAAAxB,CAAA,CAAAxH,IAAA,SAAA8M,IAAA,QAAA9D,GAAA,GAAAxB,CAAA,CAAAwB,GAAA,OAAAyB,MAAA,kBAAAS,IAAA,yBAAA1D,CAAA,CAAAxH,IAAA,IAAAuH,CAAA,UAAA2D,IAAA,GAAA3D,CAAA,GAAA+B,CAAA,KAAA2D,MAAA,WAAAA,OAAAzF,CAAA,aAAAD,CAAA,QAAAkE,UAAA,CAAA5P,MAAA,MAAA0L,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAgE,UAAA,CAAAlE,CAAA,OAAAE,CAAA,CAAA8D,UAAA,KAAA/D,CAAA,cAAAwF,QAAA,CAAAvF,CAAA,CAAAmE,UAAA,EAAAnE,CAAA,CAAA+D,QAAA,GAAAG,aAAA,CAAAlE,CAAA,GAAA6B,CAAA,yBAAA4D,OAAA1F,CAAA,aAAAD,CAAA,QAAAkE,UAAA,CAAA5P,MAAA,MAAA0L,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAgE,UAAA,CAAAlE,CAAA,OAAAE,CAAA,CAAA4D,MAAA,KAAA7D,CAAA,QAAAG,CAAA,GAAAF,CAAA,CAAAmE,UAAA,kBAAAjE,CAAA,CAAA3H,IAAA,QAAA6H,CAAA,GAAAF,CAAA,CAAAqB,GAAA,EAAA2C,aAAA,CAAAlE,CAAA,YAAAI,CAAA,YAAA0C,KAAA,8BAAA4C,aAAA,WAAAA,cAAA5F,CAAA,EAAAE,CAAA,EAAAE,CAAA,gBAAA+C,QAAA,KAAAzC,QAAA,EAAA2B,MAAA,CAAArC,CAAA,GAAA0D,UAAA,EAAAxD,CAAA,EAAA0D,OAAA,EAAAxD,CAAA,oBAAA8C,MAAA,UAAAzB,GAAA,GAAAxB,CAAA,GAAA8B,CAAA,OAAA/B,CAAA;AAAA,SAAA6F,QAAA7F,CAAA,EAAAE,CAAA,QAAAD,CAAA,GAAAxJ,MAAA,CAAAC,IAAA,CAAAsJ,CAAA,OAAAvJ,MAAA,CAAAqP,qBAAA,QAAAxF,CAAA,GAAA7J,MAAA,CAAAqP,qBAAA,CAAA9F,CAAA,GAAAE,CAAA,KAAAI,CAAA,GAAAA,CAAA,CAAArG,MAAA,WAAAiG,CAAA,WAAAzJ,MAAA,CAAAsP,wBAAA,CAAA/F,CAAA,EAAAE,CAAA,EAAAc,UAAA,OAAAf,CAAA,CAAAkE,IAAA,CAAA6B,KAAA,CAAA/F,CAAA,EAAAK,CAAA,YAAAL,CAAA;AAAA,SAAAgG,cAAAjG,CAAA,aAAAE,CAAA,MAAAA,CAAA,GAAAzI,SAAA,CAAAnD,MAAA,EAAA4L,CAAA,UAAAD,CAAA,WAAAxI,SAAA,CAAAyI,CAAA,IAAAzI,SAAA,CAAAyI,CAAA,QAAAA,CAAA,OAAA2F,OAAA,CAAApP,MAAA,CAAAwJ,CAAA,OAAAjB,OAAA,WAAAkB,CAAA,IAAA1C,kBAAA,CAAAwC,CAAA,EAAAE,CAAA,EAAAD,CAAA,CAAAC,CAAA,SAAAzJ,MAAA,CAAAyP,yBAAA,GAAAzP,MAAA,CAAA0P,gBAAA,CAAAnG,CAAA,EAAAvJ,MAAA,CAAAyP,yBAAA,CAAAjG,CAAA,KAAA4F,OAAA,CAAApP,MAAA,CAAAwJ,CAAA,GAAAjB,OAAA,WAAAkB,CAAA,IAAAzJ,MAAA,CAAA8J,cAAA,CAAAP,CAAA,EAAAE,CAAA,EAAAzJ,MAAA,CAAAsP,wBAAA,CAAA9F,CAAA,EAAAC,CAAA,iBAAAF,CAAA;AAAA,SAAAxC,kBAAAA,CAAAwC,CAAA,EAAAE,CAAA,EAAAD,CAAA,YAAAC,CAAA,GAAAkG,iBAAA,CAAAlG,CAAA,MAAAF,CAAA,GAAAvJ,MAAA,CAAA8J,cAAA,CAAAP,CAAA,EAAAE,CAAA,IAAAhM,KAAA,EAAA+L,CAAA,EAAAe,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAlB,CAAA,CAAAE,CAAA,IAAAD,CAAA,EAAAD,CAAA;AAAA,SAAAqG,mBAAAjG,CAAA,EAAAH,CAAA,EAAAD,CAAA,EAAAE,CAAA,EAAAI,CAAA,EAAAG,CAAA,EAAAE,CAAA,cAAAlM,CAAA,GAAA2L,CAAA,CAAAK,CAAA,EAAAE,CAAA,GAAAE,CAAA,GAAApM,CAAA,CAAAP,KAAA,WAAAkM,CAAA,gBAAAJ,CAAA,CAAAI,CAAA,KAAA3L,CAAA,CAAAwO,IAAA,GAAAhD,CAAA,CAAAY,CAAA,IAAAmE,OAAA,CAAApC,OAAA,CAAA/B,CAAA,EAAAiC,IAAA,CAAA5C,CAAA,EAAAI,CAAA;AAAA,SAAAgG,kBAAAlG,CAAA,6BAAAH,CAAA,SAAAD,CAAA,GAAAvI,SAAA,aAAAuN,OAAA,WAAA9E,CAAA,EAAAI,CAAA,QAAAG,CAAA,GAAAL,CAAA,CAAA4F,KAAA,CAAA/F,CAAA,EAAAD,CAAA,YAAAuG,MAAAnG,CAAA,IAAAiG,kBAAA,CAAA5F,CAAA,EAAAP,CAAA,EAAAI,CAAA,EAAAiG,KAAA,EAAAC,MAAA,UAAApG,CAAA,cAAAoG,OAAApG,CAAA,IAAAiG,kBAAA,CAAA5F,CAAA,EAAAP,CAAA,EAAAI,CAAA,EAAAiG,KAAA,EAAAC,MAAA,WAAApG,CAAA,KAAAmG,KAAA;AAAA,SAAAxS,kBAAAA,CAAA0M,CAAA,EAAAL,CAAA,UAAAK,CAAA,YAAAL,CAAA,aAAAqD,SAAA;AAAA,SAAAgD,oBAAAA,CAAAzG,CAAA,EAAAE,CAAA,aAAAD,CAAA,MAAAA,CAAA,GAAAC,CAAA,CAAA5L,MAAA,EAAA2L,CAAA,UAAAK,CAAA,GAAAJ,CAAA,CAAAD,CAAA,GAAAK,CAAA,CAAAU,UAAA,GAAAV,CAAA,CAAAU,UAAA,QAAAV,CAAA,CAAAW,YAAA,kBAAAX,CAAA,KAAAA,CAAA,CAAAY,QAAA,QAAAzK,MAAA,CAAA8J,cAAA,CAAAP,CAAA,EAAAoG,iBAAA,CAAA9F,CAAA,CAAArM,GAAA,GAAAqM,CAAA;AAAA,SAAAtM,eAAAA,CAAAgM,CAAA,EAAAE,CAAA,EAAAD,CAAA,WAAAC,CAAA,IAAAuG,oBAAA,CAAAzG,CAAA,CAAAG,SAAA,EAAAD,CAAA,GAAAD,CAAA,IAAAwG,oBAAA,CAAAzG,CAAA,EAAAC,CAAA,GAAAxJ,MAAA,CAAA8J,cAAA,CAAAP,CAAA,iBAAAkB,QAAA,SAAAlB,CAAA;AAAA,SAAAoG,iBAAAA,CAAAnG,CAAA,QAAAxL,CAAA,GAAAiS,eAAA,CAAAzG,CAAA,gCAAA0C,UAAA,CAAAlO,CAAA,IAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAiS,eAAAA,CAAAzG,CAAA,EAAAC,CAAA,oBAAAyC,UAAA,CAAA1C,CAAA,MAAAA,CAAA,SAAAA,CAAA,MAAAD,CAAA,GAAAC,CAAA,CAAAO,MAAA,CAAAmG,WAAA,kBAAA3G,CAAA,QAAAvL,CAAA,GAAAuL,CAAA,CAAA0B,IAAA,CAAAzB,CAAA,EAAAC,CAAA,gCAAAyC,UAAA,CAAAlO,CAAA,UAAAA,CAAA,YAAAgP,SAAA,yEAAAvD,CAAA,GAAA0G,MAAA,GAAAC,MAAA,EAAA5G,CAAA;AAD2B;AAAA,IAEN6G,GAAG;EAAA,SAAAA,IAAA;IAAA/S,kBAAA,OAAA+S,GAAA;EAAA;EAAA,OAAA9S,eAAA,CAAA8S,GAAA;IAAA7S,GAAA;IAAAC,KAAA,EAEpB,SAAO6S,YAAYA,CAAA,EAAG;MAClB,OAAOnR,QAAQ,CAACuE,aAAa,CAAC6M,WAAW,CAAC,CAAC5M,YAAY,CAAC,SAAS,CAAC;IACtE;EAAC;IAAAnG,GAAA;IAAAC,KAAA;MAAA,IAAA+S,QAAA,GAAAX,iBAAA,cAAAvG,mBAAA,GAAA4E,IAAA,CAED,SAAAuC,QAAqBC,YAAY;QAAA,IAAAjE,MAAA;UAAAlO,IAAA;UAAAD,MAAA;UAAAgC,GAAA;UAAAqQ,SAAA;UAAAC,OAAA;UAAAC,QAAA;UAAAC,KAAA,GAAA9P,SAAA;QAAA,OAAAsI,mBAAA,GAAAoB,IAAA,UAAAqG,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAtC,IAAA,GAAAsC,QAAA,CAAA9D,IAAA;YAAA;cAAET,MAAM,GAAAqE,KAAA,CAAAjT,MAAA,QAAAiT,KAAA,QAAAlT,SAAA,GAAAkT,KAAA,MAAG,KAAK;cAAEvS,IAAI,GAAAuS,KAAA,CAAAjT,MAAA,QAAAiT,KAAA,QAAAlT,SAAA,GAAAkT,KAAA,MAAG,IAAI;cAAExS,MAAM,GAAAwS,KAAA,CAAAjT,MAAA,QAAAiT,KAAA,QAAAlT,SAAA,GAAAkT,KAAA,MAAG,IAAI;cACnExQ,GAAG,GAAG+P,GAAG,CAACY,cAAc,CAACP,YAAY,EAAEpS,MAAM,CAAC;cAC9CqS,SAAS,GAAGN,GAAG,CAACC,YAAY,CAAC,CAAC;cAC9BM,OAAO,GAAG;gBACZnE,MAAM,EAANA,MAAM;gBACNyE,OAAO,EAAAnK,kBAAA;kBACH,cAAc,EAAE;gBAAkB,GACjCoK,aAAa,EAAGR,SAAS;cAElC,CAAC;cAED,IAAIpS,IAAI,KAAKkO,MAAM,KAAK,MAAM,IAAIA,MAAM,KAAK,KAAK,IAAIA,MAAM,KAAK,OAAO,CAAC,EAAE;gBACvElO,IAAI,GAAAiR,aAAA,CAAAA,aAAA,KACGjR,IAAI,OAAAwI,kBAAA,KACNoK,aAAa,EAAGR,SAAS,EAC7B;gBACDC,OAAO,CAACxM,IAAI,GAAG3F,IAAI,CAACC,SAAS,CAACH,IAAI,CAAC;cACvC;cAACyS,QAAA,CAAAtC,IAAA;cAAAsC,QAAA,CAAA9D,IAAA;cAAA,OAG0BkE,KAAK,CAAC9Q,GAAG,EAAEsQ,OAAO,CAAC;YAAA;cAApCC,QAAQ,GAAAG,QAAA,CAAApE,IAAA;cAAA,IACTiE,QAAQ,CAACQ,EAAE;gBAAAL,QAAA,CAAA9D,IAAA;gBAAA;cAAA;cAAA,MACN,IAAIX,KAAK,wBAAA3I,MAAA,CAAwBiN,QAAQ,CAACS,MAAM,CAAE,CAAC;YAAA;cAAAN,QAAA,CAAA9D,IAAA;cAAA,OAEhD2D,QAAQ,CAACU,IAAI,CAAC,CAAC;YAAA;cAAA,OAAAP,QAAA,CAAAjE,MAAA,WAAAiE,QAAA,CAAApE,IAAA;YAAA;cAAAoE,QAAA,CAAAtC,IAAA;cAAAsC,QAAA,CAAAQ,EAAA,GAAAR,QAAA;cAE5BS,OAAO,CAACC,KAAK,CAAC,qBAAqB,EAAAV,QAAA,CAAAQ,EAAO,CAAC;cAAC,MAAAR,QAAA,CAAAQ,EAAA;YAAA;YAAA;cAAA,OAAAR,QAAA,CAAAnC,IAAA;UAAA;QAAA,GAAA4B,OAAA;MAAA,CAGnD;MAAA,SA7BYkB,OAAOA,CAAAC,EAAA;QAAA,OAAApB,QAAA,CAAAjB,KAAA,OAAAvO,SAAA;MAAA;MAAA,OAAP2Q,OAAO;IAAA;EAAA;IAAAnU,GAAA;IAAAC,KAAA,EA+BpB,SAAOwT,cAAcA,CAACY,IAAI,EAAiB;MAAA,IAAfvT,MAAM,GAAA0C,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,IAAI;MACrC,IAAI6Q,IAAI,IAAI,IAAI,EAAEA,IAAI,GAAGC,YAAY;MACrC,IAAIxR,GAAG,GAAG+P,GAAG,CAAC0B,eAAe,CAACC,SAAS,GAAGH,IAAI,EAAEvT,MAAM,CAAC;MACvD,OAAOgC,GAAG;IACd;EAAC;IAAA9C,GAAA;IAAAC,KAAA,EACD,SAAOsU,eAAeA,CAACzR,GAAG,EAAEhC,MAAM,EAAE;MAChC,IAAIA,MAAM,EAAE;QACRgC,GAAG,IAAI,GAAG,GAAG,IAAI2R,eAAe,CAAC3T,MAAM,CAAC,CAAC4T,QAAQ,CAAC,CAAC;MACvD;MACA,OAAO5R,GAAG;IACd;EAAC;IAAA9C,GAAA;IAAAC,KAAA,EACD,SAAO0U,OAAOA,CAAC7R,GAAG,EAAE;MAChB8R,MAAM,CAACC,QAAQ,CAACC,IAAI,GAAGhS,GAAG;IAC9B;EAAC;IAAA9C,GAAA;IAAAC,KAAA,EACD,SAAO8U,QAAQA,CAACV,IAAI,EAAiB;MAAA,IAAfvT,MAAM,GAAA0C,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,IAAI;MAC/B,IAAMV,GAAG,GAAG+P,GAAG,CAACY,cAAc,CAACY,IAAI,EAAEvT,MAAM,CAAC;MAC5C+R,GAAG,CAAC8B,OAAO,CAAC7R,GAAG,CAAC;IACpB;;IAEA;IACA;AACJ;AACA;AACA;AACA;AACA;AACA;EANI;IAAA9C,GAAA;IAAAC,KAAA;MAAA,IAAA+U,UAAA,GAAA3C,iBAAA,cAAAvG,mBAAA,GAAA4E,IAAA,CAOA,SAAAuE,SAAA;QAAA,IAAAlS,QAAA;QAAA,OAAA+I,mBAAA,GAAAoB,IAAA,UAAAgI,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAjE,IAAA,GAAAiE,SAAA,CAAAzF,IAAA;YAAA;cACQ3M,QAAQ,GAAG,CAAC,CAAC;cACjBA,QAAQ,CAACqS,YAAY,CAAC,GAAGxR,GAAG,CAAC8C,kBAAkB,CAAC,CAAC;cAACyO,SAAA,CAAAzF,IAAA;cAAA,OACrCmD,GAAG,CAACsB,OAAO,CAACkB,iBAAiB,EAAE,MAAM,EAAEtS,QAAQ,CAAC;YAAA;cAAA,OAAAoS,SAAA,CAAA5F,MAAA,WAAA4F,SAAA,CAAA/F,IAAA;YAAA;YAAA;cAAA,OAAA+F,SAAA,CAAA9D,IAAA;UAAA;QAAA,GAAA4D,QAAA;MAAA,CAChE;MAAA,SAJYK,SAASA,CAAA;QAAA,OAAAN,UAAA,CAAAjD,KAAA,OAAAvO,SAAA;MAAA;MAAA,OAAT8R,SAAS;IAAA,IAMtB;IACA;EAAA;IAAAtV,GAAA;IAAAC,KAAA;MAAA,IAAAsV,sBAAA,GAAAlD,iBAAA,cAAAvG,mBAAA,GAAA4E,IAAA,CACA,SAAA8E,SAAmCC,iBAAiB,EAAEC,WAAW,EAAEC,OAAO;QAAA,IAAAC,WAAA;QAAA,OAAA9J,mBAAA,GAAAoB,IAAA,UAAA2I,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAA5E,IAAA,GAAA4E,SAAA,CAAApG,IAAA;YAAA;cAClEkG,WAAW,GAAG,CAAC,CAAC;cACpBA,WAAW,CAACG,eAAe,CAAC,GAAGnS,GAAG,CAAC2B,gBAAgB,CAACmQ,WAAW,CAAC;cAChEE,WAAW,CAACI,mBAAmB,CAAC,GAAGP,iBAAiB;cACpDG,WAAW,CAACK,WAAW,CAAC,GAAGN,OAAO;cAACG,SAAA,CAAApG,IAAA;cAAA,OACtBmD,GAAG,CAACsB,OAAO,CAAC+B,0BAA0B,EAAE,MAAM,EAAEN,WAAW,CAAC;YAAA;cAAA,OAAAE,SAAA,CAAAvG,MAAA,WAAAuG,SAAA,CAAA1G,IAAA;YAAA;YAAA;cAAA,OAAA0G,SAAA,CAAAzE,IAAA;UAAA;QAAA,GAAAmE,QAAA;MAAA,CAC5E;MAAA,SANYW,qBAAqBA,CAAAC,GAAA,EAAAC,GAAA,EAAAC,GAAA;QAAA,OAAAf,sBAAA,CAAAxD,KAAA,OAAAvO,SAAA;MAAA;MAAA,OAArB2S,qBAAqB;IAAA,IAQlC;EAAA;IAAAnW,GAAA;IAAAC,KAAA;MAAA,IAAAsW,aAAA,GAAAlE,iBAAA,cAAAvG,mBAAA,GAAA4E,IAAA,CACA,SAAA8F,SAA0BC,QAAQ,EAAEf,WAAW,EAAEC,OAAO;QAAA,IAAAC,WAAA;QAAA,OAAA9J,mBAAA,GAAAoB,IAAA,UAAAwJ,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAzF,IAAA,GAAAyF,SAAA,CAAAjH,IAAA;YAAA;cAChDkG,WAAW,GAAG,CAAC,CAAC;cACpBA,WAAW,CAACG,eAAe,CAAC,GAAGnS,GAAG,CAAC2B,gBAAgB,CAACmQ,WAAW,CAAC;cAChEE,WAAW,CAACgB,WAAW,CAAC,GAAGH,QAAQ;cACnCb,WAAW,CAACK,WAAW,CAAC,GAAGN,OAAO;cAACgB,SAAA,CAAAjH,IAAA;cAAA,OACtBmD,GAAG,CAACsB,OAAO,CAAC0C,kBAAkB,EAAE,MAAM,EAAEjB,WAAW,CAAC;YAAA;cAAA,OAAAe,SAAA,CAAApH,MAAA,WAAAoH,SAAA,CAAAvH,IAAA;YAAA;YAAA;cAAA,OAAAuH,SAAA,CAAAtF,IAAA;UAAA;QAAA,GAAAmF,QAAA;MAAA,CACpE;MAAA,SANYM,YAAYA,CAAAC,GAAA,EAAAC,GAAA,EAAAC,GAAA;QAAA,OAAAV,aAAA,CAAAxE,KAAA,OAAAvO,SAAA;MAAA;MAAA,OAAZsT,YAAY;IAAA,IAQzB;EAAA;IAAA9W,GAAA;IAAAC,KAAA;MAAA,IAAAiX,oBAAA,GAAA7E,iBAAA,cAAAvG,mBAAA,GAAA4E,IAAA,CACA,SAAAyG,SAAiCC,eAAe,EAAE1B,WAAW,EAAEC,OAAO;QAAA,IAAAC,WAAA;QAAA,OAAA9J,mBAAA,GAAAoB,IAAA,UAAAmK,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAApG,IAAA,GAAAoG,SAAA,CAAA5H,IAAA;YAAA;cAC9DkG,WAAW,GAAG,CAAC,CAAC;cACpBA,WAAW,CAACG,eAAe,CAAC,GAAGnS,GAAG,CAAC2B,gBAAgB,CAACmQ,WAAW,CAAC;cAChEE,WAAW,CAAC2B,kBAAkB,CAAC,GAAGH,eAAe;cACjDxB,WAAW,CAACK,WAAW,CAAC,GAAGN,OAAO;cAAC2B,SAAA,CAAA5H,IAAA;cAAA,OACtBmD,GAAG,CAACsB,OAAO,CAACqD,yBAAyB,EAAE,MAAM,EAAE5B,WAAW,CAAC;YAAA;cAAA,OAAA0B,SAAA,CAAA/H,MAAA,WAAA+H,SAAA,CAAAlI,IAAA;YAAA;YAAA;cAAA,OAAAkI,SAAA,CAAAjG,IAAA;UAAA;QAAA,GAAA8F,QAAA;MAAA,CAC3E;MAAA,SANYM,mBAAmBA,CAAAC,GAAA,EAAAC,GAAA,EAAAC,IAAA;QAAA,OAAAV,oBAAA,CAAAnF,KAAA,OAAAvO,SAAA;MAAA;MAAA,OAAnBiU,mBAAmB;IAAA,IAQhC;EAAA;IAAAzX,GAAA;IAAAC,KAAA;MAAA,IAAA4X,cAAA,GAAAxF,iBAAA,cAAAvG,mBAAA,GAAA4E,IAAA,CACA,SAAAoH,SAA2BC,SAAS,EAAErC,WAAW,EAAEC,OAAO;QAAA,IAAAC,WAAA;QAAA,OAAA9J,mBAAA,GAAAoB,IAAA,UAAA8K,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAA/G,IAAA,GAAA+G,SAAA,CAAAvI,IAAA;YAAA;cAClDkG,WAAW,GAAG,CAAC,CAAC;cACpBA,WAAW,CAACG,eAAe,CAAC,GAAGnS,GAAG,CAAC2B,gBAAgB,CAACmQ,WAAW,CAAC;cAChEE,WAAW,CAACsC,YAAY,CAAC,GAAGH,SAAS;cACrCnC,WAAW,CAACK,WAAW,CAAC,GAAGN,OAAO;cAACsC,SAAA,CAAAvI,IAAA;cAAA,OACtBmD,GAAG,CAACsB,OAAO,CAACgE,mBAAmB,EAAE,MAAM,EAAEvC,WAAW,CAAC;YAAA;cAAA,OAAAqC,SAAA,CAAA1I,MAAA,WAAA0I,SAAA,CAAA7I,IAAA;YAAA;YAAA;cAAA,OAAA6I,SAAA,CAAA5G,IAAA;UAAA;QAAA,GAAAyG,QAAA;MAAA,CACrE;MAAA,SANYM,aAAaA,CAAAC,IAAA,EAAAC,IAAA,EAAAC,IAAA;QAAA,OAAAV,cAAA,CAAA9F,KAAA,OAAAvO,SAAA;MAAA;MAAA,OAAb4U,aAAa;IAAA,IAQ1B;EAAA;IAAApY,GAAA;IAAAC,KAAA;MAAA,IAAAuY,gBAAA,GAAAnG,iBAAA,cAAAvG,mBAAA,GAAA4E,IAAA,CACA,SAAA+H,SAA6BC,WAAW,EAAEhD,WAAW,EAAEC,OAAO;QAAA,IAAAC,WAAA;QAAA,OAAA9J,mBAAA,GAAAoB,IAAA,UAAAyL,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAA1H,IAAA,GAAA0H,SAAA,CAAAlJ,IAAA;YAAA;cACtDkG,WAAW,GAAG,CAAC,CAAC;cACpBA,WAAW,CAACG,eAAe,CAAC,GAAGnS,GAAG,CAAC2B,gBAAgB,CAACmQ,WAAW,CAAC;cAChEE,WAAW,CAACiD,cAAc,CAAC,GAAGH,WAAW;cACzC9C,WAAW,CAACK,WAAW,CAAC,GAAGN,OAAO;cAACiD,SAAA,CAAAlJ,IAAA;cAAA,OACtBmD,GAAG,CAACsB,OAAO,CAAC2E,qBAAqB,EAAE,MAAM,EAAElD,WAAW,CAAC;YAAA;cAAA,OAAAgD,SAAA,CAAArJ,MAAA,WAAAqJ,SAAA,CAAAxJ,IAAA;YAAA;YAAA;cAAA,OAAAwJ,SAAA,CAAAvH,IAAA;UAAA;QAAA,GAAAoH,QAAA;MAAA,CACvE;MAAA,SANYM,eAAeA,CAAAC,IAAA,EAAAC,IAAA,EAAAC,IAAA;QAAA,OAAAV,gBAAA,CAAAzG,KAAA,OAAAvO,SAAA;MAAA;MAAA,OAAfuV,eAAe;IAAA,IAQ5B;EAAA;IAAA/Y,GAAA;IAAAC,KAAA;MAAA,IAAAkZ,uBAAA,GAAA9G,iBAAA,cAAAvG,mBAAA,GAAA4E,IAAA,CACA,SAAA0I,SAAoCC,KAAK,EAAE3D,WAAW,EAAEC,OAAO;QAAA,IAAAC,WAAA;QAAA,OAAA9J,mBAAA,GAAAoB,IAAA,UAAAoM,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAArI,IAAA,GAAAqI,SAAA,CAAA7J,IAAA;YAAA;cACvDkG,WAAW,GAAG,CAAC,CAAC;cACpBA,WAAW,CAACG,eAAe,CAAC,GAAGnS,GAAG,CAAC2B,gBAAgB,CAACmQ,WAAW,CAAC;cAChEE,WAAW,CAAC4D,qBAAqB,CAAC,GAAGH,KAAK;cAC1CzD,WAAW,CAACK,WAAW,CAAC,GAAGN,OAAO;cAAC4D,SAAA,CAAA7J,IAAA;cAAA,OACtBmD,GAAG,CAACsB,OAAO,CAACsF,4BAA4B,EAAE,MAAM,EAAE7D,WAAW,CAAC;YAAA;cAAA,OAAA2D,SAAA,CAAAhK,MAAA,WAAAgK,SAAA,CAAAnK,IAAA;YAAA;YAAA;cAAA,OAAAmK,SAAA,CAAAlI,IAAA;UAAA;QAAA,GAAA+H,QAAA;MAAA,CAC9E;MAAA,SANYM,sBAAsBA,CAAAC,IAAA,EAAAC,IAAA,EAAAC,IAAA;QAAA,OAAAV,uBAAA,CAAApH,KAAA,OAAAvO,SAAA;MAAA;MAAA,OAAtBkW,sBAAsB;IAAA,IAQnC;EAAA;IAAA1Z,GAAA;IAAAC,KAAA;MAAA,IAAA6Z,gBAAA,GAAAzH,iBAAA,cAAAvG,mBAAA,GAAA4E,IAAA,CACA,SAAAqJ,SAA6BC,WAAW,EAAEtE,WAAW,EAAEC,OAAO;QAAA,IAAAC,WAAA;QAAA,OAAA9J,mBAAA,GAAAoB,IAAA,UAAA+M,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAhJ,IAAA,GAAAgJ,SAAA,CAAAxK,IAAA;YAAA;cACtDkG,WAAW,GAAG,CAAC,CAAC;cACpBA,WAAW,CAACG,eAAe,CAAC,GAAGnS,GAAG,CAAC2B,gBAAgB,CAACmQ,WAAW,CAAC;cAChEE,WAAW,CAACuE,cAAc,CAAC,GAAGH,WAAW;cACzCpE,WAAW,CAACK,WAAW,CAAC,GAAGN,OAAO;cAACuE,SAAA,CAAAxK,IAAA;cAAA,OACtBmD,GAAG,CAACsB,OAAO,CAACiG,qBAAqB,EAAE,MAAM,EAAExE,WAAW,CAAC;YAAA;cAAA,OAAAsE,SAAA,CAAA3K,MAAA,WAAA2K,SAAA,CAAA9K,IAAA;YAAA;YAAA;cAAA,OAAA8K,SAAA,CAAA7I,IAAA;UAAA;QAAA,GAAA0I,QAAA;MAAA,CACvE;MAAA,SANYM,eAAeA,CAAAC,IAAA,EAAAC,IAAA,EAAAC,IAAA;QAAA,OAAAV,gBAAA,CAAA/H,KAAA,OAAAvO,SAAA;MAAA;MAAA,OAAf6W,eAAe;IAAA,IAQ5B;EAAA;IAAAra,GAAA;IAAAC,KAAA;MAAA,IAAAwa,wCAAA,GAAApI,iBAAA,cAAAvG,mBAAA,GAAA4E,IAAA,CACA,SAAAgK,UAAqDV,WAAW,EAAEtE,WAAW,EAAEC,OAAO;QAAA,IAAAgF,WAAA,EAAA/E,WAAA;QAAA,OAAA9J,mBAAA,GAAAoB,IAAA,UAAA0N,WAAAC,UAAA;UAAA,kBAAAA,UAAA,CAAA3J,IAAA,GAAA2J,UAAA,CAAAnL,IAAA;YAAA;cAC9EiL,WAAW,GAAG/W,GAAG,CAAC2B,gBAAgB,CAACmQ,WAAW,CAAC;cACnDiF,WAAW,CAACG,gBAAgB,CAAC,GAAG,IAAI;cAChClF,WAAW,GAAG,CAAC,CAAC;cACpBA,WAAW,CAACG,eAAe,CAAC,GAAG4E,WAAW;cAC1C/E,WAAW,CAACuE,cAAc,CAAC,GAAGH,WAAW;cACzCpE,WAAW,CAACK,WAAW,CAAC,GAAGN,OAAO;cAACkF,UAAA,CAAAnL,IAAA;cAAA,OACtBmD,GAAG,CAACsB,OAAO,CAAC4G,2CAA2C,EAAE,MAAM,EAAEnF,WAAW,CAAC;YAAA;cAAA,OAAAiF,UAAA,CAAAtL,MAAA,WAAAsL,UAAA,CAAAzL,IAAA;YAAA;YAAA;cAAA,OAAAyL,UAAA,CAAAxJ,IAAA;UAAA;QAAA,GAAAqJ,SAAA;MAAA,CAC7F;MAAA,SARYM,uCAAuCA,CAAAC,IAAA,EAAAC,IAAA,EAAAC,IAAA;QAAA,OAAAV,wCAAA,CAAA1I,KAAA,OAAAvO,SAAA;MAAA;MAAA,OAAvCwX,uCAAuC;IAAA;EAAA;AAAA;;;;;;;;;ACzIxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARA,IASqBrX,WAAK;EAAA,SAAAA,MAAA;IAAA7D,oBAAA,OAAA6D,KAAA;EAAA;EAAA,OAAA5D,iBAAA,CAAA4D,KAAA;IAAA3D,GAAA;IAAAC,KAAA,EACtB,SAAOmb,eAAeA,CAACC,IAAI,EAAE;MACzB,IAAIC,IAAI,GAAG,EAAE;MACb,KAAK,IAAItb,GAAG,IAAIqb,IAAI,EAAE;QAClBC,IAAI,CAACpL,IAAI,CAACmL,IAAI,CAACrb,GAAG,CAAC,CAAC;MACxB;MACA,OAAOsb,IAAI;IACf;EAAC;IAAAtb,GAAA;IAAAC,KAAA,EACD,SAAOsb,oCAAoCA,CAACC,OAAO,EAAE;MACjD,IAAIC,WAAW,CAACC,aAAa,IAAI,MAAM,EAAE;QACrCzH,OAAO,CAAC0H,GAAG,CAACH,OAAO,CAAC;MACxB;IACJ;EAAC;AAAA;;;;;;;;;ACrBuC;AAAA,IAEvBI,cAAc;EAAA,SAAAA,eAAA;IAAA9b,8BAAA,OAAA8b,cAAA;EAAA;EAAA,OAAA7b,2BAAA,CAAA6b,cAAA;IAAA5b,GAAA;IAAAC,KAAA,EAC/B,SAAO4b,MAAMA,CAACC,eAAe,EAAE;MAC3BpR,MAAM,CAACC,sBAAsB,CAACoR,gBAAgB,GAAG,UAAU,GAAGC,UAAU,EAAE9Q,eAAe,EAAE,UAAC+Q,YAAY,EAAK;QACzGA,YAAY,CAAC9Q,gBAAgB,CAAC,OAAO,EAAE,YAAM;UACzC,IAAI+Q,OAAO,GAAGva,QAAQ,CAACuE,aAAa,CAAC6V,gBAAgB,CAAC;UACtDG,OAAO,CAACC,KAAK,CAACC,UAAU,GAAG,QAAQ;QACvC,CAAC,CAAC;MACN,CAAC,CAAC;MACF1R,MAAM,CAACC,sBAAsB,CAACoR,gBAAgB,GAAG,UAAU,GAAGM,UAAU,EAAEnR,eAAe,EAAE,UAACoR,aAAa,EAAK;QAC1GA,aAAa,CAACnR,gBAAgB,CAAC,OAAO,EAAE,YAAM;UAC1C,IAAI+Q,OAAO,GAAGva,QAAQ,CAACuE,aAAa,CAAC6V,gBAAgB,CAAC;UACtD,IAAIQ,QAAQ,GAAGL,OAAO,CAAChW,aAAa,CAAC,UAAU,CAAC;UAChDgW,OAAO,CAACC,KAAK,CAACC,UAAU,GAAG,QAAQ;UACnCN,eAAe,CAACS,QAAQ,CAACtc,KAAK,CAAC;QACnC,CAAC,CAAC;MACN,CAAC,CAAC;IACN;EAAC;IAAAD,GAAA;IAAAC,KAAA,EACD,SAAOuc,IAAIA,CAAA,EAAG;MACV,IAAIN,OAAO,GAAGva,QAAQ,CAACuE,aAAa,CAAC6V,gBAAgB,CAAC;MACtDG,OAAO,CAAC1U,SAAS,CAACG,MAAM,CAAC8U,eAAe,CAAC;MACzCP,OAAO,CAACC,KAAK,CAACC,UAAU,GAAG,SAAS;IACxC;EAAC;AAAA;;;;;;;;;ACvBqE;AACpC;AACa;AACvB;AACA;AACQ;AAE2C;AACJ;AAC7B;AAAA,IAEzBQ,QAAQ;EACzB,SAAAA,SAAYC,MAAM,EAAE;IAAA/c,mBAAA,OAAA8c,QAAA;IAChB,IAAI,CAACC,MAAM,EAAE;MACT,MAAM,IAAI9N,KAAK,CAAC,oBAAoB,CAAC;IACzC,CAAC,MACI;MACDpL,WAAK,CAAC4X,oCAAoC,CAAC,4BAA4B,EAAEsB,MAAM,CAAC;IACpF;IACA,IAAI,CAACA,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,KAAK,GAAGC,gBAAgB;IAC7B,IAAI,IAAI,CAACvM,WAAW,KAAKoM,QAAQ,EAAE;MAC/B,MAAM,IAAI7N,KAAK,CAAC,mCAAmC,CAAC;IACxD;IAEA,IAAI,CAAC,IAAI,CAACyB,WAAW,CAAC6D,IAAI,EAAE;MACxB,MAAM,IAAItF,KAAK,UAAA3I,MAAA,CAAU,IAAI,CAACoK,WAAW,CAACC,IAAI,wCAAqC,CAAC;IACxF;EACJ;EAAC,OAAA1Q,gBAAA,CAAA6c,QAAA;IAAA5c,GAAA;IAAAC,KAAA,EAED,SAAA+c,UAAUA,CAAA,EAAG;MACT,MAAM,IAAIjO,KAAK,CAAC,4CAA4C,CAAC;IACjE;EAAC;IAAA/O,GAAA;IAAAC,KAAA,EAED,SAAAgd,gBAAgBA,CAAA,EAAG;MACf,IAAI,CAACC,iBAAiB,CAAC,CAAC;MACxB,IAAI,CAACC,oBAAoB,CAAC,CAAC;IAC/B;EAAC;IAAAnd,GAAA;IAAAC,KAAA,EAED,SAAAid,iBAAiBA,CAAA,EAAG;MAChBvZ,WAAK,CAAC4X,oCAAoC,CAAC,eAAe,GAAG,IAAI,CAACuB,KAAK,GAAG,OAAO,CAAC;IACtF;EAAC;IAAA9c,GAAA;IAAAC,KAAA,EAED,SAAAkd,oBAAoBA,CAAA,EAAG;MACnB;MACA,IAAI,CAACC,WAAW,CAAC,CAAC;MAClB,IAAI,CAACC,gBAAgB,CAAC,CAAC;MACvB,IAAI,CAACC,cAAc,CAAC,CAAC;IACzB;EAAC;IAAAtd,GAAA;IAAAC,KAAA,EAED,SAAAod,gBAAgBA,CAAA,EAAG;MACf3S,MAAM,CAACM,kBAAkB,CAAC,OAAO,EAAEuS,iBAAiB,EAAE,UAACnS,KAAK,EAAEtH,OAAO,EAAK;QACtE,IAAI0Z,gBAAgB,GAAG7b,QAAQ,CAACuE,aAAa,CAACuX,kBAAkB,CAAC;QACjE,IAAID,gBAAgB,CAAChW,SAAS,CAACC,QAAQ,CAACgV,eAAe,CAAC,EAAE;UACtDe,gBAAgB,CAAChW,SAAS,CAACG,MAAM,CAAC8U,eAAe,CAAC;UAClDe,gBAAgB,CAAChW,SAAS,CAACE,GAAG,CAACgW,YAAY,CAAC;QAChD,CAAC,MAAM;UACHF,gBAAgB,CAAChW,SAAS,CAACG,MAAM,CAAC+V,YAAY,CAAC;UAC/CF,gBAAgB,CAAChW,SAAS,CAACE,GAAG,CAAC+U,eAAe,CAAC;QACnD;MACJ,CAAC,CAAC;MAEF,IAAI,CAACkB,oBAAoB,CAAC,CAAC;MAC3B,IAAI,CAACC,uBAAuB,CAAC,CAAC;MAC9B;MACA,IAAI,CAACC,2BAA2B,CAAC,CAAC;MAClC,IAAI,CAACC,0BAA0B,CAAC,CAAC;MACjC,IAAI,CAACC,yBAAyB,CAAC,CAAC;;MAEhC;MACA;MACA,IAAI,CAACC,uBAAuB,CAAC,CAAC;MAC9B,IAAI,CAACC,oCAAoC,CAAC,CAAC;MAC3C,IAAI,CAACC,2BAA2B,CAAC,CAAC;MAClC,IAAI,CAACC,kCAAkC,CAAC,CAAC;MACzC,IAAI,CAACC,uBAAuB,CAAC,CAAC;MAC9B,IAAI,CAACC,4BAA4B,CAAC,CAAC;MACnC,IAAI,CAACC,8BAA8B,CAAC,CAAC;MACrC,IAAI,CAACC,qCAAqC,CAAC,CAAC;MAC5C,IAAI,CAACC,8BAA8B,CAAC,CAAC;IACzC;EAAC;IAAAxe,GAAA;IAAAC,KAAA,EACD,SAAA+K,kBAAkBA,CAACC,SAAS,EAAEhG,QAAQ,EAAElC,QAAQ,EAAE;MAC9C2H,MAAM,CAACC,sBAAsB,CAAC1F,QAAQ,EAAEiG,eAAe,EAAE,UAACpH,OAAO,EAAK;QAClEA,OAAO,CAACqH,gBAAgB,CAACF,SAAS,EAAE,UAACG,KAAK,EAAK;UAC3CA,KAAK,CAACC,eAAe,CAAC,CAAC;UACvBtI,QAAQ,CAACqI,KAAK,EAAEtH,OAAO,CAAC;QAC5B,CAAC,CAAC;MACN,CAAC,CAAC;IACN;EAAC;IAAA9D,GAAA;IAAAC,KAAA,EACD,SAAA0d,oBAAoBA,CAAA,EAAG;MACnB,IAAI,CAACc,gBAAgB,CAAC,GAAG,GAAGC,WAAW,EAAEpK,YAAY,CAAC;IAC1D;EAAC;IAAAtU,GAAA;IAAAC,KAAA,EACD,SAAAwe,gBAAgBA,CAACE,cAAc,EAAEC,WAAW,EAAE;MAAA,IAAAC,KAAA;MAC1CnU,MAAM,CAACM,kBAAkB,CAAC,OAAO,EAAE2T,cAAc,EAAE,UAACvT,KAAK,EAAE0T,MAAM,EAAK;QAClED,KAAI,CAAChC,MAAM,CAACkC,cAAc,CAACH,WAAW,CAAC;MAC3C,CAAC,CAAC;IACN;EAAC;IAAA5e,GAAA;IAAAC,KAAA,EACD,SAAA2d,uBAAuBA,CAAA,EAAG;MACtB,IAAI,CAACa,gBAAgB,CAAC,GAAG,GAAGO,cAAc,EAAEC,eAAe,CAAC;IAChE;IACA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;EAPI;IAAAjf,GAAA;IAAAC,KAAA,EAQA,SAAA4d,2BAA2BA,CAAA,EAAG;MAC1B,IAAI,CAACY,gBAAgB,CAAC,GAAG,GAAGS,kBAAkB,EAAEC,mBAAmB,CAAC;IACxE;EAAC;IAAAnf,GAAA;IAAAC,KAAA,EACD,SAAA6d,0BAA0BA,CAAA,EAAG;MACzB,IAAI,CAACW,gBAAgB,CAAC,GAAG,GAAGW,iBAAiB,EAAEC,kBAAkB,CAAC;IACtE;EAAC;IAAArf,GAAA;IAAAC,KAAA,EACD,SAAA8d,yBAAyBA,CAAA,EAAG;MAAA,IAAAuB,MAAA;MACxB5U,MAAM,CAACM,kBAAkB,CAAC,OAAO,EAAE,GAAG,GAAGuU,gBAAgB,EAAE,UAACnU,KAAK,EAAEoU,SAAS,EAAK;QAC7EpU,KAAK,CAACC,eAAe,CAAC,CAAC;QACvBiU,MAAI,CAACG,KAAK,CAAC,CAAC;QACZ5M,GAAG,CAACyC,SAAS,CAAC,CAAC,CACVzG,IAAI,CAAC,UAACwE,QAAQ,EAAK;UACpB,IAAIA,QAAQ,CAACqM,OAAO,EAAE;YAClB9K,MAAM,CAACC,QAAQ,CAACC,IAAI,GAAGzB,QAAQ,CAAC+B,YAAY,CAAC;UACjD,CAAC,MAAM;YACHxR,GAAG,CAACsF,UAAU,CAAC,OAAO,EAAEmK,QAAQ,CAACsM,OAAO,CAAC;UAC7C;QACJ,CAAC,CAAC;MACN,CAAC,CAAC;IACN;EAAC;IAAA3f,GAAA;IAAAC,KAAA,EACD,SAAA+d,uBAAuBA,CAAA,EAAG;MACtB,IAAI,CAACS,gBAAgB,CAAC,GAAG,GAAGmB,cAAc,EAAEC,eAAe,CAAC;IAChE;EAAC;IAAA7f,GAAA;IAAAC,KAAA,EACD,SAAAge,oCAAoCA,CAAA,EAAG;MACnC,IAAI,CAACQ,gBAAgB,CAAC,GAAG,GAAGqB,2BAA2B,EAAEC,4BAA4B,CAAC;IAC1F;EAAC;IAAA/f,GAAA;IAAAC,KAAA,EACD,SAAAie,2BAA2BA,CAAA,EAAG;MAC1B,IAAI,CAACO,gBAAgB,CAAC,GAAG,GAAGuB,kBAAkB,EAAEC,mBAAmB,CAAC;IACxE;EAAC;IAAAjgB,GAAA;IAAAC,KAAA,EACD,SAAAke,kCAAkCA,CAAA,EAAG;MACjC,IAAI,CAACM,gBAAgB,CAAC,GAAG,GAAGyB,yBAAyB,EAAEC,0BAA0B,CAAC;IACtF;EAAC;IAAAngB,GAAA;IAAAC,KAAA,EACD,SAAAme,uBAAuBA,CAAA,EAAG;MACtB,IAAI,CAACK,gBAAgB,CAAC,GAAG,GAAG2B,cAAc,EAAEC,eAAe,CAAC;IAChE;EAAC;IAAArgB,GAAA;IAAAC,KAAA,EACD,SAAAoe,4BAA4BA,CAAA,EAAG;MAC3B,IAAI,CAACI,gBAAgB,CAAC,GAAG,GAAG6B,mBAAmB,EAAEC,oBAAoB,CAAC;IAC1E;EAAC;IAAAvgB,GAAA;IAAAC,KAAA,EACD,SAAAqe,8BAA8BA,CAAA,EAAG;MAC7B,IAAI,CAACG,gBAAgB,CAAC,GAAG,GAAG+B,qBAAqB,EAAEC,sBAAsB,CAAC;IAC9E;EAAC;IAAAzgB,GAAA;IAAAC,KAAA,EACD,SAAAse,qCAAqCA,CAAA,EAAG;MACpC,IAAI,CAACE,gBAAgB,CAAC,GAAG,GAAGiC,4BAA4B,EAAEC,6BAA6B,CAAC;IAC5F;EAAC;IAAA3gB,GAAA;IAAAC,KAAA,EACD,SAAAue,8BAA8BA,CAAA,EAAG;MAC7B,IAAI,CAACC,gBAAgB,CAAC,GAAG,GAAGmC,qBAAqB,EAAEC,sBAAsB,CAAC;IAC9E;EAAC;IAAA7gB,GAAA;IAAAC,KAAA,EAED,SAAAmd,WAAWA,CAAA,EAAG;MAAA,IAAA0D,MAAA;MACVpW,MAAM,CAACM,kBAAkB,CAAC,OAAO,EAAE,GAAG,GAAG+V,aAAa,GAAG,GAAG,GAAG,GAAG,GAAGC,QAAQ,EAAE,UAAC5V,KAAK,EAAEtH,OAAO,EAAK;QAC/FH,WAAK,CAAC4X,oCAAoC,CAAC,eAAe,CAAC;QAC3DuF,MAAI,CAACjE,MAAM,CAACkC,cAAc,CAACzK,YAAY,CAAC;MAC5C,CAAC,CAAC;IACN;EAAC;IAAAtU,GAAA;IAAAC,KAAA,EAED,SAAAqd,cAAcA,CAAA,EAAG;MACb,IAAI,CAAC2D,mBAAmB,CAAClF,gBAAgB,CAAC;MAC1C,IAAI,CAACkF,mBAAmB,CAACC,cAAc,CAAC;IAC5C;EAAC;IAAAlhB,GAAA;IAAAC,KAAA,EAED,SAAAghB,mBAAmBA,CAACE,SAAS,EAAE;MAC3BzW,MAAM,CAACC,sBAAsB,CAACwW,SAAS,EAAEjW,eAAe,EAAE,UAACgR,OAAO,EAAK;QACnEA,OAAO,CAAChW,aAAa,CAAC,SAAS,GAAG8V,UAAU,CAAC,CAAC7Q,gBAAgB,CAAC,OAAO,EAAE,UAACC,KAAK,EAAK;UAC/EA,KAAK,CAACC,eAAe,CAAC,CAAC;UACvB6Q,OAAO,CAACC,KAAK,CAACiF,OAAO,GAAG,MAAM;QAClC,CAAC,CAAC;MACN,CAAC,CAAC;IACN;EAAC;IAAAphB,GAAA;IAAAC,KAAA,EAED,SAAAohB,gBAAgBA,CAAA,EAAG;MAAA,IAAAC,MAAA;MACf5W,MAAM,CAACC,sBAAsB,CAAC,GAAG,GAAG4W,aAAa,GAAG,GAAG,GAAGC,QAAQ,GAAG,GAAG,GAAGxF,UAAU,GAAG,UAAU,GAAGwF,QAAQ,EAAEtW,eAAe,EAAE,UAAC4T,MAAM,EAAK;QACxIA,MAAM,CAAC3T,gBAAgB,CAAC,OAAO,EAAE,UAACC,KAAK,EAAK;UACxCA,KAAK,CAACC,eAAe,CAAC,CAAC;UACvByT,MAAM,GAAG1T,KAAK,CAACqW,MAAM;UACrB,IAAI3C,MAAM,CAACtX,SAAS,CAACC,QAAQ,CAACgV,eAAe,CAAC,EAAE;UAChD9Y,WAAK,CAAC4X,oCAAoC,CAAC,eAAe,EAAE+F,MAAI,CAACxE,KAAK,CAAC;UACvElB,cAAc,CAACY,IAAI,CAAC,CAAC;QACzB,CAAC,CAAC;MACN,CAAC,CAAC;IACN;EAAC;IAAAxc,GAAA;IAAAC,KAAA,EAED,SAAAwf,KAAKA,CAAA,EAAG;MACJ9b,WAAK,CAAC4X,oCAAoC,CAAC,UAAU,GAAG,IAAI,CAACuB,KAAK,GAAG,OAAO,CAAC;MAC7E,IAAI,IAAI,CAACtM,WAAW,KAAKoM,QAAQ,EAAE;QAC/B,MAAM,IAAI7N,KAAK,CAAC,gCAAgC,CAAC;MACrD;IACJ;EAAC;IAAA/O,GAAA;IAAAC,KAAA,EACD,SAAAyhB,mBAAmBA,CAACC,QAAQ,EAAE;MAC1BrW,YAAY,CAACK,eAAe,CAAC,IAAI,CAAC0I,IAAI,EAAEsN,QAAQ,CAAC;IACrD;EAAC;IAAA3hB,GAAA;IAAAC,KAAA,EACD,SAAA2hB,mBAAmBA,CAAA,EAAG;MAClB,OAAOtW,YAAY,CAACC,eAAe,CAAC,IAAI,CAAC8I,IAAI,CAAC;IAClD;EAAC;IAAArU,GAAA;IAAAC,KAAA,EAED,SAAA4hB,2BAA2BA,CAACrF,IAAI,EAAkC;MAAA,IAAhCsF,uBAAuB,GAAAte,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,IAAI;MAAI;MAChE,IAAI3D,UAAU,CAACK,OAAO,CAAC4hB,uBAAuB,CAAC,EAAEA,uBAAuB,GAAG,GAAG,GAAGP,aAAa,GAAG,GAAG,GAAGC,QAAQ,GAAG,GAAG,GAAGxF,UAAU;MAClI,IAAI+F,UAAU,GAAGpgB,QAAQ,CAACuE,aAAa,CAAC4b,uBAAuB,GAAG,GAAG,GAAGE,YAAY,CAAC;MACrF,IAAI/F,YAAY,GAAGta,QAAQ,CAACuE,aAAa,CAAC4b,uBAAuB,GAAG,GAAG,GAAGG,cAAc,CAAC;MACzFte,WAAK,CAAC4X,oCAAoC,CAAC;QAAEiB,IAAI,EAAJA,IAAI;QAAEsF,uBAAuB,EAAvBA,uBAAuB;QAAE7F,YAAY,EAAZA,YAAY;QAAE8F,UAAU,EAAVA;MAAW,CAAC,CAAC;MACvG,IAAIvF,IAAI,EAAE;QACNP,YAAY,CAACzU,SAAS,CAACG,MAAM,CAAC8U,eAAe,CAAC;QAC9CsF,UAAU,CAACva,SAAS,CAACG,MAAM,CAAC8U,eAAe,CAAC;QAC5C9Y,WAAK,CAAC4X,oCAAoC,CAAC,iBAAiB,CAAC;MACjE,CAAC,MAAM;QACHU,YAAY,CAACzU,SAAS,CAACE,GAAG,CAAC+U,eAAe,CAAC;QAC3CsF,UAAU,CAACva,SAAS,CAACE,GAAG,CAAC+U,eAAe,CAAC;QACzC9Y,WAAK,CAAC4X,oCAAoC,CAAC,gBAAgB,CAAC;MAChE;IACJ;EAAC;IAAAvb,GAAA;IAAAC,KAAA,EAED,SAAOiiB,aAAaA,CAAClc,MAAM,EAAE;MACzB,IAAIiB,OAAO,GAAGrD,GAAG,CAACmD,4BAA4B,CAACf,MAAM,CAAC;MACtD,IAAIiB,OAAO,EAAEtF,QAAQ,CAACC,gBAAgB,CAACugB,WAAW,GAAG,WAAW,CAAC,CAACxa,MAAM,CAAC,CAAC;MAC1E,OAAOV,OAAO;IAClB;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;AC9NL;AACkC;AAClC;AAAA,IAGqBmb,QAAQ,0BAAAC,SAAA;EAGzB,SAAAD,SAAYvF,MAAM,EAAE;IAAA/c,mBAAA,OAAAsiB,QAAA;IAAA,OAAAE,UAAA,OAAAF,QAAA,GACVvF,MAAM;EAChB;EAAC0F,SAAA,CAAAH,QAAA,EAAAC,SAAA;EAAA,OAAAtiB,gBAAA,CAAAqiB,QAAA;IAAApiB,GAAA;IAAAC,KAAA,EAED,SAAA+c,UAAUA,CAAA,EAAG;MACT,IAAI,CAACC,gBAAgB,CAAC,CAAC;MACvB;IACJ;EAAC;IAAAjd,GAAA;IAAAC,KAAA,EAED,SAAAwf,KAAKA,CAAA,EAAG;MACJ+C,aAAA,CAAAJ,QAAA;IACJ;EAAC;AAAA,EAdiCxF,QAAQ;AAAArT,mBAAA,CAAzB6Y,QAAQ,UACX9N,YAAY;;;;qDCN9B,qJAAAxI,yBAAA,YAAAA,oBAAA,WAAAC,CAAA,SAAAC,CAAA,EAAAD,CAAA,OAAAE,CAAA,GAAAzJ,MAAA,CAAA0J,SAAA,EAAAC,CAAA,GAAAF,CAAA,CAAAG,cAAA,EAAAC,CAAA,GAAA7J,MAAA,CAAA8J,cAAA,cAAAN,CAAA,EAAAD,CAAA,EAAAE,CAAA,IAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,CAAAhM,KAAA,KAAAO,CAAA,wBAAA+L,MAAA,GAAAA,MAAA,OAAAC,CAAA,GAAAhM,CAAA,CAAAiM,QAAA,kBAAAC,CAAA,GAAAlM,CAAA,CAAAmM,aAAA,uBAAAC,CAAA,GAAApM,CAAA,CAAAqM,WAAA,8BAAAC,OAAAd,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAzJ,MAAA,CAAA8J,cAAA,CAAAN,CAAA,EAAAD,CAAA,IAAA9L,KAAA,EAAAgM,CAAA,EAAAc,UAAA,MAAAC,YAAA,MAAAC,QAAA,SAAAjB,CAAA,CAAAD,CAAA,WAAAe,MAAA,mBAAAd,CAAA,IAAAc,MAAA,YAAAA,OAAAd,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,gBAAAiB,KAAAlB,CAAA,EAAAD,CAAA,EAAAE,CAAA,EAAAE,CAAA,QAAA3L,CAAA,GAAAuL,CAAA,IAAAA,CAAA,CAAAG,SAAA,YAAAiB,SAAA,GAAApB,CAAA,GAAAoB,SAAA,EAAAX,CAAA,GAAAhK,MAAA,CAAA4K,MAAA,CAAA5M,CAAA,CAAA0L,SAAA,GAAAQ,CAAA,OAAAW,OAAA,CAAAlB,CAAA,gBAAAE,CAAA,CAAAG,CAAA,eAAAvM,KAAA,EAAAqN,gBAAA,CAAAtB,CAAA,EAAAC,CAAA,EAAAS,CAAA,MAAAF,CAAA,aAAAe,SAAAvB,CAAA,EAAAD,CAAA,EAAAE,CAAA,mBAAAzH,IAAA,YAAAgJ,GAAA,EAAAxB,CAAA,CAAAyB,IAAA,CAAA1B,CAAA,EAAAE,CAAA,cAAAD,CAAA,aAAAxH,IAAA,WAAAgJ,GAAA,EAAAxB,CAAA,QAAAD,CAAA,CAAAmB,IAAA,GAAAA,IAAA,MAAAQ,CAAA,qBAAAC,CAAA,qBAAAC,CAAA,gBAAAC,CAAA,gBAAAC,CAAA,gBAAAX,UAAA,cAAAY,kBAAA,cAAAC,2BAAA,SAAAC,CAAA,OAAAnB,MAAA,CAAAmB,CAAA,EAAAzB,CAAA,qCAAAtK,CAAA,GAAAM,MAAA,CAAA0L,cAAA,EAAAC,CAAA,GAAAjM,CAAA,IAAAA,CAAA,CAAAA,CAAA,CAAAkM,MAAA,QAAAD,CAAA,IAAAA,CAAA,KAAAlC,CAAA,IAAAE,CAAA,CAAAsB,IAAA,CAAAU,CAAA,EAAA3B,CAAA,MAAAyB,CAAA,GAAAE,CAAA,OAAAE,CAAA,GAAAL,0BAAA,CAAA9B,SAAA,GAAAiB,SAAA,CAAAjB,SAAA,GAAA1J,MAAA,CAAA4K,MAAA,CAAAa,CAAA,YAAAK,sBAAAtC,CAAA,gCAAAjB,OAAA,WAAAgB,CAAA,IAAAe,MAAA,CAAAd,CAAA,EAAAD,CAAA,YAAAC,CAAA,gBAAAuC,OAAA,CAAAxC,CAAA,EAAAC,CAAA,sBAAAwC,cAAAxC,CAAA,EAAAD,CAAA,aAAA0C,OAAAxC,CAAA,EAAAI,CAAA,EAAA7L,CAAA,EAAAgM,CAAA,QAAAE,CAAA,GAAAa,QAAA,CAAAvB,CAAA,CAAAC,CAAA,GAAAD,CAAA,EAAAK,CAAA,mBAAAK,CAAA,CAAAlI,IAAA,QAAAoI,CAAA,GAAAF,CAAA,CAAAc,GAAA,EAAAE,CAAA,GAAAd,CAAA,CAAA3M,KAAA,SAAAyN,CAAA,gBAAAgB,aAAA,CAAAhB,CAAA,KAAAvB,CAAA,CAAAsB,IAAA,CAAAC,CAAA,eAAA3B,CAAA,CAAA4C,OAAA,CAAAjB,CAAA,CAAAkB,OAAA,EAAAC,IAAA,WAAA7C,CAAA,IAAAyC,MAAA,SAAAzC,CAAA,EAAAxL,CAAA,EAAAgM,CAAA,gBAAAR,CAAA,IAAAyC,MAAA,UAAAzC,CAAA,EAAAxL,CAAA,EAAAgM,CAAA,QAAAT,CAAA,CAAA4C,OAAA,CAAAjB,CAAA,EAAAmB,IAAA,WAAA7C,CAAA,IAAAY,CAAA,CAAA3M,KAAA,GAAA+L,CAAA,EAAAxL,CAAA,CAAAoM,CAAA,gBAAAZ,CAAA,WAAAyC,MAAA,UAAAzC,CAAA,EAAAxL,CAAA,EAAAgM,CAAA,SAAAA,CAAA,CAAAE,CAAA,CAAAc,GAAA,SAAAvB,CAAA,EAAAI,CAAA,oBAAApM,KAAA,WAAAA,MAAA+L,CAAA,EAAAG,CAAA,aAAA2C,2BAAA,eAAA/C,CAAA,WAAAA,CAAA,EAAAE,CAAA,IAAAwC,MAAA,CAAAzC,CAAA,EAAAG,CAAA,EAAAJ,CAAA,EAAAE,CAAA,gBAAAA,CAAA,GAAAA,CAAA,GAAAA,CAAA,CAAA4C,IAAA,CAAAC,0BAAA,EAAAA,0BAAA,IAAAA,0BAAA,qBAAAxB,iBAAAvB,CAAA,EAAAE,CAAA,EAAAE,CAAA,QAAAE,CAAA,GAAAqB,CAAA,mBAAAlN,CAAA,EAAAgM,CAAA,QAAAH,CAAA,KAAAuB,CAAA,QAAAmB,KAAA,sCAAA1C,CAAA,KAAAwB,CAAA,oBAAArN,CAAA,QAAAgM,CAAA,WAAAvM,KAAA,EAAA+L,CAAA,EAAAgD,IAAA,eAAA7C,CAAA,CAAA8C,MAAA,GAAAzO,CAAA,EAAA2L,CAAA,CAAAqB,GAAA,GAAAhB,CAAA,UAAAE,CAAA,GAAAP,CAAA,CAAA+C,QAAA,MAAAxC,CAAA,QAAAE,CAAA,GAAAuC,mBAAA,CAAAzC,CAAA,EAAAP,CAAA,OAAAS,CAAA,QAAAA,CAAA,KAAAkB,CAAA,mBAAAlB,CAAA,qBAAAT,CAAA,CAAA8C,MAAA,EAAA9C,CAAA,CAAAiD,IAAA,GAAAjD,CAAA,CAAAkD,KAAA,GAAAlD,CAAA,CAAAqB,GAAA,sBAAArB,CAAA,CAAA8C,MAAA,QAAA5C,CAAA,KAAAqB,CAAA,QAAArB,CAAA,GAAAwB,CAAA,EAAA1B,CAAA,CAAAqB,GAAA,EAAArB,CAAA,CAAAmD,iBAAA,CAAAnD,CAAA,CAAAqB,GAAA,uBAAArB,CAAA,CAAA8C,MAAA,IAAA9C,CAAA,CAAAoD,MAAA,WAAApD,CAAA,CAAAqB,GAAA,GAAAnB,CAAA,GAAAuB,CAAA,MAAAK,CAAA,GAAAV,QAAA,CAAAxB,CAAA,EAAAE,CAAA,EAAAE,CAAA,oBAAA8B,CAAA,CAAAzJ,IAAA,QAAA6H,CAAA,GAAAF,CAAA,CAAA6C,IAAA,GAAAnB,CAAA,GAAAF,CAAA,EAAAM,CAAA,CAAAT,GAAA,KAAAM,CAAA,qBAAA7N,KAAA,EAAAgO,CAAA,CAAAT,GAAA,EAAAwB,IAAA,EAAA7C,CAAA,CAAA6C,IAAA,kBAAAf,CAAA,CAAAzJ,IAAA,KAAA6H,CAAA,GAAAwB,CAAA,EAAA1B,CAAA,CAAA8C,MAAA,YAAA9C,CAAA,CAAAqB,GAAA,GAAAS,CAAA,CAAAT,GAAA,mBAAA2B,oBAAApD,CAAA,EAAAE,CAAA,QAAAE,CAAA,GAAAF,CAAA,CAAAgD,MAAA,EAAA5C,CAAA,GAAAN,CAAA,CAAAU,QAAA,CAAAN,CAAA,OAAAE,CAAA,KAAAL,CAAA,SAAAC,CAAA,CAAAiD,QAAA,qBAAA/C,CAAA,IAAAJ,CAAA,CAAAU,QAAA,eAAAR,CAAA,CAAAgD,MAAA,aAAAhD,CAAA,CAAAuB,GAAA,GAAAxB,CAAA,EAAAmD,mBAAA,CAAApD,CAAA,EAAAE,CAAA,eAAAA,CAAA,CAAAgD,MAAA,kBAAA9C,CAAA,KAAAF,CAAA,CAAAgD,MAAA,YAAAhD,CAAA,CAAAuB,GAAA,OAAAgC,SAAA,uCAAArD,CAAA,iBAAA2B,CAAA,MAAAtN,CAAA,GAAA+M,QAAA,CAAAlB,CAAA,EAAAN,CAAA,CAAAU,QAAA,EAAAR,CAAA,CAAAuB,GAAA,mBAAAhN,CAAA,CAAAgE,IAAA,SAAAyH,CAAA,CAAAgD,MAAA,YAAAhD,CAAA,CAAAuB,GAAA,GAAAhN,CAAA,CAAAgN,GAAA,EAAAvB,CAAA,CAAAiD,QAAA,SAAApB,CAAA,MAAAtB,CAAA,GAAAhM,CAAA,CAAAgN,GAAA,SAAAhB,CAAA,GAAAA,CAAA,CAAAwC,IAAA,IAAA/C,CAAA,CAAAF,CAAA,CAAA0D,UAAA,IAAAjD,CAAA,CAAAvM,KAAA,EAAAgM,CAAA,CAAAyD,IAAA,GAAA3D,CAAA,CAAA4D,OAAA,eAAA1D,CAAA,CAAAgD,MAAA,KAAAhD,CAAA,CAAAgD,MAAA,WAAAhD,CAAA,CAAAuB,GAAA,GAAAxB,CAAA,GAAAC,CAAA,CAAAiD,QAAA,SAAApB,CAAA,IAAAtB,CAAA,IAAAP,CAAA,CAAAgD,MAAA,YAAAhD,CAAA,CAAAuB,GAAA,OAAAgC,SAAA,sCAAAvD,CAAA,CAAAiD,QAAA,SAAApB,CAAA,cAAA8B,aAAA5D,CAAA,QAAAD,CAAA,KAAA8D,MAAA,EAAA7D,CAAA,YAAAA,CAAA,KAAAD,CAAA,CAAA+D,QAAA,GAAA9D,CAAA,WAAAA,CAAA,KAAAD,CAAA,CAAAgE,UAAA,GAAA/D,CAAA,KAAAD,CAAA,CAAAiE,QAAA,GAAAhE,CAAA,WAAAiE,UAAA,CAAAC,IAAA,CAAAnE,CAAA,cAAAoE,cAAAnE,CAAA,QAAAD,CAAA,GAAAC,CAAA,CAAAoE,UAAA,QAAArE,CAAA,CAAAvH,IAAA,oBAAAuH,CAAA,CAAAyB,GAAA,EAAAxB,CAAA,CAAAoE,UAAA,GAAArE,CAAA,aAAAsB,QAAArB,CAAA,SAAAiE,UAAA,MAAAJ,MAAA,aAAA7D,CAAA,CAAAjB,OAAA,CAAA6E,YAAA,cAAAS,KAAA,iBAAAjC,OAAArC,CAAA,QAAAA,CAAA,WAAAA,CAAA,QAAAE,CAAA,GAAAF,CAAA,CAAAS,CAAA,OAAAP,CAAA,SAAAA,CAAA,CAAAwB,IAAA,CAAA1B,CAAA,4BAAAA,CAAA,CAAA2D,IAAA,SAAA3D,CAAA,OAAApL,KAAA,CAAAoL,CAAA,CAAA1L,MAAA,SAAAgM,CAAA,OAAA7L,CAAA,YAAAkP,KAAA,aAAArD,CAAA,GAAAN,CAAA,CAAA1L,MAAA,OAAA8L,CAAA,CAAAsB,IAAA,CAAA1B,CAAA,EAAAM,CAAA,UAAAqD,IAAA,CAAAzP,KAAA,GAAA8L,CAAA,CAAAM,CAAA,GAAAqD,IAAA,CAAAV,IAAA,OAAAU,IAAA,SAAAA,IAAA,CAAAzP,KAAA,GAAA+L,CAAA,EAAA0D,IAAA,CAAAV,IAAA,OAAAU,IAAA,YAAAlP,CAAA,CAAAkP,IAAA,GAAAlP,CAAA,gBAAAgP,SAAA,CAAAd,aAAA,CAAA3C,CAAA,kCAAAgC,iBAAA,CAAA7B,SAAA,GAAA8B,0BAAA,EAAA3B,CAAA,CAAAgC,CAAA,mBAAApO,KAAA,EAAA+N,0BAAA,EAAAhB,YAAA,SAAAX,CAAA,CAAA2B,0BAAA,mBAAA/N,KAAA,EAAA8N,iBAAA,EAAAf,YAAA,SAAAe,iBAAA,CAAAuC,WAAA,GAAAxD,MAAA,CAAAkB,0BAAA,EAAApB,CAAA,wBAAAb,CAAA,CAAAwE,mBAAA,aAAAvE,CAAA,QAAAD,CAAA,wBAAAC,CAAA,IAAAA,CAAA,CAAAwE,WAAA,WAAAzE,CAAA,KAAAA,CAAA,KAAAgC,iBAAA,6BAAAhC,CAAA,CAAAuE,WAAA,IAAAvE,CAAA,CAAA0E,IAAA,OAAA1E,CAAA,CAAA2E,IAAA,aAAA1E,CAAA,WAAAxJ,MAAA,CAAAmO,cAAA,GAAAnO,MAAA,CAAAmO,cAAA,CAAA3E,CAAA,EAAAgC,0BAAA,KAAAhC,CAAA,CAAA4E,SAAA,GAAA5C,0BAAA,EAAAlB,MAAA,CAAAd,CAAA,EAAAY,CAAA,yBAAAZ,CAAA,CAAAE,SAAA,GAAA1J,MAAA,CAAA4K,MAAA,CAAAiB,CAAA,GAAArC,CAAA,KAAAD,CAAA,CAAA8E,KAAA,aAAA7E,CAAA,aAAA4C,OAAA,EAAA5C,CAAA,OAAAsC,qBAAA,CAAAE,aAAA,CAAAtC,SAAA,GAAAY,MAAA,CAAA0B,aAAA,CAAAtC,SAAA,EAAAQ,CAAA,iCAAAX,CAAA,CAAAyC,aAAA,GAAAA,aAAA,EAAAzC,CAAA,CAAA+E,KAAA,aAAA9E,CAAA,EAAAC,CAAA,EAAAE,CAAA,EAAAE,CAAA,EAAA7L,CAAA,eAAAA,CAAA,KAAAA,CAAA,GAAAuQ,OAAA,OAAAvE,CAAA,OAAAgC,aAAA,CAAAtB,IAAA,CAAAlB,CAAA,EAAAC,CAAA,EAAAE,CAAA,EAAAE,CAAA,GAAA7L,CAAA,UAAAuL,CAAA,CAAAwE,mBAAA,CAAAtE,CAAA,IAAAO,CAAA,GAAAA,CAAA,CAAAkD,IAAA,GAAAb,IAAA,WAAA7C,CAAA,WAAAA,CAAA,CAAAgD,IAAA,GAAAhD,CAAA,CAAA/L,KAAA,GAAAuM,CAAA,CAAAkD,IAAA,WAAApB,qBAAA,CAAAD,CAAA,GAAAvB,MAAA,CAAAuB,CAAA,EAAAzB,CAAA,gBAAAE,MAAA,CAAAuB,CAAA,EAAA7B,CAAA,iCAAAM,MAAA,CAAAuB,CAAA,6DAAAtC,CAAA,CAAAtJ,IAAA,aAAAuJ,CAAA,QAAAD,CAAA,GAAAvJ,MAAA,CAAAwJ,CAAA,GAAAC,CAAA,gBAAAE,CAAA,IAAAJ,CAAA,EAAAE,CAAA,CAAAiE,IAAA,CAAA/D,CAAA,UAAAF,CAAA,CAAA+E,OAAA,aAAAtB,KAAA,WAAAzD,CAAA,CAAA5L,MAAA,SAAA2L,CAAA,GAAAC,CAAA,CAAAgF,GAAA,QAAAjF,CAAA,IAAAD,CAAA,SAAA2D,IAAA,CAAAzP,KAAA,GAAA+L,CAAA,EAAA0D,IAAA,CAAAV,IAAA,OAAAU,IAAA,WAAAA,IAAA,CAAAV,IAAA,OAAAU,IAAA,QAAA3D,CAAA,CAAAqC,MAAA,GAAAA,MAAA,EAAAf,OAAA,CAAAnB,SAAA,KAAAsE,WAAA,EAAAnD,OAAA,EAAAgD,KAAA,WAAAA,MAAAtE,CAAA,aAAAmF,IAAA,WAAAxB,IAAA,WAAAN,IAAA,QAAAC,KAAA,GAAArD,CAAA,OAAAgD,IAAA,YAAAE,QAAA,cAAAD,MAAA,gBAAAzB,GAAA,GAAAxB,CAAA,OAAAiE,UAAA,CAAAlF,OAAA,CAAAoF,aAAA,IAAApE,CAAA,WAAAE,CAAA,kBAAAA,CAAA,CAAAkF,MAAA,OAAAhF,CAAA,CAAAsB,IAAA,OAAAxB,CAAA,MAAAtL,KAAA,EAAAsL,CAAA,CAAAmF,KAAA,cAAAnF,CAAA,IAAAD,CAAA,MAAAqF,IAAA,WAAAA,KAAA,SAAArC,IAAA,WAAAhD,CAAA,QAAAiE,UAAA,IAAAG,UAAA,kBAAApE,CAAA,CAAAxH,IAAA,QAAAwH,CAAA,CAAAwB,GAAA,cAAA8D,IAAA,KAAAhC,iBAAA,WAAAA,kBAAAvD,CAAA,aAAAiD,IAAA,QAAAjD,CAAA,MAAAE,CAAA,kBAAAsF,OAAApF,CAAA,EAAAE,CAAA,WAAAG,CAAA,CAAAhI,IAAA,YAAAgI,CAAA,CAAAgB,GAAA,GAAAzB,CAAA,EAAAE,CAAA,CAAAyD,IAAA,GAAAvD,CAAA,EAAAE,CAAA,KAAAJ,CAAA,CAAAgD,MAAA,WAAAhD,CAAA,CAAAuB,GAAA,GAAAxB,CAAA,KAAAK,CAAA,aAAAA,CAAA,QAAA4D,UAAA,CAAA5P,MAAA,MAAAgM,CAAA,SAAAA,CAAA,QAAA7L,CAAA,QAAAyP,UAAA,CAAA5D,CAAA,GAAAG,CAAA,GAAAhM,CAAA,CAAA4P,UAAA,iBAAA5P,CAAA,CAAAqP,MAAA,SAAA0B,MAAA,aAAA/Q,CAAA,CAAAqP,MAAA,SAAAqB,IAAA,QAAAxE,CAAA,GAAAP,CAAA,CAAAsB,IAAA,CAAAjN,CAAA,eAAAoM,CAAA,GAAAT,CAAA,CAAAsB,IAAA,CAAAjN,CAAA,qBAAAkM,CAAA,IAAAE,CAAA,aAAAsE,IAAA,GAAA1Q,CAAA,CAAAsP,QAAA,SAAAyB,MAAA,CAAA/Q,CAAA,CAAAsP,QAAA,gBAAAoB,IAAA,GAAA1Q,CAAA,CAAAuP,UAAA,SAAAwB,MAAA,CAAA/Q,CAAA,CAAAuP,UAAA,cAAArD,CAAA,aAAAwE,IAAA,GAAA1Q,CAAA,CAAAsP,QAAA,SAAAyB,MAAA,CAAA/Q,CAAA,CAAAsP,QAAA,qBAAAlD,CAAA,QAAAmC,KAAA,qDAAAmC,IAAA,GAAA1Q,CAAA,CAAAuP,UAAA,SAAAwB,MAAA,CAAA/Q,CAAA,CAAAuP,UAAA,YAAAR,MAAA,WAAAA,OAAAvD,CAAA,EAAAD,CAAA,aAAAE,CAAA,QAAAgE,UAAA,CAAA5P,MAAA,MAAA4L,CAAA,SAAAA,CAAA,QAAAI,CAAA,QAAA4D,UAAA,CAAAhE,CAAA,OAAAI,CAAA,CAAAwD,MAAA,SAAAqB,IAAA,IAAA/E,CAAA,CAAAsB,IAAA,CAAApB,CAAA,wBAAA6E,IAAA,GAAA7E,CAAA,CAAA0D,UAAA,QAAAvP,CAAA,GAAA6L,CAAA,aAAA7L,CAAA,iBAAAwL,CAAA,mBAAAA,CAAA,KAAAxL,CAAA,CAAAqP,MAAA,IAAA9D,CAAA,IAAAA,CAAA,IAAAvL,CAAA,CAAAuP,UAAA,KAAAvP,CAAA,cAAAgM,CAAA,GAAAhM,CAAA,GAAAA,CAAA,CAAA4P,UAAA,cAAA5D,CAAA,CAAAhI,IAAA,GAAAwH,CAAA,EAAAQ,CAAA,CAAAgB,GAAA,GAAAzB,CAAA,EAAAvL,CAAA,SAAAyO,MAAA,gBAAAS,IAAA,GAAAlP,CAAA,CAAAuP,UAAA,EAAAjC,CAAA,SAAA0D,QAAA,CAAAhF,CAAA,MAAAgF,QAAA,WAAAA,SAAAxF,CAAA,EAAAD,CAAA,oBAAAC,CAAA,CAAAxH,IAAA,QAAAwH,CAAA,CAAAwB,GAAA,qBAAAxB,CAAA,CAAAxH,IAAA,mBAAAwH,CAAA,CAAAxH,IAAA,QAAAkL,IAAA,GAAA1D,CAAA,CAAAwB,GAAA,gBAAAxB,CAAA,CAAAxH,IAAA,SAAA8M,IAAA,QAAA9D,GAAA,GAAAxB,CAAA,CAAAwB,GAAA,OAAAyB,MAAA,kBAAAS,IAAA,yBAAA1D,CAAA,CAAAxH,IAAA,IAAAuH,CAAA,UAAA2D,IAAA,GAAA3D,CAAA,GAAA+B,CAAA,KAAA2D,MAAA,WAAAA,OAAAzF,CAAA,aAAAD,CAAA,QAAAkE,UAAA,CAAA5P,MAAA,MAAA0L,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAgE,UAAA,CAAAlE,CAAA,OAAAE,CAAA,CAAA8D,UAAA,KAAA/D,CAAA,cAAAwF,QAAA,CAAAvF,CAAA,CAAAmE,UAAA,EAAAnE,CAAA,CAAA+D,QAAA,GAAAG,aAAA,CAAAlE,CAAA,GAAA6B,CAAA,yBAAA4D,OAAA1F,CAAA,aAAAD,CAAA,QAAAkE,UAAA,CAAA5P,MAAA,MAAA0L,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAgE,UAAA,CAAAlE,CAAA,OAAAE,CAAA,CAAA4D,MAAA,KAAA7D,CAAA,QAAAG,CAAA,GAAAF,CAAA,CAAAmE,UAAA,kBAAAjE,CAAA,CAAA3H,IAAA,QAAA6H,CAAA,GAAAF,CAAA,CAAAqB,GAAA,EAAA2C,aAAA,CAAAlE,CAAA,YAAAI,CAAA,YAAA0C,KAAA,8BAAA4C,aAAA,WAAAA,cAAA5F,CAAA,EAAAE,CAAA,EAAAE,CAAA,gBAAA+C,QAAA,KAAAzC,QAAA,EAAA2B,MAAA,CAAArC,CAAA,GAAA0D,UAAA,EAAAxD,CAAA,EAAA0D,OAAA,EAAAxD,CAAA,oBAAA8C,MAAA,UAAAzB,GAAA,GAAAxB,CAAA,GAAA8B,CAAA,OAAA/B,CAAA;AAAA,SAAAuW,gBAAAA,CAAAtW,CAAA,EAAAK,CAAA,EAAAN,CAAA,WAAAM,CAAA,GAAAoW,qBAAA,CAAApW,CAAA,GAAAqW,gCAAA,CAAA1W,CAAA,EAAA2W,+BAAA,KAAAC,OAAA,CAAAC,SAAA,CAAAxW,CAAA,EAAAN,CAAA,QAAA0W,qBAAA,CAAAzW,CAAA,EAAAwE,WAAA,IAAAnE,CAAA,CAAA0F,KAAA,CAAA/F,CAAA,EAAAD,CAAA;AAAA,SAAA2W,gCAAAA,CAAA1W,CAAA,EAAAD,CAAA,QAAAA,CAAA,iBAAA2C,aAAA,CAAA3C,CAAA,0BAAAA,CAAA,UAAAA,CAAA,iBAAAA,CAAA,YAAAyD,SAAA,qEAAAsT,4BAAA,CAAA9W,CAAA;AAAA,SAAA8W,4BAAAA,CAAA/W,CAAA,mBAAAA,CAAA,YAAAgX,cAAA,sEAAAhX,CAAA;AAAA,SAAAyW,mBAAAA,CAAAxW,CAAA,EAAAK,CAAA,EAAAN,CAAA,EAAAE,CAAA,QAAAgC,CAAA,GAAA+U,UAAA,CAAAP,qBAAA,KAAAxW,CAAA,GAAAD,CAAA,CAAAE,SAAA,GAAAF,CAAA,GAAAK,CAAA,EAAAN,CAAA,cAAAE,CAAA,yBAAAgC,CAAA,aAAAjC,CAAA,WAAAiC,CAAA,CAAA8D,KAAA,CAAAhG,CAAA,EAAAC,CAAA,OAAAiC,CAAA;AAAA,SAAA+U,UAAAA,CAAA,WAAAA,UAAA,yBAAAJ,OAAA,IAAAA,OAAA,CAAAK,GAAA,GAAAL,OAAA,CAAAK,GAAA,CAAAC,IAAA,eAAAnX,CAAA,EAAAC,CAAA,EAAAC,CAAA,QAAAgC,CAAA,GAAAkV,oBAAA,CAAApX,CAAA,EAAAC,CAAA,OAAAiC,CAAA,QAAA9B,CAAA,GAAA3J,MAAA,CAAAsP,wBAAA,CAAA7D,CAAA,EAAAjC,CAAA,UAAAG,CAAA,CAAA8W,GAAA,GAAA9W,CAAA,CAAA8W,GAAA,CAAAxV,IAAA,CAAAjK,SAAA,CAAAnD,MAAA,OAAA0L,CAAA,GAAAE,CAAA,IAAAE,CAAA,CAAAlM,KAAA,OAAA+iB,UAAA,CAAAjR,KAAA,OAAAvO,SAAA;AAAA,SAAA2f,oBAAAA,CAAAnX,CAAA,EAAAK,CAAA,eAAAD,cAAA,CAAAqB,IAAA,CAAAzB,CAAA,EAAAK,CAAA,eAAAL,CAAA,GAAAyW,qBAAA,CAAAzW,CAAA,aAAAA,CAAA;AAAA,SAAAuW,eAAAA,CAAAvW,CAAA,EAAAD,CAAA,6BAAAA,CAAA,aAAAA,CAAA,YAAAyD,SAAA,wDAAAxD,CAAA,CAAAE,SAAA,GAAA1J,MAAA,CAAA4K,MAAA,CAAArB,CAAA,IAAAA,CAAA,CAAAG,SAAA,IAAAsE,WAAA,IAAAvQ,KAAA,EAAA+L,CAAA,EAAAiB,QAAA,MAAAD,YAAA,WAAAxK,MAAA,CAAA8J,cAAA,CAAAN,CAAA,iBAAAiB,QAAA,SAAAlB,CAAA,IAAAqX,qBAAA,CAAApX,CAAA,EAAAD,CAAA;AAAA,SAAAsX,iBAAArX,CAAA,QAAAC,CAAA,wBAAAqX,GAAA,OAAAA,GAAA,oBAAAD,gBAAA,YAAAA,iBAAArX,CAAA,iBAAAA,CAAA,KAAAuX,iBAAA,CAAAvX,CAAA,UAAAA,CAAA,2BAAAA,CAAA,YAAAwD,SAAA,uEAAAvD,CAAA,QAAAA,CAAA,CAAAuX,GAAA,CAAAxX,CAAA,UAAAC,CAAA,CAAAgX,GAAA,CAAAjX,CAAA,GAAAC,CAAA,CAAAwX,GAAA,CAAAzX,CAAA,EAAA0X,OAAA,cAAAA,QAAA,WAAAC,UAAA,CAAA3X,CAAA,EAAAxI,SAAA,EAAAif,qBAAA,OAAAjS,WAAA,YAAAkT,OAAA,CAAAxX,SAAA,GAAA1J,MAAA,CAAA4K,MAAA,CAAApB,CAAA,CAAAE,SAAA,IAAAsE,WAAA,IAAAvQ,KAAA,EAAAyjB,OAAA,EAAA3W,UAAA,MAAAE,QAAA,MAAAD,YAAA,WAAAoW,qBAAA,CAAAM,OAAA,EAAA1X,CAAA,MAAAqX,gBAAA,CAAArX,CAAA;AAAA,SAAA2X,WAAA3X,CAAA,EAAAD,CAAA,EAAAE,CAAA,QAAA0W,+BAAA,WAAAC,OAAA,CAAAC,SAAA,CAAA9Q,KAAA,OAAAvO,SAAA,OAAA6I,CAAA,WAAAA,CAAA,CAAA6D,IAAA,CAAA6B,KAAA,CAAA1F,CAAA,EAAAN,CAAA,OAAAkC,CAAA,QAAAjC,CAAA,CAAAkX,IAAA,CAAAnR,KAAA,CAAA/F,CAAA,EAAAK,CAAA,aAAAJ,CAAA,IAAAmX,qBAAA,CAAAnV,CAAA,EAAAhC,CAAA,CAAAC,SAAA,GAAA+B,CAAA;AAAA,SAAA0U,+BAAAA,CAAA,cAAA3W,CAAA,IAAA4X,OAAA,CAAA1X,SAAA,CAAA2X,OAAA,CAAApW,IAAA,CAAAmV,OAAA,CAAAC,SAAA,CAAAe,OAAA,iCAAA5X,CAAA,aAAA2W,+BAAA,YAAAA,0BAAA,aAAA3W,CAAA;AAAA,SAAAuX,kBAAAvX,CAAA,wBAAA8X,QAAA,CAAApP,QAAA,CAAAjH,IAAA,CAAAzB,CAAA,EAAA+X,OAAA,4BAAA5X,CAAA,gCAAAH,CAAA;AAAA,SAAAoX,qBAAAA,CAAApX,CAAA,EAAAD,CAAA,WAAAqX,qBAAA,GAAA5gB,MAAA,CAAAmO,cAAA,GAAAnO,MAAA,CAAAmO,cAAA,CAAAuS,IAAA,eAAAlX,CAAA,EAAAD,CAAA,WAAAC,CAAA,CAAA4E,SAAA,GAAA7E,CAAA,EAAAC,CAAA,KAAAoX,qBAAA,CAAApX,CAAA,EAAAD,CAAA;AAAA,SAAA0W,qBAAAA,CAAAzW,CAAA,WAAAyW,qBAAA,GAAAjgB,MAAA,CAAAmO,cAAA,GAAAnO,MAAA,CAAA0L,cAAA,CAAAgV,IAAA,eAAAlX,CAAA,WAAAA,CAAA,CAAA4E,SAAA,IAAApO,MAAA,CAAA0L,cAAA,CAAAlC,CAAA,MAAAyW,qBAAA,CAAAzW,CAAA;AAAA,SAAAlM,qBAAAA,CAAA0M,CAAA,EAAAL,CAAA,UAAAK,CAAA,YAAAL,CAAA,aAAAqD,SAAA;AAAA,SAAAgD,uBAAAA,CAAAzG,CAAA,EAAAE,CAAA,aAAAD,CAAA,MAAAA,CAAA,GAAAC,CAAA,CAAA5L,MAAA,EAAA2L,CAAA,UAAAK,CAAA,GAAAJ,CAAA,CAAAD,CAAA,GAAAK,CAAA,CAAAU,UAAA,GAAAV,CAAA,CAAAU,UAAA,QAAAV,CAAA,CAAAW,YAAA,kBAAAX,CAAA,KAAAA,CAAA,CAAAY,QAAA,QAAAzK,MAAA,CAAA8J,cAAA,CAAAP,CAAA,EAAAoG,oBAAA,CAAA9F,CAAA,CAAArM,GAAA,GAAAqM,CAAA;AAAA,SAAAtM,kBAAAA,CAAAgM,CAAA,EAAAE,CAAA,EAAAD,CAAA,WAAAC,CAAA,IAAAuG,uBAAA,CAAAzG,CAAA,CAAAG,SAAA,EAAAD,CAAA,GAAAD,CAAA,IAAAwG,uBAAA,CAAAzG,CAAA,EAAAC,CAAA,GAAAxJ,MAAA,CAAA8J,cAAA,CAAAP,CAAA,iBAAAkB,QAAA,SAAAlB,CAAA;AAAA,SAAA6F,cAAAA,CAAA7F,CAAA,EAAAE,CAAA,QAAAD,CAAA,GAAAxJ,MAAA,CAAAC,IAAA,CAAAsJ,CAAA,OAAAvJ,MAAA,CAAAqP,qBAAA,QAAAxF,CAAA,GAAA7J,MAAA,CAAAqP,qBAAA,CAAA9F,CAAA,GAAAE,CAAA,KAAAI,CAAA,GAAAA,CAAA,CAAArG,MAAA,WAAAiG,CAAA,WAAAzJ,MAAA,CAAAsP,wBAAA,CAAA/F,CAAA,EAAAE,CAAA,EAAAc,UAAA,OAAAf,CAAA,CAAAkE,IAAA,CAAA6B,KAAA,CAAA/F,CAAA,EAAAK,CAAA,YAAAL,CAAA;AAAA,SAAAgG,mBAAAA,CAAAjG,CAAA,aAAAE,CAAA,MAAAA,CAAA,GAAAzI,SAAA,CAAAnD,MAAA,EAAA4L,CAAA,UAAAD,CAAA,WAAAxI,SAAA,CAAAyI,CAAA,IAAAzI,SAAA,CAAAyI,CAAA,QAAAA,CAAA,OAAA2F,cAAA,CAAApP,MAAA,CAAAwJ,CAAA,OAAAjB,OAAA,WAAAkB,CAAA,IAAA1C,qBAAA,CAAAwC,CAAA,EAAAE,CAAA,EAAAD,CAAA,CAAAC,CAAA,SAAAzJ,MAAA,CAAAyP,yBAAA,GAAAzP,MAAA,CAAA0P,gBAAA,CAAAnG,CAAA,EAAAvJ,MAAA,CAAAyP,yBAAA,CAAAjG,CAAA,KAAA4F,cAAA,CAAApP,MAAA,CAAAwJ,CAAA,GAAAjB,OAAA,WAAAkB,CAAA,IAAAzJ,MAAA,CAAA8J,cAAA,CAAAP,CAAA,EAAAE,CAAA,EAAAzJ,MAAA,CAAAsP,wBAAA,CAAA9F,CAAA,EAAAC,CAAA,iBAAAF,CAAA;AAAA,SAAAxC,qBAAAA,CAAAwC,CAAA,EAAAE,CAAA,EAAAD,CAAA,YAAAC,CAAA,GAAAkG,oBAAA,CAAAlG,CAAA,MAAAF,CAAA,GAAAvJ,MAAA,CAAA8J,cAAA,CAAAP,CAAA,EAAAE,CAAA,IAAAhM,KAAA,EAAA+L,CAAA,EAAAe,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAlB,CAAA,CAAAE,CAAA,IAAAD,CAAA,EAAAD,CAAA;AAAA,SAAAoG,oBAAAA,CAAAnG,CAAA,QAAAxL,CAAA,GAAAiS,kBAAA,CAAAzG,CAAA,gCAAA0C,aAAA,CAAAlO,CAAA,IAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAiS,kBAAAA,CAAAzG,CAAA,EAAAC,CAAA,oBAAAyC,aAAA,CAAA1C,CAAA,MAAAA,CAAA,SAAAA,CAAA,MAAAD,CAAA,GAAAC,CAAA,CAAAO,MAAA,CAAAmG,WAAA,kBAAA3G,CAAA,QAAAvL,CAAA,GAAAuL,CAAA,CAAA0B,IAAA,CAAAzB,CAAA,EAAAC,CAAA,gCAAAyC,aAAA,CAAAlO,CAAA,UAAAA,CAAA,YAAAgP,SAAA,yEAAAvD,CAAA,GAAA0G,MAAA,GAAAC,MAAA,EAAA5G,CAAA;AAAA,SAAAgY,SAAA/X,CAAA,WAAAgY,eAAA,CAAAhY,CAAA,KAAAiY,gBAAA,CAAAjY,CAAA,KAAAkY,2BAAA,CAAAlY,CAAA,KAAAmY,gBAAA;AAAA,SAAAC,mBAAApY,CAAA,WAAAqY,kBAAA,CAAArY,CAAA,KAAAiY,gBAAA,CAAAjY,CAAA,KAAAkY,2BAAA,CAAAlY,CAAA,KAAAsY,kBAAA;AAAA,SAAAA,mBAAA,cAAA/U,SAAA;AAAA,SAAA0U,iBAAAjY,CAAA,8BAAAM,MAAA,YAAAN,CAAA,CAAAM,MAAA,CAAAE,QAAA,aAAAR,CAAA,uBAAAuY,KAAA,CAAAC,IAAA,CAAAxY,CAAA;AAAA,SAAAqY,mBAAArY,CAAA,QAAAuY,KAAA,CAAAE,OAAA,CAAAzY,CAAA,UAAA0Y,iBAAA,CAAA1Y,CAAA;AAAA,SAAAmG,yBAAAA,CAAAjG,CAAA,EAAAH,CAAA,EAAAD,CAAA,EAAAE,CAAA,EAAAI,CAAA,EAAAG,CAAA,EAAAE,CAAA,cAAAlM,CAAA,GAAA2L,CAAA,CAAAK,CAAA,EAAAE,CAAA,GAAAE,CAAA,GAAApM,CAAA,CAAAP,KAAA,WAAAkM,CAAA,gBAAAJ,CAAA,CAAAI,CAAA,KAAA3L,CAAA,CAAAwO,IAAA,GAAAhD,CAAA,CAAAY,CAAA,IAAAmE,OAAA,CAAApC,OAAA,CAAA/B,CAAA,EAAAiC,IAAA,CAAA5C,CAAA,EAAAI,CAAA;AAAA,SAAAgG,uBAAAA,CAAAlG,CAAA,6BAAAH,CAAA,SAAAD,CAAA,GAAAvI,SAAA,aAAAuN,OAAA,WAAA9E,CAAA,EAAAI,CAAA,QAAAG,CAAA,GAAAL,CAAA,CAAA4F,KAAA,CAAA/F,CAAA,EAAAD,CAAA,YAAAuG,MAAAnG,CAAA,IAAAiG,yBAAA,CAAA5F,CAAA,EAAAP,CAAA,EAAAI,CAAA,EAAAiG,KAAA,EAAAC,MAAA,UAAApG,CAAA,cAAAoG,OAAApG,CAAA,IAAAiG,yBAAA,CAAA5F,CAAA,EAAAP,CAAA,EAAAI,CAAA,EAAAiG,KAAA,EAAAC,MAAA,WAAApG,CAAA,KAAAmG,KAAA;AAAA,SAAAsS,eAAA3Y,CAAA,EAAAF,CAAA,WAAAkY,eAAA,CAAAhY,CAAA,KAAA4Y,qBAAA,CAAA5Y,CAAA,EAAAF,CAAA,KAAAoY,2BAAA,CAAAlY,CAAA,EAAAF,CAAA,KAAAqY,gBAAA;AAAA,SAAAA,iBAAA,cAAA5U,SAAA;AAAA,SAAAqV,sBAAA5Y,CAAA,EAAA0B,CAAA,QAAA3B,CAAA,WAAAC,CAAA,gCAAAM,MAAA,IAAAN,CAAA,CAAAM,MAAA,CAAAE,QAAA,KAAAR,CAAA,4BAAAD,CAAA,QAAAD,CAAA,EAAAI,CAAA,EAAA3L,CAAA,EAAAoM,CAAA,EAAAJ,CAAA,OAAAoB,CAAA,OAAAvB,CAAA,iBAAA7L,CAAA,IAAAwL,CAAA,GAAAA,CAAA,CAAAyB,IAAA,CAAAxB,CAAA,GAAAyD,IAAA,QAAA/B,CAAA,QAAAnL,MAAA,CAAAwJ,CAAA,MAAAA,CAAA,UAAA4B,CAAA,uBAAAA,CAAA,IAAA7B,CAAA,GAAAvL,CAAA,CAAAiN,IAAA,CAAAzB,CAAA,GAAAgD,IAAA,MAAAxC,CAAA,CAAA0D,IAAA,CAAAnE,CAAA,CAAA9L,KAAA,GAAAuM,CAAA,CAAAnM,MAAA,KAAAsN,CAAA,GAAAC,CAAA,iBAAA3B,CAAA,IAAAI,CAAA,OAAAF,CAAA,GAAAF,CAAA,yBAAA2B,CAAA,YAAA5B,CAAA,eAAAY,CAAA,GAAAZ,CAAA,cAAAxJ,MAAA,CAAAoK,CAAA,MAAAA,CAAA,2BAAAP,CAAA,QAAAF,CAAA,aAAAK,CAAA;AAAA,SAAAyX,gBAAAhY,CAAA,QAAAuY,KAAA,CAAAE,OAAA,CAAAzY,CAAA,UAAAA,CAAA;AAAA,SAAA6Y,2BAAA7Y,CAAA,EAAAF,CAAA,QAAAC,CAAA,yBAAAO,MAAA,IAAAN,CAAA,CAAAM,MAAA,CAAAE,QAAA,KAAAR,CAAA,qBAAAD,CAAA,QAAAwY,KAAA,CAAAE,OAAA,CAAAzY,CAAA,MAAAD,CAAA,GAAAmY,2BAAA,CAAAlY,CAAA,MAAAF,CAAA,IAAAE,CAAA,uBAAAA,CAAA,CAAA5L,MAAA,IAAA2L,CAAA,KAAAC,CAAA,GAAAD,CAAA,OAAA+Y,GAAA,MAAAC,CAAA,YAAAA,EAAA,eAAAnX,CAAA,EAAAmX,CAAA,EAAA7Y,CAAA,WAAAA,EAAA,WAAA4Y,GAAA,IAAA9Y,CAAA,CAAA5L,MAAA,KAAA2O,IAAA,WAAAA,IAAA,MAAA/O,KAAA,EAAAgM,CAAA,CAAA8Y,GAAA,UAAAhZ,CAAA,WAAAA,EAAAE,CAAA,UAAAA,CAAA,KAAA2B,CAAA,EAAAoX,CAAA,gBAAAxV,SAAA,iJAAAnD,CAAA,EAAAG,CAAA,OAAAI,CAAA,gBAAAiB,CAAA,WAAAA,EAAA,IAAA7B,CAAA,GAAAA,CAAA,CAAAyB,IAAA,CAAAxB,CAAA,MAAAE,CAAA,WAAAA,EAAA,QAAAF,CAAA,GAAAD,CAAA,CAAA0D,IAAA,WAAAlD,CAAA,GAAAP,CAAA,CAAA+C,IAAA,EAAA/C,CAAA,KAAAF,CAAA,WAAAA,EAAAE,CAAA,IAAAW,CAAA,OAAAP,CAAA,GAAAJ,CAAA,KAAA2B,CAAA,WAAAA,EAAA,UAAApB,CAAA,YAAAR,CAAA,cAAAA,CAAA,8BAAAY,CAAA,QAAAP,CAAA;AAAA,SAAA8X,4BAAAlY,CAAA,EAAAO,CAAA,QAAAP,CAAA,2BAAAA,CAAA,SAAA0Y,iBAAA,CAAA1Y,CAAA,EAAAO,CAAA,OAAAR,CAAA,MAAA0I,QAAA,CAAAjH,IAAA,CAAAxB,CAAA,EAAAmF,KAAA,6BAAApF,CAAA,IAAAC,CAAA,CAAAuE,WAAA,KAAAxE,CAAA,GAAAC,CAAA,CAAAuE,WAAA,CAAAC,IAAA,aAAAzE,CAAA,cAAAA,CAAA,GAAAwY,KAAA,CAAAC,IAAA,CAAAxY,CAAA,oBAAAD,CAAA,+CAAAiZ,IAAA,CAAAjZ,CAAA,IAAA2Y,iBAAA,CAAA1Y,CAAA,EAAAO,CAAA;AAAA,SAAAmY,kBAAA1Y,CAAA,EAAAO,CAAA,aAAAA,CAAA,IAAAA,CAAA,GAAAP,CAAA,CAAA5L,MAAA,MAAAmM,CAAA,GAAAP,CAAA,CAAA5L,MAAA,YAAA0L,CAAA,MAAAI,CAAA,GAAAqY,KAAA,CAAAhY,CAAA,GAAAT,CAAA,GAAAS,CAAA,EAAAT,CAAA,IAAAI,CAAA,CAAAJ,CAAA,IAAAE,CAAA,CAAAF,CAAA,UAAAI,CAAA;AAAA,SAAAuC,aAAAA,CAAArC,CAAA,sCAAAqC,aAAA,wBAAAnC,MAAA,uBAAAA,MAAA,CAAAE,QAAA,aAAAJ,CAAA,kBAAAA,CAAA,gBAAAA,CAAA,WAAAA,CAAA,yBAAAE,MAAA,IAAAF,CAAA,CAAAmE,WAAA,KAAAjE,MAAA,IAAAF,CAAA,KAAAE,MAAA,CAAAL,SAAA,qBAAAG,CAAA,KAAAqC,aAAA,CAAArC,CAAA;AADA,IAAI6Y,EAAE,GAAG1iB,MAAM,CAAC8J,cAAc;AAC9B,IAAI6Y,EAAE,GAAG,SAALA,EAAEA,CAAIpZ,CAAC,EAAK;EACd,MAAMyD,SAAS,CAACzD,CAAC,CAAC;AACpB,CAAC;AACD,IAAIqZ,EAAE,GAAG,SAALA,EAAEA,CAAIrZ,CAAC,EAAEC,CAAC,EAAEC,CAAC;EAAA,OAAKD,CAAC,IAAID,CAAC,GAAGmZ,EAAE,CAACnZ,CAAC,EAAEC,CAAC,EAAE;IAAEe,UAAU,EAAE,CAAC,CAAC;IAAEC,YAAY,EAAE,CAAC,CAAC;IAAEC,QAAQ,EAAE,CAAC,CAAC;IAAEhN,KAAK,EAAEgM;EAAE,CAAC,CAAC,GAAGF,CAAC,CAACC,CAAC,CAAC,GAAGC,CAAC;AAAA;AAChH,IAAIoZ,EAAE,GAAG,SAALA,EAAEA,CAAItZ,CAAC,EAAEC,CAAC,EAAEC,CAAC;IAAA,OAAKmZ,EAAE,CAACrZ,CAAC,EAAE2C,aAAA,CAAO1C,CAAC,KAAI,QAAQ,GAAGA,CAAC,GAAG,EAAE,GAAGA,CAAC,EAAEC,CAAC,CAAC;EAAA;EAAEqZ,EAAE,GAAG,SAALA,EAAEA,CAAIvZ,CAAC,EAAEC,CAAC,EAAEC,CAAC;IAAA,OAAKD,CAAC,CAACwX,GAAG,CAACzX,CAAC,CAAC,IAAIoZ,EAAE,CAAC,SAAS,GAAGlZ,CAAC,CAAC;EAAA;AAClH,IAAIsZ,CAAC,GAAG,SAAJA,CAACA,CAAIxZ,CAAC,EAAEC,CAAC,EAAEC,CAAC;IAAA,OAAMqZ,EAAE,CAACvZ,CAAC,EAAEC,CAAC,EAAE,yBAAyB,CAAC,EAAEC,CAAC,GAAGA,CAAC,CAACwB,IAAI,CAAC1B,CAAC,CAAC,GAAGC,CAAC,CAACiX,GAAG,CAAClX,CAAC,CAAC;EAAA,CAAC;EAAEyZ,EAAE,GAAG,SAALA,EAAEA,CAAIzZ,CAAC,EAAEC,CAAC,EAAEC,CAAC;IAAA,OAAKD,CAAC,CAACwX,GAAG,CAACzX,CAAC,CAAC,GAAGoZ,EAAE,CAAC,mDAAmD,CAAC,GAAGnZ,CAAC,YAAYyZ,OAAO,GAAGzZ,CAAC,CAACtE,GAAG,CAACqE,CAAC,CAAC,GAAGC,CAAC,CAACyX,GAAG,CAAC1X,CAAC,EAAEE,CAAC,CAAC;EAAA;EAAEyZ,EAAE,GAAG,SAALA,EAAEA,CAAI3Z,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAE0B,CAAC;IAAA,OAAM2X,EAAE,CAACvZ,CAAC,EAAEC,CAAC,EAAE,wBAAwB,CAAC,EAAE2B,CAAC,GAAGA,CAAC,CAACF,IAAI,CAAC1B,CAAC,EAAEE,CAAC,CAAC,GAAGD,CAAC,CAACyX,GAAG,CAAC1X,CAAC,EAAEE,CAAC,CAAC,EAAEA,CAAC;EAAA,CAAC;AACxT,IAAM0Z,EAAE,u0DACP;EAAEC,EAAE,GAAG,QAAOC,IAAI,iCAAAnX,aAAA,CAAJmX,IAAI,KAAG,GAAG,IAAIA,IAAI,CAACC,IAAI,IAAI,IAAIA,IAAI,CAAC,CAACH,EAAE,CAAC,EAAE;IAAEnhB,IAAI,EAAE;EAAgC,CAAC,CAAC;AACnG,SAASuhB,EAAEA,CAACha,CAAC,EAAE;EACb,IAAIC,CAAC;EACL,IAAI;IACF,IAAIA,CAAC,GAAG4Z,EAAE,IAAI,CAACC,IAAI,CAACG,GAAG,IAAIH,IAAI,CAACI,SAAS,EAAEC,eAAe,CAACN,EAAE,CAAC,EAAE,CAAC5Z,CAAC,EAAE,MAAM,EAAE;IAC5E,IAAMC,CAAC,GAAG,IAAIka,MAAM,CAACna,CAAC,EAAE;MACtByE,IAAI,EAAE1E,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,CAAC,CAAC0E;IAC/B,CAAC,CAAC;IACF,OAAOxE,CAAC,CAACd,gBAAgB,CAAC,OAAO,EAAE,YAAM;MACvC,CAAC0a,IAAI,CAACG,GAAG,IAAIH,IAAI,CAACI,SAAS,EAAEG,eAAe,CAACpa,CAAC,CAAC;IACjD,CAAC,CAAC,EAAEC,CAAC;EACP,CAAC,CAAC,OAAAoa,OAAA,EAAM;IACN,OAAO,IAAIF,MAAM,CACf,qCAAqC,GAAGG,kBAAkB,CAACX,EAAE,CAAC,EAC9D;MACElV,IAAI,EAAE1E,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,CAAC,CAAC0E;IAC/B,CACF,CAAC;EACH,CAAC,SAAS;IACRzE,CAAC,IAAI,CAAC6Z,IAAI,CAACG,GAAG,IAAIH,IAAI,CAACI,SAAS,EAAEG,eAAe,CAACpa,CAAC,CAAC;EACtD;AACF;AACA,IAAMua,EAAE,GAAG,GAAG;AACd,IAAIC,EAAE;AACN,QAAO5R,MAAM,iCAAAlG,aAAA,CAANkG,MAAM,KAAG,GAAG,IAAI,EAAA6R,KAAA,GAAC,CAACD,EAAE,IAAAE,gBAAA,GAAG9R,MAAM,CAAC+R,QAAQ,cAAAD,gBAAA,cAAAA,gBAAA,GAAK9R,MAAM,CAAC+R,QAAQ,GAAG,CAAC,CAAE,EAAExY,CAAC,cAAAsY,KAAA,cAAAA,KAAA,GAAKD,EAAE,CAACrY,CAAC,GAAG,eAAgB,IAAIyY,GAAG,CAAC,CAAC,EAAGlf,GAAG,CAAC6e,EAAE,CAAC;AACzH,IAAMM,EAAE,GAAG,CAAC;EAAEC,EAAE,GAAG,CAAC;EAAEC,EAAE,GAAG,CAAC;EAAEC,EAAE,GAAG,EAAE;EAAEC,EAAE,GAAG,CAAC;EAAEC,EAAE,GAAG,CAAC;EAAEC,EAAE,GAAG,GAAG;EAAEC,EAAE,GAAG,IAAI;EAAEC,EAAE,GAAG,GAAG;EAAEC,EAAE,GAAG,CAAC,CAAC;EAAEC,CAAC,GAAGhb,MAAM,CAAC,CAAC;EAAEib,EAAE,GAAG,8BAA8B;EAAEC,EAAE,GAAG,CAAC,CAAC;EAAEC,EAAE,GAAG,CAAC;EAAEC,EAAE,GAAG,CAAC;EAAEC,EAAE,GAAG,CAAC;EAAEC,EAAE,GAAG,EAAE;EAAEC,EAAE,GAAG,EAAE;EAAEC,EAAE,GAAG,EAAE;EAAEC,EAAE,GAAG,GAAG;EAAEC,EAAE,GAAG,GAAG;EAAEC,EAAE,GAAG,GAAG;EAAEC,CAAC,GAAG,IAAI;EAAEC,EAAE,GAAG,IAAI;EAAEC,EAAE,GAAG,IAAI;EAAEC,EAAE,GAAG,IAAI;EAAEC,EAAE,GAAG,KAAK;EAAEC,EAAE,GAAG,KAAK;EAAEC,EAAE,GAAG,KAAK;EAAEC,EAAE,GAAG,CAAC,IAAI,EAAE;EAAEC,EAAE,GAAG,CAAC,IAAI,EAAE;EAAEC,EAAE,GAAGrc,MAAM,CAAC,QAAQ,CAAC;EAAEsc,EAAE,GAAGtc,MAAM,CAAC,cAAc,CAAC;EAAEuc,EAAE,GAAGvc,MAAM,CAAC,EAAE,CAAC;AAC1Z,IAAIwc,EAAE,GAAGvE,KAAK,CAACE,OAAO;EAAEsE,EAAE,GAAGxE,KAAK,CAACtY,SAAS,CAAC6X,OAAO;EAAEkF,EAAE,GAAGzE,KAAK,CAACC,IAAI;EAAEyE,EAAE,GAAG1mB,MAAM,CAACC,IAAI;EAAE0mB,EAAE,GAAG3mB,MAAM,CAAC8J,cAAc;EAAE8c,EAAE,GAAG5mB,MAAM,CAACsP,wBAAwB;EAAEuX,EAAE,GAAG7mB,MAAM,CAACyP,yBAAyB;EAAEqX,EAAE,GAAG9mB,MAAM,CAAC0J,SAAS;EAAEqd,EAAE,GAAG/E,KAAK,CAACtY,SAAS;EAAEsd,EAAE,GAAGhnB,MAAM,CAAC0L,cAAc;AACzQ,SAASub,EAAEA,CAAC1d,CAAC,EAAE;EACb,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,CAAC,CAAC1L,MAAM,EAAE2L,CAAC,EAAE,EAC/BD,CAAC,CAACC,CAAC,CAAC,CAAC,CAAC;AACV;AACA,IAAM0d,EAAE,GAAG,QAAOC,mBAAmB,iCAAAjb,aAAA,CAAnBib,mBAAmB,KAAG,GAAG,GAAG,UAAC5d,CAAC;EAAA,OAAK6d,UAAU,CAAC7d,CAAC,EAAE,CAAC,CAAC;AAAA,IAAG4d,mBAAmB;AAC3F,IAAIE,EAAE,GAAG,EAAE;EAAEC,EAAE,GAAG,EAAE;AACpB,SAASC,EAAEA,CAAA,EAAG;EACZ,IAAIhe,CAAC,GAAG8d,EAAE;EACVA,EAAE,GAAG,EAAE,EAAEJ,EAAE,CAAC1d,CAAC,CAAC;AAChB;AACA,SAASie,EAAEA,CAAA,EAAG;EACZ,IAAIje,CAAC,GAAG+d,EAAE;EACVA,EAAE,GAAG,EAAE,EAAEL,EAAE,CAAC1d,CAAC,CAAC;AAChB;AACA,SAASke,EAAEA,CAACle,CAAC,EAAE;EACb8d,EAAE,CAACxpB,MAAM,KAAK,CAAC,IAAI6pB,cAAc,CAACH,EAAE,CAAC,EAAEF,EAAE,CAAC3Z,IAAI,CAACnE,CAAC,CAAC;AACnD;AACA,SAASoe,EAAEA,CAACpe,CAAC,EAAE;EACb+d,EAAE,CAACzpB,MAAM,KAAK,CAAC,IAAIqpB,EAAE,CAACM,EAAE,CAAC,EAAEF,EAAE,CAAC5Z,IAAI,CAACnE,CAAC,CAAC;AACvC;AACA,SAASqe,EAAEA,CAAA,EAAG;EACZP,EAAE,CAACxpB,MAAM,GAAG,CAAC,IAAI0pB,EAAE,CAAC,CAAC,EAAED,EAAE,CAACzpB,MAAM,GAAG,CAAC,IAAI2pB,EAAE,CAAC,CAAC;AAC9C;AACA,SAASK,EAAEA,CAACte,CAAC,EAAE;EACb,OAAOA,CAAC,KAAK,IAAI,CAACoC,CAAC;AACrB;AACA,SAASmc,EAAEA,CAACve,CAAC,EAAEC,CAAC,EAAE;EAChB,OAAOD,CAAC,IAAIA,CAAC,GAAGC,CAAC,IAAIA,CAAC,GAAGD,CAAC,KAAKC,CAAC,IAAID,CAAC,KAAK,IAAI,IAAI2C,aAAA,CAAO3C,CAAC,KAAI,QAAQ,IAAI,OAAOA,CAAC,IAAI,UAAU;AAClG;AACA,SAASwe,EAAEA,CAACxe,CAAC,EAAE;EACb,OAAO,CAACue,EAAE,CAACve,CAAC,EAAE,IAAI,CAACoC,CAAC,CAAC;AACvB;AACA,SAASqc,EAAEA,CAACze,CAAC,EAAE;EACb,MAAM,IAAIgD,KAAK,CAAC,yCAAyC,CAAC;AAC5D;AACA,SAAS0b,EAAEA,CAAA,EAAG;EACZ,MAAM,IAAI1b,KAAK,CAAC,gDAAgD,CAAC;AACnE;AACA,SAAS2b,EAAEA,CAAC3e,CAAC,EAAE;EACb,MAAM,IAAIgD,KAAK,CAAC,oCAAoC,CAAC;AACvD;AACA,SAAS4b,EAAEA,CAAA,EAAG;EACZ,MAAM,IAAI5b,KAAK,CAAC,mDAAmD,CAAC;AACtE;AACA,SAAS6b,EAAEA,CAAA,EAAG;EACZ,MAAM,IAAI7b,KAAK,CAAC,uCAAuC,CAAC;AAC1D;AACA,SAAS8b,EAAEA,CAAC9e,CAAC,EAAE;EACb,MAAM,IAAIgD,KAAK,CAAC,0CAA0C,CAAC;AAC7D;AACA,SAAS+b,EAAEA,CAAA,EAAG;EACZ,MAAM,IAAI/b,KAAK,CAAC,8CAA8C,CAAC;AACjE;AACA,SAASgc,EAAEA,CAAA,EAAG;EACZ,MAAM,IAAIhc,KAAK,CAAC,4CAA4C,CAAC;AAC/D;AACA,SAASic,EAAEA,CAAA,EAAG;EACZ,MAAM,IAAIjc,KAAK,CAAC,8CAA8C,CAAC;AACjE;AACA,SAASkc,EAAEA,CAAA,EAAG;EACZ,MAAM,IAAIlc,KAAK,CAAC,4CAA4C,CAAC;AAC/D;AACA,IAAImc,EAAE,GAAG,CAAC,CAAC;AACX,SAASC,EAAEA,CAACpf,CAAC,EAAEC,CAAC,EAAE;EAChB,IAAIC,CAAC,GAAG;IACN2B,CAAC,EAAE,CAAC;IACJ;IACAO,CAAC,EAAEpC,CAAC;IACJqf,SAAS,EAAE,IAAI;IACfC,MAAM,EAAEhB,EAAE;IACViB,EAAE,EAAE,CAAC;IACLC,EAAE,EAAE;EACN,CAAC;EACD,OAAOtf,CAAC;AACV;AACA,SAASuf,EAAEA,CAACzf,CAAC,EAAE;EACb,OAAO,eAAgB0f,EAAE,CAACN,EAAE,CAACpf,CAAC,CAAC,CAAC;AAClC;AACA;AACA,SAAS2f,EAAEA,CAAC3f,CAAC,EAAU;EAAA,IAARC,CAAC,GAAAxI,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,CAAC,CAAC;EACnB,IAAMyI,CAAC,GAAGkf,EAAE,CAACpf,CAAC,CAAC;EACf,OAAOC,CAAC,KAAKC,CAAC,CAACof,MAAM,GAAGd,EAAE,CAAC,EAAEte,CAAC;AAChC;AACA;AACA,SAASwf,EAAEA,CAAC1f,CAAC,EAAE;EACb,OAAO5J,CAAC,KAAK,IAAI,IAAI,CAACwpB,EAAE,IAAI,CAACxpB,CAAC,CAACyL,CAAC,GAAG8Z,EAAE,MAAM,CAAC,KAAKkE,EAAE,KAAK,IAAI,GAAGC,EAAE,CAAC,CAAC9f,CAAC,CAAC,CAAC,GAAG6f,EAAE,CAAC1b,IAAI,CAACnE,CAAC,CAAC,CAAC,EAAEA,CAAC;AACzF;AACA,SAAS+f,CAACA,CAAC/f,CAAC,EAAEC,CAAC,EAAE;EACf,OAAO7J,CAAC,KAAK,IAAI,IAAI,CAACwpB,EAAE,IAAII,EAAE,CAAC,CAAC,IAAI,CAAC5pB,CAAC,CAACyL,CAAC,IAAI8Z,EAAE,GAAGG,EAAE,CAAC,MAAM,CAAC;EAAI;EAC/D;EACC+D,EAAE,KAAK,IAAI,IAAI,CAACA,EAAE,CAACI,QAAQ,CAACjgB,CAAC,CAAC,CAAC,IAAIkf,EAAE,CAAC,CAAC,EAAEgB,EAAE,CAAClgB,CAAC,EAAEC,CAAC,CAAC;AACpD;AACA,SAASigB,EAAEA,CAAClgB,CAAC,EAAEC,CAAC,EAAE;EAChB,OAAOD,CAAC,CAACsf,MAAM,CAACrf,CAAC,CAAC,KAAKD,CAAC,CAACoC,CAAC,EAAEpC,CAAC,CAACoC,CAAC,GAAGnC,CAAC,EAAED,CAAC,CAACwf,EAAE,GAAGW,EAAE,CAAC,CAAC,EAAEC,EAAE,CAACpgB,CAAC,EAAEqc,EAAE,CAAC,EAAEgE,CAAC,KAAK,IAAI,IAAI,CAACA,CAAC,CAACxe,CAAC,GAAGua,CAAC,MAAM,CAAC,IAAI,CAACiE,CAAC,CAACxe,CAAC,IAAIka,EAAE,GAAGC,EAAE,CAAC,MAAM,CAAC,KAAKsE,EAAE,KAAK,IAAI,GAAGC,EAAE,CAAC,CAACvgB,CAAC,CAAC,CAAC,GAAGsgB,EAAE,CAACnc,IAAI,CAACnE,CAAC,CAAC,CAAC,CAAC,EAAEC,CAAC;AACnK;AACA,SAASmgB,EAAEA,CAACpgB,CAAC,EAAEC,CAAC,EAAE;EAChB,IAAIC,CAAC,GAAGF,CAAC,CAACqf,SAAS;EACnB,IAAInf,CAAC,KAAK,IAAI,EACZ,KAAK,IAAI0B,CAAC,GAAG1B,CAAC,CAAC5L,MAAM,EAAEG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGmN,CAAC,EAAEnN,CAAC,EAAE,EAAE;IACxC,IAAIgM,CAAC,GAAGP,CAAC,CAACzL,CAAC,CAAC;MAAE6L,CAAC,GAAGG,CAAC,CAACoB,CAAC;IACrB,CAACvB,CAAC,GAAG+b,EAAE,MAAM,CAAC,KAAKmE,EAAE,CAAC/f,CAAC,EAAER,CAAC,CAAC,EAAE,CAACK,CAAC,IAAI8b,CAAC,GAAGF,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC5b,CAAC,GAAGqb,EAAE,MAAM,CAAC,GAAGyE,EAAE,CACvE;IACA3f,CAAC,EACD6b,EACF,CAAC,GAAGmE,EAAE,CACJ;IACAhgB,CACF,CAAC,CAAC,CAAC;EACL;AACJ;AACA;AACA,SAASigB,EAAEA,CAAC1gB,CAAC,EAAE;EACb,IAAIC,CAAC,GAAG0b,EAAE,GAAGU,EAAE;IAAEnc,CAAC,GAAG9J,CAAC,KAAK,IAAI,IAAI,CAACA,CAAC,CAACyL,CAAC,GAAG8Z,EAAE,MAAM,CAAC,IACjD;IACAvlB,CAAC,IACC,IAAI;EACR,OAAOiqB,CAAC,KAAK,IAAI,IAAIngB,CAAC,KAAK,IAAI,IAAI,CAACA,CAAC,CAAC2B,CAAC,GAAGqa,EAAE,MAAM,CAAC,GAAGjc,CAAC,IAAIic,EAAE,GAAGmE,CAAC,CAACxe,CAAC,IAAI+a,EAAE,EAAE;IACzE+D,GAAG,EAAEC,CAAC;IACNC,IAAI,EAAE,IAAI;IACVC,OAAO,EAAE,IAAI;IACbxB,MAAM,EAAEhB,EAAE;IACVzc,CAAC,EAAE5B,CAAC;IACJyd,EAAE,EAAE1d,CAAC;IACLqf,SAAS,EAAE,IAAI;IACfE,EAAE,EAAE,CAAC;IACLnd,CAAC,GACC;IACA,IAAI,CACL;IACDod,EAAE,EAAE,CAAC;IACLnmB,MAAM,EAAE6G,CAAC,aAADA,CAAC,cAADA,CAAC,GAAImgB;EACf,CAAC;AACH;AACA,SAASU,EAAEA,CAAC/gB,CAAC,EAAE;EACb,IAAIC,CAAC,GAAGD,CAAC,CAAC8gB,OAAO;EACjB,IAAI7gB,CAAC,KAAK,IAAI,EAAE;IACdD,CAAC,CAAC8gB,OAAO,GAAG,IAAI;IAChB,KAAK,IAAI5gB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,CAAC,CAAC3L,MAAM,EAAE4L,CAAC,IAAI,CAAC,EAClC8gB,EAAE,CACA;IACA/gB,CAAC,CAACC,CAAC,CACL,CAAC;EACL;AACF;AACA,SAAS+gB,EAAEA,CAACjhB,CAAC,EAAE;EACb,KAAK,IAAIC,CAAC,GAAGD,CAAC,CAAC3G,MAAM,EAAE4G,CAAC,KAAK,IAAI,GAAI;IACnC,IAAI,CAACA,CAAC,CAAC4B,CAAC,GAAG8Z,EAAE,MAAM,CAAC,EAClB,OACE,qBACA1b,CAAC;IAELA,CAAC,GAAGA,CAAC,CAAC5G,MAAM;EACd;EACA,OAAO,IAAI;AACb;AACA,SAAS6nB,EAAEA,CAAClhB,CAAC,EAAE;EACb,IAAIC,CAAC;IAAEC,CAAC,GAAGmgB,CAAC;EACZc,EAAE,CAACF,EAAE,CAACjhB,CAAC,CAAC,CAAC;EACT,IAAI;IACF+gB,EAAE,CAAC/gB,CAAC,CAAC,EAAEC,CAAC,GAAGmhB,EAAE,CAACphB,CAAC,CAAC;EAClB,CAAC,SAAS;IACRmhB,EAAE,CAACjhB,CAAC,CAAC;EACP;EACA,OAAOD,CAAC;AACV;AACA,SAASohB,EAAEA,CAACrhB,CAAC,EAAE;EACb,IAAIC,CAAC,GAAGihB,EAAE,CAAClhB,CAAC,CAAC;IAAEE,CAAC,GAAG,CAACohB,EAAE,IAAI,CAACthB,CAAC,CAAC6B,CAAC,GAAGqa,EAAE,MAAM,CAAC,KAAKlc,CAAC,CAAC6gB,IAAI,KAAK,IAAI,GAAGvE,EAAE,GAAGF,CAAC;EACvEoE,EAAE,CAACxgB,CAAC,EAAEE,CAAC,CAAC,EAAEF,CAAC,CAACsf,MAAM,CAACrf,CAAC,CAAC,KAAKD,CAAC,CAACoC,CAAC,GAAGnC,CAAC,EAAED,CAAC,CAACwf,EAAE,GAAGW,EAAE,CAAC,CAAC,CAAC;AACjD;AACA,SAASoB,EAAEA,CAACvhB,CAAC,EAAE;EACbkI,OAAO,CAACsZ,IAAI,CAAC,yCAAyC,CAAC;AACzD;AACA,IAAIC,CAAC,GAAG,CAAC,CAAC;AACV,SAASC,EAAEA,CAAC1hB,CAAC,EAAE;EACbyhB,CAAC,GAAGzhB,CAAC;AACP;AACA,IAAI2hB,CAAC;AACL,SAASC,EAAEA,CAAC5hB,CAAC,EAAE;EACb,IAAIA,CAAC,KAAK,IAAI,EACZ,MAAMuhB,EAAE,CAAC,CAAC,EAAEhG,EAAE;EAChB,OAAOoG,CAAC,GAAG3hB,CAAC;AACd;AACA,SAAS6hB,EAAEA,CAAA,EAAG;EACZ,OAAOD,EAAE,CACP;EACA,eAAgBE,EAAE,CAACH,CAAC,CACtB,CAAC;AACH;AACA,SAASI,CAACA,CAAC/hB,CAAC,EAAE;EACZ,IAAIyhB,CAAC,EAAE;IACL,IAAI,eAAgBK,EAAE,CAACH,CAAC,CAAC,KAAK,IAAI,EAChC,MAAMJ,EAAE,CAAC,CAAC,EAAEhG,EAAE;IAChBoG,CAAC,GAAG3hB,CAAC;EACP;AACF;AACA,SAASgiB,EAAEA,CAAA,EAAG;EACZ,KAAK,IAAIhiB,CAAC,GAAG,CAAC,EAAEC,CAAC,GAAG0hB,CAAC,IAAM;IACzB,IAAI1hB,CAAC,CAACgiB,QAAQ,KAAK,CAAC,EAAE;MACpB,IAAI/hB,CAAC,GACH;MACAD,CAAC,CAACjL,IACH;MACD,IAAIkL,CAAC,KAAKob,EAAE,EAAE;QACZ,IAAItb,CAAC,KAAK,CAAC,EAAE,OAAOC,CAAC;QACrBD,CAAC,IAAI,CAAC;MACR,CAAC,MAAM,CAACE,CAAC,KAAKkb,EAAE,IAAIlb,CAAC,KAAKmb,EAAE,MAAMrb,CAAC,IAAI,CAAC,CAAC;IAC3C;IACA,IAAI4B,CAAC,GACH;IACA,eAAgBkgB,EAAE,CAAC7hB,CAAC,CACrB;IACDA,CAAC,CAACrE,MAAM,CAAC,CAAC,EAAEqE,CAAC,GAAG2B,CAAC;EACnB;AACF;AACA,SAASsgB,EAAEA,CAACliB,CAAC,EAAe;EAAA,IAAbC,CAAC,GAAAxI,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,IAAI;EAAA,IAAEyI,CAAC,GAAAzI,SAAA,CAAAnD,MAAA,OAAAmD,SAAA,MAAApD,SAAA;EACxB,IAAIsO,aAAA,CAAO3C,CAAC,KAAI,QAAQ,IAAIA,CAAC,KAAK,IAAI,IAAI6c,EAAE,IAAI7c,CAAC,EAC/C,OAAOA,CAAC;EACV,IAAM4B,CAAC,GAAG6b,EAAE,CAACzd,CAAC,CAAC;EACf,IAAI4B,CAAC,KAAK2b,EAAE,IAAI3b,CAAC,KAAK4b,EAAE,EACtB,OAAOxd,CAAC;EACV,IAAIvL,CAAC,GAAG,eAAgB,IAAI8iB,GAAG,CAAC,CAAC;IAAE9W,CAAC,GAAGuc,EAAE,CAAChd,CAAC,CAAC;IAAEM,CAAC,GAAG8e,EAAE,CAAC,CAAC,CAAC;EACvD3e,CAAC,IAAIhM,CAAC,CAACijB,GAAG,CAAC,QAAQ,EAAE0H,EAAE,CACrB;EACApf,CAAC,CAAC1L,MACJ,CAAC,CAAC;EACF,IAAIuN,CAAC;EACL,OAAO,IAAIsgB,KAAK,CACd;EACAniB,CAAC,EACD;IACEO,cAAc,WAAdA,cAAcA,CAACuB,CAAC,EAAEnB,CAAC,EAAEyB,CAAC,EAAE;MACtB,CAAC,EAAE,OAAO,IAAIA,CAAC,CAAC,IAAIA,CAAC,CAACnB,YAAY,KAAK,CAAC,CAAC,IAAImB,CAAC,CAACpB,UAAU,KAAK,CAAC,CAAC,IAAIoB,CAAC,CAAClB,QAAQ,KAAK,CAAC,CAAC,KAAK6d,EAAE,CAAC,CAAC;MAC9F,IAAIpd,CAAC,GAAGlN,CAAC,CAACyiB,GAAG,CAACvW,CAAC,CAAC;MAChB,OAAOgB,CAAC,KAAK,KAAK,CAAC,IAAIA,CAAC,GAAGyd,EAAE,CAAChd,CAAC,CAAClO,KAAK,CAAC,EAAEO,CAAC,CAACijB,GAAG,CAAC/W,CAAC,EAAEgB,CAAC,CAAC,IAAIoe,CAAC,CAACpe,CAAC,EAAEugB,EAAE,CAAC9f,CAAC,CAAClO,KAAK,EAAE2N,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACjF,CAAC;IACDugB,cAAc,WAAdA,cAAcA,CAACtgB,CAAC,EAAEnB,CAAC,EAAE;MACnB,IAAIyB,CAAC,GAAG3N,CAAC,CAACyiB,GAAG,CAACvW,CAAC,CAAC;MAChB,IAAIyB,CAAC,KAAK,KAAK,CAAC,EACdzB,CAAC,IAAImB,CAAC,IAAIrN,CAAC,CAACijB,GAAG,CAAC/W,CAAC,EAAEye,EAAE,CAAC5D,CAAC,CAAC,CAAC,CAAC,KACvB;QACH,IAAI/a,CAAC,IAAI,OAAOE,CAAC,IAAI,QAAQ,EAAE;UAC7B,IAAIgB,CAAC,GACH;YACAlN,CAAC,CAACyiB,GAAG,CAAC,QAAQ,CACf;YAAE5U,CAAC,GAAGuE,MAAM,CAAClG,CAAC,CAAC;UAChBkG,MAAM,CAACwb,SAAS,CAAC/f,CAAC,CAAC,IAAIA,CAAC,GAAGX,CAAC,CAACS,CAAC,IAAI2d,CAAC,CAACpe,CAAC,EAAEW,CAAC,CAAC;QAC3C;QACAyd,CAAC,CAAC3d,CAAC,EAAEoZ,CAAC,CAAC,EAAE8G,EAAE,CAAChiB,CAAC,CAAC;MAChB;MACA,OAAO,CAAC,CAAC;IACX,CAAC;IACD4W,GAAG,WAAHA,GAAGA,CAACpV,CAAC,EAAEnB,CAAC,EAAEyB,CAAC,EAAE;MACX,IAAImgB,CAAC;MACL,IAAI5hB,CAAC,KAAKkc,EAAE,EACV,OAAO7c,CAAC;MACV,IAAI2B,CAAC,GAAGlN,CAAC,CAACyiB,GAAG,CAACvW,CAAC,CAAC;QAAE2B,CAAC,GAAG3B,CAAC,IAAImB,CAAC;MAC5B,IAAIH,CAAC,KAAK,KAAK,CAAC,KAAK,CAACW,CAAC,IAAI,CAACigB,CAAC,GAAGlF,EAAE,CAACvb,CAAC,EAAEnB,CAAC,CAAC,KAAK,IAAI,IAAI4hB,CAAC,CAACrhB,QAAQ,CAAC,KAAKS,CAAC,GAAGyd,EAAE,CAAC8C,EAAE,CAAC5f,CAAC,GAAGR,CAAC,CAACnB,CAAC,CAAC,GAAG6a,CAAC,EAAE3Z,CAAC,CAAC,CAAC,EAAEpN,CAAC,CAACijB,GAAG,CAAC/W,CAAC,EAAEgB,CAAC,CAAC,CAAC,EAAEA,CAAC,KAAK,KAAK,CAAC,EAAE;QAC5H,IAAI6gB,CAAC,GAAGrsB,CAAC,CAACwL,CAAC,CAAC;QACZ,OAAO6gB,CAAC,KAAKhH,CAAC,GAAG,KAAK,CAAC,GAAGgH,CAAC;MAC7B;MACA,OAAO3L,OAAO,CAACK,GAAG,CAACpV,CAAC,EAAEnB,CAAC,EAAEyB,CAAC,CAAC;IAC7B,CAAC;IACD2D,wBAAwB,WAAxBA,wBAAwBA,CAACjE,CAAC,EAAEnB,CAAC,EAAE;MAC7B,IAAIyB,CAAC,GAAGyU,OAAO,CAAC9Q,wBAAwB,CAACjE,CAAC,EAAEnB,CAAC,CAAC;MAC9C,IAAIyB,CAAC,IAAI,OAAO,IAAIA,CAAC,EAAE;QACrB,IAAIT,CAAC,GAAGlN,CAAC,CAACyiB,GAAG,CAACvW,CAAC,CAAC;QAChBgB,CAAC,KAAKS,CAAC,CAAClO,KAAK,GAAGiC,CAAC,CAACwL,CAAC,CAAC,CAAC;MACvB,CAAC,MAAM,IAAIS,CAAC,KAAK,KAAK,CAAC,EAAE;QACvB,IAAIE,CAAC,GAAG7N,CAAC,CAACyiB,GAAG,CAACvW,CAAC,CAAC;UAAE6hB,CAAC,GAAGlgB,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,CAAC,CAACF,CAAC;QAC9C,IAAIE,CAAC,KAAK,KAAK,CAAC,IAAIkgB,CAAC,KAAKhH,CAAC,EACzB,OAAO;UACLxa,UAAU,EAAE,CAAC,CAAC;UACdC,YAAY,EAAE,CAAC,CAAC;UAChB/M,KAAK,EAAEsuB,CAAC;UACRthB,QAAQ,EAAE,CAAC;QACb,CAAC;MACL;MACA,OAAOkB,CAAC;IACV,CAAC;IACDqV,GAAG,WAAHA,GAAGA,CAAC3V,CAAC,EAAEnB,CAAC,EAAE;MACR,IAAI6hB,CAAC;MACL,IAAI7hB,CAAC,KAAKkc,EAAE,EACV,OAAO,CAAC,CAAC;MACX,IAAIza,CAAC,GAAG3N,CAAC,CAACyiB,GAAG,CAACvW,CAAC,CAAC;QAAEgB,CAAC,GAAGS,CAAC,KAAK,KAAK,CAAC,IAAIA,CAAC,CAACA,CAAC,KAAKoZ,CAAC,IAAI3E,OAAO,CAACY,GAAG,CAAC3V,CAAC,EAAEnB,CAAC,CAAC;MACpE,IAAIyB,CAAC,KAAK,KAAK,CAAC,IAAIie,CAAC,KAAK,IAAI,KAAK,CAAC1e,CAAC,IAAI,CAAC6gB,CAAC,GAAGnF,EAAE,CAACvb,CAAC,EAAEnB,CAAC,CAAC,KAAK,IAAI,IAAI6hB,CAAC,CAACthB,QAAQ,CAAC,EAAE;QAC9EkB,CAAC,KAAK,KAAK,CAAC,KAAKA,CAAC,GAAGgd,EAAE,CAACzd,CAAC,GAAGugB,EAAE,CAACpgB,CAAC,CAACnB,CAAC,CAAC,EAAEkB,CAAC,CAAC,GAAG2Z,CAAC,CAAC,EAAE/mB,CAAC,CAACijB,GAAG,CAAC/W,CAAC,EAAEyB,CAAC,CAAC,CAAC;QAC1D,IAAIE,CAAC,GAAGnM,CAAC,CAACiM,CAAC,CAAC;QACZ,IAAIE,CAAC,KAAKkZ,CAAC,EACT,OAAO,CAAC,CAAC;MACb;MACA,OAAO7Z,CAAC;IACV,CAAC;IACD+V,GAAG,WAAHA,GAAGA,CAAC5V,CAAC,EAAEnB,CAAC,EAAEyB,CAAC,EAAET,CAAC,EAAE;MACd,IAAIsX,CAAC;MACL,IAAI3W,CAAC,GAAG7N,CAAC,CAACyiB,GAAG,CAACvW,CAAC,CAAC;QAAE6hB,CAAC,GAAG7hB,CAAC,IAAImB,CAAC;MAC5B,IAAIrB,CAAC,IAAIE,CAAC,KAAK,QAAQ,EACrB,KAAK,IAAI4hB,CAAC,GAAGngB,CAAC,EAAEmgB,CAAC,GAAG;MACpBjgB,CAAC,CAACF,CAAC,EAAEmgB,CAAC,IAAI,CAAC,EAAE;QACX,IAAIE,CAAC,GAAGhuB,CAAC,CAACyiB,GAAG,CAACqL,CAAC,GAAG,EAAE,CAAC;QACrBE,CAAC,KAAK,KAAK,CAAC,GAAG1C,CAAC,CAAC0C,CAAC,EAAEjH,CAAC,CAAC,GAAG+G,CAAC,IAAIzgB,CAAC,KAAK2gB,CAAC,GAAGrD,EAAE,CAAC5D,CAAC,CAAC,EAAE/mB,CAAC,CAACijB,GAAG,CAAC6K,CAAC,GAAG,EAAE,EAAEE,CAAC,CAAC,CAAC;MAClE;MACFngB,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,CAACkgB,CAAC,IAAI,CAACvJ,CAAC,GAAGoE,EAAE,CAACvb,CAAC,EAAEnB,CAAC,CAAC,KAAK,IAAI,IAAIsY,CAAC,CAAC/X,QAAQ,MAAMoB,CAAC,GAAG8c,EAAE,CAAC,KAAK,CAAC,CAAC,EAAEW,CAAC,CAACzd,CAAC,EAAE4f,EAAE,CAAC9f,CAAC,EAAEP,CAAC,CAAC,CAAC,EAAEpN,CAAC,CAACijB,GAAG,CAAC/W,CAAC,EAAE2B,CAAC,CAAC,CAAC,IAAIkgB,CAAC,GAAGlgB,CAAC,CAACF,CAAC,KAAKoZ,CAAC,EAAEuE,CAAC,CAACzd,CAAC,EAAE4f,EAAE,CAAC9f,CAAC,EAAEP,CAAC,CAAC,CAAC,CAAC;MAC9I,IAAI6gB,CAAC,GAAG7L,OAAO,CAAC9Q,wBAAwB,CAACjE,CAAC,EAAEnB,CAAC,CAAC;MAC9C,IAAI+hB,CAAC,IAAI,IAAI,IAAIA,CAAC,CAAChL,GAAG,IAAIgL,CAAC,CAAChL,GAAG,CAAChW,IAAI,CAACC,CAAC,EAAES,CAAC,CAAC,EAAE,CAACogB,CAAC,EAAE;QAC9C,IAAI/hB,CAAC,IAAI,OAAOE,CAAC,IAAI,QAAQ,EAAE;UAC7B,IAAIgiB,CAAC,GACH;YACAluB,CAAC,CAACyiB,GAAG,CAAC,QAAQ,CACf;YAAE0L,CAAC,GAAG/b,MAAM,CAAClG,CAAC,CAAC;UAChBkG,MAAM,CAACwb,SAAS,CAACO,CAAC,CAAC,IAAIA,CAAC,IAAID,CAAC,CAACvgB,CAAC,IAAI2d,CAAC,CAAC4C,CAAC,EAAEC,CAAC,GAAG,CAAC,CAAC;QAChD;QACAN,EAAE,CAAChiB,CAAC,CAAC;MACP;MACA,OAAO,CAAC,CAAC;IACX,CAAC;IACDuF,OAAO,WAAPA,OAAOA,CAAC/D,CAAC,EAAE;MACT3L,CAAC,CAACmK,CAAC,CAAC;MACJ,IAAIK,CAAC,GAAGkW,OAAO,CAAChR,OAAO,CAAC/D,CAAC,CAAC,CAAC7H,MAAM,CAAC,UAACqI,CAAC,EAAK;QACvC,IAAIkgB,CAAC,GAAG/tB,CAAC,CAACyiB,GAAG,CAAC5U,CAAC,CAAC;QAChB,OAAOkgB,CAAC,KAAK,KAAK,CAAC,IAAIA,CAAC,CAACpgB,CAAC,KAAKoZ,CAAC;MAClC,CAAC,CAAC;MAAC,IAAAqH,SAAA,GAAA9J,0BAAA,CACgBtkB,CAAC;QAAAquB,KAAA;MAAA;QAApB,KAAAD,SAAA,CAAA/gB,CAAA,MAAAghB,KAAA,GAAAD,SAAA,CAAAziB,CAAA,IAAA6C,IAAA,GACE;UAAA,IAAA8f,WAAA,GAAAlK,cAAA,CAAAiK,KAAA,CAAA5uB,KAAA;YADQkO,CAAC,GAAA2gB,WAAA;YAAEphB,CAAC,GAAAohB,WAAA;UACZphB,CAAC,CAACS,CAAC,KAAKoZ,CAAC,IAAI,EAAEpZ,CAAC,IAAIN,CAAC,CAAC,IAAInB,CAAC,CAACwD,IAAI,CAAC/B,CAAC,CAAC;QAAA;MAAC,SAAA4gB,GAAA;QAAAH,SAAA,CAAA7iB,CAAA,CAAAgjB,GAAA;MAAA;QAAAH,SAAA,CAAAhhB,CAAA;MAAA;MACtC,OAAOlB,CAAC;IACV,CAAC;IACDiE,cAAc,WAAdA,cAAcA,CAAA,EAAG;MACfoa,EAAE,CAAC,CAAC;IACN;EACF,CACF,CAAC;AACH;AACA,SAASsD,EAAEA,CAACtiB,CAAC,EAAS;EAAA,IAAPC,CAAC,GAAAxI,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,CAAC;EAClBsoB,CAAC,CAAC/f,CAAC,EAAEA,CAAC,CAACoC,CAAC,GAAGnC,CAAC,CAAC;AACf;AACA,IAAIgjB,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEC,EAAE;AAClB,SAASC,EAAEA,CAAA,EAAG;EACZ,IAAIJ,EAAE,KAAK,KAAK,CAAC,EAAE;IACjBA,EAAE,GAAGpa,MAAM,EAAEqa,EAAE,GAAG,SAAS,CAAChK,IAAI,CAACzF,SAAS,CAAC6P,SAAS,CAAC;IACrD,IAAItjB,CAAC,GAAGujB,OAAO,CAACpjB,SAAS;MAAEF,CAAC,GAAGujB,IAAI,CAACrjB,SAAS;IAC7CgjB,EAAE,GAAG9F,EAAE,CAACpd,CAAC,EAAE,YAAY,CAAC,CAACiX,GAAG,EAAEkM,EAAE,GAAG/F,EAAE,CAACpd,CAAC,EAAE,aAAa,CAAC,CAACiX,GAAG,EAAElX,CAAC,CAACyjB,OAAO,GAAG,KAAK,CAAC,EAAEzjB,CAAC,CAAC0jB,WAAW,GAAG,KAAK,CAAC,EAAE1jB,CAAC,CAAC2jB,YAAY,GAAG,IAAI,EAAE3jB,CAAC,CAAC4jB,OAAO,GAAG,KAAK,CAAC,EAAE5jB,CAAC,CAAC6jB,GAAG,GAAG,KAAK,CAAC,EAAEC,IAAI,CAAC3jB,SAAS,CAAC4jB,GAAG,GAAG,KAAK,CAAC;EACjM;AACF;AACA,SAASC,EAAEA,CAAA,EAAS;EAAA,IAARhkB,CAAC,GAAAvI,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,EAAE;EAChB,OAAO7B,QAAQ,CAACquB,cAAc,CAACjkB,CAAC,CAAC;AACnC;AACA;AACA,SAASkkB,EAAEA,CAAClkB,CAAC,EAAE;EACb,OAAOmjB,EAAE,CAACzhB,IAAI,CAAC1B,CAAC,CAAC;AACnB;AACA;AACA,SAAS8hB,EAAEA,CAAC9hB,CAAC,EAAE;EACb,OAAOojB,EAAE,CAAC1hB,IAAI,CAAC1B,CAAC,CAAC;AACnB;AACA,SAASmkB,CAACA,CAACnkB,CAAC,EAAEC,CAAC,EAAE;EACf,IAAI,CAACwhB,CAAC,EACJ,OAAO,eAAgByC,EAAE,CAAClkB,CAAC,CAAC;EAC9B,IAAIE,CAAC,GACH;EACA,eAAgBgkB,EAAE,CAACvC,CAAC,CACrB;EACD,OAAOzhB,CAAC,KAAK,IAAI,KAAKA,CAAC,GAAGyhB,CAAC,CAACyC,WAAW,CAACJ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAEpC,EAAE,CAAC1hB,CAAC,CAAC,EAAEA,CAAC;AAC1D;AACA,SAASmkB,EAAEA,CAACrkB,CAAC,EAAEC,CAAC,EAAE;EAChB,IAAI,CAACwhB,CAAC,EAAE;IACN,IAAIvhB,CAAC,GACH;IACA,eAAgBgkB,EAAE,CAChB;IACAlkB,CACF,CACD;IACD,OAAOE,CAAC,YAAYokB,OAAO,IAAIpkB,CAAC,CAAClL,IAAI,KAAK,EAAE,GAAG,eAAgB8sB,EAAE,CAAC5hB,CAAC,CAAC,GAAGA,CAAC;EAC1E;EACA,OAAOyhB,CAAC;AACV;AACA,SAAS4C,EAAEA,CAACvkB,CAAC,EAAiB;EAAA,IAAfC,CAAC,GAAAxI,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,CAAC;EAAA,IAAEyI,CAAC,GAAAzI,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,CAAC,CAAC;EAC1B,IAAImK,CAAC,GAAG6f,CAAC,GAAGE,CAAC,GAAG3hB,CAAC;EACjB,KAAK,IAAIvL,CAAC,EAAEwL,CAAC,EAAE,GACbxL,CAAC,GAAGmN,CAAC,EAAEA,CAAC,GAAG;EACX,eAAgBkgB,EAAE,CAAClgB,CAAC,CAAC;EACvB,IAAI,CAAC6f,CAAC,EACJ,OAAO7f,CAAC;EACV,IAAInB,CAAC,GAAGmB,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,CAAC,CAACqgB,QAAQ;EACvC,IAAI/hB,CAAC,IAAIO,CAAC,KAAK,CAAC,EAAE;IAChB,IAAIH,CAAC,GAAG0jB,EAAE,CAAC,CAAC;IACZ,OAAOpiB,CAAC,KAAK,IAAI,GAAGnN,CAAC,IAAI,IAAI,IAAIA,CAAC,CAAC+vB,KAAK,CAAClkB,CAAC,CAAC,GAAGsB,CAAC,CAAC6iB,MAAM,CAACnkB,CAAC,CAAC,EAAEshB,EAAE,CAACthB,CAAC,CAAC,EAAEA,CAAC;EACrE;EACA,OAAOshB,EAAE,CAAChgB,CAAC,CAAC,EAAE;EACdA,CAAC;AACH;AACA,SAAS8iB,EAAEA,CAAC1kB,CAAC,EAAE;EACbA,CAAC,CAACrH,WAAW,GAAG,EAAE;AACpB;AACA,IAAIgsB,EAAE,GAAG,CAAC,CAAC;EAAEC,EAAE,GAAG,CAAC,CAAC;EAAEC,EAAE,GAAG,IAAI;EAAEC,EAAE,GAAG,CAAC,CAAC;EAAEC,EAAE,GAAG,CAAC,CAAC;AACjD,SAASC,EAAEA,CAAChlB,CAAC,EAAE;EACb+kB,EAAE,GAAG/kB,CAAC;AACR;AACA,IAAIilB,EAAE,GAAG,EAAE;AACX,IAAI7uB,CAAC,GAAG,IAAI;EAAEwpB,EAAE,GAAG,CAAC,CAAC;AACrB,SAASsF,EAAEA,CAACllB,CAAC,EAAE;EACb5J,CAAC,GAAG4J,CAAC;AACP;AACA,IAAIqgB,CAAC,GAAG,IAAI;AACZ,SAASc,EAAEA,CAACnhB,CAAC,EAAE;EACbqgB,CAAC,GAAGrgB,CAAC;AACP;AACA,IAAI6f,EAAE,GAAG,IAAI;AACb,SAASC,EAAEA,CAAC9f,CAAC,EAAE;EACb6f,EAAE,GAAG7f,CAAC;AACR;AACA,IAAImlB,CAAC,GAAG,IAAI;EAAEC,CAAC,GAAG,CAAC;EAAE9E,EAAE,GAAG,IAAI;AAC9B,SAASC,EAAEA,CAACvgB,CAAC,EAAE;EACbsgB,EAAE,GAAGtgB,CAAC;AACR;AACA,IAAIqlB,EAAE,GAAG,CAAC;EAAEC,EAAE,GAAG,CAAC;EAAEhE,EAAE,GAAG,CAAC,CAAC;AAC3B,SAASnB,EAAEA,CAAA,EAAG;EACZ,OAAO,EAAEkF,EAAE;AACb;AACA,SAASE,EAAEA,CAACvlB,CAAC,EAAE;EACb,IAAI2B,CAAC;EACL,IAAI1B,CAAC,GAAGD,CAAC,CAAC6B,CAAC;EACX,IAAI,CAAC5B,CAAC,GAAGoc,EAAE,MAAM,CAAC,EAChB,OAAO,CAAC,CAAC;EACX,IAAI,CAACpc,CAAC,GAAGqc,EAAE,MAAM,CAAC,EAAE;IAClB,IAAIpc,CAAC,GAAGF,CAAC,CAAC6gB,IAAI;MAAEjf,CAAC,GAAG,CAAC3B,CAAC,GAAGic,EAAE,MAAM,CAAC;IAClC,IAAIhc,CAAC,KAAK,IAAI,EAAE;MACd,IAAIzL,CAAC;QAAEgM,CAAC;QAAEH,CAAC,GAAG,CAACL,CAAC,GAAGkc,EAAE,MAAM,CAAC;QAAEta,CAAC,GAAGD,CAAC,IAAIye,CAAC,KAAK,IAAI,IAAI,CAACiB,EAAE;QAAExf,CAAC,GAAG5B,CAAC,CAAC5L,MAAM;MACtE,IAAIgM,CAAC,IAAIuB,CAAC,EAAE;QACV,IAAIlB,CAAC,GACH;UACAX,CACD;UAAEoC,CAAC,GAAGzB,CAAC,CAACtH,MAAM;QACf,KAAK5E,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGqN,CAAC,EAAErN,CAAC,EAAE;UAAA,IAAA+wB,YAAA;UACpB/kB,CAAC,GAAGP,CAAC,CAACzL,CAAC,CAAC,EAAE,CAAC6L,CAAC,IAAI,EAAE,CAACqB,CAAC,GAAGlB,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,CAAC,CAAC4e,SAAS,KAAK,IAAI,IAAI1d,CAAC,CAACse,QAAQ,CAACtf,CAAC,CAAC,CAAC,KAAK,EAAA6kB,YAAA,GAAC/kB,CAAC,CAAC4e,SAAS,cAAAmG,YAAA,cAAAA,YAAA,GAAK/kB,CAAC,CAAC4e,SAAS,GAAG,EAAE,EAAGlb,IAAI,CAACxD,CAAC,CAAC;QAAC;QACrIL,CAAC,KAAKK,CAAC,CAACkB,CAAC,IAAIsa,EAAE,CAAC,EAAEta,CAAC,IAAIO,CAAC,KAAK,IAAI,IAAI,CAACA,CAAC,CAACP,CAAC,GAAGqa,EAAE,MAAM,CAAC,KAAKvb,CAAC,CAACkB,CAAC,IAAIqa,EAAE,CAAC;MACtE;MACA,KAAKznB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGqN,CAAC,EAAErN,CAAC,EAAE,EACpB,IAAIgM,CAAC,GAAGP,CAAC,CAACzL,CAAC,CAAC,EAAE8wB,EAAE,CACd;MACA9kB,CACF,CAAC,IAAI4gB,EAAE,CACL;MACA5gB,CACF,CAAC,EAAEA,CAAC,CAAC+e,EAAE,GAAGxf,CAAC,CAACwf,EAAE,EACZ,OAAO,CAAC,CAAC;IACf;IACA,CAAC,CAAC5d,CAAC,IAAIye,CAAC,KAAK,IAAI,IAAI,CAACiB,EAAE,KAAKd,EAAE,CAACxgB,CAAC,EAAEoc,CAAC,CAAC;EACvC;EACA,OAAO,CAAC,CAAC;AACX;AACA,SAASqJ,EAAEA,CAACzlB,CAAC,EAAEC,CAAC,EAAE;EAChB,KAAK,IAAIC,CAAC,GAAGD,CAAC,EAAEC,CAAC,KAAK,IAAI,GAAI;IAC5B,IAAI,CAACA,CAAC,CAAC2B,CAAC,GAAGoa,EAAE,MAAM,CAAC,EAClB,IAAI;MACF/b,CAAC,CAACwd,EAAE,CAAC1d,CAAC,CAAC;MACP;IACF,CAAC,CAAC,OAAA0lB,QAAA,EAAM;MACNxlB,CAAC,CAAC2B,CAAC,IAAIoa,EAAE;IACX;IACF/b,CAAC,GAAGA,CAAC,CAAC7G,MAAM;EACd;EACA,MAAMsrB,EAAE,GAAG,CAAC,CAAC,EAAE3kB,CAAC;AAClB;AACA,SAAS2lB,EAAEA,CAAC3lB,CAAC,EAAE;EACb,OAAO,CAACA,CAAC,CAAC6B,CAAC,GAAG2a,EAAE,MAAM,CAAC,KAAKxc,CAAC,CAAC3G,MAAM,KAAK,IAAI,IAAI,CAAC2G,CAAC,CAAC3G,MAAM,CAACwI,CAAC,GAAGoa,EAAE,MAAM,CAAC,CAAC;AAC3E;AACA,SAAS2J,EAAEA,CAAC5lB,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAE0B,CAAC,EAAE;EACtB,IAAI+iB,EAAE,EAAE;IACN,IAAIzkB,CAAC,KAAK,IAAI,KAAKykB,EAAE,GAAG,CAAC,CAAC,CAAC,EAAEgB,EAAE,CAAC1lB,CAAC,CAAC,EAChC,MAAMD,CAAC;IACT;EACF;EACAE,CAAC,KAAK,IAAI,KAAKykB,EAAE,GAAG,CAAC,CAAC,CAAC;EACvB;IACEc,EAAE,CAACzlB,CAAC,EAAEC,CAAC,CAAC;IACR;EACF;AACF;AACA,SAAS4lB,EAAEA,CAAC7lB,CAAC,EAAEC,CAAC,EAAU;EAAA,IAARC,CAAC,GAAAzI,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,CAAC,CAAC;EACtB,IAAImK,CAAC,GAAG5B,CAAC,CAACqf,SAAS;EACnB,IAAIzd,CAAC,KAAK,IAAI,EACZ,KAAK,IAAInN,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGmN,CAAC,CAACtN,MAAM,EAAEG,CAAC,EAAE,EAAE;IACjC,IAAIgM,CAAC,GAAGmB,CAAC,CAACnN,CAAC,CAAC;IACZ,CAACgM,CAAC,CAACoB,CAAC,GAAG8Z,EAAE,MAAM,CAAC,GAAGkK,EAAE,CACnB;IACAplB,CAAC,EACDR,CAAC,EACD,CAAC,CACH,CAAC,GAAGA,CAAC,KAAKQ,CAAC,KAAKP,CAAC,GAAGsgB,EAAE,CAAC/f,CAAC,EAAE4b,EAAE,CAAC,GAAG,CAAC5b,CAAC,CAACoB,CAAC,GAAGua,CAAC,MAAM,CAAC,IAAIoE,EAAE,CAAC/f,CAAC,EAAE6b,EAAE,CAAC,EAAEmE,EAAE,CAC9D;IACAhgB,CACF,CAAC,CAAC;EACJ;AACJ;AACA,SAAS2gB,EAAEA,CAACphB,CAAC,EAAE;EACb,IAAIwiB,CAAC;EACL,IAAIviB,CAAC,GAAGklB,CAAC;IAAEjlB,CAAC,GAAGklB,CAAC;IAAExjB,CAAC,GAAG0e,EAAE;IAAE7rB,CAAC,GAAG2B,CAAC;IAAEqK,CAAC,GAAG6gB,EAAE;IAAEhhB,CAAC,GAAGuf,EAAE;IAAEhe,CAAC,GAAG+e,CAAC;IAAE9e,CAAC,GAAG8d,EAAE;IAAEjf,CAAC,GAAGX,CAAC,CAAC6B,CAAC;EACvEsjB,CAAC,GAAG;EACJ,IAAI,EAAEC,CAAC,GAAG,CAAC,EAAE9E,EAAE,GAAG,IAAI,EAAEgB,EAAE,GAAG,CAAC3gB,CAAC,GAAGub,EAAE,MAAM,CAAC,KAAK0D,EAAE,IAAI,CAACkF,EAAE,IAAI1uB,CAAC,KAAK,IAAI,CAAC,EAAEA,CAAC,GAAG,CAACuK,CAAC,IAAIob,EAAE,GAAGC,EAAE,CAAC,MAAM,CAAC,GAAGhc,CAAC,GAAG,IAAI,EAAE6f,EAAE,GAAG,IAAI,EAAEiG,EAAE,CAAC9lB,CAAC,CAAC2gB,GAAG,CAAC,EAAEf,EAAE,GAAG,CAAC,CAAC,EAAE0F,EAAE,EAAE;EACnJ,IAAI;IACF,IAAIljB,CAAC,GACH;MACA,CAAC,CAAC,EAAEpC,CAAC,CAAC0d,EAAE,EAAE,CACX;MAAE/b,CAAC,GAAG3B,CAAC,CAAC6gB,IAAI;IACb,IAAIsE,CAAC,KAAK,IAAI,EAAE;MACd,IAAI7iB,CAAC;MACL,IAAIyjB,EAAE,CAAC/lB,CAAC,EAAEolB,CAAC,CAAC,EAAEzjB,CAAC,KAAK,IAAI,IAAIyjB,CAAC,GAAG,CAAC,EAC/B,KAAKzjB,CAAC,CAACrN,MAAM,GAAG8wB,CAAC,GAAGD,CAAC,CAAC7wB,MAAM,EAAEgO,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG6iB,CAAC,CAAC7wB,MAAM,EAAEgO,CAAC,EAAE,EACpDX,CAAC,CAACyjB,CAAC,GAAG9iB,CAAC,CAAC,GAAG6iB,CAAC,CAAC7iB,CAAC,CAAC,CAAC,KAElBtC,CAAC,CAAC6gB,IAAI,GAAGlf,CAAC,GAAGwjB,CAAC;MAChB,IAAI,CAAC7D,EAAE,EACL,KAAKhf,CAAC,GAAG8iB,CAAC,EAAE9iB,CAAC,GAAGX,CAAC,CAACrN,MAAM,EAAEgO,CAAC,EAAE;QAAA,IAAA0jB,YAAA;QAC3B,EAAAA,YAAA,GAAC,CAACxD,CAAC,GAAG7gB,CAAC,CAACW,CAAC,CAAC,EAAE+c,SAAS,cAAA2G,YAAA,cAAAA,YAAA,GAAKxD,CAAC,CAACnD,SAAS,GAAG,EAAE,EAAGlb,IAAI,CAACnE,CAAC,CAAC;MAAC;IAC3D,CAAC,MAAM2B,CAAC,KAAK,IAAI,IAAIyjB,CAAC,GAAGzjB,CAAC,CAACrN,MAAM,KAAKyxB,EAAE,CAAC/lB,CAAC,EAAEolB,CAAC,CAAC,EAAEzjB,CAAC,CAACrN,MAAM,GAAG8wB,CAAC,CAAC;IAC7D,IAAIpF,EAAE,CAAC,CAAC,IAAIM,EAAE,KAAK,IAAI,IAAI,CAACV,EAAE,IAAIje,CAAC,KAAK,IAAI,IAAI,CAAC3B,CAAC,CAAC6B,CAAC,IAAI8Z,EAAE,GAAGW,EAAE,GAAGD,EAAE,CAAC,MAAM,CAAC,EAC1E,KAAK/Z,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG;IAChBge,EAAE,CAAChsB,MAAM,EAAEgO,CAAC,EAAE,EACZujB,EAAE,CACAvF,EAAE,CAAChe,CAAC,CAAC,EACL;IACAtC,CACF,CAAC;IACL,OAAOvL,CAAC,KAAK,IAAI,IAAI6wB,EAAE,EAAE,EAAEljB,CAAC;EAC9B,CAAC,SAAS;IACR+iB,CAAC,GAAGllB,CAAC,EAAEmlB,CAAC,GAAGllB,CAAC,EAAEogB,EAAE,GAAG1e,CAAC,EAAExL,CAAC,GAAG3B,CAAC,EAAE6sB,EAAE,GAAG7gB,CAAC,EAAEof,EAAE,GAAGvf,CAAC,EAAEwlB,EAAE,CAACjkB,CAAC,CAAC,EAAE+d,EAAE,GAAG9d,CAAC;EAC5D;AACF;AACA,SAASmkB,EAAEA,CAACjmB,CAAC,EAAEC,CAAC,EAAE;EAChB,IAAIC,CAAC,GAAGD,CAAC,CAACof,SAAS;EACnB,IAAInf,CAAC,KAAK,IAAI,EAAE;IACd,IAAI0B,CAAC,GAAGqb,EAAE,CAACvb,IAAI,CAACxB,CAAC,EAAEF,CAAC,CAAC;IACrB,IAAI4B,CAAC,KAAK,CAAC,CAAC,EAAE;MACZ,IAAInN,CAAC,GAAGyL,CAAC,CAAC5L,MAAM,GAAG,CAAC;MACpBG,CAAC,KAAK,CAAC,GAAGyL,CAAC,GAAGD,CAAC,CAACof,SAAS,GAAG,IAAI,IAAInf,CAAC,CAAC0B,CAAC,CAAC,GAAG1B,CAAC,CAACzL,CAAC,CAAC,EAAEyL,CAAC,CAACgF,GAAG,CAAC,CAAC,CAAC;IAC3D;EACF;EACAhF,CAAC,KAAK,IAAI,IAAI,CAACD,CAAC,CAAC4B,CAAC,GAAG8Z,EAAE,MAAM,CAAC;EAAI;EAClC;EACA;EACCwJ,CAAC,KAAK,IAAI,IAAI,CAACA,CAAC,CAAClF,QAAQ,CAAChgB,CAAC,CAAC,CAAC,KAAKugB,EAAE,CAACvgB,CAAC,EAAEqc,EAAE,CAAC,EAAE,CAACrc,CAAC,CAAC4B,CAAC,IAAIqa,EAAE,GAAGC,EAAE,CAAC,MAAM,CAAC,KAAKlc,CAAC,CAAC4B,CAAC,IAAIsa,EAAE,CAAC,EAAE4E,EAAE,CACtF;EACA9gB,CACF,CAAC,EAAE8lB,EAAE,CACH;EACA9lB,CAAC,EACD,CACF,CAAC,CAAC;AACJ;AACA,SAAS8lB,EAAEA,CAAC/lB,CAAC,EAAEC,CAAC,EAAE;EAChB,IAAIC,CAAC,GAAGF,CAAC,CAAC6gB,IAAI;EACd,IAAI3gB,CAAC,KAAK,IAAI,EACZ,KAAK,IAAI0B,CAAC,GAAG3B,CAAC,EAAE2B,CAAC,GAAG1B,CAAC,CAAC5L,MAAM,EAAEsN,CAAC,EAAE,EAC/BqkB,EAAE,CAACjmB,CAAC,EAAEE,CAAC,CAAC0B,CAAC,CAAC,CAAC;AACjB;AACA,SAASskB,EAAEA,CAAClmB,CAAC,EAAE;EACb,IAAIC,CAAC,GAAGD,CAAC,CAAC6B,CAAC;EACX,IAAI,CAAC5B,CAAC,GAAGuc,EAAE,MAAM,CAAC,EAAE;IAClBgE,EAAE,CAACxgB,CAAC,EAAEoc,CAAC,CAAC;IACR,IAAIlc,CAAC,GAAGmgB,CAAC;MAAEze,CAAC,GAAGgf,CAAC;MAAEnsB,CAAC,GAAGqwB,EAAE;IACxBzE,CAAC,GAAGrgB,CAAC,EAAE8kB,EAAE,GAAG,CAAC,CAAC;IACd,IAAI;MACF,CAAC7kB,CAAC,GAAG6b,EAAE,MAAM,CAAC,GAAGqK,EAAE,CAACnmB,CAAC,CAAC,GAAGomB,EAAE,CAACpmB,CAAC,CAAC,EAAEqmB,EAAE,CAACrmB,CAAC,CAAC;MACrC,IAAIS,CAAC,GAAG2gB,EAAE,CAACphB,CAAC,CAAC;MACbA,CAAC,CAACsmB,QAAQ,GAAG,OAAO7lB,CAAC,IAAI,UAAU,GAAGA,CAAC,GAAG,IAAI,EAAET,CAAC,CAACwf,EAAE,GAAG6F,EAAE;MACzD,IAAI/kB,CAAC,GAAGN,CAAC,CAAC6gB,IAAI;QAAEhf,CAAC;MACjB6Z,EAAE,IAAIyD,EAAE,IAAInf,CAAC,CAAC6B,CAAC,GAAGwa,EAAE;IACtB,CAAC,CAAC,OAAOva,CAAC,EAAE;MACV8jB,EAAE,CAAC9jB,CAAC,EAAE9B,CAAC,EAAEE,CAAC,EAAE0B,CAAC,IAAI5B,CAAC,CAAC2gB,GAAG,CAAC;IACzB,CAAC,SAAS;MACRmE,EAAE,GAAGrwB,CAAC,EAAE4rB,CAAC,GAAGngB,CAAC;IACf;EACF;AACF;AACA,SAASqmB,EAAEA,CAAA,EAAG;EACZ,IAAI;IACF3H,EAAE,CAAC,CAAC;EACN,CAAC,CAAC,OAAO5e,CAAC,EAAE;IACV,IAAI6kB,EAAE,KAAK,IAAI,EACbe,EAAE,CAAC5lB,CAAC,EAAE6kB,EAAE,EAAE,IAAI,CAAC,CAAC,KAEhB,MAAM7kB,CAAC;EACX;AACF;AACA,SAASwmB,EAAEA,CAAA,EAAG;EACZ,IAAIxmB,CAAC,GAAG8kB,EAAE;EACV,IAAI;IACF,IAAI7kB,CAAC,GAAG,CAAC;IACT,KAAK6kB,EAAE,GAAG,CAAC,CAAC,EAAEG,EAAE,CAAC3wB,MAAM,GAAG,CAAC,GAAI;MAC7B2L,CAAC,EAAE,GAAG,GAAG,IAAIsmB,EAAE,CAAC,CAAC;MACjB,IAAIrmB,CAAC,GAAG+kB,EAAE;QAAErjB,CAAC,GAAG1B,CAAC,CAAC5L,MAAM;MACxB2wB,EAAE,GAAG,EAAE;MACP,KAAK,IAAIxwB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGmN,CAAC,EAAEnN,CAAC,EAAE,EAAE;QAC1B,IAAIgM,CAAC,GAAGgmB,EAAE,CAACvmB,CAAC,CAACzL,CAAC,CAAC,CAAC;QAChBiyB,EAAE,CAACjmB,CAAC,CAAC;MACP;IACF;EACF,CAAC,SAAS;IACRmkB,EAAE,GAAG,CAAC,CAAC,EAAEE,EAAE,GAAG9kB,CAAC,EAAE6kB,EAAE,GAAG,IAAI;EAC5B;AACF;AACA,SAAS6B,EAAEA,CAAC1mB,CAAC,EAAE;EACb,IAAIC,CAAC,GAAGD,CAAC,CAAC1L,MAAM;EAChB,IAAI2L,CAAC,KAAK,CAAC,EACT,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,CAAC,EAAEC,CAAC,EAAE,EAAE;IAC1B,IAAI0B,CAAC,GAAG5B,CAAC,CAACE,CAAC,CAAC;IACZ,IAAI,CAAC0B,CAAC,CAACC,CAAC,IAAI2a,EAAE,GAAGD,EAAE,CAAC,MAAM,CAAC,EACzB,IAAI;MACFgJ,EAAE,CAAC3jB,CAAC,CAAC,KAAKskB,EAAE,CAACtkB,CAAC,CAAC,EAAEA,CAAC,CAACif,IAAI,KAAK,IAAI,IAAIjf,CAAC,CAAC+kB,KAAK,KAAK,IAAI,IAAI/kB,CAAC,CAACglB,WAAW,KAAK,IAAI,KAAKhlB,CAAC,CAAC0kB,QAAQ,KAAK,IAAI,GAAGO,EAAE,CAACjlB,CAAC,CAAC,GAAGA,CAAC,CAAC8b,EAAE,GAAG,IAAI,CAAC,CAAC;IAChI,CAAC,CAAC,OAAOjpB,CAAC,EAAE;MACVmxB,EAAE,CAACnxB,CAAC,EAAEmN,CAAC,EAAE,IAAI,EAAEA,CAAC,CAAC+e,GAAG,CAAC;IACvB;EACJ;AACJ;AACA,SAASF,EAAEA,CAACzgB,CAAC,EAAE;EACb4kB,EAAE,KAAKA,EAAE,GAAG,CAAC,CAAC,EAAEzG,cAAc,CAACqI,EAAE,CAAC,CAAC;EACnC,KAAK,IAAIvmB,CAAC,GAAG4kB,EAAE,GAAG7kB,CAAC,EAAEC,CAAC,CAAC5G,MAAM,KAAK,IAAI,GAAI;IACxC4G,CAAC,GAAGA,CAAC,CAAC5G,MAAM;IACZ,IAAI6G,CAAC,GAAGD,CAAC,CAAC4B,CAAC;IACX,IAAI,CAAC3B,CAAC,IAAI8b,EAAE,GAAGD,EAAE,CAAC,MAAM,CAAC,EAAE;MACzB,IAAI,CAAC7b,CAAC,GAAGkc,CAAC,MAAM,CAAC,EAAE;MACnBnc,CAAC,CAAC4B,CAAC,IAAIua,CAAC;IACV;EACF;EACA6I,EAAE,CAAC9gB,IAAI,CAAClE,CAAC,CAAC;AACZ;AACA,SAASwmB,EAAEA,CAACzmB,CAAC,EAAE;EACb,KAAK,IAAIC,CAAC,GAAG,EAAE,EAAEC,CAAC,GAAGF,CAAC,EAAEE,CAAC,KAAK,IAAI,GAAI;IACpC,IAAI0B,CAAC,GAAG1B,CAAC,CAAC2B,CAAC;MAAEpN,CAAC,GAAG,CAACmN,CAAC,IAAIma,EAAE,GAAGC,EAAE,CAAC,MAAM,CAAC;MAAEvb,CAAC,GAAGhM,CAAC,IAAI,CAACmN,CAAC,GAAGwa,CAAC,MAAM,CAAC;IAC9D,IAAI,CAAC3b,CAAC,IAAI,CAACmB,CAAC,GAAG2a,EAAE,MAAM,CAAC,EAAE;MACxB,IAAI,CAAC3a,CAAC,GAAGga,EAAE,MAAM,CAAC,EAChB3b,CAAC,CAACkE,IAAI,CAACjE,CAAC,CAAC,CAAC,KACP,IAAIzL,CAAC,EACRyL,CAAC,CAAC2B,CAAC,IAAIua,CAAC,CAAC,KACN;QACH,IAAI9b,CAAC,GAAGlK,CAAC;QACT,IAAI;UACFA,CAAC,GAAG8J,CAAC,EAAEqlB,EAAE,CAACrlB,CAAC,CAAC,IAAIgmB,EAAE,CAAChmB,CAAC,CAAC;QACvB,CAAC,CAAC,OAAOS,CAAC,EAAE;UACVilB,EAAE,CAACjlB,CAAC,EAAET,CAAC,EAAE,IAAI,EAAEA,CAAC,CAACygB,GAAG,CAAC;QACvB,CAAC,SAAS;UACRvqB,CAAC,GAAGkK,CAAC;QACP;MACF;MACA,IAAIuB,CAAC,GAAG3B,CAAC,CAACymB,KAAK;MACf,IAAI9kB,CAAC,KAAK,IAAI,EAAE;QACd3B,CAAC,GAAG2B,CAAC;QACL;MACF;IACF;IACA,IAAIC,CAAC,GAAG5B,CAAC,CAAC7G,MAAM;IAChB,KAAK6G,CAAC,GAAGA,CAAC,CAACyD,IAAI,EAAEzD,CAAC,KAAK,IAAI,IAAI4B,CAAC,KAAK,IAAI,GACvC5B,CAAC,GAAG4B,CAAC,CAAC6B,IAAI,EAAE7B,CAAC,GAAGA,CAAC,CAACzI,MAAM;EAC5B;EACA,OAAO4G,CAAC;AACV;AACA,SAAS6mB,CAACA,CAAC9mB,CAAC,EAAE;EACZ,IAAIC,CAAC;EACL,KAAKoe,EAAE,CAAC,CAAC,EAAE4G,EAAE,CAAC3wB,MAAM,GAAG,CAAC,GACtBswB,EAAE,GAAG,CAAC,CAAC,EAAE4B,EAAE,CAAC,CAAC,EAAEnI,EAAE,CAAC,CAAC;EACrB,OACE,gBACApe,CAAC;AAEL;AAAC,SACc8mB,EAAEA,CAAA;EAAA,OAAAC,GAAA,CAAAhhB,KAAA,OAAAvO,SAAA;AAAA;AAAA,SAAAuvB,IAAA;EAAAA,GAAA,GAAA1gB,uBAAA,cAAAvG,yBAAA,GAAA4E,IAAA,CAAjB,SAAAqJ,SAAA;IAAA,OAAAjO,yBAAA,GAAAoB,IAAA,UAAA+M,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAAhJ,IAAA,GAAAgJ,SAAA,CAAAxK,IAAA;QAAA;UAAAwK,SAAA,CAAAxK,IAAA;UAAA,OACQqB,OAAO,CAACpC,OAAO,CAAC,CAAC;QAAA;UAAEkkB,CAAC,CAAC,CAAC;QAAA;QAAA;UAAA,OAAA3Y,SAAA,CAAA7I,IAAA;MAAA;IAAA,GAAA0I,QAAA;EAAA,CAC7B;EAAA,OAAAgZ,GAAA,CAAAhhB,KAAA,OAAAvO,SAAA;AAAA;AACD,SAAStB,CAACA,CAAC6J,CAAC,EAAE;EACZ,IAAIC,CAAC,GAAGD,CAAC,CAAC6B,CAAC;IAAE3B,CAAC,GAAG,CAACD,CAAC,GAAG0b,EAAE,MAAM,CAAC;EAC/B,IAAIvlB,CAAC,KAAK,IAAI,IAAI,CAACwpB,EAAE,EAAE;IACrBC,EAAE,KAAK,IAAI,IAAIA,EAAE,CAACI,QAAQ,CAACjgB,CAAC,CAAC,IAAIif,EAAE,CAAC,CAAC;IACrC,IAAIrd,CAAC,GAAGxL,CAAC,CAACyqB,IAAI;IACd7gB,CAAC,CAACuf,EAAE,GAAG+F,EAAE,KAAKtlB,CAAC,CAACuf,EAAE,GAAG+F,EAAE,EAAEH,CAAC,KAAK,IAAI,IAAIvjB,CAAC,KAAK,IAAI,IAAIA,CAAC,CAACwjB,CAAC,CAAC,KAAKplB,CAAC,GAAGolB,CAAC,EAAE,GAAGD,CAAC,KAAK,IAAI,GAAGA,CAAC,GAAG,CAACnlB,CAAC,CAAC,GAAG,CAAC,CAACshB,EAAE,IAAI,CAAC6D,CAAC,CAAClF,QAAQ,CAACjgB,CAAC,CAAC,KAAKmlB,CAAC,CAAChhB,IAAI,CAACnE,CAAC,CAAC,CAAC;EACtI,CAAC,MAAM,IAAIE,CAAC,IAAI;EAChBF,CAAC,CAAC6gB,IAAI,KAAK,IAAI,IAAI;EACnB7gB,CAAC,CAAC8gB,OAAO,KAAK,IAAI,EAAE;IAClB,IAAIrsB,CAAC,GACH;MACAuL,CACD;MAAES,CAAC,GAAGhM,CAAC,CAAC4E,MAAM;IACfoH,CAAC,KAAK,IAAI,IAAI,CAACA,CAAC,CAACoB,CAAC,GAAGqa,EAAE,MAAM,CAAC,KAAKznB,CAAC,CAACoN,CAAC,IAAIqa,EAAE,CAAC;EAC/C;EACA,OAAOhc,CAAC,KAAKzL,CAAC,GAAG;EACjBuL,CAAC,EAAEulB,EAAE,CAAC9wB,CAAC,CAAC,IAAI4sB,EAAE,CAAC5sB,CAAC,CAAC,CAAC,EAAEuL,CAAC,CAACoC,CAAC;AACzB;AACA,SAAS6kB,EAAEA,CAACjnB,CAAC,EAAE;EACb,IAAIC,CAAC,GAAG2f,EAAE;EACV,IAAI;IACF,OAAOA,EAAE,GAAG,CAAC,CAAC,EAAE5f,CAAC,CAAC,CAAC;EACrB,CAAC,SAAS;IACR4f,EAAE,GAAG3f,CAAC;EACR;AACF;AACA,IAAMinB,EAAE,GAAG,CAAC,IAAI;AAChB,SAAS1G,EAAEA,CAACxgB,CAAC,EAAEC,CAAC,EAAE;EAChBD,CAAC,CAAC6B,CAAC,GAAG7B,CAAC,CAAC6B,CAAC,GAAGqlB,EAAE,GAAGjnB,CAAC;AACpB;AACA,SAASknB,EAAEA,CAACnnB,CAAC,EAAE;EACbqgB,CAAC,KAAK,IAAI,IAAIjqB,CAAC,KAAK,IAAI,IAAIuoB,EAAE,CAAC,CAAC,EAAEvoB,CAAC,KAAK,IAAI,IAAI,CAACA,CAAC,CAACyL,CAAC,GAAGqa,EAAE,MAAM,CAAC,IAAImE,CAAC,KAAK,IAAI,IAAI3B,EAAE,CAAC,CAAC,EAAEqG,EAAE,IAAItG,EAAE,CAAC,CAAC;AACpG;AACA,SAAS2I,EAAEA,CAACpnB,CAAC,EAAEC,CAAC,EAAE;EAChB,IAAIC,CAAC,GAAGD,CAAC,CAAConB,IAAI;EACdnnB,CAAC,KAAK,IAAI,GAAGD,CAAC,CAAConB,IAAI,GAAGpnB,CAAC,CAAC0mB,KAAK,GAAG3mB,CAAC,IAAIE,CAAC,CAACyD,IAAI,GAAG3D,CAAC,EAAEA,CAAC,CAACmF,IAAI,GAAGjF,CAAC,EAAED,CAAC,CAAConB,IAAI,GAAGrnB,CAAC,CAAC;AAC1E;AACA,SAASsnB,EAAEA,CAACtnB,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAU;EAAA,IAAR0B,CAAC,GAAAnK,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,CAAC,CAAC;EACzB,IAAIhD,CAAC,GAAG4rB,CAAC;IAAE5f,CAAC,GAAG;MACbkgB,GAAG,EAAEC,CAAC;MACNC,IAAI,EAAE,IAAI;MACV+F,WAAW,EAAE,IAAI;MACjBW,SAAS,EAAE,IAAI;MACf1lB,CAAC,EAAE7B,CAAC,GAAGqc,EAAE;MACTsK,KAAK,EAAE,IAAI;MACXjJ,EAAE,EAAEzd,CAAC;MACLonB,IAAI,EAAE,IAAI;MACV1jB,IAAI,EAAE,IAAI;MACVtK,MAAM,EAAE5E,CAAC;MACT0Q,IAAI,EAAE,IAAI;MACVmhB,QAAQ,EAAE,IAAI;MACdkB,WAAW,EAAE,IAAI;MACjBhI,EAAE,EAAE;IACN,CAAC;EACD,IAAItf,CAAC,EACH,IAAI;IACFgmB,EAAE,CAACzlB,CAAC,CAAC,EAAEA,CAAC,CAACoB,CAAC,IAAI4a,EAAE;EAClB,CAAC,CAAC,OAAO3a,CAAC,EAAE;IACV,MAAMkf,EAAE,CAACvgB,CAAC,CAAC,EAAEqB,CAAC;EAChB,CAAC,MACE7B,CAAC,KAAK,IAAI,IAAIwgB,EAAE,CAAChgB,CAAC,CAAC;EACxB,IAAIH,CAAC,GAAGJ,CAAC,IAAIO,CAAC,CAACogB,IAAI,KAAK,IAAI,IAAIpgB,CAAC,CAACkmB,KAAK,KAAK,IAAI,IAAIlmB,CAAC,CAACmmB,WAAW,KAAK,IAAI,IAAInmB,CAAC,CAAC6lB,QAAQ,KAAK,IAAI,IAAI,CAAC7lB,CAAC,CAACoB,CAAC,IAAI+a,EAAE,GAAGX,EAAE,CAAC,MAAM,CAAC;EAC5H,IAAI,CAAC3b,CAAC,IAAIsB,CAAC,KAAKnN,CAAC,KAAK,IAAI,IAAI2yB,EAAE,CAAC3mB,CAAC,EAAEhM,CAAC,CAAC,EAAE2B,CAAC,KAAK,IAAI,IAAI,CAACA,CAAC,CAACyL,CAAC,GAAG8Z,EAAE,MAAM,CAAC,CAAC,EAAE;IAAA,IAAA8L,UAAA;IACvE,IAAI5lB,CAAC,GACH;IACAzL,CACD;IACD,EAAAqxB,UAAA,GAAC5lB,CAAC,CAACif,OAAO,cAAA2G,UAAA,cAAAA,UAAA,GAAK5lB,CAAC,CAACif,OAAO,GAAG,EAAE,EAAG3c,IAAI,CAAC1D,CAAC,CAAC;EACzC;EACA,OAAOA,CAAC;AACV;AACA,SAASinB,EAAEA,CAAC1nB,CAAC,EAAE;EACb,IAAMC,CAAC,GAAGqnB,EAAE,CAACzL,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;EAC1B,OAAO2E,EAAE,CAACvgB,CAAC,EAAEmc,CAAC,CAAC,EAAEnc,CAAC,CAACqmB,QAAQ,GAAGtmB,CAAC,EAAEC,CAAC;AACpC;AACA,SAAS0nB,EAAEA,CAAC3nB,CAAC,EAAE;EACbmnB,EAAE,CAAC,CAAC;EACJ,IAAIlnB,CAAC,GAAGogB,CAAC,KAAK,IAAI,IAAI,CAACA,CAAC,CAACxe,CAAC,GAAGka,EAAE,MAAM,CAAC,IAAI6E,CAAC,KAAK,IAAI,IAAI,CAACA,CAAC,CAAC4B,CAAC;EAC5D,IAAIviB,CAAC,EAAE;IAAA,IAAA2nB,IAAA;IACL,IAAI1nB,CAAC,GACH;IACA0gB,CACD;IACD,EAAAgH,IAAA,GAAC1nB,CAAC,CAACF,CAAC,cAAA4nB,IAAA,cAAAA,IAAA,GAAK1nB,CAAC,CAACF,CAAC,GAAG,EAAE,EAAGmE,IAAI,CAAC;MACvBuZ,EAAE,EAAE1d,CAAC;MACL6nB,MAAM,EAAExH,CAAC;MACTyH,QAAQ,EAAE1xB;IACZ,CAAC,CAAC;EACJ,CAAC,MAAM;IACL,IAAIwL,CAAC,GAAGmmB,EAAE,CAAC/nB,CAAC,CAAC;IACb,OAAO4B,CAAC;EACV;AACF;AACA,SAASomB,EAAEA,CAAChoB,CAAC,EAAE;EACb,IAAMC,CAAC,GAAGqnB,EAAE,CAACtL,EAAE,EAAEhc,CAAC,EAAE,CAAC,CAAC,CAAC;EACvB,OAAO,YAAM;IACXghB,EAAE,CAAC/gB,CAAC,CAAC;EACP,CAAC;AACH;AACA,SAASgoB,EAAEA,CAACjoB,CAAC,EAAE;EACb,IAAMC,CAAC,GAAGqnB,EAAE,CAACtL,EAAE,EAAEhc,CAAC,EAAE,CAAC,CAAC,CAAC;EACvB,OAAO;IAAA,IAACE,CAAC,GAAAzI,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,CAAC,CAAC;IAAA,OAAK,IAAIuN,OAAO,CAAC,UAACpD,CAAC,EAAK;MACpC1B,CAAC,CAACgoB,KAAK,GAAGC,EAAE,CAACloB,CAAC,EAAE,YAAM;QACpB+gB,EAAE,CAAC/gB,CAAC,CAAC,EAAE2B,CAAC,CAAC,KAAK,CAAC,CAAC;MAClB,CAAC,CAAC,IAAIof,EAAE,CAAC/gB,CAAC,CAAC,EAAE2B,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACzB,CAAC,CAAC;EAAA;AACJ;AACA,SAASmmB,EAAEA,CAAC/nB,CAAC,EAAE;EACb,OAAOsnB,EAAE,CAAC1L,EAAE,EAAE5b,CAAC,EAAE,CAAC,CAAC,CAAC;AACtB;AACA,SAASooB,EAAEA,CAACpoB,CAAC,EAAE;EACb,OAAOsnB,EAAE,CAACzL,EAAE,EAAE7b,CAAC,EAAE,CAAC,CAAC,CAAC;AACtB;AACA,SAASqoB,EAAEA,CAACroB,CAAC,EAAkB;EAAA,IAAhBC,CAAC,GAAAxI,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,EAAE;EAAA,IAAEyI,CAAC,GAAAzI,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAGipB,EAAE;EAC3B,IAAM9e,CAAC,GAAG3B,CAAC,CAACqoB,GAAG,CAACpoB,CAAC,CAAC;EAClB,OAAOqoB,EAAE,CAAC;IAAA,OAAMvoB,CAAC,CAAAgG,KAAA,SAAAsS,kBAAA,CAAI1W,CAAC,CAAC0mB,GAAG,CAACnyB,CAAC,CAAC,EAAC;EAAA,EAAC;AACjC;AACA,SAASoyB,EAAEA,CAACvoB,CAAC,EAAS;EAAA,IAAPC,CAAC,GAAAxI,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,CAAC;EAClB,OAAO6vB,EAAE,CAACzL,EAAE,GAAGC,EAAE,GAAG7b,CAAC,EAAED,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/B;AACA,SAASwoB,EAAEA,CAACxoB,CAAC,EAAU;EAAA,IAARC,CAAC,GAAAxI,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,CAAC,CAAC;EACnB,OAAO6vB,EAAE,CAACzL,EAAE,GAAGE,EAAE,EAAE/b,CAAC,EAAE,CAAC,CAAC,EAAEC,CAAC,CAAC;AAC9B;AACA,SAASomB,EAAEA,CAACrmB,CAAC,EAAE;EACb,IAAIC,CAAC,GAAGD,CAAC,CAACsmB,QAAQ;EAClB,IAAIrmB,CAAC,KAAK,IAAI,EAAE;IACd,IAAMC,CAAC,GAAG6kB,EAAE;MAAEnjB,CAAC,GAAGxL,CAAC;IACnB4uB,EAAE,CAAC,CAAC,CAAC,CAAC,EAAEE,EAAE,CAAC,IAAI,CAAC;IAChB,IAAI;MACFjlB,CAAC,CAACyB,IAAI,CAAC,IAAI,CAAC;IACd,CAAC,SAAS;MACRsjB,EAAE,CAAC9kB,CAAC,CAAC,EAAEglB,EAAE,CAACtjB,CAAC,CAAC;IACd;EACF;AACF;AACA,SAASwkB,EAAEA,CAACpmB,CAAC,EAAU;EAAA,IAARC,CAAC,GAAAxI,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,CAAC,CAAC;EACnB,IAAIyI,CAAC,GAAGF,CAAC,CAAC2mB,KAAK;EACf,KAAK3mB,CAAC,CAAC2mB,KAAK,GAAG3mB,CAAC,CAACqnB,IAAI,GAAG,IAAI,EAAEnnB,CAAC,KAAK,IAAI,GAAI;IAC1C,IAAI0B,CAAC,GAAG1B,CAAC,CAACyD,IAAI;IACd,CAACzD,CAAC,CAAC2B,CAAC,GAAGma,EAAE,MAAM,CAAC,GAAG9b,CAAC,CAAC7G,MAAM,GAAG,IAAI,GAAG2nB,EAAE,CAAC9gB,CAAC,EAAED,CAAC,CAAC,EAAEC,CAAC,GAAG0B,CAAC;EACtD;AACF;AACA,SAASukB,EAAEA,CAACnmB,CAAC,EAAE;EACb,KAAK,IAAIC,CAAC,GAAGD,CAAC,CAAC2mB,KAAK,EAAE1mB,CAAC,KAAK,IAAI,GAAI;IAClC,IAAIC,CAAC,GAAGD,CAAC,CAAC0D,IAAI;IACd,CAAC1D,CAAC,CAAC4B,CAAC,GAAGka,EAAE,MAAM,CAAC,IAAIiF,EAAE,CAAC/gB,CAAC,CAAC,EAAEA,CAAC,GAAGC,CAAC;EAClC;AACF;AACA,SAAS8gB,EAAEA,CAAChhB,CAAC,EAAU;EAAA,IAARC,CAAC,GAAAxI,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,CAAC,CAAC;EACnB,IAAIyI,CAAC,GAAG,CAAC,CAAC;EACV,IAAI,CAACD,CAAC,IAAI,CAACD,CAAC,CAAC6B,CAAC,GAAG8a,EAAE,MAAM,CAAC,KAAK3c,CAAC,CAAC4mB,WAAW,KAAK,IAAI,EAAE;IACrD,KAAK,IAAIhlB,CAAC,GAAG5B,CAAC,CAAC4mB,WAAW,EAAEnyB,CAAC,GAAGuL,CAAC,CAACunB,SAAS,EAAE3lB,CAAC,KAAK,IAAI,GAAI;MACzD,IAAInB,CAAC,GAAGmB,CAAC,KAAKnN,CAAC,GAAG,IAAI,IACpB;MACA,eAAgBqtB,EAAE,CAAClgB,CAAC,CAAC,CACtB;MACDA,CAAC,CAAChG,MAAM,CAAC,CAAC,EAAEgG,CAAC,GAAGnB,CAAC;IACnB;IACAP,CAAC,GAAG,CAAC,CAAC;EACR;EACAkmB,EAAE,CAACpmB,CAAC,EAAEC,CAAC,IAAI,CAACC,CAAC,CAAC,EAAE6lB,EAAE,CAAC/lB,CAAC,EAAE,CAAC,CAAC,EAAEwgB,EAAE,CAACxgB,CAAC,EAAEwc,EAAE,CAAC;EACnC,IAAIlc,CAAC,GAAGN,CAAC,CAACwnB,WAAW;EACrB,IAAIlnB,CAAC,KAAK,IAAI;IAAA,IAAAmoB,UAAA,GAAA1P,0BAAA,CACIzY,CAAC;MAAAooB,MAAA;IAAA;MAAjB,KAAAD,UAAA,CAAA3mB,CAAA,MAAA4mB,MAAA,GAAAD,UAAA,CAAAroB,CAAA,IAAA6C,IAAA,GACE;QAAA,IADSnB,CAAC,GAAA4mB,MAAA,CAAAx0B,KAAA;QACV4N,CAAC,CAACwD,IAAI,CAAC,CAAC;MAAA;IAAC,SAAA0d,GAAA;MAAAyF,UAAA,CAAAzoB,CAAA,CAAAgjB,GAAA;IAAA;MAAAyF,UAAA,CAAA5mB,CAAA;IAAA;EAAA;EACbwkB,EAAE,CAACrmB,CAAC,CAAC;EACL,IAAI6B,CAAC,GAAG7B,CAAC,CAAC3G,MAAM;EAChBwI,CAAC,KAAK,IAAI,IAAIA,CAAC,CAAC8kB,KAAK,KAAK,IAAI,IAAIE,EAAE,CAAC7mB,CAAC,CAAC,EAAEA,CAAC,CAAC2D,IAAI,GAAG3D,CAAC,CAACmF,IAAI,GAAGnF,CAAC,CAACsmB,QAAQ,GAAGtmB,CAAC,CAAC2gB,GAAG,GAAG3gB,CAAC,CAAC6gB,IAAI,GAAG7gB,CAAC,CAAC0d,EAAE,GAAG1d,CAAC,CAAC4mB,WAAW,GAAG5mB,CAAC,CAACunB,SAAS,GAAG,IAAI;AACpI;AACA,SAASV,EAAEA,CAAC7mB,CAAC,EAAE;EACb,IAAIC,CAAC,GAAGD,CAAC,CAAC3G,MAAM;IAAE6G,CAAC,GAAGF,CAAC,CAACmF,IAAI;IAAEvD,CAAC,GAAG5B,CAAC,CAAC2D,IAAI;EACxCzD,CAAC,KAAK,IAAI,KAAKA,CAAC,CAACyD,IAAI,GAAG/B,CAAC,CAAC,EAAEA,CAAC,KAAK,IAAI,KAAKA,CAAC,CAACuD,IAAI,GAAGjF,CAAC,CAAC,EAAED,CAAC,KAAK,IAAI,KAAKA,CAAC,CAAC0mB,KAAK,KAAK3mB,CAAC,KAAKC,CAAC,CAAC0mB,KAAK,GAAG/kB,CAAC,CAAC,EAAE3B,CAAC,CAAConB,IAAI,KAAKrnB,CAAC,KAAKC,CAAC,CAAConB,IAAI,GAAGnnB,CAAC,CAAC,CAAC;AACtI;AACA,SAASioB,EAAEA,CAACnoB,CAAC,EAAEC,CAAC,EAAE;EAChB,IAAIC,CAAC,GAAG,EAAE;EACVyoB,EAAE,CAAC3oB,CAAC,EAAEE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE0oB,EAAE,CAAC1oB,CAAC,EAAE,YAAM;IACxB8gB,EAAE,CAAChhB,CAAC,CAAC,EAAEC,CAAC,IAAIA,CAAC,CAAC,CAAC;EACjB,CAAC,CAAC;AACJ;AACA,SAAS2oB,EAAEA,CAAC5oB,CAAC,EAAEC,CAAC,EAAE;EAChB,IAAIC,CAAC,GAAGF,CAAC,CAAC1L,MAAM;EAChB,IAAI4L,CAAC,GAAG,CAAC,EAAE;IACT,IAAI0B,CAAC,GAAG,SAAJA,CAACA,CAAA;MAAA,OAAS,EAAE1B,CAAC,IAAID,CAAC,CAAC,CAAC;IAAA;IAAC,IAAA4oB,UAAA,GAAA9P,0BAAA,CACX/Y,CAAC;MAAA8oB,MAAA;IAAA;MAAf,KAAAD,UAAA,CAAA/mB,CAAA,MAAAgnB,MAAA,GAAAD,UAAA,CAAAzoB,CAAA,IAAA6C,IAAA,GACE;QAAA,IADOxO,CAAC,GAAAq0B,MAAA,CAAA50B,KAAA;QACRO,CAAC,CAACs0B,GAAG,CAACnnB,CAAC,CAAC;MAAA;IAAC,SAAAohB,GAAA;MAAA6F,UAAA,CAAA7oB,CAAA,CAAAgjB,GAAA;IAAA;MAAA6F,UAAA,CAAAhnB,CAAA;IAAA;EACb,CAAC,MACC5B,CAAC,CAAC,CAAC;AACP;AACA,SAAS0oB,EAAEA,CAAC3oB,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAE;EACnB,IAAI,CAACF,CAAC,CAAC6B,CAAC,GAAG0a,EAAE,MAAM,CAAC,EAAE;IACpB,IAAIvc,CAAC,CAAC6B,CAAC,IAAI0a,EAAE,EAAEvc,CAAC,CAACwnB,WAAW,KAAK,IAAI;MAAA,IAAAwB,UAAA,GAAAjQ,0BAAA,CACnB/Y,CAAC,CAACwnB,WAAW;QAAAyB,MAAA;MAAA;QAA7B,KAAAD,UAAA,CAAAlnB,CAAA,MAAAmnB,MAAA,GAAAD,UAAA,CAAA5oB,CAAA,IAAA6C,IAAA,GACE;UAAA,IADS3C,CAAC,GAAA2oB,MAAA,CAAA/0B,KAAA;UACV,CAACoM,CAAC,CAAC4oB,SAAS,IAAIhpB,CAAC,KAAKD,CAAC,CAACkE,IAAI,CAAC7D,CAAC,CAAC;QAAA;MAAC,SAAA0iB,GAAA;QAAAgG,UAAA,CAAAhpB,CAAA,CAAAgjB,GAAA;MAAA;QAAAgG,UAAA,CAAAnnB,CAAA;MAAA;IAAA;IACpC,KAAK,IAAID,CAAC,GAAG5B,CAAC,CAAC2mB,KAAK,EAAE/kB,CAAC,KAAK,IAAI,GAAI;MAClC,IAAInN,CAAC,GAAGmN,CAAC,CAAC+B,IAAI;QAAElD,CAAC,GAAG,CAACmB,CAAC,CAACC,CAAC,GAAG6a,EAAE,MAAM,CAAC,IAAI,CAAC9a,CAAC,CAACC,CAAC,GAAGka,EAAE,MAAM,CAAC;MACxD4M,EAAE,CAAC/mB,CAAC,EAAE3B,CAAC,EAAEQ,CAAC,GAAGP,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE0B,CAAC,GAAGnN,CAAC;IAC7B;EACF;AACF;AACA,SAAS00B,EAAEA,CAACnpB,CAAC,EAAE;EACbopB,EAAE,CAACppB,CAAC,EAAE,CAAC,CAAC,CAAC;AACX;AACA,SAASopB,EAAEA,CAACppB,CAAC,EAAEC,CAAC,EAAE;EAChB,IAAI,CAACD,CAAC,CAAC6B,CAAC,GAAG0a,EAAE,MAAM,CAAC,EAAE;IACpBvc,CAAC,CAAC6B,CAAC,IAAI0a,EAAE,EAAE,CAACvc,CAAC,CAAC6B,CAAC,GAAGua,CAAC,MAAM,CAAC,KAAKpc,CAAC,CAAC6B,CAAC,IAAIua,CAAC,CAAC,EAAEmJ,EAAE,CAACvlB,CAAC,CAAC,KAAKwgB,EAAE,CAACxgB,CAAC,EAAEqc,EAAE,CAAC,EAAEoE,EAAE,CAACzgB,CAAC,CAAC,CAAC;IACrE,KAAK,IAAIE,CAAC,GAAGF,CAAC,CAAC2mB,KAAK,EAAEzmB,CAAC,KAAK,IAAI,GAAI;MAClC,IAAI0B,CAAC,GAAG1B,CAAC,CAACyD,IAAI;QAAElP,CAAC,GAAG,CAACyL,CAAC,CAAC2B,CAAC,GAAG6a,EAAE,MAAM,CAAC,IAAI,CAACxc,CAAC,CAAC2B,CAAC,GAAGka,EAAE,MAAM,CAAC;MACxDqN,EAAE,CAAClpB,CAAC,EAAEzL,CAAC,GAAGwL,CAAC,GAAG,CAAC,CAAC,CAAC,EAAEC,CAAC,GAAG0B,CAAC;IAC1B;IACA,IAAI5B,CAAC,CAACwnB,WAAW,KAAK,IAAI;MAAA,IAAA6B,UAAA,GAAAtQ,0BAAA,CACR/Y,CAAC,CAACwnB,WAAW;QAAA8B,MAAA;MAAA;QAA7B,KAAAD,UAAA,CAAAvnB,CAAA,MAAAwnB,MAAA,GAAAD,UAAA,CAAAjpB,CAAA,IAAA6C,IAAA,GACE;UAAA,IADSxC,CAAC,GAAA6oB,MAAA,CAAAp1B,KAAA;UACV,CAACuM,CAAC,CAACyoB,SAAS,IAAIjpB,CAAC,KAAKQ,CAAC,MAAG,CAAC,CAAC;QAAA;MAAC,SAAAuiB,GAAA;QAAAqG,UAAA,CAAArpB,CAAA,CAAAgjB,GAAA;MAAA;QAAAqG,UAAA,CAAAxnB,CAAA;MAAA;IAAA;EACnC;AACF;AACA,SAAS0nB,EAAEA,CAACvpB,CAAC,EAAE;EACb,MAAM,IAAIgD,KAAK,CAAC,kDAAkD,CAAC;AACrE;AACA,IAAI4d,CAAC,GAAG,IAAI;AACZ,SAASkF,EAAEA,CAAC9lB,CAAC,EAAE;EACb4gB,CAAC,GAAG5gB,CAAC;AACP;AACA,SAASwpB,EAAEA,CAACxpB,CAAC,EAAa;EAAA,IAAXC,CAAC,GAAAxI,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,CAAC,CAAC;EAAA,IAAEyI,CAAC,GAAAzI,SAAA,CAAAnD,MAAA,OAAAmD,SAAA,MAAApD,SAAA;EACtBusB,CAAC,GAAG;IACF1e,CAAC,EAAE0e,CAAC;IACJjgB,CAAC,EAAE,IAAI;IACPX,CAAC,EAAE,IAAI;IACPwiB,CAAC,EAAE,CAAC,CAAC;IACL1gB,CAAC,EAAE9B,CAAC;IACJypB,CAAC,EAAE,IAAI;IACP7nB,CAAC,EAAE;EACL,CAAC;AACH;AACA,SAAS8nB,EAAEA,CAAC1pB,CAAC,EAAE;EACb,IAAMC,CAAC,GAAG2gB,CAAC;EACX,IAAI3gB,CAAC,KAAK,IAAI,EAAE;IACdD,CAAC,KAAK,KAAK,CAAC,KAAKC,CAAC,CAACwpB,CAAC,GAAGzpB,CAAC,CAAC;IACzB,IAAMM,CAAC,GAAGL,CAAC,CAACD,CAAC;IACb,IAAIM,CAAC,KAAK,IAAI,EAAE;MACd,IAAIJ,CAAC,GAAGmgB,CAAC;QAAEze,CAAC,GAAGxL,CAAC;MAChB6J,CAAC,CAACD,CAAC,GAAG,IAAI;MACV,IAAI;QACF,KAAK,IAAIvL,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG6L,CAAC,CAAChM,MAAM,EAAEG,CAAC,EAAE,EAAE;UACjC,IAAIgM,CAAC,GAAGH,CAAC,CAAC7L,CAAC,CAAC;UACZ0sB,EAAE,CAAC1gB,CAAC,CAAConB,MAAM,CAAC,EAAE3C,EAAE,CAACzkB,CAAC,CAACqnB,QAAQ,CAAC,EAAEC,EAAE,CAACtnB,CAAC,CAACid,EAAE,CAAC;QACxC;MACF,CAAC,SAAS;QACRyD,EAAE,CAACjhB,CAAC,CAAC,EAAEglB,EAAE,CAACtjB,CAAC,CAAC;MACd;IACF;IACAgf,CAAC,GAAG3gB,CAAC,CAACiC,CAAC,EAAEjC,CAAC,CAACuiB,CAAC,GAAG,CAAC,CAAC;EACnB;EACA,OAAOxiB,CAAC,IAAI;EACZ,CAAC,CAAC;AACJ;AACA,SAASggB,EAAEA,CAAA,EAAG;EACZ,OAAO,CAAC,CAAC;AACX;AACA,IAAM2J,EAAE,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC;AACtC,SAASC,EAAEA,CAAC5pB,CAAC,EAAE;EACb,OAAO2pB,EAAE,CAAC1J,QAAQ,CAACjgB,CAAC,CAAC;AACvB;AACA,IAAI6pB,EAAE,GAAG,CAAC,CAAC;AACX,SAASC,EAAEA,CAAA,EAAG;EACZD,EAAE,KAAKA,EAAE,GAAG,CAAC,CAAC,EAAEj0B,QAAQ,CAACwJ,gBAAgB,CACvC,OAAO,EACP,UAACY,CAAC,EAAK;IACLgF,OAAO,CAACpC,OAAO,CAAC,CAAC,CAACE,IAAI,CAAC,YAAM;MAC3B,IAAI7C,CAAC;MACL,IAAI,CAACD,CAAC,CAAC+pB,gBAAgB;QAAA,IAAAC,UAAA,GAAAjR,0BAAA,CAGnB;UACA/Y,CAAC,CAAC0V,MAAM,CAACuU,QAAQ;UAAAC,MAAA;QAAA;UAHnB,KAAAF,UAAA,CAAAloB,CAAA,MAAAooB,MAAA,GAAAF,UAAA,CAAA5pB,CAAA,IAAA6C,IAAA,GAKE;YAAA,IAJM/C,CAAC,GAAAgqB,MAAA,CAAAh2B,KAAA;YAIP,CAAC+L,CAAC,GAAGC,CAAC,CAACiqB,MAAM,KAAK,IAAI,IAAIlqB,CAAC,CAACyB,IAAI,CAACxB,CAAC,CAAC;UAAA;QAAC,SAAA8iB,GAAA;UAAAgH,UAAA,CAAAhqB,CAAA,CAAAgjB,GAAA;QAAA;UAAAgH,UAAA,CAAAnoB,CAAA;QAAA;MAAA;IAC1C,CAAC,CAAC;EACJ,CAAC;EACD;EACA;IAAEuoB,OAAO,EAAE,CAAC;EAAE,CAChB,CAAC,CAAC;AACJ;AACA,SAASC,EAAEA,CAACrqB,CAAC,EAAE;EACb,IAAIC,CAAC,GAAG7J,CAAC;IAAE8J,CAAC,GAAGmgB,CAAC;EAChB6E,EAAE,CAAC,IAAI,CAAC,EAAE/D,EAAE,CAAC,IAAI,CAAC;EAClB,IAAI;IACF,OAAOnhB,CAAC,CAAC,CAAC;EACZ,CAAC,SAAS;IACRklB,EAAE,CAACjlB,CAAC,CAAC,EAAEkhB,EAAE,CAACjhB,CAAC,CAAC;EACd;AACF;AACA,SAASoqB,EAAEA,CAACtqB,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAS;EAAA,IAAP0B,CAAC,GAAAnK,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAGyI,CAAC;EACxBF,CAAC,CAACZ,gBAAgB,CAACa,CAAC,EAAE;IAAA,OAAMoqB,EAAE,CAACnqB,CAAC,CAAC;EAAA,EAAC;EAClC,IAAMzL,CAAC,GAAGuL,CAAC,CAACmqB,MAAM;EAClB11B,CAAC,GAAGuL,CAAC,CAACmqB,MAAM,GAAG,YAAM;IACnB11B,CAAC,CAAC,CAAC,EAAEmN,CAAC,CAAC,CAAC,CAAC,CAAC;EACZ,CAAC,GAAG5B,CAAC,CAACmqB,MAAM,GAAG;IAAA,OAAMvoB,CAAC,CAAC,CAAC,CAAC,CAAC;EAAA,GAAEkoB,EAAE,CAAC,CAAC;AAClC;AACA,IAAMS,EAAE,GAAG,eAAgB,IAAI1P,GAAG,CAAC,CAAC;EAAE2P,EAAE,GAAG,eAAgB,IAAI3P,GAAG,CAAC,CAAC;AACpE,SAAS4P,EAAEA,CAACzqB,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAU;EAAA,IAAR0B,CAAC,GAAAnK,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,CAAC,CAAC;EACzB,SAAShD,CAACA,CAACgM,CAAC,EAAE;IAAA,IAAAqS,KAAA;IACZ,IAAIlR,CAAC,CAACwoB,OAAO,IAAIM,EAAE,CAAChpB,IAAI,CAACzB,CAAC,EAAEQ,CAAC,CAAC,EAAE,CAACA,CAAC,CAACkqB,YAAY,EAC7C,OAAON,EAAE,CAAC;MAAA,OAAMnqB,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,CAAC,CAACwB,IAAI,CAACoR,KAAI,EAAErS,CAAC,CAAC;IAAA,EAAC;EACzD;EACA,OAAOT,CAAC,CAAC4qB,UAAU,CAAC,SAAS,CAAC,IAAI5qB,CAAC,CAAC4qB,UAAU,CAAC,OAAO,CAAC,IAAI5qB,CAAC,KAAK,OAAO,GAAGke,EAAE,CAAC,YAAM;IAClFje,CAAC,CAACb,gBAAgB,CAACY,CAAC,EAAEvL,CAAC,EAAEmN,CAAC,CAAC;EAC7B,CAAC,CAAC,GAAG3B,CAAC,CAACb,gBAAgB,CAACY,CAAC,EAAEvL,CAAC,EAAEmN,CAAC,CAAC,EAAEnN,CAAC;AACrC;AACA,SAASo2B,EAAEA,CAAC7qB,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAE0B,CAAC,EAAEnN,CAAC,EAAE;EACzB,IAAIgM,CAAC,GAAG;MAAE2pB,OAAO,EAAExoB,CAAC;MAAEkpB,OAAO,EAAEr2B;IAAE,CAAC;IAAE6L,CAAC,GAAGmqB,EAAE,CAACzqB,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAEO,CAAC,CAAC;EACtD,CAACR,CAAC,KAAKrK,QAAQ,CAACiF,IAAI,IAAIoF,CAAC,KAAK4I,MAAM,IAAI5I,CAAC,KAAKrK,QAAQ,KAAK8xB,EAAE,CAAC,YAAM;IAClEznB,CAAC,CAAC8qB,mBAAmB,CAAC/qB,CAAC,EAAEM,CAAC,EAAEG,CAAC,CAAC;EAChC,CAAC,CAAC;AACJ;AACA,SAASuqB,EAAEA,CAAChrB,CAAC,EAAE;EACb,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,CAAC,CAAC1L,MAAM,EAAE2L,CAAC,EAAE,EAC/BsqB,EAAE,CAAC5uB,GAAG,CAACqE,CAAC,CAACC,CAAC,CAAC,CAAC;EAAC,IAAAgrB,UAAA,GAAAlS,0BAAA,CACDyR,EAAE;IAAAU,MAAA;EAAA;IAAhB,KAAAD,UAAA,CAAAnpB,CAAA,MAAAopB,MAAA,GAAAD,UAAA,CAAA7qB,CAAA,IAAA6C,IAAA,GACE;MAAA,IADO/C,CAAC,GAAAgrB,MAAA,CAAAh3B,KAAA;MACRgM,CAAC,CAACF,CAAC,CAAC;IAAA;EAAC,SAAAgjB,GAAA;IAAAiI,UAAA,CAAAjrB,CAAA,CAAAgjB,GAAA;EAAA;IAAAiI,UAAA,CAAAppB,CAAA;EAAA;AACT;AACA,SAAS6oB,EAAEA,CAAC1qB,CAAC,EAAE;EACb,IAAI4iB,CAAC;EACL,IAAI3iB,CAAC,GAAG,IAAI;IAAEC,CAAC,GACb;IACAD,CAAC,CAACkrB,aACH;IAAEvpB,CAAC,GAAG5B,CAAC,CAACvH,IAAI;IAAEhE,CAAC,GAAG,CAAC,CAACmuB,CAAC,GAAG5iB,CAAC,CAACorB,YAAY,KAAK,IAAI,GAAG,KAAK,CAAC,GAAGxI,CAAC,CAAClhB,IAAI,CAAC1B,CAAC,CAAC,KAAK,EAAE;IAAES,CAAC,GAC7E;IACAhM,CAAC,CAAC,CAAC,CAAC,IAAIuL,CAAC,CAAC0V,MACX;IAAEpV,CAAC,GAAG,CAAC;IAAEuB,CAAC,GAAG7B,CAAC,CAACqrB,MAAM;EACtB,IAAIxpB,CAAC,EAAE;IACL,IAAIC,CAAC,GAAGrN,CAAC,CAACujB,OAAO,CAACnW,CAAC,CAAC;IACpB,IAAIC,CAAC,KAAK,CAAC,CAAC,KAAK7B,CAAC,KAAKrK,QAAQ,IAAIqK,CAAC,KAAK;IACzC4I,MAAM,CAAC,EAAE;MACP7I,CAAC,CAACqrB,MAAM,GAAGprB,CAAC;MACZ;IACF;IACA,IAAIU,CAAC,GAAGlM,CAAC,CAACujB,OAAO,CAAC/X,CAAC,CAAC;IACpB,IAAIU,CAAC,KAAK,CAAC,CAAC,EACV;IACFmB,CAAC,IAAInB,CAAC,KAAKL,CAAC,GAAGwB,CAAC,CAAC;EACnB;EACA,IAAIrB,CAAC,GAAG;EACRhM,CAAC,CAAC6L,CAAC,CAAC,IAAIN,CAAC,CAAC0V,MAAM,EAAEjV,CAAC,KAAKR,CAAC,EAAE;IACzBmd,EAAE,CAACpd,CAAC,EAAE,eAAe,EAAE;MACrBiB,YAAY,EAAE,CAAC,CAAC;MAChBiW,GAAG,WAAHA,GAAGA,CAAA,EAAG;QACJ,OAAOzW,CAAC,IAAIP,CAAC;MACf;IACF,CAAC,CAAC;IACF,IAAIkC,CAAC,GAAGhM,CAAC;MAAEuL,CAAC,GAAG0e,CAAC;IAChB6E,EAAE,CAAC,IAAI,CAAC,EAAE/D,EAAE,CAAC,IAAI,CAAC;IAClB,IAAI;MACF,KAAK,IAAI7e,CAAC,EAAEkgB,CAAC,GAAG,EAAE,EAAE/hB,CAAC,KAAK,IAAI,GAAI;QAChC,IAAI8hB,CAAC,GAAG9hB,CAAC,CAAC6qB,YAAY,IAAI7qB,CAAC,CAAC8qB,UAAU,IAAI;QAC1C9qB,CAAC,CAAC+qB,IAAI,IAAI,IAAI;QACd,IAAI;UACF,IAAI/I,CAAC,GAAGhiB,CAAC,CAAC,IAAI,GAAGmB,CAAC,CAAC;UACnB,IAAI6gB,CAAC,IAAI,IAAI,KAAK,EAAC;UACnBhiB,CAAC,CAACgrB,QAAQ;UAAI;UACd;UACAzrB,CAAC,CAAC0V,MAAM,KAAKjV,CAAC,CAAC,EACb,IAAIuc,EAAE,CAACyF,CAAC,CAAC,EAAE;YACT,IAAAiJ,EAAA,GAAgBjJ,CAAC;cAAAkJ,GAAA,GAAA1T,QAAA,CAAAyT,EAAA;cAAZhJ,CAAC,GAAAiJ,GAAA;cAAKhJ,CAAC,GAAAgJ,GAAA,CAAAtmB,KAAA;YACZqd,CAAC,CAAC1c,KAAK,CAACvF,CAAC,GAAGT,CAAC,EAAA3F,MAAA,CAAAie,kBAAA,CAAKqK,CAAC,EAAC,CAAC;UACvB,CAAC,MACCF,CAAC,CAAC/gB,IAAI,CAACjB,CAAC,EAAET,CAAC,CAAC;QAClB,CAAC,CAAC,OAAOiZ,CAAC,EAAE;UACV3W,CAAC,GAAGkgB,CAAC,CAACre,IAAI,CAAC8U,CAAC,CAAC,GAAG3W,CAAC,GAAG2W,CAAC;QACvB;QACA,IAAIjZ,CAAC,CAAC2qB,YAAY,IAAIpI,CAAC,KAAKtiB,CAAC,IAAIsiB,CAAC,KAAK,IAAI,EACzC;QACF9hB,CAAC,GAAG8hB,CAAC;MACP;MACA,IAAIjgB,CAAC,EAAE;QAAA,IAAAspB,UAAA,GAAA7S,0BAAA,CACSyJ,CAAC;UAAAqJ,MAAA;QAAA;UAAA,IAAAC,KAAA,YAAAA,MAAA,EACb;YAAA,IADO7S,CAAC,GAAA4S,MAAA,CAAA33B,KAAA;YACRiqB,cAAc,CAAC,YAAM;cACnB,MAAMlF,CAAC;YACT,CAAC,CAAC;UAAA,CAAC;UAHL,KAAA2S,UAAA,CAAA9pB,CAAA,MAAA+pB,MAAA,GAAAD,UAAA,CAAAxrB,CAAA,IAAA6C,IAAA;YAAA6oB,KAAA;UAAA;QAGK,SAAA9I,GAAA;UAAA4I,UAAA,CAAA5rB,CAAA,CAAAgjB,GAAA;QAAA;UAAA4I,UAAA,CAAA/pB,CAAA;QAAA;QACL,MAAMS,CAAC;MACT;IACF,CAAC,SAAS;MACRtC,CAAC,CAACqrB,MAAM,GAAGprB,CAAC,EAAE,OAAOD,CAAC,CAAC+rB,aAAa,EAAE7G,EAAE,CAAC9iB,CAAC,CAAC,EAAE+e,EAAE,CAACxf,CAAC,CAAC;IACpD;EACF;AACF;AACA,SAASqqB,EAAEA,CAAChsB,CAAC,EAAE;EACb,IAAIC,CAAC,GAAGrK,QAAQ,CAACwI,aAAa,CAAC,UAAU,CAAC;EAC1C,OAAO6B,CAAC,CAACvF,SAAS,GAAGsF,CAAC,EAAEC,CAAC,CAACgsB,OAAO;AACnC;AACA,SAASC,EAAEA,CAAClsB,CAAC,EAAEC,CAAC,EAAE;EAChB,IAAIC,CAAC,GACH;EACAmgB,CACD;EACDngB,CAAC,CAAC0mB,WAAW,KAAK,IAAI,KAAK1mB,CAAC,CAAC0mB,WAAW,GAAG5mB,CAAC,EAAEE,CAAC,CAACqnB,SAAS,GAAGtnB,CAAC,CAAC;AAChE;AACA;AACA,SAASksB,EAAEA,CAACnsB,CAAC,EAAEC,CAAC,EAAE;EAChB,IAAIC,CAAC,GAAG,CAACD,CAAC,GAAGib,EAAE,MAAM,CAAC;IAAEtZ,CAAC,GAAG,CAAC3B,CAAC,GAAGkb,EAAE,MAAM,CAAC;IAAE1mB,CAAC;IAAEgM,CAAC,GAAG,CAACT,CAAC,CAAC4qB,UAAU,CAAC,KAAK,CAAC;EACvE,OAAO,YAAM;IACX,IAAInJ,CAAC,EACH,OAAOyK,EAAE,CAACvK,CAAC,EAAE,IAAI,CAAC,EAAEA,CAAC;IACvBltB,CAAC,KAAK,KAAK,CAAC,KAAKA,CAAC,GAAGu3B,EAAE,CAACvrB,CAAC,GAAGT,CAAC,GAAG,KAAK,GAAGA,CAAC,CAAC,EAAEE,CAAC,KAAKzL,CAAC,GAAG;IACtD,eAAgByvB,EAAE,CAACzvB,CAAC,CAAC,CAAC,CAAC;IACvB,IAAI6L,CAAC,GACH;IACAsB,CAAC,IAAIshB,EAAE,GAAGttB,QAAQ,CAACw2B,UAAU,CAAC33B,CAAC,EAAE,CAAC,CAAC,CAAC,GAAGA,CAAC,CAAC43B,SAAS,CAAC,CAAC,CAAC,CACtD;IACD,IAAInsB,CAAC,EAAE;MACL,IAAI2B,CAAC,GACH;QACA,eAAgBqiB,EAAE,CAAC5jB,CAAC,CACrB;QAAEwB,CAAC,GACF;QACAxB,CAAC,CAACgsB,SACH;MACDJ,EAAE,CAACrqB,CAAC,EAAEC,CAAC,CAAC;IACV,CAAC,MACCoqB,EAAE,CAAC5rB,CAAC,EAAEA,CAAC,CAAC;IACV,OAAOA,CAAC;EACV,CAAC;AACH;AACA;AACA,SAASisB,EAAEA,CAACvsB,CAAC,EAAEC,CAAC,EAAa;EAAA,IAAXC,CAAC,GAAAzI,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,KAAK;EACzB,IAAImK,CAAC,GAAG,CAAC5B,CAAC,CAAC4qB,UAAU,CAAC,KAAK,CAAC;IAAEn2B,CAAC,OAAA4F,MAAA,CAAO6F,CAAC,OAAA7F,MAAA,CAAIuH,CAAC,GAAG5B,CAAC,GAAG,KAAK,GAAGA,CAAC,QAAA3F,MAAA,CAAK6F,CAAC,MAAG;IAAEO,CAAC;EACxE,OAAO,YAAM;IACX,IAAIghB,CAAC,EACH,OAAOyK,EAAE,CAACvK,CAAC,EAAE,IAAI,CAAC,EAAEA,CAAC;IACvB,IAAI,CAAClhB,CAAC,EAAE;MACN,IAAIH,CAAC,GACH;QACA0rB,EAAE,CAACv3B,CAAC,CACL;QAAEoN,CAAC,GACF;QACA,eAAgBqiB,EAAE,CAAC5jB,CAAC,CACrB;MACDG,CAAC,GAAG;MACJ,eAAgByjB,EAAE,CAACriB,CAAC,CAAC;IACvB;IACA,IAAIC,CAAC,GACH;IACArB,CAAC,CAAC4rB,SAAS,CAAC,CAAC,CAAC,CACf;IACD,OAAOH,EAAE,CAACpqB,CAAC,EAAEA,CAAC,CAAC,EAAEA,CAAC;EACpB,CAAC;AACH;AACA,SAAS0qB,EAAEA,CAACxsB,CAAC,EAAEC,CAAC,EAAE;EAChB,IAAIwhB,CAAC,EAAE;IACLpB,CAAC,CAACkH,SAAS,GAAG5F,CAAC,EAAEE,EAAE,CAAC,CAAC;IACrB;EACF;EACA7hB,CAAC,KAAK,IAAI,IAAIA,CAAC,CAACykB,MAAM,CACpB;EACAxkB,CACF,CAAC;AACH;AACA,SAASwsB,EAAEA,CAACzsB,CAAC,EAAEC,CAAC,EAAE;EAChB,OAAOysB,EAAE,CAAC1sB,CAAC,EAAEC,CAAC,CAAC;AACjB;AACA,SAAS0sB,EAAEA,CAAC3sB,CAAC,EAAEC,CAAC,EAAE;EAAA,IAAA2sB,QAAA;EAChBvJ,EAAE,CAAC,CAAC,EAAEpjB,CAAC,CAAC4sB,KAAK,IAAAD,QAAA,GAAG3sB,CAAC,CAAC4sB,KAAK,cAAAD,QAAA,cAAAA,QAAA,GAAI,CAAC,CAAC;EAC7B,IAAM1sB,CAAC,GAAGD,CAAC,CAACyV,MAAM;IAAE9T,CAAC,GAAG6f,CAAC;IAAEhtB,CAAC,GAAGktB,CAAC;EAChC,IAAI;IACF,KAAK,IAAIlhB,CAAC,GACR;IACA,eAAgByjB,EAAE,CAAChkB,CAAC,CACrB,EAAEO,CAAC,KAAKA,CAAC,CAACwhB,QAAQ,KAAK,CAAC,IAAI;IAC7BxhB,CAAC,CAACzL,IAAI,KAAKomB,EAAE,CAAC,GACZ3a,CAAC,GAAG;IACJ,eAAgBqhB,EAAE,CAACrhB,CAAC,CAAC;IACvB,IAAI,CAACA,CAAC,EACJ,MAAM8a,EAAE;IACVmG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAEE,EAAE,CACR;IACAnhB,CACF,CAAC,EAAEohB,EAAE,CAAC,CAAC;IACP,IAAMvhB,CAAC,GAAGosB,EAAE,CAAC1sB,CAAC,EAAAiG,mBAAA,CAAAA,mBAAA,KAAOhG,CAAC;MAAE6sB,MAAM,EAAErsB;IAAC,EAAE,CAAC;IACpC,IAAIkhB,CAAC,KAAK,IAAI,IAAIA,CAAC,CAACM,QAAQ,KAAK,CAAC,IAAI;IACtCN,CAAC,CAAC3sB,IAAI,KAAKsmB,EAAE,EACX,MAAMiG,EAAE,CAAC,CAAC,EAAEhG,EAAE;IAChB,OAAOmG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;IACfphB,CAAC;EACH,CAAC,CAAC,OAAOA,CAAC,EAAE;IACV,IAAIA,CAAC,KAAKib,EAAE,EACV,OAAOtb,CAAC,CAAC8sB,OAAO,KAAK,CAAC,CAAC,IAAIlO,EAAE,CAAC,CAAC,EAAEwE,EAAE,CAAC,CAAC,EAAEqB,EAAE,CAACxkB,CAAC,CAAC,EAAEwhB,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE+K,EAAE,CAACzsB,CAAC,EAAEC,CAAC,CAAC;IAChE,MAAMK,CAAC;EACT,CAAC,SAAS;IACRohB,EAAE,CAAC9f,CAAC,CAAC,EAAEggB,EAAE,CAACntB,CAAC,CAAC;EACd;AACF;AACA,IAAMu4B,EAAE,GAAG,eAAgB,IAAIzV,GAAG,CAAC,CAAC;AACpC,SAASmV,EAAEA,CAAC1sB,CAAC,EAAAitB,IAAA,EAAiF;EAAA,IAArEhtB,CAAC,GAAAgtB,IAAA,CAATvX,MAAM;IAAaxV,CAAC,GAAA+sB,IAAA,CAATH,MAAM;IAAAI,UAAA,GAAAD,IAAA,CAAKE,KAAK;IAAEvrB,CAAC,GAAAsrB,UAAA,cAAG,CAAC,CAAC,GAAAA,UAAA;IAAUz4B,CAAC,GAAAw4B,IAAA,CAATG,MAAM;IAAc3sB,CAAC,GAAAwsB,IAAA,CAAVI,OAAO;IAAAC,UAAA,GAAAL,IAAA,CAAKJ,KAAK;IAAEvsB,CAAC,GAAAgtB,UAAA,cAAG,CAAC,CAAC,GAAAA,UAAA;EACxFjK,EAAE,CAAC,CAAC;EACJ,IAAIxhB,CAAC,GAAG,eAAgB,IAAIgZ,GAAG,CAAC,CAAC;IAAE/Y,CAAC,GAAG,SAAJA,CAACA,CAAIH,CAAC,EAAK;MAC5C,KAAK,IAAIW,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGX,CAAC,CAACrN,MAAM,EAAEgO,CAAC,EAAE,EAAE;QACjC,IAAIkgB,CAAC,GAAG7gB,CAAC,CAACW,CAAC,CAAC;QACZ,IAAI,CAACT,CAAC,CAAC4V,GAAG,CAAC+K,CAAC,CAAC,EAAE;UACb3gB,CAAC,CAAClG,GAAG,CAAC6mB,CAAC,CAAC;UACR,IAAID,CAAC,GAAGqH,EAAE,CAACpH,CAAC,CAAC;UACbviB,CAAC,CAACb,gBAAgB,CAACojB,CAAC,EAAEkI,EAAE,EAAE;YAAEI,OAAO,EAAEvI;UAAE,CAAC,CAAC;UACzC,IAAIE,CAAC,GAAGuK,EAAE,CAAC9V,GAAG,CAACsL,CAAC,CAAC;UACjBC,CAAC,KAAK,KAAK,CAAC,IAAI7sB,QAAQ,CAACwJ,gBAAgB,CAACojB,CAAC,EAAEkI,EAAE,EAAE;YAAEI,OAAO,EAAEvI;UAAE,CAAC,CAAC,EAAEyK,EAAE,CAACtV,GAAG,CAAC8K,CAAC,EAAE,CAAC,CAAC,IAAIwK,EAAE,CAACtV,GAAG,CAAC8K,CAAC,EAAEC,CAAC,GAAG,CAAC,CAAC;QACpG;MACF;IACF,CAAC;EACD3gB,CAAC,CAACob,EAAE,CAACqN,EAAE,CAAC,CAAC,EAAEC,EAAE,CAAC7uB,GAAG,CAACmG,CAAC,CAAC;EACpB,IAAInB,CAAC,GAAG,KAAK,CAAC;IAAEyB,CAAC,GAAG6lB,EAAE,CAAC,YAAM;MAC3B,IAAItmB,CAAC,GAAGzB,CAAC,aAADA,CAAC,cAADA,CAAC,GAAID,CAAC,CAACmkB,WAAW,CAACJ,EAAE,CAAC,CAAC,CAAC;MAChC,OAAOwE,EAAE,CAAC,YAAM;QACd,IAAI/nB,CAAC,EAAE;UACL+oB,EAAE,CAAC,CAAC,CAAC,CAAC;UACN,IAAIlnB,CAAC,GACH;UACAse,CACD;UACDte,CAAC,CAAC3B,CAAC,GAAGF,CAAC;QACT;QACAhM,CAAC,KAAKmN,CAAC,CAAC2rB,QAAQ,GAAG94B,CAAC,CAAC,EAAEgtB,CAAC,IAAIyK,EAAE,CAC5B;QACAvqB,CAAC,EACD,IACF,CAAC,EAAEhB,CAAC,GAAGX,CAAC,CAAC2B,CAAC,EAAEC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE6f,CAAC,KAAKpB,CAAC,CAACkH,SAAS,GAAG5F,CAAC,CAAC,EAAElhB,CAAC,IAAIipB,EAAE,CAAC,CAAC;MACzD,CAAC,CAAC,EAAE,YAAM;QACR,IAAInH,CAAC;QAAC,IAAAiL,UAAA,GAAAzU,0BAAA,CACQlX,CAAC;UAAA4rB,MAAA;QAAA;UAAf,KAAAD,UAAA,CAAA1rB,CAAA,MAAA2rB,MAAA,GAAAD,UAAA,CAAAptB,CAAA,IAAA6C,IAAA,GAAiB;YAAA,IAARX,CAAC,GAAAmrB,MAAA,CAAAv5B,KAAA;YACR+L,CAAC,CAAC8qB,mBAAmB,CAACzoB,CAAC,EAAEooB,EAAE,CAAC;YAC5B,IAAIlI,CAAC,GACH;YACAwK,EAAE,CAAC9V,GAAG,CAAC5U,CAAC,CACT;YACD,EAAEkgB,CAAC,KAAK,CAAC,IAAI5sB,QAAQ,CAACm1B,mBAAmB,CAACzoB,CAAC,EAAEooB,EAAE,CAAC,EAAEsC,EAAE,UAAO,CAAC1qB,CAAC,CAAC,IAAI0qB,EAAE,CAACtV,GAAG,CAACpV,CAAC,EAAEkgB,CAAC,CAAC;UAChF;QAAC,SAAAQ,GAAA;UAAAwK,UAAA,CAAAxtB,CAAA,CAAAgjB,GAAA;QAAA;UAAAwK,UAAA,CAAA3rB,CAAA;QAAA;QACD2oB,EAAE,UAAO,CAAC1oB,CAAC,CAAC,EAAEH,CAAC,KAAKzB,CAAC,KAAK,CAACqiB,CAAC,GAAG5gB,CAAC,CAAC4pB,UAAU,KAAK,IAAI,IAAIhJ,CAAC,CAACmL,WAAW,CAAC/rB,CAAC,CAAC,CAAC;MAC3E,CAAC;IACH,CAAC,CAAC;EACF,OAAOgsB,EAAE,CAACjW,GAAG,CAAC/W,CAAC,EAAEyB,CAAC,CAAC,EAAEzB,CAAC;AACxB;AACA,IAAIgtB,EAAE,GAAG,eAAgB,IAAIC,OAAO,CAAC,CAAC;AACtC,SAASC,EAAEA,CAAC7tB,CAAC,EAAEC,CAAC,EAAE;EAChB,IAAMC,CAAC,GAAGytB,EAAE,CAACzW,GAAG,CAAClX,CAAC,CAAC;EACnB,OAAOE,CAAC,IAAIytB,EAAE,UAAO,CAAC3tB,CAAC,CAAC,EAAEE,CAAC,CAACD,CAAC,CAAC,IAAI+E,OAAO,CAACpC,OAAO,CAAC,CAAC;AACrD;AACA,SAASkrB,EAAEA,CAAC9tB,CAAC,EAAEC,CAAC,EAAmB;EAAA,IAAA8tB,KAAA,GAAAt2B,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAR,CAAC,CAAC,EAAE,CAAC,CAAC;IAAAu2B,KAAA,GAAAnV,cAAA,CAAAkV,KAAA;IAAd7tB,CAAC,GAAA8tB,KAAA;IAAEpsB,CAAC,GAAAosB,KAAA;EACrBvM,CAAC,IAAIvhB,CAAC,KAAK,CAAC,IAAI2hB,EAAE,CAAC,CAAC;EACpB,IAAIptB,CAAC,GAAGuL,CAAC;IAAES,CAAC,GAAG,IAAI;IAAEH,CAAC,GAAG,IAAI;IAAEuB,CAAC,GAAG2Z,CAAC;IAAE1Z,CAAC,GAAG5B,CAAC,GAAG,CAAC,GAAGwc,EAAE,GAAG,CAAC;IAAE/b,CAAC,GAAG,CAAC,CAAC;EAChE,IAAMyB,CAAC,GAAG,SAAJA,CAACA,CAAIE,CAAC,EAAa;MAAA,IAAXkgB,CAAC,GAAA/qB,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,CAAC,CAAC;MAClBkJ,CAAC,GAAG,CAAC,CAAC,EAAEgB,CAAC,CAAC6gB,CAAC,EAAElgB,CAAC,CAAC;IACjB,CAAC;IAAEX,CAAC,GAAG,SAAJA,CAACA,CAAIW,CAAC,EAAEkgB,CAAC,EAAK;MACf,IAAI3gB,CAAC,MAAMA,CAAC,GAAGS,CAAC,CAAC,EAAE;MACnB,IAAIigB,CAAC,GAAG,CAAC,CAAC;MACV,IAAId,CAAC,IAAI7f,CAAC,KAAK,CAAC,CAAC,EAAE;QACjB,IAAI1B,CAAC,KAAK,CAAC,EAAE;UACX,IAAMwiB,CAAC,GACL;UACAjuB,CAAC,CAACO,IACH;UACD0tB,CAAC,KAAKtH,EAAE,GAAGxZ,CAAC,GAAG,CAAC,GAAG8gB,CAAC,KAAKrH,EAAE,GAAGzZ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAIA,CAAC,GAAGqsB,QAAQ,CAACvL,CAAC,CAACwL,SAAS,CAAC,CAAC,CAAC,CAAC,EAAEtsB,CAAC,KAAKA,CAAC,KAAKA,CAAC,GAAGC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3G;QACA,IAAM4gB,CAAC,GAAG7gB,CAAC,GAAG1B,CAAC;QACf,CAAC,CAAC2B,CAAC,KAAK4gB,CAAC,KAAKhuB,CAAC,GAAGutB,EAAE,CAAC,CAAC,EAAEJ,EAAE,CAACntB,CAAC,CAAC,EAAEitB,EAAE,CAAC,CAAC,CAAC,CAAC,EAAEa,CAAC,GAAG,CAAC,CAAC,EAAE3gB,CAAC,GAAG,CAAC,CAAC,CAAC;MACxD;MACAC,CAAC,IAAIpB,CAAC,GAAG0oB,EAAE,CAAC1oB,CAAC,CAAC,GAAG+hB,CAAC,KAAK/hB,CAAC,GAAG+nB,EAAE,CAAC;QAAA,OAAMhG,CAAC,CAAC/tB,CAAC,CAAC;MAAA,EAAC,CAAC,EAAE6L,CAAC,IAAI6nB,EAAE,CAAC7nB,CAAC,EAAE,YAAM;QAC3DA,CAAC,GAAG,IAAI;MACV,CAAC,CAAC,KAAKA,CAAC,GAAG6oB,EAAE,CAAC7oB,CAAC,CAAC,GAAGkiB,CAAC,KAAKliB,CAAC,GAAGkoB,EAAE,CAAC;QAAA,OAAMhG,CAAC,CAAC/tB,CAAC,EAAE,CAACyL,CAAC,GAAG,CAAC,EAAE0B,CAAC,CAAC,CAAC;MAAA,EAAC,CAAC,EAAEnB,CAAC,IAAI0nB,EAAE,CAAC1nB,CAAC,EAAE,YAAM;QACzEA,CAAC,GAAG,IAAI;MACV,CAAC,CAAC,CAAC,EAAE8hB,CAAC,IAAIb,EAAE,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;EACD6G,EAAE,CAAC,YAAM;IACP5nB,CAAC,GAAG,CAAC,CAAC,EAAEV,CAAC,CAACmC,CAAC,CAAC,EAAEzB,CAAC,IAAIgB,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;EAClC,CAAC,EAAEG,CAAC,CAAC,EAAE2f,CAAC,KAAKhtB,CAAC,GAAGktB,CAAC,CAAC;AACrB;AACA,SAASwM,EAAEA,CAACnuB,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAE0B,CAAC,EAAEnN,CAAC,EAAE;EACzB,IAAIgM,CAAC,GAAGT,CAAC;IAAEM,CAAC,GAAG,EAAE;IAAEuB,CAAC;EACpB0mB,EAAE,CAAC,YAAM;IAAA,IAAA6F,GAAA;IACP,IAAI9tB,CAAC,MAAMA,CAAC,IAAA8tB,GAAA,GAAGnuB,CAAC,CAAC,CAAC,cAAAmuB,GAAA,cAAAA,GAAA,GAAI,EAAE,CAAC,EAAE;MACzB3M,CAAC,IAAII,EAAE,CAAC,CAAC;MACT;IACF;IACAhgB,CAAC,KAAK,KAAK,CAAC,KAAKmf,EAAE,CAACnf,CAAC,CAAC,EAAEA,CAAC,GAAG,KAAK,CAAC,CAAC,EAAEvB,CAAC,KAAK,EAAE,KAAKuB,CAAC,GAAG2mB,EAAE,CAAC,YAAM;MAC7D,IAAI/G,CAAC,EAAE;QACLE,CAAC,CAAC3sB,IAAI;QACN,KAAK,IAAI8M,CAAC,GAAG+f,EAAE,CAAC,CAAC,EAAElhB,CAAC,GAAGmB,CAAC,EAAEA,CAAC,KAAK,IAAI,KAAKA,CAAC,CAACmgB,QAAQ,KAAK,CAAC,IAAI;QAC7DngB,CAAC,CAAC9M,IAAI,KAAK,EAAE,CAAC,GACZ2L,CAAC,GAAGmB,CAAC,EAAEA,CAAC,GAAG;QACX,eAAgBggB,EAAE,CAAChgB,CAAC,CAAC;QACvB,IAAIA,CAAC,KAAK,IAAI,EACZ,MAAMyf,EAAE,CAAC,CAAC,EAAEhG,EAAE;QAChB2Q,EAAE,CAACvK,CAAC,EAAEhhB,CAAC,CAAC,EAAEF,CAAC,GAAGmhB,EAAE,CAAC9f,CAAC,CAAC;QACnB;MACF;MACA,IAAIM,CAAC,GAAG9B,CAAC,GAAG,EAAE;QAAEqB,CAAC,GAAGqqB,EAAE,CAAC5pB,CAAC,CAAC;MACzB8pB,EAAE,CACA;MACA,eAAgBhI,EAAE,CAACviB,CAAC,CAAC,EACrB;MACAA,CAAC,CAAC2qB,SACJ,CAAC,EAAE7rB,CAAC,CAACgkB,MAAM,CAAC9iB,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;EACL,CAAC,CAAC;AACJ;AACA,SAAS0sB,EAAEA,CAACruB,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAE0B,CAAC,EAAEnN,CAAC,EAAE;EACzB,IAAIoN,CAAC;EACL4f,CAAC,IAAII,EAAE,CAAC,CAAC;EACT,IAAIphB,CAAC,GAAG,CAACoB,CAAC,GAAG5B,CAAC,CAACquB,OAAO,KAAK,IAAI,GAAG,KAAK,CAAC,GAAGzsB,CAAC,CAAC3B,CAAC,CAAC;IAAEI,CAAC,GAAG,CAAC,CAAC;EACvDG,CAAC,KAAK,CAAC,CAAC,KAAKA,CAAC,GAAGR,CAAC,CAACsuB,QAAQ,EAAEjuB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAEG,CAAC,KAAK,KAAK,CAAC,IAAIA,CAAC,CAACT,CAAC,EAAEM,CAAC,GAAG;IAAA,OAAMsB,CAAC;EAAA,IAAGA,CAAC,CAAC;AAC7E;AACA,SAAS4sB,EAAEA,CAACxuB,CAAC,EAAEC,CAAC,EAAE;EAChBie,EAAE,CAAC,YAAM;IAAA,IAAAuQ,OAAA;IACP,IAAIvuB,CAAC,GAAGF,CAAC,CAAC0uB,WAAW,CAAC,CAAC;MAAE9sB,CAAC,GACxB;MACA1B,CAAC,CAACsrB,IAAI,IACJ;MACAtrB,CAAC,IAED,wBAAAuuB,OAAA,GACAvuB,CAAC,CAACyuB,IAAI,cAAAF,OAAA,cAAAA,OAAA,GAAI;MACVvuB,CAAC,CAACirB,aAAa,CAACwD,IAEnB;IACD,IAAI,CAAC/sB,CAAC,CAACzH,aAAa,CAAC,GAAG,GAAG8F,CAAC,CAACqI,IAAI,CAAC,EAAE;MAClC,IAAM7T,CAAC,GAAGmB,QAAQ,CAACwI,aAAa,CAAC,OAAO,CAAC;MACzC3J,CAAC,CAACm6B,EAAE,GAAG3uB,CAAC,CAACqI,IAAI,EAAE7T,CAAC,CAACkE,WAAW,GAAGsH,CAAC,CAAC4uB,IAAI,EAAEjtB,CAAC,CAACwiB,WAAW,CAAC3vB,CAAC,CAAC;IACzD;EACF,CAAC,CAAC;AACJ;AACA,IAAMq6B,EAAE,GAAAxW,kBAAA,2BACO;AACf,SAASyW,EAAEA,CAAC/uB,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAE;EACnB,IAAI0B,CAAC,GAAG,EAAE,GAAG5B,CAAC;EACd,IAAIE,CAAC,EAAE;IACL,KAAK,IAAIzL,CAAC,IAAIyL,CAAC,EACb,IAAIA,CAAC,CAACzL,CAAC,CAAC,EACNmN,CAAC,GAAGA,CAAC,GAAGA,CAAC,GAAG,GAAG,GAAGnN,CAAC,GAAGA,CAAC,CAAC,KACrB,IAAImN,CAAC,CAACtN,MAAM,EACf,KAAK,IAAImM,CAAC,GAAGhM,CAAC,CAACH,MAAM,EAAEgM,CAAC,GAAG,CAAC,EAAE,CAACA,CAAC,GAAGsB,CAAC,CAACoW,OAAO,CAACvjB,CAAC,EAAE6L,CAAC,CAAC,KAAK,CAAC,GAAI;MAC1D,IAAIuB,CAAC,GAAGvB,CAAC,GAAGG,CAAC;MACb,CAACH,CAAC,KAAK,CAAC,IAAIwuB,EAAE,CAAC7O,QAAQ,CAACre,CAAC,CAACtB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAMuB,CAAC,KAAKD,CAAC,CAACtN,MAAM,IAAIw6B,EAAE,CAAC7O,QAAQ,CAACre,CAAC,CAACC,CAAC,CAAC,CAAC,CAAC,GAAGD,CAAC,GAAG,CAACtB,CAAC,KAAK,CAAC,GAAG,EAAE,GAAGsB,CAAC,CAACssB,SAAS,CAAC,CAAC,EAAE5tB,CAAC,CAAC,IAAIsB,CAAC,CAACssB,SAAS,CAACrsB,CAAC,GAAG,CAAC,CAAC,GAAGvB,CAAC,GAAGuB,CAAC;IACnJ;EACN;EACA,OAAOD,CAAC,KAAK,EAAE,GAAG,IAAI,GAAGA,CAAC;AAC5B;AACA,SAASotB,EAAEA,CAAChvB,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAE0B,CAAC,EAAEnN,CAAC,EAAEgM,CAAC,EAAE;EAC5B,IAAIH,CAAC,GAAGN,CAAC,CAAC0jB,WAAW;EACrB,IAAIjC,CAAC,IAAInhB,CAAC,KAAKJ,CAAC,EAAE;IAChB,IAAI2B,CAAC,GAAGktB,EAAE,CAAC7uB,CAAC,EAAE0B,CAAC,EAAEnB,CAAC,CAAC;IACnB,CAAC,CAACghB,CAAC,IAAI5f,CAAC,KAAK7B,CAAC,CAAC5F,YAAY,CAAC,OAAO,CAAC,MAAMyH,CAAC,IAAI,IAAI,GAAG7B,CAAC,CAACivB,eAAe,CAAC,OAAO,CAAC,GAAGjvB,CAAC,CAACkvB,SAAS,GAAGrtB,CAAC,CAAC,EAAE7B,CAAC,CAAC0jB,WAAW,GAAGxjB,CAAC;EACxH,CAAC,MAAM,IAAIO,CAAC,IAAIhM,CAAC,KAAKgM,CAAC,EACrB,KAAK,IAAIqB,CAAC,IAAIrB,CAAC,EAAE;IACf,IAAIE,CAAC,GAAG,CAAC,CAACF,CAAC,CAACqB,CAAC,CAAC;IACd,CAACrN,CAAC,IAAI,IAAI,IAAIkM,CAAC,KAAK,CAAC,CAAClM,CAAC,CAACqN,CAAC,CAAC,KAAK9B,CAAC,CAACvE,SAAS,CAAC0zB,MAAM,CAACrtB,CAAC,EAAEnB,CAAC,CAAC;EACzD;EACF,OAAOF,CAAC;AACV;AACA,IAAM2uB,EAAE,GAAG5uB,MAAM,CAAC,mBAAmB,CAAC;EAAE6uB,EAAE,GAAG7uB,MAAM,CAAC,SAAS,CAAC;AAC9D,SAAS8uB,EAAEA,CAACtvB,CAAC,EAAE;EACb,IAAIyhB,CAAC,EAAE;IACL,IAAIxhB,CAAC,GAAG,CAAC,CAAC;MAAEC,CAAC,GAAG,SAAJA,CAACA,CAAA,EAAS;QACpB,IAAI,CAACD,CAAC,EAAE;UACN,IAAIA,CAAC,GAAG,CAAC,CAAC,EAAED,CAAC,CAACuvB,YAAY,CAAC,OAAO,CAAC,EAAE;YACnC,IAAI3tB,CAAC,GAAG5B,CAAC,CAAC9L,KAAK;YACfs7B,EAAE,CAACxvB,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,EAAEA,CAAC,CAAC9L,KAAK,GAAG0N,CAAC;UACnC;UACA,IAAI5B,CAAC,CAACuvB,YAAY,CAAC,SAAS,CAAC,EAAE;YAC7B,IAAI96B,CAAC,GAAGuL,CAAC,CAACtH,OAAO;YACjB82B,EAAE,CAACxvB,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,EAAEA,CAAC,CAACtH,OAAO,GAAGjE,CAAC;UACvC;QACF;MACF,CAAC;IACDuL,CAAC,CAACmqB,MAAM,GAAGjqB,CAAC,EAAEke,EAAE,CAACle,CAAC,CAAC,EAAE4pB,EAAE,CAAC,CAAC;EAC3B;AACF;AACA,SAAS2F,EAAEA,CAACzvB,CAAC,EAAEC,CAAC,EAAE;EAChB,IAAIC,CAAC,GAAGwvB,EAAE,CAAC1vB,CAAC,CAAC;EACbE,CAAC,CAAChM,KAAK,MAAMgM,CAAC,CAAChM,KAAK,GAAG;EACvB+L,CAAC,aAADA,CAAC,cAADA,CAAC,GAAI,KAAK,CAAC,CAAC;EAAI;EAChB;EACAD,CAAC,CAAC9L,KAAK,KAAK+L,CAAC,KAAKA,CAAC,KAAK,CAAC,IAAID,CAAC,CAAC2vB,QAAQ,KAAK,UAAU,CAAC,KAAK3vB,CAAC,CAAC9L,KAAK,GAAG+L,CAAC,aAADA,CAAC,cAADA,CAAC,GAAI,EAAE,CAAC;AAChF;AACA,SAASuvB,EAAEA,CAACxvB,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAE0B,CAAC,EAAE;EACtB,IAAInN,CAAC,GAAGi7B,EAAE,CAAC1vB,CAAC,CAAC;EACbyhB,CAAC,KAAKhtB,CAAC,CAACwL,CAAC,CAAC,GAAGD,CAAC,CAAC5F,YAAY,CAAC6F,CAAC,CAAC,EAAEA,CAAC,KAAK,KAAK,IAAIA,CAAC,KAAK,QAAQ,IAAIA,CAAC,KAAK,MAAM,IAAID,CAAC,CAAC2vB,QAAQ,KAAK,MAAM,CAAC,IAAIl7B,CAAC,CAACwL,CAAC,CAAC,MAAMxL,CAAC,CAACwL,CAAC,CAAC,GAAGC,CAAC,CAAC,KAAKD,CAAC,KAAK,SAAS,KAAKD,CAAC,CAAC+c,EAAE,CAAC,GAAG7c,CAAC,CAAC,EAAEA,CAAC,IAAI,IAAI,GAAGF,CAAC,CAACivB,eAAe,CAAChvB,CAAC,CAAC,GAAG,OAAOC,CAAC,IAAI,QAAQ,IAAI0vB,EAAE,CAAC5vB,CAAC,CAAC,CAACigB,QAAQ,CAAChgB,CAAC,CAAC,GAAGD,CAAC,CAACC,CAAC,CAAC,GAAGC,CAAC,GAAGF,CAAC,CAAC9H,YAAY,CAAC+H,CAAC,EAAEC,CAAC,CAAC,CAAC;AACpR;AACA,SAASwvB,EAAEA,CAAC1vB,CAAC,EAAE;EAAA,IAAA6vB,eAAA;EACb;IACE;IACA;IAAA,CAAAA,eAAA,GACA7vB,CAAC,CAAC2jB,YAAY,cAAAkM,eAAA,cAAAA,eAAA,GAAK7vB,CAAC,CAAC2jB,YAAY,GAAAnmB,qBAAA,CAAAA,qBAAA,KAC9B4xB,EAAE,EAAGpvB,CAAC,CAAC2vB,QAAQ,CAAC1P,QAAQ,CAAC,GAAG,CAAC,GAC7BoP,EAAE,EAAGrvB,CAAC,CAAC8vB,YAAY,KAAKrU,EAAE;EAC5B;AAEL;AACA,IAAIsU,EAAE,GAAG,eAAgB,IAAIxY,GAAG,CAAC,CAAC;AAClC,SAASqY,EAAEA,CAAC5vB,CAAC,EAAE;EACb,IAAIC,CAAC,GAAG8vB,EAAE,CAAC7Y,GAAG,CAAClX,CAAC,CAAC2vB,QAAQ,CAAC;EAC1B,IAAI1vB,CAAC,EAAE,OAAOA,CAAC;EACf8vB,EAAE,CAACrY,GAAG,CAAC1X,CAAC,CAAC2vB,QAAQ,EAAE1vB,CAAC,GAAG,EAAE,CAAC;EAC1B,KAAK,IAAIC,CAAC,EAAE0B,CAAC,GAAG5B,CAAC,EAAEvL,CAAC,GAAG8uB,OAAO,CAACpjB,SAAS,EAAE1L,CAAC,KAAKmN,CAAC,GAAI;IACnD1B,CAAC,GAAGod,EAAE,CAAC1b,CAAC,CAAC;IACT,KAAK,IAAInB,CAAC,IAAIP,CAAC,EACbA,CAAC,CAACO,CAAC,CAAC,CAACiX,GAAG,IAAIzX,CAAC,CAACkE,IAAI,CAAC1D,CAAC,CAAC;IACvBmB,CAAC,GAAG6b,EAAE,CAAC7b,CAAC,CAAC;EACX;EACA,OAAO3B,CAAC;AACV;AACA,SAAS+vB,EAAEA,CAAChwB,CAAC,EAAEC,CAAC,EAAS;EAAA,IAAPC,CAAC,GAAAzI,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAGwI,CAAC;EACrBqqB,EAAE,CAACtqB,CAAC,EAAE,QAAQ,EAAE,UAAC4B,CAAC,EAAK;IACrB,IAAInN,CAAC,GAAGmN,CAAC,GAAG5B,CAAC,CAACiwB,cAAc,GAAGjwB,CAAC,CAACtH,OAAO;IACxCwH,CAAC,CAACzL,CAAC,CAAC;EACN,CAAC,CAAC;EAAE;EACJ;EACA,CAACgtB,CAAC,IAAIzhB,CAAC,CAACiwB,cAAc,KAAKjwB,CAAC,CAACtH,OAAO;EAAI;EACxCuuB,EAAE,CAAChnB,CAAC,CAAC,IAAI,IAAI,KAAKC,CAAC,CAACF,CAAC,CAACtH,OAAO,CAAC,EAAE0vB,EAAE,CAAC,YAAM;IACvC,IAAIxmB,CAAC,GAAG3B,CAAC,CAAC,CAAC;IACXD,CAAC,CAACtH,OAAO,GAAG,CAAC,CAACkJ,CAAC;EACjB,CAAC,CAAC;AACJ;AACA,SAASsuB,EAAEA,CAAClwB,CAAC,EAAEC,CAAC,EAAE;EAChB,OAAOD,CAAC,KAAKC,CAAC,IAAI,CAACD,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,CAAC,CAAC6c,EAAE,CAAC,MAAM5c,CAAC;AACtD;AACA,SAASkwB,EAAEA,CAAA,EAAkB;EAAA,IAAjBnwB,CAAC,GAAAvI,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,CAAC,CAAC;EAAA,IAAEwI,CAAC,GAAAxI,SAAA,CAAAnD,MAAA,OAAAmD,SAAA,MAAApD,SAAA;EAAA,IAAE6L,CAAC,GAAAzI,SAAA,CAAAnD,MAAA,OAAAmD,SAAA,MAAApD,SAAA;EAAA,IAAEuN,CAAC,GAAAnK,SAAA,CAAAnD,MAAA,OAAAmD,SAAA,MAAApD,SAAA;EACzB,OAAO0zB,EAAE,CAAC,YAAM;IACd,IAAItzB,CAAC,EAAEgM,CAAC;IACR,OAAO2nB,EAAE,CAAC,YAAM;MACd3zB,CAAC,GAAGgM,CAAC,EAAEA,CAAC,GAAG,EAAE,EAAEwmB,EAAE,CAAC,YAAM;QACtBjnB,CAAC,KAAKE,CAAC,CAAA8F,KAAA,SAAAsS,kBAAA,CAAI7X,CAAC,EAAC,KAAKR,CAAC,CAAA+F,KAAA,UAAChG,CAAC,EAAA3F,MAAA,CAAAie,kBAAA,CAAK7X,CAAC,GAAC,EAAEhM,CAAC,IAAIy7B,EAAE,CAAChwB,CAAC,CAAA8F,KAAA,SAAAsS,kBAAA,CAAI7jB,CAAC,EAAC,EAAEuL,CAAC,CAAC,IAAIC,CAAC,CAAA+F,KAAA,UAAC,IAAI,EAAA3L,MAAA,CAAAie,kBAAA,CAAK7jB,CAAC,GAAC,CAAC;MACrE,CAAC,CAAC;IACJ,CAAC,CAAC,EAAE,YAAM;MACRypB,EAAE,CAAC,YAAM;QACPzd,CAAC,IAAIyvB,EAAE,CAAChwB,CAAC,CAAA8F,KAAA,SAAAsS,kBAAA,CAAI7X,CAAC,EAAC,EAAET,CAAC,CAAC,IAAIC,CAAC,CAAA+F,KAAA,UAAC,IAAI,EAAA3L,MAAA,CAAAie,kBAAA,CAAK7X,CAAC,GAAC;MACtC,CAAC,CAAC;IACJ,CAAC;EACH,CAAC,CAAC,EAAET,CAAC;AACP;AACA,SAASowB,EAAEA,CAACpwB,CAAC,EAAE;EACb4gB,CAAC,KAAK,IAAI,IAAI2I,EAAE,CAAC,CAAC,EAAE5B,EAAE,CAAC,YAAM;IAC3B,IAAM1nB,CAAC,GAAGgnB,EAAE,CAACjnB,CAAC,CAAC;IACf,IAAI,OAAOC,CAAC,IAAI,UAAU,EAAE,OAC1B,yBACAA,CAAC;EAEL,CAAC,CAAC;AACJ;AACA,SAASowB,EAAEA,CAACrwB,CAAC,EAAE;EACb4gB,CAAC,KAAK,IAAI,IAAI2I,EAAE,CAAC,CAAC,EAAE6G,EAAE,CAAC;IAAA,OAAM;MAAA,OAAMnJ,EAAE,CAACjnB,CAAC,CAAC;IAAA;EAAA,EAAC;AAC3C;AACA,IAAIswB,EAAE,GAAG,CAAC,CAAC;AACX,SAASC,EAAEA,CAACvwB,CAAC,EAAE;EACb,IAAIC,CAAC,GAAGqwB,EAAE;EACV,IAAI;IACF,OAAOA,EAAE,GAAG,CAAC,CAAC,EAAE,CAACtwB,CAAC,CAAC,CAAC,EAAEswB,EAAE,CAAC;EAC3B,CAAC,SAAS;IACRA,EAAE,GAAGrwB,CAAC;EACR;AACF;AACA,SAASuwB,CAACA,CAACxwB,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAE0B,CAAC,EAAE;EAAA,IAAA6uB,GAAA,EAAAC,IAAA,EAAAC,KAAA;EACrB,IAAIC,EAAE;EACN,IAAIn8B,CAAC,GAAG,CAACyL,CAAC,GAAG4a,EAAE,MAAM,CAAC;IAAEra,CAAC,GAAG,CAAC,CAAC;IAAEH,CAAC,GAAG,CAACJ,CAAC,GAAG8a,EAAE,MAAM,CAAC;IAAEnZ,CAAC,GAAG,CAAC3B,CAAC,GAAG+a,EAAE,MAAM,CAAC;IAAEnZ,CAAC,GAAG,CAAC,CAAC;IAAEnB,CAAC;EACjFL,CAAC,IAAAmwB,GAAA,GAAYF,EAAE,CAAC;IAAA,OACd,gBACAvwB,CAAC,CAACC,CAAC,CAAC;EAAA,CACL,CAAC,EAAAywB,IAAA,GAAA7X,cAAA,CAAA4X,GAAA,MAHG9vB,CAAC,GAAA+vB,IAAA,KAAE5uB,CAAC,GAAA4uB,IAAA,KAAAD,GAAA,IAGJ9vB,CAAC,GAAG;EACTX,CAAC,CAACC,CAAC,CAAC;EACJ,IAAImC,CAAC,GAAGya,EAAE,IAAI7c,CAAC,IAAI8c,EAAE,IAAI9c,CAAC;IAAE2B,CAAC,GAAGrB,CAAC,MAAAqwB,KAAA,GAAM,CAACC,EAAE,GAAGvT,EAAE,CAACrd,CAAC,EAAEC,CAAC,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG2wB,EAAE,CAAClZ,GAAG,cAAAiZ,KAAA,cAAAA,KAAA,GAAMvuB,CAAC,IAAInC,CAAC,IAAID,CAAC,IAAK,UAAC6wB,CAAC;MAAA,OAAK7wB,CAAC,CAACC,CAAC,CAAC,GAAG4wB,CAAC;IAAA,CAAC,CAAE,IAAI,KAAK,CAAC;IAAEvuB,CAAC,GACnI;IACAV,CACD;IAAE4gB,CAAC,GAAG,CAAC,CAAC;IAAED,CAAC,GAAG,CAAC,CAAC;IAAEE,CAAC,GAAG,SAAJA,CAACA,CAAA;MAAA,OAAUF,CAAC,GAAG,CAAC,CAAC,EAAEC,CAAC,KAAKA,CAAC,GAAG,CAAC,CAAC,EAAE3gB,CAAC,GAAGS,CAAC,GAAG2kB,EAAE,CAC5D;MACArlB,CACF,CAAC,GAAGU,CAAC,GAAG;MACRV,CAAC,CAAC,EAAEU,CAAC;IAAA,CAAC;EACN3B,CAAC,KAAK,KAAK,CAAC,IAAIiB,CAAC,KAAK,KAAK,CAAC,KAAKD,CAAC,IAAIlB,CAAC,IAAIqe,EAAE,CAAC,CAAC,EAAEne,CAAC,GAAG8hB,CAAC,CAAC,CAAC,EAAE9gB,CAAC,IAAIA,CAAC,CAAChB,CAAC,CAAC,CAAC;EACpE,IAAI+hB,CAAC;EACL,IAAIA,CAAC,GAAG,SAAJA,CAACA,CAAA,EAAS;IACZ,IAAImO,CAAC,GACH;IACA7wB,CAAC,CAACC,CAAC,CACJ;IACD,OAAO4wB,CAAC,KAAK,KAAK,CAAC,GAAGpO,CAAC,CAAC,CAAC,IAAID,CAAC,GAAG,CAAC,CAAC,EAAED,CAAC,GAAG,CAAC,CAAC,EAAEsO,CAAC,CAAC;EACjD,CAAC,EAAE,CAAC3wB,CAAC,GAAG6a,EAAE,MAAM,CAAC,EACf,OAAO2H,CAAC;EACV,IAAI/gB,CAAC,EAAE;IACL,IAAIghB,CAAC,GAAG3iB,CAAC,CAAC8wB,QAAQ;IAClB,OAAO,UAASD,CAAC,EAAEE,CAAC,EAAE;MACpB,OAAOt5B,SAAS,CAACnD,MAAM,GAAG,CAAC,IAAI,CAAC,CAACy8B,CAAC,IAAIpO,CAAC,IAAI7gB,CAAC,KAAKH,CAAC,CAACovB,CAAC,GAAGrO,CAAC,CAAC,CAAC,GAAGmO,CAAC,CAAC,EAAEA,CAAC,IAAInO,CAAC,CAAC,CAAC;IAC3E,CAAC;EACH;EACA,IAAIE,CAAC,GAAG,CAAC,CAAC;IAAE3J,CAAC,GAAG,eAAgB0G,EAAE,CAAChf,CAAC,CAAC;IAAEqwB,EAAE,GAAG,eAAgBtQ,EAAE,CAAC,YAAM;MACnE,IAAImQ,CAAC,GAAGnO,CAAC,CAAC,CAAC;QAAEqO,CAAC,GAAG56B,CAAC,CAAC8iB,CAAC,CAAC;MACrB,OAAO2J,CAAC,IAAIA,CAAC,GAAG,CAAC,CAAC,EAAEmO,CAAC,IAAI9X,CAAC,CAAC7W,CAAC,GAAGyuB,CAAC;IAClC,CAAC,CAAC;EACF,OAAOp8B,CAAC,KAAKu8B,EAAE,CAAC1R,MAAM,GAAGd,EAAE,CAAC,EAAE,UAASqS,CAAC,EAAEE,CAAC,EAAE;IAC3C,IAAIt5B,SAAS,CAACnD,MAAM,GAAG,CAAC,EAAE;MACxB,IAAM28B,CAAC,GAAGF,CAAC,GAAG56B,CAAC,CAAC66B,EAAE,CAAC,GAAG1wB,CAAC,GAAG4hB,EAAE,CAAC2O,CAAC,CAAC,GAAGA,CAAC;MACnC,OAAOG,EAAE,CAAC1R,MAAM,CAAC2R,CAAC,CAAC,KAAKrO,CAAC,GAAG,CAAC,CAAC,EAAE7C,CAAC,CAAC9G,CAAC,EAAEgY,CAAC,CAAC,EAAE1O,CAAC,IAAIjgB,CAAC,KAAK,KAAK,CAAC,KAAKA,CAAC,GAAG2uB,CAAC,CAAC,EAAEhK,EAAE,CAAC;QAAA,OAAM9wB,CAAC,CAAC66B,EAAE,CAAC;MAAA,EAAC,CAAC,EAAEH,CAAC;IAC5F;IACA,OAAO16B,CAAC,CAAC66B,EAAE,CAAC;EACd,CAAC;AACH;AACA,SAASE,EAAEA,CAAClxB,CAAC,EAAE;EACb,OAAO,IAAImxB,EAAE,CAACnxB,CAAC,CAAC;AAClB;AACA,IAAIoxB,EAAE,EAAEC,EAAE;AAAC,IACLF,EAAE;EACN;AACF;AACA;AACA;AACA;EACE,SAAAA,GAAYlxB,CAAC,EAAE;IAAA,IAAAqxB,SAAA;MAAA/d,MAAA;IAAAxf,qBAAA,OAAAo9B,EAAA;IACb;IACA1X,EAAE,CAAC,IAAI,EAAE2X,EAAE,CAAC;IACZ;IACA3X,EAAE,CAAC,IAAI,EAAE4X,EAAE,CAAC;IACZ,IAAI5wB,CAAC;IACL,IAAIP,CAAC,GAAG,eAAgB,IAAIqX,GAAG,CAAC,CAAC;MAAE3V,CAAC,GAAG,SAAJA,CAACA,CAAItB,CAAC,EAAEuB,CAAC,EAAK;QAC/C,IAAIC,CAAC,GAAG,eAAgB6d,EAAE,CAAC9d,CAAC,CAAC;QAC7B,OAAO3B,CAAC,CAACwX,GAAG,CAACpX,CAAC,EAAEwB,CAAC,CAAC,EAAEA,CAAC;MACvB,CAAC;IACD,IAAMrN,CAAC,GAAG,IAAI0tB,KAAK,CAAAlc,mBAAA,CAAAA,mBAAA,KACZhG,CAAC,CAACktB,KAAK,IAAI,CAAC,CAAC;MAAEI,QAAQ,EAAE,CAAC;IAAC,IAChC;MACErW,GAAG,WAAHA,GAAGA,CAAC5W,CAAC,EAAEuB,CAAC,EAAE;QAAA,IAAA0vB,MAAA;QACR,OAAOp7B,CAAC,EAAAo7B,MAAA,GAACrxB,CAAC,CAACgX,GAAG,CAACrV,CAAC,CAAC,cAAA0vB,MAAA,cAAAA,MAAA,GAAI3vB,CAAC,CAACC,CAAC,EAAEgV,OAAO,CAACK,GAAG,CAAC5W,CAAC,EAAEuB,CAAC,CAAC,CAAC,CAAC;MAC/C,CAAC;MACD4V,GAAG,WAAHA,GAAGA,CAACnX,CAAC,EAAEuB,CAAC,EAAE;QAAA,IAAA2vB,OAAA;QACR,OAAO3vB,CAAC,KAAKib,EAAE,GAAG,CAAC,CAAC,IAAI3mB,CAAC,EAAAq7B,OAAA,GAACtxB,CAAC,CAACgX,GAAG,CAACrV,CAAC,CAAC,cAAA2vB,OAAA,cAAAA,OAAA,GAAI5vB,CAAC,CAACC,CAAC,EAAEgV,OAAO,CAACK,GAAG,CAAC5W,CAAC,EAAEuB,CAAC,CAAC,CAAC,CAAC,EAAEgV,OAAO,CAACY,GAAG,CAACnX,CAAC,EAAEuB,CAAC,CAAC,CAAC;MACpF,CAAC;MACD6V,GAAG,WAAHA,GAAGA,CAACpX,CAAC,EAAEuB,CAAC,EAAEC,CAAC,EAAE;QAAA,IAAA2vB,OAAA;QACX,OAAO1R,CAAC,EAAA0R,OAAA,GAACvxB,CAAC,CAACgX,GAAG,CAACrV,CAAC,CAAC,cAAA4vB,OAAA,cAAAA,OAAA,GAAI7vB,CAAC,CAACC,CAAC,EAAEC,CAAC,CAAC,EAAEA,CAAC,CAAC,EAAE+U,OAAO,CAACa,GAAG,CAACpX,CAAC,EAAEuB,CAAC,EAAEC,CAAC,CAAC;MACxD;IACF,CACF,CAAC;IACD6X,EAAE,CAAC,IAAI,EAAE0X,EAAE,EAAE,CAACpxB,CAAC,CAACyxB,OAAO,GAAG/E,EAAE,GAAGF,EAAE,EAAExsB,CAAC,CAAC0xB,SAAS,EAAE;MAC9Cjc,MAAM,EAAEzV,CAAC,CAACyV,MAAM;MAChBoX,MAAM,EAAE7sB,CAAC,CAAC6sB,MAAM;MAChBK,KAAK,EAAE14B,CAAC;MACR44B,OAAO,EAAEptB,CAAC,CAACotB,OAAO;MAClBR,KAAK,GAAAyE,SAAA,GAAErxB,CAAC,CAAC4sB,KAAK,cAAAyE,SAAA,cAAAA,SAAA,GAAI,CAAC,CAAC;MACpBvE,OAAO,EAAE9sB,CAAC,CAAC8sB;IACb,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAACtsB,CAAC,GAAGR,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,CAAC,CAACktB,KAAK,KAAK,IAAI,IAAI1sB,CAAC,CAACmxB,MAAM,CAAC,IAAI3xB,CAAC,CAAC4xB,IAAI,KAAK,CAAC,CAAC,KAAK/K,CAAC,CAAC,CAAC,EAAEnN,EAAE,CAAC,IAAI,EAAEyX,EAAE,EAAE38B,CAAC,CAAC84B,QAAQ,CAAC;IAAC,IAAAuE,MAAA,YAAAA,OAAA;MAC9G,IAAMxxB,CAAC,GAAAyxB,YAAA,CAAAC,GAAA;MACV1xB,CAAC,KAAK,MAAM,IAAIA,CAAC,KAAK,UAAU,IAAIA,CAAC,KAAK,KAAK,IAAI8c,EAAE,CAAC7J,MAAI,EAAEjT,CAAC,EAAE;QAC7D4W,GAAG,WAAHA,GAAGA,CAAA,EAAG;UACJ,OAAOsC,CAAC,CAAC,IAAI,EAAE6X,EAAE,CAAC,CAAC/wB,CAAC,CAAC;QACvB,CAAC;QACD,yBACAoX,GAAG,WAAHA,GAAGA,CAAC7V,CAAC,EAAE;UACL2X,CAAC,CAAC,IAAI,EAAE6X,EAAE,CAAC,CAAC/wB,CAAC,CAAC,GAAGuB,CAAC;QACpB,CAAC;QACDb,UAAU,EAAE,CAAC;MACf,CAAC,CAAC;IAAC;IAVL,SAAAgxB,GAAA,MAAAD,YAAA,GAAgBt7B,MAAM,CAACC,IAAI,CAAC8iB,CAAC,CAAC,IAAI,EAAE6X,EAAE,CAAC,CAAC,EAAAW,GAAA,GAAAD,YAAA,CAAAz9B,MAAA,EAAA09B,GAAA;MAAAF,MAAA;IAAA;IAWxCtY,CAAC,CAAC,IAAI,EAAE6X,EAAE,CAAC,CAACY,IAAI,GAAG;IACnB,UAAC3xB,CAAC,EAAK;MACL7J,MAAM,CAACy7B,MAAM,CAACz9B,CAAC,EAAE6L,CAAC,CAAC;IACrB,CAAC,EAAEkZ,CAAC,CAAC,IAAI,EAAE6X,EAAE,CAAC,CAACc,QAAQ,GAAG,YAAM;MAC9BtE,EAAE,CAACrU,CAAC,CAACjG,MAAI,EAAE8d,EAAE,CAAC,CAAC;IACjB,CAAC;EACH;EACA;EAAA,OAAAr9B,kBAAA,CAAAm9B,EAAA;IAAAl9B,GAAA;IAAAC,KAAA,EACA,SAAA+9B,IAAIA,CAAChyB,CAAC,EAAE;MACNuZ,CAAC,CAAC,IAAI,EAAE6X,EAAE,CAAC,CAACY,IAAI,CAAChyB,CAAC,CAAC;IACrB;IACA;AACF;AACA;AACA;AACA;EAJE;IAAAhM,GAAA;IAAAC,KAAA,EAKA,SAAAk+B,GAAGA,CAACnyB,CAAC,EAAEC,CAAC,EAAE;MAAA,IAAA6U,MAAA;MACRyE,CAAC,CAAC,IAAI,EAAE4X,EAAE,CAAC,CAACnxB,CAAC,CAAC,GAAGuZ,CAAC,CAAC,IAAI,EAAE4X,EAAE,CAAC,CAACnxB,CAAC,CAAC,IAAI,EAAE;MACrC,IAAM2B,CAAC,GAAG,SAAJA,CAACA,CAAA;QAAA,SAAAywB,IAAA,GAAA56B,SAAA,CAAAnD,MAAA,EAAOG,CAAC,OAAAgkB,KAAA,CAAA4Z,IAAA,GAAAC,IAAA,MAAAA,IAAA,GAAAD,IAAA,EAAAC,IAAA;UAAD79B,CAAC,CAAA69B,IAAA,IAAA76B,SAAA,CAAA66B,IAAA;QAAA;QAAA,OAAKpyB,CAAC,CAACwB,IAAI,CAAAsE,KAAA,CAAN9F,CAAC,GAAM6U,MAAI,EAAA1a,MAAA,CAAK5F,CAAC,EAAC;MAAA;MACtC,OAAO+kB,CAAC,CAAC,IAAI,EAAE4X,EAAE,CAAC,CAACnxB,CAAC,CAAC,CAACkE,IAAI,CAACvC,CAAC,CAAC,EAAE,YAAM;QACnC4X,CAAC,CAACzE,MAAI,EAAEqc,EAAE,CAAC,CAACnxB,CAAC,CAAC,GAAGuZ,CAAC,CAACzE,MAAI,EAAEqc,EAAE,CAAC,CAACnxB,CAAC,CAAC,CAAChG,MAAM,CACpC;QACA,UAACxF,CAAC;UAAA,OAAKA,CAAC,KAAKmN,CAAC;QAAA,CAChB,CAAC;MACH,CAAC;IACH;EAAC;IAAA3N,GAAA;IAAAC,KAAA,EACD,SAAAi+B,QAAQA,CAAA,EAAG;MACT3Y,CAAC,CAAC,IAAI,EAAE6X,EAAE,CAAC,CAACc,QAAQ,CAAC,CAAC;IACxB;EAAC;AAAA;AAEHf,EAAE,GAAG,IAAIxD,OAAO,CAAC,CAAC,EAAEyD,EAAE,GAAG,IAAIzD,OAAO,CAAC,CAAC;AACtC,IAAI2E,EAAE;AACN,OAAOC,WAAW,IAAI,UAAU,KAAKD,EAAE,0BAAAE,YAAA;EACrC;AACF;AACA;AACA;AACA;EACE,SAAAF,GAAYtyB,CAAC,EAAEC,CAAC,EAAE0B,CAAC,EAAE;IAAA,IAAA2T,MAAA;IAAAxhB,qBAAA,OAAAw+B,EAAA;IACnBhd,MAAA,GAAAgB,gBAAA,OAAAgc,EAAA;IACA;IACAjZ,EAAE,CAAA/D,MAAA,EAAO,QAAQ,CAAC;IAClB;IACA+D,EAAE,CAAA/D,MAAA,EAAO,KAAK,CAAC;IACf;IACA+D,EAAE,CAAA/D,MAAA,EAAO,KAAK,CAAC;IACf;IACA+D,EAAE,CAAA/D,MAAA,EAAO,MAAM,EAAE,CAAC,CAAC,CAAC;IACpB;IACA+D,EAAE,CAAA/D,MAAA,EAAO,KAAK,EAAE,CAAC,CAAC,CAAC;IACnB;IACA+D,EAAE,CAAA/D,MAAA,EAAO,KAAK,EAAE,CAAC,CAAC,CAAC;IACnB;IACA+D,EAAE,CAAA/D,MAAA,EAAO,OAAO,EAAE,CAAC,CAAC,CAAC;IACrB;IACA+D,EAAE,CAAA/D,MAAA,EAAO,KAAK,EAAE,CAAC,CAAC,CAAC;IACnB;IACA+D,EAAE,CAAA/D,MAAA,EAAO,OAAO,EAAE,eAAgB,IAAIgC,GAAG,CAAC,CAAC,CAAC;IAC5C;IACA+B,EAAE,CAAA/D,MAAA,EAAO,MAAM,CAAC;IAChBA,MAAA,CAAKmd,MAAM,GAAGzyB,CAAC,EAAEsV,MAAA,CAAKod,GAAG,GAAGzyB,CAAC,EAAE0B,CAAC,IAAI2T,MAAA,CAAKqd,YAAY,CAAC;MAAEC,IAAI,EAAE;IAAO,CAAC,CAAC;IAAC,OAAAtd,MAAA;EAC1E;EACA;AACF;AACA;AACA;AACA;EAJEiB,eAAA,CAAA+b,EAAA,EAAAE,YAAA;EAAA,OAAAz+B,kBAAA,CAAAu+B,EAAA;IAAAt+B,GAAA;IAAAC,KAAA,EAKA,SAAAkL,gBAAgBA,CAACa,CAAC,EAAEC,CAAC,EAAE0B,CAAC,EAAE;MACxB,IAAI,IAAI,CAACkxB,GAAG,CAAC7yB,CAAC,CAAC,GAAG,IAAI,CAAC6yB,GAAG,CAAC7yB,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC6yB,GAAG,CAAC7yB,CAAC,CAAC,CAACkE,IAAI,CAACjE,CAAC,CAAC,EAAE,IAAI,CAAC6yB,GAAG,EAAE;QAClE,IAAMt+B,CAAC,GAAG,IAAI,CAACs+B,GAAG,CAACX,GAAG,CAACnyB,CAAC,EAAEC,CAAC,CAAC;QAC5B,IAAI,CAAC8yB,KAAK,CAACtb,GAAG,CAACxX,CAAC,EAAEzL,CAAC,CAAC;MACtB;MACAgiB,mBAAA,CAAA8b,EAAA,gCAAuBtyB,CAAC,EAAEC,CAAC,EAAE0B,CAAC;IAChC;IACA;AACF;AACA;AACA;AACA;EAJE;IAAA3N,GAAA;IAAAC,KAAA,EAKA,SAAA62B,mBAAmBA,CAAC9qB,CAAC,EAAEC,CAAC,EAAE0B,CAAC,EAAE;MAC3B,IAAI6U,mBAAA,CAAA8b,EAAA,mCAA0BtyB,CAAC,EAAEC,CAAC,EAAE0B,CAAC,IAAG,IAAI,CAACmxB,GAAG,EAAE;QAChD,IAAMt+B,CAAC,GAAG,IAAI,CAACu+B,KAAK,CAAC9b,GAAG,CAAChX,CAAC,CAAC;QAC3BzL,CAAC,KAAKA,CAAC,CAAC,CAAC,EAAE,IAAI,CAACu+B,KAAK,UAAO,CAAC9yB,CAAC,CAAC,CAAC;MAClC;IACF;EAAC;IAAAjM,GAAA;IAAAC,KAAA;MAAA,IAAA++B,kBAAA,GAAA3sB,uBAAA,cAAAvG,yBAAA,GAAA4E,IAAA,CACD,SAAAuC,QAAA;QAAA,IAAAgsB,MAAA;QAAA,IAAAjzB,CAAA,EAAAC,CAAA,EAAA0B,CAAA,EAAAuxB,WAAA,EAAAC,OAAA,EAAAC,GAAA,EAAAC,WAAA,EAAAC,OAAA,EAAAC,GAAA,EAAAC,EAAA,EAAAh/B,CAAA,EAAAmC,GAAA,EAAA88B,WAAA,EAAAC,OAAA,EAAAlzB,CAAA,EAAAH,CAAA;QAAA,OAAAP,yBAAA,GAAAoB,IAAA,UAAAqG,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAtC,IAAA,GAAAsC,QAAA,CAAA9D,IAAA;YAAA;cAAA,MACM,IAAI,CAACiwB,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAACb,GAAG;gBAAAtrB,QAAA,CAAA9D,IAAA;gBAAA;cAAA;cACvB1D,CAAC,GAAG,SAAJA,CAACA,CAAYxL,CAAC,EAAE;gBAClB,OAAO,UAACgM,CAAC,EAAK;kBACZ,IAAMH,CAAC,GAAG1K,QAAQ,CAACwI,aAAa,CAAC,MAAM,CAAC;kBACxC3J,CAAC,KAAK,SAAS,KAAK6L,CAAC,CAACoE,IAAI,GAAGjQ,CAAC,CAAC,EAAE+3B,EAAE,CAAC/rB,CAAC,EAAEH,CAAC,CAAC;gBAC3C,CAAC;cACH,CAAC;cAAAmH,QAAA,CAAA9D,IAAA;cAAA,OACSqB,OAAO,CAACpC,OAAO,CAAC,CAAC;YAAA;cAAA,MAAE,CAAC,IAAI,CAACgxB,IAAI,IAAI,IAAI,CAACb,GAAG;gBAAAtrB,QAAA,CAAA9D,IAAA;gBAAA;cAAA;cAAA,OAAA8D,QAAA,CAAAjE,MAAA;YAAA;cAE7CtD,CAAC,GAAG,CAAC,CAAC,EAAE0B,CAAC,GAAGiyB,EAAE,CAAC,IAAI,CAAC;cAAAV,WAAA,GAAApa,0BAAA,CACV,IAAI,CAAC4Z,GAAG;cAAA;gBAAxB,KAAAQ,WAAA,CAAArxB,CAAA,MAAAsxB,OAAA,GAAAD,WAAA,CAAA/yB,CAAA,IAAA6C,IAAA,GACE;kBADSxO,GAAC,GAAA2+B,OAAA,CAAAl/B,KAAA;kBACVO,GAAC,IAAImN,CAAC,KAAKnN,GAAC,KAAK,SAAS,IAAI,CAAC,IAAI,CAACq/B,GAAG,CAACvF,QAAQ,IAAI,IAAI,CAACuF,GAAG,CAACvF,QAAQ,GAAGtuB,CAAC,CAACxL,GAAC,CAAC,EAAEyL,CAAC,WAAQ,GAAG,CAAC,CAAC,IAAIA,CAAC,CAACzL,GAAC,CAAC,GAAGwL,CAAC,CAACxL,GAAC,CAAC,CAAC;gBAAA;cAAC,SAAAuuB,GAAA;gBAAAmQ,WAAA,CAAAnzB,CAAA,CAAAgjB,GAAA;cAAA;gBAAAmQ,WAAA,CAAAtxB,CAAA;cAAA;cAAAyxB,WAAA,GAAAva,0BAAA,CAC/F,IAAI,CAACgb,UAAU;cAAA;gBAA/B,KAAAT,WAAA,CAAAxxB,CAAA,MAAAyxB,OAAA,GAAAD,WAAA,CAAAlzB,CAAA,IAAA6C,IAAA,GAAiC;kBAAtBxO,GAAC,GAAA8+B,OAAA,CAAAr/B,KAAA;kBACJuM,EAAC,GAAG,IAAI,CAACuzB,KAAK,CAACv/B,GAAC,CAACiQ,IAAI,CAAC;kBAC5BjE,EAAC,IAAI,IAAI,CAACqzB,GAAG,KAAK,IAAI,CAACA,GAAG,CAACrzB,EAAC,CAAC,GAAGwzB,EAAE,CAACxzB,EAAC,EAAEhM,GAAC,CAACP,KAAK,EAAE,IAAI,CAACggC,KAAK,EAAE,QAAQ,CAAC,CAAC;gBACvE;cAAC,SAAAlR,GAAA;gBAAAsQ,WAAA,CAAAtzB,CAAA,CAAAgjB,GAAA;cAAA;gBAAAsQ,WAAA,CAAAzxB,CAAA;cAAA;cACD,KAAWpN,CAAC,IAAI,IAAI,CAACy/B,KAAK,EACxB,EAAEz/B,CAAC,IAAI,IAAI,CAACq/B,GAAG,CAAC,IAAI,IAAI,CAACr/B,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,IAAI,CAACq/B,GAAG,CAACr/B,CAAC,CAAC,GAAG,IAAI,CAACA,CAAC,CAAC,EAAE,OAAO,IAAI,CAACA,CAAC,CAAC,CAAC;cACnF,IAAI,CAACs+B,GAAG,GAAG7B,EAAE,CAAC;gBACZS,SAAS,EAAE,IAAI,CAACe,MAAM;gBACtBhd,MAAM,EAAE,IAAI,CAACye,UAAU,IAAI,IAAI;gBAC/BhH,KAAK,EAAAlnB,mBAAA,CAAAA,mBAAA,KACA,IAAI,CAAC6tB,GAAG;kBACXxF,OAAO,EAAEpuB,CAAC;kBACV0xB,MAAM,EAAE;gBAAI;cAEhB,CAAC,CAAC,EAAE,IAAI,CAACwC,IAAI,GAAGpM,EAAE,CAAC,YAAM;gBACvBI,EAAE,CAAC,YAAM;kBACP,IAAI3zB,CAAC;kBACLy+B,MAAI,CAACmB,GAAG,GAAG,CAAC,CAAC;kBAAC,IAAAC,WAAA,GAAAvb,0BAAA,CACEoE,EAAE,CAAC+V,MAAI,CAACH,GAAG,CAAC;oBAAAwB,OAAA;kBAAA;oBAA5B,KAAAD,WAAA,CAAAxyB,CAAA,MAAAyyB,OAAA,GAAAD,WAAA,CAAAl0B,CAAA,IAAA6C,IAAA,GAA8B;sBAAA,IAAnBxC,CAAC,GAAA8zB,OAAA,CAAArgC,KAAA;sBACV,IAAI,EAAE,CAACO,CAAC,GAAGy+B,MAAI,CAACgB,KAAK,CAACzzB,CAAC,CAAC,KAAK,IAAI,IAAIhM,CAAC,CAAC+/B,OAAO,CAAC,EAAE;sBACjDtB,MAAI,CAACY,GAAG,CAACrzB,CAAC,CAAC,GAAGyyB,MAAI,CAACH,GAAG,CAACtyB,CAAC,CAAC;sBACzB,IAAMH,CAAC,GAAG2zB,EAAE,CACVxzB,CAAC,EACDyyB,MAAI,CAACY,GAAG,CAACrzB,CAAC,CAAC,EACXyyB,MAAI,CAACgB,KAAK,EACV,aACF,CAAC;sBACD5zB,CAAC,IAAI,IAAI,GAAG4yB,MAAI,CAACjE,eAAe,CAACiE,MAAI,CAACgB,KAAK,CAACzzB,CAAC,CAAC,CAACg0B,SAAS,IAAIh0B,CAAC,CAAC,GAAGyyB,MAAI,CAACh7B,YAAY,CAACg7B,MAAI,CAACgB,KAAK,CAACzzB,CAAC,CAAC,CAACg0B,SAAS,IAAIh0B,CAAC,EAAEH,CAAC,CAAC;oBACrH;kBAAC,SAAA0iB,GAAA;oBAAAsR,WAAA,CAAAt0B,CAAA,CAAAgjB,GAAA;kBAAA;oBAAAsR,WAAA,CAAAzyB,CAAA;kBAAA;kBACDqxB,MAAI,CAACmB,GAAG,GAAG,CAAC,CAAC;gBACf,CAAC,CAAC;cACJ,CAAC,CAAC;cACF,KAAW5/B,GAAC,IAAI,IAAI,CAACq+B,GAAG;gBAAAY,WAAA,GAAA3a,0BAAA,CACN,IAAI,CAAC+Z,GAAG,CAACr+B,GAAC,CAAC;gBAAA;kBAA3B,KAAAi/B,WAAA,CAAA5xB,CAAA,MAAA6xB,OAAA,GAAAD,WAAA,CAAAtzB,CAAA,IAAA6C,IAAA,GAA6B;oBAAlBxC,CAAC,GAAAkzB,OAAA,CAAAz/B,KAAA;oBACJoM,CAAC,GAAG,IAAI,CAACyyB,GAAG,CAACX,GAAG,CAAC39B,GAAC,EAAEgM,CAAC,CAAC;oBAC5B,IAAI,CAACuyB,KAAK,CAACtb,GAAG,CAACjX,CAAC,EAAEH,CAAC,CAAC;kBACtB;gBAAC,SAAA0iB,GAAA;kBAAA0Q,WAAA,CAAA1zB,CAAA,CAAAgjB,GAAA;gBAAA;kBAAA0Q,WAAA,CAAA7xB,CAAA;gBAAA;cAAA;cACH,IAAI,CAACixB,GAAG,GAAG,CAAC,CAAC;YAAC;YAAA;cAAA,OAAArrB,QAAA,CAAAnC,IAAA;UAAA;QAAA,GAAA4B,OAAA;MAAA,CAEjB;MAAA,SApDKwtB,iBAAiBA,CAAA;QAAA,OAAAzB,kBAAA,CAAAjtB,KAAA,OAAAvO,SAAA;MAAA;MAAA,OAAjBi9B,iBAAiB;IAAA,IAqDvB;IACA;IACA;AACF;AACA;AACA;AACA;EAJE;IAAAzgC,GAAA;IAAAC,KAAA,EAKA,SAAAygC,wBAAwBA,CAAC10B,CAAC,EAAEC,CAAC,EAAE0B,CAAC,EAAE;MAChC,IAAInN,CAAC;MACL,IAAI,CAAC4/B,GAAG,KAAKp0B,CAAC,GAAG,IAAI,CAAC+zB,KAAK,CAAC/zB,CAAC,CAAC,EAAE,IAAI,CAAC6zB,GAAG,CAAC7zB,CAAC,CAAC,GAAGg0B,EAAE,CAACh0B,CAAC,EAAE2B,CAAC,EAAE,IAAI,CAACsyB,KAAK,EAAE,QAAQ,CAAC,EAAE,CAACz/B,CAAC,GAAG,IAAI,CAACs+B,GAAG,KAAK,IAAI,IAAIt+B,CAAC,CAACw9B,IAAI,CAAAz0B,qBAAA,KAAIyC,CAAC,EAAG,IAAI,CAAC6zB,GAAG,CAAC7zB,CAAC,CAAC,CAAE,CAAC,CAAC;IACvI;EAAC;IAAAhM,GAAA;IAAAC,KAAA,EACD,SAAA0gC,oBAAoBA,CAAA,EAAG;MAAA,IAAAC,MAAA;MACrB,IAAI,CAACjB,IAAI,GAAG,CAAC,CAAC,EAAE5uB,OAAO,CAACpC,OAAO,CAAC,CAAC,CAACE,IAAI,CAAC,YAAM;QAC3C,CAAC+xB,MAAI,CAACjB,IAAI,IAAIiB,MAAI,CAAC9B,GAAG,KAAK8B,MAAI,CAAC9B,GAAG,CAACZ,QAAQ,CAAC,CAAC,EAAE0C,MAAI,CAACT,IAAI,CAAC,CAAC,EAAES,MAAI,CAAC9B,GAAG,GAAG,KAAK,CAAC,CAAC;MACjF,CAAC,CAAC;IACJ;IACA;AACF;AACA;EAFE;IAAA9+B,GAAA;IAAAC,KAAA,EAGA,SAAA8/B,KAAKA,CAAC/zB,CAAC,EAAE;MAAA,IAAA60B,MAAA;MACP,OAAO3X,EAAE,CAAC,IAAI,CAAC+W,KAAK,CAAC,CAACa,IAAI,CACxB,UAAC70B,CAAC;QAAA,OAAK40B,MAAI,CAACZ,KAAK,CAACh0B,CAAC,CAAC,CAACu0B,SAAS,KAAKx0B,CAAC,IAAI,CAAC60B,MAAI,CAACZ,KAAK,CAACh0B,CAAC,CAAC,CAACu0B,SAAS,IAAIv0B,CAAC,CAAC80B,WAAW,CAAC,CAAC,KAAK/0B,CAAC;MAAA,CAC3F,CAAC,IAAIA,CAAC;IACR;EAAC;AAAA,eAAAqX,gBAAA,CAjIqDkb,WAAW,EAkIlE,CAAC;AACF,SAASyB,EAAEA,CAACj0B,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAE0B,CAAC,EAAE;EACtB,IAAInB,CAAC;EACL,IAAMhM,CAAC,GAAG,CAACgM,CAAC,GAAGP,CAAC,CAACF,CAAC,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAGS,CAAC,CAAChI,IAAI;EAC9C,IAAIwH,CAAC,GAAGxL,CAAC,KAAK,SAAS,IAAI,OAAOwL,CAAC,IAAI,SAAS,GAAGA,CAAC,IAAI,IAAI,GAAGA,CAAC,EAAE,CAAC2B,CAAC,IAAI,CAAC1B,CAAC,CAACF,CAAC,CAAC,EAC3E,OAAOC,CAAC;EACV,IAAI2B,CAAC,KAAK,aAAa,EACrB,QAAQnN,CAAC;IACP,KAAK,QAAQ;IACb,KAAK,OAAO;MACV,OAAOwL,CAAC,IAAI,IAAI,GAAG,IAAI,GAAG/K,IAAI,CAACC,SAAS,CAAC8K,CAAC,CAAC;IAC7C,KAAK,SAAS;MACZ,OAAOA,CAAC,GAAG,EAAE,GAAG,IAAI;IACtB,KAAK,QAAQ;MACX,OAAOA,CAAC,aAADA,CAAC,cAADA,CAAC,GAAI,IAAI;IAClB;MACE,OAAOA,CAAC;EACZ,CAAC,MAED,QAAQxL,CAAC;IACP,KAAK,QAAQ;IACb,KAAK,OAAO;MACV,OAAOwL,CAAC,IAAI/K,IAAI,CAACuK,KAAK,CAACQ,CAAC,CAAC;IAC3B,KAAK,SAAS;MACZ,OAAOA,CAAC;IACV;IACA,KAAK,QAAQ;MACX,OAAOA,CAAC,IAAI,IAAI,GAAG,CAACA,CAAC,GAAGA,CAAC;IAC3B;MACE,OAAOA,CAAC;EACZ;AACJ;AACA,SAAS4zB,EAAEA,CAAC7zB,CAAC,EAAE;EACb,IAAMC,CAAC,GAAG,CAAC,CAAC;EACZ,OAAOD,CAAC,CAACi1B,UAAU,CAACj2B,OAAO,CAAC,UAACkB,CAAC,EAAK;IACjCD,CAAC,CACC;IACAC,CAAC,CAACg1B,IAAI,IAAI,SAAS,CACpB,GAAG,CAAC,CAAC;EACR,CAAC,CAAC,EAAEj1B,CAAC;AACP;AACA,SAASk1B,EAAEA,CAACn1B,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAE0B,CAAC,EAAEnN,CAAC,EAAEgM,CAAC,EAAE;EAC5B,IAAIH,CAAC,0BAAA80B,GAAA;IACH,SAAA90B,EAAA,EAAc;MAAA,IAAA+0B,MAAA;MAAAthC,qBAAA,OAAAuM,CAAA;MACZ+0B,MAAA,GAAA9e,gBAAA,OAAAjW,CAAA,GAAMN,CAAC,EAAEE,CAAC,EAAEzL,CAAC,IAAG4gC,MAAA,CAAKnB,KAAK,GAAGj0B,CAAC;MAAC,OAAAo1B,MAAA;IACjC;IAAC7e,eAAA,CAAAlW,CAAA,EAAA80B,GAAA;IAAA,OAAAphC,kBAAA,CAAAsM,CAAA;MAAArM,GAAA;MAAAijB,GAAA,EACD,SAAAA,IAAA,EAAgC;QAC9B,OAAOiG,EAAE,CAACld,CAAC,CAAC,CAACqoB,GAAG,CACd,UAACzmB,CAAC;UAAA,OAAK,CAAC5B,CAAC,CAAC4B,CAAC,CAAC,CAAC4yB,SAAS,IAAI5yB,CAAC,EAAEmzB,WAAW,CAAC,CAAC;QAAA,CAC5C,CAAC;MACH;IAAC;EAAA,EARmBzC,EAAE,CASvB;EACD,OAAOpV,EAAE,CAACld,CAAC,CAAC,CAACjB,OAAO,CAAC,UAAC6C,CAAC,EAAK;IAC1Bub,EAAE,CAAC9c,CAAC,CAACH,SAAS,EAAE0B,CAAC,EAAE;MACjBqV,GAAG,WAAHA,GAAGA,CAAA,EAAG;QACJ,OAAO,IAAI,CAAC6b,GAAG,IAAIlxB,CAAC,IAAI,IAAI,CAACkxB,GAAG,GAAG,IAAI,CAACA,GAAG,CAAClxB,CAAC,CAAC,GAAG,IAAI,CAACiyB,GAAG,CAACjyB,CAAC,CAAC;MAC9D,CAAC;MACD6V,GAAG,WAAHA,GAAGA,CAAC5V,CAAC,EAAE;QACL,IAAIH,CAAC;QACLG,CAAC,GAAGmyB,EAAE,CAACpyB,CAAC,EAAEC,CAAC,EAAE7B,CAAC,CAAC,EAAE,IAAI,CAAC6zB,GAAG,CAACjyB,CAAC,CAAC,GAAGC,CAAC;QAChC,IAAInB,CAAC,GAAG,IAAI,CAACoyB,GAAG;QAChB,IAAIpyB,CAAC,EAAE;UACL,IAAIyB,CAAC,GAAG,CAACT,CAAC,GAAG0b,EAAE,CAAC1c,CAAC,EAAEkB,CAAC,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAGF,CAAC,CAACuV,GAAG;UAC/C9U,CAAC,GAAGzB,CAAC,CAACkB,CAAC,CAAC,GAAGC,CAAC,GAAGnB,CAAC,CAACsxB,IAAI,CAAAz0B,qBAAA,KAAIqE,CAAC,EAAGC,CAAC,CAAE,CAAC;QACnC;MACF;IACF,CAAC,CAAC;EACJ,CAAC,CAAC,EAAEF,CAAC,CAAC5C,OAAO,CAAC,UAAC6C,CAAC,EAAK;IACnBub,EAAE,CAAC9c,CAAC,CAACH,SAAS,EAAE0B,CAAC,EAAE;MACjBqV,GAAG,WAAHA,GAAGA,CAAA,EAAG;QACJ,IAAIpV,CAAC;QACL,OAAO,CAACA,CAAC,GAAG,IAAI,CAACixB,GAAG,KAAK,IAAI,GAAG,KAAK,CAAC,GAAGjxB,CAAC,CAACD,CAAC,CAAC;MAC/C;IACF,CAAC,CAAC;EACJ,CAAC,CAAC,EAAE7B,CAAC,CAACjI,OAAO,GAAG;EAChBuI,CAAC,EAAEA,CAAC;AACN;AACA,IAAMg1B,EAAE,GAAG,IAAIC,WAAW,CAAC,CAAC;AAC5B,SAASC,EAAEA,CAACx1B,CAAC,EAAE;EACb,OAAOsY,kBAAA,CAAI,IAAImd,UAAU,CAACz1B,CAAC,CAAC,EAAEsoB,GAAG,CAAC,UAACroB,CAAC;IAAA,OAAKA,CAAC,CAAC0I,QAAQ,CAAC,EAAE,CAAC,CAAC+sB,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;EAAA,EAAC,CAACC,IAAI,CAAC,EAAE,CAAC;AACpF;AAAC,SACcC,EAAEA,CAAAvtB,EAAA;EAAA,OAAAwtB,GAAA,CAAA7vB,KAAA,OAAAvO,SAAA;AAAA;AAAA,SAAAo+B,IAAA;EAAAA,GAAA,GAAAvvB,uBAAA,cAAAvG,yBAAA,GAAA4E,IAAA,CAAjB,SAAAgK,UAAkB3O,CAAC;IAAA,IAAAC,CAAA;MAAAC,CAAA;MAAA0B,CAAA;MAAAnN,CAAA;MAAAqhC,OAAA,GAAAr+B,SAAA;IAAA,OAAAsI,yBAAA,GAAAoB,IAAA,UAAA0N,WAAAC,UAAA;MAAA,kBAAAA,UAAA,CAAA3J,IAAA,GAAA2J,UAAA,CAAAnL,IAAA;QAAA;UAAE1D,CAAC,GAAA61B,OAAA,CAAAxhC,MAAA,QAAAwhC,OAAA,QAAAzhC,SAAA,GAAAyhC,OAAA,MAAG,SAAS;UAAE51B,CAAC,GAAA41B,OAAA,CAAAxhC,MAAA,QAAAwhC,OAAA,QAAAzhC,SAAA,GAAAyhC,OAAA,MAAG,GAAG;UACnCl0B,CAAC,GAAG5L,IAAI,CAAC+/B,GAAG,CAAC,CAAC,CAACptB,QAAQ,CAAC,EAAE,CAAC;UACjC3I,CAAC,KAAKA,CAAC,GAAGg2B,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,MAAM,CAAC,CAAC,GAAGh2B,CAAC,CAAC,CAAC;UAAC4O,UAAA,CAAAnL,IAAA;UAAA,OACzBwyB,EAAE,CAACv0B,CAAC,EAAE5B,CAAC,EAAEC,CAAC,CAAC;QAAA;UAArBxL,CAAC,GAAAqa,UAAA,CAAAzL,IAAA;UAAA,OAAAyL,UAAA,CAAAtL,MAAA,WACA;YACL4yB,SAAS,EAAEn2B,CAAC;YACZo2B,SAAS,EAAE5hC,CAAC;YACZ6hC,IAAI,EAAE10B,CAAC;YACP20B,SAAS,EAAE;UACb,CAAC;QAAA;QAAA;UAAA,OAAAznB,UAAA,CAAAxJ,IAAA;MAAA;IAAA,GAAAqJ,SAAA;EAAA,CACF;EAAA,OAAAknB,GAAA,CAAA7vB,KAAA,OAAAvO,SAAA;AAAA;AAAA,SACc0+B,EAAEA,CAAA9rB,GAAA,EAAAC,GAAA,EAAAC,GAAA;EAAA,OAAAisB,GAAA,CAAAxwB,KAAA,OAAAvO,SAAA;AAAA;AAAA,SAAA++B,IAAA;EAAAA,GAAA,GAAAlwB,uBAAA,cAAAvG,yBAAA,GAAA4E,IAAA,CAAjB,SAAA8xB,UAAkBz2B,CAAC,EAAEC,CAAC,EAAEC,CAAC;IAAA,OAAAH,yBAAA,GAAAoB,IAAA,UAAAu1B,WAAAC,UAAA;MAAA,kBAAAA,UAAA,CAAAxxB,IAAA,GAAAwxB,UAAA,CAAAhzB,IAAA;QAAA;UAAA,MACnB,QAAOizB,MAAM,iCAAAj0B,aAAA,CAANi0B,MAAM,KAAG,GAAG,IAAI,EAAE,QAAQ,IAAIA,MAAM,CAAC,IAAI,EAAE,QAAQ,IAAIA,MAAM,CAACC,MAAM,CAAC;YAAAF,UAAA,CAAAhzB,IAAA;YAAA;UAAA;UAAA,MACxE,IAAIX,KAAK,CAAC,kIAAkI,CAAC;QAAA;UAAA2zB,UAAA,CAAA1uB,EAAA,GAC9IutB,EAAE;UAAAmB,UAAA,CAAAhzB,IAAA;UAAA,OACDizB,MAAM,CAACC,MAAM,CAACC,MAAM,CACxB52B,CAAC,CAAC1H,WAAW,CAAC,CAAC,EACf88B,EAAE,CAACyB,MAAM,CAAC/2B,CAAC,GAAGC,CAAC,CACjB,CAAC;QAAA;UAAA02B,UAAA,CAAAK,EAAA,GAAAL,UAAA,CAAAtzB,IAAA;UAAA,OAAAszB,UAAA,CAAAnzB,MAAA,eAAAmzB,UAAA,CAAA1uB,EAAA,EAAA0uB,UAAA,CAAAK,EAAA;QAAA;QAAA;UAAA,OAAAL,UAAA,CAAArxB,IAAA;MAAA;IAAA,GAAAmxB,SAAA;EAAA,CAEJ;EAAA,OAAAD,GAAA,CAAAxwB,KAAA,OAAAvO,SAAA;AAAA;AACD,SAASw/B,EAAEA,CAACj3B,CAAC,EAAEC,CAAC,EAAiC;EAAA,IAA/BC,CAAC,GAAAzI,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,SAAS;EAAA,IAAEmK,CAAC,GAAAnK,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,GAAG;EAAA,IAAEhD,CAAC,GAAAgD,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,CAAC;EAC7C,IAAMgJ,CAAC,GAAG,IAAIy2B,eAAe,CAAC,CAAC;IAAE52B,CAAC,GAAGtK,IAAI,CAAC+/B,GAAG,CAAC,CAAC;EAC/C,OAAO;IACLoB,OAAO,EAAE7wB,uBAAA,cAAAvG,yBAAA,GAAA4E,IAAA,CAAC,SAAAuE,SAAA;MAAA,IAAApH,CAAA;MAAA,OAAA/B,yBAAA,GAAAoB,IAAA,UAAAgI,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAAjE,IAAA,GAAAiE,SAAA,CAAAzF,IAAA;UAAA;YACC7B,CAAC,GAAGrN,CAAC;UAAA;YAAA,MAAEqN,CAAC,IAAIF,CAAC;cAAAwH,SAAA,CAAAzF,IAAA;cAAA;YAAA;YAAA,KAChBlD,CAAC,CAAC22B,MAAM,CAACC,OAAO;cAAAjuB,SAAA,CAAAzF,IAAA;cAAA;YAAA;YAAA,OAAAyF,SAAA,CAAA5F,MAAA,WACX,IAAI;UAAA;YAAA4F,SAAA,CAAAzF,IAAA;YAAA,OACHwyB,EAAE,CAACl2B,CAAC,EAAE6B,CAAC,EAAE5B,CAAC,CAAC;UAAA;YAAAkJ,SAAA,CAAAnB,EAAA,GAAAmB,SAAA,CAAA/F,IAAA;YAAA+F,SAAA,CAAA4tB,EAAA,GAAKh3B,CAAC;YAAA,MAAAoJ,SAAA,CAAAnB,EAAA,KAAAmB,SAAA,CAAA4tB,EAAA;cAAA5tB,SAAA,CAAAzF,IAAA;cAAA;YAAA;YAAA,OAAAyF,SAAA,CAAA5F,MAAA,WAClB;cACL8zB,MAAM,EAAEx1B,CAAC;cACTy1B,IAAI,EAAEvhC,IAAI,CAAC+/B,GAAG,CAAC,CAAC,GAAGz1B;YACrB,CAAC;UAAA;YAPmBwB,CAAC,IAAI,CAAC;YAAAsH,SAAA,CAAAzF,IAAA;YAAA;UAAA;YAAA,OAAAyF,SAAA,CAAA5F,MAAA,WASvB,IAAI;UAAA;UAAA;YAAA,OAAA4F,SAAA,CAAA9D,IAAA;QAAA;MAAA,GAAA4D,QAAA;IAAA,CACZ,GAAE,CAAC;IACJsuB,UAAU,EAAE/2B;EACd,CAAC;AACH;AACA,SAASg3B,EAAEA,CAAA,EAAG;EACZ,IAAI;IACF,OAAOC,IAAI,CAACC,cAAc,CAAC,CAAC,CAACC,eAAe,CAAC,CAAC,CAACC,QAAQ;EACzD,CAAC,CAAC,OAAAC,QAAA,EAAM,CACR;AACF;AACA,SAASC,EAAEA,CAAC/3B,CAAC,EAAE;EACb,IAAMC,CAAC,GAAG+3B,IAAI,CAACh4B,CAAC,CAAC;IAAEE,CAAC,GAAG,IAAIu1B,UAAU,CAACx1B,CAAC,CAAC3L,MAAM,CAAC;EAC/C,KAAK,IAAIsN,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG3B,CAAC,CAAC3L,MAAM,EAAEsN,CAAC,EAAE,EAC/B1B,CAAC,CAAC0B,CAAC,CAAC,GAAG3B,CAAC,CAACg4B,UAAU,CAACr2B,CAAC,CAAC;EACxB,OAAO1B,CAAC;AACV;AACA,SAASg4B,EAAEA,CAACl4B,CAAC,EAAU;EAAA,IAARC,CAAC,GAAAxI,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,EAAE;EACnB,IAAMyI,CAAC,GAAG,IAAIu1B,UAAU,CAACx1B,CAAC,CAAC;EAC3B,KAAK,IAAI2B,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG3B,CAAC,EAAE2B,CAAC,EAAE,EACxB1B,CAAC,CAAC0B,CAAC,CAAC,GAAG5B,CAAC,GAAG,GAAG,EAAEA,CAAC,GAAGg2B,IAAI,CAACmC,KAAK,CAACn4B,CAAC,GAAG,GAAG,CAAC;EACzC,OAAOE,CAAC;AACV;AAAC,SACck4B,EAAEA,CAAAptB,GAAA;EAAA,OAAAqtB,GAAA,CAAAryB,KAAA,OAAAvO,SAAA;AAAA;AAAA,SAAA4gC,IAAA;EAAAA,GAAA,GAAA/xB,uBAAA,cAAAvG,yBAAA,GAAA4E,IAAA,CAAjB,SAAA2zB,UAAkBt4B,CAAC;IAAA,IAAAC,CAAA;MAAAC,CAAA;MAAA0B,CAAA;MAAAnN,CAAA;MAAAgM,CAAA;MAAAH,CAAA;MAAAuB,CAAA;MAAAC,CAAA;MAAAnB,CAAA;MAAAyB,CAAA;MAAAm2B,OAAA,GAAA9gC,SAAA;IAAA,OAAAsI,yBAAA,GAAAoB,IAAA,UAAAq3B,WAAAC,UAAA;MAAA,kBAAAA,UAAA,CAAAtzB,IAAA,GAAAszB,UAAA,CAAA90B,IAAA;QAAA;UAAE1D,CAAC,GAAAs4B,OAAA,CAAAjkC,MAAA,QAAAikC,OAAA,QAAAlkC,SAAA,GAAAkkC,OAAA,MAAG,EAAE;UAAEr4B,CAAC,GAAAq4B,OAAA,CAAAjkC,MAAA,QAAAikC,OAAA,QAAAlkC,SAAA,GAAAkkC,OAAA,MAAG,GAAG;UAAE32B,CAAC,GAAA22B,OAAA,CAAAjkC,MAAA,QAAAikC,OAAA,QAAAlkC,SAAA,GAAAkkC,OAAA,MAAG,CAAC;UACnC9jC,CAAC,GAAG,SAAS,EAAEgM,CAAC,GAAG,IAAIy2B,eAAe,CAAC,CAAC,EAAE52B,CAAC,GAAGtK,IAAI,CAAC+/B,GAAG,CAAC,CAAC,EAAEl0B,CAAC;YAAA,IAAA62B,KAAA,GAAApyB,uBAAA,cAAAvG,yBAAA,GAAA4E,IAAA,CAAG,SAAAg0B,UAAA;cAAA,IAAAv2B,CAAA,EAAAT,CAAA;cAAA,OAAA5B,yBAAA,GAAAoB,IAAA,UAAAy3B,WAAAC,UAAA;gBAAA,kBAAAA,UAAA,CAAA1zB,IAAA,GAAA0zB,UAAA,CAAAl1B,IAAA;kBAAA;oBACzDvB,CAAC,GAAGR,CAAC;kBAAA;oBAAA,MAAEQ,CAAC,IAAIlC,CAAC;sBAAA24B,UAAA,CAAAl1B,IAAA;sBAAA;oBAAA;oBAAA,MAChBlD,CAAC,CAAC22B,MAAM,CAACC,OAAO,IAAI,CAACv1B,CAAC,IAAI,CAACnB,CAAC;sBAAAk4B,UAAA,CAAAl1B,IAAA;sBAAA;oBAAA;oBAAA,OAAAk1B,UAAA,CAAAr1B,MAAA,WACvB,IAAI;kBAAA;oBAAAq1B,UAAA,CAAA1zB,IAAA;oBAAA0zB,UAAA,CAAAl1B,IAAA;oBAAA,OAEKizB,MAAM,CAACC,MAAM,CAACiC,OAAO,CACnC;sBACEp0B,IAAI,EAAEjQ,CAAC;sBACPskC,EAAE,EAAEb,EAAE,CAAC91B,CAAC;oBACV,CAAC,EACDN,CAAC,EACDnB,CACF,CAAC;kBAAA;oBAPKgB,CAAC,GAAAk3B,UAAA,CAAAx1B,IAAA;oBAAA,KAQH1B,CAAC;sBAAAk3B,UAAA,CAAAl1B,IAAA;sBAAA;oBAAA;oBAAA,OAAAk1B,UAAA,CAAAr1B,MAAA,WACI;sBACLw1B,SAAS,EAAE,IAAIC,WAAW,CAAC,CAAC,CAACC,MAAM,CAACv3B,CAAC,CAAC;sBACtC41B,IAAI,EAAEvhC,IAAI,CAAC+/B,GAAG,CAAC,CAAC,GAAGz1B;oBACrB,CAAC;kBAAA;oBAAAu4B,UAAA,CAAAl1B,IAAA;oBAAA;kBAAA;oBAAAk1B,UAAA,CAAA1zB,IAAA;oBAAA0zB,UAAA,CAAA5wB,EAAA,GAAA4wB,UAAA;kBAAA;oBAhBiBz2B,CAAC,IAAI,CAAC;oBAAAy2B,UAAA,CAAAl1B,IAAA;oBAAA;kBAAA;oBAAA,OAAAk1B,UAAA,CAAAr1B,MAAA,WAoBvB,IAAI;kBAAA;kBAAA;oBAAA,OAAAq1B,UAAA,CAAAvzB,IAAA;gBAAA;cAAA,GAAAqzB,SAAA;YAAA,CACZ;YAAA,gBAtB+D92B,CAACA,CAAA;cAAA,OAAA62B,KAAA,CAAA1yB,KAAA,OAAAvO,SAAA;YAAA;UAAA;UAuB7DqK,CAAC,GAAG,IAAI,EAAEnB,CAAC,GAAG,IAAI;UAAA83B,UAAA,CAAAtzB,IAAA;UAEpBxE,CAAC,GAAGo3B,EAAE,CAAC/3B,CAAC,CAAC;UAACy4B,UAAA,CAAA90B,IAAA;UAAA,OACMizB,MAAM,CAACC,MAAM,CAACC,MAAM,CAClC,SAAS,EACTxB,EAAE,CAACyB,MAAM,CAAC92B,CAAC,CACb,CAAC;QAAA;UAHKmC,CAAC,GAAAq2B,UAAA,CAAAp1B,IAAA;UAAAo1B,UAAA,CAAA90B,IAAA;UAAA,OAIGizB,MAAM,CAACC,MAAM,CAACsC,SAAS,CAC/B,KAAK,EACL/2B,CAAC,EACD3N,CAAC,EACD,CAAC,CAAC,EACF,CAAC,SAAS,CACZ,CAAC;QAAA;UANDqN,CAAC,GAAA22B,UAAA,CAAAp1B,IAAA;UAAAo1B,UAAA,CAAA90B,IAAA;UAAA;QAAA;UAAA80B,UAAA,CAAAtzB,IAAA;UAAAszB,UAAA,CAAAxwB,EAAA,GAAAwwB,UAAA;UAAA,OAAAA,UAAA,CAAAj1B,MAAA,WAQM;YACL2zB,OAAO,EAAEnyB,OAAO,CAACo0B,MAAM,CAAC,CAAC;YACzB5B,UAAU,EAAE/2B;UACd,CAAC;QAAA;UAAA,OAAAg4B,UAAA,CAAAj1B,MAAA,WAEI;YACL2zB,OAAO,EAAEt1B,CAAC,CAAC,CAAC;YACZ21B,UAAU,EAAE/2B;UACd,CAAC;QAAA;QAAA;UAAA,OAAAg4B,UAAA,CAAAnzB,IAAA;MAAA;IAAA,GAAAgzB,SAAA;EAAA,CACF;EAAA,OAAAD,GAAA,CAAAryB,KAAA,OAAAvO,SAAA;AAAA;AACD,IAAI4hC,CAAC,GAAG,eAAiB,UAACr5B,CAAC;IAAA,OAAMA,CAAC,CAACs5B,KAAK,GAAG,OAAO,EAAEt5B,CAAC,CAACu5B,QAAQ,GAAG,UAAU,EAAEv5B,CAAC,CAACw5B,SAAS,GAAG,WAAW,EAAEx5B,CAAC,CAACy5B,UAAU,GAAG,YAAY,EAAEz5B,CAAC,CAAC05B,OAAO,GAAG,SAAS,EAAE15B,CAAC;EAAA,CAAC,CAAEq5B,CAAC,IAAI,CAAC,CAAC,CAAC;EAAEM,EAAE,GAAG,eAAgBpN,EAAE,CAAC,mfAAmf,CAAC;EAAEqN,EAAE,GAAG,eAAgBzN,EAAE,CAAC,qHAAqH,EAAE,CAAC,CAAC;EAAE0N,EAAE,GAAG,eAAgB1N,EAAE,CAAC,yEAAyE,CAAC;EAAE2N,EAAE,GAAG,eAAgB3N,EAAE,CAAC,0CAA0C,CAAC;EAAE4N,EAAE,GAAG,eAAgB5N,EAAE,CAAC,m0CAAm0C,CAAC;EAAE6N,EAAE,GAAG,eAAgB7N,EAAE,CAAC,sCAAsC,CAAC;EAAE8N,EAAE,GAAG,eAAgB9N,EAAE,CAAC,sCAAsC,CAAC;EAAE+N,EAAE,GAAG,eAAgB/N,EAAE,CAAC,mUAAmU,CAAC;EAAEgO,EAAE,GAAG,eAAgBhO,EAAE,CAAC,qFAAqF,CAAC;EAAEiO,EAAE,GAAG,eAAgBjO,EAAE,CAAC,uDAAuD,CAAC;EAAEkO,EAAE,GAAG,eAAgBlO,EAAE,CAAC,yNAAyN,EAAE,CAAC,CAAC;AACzuG,IAAMmO,EAAE,GAAG;EACThyB,IAAI,EAAE,eAAe;EACrBumB,IAAI;AAQN,CAAC;AACD,SAAS0L,EAAEA,CAACv6B,CAAC,EAAEC,CAAC,EAAE;EAChB,IAAIu6B,EAAE,EAAEC,EAAE;EACVjR,EAAE,CAACvpB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAEuuB,EAAE,CAACxuB,CAAC,EAAEs6B,EAAE,CAAC;EACpB,IAAIp6B,CAAC,GAAGswB,CAAC,CAACvwB,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IAAE2B,CAAC,GAAG4uB,CAAC,CAACvwB,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IAAExL,CAAC,GAAG+7B,CAAC,CAACvwB,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IAAEQ,CAAC,GAAG+vB,CAAC,CAACvwB,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IAAEK,CAAC,GAAGkwB,CAAC,CAACvwB,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IAAE4B,CAAC,GAAG2uB,CAAC,CAACvwB,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAAE6B,CAAC,GAAG0uB,CAAC,CAACvwB,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IAAEU,CAAC,GAAG6vB,CAAC,CAACvwB,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IAAEmC,CAAC,GAAGouB,CAAC,CAACvwB,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IAAE0B,CAAC,GAAG6uB,CAAC,CAACvwB,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IAAEqC,CAAC,GAAGkuB,CAAC,CAACvwB,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IAAEuiB,CAAC,GAAGgO,CAAC,CAACvwB,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAAEsiB,CAAC,GAAGiO,CAAC,CAACvwB,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAAEwiB,CAAC,GAAG+N,CAAC,CAACvwB,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IAAEyiB,CAAC,GAAG8N,CAAC,CAACvwB,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,CAAC;IAAE0iB,CAAC,GAAG6N,CAAC,CAACvwB,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,GAAG,CAAC;IAAE2iB,CAAC,GAAG4N,CAAC,CAACvwB,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAAEgZ,CAAC,GAAGuX,CAAC,CAACvwB,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IAAE+wB,EAAE,GAAGR,CAAC,CAACvwB,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IAAE2wB,EAAE,GAAGJ,CAAC,CAACvwB,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAAE4wB,CAAC,GAAGL,CAAC,CAACvwB,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAAE8wB,CAAC,GAAGP,CAAC,CAACvwB,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IAAEgxB,CAAC,GAAGT,CAAC,CAACvwB,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAAEy6B,EAAE,GAAGlK,CAAC,CAACvwB,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IAAE06B,EAAE,GAAGnK,CAAC,CAACvwB,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE;MAAA,OAAM+1B,IAAI,CAAC4E,GAAG,CAAC,EAAE,EAAEnnB,SAAS,CAAConB,mBAAmB,IAAI,CAAC,CAAC;IAAA,EAAC;IAAEC,EAAE,GAAGtK,CAAC,CAACvwB,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;EAC73B,IAAM86B,EAAE,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;IAAEC,EAAE,GAAG,kBAAkB;IAAEC,EAAE,GAAG,qBAAqB;IAAEC,EAAE,GAAG,SAALA,EAAEA,CAAI96B,CAAC,EAAES,CAAC,EAAK;MAChHZ,CAAC,CAAC2xB,MAAM,CAACuJ,aAAa,CAAC,IAAIC,WAAW,CAACh7B,CAAC,EAAE;QAAEi7B,MAAM,EAAEx6B;MAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;IAAEy6B,EAAE,GAAG,CAACb,EAAE,GAAG,CAACD,EAAE,GAAG5kC,QAAQ,CAAC2lC,eAAe,CAACC,IAAI,KAAK,IAAI,GAAG,KAAK,CAAC,GAAGhB,EAAE,CAACiB,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAGhB,EAAE,CAAC,CAAC,CAAC;IAAEiB,EAAE,GAAG,eAAgBhb,EAAE,CAAC,YAAM;MAC3I,IAAItgB,CAAC;MACL,OAAO3L,CAAC,CAAC,CAAC,IAAI,IAAIwlB,GAAG,CAACxlB,CAAC,CAAC,CAAC,EAAEqU,QAAQ,CAAC6yB,MAAM,CAAC,CAACnQ,IAAI,CAACoQ,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAACx7B,CAAC,GAAG3L,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI2L,CAAC,CAAC6f,QAAQ,CAAC,cAAc,CAAC,CAAC;IACjI,CAAC,CAAC;IAAE4b,EAAE,GAAG,eAAgBnb,EAAE,CAAC;MAAA,OAAMjgB,CAAC,CAAC,CAAC,GAAGq7B,EAAE,CAACr7B,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;IAAA,EAAC;IAAEs7B,EAAE,GAAG,eAAgBrb,EAAE,CAAC;MAAA,OAAMqQ,CAAC,CAAC,CAAC,GAAG+K,EAAE,CAAC/K,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAAA,EAAC;IAAEiL,CAAC,GAAG,eAAgBtb,EAAE,CAAC,YAAM;MACzI,IAAItgB,CAAC;MACL,OAAA6F,mBAAA;QACEg2B,aAAa,EAAEjB,EAAE;QACjB7yB,KAAK,EAAE,uCAAuC;QAC9C+zB,OAAO,EAAE,kCAAkC;QAC3CC,MAAM,4BAAA9hC,MAAA,CAA2B4gC,EAAE,wCAAA5gC,MAAA,CAAiC,CAAC,CAAC+F,CAAC,GAAGjK,CAAC,CAAC4lC,EAAE,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG37B,CAAC,CAAC67B,aAAa,KAAKjB,EAAE,kBAAc;QACxIoB,KAAK,EAAE,iBAAiB;QACxBC,QAAQ,EAAE,UAAU;QACpBC,SAAS,EAAE,cAAc;QACzBC,SAAS,EAAE;MAA2B,GACnCpmC,CAAC,CAAC4lC,EAAE,CAAC;IAEZ,CAAC,CAAC;IAAES,EAAE,GAAG,eAAgB9b,EAAE,CAAC;MAAA,OAAM+B,CAAC,CAAC,CAAC,OAAApoB,MAAA,CAAOqoB,CAAC,CAAC,CAAC,cAAW;IAAA,EAAC;EAC3D,IAAI+Z,EAAE,GAAGhd,EAAE,CAAC,CAAC,CAAC,CAAC;IAAEid,CAAC,GAAGjd,EAAE,CAACyC,EAAE,CAACmX,CAAC,CAACI,UAAU,CAAC,CAAC;IAAEkD,CAAC,GAAGld,EAAE,CAAC,KAAK,CAAC,CAAC;IAAEmd,EAAE,GAAGnd,EAAE,CAAC,IAAI,CAAC;IAAEod,EAAE,GAAG,IAAI;IAAE96B,CAAC,GAAG,IAAI;IAAE+6B,EAAE,GAAGrd,EAAE,CAAC,IAAI,CAAC;IAAEsd,EAAE,GAAG,IAAI;IAAEC,EAAE,GAAG,EAAE;IAAEC,EAAE,GAAGxd,EAAE,CAAC,IAAI,CAAC;EAC/IkI,EAAE,CAAC,YAAM;IACPuV,EAAE,CAAC/mC,CAAC,CAAC2mC,EAAE,CAAC,CAAC;EACX,CAAC,CAAC,EAAEnV,EAAE,CAAC,YAAM;IACXwV,EAAE,CAAChnC,CAAC,CAACumC,CAAC,CAAC,CAAC;EACV,CAAC,CAAC,EAAErM,EAAE,CAAC,YAAM;IACX+M,EAAE,CAAC,CAAC,EAAEr7B,CAAC,KAAKA,CAAC,CAACgpB,mBAAmB,CAAC,QAAQ,EAAEsS,EAAE,CAAC,EAAEt7B,CAAC,CAACgpB,mBAAmB,CAAC,OAAO,EAAEuS,EAAE,CAAC,EAAEv7B,CAAC,CAACgpB,mBAAmB,CAAC,SAAS,EAAEwS,EAAE,CAAC,EAAEx7B,CAAC,GAAG,IAAI,CAAC,EAAEg7B,EAAE,KAAKS,YAAY,CAACT,EAAE,CAAC,EAAEA,EAAE,GAAG,IAAI,CAAC,EAAEnnC,QAAQ,CAACm1B,mBAAmB,CAAC,OAAO,EAAE0S,EAAE,CAAC,EAAE7nC,QAAQ,CAACm1B,mBAAmB,CAAC,QAAQ,EAAE2S,EAAE,CAAC,EAAE70B,MAAM,CAACkiB,mBAAmB,CAAC,QAAQ,EAAE4S,EAAE,CAAC;EAC5S,CAAC,CAAC,EAAEvN,EAAE,CAAC,YAAM;IACX,IAAIhwB,CAAC;IACLw9B,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,EAAEA,CAAC,CAAC,SAAS,EAAEjD,EAAE,CAAC,CAAC,CAAC,EAAEkD,EAAE,CAAC,CAAC,EAAED,CAAC,CAAC,SAAS,EAAEZ,EAAE,CAAC1oC,MAAM,GAAG0oC,EAAE,CAAC1U,GAAG,CAAC,UAACznB,CAAC;MAAA,OAAKA,CAAC,CAAC4D,WAAW,CAACq5B,UAAU;IAAA,EAAC,CAACnI,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,EAAE1E,CAAC,CAAC,CAAC,IAAI2M,CAAC,CAAC,iBAAiB,CAAC,EAAEj9B,CAAC,CAAC,CAAC,IAAIo9B,EAAE,CAACp9B,CAAC,CAAC,CAAC,CAAC,EAAET,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI09B,CAAC,CAAC,MAAM,EAAE19B,CAAC,CAAC,CAAC,CAAC,EAAEkC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI47B,EAAE,CAAC57B,CAAC,CAAC,CAAC,CAAC,EAAEL,CAAC,GAAG,CAAC3B,CAAC,GAAGjK,CAAC,CAACwmC,CAAC,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAGv8B,CAAC,CAACrH,OAAO,CAAC,MAAM,CAAC,EAAEgJ,CAAC,KAAKA,CAAC,CAAC3C,gBAAgB,CAAC,QAAQ,EAAEi+B,EAAE,EAAE;MAAEjT,OAAO,EAAE,CAAC;IAAE,CAAC,CAAC,EAAEroB,CAAC,CAAC3C,gBAAgB,CAAC,OAAO,EAAEk+B,EAAE,CAAC,EAAEp9B,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI6B,CAAC,CAAC3C,gBAAgB,CAAC,SAAS,EAAEm+B,EAAE,CAAC,CAAC,EAAEr9B,CAAC,CAAC,CAAC,KAAK,QAAQ,KAAK+Y,CAAC,CAAC,CAAC,GAAGglB,EAAE,CAAC,CAAC,GAAGC,EAAE,CAAC,CAAC,CAAC,EAAE/nC,CAAC,CAACulC,EAAE,CAAC,KAAKlZ,CAAC,CAAC,CAAC,IAAID,CAAC,CAAC,CAAC,CAAC,IAAIqb,CAAC,CAAC,mGAAmG,CAAC,EAAEO,qBAAqB,CAAC,YAAM;MAC9nBjD,EAAE,CAAC,MAAM,CAAC;IACZ,CAAC,CAAC;EACJ,CAAC,CAAC;EACF,SAASkD,EAAEA,CAACh+B,CAAC,EAAES,CAAC,EAAE;IAChB,OAAOw9B,IAAI,CAACnpC,IAAI,CAACC,SAAS,CAAC;MACzBihC,SAAS,EAAEh2B,CAAC,CAACg2B,SAAS;MACtBC,SAAS,EAAEj2B,CAAC,CAACi2B,SAAS;MACtBiB,MAAM,EAAEz2B,CAAC,CAACy2B,MAAM;MAChBhB,IAAI,EAAEl2B,CAAC,CAACk2B,IAAI;MACZC,SAAS,EAAEn2B,CAAC,CAACm2B,SAAS;MACtBrd,IAAI,EAAE+X,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;MACvBsG,IAAI,EAAE12B,CAAC,CAAC02B;IACV,CAAC,CAAC,CAAC;EACL;EACA,SAAS6F,EAAEA,CAAA,EAAG;IACZ,SAAAkB,GAAA,MAAAC,GAAA,GAAgBvB,EAAE,EAAAsB,GAAA,GAAAC,GAAA,CAAAjqC,MAAA,EAAAgqC,GAAA;MAAb,IAAMl+B,CAAC,GAAAm+B,GAAA,CAAAD,GAAA;MACVl+B,CAAC,CAACo+B,OAAO,CAAC,CAAC;IAAC;EAChB;EACA,SAASC,EAAEA,CAAA,EAAG;IACZhqC,CAAC,CAAC,CAAC,IAAIm8B,EAAE,CAAC,CAAC,IAAIz6B,CAAC,CAACumC,CAAC,CAAC,KAAKrD,CAAC,CAACE,QAAQ,GAAG2E,EAAE,CAAC,CAAC,GAAGQ,EAAE,CAACrF,CAAC,CAACK,OAAO,EAAEvjC,CAAC,CAAC6lC,CAAC,CAAC,CAACE,OAAO,CAAC;EACzE;EAAC,SACcyC,EAAEA,CAAA;IAAA,OAAAC,GAAA,CAAA54B,KAAA,OAAAvO,SAAA;EAAA;EAAA,SAAAmnC,IAAA;IAAAA,GAAA,GAAAt4B,uBAAA,cAAAvG,yBAAA,GAAA4E,IAAA,CAAjB,SAAA8E,SAAA;MAAA,IAAArJ,CAAA,EAAAy+B,CAAA,EAAAh+B,CAAA,EAAAi+B,CAAA,EAAAC,CAAA,EAAAC,CAAA,EAAAvV,CAAA,EAAAvnB,CAAA,EAAA+8B,CAAA,EAAAC,EAAA,EAAAC,EAAA,EAAAC,GAAA;MAAA,OAAAr/B,yBAAA,GAAAoB,IAAA,UAAA2I,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAA5E,IAAA,GAAA4E,SAAA,CAAApG,IAAA;UAAA;YAAA,KAEMif,CAAC,CAAC,CAAC;cAAA7Y,SAAA,CAAApG,IAAA;cAAA;YAAA;YAAA,MACCi6B,CAAC,CAAC,eAAe,CAAC,EAAE,IAAI56B,KAAK,CAAC,eAAe,CAAC;UAAA;YAAA,KAClD7M,CAAC,CAAC0lC,EAAE,CAAC;cAAA9xB,SAAA,CAAApG,IAAA;cAAA;YAAA;YAAA,OAAAoG,SAAA,CAAAvG,MAAA,YACAo6B,CAAC,CAAC,0BAA0B,CAAC,EAAEznC,CAAC,CAAC0lC,EAAE,CAAC;UAAA;YAAA,KACzC5K,CAAC,CAAC,CAAC;cAAAlnB,SAAA,CAAApG,IAAA;cAAA;YAAA;YAAA,OAAAoG,SAAA,CAAAvG,MAAA,YACEo6B,CAAC,CAAC,2BAA2B,EAAE;cAAE1kB,IAAI,EAAE+X,CAAC,CAAC;YAAE,CAAC,CAAC,EAAE2E,EAAE,CAAC,OAAO3E,CAAC,CAAC,CAAC,IAAI,SAAS,GAAG,CAACA,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;UAAA;YAEjG,IAAI,CAACx8B,CAAC,CAAC,CAAC,IAAIsN,CAAC,EAAE;cACP88B,CAAC,GAAG98B,CAAC,CAAC3H,YAAY,CAAC,QAAQ,CAAC;cAClCykC,CAAC,IAAI,IAAI,IAAIA,CAAC,CAAC5e,QAAQ,CAAC,QAAQ,CAAC,IAAIxrB,CAAC,CAACoqC,CAAC,GAAG,SAAS,CAAC;YACvD;YAAC,IACIpqC,CAAC,CAAC,CAAC;cAAAsV,SAAA,CAAApG,IAAA;cAAA;YAAA;YAAA,MACA,IAAIX,KAAK,CAAC,iCAAiC,CAAC;UAAA;YACpD46B,CAAC,CAAC,yBAAyB,EAAEnpC,CAAC,CAAC,CAAC,CAAC;YAC7BoM,CAAC,GAAG,IAAI,EAAEi+B,CAAC,GAAG,IAAI;YAAA,KAClBx+B,CAAC,CAAC,CAAC;cAAAyJ,SAAA,CAAApG,IAAA;cAAA;YAAA;YAAA,MACDi6B,CAAC,CAAC,mBAAmB,CAAC,EAAE,OAAOt9B,CAAC,CAAC,CAAC,IAAI,QAAQ;cAAAyJ,SAAA,CAAApG,IAAA;cAAA;YAAA;YAAA,MAC5C9C,CAAC,GAAGw+B,UAAU,CAAC/+B,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAACO,CAAC;cAAAkJ,SAAA,CAAApG,IAAA;cAAA;YAAA;YAAA,MAC3B,IAAIX,KAAK,qCAAA3I,MAAA,CAAqCiG,CAAC,CAAC,CAAC,CAAE,CAAC;UAAA;YAAAyJ,SAAA,CAAApG,IAAA;YAAA;UAAA;YAE5D9C,CAAC,GAAGP,CAAC,CAAC,CAAC;UAAC;YACNy+B,CAAC,GAAG;cACRp3B,OAAO,EAAEkpB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG;gBAAE,sBAAsB,EAAE;cAAI,CAAC,GAAG,CAAC;YAC3D,CAAC;YAAA,KACGhwB,CAAC;cAAAkJ,SAAA,CAAApG,IAAA;cAAA;YAAA;YAAAoG,SAAA,CAAApG,IAAA;YAAA,OACW9C,CAAC,CAACpM,CAAC,CAAC,CAAC,EAAEsqC,CAAC,CAAC;UAAA;YAAnBD,CAAC,GAAA/0B,SAAA,CAAA1G,IAAA;YAAA,MAAoB,CAACy7B,CAAC,IAAI,EAAEA,CAAC,YAAYQ,QAAQ,CAAC;cAAAv1B,SAAA,CAAApG,IAAA;cAAA;YAAA;YAAA,MAC/C,IAAIX,KAAK,CAAC,kDAAkD,CAAC;UAAA;YAAA+G,SAAA,CAAApG,IAAA;YAAA;UAAA;YAAAoG,SAAA,CAAApG,IAAA;YAAA,OAE3DkE,KAAK,CAACpT,CAAC,CAAC,CAAC,EAAEsqC,CAAC,CAAC;UAAA;YAAvBD,CAAC,GAAA/0B,SAAA,CAAA1G,IAAA;UAAA;YAAA,MACCy7B,CAAC,CAAC/2B,MAAM,KAAK,GAAG;cAAAgC,SAAA,CAAApG,IAAA;cAAA;YAAA;YAAA,MACZ,IAAIX,KAAK,0BAAA3I,MAAA,CAA0BykC,CAAC,CAAC/2B,MAAM,MAAG,CAAC;UAAA;YACjDi3B,CAAC,GAAGF,CAAC,CAACn3B,OAAO,CAACuP,GAAG,CAAC,iBAAiB,CAAC;YAAAnN,SAAA,CAAApG,IAAA;YAAA,OAAYm7B,CAAC,CAAC92B,IAAI,CAAC,CAAC;UAAA;YAAlByhB,CAAC,GAAA1f,SAAA,CAAA1G,IAAA;YAAmBnB,CAAC,GAAG,IAAIwG,eAAe,CAAC,CAACtI,CAAC,GAAGqpB,CAAC,CAAC6M,IAAI,CAACmF,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAGr7B,CAAC,CAAC,CAAC,CAAC,CAAC;YAAE6+B,CAAC,GAAG/8B,CAAC,CAACgV,GAAG,CAAC,SAAS,CAAC,IAAIhV,CAAC,CAACgV,GAAG,CAAC,QAAQ,CAAC;YACjL,IAAI+nB,CAAC,EAAE;cACCJ,EAAC,GAAG,IAAI7oC,IAAI,CAAC,CAACipC,CAAC,GAAG,GAAG,CAAC,EAAEE,EAAE,GAAGvqC,KAAK,CAACiqC,EAAC,CAAC5oC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG4oC,EAAC,CAAC5oC,OAAO,CAAC,CAAC,GAAGD,IAAI,CAAC+/B,GAAG,CAAC,CAAC;cACpFoJ,EAAE,GAAG,CAAC,IAAIpB,EAAE,CAACoB,EAAE,CAAC;YAClB;YACA,IAAIH,CAAC,EACH,IAAI;cACIH,GAAC,GAAG3pC,IAAI,CAACuK,KAAK,CAACu/B,CAAC,CAAC;cACvBH,GAAC,IAAIl8B,aAAA,CAAOk8B,GAAC,KAAI,QAAQ,KAAKA,GAAC,CAACU,SAAS,KAAKV,GAAC,CAACU,SAAS,GAAG,IAAItlB,GAAG,CAAC4kB,GAAC,CAACU,SAAS,EAAE,IAAItlB,GAAG,CAACxlB,CAAC,CAAC,CAAC,CAAC,CAAC,CAACkU,QAAQ,CAAC,CAAC,CAAC,EAAE62B,EAAE,CAACX,GAAC,CAAC,CAAC;YACpH,CAAC,CAAC,OAAOA,CAAC,EAAE;cACVjB,CAAC,CAAC,0CAA0C,EAAEiB,CAAC,CAAC;YAClD;YAAC,OAAA90B,SAAA,CAAAvG,MAAA,WACIimB,CAAC;UAAA;UAAA;YAAA,OAAA1f,SAAA,CAAAzE,IAAA;QAAA;MAAA,GAAAmE,QAAA;IAAA,CAEX;IAAA,OAAAm1B,GAAA,CAAA54B,KAAA,OAAAvO,SAAA;EAAA;EACD,SAASgoC,EAAEA,CAACr/B,CAAC,EAAE;IACb,IAAI0+B,CAAC;IACL,IAAMj+B,CAAC,GAAGkB,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,CAAC,CAAC5H,aAAa,CAAC,OAAOiG,CAAC,IAAI,QAAQ,mBAAA/F,MAAA,CAAkB+F,CAAC,WAAO,+CAA+C,CAAC;IAC7I,OAAO,CAAC,CAAC0+B,CAAC,GAAGj+B,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,CAAC,CAAC3M,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG4qC,CAAC,CAACz5B,KAAK,CAACxE,CAAC,CAAC3M,KAAK,CAAC8jB,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC;EACxG;EACA,SAAS0nB,EAAEA,CAAA,EAAG;IACZ,OAAO7O,CAAC,CAAC,CAAC,KAAK,WAAW,GAAG;MAC3B8O,gBAAgB,EAAE,KAAK,CAAC;MACxBC,UAAU,EAAE,KAAK,CAAC;MAClBC,YAAY,EAAE,KAAK,CAAC;MACpBC,KAAK,EAAE,CAAC,CAAC;MACTC,iBAAiB,EAAE,KAAK,CAAC;MACzBC,iBAAiB,EAAE,KAAK,CAAC;MACzBC,MAAM,EAAE,CAAC,CAAC;MACVC,SAAS,EAAE,KAAK,CAAC;MACjBhiC,IAAI,EAAE,KAAK,CAAC;MACZ25B,QAAQ,EAAE,KAAK;IACjB,CAAC,GAAGl1B,aAAA,CAAOkuB,CAAC,CAAC,CAAC,KAAI,QAAQ,GAAGA,CAAC,CAAC,CAAC,GAAG;MACjC8O,gBAAgB,EAAE,KAAK,CAAC;MACxBC,UAAU,EAAE,KAAK,CAAC;MAClBC,YAAY,EAAE,KAAK,CAAC;MACpBC,KAAK,EAAE,KAAK,CAAC;MACbC,iBAAiB,EAAE,KAAK,CAAC;MACzBC,iBAAiB,EAAE,KAAK,CAAC;MACzBC,MAAM,EAAE,KAAK,CAAC;MACdC,SAAS,EAAE,KAAK,CAAC;MACjBhiC,IAAI,EAAE,KAAK,CAAC;MACZ25B,QAAQ,EAAE,KAAK;IACjB,CAAC;EACH;EACA,SAASsI,EAAEA,CAAC//B,CAAC,EAAE;IACb,OAAOkY,kBAAA,CACF,CAACvW,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,CAAC,CAAClM,gBAAgB,CAACuK,CAAC,IAAI,IAAI,IAAIA,CAAC,CAAC9L,MAAM,GAAG8L,CAAC,CAACkoB,GAAG,CAAC,UAACwW,CAAC;MAAA,uBAAAzkC,MAAA,CAAoBykC,CAAC;IAAA,CAAI,CAAC,CAACnJ,IAAI,CAAC,IAAI,CAAC,GAAG,kFAAkF,CAAC,KAAK,EAAE,EAC9MyK,MAAM,CACN,UAACtB,CAAC,EAAEC,CAAC,EAAK;MACR,IAAMC,CAAC,GAAGD,CAAC,CAACr6B,IAAI;QAAE+kB,CAAC,GAAGsV,CAAC,CAAC7qC,KAAK;MAC7B,OAAO8qC,CAAC,IAAIvV,CAAC,KAAKqV,CAAC,CAACE,CAAC,CAAC,GAAG,IAAI,CAAC9lB,IAAI,CAACuQ,CAAC,CAAC,GAAGA,CAAC,CAAC4W,OAAO,CAAC,IAAIC,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,QACvF,CAAC,GAAG7W,CAAC,CAAC,EAAEqV,CAAC;IACJ,CAAC,EACD,CAAC,CACH,CAAC;EACH;EACA,SAASjB,EAAEA,CAAA,EAAG;IACZ,IAAMz9B,CAAC,GAAG4wB,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,GAAGA,EAAE,CAAC,CAAC,CAACyK,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,IAAA8E,WAAA,GAAAxnB,0BAAA,CACrCsmB,UAAU,CAACmB,aAAa;MAAAC,OAAA;IAAA;MAAxC,KAAAF,WAAA,CAAAz+B,CAAA,MAAA2+B,OAAA,GAAAF,WAAA,CAAAngC,CAAA,IAAA6C,IAAA,GACE;QAAA,IADSpC,CAAC,GAAA4/B,OAAA,CAAAvsC,KAAA;QACV,CAAC,CAACkM,CAAC,IAAIA,CAAC,CAAC6f,QAAQ,CAACpf,CAAC,CAACi9B,UAAU,CAAC,KAAKd,EAAE,CAAC74B,IAAI,CAAC,IAAItD,CAAC,CAAC;UAChD0f,EAAE,EAAEpqB,CAAC,CAACwmC,CAAC,CAAC;UACR+D,OAAO,EAAEzC,EAAE;UACX0C,QAAQ,EAAEzF,EAAE;UACZ0F,gBAAgB,EAAEC,EAAE;UACpBC,iBAAiB,EAAEC,EAAE;UACrBC,QAAQ,EAAEC,EAAE;UACZrxB,GAAG,EAAEguB,CAAC;UACNt5B,KAAK,EAAEo6B,EAAE;UACTwC,KAAK,EAAEC,EAAE;UACTC,QAAQ,EAAEC,EAAE;UACZC,iBAAiB,EAAEC,EAAE;UACrBC,MAAM,EAAEtD;QACV,CAAC,CAAC,CAAC;MAAA;IAAC,SAAAlb,GAAA;MAAAud,WAAA,CAAAvgC,CAAA,CAAAgjB,GAAA;IAAA;MAAAud,WAAA,CAAA1+B,CAAA;IAAA;EACR;EACA,SAAS+7B,CAACA,CAAA,EAAO;IAAA,IAAA6D,QAAA;IAAA,SAAAC,KAAA,GAAAjqC,SAAA,CAAAnD,MAAA,EAAH8L,CAAC,OAAAqY,KAAA,CAAAipB,KAAA,GAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA;MAADvhC,CAAC,CAAAuhC,KAAA,IAAAlqC,SAAA,CAAAkqC,KAAA;IAAA;IACb,CAAC9/B,CAAC,CAAC,CAAC,IAAIzB,CAAC,CAACwhC,IAAI,CAAC,UAAC/gC,CAAC;MAAA,OAAKA,CAAC,YAAYmC,KAAK;IAAA,EAAC,KAAK,CAAAy+B,QAAA,GAAAv5B,OAAO,EAAC9H,CAAC,CAAC,CAAC,CAAC,YAAY4C,KAAK,GAAG,OAAO,GAAG,KAAK,CAAC,CAAAgD,KAAA,CAAAy7B,QAAA,GAAC,QAAQ,WAAApnC,MAAA,CAAWqoB,CAAC,CAAC,CAAC,QAAAroB,MAAA,CAAQ+F,CAAC,EAAC;EACjI;EACA,SAASyhC,EAAEA,CAAA,EAAG;IACZ,CAACxI,CAAC,CAACI,UAAU,EAAEJ,CAAC,CAACC,KAAK,EAAED,CAAC,CAACK,OAAO,CAAC,CAACzZ,QAAQ,CAAC9pB,CAAC,CAACumC,CAAC,CAAC,CAAC,GAAG7L,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC9uB,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,CAAC,CAAC+/B,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG/hB,CAAC,CAAC0c,EAAE,EAAE,CAAC,CAAC,CAAC,GAAGxjB,CAAC,CAAC,CAAC,GAAGglB,EAAE,CAAC,CAAC,GAAGC,EAAE,CAAC,CAAC,GAAGne,CAAC,CAAC0c,EAAE,EAAE,CAAC,CAAC,CAAC;EAChK;EACA,SAASgB,EAAEA,CAACr9B,CAAC,EAAE;IACb,IAAMS,CAAC,GAAGT,CAAC,CAACsV,MAAM;IAClBtT,CAAC,CAAC,CAAC,IAAIvB,CAAC,IAAI,CAAC1K,CAAC,CAACwmC,CAAC,CAAC,CAACjhC,QAAQ,CAACmF,CAAC,CAAC,KAAK1K,CAAC,CAACumC,CAAC,CAAC,KAAKrD,CAAC,CAACE,QAAQ,IAAIr5B,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI/J,CAAC,CAACumC,CAAC,CAAC,KAAKrD,CAAC,CAACI,UAAU,CAAC,KAAKtjC,CAAC,CAACwmC,CAAC,CAAC,CAACvsB,KAAK,CAACiF,OAAO,GAAG,MAAM,CAAC;EACnI;EACA,SAASqoB,EAAEA,CAAA,EAAG;IACZt7B,CAAC,CAAC,CAAC,IAAIjM,CAAC,CAACumC,CAAC,CAAC,KAAKrD,CAAC,CAACI,UAAU,IAAIsI,EAAE,CAAC,CAAC;EACtC;EACA,SAAS7E,EAAEA,CAAC98B,CAAC,EAAE;IACb,SAAA4hC,GAAA,MAAAC,IAAA,GAAgBjF,EAAE,EAAAgF,GAAA,GAAAC,IAAA,CAAA3tC,MAAA,EAAA0tC,GAAA;MAAb,IAAMnhC,CAAC,GAAAohC,IAAA,CAAAD,GAAA;MACV,OAAOnhC,CAAC,CAACqhC,aAAa,IAAI,UAAU,IAAIrhC,CAAC,CAACqhC,aAAa,CAAC/rC,CAAC,CAAC2mC,EAAE,CAAC,CAAC;IAAC;EACnE;EACA,SAASS,EAAEA,CAACn9B,CAAC,EAAE;IACbjK,CAAC,CAACumC,CAAC,CAAC,KAAKrD,CAAC,CAACI,UAAU,IAAIyE,EAAE,CAAC,CAAC;EAC/B;EACA,SAASb,EAAEA,CAACj9B,CAAC,EAAE;IACb2B,CAAC,IAAI7B,CAAC,CAAC,CAAC,KAAK,UAAU,GAAG/J,CAAC,CAACumC,CAAC,CAAC,KAAKrD,CAAC,CAACI,UAAU,IAAIr5B,CAAC,CAAC+hC,cAAc,CAAC,CAAC,EAAE/hC,CAAC,CAACd,eAAe,CAAC,CAAC,EAAE4+B,EAAE,CAAC,CAAC,CAACp7B,IAAI,CAAC,YAAM;MAC1Gf,CAAC,IAAI,IAAI,IAAIA,CAAC,CAACqgC,aAAa,CAAC,CAAC;IAChC,CAAC,CAAC,IAAIjsC,CAAC,CAACumC,CAAC,CAAC,KAAKrD,CAAC,CAACE,QAAQ,KAAKn5B,CAAC,CAAC+hC,cAAc,CAAC,CAAC,EAAE/hC,CAAC,CAACd,eAAe,CAAC,CAAC,EAAEnJ,CAAC,CAACumC,CAAC,CAAC,KAAKrD,CAAC,CAACG,SAAS,IAAI6I,EAAE,CAAC,CAAC,CAAC,GAAGtgC,CAAC,IAAIK,CAAC,CAAC,CAAC,IAAIlC,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI/J,CAAC,CAACumC,CAAC,CAAC,KAAKrD,CAAC,CAACI,UAAU,KAAKr5B,CAAC,CAAC+hC,cAAc,CAAC,CAAC,EAAE/hC,CAAC,CAACd,eAAe,CAAC,CAAC,EAAEnJ,CAAC,CAACwmC,CAAC,CAAC,CAACvsB,KAAK,CAACiF,OAAO,GAAG,OAAO,EAAE0sB,EAAE,CAAC,CAAC,CAAC;EAC5O;EACA,SAASzE,EAAEA,CAAA,EAAG;IACZoB,EAAE,CAAC,CAAC;EACN;EACA,SAAS2D,EAAEA,CAAA,EAAG;IACZlsC,CAAC,CAACumC,CAAC,CAAC,KAAKrD,CAAC,CAACG,SAAS,IAAIrjC,CAAC,CAAC6lC,CAAC,CAAC,CAACO,SAAS,IAAIj/B,KAAK,CAACnH,CAAC,CAAC6lC,CAAC,CAAC,CAACO,SAAS,CAAC;EACjE;EACA,SAASY,EAAEA,CAAC/8B,CAAC,EAAE;IACb,SAAAkiC,GAAA,MAAAC,IAAA,GAAgBvF,EAAE,EAAAsF,GAAA,GAAAC,IAAA,CAAAjuC,MAAA,EAAAguC,GAAA;MAAb,IAAMzhC,CAAC,GAAA0hC,IAAA,CAAAD,GAAA;MACV,OAAOzhC,CAAC,CAAC2hC,aAAa,IAAI,UAAU,IAAI3hC,CAAC,CAAC2hC,aAAa,CAACrsC,CAAC,CAACumC,CAAC,CAAC,CAAC;IAAC;IAChEt6B,CAAC,CAAC,CAAC,IAAIjM,CAAC,CAACumC,CAAC,CAAC,KAAKrD,CAAC,CAACI,UAAU,IAAI0E,qBAAqB,CAAC,YAAM;MAC1D4D,EAAE,CAAC,CAAC;IACN,CAAC,CAAC,EAAEhiB,CAAC,CAAC0c,EAAE,EAAEtmC,CAAC,CAACumC,CAAC,CAAC,KAAKrD,CAAC,CAACE,QAAQ,CAAC;EAChC;EACA,SAASoE,EAAEA,CAAA,EAAG;IACZv7B,CAAC,CAAC,CAAC,IAAI2/B,EAAE,CAAC,CAAC;EACb;EACA,SAASjG,EAAEA,CAAC17B,CAAC,EAAE;IACb,OAAOlL,IAAI,CAACuK,KAAK,CAACW,CAAC,CAAC;EACtB;EACA,SAAS2hC,EAAEA,CAAA,EAAS;IAAA,IAAR3hC,CAAC,GAAA3I,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,EAAE;IAChB,IAAItB,CAAC,CAACwmC,CAAC,CAAC,EACN,IAAIE,EAAE,KAAKA,EAAE,GAAG,CAACl7B,CAAC,CAAC,CAAC,GAAG/L,QAAQ,CAACuE,aAAa,CAACwH,CAAC,CAAC,CAAC,CAAC,GAAGI,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,CAAC,CAAC5H,aAAa,CAAC,8FAA8F,CAAC,KAAK4H,CAAC,CAAC,EAAE86B,EAAE,EAAE;MACpM,IAAMh8B,CAAC,GAAGotB,QAAQ,CAAC3rB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE;QAAEw8B,CAAC,GAAGjC,EAAE,CAAC//B,qBAAqB,CAAC,CAAC;QAAEiiC,CAAC,GAAG5oC,CAAC,CAACwmC,CAAC,CAAC,CAAC7/B,qBAAqB,CAAC,CAAC;QAAEkiC,CAAC,GAAGppC,QAAQ,CAAC2lC,eAAe,CAACkH,YAAY;QAAEhZ,CAAC,GAAG7zB,QAAQ,CAAC2lC,eAAe,CAACmH,WAAW;QAAExgC,CAAC,GAAGE,CAAC,CAAC,CAAC,KAAK,MAAM,GAAG08B,CAAC,CAAC6D,MAAM,GAAG5D,CAAC,CAAC9hC,MAAM,GAAG4D,CAAC,GAAGT,CAAC,GAAG4+B,CAAC,GAAG58B,CAAC,CAAC,CAAC,KAAK,KAAK;QAAE68B,CAAC,GAAGjJ,IAAI,CAAC4M,GAAG,CAACxiC,CAAC,EAAE41B,IAAI,CAAC4E,GAAG,CAACnR,CAAC,GAAGrpB,CAAC,GAAG2+B,CAAC,CAAC7hC,KAAK,EAAE4hC,CAAC,CAAC9hC,IAAI,GAAG8hC,CAAC,CAAC5hC,KAAK,GAAG,CAAC,GAAG6hC,CAAC,CAAC7hC,KAAK,GAAG,CAAC,CAAC,CAAC;MAC9U,IAAIgF,CAAC,GAAG/L,CAAC,CAACwmC,CAAC,CAAC,CAACvsB,KAAK,CAACzT,GAAG,MAAAtC,MAAA,CAAMykC,CAAC,CAACniC,GAAG,IAAIoiC,CAAC,CAAC9hC,MAAM,GAAG4D,CAAC,CAAC,OAAI,GAAG1K,CAAC,CAACwmC,CAAC,CAAC,CAACvsB,KAAK,CAACzT,GAAG,MAAAtC,MAAA,CAAMykC,CAAC,CAAC6D,MAAM,GAAG9hC,CAAC,OAAI,EAAE1K,CAAC,CAACwmC,CAAC,CAAC,CAACvsB,KAAK,CAACpT,IAAI,MAAA3C,MAAA,CAAM4kC,CAAC,OAAI,EAAE9oC,CAAC,CAACwmC,CAAC,CAAC,CAACzkC,YAAY,CAAC,eAAe,EAAEgK,CAAC,GAAG,KAAK,GAAG,QAAQ,CAAC,EAAE/L,CAAC,CAACymC,EAAE,CAAC,EAAE;QAC1L,IAAMiC,CAAC,GAAG1oC,CAAC,CAACymC,EAAE,CAAC,CAAC9/B,qBAAqB,CAAC,CAAC;QACvC3G,CAAC,CAACymC,EAAE,CAAC,CAACxsB,KAAK,CAACpT,IAAI,GAAG8hC,CAAC,CAAC9hC,IAAI,GAAGiiC,CAAC,GAAGH,CAAC,CAAC5hC,KAAK,GAAG,CAAC,GAAG2hC,CAAC,CAAC3hC,KAAK,GAAG,CAAC,GAAG,IAAI;MAClE;IACF,CAAC,MACC0gC,CAAC,CAAC,wCAAwC,CAAC;EACjD;EAAC,SACciF,EAAEA,CAAA53B,GAAA;IAAA,OAAA63B,GAAA,CAAA98B,KAAA,OAAAvO,SAAA;EAAA;EAAA,SAAAqrC,IAAA;IAAAA,GAAA,GAAAx8B,uBAAA,cAAAvG,yBAAA,GAAA4E,IAAA,CAAjB,SAAA8F,SAAkBrK,CAAC;MAAA,IAAAS,CAAA,EAAAkiC,GAAA,EAAA/D,CAAA,EAAAvV,CAAA,EAAAvnB,CAAA,EAAA+8B,CAAA,EAAAJ,CAAA,EAAAM,EAAA,EAAA6D,EAAA,EAAAC,EAAA,EAAAC,EAAA,EAAAC,EAAA,EAAArE,CAAA,EAAAC,CAAA;MAAA,OAAAh/B,yBAAA,GAAAoB,IAAA,UAAAwJ,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAAzF,IAAA,GAAAyF,SAAA,CAAAjH,IAAA;UAAA;YAAA,IACZ+2B,EAAE,CAAC,CAAC;cAAA9vB,SAAA,CAAAjH,IAAA;cAAA;YAAA;YAAA,MACD,IAAIX,KAAK,CAAC,8BAA8B,CAAC;UAAA;YACjD46B,CAAC,CAAC,qCAAqC,EAAElD,EAAE,CAAC,CAAC,CAAC;YACxC75B,CAAC,GAAG;cAAEuiC,OAAO,EAAEhjC;YAAE,CAAC;YACxB,IAAIywB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;cAAAkS,GAAA,GAYVrD,EAAE,CAAC,CAAC,EAVYV,CAAC,GAAA+D,GAAA,CAAnBpD,gBAAgB,EACJlW,CAAC,GAAAsZ,GAAA,CAAbnD,UAAU,EACI19B,CAAC,GAAA6gC,GAAA,CAAflD,YAAY,EACLZ,CAAC,GAAA8D,GAAA,CAARjD,KAAK,EACcjB,CAAC,GAAAkE,GAAA,CAApB/C,iBAAiB,EACEb,EAAE,GAAA4D,GAAA,CAArBhD,iBAAiB,EACTiD,EAAE,GAAAD,GAAA,CAAV9C,MAAM,EACKgD,EAAE,GAAAF,GAAA,CAAb7C,SAAS,EACHgD,EAAE,GAAAH,GAAA,CAAR7kC,IAAI,EACMilC,EAAE,GAAAJ,GAAA,CAAZlL,QAAQ;cAEVh3B,CAAC,CAAC8+B,gBAAgB,GAAGX,CAAC,EAAEn+B,CAAC,CAAC++B,UAAU,GAAGnW,CAAC,EAAE5oB,CAAC,CAACg/B,YAAY,GAAG39B,CAAC,EAAErB,CAAC,CAACi/B,KAAK,GAAGb,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,GAAGQ,EAAE,CAACR,CAAC,CAAC,EAAEp+B,CAAC,CAACk/B,iBAAiB,GAAGZ,EAAE,EAAEt+B,CAAC,CAACm/B,iBAAiB,GAAGnB,CAAC,KAAKvD,EAAE,GAAG,CAACA,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,EAAEz6B,CAAC,CAACo/B,MAAM,GAAG+C,EAAE,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG7C,EAAE,CAAC6C,EAAE,CAAC,EAAEniC,CAAC,CAACq/B,SAAS,GAAG+C,EAAE,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,GAAGA,EAAE,IAAI,MAAM,EAAEpiC,CAAC,CAAC3C,IAAI,GAAGglC,EAAE,EAAEriC,CAAC,CAACg3B,QAAQ,GAAGsL,EAAE,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,GAAGA,EAAE,IAAI1L,EAAE,CAAC,CAAC;YAClU;YAAC7sB,SAAA,CAAAjH,IAAA;YAAA,OACekE,KAAK,CAAC6yB,EAAE,CAAC,CAAC,EAAE;cAC1B7/B,IAAI,EAAE3F,IAAI,CAACC,SAAS,CAAC0L,CAAC,CAAC;cACvB8G,OAAO,EAAE;gBAAE,cAAc,EAAE;cAAmB,CAAC;cAC/CzE,MAAM,EAAE;YACV,CAAC,CAAC;UAAA;YAJI47B,CAAC,GAAAl0B,SAAA,CAAAvH,IAAA;YAAA,MAKHy7B,CAAC,CAAC/2B,MAAM,KAAK,GAAG;cAAA6C,SAAA,CAAAjH,IAAA;cAAA;YAAA;YAAA,MACZ,IAAIX,KAAK,0BAAA3I,MAAA,CAA0BykC,CAAC,CAAC/2B,MAAM,MAAG,CAAC;UAAA;YAAA6C,SAAA,CAAAjH,IAAA;YAAA,OACvCm7B,CAAC,CAAC92B,IAAI,CAAC,CAAC;UAAA;YAAlB+2B,CAAC,GAAAn0B,SAAA,CAAAvH,IAAA;YAAA,MACH07B,CAAC,IAAI,IAAI,IAAIA,CAAC,CAACqE,OAAO,IAAIrjB,CAAC,CAACkd,EAAE,EAAE/a,EAAE,CAAC6c,CAAC,CAACqE,OAAO,CAAC,CAAC,EAAElI,EAAE,CAAC,oBAAoB,EAAE6D,CAAC,CAAC,EAAEn9B,CAAC,CAAC,CAAC,IAAIm9B,CAAC,CAACsE,cAAc,KAAK,KAAK;cAAAz4B,SAAA,CAAAjH,IAAA;cAAA;YAAA;YAAA,MAC1G,IAAIX,KAAK,CAAC,8CAA8C,CAAC;UAAA;UAAA;YAAA,OAAA4H,SAAA,CAAAtF,IAAA;QAAA;MAAA,GAAAmF,QAAA;IAAA,CAClE;IAAA,OAAAq4B,GAAA,CAAA98B,KAAA,OAAAvO,SAAA;EAAA;EACD,SAASsmC,EAAEA,CAAC39B,CAAC,EAAE;IACbw9B,CAAC,CAAC,QAAQ,EAAEx9B,CAAC,CAAC,EAAE28B,EAAE,KAAKS,YAAY,CAACT,EAAE,CAAC,EAAEA,EAAE,GAAG,IAAI,CAAC,EAAE38B,CAAC,GAAG,CAAC,GAAGq+B,EAAE,CAAC,CAAC,GAAG1B,EAAE,GAAGlf,UAAU,CAAC4gB,EAAE,EAAEr+B,CAAC,CAAC;EAC5F;EACA,SAAS49B,EAAEA,CAAC59B,CAAC,EAAE;IACbw9B,CAAC,CAAC,UAAU,EAAEx9B,CAAC,CAAC,EAAEgC,CAAC,CAAC,CAAC,KAAKhC,CAAC,KAAKjK,CAAC,CAACwmC,CAAC,CAAC,CAACvsB,KAAK,CAACpT,IAAI,GAAG,EAAE,EAAE7G,CAAC,CAACwmC,CAAC,CAAC,CAACvsB,KAAK,CAACzT,GAAG,GAAG,EAAE,CAAC,EAAEyF,CAAC,CAAChC,CAAC,KAAK,CAAC,CAAC,IAAIA,CAAC,KAAK,EAAE,GAAG,MAAM,GAAGA,CAAC,KAAK,CAAC,CAAC,IAAIA,CAAC,KAAK,OAAO,GAAG,KAAK,CAAC,GAAGgC,CAAC,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,IAAIlC,CAAC,CAAC,CAAC,IAAIA,CAAC,CAAC,UAAU,CAAC,EAAEtK,QAAQ,CAACwJ,gBAAgB,CAAC,QAAQ,EAAEs+B,EAAE,CAAC,EAAE9nC,QAAQ,CAACwJ,gBAAgB,CAAC,OAAO,EAAEq+B,EAAE,CAAC,EAAE50B,MAAM,CAACzJ,gBAAgB,CAAC,QAAQ,EAAEu+B,EAAE,CAAC,IAAIz9B,CAAC,CAAC,CAAC,KAAK,UAAU,IAAIA,CAAC,CAAC,KAAK,CAAC,CAAC;EACjV;EACA,SAASojC,EAAEA,CAACljC,CAAC,EAAE;IACb,IAAI,CAACA,CAAC,CAACg2B,SAAS,EACd,MAAM,IAAIpzB,KAAK,CAAC,mDAAmD,CAAC;IACtE,IAAI5C,CAAC,CAACm2B,SAAS,KAAK,KAAK,CAAC,EACxB,MAAM,IAAIvzB,KAAK,CAAC,mDAAmD,CAAC;IACtE,IAAI,CAAC+3B,EAAE,CAAC9a,QAAQ,CAAC7f,CAAC,CAACg2B,SAAS,CAAC59B,WAAW,CAAC,CAAC,CAAC,EACzC,MAAM,IAAIwK,KAAK,6CAAA3I,MAAA,CAA6C0gC,EAAE,CAACpF,IAAI,CAAC,IAAI,CAAC,CAAE,CAAC;IAC9E,IAAI,CAACv1B,CAAC,CAACi2B,SAAS,IAAIj2B,CAAC,CAACi2B,SAAS,CAAC/hC,MAAM,GAAG,EAAE,EACzC,MAAM,IAAI0O,KAAK,CAAC,wCAAwC,CAAC;IAC3D,IAAI,CAAC5C,CAAC,CAACk2B,IAAI,IAAIl2B,CAAC,CAACk2B,IAAI,CAAChiC,MAAM,GAAG,EAAE,EAC/B,MAAM,IAAI0O,KAAK,CAAC,mCAAmC,CAAC;EACxD;EAAC,SACcm+B,EAAEA,CAAAj2B,GAAA;IAAA,OAAAq4B,GAAA,CAAAv9B,KAAA,OAAAvO,SAAA;EAAA;EAAA,SAAA8rC,IAAA;IAAAA,GAAA,GAAAj9B,uBAAA,cAAAvG,yBAAA,GAAA4E,IAAA,CAAjB,SAAAyG,SAAkBhL,CAAC;MAAA,IAAAS,CAAA,EAAAi+B,CAAA;MAAA,OAAA/+B,yBAAA,GAAAoB,IAAA,UAAAmK,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAApG,IAAA,GAAAoG,SAAA,CAAA5H,IAAA;UAAA;YACb9C,CAAC,GAAG,IAAI;YAAA,MACR,QAAQ,IAAIgI,MAAM;cAAA0C,SAAA,CAAA5H,IAAA;cAAA;YAAA;YAAA4H,SAAA,CAAApG,IAAA;YAAAoG,SAAA,CAAA5H,IAAA;YAAA,OAER6/B,EAAE,CAACpjC,CAAC,EAAEA,CAAC,CAACqjC,SAAS,CAAC;UAAA;YAA5B5iC,CAAC,GAAA0K,SAAA,CAAAlI,IAAA;YAAAkI,SAAA,CAAA5H,IAAA;YAAA;UAAA;YAAA4H,SAAA,CAAApG,IAAA;YAAAoG,SAAA,CAAAtD,EAAA,GAAAsD,SAAA;YAEDqyB,CAAC,CAAAryB,SAAA,CAAAtD,EAAE,CAAC;UAAC;YAAA,MAEH,CAACpH,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,CAAC,CAACy2B,MAAM,MAAM,KAAK,CAAC,IAAI,YAAY,IAAIl3B,CAAC;cAAAmL,SAAA,CAAA5H,IAAA;cAAA;YAAA;YAAA,OAAA4H,SAAA,CAAA/H,MAAA,WAC1D;cAAExO,IAAI,EAAEoL,CAAC;cAAEsjC,QAAQ,EAAE7iC;YAAE,CAAC;UAAA;YAAA,MAE/B,YAAY,IAAIT,CAAC;cAAAmL,SAAA,CAAA5H,IAAA;cAAA;YAAA;YAAA4H,SAAA,CAAA5H,IAAA;YAAA,OACHy0B,EAAE,CAACh4B,CAAC,CAACujC,UAAU,EAAEvjC,CAAC,CAACnM,GAAG,EAAEmM,CAAC,CAACqjC,SAAS,CAAC;UAAA;YAA9C3E,CAAC,GAAAvzB,SAAA,CAAAlI,IAAA;YAAAkI,SAAA,CAAAyrB,EAAA,GACQ52B,CAAC;YAAAmL,SAAA,CAAA5H,IAAA;YAAA,OAAkBm7B,CAAC,CAAC3H,OAAO;UAAA;YAAA5rB,SAAA,CAAAq4B,EAAA,GAAAr4B,SAAA,CAAAlI,IAAA;YAAA,OAAAkI,SAAA,CAAA/H,MAAA;cAAlCxO,IAAI,EAAAuW,SAAA,CAAAyrB,EAAA;cAAK0M,QAAQ,EAAAn4B,SAAA,CAAAq4B;YAAA;UAAA;YAAAr4B,SAAA,CAAAs4B,EAAA,GAGpBzjC,CAAC;YAAAmL,SAAA,CAAA5H,IAAA;YAAA,OACSszB,EAAE,CAAC72B,CAAC,CAACi2B,SAAS,EAAEj2B,CAAC,CAACk2B,IAAI,EAAEl2B,CAAC,CAACg2B,SAAS,EAAEh2B,CAAC,CAACqjC,SAAS,IAAI9gB,CAAC,CAAC,CAAC,CAAC,CAACwU,OAAO;UAAA;YAAA5rB,SAAA,CAAAu4B,EAAA,GAAAv4B,SAAA,CAAAlI,IAAA;YAAA,OAAAkI,SAAA,CAAA/H,MAAA;cADhFxO,IAAI,EAAAuW,SAAA,CAAAs4B,EAAA;cACJH,QAAQ,EAAAn4B,SAAA,CAAAu4B;YAAA;UAAA;UAAA;YAAA,OAAAv4B,SAAA,CAAAjG,IAAA;QAAA;MAAA,GAAA8F,QAAA;IAAA,CAEX;IAAA,OAAAm4B,GAAA,CAAAv9B,KAAA,OAAAvO,SAAA;EAAA;EAAA,SACc+rC,EAAEA,CAAA73B,GAAA;IAAA,OAAAo4B,GAAA,CAAA/9B,KAAA,OAAAvO,SAAA;EAAA;EAAA,SAAAssC,IAAA;IAAAA,GAAA,GAAAz9B,uBAAA,cAAAvG,yBAAA,GAAA4E,IAAA,CAAjB,SAAAoH,SAAkB3L,CAAC;MAAA,IAAAS,CAAA;QAAAi+B,CAAA;QAAAC,CAAA;QAAA78B,CAAA;QAAA88B,CAAA;QAAAvV,CAAA;QAAAua,IAAA;QAAAC,GAAA;QAAAC,EAAA;QAAAC,MAAA,GAAA1sC,SAAA;MAAA,OAAAsI,yBAAA,GAAAoB,IAAA,UAAA8K,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAA/G,IAAA,GAAA+G,SAAA,CAAAvI,IAAA;UAAA;YAAE9C,CAAC,GAAAsjC,MAAA,CAAA7vC,MAAA,QAAA6vC,MAAA,QAAA9vC,SAAA,GAAA8vC,MAAA,MAAG,OAAOlT,CAAC,CAAC,CAAC,IAAI,QAAQ,GAAGA,CAAC,CAAC,CAAC,GAAGtO,CAAC,CAAC,CAAC;YAAEmc,CAAC,GAAAqF,MAAA,CAAA7vC,MAAA,QAAA6vC,MAAA,QAAA9vC,SAAA,GAAA8vC,MAAA,MAAGnO,IAAI,CAACoO,IAAI,CAACzJ,EAAE,CAAC,CAAC,CAAC;YACxEoE,CAAC,GAAG,EAAE;YACZD,CAAC,GAAG9I,IAAI,CAAC4E,GAAG,CAAC,EAAE,EAAE5E,IAAI,CAAC4M,GAAG,CAAC,CAAC,EAAE9D,CAAC,CAAC,CAAC;YAChC,KAAS58B,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG48B,CAAC,EAAE58B,CAAC,EAAE,EACxB68B,CAAC,CAAC56B,IAAI,CAACkgC,kBAAkB,CAACvJ,EAAE,CAAC,CAAC,CAAC,CAAC;YAC5BkE,CAAC,GAAGhJ,IAAI,CAACoO,IAAI,CAACvjC,CAAC,GAAGi+B,CAAC,CAAC;YAAA5yB,SAAA,CAAAvI,IAAA;YAAA,OAAYqB,OAAO,CAACs/B,GAAG,CAACvF,CAAC,CAACzW,GAAG,CAAC,UAACpmB,CAAC,EAAE+8B,CAAC,EAAK;cAChE,IAAMJ,CAAC,GAAGI,CAAC,GAAGD,CAAC;cACf,OAAO,IAAIh6B,OAAO,CAAC,UAACm6B,EAAE,EAAK;gBACzBj9B,CAAC,CAAC9C,gBAAgB,CAAC,SAAS,EAAE,UAAC4jC,EAAE,EAAK;kBACpC,IAAIA,EAAE,CAAChuC,IAAI,EACT,SAAAuvC,GAAA,MAAAC,EAAA,GAAiBzF,CAAC,EAAAwF,GAAA,GAAAC,EAAA,CAAAlwC,MAAA,EAAAiwC,GAAA;oBAAb,IAAMtB,EAAE,GAAAuB,EAAA,CAAAD,GAAA;oBACXtB,EAAE,KAAK/gC,CAAC,IAAI+gC,EAAE,CAACwB,WAAW,CAAC;sBAAEhsC,IAAI,EAAE;oBAAQ,CAAC,CAAC;kBAAC;kBAClD0mC,EAAE,CAAC6D,EAAE,CAAChuC,IAAI,CAAC;gBACb,CAAC,CAAC,EAAEkN,CAAC,CAACuiC,WAAW,CAAC;kBAChBrB,OAAO,EAAEhjC,CAAC;kBACVwiC,GAAG,EAAE/D,CAAC,GAAGG,CAAC;kBACV0F,KAAK,EAAE7F,CAAC;kBACRpmC,IAAI,EAAE;gBACR,CAAC,CAAC;cACJ,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC;UAAA;YAfyBgxB,CAAC,GAAAvd,SAAA,CAAA7I,IAAA;YAgB7B,KAAA2gC,IAAA,MAAAC,GAAA,GAAgBlF,CAAC,EAAAiF,IAAA,GAAAC,GAAA,CAAA3vC,MAAA,EAAA0vC,IAAA;cAAN9hC,EAAC,GAAA+hC,GAAA,CAAAD,IAAA;cACV9hC,EAAC,CAACyiC,SAAS,CAAC,CAAC;YAAC;YAAA,OAAAz4B,SAAA,CAAA1I,MAAA,WACTimB,CAAC,CAACsL,IAAI,CAAC,UAAC7yB,CAAC;cAAA,OAAK,CAAC,CAACA,CAAC;YAAA,EAAC,IAAI,IAAI;UAAA;UAAA;YAAA,OAAAgK,SAAA,CAAA5G,IAAA;QAAA;MAAA,GAAAyG,QAAA;IAAA,CAClC;IAAA,OAAAg4B,GAAA,CAAA/9B,KAAA,OAAAvO,SAAA;EAAA;EAAA,SACcwmC,EAAEA,CAAA;IAAA,OAAA2G,GAAA,CAAA5+B,KAAA,OAAAvO,SAAA;EAAA;EAAA,SAAAmtC,IAAA;IAAAA,GAAA,GAAAt+B,uBAAA,cAAAvG,yBAAA,GAAA4E,IAAA,CAAjB,SAAA+H,SAAA;MAAA,IAAAtM,CAAA;MAAA,OAAAL,yBAAA,GAAAoB,IAAA,UAAAyL,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAA1H,IAAA,GAAA0H,SAAA,CAAAlJ,IAAA;UAAA;YAAA,IACOsV,CAAC,CAAC,CAAC;cAAApM,SAAA,CAAAlJ,IAAA;cAAA;YAAA;YACN09B,EAAE,CAAChI,CAAC,CAACC,KAAK,CAAC;YAAC,OAAAzsB,SAAA,CAAArJ,MAAA;UAAA;YAGRpD,CAAC,GAAG48B,EAAE,CAACjI,IAAI,CAAC,UAACl0B,CAAC;cAAA,OAAKA,CAAC,CAAC4D,WAAW,CAACq5B,UAAU,KAAK,aAAa;YAAA,EAAC;YAAA,MAChE,CAAC19B,CAAC,IAAI,EAAE,SAAS,IAAIA,CAAC,CAAC;cAAAyM,SAAA,CAAAlJ,IAAA;cAAA;YAAA;YACzB09B,EAAE,CAAChI,CAAC,CAACC,KAAK,CAAC,EAAEsE,CAAC,CAAC,iFAAiF,CAAC;YAAC,OAAA/wB,SAAA,CAAArJ,MAAA;UAAA;YAAA,MAGhG,SAAS,IAAIpD,CAAC,IAAI,OAAOA,CAAC,CAACsgC,OAAO,IAAI,UAAU;cAAA7zB,SAAA,CAAAlJ,IAAA;cAAA;YAAA;YAAA,OAAAkJ,SAAA,CAAArJ,MAAA,WAC3CpD,CAAC,CAACsgC,OAAO,CAAC,CAAC;UAAA;UAAA;YAAA,OAAA7zB,SAAA,CAAAvH,IAAA;QAAA;MAAA,GAAAoH,QAAA;IAAA,CACrB;IAAA,OAAAk4B,GAAA,CAAA5+B,KAAA,OAAAvO,SAAA;EAAA;EACD,SAAS+nC,EAAEA,CAACp/B,CAAC,EAAE;IACbA,CAAC,CAACujC,UAAU,KAAK,KAAK,CAAC,IAAI1qB,CAAC,CAAC7Y,CAAC,CAACujC,UAAU,CAAC,EAAEvjC,CAAC,CAACykC,IAAI,KAAK,KAAK,CAAC,KAAK3kC,CAAC,CAACE,CAAC,CAACykC,IAAI,CAAC,EAAE3kC,CAAC,CAAC,CAAC,KAAK,QAAQ,KAAK+Y,CAAC,CAAC,CAAC,GAAGglB,EAAE,CAAC,CAAC,GAAGC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE99B,CAAC,CAAC0kC,SAAS,KAAK,KAAK,CAAC,IAAIljC,CAAC,CAAC,CAAC,CAACxB,CAAC,CAAC0kC,SAAS,CAAC,EAAE1kC,CAAC,CAAC2kC,WAAW,KAAK,KAAK,CAAC,IAAIzkC,CAAC,CAACF,CAAC,CAAC2kC,WAAW,CAAC,EAAE3kC,CAAC,CAAC4kC,cAAc,KAAK,KAAK,CAAC,IAAIrjC,CAAC,CAACvB,CAAC,CAAC4kC,cAAc,CAAC,EAAE5kC,CAAC,CAAC6kC,KAAK,KAAK,KAAK,CAAC,IAAInjC,CAAC,CAAC1B,CAAC,CAAC6kC,KAAK,CAAC,EAAE7kC,CAAC,CAAC8kC,cAAc,KAAK,KAAK,CAAC,IAAI5iC,CAAC,CAAClC,CAAC,CAAC8kC,cAAc,CAAC,EAAE9kC,CAAC,CAAC+kC,QAAQ,KAAK,KAAK,CAAC,IAAInH,EAAE,CAAC59B,CAAC,CAAC+kC,QAAQ,CAAC,EAAE/kC,CAAC,CAACglC,MAAM,KAAK,KAAK,CAAC,KAAKrH,EAAE,CAAC39B,CAAC,CAACglC,MAAM,CAAC,EAAEzkC,CAAC,CAACP,CAAC,CAACglC,MAAM,CAAC,CAAC,EAAEhlC,CAAC,CAACi2B,SAAS,KAAK51B,CAAC,CAAC,OAAOL,CAAC,CAACi2B,SAAS,IAAI,QAAQ,GAAGj2B,CAAC,CAACi2B,SAAS,GAAGnhC,IAAI,CAACC,SAAS,CAACiL,CAAC,CAACi2B,SAAS,CAAC,CAAC,EAAEiN,EAAE,CAACntC,CAAC,CAAC0lC,EAAE,CAAC,CAAC,CAAC,EAAEz7B,CAAC,CAACilC,YAAY,KAAK,KAAK,CAAC,IAAI5wC,CAAC,CAAC2L,CAAC,CAACilC,YAAY,CAAC,EAAEjlC,CAAC,CAACklC,KAAK,KAAK,KAAK,CAAC,IAAIzjC,CAAC,CAAC,CAAC,CAACzB,CAAC,CAACklC,KAAK,CAAC,EAAEllC,CAAC,CAACmlC,UAAU,KAAK,KAAK,CAAC,IAAI/iB,CAAC,CAAC,CAAC,CAACpiB,CAAC,CAACmlC,UAAU,CAAC,EAAEnlC,CAAC,CAAColC,QAAQ,KAAK,KAAK,CAAC,IAAIjjB,CAAC,CAAC,CAAC,CAACniB,CAAC,CAAColC,QAAQ,CAAC,EAAEplC,CAAC,CAACqjC,SAAS,KAAK,KAAK,CAAC,IAAI9gB,CAAC,CAAC,CAACviB,CAAC,CAACqjC,SAAS,CAAC,EAAErjC,CAAC,CAACqlC,SAAS,KAAK,KAAK,CAAC,IAAI7iB,CAAC,CAAC,CAAC,CAACxiB,CAAC,CAACqlC,SAAS,CAAC,EAAErlC,CAAC,CAACsE,IAAI,KAAK,KAAK,CAAC,IAAIge,CAAC,CAACtiB,CAAC,CAACsE,IAAI,CAAC,EAAEtE,CAAC,CAACslC,eAAe,KAAK,KAAK,CAAC,IAAI9U,EAAE,CAAC,CAAC,CAACxwB,CAAC,CAACslC,eAAe,CAAC,EAAEtlC,CAAC,CAACulC,UAAU,KAAK,KAAK,CAAC,IAAI9U,CAAC,CAACluB,aAAA,CAAOvC,CAAC,CAACulC,UAAU,KAAI,QAAQ,GAAGvlC,CAAC,CAACulC,UAAU,GAAG,CAAC,CAACvlC,CAAC,CAACulC,UAAU,CAAC,EAAEvlC,CAAC,CAACwlC,OAAO,IAAI7U,CAAC,CAAC,OAAO3wB,CAAC,CAACwlC,OAAO,IAAI,QAAQ,GAAGxlC,CAAC,CAACwlC,OAAO,GAAG1wC,IAAI,CAACC,SAAS,CAACiL,CAAC,CAACwlC,OAAO,CAAC,CAAC,EAAExlC,CAAC,CAAC8Y,IAAI,KAAK,KAAK,CAAC,IAAI+X,CAAC,CAAC,OAAO7wB,CAAC,CAAC8Y,IAAI,IAAI,QAAQ,GAAG9Y,CAAC,CAAC8Y,IAAI,GAAG,CAAC,CAAC9Y,CAAC,CAAC8Y,IAAI,CAAC,EAAE9Y,CAAC,CAACm/B,SAAS,KAAK,KAAK,CAAC,IAAI7E,EAAE,CAACt6B,CAAC,CAACm/B,SAAS,CAAC,EAAEn/B,CAAC,CAACylC,OAAO,KAAK,KAAK,CAAC,IAAIlL,EAAE,CAAC,CAACv6B,CAAC,CAACylC,OAAO,CAAC,EAAEzlC,CAAC,CAAC0lC,SAAS,KAAK,KAAK,CAAC,IAAIhL,EAAE,CAAC16B,CAAC,CAAC0lC,SAAS,CAAC;EACzvC;EACA,SAASjF,EAAEA,CAAA,EAAG;IACZ,OAAO;MACLgE,IAAI,EAAE3kC,CAAC,CAAC,CAAC;MACT4kC,SAAS,EAAEljC,CAAC,CAAC,CAAC;MACdyjC,YAAY,EAAE5wC,CAAC,CAAC,CAAC;MACjB6wC,KAAK,EAAEzjC,CAAC,CAAC,CAAC;MACVojC,KAAK,EAAEnjC,CAAC,CAAC,CAAC;MACVsjC,MAAM,EAAEzkC,CAAC,CAAC,CAAC;MACXwkC,QAAQ,EAAE/iC,CAAC,CAAC,CAAC;MACb4iC,cAAc,EAAErjC,CAAC,CAAC,CAAC;MACnBujC,cAAc,EAAE5iC,CAAC,CAAC,CAAC;MACnBijC,UAAU,EAAE/iB,CAAC,CAAC,CAAC;MACfgjB,QAAQ,EAAEjjB,CAAC,CAAC,CAAC;MACb7d,IAAI,EAAEge,CAAC,CAAC,CAAC;MACT+gB,SAAS,EAAE9gB,CAAC,CAAC,CAAC;MACd8iB,SAAS,EAAE7iB,CAAC,CAAC,CAAC;MACd+gB,UAAU,EAAE1qB,CAAC,CAAC,CAAC;MACfysB,eAAe,EAAE9U,EAAE,CAAC,CAAC;MACrB+U,UAAU,EAAE9U,CAAC,CAAC,CAAC;MACf+U,OAAO,EAAEzvC,CAAC,CAAC6lC,CAAC,CAAC;MACb9iB,IAAI,EAAE+X,CAAC,CAAC,CAAC;MACTsO,SAAS,EAAE7E,EAAE,CAAC,CAAC;MACfmL,OAAO,EAAElL,EAAE,CAAC,CAAC;MACbmL,SAAS,EAAEhL,EAAE,CAAC;IAChB,CAAC;EACH;EACA,SAASiG,EAAEA,CAAA,EAAG;IACZ,OAAOlE,EAAE;EACX;EACA,SAASkJ,EAAEA,CAAC3lC,CAAC,EAAE;IACb,OAAO48B,EAAE,CAACjI,IAAI,CAAC,UAACl0B,CAAC;MAAA,OAAKA,CAAC,CAAC4D,WAAW,CAACq5B,UAAU,KAAK19B,CAAC;IAAA,EAAC;EACvD;EACA,SAAS6gC,EAAEA,CAAA,EAAG;IACZ,OAAO9qC,CAAC,CAACumC,CAAC,CAAC;EACb;EACA,SAASgC,EAAEA,CAAA,EAA6B;IAAA,IAA5Bt+B,CAAC,GAAA3I,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG4hC,CAAC,CAACI,UAAU;IAAA,IAAE54B,CAAC,GAAApJ,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,IAAI;IACpCslC,EAAE,KAAKS,YAAY,CAACT,EAAE,CAAC,EAAEA,EAAE,GAAG,IAAI,CAAC,EAAEhd,CAAC,CAAC0c,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE1c,CAAC,CAACkd,EAAE,EAAE,IAAI,CAAC,EAAEoE,EAAE,CAACjhC,CAAC,EAAES,CAAC,CAAC;EACvE;EACA,SAAS0gC,EAAEA,CAACnhC,CAAC,EAAE;IACby8B,EAAE,GAAGz8B,CAAC;EACR;EACA,SAASihC,EAAEA,CAACjhC,CAAC,EAAY;IAAA,IAAVS,CAAC,GAAApJ,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,IAAI;IACrBsoB,CAAC,CAAC2c,CAAC,EAAExa,EAAE,CAAC9hB,CAAC,CAAC,CAAC,EAAE2f,CAAC,CAAC+c,EAAE,EAAE5a,EAAE,CAACrhB,CAAC,CAAC,CAAC,EAAEq6B,EAAE,CAAC,aAAa,EAAE;MAC3CkI,OAAO,EAAEjtC,CAAC,CAAC8mC,EAAE,CAAC;MACd+I,KAAK,EAAE7vC,CAAC,CAACumC,CAAC;IACZ,CAAC,CAAC;EACJ;EAAC,SACcwB,EAAEA,CAAA;IAAA,OAAA+H,GAAA,CAAAjgC,KAAA,OAAAvO,SAAA;EAAA;EAAA,SAAAwuC,IAAA;IAAAA,GAAA,GAAA3/B,uBAAA,cAAAvG,yBAAA,GAAA4E,IAAA,CAAjB,SAAA0I,SAAA;MAAA,OAAAtN,yBAAA,GAAAoB,IAAA,UAAAoM,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAArI,IAAA,GAAAqI,SAAA,CAAA7J,IAAA;UAAA;YACS+6B,EAAE,CAACrF,CAAC,CAACG,SAAS,CAAC;YAAAhsB,SAAA,CAAA7J,IAAA;YAAA,OAAQ,IAAIqB,OAAO,CAAC,UAAC5E,CAAC;cAAA,OAAKyd,UAAU,CAACzd,CAAC,EAAE0B,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAAA,EAAC;UAAA;YAAA,OAAA0L,SAAA,CAAAhK,MAAA,WAAEm7B,EAAE,CAAC,CAAC,CAAC77B,IAAI,CAAC,UAAC1C,CAAC;cAAA,OAAMkjC,EAAE,CAACljC,CAAC,CAAC,EAAEw9B,CAAC,CAAC,WAAW,EAAEx9B,CAAC,CAAC,EAAE+gC,EAAE,CAAC/gC,CAAC,CAAC;YAAA,CAAC,CAAC,CAAC0C,IAAI,CAAC,UAAAojC,KAAA,EAA8B;cAAA,IAArB9lC,CAAC,GAAA8lC,KAAA,CAAPlxC,IAAI;gBAAe6L,CAAC,GAAAqlC,KAAA,CAAXxC,QAAQ;cACtJ,IAAI9F,CAAC,CAAC,UAAU,EAAE/8B,CAAC,CAAC,EAAE,WAAW,IAAIT,CAAC,IAAIS,CAAC,IAAI,EAAE,WAAW,IAAIA,CAAC,CAAC,EAChE,IAAI,CAACA,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,CAAC,CAACy2B,MAAM,MAAM,KAAK,CAAC,EAAE;gBAC9C,IAAIoD,EAAE,CAAC,CAAC,EACN,OAAOmI,EAAE,CAACzE,EAAE,CAACh+B,CAAC,EAAES,CAAC,CAAC,CAAC;gBACrBkf,CAAC,CAACkd,EAAE,EAAE/a,EAAE,CAACkc,EAAE,CAACh+B,CAAC,EAAES,CAAC,CAAC,CAAC,CAAC,EAAE+8B,CAAC,CAAC,SAAS,EAAEznC,CAAC,CAAC8mC,EAAE,CAAC,CAAC;cAC1C,CAAC,MACC,MAAMW,CAAC,CAAC,iHAAiH,CAAC,EAAE,IAAI56B,KAAK,CAAC,6BAA6B,CAAC;YAC1K,CAAC,CAAC,CAACF,IAAI,CAAC,YAAM;cACZu+B,EAAE,CAAChI,CAAC,CAACE,QAAQ,CAAC,EAAEqE,CAAC,CAAC,UAAU,CAAC,EAAE7W,EAAE,CAAC,CAAC,CAACjkB,IAAI,CAAC,YAAM;gBAC7Co4B,EAAE,CAAC,UAAU,EAAE;kBAAEkI,OAAO,EAAEjtC,CAAC,CAAC8mC,EAAE;gBAAE,CAAC,CAAC;cACpC,CAAC,CAAC;YACJ,CAAC,CAAC,SAAM,CAAC,UAAC78B,CAAC,EAAK;cACdw9B,CAAC,CAACx9B,CAAC,CAAC,EAAEihC,EAAE,CAAChI,CAAC,CAACC,KAAK,EAAEl5B,CAAC,CAACqP,OAAO,CAAC;YAC9B,CAAC,CAAC;UAAA;UAAA;YAAA,OAAAjC,SAAA,CAAAlI,IAAA;QAAA;MAAA,GAAA+H,QAAA;IAAA,CACH;IAAA,OAAA44B,GAAA,CAAAjgC,KAAA,OAAAvO,SAAA;EAAA;EACD,IAAI0uC,EAAE,GAAG9L,EAAE,CAAC,CAAC;IAAE+L,EAAE,GAAG/hB,EAAE,CAAC8hB,EAAE,CAAC;EAC1B9X,EAAE,CAAC+X,EAAE,EAAEnmC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;EACxB,IAAIomC,EAAE,GAAG9hB,EAAE,CAAC6hB,EAAE,EAAE,CAAC,CAAC;IAAEE,EAAE,GAAGniB,CAAC,CAACkiB,EAAE,CAAC;IAAEE,EAAE,GAAGpiB,CAAC,CAACmiB,EAAE,CAAC;EAC1C;IACE,IAAIE,EAAE,GAAG,SAALA,EAAEA,CAAIpmC,CAAC,EAAK;MACd,IAAIS,CAAC,GAAG84B,EAAE,CAAC,CAAC;MACZnN,EAAE,CAACpsB,CAAC,EAAES,CAAC,CAAC;IACV,CAAC;IACDitB,EAAE,CAACyY,EAAE,EAAE,UAACnmC,CAAC,EAAK;MACZjK,CAAC,CAACumC,CAAC,CAAC,KAAKrD,CAAC,CAACG,SAAS,IAAIp5B,CAAC,CAAComC,EAAE,CAAC;IAC/B,CAAC,CAAC;EACJ;EACA,IAAIC,EAAE,GAAGliB,EAAE,CAACgiB,EAAE,EAAE,CAAC,CAAC;EAClB,IAAIG,EAAE;EACN,IAAIC,EAAE,GAAGxiB,CAAC,CAACsiB,EAAE,CAAC;EACdnX,EAAE,CAACqX,EAAE,CAAC,EAAEA,EAAE,CAACC,QAAQ,GAAG/E,EAAE,EAAE9f,CAAC,CAAC0kB,EAAE,CAAC;EAC/B,IAAII,EAAE,GAAGtiB,EAAE,CAACkiB,EAAE,EAAE,CAAC,CAAC;IAAEK,EAAE,GAAG3iB,CAAC,CAAC0iB,EAAE,CAAC;EAC9B;IACE,IAAIE,EAAE,GAAG,SAALA,EAAEA,CAAI3mC,CAAC,EAAK;QACd,IAAIS,CAAC,GAAG+4B,EAAE,CAAC,CAAC;UAAEkF,CAAC,GAAGza,EAAE,CAACxjB,CAAC,CAAC;UAAEk+B,CAAC,GAAG5a,CAAC,CAAC2a,CAAC,CAAC;QACjC3Q,EAAE,CAAC4Q,CAAC,EAAE;UAAA,OAAM5oC,CAAC,CAAC6lC,CAAC,CAAC,CAACK,QAAQ;QAAA,EAAC,EAAEta,CAAC,CAAC+c,CAAC,CAAC;QAChC,IAAIE,CAAC,GAAGza,EAAE,CAACua,CAAC,EAAE,CAAC,CAAC;QAChBxP,EAAE,CAAC0P,CAAC,CAAC,EAAE3W,EAAE,CAAC,YAAM;UACdmH,EAAE,CAACwP,CAAC,EAAE,MAAM,EAAEtc,CAAC,CAAC,CAAC,CAAC,EAAE+M,EAAE,CAACuP,CAAC,EAAE7oC,CAAC,CAAC8mC,EAAE,CAAC,CAAC;QAClC,CAAC,CAAC,EAAEzQ,EAAE,CAACpsB,CAAC,EAAES,CAAC,CAAC;MACd,CAAC;MAAEmmC,EAAE,GAAG,SAALA,EAAEA,CAAI5mC,CAAC,EAAES,CAAC,EAAK;QAChB;UACE,IAAIi+B,CAAC,GAAG,SAAJA,CAACA,CAAIE,CAAC,EAAK;cACb,IAAIvV,CAAC,GAAGoQ,EAAE,CAAC,CAAC;gBAAE33B,CAAC,GAAGiiB,CAAC,CAACsF,CAAC,CAAC;cACtB0E,EAAE,CAACjsB,CAAC,EAAE;gBAAA,OAAM/L,CAAC,CAAC6lC,CAAC,CAAC,CAACM,SAAS;cAAA,EAAC,EAAEva,CAAC,CAAC0H,CAAC,CAAC,EAAE+C,EAAE,CAACwS,CAAC,EAAEvV,CAAC,CAAC;YAC7C,CAAC;YAAEsV,CAAC,GAAG,SAAJA,CAACA,CAAIC,CAAC,EAAK;cACZ,IAAIvV,CAAC,GAAGqQ,EAAE,CAAC,CAAC;gBAAE53B,CAAC,GAAGiiB,CAAC,CAACsF,CAAC,CAAC;cACtB0E,EAAE,CAACjsB,CAAC,EAAE;gBAAA,OAAM/L,CAAC,CAAC6lC,CAAC,CAAC,CAACI,KAAK;cAAA,EAAC,EAAEra,CAAC,CAAC0H,CAAC,CAAC,EAAEpB,EAAE,CAAC;gBAAA,OAAMmH,EAAE,CAAC/F,CAAC,EAAE,KAAK,EAAEtzB,CAAC,CAACqmC,EAAE,CAAC,CAAC;cAAA,EAAC,EAAEhQ,EAAE,CAACwS,CAAC,EAAEvV,CAAC,CAAC;YACxE,CAAC;UACDqE,EAAE,CACA1tB,CAAC,EACD,UAAC4+B,CAAC,EAAK;YACL7oC,CAAC,CAACumC,CAAC,CAAC,KAAKrD,CAAC,CAACG,SAAS,GAAGwF,CAAC,CAACF,CAAC,CAAC,GAAGE,CAAC,CAACD,CAAC,EAAE,CAAC,CAAC,CAAC;UACxC,CAAC,EACDl+B,CACF,CAAC;QACH;MACF,CAAC;IACDitB,EAAE,CAACgZ,EAAE,EAAE,UAAC1mC,CAAC,EAAK;MACZjK,CAAC,CAACumC,CAAC,CAAC,KAAKrD,CAAC,CAACE,QAAQ,GAAGn5B,CAAC,CAAC2mC,EAAE,CAAC,GAAG3mC,CAAC,CAAC4mC,EAAE,EAAE,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC;EACJ;EACAjlB,CAAC,CAAC8kB,EAAE,CAAC;EACL,IAAII,EAAE,GAAG1iB,EAAE,CAACsiB,EAAE,EAAE,CAAC,CAAC;EAClB;IACE,IAAIK,EAAE,GAAG,SAALA,EAAEA,CAAI9mC,CAAC,EAAK;MACd,IAAIS,CAAC,GAAGk5B,EAAE,CAAC,CAAC;QAAE+E,CAAC,GAAG3a,CAAC,CAACtjB,CAAC,CAAC;MACtB2uB,EAAE,CAACsP,CAAC,EAAE,MAAM,EAAE7D,EAAE,CAAC,EAAElZ,CAAC,CAAClhB,CAAC,CAAC,EAAEwnB,EAAE,CAAC;QAAA,OAAMmH,EAAE,CAACsP,CAAC,EAAE,YAAY,EAAE3oC,CAAC,CAAC6lC,CAAC,CAAC,CAACC,aAAa,CAAC;MAAA,EAAC,EAAEzP,EAAE,CAACpsB,CAAC,EAAES,CAAC,CAAC;IACtF,CAAC;IACDitB,EAAE,CAACmZ,EAAE,EAAE,UAAC7mC,CAAC,EAAK;MACZ,CAACmiB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAIpsB,CAAC,CAACulC,EAAE,CAAC,KAAKt7B,CAAC,CAAC8mC,EAAE,CAAC;IAChC,CAAC,CAAC;EACJ;EACAnlB,CAAC,CAACukB,EAAE,CAAC;EACL,IAAIa,EAAE,GAAG5iB,EAAE,CAAC+hB,EAAE,EAAE,CAAC,CAAC;EAClB;IACE,IAAIc,EAAE,GAAG,SAALA,EAAEA,CAAIhnC,CAAC,EAAK;MACd,IAAIS,CAAC,GAAGq5B,EAAE,CAAC,CAAC;QAAE4E,CAAC,GAAGva,EAAE,CAACJ,CAAC,CAACtjB,CAAC,CAAC,EAAE,CAAC,CAAC;MAC7B;QACE,IAAIk+B,CAAC,GAAG,SAAJA,CAACA,CAAItV,CAAC,EAAK;YACb,IAAIvnB,CAAC,GAAG83B,EAAE,CAAC,CAAC;cAAEiF,CAAC,GAAG9a,CAAC,CAACjiB,CAAC,CAAC;YACtBisB,EAAE,CAAC8Q,CAAC,EAAE;cAAA,OAAM9oC,CAAC,CAAC6lC,CAAC,CAAC,CAACE,OAAO;YAAA,EAAC,EAAEna,CAAC,CAAC7f,CAAC,CAAC,EAAEmmB,EAAE,CAAC;cAAA,OAAMmH,EAAE,CAACttB,CAAC,EAAE,OAAO,EAAE/L,CAAC,CAAC2mC,EAAE,CAAC,CAAC;YAAA,EAAC,EAAEtQ,EAAE,CAAC/C,CAAC,EAAEvnB,CAAC,CAAC;UAC5E,CAAC;UAAE88B,CAAC,GAAG,SAAJA,CAACA,CAAIvV,CAAC,EAAK;YACZ,IAAIvnB,CAAC,GAAG+3B,EAAE,CAAC,CAAC;cAAEgF,CAAC,GAAG9a,CAAC,CAACjiB,CAAC,CAAC;YACtBisB,EAAE,CAAC8Q,CAAC,EAAE;cAAA,OAAM9oC,CAAC,CAAC6lC,CAAC,CAAC,CAAC7zB,KAAK;YAAA,EAAC,EAAE4Z,CAAC,CAAC7f,CAAC,CAAC,EAAEmmB,EAAE,CAAC;cAAA,OAAMmH,EAAE,CAACttB,CAAC,EAAE,OAAO,EAAE/L,CAAC,CAAC2mC,EAAE,CAAC,CAAC;YAAA,EAAC,EAAEtQ,EAAE,CAAC/C,CAAC,EAAEvnB,CAAC,CAAC;UAC1E,CAAC;QACD4rB,EAAE,CAACgR,CAAC,EAAE,UAACrV,CAAC,EAAK;UACXtzB,CAAC,CAACumC,CAAC,CAAC,KAAKrD,CAAC,CAACK,OAAO,GAAGjQ,CAAC,CAACsV,CAAC,CAAC,GAAGtV,CAAC,CAACuV,CAAC,EAAE,CAAC,CAAC,CAAC;QACtC,CAAC,CAAC;MACJ;MACAjd,CAAC,CAAClhB,CAAC,CAAC,EAAE2rB,EAAE,CAACpsB,CAAC,EAAES,CAAC,CAAC;IAChB,CAAC;IACDitB,EAAE,CAACqZ,EAAE,EAAE,UAAC/mC,CAAC,EAAK;MACZ,CAACjK,CAAC,CAAC2mC,EAAE,CAAC,IAAI3mC,CAAC,CAACumC,CAAC,CAAC,KAAKrD,CAAC,CAACK,OAAO,KAAKt5B,CAAC,CAACgnC,EAAE,CAAC;IACxC,CAAC,CAAC;EACJ;EACA,IAAIC,EAAE,GAAG9iB,EAAE,CAAC4iB,EAAE,EAAE,CAAC,CAAC;EAClB;IACE,IAAIG,EAAE,GAAG,SAALA,EAAEA,CAAIlnC,CAAC,EAAK;MACd,IAAIS,CAAC,GAAGs5B,EAAE,CAAC,CAAC;QAAE2E,CAAC,GAAG3a,CAAC,CAACtjB,CAAC,CAAC;QAAEk+B,CAAC,GAAG5a,CAAC,CAAC2a,CAAC,CAAC;MAChC3Q,EAAE,CAAC4Q,CAAC,EAAE;QAAA,OAAM5oC,CAAC,CAAC6lC,CAAC,CAAC,CAACG,MAAM;MAAA,EAAC,EAAEpa,CAAC,CAAC+c,CAAC,CAAC,EAAE/c,CAAC,CAAClhB,CAAC,CAAC,EAAE2rB,EAAE,CAACpsB,CAAC,EAAES,CAAC,CAAC;IAChD,CAAC;IACDitB,EAAE,CAACuZ,EAAE,EAAE,UAACjnC,CAAC,EAAK;MACZjK,CAAC,CAAC6lC,CAAC,CAAC,CAACG,MAAM,KAAK3Z,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAIrsB,CAAC,CAACulC,EAAE,CAAC,CAAC,IAAIt7B,CAAC,CAACknC,EAAE,CAAC;IAC/C,CAAC,CAAC;EACJ;EACA,IAAIC,EAAE,GAAGhjB,EAAE,CAAC8iB,EAAE,EAAE,CAAC,CAAC;EAClB;IACE,IAAIG,EAAE,GAAG,SAALA,EAAEA,CAAIpnC,CAAC,EAAK;MACd,IAAIS,CAAC,GAAGu5B,EAAE,CAAC,CAAC;MACZjK,EAAE,CAACtvB,CAAC,EAAE,UAACi+B,CAAC;QAAA,OAAK/e,CAAC,CAAC6c,EAAE,EAAEkC,CAAC,CAAC;MAAA,GAAE;QAAA,OAAM3oC,CAAC,CAACymC,EAAE,CAAC;MAAA,EAAC,EAAEpQ,EAAE,CAACpsB,CAAC,EAAES,CAAC,CAAC;IAC/C,CAAC;IACDitB,EAAE,CAACyZ,EAAE,EAAE,UAACnnC,CAAC,EAAK;MACZgC,CAAC,CAAC,CAAC,IAAIhC,CAAC,CAAConC,EAAE,CAAC;IACd,CAAC,CAAC;EACJ;EACA,OAAOzlB,CAAC,CAACskB,EAAE,CAAC,EAAElW,EAAE,CAACkW,EAAE,EAAE,UAACjmC,CAAC;IAAA,OAAK2f,CAAC,CAAC4c,CAAC,EAAEv8B,CAAC,CAAC;EAAA,GAAE;IAAA,OAAMjK,CAAC,CAACwmC,CAAC,CAAC;EAAA,EAAC,EAAEtU,EAAE,CAClD,UAACjoB,CAAC,EAAK;IACLovB,EAAE,CAAC6W,EAAE,EAAE,YAAY,EAAElwC,CAAC,CAACumC,CAAC,CAAC,CAAC,EAAElN,EAAE,CAAC6W,EAAE,EAAE,eAAe,EAAEjkC,CAAC,CAAC,CAAC,CAAC,EAAEskC,EAAE,GAAG1X,EAAE,CAACyX,EAAE,EAAE,CAAC,EAAE,+BAA+B,EAAE,IAAI,EAAEC,EAAE,EAAEtmC,CAAC,CAAC,EAAEovB,EAAE,CAACmX,EAAE,EAAE,IAAI,EAAExwC,CAAC,CAACqmC,EAAE,CAAC,CAAC,EAAEmK,EAAE,CAACc,QAAQ,GAAGvnC,CAAC,CAAC,CAAC,KAAK,UAAU,KAAK,CAACkC,CAAC,CAAC,CAAC,IAAIlC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC;EAC1M,CAAC,EACD,CACE;IAAA,OAAO;MACL,eAAe,EAAE/J,CAAC,CAACumC,CAAC,CAAC,KAAKrD,CAAC,CAACG;IAC9B,CAAC;EAAA,CAAC,CAEN,CAAC,EAAE3O,EAAE,CAAC,SAAS,EAAE8b,EAAE,EAAEtE,EAAE,CAAC,EAAErS,EAAE,CAAC2W,EAAE,EAAE;IAAA,OAAMxwC,CAAC,CAACsmC,EAAE,CAAC;EAAA,GAAE,UAACr8B,CAAC;IAAA,OAAK2f,CAAC,CAAC0c,EAAE,EAAEr8B,CAAC,CAAC;EAAA,EAAC,EAAEosB,EAAE,CAACxsB,CAAC,EAAEmmC,EAAE,CAAC,EAAEzc,EAAE,CAAC;IAC5EgX,OAAO,EAAEzC,EAAE;IACXyJ,SAAS,EAAElI,EAAE;IACboB,gBAAgB,EAAEC,EAAE;IACpBC,iBAAiB,EAAEC,EAAE;IACrB4G,SAAS,EAAE5B,EAAE;IACb/E,QAAQ,EAAEC,EAAE;IACZ38B,KAAK,EAAEo6B,EAAE;IACT4C,iBAAiB,EAAEC,EAAE;IACrBH,QAAQ,EAAEC,EAAE;IACZG,MAAM,EAAEtD,EAAE;IACV,IAAI2G,IAAIA,CAAA,EAAG;MACT,OAAO3kC,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,IAAI2kC,IAAIA,CAACzkC,CAAC,EAAW;MAAA,IAAZA,CAAC;QAADA,CAAC,GAAG,KAAK,CAAC;MAAA;MACjBF,CAAC,CAACE,CAAC,CAAC,EAAE0mB,CAAC,CAAC,CAAC;IACX,CAAC;IACD,IAAIge,SAASA,CAAA,EAAG;MACd,OAAOljC,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,IAAIkjC,SAASA,CAAC1kC,CAAC,EAAW;MAAA,IAAZA,CAAC;QAADA,CAAC,GAAG,KAAK,CAAC;MAAA;MACtBwB,CAAC,CAACxB,CAAC,CAAC,EAAE0mB,CAAC,CAAC,CAAC;IACX,CAAC;IACD,IAAIue,YAAYA,CAAA,EAAG;MACjB,OAAO5wC,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,IAAI4wC,YAAYA,CAACjlC,CAAC,EAAW;MAAA,IAAZA,CAAC;QAADA,CAAC,GAAG,KAAK,CAAC;MAAA;MACzB3L,CAAC,CAAC2L,CAAC,CAAC,EAAE0mB,CAAC,CAAC,CAAC;IACX,CAAC;IACD,IAAI8gB,aAAaA,CAAA,EAAG;MAClB,OAAOnnC,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,IAAImnC,aAAaA,CAACxnC,CAAC,EAAW;MAAA,IAAZA,CAAC;QAADA,CAAC,GAAG,KAAK,CAAC;MAAA;MAC1BK,CAAC,CAACL,CAAC,CAAC,EAAE0mB,CAAC,CAAC,CAAC;IACX,CAAC;IACD,IAAIie,WAAWA,CAAA,EAAG;MAChB,OAAOzkC,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,IAAIykC,WAAWA,CAAC3kC,CAAC,EAAW;MAAA,IAAZA,CAAC;QAADA,CAAC,GAAG,KAAK,CAAC;MAAA;MACxBE,CAAC,CAACF,CAAC,CAAC,EAAE0mB,CAAC,CAAC,CAAC;IACX,CAAC;IACD,IAAIwe,KAAKA,CAAA,EAAG;MACV,OAAOzjC,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,IAAIyjC,KAAKA,CAACllC,CAAC,EAAO;MAAA,IAARA,CAAC;QAADA,CAAC,GAAG,CAAC,CAAC;MAAA;MACdyB,CAAC,CAACzB,CAAC,CAAC,EAAE0mB,CAAC,CAAC,CAAC;IACX,CAAC;IACD,IAAIme,KAAKA,CAAA,EAAG;MACV,OAAOnjC,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,IAAImjC,KAAKA,CAAC7kC,CAAC,EAAM;MAAA,IAAPA,CAAC;QAADA,CAAC,GAAG,CAAC;MAAA;MACb0B,CAAC,CAAC1B,CAAC,CAAC,EAAE0mB,CAAC,CAAC,CAAC;IACX,CAAC;IACD,IAAIse,MAAMA,CAAA,EAAG;MACX,OAAOzkC,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,IAAIykC,MAAMA,CAAChlC,CAAC,EAAW;MAAA,IAAZA,CAAC;QAADA,CAAC,GAAG,KAAK,CAAC;MAAA;MACnBO,CAAC,CAACP,CAAC,CAAC,EAAE0mB,CAAC,CAAC,CAAC;IACX,CAAC;IACD,IAAIqe,QAAQA,CAAA,EAAG;MACb,OAAO/iC,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,IAAI+iC,QAAQA,CAAC/kC,CAAC,EAAW;MAAA,IAAZA,CAAC;QAADA,CAAC,GAAG,KAAK,CAAC;MAAA;MACrBgC,CAAC,CAAChC,CAAC,CAAC,EAAE0mB,CAAC,CAAC,CAAC;IACX,CAAC;IACD,IAAIke,cAAcA,CAAA,EAAG;MACnB,OAAOrjC,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,IAAIqjC,cAAcA,CAAC5kC,CAAC,EAAW;MAAA,IAAZA,CAAC;QAADA,CAAC,GAAG,KAAK,CAAC;MAAA;MAC3BuB,CAAC,CAACvB,CAAC,CAAC,EAAE0mB,CAAC,CAAC,CAAC;IACX,CAAC;IACD,IAAIoe,cAAcA,CAAA,EAAG;MACnB,OAAO5iC,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,IAAI4iC,cAAcA,CAAC9kC,CAAC,EAAW;MAAA,IAAZA,CAAC;QAADA,CAAC,GAAG,KAAK,CAAC;MAAA;MAC3BkC,CAAC,CAAClC,CAAC,CAAC,EAAE0mB,CAAC,CAAC,CAAC;IACX,CAAC;IACD,IAAIye,UAAUA,CAAA,EAAG;MACf,OAAO/iB,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,IAAI+iB,UAAUA,CAACnlC,CAAC,EAAO;MAAA,IAARA,CAAC;QAADA,CAAC,GAAG,CAAC,CAAC;MAAA;MACnBoiB,CAAC,CAACpiB,CAAC,CAAC,EAAE0mB,CAAC,CAAC,CAAC;IACX,CAAC;IACD,IAAI0e,QAAQA,CAAA,EAAG;MACb,OAAOjjB,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,IAAIijB,QAAQA,CAACplC,CAAC,EAAO;MAAA,IAARA,CAAC;QAADA,CAAC,GAAG,CAAC,CAAC;MAAA;MACjBmiB,CAAC,CAACniB,CAAC,CAAC,EAAE0mB,CAAC,CAAC,CAAC;IACX,CAAC;IACD,IAAI8H,EAAEA,CAAA,EAAG;MACP,OAAOnM,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,IAAImM,EAAEA,CAACxuB,CAAC,EAAW;MAAA,IAAZA,CAAC;QAADA,CAAC,GAAG,KAAK,CAAC;MAAA;MACfqiB,CAAC,CAACriB,CAAC,CAAC,EAAE0mB,CAAC,CAAC,CAAC;IACX,CAAC;IACD,IAAIpiB,IAAIA,CAAA,EAAG;MACT,OAAOge,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,IAAIhe,IAAIA,CAACtE,CAAC,EAAa;MAAA,IAAdA,CAAC;QAADA,CAAC,GAAG,QAAQ;MAAA;MACnBsiB,CAAC,CAACtiB,CAAC,CAAC,EAAE0mB,CAAC,CAAC,CAAC;IACX,CAAC;IACD,IAAI2c,SAASA,CAAA,EAAG;MACd,OAAO9gB,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,IAAI8gB,SAASA,CAACrjC,CAAC,EAAQ;MAAA,IAATA,CAAC;QAADA,CAAC,GAAG,GAAG;MAAA;MACnBuiB,CAAC,CAACviB,CAAC,CAAC,EAAE0mB,CAAC,CAAC,CAAC;IACX,CAAC;IACD,IAAI2e,SAASA,CAAA,EAAG;MACd,OAAO7iB,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,IAAI6iB,SAASA,CAACrlC,CAAC,EAAO;MAAA,IAARA,CAAC;QAADA,CAAC,GAAG,CAAC,CAAC;MAAA;MAClBwiB,CAAC,CAACxiB,CAAC,CAAC,EAAE0mB,CAAC,CAAC,CAAC;IACX,CAAC;IACD,IAAI6c,UAAUA,CAAA,EAAG;MACf,OAAO1qB,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,IAAI0qB,UAAUA,CAACvjC,CAAC,EAAW;MAAA,IAAZA,CAAC;QAADA,CAAC,GAAG,KAAK,CAAC;MAAA;MACvB6Y,CAAC,CAAC7Y,CAAC,CAAC,EAAE0mB,CAAC,CAAC,CAAC;IACX,CAAC;IACD,IAAI+gB,OAAOA,CAAA,EAAG;MACZ,OAAO7W,EAAE,CAAC,CAAC;IACb,CAAC;IACD,IAAI6W,OAAOA,CAACznC,CAAC,EAAW;MAAA,IAAZA,CAAC;QAADA,CAAC,GAAG,KAAK,CAAC;MAAA;MACpB4wB,EAAE,CAAC5wB,CAAC,CAAC,EAAE0mB,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,IAAI4e,eAAeA,CAAA,EAAG;MACpB,OAAO9U,EAAE,CAAC,CAAC;IACb,CAAC;IACD,IAAI8U,eAAeA,CAACtlC,CAAC,EAAO;MAAA,IAARA,CAAC;QAADA,CAAC,GAAG,CAAC,CAAC;MAAA;MACxBwwB,EAAE,CAACxwB,CAAC,CAAC,EAAE0mB,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,IAAI6e,UAAUA,CAAA,EAAG;MACf,OAAO9U,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,IAAI8U,UAAUA,CAACvlC,CAAC,EAAO;MAAA,IAARA,CAAC;QAADA,CAAC,GAAG,CAAC,CAAC;MAAA;MACnBywB,CAAC,CAACzwB,CAAC,CAAC,EAAE0mB,CAAC,CAAC,CAAC;IACX,CAAC;IACD,IAAI8e,OAAOA,CAAA,EAAG;MACZ,OAAO7U,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,IAAI6U,OAAOA,CAACxlC,CAAC,EAAW;MAAA,IAAZA,CAAC;QAADA,CAAC,GAAG,KAAK,CAAC;MAAA;MACpB2wB,CAAC,CAAC3wB,CAAC,CAAC,EAAE0mB,CAAC,CAAC,CAAC;IACX,CAAC;IACD,IAAI5N,IAAIA,CAAA,EAAG;MACT,OAAO+X,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,IAAI/X,IAAIA,CAAC9Y,CAAC,EAAO;MAAA,IAARA,CAAC;QAADA,CAAC,GAAG,CAAC,CAAC;MAAA;MACb6wB,CAAC,CAAC7wB,CAAC,CAAC,EAAE0mB,CAAC,CAAC,CAAC;IACX,CAAC;IACD,IAAIyY,SAASA,CAAA,EAAG;MACd,OAAO7E,EAAE,CAAC,CAAC;IACb,CAAC;IACD,IAAI6E,SAASA,CAACn/B,CAAC,EAAW;MAAA,IAAZA,CAAC;QAADA,CAAC,GAAG,KAAK,CAAC;MAAA;MACtBs6B,EAAE,CAACt6B,CAAC,CAAC,EAAE0mB,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,IAAI+e,OAAOA,CAAA,EAAG;MACZ,OAAOlL,EAAE,CAAC,CAAC;IACb,CAAC;IACD,IAAIkL,OAAOA,CAACzlC,CAAC,EAAqD;MAAA,IAAtDA,CAAC;QAADA,CAAC,GAAG41B,IAAI,CAAC4E,GAAG,CAAC,EAAE,EAAEnnB,SAAS,CAAConB,mBAAmB,IAAI,CAAC,CAAC;MAAA;MAC9DF,EAAE,CAACv6B,CAAC,CAAC,EAAE0mB,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,IAAIgf,SAASA,CAAA,EAAG;MACd,OAAOhL,EAAE,CAAC,CAAC;IACb,CAAC;IACD,IAAIgL,SAASA,CAAC1lC,CAAC,EAAW;MAAA,IAAZA,CAAC;QAADA,CAAC,GAAG,KAAK,CAAC;MAAA;MACtB06B,EAAE,CAAC16B,CAAC,CAAC,EAAE0mB,CAAC,CAAC,CAAC;IACZ;EACF,CAAC,CAAC;AACJ;AACAkE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;AACd8c,cAAc,CAAC/mC,MAAM,CAAC,eAAe,EAAEo0B,EAAE,CACvCoF,EAAE,EACF;EACEuK,SAAS,EAAE;IAAErsC,IAAI,EAAE;EAAU,CAAC;EAC9B6sC,KAAK,EAAE;IAAE7sC,IAAI,EAAE;EAAU,CAAC;EAC1BwsC,KAAK,EAAE;IAAExsC,IAAI,EAAE;EAAS,CAAC;EACzB2sC,MAAM,EAAE;IAAE3sC,IAAI,EAAE;EAAS,CAAC;EAC1BysC,cAAc,EAAE;IAAEzsC,IAAI,EAAE;EAAS,CAAC;EAClC8sC,UAAU,EAAE;IAAE9sC,IAAI,EAAE;EAAU,CAAC;EAC/B+sC,QAAQ,EAAE;IAAE/sC,IAAI,EAAE;EAAU,CAAC;EAC7BgrC,SAAS,EAAE;IAAEhrC,IAAI,EAAE;EAAS,CAAC;EAC7BgtC,SAAS,EAAE;IAAEhtC,IAAI,EAAE;EAAU,CAAC;EAC9BitC,eAAe,EAAE;IAAEjtC,IAAI,EAAE;EAAU,CAAC;EACpCygB,IAAI,EAAE;IAAEzgB,IAAI,EAAE;EAAU,CAAC;EACzBotC,OAAO,EAAE;IAAEptC,IAAI,EAAE;EAAS,CAAC;EAC3BosC,IAAI,EAAE,CAAC,CAAC;EACRQ,YAAY,EAAE,CAAC,CAAC;EAChBuC,aAAa,EAAE,CAAC,CAAC;EACjB7C,WAAW,EAAE,CAAC,CAAC;EACfI,QAAQ,EAAE,CAAC,CAAC;EACZH,cAAc,EAAE,CAAC,CAAC;EAClBpW,EAAE,EAAE,CAAC,CAAC;EACNlqB,IAAI,EAAE,CAAC,CAAC;EACRi/B,UAAU,EAAE,CAAC,CAAC;EACdkE,OAAO,EAAE,CAAC,CAAC;EACXlC,UAAU,EAAE,CAAC,CAAC;EACdC,OAAO,EAAE,CAAC,CAAC;EACXrG,SAAS,EAAE,CAAC,CAAC;EACbuG,SAAS,EAAE,CAAC;AACd,CAAC,EACD,CAAC,SAAS,CAAC,EACX,CACE,SAAS,EACT,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,WAAW,EACX,UAAU,EACV,OAAO,EACP,mBAAmB,EACnB,UAAU,EACV,QAAQ,CACT,EACD,CAAC,CACH,CAAC,CAAC;AACFzG,UAAU,CAACgF,kBAAkB,GAAG,UAACrkC,CAAC;EAAA,OAAKA,CAAC,GAAG,IAAIoa,MAAM,CAAC,IAAIH,GAAG,CAACja,CAAC,CAAC,CAAC,GAAG,IAAIga,EAAE,CAAC,CAAC;AAAA;AAC5EqlB,UAAU,CAACmB,aAAa,GAAGnB,UAAU,CAACmB,aAAa,IAAI,EAAE;;;;;;;;;;;;;;;;;ACxkFzD;AACkC;AAClC;AACgD;AAAA,IAE3BwH,WAAW,0BAAA1xB,SAAA;EAG5B,SAAA0xB,YAAYl3B,MAAM,EAAE;IAAA/c,sBAAA,OAAAi0C,WAAA;IAAA,OAAAzxB,iBAAA,OAAAyxB,WAAA,GACVl3B,MAAM;EAChB;EAAC0F,gBAAA,CAAAwxB,WAAA,EAAA1xB,SAAA;EAAA,OAAAtiB,mBAAA,CAAAg0C,WAAA;IAAA/zC,GAAA;IAAAC,KAAA,EAED,SAAA+c,UAAUA,CAAA,EAAG;MACT,IAAI,CAACC,gBAAgB,CAAC,CAAC;MACvB,IAAI,CAAC+2B,+BAA+B,CAAC,CAAC;IAC1C;EAAC;IAAAh0C,GAAA;IAAAC,KAAA,EAED,SAAA+zC,+BAA+BA,CAAA,EAAG;MAC9B,IAAMl1B,MAAM,GAAGnd,QAAQ,CAACuE,aAAa,CAAC,2BAA2B,CAAC;MAClE4Y,MAAM,CAACtX,SAAS,CAACE,GAAG,CAACO,UAAU,CAAC;MAChC6W,MAAM,CAACtX,SAAS,CAACE,GAAG,CAACusC,iBAAiB,CAAC;IAC3C;EAAC;AAAA,EAhBoCr3B,QAAQ;AAAArT,sBAAA,CAA5BwqC,WAAW,UACd90B,eAAe;;;;;;;;;;;;;;;;;ACNjC;AACkC;AAClC;AACgD;AAAA,IAE3Bi1B,kBAAkB,0BAAA7xB,SAAA;EAGnC,SAAA6xB,mBAAYr3B,MAAM,EAAE;IAAA/c,8BAAA,OAAAo0C,kBAAA;IAAA,OAAA5xB,yBAAA,OAAA4xB,kBAAA,GACVr3B,MAAM;EAChB;EAAC0F,wBAAA,CAAA2xB,kBAAA,EAAA7xB,SAAA;EAAA,OAAAtiB,2BAAA,CAAAm0C,kBAAA;IAAAl0C,GAAA;IAAAC,KAAA,EAED,SAAA+c,UAAUA,CAAA,EAAG;MACT,IAAI,CAACC,gBAAgB,CAAC,CAAC;IAC3B;EAAC;AAAA,EAT2CL,QAAQ;AAAArT,8BAAA,CAAnC2qC,kBAAkB,UACrBC,sBAAsB;;;;;;;;;;;;;;;;;;;;ACLN;AAAA,IAEbC,WAAW,0BAAA/xB,SAAA;EAG5B,SAAA+xB,YAAYv3B,MAAM,EAAE;IAAA/c,uBAAA,OAAAs0C,WAAA;IAAA,OAAA9xB,cAAA,OAAA8xB,WAAA,GACVv3B,MAAM;EAChB;EAAC0F,aAAA,CAAA6xB,WAAA,EAAA/xB,SAAA;EAAA,OAAAtiB,oBAAA,CAAAq0C,WAAA;IAAAp0C,GAAA;IAAAC,KAAA,EAED,SAAA+c,UAAUA,CAAA,EAAG;MACT,IAAI,CAACC,gBAAgB,CAAC,CAAC;MACvB,IAAI,CAACo3B,aAAa,CAAC,CAAC;IACxB;EAAC;IAAAr0C,GAAA;IAAAC,KAAA,EACD,SAAAo0C,aAAaA,CAAA,EAAG,CAEhB;EAAC;IAAAr0C,GAAA;IAAAC,KAAA,EAED,SAAAwf,KAAKA,CAAA,EAAG;MACJ+C,iBAAA,CAAA4xB,WAAA;IACJ;EAAC;AAAA,EAjBoCx3B,QAAQ;AAAArT,uBAAA,CAA5B6qC,WAAW,UACdv0B,eAAe;;;;;;;;;;;;ACHD;AAAA,IAEXnD,eAAe;EAAA,SAAAA,gBAAA;IAAA5c,+BAAA,OAAA4c,eAAA;EAAA;EAAA,OAAA3c,4BAAA,CAAA2c,eAAA;IAAA1c,GAAA;IAAAC,KAAA,EAChC,SAAOq0C,kCAAkCA,CAACC,UAAU,EAAEC,OAAO,EAAEC,QAAQ,EAAwB;MAAA,IAAtBC,aAAa,GAAAlxC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,IAAI;MACzF,OAAO;QACHyG,IAAI,EAAEsqC,UAAU,CAACC,OAAO,CAAC;QACzBv0C,KAAK,EAAEs0C,UAAU,CAACE,QAAQ,CAAC;QAC3BrqC,QAAQ,EAAGmqC,UAAU,CAACE,QAAQ,CAAC,IAAIC;MACvC,CAAC;IACL;EAAC;IAAA10C,GAAA;IAAAC,KAAA,EACD,SAAO00C,2BAA2BA,CAACJ,UAAU,EAAwB;MAAA,IAAtBG,aAAa,GAAAlxC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,IAAI;MAC/D,IAAIgxC,OAAO,GAAGD,UAAU,CAAC9qC,sBAAsB,CAAC;MAChD,IAAIgrC,QAAQ,GAAGF,UAAU,CAAC5qC,uBAAuB,CAAC;MAClD;MACA,OAAO+S,eAAe,CAAC43B,kCAAkC,CAACC,UAAU,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,aAAa,CAAC;IAC3G;EAAC;IAAA10C,GAAA;IAAAC,KAAA,EACD,SAAO20C,aAAaA,CAACL,UAAU,EAAE;MAC7B,OAAOA,UAAU,IAAI,IAAI,GAAG,EAAE,GAAGA,UAAU,CAACA,UAAU,CAAC9qC,sBAAsB,CAAC,CAAC;IACnF;EAAC;IAAAzJ,GAAA;IAAAC,KAAA,EACD,SAAO40C,8BAA8BA,CAACC,MAAM,EAAEC,KAAK,EAAE;MACjD,IAAIC,WAAW,GAAG,EAAE;MACpB,IAAIC,GAAG,GAAGF,KAAK,CAACvN,KAAK,CAAC,GAAG,CAAC;MAAC,IAAA5Y,SAAA,GAAA9J,0CAAA,CACZmwB,GAAG;QAAApmB,KAAA;MAAA;QAAlB,KAAAD,SAAA,CAAA/gB,CAAA,MAAAghB,KAAA,GAAAD,SAAA,CAAAziB,CAAA,IAAA6C,IAAA,GAAoB;UAAA,IAAX2rB,EAAE,GAAA9L,KAAA,CAAA5uB,KAAA;UACP+0C,WAAW,CAAC9kC,IAAI,CAAC4kC,MAAM,CAACna,EAAE,CAAC,CAAC;QAChC;MAAC,SAAA5L,GAAA;QAAAH,SAAA,CAAA7iB,CAAA,CAAAgjB,GAAA;MAAA;QAAAH,SAAA,CAAAhhB,CAAA;MAAA;MACD,OAAOonC,WAAW;IACtB;EAAC;AAAA;;;;;;;;;AC1BuC;AAAA,IAEvBr4B,YAAY;EAAA,SAAAA,aAAA;IAAA7c,4BAAA,OAAA6c,YAAA;EAAA;EAAA,OAAA5c,yBAAA,CAAA4c,YAAA;IAAA3c,GAAA;IAAAC,KAAA,EAC7B,SAAO4b,MAAMA,CAAA,EAAG;MACZnR,MAAM,CAACC,sBAAsB,CAACuW,cAAc,GAAG,UAAU,GAAGlF,UAAU,EAAE9Q,eAAe,EAAE,UAAC+Q,YAAY,EAAK;QACvGA,YAAY,CAAC9Q,gBAAgB,CAAC,OAAO,EAAE,YAAM;UACzC,IAAI+Q,OAAO,GAAGva,QAAQ,CAACuE,aAAa,CAACgb,cAAc,CAAC;UACpDhF,OAAO,CAACC,KAAK,CAACC,UAAU,GAAG,QAAQ;QACvC,CAAC,CAAC;MACN,CAAC,CAAC;IACN;EAAC;IAAApc,GAAA;IAAAC,KAAA,EACD,SAAOuc,IAAIA,CAAC04B,QAAQ,EAAE;MAClB,IAAIh5B,OAAO,GAAGva,QAAQ,CAACuE,aAAa,CAACgb,cAAc,CAAC;MACpD,IAAIi0B,UAAU,GAAGj5B,OAAO,CAAChW,aAAa,CAACkvC,YAAY,CAAC;MACpDD,UAAU,CAAC1qC,SAAS,GAAGyqC,QAAQ;MAC/Bh5B,OAAO,CAACC,KAAK,CAACC,UAAU,GAAG,SAAS;IACxC;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;AChBqE;AACpC;AACa;AACL;AACb;AACL;AACA;AACQ;AAE2C;AACJ;AAAA,IAEtDi5B,aAAa,0BAAAhzB,SAAA;EAC9B;EACA;EACA;;EAEA,SAAAgzB,cAAYx4B,MAAM,EAAE;IAAA,IAAAgC,KAAA;IAAA/e,yBAAA,OAAAu1C,aAAA;IAChBx2B,KAAA,GAAAyD,oBAAA,OAAA+yB,aAAA,GAAMx4B,MAAM;IACZgC,KAAA,CAAKy2B,cAAc,GAAG,IAAI;IAC1Bz2B,KAAA,CAAK02B,UAAU,GAAG,IAAI;IACtB12B,KAAA,CAAK22B,WAAW,GAAG,IAAI;IACvB32B,KAAA,CAAK42B,SAAS,GAAG,IAAI;IACrB52B,KAAA,CAAK62B,UAAU,GAAG,IAAI;IAEtB72B,KAAA,CAAK82B,mBAAmB,GAAG92B,KAAA,CAAK82B,mBAAmB,CAACzyB,IAAI,CAAArE,KAAK,CAAC;IAAC,OAAAA,KAAA;EACnE;EAAC0D,mBAAA,CAAA8yB,aAAA,EAAAhzB,SAAA;EAAA,OAAAtiB,sBAAA,CAAAs1C,aAAA;IAAAr1C,GAAA;IAAAC,KAAA,EAED,SAAA+c,UAAUA,CAAA,EAAqB;MAAA,IAApB44B,UAAU,GAAApyC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,KAAK;MACzB,MAAM,IAAIuL,KAAK,CAAC,qCAAqC,CAAC;IAC1D;EAAC;IAAA/O,GAAA;IAAAC,KAAA,EACD,SAAAgd,gBAAgBA,CAAA,EAA8C;MAAA,IAAAqC,MAAA;MAAA,IAA7Cs2B,UAAU,GAAApyC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,KAAK;MAAA,IAAEqyC,eAAe,GAAAryC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,KAAK;MACxD,IAAI,CAACoyC,UAAU,EAAE;QACbpzB,uBAAA,CAAA6yB,aAAA;QACA,IAAI,CAACS,aAAa,CAAC,CAAC;QACpB,IAAI,CAACC,uBAAuB,CAAC,CAAC;QAC9B,IAAI,CAACC,eAAe,CAAC,CAAC;QACtBp6B,cAAc,CAACC,MAAM,CAAC,YAAM;UACxB,IAAIg6B,eAAe,EAAE;YACjBv2B,MAAI,CAAC22B,kCAAkC,CAAC,CAAC;UAC7C,CAAC,MACI;YACD32B,MAAI,CAAC42B,qBAAqB,CAAC,CAAC;UAChC;QACJ,CAAC,CAAC;MACN,CAAC,MAAM;QACH,IAAIv0B,QAAQ,GAAG,IAAI,CAACC,mBAAmB,CAAC,CAAC;QACzC,IAAIu0B,OAAO,GAAGx0B,QAAQ,CAAC5L,eAAe,CAAC;QACvC,IAAIL,WAAW,GAAG2/B,aAAa,CAACe,cAAc,CAAC,CAAC;QAChD,IAAIC,cAAc,GAAGzyC,GAAG,CAAC2B,gBAAgB,CAACmQ,WAAW,CAAC;QACtD,IAAI,CAAC7V,UAAU,CAACuC,aAAa,CAAC+zC,OAAO,EAAEE,cAAc,CAAC,EAAE;UACpD,IAAI,CAACC,sBAAsB,CAAC,CAAC;QACjC;MACJ;IACJ;EAAC;IAAAt2C,GAAA;IAAAC,KAAA,EACD,SAAA61C,aAAaA,CAAA,EAAG;MACZ,IAAI,IAAI,CAACtlC,WAAW,KAAK6kC,aAAa,EAAE;QACpC,MAAM,IAAItmC,KAAK,CAAC,kEAAkE,CAAC;MACvF;IACJ;EAAC;IAAA/O,GAAA;IAAAC,KAAA,EACD,SAAAs2C,mBAAmBA,CAAA,EAAG;MAClB,IAAI,CAACC,wBAAwB,CAAC,CAAC;MAC/B,IAAI,CAACC,sBAAsB,CAAC,CAAC;IACjC;EAAC;IAAAz2C,GAAA;IAAAC,KAAA,EACD,SAAAy2C,kBAAkBA,CAAA,EAAG;MAAA,IAAA51B,MAAA;MACjB,IAAI61B,cAAc,GAAGC,aAAa,GAAG,IAAI,GAAGC,cAAc;MAC1D,IAAIC,eAAe,GAAGn1C,QAAQ,CAACuE,aAAa,CAACywC,cAAc,CAAC;MAC5DG,eAAe,CAAC9b,eAAe,CAAC,IAAI,CAAC;MACrC,IAAI+b,SAAS,GAAGD,eAAe,CAACzxC,aAAa;MAC7C,IAAI2xC,SAAS,GAAIpzC,GAAG,CAAC0E,gCAAgC,CAACyuC,SAAS,CAAC,IAAI,MAAO;MAC3E,IAAIE,eAAe,GAAGt1C,QAAQ,CAACuE,aAAa,CAAC0wC,aAAa,GAAG,OAAO,GAAGC,cAAc,GAAG,GAAG,GAAGlxC,kBAAkB,GAAG,OAAO,GAAGkxC,cAAc,CAAC;MAC5II,eAAe,CAAChzC,YAAY,CAAC,IAAI,EAAE4yC,cAAc,CAAC;MAClD,IAAIG,SAAS,EAAEC,eAAe,CAACzvC,SAAS,CAACE,GAAG,CAACW,aAAa,CAAC;MAE3DqC,MAAM,CAACM,kBAAkB,CAAC,OAAO,EAAE2rC,cAAc,EAAE,UAACvrC,KAAK,EAAE8rC,YAAY,EAAK;QACxEvzC,WAAK,CAAC4X,oCAAoC,CAAC;UAAE27B,YAAY,EAAZA;QAAa,CAAC,CAAC;QAC5DvzC,WAAK,CAAC4X,oCAAoC,CAAAhS,yBAAA,KAAI2tC,YAAY,CAAC5yC,OAAO,EAAG4yC,YAAY,CAAC5yC,OAAO,CAAE,CAAC;QAC5F,IAAI6yC,UAAU,GAAID,YAAY,CAAC5yC,OAAO,CAACC,WAAW,CAAC,CAAC,IAAI,KAAK,GAAI2yC,YAAY,GAAGA,YAAY,CAAC7xC,aAAa;QAC1G,IAAI+xC,UAAU,GAAGD,UAAU,CAAC3vC,SAAS,CAACC,QAAQ,CAACY,aAAa,CAAC;QAC7D,IAAI+uC,UAAU,EAAE;UACZD,UAAU,CAAC3vC,SAAS,CAACG,MAAM,CAACU,aAAa,CAAC;QAC9C,CAAC,MACI;UACD8uC,UAAU,CAAC3vC,SAAS,CAACE,GAAG,CAACW,aAAa,CAAC;QAC3C;QACA,OAAOyY,MAAI,CAACu2B,kBAAkB,CAACjsC,KAAK,EAAE8rC,YAAY,CAAC;MACvD,CAAC,CAAC;MACF,IAAIlxC,MAAM,GAAGrE,QAAQ,CAACuE,aAAa,CAACywC,cAAc,CAAC;MACnD,IAAIW,mBAAmB,GAAG1zC,GAAG,CAACgB,sBAAsB,CAACoB,MAAM,CAAC;MAC5DA,MAAM,CAAC/B,YAAY,CAACC,gBAAgB,EAAEozC,mBAAmB,CAAC;MAC1DtxC,MAAM,CAAC/B,YAAY,CAACE,iBAAiB,EAAEmzC,mBAAmB,CAAC;IAC/D;EAAC;IAAAt3C,GAAA;IAAAC,KAAA,EACD,SAAAs3C,YAAYA,CAACC,UAAU,EAAmF;MAAA,IAAAl2B,MAAA;MAAA,IAAjFm2B,OAAO,GAAAj0C,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,UAAC4H,KAAK,EAAEpF,MAAM,EAAK;QAAE,OAAOsb,MAAI,CAAC+1B,kBAAkB,CAACjsC,KAAK,EAAEpF,MAAM,CAAC;MAAE,CAAC;MACpG,IAAI2wC,cAAc,GAAGC,aAAa,GAAG,IAAI,GAAGY,UAAU;MACtD9sC,MAAM,CAACM,kBAAkB,CAAC,QAAQ,EAAE2rC,cAAc,EAAEc,OAAO,CAAC;MAC5D,IAAIzxC,MAAM,GAAGrE,QAAQ,CAACuE,aAAa,CAACywC,cAAc,CAAC;MACnD,IAAIW,mBAAmB,GAAG1zC,GAAG,CAACgB,sBAAsB,CAACoB,MAAM,CAAC;MAC5DA,MAAM,CAAC/B,YAAY,CAACC,gBAAgB,EAAEozC,mBAAmB,CAAC;MAC1DtxC,MAAM,CAAC/B,YAAY,CAACE,iBAAiB,EAAEmzC,mBAAmB,CAAC;IAC/D;EAAC;IAAAt3C,GAAA;IAAAC,KAAA,EACD,SAAAo3C,kBAAkBA,CAACjsC,KAAK,EAAEpF,MAAM,EAAE;MAC9B,IAAIkc,aAAa,GAAGte,GAAG,CAACmD,4BAA4B,CAACf,MAAM,CAAC;MAC5D,IAAI0P,WAAW,GAAG2/B,aAAa,CAACe,cAAc,CAAC,CAAC;MAChD,IAAIsB,eAAe,GAAGx1B,aAAa,IAAIte,GAAG,CAACgE,yBAAyB,CAAC8N,WAAW,CAAC;MACjF,IAAIiiC,KAAK,GAAGh2C,QAAQ,CAACuE,aAAa,CAACic,WAAW,GAAG,QAAQ,CAAC;MAC1D,IAAIy1B,IAAI,GAAGD,KAAK,CAAC/1C,gBAAgB,CAAC,aAAa,CAAC;MAChDg2C,IAAI,CAAC7sC,OAAO,CAAC,UAAC8sC,GAAG,EAAK;QAClB,IAAIH,eAAe,IAAI,CAACG,GAAG,CAACrwC,SAAS,CAACC,QAAQ,CAACgV,eAAe,CAAC,EAAEo7B,GAAG,CAACrwC,SAAS,CAACE,GAAG,CAAC+U,eAAe,CAAC;QACnG,IAAI,CAACi7B,eAAe,IAAIG,GAAG,CAACrwC,SAAS,CAACC,QAAQ,CAACgV,eAAe,CAAC,EAAE;UAC7Do7B,GAAG,CAACrwC,SAAS,CAACG,MAAM,CAAC8U,eAAe,CAAC;UACrC,IAAIq7B,WAAW,GAAGD,GAAG,CAACj2C,gBAAgB,CAAC,QAAQ,GAAGwF,SAAS,CAAC;UAC5D0wC,WAAW,CAAC/sC,OAAO,CAAC,UAACgtC,UAAU,EAAK;YAChCA,UAAU,CAAC93C,KAAK,GAAG2D,GAAG,CAACuE,+BAA+B,CAAC4vC,UAAU,CAAC;UACtE,CAAC,CAAC;QACN;MACJ,CAAC,CAAC;MACF,IAAIL,eAAe,EAAE;QACjB;AACZ;AACA;AACA;AACA;QACYC,KAAK,CAAClxC,SAAS,GAAG,wDAAwD,GAAGkxC,KAAK,CAAClxC,SAAS;QAC5F,IAAI,CAACkxC,KAAK,CAACnwC,SAAS,CAACC,QAAQ,CAACgV,eAAe,CAAC,EAAEk7B,KAAK,CAACnwC,SAAS,CAACE,GAAG,CAAC+U,eAAe,CAAC;MACxF,CAAC,MACI;QACD,IAAIu7B,YAAY,GAAGL,KAAK,CAACzxC,aAAa,CAAC,cAAc,CAAC;QACtD,IAAI8xC,YAAY,IAAI,IAAI,EAAEA,YAAY,CAACrwC,MAAM,CAAC,CAAC;QAC/C,IAAIgwC,KAAK,CAACnwC,SAAS,CAACC,QAAQ,CAACgV,eAAe,CAAC,EAAEk7B,KAAK,CAACnwC,SAAS,CAACG,MAAM,CAAC8U,eAAe,CAAC;QACtF,IAAIw7B,mBAAmB,GAAGN,KAAK,CAAC/1C,gBAAgB,CAAC,GAAG,GAAGsJ,eAAe,CAAC;QACvE+sC,mBAAmB,CAACltC,OAAO,CAAC,UAACmtC,kBAAkB,EAAK;UAChDA,kBAAkB,CAAC1wC,SAAS,CAACG,MAAM,CAACuD,eAAe,CAAC;QACxD,CAAC,CAAC;QACF,IAAI,CAAC8qC,eAAe,CAAC,CAAC;MAC1B;MACA,IAAI,CAACmC,oCAAoC,CAAC,CAAC;IAC/C;EAAC;IAAAn4C,GAAA;IAAAC,KAAA,EACD,SAAAm4C,sBAAsBA,CAAA,EAAG;MACrB,IAAI,CAACb,YAAY,CAACc,cAAc,CAAC;IACrC;EAAC;IAAAr4C,GAAA;IAAAC,KAAA,EACD,SAAAu2C,wBAAwBA,CAAA,EAAG;MAAA,IAAAvX,MAAA;MACvBv0B,MAAM,CAACM,kBAAkB,CAAC,OAAO,EAAEstC,oBAAoB,EAAE,UAACltC,KAAK,EAAE0T,MAAM,EAAK;QACxE1T,KAAK,CAACC,eAAe,CAAC,CAAC;QACvB4zB,MAAI,CAACqX,sBAAsB,CAAC,CAAC;MACjC,CAAC,CAAC;IACN;EAAC;IAAAt2C,GAAA;IAAAC,KAAA,EACD,SAAAw2C,sBAAsBA,CAAA,EAAG;MACrB,IAAI,CAACc,YAAY,CAACgB,UAAU,CAAC;IACjC;EAAC;IAAAv4C,GAAA;IAAAC,KAAA,EACD,SAAAu4C,eAAeA,CAAA,EAAG;MACd,IAAI,CAACjB,YAAY,CAACkB,SAAS,CAAC;IAChC;EAAC;IAAAz4C,GAAA;IAAAC,KAAA,EACD,SAAAy4C,2BAA2BA,CAAA,EAAG;MAAA,IAAA9X,MAAA;MAC1B,IAAI,CAAC2W,YAAY,CAACoB,qBAAqB,EAAE,UAACvtC,KAAK,EAAEwtC,qBAAqB,EAAK;QACvEhY,MAAI,CAACyW,kBAAkB,CAAC,CAAC;QACzB,IAAIn1B,aAAa,GAAG02B,qBAAqB,CAACpxC,SAAS,CAACC,QAAQ,CAACL,SAAS,CAAC;QACvE,IAAIyxC,iBAAiB,GAAGj1C,GAAG,CAACgB,sBAAsB,CAACg0C,qBAAqB,CAAC;QACzE3kC,OAAO,CAAC0H,GAAG,CAAC,0BAA0B,CAAC;QACvC1H,OAAO,CAAC0H,GAAG,CAAChY,WAAK,CAACyX,eAAe,CAAC09B,cAAc,CAAC,CAAC;QAClD,IAAIC,kBAAkB,GAAGp1C,WAAK,CAACyX,eAAe,CAAC09B,cAAc,CAAC,CAAC9yC,MAAM,CAAC,UAAAgzC,OAAO;UAAA,OAAIA,OAAO,CAACL,qBAAqB,CAAC,IAAIE,iBAAiB;QAAA,EAAC;QACrI,IAAII,cAAc,GAAGF,kBAAkB,CAACG,IAAI,CAAC,UAAC1sC,CAAC,EAAEs+B,CAAC;UAAA,OAAKt+B,CAAC,CAAC9C,QAAQ,CAAC,CAACyvC,aAAa,CAACrO,CAAC,CAACphC,QAAQ,CAAC,CAAC;QAAA,EAAC;QAC9F,IAAI0vC,aAAa,GAAGz3C,QAAQ,CAACuE,aAAa,CAAC0wC,aAAa,GAAG,IAAI,GAAGhgC,WAAW,CAAC;QAC9E,IAAIyiC,iBAAiB,GAAGz1C,GAAG,CAAC0E,gCAAgC,CAAC8wC,aAAa,CAAC;QAC3EA,aAAa,CAAC3yC,SAAS,GAAG,EAAE;QAC5B,IAAIuD,UAAU,EAAEE,MAAM;QACtBA,MAAM,GAAGtG,GAAG,CAACmG,YAAY,CAAC,IAAI,CAAC;QAC/BqvC,aAAa,CAACjpB,WAAW,CAACjmB,MAAM,CAAC;QACjC+uC,cAAc,CAACluC,OAAO,CAAC,UAACiuC,OAAO,EAAK;UAChChvC,UAAU,GAAG0S,eAAe,CAACi4B,2BAA2B,CAACqE,OAAO,EAAEK,iBAAiB,CAAC;UACpFnvC,MAAM,GAAGtG,GAAG,CAACmG,YAAY,CAACC,UAAU,CAAC;UACrCovC,aAAa,CAACjpB,WAAW,CAACjmB,MAAM,CAAC;QACrC,CAAC,CAAC;QACFkvC,aAAa,CAAClS,aAAa,CAAC,IAAIoS,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChD,OAAOp3B,aAAa;MACxB,CAAC,CAAC;IACN;EAAC;IAAAliB,GAAA;IAAAC,KAAA,EACD,SAAAs5C,mBAAmBA,CAAA,EAAG;MAClB,IAAI,CAAChC,YAAY,CAACiC,aAAa,CAAC;IACpC;EAAC;IAAAx5C,GAAA;IAAAC,KAAA,EACD,SAAAw5C,oBAAoBA,CAAA,EAAG;MACnB,IAAI,CAAClC,YAAY,CAACmC,cAAc,CAAC;IACrC;IACA;AACJ;AACA;AACA;AACA;AACA;EALI;IAAA15C,GAAA;IAAAC,KAAA,EASA,SAAAq2C,sBAAsBA,CAAA,EAAG;MACrB,IAAI5gC,WAAW,GAAG2/B,aAAa,CAACe,cAAc,CAAC,CAAC;MAChD,IAAIz7B,WAAW,GAAG/W,GAAG,CAAC2B,gBAAgB,CAACmQ,WAAW,CAAC;MACnD/R,WAAK,CAAC4X,oCAAoC,CAAC,wBAAwB,CAAC;MACpE5X,WAAK,CAAC4X,oCAAoC,CAAC,aAAa,CAAC;MACzD5X,WAAK,CAAC4X,oCAAoC,CAAC7F,WAAW,CAAC;MACvD/R,WAAK,CAAC4X,oCAAoC,CAAC,aAAa,CAAC;MACzD5X,WAAK,CAAC4X,oCAAoC,CAACZ,WAAW,CAAC;MACvD,IAAI,CAAC8E,KAAK,CAAC,CAAC;MACZ5M,GAAG,CAACkC,QAAQ,CAAC,IAAI,CAACvE,WAAW,CAAC6D,IAAI,EAAEsG,WAAW,CAAC;IACpD;EAAC;IAAA3a,GAAA;IAAAC,KAAA,EACD,SAAA05C,wBAAwBA,CAACtmC,QAAQ,EAAE;MAC/B,IAAIumC,KAAK,GAAGvE,aAAa,CAACwE,YAAY,CAAC,CAAC;MACxC,IAAIC,SAAS,GAAGF,KAAK,CAAC1zC,aAAa,CAAC,OAAO,CAAC;MAC5C4zC,SAAS,CAACl4C,gBAAgB,CAAC,IAAI,CAAC,CAACmJ,OAAO,CAAC,UAAS8sC,GAAG,EAAE;QAAEA,GAAG,CAAClwC,MAAM,CAAC,CAAC;MAAE,CAAC,CAAC;MACzE,IAAIoyC,QAAQ,GAAG1mC,QAAQ,CAACtS,IAAI,CAACi5C,QAAQ,CAAC;MACtC,IAAI,CAACn6C,UAAU,CAACK,OAAO,CAAC65C,QAAQ,CAAC,IAAIA,QAAQ,CAACE,KAAK,CAAC,UAAApC,GAAG;QAAA,OAAIA,GAAG,CAACzrC,cAAc,CAAC,eAAe,CAAC;MAAA,EAAC,EAAE;QAC7F2tC,QAAQ,GAAGA,QAAQ,CAACb,IAAI,CAAC,UAAC1sC,CAAC,EAAEs+B,CAAC;UAAA,OAAKt+B,CAAC,CAAC0tC,aAAa,GAAGpP,CAAC,CAACoP,aAAa;QAAA,EAAC;MACzE;MACAH,QAAQ,CAAChvC,OAAO,CAAC,IAAI,CAACovC,YAAY,CAACj3B,IAAI,CAAC,IAAI,CAAC,CAAC;MAC9C,IAAI,CAAC8yB,eAAe,CAAC,CAAC;IAC1B;EAAC;IAAAh2C,GAAA;IAAAC,KAAA,EAID,SAAAk6C,YAAYA,CAACC,OAAO,EAAE;MAClB,MAAM,IAAIrrC,KAAK,CAAC,iEAAiE,CAAC;IACtF;EAAC;IAAA/O,GAAA;IAAAC,KAAA,EACD,SAAAo6C,2CAA2CA,CAAA,EAAG;MAAA,IAAAxZ,MAAA;MAC1C,IAAI,CAACyV,sBAAsB,CAAC,CAAC,CACxBznC,IAAI,CAAC,UAAA9N,IAAI,EAAI;QACV4C,WAAK,CAAC4X,oCAAoC,CAAC,sBAAsB,EAAExa,IAAI,CAAC;QACxE8/B,MAAI,CAAC8Y,wBAAwB,CAAC54C,IAAI,CAAC;MACvC,CAAC,CAAC,SACI,CAAC,UAAAmT,KAAK;QAAA,OAAID,OAAO,CAACC,KAAK,CAAC,QAAQ,EAAEA,KAAK,CAAC;MAAA,EAAC;IACvD;EAAC;IAAAlU,GAAA;IAAAC,KAAA,EACD,SAAA81C,uBAAuBA,CAAA,EAAG;MACtB,IAAI,CAAC10B,gBAAgB,CAAC,CAAC;MACvB,IAAI,CAACi5B,kBAAkB,CAAC,CAAC;MACzB,IAAI,CAACz4B,2BAA2B,CAAC,KAAK,CAAC;IAC3C;EAAC;IAAA7hB,GAAA;IAAAC,KAAA,EACD,SAAAi2C,qBAAqBA,CAAA,EAAG;MAAA,IAAA9U,MAAA;MACpB,IAAImZ,OAAO,GAAG,IAAI,CAACC,eAAe,CAAC,IAAI,CAAC;MACxC,IAAID,OAAO,CAACl6C,MAAM,IAAI,CAAC,EAAE;QACrBsc,YAAY,CAACH,IAAI,CAAC,oBAAoB,CAAC;QACvC;MACJ;MACA,IAAIi+B,WAAW,GAAGpF,aAAa,CAACe,cAAc,CAAC,CAAC;MAChD,IAAIzgC,OAAO,GAAG/R,GAAG,CAACgB,sBAAsB,CAACjD,QAAQ,CAACuE,aAAa,CAACw0C,iBAAiB,CAAC,CAAC;MACnF;AACR;AACA;AACA;AACA;AACA;MACQ,IAAI,CAACC,oBAAoB,CAACJ,OAAO,EAAEE,WAAW,EAAE9kC,OAAO,CAAC,CACnD9G,IAAI,CAAC,UAAA9N,IAAI,EAAI;QACV,IAAIA,IAAI,CAAC65C,UAAU,CAAC,IAAIC,WAAW,EAAE;UACjC,IAAIC,QAAQ,EAAE;YACVn3C,WAAK,CAAC4X,oCAAoC,CAAC,gBAAgB,CAAC;YAC5D5X,WAAK,CAAC4X,oCAAoC,CAAC,gBAAgB,EAAExa,IAAI,CAAC;UACtE;UACAqgC,MAAI,CAACkV,sBAAsB,CAAC,CAAC;QACjC,CAAC,MACI;UACD3yC,WAAK,CAAC4X,oCAAoC,CAAC,SAAS,EAAExa,IAAI,CAACg6C,WAAW,CAAC,CAAC;UACxEp+B,YAAY,CAACH,IAAI,CAACzb,IAAI,CAACg6C,WAAW,CAAC,CAAC;QACxC;MACJ,CAAC,CAAC,SACI,CAAC,UAAA7mC,KAAK;QAAA,OAAID,OAAO,CAACC,KAAK,CAAC,QAAQ,EAAEA,KAAK,CAAC;MAAA,EAAC;IACvD;EAAC;IAAAlU,GAAA;IAAAC,KAAA,EACD,SAAAu6C,eAAeA,CAAA,EAAoB;MAAA,IAAAQ,MAAA;MAAA,IAAnBC,SAAS,GAAAz3C,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,KAAK;MAC7B,IAAI+2C,OAAO,GAAG,EAAE;MAChB,IAAIW,MAAM;MACVv5C,QAAQ,CAACC,gBAAgB,CAACugB,WAAW,GAAG,eAAe,CAAC,CAACpX,OAAO,CAAC,UAAC8sC,GAAG,EAAK;QACtE,IAAIoD,SAAS,IAAI,CAACr3C,GAAG,CAACgE,yBAAyB,CAACiwC,GAAG,CAAC,EAAE;QACtDqD,MAAM,GAAGF,MAAI,CAACG,UAAU,CAACtD,GAAG,CAAC;QAC7B0C,OAAO,CAACrqC,IAAI,CAACgrC,MAAM,CAAC;MACxB,CAAC,CAAC;MACF,OAAOX,OAAO;IAClB;EAAC;IAAAv6C,GAAA;IAAAC,KAAA,EACD,SAAAk7C,UAAUA,CAACtD,GAAG,EAAE;MACZ,MAAM,IAAI9oC,KAAK,CAAC,+DAA+D,CAAC;IACpF;EAAC;IAAA/O,GAAA;IAAAC,KAAA,EACD,SAAAg2C,kCAAkCA,CAAA,EAAG;MAAA,IAAAmF,OAAA;MACjC,IAAIb,OAAO,GAAG,IAAI,CAACC,eAAe,CAAC,IAAI,CAAC;MACxC,IAAID,OAAO,CAACl6C,MAAM,IAAI,CAAC,EAAE;QACrBsc,YAAY,CAACH,IAAI,CAAC,oBAAoB,CAAC;QACvC;MACJ;MACA,IAAIi+B,WAAW,GAAGpF,aAAa,CAACe,cAAc,CAAC,CAAC;MAChD,IAAIzgC,OAAO,GAAG/R,GAAG,CAACgB,sBAAsB,CAACjD,QAAQ,CAACuE,aAAa,CAACw0C,iBAAiB,CAAC,CAAC;MACnF,IAAI,CAACC,oBAAoB,CAACJ,OAAO,EAAEE,WAAW,EAAE9kC,OAAO,CAAC,CACnD9G,IAAI,CAAC,UAAA9N,IAAI,EAAI;QACV,IAAIA,IAAI,CAAC65C,UAAU,CAAC,IAAIC,WAAW,EAAE;UACjC,IAAIC,QAAQ,EAAE;YACVn3C,WAAK,CAAC4X,oCAAoC,CAAC,gBAAgB,CAAC;YAC5D5X,WAAK,CAAC4X,oCAAoC,CAAC,gBAAgB,EAAExa,IAAI,CAAC;UACtE;UACAq6C,OAAI,CAACzB,wBAAwB,CAAC54C,IAAI,CAAC;QACvC,CAAC,MACI;UACD4C,WAAK,CAAC4X,oCAAoC,CAAC,SAAS,EAAExa,IAAI,CAACg6C,WAAW,CAAC,CAAC;UACxEp+B,YAAY,CAACH,IAAI,CAACzb,IAAI,CAACg6C,WAAW,CAAC,CAAC;QACxC;MACJ,CAAC,CAAC,SACI,CAAC,UAAA7mC,KAAK;QAAA,OAAID,OAAO,CAACC,KAAK,CAAC,QAAQ,EAAEA,KAAK,CAAC;MAAA,EAAC;IACvD;EAAC;IAAAlU,GAAA;IAAAC,KAAA,EACD,SAAAq6C,kBAAkBA,CAAA,EAAG;MAAA,IAAAe,OAAA;MACjB3wC,MAAM,CAACC,sBAAsB,CAAC,GAAG,GAAG4W,aAAa,GAAG,GAAG,GAAGC,QAAQ,GAAG,GAAG,GAAGxF,UAAU,GAAG,UAAU,GAAGA,UAAU,EAAE9Q,eAAe,EAAE,UAAC4T,MAAM,EAAK;QAC1IA,MAAM,CAAC3T,gBAAgB,CAAC,OAAO,EAAE,UAACC,KAAK,EAAK;UACxCA,KAAK,CAACC,eAAe,CAAC,CAAC;UACvByT,MAAM,GAAG1T,KAAK,CAACqW,MAAM;UACrB,IAAI3C,MAAM,CAACtX,SAAS,CAACC,QAAQ,CAACgV,eAAe,CAAC,EAAE;UAChD4+B,OAAI,CAAC/E,sBAAsB,CAAC,CAAC;QACjC,CAAC,CAAC;QACFx3B,MAAM,CAACtX,SAAS,CAACE,GAAG,CAAC+U,eAAe,CAAC;MACzC,CAAC,CAAC;IACN;EAAC;IAAAzc,GAAA;IAAAC,KAAA,EACD,SAAAq7C,sBAAsBA,CAAClwC,KAAK,EAAE0T,MAAM,EAAE;MAClC1T,KAAK,CAACC,eAAe,CAAC,CAAC;MACvBkwC,SAAS,CAACt3C,YAAY,CAAC,IAAI,CAACuM,WAAW,CAACgrC,eAAe,EAAE,CAAC,CAAC,GAAGD,SAAS,CAACp1C,YAAY,CAAC,IAAI,CAACqK,WAAW,CAACgrC,eAAe,CAAC,CAAC;MACvH,IAAI7D,KAAK,GAAGh2C,QAAQ,CAACuE,aAAa,CAACic,WAAW,GAAG,QAAQ,CAAC;MAC1D,IAAIw1B,KAAK,CAACnwC,SAAS,CAACC,QAAQ,CAACgV,eAAe,CAAC,EAAE;MAC/C,IAAIo7B,GAAG,GAAG0D,SAAS,CAACnjB,SAAS,CAAC,IAAI,CAAC;MACnCyf,GAAG,CAACrwC,SAAS,CAACG,MAAM,CAACuD,eAAe,CAAC;MACrC2sC,GAAG,CAACj2C,gBAAgB,CAAC,GAAG,GAAGsJ,eAAe,CAAC,CAACH,OAAO,CAAC,UAASjH,OAAO,EAAE;QAClEA,OAAO,CAAC0D,SAAS,CAACG,MAAM,CAACuD,eAAe,CAAC;MAC7C,CAAC,CAAC;MACF,IAAIuwC,SAAS,GAAG95C,QAAQ,CAACC,gBAAgB,CAACugB,WAAW,GAAG,eAAe,CAAC,CAAC9hB,MAAM;MAC/Ew3C,GAAG,CAAC5zC,YAAY,CAAC,IAAI,CAACuM,WAAW,CAACgrC,eAAe,EAAE,CAAC,CAAC,GAAGC,SAAS,CAAC;MAClE,IAAI,CAACC,gBAAgB,CAAC/D,KAAK,EAAEE,GAAG,CAAC;MACjCF,KAAK,CAACgE,OAAO,CAAC9D,GAAG,CAAC;MAClBF,KAAK,CAACnvC,SAAS,GAAG,CAAC;MACnB,IAAI,CAACwtC,eAAe,CAAC,CAAC;MACtB,IAAI,CAAC4F,4BAA4B,CAACjE,KAAK,CAAC;IAC5C;EAAC;IAAA33C,GAAA;IAAAC,KAAA,EACD,SAAAy7C,gBAAgBA,CAAC/D,KAAK,EAAEE,GAAG,EAAE;MACzB,IAAI,IAAI,CAACrnC,WAAW,KAAK6kC,aAAa,EAAE;QACpC,MAAM,IAAItmC,KAAK,CAAC,qEAAqE,CAAC;MAC1F;MACA;IACJ;EAAC;IAAA/O,GAAA;IAAAC,KAAA,EACD,SAAA+1C,eAAeA,CAAA,EAAG;MAAA,IAAA6F,OAAA;MACd,IAAI,IAAI,CAACrrC,WAAW,KAAK6kC,aAAa,EAAE;QACpC,MAAM,IAAItmC,KAAK,CAAC,0CAA0C,CAAC;MAC/D;MACArE,MAAM,CAACC,sBAAsB,CAACwX,WAAW,EAAEjX,eAAe,EAAE,UAAC0uC,KAAK,EAAK;QACnEiC,OAAI,CAACC,aAAa,CAAC,CAAC;MACxB,CAAC,CAAC;IACN;EAAC;IAAA97C,GAAA;IAAAC,KAAA,EACD,SAAA67C,aAAaA,CAAA,EAAG;MACZ,IAAIC,cAAc,GAAG55B,WAAW,GAAG,YAAY,GAAG65B,UAAU;MAC5D,IAAIC,YAAY,GAAGt6C,QAAQ,CAACuE,aAAa,CAAC61C,cAAc,CAAC;MACzDp4C,WAAK,CAAC4X,oCAAoC,CAAC,kBAAkB,EAAE0gC,YAAY,CAAC;MAC5E,IAAIR,SAAS,GAAG95C,QAAQ,CAACC,gBAAgB,CAACugB,WAAW,GAAG,eAAe,CAAC,CAAC9hB,MAAM;MAC/Ek7C,SAAS,GAAGU,YAAY,CAAC7jB,SAAS,CAAC,IAAI,CAAC;MACxCz2B,QAAQ,CAACC,gBAAgB,CAACm6C,cAAc,CAAC,CAAChxC,OAAO,CAAC,UAAS8sC,GAAG,EAAE;QAC5DA,GAAG,CAAClwC,MAAM,CAAC,CAAC;MAChB,CAAC,CAAC;MACF4zC,SAAS,CAACt3C,YAAY,CAAC,IAAI,CAACuM,WAAW,CAACgrC,eAAe,EAAE,CAAC,CAAC,GAAGC,SAAS,CAAC;IAC5E;EAAC;IAAAz7C,GAAA;IAAAC,KAAA,EACD,SAAA27C,4BAA4BA,CAACjE,KAAK,EAAE;MAChC,IAAI,IAAI,CAACnnC,WAAW,KAAK6kC,aAAa,EAAE;QACpC,MAAM,IAAItmC,KAAK,CAAC,sFAAsF,CAAC;MAC3G;IACJ;EAAC;IAAA/O,GAAA;IAAAC,KAAA,EACD,SAAAi8C,kCAAkCA,CAACvE,KAAK,EAAEE,GAAG,EAAE;MAC3C;MACA;MACA,IAAIsE,mBAAmB,GAAGxE,KAAK,CAAC/1C,gBAAgB,CAAC,mBAAmB,GAAGw6C,gBAAgB,GAAG,SAAS,GAAGC,UAAU,CAAC;MACjH,IAAIC,eAAe,GAAG,CAAC;MACvBH,mBAAmB,CAACpxC,OAAO,CAAC,UAACwxC,MAAM,EAAK;QACpCD,eAAe,GAAGva,IAAI,CAAC4M,GAAG,CAAC2N,eAAe,EAAE17C,UAAU,CAACgD,GAAG,CAACgB,sBAAsB,CAAC23C,MAAM,CAAC,CAAC,CAAC;MAC/F,CAAC,CAAC;MACF,IAAIC,kBAAkB,GAAG3E,GAAG,CAAC3xC,aAAa,CAAC,KAAK,GAAGk2C,gBAAgB,GAAG,IAAI,GAAGC,UAAU,CAAC;MACxFz4C,GAAG,CAACQ,kCAAkC,CAACo4C,kBAAkB,EAAEF,eAAe,GAAG,CAAC,CAAC;IACnF;EAAC;IAAAt8C,GAAA;IAAAC,KAAA,EACD,SAAAw8C,8BAA8BA,CAAA,EAAG;MAC7B,IAAIC,oBAAoB,GAAGv6B,WAAW,GAAG,eAAe,GAAGi6B,gBAAgB,GAAG,SAAS,GAAGC,UAAU,GAAG,GAAG,GAAGD,gBAAgB;MAC7H,IAAI,CAACO,6BAA6B,CAACD,oBAAoB,CAAC;IAC5D;EAAC;IAAA18C,GAAA;IAAAC,KAAA,EACD,SAAA08C,6BAA6BA,CAACC,aAAa,EAA8F;MAAA,IAAAC,OAAA;MAAA,IAA5FpF,OAAO,GAAAj0C,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,UAAC4H,KAAK,EAAEtH,OAAO,EAAK;QAAE+4C,OAAI,CAACC,kCAAkC,CAAC1xC,KAAK,EAAEtH,OAAO,CAAC;MAAE,CAAC;MACnI4G,MAAM,CAACC,sBAAsB,CAACiyC,aAAa,EAAE1xC,eAAe,EAAE,UAAC6xC,KAAK,EAAK;QACrEA,KAAK,CAAC5xC,gBAAgB,CAAC,QAAQ,EAAE,UAACC,KAAK,EAAK;UACxCqsC,OAAO,CAACrsC,KAAK,EAAE2xC,KAAK,CAAC;QACzB,CAAC,CAAC;QACFtF,OAAO,CAAC,IAAI,EAAEsF,KAAK,CAAC;MACxB,CAAC,CAAC;IACN;EAAC;IAAA/8C,GAAA;IAAAC,KAAA,EACD,SAAA68C,kCAAkCA,CAAC1xC,KAAK,EAAEtH,OAAO,EAAE;MAC/C,IAAIk5C,kBAAkB,GAAG,IAAI,CAACC,6BAA6B,CAACn5C,OAAO,CAAC;MACpE,IAAIo5C,eAAe,GAAGp5C,OAAO,CAAC0D,SAAS,CAACC,QAAQ,CAACL,SAAS,CAAC;MAC3D,IAAI+1C,cAAc,GAAGv5C,GAAG,CAACmD,4BAA4B,CAACjD,OAAO,CAAC;MAC9D;MACA;MACA;MACA,IAAIq5C,cAAc,IAAID,eAAe,EAAE;QACnC;QACA,IAAI,CAAC/E,oCAAoC,CAAC,CAAC;QAC3C,IAAI,CAACiF,2CAA2C,CAACt5C,OAAO,EAAEq5C,cAAc,EAAEH,kBAAkB,CAAC;MACjG;IACJ;EAAC;IAAAh9C,GAAA;IAAAC,KAAA,EACD,SAAAg9C,6BAA6BA,CAACn5C,OAAO,EAAE;MACnC,IAAI8zC,IAAI,GAAG,EAAE;MACb,IAAIxyC,MAAM,GAAGtB,OAAO;MACpB,IAAImD,OAAO;MACX,OAAO7B,MAAM,EAAE;QACX,IAAIA,MAAM,CAACd,OAAO,CAACC,WAAW,CAAC,CAAC,IAAI,IAAI,EAAE;UACtC0C,OAAO,GAAG7B,MAAM,CAACoC,SAAS,CAACC,QAAQ,CAACL,SAAS,CAAC;UAC9CwwC,IAAI,CAAC1nC,IAAI,CAACjJ,OAAO,CAAC;QACtB;QACA7B,MAAM,GAAGA,MAAM,CAACC,aAAa;MACjC;MACA,OAAOuyC,IAAI;IACf;EAAC;IAAA53C,GAAA;IAAAC,KAAA,EACD,SAAAm9C,2CAA2CA,CAACt5C,OAAO,EAAEq5C,cAAc,EAAEH,kBAAkB,EAAE;MACrF,IAAIn9C,UAAU,CAACK,OAAO,CAAC88C,kBAAkB,CAAC,EAAE;MAC5C,IAAI1oB,EAAE,GAAG1wB,GAAG,CAACmB,iBAAiB,CAACjB,OAAO,CAAC;MACvC,IAAIu5C,UAAU,GAAGF,cAAc,IAAIv5C,GAAG,CAACgE,yBAAyB,CAAC0sB,EAAE,CAAC;MACpE,IAAIgpB,WAAW,GAAGN,kBAAkB,CAACO,KAAK,CAAC,CAAC;MAC5C55C,WAAK,CAAC4X,oCAAoC,CAAC;QAAC8hC,UAAU,EAAVA,UAAU;QAAEC,WAAW,EAAXA;MAAW,CAAC,CAAC;MACrE,IAAID,UAAU,IAAIC,WAAW,EAAE;QAC3B15C,GAAG,CAACsD,kBAAkB,CAACotB,EAAE,EAAE+oB,UAAU,CAAC;QACtC,IAAI,CAAClF,oCAAoC,CAAC,CAAC;QAC3C,IAAI,CAACiF,2CAA2C,CAAC9oB,EAAE,CAACjvB,aAAa,EAAEg4C,UAAU,EAAEL,kBAAkB,CAAC;MACtG;IACJ;EAAC;IAAAh9C,GAAA;IAAAC,KAAA,EACD,SAAAu9C,6CAA6CA,CAACZ,aAAa,EAExD;MAAA,IAAAa,OAAA;MAAA,IAF0DhG,OAAO,GAAAj0C,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,UAAC4H,KAAK,EAAEtH,OAAO,EAAK;QACvF,IAAI,CAACA,OAAO,CAAC0D,SAAS,CAACC,QAAQ,CAACgV,eAAe,CAAC,EAAEghC,OAAI,CAACX,kCAAkC,CAAC1xC,KAAK,EAAEtH,OAAO,CAAC;MAC7G,CAAC;MACG4G,MAAM,CAACM,kBAAkB,CAAC,QAAQ,EAAE4xC,aAAa,EAAEnF,OAAO,CAAC;IAC/D;EAAC;IAAAz3C,GAAA;IAAAC,KAAA,EACD,SAAAy9C,qBAAqBA,CAAA,EAAG;MACpB,IAAI,CAACf,6BAA6B,CAACx6B,WAAW,GAAG,qBAAqB,GAAGw7B,QAAQ,GAAG,MAAM,GAAGA,QAAQ,CAAC;IAC1G;EAAC;IAAA39C,GAAA;IAAAC,KAAA,EACD,SAAA29C,qBAAqBA,CAAA,EAAG;MACpB,IAAI,CAACjB,6BAA6B,CAACx6B,WAAW,GAAG,qBAAqB,GAAGzY,QAAQ,GAAG,MAAM,GAAGA,QAAQ,CAAC;IAC1G;EAAC;IAAA1J,GAAA;IAAAC,KAAA,EACD,SAAA49C,4BAA4BA,CAAA,EAAG;MAC3B,IAAI,CAAClB,6BAA6B,CAACx6B,WAAW,GAAG,qBAAqB,GAAG27B,eAAe,GAAG,MAAM,GAAGA,eAAe,CAAC;IACxH;EAAC;IAAA99C,GAAA;IAAAC,KAAA,EACD,SAAA89C,sBAAsBA,CAAA,EAAG;MACrB,IAAI,CAACpB,6BAA6B,CAACx6B,WAAW,GAAG,qBAAqB,GAAG67B,SAAS,GAAG,MAAM,GAAGA,SAAS,CAAC;IAC5G;EAAC;IAAAh+C,GAAA;IAAAC,KAAA,EACD,SAAAg+C,kBAAkBA,CAAA,EAA2G;MAAA,IAAAC,OAAA;MAAA,IAA1GC,SAAS,GAAA36C,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,EAAE;MAAA,IAAE46C,iBAAiB,GAAA56C,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,UAAC4H,KAAK,EAAEtH,OAAO,EAAK;QAAEo6C,OAAI,CAAC5C,sBAAsB,CAAClwC,KAAK,EAAEtH,OAAO,CAAC;MAAE,CAAC;MACvH,IAAIu6C,cAAc,GAAG,kBAAkB,IAAIx+C,UAAU,CAACK,OAAO,CAACi+C,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,GAAGA,SAAS,CAAC,GAAG,qBAAqB,GAAGj2C,UAAU,GAAG,IAAI,GAAGD,UAAU,GAAG,GAAG,GAAGC,UAAU;MAC5K,IAAIo2C,oBAAoB,GAAGD,cAAc,GAAG,GAAG,GAAGt2C,UAAU;MAC5D,IAAIw2C,sBAAsB,GAAGF,cAAc,GAAG,QAAQ,GAAGt2C,UAAU,GAAG,GAAG;MACzEpE,WAAK,CAAC4X,oCAAoC,CAAC,sBAAsB,EAAE+iC,oBAAoB,EAAEC,sBAAsB,CAAC;MAChH,IAAI,CAACC,sBAAsB,CAACF,oBAAoB,EAAEC,sBAAsB,CAAC;MACzE,IAAI,CAACE,wBAAwB,CAACH,oBAAoB,EAAEC,sBAAsB,CAAC;MAC3E7zC,MAAM,CAACM,kBAAkB,CACrB,OAAO,EACL,kBAAkB,IAAInL,UAAU,CAACK,OAAO,CAACi+C,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,GAAGA,SAAS,CAAC,GAAG,qBAAqB,GAAGj2C,UAAU,GAAG,IAAI,GAAGD,UAAU,GAAG,GAAG,GAAGC,UAAU,EACvJ,UAACkD,KAAK,EAAE0T,MAAM,EAAK;QAAEs/B,iBAAiB,CAAChzC,KAAK,EAAE0T,MAAM,CAAC;MAAE,CAC7D,CAAC;IACL;EAAC;IAAA9e,GAAA;IAAAC,KAAA,EACD,SAAAu+C,sBAAsBA,CAACF,oBAAoB,EAAEC,sBAAsB,EAAoG;MAAA,IAAAG,OAAA;MAAA,IAAlGC,aAAa,GAAAn7C,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,UAAC4H,KAAK,EAAEtH,OAAO,EAAK;QAAE46C,OAAI,CAAC5B,kCAAkC,CAAC1xC,KAAK,EAAEtH,OAAO,CAAC;MAAE,CAAC;MACjK4G,MAAM,CAACM,kBAAkB,CAAC,OAAO,EAAEszC,oBAAoB,EAAE,UAAClzC,KAAK,EAAEtH,OAAO,EAAK;QACzE46C,OAAI,CAACE,0BAA0B,CAACxzC,KAAK,EAAEtH,OAAO,EAAEw6C,oBAAoB,EAAEC,sBAAsB,EAAE,UAACM,WAAW,EAAEC,aAAa,EAAK;UAAEH,aAAa,CAACE,WAAW,EAAEC,aAAa,CAAC;QAAE,CAAC,CAAC;MACjL,CAAC,CAAC;IACN;EAAC;IAAA9+C,GAAA;IAAAC,KAAA,EACD,SAAA2+C,0BAA0BA,CAACxzC,KAAK,EAAEtH,OAAO,EAAEw6C,oBAAoB,EAAEC,sBAAsB,EAAoG;MAAA,IAAAQ,OAAA;MAAA,IAAlGJ,aAAa,GAAAn7C,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,UAAC4H,KAAK,EAAEtH,OAAO,EAAK;QAAEi7C,OAAI,CAACjC,kCAAkC,CAAC1xC,KAAK,EAAEtH,OAAO,CAAC;MAAE,CAAC;MACrL,IAAIA,OAAO,CAACQ,OAAO,CAACC,WAAW,CAAC,CAAC,IAAI,KAAK,EAAET,OAAO,GAAGA,OAAO,CAACuB,aAAa;MAC3E,IAAI25C,aAAa,GAAGp7C,GAAG,CAAC0E,gCAAgC,CAACxE,OAAO,CAAC;MACjE,IAAIm7C,QAAQ,GAAGn7C,OAAO,CAAC0D,SAAS,CAACC,QAAQ,CAACL,SAAS,CAAC;MACpD,IAAIywC,GAAG,GAAGj0C,GAAG,CAACmB,iBAAiB,CAACjB,OAAO,CAAC;MACxC,IAAI+zC,GAAG,CAACrwC,SAAS,CAACC,QAAQ,CAACu0C,UAAU,CAAC,IAAI,CAACp4C,GAAG,CAACgE,yBAAyB,CAACiwC,GAAG,CAAC,EAAE;QAC3EA,GAAG,CAACvgB,UAAU,CAACmC,WAAW,CAACoe,GAAG,CAAC;MACnC,CAAC,MACI;QACD,IAAIqH,iBAAiB,GAAGv9C,QAAQ,CAACuE,aAAa,CAACi5C,2BAA2B,GAAG,IAAI,GAAGl3C,UAAU,GAAG,GAAG,GAAGC,UAAU,GAAG,GAAG,GAAGk3C,OAAO,CAAC;QAClI,IAAIC,SAAS,GAAGH,iBAAiB,CAAC9mB,SAAS,CAAC,IAAI,CAAC;QACjDx0B,GAAG,CAACI,gCAAgC,CAACq7C,SAAS,EAAEL,aAAa,CAAC;QAC9Dp7C,GAAG,CAACG,+BAA+B,CAACs7C,SAAS,EAAE,KAAK,CAAC;QACrD,IAAIJ,QAAQ,EAAEI,SAAS,CAAC73C,SAAS,CAACE,GAAG,CAACN,SAAS,CAAC;QAChDtD,OAAO,CAACw7C,WAAW,CAACD,SAAS,CAAC;QAC9BV,aAAa,CAAC,IAAI,EAAEU,SAAS,CAAC;QAC9B,IAAI,CAACZ,wBAAwB,CAACH,oBAAoB,EAAEC,sBAAsB,EAAE,UAACM,WAAW,EAAEC,aAAa,EAAK;UAAEH,aAAa,CAACE,WAAW,EAAEC,aAAa,CAAC;QAAE,CAAC,CAAC;MAC/J;MACA,IAAI,CAAC3G,oCAAoC,CAAC,CAAC;IAC/C;EAAC;IAAAn4C,GAAA;IAAAC,KAAA,EACD,SAAAw+C,wBAAwBA,CAACH,oBAAoB,EAAEC,sBAAsB,EAAoG;MAAA,IAAAgB,OAAA;MAAA,IAAlGZ,aAAa,GAAAn7C,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,UAAC4H,KAAK,EAAEtH,OAAO,EAAK;QAAEy7C,OAAI,CAACzC,kCAAkC,CAAC1xC,KAAK,EAAEtH,OAAO,CAAC;MAAE,CAAC;MACnK4G,MAAM,CAACM,kBAAkB,CAAC,OAAO,EAAEuzC,sBAAsB,EAAE,UAACnzC,KAAK,EAAEtH,OAAO,EAAK;QAC3Ey7C,OAAI,CAACC,4BAA4B,CAACp0C,KAAK,EAAEtH,OAAO,EAAEw6C,oBAAoB,EAAEC,sBAAsB,EAAE,UAACM,WAAW,EAAEC,aAAa,EAAK;UAAEH,aAAa,CAACE,WAAW,EAAEC,aAAa,CAAC;QAAE,CAAC,CAAC;MACnL,CAAC,CAAC;IACN;EAAC;IAAA9+C,GAAA;IAAAC,KAAA,EACD,SAAAu/C,4BAA4BA,CAACp0C,KAAK,EAAEtH,OAAO,EAAEw6C,oBAAoB,EAAEC,sBAAsB,EAAoG;MAAA,IAAAkB,OAAA;MAAA,IAAlGd,aAAa,GAAAn7C,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,UAAC4H,KAAK,EAAEtH,OAAO,EAAK;QAAE27C,OAAI,CAAC3C,kCAAkC,CAAC1xC,KAAK,EAAEtH,OAAO,CAAC;MAAE,CAAC;MACvL,IAAIA,OAAO,CAACQ,OAAO,CAACC,WAAW,CAAC,CAAC,IAAI,KAAK,EAAET,OAAO,GAAGA,OAAO,CAACuB,aAAa;MAC3E,IAAI25C,aAAa,GAAGp7C,GAAG,CAAC0E,gCAAgC,CAACxE,OAAO,CAAC;MACjE,IAAIm7C,QAAQ,GAAGr7C,GAAG,CAACoD,cAAc,CAAClD,OAAO,CAAC;MAC1C,IAAI47C,oBAAoB,GAAG/9C,QAAQ,CAACuE,aAAa,CAACi5C,2BAA2B,GAAG,IAAI,GAAGl3C,UAAU,GAAG,GAAG,GAAGC,UAAU,GAAG,GAAG,GAAGH,UAAU,CAAC;MACxI,IAAI43C,YAAY,GAAGD,oBAAoB,CAACtnB,SAAS,CAAC,IAAI,CAAC;MACvDx0B,GAAG,CAACI,gCAAgC,CAAC27C,YAAY,EAAEX,aAAa,CAAC;MACjEp7C,GAAG,CAACG,+BAA+B,CAAC47C,YAAY,EAAE,IAAI,CAAC;MACvD,IAAIV,QAAQ,EAAEU,YAAY,CAACn4C,SAAS,CAACE,GAAG,CAACN,SAAS,CAAC;MACnDtD,OAAO,CAACw7C,WAAW,CAACK,YAAY,CAAC;MACjChB,aAAa,CAAC,IAAI,EAAEgB,YAAY,CAAC;MACjC,IAAI,CAACnB,sBAAsB,CAACF,oBAAoB,EAAEC,sBAAsB,EAAE,UAACM,WAAW,EAAEC,aAAa,EAAK;QAAEH,aAAa,CAACE,WAAW,EAAEC,aAAa,CAAC;MAAE,CAAC,CAAC;MACzJ,IAAI,CAAC3G,oCAAoC,CAAC,CAAC;IAC/C;EAAC;IAAAn4C,GAAA;IAAAC,KAAA,EACD,SAAA2/C,oBAAoBA,CAAA,EAAG;MACnB,IAAI,CAACC,0BAA0B,CAACC,eAAe,EAAEn8C,WAAK,CAACyX,eAAe,CAAC2kC,YAAY,CAAC,CAAC;IACzF;EAAC;IAAA//C,GAAA;IAAAC,KAAA,EACD,SAAA4/C,0BAA0BA,CACtBG,SAAS,EACPC,UAAU,EAId;MAAA,IAAAC,OAAA;MAAA,IAHIC,YAAY,GAAA38C,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,IAAI;MAAA,IACnB48C,SAAS,GAAA58C,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,UAAC68C,WAAW,EAAK;QAAEH,OAAI,CAACvK,mBAAmB,CAAC0K,WAAW,CAAC;MAAE,CAAC;MAAA,IACvE1B,aAAa,GAAAn7C,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,UAAC4H,KAAK,EAAEtH,OAAO,EAAK;QAAEo8C,OAAI,CAACpD,kCAAkC,CAAC1xC,KAAK,EAAEtH,OAAO,CAAC;MAAE,CAAC;MAElG,IAAIq8C,YAAY,IAAI,IAAI,EAAEA,YAAY,GAAGh+B,WAAW,GAAG,qBAAqB,GAAG69B,SAAS;MACxFt1C,MAAM,CAACM,kBAAkB,CAAC,OAAO,EAAEm1C,YAAY,GAAG,OAAO,GAAGH,SAAS,EAAE,UAAC50C,KAAK,EAAEd,GAAG,EAAK;QACnF41C,OAAI,CAACI,8BAA8B,CAC/Bl1C,KAAK,EACHd,GAAG,EACH01C,SAAS,EACTC,UAAU,EACVE,YAAY,EACZ,UAACE,WAAW,EAAK;UAAED,SAAS,CAC1BC,WAAW,EACT,UAACj1C,KAAK,EAAEtH,OAAO,EAAK;YAAE66C,aAAa,CAACvzC,KAAK,EAAEtH,OAAO,CAAC;UAAE,CAC3D,CAAC;QAAE,CACP,CAAC;MACL,CAAC,CAAC;MACFs8C,SAAS,CAACD,YAAY,GAAG,UAAU,GAAGH,SAAS,CAAC;IACpD;EAAC;IAAAhgD,GAAA;IAAAC,KAAA,EACD,SAAA01C,mBAAmBA,CAAC0K,WAAW,EAAoG;MAAA,IAAAE,OAAA;MAAA,IAAlG5B,aAAa,GAAAn7C,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,UAAC4H,KAAK,EAAEtH,OAAO,EAAK;QAAEy8C,OAAI,CAACzD,kCAAkC,CAAC1xC,KAAK,EAAEtH,OAAO,CAAC;MAAE,CAAC;MAC7H,IAAI,CAAC64C,6BAA6B,CAAC0D,WAAW,EAAE,UAACj1C,KAAK,EAAEtH,OAAO,EAAK;QAAE66C,aAAa,CAACvzC,KAAK,EAAEtH,OAAO,CAAC;MAAE,CAAC,CAAC;IAC3G;EAAC;IAAA9D,GAAA;IAAAC,KAAA,EACD,SAAAqgD,8BAA8BA,CAACl1C,KAAK,EAAEd,GAAG,EAAE01C,SAAS,EAAEQ,gBAAgB,EAAkG;MAAA,IAAAC,OAAA;MAAA,IAAhGN,YAAY,GAAA38C,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,IAAI;MAAA,IAAE48C,SAAS,GAAA58C,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,UAAC28C,YAAY,EAAK;QAAEM,OAAI,CAAC9K,mBAAmB,CAACwK,YAAY,CAAC;MAAE,CAAC;MAClK,IAAItgD,UAAU,CAACK,OAAO,CAACigD,YAAY,CAAC,EAAEA,YAAY,GAAGh+B,WAAW,GAAG,qBAAqB,GAAG69B,SAAS;MACpG,IAAIU,UAAU,GAAG98C,GAAG,CAACuE,+BAA+B,CAACmC,GAAG,CAAC;MACzD,IAAIq2C,EAAE,GAAG/8C,GAAG,CAACiB,kBAAkB,CAACyF,GAAG,CAAC;MACpCq2C,EAAE,CAACl6C,SAAS,GAAG,EAAE;MACjB,IAAIm6C,GAAG,GAAGj/C,QAAQ,CAACwI,aAAa,CAAC,QAAQ,CAAC;MAC1Cy2C,GAAG,CAACp5C,SAAS,CAACE,GAAG,CAACs4C,SAAS,CAAC;MAC5Bp8C,GAAG,CAACQ,kCAAkC,CAACw8C,GAAG,EAAEF,UAAU,CAAC;MACvD,IAAI12C,UAAU,EAAEE,MAAM;MACtB,IAAI4wC,QAAQ,EAAE;QACVn3C,WAAK,CAAC4X,oCAAoC,CAAC,8BAA8B,CAAC;QAC1E5X,WAAK,CAAC4X,oCAAoC,CAAC;UAACilC,gBAAgB,EAAhBA,gBAAgB;UAAEL,YAAY,EAAZA;QAAY,CAAC,CAAC;MAChF;MACAj2C,MAAM,GAAGtG,GAAG,CAACmG,YAAY,CAAC,IAAI,CAAC;MAC/B62C,GAAG,CAACzwB,WAAW,CAACjmB,MAAM,CAAC;MACvBs2C,gBAAgB,CAACz1C,OAAO,CAAC,UAAC81C,gBAAgB,EAAK;QAC3C72C,UAAU,GAAG0S,eAAe,CAACi4B,2BAA2B,CAACkM,gBAAgB,EAAEH,UAAU,CAAC;QACtFx2C,MAAM,GAAGtG,GAAG,CAACmG,YAAY,CAACC,UAAU,CAAC;QACrC42C,GAAG,CAACzwB,WAAW,CAACjmB,MAAM,CAAC;MAC3B,CAAC,CAAC;MACFy2C,EAAE,CAACxwB,WAAW,CAACywB,GAAG,CAAC;MACnB,IAAIP,WAAW,GAAGF,YAAY,GAAG,UAAU,GAAGH,SAAS;MACvDI,SAAS,CAACC,WAAW,CAAC;IAC1B;IACA;AACJ;AACA;AACA;AACA;AACA;AACA;EANI;IAAArgD,GAAA;IAAAC,KAAA,EAOA,SAAA6gD,qBAAqBA,CAACC,UAAU,EAAEC,WAAW,EAAE;MAC3C,IAAI,CAACC,4BAA4B,CAACF,UAAU,EAAEC,WAAW,EAAEvkC,eAAe,CAAC;IAC/E;EAAC;IAAAzc,GAAA;IAAAC,KAAA,EACD,SAAAihD,2BAA2BA,CAACH,UAAU,EAAEC,WAAW,EAAE;MACjD,IAAI,CAACC,4BAA4B,CAACF,UAAU,EAAEC,WAAW,EAAEvkC,eAAe,CAAC;IAC/E;EAAC;IAAAzc,GAAA;IAAAC,KAAA,EAED,SAAAkhD,2BAA2BA,CAAA,EAAiB;MAAA,IAAAC,OAAA;MAAA,IAAhBC,OAAO,GAAA79C,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,IAAI;MACtC,IAAI69C,OAAO,IAAI,IAAI,EAAEA,OAAO,GAAGl/B,WAAW;MAC1C,IAAI,CAAC09B,0BAA0B,CAC3B7pC,mBAAmB,EACjBrS,WAAK,CAACyX,eAAe,CAACkmC,uBAAuB,CAAC,CAACpI,IAAI,CAAC,UAAC1sC,CAAC,EAAEs+B,CAAC;QAAA,OAAKt+B,CAAC,CAAC9C,QAAQ,CAAC,CAACyvC,aAAa,CAACrO,CAAC,CAACphC,QAAQ,CAAC,CAAC;MAAA,EAAC,EACrG23C,OAAO,GAAG,qBAAqB,GAAGrrC,mBAAmB,CAAC;MAAA,EACtD,UAACmqC,YAAY,EAAK;QAAEiB,OAAI,CAACG,yBAAyB,CAACpB,YAAY,CAAC;MAAE,CACxE,CAAC;IACL;EAAC;IAAAngD,GAAA;IAAAC,KAAA,EACD,SAAAshD,yBAAyBA,CAAClB,WAAW,EAAE;MAAA,IAAAmB,OAAA;MACnC,IAAI,CAAC7E,6BAA6B,CAAC0D,WAAW,EAAE,UAACj1C,KAAK,EAAEtH,OAAO,EAAK;QAAE09C,OAAI,CAACC,8BAA8B,CAACr2C,KAAK,EAAEtH,OAAO,CAAC;MAAE,CAAC,CAAC;IACjI;EAAC;IAAA9D,GAAA;IAAAC,KAAA,EACD,SAAAwhD,8BAA8BA,CAACr2C,KAAK,EAAEs2C,WAAW,EAAE;MAC/C,IAAI7J,GAAG,GAAGj0C,GAAG,CAACmB,iBAAiB,CAAC28C,WAAW,CAAC;MAC5C,IAAIC,uBAAuB,GAAG,IAAI,CAACC,uBAAuB,CAAC/J,GAAG,CAAC,CAAC,CAAC;MACjE,IAAI,CAACiF,kCAAkC,CAAC1xC,KAAK,EAAEs2C,WAAW,CAAC;MAC3D,IAAIG,uBAAuB,GAAG,IAAI,CAACD,uBAAuB,CAAC/J,GAAG,CAAC,CAAC,CAAC;MACjE,IACI8J,uBAAuB,IAAIE,uBAAuB,IAC/CA,uBAAuB,IAAI,CAAC,EACjC;MACF5tC,OAAO,CAAC0H,GAAG,CAAC;QAAEkmC,uBAAuB,EAAvBA,uBAAuB;QAAEF,uBAAuB,EAAvBA;MAAwB,CAAC,CAAC;MACjE,IAAIG,uBAAuB,GAAG,IAAI,CAACC,0BAA0B,CAAC,CAAC;MAC/D,IAAIC,SAAS,GAAGnK,GAAG,CAAC3xC,aAAa,CAAC,KAAK,GAAG0Q,WAAW,CAAC;MACtDorC,SAAS,CAAC9a,aAAa,CAAC,IAAIoS,KAAK,CAAC,OAAO,CAAC,CAAC;MAC3C,IAAI2I,UAAU,GAAGpK,GAAG,CAAC3xC,aAAa,CAAC,KAAK,GAAG0Q,WAAW,GAAG,UAAU,GAAGA,WAAW,CAAC;MAClFqrC,UAAU,CAACx7C,SAAS,GAAG,EAAE;MACzBw7C,UAAU,CAAC9xB,WAAW,CAACvsB,GAAG,CAACmG,YAAY,CAAC,IAAI,CAAC,CAAC;MAC9C,IAAIC,UAAU,EAAEE,MAAM;MACtB,IAAI6uC,kBAAkB,GAAGp1C,WAAK,CAACyX,eAAe,CAAC09B,cAAc,CAAC,CAAC9yC,MAAM,CAAC,UAAAgzC,OAAO;QAAA,OACzE,CACIA,OAAO,CAACL,qBAAqB,CAAC,IAAIkJ,uBAAuB,IACtDA,uBAAuB,IAAI,CAAC,MAG5B7I,OAAO,CAACL,qBAAqB,CAAC,IAAImJ,uBAAuB,IACzDA,uBAAuB,IAAI,CAAC,CAClC;MAAA,CACL,CAAC;MACD,IAAI7I,cAAc,GAAGF,kBAAkB,CAACG,IAAI,CAAC,UAAC1sC,CAAC,EAAEs+B,CAAC;QAAA,OAAKt+B,CAAC,CAAC9C,QAAQ,CAAC,CAACyvC,aAAa,CAACrO,CAAC,CAACphC,QAAQ,CAAC,CAAC;MAAA,EAAC;MAC9FuvC,cAAc,CAACluC,OAAO,CAAC,UAACiuC,OAAO,EAAK;QAChChvC,UAAU,GAAG0S,eAAe,CAACi4B,2BAA2B,CAACqE,OAAO,CAAC;QACjE9uC,MAAM,GAAGtG,GAAG,CAACmG,YAAY,CAACC,UAAU,CAAC;QACrCi4C,UAAU,CAAC9xB,WAAW,CAACjmB,MAAM,CAAC;MAClC,CAAC,CAAC;MACF,IAAI,CAAC4yC,kCAAkC,CAAC1xC,KAAK,EAAE62C,UAAU,CAAC;IAC9D;EAAC;IAAAjiD,GAAA;IAAAC,KAAA,EACD,SAAAiiD,mBAAmBA,CAAA,EAAiB;MAAA,IAAAC,OAAA;MAAA,IAAhBd,OAAO,GAAA79C,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,IAAI;MAC9B,IAAI69C,OAAO,IAAI,IAAI,EAAEA,OAAO,GAAGl/B,WAAW;MAC1CzX,MAAM,CAACM,kBAAkB,CAAC,OAAO,EAAEq2C,OAAO,GAAG,qBAAqB,GAAGzqC,WAAW,GAAG,OAAO,GAAGA,WAAW,EAAE,UAACxL,KAAK,EAAEd,GAAG,EAAK;QACtH3G,WAAK,CAAC4X,oCAAoC,CAACjR,GAAG,CAAC;QAC/C,IAAI83C,QAAQ,GAAGx+C,GAAG,CAACmB,iBAAiB,CAACuF,GAAG,CAAC;QACzC3G,WAAK,CAAC4X,oCAAoC,CAAC;UAAEjR,GAAG,EAAHA,GAAG;UAAE83C,QAAQ,EAARA;QAAS,CAAC,CAAC;QAC7D,IAAIC,iBAAiB,GAAGD,QAAQ,CAACl8C,aAAa,CAAC,KAAK,GAAG8P,mBAAmB,CAAC;QAC3E,IAAIssC,oBAAoB,GAAGH,OAAI,CAACP,uBAAuB,CAACQ,QAAQ,CAAC,CAAC,CAAC;QACnE,IAAIN,uBAAuB,GAAGK,OAAI,CAACJ,0BAA0B,CAAC,CAAC;QAC/D,IAAIQ,iBAAiB,GAAG5+C,WAAK,CAACyX,eAAe,CAAC09B,cAAc,CAAC;QAC7D,IAAIC,kBAAkB,GAAGwJ,iBAAiB,CAACv8C,MAAM,CAAC,UAAAgzC,OAAO;UAAA,OACrD,CACIA,OAAO,CAACL,qBAAqB,CAAC,IAAI2J,oBAAoB,IACnDA,oBAAoB,IAAI,CAAC,MAGzBtJ,OAAO,CAACL,qBAAqB,CAAC,IAAImJ,uBAAuB,IACzDA,uBAAuB,IAAI,CAAC,CAClC;QAAA,CACL,CAAC;QACD,IAAI7I,cAAc,GAAGF,kBAAkB,CAACG,IAAI,CAAC,UAAC1sC,CAAC,EAAEs+B,CAAC;UAAA,OAAKt+B,CAAC,CAAC9C,QAAQ,CAAC,CAACyvC,aAAa,CAACrO,CAAC,CAACphC,QAAQ,CAAC,CAAC;QAAA,EAAC;QAC9F/F,WAAK,CAAC4X,oCAAoC,CAAC;UAAE8mC,iBAAiB,EAAjBA,iBAAiB;UAAEC,oBAAoB,EAApBA,oBAAoB;UAAER,uBAAuB,EAAvBA,uBAAuB;UAAES,iBAAiB,EAAjBA,iBAAiB;UAAExJ,kBAAkB,EAAlBA;QAAmB,CAAC,CAAC;QACvJp1C,WAAK,CAAC4X,oCAAoC,CAACgnC,iBAAiB,CAAC;QAC7DJ,OAAI,CAAC7B,8BAA8B,CAC/Bl1C,KAAK,EACHd,GAAG,EACHsM,WAAW,CAAC;QAAA,EACZqiC,cAAc,CAAC;QAAA,EACfoI,OAAO,GAAG,qBAAqB,GAAGzqC,WAAW,CAAC;QAAA,EAC9C,UAACupC,YAAY,EAAK;UAAEgC,OAAI,CAACxM,mBAAmB,CAC1CwK,YAAY,EACV,UAAC/0C,KAAK,EAAEtH,OAAO,EAAK;YAAEq+C,OAAI,CAACK,sBAAsB,CAACp3C,KAAK,EAAEtH,OAAO,CAAC;UAAE,CACzE,CAAC;QAAE,CACP,CAAC;MACL,CAAC,CAAC;MACF,IAAI,CAAC6xC,mBAAmB,CACpB0L,OAAO,GAAG,qBAAqB,GAAGzqC,WAAW,GAAG,UAAU,GAAGA,WAAW,EACtE,UAACxL,KAAK,EAAEtH,OAAO,EAAK;QAAEq+C,OAAI,CAACK,sBAAsB,CAACp3C,KAAK,EAAEtH,OAAO,CAAC;MAAE,CACzE,CAAC;IACL;EAAC;IAAA9D,GAAA;IAAAC,KAAA,EACD,SAAAuiD,sBAAsBA,CAACp3C,KAAK,EAAE62C,UAAU,EAAE;MACtC;MACA,IAAIpK,GAAG,GAAGj0C,GAAG,CAACmB,iBAAiB,CAACk9C,UAAU,CAAC;MAC3C,IAAI,CAACnF,kCAAkC,CAAC1xC,KAAK,EAAE62C,UAAU,CAAC;MAC1D,IAAIN,uBAAuB,GAAG,IAAI,CAACC,uBAAuB,CAAC/J,GAAG,CAAC;MAC/D,IAAI4K,YAAY,GAAG,IAAI,CAACC,eAAe,CAAC7K,GAAG,CAAC;MAC5C,IAAI8K,UAAU,GAAG7J,cAAc,CAAC2J,YAAY,CAAC;MAC7C;MACA,IAAIE,UAAU,IAAI,IAAI,IAAIhB,uBAAuB,IAAIgB,UAAU,CAAChK,qBAAqB,CAAC,EAAE;MACxF,IAAIiK,kBAAkB,GAAG/K,GAAG,CAAC3xC,aAAa,CAAC,KAAK,GAAG8P,mBAAmB,GAAG,MAAM,CAAC;MAChF,IAAI4sC,kBAAkB,EAAEA,kBAAkB,CAAC1b,aAAa,CAAC,IAAIoS,KAAK,CAAC,OAAO,CAAC,CAAC;MAC5E,IAAIuJ,kBAAkB,GAAGhL,GAAG,CAAC3xC,aAAa,CAAC,KAAK,GAAG8P,mBAAmB,GAAG,UAAU,GAAGA,mBAAmB,CAAC;MAC1GpS,GAAG,CAACS,sBAAsB,CAACw+C,kBAAkB,EAAEF,UAAU,CAAChK,qBAAqB,CAAC,CAAC;MACjF;MACA,IAAI,CAACmE,kCAAkC,CAAC1xC,KAAK,EAAEy3C,kBAAkB,CAAC;IACtE;EAAC;IAAA7iD,GAAA;IAAAC,KAAA,EACD,SAAA2hD,uBAAuBA,CAACttB,EAAE,EAAE;MACxB,IAAIwuB,sBAAsB,GAAGxuB,EAAE,CAACpuB,aAAa,CAAC,KAAK,GAAG8P,mBAAmB,GAAG,IAAI,GAAGA,mBAAmB,CAAC;MACvG,OAAOpS,GAAG,CAACuE,+BAA+B,CAAC26C,sBAAsB,CAAC;IACtE;EAAC;IAAA9iD,GAAA;IAAAC,KAAA,EACD,SAAA8hD,0BAA0BA,CAAA,EAAG;MACzB,IAAIrsC,WAAW,GAAG2/B,aAAa,CAACe,cAAc,CAAC,CAAC;MAChD,IAAIyC,iBAAiB,GAAG,CAAC;MACzB,IAAInjC,WAAW,IAAI,IAAI,EAAE,OAAOmjC,iBAAiB;MACjD,IAAIkK,qBAAqB,GAAGrtC,WAAW,CAACxP,aAAa,CAAC,GAAG,GAAGyyC,qBAAqB,CAAC;MAClF,IAAIqK,aAAa,GAAGttC,WAAW,CAACxP,aAAa,CAAC,GAAG,GAAGszC,aAAa,CAAC;MAClE,IAAIyJ,iCAAiC,GAAGr/C,GAAG,CAACuE,+BAA+B,CAAC46C,qBAAqB,CAAC;MAClGp/C,WAAK,CAAC4X,oCAAoC,CAAC;QAAE0nC,iCAAiC,EAAjCA;MAAkC,CAAC,CAAC;MACjF,IAAIA,iCAAiC,IAAI,EAAE,EAAE;QACzC,IAAIC,yBAAyB,GAAGt/C,GAAG,CAACuE,+BAA+B,CAAC66C,aAAa,CAAC;QAClFr/C,WAAK,CAAC4X,oCAAoC,CAAC;UAAE2nC,yBAAyB,EAAzBA;QAA0B,CAAC,CAAC;QACzE,IAAIA,yBAAyB,IAAI,EAAE,EAAE;UACjC,IAAIlK,OAAO,GAAGF,cAAc,CAACoK,yBAAyB,CAAC;UACvDrK,iBAAiB,GAAGG,OAAO,CAACL,qBAAqB,CAAC;QACtD;MACJ,CAAC,MAAM;QACHE,iBAAiB,GAAGjmC,MAAM,CAACqwC,iCAAiC,CAAC;MACjE;MACA,OAAOpK,iBAAiB;IAC5B;EAAC;IAAA74C,GAAA;IAAAC,KAAA,EACD,SAAAkjD,2BAA2BA,CAAA,EAAG;MAC1B,IAAIrB,uBAAuB,GAAG,IAAI,CAACC,0BAA0B,CAAC,CAAC;MAC/D,OAAO,EAAEliD,UAAU,CAACK,OAAO,CAAC4hD,uBAAuB,CAAC,IAAIA,uBAAuB,IAAI,CAAC,CAAC;IACzF;EAAC;IAAA9hD,GAAA;IAAAC,KAAA,EACD,SAAAyiD,eAAeA,CAACpuB,EAAE,EAAE;MAChB,IAAI8uB,cAAc,GAAG9uB,EAAE,CAACpuB,aAAa,CAAC,KAAK,GAAG0Q,WAAW,GAAG,IAAI,GAAGA,WAAW,CAAC;MAC/E,OAAOhT,GAAG,CAACuE,+BAA+B,CAACi7C,cAAc,CAAC;IAC9D;EAAC;IAAApjD,GAAA;IAAAC,KAAA,EACD,SAAAojD,kBAAkBA,CAAA,EAAG;MACjB,IAAI3tC,WAAW,GAAG2/B,aAAa,CAACe,cAAc,CAAC,CAAC;MAChD,IAAI4M,aAAa,GAAGttC,WAAW,CAACxP,aAAa,CAAC,GAAG,GAAGszC,aAAa,CAAC;MAClE,IAAI0J,yBAAyB,GAAGt/C,GAAG,CAACuE,+BAA+B,CAAC66C,aAAa,CAAC;MAClF,IAAIM,SAAS,GAAG1wC,MAAM,CAACswC,yBAAyB,CAAC;MACjD,OAAOI,SAAS;IACpB;EAAC;IAAAtjD,GAAA;IAAAC,KAAA,EACD,SAAAsjD,mBAAmBA,CAAA,EAAG;MAClB,IAAIC,eAAe,GAAG,IAAI,CAACH,kBAAkB,CAAC,CAAC;MAC/C,OAAO,EAAExjD,UAAU,CAACK,OAAO,CAACsjD,eAAe,CAAC,IAAIA,eAAe,IAAI,CAAC,CAAC;IACzE;EAAC;IAAAxjD,GAAA;IAAAC,KAAA,EACD,SAAAwjD,eAAeA,CAAA,EAAG;MACd,IAAI,CAAC5D,0BAA0B,CAAC6D,OAAO,EAAE//C,WAAK,CAACyX,eAAe,CAACuoC,UAAU,CAAC,CAAC;IAC/E;EAAC;IAAA3jD,GAAA;IAAAC,KAAA,EACD,SAAA2jD,WAAWA,CAACtvB,EAAE,EAAE;MACZ,IAAIuvB,UAAU,GAAGvvB,EAAE,CAACpuB,aAAa,CAAC,KAAK,GAAGw9C,OAAO,GAAG,IAAI,GAAGA,OAAO,CAAC;MACnE,OAAO9/C,GAAG,CAACuE,+BAA+B,CAAC07C,UAAU,CAAC;IAC1D;IACA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EAZI;IAAA7jD,GAAA;IAAAC,KAAA,EAaA,SAAAwf,KAAKA,CAAA,EAAG;MACJ,IAAI,IAAI,CAACjP,WAAW,KAAK6kC,aAAa,EAAE;QACpC,MAAM,IAAItmC,KAAK,CAAC,gCAAgC,CAAC;MACrD;MACAyT,uBAAA,CAAA6yB,aAAA;MACA,IAAI3/B,WAAW,GAAG2/B,aAAa,CAACe,cAAc,CAAC,CAAC;MAChD,IAAIz0B,QAAQ,GAAG,CAAC,CAAC;MACjBA,QAAQ,CAAC5L,eAAe,CAAC,GAAGnS,GAAG,CAAC2B,gBAAgB,CAACmQ,WAAW,CAAC;MAC7D,IAAI,CAACgM,mBAAmB,CAACC,QAAQ,CAAC;IACtC;EAAC;IAAA3hB,GAAA;IAAAC,KAAA,EAED,SAAAghD,4BAA4BA,CAAC6C,UAAU,EAAEC,cAAc,EAAEC,aAAa,EAAE;MACpE,IAAIpK,KAAK,GAAGvE,aAAa,CAACwE,YAAY,CAAC,CAAC;MACxC,IAAIoK,QAAQ,GAAGrK,KAAK,CAAC1zC,aAAa,CAAC,KAAK,GAAG49C,UAAU,CAAC;MACtD,IAAII,eAAe,GAAGD,QAAQ,CAACz8C,SAAS,CAACC,QAAQ,CAACu8C,aAAa,CAAC;MAChE,IAAID,cAAc,IAAIG,eAAe,EAAE;MACvCtgD,GAAG,CAACuD,6BAA6B,CAAC88C,QAAQ,EAAEF,cAAc,EAAEC,aAAa,CAAC;IAC9E;EAAC;IAAAhkD,GAAA;IAAAC,KAAA,EACD,SAAAkkD,kCAAkCA,CAACL,UAAU,EAAEC,cAAc,EAAEC,aAAa,EAAE;MAC1E,IAAIpK,KAAK,GAAGvE,aAAa,CAACwE,YAAY,CAAC,CAAC;MACxC,IAAIoK,QAAQ,GAAGrK,KAAK,CAAC1zC,aAAa,CAAC,KAAK,GAAG49C,UAAU,CAAC;MACtDlgD,GAAG,CAACuD,6BAA6B,CAAC88C,QAAQ,EAAEF,cAAc,EAAEC,aAAa,CAAC;IAC9E;EAAC;IAAAhkD,GAAA;IAAAC,KAAA,EAED,SAAAk4C,oCAAoCA,CAAA,EAAG;MACnC,IAAIoC,OAAO,GAAG,IAAI,CAACC,eAAe,CAAC,IAAI,CAAC;MACxC,IAAI4J,gBAAgB,GAAG7J,OAAO,CAACl6C,MAAM,GAAG,CAAC;MAEzC,IAAIqV,WAAW,GAAG2/B,aAAa,CAACe,cAAc,CAAC,CAAC;MAChD,IAAIsB,eAAe,GAAG9zC,GAAG,CAACgE,yBAAyB,CAAC8N,WAAW,CAAC;MAEhEzB,OAAO,CAAC0H,GAAG,CAAC;QAAE4+B,OAAO,EAAPA,OAAO;QAAE6J,gBAAgB,EAAhBA,gBAAgB;QAAE1uC,WAAW,EAAXA,WAAW;QAAEgiC,eAAe,EAAfA;MAAgB,CAAC,CAAC;MAExE,IAAI,CAAC71B,2BAA2B,CAACuiC,gBAAgB,IAAI,CAAC1M,eAAe,CAAC;IAC1E;EAAC;IAAA13C,GAAA;IAAAC,KAAA,EA5jBD,SAAOm2C,cAAcA,CAAA,EAAG;MACpB,OAAOz0C,QAAQ,CAACuE,aAAa,CAAC0wC,aAAa,CAAC;IAChD;EAAC;IAAA52C,GAAA;IAAAC,KAAA,EAuBD,SAAO45C,YAAYA,CAAA,EAAG;MAClB,OAAOl4C,QAAQ,CAACuE,aAAa,CAACic,WAAW,CAAC;IAC9C;EAAC;AAAA,EA3MsCvF,QAAQ;;;;;;;;;ACZV;AACa;AACL;AACjD;AAC+B;AACc;AACA;AAAA,IAExBynC,YAAY;EAC7B,SAAAA,aAAYC,WAAW,EAAE;IAAAxkD,oBAAA,OAAAukD,YAAA;IACrB,IAAI,CAACv9C,IAAI,GAAGw9C,WAAW;EAC3B;EAAC,OAAAvkD,iBAAA,CAAAskD,YAAA;IAAArkD,GAAA;IAAAC,KAAA,EAED,SAAA+c,UAAUA,CAAA,EAAG;MACTrZ,KAAK,CAAC4X,oCAAoC,CAAC,uBAAuB,EAAE,IAAI,CAACzU,IAAI,CAACuN,IAAI,CAAC;MACnF,IAAI,CAACyhC,aAAa,CAAC,CAAC;MACpB,IAAI,CAACyO,qBAAqB,CAAC,CAAC;IAChC;EAAC;IAAAvkD,GAAA;IAAAC,KAAA,EACD,SAAA61C,aAAaA,CAAA,EAAG,CAChB;EAAC;IAAA91C,GAAA;IAAAC,KAAA,EACD,SAAAskD,qBAAqBA,CAAA,EAAG,CAExB;;IAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EAzBI;IAAAvkD,GAAA;IAAAC,KAAA,EA2BA,SAAAwf,KAAKA,CAAA,EAAG,CAAC;EAAC;AAAA;;;;;;;;;;;;;;;;;;;ACnD2B;AACa;AACL;AACjD;AAC+B;AACc;AACP;AACC;AAAA,IAElB+kC,iBAAiB,0BAAAC,aAAA;EAClC,SAAAD,kBAAYF,WAAW,EAAE;IAAAxkD,0BAAA,OAAA0kD,iBAAA;IAAA,OAAAliC,qBAAA,OAAAkiC,iBAAA,GACfF,WAAW;EACrB;EAAC/hC,oBAAA,CAAAiiC,iBAAA,EAAAC,aAAA;EAAA,OAAA1kD,uBAAA,CAAAykD,iBAAA;IAAAxkD,GAAA;IAAAC,KAAA,EACD,SAAA+c,UAAUA,CAAA,EAAG;MACTwF,wBAAA,CAAAgiC,iBAAA;MACA,IAAI,CAAC1O,aAAa,CAAC,CAAC;MACpB,IAAI,CAAC4O,WAAW,CAAC,CAAC;IACtB;EAAC;IAAA1kD,GAAA;IAAAC,KAAA,EACD,SAAA61C,aAAaA,CAAA,EAAG;MACZ;IAAA;EACH;IAAA91C,GAAA;IAAAC,KAAA,EACD,SAAAykD,WAAWA,CAAA,EAAG;MACV;IAAA;EACH;IAAA1kD,GAAA;IAAAC,KAAA,EACD,SAAA0kD,oBAAoBA,CAAA,EAAG;MACnB,IAAI,CAAC79C,IAAI,CAAC+4C,0BAA0B,CAChC3nC,YAAY,EACVvU,WAAK,CAACyX,eAAe,CAACwpC,eAAe,CAAC,CAAC;MAC7C,CAAC;IACL;EAAC;AAAA,EApB0CP,YAAY;;;;;;;;;;;;;;;;;;;;ACT5B;AAC8C;AAC9C;AACU;AACI;AACN;AACU;AACA;AAAA,IAE5BQ,wBAAwB,0BAAAC,cAAA;EAKzC,SAAAD,yBAAYhoC,MAAM,EAAE;IAAA,IAAAgC,KAAA;IAAA/e,iCAAA,OAAA+kD,wBAAA;IAChBhmC,KAAA,GAAAyD,4BAAA,OAAAuiC,wBAAA,GAAMhoC,MAAM;IAAEtT,iCAAA,CAAAsV,KAAA,0BAHKhM,GAAG,CAACsD,qBAAqB;IAI5C0I,KAAA,CAAKkmC,QAAQ,GAAG,IAAIP,iBAAiB,CAAA3lC,KAAK,CAAC;IAAC,OAAAA,KAAA;EAChD;EAAC0D,2BAAA,CAAAsiC,wBAAA,EAAAC,cAAA;EAAA,OAAA/kD,8BAAA,CAAA8kD,wBAAA;IAAA7kD,GAAA;IAAAC,KAAA,EAED,SAAA+c,UAAUA,CAAA,EAAG;MACT,IAAI,CAACC,gBAAgB,CAAC,CAAC;IAC3B;EAAC;IAAAjd,GAAA;IAAAC,KAAA,EAED,SAAA61C,aAAaA,CAAA,EAAG;MACZ,IAAI,CAACS,mBAAmB,CAAC,CAAC;MAC1B,IAAI,CAACG,kBAAkB,CAAC,CAAC;IAC7B;EAAC;IAAA12C,GAAA;IAAAC,KAAA,EAED,SAAAk6C,YAAYA,CAACC,OAAO,EAAE;MAClB,IAAIA,OAAO,IAAI,IAAI,EAAE;MACrB,IAAIU,QAAQ,EAAE;QAAEn3C,WAAK,CAAC4X,oCAAoC,CAAC,qBAAqB,EAAE6+B,OAAO,CAAC;MAAE;IAChG;EAAC;IAAAp6C,GAAA;IAAAC,KAAA,EACD,SAAAk7C,UAAUA,CAACtD,GAAG,EAAE;MACZl0C,WAAK,CAAC4X,oCAAoC,CAAC;QAAEs8B,GAAG,EAAHA;MAAI,CAAC,CAAC;MACnD,IAAIA,GAAG,IAAI,IAAI,EAAE;MACjB,IAAImN,SAAS,GAAGnN,GAAG,CAAC3xC,aAAa,CAAC,KAAK,GAAGy3C,QAAQ,GAAG,IAAI,GAAGA,QAAQ,CAAC;MACrE,IAAIsH,SAAS,GAAGpN,GAAG,CAAC3xC,aAAa,CAAC,KAAK,GAAGwD,QAAQ,GAAG,IAAI,GAAGA,QAAQ,CAAC;MACrE,IAAIw7C,YAAY,GAAGrN,GAAG,CAAC3xC,aAAa,CAAC,KAAK,GAAGgC,UAAU,GAAG,IAAI,GAAGA,UAAU,CAAC;MAE5E+L,OAAO,CAAC0H,GAAG,CAAC,WAAW,CAAC;MACxB1H,OAAO,CAAC0H,GAAG,CAACqpC,SAAS,CAAC;MAEtB,IAAIG,OAAO,GAAG,CAAC,CAAC;MAChBA,OAAO,CAACxM,qBAAqB,CAAC,GAAGd,GAAG,CAAC1xC,YAAY,CAACwyC,qBAAqB,CAAC;MACxEwM,OAAO,CAACxH,QAAQ,CAAC,GAAG/5C,GAAG,CAACuE,+BAA+B,CAAC68C,SAAS,CAAC;MAClEG,OAAO,CAACz7C,QAAQ,CAAC,GAAG9F,GAAG,CAACuE,+BAA+B,CAAC88C,SAAS,CAAC;MAClEE,OAAO,CAACj9C,UAAU,CAAC,GAAGg9C,YAAY,CAAC19C,SAAS,CAACC,QAAQ,CAACM,UAAU,CAAC;MACjE,OAAOo9C,OAAO;IAClB;EAAC;IAAAnlD,GAAA;IAAAC,KAAA,EACD,SAAAy7C,gBAAgBA,CAAC/D,KAAK,EAAEE,GAAG,EAAE,CAE7B;EAAC;IAAA73C,GAAA;IAAAC,KAAA,EACD,SAAA27C,4BAA4BA,CAACjE,KAAK,EAAE;MAChC;IAAA;EACH;IAAA33C,GAAA;IAAAC,KAAA,EAED,SAAA+1C,eAAeA,CAAA,EAAG;MACdxzB,+BAAA,CAAAqiC,wBAAA;MACA,IAAI,CAACnH,qBAAqB,CAAC,CAAC;MAC5B,IAAI,CAACE,qBAAqB,CAAC,CAAC;MAC5B,IAAI,CAACK,kBAAkB,CAAC,CAAC;IAC7B;EAAC;IAAAj+C,GAAA;IAAAC,KAAA,EAED,SAAAwf,KAAKA,CAAA,EAAG;MACJ+C,+BAAA,CAAAqiC,wBAAA;IACJ;EAAC;AAAA,EAxDiDxP,aAAa;AAAA9rC,iCAAA,CAA9Cs7C,wBAAwB,UAC3B9kC,4BAA4B;AAAAxW,iCAAA,CADzBs7C,wBAAwB,qBAEhBlM,qBAAqB;;;;;;;;;;;;;;;;;;;;ACXnB;AAC8C;AAC9C;AACU;AACI;AACN;AACU;AACA;AAAA,IAE5ByM,eAAe,0BAAAN,cAAA;EAKhC,SAAAM,gBAAYvoC,MAAM,EAAE;IAAA,IAAAgC,KAAA;IAAA/e,uBAAA,OAAAslD,eAAA;IAChBvmC,KAAA,GAAAyD,kBAAA,OAAA8iC,eAAA,GAAMvoC,MAAM;IAAEtT,uBAAA,CAAAsV,KAAA,0BAHKhM,GAAG,CAACiE,YAAY;IAInC+H,KAAA,CAAKkmC,QAAQ,GAAG,IAAIP,iBAAiB,CAAA3lC,KAAK,CAAC;IAAC,OAAAA,KAAA;EAChD;EAAC0D,iBAAA,CAAA6iC,eAAA,EAAAN,cAAA;EAAA,OAAA/kD,oBAAA,CAAAqlD,eAAA;IAAAplD,GAAA;IAAAC,KAAA,EAED,SAAA+c,UAAUA,CAAA,EAAG;MACT,IAAI,CAACC,gBAAgB,CAAC,CAAC;IAC3B;EAAC;IAAAjd,GAAA;IAAAC,KAAA,EAED,SAAA61C,aAAaA,CAAA,EAAG;MACZ,IAAI,CAACS,mBAAmB,CAAC,CAAC;MAC1B,IAAI,CAACmC,2BAA2B,CAAC,CAAC;MAClC,IAAI,CAAChC,kBAAkB,CAAC,CAAC;IAC7B;EAAC;IAAA12C,GAAA;IAAAC,KAAA,EACD,SAAAy4C,2BAA2BA,CAAA,EAAG;MAC1B,IAAI,CAACnB,YAAY,CAACoB,qBAAqB,CAAC;IAC5C;EAAC;IAAA34C,GAAA;IAAAC,KAAA,EAED,SAAAk6C,YAAYA,CAACC,OAAO,EAAE;MAClB,IAAIA,OAAO,IAAI,IAAI,EAAE;MACrB,IAAIU,QAAQ,EAAE;QAAEn3C,WAAK,CAAC4X,oCAAoC,CAAC,qBAAqB,EAAE6+B,OAAO,CAAC;MAAE;IAChG;EAAC;IAAAp6C,GAAA;IAAAC,KAAA,EACD,SAAAk7C,UAAUA,CAACtD,GAAG,EAAE;MACZ,IAAIA,GAAG,IAAI,IAAI,EAAE;MACjB,IAAIoN,SAAS,GAAGpN,GAAG,CAAC3xC,aAAa,CAAC,KAAK,GAAGwD,QAAQ,GAAG,IAAI,GAAGA,QAAQ,CAAC;MACrE,IAAI27C,iCAAiC,GAAGxN,GAAG,CAAC3xC,aAAa,CAAC,KAAK,GAAGo/C,gCAAgC,GAAG,IAAI,GAAGA,gCAAgC,CAAC;MAC7I,IAAIC,kBAAkB,GAAG1N,GAAG,CAAC3xC,aAAa,CAAC,KAAK,GAAGs/C,iBAAiB,GAAG,IAAI,GAAGA,iBAAiB,CAAC;MAChG,IAAIC,UAAU,GAAG5N,GAAG,CAAC3xC,aAAa,CAAC,KAAK,GAAG83C,SAAS,GAAG,IAAI,GAAGA,SAAS,CAAC;MACxE,IAAIkH,YAAY,GAAGrN,GAAG,CAAC3xC,aAAa,CAAC,KAAK,GAAGgC,UAAU,GAAG,IAAI,GAAGA,UAAU,CAAC;;MAE5E;AACR;AACA;AACA;;MAEQ,IAAIi9C,OAAO,GAAG,CAAC,CAAC;MAChBA,OAAO,CAAC3L,aAAa,CAAC,GAAG3B,GAAG,CAAC1xC,YAAY,CAACqzC,aAAa,CAAC;MACxD2L,OAAO,CAACxM,qBAAqB,CAAC,GAAG,IAAI,CAACiJ,uBAAuB,CAAC/J,GAAG,CAAC;MAClEsN,OAAO,CAACz7C,QAAQ,CAAC,GAAG9F,GAAG,CAACuE,+BAA+B,CAAC88C,SAAS,CAAC;MAClEE,OAAO,CAACG,gCAAgC,CAAC,GAAG1hD,GAAG,CAACuE,+BAA+B,CAACk9C,iCAAiC,CAAC;MAClHF,OAAO,CAACK,iBAAiB,CAAC,GAAI5hD,GAAG,CAACuE,+BAA+B,CAACo9C,kBAAkB,CAAC,IAAI,MAAO;MAChGJ,OAAO,CAACnH,SAAS,CAAC,GAAGp6C,GAAG,CAACuE,+BAA+B,CAACs9C,UAAU,CAAC;MACpEN,OAAO,CAACj9C,UAAU,CAAC,GAAGg9C,YAAY,CAAC19C,SAAS,CAACC,QAAQ,CAACM,UAAU,CAAC;MACjE,OAAOo9C,OAAO;IAClB;EAAC;IAAAnlD,GAAA;IAAAC,KAAA,EACD,SAAAy7C,gBAAgBA,CAAC/D,KAAK,EAAEE,GAAG,EAAE,CAE7B;EAAC;IAAA73C,GAAA;IAAAC,KAAA,EACD,SAAA27C,4BAA4BA,CAACjE,KAAK,EAAE;MAChC,IAAI+N,OAAO,GAAG/N,KAAK,CAAC/1C,gBAAgB,CAAC,KAAK,GAAGo6C,UAAU,CAAC;MACxD,IAAI2J,SAAS,GAAGD,OAAO,CAAC,CAAC,CAAC;MAC1B,IAAIE,yBAAyB,GAAG,CAC5B,KAAK,GAAGlC,OAAO,GAAG,OAAO,GAAGA,OAAO,EACjC,MAAM,GAAG1tC,mBAAmB,GAAG,OAAO,GAAGA,mBAAmB,EAC5D,MAAM,GAAGY,WAAW,GAAG,OAAO,GAAGA,WAAW,CACjD,CAAC8qB,IAAI,CAAC,EAAE,CAAC;MACVikB,SAAS,CAAC/jD,gBAAgB,CAACgkD,yBAAyB,CAAC,CAAC76C,OAAO,CAAC,UAAC86C,gBAAgB,EAAK;QAChFA,gBAAgB,CAACC,KAAK,CAAC,CAAC;MAC5B,CAAC,CAAC;IACN;EAAC;IAAA9lD,GAAA;IAAAC,KAAA,EAED,SAAA+1C,eAAeA,CAAA,EAAG;MACdxzB,qBAAA,CAAA4iC,eAAA;MACA,IAAI,CAACjE,2BAA2B,CAAC,CAAC;MAClC,IAAI,CAACvD,qBAAqB,CAAC,CAAC;MAC5B,IAAI,CAACmI,2CAA2C,CAAC,CAAC;MAClD,IAAI,CAACC,yBAAyB,CAAC,CAAC;MAChC,IAAI,CAACjI,sBAAsB,CAAC,CAAC;MAC7B,IAAI,CAACE,kBAAkB,CAAC,CAAC;IAC7B;EAAC;IAAAj+C,GAAA;IAAAC,KAAA,EACD,SAAAkhD,2BAA2BA,CAAA,EAAG;MAC1B,IAAI,CAACtB,0BAA0B,CAC3B7pC,mBAAmB,EACjBrS,WAAK,CAACyX,eAAe,CAACkmC,uBAAuB,CACnD,CAAC;IACL;EAAC;IAAAthD,GAAA;IAAAC,KAAA,EACD,SAAA8lD,2CAA2CA,CAAA,EAAG;MAC1C,IAAI,CAACpJ,6BAA6B,CAACx6B,WAAW,GAAG,MAAM,GAAGmjC,gCAAgC,GAAG,IAAI,GAAGA,gCAAgC,CAAC;IACzI;EAAC;IAAAtlD,GAAA;IAAAC,KAAA,EACD,SAAA+lD,yBAAyBA,CAAA,EAAG;MACxB,IAAI,CAACrJ,6BAA6B,CAACx6B,WAAW,GAAG,MAAM,GAAGqjC,iBAAiB,GAAG,IAAI,GAAGA,iBAAiB,CAAC;IAC3G;EAAC;IAAAxlD,GAAA;IAAAC,KAAA,EAED,SAAAwf,KAAKA,CAAA,EAAG;MACJ+C,qBAAA,CAAA4iC,eAAA;IACJ;EAAC;AAAA,EA1FwC/P,aAAa;AAAA9rC,uBAAA,CAArC67C,eAAe,UAClBnlC,mBAAmB;AAAA1W,uBAAA,CADhB67C,eAAe,qBAEP5L,aAAa;;;;;;;;;;;;;;;;;;;;ACXX;AAC8C;AAC9C;AACU;AACI;AACN;AACU;AACA;AAAA,IAE5ByM,sBAAsB,0BAAAnB,cAAA;EAKvC,SAAAmB,uBAAYppC,MAAM,EAAE;IAAA,IAAAgC,KAAA;IAAA/e,gCAAA,OAAAmmD,sBAAA;IAChBpnC,KAAA,GAAAyD,2BAAA,OAAA2jC,sBAAA,GAAMppC,MAAM;IAAEtT,gCAAA,CAAAsV,KAAA,0BAHKhM,GAAG,CAAC4E,mBAAmB;IAI1CoH,KAAA,CAAKkmC,QAAQ,GAAG,IAAIP,iBAAiB,CAAA3lC,KAAK,CAAC;IAAC,OAAAA,KAAA;EAChD;EAAC0D,0BAAA,CAAA0jC,sBAAA,EAAAnB,cAAA;EAAA,OAAA/kD,6BAAA,CAAAkmD,sBAAA;IAAAjmD,GAAA;IAAAC,KAAA,EAED,SAAA+c,UAAUA,CAAA,EAAG;MACT,IAAI,CAACC,gBAAgB,CAAC,CAAC;IAC3B;EAAC;IAAAjd,GAAA;IAAAC,KAAA,EAED,SAAA61C,aAAaA,CAAA,EAAG;MACZ,IAAI,CAACS,mBAAmB,CAAC,CAAC;MAC1B,IAAI,CAACiC,eAAe,CAAC,CAAC;MACtB,IAAI,CAACE,2BAA2B,CAAC,CAAC;MAClC,IAAI,CAACa,mBAAmB,CAAC,CAAC;MAC1B,IAAI,CAAC7C,kBAAkB,CAAC,CAAC;IAC7B;EAAC;IAAA12C,GAAA;IAAAC,KAAA,EAED,SAAAk6C,YAAYA,CAACC,OAAO,EAAE;MAClB,IAAIA,OAAO,IAAI,IAAI,EAAE;MACrB,IAAIU,QAAQ,EAAE;QAAEn3C,WAAK,CAAC4X,oCAAoC,CAAC,qBAAqB,EAAE6+B,OAAO,CAAC;MAAE;IAChG;EAAC;IAAAp6C,GAAA;IAAAC,KAAA,EACD,SAAAk7C,UAAUA,CAACtD,GAAG,EAAE;MACZ,IAAIA,GAAG,IAAI,IAAI,EAAE;MACjB,IAAIqO,0BAA0B,GAAGrO,GAAG,CAAC3xC,aAAa,CAAC,KAAK,GAAGigD,yBAAyB,GAAG,WAAW,CAAC;MACnG,IAAIV,UAAU,GAAG5N,GAAG,CAAC3xC,aAAa,CAAC,KAAK,GAAG83C,SAAS,GAAG,WAAW,CAAC;MACnE,IAAIkH,YAAY,GAAGrN,GAAG,CAAC3xC,aAAa,CAAC,KAAK,GAAGgC,UAAU,GAAG,IAAI,GAAGA,UAAU,CAAC;MAE5E,IAAIi9C,OAAO,GAAG,CAAC,CAAC;MAChBA,OAAO,CAACiB,oBAAoB,CAAC,GAAGvO,GAAG,CAAC1xC,YAAY,CAACigD,oBAAoB,CAAC;MACtEjB,OAAO,CAAC1M,SAAS,CAAC,GAAG,IAAI,CAACmL,WAAW,CAAC/L,GAAG,CAAC;MAC1CsN,OAAO,CAAC3L,aAAa,CAAC,GAAG,IAAI,CAACkJ,eAAe,CAAC7K,GAAG,CAAC;MAClDsN,OAAO,CAACgB,yBAAyB,CAAC,GAAGviD,GAAG,CAACuE,+BAA+B,CAAC+9C,0BAA0B,CAAC;MACpGf,OAAO,CAACnH,SAAS,CAAC,GAAGp6C,GAAG,CAACuE,+BAA+B,CAACs9C,UAAU,CAAC;MACpEN,OAAO,CAACj9C,UAAU,CAAC,GAAGg9C,YAAY,CAAC19C,SAAS,CAACC,QAAQ,CAACM,UAAU,CAAC;MACjE,OAAOo9C,OAAO;IAClB;EAAC;IAAAnlD,GAAA;IAAAC,KAAA,EACD,SAAAy7C,gBAAgBA,CAAC/D,KAAK,EAAEE,GAAG,EAAE,CAE7B;EAAC;IAAA73C,GAAA;IAAAC,KAAA,EACD,SAAA27C,4BAA4BA,CAACjE,KAAK,EAAE;MAChC,IAAI+N,OAAO,GAAG/N,KAAK,CAAC/1C,gBAAgB,CAAC,KAAK,GAAGo6C,UAAU,CAAC;MACxD,IAAI2J,SAAS,GAAGD,OAAO,CAAC,CAAC,CAAC;MAC1B,IAAIE,yBAAyB,GAAG,CAC5B,KAAK,GAAGlC,OAAO,GAAG,OAAO,GAAGA,OAAO,EACjC,MAAM,GAAG1tC,mBAAmB,GAAG,OAAO,GAAGA,mBAAmB,EAC5D,MAAM,GAAGY,WAAW,GAAG,OAAO,GAAGA,WAAW,CACjD,CAAC8qB,IAAI,CAAC,EAAE,CAAC;MACVikB,SAAS,CAAC/jD,gBAAgB,CAACgkD,yBAAyB,CAAC,CAAC76C,OAAO,CAAC,UAAC86C,gBAAgB,EAAK;QAChFA,gBAAgB,CAACC,KAAK,CAAC,CAAC;MAC5B,CAAC,CAAC;IACN;EAAC;IAAA9lD,GAAA;IAAAC,KAAA,EAED,SAAA+1C,eAAeA,CAAA,EAAG;MACdxzB,8BAAA,CAAAyjC,sBAAA;MACA,IAAI,CAACxC,eAAe,CAAC,CAAC;MACtB,IAAI,CAACtC,2BAA2B,CAAC,CAAC;MAClC,IAAI,CAACe,mBAAmB,CAAC,CAAC;MAC1B,IAAI,CAACmE,oCAAoC,CAAC,CAAC;MAC3C,IAAI,CAACtI,sBAAsB,CAAC,CAAC;MAC7B,IAAI,CAACE,kBAAkB,CAAC,CAAC;IAC7B;EAAC;IAAAj+C,GAAA;IAAAC,KAAA,EACD,SAAAomD,oCAAoCA,CAAA,EAAG;MACnC,IAAI,CAAC1J,6BAA6B,CAACx6B,WAAW,GAAG,MAAM,GAAGgkC,yBAAyB,GAAG,IAAI,GAAGA,yBAAyB,CAAC;IAC3H;EAAC;IAAAnmD,GAAA;IAAAC,KAAA,EAED,SAAAwf,KAAKA,CAAA,EAAG;MACJ+C,8BAAA,CAAAyjC,sBAAA;IACJ;EAAC;AAAA,EAxE+C5Q,aAAa;AAAA9rC,gCAAA,CAA5C08C,sBAAsB,UACzB9lC,0BAA0B;AAAA5W,gCAAA,CADvB08C,sBAAsB,qBAEdG,oBAAoB;;;;;;;;;;;;;;;;;;;;ACXlB;AAC8C;AAC9C;AACU;AACI;AACN;AACU;AACA;AAAA,IAE5BE,gBAAgB,0BAAAxB,cAAA;EAKjC,SAAAwB,iBAAYzpC,MAAM,EAAE;IAAA,IAAAgC,KAAA;IAAA/e,wBAAA,OAAAwmD,gBAAA;IAChBznC,KAAA,GAAAyD,mBAAA,OAAAgkC,gBAAA,GAAMzpC,MAAM;IAAEtT,wBAAA,CAAAsV,KAAA,0BAHKhM,GAAG,CAACuF,aAAa;IAIpCyG,KAAA,CAAKkmC,QAAQ,GAAG,IAAIP,iBAAiB,CAAA3lC,KAAK,CAAC;IAAC,OAAAA,KAAA;EAChD;EAAC0D,kBAAA,CAAA+jC,gBAAA,EAAAxB,cAAA;EAAA,OAAA/kD,qBAAA,CAAAumD,gBAAA;IAAAtmD,GAAA;IAAAC,KAAA,EAED,SAAA+c,UAAUA,CAAA,EAAG;MACT,IAAI,CAACC,gBAAgB,CAAC,CAAC;IAC3B;EAAC;IAAAjd,GAAA;IAAAC,KAAA,EAED,SAAA61C,aAAaA,CAAA,EAAG;MACZ,IAAI,CAACS,mBAAmB,CAAC,CAAC;MAC1B,IAAI,CAACG,kBAAkB,CAAC,CAAC;IAC7B;EAAC;IAAA12C,GAAA;IAAAC,KAAA,EAED,SAAAk6C,YAAYA,CAACC,OAAO,EAAE;MAClB,IAAIA,OAAO,IAAI,IAAI,EAAE;MACrB,IAAIU,QAAQ,EAAE;QAAEn3C,WAAK,CAAC4X,oCAAoC,CAAC,qBAAqB,EAAE6+B,OAAO,CAAC;MAAE;IAChG;EAAC;IAAAp6C,GAAA;IAAAC,KAAA,EACD,SAAAk7C,UAAUA,CAACtD,GAAG,EAAE;MACZ,IAAIA,GAAG,IAAI,IAAI,EAAE;MACjB,IAAIoN,SAAS,GAAGpN,GAAG,CAAC3xC,aAAa,CAAC,KAAK,GAAGwD,QAAQ,GAAG,IAAI,GAAGA,QAAQ,CAAC;MACrE,IAAIw7C,YAAY,GAAGrN,GAAG,CAAC3xC,aAAa,CAAC,KAAK,GAAGgC,UAAU,GAAG,IAAI,GAAGA,UAAU,CAAC;MAE5E,IAAIi9C,OAAO,GAAG,CAAC,CAAC;MAChBA,OAAO,CAACzL,cAAc,CAAC,GAAG7B,GAAG,CAAC1xC,YAAY,CAACuzC,cAAc,CAAC;MAC1DyL,OAAO,CAACoB,kBAAkB,CAAC,GAAG,IAAI,CAACC,sBAAsB,CAAC3O,GAAG,CAAC;MAC9DsN,OAAO,CAACz7C,QAAQ,CAAC,GAAG9F,GAAG,CAACuE,+BAA+B,CAAC88C,SAAS,CAAC;MAClEE,OAAO,CAACj9C,UAAU,CAAC,GAAGg9C,YAAY,CAAC19C,SAAS,CAACC,QAAQ,CAACM,UAAU,CAAC;MAEjEkM,OAAO,CAAC0H,GAAG,CAAC,SAAS,CAAC;MACtB1H,OAAO,CAAC0H,GAAG,CAACwpC,OAAO,CAAC;MAEpB,OAAOA,OAAO;IAClB;EAAC;IAAAnlD,GAAA;IAAAC,KAAA,EACD,SAAAumD,sBAAsBA,CAAC3O,GAAG,EAAE;MACxB,IAAI4O,qBAAqB,GAAG5O,GAAG,CAAC3xC,aAAa,CAAC,KAAK,GAAGqgD,kBAAkB,GAAG,IAAI,GAAGA,kBAAkB,CAAC;MACrG,OAAO3iD,GAAG,CAACuE,+BAA+B,CAACs+C,qBAAqB,CAAC;IACrE;EAAC;IAAAzmD,GAAA;IAAAC,KAAA,EACD,SAAAy7C,gBAAgBA,CAAC/D,KAAK,EAAEE,GAAG,EAAE,CAE7B;EAAC;IAAA73C,GAAA;IAAAC,KAAA,EACD,SAAA27C,4BAA4BA,CAACjE,KAAK,EAAE;MAChC,IAAI+N,OAAO,GAAG/N,KAAK,CAAC/1C,gBAAgB,CAAC,KAAK,GAAGo6C,UAAU,CAAC;MACxD,IAAI2J,SAAS,GAAGD,OAAO,CAAC,CAAC,CAAC;MAC1B,IAAIE,yBAAyB,GAAG,CAC5B,KAAK,GAAGW,kBAAkB,GAAG,OAAO,GAAGA,kBAAkB,CAC5D,CAAC7kB,IAAI,CAAC,EAAE,CAAC;MACVikB,SAAS,CAAC/jD,gBAAgB,CAACgkD,yBAAyB,CAAC,CAAC76C,OAAO,CAAC,UAAC86C,gBAAgB,EAAK;QAChFA,gBAAgB,CAACC,KAAK,CAAC,CAAC;MAC5B,CAAC,CAAC;IACN;EAAC;IAAA9lD,GAAA;IAAAC,KAAA,EAED,SAAA+1C,eAAeA,CAAA,EAAG;MACdxzB,sBAAA,CAAA8jC,gBAAA;MACA,IAAI,CAACI,0BAA0B,CAAC,CAAC;MACjC,IAAI,CAAC9I,qBAAqB,CAAC,CAAC;MAC5B,IAAI,CAACK,kBAAkB,CAAC,CAAC;IAC7B;EAAC;IAAAj+C,GAAA;IAAAC,KAAA,EACD,SAAAymD,0BAA0BA,CAAA,EAAG;MAAA,IAAApnC,MAAA;MACzB;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MAGQ,IAAI6gC,YAAY,GAAGh+B,WAAW,GAAG,qBAAqB,GAAGokC,kBAAkB;MAC3E77C,MAAM,CAACM,kBAAkB,CAAC,OAAO,EAAEm1C,YAAY,GAAG,OAAO,GAAGoG,kBAAkB,EAAE,UAACn7C,KAAK,EAAEd,GAAG,EAAK;QAC5F,IAAIutC,GAAG,GAAGj0C,GAAG,CAACmB,iBAAiB,CAACuF,GAAG,CAAC;QACpC,IAAIq8C,aAAa,GAAG/zC,MAAM,CAACilC,GAAG,CAAC1xC,YAAY,CAACuzC,cAAc,CAAC,CAAC;QAC5D/1C,WAAK,CAAC4X,oCAAoC,CAAC;UAAEorC,aAAa,EAAbA;QAAc,CAAC,CAAC;QAC7DrnC,MAAI,CAACghC,8BAA8B,CAC/Bl1C,KAAK,EACHd,GAAG,EACHi8C,kBAAkB,EAClB5iD,WAAK,CAACyX,eAAe,CAACrD,SAAS,CAAC,CAAC/R,MAAM,CAAC,UAAA6O,QAAQ;UAAA,OAE1CA,QAAQ,CAAC6kC,cAAc,CAAC,IAAIiN,aAAa,IACtCA,aAAa,GAAG,CAAC;QAAA,CAE5B,CAAC,CAAC;QAAA,EACAxG,YAAY,EACZ,UAACE,WAAW,EAAK;UAAE/gC,MAAI,CAACq2B,mBAAmB,CACzC0K,WAAW,EACT,UAACj1C,KAAK,EAAEtH,OAAO,EAAK;YAAEwb,MAAI,CAACw9B,kCAAkC,CAAC1xC,KAAK,EAAEtH,OAAO,CAAC;UAAE,CACrF,CAAC;QAAE,CACP,CAAC;MACL,CAAC,CAAC;MACF,IAAI,CAAC6xC,mBAAmB,CACpBwK,YAAY,GAAG,UAAU,GAAGoG,kBAAkB,EAC5C,UAACn7C,KAAK,EAAEtH,OAAO,EAAK;QAAEwb,MAAI,CAACw9B,kCAAkC,CAAC1xC,KAAK,EAAEtH,OAAO,CAAC;MAAE,CACrF,CAAC;IACL;IACA;AACJ;AACA;AACA;AACA;EAJI;IAAA9D,GAAA;IAAAC,KAAA,EAMA,SAAAwf,KAAKA,CAAA,EAAG;MACJ+C,sBAAA,CAAA8jC,gBAAA;IACJ;EAAC;AAAA,EAzHyCjR,aAAa;AAAA9rC,wBAAA,CAAtC+8C,gBAAgB,UACnB/lC,oBAAoB;AAAAhX,wBAAA,CADjB+8C,gBAAgB,qBAER5M,cAAc;;;;;;;;;;;;;;;;;;;;ACXZ;AAC8C;AAC9C;AACU;AACI;AACN;AACU;AACA;AAAA,IAE5BkN,kBAAkB,0BAAA9B,cAAA;EAKnC,SAAA8B,mBAAY/pC,MAAM,EAAE;IAAA,IAAAgC,KAAA;IAAA/e,2BAAA,OAAA8mD,kBAAA;IAChB/nC,KAAA,GAAAyD,sBAAA,OAAAskC,kBAAA,GAAM/pC,MAAM;IAAEtT,2BAAA,CAAAsV,KAAA,0BAHKhM,GAAG,CAACkG,eAAe;IAItC8F,KAAA,CAAKkmC,QAAQ,GAAG,IAAIP,iBAAiB,CAAA3lC,KAAK,CAAC;IAAC,OAAAA,KAAA;EAChD;EAAC0D,qBAAA,CAAAqkC,kBAAA,EAAA9B,cAAA;EAAA,OAAA/kD,wBAAA,CAAA6mD,kBAAA;IAAA5mD,GAAA;IAAAC,KAAA,EAED,SAAA+c,UAAUA,CAAA,EAAG;MACT,IAAI,CAACC,gBAAgB,CAAC,CAAC;IAC3B;EAAC;IAAAjd,GAAA;IAAAC,KAAA,EAED,SAAA61C,aAAaA,CAAA,EAAG;MACZ,IAAI,CAACS,mBAAmB,CAAC,CAAC;MAC1B,IAAI,CAACG,kBAAkB,CAAC,CAAC;IAC7B;EAAC;IAAA12C,GAAA;IAAAC,KAAA,EAED,SAAAk6C,YAAYA,CAACC,OAAO,EAAE;MAClB,IAAIA,OAAO,IAAI,IAAI,EAAE;MACrB,IAAIU,QAAQ,EAAE;QAAEn3C,WAAK,CAAC4X,oCAAoC,CAAC,qBAAqB,EAAE6+B,OAAO,CAAC;MAAE;IAChG;EAAC;IAAAp6C,GAAA;IAAAC,KAAA,EACD,SAAAk7C,UAAUA,CAACtD,GAAG,EAAE;MACZ,IAAIA,GAAG,IAAI,IAAI,EAAE;MACjB,IAAIoN,SAAS,GAAGpN,GAAG,CAAC3xC,aAAa,CAAC,KAAK,GAAGwD,QAAQ,GAAG,IAAI,GAAGA,QAAQ,CAAC;MACrE,IAAIw7C,YAAY,GAAGrN,GAAG,CAAC3xC,aAAa,CAAC,KAAK,GAAGgC,UAAU,GAAG,IAAI,GAAGA,UAAU,CAAC;MAE5E,IAAIi9C,OAAO,GAAG,CAAC,CAAC;MAChBA,OAAO,CAAC0B,gBAAgB,CAAC,GAAGhP,GAAG,CAAC1xC,YAAY,CAAC0gD,gBAAgB,CAAC;MAC9D1B,OAAO,CAAC2B,SAAS,CAAC,GAAG,IAAI,CAACC,aAAa,CAAClP,GAAG,CAAC;MAC5CsN,OAAO,CAACz7C,QAAQ,CAAC,GAAG9F,GAAG,CAACuE,+BAA+B,CAAC88C,SAAS,CAAC;MAClEE,OAAO,CAACj9C,UAAU,CAAC,GAAGg9C,YAAY,CAAC19C,SAAS,CAACC,QAAQ,CAACM,UAAU,CAAC;MAEjEkM,OAAO,CAAC0H,GAAG,CAAC,SAAS,CAAC;MACtB1H,OAAO,CAAC0H,GAAG,CAACwpC,OAAO,CAAC;MAEpB,OAAOA,OAAO;IAClB;EAAC;IAAAnlD,GAAA;IAAAC,KAAA,EACD,SAAA8mD,aAAaA,CAAClP,GAAG,EAAE;MACf,IAAImP,YAAY,GAAGnP,GAAG,CAAC3xC,aAAa,CAAC,KAAK,GAAG4gD,SAAS,GAAG,IAAI,GAAGA,SAAS,CAAC;MAC1E,OAAOljD,GAAG,CAACuE,+BAA+B,CAAC6+C,YAAY,CAAC;IAC5D;EAAC;IAAAhnD,GAAA;IAAAC,KAAA,EACD,SAAAy7C,gBAAgBA,CAAC/D,KAAK,EAAEE,GAAG,EAAE,CAE7B;EAAC;IAAA73C,GAAA;IAAAC,KAAA,EACD,SAAA27C,4BAA4BA,CAACjE,KAAK,EAAE;MAChC,IAAI+N,OAAO,GAAG/N,KAAK,CAAC/1C,gBAAgB,CAAC,KAAK,GAAGo6C,UAAU,CAAC;MACxD,IAAI2J,SAAS,GAAGD,OAAO,CAAC,CAAC,CAAC;MAC1B,IAAIE,yBAAyB,GAAG,CAC5B,KAAK,GAAGkB,SAAS,GAAG,OAAO,GAAGA,SAAS,CAC1C,CAACplB,IAAI,CAAC,EAAE,CAAC;MACVikB,SAAS,CAAC/jD,gBAAgB,CAACgkD,yBAAyB,CAAC,CAAC76C,OAAO,CAAC,UAAC86C,gBAAgB,EAAK;QAChFA,gBAAgB,CAACC,KAAK,CAAC,CAAC;MAC5B,CAAC,CAAC;IACN;EAAC;IAAA9lD,GAAA;IAAAC,KAAA,EAED,SAAA+1C,eAAeA,CAAA,EAAG;MACdxzB,yBAAA,CAAAokC,kBAAA;MACA,IAAI,CAACK,iBAAiB,CAAC,CAAC;MACxB,IAAI,CAACrJ,qBAAqB,CAAC,CAAC;MAC5B,IAAI,CAACK,kBAAkB,CAAC,CAAC;IAC7B;EAAC;IAAAj+C,GAAA;IAAAC,KAAA,EACD,SAAAgnD,iBAAiBA,CAAA,EAAG;MAChB,IAAI,CAACpH,0BAA0B,CAC3BiH,SAAS,EACPnjD,WAAK,CAACyX,eAAe,CAAC8rC,WAAW,CAAC,CAAC;MACzC,CAAC;IACL;EAAC;IAAAlnD,GAAA;IAAAC,KAAA,EAED,SAAAwf,KAAKA,CAAA,EAAG;MACJ+C,yBAAA,CAAAokC,kBAAA;IACJ;EAAC;AAAA,EAxE2CvR,aAAa;AAAA9rC,2BAAA,CAAxCq9C,kBAAkB,UACrBnmC,sBAAsB;AAAAlX,2BAAA,CADnBq9C,kBAAkB,qBAEVC,gBAAgB;;;;;;;;;;;;;;;;;;;;ACXd;AAC8C;AAC9C;AACU;AACI;AACN;AACU;AACA;AAAA,IAE5BM,yBAAyB,0BAAArC,cAAA;EAK1C,SAAAqC,0BAAYtqC,MAAM,EAAE;IAAA,IAAAgC,KAAA;IAAA/e,mCAAA,OAAAqnD,yBAAA;IAChBtoC,KAAA,GAAAyD,8BAAA,OAAA6kC,yBAAA,GAAMtqC,MAAM;IAAEtT,mCAAA,CAAAsV,KAAA,0BAHKhM,GAAG,CAAC6G,sBAAsB;IAI7CmF,KAAA,CAAKkmC,QAAQ,GAAG,IAAIP,iBAAiB,CAAA3lC,KAAK,CAAC;IAAC,OAAAA,KAAA;EAChD;EAAC0D,6BAAA,CAAA4kC,yBAAA,EAAArC,cAAA;EAAA,OAAA/kD,gCAAA,CAAAonD,yBAAA;IAAAnnD,GAAA;IAAAC,KAAA,EAED,SAAA+c,UAAUA,CAAA,EAAG;MACT,IAAI,CAACC,gBAAgB,CAAC,CAAC;IAC3B;EAAC;IAAAjd,GAAA;IAAAC,KAAA,EAED,SAAA61C,aAAaA,CAAA,EAAG;MACZ,IAAI,CAACS,mBAAmB,CAAC,CAAC;MAC1B,IAAI,CAACmC,2BAA2B,CAAC,CAAC;MAClC,IAAI,CAACa,mBAAmB,CAAC,CAAC;MAC1B,IAAI,CAAC6N,uBAAuB,CAAC,CAAC;MAC9B,IAAI,CAACC,kBAAkB,CAAC,CAAC;MACzB,IAAI,CAACC,sBAAsB,CAAC,CAAC;MAC7B,IAAI,CAAC7N,oBAAoB,CAAC,CAAC;MAC3B,IAAI,CAAC/C,kBAAkB,CAAC,CAAC;IAC7B;EAAC;IAAA12C,GAAA;IAAAC,KAAA,EACD,SAAAmnD,uBAAuBA,CAAA,EAAG;MACtB,IAAI,CAAC7P,YAAY,CAACgQ,iBAAiB,CAAC;IACxC;EAAC;IAAAvnD,GAAA;IAAAC,KAAA,EACD,SAAAonD,kBAAkBA,CAAA,EAAG;MACjB,IAAI,CAAC9P,YAAY,CAACiQ,YAAY,CAAC;IACnC;EAAC;IAAAxnD,GAAA;IAAAC,KAAA,EACD,SAAAqnD,sBAAsBA,CAAA,EAAG;MACrB,IAAI,CAAC/P,YAAY,CAACsP,gBAAgB,CAAC;IACvC;EAAC;IAAA7mD,GAAA;IAAAC,KAAA,EAED,SAAAk6C,YAAYA,CAACC,OAAO,EAAE;MAClB,IAAIA,OAAO,IAAI,IAAI,EAAE;MACrB,IAAIU,QAAQ,EAAE;QAAEn3C,WAAK,CAAC4X,oCAAoC,CAAC,qBAAqB,EAAE6+B,OAAO,CAAC;MAAE;IAChG;EAAC;IAAAp6C,GAAA;IAAAC,KAAA,EACD,SAAAk7C,UAAUA,CAACtD,GAAG,EAAE;MACZ,IAAIA,GAAG,IAAI,IAAI,EAAE;MACjB,IAAIqO,0BAA0B,GAAGrO,GAAG,CAAC3xC,aAAa,CAAC,KAAK,GAAGigD,yBAAyB,GAAG,WAAW,CAAC;MACnG,IAAIV,UAAU,GAAG5N,GAAG,CAAC3xC,aAAa,CAAC,KAAK,GAAG83C,SAAS,GAAG,WAAW,CAAC;MACnE,IAAIkH,YAAY,GAAGrN,GAAG,CAAC3xC,aAAa,CAAC,KAAK,GAAGgC,UAAU,GAAG,IAAI,GAAGA,UAAU,CAAC;MAE5E,IAAIi9C,OAAO,GAAG,CAAC,CAAC;MAChBA,OAAO,CAACsC,uBAAuB,CAAC,GAAG5P,GAAG,CAAC1xC,YAAY,CAACshD,uBAAuB,CAAC;MAC5EtC,OAAO,CAAC1M,SAAS,CAAC,GAAG,IAAI,CAACmL,WAAW,CAAC/L,GAAG,CAAC;MAC1CsN,OAAO,CAAC3L,aAAa,CAAC,GAAG,IAAI,CAACkJ,eAAe,CAAC7K,GAAG,CAAC;MAClDsN,OAAO,CAACgB,yBAAyB,CAAC,GAAGviD,GAAG,CAACuE,+BAA+B,CAAC+9C,0BAA0B,CAAC;MACpGf,OAAO,CAACnH,SAAS,CAAC,GAAGp6C,GAAG,CAACuE,+BAA+B,CAACs9C,UAAU,CAAC;MACpEN,OAAO,CAACj9C,UAAU,CAAC,GAAGg9C,YAAY,CAAC19C,SAAS,CAACC,QAAQ,CAACM,UAAU,CAAC;MACjE,OAAOo9C,OAAO;IAClB;EAAC;IAAAnlD,GAAA;IAAAC,KAAA,EACD,SAAAy7C,gBAAgBA,CAAC/D,KAAK,EAAEE,GAAG,EAAE,CAE7B;EAAC;IAAA73C,GAAA;IAAAC,KAAA,EACD,SAAA27C,4BAA4BA,CAACjE,KAAK,EAAE;MAChC,IAAI+N,OAAO,GAAG/N,KAAK,CAAC/1C,gBAAgB,CAAC,KAAK,GAAGo6C,UAAU,CAAC;MACxD,IAAI2J,SAAS,GAAGD,OAAO,CAAC,CAAC,CAAC;MAC1B,IAAIE,yBAAyB,GAAG,CAC5B,KAAK,GAAGlC,OAAO,GAAG,OAAO,GAAGA,OAAO,EACjC,MAAM,GAAG1tC,mBAAmB,GAAG,OAAO,GAAGA,mBAAmB,EAC5D,MAAM,GAAGY,WAAW,GAAG,OAAO,GAAGA,WAAW,CACjD,CAAC8qB,IAAI,CAAC,EAAE,CAAC;MACVikB,SAAS,CAAC/jD,gBAAgB,CAACgkD,yBAAyB,CAAC,CAAC76C,OAAO,CAAC,UAAC86C,gBAAgB,EAAK;QAChFA,gBAAgB,CAACC,KAAK,CAAC,CAAC;MAC5B,CAAC,CAAC;IACN;EAAC;IAAA9lD,GAAA;IAAAC,KAAA,EAED,SAAA+1C,eAAeA,CAAA,EAAG;MACdxzB,iCAAA,CAAA2kC,yBAAA;MACA,IAAI,CAAChG,2BAA2B,CAAC,CAAC;MAClC,IAAI,CAACe,mBAAmB,CAAC,CAAC;MAC1B,IAAI,CAACwF,uBAAuB,CAAC,CAAC;MAC9B,IAAI,CAACC,kBAAkB,CAAC,CAAC;MACzB,IAAI,CAACC,sBAAsB,CAAC,CAAC;MAC7B,IAAI,CAAC7C,QAAQ,CAACJ,oBAAoB,CAAC,CAAC;MACpC,IAAI,CAAC1G,kBAAkB,CAAC,CAAC;IAC7B;EAAC;IAAAj+C,GAAA;IAAAC,KAAA,EACD,SAAAynD,uBAAuBA,CAAA,EAAG;MACtB,IAAI,CAAC7H,0BAA0B,CAC3BgI,eAAe,EACblkD,WAAK,CAACyX,eAAe,CAAC0sC,kBAAkB,CAAC,CAAC;MAChD,CAAC;IACL;EAAC;IAAA9nD,GAAA;IAAAC,KAAA,EACD,SAAA0nD,kBAAkBA,CAAA,EAAG;MACjB,IAAI,CAAC9H,0BAA0B,CAC3BkI,UAAU,EACRpkD,WAAK,CAACyX,eAAe,CAAC4sC,aAAa,CAAC,CAAC;MAC3C,CAAC;IACL;EAAC;IAAAhoD,GAAA;IAAAC,KAAA,EACD,SAAA2nD,sBAAsBA,CAAA,EAAG;MACrB,IAAI,CAAC/H,0BAA0B,CAC3BhnC,cAAc,EACZlV,WAAK,CAACyX,eAAe,CAAC6sC,iBAAiB,CAAC,CAAC;MAC/C,CAAC;IACL;EAAC;IAAAjoD,GAAA;IAAAC,KAAA,EAED,SAAAwf,KAAKA,CAAA,EAAG;MACJ+C,iCAAA,CAAA2kC,yBAAA;IACJ;EAAC;AAAA,EApGkD9R,aAAa;AAAA9rC,mCAAA,CAA/C49C,yBAAyB,UAC5BxmC,6BAA6B;AAAApX,mCAAA,CAD1B49C,yBAAyB,qBAEjBM,uBAAuB;;;;;;;;;;;;;;;;;;;;ACXrB;AAC8C;AAC9C;AACU;AACI;AACN;AACU;AACA;AAEjD,IAAIS,oBAAoB;AACxB,IAAIC,sCAAsC;AAAC,IAEtBC,iBAAiB,0BAAAtD,cAAA;EAKlC,SAAAsD,kBAAYvrC,MAAM,EAAE;IAAA,IAAAgC,KAAA;IAAA/e,yBAAA,OAAAsoD,iBAAA;IAChBvpC,KAAA,GAAAyD,oBAAA,OAAA8lC,iBAAA,GAAMvrC,MAAM;IAAEtT,yBAAA,CAAAsV,KAAA,0BAHKhM,GAAG,CAACmI,uCAAuC;IAI9D6D,KAAA,CAAKkmC,QAAQ,GAAG,IAAIP,iBAAiB,CAAA3lC,KAAK,CAAC;IAAC,OAAAA,KAAA;EAChD;EAAC0D,mBAAA,CAAA6lC,iBAAA,EAAAtD,cAAA;EAAA,OAAA/kD,sBAAA,CAAAqoD,iBAAA;IAAApoD,GAAA;IAAAC,KAAA,EAED,SAAA+c,UAAUA,CAAA,EAAG;MACT,IAAI,CAACC,gBAAgB,CAAC,CAAC;IAC3B;EAAC;IAAAjd,GAAA;IAAAC,KAAA,EAED,SAAA61C,aAAaA,CAAA,EAAG,CAChB;EAAC;IAAA91C,GAAA;IAAAC,KAAA,EAED,SAAAk6C,YAAYA,CAACC,OAAO,EAAE;MAClB,IAAIA,OAAO,IAAI,IAAI,EAAE;MACrB,IAAIU,QAAQ,EAAE;QAAEn3C,WAAK,CAAC4X,oCAAoC,CAAC,qBAAqB,EAAE6+B,OAAO,CAAC;MAAE;IAChG;EAAC;IAAAp6C,GAAA;IAAAC,KAAA,EACD,SAAAu6C,eAAeA,CAAA,EAAoB;MAAA,IAAnBS,SAAS,GAAAz3C,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,KAAK;MAC7By3C,SAAS,GAAG,IAAI;MAChB,IAAIpD,GAAG,GAAGl2C,QAAQ,CAACuE,aAAa,CAACmiD,iBAAiB,GAAG,YAAY,GAAGluC,cAAc,CAAC;MACnF,OAAO,CAAC,IAAI,CAACghC,UAAU,CAACtD,GAAG,CAAC,CAAC;IACjC;EAAC;IAAA73C,GAAA;IAAAC,KAAA,EACD,SAAAk7C,UAAUA,CAACtD,GAAG,EAAE;MACZ5jC,OAAO,CAAC0H,GAAG,CAAC,cAAc,EAAEk8B,GAAG,CAAC;MAChC,IAAIA,GAAG,IAAI,IAAI,EAAE;MACjB,IAAIyQ,YAAY,GAAGzQ,GAAG,CAAC3xC,aAAa,CAACmiD,iBAAiB,GAAG,MAAM,GAAGE,WAAW,GAAG,IAAI,GAAGA,WAAW,CAAC;MACnG,IAAIC,kBAAkB,GAAG3Q,GAAG,CAAC3xC,aAAa,CAACmiD,iBAAiB,GAAG,MAAM,GAAGI,iBAAiB,GAAG,IAAI,GAAGA,iBAAiB,CAAC;MACrH,IAAIC,sBAAsB,GAAG7Q,GAAG,CAAC3xC,aAAa,CAACmiD,iBAAiB,GAAG,MAAM,GAAGM,sBAAsB,GAAG,IAAI,GAAGA,sBAAsB,CAAC;MACnI,IAAIC,aAAa,GAAG/Q,GAAG,CAAC3xC,aAAa,CAACmiD,iBAAiB,GAAG,MAAM,GAAGnwC,YAAY,GAAG,IAAI,GAAGA,YAAY,CAAC;MACtG,IAAI2wC,gBAAgB,GAAGhR,GAAG,CAAC3xC,aAAa,CAACmiD,iBAAiB,GAAG,MAAM,GAAGS,eAAe,GAAG,IAAI,GAAGA,eAAe,CAAC;MAC/G,IAAIrD,UAAU,GAAG5N,GAAG,CAAC3xC,aAAa,CAACmiD,iBAAiB,GAAG,MAAM,GAAGrK,SAAS,GAAG,IAAI,GAAGA,SAAS,CAAC;MAC7F;MACA,IAAI+K,YAAY,GAAGlR,GAAG,CAAC1xC,YAAY,CAAC2U,gBAAgB,CAAC;MACrD,IAAIqqC,OAAO,GAAG,CAAC,CAAC;MAChBA,OAAO,CAACrqC,gBAAgB,CAAC,GAAGiuC,YAAY;MACxC5D,OAAO,CAAC6D,aAAa,CAAC,GAAGplD,GAAG,CAACuE,+BAA+B,CAACmgD,YAAY,CAAC;MAC1EnD,OAAO,CAAC8D,mBAAmB,CAAC,GAAGrlD,GAAG,CAACuE,+BAA+B,CAACqgD,kBAAkB,CAAC;MACtFrD,OAAO,CAACwD,sBAAsB,CAAC,GAAG/kD,GAAG,CAACuE,+BAA+B,CAACugD,sBAAsB,CAAC;MAC7FvD,OAAO,CAACzL,cAAc,CAAC,GAAG91C,GAAG,CAACuE,+BAA+B,CAACygD,aAAa,CAAC;MAC5EzD,OAAO,CAAC2D,eAAe,CAAC,GAAGllD,GAAG,CAACuE,+BAA+B,CAAC0gD,gBAAgB,CAAC;MAChF1D,OAAO,CAACnH,SAAS,CAAC,GAAGp6C,GAAG,CAACuE,+BAA+B,CAACs9C,UAAU,CAAC;MACpEN,OAAO,CAACj9C,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC;MAC5Bi9C,OAAO,CAAC+D,eAAe,CAAC,GAAG,IAAI,CAACC,oBAAoB,CAACJ,YAAY,CAAC;MAClE5D,OAAO,CAACiE,iCAAiC,CAAC,GAAG,IAAI,CAACC,sCAAsC,CAACN,YAAY,CAAC;MACtG90C,OAAO,CAAC0H,GAAG,CAAC;QAAEwpC,OAAO,EAAPA;MAAQ,CAAC,CAAC;MACxB,OAAOA,OAAO;IAClB;EAAC;IAAAnlD,GAAA;IAAAC,KAAA,EACD,SAAAkpD,oBAAoBA,CAACJ,YAAY,EAAE;MAC/B,IAAIO,SAAS,GAAG3nD,QAAQ,CAACC,gBAAgB,CAAC2nD,mBAAmB,GAAG,YAAY,GAAGL,eAAe,GAAG,GAAG,GAAG9hD,SAAS,CAAC;MACjH,IAAIkiD,SAAS,IAAI,IAAI,IAAIA,SAAS,CAACjpD,MAAM,IAAI,CAAC,EAAE,OAAO,EAAE;MACzD;MACA,IAAImpD,QAAQ,EACRC,oBAAoB,EAAEC,eAAe,EACrCC,4BAA4B,EAAEC,uBAAuB,EACrDC,wBAAwB,EAAEC,mBAAmB,EAC7CC,wBAAwB,EAAEC,mBAAmB,EAC7CC,wBAAwB,EAAEC,mBAAmB,EAC7CC,wBAAwB,EAAEC,mBAAmB,EAC7CC,aAAa,EAAEC,QAAQ,EACvBC,oBAAoB,EAAEC,eAAe,EACrC/E,UAAU,EAAEgF,KAAK,EACjBvF,YAAY,EAAEwF,MAAM;MACxBz2C,OAAO,CAAC0H,GAAG,CAAC,sBAAsB,CAAC;MACnC1H,OAAO,CAAC0H,GAAG,CAAC;QAAE2tC,SAAS,EAATA;MAAU,CAAC,CAAC;MAC1B,IAAIqB,iBAAiB,GAAG,EAAE;MAC1B,KAAI,IAAIC,QAAQ,GAAG,CAAC,EAAEA,QAAQ,GAAGtB,SAAS,CAACjpD,MAAM,EAAEuqD,QAAQ,EAAE,EAAE;QAAA,IAAAC,qBAAA;QAC3DrB,QAAQ,GAAGF,SAAS,CAACsB,QAAQ,CAAC;QAC9BnB,oBAAoB,GAAGD,QAAQ,CAACtjD,aAAa,CAAC,KAAK,GAAG4kD,mBAAmB,GAAG,IAAI,GAAGA,mBAAmB,CAAC;QACvGpB,eAAe,GAAG9lD,GAAG,CAACuE,+BAA+B,CAACshD,oBAAoB,CAAC;QAC3EE,4BAA4B,GAAGH,QAAQ,CAACtjD,aAAa,CAAC,KAAK,GAAG6kD,sCAAsC,GAAG,IAAI,GAAGA,sCAAsC,CAAC;QACrJnB,uBAAuB,GAAGhmD,GAAG,CAACuE,+BAA+B,CAACwhD,4BAA4B,CAAC;QAC3FE,wBAAwB,GAAGL,QAAQ,CAACtjD,aAAa,CAAC,KAAK,GAAG8kD,kCAAkC,GAAG,IAAI,GAAGA,kCAAkC,CAAC;QACzIlB,mBAAmB,GAAGlmD,GAAG,CAACuE,+BAA+B,CAAC0hD,wBAAwB,CAAC;QACnFE,wBAAwB,GAAGP,QAAQ,CAACtjD,aAAa,CAAC,KAAK,GAAG+kD,kCAAkC,GAAG,IAAI,GAAGA,kCAAkC,CAAC;QACzIjB,mBAAmB,GAAGpmD,GAAG,CAACuE,+BAA+B,CAAC4hD,wBAAwB,CAAC;QACnFE,wBAAwB,GAAGT,QAAQ,CAACtjD,aAAa,CAAC,KAAK,GAAGglD,kCAAkC,GAAG,IAAI,GAAGA,kCAAkC,CAAC;QACzIhB,mBAAmB,GAAGtmD,GAAG,CAACuE,+BAA+B,CAAC8hD,wBAAwB,CAAC;QACnFE,wBAAwB,GAAGX,QAAQ,CAACtjD,aAAa,CAAC,KAAK,GAAGilD,kCAAkC,GAAG,IAAI,GAAGA,kCAAkC,CAAC;QACzIf,mBAAmB,GAAGxmD,GAAG,CAACuE,+BAA+B,CAACgiD,wBAAwB,CAAC;QACnFE,aAAa,GAAGb,QAAQ,CAACtjD,aAAa,CAAC,KAAK,GAAGklD,YAAY,GAAG,IAAI,GAAGA,YAAY,CAAC;QAClFd,QAAQ,GAAG1mD,GAAG,CAACuE,+BAA+B,CAACkiD,aAAa,CAAC;QAC7DE,oBAAoB,GAAGf,QAAQ,CAACtjD,aAAa,CAAC,KAAK,GAAGmlD,mBAAmB,GAAG,IAAI,GAAGA,mBAAmB,CAAC;QACvGb,eAAe,GAAG5mD,GAAG,CAACuE,+BAA+B,CAACoiD,oBAAoB,CAAC;QAC3E9E,UAAU,GAAG+D,QAAQ,CAACtjD,aAAa,CAAC,KAAK,GAAG83C,SAAS,GAAG,IAAI,GAAGA,SAAS,CAAC;QACzEyM,KAAK,GAAG7mD,GAAG,CAACuE,+BAA+B,CAACs9C,UAAU,CAAC;QACvDP,YAAY,GAAGsE,QAAQ,CAACtjD,aAAa,CAACqjD,mBAAmB,GAAG,MAAM,GAAGrhD,UAAU,GAAG,IAAI,GAAGD,UAAU,GAAG,GAAG,GAAGqjD,QAAQ,GAAG,GAAG,GAAGpjD,UAAU,CAAC;QACxIwiD,MAAM,GAAGxF,YAAY,CAAC19C,SAAS,CAACC,QAAQ,CAACM,UAAU,CAAC;QACpD4iD,iBAAiB,CAACz6C,IAAI,EAAA26C,qBAAA,OAAAthD,yBAAA,CAAAA,yBAAA,CAAAA,yBAAA,CAAAA,yBAAA,CAAAA,yBAAA,CAAAA,yBAAA,CAAAA,yBAAA,CAAAA,yBAAA,CAAAA,yBAAA,CAAAA,yBAAA,CAAAshD,qBAAA,EACjBU,iBAAiB,EAAG/B,QAAQ,CAACrjD,YAAY,CAAColD,iBAAiB,CAAC,GAC1DzwC,gBAAgB,EAAGiuC,YAAY,GAC/ByC,qBAAqB,EAAG9B,eAAe,GACvCqB,sCAAsC,EAAGnB,uBAAuB,GAChEoB,kCAAkC,EAAGlB,mBAAmB,GACxDmB,kCAAkC,EAAGjB,mBAAmB,GACxDkB,kCAAkC,EAAGhB,mBAAmB,GACxDiB,kCAAkC,EAAGf,mBAAmB,GACxDgB,YAAY,EAAGd,QAAQ,GACvBe,mBAAmB,EAAGb,eAAe,GAAAjhD,yBAAA,CAAAA,yBAAA,CAAAshD,qBAAA,EACrC7M,SAAS,EAAGyM,KAAK,GACjBviD,UAAU,EAAGwiD,MAAM,EACzB,CAAC;MACN;MAAC;MACD,OAAOC,iBAAiB;IAC5B;EAAC;IAAA3qD,GAAA;IAAAC,KAAA,EACD,SAAAopD,sCAAsCA,CAACN,YAAY,EAAE;MACjD,IAAIO,SAAS,GAAG3nD,QAAQ,CAACC,gBAAgB,CAAC6pD,qCAAqC,GAAG,gBAAgB,GAAGrC,iCAAiC,GAAG,GAAG,GAAGhiD,SAAS,CAAC;MACzJ,IAAIkiD,SAAS,IAAI,IAAI,IAAIA,SAAS,CAACjpD,MAAM,IAAI,CAAC,EAAE,OAAO,EAAE;MACzDipD,SAAS,GAAG9kC,KAAK,CAACC,IAAI,CAAC6kC,SAAS,CAAC;MACjC,IAAIE,QAAQ,EAAEkC,+BAA+B,EACzCC,YAAY,EAAE3S,OAAO,EACrB4S,oBAAoB,EAAEC,eAAe,EACrCC,UAAU,EAAEC,KAAK,EACjBC,wBAAwB,EAAEC,mBAAmB,EAC7CC,8BAA8B,EAAEC,yBAAyB,EACzDC,4BAA4B,EAAEC,uBAAuB,EACrDC,uBAAuB,EAAEC,kBAAkB,EAC3CC,aAAa,EAAEC,QAAQ,EACvBhH,UAAU,EAAEgF,KAAK,EACjBvF,YAAY,EAAEwF,MAAM;MACxBz2C,OAAO,CAAC0H,GAAG,CAAC,wCAAwC,CAAC;MACrD1H,OAAO,CAAC0H,GAAG,CAAC;QAAE2tC,SAAS,EAATA;MAAU,CAAC,CAAC;MAC1B,IAAIoD,UAAU,GAAG,EAAE;MACnB,KAAI,IAAI9B,QAAQ,GAAG,CAAC,EAAEA,QAAQ,GAAGtB,SAAS,CAACjpD,MAAM,EAAEuqD,QAAQ,EAAE,EAAE;QAAA,IAAA+B,gBAAA;QAC3DnD,QAAQ,GAAGF,SAAS,CAACsB,QAAQ,CAAC;QAC9Bc,+BAA+B,GAAGlC,QAAQ,CAACrjD,YAAY,CAACymD,mCAAmC,CAAC;QAC5FjB,YAAY,GAAGnC,QAAQ,CAACtjD,aAAa,CAAC,KAAK,GAAG0Q,WAAW,GAAG,IAAI,GAAGA,WAAW,CAAC;QAC/EoiC,OAAO,GAAGp1C,GAAG,CAACuE,+BAA+B,CAACwjD,YAAY,CAAC;QAC3DC,oBAAoB,GAAGpC,QAAQ,CAACtjD,aAAa,CAAC,KAAK,GAAG2mD,mBAAmB,GAAG,IAAI,GAAGA,mBAAmB,CAAC;QACvGhB,eAAe,GAAGjoD,GAAG,CAACuE,+BAA+B,CAACyjD,oBAAoB,CAAC;QAC3EE,UAAU,GAAGtC,QAAQ,CAACtjD,aAAa,CAAC,KAAK,GAAG4mD,SAAS,GAAG,IAAI,GAAGA,SAAS,CAAC;QACzEf,KAAK,GAAGnoD,GAAG,CAACuE,+BAA+B,CAAC2jD,UAAU,CAAC;QACvDE,wBAAwB,GAAGxC,QAAQ,CAACtjD,aAAa,CAAC,KAAK,GAAG6mD,6BAA6B,GAAG,IAAI,GAAGA,6BAA6B,CAAC;QAC/Hd,mBAAmB,GAAGroD,GAAG,CAACuE,+BAA+B,CAAC6jD,wBAAwB,CAAC;QACnFE,8BAA8B,GAAG1C,QAAQ,CAACtjD,aAAa,CAAC,KAAK,GAAG8mD,6BAA6B,GAAG,IAAI,GAAGA,6BAA6B,CAAC;QACrIb,yBAAyB,GAAGvoD,GAAG,CAACuE,+BAA+B,CAAC+jD,8BAA8B,CAAC;QAC/FE,4BAA4B,GAAG5C,QAAQ,CAACtjD,aAAa,CAAC,KAAK,GAAG+mD,2BAA2B,GAAG,IAAI,GAAGA,2BAA2B,CAAC;QAC/HZ,uBAAuB,GAAGzoD,GAAG,CAACuE,+BAA+B,CAACikD,4BAA4B,CAAC;QAC3FE,uBAAuB,GAAG9C,QAAQ,CAACtjD,aAAa,CAAC,KAAK,GAAGgnD,sBAAsB,GAAG,IAAI,GAAGA,sBAAsB,CAAC;QAChHX,kBAAkB,GAAG3oD,GAAG,CAACuE,+BAA+B,CAACmkD,uBAAuB,CAAC;QACjFE,aAAa,GAAGhD,QAAQ,CAACtjD,aAAa,CAAC,KAAK,GAAGinD,YAAY,GAAG,IAAI,GAAGA,YAAY,CAAC;QAClFV,QAAQ,GAAG7oD,GAAG,CAACuE,+BAA+B,CAACqkD,aAAa,CAAC;QAC7D/G,UAAU,GAAG+D,QAAQ,CAACtjD,aAAa,CAAC,KAAK,GAAG83C,SAAS,GAAG,IAAI,GAAGA,SAAS,CAAC;QACzEyM,KAAK,GAAG7mD,GAAG,CAACuE,+BAA+B,CAACs9C,UAAU,CAAC;QACvDP,YAAY,GAAGsE,QAAQ,CAACtjD,aAAa,CAACulD,qCAAqC,GAAG,MAAM,GAAGvjD,UAAU,GAAG,IAAI,GAAGD,UAAU,GAAG,GAAG,GAAGqjD,QAAQ,GAAG,GAAG,GAAGpjD,UAAU,CAAC;QAC1JwiD,MAAM,GAAGxF,YAAY,CAAC19C,SAAS,CAACC,QAAQ,CAACM,UAAU,CAAC;QACpD2kD,UAAU,CAACx8C,IAAI,EAAAy8C,gBAAA,OAAApjD,yBAAA,CAAAA,yBAAA,CAAAA,yBAAA,CAAAA,yBAAA,CAAAA,yBAAA,CAAAA,yBAAA,CAAAA,yBAAA,CAAAA,yBAAA,CAAAA,yBAAA,CAAAA,yBAAA,CAAAojD,gBAAA,EACVC,mCAAmC,EAAGlB,+BAA+B,GACnE5wC,gBAAgB,EAAGiuC,YAAY,GAC/BvP,aAAa,EAAGR,OAAO,GACvBoU,qBAAqB,EAAGvB,eAAe,GACvCwB,WAAW,EAAGtB,KAAK,GACnBgB,6BAA6B,EAAGd,mBAAmB,GACnDe,6BAA6B,EAAGb,yBAAyB,GACzDc,2BAA2B,EAAGZ,uBAAuB,GACrDa,sBAAsB,EAAGX,kBAAkB,GAC3CY,YAAY,EAAGV,QAAQ,GAAAljD,yBAAA,CAAAA,yBAAA,CAAAA,yBAAA,CAAAojD,gBAAA,EACvB3O,SAAS,EAAGyM,KAAK,GACjBviD,UAAU,EAAGwiD,MAAM,GACnB4C,sBAAsB,EAAG,IAAI,CAACC,2BAA2B,CAAC/D,QAAQ,EAAEkC,+BAA+B,CAAC,EAC1G,CAAC;MACN;MACA,OAAOgB,UAAU;IACrB;EAAC;IAAA1sD,GAAA;IAAAC,KAAA,EACD,SAAAstD,2BAA2BA,CAACC,gCAAgC,EAAE9B,+BAA+B,EAAE;MAC3F,IAAIpC,SAAS,GAAGkE,gCAAgC,CAAC5rD,gBAAgB,CAAC6rD,0BAA0B,GAAG,YAAY,GAAGH,sBAAsB,GAAG,GAAG,GAAGlmD,SAAS,CAAC;MACvJ,IAAIkiD,SAAS,IAAI,IAAI,IAAIA,SAAS,CAACjpD,MAAM,IAAI,CAAC,EAAE,OAAO,EAAE;MACzDipD,SAAS,GAAG9kC,KAAK,CAACC,IAAI,CAAC6kC,SAAS,CAAC;MACjC,IAAIE,QAAQ,EACRkE,0BAA0B,EAAEC,qBAAqB,EACjDC,mBAAmB,EAAEC,cAAc,EACnCC,kBAAkB,EAAEC,aAAa,EACjCtI,UAAU,EAAEgF,KAAK,EACjBvF,YAAY,EAAEwF,MAAM;MACxBz2C,OAAO,CAAC0H,GAAG,CAAC,6BAA6B,CAAC;MAC1C1H,OAAO,CAAC0H,GAAG,CAAC;QAAE2tC,SAAS,EAATA;MAAU,CAAC,CAAC;MAC1B,IAAI0E,cAAc,GAAG,EAAE;MACvB,KAAI,IAAIpD,QAAQ,GAAG,CAAC,EAAEA,QAAQ,GAAGtB,SAAS,CAACjpD,MAAM,EAAEuqD,QAAQ,EAAE,EAAE;QAC3DpB,QAAQ,GAAGF,SAAS,CAACsB,QAAQ,CAAC;QAC9B8C,0BAA0B,GAAGlE,QAAQ,CAACtjD,aAAa,CAAC,KAAK,GAAG+nD,yBAAyB,GAAG,IAAI,GAAGA,yBAAyB,CAAC;QACzHN,qBAAqB,GAAG/pD,GAAG,CAACuE,+BAA+B,CAACulD,0BAA0B,CAAC;QACvFE,mBAAmB,GAAGpE,QAAQ,CAACtjD,aAAa,CAAC,KAAK,GAAGgoD,kBAAkB,GAAG,IAAI,GAAGA,kBAAkB,CAAC;QACpGL,cAAc,GAAGjqD,GAAG,CAACuE,+BAA+B,CAACylD,mBAAmB,CAAC;QACzEE,kBAAkB,GAAGtE,QAAQ,CAACtjD,aAAa,CAAC,KAAK,GAAGioD,iBAAiB,GAAG,IAAI,GAAGA,iBAAiB,CAAC;QACjGJ,aAAa,GAAGnqD,GAAG,CAACuE,+BAA+B,CAAC2lD,kBAAkB,CAAC;QACvErI,UAAU,GAAG+D,QAAQ,CAACtjD,aAAa,CAAC,KAAK,GAAG83C,SAAS,GAAG,IAAI,GAAGA,SAAS,CAAC;QACzEyM,KAAK,GAAG7mD,GAAG,CAACuE,+BAA+B,CAACs9C,UAAU,CAAC;QACvDP,YAAY,GAAGsE,QAAQ,CAACtjD,aAAa,CAACunD,0BAA0B,GAAG,MAAM,GAAGvlD,UAAU,GAAG,IAAI,GAAGD,UAAU,GAAG,GAAG,GAAGqjD,QAAQ,GAAG,GAAG,GAAGpjD,UAAU,CAAC;QAC/IwiD,MAAM,GAAGxF,YAAY,CAAC19C,SAAS,CAACC,QAAQ,CAACM,UAAU,CAAC;QACpDimD,cAAc,CAAC99C,IAAI,CAAA3G,yBAAA,CAAAA,yBAAA,CAAAA,yBAAA,CAAAA,yBAAA,CAAAA,yBAAA,CAAAA,yBAAA,CAAAA,yBAAA,KACd6kD,wBAAwB,EAAG5E,QAAQ,CAACrjD,YAAY,CAACioD,wBAAwB,CAAC,GACxExB,mCAAmC,EAAGlB,+BAA+B,GACrE2C,2BAA2B,EAAGV,qBAAqB,GACnDW,oBAAoB,EAAGT,cAAc,GACrCM,iBAAiB,EAAGJ,aAAa,GACjC/P,SAAS,EAAGyM,KAAK,GACjBviD,UAAU,EAAGwiD,MAAM,CACzB,CAAC;MACN;MACA,OAAOsD,cAAc;IACzB;EAAC;IAAAhuD,GAAA;IAAAC,KAAA,EACD,SAAAy7C,gBAAgBA,CAAC/D,KAAK,EAAEE,GAAG,EAAE,CAE7B;EAAC;IAAA73C,GAAA;IAAAC,KAAA,EACD,SAAA27C,4BAA4BA,CAACjE,KAAK,EAAE;MAChC,IAAI+N,OAAO,GAAG/N,KAAK,CAAC/1C,gBAAgB,CAAC,KAAK,GAAGo6C,UAAU,CAAC;MACxD,IAAI2J,SAAS,GAAGD,OAAO,CAAC,CAAC,CAAC;MAC1B,IAAIE,yBAAyB,GAAG,CAC5B,KAAK,GAAG2C,WAAW,GAAG,OAAO,GAAGA,WAAW,EACzC,MAAM,GAAGE,iBAAiB,GAAG,OAAO,GAAGA,iBAAiB,EACxD,MAAM,GAAGvwC,YAAY,GAAG,OAAO,GAAGA,YAAY,EAC9C,MAAM,GAAG4wC,eAAe,GAAG,OAAO,GAAGA,eAAe,CACzD,CAACpnB,IAAI,CAAC,EAAE,CAAC;MACVikB,SAAS,CAAC/jD,gBAAgB,CAACgkD,yBAAyB,CAAC,CAAC76C,OAAO,CAAC,UAAC86C,gBAAgB,EAAK;QAChFA,gBAAgB,CAACC,KAAK,CAAC,CAAC;MAC5B,CAAC,CAAC;IACN;EAAC;IAAA9lD,GAAA;IAAAC,KAAA,EACD,SAAAq2C,sBAAsBA,CAAA,EAAG;MACrB,IAAIiY,UAAU,CAACzzC,gBAAgB,CAAC,GAAG,CAAC,EAAE;QAClC,IAAIpF,WAAW,GAAG2/B,aAAa,CAACe,cAAc,CAAC,CAAC;QAChD,IAAIoY,gBAAgB,GAAG94C,WAAW,CAACxP,aAAa,CAAC,GAAG,GAAG4U,gBAAgB,CAAC;QACxElX,GAAG,CAACS,sBAAsB,CAACmqD,gBAAgB,EAAE,EAAE,CAAC;MACpD;MACAhsC,uBAAA,CAAA4lC,iBAAA;IACJ;EAAC;IAAApoD,GAAA;IAAAC,KAAA,EAED,SAAA+1C,eAAeA,CAAA,EAAG;MACdxzB,uBAAA,CAAA4lC,iBAAA;MACA,IAAI,CAACqG,2BAA2B,CAAC,CAAC;MAClC,IAAI,CAACC,uBAAuB,CAAC,CAAC;MAC9B,IAAI,CAACC,yCAAyC,CAAC,CAAC;IACpD;EAAC;IAAA3uD,GAAA;IAAAC,KAAA,EACD,SAAAwuD,2BAA2BA,CAAA,EAAG;MAC1B,IAAI,CAACG,iCAAiC,CAAC,CAAC;MACxC,IAAI,CAACC,uCAAuC,CAAC,CAAC;MAC9C,IAAI,CAACC,qCAAqC,CAAC,CAAC;MAC5C,IAAI,CAACC,kCAAkC,CAAC,CAAC;MACzC,IAAI,CAACC,qCAAqC,CAAC,CAAC;MAC5C,IAAI,CAACC,+BAA+B,CAAC,CAAC;MACtC,IAAIV,UAAU,CAACzzC,gBAAgB,CAAC,GAAG,CAAC,EAAE;QAClC,IAAI68B,KAAK,GAAGh2C,QAAQ,CAACuE,aAAa,CAACmiD,iBAAiB,GAAG,QAAQ,CAAC;QAChE,IAAIxQ,GAAG,GAAGF,KAAK,CAACzxC,aAAa,CAAC,IAAI,CAAC;QACnC2xC,GAAG,CAACrwC,SAAS,CAACE,GAAG,CAACs0C,UAAU,CAAC;QAC7B,IAAI,CAACJ,4BAA4B,CAACjE,KAAK,CAAC;MAC5C;IACJ;EAAC;IAAA33C,GAAA;IAAAC,KAAA,EACD,SAAA2uD,iCAAiCA,CAAA,EAAG;MAChC,IAAI5O,SAAS,GAAGuI,WAAW;MAC3B,IAAItI,UAAU,GAAGt8C,WAAK,CAACyX,eAAe,CAAC8zC,cAAc,CAAC,CAAC,CAAC;MACxD,IAAI/O,YAAY,GAAGkI,iBAAiB,GAAG,MAAM,GAAGE,WAAW;MAC3D,IAAI,CAAC1I,0BAA0B,CAC3BG,SAAS,EACPC,UAAU,EACVE,YACN,CAAC;IACL;EAAC;IAAAngD,GAAA;IAAAC,KAAA,EACD,SAAA4uD,uCAAuCA,CAAA,EAAG;MACtC,IAAI7O,SAAS,GAAGyI,iBAAiB;MACjC,IAAIxI,UAAU,GAAGt8C,WAAK,CAACyX,eAAe,CAAC+zC,oBAAoB,CAAC,CAAC,CAAC;MAC9D,IAAIhP,YAAY,GAAGkI,iBAAiB,GAAG,MAAM,GAAGI,iBAAiB;MACjE,IAAI,CAAC5I,0BAA0B,CAC3BG,SAAS,EACPC,UAAU,EACVE,YACN,CAAC;IACL;EAAC;IAAAngD,GAAA;IAAAC,KAAA,EACD,SAAA6uD,qCAAqCA,CAAA,EAAG;MACpC,IAAI,CAACnS,6BAA6B,CAAC0L,iBAAiB,GAAG,MAAM,GAAGM,sBAAsB,GAAG,IAAI,GAAGA,sBAAsB,CAAC;IAC3H;EAAC;IAAA3oD,GAAA;IAAAC,KAAA,EACD,SAAA8uD,kCAAkCA,CAAA,EAAG;MACjC,IAAI/O,SAAS,GAAG9nC,YAAY;MAC5B,IAAI+nC,UAAU,GAAGt8C,WAAK,CAACyX,eAAe,CAACwpC,eAAe,CAAC,CAAC,CAAC;MACzD,IAAIzE,YAAY,GAAGkI,iBAAiB,GAAG,MAAM,GAAGnwC,YAAY;MAC5D,IAAI,CAAC2nC,0BAA0B,CAC3BG,SAAS,EACPC,UAAU,EACVE,YACN,CAAC;IACL;EAAC;IAAAngD,GAAA;IAAAC,KAAA,EACD,SAAA+uD,qCAAqCA,CAAA,EAAG;MACpC,IAAIhP,SAAS,GAAG8I,eAAe;MAC/B,IAAI7I,UAAU,GAAGt8C,WAAK,CAACyX,eAAe,CAACg0C,kBAAkB,CAAC,CAAC,CAAC;MAC5D,IAAIjP,YAAY,GAAGkI,iBAAiB,GAAG,MAAM,GAAGS,eAAe;MAC/D,IAAI,CAACjJ,0BAA0B,CAC3BG,SAAS,EACPC,UAAU,EACVE,YACN,CAAC;IACL;EAAC;IAAAngD,GAAA;IAAAC,KAAA,EACD,SAAAgvD,+BAA+BA,CAAA,EAAG;MAC9B,IAAI,CAACtS,6BAA6B,CAAC0L,iBAAiB,GAAG,MAAM,GAAGrK,SAAS,GAAG,IAAI,GAAGA,SAAS,CAAC;IACjG;EAAC;IAAAh+C,GAAA;IAAAC,KAAA,EACD,SAAAyuD,uBAAuBA,CAAA,EAAG;MACtBhkD,MAAM,CAACC,sBAAsB,CAAC4+C,mBAAmB,EAAEr+C,eAAe,EAAE,UAAC0uC,KAAK,EAAK;QAC3E,IAAImC,cAAc,GAAGwN,mBAAmB,GAAG,YAAY,GAAGvN,UAAU;QACpE,IAAIC,YAAY,GAAGt6C,QAAQ,CAACuE,aAAa,CAAC61C,cAAc,CAAC;QACzDp4C,WAAK,CAAC4X,oCAAoC,CAAC,kBAAkB,EAAE0gC,YAAY,CAAC;QAC5E,IAAIR,SAAS,GAAG95C,QAAQ,CAACC,gBAAgB,CAAC2nD,mBAAmB,GAAG,eAAe,CAAC,CAAClpD,MAAM;QACvF6nD,oBAAoB,GAAGjM,YAAY,CAAC7jB,SAAS,CAAC,IAAI,CAAC;QACnDz2B,QAAQ,CAACC,gBAAgB,CAACm6C,cAAc,CAAC,CAAChxC,OAAO,CAAC,UAAS8sC,GAAG,EAAE;UAC5DA,GAAG,CAAClwC,MAAM,CAAC,CAAC;QAChB,CAAC,CAAC;QACFugD,oBAAoB,CAACjkD,YAAY,CAACsnD,iBAAiB,EAAE,CAAC,CAAC,GAAG9P,SAAS,CAAC;MACxE,CAAC,CAAC;MAEF,IAAI,CAAC4T,4CAA4C,CAAC,CAAC;MACnD,IAAI,CAACC,oDAAoD,CAAC,CAAC;MAC3D,IAAI,CAACC,gDAAgD,CAAC,CAAC;MACvD,IAAI,CAACC,gDAAgD,CAAC,CAAC;MACvD,IAAI,CAACC,gDAAgD,CAAC,CAAC;MACvD,IAAI,CAACC,gDAAgD,CAAC,CAAC;MACvD,IAAI,CAACC,qCAAqC,CAAC,CAAC;MAC5C,IAAI,CAACC,4CAA4C,CAAC,CAAC;MACnD,IAAI,CAACC,kCAAkC,CAAC,CAAC;MACzC,IAAI,CAACC,mCAAmC,CAAC,CAAC;IAC9C;EAAC;IAAA9vD,GAAA;IAAAC,KAAA,EACD,SAAAovD,4CAA4CA,CAAA,EAAG;MAC3C,IAAIrP,SAAS,GAAG8K,mBAAmB;MACnC,IAAI7K,UAAU,GAAGt8C,WAAK,CAACyX,eAAe,CAAC20C,sBAAsB,CAAC,CAAC,CAAC;MAChE,IAAI5P,YAAY,GAAGoJ,mBAAmB,GAAG,MAAM,GAAGuB,mBAAmB;MACrE,IAAI,CAACjL,0BAA0B,CAC3BG,SAAS,EACPC,UAAU,EACVE,YACN,CAAC;IACL;EAAC;IAAAngD,GAAA;IAAAC,KAAA,EACD,SAAAqvD,oDAAoDA,CAAA,EAAG;MACnD,IAAItP,SAAS,GAAG+K,sCAAsC;MACtD,IAAI9K,UAAU,GAAGt8C,WAAK,CAACyX,eAAe,CAAC40C,gCAAgC,CAAC,CAAC,CAAC;MAC1E,IAAI7P,YAAY,GAAGoJ,mBAAmB,GAAG,MAAM,GAAGwB,sCAAsC;MACxF,IAAI,CAAClL,0BAA0B,CAC3BG,SAAS,EACPC,UAAU,EACVE,YACN,CAAC;IACL;EAAC;IAAAngD,GAAA;IAAAC,KAAA,EACD,SAAAsvD,gDAAgDA,CAAA,EAAG;MAC/C,IAAIvP,SAAS,GAAGgL,kCAAkC;MAClD,IAAI/K,UAAU,GAAGt8C,WAAK,CAACyX,eAAe,CAAC40C,gCAAgC,CAAC,CAAC,CAAC;MAC1E,IAAI7P,YAAY,GAAGoJ,mBAAmB,GAAG,MAAM,GAAGyB,kCAAkC;MACpF,IAAI,CAACnL,0BAA0B,CAC3BG,SAAS,EACPC,UAAU,EACVE,YACN,CAAC;IACL;EAAC;IAAAngD,GAAA;IAAAC,KAAA,EACD,SAAAuvD,gDAAgDA,CAAA,EAAG;MAC/C,IAAIxP,SAAS,GAAGiL,kCAAkC;MAClD,IAAIhL,UAAU,GAAGt8C,WAAK,CAACyX,eAAe,CAAC40C,gCAAgC,CAAC,CAAC,CAAC;MAC1E,IAAI7P,YAAY,GAAGoJ,mBAAmB,GAAG,MAAM,GAAG0B,kCAAkC;MACpF,IAAI,CAACpL,0BAA0B,CAC3BG,SAAS,EACPC,UAAU,EACVE,YACN,CAAC;IACL;EAAC;IAAAngD,GAAA;IAAAC,KAAA,EACD,SAAAwvD,gDAAgDA,CAAA,EAAG;MAC/C,IAAIzP,SAAS,GAAGkL,kCAAkC;MAClD,IAAIjL,UAAU,GAAGt8C,WAAK,CAACyX,eAAe,CAAC40C,gCAAgC,CAAC,CAAC,CAAC;MAC1E,IAAI7P,YAAY,GAAGoJ,mBAAmB,GAAG,MAAM,GAAG2B,kCAAkC;MACpF,IAAI,CAACrL,0BAA0B,CAC3BG,SAAS,EACPC,UAAU,EACVE,YACN,CAAC;IACL;EAAC;IAAAngD,GAAA;IAAAC,KAAA,EACD,SAAAyvD,gDAAgDA,CAAA,EAAG;MAC/C,IAAI1P,SAAS,GAAGmL,kCAAkC;MAClD,IAAIlL,UAAU,GAAGt8C,WAAK,CAACyX,eAAe,CAAC40C,gCAAgC,CAAC,CAAC,CAAC;MAC1E,IAAI7P,YAAY,GAAGoJ,mBAAmB,GAAG,MAAM,GAAG4B,kCAAkC;MACpF,IAAI,CAACtL,0BAA0B,CAC3BG,SAAS,EACPC,UAAU,EACVE,YACN,CAAC;IACL;EAAC;IAAAngD,GAAA;IAAAC,KAAA,EACD,SAAA0vD,qCAAqCA,CAAA,EAAG;MACpC,IAAI,CAAChT,6BAA6B,CAAC4M,mBAAmB,GAAG,MAAM,GAAG6B,YAAY,GAAG,IAAI,GAAGA,YAAY,CAAC;IACzG;EAAC;IAAAprD,GAAA;IAAAC,KAAA,EACD,SAAA2vD,4CAA4CA,CAAA,EAAG;MAC3C,IAAI,CAACjT,6BAA6B,CAAC4M,mBAAmB,GAAG,MAAM,GAAG8B,mBAAmB,GAAG,IAAI,GAAGA,mBAAmB,CAAC;IACvH;EAAC;IAAArrD,GAAA;IAAAC,KAAA,EACD,SAAA4vD,kCAAkCA,CAAA,EAAG;MACjC,IAAI,CAAClT,6BAA6B,CAAC4M,mBAAmB,GAAG,MAAM,GAAGvL,SAAS,GAAG,IAAI,GAAGA,SAAS,CAAC;IACnG;EAAC;IAAAh+C,GAAA;IAAAC,KAAA,EACD,SAAA6vD,mCAAmCA,CAAA,EAAG;MAAA,IAAAxwC,MAAA;MAClC,IAAI,CAAC2+B,kBAAkB,CAACiL,eAAe,EAAE,UAAC99C,KAAK,EAAEtH,OAAO,EAAK;QAAEwb,MAAI,CAAC2wC,kCAAkC,CAAC7kD,KAAK,EAAEtH,OAAO,CAAC;MAAE,CAAC,CAAC;IAC9H;EAAC;IAAA9D,GAAA;IAAAC,KAAA,EACD,SAAAgwD,kCAAkCA,CAAC7kD,KAAK,EAAE0T,MAAM,EAAE;MAC9C1T,KAAK,CAACC,eAAe,CAAC,CAAC;MACvB68C,oBAAoB,CAACjkD,YAAY,CAACsnD,iBAAiB,EAAE,CAAC,CAAC,GAAGrD,oBAAoB,CAAC/hD,YAAY,CAAColD,iBAAiB,CAAC,CAAC;MAC/G,IAAI5T,KAAK,GAAGh2C,QAAQ,CAACuE,aAAa,CAACqjD,mBAAmB,GAAG,QAAQ,CAAC;MAClE,IAAI5R,KAAK,CAACnwC,SAAS,CAACC,QAAQ,CAACgV,eAAe,CAAC,EAAE;MAC/C,IAAIo7B,GAAG,GAAGqQ,oBAAoB,CAAC9vB,SAAS,CAAC,IAAI,CAAC;MAC9Cyf,GAAG,CAACrwC,SAAS,CAACG,MAAM,CAACuD,eAAe,CAAC;MACrC2sC,GAAG,CAACj2C,gBAAgB,CAAC,GAAG,GAAGsJ,eAAe,CAAC,CAACH,OAAO,CAAC,UAASjH,OAAO,EAAE;QAClEA,OAAO,CAAC0D,SAAS,CAACG,MAAM,CAACuD,eAAe,CAAC;MAC7C,CAAC,CAAC;MACF,IAAIuwC,SAAS,GAAG95C,QAAQ,CAACC,gBAAgB,CAAC2nD,mBAAmB,GAAG,eAAe,CAAC,CAAClpD,MAAM;MACvFw3C,GAAG,CAAC5zC,YAAY,CAACsnD,iBAAiB,EAAE,CAAC,CAAC,GAAG9P,SAAS,CAAC;MACnD9D,KAAK,CAACgE,OAAO,CAAC9D,GAAG,CAAC;MAClBF,KAAK,CAACnvC,SAAS,GAAG,CAAC;MACnB,IAAI,CAACkmD,uBAAuB,CAAC,CAAC;MAC9B,IAAI,CAACwB,uCAAuC,CAACvY,KAAK,CAAC;IACvD;EAAC;IAAA33C,GAAA;IAAAC,KAAA,EACD,SAAAiwD,uCAAuCA,CAACvY,KAAK,EAAE;MAC3C,IAAI+N,OAAO,GAAG/N,KAAK,CAAC/1C,gBAAgB,CAAC,KAAK,GAAGo6C,UAAU,CAAC;MACxD,IAAI2J,SAAS,GAAGD,OAAO,CAAC,CAAC,CAAC;MAC1B,IAAIE,yBAAyB,GAAG,CAC5B,KAAK,GAAGkF,mBAAmB,GAAG,OAAO,GAAGA,mBAAmB,EACzD,MAAM,GAAGC,sCAAsC,GAAG,OAAO,GAAGA,sCAAsC,EAClG,MAAM,GAAGC,kCAAkC,GAAG,OAAO,GAAGA,kCAAkC,EAC1F,MAAM,GAAGC,kCAAkC,GAAG,OAAO,GAAGA,kCAAkC,EAC1F,MAAM,GAAGC,kCAAkC,GAAG,OAAO,GAAGA,kCAAkC,EAC1F,MAAM,GAAGC,kCAAkC,GAAG,OAAO,GAAGA,kCAAkC,CAC/F,CAACzpB,IAAI,CAAC,EAAE,CAAC;MACVikB,SAAS,CAAC/jD,gBAAgB,CAACgkD,yBAAyB,CAAC,CAAC76C,OAAO,CAAC,UAAC86C,gBAAgB,EAAK;QAChFA,gBAAgB,CAACC,KAAK,CAAC,CAAC;MAC5B,CAAC,CAAC;IACN;EAAC;IAAA9lD,GAAA;IAAAC,KAAA,EACD,SAAA0uD,yCAAyCA,CAAA,EAAG;MACxCjkD,MAAM,CAACC,sBAAsB,CAAC8gD,qCAAqC,EAAEvgD,eAAe,EAAE,UAAC0uC,KAAK,EAAK;QAC7F,IAAImC,cAAc,GAAG0P,qCAAqC,GAAG,YAAY,GAAGzP,UAAU;QACtF,IAAIC,YAAY,GAAGt6C,QAAQ,CAACuE,aAAa,CAAC61C,cAAc,CAAC;QACzDp4C,WAAK,CAAC4X,oCAAoC,CAAC,kBAAkB,EAAE0gC,YAAY,CAAC;QAC5E,IAAIR,SAAS,GAAG95C,QAAQ,CAACC,gBAAgB,CAAC6pD,qCAAqC,GAAG,eAAe,CAAC,CAACprD,MAAM;QACzG8nD,sCAAsC,GAAGlM,YAAY,CAAC7jB,SAAS,CAAC,IAAI,CAAC;QACrEz2B,QAAQ,CAACC,gBAAgB,CAACm6C,cAAc,CAAC,CAAChxC,OAAO,CAAC,UAAS8sC,GAAG,EAAE;UAC5DA,GAAG,CAAClwC,MAAM,CAAC,CAAC;QAChB,CAAC,CAAC;QACFwgD,sCAAsC,CAAClkD,YAAY,CAAC2oD,mCAAmC,EAAE,CAAC,CAAC,GAAGnR,SAAS,CAAC;MAC5G,CAAC,CAAC;MAEF,IAAI,CAAC0U,8DAA8D,CAAC,CAAC;MACrE,IAAI,CAACC,sDAAsD,CAAC,CAAC;MAC7D,IAAI,CAACC,8DAA8D,CAAC,CAAC;MACrE,IAAI,CAACC,oDAAoD,CAAC,CAAC;MAC3D,IAAI,CAACC,wEAAwE,CAAC,CAAC;MAC/E,IAAI,CAACC,wEAAwE,CAAC,CAAC;MAC/E,IAAI,CAACC,sEAAsE,CAAC,CAAC;MAC7E,IAAI,CAACC,iEAAiE,CAAC,CAAC;MACxE,IAAI,CAACC,uDAAuD,CAAC,CAAC;MAC9D,IAAI,CAACC,yDAAyD,CAAC,CAAC;MAChE,IAAI,CAACC,oDAAoD,CAAC,CAAC;MAC3D,IAAI,CAACC,wDAAwD,CAAC,CAAC;MAC/D,IAAI,CAACC,qDAAqD,CAAC,CAAC;IAChE;EAAC;IAAA/wD,GAAA;IAAAC,KAAA,EACD,SAAAkwD,8DAA8DA,CAAA,EAAG;MAC7D,IAAI,CAAChP,2BAA2B,CAACsK,qCAAqC,CAAC;MACvE;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACI;IACA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EA9BI;IAAAzrD,GAAA;IAAAC,KAAA,EA+BA,SAAAmwD,sDAAsDA,CAAA,EAAG;MACrD,IAAI,CAAClO,mBAAmB,CAACuJ,qCAAqC,CAAC;IACnE;EAAC;IAAAzrD,GAAA;IAAAC,KAAA,EACD,SAAAowD,8DAA8DA,CAAA,EAAG;MAC7D,IAAIrQ,SAAS,GAAG6M,mBAAmB;MACnC,IAAI5M,UAAU,GAAGt8C,WAAK,CAACyX,eAAe,CAAC41C,uBAAuB,CAAC,CAAC,CAAC;MACjE,IAAI7Q,YAAY,GAAGsL,qCAAqC,GAAG,MAAM,GAAGoB,mBAAmB;MACvF,IAAI,CAAChN,0BAA0B,CAC3BG,SAAS,EACPC,UAAU,EACVE,YACN,CAAC;IACL;EAAC;IAAAngD,GAAA;IAAAC,KAAA,EACD,SAAAqwD,oDAAoDA,CAAA,EAAG;MACnD,IAAItQ,SAAS,GAAG8M,SAAS;MACzB,IAAI7M,UAAU,GAAGt8C,WAAK,CAACyX,eAAe,CAAC61C,YAAY,CAAC,CAAC,CAAC;MACtD,IAAI9Q,YAAY,GAAGsL,qCAAqC,GAAG,MAAM,GAAGqB,SAAS;MAC7E,IAAI,CAACjN,0BAA0B,CAC3BG,SAAS,EACPC,UAAU,EACVE,YACN,CAAC;IACL;EAAC;IAAAngD,GAAA;IAAAC,KAAA,EACD,SAAAswD,wEAAwEA,CAAA,EAAG;MACvE,IAAI,CAAC5T,6BAA6B,CAAC8O,qCAAqC,GAAG,MAAM,GAAGsB,6BAA6B,GAAG,IAAI,GAAGA,6BAA6B,CAAC;IAC7J;EAAC;IAAA/sD,GAAA;IAAAC,KAAA,EACD,SAAAuwD,wEAAwEA,CAAA,EAAG;MACvE,IAAI,CAAC7T,6BAA6B,CAAC8O,qCAAqC,GAAG,MAAM,GAAGuB,6BAA6B,GAAG,IAAI,GAAGA,6BAA6B,CAAC;IAC7J;EAAC;IAAAhtD,GAAA;IAAAC,KAAA,EACD,SAAAwwD,sEAAsEA,CAAA,EAAG;MACrE,IAAI,CAAC9T,6BAA6B,CAAC8O,qCAAqC,GAAG,MAAM,GAAGwB,2BAA2B,GAAG,IAAI,GAAGA,2BAA2B,CAAC;IACzJ;EAAC;IAAAjtD,GAAA;IAAAC,KAAA,EACD,SAAAywD,iEAAiEA,CAAA,EAAG;MAChE,IAAI,CAAC/T,6BAA6B,CAAC8O,qCAAqC,GAAG,MAAM,GAAGyB,sBAAsB,GAAG,IAAI,GAAGA,sBAAsB,CAAC;IAC/I;EAAC;IAAAltD,GAAA;IAAAC,KAAA,EACD,SAAA0wD,uDAAuDA,CAAA,EAAG;MACtD,IAAI,CAAChU,6BAA6B,CAAC8O,qCAAqC,GAAG,MAAM,GAAG0B,YAAY,GAAG,IAAI,GAAGA,YAAY,CAAC;IAC3H;EAAC;IAAAntD,GAAA;IAAAC,KAAA,EACD,SAAA2wD,yDAAyDA,CAAA,EAAG;MACxD;IAAA;EACH;IAAA5wD,GAAA;IAAAC,KAAA,EACD,SAAA4wD,oDAAoDA,CAAA,EAAG;MACnD,IAAI,CAAClU,6BAA6B,CAAC8O,qCAAqC,GAAG,qBAAqB,GAAGzN,SAAS,GAAG,IAAI,GAAGA,SAAS,CAAC;IACpI;EAAC;IAAAh+C,GAAA;IAAAC,KAAA,EACD,SAAA6wD,wDAAwDA,CAAA,EAAG;MAAA,IAAAhwC,MAAA;MACvD,IAAI7V,SAAS,GAAG,OAAO;MACvB,IAAIhG,QAAQ,GAAGwmD,qCAAqC,GAAG,MAAM,GAAG6B,sBAAsB,GAAG,OAAO,GAAGA,sBAAsB;MACzH,IAAI7V,OAAO,GAAG,SAAVA,OAAOA,CAAIrsC,KAAK,EAAEtH,OAAO,EAAK;QAC9B,IAAIotD,QAAQ,GAAGttD,GAAG,CAACiB,kBAAkB,CAACf,OAAO,CAAC;QAC9C,IAAI0pD,gCAAgC,GAAG0D,QAAQ,CAACpsD,OAAO,CAAC,KAAK,GAAGskD,iCAAiC,CAAC;QAClG,IAAIsC,+BAA+B,GAAG8B,gCAAgC,CAACrnD,YAAY,CAACymD,mCAAmC,CAAC;QACxH,IAAIuE,cAAc,GAAGxvD,QAAQ,CAACwI,aAAa,CAAC,OAAO,CAAC;QACpDgnD,cAAc,CAACx2B,EAAE,GAAG8yB,0BAA0B,CAACrhB,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;QAC/D+kB,cAAc,CAAC3pD,SAAS,CAACE,GAAG,CAAC0pD,aAAa,EAAE9D,sBAAsB,CAAC;QAEnE,IAAI5yB,IAAI,GAAG/4B,QAAQ,CAACwI,aAAa,CAAC,OAAO,CAAC;QAC1C,IAAIknD,OAAO,GAAG1vD,QAAQ,CAACwI,aAAa,CAAC,IAAI,CAAC;QAC1C,IAAImnD,uBAAuB,GAAG3vD,QAAQ,CAACwI,aAAa,CAAC,IAAI,CAAC;QAC1DmnD,uBAAuB,CAAC9pD,SAAS,CAACE,GAAG,CAACumD,yBAAyB,CAAC;QAChEqD,uBAAuB,CAAC7mD,SAAS,GAAG,yBAAyB;QAC7D4mD,OAAO,CAAClhC,WAAW,CAACmhC,uBAAuB,CAAC;QAC5C,IAAIC,gBAAgB,GAAG5vD,QAAQ,CAACwI,aAAa,CAAC,IAAI,CAAC;QACnDonD,gBAAgB,CAAC/pD,SAAS,CAACE,GAAG,CAACwmD,kBAAkB,CAAC;QAClDqD,gBAAgB,CAAC9mD,SAAS,GAAG,iBAAiB;QAC9C4mD,OAAO,CAAClhC,WAAW,CAACohC,gBAAgB,CAAC;QACrC,IAAIC,eAAe,GAAG7vD,QAAQ,CAACwI,aAAa,CAAC,IAAI,CAAC;QAClDqnD,eAAe,CAAChqD,SAAS,CAACE,GAAG,CAACymD,iBAAiB,CAAC;QAChDqD,eAAe,CAAC/mD,SAAS,GAAG,gBAAgB;QAC5C4mD,OAAO,CAAClhC,WAAW,CAACqhC,eAAe,CAAC;QACpC,IAAIC,OAAO,GAAG9vD,QAAQ,CAACwI,aAAa,CAAC,IAAI,CAAC;QAC1CsnD,OAAO,CAACjqD,SAAS,CAACE,GAAG,CAACs2C,SAAS,CAAC;QAChCyT,OAAO,CAAChnD,SAAS,GAAG,OAAO;QAC3B4mD,OAAO,CAAClhC,WAAW,CAACshC,OAAO,CAAC;QAC5B,IAAIC,QAAQ,GAAG/vD,QAAQ,CAACwI,aAAa,CAAC,IAAI,CAAC;QAC3CunD,QAAQ,CAAClqD,SAAS,CAACE,GAAG,CAACQ,UAAU,CAAC;QAClC,IAAIypD,eAAe,GAAGhwD,QAAQ,CAACuE,aAAa,CAACi5C,2BAA2B,GAAG,IAAI,GAAGl3C,UAAU,GAAG,GAAG,GAAGqjD,QAAQ,GAAG,GAAG,GAAGpjD,UAAU,GAAG,GAAG,GAAGk3C,OAAO,CAAC;QACjJsS,QAAQ,CAACvhC,WAAW,CAACwhC,eAAe,CAACv5B,SAAS,CAAC,IAAI,CAAC,CAAC;QACrDi5B,OAAO,CAAClhC,WAAW,CAACuhC,QAAQ,CAAC;QAC7Bh3B,IAAI,CAACvK,WAAW,CAACkhC,OAAO,CAAC;QACzBF,cAAc,CAAChhC,WAAW,CAACuK,IAAI,CAAC;QAEhC,IAAI9zB,IAAI,GAAGjF,QAAQ,CAACwI,aAAa,CAAC,OAAO,CAAC;QAE1C,IAAIynD,8BAA8B,GAAGrD,UAAU,CAACnF,iCAAiC,CAAC,CAACpjD,MAAM,CAAC,UAAA6rD,IAAI;UAAA,OAAIA,IAAI,CAACjF,mCAAmC,CAAC,IAAIlB,+BAA+B;QAAA,EAAC;QAC/K,IAAIoG,6BAA6B,GAAIF,8BAA8B,IAAI,IAAI,IAAIA,8BAA8B,CAACvxD,MAAM,IAAI,CAAC,GAAI,IAAI,GAAGuxD,8BAA8B,CAAC,CAAC,CAAC;QACrK,IAAIG,SAAS,GAAID,6BAA6B,IAAI,IAAI,GAAI,IAAI,GAAGA,6BAA6B,CAACxE,sBAAsB,CAAC;QAEtHr5C,OAAO,CAAC0H,GAAG,CAAC;UAAEi2C,8BAA8B,EAA9BA,8BAA8B;UAAEG,SAAS,EAATA;QAAU,CAAC,CAAC;QAC1D,IAAIA,SAAS,IAAI,IAAI,IAAIA,SAAS,CAAC1xD,MAAM,GAAG,CAAC,EAAE;UAC3C,KAAK,IAAI2xD,WAAW,IAAIxvD,MAAM,CAACC,IAAI,CAACsvD,SAAS,CAAC,EAAE;YAC5C,IAAI1+C,QAAQ,GAAG0+C,SAAS,CAACC,WAAW,CAAC;YACrC,IAAIna,GAAG,GAAGuQ,iBAAiB,CAAC6J,oCAAoC,CAAC5+C,QAAQ,CAAC;YAC1EzM,IAAI,CAACupB,WAAW,CAAC0nB,GAAG,CAAC;UACzB;QACJ;QACAsZ,cAAc,CAAChhC,WAAW,CAACvpB,IAAI,CAAC;QAEhCsqD,QAAQ,CAACzqD,SAAS,GAAG0qD,cAAc,CAACe,SAAS;QAE7C,IAAIC,YAAY,GAAGjB,QAAQ,CAACtvD,gBAAgB,CAAC,WAAW,GAAG0rD,sBAAsB,CAAC;QAClF,IAAI6E,YAAY,IAAI,IAAI,IAAIA,YAAY,CAAC9xD,MAAM,GAAG,CAAC,EAAE;UACjD,KAAK,IAAIuqD,QAAQ,GAAG,CAAC,EAAEA,QAAQ,GAAGuH,YAAY,CAAC9xD,MAAM,EAAEuqD,QAAQ,EAAE,EAAE;YAC/D,IAAI/S,IAAG,GAAGsa,YAAY,CAACvH,QAAQ,CAAC;YAChC;;YAEA,IAAIv3C,SAAQ,GAAG0+C,SAAS,CAACnH,QAAQ,CAAC,CAAC,CAAC;YACpC32C,OAAO,CAAC0H,GAAG,CAAC;cAAEivC,QAAQ,EAARA,QAAQ;cAAE/S,GAAG,EAAHA,IAAG;cAAExkC,QAAQ,EAARA;YAAS,CAAC,CAAC,CAAC,CAAC;YAC1C,IAAIy6C,kBAAkB,GAAGjW,IAAG,CAAC3xC,aAAa,CAAC,KAAK,GAAGioD,iBAAiB,GAAG,IAAI,GAAGA,iBAAiB,CAAC;YAChGvqD,GAAG,CAACS,sBAAsB,CAACypD,kBAAkB,EAAEz6C,SAAQ,CAAC86C,iBAAiB,CAAC,CAAC;YAC3E,IAAI1I,UAAU,GAAG5N,IAAG,CAAC3xC,aAAa,CAAC,KAAK,GAAG83C,SAAS,GAAG,IAAI,GAAGA,SAAS,CAAC;YACxEp6C,GAAG,CAACS,sBAAsB,CAACohD,UAAU,EAAEpyC,SAAQ,CAAC2qC,SAAS,CAAC,CAAC;UAC/D;QACJ;QAEAl9B,MAAI,CAACsxC,+BAA+B,CAAC,CAAC;MAC1C,CAAC;MACD1nD,MAAM,CAACM,kBAAkB,CACrBC,SAAS,EACPhG,QAAQ,EACRwyC,OACN,CAAC;MACD,IAAI,CAAC2a,+BAA+B,CAAC,CAAC;IAC1C;EAAC;IAAApyD,GAAA;IAAAC,KAAA,EA8ED,SAAAmyD,+BAA+BA,CAAA,EAAG;MAC9B,IAAI,CAACC,yDAAyD,CAAC,CAAC;MAChE,IAAI,CAACC,kDAAkD,CAAC,CAAC;MACzD,IAAI,CAACC,iDAAiD,CAAC,CAAC;MACxD,IAAI,CAACC,yCAAyC,CAAC,CAAC;MAChD,IAAI,CAACC,0CAA0C,CAAC,CAAC;IACrD;EAAC;IAAAzyD,GAAA;IAAAC,KAAA,EACD,SAAAoyD,yDAAyDA,CAAA,EAAG;MACxD,IAAIrS,SAAS,GAAGiO,yBAAyB;MACzC,IAAIhO,UAAU,GAAGt8C,WAAK,CAACyX,eAAe,CAACs3C,4BAA4B,CAAC,CAAC,CAAC;MACtE,IAAIvS,YAAY,GAAGsN,0BAA0B,GAAG,MAAM,GAAGQ,yBAAyB;MAClF,IAAI,CAACpO,0BAA0B,CAC3BG,SAAS,EACPC,UAAU,EACVE,YACN,CAAC;IACL;EAAC;IAAAngD,GAAA;IAAAC,KAAA,EACD,SAAAqyD,kDAAkDA,CAAA,EAAG;MACjD,IAAItS,SAAS,GAAGkO,kBAAkB;MAClC,IAAIjO,UAAU,GAAGt8C,WAAK,CAACyX,eAAe,CAACu3C,qBAAqB,CAAC,CAAC,CAAC;MAC/D,IAAIxS,YAAY,GAAGsN,0BAA0B,GAAG,MAAM,GAAGS,kBAAkB;MAC3E,IAAI,CAACrO,0BAA0B,CAC3BG,SAAS,EACPC,UAAU,EACVE,YACN,CAAC;IACL;EAAC;IAAAngD,GAAA;IAAAC,KAAA,EACD,SAAAsyD,iDAAiDA,CAAA,EAAG;MAChD,IAAI,CAAC5V,6BAA6B,CAAC8Q,0BAA0B,GAAG,MAAM,GAAGU,iBAAiB,GAAG,IAAI,GAAGA,iBAAiB,CAAC;IAC1H;EAAC;IAAAnuD,GAAA;IAAAC,KAAA,EACD,SAAAuyD,yCAAyCA,CAAA,EAAG;MACxC,IAAI,CAAC7V,6BAA6B,CAAC8Q,0BAA0B,GAAG,MAAM,GAAGzP,SAAS,GAAG,IAAI,GAAGA,SAAS,CAAC;IAC1G;EAAC;IAAAh+C,GAAA;IAAAC,KAAA,EACD,SAAAwyD,0CAA0CA,CAAA,EAAG;MAAA,IAAAnxC,MAAA;MACzC,IAAI,CAAC28B,kBAAkB,CAACqP,sBAAsB,EAAE,UAACliD,KAAK,EAAEtH,OAAO,EAAK;QAAEwd,MAAI,CAACsxC,yCAAyC,CAACxnD,KAAK,EAAEtH,OAAO,CAAC;MAAE,CAAC,CAAC;IAC5I;EAAC;IAAA9D,GAAA;IAAAC,KAAA,EACD,SAAA2yD,yCAAyCA,CAACxnD,KAAK,EAAE0T,MAAM,EAAE;MACrD1T,KAAK,CAACC,eAAe,CAAC,CAAC;MACvB,IAAIwnD,cAAc,GAAGjvD,GAAG,CAACsB,gBAAgB,CAAC4Z,MAAM,EAAE,OAAO,CAAC;MAC1D,IAAI64B,KAAK,GAAGkb,cAAc,CAAC3sD,aAAa,CAAC,gBAAgB,CAAC;MAC1D,IAAI2xC,GAAG,GAAGuQ,iBAAiB,CAAC6J,oCAAoC,CAAC,IAAI,CAAC;MACtE,IAAIta,KAAK,CAACnwC,SAAS,CAACC,QAAQ,CAACgV,eAAe,CAAC,EAAE;MAC/Co7B,GAAG,CAACrwC,SAAS,CAACG,MAAM,CAACuD,eAAe,CAAC;MACrC2sC,GAAG,CAACj2C,gBAAgB,CAAC,GAAG,GAAGsJ,eAAe,CAAC,CAACH,OAAO,CAAC,UAASjH,OAAO,EAAE;QAClEA,OAAO,CAAC0D,SAAS,CAACG,MAAM,CAACuD,eAAe,CAAC;MAC7C,CAAC,CAAC;MACF,IAAIuwC,SAAS,GAAG95C,QAAQ,CAACC,gBAAgB,CAAC6rD,0BAA0B,GAAG,eAAe,CAAC,CAACptD,MAAM;MAC9Fw3C,GAAG,CAAC5zC,YAAY,CAACmqD,wBAAwB,EAAE,CAAC,CAAC,GAAG3S,SAAS,CAAC;MAC1D9D,KAAK,CAACgE,OAAO,CAAC9D,GAAG,CAAC;MAClBF,KAAK,CAACnvC,SAAS,GAAG,CAAC;MACnB,IAAI,CAAC4pD,+BAA+B,CAAC,CAAC;MACtC,IAAI,CAACU,8CAA8C,CAACnb,KAAK,CAAC;IAC9D;EAAC;IAAA33C,GAAA;IAAAC,KAAA,EACD,SAAA6yD,8CAA8CA,CAACnb,KAAK,EAAE;MAClD,IAAI+N,OAAO,GAAG/N,KAAK,CAAC/1C,gBAAgB,CAAC,KAAK,GAAGo6C,UAAU,CAAC;MACxD,IAAI2J,SAAS,GAAGD,OAAO,CAAC,CAAC,CAAC;MAC1B,IAAIE,yBAAyB,GAAG,CAC5B,KAAK,GAAGqI,yBAAyB,GAAG,OAAO,GAAGA,yBAAyB,EACrE,MAAM,GAAGC,kBAAkB,GAAG,OAAO,GAAGA,kBAAkB,EAC1D,MAAM,GAAGC,iBAAiB,GAAG,OAAO,GAAGA,iBAAiB,EACxD,MAAM,GAAGnQ,SAAS,GAAG,OAAO,GAAGA,SAAS,CAC7C,CAACtc,IAAI,CAAC,EAAE,CAAC;MACVikB,SAAS,CAAC/jD,gBAAgB,CAACgkD,yBAAyB,CAAC,CAAC76C,OAAO,CAAC,UAAC86C,gBAAgB,EAAK;QAChFA,gBAAgB,CAACC,KAAK,CAAC,CAAC;MAC5B,CAAC,CAAC;MACF,IAAIiN,eAAe,GAAGpb,KAAK,CAAC/1C,gBAAgB,CAAC,KAAK,GAAGsG,UAAU,GAAG,IAAI,GAAGD,UAAU,GAAG,GAAG,GAAGqjD,QAAQ,GAAG,GAAG,GAAGpjD,UAAU,GAAG,GAAG,GAAGH,UAAU,CAAC,CAAC1H,MAAM;MAClJ;AACR;AACA;AACA;AACA;AACA;MACQ,IAAImtD,gCAAgC,GAAG5pD,GAAG,CAACmB,iBAAiB,CAAC4yC,KAAK,CAAC;MACnE,IAAIqb,aAAa,GAAGxF,gCAAgC,CAACtnD,aAAa,CAAC,KAAK,GAAG+sD,cAAc,GAAG,OAAO,GAAGA,cAAc,CAAC;MACrHD,aAAa,CAACvoD,SAAS,GAAGsoD,eAAe;IAC7C;EAAC;IAAA/yD,GAAA;IAAAC,KAAA,EAED,SAAA8wD,qDAAqDA,CAAA,EAAG;MAAA,IAAA9xB,MAAA;MACpD,IAAI,CAACgf,kBAAkB,CAACmL,iCAAiC,EAAE,UAACh+C,KAAK,EAAEtH,OAAO,EAAK;QAAEm7B,MAAI,CAACi0B,oDAAoD,CAAC9nD,KAAK,EAAEtH,OAAO,CAAC;MAAE,CAAC,CAAC;IAClK;EAAC;IAAA9D,GAAA;IAAAC,KAAA,EACD,SAAAizD,oDAAoDA,CAAC9nD,KAAK,EAAE0T,MAAM,EAAE;MAChE1T,KAAK,CAACC,eAAe,CAAC,CAAC;MACvB88C,sCAAsC,CAAClkD,YAAY,CAAC2oD,mCAAmC,EAAE,CAAC,CAAC,GAAGzE,sCAAsC,CAAChiD,YAAY,CAACymD,mCAAmC,CAAC,CAAC;MACvL,IAAIjV,KAAK,GAAGh2C,QAAQ,CAACuE,aAAa,CAACulD,qCAAqC,GAAG,QAAQ,CAAC;MACpF,IAAI9T,KAAK,CAACnwC,SAAS,CAACC,QAAQ,CAACgV,eAAe,CAAC,EAAE;MAC/C,IAAIo7B,GAAG,GAAGsQ,sCAAsC,CAAC/vB,SAAS,CAAC,IAAI,CAAC;MAChEyf,GAAG,CAACrwC,SAAS,CAACG,MAAM,CAACuD,eAAe,CAAC;MACrC2sC,GAAG,CAACj2C,gBAAgB,CAAC,GAAG,GAAGsJ,eAAe,CAAC,CAACH,OAAO,CAAC,UAASjH,OAAO,EAAE;QAClEA,OAAO,CAAC0D,SAAS,CAACG,MAAM,CAACuD,eAAe,CAAC;MAC7C,CAAC,CAAC;MACF,IAAIuwC,SAAS,GAAG95C,QAAQ,CAACC,gBAAgB,CAAC6pD,qCAAqC,GAAG,eAAe,CAAC,CAACprD,MAAM;MACzGw3C,GAAG,CAAC5zC,YAAY,CAAC2oD,mCAAmC,EAAE,CAAC,CAAC,GAAGnR,SAAS,CAAC;MACrE9D,KAAK,CAACgE,OAAO,CAAC9D,GAAG,CAAC;MAClBF,KAAK,CAACnvC,SAAS,GAAG,CAAC;MACnB,IAAI,CAACmmD,yCAAyC,CAAC,CAAC;MAChD,IAAI,CAACwE,yDAAyD,CAACxb,KAAK,CAAC;IACzE;EAAC;IAAA33C,GAAA;IAAAC,KAAA,EACD,SAAAkzD,yDAAyDA,CAACxb,KAAK,EAAE;MAC7D,IAAI+N,OAAO,GAAG/N,KAAK,CAAC/1C,gBAAgB,CAAC,KAAK,GAAGo6C,UAAU,CAAC;MACxD,IAAI2J,SAAS,GAAGD,OAAO,CAAC,CAAC,CAAC;MAC1B,IAAIE,yBAAyB,GAAG,CAC5B,KAAK,GAAG5vC,mBAAmB,GAAG,OAAO,GAAGA,mBAAmB,EACzD,MAAM,GAAGY,WAAW,GAAG,OAAO,GAAGA,WAAW,EAC5C,MAAM,GAAGi2C,mBAAmB,GAAG,OAAO,GAAGA,mBAAmB,EAC5D,MAAM,GAAGC,SAAS,GAAG,OAAO,GAAGA,SAAS,CAC7C,CAACprB,IAAI,CAAC,EAAE,CAAC;MACVikB,SAAS,CAAC/jD,gBAAgB,CAACgkD,yBAAyB,CAAC,CAAC76C,OAAO,CAAC,UAAC86C,gBAAgB,EAAK;QAChFA,gBAAgB,CAACC,KAAK,CAAC,CAAC;MAC5B,CAAC,CAAC;IACN;EAAC;IAAA9lD,GAAA;IAAAC,KAAA,EAED,SAAAwf,KAAKA,CAAA,EAAG;MACJ+C,uBAAA,CAAA4lC,iBAAA;IACJ;EAAC;IAAApoD,GAAA;IAAAC,KAAA,EA9LD,SAAOgyD,oCAAoCA,CAAC5+C,QAAQ,EAAE;MAClD,IAAIA,QAAQ,IAAI,IAAI,EAAEA,QAAQ,GAAA9J,yBAAA,CAAAA,yBAAA,CAAAA,yBAAA,CAAAA,yBAAA,CAAAA,yBAAA,CAAAA,yBAAA,KACzB6kD,wBAAwB,EAAG,IAAI,GAC7BC,2BAA2B,EAAA9kD,yBAAA,KACzB8kD,2BAA2B,EAAG,CAAC,IAEjCC,oBAAoB,EAAA/kD,yBAAA,KAClB+kD,oBAAoB,EAAG,CAAC,IAE1BH,iBAAiB,EAAG,EAAE,GACtBnQ,SAAS,EAAG,EAAE,GACd91C,UAAU,EAAG,IAAI,CACvB;MACD+L,OAAO,CAAC0H,GAAG,CAAC;QAAEtI,QAAQ,EAARA;MAAS,CAAC,CAAC;MACzB,IAAI+/C,KAAK,GAAI//C,QAAQ,CAAC+6C,wBAAwB,CAAC,IAAI,IAAI,IAAI/6C,QAAQ,CAAC+6C,wBAAwB,CAAC,GAAG,CAAE;MAClG,IAAIvW,GAAG,GAAGl2C,QAAQ,CAACwI,aAAa,CAAC,IAAI,CAAC;MACtC0tC,GAAG,CAACrwC,SAAS,CAACE,GAAG,CAAC4lD,sBAAsB,CAAC;MACzC,IAAI8F,KAAK,EAAEvb,GAAG,CAACrwC,SAAS,CAACE,GAAG,CAACs0C,UAAU,CAAC;MACxCnE,GAAG,CAAC5zC,YAAY,CAACmqD,wBAAwB,EAAE/6C,QAAQ,CAAC+6C,wBAAwB,CAAC,CAAC;MAE9E,IAAIiF,uBAAuB,GAAG1xD,QAAQ,CAACwI,aAAa,CAAC,IAAI,CAAC;MAC1DkpD,uBAAuB,CAAC7rD,SAAS,CAACE,GAAG,CAACumD,yBAAyB,EAAEqF,cAAc,CAAC;MAChF,IAAIC,wBAAwB,GAAG5xD,QAAQ,CAACwI,aAAa,CAAC,KAAK,CAAC;MAC5DopD,wBAAwB,CAAC/rD,SAAS,CAACE,GAAG,CAACumD,yBAAyB,CAAC;MACjE,IAAIuF,uBAAuB,GAAGngD,QAAQ,CAACg7C,2BAA2B,CAAC,CAACA,2BAA2B,CAAC;MAChG,IAAIV,qBAAqB,GAAG+E,4BAA4B,CAACc,uBAAuB,CAAC;MACjF5vD,GAAG,CAACC,4CAA4C,CAAC0vD,wBAAwB,EAAEC,uBAAuB,CAAC;MACnGD,wBAAwB,CAAC9oD,SAAS,GAAIkjD,qBAAqB,IAAI,IAAI,GAAI,EAAE,GAAGA,qBAAqB,CAACjkD,QAAQ,CAAC;MAC3G2pD,uBAAuB,CAACljC,WAAW,CAACojC,wBAAwB,CAAC;MAC7D1b,GAAG,CAAC1nB,WAAW,CAACkjC,uBAAuB,CAAC;MAExC,IAAII,gBAAgB,GAAG9xD,QAAQ,CAACwI,aAAa,CAAC,IAAI,CAAC;MACnDspD,gBAAgB,CAACjsD,SAAS,CAACE,GAAG,CAACwmD,kBAAkB,EAAEoF,cAAc,CAAC;MAClE,IAAII,iBAAiB,GAAG/xD,QAAQ,CAACwI,aAAa,CAAC,KAAK,CAAC;MACrDupD,iBAAiB,CAAClsD,SAAS,CAACE,GAAG,CAACwmD,kBAAkB,CAAC;MACnD,IAAIyF,gBAAgB,GAAGtgD,QAAQ,CAACi7C,oBAAoB,CAAC,CAACA,oBAAoB,CAAC;MAC3E,IAAIT,cAAc,GAAG8E,qBAAqB,CAACgB,gBAAgB,CAAC;MAC5D/vD,GAAG,CAACC,4CAA4C,CAAC6vD,iBAAiB,EAAEC,gBAAgB,CAAC;MACrFD,iBAAiB,CAACjpD,SAAS,GAAIojD,cAAc,IAAI,IAAI,GAAI,EAAE,GAAGA,cAAc,CAACnkD,QAAQ,CAAC;MACtF+pD,gBAAgB,CAACtjC,WAAW,CAACujC,iBAAiB,CAAC;MAC/C7b,GAAG,CAAC1nB,WAAW,CAACsjC,gBAAgB,CAAC;MAEjC,IAAIG,eAAe,GAAGjyD,QAAQ,CAACwI,aAAa,CAAC,IAAI,CAAC;MAClDypD,eAAe,CAACpsD,SAAS,CAACE,GAAG,CAACymD,iBAAiB,EAAEmF,cAAc,CAAC;MAChE,IAAIxF,kBAAkB,GAAGnsD,QAAQ,CAACwI,aAAa,CAAC,OAAO,CAAC;MACxD2jD,kBAAkB,CAACtpD,IAAI,GAAG,QAAQ;MAClCspD,kBAAkB,CAACtmD,SAAS,CAACE,GAAG,CAACymD,iBAAiB,CAAC;MACnD,IAAIJ,aAAa,GAAG16C,QAAQ,CAAC86C,iBAAiB,CAAC;MAC/CvqD,GAAG,CAACS,sBAAsB,CAACypD,kBAAkB,EAAEC,aAAa,CAAC;MAC7DnqD,GAAG,CAACI,gCAAgC,CAAC8pD,kBAAkB,EAAEC,aAAa,CAAC;MACvE6F,eAAe,CAACzjC,WAAW,CAAC29B,kBAAkB,CAAC;MAC/CjW,GAAG,CAAC1nB,WAAW,CAACyjC,eAAe,CAAC;MAEhC,IAAIC,OAAO,GAAGlyD,QAAQ,CAACwI,aAAa,CAAC,IAAI,CAAC;MAC1C0pD,OAAO,CAACrsD,SAAS,CAACE,GAAG,CAACs2C,SAAS,EAAEsV,cAAc,CAAC;MAChD,IAAI7N,UAAU,GAAG9jD,QAAQ,CAACwI,aAAa,CAAC,UAAU,CAAC;MACnDs7C,UAAU,CAACj+C,SAAS,CAACE,GAAG,CAACs2C,SAAS,CAAC;MACnC,IAAIyM,KAAK,GAAGp3C,QAAQ,CAAC2qC,SAAS,CAAC;MAC/Bp6C,GAAG,CAACS,sBAAsB,CAACohD,UAAU,EAAEgF,KAAK,CAAC;MAC7C7mD,GAAG,CAACI,gCAAgC,CAACyhD,UAAU,EAAEgF,KAAK,CAAC;MACvDoJ,OAAO,CAAC1jC,WAAW,CAACs1B,UAAU,CAAC;MAC/B5N,GAAG,CAAC1nB,WAAW,CAAC0jC,OAAO,CAAC;MAExB5/C,OAAO,CAAC0H,GAAG,CAACmyC,kBAAkB,CAACxpD,OAAO,CAAC;MACvC2P,OAAO,CAAC0H,GAAG,CAAC8pC,UAAU,CAACnhD,OAAO,CAAC;MAC/B2P,OAAO,CAAC0H,GAAG,CAAC;QAAEoyC,aAAa,EAAbA,aAAa;QAAEtD,KAAK,EAALA;MAAM,CAAC,CAAC;MAErC,IAAIqJ,QAAQ,GAAGnyD,QAAQ,CAACwI,aAAa,CAAC,IAAI,CAAC;MAC3C2pD,QAAQ,CAACtsD,SAAS,CAACE,GAAG,CAACQ,UAAU,EAAEorD,cAAc,CAAC;MAClD,IAAI3B,eAAe,GAAGhwD,QAAQ,CAACuE,aAAa,CAACi5C,2BAA2B,GAAG,IAAI,GAAGl3C,UAAU,GAAG,GAAG,GAAGqjD,QAAQ,GAAG,GAAG,GAAGpjD,UAAU,GAAG,GAAG,GAAGk3C,OAAO,CAAC;MACjJ,IAAI2U,kBAAkB,GAAGpyD,QAAQ,CAACuE,aAAa,CAACi5C,2BAA2B,GAAG,IAAI,GAAGl3C,UAAU,GAAG,GAAG,GAAGqjD,QAAQ,GAAG,GAAG,GAAGpjD,UAAU,GAAG,GAAG,GAAGH,UAAU,CAAC;MACvJ,IAAIm9C,YAAY,GAAI7xC,QAAQ,CAACnL,UAAU,CAAC,GAAI6rD,kBAAkB,CAAC37B,SAAS,CAAC,IAAI,CAAC,GAAGu5B,eAAe,CAACv5B,SAAS,CAAC,IAAI,CAAC;MAChH07B,QAAQ,CAAC3jC,WAAW,CAAC+0B,YAAY,CAAC;MAClCrN,GAAG,CAAC1nB,WAAW,CAAC2jC,QAAQ,CAAC;MAEzB,OAAOjc,GAAG;IACd;EAAC;AAAA,EAvrB0CxC,aAAa;AAAA9rC,yBAAA,CAAvC6+C,iBAAiB,UACpB4L,qBAAqB;AAAAzqD,yBAAA,CADlB6+C,iBAAiB,qBAETttC,gBAAgB;;;;;;;;;;;;;;;;;;;;ACdd;AAC8C;AAC9C;AACU;AACI;AACN;AACU;AACA;AAAA,IAE5Bm5C,kBAAkB,0BAAAnP,cAAA;EAKnC,SAAAmP,mBAAYp3C,MAAM,EAAE;IAAA,IAAAgC,KAAA;IAAA/e,0BAAA,OAAAm0D,kBAAA;IAChBp1C,KAAA,GAAAyD,qBAAA,OAAA2xC,kBAAA,GAAMp3C,MAAM;IAAEtT,0BAAA,CAAAsV,KAAA,0BAHKhM,GAAG,CAACwH,eAAe;IAItCwE,KAAA,CAAKkmC,QAAQ,GAAG,IAAIP,iBAAiB,CAAA3lC,KAAK,CAAC;IAAC,OAAAA,KAAA;EAChD;EAAC0D,oBAAA,CAAA0xC,kBAAA,EAAAnP,cAAA;EAAA,OAAA/kD,uBAAA,CAAAk0D,kBAAA;IAAAj0D,GAAA;IAAAC,KAAA,EAED,SAAA+c,UAAUA,CAAA,EAAG;MACT,IAAI,CAACC,gBAAgB,CAAC,CAAC;IAC3B;EAAC;IAAAjd,GAAA;IAAAC,KAAA,EAED,SAAA61C,aAAaA,CAAA,EAAG;MACZ,IAAI,CAACS,mBAAmB,CAAC,CAAC;MAC1B,IAAI,CAAC2d,mBAAmB,CAAC,CAAC;MAC1B,IAAI,CAACC,yBAAyB,CAAC,CAAC;MAChC,IAAI,CAAC1a,oBAAoB,CAAC,CAAC;MAC3B,IAAI,CAAC2a,mBAAmB,CAAC,CAAC;MAC1B,IAAI,CAAC1d,kBAAkB,CAAC,CAAC;IAC7B;EAAC;IAAA12C,GAAA;IAAAC,KAAA,EACD,SAAAi0D,mBAAmBA,CAAA,EAAG;MAClB,IAAI,CAAC3c,YAAY,CAACyR,aAAa,CAAC;IACpC;EAAC;IAAAhpD,GAAA;IAAAC,KAAA,EACD,SAAAk0D,yBAAyBA,CAAA,EAAG;MACxB,IAAI,CAAC5c,YAAY,CAAC0R,mBAAmB,CAAC;IAC1C;EAAC;IAAAjpD,GAAA;IAAAC,KAAA,EACD,SAAAm0D,mBAAmBA,CAAA,EAAG;MAClB,IAAI,CAAC7c,YAAY,CAACuR,eAAe,CAAC;IACtC;EAAC;IAAA9oD,GAAA;IAAAC,KAAA,EAED,SAAAk6C,YAAYA,CAACC,OAAO,EAAE;MAClB,IAAIA,OAAO,IAAI,IAAI,EAAE;MACrB,IAAIU,QAAQ,EAAE;QAAEn3C,WAAK,CAAC4X,oCAAoC,CAAC,qBAAqB,EAAE6+B,OAAO,CAAC;MAAE;IAChG;EAAC;IAAAp6C,GAAA;IAAAC,KAAA,EACD,SAAAk7C,UAAUA,CAACtD,GAAG,EAAE;MACZ,IAAIA,GAAG,IAAI,IAAI,EAAE;MACjB,IAAIwc,uBAAuB,GAAGxc,GAAG,CAAC3xC,aAAa,CAAC,KAAK,GAAGyiD,sBAAsB,GAAG,QAAQ,CAAC;MAC1F,IAAIlD,UAAU,GAAG5N,GAAG,CAAC3xC,aAAa,CAAC,KAAK,GAAG83C,SAAS,GAAG,WAAW,CAAC;MACnE,IAAIkH,YAAY,GAAGrN,GAAG,CAAC3xC,aAAa,CAAC,KAAK,GAAGgC,UAAU,GAAG,IAAI,GAAGA,UAAU,CAAC;MAE5E,IAAIi9C,OAAO,GAAG,CAAC,CAAC;MAChBA,OAAO,CAACrqC,gBAAgB,CAAC,GAAG+8B,GAAG,CAAC1xC,YAAY,CAAC2U,gBAAgB,CAAC;MAC9DqqC,OAAO,CAAC6D,aAAa,CAAC,GAAG,IAAI,CAACsL,eAAe,CAACzc,GAAG,CAAC;MAClDsN,OAAO,CAAC8D,mBAAmB,CAAC,GAAG,IAAI,CAACsL,qBAAqB,CAAC1c,GAAG,CAAC;MAC9DsN,OAAO,CAACwD,sBAAsB,CAAC,GAAG/kD,GAAG,CAACuE,+BAA+B,CAACksD,uBAAuB,CAAC;MAC9FlP,OAAO,CAACzL,cAAc,CAAC,GAAG,IAAI,CAAC8a,gBAAgB,CAAC3c,GAAG,CAAC;MACpDsN,OAAO,CAAC2D,eAAe,CAAC,GAAG,IAAI,CAAC2L,mBAAmB,CAAC5c,GAAG,CAAC;MACxDsN,OAAO,CAACnH,SAAS,CAAC,GAAGp6C,GAAG,CAACuE,+BAA+B,CAACs9C,UAAU,CAAC;MACpEN,OAAO,CAACj9C,UAAU,CAAC,GAAGg9C,YAAY,CAAC19C,SAAS,CAACC,QAAQ,CAACM,UAAU,CAAC;MACjE,OAAOo9C,OAAO;IAClB;EAAC;IAAAnlD,GAAA;IAAAC,KAAA,EACD,SAAAq0D,eAAeA,CAAChgC,EAAE,EAAE;MAChB,IAAIogC,cAAc,GAAGpgC,EAAE,CAACpuB,aAAa,CAAC,KAAK,GAAGqiD,WAAW,GAAG,IAAI,GAAGA,WAAW,CAAC;MAC/E,OAAO3kD,GAAG,CAACuE,+BAA+B,CAACusD,cAAc,CAAC;IAC9D;EAAC;IAAA10D,GAAA;IAAAC,KAAA,EACD,SAAAs0D,qBAAqBA,CAACjgC,EAAE,EAAE;MACtB,IAAIqgC,oBAAoB,GAAGrgC,EAAE,CAACpuB,aAAa,CAAC,KAAK,GAAGuiD,iBAAiB,GAAG,IAAI,GAAGA,iBAAiB,CAAC;MACjG,OAAO7kD,GAAG,CAACuE,+BAA+B,CAACwsD,oBAAoB,CAAC;IACpE;EAAC;IAAA30D,GAAA;IAAAC,KAAA,EACD,SAAAu0D,gBAAgBA,CAAClgC,EAAE,EAAE;MACjB,IAAIsgC,eAAe,GAAGtgC,EAAE,CAACpuB,aAAa,CAAC,KAAK,GAAGgS,YAAY,GAAG,IAAI,GAAGA,YAAY,CAAC;MAClF,OAAOtU,GAAG,CAACuE,+BAA+B,CAACysD,eAAe,CAAC;IAC/D;EAAC;IAAA50D,GAAA;IAAAC,KAAA,EACD,SAAAw0D,mBAAmBA,CAACngC,EAAE,EAAE;MACpB,IAAIugC,kBAAkB,GAAGvgC,EAAE,CAACpuB,aAAa,CAAC,KAAK,GAAG4iD,eAAe,GAAG,IAAI,GAAGA,eAAe,CAAC;MAC3F,OAAOllD,GAAG,CAACuE,+BAA+B,CAAC0sD,kBAAkB,CAAC;IAClE;EAAC;IAAA70D,GAAA;IAAAC,KAAA,EACD,SAAAy7C,gBAAgBA,CAAC/D,KAAK,EAAEE,GAAG,EAAE,CAE7B;EAAC;IAAA73C,GAAA;IAAAC,KAAA,EACD,SAAA27C,4BAA4BA,CAACjE,KAAK,EAAE;MAChC,IAAI+N,OAAO,GAAG/N,KAAK,CAAC/1C,gBAAgB,CAAC,KAAK,GAAGo6C,UAAU,CAAC;MACxD,IAAI2J,SAAS,GAAGD,OAAO,CAAC,CAAC,CAAC;MAC1B,IAAIE,yBAAyB,GAAG,CAC5B,KAAK,GAAGkP,UAAU,GAAG,IAAI,GAAGA,UAAU,CACzC,CAACpzB,IAAI,CAAC,EAAE,CAAC;MACV,IAAIqzB,YAAY,GAAGpP,SAAS,CAACz/C,aAAa,CAAC,KAAK,GAAG4uD,UAAU,GAAG,IAAI,GAAGA,UAAU,CAAC,CAAC,CAAC;AAC5F;AACA;AACA;AACA;MACQnP,SAAS,CAACn+C,SAAS,CAACE,GAAG,CAAC+U,eAAe,CAAC;MACxCs4C,YAAY,CAACjP,KAAK,CAAC,CAAC;MACpB;IACJ;EAAC;IAAA9lD,GAAA;IAAAC,KAAA,EAED,SAAA+1C,eAAeA,CAAA,EAAG;MACdxzB,wBAAA,CAAAyxC,kBAAA;MACA,IAAI,CAACe,kBAAkB,CAAC,CAAC;MACzB,IAAI,CAACC,mBAAmB,CAAC,CAAC;MAC1B,IAAI,CAACC,yBAAyB,CAAC,CAAC;MAChC,IAAI,CAACC,uBAAuB,CAAC,CAAC;MAC9B,IAAI,CAACpQ,QAAQ,CAACJ,oBAAoB,CAAC,CAAC;MACpC,IAAI,CAACyQ,mBAAmB,CAAC,CAAC;MAC1B,IAAI,CAACrX,sBAAsB,CAAC,CAAC;MAC7B,IAAI,CAACE,kBAAkB,CAAC,CAAC;IAC7B;EAAC;IAAAj+C,GAAA;IAAAC,KAAA,EACD,SAAA+0D,kBAAkBA,CAAA,EAAG;MAAA,IAAA11C,MAAA;MACjB5U,MAAM,CAACM,kBAAkB,CACrB,OAAO,CAAC;MAAA,EACNmX,WAAW,GAAG,MAAM,GAAG2yC,UAAU,GAAG,UAAU,GAAGA,UAAU,CAAC;MAAA,EAC5D,UAAC1pD,KAAK,EAAEtH,OAAO,EAAK;QAClB,IAAIs+C,QAAQ,GAAGx+C,GAAG,CAACmB,iBAAiB,CAACjB,OAAO,CAAC;QAC7C,IAAIilD,YAAY,GAAG3G,QAAQ,CAACj8C,YAAY,CAAC2U,gBAAgB,CAAC;QAC1D;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;QAEgB,IAAIpF,WAAW,GAAG2/B,aAAa,CAACe,cAAc,CAAC,CAAC;QAChD,IAAIz7B,WAAW,GAAG/W,GAAG,CAAC2B,gBAAgB,CAACmQ,WAAW,CAAC;QACnDiF,WAAW,CAACG,gBAAgB,CAAC,GAAGiuC,YAAY;QAC5CplD,WAAK,CAAC4X,oCAAoC,CAAC,oBAAoB,CAAC;QAChE5X,WAAK,CAAC4X,oCAAoC,CAAC,aAAa,CAAC;QACzD5X,WAAK,CAAC4X,oCAAoC,CAAC7F,WAAW,CAAC;QACvD/R,WAAK,CAAC4X,oCAAoC,CAAC,aAAa,CAAC;QACzD5X,WAAK,CAAC4X,oCAAoC,CAACZ,WAAW,CAAC;QACvD2E,MAAI,CAACG,KAAK,CAAC,CAAC;QACZ5M,GAAG,CAACkC,QAAQ,CAACi/C,qBAAqB,EAAEr5C,WAAW,CAAC;MACpD,CACJ,CAAC;IACL;EAAC;IAAA3a,GAAA;IAAAC,KAAA,EACD,SAAAg1D,mBAAmBA,CAAA,EAAG;MAClB,IAAI,CAACpV,0BAA0B,CAC3B0I,WAAW,EACT5kD,WAAK,CAACyX,eAAe,CAAC8zC,cAAc,CAAC,CAAC;MAC5C,CAAC;IACL;EAAC;IAAAlvD,GAAA;IAAAC,KAAA,EACD,SAAAi1D,yBAAyBA,CAAA,EAAG;MACxB,IAAI,CAACrV,0BAA0B,CAC3B4I,iBAAiB,EACf9kD,WAAK,CAACyX,eAAe,CAAC+zC,oBAAoB,CAAC,CAAC;MAClD,CAAC;IACL;EAAC;IAAAnvD,GAAA;IAAAC,KAAA,EACD,SAAAk1D,uBAAuBA,CAAA,EAAG;MACtB,IAAI,CAACxY,6BAA6B,CAACx6B,WAAW,GAAG,MAAM,GAAGwmC,sBAAsB,GAAG,SAAS,GAAGA,sBAAsB,CAAC;IAC1H;EAAC;IAAA3oD,GAAA;IAAAC,KAAA,EACD,SAAAm1D,mBAAmBA,CAAA,EAAG;MAClB,IAAI,CAACvV,0BAA0B,CAC3BiJ,eAAe,EACbnlD,WAAK,CAACyX,eAAe,CAACg0C,kBAAkB,CAAC,CAAC;MAChD,CAAC;IACL;EAAC;IAAApvD,GAAA;IAAAC,KAAA,EAED,SAAAwf,KAAKA,CAAA,EAAG;MACJ+C,wBAAA,CAAAyxC,kBAAA;IACJ;EAAC;AAAA,EA9J2C5e,aAAa;AAAA9rC,0BAAA,CAAxC0qD,kBAAkB,UACrBpzC,sBAAsB;AAAAtX,0BAAA,CADnB0qD,kBAAkB,qBAEVn5C,gBAAgB;;;;;;;;;;;;;;;;;;;;ACZX;AAAA,IAEbu6C,uBAAuB,0BAAAhzC,SAAA;EAGxC,SAAAgzC,wBAAYx4C,MAAM,EAAE;IAAA/c,mCAAA,OAAAu1D,uBAAA;IAAA,OAAA/yC,8BAAA,OAAA+yC,uBAAA,GACVx4C,MAAM;EAChB;EAAC0F,6BAAA,CAAA8yC,uBAAA,EAAAhzC,SAAA;EAAA,OAAAtiB,gCAAA,CAAAs1D,uBAAA;IAAAr1D,GAAA;IAAAC,KAAA,EAED,SAAA+c,UAAUA,CAAA,EAAG;MACT,IAAI,CAACC,gBAAgB,CAAC,CAAC;IAC3B;EAAC;IAAAjd,GAAA;IAAAC,KAAA,EAED,SAAAwf,KAAKA,CAAA,EAAG;MACJ+C,iCAAA,CAAA6yC,uBAAA;IACJ;EAAC;AAAA,EAbgDz4C,QAAQ;AAAArT,mCAAA,CAAxC8rD,uBAAuB,UAC1BC,2BAA2B;;;;;;;;;;;;;;;;;;;;ACHX;AAAA,IAEbC,0BAA0B,0BAAAlzC,SAAA;EAG3C,SAAAkzC,2BAAY14C,MAAM,EAAE;IAAA/c,sCAAA,OAAAy1D,0BAAA;IAAA,OAAAjzC,iCAAA,OAAAizC,0BAAA,GACV14C,MAAM;EAChB;EAAC0F,gCAAA,CAAAgzC,0BAAA,EAAAlzC,SAAA;EAAA,OAAAtiB,mCAAA,CAAAw1D,0BAAA;IAAAv1D,GAAA;IAAAC,KAAA,EAED,SAAA+c,UAAUA,CAAA,EAAG;MACT,IAAI,CAACC,gBAAgB,CAAC,CAAC;IAC3B;EAAC;IAAAjd,GAAA;IAAAC,KAAA,EAED,SAAAwf,KAAKA,CAAA,EAAG;MACJ+C,oCAAA,CAAA+yC,0BAAA;IACJ;EAAC;AAAA,EAbmD34C,QAAQ;AAAArT,sCAAA,CAA3CgsD,0BAA0B,UAC7BC,8BAA8B;;;;;;;;;;;;;;;;;;;;ACFd;AAAA,IAEbC,WAAW,0BAAApzC,SAAA;EAG5B,SAAAozC,YAAY54C,MAAM,EAAE;IAAA/c,sBAAA,OAAA21D,WAAA;IAAA,OAAAnzC,iBAAA,OAAAmzC,WAAA,GACV54C,MAAM;EAChB;EAAC0F,gBAAA,CAAAkzC,WAAA,EAAApzC,SAAA;EAAA,OAAAtiB,mBAAA,CAAA01D,WAAA;IAAAz1D,GAAA;IAAAC,KAAA,EAED,SAAA+c,UAAUA,CAAA,EAAG;MACT,IAAI,CAACC,gBAAgB,CAAC,CAAC;IAC3B;EAAC;IAAAjd,GAAA;IAAAC,KAAA,EAED,SAAAwf,KAAKA,CAAA,EAAG;MACJ+C,oBAAA,CAAAizC,WAAA;IACJ;EAAC;AAAA,EAboC74C,QAAQ;AAAArT,sBAAA,CAA5BksD,WAAW,UACdC,eAAe;;;;;;;;;;;;;;;;;;;;ACHC;AAAA,IAEbC,iBAAiB,0BAAAtzC,SAAA;EAGlC,SAAAszC,kBAAY94C,MAAM,EAAE;IAAA/c,6BAAA,OAAA61D,iBAAA;IAAA,OAAArzC,wBAAA,OAAAqzC,iBAAA,GACV94C,MAAM;EAChB;EAAC0F,uBAAA,CAAAozC,iBAAA,EAAAtzC,SAAA;EAAA,OAAAtiB,0BAAA,CAAA41D,iBAAA;IAAA31D,GAAA;IAAAC,KAAA,EAED,SAAA+c,UAAUA,CAAA,EAAG;MACT,IAAI,CAACC,gBAAgB,CAAC,CAAC;IAC3B;EAAC;IAAAjd,GAAA;IAAAC,KAAA,EAED,SAAAwf,KAAKA,CAAA,EAAG;MACJ+C,2BAAA,CAAAmzC,iBAAA;IACJ;EAAC;AAAA,EAb0C/4C,QAAQ;AAAArT,6BAAA,CAAlCosD,iBAAiB,UACpBC,qBAAqB;;;;;;;;;;;;;;;;;;;;ACJL;AAAA,IAEbC,qBAAqB,0BAAAxzC,SAAA;EAGtC,SAAAwzC,sBAAYh5C,MAAM,EAAE;IAAA/c,iCAAA,OAAA+1D,qBAAA;IAAA,OAAAvzC,4BAAA,OAAAuzC,qBAAA,GACVh5C,MAAM;EAChB;EAAC0F,2BAAA,CAAAszC,qBAAA,EAAAxzC,SAAA;EAAA,OAAAtiB,8BAAA,CAAA81D,qBAAA;IAAA71D,GAAA;IAAAC,KAAA,EAED,SAAA+c,UAAUA,CAAA,EAAG;MACT,IAAI,CAACC,gBAAgB,CAAC,CAAC;IAC3B;EAAC;IAAAjd,GAAA;IAAAC,KAAA,EAED,SAAAwf,KAAKA,CAAA,EAAG;MACJ+C,+BAAA,CAAAqzC,qBAAA;IACJ;EAAC;AAAA,EAb8Cj5C,QAAQ;AAAArT,iCAAA,CAAtCssD,qBAAqB,UACxBC,6BAA6B;;;;;;;;;ACF/C;AACA;AAC4C;AACM;AACe;AACjE;AAC8C;AAC2B;AACnB;AACgB;AACtE;AACwD;AACK;AACe;AAClB;AACE;AAC5D;AAC4E;AACM;AAC/B;AACa;AACQ;AACxE;AACA;AACA;AACA;;AAE2B;AACA;AACQ;AAAA,IAGdC,MAAM;EACvB,SAAAA,OAAA,EAAc;IAAA,IAAAl3C,KAAA;IAAA/e,qBAAA,OAAAi2D,MAAA;IACV;IACA,IAAI,CAACC,KAAK,GAAG,CAAC,CAAC;IACf;IACA,IAAI,CAACA,KAAK,CAAC1hD,YAAY,CAAC,GAAG;MAAE7D,IAAI,EAAE,UAAU;MAAEwlD,MAAM,EAAE7zC,QAAQA;IAAC,CAAC;IACjE,IAAI,CAAC4zC,KAAK,CAAC/2C,eAAe,CAAC,GAAG;MAAExO,IAAI,EAAE,aAAa;MAAEwlD,MAAM,EAAEliB,WAAWA;IAAC,CAAC;IAC1E,IAAI,CAACiiB,KAAK,CAAC7hB,sBAAsB,CAAC,GAAG;MAAE1jC,IAAI,EAAE,oBAAoB;MAAEwlD,MAAM,EAAE/hB,kBAAkBA;IAAC,CAAC;IAC/F;IACA,IAAI,CAAC8hB,KAAK,CAACn2C,eAAe,CAAC,GAAG;MAAEpP,IAAI,EAAE,aAAa;MAAEwlD,MAAM,EAAE7hB,WAAWA;IAAC,CAAC;IAC1E,IAAI,CAAC4hB,KAAK,CAACj2C,4BAA4B,CAAC,GAAG;MAAEtP,IAAI,EAAE,iBAAiB;MAAEwlD,MAAM,EAAEpR,wBAAwBA;IAAC,CAAC;IACxG,IAAI,CAACmR,KAAK,CAAC/1C,mBAAmB,CAAC,GAAG;MAAExP,IAAI,EAAE,iBAAiB;MAAEwlD,MAAM,EAAE7Q,eAAeA;IAAC,CAAC;IACtF,IAAI,CAAC4Q,KAAK,CAAC71C,0BAA0B,CAAC,GAAG;MAAE1P,IAAI,EAAE,wBAAwB;MAAEwlD,MAAM,EAAEhQ,sBAAsBA;IAAC,CAAC;IAC3G;IACA,IAAI,CAAC+P,KAAK,CAACz1C,oBAAoB,CAAC,GAAG;MAAE9P,IAAI,EAAE,kBAAkB;MAAEwlD,MAAM,EAAE3P,gBAAgBA;IAAC,CAAC;IACzF,IAAI,CAAC0P,KAAK,CAACv1C,sBAAsB,CAAC,GAAG;MAAEhQ,IAAI,EAAE,oBAAoB;MAAEwlD,MAAM,EAAErP,kBAAkBA;IAAC,CAAC;IAC/F,IAAI,CAACoP,KAAK,CAACr1C,6BAA6B,CAAC,GAAG;MAAElQ,IAAI,EAAE,2BAA2B;MAAEwlD,MAAM,EAAE9O,yBAAyBA;IAAC,CAAC;IACpH,IAAI,CAAC6O,KAAK,CAAChC,qBAAqB,CAAC,GAAG;MAAEvjD,IAAI,EAAE,mBAAmB;MAAEwlD,MAAM,EAAE7N,iBAAiBA;IAAC,CAAC;IAC5F,IAAI,CAAC4N,KAAK,CAACn1C,sBAAsB,CAAC,GAAG;MAAEpQ,IAAI,EAAE,oBAAoB;MAAEwlD,MAAM,EAAEhC,kBAAkBA;IAAC,CAAC;IAC/F;IACA,IAAI,CAAC+B,KAAK,CAACR,8BAA8B,CAAC,GAAG;MAAE/kD,IAAI,EAAE,4BAA4B;MAAEwlD,MAAM,EAAEV,0BAA0BA;IAAC,CAAC;IACvH,IAAI,CAACS,KAAK,CAACF,6BAA6B,CAAC,GAAG;MAAErlD,IAAI,EAAE,2BAA2B;MAAEwlD,MAAM,EAAEJ,qBAAqBA;IAAC,CAAC;IAChH,IAAI,CAACG,KAAK,CAACN,eAAe,CAAC,GAAG;MAAEjlD,IAAI,EAAE,aAAa;MAAEwlD,MAAM,EAAER,WAAWA;IAAC,CAAC;IAC1E,IAAI,CAACO,KAAK,CAACJ,qBAAqB,CAAC,GAAG;MAAEnlD,IAAI,EAAE,mBAAmB;MAAEwlD,MAAM,EAAEN,iBAAiBA;IAAC,CAAC;IAC5F;IACA;IACA;IACA;IACA;IACA,IAAI,CAACO,MAAM,GAAG,CAAC,CAAC;IAChB;IACA,IAAI,CAACA,MAAM,CAAC5hD,YAAY,CAAC,GAAG;MAAA,IAACshC,UAAU,GAAApyC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,KAAK;MAAA,OAAKqb,KAAI,CAACE,cAAc,CAACzK,YAAY,EAAEshC,UAAU,CAAC;IAAA;IACjG,IAAI,CAACsgB,MAAM,CAACj3C,eAAe,CAAC,GAAG;MAAA,IAAC22B,UAAU,GAAApyC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,KAAK;MAAA,OAAKqb,KAAI,CAACE,cAAc,CAACE,eAAe,EAAE22B,UAAU,CAAC;IAAA;IACvG,IAAI,CAACsgB,MAAM,CAAC/hB,sBAAsB,CAAC,GAAG;MAAA,IAACyB,UAAU,GAAApyC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,KAAK;MAAA,OAAKqb,KAAI,CAACE,cAAc,CAACo1B,sBAAsB,EAAEyB,UAAU,CAAC;IAAA;IACrH;IACA,IAAI,CAACsgB,MAAM,CAACr2C,eAAe,CAAC,GAAG;MAAA,IAAC+1B,UAAU,GAAApyC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,KAAK;MAAA,OAAKqb,KAAI,CAACE,cAAc,CAACc,eAAe,EAAE+1B,UAAU,CAAC;IAAA;IACvG,IAAI,CAACsgB,MAAM,CAACn2C,4BAA4B,CAAC,GAAG;MAAA,IAAC61B,UAAU,GAAApyC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,KAAK;MAAA,OAAKqb,KAAI,CAACE,cAAc,CAACgB,4BAA4B,EAAE61B,UAAU,CAAC;IAAA;IACjI,IAAI,CAACsgB,MAAM,CAACj2C,mBAAmB,CAAC,GAAG;MAAA,IAAC21B,UAAU,GAAApyC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,KAAK;MAAA,OAAKqb,KAAI,CAACE,cAAc,CAACkB,mBAAmB,EAAE21B,UAAU,CAAC;IAAA;IAC/G,IAAI,CAACsgB,MAAM,CAAC/1C,0BAA0B,CAAC,GAAG;MAAA,IAACy1B,UAAU,GAAApyC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,KAAK;MAAA,OAAKqb,KAAI,CAACE,cAAc,CAACoB,0BAA0B,EAAEy1B,UAAU,CAAC;IAAA;IAC7H;IACA,IAAI,CAACsgB,MAAM,CAAC31C,oBAAoB,CAAC,GAAG;MAAA,IAACq1B,UAAU,GAAApyC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,KAAK;MAAA,OAAKqb,KAAI,CAACE,cAAc,CAACwB,oBAAoB,EAAEq1B,UAAU,CAAC;IAAA;IACjH,IAAI,CAACsgB,MAAM,CAACz1C,sBAAsB,CAAC,GAAG;MAAA,IAACm1B,UAAU,GAAApyC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,KAAK;MAAA,OAAKqb,KAAI,CAACE,cAAc,CAAC0B,sBAAsB,EAAEm1B,UAAU,CAAC;IAAA;IACrH,IAAI,CAACsgB,MAAM,CAACv1C,6BAA6B,CAAC,GAAG;MAAA,IAACi1B,UAAU,GAAApyC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,KAAK;MAAA,OAAKqb,KAAI,CAACE,cAAc,CAAC4B,6BAA6B,EAAEi1B,UAAU,CAAC;IAAA;IACnI,IAAI,CAACsgB,MAAM,CAAClC,qBAAqB,CAAC,GAAG;MAAA,IAACpe,UAAU,GAAApyC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,KAAK;MAAA,OAAKqb,KAAI,CAACE,cAAc,CAACi1C,qBAAqB,EAAEpe,UAAU,CAAC;IAAA;IACnH,IAAI,CAACsgB,MAAM,CAACr1C,sBAAsB,CAAC,GAAG;MAAA,IAAC+0B,UAAU,GAAApyC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,KAAK;MAAA,OAAKqb,KAAI,CAACE,cAAc,CAAC8B,sBAAsB,EAAE+0B,UAAU,CAAC;IAAA;IACrH;IACA,IAAI,CAACsgB,MAAM,CAACV,8BAA8B,CAAC,GAAG;MAAA,IAAC5f,UAAU,GAAApyC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,KAAK;MAAA,OAAKqb,KAAI,CAACE,cAAc,CAACy2C,8BAA8B,EAAE5f,UAAU,CAAC;IAAA;IACrI,IAAI,CAACsgB,MAAM,CAACJ,6BAA6B,CAAC,GAAG;MAAA,IAAClgB,UAAU,GAAApyC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,KAAK;MAAA,OAAKqb,KAAI,CAACE,cAAc,CAAC+2C,6BAA6B,EAAElgB,UAAU,CAAC;IAAA;IACnI,IAAI,CAACsgB,MAAM,CAACR,eAAe,CAAC,GAAG;MAAA,IAAC9f,UAAU,GAAApyC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,KAAK;MAAA,OAAKqb,KAAI,CAACE,cAAc,CAAC22C,eAAe,EAAE9f,UAAU,CAAC;IAAA;IACvG,IAAI,CAACsgB,MAAM,CAACN,qBAAqB,CAAC,GAAG;MAAA,IAAChgB,UAAU,GAAApyC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,KAAK;MAAA,OAAKqb,KAAI,CAACE,cAAc,CAAC62C,qBAAqB,EAAEhgB,UAAU,CAAC;IAAA;IACnH;IACA;IACA;IACA;IACA,IAAI,CAAC54B,UAAU,CAAC,CAAC;EACrB;EAAC,OAAAjd,kBAAA,CAAAg2D,MAAA;IAAA/1D,GAAA;IAAAC,KAAA,EACD,SAAAk2D,QAAQA,CAACC,QAAQ,EAAsB;MAAA,IAAA92C,MAAA;MAAA,IAApBs2B,UAAU,GAAApyC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,KAAK;MACjC,IAAM6yD,SAAS,GAAG,IAAI,CAACC,oBAAoB,CAACF,QAAQ,CAAC;MACrD,IAAI,CAACG,WAAW,GAAG,IAAIF,SAAS,CAAC,IAAI,CAAC;MACtC,IAAI,CAACE,WAAW,CAACv5C,UAAU,CAAC44B,UAAU,CAAC;MACvChhC,MAAM,CAACzJ,gBAAgB,CAAC,cAAc,EAAE;QAAA,OAAMmU,MAAI,CAACi3C,WAAW,CAAC92C,KAAK,CAAC,CAAC;MAAA,EAAC;IAC3E;EAAC;IAAAzf,GAAA;IAAAC,KAAA,EACD,SAAAq2D,oBAAoBA,CAACF,QAAQ,EAAE;MAE3B,IAAII,QAAQ,GAAG,IAAI,CAACR,KAAK,CAACI,QAAQ,CAAC;MACnC,IAAI;QACA,IAAMH,MAAM,GAAGO,QAAQ,CAACP,MAAM;QAC9B,OAAOA,MAAM;MACjB,CAAC,CACD,OAAO/hD,KAAK,EAAE;QACVvQ,WAAK,CAAC4X,oCAAoC,CAAC,cAAc,EAAE,IAAI,CAACy6C,KAAK,CAAC;QACtE/hD,OAAO,CAACC,KAAK,CAAC,iBAAiB,EAAEkiD,QAAQ,CAAC;QAC1C,MAAMliD,KAAK;MACf;IACJ;EAAC;IAAAlU,GAAA;IAAAC,KAAA,EACD,SAAA+c,UAAUA,CAAA,EAAG;MACTpI,MAAM,CAACzJ,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAACsrD,cAAc,CAACvzC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvE;EAAC;IAAAljB,GAAA;IAAAC,KAAA,EACD,SAAAw2D,cAAcA,CAACrrD,KAAK,EAAE;MAClB,IAAI,CAACsrD,eAAe,CAAC,CAAC;IAC1B;EAAC;IAAA12D,GAAA;IAAAC,KAAA,EACD,SAAAy2D,eAAeA,CAAA,EAAG;MACd,IAAM/vD,eAAe,GAAG/C,GAAG,CAAC8C,kBAAkB,CAAC,CAAC;MAChD,IAAI,CAACyvD,QAAQ,CAACxvD,eAAe,CAAC;IAClC;EAAC;IAAA3G,GAAA;IAAAC,KAAA,EACD,SAAA8e,cAAcA,CAAC1K,IAAI,EAAkD;MAAA,IAAhDtT,IAAI,GAAAyC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,IAAI;MAAA,IAAE1C,MAAM,GAAA0C,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,IAAI;MAAA,IAAEoyC,UAAU,GAAApyC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,KAAK;MAC/D,IAAIV,GAAG,GAAG+P,GAAG,CAACY,cAAc,CAACY,IAAI,EAAEvT,MAAM,CAAC;MAC1C61D,OAAO,CAACC,SAAS,CAAC;QAAC71D,IAAI,EAAEA,IAAI;QAAED,MAAM,EAAEA;MAAM,CAAC,EAAE,EAAE,EAAEuT,IAAI,CAAC;MACzDxB,GAAG,CAAC8B,OAAO,CAAC7R,GAAG,EAAE/B,IAAI,CAAC;IAC1B;EAAC;IAAAf,GAAA;IAAAC,KAAA,EAED,SAAA42D,aAAaA,CAAC/zD,GAAG,EAAqC;MAAA,IAAnC/B,IAAI,GAAAyC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,IAAI;MAAA,IAAEszD,aAAa,GAAAtzD,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,IAAI;MAChD;MACA,IAAIszD,aAAa,EAAEH,OAAO,CAACC,SAAS,CAAC71D,IAAI,EAAE,EAAE,EAAE+B,GAAG,CAAC;MACnDA,GAAG,GAAG+P,GAAG,CAAC0B,eAAe,CAACzR,GAAG,EAAE/B,IAAI,CAAC;MACpC8R,GAAG,CAAC8B,OAAO,CAAC7R,GAAG,CAAC;IACpB;EAAC;IAAA9C,GAAA;IAAAC,KAAA,EAED,SAAO82D,wBAAwBA,CAAC1jD,QAAQ,EAAE;MACtCzP,GAAG,CAACyC,YAAY,CAACgN,QAAQ,CAACtS,IAAI,CAAC;IACnC;EAAC;AAAA;AApGsB;AAuGpB,IAAM8b,MAAM,GAAG,IAAIk5C,MAAM,CAAC,CAAC;;ACvIrB;;AAAA,SAAArnD,UAAAA,CAAArC,CAAA,sCAAAqC,UAAA,wBAAAnC,MAAA,uBAAAA,MAAA,CAAAE,QAAA,aAAAJ,CAAA,kBAAAA,CAAA,gBAAAA,CAAA,WAAAA,CAAA,yBAAAE,MAAA,IAAAF,CAAA,CAAAmE,WAAA,KAAAjE,MAAA,IAAAF,CAAA,KAAAE,MAAA,CAAAL,SAAA,qBAAAG,CAAA,KAAAqC,UAAA,CAAArC,CAAA;AAAA,SAAAvM,kBAAAA,CAAA0M,CAAA,EAAAL,CAAA,UAAAK,CAAA,YAAAL,CAAA,aAAAqD,SAAA;AAAA,SAAAgD,oBAAAA,CAAAzG,CAAA,EAAAE,CAAA,aAAAD,CAAA,MAAAA,CAAA,GAAAC,CAAA,CAAA5L,MAAA,EAAA2L,CAAA,UAAAK,CAAA,GAAAJ,CAAA,CAAAD,CAAA,GAAAK,CAAA,CAAAU,UAAA,GAAAV,CAAA,CAAAU,UAAA,QAAAV,CAAA,CAAAW,YAAA,kBAAAX,CAAA,KAAAA,CAAA,CAAAY,QAAA,QAAAzK,MAAA,CAAA8J,cAAA,CAAAP,CAAA,EAAAoG,iBAAA,CAAA9F,CAAA,CAAArM,GAAA,GAAAqM,CAAA;AAAA,SAAAtM,eAAAA,CAAAgM,CAAA,EAAAE,CAAA,EAAAD,CAAA,WAAAC,CAAA,IAAAuG,oBAAA,CAAAzG,CAAA,CAAAG,SAAA,EAAAD,CAAA,GAAAD,CAAA,IAAAwG,oBAAA,CAAAzG,CAAA,EAAAC,CAAA,GAAAxJ,MAAA,CAAA8J,cAAA,CAAAP,CAAA,iBAAAkB,QAAA,SAAAlB,CAAA;AAAA,SAAAoG,iBAAAA,CAAAnG,CAAA,QAAAxL,CAAA,GAAAiS,eAAA,CAAAzG,CAAA,gCAAA0C,UAAA,CAAAlO,CAAA,IAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAiS,eAAAA,CAAAzG,CAAA,EAAAC,CAAA,oBAAAyC,UAAA,CAAA1C,CAAA,MAAAA,CAAA,SAAAA,CAAA,MAAAD,CAAA,GAAAC,CAAA,CAAAO,MAAA,CAAAmG,WAAA,kBAAA3G,CAAA,QAAAvL,CAAA,GAAAuL,CAAA,CAAA0B,IAAA,CAAAzB,CAAA,EAAAC,CAAA,gCAAAyC,UAAA,CAAAlO,CAAA,UAAAA,CAAA,YAAAgP,SAAA,yEAAAvD,CAAA,GAAA0G,MAAA,GAAAC,MAAA,EAAA5G,CAAA;AAEc;AACM;AAAA,IAG3BgrD,GAAG;EACL,SAAAA,IAAA,EAAc;IAAAl3D,kBAAA,OAAAk3D,GAAA;IACV,IAAI,CAACC,GAAG,GAAG,IAAIrzD,GAAG,CAAC,CAAC;IACpB,IAAI,CAACiZ,MAAM,GAAG,IAAIk5C,MAAM,CAAC,CAAC;EAC9B;EAAC,OAAAh2D,eAAA,CAAAi3D,GAAA;IAAAh3D,GAAA;IAAAC,KAAA,EAED,SAAA+c,UAAUA,CAAA,EAAG;MACT,IAAI,CAACk6C,mBAAmB,CAAC,CAAC;MAC1B,IAAI,CAACzmB,KAAK,CAAC,CAAC;IAChB;EAAC;IAAAzwC,GAAA;IAAAC,KAAA,EAED,SAAAi3D,mBAAmBA,CAAA,EAAG;MAClB;IAAA;EACH;IAAAl3D,GAAA;IAAAC,KAAA,EAED,SAAAk3D,iBAAiBA,CAAC/rD,KAAK,EAAE,CACzB;EAAC;IAAApL,GAAA;IAAAC,KAAA,EAED,SAAAwwC,KAAKA,CAAA,EAAG;MACJ,IAAI,CAAC2mB,eAAe,CAAC,CAAC;IAC1B;EAAC;IAAAp3D,GAAA;IAAAC,KAAA,EAED,SAAAm3D,eAAeA,CAAA,EAAG;MACd,IAAI,CAACv6C,MAAM,CAAC65C,eAAe,CAAC,CAAC;IACjC;EAAC;AAAA;AAIL,IAAMW,GAAG,GAAG,IAAIL,GAAG,CAAC,CAAC;AAErB,SAASM,QAAQA,CAAC7tC,EAAE,EAAE;EAClB,IAAI9nB,QAAQ,CAAC41D,UAAU,KAAK,SAAS,EAAE;IACnC9tC,EAAE,CAAC,CAAC;EACR,CAAC,MAAM;IACH9nB,QAAQ,CAACwJ,gBAAgB,CAAC,kBAAkB,EAAEse,EAAE,CAAC;EACrD;AACJ;AAEA6tC,QAAQ,CAAC,YAAM;EACXD,GAAG,CAACr6C,UAAU,CAAC,CAAC;AACpB,CAAC,CAAC;AAEFpI,MAAM,CAACyiD,GAAG,GAAGA,GAAG;AAEhB,6CAAeA,gDAAAA,GAAG,I;;;;;ACnDlB;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA","sources":["webpack://app/./static/js/lib/validation.js","webpack://app/./static/js/dom.js","webpack://app/./static/js/lib/events.js","webpack://app/./static/js/lib/local_storage.js","webpack://app/./static/js/api.js","webpack://app/./static/js/lib/utils.js","webpack://app/./static/js/components/common/temporary/overlay_confirm.js","webpack://app/./static/js/pages/base.js","webpack://app/./static/js/pages/core/home.js","webpack://app/./static/js/vendor/altcha.js","webpack://app/./static/js/pages/core/contact.js","webpack://app/./static/js/pages/core/contact-success.js","webpack://app/./static/js/pages/dog/home.js","webpack://app/./static/js/lib/business_objects/business_objects.js","webpack://app/./static/js/components/common/temporary/overlay_error.js","webpack://app/./static/js/pages/base_table.js","webpack://app/./static/js/pages/dog/mixin.js","webpack://app/./static/js/pages/dog/mixin_table.js","webpack://app/./static/js/pages/dog/command_categories.js","webpack://app/./static/js/pages/dog/commands.js","webpack://app/./static/js/pages/dog/dog_command_links.js","webpack://app/./static/js/pages/dog/locations.js","webpack://app/./static/js/pages/dog/button_icons.js","webpack://app/./static/js/pages/dog/command_button_links.js","webpack://app/./static/js/pages/dog/assessment.js","webpack://app/./static/js/pages/dog/assessments.js","webpack://app/./static/js/pages/legal/accessibility_report.js","webpack://app/./static/js/pages/legal/accessibility_statement.js","webpack://app/./static/js/pages/legal/license.js","webpack://app/./static/js/pages/legal/privacy_policy.js","webpack://app/./static/js/pages/legal/retention_schedule.js","webpack://app/./static/js/router.js","webpack://app/./static/js/app.js","webpack://app/./static/css/main.css?0a91","webpack://app/./static/css/components/button.css?0e0b","webpack://app/./static/css/components/card.css","webpack://app/./static/css/components/dialog.css","webpack://app/./static/css/components/form.css?94e1","webpack://app/./static/css/components/image.css?9f9c","webpack://app/./static/css/components/label.css?b78f","webpack://app/./static/css/components/modal.css","webpack://app/./static/css/components/navigation.css","webpack://app/./static/css/components/overlay.css?6dfd","webpack://app/./static/css/components/table.css?e553","webpack://app/./static/css/layouts/header.css?da75","webpack://app/./static/css/layouts/footer.css?65e3","webpack://app/./static/css/layouts/table-main.css?8c15","webpack://app/./static/css/lib/reset.css","webpack://app/./static/css/lib/typography.css","webpack://app/./static/css/lib/utils.css?0479","webpack://app/./static/css/lib/variables.css","webpack://app/./static/css/themes/light.css?855e"],"sourcesContent":["\nexport default class Validation {\n /*\n isNullOrWhitespace(v) {\n let txt = JSON.stringify(v).replace('/\\s\\g', '');\n return (txt == '' || 'null');\n }\n */\n\n static isEmpty(object) {\n\n let isEmpty = true;\n\n if (object !== null && object !== \"null\" && object !== undefined && object !== \"undefined\") {\n\n if (object.length == undefined) {\n isEmpty = false; // object exists but isn't a collection\n }\n else if (typeof object === \"function\") {\n isEmpty = false; // object is reference\n }\n else { // string or collection\n\n let isString = (typeof object == \"string\");\n\n if (isString) object = object.trim();\n\n if (object.length > 0) {\n\n if (isString) {\n isEmpty = false; // String greater than length 0\n }\n else {\n\n if (typeof object[0] != \"string\") {\n isEmpty = false;\n }\n else {\n for(let i = 0; i < object.length; i++) {\n if (object[i] != \"\") {\n isEmpty = false;\n break\n }\n }\n }\n }\n }\n }\n }\n\n return isEmpty;\n }\n\n static isValidNumber(value, positiveOnly) {\n return !Validation.isEmpty(value) && !isNaN(value) && (!positiveOnly || parseFloat(value) > 0);\n }\n\n static getDataContentType(params) {\n\n var data = null;\n var contentType = '';\n\n if (!Validation.isEmpty(params)) {\n\n if (typeof params === \"string\") {\n data = params;\n contentType = \"application/x-www-form-urlencoded; charset=UTF-8\";\n }\n else {\n data = JSON.stringify(params);\n contentType = \"application/json; charset=UTF-8\";\n }\n }\n\n return { Data: data, ContentType: contentType };\n }\n\n static arrayContainsItem(array, itemValue) {\n\n var hasItem = false;\n\n if (!Validation.isEmpty(array) && !Validation.isEmpty(itemValue)) {\n\n var isJQueryElementArray = array[0] instanceof jQuery;\n\n if (isJQueryElementArray) {\n\n for (let i = 0; i < array.length; i++) {\n\n if (document.querySelectorAll(array[i]).is(itemValue)) {\n hasItem = true;\n break;\n }\n }\n }\n else {\n\n var isDate = array[0] instanceof Date;\n\n if (isDate) {\n \n for (let i = 0; i < array.length; i++) {\n\n if (array[i].getTime() === itemValue.getTime()) {\n hasItem = true;\n break;\n }\n }\n }\n else {\n\n for (let i = 0; i < array.length; i++) {\n\n if (array[i] == itemValue) {\n hasItem = true;\n break;\n }\n }\n }\n }\n }\n\n return hasItem;\n }\n\n static dictHasKey(d, k) {\n return (k in d);\n }\n static areEqualDicts(dict1, dict2) {\n const keys1 = Object.keys(dict1);\n const keys2 = Object.keys(dict2);\n \n if (keys1.length !== keys2.length) {\n return false;\n }\n \n for (let key of keys1) {\n if (dict1[key] !== dict2[key]) {\n return false;\n }\n }\n \n return true;\n }\n\n static imageExists(url, callback) {\n\n var img = new Image();\n\n img.onload = function() { callback(true); };\n img.onerror = function() { callback(false); };\n img.src = url;\n }\n\n static toFixedOrDefault(value, decimalPlaces, defaultValue = null) {\n return Validation.isValidNumber(value) ? parseFloat(value).toFixed(decimalPlaces) : defaultValue;\n }\n}\n","\nimport Utils from \"./lib/utils.js\";\nimport Validation from \"./lib/validation.js\";\n\nexport default class DOM {\n static setElementAttributesValuesCurrentAndPrevious(element, data) {\n DOM.setElementAttributeValueCurrent(element, data);\n DOM.setElementAttributeValuePrevious(element, data);\n }\n static setElementAttributeValueCurrent(element, data) {\n element.setAttribute(attrValueCurrent, data);\n }\n static setElementAttributeValuePrevious(element, data) {\n element.setAttribute(attrValuePrevious, data);\n }\n static setElementValuesCurrentAndPrevious(element, data) {\n DOM.setElementValueCurrent(element, data);\n DOM.setElementAttributeValuePrevious(element, data);\n }\n static setElementValueCurrent(element, data) {\n DOM.setElementAttributeValueCurrent(element, data);\n let tagName = element.tagName.toUpperCase();\n if (element.type === \"checkbox\") {\n element.checked = data;\n }\n else if (tagName === 'INPUT' || tagName === 'TEXTAREA' || tagName === 'SELECT') {\n element.value = data;\n }\n else {\n element.textContent = data;\n }\n }\n static setElementValueCurrentIfEmpty(element, data) {\n if (Validation.isEmpty(DOM.getElementValueCurrent(element))) {\n DOM.setElementValueCurrent(element, data);\n }\n }\n static getCellFromElement(element) {\n return element.closest('td');\n }\n static getRowFromElement(element, flagRow) {\n let selector = Validation.isEmpty(flagRow) ? 'tr' : 'tr.' + flagRow;\n return element.closest(selector);\n }\n static getClosestParent(element, parentSelector) {\n let parent = element.parentElement;\n while (parent) {\n if (parent.matches(parentSelector)) {\n return parent;\n }\n parent = parent.parentElement;\n }\n return null;\n }\n static convertForm2JSON(elementForm) {\n let dataForm = {};\n if (Validation.isEmpty(elementForm)) {\n return dataForm;\n }\n let containersFilter = elementForm.querySelectorAll('.' + flagContainerInput + '.' + flagFilter);\n let containerFilter, labelFilter, keyFilter, filter;\n for (let indexFilter = 0; indexFilter < containersFilter.length; indexFilter++) {\n containerFilter = containersFilter[indexFilter];\n labelFilter = containerFilter.querySelector('label');\n keyFilter = labelFilter.getAttribute('for');\n filter = containerFilter.querySelector(`#${keyFilter}`);\n dataForm[keyFilter] = DOM.getElementValueCurrent(filter);\n }\n return dataForm;\n }\n static loadPageBody(contentNew) {\n let pageBody = document.querySelector(idPageBody);\n pageBody.innerHTML = contentNew;\n }\n static getHashPageCurrent() {\n const hashPageCurrent = document.body.dataset.page;\n return hashPageCurrent;\n }\n static updateAndCheckIsElementDirty(element) {\n element.setAttribute(attrValueCurrent, DOM.getElementValueCurrent(element));\n return DOM.isElementDirty(element);\n }\n static isElementDirty(element) {\n let isDirty = element.getAttribute(attrValuePrevious) != element.getAttribute(attrValueCurrent);\n DOM.handleDirtyElement(element, isDirty);\n return isDirty;\n }\n static handleDirtyElement(element, isDirty) {\n DOM.toggleElementHasClassnameFlag(element, isDirty, flagDirty);\n }\n static toggleElementHasClassnameFlag(element, elementHasFlag, flag) {\n let elementAlreadyHasFlag = element.classList.contains(flag);\n if (elementHasFlag == elementAlreadyHasFlag) return;\n if (elementHasFlag) {\n element.classList.add(flag);\n } else {\n element.classList.remove(flag);\n }\n }\n static hasDirtyChildrenContainer(container) {\n if (container == null) return false;\n return container.querySelector('.' + flagDirty) != null;\n }\n static hasDirtyChildrenNotDeletedContainer(container) {\n if (container == null || container.classList.contains(flagDelete)) return false;\n return container.querySelector('.' + flagDirty + ':not(.' + flagDelete + ', .' + flagDelete + ' *)') != null;\n }\n static getElementValueCurrent(element) {\n let returnVal = '';\n \n if (!Validation.isEmpty(element)) {\n \n let tagName = element.tagName.toUpperCase();\n if (element.type === \"checkbox\") {\n returnVal = element.checked;\n }\n /*\n else if (element.classList.contains(flagIsDatePicker)) {\n returnVal = getDatePickerDate(element, adjust4DayLightSavings);\n }\n */\n else if (tagName === 'INPUT' || tagName === 'TEXTAREA' || tagName === 'SELECT') {\n returnVal = element.value;\n }\n else if (element.classList.contains(flagButton) && element.classList.contains(flagActive)) { // tagName === 'BUTTON'\n returnVal = element.classList.contains(flagDelete);\n }\n else if (tagName === 'TD') {\n returnVal = DOM.getElementAttributeValueCurrent(element);\n }\n else if (tagName == 'SVG' && element.classList.contains(flagCheckbox)) {\n returnVal = (element.classList.contains(flagIsChecked))\n }\n else {\n returnVal = element.textContent;\n }\n }\n \n if (Validation.isEmpty(returnVal)) returnVal = '';\n \n return returnVal;\n }\n static getElementAttributeValueCurrent(element) {\n // debugger;\n if (Validation.isEmpty(element)) return null;\n return element.getAttribute(attrValueCurrent);\n }\n static getElementAttributeValuePrevious(element) {\n if (Validation.isEmpty(element)) return null;\n return element.getAttribute(attrValuePrevious);\n }\n /* base_table.handleChangeElementCellTable\n static updateAndCheckIsTableElementDirty(element) {\n let wasDirty = DOM.isElementDirty(element);\n let row = DOM.getRowFromElement(element);\n let wasDirtyRow = DOM.hasDirtyChildrenNotDeletedContainer(row);\n let isDirty = DOM.updateAndCheckIsElementDirty(element);\n let cell = DOM.getCellFromElement(element);\n Utils.consoleLogIfNotProductionEnvironment({element, row, cell, isDirty, wasDirty});\n if (isDirty != wasDirty) {\n DOM.handleDirtyElement(cell, isDirty);\n let isDirtyRow = DOM.hasDirtyChildrenNotDeletedContainer(row);\n Utils.consoleLogIfNotProductionEnvironment({isDirtyRow, wasDirtyRow});\n if (isDirtyRow != wasDirtyRow) {\n DOM.handleDirtyElement(row, isDirtyRow);\n }\n }\n }\n */\n static scrollToElement(parent, element) {\n // REQUIRED: parent has scroll-bar\n parent.scrollTop(parent.scrollTop() + (element.offset().top - parent.offset().top));\n }\n static isElementInContainer(container, element) {\n\n if (typeof jQuery === 'function') {\n if (container instanceof jQuery) container = container[0];\n if (element instanceof jQuery) element = element[0];\n }\n\n var containerBounds = container.getBoundingClientRect();\n var elementBounds = element.getBoundingClientRect();\n\n return (\n containerBounds.top <= elementBounds.top &&\n containerBounds.left <= elementBounds.left &&\n ((elementBounds.top + elementBounds.height) <= (containerBounds.top + containerBounds.height)) &&\n ((elementBounds.left + elementBounds.width) <= (containerBounds.left + containerBounds.width))\n );\n }\n static alertError(errorType, errorText) {\n alert(errorType + '\\n' + errorText);\n }\n static createOptionUnselectedProductVariation() {\n return {\n [flagProductVariationType]: {\n [flagNameAttrOptionText]: [flagName],\n [flagNameAttrOptionValue]: [attrIdProductVariationType],\n [flagName]: 'Select Variation Type',\n [attrIdProductVariationType]: 0,\n },\n [flagProductVariation]: {\n [flagNameAttrOptionText]: [flagName],\n [flagNameAttrOptionValue]: [attrIdProductVariation],\n [flagName]: 'Select Variation',\n [attrIdProductVariation]: 0,\n },\n };\n }\n static createOption(optionJson) {\n if (Validation.isEmpty(optionJson)) optionJson = {\n text: 'Select',\n value: 0,\n };\n let option = document.createElement('option');\n option.value = optionJson.value;\n option.textContent = optionJson.text;\n option.selected = optionJson.selected;\n return option;\n }\n\n static escapeHtml(text) {\n const div = document.createElement('div');\n div.textContent = text;\n return div.innerHTML;\n }\n static unescapeHtml(html) {\n const div = document.createElement('div');\n div.innerHTML = html;\n return div.textContent || div.innerText || '';\n }\n}\n","\nexport default class Events {\n static initialiseEventHandler(selectorElement, classInitialised, eventHandler) {\n document.querySelectorAll(selectorElement).forEach(function(element) {\n if (element.classList.contains(classInitialised)) return;\n eventHandler(element);\n element.classList.add(classInitialised);\n });\n }\n static hookupEventHandler(eventType, selector, callback) {\n Events.initialiseEventHandler(selector, flagInitialised, (element) => {\n element.addEventListener(eventType, (event) => {\n event.stopPropagation();\n callback(event, element);\n });\n });\n }\n}","\nimport Validation from \"./validation.js\";\n\nexport default class LocalStorage {\n/*\nfunction getPageLocalStorage(pageHash) {\n\n let ls;\n try {\n ls = JSON.parse(localStorage.getItem(pageHash));\n } catch {\n\n }\n\n if (Validation.isEmpty(ls)) return {}\n\n return ls;\n}\nfunction getPageLocalStorageCurrent() {\n\n return JSON.parse(localStorage.getItem(hashPageCurrent));\n}\n\nfunction setPageLocalStorage(pageHash, newLS) {\n\n localStorage.setItem(pageHash, JSON.stringify(newLS));\n}\n\nfunction clearPageLocalStorage(pageHash) {\n localStorage.removeItem(pageHash);\n}\n\nfunction setupPageLocalStorage(pageHash) {\n\n let ls = getPageLocalStorage(pageHash);\n\n if (Validation.isEmpty(ls)) ls = {};\n\n setPageLocalStorage(pageHash, ls);\n}\n*/\n\n static getLocalStorage(key) {\n return JSON.parse(localStorage.getItem(key));\n }\n\n static setLocalStorage(key, newLS) {\n localStorage.setItem(key, JSON.stringify(newLS));\n }\n\n/*\nfunction setupPageLocalStorageNext(pageHashNext) {\n let lsOld = getPageLocalStorage(hashPageCurrent);\n hashPageCurrent = pageHashNext;\n clearPageLocalStorage(hashPageCurrent);\n setupPageLocalStorage(hashPageCurrent);\n let lsNew = getPageLocalStorage(hashPageCurrent);\n lsNew[keyBasket] = (keyBasket in lsOld) ? lsOld[keyBasket] : {'items': []};\n setPageLocalStorage(hashPageCurrent, lsNew);\n}\n*/\n}","import DOM from './dom.js';\n\nexport default class API {\n \n static getCsrfToken() {\n return document.querySelector(idCSRFToken).getAttribute('content');\n }\n \n static async request(hashEndpoint, method = 'GET', data = null, params = null) {\n const url = API.getUrlFromHash(hashEndpoint, params);\n const csrfToken = API.getCsrfToken();\n const options = {\n method,\n headers: {\n 'Content-Type': 'application/json',\n [flagCsrfToken]: csrfToken,\n }\n };\n\n if (data && (method === 'POST' || method === 'PUT' || method === 'PATCH')) {\n data = { \n ...data, \n [flagCsrfToken]: csrfToken,\n };\n options.body = JSON.stringify(data);\n }\n\n try {\n const response = await fetch(url, options);\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n return await response.json();\n } catch (error) {\n console.error('API request failed:', error);\n throw error;\n }\n }\n \n static getUrlFromHash(hash, params = null) {\n if (hash == null) hash = hashPageHome;\n let url = API.parameteriseUrl(_pathHost + hash, params);\n return url;\n }\n static parameteriseUrl(url, params) {\n if (params) {\n url += '?' + new URLSearchParams(params).toString();\n }\n return url;\n }\n static goToUrl(url) {\n window.location.href = url;\n }\n static goToHash(hash, params = null) {\n const url = API.getUrlFromHash(hash, params);\n API.goToUrl(url);\n }\n\n // specific api calls\n /* Example:\n getUsers: () => request('/users'),\n getUserById: (id) => request(`/users/${id}`),\n createUser: (userData) => request('/users', 'POST', userData),\n updateUser: (id, userData) => request(`/users/${id}`, 'PUT', userData),\n deleteUser: (id) => request(`/users/${id}`, 'DELETE'),\n */\n static async loginUser() {\n let callback = {};\n callback[flagCallback] = DOM.getHashPageCurrent();\n return await API.request(hashPageUserLogin, 'POST', callback);\n }\n\n // dog\n // Command categories\n static async saveCommandCategories(commandCategories, formFilters, comment) {\n let dataRequest = {};\n dataRequest[flagFormFilters] = DOM.convertForm2JSON(formFilters);\n dataRequest[flagCommandCategory] = commandCategories;\n dataRequest[flagComment] = comment;\n return await API.request(hashSaveDogCommandCategory, 'POST', dataRequest);\n }\n \n // Commands\n static async saveCommands(commands, formFilters, comment) {\n let dataRequest = {};\n dataRequest[flagFormFilters] = DOM.convertForm2JSON(formFilters);\n dataRequest[flagCommand] = commands;\n dataRequest[flagComment] = comment;\n return await API.request(hashSaveDogCommand, 'POST', dataRequest);\n }\n \n // Dog Command Links\n static async saveDogCommandLinks(dogCommandLinks, formFilters, comment) {\n let dataRequest = {};\n dataRequest[flagFormFilters] = DOM.convertForm2JSON(formFilters);\n dataRequest[flagDogCommandLink] = dogCommandLinks;\n dataRequest[flagComment] = comment;\n return await API.request(hashSaveDogDogCommandLink, 'POST', dataRequest);\n }\n \n // Locations\n static async saveLocations(locations, formFilters, comment) {\n let dataRequest = {};\n dataRequest[flagFormFilters] = DOM.convertForm2JSON(formFilters);\n dataRequest[flagLocation] = locations;\n dataRequest[flagComment] = comment;\n return await API.request(hashSaveDogLocation, 'POST', dataRequest);\n }\n \n // Button Icons\n static async saveButtonIcons(buttonIcons, formFilters, comment) {\n let dataRequest = {};\n dataRequest[flagFormFilters] = DOM.convertForm2JSON(formFilters);\n dataRequest[flagButtonIcon] = buttonIcons;\n dataRequest[flagComment] = comment;\n return await API.request(hashSaveDogButtonIcon, 'POST', dataRequest);\n }\n \n // Command Button Links\n static async saveCommandButtonLinks(links, formFilters, comment) {\n let dataRequest = {};\n dataRequest[flagFormFilters] = DOM.convertForm2JSON(formFilters);\n dataRequest[flagCommandButtonLink] = links;\n dataRequest[flagComment] = comment;\n return await API.request(hashSaveDogCommandButtonLink, 'POST', dataRequest);\n }\n \n // Assessments\n static async saveAssessments(assessments, formFilters, comment) {\n let dataRequest = {};\n dataRequest[flagFormFilters] = DOM.convertForm2JSON(formFilters);\n dataRequest[flagAssessment] = assessments;\n dataRequest[flagComment] = comment;\n return await API.request(hashSaveDogAssessment, 'POST', dataRequest);\n }\n \n // Assessments\n static async saveAssessmentsDistractionsAndResponses(assessments, formFilters, comment) {\n let filtersJson = DOM.convertForm2JSON(formFilters);\n filtersJson[attrIdAssessment] = null;\n let dataRequest = {};\n dataRequest[flagFormFilters] = filtersJson;\n dataRequest[flagAssessment] = assessments;\n dataRequest[flagComment] = comment;\n return await API.request(hashSaveDogAssessmentDistractionAndResponse, 'POST', dataRequest);\n }\n \n}\n","// Utility functions\n/*\nfunction $(selector) {\n return document.querySelector(selector);\n}\n\nfunction $$(selector) {\n return document.querySelectorAll(selector);\n}\n*/\nexport default class Utils {\n static getListFromDict(dict) {\n let list = [];\n for (let key in dict) {\n list.push(dict[key]);\n }\n return list;\n }\n static consoleLogIfNotProductionEnvironment(message) {\n if (environment.is_production != \"true\") {\n console.log(message);\n }\n }\n}","\nimport Events from \"../../../lib/events.js\";\n\nexport default class OverlayConfirm {\n static hookup(callbackSuccess) {\n Events.initialiseEventHandler(idOverlayConfirm + ' button.' + flagCancel, flagInitialised, (buttonCancel) => {\n buttonCancel.addEventListener('click', () => {\n let overlay = document.querySelector(idOverlayConfirm);\n overlay.style.visibility = 'hidden';\n });\n });\n Events.initialiseEventHandler(idOverlayConfirm + ' button.' + flagSubmit, flagInitialised, (buttonConfirm) => {\n buttonConfirm.addEventListener('click', () => {\n let overlay = document.querySelector(idOverlayConfirm);\n let textarea = overlay.querySelector('textarea');\n overlay.style.visibility = 'hidden';\n callbackSuccess(textarea.value);\n });\n });\n }\n static show() {\n let overlay = document.querySelector(idOverlayConfirm);\n overlay.classList.remove(flagIsCollapsed);\n overlay.style.visibility = 'visible';\n }\n}","\nimport BusinessObjects from \"../lib/business_objects/business_objects.js\";\nimport Events from \"../lib/events.js\";\nimport LocalStorage from \"../lib/local_storage.js\";\nimport API from \"../api.js\";\nimport DOM from \"../dom.js\";\nimport Utils from \"../lib/utils.js\";\n\nimport OverlayConfirm from \"../components/common/temporary/overlay_confirm.js\";\nimport OverlayError from \"../components/common/temporary/overlay_error.js\";\nimport Validation from \"../lib/validation.js\";\n\nexport default class BasePage {\n constructor(router) {\n if (!router) {\n throw new Error(\"Router is required\");\n }\n else {\n Utils.consoleLogIfNotProductionEnvironment(\"initialising with router: \", router);\n }\n this.router = router;\n this.title = titlePageCurrent;\n if (this.constructor === BasePage) {\n throw new Error(\"Cannot instantiate abstract class\");\n }\n \n if (!this.constructor.hash) {\n throw new Error(`Class ${this.constructor.name} must have a static hash attribute.`);\n }\n }\n\n initialize() {\n throw new Error(\"Method 'initialize()' must be implemented.\");\n }\n\n sharedInitialize() {\n this.logInitialisation();\n this.hookupCommonElements();\n }\n\n logInitialisation() {\n Utils.consoleLogIfNotProductionEnvironment('Initializing ' + this.title + ' page');\n }\n \n hookupCommonElements() {\n // hookupVideos();\n this.hookupLogos();\n this.hookupNavigation();\n this.hookupOverlays();\n }\n \n hookupNavigation() {\n Events.hookupEventHandler(\"click\", idButtonHamburger, (event, element) => {\n let overlayHamburger = document.querySelector(idOverlayHamburger);\n if (overlayHamburger.classList.contains(flagIsCollapsed)) {\n overlayHamburger.classList.remove(flagIsCollapsed);\n overlayHamburger.classList.add(flagExpanded);\n } else {\n overlayHamburger.classList.remove(flagExpanded);\n overlayHamburger.classList.add(flagIsCollapsed);\n }\n });\n\n this.hookupButtonsNavHome();\n this.hookupButtonsNavContact();\n // this.hookupButtonsNavAdminHome();\n this.hookupButtonsNavUserAccount();\n this.hookupButtonsNavUserLogout();\n this.hookupButtonsNavUserLogin();\n\n // this.hookupButtonsNavStoreHome();\n // this.hookupButtonsNavStoreManufacturingPurchaseOrders();\n this.hookupButtonsNavDogHome();\n this.hookupButtonsNavDogCommandCategories();\n this.hookupButtonsNavDogCommands();\n this.hookupButtonsNavDogDogCommandLinks();\n this.hookupButtonsNavDogDogs();\n this.hookupButtonsNavDogLocations();\n this.hookupButtonsNavDogButtonIcons();\n this.hookupButtonsNavDogCommandButtonLinks();\n this.hookupButtonsNavDogAssessments();\n }\n hookupEventHandler(eventType, selector, callback) {\n Events.initialiseEventHandler(selector, flagInitialised, (element) => {\n element.addEventListener(eventType, (event) => {\n event.stopPropagation();\n callback(event, element);\n });\n });\n }\n hookupButtonsNavHome() {\n this.hookupButtonsNav('.' + flagNavHome, hashPageHome);\n }\n hookupButtonsNav(buttonSelector, hashPageNav) {\n Events.hookupEventHandler(\"click\", buttonSelector, (event, button) => { \n this.router.navigateToHash(hashPageNav); \n });\n }\n hookupButtonsNavContact() {\n this.hookupButtonsNav('.' + flagNavContact, hashPageContact);\n }\n /*\n hookupButtonsNavAdminHome() {\n this.hookupButtonsNav('.' + flagNavAdminHome, hashPageAdminHome);\n }\n hookupButtonsNavServices() {\n this.hookupButtonsNav('.' + flagNavServices, hashPageServices);\n }\n */\n hookupButtonsNavUserAccount() {\n this.hookupButtonsNav('.' + flagNavUserAccount, hashPageUserAccount);\n }\n hookupButtonsNavUserLogout() {\n this.hookupButtonsNav('.' + flagNavUserLogout, hashPageUserLogout);\n }\n hookupButtonsNavUserLogin() {\n Events.hookupEventHandler(\"click\", '.' + flagNavUserLogin, (event, navigator) => { \n event.stopPropagation();\n this.leave();\n API.loginUser()\n .then((response) => {\n if (response.Success) {\n window.location.href = response[flagCallback];\n } else {\n DOM.alertError(\"Error\", response.Message);\n }\n });\n });\n }\n hookupButtonsNavDogHome() {\n this.hookupButtonsNav('.' + flagNavDogHome, hashPageDogHome);\n }\n hookupButtonsNavDogCommandCategories() {\n this.hookupButtonsNav('.' + flagNavDogCommandCategories, hashPageDogCommandCategories);\n }\n hookupButtonsNavDogCommands() {\n this.hookupButtonsNav('.' + flagNavDogCommands, hashPageDogCommands);\n }\n hookupButtonsNavDogDogCommandLinks() {\n this.hookupButtonsNav('.' + flagNavDogDogCommandLinks, hashPageDogDogCommandLinks);\n }\n hookupButtonsNavDogDogs() {\n this.hookupButtonsNav('.' + flagNavDogDogs, hashPageDogDogs);\n }\n hookupButtonsNavDogLocations() {\n this.hookupButtonsNav('.' + flagNavDogLocations, hashPageDogLocations);\n }\n hookupButtonsNavDogButtonIcons() {\n this.hookupButtonsNav('.' + flagNavDogButtonIcons, hashPageDogButtonIcons);\n }\n hookupButtonsNavDogCommandButtonLinks() {\n this.hookupButtonsNav('.' + flagNavDogCommandButtonLinks, hashPageDogCommandButtonLinks);\n }\n hookupButtonsNavDogAssessments() {\n this.hookupButtonsNav('.' + flagNavDogAssessments, hashPageDogAssessments);\n }\n\n hookupLogos() {\n Events.hookupEventHandler(\"click\", \".\" + flagImageLogo + \",\" + \".\" + flagLogo, (event, element) => {\n Utils.consoleLogIfNotProductionEnvironment('clicking logo');\n this.router.navigateToHash(hashPageHome);\n });\n }\n\n hookupOverlays() {\n this.hookupOverlayFromId(idOverlayConfirm);\n this.hookupOverlayFromId(idOverlayError);\n }\n\n hookupOverlayFromId(idOverlay) {\n Events.initialiseEventHandler(idOverlay, flagInitialised, (overlay) => {\n overlay.querySelector('button.' + flagCancel).addEventListener(\"click\", (event) => {\n event.stopPropagation();\n overlay.style.display = 'none';\n });\n });\n }\n\n hookupButtonSave() {\n Events.initialiseEventHandler('.' + flagContainer + '.' + flagSave + '.' + flagCancel + ' button.' + flagSave, flagInitialised, (button) => {\n button.addEventListener(\"click\", (event) => {\n event.stopPropagation();\n button = event.target;\n if (button.classList.contains(flagIsCollapsed)) return;\n Utils.consoleLogIfNotProductionEnvironment('saving page: ', this.title);\n OverlayConfirm.show();\n });\n });\n }\n\n leave() {\n Utils.consoleLogIfNotProductionEnvironment('Leaving ' + this.title + ' page');\n if (this.constructor === BasePage) {\n throw new Error(\"Must implement leave() method.\");\n }\n }\n setLocalStoragePage(dataPage) {\n LocalStorage.setLocalStorage(this.hash, dataPage);\n }\n getLocalStoragePage() {\n return LocalStorage.getLocalStorage(this.hash);\n }\n\n toggleShowButtonsSaveCancel(show, buttonContainerSelector = null) { // , buttonSave = null, buttonCancel = null\n if (Validation.isEmpty(buttonContainerSelector)) buttonContainerSelector = '.' + flagContainer + '.' + flagSave + '.' + flagCancel;\n let buttonSave = document.querySelector(buttonContainerSelector + ' ' + idButtonSave);\n let buttonCancel = document.querySelector(buttonContainerSelector + ' ' + idButtonCancel);\n Utils.consoleLogIfNotProductionEnvironment({ show, buttonContainerSelector, buttonCancel, buttonSave });\n if (show) {\n buttonCancel.classList.remove(flagIsCollapsed);\n buttonSave.classList.remove(flagIsCollapsed);\n Utils.consoleLogIfNotProductionEnvironment('showing buttons');\n } else {\n buttonCancel.classList.add(flagIsCollapsed);\n buttonSave.classList.add(flagIsCollapsed);\n Utils.consoleLogIfNotProductionEnvironment('hiding buttons');\n }\n }\n\n static isDirtyFilter(filter) {\n let isDirty = DOM.updateAndCheckIsElementDirty(filter);\n if (isDirty) document.querySelectorAll(idTableMain + ' tbody tr').remove();\n return isDirty;\n }\n\n}","\n// internal\nimport BasePage from \"../base.js\";\n// external\n\n\nexport default class PageHome extends BasePage {\n static hash = hashPageHome;\n\n constructor(router) {\n super(router);\n }\n\n initialize() {\n this.sharedInitialize();\n // this.hookupButtonsNav();\n }\n\n leave() {\n super.leave();\n }\n}\n\n","var hi = Object.defineProperty;\nvar Or = (e) => {\n throw TypeError(e);\n};\nvar gi = (e, t, r) => t in e ? hi(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r;\nvar ne = (e, t, r) => gi(e, typeof t != \"symbol\" ? t + \"\" : t, r), zr = (e, t, r) => t.has(e) || Or(\"Cannot \" + r);\nvar H = (e, t, r) => (zr(e, t, \"read from private field\"), r ? r.call(e) : t.get(e)), Mt = (e, t, r) => t.has(e) ? Or(\"Cannot add the same private member more than once\") : t instanceof WeakSet ? t.add(e) : t.set(e, r), Ut = (e, t, r, l) => (zr(e, t, \"write to private field\"), l ? l.call(e, r) : t.set(e, r), r);\nconst en = `(function(){\"use strict\";const d=new TextEncoder;function p(e){return[...new Uint8Array(e)].map(t=>t.toString(16).padStart(2,\"0\")).join(\"\")}async function b(e,t,r){if(typeof crypto>\"u\"||!(\"subtle\"in crypto)||!(\"digest\"in crypto.subtle))throw new Error(\"Web Crypto is not available. Secure context is required (https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts).\");return p(await crypto.subtle.digest(r.toUpperCase(),d.encode(e+t)))}function w(e,t,r=\"SHA-256\",n=1e6,s=0){const o=new AbortController,a=Date.now();return{promise:(async()=>{for(let c=s;c<=n;c+=1){if(o.signal.aborted)return null;if(await b(t,c,r)===e)return{number:c,took:Date.now()-a}}return null})(),controller:o}}function h(e){const t=atob(e),r=new Uint8Array(t.length);for(let n=0;n{for(let u=n;u<=r;u+=1){if(o.signal.aborted||!c||!y)return null;try{const f=await crypto.subtle.decrypt({name:s,iv:g(u)},c,y);if(f)return{clearText:new TextDecoder().decode(f),took:Date.now()-a}}catch{}}return null};let c=null,y=null;try{y=h(e);const u=await crypto.subtle.digest(\"SHA-256\",d.encode(t));c=await crypto.subtle.importKey(\"raw\",u,s,!1,[\"decrypt\"])}catch{return{promise:Promise.reject(),controller:o}}return{promise:l(),controller:o}}let i;onmessage=async e=>{const{type:t,payload:r,start:n,max:s}=e.data;let o=null;if(t===\"abort\")i==null||i.abort(),i=void 0;else if(t===\"work\"){if(\"obfuscated\"in r){const{key:a,obfuscated:l}=r||{};o=await m(l,a,s,n)}else{const{algorithm:a,challenge:l,salt:c}=r||{};o=w(l,c,a,s,n)}i=o.controller,o.promise.then(a=>{self.postMessage(a&&{...a,worker:!0})})}}})();\n`, Fr = typeof self < \"u\" && self.Blob && new Blob([en], { type: \"text/javascript;charset=utf-8\" });\nfunction _i(e) {\n let t;\n try {\n if (t = Fr && (self.URL || self.webkitURL).createObjectURL(Fr), !t) throw \"\";\n const r = new Worker(t, {\n name: e == null ? void 0 : e.name\n });\n return r.addEventListener(\"error\", () => {\n (self.URL || self.webkitURL).revokeObjectURL(t);\n }), r;\n } catch {\n return new Worker(\n \"data:text/javascript;charset=utf-8,\" + encodeURIComponent(en),\n {\n name: e == null ? void 0 : e.name\n }\n );\n } finally {\n t && (self.URL || self.webkitURL).revokeObjectURL(t);\n }\n}\nconst mi = \"5\";\nvar Qr;\ntypeof window < \"u\" && ((Qr = window.__svelte ?? (window.__svelte = {})).v ?? (Qr.v = /* @__PURE__ */ new Set())).add(mi);\nconst wi = 1, pi = 4, yi = 8, bi = 16, Ei = 1, xi = 2, Wt = \"[\", tn = \"[!\", rn = \"]\", Je = {}, W = Symbol(), $i = \"http://www.w3.org/1999/xhtml\", Mr = !1, oe = 2, nn = 4, It = 8, Yt = 16, pe = 32, ze = 64, yt = 128, re = 256, bt = 512, K = 1024, ye = 2048, et = 4096, Ke = 8192, St = 16384, ki = 32768, Zt = 65536, Ci = 1 << 19, ln = 1 << 20, ut = Symbol(\"$state\"), an = Symbol(\"legacy props\"), Ai = Symbol(\"\");\nvar on = Array.isArray, Ri = Array.prototype.indexOf, Ii = Array.from, Et = Object.keys, xt = Object.defineProperty, Pe = Object.getOwnPropertyDescriptor, Si = Object.getOwnPropertyDescriptors, Ti = Object.prototype, Ni = Array.prototype, sn = Object.getPrototypeOf;\nfunction fn(e) {\n for (var t = 0; t < e.length; t++)\n e[t]();\n}\nconst Li = typeof requestIdleCallback > \"u\" ? (e) => setTimeout(e, 1) : requestIdleCallback;\nlet dt = [], vt = [];\nfunction un() {\n var e = dt;\n dt = [], fn(e);\n}\nfunction cn() {\n var e = vt;\n vt = [], fn(e);\n}\nfunction Gt(e) {\n dt.length === 0 && queueMicrotask(un), dt.push(e);\n}\nfunction Di(e) {\n vt.length === 0 && Li(cn), vt.push(e);\n}\nfunction Ur() {\n dt.length > 0 && un(), vt.length > 0 && cn();\n}\nfunction dn(e) {\n return e === this.v;\n}\nfunction Pi(e, t) {\n return e != e ? t == t : e !== t || e !== null && typeof e == \"object\" || typeof e == \"function\";\n}\nfunction vn(e) {\n return !Pi(e, this.v);\n}\nfunction Oi(e) {\n throw new Error(\"https://svelte.dev/e/effect_in_teardown\");\n}\nfunction zi() {\n throw new Error(\"https://svelte.dev/e/effect_in_unowned_derived\");\n}\nfunction Fi(e) {\n throw new Error(\"https://svelte.dev/e/effect_orphan\");\n}\nfunction Mi() {\n throw new Error(\"https://svelte.dev/e/effect_update_depth_exceeded\");\n}\nfunction Ui() {\n throw new Error(\"https://svelte.dev/e/hydration_failed\");\n}\nfunction ji(e) {\n throw new Error(\"https://svelte.dev/e/props_invalid_value\");\n}\nfunction Vi() {\n throw new Error(\"https://svelte.dev/e/state_descriptors_fixed\");\n}\nfunction Bi() {\n throw new Error(\"https://svelte.dev/e/state_prototype_fixed\");\n}\nfunction qi() {\n throw new Error(\"https://svelte.dev/e/state_unsafe_local_read\");\n}\nfunction Hi() {\n throw new Error(\"https://svelte.dev/e/state_unsafe_mutation\");\n}\nlet Wi = !1;\nfunction ue(e, t) {\n var r = {\n f: 0,\n // TODO ideally we could skip this altogether, but it causes type errors\n v: e,\n reactions: null,\n equals: dn,\n rv: 0,\n wv: 0\n };\n return r;\n}\nfunction He(e) {\n return /* @__PURE__ */ Yi(ue(e));\n}\n// @__NO_SIDE_EFFECTS__\nfunction hn(e, t = !1) {\n const r = ue(e);\n return t || (r.equals = vn), r;\n}\n// @__NO_SIDE_EFFECTS__\nfunction Yi(e) {\n return k !== null && !ae && (k.f & oe) !== 0 && (ce === null ? Qi([e]) : ce.push(e)), e;\n}\nfunction P(e, t) {\n return k !== null && !ae && Dn() && (k.f & (oe | Yt)) !== 0 && // If the source was created locally within the current derived, then\n // we allow the mutation.\n (ce === null || !ce.includes(e)) && Hi(), Zi(e, t);\n}\nfunction Zi(e, t) {\n return e.equals(t) || (e.v, e.v = t, e.wv = En(), gn(e, ye), A !== null && (A.f & K) !== 0 && (A.f & (pe | ze)) === 0 && (ge === null ? el([e]) : ge.push(e))), t;\n}\nfunction gn(e, t) {\n var r = e.reactions;\n if (r !== null)\n for (var l = r.length, i = 0; i < l; i++) {\n var a = r[i], o = a.f;\n (o & ye) === 0 && (de(a, t), (o & (K | re)) !== 0 && ((o & oe) !== 0 ? gn(\n /** @type {Derived} */\n a,\n et\n ) : Lt(\n /** @type {Effect} */\n a\n )));\n }\n}\n// @__NO_SIDE_EFFECTS__\nfunction De(e) {\n var t = oe | ye, r = k !== null && (k.f & oe) !== 0 ? (\n /** @type {Derived} */\n k\n ) : null;\n return A === null || r !== null && (r.f & re) !== 0 ? t |= re : A.f |= ln, {\n ctx: B,\n deps: null,\n effects: null,\n equals: dn,\n f: t,\n fn: e,\n reactions: null,\n rv: 0,\n v: (\n /** @type {V} */\n null\n ),\n wv: 0,\n parent: r ?? A\n };\n}\nfunction _n(e) {\n var t = e.effects;\n if (t !== null) {\n e.effects = null;\n for (var r = 0; r < t.length; r += 1)\n we(\n /** @type {Effect} */\n t[r]\n );\n }\n}\nfunction Gi(e) {\n for (var t = e.parent; t !== null; ) {\n if ((t.f & oe) === 0)\n return (\n /** @type {Effect} */\n t\n );\n t = t.parent;\n }\n return null;\n}\nfunction Ji(e) {\n var t, r = A;\n Se(Gi(e));\n try {\n _n(e), t = $n(e);\n } finally {\n Se(r);\n }\n return t;\n}\nfunction mn(e) {\n var t = Ji(e), r = (Ce || (e.f & re) !== 0) && e.deps !== null ? et : K;\n de(e, r), e.equals(t) || (e.v = t, e.wv = En());\n}\nfunction Tt(e) {\n console.warn(\"https://svelte.dev/e/hydration_mismatch\");\n}\nlet D = !1;\nfunction Ge(e) {\n D = e;\n}\nlet O;\nfunction Re(e) {\n if (e === null)\n throw Tt(), Je;\n return O = e;\n}\nfunction Xe() {\n return Re(\n /** @type {TemplateNode} */\n /* @__PURE__ */ Te(O)\n );\n}\nfunction Z(e) {\n if (D) {\n if (/* @__PURE__ */ Te(O) !== null)\n throw Tt(), Je;\n O = e;\n }\n}\nfunction Ki() {\n for (var e = 0, t = O; ; ) {\n if (t.nodeType === 8) {\n var r = (\n /** @type {Comment} */\n t.data\n );\n if (r === rn) {\n if (e === 0) return t;\n e -= 1;\n } else (r === Wt || r === tn) && (e += 1);\n }\n var l = (\n /** @type {TemplateNode} */\n /* @__PURE__ */ Te(t)\n );\n t.remove(), t = l;\n }\n}\nfunction le(e, t = null, r) {\n if (typeof e != \"object\" || e === null || ut in e)\n return e;\n const l = sn(e);\n if (l !== Ti && l !== Ni)\n return e;\n var i = /* @__PURE__ */ new Map(), a = on(e), o = ue(0);\n a && i.set(\"length\", ue(\n /** @type {any[]} */\n e.length\n ));\n var f;\n return new Proxy(\n /** @type {any} */\n e,\n {\n defineProperty(s, c, v) {\n (!(\"value\" in v) || v.configurable === !1 || v.enumerable === !1 || v.writable === !1) && Vi();\n var h = i.get(c);\n return h === void 0 ? (h = ue(v.value), i.set(c, h)) : P(h, le(v.value, f)), !0;\n },\n deleteProperty(s, c) {\n var v = i.get(c);\n if (v === void 0)\n c in s && i.set(c, ue(W));\n else {\n if (a && typeof c == \"string\") {\n var h = (\n /** @type {Source} */\n i.get(\"length\")\n ), g = Number(c);\n Number.isInteger(g) && g < h.v && P(h, g);\n }\n P(v, W), jr(o);\n }\n return !0;\n },\n get(s, c, v) {\n var w;\n if (c === ut)\n return e;\n var h = i.get(c), g = c in s;\n if (h === void 0 && (!g || (w = Pe(s, c)) != null && w.writable) && (h = ue(le(g ? s[c] : W, f)), i.set(c, h)), h !== void 0) {\n var m = d(h);\n return m === W ? void 0 : m;\n }\n return Reflect.get(s, c, v);\n },\n getOwnPropertyDescriptor(s, c) {\n var v = Reflect.getOwnPropertyDescriptor(s, c);\n if (v && \"value\" in v) {\n var h = i.get(c);\n h && (v.value = d(h));\n } else if (v === void 0) {\n var g = i.get(c), m = g == null ? void 0 : g.v;\n if (g !== void 0 && m !== W)\n return {\n enumerable: !0,\n configurable: !0,\n value: m,\n writable: !0\n };\n }\n return v;\n },\n has(s, c) {\n var m;\n if (c === ut)\n return !0;\n var v = i.get(c), h = v !== void 0 && v.v !== W || Reflect.has(s, c);\n if (v !== void 0 || A !== null && (!h || (m = Pe(s, c)) != null && m.writable)) {\n v === void 0 && (v = ue(h ? le(s[c], f) : W), i.set(c, v));\n var g = d(v);\n if (g === W)\n return !1;\n }\n return h;\n },\n set(s, c, v, h) {\n var F;\n var g = i.get(c), m = c in s;\n if (a && c === \"length\")\n for (var w = v; w < /** @type {Source} */\n g.v; w += 1) {\n var z = i.get(w + \"\");\n z !== void 0 ? P(z, W) : w in s && (z = ue(W), i.set(w + \"\", z));\n }\n g === void 0 ? (!m || (F = Pe(s, c)) != null && F.writable) && (g = ue(void 0), P(g, le(v, f)), i.set(c, g)) : (m = g.v !== W, P(g, le(v, f)));\n var T = Reflect.getOwnPropertyDescriptor(s, c);\n if (T != null && T.set && T.set.call(h, v), !m) {\n if (a && typeof c == \"string\") {\n var Y = (\n /** @type {Source} */\n i.get(\"length\")\n ), M = Number(c);\n Number.isInteger(M) && M >= Y.v && P(Y, M + 1);\n }\n jr(o);\n }\n return !0;\n },\n ownKeys(s) {\n d(o);\n var c = Reflect.ownKeys(s).filter((g) => {\n var m = i.get(g);\n return m === void 0 || m.v !== W;\n });\n for (var [v, h] of i)\n h.v !== W && !(v in s) && c.push(v);\n return c;\n },\n setPrototypeOf() {\n Bi();\n }\n }\n );\n}\nfunction jr(e, t = 1) {\n P(e, e.v + t);\n}\nvar Vr, wn, pn, yn;\nfunction jt() {\n if (Vr === void 0) {\n Vr = window, wn = /Firefox/.test(navigator.userAgent);\n var e = Element.prototype, t = Node.prototype;\n pn = Pe(t, \"firstChild\").get, yn = Pe(t, \"nextSibling\").get, e.__click = void 0, e.__className = void 0, e.__attributes = null, e.__style = void 0, e.__e = void 0, Text.prototype.__t = void 0;\n }\n}\nfunction Jt(e = \"\") {\n return document.createTextNode(e);\n}\n// @__NO_SIDE_EFFECTS__\nfunction me(e) {\n return pn.call(e);\n}\n// @__NO_SIDE_EFFECTS__\nfunction Te(e) {\n return yn.call(e);\n}\nfunction G(e, t) {\n if (!D)\n return /* @__PURE__ */ me(e);\n var r = (\n /** @type {TemplateNode} */\n /* @__PURE__ */ me(O)\n );\n return r === null && (r = O.appendChild(Jt())), Re(r), r;\n}\nfunction Br(e, t) {\n if (!D) {\n var r = (\n /** @type {DocumentFragment} */\n /* @__PURE__ */ me(\n /** @type {Node} */\n e\n )\n );\n return r instanceof Comment && r.data === \"\" ? /* @__PURE__ */ Te(r) : r;\n }\n return O;\n}\nfunction he(e, t = 1, r = !1) {\n let l = D ? O : e;\n for (var i; t--; )\n i = l, l = /** @type {TemplateNode} */\n /* @__PURE__ */ Te(l);\n if (!D)\n return l;\n var a = l == null ? void 0 : l.nodeType;\n if (r && a !== 3) {\n var o = Jt();\n return l === null ? i == null || i.after(o) : l.before(o), Re(o), o;\n }\n return Re(l), /** @type {TemplateNode} */\n l;\n}\nfunction Xi(e) {\n e.textContent = \"\";\n}\nlet wt = !1, $t = !1, kt = null, Oe = !1, Kt = !1;\nfunction qr(e) {\n Kt = e;\n}\nlet ct = [];\nlet k = null, ae = !1;\nfunction Ie(e) {\n k = e;\n}\nlet A = null;\nfunction Se(e) {\n A = e;\n}\nlet ce = null;\nfunction Qi(e) {\n ce = e;\n}\nlet V = null, J = 0, ge = null;\nfunction el(e) {\n ge = e;\n}\nlet bn = 1, Ct = 0, Ce = !1;\nfunction En() {\n return ++bn;\n}\nfunction ht(e) {\n var h;\n var t = e.f;\n if ((t & ye) !== 0)\n return !0;\n if ((t & et) !== 0) {\n var r = e.deps, l = (t & re) !== 0;\n if (r !== null) {\n var i, a, o = (t & bt) !== 0, f = l && A !== null && !Ce, s = r.length;\n if (o || f) {\n var c = (\n /** @type {Derived} */\n e\n ), v = c.parent;\n for (i = 0; i < s; i++)\n a = r[i], (o || !((h = a == null ? void 0 : a.reactions) != null && h.includes(c))) && (a.reactions ?? (a.reactions = [])).push(c);\n o && (c.f ^= bt), f && v !== null && (v.f & re) === 0 && (c.f ^= re);\n }\n for (i = 0; i < s; i++)\n if (a = r[i], ht(\n /** @type {Derived} */\n a\n ) && mn(\n /** @type {Derived} */\n a\n ), a.wv > e.wv)\n return !0;\n }\n (!l || A !== null && !Ce) && de(e, K);\n }\n return !1;\n}\nfunction tl(e, t) {\n for (var r = t; r !== null; ) {\n if ((r.f & yt) !== 0)\n try {\n r.fn(e);\n return;\n } catch {\n r.f ^= yt;\n }\n r = r.parent;\n }\n throw wt = !1, e;\n}\nfunction rl(e) {\n return (e.f & St) === 0 && (e.parent === null || (e.parent.f & yt) === 0);\n}\nfunction Nt(e, t, r, l) {\n if (wt) {\n if (r === null && (wt = !1), rl(t))\n throw e;\n return;\n }\n r !== null && (wt = !0);\n {\n tl(e, t);\n return;\n }\n}\nfunction xn(e, t, r = !0) {\n var l = e.reactions;\n if (l !== null)\n for (var i = 0; i < l.length; i++) {\n var a = l[i];\n (a.f & oe) !== 0 ? xn(\n /** @type {Derived} */\n a,\n t,\n !1\n ) : t === a && (r ? de(a, ye) : (a.f & K) !== 0 && de(a, et), Lt(\n /** @type {Effect} */\n a\n ));\n }\n}\nfunction $n(e) {\n var m;\n var t = V, r = J, l = ge, i = k, a = Ce, o = ce, f = B, s = ae, c = e.f;\n V = /** @type {null | Value[]} */\n null, J = 0, ge = null, Ce = (c & re) !== 0 && (ae || !Oe || k === null), k = (c & (pe | ze)) === 0 ? e : null, ce = null, Wr(e.ctx), ae = !1, Ct++;\n try {\n var v = (\n /** @type {Function} */\n (0, e.fn)()\n ), h = e.deps;\n if (V !== null) {\n var g;\n if (At(e, J), h !== null && J > 0)\n for (h.length = J + V.length, g = 0; g < V.length; g++)\n h[J + g] = V[g];\n else\n e.deps = h = V;\n if (!Ce)\n for (g = J; g < h.length; g++)\n ((m = h[g]).reactions ?? (m.reactions = [])).push(e);\n } else h !== null && J < h.length && (At(e, J), h.length = J);\n if (Dn() && ge !== null && !ae && h !== null && (e.f & (oe | et | ye)) === 0)\n for (g = 0; g < /** @type {Source[]} */\n ge.length; g++)\n xn(\n ge[g],\n /** @type {Effect} */\n e\n );\n return i !== null && Ct++, v;\n } finally {\n V = t, J = r, ge = l, k = i, Ce = a, ce = o, Wr(f), ae = s;\n }\n}\nfunction nl(e, t) {\n let r = t.reactions;\n if (r !== null) {\n var l = Ri.call(r, e);\n if (l !== -1) {\n var i = r.length - 1;\n i === 0 ? r = t.reactions = null : (r[l] = r[i], r.pop());\n }\n }\n r === null && (t.f & oe) !== 0 && // Destroying a child effect while updating a parent effect can cause a dependency to appear\n // to be unused, when in fact it is used by the currently-updating parent. Checking `new_deps`\n // allows us to skip the expensive work of disconnecting and immediately reconnecting it\n (V === null || !V.includes(t)) && (de(t, et), (t.f & (re | bt)) === 0 && (t.f ^= bt), _n(\n /** @type {Derived} **/\n t\n ), At(\n /** @type {Derived} **/\n t,\n 0\n ));\n}\nfunction At(e, t) {\n var r = e.deps;\n if (r !== null)\n for (var l = t; l < r.length; l++)\n nl(e, r[l]);\n}\nfunction Xt(e) {\n var t = e.f;\n if ((t & St) === 0) {\n de(e, K);\n var r = A, l = B, i = Oe;\n A = e, Oe = !0;\n try {\n (t & Yt) !== 0 ? hl(e) : An(e), Cn(e);\n var a = $n(e);\n e.teardown = typeof a == \"function\" ? a : null, e.wv = bn;\n var o = e.deps, f;\n Mr && Wi && e.f & ye;\n } catch (s) {\n Nt(s, e, r, l || e.ctx);\n } finally {\n Oe = i, A = r;\n }\n }\n}\nfunction il() {\n try {\n Mi();\n } catch (e) {\n if (kt !== null)\n Nt(e, kt, null);\n else\n throw e;\n }\n}\nfunction kn() {\n var e = Oe;\n try {\n var t = 0;\n for (Oe = !0; ct.length > 0; ) {\n t++ > 1e3 && il();\n var r = ct, l = r.length;\n ct = [];\n for (var i = 0; i < l; i++) {\n var a = al(r[i]);\n ll(a);\n }\n }\n } finally {\n $t = !1, Oe = e, kt = null;\n }\n}\nfunction ll(e) {\n var t = e.length;\n if (t !== 0)\n for (var r = 0; r < t; r++) {\n var l = e[r];\n if ((l.f & (St | Ke)) === 0)\n try {\n ht(l) && (Xt(l), l.deps === null && l.first === null && l.nodes_start === null && (l.teardown === null ? Rn(l) : l.fn = null));\n } catch (i) {\n Nt(i, l, null, l.ctx);\n }\n }\n}\nfunction Lt(e) {\n $t || ($t = !0, queueMicrotask(kn));\n for (var t = kt = e; t.parent !== null; ) {\n t = t.parent;\n var r = t.f;\n if ((r & (ze | pe)) !== 0) {\n if ((r & K) === 0) return;\n t.f ^= K;\n }\n }\n ct.push(t);\n}\nfunction al(e) {\n for (var t = [], r = e; r !== null; ) {\n var l = r.f, i = (l & (pe | ze)) !== 0, a = i && (l & K) !== 0;\n if (!a && (l & Ke) === 0) {\n if ((l & nn) !== 0)\n t.push(r);\n else if (i)\n r.f ^= K;\n else {\n var o = k;\n try {\n k = r, ht(r) && Xt(r);\n } catch (c) {\n Nt(c, r, null, r.ctx);\n } finally {\n k = o;\n }\n }\n var f = r.first;\n if (f !== null) {\n r = f;\n continue;\n }\n }\n var s = r.parent;\n for (r = r.next; r === null && s !== null; )\n r = s.next, s = s.parent;\n }\n return t;\n}\nfunction $(e) {\n var t;\n for (Ur(); ct.length > 0; )\n $t = !0, kn(), Ur();\n return (\n /** @type {T} */\n t\n );\n}\nasync function ol() {\n await Promise.resolve(), $();\n}\nfunction d(e) {\n var t = e.f, r = (t & oe) !== 0;\n if (k !== null && !ae) {\n ce !== null && ce.includes(e) && qi();\n var l = k.deps;\n e.rv < Ct && (e.rv = Ct, V === null && l !== null && l[J] === e ? J++ : V === null ? V = [e] : (!Ce || !V.includes(e)) && V.push(e));\n } else if (r && /** @type {Derived} */\n e.deps === null && /** @type {Derived} */\n e.effects === null) {\n var i = (\n /** @type {Derived} */\n e\n ), a = i.parent;\n a !== null && (a.f & re) === 0 && (i.f ^= re);\n }\n return r && (i = /** @type {Derived} */\n e, ht(i) && mn(i)), e.v;\n}\nfunction Qe(e) {\n var t = ae;\n try {\n return ae = !0, e();\n } finally {\n ae = t;\n }\n}\nconst sl = -7169;\nfunction de(e, t) {\n e.f = e.f & sl | t;\n}\nfunction fl(e) {\n A === null && k === null && Fi(), k !== null && (k.f & re) !== 0 && A === null && zi(), Kt && Oi();\n}\nfunction ul(e, t) {\n var r = t.last;\n r === null ? t.last = t.first = e : (r.next = e, e.prev = r, t.last = e);\n}\nfunction Fe(e, t, r, l = !0) {\n var i = A, a = {\n ctx: B,\n deps: null,\n nodes_start: null,\n nodes_end: null,\n f: e | ye,\n first: null,\n fn: t,\n last: null,\n next: null,\n parent: i,\n prev: null,\n teardown: null,\n transitions: null,\n wv: 0\n };\n if (r)\n try {\n Xt(a), a.f |= ki;\n } catch (s) {\n throw we(a), s;\n }\n else t !== null && Lt(a);\n var o = r && a.deps === null && a.first === null && a.nodes_start === null && a.teardown === null && (a.f & (ln | yt)) === 0;\n if (!o && l && (i !== null && ul(a, i), k !== null && (k.f & oe) !== 0)) {\n var f = (\n /** @type {Derived} */\n k\n );\n (f.effects ?? (f.effects = [])).push(a);\n }\n return a;\n}\nfunction cl(e) {\n const t = Fe(It, null, !1);\n return de(t, K), t.teardown = e, t;\n}\nfunction Vt(e) {\n fl();\n var t = A !== null && (A.f & pe) !== 0 && B !== null && !B.m;\n if (t) {\n var r = (\n /** @type {ComponentContext} */\n B\n );\n (r.e ?? (r.e = [])).push({\n fn: e,\n effect: A,\n reaction: k\n });\n } else {\n var l = Qt(e);\n return l;\n }\n}\nfunction dl(e) {\n const t = Fe(ze, e, !0);\n return () => {\n we(t);\n };\n}\nfunction vl(e) {\n const t = Fe(ze, e, !0);\n return (r = {}) => new Promise((l) => {\n r.outro ? Bt(t, () => {\n we(t), l(void 0);\n }) : (we(t), l(void 0));\n });\n}\nfunction Qt(e) {\n return Fe(nn, e, !1);\n}\nfunction er(e) {\n return Fe(It, e, !0);\n}\nfunction We(e, t = [], r = De) {\n const l = t.map(r);\n return tr(() => e(...l.map(d)));\n}\nfunction tr(e, t = 0) {\n return Fe(It | Yt | t, e, !0);\n}\nfunction Rt(e, t = !0) {\n return Fe(It | pe, e, !0, t);\n}\nfunction Cn(e) {\n var t = e.teardown;\n if (t !== null) {\n const r = Kt, l = k;\n qr(!0), Ie(null);\n try {\n t.call(null);\n } finally {\n qr(r), Ie(l);\n }\n }\n}\nfunction An(e, t = !1) {\n var r = e.first;\n for (e.first = e.last = null; r !== null; ) {\n var l = r.next;\n (r.f & ze) !== 0 ? r.parent = null : we(r, t), r = l;\n }\n}\nfunction hl(e) {\n for (var t = e.first; t !== null; ) {\n var r = t.next;\n (t.f & pe) === 0 && we(t), t = r;\n }\n}\nfunction we(e, t = !0) {\n var r = !1;\n if ((t || (e.f & Ci) !== 0) && e.nodes_start !== null) {\n for (var l = e.nodes_start, i = e.nodes_end; l !== null; ) {\n var a = l === i ? null : (\n /** @type {TemplateNode} */\n /* @__PURE__ */ Te(l)\n );\n l.remove(), l = a;\n }\n r = !0;\n }\n An(e, t && !r), At(e, 0), de(e, St);\n var o = e.transitions;\n if (o !== null)\n for (const s of o)\n s.stop();\n Cn(e);\n var f = e.parent;\n f !== null && f.first !== null && Rn(e), e.next = e.prev = e.teardown = e.ctx = e.deps = e.fn = e.nodes_start = e.nodes_end = null;\n}\nfunction Rn(e) {\n var t = e.parent, r = e.prev, l = e.next;\n r !== null && (r.next = l), l !== null && (l.prev = r), t !== null && (t.first === e && (t.first = l), t.last === e && (t.last = r));\n}\nfunction Bt(e, t) {\n var r = [];\n In(e, r, !0), gl(r, () => {\n we(e), t && t();\n });\n}\nfunction gl(e, t) {\n var r = e.length;\n if (r > 0) {\n var l = () => --r || t();\n for (var i of e)\n i.out(l);\n } else\n t();\n}\nfunction In(e, t, r) {\n if ((e.f & Ke) === 0) {\n if (e.f ^= Ke, e.transitions !== null)\n for (const o of e.transitions)\n (o.is_global || r) && t.push(o);\n for (var l = e.first; l !== null; ) {\n var i = l.next, a = (l.f & Zt) !== 0 || (l.f & pe) !== 0;\n In(l, t, a ? r : !1), l = i;\n }\n }\n}\nfunction Hr(e) {\n Sn(e, !0);\n}\nfunction Sn(e, t) {\n if ((e.f & Ke) !== 0) {\n e.f ^= Ke, (e.f & K) === 0 && (e.f ^= K), ht(e) && (de(e, ye), Lt(e));\n for (var r = e.first; r !== null; ) {\n var l = r.next, i = (r.f & Zt) !== 0 || (r.f & pe) !== 0;\n Sn(r, i ? t : !1), r = l;\n }\n if (e.transitions !== null)\n for (const a of e.transitions)\n (a.is_global || t) && a.in();\n }\n}\nfunction Tn(e) {\n throw new Error(\"https://svelte.dev/e/lifecycle_outside_component\");\n}\nlet B = null;\nfunction Wr(e) {\n B = e;\n}\nfunction Nn(e, t = !1, r) {\n B = {\n p: B,\n c: null,\n e: null,\n m: !1,\n s: e,\n x: null,\n l: null\n };\n}\nfunction Ln(e) {\n const t = B;\n if (t !== null) {\n e !== void 0 && (t.x = e);\n const o = t.e;\n if (o !== null) {\n var r = A, l = k;\n t.e = null;\n try {\n for (var i = 0; i < o.length; i++) {\n var a = o[i];\n Se(a.effect), Ie(a.reaction), Qt(a.fn);\n }\n } finally {\n Se(r), Ie(l);\n }\n }\n B = t.p, t.m = !0;\n }\n return e || /** @type {T} */\n {};\n}\nfunction Dn() {\n return !0;\n}\nconst _l = [\"touchstart\", \"touchmove\"];\nfunction ml(e) {\n return _l.includes(e);\n}\nlet Yr = !1;\nfunction Pn() {\n Yr || (Yr = !0, document.addEventListener(\n \"reset\",\n (e) => {\n Promise.resolve().then(() => {\n var t;\n if (!e.defaultPrevented)\n for (\n const r of\n /**@type {HTMLFormElement} */\n e.target.elements\n )\n (t = r.__on_r) == null || t.call(r);\n });\n },\n // In the capture phase to guarantee we get noticed of it (no possiblity of stopPropagation)\n { capture: !0 }\n ));\n}\nfunction On(e) {\n var t = k, r = A;\n Ie(null), Se(null);\n try {\n return e();\n } finally {\n Ie(t), Se(r);\n }\n}\nfunction wl(e, t, r, l = r) {\n e.addEventListener(t, () => On(r));\n const i = e.__on_r;\n i ? e.__on_r = () => {\n i(), l(!0);\n } : e.__on_r = () => l(!0), Pn();\n}\nconst zn = /* @__PURE__ */ new Set(), qt = /* @__PURE__ */ new Set();\nfunction pl(e, t, r, l = {}) {\n function i(a) {\n if (l.capture || ft.call(t, a), !a.cancelBubble)\n return On(() => r == null ? void 0 : r.call(this, a));\n }\n return e.startsWith(\"pointer\") || e.startsWith(\"touch\") || e === \"wheel\" ? Gt(() => {\n t.addEventListener(e, i, l);\n }) : t.addEventListener(e, i, l), i;\n}\nfunction yl(e, t, r, l, i) {\n var a = { capture: l, passive: i }, o = pl(e, t, r, a);\n (t === document.body || t === window || t === document) && cl(() => {\n t.removeEventListener(e, o, a);\n });\n}\nfunction bl(e) {\n for (var t = 0; t < e.length; t++)\n zn.add(e[t]);\n for (var r of qt)\n r(e);\n}\nfunction ft(e) {\n var M;\n var t = this, r = (\n /** @type {Node} */\n t.ownerDocument\n ), l = e.type, i = ((M = e.composedPath) == null ? void 0 : M.call(e)) || [], a = (\n /** @type {null | Element} */\n i[0] || e.target\n ), o = 0, f = e.__root;\n if (f) {\n var s = i.indexOf(f);\n if (s !== -1 && (t === document || t === /** @type {any} */\n window)) {\n e.__root = t;\n return;\n }\n var c = i.indexOf(t);\n if (c === -1)\n return;\n s <= c && (o = s);\n }\n if (a = /** @type {Element} */\n i[o] || e.target, a !== t) {\n xt(e, \"currentTarget\", {\n configurable: !0,\n get() {\n return a || r;\n }\n });\n var v = k, h = A;\n Ie(null), Se(null);\n try {\n for (var g, m = []; a !== null; ) {\n var w = a.assignedSlot || a.parentNode || /** @type {any} */\n a.host || null;\n try {\n var z = a[\"__\" + l];\n if (z != null && (!/** @type {any} */\n a.disabled || // DOM could've been updated already by the time this is reached, so we check this as well\n // -> the target could not have been disabled because it emits the event in the first place\n e.target === a))\n if (on(z)) {\n var [T, ...Y] = z;\n T.apply(a, [e, ...Y]);\n } else\n z.call(a, e);\n } catch (F) {\n g ? m.push(F) : g = F;\n }\n if (e.cancelBubble || w === t || w === null)\n break;\n a = w;\n }\n if (g) {\n for (let F of m)\n queueMicrotask(() => {\n throw F;\n });\n throw g;\n }\n } finally {\n e.__root = t, delete e.currentTarget, Ie(v), Se(h);\n }\n }\n}\nfunction rr(e) {\n var t = document.createElement(\"template\");\n return t.innerHTML = e, t.content;\n}\nfunction Ae(e, t) {\n var r = (\n /** @type {Effect} */\n A\n );\n r.nodes_start === null && (r.nodes_start = e, r.nodes_end = t);\n}\n// @__NO_SIDE_EFFECTS__\nfunction ve(e, t) {\n var r = (t & Ei) !== 0, l = (t & xi) !== 0, i, a = !e.startsWith(\"\");\n return () => {\n if (D)\n return Ae(O, null), O;\n i === void 0 && (i = rr(a ? e : \"\" + e), r || (i = /** @type {Node} */\n /* @__PURE__ */ me(i)));\n var o = (\n /** @type {TemplateNode} */\n l || wn ? document.importNode(i, !0) : i.cloneNode(!0)\n );\n if (r) {\n var f = (\n /** @type {TemplateNode} */\n /* @__PURE__ */ me(o)\n ), s = (\n /** @type {TemplateNode} */\n o.lastChild\n );\n Ae(f, s);\n } else\n Ae(o, o);\n return o;\n };\n}\n// @__NO_SIDE_EFFECTS__\nfunction El(e, t, r = \"svg\") {\n var l = !e.startsWith(\"\"), i = `<${r}>${l ? e : \"\" + e}`, a;\n return () => {\n if (D)\n return Ae(O, null), O;\n if (!a) {\n var o = (\n /** @type {DocumentFragment} */\n rr(i)\n ), f = (\n /** @type {Element} */\n /* @__PURE__ */ me(o)\n );\n a = /** @type {Element} */\n /* @__PURE__ */ me(f);\n }\n var s = (\n /** @type {TemplateNode} */\n a.cloneNode(!0)\n );\n return Ae(s, s), s;\n };\n}\nfunction ee(e, t) {\n if (D) {\n A.nodes_end = O, Xe();\n return;\n }\n e !== null && e.before(\n /** @type {Node} */\n t\n );\n}\nfunction Fn(e, t) {\n return Mn(e, t);\n}\nfunction xl(e, t) {\n jt(), t.intro = t.intro ?? !1;\n const r = t.target, l = D, i = O;\n try {\n for (var a = (\n /** @type {TemplateNode} */\n /* @__PURE__ */ me(r)\n ); a && (a.nodeType !== 8 || /** @type {Comment} */\n a.data !== Wt); )\n a = /** @type {TemplateNode} */\n /* @__PURE__ */ Te(a);\n if (!a)\n throw Je;\n Ge(!0), Re(\n /** @type {Comment} */\n a\n ), Xe();\n const o = Mn(e, { ...t, anchor: a });\n if (O === null || O.nodeType !== 8 || /** @type {Comment} */\n O.data !== rn)\n throw Tt(), Je;\n return Ge(!1), /** @type {Exports} */\n o;\n } catch (o) {\n if (o === Je)\n return t.recover === !1 && Ui(), jt(), Xi(r), Ge(!1), Fn(e, t);\n throw o;\n } finally {\n Ge(l), Re(i);\n }\n}\nconst Ye = /* @__PURE__ */ new Map();\nfunction Mn(e, { target: t, anchor: r, props: l = {}, events: i, context: a, intro: o = !0 }) {\n jt();\n var f = /* @__PURE__ */ new Set(), s = (h) => {\n for (var g = 0; g < h.length; g++) {\n var m = h[g];\n if (!f.has(m)) {\n f.add(m);\n var w = ml(m);\n t.addEventListener(m, ft, { passive: w });\n var z = Ye.get(m);\n z === void 0 ? (document.addEventListener(m, ft, { passive: w }), Ye.set(m, 1)) : Ye.set(m, z + 1);\n }\n }\n };\n s(Ii(zn)), qt.add(s);\n var c = void 0, v = vl(() => {\n var h = r ?? t.appendChild(Jt());\n return Rt(() => {\n if (a) {\n Nn({});\n var g = (\n /** @type {ComponentContext} */\n B\n );\n g.c = a;\n }\n i && (l.$$events = i), D && Ae(\n /** @type {TemplateNode} */\n h,\n null\n ), c = e(h, l) || {}, D && (A.nodes_end = O), a && Ln();\n }), () => {\n var w;\n for (var g of f) {\n t.removeEventListener(g, ft);\n var m = (\n /** @type {number} */\n Ye.get(g)\n );\n --m === 0 ? (document.removeEventListener(g, ft), Ye.delete(g)) : Ye.set(g, m);\n }\n qt.delete(s), h !== r && ((w = h.parentNode) == null || w.removeChild(h));\n };\n });\n return Ht.set(c, v), c;\n}\nlet Ht = /* @__PURE__ */ new WeakMap();\nfunction $l(e, t) {\n const r = Ht.get(e);\n return r ? (Ht.delete(e), r(t)) : Promise.resolve();\n}\nfunction ke(e, t, [r, l] = [0, 0]) {\n D && r === 0 && Xe();\n var i = e, a = null, o = null, f = W, s = r > 0 ? Zt : 0, c = !1;\n const v = (g, m = !0) => {\n c = !0, h(m, g);\n }, h = (g, m) => {\n if (f === (f = g)) return;\n let w = !1;\n if (D && l !== -1) {\n if (r === 0) {\n const T = (\n /** @type {Comment} */\n i.data\n );\n T === Wt ? l = 0 : T === tn ? l = 1 / 0 : (l = parseInt(T.substring(1)), l !== l && (l = f ? 1 / 0 : -1));\n }\n const z = l > r;\n !!f === z && (i = Ki(), Re(i), Ge(!1), w = !0, l = -1);\n }\n f ? (a ? Hr(a) : m && (a = Rt(() => m(i))), o && Bt(o, () => {\n o = null;\n })) : (o ? Hr(o) : m && (o = Rt(() => m(i, [r + 1, l]))), a && Bt(a, () => {\n a = null;\n })), w && Ge(!0);\n };\n tr(() => {\n c = !1, t(v), c || h(null, null);\n }, s), D && (i = O);\n}\nfunction Ze(e, t, r, l, i) {\n var a = e, o = \"\", f;\n tr(() => {\n if (o === (o = t() ?? \"\")) {\n D && Xe();\n return;\n }\n f !== void 0 && (we(f), f = void 0), o !== \"\" && (f = Rt(() => {\n if (D) {\n O.data;\n for (var s = Xe(), c = s; s !== null && (s.nodeType !== 8 || /** @type {Comment} */\n s.data !== \"\"); )\n c = s, s = /** @type {TemplateNode} */\n /* @__PURE__ */ Te(s);\n if (s === null)\n throw Tt(), Je;\n Ae(O, c), a = Re(s);\n return;\n }\n var v = o + \"\", h = rr(v);\n Ae(\n /** @type {TemplateNode} */\n /* @__PURE__ */ me(h),\n /** @type {TemplateNode} */\n h.lastChild\n ), a.before(h);\n }));\n });\n}\nfunction kl(e, t, r, l, i) {\n var f;\n D && Xe();\n var a = (f = t.$$slots) == null ? void 0 : f[r], o = !1;\n a === !0 && (a = t.children, o = !0), a === void 0 || a(e, o ? () => l : l);\n}\nfunction Cl(e, t) {\n Gt(() => {\n var r = e.getRootNode(), l = (\n /** @type {ShadowRoot} */\n r.host ? (\n /** @type {ShadowRoot} */\n r\n ) : (\n /** @type {Document} */\n r.head ?? /** @type {Document} */\n r.ownerDocument.head\n )\n );\n if (!l.querySelector(\"#\" + t.hash)) {\n const i = document.createElement(\"style\");\n i.id = t.hash, i.textContent = t.code, l.appendChild(i);\n }\n });\n}\nconst Zr = [...` \t\n\\r\\f \\v\\uFEFF`];\nfunction Al(e, t, r) {\n var l = \"\" + e;\n if (r) {\n for (var i in r)\n if (r[i])\n l = l ? l + \" \" + i : i;\n else if (l.length)\n for (var a = i.length, o = 0; (o = l.indexOf(i, o)) >= 0; ) {\n var f = o + a;\n (o === 0 || Zr.includes(l[o - 1])) && (f === l.length || Zr.includes(l[f])) ? l = (o === 0 ? \"\" : l.substring(0, o)) + l.substring(f + 1) : o = f;\n }\n }\n return l === \"\" ? null : l;\n}\nfunction Rl(e, t, r, l, i, a) {\n var o = e.__className;\n if (D || o !== r) {\n var f = Al(r, l, a);\n (!D || f !== e.getAttribute(\"class\")) && (f == null ? e.removeAttribute(\"class\") : e.className = f), e.__className = r;\n } else if (a && i !== a)\n for (var s in a) {\n var c = !!a[s];\n (i == null || c !== !!i[s]) && e.classList.toggle(s, c);\n }\n return a;\n}\nconst Il = Symbol(\"is custom element\"), Sl = Symbol(\"is html\");\nfunction Gr(e) {\n if (D) {\n var t = !1, r = () => {\n if (!t) {\n if (t = !0, e.hasAttribute(\"value\")) {\n var l = e.value;\n ie(e, \"value\", null), e.value = l;\n }\n if (e.hasAttribute(\"checked\")) {\n var i = e.checked;\n ie(e, \"checked\", null), e.checked = i;\n }\n }\n };\n e.__on_r = r, Di(r), Pn();\n }\n}\nfunction Tl(e, t) {\n var r = Un(e);\n r.value === (r.value = // treat null and undefined the same for the initial value\n t ?? void 0) || // @ts-expect-error\n // `progress` elements always need their value set when it's `0`\n e.value === t && (t !== 0 || e.nodeName !== \"PROGRESS\") || (e.value = t ?? \"\");\n}\nfunction ie(e, t, r, l) {\n var i = Un(e);\n D && (i[t] = e.getAttribute(t), t === \"src\" || t === \"srcset\" || t === \"href\" && e.nodeName === \"LINK\") || i[t] !== (i[t] = r) && (t === \"loading\" && (e[Ai] = r), r == null ? e.removeAttribute(t) : typeof r != \"string\" && Nl(e).includes(t) ? e[t] = r : e.setAttribute(t, r));\n}\nfunction Un(e) {\n return (\n /** @type {Record} **/\n // @ts-expect-error\n e.__attributes ?? (e.__attributes = {\n [Il]: e.nodeName.includes(\"-\"),\n [Sl]: e.namespaceURI === $i\n })\n );\n}\nvar Jr = /* @__PURE__ */ new Map();\nfunction Nl(e) {\n var t = Jr.get(e.nodeName);\n if (t) return t;\n Jr.set(e.nodeName, t = []);\n for (var r, l = e, i = Element.prototype; i !== l; ) {\n r = Si(l);\n for (var a in r)\n r[a].set && t.push(a);\n l = sn(l);\n }\n return t;\n}\nfunction Ll(e, t, r = t) {\n wl(e, \"change\", (l) => {\n var i = l ? e.defaultChecked : e.checked;\n r(i);\n }), // If we are hydrating and the value has since changed,\n // then use the update value from the input instead.\n (D && e.defaultChecked !== e.checked || // If defaultChecked is set, then checked == defaultChecked\n Qe(t) == null) && r(e.checked), er(() => {\n var l = t();\n e.checked = !!l;\n });\n}\nfunction Kr(e, t) {\n return e === t || (e == null ? void 0 : e[ut]) === t;\n}\nfunction Xr(e = {}, t, r, l) {\n return Qt(() => {\n var i, a;\n return er(() => {\n i = a, a = [], Qe(() => {\n e !== r(...a) && (t(e, ...a), i && Kr(r(...i), e) && t(null, ...i));\n });\n }), () => {\n Gt(() => {\n a && Kr(r(...a), e) && t(null, ...a);\n });\n };\n }), e;\n}\nfunction jn(e) {\n B === null && Tn(), Vt(() => {\n const t = Qe(e);\n if (typeof t == \"function\") return (\n /** @type {() => void} */\n t\n );\n });\n}\nfunction Dl(e) {\n B === null && Tn(), jn(() => () => Qe(e));\n}\nlet mt = !1;\nfunction Pl(e) {\n var t = mt;\n try {\n return mt = !1, [e(), mt];\n } finally {\n mt = t;\n }\n}\nfunction C(e, t, r, l) {\n var be;\n var i = (r & wi) !== 0, a = !0, o = (r & yi) !== 0, f = (r & bi) !== 0, s = !1, c;\n o ? [c, s] = Pl(() => (\n /** @type {V} */\n e[t]\n )) : c = /** @type {V} */\n e[t];\n var v = ut in e || an in e, h = o && (((be = Pe(e, t)) == null ? void 0 : be.set) ?? (v && t in e && ((N) => e[t] = N))) || void 0, g = (\n /** @type {V} */\n l\n ), m = !0, w = !1, z = () => (w = !0, m && (m = !1, f ? g = Qe(\n /** @type {() => V} */\n l\n ) : g = /** @type {V} */\n l), g);\n c === void 0 && l !== void 0 && (h && a && ji(), c = z(), h && h(c));\n var T;\n if (T = () => {\n var N = (\n /** @type {V} */\n e[t]\n );\n return N === void 0 ? z() : (m = !0, w = !1, N);\n }, (r & pi) === 0)\n return T;\n if (h) {\n var Y = e.$$legacy;\n return function(N, X) {\n return arguments.length > 0 ? ((!X || Y || s) && h(X ? T() : N), N) : T();\n };\n }\n var M = !1, F = /* @__PURE__ */ hn(c), se = /* @__PURE__ */ De(() => {\n var N = T(), X = d(F);\n return M ? (M = !1, X) : F.v = N;\n });\n return i || (se.equals = vn), function(N, X) {\n if (arguments.length > 0) {\n const U = X ? d(se) : o ? le(N) : N;\n return se.equals(U) || (M = !0, P(F, U), w && g !== void 0 && (g = U), Qe(() => d(se))), N;\n }\n return d(se);\n };\n}\nfunction Ol(e) {\n return new zl(e);\n}\nvar _e, te;\nclass zl {\n /**\n * @param {ComponentConstructorOptions & {\n * component: any;\n * }} options\n */\n constructor(t) {\n /** @type {any} */\n Mt(this, _e);\n /** @type {Record} */\n Mt(this, te);\n var a;\n var r = /* @__PURE__ */ new Map(), l = (o, f) => {\n var s = /* @__PURE__ */ hn(f);\n return r.set(o, s), s;\n };\n const i = new Proxy(\n { ...t.props || {}, $$events: {} },\n {\n get(o, f) {\n return d(r.get(f) ?? l(f, Reflect.get(o, f)));\n },\n has(o, f) {\n return f === an ? !0 : (d(r.get(f) ?? l(f, Reflect.get(o, f))), Reflect.has(o, f));\n },\n set(o, f, s) {\n return P(r.get(f) ?? l(f, s), s), Reflect.set(o, f, s);\n }\n }\n );\n Ut(this, te, (t.hydrate ? xl : Fn)(t.component, {\n target: t.target,\n anchor: t.anchor,\n props: i,\n context: t.context,\n intro: t.intro ?? !1,\n recover: t.recover\n })), (!((a = t == null ? void 0 : t.props) != null && a.$$host) || t.sync === !1) && $(), Ut(this, _e, i.$$events);\n for (const o of Object.keys(H(this, te)))\n o === \"$set\" || o === \"$destroy\" || o === \"$on\" || xt(this, o, {\n get() {\n return H(this, te)[o];\n },\n /** @param {any} value */\n set(f) {\n H(this, te)[o] = f;\n },\n enumerable: !0\n });\n H(this, te).$set = /** @param {Record} next */\n (o) => {\n Object.assign(i, o);\n }, H(this, te).$destroy = () => {\n $l(H(this, te));\n };\n }\n /** @param {Record} props */\n $set(t) {\n H(this, te).$set(t);\n }\n /**\n * @param {string} event\n * @param {(...args: any[]) => any} callback\n * @returns {any}\n */\n $on(t, r) {\n H(this, _e)[t] = H(this, _e)[t] || [];\n const l = (...i) => r.call(this, ...i);\n return H(this, _e)[t].push(l), () => {\n H(this, _e)[t] = H(this, _e)[t].filter(\n /** @param {any} fn */\n (i) => i !== l\n );\n };\n }\n $destroy() {\n H(this, te).$destroy();\n }\n}\n_e = new WeakMap(), te = new WeakMap();\nlet Vn;\ntypeof HTMLElement == \"function\" && (Vn = class extends HTMLElement {\n /**\n * @param {*} $$componentCtor\n * @param {*} $$slots\n * @param {*} use_shadow_dom\n */\n constructor(t, r, l) {\n super();\n /** The Svelte component constructor */\n ne(this, \"$$ctor\");\n /** Slots */\n ne(this, \"$$s\");\n /** @type {any} The Svelte component instance */\n ne(this, \"$$c\");\n /** Whether or not the custom element is connected */\n ne(this, \"$$cn\", !1);\n /** @type {Record} Component props data */\n ne(this, \"$$d\", {});\n /** `true` if currently in the process of reflecting component props back to attributes */\n ne(this, \"$$r\", !1);\n /** @type {Record} Props definition (name, reflected, type etc) */\n ne(this, \"$$p_d\", {});\n /** @type {Record} Event listeners */\n ne(this, \"$$l\", {});\n /** @type {Map} Event listener unsubscribe functions */\n ne(this, \"$$l_u\", /* @__PURE__ */ new Map());\n /** @type {any} The managed render effect for reflecting attributes */\n ne(this, \"$$me\");\n this.$$ctor = t, this.$$s = r, l && this.attachShadow({ mode: \"open\" });\n }\n /**\n * @param {string} type\n * @param {EventListenerOrEventListenerObject} listener\n * @param {boolean | AddEventListenerOptions} [options]\n */\n addEventListener(t, r, l) {\n if (this.$$l[t] = this.$$l[t] || [], this.$$l[t].push(r), this.$$c) {\n const i = this.$$c.$on(t, r);\n this.$$l_u.set(r, i);\n }\n super.addEventListener(t, r, l);\n }\n /**\n * @param {string} type\n * @param {EventListenerOrEventListenerObject} listener\n * @param {boolean | AddEventListenerOptions} [options]\n */\n removeEventListener(t, r, l) {\n if (super.removeEventListener(t, r, l), this.$$c) {\n const i = this.$$l_u.get(r);\n i && (i(), this.$$l_u.delete(r));\n }\n }\n async connectedCallback() {\n if (this.$$cn = !0, !this.$$c) {\n let t = function(i) {\n return (a) => {\n const o = document.createElement(\"slot\");\n i !== \"default\" && (o.name = i), ee(a, o);\n };\n };\n if (await Promise.resolve(), !this.$$cn || this.$$c)\n return;\n const r = {}, l = Fl(this);\n for (const i of this.$$s)\n i in l && (i === \"default\" && !this.$$d.children ? (this.$$d.children = t(i), r.default = !0) : r[i] = t(i));\n for (const i of this.attributes) {\n const a = this.$$g_p(i.name);\n a in this.$$d || (this.$$d[a] = pt(a, i.value, this.$$p_d, \"toProp\"));\n }\n for (const i in this.$$p_d)\n !(i in this.$$d) && this[i] !== void 0 && (this.$$d[i] = this[i], delete this[i]);\n this.$$c = Ol({\n component: this.$$ctor,\n target: this.shadowRoot || this,\n props: {\n ...this.$$d,\n $$slots: r,\n $$host: this\n }\n }), this.$$me = dl(() => {\n er(() => {\n var i;\n this.$$r = !0;\n for (const a of Et(this.$$c)) {\n if (!((i = this.$$p_d[a]) != null && i.reflect)) continue;\n this.$$d[a] = this.$$c[a];\n const o = pt(\n a,\n this.$$d[a],\n this.$$p_d,\n \"toAttribute\"\n );\n o == null ? this.removeAttribute(this.$$p_d[a].attribute || a) : this.setAttribute(this.$$p_d[a].attribute || a, o);\n }\n this.$$r = !1;\n });\n });\n for (const i in this.$$l)\n for (const a of this.$$l[i]) {\n const o = this.$$c.$on(i, a);\n this.$$l_u.set(a, o);\n }\n this.$$l = {};\n }\n }\n // We don't need this when working within Svelte code, but for compatibility of people using this outside of Svelte\n // and setting attributes through setAttribute etc, this is helpful\n /**\n * @param {string} attr\n * @param {string} _oldValue\n * @param {string} newValue\n */\n attributeChangedCallback(t, r, l) {\n var i;\n this.$$r || (t = this.$$g_p(t), this.$$d[t] = pt(t, l, this.$$p_d, \"toProp\"), (i = this.$$c) == null || i.$set({ [t]: this.$$d[t] }));\n }\n disconnectedCallback() {\n this.$$cn = !1, Promise.resolve().then(() => {\n !this.$$cn && this.$$c && (this.$$c.$destroy(), this.$$me(), this.$$c = void 0);\n });\n }\n /**\n * @param {string} attribute_name\n */\n $$g_p(t) {\n return Et(this.$$p_d).find(\n (r) => this.$$p_d[r].attribute === t || !this.$$p_d[r].attribute && r.toLowerCase() === t\n ) || t;\n }\n});\nfunction pt(e, t, r, l) {\n var a;\n const i = (a = r[e]) == null ? void 0 : a.type;\n if (t = i === \"Boolean\" && typeof t != \"boolean\" ? t != null : t, !l || !r[e])\n return t;\n if (l === \"toAttribute\")\n switch (i) {\n case \"Object\":\n case \"Array\":\n return t == null ? null : JSON.stringify(t);\n case \"Boolean\":\n return t ? \"\" : null;\n case \"Number\":\n return t ?? null;\n default:\n return t;\n }\n else\n switch (i) {\n case \"Object\":\n case \"Array\":\n return t && JSON.parse(t);\n case \"Boolean\":\n return t;\n // conversion already handled above\n case \"Number\":\n return t != null ? +t : t;\n default:\n return t;\n }\n}\nfunction Fl(e) {\n const t = {};\n return e.childNodes.forEach((r) => {\n t[\n /** @type {Element} node */\n r.slot || \"default\"\n ] = !0;\n }), t;\n}\nfunction Ml(e, t, r, l, i, a) {\n let o = class extends Vn {\n constructor() {\n super(e, r, i), this.$$p_d = t;\n }\n static get observedAttributes() {\n return Et(t).map(\n (f) => (t[f].attribute || f).toLowerCase()\n );\n }\n };\n return Et(t).forEach((f) => {\n xt(o.prototype, f, {\n get() {\n return this.$$c && f in this.$$c ? this.$$c[f] : this.$$d[f];\n },\n set(s) {\n var h;\n s = pt(f, s, t), this.$$d[f] = s;\n var c = this.$$c;\n if (c) {\n var v = (h = Pe(c, f)) == null ? void 0 : h.get;\n v ? c[f] = s : c.$set({ [f]: s });\n }\n }\n });\n }), l.forEach((f) => {\n xt(o.prototype, f, {\n get() {\n var s;\n return (s = this.$$c) == null ? void 0 : s[f];\n }\n });\n }), e.element = /** @type {any} */\n o, o;\n}\nconst Bn = new TextEncoder();\nfunction Ul(e) {\n return [...new Uint8Array(e)].map((t) => t.toString(16).padStart(2, \"0\")).join(\"\");\n}\nasync function jl(e, t = \"SHA-256\", r = 1e5) {\n const l = Date.now().toString(16);\n e || (e = Math.round(Math.random() * r));\n const i = await qn(l, e, t);\n return {\n algorithm: t,\n challenge: i,\n salt: l,\n signature: \"\"\n };\n}\nasync function qn(e, t, r) {\n if (typeof crypto > \"u\" || !(\"subtle\" in crypto) || !(\"digest\" in crypto.subtle))\n throw new Error(\"Web Crypto is not available. Secure context is required (https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts).\");\n return Ul(\n await crypto.subtle.digest(\n r.toUpperCase(),\n Bn.encode(e + t)\n )\n );\n}\nfunction Vl(e, t, r = \"SHA-256\", l = 1e6, i = 0) {\n const a = new AbortController(), o = Date.now();\n return {\n promise: (async () => {\n for (let s = i; s <= l; s += 1) {\n if (a.signal.aborted)\n return null;\n if (await qn(t, s, r) === e)\n return {\n number: s,\n took: Date.now() - o\n };\n }\n return null;\n })(),\n controller: a\n };\n}\nfunction Bl() {\n try {\n return Intl.DateTimeFormat().resolvedOptions().timeZone;\n } catch {\n }\n}\nfunction ql(e) {\n const t = atob(e), r = new Uint8Array(t.length);\n for (let l = 0; l < t.length; l++)\n r[l] = t.charCodeAt(l);\n return r;\n}\nfunction Hl(e, t = 12) {\n const r = new Uint8Array(t);\n for (let l = 0; l < t; l++)\n r[l] = e % 256, e = Math.floor(e / 256);\n return r;\n}\nasync function Wl(e, t = \"\", r = 1e6, l = 0) {\n const i = \"AES-GCM\", a = new AbortController(), o = Date.now(), f = async () => {\n for (let v = l; v <= r; v += 1) {\n if (a.signal.aborted || !s || !c)\n return null;\n try {\n const h = await crypto.subtle.decrypt(\n {\n name: i,\n iv: Hl(v)\n },\n s,\n c\n );\n if (h)\n return {\n clearText: new TextDecoder().decode(h),\n took: Date.now() - o\n };\n } catch {\n }\n }\n return null;\n };\n let s = null, c = null;\n try {\n c = ql(e);\n const v = await crypto.subtle.digest(\n \"SHA-256\",\n Bn.encode(t)\n );\n s = await crypto.subtle.importKey(\n \"raw\",\n v,\n i,\n !1,\n [\"decrypt\"]\n );\n } catch {\n return {\n promise: Promise.reject(),\n controller: a\n };\n }\n return {\n promise: f(),\n controller: a\n };\n}\nvar E = /* @__PURE__ */ ((e) => (e.ERROR = \"error\", e.VERIFIED = \"verified\", e.VERIFYING = \"verifying\", e.UNVERIFIED = \"unverified\", e.EXPIRED = \"expired\", e))(E || {}), Yl = /* @__PURE__ */ El(''), Zl = /* @__PURE__ */ ve(' ', 1), Gl = /* @__PURE__ */ ve(''), Jl = /* @__PURE__ */ ve(''), Kl = /* @__PURE__ */ ve('
'), Xl = /* @__PURE__ */ ve('
'), Ql = /* @__PURE__ */ ve('
'), ea = /* @__PURE__ */ ve('
'), ta = /* @__PURE__ */ ve(''), ra = /* @__PURE__ */ ve('
'), na = /* @__PURE__ */ ve('
', 1);\nconst ia = {\n hash: \"svelte-ddsc3z\",\n code: `.altcha.svelte-ddsc3z {background:var(--altcha-color-base, transparent);border:var(--altcha-border-width, 1px) solid var(--altcha-color-border, #a0a0a0);border-radius:var(--altcha-border-radius, 3px);color:var(--altcha-color-text, currentColor);display:flex;flex-direction:column;max-width:var(--altcha-max-width, 260px);position:relative;text-align:left;}.altcha.svelte-ddsc3z:focus-within {border-color:var(--altcha-color-border-focus, currentColor);}.altcha[data-floating].svelte-ddsc3z {background:var(--altcha-color-base, white);display:none;filter:drop-shadow(3px 3px 6px rgba(0, 0, 0, 0.2));left:-100%;position:fixed;top:-100%;width:var(--altcha-max-width, 260px);z-index:999999;}.altcha[data-floating=top].svelte-ddsc3z .altcha-anchor-arrow:where(.svelte-ddsc3z) {border-bottom-color:transparent;border-top-color:var(--altcha-color-border, #a0a0a0);bottom:-12px;top:auto;}.altcha[data-floating=bottom].svelte-ddsc3z:focus-within::after {border-bottom-color:var(--altcha-color-border-focus, currentColor);}.altcha[data-floating=top].svelte-ddsc3z:focus-within::after {border-top-color:var(--altcha-color-border-focus, currentColor);}.altcha[data-floating].svelte-ddsc3z:not([data-state=unverified]) {display:block;}.altcha-anchor-arrow.svelte-ddsc3z {border:6px solid transparent;border-bottom-color:var(--altcha-color-border, #a0a0a0);content:\"\";height:0;left:12px;position:absolute;top:-12px;width:0;}.altcha-main.svelte-ddsc3z {align-items:center;display:flex;gap:0.4rem;padding:0.7rem;}.altcha-label.svelte-ddsc3z {flex-grow:1;}.altcha-label.svelte-ddsc3z label:where(.svelte-ddsc3z) {cursor:pointer;}.altcha-logo.svelte-ddsc3z {color:currentColor;opacity:0.3;}.altcha-logo.svelte-ddsc3z:hover {opacity:1;}.altcha-error.svelte-ddsc3z {color:var(--altcha-color-error-text, #f23939);display:flex;font-size:0.85rem;gap:0.3rem;padding:0 0.7rem 0.7rem;}.altcha-footer.svelte-ddsc3z {align-items:center;background-color:var(--altcha-color-footer-bg, transparent);display:flex;font-size:0.75rem;opacity:0.4;padding:0.2rem 0.7rem;text-align:right;}.altcha-footer.svelte-ddsc3z:hover {opacity:1;}.altcha-footer.svelte-ddsc3z > :where(.svelte-ddsc3z):first-child {flex-grow:1;}.altcha-footer.svelte-ddsc3z a {color:currentColor;}.altcha-checkbox.svelte-ddsc3z {display:flex;align-items:center;height:24px;width:24px;}.altcha-checkbox.svelte-ddsc3z input:where(.svelte-ddsc3z) {width:18px;height:18px;margin:0;}.altcha-hidden.svelte-ddsc3z {display:none;}.altcha-spinner.svelte-ddsc3z {\n animation: svelte-ddsc3z-altcha-spinner 0.75s infinite linear;transform-origin:center;}\n\n@keyframes svelte-ddsc3z-altcha-spinner {\n 100% {\n transform: rotate(360deg);\n }\n}`\n};\nfunction la(e, t) {\n var Lr, Dr;\n Nn(t, !0), Cl(e, ia);\n let r = C(t, \"auto\", 7, void 0), l = C(t, \"blockspam\", 7, void 0), i = C(t, \"challengeurl\", 7, void 0), a = C(t, \"challengejson\", 7, void 0), o = C(t, \"customfetch\", 7, void 0), f = C(t, \"debug\", 7, !1), s = C(t, \"delay\", 7, 0), c = C(t, \"expire\", 7, void 0), v = C(t, \"floating\", 7, void 0), h = C(t, \"floatinganchor\", 7, void 0), g = C(t, \"floatingoffset\", 7, void 0), m = C(t, \"hidefooter\", 7, !1), w = C(t, \"hidelogo\", 7, !1), z = C(t, \"id\", 7, void 0), T = C(t, \"name\", 7, \"altcha\"), Y = C(t, \"maxnumber\", 7, 1e6), M = C(t, \"mockerror\", 7, !1), F = C(t, \"obfuscated\", 7, void 0), se = C(t, \"plugins\", 7, void 0), be = C(t, \"refetchonexpire\", 7, !0), N = C(t, \"spamfilter\", 7, !1), X = C(t, \"strings\", 7, void 0), U = C(t, \"test\", 7, !1), Ee = C(t, \"verifyurl\", 7, void 0), Me = C(t, \"workers\", 23, () => Math.min(16, navigator.hardwareConcurrency || 8)), tt = C(t, \"workerurl\", 7, void 0);\n const nr = [\"SHA-256\", \"SHA-384\", \"SHA-512\"], ir = \"Visit Altcha.org\", lr = \"https://altcha.org/\", rt = (n, u) => {\n t.$$host.dispatchEvent(new CustomEvent(n, { detail: u }));\n }, ar = (Dr = (Lr = document.documentElement.lang) == null ? void 0 : Lr.split(\"-\")) == null ? void 0 : Dr[0], Dt = /* @__PURE__ */ De(() => {\n var n;\n return i() && new URL(i(), location.origin).host.endsWith(\".altcha.org\") && !!((n = i()) != null && n.includes(\"apiKey=ckey_\"));\n }), Pt = /* @__PURE__ */ De(() => a() ? wr(a()) : void 0), or = /* @__PURE__ */ De(() => X() ? wr(X()) : {}), Q = /* @__PURE__ */ De(() => {\n var n;\n return {\n ariaLinkLabel: ir,\n error: \"Verification failed. Try again later.\",\n expired: \"Verification expired. Try again.\",\n footer: `Protected by ALTCHA`,\n label: \"I'm not a robot\",\n verified: \"Verified\",\n verifying: \"Verifying...\",\n waitAlert: \"Verifying... please wait.\",\n ...d(or)\n };\n }), sr = /* @__PURE__ */ De(() => z() || `${T()}_checkbox`);\n let Ue = He(!1), R = He(le(E.UNVERIFIED)), j = He(void 0), nt = He(null), je = null, y = null, Ve = He(null), fe = null, xe = [], Ne = He(null);\n Vt(() => {\n Xn(d(Ve));\n }), Vt(() => {\n Qn(d(R));\n }), Dl(() => {\n Hn(), y && (y.removeEventListener(\"submit\", hr), y.removeEventListener(\"reset\", gr), y.removeEventListener(\"focusin\", vr), y = null), fe && (clearTimeout(fe), fe = null), document.removeEventListener(\"click\", cr), document.removeEventListener(\"scroll\", dr), window.removeEventListener(\"resize\", mr);\n }), jn(() => {\n var n;\n I(\"mounted\", \"1.3.0\"), I(\"workers\", Me()), Jn(), I(\"plugins\", xe.length ? xe.map((u) => u.constructor.pluginName).join(\", \") : \"none\"), U() && I(\"using test mode\"), c() && Ot(c()), r() !== void 0 && I(\"auto\", r()), v() !== void 0 && pr(v()), y = (n = d(j)) == null ? void 0 : n.closest(\"form\"), y && (y.addEventListener(\"submit\", hr, { capture: !0 }), y.addEventListener(\"reset\", gr), r() === \"onfocus\" && y.addEventListener(\"focusin\", vr)), r() === \"onload\" && (F() ? it() : $e()), d(Dt) && (m() || w()) && I(\"Attributes hidefooter and hidelogo ignored because usage with free API Keys requires attribution.\"), requestAnimationFrame(() => {\n rt(\"load\");\n });\n });\n function fr(n, u) {\n return btoa(JSON.stringify({\n algorithm: n.algorithm,\n challenge: n.challenge,\n number: u.number,\n salt: n.salt,\n signature: n.signature,\n test: U() ? !0 : void 0,\n took: u.took\n }));\n }\n function Hn() {\n for (const n of xe)\n n.destroy();\n }\n function ur() {\n i() && be() && d(R) === E.VERIFIED ? $e() : lt(E.EXPIRED, d(Q).expired);\n }\n async function Wn() {\n var n;\n if (M())\n throw I(\"mocking error\"), new Error(\"Mocked error.\");\n if (d(Pt))\n return I(\"using provided json data\"), d(Pt);\n if (U())\n return I(\"generating test challenge\", { test: U() }), jl(typeof U() != \"boolean\" ? +U() : void 0);\n {\n if (!i() && y) {\n const L = y.getAttribute(\"action\");\n L != null && L.includes(\"/form/\") && i(L + \"/altcha\");\n }\n if (!i())\n throw new Error(\"Attribute challengeurl not set.\");\n I(\"fetching challenge from\", i());\n let u = null, _ = null;\n if (o())\n if (I(\"using customfetch\"), typeof o() == \"string\") {\n if (u = globalThis[o()] || null, !u)\n throw new Error(`Custom fetch function not found: ${o()}`);\n } else\n u = o();\n const b = {\n headers: N() !== !1 ? { \"x-altcha-spam-filter\": \"1\" } : {}\n };\n if (u) {\n if (_ = await u(i(), b), !_ || !(_ instanceof Response))\n throw new Error(\"Custom fetch function did not return a response.\");\n } else\n _ = await fetch(i(), b);\n if (_.status !== 200)\n throw new Error(`Server responded with ${_.status}.`);\n const S = _.headers.get(\"X-Altcha-Config\"), x = await _.json(), p = new URLSearchParams((n = x.salt.split(\"?\")) == null ? void 0 : n[1]), q = p.get(\"expires\") || p.get(\"expire\");\n if (q) {\n const L = new Date(+q * 1e3), qe = isNaN(L.getTime()) ? 0 : L.getTime() - Date.now();\n qe > 0 && Ot(qe);\n }\n if (S)\n try {\n const L = JSON.parse(S);\n L && typeof L == \"object\" && (L.verifyurl && (L.verifyurl = new URL(L.verifyurl, new URL(i())).toString()), Er(L));\n } catch (L) {\n I(\"unable to configure from X-Altcha-Config\", L);\n }\n return x;\n }\n }\n function Yn(n) {\n var _;\n const u = y == null ? void 0 : y.querySelector(typeof n == \"string\" ? `input[name=\"${n}\"]` : 'input[type=\"email\"]:not([data-no-spamfilter])');\n return ((_ = u == null ? void 0 : u.value) == null ? void 0 : _.slice(u.value.indexOf(\"@\"))) || void 0;\n }\n function Zn() {\n return N() === \"ipAddress\" ? {\n blockedCountries: void 0,\n classifier: void 0,\n disableRules: void 0,\n email: !1,\n expectedCountries: void 0,\n expectedLanguages: void 0,\n fields: !1,\n ipAddress: void 0,\n text: void 0,\n timeZone: void 0\n } : typeof N() == \"object\" ? N() : {\n blockedCountries: void 0,\n classifier: void 0,\n disableRules: void 0,\n email: void 0,\n expectedCountries: void 0,\n expectedLanguages: void 0,\n fields: void 0,\n ipAddress: void 0,\n text: void 0,\n timeZone: void 0\n };\n }\n function Gn(n) {\n return [\n ...(y == null ? void 0 : y.querySelectorAll(n != null && n.length ? n.map((_) => `input[name=\"${_}\"]`).join(\", \") : 'input[type=\"text\"]:not([data-no-spamfilter]), textarea:not([data-no-spamfilter])')) || []\n ].reduce(\n (_, b) => {\n const S = b.name, x = b.value;\n return S && x && (_[S] = /\\n/.test(x) ? x.replace(new RegExp(\"(? u instanceof Error)) && console[n[0] instanceof Error ? \"error\" : \"log\"](\"ALTCHA\", `[name=${T()}]`, ...n);\n }\n function Kn() {\n [E.UNVERIFIED, E.ERROR, E.EXPIRED].includes(d(R)) ? N() !== !1 && (y == null ? void 0 : y.reportValidity()) === !1 ? P(Ue, !1) : F() ? it() : $e() : P(Ue, !0);\n }\n function cr(n) {\n const u = n.target;\n v() && u && !d(j).contains(u) && (d(R) === E.VERIFIED || r() === \"off\" && d(R) === E.UNVERIFIED) && (d(j).style.display = \"none\");\n }\n function dr() {\n v() && d(R) !== E.UNVERIFIED && gt();\n }\n function Xn(n) {\n for (const u of xe)\n typeof u.onErrorChange == \"function\" && u.onErrorChange(d(Ve));\n }\n function vr(n) {\n d(R) === E.UNVERIFIED && $e();\n }\n function hr(n) {\n y && r() === \"onsubmit\" ? d(R) === E.UNVERIFIED ? (n.preventDefault(), n.stopPropagation(), $e().then(() => {\n y == null || y.requestSubmit();\n })) : d(R) !== E.VERIFIED && (n.preventDefault(), n.stopPropagation(), d(R) === E.VERIFYING && _r()) : y && v() && r() === \"off\" && d(R) === E.UNVERIFIED && (n.preventDefault(), n.stopPropagation(), d(j).style.display = \"block\", gt());\n }\n function gr() {\n lt();\n }\n function _r() {\n d(R) === E.VERIFYING && d(Q).waitAlert && alert(d(Q).waitAlert);\n }\n function Qn(n) {\n for (const u of xe)\n typeof u.onStateChange == \"function\" && u.onStateChange(d(R));\n v() && d(R) !== E.UNVERIFIED && requestAnimationFrame(() => {\n gt();\n }), P(Ue, d(R) === E.VERIFIED);\n }\n function mr() {\n v() && gt();\n }\n function wr(n) {\n return JSON.parse(n);\n }\n function gt(n = 20) {\n if (d(j))\n if (je || (je = (h() ? document.querySelector(h()) : y == null ? void 0 : y.querySelector('input[type=\"submit\"], button[type=\"submit\"], button:not([type=\"button\"]):not([type=\"reset\"])')) || y), je) {\n const u = parseInt(g(), 10) || 12, _ = je.getBoundingClientRect(), b = d(j).getBoundingClientRect(), S = document.documentElement.clientHeight, x = document.documentElement.clientWidth, p = v() === \"auto\" ? _.bottom + b.height + u + n > S : v() === \"top\", q = Math.max(n, Math.min(x - n - b.width, _.left + _.width / 2 - b.width / 2));\n if (p ? d(j).style.top = `${_.top - (b.height + u)}px` : d(j).style.top = `${_.bottom + u}px`, d(j).style.left = `${q}px`, d(j).setAttribute(\"data-floating\", p ? \"top\" : \"bottom\"), d(nt)) {\n const L = d(nt).getBoundingClientRect();\n d(nt).style.left = _.left - q + _.width / 2 - L.width / 2 + \"px\";\n }\n } else\n I(\"unable to find floating anchor element\");\n }\n async function ei(n) {\n if (!Ee())\n throw new Error(\"Attribute verifyurl not set.\");\n I(\"requesting server verification from\", Ee());\n const u = { payload: n };\n if (N() !== !1) {\n const {\n blockedCountries: S,\n classifier: x,\n disableRules: p,\n email: q,\n expectedLanguages: L,\n expectedCountries: qe,\n fields: ot,\n ipAddress: st,\n text: vi,\n timeZone: Pr\n } = Zn();\n u.blockedCountries = S, u.classifier = x, u.disableRules = p, u.email = q === !1 ? void 0 : Yn(q), u.expectedCountries = qe, u.expectedLanguages = L || (ar ? [ar] : void 0), u.fields = ot === !1 ? void 0 : Gn(ot), u.ipAddress = st === !1 ? void 0 : st || \"auto\", u.text = vi, u.timeZone = Pr === !1 ? void 0 : Pr || Bl();\n }\n const _ = await fetch(Ee(), {\n body: JSON.stringify(u),\n headers: { \"content-type\": \"application/json\" },\n method: \"POST\"\n });\n if (_.status !== 200)\n throw new Error(`Server responded with ${_.status}.`);\n const b = await _.json();\n if (b != null && b.payload && P(Ne, le(b.payload)), rt(\"serververification\", b), l() && b.classification === \"BAD\")\n throw new Error(\"SpamFilter returned negative classification.\");\n }\n function Ot(n) {\n I(\"expire\", n), fe && (clearTimeout(fe), fe = null), n < 1 ? ur() : fe = setTimeout(ur, n);\n }\n function pr(n) {\n I(\"floating\", n), v() !== n && (d(j).style.left = \"\", d(j).style.top = \"\"), v(n === !0 || n === \"\" ? \"auto\" : n === !1 || n === \"false\" ? void 0 : v()), v() ? (r() || r(\"onsubmit\"), document.addEventListener(\"scroll\", dr), document.addEventListener(\"click\", cr), window.addEventListener(\"resize\", mr)) : r() === \"onsubmit\" && r(void 0);\n }\n function yr(n) {\n if (!n.algorithm)\n throw new Error(\"Invalid challenge. Property algorithm is missing.\");\n if (n.signature === void 0)\n throw new Error(\"Invalid challenge. Property signature is missing.\");\n if (!nr.includes(n.algorithm.toUpperCase()))\n throw new Error(`Unknown algorithm value. Allowed values: ${nr.join(\", \")}`);\n if (!n.challenge || n.challenge.length < 40)\n throw new Error(\"Challenge is too short. Min. 40 chars.\");\n if (!n.salt || n.salt.length < 10)\n throw new Error(\"Salt is too short. Min. 10 chars.\");\n }\n async function br(n) {\n let u = null;\n if (\"Worker\" in window) {\n try {\n u = await ti(n, n.maxnumber);\n } catch (_) {\n I(_);\n }\n if ((u == null ? void 0 : u.number) !== void 0 || \"obfuscated\" in n)\n return { data: n, solution: u };\n }\n if (\"obfuscated\" in n) {\n const _ = await Wl(n.obfuscated, n.key, n.maxnumber);\n return { data: n, solution: await _.promise };\n }\n return {\n data: n,\n solution: await Vl(n.challenge, n.salt, n.algorithm, n.maxnumber || Y()).promise\n };\n }\n async function ti(n, u = typeof U() == \"number\" ? U() : Y(), _ = Math.ceil(Me())) {\n const b = [];\n _ = Math.min(16, Math.max(1, _));\n for (let p = 0; p < _; p++)\n b.push(altchaCreateWorker(tt()));\n const S = Math.ceil(u / _), x = await Promise.all(b.map((p, q) => {\n const L = q * S;\n return new Promise((qe) => {\n p.addEventListener(\"message\", (ot) => {\n if (ot.data)\n for (const st of b)\n st !== p && st.postMessage({ type: \"abort\" });\n qe(ot.data);\n }), p.postMessage({\n payload: n,\n max: L + S,\n start: L,\n type: \"work\"\n });\n });\n }));\n for (const p of b)\n p.terminate();\n return x.find((p) => !!p) || null;\n }\n async function it() {\n if (!F()) {\n Le(E.ERROR);\n return;\n }\n const n = xe.find((u) => u.constructor.pluginName === \"obfuscation\");\n if (!n || !(\"clarify\" in n)) {\n Le(E.ERROR), I(\"Plugin `obfuscation` not found. Import `altcha/plugins/obfuscation` to load it.\");\n return;\n }\n if (\"clarify\" in n && typeof n.clarify == \"function\")\n return n.clarify();\n }\n function Er(n) {\n n.obfuscated !== void 0 && F(n.obfuscated), n.auto !== void 0 && (r(n.auto), r() === \"onload\" && (F() ? it() : $e())), n.blockspam !== void 0 && l(!!n.blockspam), n.customfetch !== void 0 && o(n.customfetch), n.floatinganchor !== void 0 && h(n.floatinganchor), n.delay !== void 0 && s(n.delay), n.floatingoffset !== void 0 && g(n.floatingoffset), n.floating !== void 0 && pr(n.floating), n.expire !== void 0 && (Ot(n.expire), c(n.expire)), n.challenge && (a(typeof n.challenge == \"string\" ? n.challenge : JSON.stringify(n.challenge)), yr(d(Pt))), n.challengeurl !== void 0 && i(n.challengeurl), n.debug !== void 0 && f(!!n.debug), n.hidefooter !== void 0 && m(!!n.hidefooter), n.hidelogo !== void 0 && w(!!n.hidelogo), n.maxnumber !== void 0 && Y(+n.maxnumber), n.mockerror !== void 0 && M(!!n.mockerror), n.name !== void 0 && T(n.name), n.refetchonexpire !== void 0 && be(!!n.refetchonexpire), n.spamfilter !== void 0 && N(typeof n.spamfilter == \"object\" ? n.spamfilter : !!n.spamfilter), n.strings && X(typeof n.strings == \"string\" ? n.strings : JSON.stringify(n.strings)), n.test !== void 0 && U(typeof n.test == \"number\" ? n.test : !!n.test), n.verifyurl !== void 0 && Ee(n.verifyurl), n.workers !== void 0 && Me(+n.workers), n.workerurl !== void 0 && tt(n.workerurl);\n }\n function xr() {\n return {\n auto: r(),\n blockspam: l(),\n challengeurl: i(),\n debug: f(),\n delay: s(),\n expire: c(),\n floating: v(),\n floatinganchor: h(),\n floatingoffset: g(),\n hidefooter: m(),\n hidelogo: w(),\n name: T(),\n maxnumber: Y(),\n mockerror: M(),\n obfuscated: F(),\n refetchonexpire: be(),\n spamfilter: N(),\n strings: d(Q),\n test: U(),\n verifyurl: Ee(),\n workers: Me(),\n workerurl: tt()\n };\n }\n function $r() {\n return je;\n }\n function ri(n) {\n return xe.find((u) => u.constructor.pluginName === n);\n }\n function kr() {\n return d(R);\n }\n function lt(n = E.UNVERIFIED, u = null) {\n fe && (clearTimeout(fe), fe = null), P(Ue, !1), P(Ne, null), Le(n, u);\n }\n function Cr(n) {\n je = n;\n }\n function Le(n, u = null) {\n P(R, le(n)), P(Ve, le(u)), rt(\"statechange\", {\n payload: d(Ne),\n state: d(R)\n });\n }\n async function $e() {\n return lt(E.VERIFYING), await new Promise((n) => setTimeout(n, s() || 0)), Wn().then((n) => (yr(n), I(\"challenge\", n), br(n))).then(({ data: n, solution: u }) => {\n if (I(\"solution\", u), \"challenge\" in n && u && !(\"clearText\" in u))\n if ((u == null ? void 0 : u.number) !== void 0) {\n if (Ee())\n return ei(fr(n, u));\n P(Ne, le(fr(n, u))), I(\"payload\", d(Ne));\n } else\n throw I(\"Unable to find a solution. Ensure that the 'maxnumber' attribute is greater than the randomly generated number.\"), new Error(\"Unexpected result returned.\");\n }).then(() => {\n Le(E.VERIFIED), I(\"verified\"), ol().then(() => {\n rt(\"verified\", { payload: d(Ne) });\n });\n }).catch((n) => {\n I(n), Le(E.ERROR, n.message);\n });\n }\n var Ar = na(), Rr = Br(Ar);\n kl(Rr, t, \"default\", {});\n var at = he(Rr, 2), zt = G(at), Ir = G(zt);\n {\n var ni = (n) => {\n var u = Yl();\n ee(n, u);\n };\n ke(Ir, (n) => {\n d(R) === E.VERIFYING && n(ni);\n });\n }\n var _t = he(Ir, 2);\n let Sr;\n var Be = G(_t);\n Gr(Be), Be.__change = Kn, Z(_t);\n var Ft = he(_t, 2), ii = G(Ft);\n {\n var li = (n) => {\n var u = Zl(), _ = Br(u), b = G(_);\n Ze(b, () => d(Q).verified), Z(_);\n var S = he(_, 2);\n Gr(S), We(() => {\n ie(S, \"name\", T()), Tl(S, d(Ne));\n }), ee(n, u);\n }, ai = (n, u) => {\n {\n var _ = (S) => {\n var x = Gl(), p = G(x);\n Ze(p, () => d(Q).verifying), Z(x), ee(S, x);\n }, b = (S) => {\n var x = Jl(), p = G(x);\n Ze(p, () => d(Q).label), Z(x), We(() => ie(x, \"for\", d(sr))), ee(S, x);\n };\n ke(\n n,\n (S) => {\n d(R) === E.VERIFYING ? S(_) : S(b, !1);\n },\n u\n );\n }\n };\n ke(ii, (n) => {\n d(R) === E.VERIFIED ? n(li) : n(ai, !1);\n });\n }\n Z(Ft);\n var oi = he(Ft, 2);\n {\n var si = (n) => {\n var u = Kl(), _ = G(u);\n ie(_, \"href\", lr), Z(u), We(() => ie(_, \"aria-label\", d(Q).ariaLinkLabel)), ee(n, u);\n };\n ke(oi, (n) => {\n (w() !== !0 || d(Dt)) && n(si);\n });\n }\n Z(zt);\n var Tr = he(zt, 2);\n {\n var fi = (n) => {\n var u = ea(), _ = he(G(u), 2);\n {\n var b = (x) => {\n var p = Xl(), q = G(p);\n Ze(q, () => d(Q).expired), Z(p), We(() => ie(p, \"title\", d(Ve))), ee(x, p);\n }, S = (x) => {\n var p = Ql(), q = G(p);\n Ze(q, () => d(Q).error), Z(p), We(() => ie(p, \"title\", d(Ve))), ee(x, p);\n };\n ke(_, (x) => {\n d(R) === E.EXPIRED ? x(b) : x(S, !1);\n });\n }\n Z(u), ee(n, u);\n };\n ke(Tr, (n) => {\n (d(Ve) || d(R) === E.EXPIRED) && n(fi);\n });\n }\n var Nr = he(Tr, 2);\n {\n var ui = (n) => {\n var u = ta(), _ = G(u), b = G(_);\n Ze(b, () => d(Q).footer), Z(_), Z(u), ee(n, u);\n };\n ke(Nr, (n) => {\n d(Q).footer && (m() !== !0 || d(Dt)) && n(ui);\n });\n }\n var ci = he(Nr, 2);\n {\n var di = (n) => {\n var u = ra();\n Xr(u, (_) => P(nt, _), () => d(nt)), ee(n, u);\n };\n ke(ci, (n) => {\n v() && n(di);\n });\n }\n return Z(at), Xr(at, (n) => P(j, n), () => d(j)), We(\n (n) => {\n ie(at, \"data-state\", d(R)), ie(at, \"data-floating\", v()), Sr = Rl(_t, 1, \"altcha-checkbox svelte-ddsc3z\", null, Sr, n), ie(Be, \"id\", d(sr)), Be.required = r() !== \"onsubmit\" && (!v() || r() !== \"off\");\n },\n [\n () => ({\n \"altcha-hidden\": d(R) === E.VERIFYING\n })\n ]\n ), yl(\"invalid\", Be, _r), Ll(Be, () => d(Ue), (n) => P(Ue, n)), ee(e, Ar), Ln({\n clarify: it,\n configure: Er,\n getConfiguration: xr,\n getFloatingAnchor: $r,\n getPlugin: ri,\n getState: kr,\n reset: lt,\n setFloatingAnchor: Cr,\n setState: Le,\n verify: $e,\n get auto() {\n return r();\n },\n set auto(n = void 0) {\n r(n), $();\n },\n get blockspam() {\n return l();\n },\n set blockspam(n = void 0) {\n l(n), $();\n },\n get challengeurl() {\n return i();\n },\n set challengeurl(n = void 0) {\n i(n), $();\n },\n get challengejson() {\n return a();\n },\n set challengejson(n = void 0) {\n a(n), $();\n },\n get customfetch() {\n return o();\n },\n set customfetch(n = void 0) {\n o(n), $();\n },\n get debug() {\n return f();\n },\n set debug(n = !1) {\n f(n), $();\n },\n get delay() {\n return s();\n },\n set delay(n = 0) {\n s(n), $();\n },\n get expire() {\n return c();\n },\n set expire(n = void 0) {\n c(n), $();\n },\n get floating() {\n return v();\n },\n set floating(n = void 0) {\n v(n), $();\n },\n get floatinganchor() {\n return h();\n },\n set floatinganchor(n = void 0) {\n h(n), $();\n },\n get floatingoffset() {\n return g();\n },\n set floatingoffset(n = void 0) {\n g(n), $();\n },\n get hidefooter() {\n return m();\n },\n set hidefooter(n = !1) {\n m(n), $();\n },\n get hidelogo() {\n return w();\n },\n set hidelogo(n = !1) {\n w(n), $();\n },\n get id() {\n return z();\n },\n set id(n = void 0) {\n z(n), $();\n },\n get name() {\n return T();\n },\n set name(n = \"altcha\") {\n T(n), $();\n },\n get maxnumber() {\n return Y();\n },\n set maxnumber(n = 1e6) {\n Y(n), $();\n },\n get mockerror() {\n return M();\n },\n set mockerror(n = !1) {\n M(n), $();\n },\n get obfuscated() {\n return F();\n },\n set obfuscated(n = void 0) {\n F(n), $();\n },\n get plugins() {\n return se();\n },\n set plugins(n = void 0) {\n se(n), $();\n },\n get refetchonexpire() {\n return be();\n },\n set refetchonexpire(n = !0) {\n be(n), $();\n },\n get spamfilter() {\n return N();\n },\n set spamfilter(n = !1) {\n N(n), $();\n },\n get strings() {\n return X();\n },\n set strings(n = void 0) {\n X(n), $();\n },\n get test() {\n return U();\n },\n set test(n = !1) {\n U(n), $();\n },\n get verifyurl() {\n return Ee();\n },\n set verifyurl(n = void 0) {\n Ee(n), $();\n },\n get workers() {\n return Me();\n },\n set workers(n = Math.min(16, navigator.hardwareConcurrency || 8)) {\n Me(n), $();\n },\n get workerurl() {\n return tt();\n },\n set workerurl(n = void 0) {\n tt(n), $();\n }\n });\n}\nbl([\"change\"]);\ncustomElements.define(\"altcha-widget\", Ml(\n la,\n {\n blockspam: { type: \"Boolean\" },\n debug: { type: \"Boolean\" },\n delay: { type: \"Number\" },\n expire: { type: \"Number\" },\n floatingoffset: { type: \"Number\" },\n hidefooter: { type: \"Boolean\" },\n hidelogo: { type: \"Boolean\" },\n maxnumber: { type: \"Number\" },\n mockerror: { type: \"Boolean\" },\n refetchonexpire: { type: \"Boolean\" },\n test: { type: \"Boolean\" },\n workers: { type: \"Number\" },\n auto: {},\n challengeurl: {},\n challengejson: {},\n customfetch: {},\n floating: {},\n floatinganchor: {},\n id: {},\n name: {},\n obfuscated: {},\n plugins: {},\n spamfilter: {},\n strings: {},\n verifyurl: {},\n workerurl: {}\n },\n [\"default\"],\n [\n \"clarify\",\n \"configure\",\n \"getConfiguration\",\n \"getFloatingAnchor\",\n \"getPlugin\",\n \"getState\",\n \"reset\",\n \"setFloatingAnchor\",\n \"setState\",\n \"verify\"\n ],\n !1\n));\nglobalThis.altchaCreateWorker = (e) => e ? new Worker(new URL(e)) : new _i();\nglobalThis.altchaPlugins = globalThis.altchaPlugins || [];\nexport {\n la as Altcha\n};","// internal\nimport BasePage from \"../base.js\";\n// vendor\nimport { Altcha } from \"../../vendor/altcha.js\";\n\nexport default class PageContact extends BasePage {\n static hash = hashPageContact;\n\n constructor(router) {\n super(router);\n }\n\n initialize() {\n this.sharedInitialize();\n this.hookupButtonSubmitFormContactUs();\n }\n\n hookupButtonSubmitFormContactUs() {\n const button = document.querySelector('form input[type=\"submit\"]');\n button.classList.add(flagButton);\n button.classList.add(flagButtonPrimary);\n }\n}\n","// internal\nimport BasePage from \"../base.js\";\n// vendor\nimport { Altcha } from \"../../vendor/altcha.js\";\n\nexport default class PageContactSuccess extends BasePage {\n static hash = hashPageContactSuccess;\n\n constructor(router) {\n super(router);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n}\n","\nimport BasePage from \"../base.js\";\n\nexport default class PageDogHome extends BasePage {\n static hash = hashPageDogHome;\n\n constructor(router) {\n super(router);\n }\n\n initialize() {\n this.sharedInitialize();\n this.hookupDogHome();\n }\n hookupDogHome() {\n \n }\n\n leave() {\n super.leave();\n }\n}\n","\nimport Utils from '../utils.js';\n\nexport default class BusinessObjects {\n static getOptionJsonFromObjectJsonAndKeys(objectJson, keyText, keyValue, valueSelected = null) {\n return {\n text: objectJson[keyText],\n value: objectJson[keyValue],\n selected: (objectJson[keyValue] == valueSelected),\n };\n }\n static getOptionJsonFromObjectJson(objectJson, valueSelected = null) {\n let keyText = objectJson[flagNameAttrOptionText];\n let keyValue = objectJson[flagNameAttrOptionValue];\n // Utils.consoleLogIfNotProductionEnvironment({objectJson, keyText, keyValue});\n return BusinessObjects.getOptionJsonFromObjectJsonAndKeys(objectJson, keyText, keyValue, valueSelected);\n }\n static getObjectText(objectJson) {\n return objectJson == null ? '' : objectJson[objectJson[flagNameAttrOptionText]];\n }\n static getListObjectsFromIdDictAndCsv(idDict, idCsv) {\n let listObjects = [];\n let ids = idCsv.split(',');\n for (let id of ids) {\n listObjects.push(idDict[id]);\n }\n return listObjects;\n }\n}","\nimport Events from \"../../../lib/events.js\";\n\nexport default class OverlayError {\n static hookup() {\n Events.initialiseEventHandler(idOverlayError + ' button.' + flagCancel, flagInitialised, (buttonCancel) => {\n buttonCancel.addEventListener('click', () => {\n let overlay = document.querySelector(idOverlayError);\n overlay.style.visibility = 'hidden';\n });\n });\n }\n static show(msgError) {\n let overlay = document.querySelector(idOverlayError);\n let labelError = overlay.querySelector(idLabelError);\n labelError.innerText = msgError;\n overlay.style.visibility = 'visible';\n }\n}","\nimport BusinessObjects from \"../lib/business_objects/business_objects.js\";\nimport Events from \"../lib/events.js\";\nimport LocalStorage from \"../lib/local_storage.js\";\nimport Validation from \"../lib/validation.js\";\nimport BasePage from \"./base.js\";\nimport API from \"../api.js\";\nimport DOM from \"../dom.js\";\nimport Utils from \"../lib/utils.js\";\n\nimport OverlayConfirm from \"../components/common/temporary/overlay_confirm.js\";\nimport OverlayError from \"../components/common/temporary/overlay_error.js\";\n\nexport default class TableBasePage extends BasePage {\n // static hash\n // static attrIdRowObject\n // callSaveTableContent\n\n constructor(router) {\n super(router);\n this.cursorYInitial = null;\n this.rowInitial = null;\n this.placeholder = null;\n this.dragSrcEl = null;\n this.dragSrcRow = null;\n\n this.hookupTableCellDdls = this.hookupTableCellDdls.bind(this);\n }\n \n initialize(isPopState = false) {\n throw new Error(\"Must implement initialize() method.\");\n }\n sharedInitialize(isPopState = false, isSinglePageApp = false) {\n if (!isPopState) {\n super.sharedInitialize();\n this.hookupFilters();\n this.hookupButtonsSaveCancel();\n this.hookupTableMain();\n OverlayConfirm.hookup(() => {\n if (isSinglePageApp) {\n this.saveRecordsTableDirtySinglePageApp();\n }\n else {\n this.saveRecordsTableDirty();\n }\n });\n } else {\n let dataPage = this.getLocalStoragePage();\n let filters = dataPage[flagFormFilters];\n let formFilters = TableBasePage.getFormFilters();\n let filtersDefault = DOM.convertForm2JSON(formFilters);\n if (!Validation.areEqualDicts(filters, filtersDefault)) {\n this.callFilterTableContent();\n }\n }\n }\n hookupFilters() {\n if (this.constructor === TableBasePage) {\n throw new Error(\"Subclass of TableBasePage must implement method hookupFilters().\");\n }\n }\n sharedHookupFilters() {\n this.hookupButtonApplyFilters();\n this.hookupSearchTextFilter();\n }\n hookupFilterActive() {\n let filterSelector = idFormFilters + ' #' + flagActiveOnly;\n let filterActiveOld = document.querySelector(filterSelector);\n filterActiveOld.removeAttribute('id');\n let parentDiv = filterActiveOld.parentElement;\n let isChecked = (DOM.getElementAttributeValuePrevious(parentDiv) == \"True\");\n let filterActiveNew = document.querySelector(idFormFilters + ' div.' + flagActiveOnly + '.' + flagContainerInput + ' svg.' + flagActiveOnly);\n filterActiveNew.setAttribute('id', flagActiveOnly);\n if (isChecked) filterActiveNew.classList.add(flagIsChecked);\n\n Events.hookupEventHandler(\"click\", filterSelector, (event, filterActive) => {\n Utils.consoleLogIfNotProductionEnvironment({ filterActive });\n Utils.consoleLogIfNotProductionEnvironment({ [filterActive.tagName]: filterActive.tagName });\n let svgElement = (filterActive.tagName.toUpperCase() == 'SVG') ? filterActive : filterActive.parentElement;\n let wasChecked = svgElement.classList.contains(flagIsChecked);\n if (wasChecked) {\n svgElement.classList.remove(flagIsChecked);\n }\n else {\n svgElement.classList.add(flagIsChecked);\n }\n return this.handleChangeFilter(event, filterActive);\n });\n let filter = document.querySelector(filterSelector);\n let filterValuePrevious = DOM.getElementValueCurrent(filter);\n filter.setAttribute(attrValueCurrent, filterValuePrevious);\n filter.setAttribute(attrValuePrevious, filterValuePrevious);\n }\n hookupFilter(filterFlag, handler = (event, filter) => { return this.handleChangeFilter(event, filter); }) {\n let filterSelector = idFormFilters + ' #' + filterFlag;\n Events.hookupEventHandler(\"change\", filterSelector, handler);\n let filter = document.querySelector(filterSelector);\n let filterValuePrevious = DOM.getElementValueCurrent(filter);\n filter.setAttribute(attrValueCurrent, filterValuePrevious);\n filter.setAttribute(attrValuePrevious, filterValuePrevious);\n }\n handleChangeFilter(event, filter) {\n let isDirtyFilter = DOM.updateAndCheckIsElementDirty(filter);\n let formFilters = TableBasePage.getFormFilters();\n let areDirtyFilters = isDirtyFilter || DOM.hasDirtyChildrenContainer(formFilters);\n let tbody = document.querySelector(idTableMain + ' tbody');\n let rows = tbody.querySelectorAll(':scope > tr');\n rows.forEach((row) => {\n if (areDirtyFilters && !row.classList.contains(flagIsCollapsed)) row.classList.add(flagIsCollapsed);\n if (!areDirtyFilters && row.classList.contains(flagIsCollapsed)) {\n row.classList.remove(flagIsCollapsed);\n let dirtyInputs = row.querySelectorAll('input.' + flagDirty);\n dirtyInputs.forEach((dirtyInput) => {\n dirtyInput.value = DOM.getElementAttributeValueCurrent(dirtyInput);\n });\n }\n });\n if (areDirtyFilters) {\n /*\n tbody.querySelectorAll('tr').forEach((tr) => { \n if (!DOM.hasDirtyChildrenContainer(tr)) tr.remove(); \n });\n */\n tbody.innerHTML = '
Press \"Apply Filters\" to refresh the table.
' + tbody.innerHTML;\n if (!tbody.classList.contains(flagIsCollapsed)) tbody.classList.add(flagIsCollapsed);\n }\n else {\n let isDirtyLabel = tbody.querySelector(\":scope > div\");\n if (isDirtyLabel != null) isDirtyLabel.remove();\n if (tbody.classList.contains(flagIsCollapsed)) tbody.classList.remove(flagIsCollapsed);\n let initialisedElements = tbody.querySelectorAll('.' + flagInitialised);\n initialisedElements.forEach((initialisedElement) => {\n initialisedElement.classList.remove(flagInitialised);\n });\n this.hookupTableMain();\n }\n this.updateAndToggleShowButtonsSaveCancel();\n }\n hookupFilterIsNotEmpty() {\n this.hookupFilter(flagIsNotEmpty);\n }\n hookupButtonApplyFilters() {\n Events.hookupEventHandler(\"click\", idButtonApplyFilters, (event, button) => {\n event.stopPropagation();\n this.callFilterTableContent();\n });\n }\n hookupSearchTextFilter() {\n this.hookupFilter(flagSearch);\n }\n hookupFilterDog() {\n this.hookupFilter(attrIdDog); \n }\n hookupFilterCommandCategory() {\n this.hookupFilter(attrIdCommandCategory, (event, filterCommandCategory) => {\n this.handleChangeFilter();\n let isDirtyFilter = filterCommandCategory.classList.contains(flagDirty);\n let idCommandCategory = DOM.getElementValueCurrent(filterCommandCategory);\n console.log(\"filter commands unsorted\");\n console.log(Utils.getListFromDict(filterCommands));\n let commandsInCategory = Utils.getListFromDict(filterCommands).filter(command => command[attrIdCommandCategory] == idCommandCategory);\n let sortedCommands = commandsInCategory.sort((a, b) => a[flagName].localeCompare(b[flagName]));\n let filterCommand = document.querySelector(idFormFilters + ' .' + flagCommand);\n let idCommandPrevious = DOM.getElementAttributeValuePrevious(filterCommand);\n filterCommand.innerHTML = '';\n let optionJson, option;\n option = DOM.createOption(null);\n filterCommand.appendChild(option);\n sortedCommands.forEach((command) => {\n optionJson = BusinessObjects.getOptionJsonFromObjectJson(command, idCommandPrevious);\n option = DOM.createOption(optionJson);\n filterCommand.appendChild(option);\n });\n filterCommand.dispatchEvent(new Event('change'));\n return isDirtyFilter;\n });\n }\n hookupFilterCommand() {\n this.hookupFilter(attrIdCommand);\n }\n hookupFilterLocation() {\n this.hookupFilter(attrIdLocation);\n }\n /*\n getAndLoadFilteredTableContent = () => {\n this.callFilterTableContent()\n .catch(error => console.error('Error:', error));\n }\n */\n static getFormFilters() {\n return document.querySelector(idFormFilters);\n }\n callFilterTableContent() {\n let formFilters = TableBasePage.getFormFilters();\n let filtersJson = DOM.convertForm2JSON(formFilters);\n Utils.consoleLogIfNotProductionEnvironment(\"callFilterTableContent\");\n Utils.consoleLogIfNotProductionEnvironment(\"formFilters\");\n Utils.consoleLogIfNotProductionEnvironment(formFilters);\n Utils.consoleLogIfNotProductionEnvironment(\"filtersJson\");\n Utils.consoleLogIfNotProductionEnvironment(filtersJson);\n this.leave();\n API.goToHash(this.constructor.hash, filtersJson);\n }\n callbackLoadTableContent(response) {\n let table = TableBasePage.getTableMain();\n let bodyTable = table.querySelector('tbody');\n bodyTable.querySelectorAll('tr').forEach(function(row) { row.remove(); });\n let rowsJson = response.data[flagRows];\n if (!Validation.isEmpty(rowsJson) && rowsJson.every(row => row.hasOwnProperty('display_order'))) {\n rowsJson = rowsJson.sort((a, b) => a.display_order - b.display_order);\n }\n rowsJson.forEach(this.loadRowTable.bind(this));\n this.hookupTableMain();\n }\n static getTableMain() {\n return document.querySelector(idTableMain);\n }\n loadRowTable(rowJson) {\n throw new Error(\"Subclass of TableBasePage must implement method loadRowTable().\");\n }\n getAndLoadFilteredTableContentSinglePageApp() {\n this.callFilterTableContent()\n .then(data => {\n Utils.consoleLogIfNotProductionEnvironment('Table data received:', data);\n this.callbackLoadTableContent(data);\n })\n .catch(error => console.error('Error:', error));\n }\n hookupButtonsSaveCancel() {\n this.hookupButtonSave();\n this.hookupButtonCancel();\n this.toggleShowButtonsSaveCancel(false);\n }\n saveRecordsTableDirty() {\n let records = this.getTableRecords(true);\n if (records.length == 0) {\n OverlayError.show('No records to save');\n return;\n }\n let formElement = TableBasePage.getFormFilters();\n let comment = DOM.getElementValueCurrent(document.querySelector(idTextareaConfirm));\n /*\n Utils.consoleLogIfNotProductionEnvironment({ formElement, comment, records });\n Utils.consoleLogIfNotProductionEnvironment('records');\n Utils.consoleLogIfNotProductionEnvironment(records);\n debugger;\n */\n this.callSaveTableContent(records, formElement, comment)\n .then(data => {\n if (data[flagStatus] == flagSuccess) {\n if (_verbose) { \n Utils.consoleLogIfNotProductionEnvironment('Records saved!');\n Utils.consoleLogIfNotProductionEnvironment('Data received:', data);\n }\n this.callFilterTableContent();\n }\n else {\n Utils.consoleLogIfNotProductionEnvironment(\"error: \", data[flagMessage]);\n OverlayError.show(data[flagMessage]);\n }\n })\n .catch(error => console.error('Error:', error));\n }\n getTableRecords(dirtyOnly = false) {\n let records = [];\n let record;\n document.querySelectorAll(idTableMain + ' > tbody > tr').forEach((row) => {\n if (dirtyOnly && !DOM.hasDirtyChildrenContainer(row)) return;\n record = this.getJsonRow(row);\n records.push(record);\n });\n return records;\n }\n getJsonRow(row) {\n throw new Error(\"Subclass of TableBasePage must implement method getJsonRow().\");\n }\n saveRecordsTableDirtySinglePageApp() {\n let records = this.getTableRecords(true);\n if (records.length == 0) {\n OverlayError.show('No records to save');\n return;\n }\n let formElement = TableBasePage.getFormFilters();\n let comment = DOM.getElementValueCurrent(document.querySelector(idTextareaConfirm));\n this.callSaveTableContent(records, formElement, comment)\n .then(data => {\n if (data[flagStatus] == flagSuccess) {\n if (_verbose) { \n Utils.consoleLogIfNotProductionEnvironment('Records saved!');\n Utils.consoleLogIfNotProductionEnvironment('Data received:', data);\n }\n this.callbackLoadTableContent(data);\n }\n else {\n Utils.consoleLogIfNotProductionEnvironment(\"error: \", data[flagMessage]);\n OverlayError.show(data[flagMessage]);\n }\n })\n .catch(error => console.error('Error:', error));\n }\n hookupButtonCancel() {\n Events.initialiseEventHandler('.' + flagContainer + '.' + flagSave + '.' + flagCancel + ' button.' + flagCancel, flagInitialised, (button) => {\n button.addEventListener(\"click\", (event) => {\n event.stopPropagation();\n button = event.target;\n if (button.classList.contains(flagIsCollapsed)) return;\n this.callFilterTableContent();\n });\n button.classList.add(flagIsCollapsed);\n });\n }\n handleClickAddRowTable(event, button) {\n event.stopPropagation();\n _rowBlank.setAttribute(this.constructor.attrIdRowObject, -1 - _rowBlank.getAttribute(this.constructor.attrIdRowObject));\n let tbody = document.querySelector(idTableMain + ' tbody');\n if (tbody.classList.contains(flagIsCollapsed)) return;\n let row = _rowBlank.cloneNode(true);\n row.classList.remove(flagInitialised);\n row.querySelectorAll('.' + flagInitialised).forEach(function(element) {\n element.classList.remove(flagInitialised);\n });\n let countRows = document.querySelectorAll(idTableMain + ' > tbody > tr').length;\n row.setAttribute(this.constructor.attrIdRowObject, -1 - countRows);\n this.initialiseRowNew(tbody, row);\n tbody.prepend(row);\n tbody.scrollTop = 0;\n this.hookupTableMain();\n this.postInitialiseRowNewCallback(tbody);\n }\n initialiseRowNew(tbody, row) {\n if (this.constructor === TableBasePage) {\n throw new Error(\"Subclass of TableBasePage must implement method initialiseRowNew().\");\n }\n // row.classList.remove(flagRowNew);\n }\n hookupTableMain() {\n if (this.constructor === TableBasePage) {\n throw new Error(\"Must implement hookupTableMain() method.\");\n }\n Events.initialiseEventHandler(idTableMain, flagInitialised, (table) => {\n this.cacheRowBlank();\n });\n }\n cacheRowBlank() {\n let selectorRowNew = idTableMain + ' tbody tr.' + flagRowNew;\n let rowBlankTemp = document.querySelector(selectorRowNew);\n Utils.consoleLogIfNotProductionEnvironment(\"row blank temp: \", rowBlankTemp);\n let countRows = document.querySelectorAll(idTableMain + ' > tbody > tr').length;\n _rowBlank = rowBlankTemp.cloneNode(true);\n document.querySelectorAll(selectorRowNew).forEach(function(row) {\n row.remove();\n });\n _rowBlank.setAttribute(this.constructor.attrIdRowObject, -1 - countRows);\n }\n postInitialiseRowNewCallback(tbody) {\n if (this.constructor === TableBasePage) {\n throw new Error(\"Subclass of TableBasePage must implement method postInitialiseRowNewCallback(tbody).\");\n }\n }\n initialiseSliderDisplayOrderRowNew(tbody, row) {\n // let tdSelector = ':scope > tr > td.' + flagDisplayOrder;\n // let tbody = document.querySelector('table' + (Validation.isEmpty(flagTable) ? '' : '.' + flagTable) + ' > tbody');\n let slidersDisplayOrder = tbody.querySelectorAll(':scope > tr > td.' + flagDisplayOrder + ' input.' + flagSlider);\n let maxDisplayOrder = 0;\n slidersDisplayOrder.forEach((slider) => {\n maxDisplayOrder = Math.max(maxDisplayOrder, parseFloat(DOM.getElementValueCurrent(slider)));\n });\n let sliderDisplayOrder = row.querySelector('td.' + flagDisplayOrder + ' .' + flagSlider);\n DOM.setElementValuesCurrentAndPrevious(sliderDisplayOrder, maxDisplayOrder + 1);\n }\n hookupSlidersDisplayOrderTable() {\n let selectorDisplayOrder = idTableMain + ' tbody tr td.' + flagDisplayOrder + ' input.' + flagSlider + '.' + flagDisplayOrder;\n this.hookupChangeHandlerTableCells(selectorDisplayOrder);\n }\n hookupChangeHandlerTableCells(inputSelector, handler = (event, element) => { this.handleChangeNestedElementCellTable(event, element); }) {\n Events.initialiseEventHandler(inputSelector, flagInitialised, (input) => {\n input.addEventListener(\"change\", (event) => {\n handler(event, input);\n });\n handler(null, input);\n });\n }\n handleChangeNestedElementCellTable(event, element) {\n let wasDirtyParentRows = this.getAllIsDirtyRowsInParentTree(element);\n let wasDirtyElement = element.classList.contains(flagDirty);\n let isDirtyElement = DOM.updateAndCheckIsElementDirty(element);\n // Utils.consoleLogIfNotProductionEnvironment({isDirtyElement, wasDirtyElement, wasDirtyParentRows});\n // let td = DOM.getCellFromElement(element);\n // DOM.setElementAttributeValueCurrent(td, DOM.getElementAttributeValueCurrent(element));\n if (isDirtyElement != wasDirtyElement) {\n // DOM.handleDirtyElement(td, isDirtyElement);\n this.updateAndToggleShowButtonsSaveCancel();\n this.cascadeChangedIsDirtyNestedElementCellTable(element, isDirtyElement, wasDirtyParentRows);\n }\n }\n getAllIsDirtyRowsInParentTree(element) {\n let rows = [];\n let parent = element;\n let isDirty;\n while (parent) {\n if (parent.tagName.toUpperCase() == 'TR') {\n isDirty = parent.classList.contains(flagDirty)\n rows.push(isDirty);\n }\n parent = parent.parentElement;\n }\n return rows;\n }\n cascadeChangedIsDirtyNestedElementCellTable(element, isDirtyElement, wasDirtyParentRows) {\n if (Validation.isEmpty(wasDirtyParentRows)) return;\n let tr = DOM.getRowFromElement(element);\n let isDirtyRow = isDirtyElement || DOM.hasDirtyChildrenContainer(tr);\n let wasDirtyRow = wasDirtyParentRows.shift();\n Utils.consoleLogIfNotProductionEnvironment({isDirtyRow, wasDirtyRow});\n if (isDirtyRow != wasDirtyRow) {\n DOM.handleDirtyElement(tr, isDirtyRow);\n this.updateAndToggleShowButtonsSaveCancel();\n this.cascadeChangedIsDirtyNestedElementCellTable(tr.parentElement, isDirtyRow, wasDirtyParentRows);\n }\n }\n hookupChangeHandlerTableCellsWhenNotCollapsed(inputSelector, handler = (event, element) => {\n if (!element.classList.contains(flagIsCollapsed)) this.handleChangeNestedElementCellTable(event, element);\n }) {\n Events.hookupEventHandler(\"change\", inputSelector, handler);\n }\n hookupFieldsCodeTable() {\n this.hookupChangeHandlerTableCells(idTableMain + ' > tbody > tr > td.' + flagCode + ' > .' + flagCode);\n }\n hookupFieldsNameTable() {\n this.hookupChangeHandlerTableCells(idTableMain + ' > tbody > tr > td.' + flagName + ' > .' + flagName);\n }\n hookupFieldsDescriptionTable() {\n this.hookupChangeHandlerTableCells(idTableMain + ' > tbody > tr > td.' + flagDescription + ' > .' + flagDescription);\n }\n hookupFieldsNotesTable() {\n this.hookupChangeHandlerTableCells(idTableMain + ' > tbody > tr > td.' + flagNotes + ' > .' + flagNotes);\n }\n hookupFieldsActive(flagTable = '', handleClickRowNew = (event, element) => { this.handleClickAddRowTable(event, element); }) {\n let selectorButton = 'table.table-main' + (Validation.isEmpty(flagTable) ? '' : '.' + flagTable) + ' > tbody > tr > td.' + flagActive + ' .' + flagButton + '.' + flagActive;\n let selectorButtonDelete = selectorButton + '.' + flagDelete;\n let selectorButtonUndelete = selectorButton + ':not(.' + flagDelete + ')';\n Utils.consoleLogIfNotProductionEnvironment(\"hookupFieldsActive: \", selectorButtonDelete, selectorButtonUndelete);\n this.hookupButtonsRowDelete(selectorButtonDelete, selectorButtonUndelete);\n this.hookupButtonsRowUndelete(selectorButtonDelete, selectorButtonUndelete);\n Events.hookupEventHandler(\n \"click\"\n , 'table.table-main' + (Validation.isEmpty(flagTable) ? '' : '.' + flagTable) + ' > thead > tr > th.' + flagActive + ' .' + flagButton + '.' + flagActive\n , (event, button) => { handleClickRowNew(event, button); }\n );\n }\n hookupButtonsRowDelete(selectorButtonDelete, selectorButtonUndelete, changeHandler = (event, element) => { this.handleChangeNestedElementCellTable(event, element); }) {\n Events.hookupEventHandler(\"click\", selectorButtonDelete, (event, element) => {\n this.handleClickButtonRowDelete(event, element, selectorButtonDelete, selectorButtonUndelete, (changeEvent, changeElement) => { changeHandler(changeEvent, changeElement); });\n });\n }\n handleClickButtonRowDelete(event, element, selectorButtonDelete, selectorButtonUndelete, changeHandler = (event, element) => { this.handleChangeNestedElementCellTable(event, element); }) {\n if (element.tagName.toUpperCase() != 'SVG') element = element.parentElement;\n let valuePrevious = DOM.getElementAttributeValuePrevious(element);\n let wasDirty = element.classList.contains(flagDirty);\n let row = DOM.getRowFromElement(element);\n if (row.classList.contains(flagRowNew) && !DOM.hasDirtyChildrenContainer(row)) {\n row.parentNode.removeChild(row);\n }\n else {\n let buttonAddTemplate = document.querySelector(idContainerTemplateElements + ' .' + flagButton + '.' + flagActive + '.' + flagAdd);\n let buttonAdd = buttonAddTemplate.cloneNode(true);\n DOM.setElementAttributeValuePrevious(buttonAdd, valuePrevious);\n DOM.setElementAttributeValueCurrent(buttonAdd, false);\n if (wasDirty) buttonAdd.classList.add(flagDirty);\n element.replaceWith(buttonAdd);\n changeHandler(null, buttonAdd);\n this.hookupButtonsRowUndelete(selectorButtonDelete, selectorButtonUndelete, (changeEvent, changeElement) => { changeHandler(changeEvent, changeElement); });\n }\n this.updateAndToggleShowButtonsSaveCancel();\n }\n hookupButtonsRowUndelete(selectorButtonDelete, selectorButtonUndelete, changeHandler = (event, element) => { this.handleChangeNestedElementCellTable(event, element); }) {\n Events.hookupEventHandler(\"click\", selectorButtonUndelete, (event, element) => {\n this.handleClickButtonRowUndelete(event, element, selectorButtonDelete, selectorButtonUndelete, (changeEvent, changeElement) => { changeHandler(changeEvent, changeElement); });\n });\n }\n handleClickButtonRowUndelete(event, element, selectorButtonDelete, selectorButtonUndelete, changeHandler = (event, element) => { this.handleChangeNestedElementCellTable(event, element); }) {\n if (element.tagName.toUpperCase() != 'SVG') element = element.parentElement;\n let valuePrevious = DOM.getElementAttributeValuePrevious(element);\n let wasDirty = DOM.isElementDirty(element);\n let buttonDeleteTemplate = document.querySelector(idContainerTemplateElements + ' .' + flagButton + '.' + flagActive + '.' + flagDelete);\n let buttonDelete = buttonDeleteTemplate.cloneNode(true);\n DOM.setElementAttributeValuePrevious(buttonDelete, valuePrevious);\n DOM.setElementAttributeValueCurrent(buttonDelete, true);\n if (wasDirty) buttonDelete.classList.add(flagDirty);\n element.replaceWith(buttonDelete);\n changeHandler(null, buttonDelete);\n this.hookupButtonsRowDelete(selectorButtonDelete, selectorButtonUndelete, (changeEvent, changeElement) => { changeHandler(changeEvent, changeElement); });\n this.updateAndToggleShowButtonsSaveCancel();\n }\n hookupTdsAccessLevel() {\n this.hookupTableCellDdlPreviews(flagAccessLevel, Utils.getListFromDict(accessLevels));\n }\n hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector = null\n , ddlHookup = (ddlSelector) => { this.hookupTableCellDdls(ddlSelector); }\n , changeHandler = (event, element) => { this.handleChangeNestedElementCellTable(event, element); }\n ) {\n if (cellSelector == null) cellSelector = idTableMain + ' > tbody > tr > td.' + fieldFlag;\n Events.hookupEventHandler(\"click\", cellSelector + ' div.' + fieldFlag, (event, div) => {\n this.handleClickTableCellDdlPreview(\n event\n , div\n , fieldFlag\n , optionList\n , cellSelector\n , (ddlSelector) => { ddlHookup(\n ddlSelector\n , (event, element) => { changeHandler(event, element); }\n ); }\n );\n });\n ddlHookup(cellSelector + ' select.' + fieldFlag);\n }\n hookupTableCellDdls(ddlSelector, changeHandler = (event, element) => { this.handleChangeNestedElementCellTable(event, element); }) {\n this.hookupChangeHandlerTableCells(ddlSelector, (event, element) => { changeHandler(event, element); });\n }\n handleClickTableCellDdlPreview(event, div, fieldFlag, optionObjectList, cellSelector = null, ddlHookup = (cellSelector) => { this.hookupTableCellDdls(cellSelector); }) {\n if (Validation.isEmpty(cellSelector)) cellSelector = idTableMain + ' > tbody > tr > td.' + fieldFlag;\n let idSelected = DOM.getElementAttributeValueCurrent(div);\n let td = DOM.getCellFromElement(div);\n td.innerHTML = '';\n let ddl = document.createElement('select');\n ddl.classList.add(fieldFlag);\n DOM.setElementValuesCurrentAndPrevious(ddl, idSelected);\n let optionJson, option;\n if (_verbose) { \n Utils.consoleLogIfNotProductionEnvironment(\"click table cell ddl preview\");\n Utils.consoleLogIfNotProductionEnvironment({optionObjectList, cellSelector});\n }\n option = DOM.createOption(null);\n ddl.appendChild(option);\n optionObjectList.forEach((optionObjectJson) => {\n optionJson = BusinessObjects.getOptionJsonFromObjectJson(optionObjectJson, idSelected);\n option = DOM.createOption(optionJson);\n ddl.appendChild(option);\n });\n td.appendChild(ddl);\n let ddlSelector = cellSelector + ' select.' + fieldFlag;\n ddlHookup(ddlSelector);\n }\n /*\n hookupTableCellDDlPreviewsWhenNotCollapsed(cellSelector, optionList, ddlHookup = (event, element) => { this.hookupTableCellDdls(event, element); }) {\n Events.hookupEventHandler(\"click\", cellSelector + ' div', (event, div) => {\n this.handleClickTableCellDdlPreview(event, div, optionList, cellSelector, (event, element) => { ddlHookup(event, element); });\n });\n }\n */\n toggleColumnCollapsed(flagColumn, isCollapsed) {\n this.toggleColumnHasClassnameFlag(flagColumn, isCollapsed, flagIsCollapsed);\n }\n toggleColumnHeaderCollapsed(flagColumn, isCollapsed) {\n this.toggleColumnHasClassnameFlag(flagColumn, isCollapsed, flagIsCollapsed);\n }\n\n hookupFieldsCommandCategory(idTable = null) {\n if (idTable == null) idTable = idTableMain;\n this.hookupTableCellDdlPreviews(\n flagCommandCategory\n , Utils.getListFromDict(filterCommandCategories).sort((a, b) => a[flagName].localeCompare(b[flagName]))\n , idTable + ' > tbody > tr > td.' + flagCommandCategory // + ' .' + flagCommandCategory\n , (cellSelector) => { this.hookupCommandCategoryDdls(cellSelector); }\n );\n }\n hookupCommandCategoryDdls(ddlSelector) {\n this.hookupChangeHandlerTableCells(ddlSelector, (event, element) => { this.handleChangeCommandCategoryDdl(event, element); });\n }\n handleChangeCommandCategoryDdl(event, ddlCategory) {\n let row = DOM.getRowFromElement(ddlCategory);\n let idCommandCategoryRowOld = this.getIdCommandCategoryRow(row); // DOM.getElementAttributeValueCurrent(ddlCategory);\n this.handleChangeNestedElementCellTable(event, ddlCategory);\n let idCommandCategoryRowNew = this.getIdCommandCategoryRow(row); // DOM.getElementAttributeValueCurrent(ddlCategory);\n if (\n idCommandCategoryRowOld == idCommandCategoryRowNew\n || idCommandCategoryRowNew == 0\n ) return;\n console.log({ idCommandCategoryRowNew, idCommandCategoryRowOld });\n let idCommandCategoryFilter = this.getIdCommandCategoryFilter();\n let tdCommand = row.querySelector('td.' + flagCommand);\n tdCommand.dispatchEvent(new Event('click'));\n let ddlCommand = row.querySelector('td.' + flagCommand + ' select.' + flagCommand);\n ddlCommand.innerHTML = '';\n ddlCommand.appendChild(DOM.createOption(null));\n let optionJson, option;\n let commandsInCategory = Utils.getListFromDict(filterCommands).filter(command => \n (\n command[attrIdCommandCategory] == idCommandCategoryRowNew\n || idCommandCategoryRowNew == 0\n )\n && (\n command[attrIdCommandCategory] == idCommandCategoryFilter\n || idCommandCategoryFilter == 0\n )\n );\n let sortedCommands = commandsInCategory.sort((a, b) => a[flagName].localeCompare(b[flagName]));\n sortedCommands.forEach((command) => {\n optionJson = BusinessObjects.getOptionJsonFromObjectJson(command);\n option = DOM.createOption(optionJson);\n ddlCommand.appendChild(option);\n });\n this.handleChangeNestedElementCellTable(event, ddlCommand);\n }\n hookupFieldsCommand(idTable = null) {\n if (idTable == null) idTable = idTableMain;\n Events.hookupEventHandler(\"click\", idTable + ' > tbody > tr > td.' + flagCommand + ' div.' + flagCommand, (event, div) => {\n Utils.consoleLogIfNotProductionEnvironment(div);\n let parentTr = DOM.getRowFromElement(div);\n Utils.consoleLogIfNotProductionEnvironment({ div, parentTr });\n let tdCommandCategory = parentTr.querySelector('td.' + flagCommandCategory);\n let idCommandCategoryRow = this.getIdCommandCategoryRow(parentTr); // DOM.getElementAttributeValueCurrent(tdCommandCategory);\n let idCommandCategoryFilter = this.getIdCommandCategoryFilter();\n let filterCommandList = Utils.getListFromDict(filterCommands);\n let commandsInCategory = filterCommandList.filter(command => \n (\n command[attrIdCommandCategory] == idCommandCategoryRow\n || idCommandCategoryRow == 0\n )\n && (\n command[attrIdCommandCategory] == idCommandCategoryFilter\n || idCommandCategoryFilter == 0\n )\n );\n let sortedCommands = commandsInCategory.sort((a, b) => a[flagName].localeCompare(b[flagName]));\n Utils.consoleLogIfNotProductionEnvironment({ tdCommandCategory, idCommandCategoryRow, idCommandCategoryFilter, filterCommandList, commandsInCategory });\n Utils.consoleLogIfNotProductionEnvironment(filterCommandList);\n this.handleClickTableCellDdlPreview(\n event\n , div\n , flagCommand // fieldFlag\n , sortedCommands // optionList\n , idTable + ' > tbody > tr > td.' + flagCommand // cellSelector\n , (cellSelector) => { this.hookupTableCellDdls(\n cellSelector\n , (event, element) => { this.handleChangeCommandDdl(event, element); }\n ); }\n );\n });\n this.hookupTableCellDdls(\n idTable + ' > tbody > tr > td.' + flagCommand + ' select.' + flagCommand\n , (event, element) => { this.handleChangeCommandDdl(event, element); }\n );\n }\n handleChangeCommandDdl(event, ddlCommand) {\n // console.log(\"handle change command ddl\");\n let row = DOM.getRowFromElement(ddlCommand);\n this.handleChangeNestedElementCellTable(event, ddlCommand);\n let idCommandCategoryRowOld = this.getIdCommandCategoryRow(row);\n let idCommandNew = this.getIdCommandRow(row);\n let commandNew = filterCommands[idCommandNew];\n // console.log({ idCommandCategoryRowOld, commandNew });\n if (commandNew == null || idCommandCategoryRowOld == commandNew[attrIdCommandCategory]) return;\n let divCommandCategory = row.querySelector('td.' + flagCommandCategory + ' div');\n if (divCommandCategory) divCommandCategory.dispatchEvent(new Event('click'));\n let ddlCommandCategory = row.querySelector('td.' + flagCommandCategory + ' select.' + flagCommandCategory);\n DOM.setElementValueCurrent(ddlCommandCategory, commandNew[attrIdCommandCategory]);\n // console.log({ ddlCommandCategory, commandNew });\n this.handleChangeNestedElementCellTable(event, ddlCommandCategory);\n }\n getIdCommandCategoryRow(tr) {\n let elementCommandCategory = tr.querySelector('td.' + flagCommandCategory + ' .' + flagCommandCategory);\n return DOM.getElementAttributeValueCurrent(elementCommandCategory);\n }\n getIdCommandCategoryFilter() {\n let formFilters = TableBasePage.getFormFilters();\n let idCommandCategory = 0;\n if (formFilters == null) return idCommandCategory;\n let commandCategoryFilter = formFilters.querySelector('#' + attrIdCommandCategory);\n let commandFilter = formFilters.querySelector('#' + attrIdCommand);\n let valueCurrentCommandCategoryFilter = DOM.getElementAttributeValueCurrent(commandCategoryFilter);\n Utils.consoleLogIfNotProductionEnvironment({ valueCurrentCommandCategoryFilter });\n if (valueCurrentCommandCategoryFilter == \"\") {\n let valueCurrentCommandFilter = DOM.getElementAttributeValueCurrent(commandFilter);\n Utils.consoleLogIfNotProductionEnvironment({ valueCurrentCommandFilter });\n if (valueCurrentCommandFilter != \"\") {\n let command = filterCommands[valueCurrentCommandFilter];\n idCommandCategory = command[attrIdCommandCategory];\n }\n } else {\n idCommandCategory = Number(valueCurrentCommandCategoryFilter);\n }\n return idCommandCategory;\n }\n getHasCommandCategoryFilter() {\n let idCommandCategoryFilter = this.getIdCommandCategoryFilter();\n return !(Validation.isEmpty(idCommandCategoryFilter) || idCommandCategoryFilter == 0);\n }\n getIdCommandRow(tr) {\n let elementCommand = tr.querySelector('td.' + flagCommand + ' .' + flagCommand);\n return DOM.getElementAttributeValueCurrent(elementCommand);\n }\n getIdCommandFilter() {\n let formFilters = TableBasePage.getFormFilters();\n let commandFilter = formFilters.querySelector('#' + attrIdCommand);\n let valueCurrentCommandFilter = DOM.getElementAttributeValueCurrent(commandFilter);\n let idCommand = Number(valueCurrentCommandFilter);\n return idCommand;\n }\n getHasCommandFilter() {\n let idCommandFilter = this.getIdCommandFilter();\n return !(Validation.isEmpty(idCommandFilter) || idCommandFilter == 0);\n }\n hookupFieldsDog() {\n this.hookupTableCellDdlPreviews(flagDog, Utils.getListFromDict(filterDogs));\n }\n getIdDogRow(tr) {\n let elementDog = tr.querySelector('td.' + flagDog + ' .' + flagDog);\n return DOM.getElementAttributeValueCurrent(elementDog);\n }\n /*\n createTdActive(isActive) {\n let tdActive = document.createElement(\"td\");\n tdActive.classList.add(flagActive);\n let buttonActive = document.createElement(\"button\");\n buttonActive.classList.add(flagActive);\n buttonActive.classList.add(isActive ? flagDelete : flagAdd);\n buttonActive.textContent = isActive ? 'x' : '+';\n DOM.setElementAttributesValuesCurrentAndPrevious(buttonActive, isActive);\n tdActive.appendChild(buttonActive);\n return tdActive;\n }\n */\n leave() {\n if (this.constructor === TableBasePage) {\n throw new Error(\"Must implement leave() method.\");\n }\n super.leave();\n let formFilters = TableBasePage.getFormFilters();\n let dataPage = {};\n dataPage[flagFormFilters] = DOM.convertForm2JSON(formFilters);\n this.setLocalStoragePage(dataPage);\n }\n\n toggleColumnHasClassnameFlag(columnFlag, isRequiredFlag, classnameFlag) {\n let table = TableBasePage.getTableMain();\n let columnTh = table.querySelector('th.' + columnFlag);\n let columnThHasFlag = columnTh.classList.contains(classnameFlag);\n if (isRequiredFlag == columnThHasFlag) return;\n DOM.toggleElementHasClassnameFlag(columnTh, isRequiredFlag, classnameFlag);\n }\n toggleColumnHeaderHasClassnameFlag(columnFlag, isRequiredFlag, classnameFlag) {\n let table = TableBasePage.getTableMain();\n let columnTh = table.querySelector('th.' + columnFlag);\n DOM.toggleElementHasClassnameFlag(columnTh, isRequiredFlag, classnameFlag);\n }\n\n updateAndToggleShowButtonsSaveCancel() {\n let records = this.getTableRecords(true);\n let isDirtyMainTable = records.length > 0;\n\n let formFilters = TableBasePage.getFormFilters();\n let areDirtyFilters = DOM.hasDirtyChildrenContainer(formFilters);\n\n console.log({ records, isDirtyMainTable, formFilters, areDirtyFilters });\n\n this.toggleShowButtonsSaveCancel(isDirtyMainTable && !areDirtyFilters);\n }\n}\n","\nimport Events from \"../../lib/events.js\";\nimport LocalStorage from \"../../lib/local_storage.js\";\nimport Validation from \"../../lib/validation.js\";\n// import BasePage from \"../base.js\";\nimport DOM from \"../../dom.js\";\nimport { isEmpty } from \"../../lib/utils.js\";\nimport TableBasePage from \"../base_table.js\";\n\nexport default class DogMixinPage {\n constructor(pageCurrent) {\n this.page = pageCurrent;\n }\n\n initialize() {\n Utils.consoleLogIfNotProductionEnvironment('hookup dog start for ', this.page.hash);\n this.hookupFilters();\n this.hookupLocalStorageDog();\n }\n hookupFilters() {\n }\n hookupLocalStorageDog() {\n \n }\n\n /*\n hookupDogCardsProduct() {\n \n let d; // , lsShared;\n let selectorCardProduct = '.card.subcard';\n Events.initialiseEventHandler(selectorCardProduct, flagInitialised, function(cardProduct) {\n if (_verbose) { Utils.consoleLogIfNotProductionEnvironment(\"initialising product card: \", cardProduct); }\n cardProduct.addEventListener(\"click\", function(event) {\n // d = { keyIdProduct: product.getAttribute(attrIdProduct) }\n var elemClicked = event.target;\n if (elemClicked.id != 'submit') { // disable for submit buttons\n if (_verbose) { \n Utils.consoleLogIfNotProductionEnvironment(\"product click: \" + cardProduct.getAttribute(attrIdProduct));\n Utils.consoleLogIfNotProductionEnvironment(\"permutation click: \" + cardProduct.getAttribute(attrIdPermutation));\n }\n var d = {}\n d[keyIdProduct] = cardProduct.getAttribute(attrIdProduct)\n d[keyIdPermutation] = cardProduct.getAttribute(attrIdPermutation)\n // send quantity requested\n goToPage(hashPageDogProduct, d);\n }\n });\n if (_verbose) { Utils.consoleLogIfNotProductionEnvironment(\"click method added for product ID: \" + cardProduct.getAttribute(attrIdProduct) + ', permutation ID: ', cardProduct.getAttribute(attrIdPermutation)); }\n });\n }\n */\n \n leave() {}\n}\n","\nimport Events from \"../../lib/events.js\";\nimport LocalStorage from \"../../lib/local_storage.js\";\nimport Validation from \"../../lib/validation.js\";\n// import BasePage from \"../base.js\";\nimport DOM from \"../../dom.js\";\nimport { isEmpty } from \"../../lib/utils.js\";\nimport DogMixinPage from \"./mixin.js\";\nimport Utils from \"../../lib/utils.js\";\n\nexport default class DogTableMixinPage extends DogMixinPage {\n constructor(pageCurrent) {\n super(pageCurrent);\n }\n initialize() {\n super.initialize();\n this.hookupFilters();\n this.hookupTable();\n }\n hookupFilters() {\n // Implement filter-specific functionality here\n }\n hookupTable() {\n // Implement table-specific functionality here\n }\n hookupFieldsLocation() {\n this.page.hookupTableCellDdlPreviews(\n flagLocation\n , Utils.getListFromDict(filterLocations) // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n );\n }\n}","\nimport API from \"../../api.js\";\nimport BusinessObjects from \"../../lib/business_objects/business_objects.js\";\nimport DOM from \"../../dom.js\";\nimport Events from \"../../lib/events.js\";\nimport TableBasePage from \"../base_table.js\";\nimport Utils from \"../../lib/utils.js\";\nimport Validation from \"../../lib/validation.js\";\nimport DogTableMixinPage from \"./mixin_table.js\";\n\nexport default class PageDogCommandCategories extends TableBasePage {\n static hash = hashPageDogCommandCategories;\n static attrIdRowObject = attrIdCommandCategory;\n callSaveTableContent = API.saveCommandCategories;\n\n constructor(router) {\n super(router);\n this.dogMixin = new DogTableMixinPage(this);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n hookupFilters() {\n this.sharedHookupFilters();\n this.hookupFilterActive();\n }\n\n loadRowTable(rowJson) {\n if (rowJson == null) return;\n if (_verbose) { Utils.consoleLogIfNotProductionEnvironment(\"applying data row: \", rowJson); }\n }\n getJsonRow(row) {\n Utils.consoleLogIfNotProductionEnvironment({ row });\n if (row == null) return;\n let inputCode = row.querySelector('td.' + flagCode + ' .' + flagCode);\n let inputName = row.querySelector('td.' + flagName + ' .' + flagName);\n let buttonActive = row.querySelector('td.' + flagActive + ' .' + flagActive);\n \n console.log(\"inputCode\");\n console.log(inputCode);\n\n let jsonRow = {};\n jsonRow[attrIdCommandCategory] = row.getAttribute(attrIdCommandCategory);\n jsonRow[flagCode] = DOM.getElementAttributeValueCurrent(inputCode);\n jsonRow[flagName] = DOM.getElementAttributeValueCurrent(inputName);\n jsonRow[flagActive] = buttonActive.classList.contains(flagDelete);\n return jsonRow;\n }\n initialiseRowNew(tbody, row) {\n \n }\n postInitialiseRowNewCallback(tbody) {\n // let newRows = tbody.querySelectorAll('tr.' + flagRowNew);\n }\n\n hookupTableMain() {\n super.hookupTableMain();\n this.hookupFieldsCodeTable();\n this.hookupFieldsNameTable();\n this.hookupFieldsActive();\n }\n\n leave() {\n super.leave();\n }\n}\n\n","\nimport API from \"../../api.js\";\nimport BusinessObjects from \"../../lib/business_objects/business_objects.js\";\nimport DOM from \"../../dom.js\";\nimport Events from \"../../lib/events.js\";\nimport TableBasePage from \"../base_table.js\";\nimport Utils from \"../../lib/utils.js\";\nimport Validation from \"../../lib/validation.js\";\nimport DogTableMixinPage from \"./mixin_table.js\";\n\nexport default class PageDogCommands extends TableBasePage {\n static hash = hashPageDogCommands;\n static attrIdRowObject = attrIdCommand;\n callSaveTableContent = API.saveCommands;\n\n constructor(router) {\n super(router);\n this.dogMixin = new DogTableMixinPage(this);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n hookupFilters() {\n this.sharedHookupFilters();\n this.hookupFilterCommandCategory();\n this.hookupFilterActive();\n }\n hookupFilterCommandCategory() {\n this.hookupFilter(attrIdCommandCategory);\n }\n\n loadRowTable(rowJson) {\n if (rowJson == null) return;\n if (_verbose) { Utils.consoleLogIfNotProductionEnvironment(\"applying data row: \", rowJson); }\n }\n getJsonRow(row) {\n if (row == null) return;\n let inputName = row.querySelector('td.' + flagName + ' .' + flagName);\n let inputHandSignalDefaultDescription = row.querySelector('td.' + flagHandSignalDefaultDescription + ' .' + flagHandSignalDefaultDescription);\n let inputCanHaveButton = row.querySelector('td.' + flagCanHaveButton + ' .' + flagCanHaveButton);\n let inputNotes = row.querySelector('td.' + flagNotes + ' .' + flagNotes);\n let buttonActive = row.querySelector('td.' + flagActive + ' .' + flagActive);\n\n /*\n Utils.consoleLogIfNotProductionEnvironment({ inputName, inputHandSignalDefaultDescription, inputCanHaveButton, inputNotes, buttonActive });\n debugger;\n */\n\n let jsonRow = {};\n jsonRow[attrIdCommand] = row.getAttribute(attrIdCommand);\n jsonRow[attrIdCommandCategory] = this.getIdCommandCategoryRow(row);\n jsonRow[flagName] = DOM.getElementAttributeValueCurrent(inputName);\n jsonRow[flagHandSignalDefaultDescription] = DOM.getElementAttributeValueCurrent(inputHandSignalDefaultDescription);\n jsonRow[flagCanHaveButton] = (DOM.getElementAttributeValueCurrent(inputCanHaveButton) == \"true\");\n jsonRow[flagNotes] = DOM.getElementAttributeValueCurrent(inputNotes);\n jsonRow[flagActive] = buttonActive.classList.contains(flagDelete);\n return jsonRow;\n }\n initialiseRowNew(tbody, row) {\n \n }\n postInitialiseRowNewCallback(tbody) {\n let newRows = tbody.querySelectorAll('tr.' + flagRowNew);\n let newestRow = newRows[0];\n let clickableElementsSelector = [\n 'td.' + flagDog + ' div.' + flagDog\n , ',td.' + flagCommandCategory + ' div.' + flagCommandCategory\n , ',td.' + flagCommand + ' div.' + flagCommand\n ].join('');\n newestRow.querySelectorAll(clickableElementsSelector).forEach((clickableElement) => {\n clickableElement.click();\n });\n }\n\n hookupTableMain() {\n super.hookupTableMain();\n this.hookupFieldsCommandCategory();\n this.hookupFieldsNameTable();\n this.hookupTextareasHandSignalDefaultDescription();\n this.hookupFieldsCanHaveButton();\n this.hookupFieldsNotesTable();\n this.hookupFieldsActive();\n }\n hookupFieldsCommandCategory() {\n this.hookupTableCellDdlPreviews(\n flagCommandCategory\n , Utils.getListFromDict(filterCommandCategories)\n );\n }\n hookupTextareasHandSignalDefaultDescription() {\n this.hookupChangeHandlerTableCells(idTableMain + ' td.' + flagHandSignalDefaultDescription + ' .' + flagHandSignalDefaultDescription);\n }\n hookupFieldsCanHaveButton() {\n this.hookupChangeHandlerTableCells(idTableMain + ' td.' + flagCanHaveButton + ' .' + flagCanHaveButton);\n }\n\n leave() {\n super.leave();\n }\n}\n\n","\nimport API from \"../../api.js\";\nimport BusinessObjects from \"../../lib/business_objects/business_objects.js\";\nimport DOM from \"../../dom.js\";\nimport Events from \"../../lib/events.js\";\nimport TableBasePage from \"../base_table.js\";\nimport Utils from \"../../lib/utils.js\";\nimport Validation from \"../../lib/validation.js\";\nimport DogTableMixinPage from \"./mixin_table.js\";\n\nexport default class PageDogDogCommandLinks extends TableBasePage {\n static hash = hashPageDogDogCommandLinks;\n static attrIdRowObject = attrIdDogCommandLink;\n callSaveTableContent = API.saveDogCommandLinks;\n\n constructor(router) {\n super(router);\n this.dogMixin = new DogTableMixinPage(this);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n hookupFilters() {\n this.sharedHookupFilters();\n this.hookupFilterDog();\n this.hookupFilterCommandCategory();\n this.hookupFilterCommand();\n this.hookupFilterActive();\n }\n\n loadRowTable(rowJson) {\n if (rowJson == null) return;\n if (_verbose) { Utils.consoleLogIfNotProductionEnvironment(\"applying data row: \", rowJson); }\n }\n getJsonRow(row) {\n if (row == null) return;\n let inputHandSignalDescription = row.querySelector('td.' + flagHandSignalDescription + ' textarea');\n let inputNotes = row.querySelector('td.' + flagNotes + ' textarea');\n let buttonActive = row.querySelector('td.' + flagActive + ' .' + flagActive);\n\n let jsonRow = {};\n jsonRow[attrIdDogCommandLink] = row.getAttribute(attrIdDogCommandLink);\n jsonRow[attrIdDog] = this.getIdDogRow(row);\n jsonRow[attrIdCommand] = this.getIdCommandRow(row);\n jsonRow[flagHandSignalDescription] = DOM.getElementAttributeValueCurrent(inputHandSignalDescription);\n jsonRow[flagNotes] = DOM.getElementAttributeValueCurrent(inputNotes);\n jsonRow[flagActive] = buttonActive.classList.contains(flagDelete);\n return jsonRow;\n }\n initialiseRowNew(tbody, row) {\n \n }\n postInitialiseRowNewCallback(tbody) {\n let newRows = tbody.querySelectorAll('tr.' + flagRowNew);\n let newestRow = newRows[0];\n let clickableElementsSelector = [\n 'td.' + flagDog + ' div.' + flagDog\n , ',td.' + flagCommandCategory + ' div.' + flagCommandCategory\n , ',td.' + flagCommand + ' div.' + flagCommand\n ].join('');\n newestRow.querySelectorAll(clickableElementsSelector).forEach((clickableElement) => {\n clickableElement.click();\n });\n }\n\n hookupTableMain() {\n super.hookupTableMain();\n this.hookupFieldsDog();\n this.hookupFieldsCommandCategory();\n this.hookupFieldsCommand();\n this.hookupTextareasHandSignalDescription();\n this.hookupFieldsNotesTable();\n this.hookupFieldsActive();\n }\n hookupTextareasHandSignalDescription() {\n this.hookupChangeHandlerTableCells(idTableMain + ' td.' + flagHandSignalDescription + ' .' + flagHandSignalDescription);\n }\n\n leave() {\n super.leave();\n }\n}\n\n","\nimport API from \"../../api.js\";\nimport BusinessObjects from \"../../lib/business_objects/business_objects.js\";\nimport DOM from \"../../dom.js\";\nimport Events from \"../../lib/events.js\";\nimport TableBasePage from \"../base_table.js\";\nimport Utils from \"../../lib/utils.js\";\nimport Validation from \"../../lib/validation.js\";\nimport DogTableMixinPage from \"./mixin_table.js\";\n\nexport default class PageDogLocations extends TableBasePage {\n static hash = hashPageDogLocations;\n static attrIdRowObject = attrIdLocation;\n callSaveTableContent = API.saveLocations;\n\n constructor(router) {\n super(router);\n this.dogMixin = new DogTableMixinPage(this);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n hookupFilters() {\n this.sharedHookupFilters();\n this.hookupFilterActive();\n }\n\n loadRowTable(rowJson) {\n if (rowJson == null) return;\n if (_verbose) { Utils.consoleLogIfNotProductionEnvironment(\"applying data row: \", rowJson); }\n }\n getJsonRow(row) {\n if (row == null) return;\n let inputName = row.querySelector('td.' + flagName + ' .' + flagName);\n let buttonActive = row.querySelector('td.' + flagActive + ' .' + flagActive);\n\n let jsonRow = {};\n jsonRow[attrIdLocation] = row.getAttribute(attrIdLocation);\n jsonRow[flagLocationParent] = this.getIdLocationParentRow(row);\n jsonRow[flagName] = DOM.getElementAttributeValueCurrent(inputName);\n jsonRow[flagActive] = buttonActive.classList.contains(flagDelete);\n\n console.log(\"jsonRow\");\n console.log(jsonRow);\n\n return jsonRow;\n }\n getIdLocationParentRow(row) {\n let elementLocationParent = row.querySelector('td.' + flagLocationParent + ' .' + flagLocationParent);\n return DOM.getElementAttributeValueCurrent(elementLocationParent);\n }\n initialiseRowNew(tbody, row) {\n \n }\n postInitialiseRowNewCallback(tbody) {\n let newRows = tbody.querySelectorAll('tr.' + flagRowNew);\n let newestRow = newRows[0];\n let clickableElementsSelector = [\n 'td.' + flagLocationParent + ' div.' + flagLocationParent\n ].join('');\n newestRow.querySelectorAll(clickableElementsSelector).forEach((clickableElement) => {\n clickableElement.click();\n });\n }\n\n hookupTableMain() {\n super.hookupTableMain();\n this.hookupFieldsLocationParent();\n this.hookupFieldsNameTable();\n this.hookupFieldsActive();\n }\n hookupFieldsLocationParent() {\n /*\n this.hookupTableCellDdlPreviews(\n flagLocationParent\n , Utils.getListFromDict(locations).filter(location => \n (\n location[attrIdLocation] == idLocationRow\n || idLocationRow < 1\n )\n ) // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n , null // cellSelector\n , (cellSelector) => { this.hookupLocationParentDdls(cellSelector); }\n ,\n );\n\n fieldFlag\n , optionList\n , cellSelector = null\n , ddlHookup = (ddlSelector) => { this.hookupTableCellDdls(ddlSelector); }\n , changeHandler = (event, element) => { this.handleChangeNestedElementCellTable(event, element); }\n ) {\n\n */\n let cellSelector = idTableMain + ' > tbody > tr > td.' + flagLocationParent;\n Events.hookupEventHandler(\"click\", cellSelector + ' div.' + flagLocationParent, (event, div) => {\n let row = DOM.getRowFromElement(div);\n let idLocationRow = Number(row.getAttribute(attrIdLocation));\n Utils.consoleLogIfNotProductionEnvironment({ idLocationRow });\n this.handleClickTableCellDdlPreview(\n event\n , div\n , flagLocationParent\n , Utils.getListFromDict(locations).filter(location => \n (\n location[attrIdLocation] != idLocationRow\n || idLocationRow < 1\n )\n ) // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n , cellSelector\n , (ddlSelector) => { this.hookupTableCellDdls(\n ddlSelector\n , (event, element) => { this.handleChangeNestedElementCellTable(event, element); }\n ); }\n );\n });\n this.hookupTableCellDdls(\n cellSelector + ' select.' + flagLocationParent\n , (event, element) => { this.handleChangeNestedElementCellTable(event, element); }\n );\n }\n /*\n hookupLocationParentDdls(ddlSelector) {\n this.hookupChangeHandlerTableCells(ddlSelector, (event, element) => { this.handleChangeNestedElementCellTable(event, element); });\n }\n */\n\n leave() {\n super.leave();\n }\n}\n\n","\nimport API from \"../../api.js\";\nimport BusinessObjects from \"../../lib/business_objects/business_objects.js\";\nimport DOM from \"../../dom.js\";\nimport Events from \"../../lib/events.js\";\nimport TableBasePage from \"../base_table.js\";\nimport Utils from \"../../lib/utils.js\";\nimport Validation from \"../../lib/validation.js\";\nimport DogTableMixinPage from \"./mixin_table.js\";\n\nexport default class PageDogButtonIcons extends TableBasePage {\n static hash = hashPageDogButtonIcons;\n static attrIdRowObject = attrIdButtonIcon;\n callSaveTableContent = API.saveButtonIcons;\n\n constructor(router) {\n super(router);\n this.dogMixin = new DogTableMixinPage(this);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n hookupFilters() {\n this.sharedHookupFilters();\n this.hookupFilterActive();\n }\n\n loadRowTable(rowJson) {\n if (rowJson == null) return;\n if (_verbose) { Utils.consoleLogIfNotProductionEnvironment(\"applying data row: \", rowJson); }\n }\n getJsonRow(row) {\n if (row == null) return;\n let inputName = row.querySelector('td.' + flagName + ' .' + flagName);\n let buttonActive = row.querySelector('td.' + flagActive + ' .' + flagActive);\n\n let jsonRow = {};\n jsonRow[attrIdButtonIcon] = row.getAttribute(attrIdButtonIcon);\n jsonRow[flagImage] = this.getIdImageRow(row);\n jsonRow[flagName] = DOM.getElementAttributeValueCurrent(inputName);\n jsonRow[flagActive] = buttonActive.classList.contains(flagDelete);\n\n console.log(\"jsonRow\");\n console.log(jsonRow);\n\n return jsonRow;\n }\n getIdImageRow(row) {\n let elementImage = row.querySelector('td.' + flagImage + ' .' + flagImage);\n return DOM.getElementAttributeValueCurrent(elementImage);\n }\n initialiseRowNew(tbody, row) {\n \n }\n postInitialiseRowNewCallback(tbody) {\n let newRows = tbody.querySelectorAll('tr.' + flagRowNew);\n let newestRow = newRows[0];\n let clickableElementsSelector = [\n 'td.' + flagImage + ' div.' + flagImage\n ].join('');\n newestRow.querySelectorAll(clickableElementsSelector).forEach((clickableElement) => {\n clickableElement.click();\n });\n }\n\n hookupTableMain() {\n super.hookupTableMain();\n this.hookupFieldsImage();\n this.hookupFieldsNameTable();\n this.hookupFieldsActive();\n }\n hookupFieldsImage() {\n this.hookupTableCellDdlPreviews(\n flagImage\n , Utils.getListFromDict(buttonicons) // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n );\n }\n\n leave() {\n super.leave();\n }\n}\n\n","\nimport API from \"../../api.js\";\nimport BusinessObjects from \"../../lib/business_objects/business_objects.js\";\nimport DOM from \"../../dom.js\";\nimport Events from \"../../lib/events.js\";\nimport TableBasePage from \"../base_table.js\";\nimport Utils from \"../../lib/utils.js\";\nimport Validation from \"../../lib/validation.js\";\nimport DogTableMixinPage from \"./mixin_table.js\";\n\nexport default class PageDogCommandButtonLinks extends TableBasePage {\n static hash = hashPageDogCommandButtonLinks;\n static attrIdRowObject = attrIdCommandButtonLink;\n callSaveTableContent = API.saveCommandButtonLinks;\n\n constructor(router) {\n super(router);\n this.dogMixin = new DogTableMixinPage(this);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n hookupFilters() {\n this.sharedHookupFilters();\n this.hookupFilterCommandCategory();\n this.hookupFilterCommand();\n this.hookupFilterButtonShape();\n this.hookupFilterColour();\n this.hookupFilterButtonIcon();\n this.hookupFilterLocation();\n this.hookupFilterActive();\n }\n hookupFilterButtonShape() {\n this.hookupFilter(attrIdButtonShape);\n }\n hookupFilterColour() {\n this.hookupFilter(attrIdColour);\n }\n hookupFilterButtonIcon() {\n this.hookupFilter(attrIdButtonIcon);\n }\n\n loadRowTable(rowJson) {\n if (rowJson == null) return;\n if (_verbose) { Utils.consoleLogIfNotProductionEnvironment(\"applying data row: \", rowJson); }\n }\n getJsonRow(row) {\n if (row == null) return;\n let inputHandSignalDescription = row.querySelector('td.' + flagHandSignalDescription + ' textarea');\n let inputNotes = row.querySelector('td.' + flagNotes + ' textarea');\n let buttonActive = row.querySelector('td.' + flagActive + ' .' + flagActive);\n\n let jsonRow = {};\n jsonRow[attrIdCommandButtonLink] = row.getAttribute(attrIdCommandButtonLink);\n jsonRow[attrIdDog] = this.getIdDogRow(row);\n jsonRow[attrIdCommand] = this.getIdCommandRow(row);\n jsonRow[flagHandSignalDescription] = DOM.getElementAttributeValueCurrent(inputHandSignalDescription);\n jsonRow[flagNotes] = DOM.getElementAttributeValueCurrent(inputNotes);\n jsonRow[flagActive] = buttonActive.classList.contains(flagDelete);\n return jsonRow;\n }\n initialiseRowNew(tbody, row) {\n \n }\n postInitialiseRowNewCallback(tbody) {\n let newRows = tbody.querySelectorAll('tr.' + flagRowNew);\n let newestRow = newRows[0];\n let clickableElementsSelector = [\n 'td.' + flagDog + ' div.' + flagDog\n , ',td.' + flagCommandCategory + ' div.' + flagCommandCategory\n , ',td.' + flagCommand + ' div.' + flagCommand\n ].join('');\n newestRow.querySelectorAll(clickableElementsSelector).forEach((clickableElement) => {\n clickableElement.click();\n });\n }\n\n hookupTableMain() {\n super.hookupTableMain();\n this.hookupFieldsCommandCategory();\n this.hookupFieldsCommand();\n this.hookupFieldsButtonShape();\n this.hookupFieldsColour();\n this.hookupFieldsButtonIcon();\n this.dogMixin.hookupFieldsLocation();\n this.hookupFieldsActive();\n }\n hookupFieldsButtonShape() {\n this.hookupTableCellDdlPreviews(\n flagButtonShape\n , Utils.getListFromDict(filterButtonShapes) // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n );\n }\n hookupFieldsColour() {\n this.hookupTableCellDdlPreviews(\n flagColour\n , Utils.getListFromDict(filterColours) // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n );\n }\n hookupFieldsButtonIcon() {\n this.hookupTableCellDdlPreviews(\n flagButtonIcon\n , Utils.getListFromDict(filterButtonIcons) // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n );\n }\n\n leave() {\n super.leave();\n }\n}\n\n","\nimport API from \"../../api.js\";\nimport BusinessObjects from \"../../lib/business_objects/business_objects.js\";\nimport DOM from \"../../dom.js\";\nimport Events from \"../../lib/events.js\";\nimport TableBasePage from \"../base_table.js\";\nimport Utils from \"../../lib/utils.js\";\nimport Validation from \"../../lib/validation.js\";\nimport DogTableMixinPage from \"./mixin_table.js\";\n\nvar _rowBlankDistraction;\nvar _rowBlankAssessmentCommandModalityLink;\n\nexport default class PageDogAssessment extends TableBasePage {\n static hash = hashPageDogAssessment;\n static attrIdRowObject = attrIdAssessment;\n callSaveTableContent = API.saveAssessmentsDistractionsAndResponses;\n\n constructor(router) {\n super(router);\n this.dogMixin = new DogTableMixinPage(this);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n hookupFilters() {\n }\n\n loadRowTable(rowJson) {\n if (rowJson == null) return;\n if (_verbose) { Utils.consoleLogIfNotProductionEnvironment(\"applying data row: \", rowJson); }\n }\n getTableRecords(dirtyOnly = false) {\n dirtyOnly = true;\n let row = document.querySelector(idTableAssessment + ' tbody tr.' + flagAssessment);\n return [this.getJsonRow(row)];\n }\n getJsonRow(row) {\n console.log(\"getJsonRow: \", row);\n if (row == null) return;\n let inputWeather = row.querySelector(idTableAssessment + ' td.' + flagWeather + ' .' + flagWeather);\n let inputLightingLevel = row.querySelector(idTableAssessment + ' td.' + flagLightingLevel + ' .' + flagLightingLevel);\n let inputTemeratureCelcius = row.querySelector(idTableAssessment + ' td.' + flagTemperatureCelcius + ' .' + flagTemperatureCelcius);\n let inputLocation = row.querySelector(idTableAssessment + ' td.' + flagLocation + ' .' + flagLocation);\n let inputUserHandler = row.querySelector(idTableAssessment + ' td.' + flagUserHandler + ' .' + flagUserHandler);\n let inputNotes = row.querySelector(idTableAssessment + ' td.' + flagNotes + ' .' + flagNotes);\n // let buttonActive = row.querySelector(idTableAssessment + ' td.' + flagActive + ' .' + flagButton + '.' + flagIcon + '.' + flagActive);\n let idAssessment = row.getAttribute(attrIdAssessment);\n let jsonRow = {};\n jsonRow[attrIdAssessment] = idAssessment;\n jsonRow[attrIdWeather] = DOM.getElementAttributeValueCurrent(inputWeather);\n jsonRow[attrIdLightingLevel] = DOM.getElementAttributeValueCurrent(inputLightingLevel);\n jsonRow[flagTemperatureCelcius] = DOM.getElementAttributeValueCurrent(inputTemeratureCelcius);\n jsonRow[attrIdLocation] = DOM.getElementAttributeValueCurrent(inputLocation);\n jsonRow[flagUserHandler] = DOM.getElementAttributeValueCurrent(inputUserHandler);\n jsonRow[flagNotes] = DOM.getElementAttributeValueCurrent(inputNotes);\n jsonRow[flagActive] = true; // buttonActive.classList.contains(flagDelete);\n jsonRow[flagDistraction] = this.getDirtyDistractions(idAssessment);\n jsonRow[flagAssessmentCommandModalityLink] = this.getDirtyAssessmentCommandModalityLinks(idAssessment);\n console.log({ jsonRow });\n return jsonRow;\n }\n getDirtyDistractions(idAssessment) {\n let dirtyRows = document.querySelectorAll(idTableDistractions + ' tbody tr.' + flagDistraction + '.' + flagDirty);\n if (dirtyRows == null || dirtyRows.length == 0) return [];\n // dirtyRows = Array.from(dirtyRows);\n let dirtyRow,\n inputDistractionType, distractionType,\n inputIntensityLevelEmotional, intensityLevelEmotional,\n inputIntensityLevelScent, intensityLevelScent,\n inputIntensityLevelSight, intensityLevelSight,\n inputIntensityLevelSound, intensityLevelSound,\n inputIntensityLevelTouch, intensityLevelTouch,\n inputQuantity, quantity,\n inputProximityMetres, proximityMetres,\n inputNotes, notes,\n buttonActive, active;\n console.log('getDirtyDistractions');\n console.log({ dirtyRows });\n let dirtyDistractions = [];\n for(let indexRow = 0; indexRow < dirtyRows.length; indexRow++) {\n dirtyRow = dirtyRows[indexRow];\n inputDistractionType = dirtyRow.querySelector('td.' + flagDistractionType + ' .' + flagDistractionType);\n distractionType = DOM.getElementAttributeValueCurrent(inputDistractionType);\n inputIntensityLevelEmotional = dirtyRow.querySelector('td.' + flagDistractionIntensityLevelEmotional + ' .' + flagDistractionIntensityLevelEmotional);\n intensityLevelEmotional = DOM.getElementAttributeValueCurrent(inputIntensityLevelEmotional);\n inputIntensityLevelScent = dirtyRow.querySelector('td.' + flagDistractionIntensityLevelScent + ' .' + flagDistractionIntensityLevelScent);\n intensityLevelScent = DOM.getElementAttributeValueCurrent(inputIntensityLevelScent);\n inputIntensityLevelSight = dirtyRow.querySelector('td.' + flagDistractionIntensityLevelSight + ' .' + flagDistractionIntensityLevelSight);\n intensityLevelSight = DOM.getElementAttributeValueCurrent(inputIntensityLevelSight);\n inputIntensityLevelSound = dirtyRow.querySelector('td.' + flagDistractionIntensityLevelSound + ' .' + flagDistractionIntensityLevelSound);\n intensityLevelSound = DOM.getElementAttributeValueCurrent(inputIntensityLevelSound);\n inputIntensityLevelTouch = dirtyRow.querySelector('td.' + flagDistractionIntensityLevelTouch + ' .' + flagDistractionIntensityLevelTouch);\n intensityLevelTouch = DOM.getElementAttributeValueCurrent(inputIntensityLevelTouch);\n inputQuantity = dirtyRow.querySelector('td.' + flagQuantity + ' .' + flagQuantity);\n quantity = DOM.getElementAttributeValueCurrent(inputQuantity);\n inputProximityMetres = dirtyRow.querySelector('td.' + flagProximityMetres + ' .' + flagProximityMetres);\n proximityMetres = DOM.getElementAttributeValueCurrent(inputProximityMetres);\n inputNotes = dirtyRow.querySelector('td.' + flagNotes + ' .' + flagNotes);\n notes = DOM.getElementAttributeValueCurrent(inputNotes);\n buttonActive = dirtyRow.querySelector(idTableDistractions + ' td.' + flagActive + ' .' + flagButton + '.' + flagIcon + '.' + flagActive);\n active = buttonActive.classList.contains(flagDelete);\n dirtyDistractions.push({\n [attrIdDistraction]: dirtyRow.getAttribute(attrIdDistraction)\n , [attrIdAssessment]: idAssessment\n , [attrIdDistractionType]: distractionType\n , [flagDistractionIntensityLevelEmotional]: intensityLevelEmotional\n , [flagDistractionIntensityLevelScent]: intensityLevelScent\n , [flagDistractionIntensityLevelSight]: intensityLevelSight\n , [flagDistractionIntensityLevelSound]: intensityLevelSound\n , [flagDistractionIntensityLevelTouch]: intensityLevelTouch\n , [flagQuantity]: quantity\n , [flagProximityMetres]: proximityMetres\n , [flagNotes]: notes\n , [flagActive]: active\n });\n };\n return dirtyDistractions;\n }\n getDirtyAssessmentCommandModalityLinks(idAssessment) {\n let dirtyRows = document.querySelectorAll(idTableAssessmentCommandModalityLinks + ' > tbody > tr.' + flagAssessmentCommandModalityLink + '.' + flagDirty);\n if (dirtyRows == null || dirtyRows.length == 0) return [];\n dirtyRows = Array.from(dirtyRows);\n let dirtyRow, idAssessmentCommandModalityLink,\n inputCommand, command,\n inputCommandModality, commandModality,\n inputBribe, bribe,\n inputDistanceFromHandler, distanceFromhandler,\n inputIsInHearingRangeOfHandler, isInHearingRangeOfHandler,\n inputIsInScentRangeOfHandler, isInScentRangeOfHandler,\n inputIsInSightOfHandler, isInSightOfHandler,\n inputIsOnLead, isOnLead,\n inputNotes, notes,\n buttonActive, active;\n console.log('getDirtyAssessmentCommandModalityLinks');\n console.log({ dirtyRows });\n let dirtyLinks = [];\n for(let indexRow = 0; indexRow < dirtyRows.length; indexRow++) {\n dirtyRow = dirtyRows[indexRow];\n idAssessmentCommandModalityLink = dirtyRow.getAttribute(attrIdAssessmentCommandModalityLink);\n inputCommand = dirtyRow.querySelector('td.' + flagCommand + ' .' + flagCommand);\n command = DOM.getElementAttributeValueCurrent(inputCommand);\n inputCommandModality = dirtyRow.querySelector('td.' + flagCommandModality + ' .' + flagCommandModality);\n commandModality = DOM.getElementAttributeValueCurrent(inputCommandModality);\n inputBribe = dirtyRow.querySelector('td.' + flagBribe + ' .' + flagBribe);\n bribe = DOM.getElementAttributeValueCurrent(inputBribe);\n inputDistanceFromHandler = dirtyRow.querySelector('td.' + flagDistanceFromHandlerMetres + ' .' + flagDistanceFromHandlerMetres);\n distanceFromhandler = DOM.getElementAttributeValueCurrent(inputDistanceFromHandler);\n inputIsInHearingRangeOfHandler = dirtyRow.querySelector('td.' + flagIsInHearingRangeOfHandler + ' .' + flagIsInHearingRangeOfHandler);\n isInHearingRangeOfHandler = DOM.getElementAttributeValueCurrent(inputIsInHearingRangeOfHandler);\n inputIsInScentRangeOfHandler = dirtyRow.querySelector('td.' + flagIsInScentRangeOfHandler + ' .' + flagIsInScentRangeOfHandler);\n isInScentRangeOfHandler = DOM.getElementAttributeValueCurrent(inputIsInScentRangeOfHandler);\n inputIsInSightOfHandler = dirtyRow.querySelector('td.' + flagIsInSightOfHandler + ' .' + flagIsInSightOfHandler);\n isInSightOfHandler = DOM.getElementAttributeValueCurrent(inputIsInSightOfHandler);\n inputIsOnLead = dirtyRow.querySelector('td.' + flagIsOnLead + ' .' + flagIsOnLead);\n isOnLead = DOM.getElementAttributeValueCurrent(inputIsOnLead);\n inputNotes = dirtyRow.querySelector('td.' + flagNotes + ' .' + flagNotes);\n notes = DOM.getElementAttributeValueCurrent(inputNotes);\n buttonActive = dirtyRow.querySelector(idTableAssessmentCommandModalityLinks + ' td.' + flagActive + ' .' + flagButton + '.' + flagIcon + '.' + flagActive);\n active = buttonActive.classList.contains(flagDelete);\n dirtyLinks.push({\n [attrIdAssessmentCommandModalityLink]: idAssessmentCommandModalityLink\n , [attrIdAssessment]: idAssessment\n , [attrIdCommand]: command\n , [attrIdCommandModality]: commandModality\n , [attrIdBribe]: bribe\n , [flagDistanceFromHandlerMetres]: distanceFromhandler\n , [flagIsInHearingRangeOfHandler]: isInHearingRangeOfHandler\n , [flagIsInScentRangeOfHandler]: isInScentRangeOfHandler\n , [flagIsInSightOfHandler]: isInSightOfHandler\n , [flagIsOnLead]: isOnLead\n , [flagNotes]: notes\n , [flagActive]: active\n , [flagAssessmentResponse]: this.getDirtyAssessmentResponses(dirtyRow, idAssessmentCommandModalityLink)\n });\n }\n return dirtyLinks;\n }\n getDirtyAssessmentResponses(rowAssessmentCommandModalityLink, idAssessmentCommandModalityLink) {\n let dirtyRows = rowAssessmentCommandModalityLink.querySelectorAll(idTableAssessmentResponses + ' tbody tr.' + flagAssessmentResponse + '.' + flagDirty);\n if (dirtyRows == null || dirtyRows.length == 0) return [];\n dirtyRows = Array.from(dirtyRows);\n let dirtyRow,\n inputResponseQualityMetric, responseQualityMetric,\n inputObedienceLevel, obedienceLevel,\n inputValueMeasured, valueMeasured,\n inputNotes, notes,\n buttonActive, active;\n console.log('getDirtyAssessmentResponses');\n console.log({ dirtyRows });\n let dirtyResponses = [];\n for(let indexRow = 0; indexRow < dirtyRows.length; indexRow++) {\n dirtyRow = dirtyRows[indexRow];\n inputResponseQualityMetric = dirtyRow.querySelector('td.' + flagResponseQualityMetric + ' .' + flagResponseQualityMetric);\n responseQualityMetric = DOM.getElementAttributeValueCurrent(inputResponseQualityMetric);\n inputObedienceLevel = dirtyRow.querySelector('td.' + flagObedienceLevel + ' .' + flagObedienceLevel);\n obedienceLevel = DOM.getElementAttributeValueCurrent(inputObedienceLevel);\n inputValueMeasured = dirtyRow.querySelector('td.' + flagValueMeasured + ' .' + flagValueMeasured);\n valueMeasured = DOM.getElementAttributeValueCurrent(inputValueMeasured);\n inputNotes = dirtyRow.querySelector('td.' + flagNotes + ' .' + flagNotes);\n notes = DOM.getElementAttributeValueCurrent(inputNotes);\n buttonActive = dirtyRow.querySelector(idTableAssessmentResponses + ' td.' + flagActive + ' .' + flagButton + '.' + flagIcon + '.' + flagActive);\n active = buttonActive.classList.contains(flagDelete);\n dirtyResponses.push({\n [attrIdAssessmentResponse]: dirtyRow.getAttribute(attrIdAssessmentResponse)\n , [attrIdAssessmentCommandModalityLink]: idAssessmentCommandModalityLink\n , [attrIdResponseQualityMetric]: responseQualityMetric\n , [attrIdObedienceLevel]: obedienceLevel\n , [flagValueMeasured]: valueMeasured\n , [flagNotes]: notes\n , [flagActive]: active\n });\n }\n return dirtyResponses;\n }\n initialiseRowNew(tbody, row) {\n \n }\n postInitialiseRowNewCallback(tbody) {\n let newRows = tbody.querySelectorAll('tr.' + flagRowNew);\n let newestRow = newRows[0];\n let clickableElementsSelector = [\n 'td.' + flagWeather + ' div.' + flagWeather\n , ',td.' + flagLightingLevel + ' div.' + flagLightingLevel\n , ',td.' + flagLocation + ' div.' + flagLocation\n , ',td.' + flagUserHandler + ' div.' + flagUserHandler\n ].join('');\n newestRow.querySelectorAll(clickableElementsSelector).forEach((clickableElement) => {\n clickableElement.click();\n });\n }\n callFilterTableContent() {\n if (assessment[attrIdAssessment] < 1) {\n let formFilters = TableBasePage.getFormFilters();\n let filterAssessment = formFilters.querySelector('#' + attrIdAssessment);\n DOM.setElementValueCurrent(filterAssessment, '');\n }\n super.callFilterTableContent();\n }\n\n hookupTableMain() {\n super.hookupTableMain();\n this.hookupTableAssessmentHeader();\n this.hookupTableDistractions();\n this.hookupTableAssessmentCommandModalityLinks();\n }\n hookupTableAssessmentHeader() {\n this.hookupTableAssessmentFieldWeather();\n this.hookupTableAssessmentFieldLightingLevel();\n this.hookupTableAssessmentFieldTemperature();\n this.hookupTableAssessmentFieldLocation();\n this.hookupTableAssessmentFieldUserHandler();\n this.hookupTableAssessmentFieldNotes();\n if (assessment[attrIdAssessment] < 1) {\n let tbody = document.querySelector(idTableAssessment + ' tbody');\n let row = tbody.querySelector('tr');\n row.classList.add(flagRowNew);\n this.postInitialiseRowNewCallback(tbody);\n }\n }\n hookupTableAssessmentFieldWeather() {\n let fieldFlag = flagWeather;\n let optionList = Utils.getListFromDict(filterWeathers); // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n let cellSelector = idTableAssessment + ' td.' + flagWeather;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableAssessmentFieldLightingLevel() {\n let fieldFlag = flagLightingLevel;\n let optionList = Utils.getListFromDict(filterLightingLevels); // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n let cellSelector = idTableAssessment + ' td.' + flagLightingLevel;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableAssessmentFieldTemperature() {\n this.hookupChangeHandlerTableCells(idTableAssessment + ' td.' + flagTemperatureCelcius + ' .' + flagTemperatureCelcius);\n }\n hookupTableAssessmentFieldLocation() {\n let fieldFlag = flagLocation;\n let optionList = Utils.getListFromDict(filterLocations); // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n let cellSelector = idTableAssessment + ' td.' + flagLocation;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableAssessmentFieldUserHandler() {\n let fieldFlag = flagUserHandler;\n let optionList = Utils.getListFromDict(filterUserHandlers); // .sort((a, b) => a[flagName].localeCompare(b[flagName]));\n let cellSelector = idTableAssessment + ' td.' + flagUserHandler;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableAssessmentFieldNotes() {\n this.hookupChangeHandlerTableCells(idTableAssessment + ' td.' + flagNotes + ' .' + flagNotes);\n }\n hookupTableDistractions() {\n Events.initialiseEventHandler(idTableDistractions, flagInitialised, (table) => {\n let selectorRowNew = idTableDistractions + ' tbody tr.' + flagRowNew;\n let rowBlankTemp = document.querySelector(selectorRowNew);\n Utils.consoleLogIfNotProductionEnvironment(\"row blank temp: \", rowBlankTemp);\n let countRows = document.querySelectorAll(idTableDistractions + ' > tbody > tr').length;\n _rowBlankDistraction = rowBlankTemp.cloneNode(true);\n document.querySelectorAll(selectorRowNew).forEach(function(row) {\n row.remove();\n });\n _rowBlankDistraction.setAttribute(attrIdDistraction, -1 - countRows);\n });\n\n this.hookupTableDistractionsFieldsDistractionType();\n this.hookupTableDistractionsFieldsIntensityLevelEmotional();\n this.hookupTableDistractionsFieldsIntensityLevelScent();\n this.hookupTableDistractionsFieldsIntensityLevelSight();\n this.hookupTableDistractionsFieldsIntensityLevelSound();\n this.hookupTableDistractionsFieldsIntensityLevelTouch();\n this.hookupTableDistractionsFieldsQuantity();\n this.hookupTableDistractionsFieldsProximityMetres();\n this.hookupTableDistractionsFieldsNotes();\n this.hookupTableDistractionsFieldsActive();\n }\n hookupTableDistractionsFieldsDistractionType() {\n let fieldFlag = flagDistractionType;\n let optionList = Utils.getListFromDict(filterDistractionTypes); // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n let cellSelector = idTableDistractions + ' td.' + flagDistractionType;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableDistractionsFieldsIntensityLevelEmotional() {\n let fieldFlag = flagDistractionIntensityLevelEmotional;\n let optionList = Utils.getListFromDict(filterDistractionIntensityLevels); // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n let cellSelector = idTableDistractions + ' td.' + flagDistractionIntensityLevelEmotional;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableDistractionsFieldsIntensityLevelScent() {\n let fieldFlag = flagDistractionIntensityLevelScent;\n let optionList = Utils.getListFromDict(filterDistractionIntensityLevels); // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n let cellSelector = idTableDistractions + ' td.' + flagDistractionIntensityLevelScent;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableDistractionsFieldsIntensityLevelSight() {\n let fieldFlag = flagDistractionIntensityLevelSight;\n let optionList = Utils.getListFromDict(filterDistractionIntensityLevels); // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n let cellSelector = idTableDistractions + ' td.' + flagDistractionIntensityLevelSight;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableDistractionsFieldsIntensityLevelSound() {\n let fieldFlag = flagDistractionIntensityLevelSound;\n let optionList = Utils.getListFromDict(filterDistractionIntensityLevels); // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n let cellSelector = idTableDistractions + ' td.' + flagDistractionIntensityLevelSound;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableDistractionsFieldsIntensityLevelTouch() {\n let fieldFlag = flagDistractionIntensityLevelTouch;\n let optionList = Utils.getListFromDict(filterDistractionIntensityLevels); // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n let cellSelector = idTableDistractions + ' td.' + flagDistractionIntensityLevelTouch;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableDistractionsFieldsQuantity() {\n this.hookupChangeHandlerTableCells(idTableDistractions + ' td.' + flagQuantity + ' .' + flagQuantity);\n }\n hookupTableDistractionsFieldsProximityMetres() {\n this.hookupChangeHandlerTableCells(idTableDistractions + ' td.' + flagProximityMetres + ' .' + flagProximityMetres);\n }\n hookupTableDistractionsFieldsNotes() {\n this.hookupChangeHandlerTableCells(idTableDistractions + ' td.' + flagNotes + ' .' + flagNotes);\n }\n hookupTableDistractionsFieldsActive() {\n this.hookupFieldsActive(flagDistraction, (event, element) => { this.handleClickAddRowTableDistractions(event, element); });\n }\n handleClickAddRowTableDistractions(event, button) {\n event.stopPropagation();\n _rowBlankDistraction.setAttribute(attrIdDistraction, -1 - _rowBlankDistraction.getAttribute(attrIdDistraction));\n let tbody = document.querySelector(idTableDistractions + ' tbody');\n if (tbody.classList.contains(flagIsCollapsed)) return;\n let row = _rowBlankDistraction.cloneNode(true);\n row.classList.remove(flagInitialised);\n row.querySelectorAll('.' + flagInitialised).forEach(function(element) {\n element.classList.remove(flagInitialised);\n });\n let countRows = document.querySelectorAll(idTableDistractions + ' > tbody > tr').length;\n row.setAttribute(attrIdDistraction, -1 - countRows);\n tbody.prepend(row);\n tbody.scrollTop = 0;\n this.hookupTableDistractions();\n this.postInitialiseDistractionRowNewCallback(tbody);\n }\n postInitialiseDistractionRowNewCallback(tbody) {\n let newRows = tbody.querySelectorAll('tr.' + flagRowNew);\n let newestRow = newRows[0];\n let clickableElementsSelector = [\n 'td.' + flagDistractionType + ' div.' + flagDistractionType\n , ',td.' + flagDistractionIntensityLevelEmotional + ' div.' + flagDistractionIntensityLevelEmotional\n , ',td.' + flagDistractionIntensityLevelScent + ' div.' + flagDistractionIntensityLevelScent\n , ',td.' + flagDistractionIntensityLevelSight + ' div.' + flagDistractionIntensityLevelSight\n , ',td.' + flagDistractionIntensityLevelSound + ' div.' + flagDistractionIntensityLevelSound\n , ',td.' + flagDistractionIntensityLevelTouch + ' div.' + flagDistractionIntensityLevelTouch\n ].join('');\n newestRow.querySelectorAll(clickableElementsSelector).forEach((clickableElement) => {\n clickableElement.click();\n });\n }\n hookupTableAssessmentCommandModalityLinks() {\n Events.initialiseEventHandler(idTableAssessmentCommandModalityLinks, flagInitialised, (table) => {\n let selectorRowNew = idTableAssessmentCommandModalityLinks + ' tbody tr.' + flagRowNew;\n let rowBlankTemp = document.querySelector(selectorRowNew);\n Utils.consoleLogIfNotProductionEnvironment(\"row blank temp: \", rowBlankTemp);\n let countRows = document.querySelectorAll(idTableAssessmentCommandModalityLinks + ' > tbody > tr').length;\n _rowBlankAssessmentCommandModalityLink = rowBlankTemp.cloneNode(true);\n document.querySelectorAll(selectorRowNew).forEach(function(row) {\n row.remove();\n });\n _rowBlankAssessmentCommandModalityLink.setAttribute(attrIdAssessmentCommandModalityLink, -1 - countRows);\n });\n\n this.hookupTableAssessmentCommandModalityLinksFieldsCommandCategory();\n this.hookupTableAssessmentCommandModalityLinksFieldsCommand();\n this.hookupTableAssessmentCommandModalityLinksFieldsCommandModality();\n this.hookupTableAssessmentCommandModalityLinksFieldsBribe();\n this.hookupTableAssessmentCommandModalityLinksFieldsDistanceFromHandlerMetres();\n this.hookupTableAssessmentCommandModalityLinksFieldsIsInHearingRangeOfHandler();\n this.hookupTableAssessmentCommandModalityLinksFieldsIsInScentRangeOfHandler();\n this.hookupTableAssessmentCommandModalityLinksFieldsIsInSightOfHandler();\n this.hookupTableAssessmentCommandModalityLinksFieldsIsOnLead();\n this.hookupTableAssessmentCommandModalityLinksFieldsTrialCount();\n this.hookupTableAssessmentCommandModalityLinksFieldsNotes();\n this.hookupTableAssessmentCommandModalityLinksFieldsResponses();\n this.hookupTableAssessmentCommandModalityLinksFieldsActive();\n }\n hookupTableAssessmentCommandModalityLinksFieldsCommandCategory() {\n this.hookupFieldsCommandCategory(idTableAssessmentCommandModalityLinks);\n /*\n let fieldFlag = flagCommandCategory;\n let optionList = Utils.getListFromDict(filterCommandCategories).sort((a, b) => a[flagName].localeCompare(b[flagName]));\n let cellSelector = idTableAssessmentCommandModalityLinks + ' td.' + flagCommandCategory;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n , (tdSelector) => { this.hookupTableAssessmentCommandModalityLinksDdlsCommandCategory(tdSelector); }\n , (event, element) => { this.handleChangeTableAssessmentCommandModalityLinksDdlCommandCategory(event, element); }\n );\n */\n }\n /*\n hookupTableAssessmentCommandModalityLinksDdlsCommandCategory(ddlSelector) {\n this.hookupChangeHandlerTableCells(ddlSelector, (event, element) => { this.handleChangeTableAssessmentCommandModalityLinksDdlCommandCategory(event, element); });\n }\n handleChangeTableAssessmentCommandModalityLinksDdlCommandCategory(event, ddlCategory) {\n let row = DOM.getRowFromElement(ddlCategory);\n let idCommandCategoryRowOld = this.getIdCommandCategoryRow(row); // DOM.getElementAttributeValueCurrent(ddlCategory);\n this.handleChangeNestedElementCellTable(event, ddlCategory);\n let idCommandCategoryRowNew = this.getIdCommandCategoryRow(row); // DOM.getElementAttributeValueCurrent(ddlCategory);\n if (idCommandCategoryRowOld == idCommandCategoryRowNew) return;\n let divCommand = row.querySelector('td.' + flagCommand + ' div');\n if (divCommand) divCommand.dispatchEvent(new Event('click'));\n let ddlCommand = row.querySelector('td.' + flagCommand + ' select.' + flagCommand);\n ddlCommand.innerHTML = '';\n ddlCommand.appendChild(DOM.createOption(null));\n let optionJson, option;\n let commandsInCategory = Utils.getListFromDict(filterCommands).filter(command => \n (\n command[attrIdCommandCategory] == idCommandCategoryRowNew\n || idCommandCategoryRowNew == 0\n )\n );\n let sortedCommands = commandsInCategory.sort((a, b) => a[flagName].localeCompare(b[flagName]));\n sortedCommands.forEach((command) => {\n optionJson = BusinessObjects.getOptionJsonFromObjectJson(command);\n option = DOM.createOption(optionJson);\n ddlCommand.appendChild(option);\n });\n this.handleChangeNestedElementCellTable(event, ddlCommand);\n }\n */\n hookupTableAssessmentCommandModalityLinksFieldsCommand() {\n this.hookupFieldsCommand(idTableAssessmentCommandModalityLinks);\n }\n hookupTableAssessmentCommandModalityLinksFieldsCommandModality() {\n let fieldFlag = flagCommandModality;\n let optionList = Utils.getListFromDict(filterCommandModalities); // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n let cellSelector = idTableAssessmentCommandModalityLinks + ' td.' + flagCommandModality;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableAssessmentCommandModalityLinksFieldsBribe() {\n let fieldFlag = flagBribe;\n let optionList = Utils.getListFromDict(filterBribes); // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n let cellSelector = idTableAssessmentCommandModalityLinks + ' td.' + flagBribe;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableAssessmentCommandModalityLinksFieldsDistanceFromHandlerMetres() {\n this.hookupChangeHandlerTableCells(idTableAssessmentCommandModalityLinks + ' td.' + flagDistanceFromHandlerMetres + ' .' + flagDistanceFromHandlerMetres);\n }\n hookupTableAssessmentCommandModalityLinksFieldsIsInHearingRangeOfHandler() {\n this.hookupChangeHandlerTableCells(idTableAssessmentCommandModalityLinks + ' td.' + flagIsInHearingRangeOfHandler + ' .' + flagIsInHearingRangeOfHandler);\n }\n hookupTableAssessmentCommandModalityLinksFieldsIsInScentRangeOfHandler() {\n this.hookupChangeHandlerTableCells(idTableAssessmentCommandModalityLinks + ' td.' + flagIsInScentRangeOfHandler + ' .' + flagIsInScentRangeOfHandler);\n }\n hookupTableAssessmentCommandModalityLinksFieldsIsInSightOfHandler() {\n this.hookupChangeHandlerTableCells(idTableAssessmentCommandModalityLinks + ' td.' + flagIsInSightOfHandler + ' .' + flagIsInSightOfHandler);\n }\n hookupTableAssessmentCommandModalityLinksFieldsIsOnLead() {\n this.hookupChangeHandlerTableCells(idTableAssessmentCommandModalityLinks + ' td.' + flagIsOnLead + ' .' + flagIsOnLead);\n }\n hookupTableAssessmentCommandModalityLinksFieldsTrialCount() {\n // this.hookupChangeHandlerTableCells(idTableAssessmentCommandModalityLinks + ' td.' + flagTrialCount + ' .' + flagTrialCount);\n }\n hookupTableAssessmentCommandModalityLinksFieldsNotes() {\n this.hookupChangeHandlerTableCells(idTableAssessmentCommandModalityLinks + ' > tbody > tr > td.' + flagNotes + ' .' + flagNotes);\n }\n hookupTableAssessmentCommandModalityLinksFieldsResponses() {\n let eventType = \"click\";\n let selector = idTableAssessmentCommandModalityLinks + ' td.' + flagAssessmentResponse + ' div.' + flagAssessmentResponse;\n let handler = (event, element) => {\n let parentTd = DOM.getCellFromElement(element);\n let rowAssessmentCommandModalityLink = parentTd.closest('tr.' + flagAssessmentCommandModalityLink);\n let idAssessmentCommandModalityLink = rowAssessmentCommandModalityLink.getAttribute(attrIdAssessmentCommandModalityLink);\n let responsesTable = document.createElement(\"table\");\n responsesTable.id = idTableAssessmentResponses.replace(\"#\", \"\");\n responsesTable.classList.add(flagTableMain, flagAssessmentResponse);\n\n let head = document.createElement(\"thead\");\n let headRow = document.createElement(\"tr\");\n let thResponseQualityMetric = document.createElement(\"th\");\n thResponseQualityMetric.classList.add(flagResponseQualityMetric);\n thResponseQualityMetric.innerText = 'Response Quality Metric';\n headRow.appendChild(thResponseQualityMetric);\n let thObedienceLevel = document.createElement(\"th\");\n thObedienceLevel.classList.add(flagObedienceLevel);\n thObedienceLevel.innerText = 'Obedience Level';\n headRow.appendChild(thObedienceLevel);\n let thValueMeasured = document.createElement(\"th\");\n thValueMeasured.classList.add(flagValueMeasured);\n thValueMeasured.innerText = 'Value Measured';\n headRow.appendChild(thValueMeasured);\n let thNotes = document.createElement(\"th\");\n thNotes.classList.add(flagNotes);\n thNotes.innerText = 'Notes';\n headRow.appendChild(thNotes);\n let thActive = document.createElement(\"th\");\n thActive.classList.add(flagActive);\n let templateAddIcon = document.querySelector(idContainerTemplateElements + ' .' + flagButton + '.' + flagIcon + '.' + flagActive + '.' + flagAdd);\n thActive.appendChild(templateAddIcon.cloneNode(true));\n headRow.appendChild(thActive);\n head.appendChild(headRow);\n responsesTable.appendChild(head);\n\n let body = document.createElement(\"tbody\");\n \n let assessmentCommandModalityLinks = assessment[flagAssessmentCommandModalityLink].filter(link => link[attrIdAssessmentCommandModalityLink] == idAssessmentCommandModalityLink);\n let assessmentCommandModalityLink = (assessmentCommandModalityLinks == null || assessmentCommandModalityLinks.length == 0) ? null : assessmentCommandModalityLinks[0];\n let responses = (assessmentCommandModalityLink == null) ? null : assessmentCommandModalityLink[flagAssessmentResponse];\n \n console.log({ assessmentCommandModalityLinks, responses });\n if (responses != null && responses.length > 0) {\n for (let responseKey in Object.keys(responses)) {\n let response = responses[responseKey];\n let row = PageDogAssessment.createNewRowTableAssessmentResponses(response);\n body.appendChild(row);\n }\n }\n responsesTable.appendChild(body);\n\n parentTd.innerHTML = responsesTable.outerHTML;\n\n let responseRows = parentTd.querySelectorAll('tbody tr.' + flagAssessmentResponse);\n if (responseRows != null && responseRows.length > 0) {\n for (let indexRow = 0; indexRow < responseRows.length; indexRow++) {\n let row = responseRows[indexRow];\n // let idAssessmentResponse = row.getAttribute(attrIdAssessmentResponse);\n \n let response = responses[indexRow]; // idAssessmentResponse];\n console.log({ indexRow, row, response }); // idAssessmentResponse,\n let inputValueMeasured = row.querySelector('td.' + flagValueMeasured + ' .' + flagValueMeasured);\n DOM.setElementValueCurrent(inputValueMeasured, response[flagValueMeasured]);\n let inputNotes = row.querySelector('td.' + flagNotes + ' .' + flagNotes);\n DOM.setElementValueCurrent(inputNotes, response[flagNotes]);\n }\n }\n\n this.hookupTablesAssessmentResponses();\n };\n Events.hookupEventHandler(\n eventType\n , selector\n , handler\n );\n this.hookupTablesAssessmentResponses();\n }\n static createNewRowTableAssessmentResponses(response) {\n if (response == null) response = {\n [attrIdAssessmentResponse]: null\n , [attrIdResponseQualityMetric]: {\n [attrIdResponseQualityMetric]: 0\n }\n , [attrIdObedienceLevel]: {\n [attrIdObedienceLevel]: 0\n }\n , [flagValueMeasured]: ''\n , [flagNotes]: ''\n , [flagActive]: true\n };\n console.log({ response });\n let isNew = (response[attrIdAssessmentResponse] == null || response[attrIdAssessmentResponse] < 1);\n let row = document.createElement(\"tr\");\n row.classList.add(flagAssessmentResponse);\n if (isNew) row.classList.add(flagRowNew);\n row.setAttribute(attrIdAssessmentResponse, response[attrIdAssessmentResponse]);\n\n let tdResponseQualityMetric = document.createElement(\"td\");\n tdResponseQualityMetric.classList.add(flagResponseQualityMetric, flagDdlPreview);\n let divResponseQualityMetric = document.createElement(\"div\");\n divResponseQualityMetric.classList.add(flagResponseQualityMetric);\n let idResponseQualityMetric = response[attrIdResponseQualityMetric][attrIdResponseQualityMetric];\n let responseQualityMetric = filterResponseQualityMetrics[idResponseQualityMetric];\n DOM.setElementAttributesValuesCurrentAndPrevious(divResponseQualityMetric, idResponseQualityMetric);\n divResponseQualityMetric.innerText = (responseQualityMetric == null) ? '' : responseQualityMetric[flagName];\n tdResponseQualityMetric.appendChild(divResponseQualityMetric);\n row.appendChild(tdResponseQualityMetric);\n\n let tdObedienceLevel = document.createElement(\"td\");\n tdObedienceLevel.classList.add(flagObedienceLevel, flagDdlPreview);\n let divObedienceLevel = document.createElement(\"div\");\n divObedienceLevel.classList.add(flagObedienceLevel);\n let idObedienceLevel = response[attrIdObedienceLevel][attrIdObedienceLevel];\n let obedienceLevel = filterObedienceLevels[idObedienceLevel];\n DOM.setElementAttributesValuesCurrentAndPrevious(divObedienceLevel, idObedienceLevel);\n divObedienceLevel.innerText = (obedienceLevel == null) ? '' : obedienceLevel[flagName];\n tdObedienceLevel.appendChild(divObedienceLevel);\n row.appendChild(tdObedienceLevel);\n\n let tdValueMeasured = document.createElement(\"td\");\n tdValueMeasured.classList.add(flagValueMeasured, flagDdlPreview);\n let inputValueMeasured = document.createElement(\"input\");\n inputValueMeasured.type = \"number\";\n inputValueMeasured.classList.add(flagValueMeasured);\n let valueMeasured = response[flagValueMeasured];\n DOM.setElementValueCurrent(inputValueMeasured, valueMeasured);\n DOM.setElementAttributeValuePrevious(inputValueMeasured, valueMeasured);\n tdValueMeasured.appendChild(inputValueMeasured);\n row.appendChild(tdValueMeasured);\n\n let tdNotes = document.createElement(\"td\");\n tdNotes.classList.add(flagNotes, flagDdlPreview);\n let inputNotes = document.createElement(\"textarea\");\n inputNotes.classList.add(flagNotes);\n let notes = response[flagNotes];\n DOM.setElementValueCurrent(inputNotes, notes);\n DOM.setElementAttributeValuePrevious(inputNotes, notes);\n tdNotes.appendChild(inputNotes);\n row.appendChild(tdNotes);\n\n console.log(inputValueMeasured.tagName);\n console.log(inputNotes.tagName);\n console.log({ valueMeasured, notes });\n\n let tdActive = document.createElement(\"td\");\n tdActive.classList.add(flagActive, flagDdlPreview);\n let templateAddIcon = document.querySelector(idContainerTemplateElements + ' .' + flagButton + '.' + flagIcon + '.' + flagActive + '.' + flagAdd);\n let templateDeleteIcon = document.querySelector(idContainerTemplateElements + ' .' + flagButton + '.' + flagIcon + '.' + flagActive + '.' + flagDelete);\n let buttonActive = (response[flagActive]) ? templateDeleteIcon.cloneNode(true) : templateAddIcon.cloneNode(true);\n tdActive.appendChild(buttonActive);\n row.appendChild(tdActive);\n\n return row;\n }\n hookupTablesAssessmentResponses() {\n this.hookupTableAssessmentResponsesFieldsResponseQualityMetric();\n this.hookupTableAssessmentResponsesFieldsObedienceLevel();\n this.hookupTableAssessmentResponsesFieldsValueMeasured();\n this.hookupTableAssessmentResponsesFieldsNotes();\n this.hookupTableAssessmentResponsesFieldsActive();\n }\n hookupTableAssessmentResponsesFieldsResponseQualityMetric() {\n let fieldFlag = flagResponseQualityMetric;\n let optionList = Utils.getListFromDict(filterResponseQualityMetrics); // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n let cellSelector = idTableAssessmentResponses + ' td.' + flagResponseQualityMetric;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableAssessmentResponsesFieldsObedienceLevel() {\n let fieldFlag = flagObedienceLevel;\n let optionList = Utils.getListFromDict(filterObedienceLevels); // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n let cellSelector = idTableAssessmentResponses + ' td.' + flagObedienceLevel;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableAssessmentResponsesFieldsValueMeasured() {\n this.hookupChangeHandlerTableCells(idTableAssessmentResponses + ' td.' + flagValueMeasured + ' .' + flagValueMeasured);\n }\n hookupTableAssessmentResponsesFieldsNotes() {\n this.hookupChangeHandlerTableCells(idTableAssessmentResponses + ' td.' + flagNotes + ' .' + flagNotes);\n }\n hookupTableAssessmentResponsesFieldsActive() {\n this.hookupFieldsActive(flagAssessmentResponse, (event, element) => { this.handleClickAddRowTableAssessmentResponses(event, element); });\n }\n handleClickAddRowTableAssessmentResponses(event, button) {\n event.stopPropagation();\n let tableResponses = DOM.getClosestParent(button, \"table\");\n let tbody = tableResponses.querySelector(\":scope > tbody\");\n let row = PageDogAssessment.createNewRowTableAssessmentResponses(null);\n if (tbody.classList.contains(flagIsCollapsed)) return;\n row.classList.remove(flagInitialised);\n row.querySelectorAll('.' + flagInitialised).forEach(function(element) {\n element.classList.remove(flagInitialised);\n });\n let countRows = document.querySelectorAll(idTableAssessmentResponses + ' > tbody > tr').length;\n row.setAttribute(attrIdAssessmentResponse, -1 - countRows);\n tbody.prepend(row);\n tbody.scrollTop = 0;\n this.hookupTablesAssessmentResponses();\n this.postInitialiseAssessmentResponseRowNewCallback(tbody);\n }\n postInitialiseAssessmentResponseRowNewCallback(tbody) {\n let newRows = tbody.querySelectorAll('tr.' + flagRowNew);\n let newestRow = newRows[0];\n let clickableElementsSelector = [\n 'td.' + flagResponseQualityMetric + ' div.' + flagResponseQualityMetric\n , ',td.' + flagObedienceLevel + ' div.' + flagObedienceLevel\n , ',td.' + flagValueMeasured + ' div.' + flagValueMeasured\n , ',td.' + flagNotes + ' div.' + flagNotes\n ].join('');\n newestRow.querySelectorAll(clickableElementsSelector).forEach((clickableElement) => {\n clickableElement.click();\n });\n let countActiveRows = tbody.querySelectorAll('td.' + flagActive + ' .' + flagButton + '.' + flagIcon + '.' + flagActive + '.' + flagDelete).length;\n /*\n newRows.filter(row => {\n let activeButton = row.querySelector('td.' + flagActive + ' .' + flagButton + '.' + flagIcon + '.' + flagActive);\n return activeButton.classList.contains(flagDelete);\n }).length;\n */\n let rowAssessmentCommandModalityLink = DOM.getRowFromElement(tbody);\n let divTrialCount = rowAssessmentCommandModalityLink.querySelector('td.' + flagTrialCount + ' div.' + flagTrialCount);\n divTrialCount.innerText = countActiveRows;\n }\n\n hookupTableAssessmentCommandModalityLinksFieldsActive() {\n this.hookupFieldsActive(flagAssessmentCommandModalityLink, (event, element) => { this.handleClickAddRowTableAssessmentCommandModalityLinks(event, element); });\n }\n handleClickAddRowTableAssessmentCommandModalityLinks(event, button) {\n event.stopPropagation();\n _rowBlankAssessmentCommandModalityLink.setAttribute(attrIdAssessmentCommandModalityLink, -1 - _rowBlankAssessmentCommandModalityLink.getAttribute(attrIdAssessmentCommandModalityLink));\n let tbody = document.querySelector(idTableAssessmentCommandModalityLinks + ' tbody');\n if (tbody.classList.contains(flagIsCollapsed)) return;\n let row = _rowBlankAssessmentCommandModalityLink.cloneNode(true);\n row.classList.remove(flagInitialised);\n row.querySelectorAll('.' + flagInitialised).forEach(function(element) {\n element.classList.remove(flagInitialised);\n });\n let countRows = document.querySelectorAll(idTableAssessmentCommandModalityLinks + ' > tbody > tr').length;\n row.setAttribute(attrIdAssessmentCommandModalityLink, -1 - countRows);\n tbody.prepend(row);\n tbody.scrollTop = 0;\n this.hookupTableAssessmentCommandModalityLinks();\n this.postInitialiseAssessmentCommandModalityLinkRowNewCallback(tbody);\n }\n postInitialiseAssessmentCommandModalityLinkRowNewCallback(tbody) {\n let newRows = tbody.querySelectorAll('tr.' + flagRowNew);\n let newestRow = newRows[0];\n let clickableElementsSelector = [\n 'td.' + flagCommandCategory + ' div.' + flagCommandCategory\n , ',td.' + flagCommand + ' div.' + flagCommand\n , ',td.' + flagCommandModality + ' div.' + flagCommandModality\n , ',td.' + flagBribe + ' div.' + flagBribe\n ].join('');\n newestRow.querySelectorAll(clickableElementsSelector).forEach((clickableElement) => {\n clickableElement.click();\n });\n }\n\n leave() {\n super.leave();\n }\n}\n\n","\nimport API from \"../../api.js\";\nimport BusinessObjects from \"../../lib/business_objects/business_objects.js\";\nimport DOM from \"../../dom.js\";\nimport Events from \"../../lib/events.js\";\nimport TableBasePage from \"../base_table.js\";\nimport Utils from \"../../lib/utils.js\";\nimport Validation from \"../../lib/validation.js\";\nimport DogTableMixinPage from \"./mixin_table.js\";\n\nexport default class PageDogAssessments extends TableBasePage {\n static hash = hashPageDogAssessments;\n static attrIdRowObject = attrIdAssessment;\n callSaveTableContent = API.saveAssessments;\n\n constructor(router) {\n super(router);\n this.dogMixin = new DogTableMixinPage(this);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n hookupFilters() {\n this.sharedHookupFilters();\n this.hookupFilterWeather();\n this.hookupFilterLightingLevel();\n this.hookupFilterLocation();\n this.hookupFilterHandler();\n this.hookupFilterActive();\n }\n hookupFilterWeather() {\n this.hookupFilter(attrIdWeather);\n }\n hookupFilterLightingLevel() {\n this.hookupFilter(attrIdLightingLevel);\n }\n hookupFilterHandler() {\n this.hookupFilter(flagUserHandler);\n }\n\n loadRowTable(rowJson) {\n if (rowJson == null) return;\n if (_verbose) { Utils.consoleLogIfNotProductionEnvironment(\"applying data row: \", rowJson); }\n }\n getJsonRow(row) {\n if (row == null) return;\n let inputTemperatureCelcius = row.querySelector('td.' + flagTemperatureCelcius + ' input');\n let inputNotes = row.querySelector('td.' + flagNotes + ' textarea');\n let buttonActive = row.querySelector('td.' + flagActive + ' .' + flagActive);\n\n let jsonRow = {};\n jsonRow[attrIdAssessment] = row.getAttribute(attrIdAssessment);\n jsonRow[attrIdWeather] = this.getIdWeatherRow(row);\n jsonRow[attrIdLightingLevel] = this.getIdLightingLevelRow(row);\n jsonRow[flagTemperatureCelcius] = DOM.getElementAttributeValueCurrent(inputTemperatureCelcius);\n jsonRow[attrIdLocation] = this.getIdLocationRow(row);\n jsonRow[flagUserHandler] = this.getIdUserHandlerRow(row);\n jsonRow[flagNotes] = DOM.getElementAttributeValueCurrent(inputNotes);\n jsonRow[flagActive] = buttonActive.classList.contains(flagDelete);\n return jsonRow;\n }\n getIdWeatherRow(tr) {\n let elementWeather = tr.querySelector('td.' + flagWeather + ' .' + flagWeather);\n return DOM.getElementAttributeValueCurrent(elementWeather);\n }\n getIdLightingLevelRow(tr) {\n let elementLightingLevel = tr.querySelector('td.' + flagLightingLevel + ' .' + flagLightingLevel);\n return DOM.getElementAttributeValueCurrent(elementLightingLevel);\n }\n getIdLocationRow(tr) {\n let elementLocation = tr.querySelector('td.' + flagLocation + ' .' + flagLocation);\n return DOM.getElementAttributeValueCurrent(elementLocation);\n }\n getIdUserHandlerRow(tr) {\n let elementUserHandler = tr.querySelector('td.' + flagUserHandler + ' .' + flagUserHandler);\n return DOM.getElementAttributeValueCurrent(elementUserHandler);\n }\n initialiseRowNew(tbody, row) {\n \n }\n postInitialiseRowNewCallback(tbody) {\n let newRows = tbody.querySelectorAll('tr.' + flagRowNew);\n let newestRow = newRows[0];\n let clickableElementsSelector = [\n 'td.' + flagDetail + ' .' + flagDetail\n ].join('');\n let detailButton = newestRow.querySelector('td.' + flagDetail + ' .' + flagDetail); /*.forEach((clickableElement) => {\n clickableElement.\n clickableElement.click();\n });\n */\n newestRow.classList.add(flagIsCollapsed);\n detailButton.click();\n // console.log({ newestRow, detailButton });\n }\n\n hookupTableMain() {\n super.hookupTableMain();\n this.hookupFieldsDetail();\n this.hookupFieldsWeather();\n this.hookupFieldsLightingLevel();\n this.hookupFieldsTemperature();\n this.dogMixin.hookupFieldsLocation();\n this.hookupFieldsHandler();\n this.hookupFieldsNotesTable();\n this.hookupFieldsActive();\n }\n hookupFieldsDetail() {\n Events.hookupEventHandler(\n \"click\" // eventType\n , idTableMain + ' td.' + flagDetail + ' button.' + flagDetail // selector\n , (event, element) => {\n let parentTr = DOM.getRowFromElement(element);\n let idAssessment = parentTr.getAttribute(attrIdAssessment);\n /*\n console.log(\"click detail\");\n console.log({ element, parentTr, idAssessment });\n const data = {};\n const params = {\n [attrIdAssessment]: idAssessment\n };\n API.request(\n hashPageDogAssessment // hashEndpoint\n , 'GET' // method\n , data\n , params\n );\n */\n\n let formFilters = TableBasePage.getFormFilters();\n let filtersJson = DOM.convertForm2JSON(formFilters);\n filtersJson[attrIdAssessment] = idAssessment;\n Utils.consoleLogIfNotProductionEnvironment(\"hookupFieldsDetail\");\n Utils.consoleLogIfNotProductionEnvironment(\"formFilters\");\n Utils.consoleLogIfNotProductionEnvironment(formFilters);\n Utils.consoleLogIfNotProductionEnvironment(\"filtersJson\");\n Utils.consoleLogIfNotProductionEnvironment(filtersJson);\n this.leave();\n API.goToHash(hashPageDogAssessment, filtersJson);\n }\n );\n }\n hookupFieldsWeather() {\n this.hookupTableCellDdlPreviews(\n flagWeather\n , Utils.getListFromDict(filterWeathers) // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n );\n }\n hookupFieldsLightingLevel() {\n this.hookupTableCellDdlPreviews(\n flagLightingLevel\n , Utils.getListFromDict(filterLightingLevels) // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n );\n }\n hookupFieldsTemperature() {\n this.hookupChangeHandlerTableCells(idTableMain + ' td.' + flagTemperatureCelcius + ' input.' + flagTemperatureCelcius);\n }\n hookupFieldsHandler() {\n this.hookupTableCellDdlPreviews(\n flagUserHandler\n , Utils.getListFromDict(filterUserHandlers) // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n );\n }\n\n leave() {\n super.leave();\n }\n}\n\n","import BasePage from \"../base.js\";\n\nexport default class PageAccessibilityReport extends BasePage {\n static hash = hashPageAccessibilityReport;\n\n constructor(router) {\n super(router);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n leave() {\n super.leave();\n }\n}\n","import BasePage from \"../base.js\";\n\nexport default class PageAccessibilityStatement extends BasePage {\n static hash = hashPageAccessibilityStatement;\n\n constructor(router) {\n super(router);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n leave() {\n super.leave();\n }\n}\n","\nimport BasePage from \"../base.js\";\n\nexport default class PageLicense extends BasePage {\n static hash = hashPageLicense;\n\n constructor(router) {\n super(router);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n leave() {\n super.leave();\n }\n}","\nimport BasePage from \"../base.js\";\n\nexport default class PagePrivacyPolicy extends BasePage {\n static hash = hashPagePrivacyPolicy;\n\n constructor(router) {\n super(router);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n leave() {\n super.leave();\n }\n}","import BasePage from \"../base.js\";\n\nexport default class PageRetentionSchedule extends BasePage {\n static hash = hashPageDataRetentionSchedule;\n\n constructor(router) {\n super(router);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n leave() {\n super.leave();\n }\n}\n","\n// Pages\n// Core\nimport PageHome from './pages/core/home.js';\nimport PageContact from './pages/core/contact.js';\nimport PageContactSuccess from './pages/core/contact-success.js';\n// Dog\nimport PageDogHome from './pages/dog/home.js';\nimport PageDogCommandCategories from './pages/dog/command_categories.js';\nimport PageDogCommands from './pages/dog/commands.js';\nimport PageDogDogCommandLinks from './pages/dog/dog_command_links.js';\n// import PageDogDogs from './pages/dog/dogs.js';\nimport PageDogLocations from './pages/dog/locations.js';\nimport PageDogButtonIcons from './pages/dog/button_icons.js';\nimport PageDogCommandButtonLinks from './pages/dog/command_button_links.js';\nimport PageDogAssessment from './pages/dog/assessment.js';\nimport PageDogAssessments from './pages/dog/assessments.js';\n// Legal\nimport PageAccessibilityReport from './pages/legal/accessibility_report.js';\nimport PageAccessibilityStatement from './pages/legal/accessibility_statement.js';\nimport PageLicense from './pages/legal/license.js';\nimport PagePrivacyPolicy from './pages/legal/privacy_policy.js';\nimport PageRetentionSchedule from './pages/legal/retention_schedule.js';\n// User\n// import PageUserLogin from './pages/user/login.js';\n// import PageUserLogout from './pages/user/logout.js';\n// import PageUserAccount from './pages/user/account.js';\n\nimport API from './api.js';\nimport DOM from './dom.js';\nimport Utils from './lib/utils.js';\n\n\nexport default class Router {\n constructor() {\n // Pages\n this.pages = {};\n // Core\n this.pages[hashPageHome] = { name: 'PageHome', module: PageHome };\n this.pages[hashPageContact] = { name: 'PageContact', module: PageContact };\n this.pages[hashPageContactSuccess] = { name: 'PageContactSuccess', module: PageContactSuccess };\n // Dog\n this.pages[hashPageDogHome] = { name: 'PageDogHome', module: PageDogHome };\n this.pages[hashPageDogCommandCategories] = { name: 'PageDogCommands', module: PageDogCommandCategories };\n this.pages[hashPageDogCommands] = { name: 'PageDogCommands', module: PageDogCommands };\n this.pages[hashPageDogDogCommandLinks] = { name: 'PageDogDogCommandLinks', module: PageDogDogCommandLinks };\n // this.pages[hashPageDogDogs] = { name: 'PageDogDogs', module: PageDogDogs };\n this.pages[hashPageDogLocations] = { name: 'PageDogLocations', module: PageDogLocations };\n this.pages[hashPageDogButtonIcons] = { name: 'PageDogButtonIcons', module: PageDogButtonIcons };\n this.pages[hashPageDogCommandButtonLinks] = { name: 'PageDogCommandButtonLinks', module: PageDogCommandButtonLinks };\n this.pages[hashPageDogAssessment] = { name: 'PageDogAssessment', module: PageDogAssessment };\n this.pages[hashPageDogAssessments] = { name: 'PageDogAssessments', module: PageDogAssessments };\n // Legal\n this.pages[hashPageAccessibilityStatement] = { name: 'PageAccessibilityStatement', module: PageAccessibilityStatement };\n this.pages[hashPageDataRetentionSchedule] = { name: 'PageDataRetentionSchedule', module: PageRetentionSchedule };\n this.pages[hashPageLicense] = { name: 'PageLicense', module: PageLicense };\n this.pages[hashPagePrivacyPolicy] = { name: 'PagePrivacyPolicy', module: PagePrivacyPolicy };\n // User\n // this.pages[hashPageUserLogin] = { name: 'PageUserLogin', module: PageUserLogin }; // pathModule: './pages/user/login.js' };\n // this.pages[hashPageUserLogout] = { name: 'PageUserLogout', module: PageUserLogout }; // pathModule: './pages/user/logout.js' };\n // this.pages[hashPageUserAccount] = { name: 'PageUserAccount', module: PageUserAccount }; // pathModule: './pages/user/account.js' };\n // Routes\n this.routes = {};\n // Core\n this.routes[hashPageHome] = (isPopState = false) => this.navigateToHash(hashPageHome, isPopState);\n this.routes[hashPageContact] = (isPopState = false) => this.navigateToHash(hashPageContact, isPopState);\n this.routes[hashPageContactSuccess] = (isPopState = false) => this.navigateToHash(hashPageContactSuccess, isPopState);\n // Dog\n this.routes[hashPageDogHome] = (isPopState = false) => this.navigateToHash(hashPageDogHome, isPopState);\n this.routes[hashPageDogCommandCategories] = (isPopState = false) => this.navigateToHash(hashPageDogCommandCategories, isPopState);\n this.routes[hashPageDogCommands] = (isPopState = false) => this.navigateToHash(hashPageDogCommands, isPopState);\n this.routes[hashPageDogDogCommandLinks] = (isPopState = false) => this.navigateToHash(hashPageDogDogCommandLinks, isPopState);\n // this.routes[hashPageDogDogs] = (isPopState = false) => this.navigateToHash(hashPageDogDogs, isPopState);\n this.routes[hashPageDogLocations] = (isPopState = false) => this.navigateToHash(hashPageDogLocations, isPopState);\n this.routes[hashPageDogButtonIcons] = (isPopState = false) => this.navigateToHash(hashPageDogButtonIcons, isPopState);\n this.routes[hashPageDogCommandButtonLinks] = (isPopState = false) => this.navigateToHash(hashPageDogCommandButtonLinks, isPopState);\n this.routes[hashPageDogAssessment] = (isPopState = false) => this.navigateToHash(hashPageDogAssessment, isPopState);\n this.routes[hashPageDogAssessments] = (isPopState = false) => this.navigateToHash(hashPageDogAssessments, isPopState);\n // Legal\n this.routes[hashPageAccessibilityStatement] = (isPopState = false) => this.navigateToHash(hashPageAccessibilityStatement, isPopState);\n this.routes[hashPageDataRetentionSchedule] = (isPopState = false) => this.navigateToHash(hashPageDataRetentionSchedule, isPopState);\n this.routes[hashPageLicense] = (isPopState = false) => this.navigateToHash(hashPageLicense, isPopState);\n this.routes[hashPagePrivacyPolicy] = (isPopState = false) => this.navigateToHash(hashPagePrivacyPolicy, isPopState);\n // User\n // this.routes[hashPageUserLogin] = (isPopState = false) => this.navigateToHash(hashPageUserLogin, isPopState);\n // this.routes[hashPageUserLogout] = (isPopState = false) => this.navigateToHash(hashPageUserLogout, isPopState);\n // this.routes[hashPageUserAccount] = (isPopState = false) => this.navigateToHash(hashPageUserAccount, isPopState);\n this.initialize();\n }\n loadPage(hashPage, isPopState = false) {\n const PageClass = this.getClassPageFromHash(hashPage);\n this.currentPage = new PageClass(this);\n this.currentPage.initialize(isPopState);\n window.addEventListener('beforeunload', () => this.currentPage.leave());\n }\n getClassPageFromHash(hashPage) {\n \n let pageJson = this.pages[hashPage];\n try {\n const module = pageJson.module;\n return module; \n }\n catch (error) {\n Utils.consoleLogIfNotProductionEnvironment(\"this.pages: \", this.pages);\n console.error('Page not found:', hashPage);\n throw error;\n }\n }\n initialize() {\n window.addEventListener('popstate', this.handlePopState.bind(this));\n }\n handlePopState(event) {\n this.loadPageCurrent();\n }\n loadPageCurrent() {\n const hashPageCurrent = DOM.getHashPageCurrent();\n this.loadPage(hashPageCurrent);\n }\n navigateToHash(hash, data = null, params = null, isPopState = false) {\n let url = API.getUrlFromHash(hash, params);\n history.pushState({data: data, params: params}, '', hash);\n API.goToUrl(url, data);\n }\n \n navigateToUrl(url, data = null, appendHistory = true) {\n // this.beforeLeave();\n if (appendHistory) history.pushState(data, '', url);\n url = API.parameteriseUrl(url, data);\n API.goToUrl(url);\n }\n\n static loadPageBodyFromResponse(response) {\n DOM.loadPageBody(response.data);\n }\n}\n\nexport const router = new Router();\n","\n'use strict';\n\nimport DOM from './dom.js';\nimport Router from './router.js';\n\n\nclass App {\n constructor() {\n this.dom = new DOM();\n this.router = new Router();\n }\n\n initialize() {\n this.setupEventListeners();\n this.start();\n }\n\n setupEventListeners() {\n // document.addEventListener('click', this.handleGlobalClick.bind(this));\n }\n\n handleGlobalClick(event) {\n }\n\n start() {\n this.initPageCurrent();\n }\n\n initPageCurrent() {\n this.router.loadPageCurrent();\n }\n \n}\n\nconst app = new App();\n\nfunction domReady(fn) {\n if (document.readyState !== 'loading') {\n fn();\n } else {\n document.addEventListener('DOMContentLoaded', fn);\n }\n}\n\ndomReady(() => {\n app.initialize();\n});\n\nwindow.app = app;\n\nexport default app;","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};"],"names":["Validation","_classCallCheck","_createClass","key","value","isEmpty","object","undefined","length","isString","trim","i","isValidNumber","positiveOnly","isNaN","parseFloat","getDataContentType","params","data","contentType","JSON","stringify","Data","ContentType","arrayContainsItem","array","itemValue","hasItem","isJQueryElementArray","jQuery","document","querySelectorAll","is","isDate","Date","getTime","dictHasKey","d","k","areEqualDicts","dict1","dict2","keys1","Object","keys","keys2","_i3","_keys","imageExists","url","callback","img","Image","onload","onerror","src","toFixedOrDefault","decimalPlaces","defaultValue","arguments","toFixed","default","Utils","DOM","setElementAttributesValuesCurrentAndPrevious","element","setElementAttributeValueCurrent","setElementAttributeValuePrevious","setAttribute","attrValueCurrent","attrValuePrevious","setElementValuesCurrentAndPrevious","setElementValueCurrent","tagName","toUpperCase","type","checked","textContent","setElementValueCurrentIfEmpty","getElementValueCurrent","getCellFromElement","closest","getRowFromElement","flagRow","selector","getClosestParent","parentSelector","parent","parentElement","matches","convertForm2JSON","elementForm","dataForm","containersFilter","flagContainerInput","flagFilter","containerFilter","labelFilter","keyFilter","filter","indexFilter","querySelector","getAttribute","concat","loadPageBody","contentNew","pageBody","idPageBody","innerHTML","getHashPageCurrent","hashPageCurrent","body","dataset","page","updateAndCheckIsElementDirty","isElementDirty","isDirty","handleDirtyElement","toggleElementHasClassnameFlag","flagDirty","elementHasFlag","flag","elementAlreadyHasFlag","classList","contains","add","remove","hasDirtyChildrenContainer","container","hasDirtyChildrenNotDeletedContainer","flagDelete","returnVal","flagButton","flagActive","getElementAttributeValueCurrent","flagCheckbox","flagIsChecked","getElementAttributeValuePrevious","scrollToElement","scrollTop","offset","top","isElementInContainer","containerBounds","getBoundingClientRect","elementBounds","left","height","width","alertError","errorType","errorText","alert","createOptionUnselectedProductVariation","_defineProperty","flagProductVariationType","flagNameAttrOptionText","flagName","flagNameAttrOptionValue","attrIdProductVariationType","flagProductVariation","attrIdProductVariation","createOption","optionJson","text","option","createElement","selected","escapeHtml","div","unescapeHtml","html","innerText","Events","initialiseEventHandler","selectorElement","classInitialised","eventHandler","forEach","hookupEventHandler","eventType","flagInitialised","addEventListener","event","stopPropagation","LocalStorage","getLocalStorage","parse","localStorage","getItem","setLocalStorage","newLS","setItem","_regeneratorRuntime","e","t","r","prototype","n","hasOwnProperty","o","defineProperty","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","getPrototypeOf","v","values","g","defineIteratorMethods","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","ownKeys","getOwnPropertySymbols","getOwnPropertyDescriptor","apply","_objectSpread","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","asyncGeneratorStep","_asyncToGenerator","_next","_throw","_defineProperties","_toPrimitive","toPrimitive","String","Number","API","getCsrfToken","idCSRFToken","_request","_callee","hashEndpoint","csrfToken","options","response","_args","_callee$","_context","getUrlFromHash","headers","flagCsrfToken","fetch","ok","status","json","t0","console","error","request","_x","hash","hashPageHome","parameteriseUrl","_pathHost","URLSearchParams","toString","goToUrl","window","location","href","goToHash","_loginUser","_callee2","_callee2$","_context2","flagCallback","hashPageUserLogin","loginUser","_saveCommandCategories","_callee3","commandCategories","formFilters","comment","dataRequest","_callee3$","_context3","flagFormFilters","flagCommandCategory","flagComment","hashSaveDogCommandCategory","saveCommandCategories","_x2","_x3","_x4","_saveCommands","_callee4","commands","_callee4$","_context4","flagCommand","hashSaveDogCommand","saveCommands","_x5","_x6","_x7","_saveDogCommandLinks","_callee5","dogCommandLinks","_callee5$","_context5","flagDogCommandLink","hashSaveDogDogCommandLink","saveDogCommandLinks","_x8","_x9","_x10","_saveLocations","_callee6","locations","_callee6$","_context6","flagLocation","hashSaveDogLocation","saveLocations","_x11","_x12","_x13","_saveButtonIcons","_callee7","buttonIcons","_callee7$","_context7","flagButtonIcon","hashSaveDogButtonIcon","saveButtonIcons","_x14","_x15","_x16","_saveCommandButtonLinks","_callee8","links","_callee8$","_context8","flagCommandButtonLink","hashSaveDogCommandButtonLink","saveCommandButtonLinks","_x17","_x18","_x19","_saveAssessments","_callee9","assessments","_callee9$","_context9","flagAssessment","hashSaveDogAssessment","saveAssessments","_x20","_x21","_x22","_saveAssessmentsDistractionsAndResponses","_callee10","filtersJson","_callee10$","_context10","attrIdAssessment","hashSaveDogAssessmentDistractionAndResponse","saveAssessmentsDistractionsAndResponses","_x23","_x24","_x25","getListFromDict","dict","list","consoleLogIfNotProductionEnvironment","message","environment","is_production","log","OverlayConfirm","hookup","callbackSuccess","idOverlayConfirm","flagCancel","buttonCancel","overlay","style","visibility","flagSubmit","buttonConfirm","textarea","show","flagIsCollapsed","BusinessObjects","OverlayError","BasePage","router","title","titlePageCurrent","initialize","sharedInitialize","logInitialisation","hookupCommonElements","hookupLogos","hookupNavigation","hookupOverlays","idButtonHamburger","overlayHamburger","idOverlayHamburger","flagExpanded","hookupButtonsNavHome","hookupButtonsNavContact","hookupButtonsNavUserAccount","hookupButtonsNavUserLogout","hookupButtonsNavUserLogin","hookupButtonsNavDogHome","hookupButtonsNavDogCommandCategories","hookupButtonsNavDogCommands","hookupButtonsNavDogDogCommandLinks","hookupButtonsNavDogDogs","hookupButtonsNavDogLocations","hookupButtonsNavDogButtonIcons","hookupButtonsNavDogCommandButtonLinks","hookupButtonsNavDogAssessments","hookupButtonsNav","flagNavHome","buttonSelector","hashPageNav","_this","button","navigateToHash","flagNavContact","hashPageContact","flagNavUserAccount","hashPageUserAccount","flagNavUserLogout","hashPageUserLogout","_this2","flagNavUserLogin","navigator","leave","Success","Message","flagNavDogHome","hashPageDogHome","flagNavDogCommandCategories","hashPageDogCommandCategories","flagNavDogCommands","hashPageDogCommands","flagNavDogDogCommandLinks","hashPageDogDogCommandLinks","flagNavDogDogs","hashPageDogDogs","flagNavDogLocations","hashPageDogLocations","flagNavDogButtonIcons","hashPageDogButtonIcons","flagNavDogCommandButtonLinks","hashPageDogCommandButtonLinks","flagNavDogAssessments","hashPageDogAssessments","_this3","flagImageLogo","flagLogo","hookupOverlayFromId","idOverlayError","idOverlay","display","hookupButtonSave","_this4","flagContainer","flagSave","target","setLocalStoragePage","dataPage","getLocalStoragePage","toggleShowButtonsSaveCancel","buttonContainerSelector","buttonSave","idButtonSave","idButtonCancel","isDirtyFilter","idTableMain","PageHome","_BasePage","_callSuper","_inherits","_superPropGet","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","_assertThisInitialized","ReferenceError","_get","get","bind","_superPropBase","_setPrototypeOf","_wrapNativeSuper","Map","_isNativeFunction","has","set","Wrapper","_construct","Boolean","valueOf","Function","indexOf","_toArray","_arrayWithHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableRest","_toConsumableArray","_arrayWithoutHoles","_nonIterableSpread","Array","from","isArray","_arrayLikeToArray","_slicedToArray","_iterableToArrayLimit","_createForOfIteratorHelper","_n2","F","test","hi","Or","gi","ne","zr","H","Mt","WeakSet","Ut","en","Fr","self","Blob","_i","URL","webkitURL","createObjectURL","Worker","revokeObjectURL","_unused","encodeURIComponent","mi","Qr","_Qr$v","_window$__svelte","__svelte","Set","wi","pi","yi","bi","Ei","xi","Wt","tn","rn","Je","W","$i","Mr","oe","nn","It","Yt","pe","ze","yt","re","bt","K","ye","et","Ke","St","ki","Zt","Ci","ln","ut","an","Ai","on","Ri","Ii","Et","xt","Pe","Si","Ti","Ni","sn","fn","Li","requestIdleCallback","setTimeout","dt","vt","un","cn","Gt","queueMicrotask","Di","Ur","dn","Pi","vn","Oi","zi","Fi","Mi","Ui","ji","Vi","Bi","qi","Hi","Wi","ue","reactions","equals","rv","wv","He","Yi","hn","ae","ce","Qi","P","Dn","includes","Zi","En","gn","A","ge","el","de","Lt","De","ctx","B","deps","effects","_n","we","Gi","Ji","Se","$n","mn","Ce","Tt","warn","D","Ge","O","Re","Xe","Te","Z","Ki","nodeType","le","Proxy","deleteProperty","isInteger","jr","w","m","z","T","Y","M","_iterator","_step","_step$value","err","Vr","wn","pn","yn","jt","userAgent","Element","Node","__click","__className","__attributes","__style","__e","Text","__t","Jt","createTextNode","me","G","appendChild","Br","Comment","he","after","before","Xi","wt","$t","kt","Oe","Kt","qr","ct","Ie","V","J","bn","Ct","ht","_a$reactions","tl","_unused2","rl","Nt","xn","Wr","At","_m$reactions","nl","Xt","hl","An","Cn","teardown","il","kn","al","ll","first","nodes_start","Rn","$","ol","_ol","Qe","sl","fl","ul","last","Fe","nodes_end","transitions","_f$effects","cl","Vt","_r$e","effect","reaction","Qt","dl","vl","outro","Bt","er","We","map","tr","Rt","_iterator2","_step2","In","gl","_iterator3","_step3","out","_iterator4","_step4","is_global","Hr","Sn","_iterator5","_step5","Tn","Nn","x","Ln","_l","ml","Yr","Pn","defaultPrevented","_iterator6","elements","_step6","__on_r","capture","On","wl","zn","qt","pl","ft","cancelBubble","startsWith","yl","passive","removeEventListener","bl","_iterator7","_step7","ownerDocument","composedPath","__root","assignedSlot","parentNode","host","disabled","_z","_z2","_iterator8","_step8","_loop","currentTarget","rr","content","Ae","ve","importNode","cloneNode","lastChild","El","ee","Fn","Mn","xl","_t$intro","intro","anchor","recover","Ye","_ref","_ref$props","props","events","context","_ref$intro","$$events","_iterator9","_step9","removeChild","Ht","WeakMap","$l","ke","_ref2","_ref3","parseInt","substring","Ze","_t2","kl","$$slots","children","Cl","_r$head","getRootNode","head","id","code","Zr","Al","Rl","removeAttribute","className","toggle","Il","Sl","Gr","hasAttribute","ie","Tl","Un","nodeName","Nl","_e$__attributes","namespaceURI","Jr","Ll","defaultChecked","Kr","Xr","jn","Dl","mt","Pl","C","_Pl","_Pl2","_ref4","be","N","$$legacy","X","se","U","Ol","zl","_e","te","_t$intro2","_r$get","_r$get2","_r$get3","hydrate","component","$$host","sync","_loop2","_Object$keys","_i2","$set","assign","$destroy","$on","_len","_key","Vn","HTMLElement","_HTMLElement","$$ctor","$$s","attachShadow","mode","$$l","$$c","$$l_u","_connectedCallback","_this5","_iterator10","_step10","_i4","_iterator11","_step11","_i5","_a","_iterator13","_step13","$$cn","Fl","$$d","attributes","$$g_p","pt","$$p_d","shadowRoot","$$me","$$r","_iterator12","_step12","reflect","attribute","connectedCallback","attributeChangedCallback","disconnectedCallback","_this6","_this7","find","toLowerCase","childNodes","slot","Ml","_Vn","_this8","Bn","TextEncoder","Ul","Uint8Array","padStart","join","jl","_jl","_args10","now","Math","round","random","qn","algorithm","challenge","salt","signature","_qn","_callee11","_callee11$","_context11","crypto","subtle","digest","encode","t1","Vl","AbortController","promise","signal","aborted","number","took","controller","Bl","Intl","DateTimeFormat","resolvedOptions","timeZone","_unused3","ql","atob","charCodeAt","Hl","floor","Wl","_Wl","_callee13","_args13","_callee13$","_context13","_ref7","_callee12","_callee12$","_context12","decrypt","iv","clearText","TextDecoder","decode","importKey","reject","E","ERROR","VERIFIED","VERIFYING","UNVERIFIED","EXPIRED","Yl","Zl","Gl","Jl","Kl","Xl","Ql","ea","ta","ra","na","ia","la","Lr","Dr","Ee","Me","min","hardwareConcurrency","tt","nr","ir","lr","rt","dispatchEvent","CustomEvent","detail","ar","documentElement","lang","split","Dt","origin","endsWith","Pt","wr","or","Q","ariaLinkLabel","expired","footer","label","verified","verifying","waitAlert","sr","Ue","R","j","nt","je","Ve","fe","xe","Ne","Xn","Qn","Hn","hr","gr","vr","clearTimeout","cr","dr","mr","I","Jn","pluginName","Ot","pr","it","$e","requestAnimationFrame","fr","btoa","_i6","_xe","destroy","ur","lt","Wn","_Wn","L","_","b","S","q","_L","qe","_L2","globalThis","Response","verifyurl","Er","Yn","Zn","blockedCountries","classifier","disableRules","email","expectedCountries","expectedLanguages","fields","ipAddress","Gn","reduce","replace","RegExp","_iterator14","altchaPlugins","_step14","clarify","dispatch","getConfiguration","xr","getFloatingAnchor","$r","getState","kr","solve","br","setState","Le","setFloatingAnchor","Cr","verify","_console","_len2","_key2","some","Kn","reportValidity","gt","_i7","_xe2","onErrorChange","preventDefault","requestSubmit","_r","_i8","_xe3","onStateChange","clientHeight","clientWidth","bottom","max","ei","_ei","_Zn","ot","st","vi","Pr","payload","classification","yr","_br","ti","maxnumber","solution","obfuscated","t2","t3","t4","_ti","_i10","_b2","_p","_args6","ceil","altchaCreateWorker","all","_i9","_b","postMessage","start","terminate","_it","auto","blockspam","customfetch","floatinganchor","delay","floatingoffset","floating","expire","challengeurl","debug","hidefooter","hidelogo","mockerror","refetchonexpire","spamfilter","strings","workers","workerurl","ri","state","_$e","_ref6","Ar","Rr","at","zt","Ir","ni","_t","Sr","Be","__change","Ft","ii","li","ai","oi","si","Tr","fi","Nr","ui","ci","di","required","configure","getPlugin","challengejson","plugins","customElements","Altcha","PageContact","hookupButtonSubmitFormContactUs","flagButtonPrimary","PageContactSuccess","hashPageContactSuccess","PageDogHome","hookupDogHome","getOptionJsonFromObjectJsonAndKeys","objectJson","keyText","keyValue","valueSelected","getOptionJsonFromObjectJson","getObjectText","getListObjectsFromIdDictAndCsv","idDict","idCsv","listObjects","ids","msgError","labelError","idLabelError","TableBasePage","cursorYInitial","rowInitial","placeholder","dragSrcEl","dragSrcRow","hookupTableCellDdls","isPopState","isSinglePageApp","hookupFilters","hookupButtonsSaveCancel","hookupTableMain","saveRecordsTableDirtySinglePageApp","saveRecordsTableDirty","filters","getFormFilters","filtersDefault","callFilterTableContent","sharedHookupFilters","hookupButtonApplyFilters","hookupSearchTextFilter","hookupFilterActive","filterSelector","idFormFilters","flagActiveOnly","filterActiveOld","parentDiv","isChecked","filterActiveNew","filterActive","svgElement","wasChecked","handleChangeFilter","filterValuePrevious","hookupFilter","filterFlag","handler","areDirtyFilters","tbody","rows","row","dirtyInputs","dirtyInput","isDirtyLabel","initialisedElements","initialisedElement","updateAndToggleShowButtonsSaveCancel","hookupFilterIsNotEmpty","flagIsNotEmpty","idButtonApplyFilters","flagSearch","hookupFilterDog","attrIdDog","hookupFilterCommandCategory","attrIdCommandCategory","filterCommandCategory","idCommandCategory","filterCommands","commandsInCategory","command","sortedCommands","sort","localeCompare","filterCommand","idCommandPrevious","Event","hookupFilterCommand","attrIdCommand","hookupFilterLocation","attrIdLocation","callbackLoadTableContent","table","getTableMain","bodyTable","rowsJson","flagRows","every","display_order","loadRowTable","rowJson","getAndLoadFilteredTableContentSinglePageApp","hookupButtonCancel","records","getTableRecords","formElement","idTextareaConfirm","callSaveTableContent","flagStatus","flagSuccess","_verbose","flagMessage","_this9","dirtyOnly","record","getJsonRow","_this10","_this11","handleClickAddRowTable","_rowBlank","attrIdRowObject","countRows","initialiseRowNew","prepend","postInitialiseRowNewCallback","_this12","cacheRowBlank","selectorRowNew","flagRowNew","rowBlankTemp","initialiseSliderDisplayOrderRowNew","slidersDisplayOrder","flagDisplayOrder","flagSlider","maxDisplayOrder","slider","sliderDisplayOrder","hookupSlidersDisplayOrderTable","selectorDisplayOrder","hookupChangeHandlerTableCells","inputSelector","_this13","handleChangeNestedElementCellTable","input","wasDirtyParentRows","getAllIsDirtyRowsInParentTree","wasDirtyElement","isDirtyElement","cascadeChangedIsDirtyNestedElementCellTable","isDirtyRow","wasDirtyRow","shift","hookupChangeHandlerTableCellsWhenNotCollapsed","_this14","hookupFieldsCodeTable","flagCode","hookupFieldsNameTable","hookupFieldsDescriptionTable","flagDescription","hookupFieldsNotesTable","flagNotes","hookupFieldsActive","_this15","flagTable","handleClickRowNew","selectorButton","selectorButtonDelete","selectorButtonUndelete","hookupButtonsRowDelete","hookupButtonsRowUndelete","_this16","changeHandler","handleClickButtonRowDelete","changeEvent","changeElement","_this17","valuePrevious","wasDirty","buttonAddTemplate","idContainerTemplateElements","flagAdd","buttonAdd","replaceWith","_this18","handleClickButtonRowUndelete","_this19","buttonDeleteTemplate","buttonDelete","hookupTdsAccessLevel","hookupTableCellDdlPreviews","flagAccessLevel","accessLevels","fieldFlag","optionList","_this20","cellSelector","ddlHookup","ddlSelector","handleClickTableCellDdlPreview","_this21","optionObjectList","_this22","idSelected","td","ddl","optionObjectJson","toggleColumnCollapsed","flagColumn","isCollapsed","toggleColumnHasClassnameFlag","toggleColumnHeaderCollapsed","hookupFieldsCommandCategory","_this23","idTable","filterCommandCategories","hookupCommandCategoryDdls","_this24","handleChangeCommandCategoryDdl","ddlCategory","idCommandCategoryRowOld","getIdCommandCategoryRow","idCommandCategoryRowNew","idCommandCategoryFilter","getIdCommandCategoryFilter","tdCommand","ddlCommand","hookupFieldsCommand","_this25","parentTr","tdCommandCategory","idCommandCategoryRow","filterCommandList","handleChangeCommandDdl","idCommandNew","getIdCommandRow","commandNew","divCommandCategory","ddlCommandCategory","elementCommandCategory","commandCategoryFilter","commandFilter","valueCurrentCommandCategoryFilter","valueCurrentCommandFilter","getHasCommandCategoryFilter","elementCommand","getIdCommandFilter","idCommand","getHasCommandFilter","idCommandFilter","hookupFieldsDog","flagDog","filterDogs","getIdDogRow","elementDog","columnFlag","isRequiredFlag","classnameFlag","columnTh","columnThHasFlag","toggleColumnHeaderHasClassnameFlag","isDirtyMainTable","DogMixinPage","pageCurrent","hookupLocalStorageDog","DogTableMixinPage","_DogMixinPage","hookupTable","hookupFieldsLocation","filterLocations","PageDogCommandCategories","_TableBasePage","dogMixin","inputCode","inputName","buttonActive","jsonRow","PageDogCommands","inputHandSignalDefaultDescription","flagHandSignalDefaultDescription","inputCanHaveButton","flagCanHaveButton","inputNotes","newRows","newestRow","clickableElementsSelector","clickableElement","click","hookupTextareasHandSignalDefaultDescription","hookupFieldsCanHaveButton","PageDogDogCommandLinks","inputHandSignalDescription","flagHandSignalDescription","attrIdDogCommandLink","hookupTextareasHandSignalDescription","PageDogLocations","flagLocationParent","getIdLocationParentRow","elementLocationParent","hookupFieldsLocationParent","idLocationRow","PageDogButtonIcons","attrIdButtonIcon","flagImage","getIdImageRow","elementImage","hookupFieldsImage","buttonicons","PageDogCommandButtonLinks","hookupFilterButtonShape","hookupFilterColour","hookupFilterButtonIcon","attrIdButtonShape","attrIdColour","attrIdCommandButtonLink","hookupFieldsButtonShape","hookupFieldsColour","hookupFieldsButtonIcon","flagButtonShape","filterButtonShapes","flagColour","filterColours","filterButtonIcons","_rowBlankDistraction","_rowBlankAssessmentCommandModalityLink","PageDogAssessment","idTableAssessment","inputWeather","flagWeather","inputLightingLevel","flagLightingLevel","inputTemeratureCelcius","flagTemperatureCelcius","inputLocation","inputUserHandler","flagUserHandler","idAssessment","attrIdWeather","attrIdLightingLevel","flagDistraction","getDirtyDistractions","flagAssessmentCommandModalityLink","getDirtyAssessmentCommandModalityLinks","dirtyRows","idTableDistractions","dirtyRow","inputDistractionType","distractionType","inputIntensityLevelEmotional","intensityLevelEmotional","inputIntensityLevelScent","intensityLevelScent","inputIntensityLevelSight","intensityLevelSight","inputIntensityLevelSound","intensityLevelSound","inputIntensityLevelTouch","intensityLevelTouch","inputQuantity","quantity","inputProximityMetres","proximityMetres","notes","active","dirtyDistractions","indexRow","_dirtyDistractions$pu","flagDistractionType","flagDistractionIntensityLevelEmotional","flagDistractionIntensityLevelScent","flagDistractionIntensityLevelSight","flagDistractionIntensityLevelSound","flagDistractionIntensityLevelTouch","flagQuantity","flagProximityMetres","flagIcon","attrIdDistraction","attrIdDistractionType","idTableAssessmentCommandModalityLinks","idAssessmentCommandModalityLink","inputCommand","inputCommandModality","commandModality","inputBribe","bribe","inputDistanceFromHandler","distanceFromhandler","inputIsInHearingRangeOfHandler","isInHearingRangeOfHandler","inputIsInScentRangeOfHandler","isInScentRangeOfHandler","inputIsInSightOfHandler","isInSightOfHandler","inputIsOnLead","isOnLead","dirtyLinks","_dirtyLinks$push","attrIdAssessmentCommandModalityLink","flagCommandModality","flagBribe","flagDistanceFromHandlerMetres","flagIsInHearingRangeOfHandler","flagIsInScentRangeOfHandler","flagIsInSightOfHandler","flagIsOnLead","attrIdCommandModality","attrIdBribe","flagAssessmentResponse","getDirtyAssessmentResponses","rowAssessmentCommandModalityLink","idTableAssessmentResponses","inputResponseQualityMetric","responseQualityMetric","inputObedienceLevel","obedienceLevel","inputValueMeasured","valueMeasured","dirtyResponses","flagResponseQualityMetric","flagObedienceLevel","flagValueMeasured","attrIdAssessmentResponse","attrIdResponseQualityMetric","attrIdObedienceLevel","assessment","filterAssessment","hookupTableAssessmentHeader","hookupTableDistractions","hookupTableAssessmentCommandModalityLinks","hookupTableAssessmentFieldWeather","hookupTableAssessmentFieldLightingLevel","hookupTableAssessmentFieldTemperature","hookupTableAssessmentFieldLocation","hookupTableAssessmentFieldUserHandler","hookupTableAssessmentFieldNotes","filterWeathers","filterLightingLevels","filterUserHandlers","hookupTableDistractionsFieldsDistractionType","hookupTableDistractionsFieldsIntensityLevelEmotional","hookupTableDistractionsFieldsIntensityLevelScent","hookupTableDistractionsFieldsIntensityLevelSight","hookupTableDistractionsFieldsIntensityLevelSound","hookupTableDistractionsFieldsIntensityLevelTouch","hookupTableDistractionsFieldsQuantity","hookupTableDistractionsFieldsProximityMetres","hookupTableDistractionsFieldsNotes","hookupTableDistractionsFieldsActive","filterDistractionTypes","filterDistractionIntensityLevels","handleClickAddRowTableDistractions","postInitialiseDistractionRowNewCallback","hookupTableAssessmentCommandModalityLinksFieldsCommandCategory","hookupTableAssessmentCommandModalityLinksFieldsCommand","hookupTableAssessmentCommandModalityLinksFieldsCommandModality","hookupTableAssessmentCommandModalityLinksFieldsBribe","hookupTableAssessmentCommandModalityLinksFieldsDistanceFromHandlerMetres","hookupTableAssessmentCommandModalityLinksFieldsIsInHearingRangeOfHandler","hookupTableAssessmentCommandModalityLinksFieldsIsInScentRangeOfHandler","hookupTableAssessmentCommandModalityLinksFieldsIsInSightOfHandler","hookupTableAssessmentCommandModalityLinksFieldsIsOnLead","hookupTableAssessmentCommandModalityLinksFieldsTrialCount","hookupTableAssessmentCommandModalityLinksFieldsNotes","hookupTableAssessmentCommandModalityLinksFieldsResponses","hookupTableAssessmentCommandModalityLinksFieldsActive","filterCommandModalities","filterBribes","parentTd","responsesTable","flagTableMain","headRow","thResponseQualityMetric","thObedienceLevel","thValueMeasured","thNotes","thActive","templateAddIcon","assessmentCommandModalityLinks","link","assessmentCommandModalityLink","responses","responseKey","createNewRowTableAssessmentResponses","outerHTML","responseRows","hookupTablesAssessmentResponses","hookupTableAssessmentResponsesFieldsResponseQualityMetric","hookupTableAssessmentResponsesFieldsObedienceLevel","hookupTableAssessmentResponsesFieldsValueMeasured","hookupTableAssessmentResponsesFieldsNotes","hookupTableAssessmentResponsesFieldsActive","filterResponseQualityMetrics","filterObedienceLevels","handleClickAddRowTableAssessmentResponses","tableResponses","postInitialiseAssessmentResponseRowNewCallback","countActiveRows","divTrialCount","flagTrialCount","handleClickAddRowTableAssessmentCommandModalityLinks","postInitialiseAssessmentCommandModalityLinkRowNewCallback","isNew","tdResponseQualityMetric","flagDdlPreview","divResponseQualityMetric","idResponseQualityMetric","tdObedienceLevel","divObedienceLevel","idObedienceLevel","tdValueMeasured","tdNotes","tdActive","templateDeleteIcon","hashPageDogAssessment","PageDogAssessments","hookupFilterWeather","hookupFilterLightingLevel","hookupFilterHandler","inputTemperatureCelcius","getIdWeatherRow","getIdLightingLevelRow","getIdLocationRow","getIdUserHandlerRow","elementWeather","elementLightingLevel","elementLocation","elementUserHandler","flagDetail","detailButton","hookupFieldsDetail","hookupFieldsWeather","hookupFieldsLightingLevel","hookupFieldsTemperature","hookupFieldsHandler","PageAccessibilityReport","hashPageAccessibilityReport","PageAccessibilityStatement","hashPageAccessibilityStatement","PageLicense","hashPageLicense","PagePrivacyPolicy","hashPagePrivacyPolicy","PageRetentionSchedule","hashPageDataRetentionSchedule","Router","pages","module","routes","loadPage","hashPage","PageClass","getClassPageFromHash","currentPage","pageJson","handlePopState","loadPageCurrent","history","pushState","navigateToUrl","appendHistory","loadPageBodyFromResponse","App","dom","setupEventListeners","handleGlobalClick","initPageCurrent","app","domReady","readyState"],"sourceRoot":""} \ No newline at end of file diff --git a/static/docs/dial-gauge-1.jpg b/static/docs/dial-gauge-1.jpg new file mode 100644 index 0000000..274af27 Binary files /dev/null and b/static/docs/dial-gauge-1.jpg differ diff --git a/static/docs/fetch-metrics-logo.png b/static/docs/fetch-metrics-logo.png new file mode 100644 index 0000000..8cc3cc4 Binary files /dev/null and b/static/docs/fetch-metrics-logo.png differ diff --git a/static/docs/fetch-metrics-logo.xcf b/static/docs/fetch-metrics-logo.xcf new file mode 100644 index 0000000..18fadba Binary files /dev/null and b/static/docs/fetch-metrics-logo.xcf differ diff --git a/static/docs/paw-print-solid-black b/static/docs/paw-print-solid-black new file mode 100644 index 0000000..97c8531 Binary files /dev/null and b/static/docs/paw-print-solid-black differ diff --git a/static/docs/robots.txt b/static/docs/robots.txt new file mode 100644 index 0000000..affacb8 --- /dev/null +++ b/static/docs/robots.txt @@ -0,0 +1,6 @@ +User-agent: * +Disallow: /qa +Disallow: /dev +Disallow: /dog + +Sitemap: https://fetch-metrics.co.uk/sitemap.xml \ No newline at end of file diff --git a/static/js/api.js b/static/js/api.js index a109f41..fc75095 100644 --- a/static/js/api.js +++ b/static/js/api.js @@ -125,4 +125,24 @@ export default class API { return await API.request(hashSaveDogCommandButtonLink, 'POST', dataRequest); } + // Assessments + static async saveAssessments(assessments, formFilters, comment) { + let dataRequest = {}; + dataRequest[flagFormFilters] = DOM.convertForm2JSON(formFilters); + dataRequest[flagAssessment] = assessments; + dataRequest[flagComment] = comment; + return await API.request(hashSaveDogAssessment, 'POST', dataRequest); + } + + // Assessments + static async saveAssessmentsDistractionsAndResponses(assessments, formFilters, comment) { + let filtersJson = DOM.convertForm2JSON(formFilters); + filtersJson[attrIdAssessment] = null; + let dataRequest = {}; + dataRequest[flagFormFilters] = filtersJson; + dataRequest[flagAssessment] = assessments; + dataRequest[flagComment] = comment; + return await API.request(hashSaveDogAssessmentDistractionAndResponse, 'POST', dataRequest); + } + } diff --git a/static/js/pages/base.js b/static/js/pages/base.js index 1df50c1..cc1198c 100644 --- a/static/js/pages/base.js +++ b/static/js/pages/base.js @@ -8,6 +8,7 @@ import Utils from "../lib/utils.js"; import OverlayConfirm from "../components/common/temporary/overlay_confirm.js"; import OverlayError from "../components/common/temporary/overlay_error.js"; +import Validation from "../lib/validation.js"; export default class BasePage { constructor(router) { @@ -176,7 +177,7 @@ export default class BasePage { } hookupButtonSave() { - Events.initialiseEventHandler('form.' + flagFilter + ' button.' + flagSave, flagInitialised, (button) => { + Events.initialiseEventHandler('.' + flagContainer + '.' + flagSave + '.' + flagCancel + ' button.' + flagSave, flagInitialised, (button) => { button.addEventListener("click", (event) => { event.stopPropagation(); button = event.target; @@ -200,9 +201,11 @@ export default class BasePage { return LocalStorage.getLocalStorage(this.hash); } - toggleShowButtonsSaveCancel(show, buttonContainerSelector = '.' + flagContainer + '.' + flagSave + '.' + flagCancel) { // , buttonSave = null, buttonCancel = null - let buttonSave = document.querySelector(buttonContainerSelector + ' button.' + flagSave); - let buttonCancel = document.querySelector(buttonContainerSelector + ' button.' + flagCancel); + toggleShowButtonsSaveCancel(show, buttonContainerSelector = null) { // , buttonSave = null, buttonCancel = null + if (Validation.isEmpty(buttonContainerSelector)) buttonContainerSelector = '.' + flagContainer + '.' + flagSave + '.' + flagCancel; + let buttonSave = document.querySelector(buttonContainerSelector + ' ' + idButtonSave); + let buttonCancel = document.querySelector(buttonContainerSelector + ' ' + idButtonCancel); + Utils.consoleLogIfNotProductionEnvironment({ show, buttonContainerSelector, buttonCancel, buttonSave }); if (show) { buttonCancel.classList.remove(flagIsCollapsed); buttonSave.classList.remove(flagIsCollapsed); diff --git a/static/js/pages/base_table.js b/static/js/pages/base_table.js index 994855d..6dbf5c4 100644 --- a/static/js/pages/base_table.js +++ b/static/js/pages/base_table.js @@ -299,7 +299,7 @@ export default class TableBasePage extends BasePage { .catch(error => console.error('Error:', error)); } hookupButtonCancel() { - Events.initialiseEventHandler(idFormFilters + ' button.' + flagCancel, flagInitialised, (button) => { + Events.initialiseEventHandler('.' + flagContainer + '.' + flagSave + '.' + flagCancel + ' button.' + flagCancel, flagInitialised, (button) => { button.addEventListener("click", (event) => { event.stopPropagation(); button = event.target; @@ -756,6 +756,8 @@ export default class TableBasePage extends BasePage { let formFilters = TableBasePage.getFormFilters(); let areDirtyFilters = DOM.hasDirtyChildrenContainer(formFilters); + console.log({ records, isDirtyMainTable, formFilters, areDirtyFilters }); + this.toggleShowButtonsSaveCancel(isDirtyMainTable && !areDirtyFilters); } } diff --git a/static/js/pages/dog/assessment.js b/static/js/pages/dog/assessment.js index 19ab5d4..c241f0b 100644 --- a/static/js/pages/dog/assessment.js +++ b/static/js/pages/dog/assessment.js @@ -14,7 +14,7 @@ var _rowBlankAssessmentCommandModalityLink; export default class PageDogAssessment extends TableBasePage { static hash = hashPageDogAssessment; static attrIdRowObject = attrIdAssessment; - callSaveTableContent = API.saveAssessments; + callSaveTableContent = API.saveAssessmentsDistractionsAndResponses; constructor(router) { super(router); @@ -32,16 +32,189 @@ export default class PageDogAssessment extends TableBasePage { if (rowJson == null) return; if (_verbose) { Utils.consoleLogIfNotProductionEnvironment("applying data row: ", rowJson); } } + getTableRecords(dirtyOnly = false) { + dirtyOnly = true; + let row = document.querySelector(idTableAssessment + ' tbody tr.' + flagAssessment); + return [this.getJsonRow(row)]; + } getJsonRow(row) { + console.log("getJsonRow: ", row); if (row == null) return; - /* - let inputTemperatureCelcius = row.querySelector('td.' + flagTemperatureCelcius + ' input'); - let buttonActive = row.querySelector('td.' + flagActive + ' .' + flagActive); - */ + let inputWeather = row.querySelector(idTableAssessment + ' td.' + flagWeather + ' .' + flagWeather); + let inputLightingLevel = row.querySelector(idTableAssessment + ' td.' + flagLightingLevel + ' .' + flagLightingLevel); + let inputTemeratureCelcius = row.querySelector(idTableAssessment + ' td.' + flagTemperatureCelcius + ' .' + flagTemperatureCelcius); + let inputLocation = row.querySelector(idTableAssessment + ' td.' + flagLocation + ' .' + flagLocation); + let inputUserHandler = row.querySelector(idTableAssessment + ' td.' + flagUserHandler + ' .' + flagUserHandler); + let inputNotes = row.querySelector(idTableAssessment + ' td.' + flagNotes + ' .' + flagNotes); + // let buttonActive = row.querySelector(idTableAssessment + ' td.' + flagActive + ' .' + flagButton + '.' + flagIcon + '.' + flagActive); + let idAssessment = row.getAttribute(attrIdAssessment); let jsonRow = {}; - jsonRow[attrIdAssessment] = row.getAttribute(attrIdAssessment); + jsonRow[attrIdAssessment] = idAssessment; + jsonRow[attrIdWeather] = DOM.getElementAttributeValueCurrent(inputWeather); + jsonRow[attrIdLightingLevel] = DOM.getElementAttributeValueCurrent(inputLightingLevel); + jsonRow[flagTemperatureCelcius] = DOM.getElementAttributeValueCurrent(inputTemeratureCelcius); + jsonRow[attrIdLocation] = DOM.getElementAttributeValueCurrent(inputLocation); + jsonRow[flagUserHandler] = DOM.getElementAttributeValueCurrent(inputUserHandler); + jsonRow[flagNotes] = DOM.getElementAttributeValueCurrent(inputNotes); + jsonRow[flagActive] = true; // buttonActive.classList.contains(flagDelete); + jsonRow[flagDistraction] = this.getDirtyDistractions(idAssessment); + jsonRow[flagAssessmentCommandModalityLink] = this.getDirtyAssessmentCommandModalityLinks(idAssessment); + console.log({ jsonRow }); return jsonRow; } + getDirtyDistractions(idAssessment) { + let dirtyRows = document.querySelectorAll(idTableDistractions + ' tbody tr.' + flagDistraction + '.' + flagDirty); + if (dirtyRows == null || dirtyRows.length == 0) return []; + // dirtyRows = Array.from(dirtyRows); + let dirtyRow, + inputDistractionType, distractionType, + inputIntensityLevelEmotional, intensityLevelEmotional, + inputIntensityLevelScent, intensityLevelScent, + inputIntensityLevelSight, intensityLevelSight, + inputIntensityLevelSound, intensityLevelSound, + inputIntensityLevelTouch, intensityLevelTouch, + inputQuantity, quantity, + inputProximityMetres, proximityMetres, + inputNotes, notes, + buttonActive, active; + console.log('getDirtyDistractions'); + console.log({ dirtyRows }); + let dirtyDistractions = []; + for(let indexRow = 0; indexRow < dirtyRows.length; indexRow++) { + dirtyRow = dirtyRows[indexRow]; + inputDistractionType = dirtyRow.querySelector('td.' + flagDistractionType + ' .' + flagDistractionType); + distractionType = DOM.getElementAttributeValueCurrent(inputDistractionType); + inputIntensityLevelEmotional = dirtyRow.querySelector('td.' + flagDistractionIntensityLevelEmotional + ' .' + flagDistractionIntensityLevelEmotional); + intensityLevelEmotional = DOM.getElementAttributeValueCurrent(inputIntensityLevelEmotional); + inputIntensityLevelScent = dirtyRow.querySelector('td.' + flagDistractionIntensityLevelScent + ' .' + flagDistractionIntensityLevelScent); + intensityLevelScent = DOM.getElementAttributeValueCurrent(inputIntensityLevelScent); + inputIntensityLevelSight = dirtyRow.querySelector('td.' + flagDistractionIntensityLevelSight + ' .' + flagDistractionIntensityLevelSight); + intensityLevelSight = DOM.getElementAttributeValueCurrent(inputIntensityLevelSight); + inputIntensityLevelSound = dirtyRow.querySelector('td.' + flagDistractionIntensityLevelSound + ' .' + flagDistractionIntensityLevelSound); + intensityLevelSound = DOM.getElementAttributeValueCurrent(inputIntensityLevelSound); + inputIntensityLevelTouch = dirtyRow.querySelector('td.' + flagDistractionIntensityLevelTouch + ' .' + flagDistractionIntensityLevelTouch); + intensityLevelTouch = DOM.getElementAttributeValueCurrent(inputIntensityLevelTouch); + inputQuantity = dirtyRow.querySelector('td.' + flagQuantity + ' .' + flagQuantity); + quantity = DOM.getElementAttributeValueCurrent(inputQuantity); + inputProximityMetres = dirtyRow.querySelector('td.' + flagProximityMetres + ' .' + flagProximityMetres); + proximityMetres = DOM.getElementAttributeValueCurrent(inputProximityMetres); + inputNotes = dirtyRow.querySelector('td.' + flagNotes + ' .' + flagNotes); + notes = DOM.getElementAttributeValueCurrent(inputNotes); + buttonActive = dirtyRow.querySelector(idTableDistractions + ' td.' + flagActive + ' .' + flagButton + '.' + flagIcon + '.' + flagActive); + active = buttonActive.classList.contains(flagDelete); + dirtyDistractions.push({ + [attrIdDistraction]: dirtyRow.getAttribute(attrIdDistraction) + , [attrIdAssessment]: idAssessment + , [attrIdDistractionType]: distractionType + , [flagDistractionIntensityLevelEmotional]: intensityLevelEmotional + , [flagDistractionIntensityLevelScent]: intensityLevelScent + , [flagDistractionIntensityLevelSight]: intensityLevelSight + , [flagDistractionIntensityLevelSound]: intensityLevelSound + , [flagDistractionIntensityLevelTouch]: intensityLevelTouch + , [flagQuantity]: quantity + , [flagProximityMetres]: proximityMetres + , [flagNotes]: notes + , [flagActive]: active + }); + }; + return dirtyDistractions; + } + getDirtyAssessmentCommandModalityLinks(idAssessment) { + let dirtyRows = document.querySelectorAll(idTableAssessmentCommandModalityLinks + ' > tbody > tr.' + flagAssessmentCommandModalityLink + '.' + flagDirty); + if (dirtyRows == null || dirtyRows.length == 0) return []; + dirtyRows = Array.from(dirtyRows); + let dirtyRow, idAssessmentCommandModalityLink, + inputCommand, command, + inputCommandModality, commandModality, + inputBribe, bribe, + inputDistanceFromHandler, distanceFromhandler, + inputIsInHearingRangeOfHandler, isInHearingRangeOfHandler, + inputIsInScentRangeOfHandler, isInScentRangeOfHandler, + inputIsInSightOfHandler, isInSightOfHandler, + inputIsOnLead, isOnLead, + inputNotes, notes, + buttonActive, active; + console.log('getDirtyAssessmentCommandModalityLinks'); + console.log({ dirtyRows }); + let dirtyLinks = []; + for(let indexRow = 0; indexRow < dirtyRows.length; indexRow++) { + dirtyRow = dirtyRows[indexRow]; + idAssessmentCommandModalityLink = dirtyRow.getAttribute(attrIdAssessmentCommandModalityLink); + inputCommand = dirtyRow.querySelector('td.' + flagCommand + ' .' + flagCommand); + command = DOM.getElementAttributeValueCurrent(inputCommand); + inputCommandModality = dirtyRow.querySelector('td.' + flagCommandModality + ' .' + flagCommandModality); + commandModality = DOM.getElementAttributeValueCurrent(inputCommandModality); + inputBribe = dirtyRow.querySelector('td.' + flagBribe + ' .' + flagBribe); + bribe = DOM.getElementAttributeValueCurrent(inputBribe); + inputDistanceFromHandler = dirtyRow.querySelector('td.' + flagDistanceFromHandlerMetres + ' .' + flagDistanceFromHandlerMetres); + distanceFromhandler = DOM.getElementAttributeValueCurrent(inputDistanceFromHandler); + inputIsInHearingRangeOfHandler = dirtyRow.querySelector('td.' + flagIsInHearingRangeOfHandler + ' .' + flagIsInHearingRangeOfHandler); + isInHearingRangeOfHandler = DOM.getElementAttributeValueCurrent(inputIsInHearingRangeOfHandler); + inputIsInScentRangeOfHandler = dirtyRow.querySelector('td.' + flagIsInScentRangeOfHandler + ' .' + flagIsInScentRangeOfHandler); + isInScentRangeOfHandler = DOM.getElementAttributeValueCurrent(inputIsInScentRangeOfHandler); + inputIsInSightOfHandler = dirtyRow.querySelector('td.' + flagIsInSightOfHandler + ' .' + flagIsInSightOfHandler); + isInSightOfHandler = DOM.getElementAttributeValueCurrent(inputIsInSightOfHandler); + inputIsOnLead = dirtyRow.querySelector('td.' + flagIsOnLead + ' .' + flagIsOnLead); + isOnLead = DOM.getElementAttributeValueCurrent(inputIsOnLead); + inputNotes = dirtyRow.querySelector('td.' + flagNotes + ' .' + flagNotes); + notes = DOM.getElementAttributeValueCurrent(inputNotes); + buttonActive = dirtyRow.querySelector(idTableAssessmentCommandModalityLinks + ' td.' + flagActive + ' .' + flagButton + '.' + flagIcon + '.' + flagActive); + active = buttonActive.classList.contains(flagDelete); + dirtyLinks.push({ + [attrIdAssessmentCommandModalityLink]: idAssessmentCommandModalityLink + , [attrIdAssessment]: idAssessment + , [attrIdCommand]: command + , [attrIdCommandModality]: commandModality + , [attrIdBribe]: bribe + , [flagDistanceFromHandlerMetres]: distanceFromhandler + , [flagIsInHearingRangeOfHandler]: isInHearingRangeOfHandler + , [flagIsInScentRangeOfHandler]: isInScentRangeOfHandler + , [flagIsInSightOfHandler]: isInSightOfHandler + , [flagIsOnLead]: isOnLead + , [flagNotes]: notes + , [flagActive]: active + , [flagAssessmentResponse]: this.getDirtyAssessmentResponses(dirtyRow, idAssessmentCommandModalityLink) + }); + } + return dirtyLinks; + } + getDirtyAssessmentResponses(rowAssessmentCommandModalityLink, idAssessmentCommandModalityLink) { + let dirtyRows = rowAssessmentCommandModalityLink.querySelectorAll(idTableAssessmentResponses + ' tbody tr.' + flagAssessmentResponse + '.' + flagDirty); + if (dirtyRows == null || dirtyRows.length == 0) return []; + dirtyRows = Array.from(dirtyRows); + let dirtyRow, + inputResponseQualityMetric, responseQualityMetric, + inputObedienceLevel, obedienceLevel, + inputValueMeasured, valueMeasured, + inputNotes, notes, + buttonActive, active; + console.log('getDirtyAssessmentResponses'); + console.log({ dirtyRows }); + let dirtyResponses = []; + for(let indexRow = 0; indexRow < dirtyRows.length; indexRow++) { + dirtyRow = dirtyRows[indexRow]; + inputResponseQualityMetric = dirtyRow.querySelector('td.' + flagResponseQualityMetric + ' .' + flagResponseQualityMetric); + responseQualityMetric = DOM.getElementAttributeValueCurrent(inputResponseQualityMetric); + inputObedienceLevel = dirtyRow.querySelector('td.' + flagObedienceLevel + ' .' + flagObedienceLevel); + obedienceLevel = DOM.getElementAttributeValueCurrent(inputObedienceLevel); + inputValueMeasured = dirtyRow.querySelector('td.' + flagValueMeasured + ' .' + flagValueMeasured); + valueMeasured = DOM.getElementAttributeValueCurrent(inputValueMeasured); + inputNotes = dirtyRow.querySelector('td.' + flagNotes + ' .' + flagNotes); + notes = DOM.getElementAttributeValueCurrent(inputNotes); + buttonActive = dirtyRow.querySelector(idTableAssessmentResponses + ' td.' + flagActive + ' .' + flagButton + '.' + flagIcon + '.' + flagActive); + active = buttonActive.classList.contains(flagDelete); + dirtyResponses.push({ + [attrIdAssessmentResponse]: dirtyRow.getAttribute(attrIdAssessmentResponse) + , [attrIdAssessmentCommandModalityLink]: idAssessmentCommandModalityLink + , [attrIdResponseQualityMetric]: responseQualityMetric + , [attrIdObedienceLevel]: obedienceLevel + , [flagValueMeasured]: valueMeasured + , [flagNotes]: notes + , [flagActive]: active + }); + } + return dirtyResponses; + } initialiseRowNew(tbody, row) { } @@ -58,6 +231,14 @@ export default class PageDogAssessment extends TableBasePage { clickableElement.click(); }); } + callFilterTableContent() { + if (assessment[attrIdAssessment] < 1) { + let formFilters = TableBasePage.getFormFilters(); + let filterAssessment = formFilters.querySelector('#' + attrIdAssessment); + DOM.setElementValueCurrent(filterAssessment, ''); + } + super.callFilterTableContent(); + } hookupTableMain() { super.hookupTableMain(); @@ -72,6 +253,12 @@ export default class PageDogAssessment extends TableBasePage { this.hookupTableAssessmentFieldLocation(); this.hookupTableAssessmentFieldUserHandler(); this.hookupTableAssessmentFieldNotes(); + if (assessment[attrIdAssessment] < 1) { + let tbody = document.querySelector(idTableAssessment + ' tbody'); + let row = tbody.querySelector('tr'); + row.classList.add(flagRowNew); + this.postInitialiseRowNewCallback(tbody); + } } hookupTableAssessmentFieldWeather() { let fieldFlag = flagWeather; @@ -264,7 +451,7 @@ export default class PageDogAssessment extends TableBasePage { this.hookupTableAssessmentCommandModalityLinksFieldsCommand(); this.hookupTableAssessmentCommandModalityLinksFieldsCommandModality(); this.hookupTableAssessmentCommandModalityLinksFieldsBribe(); - this.hookupTableAssessmentCommandModalityLinksFieldsDistanceFromHandler(); + this.hookupTableAssessmentCommandModalityLinksFieldsDistanceFromHandlerMetres(); this.hookupTableAssessmentCommandModalityLinksFieldsIsInHearingRangeOfHandler(); this.hookupTableAssessmentCommandModalityLinksFieldsIsInScentRangeOfHandler(); this.hookupTableAssessmentCommandModalityLinksFieldsIsInSightOfHandler(); @@ -343,8 +530,8 @@ export default class PageDogAssessment extends TableBasePage { , cellSelector ); } - hookupTableAssessmentCommandModalityLinksFieldsDistanceFromHandler() { - this.hookupChangeHandlerTableCells(idTableAssessmentCommandModalityLinks + ' td.' + flagDistanceFromHandler + ' .' + flagDistanceFromHandler); + hookupTableAssessmentCommandModalityLinksFieldsDistanceFromHandlerMetres() { + this.hookupChangeHandlerTableCells(idTableAssessmentCommandModalityLinks + ' td.' + flagDistanceFromHandlerMetres + ' .' + flagDistanceFromHandlerMetres); } hookupTableAssessmentCommandModalityLinksFieldsIsInHearingRangeOfHandler() { this.hookupChangeHandlerTableCells(idTableAssessmentCommandModalityLinks + ' td.' + flagIsInHearingRangeOfHandler + ' .' + flagIsInHearingRangeOfHandler); @@ -369,6 +556,8 @@ export default class PageDogAssessment extends TableBasePage { let selector = idTableAssessmentCommandModalityLinks + ' td.' + flagAssessmentResponse + ' div.' + flagAssessmentResponse; let handler = (event, element) => { let parentTd = DOM.getCellFromElement(element); + let rowAssessmentCommandModalityLink = parentTd.closest('tr.' + flagAssessmentCommandModalityLink); + let idAssessmentCommandModalityLink = rowAssessmentCommandModalityLink.getAttribute(attrIdAssessmentCommandModalityLink); let responsesTable = document.createElement("table"); responsesTable.id = idTableAssessmentResponses.replace("#", ""); responsesTable.classList.add(flagTableMain, flagAssessmentResponse); @@ -401,11 +590,14 @@ export default class PageDogAssessment extends TableBasePage { let body = document.createElement("tbody"); - let assessmentCommandModalityLink = assessment[flagAssessmentCommandModalityLink]; + let assessmentCommandModalityLinks = assessment[flagAssessmentCommandModalityLink].filter(link => link[attrIdAssessmentCommandModalityLink] == idAssessmentCommandModalityLink); + let assessmentCommandModalityLink = (assessmentCommandModalityLinks == null || assessmentCommandModalityLinks.length == 0) ? null : assessmentCommandModalityLinks[0]; let responses = (assessmentCommandModalityLink == null) ? null : assessmentCommandModalityLink[flagAssessmentResponse]; + console.log({ assessmentCommandModalityLinks, responses }); if (responses != null && responses.length > 0) { - for (let response in responses) { + for (let responseKey in Object.keys(responses)) { + let response = responses[responseKey]; let row = PageDogAssessment.createNewRowTableAssessmentResponses(response); body.appendChild(row); } @@ -414,6 +606,21 @@ export default class PageDogAssessment extends TableBasePage { parentTd.innerHTML = responsesTable.outerHTML; + let responseRows = parentTd.querySelectorAll('tbody tr.' + flagAssessmentResponse); + if (responseRows != null && responseRows.length > 0) { + for (let indexRow = 0; indexRow < responseRows.length; indexRow++) { + let row = responseRows[indexRow]; + // let idAssessmentResponse = row.getAttribute(attrIdAssessmentResponse); + + let response = responses[indexRow]; // idAssessmentResponse]; + console.log({ indexRow, row, response }); // idAssessmentResponse, + let inputValueMeasured = row.querySelector('td.' + flagValueMeasured + ' .' + flagValueMeasured); + DOM.setElementValueCurrent(inputValueMeasured, response[flagValueMeasured]); + let inputNotes = row.querySelector('td.' + flagNotes + ' .' + flagNotes); + DOM.setElementValueCurrent(inputNotes, response[flagNotes]); + } + } + this.hookupTablesAssessmentResponses(); }; Events.hookupEventHandler( @@ -426,12 +633,17 @@ export default class PageDogAssessment extends TableBasePage { static createNewRowTableAssessmentResponses(response) { if (response == null) response = { [attrIdAssessmentResponse]: null - , [flagResponseQualityMetric]: 0 - , [flagObedienceLevel]: 0 + , [attrIdResponseQualityMetric]: { + [attrIdResponseQualityMetric]: 0 + } + , [attrIdObedienceLevel]: { + [attrIdObedienceLevel]: 0 + } , [flagValueMeasured]: '' , [flagNotes]: '' , [flagActive]: true }; + console.log({ response }); let isNew = (response[attrIdAssessmentResponse] == null || response[attrIdAssessmentResponse] < 1); let row = document.createElement("tr"); row.classList.add(flagAssessmentResponse); @@ -442,8 +654,10 @@ export default class PageDogAssessment extends TableBasePage { tdResponseQualityMetric.classList.add(flagResponseQualityMetric, flagDdlPreview); let divResponseQualityMetric = document.createElement("div"); divResponseQualityMetric.classList.add(flagResponseQualityMetric); - DOM.setElementAttributesValuesCurrentAndPrevious(divResponseQualityMetric, response[flagResponseQualityMetric]); - divResponseQualityMetric.innerText = response[flagResponseQualityMetric]; + let idResponseQualityMetric = response[attrIdResponseQualityMetric][attrIdResponseQualityMetric]; + let responseQualityMetric = filterResponseQualityMetrics[idResponseQualityMetric]; + DOM.setElementAttributesValuesCurrentAndPrevious(divResponseQualityMetric, idResponseQualityMetric); + divResponseQualityMetric.innerText = (responseQualityMetric == null) ? '' : responseQualityMetric[flagName]; tdResponseQualityMetric.appendChild(divResponseQualityMetric); row.appendChild(tdResponseQualityMetric); @@ -451,8 +665,10 @@ export default class PageDogAssessment extends TableBasePage { tdObedienceLevel.classList.add(flagObedienceLevel, flagDdlPreview); let divObedienceLevel = document.createElement("div"); divObedienceLevel.classList.add(flagObedienceLevel); - DOM.setElementAttributesValuesCurrentAndPrevious(divObedienceLevel, response[flagObedienceLevel]); - divObedienceLevel.innerText = response[flagObedienceLevel]; + let idObedienceLevel = response[attrIdObedienceLevel][attrIdObedienceLevel]; + let obedienceLevel = filterObedienceLevels[idObedienceLevel]; + DOM.setElementAttributesValuesCurrentAndPrevious(divObedienceLevel, idObedienceLevel); + divObedienceLevel.innerText = (obedienceLevel == null) ? '' : obedienceLevel[flagName]; tdObedienceLevel.appendChild(divObedienceLevel); row.appendChild(tdObedienceLevel); @@ -461,8 +677,9 @@ export default class PageDogAssessment extends TableBasePage { let inputValueMeasured = document.createElement("input"); inputValueMeasured.type = "number"; inputValueMeasured.classList.add(flagValueMeasured); - DOM.setElementAttributesValuesCurrentAndPrevious(inputValueMeasured, response[flagValueMeasured]); - inputValueMeasured.value = response[flagValueMeasured]; + let valueMeasured = response[flagValueMeasured]; + DOM.setElementValueCurrent(inputValueMeasured, valueMeasured); + DOM.setElementAttributeValuePrevious(inputValueMeasured, valueMeasured); tdValueMeasured.appendChild(inputValueMeasured); row.appendChild(tdValueMeasured); @@ -470,11 +687,16 @@ export default class PageDogAssessment extends TableBasePage { tdNotes.classList.add(flagNotes, flagDdlPreview); let inputNotes = document.createElement("textarea"); inputNotes.classList.add(flagNotes); - DOM.setElementAttributesValuesCurrentAndPrevious(inputNotes, response[flagNotes]); - inputNotes.value = response[flagNotes]; + let notes = response[flagNotes]; + DOM.setElementValueCurrent(inputNotes, notes); + DOM.setElementAttributeValuePrevious(inputNotes, notes); tdNotes.appendChild(inputNotes); row.appendChild(tdNotes); + console.log(inputValueMeasured.tagName); + console.log(inputNotes.tagName); + console.log({ valueMeasured, notes }); + let tdActive = document.createElement("td"); tdActive.classList.add(flagActive, flagDdlPreview); let templateAddIcon = document.querySelector(idContainerTemplateElements + ' .' + flagButton + '.' + flagIcon + '.' + flagActive + '.' + flagAdd); @@ -531,7 +753,7 @@ export default class PageDogAssessment extends TableBasePage { row.querySelectorAll('.' + flagInitialised).forEach(function(element) { element.classList.remove(flagInitialised); }); - let countRows = document.querySelectorAll(attrIdAssessmentResponse + ' > tbody > tr').length; + let countRows = document.querySelectorAll(idTableAssessmentResponses + ' > tbody > tr').length; row.setAttribute(attrIdAssessmentResponse, -1 - countRows); tbody.prepend(row); tbody.scrollTop = 0; diff --git a/static/js/pages/dog/assessments.js b/static/js/pages/dog/assessments.js index d793cbc..e588844 100644 --- a/static/js/pages/dog/assessments.js +++ b/static/js/pages/dog/assessments.js @@ -84,14 +84,16 @@ export default class PageDogAssessments extends TableBasePage { let newRows = tbody.querySelectorAll('tr.' + flagRowNew); let newestRow = newRows[0]; let clickableElementsSelector = [ - 'td.' + flagWeather + ' div.' + flagWeather - , ',td.' + flagLightingLevel + ' div.' + flagLightingLevel - , ',td.' + flagLocation + ' div.' + flagLocation - , ',td.' + flagUserHandler + ' div.' + flagUserHandler + 'td.' + flagDetail + ' .' + flagDetail ].join(''); - newestRow.querySelectorAll(clickableElementsSelector).forEach((clickableElement) => { + let detailButton = newestRow.querySelector('td.' + flagDetail + ' .' + flagDetail); /*.forEach((clickableElement) => { + clickableElement. clickableElement.click(); }); + */ + newestRow.classList.add(flagIsCollapsed); + detailButton.click(); + // console.log({ newestRow, detailButton }); } hookupTableMain() { diff --git a/templates/components/dog/_row_assessment_command_modality_link.html b/templates/components/dog/_row_assessment_command_modality_link.html index 2bd0c06..8298cde 100644 --- a/templates/components/dog/_row_assessment_command_modality_link.html +++ b/templates/components/dog/_row_assessment_command_modality_link.html @@ -1,6 +1,6 @@ {% if is_blank_row %} - + {% include 'components/dog/_preview_DDL_command_category.html' %} @@ -13,9 +13,9 @@ {% include 'components/dog/_preview_DDL_bribe.html' %} - + @@ -60,7 +60,7 @@ {% include 'components/dog/_td_active.html' %} {% else %} - + {% set command_preview = link.command %} {% set command_category_preview = command_preview.command_category %} @@ -77,12 +77,12 @@ {% include 'components/dog/_preview_DDL_bribe.html' %} - + + class="{{ model.FLAG_DISTANCE_FROM_HANDLER_METRES }}" + {{ model.ATTR_VALUE_CURRENT }}="{{ link.distance_from_handler_metres }}" + {{ model.ATTR_VALUE_PREVIOUS }}="{{ link.distance_from_handler_metres }}" + value="{{ link.distance_from_handler_metres }}" />

How we use your information

-

If you opt in to marketing communications, we will also use your email address to send you updates about our services, ERPNext features, and relevant industry news. You can unsubscribe from these communications at any time.

+

If you opt in to marketing communications, we will also use your email address to send you updates about our services, Fetch Metrics features, and relevant industry news. You can unsubscribe from these communications at any time.

We retain contact form submissions for customer service purposes and retain marketing consent records as required by law. For details about how long we keep your information, please see our data retention schedule.

For full details about how we handle your personal data, please read our Privacy Policy.

diff --git a/templates/pages/dog/_assessment.html b/templates/pages/dog/_assessment.html index fd2982b..e1b054f 100644 --- a/templates/pages/dog/_assessment.html +++ b/templates/pages/dog/_assessment.html @@ -5,6 +5,65 @@ {% set assessment = model.assessments[0] %} +
+ {{ model.form_filters.hidden_tag() }} +
+
+ +
+ {{ model.form_filters.id_assessment.label }} + {{ model.form_filters.id_assessment() }} + {% for error in model.form_filters.id_assessment.errors %} +

{{ error }}

+ {% endfor %} +
+
+ {{ model.form_filters.id_weather.label }} + {{ model.form_filters.id_weather() }} + {% for error in model.form_filters.id_weather.errors %} +

{{ error }}

+ {% endfor %} +
+
+ {{ model.form_filters.id_lighting_level.label }} + {{ model.form_filters.id_lighting_level() }} + {% for error in model.form_filters.id_lighting_level.errors %} +

{{ error }}

+ {% endfor %} +
+
+ {{ model.form_filters.id_location.label }} + {{ model.form_filters.id_location() }} + {% for error in model.form_filters.id_location.errors %} +

{{ error }}

+ {% endfor %} +
+
+ {{ model.form_filters.id_user_handler.label }} + {{ model.form_filters.id_user_handler() }} + {% for error in model.form_filters.id_user_handler.errors %} +

{{ error }}

+ {% endfor %} +
+
+ {{ model.form_filters.active_only.label }} + {{ model.form_filters.active_only() }} + {% for error in model.form_filters.active_only.errors %} +

{{ error }}

+ {% endfor %} + {% set class_name = model.FLAG_FILTER + ' ' + model.FLAG_ACTIVE_ONLY + ' ' + model.FLAG_CHECKBOX %} + {% include 'components/common/buttons/_icon_checkbox.html' %} +
+
+
+
+
@@ -35,8 +94,8 @@ - - {{ model.form_filters.hidden_tag() }} + {% set is_blank_row = (assessment.id_assessment < 1) %} + {% set weather_preview = assessment.weather %} {% include 'components/dog/_preview_DDL_weather.html' %} @@ -108,7 +167,7 @@ Command Command Modality Bribe - Distance From Handler + Distance From Handler In Range Of Handler? On Lead? Trial Count @@ -155,7 +214,8 @@