permission_forge 0.14.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/CHANGELOG.md +1138 -0
- data/LICENSE.txt +21 -0
- data/README.md +356 -0
- data/app/controllers/concerns/permission_forge/acting_admin.rb +17 -0
- data/app/controllers/concerns/permission_forge/api/crud_actions.rb +84 -0
- data/app/controllers/concerns/permission_forge/api/nested_resource_lookup.rb +18 -0
- data/app/controllers/concerns/permission_forge/api/pagination.rb +50 -0
- data/app/controllers/concerns/permission_forge/api/response_renderer.rb +65 -0
- data/app/controllers/concerns/permission_forge/api/serializer_resolver.rb +30 -0
- data/app/controllers/concerns/permission_forge/api_authentication.rb +40 -0
- data/app/controllers/concerns/permission_forge/assignment_authorization.rb +97 -0
- data/app/controllers/concerns/permission_forge/audit_log_gate.rb +55 -0
- data/app/controllers/concerns/permission_forge/basic_authentication.rb +77 -0
- data/app/controllers/concerns/permission_forge/cache_confirmation.rb +32 -0
- data/app/controllers/concerns/permission_forge/forgery_protection.rb +29 -0
- data/app/controllers/concerns/permission_forge/html_format.rb +40 -0
- data/app/controllers/concerns/permission_forge/param_shapes.rb +87 -0
- data/app/controllers/concerns/permission_forge/tenant_required.rb +42 -0
- data/app/controllers/permission_forge/api/audit_events_controller.rb +33 -0
- data/app/controllers/permission_forge/api/base_controller.rb +220 -0
- data/app/controllers/permission_forge/api/dashboard_controller.rb +30 -0
- data/app/controllers/permission_forge/api/permission_set_group_users_controller.rb +51 -0
- data/app/controllers/permission_forge/api/permission_set_groups_controller.rb +71 -0
- data/app/controllers/permission_forge/api/permission_set_rules_controller.rb +37 -0
- data/app/controllers/permission_forge/api/permission_set_users_controller.rb +105 -0
- data/app/controllers/permission_forge/api/permission_sets_controller.rb +87 -0
- data/app/controllers/permission_forge/api/resource_actions_controller.rb +58 -0
- data/app/controllers/permission_forge/api/resource_fields_controller.rb +30 -0
- data/app/controllers/permission_forge/api/resources_controller.rb +56 -0
- data/app/controllers/permission_forge/application_controller.rb +198 -0
- data/app/controllers/permission_forge/assets_controller.rb +97 -0
- data/app/controllers/permission_forge/assignments_controller.rb +266 -0
- data/app/controllers/permission_forge/audit_events_controller.rb +94 -0
- data/app/controllers/permission_forge/bulk_assignments_controller.rb +108 -0
- data/app/controllers/permission_forge/field_lookups_controller.rb +38 -0
- data/app/controllers/permission_forge/home_controller.rb +24 -0
- data/app/controllers/permission_forge/maintenance_controller.rb +13 -0
- data/app/controllers/permission_forge/people_controller.rb +190 -0
- data/app/controllers/permission_forge/permission_set_editor.rb +71 -0
- data/app/controllers/permission_forge/permission_set_group_users_controller.rb +57 -0
- data/app/controllers/permission_forge/permission_set_groups_controller.rb +111 -0
- data/app/controllers/permission_forge/permission_set_rules_controller.rb +97 -0
- data/app/controllers/permission_forge/permission_sets_controller.rb +227 -0
- data/app/controllers/permission_forge/preferences_controller.rb +26 -0
- data/app/controllers/permission_forge/resource_actions_controller.rb +106 -0
- data/app/controllers/permission_forge/resource_fields_controller.rb +129 -0
- data/app/controllers/permission_forge/resources_controller.rb +189 -0
- data/app/controllers/permission_forge/settings_controller.rb +33 -0
- data/app/frontend/permission_forge/brand/apple-touch-icon.png +0 -0
- data/app/frontend/permission_forge/brand/chevron.svg +1 -0
- data/app/frontend/permission_forge/brand/favicon.ico +0 -0
- data/app/frontend/permission_forge/brand/favicon.svg +1 -0
- data/app/frontend/permission_forge/brand/logo-horizontal-dark.svg +1 -0
- data/app/frontend/permission_forge/brand/logo-horizontal-light.svg +1 -0
- data/app/frontend/permission_forge/brand/mark-small.svg +1 -0
- data/app/frontend/permission_forge/brand/mark.svg +1 -0
- data/app/frontend/permission_forge/pf_admin.css +766 -0
- data/app/frontend/permission_forge/pf_admin.js +482 -0
- data/app/helpers/permission_forge/application_helper.rb +167 -0
- data/app/helpers/permission_forge/audit_helper.rb +230 -0
- data/app/helpers/permission_forge/audit_sentences_helper.rb +84 -0
- data/app/helpers/permission_forge/badges_helper.rb +134 -0
- data/app/helpers/permission_forge/changes_helper.rb +117 -0
- data/app/helpers/permission_forge/people_helper.rb +118 -0
- data/app/helpers/permission_forge/sentences_helper.rb +175 -0
- data/app/helpers/permission_forge/settings_helper.rb +152 -0
- data/app/helpers/permission_forge/ui_helper.rb +184 -0
- data/app/models/permission_forge/audit_event.rb +159 -0
- data/app/models/permission_forge/permission_set.rb +100 -0
- data/app/models/permission_forge/permission_set_group.rb +83 -0
- data/app/models/permission_forge/permission_set_group_user.rb +43 -0
- data/app/models/permission_forge/permission_set_rule.rb +99 -0
- data/app/models/permission_forge/permission_set_user.rb +158 -0
- data/app/models/permission_forge/resource.rb +100 -0
- data/app/models/permission_forge/resource_action.rb +58 -0
- data/app/models/permission_forge/resource_field.rb +69 -0
- data/app/views/layouts/permission_forge/application.html.erb +30 -0
- data/app/views/layouts/permission_forge/fragment.html.erb +2 -0
- data/app/views/permission_forge/assignments/_person_options.html.erb +26 -0
- data/app/views/permission_forge/assignments/confirm_destroy.html.erb +24 -0
- data/app/views/permission_forge/assignments/new.html.erb +99 -0
- data/app/views/permission_forge/audit_events/index.html.erb +161 -0
- data/app/views/permission_forge/audit_events/show.html.erb +146 -0
- data/app/views/permission_forge/bulk_assignments/confirm_revoke.html.erb +21 -0
- data/app/views/permission_forge/bulk_assignments/new.html.erb +69 -0
- data/app/views/permission_forge/field_lookups/show.html.erb +32 -0
- data/app/views/permission_forge/home/_audit_card.html.erb +19 -0
- data/app/views/permission_forge/home/_ending_card.html.erb +32 -0
- data/app/views/permission_forge/home/_expired_card.html.erb +34 -0
- data/app/views/permission_forge/home/_privacy_card.html.erb +67 -0
- data/app/views/permission_forge/home/_rules_card.html.erb +23 -0
- data/app/views/permission_forge/home/_stale_card.html.erb +39 -0
- data/app/views/permission_forge/home/_tidy_card.html.erb +18 -0
- data/app/views/permission_forge/home/index.html.erb +69 -0
- data/app/views/permission_forge/people/_access_tab.html.erb +58 -0
- data/app/views/permission_forge/people/_audit_tab.html.erb +93 -0
- data/app/views/permission_forge/people/_effective_field_source.html.erb +11 -0
- data/app/views/permission_forge/people/_effective_tab.html.erb +118 -0
- data/app/views/permission_forge/people/_effective_why.html.erb +48 -0
- data/app/views/permission_forge/people/_why_item.html.erb +19 -0
- data/app/views/permission_forge/people/confirm_remove_all.html.erb +27 -0
- data/app/views/permission_forge/people/consent_preview.html.erb +39 -0
- data/app/views/permission_forge/people/erasure_preview.html.erb +28 -0
- data/app/views/permission_forge/people/index.html.erb +78 -0
- data/app/views/permission_forge/people/show.html.erb +54 -0
- data/app/views/permission_forge/permission_set_groups/confirm_destroy.html.erb +12 -0
- data/app/views/permission_forge/permission_set_groups/index.html.erb +55 -0
- data/app/views/permission_forge/permission_set_groups/show.html.erb +100 -0
- data/app/views/permission_forge/permission_set_rules/_builder.html.erb +145 -0
- data/app/views/permission_forge/permission_set_rules/_value_input.html.erb +42 -0
- data/app/views/permission_forge/permission_set_rules/confirm_destroy.html.erb +13 -0
- data/app/views/permission_forge/permission_set_rules/edit.html.erb +3 -0
- data/app/views/permission_forge/permission_set_rules/new.html.erb +3 -0
- data/app/views/permission_forge/permission_sets/_assignments_tab.html.erb +74 -0
- data/app/views/permission_forge/permission_sets/_audit_tab.html.erb +80 -0
- data/app/views/permission_forge/permission_sets/_conditions_tab.html.erb +83 -0
- data/app/views/permission_forge/permission_sets/_header.html.erb +36 -0
- data/app/views/permission_forge/permission_sets/_records_summary.html.erb +16 -0
- data/app/views/permission_forge/permission_sets/_resource_summary.html.erb +11 -0
- data/app/views/permission_forge/permission_sets/_resources_tab.html.erb +49 -0
- data/app/views/permission_forge/permission_sets/confirm_destroy.html.erb +23 -0
- data/app/views/permission_forge/permission_sets/confirm_switch_mode.html.erb +15 -0
- data/app/views/permission_forge/permission_sets/index.html.erb +83 -0
- data/app/views/permission_forge/permission_sets/new.html.erb +63 -0
- data/app/views/permission_forge/permission_sets/review.html.erb +26 -0
- data/app/views/permission_forge/permission_sets/show.html.erb +50 -0
- data/app/views/permission_forge/resource_actions/_across_sets.html.erb +24 -0
- data/app/views/permission_forge/resource_actions/_add_select.html.erb +12 -0
- data/app/views/permission_forge/resource_actions/_effect.html.erb +25 -0
- data/app/views/permission_forge/resource_actions/_endpoints.html.erb +16 -0
- data/app/views/permission_forge/resource_actions/_form.html.erb +44 -0
- data/app/views/permission_forge/resource_actions/_managed_note.html.erb +11 -0
- data/app/views/permission_forge/resource_actions/confirm_destroy.html.erb +13 -0
- data/app/views/permission_forge/resource_actions/new.html.erb +31 -0
- data/app/views/permission_forge/resource_actions/show.html.erb +39 -0
- data/app/views/permission_forge/resource_fields/_explain.html.erb +24 -0
- data/app/views/permission_forge/resource_fields/show.html.erb +186 -0
- data/app/views/permission_forge/resources/_actions_tab.html.erb +88 -0
- data/app/views/permission_forge/resources/_fields_tab.html.erb +89 -0
- data/app/views/permission_forge/resources/_rules_tab.html.erb +55 -0
- data/app/views/permission_forge/resources/_sync.html.erb +57 -0
- data/app/views/permission_forge/resources/confirm_destroy.html.erb +17 -0
- data/app/views/permission_forge/resources/new.html.erb +57 -0
- data/app/views/permission_forge/resources/show.html.erb +117 -0
- data/app/views/permission_forge/settings/_ladder.html.erb +15 -0
- data/app/views/permission_forge/settings/_row.html.erb +38 -0
- data/app/views/permission_forge/settings/show.html.erb +67 -0
- data/app/views/permission_forge/shared/_across_sets.html.erb +31 -0
- data/app/views/permission_forge/shared/_audit_events.html.erb +36 -0
- data/app/views/permission_forge/shared/_audit_footer.html.erb +16 -0
- data/app/views/permission_forge/shared/_audit_off_note.html.erb +15 -0
- data/app/views/permission_forge/shared/_audit_pagination.html.erb +19 -0
- data/app/views/permission_forge/shared/_audit_refused_note.html.erb +7 -0
- data/app/views/permission_forge/shared/_audit_timeline.html.erb +29 -0
- data/app/views/permission_forge/shared/_crud_cell.html.erb +18 -0
- data/app/views/permission_forge/shared/_dialog_frame.html.erb +11 -0
- data/app/views/permission_forge/shared/_expiry_picker.html.erb +27 -0
- data/app/views/permission_forge/shared/_head_extra.html.erb +3 -0
- data/app/views/permission_forge/shared/_help_banner.html.erb +10 -0
- data/app/views/permission_forge/shared/_level_control.html.erb +18 -0
- data/app/views/permission_forge/shared/_mode_banners.html.erb +22 -0
- data/app/views/permission_forge/shared/_nav.html.erb +12 -0
- data/app/views/permission_forge/shared/_preferences.html.erb +24 -0
- data/app/views/permission_forge/shared/_reason_field.html.erb +20 -0
- data/app/views/permission_forge/shared/_savebar.html.erb +13 -0
- data/app/views/permission_forge/shared/_sheet_frame.html.erb +22 -0
- data/app/views/permission_forge/shared/_sidebar.html.erb +18 -0
- data/app/views/permission_forge/shared/_tech_details.html.erb +20 -0
- data/app/views/permission_forge/shared/_toasts.html.erb +27 -0
- data/app/views/permission_forge/shared/_topbar.html.erb +15 -0
- data/app/views/permission_forge/shared/_user_select.html.erb +16 -0
- data/app/views/permission_forge/shared/audit_refused.html.erb +7 -0
- data/config/locales/permission_forge.en.yml +2115 -0
- data/config/locales/permission_forge.mk.yml +2166 -0
- data/config/locales/permission_forge.sq.yml +2164 -0
- data/config/routes.rb +143 -0
- data/lib/generators/permission_forge/install/install_generator.rb +105 -0
- data/lib/generators/permission_forge/install/templates/initializer.rb.tt +148 -0
- data/lib/generators/permission_forge/install/templates/migration.rb.tt +198 -0
- data/lib/generators/permission_forge/rls/rls_generator.rb +57 -0
- data/lib/generators/permission_forge/rls/templates/enable_permission_forge_rls.rb.tt +15 -0
- data/lib/generators/permission_forge/upgrade/templates/add_admin_ui_columns.rb.tt +8 -0
- data/lib/generators/permission_forge/upgrade/templates/add_audit_events.rb.tt +98 -0
- data/lib/generators/permission_forge/upgrade/templates/add_resource_fields_unique_index.rb.tt +69 -0
- data/lib/generators/permission_forge/upgrade/upgrade_generator.rb +66 -0
- data/lib/permission_forge/admin/action_across_sets.rb +76 -0
- data/lib/permission_forge/admin/action_rows.rb +156 -0
- data/lib/permission_forge/admin/attention_items.rb +207 -0
- data/lib/permission_forge/admin/audit_event_detail.rb +75 -0
- data/lib/permission_forge/admin/audit_log.rb +193 -0
- data/lib/permission_forge/admin/audit_log_days.rb +41 -0
- data/lib/permission_forge/admin/audit_lookups.rb +105 -0
- data/lib/permission_forge/admin/audit_name_history.rb +85 -0
- data/lib/permission_forge/admin/audit_trail.rb +169 -0
- data/lib/permission_forge/admin/bulk_people_matcher.rb +109 -0
- data/lib/permission_forge/admin/change_set.rb +123 -0
- data/lib/permission_forge/admin/change_set_parts/actions.rb +27 -0
- data/lib/permission_forge/admin/change_set_parts/base.rb +58 -0
- data/lib/permission_forge/admin/change_set_parts/context.rb +50 -0
- data/lib/permission_forge/admin/change_set_parts/field_edit.rb +67 -0
- data/lib/permission_forge/admin/change_set_parts/field_levels.rb +71 -0
- data/lib/permission_forge/admin/change_set_parts/new_actions.rb +91 -0
- data/lib/permission_forge/admin/change_set_parts/new_fields.rb +63 -0
- data/lib/permission_forge/admin/change_set_parts/resource_edit.rb +55 -0
- data/lib/permission_forge/admin/change_set_parts/resource_flags.rb +19 -0
- data/lib/permission_forge/admin/change_set_parts/set_attrs.rb +45 -0
- data/lib/permission_forge/admin/change_set_parts/values.rb +20 -0
- data/lib/permission_forge/admin/column_fields.rb +48 -0
- data/lib/permission_forge/admin/conditions_form.rb +78 -0
- data/lib/permission_forge/admin/controller_catalog.rb +166 -0
- data/lib/permission_forge/admin/csv.rb +41 -0
- data/lib/permission_forge/admin/editable_lock.rb +157 -0
- data/lib/permission_forge/admin/effective_access.rb +158 -0
- data/lib/permission_forge/admin/effective_fields.rb +176 -0
- data/lib/permission_forge/admin/expiry_presets.rb +51 -0
- data/lib/permission_forge/admin/exports/document.rb +89 -0
- data/lib/permission_forge/admin/exports/events.rb +51 -0
- data/lib/permission_forge/admin/exports/holdings.rb +118 -0
- data/lib/permission_forge/admin/exports.rb +37 -0
- data/lib/permission_forge/admin/field_across_sets.rb +51 -0
- data/lib/permission_forge/admin/field_detail.rb +112 -0
- data/lib/permission_forge/admin/field_level.rb +74 -0
- data/lib/permission_forge/admin/field_rows.rb +137 -0
- data/lib/permission_forge/admin/last_changes.rb +94 -0
- data/lib/permission_forge/admin/model_catalog.rb +216 -0
- data/lib/permission_forge/admin/people_candidates.rb +108 -0
- data/lib/permission_forge/admin/people_directory.rb +158 -0
- data/lib/permission_forge/admin/permission_set_factory.rb +48 -0
- data/lib/permission_forge/admin/person_label.rb +95 -0
- data/lib/permission_forge/admin/record_id.rb +19 -0
- data/lib/permission_forge/admin/rule_builder.rb +58 -0
- data/lib/permission_forge/admin/rule_form.rb +175 -0
- data/lib/permission_forge/admin/rule_form_input.rb +74 -0
- data/lib/permission_forge/admin/sensitive_columns.rb +68 -0
- data/lib/permission_forge/admin/settings_catalog.rb +261 -0
- data/lib/permission_forge/admin/settings_values.rb +130 -0
- data/lib/permission_forge/api/serializers/audit_event_serializer.rb +27 -0
- data/lib/permission_forge/api/serializers/base_serializer.rb +36 -0
- data/lib/permission_forge/api/serializers/permission_set_group_serializer.rb +12 -0
- data/lib/permission_forge/api/serializers/permission_set_group_user_serializer.rb +11 -0
- data/lib/permission_forge/api/serializers/permission_set_rule_serializer.rb +25 -0
- data/lib/permission_forge/api/serializers/permission_set_serializer.rb +13 -0
- data/lib/permission_forge/api/serializers/permission_set_user_serializer.rb +11 -0
- data/lib/permission_forge/api/serializers/resource_action_serializer.rb +13 -0
- data/lib/permission_forge/api/serializers/resource_field_serializer.rb +14 -0
- data/lib/permission_forge/api/serializers/resource_serializer.rb +15 -0
- data/lib/permission_forge/audit/actor.rb +144 -0
- data/lib/permission_forge/audit/actor_resolver.rb +103 -0
- data/lib/permission_forge/audit/audited_views.rb +208 -0
- data/lib/permission_forge/audit/boot_warnings.rb +58 -0
- data/lib/permission_forge/audit/column_values.rb +56 -0
- data/lib/permission_forge/audit/context.rb +98 -0
- data/lib/permission_forge/audit/detached.rb +62 -0
- data/lib/permission_forge/audit/event_catalog.rb +110 -0
- data/lib/permission_forge/audit/event_query.rb +192 -0
- data/lib/permission_forge/audit/failure.rb +47 -0
- data/lib/permission_forge/audit/field_access.rb +186 -0
- data/lib/permission_forge/audit/gate.rb +167 -0
- data/lib/permission_forge/audit/job_context.rb +32 -0
- data/lib/permission_forge/audit/log_access.rb +36 -0
- data/lib/permission_forge/audit/recorder.rb +168 -0
- data/lib/permission_forge/audit/refusals.rb +61 -0
- data/lib/permission_forge/audit/request_context.rb +152 -0
- data/lib/permission_forge/audit/runtime.rb +178 -0
- data/lib/permission_forge/audit/runtime_emission.rb +135 -0
- data/lib/permission_forge/audit/settings_observer.rb +70 -0
- data/lib/permission_forge/audit/source.rb +54 -0
- data/lib/permission_forge/audit/subscribers/base.rb +69 -0
- data/lib/permission_forge/audit/subscribers/legacy_hooks.rb +97 -0
- data/lib/permission_forge/audit/subscribers/log.rb +45 -0
- data/lib/permission_forge/audit/subscribers.rb +58 -0
- data/lib/permission_forge/audit.rb +302 -0
- data/lib/permission_forge/boot_checks.rb +184 -0
- data/lib/permission_forge/cache/backlog.rb +142 -0
- data/lib/permission_forge/cache/base.rb +200 -0
- data/lib/permission_forge/cache/bulk_invalidation.rb +131 -0
- data/lib/permission_forge/cache/failure.rb +171 -0
- data/lib/permission_forge/cache/handled_errors.rb +82 -0
- data/lib/permission_forge/cache/holder_invalidation.rb +85 -0
- data/lib/permission_forge/cache/invalidation.rb +180 -0
- data/lib/permission_forge/cache/memory_cache.rb +77 -0
- data/lib/permission_forge/cache/null_cache.rb +40 -0
- data/lib/permission_forge/cache/rails_cache.rb +231 -0
- data/lib/permission_forge/cache/rebuild.rb +149 -0
- data/lib/permission_forge/cache/settlement.rb +63 -0
- data/lib/permission_forge/cache/user_keys.rb +206 -0
- data/lib/permission_forge/cache/variant_removal.rb +55 -0
- data/lib/permission_forge/cache/withheld_notice.rb +60 -0
- data/lib/permission_forge/concerns/audited_collection.rb +34 -0
- data/lib/permission_forge/concerns/auto_permission_scoping.rb +158 -0
- data/lib/permission_forge/concerns/controller_action_guard.rb +106 -0
- data/lib/permission_forge/concerns/field_mask_checker.rb +45 -0
- data/lib/permission_forge/concerns/has_active_scope.rb +12 -0
- data/lib/permission_forge/concerns/has_audit_trail.rb +59 -0
- data/lib/permission_forge/concerns/has_permission_set_users.rb +115 -0
- data/lib/permission_forge/concerns/has_tenant_scoping.rb +86 -0
- data/lib/permission_forge/concerns/has_uuid.rb +24 -0
- data/lib/permission_forge/concerns/invalidates_in_batch.rb +207 -0
- data/lib/permission_forge/concerns/invalidates_managed_actions.rb +80 -0
- data/lib/permission_forge/concerns/masked_attributes/alias_access.rb +280 -0
- data/lib/permission_forge/concerns/masked_attributes/store_access.rb +100 -0
- data/lib/permission_forge/concerns/masked_attributes/validation_reads.rb +153 -0
- data/lib/permission_forge/concerns/masked_attributes/virtual_readers.rb +242 -0
- data/lib/permission_forge/concerns/masked_attributes.rb +576 -0
- data/lib/permission_forge/concerns/permission_cache_accessor.rb +416 -0
- data/lib/permission_forge/concerns/permission_scoped_findable.rb +337 -0
- data/lib/permission_forge/concerns/permissioned_user.rb +78 -0
- data/lib/permission_forge/concerns/permissions_memo.rb +160 -0
- data/lib/permission_forge/concerns/permissions_per_context.rb +288 -0
- data/lib/permission_forge/concerns/permissions_regenerator.rb +43 -0
- data/lib/permission_forge/concerns/records_audit_events.rb +286 -0
- data/lib/permission_forge/concerns/resource_permission_checker.rb +116 -0
- data/lib/permission_forge/concerns/validates_column_lengths.rb +69 -0
- data/lib/permission_forge/concerns/validates_dependency.rb +54 -0
- data/lib/permission_forge/conditional_sets.rb +361 -0
- data/lib/permission_forge/configuration/admin_ui_settings.rb +108 -0
- data/lib/permission_forge/configuration/audit_settings.rb +184 -0
- data/lib/permission_forge/configuration/cache_settings.rb +76 -0
- data/lib/permission_forge/configuration/controller_action_settings.rb +112 -0
- data/lib/permission_forge/configuration/gdpr_settings.rb +70 -0
- data/lib/permission_forge/configuration/masked_attributes_settings.rb +83 -0
- data/lib/permission_forge/configuration/permits_attributes_settings.rb +26 -0
- data/lib/permission_forge/configuration/presets.rb +139 -0
- data/lib/permission_forge/configuration/query_scoping_settings.rb +107 -0
- data/lib/permission_forge/configuration/strategy_values.rb +57 -0
- data/lib/permission_forge/configuration/virtual_attributes_settings.rb +65 -0
- data/lib/permission_forge/configuration.rb +624 -0
- data/lib/permission_forge/controller_actions/authorizer.rb +171 -0
- data/lib/permission_forge/controller_actions/managed_index.rb +213 -0
- data/lib/permission_forge/controller_actions/mapping.rb +167 -0
- data/lib/permission_forge/controller_actions.rb +122 -0
- data/lib/permission_forge/deprecation.rb +86 -0
- data/lib/permission_forge/engine.rb +113 -0
- data/lib/permission_forge/execution_state.rb +318 -0
- data/lib/permission_forge/invalidation_batch.rb +206 -0
- data/lib/permission_forge/masked_models.rb +226 -0
- data/lib/permission_forge/masking_sync.rb +271 -0
- data/lib/permission_forge/model_bindings.rb +90 -0
- data/lib/permission_forge/open_transaction.rb +303 -0
- data/lib/permission_forge/operators/constants.rb +41 -0
- data/lib/permission_forge/operators/registry.rb +300 -0
- data/lib/permission_forge/operators/rule_column.rb +120 -0
- data/lib/permission_forge/operators/validations.rb +111 -0
- data/lib/permission_forge/operators/value_casters/number.rb +68 -0
- data/lib/permission_forge/operators/value_casters/temporal.rb +69 -0
- data/lib/permission_forge/operators/value_casters.rb +80 -0
- data/lib/permission_forge/operators/value_typing.rb +115 -0
- data/lib/permission_forge/query_scoping_warnings.rb +68 -0
- data/lib/permission_forge/rake_audit.rb +65 -0
- data/lib/permission_forge/resource_chain.rb +190 -0
- data/lib/permission_forge/rls.rb +209 -0
- data/lib/permission_forge/services/attribute_access_guard.rb +138 -0
- data/lib/permission_forge/services/audit_event_purger.rb +150 -0
- data/lib/permission_forge/services/bulk_permission_set_assignment.rb +108 -0
- data/lib/permission_forge/services/concerns/across_tenants.rb +69 -0
- data/lib/permission_forge/services/concerns/audited_operation.rb +43 -0
- data/lib/permission_forge/services/concerns/clonable.rb +29 -0
- data/lib/permission_forge/services/consent_withdrawal_handler.rb +135 -0
- data/lib/permission_forge/services/dashboard_stats.rb +43 -0
- data/lib/permission_forge/services/data_subject_erasure.rb +306 -0
- data/lib/permission_forge/services/expired_assignment_cleaner.rb +152 -0
- data/lib/permission_forge/services/extra_field_defaults.rb +71 -0
- data/lib/permission_forge/services/field_permission_merger.rb +83 -0
- data/lib/permission_forge/services/filters_response_attributes.rb +144 -0
- data/lib/permission_forge/services/gdpr_field_auditor/text_report.rb +63 -0
- data/lib/permission_forge/services/gdpr_field_auditor.rb +223 -0
- data/lib/permission_forge/services/host_key_guard.rb +110 -0
- data/lib/permission_forge/services/mask_value.rb +93 -0
- data/lib/permission_forge/services/permission_cache_clearer.rb +174 -0
- data/lib/permission_forge/services/permission_hash_builder.rb +305 -0
- data/lib/permission_forge/services/permission_rule_applier.rb +192 -0
- data/lib/permission_forge/services/permission_set_cloner.rb +89 -0
- data/lib/permission_forge/services/permission_set_condition_evaluator.rb +102 -0
- data/lib/permission_forge/services/permission_set_group_cloner.rb +52 -0
- data/lib/permission_forge/services/permits_attributes/nested_records.rb +106 -0
- data/lib/permission_forge/services/permits_attributes.rb +270 -0
- data/lib/permission_forge/services/resource_field_generator.rb +93 -0
- data/lib/permission_forge/services/resource_with_fields_builder.rb +47 -0
- data/lib/permission_forge/services/rls_operator_sql.rb +131 -0
- data/lib/permission_forge/services/rls_policy_generator.rb +365 -0
- data/lib/permission_forge/services/security_audit/action_check.rb +157 -0
- data/lib/permission_forge/services/security_audit/assignment_check.rb +120 -0
- data/lib/permission_forge/services/security_audit/audit_trail_check.rb +166 -0
- data/lib/permission_forge/services/security_audit/base_check.rb +57 -0
- data/lib/permission_forge/services/security_audit/config_check.rb +212 -0
- data/lib/permission_forge/services/security_audit/integrity_check.rb +105 -0
- data/lib/permission_forge/services/security_audit/personal_data_check.rb +79 -0
- data/lib/permission_forge/services/security_audit/privilege_check.rb +67 -0
- data/lib/permission_forge/services/security_audit/rule_check.rb +141 -0
- data/lib/permission_forge/services/security_audit/text_report.rb +46 -0
- data/lib/permission_forge/services/security_audit/user_model_check.rb +67 -0
- data/lib/permission_forge/services/security_audit.rb +75 -0
- data/lib/permission_forge/services/stale_assignment_auditor.rb +68 -0
- data/lib/permission_forge/services/unscoped_query_detector.rb +132 -0
- data/lib/permission_forge/version.rb +3 -0
- data/lib/permission_forge/virtual_fields/discovery.rb +65 -0
- data/lib/permission_forge/virtual_fields.rb +102 -0
- data/lib/permission_forge.rb +464 -0
- data/lib/tasks/permission_forge.rake +31 -0
- data/lib/tasks/permission_forge_audit_events.rake +28 -0
- data/lib/tasks/permission_forge_cache.rake +26 -0
- data/lib/tasks/permission_forge_expiration.rake +30 -0
- data/lib/tasks/permission_forge_gdpr.rake +69 -0
- data/lib/tasks/permission_forge_rls.rake +38 -0
- metadata +515 -0
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
module PermissionForge
|
|
2
|
+
# A Resource inside a Permission Set: what people can do with one model
|
|
3
|
+
# (CRUD, record scope), its fields, actions and record rules.
|
|
4
|
+
#
|
|
5
|
+
# @api private
|
|
6
|
+
class ResourcesController < ApplicationController
|
|
7
|
+
TABS = %w[fields actions rules].freeze
|
|
8
|
+
GRANTING_PRESETS = %w[full read nothing].freeze
|
|
9
|
+
MUTING_PRESETS = %w[hide_sensitive block_changes leave].freeze
|
|
10
|
+
# Resource flags each preset starts with (others start off).
|
|
11
|
+
PRESET_FLAGS = {
|
|
12
|
+
'full' => { read_access: true, create_access: true, edit_access: true, delete_access: true },
|
|
13
|
+
'read' => { read_access: true },
|
|
14
|
+
'block_changes' => { create_access: true, edit_access: true, delete_access: true }
|
|
15
|
+
}.freeze
|
|
16
|
+
# Field level each preset gives the model's columns (nil = no fields).
|
|
17
|
+
PRESET_LEVELS = { 'full' => 'edit', 'read' => 'read', 'nothing' => 'hidden', 'hide_sensitive' => 'hide_sensitive' }.freeze
|
|
18
|
+
|
|
19
|
+
before_action :set_permission_set
|
|
20
|
+
before_action :set_resource, except: %i[new create]
|
|
21
|
+
before_action :reject_locked_set, only: %i[new create review apply sync destroy confirm_destroy]
|
|
22
|
+
before_action :reject_locked_resource, only: %i[review apply sync destroy confirm_destroy]
|
|
23
|
+
|
|
24
|
+
def new
|
|
25
|
+
load_new_form
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def create
|
|
29
|
+
load_new_form
|
|
30
|
+
model = @catalog.find(params[:model_name])
|
|
31
|
+
@error = model_error(model)
|
|
32
|
+
return render(:new, status: :unprocessable_entity) if @error
|
|
33
|
+
|
|
34
|
+
resource = build_resource(model, @preset)
|
|
35
|
+
redirect_to permission_forge.permission_set_resource_path(@permission_set, resource.name), notice: added_notice(resource)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def show
|
|
39
|
+
@tab = TABS.include?(params[:tab]) ? params[:tab] : 'fields'
|
|
40
|
+
load_page
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def review
|
|
44
|
+
@change_set = change_set
|
|
45
|
+
return redirect_to(resource_path, notice: t('permission_forge.flash.permission_sets.no_changes')) if @change_set.empty?
|
|
46
|
+
|
|
47
|
+
load_page
|
|
48
|
+
@changes = @change_set.changes
|
|
49
|
+
render 'permission_forge/permission_sets/review'
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
def apply
|
|
53
|
+
changes = change_set.apply!
|
|
54
|
+
redirect_to pf_back_or(resource_path),
|
|
55
|
+
notice: t('permission_forge.flash.permission_sets.saved', count: changes.size,
|
|
56
|
+
people: helpers.pf_people_text(pf_people_count(@permission_set)))
|
|
57
|
+
rescue PermissionForge::Admin::ChangeSet::Invalid => e
|
|
58
|
+
redirect_to resource_path, alert: t('permission_forge.flash.permission_sets.save_failed', errors: e.message)
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
# Sync fields with the model: add new columns at a level, or remove
|
|
62
|
+
# configured fields whose column is gone. All or nothing, so the rows'
|
|
63
|
+
# audit events share one correlation id.
|
|
64
|
+
def sync
|
|
65
|
+
rows = PermissionForge::Admin::FieldRows.new(@resource)
|
|
66
|
+
notice = ActiveRecord::Base.transaction do
|
|
67
|
+
params[:op] == 'remove_missing' ? remove_missing_fields(rows) : add_new_columns(rows)
|
|
68
|
+
end
|
|
69
|
+
redirect_to resource_path, notice: notice
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
def confirm_destroy
|
|
73
|
+
@people_count = pf_people_count(@permission_set)
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
def destroy
|
|
77
|
+
label = helpers.pf_resource_label(@resource)
|
|
78
|
+
@resource.destroy!
|
|
79
|
+
redirect_to permission_forge.permission_set_path(@permission_set),
|
|
80
|
+
notice: t('permission_forge.flash.resources.removed', resource: label, set: @permission_set.name)
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
private
|
|
84
|
+
|
|
85
|
+
def set_permission_set
|
|
86
|
+
@permission_set = PermissionForge::PermissionSet.find(params[:permission_set_id])
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
def set_resource
|
|
90
|
+
@resource = @permission_set.resources.includes(:resource_fields, :resource_actions, :permission_set_rules)
|
|
91
|
+
.find_by!(name: params[:model])
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
def resource_path
|
|
95
|
+
permission_forge.permission_set_resource_path(@permission_set, @resource.name, tab: pf_tab_param(TABS))
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
def reject_locked_set
|
|
99
|
+
pf_reject_locked!(@permission_set, permission_forge.permission_set_path(@permission_set))
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
def reject_locked_resource
|
|
103
|
+
pf_reject_locked!(@resource, resource_path)
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
def change_set
|
|
107
|
+
PermissionForge::Admin::ChangeSet.new(permission_set: @permission_set, params: pf_hash_param(:pf))
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
def load_page
|
|
111
|
+
@rows = PermissionForge::Admin::FieldRows.new(@resource)
|
|
112
|
+
@people_count = pf_people_count(@permission_set)
|
|
113
|
+
@impact_people = []
|
|
114
|
+
@lost = []
|
|
115
|
+
@query = params[:q].to_s.strip
|
|
116
|
+
@filter = filter_param(@rows.filters)
|
|
117
|
+
@rules = @resource.permission_set_rules.sort_by(&:created_at)
|
|
118
|
+
@action_rows = PermissionForge::Admin::ActionRows.new(@resource)
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
# --- add resource ---------------------------------------------------------
|
|
122
|
+
|
|
123
|
+
def filter_param(filters)
|
|
124
|
+
filter = params[:filter]
|
|
125
|
+
filters.include?(filter) ? filter : 'all'
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
def remove_missing_fields(rows)
|
|
129
|
+
names = rows.missing_fields.map(&:name)
|
|
130
|
+
@resource.resource_fields.where(name: names).destroy_all
|
|
131
|
+
t('permission_forge.flash.resources.missing_removed', count: names.size)
|
|
132
|
+
end
|
|
133
|
+
|
|
134
|
+
def add_new_columns(rows)
|
|
135
|
+
created = create_fields(rows.new_columns, params[:level].to_s)
|
|
136
|
+
t('permission_forge.flash.resources.columns_added', count: created)
|
|
137
|
+
end
|
|
138
|
+
|
|
139
|
+
def load_new_form
|
|
140
|
+
load_models
|
|
141
|
+
@sensitive = PermissionForge::Admin::SensitiveColumns.new
|
|
142
|
+
@existing = @permission_set.resources.pluck(:name)
|
|
143
|
+
@presets = @permission_set.is_muting ? MUTING_PRESETS : GRANTING_PRESETS
|
|
144
|
+
preset = params[:preset]
|
|
145
|
+
@preset = @presets.include?(preset) ? preset : @presets.first
|
|
146
|
+
@selected = params[:model_name].to_s
|
|
147
|
+
end
|
|
148
|
+
|
|
149
|
+
def load_models
|
|
150
|
+
@catalog = PermissionForge::Admin::ModelCatalog.new
|
|
151
|
+
@query = params[:q].to_s.strip.downcase
|
|
152
|
+
@models = @catalog.models
|
|
153
|
+
@shown = @query.empty? ? @models : @models.select { |m| "#{m.name} #{m.label}".downcase.include?(@query) }
|
|
154
|
+
end
|
|
155
|
+
|
|
156
|
+
# Listed (protectable) and not yet in this set.
|
|
157
|
+
def model_error(model)
|
|
158
|
+
return t('permission_forge.errors.admin.resource_model') unless model && @models.any? { |m| m.name == model.name }
|
|
159
|
+
|
|
160
|
+
t('permission_forge.errors.admin.resource_taken') if @existing.include?(params[:model_name])
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
def added_notice(resource)
|
|
164
|
+
t('permission_forge.flash.resources.added', resource: helpers.pf_resource_label(resource),
|
|
165
|
+
count: resource.resource_fields.size)
|
|
166
|
+
end
|
|
167
|
+
|
|
168
|
+
def build_resource(model, preset)
|
|
169
|
+
ActiveRecord::Base.transaction do
|
|
170
|
+
resource = @permission_set.resources.create!(resource_attributes(model, preset))
|
|
171
|
+
# Virtual fields get a row too, so a preset decides them like columns
|
|
172
|
+
# instead of leaving them on the implicit grant.
|
|
173
|
+
create_fields(model.managed_field_names, PRESET_LEVELS[preset], resource: resource)
|
|
174
|
+
PermissionForge.configuration.record_gdpr_pattern_checksum
|
|
175
|
+
resource
|
|
176
|
+
end
|
|
177
|
+
end
|
|
178
|
+
|
|
179
|
+
def resource_attributes(model, preset)
|
|
180
|
+
{ name: model.name, label: nil, is_active: true, is_editable: true }.merge(PRESET_FLAGS.fetch(preset, {}))
|
|
181
|
+
end
|
|
182
|
+
|
|
183
|
+
# Creates ResourceFields for columns and virtual fields at a level, applying
|
|
184
|
+
# privacy defaults (sensitive names start Masked when gdpr_defaults is on).
|
|
185
|
+
def create_fields(columns, level, resource: @resource)
|
|
186
|
+
PermissionForge::Admin::ColumnFields.new(resource, muting: @permission_set.is_muting).create(columns, level)
|
|
187
|
+
end
|
|
188
|
+
end
|
|
189
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
module PermissionForge
|
|
2
|
+
# Read-only view of PermissionForge's configuration, with health checks and
|
|
3
|
+
# copy-paste instructions for changing each value in the initializer.
|
|
4
|
+
#
|
|
5
|
+
# @api private
|
|
6
|
+
class SettingsController < ApplicationController
|
|
7
|
+
def show
|
|
8
|
+
@catalog = pf_settings_catalog
|
|
9
|
+
@query = params[:q].to_s.strip.downcase
|
|
10
|
+
@changed_only = params[:changed] == '1'
|
|
11
|
+
@focus = @catalog.row(params[:focus])&.key
|
|
12
|
+
@sections = visible_sections(@catalog.sections)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
private
|
|
16
|
+
|
|
17
|
+
def visible_sections(sections)
|
|
18
|
+
sections.filter_map do |section, rows|
|
|
19
|
+
shown = rows.select { |row| visible?(row) }
|
|
20
|
+
[section, shown] if shown.any?
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def visible?(row)
|
|
25
|
+
return false if @changed_only && !row.changed?
|
|
26
|
+
return true if @query.empty?
|
|
27
|
+
|
|
28
|
+
text = [row.key, t("permission_forge.settings.items.#{row.key}.name", default: ''),
|
|
29
|
+
t("permission_forge.settings.items.#{row.key}.desc", default: '')].join(' ').downcase
|
|
30
|
+
text.include?(@query)
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none" stroke="#8f939a" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="m4.5 6.5 3.5 3.5 3.5-3.5"/></svg>
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="1024" height="1024" viewBox="0 0 1024 1024"><g transform="translate(157.54 51.20) scale(7.08923)"><path fill="#E8622C" d="M83.91 35.50 L83.84 34.67 L83.74 33.84 L83.63 33.01 L83.50 32.19 L83.35 31.37 L83.17 30.55 L82.98 29.74 L82.77 28.93 L82.54 28.13 L82.28 27.33 L82.01 26.55 L81.72 25.76 L81.41 24.99 L81.08 24.22 L80.74 23.46 L80.37 22.71 L79.99 21.97 L79.58 21.24 L79.16 20.52 L78.73 19.81 L78.27 19.11 L77.80 18.42 L77.31 17.75 L76.80 17.08 L76.28 16.43 L75.75 15.79 L75.19 15.17 L74.62 14.56 L74.04 13.96 L73.44 13.38 L72.83 12.81 L72.21 12.25 L71.57 11.72 L70.92 11.20 L70.25 10.69 L69.58 10.20 L68.89 9.73 L68.19 9.27 L67.48 8.84 L66.76 8.42 L66.03 8.01 L65.29 7.63 L64.54 7.26 L63.78 6.92 L63.01 6.59 L62.24 6.28 L61.45 5.99 L60.67 5.72 L59.87 5.46 L59.07 5.23 L58.26 5.02 L57.45 4.83 L56.63 4.65 L55.81 4.50 L54.99 4.37 L54.16 4.26 L53.33 4.16 L52.50 4.09 L51.67 4.04 L50.83 4.01 L50.00 4.00 L49.17 4.01 L48.33 4.04 L47.50 4.09 L46.67 4.16 L45.84 4.26 L45.01 4.37 L44.19 4.50 L43.37 4.65 L42.55 4.83 L41.74 5.02 L40.93 5.23 L40.13 5.46 L39.33 5.72 L38.55 5.99 L37.76 6.28 L36.99 6.59 L36.22 6.92 L35.46 7.26 L34.71 7.63 L33.97 8.01 L33.24 8.42 L32.52 8.84 L31.81 9.27 L31.11 9.73 L30.42 10.20 L29.75 10.69 L29.08 11.20 L28.43 11.72 L27.79 12.25 L27.17 12.81 L26.56 13.38 L25.96 13.96 L25.38 14.56 L24.81 15.17 L24.25 15.79 L23.72 16.43 L23.20 17.08 L22.69 17.75 L22.20 18.42 L21.73 19.11 L21.27 19.81 L20.84 20.52 L20.42 21.24 L20.01 21.97 L19.63 22.71 L19.26 23.46 L18.92 24.22 L18.59 24.99 L18.28 25.76 L17.99 26.55 L17.72 27.33 L17.46 28.13 L17.23 28.93 L17.02 29.74 L16.83 30.55 L16.65 31.37 L16.50 32.19 L16.37 33.01 L16.26 33.84 L16.16 34.67 L16.09 35.50 L16.04 36.33 L16.01 37.17 L16.00 38.00 L16.01 38.83 L16.04 39.67 L16.09 40.50 L16.14 41.00 L83.86 41.00 L83.91 40.50 L83.96 39.67 L83.99 38.83 L84.00 38.00 L83.99 37.17 L83.96 36.33Z M21.27 56.19 L21.73 56.89 L22.20 57.58 L22.69 58.25 L23.20 58.92 L23.72 59.57 L24.25 60.21 L24.81 60.83 L25.38 61.44 L25.96 62.04 L26.56 62.62 L27.17 63.19 L27.79 63.75 L28.43 64.28 L29.08 64.80 L29.75 65.31 L30.42 65.80 L31.11 66.27 L31.81 66.73 L32.52 67.16 L32.64 67.23 L30.32 83.00 L69.68 83.00 L67.36 67.23 L67.48 67.16 L68.19 66.73 L68.89 66.27 L69.58 65.80 L70.25 65.31 L70.92 64.80 L71.57 64.28 L72.21 63.75 L72.83 63.19 L73.44 62.62 L74.04 62.04 L74.62 61.44 L75.19 60.83 L75.75 60.21 L76.28 59.57 L76.80 58.92 L77.31 58.25 L77.80 57.58 L78.27 56.89 L78.73 56.19 L79.16 55.48 L79.44 55.00 L20.56 55.00 L20.84 55.48Z M24.00 126.00 L76.00 126.00 L71.74 97.00 L28.26 97.00Z"/></g></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="587" height="96" viewBox="0 0 587 96"><g transform="translate(0.00 0.00) scale(0.73846)"><path fill="#E8622C" d="M83.91 35.50 L83.84 34.67 L83.74 33.84 L83.63 33.01 L83.50 32.19 L83.35 31.37 L83.17 30.55 L82.98 29.74 L82.77 28.93 L82.54 28.13 L82.28 27.33 L82.01 26.55 L81.72 25.76 L81.41 24.99 L81.08 24.22 L80.74 23.46 L80.37 22.71 L79.99 21.97 L79.58 21.24 L79.16 20.52 L78.73 19.81 L78.27 19.11 L77.80 18.42 L77.31 17.75 L76.80 17.08 L76.28 16.43 L75.75 15.79 L75.19 15.17 L74.62 14.56 L74.04 13.96 L73.44 13.38 L72.83 12.81 L72.21 12.25 L71.57 11.72 L70.92 11.20 L70.25 10.69 L69.58 10.20 L68.89 9.73 L68.19 9.27 L67.48 8.84 L66.76 8.42 L66.03 8.01 L65.29 7.63 L64.54 7.26 L63.78 6.92 L63.01 6.59 L62.24 6.28 L61.45 5.99 L60.67 5.72 L59.87 5.46 L59.07 5.23 L58.26 5.02 L57.45 4.83 L56.63 4.65 L55.81 4.50 L54.99 4.37 L54.16 4.26 L53.33 4.16 L52.50 4.09 L51.67 4.04 L50.83 4.01 L50.00 4.00 L49.17 4.01 L48.33 4.04 L47.50 4.09 L46.67 4.16 L45.84 4.26 L45.01 4.37 L44.19 4.50 L43.37 4.65 L42.55 4.83 L41.74 5.02 L40.93 5.23 L40.13 5.46 L39.33 5.72 L38.55 5.99 L37.76 6.28 L36.99 6.59 L36.22 6.92 L35.46 7.26 L34.71 7.63 L33.97 8.01 L33.24 8.42 L32.52 8.84 L31.81 9.27 L31.11 9.73 L30.42 10.20 L29.75 10.69 L29.08 11.20 L28.43 11.72 L27.79 12.25 L27.17 12.81 L26.56 13.38 L25.96 13.96 L25.38 14.56 L24.81 15.17 L24.25 15.79 L23.72 16.43 L23.20 17.08 L22.69 17.75 L22.20 18.42 L21.73 19.11 L21.27 19.81 L20.84 20.52 L20.42 21.24 L20.01 21.97 L19.63 22.71 L19.26 23.46 L18.92 24.22 L18.59 24.99 L18.28 25.76 L17.99 26.55 L17.72 27.33 L17.46 28.13 L17.23 28.93 L17.02 29.74 L16.83 30.55 L16.65 31.37 L16.50 32.19 L16.37 33.01 L16.26 33.84 L16.16 34.67 L16.09 35.50 L16.04 36.33 L16.01 37.17 L16.00 38.00 L16.01 38.83 L16.04 39.67 L16.09 40.50 L16.16 41.33 L16.26 42.16 L16.37 42.99 L16.50 43.81 L16.54 44.00 L83.46 44.00 L83.50 43.81 L83.63 42.99 L83.74 42.16 L83.84 41.33 L83.91 40.50 L83.96 39.67 L83.99 38.83 L84.00 38.00 L83.99 37.17 L83.96 36.33Z M19.63 53.29 L20.01 54.03 L20.42 54.76 L20.84 55.48 L21.27 56.19 L21.73 56.89 L22.20 57.58 L22.69 58.25 L23.20 58.92 L23.72 59.57 L24.25 60.21 L24.81 60.83 L25.38 61.44 L25.96 62.04 L26.56 62.62 L27.17 63.19 L27.79 63.75 L28.43 64.28 L29.08 64.80 L29.75 65.31 L30.42 65.80 L31.11 66.27 L31.81 66.73 L32.52 67.16 L32.64 67.23 L29.88 86.00 L70.12 86.00 L67.36 67.23 L67.48 67.16 L68.19 66.73 L68.89 66.27 L69.58 65.80 L70.25 65.31 L70.92 64.80 L71.57 64.28 L72.21 63.75 L72.83 63.19 L73.44 62.62 L74.04 62.04 L74.62 61.44 L75.19 60.83 L75.75 60.21 L76.28 59.57 L76.80 58.92 L77.31 58.25 L77.80 57.58 L78.27 56.89 L78.73 56.19 L79.16 55.48 L79.58 54.76 L79.99 54.03 L80.37 53.29 L80.74 52.54 L80.98 52.00 L19.02 52.00 L19.26 52.54Z M24.00 126.00 L76.00 126.00 L71.29 94.00 L28.71 94.00Z"/></g><path fill="#E9EAEE" d="M107.14409915865384 83.2V39.110414062500006H112.08096634615384V44.26821484375H112.96031790865383Q114.23008353365384 41.91235937500001 116.92033548677884 40.06338671875001Q119.61058743990384 38.214414062500005 124.48932572115385 38.214414062500005Q128.55653275240383 38.214414062500005 131.91141556490385 40.14785546875001Q135.26629837740384 42.08129687500001 137.27301908052885 45.683855468750004Q139.27973978365384 49.2864140625 139.27973978365384 54.33408984375001V55.176324218750004Q139.27973978365384 60.178558593750004 137.29573978365386 63.803837890625005Q135.31173978365385 67.42911718750001 131.95685697115385 69.36255859375001Q128.60197415865383 71.296 124.48932572115385 71.296Q121.24579447115384 71.296 118.97570462740384 70.442234375Q116.70561478365384 69.58846875 115.29440775240384 68.23709960937501Q113.88320072115384 66.88573046875001 113.08831790865383 65.479640625H112.20896634615384V83.2ZM123.14791947115384 66.80071875Q128.01451322115383 66.80071875 131.06925150240383 63.696376953125004Q134.12398978365383 60.592035156250006 134.12398978365383 55.029765625V54.48064843750001Q134.12398978365383 48.918378906250005 131.05997220552882 45.81403710937501Q127.99595462740385 42.7096953125 123.14791947115384 42.7096953125Q118.34532572115384 42.7096953125 115.25858743990383 45.81403710937501Q112.17184915865384 48.918378906250005 112.17184915865384 54.48064843750001V55.029765625Q112.17184915865384 60.592035156250006 115.25858743990383 63.696376953125004Q118.34532572115384 66.80071875 123.14791947115384 66.80071875Z M161.13321634615386 71.296Q156.35177493990386 71.296 152.78121634615385 69.28Q149.21065775240385 67.26400000000001 147.21737845552883 63.606720703125006Q145.22409915865384 59.94944140625 145.22409915865384 55.13920703125001V54.37120703125001Q145.22409915865384 49.51553125000001 147.20809915865385 45.88097265625001Q149.19209915865386 42.24641406250001 152.70793704927885 40.2304140625Q156.22377493990385 38.214414062500005 160.77800931490384 38.214414062500005Q165.22280228365386 38.214414062500005 168.61064017427884 40.1126484375Q171.99847806490385 42.0108828125 173.91847806490387 45.5091171875Q175.83847806490385 49.007351562500006 175.83847806490385 53.780468750000004V56.03261328125001H150.32608353365384Q150.49952493990386 61.11426953125 153.55330814302886 63.957494140625Q156.60709134615385 66.80071875 161.20745072115386 66.80071875Q165.28107181490384 66.80071875 167.44908939302883 64.9651875Q169.61710697115385 63.129656250000004 170.76719681490385 60.56515234375001L175.13256790865387 62.657910156250004Q174.19112650240385 64.64 172.49512650240385 66.63744140625Q170.79912650240385 68.63488281250001 168.07400931490383 69.96544140625001Q165.34889212740384 71.296 161.13321634615386 71.296ZM150.39008353365386 51.92515234375001H170.69105228365385Q170.43505228365385 47.53726171875 167.73326908052883 45.123478515625Q165.03148587740384 42.7096953125 160.75945072115385 42.7096953125Q156.49573978365385 42.7096953125 153.75779447115383 45.123478515625Q151.01984915865384 47.53726171875 150.39008353365386 51.92515234375001Z M183.04809915865386 70.4V39.110414062500006H187.98496634615387V42.921621093750005H188.86431790865387Q189.70464212740387 40.865296875000006 191.42752493990386 39.923855468750006Q193.15040775240385 38.982414062500006 196.00802884615388 38.982414062500006H199.71170462740386V43.6056953125H195.65282181490386Q192.26273197115387 43.6056953125 190.18784915865388 45.487623046875Q188.11296634615385 47.369550781250005 188.11296634615385 51.352289062500006V70.4Z M205.57609915865385 70.4V39.110414062500006H210.51296634615386V43.02082812500001H211.39231790865387Q212.31520072115384 41.3299453125 214.37152493990385 39.91873828125Q216.42784915865386 38.50753125000001 220.10914603365387 38.50753125000001Q223.77379447115385 38.50753125000001 226.02628079927885 40.11490039062501Q228.27876712740385 41.72226953125001 229.32132572115387 44.061476562500005H230.20067728365385Q231.28867728365387 41.74082812500001 233.49988431490385 40.1241796875Q235.71109134615386 38.50753125000001 239.72262259615385 38.50753125000001Q242.84838822115387 38.50753125000001 245.22566751802887 39.80097265625001Q247.60294681490387 41.09441406250001 248.97478470552886 43.48608984375001Q250.34662259615385 45.87776562500001 250.34662259615385 49.21791015625001V70.4H245.28175540865385V49.6575859375Q245.28175540865385 46.53373046875001 243.46062064302885 44.721875000000004Q241.63948587740384 42.91001953125 238.34409915865385 42.91001953125Q234.91047806490386 42.91001953125 232.70213626802885 45.124433593750005Q230.49379447115385 47.33884765625001 230.49379447115385 51.557117187500005V70.4H225.42892728365385V49.6575859375Q225.42892728365385 46.53373046875001 223.60779251802887 44.721875000000004Q221.78665775240387 42.91001953125 218.49127103365385 42.91001953125Q215.05764993990385 42.91001953125 212.84930814302885 45.124433593750005Q210.64096634615385 47.33884765625001 210.64096634615385 51.557117187500005V70.4Z M259.01609915865384 70.4V39.110414062500006H264.08096634615384V70.4ZM261.54853275240384 34.21693750000001Q259.9178296274038 34.21693750000001 258.80008158052885 33.12702734375Q257.68233353365383 32.0371171875 257.68233353365383 30.369296875000003Q257.68233353365383 28.656035156250006 258.80008158052885 27.588845703125006Q259.9178296274038 26.521656250000007 261.54853275240384 26.521656250000007Q263.24323587740383 26.521656250000007 264.3289839242789 27.588845703125006Q265.41473197115386 28.656035156250006 265.41473197115386 30.369296875000003Q265.41473197115386 32.0371171875 264.3289839242789 33.12702734375Q263.24323587740383 34.21693750000001 261.54853275240384 34.21693750000001Z M285.6893608774039 71.296Q279.89033353365386 71.296 275.8996128305289 68.608Q271.9088921274039 65.92 271.0314507211539 60.064613281250004L275.8652905649039 59.00800000000001Q276.3587319711539 62.065945312500006 277.7782632211539 63.823080078125Q279.1977944711539 65.58021484375 281.2656499399039 66.328701171875Q283.3335054086539 67.07718750000001 285.6893608774039 67.07718750000001Q289.23242337740385 67.07718750000001 291.2807651742788 65.67621484375Q293.32910697115386 64.2752421875 293.32910697115386 61.894414062500005Q293.32910697115386 59.468144531250005 291.39020658052885 58.46365820312501Q289.45130618990385 57.45917187500001 286.04456790865385 56.856289062500004L283.4346225961539 56.399964843750006Q280.3792710336539 55.850847656250004 277.8999194711539 54.7762890625Q275.4205679086539 53.70173046875 273.96105423677886 51.8540546875Q272.50154056490385 50.006378906250006 272.50154056490385 47.188468750000006Q272.50154056490385 42.95232421875001 275.7530542367789 40.58336914062501Q279.0045679086539 38.214414062500005 284.36391947115385 38.214414062500005Q289.67591947115386 38.214414062500005 292.99143314302887 40.60513476562501Q296.3069468149039 42.99585546875001 297.2131811899039 47.335710937500004L292.49710697115387 48.5491171875Q291.89422415865386 45.2082890625 289.73548587740385 43.820757812500005Q287.57674759615384 42.4332265625 284.36391947115385 42.4332265625Q281.19653275240387 42.4332265625 279.3443530649039 43.619478515625005Q277.49217337740384 44.805730468750006 277.49217337740384 47.07711718750001Q277.49217337740384 49.340179687500004 279.2265874399038 50.39426953125Q280.96100150240386 51.44835937500001 283.95494681490385 51.96868359375L286.5648921274039 52.425007812500006Q289.87624368990384 52.974125 292.53831595552884 53.984683593750006Q295.20038822115384 54.995242187500004 296.76006400240385 56.83363867187501Q298.31973978365386 58.672035156250004 298.31973978365386 61.727386718750004Q298.31973978365386 66.3104140625 294.90822611177884 68.80320703125Q291.4967124399039 71.296 285.6893608774039 71.296Z M317.81736087740387 71.296Q312.01833353365384 71.296 308.0276128305288 68.608Q304.03689212740386 65.92 303.15945072115386 60.064613281250004L307.9932905649039 59.00800000000001Q308.48673197115386 62.065945312500006 309.90626322115384 63.823080078125Q311.32579447115387 65.58021484375 313.39364993990387 66.328701171875Q315.46150540865386 67.07718750000001 317.81736087740387 67.07718750000001Q321.36042337740383 67.07718750000001 323.40876517427887 65.67621484375Q325.45710697115385 64.2752421875 325.45710697115385 61.894414062500005Q325.45710697115385 59.468144531250005 323.51820658052884 58.46365820312501Q321.57930618990383 57.45917187500001 318.17256790865383 56.856289062500004L315.56262259615386 56.399964843750006Q312.50727103365386 55.850847656250004 310.02791947115384 54.7762890625Q307.54856790865387 53.70173046875 306.08905423677885 51.8540546875Q304.62954056490383 50.006378906250006 304.62954056490383 47.188468750000006Q304.62954056490383 42.95232421875001 307.8810542367788 40.58336914062501Q311.13256790865387 38.214414062500005 316.49191947115384 38.214414062500005Q321.80391947115385 38.214414062500005 325.11943314302886 40.60513476562501Q328.43494681490387 42.99585546875001 329.34118118990386 47.335710937500004L324.62510697115385 48.5491171875Q324.02222415865384 45.2082890625 321.86348587740383 43.820757812500005Q319.7047475961539 42.4332265625 316.49191947115384 42.4332265625Q313.32453275240385 42.4332265625 311.4723530649038 43.619478515625005Q309.62017337740383 44.805730468750006 309.62017337740383 47.07711718750001Q309.62017337740383 49.340179687500004 311.35458743990387 50.39426953125Q313.08900150240385 51.44835937500001 316.08294681490383 51.96868359375L318.69289212740387 52.425007812500006Q322.00424368990383 52.974125 324.66631595552883 53.984683593750006Q327.32838822115383 54.995242187500004 328.88806400240384 56.83363867187501Q330.44773978365384 58.672035156250004 330.44773978365384 61.727386718750004Q330.44773978365384 66.3104140625 327.0362261117789 68.80320703125Q323.6247124399039 71.296 317.81736087740387 71.296Z M337.35209915865386 70.4V39.110414062500006H342.41696634615386V70.4ZM339.88453275240386 34.21693750000001Q338.25382962740383 34.21693750000001 337.13608158052887 33.12702734375Q336.01833353365384 32.0371171875 336.01833353365384 30.369296875000003Q336.01833353365384 28.656035156250006 337.13608158052887 27.588845703125006Q338.25382962740383 26.521656250000007 339.88453275240386 26.521656250000007Q341.57923587740385 26.521656250000007 342.66498392427883 27.588845703125006Q343.7507319711538 28.656035156250006 343.7507319711538 30.369296875000003Q343.7507319711538 32.0371171875 342.66498392427883 33.12702734375Q341.57923587740385 34.21693750000001 339.88453275240386 34.21693750000001Z M365.8999194711538 71.296Q361.1639194711538 71.296 357.5469643930288 69.30783789062501Q353.9300093149038 67.31967578125001 351.91305423677886 63.694396484375005Q349.89609915865384 60.069117187500005 349.89609915865384 55.176324218750004V54.33408984375001Q349.89609915865384 49.441296875000006 351.91305423677886 45.816017578125006Q353.9300093149038 42.190738281250006 357.5469643930288 40.20257617187501Q361.1639194711538 38.214414062500005 365.8999194711538 38.214414062500005Q370.63591947115384 38.214414062500005 374.25287454927883 40.20257617187501Q377.8698296274038 42.190738281250006 379.88678470552884 45.816017578125006Q381.9037397836538 49.441296875000006 381.9037397836538 54.33408984375001V55.176324218750004Q381.9037397836538 60.069117187500005 379.88678470552884 63.694396484375005Q377.8698296274038 67.31967578125001 374.25287454927883 69.30783789062501Q370.63591947115384 71.296 365.8999194711538 71.296ZM365.8999194711538 66.7636015625Q370.88427884615385 66.7636015625 373.8615757211538 63.59109765625Q376.8388725961538 60.41859375000001 376.8388725961538 55.029765625V54.48064843750001Q376.8388725961538 49.091820312500005 373.8708550180288 45.919316406250005Q370.9028374399038 42.746812500000004 365.8999194711538 42.746812500000004Q360.9610015024038 42.746812500000004 357.9609839242788 45.919316406250005Q354.96096634615384 49.091820312500005 354.96096634615384 54.48064843750001V55.029765625Q354.96096634615384 60.41859375000001 357.9609839242788 63.59109765625Q360.9610015024038 66.7636015625 365.8999194711538 66.7636015625Z M389.38409915865384 70.4V39.110414062500006H394.3209663461538V44.406449218750005H395.2003179086538Q396.2409663461538 42.151710937500006 398.71649759615383 40.329621093750006Q401.19202884615385 38.50753125000001 405.9798843149038 38.50753125000001Q409.4646772836538 38.50753125000001 412.2713979867788 39.99904492187501Q415.0781186899038 41.49055859375001 416.72772220552883 44.37567578125001Q418.37732572115385 47.26079296875001 418.37732572115385 51.456V70.4H413.3124585336538V51.82335156250001Q413.3124585336538 47.14875781250001 410.98444095552884 45.038667968750005Q408.6564233774038 42.928578125 404.6653608774038 42.928578125Q400.18085697115384 42.928578125 397.31491165865384 45.89243359375Q394.44896634615384 48.856289062500004 394.44896634615384 54.680972656250006V70.4Z M431.4461538461538 70.4V45.312000000000005H423.38215384615376V38.656000000000006H431.4461538461538V32.76800000000001Q431.4461538461538 29.504000000000005 433.3981538461538 27.552000000000003Q435.3501538461538 25.6 438.4861538461538 25.6H446.8061538461538V32.25600000000001H441.3021538461538Q439.5101538461538 32.25600000000001 439.5101538461538 34.176V38.656000000000006H447.8301538461538V45.312000000000005H439.5101538461538V70.4Z M467.60615384615375 71.296Q462.87015384615376 71.296 459.09415384615374 69.376Q455.31815384615373 67.456 453.14215384615375 63.80800000000001Q450.96615384615376 60.160000000000004 450.96615384615376 55.040000000000006V54.016000000000005Q450.96615384615376 48.896 453.14215384615375 45.248000000000005Q455.31815384615373 41.60000000000001 459.09415384615374 39.68000000000001Q462.87015384615376 37.760000000000005 467.60615384615375 37.760000000000005Q472.34215384615374 37.760000000000005 476.11815384615375 39.68000000000001Q479.89415384615376 41.60000000000001 482.07015384615374 45.248000000000005Q484.24615384615373 48.896 484.24615384615373 54.016000000000005V55.040000000000006Q484.24615384615373 60.160000000000004 482.07015384615374 63.80800000000001Q479.89415384615376 67.456 476.11815384615375 69.376Q472.34215384615374 71.296 467.60615384615375 71.296ZM467.60615384615375 64.128Q471.31815384615373 64.128 473.75015384615375 61.728Q476.18215384615377 59.328 476.18215384615377 54.848000000000006V54.208000000000006Q476.18215384615377 49.72800000000001 473.78215384615373 47.328Q471.38215384615376 44.928000000000004 467.60615384615375 44.928000000000004Q463.89415384615376 44.928000000000004 461.46215384615374 47.328Q459.0301538461537 49.72800000000001 459.0301538461537 54.208000000000006V54.848000000000006Q459.0301538461537 59.328 461.46215384615374 61.728Q463.89415384615376 64.128 467.60615384615375 64.128Z M490.07015384615374 70.4V38.656000000000006H498.0061538461537V42.24000000000001H499.1581538461537Q499.8621538461537 40.32000000000001 501.4941538461537 39.42400000000001Q503.1261538461537 38.528000000000006 505.3021538461537 38.528000000000006H509.14215384615375V45.696000000000005H505.17415384615373Q502.1021538461537 45.696000000000005 500.11815384615375 47.328Q498.1341538461537 48.96000000000001 498.1341538461537 52.352000000000004V70.4Z M512.2781538461537 54.656000000000006V53.632000000000005Q512.2781538461537 48.64 514.2621538461538 45.088Q516.2461538461538 41.536 519.5421538461537 39.648Q522.8381538461538 37.760000000000005 526.7421538461538 37.760000000000005Q531.0941538461537 37.760000000000005 533.3341538461538 39.29600000000001Q535.5741538461538 40.83200000000001 536.5981538461538 42.49600000000001H537.7501538461538V38.656000000000006H545.6861538461537V76.03200000000001Q545.6861538461537 79.296 543.7661538461538 81.248Q541.8461538461538 83.2 538.6461538461538 83.2H517.3981538461537V76.16000000000001H535.8301538461537Q537.6221538461538 76.16000000000001 537.6221538461538 74.24000000000001V65.98400000000001H536.4701538461537Q535.8301538461537 67.00800000000001 534.6781538461537 68.06400000000001Q533.5261538461538 69.12 531.6061538461538 69.82400000000001Q529.6861538461537 70.528 526.7421538461538 70.528Q522.8381538461538 70.528 519.5421538461537 68.64000000000001Q516.2461538461538 66.75200000000001 514.2621538461538 63.2Q512.2781538461537 59.648 512.2781538461537 54.656000000000006ZM529.0461538461537 63.48800000000001Q532.7581538461537 63.48800000000001 535.2541538461537 61.120000000000005Q537.7501538461538 58.75200000000001 537.7501538461538 54.464000000000006V53.824000000000005Q537.7501538461538 49.47200000000001 535.2861538461538 47.13600000000001Q532.8221538461537 44.800000000000004 529.0461538461537 44.800000000000004Q525.3341538461538 44.800000000000004 522.8381538461538 47.13600000000001Q520.3421538461538 49.47200000000001 520.3421538461538 53.824000000000005V54.464000000000006Q520.3421538461538 58.75200000000001 522.8381538461538 61.120000000000005Q525.3341538461538 63.48800000000001 529.0461538461537 63.48800000000001Z M567.5101538461537 71.296Q562.7741538461537 71.296 559.1581538461537 69.28Q555.5421538461537 67.26400000000001 553.5261538461536 63.584Q551.5101538461537 59.904 551.5101538461537 54.912000000000006V54.144000000000005Q551.5101538461537 49.152 553.4941538461537 45.472Q555.4781538461538 41.792 559.0621538461537 39.776Q562.6461538461538 37.760000000000005 567.3821538461538 37.760000000000005Q572.0541538461537 37.760000000000005 575.5101538461537 39.84Q578.9661538461537 41.92 580.8861538461538 45.6Q582.8061538461537 49.28 582.8061538461537 54.144000000000005V56.89600000000001H559.7021538461537Q559.8301538461537 60.160000000000004 562.1341538461537 62.208Q564.4381538461537 64.256 567.7661538461538 64.256Q571.1581538461537 64.256 572.7581538461537 62.784000000000006Q574.3581538461538 61.312000000000005 575.1901538461537 59.52L581.7821538461537 62.976000000000006Q580.8861538461538 64.64 579.1901538461537 66.59200000000001Q577.4941538461537 68.54400000000001 574.6781538461537 69.92000000000002Q571.8621538461538 71.296 567.5101538461537 71.296ZM559.7661538461538 50.88000000000001H574.6141538461537Q574.3581538461538 48.128 572.4061538461538 46.464Q570.4541538461538 44.800000000000004 567.3181538461537 44.800000000000004Q564.0541538461537 44.800000000000004 562.1341538461537 46.464Q560.2141538461537 48.128 559.7661538461538 50.88000000000001Z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="587" height="96" viewBox="0 0 587 96"><g transform="translate(0.00 0.00) scale(0.73846)"><path fill="#E8622C" d="M83.91 35.50 L83.84 34.67 L83.74 33.84 L83.63 33.01 L83.50 32.19 L83.35 31.37 L83.17 30.55 L82.98 29.74 L82.77 28.93 L82.54 28.13 L82.28 27.33 L82.01 26.55 L81.72 25.76 L81.41 24.99 L81.08 24.22 L80.74 23.46 L80.37 22.71 L79.99 21.97 L79.58 21.24 L79.16 20.52 L78.73 19.81 L78.27 19.11 L77.80 18.42 L77.31 17.75 L76.80 17.08 L76.28 16.43 L75.75 15.79 L75.19 15.17 L74.62 14.56 L74.04 13.96 L73.44 13.38 L72.83 12.81 L72.21 12.25 L71.57 11.72 L70.92 11.20 L70.25 10.69 L69.58 10.20 L68.89 9.73 L68.19 9.27 L67.48 8.84 L66.76 8.42 L66.03 8.01 L65.29 7.63 L64.54 7.26 L63.78 6.92 L63.01 6.59 L62.24 6.28 L61.45 5.99 L60.67 5.72 L59.87 5.46 L59.07 5.23 L58.26 5.02 L57.45 4.83 L56.63 4.65 L55.81 4.50 L54.99 4.37 L54.16 4.26 L53.33 4.16 L52.50 4.09 L51.67 4.04 L50.83 4.01 L50.00 4.00 L49.17 4.01 L48.33 4.04 L47.50 4.09 L46.67 4.16 L45.84 4.26 L45.01 4.37 L44.19 4.50 L43.37 4.65 L42.55 4.83 L41.74 5.02 L40.93 5.23 L40.13 5.46 L39.33 5.72 L38.55 5.99 L37.76 6.28 L36.99 6.59 L36.22 6.92 L35.46 7.26 L34.71 7.63 L33.97 8.01 L33.24 8.42 L32.52 8.84 L31.81 9.27 L31.11 9.73 L30.42 10.20 L29.75 10.69 L29.08 11.20 L28.43 11.72 L27.79 12.25 L27.17 12.81 L26.56 13.38 L25.96 13.96 L25.38 14.56 L24.81 15.17 L24.25 15.79 L23.72 16.43 L23.20 17.08 L22.69 17.75 L22.20 18.42 L21.73 19.11 L21.27 19.81 L20.84 20.52 L20.42 21.24 L20.01 21.97 L19.63 22.71 L19.26 23.46 L18.92 24.22 L18.59 24.99 L18.28 25.76 L17.99 26.55 L17.72 27.33 L17.46 28.13 L17.23 28.93 L17.02 29.74 L16.83 30.55 L16.65 31.37 L16.50 32.19 L16.37 33.01 L16.26 33.84 L16.16 34.67 L16.09 35.50 L16.04 36.33 L16.01 37.17 L16.00 38.00 L16.01 38.83 L16.04 39.67 L16.09 40.50 L16.16 41.33 L16.26 42.16 L16.37 42.99 L16.50 43.81 L16.54 44.00 L83.46 44.00 L83.50 43.81 L83.63 42.99 L83.74 42.16 L83.84 41.33 L83.91 40.50 L83.96 39.67 L83.99 38.83 L84.00 38.00 L83.99 37.17 L83.96 36.33Z M19.63 53.29 L20.01 54.03 L20.42 54.76 L20.84 55.48 L21.27 56.19 L21.73 56.89 L22.20 57.58 L22.69 58.25 L23.20 58.92 L23.72 59.57 L24.25 60.21 L24.81 60.83 L25.38 61.44 L25.96 62.04 L26.56 62.62 L27.17 63.19 L27.79 63.75 L28.43 64.28 L29.08 64.80 L29.75 65.31 L30.42 65.80 L31.11 66.27 L31.81 66.73 L32.52 67.16 L32.64 67.23 L29.88 86.00 L70.12 86.00 L67.36 67.23 L67.48 67.16 L68.19 66.73 L68.89 66.27 L69.58 65.80 L70.25 65.31 L70.92 64.80 L71.57 64.28 L72.21 63.75 L72.83 63.19 L73.44 62.62 L74.04 62.04 L74.62 61.44 L75.19 60.83 L75.75 60.21 L76.28 59.57 L76.80 58.92 L77.31 58.25 L77.80 57.58 L78.27 56.89 L78.73 56.19 L79.16 55.48 L79.58 54.76 L79.99 54.03 L80.37 53.29 L80.74 52.54 L80.98 52.00 L19.02 52.00 L19.26 52.54Z M24.00 126.00 L76.00 126.00 L71.29 94.00 L28.71 94.00Z"/></g><path fill="#14161B" d="M107.14409915865384 83.2V39.110414062500006H112.08096634615384V44.26821484375H112.96031790865383Q114.23008353365384 41.91235937500001 116.92033548677884 40.06338671875001Q119.61058743990384 38.214414062500005 124.48932572115385 38.214414062500005Q128.55653275240383 38.214414062500005 131.91141556490385 40.14785546875001Q135.26629837740384 42.08129687500001 137.27301908052885 45.683855468750004Q139.27973978365384 49.2864140625 139.27973978365384 54.33408984375001V55.176324218750004Q139.27973978365384 60.178558593750004 137.29573978365386 63.803837890625005Q135.31173978365385 67.42911718750001 131.95685697115385 69.36255859375001Q128.60197415865383 71.296 124.48932572115385 71.296Q121.24579447115384 71.296 118.97570462740384 70.442234375Q116.70561478365384 69.58846875 115.29440775240384 68.23709960937501Q113.88320072115384 66.88573046875001 113.08831790865383 65.479640625H112.20896634615384V83.2ZM123.14791947115384 66.80071875Q128.01451322115383 66.80071875 131.06925150240383 63.696376953125004Q134.12398978365383 60.592035156250006 134.12398978365383 55.029765625V54.48064843750001Q134.12398978365383 48.918378906250005 131.05997220552882 45.81403710937501Q127.99595462740385 42.7096953125 123.14791947115384 42.7096953125Q118.34532572115384 42.7096953125 115.25858743990383 45.81403710937501Q112.17184915865384 48.918378906250005 112.17184915865384 54.48064843750001V55.029765625Q112.17184915865384 60.592035156250006 115.25858743990383 63.696376953125004Q118.34532572115384 66.80071875 123.14791947115384 66.80071875Z M161.13321634615386 71.296Q156.35177493990386 71.296 152.78121634615385 69.28Q149.21065775240385 67.26400000000001 147.21737845552883 63.606720703125006Q145.22409915865384 59.94944140625 145.22409915865384 55.13920703125001V54.37120703125001Q145.22409915865384 49.51553125000001 147.20809915865385 45.88097265625001Q149.19209915865386 42.24641406250001 152.70793704927885 40.2304140625Q156.22377493990385 38.214414062500005 160.77800931490384 38.214414062500005Q165.22280228365386 38.214414062500005 168.61064017427884 40.1126484375Q171.99847806490385 42.0108828125 173.91847806490387 45.5091171875Q175.83847806490385 49.007351562500006 175.83847806490385 53.780468750000004V56.03261328125001H150.32608353365384Q150.49952493990386 61.11426953125 153.55330814302886 63.957494140625Q156.60709134615385 66.80071875 161.20745072115386 66.80071875Q165.28107181490384 66.80071875 167.44908939302883 64.9651875Q169.61710697115385 63.129656250000004 170.76719681490385 60.56515234375001L175.13256790865387 62.657910156250004Q174.19112650240385 64.64 172.49512650240385 66.63744140625Q170.79912650240385 68.63488281250001 168.07400931490383 69.96544140625001Q165.34889212740384 71.296 161.13321634615386 71.296ZM150.39008353365386 51.92515234375001H170.69105228365385Q170.43505228365385 47.53726171875 167.73326908052883 45.123478515625Q165.03148587740384 42.7096953125 160.75945072115385 42.7096953125Q156.49573978365385 42.7096953125 153.75779447115383 45.123478515625Q151.01984915865384 47.53726171875 150.39008353365386 51.92515234375001Z M183.04809915865386 70.4V39.110414062500006H187.98496634615387V42.921621093750005H188.86431790865387Q189.70464212740387 40.865296875000006 191.42752493990386 39.923855468750006Q193.15040775240385 38.982414062500006 196.00802884615388 38.982414062500006H199.71170462740386V43.6056953125H195.65282181490386Q192.26273197115387 43.6056953125 190.18784915865388 45.487623046875Q188.11296634615385 47.369550781250005 188.11296634615385 51.352289062500006V70.4Z M205.57609915865385 70.4V39.110414062500006H210.51296634615386V43.02082812500001H211.39231790865387Q212.31520072115384 41.3299453125 214.37152493990385 39.91873828125Q216.42784915865386 38.50753125000001 220.10914603365387 38.50753125000001Q223.77379447115385 38.50753125000001 226.02628079927885 40.11490039062501Q228.27876712740385 41.72226953125001 229.32132572115387 44.061476562500005H230.20067728365385Q231.28867728365387 41.74082812500001 233.49988431490385 40.1241796875Q235.71109134615386 38.50753125000001 239.72262259615385 38.50753125000001Q242.84838822115387 38.50753125000001 245.22566751802887 39.80097265625001Q247.60294681490387 41.09441406250001 248.97478470552886 43.48608984375001Q250.34662259615385 45.87776562500001 250.34662259615385 49.21791015625001V70.4H245.28175540865385V49.6575859375Q245.28175540865385 46.53373046875001 243.46062064302885 44.721875000000004Q241.63948587740384 42.91001953125 238.34409915865385 42.91001953125Q234.91047806490386 42.91001953125 232.70213626802885 45.124433593750005Q230.49379447115385 47.33884765625001 230.49379447115385 51.557117187500005V70.4H225.42892728365385V49.6575859375Q225.42892728365385 46.53373046875001 223.60779251802887 44.721875000000004Q221.78665775240387 42.91001953125 218.49127103365385 42.91001953125Q215.05764993990385 42.91001953125 212.84930814302885 45.124433593750005Q210.64096634615385 47.33884765625001 210.64096634615385 51.557117187500005V70.4Z M259.01609915865384 70.4V39.110414062500006H264.08096634615384V70.4ZM261.54853275240384 34.21693750000001Q259.9178296274038 34.21693750000001 258.80008158052885 33.12702734375Q257.68233353365383 32.0371171875 257.68233353365383 30.369296875000003Q257.68233353365383 28.656035156250006 258.80008158052885 27.588845703125006Q259.9178296274038 26.521656250000007 261.54853275240384 26.521656250000007Q263.24323587740383 26.521656250000007 264.3289839242789 27.588845703125006Q265.41473197115386 28.656035156250006 265.41473197115386 30.369296875000003Q265.41473197115386 32.0371171875 264.3289839242789 33.12702734375Q263.24323587740383 34.21693750000001 261.54853275240384 34.21693750000001Z M285.6893608774039 71.296Q279.89033353365386 71.296 275.8996128305289 68.608Q271.9088921274039 65.92 271.0314507211539 60.064613281250004L275.8652905649039 59.00800000000001Q276.3587319711539 62.065945312500006 277.7782632211539 63.823080078125Q279.1977944711539 65.58021484375 281.2656499399039 66.328701171875Q283.3335054086539 67.07718750000001 285.6893608774039 67.07718750000001Q289.23242337740385 67.07718750000001 291.2807651742788 65.67621484375Q293.32910697115386 64.2752421875 293.32910697115386 61.894414062500005Q293.32910697115386 59.468144531250005 291.39020658052885 58.46365820312501Q289.45130618990385 57.45917187500001 286.04456790865385 56.856289062500004L283.4346225961539 56.399964843750006Q280.3792710336539 55.850847656250004 277.8999194711539 54.7762890625Q275.4205679086539 53.70173046875 273.96105423677886 51.8540546875Q272.50154056490385 50.006378906250006 272.50154056490385 47.188468750000006Q272.50154056490385 42.95232421875001 275.7530542367789 40.58336914062501Q279.0045679086539 38.214414062500005 284.36391947115385 38.214414062500005Q289.67591947115386 38.214414062500005 292.99143314302887 40.60513476562501Q296.3069468149039 42.99585546875001 297.2131811899039 47.335710937500004L292.49710697115387 48.5491171875Q291.89422415865386 45.2082890625 289.73548587740385 43.820757812500005Q287.57674759615384 42.4332265625 284.36391947115385 42.4332265625Q281.19653275240387 42.4332265625 279.3443530649039 43.619478515625005Q277.49217337740384 44.805730468750006 277.49217337740384 47.07711718750001Q277.49217337740384 49.340179687500004 279.2265874399038 50.39426953125Q280.96100150240386 51.44835937500001 283.95494681490385 51.96868359375L286.5648921274039 52.425007812500006Q289.87624368990384 52.974125 292.53831595552884 53.984683593750006Q295.20038822115384 54.995242187500004 296.76006400240385 56.83363867187501Q298.31973978365386 58.672035156250004 298.31973978365386 61.727386718750004Q298.31973978365386 66.3104140625 294.90822611177884 68.80320703125Q291.4967124399039 71.296 285.6893608774039 71.296Z M317.81736087740387 71.296Q312.01833353365384 71.296 308.0276128305288 68.608Q304.03689212740386 65.92 303.15945072115386 60.064613281250004L307.9932905649039 59.00800000000001Q308.48673197115386 62.065945312500006 309.90626322115384 63.823080078125Q311.32579447115387 65.58021484375 313.39364993990387 66.328701171875Q315.46150540865386 67.07718750000001 317.81736087740387 67.07718750000001Q321.36042337740383 67.07718750000001 323.40876517427887 65.67621484375Q325.45710697115385 64.2752421875 325.45710697115385 61.894414062500005Q325.45710697115385 59.468144531250005 323.51820658052884 58.46365820312501Q321.57930618990383 57.45917187500001 318.17256790865383 56.856289062500004L315.56262259615386 56.399964843750006Q312.50727103365386 55.850847656250004 310.02791947115384 54.7762890625Q307.54856790865387 53.70173046875 306.08905423677885 51.8540546875Q304.62954056490383 50.006378906250006 304.62954056490383 47.188468750000006Q304.62954056490383 42.95232421875001 307.8810542367788 40.58336914062501Q311.13256790865387 38.214414062500005 316.49191947115384 38.214414062500005Q321.80391947115385 38.214414062500005 325.11943314302886 40.60513476562501Q328.43494681490387 42.99585546875001 329.34118118990386 47.335710937500004L324.62510697115385 48.5491171875Q324.02222415865384 45.2082890625 321.86348587740383 43.820757812500005Q319.7047475961539 42.4332265625 316.49191947115384 42.4332265625Q313.32453275240385 42.4332265625 311.4723530649038 43.619478515625005Q309.62017337740383 44.805730468750006 309.62017337740383 47.07711718750001Q309.62017337740383 49.340179687500004 311.35458743990387 50.39426953125Q313.08900150240385 51.44835937500001 316.08294681490383 51.96868359375L318.69289212740387 52.425007812500006Q322.00424368990383 52.974125 324.66631595552883 53.984683593750006Q327.32838822115383 54.995242187500004 328.88806400240384 56.83363867187501Q330.44773978365384 58.672035156250004 330.44773978365384 61.727386718750004Q330.44773978365384 66.3104140625 327.0362261117789 68.80320703125Q323.6247124399039 71.296 317.81736087740387 71.296Z M337.35209915865386 70.4V39.110414062500006H342.41696634615386V70.4ZM339.88453275240386 34.21693750000001Q338.25382962740383 34.21693750000001 337.13608158052887 33.12702734375Q336.01833353365384 32.0371171875 336.01833353365384 30.369296875000003Q336.01833353365384 28.656035156250006 337.13608158052887 27.588845703125006Q338.25382962740383 26.521656250000007 339.88453275240386 26.521656250000007Q341.57923587740385 26.521656250000007 342.66498392427883 27.588845703125006Q343.7507319711538 28.656035156250006 343.7507319711538 30.369296875000003Q343.7507319711538 32.0371171875 342.66498392427883 33.12702734375Q341.57923587740385 34.21693750000001 339.88453275240386 34.21693750000001Z M365.8999194711538 71.296Q361.1639194711538 71.296 357.5469643930288 69.30783789062501Q353.9300093149038 67.31967578125001 351.91305423677886 63.694396484375005Q349.89609915865384 60.069117187500005 349.89609915865384 55.176324218750004V54.33408984375001Q349.89609915865384 49.441296875000006 351.91305423677886 45.816017578125006Q353.9300093149038 42.190738281250006 357.5469643930288 40.20257617187501Q361.1639194711538 38.214414062500005 365.8999194711538 38.214414062500005Q370.63591947115384 38.214414062500005 374.25287454927883 40.20257617187501Q377.8698296274038 42.190738281250006 379.88678470552884 45.816017578125006Q381.9037397836538 49.441296875000006 381.9037397836538 54.33408984375001V55.176324218750004Q381.9037397836538 60.069117187500005 379.88678470552884 63.694396484375005Q377.8698296274038 67.31967578125001 374.25287454927883 69.30783789062501Q370.63591947115384 71.296 365.8999194711538 71.296ZM365.8999194711538 66.7636015625Q370.88427884615385 66.7636015625 373.8615757211538 63.59109765625Q376.8388725961538 60.41859375000001 376.8388725961538 55.029765625V54.48064843750001Q376.8388725961538 49.091820312500005 373.8708550180288 45.919316406250005Q370.9028374399038 42.746812500000004 365.8999194711538 42.746812500000004Q360.9610015024038 42.746812500000004 357.9609839242788 45.919316406250005Q354.96096634615384 49.091820312500005 354.96096634615384 54.48064843750001V55.029765625Q354.96096634615384 60.41859375000001 357.9609839242788 63.59109765625Q360.9610015024038 66.7636015625 365.8999194711538 66.7636015625Z M389.38409915865384 70.4V39.110414062500006H394.3209663461538V44.406449218750005H395.2003179086538Q396.2409663461538 42.151710937500006 398.71649759615383 40.329621093750006Q401.19202884615385 38.50753125000001 405.9798843149038 38.50753125000001Q409.4646772836538 38.50753125000001 412.2713979867788 39.99904492187501Q415.0781186899038 41.49055859375001 416.72772220552883 44.37567578125001Q418.37732572115385 47.26079296875001 418.37732572115385 51.456V70.4H413.3124585336538V51.82335156250001Q413.3124585336538 47.14875781250001 410.98444095552884 45.038667968750005Q408.6564233774038 42.928578125 404.6653608774038 42.928578125Q400.18085697115384 42.928578125 397.31491165865384 45.89243359375Q394.44896634615384 48.856289062500004 394.44896634615384 54.680972656250006V70.4Z M431.4461538461538 70.4V45.312000000000005H423.38215384615376V38.656000000000006H431.4461538461538V32.76800000000001Q431.4461538461538 29.504000000000005 433.3981538461538 27.552000000000003Q435.3501538461538 25.6 438.4861538461538 25.6H446.8061538461538V32.25600000000001H441.3021538461538Q439.5101538461538 32.25600000000001 439.5101538461538 34.176V38.656000000000006H447.8301538461538V45.312000000000005H439.5101538461538V70.4Z M467.60615384615375 71.296Q462.87015384615376 71.296 459.09415384615374 69.376Q455.31815384615373 67.456 453.14215384615375 63.80800000000001Q450.96615384615376 60.160000000000004 450.96615384615376 55.040000000000006V54.016000000000005Q450.96615384615376 48.896 453.14215384615375 45.248000000000005Q455.31815384615373 41.60000000000001 459.09415384615374 39.68000000000001Q462.87015384615376 37.760000000000005 467.60615384615375 37.760000000000005Q472.34215384615374 37.760000000000005 476.11815384615375 39.68000000000001Q479.89415384615376 41.60000000000001 482.07015384615374 45.248000000000005Q484.24615384615373 48.896 484.24615384615373 54.016000000000005V55.040000000000006Q484.24615384615373 60.160000000000004 482.07015384615374 63.80800000000001Q479.89415384615376 67.456 476.11815384615375 69.376Q472.34215384615374 71.296 467.60615384615375 71.296ZM467.60615384615375 64.128Q471.31815384615373 64.128 473.75015384615375 61.728Q476.18215384615377 59.328 476.18215384615377 54.848000000000006V54.208000000000006Q476.18215384615377 49.72800000000001 473.78215384615373 47.328Q471.38215384615376 44.928000000000004 467.60615384615375 44.928000000000004Q463.89415384615376 44.928000000000004 461.46215384615374 47.328Q459.0301538461537 49.72800000000001 459.0301538461537 54.208000000000006V54.848000000000006Q459.0301538461537 59.328 461.46215384615374 61.728Q463.89415384615376 64.128 467.60615384615375 64.128Z M490.07015384615374 70.4V38.656000000000006H498.0061538461537V42.24000000000001H499.1581538461537Q499.8621538461537 40.32000000000001 501.4941538461537 39.42400000000001Q503.1261538461537 38.528000000000006 505.3021538461537 38.528000000000006H509.14215384615375V45.696000000000005H505.17415384615373Q502.1021538461537 45.696000000000005 500.11815384615375 47.328Q498.1341538461537 48.96000000000001 498.1341538461537 52.352000000000004V70.4Z M512.2781538461537 54.656000000000006V53.632000000000005Q512.2781538461537 48.64 514.2621538461538 45.088Q516.2461538461538 41.536 519.5421538461537 39.648Q522.8381538461538 37.760000000000005 526.7421538461538 37.760000000000005Q531.0941538461537 37.760000000000005 533.3341538461538 39.29600000000001Q535.5741538461538 40.83200000000001 536.5981538461538 42.49600000000001H537.7501538461538V38.656000000000006H545.6861538461537V76.03200000000001Q545.6861538461537 79.296 543.7661538461538 81.248Q541.8461538461538 83.2 538.6461538461538 83.2H517.3981538461537V76.16000000000001H535.8301538461537Q537.6221538461538 76.16000000000001 537.6221538461538 74.24000000000001V65.98400000000001H536.4701538461537Q535.8301538461537 67.00800000000001 534.6781538461537 68.06400000000001Q533.5261538461538 69.12 531.6061538461538 69.82400000000001Q529.6861538461537 70.528 526.7421538461538 70.528Q522.8381538461538 70.528 519.5421538461537 68.64000000000001Q516.2461538461538 66.75200000000001 514.2621538461538 63.2Q512.2781538461537 59.648 512.2781538461537 54.656000000000006ZM529.0461538461537 63.48800000000001Q532.7581538461537 63.48800000000001 535.2541538461537 61.120000000000005Q537.7501538461538 58.75200000000001 537.7501538461538 54.464000000000006V53.824000000000005Q537.7501538461538 49.47200000000001 535.2861538461538 47.13600000000001Q532.8221538461537 44.800000000000004 529.0461538461537 44.800000000000004Q525.3341538461538 44.800000000000004 522.8381538461538 47.13600000000001Q520.3421538461538 49.47200000000001 520.3421538461538 53.824000000000005V54.464000000000006Q520.3421538461538 58.75200000000001 522.8381538461538 61.120000000000005Q525.3341538461538 63.48800000000001 529.0461538461537 63.48800000000001Z M567.5101538461537 71.296Q562.7741538461537 71.296 559.1581538461537 69.28Q555.5421538461537 67.26400000000001 553.5261538461536 63.584Q551.5101538461537 59.904 551.5101538461537 54.912000000000006V54.144000000000005Q551.5101538461537 49.152 553.4941538461537 45.472Q555.4781538461538 41.792 559.0621538461537 39.776Q562.6461538461538 37.760000000000005 567.3821538461538 37.760000000000005Q572.0541538461537 37.760000000000005 575.5101538461537 39.84Q578.9661538461537 41.92 580.8861538461538 45.6Q582.8061538461537 49.28 582.8061538461537 54.144000000000005V56.89600000000001H559.7021538461537Q559.8301538461537 60.160000000000004 562.1341538461537 62.208Q564.4381538461537 64.256 567.7661538461538 64.256Q571.1581538461537 64.256 572.7581538461537 62.784000000000006Q574.3581538461538 61.312000000000005 575.1901538461537 59.52L581.7821538461537 62.976000000000006Q580.8861538461538 64.64 579.1901538461537 66.59200000000001Q577.4941538461537 68.54400000000001 574.6781538461537 69.92000000000002Q571.8621538461538 71.296 567.5101538461537 71.296ZM559.7661538461538 50.88000000000001H574.6141538461537Q574.3581538461538 48.128 572.4061538461538 46.464Q570.4541538461538 44.800000000000004 567.3181538461537 44.800000000000004Q564.0541538461537 44.800000000000004 562.1341538461537 46.464Q560.2141538461537 48.128 559.7661538461538 50.88000000000001Z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="100" height="130" viewBox="0 0 100 130"><g transform="translate(0.00 0.00) scale(1.00000)"><path fill="#E8622C" d="M83.91 35.50 L83.84 34.67 L83.74 33.84 L83.63 33.01 L83.50 32.19 L83.35 31.37 L83.17 30.55 L82.98 29.74 L82.77 28.93 L82.54 28.13 L82.28 27.33 L82.01 26.55 L81.72 25.76 L81.41 24.99 L81.08 24.22 L80.74 23.46 L80.37 22.71 L79.99 21.97 L79.58 21.24 L79.16 20.52 L78.73 19.81 L78.27 19.11 L77.80 18.42 L77.31 17.75 L76.80 17.08 L76.28 16.43 L75.75 15.79 L75.19 15.17 L74.62 14.56 L74.04 13.96 L73.44 13.38 L72.83 12.81 L72.21 12.25 L71.57 11.72 L70.92 11.20 L70.25 10.69 L69.58 10.20 L68.89 9.73 L68.19 9.27 L67.48 8.84 L66.76 8.42 L66.03 8.01 L65.29 7.63 L64.54 7.26 L63.78 6.92 L63.01 6.59 L62.24 6.28 L61.45 5.99 L60.67 5.72 L59.87 5.46 L59.07 5.23 L58.26 5.02 L57.45 4.83 L56.63 4.65 L55.81 4.50 L54.99 4.37 L54.16 4.26 L53.33 4.16 L52.50 4.09 L51.67 4.04 L50.83 4.01 L50.00 4.00 L49.17 4.01 L48.33 4.04 L47.50 4.09 L46.67 4.16 L45.84 4.26 L45.01 4.37 L44.19 4.50 L43.37 4.65 L42.55 4.83 L41.74 5.02 L40.93 5.23 L40.13 5.46 L39.33 5.72 L38.55 5.99 L37.76 6.28 L36.99 6.59 L36.22 6.92 L35.46 7.26 L34.71 7.63 L33.97 8.01 L33.24 8.42 L32.52 8.84 L31.81 9.27 L31.11 9.73 L30.42 10.20 L29.75 10.69 L29.08 11.20 L28.43 11.72 L27.79 12.25 L27.17 12.81 L26.56 13.38 L25.96 13.96 L25.38 14.56 L24.81 15.17 L24.25 15.79 L23.72 16.43 L23.20 17.08 L22.69 17.75 L22.20 18.42 L21.73 19.11 L21.27 19.81 L20.84 20.52 L20.42 21.24 L20.01 21.97 L19.63 22.71 L19.26 23.46 L18.92 24.22 L18.59 24.99 L18.28 25.76 L17.99 26.55 L17.72 27.33 L17.46 28.13 L17.23 28.93 L17.02 29.74 L16.83 30.55 L16.65 31.37 L16.50 32.19 L16.37 33.01 L16.26 33.84 L16.16 34.67 L16.09 35.50 L16.04 36.33 L16.01 37.17 L16.00 38.00 L16.01 38.83 L16.04 39.67 L16.09 40.50 L16.16 41.33 L16.24 42.00 L83.76 42.00 L83.84 41.33 L83.91 40.50 L83.96 39.67 L83.99 38.83 L84.00 38.00 L83.99 37.17 L83.96 36.33Z M20.42 54.76 L20.84 55.48 L21.27 56.19 L21.73 56.89 L22.20 57.58 L22.69 58.25 L23.20 58.92 L23.72 59.57 L24.25 60.21 L24.81 60.83 L25.38 61.44 L25.96 62.04 L26.56 62.62 L27.17 63.19 L27.79 63.75 L28.43 64.28 L29.08 64.80 L29.75 65.31 L30.42 65.80 L31.11 66.27 L31.81 66.73 L32.52 67.16 L32.64 67.23 L30.18 84.00 L69.82 84.00 L67.36 67.23 L67.48 67.16 L68.19 66.73 L68.89 66.27 L69.58 65.80 L70.25 65.31 L70.92 64.80 L71.57 64.28 L72.21 63.75 L72.83 63.19 L73.44 62.62 L74.04 62.04 L74.62 61.44 L75.19 60.83 L75.75 60.21 L76.28 59.57 L76.80 58.92 L77.31 58.25 L77.80 57.58 L78.27 56.89 L78.73 56.19 L79.16 55.48 L79.58 54.76 L79.99 54.03 L80.00 54.00 L20.00 54.00 L20.01 54.03Z M24.00 126.00 L76.00 126.00 L71.59 96.00 L28.41 96.00Z"/></g></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="100" height="130" viewBox="0 0 100 130"><g transform="translate(0.00 0.00) scale(1.00000)"><path fill="#E8622C" d="M83.91 35.50 L83.84 34.67 L83.74 33.84 L83.63 33.01 L83.50 32.19 L83.35 31.37 L83.17 30.55 L82.98 29.74 L82.77 28.93 L82.54 28.13 L82.28 27.33 L82.01 26.55 L81.72 25.76 L81.41 24.99 L81.08 24.22 L80.74 23.46 L80.37 22.71 L79.99 21.97 L79.58 21.24 L79.16 20.52 L78.73 19.81 L78.27 19.11 L77.80 18.42 L77.31 17.75 L76.80 17.08 L76.28 16.43 L75.75 15.79 L75.19 15.17 L74.62 14.56 L74.04 13.96 L73.44 13.38 L72.83 12.81 L72.21 12.25 L71.57 11.72 L70.92 11.20 L70.25 10.69 L69.58 10.20 L68.89 9.73 L68.19 9.27 L67.48 8.84 L66.76 8.42 L66.03 8.01 L65.29 7.63 L64.54 7.26 L63.78 6.92 L63.01 6.59 L62.24 6.28 L61.45 5.99 L60.67 5.72 L59.87 5.46 L59.07 5.23 L58.26 5.02 L57.45 4.83 L56.63 4.65 L55.81 4.50 L54.99 4.37 L54.16 4.26 L53.33 4.16 L52.50 4.09 L51.67 4.04 L50.83 4.01 L50.00 4.00 L49.17 4.01 L48.33 4.04 L47.50 4.09 L46.67 4.16 L45.84 4.26 L45.01 4.37 L44.19 4.50 L43.37 4.65 L42.55 4.83 L41.74 5.02 L40.93 5.23 L40.13 5.46 L39.33 5.72 L38.55 5.99 L37.76 6.28 L36.99 6.59 L36.22 6.92 L35.46 7.26 L34.71 7.63 L33.97 8.01 L33.24 8.42 L32.52 8.84 L31.81 9.27 L31.11 9.73 L30.42 10.20 L29.75 10.69 L29.08 11.20 L28.43 11.72 L27.79 12.25 L27.17 12.81 L26.56 13.38 L25.96 13.96 L25.38 14.56 L24.81 15.17 L24.25 15.79 L23.72 16.43 L23.20 17.08 L22.69 17.75 L22.20 18.42 L21.73 19.11 L21.27 19.81 L20.84 20.52 L20.42 21.24 L20.01 21.97 L19.63 22.71 L19.26 23.46 L18.92 24.22 L18.59 24.99 L18.28 25.76 L17.99 26.55 L17.72 27.33 L17.46 28.13 L17.23 28.93 L17.02 29.74 L16.83 30.55 L16.65 31.37 L16.50 32.19 L16.37 33.01 L16.26 33.84 L16.16 34.67 L16.09 35.50 L16.04 36.33 L16.01 37.17 L16.00 38.00 L16.01 38.83 L16.04 39.67 L16.09 40.50 L16.16 41.33 L16.26 42.16 L16.37 42.99 L16.50 43.81 L16.54 44.00 L83.46 44.00 L83.50 43.81 L83.63 42.99 L83.74 42.16 L83.84 41.33 L83.91 40.50 L83.96 39.67 L83.99 38.83 L84.00 38.00 L83.99 37.17 L83.96 36.33Z M19.63 53.29 L20.01 54.03 L20.42 54.76 L20.84 55.48 L21.27 56.19 L21.73 56.89 L22.20 57.58 L22.69 58.25 L23.20 58.92 L23.72 59.57 L24.25 60.21 L24.81 60.83 L25.38 61.44 L25.96 62.04 L26.56 62.62 L27.17 63.19 L27.79 63.75 L28.43 64.28 L29.08 64.80 L29.75 65.31 L30.42 65.80 L31.11 66.27 L31.81 66.73 L32.52 67.16 L32.64 67.23 L29.88 86.00 L70.12 86.00 L67.36 67.23 L67.48 67.16 L68.19 66.73 L68.89 66.27 L69.58 65.80 L70.25 65.31 L70.92 64.80 L71.57 64.28 L72.21 63.75 L72.83 63.19 L73.44 62.62 L74.04 62.04 L74.62 61.44 L75.19 60.83 L75.75 60.21 L76.28 59.57 L76.80 58.92 L77.31 58.25 L77.80 57.58 L78.27 56.89 L78.73 56.19 L79.16 55.48 L79.58 54.76 L79.99 54.03 L80.37 53.29 L80.74 52.54 L80.98 52.00 L19.02 52.00 L19.26 52.54Z M24.00 126.00 L76.00 126.00 L71.29 94.00 L28.71 94.00Z"/></g></svg>
|