diff --git a/.gitignore b/.gitignore index 139c47eb..54973a62 100644 --- a/.gitignore +++ b/.gitignore @@ -4,7 +4,7 @@ *.pyc __pycache__ **/*__pycache__ -db.sqlite3 +db.sqlite media car_inventory/settings.py # Backup files # diff --git a/api/migrations/0001_initial.py b/api/migrations/0001_initial.py index 2c045952..661f80cb 100644 --- a/api/migrations/0001_initial.py +++ b/api/migrations/0001_initial.py @@ -1,4 +1,4 @@ -# Generated by Django 5.1.4 on 2024-12-26 10:09 +# Generated by Django 5.1.4 on 2024-12-26 16:17 from django.db import migrations, models diff --git a/api/migrations/__pycache__/0001_initial.cpython-311.pyc b/api/migrations/__pycache__/0001_initial.cpython-311.pyc index 5d7a63d8..9132f552 100644 Binary files a/api/migrations/__pycache__/0001_initial.cpython-311.pyc and b/api/migrations/__pycache__/0001_initial.cpython-311.pyc differ diff --git a/car_inventory/__pycache__/settings.cpython-311.pyc b/car_inventory/__pycache__/settings.cpython-311.pyc index ffa684a6..56496f11 100644 Binary files a/car_inventory/__pycache__/settings.cpython-311.pyc and b/car_inventory/__pycache__/settings.cpython-311.pyc differ diff --git a/db.sqlite b/db.sqlite new file mode 100644 index 00000000..1bff61af Binary files /dev/null and b/db.sqlite differ diff --git a/haikalbot/migrations/0001_initial.py b/haikalbot/migrations/0001_initial.py index 45d94ed1..2c9008dd 100644 --- a/haikalbot/migrations/0001_initial.py +++ b/haikalbot/migrations/0001_initial.py @@ -1,4 +1,4 @@ -# Generated by Django 4.2.17 on 2024-12-26 10:12 +# Generated by Django 5.1.4 on 2024-12-26 16:17 from django.db import migrations, models diff --git a/haikalbot/migrations/0002_initial.py b/haikalbot/migrations/0002_initial.py index 28c8cd2c..6bf7d854 100644 --- a/haikalbot/migrations/0002_initial.py +++ b/haikalbot/migrations/0002_initial.py @@ -1,7 +1,7 @@ -# Generated by Django 4.2.17 on 2024-12-26 10:12 +# Generated by Django 5.1.4 on 2024-12-26 16:17 -from django.db import migrations, models import django.db.models.deletion +from django.db import migrations, models class Migration(migrations.Migration): diff --git a/inventory/__pycache__/forms.cpython-311.pyc b/inventory/__pycache__/forms.cpython-311.pyc index 454a569f..33ba4816 100644 Binary files a/inventory/__pycache__/forms.cpython-311.pyc and b/inventory/__pycache__/forms.cpython-311.pyc differ diff --git a/inventory/__pycache__/mixins.cpython-311.pyc b/inventory/__pycache__/mixins.cpython-311.pyc index 8450cde0..d9fae07d 100644 Binary files a/inventory/__pycache__/mixins.cpython-311.pyc and b/inventory/__pycache__/mixins.cpython-311.pyc differ diff --git a/inventory/__pycache__/models.cpython-311.pyc b/inventory/__pycache__/models.cpython-311.pyc index 17809036..e9fa55cf 100644 Binary files a/inventory/__pycache__/models.cpython-311.pyc and b/inventory/__pycache__/models.cpython-311.pyc differ diff --git a/inventory/__pycache__/services.cpython-311.pyc b/inventory/__pycache__/services.cpython-311.pyc index 77ff391b..953e5eac 100644 Binary files a/inventory/__pycache__/services.cpython-311.pyc and b/inventory/__pycache__/services.cpython-311.pyc differ diff --git a/inventory/__pycache__/urls.cpython-311.pyc b/inventory/__pycache__/urls.cpython-311.pyc index c0a72ed2..bcbbe013 100644 Binary files a/inventory/__pycache__/urls.cpython-311.pyc and b/inventory/__pycache__/urls.cpython-311.pyc differ diff --git a/inventory/__pycache__/views.cpython-311.pyc b/inventory/__pycache__/views.cpython-311.pyc index 35c041ff..daccf7d3 100644 Binary files a/inventory/__pycache__/views.cpython-311.pyc and b/inventory/__pycache__/views.cpython-311.pyc differ diff --git a/inventory/forms.py b/inventory/forms.py index 8790a225..2dcab553 100644 --- a/inventory/forms.py +++ b/inventory/forms.py @@ -43,7 +43,8 @@ class PaymentForm(forms.ModelForm): class UserForm(forms.ModelForm): class Meta: model = Dealer - fields = ['name', 'arabic_name', 'phone_number', 'address','dealer_type'] + fields = ['name', 'arabic_name', 'phone_number', 'address','dealer_type'] + # Dealer Form class DealerForm(forms.ModelForm): class Meta: @@ -265,134 +266,125 @@ class CarSelectionTable(tables.Table): class WizardForm1(forms.Form): - name = forms.CharField( - label="Name", - widget=forms.TextInput(attrs={ - 'class': 'form-control', - 'placeholder': 'Name', - 'required': 'required', - }), - error_messages={ - 'required': 'Please choose a username.', - } - ) - arabic_name = forms.CharField( - label="Arabic Name", - widget=forms.TextInput(attrs={ - 'class': 'form-control', - 'placeholder': 'Arabic Name', - 'required': 'required', - }), - error_messages={ - 'required': 'Please choose an Arabic name.', - } - ) + email = forms.EmailField( - label="Email*", widget=forms.EmailInput(attrs={ 'class': 'form-control', 'placeholder': 'Email address', - 'pattern': '^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$', 'required': 'required', }), error_messages={ - 'required': 'You must add an email.', + 'required': _('You must add an email.'), + } + ) + password = forms.CharField( + widget=forms.PasswordInput(attrs={ + 'class': 'form-control', + 'placeholder': _('Password'), + 'required': 'required', + }), + error_messages={ + 'required': _('This field is required.'), + } + ) + confirm_password = forms.CharField( + widget=forms.PasswordInput(attrs={ + 'class': 'form-control', + 'placeholder': _('Confirm Password'), + 'required': 'required', + }), + error_messages={ + 'required': _('This field is required.'), } ) terms = forms.BooleanField( - label="I accept the terms and privacy policy", + widget=forms.CheckboxInput(attrs={ 'class': 'form-check-input', 'required': 'required', - 'checked': 'checked', + }), error_messages={ - 'required': 'You must accept the terms and privacy policy.', + 'required': _('You must accept the terms and privacy policy.'), } ) class WizardForm2(forms.Form): - # Phone field with SA region validation + name = forms.CharField( + widget=forms.TextInput(attrs={ + 'class': 'form-control', + 'placeholder': _('English Name'), + 'required': 'required', + }), + error_messages={ + 'required': _('Please enter an English Name.'), + } + ) + arabic_name = forms.CharField( + widget=forms.TextInput(attrs={ + 'class': 'form-control', + 'placeholder': _('Arabic Name'), + 'required': 'required', + }), + error_messages={ + 'required': _('Please enter an Arabic name.'), + } + ) phone_number = PhoneNumberField( - label="Phone", + min_length=10, max_length=10, widget=forms.TextInput(attrs={ 'class': 'form-control', - 'placeholder': 'Phone', + 'placeholder': _('Phone'), 'required': 'required', }), - region='SA', # Enforces SA region validation + region='SA', error_messages={ - 'required': 'This field is required.', - 'invalid': 'Phone number must be in the format +966XXXXXXXXX (Saudi Arabia).', + 'required': _('This field is required.'), + 'invalid': _('Phone number must be in the format 05xxxxxxxx'), } ) +class WizardForm3(forms.Form): # CRN field with max length of 10 crn = forms.CharField( - label="CRN", widget=forms.TextInput(attrs={ 'class': 'form-control', - 'placeholder': 'CRN', + 'placeholder': _("Commercial Registration Number"), 'required': 'required', - 'maxlength': '10', # HTML maxlength attribute + 'maxlength': '10', }), - max_length=10, # Django max_length validation + max_length=10, error_messages={ 'required': 'This field is required.', - 'max_length': 'CRN must be at most 10 characters long.', + 'max_length': 'Commercial Registration Number must be 10 characters.', } ) # VRN field with max length of 15 vrn = forms.CharField( - label="VRN", widget=forms.TextInput(attrs={ 'class': 'form-control', - 'placeholder': 'VRN', + 'placeholder': _("VAT Registration Number"), 'required': 'required', - 'maxlength': '15', # HTML maxlength attribute + 'maxlength': '15', }), - max_length=15, # Django max_length validation + max_length=15, # error_messages={ - 'required': 'This field is required.', - 'max_length': 'VRN must be at most 15 characters long.', + 'required': _('This field is required.'), + 'max_length': _('VAT Registration Number must be 15 characters.'), } ) address = forms.CharField( - label="Address", widget=forms.Textarea(attrs={ 'class': 'form-control', - 'rows': '4', + 'rows': '3', 'required': 'required', }), error_messages={ - 'required': 'This field is required.', - } - ) -class WizardForm3(forms.Form): - password = forms.CharField( - label="Password*", - widget=forms.PasswordInput(attrs={ - 'class': 'form-control', - 'placeholder': 'Password', - 'required': 'required', - }), - error_messages={ - 'required': 'This field is required.', - } - ) - confirm_password = forms.CharField( - label="Confirm Password*", - widget=forms.PasswordInput(attrs={ - 'class': 'form-control', - 'placeholder': 'Confirm Password', - 'required': 'required', - }), - error_messages={ - 'required': 'This field is required.', + 'required': _('This field is required.'), } ) diff --git a/inventory/migrations/0001_initial.py b/inventory/migrations/0001_initial.py index bfa7c507..8f596b0e 100644 --- a/inventory/migrations/0001_initial.py +++ b/inventory/migrations/0001_initial.py @@ -1,11 +1,11 @@ -# Generated by Django 4.2.17 on 2024-12-26 10:12 +# Generated by Django 5.1.4 on 2024-12-26 16:17 -from decimal import Decimal -from django.conf import settings -from django.db import migrations, models import django.db.models.deletion import inventory.mixins import phonenumber_field.modelfields +from decimal import Decimal +from django.conf import settings +from django.db import migrations, models class Migration(migrations.Migration): @@ -13,8 +13,8 @@ class Migration(migrations.Migration): initial = True dependencies = [ - migrations.swappable_dependency(settings.AUTH_USER_MODEL), ('django_ledger', '0017_alter_accountmodel_unique_together_and_more'), + migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ @@ -66,90 +66,6 @@ class Migration(migrations.Migration): }, bases=(models.Model, inventory.mixins.LocalizedNameMixin), ), - migrations.CreateModel( - name='CarModel', - fields=[ - ('id_car_model', models.AutoField(primary_key=True, serialize=False)), - ('name', models.CharField(max_length=255)), - ('arabic_name', models.CharField(max_length=255)), - ('id_car_make', models.ForeignKey(db_column='id_car_make', on_delete=django.db.models.deletion.DO_NOTHING, to='inventory.carmake')), - ], - options={ - 'verbose_name': 'Model', - }, - bases=(models.Model, inventory.mixins.LocalizedNameMixin), - ), - migrations.CreateModel( - name='CarSerie', - fields=[ - ('id_car_serie', models.AutoField(primary_key=True, serialize=False)), - ('name', models.CharField(max_length=255)), - ('arabic_name', models.CharField(max_length=255)), - ('year_begin', models.IntegerField(blank=True, null=True)), - ('year_end', models.IntegerField(blank=True, null=True)), - ('id_car_model', models.ForeignKey(db_column='id_car_model', on_delete=django.db.models.deletion.DO_NOTHING, to='inventory.carmodel')), - ], - options={ - 'verbose_name': 'Series', - }, - bases=(models.Model, inventory.mixins.LocalizedNameMixin), - ), - migrations.CreateModel( - name='CarSpecification', - fields=[ - ('id_car_specification', models.AutoField(primary_key=True, serialize=False)), - ('name', models.CharField(max_length=255)), - ('arabic_name', models.CharField(max_length=255)), - ('id_parent', models.ForeignKey(blank=True, db_column='id_parent', null=True, on_delete=django.db.models.deletion.DO_NOTHING, to='inventory.carspecification')), - ], - options={ - 'verbose_name': 'Specification', - }, - bases=(models.Model, inventory.mixins.LocalizedNameMixin), - ), - migrations.CreateModel( - name='Customer', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('first_name', models.CharField(max_length=50, verbose_name='First Name')), - ('middle_name', models.CharField(blank=True, max_length=50, null=True, verbose_name='Middle Name')), - ('last_name', models.CharField(max_length=50, verbose_name='Last Name')), - ('email', models.EmailField(max_length=254, unique=True, verbose_name='Email')), - ('national_id', models.CharField(max_length=10, unique=True, verbose_name='National ID')), - ('phone_number', phonenumber_field.modelfields.PhoneNumberField(max_length=128, region='SA', unique=True, verbose_name='Phone Number')), - ('address', models.CharField(blank=True, max_length=200, null=True, verbose_name='Address')), - ('created', models.DateTimeField(auto_now_add=True, verbose_name='Created')), - ], - options={ - 'verbose_name': 'Customer', - 'verbose_name_plural': 'Customers', - }, - ), - migrations.CreateModel( - name='Dealer', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('crn', models.CharField(blank=True, max_length=10, null=True, verbose_name='Commercial Registration Number')), - ('vrn', models.CharField(blank=True, max_length=15, null=True, verbose_name='VAT Registration Number')), - ('arabic_name', models.CharField(max_length=255, verbose_name='Arabic Name')), - ('name', models.CharField(max_length=255, verbose_name='English Name')), - ('phone_number', phonenumber_field.modelfields.PhoneNumberField(max_length=128, region='SA', verbose_name='Phone Number')), - ('address', models.CharField(blank=True, max_length=200, null=True, verbose_name='Address')), - ('logo', models.ImageField(blank=True, null=True, upload_to='logos/users', verbose_name='Logo')), - ('joined_at', models.DateTimeField(auto_now_add=True, verbose_name='Joined At')), - ('email', models.EmailField(max_length=254, unique=True, verbose_name='Email')), - ('dealer_type', models.CharField(choices=[('Owner', 'Owner'), ('Inventory', 'Inventory'), ('Accountent', 'Accountent'), ('sales', 'Sales')], default='Owner', max_length=255, verbose_name='Dealer Type')), - ('entity', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='django_ledger.entitymodel')), - ('parent_dealer', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='sub_dealers', to='inventory.dealer', verbose_name='Parent Dealer')), - ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='dealer', to=settings.AUTH_USER_MODEL)), - ], - options={ - 'verbose_name': 'Dealer', - 'verbose_name_plural': 'Dealers', - 'permissions': [('change_dealer_type', 'Can change dealer type')], - }, - bases=(models.Model, inventory.mixins.LocalizedNameMixin), - ), migrations.CreateModel( name='ExteriorColors', fields=[ @@ -178,25 +94,6 @@ class Migration(migrations.Migration): }, bases=(models.Model, inventory.mixins.LocalizedNameMixin), ), - migrations.CreateModel( - name='Organization', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(max_length=255, verbose_name='Name')), - ('arabic_name', models.CharField(max_length=255, verbose_name='Arabic Name')), - ('crn', models.CharField(max_length=15, verbose_name='Commercial Registration Number')), - ('vrn', models.CharField(max_length=15, verbose_name='VAT Registration Number')), - ('phone_number', phonenumber_field.modelfields.PhoneNumberField(max_length=128, region='SA', verbose_name='Phone Number')), - ('address', models.CharField(blank=True, max_length=200, null=True, verbose_name='Address')), - ('logo', models.ImageField(blank=True, null=True, upload_to='logos', verbose_name='Logo')), - ('dealer', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='organizations', to='inventory.dealer')), - ], - options={ - 'verbose_name': 'Organization', - 'verbose_name_plural': 'Organizations', - }, - bases=(models.Model, inventory.mixins.LocalizedNameMixin), - ), migrations.CreateModel( name='Payment', fields=[ @@ -211,30 +108,6 @@ class Migration(migrations.Migration): 'verbose_name_plural': 'payments', }, ), - migrations.CreateModel( - name='SaleQuotation', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('quotation_number', models.CharField(max_length=10, unique=True)), - ('amount', models.DecimalField(decimal_places=2, default=Decimal('0.00'), max_digits=10, verbose_name='Amount')), - ('remarks', models.TextField(blank=True, null=True, verbose_name='Remarks')), - ('is_approved', models.BooleanField(default=False)), - ('status', models.CharField(choices=[('Draft', 'Draft'), ('Approved', 'Approved'), ('In Review', 'In Review'), ('Paid', 'Paid')], default='Draft', max_length=10, verbose_name='Status')), - ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='Created At')), - ('updated_at', models.DateTimeField(auto_now=True, verbose_name='Updated At')), - ('posted', models.BooleanField(default=False)), - ('payment_id', models.CharField(blank=True, max_length=255, null=True, verbose_name='Payment ID')), - ('is_paid', models.BooleanField(default=False)), - ('date_draft', models.DateTimeField(blank=True, null=True, verbose_name='Draft Date')), - ('date_in_review', models.DateTimeField(blank=True, null=True, verbose_name='In Review Date')), - ('date_approved', models.DateTimeField(blank=True, null=True, verbose_name='Approved Date')), - ('date_paid', models.DateTimeField(blank=True, null=True, verbose_name='Paid Date')), - ('date_void', models.DateTimeField(blank=True, null=True, verbose_name='Void Date')), - ('date_canceled', models.DateTimeField(blank=True, null=True, verbose_name='Canceled Date')), - ('customer', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='quotations', to='inventory.customer', verbose_name='Customer')), - ('dealer', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='sales', to='inventory.dealer')), - ], - ), migrations.CreateModel( name='Subscription', fields=[ @@ -257,110 +130,91 @@ class Migration(migrations.Migration): ], ), migrations.CreateModel( - name='Vendor', + name='CarFinance', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('crn', models.CharField(max_length=10, unique=True, verbose_name='Commercial Registration Number')), - ('vrn', models.CharField(max_length=15, unique=True, verbose_name='VAT Registration Number')), - ('arabic_name', models.CharField(max_length=255, verbose_name='Arabic Name')), - ('name', models.CharField(max_length=255, verbose_name='English Name')), - ('contact_person', models.CharField(max_length=100, verbose_name='Contact Person')), - ('phone_number', phonenumber_field.modelfields.PhoneNumberField(max_length=128, region='SA', verbose_name='Phone Number')), - ('address', models.CharField(blank=True, max_length=200, null=True, verbose_name='Address')), - ('logo', models.ImageField(blank=True, null=True, upload_to='logos/vendors', verbose_name='Logo')), - ('dealer', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='vendors', to='inventory.dealer')), + ('cost_price', models.DecimalField(decimal_places=2, max_digits=14, verbose_name='Cost Price')), + ('selling_price', models.DecimalField(decimal_places=2, max_digits=14, verbose_name='Selling Price')), + ('discount_amount', models.DecimalField(decimal_places=2, default=Decimal('0.00'), max_digits=14, verbose_name='Discount Amount')), + ('additional_services', models.ManyToManyField(blank=True, related_name='additional_finances', to='inventory.additionalservices')), + ('car', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='finances', to='inventory.car')), ], options={ - 'verbose_name': 'Vendor', - 'verbose_name_plural': 'Vendors', + 'verbose_name': 'Car Financial Details', + 'verbose_name_plural': 'Car Financial Details', + }, + ), + migrations.AddField( + model_name='car', + name='id_car_make', + field=models.ForeignKey(blank=True, db_column='id_car_make', null=True, on_delete=django.db.models.deletion.DO_NOTHING, to='inventory.carmake', verbose_name='Make'), + ), + migrations.CreateModel( + name='CarModel', + fields=[ + ('id_car_model', models.AutoField(primary_key=True, serialize=False)), + ('name', models.CharField(max_length=255)), + ('arabic_name', models.CharField(max_length=255)), + ('id_car_make', models.ForeignKey(db_column='id_car_make', on_delete=django.db.models.deletion.DO_NOTHING, to='inventory.carmake')), + ], + options={ + 'verbose_name': 'Model', }, bases=(models.Model, inventory.mixins.LocalizedNameMixin), ), - migrations.CreateModel( - name='SubscriptionUser', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('subscription', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='inventory.subscription')), - ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), - ], - ), migrations.AddField( - model_name='subscription', - name='users', - field=models.ManyToManyField(through='inventory.SubscriptionUser', to=settings.AUTH_USER_MODEL), + model_name='car', + name='id_car_model', + field=models.ForeignKey(blank=True, db_column='id_car_model', null=True, on_delete=django.db.models.deletion.DO_NOTHING, to='inventory.carmodel', verbose_name='Model'), ), migrations.CreateModel( - name='SalesOrder', + name='CarRegistration', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='Created At')), - ('total_amount', models.DecimalField(decimal_places=2, max_digits=14, verbose_name='Total Amount')), - ('quotation', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='sales_order', to='inventory.salequotation', verbose_name='Quotation')), - ], - ), - migrations.CreateModel( - name='SaleQuotationCar', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('quantity', models.PositiveIntegerField(default=1, verbose_name='Quantity')), - ('car', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='inventory.car', verbose_name='Car')), - ('quotation', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='quotation_cars', to='inventory.salequotation', verbose_name='Quotation')), - ], - ), - migrations.CreateModel( - name='Representative', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(max_length=255, verbose_name='Name')), - ('arabic_name', models.CharField(max_length=255, verbose_name='Arabic Name')), - ('id_number', models.CharField(max_length=10, verbose_name='ID Number')), - ('phone_number', phonenumber_field.modelfields.PhoneNumberField(max_length=128, region='SA', verbose_name='Phone Number')), - ('address', models.CharField(blank=True, max_length=200, null=True, verbose_name='Address')), - ('dealer', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='representatives', to='inventory.dealer')), - ('organization', models.ManyToManyField(related_name='representatives', to='inventory.organization')), + ('plate_number', models.IntegerField(verbose_name='Plate Number')), + ('text1', models.CharField(max_length=1, verbose_name='Text 1')), + ('text2', models.CharField(max_length=1, verbose_name='Text 2')), + ('text3', models.CharField(max_length=1, verbose_name='Text 3')), + ('registration_date', models.DateTimeField(verbose_name='Registration Date')), + ('car', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='registrations', to='inventory.car', verbose_name='Car')), ], options={ - 'verbose_name': 'Representative', - 'verbose_name_plural': 'Representatives', + 'verbose_name': 'Registration', + 'verbose_name_plural': 'Registrations', + }, + ), + migrations.CreateModel( + name='CarSerie', + fields=[ + ('id_car_serie', models.AutoField(primary_key=True, serialize=False)), + ('name', models.CharField(max_length=255)), + ('arabic_name', models.CharField(max_length=255)), + ('year_begin', models.IntegerField(blank=True, null=True)), + ('year_end', models.IntegerField(blank=True, null=True)), + ('id_car_model', models.ForeignKey(db_column='id_car_model', on_delete=django.db.models.deletion.DO_NOTHING, to='inventory.carmodel')), + ], + options={ + 'verbose_name': 'Series', }, bases=(models.Model, inventory.mixins.LocalizedNameMixin), ), - migrations.CreateModel( - name='Refund', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('amount', models.DecimalField(decimal_places=2, max_digits=10, verbose_name='amount')), - ('reason', models.TextField(blank=True, verbose_name='reason')), - ('refund_date', models.DateField(auto_now_add=True, verbose_name='refund date')), - ('payment', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='refund', to='inventory.payment')), - ], - options={ - 'verbose_name': 'refund', - 'verbose_name_plural': 'refunds', - }, - ), migrations.AddField( - model_name='payment', - name='quotation', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='payments', to='inventory.salequotation'), - ), - migrations.AddField( - model_name='customer', - name='dealer', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='customers', to='inventory.dealer'), + model_name='car', + name='id_car_serie', + field=models.ForeignKey(blank=True, db_column='id_car_serie', null=True, on_delete=django.db.models.deletion.DO_NOTHING, to='inventory.carserie', verbose_name='Series'), ), migrations.CreateModel( - name='CustomCard', + name='CarSpecification', fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('custom_number', models.CharField(max_length=255, verbose_name='Custom Number')), - ('custom_date', models.DateField(verbose_name='Custom Date')), - ('car', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='custom_cards', to='inventory.car', verbose_name='Car')), + ('id_car_specification', models.AutoField(primary_key=True, serialize=False)), + ('name', models.CharField(max_length=255)), + ('arabic_name', models.CharField(max_length=255)), + ('id_parent', models.ForeignKey(blank=True, db_column='id_parent', null=True, on_delete=django.db.models.deletion.DO_NOTHING, to='inventory.carspecification')), ], options={ - 'verbose_name': 'Custom Card', - 'verbose_name_plural': 'Custom Cards', + 'verbose_name': 'Specification', }, + bases=(models.Model, inventory.mixins.LocalizedNameMixin), ), migrations.CreateModel( name='CarTrim', @@ -391,20 +245,66 @@ class Migration(migrations.Migration): 'verbose_name': 'Specification Value', }, ), + migrations.AddField( + model_name='car', + name='id_car_trim', + field=models.ForeignKey(blank=True, db_column='id_car_trim', null=True, on_delete=django.db.models.deletion.DO_NOTHING, to='inventory.cartrim', verbose_name='Trim'), + ), migrations.CreateModel( - name='CarRegistration', + name='CustomCard', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('plate_number', models.IntegerField(verbose_name='Plate Number')), - ('text1', models.CharField(max_length=1, verbose_name='Text 1')), - ('text2', models.CharField(max_length=1, verbose_name='Text 2')), - ('text3', models.CharField(max_length=1, verbose_name='Text 3')), - ('registration_date', models.DateTimeField(verbose_name='Registration Date')), - ('car', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='registrations', to='inventory.car', verbose_name='Car')), + ('custom_number', models.CharField(max_length=255, verbose_name='Custom Number')), + ('custom_date', models.DateField(verbose_name='Custom Date')), + ('car', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='custom_cards', to='inventory.car', verbose_name='Car')), ], options={ - 'verbose_name': 'Registration', - 'verbose_name_plural': 'Registrations', + 'verbose_name': 'Custom Card', + 'verbose_name_plural': 'Custom Cards', + }, + ), + migrations.CreateModel( + name='Dealer', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('crn', models.CharField(blank=True, max_length=10, null=True, verbose_name='Commercial Registration Number')), + ('vrn', models.CharField(blank=True, max_length=15, null=True, verbose_name='VAT Registration Number')), + ('arabic_name', models.CharField(max_length=255, verbose_name='Arabic Name')), + ('name', models.CharField(max_length=255, verbose_name='English Name')), + ('phone_number', phonenumber_field.modelfields.PhoneNumberField(max_length=128, region='SA', unique=True, verbose_name='Phone Number')), + ('address', models.CharField(blank=True, max_length=200, null=True, verbose_name='Address')), + ('logo', models.ImageField(blank=True, null=True, upload_to='logos/users', verbose_name='Logo')), + ('joined_at', models.DateTimeField(auto_now_add=True, verbose_name='Joined At')), + ('email', models.EmailField(max_length=100, unique=True, verbose_name='Email')), + ('dealer_type', models.CharField(choices=[('Owner', 'Owner'), ('Inventory', 'Inventory'), ('Accountent', 'Accountent'), ('sales', 'Sales')], default='Owner', max_length=255, verbose_name='Dealer Type')), + ('entity', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='django_ledger.entitymodel')), + ('parent_dealer', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='sub_dealers', to='inventory.dealer', verbose_name='Parent Dealer')), + ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='dealer', to=settings.AUTH_USER_MODEL)), + ], + options={ + 'verbose_name': 'Dealer', + 'verbose_name_plural': 'Dealers', + 'permissions': [('change_dealer_type', 'Can change dealer type')], + }, + bases=(models.Model, inventory.mixins.LocalizedNameMixin), + ), + migrations.CreateModel( + name='Customer', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('first_name', models.CharField(max_length=50, verbose_name='First Name')), + ('middle_name', models.CharField(blank=True, max_length=50, null=True, verbose_name='Middle Name')), + ('last_name', models.CharField(max_length=50, verbose_name='Last Name')), + ('email', models.EmailField(max_length=254, unique=True, verbose_name='Email')), + ('national_id', models.CharField(max_length=10, unique=True, verbose_name='National ID')), + ('phone_number', phonenumber_field.modelfields.PhoneNumberField(max_length=128, region='SA', unique=True, verbose_name='Phone Number')), + ('address', models.CharField(blank=True, max_length=200, null=True, verbose_name='Address')), + ('created', models.DateTimeField(auto_now_add=True, verbose_name='Created')), + ('dealer', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='customers', to='inventory.dealer')), + ], + options={ + 'verbose_name': 'Customer', + 'verbose_name_plural': 'Customers', }, ), migrations.CreateModel( @@ -423,56 +323,152 @@ class Migration(migrations.Migration): 'verbose_name_plural': 'Car Locations', }, ), - migrations.CreateModel( - name='CarFinance', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('cost_price', models.DecimalField(decimal_places=2, max_digits=14, verbose_name='Cost Price')), - ('selling_price', models.DecimalField(decimal_places=2, max_digits=14, verbose_name='Selling Price')), - ('discount_amount', models.DecimalField(decimal_places=2, default=Decimal('0.00'), max_digits=14, verbose_name='Discount Amount')), - ('additional_services', models.ManyToManyField(blank=True, related_name='additional_finances', to='inventory.additionalservices')), - ('car', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='finances', to='inventory.car')), - ], - options={ - 'verbose_name': 'Car Financial Details', - 'verbose_name_plural': 'Car Financial Details', - }, - ), migrations.AddField( model_name='car', name='dealer', field=models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, related_name='cars', to='inventory.dealer', verbose_name='Dealer'), ), migrations.AddField( - model_name='car', - name='id_car_make', - field=models.ForeignKey(blank=True, db_column='id_car_make', null=True, on_delete=django.db.models.deletion.DO_NOTHING, to='inventory.carmake', verbose_name='Make'), + model_name='additionalservices', + name='dealer', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='inventory.dealer', verbose_name='Dealer'), + ), + migrations.CreateModel( + name='Organization', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=255, verbose_name='Name')), + ('arabic_name', models.CharField(max_length=255, verbose_name='Arabic Name')), + ('crn', models.CharField(max_length=15, verbose_name='Commercial Registration Number')), + ('vrn', models.CharField(max_length=15, verbose_name='VAT Registration Number')), + ('phone_number', phonenumber_field.modelfields.PhoneNumberField(max_length=128, region='SA', verbose_name='Phone Number')), + ('address', models.CharField(blank=True, max_length=200, null=True, verbose_name='Address')), + ('logo', models.ImageField(blank=True, null=True, upload_to='logos', verbose_name='Logo')), + ('dealer', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='organizations', to='inventory.dealer')), + ], + options={ + 'verbose_name': 'Organization', + 'verbose_name_plural': 'Organizations', + }, + bases=(models.Model, inventory.mixins.LocalizedNameMixin), + ), + migrations.CreateModel( + name='Refund', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('amount', models.DecimalField(decimal_places=2, max_digits=10, verbose_name='amount')), + ('reason', models.TextField(blank=True, verbose_name='reason')), + ('refund_date', models.DateField(auto_now_add=True, verbose_name='refund date')), + ('payment', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='refund', to='inventory.payment')), + ], + options={ + 'verbose_name': 'refund', + 'verbose_name_plural': 'refunds', + }, + ), + migrations.CreateModel( + name='Representative', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=255, verbose_name='Name')), + ('arabic_name', models.CharField(max_length=255, verbose_name='Arabic Name')), + ('id_number', models.CharField(max_length=10, verbose_name='ID Number')), + ('phone_number', phonenumber_field.modelfields.PhoneNumberField(max_length=128, region='SA', verbose_name='Phone Number')), + ('address', models.CharField(blank=True, max_length=200, null=True, verbose_name='Address')), + ('dealer', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='representatives', to='inventory.dealer')), + ('organization', models.ManyToManyField(related_name='representatives', to='inventory.organization')), + ], + options={ + 'verbose_name': 'Representative', + 'verbose_name_plural': 'Representatives', + }, + bases=(models.Model, inventory.mixins.LocalizedNameMixin), + ), + migrations.CreateModel( + name='SaleQuotation', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('quotation_number', models.CharField(max_length=10, unique=True)), + ('amount', models.DecimalField(decimal_places=2, default=Decimal('0.00'), max_digits=10, verbose_name='Amount')), + ('remarks', models.TextField(blank=True, null=True, verbose_name='Remarks')), + ('is_approved', models.BooleanField(default=False)), + ('status', models.CharField(choices=[('Draft', 'Draft'), ('Approved', 'Approved'), ('In Review', 'In Review'), ('Paid', 'Paid')], default='Draft', max_length=10, verbose_name='Status')), + ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='Created At')), + ('updated_at', models.DateTimeField(auto_now=True, verbose_name='Updated At')), + ('posted', models.BooleanField(default=False)), + ('payment_id', models.CharField(blank=True, max_length=255, null=True, verbose_name='Payment ID')), + ('is_paid', models.BooleanField(default=False)), + ('date_draft', models.DateTimeField(blank=True, null=True, verbose_name='Draft Date')), + ('date_in_review', models.DateTimeField(blank=True, null=True, verbose_name='In Review Date')), + ('date_approved', models.DateTimeField(blank=True, null=True, verbose_name='Approved Date')), + ('date_paid', models.DateTimeField(blank=True, null=True, verbose_name='Paid Date')), + ('date_void', models.DateTimeField(blank=True, null=True, verbose_name='Void Date')), + ('date_canceled', models.DateTimeField(blank=True, null=True, verbose_name='Canceled Date')), + ('customer', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='quotations', to='inventory.customer', verbose_name='Customer')), + ('dealer', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='sales', to='inventory.dealer')), + ], ), migrations.AddField( - model_name='car', - name='id_car_model', - field=models.ForeignKey(blank=True, db_column='id_car_model', null=True, on_delete=django.db.models.deletion.DO_NOTHING, to='inventory.carmodel', verbose_name='Model'), + model_name='payment', + name='quotation', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='payments', to='inventory.salequotation'), + ), + migrations.CreateModel( + name='SaleQuotationCar', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('quantity', models.PositiveIntegerField(default=1, verbose_name='Quantity')), + ('car', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='inventory.car', verbose_name='Car')), + ('quotation', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='quotation_cars', to='inventory.salequotation', verbose_name='Quotation')), + ], + ), + migrations.CreateModel( + name='SalesOrder', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='Created At')), + ('total_amount', models.DecimalField(decimal_places=2, max_digits=14, verbose_name='Total Amount')), + ('quotation', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='sales_order', to='inventory.salequotation', verbose_name='Quotation')), + ], + ), + migrations.CreateModel( + name='SubscriptionUser', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('subscription', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='inventory.subscription')), + ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), + ], ), migrations.AddField( - model_name='car', - name='id_car_serie', - field=models.ForeignKey(blank=True, db_column='id_car_serie', null=True, on_delete=django.db.models.deletion.DO_NOTHING, to='inventory.carserie', verbose_name='Series'), + model_name='subscription', + name='users', + field=models.ManyToManyField(through='inventory.SubscriptionUser', to=settings.AUTH_USER_MODEL), ), - migrations.AddField( - model_name='car', - name='id_car_trim', - field=models.ForeignKey(blank=True, db_column='id_car_trim', null=True, on_delete=django.db.models.deletion.DO_NOTHING, to='inventory.cartrim', verbose_name='Trim'), + migrations.CreateModel( + name='Vendor', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('crn', models.CharField(max_length=10, unique=True, verbose_name='Commercial Registration Number')), + ('vrn', models.CharField(max_length=15, unique=True, verbose_name='VAT Registration Number')), + ('arabic_name', models.CharField(max_length=255, verbose_name='Arabic Name')), + ('name', models.CharField(max_length=255, verbose_name='English Name')), + ('contact_person', models.CharField(max_length=100, verbose_name='Contact Person')), + ('phone_number', phonenumber_field.modelfields.PhoneNumberField(max_length=128, region='SA', verbose_name='Phone Number')), + ('address', models.CharField(blank=True, max_length=200, null=True, verbose_name='Address')), + ('logo', models.ImageField(blank=True, null=True, upload_to='logos/vendors', verbose_name='Logo')), + ('dealer', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='vendors', to='inventory.dealer')), + ], + options={ + 'verbose_name': 'Vendor', + 'verbose_name_plural': 'Vendors', + }, + bases=(models.Model, inventory.mixins.LocalizedNameMixin), ), migrations.AddField( model_name='car', name='vendor', field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='cars', to='inventory.vendor', verbose_name='Vendor'), ), - migrations.AddField( - model_name='additionalservices', - name='dealer', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='inventory.dealer', verbose_name='Dealer'), - ), migrations.CreateModel( name='CarReservation', fields=[ diff --git a/inventory/migrations/0002_alter_dealer_user.py b/inventory/migrations/0002_alter_dealer_user.py deleted file mode 100644 index eb26ff82..00000000 --- a/inventory/migrations/0002_alter_dealer_user.py +++ /dev/null @@ -1,21 +0,0 @@ -# Generated by Django 4.2.17 on 2024-12-26 14:19 - -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ('inventory', '0001_initial'), - ] - - operations = [ - migrations.AlterField( - model_name='dealer', - name='user', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='dealer', to=settings.AUTH_USER_MODEL), - ), - ] diff --git a/inventory/migrations/0002_remove_dealer_email.py b/inventory/migrations/0002_remove_dealer_email.py new file mode 100644 index 00000000..8a551dd0 --- /dev/null +++ b/inventory/migrations/0002_remove_dealer_email.py @@ -0,0 +1,17 @@ +# Generated by Django 5.1.4 on 2024-12-26 17:33 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('inventory', '0001_initial'), + ] + + operations = [ + migrations.RemoveField( + model_name='dealer', + name='email', + ), + ] diff --git a/inventory/migrations/0003_alter_dealer_email.py b/inventory/migrations/0003_alter_dealer_email.py deleted file mode 100644 index c81e2d07..00000000 --- a/inventory/migrations/0003_alter_dealer_email.py +++ /dev/null @@ -1,18 +0,0 @@ -# Generated by Django 4.2.17 on 2024-12-26 15:44 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('inventory', '0002_alter_dealer_user'), - ] - - operations = [ - migrations.AlterField( - model_name='dealer', - name='email', - field=models.EmailField(max_length=100, null=True, unique=True, verbose_name='Email'), - ), - ] diff --git a/inventory/migrations/0003_alter_dealer_phone_number.py b/inventory/migrations/0003_alter_dealer_phone_number.py new file mode 100644 index 00000000..1d8f30aa --- /dev/null +++ b/inventory/migrations/0003_alter_dealer_phone_number.py @@ -0,0 +1,19 @@ +# Generated by Django 5.1.4 on 2024-12-26 18:27 + +import phonenumber_field.modelfields +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('inventory', '0002_remove_dealer_email'), + ] + + operations = [ + migrations.AlterField( + model_name='dealer', + name='phone_number', + field=phonenumber_field.modelfields.PhoneNumberField(max_length=128, region='SA', verbose_name='Phone Number'), + ), + ] diff --git a/inventory/migrations/0004_alter_dealer_email_alter_dealer_phone_number.py b/inventory/migrations/0004_alter_dealer_email_alter_dealer_phone_number.py deleted file mode 100644 index 2fa79282..00000000 --- a/inventory/migrations/0004_alter_dealer_email_alter_dealer_phone_number.py +++ /dev/null @@ -1,25 +0,0 @@ -# Generated by Django 4.2.17 on 2024-12-26 15:51 - -from django.db import migrations, models -import phonenumber_field.modelfields - - -class Migration(migrations.Migration): - - dependencies = [ - ('inventory', '0003_alter_dealer_email'), - ] - - operations = [ - migrations.AlterField( - model_name='dealer', - name='email', - field=models.EmailField(default='a@a.com', max_length=100, unique=True, verbose_name='Email'), - preserve_default=False, - ), - migrations.AlterField( - model_name='dealer', - name='phone_number', - field=phonenumber_field.modelfields.PhoneNumberField(max_length=128, region='SA', unique=True, verbose_name='Phone Number'), - ), - ] diff --git a/inventory/migrations/0004_alter_dealer_managers_remove_dealer_entity.py b/inventory/migrations/0004_alter_dealer_managers_remove_dealer_entity.py new file mode 100644 index 00000000..43966977 --- /dev/null +++ b/inventory/migrations/0004_alter_dealer_managers_remove_dealer_entity.py @@ -0,0 +1,24 @@ +# Generated by Django 5.1.4 on 2024-12-26 23:03 + +import inventory.models +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('inventory', '0003_alter_dealer_phone_number'), + ] + + operations = [ + migrations.AlterModelManagers( + name='dealer', + managers=[ + ('objects', inventory.models.DealerUserManager()), + ], + ), + migrations.RemoveField( + model_name='dealer', + name='entity', + ), + ] diff --git a/inventory/migrations/0005_alter_dealer_user.py b/inventory/migrations/0005_alter_dealer_user.py deleted file mode 100644 index 4375e77b..00000000 --- a/inventory/migrations/0005_alter_dealer_user.py +++ /dev/null @@ -1,21 +0,0 @@ -# Generated by Django 4.2.17 on 2024-12-26 15:57 - -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ('inventory', '0004_alter_dealer_email_alter_dealer_phone_number'), - ] - - operations = [ - migrations.AlterField( - model_name='dealer', - name='user', - field=models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='dealer', to=settings.AUTH_USER_MODEL), - ), - ] diff --git a/inventory/migrations/0005_dealer_entity.py b/inventory/migrations/0005_dealer_entity.py new file mode 100644 index 00000000..b9239e65 --- /dev/null +++ b/inventory/migrations/0005_dealer_entity.py @@ -0,0 +1,20 @@ +# Generated by Django 5.1.4 on 2024-12-26 23:57 + +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('django_ledger', '0017_alter_accountmodel_unique_together_and_more'), + ('inventory', '0004_alter_dealer_managers_remove_dealer_entity'), + ] + + operations = [ + migrations.AddField( + model_name='dealer', + name='entity', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='django_ledger.entitymodel'), + ), + ] diff --git a/inventory/mixins.py b/inventory/mixins.py index a7afea2e..966a8666 100644 --- a/inventory/mixins.py +++ b/inventory/mixins.py @@ -33,11 +33,11 @@ class LocalizedNameMixin: return getattr(self, 'name', None) -class AddDealerInstanceMixin: - def form_valid(self, form): - if form.is_valid(): - form.instance.dealer = self.request.user.dealer.get_root_dealer - form.save() - return super().form_valid(form) - else: - return form.errors \ No newline at end of file +# class AddDealerInstanceMixin: +# def form_valid(self, form): +# if form.is_valid(): +# form.instance.dealer = self.request.user.dealer.get_root_dealer +# form.save() +# return super().form_valid(form) +# else: +# return form.errors \ No newline at end of file diff --git a/inventory/models.py b/inventory/models.py index 7adc2d81..9f29b9c6 100644 --- a/inventory/models.py +++ b/inventory/models.py @@ -3,7 +3,7 @@ from uuid import uuid4 from django.conf import settings from django.db import models, transaction from django.db.models import Sum, F, Count -from django.contrib.auth.models import User +from django.contrib.auth.models import User, UserManager from django.db.models.signals import pre_save, post_save from django.dispatch import receiver from django.utils.translation import gettext_lazy as _ @@ -29,6 +29,15 @@ from django.db.models import FloatField from .mixins import LocalizedNameMixin from django_ledger.models import EntityModel + +class DealerUserManager(UserManager): + def create_user_with_dealer(self, email, password, dealer_name, arabic_name, crn, vrn, address, **extra_fields): + user = self.create_user(email=email, password=password, **extra_fields) + Dealer.objects.create(user=user, name=dealer_name, ) + + return user + + UNIT_CHOICES = ( ("Kg", _("Kg")), ("L", _("L")), @@ -147,10 +156,10 @@ class CarStockTypeChoices(models.TextChoices): class DEALER_TYPES(models.TextChoices): - Owner = "Owner", _("Owner") - Inventory = "Inventory", _("Inventory") - Accountent = "Accountent", _("Accountent") - Sales = "sales", _("Sales") + OWNER = "Owner", _("Owner") + INVENTORY = "Inventory", _("Inventory") + ACCOUNTANT = "Accountent", _("Accountent") + SALES = "sales", _("Sales") class AdditionalServices(models.Model, LocalizedNameMixin): @@ -482,12 +491,15 @@ class Subscription(models.Model): is_active = models.BooleanField(default=True) def __str__(self): return self.plan + + class SubscriptionUser(models.Model): subscription = models.ForeignKey(Subscription, on_delete=models.CASCADE) user = models.ForeignKey(User, on_delete=models.CASCADE) def __str__(self): return f"{self.subscription} - {self.user}" - + + class SubscriptionPlan(models.Model): name = models.CharField(max_length=255) description = models.TextField() @@ -495,41 +507,44 @@ class SubscriptionPlan(models.Model): max_users = models.IntegerField() # maximum number of users per account def __str__(self): return f"{self.name} - {self.price}" + + # Dealer Model class Dealer(models.Model, LocalizedNameMixin): user = models.OneToOneField(User, on_delete=models.CASCADE, related_name="dealer") - crn = models.CharField( - max_length=10, verbose_name=_("Commercial Registration Number"),null=True,blank=True - ) - vrn = models.CharField(max_length=15, verbose_name=_("VAT Registration Number"),null=True,blank=True) + crn = models.CharField(max_length=10, + verbose_name=_("Commercial Registration Number") + ,null=True + ,blank=True) + vrn = models.CharField(max_length=15, + verbose_name=_("VAT Registration Number"), + null=True, + blank=True) arabic_name = models.CharField(max_length=255, verbose_name=_("Arabic Name")) name = models.CharField(max_length=255, verbose_name=_("English Name")) - phone_number = PhoneNumberField(region="SA", verbose_name=_("Phone Number"),unique=True) - address = models.CharField( - max_length=200, blank=True, null=True, verbose_name=_("Address") - ) - logo = models.ImageField( - upload_to="logos/users", blank=True, null=True, verbose_name=_("Logo") - ) + phone_number = PhoneNumberField(region="SA", verbose_name=_("Phone Number")) + address = models.CharField(max_length=200, + blank=True, + null=True, + verbose_name=_("Address")) + logo = models.ImageField(upload_to="logos/users", + blank=True, + null=True, + verbose_name=_("Logo")) entity = models.ForeignKey(EntityModel, on_delete=models.SET_NULL, null=True, blank=True) joined_at = models.DateTimeField(auto_now_add=True, verbose_name=_("Joined At")) - email = models.EmailField(verbose_name="Email", unique=True, max_length=100) - parent_dealer = models.ForeignKey( - "self", - on_delete=models.SET_NULL, - blank=True, - null=True, - verbose_name=_("Parent Dealer"), - related_name="sub_dealers", - ) - dealer_type = models.CharField( - max_length=255, - choices=DEALER_TYPES.choices, - verbose_name=_("Dealer Type"), - default=DEALER_TYPES.Owner, - ) + parent_dealer = models.ForeignKey( "self", + on_delete=models.SET_NULL, + blank=True, + null=True, + verbose_name=_("Parent Dealer"), + related_name="sub_dealers",) + dealer_type = models.CharField(max_length=255, + choices=DEALER_TYPES.choices, + verbose_name=_("Dealer Type"), + default=DEALER_TYPES.OWNER,) + objects = DealerUserManager() - @property def get_active_plan(self): try: @@ -549,9 +564,6 @@ class Dealer(models.Model, LocalizedNameMixin): return subscription_plan return None - - - class Meta: verbose_name = _("Dealer") verbose_name_plural = _("Dealers") @@ -564,21 +576,47 @@ class Dealer(models.Model, LocalizedNameMixin): @property def get_sub_dealers(self): - if self.dealer_type == "Owner": + if self.dealer_type == "OWNER": return self.sub_dealers.all() return None - + @property def is_parent(self): - return self.dealer_type == "Owner" + return self.dealer_type == "OWNER" @property def get_root_dealer(self): return self.parent_dealer if self.parent_dealer else self -@receiver(post_save, sender=User) -def create_dealer(instance, created, *args, **kwargs): - if created: - Dealer.objects.create(user=instance) +# @receiver(post_save, sender=User) +# def create_dealer(instance, created, *args, **kwargs): +# if created: +# Dealer.objects.create(user=instance) + + +# class STAFF_TYPES(models.TextChoices): +# # Owner = "Owner", _("Owner") +# MANAGER = "manager", _("Manager") +# INVENTORY = "inventory", _("Inventory") +# ACCOUNTANT = "accountant", _("Accountant") +# SALES = "sales", _("Sales") +# RECEPTIONIST = "receptionist", _("Receptionist") +# TECHNICIAN = "technician", _("Technician") +# DRIVER = "driver", _("Driver") +# +# +# class Staff(models.Model, LocalizedNameMixin): +# user = models.OneToOneField(User, on_delete=models.CASCADE, related_name="staff") +# dealer = models.ForeignKey(Dealer, on_delete=models.SET_NULL, null=True, blank=True) +# name = models.CharField(max_length=255, verbose_name=_("Name")) +# arabic_name = models.CharField(max_length=255, verbose_name=_("Arabic Name")) +# staff_type = models.CharField(choices=STAFF_TYPES.choices, max_length=255, verbose_name=_("Staff Type")) +# created_at = models.DateTimeField(auto_now_add=True, verbose_name=_("Created At")) +# updated_at = models.DateTimeField(auto_now=True, verbose_name=_("Updated At")) +# +# class Meta: +# verbose_name = _("Staff") +# verbose_name_plural = _("Staff") +# permissions = [] # Vendor Model @@ -611,9 +649,9 @@ class Vendor(models.Model, LocalizedNameMixin): # Customer Model class Customer(models.Model): - dealer = models.ForeignKey( - Dealer, on_delete=models.CASCADE, related_name="customers" - ) + dealer = models.ForeignKey(Dealer, + on_delete=models.CASCADE, + related_name="customers") first_name = models.CharField(max_length=50, verbose_name=_("First Name")) middle_name = models.CharField( max_length=50, blank=True, null=True, verbose_name=_("Middle Name") @@ -644,8 +682,6 @@ class Customer(models.Model): return f"{self.first_name} {self.middle_name} {self.last_name}" - - class Organization(models.Model, LocalizedNameMixin): dealer = models.ForeignKey(Dealer, on_delete=models.CASCADE, related_name='organizations') name = models.CharField(max_length=255, verbose_name=_("Name")) diff --git a/inventory/services.py b/inventory/services.py index daf87be3..f12183c9 100644 --- a/inventory/services.py +++ b/inventory/services.py @@ -80,6 +80,9 @@ def elm(vin): def get_ledger_data(request): - entity = EntityModel.objects.filter(name="Marwan2").first() - data = entity.get_items_all() - print(data) \ No newline at end of file + data = {} + entity = EntityModel.objects.filter(name=request.user.dealer.name).first() + data['bills'] = entity.get_bills() + data['invoices'] = entity.get_invoices() + data['income'] = entity.get_income_statement() + return data \ No newline at end of file diff --git a/inventory/signals.py b/inventory/signals.py index 37c30f38..38559ba6 100644 --- a/inventory/signals.py +++ b/inventory/signals.py @@ -1,9 +1,5 @@ -from random import randint - from django.db.models.signals import post_save, post_delete, pre_delete, pre_save from django.dispatch import receiver -from django.utils import timezone -from django_ledger.models import EntityModel from django.utils.translation import gettext_lazy as _ from django.contrib.auth import get_user_model from django_ledger.io import roles @@ -24,14 +20,14 @@ User = get_user_model() # user = instance.user # if user: # user.delete() - +# # @receiver(post_save, sender=User) # def create_dealer(instance, created, *args, **kwargs): -# if created: +# if created: # if not instance.dealer: - +# # models.Dealer.objects.create(user=instance,name=instance.username,email=instance.email) - +# # @receiver(post_save, sender=models.Dealer) # def create_user_account(sender, instance, created, **kwargs): # if created: @@ -45,6 +41,7 @@ User = get_user_model() # instance.user = user # instance.save() + @receiver(post_save, sender=models.Car) def create_car_location(sender, instance, created, **kwargs): """ @@ -83,114 +80,108 @@ def update_car_status_on_reservation_delete(sender, instance, **kwargs): # Create Entity -# @receiver(post_save, sender=models.Dealer) -# def create_ledger_entity(sender, instance, created, **kwargs): -# if created: -# root_dealer = instance.get_root_dealer -# if not root_dealer.entity: -# entity_name = f"{root_dealer.name}-{root_dealer.joined_at.date()}" -# entity = EntityModel.create_entity( -# name=entity_name, -# admin=root_dealer.user, -# use_accrual_method=False, -# fy_start_month=1, -# ) +@receiver(post_save, sender=models.Dealer) +def create_ledger_entity(sender, instance, created, **kwargs): + if created: + root_dealer = instance.get_root_dealer + if not root_dealer.entity: + entity_name = f"{root_dealer.name}-{root_dealer.joined_at.date()}" + entity = EntityModel.create_entity( + name=entity_name, + admin=root_dealer.user, + use_accrual_method=False, + fy_start_month=1, + ) -# if entity: -# instance.entity = entity -# instance.save() -# coa = entity.create_chart_of_accounts( -# assign_as_default=True, commit=True, coa_name=_(f"{entity_name}-COA") -# ) -# if coa: -# # entity.populate_default_coa(activate_accounts=True, coa_model=coa) -# print(f"Ledger entity created for Dealer: {instance.name}") + if entity: + instance.entity = entity + instance.save() + coa = entity.create_chart_of_accounts( + assign_as_default=True, commit=True, coa_name=_(f"{entity_name}-COA") + ) + if coa: + # entity.populate_default_coa(activate_accounts=True, coa_model=coa) + print(f"Ledger entity created for Dealer: {instance.name}") -# # Create Cash Account -# entity.create_account( -# coa_model=coa, -# code="1010", -# role=roles.ASSET_CA_CASH, -# name=_("Cash"), -# balance_type="debit", -# active=True, -# ) + # Create Cash Account + entity.create_account( + coa_model=coa, + code="1010", + role=roles.ASSET_CA_CASH, + name=_("Cash"), + balance_type="debit", + active=True, + ) -# # Create Accounts Receivable Account -# entity.create_account( -# coa_model=coa, -# code="1020", -# role=roles.ASSET_CA_RECEIVABLES, -# name=_("Accounts Receivable"), -# balance_type="debit", -# active=True, -# ) + # Create Accounts Receivable Account + entity.create_account( + coa_model=coa, + code="1020", + role=roles.ASSET_CA_RECEIVABLES, + name=_("Accounts Receivable"), + balance_type="debit", + active=True, + ) -# # Create Inventory Account -# entity.create_account( -# coa_model=coa, -# code="1030", -# role=roles.ASSET_CA_INVENTORY, -# name=_("Inventory"), -# balance_type="debit", -# active=True, -# ) + # Create Inventory Account + entity.create_account( + coa_model=coa, + code="1030", + role=roles.ASSET_CA_INVENTORY, + name=_("Inventory"), + balance_type="debit", + active=True, + ) -# # Create Accounts Payable Account -# entity.create_account( -# coa_model=coa, -# code="2010", -# role=roles.LIABILITY_CL_ACC_PAYABLE, -# name=_("Accounts Payable"), -# balance_type="credit", -# active=True, -# ) + # Create Accounts Payable Account + entity.create_account( + coa_model=coa, + code="2010", + role=roles.LIABILITY_CL_ACC_PAYABLE, + name=_("Accounts Payable"), + balance_type="credit", + active=True, + ) -# # Create Sales Revenue Account -# entity.create_account( -# coa_model=coa, -# code="4010", -# role=roles.INCOME_OPERATIONAL, -# name=_("Sales Revenue"), -# balance_type="credit", -# active=True, -# ) + # Create Sales Revenue Account + entity.create_account( + coa_model=coa, + code="4010", + role=roles.INCOME_OPERATIONAL, + name=_("Sales Revenue"), + balance_type="credit", + active=True, + ) -# # Create Cost of Goods Sold Account -# entity.create_account( -# coa_model=coa, -# code="5010", -# role=roles.COGS, -# name=_("Cost of Goods Sold"), -# balance_type="debit", -# active=True, -# ) + # Create Cost of Goods Sold Account + entity.create_account( + coa_model=coa, + code="5010", + role=roles.COGS, + name=_("Cost of Goods Sold"), + balance_type="debit", + active=True, + ) -# # Create Rent Expense Account -# entity.create_account( -# coa_model=coa, -# code="6010", -# role=roles.EXPENSE_OPERATIONAL, -# name=_("Rent Expense"), -# balance_type="debit", -# active=True, -# ) - -# # Create Utilities Expense Account -# entity.create_account( -# coa_model=coa, -# code="6020", -# role=roles.EXPENSE_OPERATIONAL, -# name=_("Utilities Expense"), -# balance_type="debit", -# active=True, -# ) - - # uom_name = _("Unit") - # unit_abbr = _("U") - # - # entity.create_uom(uom_name, unit_abbr) + # Create Rent Expense Account + entity.create_account( + coa_model=coa, + code="6010", + role=roles.EXPENSE_OPERATIONAL, + name=_("Rent Expense"), + balance_type="debit", + active=True, + ) + # Create Utilities Expense Account + entity.create_account( + coa_model=coa, + code="6020", + role=roles.EXPENSE_OPERATIONAL, + name=_("Utilities Expense"), + balance_type="debit", + active=True, + ) # Create Vendor diff --git a/inventory/templatetags/__pycache__/custom_filters.cpython-311.pyc b/inventory/templatetags/__pycache__/custom_filters.cpython-311.pyc index 8b8b3bc0..0e569b65 100644 Binary files a/inventory/templatetags/__pycache__/custom_filters.cpython-311.pyc and b/inventory/templatetags/__pycache__/custom_filters.cpython-311.pyc differ diff --git a/inventory/templatetags/custom_filters.py b/inventory/templatetags/custom_filters.py index 72aa12e6..6974aee8 100644 --- a/inventory/templatetags/custom_filters.py +++ b/inventory/templatetags/custom_filters.py @@ -3,13 +3,10 @@ from django import template register = template.Library() -@register.filter +@register.filter(name='percentage') def percentage(value): - try: - value = float(value) * 100 - return f'{value:.0f}%' - except (ValueError, TypeError): - return value + if value is not None: + return '{0:,.2f}%'.format(value * 100) @register.filter diff --git a/inventory/urls.py b/inventory/urls.py index d2011de3..eca36391 100644 --- a/inventory/urls.py +++ b/inventory/urls.py @@ -14,7 +14,7 @@ urlpatterns = [ path('login/', allauth_views.LoginView.as_view(template_name='account/login.html'), name='account_login'), path('logout/', allauth_views.LogoutView.as_view(template_name='account/logout.html'), name='account_logout'), # path('signup/', allauth_views.SignupView.as_view(template_name='account/signup.html'), name='account_signup'), - path('signup/', views.SignupView, name='account_signup'), + path('signup/', views.dealer_signup, name='account_signup'), path('password/change/', allauth_views.PasswordChangeView.as_view(template_name='account/password_change.html'), name='account_change_password'), @@ -27,11 +27,9 @@ urlpatterns = [ path('login/code/', allauth_views.RequestLoginCodeView.as_view(template_name='account/request_login_code.html')), # Dealer URLs - path('dealers/', views.DealerListView.as_view(), name='dealer_list'), path('dealers//', views.DealerDetailView.as_view(), name='dealer_detail'), - path('dealers/create/', views.DealerCreateView.as_view(), name='dealer_create'), path('dealers//update/', views.DealerUpdateView.as_view(), name='dealer_update'), - path('dealers//delete/', views.DealerDeleteView.as_view(), name='dealer_delete'), + # path('dealers//delete/', views.DealerDeleteView.as_view(), name='dealer_delete'), # Customer URLs path('customers/', views.CustomerListView.as_view(), name='customer_list'), diff --git a/inventory/views.py b/inventory/views.py index 3ebcd2ce..3efa55ac 100644 --- a/inventory/views.py +++ b/inventory/views.py @@ -2,15 +2,8 @@ from django_ledger.models import EntityModel, InvoiceModel import logging import json import datetime -from decimal import Decimal from django_ledger.models import TransactionModel, AccountModel,JournalEntryModel from django.shortcuts import HttpResponse -from django.template.loader import render_to_string -# from weasyprint import HTML -# from weasyprint.fonts import FontConfiguration - -from django.views.decorators.csrf import csrf_exempt -from vin import VIN from django.contrib.auth.mixins import LoginRequiredMixin from django.contrib.auth.decorators import login_required from django.http import JsonResponse @@ -29,14 +22,11 @@ from django.views.generic import ( from django.utils import timezone, translation from django.conf import settings from urllib.parse import urlparse, urlunparse -from django.forms import ChoiceField, ModelForm, RadioSelect from django.urls import reverse, reverse_lazy from django.contrib import messages from django.db.models import Sum, F, Count from django.db import transaction -from inventory.mixins import AddDealerInstanceMixin -from .services import elm, decodevin, get_make, get_model, normalize_name from .services import ( elm, decodevin, @@ -46,12 +36,9 @@ from .services import ( get_ledger_data, ) from . import models, forms -from django_tables2.export.views import ExportMixin from django.contrib.auth.mixins import PermissionRequiredMixin -from django.contrib.auth.decorators import user_passes_test from django.contrib.messages.views import SuccessMessageMixin from django.contrib.auth.models import Group -from django.contrib.auth import get_user_model from .utils import get_calculations from django.contrib.auth.models import User @@ -94,64 +81,62 @@ def switch_language(request): logger.warning(f"Invalid language code: {language}") return redirect("/") -def SignupView(request): + +def dealer_signup(request, *args, **kwargs): if request.method == "POST": data = json.loads(request.body) - wf1 = data.get("wizardValidationForm1") + wf1 = data.get("wizardValidationForm1") wf2 = data.get("wizardValidationForm2") wf3 = data.get("wizardValidationForm3") name = wf1.get("name") arabic_name = wf1.get("arabic_name") - email = wf1.get("email") + email = wf1.get("email") phone = wf2.get("phone_number") crn = wf2.get("crn") vrn = wf2.get("vrn") address = wf2.get("address") password = wf3.get("password") password_confirm = wf3.get("confirm_password") - + if password != password_confirm: return JsonResponse({"error": "Passwords do not match."}, status=400) - + try: with transaction.atomic(): - user = User.objects.create(username=name, email=email) + user = User.objects.create(email=email, password=password) user.set_password(password) user.save() - models.Dealer.objects.create_or_update( - user=user, - name=name, - arabic_name=arabic_name, - crn=crn, - vrn=vrn, - email=email, - phone_number=phone, - address=address, - dealer_type="Owner", - ) - print("User created successfully.") + models.Dealer.objects.create(user=user, + name=name, + arabic_name=arabic_name, + crn=crn, + vrn=vrn, + phone_number=phone, + address=address, + dealer_type="OWNER",) return JsonResponse({"message": "User created successfully."}, status=200) except Exception as e: - print("Error creating user:", e) return JsonResponse({"error": str(e)}, status=400) - + form1 = forms.WizardForm1() form2 = forms.WizardForm2() form3 = forms.WizardForm3() return render(request, "account/signup-wizard.html",{"form1": form1, "form2": form2, "form3": form3}) + class HomeView(LoginRequiredMixin, TemplateView): template_name = "dashboards/accounting.html" def dispatch(self, request, *args, **kwargs): if ( - not any(hasattr(request.user, attr) for attr in ["dealer", "subdealer"]) - or not request.user.is_authenticated + not any(hasattr(request.user, attr) for attr in ["dealer", "subdealer"]) + or not request.user.is_authenticated ): - messages.error(request, _("You are not associated with any dealer.")) + # messages.error(request, _("You are not associated with any dealer.")) return redirect("welcome") return super().dispatch(request, *args, **kwargs) + def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) @@ -534,7 +519,7 @@ class CarLocationCreateView(CreateView): def form_valid(self, form): form.instance.car = get_object_or_404(models.Car, pk=self.kwargs["car_pk"]) - form.instance.owner = self.request.user.dealer + form.instance.OWNER = self.request.user.dealer form.save() messages.success(self.request, "Car saved successfully.") return super().form_valid(form) @@ -621,26 +606,12 @@ def manage_reservation(request, reservation_id): ) -class DealerListView(LoginRequiredMixin, ListView): - model = models.Dealer - template_name = "dealer_list.html" - context_object_name = "dealers" - - class DealerDetailView(LoginRequiredMixin, DetailView): model = models.Dealer template_name = "dealers/dealer_detail.html" context_object_name = "dealer" -class DealerCreateView(LoginRequiredMixin, SuccessMessageMixin, CreateView): - model = models.Dealer - form_class = forms.DealerForm - template_name = "dealer_form.html" - success_url = reverse_lazy("dealer_list") - success_message = _("Dealer created successfully.") - - class DealerUpdateView(LoginRequiredMixin, SuccessMessageMixin, UpdateView): model = models.Dealer form_class = forms.DealerForm @@ -658,19 +629,12 @@ class DealerUpdateView(LoginRequiredMixin, SuccessMessageMixin, UpdateView): return form def get_form_class(self): - if self.request.user.dealer.dealer_type == "Owner": + if self.request.user.dealer.dealer_type == "OWNER": return forms.DealerForm else: return forms.UserForm -class DealerDeleteView(LoginRequiredMixin, SuccessMessageMixin, DeleteView): - model = models.Dealer - template_name = "dealer_confirm_delete.html" - success_url = reverse_lazy("dealer_list") - success_message = _("Dealer deleted successfully.") - - class CustomerListView(LoginRequiredMixin, PermissionRequiredMixin, ListView): model = models.Customer home_label = _("customers") @@ -710,7 +674,6 @@ class CustomerCreateView( LoginRequiredMixin, PermissionRequiredMixin, SuccessMessageMixin, - AddDealerInstanceMixin, CreateView, ): model = models.Customer @@ -725,7 +688,6 @@ class CustomerUpdateView( LoginRequiredMixin, PermissionRequiredMixin, SuccessMessageMixin, - AddDealerInstanceMixin, UpdateView, ): model = models.Customer @@ -762,7 +724,6 @@ class VendorCreateView( LoginRequiredMixin, PermissionRequiredMixin, SuccessMessageMixin, - AddDealerInstanceMixin, CreateView, ): model = models.Vendor @@ -777,7 +738,6 @@ class VendorUpdateView( LoginRequiredMixin, PermissionRequiredMixin, SuccessMessageMixin, - AddDealerInstanceMixin, UpdateView, ): model = models.Vendor @@ -1168,7 +1128,6 @@ class UserCreateView( LoginRequiredMixin, PermissionRequiredMixin, SuccessMessageMixin, - AddDealerInstanceMixin, CreateView, ): model = models.Dealer @@ -1181,7 +1140,7 @@ class UserCreateView( def get_form(self, form_class=None): form = super().get_form(form_class) form.fields["dealer_type"].choices = [ - t for t in form.fields["dealer_type"].choices if t[0] != "Owner" + t for t in form.fields["dealer_type"].choices if t[0] != "OWNER" ] return form @@ -1211,7 +1170,6 @@ class UserUpdateView( LoginRequiredMixin, PermissionRequiredMixin, SuccessMessageMixin, - AddDealerInstanceMixin, UpdateView, ): model = models.Dealer @@ -1398,7 +1356,8 @@ def download_quotation_pdf(request, quotation_id): return response except models.SaleQuotation.DoesNotExist: return HttpResponse("Quotation not found", status=404) - + + @login_required def invoice_detail(request,pk): quotation = get_object_or_404(models.SaleQuotation, pk=pk) @@ -1410,6 +1369,8 @@ def invoice_detail(request,pk): invoice = invoice_model.filter(customer=customer,date_draft=quotation.date_draft).first() return redirect('quotation_detail', pk=pk) + + @login_required def payment_invoice(request,pk): quotation = get_object_or_404(models.SaleQuotation, pk=pk) @@ -1451,7 +1412,7 @@ def payment_create(request, pk): insatnce = form.save() dealer = request.user.dealer.get_root_dealer - entity = dealer.entity + entity = dealer.entity customer = entity.get_customers().filter(customer_name=quotation.customer.get_full_name).first() coa_qs, coa_map = entity.get_all_coa_accounts() cash_account = coa_qs.first().get_coa_accounts().filter(name="Cash") diff --git a/locale/ar/LC_MESSAGES/django.mo b/locale/ar/LC_MESSAGES/django.mo index 547b33b1..fbf63379 100644 Binary files a/locale/ar/LC_MESSAGES/django.mo and b/locale/ar/LC_MESSAGES/django.mo differ diff --git a/locale/ar/LC_MESSAGES/django.po b/locale/ar/LC_MESSAGES/django.po index e590aac7..1e1e0483 100644 --- a/locale/ar/LC_MESSAGES/django.po +++ b/locale/ar/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-12-23 14:25+0300\n" +"POT-Creation-Date: 2024-12-28 12:56+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -19,77 +19,169 @@ msgstr "" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " "&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" -#: api/models.py:6 inventory/models.py:160 -#: templates/inventory/car_detail.html:96 templates/inventory/car_form.html:83 +#: api/models.py:6 inventory/models.py:182 +#: templates/inventory/car_detail.html:92 templates/inventory/car_form.html:83 #: templates/inventory/car_inventory.html:35 #: templates/inventory/car_list.html:67 templates/inventory/car_list.html:69 -#: templates/sales/quotation_detail.html:60 +#: templates/sales/quotation_detail.html:72 #: templates/sales/quotation_pdf.html:41 msgid "VIN" msgstr "رقم الهيكل" -#: car_inventory/settings.py:191 +#: car_inventory/settings.py:206 msgid "English" msgstr "الإنجليزية" -#: car_inventory/settings.py:192 +#: car_inventory/settings.py:207 msgid "Arabic" msgstr "العربية" -#: car_inventory/settings.py:252 templates/index.html:59 -#: templates/index.html:62 templates/index.html:80 templates/index.html:87 -#: templates/index.html:116 templates/index.html:122 templates/index.html:128 -#: templates/index.html:163 templates/index.html:171 templates/index.html:179 +#: car_inventory/settings.py:267 templates/dashboards/accounting.html:35 +#: templates/dashboards/accounting.html:39 +#: templates/dealers/dealer_detail.html:140 msgid "SAR" msgstr "ريال سعودي" -#: inventory/forms.py:148 inventory/models.py:373 -#: templates/inventory/car_detail.html:168 +#: inventory/forms.py:159 inventory/models.py:395 +#: templates/inventory/car_detail.html:164 msgid "Custom Date" msgstr "تاريخ البطاقة الجمركية" -#: inventory/forms.py:197 +#: inventory/forms.py:208 msgid "Both exterior and interior colors must be selected." msgstr "يجب اختيار اللونين الخارجي والداخلي." -#: inventory/models.py:36 +#: inventory/forms.py:277 +msgid "You must add an email." +msgstr "يجب إضافة بريد إلكتروني." + +#: inventory/forms.py:283 +#: venv/lib/python3.11/site-packages/django_ledger/forms/auth.py:15 +msgid "Password" +msgstr "كلمة المرور" + +#: inventory/forms.py:287 inventory/forms.py:297 inventory/forms.py:344 +#: inventory/forms.py:375 inventory/forms.py:387 +#: venv/lib/python3.11/site-packages/django/forms/fields.py:95 +msgid "This field is required." +msgstr "هذا الحقل مطلوب." + +#: inventory/forms.py:293 +msgid "Confirm Password" +msgstr "تأكيد كلمة المرور" + +#: inventory/forms.py:308 +msgid "You must accept the terms and privacy policy." +msgstr "يجب أن تقبل الشروط وسياسة الخصوصية." + +#: inventory/forms.py:317 inventory/models.py:524 inventory/models.py:632 +msgid "English Name" +msgstr "الاسم بالإنجليزية" + +#: inventory/forms.py:321 +msgid "Please enter an English Name." +msgstr "يرجى إدخال اسم باللغة الإنجليزية." + +#: inventory/forms.py:327 inventory/models.py:167 inventory/models.py:348 +#: inventory/models.py:361 inventory/models.py:523 inventory/models.py:631 +#: inventory/models.py:688 inventory/models.py:705 +#: templates/users/user_detail.html:48 +msgid "Arabic Name" +msgstr "الاسم بالعربية" + +#: inventory/forms.py:331 +msgid "Please enter an Arabic name." +msgstr "يرجى إدخال اسم باللغة العربية." + +#: inventory/forms.py:339 templates/dealers/dealer_detail.html:109 +#: templates/organizations/organization_detail.html:10 +#: templates/organizations/organization_list.html:20 +#: templates/representatives/representative_detail.html:9 +#: templates/representatives/representative_list.html:19 +msgid "Phone" +msgstr "الهاتف" + +#: inventory/forms.py:345 +msgid "Phone number must be in the format 05xxxxxxxx" +msgstr "يجب أن يكون رقم الهاتف بالصيغة 05xxxxxxxx" + +#: inventory/forms.py:354 inventory/models.py:516 inventory/models.py:626 +#: inventory/models.py:689 templates/dealers/dealer_detail8.html:31 +msgid "Commercial Registration Number" +msgstr "رقم السجل التجاري" + +#: inventory/forms.py:369 inventory/models.py:520 inventory/models.py:629 +#: inventory/models.py:690 templates/dealers/dealer_detail8.html:35 +msgid "VAT Registration Number" +msgstr "رقم التسجيل في ضريبة القيمة المضافة" + +#: inventory/forms.py:376 +msgid "VAT Registration Number must be 15 characters." +msgstr "يجب أن يكون رقم التسجيل الضريبي مكونًا من 15 حرفًا." + +#: inventory/models.py:42 +msgid "Kg" +msgstr "كجم" + +#: inventory/models.py:43 +msgid "L" +msgstr "لتر" + +#: inventory/models.py:44 +msgid "m" +msgstr "م" + +#: inventory/models.py:45 +msgid "cm" +msgstr "سم" + +#: inventory/models.py:46 +msgid "m2" +msgstr "متر مربع" + +#: inventory/models.py:47 inventory/models.py:48 +msgid "m3" +msgstr "متر مكعب" + +#: inventory/models.py:55 msgid "logo" msgstr "الشعار" -#: inventory/models.py:127 +#: inventory/models.py:146 #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/invoice/tags/invoice_item_formset.html:21 msgid "Available" msgstr "متاح" -#: inventory/models.py:128 +#: inventory/models.py:147 msgid "Sold" msgstr "تم البيع" -#: inventory/models.py:129 +#: inventory/models.py:148 msgid "Hold" msgstr "في الانتظار" -#: inventory/models.py:130 +#: inventory/models.py:149 msgid "Damaged" msgstr "تالف" -#: inventory/models.py:131 +#: inventory/models.py:150 msgid "Reserved" msgstr "محجوزة" -#: inventory/models.py:135 +#: inventory/models.py:154 msgid "New" msgstr "جديد" -#: inventory/models.py:136 +#: inventory/models.py:155 msgid "Used" msgstr "مستعمل" -#: inventory/models.py:140 inventory/models.py:394 +#: inventory/models.py:159 inventory/models.py:416 msgid "Owner" msgstr "المالك" -#: inventory/models.py:141 templates/header.html:50 +#: inventory/models.py:160 inventory/signals.py:131 templates/base.html:110 +#: templates/base.html:115 templates/header.html:50 #: venv/lib/python3.11/site-packages/django_ledger/io/roles.py:440 #: venv/lib/python3.11/site-packages/django_ledger/io/roles.py:526 #: venv/lib/python3.11/site-packages/django_ledger/models/items.py:521 @@ -97,20 +189,20 @@ msgstr "المالك" msgid "Inventory" msgstr "المخزن" -#: inventory/models.py:142 +#: inventory/models.py:161 msgid "Accountent" msgstr "المحاسب" -#: inventory/models.py:143 +#: inventory/models.py:162 msgid "Sales" msgstr "المبيعات" -#: inventory/models.py:147 inventory/models.py:325 inventory/models.py:338 -#: inventory/models.py:612 inventory/models.py:629 -#: templates/dealers/dealer_detail.html:26 +#: inventory/models.py:166 inventory/models.py:347 inventory/models.py:360 +#: inventory/models.py:687 inventory/models.py:704 +#: templates/dealers/dealer_detail8.html:26 #: templates/organizations/organization_list.html:17 #: templates/representatives/representative_list.html:17 -#: templates/sales/quotation_detail.html:43 +#: templates/sales/quotation_detail.html:44 #: templates/sales/quotation_pdf.html:33 templates/users/user_detail.html:47 #: templates/vendors/vendors_list.html:34 templates/vendors/view_vendor.html:46 #: venv/lib/python3.11/site-packages/django_ledger/forms/coa.py:16 @@ -118,13 +210,7 @@ msgstr "المبيعات" msgid "Name" msgstr "الاسم" -#: inventory/models.py:148 inventory/models.py:326 inventory/models.py:339 -#: inventory/models.py:492 inventory/models.py:554 inventory/models.py:613 -#: inventory/models.py:630 templates/users/user_detail.html:48 -msgid "Arabic Name" -msgstr "الاسم بالعربية" - -#: inventory/models.py:149 inventory/models.py:407 +#: inventory/models.py:168 inventory/models.py:429 #: venv/lib/python3.11/site-packages/django_ledger/forms/coa.py:17 #: venv/lib/python3.11/site-packages/django_ledger/forms/coa.py:38 #: venv/lib/python3.11/site-packages/django_ledger/models/data_import.py:61 @@ -137,21 +223,29 @@ msgstr "الاسم بالعربية" msgid "Description" msgstr "الوصف" -#: inventory/models.py:150 templates/sales/quotation_detail.html:64 +#: inventory/models.py:169 templates/sales/quotation_detail.html:76 #: templates/sales/quotation_pdf.html:45 msgid "Price" msgstr "السعر" -#: inventory/models.py:153 inventory/models.py:154 -msgid "Additional Services" -msgstr "الخدمات الإضافية" +#: inventory/models.py:170 +msgid "taxable" +msgstr "خاضع للضريبة" -#: inventory/models.py:162 inventory/models.py:523 +#: inventory/models.py:171 +msgid "Unit of Measurement" +msgstr "وحدة القياس" + +#: inventory/models.py:172 inventory/models.py:184 inventory/models.py:568 msgid "Dealer" msgstr "المعرض" -#: inventory/models.py:171 inventory/models.py:566 -#: templates/inventory/car_detail.html:142 +#: inventory/models.py:175 inventory/models.py:176 +msgid "Additional Services" +msgstr "الخدمات الإضافية" + +#: inventory/models.py:193 inventory/models.py:643 +#: templates/inventory/car_detail.html:138 #: templates/inventory/car_form.html:230 #: venv/lib/python3.11/site-packages/django_ledger/models/bill.py:359 #: venv/lib/python3.11/site-packages/django_ledger/models/vendor.py:191 @@ -160,32 +254,34 @@ msgstr "المعرض" msgid "Vendor" msgstr "المورد" -#: inventory/models.py:179 +#: inventory/models.py:201 msgid "Make" msgstr "الصانع" -#: inventory/models.py:187 templates/sales/quotation_detail.html:61 +#: inventory/models.py:209 templates/sales/quotation_detail.html:73 #: templates/sales/quotation_pdf.html:42 msgid "Model" msgstr "الموديل" -#: inventory/models.py:189 templates/inventory/car_form.html:118 +#: inventory/models.py:211 templates/inventory/car_form.html:118 #: templates/inventory/car_inventory.html:36 -#: templates/sales/quotation_detail.html:62 +#: templates/sales/quotation_detail.html:74 #: templates/sales/quotation_pdf.html:43 msgid "Year" msgstr "السنة" -#: inventory/models.py:196 templates/inventory/car_form.html:182 +#: inventory/models.py:218 templates/inventory/car_form.html:182 msgid "Series" msgstr "السلسلة" -#: inventory/models.py:204 +#: inventory/models.py:226 msgid "Trim" msgstr "الفئة" -#: inventory/models.py:210 templates/inventory/car_detail.html:120 +#: inventory/models.py:232 inventory/models.py:746 +#: templates/inventory/car_detail.html:116 #: templates/inventory/car_list.html:163 +#: templates/sales/quotation_detail.html:54 #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bills/tags/bill_table.html:10 #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/estimate/includes/card_estimate.html:12 #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/estimate/includes/estimate_table.html:12 @@ -195,214 +291,203 @@ msgstr "الفئة" msgid "Status" msgstr "الحالة" -#: inventory/models.py:216 templates/inventory/car_detail.html:124 +#: inventory/models.py:238 templates/inventory/car_detail.html:120 #: templates/inventory/car_form.html:248 templates/inventory/car_list.html:177 msgid "Stock Type" msgstr "نوع المخزون" -#: inventory/models.py:218 inventory/models.py:668 -#: templates/inventory/car_detail.html:147 +#: inventory/models.py:240 inventory/models.py:743 +#: templates/inventory/car_detail.html:143 #: templates/inventory/car_form.html:301 templates/inventory/car_list.html:200 -#: templates/sales/quotation_detail.html:52 +#: templates/sales/quotation_detail.html:53 msgid "Remarks" msgstr "ملاحظات" -#: inventory/models.py:219 templates/inventory/car_detail.html:128 +#: inventory/models.py:241 templates/inventory/car_detail.html:124 #: templates/inventory/car_form.html:265 templates/inventory/car_list.html:191 #: templates/inventory/car_list.html:192 msgid "Mileage" msgstr "عدد الكيلومترات" -#: inventory/models.py:220 templates/inventory/car_detail.html:132 +#: inventory/models.py:242 templates/inventory/car_detail.html:128 #: templates/inventory/car_form.html:283 msgid "Receiving Date" msgstr "تاريخ الاستلام" -#: inventory/models.py:223 inventory/models.py:264 inventory/models.py:371 -#: inventory/models.py:388 inventory/models.py:438 inventory/models.py:739 -#: templates/sales/sales_order_detail.html:24 +#: inventory/models.py:245 inventory/models.py:286 inventory/models.py:393 +#: inventory/models.py:410 inventory/models.py:460 inventory/models.py:824 +#: inventory/signals.py:244 templates/sales/sales_order_detail.html:24 msgid "Car" msgstr "السيارة" -#: inventory/models.py:224 +#: inventory/models.py:246 templates/base.html:124 msgid "Cars" msgstr "السيارات" -#: inventory/models.py:265 templates/inventory/car_detail.html:332 +#: inventory/models.py:287 templates/inventory/car_detail.html:328 msgid "Reserved By" msgstr "محجوز بواسطة" -#: inventory/models.py:266 +#: inventory/models.py:288 msgid "Reserved At" msgstr "تاريخ الحجز" -#: inventory/models.py:267 +#: inventory/models.py:289 msgid "Reserved Until" msgstr "محجوز حتى" -#: inventory/models.py:275 templates/inventory/car_detail.html:38 +#: inventory/models.py:297 templates/inventory/car_detail.html:38 msgid "Car Reservation" msgstr "حجز السيارة" -#: inventory/models.py:276 +#: inventory/models.py:298 msgid "Car Reservations" msgstr "حجوزات السيارات" -#: inventory/models.py:282 templates/inventory/car_detail.html:223 +#: inventory/models.py:304 templates/inventory/car_detail.html:219 msgid "Cost Price" msgstr "سعر التكلفة" -#: inventory/models.py:283 templates/inventory/car_detail.html:228 +#: inventory/models.py:305 templates/inventory/car_detail.html:224 #: templates/sales/sales_order_detail.html:25 msgid "Selling Price" msgstr "سعر البيع" -#: inventory/models.py:284 templates/inventory/car_detail.html:232 +#: inventory/models.py:306 templates/inventory/car_detail.html:228 msgid "Discount Amount" msgstr "مبلغ الخصم" -#: inventory/models.py:321 inventory/models.py:322 +#: inventory/models.py:343 inventory/models.py:344 msgid "Car Financial Details" msgstr "تفاصيل المالية للسيارة" -#: inventory/models.py:327 inventory/models.py:340 +#: inventory/models.py:349 inventory/models.py:362 msgid "RGB" msgstr "آر جي بي" -#: inventory/models.py:330 inventory/models.py:331 +#: inventory/models.py:352 inventory/models.py:353 #: templates/inventory/add_colors.html:13 msgid "Exterior Colors" msgstr "الألوان الخارجية" -#: inventory/models.py:343 inventory/models.py:344 +#: inventory/models.py:365 inventory/models.py:366 #: templates/inventory/add_colors.html:32 msgid "Interior Colors" msgstr "الألوان الداخلية" -#: inventory/models.py:361 +#: inventory/models.py:383 msgid "Color" msgstr "اللون" -#: inventory/models.py:362 +#: inventory/models.py:384 msgid "Colors" msgstr "الألوان" -#: inventory/models.py:372 templates/inventory/car_detail.html:164 +#: inventory/models.py:394 templates/inventory/car_detail.html:160 msgid "Custom Number" msgstr "رقم البطاقة الجمركية" -#: inventory/models.py:376 templates/inventory/car_detail.html:23 -#: templates/inventory/car_detail.html:173 +#: inventory/models.py:398 templates/inventory/car_detail.html:23 +#: templates/inventory/car_detail.html:169 msgid "Custom Card" msgstr "البطاقة الجمركية" -#: inventory/models.py:377 +#: inventory/models.py:399 msgid "Custom Cards" msgstr "البطاقات الجمركية" -#: inventory/models.py:395 +#: inventory/models.py:417 msgid "Dealer who owns the car." msgstr "التاجر الذي يمتلك السيارة." -#: inventory/models.py:401 +#: inventory/models.py:423 msgid "Showroom" msgstr "صالة العرض" -#: inventory/models.py:402 +#: inventory/models.py:424 msgid "Dealer where the car is displayed (can be the owner)." msgstr "التاجر الذي تُعرض السيارة في صالته (يمكن أن يكون المالك)." -#: inventory/models.py:408 +#: inventory/models.py:430 msgid "Optional description about the showroom placement." msgstr "وصف اختياري حول وضع السيارة في صالة العرض." -#: inventory/models.py:412 inventory/models.py:673 inventory/models.py:795 +#: inventory/models.py:434 inventory/models.py:748 inventory/models.py:880 #: templates/sales/quotation_list.html:18 msgid "Created At" msgstr "تاريخ الإنشاء" -#: inventory/models.py:416 +#: inventory/models.py:438 msgid "Last Updated" msgstr "آخر تحديث" -#: inventory/models.py:420 +#: inventory/models.py:442 msgid "Car Location" msgstr "موقع السيارة" -#: inventory/models.py:421 +#: inventory/models.py:443 msgid "Car Locations" msgstr "مواقف السيارات" -#: inventory/models.py:440 +#: inventory/models.py:462 msgid "Plate Number" msgstr "رقم اللوحة" -#: inventory/models.py:441 +#: inventory/models.py:463 msgid "Text 1" msgstr "النص 1" -#: inventory/models.py:442 +#: inventory/models.py:464 msgid "Text 2" msgstr "النص 2" -#: inventory/models.py:443 +#: inventory/models.py:465 msgid "Text 3" msgstr "النص 3" -#: inventory/models.py:444 +#: inventory/models.py:466 msgid "Registration Date" msgstr "تاريخ التسجيل" -#: inventory/models.py:447 +#: inventory/models.py:469 msgid "Registration" msgstr "التسجيل" -#: inventory/models.py:448 +#: inventory/models.py:470 msgid "Registrations" msgstr "تسجيل السيارات" -#: inventory/models.py:456 inventory/models.py:593 +#: inventory/models.py:478 inventory/models.py:670 #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/chart_of_accounts/includes/coa_card.html:38 #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/closing_entry/tags/closing_entry_table.html:12 #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/ledger/tags/ledgers_table.html:17 msgid "Created" msgstr "تاريخ الإنشاء" -#: inventory/models.py:457 +#: inventory/models.py:479 #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/chart_of_accounts/includes/coa_card.html:41 msgid "Updated" msgstr "تم التحديث" -#: inventory/models.py:489 inventory/models.py:549 inventory/models.py:614 -#: templates/dealers/dealer_detail.html:31 -msgid "Commercial Registration Number" -msgstr "رقم السجل التجاري" - -#: inventory/models.py:491 inventory/models.py:552 inventory/models.py:615 -#: templates/dealers/dealer_detail.html:35 -msgid "VAT Registration Number" -msgstr "رقم التسجيل في ضريبة القيمة المضافة" - -#: inventory/models.py:493 inventory/models.py:555 -msgid "English Name" -msgstr "الاسم بالإنجليزية" - -#: inventory/models.py:494 inventory/models.py:557 inventory/models.py:588 -#: inventory/models.py:616 inventory/models.py:632 +#: inventory/models.py:525 inventory/models.py:634 inventory/models.py:665 +#: inventory/models.py:691 inventory/models.py:707 #: templates/customers/view_customer.html:53 -#: templates/dealers/dealer_detail.html:40 templates/users/user_detail.html:51 -#: templates/vendors/view_vendor.html:52 +#: templates/dealers/dealer_detail8.html:40 +#: templates/sales/invoice/invoice_detail.html:53 +#: templates/users/user_detail.html:51 templates/vendors/view_vendor.html:52 #: venv/lib/python3.11/site-packages/django_ledger/models/mixins.py:113 msgid "Phone Number" msgstr "رقم الهاتف" -#: inventory/models.py:496 inventory/models.py:559 inventory/models.py:591 -#: inventory/models.py:617 inventory/models.py:633 +#: inventory/models.py:529 inventory/models.py:636 inventory/models.py:668 +#: inventory/models.py:692 inventory/models.py:708 #: templates/customers/view_customer.html:54 -#: templates/dealers/dealer_detail.html:44 +#: templates/dealers/dealer_detail.html:93 +#: templates/dealers/dealer_detail8.html:44 #: templates/organizations/organization_detail.html:11 #: templates/representatives/representative_detail.html:10 -#: templates/sales/quotation_detail.html:45 +#: templates/sales/invoice/invoice_detail.html:54 +#: templates/sales/quotation_detail.html:46 #: templates/sales/quotation_pdf.html:34 templates/users/user_detail.html:52 #: templates/vendors/vendors_list.html:36 templates/vendors/view_vendor.html:58 #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/customer/tags/customer_table.html:10 @@ -410,60 +495,70 @@ msgstr "رقم الهاتف" msgid "Address" msgstr "العنوان" -#: inventory/models.py:499 inventory/models.py:562 inventory/models.py:618 +#: inventory/models.py:533 inventory/models.py:639 inventory/models.py:693 #: templates/vendors/vendors_list.html:35 msgid "Logo" msgstr "الشعار" -#: inventory/models.py:506 +#: inventory/models.py:535 +msgid "Joined At" +msgstr "انضم في" + +#: inventory/models.py:540 msgid "Parent Dealer" msgstr "المعرض الرئيسي" -#: inventory/models.py:512 +#: inventory/models.py:544 msgid "Dealer Type" msgstr "نوع المعرض" -#: inventory/models.py:524 +#: inventory/models.py:569 msgid "Dealers" msgstr "المعارض" -#: inventory/models.py:556 templates/vendors/view_vendor.html:49 +#: inventory/models.py:633 templates/vendors/view_vendor.html:49 msgid "Contact Person" msgstr "الشخص المسؤول" -#: inventory/models.py:567 templates/header.html:142 templates/header.html:157 +#: inventory/models.py:644 templates/header.html:158 templates/header.html:173 #: templates/vendors/vendor_form.html:4 templates/vendors/vendors_list.html:4 #: templates/vendors/vendors_list.html:5 templates/vendors/vendors_list.html:11 msgid "Vendors" msgstr "الموردين" -#: inventory/models.py:578 templates/customers/customer_list.html:51 +#: inventory/models.py:655 templates/customers/customer_list.html:51 #: templates/customers/view_customer.html:46 +#: templates/sales/invoice/invoice_detail.html:46 msgid "First Name" msgstr "الاسم الأول" -#: inventory/models.py:580 templates/customers/customer_list.html:52 +#: inventory/models.py:657 templates/customers/customer_list.html:52 #: templates/customers/view_customer.html:47 +#: templates/sales/invoice/invoice_detail.html:47 msgid "Middle Name" msgstr "اسم الأب" -#: inventory/models.py:582 templates/customers/customer_list.html:53 +#: inventory/models.py:659 templates/customers/customer_list.html:53 #: templates/customers/view_customer.html:48 +#: templates/sales/invoice/invoice_detail.html:48 msgid "Last Name" msgstr "اسم العائلة" -#: inventory/models.py:583 templates/customers/view_customer.html:51 +#: inventory/models.py:660 templates/customers/view_customer.html:51 +#: templates/dealers/dealer_detail.html:103 +#: templates/sales/invoice/invoice_detail.html:51 #: templates/vendors/view_vendor.html:55 #: venv/lib/python3.11/site-packages/django_ledger/models/mixins.py:111 msgid "Email" msgstr "البريد الإلكتروني" -#: inventory/models.py:585 templates/customers/customer_list.html:54 +#: inventory/models.py:662 templates/customers/customer_list.html:54 #: templates/customers/view_customer.html:52 +#: templates/sales/invoice/invoice_detail.html:52 msgid "National ID" msgstr "رقم الهوية الوطنية" -#: inventory/models.py:596 inventory/models.py:660 +#: inventory/models.py:673 inventory/models.py:735 #: templates/sales/quotation_list.html:15 #: templates/sales/sales_order_detail.html:12 #: venv/lib/python3.11/site-packages/django_ledger/models/customer.py:199 @@ -474,36 +569,37 @@ msgstr "رقم الهوية الوطنية" msgid "Customer" msgstr "العميل" -#: inventory/models.py:597 templates/customers/customer_list.html:3 +#: inventory/models.py:674 templates/customers/customer_list.html:3 #: templates/customers/customer_list.html:6 msgid "Customers" msgstr "العملاء" -#: inventory/models.py:621 +#: inventory/models.py:696 msgid "Organization" msgstr "منظمة" -#: inventory/models.py:622 templates/organizations/organization_list.html:3 +#: inventory/models.py:697 templates/organizations/organization_list.html:3 #: templates/organizations/organization_list.html:6 msgid "Organizations" msgstr "منظمات" -#: inventory/models.py:631 +#: inventory/models.py:706 #: templates/representatives/representative_detail.html:8 #: templates/representatives/representative_list.html:18 msgid "ID Number" msgstr "رقم الهوية" -#: inventory/models.py:637 +#: inventory/models.py:712 msgid "Representative" msgstr "ممثل" -#: inventory/models.py:638 templates/representatives/representative_list.html:3 +#: inventory/models.py:713 templates/base.html:186 templates/header.html:121 +#: templates/representatives/representative_list.html:3 #: templates/representatives/representative_list.html:6 msgid "Representatives" msgstr "ممثلون" -#: inventory/models.py:648 +#: inventory/models.py:723 #: venv/lib/python3.11/site-packages/django_ledger/models/bill.py:338 #: venv/lib/python3.11/site-packages/django_ledger/models/estimate.py:223 #: venv/lib/python3.11/site-packages/django_ledger/models/invoice.py:299 @@ -511,35 +607,96 @@ msgstr "ممثلون" msgid "Draft" msgstr "مسودة" -#: inventory/models.py:649 -msgid "Confirmed" -msgstr "مؤكد" +#: inventory/models.py:724 +#: venv/lib/python3.11/site-packages/django_ledger/models/bill.py:340 +#: venv/lib/python3.11/site-packages/django_ledger/models/estimate.py:225 +#: venv/lib/python3.11/site-packages/django_ledger/models/invoice.py:301 +#: venv/lib/python3.11/site-packages/django_ledger/models/purchase_order.py:194 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/purchase_order/includes/card_po.html:49 +msgid "Approved" +msgstr "تمت الموافقة" -#: inventory/models.py:650 -#: venv/lib/python3.11/site-packages/django_ledger/models/bill.py:342 -#: venv/lib/python3.11/site-packages/django_ledger/models/estimate.py:228 -#: venv/lib/python3.11/site-packages/django_ledger/models/invoice.py:304 -#: venv/lib/python3.11/site-packages/django_ledger/models/items.py:1042 -#: venv/lib/python3.11/site-packages/django_ledger/models/purchase_order.py:196 -msgid "Canceled" -msgstr "ملغى" +#: inventory/models.py:725 +#: venv/lib/python3.11/site-packages/django_ledger/models/bill.py:339 +#: venv/lib/python3.11/site-packages/django_ledger/models/estimate.py:224 +#: venv/lib/python3.11/site-packages/django_ledger/models/invoice.py:300 +#: venv/lib/python3.11/site-packages/django_ledger/models/purchase_order.py:193 +msgid "In Review" +msgstr "قيد المراجعة" -#: inventory/models.py:666 +#: inventory/models.py:726 +#: venv/lib/python3.11/site-packages/django_ledger/models/bill.py:341 +#: venv/lib/python3.11/site-packages/django_ledger/models/invoice.py:302 +msgid "Paid" +msgstr "مدفوع" + +#: inventory/models.py:741 #: venv/lib/python3.11/site-packages/django_ledger/models/transactions.py:491 #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/purchase_order/includes/po_item_formset.html:22 #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/purchase_order/tags/po_item_table.html:11 msgid "Amount" msgstr "المبلغ" -#: inventory/models.py:674 +#: inventory/models.py:749 msgid "Updated At" msgstr "تم التحديث" -#: inventory/models.py:734 inventory/models.py:793 +#: inventory/models.py:752 +msgid "Payment ID" +msgstr "معرف الدفع" + +#: inventory/models.py:754 +#: venv/lib/python3.11/site-packages/django_ledger/forms/bill.py:49 +#: venv/lib/python3.11/site-packages/django_ledger/forms/invoice.py:64 +#: venv/lib/python3.11/site-packages/django_ledger/models/bill.py:375 +#: venv/lib/python3.11/site-packages/django_ledger/models/invoice.py:348 +#: venv/lib/python3.11/site-packages/django_ledger/models/purchase_order.py:219 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/purchase_order/includes/card_po.html:26 +msgid "Draft Date" +msgstr "تاريخ المسودة" + +#: inventory/models.py:755 +#: venv/lib/python3.11/site-packages/django_ledger/models/bill.py:376 +#: venv/lib/python3.11/site-packages/django_ledger/models/invoice.py:349 +#: venv/lib/python3.11/site-packages/django_ledger/models/purchase_order.py:220 +msgid "In Review Date" +msgstr "تاريخ المراجعة" + +#: inventory/models.py:756 +#: venv/lib/python3.11/site-packages/django_ledger/models/bill.py:377 +#: venv/lib/python3.11/site-packages/django_ledger/models/invoice.py:350 +#: venv/lib/python3.11/site-packages/django_ledger/models/purchase_order.py:221 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/purchase_order/includes/card_po.html:38 +msgid "Approved Date" +msgstr "تاريخ الموافقة" + +#: inventory/models.py:757 +#: venv/lib/python3.11/site-packages/django_ledger/models/bill.py:378 +#: venv/lib/python3.11/site-packages/django_ledger/models/invoice.py:351 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bills/includes/card_bill.html:138 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/invoice/includes/card_invoice.html:126 +msgid "Paid Date" +msgstr "تاريخ الدفع" + +#: inventory/models.py:758 +#: venv/lib/python3.11/site-packages/django_ledger/models/bill.py:379 +#: venv/lib/python3.11/site-packages/django_ledger/models/invoice.py:352 +#: venv/lib/python3.11/site-packages/django_ledger/models/purchase_order.py:222 +msgid "Void Date" +msgstr "تاريخ الإبطال" + +#: inventory/models.py:759 +#: venv/lib/python3.11/site-packages/django_ledger/models/bill.py:380 +#: venv/lib/python3.11/site-packages/django_ledger/models/invoice.py:353 +#: venv/lib/python3.11/site-packages/django_ledger/models/purchase_order.py:224 +msgid "Canceled Date" +msgstr "تاريخ الإلغاء" + +#: inventory/models.py:819 inventory/models.py:878 msgid "Quotation" msgstr "عزرص سعر" -#: inventory/models.py:741 templates/sales/quotation_detail.html:63 +#: inventory/models.py:826 templates/sales/quotation_detail.html:75 #: templates/sales/quotation_pdf.html:44 #: venv/lib/python3.11/site-packages/django_ledger/models/items.py:1068 #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bills/bill_detail.html:97 @@ -553,17 +710,112 @@ msgstr "عزرص سعر" msgid "Quantity" msgstr "الكمية" -#: inventory/models.py:797 templates/sales/quotation_list.html:17 +#: inventory/models.py:882 templates/sales/quotation_list.html:17 #: templates/sales/sales_order_detail.html:16 #: templates/sales/sales_order_detail.html:27 msgid "Total Amount" msgstr "المبلغ الإجمالي" -#: inventory/signals.py:78 -#: venv/lib/python3.11/site-packages/django_ledger/models/accounts.py:436 -#: venv/lib/python3.11/site-packages/django_ledger/models/coa.py:152 -msgid "Chart of Accounts" -msgstr "قائمة الحسابات" +#: inventory/models.py:891 +msgid "cash" +msgstr "نقداً" + +#: inventory/models.py:892 +msgid "credit" +msgstr "دائن" + +#: inventory/models.py:893 templates/inventory/car_detail.html:191 +#: templates/inventory/car_detail.html:385 +#: templates/inventory/transfer_car.html:23 +msgid "transfer" +msgstr "نقل" + +#: inventory/models.py:894 +msgid "debit" +msgstr "مدين" + +#: inventory/models.py:895 +msgid "SADAD" +msgstr "سداد" + +#: inventory/models.py:898 inventory/models.py:920 +msgid "amount" +msgstr "المبلغ" + +#: inventory/models.py:899 +msgid "method" +msgstr "طريقة" + +#: inventory/models.py:900 +msgid "reference number" +msgstr "رقم المرجع" + +#: inventory/models.py:901 +msgid "date" +msgstr "التاريخ" + +#: inventory/models.py:911 +msgid "payment" +msgstr "الدفعة" + +#: inventory/models.py:912 templates/base.html:229 +msgid "payments" +msgstr "المدفوعات" + +#: inventory/models.py:921 +msgid "reason" +msgstr "السبب" + +#: inventory/models.py:922 +msgid "refund date" +msgstr "تاريخ الاسترداد" + +#: inventory/models.py:925 +msgid "refund" +msgstr "استرداد" + +#: inventory/models.py:926 +msgid "refunds" +msgstr "استردادات" + +#: inventory/signals.py:111 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/includes/widget_bs.html:14 +msgid "Cash" +msgstr "نقداً" + +#: inventory/signals.py:121 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/invoice/invoice_detail.html:41 +msgid "Accounts Receivable" +msgstr "الحسابات المدينة" + +#: inventory/signals.py:141 +#: venv/lib/python3.11/site-packages/django_ledger/io/roles.py:466 +#: venv/lib/python3.11/site-packages/django_ledger/io/roles.py:552 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bills/bill_detail.html:52 +msgid "Accounts Payable" +msgstr "الحسابات الدائنة" + +#: inventory/signals.py:151 +msgid "Sales Revenue" +msgstr "إيرادات المبيعات" + +#: inventory/signals.py:161 +#: venv/lib/python3.11/site-packages/django_ledger/io/roles.py:497 +#: venv/lib/python3.11/site-packages/django_ledger/io/roles.py:587 +msgid "Cost of Goods Sold" +msgstr "تكلفة البضائع المباعة" + +#: inventory/signals.py:171 +msgid "Rent Expense" +msgstr "مصروف الإيجار" + +#: inventory/signals.py:181 +msgid "Utilities Expense" +msgstr "مصروف الخدمات" + +#: inventory/signals.py:245 +msgid "C" +msgstr "ج" #: inventory/utils.py:28 msgid "success" @@ -573,201 +825,196 @@ msgstr "ناجحة" msgid "error" msgstr "خطأ" -#: inventory/utils.py:30 templates/accounts/password_change.html:32 +#: inventory/utils.py:30 templates/account/password_change.html:22 msgid "Forgot Password?" msgstr "نسيت كلمة المرور؟" -#: inventory/views.py:106 -msgid "You are not associated with any dealer." -msgstr "أنت غير مرتبط بأي معرض." - -#: inventory/views.py:292 templates/header.html:33 templates/index.html:20 -#: templates/inventory/car_inventory.html:4 +#: inventory/views.py:323 templates/dashboards/accounting.html:21 +#: templates/header.html:33 templates/inventory/car_inventory.html:4 #: templates/inventory/car_inventory.html:7 msgid "inventory" msgstr "المخزون" -#: inventory/views.py:434 +#: inventory/views.py:465 msgid "Car finance details saved successfully." msgstr "تم حفظ تفاصيل المالية للسيارة بنجاح." -#: inventory/views.py:450 +#: inventory/views.py:481 msgid "Car finance details updated successfully." msgstr "تم تحديث تفاصيل المالية للسيارة بنجاح." -#: inventory/views.py:465 +#: inventory/views.py:496 msgid "Car updated successfully." msgstr "تم تحديث السيارة بنجاح" -#: inventory/views.py:477 +#: inventory/views.py:508 msgid "Car deleted successfully." msgstr "تم حذف السيارة بنجاح." -#: inventory/views.py:522 +#: inventory/views.py:553 msgid "Custom Card added successfully." msgstr "تم إضافة البطاقة الجمركية بنجاح." -#: inventory/views.py:531 +#: inventory/views.py:562 msgid "This car is already reserved." msgstr "هذه السيارة محجوزة بالفعل." -#: inventory/views.py:539 +#: inventory/views.py:570 msgid "Car reserved successfully." msgstr "تم حجز السيارة بنجاح." -#: inventory/views.py:560 +#: inventory/views.py:591 msgid "Reservation renewed successfully." msgstr "تم تجديد الحجز بنجاح" -#: inventory/views.py:565 +#: inventory/views.py:596 msgid "Reservation canceled successfully." msgstr "تم إلغاء الحجز بنجاح." -#: inventory/views.py:570 +#: inventory/views.py:601 msgid "Invalid action." msgstr "إجراء غير صالح." -#: inventory/views.py:574 +#: inventory/views.py:605 msgid "Invalid request method." msgstr "طريقة الطلب غير صالحة" -#: inventory/views.py:595 -msgid "Dealer created successfully." -msgstr "تم إنشاء المعرض بنجاح." - -#: inventory/views.py:603 +#: inventory/views.py:620 msgid "Dealer updated successfully." msgstr "تم تحديث المعرض بنجاح." -#: inventory/views.py:625 -msgid "Dealer deleted successfully." -msgstr "تم حذف المعرض بنجاح." - -#: inventory/views.py:630 templates/customers/customer_form.html:4 +#: inventory/views.py:640 templates/base.html:135 templates/base.html:140 +#: templates/base.html:149 templates/customers/customer_form.html:4 #: templates/header.html:62 templates/header.html:77 msgid "customers" msgstr "العملاء" -#: inventory/views.py:675 +#: inventory/views.py:684 msgid "Customer created successfully." msgstr "تم إنشاء العميل بنجاح." -#: inventory/views.py:690 +#: inventory/views.py:698 msgid "Customer updated successfully." msgstr "تم تحديث العميل بنجاح." -#: inventory/views.py:697 +#: inventory/views.py:705 msgid "Customer deleted successfully." msgstr "تم حذف العميل بنجاح." -#: inventory/views.py:727 +#: inventory/views.py:734 msgid "Vendor created successfully." msgstr "تم إنشاء المورد بنجاح." -#: inventory/views.py:742 +#: inventory/views.py:748 msgid "Vendor updated successfully." msgstr "تم تحديث المورد بنجاح" -#: inventory/views.py:749 +#: inventory/views.py:755 msgid "Vendor deleted successfully." msgstr "تم حذف المورد بنجاح." -#: inventory/views.py:774 +#: inventory/views.py:778 msgid "Quotation created successfully." msgstr "تم إنشاء عرض السعر بنجاح." -#: inventory/views.py:862 +#: inventory/views.py:1043 +msgid "Quotation Approved" +msgstr "تمت الموافقة على العرض" + +#: inventory/views.py:1060 +msgid "Quotation Paid" +msgstr "تم دفع العرض" + +#: inventory/views.py:1068 msgid "Quotation already approved." msgstr "تمت الموافقة على العرض بالفعل." -#: inventory/views.py:877 +#: inventory/views.py:1083 msgid "Quotation confirmed and sales order created." msgstr "تم تأكيد عرض السعر وإنشاء أمر البيع." -#: inventory/views.py:933 +#: inventory/views.py:1138 msgid "User created successfully." msgstr "تم إنشاء المستخدم بنجاح." -#: inventory/views.py:946 +#: inventory/views.py:1151 msgid "You have reached the maximum number of users." msgstr "لقد وصلت إلى الحد الأقصى لعدد المستخدمين." -#: inventory/views.py:976 +#: inventory/views.py:1180 msgid "User updated successfully." msgstr "تم تحديث المستخدم بنجاح" -#: inventory/views.py:1002 +#: inventory/views.py:1206 msgid "User deleted successfully." msgstr "تم حذف المستخدم بنجاح." -#: templates/accounts/login.html:6 templates/accounts/login.html:14 -#: templates/accounts/login.html:31 templates/header.html:217 +#: templates/account/login.html:6 templates/account/login.html:16 +#: templates/account/login.html:28 templates/account/signup.html:75 +#: templates/base.html:462 templates/header.html:233 templates/index.html:96 msgid "Sign In" msgstr "تسجيل الدخول" -#: templates/accounts/login.html:16 +#: templates/account/login.html:13 templates/account/password_change.html:10 +#: templates/account/password_reset.html:10 +#: templates/account/signup-wizard.html:10 templates/header.html:25 +#: templates/header.html:210 templates/index.html:84 +msgid "home" +msgstr "الرئيسية" + +#: templates/account/login.html:33 msgid "If you have not created an account yet, then please" msgstr "إذا لم تقم بإنشاء حساب بعد، يرجى التسجيل أولاً." -#: templates/accounts/login.html:18 templates/accounts/signup.html:5 -#: templates/accounts/signup.html:13 templates/accounts/signup.html:29 +#: templates/account/login.html:33 templates/account/signup-wizard.html:14 +#: templates/account/signup.html:5 templates/account/signup.html:74 +#: templates/base.html:463 templates/index.html:96 msgid "Sign Up" msgstr "إنشاء حساب" -#: templates/accounts/login.html:43 -msgid "Sign in with a passkey" -msgstr "تسجيل الدخول باستخدام مفتاح المرور" - -#: templates/accounts/login.html:48 -msgid "Mail me a sign-in code" -msgstr "أرسل لي رمز تسجيل الدخول عبر البريد الإلكتروني" - -#: templates/accounts/logout.html:3 templates/accounts/logout.html:11 -#: templates/accounts/logout.html:21 templates/dealers/dealer_detail.html:65 -#: templates/header.html:211 +#: templates/account/logout.html:3 templates/account/logout.html:11 +#: templates/account/logout.html:20 templates/base.html:459 +#: templates/dealers/dealer_detail8.html:65 templates/header.html:227 msgid "Sign Out" msgstr "تسجيل الخروج" -#: templates/accounts/logout.html:12 +#: templates/account/logout.html:12 msgid "Are you sure you want to sign out?" msgstr "هل أنت متأكد أنك تريد تسجيل الخروج؟" -#: templates/accounts/password_change.html:4 -#: templates/accounts/password_change.html:12 -#: templates/accounts/password_change.html:24 -#: templates/dealers/dealer_detail.html:60 +#: templates/account/password_change.html:3 +#: templates/account/password_change.html:13 +#: templates/account/password_change.html:26 +#: templates/dealers/dealer_detail.html:29 +#: templates/dealers/dealer_detail8.html:60 msgid "Change Password" msgstr "تغيير كلمة المرور" -#: templates/accounts/password_change.html:13 +#: templates/account/password_change.html:14 msgid "Ensure your account is using a strong, unique password." msgstr "تأكد من أن حسابك يستخدم كلمة مرور قوية وفريدة." -#: templates/accounts/password_reset.html:4 -#: templates/accounts/password_reset.html:12 -#: templates/accounts/password_reset_done.html:6 -#: templates/accounts/password_reset_done.html:10 +#: templates/account/password_reset.html:4 +#: templates/account/password_reset.html:14 +#: templates/account/password_reset_done.html:6 +#: templates/account/password_reset_done.html:10 msgid "Password Reset" msgstr "إعادة تعيين كلمة المرور" -#: templates/accounts/password_reset.html:14 -msgid "" -"Forgotten your password? Enter your email address below, and we'll send you " -"an email allowing you to reset it." -msgstr "" -"نسيت كلمة المرور؟ أدخل عنوان بريدك الإلكتروني أدناه، وسنرسل لك رسالة بريد " -"إلكتروني تتيح لك إعادة تعيينها." +#: templates/account/password_reset.html:15 +msgid "Type your new password" +msgstr "أدخل كلمة المرور الجديدة" -#: templates/accounts/password_reset.html:25 +#: templates/account/password_reset.html:29 msgid "Reset My Password" msgstr "إعادة تعيين كلمة المرور الخاصة بي" -#: templates/accounts/password_reset.html:33 +#: templates/account/password_reset.html:32 msgid "Please contact us if you have any trouble resetting your password." msgstr "" "يرجى التواصل معنا إذا واجهت أي مشكلة في إعادة تعيين كلمة المرور الخاصة بك." -#: templates/accounts/password_reset_done.html:16 +#: templates/account/password_reset_done.html:16 msgid "" "We have sent you an email. If you have not received it please check your " "spam folder. Otherwise contact us if you do not receive it in a few minutes." @@ -775,22 +1022,148 @@ msgstr "" "لقد أرسلنا لك رسالة بريد إلكتروني. إذا لم تتلقاها، يرجى التحقق من مجلد " "البريد الغير هام. وإذا لم تصلك في غضون بضع دقائق، يرجى التواصل معنا." -#: templates/accounts/signup.html:15 -msgid "Already have an account?" -msgstr "هل لديك حساب بالفعل؟" +#: templates/account/signup-wizard.html:15 +msgid "Create your account today" +msgstr "أنشئ حسابك اليوم" -#: templates/accounts/signup.html:16 -msgid "Sign in" -msgstr "تسجيل الدخول" +#: templates/account/signup-wizard.html:22 +msgid "Access" +msgstr "الوصول" -#: templates/accounts/signup.html:40 +#: templates/account/signup-wizard.html:25 +#: venv/lib/python3.11/site-packages/django_ledger/models/accounts.py:443 +#: venv/lib/python3.11/site-packages/django_ledger/models/transactions.py:485 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bank_account/bank_account_update.html:13 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/closing_entry/tags/closing_entry_txs_table.html:8 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/journal_entry/tags/je_txs_table.html:9 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/journal_entry/tags/je_txs_table.html:42 +msgid "Account" +msgstr "الحساب" + +#: templates/account/signup-wizard.html:28 +msgid "Extra" +msgstr "إضافي" + +#: templates/account/signup-wizard.html:31 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/journal_entry/je_detail_txs.html:59 +msgid "Done" +msgstr "تم" + +#: templates/account/signup-wizard.html:59 +msgid "You are all set!" +msgstr "كل شيء جاهز!" + +#: templates/account/signup-wizard.html:60 +msgid "Now you can access your account" +msgstr "الآن يمكنك الوصول إلى حسابك" + +#: templates/account/signup-wizard.html:60 +msgid "anytime" +msgstr "في أي وقت" + +#: templates/account/signup-wizard.html:60 +msgid "anywhere" +msgstr "في أي مكان" + +#: templates/account/signup-wizard.html:60 +msgid "Submit" +msgstr "إرسال" + +#: templates/account/signup-wizard.html:69 +#: templates/customers/customer_list.html:89 +#: venv/lib/python3.11/site-packages/alabaster/relations.html:9 +msgid "Previous" +msgstr "السابق" + +#: templates/account/signup-wizard.html:71 +#: templates/customers/customer_list.html:111 +#: venv/lib/python3.11/site-packages/alabaster/relations.html:13 +msgid "Next" +msgstr "التالي" + +#: templates/account/signup-wizard.html:147 +#: templates/inventory/car_form.html:618 +msgid "Please Wait" +msgstr "الرجاء الإنتظار" + +#: templates/account/signup-wizard.html:148 +#: templates/inventory/car_form.html:619 +msgid "Loading" +msgstr "تحميل" + +#: templates/account/signup.html:11 templates/base.html:259 +#: templates/index.html:61 +msgid "Haikal" +msgstr "هيكل" + +#: templates/account/signup.html:23 msgid "Sign up using a passkey" msgstr "إنشاء حساب باستخدام مفتاح المرور" -#: templates/base.html:9 templates/welcome.html:24 +#: templates/account/signup.html:75 +msgid "Already have an account?" +msgstr "هل لديك حساب بالفعل؟" + +#: templates/base.html:16 templates/index.html:16 templates/welcome.html:24 msgid "HAIKAL" msgstr "هيكل" +#: templates/base.html:118 templates/header.html:41 +msgid "add car" +msgstr "إضافة سيارة" + +#: templates/base.html:143 templates/header.html:69 +msgid "add customer" +msgstr "إضافة عميل" + +#: templates/base.html:160 templates/base.html:165 templates/base.html:174 +#: templates/header.html:90 templates/header.html:105 +msgid "organizations" +msgstr "المنظمات" + +#: templates/base.html:168 templates/header.html:97 +msgid "add organization" +msgstr "إضافة منظمة" + +#: templates/base.html:180 templates/header.html:113 +#: templates/representatives/representative_form.html:4 +#: templates/representatives/representative_form.html:7 +#: templates/representatives/representative_list.html:12 +msgid "Add Representative" +msgstr "إضافة ممثل" + +#: templates/base.html:197 templates/base.html:202 templates/header.html:132 +msgid "sales" +msgstr "المبيعات" + +#: templates/base.html:205 templates/header.html:139 +msgid "create quotation" +msgstr "إنشاء عرض" + +#: templates/base.html:211 templates/header.html:147 +msgid "quotations" +msgstr "العروض" + +#: templates/base.html:217 +msgid "orders" +msgstr "الطلبات" + +#: templates/base.html:223 +msgid "invoices" +msgstr "الفواتير" + +#: templates/base.html:446 templates/header.html:224 +msgid "profile" +msgstr "الملف الشخصي" + +#: templates/base.html:483 +msgid "All right reserved" +msgstr "جميع الحقوق محفوظة" + +#: templates/base.html:483 +msgid "tenhal" +msgstr "تنحل" + #: templates/customers/customer_form.html:14 msgid "Edit Customer" msgstr "تحديث العميل" @@ -804,10 +1177,11 @@ msgstr "إضافة عميل" #: templates/inventory/add_custom_card.html:7 #: templates/inventory/car_edit.html:12 #: templates/inventory/car_finance_form.html:40 -#: templates/inventory/car_location_form.html:17 +#: templates/inventory/car_location_form.html:18 #: templates/inventory/color_palette.html:106 #: templates/organizations/organization_form.html:12 #: templates/representatives/representative_form.html:11 +#: templates/sales/payments/payment_create.html:16 #: templates/sales/quotation_form.html:18 templates/users/user_form.html:31 #: templates/vendors/vendor_form.html:31 #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bills/tags/bill_item_formset.html:81 @@ -824,7 +1198,7 @@ msgstr "حفظ" #: templates/inventory/add_colors.html:56 #: templates/inventory/add_custom_card.html:8 #: templates/inventory/car_confirm_delete.html:14 -#: templates/inventory/car_detail.html:356 +#: templates/inventory/car_detail.html:352 #: templates/inventory/car_finance_form.html:41 #: templates/inventory/color_palette.html:107 #: templates/inventory/reserve_car.html:30 @@ -856,7 +1230,7 @@ msgid "Customers List" msgstr "قائمة العملاء" #: templates/customers/customer_list.html:55 -#: templates/inventory/car_detail.html:334 +#: templates/inventory/car_detail.html:330 #: templates/inventory/car_inventory.html:40 #: templates/organizations/organization_list.html:21 #: templates/representatives/representative_list.html:20 @@ -889,11 +1263,11 @@ msgid "Actions" msgstr "الإجراءات" #: templates/customers/customer_list.html:68 -#: templates/inventory/car_detail.html:158 +#: templates/inventory/car_detail.html:154 #: templates/inventory/car_inventory.html:76 #: templates/organizations/organization_list.html:32 #: templates/representatives/representative_list.html:30 -#: templates/sales/quotation_list.html:40 templates/users/user_list.html:60 +#: templates/sales/quotation_list.html:44 templates/users/user_list.html:60 #: templates/vendors/vendors_list.html:56 msgid "view" msgstr "عرض" @@ -902,27 +1276,21 @@ msgstr "عرض" msgid "No customers found." msgstr "لم يتم العثور على عملاء." -#: templates/customers/customer_list.html:89 -#: venv/lib/python3.11/site-packages/alabaster/relations.html:9 -msgid "Previous" -msgstr "السابق" - -#: templates/customers/customer_list.html:111 -#: venv/lib/python3.11/site-packages/alabaster/relations.html:13 -msgid "Next" -msgstr "التالي" - -#: templates/customers/view_customer.html:4 templates/users/user_detail.html:5 +#: templates/customers/view_customer.html:4 +#: templates/sales/invoice/invoice_detail.html:4 +#: templates/users/user_detail.html:5 msgid "View Customer" msgstr "عرض العميل" #: templates/customers/view_customer.html:19 +#: templates/sales/invoice/invoice_detail.html:19 msgid "Are you sure you want to delete this customer?" msgstr "هل أنت متأكد أنك تريد حذف هذا العميل؟" #: templates/customers/view_customer.html:26 #: templates/inventory/car_detail.html:48 -#: templates/sales/quotation_detail.html:20 templates/users/user_detail.html:27 +#: templates/sales/invoice/invoice_detail.html:26 +#: templates/sales/quotation_detail.html:21 templates/users/user_detail.html:27 #: templates/vendors/view_vendor.html:29 #: venv/lib/python3.11/site-packages/django/forms/widgets.py:802 msgid "No" @@ -930,23 +1298,26 @@ msgstr "لا" #: templates/customers/view_customer.html:31 #: templates/inventory/car_detail.html:52 -#: templates/sales/quotation_detail.html:24 templates/users/user_detail.html:32 +#: templates/sales/invoice/invoice_detail.html:31 +#: templates/sales/quotation_detail.html:25 templates/users/user_detail.html:32 #: templates/vendors/view_vendor.html:32 #: venv/lib/python3.11/site-packages/django/forms/widgets.py:801 msgid "Yes" msgstr "نعم" #: templates/customers/view_customer.html:41 -#: templates/sales/quotation_detail.html:41 +#: templates/sales/invoice/invoice_detail.html:41 +#: templates/sales/quotation_detail.html:42 #: templates/sales/quotation_pdf.html:32 msgid "Customer Details" msgstr "تفاصيل العميل" #: templates/customers/view_customer.html:61 -#: templates/inventory/car_detail.html:207 -#: templates/inventory/car_detail.html:391 +#: templates/inventory/car_detail.html:203 +#: templates/inventory/car_detail.html:387 #: templates/organizations/organization_detail.html:14 #: templates/representatives/representative_detail.html:13 +#: templates/sales/invoice/invoice_detail.html:61 #: templates/users/user_detail.html:60 templates/vendors/view_vendor.html:64 #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/customer/includes/card_customer.html:28 #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/journal_entry/tags/je_table.html:83 @@ -958,6 +1329,7 @@ msgstr "تحديث" #: templates/customers/view_customer.html:67 #: templates/organizations/organization_detail.html:17 #: templates/representatives/representative_detail.html:16 +#: templates/sales/invoice/invoice_detail.html:67 #: templates/users/user_detail.html:66 templates/vendors/view_vendor.html:67 #: venv/lib/python3.11/site-packages/django/forms/formsets.py:499 #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bills/bill_delete.html:28 @@ -990,20 +1362,85 @@ msgid "Delete" msgstr "حذف" #: templates/customers/view_customer.html:72 -#: templates/inventory/car_detail.html:393 templates/users/user_detail.html:71 +#: templates/inventory/car_detail.html:389 +#: templates/sales/invoice/invoice_detail.html:72 +#: templates/users/user_detail.html:71 msgid "Back to List" msgstr "العودة إلى القائمة" -#: templates/dealers/dealer_detail.html:5 -#: templates/dealers/dealer_detail.html:14 +#: templates/dashboards/accounting.html:30 +msgid "inventory value" +msgstr "قيمة المخزون" + +#: templates/dashboards/accounting.html:34 +msgid "Profits" +msgstr "الأرباح" + +#: templates/dashboards/accounting.html:44 +msgid "Commissions" +msgstr "العمولات" + +#: templates/dealers/dealer_detail.html:23 +msgid "Profile" +msgstr "الملف الشخصي" + +#: templates/dealers/dealer_detail.html:55 +msgid "Joined" +msgstr "انضم" + +#: templates/dealers/dealer_detail.html:55 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/chart_of_accounts/includes/coa_card.html:41 +msgid "ago" +msgstr "منذ" + +#: templates/dealers/dealer_detail.html:62 +msgid "last login" +msgstr "آخر تسجيل دخول" + +#: templates/dealers/dealer_detail.html:66 +msgid "Total users" +msgstr "إجمالي المستخدمين" + +#: templates/dealers/dealer_detail.html:70 +msgid "Subscription" +msgstr "الاشتراك" + +#: templates/dealers/dealer_detail.html:72 +#: venv/lib/python3.11/site-packages/django_ledger/models/accounts.py:433 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/account/tags/accounts_table.html:26 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/customer/tags/customer_table.html:11 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/uom/tags/uom_table.html:10 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/vendor/tags/vendor_table.html:12 +msgid "Active" +msgstr "نشط" + +#: templates/dealers/dealer_detail.html:74 +#: templates/inventory/car_detail.html:358 +msgid "Expired" +msgstr "منتهي الصلاحية" + +#: templates/dealers/dealer_detail.html:86 +msgid "Default Address" +msgstr "العنوان الافتراضي" + +#: templates/dealers/dealer_detail.html:136 +msgid "most valuable" +msgstr "الأكثر قيمة" + +#: templates/dealers/dealer_detail.html:138 +msgid "Active until" +msgstr "نشط حتى" + +#: templates/dealers/dealer_detail8.html:5 +#: templates/dealers/dealer_detail8.html:14 msgid "Dealer Details" msgstr "تفاصيل المعرض" -#: templates/dealers/dealer_detail.html:45 +#: templates/dealers/dealer_detail8.html:45 msgid "N/A" msgstr "غير متوفر" -#: templates/dealers/dealer_detail.html:49 +#: templates/dealers/dealer_detail8.html:49 #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/account/tags/accounts_table.html:101 #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bank_account/bank_account_update.html:23 #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bank_account/tags/bank_accounts_table.html:49 @@ -1035,11 +1472,11 @@ msgstr "غير متوفر" msgid "Update" msgstr "تحديث" -#: templates/dealers/dealer_detail.html:56 +#: templates/dealers/dealer_detail8.html:56 msgid "Account Management" msgstr "إدارة الحساب" -#: templates/dealers/dealer_detail.html:71 +#: templates/dealers/dealer_detail8.html:71 msgid "Admin Panel" msgstr "لوحة التحكم الإدارية" @@ -1081,8 +1518,7 @@ msgstr "400" msgid "Bad Request" msgstr "طلب غير صالح" -#: templates/errors/400.html:46 templates/errors/403.html:46 -#: templates/errors/404.html:46 templates/errors/500.html:46 +#: templates/errors/400.html:46 #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bills/bill_delete.html:27 #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bills/bill_void.html:24 #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/closing_entry/closing_entry_delete.html:18 @@ -1106,30 +1542,6 @@ msgstr "طلب غير صالح" msgid "Go Back" msgstr "العودة" -#: templates/errors/403.html:44 -msgid "403" -msgstr "403" - -#: templates/errors/403.html:45 -msgid "You do not have permission to view this page." -msgstr "ليس لديك الإذن لعرض هذه الصفحة." - -#: templates/errors/404.html:44 -msgid "404" -msgstr "404" - -#: templates/errors/404.html:45 -msgid "Page not found" -msgstr "الصفحة غير موجودة" - -#: templates/errors/500.html:44 -msgid "500" -msgstr "500" - -#: templates/errors/500.html:45 -msgid "Internal Server Error" -msgstr "خطأ داخلي في الخادم" - #: templates/haikalbot/chatbot.html:4 templates/haikalbot/chatbot.html:22 #: templates/haikalbot/chatbot.html:27 templates/haikalbot/chatbot.html:78 msgid "HaikalBot" @@ -1151,207 +1563,22 @@ msgstr "إرسال" msgid "You" msgstr "أنت" -#: templates/header.html:25 templates/header.html:194 templates/index.html:5 -msgid "home" -msgstr "الرئيسية" - -#: templates/header.html:41 -msgid "add car" -msgstr "إضافة سيارة" - -#: templates/header.html:69 -msgid "add customer" -msgstr "إضافة عميل" - -#: templates/header.html:90 templates/header.html:105 -msgid "organizations" -msgstr "المنظمات" - -#: templates/header.html:97 -msgid "add organization" -msgstr "إضافة منظمة" - -#: templates/header.html:116 templates/index.html:152 templates/index.html:227 -msgid "sales" -msgstr "المبيعات" - -#: templates/header.html:123 -msgid "create quotation" -msgstr "إنشاء عرض" - -#: templates/header.html:131 -msgid "quotations" -msgstr "العروض" - -#: templates/header.html:149 templates/vendors/vendor_form.html:17 +#: templates/header.html:165 templates/vendors/vendor_form.html:17 msgid "Add Vendor" msgstr "إضافة مورد" -#: templates/header.html:170 templates/header.html:185 +#: templates/header.html:186 templates/header.html:201 msgid "Users" msgstr "المستخدمون" -#: templates/header.html:177 templates/users/user_form.html:17 +#: templates/header.html:193 templates/users/user_form.html:17 msgid "Add User" msgstr "إضافة مستخدم" -#: templates/header.html:208 -msgid "profile" -msgstr "الملف الشخصي" - -#: templates/header.html:240 +#: templates/header.html:256 msgid "Theme" msgstr "السمة" -#: templates/index.html:24 -msgid "Reserved Cars" -msgstr "السيارات المحجوزة" - -#: templates/index.html:28 -msgid "purchase orders" -msgstr "أوامر الشراء" - -#: templates/index.html:32 -msgid "invoices" -msgstr "الفواتير" - -#: templates/index.html:36 -msgid "sold" -msgstr "تم البيع" - -#: templates/index.html:41 -msgid "notifications" -msgstr "الإشعارات" - -#: templates/index.html:45 -msgid "transfer request" -msgstr "طلب النقل" - -#: templates/index.html:57 -msgid "inventory value" -msgstr "قيمة المخزون" - -#: templates/index.html:58 -msgid "View the current value of your car inventory." -msgstr "عرض القيمة الحالية لمخزون السيارات الخاص بك." - -#: templates/index.html:61 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/includes/widget_ratios.html:31 -msgid "Profitability" -msgstr "الربحية" - -#: templates/index.html:66 -msgid "sales analytics" -msgstr "تحليلات المبيعات" - -#: templates/index.html:74 -msgid "top customers" -msgstr "أفضل العملاء" - -#: templates/index.html:75 -msgid "View your highest spending customer." -msgstr "عرض العميل الذي ينفق أكثر." - -#: templates/index.html:92 -msgid "view customer" -msgstr "عرض العميل" - -#: templates/index.html:100 -msgid "Today's Pending Orders" -msgstr "أوامر اليوم المعلقة" - -#: templates/index.html:101 -msgid "View your pending orders for today." -msgstr "عرض أوامرك المعلقة لليوم." - -#: templates/index.html:106 -msgid "order" -msgstr "الطلب" - -#: templates/index.html:107 -msgid "customer" -msgstr "العميل" - -#: templates/index.html:108 -msgid "amount" -msgstr "المبلغ" - -#: templates/index.html:109 -msgid "status" -msgstr "الحالة" - -#: templates/index.html:117 templates/index.html:123 templates/index.html:129 -msgid "pending" -msgstr "معلق" - -#: templates/index.html:136 -msgid "view orders" -msgstr "عرض الأوامر" - -#: templates/index.html:145 -msgid "top selling cars" -msgstr "أفضل السيارات مبيعاً" - -#: templates/index.html:146 -msgid "View your best-selling cars." -msgstr "عرض السيارات الأكثر مبيعاً." - -#: templates/index.html:151 templates/inventory/car_detail.html:108 -#: templates/inventory/car_form.html:159 templates/inventory/car_list.html:97 -msgid "model" -msgstr "الموديل" - -#: templates/index.html:153 -msgid "revenue" -msgstr "الإيرادات" - -#: templates/index.html:186 -msgid "view inventory" -msgstr "عرض المخزون" - -#: templates/index.html:194 -msgid "Daily Sales" -msgstr "المبيعات اليومية" - -#: templates/index.html:195 -msgid "View your daily sales trends." -msgstr "عرض اتجاهات المبيعات اليومية." - -#: templates/index.html:217 -#: venv/lib/python3.11/site-packages/django/utils/dates.py:22 -msgid "Sun" -msgstr "الأحد" - -#: templates/index.html:218 -#: venv/lib/python3.11/site-packages/django/utils/dates.py:16 -msgid "Mon" -msgstr "الإثنين" - -#: templates/index.html:219 -#: venv/lib/python3.11/site-packages/django/utils/dates.py:17 -msgid "Tue" -msgstr "الثلاثاء" - -#: templates/index.html:220 -#: venv/lib/python3.11/site-packages/django/utils/dates.py:18 -msgid "Wed" -msgstr "الأربعاء" - -#: templates/index.html:221 -#: venv/lib/python3.11/site-packages/django/utils/dates.py:19 -msgid "Thu" -msgstr "الخميس" - -#: templates/index.html:222 -#: venv/lib/python3.11/site-packages/django/utils/dates.py:20 -msgid "Fri" -msgstr "الجمعة" - -#: templates/index.html:223 -#: venv/lib/python3.11/site-packages/django/utils/dates.py:21 -msgid "Sat" -msgstr "السبت" - #: templates/inventory/add_colors.html:5 msgid "Add Colors" msgstr "إضافة لون" @@ -1360,8 +1587,8 @@ msgstr "إضافة لون" msgid "Select exterior and interior colors for" msgstr "اختر الألوان الخارجية والداخلية لـ" -#: templates/inventory/car_detail.html:5 templates/inventory/car_detail.html:92 -#: templates/sales/quotation_detail.html:56 +#: templates/inventory/car_detail.html:5 templates/inventory/car_detail.html:88 +#: templates/sales/quotation_detail.html:68 #: templates/sales/quotation_pdf.html:37 msgid "Car Details" msgstr "تفاصيل السيارة" @@ -1371,85 +1598,84 @@ msgid "Are you sure you want to reserve this car?" msgstr "هل أنت متأكد أنك تريد حجز هذه السيارة؟" #: templates/inventory/car_detail.html:66 -#: templates/inventory/car_detail.html:151 templates/inventory/car_form.html:37 +#: templates/inventory/car_detail.html:147 templates/inventory/car_form.html:37 #: templates/inventory/car_form.html:322 templates/inventory/car_list.html:47 #: templates/inventory/car_list.html:221 msgid "specifications" msgstr "المواصفات" -#: templates/inventory/car_detail.html:76 templates/inventory/car_form.html:42 +#: templates/inventory/car_detail.html:73 templates/inventory/car_form.html:42 #: templates/inventory/car_form.html:58 templates/partials/scanner_modal.html:6 #: templates/partials/specifications_modal.html:8 msgid "Close" msgstr "إغلاق" -#: templates/inventory/car_detail.html:100 -#: templates/inventory/car_list.html:119 +#: templates/inventory/car_detail.html:96 templates/inventory/car_list.html:119 msgid "year" msgstr "السنة" -#: templates/inventory/car_detail.html:104 +#: templates/inventory/car_detail.html:100 #: templates/inventory/car_form.html:140 templates/inventory/car_list.html:79 msgid "make" msgstr "الصانع" -#: templates/inventory/car_detail.html:112 +#: templates/inventory/car_detail.html:104 +#: templates/inventory/car_form.html:159 templates/inventory/car_list.html:97 +msgid "model" +msgstr "الموديل" + +#: templates/inventory/car_detail.html:108 #: templates/inventory/car_list.html:130 msgid "series" msgstr "السلسلة" -#: templates/inventory/car_detail.html:116 +#: templates/inventory/car_detail.html:112 #: templates/inventory/car_form.html:204 templates/inventory/car_list.html:141 msgid "trim" msgstr "الفئة" -#: templates/inventory/car_detail.html:137 +#: templates/inventory/car_detail.html:133 msgid "Branch" msgstr "الفرع" -#: templates/inventory/car_detail.html:179 -#: templates/inventory/car_detail.html:200 +#: templates/inventory/car_detail.html:175 +#: templates/inventory/car_detail.html:196 +#: templates/inventory/car_location_form.html:10 msgid "Add" msgstr "إضافة" -#: templates/inventory/car_detail.html:185 +#: templates/inventory/car_detail.html:181 #: templates/inventory/car_inventory.html:39 msgid "Showroom Location" msgstr "موقع صالة العرض" -#: templates/inventory/car_detail.html:189 +#: templates/inventory/car_detail.html:185 #: templates/inventory/car_inventory.html:70 msgid "Our Showroom" msgstr "معرضنا" -#: templates/inventory/car_detail.html:195 -#: templates/inventory/car_detail.html:389 -#: templates/inventory/transfer_car.html:23 -msgid "transfer" -msgstr "نقل" - -#: templates/inventory/car_detail.html:197 +#: templates/inventory/car_detail.html:193 msgid "No location available." msgstr "لا يوجد موقع متاح." -#: templates/inventory/car_detail.html:214 +#: templates/inventory/car_detail.html:210 msgid "Financial Details" msgstr "التفاصيل المالية" -#: templates/inventory/car_detail.html:236 +#: templates/inventory/car_detail.html:232 msgid "Additional Fee" msgstr "رسوم إضافية" -#: templates/inventory/car_detail.html:248 -#: templates/sales/quotation_detail.html:99 +#: templates/inventory/car_detail.html:244 +#: templates/sales/quotation_detail.html:111 #: templates/sales/quotation_pdf.html:67 #: templates/sales/sales_order_detail.html:26 msgid "VAT Amount" msgstr "مبلغ ضريبة القيمة المضافة" -#: templates/inventory/car_detail.html:252 +#: templates/inventory/car_detail.html:248 #: templates/inventory/inventory_stats.html:61 -#: templates/sales/quotation_detail.html:66 +#: templates/sales/quotation_detail.html:78 #: templates/sales/quotation_pdf.html:47 #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bills/bill_detail.html:98 #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bills/bill_detail.html:127 @@ -1468,66 +1694,62 @@ msgstr "مبلغ ضريبة القيمة المضافة" msgid "Total" msgstr "الإجمالي" -#: templates/inventory/car_detail.html:260 +#: templates/inventory/car_detail.html:256 msgid "Edit Finance Details" msgstr "تعديل التفاصيل المالية" -#: templates/inventory/car_detail.html:265 +#: templates/inventory/car_detail.html:261 msgid "No finance details available." msgstr "لا توجد تفاصيل مالية متاحة." -#: templates/inventory/car_detail.html:268 +#: templates/inventory/car_detail.html:264 msgid "Add Finance Details" msgstr "إضافة التفاصيل المالية" -#: templates/inventory/car_detail.html:277 +#: templates/inventory/car_detail.html:273 msgid "Colors Details" msgstr "تفاصيل الألوان" -#: templates/inventory/car_detail.html:284 +#: templates/inventory/car_detail.html:280 msgid "Exterior" msgstr "الخارجي" -#: templates/inventory/car_detail.html:295 +#: templates/inventory/car_detail.html:291 msgid "Interior" msgstr "الداخلي" -#: templates/inventory/car_detail.html:309 +#: templates/inventory/car_detail.html:305 msgid "No colors available for this car." msgstr "لا تتوفر ألوان لهذه السيارة." -#: templates/inventory/car_detail.html:315 +#: templates/inventory/car_detail.html:311 msgid "Get Colors" msgstr "الحصول على الألوان" -#: templates/inventory/car_detail.html:326 +#: templates/inventory/car_detail.html:322 msgid "Reservations Details" msgstr "تفاصيل الحجز" -#: templates/inventory/car_detail.html:333 +#: templates/inventory/car_detail.html:329 msgid "Expires At" msgstr "ينتهي في" -#: templates/inventory/car_detail.html:350 +#: templates/inventory/car_detail.html:346 msgid "Renew" msgstr "تجديد" -#: templates/inventory/car_detail.html:362 -msgid "Expired" -msgstr "ينتهي في" - -#: templates/inventory/car_detail.html:375 +#: templates/inventory/car_detail.html:371 #: templates/inventory/reserve_car.html:29 msgid "Reserve" msgstr "حجز" -#: templates/inventory/car_detail.html:472 +#: templates/inventory/car_detail.html:468 #: templates/inventory/car_list.html:542 #: templates/partials/specifications_modal.html:11 msgid "No specifications available." msgstr "لا توجد مواصفات متاحة." -#: templates/inventory/car_detail.html:476 +#: templates/inventory/car_detail.html:472 #: templates/inventory/car_list.html:546 msgid "Error loading specifications." msgstr "حدث خطأ أثناء تحميل المواصفات." @@ -1568,9 +1790,9 @@ msgid "Search" msgstr "بحث" #: templates/inventory/car_form.html:165 templates/inventory/car_form.html:187 -#: templates/inventory/car_form.html:209 templates/inventory/car_form.html:525 -#: templates/inventory/car_form.html:544 templates/inventory/car_form.html:545 -#: templates/inventory/car_form.html:563 +#: templates/inventory/car_form.html:209 templates/inventory/car_form.html:510 +#: templates/inventory/car_form.html:529 templates/inventory/car_form.html:530 +#: templates/inventory/car_form.html:548 msgid "Select" msgstr "اختيار" @@ -1582,23 +1804,15 @@ msgstr "حفظ وإضافة آخر" msgid "Save and Go to Inventory" msgstr "حفظ والانتقال إلى المخزون" -#: templates/inventory/car_form.html:399 -msgid "Please Wait" -msgstr "الرجاء الإنتظار" - -#: templates/inventory/car_form.html:400 -msgid "Loading" -msgstr "تحميل" - -#: templates/inventory/car_form.html:431 templates/inventory/car_form.html:432 +#: templates/inventory/car_form.html:416 templates/inventory/car_form.html:417 msgid "Please enter a valid VIN." msgstr "الرجاء إدخال رقم هيكل صالح مكون من 17 حرفًا." -#: templates/inventory/car_form.html:450 +#: templates/inventory/car_form.html:435 msgid "Failed to decode VIN." msgstr "فشل في فك تشفير رقم الهيكل" -#: templates/inventory/car_form.html:455 templates/inventory/car_form.html:456 +#: templates/inventory/car_form.html:440 templates/inventory/car_form.html:441 msgid "An error occurred while decoding the VIN." msgstr "حدث خطأ أثناء فك تشفير الهيكل" @@ -1674,10 +1888,14 @@ msgid "Error loading options." msgstr "خطأ في تحميل الخيارات." #: templates/inventory/car_location_form.html:4 -#: templates/inventory/car_location_form.html:12 +#: templates/inventory/car_location_form.html:13 msgid "Manage Car Location" msgstr "إدارة موقع السيارة" +#: templates/inventory/car_location_form.html:8 +msgid "Transfer" +msgstr "نقل" + #: templates/inventory/color_palette.html:74 msgid "Update Color" msgstr "تحديث اللون" @@ -1758,13 +1976,6 @@ msgstr "رقم السجل التجاري" msgid "VRN" msgstr "الرقم الضريبي" -#: templates/organizations/organization_detail.html:10 -#: templates/organizations/organization_list.html:20 -#: templates/representatives/representative_detail.html:9 -#: templates/representatives/representative_list.html:19 -msgid "Phone" -msgstr "الهاتف..." - #: templates/organizations/organization_form.html:4 #: templates/organizations/organization_form.html:7 #: templates/organizations/organization_list.html:12 @@ -1787,86 +1998,79 @@ msgstr "المواصفات" msgid "Representative Details" msgstr "تفاصيل الممثل" -#: templates/representatives/representative_form.html:4 -#: templates/representatives/representative_form.html:7 -#: templates/representatives/representative_list.html:12 -msgid "Add Representative" -msgstr "إضافة ممثل" - #: templates/representatives/representative_list.html:35 msgid "No representatives found." msgstr "لم يتم العثور على ممثلين." -#: templates/sales/quotation_detail.html:10 +#: templates/sales/payments/payment_create.html:5 +#: templates/sales/payments/payment_create.html:11 +msgid "Make Payment" +msgstr "إجراء الدفع" + +#: templates/sales/quotation_detail.html:11 #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/components/modals_v2.html:11 msgid "Confirm" msgstr "تأكيد" -#: templates/sales/quotation_detail.html:14 +#: templates/sales/quotation_detail.html:15 msgid "Are you sure" msgstr "هل أنت متأكد" -#: templates/sales/quotation_detail.html:36 +#: templates/sales/quotation_detail.html:37 #: templates/sales/quotation_pdf.html:31 msgid "Quotation Details" msgstr "تفاصيل عرض السعر" -#: templates/sales/quotation_detail.html:46 +#: templates/sales/quotation_detail.html:47 #: templates/sales/quotation_pdf.html:35 msgid "VAT No" msgstr "الرقم الضريبي" -#: templates/sales/quotation_detail.html:49 +#: templates/sales/quotation_detail.html:50 msgid "Quotation Information" msgstr "معلومات عرض السعر" -#: templates/sales/quotation_detail.html:50 +#: templates/sales/quotation_detail.html:51 msgid "Quotation No" msgstr "رقم عرض السعر" -#: templates/sales/quotation_detail.html:51 +#: templates/sales/quotation_detail.html:52 #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/journal_entry/includes/card_journal_entry.html:15 msgid "Date" msgstr "التاريخ" -#: templates/sales/quotation_detail.html:65 +#: templates/sales/quotation_detail.html:77 #: templates/sales/quotation_pdf.html:46 msgid "VAT" msgstr "ضريبة القيمة المضافة" -#: templates/sales/quotation_detail.html:84 +#: templates/sales/quotation_detail.html:96 msgid "Totals" msgstr "الإجمالي" -#: templates/sales/quotation_detail.html:93 +#: templates/sales/quotation_detail.html:105 msgid "Additional Costs" msgstr "التكاليف الإضافية" -#: templates/sales/quotation_detail.html:97 +#: templates/sales/quotation_detail.html:109 msgid "Additions" msgstr "الإضافات" -#: templates/sales/quotation_detail.html:98 +#: templates/sales/quotation_detail.html:110 msgid "Cost" msgstr "التكلفة" -#: templates/sales/quotation_detail.html:100 +#: templates/sales/quotation_detail.html:112 msgid "Total Cost with VAT" msgstr "التكلفة الإجمالية مع ضريبة القيمة المضافة" -#: templates/sales/quotation_detail.html:122 +#: templates/sales/quotation_detail.html:134 msgid "Back to Quotations" msgstr "العودة إلى العروض" -#: templates/sales/quotation_detail.html:124 -msgid "Approve Quotation" -msgstr "الموافقة على العرض" - -#: templates/sales/quotation_detail.html:132 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/estimate/includes/card_estimate.html:80 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/invoice/includes/card_invoice.html:161 -msgid "Approve" -msgstr "الموافقة" +#: templates/sales/quotation_detail.html:141 +msgid "Accept" +msgstr "قبول" #: templates/sales/quotation_form.html:5 templates/sales/quotation_form.html:9 msgid "Create Quotation" @@ -1884,7 +2088,7 @@ msgstr "رقم عرض السعر" msgid "Total Cars" msgstr "إجمالي السيارات" -#: templates/sales/quotation_list.html:47 +#: templates/sales/quotation_list.html:51 msgid "No Quotations Found" msgstr "لم يتم العثور على عروض" @@ -2065,36 +2269,31 @@ msgstr "موضوعات ذات صلة" msgid "Documentation overview" msgstr "نظرة عامة على الوثائق" -#: venv/lib/python3.11/site-packages/click/_termui_impl.py:518 +#: venv/lib/python3.11/site-packages/click/_termui_impl.py:556 #, python-brace-format msgid "{editor}: Editing failed" msgstr "{editor}: فشل التحرير" -#: venv/lib/python3.11/site-packages/click/_termui_impl.py:522 +#: venv/lib/python3.11/site-packages/click/_termui_impl.py:560 #, python-brace-format msgid "{editor}: Editing failed: {e}" msgstr "{editor}: فشل التحرير: {e}" -#: venv/lib/python3.11/site-packages/click/core.py:1120 +#: venv/lib/python3.11/site-packages/click/core.py:1124 msgid "Aborted!" msgstr "تم الإلغاء!" -#: venv/lib/python3.11/site-packages/click/core.py:1309 -#: venv/lib/python3.11/site-packages/click/decorators.py:559 -msgid "Show this message and exit." -msgstr "إظهار رسالة المساعدة هذه والخروج" - -#: venv/lib/python3.11/site-packages/click/core.py:1340 -#: venv/lib/python3.11/site-packages/click/core.py:1370 +#: venv/lib/python3.11/site-packages/click/core.py:1349 +#: venv/lib/python3.11/site-packages/click/core.py:1379 #, python-brace-format msgid "(Deprecated) {text}" msgstr "(مهمل) {text}" -#: venv/lib/python3.11/site-packages/click/core.py:1387 +#: venv/lib/python3.11/site-packages/click/core.py:1396 msgid "Options" msgstr "الخيارات" -#: venv/lib/python3.11/site-packages/click/core.py:1413 +#: venv/lib/python3.11/site-packages/click/core.py:1422 #, python-brace-format msgid "Got unexpected extra argument ({args})" msgid_plural "Got unexpected extra arguments ({args})" @@ -2105,27 +2304,27 @@ msgstr[3] "تم الحصول على أربعة وسائط إضافية غير م msgstr[4] "تم الحصول على خمسة وسائط إضافية غير متوقعة ({args})" msgstr[5] "تم الحصول على عدد كبير من الوسائط الإضافية غير المتوقعة ({args})" -#: venv/lib/python3.11/site-packages/click/core.py:1429 +#: venv/lib/python3.11/site-packages/click/core.py:1438 msgid "DeprecationWarning: The command {name!r} is deprecated." msgstr "تحذير إهمال: الأمر {name!r} مهمل." -#: venv/lib/python3.11/site-packages/click/core.py:1636 +#: venv/lib/python3.11/site-packages/click/core.py:1645 msgid "Commands" msgstr "الأوامر" -#: venv/lib/python3.11/site-packages/click/core.py:1668 +#: venv/lib/python3.11/site-packages/click/core.py:1677 msgid "Missing command." msgstr "الأمر مفقود." -#: venv/lib/python3.11/site-packages/click/core.py:1746 +#: venv/lib/python3.11/site-packages/click/core.py:1755 msgid "No such command {name!r}." msgstr "لا يوجد أمر باسم {name!r}." -#: venv/lib/python3.11/site-packages/click/core.py:2310 +#: venv/lib/python3.11/site-packages/click/core.py:2313 msgid "Value must be an iterable." msgstr "يجب أن تكون القيمة قابلة للتكرار." -#: venv/lib/python3.11/site-packages/click/core.py:2331 +#: venv/lib/python3.11/site-packages/click/core.py:2334 #, python-brace-format msgid "Takes {nargs} values but 1 was given." msgid_plural "Takes {nargs} values but {len} were given." @@ -2136,82 +2335,86 @@ msgstr[3] "" msgstr[4] "" msgstr[5] "" -#: venv/lib/python3.11/site-packages/click/core.py:2778 +#: venv/lib/python3.11/site-packages/click/core.py:2783 #, python-brace-format msgid "env var: {var}" msgstr "متغير البيئة: {var}" -#: venv/lib/python3.11/site-packages/click/core.py:2808 +#: venv/lib/python3.11/site-packages/click/core.py:2813 msgid "(dynamic)" msgstr "(ديناميكي)" -#: venv/lib/python3.11/site-packages/click/core.py:2821 +#: venv/lib/python3.11/site-packages/click/core.py:2828 #, python-brace-format msgid "default: {default}" msgstr "القيمة الافتراضية: {default}" -#: venv/lib/python3.11/site-packages/click/core.py:2834 +#: venv/lib/python3.11/site-packages/click/core.py:2841 msgid "required" msgstr "مطلوب" -#: venv/lib/python3.11/site-packages/click/decorators.py:465 +#: venv/lib/python3.11/site-packages/click/decorators.py:457 #, python-format msgid "%(prog)s, version %(version)s" msgstr "%(prog)s، الإصدار %(version)s" -#: venv/lib/python3.11/site-packages/click/decorators.py:528 +#: venv/lib/python3.11/site-packages/click/decorators.py:520 msgid "Show the version and exit." msgstr "عرض الإصدار والخروج." -#: venv/lib/python3.11/site-packages/click/exceptions.py:44 -#: venv/lib/python3.11/site-packages/click/exceptions.py:80 +#: venv/lib/python3.11/site-packages/click/decorators.py:541 +msgid "Show this message and exit." +msgstr "إظهار رسالة المساعدة هذه والخروج" + +#: venv/lib/python3.11/site-packages/click/exceptions.py:49 +#: venv/lib/python3.11/site-packages/click/exceptions.py:88 #, python-brace-format msgid "Error: {message}" msgstr "خطأ: {message}" -#: venv/lib/python3.11/site-packages/click/exceptions.py:72 +#: venv/lib/python3.11/site-packages/click/exceptions.py:80 #, python-brace-format msgid "Try '{command} {option}' for help." msgstr "حاول '{command} {option}' للحصول على المساعدة." -#: venv/lib/python3.11/site-packages/click/exceptions.py:121 +#: venv/lib/python3.11/site-packages/click/exceptions.py:129 #, python-brace-format msgid "Invalid value: {message}" msgstr "قيمة غير صالحة: {message}" -#: venv/lib/python3.11/site-packages/click/exceptions.py:123 +#: venv/lib/python3.11/site-packages/click/exceptions.py:131 #, python-brace-format msgid "Invalid value for {param_hint}: {message}" msgstr "قيمة غير صالحة لـ {param_hint}: {message}" -#: venv/lib/python3.11/site-packages/click/exceptions.py:179 +#: venv/lib/python3.11/site-packages/click/exceptions.py:187 msgid "Missing argument" msgstr "الوسيطة مفقودة" -#: venv/lib/python3.11/site-packages/click/exceptions.py:181 +#: venv/lib/python3.11/site-packages/click/exceptions.py:189 msgid "Missing option" msgstr "الخيار مفقود" -#: venv/lib/python3.11/site-packages/click/exceptions.py:183 +#: venv/lib/python3.11/site-packages/click/exceptions.py:191 msgid "Missing parameter" msgstr "المعلمة مفقودة" -#: venv/lib/python3.11/site-packages/click/exceptions.py:185 +#: venv/lib/python3.11/site-packages/click/exceptions.py:193 #, python-brace-format msgid "Missing {param_type}" msgstr "مفقود {param_type}" -#: venv/lib/python3.11/site-packages/click/exceptions.py:192 +#: venv/lib/python3.11/site-packages/click/exceptions.py:200 #, python-brace-format msgid "Missing parameter: {param_name}" msgstr "المعلمة مفقودة: {param_name}" -#: venv/lib/python3.11/site-packages/click/exceptions.py:212 +#: venv/lib/python3.11/site-packages/click/exceptions.py:220 #, python-brace-format msgid "No such option: {name}" msgstr "لا يوجد خيار باسم: {name}" -#: venv/lib/python3.11/site-packages/click/exceptions.py:224 +#: venv/lib/python3.11/site-packages/click/exceptions.py:232 #, python-brace-format msgid "Did you mean {possibility}?" msgid_plural "(Possible options: {possibilities})" @@ -2222,11 +2425,11 @@ msgstr[3] "" msgstr[4] "" msgstr[5] "" -#: venv/lib/python3.11/site-packages/click/exceptions.py:262 +#: venv/lib/python3.11/site-packages/click/exceptions.py:270 msgid "unknown error" msgstr "خطأ غير معروف" -#: venv/lib/python3.11/site-packages/click/exceptions.py:269 +#: venv/lib/python3.11/site-packages/click/exceptions.py:277 msgid "Could not open file {filename!r}: {message}" msgstr "تعذر فتح الملف {filename!r}: {message}" @@ -2234,15 +2437,15 @@ msgstr "تعذر فتح الملف {filename!r}: {message}" msgid "Usage:" msgstr "الاستخدام:" -#: venv/lib/python3.11/site-packages/click/parser.py:231 +#: venv/lib/python3.11/site-packages/click/parser.py:233 msgid "Argument {name!r} takes {nargs} values." msgstr "الوسيطة {name!r} تتطلب {nargs} قيمة." -#: venv/lib/python3.11/site-packages/click/parser.py:413 +#: venv/lib/python3.11/site-packages/click/parser.py:415 msgid "Option {name!r} does not take a value." msgstr "الخيار {name!r} لا يأخذ قيمة." -#: venv/lib/python3.11/site-packages/click/parser.py:474 +#: venv/lib/python3.11/site-packages/click/parser.py:476 msgid "Option {name!r} requires an argument." msgid_plural "Option {name!r} requires {nargs} arguments." msgstr[0] "الخيار {name!r} يتطلب وسيطة." @@ -2252,11 +2455,11 @@ msgstr[3] "" msgstr[4] "" msgstr[5] "" -#: venv/lib/python3.11/site-packages/click/shell_completion.py:319 +#: venv/lib/python3.11/site-packages/click/shell_completion.py:326 msgid "Shell completion is not supported for Bash versions older than 4.4." msgstr "إكمال الأوامر في القشرة غير مدعوم للإصدارات القديمة من Bash قبل 4.4." -#: venv/lib/python3.11/site-packages/click/shell_completion.py:326 +#: venv/lib/python3.11/site-packages/click/shell_completion.py:333 msgid "Couldn't detect Bash version, shell completion is not supported." msgstr "تعذر اكتشاف إصدار Bash، إكمال الأوامر غير مدعوم." @@ -2285,14 +2488,14 @@ msgstr "خطأ: إدخال غير صالح" msgid "Press any key to continue..." msgstr "اضغط أي مفتاح للمتابعة..." -#: venv/lib/python3.11/site-packages/click/types.py:266 +#: venv/lib/python3.11/site-packages/click/types.py:267 #, python-brace-format msgid "" "Choose from:\n" "\t{choices}" msgstr "" -#: venv/lib/python3.11/site-packages/click/types.py:298 +#: venv/lib/python3.11/site-packages/click/types.py:299 msgid "{value!r} is not {choice}." msgid_plural "{value!r} is not one of {choices}." msgstr[0] "القيمة %(value)r ليست خياراً صالحاً." @@ -2302,7 +2505,7 @@ msgstr[3] "القيمة %(value)r ليست خياراً صالحاً." msgstr[4] "القيمة %(value)r ليست خياراً صالحاً." msgstr[5] "القيمة %(value)r ليست خياراً صالحاً." -#: venv/lib/python3.11/site-packages/click/types.py:392 +#: venv/lib/python3.11/site-packages/click/types.py:393 msgid "{value!r} does not match the format {format}." msgid_plural "{value!r} does not match the formats {formats}." msgstr[0] "" @@ -2312,61 +2515,62 @@ msgstr[3] "" msgstr[4] "" msgstr[5] "" -#: venv/lib/python3.11/site-packages/click/types.py:414 +#: venv/lib/python3.11/site-packages/click/types.py:415 msgid "{value!r} is not a valid {number_type}." msgstr "القيمة %(value)r ليست خياراً صالحاً." -#: venv/lib/python3.11/site-packages/click/types.py:470 +#: venv/lib/python3.11/site-packages/click/types.py:471 #, python-brace-format msgid "{value} is not in the range {range}." msgstr "" -#: venv/lib/python3.11/site-packages/click/types.py:611 +#: venv/lib/python3.11/site-packages/click/types.py:612 msgid "{value!r} is not a valid boolean." msgstr "القيمة %(value)r ليست خياراً صالحاً." -#: venv/lib/python3.11/site-packages/click/types.py:635 +#: venv/lib/python3.11/site-packages/click/types.py:636 msgid "{value!r} is not a valid UUID." msgstr "القيمة “%(value)s” ليست UUID صالح." -#: venv/lib/python3.11/site-packages/click/types.py:822 +#: venv/lib/python3.11/site-packages/click/types.py:826 msgid "file" msgstr "ملف" -#: venv/lib/python3.11/site-packages/click/types.py:824 +#: venv/lib/python3.11/site-packages/click/types.py:828 msgid "directory" msgstr "مجلد" -#: venv/lib/python3.11/site-packages/click/types.py:826 +#: venv/lib/python3.11/site-packages/click/types.py:830 msgid "path" msgstr "مسار" -#: venv/lib/python3.11/site-packages/click/types.py:877 +#: venv/lib/python3.11/site-packages/click/types.py:881 msgid "{name} {filename!r} does not exist." msgstr "{name} {filename!r} غير موجود." -#: venv/lib/python3.11/site-packages/click/types.py:886 +#: venv/lib/python3.11/site-packages/click/types.py:890 msgid "{name} {filename!r} is a file." msgstr "{name} {filename!r} هو ملف." -#: venv/lib/python3.11/site-packages/click/types.py:894 -#, python-brace-format -msgid "{name} '{filename}' is a directory." +#: venv/lib/python3.11/site-packages/click/types.py:898 +#, fuzzy +#| msgid "{name} '{filename}' is a directory." +msgid "{name} {filename!r} is a directory." msgstr "{name} '{filename}' هو دليل." -#: venv/lib/python3.11/site-packages/click/types.py:903 +#: venv/lib/python3.11/site-packages/click/types.py:907 msgid "{name} {filename!r} is not readable." msgstr "{name} {filename!r} غير قابل للقراءة." -#: venv/lib/python3.11/site-packages/click/types.py:912 +#: venv/lib/python3.11/site-packages/click/types.py:916 msgid "{name} {filename!r} is not writable." msgstr "{name} {filename!r} غير قابل للكتابة." -#: venv/lib/python3.11/site-packages/click/types.py:921 +#: venv/lib/python3.11/site-packages/click/types.py:925 msgid "{name} {filename!r} is not executable." msgstr "{name} {filename!r} غير قابل للتنفيذ." -#: venv/lib/python3.11/site-packages/click/types.py:988 +#: venv/lib/python3.11/site-packages/click/types.py:992 #, python-brace-format msgid "{len_type} values are required, but {len_value} was given." msgid_plural "{len_type} values are required, but {len_value} were given." @@ -2883,10 +3087,6 @@ msgstr "علاقة متعدد لمتعدد" msgid ":?.!" msgstr ":؟.!" -#: venv/lib/python3.11/site-packages/django/forms/fields.py:95 -msgid "This field is required." -msgstr "هذا الحقل مطلوب." - #: venv/lib/python3.11/site-packages/django/forms/fields.py:308 msgid "Enter a whole number." msgstr "أدخل عدداً صحيحاً." @@ -3161,6 +3361,34 @@ msgstr "السبت" msgid "Sunday" msgstr "الأحد" +#: venv/lib/python3.11/site-packages/django/utils/dates.py:16 +msgid "Mon" +msgstr "الإثنين" + +#: venv/lib/python3.11/site-packages/django/utils/dates.py:17 +msgid "Tue" +msgstr "الثلاثاء" + +#: venv/lib/python3.11/site-packages/django/utils/dates.py:18 +msgid "Wed" +msgstr "الأربعاء" + +#: venv/lib/python3.11/site-packages/django/utils/dates.py:19 +msgid "Thu" +msgstr "الخميس" + +#: venv/lib/python3.11/site-packages/django/utils/dates.py:20 +msgid "Fri" +msgstr "الجمعة" + +#: venv/lib/python3.11/site-packages/django/utils/dates.py:21 +msgid "Sat" +msgstr "السبت" + +#: venv/lib/python3.11/site-packages/django/utils/dates.py:22 +msgid "Sun" +msgstr "الأحد" + #: venv/lib/python3.11/site-packages/django/utils/dates.py:25 #: venv/lib/python3.11/site-packages/django_ledger/models/entity.py:749 msgid "January" @@ -3687,10 +3915,6 @@ msgstr "الموضع" msgid "Relative to" msgstr "نسبياً إلى" -#: venv/lib/python3.11/site-packages/django_ledger/forms/auth.py:15 -msgid "Password" -msgstr "كلمة المرور" - #: venv/lib/python3.11/site-packages/django_ledger/forms/bank_account.py:54 #: venv/lib/python3.11/site-packages/django_ledger/forms/bank_account.py:102 msgid "Enter account name..." @@ -3755,15 +3979,6 @@ msgstr "رقم التوجيه" msgid "Make Active" msgstr "اجعل نشطاً" -#: venv/lib/python3.11/site-packages/django_ledger/forms/bill.py:49 -#: venv/lib/python3.11/site-packages/django_ledger/forms/invoice.py:64 -#: venv/lib/python3.11/site-packages/django_ledger/models/bill.py:375 -#: venv/lib/python3.11/site-packages/django_ledger/models/invoice.py:348 -#: venv/lib/python3.11/site-packages/django_ledger/models/purchase_order.py:219 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/purchase_order/includes/card_po.html:26 -msgid "Draft Date" -msgstr "تاريخ المسودة" - #: venv/lib/python3.11/site-packages/django_ledger/forms/bill.py:50 msgid "Payable Account" msgstr "حساب دائن" @@ -4181,12 +4396,6 @@ msgstr "الأصول غير الملموسة - الاستهلاك المتراك msgid "Other Assets" msgstr "أصول أخرى" -#: venv/lib/python3.11/site-packages/django_ledger/io/roles.py:466 -#: venv/lib/python3.11/site-packages/django_ledger/io/roles.py:552 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bills/bill_detail.html:52 -msgid "Accounts Payable" -msgstr "الحسابات الدائنة" - #: venv/lib/python3.11/site-packages/django_ledger/io/roles.py:467 #: venv/lib/python3.11/site-packages/django_ledger/io/roles.py:553 msgid "Wages Payable" @@ -4288,11 +4497,6 @@ msgstr "دخل مكاسب/خسائر رأس المال" msgid "Other Income" msgstr "دخل آخر" -#: venv/lib/python3.11/site-packages/django_ledger/io/roles.py:497 -#: venv/lib/python3.11/site-packages/django_ledger/io/roles.py:587 -msgid "Cost of Goods Sold" -msgstr "تكلفة البضائع المباعة" - #: venv/lib/python3.11/site-packages/django_ledger/io/roles.py:500 #: venv/lib/python3.11/site-packages/django_ledger/io/roles.py:590 msgid "Regular Expense" @@ -4378,22 +4582,10 @@ msgstr "نوع رصيد الحساب" msgid "Locked" msgstr "مقفل" -#: venv/lib/python3.11/site-packages/django_ledger/models/accounts.py:433 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/account/tags/accounts_table.html:26 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/customer/tags/customer_table.html:11 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/uom/tags/uom_table.html:10 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/vendor/tags/vendor_table.html:12 -msgid "Active" -msgstr "نشط" - -#: venv/lib/python3.11/site-packages/django_ledger/models/accounts.py:443 -#: venv/lib/python3.11/site-packages/django_ledger/models/transactions.py:485 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bank_account/bank_account_update.html:13 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/closing_entry/tags/closing_entry_txs_table.html:8 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/journal_entry/tags/je_txs_table.html:9 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/journal_entry/tags/je_txs_table.html:42 -msgid "Account" -msgstr "الحساب" +#: venv/lib/python3.11/site-packages/django_ledger/models/accounts.py:436 +#: venv/lib/python3.11/site-packages/django_ledger/models/coa.py:152 +msgid "Chart of Accounts" +msgstr "قائمة الحسابات" #: venv/lib/python3.11/site-packages/django_ledger/models/accounts.py:444 #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/chart_of_accounts/includes/coa_card.html:48 @@ -4428,25 +4620,13 @@ msgstr "يجب تمرير user_model عند استخدام entity_slug." msgid "Bank Account" msgstr "الحساب المصرفي" -#: venv/lib/python3.11/site-packages/django_ledger/models/bill.py:339 -#: venv/lib/python3.11/site-packages/django_ledger/models/estimate.py:224 -#: venv/lib/python3.11/site-packages/django_ledger/models/invoice.py:300 -#: venv/lib/python3.11/site-packages/django_ledger/models/purchase_order.py:193 -msgid "In Review" -msgstr "قيد المراجعة" - -#: venv/lib/python3.11/site-packages/django_ledger/models/bill.py:340 -#: venv/lib/python3.11/site-packages/django_ledger/models/estimate.py:225 -#: venv/lib/python3.11/site-packages/django_ledger/models/invoice.py:301 -#: venv/lib/python3.11/site-packages/django_ledger/models/purchase_order.py:194 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/purchase_order/includes/card_po.html:49 -msgid "Approved" -msgstr "تمت الموافقة" - -#: venv/lib/python3.11/site-packages/django_ledger/models/bill.py:341 -#: venv/lib/python3.11/site-packages/django_ledger/models/invoice.py:302 -msgid "Paid" -msgstr "مدفوع" +#: venv/lib/python3.11/site-packages/django_ledger/models/bill.py:342 +#: venv/lib/python3.11/site-packages/django_ledger/models/estimate.py:228 +#: venv/lib/python3.11/site-packages/django_ledger/models/invoice.py:304 +#: venv/lib/python3.11/site-packages/django_ledger/models/items.py:1042 +#: venv/lib/python3.11/site-packages/django_ledger/models/purchase_order.py:196 +msgid "Canceled" +msgstr "ملغى" #: venv/lib/python3.11/site-packages/django_ledger/models/bill.py:343 #: venv/lib/python3.11/site-packages/django_ledger/models/estimate.py:227 @@ -4487,38 +4667,6 @@ msgstr "بنود الفاتورة" msgid "Associated Customer Job/Estimate" msgstr "الوظيفة/التقدير المرتبط بالعميل" -#: venv/lib/python3.11/site-packages/django_ledger/models/bill.py:376 -#: venv/lib/python3.11/site-packages/django_ledger/models/invoice.py:349 -#: venv/lib/python3.11/site-packages/django_ledger/models/purchase_order.py:220 -msgid "In Review Date" -msgstr "تاريخ المراجعة" - -#: venv/lib/python3.11/site-packages/django_ledger/models/bill.py:377 -#: venv/lib/python3.11/site-packages/django_ledger/models/invoice.py:350 -#: venv/lib/python3.11/site-packages/django_ledger/models/purchase_order.py:221 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/purchase_order/includes/card_po.html:38 -msgid "Approved Date" -msgstr "تاريخ الموافقة" - -#: venv/lib/python3.11/site-packages/django_ledger/models/bill.py:378 -#: venv/lib/python3.11/site-packages/django_ledger/models/invoice.py:351 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bills/includes/card_bill.html:138 -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/invoice/includes/card_invoice.html:126 -msgid "Paid Date" -msgstr "تاريخ الدفع" - -#: venv/lib/python3.11/site-packages/django_ledger/models/bill.py:379 -#: venv/lib/python3.11/site-packages/django_ledger/models/invoice.py:352 -#: venv/lib/python3.11/site-packages/django_ledger/models/purchase_order.py:222 -msgid "Void Date" -msgstr "تاريخ الإبطال" - -#: venv/lib/python3.11/site-packages/django_ledger/models/bill.py:380 -#: venv/lib/python3.11/site-packages/django_ledger/models/invoice.py:353 -#: venv/lib/python3.11/site-packages/django_ledger/models/purchase_order.py:224 -msgid "Canceled Date" -msgstr "تاريخ الإلغاء" - #: venv/lib/python3.11/site-packages/django_ledger/models/bill.py:387 #: venv/lib/python3.11/site-packages/django_ledger/models/entity.py:3123 #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/bills/includes/card_bill.html:11 @@ -6075,10 +6223,6 @@ msgstr "الحسابات النشطة" msgid "Locked Accounts" msgstr "الحسابات المقفلة" -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/chart_of_accounts/includes/coa_card.html:41 -msgid "ago" -msgstr "منذ" - #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/chart_of_accounts/includes/coa_card.html:52 msgid "Add Account" msgstr "إضافة حساب" @@ -6405,6 +6549,11 @@ msgstr "تقدم الفاتورة" msgid "Received Progress" msgstr "تقدم الاستلام" +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/estimate/includes/card_estimate.html:80 +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/invoice/includes/card_invoice.html:161 +msgid "Approve" +msgstr "الموافقة" + #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/estimate/includes/estimate_item_table.html:12 msgid "Unit Sale Price" msgstr "سعر البيع للوحدة" @@ -6610,10 +6759,6 @@ msgstr "الالتزامات" msgid "Equity" msgstr "حقوق الملكية" -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/includes/widget_bs.html:14 -msgid "Cash" -msgstr "نقداً" - #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/includes/widget_ic.html:5 msgid "Revenue" msgstr "الإيرادات" @@ -6650,6 +6795,10 @@ msgstr "الرفع المالي" msgid "Debt to Equity" msgstr "الدين إلى حقوق الملكية" +#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/includes/widget_ratios.html:31 +msgid "Profitability" +msgstr "الربحية" + #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/includes/widget_ratios.html:32 msgid "Return on Equity" msgstr "العائد على حقوق الملكية" @@ -6721,10 +6870,6 @@ msgstr "إنشاء فاتورة" msgid "Invoice List" msgstr "قائمة الفواتير" -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/invoice/invoice_detail.html:41 -msgid "Accounts Receivable" -msgstr "الحسابات المدينة" - #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/invoice/invoice_detail.html:157 msgid "Invoice Transactions" msgstr "معاملات الفاتورة" @@ -6781,10 +6926,6 @@ msgstr "تعديل المعاملات" msgid "Ledger List" msgstr "قائمة دفاتر الأستاذ" -#: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/journal_entry/je_detail_txs.html:59 -msgid "Done" -msgstr "تم" - #: venv/lib/python3.11/site-packages/django_ledger/templates/django_ledger/journal_entry/je_list.html:123 msgid "Back to Ledger List" msgstr "العودة إلى قائمة دفاتر الأستاذ" diff --git a/static/.DS_Store b/static/.DS_Store index 5dedc352..8f3b2fa5 100644 Binary files a/static/.DS_Store and b/static/.DS_Store differ diff --git a/static/css/sweetalert2.min.css b/static/css/sweetalert2.min.css new file mode 100644 index 00000000..9ce8bda9 --- /dev/null +++ b/static/css/sweetalert2.min.css @@ -0,0 +1 @@ + .swal2-popup.swal2-toast{box-sizing:border-box;grid-column:1/4 !important;grid-row:1/4 !important;grid-template-columns:min-content auto min-content;padding:1em;overflow-y:hidden;background:#fff;box-shadow:0 0 1px rgba(0,0,0,.075),0 1px 2px rgba(0,0,0,.075),1px 2px 4px rgba(0,0,0,.075),1px 3px 8px rgba(0,0,0,.075),2px 4px 16px rgba(0,0,0,.075);pointer-events:all}.swal2-popup.swal2-toast>*{grid-column:2}.swal2-popup.swal2-toast .swal2-title{margin:.5em 1em;padding:0;font-size:1em;text-align:initial}.swal2-popup.swal2-toast .swal2-loading{justify-content:center}.swal2-popup.swal2-toast .swal2-input{height:2em;margin:.5em;font-size:1em}.swal2-popup.swal2-toast .swal2-validation-message{font-size:1em}.swal2-popup.swal2-toast .swal2-footer{margin:.5em 0 0;padding:.5em 0 0;font-size:.8em}.swal2-popup.swal2-toast .swal2-close{grid-column:3/3;grid-row:1/99;align-self:center;width:.8em;height:.8em;margin:0;font-size:2em}.swal2-popup.swal2-toast .swal2-html-container{margin:.5em 1em;padding:0;overflow:initial;font-size:1em;text-align:initial}.swal2-popup.swal2-toast .swal2-html-container:empty{padding:0}.swal2-popup.swal2-toast .swal2-loader{grid-column:1;grid-row:1/99;align-self:center;width:2em;height:2em;margin:.25em}.swal2-popup.swal2-toast .swal2-icon{grid-column:1;grid-row:1/99;align-self:center;width:2em;min-width:2em;height:2em;margin:0 .5em 0 0}.swal2-popup.swal2-toast .swal2-icon .swal2-icon-content{display:flex;align-items:center;font-size:1.8em;font-weight:bold}.swal2-popup.swal2-toast .swal2-icon.swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line]{top:.875em;width:1.375em}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left]{left:.3125em}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right]{right:.3125em}.swal2-popup.swal2-toast .swal2-actions{justify-content:flex-start;height:auto;margin:0;margin-top:.5em;padding:0 .5em}.swal2-popup.swal2-toast .swal2-styled{margin:.25em .5em;padding:.4em .6em;font-size:1em}.swal2-popup.swal2-toast .swal2-success{border-color:#a5dc86}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line]{position:absolute;width:1.6em;height:3em;border-radius:50%}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=left]{top:-0.8em;left:-0.5em;transform:rotate(-45deg);transform-origin:2em 2em;border-radius:4em 0 0 4em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=right]{top:-0.25em;left:.9375em;transform-origin:0 1.5em;border-radius:0 4em 4em 0}.swal2-popup.swal2-toast .swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-popup.swal2-toast .swal2-success .swal2-success-fix{top:0;left:.4375em;width:.4375em;height:2.6875em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line]{height:.3125em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line][class$=tip]{top:1.125em;left:.1875em;width:.75em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line][class$=long]{top:.9375em;right:.1875em;width:1.375em}.swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-tip{animation:swal2-toast-animate-success-line-tip .75s}.swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-long{animation:swal2-toast-animate-success-line-long .75s}.swal2-popup.swal2-toast.swal2-show{animation:swal2-toast-show .5s}.swal2-popup.swal2-toast.swal2-hide{animation:swal2-toast-hide .1s forwards}div:where(.swal2-container){display:grid;position:fixed;z-index:1060;inset:0;box-sizing:border-box;grid-template-areas:"top-start top top-end" "center-start center center-end" "bottom-start bottom-center bottom-end";grid-template-rows:minmax(min-content, auto) minmax(min-content, auto) minmax(min-content, auto);height:100%;padding:.625em;overflow-x:hidden;transition:background-color .1s;-webkit-overflow-scrolling:touch}div:where(.swal2-container).swal2-backdrop-show,div:where(.swal2-container).swal2-noanimation{background:rgba(0,0,0,.4)}div:where(.swal2-container).swal2-backdrop-hide{background:rgba(0,0,0,0) !important}div:where(.swal2-container).swal2-top-start,div:where(.swal2-container).swal2-center-start,div:where(.swal2-container).swal2-bottom-start{grid-template-columns:minmax(0, 1fr) auto auto}div:where(.swal2-container).swal2-top,div:where(.swal2-container).swal2-center,div:where(.swal2-container).swal2-bottom{grid-template-columns:auto minmax(0, 1fr) auto}div:where(.swal2-container).swal2-top-end,div:where(.swal2-container).swal2-center-end,div:where(.swal2-container).swal2-bottom-end{grid-template-columns:auto auto minmax(0, 1fr)}div:where(.swal2-container).swal2-top-start>.swal2-popup{align-self:start}div:where(.swal2-container).swal2-top>.swal2-popup{grid-column:2;place-self:start center}div:where(.swal2-container).swal2-top-end>.swal2-popup,div:where(.swal2-container).swal2-top-right>.swal2-popup{grid-column:3;place-self:start end}div:where(.swal2-container).swal2-center-start>.swal2-popup,div:where(.swal2-container).swal2-center-left>.swal2-popup{grid-row:2;align-self:center}div:where(.swal2-container).swal2-center>.swal2-popup{grid-column:2;grid-row:2;place-self:center center}div:where(.swal2-container).swal2-center-end>.swal2-popup,div:where(.swal2-container).swal2-center-right>.swal2-popup{grid-column:3;grid-row:2;place-self:center end}div:where(.swal2-container).swal2-bottom-start>.swal2-popup,div:where(.swal2-container).swal2-bottom-left>.swal2-popup{grid-column:1;grid-row:3;align-self:end}div:where(.swal2-container).swal2-bottom>.swal2-popup{grid-column:2;grid-row:3;place-self:end center}div:where(.swal2-container).swal2-bottom-end>.swal2-popup,div:where(.swal2-container).swal2-bottom-right>.swal2-popup{grid-column:3;grid-row:3;place-self:end end}div:where(.swal2-container).swal2-grow-row>.swal2-popup,div:where(.swal2-container).swal2-grow-fullscreen>.swal2-popup{grid-column:1/4;width:100%}div:where(.swal2-container).swal2-grow-column>.swal2-popup,div:where(.swal2-container).swal2-grow-fullscreen>.swal2-popup{grid-row:1/4;align-self:stretch}div:where(.swal2-container).swal2-no-transition{transition:none !important}div:where(.swal2-container) div:where(.swal2-popup){display:none;position:relative;box-sizing:border-box;grid-template-columns:minmax(0, 100%);width:32em;max-width:100%;padding:0 0 1.25em;border:none;border-radius:5px;background:#fff;color:hsl(0,0%,33%);font-family:inherit;font-size:1rem}div:where(.swal2-container) div:where(.swal2-popup):focus{outline:none}div:where(.swal2-container) div:where(.swal2-popup).swal2-loading{overflow-y:hidden}div:where(.swal2-container) div:where(.swal2-popup).swal2-draggable{cursor:grab}div:where(.swal2-container) div:where(.swal2-popup).swal2-draggable div:where(.swal2-icon){cursor:grab}div:where(.swal2-container) div:where(.swal2-popup).swal2-dragging{cursor:grabbing}div:where(.swal2-container) div:where(.swal2-popup).swal2-dragging div:where(.swal2-icon){cursor:grabbing}div:where(.swal2-container) h2:where(.swal2-title){position:relative;max-width:100%;margin:0;padding:.8em 1em 0;color:inherit;font-size:1.875em;font-weight:600;text-align:center;text-transform:none;word-wrap:break-word;cursor:initial}div:where(.swal2-container) div:where(.swal2-actions){display:flex;z-index:1;box-sizing:border-box;flex-wrap:wrap;align-items:center;justify-content:center;width:auto;margin:1.25em auto 0;padding:0}div:where(.swal2-container) div:where(.swal2-actions):not(.swal2-loading) .swal2-styled[disabled]{opacity:.4}div:where(.swal2-container) div:where(.swal2-actions):not(.swal2-loading) .swal2-styled:hover{background-image:linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1))}div:where(.swal2-container) div:where(.swal2-actions):not(.swal2-loading) .swal2-styled:active{background-image:linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2))}div:where(.swal2-container) div:where(.swal2-loader){display:none;align-items:center;justify-content:center;width:2.2em;height:2.2em;margin:0 1.875em;animation:swal2-rotate-loading 1.5s linear 0s infinite normal;border-width:.25em;border-style:solid;border-radius:100%;border-color:#2778c4 rgba(0,0,0,0) #2778c4 rgba(0,0,0,0)}div:where(.swal2-container) button:where(.swal2-styled){margin:.3125em;padding:.625em 1.1em;transition:box-shadow .1s;box-shadow:0 0 0 3px rgba(0,0,0,0);font-weight:500}div:where(.swal2-container) button:where(.swal2-styled):not([disabled]){cursor:pointer}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm){border:0;border-radius:.25em;background:initial;background-color:#7066e0;color:#fff;font-size:1em}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm):focus-visible{box-shadow:0 0 0 3px rgba(112,102,224,.5)}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-deny){border:0;border-radius:.25em;background:initial;background-color:#dc3741;color:#fff;font-size:1em}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-deny):focus-visible{box-shadow:0 0 0 3px rgba(220,55,65,.5)}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-cancel){border:0;border-radius:.25em;background:initial;background-color:#6e7881;color:#fff;font-size:1em}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-cancel):focus-visible{box-shadow:0 0 0 3px rgba(110,120,129,.5)}div:where(.swal2-container) button:where(.swal2-styled).swal2-default-outline:focus-visible{box-shadow:0 0 0 3px rgba(100,150,200,.5)}div:where(.swal2-container) button:where(.swal2-styled):focus-visible{outline:none}div:where(.swal2-container) button:where(.swal2-styled)::-moz-focus-inner{border:0}div:where(.swal2-container) div:where(.swal2-footer){margin:1em 0 0;padding:1em 1em 0;border-top:1px solid #eee;color:inherit;font-size:1em;text-align:center;cursor:initial}div:where(.swal2-container) .swal2-timer-progress-bar-container{position:absolute;right:0;bottom:0;left:0;grid-column:auto !important;overflow:hidden;border-bottom-right-radius:5px;border-bottom-left-radius:5px}div:where(.swal2-container) div:where(.swal2-timer-progress-bar){width:100%;height:.25em;background:rgba(0,0,0,.2)}div:where(.swal2-container) img:where(.swal2-image){max-width:100%;margin:2em auto 1em;cursor:initial}div:where(.swal2-container) button:where(.swal2-close){z-index:2;align-items:center;justify-content:center;width:1.2em;height:1.2em;margin-top:0;margin-right:0;margin-bottom:-1.2em;padding:0;overflow:hidden;transition:color .1s,box-shadow .1s;border:none;border-radius:5px;background:rgba(0,0,0,0);color:#ccc;font-family:monospace;font-size:2.5em;cursor:pointer;justify-self:end}div:where(.swal2-container) button:where(.swal2-close):hover{transform:none;background:rgba(0,0,0,0);color:#f27474}div:where(.swal2-container) button:where(.swal2-close):focus-visible{outline:none;box-shadow:inset 0 0 0 3px rgba(100,150,200,.5)}div:where(.swal2-container) button:where(.swal2-close)::-moz-focus-inner{border:0}div:where(.swal2-container) div:where(.swal2-html-container){z-index:1;justify-content:center;margin:0;padding:1em 1.6em .3em;overflow:auto;color:inherit;font-size:1.125em;font-weight:normal;line-height:normal;text-align:center;word-wrap:break-word;word-break:break-word;cursor:initial}div:where(.swal2-container) input:where(.swal2-input),div:where(.swal2-container) input:where(.swal2-file),div:where(.swal2-container) textarea:where(.swal2-textarea),div:where(.swal2-container) select:where(.swal2-select),div:where(.swal2-container) div:where(.swal2-radio),div:where(.swal2-container) label:where(.swal2-checkbox){margin:1em 2em 3px}div:where(.swal2-container) input:where(.swal2-input),div:where(.swal2-container) input:where(.swal2-file),div:where(.swal2-container) textarea:where(.swal2-textarea){box-sizing:border-box;width:auto;transition:border-color .1s,box-shadow .1s;border:1px solid hsl(0,0%,85%);border-radius:.1875em;background:rgba(0,0,0,0);box-shadow:inset 0 1px 1px rgba(0,0,0,.06),0 0 0 3px rgba(0,0,0,0);color:inherit;font-size:1.125em}div:where(.swal2-container) input:where(.swal2-input).swal2-inputerror,div:where(.swal2-container) input:where(.swal2-file).swal2-inputerror,div:where(.swal2-container) textarea:where(.swal2-textarea).swal2-inputerror{border-color:#f27474 !important;box-shadow:0 0 2px #f27474 !important}div:where(.swal2-container) input:where(.swal2-input):focus,div:where(.swal2-container) input:where(.swal2-file):focus,div:where(.swal2-container) textarea:where(.swal2-textarea):focus{border:1px solid #b4dbed;outline:none;box-shadow:inset 0 1px 1px rgba(0,0,0,.06),0 0 0 3px rgba(100,150,200,.5)}div:where(.swal2-container) input:where(.swal2-input)::placeholder,div:where(.swal2-container) input:where(.swal2-file)::placeholder,div:where(.swal2-container) textarea:where(.swal2-textarea)::placeholder{color:#ccc}div:where(.swal2-container) .swal2-range{margin:1em 2em 3px;background:#fff}div:where(.swal2-container) .swal2-range input{width:80%}div:where(.swal2-container) .swal2-range output{width:20%;color:inherit;font-weight:600;text-align:center}div:where(.swal2-container) .swal2-range input,div:where(.swal2-container) .swal2-range output{height:2.625em;padding:0;font-size:1.125em;line-height:2.625em}div:where(.swal2-container) .swal2-input{height:2.625em;padding:0 .75em}div:where(.swal2-container) .swal2-file{width:75%;margin-right:auto;margin-left:auto;background:rgba(0,0,0,0);font-size:1.125em}div:where(.swal2-container) .swal2-textarea{height:6.75em;padding:.75em}div:where(.swal2-container) .swal2-select{min-width:50%;max-width:100%;padding:.375em .625em;background:rgba(0,0,0,0);color:inherit;font-size:1.125em}div:where(.swal2-container) .swal2-radio,div:where(.swal2-container) .swal2-checkbox{align-items:center;justify-content:center;background:#fff;color:inherit}div:where(.swal2-container) .swal2-radio label,div:where(.swal2-container) .swal2-checkbox label{margin:0 .6em;font-size:1.125em}div:where(.swal2-container) .swal2-radio input,div:where(.swal2-container) .swal2-checkbox input{flex-shrink:0;margin:0 .4em}div:where(.swal2-container) label:where(.swal2-input-label){display:flex;justify-content:center;margin:1em auto 0}div:where(.swal2-container) div:where(.swal2-validation-message){align-items:center;justify-content:center;margin:1em 0 0;padding:.625em;overflow:hidden;background:hsl(0,0%,94%);color:#666;font-size:1em;font-weight:300}div:where(.swal2-container) div:where(.swal2-validation-message)::before{content:"!";display:inline-block;width:1.5em;min-width:1.5em;height:1.5em;margin:0 .625em;border-radius:50%;background-color:#f27474;color:#fff;font-weight:600;line-height:1.5em;text-align:center}div:where(.swal2-container) .swal2-progress-steps{flex-wrap:wrap;align-items:center;max-width:100%;margin:1.25em auto;padding:0;background:rgba(0,0,0,0);font-weight:600}div:where(.swal2-container) .swal2-progress-steps li{display:inline-block;position:relative}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step{z-index:20;flex-shrink:0;width:2em;height:2em;border-radius:2em;background:#2778c4;color:#fff;line-height:2em;text-align:center}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step{background:#2778c4}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step{background:#add8e6;color:#fff}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step-line{background:#add8e6}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step-line{z-index:10;flex-shrink:0;width:2.5em;height:.4em;margin:0 -1px;background:#2778c4}div:where(.swal2-icon){position:relative;box-sizing:content-box;justify-content:center;width:5em;height:5em;margin:2.5em auto .6em;border:0.25em solid rgba(0,0,0,0);border-radius:50%;border-color:#000;font-family:inherit;line-height:5em;cursor:default;user-select:none}div:where(.swal2-icon) .swal2-icon-content{display:flex;align-items:center;font-size:3.75em}div:where(.swal2-icon).swal2-error{border-color:#f27474;color:#f27474}div:where(.swal2-icon).swal2-error .swal2-x-mark{position:relative;flex-grow:1}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line]{display:block;position:absolute;top:2.3125em;width:2.9375em;height:.3125em;border-radius:.125em;background-color:#f27474}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line][class$=left]{left:1.0625em;transform:rotate(45deg)}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line][class$=right]{right:1em;transform:rotate(-45deg)}div:where(.swal2-icon).swal2-error.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-error.swal2-icon-show .swal2-x-mark{animation:swal2-animate-error-x-mark .5s}div:where(.swal2-icon).swal2-warning{border-color:rgb(249.95234375,205.965625,167.74765625);color:#f8bb86}div:where(.swal2-icon).swal2-warning.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-warning.swal2-icon-show .swal2-icon-content{animation:swal2-animate-i-mark .5s}div:where(.swal2-icon).swal2-info{border-color:rgb(156.7033492823,224.2822966507,246.2966507177);color:#3fc3ee}div:where(.swal2-icon).swal2-info.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-info.swal2-icon-show .swal2-icon-content{animation:swal2-animate-i-mark .8s}div:where(.swal2-icon).swal2-question{border-color:rgb(200.8064516129,217.9677419355,225.1935483871);color:#87adbd}div:where(.swal2-icon).swal2-question.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-question.swal2-icon-show .swal2-icon-content{animation:swal2-animate-question-mark .8s}div:where(.swal2-icon).swal2-success{border-color:#a5dc86;color:#a5dc86}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line]{position:absolute;width:3.75em;height:7.5em;border-radius:50%}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line][class$=left]{top:-0.4375em;left:-2.0635em;transform:rotate(-45deg);transform-origin:3.75em 3.75em;border-radius:7.5em 0 0 7.5em}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line][class$=right]{top:-0.6875em;left:1.875em;transform:rotate(-45deg);transform-origin:0 3.75em;border-radius:0 7.5em 7.5em 0}div:where(.swal2-icon).swal2-success .swal2-success-ring{position:absolute;z-index:2;top:-0.25em;left:-0.25em;box-sizing:content-box;width:100%;height:100%;border:.25em solid rgba(165,220,134,.3);border-radius:50%}div:where(.swal2-icon).swal2-success .swal2-success-fix{position:absolute;z-index:1;top:.5em;left:1.625em;width:.4375em;height:5.625em;transform:rotate(-45deg)}div:where(.swal2-icon).swal2-success [class^=swal2-success-line]{display:block;position:absolute;z-index:2;height:.3125em;border-radius:.125em;background-color:#a5dc86}div:where(.swal2-icon).swal2-success [class^=swal2-success-line][class$=tip]{top:2.875em;left:.8125em;width:1.5625em;transform:rotate(45deg)}div:where(.swal2-icon).swal2-success [class^=swal2-success-line][class$=long]{top:2.375em;right:.5em;width:2.9375em;transform:rotate(-45deg)}div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-line-tip{animation:swal2-animate-success-line-tip .75s}div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-line-long{animation:swal2-animate-success-line-long .75s}div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-circular-line-right{animation:swal2-rotate-success-circular-line 4.25s ease-in}[class^=swal2]{-webkit-tap-highlight-color:rgba(0,0,0,0)}.swal2-show{animation:swal2-show .3s}.swal2-hide{animation:swal2-hide .15s forwards}.swal2-noanimation{transition:none}.swal2-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}.swal2-rtl .swal2-close{margin-right:initial;margin-left:0}.swal2-rtl .swal2-timer-progress-bar{right:0;left:auto}@keyframes swal2-toast-show{0%{transform:translateY(-0.625em) rotateZ(2deg)}33%{transform:translateY(0) rotateZ(-2deg)}66%{transform:translateY(0.3125em) rotateZ(2deg)}100%{transform:translateY(0) rotateZ(0deg)}}@keyframes swal2-toast-hide{100%{transform:rotateZ(1deg);opacity:0}}@keyframes swal2-toast-animate-success-line-tip{0%{top:.5625em;left:.0625em;width:0}54%{top:.125em;left:.125em;width:0}70%{top:.625em;left:-0.25em;width:1.625em}84%{top:1.0625em;left:.75em;width:.5em}100%{top:1.125em;left:.1875em;width:.75em}}@keyframes swal2-toast-animate-success-line-long{0%{top:1.625em;right:1.375em;width:0}65%{top:1.25em;right:.9375em;width:0}84%{top:.9375em;right:0;width:1.125em}100%{top:.9375em;right:.1875em;width:1.375em}}@keyframes swal2-show{0%{transform:scale(0.7)}45%{transform:scale(1.05)}80%{transform:scale(0.95)}100%{transform:scale(1)}}@keyframes swal2-hide{0%{transform:scale(1);opacity:1}100%{transform:scale(0.5);opacity:0}}@keyframes swal2-animate-success-line-tip{0%{top:1.1875em;left:.0625em;width:0}54%{top:1.0625em;left:.125em;width:0}70%{top:2.1875em;left:-0.375em;width:3.125em}84%{top:3em;left:1.3125em;width:1.0625em}100%{top:2.8125em;left:.8125em;width:1.5625em}}@keyframes swal2-animate-success-line-long{0%{top:3.375em;right:2.875em;width:0}65%{top:3.375em;right:2.875em;width:0}84%{top:2.1875em;right:0;width:3.4375em}100%{top:2.375em;right:.5em;width:2.9375em}}@keyframes swal2-rotate-success-circular-line{0%{transform:rotate(-45deg)}5%{transform:rotate(-45deg)}12%{transform:rotate(-405deg)}100%{transform:rotate(-405deg)}}@keyframes swal2-animate-error-x-mark{0%{margin-top:1.625em;transform:scale(0.4);opacity:0}50%{margin-top:1.625em;transform:scale(0.4);opacity:0}80%{margin-top:-0.375em;transform:scale(1.15)}100%{margin-top:0;transform:scale(1);opacity:1}}@keyframes swal2-animate-error-icon{0%{transform:rotateX(100deg);opacity:0}100%{transform:rotateX(0deg);opacity:1}}@keyframes swal2-rotate-loading{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes swal2-animate-question-mark{0%{transform:rotateY(-360deg)}100%{transform:rotateY(0)}}@keyframes swal2-animate-i-mark{0%{transform:rotateZ(45deg);opacity:0}25%{transform:rotateZ(-25deg);opacity:.4}50%{transform:rotateZ(15deg);opacity:.8}75%{transform:rotateZ(-5deg);opacity:1}100%{transform:rotateX(0);opacity:1}}body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown){overflow:hidden}body.swal2-height-auto{height:auto !important}body.swal2-no-backdrop .swal2-container{background-color:rgba(0,0,0,0) !important;pointer-events:none}body.swal2-no-backdrop .swal2-container .swal2-popup{pointer-events:all}body.swal2-no-backdrop .swal2-container .swal2-modal{box-shadow:0 0 10px rgba(0,0,0,.4)}@media print{body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown){overflow-y:scroll !important}body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown)>[aria-hidden=true]{display:none}body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown) .swal2-container{position:static !important}}body.swal2-toast-shown .swal2-container{box-sizing:border-box;width:360px;max-width:100%;background-color:rgba(0,0,0,0);pointer-events:none}body.swal2-toast-shown .swal2-container.swal2-top{inset:0 auto auto 50%;transform:translateX(-50%)}body.swal2-toast-shown .swal2-container.swal2-top-end,body.swal2-toast-shown .swal2-container.swal2-top-right{inset:0 0 auto auto}body.swal2-toast-shown .swal2-container.swal2-top-start,body.swal2-toast-shown .swal2-container.swal2-top-left{inset:0 auto auto 0}body.swal2-toast-shown .swal2-container.swal2-center-start,body.swal2-toast-shown .swal2-container.swal2-center-left{inset:50% auto auto 0;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-center{inset:50% auto auto 50%;transform:translate(-50%, -50%)}body.swal2-toast-shown .swal2-container.swal2-center-end,body.swal2-toast-shown .swal2-container.swal2-center-right{inset:50% 0 auto auto;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-start,body.swal2-toast-shown .swal2-container.swal2-bottom-left{inset:auto auto 0 0}body.swal2-toast-shown .swal2-container.swal2-bottom{inset:auto auto 0 50%;transform:translateX(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-end,body.swal2-toast-shown .swal2-container.swal2-bottom-right{inset:auto 0 0 auto} \ No newline at end of file diff --git a/static/css/theme.css b/static/css/theme.css index 7210517a..1f3d1dac 100644 --- a/static/css/theme.css +++ b/static/css/theme.css @@ -22988,7 +22988,7 @@ input:-webkit-autofill { box-shadow: 0 0 0 30px var(--phoenix-emphasis-bg) inset; } -input::-webkit-contacts-auto-fill-button { +input:-webkit-contacts-auto-fill-button { background-color: var(--phoenix-body-color); } diff --git a/static/images/logos/users/appicon_m3vX9GA.png b/static/images/logos/users/appicon_m3vX9GA.png new file mode 100644 index 00000000..b8addbe8 Binary files /dev/null and b/static/images/logos/users/appicon_m3vX9GA.png differ diff --git a/static/js/config.js b/static/js/config.js index a1967422..4ee219eb 100644 --- a/static/js/config.js +++ b/static/js/config.js @@ -112,7 +112,7 @@ return config; -})); + //# sourceMappingURL=config.js.map var phoenixIsRTL = window.config.config.phoenixIsRTL; if (phoenixIsRTL) { @@ -127,3 +127,4 @@ linkRTL.setAttribute('disabled', true); userLinkRTL.setAttribute('disabled', true); } +})); \ No newline at end of file diff --git a/static/js/config.js.map b/static/js/config.js.map index a1287737..837a331c 100644 --- a/static/js/config.js.map +++ b/static/js/config.js.map @@ -1 +1 @@ -{"version":3,"file":"config.js","sources":["../../../src/js/config.js"],"sourcesContent":["/* eslint-disable no-var */\n/* eslint-disable no-unused-vars */\n/* eslint-disable no-extra-boolean-cast */\n/* -------------------------------------------------------------------------- */\n/* Config */\n/* -------------------------------------------------------------------------- */\n\nconst configQueryMap = {\n 'navbar-vertical-collapsed': 'phoenixIsNavbarVerticalCollapsed',\n 'color-scheme': 'phoenixTheme',\n 'navigation-type': 'phoenixNavbarPosition',\n 'vertical-navbar-appearance': 'phoenixNavbarVerticalStyle',\n 'horizontal-navbar-shape': 'phoenixNavbarTopShape',\n 'horizontal-navbar-appearance': 'phoenixNavbarTopStyle'\n};\n\nconst initialConfig = {\n phoenixIsNavbarVerticalCollapsed: false,\n phoenixTheme: 'light',\n phoenixNavbarTopStyle: 'default',\n phoenixNavbarVerticalStyle: 'default',\n phoenixNavbarPosition: 'vertical',\n phoenixNavbarTopShape: 'default',\n phoenixIsRTL: false,\n phoenixSupportChat: true\n};\n\nconst CONFIG = { ...initialConfig };\n\nconst setConfig = (payload, persist = true) => {\n Object.keys(payload).forEach(key => {\n CONFIG[key] = payload[key];\n if (persist) {\n localStorage.setItem(key, payload[key]);\n }\n });\n};\n\nconst resetConfig = () => {\n Object.keys(initialConfig).forEach(key => {\n CONFIG[key] = initialConfig[key];\n localStorage.setItem(key, initialConfig[key]);\n });\n};\n\nconst urlSearchParams = new URLSearchParams(window.location.search);\nconst params = Object.fromEntries(urlSearchParams.entries());\n\nif (\n Object.keys(params).length > 0 &&\n Object.keys(params).includes('theme-control')\n) {\n resetConfig();\n\n Object.keys(params).forEach(param => {\n if (configQueryMap[param]) {\n localStorage.setItem(configQueryMap[param], params[param]);\n }\n });\n}\n\nObject.keys(CONFIG).forEach(key => {\n if (localStorage.getItem(key) === null) {\n localStorage.setItem(key, CONFIG[key]);\n } else {\n try {\n setConfig({\n [key]: JSON.parse(localStorage.getItem(key))\n });\n } catch {\n setConfig({\n [key]: localStorage.getItem(key)\n });\n }\n }\n});\n\nif (!!JSON.parse(localStorage.getItem('phoenixIsNavbarVerticalCollapsed'))) {\n document.documentElement.classList.add('navbar-vertical-collapsed');\n}\n\nif (localStorage.getItem('phoenixTheme') === 'dark') {\n document.documentElement.setAttribute('data-bs-theme', 'dark');\n} else if (localStorage.getItem('phoenixTheme') === 'auto') {\n document.documentElement.setAttribute(\n 'data-bs-theme',\n window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'\n );\n}\n\nif (localStorage.getItem('phoenixNavbarPosition') === 'horizontal') {\n document.documentElement.setAttribute('data-navigation-type', 'horizontal');\n}\n\nif (localStorage.getItem('phoenixNavbarPosition') === 'combo') {\n document.documentElement.setAttribute('data-navigation-type', 'combo');\n}\n\nexport default {\n config: CONFIG,\n reset: resetConfig,\n set: setConfig\n};\n"],"names":[],"mappings":";;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;AACA;EACA,MAAM,cAAc,GAAG;EACvB,EAAE,2BAA2B,EAAE,kCAAkC;EACjE,EAAE,cAAc,EAAE,cAAc;EAChC,EAAE,iBAAiB,EAAE,uBAAuB;EAC5C,EAAE,4BAA4B,EAAE,4BAA4B;EAC5D,EAAE,yBAAyB,EAAE,uBAAuB;EACpD,EAAE,8BAA8B,EAAE,uBAAuB;EACzD,CAAC,CAAC;AACF;EACA,MAAM,aAAa,GAAG;EACtB,EAAE,gCAAgC,EAAE,KAAK;EACzC,EAAE,YAAY,EAAE,OAAO;EACvB,EAAE,qBAAqB,EAAE,SAAS;EAClC,EAAE,0BAA0B,EAAE,SAAS;EACvC,EAAE,qBAAqB,EAAE,UAAU;EACnC,EAAE,qBAAqB,EAAE,SAAS;EAClC,EAAE,YAAY,EAAE,KAAK;EACrB,EAAE,kBAAkB,EAAE,IAAI;EAC1B,CAAC,CAAC;AACF;EACA,MAAM,MAAM,GAAG,EAAE,GAAG,aAAa,EAAE,CAAC;AACpC;EACA,MAAM,SAAS,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,KAAK;EAC/C,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI;EACtC,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;EAC/B,IAAI,IAAI,OAAO,EAAE;EACjB,MAAM,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;EAC9C,KAAK;EACL,GAAG,CAAC,CAAC;EACL,CAAC,CAAC;AACF;EACA,MAAM,WAAW,GAAG,MAAM;EAC1B,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI;EAC5C,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;EACrC,IAAI,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;EAClD,GAAG,CAAC,CAAC;EACL,CAAC,CAAC;AACF;EACA,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;EACpE,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC;AAC7D;EACA;EACA,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC;EAChC,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC;EAC/C,EAAE;EACF,EAAE,WAAW,EAAE,CAAC;AAChB;EACA,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI;EACvC,IAAI,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE;EAC/B,MAAM,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;EACjE,KAAK;EACL,GAAG,CAAC,CAAC;EACL,CAAC;AACD;EACA,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI;EACnC,EAAE,IAAI,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;EAC1C,IAAI,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;EAC3C,GAAG,MAAM;EACT,IAAI,IAAI;EACR,MAAM,SAAS,CAAC;EAChB,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;EACpD,OAAO,CAAC,CAAC;EACT,KAAK,CAAC,MAAM;EACZ,MAAM,SAAS,CAAC;EAChB,QAAQ,CAAC,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC;EACxC,OAAO,CAAC,CAAC;EACT,KAAK;EACL,GAAG;EACH,CAAC,CAAC,CAAC;AACH;EACA,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC,EAAE;EAC5E,EAAE,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;EACtE,CAAC;AACD;EACA,IAAI,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,MAAM,EAAE;EACrD,EAAE,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;EACjE,CAAC,MAAM,IAAI,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,MAAM,EAAE;EAC5D,EAAE,QAAQ,CAAC,eAAe,CAAC,YAAY;EACvC,IAAI,eAAe;EACnB,IAAI,MAAM,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC,OAAO,GAAG,MAAM,GAAG,OAAO;EAChF,GAAG,CAAC;EACJ,CAAC;AACD;EACA,IAAI,YAAY,CAAC,OAAO,CAAC,uBAAuB,CAAC,KAAK,YAAY,EAAE;EACpE,EAAE,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC,sBAAsB,EAAE,YAAY,CAAC,CAAC;EAC9E,CAAC;AACD;EACA,IAAI,YAAY,CAAC,OAAO,CAAC,uBAAuB,CAAC,KAAK,OAAO,EAAE;EAC/D,EAAE,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;EACzE,CAAC;AACD;AACA,eAAe;EACf,EAAE,MAAM,EAAE,MAAM;EAChB,EAAE,KAAK,EAAE,WAAW;EACpB,EAAE,GAAG,EAAE,SAAS;EAChB,CAAC;;;;;;;;"} \ No newline at end of file +{"version":3,"file":"config.js","sources":["../../../js/config.js"],"sourcesContent":["/* eslint-disable no-var */\n/* eslint-disable no-unused-vars */\n/* eslint-disable no-extra-boolean-cast */\n/* -------------------------------------------------------------------------- */\n/* Config */\n/* -------------------------------------------------------------------------- */\n\nconst configQueryMap = {\n 'navbar-vertical-collapsed': 'phoenixIsNavbarVerticalCollapsed',\n 'color-scheme': 'phoenixTheme',\n 'navigation-type': 'phoenixNavbarPosition',\n 'vertical-navbar-appearance': 'phoenixNavbarVerticalStyle',\n 'horizontal-navbar-shape': 'phoenixNavbarTopShape',\n 'horizontal-navbar-appearance': 'phoenixNavbarTopStyle'\n};\n\nconst initialConfig = {\n phoenixIsNavbarVerticalCollapsed: false,\n phoenixTheme: 'light',\n phoenixNavbarTopStyle: 'default',\n phoenixNavbarVerticalStyle: 'default',\n phoenixNavbarPosition: 'vertical',\n phoenixNavbarTopShape: 'default',\n phoenixIsRTL: false,\n phoenixSupportChat: true\n};\n\nconst CONFIG = { ...initialConfig };\n\nconst setConfig = (payload, persist = true) => {\n Object.keys(payload).forEach(key => {\n CONFIG[key] = payload[key];\n if (persist) {\n localStorage.setItem(key, payload[key]);\n }\n });\n};\n\nconst resetConfig = () => {\n Object.keys(initialConfig).forEach(key => {\n CONFIG[key] = initialConfig[key];\n localStorage.setItem(key, initialConfig[key]);\n });\n};\n\nconst urlSearchParams = new URLSearchParams(window.location.search);\nconst params = Object.fromEntries(urlSearchParams.entries());\n\nif (\n Object.keys(params).length > 0 &&\n Object.keys(params).includes('theme-control')\n) {\n resetConfig();\n\n Object.keys(params).forEach(param => {\n if (configQueryMap[param]) {\n localStorage.setItem(configQueryMap[param], params[param]);\n }\n });\n}\n\nObject.keys(CONFIG).forEach(key => {\n if (localStorage.getItem(key) === null) {\n localStorage.setItem(key, CONFIG[key]);\n } else {\n try {\n setConfig({\n [key]: JSON.parse(localStorage.getItem(key))\n });\n } catch {\n setConfig({\n [key]: localStorage.getItem(key)\n });\n }\n }\n});\n\nif (!!JSON.parse(localStorage.getItem('phoenixIsNavbarVerticalCollapsed'))) {\n document.documentElement.classList.add('navbar-vertical-collapsed');\n}\n\nif (localStorage.getItem('phoenixTheme') === 'dark') {\n document.documentElement.setAttribute('data-bs-theme', 'dark');\n} else if (localStorage.getItem('phoenixTheme') === 'auto') {\n document.documentElement.setAttribute(\n 'data-bs-theme',\n window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'\n );\n}\n\nif (localStorage.getItem('phoenixNavbarPosition') === 'horizontal') {\n document.documentElement.setAttribute('data-navigation-type', 'horizontal');\n}\n\nif (localStorage.getItem('phoenixNavbarPosition') === 'combo') {\n document.documentElement.setAttribute('data-navigation-type', 'combo');\n}\n\nexport default {\n config: CONFIG,\n reset: resetConfig,\n set: setConfig\n};\n"],"names":[],"mappings":";;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;AACA;EACA,MAAM,cAAc,GAAG;EACvB,EAAE,2BAA2B,EAAE,kCAAkC;EACjE,EAAE,cAAc,EAAE,cAAc;EAChC,EAAE,iBAAiB,EAAE,uBAAuB;EAC5C,EAAE,4BAA4B,EAAE,4BAA4B;EAC5D,EAAE,yBAAyB,EAAE,uBAAuB;EACpD,EAAE,8BAA8B,EAAE,uBAAuB;EACzD,CAAC,CAAC;AACF;EACA,MAAM,aAAa,GAAG;EACtB,EAAE,gCAAgC,EAAE,KAAK;EACzC,EAAE,YAAY,EAAE,OAAO;EACvB,EAAE,qBAAqB,EAAE,SAAS;EAClC,EAAE,0BAA0B,EAAE,SAAS;EACvC,EAAE,qBAAqB,EAAE,UAAU;EACnC,EAAE,qBAAqB,EAAE,SAAS;EAClC,EAAE,YAAY,EAAE,KAAK;EACrB,EAAE,kBAAkB,EAAE,IAAI;EAC1B,CAAC,CAAC;AACF;EACA,MAAM,MAAM,GAAG,EAAE,GAAG,aAAa,EAAE,CAAC;AACpC;EACA,MAAM,SAAS,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,KAAK;EAC/C,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI;EACtC,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;EAC/B,IAAI,IAAI,OAAO,EAAE;EACjB,MAAM,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;EAC9C,KAAK;EACL,GAAG,CAAC,CAAC;EACL,CAAC,CAAC;AACF;EACA,MAAM,WAAW,GAAG,MAAM;EAC1B,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI;EAC5C,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;EACrC,IAAI,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;EAClD,GAAG,CAAC,CAAC;EACL,CAAC,CAAC;AACF;EACA,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;EACpE,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC;AAC7D;EACA;EACA,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC;EAChC,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC;EAC/C,EAAE;EACF,EAAE,WAAW,EAAE,CAAC;AAChB;EACA,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI;EACvC,IAAI,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE;EAC/B,MAAM,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;EACjE,KAAK;EACL,GAAG,CAAC,CAAC;EACL,CAAC;AACD;EACA,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI;EACnC,EAAE,IAAI,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;EAC1C,IAAI,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;EAC3C,GAAG,MAAM;EACT,IAAI,IAAI;EACR,MAAM,SAAS,CAAC;EAChB,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;EACpD,OAAO,CAAC,CAAC;EACT,KAAK,CAAC,MAAM;EACZ,MAAM,SAAS,CAAC;EAChB,QAAQ,CAAC,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC;EACxC,OAAO,CAAC,CAAC;EACT,KAAK;EACL,GAAG;EACH,CAAC,CAAC,CAAC;AACH;EACA,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC,EAAE;EAC5E,EAAE,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;EACtE,CAAC;AACD;EACA,IAAI,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,MAAM,EAAE;EACrD,EAAE,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;EACjE,CAAC,MAAM,IAAI,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,MAAM,EAAE;EAC5D,EAAE,QAAQ,CAAC,eAAe,CAAC,YAAY;EACvC,IAAI,eAAe;EACnB,IAAI,MAAM,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC,OAAO,GAAG,MAAM,GAAG,OAAO;EAChF,GAAG,CAAC;EACJ,CAAC;AACD;EACA,IAAI,YAAY,CAAC,OAAO,CAAC,uBAAuB,CAAC,KAAK,YAAY,EAAE;EACpE,EAAE,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC,sBAAsB,EAAE,YAAY,CAAC,CAAC;EAC9E,CAAC;AACD;EACA,IAAI,YAAY,CAAC,OAAO,CAAC,uBAAuB,CAAC,KAAK,OAAO,EAAE;EAC/D,EAAE,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;EACzE,CAAC;AACD;AACA,eAAe;EACf,EAAE,MAAM,EAAE,MAAM;EAChB,EAAE,KAAK,EAAE,WAAW;EACpB,EAAE,GAAG,EAAE,SAAS;EAChB,CAAC;;;;;;;;"} \ No newline at end of file diff --git a/static/js/sweetalert2.all.min.js b/static/js/sweetalert2.all.min.js new file mode 100644 index 00000000..306b9ddf --- /dev/null +++ b/static/js/sweetalert2.all.min.js @@ -0,0 +1,6 @@ +/*! +* sweetalert2 v11.15.3 +* Released under the MIT License. +*/ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).Sweetalert2=t()}(this,(function(){"use strict";function e(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}function t(t,n){return t.get(e(t,n))}function n(e,t,n){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.set(e,n)}const o={},i=e=>new Promise((t=>{if(!e)return t();const n=window.scrollX,i=window.scrollY;o.restoreFocusTimeout=setTimeout((()=>{o.previousActiveElement instanceof HTMLElement?(o.previousActiveElement.focus(),o.previousActiveElement=null):document.body&&document.body.focus(),t()}),100),window.scrollTo(n,i)})),s="swal2-",r=["container","shown","height-auto","iosfix","popup","modal","no-backdrop","no-transition","toast","toast-shown","show","hide","close","title","html-container","actions","confirm","deny","cancel","default-outline","footer","icon","icon-content","image","input","file","range","select","radio","checkbox","label","textarea","inputerror","input-label","validation-message","progress-steps","active-progress-step","progress-step","progress-step-line","loader","loading","styled","top","top-start","top-end","top-left","top-right","center","center-start","center-end","center-left","center-right","bottom","bottom-start","bottom-end","bottom-left","bottom-right","grow-row","grow-column","grow-fullscreen","rtl","timer-progress-bar","timer-progress-bar-container","scrollbar-measure","icon-success","icon-warning","icon-info","icon-question","icon-error","draggable","dragging"].reduce(((e,t)=>(e[t]=s+t,e)),{}),a=["success","warning","info","question","error"].reduce(((e,t)=>(e[t]=s+t,e)),{}),l="SweetAlert2:",c=e=>e.charAt(0).toUpperCase()+e.slice(1),u=e=>{console.warn(`${l} ${"object"==typeof e?e.join(" "):e}`)},d=e=>{console.error(`${l} ${e}`)},p=[],m=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;var n;n=`"${e}" is deprecated and will be removed in the next major release.${t?` Use "${t}" instead.`:""}`,p.includes(n)||(p.push(n),u(n))},g=e=>"function"==typeof e?e():e,h=e=>e&&"function"==typeof e.toPromise,f=e=>h(e)?e.toPromise():Promise.resolve(e),b=e=>e&&Promise.resolve(e)===e,y=()=>document.body.querySelector(`.${r.container}`),v=e=>{const t=y();return t?t.querySelector(e):null},w=e=>v(`.${e}`),C=()=>w(r.popup),A=()=>w(r.icon),E=()=>w(r.title),k=()=>w(r["html-container"]),B=()=>w(r.image),L=()=>w(r["progress-steps"]),$=()=>w(r["validation-message"]),x=()=>v(`.${r.actions} .${r.confirm}`),P=()=>v(`.${r.actions} .${r.cancel}`),T=()=>v(`.${r.actions} .${r.deny}`),S=()=>v(`.${r.loader}`),O=()=>w(r.actions),M=()=>w(r.footer),j=()=>w(r["timer-progress-bar"]),H=()=>w(r.close),I=()=>{const e=C();if(!e)return[];const t=e.querySelectorAll('[tabindex]:not([tabindex="-1"]):not([tabindex="0"])'),n=Array.from(t).sort(((e,t)=>{const n=parseInt(e.getAttribute("tabindex")||"0"),o=parseInt(t.getAttribute("tabindex")||"0");return n>o?1:n"-1"!==e.getAttribute("tabindex")));return[...new Set(n.concat(i))].filter((e=>ee(e)))},D=()=>N(document.body,r.shown)&&!N(document.body,r["toast-shown"])&&!N(document.body,r["no-backdrop"]),q=()=>{const e=C();return!!e&&N(e,r.toast)},V=(e,t)=>{if(e.textContent="",t){const n=(new DOMParser).parseFromString(t,"text/html"),o=n.querySelector("head");o&&Array.from(o.childNodes).forEach((t=>{e.appendChild(t)}));const i=n.querySelector("body");i&&Array.from(i.childNodes).forEach((t=>{t instanceof HTMLVideoElement||t instanceof HTMLAudioElement?e.appendChild(t.cloneNode(!0)):e.appendChild(t)}))}},N=(e,t)=>{if(!t)return!1;const n=t.split(/\s+/);for(let t=0;t{if(((e,t)=>{Array.from(e.classList).forEach((n=>{Object.values(r).includes(n)||Object.values(a).includes(n)||Object.values(t.showClass||{}).includes(n)||e.classList.remove(n)}))})(e,t),!t.customClass)return;const o=t.customClass[n];o&&("string"==typeof o||o.forEach?z(e,o):u(`Invalid type of customClass.${n}! Expected string or iterable object, got "${typeof o}"`))},F=(e,t)=>{if(!t)return null;switch(t){case"select":case"textarea":case"file":return e.querySelector(`.${r.popup} > .${r[t]}`);case"checkbox":return e.querySelector(`.${r.popup} > .${r.checkbox} input`);case"radio":return e.querySelector(`.${r.popup} > .${r.radio} input:checked`)||e.querySelector(`.${r.popup} > .${r.radio} input:first-child`);case"range":return e.querySelector(`.${r.popup} > .${r.range} input`);default:return e.querySelector(`.${r.popup} > .${r.input}`)}},R=e=>{if(e.focus(),"file"!==e.type){const t=e.value;e.value="",e.value=t}},U=(e,t,n)=>{e&&t&&("string"==typeof t&&(t=t.split(/\s+/).filter(Boolean)),t.forEach((t=>{Array.isArray(e)?e.forEach((e=>{n?e.classList.add(t):e.classList.remove(t)})):n?e.classList.add(t):e.classList.remove(t)})))},z=(e,t)=>{U(e,t,!0)},W=(e,t)=>{U(e,t,!1)},K=(e,t)=>{const n=Array.from(e.children);for(let e=0;e{n===`${parseInt(n)}`&&(n=parseInt(n)),n||0===parseInt(n)?e.style.setProperty(t,"number"==typeof n?`${n}px`:n):e.style.removeProperty(t)},X=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"flex";e&&(e.style.display=t)},Z=e=>{e&&(e.style.display="none")},J=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"block";e&&new MutationObserver((()=>{Q(e,e.innerHTML,t)})).observe(e,{childList:!0,subtree:!0})},G=(e,t,n,o)=>{const i=e.querySelector(t);i&&i.style.setProperty(n,o)},Q=function(e,t){t?X(e,arguments.length>2&&void 0!==arguments[2]?arguments[2]:"flex"):Z(e)},ee=e=>!(!e||!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)),te=e=>!!(e.scrollHeight>e.clientHeight),ne=e=>{const t=window.getComputedStyle(e),n=parseFloat(t.getPropertyValue("animation-duration")||"0"),o=parseFloat(t.getPropertyValue("transition-duration")||"0");return n>0||o>0},oe=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const n=j();n&&ee(n)&&(t&&(n.style.transition="none",n.style.width="100%"),setTimeout((()=>{n.style.transition=`width ${e/1e3}s linear`,n.style.width="0%"}),10))},ie=`\n
\n \n
    \n
    \n \n

    \n
    \n \n \n
    \n \n \n
    \n \n
    \n \n \n
    \n
    \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n`.replace(/(^|\n)\s*/g,""),se=()=>{o.currentInstance.resetValidationMessage()},re=e=>{const t=(()=>{const e=y();return!!e&&(e.remove(),W([document.documentElement,document.body],[r["no-backdrop"],r["toast-shown"],r["has-column"]]),!0)})();if("undefined"==typeof window||"undefined"==typeof document)return void d("SweetAlert2 requires document to initialize");const n=document.createElement("div");n.className=r.container,t&&z(n,r["no-transition"]),V(n,ie);const o="string"==typeof(i=e.target)?document.querySelector(i):i;var i;o.appendChild(n),(e=>{const t=C();t.setAttribute("role",e.toast?"alert":"dialog"),t.setAttribute("aria-live",e.toast?"polite":"assertive"),e.toast||t.setAttribute("aria-modal","true")})(e),(e=>{"rtl"===window.getComputedStyle(e).direction&&z(y(),r.rtl)})(o),(()=>{const e=C(),t=K(e,r.input),n=K(e,r.file),o=e.querySelector(`.${r.range} input`),i=e.querySelector(`.${r.range} output`),s=K(e,r.select),a=e.querySelector(`.${r.checkbox} input`),l=K(e,r.textarea);t.oninput=se,n.onchange=se,s.onchange=se,a.onchange=se,l.oninput=se,o.oninput=()=>{se(),i.value=o.value},o.onchange=()=>{se(),i.value=o.value}})()},ae=(e,t)=>{e instanceof HTMLElement?t.appendChild(e):"object"==typeof e?le(e,t):e&&V(t,e)},le=(e,t)=>{e.jquery?ce(t,e):V(t,e.toString())},ce=(e,t)=>{if(e.textContent="",0 in t)for(let n=0;n in t;n++)e.appendChild(t[n].cloneNode(!0));else e.appendChild(t.cloneNode(!0))},ue=(e,t)=>{const n=O(),o=S();n&&o&&(t.showConfirmButton||t.showDenyButton||t.showCancelButton?X(n):Z(n),_(n,t,"actions"),function(e,t,n){const o=x(),i=T(),s=P();if(!o||!i||!s)return;de(o,"confirm",n),de(i,"deny",n),de(s,"cancel",n),function(e,t,n,o){if(!o.buttonsStyling)return void W([e,t,n],r.styled);z([e,t,n],r.styled),o.confirmButtonColor&&(e.style.backgroundColor=o.confirmButtonColor,z(e,r["default-outline"]));o.denyButtonColor&&(t.style.backgroundColor=o.denyButtonColor,z(t,r["default-outline"]));o.cancelButtonColor&&(n.style.backgroundColor=o.cancelButtonColor,z(n,r["default-outline"]))}(o,i,s,n),n.reverseButtons&&(n.toast?(e.insertBefore(s,o),e.insertBefore(i,o)):(e.insertBefore(s,t),e.insertBefore(i,t),e.insertBefore(o,t)))}(n,o,t),V(o,t.loaderHtml||""),_(o,t,"loader"))};function de(e,t,n){const o=c(t);Q(e,n[`show${o}Button`],"inline-block"),V(e,n[`${t}ButtonText`]||""),e.setAttribute("aria-label",n[`${t}ButtonAriaLabel`]||""),e.className=r[t],_(e,n,`${t}Button`)}const pe=(e,t)=>{const n=y();n&&(!function(e,t){"string"==typeof t?e.style.background=t:t||z([document.documentElement,document.body],r["no-backdrop"])}(n,t.backdrop),function(e,t){if(!t)return;t in r?z(e,r[t]):(u('The "position" parameter is not valid, defaulting to "center"'),z(e,r.center))}(n,t.position),function(e,t){if(!t)return;z(e,r[`grow-${t}`])}(n,t.grow),_(n,t,"container"))};var me={innerParams:new WeakMap,domCache:new WeakMap};const ge=["input","file","range","select","radio","checkbox","textarea"],he=e=>{if(!e.input)return;if(!Ae[e.input])return void d(`Unexpected type of input! Expected ${Object.keys(Ae).join(" | ")}, got "${e.input}"`);const t=we(e.input);if(!t)return;const n=Ae[e.input](t,e);X(t),e.inputAutoFocus&&setTimeout((()=>{R(n)}))},fe=(e,t)=>{const n=C();if(!n)return;const o=F(n,e);if(o){(e=>{for(let t=0;t{if(!e.input)return;const t=we(e.input);t&&_(t,e,"input")},ye=(e,t)=>{!e.placeholder&&t.inputPlaceholder&&(e.placeholder=t.inputPlaceholder)},ve=(e,t,n)=>{if(n.inputLabel){const o=document.createElement("label"),i=r["input-label"];o.setAttribute("for",e.id),o.className=i,"object"==typeof n.customClass&&z(o,n.customClass.inputLabel),o.innerText=n.inputLabel,t.insertAdjacentElement("beforebegin",o)}},we=e=>{const t=C();if(t)return K(t,r[e]||r.input)},Ce=(e,t)=>{["string","number"].includes(typeof t)?e.value=`${t}`:b(t)||u(`Unexpected type of inputValue! Expected "string", "number" or "Promise", got "${typeof t}"`)},Ae={};Ae.text=Ae.email=Ae.password=Ae.number=Ae.tel=Ae.url=Ae.search=Ae.date=Ae["datetime-local"]=Ae.time=Ae.week=Ae.month=(e,t)=>(Ce(e,t.inputValue),ve(e,e,t),ye(e,t),e.type=t.input,e),Ae.file=(e,t)=>(ve(e,e,t),ye(e,t),e),Ae.range=(e,t)=>{const n=e.querySelector("input"),o=e.querySelector("output");return Ce(n,t.inputValue),n.type=t.input,Ce(o,t.inputValue),ve(n,e,t),e},Ae.select=(e,t)=>{if(e.textContent="",t.inputPlaceholder){const n=document.createElement("option");V(n,t.inputPlaceholder),n.value="",n.disabled=!0,n.selected=!0,e.appendChild(n)}return ve(e,e,t),e},Ae.radio=e=>(e.textContent="",e),Ae.checkbox=(e,t)=>{const n=F(C(),"checkbox");n.value="1",n.checked=Boolean(t.inputValue);const o=e.querySelector("span");return V(o,t.inputPlaceholder||t.inputLabel),n},Ae.textarea=(e,t)=>{Ce(e,t.inputValue),ye(e,t),ve(e,e,t);return setTimeout((()=>{if("MutationObserver"in window){const n=parseInt(window.getComputedStyle(C()).width);new MutationObserver((()=>{if(!document.body.contains(e))return;const o=e.offsetWidth+(i=e,parseInt(window.getComputedStyle(i).marginLeft)+parseInt(window.getComputedStyle(i).marginRight));var i;o>n?C().style.width=`${o}px`:Y(C(),"width",t.width)})).observe(e,{attributes:!0,attributeFilter:["style"]})}})),e};const Ee=(e,t)=>{const n=k();n&&(J(n),_(n,t,"htmlContainer"),t.html?(ae(t.html,n),X(n,"block")):t.text?(n.textContent=t.text,X(n,"block")):Z(n),((e,t)=>{const n=C();if(!n)return;const o=me.innerParams.get(e),i=!o||t.input!==o.input;ge.forEach((e=>{const o=K(n,r[e]);o&&(fe(e,t.inputAttributes),o.className=r[e],i&&Z(o))})),t.input&&(i&&he(t),be(t))})(e,t))},ke=(e,t)=>{for(const[n,o]of Object.entries(a))t.icon!==n&&W(e,o);z(e,t.icon&&a[t.icon]),$e(e,t),Be(),_(e,t,"icon")},Be=()=>{const e=C();if(!e)return;const t=window.getComputedStyle(e).getPropertyValue("background-color"),n=e.querySelectorAll("[class^=swal2-success-circular-line], .swal2-success-fix");for(let e=0;e{if(!t.icon&&!t.iconHtml)return;let n=e.innerHTML,o="";if(t.iconHtml)o=xe(t.iconHtml);else if("success"===t.icon)o='\n
    \n \n
    \n
    \n',n=n.replace(/ style=".*?"/g,"");else if("error"===t.icon)o='\n \n \n \n \n';else if(t.icon){o=xe({question:"?",warning:"!",info:"i"}[t.icon])}n.trim()!==o.trim()&&V(e,o)},$e=(e,t)=>{if(t.iconColor){e.style.color=t.iconColor,e.style.borderColor=t.iconColor;for(const n of[".swal2-success-line-tip",".swal2-success-line-long",".swal2-x-mark-line-left",".swal2-x-mark-line-right"])G(e,n,"background-color",t.iconColor);G(e,".swal2-success-ring","border-color",t.iconColor)}},xe=e=>`
    ${e}
    `;let Pe=!1,Te=0,Se=0,Oe=0,Me=0;const je=e=>{const t=C();if(e.target===t||A().contains(e.target)){Pe=!0;const n=De(e);Te=n.clientX,Se=n.clientY,Oe=parseInt(t.style.insetInlineStart)||0,Me=parseInt(t.style.insetBlockStart)||0,z(t,"swal2-dragging")}},He=e=>{const t=C();if(Pe){let{clientX:n,clientY:o}=De(e);t.style.insetInlineStart=`${Oe+(n-Te)}px`,t.style.insetBlockStart=`${Me+(o-Se)}px`}},Ie=()=>{const e=C();Pe=!1,W(e,"swal2-dragging")},De=e=>{let t=0,n=0;return e.type.startsWith("mouse")?(t=e.clientX,n=e.clientY):e.type.startsWith("touch")&&(t=e.touches[0].clientX,n=e.touches[0].clientY),{clientX:t,clientY:n}},qe=(e,t)=>{const n=y(),o=C();if(n&&o){if(t.toast){Y(n,"width",t.width),o.style.width="100%";const e=S();e&&o.insertBefore(e,A())}else Y(o,"width",t.width);Y(o,"padding",t.padding),t.color&&(o.style.color=t.color),t.background&&(o.style.background=t.background),Z($()),Ve(o,t),t.draggable&&!t.toast?(z(o,r.draggable),(e=>{e.addEventListener("mousedown",je),document.body.addEventListener("mousemove",He),e.addEventListener("mouseup",Ie),e.addEventListener("touchstart",je),document.body.addEventListener("touchmove",He),e.addEventListener("touchend",Ie)})(o)):(W(o,r.draggable),(e=>{e.removeEventListener("mousedown",je),document.body.removeEventListener("mousemove",He),e.removeEventListener("mouseup",Ie),e.removeEventListener("touchstart",je),document.body.removeEventListener("touchmove",He),e.removeEventListener("touchend",Ie)})(o))}},Ve=(e,t)=>{const n=t.showClass||{};e.className=`${r.popup} ${ee(e)?n.popup:""}`,t.toast?(z([document.documentElement,document.body],r["toast-shown"]),z(e,r.toast)):z(e,r.modal),_(e,t,"popup"),"string"==typeof t.customClass&&z(e,t.customClass),t.icon&&z(e,r[`icon-${t.icon}`])},Ne=e=>{const t=document.createElement("li");return z(t,r["progress-step"]),V(t,e),t},_e=e=>{const t=document.createElement("li");return z(t,r["progress-step-line"]),e.progressStepsDistance&&Y(t,"width",e.progressStepsDistance),t},Fe=(e,t)=>{qe(0,t),pe(0,t),((e,t)=>{const n=L();if(!n)return;const{progressSteps:o,currentProgressStep:i}=t;o&&0!==o.length&&void 0!==i?(X(n),n.textContent="",i>=o.length&&u("Invalid currentProgressStep parameter, it should be less than progressSteps.length (currentProgressStep like JS arrays starts from 0)"),o.forEach(((e,s)=>{const a=Ne(e);if(n.appendChild(a),s===i&&z(a,r["active-progress-step"]),s!==o.length-1){const e=_e(t);n.appendChild(e)}}))):Z(n)})(0,t),((e,t)=>{const n=me.innerParams.get(e),o=A();if(o){if(n&&t.icon===n.icon)return Le(o,t),void ke(o,t);if(t.icon||t.iconHtml){if(t.icon&&-1===Object.keys(a).indexOf(t.icon))return d(`Unknown icon! Expected "success", "error", "warning", "info" or "question", got "${t.icon}"`),void Z(o);X(o),Le(o,t),ke(o,t),z(o,t.showClass&&t.showClass.icon)}else Z(o)}})(e,t),((e,t)=>{const n=B();n&&(t.imageUrl?(X(n,""),n.setAttribute("src",t.imageUrl),n.setAttribute("alt",t.imageAlt||""),Y(n,"width",t.imageWidth),Y(n,"height",t.imageHeight),n.className=r.image,_(n,t,"image")):Z(n))})(0,t),((e,t)=>{const n=E();n&&(J(n),Q(n,t.title||t.titleText,"block"),t.title&&ae(t.title,n),t.titleText&&(n.innerText=t.titleText),_(n,t,"title"))})(0,t),((e,t)=>{const n=H();n&&(V(n,t.closeButtonHtml||""),_(n,t,"closeButton"),Q(n,t.showCloseButton),n.setAttribute("aria-label",t.closeButtonAriaLabel||""))})(0,t),Ee(e,t),ue(0,t),((e,t)=>{const n=M();n&&(J(n),Q(n,t.footer,"block"),t.footer&&ae(t.footer,n),_(n,t,"footer"))})(0,t);const n=C();"function"==typeof t.didRender&&n&&t.didRender(n),o.eventEmitter.emit("didRender",n)},Re=()=>{var e;return null===(e=x())||void 0===e?void 0:e.click()},Ue=Object.freeze({cancel:"cancel",backdrop:"backdrop",close:"close",esc:"esc",timer:"timer"}),ze=e=>{e.keydownTarget&&e.keydownHandlerAdded&&(e.keydownTarget.removeEventListener("keydown",e.keydownHandler,{capture:e.keydownListenerCapture}),e.keydownHandlerAdded=!1)},We=(e,t)=>{var n;const o=I();if(o.length)return(e+=t)===o.length?e=0:-1===e&&(e=o.length-1),void o[e].focus();null===(n=C())||void 0===n||n.focus()},Ke=["ArrowRight","ArrowDown"],Ye=["ArrowLeft","ArrowUp"],Xe=(e,t,n)=>{e&&(t.isComposing||229===t.keyCode||(e.stopKeydownPropagation&&t.stopPropagation(),"Enter"===t.key?Ze(t,e):"Tab"===t.key?Je(t):[...Ke,...Ye].includes(t.key)?Ge(t.key):"Escape"===t.key&&Qe(t,e,n)))},Ze=(e,t)=>{if(!g(t.allowEnterKey))return;const n=F(C(),t.input);if(e.target&&n&&e.target instanceof HTMLElement&&e.target.outerHTML===n.outerHTML){if(["textarea","file"].includes(t.input))return;Re(),e.preventDefault()}},Je=e=>{const t=e.target,n=I();let o=-1;for(let e=0;e{const t=O(),n=x(),o=T(),i=P();if(!(t&&n&&o&&i))return;const s=[n,o,i];if(document.activeElement instanceof HTMLElement&&!s.includes(document.activeElement))return;const r=Ke.includes(e)?"nextElementSibling":"previousElementSibling";let a=document.activeElement;if(a){for(let e=0;e{g(t.allowEscapeKey)&&(e.preventDefault(),n(Ue.esc))};var et={swalPromiseResolve:new WeakMap,swalPromiseReject:new WeakMap};const tt=()=>{Array.from(document.body.children).forEach((e=>{e.hasAttribute("data-previous-aria-hidden")?(e.setAttribute("aria-hidden",e.getAttribute("data-previous-aria-hidden")||""),e.removeAttribute("data-previous-aria-hidden")):e.removeAttribute("aria-hidden")}))},nt="undefined"!=typeof window&&!!window.GestureEvent,ot=()=>{const e=y();if(!e)return;let t;e.ontouchstart=e=>{t=it(e)},e.ontouchmove=e=>{t&&(e.preventDefault(),e.stopPropagation())}},it=e=>{const t=e.target,n=y(),o=k();return!(!n||!o)&&(!st(e)&&!rt(e)&&(t===n||!te(n)&&t instanceof HTMLElement&&"INPUT"!==t.tagName&&"TEXTAREA"!==t.tagName&&(!te(o)||!o.contains(t))))},st=e=>e.touches&&e.touches.length&&"stylus"===e.touches[0].touchType,rt=e=>e.touches&&e.touches.length>1;let at=null;const lt=e=>{null===at&&(document.body.scrollHeight>window.innerHeight||"scroll"===e)&&(at=parseInt(window.getComputedStyle(document.body).getPropertyValue("padding-right")),document.body.style.paddingRight=`${at+(()=>{const e=document.createElement("div");e.className=r["scrollbar-measure"],document.body.appendChild(e);const t=e.getBoundingClientRect().width-e.clientWidth;return document.body.removeChild(e),t})()}px`)};function ct(e,t,n,s){q()?bt(e,s):(i(n).then((()=>bt(e,s))),ze(o)),nt?(t.setAttribute("style","display:none !important"),t.removeAttribute("class"),t.innerHTML=""):t.remove(),D()&&(null!==at&&(document.body.style.paddingRight=`${at}px`,at=null),(()=>{if(N(document.body,r.iosfix)){const e=parseInt(document.body.style.top,10);W(document.body,r.iosfix),document.body.style.top="",document.body.scrollTop=-1*e}})(),tt()),W([document.documentElement,document.body],[r.shown,r["height-auto"],r["no-backdrop"],r["toast-shown"]])}function ut(e){e=gt(e);const t=et.swalPromiseResolve.get(this),n=dt(this);this.isAwaitingPromise?e.isDismissed||(mt(this),t(e)):n&&t(e)}const dt=e=>{const t=C();if(!t)return!1;const n=me.innerParams.get(e);if(!n||N(t,n.hideClass.popup))return!1;W(t,n.showClass.popup),z(t,n.hideClass.popup);const o=y();return W(o,n.showClass.backdrop),z(o,n.hideClass.backdrop),ht(e,t,n),!0};function pt(e){const t=et.swalPromiseReject.get(this);mt(this),t&&t(e)}const mt=e=>{e.isAwaitingPromise&&(delete e.isAwaitingPromise,me.innerParams.get(e)||e._destroy())},gt=e=>void 0===e?{isConfirmed:!1,isDenied:!1,isDismissed:!0}:Object.assign({isConfirmed:!1,isDenied:!1,isDismissed:!1},e),ht=(e,t,n)=>{var i;const s=y(),r=ne(t);"function"==typeof n.willClose&&n.willClose(t),null===(i=o.eventEmitter)||void 0===i||i.emit("willClose",t),r?ft(e,t,s,n.returnFocus,n.didClose):ct(e,s,n.returnFocus,n.didClose)},ft=(e,t,n,i,s)=>{o.swalCloseEventFinishedCallback=ct.bind(null,e,n,i,s);const r=function(e){var n;e.target===t&&(null===(n=o.swalCloseEventFinishedCallback)||void 0===n||n.call(o),delete o.swalCloseEventFinishedCallback,t.removeEventListener("animationend",r),t.removeEventListener("transitionend",r))};t.addEventListener("animationend",r),t.addEventListener("transitionend",r)},bt=(e,t)=>{setTimeout((()=>{var n;"function"==typeof t&&t.bind(e.params)(),null===(n=o.eventEmitter)||void 0===n||n.emit("didClose"),e._destroy&&e._destroy()}))},yt=e=>{let t=C();if(t||new Jn,t=C(),!t)return;const n=S();q()?Z(A()):vt(t,e),X(n),t.setAttribute("data-loading","true"),t.setAttribute("aria-busy","true"),t.focus()},vt=(e,t)=>{const n=O(),o=S();n&&o&&(!t&&ee(x())&&(t=x()),X(n),t&&(Z(t),o.setAttribute("data-button-to-replace",t.className),n.insertBefore(o,t)),z([e,n],r.loading))},wt=e=>e.checked?1:0,Ct=e=>e.checked?e.value:null,At=e=>e.files&&e.files.length?null!==e.getAttribute("multiple")?e.files:e.files[0]:null,Et=(e,t)=>{const n=C();if(!n)return;const o=e=>{"select"===t.input?function(e,t,n){const o=K(e,r.select);if(!o)return;const i=(e,t,o)=>{const i=document.createElement("option");i.value=o,V(i,t),i.selected=Lt(o,n.inputValue),e.appendChild(i)};t.forEach((e=>{const t=e[0],n=e[1];if(Array.isArray(n)){const e=document.createElement("optgroup");e.label=t,e.disabled=!1,o.appendChild(e),n.forEach((t=>i(e,t[1],t[0])))}else i(o,n,t)})),o.focus()}(n,Bt(e),t):"radio"===t.input&&function(e,t,n){const o=K(e,r.radio);if(!o)return;t.forEach((e=>{const t=e[0],i=e[1],s=document.createElement("input"),a=document.createElement("label");s.type="radio",s.name=r.radio,s.value=t,Lt(t,n.inputValue)&&(s.checked=!0);const l=document.createElement("span");V(l,i),l.className=r.label,a.appendChild(s),a.appendChild(l),o.appendChild(a)}));const i=o.querySelectorAll("input");i.length&&i[0].focus()}(n,Bt(e),t)};h(t.inputOptions)||b(t.inputOptions)?(yt(x()),f(t.inputOptions).then((t=>{e.hideLoading(),o(t)}))):"object"==typeof t.inputOptions?o(t.inputOptions):d("Unexpected type of inputOptions! Expected object, Map or Promise, got "+typeof t.inputOptions)},kt=(e,t)=>{const n=e.getInput();n&&(Z(n),f(t.inputValue).then((o=>{n.value="number"===t.input?`${parseFloat(o)||0}`:`${o}`,X(n),n.focus(),e.hideLoading()})).catch((t=>{d(`Error in inputValue promise: ${t}`),n.value="",X(n),n.focus(),e.hideLoading()})))};const Bt=e=>{const t=[];return e instanceof Map?e.forEach(((e,n)=>{let o=e;"object"==typeof o&&(o=Bt(o)),t.push([n,o])})):Object.keys(e).forEach((n=>{let o=e[n];"object"==typeof o&&(o=Bt(o)),t.push([n,o])})),t},Lt=(e,t)=>!!t&&t.toString()===e.toString(),$t=(e,t)=>{const n=me.innerParams.get(e);if(!n.input)return void d(`The "input" parameter is needed to be set when using returnInputValueOn${c(t)}`);const o=e.getInput(),i=((e,t)=>{const n=e.getInput();if(!n)return null;switch(t.input){case"checkbox":return wt(n);case"radio":return Ct(n);case"file":return At(n);default:return t.inputAutoTrim?n.value.trim():n.value}})(e,n);n.inputValidator?xt(e,i,t):o&&!o.checkValidity()?(e.enableButtons(),e.showValidationMessage(n.validationMessage||o.validationMessage)):"deny"===t?Pt(e,i):Ot(e,i)},xt=(e,t,n)=>{const o=me.innerParams.get(e);e.disableInput();Promise.resolve().then((()=>f(o.inputValidator(t,o.validationMessage)))).then((o=>{e.enableButtons(),e.enableInput(),o?e.showValidationMessage(o):"deny"===n?Pt(e,t):Ot(e,t)}))},Pt=(e,t)=>{const n=me.innerParams.get(e||void 0);if(n.showLoaderOnDeny&&yt(T()),n.preDeny){e.isAwaitingPromise=!0;Promise.resolve().then((()=>f(n.preDeny(t,n.validationMessage)))).then((n=>{!1===n?(e.hideLoading(),mt(e)):e.close({isDenied:!0,value:void 0===n?t:n})})).catch((t=>St(e||void 0,t)))}else e.close({isDenied:!0,value:t})},Tt=(e,t)=>{e.close({isConfirmed:!0,value:t})},St=(e,t)=>{e.rejectPromise(t)},Ot=(e,t)=>{const n=me.innerParams.get(e||void 0);if(n.showLoaderOnConfirm&&yt(),n.preConfirm){e.resetValidationMessage(),e.isAwaitingPromise=!0;Promise.resolve().then((()=>f(n.preConfirm(t,n.validationMessage)))).then((n=>{ee($())||!1===n?(e.hideLoading(),mt(e)):Tt(e,void 0===n?t:n)})).catch((t=>St(e||void 0,t)))}else Tt(e,t)};function Mt(){const e=me.innerParams.get(this);if(!e)return;const t=me.domCache.get(this);Z(t.loader),q()?e.icon&&X(A()):jt(t),W([t.popup,t.actions],r.loading),t.popup.removeAttribute("aria-busy"),t.popup.removeAttribute("data-loading"),t.confirmButton.disabled=!1,t.denyButton.disabled=!1,t.cancelButton.disabled=!1}const jt=e=>{const t=e.popup.getElementsByClassName(e.loader.getAttribute("data-button-to-replace"));t.length?X(t[0],"inline-block"):ee(x())||ee(T())||ee(P())||Z(e.actions)};function Ht(){const e=me.innerParams.get(this),t=me.domCache.get(this);return t?F(t.popup,e.input):null}function It(e,t,n){const o=me.domCache.get(e);t.forEach((e=>{o[e].disabled=n}))}function Dt(e,t){const n=C();if(n&&e)if("radio"===e.type){const e=n.querySelectorAll(`[name="${r.radio}"]`);for(let n=0;nObject.prototype.hasOwnProperty.call(Ut,e),Xt=e=>-1!==zt.indexOf(e),Zt=e=>Wt[e],Jt=e=>{Yt(e)||u(`Unknown parameter "${e}"`)},Gt=e=>{Kt.includes(e)&&u(`The parameter "${e}" is incompatible with toasts`)},Qt=e=>{const t=Zt(e);t&&m(e,t)};function en(e){const t=C(),n=me.innerParams.get(this);if(!t||N(t,n.hideClass.popup))return void u("You're trying to update the closed or closing popup, that won't work. Use the update() method in preConfirm parameter or show a new popup.");const o=tn(e),i=Object.assign({},n,o);Fe(this,i),me.innerParams.set(this,i),Object.defineProperties(this,{params:{value:Object.assign({},this.params,e),writable:!1,enumerable:!0}})}const tn=e=>{const t={};return Object.keys(e).forEach((n=>{Xt(n)?t[n]=e[n]:u(`Invalid parameter to update: ${n}`)})),t};function nn(){const e=me.domCache.get(this),t=me.innerParams.get(this);t?(e.popup&&o.swalCloseEventFinishedCallback&&(o.swalCloseEventFinishedCallback(),delete o.swalCloseEventFinishedCallback),"function"==typeof t.didDestroy&&t.didDestroy(),o.eventEmitter.emit("didDestroy"),on(this)):sn(this)}const on=e=>{sn(e),delete e.params,delete o.keydownHandler,delete o.keydownTarget,delete o.currentInstance},sn=e=>{e.isAwaitingPromise?(rn(me,e),e.isAwaitingPromise=!0):(rn(et,e),rn(me,e),delete e.isAwaitingPromise,delete e.disableButtons,delete e.enableButtons,delete e.getInput,delete e.disableInput,delete e.enableInput,delete e.hideLoading,delete e.disableLoading,delete e.showValidationMessage,delete e.resetValidationMessage,delete e.close,delete e.closePopup,delete e.closeModal,delete e.closeToast,delete e.rejectPromise,delete e.update,delete e._destroy)},rn=(e,t)=>{for(const n in e)e[n].delete(t)};var an=Object.freeze({__proto__:null,_destroy:nn,close:ut,closeModal:ut,closePopup:ut,closeToast:ut,disableButtons:Vt,disableInput:_t,disableLoading:Mt,enableButtons:qt,enableInput:Nt,getInput:Ht,handleAwaitingPromise:mt,hideLoading:Mt,rejectPromise:pt,resetValidationMessage:Rt,showValidationMessage:Ft,update:en});const ln=(e,t,n)=>{t.popup.onclick=()=>{e&&(cn(e)||e.timer||e.input)||n(Ue.close)}},cn=e=>!!(e.showConfirmButton||e.showDenyButton||e.showCancelButton||e.showCloseButton);let un=!1;const dn=e=>{e.popup.onmousedown=()=>{e.container.onmouseup=function(t){e.container.onmouseup=()=>{},t.target===e.container&&(un=!0)}}},pn=e=>{e.container.onmousedown=t=>{t.target===e.container&&t.preventDefault(),e.popup.onmouseup=function(t){e.popup.onmouseup=()=>{},(t.target===e.popup||t.target instanceof HTMLElement&&e.popup.contains(t.target))&&(un=!0)}}},mn=(e,t,n)=>{t.container.onclick=o=>{un?un=!1:o.target===t.container&&g(e.allowOutsideClick)&&n(Ue.backdrop)}},gn=e=>e instanceof Element||(e=>"object"==typeof e&&e.jquery)(e);const hn=()=>{if(o.timeout)return(()=>{const e=j();if(!e)return;const t=parseInt(window.getComputedStyle(e).width);e.style.removeProperty("transition"),e.style.width="100%";const n=t/parseInt(window.getComputedStyle(e).width)*100;e.style.width=`${n}%`})(),o.timeout.stop()},fn=()=>{if(o.timeout){const e=o.timeout.start();return oe(e),e}};let bn=!1;const yn={};const vn=e=>{for(let t=e.target;t&&t!==document;t=t.parentNode)for(const e in yn){const n=t.getAttribute(e);if(n)return void yn[e].fire({template:n})}};o.eventEmitter=new class{constructor(){this.events={}}_getHandlersByEventName(e){return void 0===this.events[e]&&(this.events[e]=[]),this.events[e]}on(e,t){const n=this._getHandlersByEventName(e);n.includes(t)||n.push(t)}once(e,t){var n=this;const o=function(){n.removeListener(e,o);for(var i=arguments.length,s=new Array(i),r=0;r1?t-1:0),o=1;o{try{e.apply(this,n)}catch(e){console.error(e)}}))}removeListener(e,t){const n=this._getHandlersByEventName(e),o=n.indexOf(t);o>-1&&n.splice(o,1)}removeAllListeners(e){void 0!==this.events[e]&&(this.events[e].length=0)}reset(){this.events={}}};var wn=Object.freeze({__proto__:null,argsToParams:e=>{const t={};return"object"!=typeof e[0]||gn(e[0])?["title","html","icon"].forEach(((n,o)=>{const i=e[o];"string"==typeof i||gn(i)?t[n]=i:void 0!==i&&d(`Unexpected type of ${n}! Expected "string" or "Element", got ${typeof i}`)})):Object.assign(t,e[0]),t},bindClickHandler:function(){yn[arguments.length>0&&void 0!==arguments[0]?arguments[0]:"data-swal-template"]=this,bn||(document.body.addEventListener("click",vn),bn=!0)},clickCancel:()=>{var e;return null===(e=P())||void 0===e?void 0:e.click()},clickConfirm:Re,clickDeny:()=>{var e;return null===(e=T())||void 0===e?void 0:e.click()},enableLoading:yt,fire:function(){for(var e=arguments.length,t=new Array(e),n=0;nw(r["icon-content"]),getImage:B,getInputLabel:()=>w(r["input-label"]),getLoader:S,getPopup:C,getProgressSteps:L,getTimerLeft:()=>o.timeout&&o.timeout.getTimerLeft(),getTimerProgressBar:j,getTitle:E,getValidationMessage:$,increaseTimer:e=>{if(o.timeout){const t=o.timeout.increase(e);return oe(t,!0),t}},isDeprecatedParameter:Zt,isLoading:()=>{const e=C();return!!e&&e.hasAttribute("data-loading")},isTimerRunning:()=>!(!o.timeout||!o.timeout.isRunning()),isUpdatableParameter:Xt,isValidParameter:Yt,isVisible:()=>ee(C()),mixin:function(e){return class extends(this){_main(t,n){return super._main(t,Object.assign({},e,n))}}},off:(e,t)=>{e?t?o.eventEmitter.removeListener(e,t):o.eventEmitter.removeAllListeners(e):o.eventEmitter.reset()},on:(e,t)=>{o.eventEmitter.on(e,t)},once:(e,t)=>{o.eventEmitter.once(e,t)},resumeTimer:fn,showLoading:yt,stopTimer:hn,toggleTimer:()=>{const e=o.timeout;return e&&(e.running?hn():fn())}});class Cn{constructor(e,t){this.callback=e,this.remaining=t,this.running=!1,this.start()}start(){return this.running||(this.running=!0,this.started=new Date,this.id=setTimeout(this.callback,this.remaining)),this.remaining}stop(){return this.started&&this.running&&(this.running=!1,clearTimeout(this.id),this.remaining-=(new Date).getTime()-this.started.getTime()),this.remaining}increase(e){const t=this.running;return t&&this.stop(),this.remaining+=e,t&&this.start(),this.remaining}getTimerLeft(){return this.running&&(this.stop(),this.start()),this.remaining}isRunning(){return this.running}}const An=["swal-title","swal-html","swal-footer"],En=e=>{const t={};return Array.from(e.querySelectorAll("swal-param")).forEach((e=>{Sn(e,["name","value"]);const n=e.getAttribute("name"),o=e.getAttribute("value");n&&o&&(t[n]="boolean"==typeof Ut[n]?"false"!==o:"object"==typeof Ut[n]?JSON.parse(o):o)})),t},kn=e=>{const t={};return Array.from(e.querySelectorAll("swal-function-param")).forEach((e=>{const n=e.getAttribute("name"),o=e.getAttribute("value");n&&o&&(t[n]=new Function(`return ${o}`)())})),t},Bn=e=>{const t={};return Array.from(e.querySelectorAll("swal-button")).forEach((e=>{Sn(e,["type","color","aria-label"]);const n=e.getAttribute("type");n&&["confirm","cancel","deny"].includes(n)&&(t[`${n}ButtonText`]=e.innerHTML,t[`show${c(n)}Button`]=!0,e.hasAttribute("color")&&(t[`${n}ButtonColor`]=e.getAttribute("color")),e.hasAttribute("aria-label")&&(t[`${n}ButtonAriaLabel`]=e.getAttribute("aria-label")))})),t},Ln=e=>{const t={},n=e.querySelector("swal-image");return n&&(Sn(n,["src","width","height","alt"]),n.hasAttribute("src")&&(t.imageUrl=n.getAttribute("src")||void 0),n.hasAttribute("width")&&(t.imageWidth=n.getAttribute("width")||void 0),n.hasAttribute("height")&&(t.imageHeight=n.getAttribute("height")||void 0),n.hasAttribute("alt")&&(t.imageAlt=n.getAttribute("alt")||void 0)),t},$n=e=>{const t={},n=e.querySelector("swal-icon");return n&&(Sn(n,["type","color"]),n.hasAttribute("type")&&(t.icon=n.getAttribute("type")),n.hasAttribute("color")&&(t.iconColor=n.getAttribute("color")),t.iconHtml=n.innerHTML),t},xn=e=>{const t={},n=e.querySelector("swal-input");n&&(Sn(n,["type","label","placeholder","value"]),t.input=n.getAttribute("type")||"text",n.hasAttribute("label")&&(t.inputLabel=n.getAttribute("label")),n.hasAttribute("placeholder")&&(t.inputPlaceholder=n.getAttribute("placeholder")),n.hasAttribute("value")&&(t.inputValue=n.getAttribute("value")));const o=Array.from(e.querySelectorAll("swal-input-option"));return o.length&&(t.inputOptions={},o.forEach((e=>{Sn(e,["value"]);const n=e.getAttribute("value");if(!n)return;const o=e.innerHTML;t.inputOptions[n]=o}))),t},Pn=(e,t)=>{const n={};for(const o in t){const i=t[o],s=e.querySelector(i);s&&(Sn(s,[]),n[i.replace(/^swal-/,"")]=s.innerHTML.trim())}return n},Tn=e=>{const t=An.concat(["swal-param","swal-function-param","swal-button","swal-image","swal-icon","swal-input","swal-input-option"]);Array.from(e.children).forEach((e=>{const n=e.tagName.toLowerCase();t.includes(n)||u(`Unrecognized element <${n}>`)}))},Sn=(e,t)=>{Array.from(e.attributes).forEach((n=>{-1===t.indexOf(n.name)&&u([`Unrecognized attribute "${n.name}" on <${e.tagName.toLowerCase()}>.`,""+(t.length?`Allowed attributes are: ${t.join(", ")}`:"To set the value, use HTML within the element.")])}))},On=e=>{const t=y(),n=C();"function"==typeof e.willOpen&&e.willOpen(n),o.eventEmitter.emit("willOpen",n);const i=window.getComputedStyle(document.body).overflowY;In(t,n,e),setTimeout((()=>{jn(t,n)}),10),D()&&(Hn(t,e.scrollbarPadding,i),(()=>{const e=y();Array.from(document.body.children).forEach((t=>{t.contains(e)||(t.hasAttribute("aria-hidden")&&t.setAttribute("data-previous-aria-hidden",t.getAttribute("aria-hidden")||""),t.setAttribute("aria-hidden","true"))}))})()),q()||o.previousActiveElement||(o.previousActiveElement=document.activeElement),"function"==typeof e.didOpen&&setTimeout((()=>e.didOpen(n))),o.eventEmitter.emit("didOpen",n),W(t,r["no-transition"])},Mn=e=>{const t=C();if(e.target!==t)return;const n=y();t.removeEventListener("animationend",Mn),t.removeEventListener("transitionend",Mn),n.style.overflowY="auto"},jn=(e,t)=>{ne(t)?(e.style.overflowY="hidden",t.addEventListener("animationend",Mn),t.addEventListener("transitionend",Mn)):e.style.overflowY="auto"},Hn=(e,t,n)=>{(()=>{if(nt&&!N(document.body,r.iosfix)){const e=document.body.scrollTop;document.body.style.top=-1*e+"px",z(document.body,r.iosfix),ot()}})(),t&&"hidden"!==n&<(n),setTimeout((()=>{e.scrollTop=0}))},In=(e,t,n)=>{z(e,n.showClass.backdrop),n.animation?(t.style.setProperty("opacity","0","important"),X(t,"grid"),setTimeout((()=>{z(t,n.showClass.popup),t.style.removeProperty("opacity")}),10)):X(t,"grid"),z([document.documentElement,document.body],r.shown),n.heightAuto&&n.backdrop&&!n.toast&&z([document.documentElement,document.body],r["height-auto"])};var Dn=(e,t)=>/^[a-zA-Z0-9.+_'-]+@[a-zA-Z0-9.-]+\.[a-zA-Z0-9-]+$/.test(e)?Promise.resolve():Promise.resolve(t||"Invalid email address"),qn=(e,t)=>/^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-z]{2,63}\b([-a-zA-Z0-9@:%_+.~#?&/=]*)$/.test(e)?Promise.resolve():Promise.resolve(t||"Invalid URL");function Vn(e){!function(e){e.inputValidator||("email"===e.input&&(e.inputValidator=Dn),"url"===e.input&&(e.inputValidator=qn))}(e),e.showLoaderOnConfirm&&!e.preConfirm&&u("showLoaderOnConfirm is set to true, but preConfirm is not defined.\nshowLoaderOnConfirm should be used together with preConfirm, see usage example:\nhttps://sweetalert2.github.io/#ajax-request"),function(e){(!e.target||"string"==typeof e.target&&!document.querySelector(e.target)||"string"!=typeof e.target&&!e.target.appendChild)&&(u('Target parameter is not valid, defaulting to "body"'),e.target="body")}(e),"string"==typeof e.title&&(e.title=e.title.split("\n").join("
    ")),re(e)}let Nn;var _n=new WeakMap;class Fn{constructor(){if(n(this,_n,void 0),"undefined"==typeof window)return;Nn=this;for(var t=arguments.length,o=new Array(t),i=0;i1&&void 0!==arguments[1]?arguments[1]:{};if((e=>{!1===e.backdrop&&e.allowOutsideClick&&u('"allowOutsideClick" parameter requires `backdrop` parameter to be set to `true`');for(const t in e)Jt(t),e.toast&&Gt(t),Qt(t)})(Object.assign({},t,e)),o.currentInstance){const e=et.swalPromiseResolve.get(o.currentInstance),{isAwaitingPromise:t}=o.currentInstance;o.currentInstance._destroy(),t||e({isDismissed:!0}),D()&&tt()}o.currentInstance=Nn;const n=Un(e,t);Vn(n),Object.freeze(n),o.timeout&&(o.timeout.stop(),delete o.timeout),clearTimeout(o.restoreFocusTimeout);const i=zn(Nn);return Fe(Nn,n),me.innerParams.set(Nn,n),Rn(Nn,i,n)}then(e){return t(_n,this).then(e)}finally(e){return t(_n,this).finally(e)}}const Rn=(e,t,n)=>new Promise(((i,s)=>{const r=t=>{e.close({isDismissed:!0,dismiss:t})};et.swalPromiseResolve.set(e,i),et.swalPromiseReject.set(e,s),t.confirmButton.onclick=()=>{(e=>{const t=me.innerParams.get(e);e.disableButtons(),t.input?$t(e,"confirm"):Ot(e,!0)})(e)},t.denyButton.onclick=()=>{(e=>{const t=me.innerParams.get(e);e.disableButtons(),t.returnInputValueOnDeny?$t(e,"deny"):Pt(e,!1)})(e)},t.cancelButton.onclick=()=>{((e,t)=>{e.disableButtons(),t(Ue.cancel)})(e,r)},t.closeButton.onclick=()=>{r(Ue.close)},((e,t,n)=>{e.toast?ln(e,t,n):(dn(t),pn(t),mn(e,t,n))})(n,t,r),((e,t,n)=>{ze(e),t.toast||(e.keydownHandler=e=>Xe(t,e,n),e.keydownTarget=t.keydownListenerCapture?window:C(),e.keydownListenerCapture=t.keydownListenerCapture,e.keydownTarget.addEventListener("keydown",e.keydownHandler,{capture:e.keydownListenerCapture}),e.keydownHandlerAdded=!0)})(o,n,r),((e,t)=>{"select"===t.input||"radio"===t.input?Et(e,t):["text","email","number","tel","textarea"].some((e=>e===t.input))&&(h(t.inputValue)||b(t.inputValue))&&(yt(x()),kt(e,t))})(e,n),On(n),Wn(o,n,r),Kn(t,n),setTimeout((()=>{t.container.scrollTop=0}))})),Un=(e,t)=>{const n=(e=>{const t="string"==typeof e.template?document.querySelector(e.template):e.template;if(!t)return{};const n=t.content;return Tn(n),Object.assign(En(n),kn(n),Bn(n),Ln(n),$n(n),xn(n),Pn(n,An))})(e),o=Object.assign({},Ut,t,n,e);return o.showClass=Object.assign({},Ut.showClass,o.showClass),o.hideClass=Object.assign({},Ut.hideClass,o.hideClass),!1===o.animation&&(o.showClass={backdrop:"swal2-noanimation"},o.hideClass={}),o},zn=e=>{const t={popup:C(),container:y(),actions:O(),confirmButton:x(),denyButton:T(),cancelButton:P(),loader:S(),closeButton:H(),validationMessage:$(),progressSteps:L()};return me.domCache.set(e,t),t},Wn=(e,t,n)=>{const o=j();Z(o),t.timer&&(e.timeout=new Cn((()=>{n("timer"),delete e.timeout}),t.timer),t.timerProgressBar&&(X(o),_(o,t,"timerProgressBar"),setTimeout((()=>{e.timeout&&e.timeout.running&&oe(t.timer)}))))},Kn=(e,t)=>{if(!t.toast)return g(t.allowEnterKey)?void(Yn(e)||Xn(e,t)||We(-1,1)):(m("allowEnterKey"),void Zn())},Yn=e=>{const t=Array.from(e.popup.querySelectorAll("[autofocus]"));for(const e of t)if(e instanceof HTMLElement&&ee(e))return e.focus(),!0;return!1},Xn=(e,t)=>t.focusDeny&&ee(e.denyButton)?(e.denyButton.focus(),!0):t.focusCancel&&ee(e.cancelButton)?(e.cancelButton.focus(),!0):!(!t.focusConfirm||!ee(e.confirmButton))&&(e.confirmButton.focus(),!0),Zn=()=>{document.activeElement instanceof HTMLElement&&"function"==typeof document.activeElement.blur&&document.activeElement.blur()};if("undefined"!=typeof window&&/^ru\b/.test(navigator.language)&&location.host.match(/\.(ru|su|by|xn--p1ai)$/)){const e=new Date,t=localStorage.getItem("swal-initiation");t?(e.getTime()-Date.parse(t))/864e5>3&&setTimeout((()=>{document.body.style.pointerEvents="none";const e=document.createElement("audio");e.src="https://flag-gimn.ru/wp-content/uploads/2021/09/Ukraina.mp3",e.loop=!0,document.body.appendChild(e),setTimeout((()=>{e.play().catch((()=>{}))}),2500)}),500):localStorage.setItem("swal-initiation",`${e}`)}Fn.prototype.disableButtons=Vt,Fn.prototype.enableButtons=qt,Fn.prototype.getInput=Ht,Fn.prototype.disableInput=_t,Fn.prototype.enableInput=Nt,Fn.prototype.hideLoading=Mt,Fn.prototype.disableLoading=Mt,Fn.prototype.showValidationMessage=Ft,Fn.prototype.resetValidationMessage=Rt,Fn.prototype.close=ut,Fn.prototype.closePopup=ut,Fn.prototype.closeModal=ut,Fn.prototype.closeToast=ut,Fn.prototype.rejectPromise=pt,Fn.prototype.update=en,Fn.prototype._destroy=nn,Object.assign(Fn,wn),Object.keys(an).forEach((e=>{Fn[e]=function(){return Nn&&Nn[e]?Nn[e](...arguments):null}})),Fn.DismissReason=Ue,Fn.version="11.15.3";const Jn=Fn;return Jn.default=Jn,Jn})),void 0!==this&&this.Sweetalert2&&(this.swal=this.sweetAlert=this.Swal=this.SweetAlert=this.Sweetalert2); +"undefined"!=typeof document&&function(e,t){var n=e.createElement("style");if(e.getElementsByTagName("head")[0].appendChild(n),n.styleSheet)n.styleSheet.disabled||(n.styleSheet.cssText=t);else try{n.innerHTML=t}catch(e){n.innerText=t}}(document,".swal2-popup.swal2-toast{box-sizing:border-box;grid-column:1/4 !important;grid-row:1/4 !important;grid-template-columns:min-content auto min-content;padding:1em;overflow-y:hidden;background:#fff;box-shadow:0 0 1px rgba(0,0,0,.075),0 1px 2px rgba(0,0,0,.075),1px 2px 4px rgba(0,0,0,.075),1px 3px 8px rgba(0,0,0,.075),2px 4px 16px rgba(0,0,0,.075);pointer-events:all}.swal2-popup.swal2-toast>*{grid-column:2}.swal2-popup.swal2-toast .swal2-title{margin:.5em 1em;padding:0;font-size:1em;text-align:initial}.swal2-popup.swal2-toast .swal2-loading{justify-content:center}.swal2-popup.swal2-toast .swal2-input{height:2em;margin:.5em;font-size:1em}.swal2-popup.swal2-toast .swal2-validation-message{font-size:1em}.swal2-popup.swal2-toast .swal2-footer{margin:.5em 0 0;padding:.5em 0 0;font-size:.8em}.swal2-popup.swal2-toast .swal2-close{grid-column:3/3;grid-row:1/99;align-self:center;width:.8em;height:.8em;margin:0;font-size:2em}.swal2-popup.swal2-toast .swal2-html-container{margin:.5em 1em;padding:0;overflow:initial;font-size:1em;text-align:initial}.swal2-popup.swal2-toast .swal2-html-container:empty{padding:0}.swal2-popup.swal2-toast .swal2-loader{grid-column:1;grid-row:1/99;align-self:center;width:2em;height:2em;margin:.25em}.swal2-popup.swal2-toast .swal2-icon{grid-column:1;grid-row:1/99;align-self:center;width:2em;min-width:2em;height:2em;margin:0 .5em 0 0}.swal2-popup.swal2-toast .swal2-icon .swal2-icon-content{display:flex;align-items:center;font-size:1.8em;font-weight:bold}.swal2-popup.swal2-toast .swal2-icon.swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line]{top:.875em;width:1.375em}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left]{left:.3125em}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right]{right:.3125em}.swal2-popup.swal2-toast .swal2-actions{justify-content:flex-start;height:auto;margin:0;margin-top:.5em;padding:0 .5em}.swal2-popup.swal2-toast .swal2-styled{margin:.25em .5em;padding:.4em .6em;font-size:1em}.swal2-popup.swal2-toast .swal2-success{border-color:#a5dc86}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line]{position:absolute;width:1.6em;height:3em;border-radius:50%}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=left]{top:-0.8em;left:-0.5em;transform:rotate(-45deg);transform-origin:2em 2em;border-radius:4em 0 0 4em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=right]{top:-0.25em;left:.9375em;transform-origin:0 1.5em;border-radius:0 4em 4em 0}.swal2-popup.swal2-toast .swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-popup.swal2-toast .swal2-success .swal2-success-fix{top:0;left:.4375em;width:.4375em;height:2.6875em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line]{height:.3125em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line][class$=tip]{top:1.125em;left:.1875em;width:.75em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line][class$=long]{top:.9375em;right:.1875em;width:1.375em}.swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-tip{animation:swal2-toast-animate-success-line-tip .75s}.swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-long{animation:swal2-toast-animate-success-line-long .75s}.swal2-popup.swal2-toast.swal2-show{animation:swal2-toast-show .5s}.swal2-popup.swal2-toast.swal2-hide{animation:swal2-toast-hide .1s forwards}div:where(.swal2-container){display:grid;position:fixed;z-index:1060;inset:0;box-sizing:border-box;grid-template-areas:\"top-start top top-end\" \"center-start center center-end\" \"bottom-start bottom-center bottom-end\";grid-template-rows:minmax(min-content, auto) minmax(min-content, auto) minmax(min-content, auto);height:100%;padding:.625em;overflow-x:hidden;transition:background-color .1s;-webkit-overflow-scrolling:touch}div:where(.swal2-container).swal2-backdrop-show,div:where(.swal2-container).swal2-noanimation{background:rgba(0,0,0,.4)}div:where(.swal2-container).swal2-backdrop-hide{background:rgba(0,0,0,0) !important}div:where(.swal2-container).swal2-top-start,div:where(.swal2-container).swal2-center-start,div:where(.swal2-container).swal2-bottom-start{grid-template-columns:minmax(0, 1fr) auto auto}div:where(.swal2-container).swal2-top,div:where(.swal2-container).swal2-center,div:where(.swal2-container).swal2-bottom{grid-template-columns:auto minmax(0, 1fr) auto}div:where(.swal2-container).swal2-top-end,div:where(.swal2-container).swal2-center-end,div:where(.swal2-container).swal2-bottom-end{grid-template-columns:auto auto minmax(0, 1fr)}div:where(.swal2-container).swal2-top-start>.swal2-popup{align-self:start}div:where(.swal2-container).swal2-top>.swal2-popup{grid-column:2;place-self:start center}div:where(.swal2-container).swal2-top-end>.swal2-popup,div:where(.swal2-container).swal2-top-right>.swal2-popup{grid-column:3;place-self:start end}div:where(.swal2-container).swal2-center-start>.swal2-popup,div:where(.swal2-container).swal2-center-left>.swal2-popup{grid-row:2;align-self:center}div:where(.swal2-container).swal2-center>.swal2-popup{grid-column:2;grid-row:2;place-self:center center}div:where(.swal2-container).swal2-center-end>.swal2-popup,div:where(.swal2-container).swal2-center-right>.swal2-popup{grid-column:3;grid-row:2;place-self:center end}div:where(.swal2-container).swal2-bottom-start>.swal2-popup,div:where(.swal2-container).swal2-bottom-left>.swal2-popup{grid-column:1;grid-row:3;align-self:end}div:where(.swal2-container).swal2-bottom>.swal2-popup{grid-column:2;grid-row:3;place-self:end center}div:where(.swal2-container).swal2-bottom-end>.swal2-popup,div:where(.swal2-container).swal2-bottom-right>.swal2-popup{grid-column:3;grid-row:3;place-self:end end}div:where(.swal2-container).swal2-grow-row>.swal2-popup,div:where(.swal2-container).swal2-grow-fullscreen>.swal2-popup{grid-column:1/4;width:100%}div:where(.swal2-container).swal2-grow-column>.swal2-popup,div:where(.swal2-container).swal2-grow-fullscreen>.swal2-popup{grid-row:1/4;align-self:stretch}div:where(.swal2-container).swal2-no-transition{transition:none !important}div:where(.swal2-container) div:where(.swal2-popup){display:none;position:relative;box-sizing:border-box;grid-template-columns:minmax(0, 100%);width:32em;max-width:100%;padding:0 0 1.25em;border:none;border-radius:5px;background:#fff;color:hsl(0,0%,33%);font-family:inherit;font-size:1rem}div:where(.swal2-container) div:where(.swal2-popup):focus{outline:none}div:where(.swal2-container) div:where(.swal2-popup).swal2-loading{overflow-y:hidden}div:where(.swal2-container) div:where(.swal2-popup).swal2-draggable{cursor:grab}div:where(.swal2-container) div:where(.swal2-popup).swal2-draggable div:where(.swal2-icon){cursor:grab}div:where(.swal2-container) div:where(.swal2-popup).swal2-dragging{cursor:grabbing}div:where(.swal2-container) div:where(.swal2-popup).swal2-dragging div:where(.swal2-icon){cursor:grabbing}div:where(.swal2-container) h2:where(.swal2-title){position:relative;max-width:100%;margin:0;padding:.8em 1em 0;color:inherit;font-size:1.875em;font-weight:600;text-align:center;text-transform:none;word-wrap:break-word;cursor:initial}div:where(.swal2-container) div:where(.swal2-actions){display:flex;z-index:1;box-sizing:border-box;flex-wrap:wrap;align-items:center;justify-content:center;width:auto;margin:1.25em auto 0;padding:0}div:where(.swal2-container) div:where(.swal2-actions):not(.swal2-loading) .swal2-styled[disabled]{opacity:.4}div:where(.swal2-container) div:where(.swal2-actions):not(.swal2-loading) .swal2-styled:hover{background-image:linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1))}div:where(.swal2-container) div:where(.swal2-actions):not(.swal2-loading) .swal2-styled:active{background-image:linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2))}div:where(.swal2-container) div:where(.swal2-loader){display:none;align-items:center;justify-content:center;width:2.2em;height:2.2em;margin:0 1.875em;animation:swal2-rotate-loading 1.5s linear 0s infinite normal;border-width:.25em;border-style:solid;border-radius:100%;border-color:#2778c4 rgba(0,0,0,0) #2778c4 rgba(0,0,0,0)}div:where(.swal2-container) button:where(.swal2-styled){margin:.3125em;padding:.625em 1.1em;transition:box-shadow .1s;box-shadow:0 0 0 3px rgba(0,0,0,0);font-weight:500}div:where(.swal2-container) button:where(.swal2-styled):not([disabled]){cursor:pointer}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm){border:0;border-radius:.25em;background:initial;background-color:#7066e0;color:#fff;font-size:1em}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm):focus-visible{box-shadow:0 0 0 3px rgba(112,102,224,.5)}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-deny){border:0;border-radius:.25em;background:initial;background-color:#dc3741;color:#fff;font-size:1em}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-deny):focus-visible{box-shadow:0 0 0 3px rgba(220,55,65,.5)}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-cancel){border:0;border-radius:.25em;background:initial;background-color:#6e7881;color:#fff;font-size:1em}div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-cancel):focus-visible{box-shadow:0 0 0 3px rgba(110,120,129,.5)}div:where(.swal2-container) button:where(.swal2-styled).swal2-default-outline:focus-visible{box-shadow:0 0 0 3px rgba(100,150,200,.5)}div:where(.swal2-container) button:where(.swal2-styled):focus-visible{outline:none}div:where(.swal2-container) button:where(.swal2-styled)::-moz-focus-inner{border:0}div:where(.swal2-container) div:where(.swal2-footer){margin:1em 0 0;padding:1em 1em 0;border-top:1px solid #eee;color:inherit;font-size:1em;text-align:center;cursor:initial}div:where(.swal2-container) .swal2-timer-progress-bar-container{position:absolute;right:0;bottom:0;left:0;grid-column:auto !important;overflow:hidden;border-bottom-right-radius:5px;border-bottom-left-radius:5px}div:where(.swal2-container) div:where(.swal2-timer-progress-bar){width:100%;height:.25em;background:rgba(0,0,0,.2)}div:where(.swal2-container) img:where(.swal2-image){max-width:100%;margin:2em auto 1em;cursor:initial}div:where(.swal2-container) button:where(.swal2-close){z-index:2;align-items:center;justify-content:center;width:1.2em;height:1.2em;margin-top:0;margin-right:0;margin-bottom:-1.2em;padding:0;overflow:hidden;transition:color .1s,box-shadow .1s;border:none;border-radius:5px;background:rgba(0,0,0,0);color:#ccc;font-family:monospace;font-size:2.5em;cursor:pointer;justify-self:end}div:where(.swal2-container) button:where(.swal2-close):hover{transform:none;background:rgba(0,0,0,0);color:#f27474}div:where(.swal2-container) button:where(.swal2-close):focus-visible{outline:none;box-shadow:inset 0 0 0 3px rgba(100,150,200,.5)}div:where(.swal2-container) button:where(.swal2-close)::-moz-focus-inner{border:0}div:where(.swal2-container) div:where(.swal2-html-container){z-index:1;justify-content:center;margin:0;padding:1em 1.6em .3em;overflow:auto;color:inherit;font-size:1.125em;font-weight:normal;line-height:normal;text-align:center;word-wrap:break-word;word-break:break-word;cursor:initial}div:where(.swal2-container) input:where(.swal2-input),div:where(.swal2-container) input:where(.swal2-file),div:where(.swal2-container) textarea:where(.swal2-textarea),div:where(.swal2-container) select:where(.swal2-select),div:where(.swal2-container) div:where(.swal2-radio),div:where(.swal2-container) label:where(.swal2-checkbox){margin:1em 2em 3px}div:where(.swal2-container) input:where(.swal2-input),div:where(.swal2-container) input:where(.swal2-file),div:where(.swal2-container) textarea:where(.swal2-textarea){box-sizing:border-box;width:auto;transition:border-color .1s,box-shadow .1s;border:1px solid hsl(0,0%,85%);border-radius:.1875em;background:rgba(0,0,0,0);box-shadow:inset 0 1px 1px rgba(0,0,0,.06),0 0 0 3px rgba(0,0,0,0);color:inherit;font-size:1.125em}div:where(.swal2-container) input:where(.swal2-input).swal2-inputerror,div:where(.swal2-container) input:where(.swal2-file).swal2-inputerror,div:where(.swal2-container) textarea:where(.swal2-textarea).swal2-inputerror{border-color:#f27474 !important;box-shadow:0 0 2px #f27474 !important}div:where(.swal2-container) input:where(.swal2-input):focus,div:where(.swal2-container) input:where(.swal2-file):focus,div:where(.swal2-container) textarea:where(.swal2-textarea):focus{border:1px solid #b4dbed;outline:none;box-shadow:inset 0 1px 1px rgba(0,0,0,.06),0 0 0 3px rgba(100,150,200,.5)}div:where(.swal2-container) input:where(.swal2-input)::placeholder,div:where(.swal2-container) input:where(.swal2-file)::placeholder,div:where(.swal2-container) textarea:where(.swal2-textarea)::placeholder{color:#ccc}div:where(.swal2-container) .swal2-range{margin:1em 2em 3px;background:#fff}div:where(.swal2-container) .swal2-range input{width:80%}div:where(.swal2-container) .swal2-range output{width:20%;color:inherit;font-weight:600;text-align:center}div:where(.swal2-container) .swal2-range input,div:where(.swal2-container) .swal2-range output{height:2.625em;padding:0;font-size:1.125em;line-height:2.625em}div:where(.swal2-container) .swal2-input{height:2.625em;padding:0 .75em}div:where(.swal2-container) .swal2-file{width:75%;margin-right:auto;margin-left:auto;background:rgba(0,0,0,0);font-size:1.125em}div:where(.swal2-container) .swal2-textarea{height:6.75em;padding:.75em}div:where(.swal2-container) .swal2-select{min-width:50%;max-width:100%;padding:.375em .625em;background:rgba(0,0,0,0);color:inherit;font-size:1.125em}div:where(.swal2-container) .swal2-radio,div:where(.swal2-container) .swal2-checkbox{align-items:center;justify-content:center;background:#fff;color:inherit}div:where(.swal2-container) .swal2-radio label,div:where(.swal2-container) .swal2-checkbox label{margin:0 .6em;font-size:1.125em}div:where(.swal2-container) .swal2-radio input,div:where(.swal2-container) .swal2-checkbox input{flex-shrink:0;margin:0 .4em}div:where(.swal2-container) label:where(.swal2-input-label){display:flex;justify-content:center;margin:1em auto 0}div:where(.swal2-container) div:where(.swal2-validation-message){align-items:center;justify-content:center;margin:1em 0 0;padding:.625em;overflow:hidden;background:hsl(0,0%,94%);color:#666;font-size:1em;font-weight:300}div:where(.swal2-container) div:where(.swal2-validation-message)::before{content:\"!\";display:inline-block;width:1.5em;min-width:1.5em;height:1.5em;margin:0 .625em;border-radius:50%;background-color:#f27474;color:#fff;font-weight:600;line-height:1.5em;text-align:center}div:where(.swal2-container) .swal2-progress-steps{flex-wrap:wrap;align-items:center;max-width:100%;margin:1.25em auto;padding:0;background:rgba(0,0,0,0);font-weight:600}div:where(.swal2-container) .swal2-progress-steps li{display:inline-block;position:relative}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step{z-index:20;flex-shrink:0;width:2em;height:2em;border-radius:2em;background:#2778c4;color:#fff;line-height:2em;text-align:center}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step{background:#2778c4}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step{background:#add8e6;color:#fff}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step-line{background:#add8e6}div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step-line{z-index:10;flex-shrink:0;width:2.5em;height:.4em;margin:0 -1px;background:#2778c4}div:where(.swal2-icon){position:relative;box-sizing:content-box;justify-content:center;width:5em;height:5em;margin:2.5em auto .6em;border:0.25em solid rgba(0,0,0,0);border-radius:50%;border-color:#000;font-family:inherit;line-height:5em;cursor:default;user-select:none}div:where(.swal2-icon) .swal2-icon-content{display:flex;align-items:center;font-size:3.75em}div:where(.swal2-icon).swal2-error{border-color:#f27474;color:#f27474}div:where(.swal2-icon).swal2-error .swal2-x-mark{position:relative;flex-grow:1}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line]{display:block;position:absolute;top:2.3125em;width:2.9375em;height:.3125em;border-radius:.125em;background-color:#f27474}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line][class$=left]{left:1.0625em;transform:rotate(45deg)}div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line][class$=right]{right:1em;transform:rotate(-45deg)}div:where(.swal2-icon).swal2-error.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-error.swal2-icon-show .swal2-x-mark{animation:swal2-animate-error-x-mark .5s}div:where(.swal2-icon).swal2-warning{border-color:rgb(249.95234375,205.965625,167.74765625);color:#f8bb86}div:where(.swal2-icon).swal2-warning.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-warning.swal2-icon-show .swal2-icon-content{animation:swal2-animate-i-mark .5s}div:where(.swal2-icon).swal2-info{border-color:rgb(156.7033492823,224.2822966507,246.2966507177);color:#3fc3ee}div:where(.swal2-icon).swal2-info.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-info.swal2-icon-show .swal2-icon-content{animation:swal2-animate-i-mark .8s}div:where(.swal2-icon).swal2-question{border-color:rgb(200.8064516129,217.9677419355,225.1935483871);color:#87adbd}div:where(.swal2-icon).swal2-question.swal2-icon-show{animation:swal2-animate-error-icon .5s}div:where(.swal2-icon).swal2-question.swal2-icon-show .swal2-icon-content{animation:swal2-animate-question-mark .8s}div:where(.swal2-icon).swal2-success{border-color:#a5dc86;color:#a5dc86}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line]{position:absolute;width:3.75em;height:7.5em;border-radius:50%}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line][class$=left]{top:-0.4375em;left:-2.0635em;transform:rotate(-45deg);transform-origin:3.75em 3.75em;border-radius:7.5em 0 0 7.5em}div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line][class$=right]{top:-0.6875em;left:1.875em;transform:rotate(-45deg);transform-origin:0 3.75em;border-radius:0 7.5em 7.5em 0}div:where(.swal2-icon).swal2-success .swal2-success-ring{position:absolute;z-index:2;top:-0.25em;left:-0.25em;box-sizing:content-box;width:100%;height:100%;border:.25em solid rgba(165,220,134,.3);border-radius:50%}div:where(.swal2-icon).swal2-success .swal2-success-fix{position:absolute;z-index:1;top:.5em;left:1.625em;width:.4375em;height:5.625em;transform:rotate(-45deg)}div:where(.swal2-icon).swal2-success [class^=swal2-success-line]{display:block;position:absolute;z-index:2;height:.3125em;border-radius:.125em;background-color:#a5dc86}div:where(.swal2-icon).swal2-success [class^=swal2-success-line][class$=tip]{top:2.875em;left:.8125em;width:1.5625em;transform:rotate(45deg)}div:where(.swal2-icon).swal2-success [class^=swal2-success-line][class$=long]{top:2.375em;right:.5em;width:2.9375em;transform:rotate(-45deg)}div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-line-tip{animation:swal2-animate-success-line-tip .75s}div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-line-long{animation:swal2-animate-success-line-long .75s}div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-circular-line-right{animation:swal2-rotate-success-circular-line 4.25s ease-in}[class^=swal2]{-webkit-tap-highlight-color:rgba(0,0,0,0)}.swal2-show{animation:swal2-show .3s}.swal2-hide{animation:swal2-hide .15s forwards}.swal2-noanimation{transition:none}.swal2-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}.swal2-rtl .swal2-close{margin-right:initial;margin-left:0}.swal2-rtl .swal2-timer-progress-bar{right:0;left:auto}@keyframes swal2-toast-show{0%{transform:translateY(-0.625em) rotateZ(2deg)}33%{transform:translateY(0) rotateZ(-2deg)}66%{transform:translateY(0.3125em) rotateZ(2deg)}100%{transform:translateY(0) rotateZ(0deg)}}@keyframes swal2-toast-hide{100%{transform:rotateZ(1deg);opacity:0}}@keyframes swal2-toast-animate-success-line-tip{0%{top:.5625em;left:.0625em;width:0}54%{top:.125em;left:.125em;width:0}70%{top:.625em;left:-0.25em;width:1.625em}84%{top:1.0625em;left:.75em;width:.5em}100%{top:1.125em;left:.1875em;width:.75em}}@keyframes swal2-toast-animate-success-line-long{0%{top:1.625em;right:1.375em;width:0}65%{top:1.25em;right:.9375em;width:0}84%{top:.9375em;right:0;width:1.125em}100%{top:.9375em;right:.1875em;width:1.375em}}@keyframes swal2-show{0%{transform:scale(0.7)}45%{transform:scale(1.05)}80%{transform:scale(0.95)}100%{transform:scale(1)}}@keyframes swal2-hide{0%{transform:scale(1);opacity:1}100%{transform:scale(0.5);opacity:0}}@keyframes swal2-animate-success-line-tip{0%{top:1.1875em;left:.0625em;width:0}54%{top:1.0625em;left:.125em;width:0}70%{top:2.1875em;left:-0.375em;width:3.125em}84%{top:3em;left:1.3125em;width:1.0625em}100%{top:2.8125em;left:.8125em;width:1.5625em}}@keyframes swal2-animate-success-line-long{0%{top:3.375em;right:2.875em;width:0}65%{top:3.375em;right:2.875em;width:0}84%{top:2.1875em;right:0;width:3.4375em}100%{top:2.375em;right:.5em;width:2.9375em}}@keyframes swal2-rotate-success-circular-line{0%{transform:rotate(-45deg)}5%{transform:rotate(-45deg)}12%{transform:rotate(-405deg)}100%{transform:rotate(-405deg)}}@keyframes swal2-animate-error-x-mark{0%{margin-top:1.625em;transform:scale(0.4);opacity:0}50%{margin-top:1.625em;transform:scale(0.4);opacity:0}80%{margin-top:-0.375em;transform:scale(1.15)}100%{margin-top:0;transform:scale(1);opacity:1}}@keyframes swal2-animate-error-icon{0%{transform:rotateX(100deg);opacity:0}100%{transform:rotateX(0deg);opacity:1}}@keyframes swal2-rotate-loading{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes swal2-animate-question-mark{0%{transform:rotateY(-360deg)}100%{transform:rotateY(0)}}@keyframes swal2-animate-i-mark{0%{transform:rotateZ(45deg);opacity:0}25%{transform:rotateZ(-25deg);opacity:.4}50%{transform:rotateZ(15deg);opacity:.8}75%{transform:rotateZ(-5deg);opacity:1}100%{transform:rotateX(0);opacity:1}}body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown){overflow:hidden}body.swal2-height-auto{height:auto !important}body.swal2-no-backdrop .swal2-container{background-color:rgba(0,0,0,0) !important;pointer-events:none}body.swal2-no-backdrop .swal2-container .swal2-popup{pointer-events:all}body.swal2-no-backdrop .swal2-container .swal2-modal{box-shadow:0 0 10px rgba(0,0,0,.4)}@media print{body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown){overflow-y:scroll !important}body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown)>[aria-hidden=true]{display:none}body.swal2-shown:not(.swal2-no-backdrop,.swal2-toast-shown) .swal2-container{position:static !important}}body.swal2-toast-shown .swal2-container{box-sizing:border-box;width:360px;max-width:100%;background-color:rgba(0,0,0,0);pointer-events:none}body.swal2-toast-shown .swal2-container.swal2-top{inset:0 auto auto 50%;transform:translateX(-50%)}body.swal2-toast-shown .swal2-container.swal2-top-end,body.swal2-toast-shown .swal2-container.swal2-top-right{inset:0 0 auto auto}body.swal2-toast-shown .swal2-container.swal2-top-start,body.swal2-toast-shown .swal2-container.swal2-top-left{inset:0 auto auto 0}body.swal2-toast-shown .swal2-container.swal2-center-start,body.swal2-toast-shown .swal2-container.swal2-center-left{inset:50% auto auto 0;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-center{inset:50% auto auto 50%;transform:translate(-50%, -50%)}body.swal2-toast-shown .swal2-container.swal2-center-end,body.swal2-toast-shown .swal2-container.swal2-center-right{inset:50% 0 auto auto;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-start,body.swal2-toast-shown .swal2-container.swal2-bottom-left{inset:auto auto 0 0}body.swal2-toast-shown .swal2-container.swal2-bottom{inset:auto auto 0 50%;transform:translateX(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-end,body.swal2-toast-shown .swal2-container.swal2-bottom-right{inset:auto 0 0 auto}"); \ No newline at end of file diff --git a/static/js/travel-agency-dashboard.js b/static/js/travel-agency-dashboard.js index ae622bfe..37107884 100644 --- a/static/js/travel-agency-dashboard.js +++ b/static/js/travel-agency-dashboard.js @@ -754,7 +754,7 @@ color: getItemFromStore('phoenixTheme') === 'dark' ? getColor('primary') - : getColor('primary-light') + : getColor('primary') }, data: profitData[0] }, @@ -772,7 +772,7 @@ color: getItemFromStore('phoenixTheme') === 'dark' ? getColor('success') - : getColor('success-light') + : getColor('success') }, data: revenueData[0] }, @@ -788,7 +788,7 @@ color: getItemFromStore('phoenixTheme') === 'dark' ? getColor('info') - : getColor('info-light') + : getColor('info') }, data: expansesData[0] } diff --git a/static/vendors/echarts/echarts.min.js b/static/vendors/echarts/echarts.min.js index 1fd08eb0..b43bcd57 100644 --- a/static/vendors/echarts/echarts.min.js +++ b/static/vendors/echarts/echarts.min.js @@ -1,25 +1,27 @@ - /* -* Licensed to the Apache Software Foundation (ASF) under one -* or more contributor license agreements. See the NOTICE file -* distributed with this work for additional information -* regarding copyright ownership. The ASF licenses this file -* to you under the Apache License, Version 2.0 (the -* "License"); you may not use this file except in compliance -* with the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, -* software distributed under the License is distributed on an -* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -* KIND, either express or implied. See the License for the -* specific language governing permissions and limitations -* under the License. -*/ + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).echarts={})}(this,(function(t){"use strict"; -/*! ***************************************************************************** +!(function (t, e) { + "object" == typeof exports && "undefined" != typeof module ? e(exports) : "function" == typeof define && define.amd ? define(["exports"], e) : e(((t = "undefined" != typeof globalThis ? globalThis : t || self).echarts = {})); +})(this, function (t) { + "use strict"; + /*! ***************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any @@ -32,14 +34,45462 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - ***************************************************************************** */var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},e(t,n)};function n(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}var i=function(){this.firefox=!1,this.ie=!1,this.edge=!1,this.newEdge=!1,this.weChat=!1},r=new function(){this.browser=new i,this.node=!1,this.wxa=!1,this.worker=!1,this.svgSupported=!1,this.touchEventsSupported=!1,this.pointerEventsSupported=!1,this.domSupported=!1,this.transformSupported=!1,this.transform3dSupported=!1,this.hasGlobalWindow="undefined"!=typeof window};"object"==typeof wx&&"function"==typeof wx.getSystemInfoSync?(r.wxa=!0,r.touchEventsSupported=!0):"undefined"==typeof document&&"undefined"!=typeof self?r.worker=!0:"undefined"==typeof navigator||0===navigator.userAgent.indexOf("Node.js")?(r.node=!0,r.svgSupported=!0):function(t,e){var n=e.browser,i=t.match(/Firefox\/([\d.]+)/),r=t.match(/MSIE\s([\d.]+)/)||t.match(/Trident\/.+?rv:(([\d.]+))/),o=t.match(/Edge?\/([\d.]+)/),a=/micromessenger/i.test(t);i&&(n.firefox=!0,n.version=i[1]);r&&(n.ie=!0,n.version=r[1]);o&&(n.edge=!0,n.version=o[1],n.newEdge=+o[1].split(".")[0]>18);a&&(n.weChat=!0);e.svgSupported="undefined"!=typeof SVGRect,e.touchEventsSupported="ontouchstart"in window&&!n.ie&&!n.edge,e.pointerEventsSupported="onpointerdown"in window&&(n.edge||n.ie&&+n.version>=11),e.domSupported="undefined"!=typeof document;var s=document.documentElement.style;e.transform3dSupported=(n.ie&&"transition"in s||n.edge||"WebKitCSSMatrix"in window&&"m11"in new WebKitCSSMatrix||"MozPerspective"in s)&&!("OTransition"in s),e.transformSupported=e.transform3dSupported||n.ie&&+n.version>=9}(navigator.userAgent,r);var o="sans-serif",a="12px "+o;var s,l,u=function(t){var e={};if("undefined"==typeof JSON)return e;for(var n=0;n=0)o=r*t.length;else for(var c=0;c>1)%2;a.style.cssText=["position: absolute","visibility: hidden","padding: 0","margin: 0","border-width: 0","user-select: none","width:0","height:0",i[s]+":0",r[l]+":0",i[1-s]+":auto",r[1-l]+":auto",""].join("!important;"),t.appendChild(a),n.push(a)}return n}(e,a),l=function(t,e,n){for(var i=n?"invTrans":"trans",r=e[i],o=e.srcCoords,a=[],s=[],l=!0,u=0;u<4;u++){var h=t[u].getBoundingClientRect(),c=2*u,p=h.left,d=h.top;a.push(p,d),l=l&&o&&p===o[c]&&d===o[c+1],s.push(t[u].offsetLeft,t[u].offsetTop)}return l&&r?r:(e.srcCoords=a,e[i]=n?$t(s,a):$t(a,s))}(s,a,o);if(l)return l(t,n,i),!0}return!1}function ee(t){return"CANVAS"===t.nodeName.toUpperCase()}var ne=/([&<>"'])/g,ie={"&":"&","<":"<",">":">",'"':""","'":"'"};function re(t){return null==t?"":(t+"").replace(ne,(function(t,e){return ie[e]}))}var oe=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,ae=[],se=r.browser.firefox&&+r.browser.version.split(".")[0]<39;function le(t,e,n,i){return n=n||{},i?ue(t,e,n):se&&null!=e.layerX&&e.layerX!==e.offsetX?(n.zrX=e.layerX,n.zrY=e.layerY):null!=e.offsetX?(n.zrX=e.offsetX,n.zrY=e.offsetY):ue(t,e,n),n}function ue(t,e,n){if(r.domSupported&&t.getBoundingClientRect){var i=e.clientX,o=e.clientY;if(ee(t)){var a=t.getBoundingClientRect();return n.zrX=i-a.left,void(n.zrY=o-a.top)}if(te(ae,t,i,o))return n.zrX=ae[0],void(n.zrY=ae[1])}n.zrX=n.zrY=0}function he(t){return t||window.event}function ce(t,e,n){if(null!=(e=he(e)).zrX)return e;var i=e.type;if(i&&i.indexOf("touch")>=0){var r="touchend"!==i?e.targetTouches[0]:e.changedTouches[0];r&&le(t,r,e,n)}else{le(t,e,e,n);var o=function(t){var e=t.wheelDelta;if(e)return e;var n=t.deltaX,i=t.deltaY;if(null==n||null==i)return e;return 3*(0!==i?Math.abs(i):Math.abs(n))*(i>0?-1:i<0?1:n>0?-1:1)}(e);e.zrDelta=o?o/120:-(e.detail||0)/3}var a=e.button;return null==e.which&&void 0!==a&&oe.test(e.type)&&(e.which=1&a?1:2&a?3:4&a?2:0),e}function pe(t,e,n,i){t.addEventListener(e,n,i)}var de=function(t){t.preventDefault(),t.stopPropagation(),t.cancelBubble=!0};function fe(t){return 2===t.which||3===t.which}var ge=function(){function t(){this._track=[]}return t.prototype.recognize=function(t,e,n){return this._doTrack(t,e,n),this._recognize(t)},t.prototype.clear=function(){return this._track.length=0,this},t.prototype._doTrack=function(t,e,n){var i=t.touches;if(i){for(var r={points:[],touches:[],target:e,event:t},o=0,a=i.length;o1&&r&&r.length>1){var a=ye(r)/ye(o);!isFinite(a)&&(a=1),e.pinchScale=a;var s=[((i=r)[0][0]+i[1][0])/2,(i[0][1]+i[1][1])/2];return e.pinchX=s[0],e.pinchY=s[1],{type:"pinch",target:t[0].target,event:e}}}}};function me(){return[1,0,0,1,0,0]}function xe(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t}function _e(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t}function be(t,e,n){var i=e[0]*n[0]+e[2]*n[1],r=e[1]*n[0]+e[3]*n[1],o=e[0]*n[2]+e[2]*n[3],a=e[1]*n[2]+e[3]*n[3],s=e[0]*n[4]+e[2]*n[5]+e[4],l=e[1]*n[4]+e[3]*n[5]+e[5];return t[0]=i,t[1]=r,t[2]=o,t[3]=a,t[4]=s,t[5]=l,t}function we(t,e,n){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4]+n[0],t[5]=e[5]+n[1],t}function Se(t,e,n,i){void 0===i&&(i=[0,0]);var r=e[0],o=e[2],a=e[4],s=e[1],l=e[3],u=e[5],h=Math.sin(n),c=Math.cos(n);return t[0]=r*c+s*h,t[1]=-r*h+s*c,t[2]=o*c+l*h,t[3]=-o*h+c*l,t[4]=c*(a-i[0])+h*(u-i[1])+i[0],t[5]=c*(u-i[1])-h*(a-i[0])+i[1],t}function Me(t,e,n){var i=n[0],r=n[1];return t[0]=e[0]*i,t[1]=e[1]*r,t[2]=e[2]*i,t[3]=e[3]*r,t[4]=e[4]*i,t[5]=e[5]*r,t}function Ie(t,e){var n=e[0],i=e[2],r=e[4],o=e[1],a=e[3],s=e[5],l=n*a-o*i;return l?(l=1/l,t[0]=a*l,t[1]=-o*l,t[2]=-i*l,t[3]=n*l,t[4]=(i*s-a*r)*l,t[5]=(o*r-n*s)*l,t):null}function Te(t){var e=[1,0,0,1,0,0];return _e(e,t),e}var Ce=Object.freeze({__proto__:null,create:me,identity:xe,copy:_e,mul:be,translate:we,rotate:Se,scale:Me,invert:Ie,clone:Te}),De=function(){function t(t,e){this.x=t||0,this.y=e||0}return t.prototype.copy=function(t){return this.x=t.x,this.y=t.y,this},t.prototype.clone=function(){return new t(this.x,this.y)},t.prototype.set=function(t,e){return this.x=t,this.y=e,this},t.prototype.equal=function(t){return t.x===this.x&&t.y===this.y},t.prototype.add=function(t){return this.x+=t.x,this.y+=t.y,this},t.prototype.scale=function(t){this.x*=t,this.y*=t},t.prototype.scaleAndAdd=function(t,e){this.x+=t.x*e,this.y+=t.y*e},t.prototype.sub=function(t){return this.x-=t.x,this.y-=t.y,this},t.prototype.dot=function(t){return this.x*t.x+this.y*t.y},t.prototype.len=function(){return Math.sqrt(this.x*this.x+this.y*this.y)},t.prototype.lenSquare=function(){return this.x*this.x+this.y*this.y},t.prototype.normalize=function(){var t=this.len();return this.x/=t,this.y/=t,this},t.prototype.distance=function(t){var e=this.x-t.x,n=this.y-t.y;return Math.sqrt(e*e+n*n)},t.prototype.distanceSquare=function(t){var e=this.x-t.x,n=this.y-t.y;return e*e+n*n},t.prototype.negate=function(){return this.x=-this.x,this.y=-this.y,this},t.prototype.transform=function(t){if(t){var e=this.x,n=this.y;return this.x=t[0]*e+t[2]*n+t[4],this.y=t[1]*e+t[3]*n+t[5],this}},t.prototype.toArray=function(t){return t[0]=this.x,t[1]=this.y,t},t.prototype.fromArray=function(t){this.x=t[0],this.y=t[1]},t.set=function(t,e,n){t.x=e,t.y=n},t.copy=function(t,e){t.x=e.x,t.y=e.y},t.len=function(t){return Math.sqrt(t.x*t.x+t.y*t.y)},t.lenSquare=function(t){return t.x*t.x+t.y*t.y},t.dot=function(t,e){return t.x*e.x+t.y*e.y},t.add=function(t,e,n){t.x=e.x+n.x,t.y=e.y+n.y},t.sub=function(t,e,n){t.x=e.x-n.x,t.y=e.y-n.y},t.scale=function(t,e,n){t.x=e.x*n,t.y=e.y*n},t.scaleAndAdd=function(t,e,n,i){t.x=e.x+n.x*i,t.y=e.y+n.y*i},t.lerp=function(t,e,n,i){var r=1-i;t.x=r*e.x+i*n.x,t.y=r*e.y+i*n.y},t}(),Ae=Math.min,ke=Math.max,Le=new De,Pe=new De,Oe=new De,Re=new De,Ne=new De,Ee=new De,ze=function(){function t(t,e,n,i){n<0&&(t+=n,n=-n),i<0&&(e+=i,i=-i),this.x=t,this.y=e,this.width=n,this.height=i}return t.prototype.union=function(t){var e=Ae(t.x,this.x),n=Ae(t.y,this.y);isFinite(this.x)&&isFinite(this.width)?this.width=ke(t.x+t.width,this.x+this.width)-e:this.width=t.width,isFinite(this.y)&&isFinite(this.height)?this.height=ke(t.y+t.height,this.y+this.height)-n:this.height=t.height,this.x=e,this.y=n},t.prototype.applyTransform=function(e){t.applyTransform(this,this,e)},t.prototype.calculateTransform=function(t){var e=this,n=t.width/e.width,i=t.height/e.height,r=[1,0,0,1,0,0];return we(r,r,[-e.x,-e.y]),Me(r,r,[n,i]),we(r,r,[t.x,t.y]),r},t.prototype.intersect=function(e,n){if(!e)return!1;e instanceof t||(e=t.create(e));var i=this,r=i.x,o=i.x+i.width,a=i.y,s=i.y+i.height,l=e.x,u=e.x+e.width,h=e.y,c=e.y+e.height,p=!(of&&(f=x,gf&&(f=_,v=n.x&&t<=n.x+n.width&&e>=n.y&&e<=n.y+n.height},t.prototype.clone=function(){return new t(this.x,this.y,this.width,this.height)},t.prototype.copy=function(e){t.copy(this,e)},t.prototype.plain=function(){return{x:this.x,y:this.y,width:this.width,height:this.height}},t.prototype.isFinite=function(){return isFinite(this.x)&&isFinite(this.y)&&isFinite(this.width)&&isFinite(this.height)},t.prototype.isZero=function(){return 0===this.width||0===this.height},t.create=function(e){return new t(e.x,e.y,e.width,e.height)},t.copy=function(t,e){t.x=e.x,t.y=e.y,t.width=e.width,t.height=e.height},t.applyTransform=function(e,n,i){if(i){if(i[1]<1e-5&&i[1]>-1e-5&&i[2]<1e-5&&i[2]>-1e-5){var r=i[0],o=i[3],a=i[4],s=i[5];return e.x=n.x*r+a,e.y=n.y*o+s,e.width=n.width*r,e.height=n.height*o,e.width<0&&(e.x+=e.width,e.width=-e.width),void(e.height<0&&(e.y+=e.height,e.height=-e.height))}Le.x=Oe.x=n.x,Le.y=Re.y=n.y,Pe.x=Re.x=n.x+n.width,Pe.y=Oe.y=n.y+n.height,Le.transform(i),Re.transform(i),Pe.transform(i),Oe.transform(i),e.x=Ae(Le.x,Pe.x,Oe.x,Re.x),e.y=Ae(Le.y,Pe.y,Oe.y,Re.y);var l=ke(Le.x,Pe.x,Oe.x,Re.x),u=ke(Le.y,Pe.y,Oe.y,Re.y);e.width=l-e.x,e.height=u-e.y}else e!==n&&t.copy(e,n)},t}(),Ve="silent";function Be(){de(this.event)}var Fe=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.handler=null,e}return n(e,t),e.prototype.dispose=function(){},e.prototype.setCursor=function(){},e}(jt),Ge=function(t,e){this.x=t,this.y=e},We=["click","dblclick","mousewheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],He=new ze(0,0,0,0),Ye=function(t){function e(e,n,i,r,o){var a=t.call(this)||this;return a._hovered=new Ge(0,0),a.storage=e,a.painter=n,a.painterRoot=r,a._pointerSize=o,i=i||new Fe,a.proxy=null,a.setHandlerProxy(i),a._draggingMgr=new Zt(a),a}return n(e,t),e.prototype.setHandlerProxy=function(t){this.proxy&&this.proxy.dispose(),t&&(E(We,(function(e){t.on&&t.on(e,this[e],this)}),this),t.handler=this),this.proxy=t},e.prototype.mousemove=function(t){var e=t.zrX,n=t.zrY,i=Ze(this,e,n),r=this._hovered,o=r.target;o&&!o.__zr&&(o=(r=this.findHover(r.x,r.y)).target);var a=this._hovered=i?new Ge(e,n):this.findHover(e,n),s=a.target,l=this.proxy;l.setCursor&&l.setCursor(s?s.cursor:"default"),o&&s!==o&&this.dispatchToElement(r,"mouseout",t),this.dispatchToElement(a,"mousemove",t),s&&s!==o&&this.dispatchToElement(a,"mouseover",t)},e.prototype.mouseout=function(t){var e=t.zrEventControl;"only_globalout"!==e&&this.dispatchToElement(this._hovered,"mouseout",t),"no_globalout"!==e&&this.trigger("globalout",{type:"globalout",event:t})},e.prototype.resize=function(){this._hovered=new Ge(0,0)},e.prototype.dispatch=function(t,e){var n=this[t];n&&n.call(this,e)},e.prototype.dispose=function(){this.proxy.dispose(),this.storage=null,this.proxy=null,this.painter=null},e.prototype.setCursorStyle=function(t){var e=this.proxy;e.setCursor&&e.setCursor(t)},e.prototype.dispatchToElement=function(t,e,n){var i=(t=t||{}).target;if(!i||!i.silent){for(var r="on"+e,o=function(t,e,n){return{type:t,event:n,target:e.target,topTarget:e.topTarget,cancelBubble:!1,offsetX:n.zrX,offsetY:n.zrY,gestureEvent:n.gestureEvent,pinchX:n.pinchX,pinchY:n.pinchY,pinchScale:n.pinchScale,wheelDelta:n.zrDelta,zrByTouch:n.zrByTouch,which:n.which,stop:Be}}(e,t,n);i&&(i[r]&&(o.cancelBubble=!!i[r].call(i,o)),i.trigger(e,o),i=i.__hostTarget?i.__hostTarget:i.parent,!o.cancelBubble););o.cancelBubble||(this.trigger(e,o),this.painter&&this.painter.eachOtherLayer&&this.painter.eachOtherLayer((function(t){"function"==typeof t[r]&&t[r].call(t,o),t.trigger&&t.trigger(e,o)})))}},e.prototype.findHover=function(t,e,n){var i=this.storage.getDisplayList(),r=new Ge(t,e);if(Ue(i,r,t,e,n),this._pointerSize&&!r.target){for(var o=[],a=this._pointerSize,s=a/2,l=new ze(t-s,e-s,a,a),u=i.length-1;u>=0;u--){var h=i[u];h===n||h.ignore||h.ignoreCoarsePointer||h.parent&&h.parent.ignoreCoarsePointer||(He.copy(h.getBoundingRect()),h.transform&&He.applyTransform(h.transform),He.intersect(l)&&o.push(h))}if(o.length)for(var c=Math.PI/12,p=2*Math.PI,d=0;d=0;o--){var a=t[o],s=void 0;if(a!==r&&!a.ignore&&(s=Xe(a,n,i))&&(!e.topTarget&&(e.topTarget=a),s!==Ve)){e.target=a;break}}}function Ze(t,e,n){var i=t.painter;return e<0||e>i.getWidth()||n<0||n>i.getHeight()}E(["click","mousedown","mouseup","mousewheel","dblclick","contextmenu"],(function(t){Ye.prototype[t]=function(e){var n,i,r=e.zrX,o=e.zrY,a=Ze(this,r,o);if("mouseup"===t&&a||(i=(n=this.findHover(r,o)).target),"mousedown"===t)this._downEl=i,this._downPoint=[e.zrX,e.zrY],this._upEl=i;else if("mouseup"===t)this._upEl=i;else if("click"===t){if(this._downEl!==this._upEl||!this._downPoint||Vt(this._downPoint,[e.zrX,e.zrY])>4)return;this._downPoint=null}this.dispatchToElement(n,t,e)}}));function je(t,e,n,i){var r=e+1;if(r===n)return 1;if(i(t[r++],t[e])<0){for(;r=0;)r++;return r-e}function qe(t,e,n,i,r){for(i===e&&i++;i>>1])<0?l=o:s=o+1;var u=i-s;switch(u){case 3:t[s+3]=t[s+2];case 2:t[s+2]=t[s+1];case 1:t[s+1]=t[s];break;default:for(;u>0;)t[s+u]=t[s+u-1],u--}t[s]=a}}function Ke(t,e,n,i,r,o){var a=0,s=0,l=1;if(o(t,e[n+r])>0){for(s=i-r;l0;)a=l,(l=1+(l<<1))<=0&&(l=s);l>s&&(l=s),a+=r,l+=r}else{for(s=r+1;ls&&(l=s);var u=a;a=r-l,l=r-u}for(a++;a>>1);o(t,e[n+h])>0?a=h+1:l=h}return l}function $e(t,e,n,i,r,o){var a=0,s=0,l=1;if(o(t,e[n+r])<0){for(s=r+1;ls&&(l=s);var u=a;a=r-l,l=r-u}else{for(s=i-r;l=0;)a=l,(l=1+(l<<1))<=0&&(l=s);l>s&&(l=s),a+=r,l+=r}for(a++;a>>1);o(t,e[n+h])<0?l=h:a=h+1}return l}function Je(t,e){var n,i,r=7,o=0,a=[];function s(s){var l=n[s],u=i[s],h=n[s+1],c=i[s+1];i[s]=u+c,s===o-3&&(n[s+1]=n[s+2],i[s+1]=i[s+2]),o--;var p=$e(t[h],t,l,u,0,e);l+=p,0!==(u-=p)&&0!==(c=Ke(t[l+u-1],t,h,c,c-1,e))&&(u<=c?function(n,i,o,s){var l=0;for(l=0;l=7||d>=7);if(f)break;g<0&&(g=0),g+=2}if((r=g)<1&&(r=1),1===i){for(l=0;l=0;l--)t[d+l]=t[p+l];return void(t[c]=a[h])}var f=r;for(;;){var g=0,y=0,v=!1;do{if(e(a[h],t[u])<0){if(t[c--]=t[u--],g++,y=0,0==--i){v=!0;break}}else if(t[c--]=a[h--],y++,g=0,1==--s){v=!0;break}}while((g|y)=0;l--)t[d+l]=t[p+l];if(0===i){v=!0;break}}if(t[c--]=a[h--],1==--s){v=!0;break}if(0!==(y=s-Ke(t[u],a,0,s,s-1,e))){for(s-=y,d=(c-=y)+1,p=(h-=y)+1,l=0;l=7||y>=7);if(v)break;f<0&&(f=0),f+=2}(r=f)<1&&(r=1);if(1===s){for(d=(c-=i)+1,p=(u-=i)+1,l=i-1;l>=0;l--)t[d+l]=t[p+l];t[c]=a[h]}else{if(0===s)throw new Error;for(p=c-(s-1),l=0;l1;){var t=o-2;if(t>=1&&i[t-1]<=i[t]+i[t+1]||t>=2&&i[t-2]<=i[t]+i[t-1])i[t-1]i[t+1])break;s(t)}},forceMergeRuns:function(){for(;o>1;){var t=o-2;t>0&&i[t-1]=32;)e|=1&t,t>>=1;return t+e}(r);do{if((o=je(t,n,i,e))s&&(l=s),qe(t,n,n+l,n+o,e),o=l}a.pushRun(n,o),a.mergeRuns(),r-=o,n+=o}while(0!==r);a.forceMergeRuns()}}}var tn=!1;function en(){tn||(tn=!0,console.warn("z / z2 / zlevel of displayable is invalid, which may cause unexpected errors"))}function nn(t,e){return t.zlevel===e.zlevel?t.z===e.z?t.z2-e.z2:t.z-e.z:t.zlevel-e.zlevel}var rn=function(){function t(){this._roots=[],this._displayList=[],this._displayListLen=0,this.displayableSortFunc=nn}return t.prototype.traverse=function(t,e){for(var n=0;n0&&(u.__clipPaths=[]),isNaN(u.z)&&(en(),u.z=0),isNaN(u.z2)&&(en(),u.z2=0),isNaN(u.zlevel)&&(en(),u.zlevel=0),this._displayList[this._displayListLen++]=u}var h=t.getDecalElement&&t.getDecalElement();h&&this._updateAndAddDisplayable(h,e,n);var c=t.getTextGuideLine();c&&this._updateAndAddDisplayable(c,e,n);var p=t.getTextContent();p&&this._updateAndAddDisplayable(p,e,n)}},t.prototype.addRoot=function(t){t.__zr&&t.__zr.storage===this||this._roots.push(t)},t.prototype.delRoot=function(t){if(t instanceof Array)for(var e=0,n=t.length;e=0&&this._roots.splice(i,1)}},t.prototype.delAllRoots=function(){this._roots=[],this._displayList=[],this._displayListLen=0},t.prototype.getRoots=function(){return this._roots},t.prototype.dispose=function(){this._displayList=null,this._roots=null},t}(),on=r.hasGlobalWindow&&(window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.msRequestAnimationFrame&&window.msRequestAnimationFrame.bind(window)||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame)||function(t){return setTimeout(t,16)},an={linear:function(t){return t},quadraticIn:function(t){return t*t},quadraticOut:function(t){return t*(2-t)},quadraticInOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)},cubicIn:function(t){return t*t*t},cubicOut:function(t){return--t*t*t+1},cubicInOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)},quarticIn:function(t){return t*t*t*t},quarticOut:function(t){return 1- --t*t*t*t},quarticInOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)},quinticIn:function(t){return t*t*t*t*t},quinticOut:function(t){return--t*t*t*t*t+1},quinticInOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)},sinusoidalIn:function(t){return 1-Math.cos(t*Math.PI/2)},sinusoidalOut:function(t){return Math.sin(t*Math.PI/2)},sinusoidalInOut:function(t){return.5*(1-Math.cos(Math.PI*t))},exponentialIn:function(t){return 0===t?0:Math.pow(1024,t-1)},exponentialOut:function(t){return 1===t?1:1-Math.pow(2,-10*t)},exponentialInOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))},circularIn:function(t){return 1-Math.sqrt(1-t*t)},circularOut:function(t){return Math.sqrt(1- --t*t)},circularInOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)},elasticIn:function(t){var e,n=.1;return 0===t?0:1===t?1:(!n||n<1?(n=1,e=.1):e=.4*Math.asin(1/n)/(2*Math.PI),-n*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},elasticOut:function(t){var e,n=.1;return 0===t?0:1===t?1:(!n||n<1?(n=1,e=.1):e=.4*Math.asin(1/n)/(2*Math.PI),n*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},elasticInOut:function(t){var e,n=.1,i=.4;return 0===t?0:1===t?1:(!n||n<1?(n=1,e=.1):e=i*Math.asin(1/n)/(2*Math.PI),(t*=2)<1?n*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/i)*-.5:n*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/i)*.5+1)},backIn:function(t){var e=1.70158;return t*t*((e+1)*t-e)},backOut:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},backInOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)},bounceIn:function(t){return 1-an.bounceOut(1-t)},bounceOut:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},bounceInOut:function(t){return t<.5?.5*an.bounceIn(2*t):.5*an.bounceOut(2*t-1)+.5}},sn=Math.pow,ln=Math.sqrt,un=1e-8,hn=1e-4,cn=ln(3),pn=1/3,dn=Mt(),fn=Mt(),gn=Mt();function yn(t){return t>-1e-8&&tun||t<-1e-8}function mn(t,e,n,i,r){var o=1-r;return o*o*(o*t+3*r*e)+r*r*(r*i+3*o*n)}function xn(t,e,n,i,r){var o=1-r;return 3*(((e-t)*o+2*(n-e)*r)*o+(i-n)*r*r)}function _n(t,e,n,i,r,o){var a=i+3*(e-n)-t,s=3*(n-2*e+t),l=3*(e-t),u=t-r,h=s*s-3*a*l,c=s*l-9*a*u,p=l*l-3*s*u,d=0;if(yn(h)&&yn(c)){if(yn(s))o[0]=0;else(M=-l/s)>=0&&M<=1&&(o[d++]=M)}else{var f=c*c-4*h*p;if(yn(f)){var g=c/h,y=-g/2;(M=-s/a+g)>=0&&M<=1&&(o[d++]=M),y>=0&&y<=1&&(o[d++]=y)}else if(f>0){var v=ln(f),m=h*s+1.5*a*(-c+v),x=h*s+1.5*a*(-c-v);(M=(-s-((m=m<0?-sn(-m,pn):sn(m,pn))+(x=x<0?-sn(-x,pn):sn(x,pn))))/(3*a))>=0&&M<=1&&(o[d++]=M)}else{var _=(2*h*s-3*a*c)/(2*ln(h*h*h)),b=Math.acos(_)/3,w=ln(h),S=Math.cos(b),M=(-s-2*w*S)/(3*a),I=(y=(-s+w*(S+cn*Math.sin(b)))/(3*a),(-s+w*(S-cn*Math.sin(b)))/(3*a));M>=0&&M<=1&&(o[d++]=M),y>=0&&y<=1&&(o[d++]=y),I>=0&&I<=1&&(o[d++]=I)}}return d}function bn(t,e,n,i,r){var o=6*n-12*e+6*t,a=9*e+3*i-3*t-9*n,s=3*e-3*t,l=0;if(yn(a)){if(vn(o))(h=-s/o)>=0&&h<=1&&(r[l++]=h)}else{var u=o*o-4*a*s;if(yn(u))r[0]=-o/(2*a);else if(u>0){var h,c=ln(u),p=(-o-c)/(2*a);(h=(-o+c)/(2*a))>=0&&h<=1&&(r[l++]=h),p>=0&&p<=1&&(r[l++]=p)}}return l}function wn(t,e,n,i,r,o){var a=(e-t)*r+t,s=(n-e)*r+e,l=(i-n)*r+n,u=(s-a)*r+a,h=(l-s)*r+s,c=(h-u)*r+u;o[0]=t,o[1]=a,o[2]=u,o[3]=c,o[4]=c,o[5]=h,o[6]=l,o[7]=i}function Sn(t,e,n,i,r,o,a,s,l,u,h){var c,p,d,f,g,y=.005,v=1/0;dn[0]=l,dn[1]=u;for(var m=0;m<1;m+=.05)fn[0]=mn(t,n,r,a,m),fn[1]=mn(e,i,o,s,m),(f=Ft(dn,fn))=0&&f=0&&y=1?1:_n(0,i,o,1,t,s)&&mn(0,r,a,1,s[0])}}}var On=function(){function t(t){this._inited=!1,this._startTime=0,this._pausedTime=0,this._paused=!1,this._life=t.life||1e3,this._delay=t.delay||0,this.loop=t.loop||!1,this.onframe=t.onframe||bt,this.ondestroy=t.ondestroy||bt,this.onrestart=t.onrestart||bt,t.easing&&this.setEasing(t.easing)}return t.prototype.step=function(t,e){if(this._inited||(this._startTime=t+this._delay,this._inited=!0),!this._paused){var n=this._life,i=t-this._startTime-this._pausedTime,r=i/n;r<0&&(r=0),r=Math.min(r,1);var o=this.easingFunc,a=o?o(r):r;if(this.onframe(a),1===r){if(!this.loop)return!0;var s=i%n;this._startTime=t-s,this._pausedTime=0,this.onrestart()}return!1}this._pausedTime+=e},t.prototype.pause=function(){this._paused=!0},t.prototype.resume=function(){this._paused=!1},t.prototype.setEasing=function(t){this.easing=t,this.easingFunc=X(t)?t:an[t]||Pn(t)},t}(),Rn=function(t){this.value=t},Nn=function(){function t(){this._len=0}return t.prototype.insert=function(t){var e=new Rn(t);return this.insertEntry(e),e},t.prototype.insertEntry=function(t){this.head?(this.tail.next=t,t.prev=this.tail,t.next=null,this.tail=t):this.head=this.tail=t,this._len++},t.prototype.remove=function(t){var e=t.prev,n=t.next;e?e.next=n:this.head=n,n?n.prev=e:this.tail=e,t.next=t.prev=null,this._len--},t.prototype.len=function(){return this._len},t.prototype.clear=function(){this.head=this.tail=null,this._len=0},t}(),En=function(){function t(t){this._list=new Nn,this._maxSize=10,this._map={},this._maxSize=t}return t.prototype.put=function(t,e){var n=this._list,i=this._map,r=null;if(null==i[t]){var o=n.len(),a=this._lastRemovedEntry;if(o>=this._maxSize&&o>0){var s=n.head;n.remove(s),delete i[s.key],r=s.value,this._lastRemovedEntry=s}a?a.value=e:a=new Rn(e),a.key=t,n.insertEntry(a),i[t]=a}return r},t.prototype.get=function(t){var e=this._map[t],n=this._list;if(null!=e)return e!==n.tail&&(n.remove(e),n.insertEntry(e)),e.value},t.prototype.clear=function(){this._list.clear(),this._map={}},t.prototype.len=function(){return this._list.len()},t}(),zn={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function Vn(t){return(t=Math.round(t))<0?0:t>255?255:t}function Bn(t){return t<0?0:t>1?1:t}function Fn(t){var e=t;return e.length&&"%"===e.charAt(e.length-1)?Vn(parseFloat(e)/100*255):Vn(parseInt(e,10))}function Gn(t){var e=t;return e.length&&"%"===e.charAt(e.length-1)?Bn(parseFloat(e)/100):Bn(parseFloat(e))}function Wn(t,e,n){return n<0?n+=1:n>1&&(n-=1),6*n<1?t+(e-t)*n*6:2*n<1?e:3*n<2?t+(e-t)*(2/3-n)*6:t}function Hn(t,e,n){return t+(e-t)*n}function Yn(t,e,n,i,r){return t[0]=e,t[1]=n,t[2]=i,t[3]=r,t}function Xn(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}var Un=new En(20),Zn=null;function jn(t,e){Zn&&Xn(Zn,e),Zn=Un.put(t,Zn||e.slice())}function qn(t,e){if(t){e=e||[];var n=Un.get(t);if(n)return Xn(e,n);var i=(t+="").replace(/ /g,"").toLowerCase();if(i in zn)return Xn(e,zn[i]),jn(t,e),e;var r,o=i.length;if("#"===i.charAt(0))return 4===o||5===o?(r=parseInt(i.slice(1,4),16))>=0&&r<=4095?(Yn(e,(3840&r)>>4|(3840&r)>>8,240&r|(240&r)>>4,15&r|(15&r)<<4,5===o?parseInt(i.slice(4),16)/15:1),jn(t,e),e):void Yn(e,0,0,0,1):7===o||9===o?(r=parseInt(i.slice(1,7),16))>=0&&r<=16777215?(Yn(e,(16711680&r)>>16,(65280&r)>>8,255&r,9===o?parseInt(i.slice(7),16)/255:1),jn(t,e),e):void Yn(e,0,0,0,1):void 0;var a=i.indexOf("("),s=i.indexOf(")");if(-1!==a&&s+1===o){var l=i.substr(0,a),u=i.substr(a+1,s-(a+1)).split(","),h=1;switch(l){case"rgba":if(4!==u.length)return 3===u.length?Yn(e,+u[0],+u[1],+u[2],1):Yn(e,0,0,0,1);h=Gn(u.pop());case"rgb":return u.length>=3?(Yn(e,Fn(u[0]),Fn(u[1]),Fn(u[2]),3===u.length?h:Gn(u[3])),jn(t,e),e):void Yn(e,0,0,0,1);case"hsla":return 4!==u.length?void Yn(e,0,0,0,1):(u[3]=Gn(u[3]),Kn(u,e),jn(t,e),e);case"hsl":return 3!==u.length?void Yn(e,0,0,0,1):(Kn(u,e),jn(t,e),e);default:return}}Yn(e,0,0,0,1)}}function Kn(t,e){var n=(parseFloat(t[0])%360+360)%360/360,i=Gn(t[1]),r=Gn(t[2]),o=r<=.5?r*(i+1):r+i-r*i,a=2*r-o;return Yn(e=e||[],Vn(255*Wn(a,o,n+1/3)),Vn(255*Wn(a,o,n)),Vn(255*Wn(a,o,n-1/3)),1),4===t.length&&(e[3]=t[3]),e}function $n(t,e){var n=qn(t);if(n){for(var i=0;i<3;i++)n[i]=e<0?n[i]*(1-e)|0:(255-n[i])*e+n[i]|0,n[i]>255?n[i]=255:n[i]<0&&(n[i]=0);return ri(n,4===n.length?"rgba":"rgb")}}function Jn(t,e,n){if(e&&e.length&&t>=0&&t<=1){n=n||[];var i=t*(e.length-1),r=Math.floor(i),o=Math.ceil(i),a=e[r],s=e[o],l=i-r;return n[0]=Vn(Hn(a[0],s[0],l)),n[1]=Vn(Hn(a[1],s[1],l)),n[2]=Vn(Hn(a[2],s[2],l)),n[3]=Bn(Hn(a[3],s[3],l)),n}}var Qn=Jn;function ti(t,e,n){if(e&&e.length&&t>=0&&t<=1){var i=t*(e.length-1),r=Math.floor(i),o=Math.ceil(i),a=qn(e[r]),s=qn(e[o]),l=i-r,u=ri([Vn(Hn(a[0],s[0],l)),Vn(Hn(a[1],s[1],l)),Vn(Hn(a[2],s[2],l)),Bn(Hn(a[3],s[3],l))],"rgba");return n?{color:u,leftIndex:r,rightIndex:o,value:i}:u}}var ei=ti;function ni(t,e,n,i){var r=qn(t);if(t)return r=function(t){if(t){var e,n,i=t[0]/255,r=t[1]/255,o=t[2]/255,a=Math.min(i,r,o),s=Math.max(i,r,o),l=s-a,u=(s+a)/2;if(0===l)e=0,n=0;else{n=u<.5?l/(s+a):l/(2-s-a);var h=((s-i)/6+l/2)/l,c=((s-r)/6+l/2)/l,p=((s-o)/6+l/2)/l;i===s?e=p-c:r===s?e=1/3+h-p:o===s&&(e=2/3+c-h),e<0&&(e+=1),e>1&&(e-=1)}var d=[360*e,n,u];return null!=t[3]&&d.push(t[3]),d}}(r),null!=e&&(r[0]=function(t){return(t=Math.round(t))<0?0:t>360?360:t}(e)),null!=n&&(r[1]=Gn(n)),null!=i&&(r[2]=Gn(i)),ri(Kn(r),"rgba")}function ii(t,e){var n=qn(t);if(n&&null!=e)return n[3]=Bn(e),ri(n,"rgba")}function ri(t,e){if(t&&t.length){var n=t[0]+","+t[1]+","+t[2];return"rgba"!==e&&"hsva"!==e&&"hsla"!==e||(n+=","+t[3]),e+"("+n+")"}}function oi(t,e){var n=qn(t);return n?(.299*n[0]+.587*n[1]+.114*n[2])*n[3]/255+(1-n[3])*e:0}var ai=new En(100);function si(t){if(U(t)){var e=ai.get(t);return e||(e=$n(t,-.1),ai.put(t,e)),e}if(Q(t)){var n=A({},t);return n.colorStops=z(t.colorStops,(function(t){return{offset:t.offset,color:$n(t.color,-.1)}})),n}return t}var li=Object.freeze({__proto__:null,parse:qn,lift:$n,toHex:function(t){var e=qn(t);if(e)return((1<<24)+(e[0]<<16)+(e[1]<<8)+ +e[2]).toString(16).slice(1)},fastLerp:Jn,fastMapToColor:Qn,lerp:ti,mapToColor:ei,modifyHSL:ni,modifyAlpha:ii,stringify:ri,lum:oi,random:function(){return ri([Math.round(255*Math.random()),Math.round(255*Math.random()),Math.round(255*Math.random())],"rgb")},liftColor:si}),ui=Math.round;function hi(t){var e;if(t&&"transparent"!==t){if("string"==typeof t&&t.indexOf("rgba")>-1){var n=qn(t);n&&(t="rgb("+n[0]+","+n[1]+","+n[2]+")",e=n[3])}}else t="none";return{color:t,opacity:null==e?1:e}}var ci=1e-4;function pi(t){return t-1e-4}function di(t){return ui(1e3*t)/1e3}function fi(t){return ui(1e4*t)/1e4}var gi={left:"start",right:"end",center:"middle",middle:"middle"};function yi(t){return t&&!!t.image}function vi(t){return yi(t)||function(t){return t&&!!t.svgElement}(t)}function mi(t){return"linear"===t.type}function xi(t){return"radial"===t.type}function _i(t){return t&&("linear"===t.type||"radial"===t.type)}function bi(t){return"url(#"+t+")"}function wi(t){var e=t.getGlobalScale(),n=Math.max(e[0],e[1]);return Math.max(Math.ceil(Math.log(n)/Math.log(10)),1)}function Si(t){var e=t.x||0,n=t.y||0,i=(t.rotation||0)*wt,r=rt(t.scaleX,1),o=rt(t.scaleY,1),a=t.skewX||0,s=t.skewY||0,l=[];return(e||n)&&l.push("translate("+e+"px,"+n+"px)"),i&&l.push("rotate("+i+")"),1===r&&1===o||l.push("scale("+r+","+o+")"),(a||s)&&l.push("skew("+ui(a*wt)+"deg, "+ui(s*wt)+"deg)"),l.join(" ")}var Mi=r.hasGlobalWindow&&X(window.btoa)?function(t){return window.btoa(unescape(encodeURIComponent(t)))}:"undefined"!=typeof Buffer?function(t){return Buffer.from(t).toString("base64")}:function(t){return null},Ii=Array.prototype.slice;function Ti(t,e,n){return(e-t)*n+t}function Ci(t,e,n,i){for(var r=e.length,o=0;oi?e:t,o=Math.min(n,i),a=r[o-1]||{color:[0,0,0,0],offset:0},s=o;sa)i.length=a;else for(var s=o;s=1},t.prototype.getAdditiveTrack=function(){return this._additiveTrack},t.prototype.addKeyframe=function(t,e,n){this._needsSort=!0;var i=this.keyframes,r=i.length,o=!1,a=6,s=e;if(N(e)){var l=function(t){return N(t&&t[0])?2:1}(e);a=l,(1===l&&!j(e[0])||2===l&&!j(e[0][0]))&&(o=!0)}else if(j(e)&&!nt(e))a=0;else if(U(e))if(isNaN(+e)){var u=qn(e);u&&(s=u,a=3)}else a=0;else if(Q(e)){var h=A({},s);h.colorStops=z(e.colorStops,(function(t){return{offset:t.offset,color:qn(t.color)}})),mi(e)?a=4:xi(e)&&(a=5),s=h}0===r?this.valType=a:a===this.valType&&6!==a||(o=!0),this.discrete=this.discrete||o;var c={time:t,value:s,rawValue:e,percent:0};return n&&(c.easing=n,c.easingFunc=X(n)?n:an[n]||Pn(n)),i.push(c),c},t.prototype.prepare=function(t,e){var n=this.keyframes;this._needsSort&&n.sort((function(t,e){return t.time-e.time}));for(var i=this.valType,r=n.length,o=n[r-1],a=this.discrete,s=Ni(i),l=Ri(i),u=0;u=0&&!(l[n].percent<=e);n--);n=d(n,u-2)}else{for(n=p;ne);n++);n=d(n-1,u-2)}r=l[n+1],i=l[n]}if(i&&r){this._lastFr=n,this._lastFrP=e;var f=r.percent-i.percent,g=0===f?1:d((e-i.percent)/f,1);r.easingFunc&&(g=r.easingFunc(g));var y=o?this._additiveValue:c?Ei:t[h];if(!Ni(s)&&!c||y||(y=this._additiveValue=[]),this.discrete)t[h]=g<1?i.rawValue:r.rawValue;else if(Ni(s))1===s?Ci(y,i[a],r[a],g):function(t,e,n,i){for(var r=e.length,o=r&&e[0].length,a=0;a0&&s.addKeyframe(0,Pi(l),i),this._trackKeys.push(a)}s.addKeyframe(t,Pi(e[a]),i)}return this._maxTime=Math.max(this._maxTime,t),this},t.prototype.pause=function(){this._clip.pause(),this._paused=!0},t.prototype.resume=function(){this._clip.resume(),this._paused=!1},t.prototype.isPaused=function(){return!!this._paused},t.prototype.duration=function(t){return this._maxTime=t,this._force=!0,this},t.prototype._doneCallback=function(){this._setTracksFinished(),this._clip=null;var t=this._doneCbs;if(t)for(var e=t.length,n=0;n0)){this._started=1;for(var e=this,n=[],i=this._maxTime||0,r=0;r1){var a=o.pop();r.addKeyframe(a.time,t[i]),r.prepare(this._maxTime,r.getAdditiveTrack())}}}},t}();function Bi(){return(new Date).getTime()}var Fi,Gi,Wi=function(t){function e(e){var n=t.call(this)||this;return n._running=!1,n._time=0,n._pausedTime=0,n._pauseStart=0,n._paused=!1,e=e||{},n.stage=e.stage||{},n}return n(e,t),e.prototype.addClip=function(t){t.animation&&this.removeClip(t),this._head?(this._tail.next=t,t.prev=this._tail,t.next=null,this._tail=t):this._head=this._tail=t,t.animation=this},e.prototype.addAnimator=function(t){t.animation=this;var e=t.getClip();e&&this.addClip(e)},e.prototype.removeClip=function(t){if(t.animation){var e=t.prev,n=t.next;e?e.next=n:this._head=n,n?n.prev=e:this._tail=e,t.next=t.prev=t.animation=null}},e.prototype.removeAnimator=function(t){var e=t.getClip();e&&this.removeClip(e),t.animation=null},e.prototype.update=function(t){for(var e=Bi()-this._pausedTime,n=e-this._time,i=this._head;i;){var r=i.next;i.step(e,n)?(i.ondestroy(),this.removeClip(i),i=r):i=r}this._time=e,t||(this.trigger("frame",n),this.stage.update&&this.stage.update())},e.prototype._startLoop=function(){var t=this;this._running=!0,on((function e(){t._running&&(on(e),!t._paused&&t.update())}))},e.prototype.start=function(){this._running||(this._time=Bi(),this._pausedTime=0,this._startLoop())},e.prototype.stop=function(){this._running=!1},e.prototype.pause=function(){this._paused||(this._pauseStart=Bi(),this._paused=!0)},e.prototype.resume=function(){this._paused&&(this._pausedTime+=Bi()-this._pauseStart,this._paused=!1)},e.prototype.clear=function(){for(var t=this._head;t;){var e=t.next;t.prev=t.next=t.animation=null,t=e}this._head=this._tail=null},e.prototype.isFinished=function(){return null==this._head},e.prototype.animate=function(t,e){e=e||{},this.start();var n=new Vi(t,e.loop);return this.addAnimator(n),n},e}(jt),Hi=r.domSupported,Yi=(Gi={pointerdown:1,pointerup:1,pointermove:1,pointerout:1},{mouse:Fi=["click","dblclick","mousewheel","wheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],touch:["touchstart","touchend","touchmove"],pointer:z(Fi,(function(t){var e=t.replace("mouse","pointer");return Gi.hasOwnProperty(e)?e:t}))}),Xi=["mousemove","mouseup"],Ui=["pointermove","pointerup"],Zi=!1;function ji(t){var e=t.pointerType;return"pen"===e||"touch"===e}function qi(t){t&&(t.zrByTouch=!0)}function Ki(t,e){for(var n=e,i=!1;n&&9!==n.nodeType&&!(i=n.domBelongToZr||n!==e&&n===t.painterRoot);)n=n.parentNode;return i}var $i=function(t,e){this.stopPropagation=bt,this.stopImmediatePropagation=bt,this.preventDefault=bt,this.type=e.type,this.target=this.currentTarget=t.dom,this.pointerType=e.pointerType,this.clientX=e.clientX,this.clientY=e.clientY},Ji={mousedown:function(t){t=ce(this.dom,t),this.__mayPointerCapture=[t.zrX,t.zrY],this.trigger("mousedown",t)},mousemove:function(t){t=ce(this.dom,t);var e=this.__mayPointerCapture;!e||t.zrX===e[0]&&t.zrY===e[1]||this.__togglePointerCapture(!0),this.trigger("mousemove",t)},mouseup:function(t){t=ce(this.dom,t),this.__togglePointerCapture(!1),this.trigger("mouseup",t)},mouseout:function(t){Ki(this,(t=ce(this.dom,t)).toElement||t.relatedTarget)||(this.__pointerCapturing&&(t.zrEventControl="no_globalout"),this.trigger("mouseout",t))},wheel:function(t){Zi=!0,t=ce(this.dom,t),this.trigger("mousewheel",t)},mousewheel:function(t){Zi||(t=ce(this.dom,t),this.trigger("mousewheel",t))},touchstart:function(t){qi(t=ce(this.dom,t)),this.__lastTouchMoment=new Date,this.handler.processGesture(t,"start"),Ji.mousemove.call(this,t),Ji.mousedown.call(this,t)},touchmove:function(t){qi(t=ce(this.dom,t)),this.handler.processGesture(t,"change"),Ji.mousemove.call(this,t)},touchend:function(t){qi(t=ce(this.dom,t)),this.handler.processGesture(t,"end"),Ji.mouseup.call(this,t),+new Date-+this.__lastTouchMoment<300&&Ji.click.call(this,t)},pointerdown:function(t){Ji.mousedown.call(this,t)},pointermove:function(t){ji(t)||Ji.mousemove.call(this,t)},pointerup:function(t){Ji.mouseup.call(this,t)},pointerout:function(t){ji(t)||Ji.mouseout.call(this,t)}};E(["click","dblclick","contextmenu"],(function(t){Ji[t]=function(e){e=ce(this.dom,e),this.trigger(t,e)}}));var Qi={pointermove:function(t){ji(t)||Qi.mousemove.call(this,t)},pointerup:function(t){Qi.mouseup.call(this,t)},mousemove:function(t){this.trigger("mousemove",t)},mouseup:function(t){var e=this.__pointerCapturing;this.__togglePointerCapture(!1),this.trigger("mouseup",t),e&&(t.zrEventControl="only_globalout",this.trigger("mouseout",t))}};function tr(t,e){var n=e.domHandlers;r.pointerEventsSupported?E(Yi.pointer,(function(i){nr(e,i,(function(e){n[i].call(t,e)}))})):(r.touchEventsSupported&&E(Yi.touch,(function(i){nr(e,i,(function(r){n[i].call(t,r),function(t){t.touching=!0,null!=t.touchTimer&&(clearTimeout(t.touchTimer),t.touchTimer=null),t.touchTimer=setTimeout((function(){t.touching=!1,t.touchTimer=null}),700)}(e)}))})),E(Yi.mouse,(function(i){nr(e,i,(function(r){r=he(r),e.touching||n[i].call(t,r)}))})))}function er(t,e){function n(n){nr(e,n,(function(i){i=he(i),Ki(t,i.target)||(i=function(t,e){return ce(t.dom,new $i(t,e),!0)}(t,i),e.domHandlers[n].call(t,i))}),{capture:!0})}r.pointerEventsSupported?E(Ui,n):r.touchEventsSupported||E(Xi,n)}function nr(t,e,n,i){t.mounted[e]=n,t.listenerOpts[e]=i,pe(t.domTarget,e,n,i)}function ir(t){var e,n,i,r,o=t.mounted;for(var a in o)o.hasOwnProperty(a)&&(e=t.domTarget,n=a,i=o[a],r=t.listenerOpts[a],e.removeEventListener(n,i,r));t.mounted={}}var rr=function(t,e){this.mounted={},this.listenerOpts={},this.touching=!1,this.domTarget=t,this.domHandlers=e},or=function(t){function e(e,n){var i=t.call(this)||this;return i.__pointerCapturing=!1,i.dom=e,i.painterRoot=n,i._localHandlerScope=new rr(e,Ji),Hi&&(i._globalHandlerScope=new rr(document,Qi)),tr(i,i._localHandlerScope),i}return n(e,t),e.prototype.dispose=function(){ir(this._localHandlerScope),Hi&&ir(this._globalHandlerScope)},e.prototype.setCursor=function(t){this.dom.style&&(this.dom.style.cursor=t||"default")},e.prototype.__togglePointerCapture=function(t){if(this.__mayPointerCapture=null,Hi&&+this.__pointerCapturing^+t){this.__pointerCapturing=t;var e=this._globalHandlerScope;t?er(this,e):ir(e)}},e}(jt),ar=1;r.hasGlobalWindow&&(ar=Math.max(window.devicePixelRatio||window.screen&&window.screen.deviceXDPI/window.screen.logicalXDPI||1,1));var sr=ar,lr="#333",ur="#ccc",hr=xe,cr=5e-5;function pr(t){return t>cr||t<-5e-5}var dr=[],fr=[],gr=[1,0,0,1,0,0],yr=Math.abs,vr=function(){function t(){}return t.prototype.getLocalTransform=function(e){return t.getLocalTransform(this,e)},t.prototype.setPosition=function(t){this.x=t[0],this.y=t[1]},t.prototype.setScale=function(t){this.scaleX=t[0],this.scaleY=t[1]},t.prototype.setSkew=function(t){this.skewX=t[0],this.skewY=t[1]},t.prototype.setOrigin=function(t){this.originX=t[0],this.originY=t[1]},t.prototype.needLocalTransform=function(){return pr(this.rotation)||pr(this.x)||pr(this.y)||pr(this.scaleX-1)||pr(this.scaleY-1)||pr(this.skewX)||pr(this.skewY)},t.prototype.updateTransform=function(){var t=this.parent&&this.parent.transform,e=this.needLocalTransform(),n=this.transform;e||t?(n=n||[1,0,0,1,0,0],e?this.getLocalTransform(n):hr(n),t&&(e?be(n,t,n):_e(n,t)),this.transform=n,this._resolveGlobalScaleRatio(n)):n&&(hr(n),this.invTransform=null)},t.prototype._resolveGlobalScaleRatio=function(t){var e=this.globalScaleRatio;if(null!=e&&1!==e){this.getGlobalScale(dr);var n=dr[0]<0?-1:1,i=dr[1]<0?-1:1,r=((dr[0]-n)*e+n)/dr[0]||0,o=((dr[1]-i)*e+i)/dr[1]||0;t[0]*=r,t[1]*=r,t[2]*=o,t[3]*=o}this.invTransform=this.invTransform||[1,0,0,1,0,0],Ie(this.invTransform,t)},t.prototype.getComputedTransform=function(){for(var t=this,e=[];t;)e.push(t),t=t.parent;for(;t=e.pop();)t.updateTransform();return this.transform},t.prototype.setLocalTransform=function(t){if(t){var e=t[0]*t[0]+t[1]*t[1],n=t[2]*t[2]+t[3]*t[3],i=Math.atan2(t[1],t[0]),r=Math.PI/2+i-Math.atan2(t[3],t[2]);n=Math.sqrt(n)*Math.cos(r),e=Math.sqrt(e),this.skewX=r,this.skewY=0,this.rotation=-i,this.x=+t[4],this.y=+t[5],this.scaleX=e,this.scaleY=n,this.originX=0,this.originY=0}},t.prototype.decomposeTransform=function(){if(this.transform){var t=this.parent,e=this.transform;t&&t.transform&&(t.invTransform=t.invTransform||[1,0,0,1,0,0],be(fr,t.invTransform,e),e=fr);var n=this.originX,i=this.originY;(n||i)&&(gr[4]=n,gr[5]=i,be(fr,e,gr),fr[4]-=n,fr[5]-=i,e=fr),this.setLocalTransform(e)}},t.prototype.getGlobalScale=function(t){var e=this.transform;return t=t||[],e?(t[0]=Math.sqrt(e[0]*e[0]+e[1]*e[1]),t[1]=Math.sqrt(e[2]*e[2]+e[3]*e[3]),e[0]<0&&(t[0]=-t[0]),e[3]<0&&(t[1]=-t[1]),t):(t[0]=1,t[1]=1,t)},t.prototype.transformCoordToLocal=function(t,e){var n=[t,e],i=this.invTransform;return i&&Wt(n,n,i),n},t.prototype.transformCoordToGlobal=function(t,e){var n=[t,e],i=this.transform;return i&&Wt(n,n,i),n},t.prototype.getLineScale=function(){var t=this.transform;return t&&yr(t[0]-1)>1e-10&&yr(t[3]-1)>1e-10?Math.sqrt(yr(t[0]*t[3]-t[2]*t[1])):1},t.prototype.copyTransform=function(t){xr(this,t)},t.getLocalTransform=function(t,e){e=e||[];var n=t.originX||0,i=t.originY||0,r=t.scaleX,o=t.scaleY,a=t.anchorX,s=t.anchorY,l=t.rotation||0,u=t.x,h=t.y,c=t.skewX?Math.tan(t.skewX):0,p=t.skewY?Math.tan(-t.skewY):0;if(n||i||a||s){var d=n+a,f=i+s;e[4]=-d*r-c*f*o,e[5]=-f*o-p*d*r}else e[4]=e[5]=0;return e[0]=r,e[3]=o,e[1]=p*r,e[2]=c*o,l&&Se(e,e,l),e[4]+=n+u,e[5]+=i+h,e},t.initDefaultProps=function(){var e=t.prototype;e.scaleX=e.scaleY=e.globalScaleRatio=1,e.x=e.y=e.originX=e.originY=e.skewX=e.skewY=e.rotation=e.anchorX=e.anchorY=0}(),t}(),mr=["x","y","originX","originY","anchorX","anchorY","rotation","scaleX","scaleY","skewX","skewY"];function xr(t,e){for(var n=0;n=0?parseFloat(t)/100*e:parseFloat(t):t}function Dr(t,e,n){var i=e.position||"inside",r=null!=e.distance?e.distance:5,o=n.height,a=n.width,s=o/2,l=n.x,u=n.y,h="left",c="top";if(i instanceof Array)l+=Cr(i[0],n.width),u+=Cr(i[1],n.height),h=null,c=null;else switch(i){case"left":l-=r,u+=s,h="right",c="middle";break;case"right":l+=r+a,u+=s,c="middle";break;case"top":l+=a/2,u-=r,h="center",c="bottom";break;case"bottom":l+=a/2,u+=o+r,h="center";break;case"inside":l+=a/2,u+=s,h="center",c="middle";break;case"insideLeft":l+=r,u+=s,c="middle";break;case"insideRight":l+=a-r,u+=s,h="right",c="middle";break;case"insideTop":l+=a/2,u+=r,h="center";break;case"insideBottom":l+=a/2,u+=o-r,h="center",c="bottom";break;case"insideTopLeft":l+=r,u+=r;break;case"insideTopRight":l+=a-r,u+=r,h="right";break;case"insideBottomLeft":l+=r,u+=o-r,c="bottom";break;case"insideBottomRight":l+=a-r,u+=o-r,h="right",c="bottom"}return(t=t||{}).x=l,t.y=u,t.align=h,t.verticalAlign=c,t}var Ar="__zr_normal__",kr=mr.concat(["ignore"]),Lr=V(mr,(function(t,e){return t[e]=!0,t}),{ignore:!1}),Pr={},Or=new ze(0,0,0,0),Rr=function(){function t(t){this.id=M(),this.animators=[],this.currentStates=[],this.states={},this._init(t)}return t.prototype._init=function(t){this.attr(t)},t.prototype.drift=function(t,e,n){switch(this.draggable){case"horizontal":e=0;break;case"vertical":t=0}var i=this.transform;i||(i=this.transform=[1,0,0,1,0,0]),i[4]+=t,i[5]+=e,this.decomposeTransform(),this.markRedraw()},t.prototype.beforeUpdate=function(){},t.prototype.afterUpdate=function(){},t.prototype.update=function(){this.updateTransform(),this.__dirty&&this.updateInnerText()},t.prototype.updateInnerText=function(t){var e=this._textContent;if(e&&(!e.ignore||t)){this.textConfig||(this.textConfig={});var n=this.textConfig,i=n.local,r=e.innerTransformable,o=void 0,a=void 0,s=!1;r.parent=i?this:null;var l=!1;if(r.copyTransform(e),null!=n.position){var u=Or;n.layoutRect?u.copy(n.layoutRect):u.copy(this.getBoundingRect()),i||u.applyTransform(this.transform),this.calculateTextPosition?this.calculateTextPosition(Pr,n,u):Dr(Pr,n,u),r.x=Pr.x,r.y=Pr.y,o=Pr.align,a=Pr.verticalAlign;var h=n.origin;if(h&&null!=n.rotation){var c=void 0,p=void 0;"center"===h?(c=.5*u.width,p=.5*u.height):(c=Cr(h[0],u.width),p=Cr(h[1],u.height)),l=!0,r.originX=-r.x+c+(i?0:u.x),r.originY=-r.y+p+(i?0:u.y)}}null!=n.rotation&&(r.rotation=n.rotation);var d=n.offset;d&&(r.x+=d[0],r.y+=d[1],l||(r.originX=-d[0],r.originY=-d[1]));var f=null==n.inside?"string"==typeof n.position&&n.position.indexOf("inside")>=0:n.inside,g=this._innerTextDefaultStyle||(this._innerTextDefaultStyle={}),y=void 0,v=void 0,m=void 0;f&&this.canBeInsideText()?(y=n.insideFill,v=n.insideStroke,null!=y&&"auto"!==y||(y=this.getInsideTextFill()),null!=v&&"auto"!==v||(v=this.getInsideTextStroke(y),m=!0)):(y=n.outsideFill,v=n.outsideStroke,null!=y&&"auto"!==y||(y=this.getOutsideFill()),null!=v&&"auto"!==v||(v=this.getOutsideStroke(y),m=!0)),(y=y||"#000")===g.fill&&v===g.stroke&&m===g.autoStroke&&o===g.align&&a===g.verticalAlign||(s=!0,g.fill=y,g.stroke=v,g.autoStroke=m,g.align=o,g.verticalAlign=a,e.setDefaultTextStyle(g)),e.__dirty|=1,s&&e.dirtyStyle(!0)}},t.prototype.canBeInsideText=function(){return!0},t.prototype.getInsideTextFill=function(){return"#fff"},t.prototype.getInsideTextStroke=function(t){return"#000"},t.prototype.getOutsideFill=function(){return this.__zr&&this.__zr.isDarkMode()?ur:lr},t.prototype.getOutsideStroke=function(t){var e=this.__zr&&this.__zr.getBackgroundColor(),n="string"==typeof e&&qn(e);n||(n=[255,255,255,1]);for(var i=n[3],r=this.__zr.isDarkMode(),o=0;o<3;o++)n[o]=n[o]*i+(r?0:255)*(1-i);return n[3]=1,ri(n,"rgba")},t.prototype.traverse=function(t,e){},t.prototype.attrKV=function(t,e){"textConfig"===t?this.setTextConfig(e):"textContent"===t?this.setTextContent(e):"clipPath"===t?this.setClipPath(e):"extra"===t?(this.extra=this.extra||{},A(this.extra,e)):this[t]=e},t.prototype.hide=function(){this.ignore=!0,this.markRedraw()},t.prototype.show=function(){this.ignore=!1,this.markRedraw()},t.prototype.attr=function(t,e){if("string"==typeof t)this.attrKV(t,e);else if(q(t))for(var n=G(t),i=0;i0},t.prototype.getState=function(t){return this.states[t]},t.prototype.ensureState=function(t){var e=this.states;return e[t]||(e[t]={}),e[t]},t.prototype.clearStates=function(t){this.useState(Ar,!1,t)},t.prototype.useState=function(t,e,n,i){var r=t===Ar;if(this.hasState()||!r){var o=this.currentStates,a=this.stateTransition;if(!(P(o,t)>=0)||!e&&1!==o.length){var s;if(this.stateProxy&&!r&&(s=this.stateProxy(t)),s||(s=this.states&&this.states[t]),s||r){r||this.saveCurrentToNormalState(s);var l=!!(s&&s.hoverLayer||i);l&&this._toggleHoverLayerFlag(!0),this._applyStateObj(t,s,this._normalState,e,!n&&!this.__inHover&&a&&a.duration>0,a);var u=this._textContent,h=this._textGuide;return u&&u.useState(t,e,n,l),h&&h.useState(t,e,n,l),r?(this.currentStates=[],this._normalState={}):e?this.currentStates.push(t):this.currentStates=[t],this._updateAnimationTargets(),this.markRedraw(),!l&&this.__inHover&&(this._toggleHoverLayerFlag(!1),this.__dirty&=-2),s}I("State "+t+" not exists.")}}},t.prototype.useStates=function(t,e,n){if(t.length){var i=[],r=this.currentStates,o=t.length,a=o===r.length;if(a)for(var s=0;s0,d);var f=this._textContent,g=this._textGuide;f&&f.useStates(t,e,c),g&&g.useStates(t,e,c),this._updateAnimationTargets(),this.currentStates=t.slice(),this.markRedraw(),!c&&this.__inHover&&(this._toggleHoverLayerFlag(!1),this.__dirty&=-2)}else this.clearStates()},t.prototype.isSilent=function(){for(var t=this.silent,e=this.parent;!t&&e;){if(e.silent){t=!0;break}e=e.parent}return t},t.prototype._updateAnimationTargets=function(){for(var t=0;t=0){var n=this.currentStates.slice();n.splice(e,1),this.useStates(n)}},t.prototype.replaceState=function(t,e,n){var i=this.currentStates.slice(),r=P(i,t),o=P(i,e)>=0;r>=0?o?i.splice(r,1):i[r]=e:n&&!o&&i.push(e),this.useStates(i)},t.prototype.toggleState=function(t,e){e?this.useState(t,!0):this.removeState(t)},t.prototype._mergeStates=function(t){for(var e,n={},i=0;i=0&&e.splice(n,1)})),this.animators.push(t),n&&n.animation.addAnimator(t),n&&n.wakeUp()},t.prototype.updateDuringAnimation=function(t){this.markRedraw()},t.prototype.stopAnimation=function(t,e){for(var n=this.animators,i=n.length,r=[],o=0;o0&&n.during&&o[0].during((function(t,e){n.during(e)}));for(var p=0;p0||r.force&&!a.length){var w,S=void 0,M=void 0,I=void 0;if(s){M={},p&&(S={});for(_=0;_=0&&(n.splice(i,0,t),this._doAdd(t))}return this},e.prototype.replace=function(t,e){var n=P(this._children,t);return n>=0&&this.replaceAt(e,n),this},e.prototype.replaceAt=function(t,e){var n=this._children,i=n[e];if(t&&t!==this&&t.parent!==this&&t!==i){n[e]=t,i.parent=null;var r=this.__zr;r&&i.removeSelfFromZr(r),this._doAdd(t)}return this},e.prototype._doAdd=function(t){t.parent&&t.parent.remove(t),t.parent=this;var e=this.__zr;e&&e!==t.__zr&&t.addSelfToZr(e),e&&e.refresh()},e.prototype.remove=function(t){var e=this.__zr,n=this._children,i=P(n,t);return i<0||(n.splice(i,1),t.parent=null,e&&t.removeSelfFromZr(e),e&&e.refresh()),this},e.prototype.removeAll=function(){for(var t=this._children,e=this.__zr,n=0;n0&&(this._stillFrameAccum++,this._stillFrameAccum>this._sleepAfterStill&&this.animation.stop())},t.prototype.setSleepAfterStill=function(t){this._sleepAfterStill=t},t.prototype.wakeUp=function(){this._disposed||(this.animation.start(),this._stillFrameAccum=0)},t.prototype.refreshHover=function(){this._needsRefreshHover=!0},t.prototype.refreshHoverImmediately=function(){this._disposed||(this._needsRefreshHover=!1,this.painter.refreshHover&&"canvas"===this.painter.getType()&&this.painter.refreshHover())},t.prototype.resize=function(t){this._disposed||(t=t||{},this.painter.resize(t.width,t.height),this.handler.resize())},t.prototype.clearAnimation=function(){this._disposed||this.animation.clear()},t.prototype.getWidth=function(){if(!this._disposed)return this.painter.getWidth()},t.prototype.getHeight=function(){if(!this._disposed)return this.painter.getHeight()},t.prototype.setCursorStyle=function(t){this._disposed||this.handler.setCursorStyle(t)},t.prototype.findHover=function(t,e){if(!this._disposed)return this.handler.findHover(t,e)},t.prototype.on=function(t,e,n){return this._disposed||this.handler.on(t,e,n),this},t.prototype.off=function(t,e){this._disposed||this.handler.off(t,e)},t.prototype.trigger=function(t,e){this._disposed||this.handler.trigger(t,e)},t.prototype.clear=function(){if(!this._disposed){for(var t=this.storage.getRoots(),e=0;e0){if(t<=r)return a;if(t>=o)return s}else{if(t>=r)return a;if(t<=o)return s}else{if(t===r)return a;if(t===o)return s}return(t-r)/l*u+a}function $r(t,e){switch(t){case"center":case"middle":t="50%";break;case"left":case"top":t="0%";break;case"right":case"bottom":t="100%"}return U(t)?(n=t,n.replace(/^\s+|\s+$/g,"")).match(/%$/)?parseFloat(t)/100*e:parseFloat(t):null==t?NaN:+t;var n}function Jr(t,e,n){return null==e&&(e=10),e=Math.min(Math.max(0,e),20),t=(+t).toFixed(e),n?t:+t}function Qr(t){return t.sort((function(t,e){return t-e})),t}function to(t){if(t=+t,isNaN(t))return 0;if(t>1e-14)for(var e=1,n=0;n<15;n++,e*=10)if(Math.round(t*e)/e===t)return n;return eo(t)}function eo(t){var e=t.toString().toLowerCase(),n=e.indexOf("e"),i=n>0?+e.slice(n+1):0,r=n>0?n:e.length,o=e.indexOf("."),a=o<0?0:r-1-o;return Math.max(0,a-i)}function no(t,e){var n=Math.log,i=Math.LN10,r=Math.floor(n(t[1]-t[0])/i),o=Math.round(n(Math.abs(e[1]-e[0]))/i),a=Math.min(Math.max(-r+o,0),20);return isFinite(a)?a:20}function io(t,e){var n=V(t,(function(t,e){return t+(isNaN(e)?0:e)}),0);if(0===n)return[];for(var i=Math.pow(10,e),r=z(t,(function(t){return(isNaN(t)?0:t)/n*i*100})),o=100*i,a=z(r,(function(t){return Math.floor(t)})),s=V(a,(function(t,e){return t+e}),0),l=z(r,(function(t,e){return t-a[e]}));su&&(u=l[c],h=c);++a[h],l[h]=0,++s}return z(a,(function(t){return t/i}))}function ro(t,e){var n=Math.max(to(t),to(e)),i=t+e;return n>20?i:Jr(i,n)}var oo=9007199254740991;function ao(t){var e=2*Math.PI;return(t%e+e)%e}function so(t){return t>-1e-4&&t=10&&e++,e}function po(t,e){var n=co(t),i=Math.pow(10,n),r=t/i;return t=(e?r<1.5?1:r<2.5?2:r<4?3:r<7?5:10:r<1?1:r<2?2:r<3?3:r<5?5:10)*i,n>=-20?+t.toFixed(n<0?-n:0):t}function fo(t,e){var n=(t.length-1)*e+1,i=Math.floor(n),r=+t[i-1],o=n-i;return o?r+o*(t[i]-r):r}function go(t){t.sort((function(t,e){return s(t,e,0)?-1:1}));for(var e=-1/0,n=1,i=0;i=0||r&&P(r,s)<0)){var l=n.getShallow(s,e);null!=l&&(o[t[a][0]]=l)}}return o}}var ra=ia([["fill","color"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["opacity"],["shadowColor"]]),oa=function(){function t(){}return t.prototype.getAreaStyle=function(t,e){return ra(this,t,e)},t}(),aa=new En(50);function sa(t){if("string"==typeof t){var e=aa.get(t);return e&&e.image}return t}function la(t,e,n,i,r){if(t){if("string"==typeof t){if(e&&e.__zrImageSrc===t||!n)return e;var o=aa.get(t),a={hostEl:n,cb:i,cbPayload:r};return o?!ha(e=o.image)&&o.pending.push(a):((e=h.loadImage(t,ua,ua)).__zrImageSrc=t,aa.put(t,e.__cachedImgObj={image:e,pending:[a]})),e}return t}return e}function ua(){var t=this.__cachedImgObj;this.onload=this.onerror=this.__cachedImgObj=null;for(var e=0;e=a;l++)s-=a;var u=br(n,e);return u>s&&(n="",u=0),s=t-u,r.ellipsis=n,r.ellipsisWidth=u,r.contentWidth=s,r.containerWidth=t,r}function fa(t,e){var n=e.containerWidth,i=e.font,r=e.contentWidth;if(!n)return"";var o=br(t,i);if(o<=n)return t;for(var a=0;;a++){if(o<=r||a>=e.maxIterations){t+=e.ellipsis;break}var s=0===a?ga(t,r,e.ascCharWidth,e.cnCharWidth):o>0?Math.floor(t.length*r/o):0;o=br(t=t.substr(0,s),i)}return""===t&&(t=e.placeholder),t}function ga(t,e,n,i){for(var r=0,o=0,a=t.length;o0&&f+i.accumWidth>i.width&&(o=e.split("\n"),c=!0),i.accumWidth=f}else{var g=wa(e,h,i.width,i.breakAll,i.accumWidth);i.accumWidth=g.accumWidth+d,a=g.linesWidths,o=g.lines}}else o=e.split("\n");for(var y=0;y=32&&e<=591||e>=880&&e<=4351||e>=4608&&e<=5119||e>=7680&&e<=8303}(t)||!!_a[t]}function wa(t,e,n,i,r){for(var o=[],a=[],s="",l="",u=0,h=0,c=0;cn:r+h+d>n)?h?(s||l)&&(f?(s||(s=l,l="",h=u=0),o.push(s),a.push(h-u),l+=p,s="",h=u+=d):(l&&(s+=l,l="",u=0),o.push(s),a.push(h),s=p,h=d)):f?(o.push(l),a.push(u),l=p,u=d):(o.push(p),a.push(d)):(h+=d,f?(l+=p,u+=d):(l&&(s+=l,l="",u=0),s+=p))}else l&&(s+=l,h+=u),o.push(s),a.push(h),s="",l="",u=0,h=0}return o.length||s||(s=t,l="",u=0),l&&(s+=l),s&&(o.push(s),a.push(h)),1===o.length&&(h+=r),{accumWidth:h,lines:o,linesWidths:a}}var Sa="__zr_style_"+Math.round(10*Math.random()),Ma={shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,shadowColor:"#000",opacity:1,blend:"source-over"},Ia={style:{shadowBlur:!0,shadowOffsetX:!0,shadowOffsetY:!0,shadowColor:!0,opacity:!0}};Ma[Sa]=!0;var Ta=["z","z2","invisible"],Ca=["invisible"],Da=function(t){function e(e){return t.call(this,e)||this}var i;return n(e,t),e.prototype._init=function(e){for(var n=G(e),i=0;i1e-4)return s[0]=t-n,s[1]=e-i,l[0]=t+n,void(l[1]=e+i);if(Ea[0]=Ra(r)*n+t,Ea[1]=Oa(r)*i+e,za[0]=Ra(o)*n+t,za[1]=Oa(o)*i+e,u(s,Ea,za),h(l,Ea,za),(r%=Na)<0&&(r+=Na),(o%=Na)<0&&(o+=Na),r>o&&!a?o+=Na:rr&&(Va[0]=Ra(d)*n+t,Va[1]=Oa(d)*i+e,u(s,Va,s),h(l,Va,l))}var Ua={M:1,L:2,C:3,Q:4,A:5,Z:6,R:7},Za=[],ja=[],qa=[],Ka=[],$a=[],Ja=[],Qa=Math.min,ts=Math.max,es=Math.cos,ns=Math.sin,is=Math.abs,rs=Math.PI,os=2*rs,as="undefined"!=typeof Float32Array,ss=[];function ls(t){return Math.round(t/rs*1e8)/1e8%2*rs}function us(t,e){var n=ls(t[0]);n<0&&(n+=os);var i=n-t[0],r=t[1];r+=i,!e&&r-n>=os?r=n+os:e&&n-r>=os?r=n-os:!e&&n>r?r=n+(os-ls(n-r)):e&&n0&&(this._ux=is(n/sr/t)||0,this._uy=is(n/sr/e)||0)},t.prototype.setDPR=function(t){this.dpr=t},t.prototype.setContext=function(t){this._ctx=t},t.prototype.getContext=function(){return this._ctx},t.prototype.beginPath=function(){return this._ctx&&this._ctx.beginPath(),this.reset(),this},t.prototype.reset=function(){this._saveData&&(this._len=0),this._pathSegLen&&(this._pathSegLen=null,this._pathLen=0),this._version++},t.prototype.moveTo=function(t,e){return this._drawPendingPt(),this.addData(Ua.M,t,e),this._ctx&&this._ctx.moveTo(t,e),this._x0=t,this._y0=e,this._xi=t,this._yi=e,this},t.prototype.lineTo=function(t,e){var n=is(t-this._xi),i=is(e-this._yi),r=n>this._ux||i>this._uy;if(this.addData(Ua.L,t,e),this._ctx&&r&&this._ctx.lineTo(t,e),r)this._xi=t,this._yi=e,this._pendingPtDist=0;else{var o=n*n+i*i;o>this._pendingPtDist&&(this._pendingPtX=t,this._pendingPtY=e,this._pendingPtDist=o)}return this},t.prototype.bezierCurveTo=function(t,e,n,i,r,o){return this._drawPendingPt(),this.addData(Ua.C,t,e,n,i,r,o),this._ctx&&this._ctx.bezierCurveTo(t,e,n,i,r,o),this._xi=r,this._yi=o,this},t.prototype.quadraticCurveTo=function(t,e,n,i){return this._drawPendingPt(),this.addData(Ua.Q,t,e,n,i),this._ctx&&this._ctx.quadraticCurveTo(t,e,n,i),this._xi=n,this._yi=i,this},t.prototype.arc=function(t,e,n,i,r,o){this._drawPendingPt(),ss[0]=i,ss[1]=r,us(ss,o),i=ss[0];var a=(r=ss[1])-i;return this.addData(Ua.A,t,e,n,n,i,a,0,o?0:1),this._ctx&&this._ctx.arc(t,e,n,i,r,o),this._xi=es(r)*n+t,this._yi=ns(r)*n+e,this},t.prototype.arcTo=function(t,e,n,i,r){return this._drawPendingPt(),this._ctx&&this._ctx.arcTo(t,e,n,i,r),this},t.prototype.rect=function(t,e,n,i){return this._drawPendingPt(),this._ctx&&this._ctx.rect(t,e,n,i),this.addData(Ua.R,t,e,n,i),this},t.prototype.closePath=function(){this._drawPendingPt(),this.addData(Ua.Z);var t=this._ctx,e=this._x0,n=this._y0;return t&&t.closePath(),this._xi=e,this._yi=n,this},t.prototype.fill=function(t){t&&t.fill(),this.toStatic()},t.prototype.stroke=function(t){t&&t.stroke(),this.toStatic()},t.prototype.len=function(){return this._len},t.prototype.setData=function(t){var e=t.length;this.data&&this.data.length===e||!as||(this.data=new Float32Array(e));for(var n=0;nu.length&&(this._expandData(),u=this.data);for(var h=0;h0&&(this._ctx&&this._ctx.lineTo(this._pendingPtX,this._pendingPtY),this._pendingPtDist=0)},t.prototype._expandData=function(){if(!(this.data instanceof Array)){for(var t=[],e=0;e11&&(this.data=new Float32Array(t)))}},t.prototype.getBoundingRect=function(){qa[0]=qa[1]=$a[0]=$a[1]=Number.MAX_VALUE,Ka[0]=Ka[1]=Ja[0]=Ja[1]=-Number.MAX_VALUE;var t,e=this.data,n=0,i=0,r=0,o=0;for(t=0;tn||is(y)>i||c===e-1)&&(f=Math.sqrt(A*A+y*y),r=g,o=x);break;case Ua.C:var v=t[c++],m=t[c++],x=(g=t[c++],t[c++]),_=t[c++],b=t[c++];f=Mn(r,o,v,m,g,x,_,b,10),r=_,o=b;break;case Ua.Q:f=kn(r,o,v=t[c++],m=t[c++],g=t[c++],x=t[c++],10),r=g,o=x;break;case Ua.A:var w=t[c++],S=t[c++],M=t[c++],I=t[c++],T=t[c++],C=t[c++],D=C+T;c+=1,d&&(a=es(T)*M+w,s=ns(T)*I+S),f=ts(M,I)*Qa(os,Math.abs(C)),r=es(D)*M+w,o=ns(D)*I+S;break;case Ua.R:a=r=t[c++],s=o=t[c++],f=2*t[c++]+2*t[c++];break;case Ua.Z:var A=a-r;y=s-o;f=Math.sqrt(A*A+y*y),r=a,o=s}f>=0&&(l[h++]=f,u+=f)}return this._pathLen=u,u},t.prototype.rebuildPath=function(t,e){var n,i,r,o,a,s,l,u,h,c,p=this.data,d=this._ux,f=this._uy,g=this._len,y=e<1,v=0,m=0,x=0;if(!y||(this._pathSegLen||this._calculateLength(),l=this._pathSegLen,u=e*this._pathLen))t:for(var _=0;_0&&(t.lineTo(h,c),x=0),b){case Ua.M:n=r=p[_++],i=o=p[_++],t.moveTo(r,o);break;case Ua.L:a=p[_++],s=p[_++];var S=is(a-r),M=is(s-o);if(S>d||M>f){if(y){if(v+(j=l[m++])>u){var I=(u-v)/j;t.lineTo(r*(1-I)+a*I,o*(1-I)+s*I);break t}v+=j}t.lineTo(a,s),r=a,o=s,x=0}else{var T=S*S+M*M;T>x&&(h=a,c=s,x=T)}break;case Ua.C:var C=p[_++],D=p[_++],A=p[_++],k=p[_++],L=p[_++],P=p[_++];if(y){if(v+(j=l[m++])>u){wn(r,C,A,L,I=(u-v)/j,Za),wn(o,D,k,P,I,ja),t.bezierCurveTo(Za[1],ja[1],Za[2],ja[2],Za[3],ja[3]);break t}v+=j}t.bezierCurveTo(C,D,A,k,L,P),r=L,o=P;break;case Ua.Q:C=p[_++],D=p[_++],A=p[_++],k=p[_++];if(y){if(v+(j=l[m++])>u){Dn(r,C,A,I=(u-v)/j,Za),Dn(o,D,k,I,ja),t.quadraticCurveTo(Za[1],ja[1],Za[2],ja[2]);break t}v+=j}t.quadraticCurveTo(C,D,A,k),r=A,o=k;break;case Ua.A:var O=p[_++],R=p[_++],N=p[_++],E=p[_++],z=p[_++],V=p[_++],B=p[_++],F=!p[_++],G=N>E?N:E,W=is(N-E)>.001,H=z+V,Y=!1;if(y)v+(j=l[m++])>u&&(H=z+V*(u-v)/j,Y=!0),v+=j;if(W&&t.ellipse?t.ellipse(O,R,N,E,B,z,H,F):t.arc(O,R,G,z,H,F),Y)break t;w&&(n=es(z)*N+O,i=ns(z)*E+R),r=es(H)*N+O,o=ns(H)*E+R;break;case Ua.R:n=r=p[_],i=o=p[_+1],a=p[_++],s=p[_++];var X=p[_++],U=p[_++];if(y){if(v+(j=l[m++])>u){var Z=u-v;t.moveTo(a,s),t.lineTo(a+Qa(Z,X),s),(Z-=X)>0&&t.lineTo(a+X,s+Qa(Z,U)),(Z-=U)>0&&t.lineTo(a+ts(X-Z,0),s+U),(Z-=X)>0&&t.lineTo(a,s+ts(U-Z,0));break t}v+=j}t.rect(a,s,X,U);break;case Ua.Z:if(y){var j;if(v+(j=l[m++])>u){I=(u-v)/j;t.lineTo(r*(1-I)+n*I,o*(1-I)+i*I);break t}v+=j}t.closePath(),r=n,o=i}}},t.prototype.clone=function(){var e=new t,n=this.data;return e.data=n.slice?n.slice():Array.prototype.slice.call(n),e._len=this._len,e},t.CMD=Ua,t.initDefaultProps=function(){var e=t.prototype;e._saveData=!0,e._ux=0,e._uy=0,e._pendingPtDist=0,e._version=0}(),t}();function cs(t,e,n,i,r,o,a){if(0===r)return!1;var s=r,l=0;if(a>e+s&&a>i+s||at+s&&o>n+s||oe+c&&h>i+c&&h>o+c&&h>s+c||ht+c&&u>n+c&&u>r+c&&u>a+c||ue+u&&l>i+u&&l>o+u||lt+u&&s>n+u&&s>r+u||sn||h+ur&&(r+=ys);var p=Math.atan2(l,s);return p<0&&(p+=ys),p>=i&&p<=r||p+ys>=i&&p+ys<=r}function ms(t,e,n,i,r,o){if(o>e&&o>i||or?s:0}var xs=hs.CMD,_s=2*Math.PI;var bs=[-1,-1,-1],ws=[-1,-1];function Ss(t,e,n,i,r,o,a,s,l,u){if(u>e&&u>i&&u>o&&u>s||u1&&(h=void 0,h=ws[0],ws[0]=ws[1],ws[1]=h),f=mn(e,i,o,s,ws[0]),d>1&&(g=mn(e,i,o,s,ws[1]))),2===d?ve&&s>i&&s>o||s=0&&h<=1&&(r[l++]=h);else{var u=a*a-4*o*s;if(yn(u))(h=-a/(2*o))>=0&&h<=1&&(r[l++]=h);else if(u>0){var h,c=ln(u),p=(-a-c)/(2*o);(h=(-a+c)/(2*o))>=0&&h<=1&&(r[l++]=h),p>=0&&p<=1&&(r[l++]=p)}}return l}(e,i,o,s,bs);if(0===l)return 0;var u=Cn(e,i,o);if(u>=0&&u<=1){for(var h=0,c=In(e,i,o,u),p=0;pn||s<-n)return 0;var l=Math.sqrt(n*n-s*s);bs[0]=-l,bs[1]=l;var u=Math.abs(i-r);if(u<1e-4)return 0;if(u>=_s-1e-4){i=0,r=_s;var h=o?1:-1;return a>=bs[0]+t&&a<=bs[1]+t?h:0}if(i>r){var c=i;i=r,r=c}i<0&&(i+=_s,r+=_s);for(var p=0,d=0;d<2;d++){var f=bs[d];if(f+t>a){var g=Math.atan2(s,f);h=o?1:-1;g<0&&(g=_s+g),(g>=i&&g<=r||g+_s>=i&&g+_s<=r)&&(g>Math.PI/2&&g<1.5*Math.PI&&(h=-h),p+=h)}}return p}function Ts(t,e,n,i,r){for(var o,a,s,l,u=t.data,h=t.len(),c=0,p=0,d=0,f=0,g=0,y=0;y1&&(n||(c+=ms(p,d,f,g,i,r))),m&&(f=p=u[y],g=d=u[y+1]),v){case xs.M:p=f=u[y++],d=g=u[y++];break;case xs.L:if(n){if(cs(p,d,u[y],u[y+1],e,i,r))return!0}else c+=ms(p,d,u[y],u[y+1],i,r)||0;p=u[y++],d=u[y++];break;case xs.C:if(n){if(ps(p,d,u[y++],u[y++],u[y++],u[y++],u[y],u[y+1],e,i,r))return!0}else c+=Ss(p,d,u[y++],u[y++],u[y++],u[y++],u[y],u[y+1],i,r)||0;p=u[y++],d=u[y++];break;case xs.Q:if(n){if(ds(p,d,u[y++],u[y++],u[y],u[y+1],e,i,r))return!0}else c+=Ms(p,d,u[y++],u[y++],u[y],u[y+1],i,r)||0;p=u[y++],d=u[y++];break;case xs.A:var x=u[y++],_=u[y++],b=u[y++],w=u[y++],S=u[y++],M=u[y++];y+=1;var I=!!(1-u[y++]);o=Math.cos(S)*b+x,a=Math.sin(S)*w+_,m?(f=o,g=a):c+=ms(p,d,o,a,i,r);var T=(i-x)*w/b+x;if(n){if(vs(x,_,w,S,S+M,I,e,T,r))return!0}else c+=Is(x,_,w,S,S+M,I,T,r);p=Math.cos(S+M)*b+x,d=Math.sin(S+M)*w+_;break;case xs.R:if(f=p=u[y++],g=d=u[y++],o=f+u[y++],a=g+u[y++],n){if(cs(f,g,o,g,e,i,r)||cs(o,g,o,a,e,i,r)||cs(o,a,f,a,e,i,r)||cs(f,a,f,g,e,i,r))return!0}else c+=ms(o,g,o,a,i,r),c+=ms(f,a,f,g,i,r);break;case xs.Z:if(n){if(cs(p,d,f,g,e,i,r))return!0}else c+=ms(p,d,f,g,i,r);p=f,d=g}}return n||(s=d,l=g,Math.abs(s-l)<1e-4)||(c+=ms(p,d,f,g,i,r)||0),0!==c}var Cs=k({fill:"#000",stroke:null,strokePercent:1,fillOpacity:1,strokeOpacity:1,lineDashOffset:0,lineWidth:1,lineCap:"butt",miterLimit:10,strokeNoScale:!1,strokeFirst:!1},Ma),Ds={style:k({fill:!0,stroke:!0,strokePercent:!0,fillOpacity:!0,strokeOpacity:!0,lineDashOffset:!0,lineWidth:!0,miterLimit:!0},Ia.style)},As=mr.concat(["invisible","culling","z","z2","zlevel","parent"]),ks=function(t){function e(e){return t.call(this,e)||this}var i;return n(e,t),e.prototype.update=function(){var n=this;t.prototype.update.call(this);var i=this.style;if(i.decal){var r=this._decalEl=this._decalEl||new e;r.buildPath===e.prototype.buildPath&&(r.buildPath=function(t){n.buildPath(t,n.shape)}),r.silent=!0;var o=r.style;for(var a in i)o[a]!==i[a]&&(o[a]=i[a]);o.fill=i.fill?i.decal:null,o.decal=null,o.shadowColor=null,i.strokeFirst&&(o.stroke=null);for(var s=0;s.5?lr:e>.2?"#eee":ur}if(t)return ur}return lr},e.prototype.getInsideTextStroke=function(t){var e=this.style.fill;if(U(e)){var n=this.__zr;if(!(!n||!n.isDarkMode())===oi(t,0)<.4)return e}},e.prototype.buildPath=function(t,e,n){},e.prototype.pathUpdated=function(){this.__dirty&=-5},e.prototype.getUpdatedPathProxy=function(t){return!this.path&&this.createPathProxy(),this.path.beginPath(),this.buildPath(this.path,this.shape,t),this.path},e.prototype.createPathProxy=function(){this.path=new hs(!1)},e.prototype.hasStroke=function(){var t=this.style,e=t.stroke;return!(null==e||"none"===e||!(t.lineWidth>0))},e.prototype.hasFill=function(){var t=this.style.fill;return null!=t&&"none"!==t},e.prototype.getBoundingRect=function(){var t=this._rect,e=this.style,n=!t;if(n){var i=!1;this.path||(i=!0,this.createPathProxy());var r=this.path;(i||4&this.__dirty)&&(r.beginPath(),this.buildPath(r,this.shape,!1),this.pathUpdated()),t=r.getBoundingRect()}if(this._rect=t,this.hasStroke()&&this.path&&this.path.len()>0){var o=this._rectStroke||(this._rectStroke=t.clone());if(this.__dirty||n){o.copy(t);var a=e.strokeNoScale?this.getLineScale():1,s=e.lineWidth;if(!this.hasFill()){var l=this.strokeContainThreshold;s=Math.max(s,null==l?4:l)}a>1e-10&&(o.width+=s/a,o.height+=s/a,o.x-=s/a/2,o.y-=s/a/2)}return o}return t},e.prototype.contain=function(t,e){var n=this.transformCoordToLocal(t,e),i=this.getBoundingRect(),r=this.style;if(t=n[0],e=n[1],i.contain(t,e)){var o=this.path;if(this.hasStroke()){var a=r.lineWidth,s=r.strokeNoScale?this.getLineScale():1;if(s>1e-10&&(this.hasFill()||(a=Math.max(a,this.strokeContainThreshold)),function(t,e,n,i){return Ts(t,e,!0,n,i)}(o,a/s,t,e)))return!0}if(this.hasFill())return function(t,e,n){return Ts(t,0,!1,e,n)}(o,t,e)}return!1},e.prototype.dirtyShape=function(){this.__dirty|=4,this._rect&&(this._rect=null),this._decalEl&&this._decalEl.dirtyShape(),this.markRedraw()},e.prototype.dirty=function(){this.dirtyStyle(),this.dirtyShape()},e.prototype.animateShape=function(t){return this.animate("shape",t)},e.prototype.updateDuringAnimation=function(t){"style"===t?this.dirtyStyle():"shape"===t?this.dirtyShape():this.markRedraw()},e.prototype.attrKV=function(e,n){"shape"===e?this.setShape(n):t.prototype.attrKV.call(this,e,n)},e.prototype.setShape=function(t,e){var n=this.shape;return n||(n=this.shape={}),"string"==typeof t?n[t]=e:A(n,t),this.dirtyShape(),this},e.prototype.shapeChanged=function(){return!!(4&this.__dirty)},e.prototype.createStyle=function(t){return mt(Cs,t)},e.prototype._innerSaveToNormal=function(e){t.prototype._innerSaveToNormal.call(this,e);var n=this._normalState;e.shape&&!n.shape&&(n.shape=A({},this.shape))},e.prototype._applyStateObj=function(e,n,i,r,o,a){t.prototype._applyStateObj.call(this,e,n,i,r,o,a);var s,l=!(n&&r);if(n&&n.shape?o?r?s=n.shape:(s=A({},i.shape),A(s,n.shape)):(s=A({},r?this.shape:i.shape),A(s,n.shape)):l&&(s=i.shape),s)if(o){this.shape=A({},this.shape);for(var u={},h=G(s),c=0;c0},e.prototype.hasFill=function(){var t=this.style.fill;return null!=t&&"none"!==t},e.prototype.createStyle=function(t){return mt(Ls,t)},e.prototype.setBoundingRect=function(t){this._rect=t},e.prototype.getBoundingRect=function(){var t=this.style;if(!this._rect){var e=t.text;null!=e?e+="":e="";var n=Sr(e,t.font,t.textAlign,t.textBaseline);if(n.x+=t.x||0,n.y+=t.y||0,this.hasStroke()){var i=t.lineWidth;n.x-=i/2,n.y-=i/2,n.width+=i,n.height+=i}this._rect=n}return this._rect},e.initDefaultProps=void(e.prototype.dirtyRectTolerance=10),e}(Da);Ps.prototype.type="tspan";var Os=k({x:0,y:0},Ma),Rs={style:k({x:!0,y:!0,width:!0,height:!0,sx:!0,sy:!0,sWidth:!0,sHeight:!0},Ia.style)};var Ns=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.createStyle=function(t){return mt(Os,t)},e.prototype._getSize=function(t){var e=this.style,n=e[t];if(null!=n)return n;var i,r=(i=e.image)&&"string"!=typeof i&&i.width&&i.height?e.image:this.__image;if(!r)return 0;var o="width"===t?"height":"width",a=e[o];return null==a?r[t]:r[t]/r[o]*a},e.prototype.getWidth=function(){return this._getSize("width")},e.prototype.getHeight=function(){return this._getSize("height")},e.prototype.getAnimationStyleProps=function(){return Rs},e.prototype.getBoundingRect=function(){var t=this.style;return this._rect||(this._rect=new ze(t.x||0,t.y||0,this.getWidth(),this.getHeight())),this._rect},e}(Da);Ns.prototype.type="image";var Es=Math.round;function zs(t,e,n){if(e){var i=e.x1,r=e.x2,o=e.y1,a=e.y2;t.x1=i,t.x2=r,t.y1=o,t.y2=a;var s=n&&n.lineWidth;return s?(Es(2*i)===Es(2*r)&&(t.x1=t.x2=Bs(i,s,!0)),Es(2*o)===Es(2*a)&&(t.y1=t.y2=Bs(o,s,!0)),t):t}}function Vs(t,e,n){if(e){var i=e.x,r=e.y,o=e.width,a=e.height;t.x=i,t.y=r,t.width=o,t.height=a;var s=n&&n.lineWidth;return s?(t.x=Bs(i,s,!0),t.y=Bs(r,s,!0),t.width=Math.max(Bs(i+o,s,!1)-t.x,0===o?0:1),t.height=Math.max(Bs(r+a,s,!1)-t.y,0===a?0:1),t):t}}function Bs(t,e,n){if(!e)return t;var i=Es(2*t);return(i+Es(e))%2==0?i/2:(i+(n?1:-1))/2}var Fs=function(){this.x=0,this.y=0,this.width=0,this.height=0},Gs={},Ws=function(t){function e(e){return t.call(this,e)||this}return n(e,t),e.prototype.getDefaultShape=function(){return new Fs},e.prototype.buildPath=function(t,e){var n,i,r,o;if(this.subPixelOptimize){var a=Vs(Gs,e,this.style);n=a.x,i=a.y,r=a.width,o=a.height,a.r=e.r,e=a}else n=e.x,i=e.y,r=e.width,o=e.height;e.r?function(t,e){var n,i,r,o,a,s=e.x,l=e.y,u=e.width,h=e.height,c=e.r;u<0&&(s+=u,u=-u),h<0&&(l+=h,h=-h),"number"==typeof c?n=i=r=o=c:c instanceof Array?1===c.length?n=i=r=o=c[0]:2===c.length?(n=r=c[0],i=o=c[1]):3===c.length?(n=c[0],i=o=c[1],r=c[2]):(n=c[0],i=c[1],r=c[2],o=c[3]):n=i=r=o=0,n+i>u&&(n*=u/(a=n+i),i*=u/a),r+o>u&&(r*=u/(a=r+o),o*=u/a),i+r>h&&(i*=h/(a=i+r),r*=h/a),n+o>h&&(n*=h/(a=n+o),o*=h/a),t.moveTo(s+n,l),t.lineTo(s+u-i,l),0!==i&&t.arc(s+u-i,l+i,i,-Math.PI/2,0),t.lineTo(s+u,l+h-r),0!==r&&t.arc(s+u-r,l+h-r,r,0,Math.PI/2),t.lineTo(s+o,l+h),0!==o&&t.arc(s+o,l+h-o,o,Math.PI/2,Math.PI),t.lineTo(s,l+n),0!==n&&t.arc(s+n,l+n,n,Math.PI,1.5*Math.PI)}(t,e):t.rect(n,i,r,o)},e.prototype.isZeroArea=function(){return!this.shape.width||!this.shape.height},e}(ks);Ws.prototype.type="rect";var Hs={fill:"#000"},Ys={style:k({fill:!0,stroke:!0,fillOpacity:!0,strokeOpacity:!0,lineWidth:!0,fontSize:!0,lineHeight:!0,width:!0,height:!0,textShadowColor:!0,textShadowBlur:!0,textShadowOffsetX:!0,textShadowOffsetY:!0,backgroundColor:!0,padding:!0,borderColor:!0,borderWidth:!0,borderRadius:!0},Ia.style)},Xs=function(t){function e(e){var n=t.call(this)||this;return n.type="text",n._children=[],n._defaultStyle=Hs,n.attr(e),n}return n(e,t),e.prototype.childrenRef=function(){return this._children},e.prototype.update=function(){t.prototype.update.call(this),this.styleChanged()&&this._updateSubTexts();for(var e=0;ed&&h){var f=Math.floor(d/l);n=n.slice(0,f)}if(t&&a&&null!=c)for(var g=da(c,o,e.ellipsis,{minChar:e.truncateMinChar,placeholder:e.placeholder}),y=0;y0,T=null!=t.width&&("truncate"===t.overflow||"break"===t.overflow||"breakAll"===t.overflow),C=i.calculatedLineHeight,D=0;Dl&&xa(n,t.substring(l,u),e,s),xa(n,i[2],e,s,i[1]),l=ca.lastIndex}lo){b>0?(m.tokens=m.tokens.slice(0,b),y(m,_,x),n.lines=n.lines.slice(0,v+1)):n.lines=n.lines.slice(0,v);break t}var C=w.width,D=null==C||"auto"===C;if("string"==typeof C&&"%"===C.charAt(C.length-1))P.percentWidth=C,h.push(P),P.contentWidth=br(P.text,I);else{if(D){var A=w.backgroundColor,k=A&&A.image;k&&ha(k=sa(k))&&(P.width=Math.max(P.width,k.width*T/k.height))}var L=f&&null!=r?r-_:null;null!=L&&L=0&&"right"===(C=x[T]).align;)this._placeToken(C,t,b,f,I,"right",y),w-=C.width,I-=C.width,T--;for(M+=(n-(M-d)-(g-I)-w)/2;S<=T;)C=x[S],this._placeToken(C,t,b,f,M+C.width/2,"center",y),M+=C.width,S++;f+=b}},e.prototype._placeToken=function(t,e,n,i,r,o,s){var l=e.rich[t.styleName]||{};l.text=t.text;var u=t.verticalAlign,h=i+n/2;"top"===u?h=i+t.height/2:"bottom"===u&&(h=i+n-t.height/2),!t.isLineHolder&&il(l)&&this._renderBackground(l,e,"right"===o?r-t.width:"center"===o?r-t.width/2:r,h-t.height/2,t.width,t.height);var c=!!l.backgroundColor,p=t.textPadding;p&&(r=el(r,o,p),h-=t.height/2-p[0]-t.innerHeight/2);var d=this._getOrCreateChild(Ps),f=d.createStyle();d.useStyle(f);var g=this._defaultStyle,y=!1,v=0,m=tl("fill"in l?l.fill:"fill"in e?e.fill:(y=!0,g.fill)),x=Qs("stroke"in l?l.stroke:"stroke"in e?e.stroke:c||s||g.autoStroke&&!y?null:(v=2,g.stroke)),_=l.textShadowBlur>0||e.textShadowBlur>0;f.text=t.text,f.x=r,f.y=h,_&&(f.shadowBlur=l.textShadowBlur||e.textShadowBlur||0,f.shadowColor=l.textShadowColor||e.textShadowColor||"transparent",f.shadowOffsetX=l.textShadowOffsetX||e.textShadowOffsetX||0,f.shadowOffsetY=l.textShadowOffsetY||e.textShadowOffsetY||0),f.textAlign=o,f.textBaseline="middle",f.font=t.font||a,f.opacity=ot(l.opacity,e.opacity,1),Ks(f,l),x&&(f.lineWidth=ot(l.lineWidth,e.lineWidth,v),f.lineDash=rt(l.lineDash,e.lineDash),f.lineDashOffset=e.lineDashOffset||0,f.stroke=x),m&&(f.fill=m);var b=t.contentWidth,w=t.contentHeight;d.setBoundingRect(new ze(Mr(f.x,b,f.textAlign),Ir(f.y,w,f.textBaseline),b,w))},e.prototype._renderBackground=function(t,e,n,i,r,o){var a,s,l,u=t.backgroundColor,h=t.borderWidth,c=t.borderColor,p=u&&u.image,d=u&&!p,f=t.borderRadius,g=this;if(d||t.lineHeight||h&&c){(a=this._getOrCreateChild(Ws)).useStyle(a.createStyle()),a.style.fill=null;var y=a.shape;y.x=n,y.y=i,y.width=r,y.height=o,y.r=f,a.dirtyShape()}if(d)(l=a.style).fill=u||null,l.fillOpacity=rt(t.fillOpacity,1);else if(p){(s=this._getOrCreateChild(Ns)).onload=function(){g.dirtyStyle()};var v=s.style;v.image=u.image,v.x=n,v.y=i,v.width=r,v.height=o}h&&c&&((l=a.style).lineWidth=h,l.stroke=c,l.strokeOpacity=rt(t.strokeOpacity,1),l.lineDash=t.borderDash,l.lineDashOffset=t.borderDashOffset||0,a.strokeContainThreshold=0,a.hasFill()&&a.hasStroke()&&(l.strokeFirst=!0,l.lineWidth*=2));var m=(a||s).style;m.shadowBlur=t.shadowBlur||0,m.shadowColor=t.shadowColor||"transparent",m.shadowOffsetX=t.shadowOffsetX||0,m.shadowOffsetY=t.shadowOffsetY||0,m.opacity=ot(t.opacity,e.opacity,1)},e.makeFont=function(t){var e="";return $s(t)&&(e=[t.fontStyle,t.fontWeight,qs(t.fontSize),t.fontFamily||"sans-serif"].join(" ")),e&&ut(e)||t.textFont||t.font},e}(Da),Us={left:!0,right:1,center:1},Zs={top:1,bottom:1,middle:1},js=["fontStyle","fontWeight","fontSize","fontFamily"];function qs(t){return"string"!=typeof t||-1===t.indexOf("px")&&-1===t.indexOf("rem")&&-1===t.indexOf("em")?isNaN(+t)?"12px":t+"px":t}function Ks(t,e){for(var n=0;n=0,o=!1;if(t instanceof ks){var a=ll(t),s=r&&a.selectFill||a.normalFill,l=r&&a.selectStroke||a.normalStroke;if(ml(s)||ml(l)){var u=(i=i||{}).style||{};"inherit"===u.fill?(o=!0,i=A({},i),(u=A({},u)).fill=s):!ml(u.fill)&&ml(s)?(o=!0,i=A({},i),(u=A({},u)).fill=si(s)):!ml(u.stroke)&&ml(l)&&(o||(i=A({},i),u=A({},u)),u.stroke=si(l)),i.style=u}}if(i&&null==i.z2){o||(i=A({},i));var h=t.z2EmphasisLift;i.z2=t.z2+(null!=h?h:pl)}return i}(this,0,e,n);if("blur"===t)return function(t,e,n){var i=P(t.currentStates,e)>=0,r=t.style.opacity,o=i?null:function(t,e,n,i){for(var r=t.style,o={},a=0;a0){var o={dataIndex:r,seriesIndex:t.seriesIndex};null!=i&&(o.dataType=i),e.push(o)}}))})),e}function Ul(t,e,n){Jl(t,!0),Cl(t,kl),jl(t,e,n)}function Zl(t,e,n,i){i?function(t){Jl(t,!1)}(t):Ul(t,e,n)}function jl(t,e,n){var i=rl(t);null!=e?(i.focus=e,i.blurScope=n):i.focus&&(i.focus=null)}var ql=["emphasis","blur","select"],Kl={itemStyle:"getItemStyle",lineStyle:"getLineStyle",areaStyle:"getAreaStyle"};function $l(t,e,n,i){n=n||"itemStyle";for(var r=0;r1&&(a*=su(f),s*=su(f));var g=(r===o?-1:1)*su((a*a*(s*s)-a*a*(d*d)-s*s*(p*p))/(a*a*(d*d)+s*s*(p*p)))||0,y=g*a*d/s,v=g*-s*p/a,m=(t+n)/2+uu(c)*y-lu(c)*v,x=(e+i)/2+lu(c)*y+uu(c)*v,_=du([1,0],[(p-y)/a,(d-v)/s]),b=[(p-y)/a,(d-v)/s],w=[(-1*p-y)/a,(-1*d-v)/s],S=du(b,w);if(pu(b,w)<=-1&&(S=hu),pu(b,w)>=1&&(S=0),S<0){var M=Math.round(S/hu*1e6)/1e6;S=2*hu+M%2*hu}h.addData(u,m,x,a,s,_,S,c,o)}var gu=/([mlvhzcqtsa])([^mlvhzcqtsa]*)/gi,yu=/-?([0-9]*\.)?[0-9]+([eE]-?[0-9]+)?/g;var vu=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.applyTransform=function(t){},e}(ks);function mu(t){return null!=t.setData}function xu(t,e){var n=function(t){var e=new hs;if(!t)return e;var n,i=0,r=0,o=i,a=r,s=hs.CMD,l=t.match(gu);if(!l)return e;for(var u=0;uk*k+L*L&&(M=T,I=C),{cx:M,cy:I,x0:-h,y0:-c,x1:M*(r/b-1),y1:I*(r/b-1)}}function Vu(t,e){var n,i=Ru(e.r,0),r=Ru(e.r0||0,0),o=i>0;if(o||r>0){if(o||(i=r,r=0),r>i){var a=i;i=r,r=a}var s=e.startAngle,l=e.endAngle;if(!isNaN(s)&&!isNaN(l)){var u=e.cx,h=e.cy,c=!!e.clockwise,p=Pu(l-s),d=p>Cu&&p%Cu;if(d>Eu&&(p=d),i>Eu)if(p>Cu-Eu)t.moveTo(u+i*Au(s),h+i*Du(s)),t.arc(u,h,i,s,l,!c),r>Eu&&(t.moveTo(u+r*Au(l),h+r*Du(l)),t.arc(u,h,r,l,s,c));else{var f=void 0,g=void 0,y=void 0,v=void 0,m=void 0,x=void 0,_=void 0,b=void 0,w=void 0,S=void 0,M=void 0,I=void 0,T=void 0,C=void 0,D=void 0,A=void 0,k=i*Au(s),L=i*Du(s),P=r*Au(l),O=r*Du(l),R=p>Eu;if(R){var N=e.cornerRadius;N&&(n=function(t){var e;if(Y(t)){var n=t.length;if(!n)return t;e=1===n?[t[0],t[0],0,0]:2===n?[t[0],t[0],t[1],t[1]]:3===n?t.concat(t[2]):t}else e=[t,t,t,t];return e}(N),f=n[0],g=n[1],y=n[2],v=n[3]);var E=Pu(i-r)/2;if(m=Nu(E,y),x=Nu(E,v),_=Nu(E,f),b=Nu(E,g),M=w=Ru(m,x),I=S=Ru(_,b),(w>Eu||S>Eu)&&(T=i*Au(l),C=i*Du(l),D=r*Au(s),A=r*Du(s),pEu){var X=Nu(y,M),U=Nu(v,M),Z=zu(D,A,k,L,i,X,c),j=zu(T,C,P,O,i,U,c);t.moveTo(u+Z.cx+Z.x0,h+Z.cy+Z.y0),M0&&t.arc(u+Z.cx,h+Z.cy,X,Lu(Z.y0,Z.x0),Lu(Z.y1,Z.x1),!c),t.arc(u,h,i,Lu(Z.cy+Z.y1,Z.cx+Z.x1),Lu(j.cy+j.y1,j.cx+j.x1),!c),U>0&&t.arc(u+j.cx,h+j.cy,U,Lu(j.y1,j.x1),Lu(j.y0,j.x0),!c))}else t.moveTo(u+k,h+L),t.arc(u,h,i,s,l,!c);else t.moveTo(u+k,h+L);if(r>Eu&&R)if(I>Eu){X=Nu(f,I),Z=zu(P,O,T,C,r,-(U=Nu(g,I)),c),j=zu(k,L,D,A,r,-X,c);t.lineTo(u+Z.cx+Z.x0,h+Z.cy+Z.y0),I0&&t.arc(u+Z.cx,h+Z.cy,U,Lu(Z.y0,Z.x0),Lu(Z.y1,Z.x1),!c),t.arc(u,h,r,Lu(Z.cy+Z.y1,Z.cx+Z.x1),Lu(j.cy+j.y1,j.cx+j.x1),c),X>0&&t.arc(u+j.cx,h+j.cy,X,Lu(j.y1,j.x1),Lu(j.y0,j.x0),!c))}else t.lineTo(u+P,h+O),t.arc(u,h,r,l,s,c);else t.lineTo(u+P,h+O)}else t.moveTo(u,h);t.closePath()}}}var Bu=function(){this.cx=0,this.cy=0,this.r0=0,this.r=0,this.startAngle=0,this.endAngle=2*Math.PI,this.clockwise=!0,this.cornerRadius=0},Fu=function(t){function e(e){return t.call(this,e)||this}return n(e,t),e.prototype.getDefaultShape=function(){return new Bu},e.prototype.buildPath=function(t,e){Vu(t,e)},e.prototype.isZeroArea=function(){return this.shape.startAngle===this.shape.endAngle||this.shape.r===this.shape.r0},e}(ks);Fu.prototype.type="sector";var Gu=function(){this.cx=0,this.cy=0,this.r=0,this.r0=0},Wu=function(t){function e(e){return t.call(this,e)||this}return n(e,t),e.prototype.getDefaultShape=function(){return new Gu},e.prototype.buildPath=function(t,e){var n=e.cx,i=e.cy,r=2*Math.PI;t.moveTo(n+e.r,i),t.arc(n,i,e.r,0,r,!1),t.moveTo(n+e.r0,i),t.arc(n,i,e.r0,0,r,!0)},e}(ks);function Hu(t,e,n){var i=e.smooth,r=e.points;if(r&&r.length>=2){if(i){var o=function(t,e,n,i){var r,o,a,s,l=[],u=[],h=[],c=[];if(i){a=[1/0,1/0],s=[-1/0,-1/0];for(var p=0,d=t.length;plh[1]){if(a=!1,r)return a;var u=Math.abs(lh[0]-sh[1]),h=Math.abs(sh[0]-lh[1]);Math.min(u,h)>i.len()&&(u0){var c={duration:h.duration,delay:h.delay||0,easing:h.easing,done:o,force:!!o||!!a,setToFinal:!u,scope:t,during:a};l?e.animateFrom(n,c):e.animateTo(n,c)}else e.stopAnimation(),!l&&e.attr(n),a&&a(1),o&&o()}function vh(t,e,n,i,r,o){yh("update",t,e,n,i,r,o)}function mh(t,e,n,i,r,o){yh("enter",t,e,n,i,r,o)}function xh(t){if(!t.__zr)return!0;for(var e=0;eMath.abs(o[1])?o[0]>0?"right":"left":o[1]>0?"bottom":"top"}function Wh(t){return!t.isGroup}function Hh(t,e,n){if(t&&e){var i,r=(i={},t.traverse((function(t){Wh(t)&&t.anid&&(i[t.anid]=t)})),i);e.traverse((function(t){if(Wh(t)&&t.anid){var e=r[t.anid];if(e){var i=o(t);t.attr(o(e)),vh(t,i,n,rl(t).dataIndex)}}}))}function o(t){var e={x:t.x,y:t.y,rotation:t.rotation};return function(t){return null!=t.shape}(t)&&(e.shape=A({},t.shape)),e}}function Yh(t,e){return z(t,(function(t){var n=t[0];n=Mh(n,e.x),n=Ih(n,e.x+e.width);var i=t[1];return i=Mh(i,e.y),[n,i=Ih(i,e.y+e.height)]}))}function Xh(t,e){var n=Mh(t.x,e.x),i=Ih(t.x+t.width,e.x+e.width),r=Mh(t.y,e.y),o=Ih(t.y+t.height,e.y+e.height);if(i>=n&&o>=r)return{x:n,y:r,width:i-n,height:o-r}}function Uh(t,e,n){var i=A({rectHover:!0},e),r=i.style={strokeNoScale:!0};if(n=n||{x:-1,y:-1,width:2,height:2},t)return 0===t.indexOf("image://")?(r.image=t.slice(8),k(r,n),new Ns(i)):Ph(t.replace("path://",""),i,n,"center")}function Zh(t,e,n,i,r){for(var o=0,a=r[r.length-1];o=-1e-6)return!1;var f=t-r,g=e-o,y=qh(f,g,u,h)/d;if(y<0||y>1)return!1;var v=qh(f,g,c,p)/d;return!(v<0||v>1)}function qh(t,e,n,i){return t*i-n*e}function Kh(t){var e=t.itemTooltipOption,n=t.componentModel,i=t.itemName,r=U(e)?{formatter:e}:e,o=n.mainType,a=n.componentIndex,s={componentType:o,name:i,$vars:["name"]};s[o+"Index"]=a;var l=t.formatterParamsExtra;l&&E(G(l),(function(t){_t(s,t)||(s[t]=l[t],s.$vars.push(t))}));var u=rl(t.el);u.componentMainType=o,u.componentIndex=a,u.tooltipConfig={name:i,option:k({content:i,formatterParams:s},r)}}function $h(t,e){var n;t.isGroup&&(n=e(t)),n||t.traverse(e)}function Jh(t,e){if(t)if(Y(t))for(var n=0;n-1?Lc:Oc;function zc(t,e){t=t.toUpperCase(),Nc[t]=new Cc(e),Rc[t]=e}function Vc(t){return Nc[t]}zc(Pc,{time:{month:["January","February","March","April","May","June","July","August","September","October","November","December"],monthAbbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayOfWeek:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayOfWeekAbbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]},legend:{selector:{all:"All",inverse:"Inv"}},toolbox:{brush:{title:{rect:"Box Select",polygon:"Lasso Select",lineX:"Horizontally Select",lineY:"Vertically Select",keep:"Keep Selections",clear:"Clear Selections"}},dataView:{title:"Data View",lang:["Data View","Close","Refresh"]},dataZoom:{title:{zoom:"Zoom",back:"Zoom Reset"}},magicType:{title:{line:"Switch to Line Chart",bar:"Switch to Bar Chart",stack:"Stack",tiled:"Tile"}},restore:{title:"Restore"},saveAsImage:{title:"Save as Image",lang:["Right Click to Save Image"]}},series:{typeNames:{pie:"Pie chart",bar:"Bar chart",line:"Line chart",scatter:"Scatter plot",effectScatter:"Ripple scatter plot",radar:"Radar chart",tree:"Tree",treemap:"Treemap",boxplot:"Boxplot",candlestick:"Candlestick",k:"K line chart",heatmap:"Heat map",map:"Map",parallel:"Parallel coordinate map",lines:"Line graph",graph:"Relationship graph",sankey:"Sankey diagram",funnel:"Funnel chart",gauge:"Gauge",pictorialBar:"Pictorial bar",themeRiver:"Theme River Map",sunburst:"Sunburst",custom:"Custom chart",chart:"Chart"}},aria:{general:{withTitle:'This is a chart about "{title}"',withoutTitle:"This is a chart"},series:{single:{prefix:"",withName:" with type {seriesType} named {seriesName}.",withoutName:" with type {seriesType}."},multiple:{prefix:". It consists of {seriesCount} series count.",withName:" The {seriesId} series is a {seriesType} representing {seriesName}.",withoutName:" The {seriesId} series is a {seriesType}.",separator:{middle:"",end:""}}},data:{allData:"The data is as follows: ",partialData:"The first {displayCnt} items are: ",withName:"the data for {name} is {value}",withoutName:"{value}",separator:{middle:", ",end:". "}}}}),zc(Lc,{time:{month:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthAbbr:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dayOfWeek:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],dayOfWeekAbbr:["日","一","二","三","四","五","六"]},legend:{selector:{all:"全选",inverse:"反选"}},toolbox:{brush:{title:{rect:"矩形选择",polygon:"圈选",lineX:"横向选择",lineY:"纵向选择",keep:"保持选择",clear:"清除选择"}},dataView:{title:"数据视图",lang:["数据视图","关闭","刷新"]},dataZoom:{title:{zoom:"区域缩放",back:"区域缩放还原"}},magicType:{title:{line:"切换为折线图",bar:"切换为柱状图",stack:"切换为堆叠",tiled:"切换为平铺"}},restore:{title:"还原"},saveAsImage:{title:"保存为图片",lang:["右键另存为图片"]}},series:{typeNames:{pie:"饼图",bar:"柱状图",line:"折线图",scatter:"散点图",effectScatter:"涟漪散点图",radar:"雷达图",tree:"树图",treemap:"矩形树图",boxplot:"箱型图",candlestick:"K线图",k:"K线图",heatmap:"热力图",map:"地图",parallel:"平行坐标图",lines:"线图",graph:"关系图",sankey:"桑基图",funnel:"漏斗图",gauge:"仪表盘图",pictorialBar:"象形柱图",themeRiver:"主题河流图",sunburst:"旭日图",custom:"自定义图表",chart:"图表"}},aria:{general:{withTitle:"这是一个关于“{title}”的图表。",withoutTitle:"这是一个图表,"},series:{single:{prefix:"",withName:"图表类型是{seriesType},表示{seriesName}。",withoutName:"图表类型是{seriesType}。"},multiple:{prefix:"它由{seriesCount}个图表系列组成。",withName:"第{seriesId}个系列是一个表示{seriesName}的{seriesType},",withoutName:"第{seriesId}个系列是一个{seriesType},",separator:{middle:";",end:"。"}}},data:{allData:"其数据是——",partialData:"其中,前{displayCnt}项是——",withName:"{name}的数据是{value}",withoutName:"{value}",separator:{middle:",",end:""}}}});var Bc=1e3,Fc=6e4,Gc=36e5,Wc=864e5,Hc=31536e6,Yc={year:"{yyyy}",month:"{MMM}",day:"{d}",hour:"{HH}:{mm}",minute:"{HH}:{mm}",second:"{HH}:{mm}:{ss}",millisecond:"{HH}:{mm}:{ss} {SSS}",none:"{yyyy}-{MM}-{dd} {HH}:{mm}:{ss} {SSS}"},Xc="{yyyy}-{MM}-{dd}",Uc={year:"{yyyy}",month:"{yyyy}-{MM}",day:Xc,hour:Xc+" "+Yc.hour,minute:Xc+" "+Yc.minute,second:Xc+" "+Yc.second,millisecond:Yc.none},Zc=["year","month","day","hour","minute","second","millisecond"],jc=["year","half-year","quarter","month","week","half-week","day","half-day","quarter-day","hour","minute","second","millisecond"];function qc(t,e){return"0000".substr(0,e-(t+="").length)+t}function Kc(t){switch(t){case"half-year":case"quarter":return"month";case"week":case"half-week":return"day";case"half-day":case"quarter-day":return"hour";default:return t}}function $c(t){return t===Kc(t)}function Jc(t,e,n,i){var r=uo(t),o=r[ep(n)](),a=r[np(n)]()+1,s=Math.floor((a-1)/3)+1,l=r[ip(n)](),u=r["get"+(n?"UTC":"")+"Day"](),h=r[rp(n)](),c=(h-1)%12+1,p=r[op(n)](),d=r[ap(n)](),f=r[sp(n)](),g=(i instanceof Cc?i:Vc(i||Ec)||Nc[Oc]).getModel("time"),y=g.get("month"),v=g.get("monthAbbr"),m=g.get("dayOfWeek"),x=g.get("dayOfWeekAbbr");return(e||"").replace(/{yyyy}/g,o+"").replace(/{yy}/g,qc(o%100+"",2)).replace(/{Q}/g,s+"").replace(/{MMMM}/g,y[a-1]).replace(/{MMM}/g,v[a-1]).replace(/{MM}/g,qc(a,2)).replace(/{M}/g,a+"").replace(/{dd}/g,qc(l,2)).replace(/{d}/g,l+"").replace(/{eeee}/g,m[u]).replace(/{ee}/g,x[u]).replace(/{e}/g,u+"").replace(/{HH}/g,qc(h,2)).replace(/{H}/g,h+"").replace(/{hh}/g,qc(c+"",2)).replace(/{h}/g,c+"").replace(/{mm}/g,qc(p,2)).replace(/{m}/g,p+"").replace(/{ss}/g,qc(d,2)).replace(/{s}/g,d+"").replace(/{SSS}/g,qc(f,3)).replace(/{S}/g,f+"")}function Qc(t,e){var n=uo(t),i=n[np(e)]()+1,r=n[ip(e)](),o=n[rp(e)](),a=n[op(e)](),s=n[ap(e)](),l=0===n[sp(e)](),u=l&&0===s,h=u&&0===a,c=h&&0===o,p=c&&1===r;return p&&1===i?"year":p?"month":c?"day":h?"hour":u?"minute":l?"second":"millisecond"}function tp(t,e,n){var i=j(t)?uo(t):t;switch(e=e||Qc(t,n)){case"year":return i[ep(n)]();case"half-year":return i[np(n)]()>=6?1:0;case"quarter":return Math.floor((i[np(n)]()+1)/4);case"month":return i[np(n)]();case"day":return i[ip(n)]();case"half-day":return i[rp(n)]()/24;case"hour":return i[rp(n)]();case"minute":return i[op(n)]();case"second":return i[ap(n)]();case"millisecond":return i[sp(n)]()}}function ep(t){return t?"getUTCFullYear":"getFullYear"}function np(t){return t?"getUTCMonth":"getMonth"}function ip(t){return t?"getUTCDate":"getDate"}function rp(t){return t?"getUTCHours":"getHours"}function op(t){return t?"getUTCMinutes":"getMinutes"}function ap(t){return t?"getUTCSeconds":"getSeconds"}function sp(t){return t?"getUTCMilliseconds":"getMilliseconds"}function lp(t){return t?"setUTCFullYear":"setFullYear"}function up(t){return t?"setUTCMonth":"setMonth"}function hp(t){return t?"setUTCDate":"setDate"}function cp(t){return t?"setUTCHours":"setHours"}function pp(t){return t?"setUTCMinutes":"setMinutes"}function dp(t){return t?"setUTCSeconds":"setSeconds"}function fp(t){return t?"setUTCMilliseconds":"setMilliseconds"}function gp(t){if(!vo(t))return U(t)?t:"-";var e=(t+"").split(".");return e[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g,"$1,")+(e.length>1?"."+e[1]:"")}function yp(t,e){return t=(t||"").toLowerCase().replace(/-(.)/g,(function(t,e){return e.toUpperCase()})),e&&t&&(t=t.charAt(0).toUpperCase()+t.slice(1)),t}var vp=st;function mp(t,e,n){function i(t){return t&&ut(t)?t:"-"}function r(t){return!(null==t||isNaN(t)||!isFinite(t))}var o="time"===e,a=t instanceof Date;if(o||a){var s=o?uo(t):t;if(!isNaN(+s))return Jc(s,"{yyyy}-{MM}-{dd} {HH}:{mm}:{ss}",n);if(a)return"-"}if("ordinal"===e)return Z(t)?i(t):j(t)&&r(t)?t+"":"-";var l=yo(t);return r(l)?gp(l):Z(t)?i(t):"boolean"==typeof t?t+"":"-"}var xp=["a","b","c","d","e","f","g"],_p=function(t,e){return"{"+t+(null==e?"":e)+"}"};function bp(t,e,n){Y(e)||(e=[e]);var i=e.length;if(!i)return"";for(var r=e[0].$vars||[],o=0;o':'':{renderMode:o,content:"{"+(n.markerId||"markerX")+"|} ",style:"subItem"===r?{width:4,height:4,borderRadius:2,backgroundColor:i}:{width:10,height:10,borderRadius:5,backgroundColor:i}}:""}function Sp(t,e){return e=e||"transparent",U(t)?t:q(t)&&t.colorStops&&(t.colorStops[0]||{}).color||e}function Mp(t,e){if("_blank"===e||"blank"===e){var n=window.open();n.opener=null,n.location.href=t}else window.open(t,e)}var Ip=E,Tp=["left","right","top","bottom","width","height"],Cp=[["width","left","right"],["height","top","bottom"]];function Dp(t,e,n,i,r){var o=0,a=0;null==i&&(i=1/0),null==r&&(r=1/0);var s=0;e.eachChild((function(l,u){var h,c,p=l.getBoundingRect(),d=e.childAt(u+1),f=d&&d.getBoundingRect();if("horizontal"===t){var g=p.width+(f?-f.x+p.x:0);(h=o+g)>i||l.newline?(o=0,h=g,a+=s+n,s=p.height):s=Math.max(s,p.height)}else{var y=p.height+(f?-f.y+p.y:0);(c=a+y)>r||l.newline?(o+=s+n,a=0,c=y,s=p.width):s=Math.max(s,p.width)}l.newline||(l.x=o,l.y=a,l.markRedraw(),"horizontal"===t?o=h+n:a=c+n)}))}var Ap=Dp;H(Dp,"vertical"),H(Dp,"horizontal");function kp(t,e,n){n=vp(n||0);var i=e.width,r=e.height,o=$r(t.left,i),a=$r(t.top,r),s=$r(t.right,i),l=$r(t.bottom,r),u=$r(t.width,i),h=$r(t.height,r),c=n[2]+n[0],p=n[1]+n[3],d=t.aspect;switch(isNaN(u)&&(u=i-s-p-o),isNaN(h)&&(h=r-l-c-a),null!=d&&(isNaN(u)&&isNaN(h)&&(d>i/r?u=.8*i:h=.8*r),isNaN(u)&&(u=d*h),isNaN(h)&&(h=u/d)),isNaN(o)&&(o=i-s-u-p),isNaN(a)&&(a=r-l-h-c),t.left||t.right){case"center":o=i/2-u/2-n[3];break;case"right":o=i-u-p}switch(t.top||t.bottom){case"middle":case"center":a=r/2-h/2-n[0];break;case"bottom":a=r-h-c}o=o||0,a=a||0,isNaN(u)&&(u=i-p-o-(s||0)),isNaN(h)&&(h=r-c-a-(l||0));var f=new ze(o+n[3],a+n[0],u,h);return f.margin=n,f}function Lp(t,e,n,i,r,o){var a,s=!r||!r.hv||r.hv[0],l=!r||!r.hv||r.hv[1],u=r&&r.boundingMode||"all";if((o=o||t).x=t.x,o.y=t.y,!s&&!l)return!1;if("raw"===u)a="group"===t.type?new ze(0,0,+e.width||0,+e.height||0):t.getBoundingRect();else if(a=t.getBoundingRect(),t.needLocalTransform()){var h=t.getLocalTransform();(a=a.clone()).applyTransform(h)}var c=kp(k({width:a.width,height:a.height},e),n,i),p=s?c.x-a.x:0,d=l?c.y-a.y:0;return"raw"===u?(o.x=p,o.y=d):(o.x+=p,o.y+=d),o===t&&t.markRedraw(),!0}function Pp(t){var e=t.layoutMode||t.constructor.layoutMode;return q(e)?e:e?{type:e}:null}function Op(t,e,n){var i=n&&n.ignoreSize;!Y(i)&&(i=[i,i]);var r=a(Cp[0],0),o=a(Cp[1],1);function a(n,r){var o={},a=0,u={},h=0;if(Ip(n,(function(e){u[e]=t[e]})),Ip(n,(function(t){s(e,t)&&(o[t]=u[t]=e[t]),l(o,t)&&a++,l(u,t)&&h++})),i[r])return l(e,n[1])?u[n[2]]=null:l(e,n[2])&&(u[n[1]]=null),u;if(2!==h&&a){if(a>=2)return o;for(var c=0;c=0;a--)o=C(o,n[a],!0);e.defaultOption=o}return e.defaultOption},e.prototype.getReferringComponents=function(t,e){var n=t+"Index",i=t+"Id";return Yo(this.ecModel,t,{index:this.get(n,!0),id:this.get(i,!0)},e)},e.prototype.getBoxLayoutParams=function(){var t=this;return{left:t.get("left"),top:t.get("top"),right:t.get("right"),bottom:t.get("bottom"),width:t.get("width"),height:t.get("height")}},e.prototype.getZLevelKey=function(){return""},e.prototype.setZLevel=function(t){this.option.zlevel=t},e.protoInitialize=function(){var t=e.prototype;t.type="component",t.id="",t.name="",t.mainType="",t.subType="",t.componentIndex=0}(),e}(Cc);Jo(zp,Cc),na(zp),function(t){var e={};t.registerSubTypeDefaulter=function(t,n){var i=Ko(t);e[i.main]=n},t.determineSubType=function(n,i){var r=i.type;if(!r){var o=Ko(n).main;t.hasSubTypes(n)&&e[o]&&(r=e[o](i))}return r}}(zp),function(t,e){function n(t,e){return t[e]||(t[e]={predecessor:[],successor:[]}),t[e]}t.topologicalTravel=function(t,i,r,o){if(t.length){var a=function(t){var i={},r=[];return E(t,(function(o){var a=n(i,o),s=function(t,e){var n=[];return E(t,(function(t){P(e,t)>=0&&n.push(t)})),n}(a.originalDeps=e(o),t);a.entryCount=s.length,0===a.entryCount&&r.push(o),E(s,(function(t){P(a.predecessor,t)<0&&a.predecessor.push(t);var e=n(i,t);P(e.successor,t)<0&&e.successor.push(o)}))})),{graph:i,noEntryList:r}}(i),s=a.graph,l=a.noEntryList,u={};for(E(t,(function(t){u[t]=!0}));l.length;){var h=l.pop(),c=s[h],p=!!u[h];p&&(r.call(o,h,c.originalDeps.slice()),delete u[h]),E(c.successor,p?f:d)}E(u,(function(){var t="";throw new Error(t)}))}function d(t){s[t].entryCount--,0===s[t].entryCount&&l.push(t)}function f(t){u[t]=!0,d(t)}}}(zp,(function(t){var e=[];E(zp.getClassesByMainType(t),(function(t){e=e.concat(t.dependencies||t.prototype.dependencies||[])})),e=z(e,(function(t){return Ko(t).main})),"dataset"!==t&&P(e,"dataset")<=0&&e.unshift("dataset");return e}));var Vp="";"undefined"!=typeof navigator&&(Vp=navigator.platform||"");var Bp="rgba(0, 0, 0, 0.2)",Fp={darkMode:"auto",colorBy:"series",color:["#5470c6","#91cc75","#fac858","#ee6666","#73c0de","#3ba272","#fc8452","#9a60b4","#ea7ccc"],gradientColor:["#f6efa6","#d88273","#bf444c"],aria:{decal:{decals:[{color:Bp,dashArrayX:[1,0],dashArrayY:[2,5],symbolSize:1,rotation:Math.PI/6},{color:Bp,symbol:"circle",dashArrayX:[[8,8],[0,8,8,0]],dashArrayY:[6,0],symbolSize:.8},{color:Bp,dashArrayX:[1,0],dashArrayY:[4,3],rotation:-Math.PI/4},{color:Bp,dashArrayX:[[6,6],[0,6,6,0]],dashArrayY:[6,0]},{color:Bp,dashArrayX:[[1,0],[1,6]],dashArrayY:[1,0,6,0],rotation:Math.PI/4},{color:Bp,symbol:"triangle",dashArrayX:[[9,9],[0,9,9,0]],dashArrayY:[7,2],symbolSize:.75}]}},textStyle:{fontFamily:Vp.match(/^Win/)?"Microsoft YaHei":"sans-serif",fontSize:12,fontStyle:"normal",fontWeight:"normal"},blendMode:null,stateAnimation:{duration:300,easing:"cubicOut"},animation:"auto",animationDuration:1e3,animationDurationUpdate:500,animationEasing:"cubicInOut",animationEasingUpdate:"cubicInOut",animationThreshold:2e3,progressiveThreshold:3e3,progressive:400,hoverLayerThreshold:3e3,useUTC:!1},Gp=yt(["tooltip","label","itemName","itemId","itemGroupId","itemChildGroupId","seriesName"]),Wp="original",Hp="arrayRows",Yp="objectRows",Xp="keyedColumns",Up="typedArray",Zp="unknown",jp="column",qp="row",Kp=1,$p=2,Jp=3,Qp=Vo();function td(t,e,n){var i={},r=nd(e);if(!r||!t)return i;var o,a,s=[],l=[],u=e.ecModel,h=Qp(u).datasetMap,c=r.uid+"_"+n.seriesLayoutBy;E(t=t.slice(),(function(e,n){var r=q(e)?e:t[n]={name:e};"ordinal"===r.type&&null==o&&(o=n,a=f(r)),i[r.name]=[]}));var p=h.get(c)||h.set(c,{categoryWayDim:a,valueWayDim:0});function d(t,e,n){for(var i=0;ie)return t[i];return t[n-1]}(i,a):n;if((h=h||n)&&h.length){var c=h[l];return r&&(u[r]=c),s.paletteIdx=(l+1)%h.length,c}}var fd="\0_ec_inner";var gd=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.init=function(t,e,n,i,r,o){i=i||{},this.option=null,this._theme=new Cc(i),this._locale=new Cc(r),this._optionManager=o},e.prototype.setOption=function(t,e,n){var i=md(e);this._optionManager.setOption(t,n,i),this._resetOption(null,i)},e.prototype.resetOption=function(t,e){return this._resetOption(t,md(e))},e.prototype._resetOption=function(t,e){var n=!1,i=this._optionManager;if(!t||"recreate"===t){var r=i.mountOption("recreate"===t);0,this.option&&"recreate"!==t?(this.restoreData(),this._mergeOption(r,e)):ld(this,r),n=!0}if("timeline"!==t&&"media"!==t||this.restoreData(),!t||"recreate"===t||"timeline"===t){var o=i.getTimelineOption(this);o&&(n=!0,this._mergeOption(o,e))}if(!t||"recreate"===t||"media"===t){var a=i.getMediaOption(this);a.length&&E(a,(function(t){n=!0,this._mergeOption(t,e)}),this)}return n},e.prototype.mergeOption=function(t){this._mergeOption(t,null)},e.prototype._mergeOption=function(t,e){var n=this.option,i=this._componentsMap,r=this._componentsCount,o=[],a=yt(),s=e&&e.replaceMergeMainTypeMap;Qp(this).datasetMap=yt(),E(t,(function(t,e){null!=t&&(zp.hasClass(e)?e&&(o.push(e),a.set(e,!0)):n[e]=null==n[e]?T(t):C(n[e],t,!0))})),s&&s.each((function(t,e){zp.hasClass(e)&&!a.get(e)&&(o.push(e),a.set(e,!0))})),zp.topologicalTravel(o,zp.getAllClassMainTypes(),(function(e){var o=function(t,e,n){var i=od.get(e);if(!i)return n;var r=i(t);return r?n.concat(r):n}(this,e,To(t[e])),a=i.get(e),l=a?s&&s.get(e)?"replaceMerge":"normalMerge":"replaceAll",u=Lo(a,o,l);(function(t,e,n){E(t,(function(t){var i=t.newOption;q(i)&&(t.keyInfo.mainType=e,t.keyInfo.subType=function(t,e,n,i){return e.type?e.type:n?n.subType:i.determineSubType(t,e)}(e,i,t.existing,n))}))})(u,e,zp),n[e]=null,i.set(e,null),r.set(e,0);var h,c=[],p=[],d=0;E(u,(function(t,n){var i=t.existing,r=t.newOption;if(r){var o="series"===e,a=zp.getClass(e,t.keyInfo.subType,!o);if(!a)return;if("tooltip"===e){if(h)return void 0;h=!0}if(i&&i.constructor===a)i.name=t.keyInfo.name,i.mergeOption(r,this),i.optionUpdated(r,!1);else{var s=A({componentIndex:n},t.keyInfo);A(i=new a(r,this,this,s),s),t.brandNew&&(i.__requireNewView=!0),i.init(r,this,this),i.optionUpdated(null,!0)}}else i&&(i.mergeOption({},this),i.optionUpdated({},!1));i?(c.push(i.option),p.push(i),d++):(c.push(void 0),p.push(void 0))}),this),n[e]=c,i.set(e,p),r.set(e,d),"series"===e&&ad(this)}),this),this._seriesIndices||ad(this)},e.prototype.getOption=function(){var t=T(this.option);return E(t,(function(e,n){if(zp.hasClass(n)){for(var i=To(e),r=i.length,o=!1,a=r-1;a>=0;a--)i[a]&&!Eo(i[a])?o=!0:(i[a]=null,!o&&r--);i.length=r,t[n]=i}})),delete t[fd],t},e.prototype.getTheme=function(){return this._theme},e.prototype.getLocaleModel=function(){return this._locale},e.prototype.setUpdatePayload=function(t){this._payload=t},e.prototype.getUpdatePayload=function(){return this._payload},e.prototype.getComponent=function(t,e){var n=this._componentsMap.get(t);if(n){var i=n[e||0];if(i)return i;if(null==e)for(var r=0;r=e:"max"===n?t<=e:t===e})(i[a],t,o)||(r=!1)}})),r}var Td=E,Cd=q,Dd=["areaStyle","lineStyle","nodeStyle","linkStyle","chordStyle","label","labelLine"];function Ad(t){var e=t&&t.itemStyle;if(e)for(var n=0,i=Dd.length;n=0;g--){var y=t[g];if(s||(p=y.data.rawIndexOf(y.stackedByDimension,c)),p>=0){var v=y.data.getByRawIndex(y.stackResultDimension,p);if("all"===l||"positive"===l&&v>0||"negative"===l&&v<0||"samesign"===l&&d>=0&&v>0||"samesign"===l&&d<=0&&v<0){d=ro(d,v),f=v;break}}}return i[0]=d,i[1]=f,i}))}))}var Zd,jd,qd,Kd,$d,Jd=function(t){this.data=t.data||(t.sourceFormat===Xp?{}:[]),this.sourceFormat=t.sourceFormat||Zp,this.seriesLayoutBy=t.seriesLayoutBy||jp,this.startIndex=t.startIndex||0,this.dimensionsDetectedCount=t.dimensionsDetectedCount,this.metaRawOption=t.metaRawOption;var e=this.dimensionsDefine=t.dimensionsDefine;if(e)for(var n=0;nu&&(u=d)}s[0]=l,s[1]=u}},i=function(){return this._data?this._data.length/this._dimSize:0};function r(t){for(var e=0;e=0&&(s=o.interpolatedValue[l])}return null!=s?s+"":""})):void 0},t.prototype.getRawValue=function(t,e){return mf(this.getData(e),t)},t.prototype.formatTooltip=function(t,e,n){},t}();function bf(t){var e,n;return q(t)?t.type&&(n=t):e=t,{text:e,frag:n}}function wf(t){return new Sf(t)}var Sf=function(){function t(t){t=t||{},this._reset=t.reset,this._plan=t.plan,this._count=t.count,this._onDirty=t.onDirty,this._dirty=!0}return t.prototype.perform=function(t){var e,n=this._upstream,i=t&&t.skip;if(this._dirty&&n){var r=this.context;r.data=r.outputData=n.context.outputData}this.__pipeline&&(this.__pipeline.currentTask=this),this._plan&&!i&&(e=this._plan(this.context));var o,a=h(this._modBy),s=this._modDataCount||0,l=h(t&&t.modBy),u=t&&t.modDataCount||0;function h(t){return!(t>=1)&&(t=1),t}a===l&&s===u||(e="reset"),(this._dirty||"reset"===e)&&(this._dirty=!1,o=this._doReset(i)),this._modBy=l,this._modDataCount=u;var c=t&&t.step;if(this._dueEnd=n?n._outputDueEnd:this._count?this._count(this.context):1/0,this._progress){var p=this._dueIndex,d=Math.min(null!=c?this._dueIndex+c:1/0,this._dueEnd);if(!i&&(o||p1&&i>0?s:a}};return o;function a(){return e=t?null:oe},gte:function(t,e){return t>=e}},Af=function(){function t(t,e){if(!j(e)){var n="";0,wo(n)}this._opFn=Df[t],this._rvalFloat=yo(e)}return t.prototype.evaluate=function(t){return j(t)?this._opFn(t,this._rvalFloat):this._opFn(yo(t),this._rvalFloat)},t}(),kf=function(){function t(t,e){var n="desc"===t;this._resultLT=n?1:-1,null==e&&(e=n?"min":"max"),this._incomparable="min"===e?-1/0:1/0}return t.prototype.evaluate=function(t,e){var n=j(t)?t:yo(t),i=j(e)?e:yo(e),r=isNaN(n),o=isNaN(i);if(r&&(n=this._incomparable),o&&(i=this._incomparable),r&&o){var a=U(t),s=U(e);a&&(n=s?t:0),s&&(i=a?e:0)}return ni?-this._resultLT:0},t}(),Lf=function(){function t(t,e){this._rval=e,this._isEQ=t,this._rvalTypeof=typeof e,this._rvalFloat=yo(e)}return t.prototype.evaluate=function(t){var e=t===this._rval;if(!e){var n=typeof t;n===this._rvalTypeof||"number"!==n&&"number"!==this._rvalTypeof||(e=yo(t)===this._rvalFloat)}return this._isEQ?e:!e},t}();function Pf(t,e){return"eq"===t||"ne"===t?new Lf("eq"===t,e):_t(Df,t)?new Af(t,e):null}var Of=function(){function t(){}return t.prototype.getRawData=function(){throw new Error("not supported")},t.prototype.getRawDataItem=function(t){throw new Error("not supported")},t.prototype.cloneRawData=function(){},t.prototype.getDimensionInfo=function(t){},t.prototype.cloneAllDimensionInfo=function(){},t.prototype.count=function(){},t.prototype.retrieveValue=function(t,e){},t.prototype.retrieveValueFromItem=function(t,e){},t.prototype.convertValue=function(t,e){return If(t,e)},t}();function Rf(t){var e=t.sourceFormat;if(!Ff(e)){var n="";0,wo(n)}return t.data}function Nf(t){var e=t.sourceFormat,n=t.data;if(!Ff(e)){var i="";0,wo(i)}if(e===Hp){for(var r=[],o=0,a=n.length;o65535?Hf:Yf}function qf(t,e,n,i,r){var o=Zf[n||"float"];if(r){var a=t[e],s=a&&a.length;if(s!==i){for(var l=new o(i),u=0;ug[1]&&(g[1]=f)}return this._rawCount=this._count=s,{start:a,end:s}},t.prototype._initDataFromProvider=function(t,e,n){for(var i=this._provider,r=this._chunks,o=this._dimensions,a=o.length,s=this._rawExtent,l=z(o,(function(t){return t.property})),u=0;uy[1]&&(y[1]=g)}}!i.persistent&&i.clean&&i.clean(),this._rawCount=this._count=e,this._extent=[]},t.prototype.count=function(){return this._count},t.prototype.get=function(t,e){if(!(e>=0&&e=0&&e=this._rawCount||t<0)return-1;if(!this._indices)return t;var e=this._indices,n=e[t];if(null!=n&&nt))return o;r=o-1}}return-1},t.prototype.indicesOfNearest=function(t,e,n){var i=this._chunks[t],r=[];if(!i)return r;null==n&&(n=1/0);for(var o=1/0,a=-1,s=0,l=0,u=this.count();l=0&&a<0)&&(o=c,a=h,s=0),h===a&&(r[s++]=l))}return r.length=s,r},t.prototype.getIndices=function(){var t,e=this._indices;if(e){var n=e.constructor,i=this._count;if(n===Array){t=new n(i);for(var r=0;r=u&&x<=h||isNaN(x))&&(a[s++]=d),d++}p=!0}else if(2===r){f=c[i[0]];var y=c[i[1]],v=t[i[1]][0],m=t[i[1]][1];for(g=0;g=u&&x<=h||isNaN(x))&&(_>=v&&_<=m||isNaN(_))&&(a[s++]=d),d++}p=!0}}if(!p)if(1===r)for(g=0;g=u&&x<=h||isNaN(x))&&(a[s++]=b)}else for(g=0;gt[M][1])&&(w=!1)}w&&(a[s++]=e.getRawIndex(g))}return sy[1]&&(y[1]=g)}}}},t.prototype.lttbDownSample=function(t,e){var n,i,r,o=this.clone([t],!0),a=o._chunks[t],s=this.count(),l=0,u=Math.floor(1/e),h=this.getRawIndex(0),c=new(jf(this._rawCount))(Math.min(2*(Math.ceil(s/u)+2),s));c[l++]=h;for(var p=1;pn&&(n=i,r=I)}M>0&&M<_-x&&(c[l++]=Math.min(S,r),r=Math.max(S,r)),c[l++]=r,h=r}return c[l++]=this.getRawIndex(s-1),o._count=l,o._indices=c,o.getRawIndex=this._getRawIdx,o},t.prototype.downSample=function(t,e,n,i){for(var r=this.clone([t],!0),o=r._chunks,a=[],s=Math.floor(1/e),l=o[t],u=this.count(),h=r._rawExtent[t]=[1/0,-1/0],c=new(jf(this._rawCount))(Math.ceil(u/s)),p=0,d=0;du-d&&(s=u-d,a.length=s);for(var f=0;fh[1]&&(h[1]=y),c[p++]=v}return r._count=p,r._indices=c,r._updateGetRawIdx(),r},t.prototype.each=function(t,e){if(this._count)for(var n=t.length,i=this._chunks,r=0,o=this.count();ra&&(a=l)}return i=[o,a],this._extent[t]=i,i},t.prototype.getRawDataItem=function(t){var e=this.getRawIndex(t);if(this._provider.persistent)return this._provider.getItem(e);for(var n=[],i=this._chunks,r=0;r=0?this._indices[t]:-1},t.prototype._updateGetRawIdx=function(){this.getRawIndex=this._indices?this._getRawIdx:this._getRawIdxIdentity},t.internalField=function(){function t(t,e,n,i){return If(t[i],this._dimensions[i])}Gf={arrayRows:t,objectRows:function(t,e,n,i){return If(t[e],this._dimensions[i])},keyedColumns:t,original:function(t,e,n,i){var r=t&&(null==t.value?t:t.value);return If(r instanceof Array?r[i]:r,this._dimensions[i])},typedArray:function(t,e,n,i){return t[i]}}}(),t}(),$f=function(){function t(t){this._sourceList=[],this._storeList=[],this._upstreamSignList=[],this._versionSignBase=0,this._dirty=!0,this._sourceHost=t}return t.prototype.dirty=function(){this._setLocalSource([],[]),this._storeList=[],this._dirty=!0},t.prototype._setLocalSource=function(t,e){this._sourceList=t,this._upstreamSignList=e,this._versionSignBase++,this._versionSignBase>9e10&&(this._versionSignBase=0)},t.prototype._getVersionSign=function(){return this._sourceHost.uid+"_"+this._versionSignBase},t.prototype.prepareSource=function(){this._isDirty()&&(this._createSource(),this._dirty=!1)},t.prototype._createSource=function(){this._setLocalSource([],[]);var t,e,n=this._sourceHost,i=this._getUpstreamSourceManagers(),r=!!i.length;if(Qf(n)){var o=n,a=void 0,s=void 0,l=void 0;if(r){var u=i[0];u.prepareSource(),a=(l=u.getSource()).data,s=l.sourceFormat,e=[u._getVersionSign()]}else s=$(a=o.get("data",!0))?Up:Wp,e=[];var h=this._getSourceMetaRawOption()||{},c=l&&l.metaRawOption||{},p=rt(h.seriesLayoutBy,c.seriesLayoutBy)||null,d=rt(h.sourceHeader,c.sourceHeader),f=rt(h.dimensions,c.dimensions);t=p!==c.seriesLayoutBy||!!d!=!!c.sourceHeader||f?[tf(a,{seriesLayoutBy:p,sourceHeader:d,dimensions:f},s)]:[]}else{var g=n;if(r){var y=this._applyTransform(i);t=y.sourceList,e=y.upstreamSignList}else{t=[tf(g.get("source",!0),this._getSourceMetaRawOption(),null)],e=[]}}this._setLocalSource(t,e)},t.prototype._applyTransform=function(t){var e,n=this._sourceHost,i=n.get("transform",!0),r=n.get("fromTransformResult",!0);if(null!=r){var o="";1!==t.length&&tg(o)}var a,s=[],l=[];return E(t,(function(t){t.prepareSource();var e=t.getSource(r||0),n="";null==r||e||tg(n),s.push(e),l.push(t._getVersionSign())})),i?e=function(t,e,n){var i=To(t),r=i.length,o="";r||wo(o);for(var a=0,s=r;a1||n>0&&!t.noHeader;return E(t.blocks,(function(t){var n=lg(t);n>=e&&(e=n+ +(i&&(!n||ag(t)&&!t.noHeader)))})),e}return 0}function ug(t,e,n,i){var r,o=e.noHeader,a=(r=lg(e),{html:ig[r],richText:rg[r]}),s=[],l=e.blocks||[];lt(!l||Y(l)),l=l||[];var u=t.orderMode;if(e.sortBlocks&&u){l=l.slice();var h={valueAsc:"asc",valueDesc:"desc"};if(_t(h,u)){var c=new kf(h[u],null);l.sort((function(t,e){return c.evaluate(t.sortParam,e.sortParam)}))}else"seriesDesc"===u&&l.reverse()}E(l,(function(n,r){var o=e.valueFormatter,l=sg(n)(o?A(A({},t),{valueFormatter:o}):t,n,r>0?a.html:0,i);null!=l&&s.push(l)}));var p="richText"===t.renderMode?s.join(a.richText):pg(s.join(""),o?n:a.html);if(o)return p;var d=mp(e.header,"ordinal",t.useUTC),f=ng(i,t.renderMode).nameStyle;return"richText"===t.renderMode?dg(t,d,f)+a.richText+p:pg('
    '+re(d)+"
    "+p,n)}function hg(t,e,n,i){var r=t.renderMode,o=e.noName,a=e.noValue,s=!e.markerType,l=e.name,u=t.useUTC,h=e.valueFormatter||t.valueFormatter||function(t){return z(t=Y(t)?t:[t],(function(t,e){return mp(t,Y(d)?d[e]:d,u)}))};if(!o||!a){var c=s?"":t.markupStyleCreator.makeTooltipMarker(e.markerType,e.markerColor||"#333",r),p=o?"":mp(l,"ordinal",u),d=e.valueType,f=a?[]:h(e.value,e.dataIndex),g=!s||!o,y=!s&&o,v=ng(i,r),m=v.nameStyle,x=v.valueStyle;return"richText"===r?(s?"":c)+(o?"":dg(t,p,m))+(a?"":function(t,e,n,i,r){var o=[r],a=i?10:20;return n&&o.push({padding:[0,0,0,a],align:"right"}),t.markupStyleCreator.wrapRichTextStyle(Y(e)?e.join(" "):e,o)}(t,f,g,y,x)):pg((s?"":c)+(o?"":function(t,e,n){return''+re(t)+""}(p,!s,m))+(a?"":function(t,e,n,i){var r=n?"10px":"20px",o=e?"float:right;margin-left:"+r:"";return t=Y(t)?t:[t],''+z(t,(function(t){return re(t)})).join("  ")+""}(f,g,y,x)),n)}}function cg(t,e,n,i,r,o){if(t)return sg(t)({useUTC:r,renderMode:n,orderMode:i,markupStyleCreator:e,valueFormatter:t.valueFormatter},t,0,o)}function pg(t,e){return'
    '+t+'
    '}function dg(t,e,n){return t.markupStyleCreator.wrapRichTextStyle(e,n)}function fg(t,e){return Sp(t.getData().getItemVisual(e,"style")[t.visualDrawType])}function gg(t,e){var n=t.get("padding");return null!=n?n:"richText"===e?[8,10]:10}var yg=function(){function t(){this.richTextStyles={},this._nextStyleNameId=mo()}return t.prototype._generateStyleName=function(){return"__EC_aUTo_"+this._nextStyleNameId++},t.prototype.makeTooltipMarker=function(t,e,n){var i="richText"===n?this._generateStyleName():null,r=wp({color:e,type:t,renderMode:n,markerId:i});return U(r)?r:(this.richTextStyles[i]=r.style,r.content)},t.prototype.wrapRichTextStyle=function(t,e){var n={};Y(e)?E(e,(function(t){return A(n,t)})):A(n,e);var i=this._generateStyleName();return this.richTextStyles[i]=n,"{"+i+"|"+t+"}"},t}();function vg(t){var e,n,i,r,o=t.series,a=t.dataIndex,s=t.multipleSeries,l=o.getData(),u=l.mapDimensionsAll("defaultedTooltip"),h=u.length,c=o.getRawValue(a),p=Y(c),d=fg(o,a);if(h>1||p&&!h){var f=function(t,e,n,i,r){var o=e.getData(),a=V(t,(function(t,e,n){var i=o.getDimensionInfo(n);return t||i&&!1!==i.tooltip&&null!=i.displayName}),!1),s=[],l=[],u=[];function h(t,e){var n=o.getDimensionInfo(e);n&&!1!==n.otherDims.tooltip&&(a?u.push(og("nameValue",{markerType:"subItem",markerColor:r,name:n.displayName,value:t,valueType:n.type})):(s.push(t),l.push(n.type)))}return i.length?E(i,(function(t){h(mf(o,n,t),t)})):E(t,h),{inlineValues:s,inlineValueTypes:l,blocks:u}}(c,o,a,u,d);e=f.inlineValues,n=f.inlineValueTypes,i=f.blocks,r=f.inlineValues[0]}else if(h){var g=l.getDimensionInfo(u[0]);r=e=mf(l,a,u[0]),n=g.type}else r=e=p?c[0]:c;var y=No(o),v=y&&o.name||"",m=l.getName(a),x=s?v:m;return og("section",{header:v,noHeader:s||!y,sortParam:r,blocks:[og("nameValue",{markerType:"item",markerColor:d,name:x,noName:!ut(x),value:e,valueType:n,dataIndex:a})].concat(i||[])})}var mg=Vo();function xg(t,e){return t.getName(e)||t.getId(e)}var _g="__universalTransitionEnabled",bg=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._selectedDataIndicesMap={},e}return n(e,t),e.prototype.init=function(t,e,n){this.seriesIndex=this.componentIndex,this.dataTask=wf({count:Sg,reset:Mg}),this.dataTask.context={model:this},this.mergeDefaultAndTheme(t,n),(mg(this).sourceManager=new $f(this)).prepareSource();var i=this.getInitialData(t,n);Tg(i,this),this.dataTask.context.data=i,mg(this).dataBeforeProcessed=i,wg(this),this._initSelectedMapFromData(i)},e.prototype.mergeDefaultAndTheme=function(t,e){var n=Pp(this),i=n?Rp(t):{},r=this.subType;zp.hasClass(r)&&(r+="Series"),C(t,e.getTheme().get(this.subType)),C(t,this.getDefaultOption()),Co(t,"label",["show"]),this.fillDataTextStyle(t.data),n&&Op(t,i,n)},e.prototype.mergeOption=function(t,e){t=C(this.option,t,!0),this.fillDataTextStyle(t.data);var n=Pp(this);n&&Op(this.option,t,n);var i=mg(this).sourceManager;i.dirty(),i.prepareSource();var r=this.getInitialData(t,e);Tg(r,this),this.dataTask.dirty(),this.dataTask.context.data=r,mg(this).dataBeforeProcessed=r,wg(this),this._initSelectedMapFromData(r)},e.prototype.fillDataTextStyle=function(t){if(t&&!$(t))for(var e=["show"],n=0;nthis.getShallow("animationThreshold")&&(e=!1),!!e},e.prototype.restoreData=function(){this.dataTask.dirty()},e.prototype.getColorFromPalette=function(t,e,n){var i=this.ecModel,r=cd.prototype.getColorFromPalette.call(this,t,e,n);return r||(r=i.getColorFromPalette(t,e,n)),r},e.prototype.coordDimToDataDim=function(t){return this.getRawData().mapDimensionsAll(t)},e.prototype.getProgressive=function(){return this.get("progressive")},e.prototype.getProgressiveThreshold=function(){return this.get("progressiveThreshold")},e.prototype.select=function(t,e){this._innerSelect(this.getData(e),t)},e.prototype.unselect=function(t,e){var n=this.option.selectedMap;if(n){var i=this.option.selectedMode,r=this.getData(e);if("series"===i||"all"===n)return this.option.selectedMap={},void(this._selectedDataIndicesMap={});for(var o=0;o=0&&n.push(r)}return n},e.prototype.isSelected=function(t,e){var n=this.option.selectedMap;if(!n)return!1;var i=this.getData(e);return("all"===n||n[xg(i,t)])&&!i.getItemModel(t).get(["select","disabled"])},e.prototype.isUniversalTransitionEnabled=function(){if(this[_g])return!0;var t=this.option.universalTransition;return!!t&&(!0===t||t&&t.enabled)},e.prototype._innerSelect=function(t,e){var n,i,r=this.option,o=r.selectedMode,a=e.length;if(o&&a)if("series"===o)r.selectedMap="all";else if("multiple"===o){q(r.selectedMap)||(r.selectedMap={});for(var s=r.selectedMap,l=0;l0&&this._innerSelect(t,e)}},e.registerClass=function(t){return zp.registerClass(t)},e.protoInitialize=function(){var t=e.prototype;t.type="series.__base__",t.seriesIndex=0,t.ignoreStyleOnData=!1,t.hasSymbolVisual=!1,t.defaultSymbol="circle",t.visualStyleAccessPath="itemStyle",t.visualDrawType="fill"}(),e}(zp);function wg(t){var e=t.name;No(t)||(t.name=function(t){var e=t.getRawData(),n=e.mapDimensionsAll("seriesName"),i=[];return E(n,(function(t){var n=e.getDimensionInfo(t);n.displayName&&i.push(n.displayName)})),i.join(" ")}(t)||e)}function Sg(t){return t.model.getRawData().count()}function Mg(t){var e=t.model;return e.setData(e.getRawData().cloneShallow()),Ig}function Ig(t,e){e.outputData&&t.end>e.outputData.count()&&e.model.getRawData().cloneShallow(e.outputData)}function Tg(t,e){E(vt(t.CHANGABLE_METHODS,t.DOWNSAMPLE_METHODS),(function(n){t.wrapMethod(n,H(Cg,e))}))}function Cg(t,e){var n=Dg(t);return n&&n.setOutputEnd((e||this).count()),e}function Dg(t){var e=(t.ecModel||{}).scheduler,n=e&&e.getPipeline(t.uid);if(n){var i=n.currentTask;if(i){var r=i.agentStubMap;r&&(i=r.get(t.uid))}return i}}R(bg,_f),R(bg,cd),Jo(bg,zp);var Ag=function(){function t(){this.group=new Br,this.uid=Ac("viewComponent")}return t.prototype.init=function(t,e){},t.prototype.render=function(t,e,n,i){},t.prototype.dispose=function(t,e){},t.prototype.updateView=function(t,e,n,i){},t.prototype.updateLayout=function(t,e,n,i){},t.prototype.updateVisual=function(t,e,n,i){},t.prototype.toggleBlurSeries=function(t,e,n){},t.prototype.eachRendered=function(t){var e=this.group;e&&e.traverse(t)},t}();function kg(){var t=Vo();return function(e){var n=t(e),i=e.pipelineContext,r=!!n.large,o=!!n.progressiveRender,a=n.large=!(!i||!i.large),s=n.progressiveRender=!(!i||!i.progressiveRender);return!(r===a&&o===s)&&"reset"}}$o(Ag),na(Ag);var Lg=Vo(),Pg=kg(),Og=function(){function t(){this.group=new Br,this.uid=Ac("viewChart"),this.renderTask=wf({plan:Eg,reset:zg}),this.renderTask.context={view:this}}return t.prototype.init=function(t,e){},t.prototype.render=function(t,e,n,i){0},t.prototype.highlight=function(t,e,n,i){var r=t.getData(i&&i.dataType);r&&Ng(r,i,"emphasis")},t.prototype.downplay=function(t,e,n,i){var r=t.getData(i&&i.dataType);r&&Ng(r,i,"normal")},t.prototype.remove=function(t,e){this.group.removeAll()},t.prototype.dispose=function(t,e){},t.prototype.updateView=function(t,e,n,i){this.render(t,e,n,i)},t.prototype.updateLayout=function(t,e,n,i){this.render(t,e,n,i)},t.prototype.updateVisual=function(t,e,n,i){this.render(t,e,n,i)},t.prototype.eachRendered=function(t){Jh(this.group,t)},t.markUpdateMethod=function(t,e){Lg(t).updateMethod=e},t.protoInitialize=void(t.prototype.type="chart"),t}();function Rg(t,e,n){t&&Ql(t)&&("emphasis"===e?Ol:Rl)(t,n)}function Ng(t,e,n){var i=zo(t,e),r=e&&null!=e.highlightKey?function(t){var e=sl[t];return null==e&&al<=32&&(e=sl[t]=al++),e}(e.highlightKey):null;null!=i?E(To(i),(function(e){Rg(t.getItemGraphicEl(e),n,r)})):t.eachItemGraphicEl((function(t){Rg(t,n,r)}))}function Eg(t){return Pg(t.model)}function zg(t){var e=t.model,n=t.ecModel,i=t.api,r=t.payload,o=e.pipelineContext.progressiveRender,a=t.view,s=r&&Lg(r).updateMethod,l=o?"incrementalPrepareRender":s&&a[s]?s:"render";return"render"!==l&&a[l](e,n,i,r),Vg[l]}$o(Og),na(Og);var Vg={incrementalPrepareRender:{progress:function(t,e){e.view.incrementalRender(t,e.model,e.ecModel,e.api,e.payload)}},render:{forceFirstProgress:!0,progress:function(t,e){e.view.render(e.model,e.ecModel,e.api,e.payload)}}},Bg="\0__throttleOriginMethod",Fg="\0__throttleRate",Gg="\0__throttleType";function Wg(t,e,n){var i,r,o,a,s,l=0,u=0,h=null;function c(){u=(new Date).getTime(),h=null,t.apply(o,a||[])}e=e||0;var p=function(){for(var t=[],p=0;p=0?c():h=setTimeout(c,-r),l=i};return p.clear=function(){h&&(clearTimeout(h),h=null)},p.debounceNextCall=function(t){s=t},p}function Hg(t,e,n,i){var r=t[e];if(r){var o=r[Bg]||r,a=r[Gg];if(r[Fg]!==n||a!==i){if(null==n||!i)return t[e]=o;(r=t[e]=Wg(o,n,"debounce"===i))[Bg]=o,r[Gg]=i,r[Fg]=n}return r}}function Yg(t,e){var n=t[e];n&&n[Bg]&&(n.clear&&n.clear(),t[e]=n[Bg])}var Xg=Vo(),Ug={itemStyle:ia(Mc,!0),lineStyle:ia(bc,!0)},Zg={lineStyle:"stroke",itemStyle:"fill"};function jg(t,e){var n=t.visualStyleMapper||Ug[e];return n||(console.warn("Unknown style type '"+e+"'."),Ug.itemStyle)}function qg(t,e){var n=t.visualDrawType||Zg[e];return n||(console.warn("Unknown style type '"+e+"'."),"fill")}var Kg={createOnAllSeries:!0,performRawSeries:!0,reset:function(t,e){var n=t.getData(),i=t.visualStyleAccessPath||"itemStyle",r=t.getModel(i),o=jg(t,i)(r),a=r.getShallow("decal");a&&(n.setVisual("decal",a),a.dirty=!0);var s=qg(t,i),l=o[s],u=X(l)?l:null,h="auto"===o.fill||"auto"===o.stroke;if(!o[s]||u||h){var c=t.getColorFromPalette(t.name,null,e.getSeriesCount());o[s]||(o[s]=c,n.setVisual("colorFromPalette",!0)),o.fill="auto"===o.fill||X(o.fill)?c:o.fill,o.stroke="auto"===o.stroke||X(o.stroke)?c:o.stroke}if(n.setVisual("style",o),n.setVisual("drawType",s),!e.isSeriesFiltered(t)&&u)return n.setVisual("colorFromPalette",!1),{dataEach:function(e,n){var i=t.getDataParams(n),r=A({},o);r[s]=u(i),e.setItemVisual(n,"style",r)}}}},$g=new Cc,Jg={createOnAllSeries:!0,performRawSeries:!0,reset:function(t,e){if(!t.ignoreStyleOnData&&!e.isSeriesFiltered(t)){var n=t.getData(),i=t.visualStyleAccessPath||"itemStyle",r=jg(t,i),o=n.getVisual("drawType");return{dataEach:n.hasItemOption?function(t,e){var n=t.getRawDataItem(e);if(n&&n[i]){$g.option=n[i];var a=r($g);A(t.ensureUniqueItemVisual(e,"style"),a),$g.option.decal&&(t.setItemVisual(e,"decal",$g.option.decal),$g.option.decal.dirty=!0),o in a&&t.setItemVisual(e,"colorFromPalette",!1)}}:null}}}},Qg={performRawSeries:!0,overallReset:function(t){var e=yt();t.eachSeries((function(t){var n=t.getColorBy();if(!t.isColorBySeries()){var i=t.type+"-"+n,r=e.get(i);r||(r={},e.set(i,r)),Xg(t).scope=r}})),t.eachSeries((function(e){if(!e.isColorBySeries()&&!t.isSeriesFiltered(e)){var n=e.getRawData(),i={},r=e.getData(),o=Xg(e).scope,a=e.visualStyleAccessPath||"itemStyle",s=qg(e,a);r.each((function(t){var e=r.getRawIndex(t);i[e]=t})),n.each((function(t){var a=i[t];if(r.getItemVisual(a,"colorFromPalette")){var l=r.ensureUniqueItemVisual(a,"style"),u=n.getName(t)||t+"",h=n.count();l[s]=e.getColorFromPalette(u,o,h)}}))}}))}},ty=Math.PI;var ey=function(){function t(t,e,n,i){this._stageTaskMap=yt(),this.ecInstance=t,this.api=e,n=this._dataProcessorHandlers=n.slice(),i=this._visualHandlers=i.slice(),this._allHandlers=n.concat(i)}return t.prototype.restoreData=function(t,e){t.restoreData(e),this._stageTaskMap.each((function(t){var e=t.overallTask;e&&e.dirty()}))},t.prototype.getPerformArgs=function(t,e){if(t.__pipeline){var n=this._pipelineMap.get(t.__pipeline.id),i=n.context,r=!e&&n.progressiveEnabled&&(!i||i.progressiveRender)&&t.__idxInPipeline>n.blockIndex?n.step:null,o=i&&i.modDataCount;return{step:r,modBy:null!=o?Math.ceil(o/r):null,modDataCount:o}}},t.prototype.getPipeline=function(t){return this._pipelineMap.get(t)},t.prototype.updateStreamModes=function(t,e){var n=this._pipelineMap.get(t.uid),i=t.getData().count(),r=n.progressiveEnabled&&e.incrementalPrepareRender&&i>=n.threshold,o=t.get("large")&&i>=t.get("largeThreshold"),a="mod"===t.get("progressiveChunkMode")?i:null;t.pipelineContext=n.context={progressiveRender:r,modDataCount:a,large:o}},t.prototype.restorePipelines=function(t){var e=this,n=e._pipelineMap=yt();t.eachSeries((function(t){var i=t.getProgressive(),r=t.uid;n.set(r,{id:r,head:null,tail:null,threshold:t.getProgressiveThreshold(),progressiveEnabled:i&&!(t.preventIncremental&&t.preventIncremental()),blockIndex:-1,step:Math.round(i||700),count:0}),e._pipe(t,t.dataTask)}))},t.prototype.prepareStageTasks=function(){var t=this._stageTaskMap,e=this.api.getModel(),n=this.api;E(this._allHandlers,(function(i){var r=t.get(i.uid)||t.set(i.uid,{}),o="";lt(!(i.reset&&i.overallReset),o),i.reset&&this._createSeriesStageTask(i,r,e,n),i.overallReset&&this._createOverallStageTask(i,r,e,n)}),this)},t.prototype.prepareView=function(t,e,n,i){var r=t.renderTask,o=r.context;o.model=e,o.ecModel=n,o.api=i,r.__block=!t.incrementalPrepareRender,this._pipe(e,r)},t.prototype.performDataProcessorTasks=function(t,e){this._performStageTasks(this._dataProcessorHandlers,t,e,{block:!0})},t.prototype.performVisualTasks=function(t,e,n){this._performStageTasks(this._visualHandlers,t,e,n)},t.prototype._performStageTasks=function(t,e,n,i){i=i||{};var r=!1,o=this;function a(t,e){return t.setDirty&&(!t.dirtyMap||t.dirtyMap.get(e.__pipeline.id))}E(t,(function(t,s){if(!i.visualType||i.visualType===t.visualType){var l=o._stageTaskMap.get(t.uid),u=l.seriesTaskMap,h=l.overallTask;if(h){var c,p=h.agentStubMap;p.each((function(t){a(i,t)&&(t.dirty(),c=!0)})),c&&h.dirty(),o.updatePayload(h,n);var d=o.getPerformArgs(h,i.block);p.each((function(t){t.perform(d)})),h.perform(d)&&(r=!0)}else u&&u.each((function(s,l){a(i,s)&&s.dirty();var u=o.getPerformArgs(s,i.block);u.skip=!t.performRawSeries&&e.isSeriesFiltered(s.context.model),o.updatePayload(s,n),s.perform(u)&&(r=!0)}))}})),this.unfinished=r||this.unfinished},t.prototype.performSeriesTasks=function(t){var e;t.eachSeries((function(t){e=t.dataTask.perform()||e})),this.unfinished=e||this.unfinished},t.prototype.plan=function(){this._pipelineMap.each((function(t){var e=t.tail;do{if(e.__block){t.blockIndex=e.__idxInPipeline;break}e=e.getUpstream()}while(e)}))},t.prototype.updatePayload=function(t,e){"remain"!==e&&(t.context.payload=e)},t.prototype._createSeriesStageTask=function(t,e,n,i){var r=this,o=e.seriesTaskMap,a=e.seriesTaskMap=yt(),s=t.seriesType,l=t.getTargetSeries;function u(e){var s=e.uid,l=a.set(s,o&&o.get(s)||wf({plan:ay,reset:sy,count:hy}));l.context={model:e,ecModel:n,api:i,useClearVisual:t.isVisual&&!t.isLayout,plan:t.plan,reset:t.reset,scheduler:r},r._pipe(e,l)}t.createOnAllSeries?n.eachRawSeries(u):s?n.eachRawSeriesByType(s,u):l&&l(n,i).each(u)},t.prototype._createOverallStageTask=function(t,e,n,i){var r=this,o=e.overallTask=e.overallTask||wf({reset:ny});o.context={ecModel:n,api:i,overallReset:t.overallReset,scheduler:r};var a=o.agentStubMap,s=o.agentStubMap=yt(),l=t.seriesType,u=t.getTargetSeries,h=!0,c=!1,p="";function d(t){var e=t.uid,n=s.set(e,a&&a.get(e)||(c=!0,wf({reset:iy,onDirty:oy})));n.context={model:t,overallProgress:h},n.agent=o,n.__block=h,r._pipe(t,n)}lt(!t.createOnAllSeries,p),l?n.eachRawSeriesByType(l,d):u?u(n,i).each(d):(h=!1,E(n.getSeries(),d)),c&&o.dirty()},t.prototype._pipe=function(t,e){var n=t.uid,i=this._pipelineMap.get(n);!i.head&&(i.head=e),i.tail&&i.tail.pipe(e),i.tail=e,e.__idxInPipeline=i.count++,e.__pipeline=i},t.wrapStageHandler=function(t,e){return X(t)&&(t={overallReset:t,seriesType:cy(t)}),t.uid=Ac("stageHandler"),e&&(t.visualType=e),t},t}();function ny(t){t.overallReset(t.ecModel,t.api,t.payload)}function iy(t){return t.overallProgress&&ry}function ry(){this.agent.dirty(),this.getDownstream().dirty()}function oy(){this.agent&&this.agent.dirty()}function ay(t){return t.plan?t.plan(t.model,t.ecModel,t.api,t.payload):null}function sy(t){t.useClearVisual&&t.data.clearAllVisual();var e=t.resetDefines=To(t.reset(t.model,t.ecModel,t.api,t.payload));return e.length>1?z(e,(function(t,e){return uy(e)})):ly}var ly=uy(0);function uy(t){return function(e,n){var i=n.data,r=n.resetDefines[t];if(r&&r.dataEach)for(var o=e.start;o0&&h===r.length-u.length){var c=r.slice(0,h);"data"!==c&&(e.mainType=c,e[u.toLowerCase()]=t,s=!0)}}a.hasOwnProperty(r)&&(n[r]=t,s=!0),s||(i[r]=t)}))}return{cptQuery:e,dataQuery:n,otherQuery:i}},t.prototype.filter=function(t,e){var n=this.eventInfo;if(!n)return!0;var i=n.targetEl,r=n.packedEvent,o=n.model,a=n.view;if(!o||!a)return!0;var s=e.cptQuery,l=e.dataQuery;return u(s,o,"mainType")&&u(s,o,"subType")&&u(s,o,"index","componentIndex")&&u(s,o,"name")&&u(s,o,"id")&&u(l,r,"name")&&u(l,r,"dataIndex")&&u(l,r,"dataType")&&(!a.filterForExposedEvent||a.filterForExposedEvent(t,e.otherQuery,i,r));function u(t,e,n,i){return null==t[n]||e[i||n]===t[n]}},t.prototype.afterTrigger=function(){this.eventInfo=null},t}(),My=["symbol","symbolSize","symbolRotate","symbolOffset"],Iy=My.concat(["symbolKeepAspect"]),Ty={createOnAllSeries:!0,performRawSeries:!0,reset:function(t,e){var n=t.getData();if(t.legendIcon&&n.setVisual("legendIcon",t.legendIcon),t.hasSymbolVisual){for(var i={},r={},o=!1,a=0;a=0&&jy(l)?l:.5,t.createRadialGradient(a,s,0,a,s,l)}(t,e,n):function(t,e,n){var i=null==e.x?0:e.x,r=null==e.x2?1:e.x2,o=null==e.y?0:e.y,a=null==e.y2?0:e.y2;return e.global||(i=i*n.width+n.x,r=r*n.width+n.x,o=o*n.height+n.y,a=a*n.height+n.y),i=jy(i)?i:0,r=jy(r)?r:1,o=jy(o)?o:0,a=jy(a)?a:0,t.createLinearGradient(i,o,r,a)}(t,e,n),r=e.colorStops,o=0;o0&&(e=i.lineDash,n=i.lineWidth,e&&"solid"!==e&&n>0?"dashed"===e?[4*n,2*n]:"dotted"===e?[n]:j(e)?[e]:Y(e)?e:null:null),o=i.lineDashOffset;if(r){var a=i.strokeNoScale&&t.getLineScale?t.getLineScale():1;a&&1!==a&&(r=z(r,(function(t){return t/a})),o/=a)}return[r,o]}var Qy=new hs(!0);function tv(t){var e=t.stroke;return!(null==e||"none"===e||!(t.lineWidth>0))}function ev(t){return"string"==typeof t&&"none"!==t}function nv(t){var e=t.fill;return null!=e&&"none"!==e}function iv(t,e){if(null!=e.fillOpacity&&1!==e.fillOpacity){var n=t.globalAlpha;t.globalAlpha=e.fillOpacity*e.opacity,t.fill(),t.globalAlpha=n}else t.fill()}function rv(t,e){if(null!=e.strokeOpacity&&1!==e.strokeOpacity){var n=t.globalAlpha;t.globalAlpha=e.strokeOpacity*e.opacity,t.stroke(),t.globalAlpha=n}else t.stroke()}function ov(t,e,n){var i=la(e.image,e.__image,n);if(ha(i)){var r=t.createPattern(i,e.repeat||"repeat");if("function"==typeof DOMMatrix&&r&&r.setTransform){var o=new DOMMatrix;o.translateSelf(e.x||0,e.y||0),o.rotateSelf(0,0,(e.rotation||0)*wt),o.scaleSelf(e.scaleX||1,e.scaleY||1),r.setTransform(o)}return r}}var av=["shadowBlur","shadowOffsetX","shadowOffsetY"],sv=[["lineCap","butt"],["lineJoin","miter"],["miterLimit",10]];function lv(t,e,n,i,r){var o=!1;if(!i&&e===(n=n||{}))return!1;if(i||e.opacity!==n.opacity){cv(t,r),o=!0;var a=Math.max(Math.min(e.opacity,1),0);t.globalAlpha=isNaN(a)?Ma.opacity:a}(i||e.blend!==n.blend)&&(o||(cv(t,r),o=!0),t.globalCompositeOperation=e.blend||Ma.blend);for(var s=0;s0&&t.unfinished);t.unfinished||this._zr.flush()}}},e.prototype.getDom=function(){return this._dom},e.prototype.getId=function(){return this.id},e.prototype.getZr=function(){return this._zr},e.prototype.isSSR=function(){return this._ssr},e.prototype.setOption=function(t,e,n){if(!this[Dv])if(this._disposed)om(this.id);else{var i,r,o;if(q(e)&&(n=e.lazyUpdate,i=e.silent,r=e.replaceMerge,o=e.transition,e=e.notMerge),this[Dv]=!0,!this._model||e){var a=new Md(this._api),s=this._theme,l=this._model=new gd;l.scheduler=this._scheduler,l.ssr=this._ssr,l.init(null,null,null,s,this._locale,a)}this._model.setOption(t,{replaceMerge:r},um);var u={seriesTransition:o,optionChanged:!0};if(n)this[Av]={silent:i,updateParams:u},this[Dv]=!1,this.getZr().wakeUp();else{try{Ev(this),Bv.update.call(this,null,u)}catch(t){throw this[Av]=null,this[Dv]=!1,t}this._ssr||this._zr.flush(),this[Av]=null,this[Dv]=!1,Hv.call(this,i),Yv.call(this,i)}}},e.prototype.setTheme=function(){bo()},e.prototype.getModel=function(){return this._model},e.prototype.getOption=function(){return this._model&&this._model.getOption()},e.prototype.getWidth=function(){return this._zr.getWidth()},e.prototype.getHeight=function(){return this._zr.getHeight()},e.prototype.getDevicePixelRatio=function(){return this._zr.painter.dpr||r.hasGlobalWindow&&window.devicePixelRatio||1},e.prototype.getRenderedCanvas=function(t){return this.renderToCanvas(t)},e.prototype.renderToCanvas=function(t){t=t||{};var e=this._zr.painter;return e.getRenderedCanvas({backgroundColor:t.backgroundColor||this._model.get("backgroundColor"),pixelRatio:t.pixelRatio||this.getDevicePixelRatio()})},e.prototype.renderToSVGString=function(t){t=t||{};var e=this._zr.painter;return e.renderToString({useViewBox:t.useViewBox})},e.prototype.getSvgDataURL=function(){if(r.svgSupported){var t=this._zr;return E(t.storage.getDisplayList(),(function(t){t.stopAnimation(null,!0)})),t.painter.toDataURL()}},e.prototype.getDataURL=function(t){if(!this._disposed){var e=(t=t||{}).excludeComponents,n=this._model,i=[],r=this;E(e,(function(t){n.eachComponent({mainType:t},(function(t){var e=r._componentsMap[t.__viewId];e.group.ignore||(i.push(e),e.group.ignore=!0)}))}));var o="svg"===this._zr.painter.getType()?this.getSvgDataURL():this.renderToCanvas(t).toDataURL("image/"+(t&&t.type||"png"));return E(i,(function(t){t.group.ignore=!1})),o}om(this.id)},e.prototype.getConnectedDataURL=function(t){if(!this._disposed){var e="svg"===t.type,n=this.group,i=Math.min,r=Math.max,o=1/0;if(fm[n]){var a=o,s=o,l=-1/0,u=-1/0,c=[],p=t&&t.pixelRatio||this.getDevicePixelRatio();E(dm,(function(o,h){if(o.group===n){var p=e?o.getZr().painter.getSvgDom().innerHTML:o.renderToCanvas(T(t)),d=o.getDom().getBoundingClientRect();a=i(d.left,a),s=i(d.top,s),l=r(d.right,l),u=r(d.bottom,u),c.push({dom:p,left:d.left,top:d.top})}}));var d=(l*=p)-(a*=p),f=(u*=p)-(s*=p),g=h.createCanvas(),y=Yr(g,{renderer:e?"svg":"canvas"});if(y.resize({width:d,height:f}),e){var v="";return E(c,(function(t){var e=t.left-a,n=t.top-s;v+=''+t.dom+""})),y.painter.getSvgRoot().innerHTML=v,t.connectedBackgroundColor&&y.painter.setBackgroundColor(t.connectedBackgroundColor),y.refreshImmediately(),y.painter.toDataURL()}return t.connectedBackgroundColor&&y.add(new Ws({shape:{x:0,y:0,width:d,height:f},style:{fill:t.connectedBackgroundColor}})),E(c,(function(t){var e=new Ns({style:{x:t.left*p-a,y:t.top*p-s,image:t.dom}});y.add(e)})),y.refreshImmediately(),g.toDataURL("image/"+(t&&t.type||"png"))}return this.getDataURL(t)}om(this.id)},e.prototype.convertToPixel=function(t,e){return Fv(this,"convertToPixel",t,e)},e.prototype.convertFromPixel=function(t,e){return Fv(this,"convertFromPixel",t,e)},e.prototype.containPixel=function(t,e){var n;if(!this._disposed)return E(Fo(this._model,t),(function(t,i){i.indexOf("Models")>=0&&E(t,(function(t){var r=t.coordinateSystem;if(r&&r.containPoint)n=n||!!r.containPoint(e);else if("seriesModels"===i){var o=this._chartsMap[t.__viewId];o&&o.containPoint&&(n=n||o.containPoint(e,t))}else 0}),this)}),this),!!n;om(this.id)},e.prototype.getVisual=function(t,e){var n=Fo(this._model,t,{defaultMainType:"series"}),i=n.seriesModel;var r=i.getData(),o=n.hasOwnProperty("dataIndexInside")?n.dataIndexInside:n.hasOwnProperty("dataIndex")?r.indexOfRawIndex(n.dataIndex):null;return null!=o?Dy(r,o,e):Ay(r,e)},e.prototype.getViewOfComponentModel=function(t){return this._componentsMap[t.__viewId]},e.prototype.getViewOfSeriesModel=function(t){return this._chartsMap[t.__viewId]},e.prototype._initEvents=function(){var t,e,n,i=this;E(rm,(function(t){var e=function(e){var n,r=i.getModel(),o=e.target,a="globalout"===t;if(a?n={}:o&&Oy(o,(function(t){var e=rl(t);if(e&&null!=e.dataIndex){var i=e.dataModel||r.getSeriesByIndex(e.seriesIndex);return n=i&&i.getDataParams(e.dataIndex,e.dataType,o)||{},!0}if(e.eventData)return n=A({},e.eventData),!0}),!0),n){var s=n.componentType,l=n.componentIndex;"markLine"!==s&&"markPoint"!==s&&"markArea"!==s||(s="series",l=n.seriesIndex);var u=s&&null!=l&&r.getComponent(s,l),h=u&&i["series"===u.mainType?"_chartsMap":"_componentsMap"][u.__viewId];0,n.event=e,n.type=t,i._$eventProcessor.eventInfo={targetEl:o,packedEvent:n,model:u,view:h},i.trigger(t,n)}};e.zrEventfulCallAtLast=!0,i._zr.on(t,e,i)})),E(sm,(function(t,e){i._messageCenter.on(e,(function(t){this.trigger(e,t)}),i)})),E(["selectchanged"],(function(t){i._messageCenter.on(t,(function(e){this.trigger(t,e)}),i)})),t=this._messageCenter,e=this,n=this._api,t.on("selectchanged",(function(t){var i=n.getModel();t.isFromClick?(Py("map","selectchanged",e,i,t),Py("pie","selectchanged",e,i,t)):"select"===t.fromAction?(Py("map","selected",e,i,t),Py("pie","selected",e,i,t)):"unselect"===t.fromAction&&(Py("map","unselected",e,i,t),Py("pie","unselected",e,i,t))}))},e.prototype.isDisposed=function(){return this._disposed},e.prototype.clear=function(){this._disposed?om(this.id):this.setOption({series:[]},!0)},e.prototype.dispose=function(){if(this._disposed)om(this.id);else{this._disposed=!0,this.getDom()&&Xo(this.getDom(),vm,"");var t=this,e=t._api,n=t._model;E(t._componentsViews,(function(t){t.dispose(n,e)})),E(t._chartsViews,(function(t){t.dispose(n,e)})),t._zr.dispose(),t._dom=t._model=t._chartsMap=t._componentsMap=t._chartsViews=t._componentsViews=t._scheduler=t._api=t._zr=t._throttledZrFlush=t._theme=t._coordSysMgr=t._messageCenter=null,delete dm[t.id]}},e.prototype.resize=function(t){if(!this[Dv])if(this._disposed)om(this.id);else{this._zr.resize(t);var e=this._model;if(this._loadingFX&&this._loadingFX.resize(),e){var n=e.resetOption("media"),i=t&&t.silent;this[Av]&&(null==i&&(i=this[Av].silent),n=!0,this[Av]=null),this[Dv]=!0;try{n&&Ev(this),Bv.update.call(this,{type:"resize",animation:A({duration:0},t&&t.animation)})}catch(t){throw this[Dv]=!1,t}this[Dv]=!1,Hv.call(this,i),Yv.call(this,i)}}},e.prototype.showLoading=function(t,e){if(this._disposed)om(this.id);else if(q(t)&&(e=t,t=""),t=t||"default",this.hideLoading(),pm[t]){var n=pm[t](this._api,e),i=this._zr;this._loadingFX=n,i.add(n)}},e.prototype.hideLoading=function(){this._disposed?om(this.id):(this._loadingFX&&this._zr.remove(this._loadingFX),this._loadingFX=null)},e.prototype.makeActionFromEvent=function(t){var e=A({},t);return e.type=sm[t.type],e},e.prototype.dispatchAction=function(t,e){if(this._disposed)om(this.id);else if(q(e)||(e={silent:!!e}),am[t.type]&&this._model)if(this[Dv])this._pendingActions.push(t);else{var n=e.silent;Wv.call(this,t,n);var i=e.flush;i?this._zr.flush():!1!==i&&r.browser.weChat&&this._throttledZrFlush(),Hv.call(this,n),Yv.call(this,n)}},e.prototype.updateLabelLayout=function(){wv.trigger("series:layoutlabels",this._model,this._api,{updatedSeries:[]})},e.prototype.appendData=function(t){if(this._disposed)om(this.id);else{var e=t.seriesIndex,n=this.getModel().getSeriesByIndex(e);0,n.appendData(t),this._scheduler.unfinished=!0,this.getZr().wakeUp()}},e.internalField=function(){function t(t){t.clearColorPalette(),t.eachSeries((function(t){t.clearColorPalette()}))}function e(t){for(var e=[],n=t.currentStates,i=0;i0?{duration:o,delay:i.get("delay"),easing:i.get("easing")}:null;n.eachRendered((function(t){if(t.states&&t.states.emphasis){if(xh(t))return;if(t instanceof ks&&function(t){var e=ll(t);e.normalFill=t.style.fill,e.normalStroke=t.style.stroke;var n=t.states.select||{};e.selectFill=n.style&&n.style.fill||null,e.selectStroke=n.style&&n.style.stroke||null}(t),t.__dirty){var n=t.prevStates;n&&t.useStates(n)}if(r){t.stateTransition=a;var i=t.getTextContent(),o=t.getTextGuideLine();i&&(i.stateTransition=a),o&&(o.stateTransition=a)}t.__dirty&&e(t)}}))}Ev=function(t){var e=t._scheduler;e.restorePipelines(t._model),e.prepareStageTasks(),zv(t,!0),zv(t,!1),e.plan()},zv=function(t,e){for(var n=t._model,i=t._scheduler,r=e?t._componentsViews:t._chartsViews,o=e?t._componentsMap:t._chartsMap,a=t._zr,s=t._api,l=0;le.get("hoverLayerThreshold")&&!r.node&&!r.worker&&e.eachSeries((function(e){if(!e.preventUsingHoverLayer){var n=t._chartsMap[e.__viewId];n.__alive&&n.eachRendered((function(t){t.states.emphasis&&(t.states.emphasis.hoverLayer=!0)}))}}))}(t,e),wv.trigger("series:afterupdate",e,n,l)},Jv=function(t){t[kv]=!0,t.getZr().wakeUp()},Qv=function(t){t[kv]&&(t.getZr().storage.traverse((function(t){xh(t)||e(t)})),t[kv]=!1)},Kv=function(t){return new(function(e){function i(){return null!==e&&e.apply(this,arguments)||this}return n(i,e),i.prototype.getCoordinateSystems=function(){return t._coordSysMgr.getCoordinateSystems()},i.prototype.getComponentByElement=function(e){for(;e;){var n=e.__ecComponentInfo;if(null!=n)return t._model.getComponent(n.mainType,n.index);e=e.parent}},i.prototype.enterEmphasis=function(e,n){Ol(e,n),Jv(t)},i.prototype.leaveEmphasis=function(e,n){Rl(e,n),Jv(t)},i.prototype.enterBlur=function(e){Nl(e),Jv(t)},i.prototype.leaveBlur=function(e){El(e),Jv(t)},i.prototype.enterSelect=function(e){zl(e),Jv(t)},i.prototype.leaveSelect=function(e){Vl(e),Jv(t)},i.prototype.getModel=function(){return t.getModel()},i.prototype.getViewOfComponentModel=function(e){return t.getViewOfComponentModel(e)},i.prototype.getViewOfSeriesModel=function(e){return t.getViewOfSeriesModel(e)},i}(_d))(t)},$v=function(t){function e(t,e){for(var n=0;n=0)){Lm.push(n);var o=ey.wrapStageHandler(n,r);o.__prio=e,o.__raw=n,t.push(o)}}function Om(t,e){pm[t]=e}function Rm(t,e,n){var i=Mv("registerMap");i&&i(t,e,n)}var Nm=function(t){var e=(t=T(t)).type,n="";e||wo(n);var i=e.split(":");2!==i.length&&wo(n);var r=!1;"echarts"===i[0]&&(e=i[1],r=!0),t.__isBuiltIn=r,Vf.set(e,t)};km(Iv,Kg),km(Tv,Jg),km(Tv,Qg),km(Iv,Ty),km(Tv,Cy),km(7e3,(function(t,e){t.eachRawSeries((function(n){if(!t.isSeriesFiltered(n)){var i=n.getData();i.hasItemVisual()&&i.each((function(t){var n=i.getItemVisual(t,"decal");n&&(i.ensureUniqueItemVisual(t,"style").decal=mv(n,e))}));var r=i.getVisual("decal");if(r)i.getVisual("style").decal=mv(r,e)}}))})),wm(Xd),Sm(900,(function(t){var e=yt();t.eachSeries((function(t){var n=t.get("stack");if(n){var i=e.get(n)||e.set(n,[]),r=t.getData(),o={stackResultDimension:r.getCalculationInfo("stackResultDimension"),stackedOverDimension:r.getCalculationInfo("stackedOverDimension"),stackedDimension:r.getCalculationInfo("stackedDimension"),stackedByDimension:r.getCalculationInfo("stackedByDimension"),isStackedByIndex:r.getCalculationInfo("isStackedByIndex"),data:r,seriesModel:t};if(!o.stackedDimension||!o.isStackedByIndex&&!o.stackedByDimension)return;i.length&&r.setCalculationInfo("stackedOnSeries",i[i.length-1].seriesModel),i.push(o)}})),e.each(Ud)})),Om("default",(function(t,e){k(e=e||{},{text:"loading",textColor:"#000",fontSize:12,fontWeight:"normal",fontStyle:"normal",fontFamily:"sans-serif",maskColor:"rgba(255, 255, 255, 0.8)",showSpinner:!0,color:"#5470c6",spinnerRadius:10,lineWidth:5,zlevel:0});var n=new Br,i=new Ws({style:{fill:e.maskColor},zlevel:e.zlevel,z:1e4});n.add(i);var r,o=new Xs({style:{text:e.text,fill:e.textColor,fontSize:e.fontSize,fontWeight:e.fontWeight,fontStyle:e.fontStyle,fontFamily:e.fontFamily},zlevel:e.zlevel,z:10001}),a=new Ws({style:{fill:"none"},textContent:o,textConfig:{position:"right",distance:10},zlevel:e.zlevel,z:10001});return n.add(a),e.showSpinner&&((r=new nh({shape:{startAngle:-ty/2,endAngle:-ty/2+.1,r:e.spinnerRadius},style:{stroke:e.color,lineCap:"round",lineWidth:e.lineWidth},zlevel:e.zlevel,z:10001})).animateShape(!0).when(1e3,{endAngle:3*ty/2}).start("circularInOut"),r.animateShape(!0).when(1e3,{startAngle:3*ty/2}).delay(300).start("circularInOut"),n.add(r)),n.resize=function(){var n=o.getBoundingRect().width,s=e.showSpinner?e.spinnerRadius:0,l=(t.getWidth()-2*s-(e.showSpinner&&n?10:0)-n)/2-(e.showSpinner&&n?0:5+n/2)+(e.showSpinner?0:n/2)+(n?0:s),u=t.getHeight()/2;e.showSpinner&&r.setShape({cx:l,cy:u}),a.setShape({x:l-s,y:u-s,width:2*s,height:2*s}),i.setShape({x:0,y:0,width:t.getWidth(),height:t.getHeight()})},n.resize(),n})),Cm({type:dl,event:dl,update:dl},bt),Cm({type:fl,event:fl,update:fl},bt),Cm({type:gl,event:gl,update:gl},bt),Cm({type:yl,event:yl,update:yl},bt),Cm({type:vl,event:vl,update:vl},bt),bm("light",vy),bm("dark",wy);var Em=[],zm={registerPreprocessor:wm,registerProcessor:Sm,registerPostInit:Mm,registerPostUpdate:Im,registerUpdateLifecycle:Tm,registerAction:Cm,registerCoordinateSystem:Dm,registerLayout:Am,registerVisual:km,registerTransform:Nm,registerLoading:Om,registerMap:Rm,registerImpl:function(t,e){Sv[t]=e},PRIORITY:Cv,ComponentModel:zp,ComponentView:Ag,SeriesModel:bg,ChartView:Og,registerComponentModel:function(t){zp.registerClass(t)},registerComponentView:function(t){Ag.registerClass(t)},registerSeriesModel:function(t){bg.registerClass(t)},registerChartView:function(t){Og.registerClass(t)},registerSubTypeDefaulter:function(t,e){zp.registerSubTypeDefaulter(t,e)},registerPainter:function(t,e){Xr(t,e)}};function Vm(t){Y(t)?E(t,(function(t){Vm(t)})):P(Em,t)>=0||(Em.push(t),X(t)&&(t={install:t}),t.install(zm))}function Bm(t){return null==t?0:t.length||1}function Fm(t){return t}var Gm=function(){function t(t,e,n,i,r,o){this._old=t,this._new=e,this._oldKeyGetter=n||Fm,this._newKeyGetter=i||Fm,this.context=r,this._diffModeMultiple="multiple"===o}return t.prototype.add=function(t){return this._add=t,this},t.prototype.update=function(t){return this._update=t,this},t.prototype.updateManyToOne=function(t){return this._updateManyToOne=t,this},t.prototype.updateOneToMany=function(t){return this._updateOneToMany=t,this},t.prototype.updateManyToMany=function(t){return this._updateManyToMany=t,this},t.prototype.remove=function(t){return this._remove=t,this},t.prototype.execute=function(){this[this._diffModeMultiple?"_executeMultiple":"_executeOneToOne"]()},t.prototype._executeOneToOne=function(){var t=this._old,e=this._new,n={},i=new Array(t.length),r=new Array(e.length);this._initIndexMap(t,null,i,"_oldKeyGetter"),this._initIndexMap(e,n,r,"_newKeyGetter");for(var o=0;o1){var u=s.shift();1===s.length&&(n[a]=s[0]),this._update&&this._update(u,o)}else 1===l?(n[a]=null,this._update&&this._update(s,o)):this._remove&&this._remove(o)}this._performRestAdd(r,n)},t.prototype._executeMultiple=function(){var t=this._old,e=this._new,n={},i={},r=[],o=[];this._initIndexMap(t,n,r,"_oldKeyGetter"),this._initIndexMap(e,i,o,"_newKeyGetter");for(var a=0;a1&&1===c)this._updateManyToOne&&this._updateManyToOne(u,l),i[s]=null;else if(1===h&&c>1)this._updateOneToMany&&this._updateOneToMany(u,l),i[s]=null;else if(1===h&&1===c)this._update&&this._update(u,l),i[s]=null;else if(h>1&&c>1)this._updateManyToMany&&this._updateManyToMany(u,l),i[s]=null;else if(h>1)for(var p=0;p1)for(var a=0;a30}var Qm,tx,ex,nx,ix,rx,ox,ax=q,sx=z,lx="undefined"==typeof Int32Array?Array:Int32Array,ux=["hasItemOption","_nameList","_idList","_invertedIndicesMap","_dimSummary","userOutput","_rawData","_dimValueGetter","_nameDimIdx","_idDimIdx","_nameRepeatCount"],hx=["_approximateExtent"],cx=function(){function t(t,e){var n;this.type="list",this._dimOmitted=!1,this._nameList=[],this._idList=[],this._visual={},this._layout={},this._itemVisuals=[],this._itemLayouts=[],this._graphicEls=[],this._approximateExtent={},this._calculationInfo={},this.hasItemOption=!1,this.TRANSFERABLE_METHODS=["cloneShallow","downSample","lttbDownSample","map"],this.CHANGABLE_METHODS=["filterSelf","selectRange"],this.DOWNSAMPLE_METHODS=["downSample","lttbDownSample"];var i=!1;qm(t)?(n=t.dimensions,this._dimOmitted=t.isDimensionOmitted(),this._schema=t):(i=!0,n=t),n=n||["x","y"];for(var r={},o=[],a={},s=!1,l={},u=0;u=e)){var n=this._store.getProvider();this._updateOrdinalMeta();var i=this._nameList,r=this._idList;if(n.getSource().sourceFormat===Wp&&!n.pure)for(var o=[],a=t;a0},t.prototype.ensureUniqueItemVisual=function(t,e){var n=this._itemVisuals,i=n[t];i||(i=n[t]={});var r=i[e];return null==r&&(Y(r=this.getVisual(e))?r=r.slice():ax(r)&&(r=A({},r)),i[e]=r),r},t.prototype.setItemVisual=function(t,e,n){var i=this._itemVisuals[t]||{};this._itemVisuals[t]=i,ax(e)?A(i,e):i[e]=n},t.prototype.clearAllVisual=function(){this._visual={},this._itemVisuals=[]},t.prototype.setLayout=function(t,e){ax(t)?A(this._layout,t):this._layout[t]=e},t.prototype.getLayout=function(t){return this._layout[t]},t.prototype.getItemLayout=function(t){return this._itemLayouts[t]},t.prototype.setItemLayout=function(t,e,n){this._itemLayouts[t]=n?A(this._itemLayouts[t]||{},e):e},t.prototype.clearItemLayouts=function(){this._itemLayouts.length=0},t.prototype.setItemGraphicEl=function(t,e){var n=this.hostModel&&this.hostModel.seriesIndex;ol(n,this.dataType,t,e),this._graphicEls[t]=e},t.prototype.getItemGraphicEl=function(t){return this._graphicEls[t]},t.prototype.eachItemGraphicEl=function(t,e){E(this._graphicEls,(function(n,i){n&&t&&t.call(e,n,i)}))},t.prototype.cloneShallow=function(e){return e||(e=new t(this._schema?this._schema:sx(this.dimensions,this._getDimInfo,this),this.hostModel)),ix(e,this),e._store=this._store,e},t.prototype.wrapMethod=function(t,e){var n=this[t];X(n)&&(this.__wrappedMethods=this.__wrappedMethods||[],this.__wrappedMethods.push(t),this[t]=function(){var t=n.apply(this,arguments);return e.apply(this,[t].concat(at(arguments)))})},t.internalField=(Qm=function(t){var e=t._invertedIndicesMap;E(e,(function(n,i){var r=t._dimInfos[i],o=r.ordinalMeta,a=t._store;if(o){n=e[i]=new lx(o.categories.length);for(var s=0;s1&&(s+="__ec__"+u),i[e]=s}})),t}();function px(t,e){Qd(t)||(t=ef(t));var n=(e=e||{}).coordDimensions||[],i=e.dimensionsDefine||t.dimensionsDefine||[],r=yt(),o=[],a=function(t,e,n,i){var r=Math.max(t.dimensionsDetectedCount||1,e.length,n.length,i||0);return E(e,(function(t){var e;q(t)&&(e=t.dimsDef)&&(r=Math.max(r,e.length))})),r}(t,n,i,e.dimensionsCount),s=e.canOmitUnusedDimensions&&Jm(a),l=i===t.dimensionsDefine,u=l?$m(t):Km(i),h=e.encodeDefine;!h&&e.encodeDefaulter&&(h=e.encodeDefaulter(t,a));for(var c=yt(h),p=new Xf(a),d=0;d0&&(i.name=r+(o-1)),o++,e.set(r,o)}}(o),new jm({source:t,dimensions:o,fullDimensionCount:a,dimensionOmitted:s})}function dx(t,e,n){if(n||e.hasKey(t)){for(var i=0;e.hasKey(t+i);)i++;t+=i}return e.set(t,!0),t}var fx=function(t){this.coordSysDims=[],this.axisMap=yt(),this.categoryAxisMap=yt(),this.coordSysName=t};var gx={cartesian2d:function(t,e,n,i){var r=t.getReferringComponents("xAxis",Wo).models[0],o=t.getReferringComponents("yAxis",Wo).models[0];e.coordSysDims=["x","y"],n.set("x",r),n.set("y",o),yx(r)&&(i.set("x",r),e.firstCategoryDimIndex=0),yx(o)&&(i.set("y",o),null==e.firstCategoryDimIndex&&(e.firstCategoryDimIndex=1))},singleAxis:function(t,e,n,i){var r=t.getReferringComponents("singleAxis",Wo).models[0];e.coordSysDims=["single"],n.set("single",r),yx(r)&&(i.set("single",r),e.firstCategoryDimIndex=0)},polar:function(t,e,n,i){var r=t.getReferringComponents("polar",Wo).models[0],o=r.findAxisModel("radiusAxis"),a=r.findAxisModel("angleAxis");e.coordSysDims=["radius","angle"],n.set("radius",o),n.set("angle",a),yx(o)&&(i.set("radius",o),e.firstCategoryDimIndex=0),yx(a)&&(i.set("angle",a),null==e.firstCategoryDimIndex&&(e.firstCategoryDimIndex=1))},geo:function(t,e,n,i){e.coordSysDims=["lng","lat"]},parallel:function(t,e,n,i){var r=t.ecModel,o=r.getComponent("parallel",t.get("parallelIndex")),a=e.coordSysDims=o.dimensions.slice();E(o.parallelAxisIndex,(function(t,o){var s=r.getComponent("parallelAxis",t),l=a[o];n.set(l,s),yx(s)&&(i.set(l,s),null==e.firstCategoryDimIndex&&(e.firstCategoryDimIndex=o))}))}};function yx(t){return"category"===t.get("type")}function vx(t,e,n){var i,r,o,a=(n=n||{}).byIndex,s=n.stackedCoordDimension;!function(t){return!qm(t.schema)}(e)?(r=e.schema,i=r.dimensions,o=e.store):i=e;var l,u,h,c,p=!(!t||!t.get("stack"));if(E(i,(function(t,e){U(t)&&(i[e]=t={name:t}),p&&!t.isExtraCoord&&(a||l||!t.ordinalMeta||(l=t),u||"ordinal"===t.type||"time"===t.type||s&&s!==t.coordDim||(u=t))})),!u||a||l||(a=!0),u){h="__\0ecstackresult_"+t.id,c="__\0ecstackedover_"+t.id,l&&(l.createInvertedIndices=!0);var d=u.coordDim,f=u.type,g=0;E(i,(function(t){t.coordDim===d&&g++}));var y={name:h,coordDim:d,coordDimIndex:g,type:f,isExtraCoord:!0,isCalculationCoord:!0,storeDimIndex:i.length},v={name:c,coordDim:c,coordDimIndex:g+1,type:f,isExtraCoord:!0,isCalculationCoord:!0,storeDimIndex:i.length+1};r?(o&&(y.storeDimIndex=o.ensureCalculationDimension(c,f),v.storeDimIndex=o.ensureCalculationDimension(h,f)),r.appendCalculationDimension(y),r.appendCalculationDimension(v)):(i.push(y),i.push(v))}return{stackedDimension:u&&u.name,stackedByDimension:l&&l.name,isStackedByIndex:a,stackedOverDimension:c,stackResultDimension:h}}function mx(t,e){return!!e&&e===t.getCalculationInfo("stackedDimension")}function xx(t,e){return mx(t,e)?t.getCalculationInfo("stackResultDimension"):e}function _x(t,e,n){n=n||{};var i,r=e.getSourceManager(),o=!1;t?(o=!0,i=ef(t)):o=(i=r.getSource()).sourceFormat===Wp;var a=function(t){var e=t.get("coordinateSystem"),n=new fx(e),i=gx[e];if(i)return i(t,n,n.axisMap,n.categoryAxisMap),n}(e),s=function(t,e){var n,i=t.get("coordinateSystem"),r=wd.get(i);return e&&e.coordSysDims&&(n=z(e.coordSysDims,(function(t){var n={name:t},i=e.axisMap.get(t);if(i){var r=i.get("type");n.type=Ym(r)}return n}))),n||(n=r&&(r.getDimensionsInfo?r.getDimensionsInfo():r.dimensions.slice())||["x","y"]),n}(e,a),l=n.useEncodeDefaulter,u=X(l)?l:l?H(td,s,e):null,h=px(i,{coordDimensions:s,generateCoord:n.generateCoord,encodeDefine:e.getEncode(),encodeDefaulter:u,canOmitUnusedDimensions:!o}),c=function(t,e,n){var i,r;return n&&E(t,(function(t,o){var a=t.coordDim,s=n.categoryAxisMap.get(a);s&&(null==i&&(i=o),t.ordinalMeta=s.getOrdinalMeta(),e&&(t.createInvertedIndices=!0)),null!=t.otherDims.itemName&&(r=!0)})),r||null==i||(t[i].otherDims.itemName=0),i}(h.dimensions,n.createInvertedIndices,a),p=o?null:r.getSharedDataStore(h),d=vx(e,{schema:h,store:p}),f=new cx(h,e);f.setCalculationInfo(d);var g=null!=c&&function(t){if(t.sourceFormat===Wp){var e=function(t){var e=0;for(;ee[1]&&(e[1]=t[1])},t.prototype.unionExtentFromData=function(t,e){this.unionExtent(t.getApproximateExtent(e))},t.prototype.getExtent=function(){return this._extent.slice()},t.prototype.setExtent=function(t,e){var n=this._extent;isNaN(t)||(n[0]=t),isNaN(e)||(n[1]=e)},t.prototype.isInExtentRange=function(t){return this._extent[0]<=t&&this._extent[1]>=t},t.prototype.isBlank=function(){return this._isBlank},t.prototype.setBlank=function(t){this._isBlank=t},t}();na(bx);var Sx=0,Mx=function(){function t(t){this.categories=t.categories||[],this._needCollect=t.needCollect,this._deduplication=t.deduplication,this.uid=++Sx}return t.createByAxisModel=function(e){var n=e.option,i=n.data,r=i&&z(i,Ix);return new t({categories:r,needCollect:!r,deduplication:!1!==n.dedplication})},t.prototype.getOrdinal=function(t){return this._getOrCreateMap().get(t)},t.prototype.parseAndCollect=function(t){var e,n=this._needCollect;if(!U(t)&&!n)return t;if(n&&!this._deduplication)return e=this.categories.length,this.categories[e]=t,e;var i=this._getOrCreateMap();return null==(e=i.get(t))&&(n?(e=this.categories.length,this.categories[e]=t,i.set(t,e)):e=NaN),e},t.prototype._getOrCreateMap=function(){return this._map||(this._map=yt(this.categories))},t}();function Ix(t){return q(t)&&null!=t.value?t.value:t+""}function Tx(t){return"interval"===t.type||"log"===t.type}function Cx(t,e,n,i){var r={},o=t[1]-t[0],a=r.interval=po(o/e,!0);null!=n&&ai&&(a=r.interval=i);var s=r.intervalPrecision=Ax(a);return function(t,e){!isFinite(t[0])&&(t[0]=e[0]),!isFinite(t[1])&&(t[1]=e[1]),kx(t,0,e),kx(t,1,e),t[0]>t[1]&&(t[0]=t[1])}(r.niceTickExtent=[Jr(Math.ceil(t[0]/a)*a,s),Jr(Math.floor(t[1]/a)*a,s)],t),r}function Dx(t){var e=Math.pow(10,co(t)),n=t/e;return n?2===n?n=3:3===n?n=5:n*=2:n=1,Jr(n*e)}function Ax(t){return to(t)+2}function kx(t,e,n){t[e]=Math.max(Math.min(t[e],n[1]),n[0])}function Lx(t,e){return t>=e[0]&&t<=e[1]}function Px(t,e){return e[1]===e[0]?.5:(t-e[0])/(e[1]-e[0])}function Ox(t,e){return t*(e[1]-e[0])+e[0]}var Rx=function(t){function e(e){var n=t.call(this,e)||this;n.type="ordinal";var i=n.getSetting("ordinalMeta");return i||(i=new Mx({})),Y(i)&&(i=new Mx({categories:z(i,(function(t){return q(t)?t.value:t}))})),n._ordinalMeta=i,n._extent=n.getSetting("extent")||[0,i.categories.length-1],n}return n(e,t),e.prototype.parse=function(t){return null==t?NaN:U(t)?this._ordinalMeta.getOrdinal(t):Math.round(t)},e.prototype.contain=function(t){return Lx(t=this.parse(t),this._extent)&&null!=this._ordinalMeta.categories[t]},e.prototype.normalize=function(t){return Px(t=this._getTickNumber(this.parse(t)),this._extent)},e.prototype.scale=function(t){return t=Math.round(Ox(t,this._extent)),this.getRawOrdinalNumber(t)},e.prototype.getTicks=function(){for(var t=[],e=this._extent,n=e[0];n<=e[1];)t.push({value:n}),n++;return t},e.prototype.getMinorTicks=function(t){},e.prototype.setSortInfo=function(t){if(null!=t){for(var e=t.ordinalNumbers,n=this._ordinalNumbersByTick=[],i=this._ticksByOrdinalNumber=[],r=0,o=this._ordinalMeta.categories.length,a=Math.min(o,e.length);r=0&&t=0&&t=t},e.prototype.getOrdinalMeta=function(){return this._ordinalMeta},e.prototype.calcNiceTicks=function(){},e.prototype.calcNiceExtent=function(){},e.type="ordinal",e}(bx);bx.registerClass(Rx);var Nx=Jr,Ex=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="interval",e._interval=0,e._intervalPrecision=2,e}return n(e,t),e.prototype.parse=function(t){return t},e.prototype.contain=function(t){return Lx(t,this._extent)},e.prototype.normalize=function(t){return Px(t,this._extent)},e.prototype.scale=function(t){return Ox(t,this._extent)},e.prototype.setExtent=function(t,e){var n=this._extent;isNaN(t)||(n[0]=parseFloat(t)),isNaN(e)||(n[1]=parseFloat(e))},e.prototype.unionExtent=function(t){var e=this._extent;t[0]e[1]&&(e[1]=t[1]),this.setExtent(e[0],e[1])},e.prototype.getInterval=function(){return this._interval},e.prototype.setInterval=function(t){this._interval=t,this._niceExtent=this._extent.slice(),this._intervalPrecision=Ax(t)},e.prototype.getTicks=function(t){var e=this._interval,n=this._extent,i=this._niceExtent,r=this._intervalPrecision,o=[];if(!e)return o;n[0]1e4)return[];var s=o.length?o[o.length-1].value:i[1];return n[1]>s&&(t?o.push({value:Nx(s+e,r)}):o.push({value:n[1]})),o},e.prototype.getMinorTicks=function(t){for(var e=this.getTicks(!0),n=[],i=this.getExtent(),r=1;ri[0]&&h0&&(o=null===o?s:Math.min(o,s))}n[i]=o}}return n}(t),n=[];return E(t,(function(t){var i,r=t.coordinateSystem.getBaseAxis(),o=r.getExtent();if("category"===r.type)i=r.getBandWidth();else if("value"===r.type||"time"===r.type){var a=r.dim+"_"+r.index,s=e[a],l=Math.abs(o[1]-o[0]),u=r.scale.getExtent(),h=Math.abs(u[1]-u[0]);i=s?l/h*s:l}else{var c=t.getData();i=Math.abs(o[1]-o[0])/c.count()}var p=$r(t.get("barWidth"),i),d=$r(t.get("barMaxWidth"),i),f=$r(t.get("barMinWidth")||(qx(t)?.5:1),i),g=t.get("barGap"),y=t.get("barCategoryGap");n.push({bandWidth:i,barWidth:p,barMaxWidth:d,barMinWidth:f,barGap:g,barCategoryGap:y,axisKey:Wx(r),stackId:Gx(t)})})),Xx(n)}function Xx(t){var e={};E(t,(function(t,n){var i=t.axisKey,r=t.bandWidth,o=e[i]||{bandWidth:r,remainedWidth:r,autoWidthCount:0,categoryGap:null,gap:"20%",stacks:{}},a=o.stacks;e[i]=o;var s=t.stackId;a[s]||o.autoWidthCount++,a[s]=a[s]||{width:0,maxWidth:0};var l=t.barWidth;l&&!a[s].width&&(a[s].width=l,l=Math.min(o.remainedWidth,l),o.remainedWidth-=l);var u=t.barMaxWidth;u&&(a[s].maxWidth=u);var h=t.barMinWidth;h&&(a[s].minWidth=h);var c=t.barGap;null!=c&&(o.gap=c);var p=t.barCategoryGap;null!=p&&(o.categoryGap=p)}));var n={};return E(e,(function(t,e){n[e]={};var i=t.stacks,r=t.bandWidth,o=t.categoryGap;if(null==o){var a=G(i).length;o=Math.max(35-4*a,15)+"%"}var s=$r(o,r),l=$r(t.gap,1),u=t.remainedWidth,h=t.autoWidthCount,c=(u-s)/(h+(h-1)*l);c=Math.max(c,0),E(i,(function(t){var e=t.maxWidth,n=t.minWidth;if(t.width){i=t.width;e&&(i=Math.min(i,e)),n&&(i=Math.max(i,n)),t.width=i,u-=i+l*i,h--}else{var i=c;e&&ei&&(i=n),i!==c&&(t.width=i,u-=i+l*i,h--)}})),c=(u-s)/(h+(h-1)*l),c=Math.max(c,0);var p,d=0;E(i,(function(t,e){t.width||(t.width=c),p=t,d+=t.width*(1+l)})),p&&(d-=p.width*l);var f=-d/2;E(i,(function(t,i){n[e][i]=n[e][i]||{bandWidth:r,offset:f,width:t.width},f+=t.width*(1+l)}))})),n}function Ux(t,e){var n=Hx(t,e),i=Yx(n);E(n,(function(t){var e=t.getData(),n=t.coordinateSystem.getBaseAxis(),r=Gx(t),o=i[Wx(n)][r],a=o.offset,s=o.width;e.setLayout({bandWidth:o.bandWidth,offset:a,size:s})}))}function Zx(t){return{seriesType:t,plan:kg(),reset:function(t){if(jx(t)){var e=t.getData(),n=t.coordinateSystem,i=n.getBaseAxis(),r=n.getOtherAxis(i),o=e.getDimensionIndex(e.mapDimension(r.dim)),a=e.getDimensionIndex(e.mapDimension(i.dim)),s=t.get("showBackground",!0),l=e.mapDimension(r.dim),u=e.getCalculationInfo("stackResultDimension"),h=mx(e,l)&&!!e.getCalculationInfo("stackedOnSeries"),c=r.isHorizontal(),p=function(t,e){return e.toGlobalCoord(e.dataToCoord("log"===e.type?1:0))}(0,r),d=qx(t),f=t.get("barMinHeight")||0,g=u&&e.getDimensionIndex(u),y=e.getLayout("size"),v=e.getLayout("offset");return{progress:function(t,e){for(var i,r=t.count,l=d&&Bx(3*r),u=d&&s&&Bx(3*r),m=d&&Bx(r),x=n.master.getRect(),_=c?x.width:x.height,b=e.getStore(),w=0;null!=(i=t.next());){var S=b.get(h?g:o,i),M=b.get(a,i),I=p,T=void 0;h&&(T=+S-b.get(o,i));var C=void 0,D=void 0,A=void 0,k=void 0;if(c){var L=n.dataToPoint([S,M]);if(h)I=n.dataToPoint([T,M])[0];C=I,D=L[1]+v,A=L[0]-I,k=y,Math.abs(A)0)for(var s=0;s=0;--s)if(l[u]){o=l[u];break}o=o||a.none}if(Y(o)){var h=null==t.level?0:t.level>=0?t.level:o.length+t.level;o=o[h=Math.min(h,o.length-1)]}}return Jc(new Date(t.value),o,r,i)}(t,e,n,this.getSetting("locale"),i)},e.prototype.getTicks=function(){var t=this._interval,e=this._extent,n=[];if(!t)return n;n.push({value:e[0],level:0});var i=this.getSetting("useUTC"),r=function(t,e,n,i){var r=1e4,o=jc,a=0;function s(t,e,n,r,o,a,s){for(var l=new Date(e),u=e,h=l[r]();u1&&0===u&&o.unshift({value:o[0].value-p})}}for(u=0;u=i[0]&&v<=i[1]&&c++)}var m=(i[1]-i[0])/e;if(c>1.5*m&&p>m/1.5)break;if(u.push(g),c>m||t===o[d])break}h=[]}}0;var x=B(z(u,(function(t){return B(t,(function(t){return t.value>=i[0]&&t.value<=i[1]&&!t.notAdd}))})),(function(t){return t.length>0})),_=[],b=x.length-1;for(d=0;dn&&(this._approxInterval=n);var o=$x.length,a=Math.min(function(t,e,n,i){for(;n>>1;t[r][1]16?16:t>7.5?7:t>3.5?4:t>1.5?2:1}function Qx(t){return(t/=2592e6)>6?6:t>3?3:t>2?2:1}function t_(t){return(t/=Gc)>12?12:t>6?6:t>3.5?4:t>2?2:1}function e_(t,e){return(t/=e?Fc:Bc)>30?30:t>20?20:t>15?15:t>10?10:t>5?5:t>2?2:1}function n_(t){return po(t,!0)}function i_(t,e,n){var i=new Date(t);switch(Kc(e)){case"year":case"month":i[up(n)](0);case"day":i[hp(n)](1);case"hour":i[cp(n)](0);case"minute":i[pp(n)](0);case"second":i[dp(n)](0),i[fp(n)](0)}return i.getTime()}bx.registerClass(Kx);var r_=bx.prototype,o_=Ex.prototype,a_=Jr,s_=Math.floor,l_=Math.ceil,u_=Math.pow,h_=Math.log,c_=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="log",e.base=10,e._originalScale=new Ex,e._interval=0,e}return n(e,t),e.prototype.getTicks=function(t){var e=this._originalScale,n=this._extent,i=e.getExtent();return z(o_.getTicks.call(this,t),(function(t){var e=t.value,r=Jr(u_(this.base,e));return r=e===n[0]&&this._fixMin?d_(r,i[0]):r,{value:r=e===n[1]&&this._fixMax?d_(r,i[1]):r}}),this)},e.prototype.setExtent=function(t,e){var n=h_(this.base);t=h_(Math.max(0,t))/n,e=h_(Math.max(0,e))/n,o_.setExtent.call(this,t,e)},e.prototype.getExtent=function(){var t=this.base,e=r_.getExtent.call(this);e[0]=u_(t,e[0]),e[1]=u_(t,e[1]);var n=this._originalScale.getExtent();return this._fixMin&&(e[0]=d_(e[0],n[0])),this._fixMax&&(e[1]=d_(e[1],n[1])),e},e.prototype.unionExtent=function(t){this._originalScale.unionExtent(t);var e=this.base;t[0]=h_(t[0])/h_(e),t[1]=h_(t[1])/h_(e),r_.unionExtent.call(this,t)},e.prototype.unionExtentFromData=function(t,e){this.unionExtent(t.getApproximateExtent(e))},e.prototype.calcNiceTicks=function(t){t=t||10;var e=this._extent,n=e[1]-e[0];if(!(n===1/0||n<=0)){var i=ho(n);for(t/n*i<=.5&&(i*=10);!isNaN(i)&&Math.abs(i)<1&&Math.abs(i)>0;)i*=10;var r=[Jr(l_(e[0]/i)*i),Jr(s_(e[1]/i)*i)];this._interval=i,this._niceExtent=r}},e.prototype.calcNiceExtent=function(t){o_.calcNiceExtent.call(this,t),this._fixMin=t.fixMin,this._fixMax=t.fixMax},e.prototype.parse=function(t){return t},e.prototype.contain=function(t){return Lx(t=h_(t)/h_(this.base),this._extent)},e.prototype.normalize=function(t){return Px(t=h_(t)/h_(this.base),this._extent)},e.prototype.scale=function(t){return t=Ox(t,this._extent),u_(this.base,t)},e.type="log",e}(bx),p_=c_.prototype;function d_(t,e){return a_(t,to(e))}p_.getMinorTicks=o_.getMinorTicks,p_.getLabel=o_.getLabel,bx.registerClass(c_);var f_=function(){function t(t,e,n){this._prepareParams(t,e,n)}return t.prototype._prepareParams=function(t,e,n){n[1]0&&s>0&&!l&&(a=0),a<0&&s<0&&!u&&(s=0));var c=this._determinedMin,p=this._determinedMax;return null!=c&&(a=c,l=!0),null!=p&&(s=p,u=!0),{min:a,max:s,minFixed:l,maxFixed:u,isBlank:h}},t.prototype.modifyDataMinMax=function(t,e){this[y_[t]]=e},t.prototype.setDeterminedMinMax=function(t,e){var n=g_[t];this[n]=e},t.prototype.freeze=function(){this.frozen=!0},t}(),g_={min:"_determinedMin",max:"_determinedMax"},y_={min:"_dataMin",max:"_dataMax"};function v_(t,e,n){var i=t.rawExtentInfo;return i||(i=new f_(t,e,n),t.rawExtentInfo=i,i)}function m_(t,e){return null==e?null:nt(e)?NaN:t.parse(e)}function x_(t,e){var n=t.type,i=v_(t,e,t.getExtent()).calculate();t.setBlank(i.isBlank);var r=i.min,o=i.max,a=e.ecModel;if(a&&"time"===n){var s=Hx("bar",a),l=!1;if(E(s,(function(t){l=l||t.getBaseAxis()===e.axis})),l){var u=Yx(s),h=function(t,e,n,i){var r=n.axis.getExtent(),o=r[1]-r[0],a=function(t,e,n){if(t&&e){var i=t[Wx(e)];return null!=i&&null!=n?i[Gx(n)]:i}}(i,n.axis);if(void 0===a)return{min:t,max:e};var s=1/0;E(a,(function(t){s=Math.min(t.offset,s)}));var l=-1/0;E(a,(function(t){l=Math.max(t.offset+t.width,l)})),s=Math.abs(s),l=Math.abs(l);var u=s+l,h=e-t,c=h/(1-(s+l)/o)-h;return e+=c*(l/u),t-=c*(s/u),{min:t,max:e}}(r,o,e,u);r=h.min,o=h.max}}return{extent:[r,o],fixMin:i.minFixed,fixMax:i.maxFixed}}function __(t,e){var n=e,i=x_(t,n),r=i.extent,o=n.get("splitNumber");t instanceof c_&&(t.base=n.get("logBase"));var a=t.type,s=n.get("interval"),l="interval"===a||"time"===a;t.setExtent(r[0],r[1]),t.calcNiceExtent({splitNumber:o,fixMin:i.fixMin,fixMax:i.fixMax,minInterval:l?n.get("minInterval"):null,maxInterval:l?n.get("maxInterval"):null}),null!=s&&t.setInterval&&t.setInterval(s)}function b_(t,e){if(e=e||t.get("type"))switch(e){case"category":return new Rx({ordinalMeta:t.getOrdinalMeta?t.getOrdinalMeta():t.getCategories(),extent:[1/0,-1/0]});case"time":return new Kx({locale:t.ecModel.getLocaleModel(),useUTC:t.ecModel.get("useUTC")});default:return new(bx.getClass(e)||Ex)}}function w_(t){var e,n,i=t.getLabelModel().get("formatter"),r="category"===t.type?t.scale.getExtent()[0]:null;return"time"===t.scale.type?(n=i,function(e,i){return t.scale.getFormattedLabel(e,i,n)}):U(i)?function(e){return function(n){var i=t.scale.getLabel(n);return e.replace("{value}",null!=i?i:"")}}(i):X(i)?(e=i,function(n,i){return null!=r&&(i=n.value-r),e(S_(t,n),i,null!=n.level?{level:n.level}:null)}):function(e){return t.scale.getLabel(e)}}function S_(t,e){return"category"===t.type?t.scale.getLabel(e):e.value}function M_(t,e){var n=e*Math.PI/180,i=t.width,r=t.height,o=i*Math.abs(Math.cos(n))+Math.abs(r*Math.sin(n)),a=i*Math.abs(Math.sin(n))+Math.abs(r*Math.cos(n));return new ze(t.x,t.y,o,a)}function I_(t){var e=t.get("interval");return null==e?"auto":e}function T_(t){return"category"===t.type&&0===I_(t.getLabelModel())}function C_(t,e){var n={};return E(t.mapDimensionsAll(e),(function(e){n[xx(t,e)]=!0})),G(n)}var D_=function(){function t(){}return t.prototype.getNeedCrossZero=function(){return!this.option.scale},t.prototype.getCoordSysModel=function(){},t}();var A_={isDimensionStacked:mx,enableDataStack:vx,getStackedDimension:xx};var k_=Object.freeze({__proto__:null,createList:function(t){return _x(null,t)},getLayoutRect:kp,dataStack:A_,createScale:function(t,e){var n=e;e instanceof Cc||(n=new Cc(e));var i=b_(n);return i.setExtent(t[0],t[1]),__(i,n),i},mixinAxisModelCommonMethods:function(t){R(t,D_)},getECData:rl,createTextStyle:function(t,e){return oc(t,null,null,"normal"!==(e=e||{}).state)},createDimensions:function(t,e){return px(t,e).dimensions},createSymbol:Xy,enableHoverEmphasis:Ul});function L_(t,e){return Math.abs(t-e)<1e-8}function P_(t,e,n){var i=0,r=t[0];if(!r)return!1;for(var o=1;on&&(t=r,n=a)}if(t)return function(t){for(var e=0,n=0,i=0,r=t.length,o=t[r-1][0],a=t[r-1][1],s=0;s>1^-(1&s),l=l>>1^-(1&l),r=s+=r,o=l+=o,i.push([s/n,l/n])}return i}function H_(t,e){return z(B((t=function(t){if(!t.UTF8Encoding)return t;var e=t,n=e.UTF8Scale;return null==n&&(n=1024),E(e.features,(function(t){var e=t.geometry,i=e.encodeOffsets,r=e.coordinates;if(i)switch(e.type){case"LineString":e.coordinates=W_(r,i,n);break;case"Polygon":case"MultiLineString":G_(r,i,n);break;case"MultiPolygon":E(r,(function(t,e){return G_(t,i[e],n)}))}})),e.UTF8Encoding=!1,e}(t)).features,(function(t){return t.geometry&&t.properties&&t.geometry.coordinates.length>0})),(function(t){var n=t.properties,i=t.geometry,r=[];switch(i.type){case"Polygon":var o=i.coordinates;r.push(new z_(o[0],o.slice(1)));break;case"MultiPolygon":E(i.coordinates,(function(t){t[0]&&r.push(new z_(t[0],t.slice(1)))}));break;case"LineString":r.push(new V_([i.coordinates]));break;case"MultiLineString":r.push(new V_(i.coordinates))}var a=new B_(n[e||"name"],r,n.cp);return a.properties=n,a}))}var Y_=Object.freeze({__proto__:null,linearMap:Kr,round:Jr,asc:Qr,getPrecision:to,getPrecisionSafe:eo,getPixelPrecision:no,getPercentWithPrecision:function(t,e,n){return t[e]&&io(t,n)[e]||0},MAX_SAFE_INTEGER:oo,remRadian:ao,isRadianAroundZero:so,parseDate:uo,quantity:ho,quantityExponent:co,nice:po,quantile:fo,reformIntervals:go,isNumeric:vo,numericToNumber:yo}),X_=Object.freeze({__proto__:null,parse:uo,format:Jc}),U_=Object.freeze({__proto__:null,extendShape:Ch,extendPath:Ah,makePath:Ph,makeImage:Oh,mergePath:Nh,resizePath:Eh,createIcon:Uh,updateProps:vh,initProps:mh,getTransform:Bh,clipPointsByRect:Yh,clipRectByRect:Xh,registerShape:kh,getShapeClass:Lh,Group:Br,Image:Ns,Text:Xs,Circle:Su,Ellipse:Iu,Sector:Fu,Ring:Wu,Polygon:Xu,Polyline:Zu,Rect:Ws,Line:Ku,BezierCurve:th,Arc:nh,IncrementalDisplayable:dh,CompoundPath:ih,LinearGradient:oh,RadialGradient:ah,BoundingRect:ze}),Z_=Object.freeze({__proto__:null,addCommas:gp,toCamelCase:yp,normalizeCssArray:vp,encodeHTML:re,formatTpl:bp,getTooltipMarker:wp,formatTime:function(t,e,n){"week"!==t&&"month"!==t&&"quarter"!==t&&"half-year"!==t&&"year"!==t||(t="MM-dd\nyyyy");var i=uo(e),r=n?"getUTC":"get",o=i[r+"FullYear"](),a=i[r+"Month"]()+1,s=i[r+"Date"](),l=i[r+"Hours"](),u=i[r+"Minutes"](),h=i[r+"Seconds"](),c=i[r+"Milliseconds"]();return t=t.replace("MM",qc(a,2)).replace("M",a).replace("yyyy",o).replace("yy",qc(o%100+"",2)).replace("dd",qc(s,2)).replace("d",s).replace("hh",qc(l,2)).replace("h",l).replace("mm",qc(u,2)).replace("m",u).replace("ss",qc(h,2)).replace("s",h).replace("SSS",qc(c,3))},capitalFirst:function(t){return t?t.charAt(0).toUpperCase()+t.substr(1):t},truncateText:pa,getTextRect:function(t,e,n,i,r,o,a,s){return new Xs({style:{text:t,font:e,align:n,verticalAlign:i,padding:r,rich:o,overflow:a?"truncate":null,lineHeight:s}}).getBoundingRect()}}),j_=Object.freeze({__proto__:null,map:z,each:E,indexOf:P,inherits:O,reduce:V,filter:B,bind:W,curry:H,isArray:Y,isString:U,isObject:q,isFunction:X,extend:A,defaults:k,clone:T,merge:C}),q_=Vo();function K_(t){return"category"===t.type?function(t){var e=t.getLabelModel(),n=J_(t,e);return!e.get("show")||t.scale.isBlank()?{labels:[],labelCategoryInterval:n.labelCategoryInterval}:n}(t):function(t){var e=t.scale.getTicks(),n=w_(t);return{labels:z(e,(function(e,i){return{level:e.level,formattedLabel:n(e,i),rawLabel:t.scale.getLabel(e),tickValue:e.value}}))}}(t)}function $_(t,e){return"category"===t.type?function(t,e){var n,i,r=Q_(t,"ticks"),o=I_(e),a=tb(r,o);if(a)return a;e.get("show")&&!t.scale.isBlank()||(n=[]);if(X(o))n=ib(t,o,!0);else if("auto"===o){var s=J_(t,t.getLabelModel());i=s.labelCategoryInterval,n=z(s.labels,(function(t){return t.tickValue}))}else n=nb(t,i=o,!0);return eb(r,o,{ticks:n,tickCategoryInterval:i})}(t,e):{ticks:z(t.scale.getTicks(),(function(t){return t.value}))}}function J_(t,e){var n,i,r=Q_(t,"labels"),o=I_(e),a=tb(r,o);return a||(X(o)?n=ib(t,o):(i="auto"===o?function(t){var e=q_(t).autoInterval;return null!=e?e:q_(t).autoInterval=t.calculateCategoryInterval()}(t):o,n=nb(t,i)),eb(r,o,{labels:n,labelCategoryInterval:i}))}function Q_(t,e){return q_(t)[e]||(q_(t)[e]=[])}function tb(t,e){for(var n=0;n1&&h/l>2&&(u=Math.round(Math.ceil(u/l)*l));var c=T_(t),p=a.get("showMinLabel")||c,d=a.get("showMaxLabel")||c;p&&u!==o[0]&&g(o[0]);for(var f=u;f<=o[1];f+=l)g(f);function g(t){var e={value:t};s.push(n?t:{formattedLabel:i(e),rawLabel:r.getLabel(e),tickValue:t})}return d&&f-l!==o[1]&&g(o[1]),s}function ib(t,e,n){var i=t.scale,r=w_(t),o=[];return E(i.getTicks(),(function(t){var a=i.getLabel(t),s=t.value;e(t.value,a)&&o.push(n?s:{formattedLabel:r(t),rawLabel:a,tickValue:s})})),o}var rb=[0,1],ob=function(){function t(t,e,n){this.onBand=!1,this.inverse=!1,this.dim=t,this.scale=e,this._extent=n||[0,0]}return t.prototype.contain=function(t){var e=this._extent,n=Math.min(e[0],e[1]),i=Math.max(e[0],e[1]);return t>=n&&t<=i},t.prototype.containData=function(t){return this.scale.contain(t)},t.prototype.getExtent=function(){return this._extent.slice()},t.prototype.getPixelPrecision=function(t){return no(t||this.scale.getExtent(),this._extent)},t.prototype.setExtent=function(t,e){var n=this._extent;n[0]=t,n[1]=e},t.prototype.dataToCoord=function(t,e){var n=this._extent,i=this.scale;return t=i.normalize(t),this.onBand&&"ordinal"===i.type&&ab(n=n.slice(),i.count()),Kr(t,rb,n,e)},t.prototype.coordToData=function(t,e){var n=this._extent,i=this.scale;this.onBand&&"ordinal"===i.type&&ab(n=n.slice(),i.count());var r=Kr(t,n,rb,e);return this.scale.scale(r)},t.prototype.pointToData=function(t,e){},t.prototype.getTicksCoords=function(t){var e=(t=t||{}).tickModel||this.getTickModel(),n=z($_(this,e).ticks,(function(t){return{coord:this.dataToCoord("ordinal"===this.scale.type?this.scale.getRawOrdinalNumber(t):t),tickValue:t}}),this);return function(t,e,n,i){var r=e.length;if(!t.onBand||n||!r)return;var o,a,s=t.getExtent();if(1===r)e[0].coord=s[0],o=e[1]={coord:s[1]};else{var l=e[r-1].tickValue-e[0].tickValue,u=(e[r-1].coord-e[0].coord)/l;E(e,(function(t){t.coord-=u/2})),a=1+t.scale.getExtent()[1]-e[r-1].tickValue,o={coord:e[r-1].coord+u*a},e.push(o)}var h=s[0]>s[1];c(e[0].coord,s[0])&&(i?e[0].coord=s[0]:e.shift());i&&c(s[0],e[0].coord)&&e.unshift({coord:s[0]});c(s[1],o.coord)&&(i?o.coord=s[1]:e.pop());i&&c(o.coord,s[1])&&e.push({coord:s[1]});function c(t,e){return t=Jr(t),e=Jr(e),h?t>e:t0&&t<100||(t=5),z(this.scale.getMinorTicks(t),(function(t){return z(t,(function(t){return{coord:this.dataToCoord(t),tickValue:t}}),this)}),this)},t.prototype.getViewLabels=function(){return K_(this).labels},t.prototype.getLabelModel=function(){return this.model.getModel("axisLabel")},t.prototype.getTickModel=function(){return this.model.getModel("axisTick")},t.prototype.getBandWidth=function(){var t=this._extent,e=this.scale.getExtent(),n=e[1]-e[0]+(this.onBand?1:0);0===n&&(n=1);var i=Math.abs(t[1]-t[0]);return Math.abs(i)/n},t.prototype.calculateCategoryInterval=function(){return function(t){var e=function(t){var e=t.getLabelModel();return{axisRotate:t.getRotate?t.getRotate():t.isHorizontal&&!t.isHorizontal()?90:0,labelRotate:e.get("rotate")||0,font:e.getFont()}}(t),n=w_(t),i=(e.axisRotate-e.labelRotate)/180*Math.PI,r=t.scale,o=r.getExtent(),a=r.count();if(o[1]-o[0]<1)return 0;var s=1;a>40&&(s=Math.max(1,Math.floor(a/40)));for(var l=o[0],u=t.dataToCoord(l+1)-t.dataToCoord(l),h=Math.abs(u*Math.cos(i)),c=Math.abs(u*Math.sin(i)),p=0,d=0;l<=o[1];l+=s){var f,g,y=Sr(n({value:l}),e.font,"center","top");f=1.3*y.width,g=1.3*y.height,p=Math.max(p,f,7),d=Math.max(d,g,7)}var v=p/h,m=d/c;isNaN(v)&&(v=1/0),isNaN(m)&&(m=1/0);var x=Math.max(0,Math.floor(Math.min(v,m))),_=q_(t.model),b=t.getExtent(),w=_.lastAutoInterval,S=_.lastTickCount;return null!=w&&null!=S&&Math.abs(w-x)<=1&&Math.abs(S-a)<=1&&w>x&&_.axisExtent0===b[0]&&_.axisExtent1===b[1]?x=w:(_.lastTickCount=a,_.lastAutoInterval=x,_.axisExtent0=b[0],_.axisExtent1=b[1]),x}(this)},t}();function ab(t,e){var n=(t[1]-t[0])/e/2;t[0]+=n,t[1]-=n}var sb=2*Math.PI,lb=hs.CMD,ub=["top","right","bottom","left"];function hb(t,e,n,i,r){var o=n.width,a=n.height;switch(t){case"top":i.set(n.x+o/2,n.y-e),r.set(0,-1);break;case"bottom":i.set(n.x+o/2,n.y+a+e),r.set(0,1);break;case"left":i.set(n.x-e,n.y+a/2),r.set(-1,0);break;case"right":i.set(n.x+o+e,n.y+a/2),r.set(1,0)}}function cb(t,e,n,i,r,o,a,s,l){a-=t,s-=e;var u=Math.sqrt(a*a+s*s),h=(a/=u)*n+t,c=(s/=u)*n+e;if(Math.abs(i-r)%sb<1e-4)return l[0]=h,l[1]=c,u-n;if(o){var p=i;i=gs(r),r=gs(p)}else i=gs(i),r=gs(r);i>r&&(r+=sb);var d=Math.atan2(s,a);if(d<0&&(d+=sb),d>=i&&d<=r||d+sb>=i&&d+sb<=r)return l[0]=h,l[1]=c,u-n;var f=n*Math.cos(i)+t,g=n*Math.sin(i)+e,y=n*Math.cos(r)+t,v=n*Math.sin(r)+e,m=(f-a)*(f-a)+(g-s)*(g-s),x=(y-a)*(y-a)+(v-s)*(v-s);return m0){e=e/180*Math.PI,vb.fromArray(t[0]),mb.fromArray(t[1]),xb.fromArray(t[2]),De.sub(_b,vb,mb),De.sub(bb,xb,mb);var n=_b.len(),i=bb.len();if(!(n<.001||i<.001)){_b.scale(1/n),bb.scale(1/i);var r=_b.dot(bb);if(Math.cos(e)1&&De.copy(Mb,xb),Mb.toArray(t[1])}}}}function Tb(t,e,n){if(n<=180&&n>0){n=n/180*Math.PI,vb.fromArray(t[0]),mb.fromArray(t[1]),xb.fromArray(t[2]),De.sub(_b,mb,vb),De.sub(bb,xb,mb);var i=_b.len(),r=bb.len();if(!(i<.001||r<.001))if(_b.scale(1/i),bb.scale(1/r),_b.dot(e)=a)De.copy(Mb,xb);else{Mb.scaleAndAdd(bb,o/Math.tan(Math.PI/2-s));var l=xb.x!==mb.x?(Mb.x-mb.x)/(xb.x-mb.x):(Mb.y-mb.y)/(xb.y-mb.y);if(isNaN(l))return;l<0?De.copy(Mb,mb):l>1&&De.copy(Mb,xb)}Mb.toArray(t[1])}}}function Cb(t,e,n,i){var r="normal"===n,o=r?t:t.ensureState(n);o.ignore=e;var a=i.get("smooth");a&&!0===a&&(a=.3),o.shape=o.shape||{},a>0&&(o.shape.smooth=a);var s=i.getModel("lineStyle").getLineStyle();r?t.useStyle(s):o.style=s}function Db(t,e){var n=e.smooth,i=e.points;if(i)if(t.moveTo(i[0][0],i[0][1]),n>0&&i.length>=3){var r=Vt(i[0],i[1]),o=Vt(i[1],i[2]);if(!r||!o)return t.lineTo(i[1][0],i[1][1]),void t.lineTo(i[2][0],i[2][1]);var a=Math.min(r,o)*n,s=Gt([],i[1],i[0],a/r),l=Gt([],i[1],i[2],a/o),u=Gt([],s,l,.5);t.bezierCurveTo(s[0],s[1],s[0],s[1],u[0],u[1]),t.bezierCurveTo(l[0],l[1],l[0],l[1],i[2][0],i[2][1])}else for(var h=1;h0&&o&&_(-h/a,0,a);var f,g,y=t[0],v=t[a-1];return m(),f<0&&b(-f,.8),g<0&&b(g,.8),m(),x(f,g,1),x(g,f,-1),m(),f<0&&w(-f),g<0&&w(g),u}function m(){f=y.rect[e]-i,g=r-v.rect[e]-v.rect[n]}function x(t,e,n){if(t<0){var i=Math.min(e,-t);if(i>0){_(i*n,0,a);var r=i+t;r<0&&b(-r*n,1)}else b(-t*n,1)}}function _(n,i,r){0!==n&&(u=!0);for(var o=i;o0)for(l=0;l0;l--){_(-(o[l-1]*c),l,a)}}}function w(t){var e=t<0?-1:1;t=Math.abs(t);for(var n=Math.ceil(t/(a-1)),i=0;i0?_(n,0,i+1):_(-n,a-i-1,a),(t-=n)<=0)return}}function Ob(t,e,n,i){return Pb(t,"y","height",e,n,i)}function Rb(t){var e=[];t.sort((function(t,e){return e.priority-t.priority}));var n=new ze(0,0,0,0);function i(t){if(!t.ignore){var e=t.ensureState("emphasis");null==e.ignore&&(e.ignore=!1)}t.ignore=!0}for(var r=0;r=0&&n.attr(d.oldLayoutSelect),P(u,"emphasis")>=0&&n.attr(d.oldLayoutEmphasis)),vh(n,s,e,a)}else if(n.attr(s),!pc(n).valueAnimation){var h=rt(n.style.opacity,1);n.style.opacity=0,mh(n,{style:{opacity:h}},e,a)}if(d.oldLayout=s,n.states.select){var c=d.oldLayoutSelect={};Gb(c,s,Wb),Gb(c,n.states.select,Wb)}if(n.states.emphasis){var p=d.oldLayoutEmphasis={};Gb(p,s,Wb),Gb(p,n.states.emphasis,Wb)}fc(n,a,l,e,e)}if(i&&!i.ignore&&!i.invisible){r=(d=Fb(i)).oldLayout;var d,f={points:i.shape.points};r?(i.attr({shape:r}),vh(i,{shape:f},e)):(i.setShape(f),i.style.strokePercent=0,mh(i,{style:{strokePercent:1}},e)),d.oldLayout=f}},t}(),Yb=Vo();var Xb=Math.sin,Ub=Math.cos,Zb=Math.PI,jb=2*Math.PI,qb=180/Zb,Kb=function(){function t(){}return t.prototype.reset=function(t){this._start=!0,this._d=[],this._str="",this._p=Math.pow(10,t||4)},t.prototype.moveTo=function(t,e){this._add("M",t,e)},t.prototype.lineTo=function(t,e){this._add("L",t,e)},t.prototype.bezierCurveTo=function(t,e,n,i,r,o){this._add("C",t,e,n,i,r,o)},t.prototype.quadraticCurveTo=function(t,e,n,i){this._add("Q",t,e,n,i)},t.prototype.arc=function(t,e,n,i,r,o){this.ellipse(t,e,n,n,0,i,r,o)},t.prototype.ellipse=function(t,e,n,i,r,o,a,s){var l=a-o,u=!s,h=Math.abs(l),c=pi(h-jb)||(u?l>=jb:-l>=jb),p=l>0?l%jb:l%jb+jb,d=!1;d=!!c||!pi(h)&&p>=Zb==!!u;var f=t+n*Ub(o),g=e+i*Xb(o);this._start&&this._add("M",f,g);var y=Math.round(r*qb);if(c){var v=1/this._p,m=(u?1:-1)*(jb-v);this._add("A",n,i,y,1,+u,t+n*Ub(o+m),e+i*Xb(o+m)),v>.01&&this._add("A",n,i,y,0,+u,f,g)}else{var x=t+n*Ub(a),_=e+i*Xb(a);this._add("A",n,i,y,+d,+u,x,_)}},t.prototype.rect=function(t,e,n,i){this._add("M",t,e),this._add("l",n,0),this._add("l",0,i),this._add("l",-n,0),this._add("Z")},t.prototype.closePath=function(){this._d.length>0&&this._add("Z")},t.prototype._add=function(t,e,n,i,r,o,a,s,l){for(var u=[],h=this._p,c=1;c"}(r,o)+("style"!==r?re(a):a||"")+(i?""+n+z(i,(function(e){return t(e)})).join(n)+n:"")+("")}(t)}function lw(t){return{zrId:t,shadowCache:{},patternCache:{},gradientCache:{},clipPathCache:{},defs:{},cssNodes:{},cssAnims:{},cssStyleCache:{},cssAnimIdx:0,shadowIdx:0,gradientIdx:0,patternIdx:0,clipPathIdx:0}}function uw(t,e,n,i){return aw("svg","root",{width:t,height:e,xmlns:nw,"xmlns:xlink":iw,version:"1.1",baseProfile:"full",viewBox:!!i&&"0 0 "+t+" "+e},n)}var hw=0;function cw(){return hw++}var pw={cubicIn:"0.32,0,0.67,0",cubicOut:"0.33,1,0.68,1",cubicInOut:"0.65,0,0.35,1",quadraticIn:"0.11,0,0.5,0",quadraticOut:"0.5,1,0.89,1",quadraticInOut:"0.45,0,0.55,1",quarticIn:"0.5,0,0.75,0",quarticOut:"0.25,1,0.5,1",quarticInOut:"0.76,0,0.24,1",quinticIn:"0.64,0,0.78,0",quinticOut:"0.22,1,0.36,1",quinticInOut:"0.83,0,0.17,1",sinusoidalIn:"0.12,0,0.39,0",sinusoidalOut:"0.61,1,0.88,1",sinusoidalInOut:"0.37,0,0.63,1",exponentialIn:"0.7,0,0.84,0",exponentialOut:"0.16,1,0.3,1",exponentialInOut:"0.87,0,0.13,1",circularIn:"0.55,0,1,0.45",circularOut:"0,0.55,0.45,1",circularInOut:"0.85,0,0.15,1"},dw="transform-origin";function fw(t,e,n){var i=A({},t.shape);A(i,e),t.buildPath(n,i);var r=new Kb;return r.reset(wi(t)),n.rebuildPath(r,1),r.generateStr(),r.getStr()}function gw(t,e){var n=e.originX,i=e.originY;(n||i)&&(t[dw]=n+"px "+i+"px")}var yw={fill:"fill",opacity:"opacity",lineWidth:"stroke-width",lineDashOffset:"stroke-dashoffset"};function vw(t,e){var n=e.zrId+"-ani-"+e.cssAnimIdx++;return e.cssAnims[n]=t,n}function mw(t){return U(t)?pw[t]?"cubic-bezier("+pw[t]+")":Pn(t)?t:"":""}function xw(t,e,n,i){var r=t.animators,o=r.length,a=[];if(t instanceof ih){var s=function(t,e,n){var i,r,o=t.shape.paths,a={};if(E(o,(function(t){var e=lw(n.zrId);e.animation=!0,xw(t,{},e,!0);var o=e.cssAnims,s=e.cssNodes,l=G(o),u=l.length;if(u){var h=o[r=l[u-1]];for(var c in h){var p=h[c];a[c]=a[c]||{d:""},a[c].d+=p.d||""}for(var d in s){var f=s[d].animation;f.indexOf(r)>=0&&(i=f)}}})),i){e.d=!1;var s=vw(a,n);return i.replace(r,s)}}(t,e,n);if(s)a.push(s);else if(!o)return}else if(!o)return;for(var l={},u=0;u0})).length)return vw(h,n)+" "+r[0]+" both"}for(var y in l){(s=g(l[y]))&&a.push(s)}if(a.length){var v=n.zrId+"-cls-"+cw();n.cssNodes["."+v]={animation:a.join(",")},e.class=v}}function _w(t,e,n,i){var r=JSON.stringify(t),o=n.cssStyleCache[r];o||(o=n.zrId+"-cls-"+cw(),n.cssStyleCache[r]=o,n.cssNodes["."+o+(i?":hover":"")]=t),e.class=e.class?e.class+" "+o:o}var bw=Math.round;function ww(t){return t&&U(t.src)}function Sw(t){return t&&X(t.toDataURL)}function Mw(t,e,n,i){ew((function(r,o){var a="fill"===r||"stroke"===r;a&&_i(o)?Nw(e,t,r,i):a&&vi(o)?Ew(n,t,r,i):t[r]=a&&"none"===o?"transparent":o}),e,n,!1),function(t,e,n){var i=t.style;if(function(t){return t&&(t.shadowBlur||t.shadowOffsetX||t.shadowOffsetY)}(i)){var r=function(t){var e=t.style,n=t.getGlobalScale();return[e.shadowColor,(e.shadowBlur||0).toFixed(2),(e.shadowOffsetX||0).toFixed(2),(e.shadowOffsetY||0).toFixed(2),n[0],n[1]].join(",")}(t),o=n.shadowCache,a=o[r];if(!a){var s=t.getGlobalScale(),l=s[0],u=s[1];if(!l||!u)return;var h=i.shadowOffsetX||0,c=i.shadowOffsetY||0,p=i.shadowBlur,d=hi(i.shadowColor),f=d.opacity,g=d.color,y=p/2/l+" "+p/2/u;a=n.zrId+"-s"+n.shadowIdx++,n.defs[a]=aw("filter",a,{id:a,x:"-100%",y:"-100%",width:"300%",height:"300%"},[aw("feDropShadow","",{dx:h/l,dy:c/u,stdDeviation:y,"flood-color":g,"flood-opacity":f})]),o[r]=a}e.filter=bi(a)}}(n,t,i)}function Iw(t,e){var n=Ur(e);n&&(n.each((function(e,n){null!=e&&(t[(rw+n).toLowerCase()]=e+"")})),e.isSilent()&&(t[rw+"silent"]="true"))}function Tw(t){return pi(t[0]-1)&&pi(t[1])&&pi(t[2])&&pi(t[3]-1)}function Cw(t,e,n){if(e&&(!function(t){return pi(t[4])&&pi(t[5])}(e)||!Tw(e))){var i=n?10:1e4;t.transform=Tw(e)?"translate("+bw(e[4]*i)/i+" "+bw(e[5]*i)/i+")":function(t){return"matrix("+di(t[0])+","+di(t[1])+","+di(t[2])+","+di(t[3])+","+fi(t[4])+","+fi(t[5])+")"}(e)}}function Dw(t,e,n){for(var i=t.points,r=[],o=0;o=0&&a||o;s&&(r=si(s))}var l=i.lineWidth;l&&(l/=!i.strokeNoScale&&t.transform?t.transform[0]:1);var u={cursor:"pointer"};r&&(u.fill=r),i.stroke&&(u.stroke=i.stroke),l&&(u["stroke-width"]=l),_w(u,e,n,!0)}}(t,o,e),aw(s,t.id+"",o)}function Rw(t,e){return t instanceof ks?Ow(t,e):t instanceof Ns?function(t,e){var n=t.style,i=n.image;if(i&&!U(i)&&(ww(i)?i=i.src:Sw(i)&&(i=i.toDataURL())),i){var r=n.x||0,o=n.y||0,a={href:i,width:n.width,height:n.height};return r&&(a.x=r),o&&(a.y=o),Cw(a,t.transform),Mw(a,n,t,e),Iw(a,t),e.animation&&xw(t,a,e),aw("image",t.id+"",a)}}(t,e):t instanceof Ps?function(t,e){var n=t.style,i=n.text;if(null!=i&&(i+=""),i&&!isNaN(n.x)&&!isNaN(n.y)){var r=n.font||a,s=n.x||0,l=function(t,e,n){return"top"===n?t+=e/2:"bottom"===n&&(t-=e/2),t}(n.y||0,Tr(r),n.textBaseline),u={"dominant-baseline":"central","text-anchor":gi[n.textAlign]||n.textAlign};if($s(n)){var h="",c=n.fontStyle,p=qs(n.fontSize);if(!parseFloat(p))return;var d=n.fontFamily||o,f=n.fontWeight;h+="font-size:"+p+";font-family:"+d+";",c&&"normal"!==c&&(h+="font-style:"+c+";"),f&&"normal"!==f&&(h+="font-weight:"+f+";"),u.style=h}else u.style="font: "+r;return i.match(/\s/)&&(u["xml:space"]="preserve"),s&&(u.x=s),l&&(u.y=l),Cw(u,t.transform),Mw(u,n,t,e),Iw(u,t),e.animation&&xw(t,u,e),aw("text",t.id+"",u,void 0,i)}}(t,e):void 0}function Nw(t,e,n,i){var r,o=t[n],a={gradientUnits:o.global?"userSpaceOnUse":"objectBoundingBox"};if(mi(o))r="linearGradient",a.x1=o.x,a.y1=o.y,a.x2=o.x2,a.y2=o.y2;else{if(!xi(o))return void 0;r="radialGradient",a.cx=rt(o.x,.5),a.cy=rt(o.y,.5),a.r=rt(o.r,.5)}for(var s=o.colorStops,l=[],u=0,h=s.length;ul?$w(t,null==n[c+1]?null:n[c+1].elm,n,s,c):Jw(t,e,a,l))}(n,i,r):Zw(r)?(Zw(t.text)&&Yw(n,""),$w(n,null,r,0,r.length-1)):Zw(i)?Jw(n,i,0,i.length-1):Zw(t.text)&&Yw(n,""):t.text!==e.text&&(Zw(i)&&Jw(n,i,0,i.length-1),Yw(n,e.text)))}var eS=0,nS=function(){function t(t,e,n){if(this.type="svg",this.refreshHover=iS("refreshHover"),this.configLayer=iS("configLayer"),this.storage=e,this._opts=n=A({},n),this.root=t,this._id="zr"+eS++,this._oldVNode=uw(n.width,n.height),t&&!n.ssr){var i=this._viewport=document.createElement("div");i.style.cssText="position:relative;overflow:hidden";var r=this._svgDom=this._oldVNode.elm=ow("svg");Qw(null,this._oldVNode),i.appendChild(r),t.appendChild(i)}this.resize(n.width,n.height)}return t.prototype.getType=function(){return this.type},t.prototype.getViewportRoot=function(){return this._viewport},t.prototype.getViewportRootOffset=function(){var t=this.getViewportRoot();if(t)return{offsetLeft:t.offsetLeft||0,offsetTop:t.offsetTop||0}},t.prototype.getSvgDom=function(){return this._svgDom},t.prototype.refresh=function(){if(this.root){var t=this.renderToVNode({willUpdate:!0});t.attrs.style="position:absolute;left:0;top:0;user-select:none",function(t,e){if(qw(t,e))tS(t,e);else{var n=t.elm,i=Ww(n);Kw(e),null!==i&&(Bw(i,e.elm,Hw(n)),Jw(i,[t],0,0))}}(this._oldVNode,t),this._oldVNode=t}},t.prototype.renderOneToVNode=function(t){return Rw(t,lw(this._id))},t.prototype.renderToVNode=function(t){t=t||{};var e=this.storage.getDisplayList(!0),n=this._width,i=this._height,r=lw(this._id);r.animation=t.animation,r.willUpdate=t.willUpdate,r.compress=t.compress,r.emphasis=t.emphasis;var o=[],a=this._bgVNode=function(t,e,n,i){var r;if(n&&"none"!==n)if(r=aw("rect","bg",{width:t,height:e,x:"0",y:"0"}),_i(n))Nw({fill:n},r.attrs,"fill",i);else if(vi(n))Ew({style:{fill:n},dirty:bt,getBoundingRect:function(){return{width:t,height:e}}},r.attrs,"fill",i);else{var o=hi(n),a=o.color,s=o.opacity;r.attrs.fill=a,s<1&&(r.attrs["fill-opacity"]=s)}return r}(n,i,this._backgroundColor,r);a&&o.push(a);var s=t.compress?null:this._mainVNode=aw("g","main",{},[]);this._paintList(e,r,s?s.children:o),s&&o.push(s);var l=z(G(r.defs),(function(t){return r.defs[t]}));if(l.length&&o.push(aw("defs","defs",{},l)),t.animation){var u=function(t,e,n){var i=(n=n||{}).newline?"\n":"",r=" {"+i,o=i+"}",a=z(G(t),(function(e){return e+r+z(G(t[e]),(function(n){return n+":"+t[e][n]+";"})).join(i)+o})).join(i),s=z(G(e),(function(t){return"@keyframes "+t+r+z(G(e[t]),(function(n){return n+r+z(G(e[t][n]),(function(i){var r=e[t][n][i];return"d"===i&&(r='path("'+r+'")'),i+":"+r+";"})).join(i)+o})).join(i)+o})).join(i);return a||s?[""].join(i):""}(r.cssNodes,r.cssAnims,{newline:!0});if(u){var h=aw("style","stl",{},[],u);o.push(h)}}return uw(n,i,o,t.useViewBox)},t.prototype.renderToString=function(t){return t=t||{},sw(this.renderToVNode({animation:rt(t.cssAnimation,!0),emphasis:rt(t.cssEmphasis,!0),willUpdate:!1,compress:!0,useViewBox:rt(t.useViewBox,!0)}),{newline:!0})},t.prototype.setBackgroundColor=function(t){this._backgroundColor=t},t.prototype.getSvgRoot=function(){return this._mainVNode&&this._mainVNode.elm},t.prototype._paintList=function(t,e,n){for(var i,r,o=t.length,a=[],s=0,l=0,u=0;u=0&&(!c||!r||c[f]!==r[f]);f--);for(var g=d-1;g>f;g--)i=a[--s-1];for(var y=f+1;y=a)}}for(var h=this.__startIndex;h15)break}n.prevElClipPaths&&u.restore()};if(p)if(0===p.length)s=l.__endIndex;else for(var _=d.dpr,b=0;b0&&t>i[0]){for(s=0;st);s++);a=n[i[s]]}if(i.splice(s+1,0,t),n[t]=e,!e.virtual)if(a){var l=a.dom;l.nextSibling?o.insertBefore(e.dom,l.nextSibling):o.appendChild(e.dom)}else o.firstChild?o.insertBefore(e.dom,o.firstChild):o.appendChild(e.dom);e.painter||(e.painter=this)}},t.prototype.eachLayer=function(t,e){for(var n=this._zlevelList,i=0;i0?lS:0),this._needsManuallyCompositing),u.__builtin__||I("ZLevel "+l+" has been used by unkown layer "+u.id),u!==o&&(u.__used=!0,u.__startIndex!==r&&(u.__dirty=!0),u.__startIndex=r,u.incremental?u.__drawIndex=-1:u.__drawIndex=r,e(r),o=u),1&s.__dirty&&!s.__inHover&&(u.__dirty=!0,u.incremental&&u.__drawIndex<0&&(u.__drawIndex=r))}e(r),this.eachBuiltinLayer((function(t,e){!t.__used&&t.getElementCount()>0&&(t.__dirty=!0,t.__startIndex=t.__endIndex=t.__drawIndex=0),t.__dirty&&t.__drawIndex<0&&(t.__drawIndex=t.__startIndex)}))},t.prototype.clear=function(){return this.eachBuiltinLayer(this._clearLayer),this},t.prototype._clearLayer=function(t){t.clear()},t.prototype.setBackgroundColor=function(t){this._backgroundColor=t,E(this._layers,(function(t){t.setUnpainted()}))},t.prototype.configLayer=function(t,e){if(e){var n=this._layerConfig;n[t]?C(n[t],e,!0):n[t]=e;for(var i=0;i-1&&(s.style.stroke=s.style.fill,s.style.fill="#fff",s.style.lineWidth=2),e},e.type="series.line",e.dependencies=["grid","polar"],e.defaultOption={z:3,coordinateSystem:"cartesian2d",legendHoverLink:!0,clip:!0,label:{position:"top"},endLabel:{show:!1,valueAnimation:!0,distance:8},lineStyle:{width:2,type:"solid"},emphasis:{scale:!0},step:!1,smooth:!1,smoothMonotone:null,symbol:"emptyCircle",symbolSize:4,symbolRotate:null,showSymbol:!0,showAllSymbol:"auto",connectNulls:!1,sampling:"none",animationEasing:"linear",progressive:0,hoverLayerThreshold:1/0,universalTransition:{divideShape:"clone"},triggerLineEvent:!1},e}(bg);function cS(t,e){var n=t.mapDimensionsAll("defaultedLabel"),i=n.length;if(1===i){var r=mf(t,e,n[0]);return null!=r?r+"":null}if(i){for(var o=[],a=0;a=0&&i.push(e[o])}return i.join(" ")}var dS=function(t){function e(e,n,i,r){var o=t.call(this)||this;return o.updateData(e,n,i,r),o}return n(e,t),e.prototype._createSymbol=function(t,e,n,i,r){this.removeAll();var o=Xy(t,-1,-1,2,2,null,r);o.attr({z2:100,culling:!0,scaleX:i[0]/2,scaleY:i[1]/2}),o.drift=fS,this._symbolType=t,this.add(o)},e.prototype.stopSymbolAnimation=function(t){this.childAt(0).stopAnimation(null,t)},e.prototype.getSymbolType=function(){return this._symbolType},e.prototype.getSymbolPath=function(){return this.childAt(0)},e.prototype.highlight=function(){Ol(this.childAt(0))},e.prototype.downplay=function(){Rl(this.childAt(0))},e.prototype.setZ=function(t,e){var n=this.childAt(0);n.zlevel=t,n.z=e},e.prototype.setDraggable=function(t,e){var n=this.childAt(0);n.draggable=t,n.cursor=!e&&t?"move":n.cursor},e.prototype.updateData=function(t,n,i,r){this.silent=!1;var o=t.getItemVisual(n,"symbol")||"circle",a=t.hostModel,s=e.getSymbolSize(t,n),l=o!==this._symbolType,u=r&&r.disableAnimation;if(l){var h=t.getItemVisual(n,"symbolKeepAspect");this._createSymbol(o,t,n,s,h)}else{(p=this.childAt(0)).silent=!1;var c={scaleX:s[0]/2,scaleY:s[1]/2};u?p.attr(c):vh(p,c,a,n),Sh(p)}if(this._updateCommon(t,n,s,i,r),l){var p=this.childAt(0);if(!u){c={scaleX:this._sizeX,scaleY:this._sizeY,style:{opacity:p.style.opacity}};p.scaleX=p.scaleY=0,p.style.opacity=0,mh(p,c,a,n)}}u&&this.childAt(0).stopAnimation("leave")},e.prototype._updateCommon=function(t,e,n,i,r){var o,a,s,l,u,h,c,p,d,f=this.childAt(0),g=t.hostModel;if(i&&(o=i.emphasisItemStyle,a=i.blurItemStyle,s=i.selectItemStyle,l=i.focus,u=i.blurScope,c=i.labelStatesModels,p=i.hoverScale,d=i.cursorStyle,h=i.emphasisDisabled),!i||t.hasItemOption){var y=i&&i.itemModel?i.itemModel:t.getItemModel(e),v=y.getModel("emphasis");o=v.getModel("itemStyle").getItemStyle(),s=y.getModel(["select","itemStyle"]).getItemStyle(),a=y.getModel(["blur","itemStyle"]).getItemStyle(),l=v.get("focus"),u=v.get("blurScope"),h=v.get("disabled"),c=rc(y),p=v.getShallow("scale"),d=y.getShallow("cursor")}var m=t.getItemVisual(e,"symbolRotate");f.attr("rotation",(m||0)*Math.PI/180||0);var x=Zy(t.getItemVisual(e,"symbolOffset"),n);x&&(f.x=x[0],f.y=x[1]),d&&f.attr("cursor",d);var _=t.getItemVisual(e,"style"),b=_.fill;if(f instanceof Ns){var w=f.style;f.useStyle(A({image:w.image,x:w.x,y:w.y,width:w.width,height:w.height},_))}else f.__isEmptyBrush?f.useStyle(A({},_)):f.useStyle(_),f.style.decal=null,f.setColor(b,r&&r.symbolInnerColor),f.style.strokeNoScale=!0;var S=t.getItemVisual(e,"liftZ"),M=this._z2;null!=S?null==M&&(this._z2=f.z2,f.z2+=S):null!=M&&(f.z2=M,this._z2=null);var I=r&&r.useNameLabel;ic(f,c,{labelFetcher:g,labelDataIndex:e,defaultText:function(e){return I?t.getName(e):cS(t,e)},inheritColor:b,defaultOpacity:_.opacity}),this._sizeX=n[0]/2,this._sizeY=n[1]/2;var T=f.ensureState("emphasis");T.style=o,f.ensureState("select").style=s,f.ensureState("blur").style=a;var C=null==p||!0===p?Math.max(1.1,3/this._sizeY):isFinite(p)&&p>0?+p:1;T.scaleX=this._sizeX*C,T.scaleY=this._sizeY*C,this.setSymbolScale(1),Zl(this,l,u,h)},e.prototype.setSymbolScale=function(t){this.scaleX=this.scaleY=t},e.prototype.fadeOut=function(t,e,n){var i=this.childAt(0),r=rl(this).dataIndex,o=n&&n.animation;if(this.silent=i.silent=!0,n&&n.fadeLabel){var a=i.getTextContent();a&&_h(a,{style:{opacity:0}},e,{dataIndex:r,removeOpt:o,cb:function(){i.removeTextContent()}})}else i.removeTextContent();_h(i,{style:{opacity:0},scaleX:0,scaleY:0},e,{dataIndex:r,cb:t,removeOpt:o})},e.getSymbolSize=function(t,e){return Uy(t.getItemVisual(e,"symbolSize"))},e}(Br);function fS(t,e){this.parent.drift(t,e)}function gS(t,e,n,i){return e&&!isNaN(e[0])&&!isNaN(e[1])&&!(i.isIgnore&&i.isIgnore(n))&&!(i.clipShape&&!i.clipShape.contain(e[0],e[1]))&&"none"!==t.getItemVisual(n,"symbol")}function yS(t){return null==t||q(t)||(t={isIgnore:t}),t||{}}function vS(t){var e=t.hostModel,n=e.getModel("emphasis");return{emphasisItemStyle:n.getModel("itemStyle").getItemStyle(),blurItemStyle:e.getModel(["blur","itemStyle"]).getItemStyle(),selectItemStyle:e.getModel(["select","itemStyle"]).getItemStyle(),focus:n.get("focus"),blurScope:n.get("blurScope"),emphasisDisabled:n.get("disabled"),hoverScale:n.get("scale"),labelStatesModels:rc(e),cursorStyle:e.get("cursor")}}var mS=function(){function t(t){this.group=new Br,this._SymbolCtor=t||dS}return t.prototype.updateData=function(t,e){this._progressiveEls=null,e=yS(e);var n=this.group,i=t.hostModel,r=this._data,o=this._SymbolCtor,a=e.disableAnimation,s=vS(t),l={disableAnimation:a},u=e.getSymbolPoint||function(e){return t.getItemLayout(e)};r||n.removeAll(),t.diff(r).add((function(i){var r=u(i);if(gS(t,r,i,e)){var a=new o(t,i,s,l);a.setPosition(r),t.setItemGraphicEl(i,a),n.add(a)}})).update((function(h,c){var p=r.getItemGraphicEl(c),d=u(h);if(gS(t,d,h,e)){var f=t.getItemVisual(h,"symbol")||"circle",g=p&&p.getSymbolType&&p.getSymbolType();if(!p||g&&g!==f)n.remove(p),(p=new o(t,h,s,l)).setPosition(d);else{p.updateData(t,h,s,l);var y={x:d[0],y:d[1]};a?p.attr(y):vh(p,y,i)}n.add(p),t.setItemGraphicEl(h,p)}else n.remove(p)})).remove((function(t){var e=r.getItemGraphicEl(t);e&&e.fadeOut((function(){n.remove(e)}),i)})).execute(),this._getSymbolPoint=u,this._data=t},t.prototype.updateLayout=function(){var t=this,e=this._data;e&&e.eachItemGraphicEl((function(e,n){var i=t._getSymbolPoint(n);e.setPosition(i),e.markRedraw()}))},t.prototype.incrementalPrepareUpdate=function(t){this._seriesScope=vS(t),this._data=null,this.group.removeAll()},t.prototype.incrementalUpdate=function(t,e,n){function i(t){t.isGroup||(t.incremental=!0,t.ensureState("emphasis").hoverLayer=!0)}this._progressiveEls=[],n=yS(n);for(var r=t.start;r0?n=i[0]:i[1]<0&&(n=i[1]);return n}(r,n),a=i.dim,s=r.dim,l=e.mapDimension(s),u=e.mapDimension(a),h="x"===s||"radius"===s?1:0,c=z(t.dimensions,(function(t){return e.mapDimension(t)})),p=!1,d=e.getCalculationInfo("stackResultDimension");return mx(e,c[0])&&(p=!0,c[0]=d),mx(e,c[1])&&(p=!0,c[1]=d),{dataDimsForPoint:c,valueStart:o,valueAxisDim:s,baseAxisDim:a,stacked:!!p,valueDim:l,baseDim:u,baseDataOffset:h,stackedOverDimension:e.getCalculationInfo("stackedOverDimension")}}function _S(t,e,n,i){var r=NaN;t.stacked&&(r=n.get(n.getCalculationInfo("stackedOverDimension"),i)),isNaN(r)&&(r=t.valueStart);var o=t.baseDataOffset,a=[];return a[o]=n.get(t.baseDim,i),a[1-o]=r,e.dataToPoint(a)}var bS=Math.min,wS=Math.max;function SS(t,e){return isNaN(t)||isNaN(e)}function MS(t,e,n,i,r,o,a,s,l){for(var u,h,c,p,d,f,g=n,y=0;y=r||g<0)break;if(SS(v,m)){if(l){g+=o;continue}break}if(g===n)t[o>0?"moveTo":"lineTo"](v,m),c=v,p=m;else{var x=v-u,_=m-h;if(x*x+_*_<.5){g+=o;continue}if(a>0){for(var b=g+o,w=e[2*b],S=e[2*b+1];w===v&&S===m&&y=i||SS(w,S))d=v,f=m;else{T=w-u,C=S-h;var k=v-u,L=w-v,P=m-h,O=S-m,R=void 0,N=void 0;if("x"===s){var E=T>0?1:-1;d=v-E*(R=Math.abs(k))*a,f=m,D=v+E*(N=Math.abs(L))*a,A=m}else if("y"===s){var z=C>0?1:-1;d=v,f=m-z*(R=Math.abs(P))*a,D=v,A=m+z*(N=Math.abs(O))*a}else R=Math.sqrt(k*k+P*P),d=v-T*a*(1-(I=(N=Math.sqrt(L*L+O*O))/(N+R))),f=m-C*a*(1-I),A=m+C*a*I,D=bS(D=v+T*a*I,wS(w,v)),A=bS(A,wS(S,m)),D=wS(D,bS(w,v)),f=m-(C=(A=wS(A,bS(S,m)))-m)*R/N,d=bS(d=v-(T=D-v)*R/N,wS(u,v)),f=bS(f,wS(h,m)),D=v+(T=v-(d=wS(d,bS(u,v))))*N/R,A=m+(C=m-(f=wS(f,bS(h,m))))*N/R}t.bezierCurveTo(c,p,d,f,v,m),c=D,p=A}else t.lineTo(v,m)}u=v,h=m,g+=o}return y}var IS=function(){this.smooth=0,this.smoothConstraint=!0},TS=function(t){function e(e){var n=t.call(this,e)||this;return n.type="ec-polyline",n}return n(e,t),e.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},e.prototype.getDefaultShape=function(){return new IS},e.prototype.buildPath=function(t,e){var n=e.points,i=0,r=n.length/2;if(e.connectNulls){for(;r>0&&SS(n[2*r-2],n[2*r-1]);r--);for(;i=0){var y=a?(h-i)*g+i:(u-n)*g+n;return a?[t,y]:[y,t]}n=u,i=h;break;case o.C:u=r[l++],h=r[l++],c=r[l++],p=r[l++],d=r[l++],f=r[l++];var v=a?_n(n,u,c,d,t,s):_n(i,h,p,f,t,s);if(v>0)for(var m=0;m=0){y=a?mn(i,h,p,f,x):mn(n,u,c,d,x);return a?[t,y]:[y,t]}}n=d,i=f}}},e}(ks),CS=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e}(IS),DS=function(t){function e(e){var n=t.call(this,e)||this;return n.type="ec-polygon",n}return n(e,t),e.prototype.getDefaultShape=function(){return new CS},e.prototype.buildPath=function(t,e){var n=e.points,i=e.stackedOnPoints,r=0,o=n.length/2,a=e.smoothMonotone;if(e.connectNulls){for(;o>0&&SS(n[2*o-2],n[2*o-1]);o--);for(;r=0;a--){var s=t.getDimensionInfo(i[a].dimension);if("x"===(r=s&&s.coordDim)||"y"===r){o=i[a];break}}if(o){var l=e.getAxis(r),u=z(o.stops,(function(t){return{coord:l.toGlobalCoord(l.dataToCoord(t.value)),color:t.color}})),h=u.length,c=o.outerColors.slice();h&&u[0].coord>u[h-1].coord&&(u.reverse(),c.reverse());var p=function(t,e){var n,i,r=[],o=t.length;function a(t,e,n){var i=t.coord;return{coord:n,color:ti((n-i)/(e.coord-i),[t.color,e.color])}}for(var s=0;se){i?r.push(a(i,l,e)):n&&r.push(a(n,l,0),a(n,l,e));break}n&&(r.push(a(n,l,0)),n=null),r.push(l),i=l}}return r}(u,"x"===r?n.getWidth():n.getHeight()),d=p.length;if(!d&&h)return u[0].coord<0?c[1]?c[1]:u[h-1].color:c[0]?c[0]:u[0].color;var f=p[0].coord-10,g=p[d-1].coord+10,y=g-f;if(y<.001)return"transparent";E(p,(function(t){t.offset=(t.coord-f)/y})),p.push({offset:d?p[d-1].offset:.5,color:c[1]||"transparent"}),p.unshift({offset:d?p[0].offset:.5,color:c[0]||"transparent"});var v=new oh(0,0,0,0,p,!0);return v[r]=f,v[r+"2"]=g,v}}}function BS(t,e,n){var i=t.get("showAllSymbol"),r="auto"===i;if(!i||r){var o=n.getAxesByScale("ordinal")[0];if(o&&(!r||!function(t,e){var n=t.getExtent(),i=Math.abs(n[1]-n[0])/t.scale.count();isNaN(i)&&(i=0);for(var r=e.count(),o=Math.max(1,Math.round(r/5)),a=0;ai)return!1;return!0}(o,e))){var a=e.mapDimension(o.dim),s={};return E(o.getViewLabels(),(function(t){var e=o.scale.getRawOrdinalNumber(t.tickValue);s[e]=1})),function(t){return!s.hasOwnProperty(e.get(a,t))}}}}function FS(t,e){return[t[2*e],t[2*e+1]]}function GS(t){if(t.get(["endLabel","show"]))return!0;for(var e=0;e0&&"bolder"===t.get(["emphasis","lineStyle","width"]))&&(d.getState("emphasis").style.lineWidth=+d.style.lineWidth+1);rl(d).seriesIndex=t.seriesIndex,Zl(d,L,P,O);var R=ES(t.get("smooth")),N=t.get("smoothMonotone");if(d.setShape({smooth:R,smoothMonotone:N,connectNulls:w}),f){var E=a.getCalculationInfo("stackedOnSeries"),z=0;f.useStyle(k(l.getAreaStyle(),{fill:C,opacity:.7,lineJoin:"bevel",decal:a.getVisual("style").decal})),E&&(z=ES(E.get("smooth"))),f.setShape({smooth:R,stackedOnSmooth:z,smoothMonotone:N,connectNulls:w}),$l(f,t,"areaStyle"),rl(f).seriesIndex=t.seriesIndex,Zl(f,L,P,O)}var V=function(t){i._changePolyState(t)};a.eachItemGraphicEl((function(t){t&&(t.onHoverStateChange=V)})),this._polyline.onHoverStateChange=V,this._data=a,this._coordSys=r,this._stackedOnPoints=_,this._points=u,this._step=T,this._valueOrigin=m,t.get("triggerLineEvent")&&(this.packEventData(t,d),f&&this.packEventData(t,f))},e.prototype.packEventData=function(t,e){rl(e).eventData={componentType:"series",componentSubType:"line",componentIndex:t.componentIndex,seriesIndex:t.seriesIndex,seriesName:t.name,seriesType:"line"}},e.prototype.highlight=function(t,e,n,i){var r=t.getData(),o=zo(r,i);if(this._changePolyState("emphasis"),!(o instanceof Array)&&null!=o&&o>=0){var a=r.getLayout("points"),s=r.getItemGraphicEl(o);if(!s){var l=a[2*o],u=a[2*o+1];if(isNaN(l)||isNaN(u))return;if(this._clipShapeForSymbol&&!this._clipShapeForSymbol.contain(l,u))return;var h=t.get("zlevel")||0,c=t.get("z")||0;(s=new dS(r,o)).x=l,s.y=u,s.setZ(h,c);var p=s.getSymbolPath().getTextContent();p&&(p.zlevel=h,p.z=c,p.z2=this._polyline.z2+1),s.__temp=!0,r.setItemGraphicEl(o,s),s.stopSymbolAnimation(!0),this.group.add(s)}s.highlight()}else Og.prototype.highlight.call(this,t,e,n,i)},e.prototype.downplay=function(t,e,n,i){var r=t.getData(),o=zo(r,i);if(this._changePolyState("normal"),null!=o&&o>=0){var a=r.getItemGraphicEl(o);a&&(a.__temp?(r.setItemGraphicEl(o,null),this.group.remove(a)):a.downplay())}else Og.prototype.downplay.call(this,t,e,n,i)},e.prototype._changePolyState=function(t){var e=this._polygon;Dl(this._polyline,t),e&&Dl(e,t)},e.prototype._newPolyline=function(t){var e=this._polyline;return e&&this._lineGroup.remove(e),e=new TS({shape:{points:t},segmentIgnoreThreshold:2,z2:10}),this._lineGroup.add(e),this._polyline=e,e},e.prototype._newPolygon=function(t,e){var n=this._polygon;return n&&this._lineGroup.remove(n),n=new DS({shape:{points:t,stackedOnPoints:e},segmentIgnoreThreshold:2}),this._lineGroup.add(n),this._polygon=n,n},e.prototype._initSymbolLabelAnimation=function(t,e,n){var i,r,o=e.getBaseAxis(),a=o.inverse;"cartesian2d"===e.type?(i=o.isHorizontal(),r=!1):"polar"===e.type&&(i="angle"===o.dim,r=!0);var s=t.hostModel,l=s.get("animationDuration");X(l)&&(l=l(null));var u=s.get("animationDelay")||0,h=X(u)?u(null):u;t.eachItemGraphicEl((function(t,o){var s=t;if(s){var c=[t.x,t.y],p=void 0,d=void 0,f=void 0;if(n)if(r){var g=n,y=e.pointToCoord(c);i?(p=g.startAngle,d=g.endAngle,f=-y[1]/180*Math.PI):(p=g.r0,d=g.r,f=y[0])}else{var v=n;i?(p=v.x,d=v.x+v.width,f=t.x):(p=v.y+v.height,d=v.y,f=t.y)}var m=d===p?0:(f-p)/(d-p);a&&(m=1-m);var x=X(u)?u(o):l*m+h,_=s.getSymbolPath(),b=_.getTextContent();s.attr({scaleX:0,scaleY:0}),s.animateTo({scaleX:1,scaleY:1},{duration:200,setToFinal:!0,delay:x}),b&&b.animateFrom({style:{opacity:0}},{duration:300,delay:x}),_.disableLabelAnimation=!0}}))},e.prototype._initOrUpdateEndLabel=function(t,e,n){var i=t.getModel("endLabel");if(GS(t)){var r=t.getData(),o=this._polyline,a=r.getLayout("points");if(!a)return o.removeTextContent(),void(this._endLabel=null);var s=this._endLabel;s||((s=this._endLabel=new Xs({z2:200})).ignoreClip=!0,o.setTextContent(this._endLabel),o.disableLabelAnimation=!0);var l=function(t){for(var e,n,i=t.length/2;i>0&&(e=t[2*i-2],n=t[2*i-1],isNaN(e)||isNaN(n));i--);return i-1}(a);l>=0&&(ic(o,rc(t,"endLabel"),{inheritColor:n,labelFetcher:t,labelDataIndex:l,defaultText:function(t,e,n){return null!=n?pS(r,n):cS(r,t)},enableTextSetter:!0},function(t,e){var n=e.getBaseAxis(),i=n.isHorizontal(),r=n.inverse,o=i?r?"right":"left":"center",a=i?"middle":r?"top":"bottom";return{normal:{align:t.get("align")||o,verticalAlign:t.get("verticalAlign")||a}}}(i,e)),o.textConfig.position=null)}else this._endLabel&&(this._polyline.removeTextContent(),this._endLabel=null)},e.prototype._endLabelOnDuring=function(t,e,n,i,r,o,a){var s=this._endLabel,l=this._polyline;if(s){t<1&&null==i.originalX&&(i.originalX=s.x,i.originalY=s.y);var u=n.getLayout("points"),h=n.hostModel,c=h.get("connectNulls"),p=o.get("precision"),d=o.get("distance")||0,f=a.getBaseAxis(),g=f.isHorizontal(),y=f.inverse,v=e.shape,m=y?g?v.x:v.y+v.height:g?v.x+v.width:v.y,x=(g?d:0)*(y?-1:1),_=(g?0:-d)*(y?-1:1),b=g?"x":"y",w=function(t,e,n){for(var i,r,o=t.length/2,a="x"===n?0:1,s=0,l=-1,u=0;u=e||i>=e&&r<=e){l=u;break}s=u,i=r}else i=r;return{range:[s,l],t:(e-i)/(r-i)}}(u,m,b),S=w.range,M=S[1]-S[0],I=void 0;if(M>=1){if(M>1&&!c){var T=FS(u,S[0]);s.attr({x:T[0]+x,y:T[1]+_}),r&&(I=h.getRawValue(S[0]))}else{(T=l.getPointOn(m,b))&&s.attr({x:T[0]+x,y:T[1]+_});var C=h.getRawValue(S[0]),D=h.getRawValue(S[1]);r&&(I=Zo(n,p,C,D,w.t))}i.lastFrameIndex=S[0]}else{var A=1===t||i.lastFrameIndex>0?S[0]:0;T=FS(u,A);r&&(I=h.getRawValue(A)),s.attr({x:T[0]+x,y:T[1]+_})}if(r){var k=pc(s);"function"==typeof k.setLabelText&&k.setLabelText(I)}}},e.prototype._doUpdateAnimation=function(t,e,n,i,r,o,a){var s=this._polyline,l=this._polygon,u=t.hostModel,h=function(t,e,n,i,r,o,a,s){for(var l=function(t,e){var n=[];return e.diff(t).add((function(t){n.push({cmd:"+",idx:t})})).update((function(t,e){n.push({cmd:"=",idx:e,idx1:t})})).remove((function(t){n.push({cmd:"-",idx:t})})).execute(),n}(t,e),u=[],h=[],c=[],p=[],d=[],f=[],g=[],y=xS(r,e,a),v=t.getLayout("points")||[],m=e.getLayout("points")||[],x=0;x3e3||l&&NS(p,f)>3e3)return s.stopAnimation(),s.setShape({points:d}),void(l&&(l.stopAnimation(),l.setShape({points:d,stackedOnPoints:f})));s.shape.__points=h.current,s.shape.points=c;var g={shape:{points:d}};h.current!==c&&(g.shape.__points=h.next),s.stopAnimation(),vh(s,g,u),l&&(l.setShape({points:c,stackedOnPoints:p}),l.stopAnimation(),vh(l,{shape:{stackedOnPoints:f}},u),s.shape.points!==l.shape.points&&(l.shape.points=s.shape.points));for(var y=[],v=h.status,m=0;me&&(e=t[n]);return isFinite(e)?e:NaN},min:function(t){for(var e=1/0,n=0;ne&&(e=o,n=r)}return isFinite(n)?n:NaN},nearest:function(t){return t[0]}},US=function(t){return Math.round(t.length/2)};function ZS(t){return{seriesType:t,reset:function(t,e,n){var i=t.getData(),r=t.get("sampling"),o=t.coordinateSystem,a=i.count();if(a>10&&"cartesian2d"===o.type&&r){var s=o.getBaseAxis(),l=o.getOtherAxis(s),u=s.getExtent(),h=n.getDevicePixelRatio(),c=Math.abs(u[1]-u[0])*(h||1),p=Math.round(a/c);if(isFinite(p)&&p>1){"lttb"===r&&t.setData(i.lttbDownSample(i.mapDimension(l.dim),1/p));var d=void 0;U(r)?d=XS[r]:X(r)&&(d=r),d&&t.setData(i.downSample(i.mapDimension(l.dim),1/p,d,US))}}}}}var jS=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.getInitialData=function(t,e){return _x(null,this,{useEncodeDefaulter:!0})},e.prototype.getMarkerPosition=function(t,e,n){var i=this.coordinateSystem;if(i&&i.clampData){var r=i.clampData(t),o=i.dataToPoint(r);if(n)E(i.getAxes(),(function(t,n){if("category"===t.type&&null!=e){var i=t.getTicksCoords(),a=t.getTickModel().get("alignWithLabel"),s=r[n],l="x1"===e[n]||"y1"===e[n];if(l&&!a&&(s+=1),i.length<2)return;if(2===i.length)return void(o[n]=t.toGlobalCoord(t.getExtent()[l?1:0]));for(var u=void 0,h=void 0,c=1,p=0;ps){h=(d+u)/2;break}1===p&&(c=f-i[0].tickValue)}null==h&&(u?u&&(h=i[i.length-1].coord):h=i[0].coord),o[n]=t.toGlobalCoord(h)}}));else{var a=this.getData(),s=a.getLayout("offset"),l=a.getLayout("size"),u=i.getBaseAxis().isHorizontal()?0:1;o[u]+=s+l/2}return o}return[NaN,NaN]},e.type="series.__base_bar__",e.defaultOption={z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,barMinHeight:0,barMinAngle:0,large:!1,largeThreshold:400,progressive:3e3,progressiveChunkMode:"mod"},e}(bg);bg.registerClass(jS);var qS=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.getInitialData=function(){return _x(null,this,{useEncodeDefaulter:!0,createInvertedIndices:!!this.get("realtimeSort",!0)||null})},e.prototype.getProgressive=function(){return!!this.get("large")&&this.get("progressive")},e.prototype.getProgressiveThreshold=function(){var t=this.get("progressiveThreshold"),e=this.get("largeThreshold");return e>t&&(t=e),t},e.prototype.brushSelector=function(t,e,n){return n.rect(e.getItemLayout(t))},e.type="series.bar",e.dependencies=["grid","polar"],e.defaultOption=kc(jS.defaultOption,{clip:!0,roundCap:!1,showBackground:!1,backgroundStyle:{color:"rgba(180, 180, 180, 0.2)",borderColor:null,borderWidth:0,borderType:"solid",borderRadius:0,shadowBlur:0,shadowColor:null,shadowOffsetX:0,shadowOffsetY:0,opacity:1},select:{itemStyle:{borderColor:"#212121"}},realtimeSort:!1}),e}(jS),KS=function(){this.cx=0,this.cy=0,this.r0=0,this.r=0,this.startAngle=0,this.endAngle=2*Math.PI,this.clockwise=!0},$S=function(t){function e(e){var n=t.call(this,e)||this;return n.type="sausage",n}return n(e,t),e.prototype.getDefaultShape=function(){return new KS},e.prototype.buildPath=function(t,e){var n=e.cx,i=e.cy,r=Math.max(e.r0||0,0),o=Math.max(e.r,0),a=.5*(o-r),s=r+a,l=e.startAngle,u=e.endAngle,h=e.clockwise,c=2*Math.PI,p=h?u-lo)return!0;o=u}return!1},e.prototype._isOrderDifferentInView=function(t,e){for(var n=e.scale,i=n.getExtent(),r=Math.max(0,i[0]),o=Math.min(i[1],n.getOrdinalMeta().categories.length-1);r<=o;++r)if(t.ordinalNumbers[r]!==n.getRawOrdinalNumber(r))return!0},e.prototype._updateSortWithinSameData=function(t,e,n,i){if(this._isOrderChangedWithinSameData(t,e,n)){var r=this._dataSort(t,n,e);this._isOrderDifferentInView(r,n)&&(this._removeOnRenderedListener(i),i.dispatchAction({type:"changeAxisOrder",componentType:n.dim+"Axis",axisId:n.index,sortInfo:r}))}},e.prototype._dispatchInitSort=function(t,e,n){var i=e.baseAxis,r=this._dataSort(t,i,(function(n){return t.get(t.mapDimension(e.otherAxis.dim),n)}));n.dispatchAction({type:"changeAxisOrder",componentType:i.dim+"Axis",isInitSort:!0,axisId:i.index,sortInfo:r})},e.prototype.remove=function(t,e){this._clear(this._model),this._removeOnRenderedListener(e)},e.prototype.dispose=function(t,e){this._removeOnRenderedListener(e)},e.prototype._removeOnRenderedListener=function(t){this._onRendered&&(t.getZr().off("rendered",this._onRendered),this._onRendered=null)},e.prototype._clear=function(t){var e=this.group,n=this._data;t&&t.isAnimationEnabled()&&n&&!this._isLargeDraw?(this._removeBackground(),this._backgroundEls=[],n.eachItemGraphicEl((function(e){wh(e,t,rl(e).dataIndex)}))):e.removeAll(),this._data=null,this._isFirstFrame=!0},e.prototype._removeBackground=function(){this.group.remove(this._backgroundGroup),this._backgroundGroup=null},e.type="bar",e}(Og),rM={cartesian2d:function(t,e){var n=e.width<0?-1:1,i=e.height<0?-1:1;n<0&&(e.x+=e.width,e.width=-e.width),i<0&&(e.y+=e.height,e.height=-e.height);var r=t.x+t.width,o=t.y+t.height,a=eM(e.x,t.x),s=nM(e.x+e.width,r),l=eM(e.y,t.y),u=nM(e.y+e.height,o),h=sr?s:a,e.y=c&&l>o?u:l,e.width=h?0:s-a,e.height=c?0:u-l,n<0&&(e.x+=e.width,e.width=-e.width),i<0&&(e.y+=e.height,e.height=-e.height),h||c},polar:function(t,e){var n=e.r0<=e.r?1:-1;if(n<0){var i=e.r;e.r=e.r0,e.r0=i}var r=nM(e.r,t.r),o=eM(e.r0,t.r0);e.r=r,e.r0=o;var a=r-o<0;if(n<0){i=e.r;e.r=e.r0,e.r0=i}return a}},oM={cartesian2d:function(t,e,n,i,r,o,a,s,l){var u=new Ws({shape:A({},i),z2:1});(u.__dataIndex=n,u.name="item",o)&&(u.shape[r?"height":"width"]=0);return u},polar:function(t,e,n,i,r,o,a,s,l){var u=!r&&l?$S:Fu,h=new u({shape:i,z2:1});h.name="item";var c,p,d=pM(r);if(h.calculateTextPosition=(c=d,p=({isRoundCap:u===$S}||{}).isRoundCap,function(t,e,n){var i=e.position;if(!i||i instanceof Array)return Dr(t,e,n);var r=c(i),o=null!=e.distance?e.distance:5,a=this.shape,s=a.cx,l=a.cy,u=a.r,h=a.r0,d=(u+h)/2,f=a.startAngle,g=a.endAngle,y=(f+g)/2,v=p?Math.abs(u-h)/2:0,m=Math.cos,x=Math.sin,_=s+u*m(f),b=l+u*x(f),w="left",S="top";switch(r){case"startArc":_=s+(h-o)*m(y),b=l+(h-o)*x(y),w="center",S="top";break;case"insideStartArc":_=s+(h+o)*m(y),b=l+(h+o)*x(y),w="center",S="bottom";break;case"startAngle":_=s+d*m(f)+JS(f,o+v,!1),b=l+d*x(f)+QS(f,o+v,!1),w="right",S="middle";break;case"insideStartAngle":_=s+d*m(f)+JS(f,-o+v,!1),b=l+d*x(f)+QS(f,-o+v,!1),w="left",S="middle";break;case"middle":_=s+d*m(y),b=l+d*x(y),w="center",S="middle";break;case"endArc":_=s+(u+o)*m(y),b=l+(u+o)*x(y),w="center",S="bottom";break;case"insideEndArc":_=s+(u-o)*m(y),b=l+(u-o)*x(y),w="center",S="top";break;case"endAngle":_=s+d*m(g)+JS(g,o+v,!0),b=l+d*x(g)+QS(g,o+v,!0),w="left",S="middle";break;case"insideEndAngle":_=s+d*m(g)+JS(g,-o+v,!0),b=l+d*x(g)+QS(g,-o+v,!0),w="right",S="middle";break;default:return Dr(t,e,n)}return(t=t||{}).x=_,t.y=b,t.align=w,t.verticalAlign=S,t}),o){var f=r?"r":"endAngle",g={};h.shape[f]=r?i.r0:i.startAngle,g[f]=i[f],(s?vh:mh)(h,{shape:g},o)}return h}};function aM(t,e,n,i,r,o,a,s){var l,u;o?(u={x:i.x,width:i.width},l={y:i.y,height:i.height}):(u={y:i.y,height:i.height},l={x:i.x,width:i.width}),s||(a?vh:mh)(n,{shape:l},e,r,null),(a?vh:mh)(n,{shape:u},e?t.baseAxis.model:null,r)}function sM(t,e){for(var n=0;n0?1:-1,a=i.height>0?1:-1;return{x:i.x+o*r/2,y:i.y+a*r/2,width:i.width-o*r,height:i.height-a*r}},polar:function(t,e,n){var i=t.getItemLayout(e);return{cx:i.cx,cy:i.cy,r0:i.r0,r:i.r,startAngle:i.startAngle,endAngle:i.endAngle,clockwise:i.clockwise}}};function pM(t){return function(t){var e=t?"Arc":"Angle";return function(t){switch(t){case"start":case"insideStart":case"end":case"insideEnd":return t+e;default:return t}}}(t)}function dM(t,e,n,i,r,o,a,s){var l=e.getItemVisual(n,"style");if(s){if(!o.get("roundCap")){var u=t.shape;A(u,tM(i.getModel("itemStyle"),u,!0)),t.setShape(u)}}else{var h=i.get(["itemStyle","borderRadius"])||0;t.setShape("r",h)}t.useStyle(l);var c=i.getShallow("cursor");c&&t.attr("cursor",c);var p=s?a?r.r>=r.r0?"endArc":"startArc":r.endAngle>=r.startAngle?"endAngle":"startAngle":a?r.height>=0?"bottom":"top":r.width>=0?"right":"left",d=rc(i);ic(t,d,{labelFetcher:o,labelDataIndex:n,defaultText:cS(o.getData(),n),inheritColor:l.fill,defaultOpacity:l.opacity,defaultOutsidePosition:p});var f=t.getTextContent();if(s&&f){var g=i.get(["label","position"]);t.textConfig.inside="middle"===g||null,function(t,e,n,i){if(j(i))t.setTextConfig({rotation:i});else if(Y(e))t.setTextConfig({rotation:0});else{var r,o=t.shape,a=o.clockwise?o.startAngle:o.endAngle,s=o.clockwise?o.endAngle:o.startAngle,l=(a+s)/2,u=n(e);switch(u){case"startArc":case"insideStartArc":case"middle":case"insideEndArc":case"endArc":r=l;break;case"startAngle":case"insideStartAngle":r=a;break;case"endAngle":case"insideEndAngle":r=s;break;default:return void t.setTextConfig({rotation:0})}var h=1.5*Math.PI-r;"middle"===u&&h>Math.PI/2&&h<1.5*Math.PI&&(h-=Math.PI),t.setTextConfig({rotation:h})}}(t,"outside"===g?p:g,pM(a),i.get(["label","rotate"]))}dc(f,d,o.getRawValue(n),(function(t){return pS(e,t)}));var y=i.getModel(["emphasis"]);Zl(t,y.get("focus"),y.get("blurScope"),y.get("disabled")),$l(t,i),function(t){return null!=t.startAngle&&null!=t.endAngle&&t.startAngle===t.endAngle}(r)&&(t.style.fill="none",t.style.stroke="none",E(t.states,(function(t){t.style&&(t.style.fill=t.style.stroke="none")})))}var fM=function(){},gM=function(t){function e(e){var n=t.call(this,e)||this;return n.type="largeBar",n}return n(e,t),e.prototype.getDefaultShape=function(){return new fM},e.prototype.buildPath=function(t,e){for(var n=e.points,i=this.baseDimIdx,r=1-this.baseDimIdx,o=[],a=[],s=this.barWidth,l=0;l=s[0]&&e<=s[0]+l[0]&&n>=s[1]&&n<=s[1]+l[1])return a[h]}return-1}(this,t.offsetX,t.offsetY);rl(this).dataIndex=e>=0?e:null}),30,!1);function mM(t,e,n){if(PS(n,"cartesian2d")){var i=e,r=n.getArea();return{x:t?i.x:r.x,y:t?r.y:i.y,width:t?i.width:r.width,height:t?r.height:i.height}}var o=e;return{cx:(r=n.getArea()).cx,cy:r.cy,r0:t?r.r0:o.r0,r:t?r.r:o.r,startAngle:t?o.startAngle:0,endAngle:t?o.endAngle:2*Math.PI}}var xM=2*Math.PI,_M=Math.PI/180;function bM(t,e){return kp(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}function wM(t,e){var n=bM(t,e),i=t.get("center"),r=t.get("radius");Y(r)||(r=[0,r]);var o,a,s=$r(n.width,e.getWidth()),l=$r(n.height,e.getHeight()),u=Math.min(s,l),h=$r(r[0],u/2),c=$r(r[1],u/2),p=t.coordinateSystem;if(p){var d=p.dataToPoint(i);o=d[0]||0,a=d[1]||0}else Y(i)||(i=[i,i]),o=$r(i[0],s)+n.x,a=$r(i[1],l)+n.y;return{cx:o,cy:a,r0:h,r:c}}function SM(t,e,n){e.eachSeriesByType(t,(function(t){var e=t.getData(),i=e.mapDimension("value"),r=bM(t,n),o=wM(t,n),a=o.cx,s=o.cy,l=o.r,u=o.r0,h=-t.get("startAngle")*_M,c=t.get("endAngle"),p=t.get("padAngle")*_M;c="auto"===c?h-xM:-c*_M;var d=t.get("minAngle")*_M+p,f=0;e.each(i,(function(t){!isNaN(t)&&f++}));var g=e.getSum(i),y=Math.PI/(g||f)*2,v=t.get("clockwise"),m=t.get("roseType"),x=t.get("stillShowZeroSum"),_=e.getDataExtent(i);_[0]=0;var b=v?1:-1,w=[h,c],S=b*p/2;us(w,!v),h=w[0],c=w[1];var M=Math.abs(c-h),I=M,T=0,C=h;if(e.setLayout({viewRect:r,r:l}),e.each(i,(function(t,n){var i;if(isNaN(t))e.setItemLayout(n,{angle:NaN,startAngle:NaN,endAngle:NaN,clockwise:v,cx:a,cy:s,r0:u,r:m?NaN:l});else{(i="area"!==m?0===g&&x?y:t*y:M/f)i?h=o=C+b*i/2:(o=C+S,h=r-S),e.setItemLayout(n,{angle:i,startAngle:o,endAngle:h,clockwise:v,cx:a,cy:s,r0:u,r:m?Kr(t,_,[u,l]):l}),C=r}})),In?a:o,h=Math.abs(l.label.y-n);if(h>=u.maxY){var c=l.label.x-e-l.len2*r,p=i+l.len,f=Math.abs(c)t.unconstrainedWidth?null:d:null;i.setStyle("width",f)}var g=i.getBoundingRect();o.width=g.width;var y=(i.style.margin||0)+2.1;o.height=g.height+y,o.y-=(o.height-c)/2}}}function DM(t){return"center"===t.position}function AM(t){var e,n,i=t.getData(),r=[],o=!1,a=(t.get("minShowLabelAngle")||0)*IM,s=i.getLayout("viewRect"),l=i.getLayout("r"),u=s.width,h=s.x,c=s.y,p=s.height;function d(t){t.ignore=!0}i.each((function(t){var s=i.getItemGraphicEl(t),c=s.shape,p=s.getTextContent(),f=s.getTextGuideLine(),g=i.getItemModel(t),y=g.getModel("label"),v=y.get("position")||g.get(["emphasis","label","position"]),m=y.get("distanceToLabelLine"),x=y.get("alignTo"),_=$r(y.get("edgeDistance"),u),b=y.get("bleedMargin"),w=g.getModel("labelLine"),S=w.get("length");S=$r(S,u);var M=w.get("length2");if(M=$r(M,u),Math.abs(c.endAngle-c.startAngle)0?"right":"left":k>0?"left":"right"}var B=Math.PI,F=0,G=y.get("rotate");if(j(G))F=G*(B/180);else if("center"===v)F=0;else if("radial"===G||!0===G){F=k<0?-A+B:-A}else if("tangential"===G&&"outside"!==v&&"outer"!==v){var W=Math.atan2(k,L);W<0&&(W=2*B+W),L>0&&(W=B+W),F=W-B}if(o=!!F,p.x=I,p.y=T,p.rotation=F,p.setStyle({verticalAlign:"middle"}),P){p.setStyle({align:D});var H=p.states.select;H&&(H.x+=p.x,H.y+=p.y)}else{var Y=p.getBoundingRect().clone();Y.applyTransform(p.getComputedTransform());var X=(p.style.margin||0)+2.1;Y.y-=X/2,Y.height+=X,r.push({label:p,labelLine:f,position:v,len:S,len2:M,minTurnAngle:w.get("minTurnAngle"),maxSurfaceAngle:w.get("maxSurfaceAngle"),surfaceNormal:new De(k,L),linePoints:C,textAlign:D,labelDistance:m,labelAlignTo:x,edgeDistance:_,bleedMargin:b,rect:Y,unconstrainedWidth:Y.width,labelStyleWidth:p.style.width})}s.setTextConfig({inside:P})}})),!o&&t.get("avoidLabelOverlap")&&function(t,e,n,i,r,o,a,s){for(var l=[],u=[],h=Number.MAX_VALUE,c=-Number.MAX_VALUE,p=0;p0){for(var l=o.getItemLayout(0),u=1;isNaN(l&&l.startAngle)&&u=n.r0}},e.type="pie",e}(Og);function PM(t,e,n){e=Y(e)&&{coordDimensions:e}||A({encodeDefine:t.getEncode()},e);var i=t.getSource(),r=px(i,e).dimensions,o=new cx(r,t);return o.initData(i,n),o}var OM=function(){function t(t,e){this._getDataWithEncodedVisual=t,this._getRawData=e}return t.prototype.getAllNames=function(){var t=this._getRawData();return t.mapArray(t.getName)},t.prototype.containName=function(t){return this._getRawData().indexOfName(t)>=0},t.prototype.indexOfName=function(t){return this._getDataWithEncodedVisual().indexOfName(t)},t.prototype.getItemVisual=function(t,e){return this._getDataWithEncodedVisual().getItemVisual(t,e)},t}(),RM=Vo(),NM=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.init=function(e){t.prototype.init.apply(this,arguments),this.legendVisualProvider=new OM(W(this.getData,this),W(this.getRawData,this)),this._defaultLabelLine(e)},e.prototype.mergeOption=function(){t.prototype.mergeOption.apply(this,arguments)},e.prototype.getInitialData=function(){return PM(this,{coordDimensions:["value"],encodeDefaulter:H(ed,this)})},e.prototype.getDataParams=function(e){var n=this.getData(),i=RM(n),r=i.seats;if(!r){var o=[];n.each(n.mapDimension("value"),(function(t){o.push(t)})),r=i.seats=io(o,n.hostModel.get("percentPrecision"))}var a=t.prototype.getDataParams.call(this,e);return a.percent=r[e]||0,a.$vars.push("percent"),a},e.prototype._defaultLabelLine=function(t){Co(t,"labelLine",["show"]);var e=t.labelLine,n=t.emphasis.labelLine;e.show=e.show&&t.label.show,n.show=n.show&&t.emphasis.label.show},e.type="series.pie",e.defaultOption={z:2,legendHoverLink:!0,colorBy:"data",center:["50%","50%"],radius:[0,"75%"],clockwise:!0,startAngle:90,endAngle:"auto",padAngle:0,minAngle:0,minShowLabelAngle:0,selectedOffset:10,percentPrecision:2,stillShowZeroSum:!0,left:0,top:0,right:0,bottom:0,width:null,height:null,label:{rotate:0,show:!0,overflow:"truncate",position:"outer",alignTo:"none",edgeDistance:"25%",bleedMargin:10,distanceToLabelLine:5},labelLine:{show:!0,length:15,length2:15,smooth:!1,minTurnAngle:90,maxSurfaceAngle:90,lineStyle:{width:1,type:"solid"}},itemStyle:{borderWidth:1,borderJoin:"round"},showEmptyCircle:!0,emptyCircleStyle:{color:"lightgray",opacity:1},labelLayout:{hideOverlap:!0},emphasis:{scale:!0,scaleSize:5},avoidLabelOverlap:!0,animationType:"expansion",animationDuration:1e3,animationTypeUpdate:"transition",animationEasingUpdate:"cubicInOut",animationDurationUpdate:500,animationEasing:"cubicInOut"},e}(bg);var EM=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.hasSymbolVisual=!0,n}return n(e,t),e.prototype.getInitialData=function(t,e){return _x(null,this,{useEncodeDefaulter:!0})},e.prototype.getProgressive=function(){var t=this.option.progressive;return null==t?this.option.large?5e3:this.get("progressive"):t},e.prototype.getProgressiveThreshold=function(){var t=this.option.progressiveThreshold;return null==t?this.option.large?1e4:this.get("progressiveThreshold"):t},e.prototype.brushSelector=function(t,e,n){return n.point(e.getItemLayout(t))},e.prototype.getZLevelKey=function(){return this.getData().count()>this.getProgressiveThreshold()?this.id:""},e.type="series.scatter",e.dependencies=["grid","polar","geo","singleAxis","calendar"],e.defaultOption={coordinateSystem:"cartesian2d",z:2,legendHoverLink:!0,symbolSize:10,large:!1,largeThreshold:2e3,itemStyle:{opacity:.8},emphasis:{scale:!0},clip:!0,select:{itemStyle:{borderColor:"#212121"}},universalTransition:{divideShape:"clone"}},e}(bg),zM=function(){},VM=function(t){function e(e){var n=t.call(this,e)||this;return n._off=0,n.hoverDataIdx=-1,n}return n(e,t),e.prototype.getDefaultShape=function(){return new zM},e.prototype.reset=function(){this.notClear=!1,this._off=0},e.prototype.buildPath=function(t,e){var n,i=e.points,r=e.size,o=this.symbolProxy,a=o.shape,s=t.getContext?t.getContext():t,l=s&&r[0]<4,u=this.softClipShape;if(l)this._ctx=s;else{for(this._ctx=null,n=this._off;n=0;s--){var l=2*s,u=i[l]-o/2,h=i[l+1]-a/2;if(t>=u&&e>=h&&t<=u+o&&e<=h+a)return s}return-1},e.prototype.contain=function(t,e){var n=this.transformCoordToLocal(t,e),i=this.getBoundingRect();return t=n[0],e=n[1],i.contain(t,e)?(this.hoverDataIdx=this.findDataIndex(t,e))>=0:(this.hoverDataIdx=-1,!1)},e.prototype.getBoundingRect=function(){var t=this._rect;if(!t){for(var e=this.shape,n=e.points,i=e.size,r=i[0],o=i[1],a=1/0,s=1/0,l=-1/0,u=-1/0,h=0;h=0&&(l.dataIndex=n+(t.startIndex||0))}))},t.prototype.remove=function(){this._clear()},t.prototype._clear=function(){this._newAdded=[],this.group.removeAll()},t}(),FM=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.render=function(t,e,n){var i=t.getData();this._updateSymbolDraw(i,t).updateData(i,{clipShape:this._getClipShape(t)}),this._finished=!0},e.prototype.incrementalPrepareRender=function(t,e,n){var i=t.getData();this._updateSymbolDraw(i,t).incrementalPrepareUpdate(i),this._finished=!1},e.prototype.incrementalRender=function(t,e,n){this._symbolDraw.incrementalUpdate(t,e.getData(),{clipShape:this._getClipShape(e)}),this._finished=t.end===e.getData().count()},e.prototype.updateTransform=function(t,e,n){var i=t.getData();if(this.group.dirty(),!this._finished||i.count()>1e4)return{update:!0};var r=YS("").reset(t,e,n);r.progress&&r.progress({start:0,end:i.count(),count:i.count()},i),this._symbolDraw.updateLayout(i)},e.prototype.eachRendered=function(t){this._symbolDraw&&this._symbolDraw.eachRendered(t)},e.prototype._getClipShape=function(t){if(t.get("clip",!0)){var e=t.coordinateSystem;return e&&e.getArea&&e.getArea(.1)}},e.prototype._updateSymbolDraw=function(t,e){var n=this._symbolDraw,i=e.pipelineContext.large;return n&&i===this._isLargeDraw||(n&&n.remove(),n=this._symbolDraw=i?new BM:new mS,this._isLargeDraw=i,this.group.removeAll()),this.group.add(n.group),n},e.prototype.remove=function(t,e){this._symbolDraw&&this._symbolDraw.remove(!0),this._symbolDraw=null},e.prototype.dispose=function(){},e.type="scatter",e}(Og),GM=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.type="grid",e.dependencies=["xAxis","yAxis"],e.layoutMode="box",e.defaultOption={show:!1,z:0,left:"10%",top:60,right:"10%",bottom:70,containLabel:!1,backgroundColor:"rgba(0,0,0,0)",borderWidth:1,borderColor:"#ccc"},e}(zp),WM=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.getCoordSysModel=function(){return this.getReferringComponents("grid",Wo).models[0]},e.type="cartesian2dAxis",e}(zp);R(WM,D_);var HM={show:!0,z:0,inverse:!1,name:"",nameLocation:"end",nameRotate:null,nameTruncate:{maxWidth:null,ellipsis:"...",placeholder:"."},nameTextStyle:{},nameGap:15,silent:!1,triggerEvent:!1,tooltip:{show:!1},axisPointer:{},axisLine:{show:!0,onZero:!0,onZeroAxisIndex:null,lineStyle:{color:"#6E7079",width:1,type:"solid"},symbol:["none","none"],symbolSize:[10,15]},axisTick:{show:!0,inside:!1,length:5,lineStyle:{width:1}},axisLabel:{show:!0,inside:!1,rotate:0,showMinLabel:null,showMaxLabel:null,margin:8,fontSize:12},splitLine:{show:!0,lineStyle:{color:["#E0E6F1"],width:1,type:"solid"}},splitArea:{show:!1,areaStyle:{color:["rgba(250,250,250,0.2)","rgba(210,219,238,0.2)"]}}},YM=C({boundaryGap:!0,deduplication:null,splitLine:{show:!1},axisTick:{alignWithLabel:!1,interval:"auto"},axisLabel:{interval:"auto"}},HM),XM=C({boundaryGap:[0,0],axisLine:{show:"auto"},axisTick:{show:"auto"},splitNumber:5,minorTick:{show:!1,splitNumber:5,length:3,lineStyle:{}},minorSplitLine:{show:!1,lineStyle:{color:"#F4F7FD",width:1}}},HM),UM={category:YM,value:XM,time:C({splitNumber:6,axisLabel:{showMinLabel:!1,showMaxLabel:!1,rich:{primary:{fontWeight:"bold"}}},splitLine:{show:!1}},XM),log:k({logBase:10},XM)},ZM={value:1,category:1,time:1,log:1};function jM(t,e,i,r){E(ZM,(function(o,a){var s=C(C({},UM[a],!0),r,!0),l=function(t){function i(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e+"Axis."+a,n}return n(i,t),i.prototype.mergeDefaultAndTheme=function(t,e){var n=Pp(this),i=n?Rp(t):{};C(t,e.getTheme().get(a+"Axis")),C(t,this.getDefaultOption()),t.type=qM(t),n&&Op(t,i,n)},i.prototype.optionUpdated=function(){"category"===this.option.type&&(this.__ordinalMeta=Mx.createByAxisModel(this))},i.prototype.getCategories=function(t){var e=this.option;if("category"===e.type)return t?e.data:this.__ordinalMeta.categories},i.prototype.getOrdinalMeta=function(){return this.__ordinalMeta},i.type=e+"Axis."+a,i.defaultOption=s,i}(i);t.registerComponentModel(l)})),t.registerSubTypeDefaulter(e+"Axis",qM)}function qM(t){return t.type||(t.data?"category":"value")}var KM=function(){function t(t){this.type="cartesian",this._dimList=[],this._axes={},this.name=t||""}return t.prototype.getAxis=function(t){return this._axes[t]},t.prototype.getAxes=function(){return z(this._dimList,(function(t){return this._axes[t]}),this)},t.prototype.getAxesByScale=function(t){return t=t.toLowerCase(),B(this.getAxes(),(function(e){return e.scale.type===t}))},t.prototype.addAxis=function(t){var e=t.dim;this._axes[e]=t,this._dimList.push(e)},t}(),$M=["x","y"];function JM(t){return"interval"===t.type||"time"===t.type}var QM=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="cartesian2d",e.dimensions=$M,e}return n(e,t),e.prototype.calcAffineTransform=function(){this._transform=this._invTransform=null;var t=this.getAxis("x").scale,e=this.getAxis("y").scale;if(JM(t)&&JM(e)){var n=t.getExtent(),i=e.getExtent(),r=this.dataToPoint([n[0],i[0]]),o=this.dataToPoint([n[1],i[1]]),a=n[1]-n[0],s=i[1]-i[0];if(a&&s){var l=(o[0]-r[0])/a,u=(o[1]-r[1])/s,h=r[0]-n[0]*l,c=r[1]-i[0]*u,p=this._transform=[l,0,0,u,h,c];this._invTransform=Ie([],p)}}},e.prototype.getBaseAxis=function(){return this.getAxesByScale("ordinal")[0]||this.getAxesByScale("time")[0]||this.getAxis("x")},e.prototype.containPoint=function(t){var e=this.getAxis("x"),n=this.getAxis("y");return e.contain(e.toLocalCoord(t[0]))&&n.contain(n.toLocalCoord(t[1]))},e.prototype.containData=function(t){return this.getAxis("x").containData(t[0])&&this.getAxis("y").containData(t[1])},e.prototype.containZone=function(t,e){var n=this.dataToPoint(t),i=this.dataToPoint(e),r=this.getArea(),o=new ze(n[0],n[1],i[0]-n[0],i[1]-n[1]);return r.intersect(o)},e.prototype.dataToPoint=function(t,e,n){n=n||[];var i=t[0],r=t[1];if(this._transform&&null!=i&&isFinite(i)&&null!=r&&isFinite(r))return Wt(n,t,this._transform);var o=this.getAxis("x"),a=this.getAxis("y");return n[0]=o.toGlobalCoord(o.dataToCoord(i,e)),n[1]=a.toGlobalCoord(a.dataToCoord(r,e)),n},e.prototype.clampData=function(t,e){var n=this.getAxis("x").scale,i=this.getAxis("y").scale,r=n.getExtent(),o=i.getExtent(),a=n.parse(t[0]),s=i.parse(t[1]);return(e=e||[])[0]=Math.min(Math.max(Math.min(r[0],r[1]),a),Math.max(r[0],r[1])),e[1]=Math.min(Math.max(Math.min(o[0],o[1]),s),Math.max(o[0],o[1])),e},e.prototype.pointToData=function(t,e){var n=[];if(this._invTransform)return Wt(n,t,this._invTransform);var i=this.getAxis("x"),r=this.getAxis("y");return n[0]=i.coordToData(i.toLocalCoord(t[0]),e),n[1]=r.coordToData(r.toLocalCoord(t[1]),e),n},e.prototype.getOtherAxis=function(t){return this.getAxis("x"===t.dim?"y":"x")},e.prototype.getArea=function(t){t=t||0;var e=this.getAxis("x").getGlobalExtent(),n=this.getAxis("y").getGlobalExtent(),i=Math.min(e[0],e[1])-t,r=Math.min(n[0],n[1])-t,o=Math.max(e[0],e[1])-i+t,a=Math.max(n[0],n[1])-r+t;return new ze(i,r,o,a)},e}(KM),tI=function(t){function e(e,n,i,r,o){var a=t.call(this,e,n,i)||this;return a.index=0,a.type=r||"value",a.position=o||"bottom",a}return n(e,t),e.prototype.isHorizontal=function(){var t=this.position;return"top"===t||"bottom"===t},e.prototype.getGlobalExtent=function(t){var e=this.getExtent();return e[0]=this.toGlobalCoord(e[0]),e[1]=this.toGlobalCoord(e[1]),t&&e[0]>e[1]&&e.reverse(),e},e.prototype.pointToData=function(t,e){return this.coordToData(this.toLocalCoord(t["x"===this.dim?0:1]),e)},e.prototype.setCategorySortInfo=function(t){if("category"!==this.type)return!1;this.model.option.categorySortInfo=t,this.scale.setSortInfo(t)},e}(ob);function eI(t,e,n){n=n||{};var i=t.coordinateSystem,r=e.axis,o={},a=r.getAxesOnZeroOf()[0],s=r.position,l=a?"onZero":s,u=r.dim,h=i.getRect(),c=[h.x,h.x+h.width,h.y,h.y+h.height],p={left:0,right:1,top:0,bottom:1,onZero:2},d=e.get("offset")||0,f="x"===u?[c[2]-d,c[3]+d]:[c[0]-d,c[1]+d];if(a){var g=a.toGlobalCoord(a.dataToCoord(0));f[p.onZero]=Math.max(Math.min(g,f[1]),f[0])}o.position=["y"===u?f[p[l]]:c[0],"x"===u?f[p[l]]:c[3]],o.rotation=Math.PI/2*("x"===u?0:1);o.labelDirection=o.tickDirection=o.nameDirection={top:-1,bottom:1,left:-1,right:1}[s],o.labelOffset=a?f[p[s]]-f[p.onZero]:0,e.get(["axisTick","inside"])&&(o.tickDirection=-o.tickDirection),it(n.labelInside,e.get(["axisLabel","inside"]))&&(o.labelDirection=-o.labelDirection);var y=e.get(["axisLabel","rotate"]);return o.labelRotate="top"===l?-y:y,o.z2=1,o}function nI(t){return"cartesian2d"===t.get("coordinateSystem")}function iI(t){var e={xAxisModel:null,yAxisModel:null};return E(e,(function(n,i){var r=i.replace(/Model$/,""),o=t.getReferringComponents(r,Wo).models[0];e[i]=o})),e}var rI=Math.log;function oI(t,e,n){var i=Ex.prototype,r=i.getTicks.call(n),o=i.getTicks.call(n,!0),a=r.length-1,s=i.getInterval.call(n),l=x_(t,e),u=l.extent,h=l.fixMin,c=l.fixMax;if("log"===t.type){var p=rI(t.base);u=[rI(u[0])/p,rI(u[1])/p]}t.setExtent(u[0],u[1]),t.calcNiceExtent({splitNumber:a,fixMin:h,fixMax:c});var d=i.getExtent.call(t);h&&(u[0]=d[0]),c&&(u[1]=d[1]);var f=i.getInterval.call(t),g=u[0],y=u[1];if(h&&c)f=(y-g)/a;else if(h)for(y=u[0]+f*a;yu[0]&&isFinite(g)&&isFinite(u[0]);)f=Dx(f),g=u[1]-f*a;else{t.getTicks().length-1>a&&(f=Dx(f));var v=f*a;(g=Jr((y=Math.ceil(u[1]/f)*f)-v))<0&&u[0]>=0?(g=0,y=Jr(v)):y>0&&u[1]<=0&&(y=0,g=-Jr(v))}var m=(r[0].value-o[0].value)/s,x=(r[a].value-o[a].value)/s;i.setExtent.call(t,g+f*m,y+f*x),i.setInterval.call(t,f),(m||x)&&i.setNiceExtent.call(t,g+f,y-f)}var aI=function(){function t(t,e,n){this.type="grid",this._coordsMap={},this._coordsList=[],this._axesMap={},this._axesList=[],this.axisPointerEnabled=!0,this.dimensions=$M,this._initCartesian(t,e,n),this.model=t}return t.prototype.getRect=function(){return this._rect},t.prototype.update=function(t,e){var n=this._axesMap;function i(t){var e,n=G(t),i=n.length;if(i){for(var r=[],o=i-1;o>=0;o--){var a=t[+n[o]],s=a.model,l=a.scale;Tx(l)&&s.get("alignTicks")&&null==s.get("interval")?r.push(a):(__(l,s),Tx(l)&&(e=a))}r.length&&(e||__((e=r.pop()).scale,e.model),E(r,(function(t){oI(t.scale,t.model,e.scale)})))}}this._updateScale(t,this.model),i(n.x),i(n.y);var r={};E(n.x,(function(t){lI(n,"y",t,r)})),E(n.y,(function(t){lI(n,"x",t,r)})),this.resize(this.model,e)},t.prototype.resize=function(t,e,n){var i=t.getBoxLayoutParams(),r=!n&&t.get("containLabel"),o=kp(i,{width:e.getWidth(),height:e.getHeight()});this._rect=o;var a=this._axesList;function s(){E(a,(function(t){var e=t.isHorizontal(),n=e?[0,o.width]:[0,o.height],i=t.inverse?1:0;t.setExtent(n[i],n[1-i]),function(t,e){var n=t.getExtent(),i=n[0]+n[1];t.toGlobalCoord="x"===t.dim?function(t){return t+e}:function(t){return i-t+e},t.toLocalCoord="x"===t.dim?function(t){return t-e}:function(t){return i-t+e}}(t,e?o.x:o.y)}))}s(),r&&(E(a,(function(t){if(!t.model.get(["axisLabel","inside"])){var e=function(t){var e=t.model,n=t.scale;if(e.get(["axisLabel","show"])&&!n.isBlank()){var i,r,o=n.getExtent();r=n instanceof Rx?n.count():(i=n.getTicks()).length;var a,s=t.getLabelModel(),l=w_(t),u=1;r>40&&(u=Math.ceil(r/40));for(var h=0;h0&&i>0||n<0&&i<0)}(t)}var hI=Math.PI,cI=function(){function t(t,e){this.group=new Br,this.opt=e,this.axisModel=t,k(e,{labelOffset:0,nameDirection:1,tickDirection:1,labelDirection:1,silent:!0,handleAutoShown:function(){return!0}});var n=new Br({x:e.position[0],y:e.position[1],rotation:e.rotation});n.updateTransform(),this._transformGroup=n}return t.prototype.hasBuilder=function(t){return!!pI[t]},t.prototype.add=function(t){pI[t](this.opt,this.axisModel,this.group,this._transformGroup)},t.prototype.getGroup=function(){return this.group},t.innerTextLayout=function(t,e,n){var i,r,o=ao(e-t);return so(o)?(r=n>0?"top":"bottom",i="center"):so(o-hI)?(r=n>0?"bottom":"top",i="center"):(r="middle",i=o>0&&o0?"right":"left":n>0?"left":"right"),{rotation:o,textAlign:i,textVerticalAlign:r}},t.makeAxisEventDataBase=function(t){var e={componentType:t.mainType,componentIndex:t.componentIndex};return e[t.mainType+"Index"]=t.componentIndex,e},t.isLabelSilent=function(t){var e=t.get("tooltip");return t.get("silent")||!(t.get("triggerEvent")||e&&e.show)},t}(),pI={axisLine:function(t,e,n,i){var r=e.get(["axisLine","show"]);if("auto"===r&&t.handleAutoShown&&(r=t.handleAutoShown("axisLine")),r){var o=e.axis.getExtent(),a=i.transform,s=[o[0],0],l=[o[1],0],u=s[0]>l[0];a&&(Wt(s,s,a),Wt(l,l,a));var h=A({lineCap:"round"},e.getModel(["axisLine","lineStyle"]).getLineStyle()),c=new Ku({shape:{x1:s[0],y1:s[1],x2:l[0],y2:l[1]},style:h,strokeContainThreshold:t.strokeContainThreshold||5,silent:!0,z2:1});zh(c.shape,c.style.lineWidth),c.anid="line",n.add(c);var p=e.get(["axisLine","symbol"]);if(null!=p){var d=e.get(["axisLine","symbolSize"]);U(p)&&(p=[p,p]),(U(d)||j(d))&&(d=[d,d]);var f=Zy(e.get(["axisLine","symbolOffset"])||0,d),g=d[0],y=d[1];E([{rotate:t.rotation+Math.PI/2,offset:f[0],r:0},{rotate:t.rotation-Math.PI/2,offset:f[1],r:Math.sqrt((s[0]-l[0])*(s[0]-l[0])+(s[1]-l[1])*(s[1]-l[1]))}],(function(e,i){if("none"!==p[i]&&null!=p[i]){var r=Xy(p[i],-g/2,-y/2,g,y,h.stroke,!0),o=e.r+e.offset,a=u?l:s;r.attr({rotation:e.rotate,x:a[0]+o*Math.cos(t.rotation),y:a[1]-o*Math.sin(t.rotation),silent:!0,z2:11}),n.add(r)}}))}}},axisTickLabel:function(t,e,n,i){var r=function(t,e,n,i){var r=n.axis,o=n.getModel("axisTick"),a=o.get("show");"auto"===a&&i.handleAutoShown&&(a=i.handleAutoShown("axisTick"));if(!a||r.scale.isBlank())return;for(var s=o.getModel("lineStyle"),l=i.tickDirection*o.get("length"),u=yI(r.getTicksCoords(),e.transform,l,k(s.getLineStyle(),{stroke:n.get(["axisLine","lineStyle","color"])}),"ticks"),h=0;hc[1]?-1:1,d=["start"===s?c[0]-p*h:"end"===s?c[1]+p*h:(c[0]+c[1])/2,gI(s)?t.labelOffset+l*h:0],f=e.get("nameRotate");null!=f&&(f=f*hI/180),gI(s)?o=cI.innerTextLayout(t.rotation,null!=f?f:t.rotation,l):(o=function(t,e,n,i){var r,o,a=ao(n-t),s=i[0]>i[1],l="start"===e&&!s||"start"!==e&&s;so(a-hI/2)?(o=l?"bottom":"top",r="center"):so(a-1.5*hI)?(o=l?"top":"bottom",r="center"):(o="middle",r=a<1.5*hI&&a>hI/2?l?"left":"right":l?"right":"left");return{rotation:a,textAlign:r,textVerticalAlign:o}}(t.rotation,s,f||0,c),null!=(a=t.axisNameAvailableWidth)&&(a=Math.abs(a/Math.sin(o.rotation)),!isFinite(a)&&(a=null)));var g=u.getFont(),y=e.get("nameTruncate",!0)||{},v=y.ellipsis,m=it(t.nameTruncateMaxWidth,y.maxWidth,a),x=new Xs({x:d[0],y:d[1],rotation:o.rotation,silent:cI.isLabelSilent(e),style:oc(u,{text:r,font:g,overflow:"truncate",width:m,ellipsis:v,fill:u.getTextColor()||e.get(["axisLine","lineStyle","color"]),align:u.get("align")||o.textAlign,verticalAlign:u.get("verticalAlign")||o.textVerticalAlign}),z2:1});if(Kh({el:x,componentModel:e,itemName:r}),x.__fullText=r,x.anid="name",e.get("triggerEvent")){var _=cI.makeAxisEventDataBase(e);_.targetType="axisName",_.name=r,rl(x).eventData=_}i.add(x),x.updateTransform(),n.add(x),x.decomposeTransform()}}};function dI(t){t&&(t.ignore=!0)}function fI(t,e){var n=t&&t.getBoundingRect().clone(),i=e&&e.getBoundingRect().clone();if(n&&i){var r=xe([]);return Se(r,r,-t.rotation),n.applyTransform(be([],r,t.getLocalTransform())),i.applyTransform(be([],r,e.getLocalTransform())),n.intersect(i)}}function gI(t){return"middle"===t||"center"===t}function yI(t,e,n,i,r){for(var o=[],a=[],s=[],l=0;l=0||t===e}function xI(t){var e=_I(t);if(e){var n=e.axisPointerModel,i=e.axis.scale,r=n.option,o=n.get("status"),a=n.get("value");null!=a&&(a=i.parse(a));var s=bI(n);null==o&&(r.status=s?"show":"hide");var l=i.getExtent().slice();l[0]>l[1]&&l.reverse(),(null==a||a>l[1])&&(a=l[1]),a0&&!c.min?c.min=0:null!=c.min&&c.min<0&&!c.max&&(c.max=0);var p=a;null!=c.color&&(p=k({color:c.color},a));var d=C(T(c),{boundaryGap:t,splitNumber:e,scale:n,axisLine:i,axisTick:r,axisLabel:o,name:c.text,showName:s,nameLocation:"end",nameGap:u,nameTextStyle:p,triggerEvent:h},!1);if(U(l)){var f=d.name;d.name=l.replace("{value}",null!=f?f:"")}else X(l)&&(d.name=l(d.name,d));var g=new Cc(d,null,this.ecModel);return R(g,D_.prototype),g.mainType="radar",g.componentIndex=this.componentIndex,g}),this);this._indicatorModels=c},e.prototype.getIndicatorModels=function(){return this._indicatorModels},e.type="radar",e.defaultOption={z:0,center:["50%","50%"],radius:"75%",startAngle:90,axisName:{show:!0},boundaryGap:[0,0],splitNumber:5,axisNameGap:15,scale:!1,shape:"polygon",axisLine:C({lineStyle:{color:"#bbb"}},HI.axisLine),axisLabel:YI(HI.axisLabel,!1),axisTick:YI(HI.axisTick,!1),splitLine:YI(HI.splitLine,!0),splitArea:YI(HI.splitArea,!0),indicator:[]},e}(zp),UI=["axisLine","axisTickLabel","axisName"],ZI=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.render=function(t,e,n){this.group.removeAll(),this._buildAxes(t),this._buildSplitLineAndArea(t)},e.prototype._buildAxes=function(t){var e=t.coordinateSystem;E(z(e.getIndicatorAxes(),(function(t){var n=t.model.get("showName")?t.name:"";return new cI(t.model,{axisName:n,position:[e.cx,e.cy],rotation:t.angle,labelDirection:-1,tickDirection:-1,nameDirection:1})})),(function(t){E(UI,t.add,t),this.group.add(t.getGroup())}),this)},e.prototype._buildSplitLineAndArea=function(t){var e=t.coordinateSystem,n=e.getIndicatorAxes();if(n.length){var i=t.get("shape"),r=t.getModel("splitLine"),o=t.getModel("splitArea"),a=r.getModel("lineStyle"),s=o.getModel("areaStyle"),l=r.get("show"),u=o.get("show"),h=a.get("color"),c=s.get("color"),p=Y(h)?h:[h],d=Y(c)?c:[c],f=[],g=[];if("circle"===i)for(var y=n[0].getTicksCoords(),v=e.cx,m=e.cy,x=0;x3?1.4:r>1?1.2:1.1;eT(this,"zoom","zoomOnMouseWheel",t,{scale:i>0?s:1/s,originX:o,originY:a,isAvailableBehavior:null})}if(n){var l=Math.abs(i);eT(this,"scrollMove","moveOnMouseWheel",t,{scrollDelta:(i>0?1:-1)*(l>3?.4:l>1?.15:.05),originX:o,originY:a,isAvailableBehavior:null})}}},e.prototype._pinchHandler=function(t){JI(this._zr,"globalPan")||eT(this,"zoom",null,t,{scale:t.pinchScale>1?1.1:1/1.1,originX:t.pinchX,originY:t.pinchY,isAvailableBehavior:null})},e}(jt);function eT(t,e,n,i,r){t.pointerChecker&&t.pointerChecker(i,r.originX,r.originY)&&(de(i.event),nT(t,e,n,i,r))}function nT(t,e,n,i,r){r.isAvailableBehavior=W(iT,null,n,i),t.trigger(e,r)}function iT(t,e,n){var i=n[t];return!t||i&&(!U(i)||e.event[i+"Key"])}function rT(t,e,n){var i=t.target;i.x+=e,i.y+=n,i.dirty()}function oT(t,e,n,i){var r=t.target,o=t.zoomLimit,a=t.zoom=t.zoom||1;if(a*=e,o){var s=o.min||0,l=o.max||1/0;a=Math.max(Math.min(l,a),s)}var u=a/t.zoom;t.zoom=a,r.x-=(n-r.x)*(u-1),r.y-=(i-r.y)*(u-1),r.scaleX*=u,r.scaleY*=u,r.dirty()}var aT,sT={axisPointer:1,tooltip:1,brush:1};function lT(t,e,n){var i=e.getComponentByElement(t.topTarget),r=i&&i.coordinateSystem;return i&&i!==n&&!sT.hasOwnProperty(i.mainType)&&r&&r.model!==n}function uT(t){U(t)&&(t=(new DOMParser).parseFromString(t,"text/xml"));var e=t;for(9===e.nodeType&&(e=e.firstChild);"svg"!==e.nodeName.toLowerCase()||1!==e.nodeType;)e=e.nextSibling;return e}var hT={fill:"fill",stroke:"stroke","stroke-width":"lineWidth",opacity:"opacity","fill-opacity":"fillOpacity","stroke-opacity":"strokeOpacity","stroke-dasharray":"lineDash","stroke-dashoffset":"lineDashOffset","stroke-linecap":"lineCap","stroke-linejoin":"lineJoin","stroke-miterlimit":"miterLimit","font-family":"fontFamily","font-size":"fontSize","font-style":"fontStyle","font-weight":"fontWeight","text-anchor":"textAlign",visibility:"visibility",display:"display"},cT=G(hT),pT={"alignment-baseline":"textBaseline","stop-color":"stopColor"},dT=G(pT),fT=function(){function t(){this._defs={},this._root=null}return t.prototype.parse=function(t,e){e=e||{};var n=uT(t);this._defsUsePending=[];var i=new Br;this._root=i;var r=[],o=n.getAttribute("viewBox")||"",a=parseFloat(n.getAttribute("width")||e.width),s=parseFloat(n.getAttribute("height")||e.height);isNaN(a)&&(a=null),isNaN(s)&&(s=null),_T(n,i,null,!0,!1);for(var l,u,h=n.firstChild;h;)this._parseNode(h,i,r,null,!1,!1),h=h.nextSibling;if(function(t,e){for(var n=0;n=4&&(l={x:parseFloat(c[0]||0),y:parseFloat(c[1]||0),width:parseFloat(c[2]),height:parseFloat(c[3])})}if(l&&null!=a&&null!=s&&(u=AT(l,{x:0,y:0,width:a,height:s}),!e.ignoreViewBox)){var p=i;(i=new Br).add(p),p.scaleX=p.scaleY=u.scale,p.x=u.x,p.y=u.y}return e.ignoreRootClip||null==a||null==s||i.setClipPath(new Ws({shape:{x:0,y:0,width:a,height:s}})),{root:i,width:a,height:s,viewBoxRect:l,viewBoxTransform:u,named:r}},t.prototype._parseNode=function(t,e,n,i,r,o){var a,s=t.nodeName.toLowerCase(),l=i;if("defs"===s&&(r=!0),"text"===s&&(o=!0),"defs"===s||"switch"===s)a=e;else{if(!r){var u=aT[s];if(u&&_t(aT,s)){a=u.call(this,t,e);var h=t.getAttribute("name");if(h){var c={name:h,namedFrom:null,svgNodeTagLower:s,el:a};n.push(c),"g"===s&&(l=c)}else i&&n.push({name:i.name,namedFrom:i,svgNodeTagLower:s,el:a});e.add(a)}}var p=gT[s];if(p&&_t(gT,s)){var d=p.call(this,t),f=t.getAttribute("id");f&&(this._defs[f]=d)}}if(a&&a.isGroup)for(var g=t.firstChild;g;)1===g.nodeType?this._parseNode(g,a,n,l,r,o):3===g.nodeType&&o&&this._parseText(g,a),g=g.nextSibling},t.prototype._parseText=function(t,e){var n=new Ps({style:{text:t.textContent},silent:!0,x:this._textX||0,y:this._textY||0});mT(e,n),_T(t,n,this._defsUsePending,!1,!1),function(t,e){var n=e.__selfStyle;if(n){var i=n.textBaseline,r=i;i&&"auto"!==i?"baseline"===i?r="alphabetic":"before-edge"===i||"text-before-edge"===i?r="top":"after-edge"===i||"text-after-edge"===i?r="bottom":"central"!==i&&"mathematical"!==i||(r="middle"):r="alphabetic",t.style.textBaseline=r}var o=e.__inheritedStyle;if(o){var a=o.textAlign,s=a;a&&("middle"===a&&(s="center"),t.style.textAlign=s)}}(n,e);var i=n.style,r=i.fontSize;r&&r<9&&(i.fontSize=9,n.scaleX*=r/9,n.scaleY*=r/9);var o=(i.fontSize||i.fontFamily)&&[i.fontStyle,i.fontWeight,(i.fontSize||12)+"px",i.fontFamily||"sans-serif"].join(" ");i.font=o;var a=n.getBoundingRect();return this._textX+=a.width,e.add(n),n},t.internalField=void(aT={g:function(t,e){var n=new Br;return mT(e,n),_T(t,n,this._defsUsePending,!1,!1),n},rect:function(t,e){var n=new Ws;return mT(e,n),_T(t,n,this._defsUsePending,!1,!1),n.setShape({x:parseFloat(t.getAttribute("x")||"0"),y:parseFloat(t.getAttribute("y")||"0"),width:parseFloat(t.getAttribute("width")||"0"),height:parseFloat(t.getAttribute("height")||"0")}),n.silent=!0,n},circle:function(t,e){var n=new Su;return mT(e,n),_T(t,n,this._defsUsePending,!1,!1),n.setShape({cx:parseFloat(t.getAttribute("cx")||"0"),cy:parseFloat(t.getAttribute("cy")||"0"),r:parseFloat(t.getAttribute("r")||"0")}),n.silent=!0,n},line:function(t,e){var n=new Ku;return mT(e,n),_T(t,n,this._defsUsePending,!1,!1),n.setShape({x1:parseFloat(t.getAttribute("x1")||"0"),y1:parseFloat(t.getAttribute("y1")||"0"),x2:parseFloat(t.getAttribute("x2")||"0"),y2:parseFloat(t.getAttribute("y2")||"0")}),n.silent=!0,n},ellipse:function(t,e){var n=new Iu;return mT(e,n),_T(t,n,this._defsUsePending,!1,!1),n.setShape({cx:parseFloat(t.getAttribute("cx")||"0"),cy:parseFloat(t.getAttribute("cy")||"0"),rx:parseFloat(t.getAttribute("rx")||"0"),ry:parseFloat(t.getAttribute("ry")||"0")}),n.silent=!0,n},polygon:function(t,e){var n,i=t.getAttribute("points");i&&(n=xT(i));var r=new Xu({shape:{points:n||[]},silent:!0});return mT(e,r),_T(t,r,this._defsUsePending,!1,!1),r},polyline:function(t,e){var n,i=t.getAttribute("points");i&&(n=xT(i));var r=new Zu({shape:{points:n||[]},silent:!0});return mT(e,r),_T(t,r,this._defsUsePending,!1,!1),r},image:function(t,e){var n=new Ns;return mT(e,n),_T(t,n,this._defsUsePending,!1,!1),n.setStyle({image:t.getAttribute("xlink:href")||t.getAttribute("href"),x:+t.getAttribute("x"),y:+t.getAttribute("y"),width:+t.getAttribute("width"),height:+t.getAttribute("height")}),n.silent=!0,n},text:function(t,e){var n=t.getAttribute("x")||"0",i=t.getAttribute("y")||"0",r=t.getAttribute("dx")||"0",o=t.getAttribute("dy")||"0";this._textX=parseFloat(n)+parseFloat(r),this._textY=parseFloat(i)+parseFloat(o);var a=new Br;return mT(e,a),_T(t,a,this._defsUsePending,!1,!0),a},tspan:function(t,e){var n=t.getAttribute("x"),i=t.getAttribute("y");null!=n&&(this._textX=parseFloat(n)),null!=i&&(this._textY=parseFloat(i));var r=t.getAttribute("dx")||"0",o=t.getAttribute("dy")||"0",a=new Br;return mT(e,a),_T(t,a,this._defsUsePending,!1,!0),this._textX+=parseFloat(r),this._textY+=parseFloat(o),a},path:function(t,e){var n=_u(t.getAttribute("d")||"");return mT(e,n),_T(t,n,this._defsUsePending,!1,!1),n.silent=!0,n}}),t}(),gT={lineargradient:function(t){var e=parseInt(t.getAttribute("x1")||"0",10),n=parseInt(t.getAttribute("y1")||"0",10),i=parseInt(t.getAttribute("x2")||"10",10),r=parseInt(t.getAttribute("y2")||"0",10),o=new oh(e,n,i,r);return yT(t,o),vT(t,o),o},radialgradient:function(t){var e=parseInt(t.getAttribute("cx")||"0",10),n=parseInt(t.getAttribute("cy")||"0",10),i=parseInt(t.getAttribute("r")||"0",10),r=new ah(e,n,i);return yT(t,r),vT(t,r),r}};function yT(t,e){"userSpaceOnUse"===t.getAttribute("gradientUnits")&&(e.global=!0)}function vT(t,e){for(var n=t.firstChild;n;){if(1===n.nodeType&&"stop"===n.nodeName.toLocaleLowerCase()){var i=n.getAttribute("offset"),r=void 0;r=i&&i.indexOf("%")>0?parseInt(i,10)/100:i?parseFloat(i):0;var o={};DT(n,o,o);var a=o.stopColor||n.getAttribute("stop-color")||"#000000";e.colorStops.push({offset:r,color:a})}n=n.nextSibling}}function mT(t,e){t&&t.__inheritedStyle&&(e.__inheritedStyle||(e.__inheritedStyle={}),k(e.__inheritedStyle,t.__inheritedStyle))}function xT(t){for(var e=MT(t),n=[],i=0;i0;o-=2){var a=i[o],s=i[o-1],l=MT(a);switch(r=r||[1,0,0,1,0,0],s){case"translate":we(r,r,[parseFloat(l[0]),parseFloat(l[1]||"0")]);break;case"scale":Me(r,r,[parseFloat(l[0]),parseFloat(l[1]||l[0])]);break;case"rotate":Se(r,r,-parseFloat(l[0])*TT,[parseFloat(l[1]||"0"),parseFloat(l[2]||"0")]);break;case"skewX":be(r,[1,0,Math.tan(parseFloat(l[0])*TT),1,0,0],r);break;case"skewY":be(r,[1,Math.tan(parseFloat(l[0])*TT),0,1,0,0],r);break;case"matrix":r[0]=parseFloat(l[0]),r[1]=parseFloat(l[1]),r[2]=parseFloat(l[2]),r[3]=parseFloat(l[3]),r[4]=parseFloat(l[4]),r[5]=parseFloat(l[5])}}e.setLocalTransform(r)}}(t,e),DT(t,a,s),i||function(t,e,n){for(var i=0;i0,f={api:n,geo:s,mapOrGeoModel:t,data:a,isVisualEncodedByVisualMap:d,isGeo:o,transformInfoRaw:c};"geoJSON"===s.resourceType?this._buildGeoJSON(f):"geoSVG"===s.resourceType&&this._buildSVG(f),this._updateController(t,e,n),this._updateMapSelectHandler(t,l,n,i)},t.prototype._buildGeoJSON=function(t){var e=this._regionsGroupByName=yt(),n=yt(),i=this._regionsGroup,r=t.transformInfoRaw,o=t.mapOrGeoModel,a=t.data,s=t.geo.projection,l=s&&s.stream;function u(t,e){return e&&(t=e(t)),t&&[t[0]*r.scaleX+r.x,t[1]*r.scaleY+r.y]}function h(t){for(var e=[],n=!l&&s&&s.project,i=0;i=0)&&(p=r);var d=a?{normal:{align:"center",verticalAlign:"middle"}}:null;ic(e,rc(i),{labelFetcher:p,labelDataIndex:c,defaultText:n},d);var f=e.getTextContent();if(f&&(KT(f).ignore=f.ignore,e.textConfig&&a)){var g=e.getBoundingRect().clone();e.textConfig.layoutRect=g,e.textConfig.position=[(a[0]-g.x)/g.width*100+"%",(a[1]-g.y)/g.height*100+"%"]}e.disableLabelAnimation=!0}else e.removeTextContent(),e.removeTextConfig(),e.disableLabelAnimation=null}function nC(t,e,n,i,r,o){t.data?t.data.setItemGraphicEl(o,e):rl(e).eventData={componentType:"geo",componentIndex:r.componentIndex,geoIndex:r.componentIndex,name:n,region:i&&i.option||{}}}function iC(t,e,n,i,r){t.data||Kh({el:e,componentModel:r,itemName:n,itemTooltipOption:i.get("tooltip")})}function rC(t,e,n,i,r){e.highDownSilentOnTouch=!!r.get("selectedMode");var o=i.getModel("emphasis"),a=o.get("focus");return Zl(e,a,o.get("blurScope"),o.get("disabled")),t.isGeo&&function(t,e,n){var i=rl(t);i.componentMainType=e.mainType,i.componentIndex=e.componentIndex,i.componentHighDownName=n}(e,r,n),a}function oC(t,e,n){var i,r=[];function o(){i=[]}function a(){i.length&&(r.push(i),i=[])}var s=e({polygonStart:o,polygonEnd:a,lineStart:o,lineEnd:a,point:function(t,e){isFinite(t)&&isFinite(e)&&i.push([t,e])},sphere:function(){}});return!n&&s.polygonStart(),E(t,(function(t){s.lineStart();for(var e=0;e-1&&(n.style.stroke=n.style.fill,n.style.fill="#fff",n.style.lineWidth=2),n},e.type="series.map",e.dependencies=["geo"],e.layoutMode="box",e.defaultOption={z:2,coordinateSystem:"geo",map:"",left:"center",top:"center",aspectScale:null,showLegendSymbol:!0,boundingCoords:null,center:null,zoom:1,scaleLimit:null,selectedMode:!0,label:{show:!1,color:"#000"},itemStyle:{borderWidth:.5,borderColor:"#444",areaColor:"#eee"},emphasis:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{areaColor:"rgba(255,215,0,0.8)"}},select:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{color:"rgba(255,215,0,0.8)"}},nameProperty:"name"},e}(bg);function lC(t){var e={};t.eachSeriesByType("map",(function(t){var n=t.getHostGeoModel(),i=n?"o"+n.id:"i"+t.getMapType();(e[i]=e[i]||[]).push(t)})),E(e,(function(t,e){for(var n,i,r,o=(n=z(t,(function(t){return t.getData()})),i=t[0].get("mapValueCalculation"),r={},E(n,(function(t){t.each(t.mapDimension("value"),(function(e,n){var i="ec-"+t.getName(n);r[i]=r[i]||[],isNaN(e)||r[i].push(e)}))})),n[0].map(n[0].mapDimension("value"),(function(t,e){for(var o="ec-"+n[0].getName(e),a=0,s=1/0,l=-1/0,u=r[o].length,h=0;h1?(d.width=p,d.height=p/x):(d.height=p,d.width=p*x),d.y=c[1]-d.height/2,d.x=c[0]-d.width/2;else{var b=t.getBoxLayoutParams();b.aspect=x,d=kp(b,{width:v,height:m})}this.setViewRect(d.x,d.y,d.width,d.height),this.setCenter(t.get("center"),e),this.setZoom(t.get("zoom"))}R(gC,cC);var mC=function(){function t(){this.dimensions=fC}return t.prototype.create=function(t,e){var n=[];function i(t){return{nameProperty:t.get("nameProperty"),aspectScale:t.get("aspectScale"),projection:t.get("projection")}}t.eachComponent("geo",(function(t,r){var o=t.get("map"),a=new gC(o+r,o,A({nameMap:t.get("nameMap")},i(t)));a.zoomLimit=t.get("scaleLimit"),n.push(a),t.coordinateSystem=a,a.model=t,a.resize=vC,a.resize(t,e)})),t.eachSeries((function(t){if("geo"===t.get("coordinateSystem")){var e=t.get("geoIndex")||0;t.coordinateSystem=n[e]}}));var r={};return t.eachSeriesByType("map",(function(t){if(!t.getHostGeoModel()){var e=t.getMapType();r[e]=r[e]||[],r[e].push(t)}})),E(r,(function(t,r){var o=z(t,(function(t){return t.get("nameMap")})),a=new gC(r,r,A({nameMap:D(o)},i(t[0])));a.zoomLimit=it.apply(null,z(t,(function(t){return t.get("scaleLimit")}))),n.push(a),a.resize=vC,a.resize(t[0],e),E(t,(function(t){t.coordinateSystem=a,function(t,e){E(e.get("geoCoord"),(function(e,n){t.addGeoCoord(n,e)}))}(a,t)}))})),n},t.prototype.getFilledRegions=function(t,e,n,i){for(var r=(t||[]).slice(),o=yt(),a=0;a=0;){var o=e[n];o.hierNode.prelim+=i,o.hierNode.modifier+=i,r+=o.hierNode.change,i+=o.hierNode.shift+r}}(t);var o=(n[0].hierNode.prelim+n[n.length-1].hierNode.prelim)/2;r?(t.hierNode.prelim=r.hierNode.prelim+e(t,r),t.hierNode.modifier=t.hierNode.prelim-o):t.hierNode.prelim=o}else r&&(t.hierNode.prelim=r.hierNode.prelim+e(t,r));t.parentNode.hierNode.defaultAncestor=function(t,e,n,i){if(e){for(var r=t,o=t,a=o.parentNode.children[0],s=e,l=r.hierNode.modifier,u=o.hierNode.modifier,h=a.hierNode.modifier,c=s.hierNode.modifier;s=kC(s),o=LC(o),s&&o;){r=kC(r),a=LC(a),r.hierNode.ancestor=t;var p=s.hierNode.prelim+c-o.hierNode.prelim-u+i(s,o);p>0&&(OC(PC(s,t,n),t,p),u+=p,l+=p),c+=s.hierNode.modifier,u+=o.hierNode.modifier,l+=r.hierNode.modifier,h+=a.hierNode.modifier}s&&!kC(r)&&(r.hierNode.thread=s,r.hierNode.modifier+=c-l),o&&!LC(a)&&(a.hierNode.thread=o,a.hierNode.modifier+=u-h,n=t)}return n}(t,r,t.parentNode.hierNode.defaultAncestor||i[0],e)}function CC(t){var e=t.hierNode.prelim+t.parentNode.hierNode.modifier;t.setLayout({x:e},!0),t.hierNode.modifier+=t.parentNode.hierNode.modifier}function DC(t){return arguments.length?t:RC}function AC(t,e){return t-=Math.PI/2,{x:e*Math.cos(t),y:e*Math.sin(t)}}function kC(t){var e=t.children;return e.length&&t.isExpand?e[e.length-1]:t.hierNode.thread}function LC(t){var e=t.children;return e.length&&t.isExpand?e[0]:t.hierNode.thread}function PC(t,e,n){return t.hierNode.ancestor.parentNode===e.parentNode?t.hierNode.ancestor:n}function OC(t,e,n){var i=n/(e.hierNode.i-t.hierNode.i);e.hierNode.change-=i,e.hierNode.shift+=n,e.hierNode.modifier+=n,e.hierNode.prelim+=n,t.hierNode.change+=i}function RC(t,e){return t.parentNode===e.parentNode?1:2}var NC=function(){this.parentPoint=[],this.childPoints=[]},EC=function(t){function e(e){return t.call(this,e)||this}return n(e,t),e.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},e.prototype.getDefaultShape=function(){return new NC},e.prototype.buildPath=function(t,e){var n=e.childPoints,i=n.length,r=e.parentPoint,o=n[0],a=n[i-1];if(1===i)return t.moveTo(r[0],r[1]),void t.lineTo(o[0],o[1]);var s=e.orient,l="TB"===s||"BT"===s?0:1,u=1-l,h=$r(e.forkPosition,1),c=[];c[l]=r[l],c[u]=r[u]+(a[u]-r[u])*h,t.moveTo(r[0],r[1]),t.lineTo(c[0],c[1]),t.moveTo(o[0],o[1]),c[l]=o[l],t.lineTo(c[0],c[1]),c[l]=a[l],t.lineTo(c[0],c[1]),t.lineTo(a[0],a[1]);for(var p=1;pm.x)||(_-=Math.PI);var S=b?"left":"right",M=s.getModel("label"),I=M.get("rotate"),T=I*(Math.PI/180),C=y.getTextContent();C&&(y.setTextConfig({position:M.get("position")||S,rotation:null==I?-_:T,origin:"center"}),C.setStyle("verticalAlign","middle"))}var D=s.get(["emphasis","focus"]),A="relative"===D?vt(a.getAncestorsIndices(),a.getDescendantIndices()):"ancestor"===D?a.getAncestorsIndices():"descendant"===D?a.getDescendantIndices():null;A&&(rl(n).focus=A),function(t,e,n,i,r,o,a,s){var l=e.getModel(),u=t.get("edgeShape"),h=t.get("layout"),c=t.getOrient(),p=t.get(["lineStyle","curveness"]),d=t.get("edgeForkPosition"),f=l.getModel("lineStyle").getLineStyle(),g=i.__edge;if("curve"===u)e.parentNode&&e.parentNode!==n&&(g||(g=i.__edge=new th({shape:HC(h,c,p,r,r)})),vh(g,{shape:HC(h,c,p,o,a)},t));else if("polyline"===u)if("orthogonal"===h){if(e!==n&&e.children&&0!==e.children.length&&!0===e.isExpand){for(var y=e.children,v=[],m=0;me&&(e=i.height)}this.height=e+1},t.prototype.getNodeById=function(t){if(this.getId()===t)return this;for(var e=0,n=this.children,i=n.length;e=0&&this.hostTree.data.setItemLayout(this.dataIndex,t,e)},t.prototype.getLayout=function(){return this.hostTree.data.getItemLayout(this.dataIndex)},t.prototype.getModel=function(t){if(!(this.dataIndex<0))return this.hostTree.data.getItemModel(this.dataIndex).getModel(t)},t.prototype.getLevelModel=function(){return(this.hostTree.levelModels||[])[this.depth]},t.prototype.setVisual=function(t,e){this.dataIndex>=0&&this.hostTree.data.setItemVisual(this.dataIndex,t,e)},t.prototype.getVisual=function(t){return this.hostTree.data.getItemVisual(this.dataIndex,t)},t.prototype.getRawIndex=function(){return this.hostTree.data.getRawIndex(this.dataIndex)},t.prototype.getId=function(){return this.hostTree.data.getId(this.dataIndex)},t.prototype.getChildIndex=function(){if(this.parentNode){for(var t=this.parentNode.children,e=0;e=0){var i=n.getData().tree.root,r=t.targetNode;if(U(r)&&(r=i.getNodeById(r)),r&&i.contains(r))return{node:r};var o=t.targetNodeId;if(null!=o&&(r=i.getNodeById(o)))return{node:r}}}function nD(t){for(var e=[];t;)(t=t.parentNode)&&e.push(t);return e.reverse()}function iD(t,e){return P(nD(t),e)>=0}function rD(t,e){for(var n=[];t;){var i=t.dataIndex;n.push({name:t.name,dataIndex:i,value:e.getRawValue(i)}),t=t.parentNode}return n.reverse(),n}var oD=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.hasSymbolVisual=!0,e.ignoreStyleOnData=!0,e}return n(e,t),e.prototype.getInitialData=function(t){var e={name:t.name,children:t.data},n=t.leaves||{},i=new Cc(n,this,this.ecModel),r=tD.createTree(e,this,(function(t){t.wrapMethod("getItemModel",(function(t,e){var n=r.getNodeByDataIndex(e);return n&&n.children.length&&n.isExpand||(t.parentModel=i),t}))}));var o=0;r.eachNode("preorder",(function(t){t.depth>o&&(o=t.depth)}));var a=t.expandAndCollapse&&t.initialTreeDepth>=0?t.initialTreeDepth:o;return r.root.eachNode("preorder",(function(t){var e=t.hostTree.data.getRawDataItem(t.dataIndex);t.isExpand=e&&null!=e.collapsed?!e.collapsed:t.depth<=a})),r.data},e.prototype.getOrient=function(){var t=this.get("orient");return"horizontal"===t?t="LR":"vertical"===t&&(t="TB"),t},e.prototype.setZoom=function(t){this.option.zoom=t},e.prototype.setCenter=function(t){this.option.center=t},e.prototype.formatTooltip=function(t,e,n){for(var i=this.getData().tree,r=i.root.children[0],o=i.getNodeByDataIndex(t),a=o.getValue(),s=o.name;o&&o!==r;)s=o.parentNode.name+"."+s,o=o.parentNode;return og("nameValue",{name:s,value:a,noValue:isNaN(a)||null==a})},e.prototype.getDataParams=function(e){var n=t.prototype.getDataParams.apply(this,arguments),i=this.getData().tree.getNodeByDataIndex(e);return n.treeAncestors=rD(i,this),n.collapsed=!i.isExpand,n},e.type="series.tree",e.layoutMode="box",e.defaultOption={z:2,coordinateSystem:"view",left:"12%",top:"12%",right:"12%",bottom:"12%",layout:"orthogonal",edgeShape:"curve",edgeForkPosition:"50%",roam:!1,nodeScaleRatio:.4,center:null,zoom:1,orient:"LR",symbol:"emptyCircle",symbolSize:7,expandAndCollapse:!0,initialTreeDepth:2,lineStyle:{color:"#ccc",width:1.5,curveness:.5},itemStyle:{color:"lightsteelblue",borderWidth:1.5},label:{show:!0},animationEasing:"linear",animationDuration:700,animationDurationUpdate:500},e}(bg);function aD(t,e){for(var n,i=[t];n=i.pop();)if(e(n),n.isExpand){var r=n.children;if(r.length)for(var o=r.length-1;o>=0;o--)i.push(r[o])}}function sD(t,e){t.eachSeriesByType("tree",(function(t){!function(t,e){var n=function(t,e){return kp(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}(t,e);t.layoutInfo=n;var i=t.get("layout"),r=0,o=0,a=null;"radial"===i?(r=2*Math.PI,o=Math.min(n.height,n.width)/2,a=DC((function(t,e){return(t.parentNode===e.parentNode?1:2)/t.depth}))):(r=n.width,o=n.height,a=DC());var s=t.getData().tree.root,l=s.children[0];if(l){!function(t){var e=t;e.hierNode={defaultAncestor:null,ancestor:e,prelim:0,modifier:0,change:0,shift:0,i:0,thread:null};for(var n,i,r=[e];n=r.pop();)if(i=n.children,n.isExpand&&i.length)for(var o=i.length-1;o>=0;o--){var a=i[o];a.hierNode={defaultAncestor:null,ancestor:a,prelim:0,modifier:0,change:0,shift:0,i:o,thread:null},r.push(a)}}(s),function(t,e,n){for(var i,r=[t],o=[];i=r.pop();)if(o.push(i),i.isExpand){var a=i.children;if(a.length)for(var s=0;sh.getLayout().x&&(h=t),t.depth>c.depth&&(c=t)}));var p=u===h?1:a(u,h)/2,d=p-u.getLayout().x,f=0,g=0,y=0,v=0;if("radial"===i)f=r/(h.getLayout().x+p+d),g=o/(c.depth-1||1),aD(l,(function(t){y=(t.getLayout().x+d)*f,v=(t.depth-1)*g;var e=AC(y,v);t.setLayout({x:e.x,y:e.y,rawX:y,rawY:v},!0)}));else{var m=t.getOrient();"RL"===m||"LR"===m?(g=o/(h.getLayout().x+p+d),f=r/(c.depth-1||1),aD(l,(function(t){v=(t.getLayout().x+d)*g,y="LR"===m?(t.depth-1)*f:r-(t.depth-1)*f,t.setLayout({x:y,y:v},!0)}))):"TB"!==m&&"BT"!==m||(f=r/(h.getLayout().x+p+d),g=o/(c.depth-1||1),aD(l,(function(t){y=(t.getLayout().x+d)*f,v="TB"===m?(t.depth-1)*g:o-(t.depth-1)*g,t.setLayout({x:y,y:v},!0)})))}}}(t,e)}))}function lD(t){t.eachSeriesByType("tree",(function(t){var e=t.getData();e.tree.eachNode((function(t){var n=t.getModel().getModel("itemStyle").getItemStyle();A(e.ensureUniqueItemVisual(t.dataIndex,"style"),n)}))}))}var uD=["treemapZoomToNode","treemapRender","treemapMove"];function hD(t){var e=t.getData().tree,n={};e.eachNode((function(e){for(var i=e;i&&i.depth>1;)i=i.parentNode;var r=pd(t.ecModel,i.name||i.dataIndex+"",n);e.setVisual("decal",r)}))}var cD=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.preventUsingHoverLayer=!0,n}return n(e,t),e.prototype.getInitialData=function(t,e){var n={name:t.name,children:t.data};pD(n);var i=t.levels||[],r=this.designatedVisualItemStyle={},o=new Cc({itemStyle:r},this,e);i=t.levels=function(t,e){var n,i,r=To(e.get("color")),o=To(e.get(["aria","decal","decals"]));if(!r)return;t=t||[],E(t,(function(t){var e=new Cc(t),r=e.get("color"),o=e.get("decal");(e.get(["itemStyle","color"])||r&&"none"!==r)&&(n=!0),(e.get(["itemStyle","decal"])||o&&"none"!==o)&&(i=!0)}));var a=t[0]||(t[0]={});n||(a.color=r.slice());!i&&o&&(a.decal=o.slice());return t}(i,e);var a=z(i||[],(function(t){return new Cc(t,o,e)}),this),s=tD.createTree(n,this,(function(t){t.wrapMethod("getItemModel",(function(t,e){var n=s.getNodeByDataIndex(e),i=n?a[n.depth]:null;return t.parentModel=i||o,t}))}));return s.data},e.prototype.optionUpdated=function(){this.resetViewRoot()},e.prototype.formatTooltip=function(t,e,n){var i=this.getData(),r=this.getRawValue(t);return og("nameValue",{name:i.getName(t),value:r})},e.prototype.getDataParams=function(e){var n=t.prototype.getDataParams.apply(this,arguments),i=this.getData().tree.getNodeByDataIndex(e);return n.treeAncestors=rD(i,this),n.treePathInfo=n.treeAncestors,n},e.prototype.setLayoutInfo=function(t){this.layoutInfo=this.layoutInfo||{},A(this.layoutInfo,t)},e.prototype.mapIdToIndex=function(t){var e=this._idIndexMap;e||(e=this._idIndexMap=yt(),this._idIndexMapCount=0);var n=e.get(t);return null==n&&e.set(t,n=this._idIndexMapCount++),n},e.prototype.getViewRoot=function(){return this._viewRoot},e.prototype.resetViewRoot=function(t){t?this._viewRoot=t:t=this._viewRoot;var e=this.getRawData().tree.root;t&&(t===e||e.contains(t))||(this._viewRoot=e)},e.prototype.enableAriaDecal=function(){hD(this)},e.type="series.treemap",e.layoutMode="box",e.defaultOption={progressive:0,left:"center",top:"middle",width:"80%",height:"80%",sort:!0,clipWindow:"origin",squareRatio:.5*(1+Math.sqrt(5)),leafDepth:null,drillDownIcon:"▶",zoomToNodeRatio:.1024,roam:!0,nodeClick:"zoomToNode",animation:!0,animationDurationUpdate:900,animationEasing:"quinticInOut",breadcrumb:{show:!0,height:22,left:"center",top:"bottom",emptyItemWidth:25,itemStyle:{color:"rgba(0,0,0,0.7)",textStyle:{color:"#fff"}},emphasis:{itemStyle:{color:"rgba(0,0,0,0.9)"}}},label:{show:!0,distance:0,padding:5,position:"inside",color:"#fff",overflow:"truncate"},upperLabel:{show:!1,position:[0,"50%"],height:20,overflow:"truncate",verticalAlign:"middle"},itemStyle:{color:null,colorAlpha:null,colorSaturation:null,borderWidth:0,gapWidth:0,borderColor:"#fff",borderColorSaturation:null},emphasis:{upperLabel:{show:!0,position:[0,"50%"],overflow:"truncate",verticalAlign:"middle"}},visualDimension:0,visualMin:null,visualMax:null,color:[],colorAlpha:null,colorSaturation:null,colorMappingBy:"index",visibleMin:10,childrenVisibleMin:null,levels:[]},e}(bg);function pD(t){var e=0;E(t.children,(function(t){pD(t);var n=t.value;Y(n)&&(n=n[0]),e+=n}));var n=t.value;Y(n)&&(n=n[0]),(null==n||isNaN(n))&&(n=e),n<0&&(n=0),Y(t.value)?t.value[0]=n:t.value=n}var dD=function(){function t(t){this.group=new Br,t.add(this.group)}return t.prototype.render=function(t,e,n,i){var r=t.getModel("breadcrumb"),o=this.group;if(o.removeAll(),r.get("show")&&n){var a=r.getModel("itemStyle"),s=r.getModel("emphasis"),l=a.getModel("textStyle"),u=s.getModel(["itemStyle","textStyle"]),h={pos:{left:r.get("left"),right:r.get("right"),top:r.get("top"),bottom:r.get("bottom")},box:{width:e.getWidth(),height:e.getHeight()},emptyItemWidth:r.get("emptyItemWidth"),totalWidth:0,renderList:[]};this._prepare(n,h,l),this._renderContent(t,h,a,s,l,u,i),Lp(o,h.pos,h.box)}},t.prototype._prepare=function(t,e,n){for(var i=t;i;i=i.parentNode){var r=Ro(i.getModel().get("name"),""),o=n.getTextRect(r),a=Math.max(o.width+16,e.emptyItemWidth);e.totalWidth+=a+8,e.renderList.push({node:i,text:r,width:a})}},t.prototype._renderContent=function(t,e,n,i,r,o,a){for(var s,l,u,h,c,p,d,f,g,y=0,v=e.emptyItemWidth,m=t.get(["breadcrumb","height"]),x=(s=e.pos,l=e.box,h=l.width,c=l.height,p=$r(s.left,h),d=$r(s.top,c),f=$r(s.right,h),g=$r(s.bottom,c),(isNaN(p)||isNaN(parseFloat(s.left)))&&(p=0),(isNaN(f)||isNaN(parseFloat(s.right)))&&(f=h),(isNaN(d)||isNaN(parseFloat(s.top)))&&(d=0),(isNaN(g)||isNaN(parseFloat(s.bottom)))&&(g=c),u=vp(u||0),{width:Math.max(f-p-u[1]-u[3],0),height:Math.max(g-d-u[0]-u[2],0)}),_=e.totalWidth,b=e.renderList,w=i.getModel("itemStyle").getItemStyle(),S=b.length-1;S>=0;S--){var M=b[S],I=M.node,T=M.width,C=M.text;_>x.width&&(_-=T-v,T=v,C=null);var D=new Xu({shape:{points:fD(y,0,T,m,S===b.length-1,0===S)},style:k(n.getItemStyle(),{lineJoin:"bevel"}),textContent:new Xs({style:oc(r,{text:C})}),textConfig:{position:"inside"},z2:1e5,onclick:H(a,I)});D.disableLabelAnimation=!0,D.getTextContent().ensureState("emphasis").style=oc(o,{text:C}),D.ensureState("emphasis").style=w,Zl(D,i.get("focus"),i.get("blurScope"),i.get("disabled")),this.group.add(D),gD(D,t,I),y+=T+8}},t.prototype.remove=function(){this.group.removeAll()},t}();function fD(t,e,n,i,r,o){var a=[[r?t:t-5,e],[t+n,e],[t+n,e+i],[r?t:t-5,e+i]];return!o&&a.splice(2,0,[t+n+5,e+i/2]),!r&&a.push([t,e+i/2]),a}function gD(t,e,n){rl(t).eventData={componentType:"series",componentSubType:"treemap",componentIndex:e.componentIndex,seriesIndex:e.seriesIndex,seriesName:e.name,seriesType:"treemap",selfType:"breadcrumb",nodeData:{dataIndex:n&&n.dataIndex,name:n&&n.name},treePathInfo:n&&rD(n,e)}}var yD=function(){function t(){this._storage=[],this._elExistsMap={}}return t.prototype.add=function(t,e,n,i,r){return!this._elExistsMap[t.id]&&(this._elExistsMap[t.id]=!0,this._storage.push({el:t,target:e,duration:n,delay:i,easing:r}),!0)},t.prototype.finished=function(t){return this._finishedCallback=t,this},t.prototype.start=function(){for(var t=this,e=this._storage.length,n=function(){--e<=0&&(t._storage.length=0,t._elExistsMap={},t._finishedCallback&&t._finishedCallback())},i=0,r=this._storage.length;i3||Math.abs(t.dy)>3)){var e=this.seriesModel.getData().tree.root;if(!e)return;var n=e.getLayout();if(!n)return;this.api.dispatchAction({type:"treemapMove",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:n.x+t.dx,y:n.y+t.dy,width:n.width,height:n.height}})}},e.prototype._onZoom=function(t){var e=t.originX,n=t.originY;if("animating"!==this._state){var i=this.seriesModel.getData().tree.root;if(!i)return;var r=i.getLayout();if(!r)return;var o=new ze(r.x,r.y,r.width,r.height),a=this.seriesModel.layoutInfo,s=[1,0,0,1,0,0];we(s,s,[-(e-=a.x),-(n-=a.y)]),Me(s,s,[t.scale,t.scale]),we(s,s,[e,n]),o.applyTransform(s),this.api.dispatchAction({type:"treemapRender",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:o.x,y:o.y,width:o.width,height:o.height}})}},e.prototype._initEvents=function(t){var e=this;t.on("click",(function(t){if("ready"===e._state){var n=e.seriesModel.get("nodeClick",!0);if(n){var i=e.findTarget(t.offsetX,t.offsetY);if(i){var r=i.node;if(r.getLayout().isLeafRoot)e._rootToNode(i);else if("zoomToNode"===n)e._zoomToNode(i);else if("link"===n){var o=r.hostTree.data.getItemModel(r.dataIndex),a=o.get("link",!0),s=o.get("target",!0)||"blank";a&&Mp(a,s)}}}}}),this)},e.prototype._renderBreadcrumb=function(t,e,n){var i=this;n||(n=null!=t.get("leafDepth",!0)?{node:t.getViewRoot()}:this.findTarget(e.getWidth()/2,e.getHeight()/2))||(n={node:t.getData().tree.root}),(this._breadcrumb||(this._breadcrumb=new dD(this.group))).render(t,e,n.node,(function(e){"animating"!==i._state&&(iD(t.getViewRoot(),e)?i._rootToNode({node:e}):i._zoomToNode({node:e}))}))},e.prototype.remove=function(){this._clearController(),this._containerGroup&&this._containerGroup.removeAll(),this._storage={nodeGroup:[],background:[],content:[]},this._state="ready",this._breadcrumb&&this._breadcrumb.remove()},e.prototype.dispose=function(){this._clearController()},e.prototype._zoomToNode=function(t){this.api.dispatchAction({type:"treemapZoomToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:t.node})},e.prototype._rootToNode=function(t){this.api.dispatchAction({type:"treemapRootToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:t.node})},e.prototype.findTarget=function(t,e){var n;return this.seriesModel.getViewRoot().eachNode({attr:"viewChildren",order:"preorder"},(function(i){var r=this._storage.background[i.getRawIndex()];if(r){var o=r.transformCoordToLocal(t,e),a=r.shape;if(!(a.x<=o[0]&&o[0]<=a.x+a.width&&a.y<=o[1]&&o[1]<=a.y+a.height))return!1;n={node:i,offsetX:o[0],offsetY:o[1]}}}),this),n},e.type="treemap",e}(Og);var ID=E,TD=q,CD=-1,DD=function(){function t(e){var n=e.mappingMethod,i=e.type,r=this.option=T(e);this.type=i,this.mappingMethod=n,this._normalizeData=VD[n];var o=t.visualHandlers[i];this.applyVisual=o.applyVisual,this.getColorMapper=o.getColorMapper,this._normalizedToVisual=o._normalizedToVisual[n],"piecewise"===n?(AD(r),function(t){var e=t.pieceList;t.hasSpecialVisual=!1,E(e,(function(e,n){e.originIndex=n,null!=e.visual&&(t.hasSpecialVisual=!0)}))}(r)):"category"===n?r.categories?function(t){var e=t.categories,n=t.categoryMap={},i=t.visual;if(ID(e,(function(t,e){n[t]=e})),!Y(i)){var r=[];q(i)?ID(i,(function(t,e){var i=n[e];r[null!=i?i:CD]=t})):r[-1]=i,i=zD(t,r)}for(var o=e.length-1;o>=0;o--)null==i[o]&&(delete n[e[o]],e.pop())}(r):AD(r,!0):(lt("linear"!==n||r.dataExtent),AD(r))}return t.prototype.mapValueToVisual=function(t){var e=this._normalizeData(t);return this._normalizedToVisual(e,t)},t.prototype.getNormalizer=function(){return W(this._normalizeData,this)},t.listVisualTypes=function(){return G(t.visualHandlers)},t.isValidType=function(e){return t.visualHandlers.hasOwnProperty(e)},t.eachVisual=function(t,e,n){q(t)?E(t,e,n):e.call(n,t)},t.mapVisual=function(e,n,i){var r,o=Y(e)?[]:q(e)?{}:(r=!0,null);return t.eachVisual(e,(function(t,e){var a=n.call(i,t,e);r?o=a:o[e]=a})),o},t.retrieveVisuals=function(e){var n,i={};return e&&ID(t.visualHandlers,(function(t,r){e.hasOwnProperty(r)&&(i[r]=e[r],n=!0)})),n?i:null},t.prepareVisualTypes=function(t){if(Y(t))t=t.slice();else{if(!TD(t))return[];var e=[];ID(t,(function(t,n){e.push(n)})),t=e}return t.sort((function(t,e){return"color"===e&&"color"!==t&&0===t.indexOf("color")?1:-1})),t},t.dependsOn=function(t,e){return"color"===e?!(!t||0!==t.indexOf(e)):t===e},t.findPieceIndex=function(t,e,n){for(var i,r=1/0,o=0,a=e.length;ou[1]&&(u[1]=l);var h=e.get("colorMappingBy"),c={type:a.name,dataExtent:u,visual:a.range};"color"!==c.type||"index"!==h&&"id"!==h?c.mappingMethod="linear":(c.mappingMethod="category",c.loop=!0);var p=new DD(c);return FD(p).drColorMappingBy=h,p}(0,r,o,0,u,d);E(d,(function(t,e){if(t.depth>=n.length||t===n[t.depth]){var o=function(t,e,n,i,r,o){var a=A({},e);if(r){var s=r.type,l="color"===s&&FD(r).drColorMappingBy,u="index"===l?i:"id"===l?o.mapIdToIndex(n.getId()):n.getValue(t.get("visualDimension"));a[s]=r.mapValueToVisual(u)}return a}(r,u,t,e,f,i);WD(t,o,n,i)}}))}else s=HD(u),h.fill=s}}function HD(t){var e=YD(t,"color");if(e){var n=YD(t,"colorAlpha"),i=YD(t,"colorSaturation");return i&&(e=ni(e,null,null,i)),n&&(e=ii(e,n)),e}}function YD(t,e){var n=t[e];if(null!=n&&"none"!==n)return n}function XD(t,e){var n=t.get(e);return Y(n)&&n.length?{name:e,range:n}:null}var UD=Math.max,ZD=Math.min,jD=it,qD=E,KD=["itemStyle","borderWidth"],$D=["itemStyle","gapWidth"],JD=["upperLabel","show"],QD=["upperLabel","height"],tA={seriesType:"treemap",reset:function(t,e,n,i){var r=n.getWidth(),o=n.getHeight(),a=t.option,s=kp(t.getBoxLayoutParams(),{width:n.getWidth(),height:n.getHeight()}),l=a.size||[],u=$r(jD(s.width,l[0]),r),h=$r(jD(s.height,l[1]),o),c=i&&i.type,p=eD(i,["treemapZoomToNode","treemapRootToNode"],t),d="treemapRender"===c||"treemapMove"===c?i.rootRect:null,f=t.getViewRoot(),g=nD(f);if("treemapMove"!==c){var y="treemapZoomToNode"===c?function(t,e,n,i,r){var o,a=(e||{}).node,s=[i,r];if(!a||a===n)return s;var l=i*r,u=l*t.option.zoomToNodeRatio;for(;o=a.parentNode;){for(var h=0,c=o.children,p=0,d=c.length;poo&&(u=oo),a=o}ua[1]&&(a[1]=e)}))):a=[NaN,NaN];return{sum:i,dataExtent:a}}(e,a,s);if(0===u.sum)return t.viewChildren=[];if(u.sum=function(t,e,n,i,r){if(!i)return n;for(var o=t.get("visibleMin"),a=r.length,s=a,l=a-1;l>=0;l--){var u=r["asc"===i?a-l-1:l].getValue();u/n*ei&&(i=a));var l=t.area*t.area,u=e*e*n;return l?UD(u*i/l,l/(u*r)):1/0}function iA(t,e,n,i,r){var o=e===n.width?0:1,a=1-o,s=["x","y"],l=["width","height"],u=n[s[o]],h=e?t.area/e:0;(r||h>n[l[a]])&&(h=n[l[a]]);for(var c=0,p=t.length;ci&&(i=e);var o=i%2?i+2:i+3;r=[];for(var a=0;a0&&(m[0]=-m[0],m[1]=-m[1]);var _=v[0]<0?-1:1;if("start"!==i.__position&&"end"!==i.__position){var b=-Math.atan2(v[1],v[0]);u[0].8?"left":h[0]<-.8?"right":"center",p=h[1]>.8?"top":h[1]<-.8?"bottom":"middle";break;case"start":i.x=-h[0]*f+l[0],i.y=-h[1]*g+l[1],c=h[0]>.8?"right":h[0]<-.8?"left":"center",p=h[1]>.8?"bottom":h[1]<-.8?"top":"middle";break;case"insideStartTop":case"insideStart":case"insideStartBottom":i.x=f*_+l[0],i.y=l[1]+w,c=v[0]<0?"right":"left",i.originX=-f*_,i.originY=-w;break;case"insideMiddleTop":case"insideMiddle":case"insideMiddleBottom":case"middle":i.x=x[0],i.y=x[1]+w,c="center",i.originY=-w;break;case"insideEndTop":case"insideEnd":case"insideEndBottom":i.x=-f*_+u[0],i.y=u[1]+w,c=v[0]>=0?"right":"left",i.originX=f*_,i.originY=-w}i.scaleX=i.scaleY=r,i.setStyle({verticalAlign:i.__verticalAlign||p,align:i.__align||c})}}}function S(t,e){var n=t.__specifiedRotation;if(null==n){var i=a.tangentAt(e);t.attr("rotation",(1===e?-1:1)*Math.PI/2-Math.atan2(i[1],i[0]))}else t.attr("rotation",n)}},e}(Br),WA=function(){function t(t){this.group=new Br,this._LineCtor=t||GA}return t.prototype.updateData=function(t){var e=this;this._progressiveEls=null;var n=this,i=n.group,r=n._lineData;n._lineData=t,r||i.removeAll();var o=HA(t);t.diff(r).add((function(n){e._doAdd(t,n,o)})).update((function(n,i){e._doUpdate(r,t,i,n,o)})).remove((function(t){i.remove(r.getItemGraphicEl(t))})).execute()},t.prototype.updateLayout=function(){var t=this._lineData;t&&t.eachItemGraphicEl((function(e,n){e.updateLayout(t,n)}),this)},t.prototype.incrementalPrepareUpdate=function(t){this._seriesScope=HA(t),this._lineData=null,this.group.removeAll()},t.prototype.incrementalUpdate=function(t,e){function n(t){t.isGroup||function(t){return t.animators&&t.animators.length>0}(t)||(t.incremental=!0,t.ensureState("emphasis").hoverLayer=!0)}this._progressiveEls=[];for(var i=t.start;i=0?i+=u:i-=u:f>=0?i-=u:i+=u}return i}function QA(t,e){var n=[],i=Dn,r=[[],[],[]],o=[[],[]],a=[];e/=2,t.eachEdge((function(t,s){var l=t.getLayout(),u=t.getVisual("fromSymbol"),h=t.getVisual("toSymbol");l.__original||(l.__original=[Tt(l[0]),Tt(l[1])],l[2]&&l.__original.push(Tt(l[2])));var c=l.__original;if(null!=l[2]){if(It(r[0],c[0]),It(r[1],c[2]),It(r[2],c[1]),u&&"none"!==u){var p=bA(t.node1),d=JA(r,c[0],p*e);i(r[0][0],r[1][0],r[2][0],d,n),r[0][0]=n[3],r[1][0]=n[4],i(r[0][1],r[1][1],r[2][1],d,n),r[0][1]=n[3],r[1][1]=n[4]}if(h&&"none"!==h){p=bA(t.node2),d=JA(r,c[1],p*e);i(r[0][0],r[1][0],r[2][0],d,n),r[1][0]=n[1],r[2][0]=n[2],i(r[0][1],r[1][1],r[2][1],d,n),r[1][1]=n[1],r[2][1]=n[2]}It(l[0],r[0]),It(l[1],r[2]),It(l[2],r[1])}else{if(It(o[0],c[0]),It(o[1],c[1]),kt(a,o[1],o[0]),Et(a,a),u&&"none"!==u){p=bA(t.node1);At(o[0],o[0],a,p*e)}if(h&&"none"!==h){p=bA(t.node2);At(o[1],o[1],a,-p*e)}It(l[0],o[0]),It(l[1],o[1])}}))}function tk(t){return"view"===t.type}var ek=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.init=function(t,e){var n=new mS,i=new WA,r=this.group;this._controller=new tT(e.getZr()),this._controllerHost={target:r},r.add(n.group),r.add(i.group),this._symbolDraw=n,this._lineDraw=i,this._firstRender=!0},e.prototype.render=function(t,e,n){var i=this,r=t.coordinateSystem;this._model=t;var o=this._symbolDraw,a=this._lineDraw,s=this.group;if(tk(r)){var l={x:r.x,y:r.y,scaleX:r.scaleX,scaleY:r.scaleY};this._firstRender?s.attr(l):vh(s,l,t)}QA(t.getGraph(),_A(t));var u=t.getData();o.updateData(u);var h=t.getEdgeData();a.updateData(h),this._updateNodeAndLinkScale(),this._updateController(t,e,n),clearTimeout(this._layoutTimeout);var c=t.forceLayout,p=t.get(["force","layoutAnimation"]);c&&this._startForceLayoutIteration(c,p);var d=t.get("layout");u.graph.eachNode((function(e){var n=e.dataIndex,r=e.getGraphicEl(),o=e.getModel();if(r){r.off("drag").off("dragend");var a=o.get("draggable");a&&r.on("drag",(function(o){switch(d){case"force":c.warmUp(),!i._layouting&&i._startForceLayoutIteration(c,p),c.setFixed(n),u.setItemLayout(n,[r.x,r.y]);break;case"circular":u.setItemLayout(n,[r.x,r.y]),e.setLayout({fixed:!0},!0),MA(t,"symbolSize",e,[o.offsetX,o.offsetY]),i.updateLayout(t);break;default:u.setItemLayout(n,[r.x,r.y]),mA(t.getGraph(),t),i.updateLayout(t)}})).on("dragend",(function(){c&&c.setUnfixed(n)})),r.setDraggable(a,!!o.get("cursor")),"adjacency"===o.get(["emphasis","focus"])&&(rl(r).focus=e.getAdjacentDataIndices())}})),u.graph.eachEdge((function(t){var e=t.getGraphicEl(),n=t.getModel().get(["emphasis","focus"]);e&&"adjacency"===n&&(rl(e).focus={edge:[t.dataIndex],node:[t.node1.dataIndex,t.node2.dataIndex]})}));var f="circular"===t.get("layout")&&t.get(["circular","rotateLabel"]),g=u.getLayout("cx"),y=u.getLayout("cy");u.graph.eachNode((function(t){TA(t,f,g,y)})),this._firstRender=!1},e.prototype.dispose=function(){this.remove(),this._controller&&this._controller.dispose(),this._controllerHost=null},e.prototype._startForceLayoutIteration=function(t,e){var n=this;!function i(){t.step((function(t){n.updateLayout(n._model),(n._layouting=!t)&&(e?n._layoutTimeout=setTimeout(i,16):i())}))}()},e.prototype._updateController=function(t,e,n){var i=this,r=this._controller,o=this._controllerHost,a=this.group;r.setPointerChecker((function(e,i,r){var o=a.getBoundingRect();return o.applyTransform(a.transform),o.contain(i,r)&&!lT(e,n,t)})),tk(t.coordinateSystem)?(r.enable(t.get("roam")),o.zoomLimit=t.get("scaleLimit"),o.zoom=t.coordinateSystem.getZoom(),r.off("pan").off("zoom").on("pan",(function(e){rT(o,e.dx,e.dy),n.dispatchAction({seriesId:t.id,type:"graphRoam",dx:e.dx,dy:e.dy})})).on("zoom",(function(e){oT(o,e.scale,e.originX,e.originY),n.dispatchAction({seriesId:t.id,type:"graphRoam",zoom:e.scale,originX:e.originX,originY:e.originY}),i._updateNodeAndLinkScale(),QA(t.getGraph(),_A(t)),i._lineDraw.updateLayout(),n.updateLabelLayout()}))):r.disable()},e.prototype._updateNodeAndLinkScale=function(){var t=this._model,e=t.getData(),n=_A(t);e.eachItemGraphicEl((function(t,e){t&&t.setSymbolScale(n)}))},e.prototype.updateLayout=function(t){QA(t.getGraph(),_A(t)),this._symbolDraw.updateLayout(),this._lineDraw.updateLayout()},e.prototype.remove=function(){clearTimeout(this._layoutTimeout),this._layouting=!1,this._layoutTimeout=null,this._symbolDraw&&this._symbolDraw.remove(),this._lineDraw&&this._lineDraw.remove()},e.type="graph",e}(Og);function nk(t){return"_EC_"+t}var ik=function(){function t(t){this.type="graph",this.nodes=[],this.edges=[],this._nodesMap={},this._edgesMap={},this._directed=t||!1}return t.prototype.isDirected=function(){return this._directed},t.prototype.addNode=function(t,e){t=null==t?""+e:""+t;var n=this._nodesMap;if(!n[nk(t)]){var i=new rk(t,e);return i.hostGraph=this,this.nodes.push(i),n[nk(t)]=i,i}},t.prototype.getNodeByIndex=function(t){var e=this.data.getRawIndex(t);return this.nodes[e]},t.prototype.getNodeById=function(t){return this._nodesMap[nk(t)]},t.prototype.addEdge=function(t,e,n){var i=this._nodesMap,r=this._edgesMap;if(j(t)&&(t=this.nodes[t]),j(e)&&(e=this.nodes[e]),t instanceof rk||(t=i[nk(t)]),e instanceof rk||(e=i[nk(e)]),t&&e){var o=t.id+"-"+e.id,a=new ok(t,e,n);return a.hostGraph=this,this._directed&&(t.outEdges.push(a),e.inEdges.push(a)),t.edges.push(a),t!==e&&e.edges.push(a),this.edges.push(a),r[o]=a,a}},t.prototype.getEdgeByIndex=function(t){var e=this.edgeData.getRawIndex(t);return this.edges[e]},t.prototype.getEdge=function(t,e){t instanceof rk&&(t=t.id),e instanceof rk&&(e=e.id);var n=this._edgesMap;return this._directed?n[t+"-"+e]:n[t+"-"+e]||n[e+"-"+t]},t.prototype.eachNode=function(t,e){for(var n=this.nodes,i=n.length,r=0;r=0&&t.call(e,n[r],r)},t.prototype.eachEdge=function(t,e){for(var n=this.edges,i=n.length,r=0;r=0&&n[r].node1.dataIndex>=0&&n[r].node2.dataIndex>=0&&t.call(e,n[r],r)},t.prototype.breadthFirstTraverse=function(t,e,n,i){if(e instanceof rk||(e=this._nodesMap[nk(e)]),e){for(var r="out"===n?"outEdges":"in"===n?"inEdges":"edges",o=0;o=0&&n.node2.dataIndex>=0}));for(r=0,o=i.length;r=0&&this[t][e].setItemVisual(this.dataIndex,n,i)},getVisual:function(n){return this[t][e].getItemVisual(this.dataIndex,n)},setLayout:function(n,i){this.dataIndex>=0&&this[t][e].setItemLayout(this.dataIndex,n,i)},getLayout:function(){return this[t][e].getItemLayout(this.dataIndex)},getGraphicEl:function(){return this[t][e].getItemGraphicEl(this.dataIndex)},getRawIndex:function(){return this[t][e].getRawIndex(this.dataIndex)}}}function sk(t,e,n,i,r){for(var o=new ik(i),a=0;a "+p)),u++)}var d,f=n.get("coordinateSystem");if("cartesian2d"===f||"polar"===f)d=_x(t,n);else{var g=wd.get(f),y=g&&g.dimensions||[];P(y,"value")<0&&y.concat(["value"]);var v=px(t,{coordDimensions:y,encodeDefine:n.getEncode()}).dimensions;(d=new cx(v,n)).initData(t)}var m=new cx(["value"],n);return m.initData(l,s),r&&r(d,m),XC({mainData:d,struct:o,structAttr:"graph",datas:{node:d,edge:m},datasAttr:{node:"data",edge:"edgeData"}}),o.update(),o}R(rk,ak("hostGraph","data")),R(ok,ak("hostGraph","edgeData"));var lk=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.hasSymbolVisual=!0,n}return n(e,t),e.prototype.init=function(e){t.prototype.init.apply(this,arguments);var n=this;function i(){return n._categoriesData}this.legendVisualProvider=new OM(i,i),this.fillDataTextStyle(e.edges||e.links),this._updateCategoriesData()},e.prototype.mergeOption=function(e){t.prototype.mergeOption.apply(this,arguments),this.fillDataTextStyle(e.edges||e.links),this._updateCategoriesData()},e.prototype.mergeDefaultAndTheme=function(e){t.prototype.mergeDefaultAndTheme.apply(this,arguments),Co(e,"edgeLabel",["show"])},e.prototype.getInitialData=function(t,e){var n,i=t.edges||t.links||[],r=t.data||t.nodes||[],o=this;if(r&&i){cA(n=this)&&(n.__curvenessList=[],n.__edgeMap={},pA(n));var a=sk(r,i,this,!0,(function(t,e){t.wrapMethod("getItemModel",(function(t){var e=o._categoriesModels[t.getShallow("category")];return e&&(e.parentModel=t.parentModel,t.parentModel=e),t}));var n=Cc.prototype.getModel;function i(t,e){var i=n.call(this,t,e);return i.resolveParentPath=r,i}function r(t){if(t&&("label"===t[0]||"label"===t[1])){var e=t.slice();return"label"===t[0]?e[0]="edgeLabel":"label"===t[1]&&(e[1]="edgeLabel"),e}return t}e.wrapMethod("getItemModel",(function(t){return t.resolveParentPath=r,t.getModel=i,t}))}));return E(a.edges,(function(t){!function(t,e,n,i){if(cA(n)){var r=dA(t,e,n),o=n.__edgeMap,a=o[fA(r)];o[r]&&!a?o[r].isForward=!0:a&&o[r]&&(a.isForward=!0,o[r].isForward=!1),o[r]=o[r]||[],o[r].push(i)}}(t.node1,t.node2,this,t.dataIndex)}),this),a.data}},e.prototype.getGraph=function(){return this.getData().graph},e.prototype.getEdgeData=function(){return this.getGraph().edgeData},e.prototype.getCategoriesData=function(){return this._categoriesData},e.prototype.formatTooltip=function(t,e,n){if("edge"===n){var i=this.getData(),r=this.getDataParams(t,n),o=i.graph.getEdgeByIndex(t),a=i.getName(o.node1.dataIndex),s=i.getName(o.node2.dataIndex),l=[];return null!=a&&l.push(a),null!=s&&l.push(s),og("nameValue",{name:l.join(" > "),value:r.value,noValue:null==r.value})}return vg({series:this,dataIndex:t,multipleSeries:e})},e.prototype._updateCategoriesData=function(){var t=z(this.option.categories||[],(function(t){return null!=t.value?t:A({value:0},t)})),e=new cx(["value"],this);e.initData(t),this._categoriesData=e,this._categoriesModels=e.mapArray((function(t){return e.getItemModel(t)}))},e.prototype.setZoom=function(t){this.option.zoom=t},e.prototype.setCenter=function(t){this.option.center=t},e.prototype.isAnimationEnabled=function(){return t.prototype.isAnimationEnabled.call(this)&&!("force"===this.get("layout")&&this.get(["force","layoutAnimation"]))},e.type="series.graph",e.dependencies=["grid","polar","geo","singleAxis","calendar"],e.defaultOption={z:2,coordinateSystem:"view",legendHoverLink:!0,layout:null,circular:{rotateLabel:!1},force:{initLayout:null,repulsion:[0,50],gravity:.1,friction:.6,edgeLength:30,layoutAnimation:!0},left:"center",top:"center",symbol:"circle",symbolSize:10,edgeSymbol:["none","none"],edgeSymbolSize:10,edgeLabel:{position:"middle",distance:5},draggable:!1,roam:!1,center:null,zoom:1,nodeScaleRatio:.6,label:{show:!1,formatter:"{b}"},itemStyle:{},lineStyle:{color:"#aaa",width:1,opacity:.5},emphasis:{scale:!0,label:{show:!0}},select:{itemStyle:{borderColor:"#212121"}}},e}(bg),uk={type:"graphRoam",event:"graphRoam",update:"none"};var hk=function(){this.angle=0,this.width=10,this.r=10,this.x=0,this.y=0},ck=function(t){function e(e){var n=t.call(this,e)||this;return n.type="pointer",n}return n(e,t),e.prototype.getDefaultShape=function(){return new hk},e.prototype.buildPath=function(t,e){var n=Math.cos,i=Math.sin,r=e.r,o=e.width,a=e.angle,s=e.x-n(a)*o*(o>=r/3?1:2),l=e.y-i(a)*o*(o>=r/3?1:2);a=e.angle-Math.PI/2,t.moveTo(s,l),t.lineTo(e.x+n(a)*o,e.y+i(a)*o),t.lineTo(e.x+n(e.angle)*r,e.y+i(e.angle)*r),t.lineTo(e.x-n(a)*o,e.y-i(a)*o),t.lineTo(s,l)},e}(ks);function pk(t,e){var n=null==t?"":t+"";return e&&(U(e)?n=e.replace("{value}",n):X(e)&&(n=e(t))),n}var dk=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.render=function(t,e,n){this.group.removeAll();var i=t.get(["axisLine","lineStyle","color"]),r=function(t,e){var n=t.get("center"),i=e.getWidth(),r=e.getHeight(),o=Math.min(i,r);return{cx:$r(n[0],e.getWidth()),cy:$r(n[1],e.getHeight()),r:$r(t.get("radius"),o/2)}}(t,n);this._renderMain(t,e,n,i,r),this._data=t.getData()},e.prototype.dispose=function(){},e.prototype._renderMain=function(t,e,n,i,r){var o=this.group,a=t.get("clockwise"),s=-t.get("startAngle")/180*Math.PI,l=-t.get("endAngle")/180*Math.PI,u=t.getModel("axisLine"),h=u.get("roundCap")?$S:Fu,c=u.get("show"),p=u.getModel("lineStyle"),d=p.get("width"),f=[s,l];us(f,!a);for(var g=(l=f[1])-(s=f[0]),y=s,v=[],m=0;c&&m=t&&(0===e?0:i[e-1][0])Math.PI/2&&(V+=Math.PI):"tangential"===z?V=-M-Math.PI/2:j(z)&&(V=z*Math.PI/180),0===V?c.add(new Xs({style:oc(x,{text:O,x:N,y:E,verticalAlign:h<-.8?"top":h>.8?"bottom":"middle",align:u<-.4?"left":u>.4?"right":"center"},{inheritColor:R}),silent:!0})):c.add(new Xs({style:oc(x,{text:O,x:N,y:E,verticalAlign:"middle",align:"center"},{inheritColor:R}),silent:!0,originX:N,originY:E,rotation:V}))}if(m.get("show")&&k!==_){P=(P=m.get("distance"))?P+l:l;for(var B=0;B<=b;B++){u=Math.cos(M),h=Math.sin(M);var F=new Ku({shape:{x1:u*(f-P)+p,y1:h*(f-P)+d,x2:u*(f-S-P)+p,y2:h*(f-S-P)+d},silent:!0,style:D});"auto"===D.stroke&&F.setStyle({stroke:i((k+B/b)/_)}),c.add(F),M+=T}M-=T}else M+=I}},e.prototype._renderPointer=function(t,e,n,i,r,o,a,s,l){var u=this.group,h=this._data,c=this._progressEls,p=[],d=t.get(["pointer","show"]),f=t.getModel("progress"),g=f.get("show"),y=t.getData(),v=y.mapDimension("value"),m=+t.get("min"),x=+t.get("max"),_=[m,x],b=[o,a];function w(e,n){var i,o=y.getItemModel(e).getModel("pointer"),a=$r(o.get("width"),r.r),s=$r(o.get("length"),r.r),l=t.get(["pointer","icon"]),u=o.get("offsetCenter"),h=$r(u[0],r.r),c=$r(u[1],r.r),p=o.get("keepAspect");return(i=l?Xy(l,h-a/2,c-s,a,s,null,p):new ck({shape:{angle:-Math.PI/2,width:a,r:s,x:h,y:c}})).rotation=-(n+Math.PI/2),i.x=r.cx,i.y=r.cy,i}function S(t,e){var n=f.get("roundCap")?$S:Fu,i=f.get("overlap"),a=i?f.get("width"):l/y.count(),u=i?r.r-a:r.r-(t+1)*a,h=i?r.r:r.r-t*a,c=new n({shape:{startAngle:o,endAngle:e,cx:r.cx,cy:r.cy,clockwise:s,r0:u,r:h}});return i&&(c.z2=x-y.get(v,t)%x),c}(g||d)&&(y.diff(h).add((function(e){var n=y.get(v,e);if(d){var i=w(e,o);mh(i,{rotation:-((isNaN(+n)?b[0]:Kr(n,_,b,!0))+Math.PI/2)},t),u.add(i),y.setItemGraphicEl(e,i)}if(g){var r=S(e,o),a=f.get("clip");mh(r,{shape:{endAngle:Kr(n,_,b,a)}},t),u.add(r),ol(t.seriesIndex,y.dataType,e,r),p[e]=r}})).update((function(e,n){var i=y.get(v,e);if(d){var r=h.getItemGraphicEl(n),a=r?r.rotation:o,s=w(e,a);s.rotation=a,vh(s,{rotation:-((isNaN(+i)?b[0]:Kr(i,_,b,!0))+Math.PI/2)},t),u.add(s),y.setItemGraphicEl(e,s)}if(g){var l=c[n],m=S(e,l?l.shape.endAngle:o),x=f.get("clip");vh(m,{shape:{endAngle:Kr(i,_,b,x)}},t),u.add(m),ol(t.seriesIndex,y.dataType,e,m),p[e]=m}})).execute(),y.each((function(t){var e=y.getItemModel(t),n=e.getModel("emphasis"),r=n.get("focus"),o=n.get("blurScope"),a=n.get("disabled");if(d){var s=y.getItemGraphicEl(t),l=y.getItemVisual(t,"style"),u=l.fill;if(s instanceof Ns){var h=s.style;s.useStyle(A({image:h.image,x:h.x,y:h.y,width:h.width,height:h.height},l))}else s.useStyle(l),"pointer"!==s.type&&s.setColor(u);s.setStyle(e.getModel(["pointer","itemStyle"]).getItemStyle()),"auto"===s.style.fill&&s.setStyle("fill",i(Kr(y.get(v,t),_,[0,1],!0))),s.z2EmphasisLift=0,$l(s,e),Zl(s,r,o,a)}if(g){var c=p[t];c.useStyle(y.getItemVisual(t,"style")),c.setStyle(e.getModel(["progress","itemStyle"]).getItemStyle()),c.z2EmphasisLift=0,$l(c,e),Zl(c,r,o,a)}})),this._progressEls=p)},e.prototype._renderAnchor=function(t,e){var n=t.getModel("anchor");if(n.get("show")){var i=n.get("size"),r=n.get("icon"),o=n.get("offsetCenter"),a=n.get("keepAspect"),s=Xy(r,e.cx-i/2+$r(o[0],e.r),e.cy-i/2+$r(o[1],e.r),i,i,null,a);s.z2=n.get("showAbove")?1:0,s.setStyle(n.getModel("itemStyle").getItemStyle()),this.group.add(s)}},e.prototype._renderTitleAndDetail=function(t,e,n,i,r){var o=this,a=t.getData(),s=a.mapDimension("value"),l=+t.get("min"),u=+t.get("max"),h=new Br,c=[],p=[],d=t.isAnimationEnabled(),f=t.get(["pointer","showAbove"]);a.diff(this._data).add((function(t){c[t]=new Xs({silent:!0}),p[t]=new Xs({silent:!0})})).update((function(t,e){c[t]=o._titleEls[e],p[t]=o._detailEls[e]})).execute(),a.each((function(e){var n=a.getItemModel(e),o=a.get(s,e),g=new Br,y=i(Kr(o,[l,u],[0,1],!0)),v=n.getModel("title");if(v.get("show")){var m=v.get("offsetCenter"),x=r.cx+$r(m[0],r.r),_=r.cy+$r(m[1],r.r);(D=c[e]).attr({z2:f?0:2,style:oc(v,{x:x,y:_,text:a.getName(e),align:"center",verticalAlign:"middle"},{inheritColor:y})}),g.add(D)}var b=n.getModel("detail");if(b.get("show")){var w=b.get("offsetCenter"),S=r.cx+$r(w[0],r.r),M=r.cy+$r(w[1],r.r),I=$r(b.get("width"),r.r),T=$r(b.get("height"),r.r),C=t.get(["progress","show"])?a.getItemVisual(e,"style").fill:y,D=p[e],A=b.get("formatter");D.attr({z2:f?0:2,style:oc(b,{x:S,y:M,text:pk(o,A),width:isNaN(I)?null:I,height:isNaN(T)?null:T,align:"center",verticalAlign:"middle"},{inheritColor:C})}),dc(D,{normal:b},o,(function(t){return pk(t,A)})),d&&fc(D,e,a,t,{getFormattedLabel:function(t,e,n,i,r,a){return pk(a?a.interpolatedValue:o,A)}}),g.add(D)}h.add(g)})),this.group.add(h),this._titleEls=c,this._detailEls=p},e.type="gauge",e}(Og),fk=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.visualStyleAccessPath="itemStyle",n}return n(e,t),e.prototype.getInitialData=function(t,e){return PM(this,["value"])},e.type="series.gauge",e.defaultOption={z:2,colorBy:"data",center:["50%","50%"],legendHoverLink:!0,radius:"75%",startAngle:225,endAngle:-45,clockwise:!0,min:0,max:100,splitNumber:10,axisLine:{show:!0,roundCap:!1,lineStyle:{color:[[1,"#E6EBF8"]],width:10}},progress:{show:!1,overlap:!0,width:10,roundCap:!1,clip:!0},splitLine:{show:!0,length:10,distance:10,lineStyle:{color:"#63677A",width:3,type:"solid"}},axisTick:{show:!0,splitNumber:5,length:6,distance:10,lineStyle:{color:"#63677A",width:1,type:"solid"}},axisLabel:{show:!0,distance:15,color:"#464646",fontSize:12,rotate:0},pointer:{icon:null,offsetCenter:[0,0],show:!0,showAbove:!0,length:"60%",width:6,keepAspect:!1},anchor:{show:!1,showAbove:!1,size:6,icon:"circle",offsetCenter:[0,0],keepAspect:!1,itemStyle:{color:"#fff",borderWidth:0,borderColor:"#5470c6"}},title:{show:!0,offsetCenter:[0,"20%"],color:"#464646",fontSize:16,valueAnimation:!1},detail:{show:!0,backgroundColor:"rgba(0,0,0,0)",borderWidth:0,borderColor:"#ccc",width:100,height:null,padding:[5,10],offsetCenter:[0,"40%"],color:"#464646",fontSize:30,fontWeight:"bold",lineHeight:30,valueAnimation:!1}},e}(bg);var gk=["itemStyle","opacity"],yk=function(t){function e(e,n){var i=t.call(this)||this,r=i,o=new Zu,a=new Xs;return r.setTextContent(a),i.setTextGuideLine(o),i.updateData(e,n,!0),i}return n(e,t),e.prototype.updateData=function(t,e,n){var i=this,r=t.hostModel,o=t.getItemModel(e),a=t.getItemLayout(e),s=o.getModel("emphasis"),l=o.get(gk);l=null==l?1:l,n||Sh(i),i.useStyle(t.getItemVisual(e,"style")),i.style.lineJoin="round",n?(i.setShape({points:a.points}),i.style.opacity=0,mh(i,{style:{opacity:l}},r,e)):vh(i,{style:{opacity:l},shape:{points:a.points}},r,e),$l(i,o),this._updateLabel(t,e),Zl(this,s.get("focus"),s.get("blurScope"),s.get("disabled"))},e.prototype._updateLabel=function(t,e){var n=this,i=this.getTextGuideLine(),r=n.getTextContent(),o=t.hostModel,a=t.getItemModel(e),s=t.getItemLayout(e).label,l=t.getItemVisual(e,"style"),u=l.fill;ic(r,rc(a),{labelFetcher:t.hostModel,labelDataIndex:e,defaultOpacity:l.opacity,defaultText:t.getName(e)},{normal:{align:s.textAlign,verticalAlign:s.verticalAlign}}),n.setTextConfig({local:!0,inside:!!s.inside,insideStroke:u,outsideFill:u});var h=s.linePoints;i.setShape({points:h}),n.textGuideLineConfig={anchor:h?new De(h[0][0],h[0][1]):null},vh(r,{style:{x:s.x,y:s.y}},o,e),r.attr({rotation:s.rotation,originX:s.x,originY:s.y,z2:10}),Ab(n,kb(a),{stroke:u})},e}(Xu),vk=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.ignoreLabelLineUpdate=!0,n}return n(e,t),e.prototype.render=function(t,e,n){var i=t.getData(),r=this._data,o=this.group;i.diff(r).add((function(t){var e=new yk(i,t);i.setItemGraphicEl(t,e),o.add(e)})).update((function(t,e){var n=r.getItemGraphicEl(e);n.updateData(i,t),o.add(n),i.setItemGraphicEl(t,n)})).remove((function(e){wh(r.getItemGraphicEl(e),t,e)})).execute(),this._data=i},e.prototype.remove=function(){this.group.removeAll(),this._data=null},e.prototype.dispose=function(){},e.type="funnel",e}(Og),mk=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.init=function(e){t.prototype.init.apply(this,arguments),this.legendVisualProvider=new OM(W(this.getData,this),W(this.getRawData,this)),this._defaultLabelLine(e)},e.prototype.getInitialData=function(t,e){return PM(this,{coordDimensions:["value"],encodeDefaulter:H(ed,this)})},e.prototype._defaultLabelLine=function(t){Co(t,"labelLine",["show"]);var e=t.labelLine,n=t.emphasis.labelLine;e.show=e.show&&t.label.show,n.show=n.show&&t.emphasis.label.show},e.prototype.getDataParams=function(e){var n=this.getData(),i=t.prototype.getDataParams.call(this,e),r=n.mapDimension("value"),o=n.getSum(r);return i.percent=o?+(n.get(r,e)/o*100).toFixed(2):0,i.$vars.push("percent"),i},e.type="series.funnel",e.defaultOption={z:2,legendHoverLink:!0,colorBy:"data",left:80,top:60,right:80,bottom:60,minSize:"0%",maxSize:"100%",sort:"descending",orient:"vertical",gap:0,funnelAlign:"center",label:{show:!0,position:"outer"},labelLine:{show:!0,length:20,lineStyle:{width:1}},itemStyle:{borderColor:"#fff",borderWidth:1},emphasis:{label:{show:!0}},select:{itemStyle:{borderColor:"#212121"}}},e}(bg);function xk(t,e){t.eachSeriesByType("funnel",(function(t){var n=t.getData(),i=n.mapDimension("value"),r=t.get("sort"),o=function(t,e){return kp(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}(t,e),a=t.get("orient"),s=o.width,l=o.height,u=function(t,e){for(var n=t.mapDimension("value"),i=t.mapArray(n,(function(t){return t})),r=[],o="ascending"===e,a=0,s=t.count();a5)return;var i=this._model.coordinateSystem.getSlidedAxisExpandWindow([t.offsetX,t.offsetY]);"none"!==i.behavior&&this._dispatchExpand({axisExpandWindow:i.axisExpandWindow})}this._mouseDownPoint=null},mousemove:function(t){if(!this._mouseDownPoint&&Pk(this,"mousemove")){var e=this._model,n=e.coordinateSystem.getSlidedAxisExpandWindow([t.offsetX,t.offsetY]),i=n.behavior;"jump"===i&&this._throttledDispatchExpand.debounceNextCall(e.get("axisExpandDebounce")),this._throttledDispatchExpand("none"===i?null:{axisExpandWindow:n.axisExpandWindow,animation:"jump"===i?null:{duration:0}})}}};function Pk(t,e){var n=t._model;return n.get("axisExpandable")&&n.get("axisExpandTriggerOn")===e}var Ok=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.init=function(){t.prototype.init.apply(this,arguments),this.mergeOption({})},e.prototype.mergeOption=function(t){var e=this.option;t&&C(e,t,!0),this._initDimensions()},e.prototype.contains=function(t,e){var n=t.get("parallelIndex");return null!=n&&e.getComponent("parallel",n)===this},e.prototype.setAxisExpand=function(t){E(["axisExpandable","axisExpandCenter","axisExpandCount","axisExpandWidth","axisExpandWindow"],(function(e){t.hasOwnProperty(e)&&(this.option[e]=t[e])}),this)},e.prototype._initDimensions=function(){var t=this.dimensions=[],e=this.parallelAxisIndex=[];E(B(this.ecModel.queryComponents({mainType:"parallelAxis"}),(function(t){return(t.get("parallelIndex")||0)===this.componentIndex}),this),(function(n){t.push("dim"+n.get("dim")),e.push(n.componentIndex)}))},e.type="parallel",e.dependencies=["parallelAxis"],e.layoutMode="box",e.defaultOption={z:0,left:80,top:60,right:80,bottom:60,layout:"horizontal",axisExpandable:!1,axisExpandCenter:null,axisExpandCount:0,axisExpandWidth:50,axisExpandRate:17,axisExpandDebounce:50,axisExpandSlideTriggerArea:[-.15,.05,.4],axisExpandTriggerOn:"click",parallelAxisDefault:null},e}(zp),Rk=function(t){function e(e,n,i,r,o){var a=t.call(this,e,n,i)||this;return a.type=r||"value",a.axisIndex=o,a}return n(e,t),e.prototype.isHorizontal=function(){return"horizontal"!==this.coordinateSystem.getModel().get("layout")},e}(ob);function Nk(t,e,n,i,r,o){t=t||0;var a=n[1]-n[0];if(null!=r&&(r=zk(r,[0,a])),null!=o&&(o=Math.max(o,null!=r?r:0)),"all"===i){var s=Math.abs(e[1]-e[0]);s=zk(s,[0,a]),r=o=zk(s,[r,o]),i=0}e[0]=zk(e[0],n),e[1]=zk(e[1],n);var l=Ek(e,i);e[i]+=t;var u,h=r||0,c=n.slice();return l.sign<0?c[0]+=h:c[1]-=h,e[i]=zk(e[i],c),u=Ek(e,i),null!=r&&(u.sign!==l.sign||u.spano&&(e[1-i]=e[i]+u.sign*o),e}function Ek(t,e){var n=t[e]-t[1-e];return{span:Math.abs(n),sign:n>0?-1:n<0?1:e?-1:1}}function zk(t,e){return Math.min(null!=e[1]?e[1]:1/0,Math.max(null!=e[0]?e[0]:-1/0,t))}var Vk=E,Bk=Math.min,Fk=Math.max,Gk=Math.floor,Wk=Math.ceil,Hk=Jr,Yk=Math.PI,Xk=function(){function t(t,e,n){this.type="parallel",this._axesMap=yt(),this._axesLayout={},this.dimensions=t.dimensions,this._model=t,this._init(t,e,n)}return t.prototype._init=function(t,e,n){var i=t.dimensions,r=t.parallelAxisIndex;Vk(i,(function(t,n){var i=r[n],o=e.getComponent("parallelAxis",i),a=this._axesMap.set(t,new Rk(t,b_(o),[0,0],o.get("type"),i)),s="category"===a.type;a.onBand=s&&o.get("boundaryGap"),a.inverse=o.get("inverse"),o.axis=a,a.model=o,a.coordinateSystem=o.coordinateSystem=this}),this)},t.prototype.update=function(t,e){this._updateAxesFromSeries(this._model,t)},t.prototype.containPoint=function(t){var e=this._makeLayoutInfo(),n=e.axisBase,i=e.layoutBase,r=e.pixelDimIndex,o=t[1-r],a=t[r];return o>=n&&o<=n+e.axisLength&&a>=i&&a<=i+e.layoutLength},t.prototype.getModel=function(){return this._model},t.prototype._updateAxesFromSeries=function(t,e){e.eachSeries((function(n){if(t.contains(n,e)){var i=n.getData();Vk(this.dimensions,(function(t){var e=this._axesMap.get(t);e.scale.unionExtentFromData(i,i.mapDimension(t)),__(e.scale,e.model)}),this)}}),this)},t.prototype.resize=function(t,e){this._rect=kp(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()}),this._layoutAxes()},t.prototype.getRect=function(){return this._rect},t.prototype._makeLayoutInfo=function(){var t,e=this._model,n=this._rect,i=["x","y"],r=["width","height"],o=e.get("layout"),a="horizontal"===o?0:1,s=n[r[a]],l=[0,s],u=this.dimensions.length,h=Uk(e.get("axisExpandWidth"),l),c=Uk(e.get("axisExpandCount")||0,[0,u]),p=e.get("axisExpandable")&&u>3&&u>c&&c>1&&h>0&&s>0,d=e.get("axisExpandWindow");d?(t=Uk(d[1]-d[0],l),d[1]=d[0]+t):(t=Uk(h*(c-1),l),(d=[h*(e.get("axisExpandCenter")||Gk(u/2))-t/2])[1]=d[0]+t);var f=(s-t)/(u-c);f<3&&(f=0);var g=[Gk(Hk(d[0]/h,1))+1,Wk(Hk(d[1]/h,1))-1],y=f/h*d[0];return{layout:o,pixelDimIndex:a,layoutBase:n[i[a]],layoutLength:s,axisBase:n[i[1-a]],axisLength:n[r[1-a]],axisExpandable:p,axisExpandWidth:h,axisCollapseWidth:f,axisExpandWindow:d,axisCount:u,winInnerIndices:g,axisExpandWindow0Pos:y}},t.prototype._layoutAxes=function(){var t=this._rect,e=this._axesMap,n=this.dimensions,i=this._makeLayoutInfo(),r=i.layout;e.each((function(t){var e=[0,i.axisLength],n=t.inverse?1:0;t.setExtent(e[n],e[1-n])})),Vk(n,(function(e,n){var o=(i.axisExpandable?jk:Zk)(n,i),a={horizontal:{x:o.position,y:i.axisLength},vertical:{x:0,y:o.position}},s={horizontal:Yk/2,vertical:0},l=[a[r].x+t.x,a[r].y+t.y],u=s[r],h=[1,0,0,1,0,0];Se(h,h,u),we(h,h,l),this._axesLayout[e]={position:l,rotation:u,transform:h,axisNameAvailableWidth:o.axisNameAvailableWidth,axisLabelShow:o.axisLabelShow,nameTruncateMaxWidth:o.nameTruncateMaxWidth,tickDirection:1,labelDirection:1}}),this)},t.prototype.getAxis=function(t){return this._axesMap.get(t)},t.prototype.dataToPoint=function(t,e){return this.axisCoordToPoint(this._axesMap.get(e).dataToCoord(t),e)},t.prototype.eachActiveState=function(t,e,n,i){null==n&&(n=0),null==i&&(i=t.count());var r=this._axesMap,o=this.dimensions,a=[],s=[];E(o,(function(e){a.push(t.mapDimension(e)),s.push(r.get(e).model)}));for(var l=this.hasAxisBrushed(),u=n;ur*(1-h[0])?(l="jump",a=s-r*(1-h[2])):(a=s-r*h[1])>=0&&(a=s-r*(1-h[1]))<=0&&(a=0),(a*=e.axisExpandWidth/u)?Nk(a,i,o,"all"):l="none";else{var p=i[1]-i[0];(i=[Fk(0,o[1]*s/p-p/2)])[1]=Bk(o[1],i[0]+p),i[0]=i[1]-p}return{axisExpandWindow:i,behavior:l}},t}();function Uk(t,e){return Bk(Fk(t,e[0]),e[1])}function Zk(t,e){var n=e.layoutLength/(e.axisCount-1);return{position:n*t,axisNameAvailableWidth:n,axisLabelShow:!0}}function jk(t,e){var n,i,r=e.layoutLength,o=e.axisExpandWidth,a=e.axisCount,s=e.axisCollapseWidth,l=e.winInnerIndices,u=s,h=!1;return t=0;n--)Qr(e[n])},e.prototype.getActiveState=function(t){var e=this.activeIntervals;if(!e.length)return"normal";if(null==t||isNaN(+t))return"inactive";if(1===e.length){var n=e[0];if(n[0]<=t&&t<=n[1])return"active"}else for(var i=0,r=e.length;i6}(t)||o){if(a&&!o){"single"===s.brushMode&&gL(t);var l=T(s);l.brushType=PL(l.brushType,a),l.panelId=a===$k?null:a.panelId,o=t._creatingCover=sL(t,l),t._covers.push(o)}if(o){var u=NL[PL(t._brushType,a)];o.__brushOption.range=u.getCreatingRange(DL(t,o,t._track)),i&&(lL(t,o),u.updateCommon(t,o)),uL(t,o),r={isEnd:i}}}else i&&"single"===s.brushMode&&s.removeOnClick&&dL(t,e,n)&&gL(t)&&(r={isEnd:i,removeOnClick:!0});return r}function PL(t,e){return"auto"===t?e.defaultBrushType:t}var OL={mousedown:function(t){if(this._dragging)RL(this,t);else if(!t.target||!t.target.draggable){AL(t);var e=this.group.transformCoordToLocal(t.offsetX,t.offsetY);this._creatingCover=null,(this._creatingPanel=dL(this,t,e))&&(this._dragging=!0,this._track=[e.slice()])}},mousemove:function(t){var e=t.offsetX,n=t.offsetY,i=this.group.transformCoordToLocal(e,n);if(function(t,e,n){if(t._brushType&&!function(t,e,n){var i=t._zr;return e<0||e>i.getWidth()||n<0||n>i.getHeight()}(t,e.offsetX,e.offsetY)){var i=t._zr,r=t._covers,o=dL(t,e,n);if(!t._dragging)for(var a=0;a=0&&(o[r[a].depth]=new Cc(r[a],this,e));if(i&&n){var s=sk(i,n,this,!0,(function(t,e){t.wrapMethod("getItemModel",(function(t,e){var n=t.parentModel,i=n.getData().getItemLayout(e);if(i){var r=i.depth,o=n.levelModels[r];o&&(t.parentModel=o)}return t})),e.wrapMethod("getItemModel",(function(t,e){var n=t.parentModel,i=n.getGraph().getEdgeByIndex(e).node1.getLayout();if(i){var r=i.depth,o=n.levelModels[r];o&&(t.parentModel=o)}return t}))}));return s.data}},e.prototype.setNodePosition=function(t,e){var n=(this.option.data||this.option.nodes)[t];n.localX=e[0],n.localY=e[1]},e.prototype.getGraph=function(){return this.getData().graph},e.prototype.getEdgeData=function(){return this.getGraph().edgeData},e.prototype.formatTooltip=function(t,e,n){function i(t){return isNaN(t)||null==t}if("edge"===n){var r=this.getDataParams(t,n),o=r.data,a=r.value;return og("nameValue",{name:o.source+" -- "+o.target,value:a,noValue:i(a)})}var s=this.getGraph().getNodeByIndex(t).getLayout().value,l=this.getDataParams(t,n).data.name;return og("nameValue",{name:null!=l?l+"":null,value:s,noValue:i(s)})},e.prototype.optionUpdated=function(){},e.prototype.getDataParams=function(e,n){var i=t.prototype.getDataParams.call(this,e,n);if(null==i.value&&"node"===n){var r=this.getGraph().getNodeByIndex(e).getLayout().value;i.value=r}return i},e.type="series.sankey",e.defaultOption={z:2,coordinateSystem:"view",left:"5%",top:"5%",right:"20%",bottom:"5%",orient:"horizontal",nodeWidth:20,nodeGap:8,draggable:!0,layoutIterations:32,label:{show:!0,position:"right",fontSize:12},edgeLabel:{show:!1,fontSize:12},levels:[],nodeAlign:"justify",lineStyle:{color:"#314656",opacity:.2,curveness:.5},emphasis:{label:{show:!0},lineStyle:{opacity:.5}},select:{itemStyle:{borderColor:"#212121"}},animationEasing:"linear",animationDuration:1e3},e}(bg);function $L(t,e){t.eachSeriesByType("sankey",(function(t){var n=t.get("nodeWidth"),i=t.get("nodeGap"),r=function(t,e){return kp(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}(t,e);t.layoutInfo=r;var o=r.width,a=r.height,s=t.getGraph(),l=s.nodes,u=s.edges;!function(t){E(t,(function(t){var e=sP(t.outEdges,aP),n=sP(t.inEdges,aP),i=t.getValue()||0,r=Math.max(e,n,i);t.setLayout({value:r},!0)}))}(l),function(t,e,n,i,r,o,a,s,l){(function(t,e,n,i,r,o,a){for(var s=[],l=[],u=[],h=[],c=0,p=0;p=0;v&&y.depth>d&&(d=y.depth),g.setLayout({depth:v?y.depth:c},!0),"vertical"===o?g.setLayout({dy:n},!0):g.setLayout({dx:n},!0);for(var m=0;mc-1?d:c-1;a&&"left"!==a&&function(t,e,n,i){if("right"===e){for(var r=[],o=t,a=0;o.length;){for(var s=0;s0;o--)tP(s,l*=.99,a),QL(s,r,n,i,a),lP(s,l,a),QL(s,r,n,i,a)}(t,e,o,r,i,a,s),function(t,e){var n="vertical"===e?"x":"y";E(t,(function(t){t.outEdges.sort((function(t,e){return t.node2.getLayout()[n]-e.node2.getLayout()[n]})),t.inEdges.sort((function(t,e){return t.node1.getLayout()[n]-e.node1.getLayout()[n]}))})),E(t,(function(t){var e=0,n=0;E(t.outEdges,(function(t){t.setLayout({sy:e},!0),e+=t.getLayout().dy})),E(t.inEdges,(function(t){t.setLayout({ty:n},!0),n+=t.getLayout().dy}))}))}(t,s)}(l,u,n,i,o,a,0!==B(l,(function(t){return 0===t.getLayout().value})).length?0:t.get("layoutIterations"),t.get("orient"),t.get("nodeAlign"))}))}function JL(t){var e=t.hostGraph.data.getRawDataItem(t.dataIndex);return null!=e.depth&&e.depth>=0}function QL(t,e,n,i,r){var o="vertical"===r?"x":"y";E(t,(function(t){var a,s,l;t.sort((function(t,e){return t.getLayout()[o]-e.getLayout()[o]}));for(var u=0,h=t.length,c="vertical"===r?"dx":"dy",p=0;p0&&(a=s.getLayout()[o]+l,"vertical"===r?s.setLayout({x:a},!0):s.setLayout({y:a},!0)),u=s.getLayout()[o]+s.getLayout()[c]+e;if((l=u-e-("vertical"===r?i:n))>0){a=s.getLayout()[o]-l,"vertical"===r?s.setLayout({x:a},!0):s.setLayout({y:a},!0),u=a;for(p=h-2;p>=0;--p)(l=(s=t[p]).getLayout()[o]+s.getLayout()[c]+e-u)>0&&(a=s.getLayout()[o]-l,"vertical"===r?s.setLayout({x:a},!0):s.setLayout({y:a},!0)),u=s.getLayout()[o]}}))}function tP(t,e,n){E(t.slice().reverse(),(function(t){E(t,(function(t){if(t.outEdges.length){var i=sP(t.outEdges,eP,n)/sP(t.outEdges,aP);if(isNaN(i)){var r=t.outEdges.length;i=r?sP(t.outEdges,nP,n)/r:0}if("vertical"===n){var o=t.getLayout().x+(i-oP(t,n))*e;t.setLayout({x:o},!0)}else{var a=t.getLayout().y+(i-oP(t,n))*e;t.setLayout({y:a},!0)}}}))}))}function eP(t,e){return oP(t.node2,e)*t.getValue()}function nP(t,e){return oP(t.node2,e)}function iP(t,e){return oP(t.node1,e)*t.getValue()}function rP(t,e){return oP(t.node1,e)}function oP(t,e){return"vertical"===e?t.getLayout().x+t.getLayout().dx/2:t.getLayout().y+t.getLayout().dy/2}function aP(t){return t.getValue()}function sP(t,e,n){for(var i=0,r=t.length,o=-1;++oo&&(o=e)})),E(n,(function(e){var n=new DD({type:"color",mappingMethod:"linear",dataExtent:[r,o],visual:t.get("color")}).mapValueToVisual(e.getLayout().value),i=e.getModel().get(["itemStyle","color"]);null!=i?(e.setVisual("color",i),e.setVisual("style",{fill:i})):(e.setVisual("color",n),e.setVisual("style",{fill:n}))}))}i.length&&E(i,(function(t){var e=t.getModel().get("lineStyle");t.setVisual("style",e)}))}))}var hP=function(){function t(){}return t.prototype.getInitialData=function(t,e){var n,i,r=e.getComponent("xAxis",this.get("xAxisIndex")),o=e.getComponent("yAxis",this.get("yAxisIndex")),a=r.get("type"),s=o.get("type");"category"===a?(t.layout="horizontal",n=r.getOrdinalMeta(),i=!0):"category"===s?(t.layout="vertical",n=o.getOrdinalMeta(),i=!0):t.layout=t.layout||"horizontal";var l=["x","y"],u="horizontal"===t.layout?0:1,h=this._baseAxisDim=l[u],c=l[1-u],p=[r,o],d=p[u].get("type"),f=p[1-u].get("type"),g=t.data;if(g&&i){var y=[];E(g,(function(t,e){var n;Y(t)?(n=t.slice(),t.unshift(e)):Y(t.value)?((n=A({},t)).value=n.value.slice(),t.value.unshift(e)):n=t,y.push(n)})),t.data=y}var v=this.defaultValueDimensions,m=[{name:h,type:Ym(d),ordinalMeta:n,otherDims:{tooltip:!1,itemName:0},dimsDef:["base"]},{name:c,type:Ym(f),dimsDef:v.slice()}];return PM(this,{coordDimensions:m,dimensionsCount:v.length+1,encodeDefaulter:H(td,m,this)})},t.prototype.getBaseAxis=function(){var t=this._baseAxisDim;return this.ecModel.getComponent(t+"Axis",this.get(t+"AxisIndex")).axis},t}(),cP=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.defaultValueDimensions=[{name:"min",defaultTooltip:!0},{name:"Q1",defaultTooltip:!0},{name:"median",defaultTooltip:!0},{name:"Q3",defaultTooltip:!0},{name:"max",defaultTooltip:!0}],n.visualDrawType="stroke",n}return n(e,t),e.type="series.boxplot",e.dependencies=["xAxis","yAxis","grid"],e.defaultOption={z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,layout:null,boxWidth:[7,50],itemStyle:{color:"#fff",borderWidth:1},emphasis:{scale:!0,itemStyle:{borderWidth:2,shadowBlur:5,shadowOffsetX:1,shadowOffsetY:1,shadowColor:"rgba(0,0,0,0.2)"}},animationDuration:800},e}(bg);R(cP,hP,!0);var pP=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.render=function(t,e,n){var i=t.getData(),r=this.group,o=this._data;this._data||r.removeAll();var a="horizontal"===t.get("layout")?1:0;i.diff(o).add((function(t){if(i.hasValue(t)){var e=gP(i.getItemLayout(t),i,t,a,!0);i.setItemGraphicEl(t,e),r.add(e)}})).update((function(t,e){var n=o.getItemGraphicEl(e);if(i.hasValue(t)){var s=i.getItemLayout(t);n?(Sh(n),yP(s,n,i,t)):n=gP(s,i,t,a),r.add(n),i.setItemGraphicEl(t,n)}else r.remove(n)})).remove((function(t){var e=o.getItemGraphicEl(t);e&&r.remove(e)})).execute(),this._data=i},e.prototype.remove=function(t){var e=this.group,n=this._data;this._data=null,n&&n.eachItemGraphicEl((function(t){t&&e.remove(t)}))},e.type="boxplot",e}(Og),dP=function(){},fP=function(t){function e(e){var n=t.call(this,e)||this;return n.type="boxplotBoxPath",n}return n(e,t),e.prototype.getDefaultShape=function(){return new dP},e.prototype.buildPath=function(t,e){var n=e.points,i=0;for(t.moveTo(n[i][0],n[i][1]),i++;i<4;i++)t.lineTo(n[i][0],n[i][1]);for(t.closePath();ig){var _=[v,x];i.push(_)}}}return{boxData:n,outliers:i}}(e.getRawData(),t.config);return[{dimensions:["ItemName","Low","Q1","Q2","Q3","High"],data:i.boxData},{data:i.outliers}]}};var bP=["color","borderColor"],wP=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.render=function(t,e,n){this.group.removeClipPath(),this._progressiveEls=null,this._updateDrawMode(t),this._isLargeDraw?this._renderLarge(t):this._renderNormal(t)},e.prototype.incrementalPrepareRender=function(t,e,n){this._clear(),this._updateDrawMode(t)},e.prototype.incrementalRender=function(t,e,n,i){this._progressiveEls=[],this._isLargeDraw?this._incrementalRenderLarge(t,e):this._incrementalRenderNormal(t,e)},e.prototype.eachRendered=function(t){Jh(this._progressiveEls||this.group,t)},e.prototype._updateDrawMode=function(t){var e=t.pipelineContext.large;null!=this._isLargeDraw&&e===this._isLargeDraw||(this._isLargeDraw=e,this._clear())},e.prototype._renderNormal=function(t){var e=t.getData(),n=this._data,i=this.group,r=e.getLayout("isSimpleBox"),o=t.get("clip",!0),a=t.coordinateSystem,s=a.getArea&&a.getArea();this._data||i.removeAll(),e.diff(n).add((function(n){if(e.hasValue(n)){var a=e.getItemLayout(n);if(o&&TP(s,a))return;var l=IP(a,n,!0);mh(l,{shape:{points:a.ends}},t,n),CP(l,e,n,r),i.add(l),e.setItemGraphicEl(n,l)}})).update((function(a,l){var u=n.getItemGraphicEl(l);if(e.hasValue(a)){var h=e.getItemLayout(a);o&&TP(s,h)?i.remove(u):(u?(vh(u,{shape:{points:h.ends}},t,a),Sh(u)):u=IP(h),CP(u,e,a,r),i.add(u),e.setItemGraphicEl(a,u))}else i.remove(u)})).remove((function(t){var e=n.getItemGraphicEl(t);e&&i.remove(e)})).execute(),this._data=e},e.prototype._renderLarge=function(t){this._clear(),LP(t,this.group);var e=t.get("clip",!0)?LS(t.coordinateSystem,!1,t):null;e?this.group.setClipPath(e):this.group.removeClipPath()},e.prototype._incrementalRenderNormal=function(t,e){for(var n,i=e.getData(),r=i.getLayout("isSimpleBox");null!=(n=t.next());){var o=IP(i.getItemLayout(n));CP(o,i,n,r),o.incremental=!0,this.group.add(o),this._progressiveEls.push(o)}},e.prototype._incrementalRenderLarge=function(t,e){LP(e,this.group,this._progressiveEls,!0)},e.prototype.remove=function(t){this._clear()},e.prototype._clear=function(){this.group.removeAll(),this._data=null},e.type="candlestick",e}(Og),SP=function(){},MP=function(t){function e(e){var n=t.call(this,e)||this;return n.type="normalCandlestickBox",n}return n(e,t),e.prototype.getDefaultShape=function(){return new SP},e.prototype.buildPath=function(t,e){var n=e.points;this.__simpleBox?(t.moveTo(n[4][0],n[4][1]),t.lineTo(n[6][0],n[6][1])):(t.moveTo(n[0][0],n[0][1]),t.lineTo(n[1][0],n[1][1]),t.lineTo(n[2][0],n[2][1]),t.lineTo(n[3][0],n[3][1]),t.closePath(),t.moveTo(n[4][0],n[4][1]),t.lineTo(n[5][0],n[5][1]),t.moveTo(n[6][0],n[6][1]),t.lineTo(n[7][0],n[7][1]))},e}(ks);function IP(t,e,n){var i=t.ends;return new MP({shape:{points:n?DP(i,t):i},z2:100})}function TP(t,e){for(var n=!0,i=0;i0?"borderColor":"borderColor0"])||n.get(["itemStyle",t>0?"color":"color0"]);0===t&&(r=n.get(["itemStyle","borderColorDoji"]));var o=n.getModel("itemStyle").getItemStyle(bP);e.useStyle(o),e.style.fill=null,e.style.stroke=r}var OP=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.defaultValueDimensions=[{name:"open",defaultTooltip:!0},{name:"close",defaultTooltip:!0},{name:"lowest",defaultTooltip:!0},{name:"highest",defaultTooltip:!0}],n}return n(e,t),e.prototype.getShadowDim=function(){return"open"},e.prototype.brushSelector=function(t,e,n){var i=e.getItemLayout(t);return i&&n.rect(i.brushRect)},e.type="series.candlestick",e.dependencies=["xAxis","yAxis","grid"],e.defaultOption={z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,layout:null,clip:!0,itemStyle:{color:"#eb5454",color0:"#47b262",borderColor:"#eb5454",borderColor0:"#47b262",borderColorDoji:null,borderWidth:1},emphasis:{scale:!0,itemStyle:{borderWidth:2}},barMaxWidth:null,barMinWidth:null,barWidth:null,large:!0,largeThreshold:600,progressive:3e3,progressiveThreshold:1e4,progressiveChunkMode:"mod",animationEasing:"linear",animationDuration:300},e}(bg);function RP(t){t&&Y(t.series)&&E(t.series,(function(t){q(t)&&"k"===t.type&&(t.type="candlestick")}))}R(OP,hP,!0);var NP=["itemStyle","borderColor"],EP=["itemStyle","borderColor0"],zP=["itemStyle","borderColorDoji"],VP=["itemStyle","color"],BP=["itemStyle","color0"],FP={seriesType:"candlestick",plan:kg(),performRawSeries:!0,reset:function(t,e){function n(t,e){return e.get(t>0?VP:BP)}function i(t,e){return e.get(0===t?zP:t>0?NP:EP)}if(!e.isSeriesFiltered(t))return!t.pipelineContext.large&&{progress:function(t,e){for(var r;null!=(r=t.next());){var o=e.getItemModel(r),a=e.getItemLayout(r).sign,s=o.getItemStyle();s.fill=n(a,o),s.stroke=i(a,o)||s.fill,A(e.ensureUniqueItemVisual(r,"style"),s)}}}}},GP={seriesType:"candlestick",plan:kg(),reset:function(t){var e=t.coordinateSystem,n=t.getData(),i=function(t,e){var n,i=t.getBaseAxis(),r="category"===i.type?i.getBandWidth():(n=i.getExtent(),Math.abs(n[1]-n[0])/e.count()),o=$r(rt(t.get("barMaxWidth"),r),r),a=$r(rt(t.get("barMinWidth"),1),r),s=t.get("barWidth");return null!=s?$r(s,r):Math.max(Math.min(r/2,o),a)}(t,n),r=["x","y"],o=n.getDimensionIndex(n.mapDimension(r[0])),a=z(n.mapDimensionsAll(r[1]),n.getDimensionIndex,n),s=a[0],l=a[1],u=a[2],h=a[3];if(n.setLayout({candleWidth:i,isSimpleBox:i<=1.3}),!(o<0||a.length<4))return{progress:t.pipelineContext.large?function(n,i){var r,a,c=Bx(4*n.count),p=0,d=[],f=[],g=i.getStore(),y=!!t.get(["itemStyle","borderColorDoji"]);for(;null!=(a=n.next());){var v=g.get(o,a),m=g.get(s,a),x=g.get(l,a),_=g.get(u,a),b=g.get(h,a);isNaN(v)||isNaN(_)||isNaN(b)?(c[p++]=NaN,p+=3):(c[p++]=WP(g,a,m,x,l,y),d[0]=v,d[1]=_,r=e.dataToPoint(d,null,f),c[p++]=r?r[0]:NaN,c[p++]=r?r[1]:NaN,d[1]=b,r=e.dataToPoint(d,null,f),c[p++]=r?r[1]:NaN)}i.setLayout("largePoints",c)}:function(t,n){var r,a=n.getStore();for(;null!=(r=t.next());){var c=a.get(o,r),p=a.get(s,r),d=a.get(l,r),f=a.get(u,r),g=a.get(h,r),y=Math.min(p,d),v=Math.max(p,d),m=M(y,c),x=M(v,c),_=M(f,c),b=M(g,c),w=[];I(w,x,0),I(w,m,1),w.push(C(b),C(x),C(_),C(m));var S=!!n.getItemModel(r).get(["itemStyle","borderColorDoji"]);n.setItemLayout(r,{sign:WP(a,r,p,d,l,S),initBaseline:p>d?x[1]:m[1],ends:w,brushRect:T(f,g,c)})}function M(t,n){var i=[];return i[0]=n,i[1]=t,isNaN(n)||isNaN(t)?[NaN,NaN]:e.dataToPoint(i)}function I(t,e,n){var r=e.slice(),o=e.slice();r[0]=Vh(r[0]+i/2,1,!1),o[0]=Vh(o[0]-i/2,1,!0),n?t.push(r,o):t.push(o,r)}function T(t,e,n){var r=M(t,n),o=M(e,n);return r[0]-=i/2,o[0]-=i/2,{x:r[0],y:r[1],width:i,height:o[1]-r[1]}}function C(t){return t[0]=Vh(t[0],1),t}}}}};function WP(t,e,n,i,r,o){return n>i?-1:n0?t.get(r,e-1)<=i?1:-1:1}function HP(t,e){var n=e.rippleEffectColor||e.color;t.eachChild((function(t){t.attr({z:e.z,zlevel:e.zlevel,style:{stroke:"stroke"===e.brushType?n:null,fill:"fill"===e.brushType?n:null}})}))}var YP=function(t){function e(e,n){var i=t.call(this)||this,r=new dS(e,n),o=new Br;return i.add(r),i.add(o),i.updateData(e,n),i}return n(e,t),e.prototype.stopEffectAnimation=function(){this.childAt(1).removeAll()},e.prototype.startEffectAnimation=function(t){for(var e=t.symbolType,n=t.color,i=t.rippleNumber,r=this.childAt(1),o=0;o0&&(o=this._getLineLength(i)/l*1e3),o!==this._period||a!==this._loop||s!==this._roundTrip){i.stopAnimation();var h=void 0;h=X(u)?u(n):u,i.__t>0&&(h=-o*i.__t),this._animateSymbol(i,o,h,a,s)}this._period=o,this._loop=a,this._roundTrip=s}},e.prototype._animateSymbol=function(t,e,n,i,r){if(e>0){t.__t=0;var o=this,a=t.animate("",i).when(r?2*e:e,{__t:r?2:1}).delay(n).during((function(){o._updateSymbolPosition(t)}));i||a.done((function(){o.remove(t)})),a.start()}},e.prototype._getLineLength=function(t){return Vt(t.__p1,t.__cp1)+Vt(t.__cp1,t.__p2)},e.prototype._updateAnimationPoints=function(t,e){t.__p1=e[0],t.__p2=e[1],t.__cp1=e[2]||[(e[0][0]+e[1][0])/2,(e[0][1]+e[1][1])/2]},e.prototype.updateData=function(t,e,n){this.childAt(0).updateData(t,e,n),this._updateEffectSymbol(t,e)},e.prototype._updateSymbolPosition=function(t){var e=t.__p1,n=t.__p2,i=t.__cp1,r=t.__t<1?t.__t:2-t.__t,o=[t.x,t.y],a=o.slice(),s=In,l=Tn;o[0]=s(e[0],i[0],n[0],r),o[1]=s(e[1],i[1],n[1],r);var u=t.__t<1?l(e[0],i[0],n[0],r):l(n[0],i[0],e[0],1-r),h=t.__t<1?l(e[1],i[1],n[1],r):l(n[1],i[1],e[1],1-r);t.rotation=-Math.atan2(h,u)-Math.PI/2,"line"!==this._symbolType&&"rect"!==this._symbolType&&"roundRect"!==this._symbolType||(void 0!==t.__lastT&&t.__lastT=0&&!(i[o]<=e);o--);o=Math.min(o,r-2)}else{for(o=a;oe);o++);o=Math.min(o-1,r-2)}var s=(e-i[o])/(i[o+1]-i[o]),l=n[o],u=n[o+1];t.x=l[0]*(1-s)+s*u[0],t.y=l[1]*(1-s)+s*u[1];var h=t.__t<1?u[0]-l[0]:l[0]-u[0],c=t.__t<1?u[1]-l[1]:l[1]-u[1];t.rotation=-Math.atan2(c,h)-Math.PI/2,this._lastFrame=o,this._lastFramePercent=e,t.ignore=!1}},e}(ZP),KP=function(){this.polyline=!1,this.curveness=0,this.segs=[]},$P=function(t){function e(e){var n=t.call(this,e)||this;return n._off=0,n.hoverDataIdx=-1,n}return n(e,t),e.prototype.reset=function(){this.notClear=!1,this._off=0},e.prototype.getDefaultStyle=function(){return{stroke:"#000",fill:null}},e.prototype.getDefaultShape=function(){return new KP},e.prototype.buildPath=function(t,e){var n,i=e.segs,r=e.curveness;if(e.polyline)for(n=this._off;n0){t.moveTo(i[n++],i[n++]);for(var a=1;a0){var c=(s+u)/2-(l-h)*r,p=(l+h)/2-(u-s)*r;t.quadraticCurveTo(c,p,u,h)}else t.lineTo(u,h)}this.incremental&&(this._off=n,this.notClear=!0)},e.prototype.findDataIndex=function(t,e){var n=this.shape,i=n.segs,r=n.curveness,o=this.style.lineWidth;if(n.polyline)for(var a=0,s=0;s0)for(var u=i[s++],h=i[s++],c=1;c0){if(ds(u,h,(u+p)/2-(h-d)*r,(h+d)/2-(p-u)*r,p,d,o,t,e))return a}else if(cs(u,h,p,d,o,t,e))return a;a++}return-1},e.prototype.contain=function(t,e){var n=this.transformCoordToLocal(t,e),i=this.getBoundingRect();return t=n[0],e=n[1],i.contain(t,e)?(this.hoverDataIdx=this.findDataIndex(t,e))>=0:(this.hoverDataIdx=-1,!1)},e.prototype.getBoundingRect=function(){var t=this._rect;if(!t){for(var e=this.shape.segs,n=1/0,i=1/0,r=-1/0,o=-1/0,a=0;a0&&(o.dataIndex=n+t.__startIndex)}))},t.prototype._clear=function(){this._newAdded=[],this.group.removeAll()},t}(),QP={seriesType:"lines",plan:kg(),reset:function(t){var e=t.coordinateSystem;if(e){var n=t.get("polyline"),i=t.pipelineContext.large;return{progress:function(r,o){var a=[];if(i){var s=void 0,l=r.end-r.start;if(n){for(var u=0,h=r.start;h0&&(l||s.configLayer(o,{motionBlur:!0,lastFrameAlpha:Math.max(Math.min(a/10+.9,1),0)})),r.updateData(i);var u=t.get("clip",!0)&&LS(t.coordinateSystem,!1,t);u?this.group.setClipPath(u):this.group.removeClipPath(),this._lastZlevel=o,this._finished=!0},e.prototype.incrementalPrepareRender=function(t,e,n){var i=t.getData();this._updateLineDraw(i,t).incrementalPrepareUpdate(i),this._clearLayer(n),this._finished=!1},e.prototype.incrementalRender=function(t,e,n){this._lineDraw.incrementalUpdate(t,e.getData()),this._finished=t.end===e.getData().count()},e.prototype.eachRendered=function(t){this._lineDraw&&this._lineDraw.eachRendered(t)},e.prototype.updateTransform=function(t,e,n){var i=t.getData(),r=t.pipelineContext;if(!this._finished||r.large||r.progressiveRender)return{update:!0};var o=QP.reset(t,e,n);o.progress&&o.progress({start:0,end:i.count(),count:i.count()},i),this._lineDraw.updateLayout(),this._clearLayer(n)},e.prototype._updateLineDraw=function(t,e){var n=this._lineDraw,i=this._showEffect(e),r=!!e.get("polyline"),o=e.pipelineContext.large;return n&&i===this._hasEffet&&r===this._isPolyline&&o===this._isLargeDraw||(n&&n.remove(),n=this._lineDraw=o?new JP:new WA(r?i?qP:jP:i?ZP:GA),this._hasEffet=i,this._isPolyline=r,this._isLargeDraw=o),this.group.add(n.group),n},e.prototype._showEffect=function(t){return!!t.get(["effect","show"])},e.prototype._clearLayer=function(t){var e=t.getZr();"svg"===e.painter.getType()||null==this._lastZlevel||e.painter.getLayer(this._lastZlevel).clear(!0)},e.prototype.remove=function(t,e){this._lineDraw&&this._lineDraw.remove(),this._lineDraw=null,this._clearLayer(e)},e.prototype.dispose=function(t,e){this.remove(t,e)},e.type="lines",e}(Og),eO="undefined"==typeof Uint32Array?Array:Uint32Array,nO="undefined"==typeof Float64Array?Array:Float64Array;function iO(t){var e=t.data;e&&e[0]&&e[0][0]&&e[0][0].coord&&(t.data=z(e,(function(t){var e={coords:[t[0].coord,t[1].coord]};return t[0].name&&(e.fromName=t[0].name),t[1].name&&(e.toName=t[1].name),D([e,t[0],t[1]])})))}var rO=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.visualStyleAccessPath="lineStyle",n.visualDrawType="stroke",n}return n(e,t),e.prototype.init=function(e){e.data=e.data||[],iO(e);var n=this._processFlatCoordsArray(e.data);this._flatCoords=n.flatCoords,this._flatCoordsOffset=n.flatCoordsOffset,n.flatCoords&&(e.data=new Float32Array(n.count)),t.prototype.init.apply(this,arguments)},e.prototype.mergeOption=function(e){if(iO(e),e.data){var n=this._processFlatCoordsArray(e.data);this._flatCoords=n.flatCoords,this._flatCoordsOffset=n.flatCoordsOffset,n.flatCoords&&(e.data=new Float32Array(n.count))}t.prototype.mergeOption.apply(this,arguments)},e.prototype.appendData=function(t){var e=this._processFlatCoordsArray(t.data);e.flatCoords&&(this._flatCoords?(this._flatCoords=vt(this._flatCoords,e.flatCoords),this._flatCoordsOffset=vt(this._flatCoordsOffset,e.flatCoordsOffset)):(this._flatCoords=e.flatCoords,this._flatCoordsOffset=e.flatCoordsOffset),t.data=new Float32Array(e.count)),this.getRawData().appendData(t.data)},e.prototype._getCoordsFromItemModel=function(t){var e=this.getData().getItemModel(t),n=e.option instanceof Array?e.option:e.getShallow("coords");return n},e.prototype.getLineCoordsCount=function(t){return this._flatCoordsOffset?this._flatCoordsOffset[2*t+1]:this._getCoordsFromItemModel(t).length},e.prototype.getLineCoords=function(t,e){if(this._flatCoordsOffset){for(var n=this._flatCoordsOffset[2*t],i=this._flatCoordsOffset[2*t+1],r=0;r ")})},e.prototype.preventIncremental=function(){return!!this.get(["effect","show"])},e.prototype.getProgressive=function(){var t=this.option.progressive;return null==t?this.option.large?1e4:this.get("progressive"):t},e.prototype.getProgressiveThreshold=function(){var t=this.option.progressiveThreshold;return null==t?this.option.large?2e4:this.get("progressiveThreshold"):t},e.prototype.getZLevelKey=function(){var t=this.getModel("effect"),e=t.get("trailLength");return this.getData().count()>this.getProgressiveThreshold()?this.id:t.get("show")&&e>0?e+"":""},e.type="series.lines",e.dependencies=["grid","polar","geo","calendar"],e.defaultOption={coordinateSystem:"geo",z:2,legendHoverLink:!0,xAxisIndex:0,yAxisIndex:0,symbol:["none","none"],symbolSize:[10,10],geoIndex:0,effect:{show:!1,period:4,constantSpeed:0,symbol:"circle",symbolSize:3,loop:!0,trailLength:.2},large:!1,largeThreshold:2e3,polyline:!1,clip:!0,label:{show:!1,position:"end"},lineStyle:{opacity:.5}},e}(bg);function oO(t){return t instanceof Array||(t=[t,t]),t}var aO={seriesType:"lines",reset:function(t){var e=oO(t.get("symbol")),n=oO(t.get("symbolSize")),i=t.getData();return i.setVisual("fromSymbol",e&&e[0]),i.setVisual("toSymbol",e&&e[1]),i.setVisual("fromSymbolSize",n&&n[0]),i.setVisual("toSymbolSize",n&&n[1]),{dataEach:i.hasItemOption?function(t,e){var n=t.getItemModel(e),i=oO(n.getShallow("symbol",!0)),r=oO(n.getShallow("symbolSize",!0));i[0]&&t.setItemVisual(e,"fromSymbol",i[0]),i[1]&&t.setItemVisual(e,"toSymbol",i[1]),r[0]&&t.setItemVisual(e,"fromSymbolSize",r[0]),r[1]&&t.setItemVisual(e,"toSymbolSize",r[1])}:null}}};var sO=function(){function t(){this.blurSize=30,this.pointSize=20,this.maxOpacity=1,this.minOpacity=0,this._gradientPixels={inRange:null,outOfRange:null};var t=h.createCanvas();this.canvas=t}return t.prototype.update=function(t,e,n,i,r,o){var a=this._getBrush(),s=this._getGradient(r,"inRange"),l=this._getGradient(r,"outOfRange"),u=this.pointSize+this.blurSize,h=this.canvas,c=h.getContext("2d"),p=t.length;h.width=e,h.height=n;for(var d=0;d0){var I=o(v)?s:l;v>0&&(v=v*S+w),x[_++]=I[M],x[_++]=I[M+1],x[_++]=I[M+2],x[_++]=I[M+3]*v*256}else _+=4}return c.putImageData(m,0,0),h},t.prototype._getBrush=function(){var t=this._brushCanvas||(this._brushCanvas=h.createCanvas()),e=this.pointSize+this.blurSize,n=2*e;t.width=n,t.height=n;var i=t.getContext("2d");return i.clearRect(0,0,n,n),i.shadowOffsetX=n,i.shadowBlur=this.blurSize,i.shadowColor="#000",i.beginPath(),i.arc(-e,e,this.pointSize,0,2*Math.PI,!0),i.closePath(),i.fill(),t},t.prototype._getGradient=function(t,e){for(var n=this._gradientPixels,i=n[e]||(n[e]=new Uint8ClampedArray(1024)),r=[0,0,0,0],o=0,a=0;a<256;a++)t[e](a/255,!0,r),i[o++]=r[0],i[o++]=r[1],i[o++]=r[2],i[o++]=r[3];return i},t}();function lO(t){var e=t.dimensions;return"lng"===e[0]&&"lat"===e[1]}var uO=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.render=function(t,e,n){var i;e.eachComponent("visualMap",(function(e){e.eachTargetSeries((function(n){n===t&&(i=e)}))})),this._progressiveEls=null,this.group.removeAll();var r=t.coordinateSystem;"cartesian2d"===r.type||"calendar"===r.type?this._renderOnCartesianAndCalendar(t,n,0,t.getData().count()):lO(r)&&this._renderOnGeo(r,t,i,n)},e.prototype.incrementalPrepareRender=function(t,e,n){this.group.removeAll()},e.prototype.incrementalRender=function(t,e,n,i){var r=e.coordinateSystem;r&&(lO(r)?this.render(e,n,i):(this._progressiveEls=[],this._renderOnCartesianAndCalendar(e,i,t.start,t.end,!0)))},e.prototype.eachRendered=function(t){Jh(this._progressiveEls||this.group,t)},e.prototype._renderOnCartesianAndCalendar=function(t,e,n,i,r){var o,a,s,l,u=t.coordinateSystem,h=PS(u,"cartesian2d");if(h){var c=u.getAxis("x"),p=u.getAxis("y");0,o=c.getBandWidth()+.5,a=p.getBandWidth()+.5,s=c.scale.getExtent(),l=p.scale.getExtent()}for(var d=this.group,f=t.getData(),g=t.getModel(["emphasis","itemStyle"]).getItemStyle(),y=t.getModel(["blur","itemStyle"]).getItemStyle(),v=t.getModel(["select","itemStyle"]).getItemStyle(),m=t.get(["itemStyle","borderRadius"]),x=rc(t),_=t.getModel("emphasis"),b=_.get("focus"),w=_.get("blurScope"),S=_.get("disabled"),M=h?[f.mapDimension("x"),f.mapDimension("y"),f.mapDimension("value")]:[f.mapDimension("time"),f.mapDimension("value")],I=n;Is[1]||Al[1])continue;var k=u.dataToPoint([D,A]);T=new Ws({shape:{x:k[0]-o/2,y:k[1]-a/2,width:o,height:a},style:C})}else{if(isNaN(f.get(M[1],I)))continue;T=new Ws({z2:1,shape:u.dataToRect([f.get(M[0],I)]).contentShape,style:C})}if(f.hasItemOption){var L=f.getItemModel(I),P=L.getModel("emphasis");g=P.getModel("itemStyle").getItemStyle(),y=L.getModel(["blur","itemStyle"]).getItemStyle(),v=L.getModel(["select","itemStyle"]).getItemStyle(),m=L.get(["itemStyle","borderRadius"]),b=P.get("focus"),w=P.get("blurScope"),S=P.get("disabled"),x=rc(L)}T.shape.r=m;var O=t.getRawValue(I),R="-";O&&null!=O[2]&&(R=O[2]+""),ic(T,x,{labelFetcher:t,labelDataIndex:I,defaultOpacity:C.opacity,defaultText:R}),T.ensureState("emphasis").style=g,T.ensureState("blur").style=y,T.ensureState("select").style=v,Zl(T,b,w,S),T.incremental=r,r&&(T.states.emphasis.hoverLayer=!0),d.add(T),f.setItemGraphicEl(I,T),this._progressiveEls&&this._progressiveEls.push(T)}},e.prototype._renderOnGeo=function(t,e,n,i){var r=n.targetVisuals.inRange,o=n.targetVisuals.outOfRange,a=e.getData(),s=this._hmLayer||this._hmLayer||new sO;s.blurSize=e.get("blurSize"),s.pointSize=e.get("pointSize"),s.minOpacity=e.get("minOpacity"),s.maxOpacity=e.get("maxOpacity");var l=t.getViewRect().clone(),u=t.getRoamTransform();l.applyTransform(u);var h=Math.max(l.x,0),c=Math.max(l.y,0),p=Math.min(l.width+l.x,i.getWidth()),d=Math.min(l.height+l.y,i.getHeight()),f=p-h,g=d-c,y=[a.mapDimension("lng"),a.mapDimension("lat"),a.mapDimension("value")],v=a.mapArray(y,(function(e,n,i){var r=t.dataToPoint([e,n]);return r[0]-=h,r[1]-=c,r.push(i),r})),m=n.getExtent(),x="visualMap.continuous"===n.type?function(t,e){var n=t[1]-t[0];return e=[(e[0]-t[0])/n,(e[1]-t[0])/n],function(t){return t>=e[0]&&t<=e[1]}}(m,n.option.range):function(t,e,n){var i=t[1]-t[0],r=(e=z(e,(function(e){return{interval:[(e.interval[0]-t[0])/i,(e.interval[1]-t[0])/i]}}))).length,o=0;return function(t){var i;for(i=o;i=0;i--){var a;if((a=e[i].interval)[0]<=t&&t<=a[1]){o=i;break}}return i>=0&&i0?1:-1}(n,o,r,i,c),function(t,e,n,i,r,o,a,s,l,u){var h,c=l.valueDim,p=l.categoryDim,d=Math.abs(n[p.wh]),f=t.getItemVisual(e,"symbolSize");h=Y(f)?f.slice():null==f?["100%","100%"]:[f,f];h[p.index]=$r(h[p.index],d),h[c.index]=$r(h[c.index],i?d:Math.abs(o)),u.symbolSize=h;var g=u.symbolScale=[h[0]/s,h[1]/s];g[c.index]*=(l.isHorizontal?-1:1)*a}(t,e,r,o,0,c.boundingLength,c.pxSign,u,i,c),function(t,e,n,i,r){var o=t.get(cO)||0;o&&(dO.attr({scaleX:e[0],scaleY:e[1],rotation:n}),dO.updateTransform(),o/=dO.getLineScale(),o*=e[i.valueDim.index]);r.valueLineWidth=o||0}(n,c.symbolScale,l,i,c);var p=c.symbolSize,d=Zy(n.get("symbolOffset"),p);return function(t,e,n,i,r,o,a,s,l,u,h,c){var p=h.categoryDim,d=h.valueDim,f=c.pxSign,g=Math.max(e[d.index]+s,0),y=g;if(i){var v=Math.abs(l),m=it(t.get("symbolMargin"),"15%")+"",x=!1;m.lastIndexOf("!")===m.length-1&&(x=!0,m=m.slice(0,m.length-1));var _=$r(m,e[d.index]),b=Math.max(g+2*_,0),w=x?0:2*_,S=vo(i),M=S?i:LO((v+w)/b);b=g+2*(_=(v-M*g)/2/(x?M:Math.max(M-1,1))),w=x?0:2*_,S||"fixed"===i||(M=u?LO((Math.abs(u)+w)/b):0),y=M*b-w,c.repeatTimes=M,c.symbolMargin=_}var I=f*(y/2),T=c.pathPosition=[];T[p.index]=n[p.wh]/2,T[d.index]="start"===a?I:"end"===a?l-I:l/2,o&&(T[0]+=o[0],T[1]+=o[1]);var C=c.bundlePosition=[];C[p.index]=n[p.xy],C[d.index]=n[d.xy];var D=c.barRectShape=A({},n);D[d.wh]=f*Math.max(Math.abs(n[d.wh]),Math.abs(T[d.index]+I)),D[p.wh]=n[p.wh];var k=c.clipShape={};k[p.xy]=-n[p.xy],k[p.wh]=h.ecSize[p.wh],k[d.xy]=0,k[d.wh]=n[d.wh]}(n,p,r,o,0,d,s,c.valueLineWidth,c.boundingLength,c.repeatCutLength,i,c),c}function yO(t,e){return t.toGlobalCoord(t.dataToCoord(t.scale.parse(e)))}function vO(t){var e=t.symbolPatternSize,n=Xy(t.symbolType,-e/2,-e/2,e,e);return n.attr({culling:!0}),"image"!==n.type&&n.setStyle({strokeNoScale:!0}),n}function mO(t,e,n,i){var r=t.__pictorialBundle,o=n.symbolSize,a=n.valueLineWidth,s=n.pathPosition,l=e.valueDim,u=n.repeatTimes||0,h=0,c=o[e.valueDim.index]+a+2*n.symbolMargin;for(DO(t,(function(t){t.__pictorialAnimationIndex=h,t.__pictorialRepeatTimes=u,h0:i<0)&&(r=u-1-t),e[l.index]=c*(r-u/2+.5)+s[l.index],{x:e[0],y:e[1],scaleX:n.symbolScale[0],scaleY:n.symbolScale[1],rotation:n.rotation}}}function xO(t,e,n,i){var r=t.__pictorialBundle,o=t.__pictorialMainPath;o?AO(o,null,{x:n.pathPosition[0],y:n.pathPosition[1],scaleX:n.symbolScale[0],scaleY:n.symbolScale[1],rotation:n.rotation},n,i):(o=t.__pictorialMainPath=vO(n),r.add(o),AO(o,{x:n.pathPosition[0],y:n.pathPosition[1],scaleX:0,scaleY:0,rotation:n.rotation},{scaleX:n.symbolScale[0],scaleY:n.symbolScale[1]},n,i))}function _O(t,e,n){var i=A({},e.barRectShape),r=t.__pictorialBarRect;r?AO(r,null,{shape:i},e,n):((r=t.__pictorialBarRect=new Ws({z2:2,shape:i,silent:!0,style:{stroke:"transparent",fill:"transparent",lineWidth:0}})).disableMorphing=!0,t.add(r))}function bO(t,e,n,i){if(n.symbolClip){var r=t.__pictorialClipPath,o=A({},n.clipShape),a=e.valueDim,s=n.animationModel,l=n.dataIndex;if(r)vh(r,{shape:o},s,l);else{o[a.wh]=0,r=new Ws({shape:o}),t.__pictorialBundle.setClipPath(r),t.__pictorialClipPath=r;var u={};u[a.wh]=n.clipShape[a.wh],Qh[i?"updateProps":"initProps"](r,{shape:u},s,l)}}}function wO(t,e){var n=t.getItemModel(e);return n.getAnimationDelayParams=SO,n.isAnimationEnabled=MO,n}function SO(t){return{index:t.__pictorialAnimationIndex,count:t.__pictorialRepeatTimes}}function MO(){return this.parentModel.isAnimationEnabled()&&!!this.getShallow("animation")}function IO(t,e,n,i){var r=new Br,o=new Br;return r.add(o),r.__pictorialBundle=o,o.x=n.bundlePosition[0],o.y=n.bundlePosition[1],n.symbolRepeat?mO(r,e,n):xO(r,0,n),_O(r,n,i),bO(r,e,n,i),r.__pictorialShapeStr=CO(t,n),r.__pictorialSymbolMeta=n,r}function TO(t,e,n,i){var r=i.__pictorialBarRect;r&&r.removeTextContent();var o=[];DO(i,(function(t){o.push(t)})),i.__pictorialMainPath&&o.push(i.__pictorialMainPath),i.__pictorialClipPath&&(n=null),E(o,(function(t){_h(t,{scaleX:0,scaleY:0},n,e,(function(){i.parent&&i.parent.remove(i)}))})),t.setItemGraphicEl(e,null)}function CO(t,e){return[t.getItemVisual(e.dataIndex,"symbol")||"none",!!e.symbolRepeat,!!e.symbolClip].join(":")}function DO(t,e,n){E(t.__pictorialBundle.children(),(function(i){i!==t.__pictorialBarRect&&e.call(n,i)}))}function AO(t,e,n,i,r,o){e&&t.attr(e),i.symbolClip&&!r?n&&t.attr(n):n&&Qh[r?"updateProps":"initProps"](t,n,i.animationModel,i.dataIndex,o)}function kO(t,e,n){var i=n.dataIndex,r=n.itemModel,o=r.getModel("emphasis"),a=o.getModel("itemStyle").getItemStyle(),s=r.getModel(["blur","itemStyle"]).getItemStyle(),l=r.getModel(["select","itemStyle"]).getItemStyle(),u=r.getShallow("cursor"),h=o.get("focus"),c=o.get("blurScope"),p=o.get("scale");DO(t,(function(t){if(t instanceof Ns){var e=t.style;t.useStyle(A({image:e.image,x:e.x,y:e.y,width:e.width,height:e.height},n.style))}else t.useStyle(n.style);var i=t.ensureState("emphasis");i.style=a,p&&(i.scaleX=1.1*t.scaleX,i.scaleY=1.1*t.scaleY),t.ensureState("blur").style=s,t.ensureState("select").style=l,u&&(t.cursor=u),t.z2=n.z2}));var d=e.valueDim.posDesc[+(n.boundingLength>0)],f=t.__pictorialBarRect;f.ignoreClip=!0,ic(f,rc(r),{labelFetcher:e.seriesModel,labelDataIndex:i,defaultText:cS(e.seriesModel.getData(),i),inheritColor:n.style.fill,defaultOpacity:n.style.opacity,defaultOutsidePosition:d}),Zl(t,h,c,o.get("disabled"))}function LO(t){var e=Math.round(t);return Math.abs(t-e)<1e-4?e:Math.ceil(t)}var PO=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.hasSymbolVisual=!0,n.defaultSymbol="roundRect",n}return n(e,t),e.prototype.getInitialData=function(e){return e.stack=null,t.prototype.getInitialData.apply(this,arguments)},e.type="series.pictorialBar",e.dependencies=["grid"],e.defaultOption=kc(jS.defaultOption,{symbol:"circle",symbolSize:null,symbolRotate:null,symbolPosition:null,symbolOffset:null,symbolMargin:null,symbolRepeat:!1,symbolRepeatDirection:"end",symbolClip:!1,symbolBoundingData:null,symbolPatternSize:400,barGap:"-100%",clip:!1,progressive:0,emphasis:{scale:!1},select:{itemStyle:{borderColor:"#212121"}}}),e}(jS);var OO=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n._layers=[],n}return n(e,t),e.prototype.render=function(t,e,n){var i=t.getData(),r=this,o=this.group,a=t.getLayerSeries(),s=i.getLayout("layoutInfo"),l=s.rect,u=s.boundaryGap;function h(t){return t.name}o.x=0,o.y=l.y+u[0];var c=new Gm(this._layersSeries||[],a,h,h),p=[];function d(e,n,s){var l=r._layers;if("remove"!==e){for(var u,h,c=[],d=[],f=a[n].indices,g=0;go&&(o=s),i.push(s)}for(var u=0;uo&&(o=c)}return{y0:r,max:o}}(l),h=u.y0,c=n/u.max,p=o.length,d=o[0].indices.length,f=0;fI&&!so(C-I)&&C0?(r.virtualPiece?r.virtualPiece.updateData(!1,i,t,e,n):(r.virtualPiece=new zO(i,t,e,n),l.add(r.virtualPiece)),o.piece.off("click"),r.virtualPiece.on("click",(function(t){r._rootToNode(o.parentNode)}))):r.virtualPiece&&(l.remove(r.virtualPiece),r.virtualPiece=null)}(a,s),this._initEvents(),this._oldChildren=h},e.prototype._initEvents=function(){var t=this;this.group.off("click"),this.group.on("click",(function(e){var n=!1;t.seriesModel.getViewRoot().eachNode((function(i){if(!n&&i.piece&&i.piece===e.target){var r=i.getModel().get("nodeClick");if("rootToNode"===r)t._rootToNode(i);else if("link"===r){var o=i.getModel(),a=o.get("link");if(a)Mp(a,o.get("target",!0)||"_blank")}n=!0}}))}))},e.prototype._rootToNode=function(t){t!==this.seriesModel.getViewRoot()&&this.api.dispatchAction({type:VO,from:this.uid,seriesId:this.seriesModel.id,targetNode:t})},e.prototype.containPoint=function(t,e){var n=e.getData().getItemLayout(0);if(n){var i=t[0]-n.cx,r=t[1]-n.cy,o=Math.sqrt(i*i+r*r);return o<=n.r&&o>=n.r0}},e.type="sunburst",e}(Og),GO=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.ignoreStyleOnData=!0,n}return n(e,t),e.prototype.getInitialData=function(t,e){var n={name:t.name,children:t.data};WO(n);var i=this._levelModels=z(t.levels||[],(function(t){return new Cc(t,this,e)}),this),r=tD.createTree(n,this,(function(t){t.wrapMethod("getItemModel",(function(t,e){var n=r.getNodeByDataIndex(e),o=i[n.depth];return o&&(t.parentModel=o),t}))}));return r.data},e.prototype.optionUpdated=function(){this.resetViewRoot()},e.prototype.getDataParams=function(e){var n=t.prototype.getDataParams.apply(this,arguments),i=this.getData().tree.getNodeByDataIndex(e);return n.treePathInfo=rD(i,this),n},e.prototype.getLevelModel=function(t){return this._levelModels&&this._levelModels[t.depth]},e.prototype.getViewRoot=function(){return this._viewRoot},e.prototype.resetViewRoot=function(t){t?this._viewRoot=t:t=this._viewRoot;var e=this.getRawData().tree.root;t&&(t===e||e.contains(t))||(this._viewRoot=e)},e.prototype.enableAriaDecal=function(){hD(this)},e.type="series.sunburst",e.defaultOption={z:2,center:["50%","50%"],radius:[0,"75%"],clockwise:!0,startAngle:90,minAngle:0,stillShowZeroSum:!0,nodeClick:"rootToNode",renderLabelForZeroData:!1,label:{rotate:"radial",show:!0,opacity:1,align:"center",position:"inside",distance:5,silent:!0},itemStyle:{borderWidth:1,borderColor:"white",borderType:"solid",shadowBlur:0,shadowColor:"rgba(0, 0, 0, 0.2)",shadowOffsetX:0,shadowOffsetY:0,opacity:1},emphasis:{focus:"descendant"},blur:{itemStyle:{opacity:.2},label:{opacity:.1}},animationType:"expansion",animationDuration:1e3,animationDurationUpdate:500,data:[],sort:"desc"},e}(bg);function WO(t){var e=0;E(t.children,(function(t){WO(t);var n=t.value;Y(n)&&(n=n[0]),e+=n}));var n=t.value;Y(n)&&(n=n[0]),(null==n||isNaN(n))&&(n=e),n<0&&(n=0),Y(t.value)?t.value[0]=n:t.value=n}var HO=Math.PI/180;function YO(t,e,n){e.eachSeriesByType(t,(function(t){var e=t.get("center"),i=t.get("radius");Y(i)||(i=[0,i]),Y(e)||(e=[e,e]);var r=n.getWidth(),o=n.getHeight(),a=Math.min(r,o),s=$r(e[0],r),l=$r(e[1],o),u=$r(i[0],a/2),h=$r(i[1],a/2),c=-t.get("startAngle")*HO,p=t.get("minAngle")*HO,d=t.getData().tree.root,f=t.getViewRoot(),g=f.depth,y=t.get("sort");null!=y&&XO(f,y);var v=0;E(f.children,(function(t){!isNaN(t.getValue())&&v++}));var m=f.getValue(),x=Math.PI/(m||v)*2,_=f.depth>0,b=f.height-(_?-1:1),w=(h-u)/(b||1),S=t.get("clockwise"),M=t.get("stillShowZeroSum"),I=S?1:-1,T=function(e,n){if(e){var i=n;if(e!==d){var r=e.getValue(),o=0===m&&M?x:r*x;o1;)r=r.parentNode;var o=n.getColorFromPalette(r.name||r.dataIndex+"",e);return t.depth>1&&U(o)&&(o=$n(o,(t.depth-1)/(i-1)*.5)),o}(r,t,i.root.height)),A(n.ensureUniqueItemVisual(r.dataIndex,"style"),o)}))}))}var ZO={color:"fill",borderColor:"stroke"},jO={symbol:1,symbolSize:1,symbolKeepAspect:1,legendIcon:1,visualMeta:1,liftZ:1,decal:1},qO=Vo(),KO=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.optionUpdated=function(){this.currentZLevel=this.get("zlevel",!0),this.currentZ=this.get("z",!0)},e.prototype.getInitialData=function(t,e){return _x(null,this)},e.prototype.getDataParams=function(e,n,i){var r=t.prototype.getDataParams.call(this,e,n);return i&&(r.info=qO(i).info),r},e.type="series.custom",e.dependencies=["grid","polar","geo","singleAxis","calendar"],e.defaultOption={coordinateSystem:"cartesian2d",z:2,legendHoverLink:!0,clip:!1},e}(bg);function $O(t,e){return e=e||[0,0],z(["x","y"],(function(n,i){var r=this.getAxis(n),o=e[i],a=t[i]/2;return"category"===r.type?r.getBandWidth():Math.abs(r.dataToCoord(o-a)-r.dataToCoord(o+a))}),this)}function JO(t,e){return e=e||[0,0],z([0,1],(function(n){var i=e[n],r=t[n]/2,o=[],a=[];return o[n]=i-r,a[n]=i+r,o[1-n]=a[1-n]=e[1-n],Math.abs(this.dataToPoint(o)[n]-this.dataToPoint(a)[n])}),this)}function QO(t,e){var n=this.getAxis(),i=e instanceof Array?e[0]:e,r=(t instanceof Array?t[0]:t)/2;return"category"===n.type?n.getBandWidth():Math.abs(n.dataToCoord(i-r)-n.dataToCoord(i+r))}function tR(t,e){return e=e||[0,0],z(["Radius","Angle"],(function(n,i){var r=this["get"+n+"Axis"](),o=e[i],a=t[i]/2,s="category"===r.type?r.getBandWidth():Math.abs(r.dataToCoord(o-a)-r.dataToCoord(o+a));return"Angle"===n&&(s=s*Math.PI/180),s}),this)}function eR(t,e,n,i){return t&&(t.legacy||!1!==t.legacy&&!n&&!i&&"tspan"!==e&&("text"===e||_t(t,"text")))}function nR(t,e,n){var i,r,o,a=t;if("text"===e)o=a;else{o={},_t(a,"text")&&(o.text=a.text),_t(a,"rich")&&(o.rich=a.rich),_t(a,"textFill")&&(o.fill=a.textFill),_t(a,"textStroke")&&(o.stroke=a.textStroke),_t(a,"fontFamily")&&(o.fontFamily=a.fontFamily),_t(a,"fontSize")&&(o.fontSize=a.fontSize),_t(a,"fontStyle")&&(o.fontStyle=a.fontStyle),_t(a,"fontWeight")&&(o.fontWeight=a.fontWeight),r={type:"text",style:o,silent:!0},i={};var s=_t(a,"textPosition");n?i.position=s?a.textPosition:"inside":s&&(i.position=a.textPosition),_t(a,"textPosition")&&(i.position=a.textPosition),_t(a,"textOffset")&&(i.offset=a.textOffset),_t(a,"textRotation")&&(i.rotation=a.textRotation),_t(a,"textDistance")&&(i.distance=a.textDistance)}return iR(o,t),E(o.rich,(function(t){iR(t,t)})),{textConfig:i,textContent:r}}function iR(t,e){e&&(e.font=e.textFont||e.font,_t(e,"textStrokeWidth")&&(t.lineWidth=e.textStrokeWidth),_t(e,"textAlign")&&(t.align=e.textAlign),_t(e,"textVerticalAlign")&&(t.verticalAlign=e.textVerticalAlign),_t(e,"textLineHeight")&&(t.lineHeight=e.textLineHeight),_t(e,"textWidth")&&(t.width=e.textWidth),_t(e,"textHeight")&&(t.height=e.textHeight),_t(e,"textBackgroundColor")&&(t.backgroundColor=e.textBackgroundColor),_t(e,"textPadding")&&(t.padding=e.textPadding),_t(e,"textBorderColor")&&(t.borderColor=e.textBorderColor),_t(e,"textBorderWidth")&&(t.borderWidth=e.textBorderWidth),_t(e,"textBorderRadius")&&(t.borderRadius=e.textBorderRadius),_t(e,"textBoxShadowColor")&&(t.shadowColor=e.textBoxShadowColor),_t(e,"textBoxShadowBlur")&&(t.shadowBlur=e.textBoxShadowBlur),_t(e,"textBoxShadowOffsetX")&&(t.shadowOffsetX=e.textBoxShadowOffsetX),_t(e,"textBoxShadowOffsetY")&&(t.shadowOffsetY=e.textBoxShadowOffsetY))}function rR(t,e,n){var i=t;i.textPosition=i.textPosition||n.position||"inside",null!=n.offset&&(i.textOffset=n.offset),null!=n.rotation&&(i.textRotation=n.rotation),null!=n.distance&&(i.textDistance=n.distance);var r=i.textPosition.indexOf("inside")>=0,o=t.fill||"#000";oR(i,e);var a=null==i.textFill;return r?a&&(i.textFill=n.insideFill||"#fff",!i.textStroke&&n.insideStroke&&(i.textStroke=n.insideStroke),!i.textStroke&&(i.textStroke=o),null==i.textStrokeWidth&&(i.textStrokeWidth=2)):(a&&(i.textFill=t.fill||n.outsideFill||"#000"),!i.textStroke&&n.outsideStroke&&(i.textStroke=n.outsideStroke)),i.text=e.text,i.rich=e.rich,E(e.rich,(function(t){oR(t,t)})),i}function oR(t,e){e&&(_t(e,"fill")&&(t.textFill=e.fill),_t(e,"stroke")&&(t.textStroke=e.fill),_t(e,"lineWidth")&&(t.textStrokeWidth=e.lineWidth),_t(e,"font")&&(t.font=e.font),_t(e,"fontStyle")&&(t.fontStyle=e.fontStyle),_t(e,"fontWeight")&&(t.fontWeight=e.fontWeight),_t(e,"fontSize")&&(t.fontSize=e.fontSize),_t(e,"fontFamily")&&(t.fontFamily=e.fontFamily),_t(e,"align")&&(t.textAlign=e.align),_t(e,"verticalAlign")&&(t.textVerticalAlign=e.verticalAlign),_t(e,"lineHeight")&&(t.textLineHeight=e.lineHeight),_t(e,"width")&&(t.textWidth=e.width),_t(e,"height")&&(t.textHeight=e.height),_t(e,"backgroundColor")&&(t.textBackgroundColor=e.backgroundColor),_t(e,"padding")&&(t.textPadding=e.padding),_t(e,"borderColor")&&(t.textBorderColor=e.borderColor),_t(e,"borderWidth")&&(t.textBorderWidth=e.borderWidth),_t(e,"borderRadius")&&(t.textBorderRadius=e.borderRadius),_t(e,"shadowColor")&&(t.textBoxShadowColor=e.shadowColor),_t(e,"shadowBlur")&&(t.textBoxShadowBlur=e.shadowBlur),_t(e,"shadowOffsetX")&&(t.textBoxShadowOffsetX=e.shadowOffsetX),_t(e,"shadowOffsetY")&&(t.textBoxShadowOffsetY=e.shadowOffsetY),_t(e,"textShadowColor")&&(t.textShadowColor=e.textShadowColor),_t(e,"textShadowBlur")&&(t.textShadowBlur=e.textShadowBlur),_t(e,"textShadowOffsetX")&&(t.textShadowOffsetX=e.textShadowOffsetX),_t(e,"textShadowOffsetY")&&(t.textShadowOffsetY=e.textShadowOffsetY))}var aR={position:["x","y"],scale:["scaleX","scaleY"],origin:["originX","originY"]},sR=G(aR),lR=(V(mr,(function(t,e){return t[e]=1,t}),{}),mr.join(", "),["","style","shape","extra"]),uR=Vo();function hR(t,e,n,i,r){var o=t+"Animation",a=gh(t,i,r)||{},s=uR(e).userDuring;return a.duration>0&&(a.during=s?W(vR,{el:e,userDuring:s}):null,a.setToFinal=!0,a.scope=t),A(a,n[o]),a}function cR(t,e,n,i){var r=(i=i||{}).dataIndex,o=i.isInit,a=i.clearStyle,s=n.isAnimationEnabled(),l=uR(t),u=e.style;l.userDuring=e.during;var h={},c={};if(function(t,e,n){for(var i=0;i=0)){var c=t.getAnimationStyleProps(),p=c?c.style:null;if(p){!r&&(r=i.style={});var d=G(n);for(u=0;u0&&t.animateFrom(p,d)}else!function(t,e,n,i,r){if(r){var o=hR("update",t,e,i,n);o.duration>0&&t.animateFrom(r,o)}}(t,e,r||0,n,h);pR(t,e),u?t.dirty():t.markRedraw()}function pR(t,e){for(var n=uR(t).leaveToProps,i=0;i=0){!o&&(o=i[t]={});var p=G(a);for(h=0;hi[1]&&i.reverse(),{coordSys:{type:"polar",cx:t.cx,cy:t.cy,r:i[1],r0:i[0]},api:{coord:function(i){var r=e.dataToRadius(i[0]),o=n.dataToAngle(i[1]),a=t.coordToPoint([r,o]);return a.push(r,o*Math.PI/180),a},size:W(tR,t)}}},calendar:function(t){var e=t.getRect(),n=t.getRangeInfo();return{coordSys:{type:"calendar",x:e.x,y:e.y,width:e.width,height:e.height,cellWidth:t.getCellWidth(),cellHeight:t.getCellHeight(),rangeInfo:{start:n.start,end:n.end,weeks:n.weeks,dayCount:n.allDay}},api:{coord:function(e,n){return t.dataToPoint(e,n)}}}}};function NR(t){return t instanceof ks}function ER(t){return t instanceof Da}var zR=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.render=function(t,e,n,i){this._progressiveEls=null;var r=this._data,o=t.getData(),a=this.group,s=WR(t,o,e,n);r||a.removeAll(),o.diff(r).add((function(e){YR(n,null,e,s(e,i),t,a,o)})).remove((function(e){var n=r.getItemGraphicEl(e);n&&dR(n,qO(n).option,t)})).update((function(e,l){var u=r.getItemGraphicEl(l);YR(n,u,e,s(e,i),t,a,o)})).execute();var l=t.get("clip",!0)?LS(t.coordinateSystem,!1,t):null;l?a.setClipPath(l):a.removeClipPath(),this._data=o},e.prototype.incrementalPrepareRender=function(t,e,n){this.group.removeAll(),this._data=null},e.prototype.incrementalRender=function(t,e,n,i,r){var o=e.getData(),a=WR(e,o,n,i),s=this._progressiveEls=[];function l(t){t.isGroup||(t.incremental=!0,t.ensureState("emphasis").hoverLayer=!0)}for(var u=t.start;u=0?e.getStore().get(r,n):void 0}var o=e.get(i.name,n),a=i&&i.ordinalMeta;return a?a.categories[o]:o},styleEmphasis:function(n,i){0;null==i&&(i=s);var r=m(i,IR).getItemStyle(),o=x(i,IR),a=oc(o,null,null,!0,!0);a.text=o.getShallow("show")?ot(t.getFormattedLabel(i,IR),t.getFormattedLabel(i,TR),cS(e,i)):null;var l=ac(o,null,!0);return b(n,r),r=rR(r,a,l),n&&_(r,n),r.legacy=!0,r},visual:function(t,n){if(null==n&&(n=s),_t(ZO,t)){var i=e.getItemVisual(n,"style");return i?i[ZO[t]]:null}if(_t(jO,t))return e.getItemVisual(n,t)},barLayout:function(t){if("cartesian2d"===o.type){return function(t){var e=[],n=t.axis,i="axis0";if("category"===n.type){for(var r=n.getBandWidth(),o=0;o=c;f--){var g=e.childAt(f);KR(e,g,r)}}(t,c,n,i,r),a>=0?o.replaceAt(c,a):o.add(c),c}function UR(t,e,n){var i,r=qO(t),o=e.type,a=e.shape,s=e.style;return n.isUniversalTransitionEnabled()||null!=o&&o!==r.customGraphicType||"path"===o&&((i=a)&&(_t(i,"pathData")||_t(i,"d")))&&tN(a)!==r.customPathData||"image"===o&&_t(s,"image")&&s.image!==r.customImagePath}function ZR(t,e,n){var i=e?jR(t,e):t,r=e?qR(t,i,IR):t.style,o=t.type,a=i?i.textConfig:null,s=t.textContent,l=s?e?jR(s,e):s:null;if(r&&(n.isLegacy||eR(r,o,!!a,!!l))){n.isLegacy=!0;var u=nR(r,o,!e);!a&&u.textConfig&&(a=u.textConfig),!l&&u.textContent&&(l=u.textContent)}if(!e&&l){var h=l;!h.type&&(h.type="text")}var c=e?n[e]:n.normal;c.cfg=a,c.conOpt=l}function jR(t,e){return e?t?t[e]:null:t}function qR(t,e,n){var i=e&&e.style;return null==i&&n===IR&&t&&(i=t.styleEmphasis),i}function KR(t,e,n){e&&dR(e,qO(t).option,n)}function $R(t,e){var n=t&&t.name;return null!=n?n:"e\0\0"+e}function JR(t,e){var n=this.context,i=null!=t?n.newChildren[t]:null,r=null!=e?n.oldChildren[e]:null;XR(n.api,r,n.dataIndex,i,n.seriesModel,n.group)}function QR(t){var e=this.context,n=e.oldChildren[t];n&&dR(n,qO(n).option,e.seriesModel)}function tN(t){return t&&(t.pathData||t.d)}var eN=Vo(),nN=T,iN=W,rN=function(){function t(){this._dragging=!1,this.animationThreshold=15}return t.prototype.render=function(t,e,n,i){var r=e.get("value"),o=e.get("status");if(this._axisModel=t,this._axisPointerModel=e,this._api=n,i||this._lastValue!==r||this._lastStatus!==o){this._lastValue=r,this._lastStatus=o;var a=this._group,s=this._handle;if(!o||"hide"===o)return a&&a.hide(),void(s&&s.hide());a&&a.show(),s&&s.show();var l={};this.makeElOption(l,r,t,e,n);var u=l.graphicKey;u!==this._lastGraphicKey&&this.clear(n),this._lastGraphicKey=u;var h=this._moveAnimation=this.determineAnimation(t,e);if(a){var c=H(oN,e,h);this.updatePointerEl(a,l,c),this.updateLabelEl(a,l,c,e)}else a=this._group=new Br,this.createPointerEl(a,l,t,e),this.createLabelEl(a,l,t,e),n.getZr().add(a);uN(a,e,!0),this._renderHandle(r)}},t.prototype.remove=function(t){this.clear(t)},t.prototype.dispose=function(t){this.clear(t)},t.prototype.determineAnimation=function(t,e){var n=e.get("animation"),i=t.axis,r="category"===i.type,o=e.get("snap");if(!o&&!r)return!1;if("auto"===n||null==n){var a=this.animationThreshold;if(r&&i.getBandWidth()>a)return!0;if(o){var s=_I(t).seriesDataCount,l=i.getExtent();return Math.abs(l[0]-l[1])/s>a}return!1}return!0===n},t.prototype.makeElOption=function(t,e,n,i,r){},t.prototype.createPointerEl=function(t,e,n,i){var r=e.pointer;if(r){var o=eN(t).pointerEl=new Qh[r.type](nN(e.pointer));t.add(o)}},t.prototype.createLabelEl=function(t,e,n,i){if(e.label){var r=eN(t).labelEl=new Xs(nN(e.label));t.add(r),sN(r,i)}},t.prototype.updatePointerEl=function(t,e,n){var i=eN(t).pointerEl;i&&e.pointer&&(i.setStyle(e.pointer.style),n(i,{shape:e.pointer.shape}))},t.prototype.updateLabelEl=function(t,e,n,i){var r=eN(t).labelEl;r&&(r.setStyle(e.label.style),n(r,{x:e.label.x,y:e.label.y}),sN(r,i))},t.prototype._renderHandle=function(t){if(!this._dragging&&this.updateHandleTransform){var e,n=this._axisPointerModel,i=this._api.getZr(),r=this._handle,o=n.getModel("handle"),a=n.get("status");if(!o.get("show")||!a||"hide"===a)return r&&i.remove(r),void(this._handle=null);this._handle||(e=!0,r=this._handle=Uh(o.get("icon"),{cursor:"move",draggable:!0,onmousemove:function(t){de(t.event)},onmousedown:iN(this._onHandleDragMove,this,0,0),drift:iN(this._onHandleDragMove,this),ondragend:iN(this._onHandleDragEnd,this)}),i.add(r)),uN(r,n,!1),r.setStyle(o.getItemStyle(null,["color","borderColor","borderWidth","opacity","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY"]));var s=o.get("size");Y(s)||(s=[s,s]),r.scaleX=s[0]/2,r.scaleY=s[1]/2,Hg(this,"_doDispatchAxisPointer",o.get("throttle")||0,"fixRate"),this._moveHandleToValue(t,e)}},t.prototype._moveHandleToValue=function(t,e){oN(this._axisPointerModel,!e&&this._moveAnimation,this._handle,lN(this.getHandleTransform(t,this._axisModel,this._axisPointerModel)))},t.prototype._onHandleDragMove=function(t,e){var n=this._handle;if(n){this._dragging=!0;var i=this.updateHandleTransform(lN(n),[t,e],this._axisModel,this._axisPointerModel);this._payloadInfo=i,n.stopAnimation(),n.attr(lN(i)),eN(n).lastProp=null,this._doDispatchAxisPointer()}},t.prototype._doDispatchAxisPointer=function(){if(this._handle){var t=this._payloadInfo,e=this._axisModel;this._api.dispatchAction({type:"updateAxisPointer",x:t.cursorPoint[0],y:t.cursorPoint[1],tooltipOption:t.tooltipOption,axesInfo:[{axisDim:e.axis.dim,axisIndex:e.componentIndex}]})}},t.prototype._onHandleDragEnd=function(){if(this._dragging=!1,this._handle){var t=this._axisPointerModel.get("value");this._moveHandleToValue(t),this._api.dispatchAction({type:"hideTip"})}},t.prototype.clear=function(t){this._lastValue=null,this._lastStatus=null;var e=t.getZr(),n=this._group,i=this._handle;e&&n&&(this._lastGraphicKey=null,n&&e.remove(n),i&&e.remove(i),this._group=null,this._handle=null,this._payloadInfo=null),Yg(this,"_doDispatchAxisPointer")},t.prototype.doClear=function(){},t.prototype.buildLabel=function(t,e,n){return{x:t[n=n||0],y:t[1-n],width:e[n],height:e[1-n]}},t}();function oN(t,e,n,i){aN(eN(n).lastProp,i)||(eN(n).lastProp=i,e?vh(n,i,t):(n.stopAnimation(),n.attr(i)))}function aN(t,e){if(q(t)&&q(e)){var n=!0;return E(e,(function(e,i){n=n&&aN(t[i],e)})),!!n}return t===e}function sN(t,e){t[e.get(["label","show"])?"show":"hide"]()}function lN(t){return{x:t.x||0,y:t.y||0,rotation:t.rotation||0}}function uN(t,e,n){var i=e.get("z"),r=e.get("zlevel");t&&t.traverse((function(t){"group"!==t.type&&(null!=i&&(t.z=i),null!=r&&(t.zlevel=r),t.silent=n)}))}function hN(t){var e,n=t.get("type"),i=t.getModel(n+"Style");return"line"===n?(e=i.getLineStyle()).fill=null:"shadow"===n&&((e=i.getAreaStyle()).stroke=null),e}function cN(t,e,n,i,r){var o=pN(n.get("value"),e.axis,e.ecModel,n.get("seriesDataIndices"),{precision:n.get(["label","precision"]),formatter:n.get(["label","formatter"])}),a=n.getModel("label"),s=vp(a.get("padding")||0),l=a.getFont(),u=Sr(o,l),h=r.position,c=u.width+s[1]+s[3],p=u.height+s[0]+s[2],d=r.align;"right"===d&&(h[0]-=c),"center"===d&&(h[0]-=c/2);var f=r.verticalAlign;"bottom"===f&&(h[1]-=p),"middle"===f&&(h[1]-=p/2),function(t,e,n,i){var r=i.getWidth(),o=i.getHeight();t[0]=Math.min(t[0]+e,r)-e,t[1]=Math.min(t[1]+n,o)-n,t[0]=Math.max(t[0],0),t[1]=Math.max(t[1],0)}(h,c,p,i);var g=a.get("backgroundColor");g&&"auto"!==g||(g=e.get(["axisLine","lineStyle","color"])),t.label={x:h[0],y:h[1],style:oc(a,{text:o,font:l,fill:a.getTextColor(),padding:s,backgroundColor:g}),z2:10}}function pN(t,e,n,i,r){t=e.scale.parse(t);var o=e.scale.getLabel({value:t},{precision:r.precision}),a=r.formatter;if(a){var s={value:S_(e,{value:t}),axisDimension:e.dim,axisIndex:e.index,seriesData:[]};E(i,(function(t){var e=n.getSeriesByIndex(t.seriesIndex),i=t.dataIndexInside,r=e&&e.getDataParams(i);r&&s.seriesData.push(r)})),U(a)?o=a.replace("{value}",o):X(a)&&(o=a(s))}return o}function dN(t,e,n){var i=[1,0,0,1,0,0];return Se(i,i,n.rotation),we(i,i,n.position),Fh([t.dataToCoord(e),(n.labelOffset||0)+(n.labelDirection||1)*(n.labelMargin||0)],i)}function fN(t,e,n,i,r,o){var a=cI.innerTextLayout(n.rotation,0,n.labelDirection);n.labelMargin=r.get(["label","margin"]),cN(e,i,r,o,{position:dN(i.axis,t,n),align:a.textAlign,verticalAlign:a.textVerticalAlign})}function gN(t,e,n){return{x1:t[n=n||0],y1:t[1-n],x2:e[n],y2:e[1-n]}}function yN(t,e,n){return{x:t[n=n||0],y:t[1-n],width:e[n],height:e[1-n]}}function vN(t,e,n,i,r,o){return{cx:t,cy:e,r0:n,r:i,startAngle:r,endAngle:o,clockwise:!0}}var mN=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.makeElOption=function(t,e,n,i,r){var o=n.axis,a=o.grid,s=i.get("type"),l=xN(a,o).getOtherAxis(o).getGlobalExtent(),u=o.toGlobalCoord(o.dataToCoord(e,!0));if(s&&"none"!==s){var h=hN(i),c=_N[s](o,u,l);c.style=h,t.graphicKey=c.type,t.pointer=c}fN(e,t,eI(a.model,n),n,i,r)},e.prototype.getHandleTransform=function(t,e,n){var i=eI(e.axis.grid.model,e,{labelInside:!1});i.labelMargin=n.get(["handle","margin"]);var r=dN(e.axis,t,i);return{x:r[0],y:r[1],rotation:i.rotation+(i.labelDirection<0?Math.PI:0)}},e.prototype.updateHandleTransform=function(t,e,n,i){var r=n.axis,o=r.grid,a=r.getGlobalExtent(!0),s=xN(o,r).getOtherAxis(r).getGlobalExtent(),l="x"===r.dim?0:1,u=[t.x,t.y];u[l]+=e[l],u[l]=Math.min(a[1],u[l]),u[l]=Math.max(a[0],u[l]);var h=(s[1]+s[0])/2,c=[h,h];c[l]=u[l];return{x:u[0],y:u[1],rotation:t.rotation,cursorPoint:c,tooltipOption:[{verticalAlign:"middle"},{align:"center"}][l]}},e}(rN);function xN(t,e){var n={};return n[e.dim+"AxisIndex"]=e.index,t.getCartesian(n)}var _N={line:function(t,e,n){return{type:"Line",subPixelOptimize:!0,shape:gN([e,n[0]],[e,n[1]],bN(t))}},shadow:function(t,e,n){var i=Math.max(1,t.getBandWidth()),r=n[1]-n[0];return{type:"Rect",shape:yN([e-i/2,n[0]],[i,r],bN(t))}}};function bN(t){return"x"===t.dim?0:1}var wN=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.type="axisPointer",e.defaultOption={show:"auto",z:50,type:"line",snap:!1,triggerTooltip:!0,triggerEmphasis:!0,value:null,status:null,link:[],animation:null,animationDurationUpdate:200,lineStyle:{color:"#B9BEC9",width:1,type:"dashed"},shadowStyle:{color:"rgba(210,219,238,0.2)"},label:{show:!0,formatter:null,precision:"auto",margin:3,color:"#fff",padding:[5,7,5,7],backgroundColor:"auto",borderColor:null,borderWidth:0,borderRadius:3},handle:{show:!1,icon:"M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4h1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7v-1.2h6.6z M13.3,22H6.7v-1.2h6.6z M13.3,19.6H6.7v-1.2h6.6z",size:45,margin:50,color:"#333",shadowBlur:3,shadowColor:"#aaa",shadowOffsetX:0,shadowOffsetY:2,throttle:40}},e}(zp),SN=Vo(),MN=E;function IN(t,e,n){if(!r.node){var i=e.getZr();SN(i).records||(SN(i).records={}),function(t,e){if(SN(t).initialized)return;function n(n,i){t.on(n,(function(n){var r=function(t){var e={showTip:[],hideTip:[]},n=function(i){var r=e[i.type];r?r.push(i):(i.dispatchAction=n,t.dispatchAction(i))};return{dispatchAction:n,pendings:e}}(e);MN(SN(t).records,(function(t){t&&i(t,n,r.dispatchAction)})),function(t,e){var n,i=t.showTip.length,r=t.hideTip.length;i?n=t.showTip[i-1]:r&&(n=t.hideTip[r-1]);n&&(n.dispatchAction=null,e.dispatchAction(n))}(r.pendings,e)}))}SN(t).initialized=!0,n("click",H(CN,"click")),n("mousemove",H(CN,"mousemove")),n("globalout",TN)}(i,e),(SN(i).records[t]||(SN(i).records[t]={})).handler=n}}function TN(t,e,n){t.handler("leave",null,n)}function CN(t,e,n,i){e.handler(t,n,i)}function DN(t,e){if(!r.node){var n=e.getZr();(SN(n).records||{})[t]&&(SN(n).records[t]=null)}}var AN=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.render=function(t,e,n){var i=e.getComponent("tooltip"),r=t.get("triggerOn")||i&&i.get("triggerOn")||"mousemove|click";IN("axisPointer",n,(function(t,e,n){"none"!==r&&("leave"===t||r.indexOf(t)>=0)&&n({type:"updateAxisPointer",currTrigger:t,x:e&&e.offsetX,y:e&&e.offsetY})}))},e.prototype.remove=function(t,e){DN("axisPointer",e)},e.prototype.dispose=function(t,e){DN("axisPointer",e)},e.type="axisPointer",e}(Ag);function kN(t,e){var n,i=[],r=t.seriesIndex;if(null==r||!(n=e.getSeriesByIndex(r)))return{point:[]};var o=n.getData(),a=zo(o,t);if(null==a||a<0||Y(a))return{point:[]};var s=o.getItemGraphicEl(a),l=n.coordinateSystem;if(n.getTooltipPosition)i=n.getTooltipPosition(a)||[];else if(l&&l.dataToPoint)if(t.isStacked){var u=l.getBaseAxis(),h=l.getOtherAxis(u).dim,c=u.dim,p="x"===h||"radius"===h?1:0,d=o.mapDimension(c),f=[];f[p]=o.get(d,a),f[1-p]=o.get(o.getCalculationInfo("stackResultDimension"),a),i=l.dataToPoint(f)||[]}else i=l.dataToPoint(o.getValues(z(l.dimensions,(function(t){return o.mapDimension(t)})),a))||[];else if(s){var g=s.getBoundingRect().clone();g.applyTransform(s.transform),i=[g.x+g.width/2,g.y+g.height/2]}return{point:i,el:s}}var LN=Vo();function PN(t,e,n){var i=t.currTrigger,r=[t.x,t.y],o=t,a=t.dispatchAction||W(n.dispatchAction,n),s=e.getComponent("axisPointer").coordSysAxesInfo;if(s){zN(r)&&(r=kN({seriesIndex:o.seriesIndex,dataIndex:o.dataIndex},e).point);var l=zN(r),u=o.axesInfo,h=s.axesInfo,c="leave"===i||zN(r),p={},d={},f={list:[],map:{}},g={showPointer:H(RN,d),showTooltip:H(NN,f)};E(s.coordSysMap,(function(t,e){var n=l||t.containPoint(r);E(s.coordSysAxesInfo[e],(function(t,e){var i=t.axis,o=function(t,e){for(var n=0;n<(t||[]).length;n++){var i=t[n];if(e.axis.dim===i.axisDim&&e.axis.model.componentIndex===i.axisIndex)return i}}(u,t);if(!c&&n&&(!u||o)){var a=o&&o.value;null!=a||l||(a=i.pointToData(r)),null!=a&&ON(t,a,g,!1,p)}}))}));var y={};return E(h,(function(t,e){var n=t.linkGroup;n&&!d[e]&&E(n.axesInfo,(function(e,i){var r=d[i];if(e!==t&&r){var o=r.value;n.mapper&&(o=t.axis.scale.parse(n.mapper(o,EN(e),EN(t)))),y[t.key]=o}}))})),E(y,(function(t,e){ON(h[e],t,g,!0,p)})),function(t,e,n){var i=n.axesInfo=[];E(e,(function(e,n){var r=e.axisPointerModel.option,o=t[n];o?(!e.useHandle&&(r.status="show"),r.value=o.value,r.seriesDataIndices=(o.payloadBatch||[]).slice()):!e.useHandle&&(r.status="hide"),"show"===r.status&&i.push({axisDim:e.axis.dim,axisIndex:e.axis.model.componentIndex,value:r.value})}))}(d,h,p),function(t,e,n,i){if(zN(e)||!t.list.length)return void i({type:"hideTip"});var r=((t.list[0].dataByAxis[0]||{}).seriesDataIndices||[])[0]||{};i({type:"showTip",escapeConnect:!0,x:e[0],y:e[1],tooltipOption:n.tooltipOption,position:n.position,dataIndexInside:r.dataIndexInside,dataIndex:r.dataIndex,seriesIndex:r.seriesIndex,dataByCoordSys:t.list})}(f,r,t,a),function(t,e,n){var i=n.getZr(),r="axisPointerLastHighlights",o=LN(i)[r]||{},a=LN(i)[r]={};E(t,(function(t,e){var n=t.axisPointerModel.option;"show"===n.status&&t.triggerEmphasis&&E(n.seriesDataIndices,(function(t){var e=t.seriesIndex+" | "+t.dataIndex;a[e]=t}))}));var s=[],l=[];E(o,(function(t,e){!a[e]&&l.push(t)})),E(a,(function(t,e){!o[e]&&s.push(t)})),l.length&&n.dispatchAction({type:"downplay",escapeConnect:!0,notBlur:!0,batch:l}),s.length&&n.dispatchAction({type:"highlight",escapeConnect:!0,notBlur:!0,batch:s})}(h,0,n),p}}function ON(t,e,n,i,r){var o=t.axis;if(!o.scale.isBlank()&&o.containData(e))if(t.involveSeries){var a=function(t,e){var n=e.axis,i=n.dim,r=t,o=[],a=Number.MAX_VALUE,s=-1;return E(e.seriesModels,(function(e,l){var u,h,c=e.getData().mapDimensionsAll(i);if(e.getAxisTooltipData){var p=e.getAxisTooltipData(c,t,n);h=p.dataIndices,u=p.nestestValue}else{if(!(h=e.getData().indicesOfNearest(c[0],t,"category"===n.type?.5:null)).length)return;u=e.getData().get(c[0],h[0])}if(null!=u&&isFinite(u)){var d=t-u,f=Math.abs(d);f<=a&&((f=0&&s<0)&&(a=f,s=d,r=u,o.length=0),E(h,(function(t){o.push({seriesIndex:e.seriesIndex,dataIndexInside:t,dataIndex:e.getData().getRawIndex(t)})})))}})),{payloadBatch:o,snapToValue:r}}(e,t),s=a.payloadBatch,l=a.snapToValue;s[0]&&null==r.seriesIndex&&A(r,s[0]),!i&&t.snap&&o.containData(l)&&null!=l&&(e=l),n.showPointer(t,e,s),n.showTooltip(t,a,l)}else n.showPointer(t,e)}function RN(t,e,n,i){t[e.key]={value:n,payloadBatch:i}}function NN(t,e,n,i){var r=n.payloadBatch,o=e.axis,a=o.model,s=e.axisPointerModel;if(e.triggerTooltip&&r.length){var l=e.coordSys.model,u=wI(l),h=t.map[u];h||(h=t.map[u]={coordSysId:l.id,coordSysIndex:l.componentIndex,coordSysType:l.type,coordSysMainType:l.mainType,dataByAxis:[]},t.list.push(h)),h.dataByAxis.push({axisDim:o.dim,axisIndex:a.componentIndex,axisType:a.type,axisId:a.id,value:i,valueLabelOpt:{precision:s.get(["label","precision"]),formatter:s.get(["label","formatter"])},seriesDataIndices:r.slice()})}}function EN(t){var e=t.axis.model,n={},i=n.axisDim=t.axis.dim;return n.axisIndex=n[i+"AxisIndex"]=e.componentIndex,n.axisName=n[i+"AxisName"]=e.name,n.axisId=n[i+"AxisId"]=e.id,n}function zN(t){return!t||null==t[0]||isNaN(t[0])||null==t[1]||isNaN(t[1])}function VN(t){MI.registerAxisPointerClass("CartesianAxisPointer",mN),t.registerComponentModel(wN),t.registerComponentView(AN),t.registerPreprocessor((function(t){if(t){(!t.axisPointer||0===t.axisPointer.length)&&(t.axisPointer={});var e=t.axisPointer.link;e&&!Y(e)&&(t.axisPointer.link=[e])}})),t.registerProcessor(t.PRIORITY.PROCESSOR.STATISTIC,(function(t,e){t.getComponent("axisPointer").coordSysAxesInfo=vI(t,e)})),t.registerAction({type:"updateAxisPointer",event:"updateAxisPointer",update:":updateAxisPointer"},PN)}var BN=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.makeElOption=function(t,e,n,i,r){var o=n.axis;"angle"===o.dim&&(this.animationThreshold=Math.PI/18);var a=o.polar,s=a.getOtherAxis(o).getExtent(),l=o.dataToCoord(e),u=i.get("type");if(u&&"none"!==u){var h=hN(i),c=FN[u](o,a,l,s);c.style=h,t.graphicKey=c.type,t.pointer=c}var p=function(t,e,n,i,r){var o=e.axis,a=o.dataToCoord(t),s=i.getAngleAxis().getExtent()[0];s=s/180*Math.PI;var l,u,h,c=i.getRadiusAxis().getExtent();if("radius"===o.dim){var p=[1,0,0,1,0,0];Se(p,p,s),we(p,p,[i.cx,i.cy]),l=Fh([a,-r],p);var d=e.getModel("axisLabel").get("rotate")||0,f=cI.innerTextLayout(s,d*Math.PI/180,-1);u=f.textAlign,h=f.textVerticalAlign}else{var g=c[1];l=i.coordToPoint([g+r,a]);var y=i.cx,v=i.cy;u=Math.abs(l[0]-y)/g<.3?"center":l[0]>y?"left":"right",h=Math.abs(l[1]-v)/g<.3?"middle":l[1]>v?"top":"bottom"}return{position:l,align:u,verticalAlign:h}}(e,n,0,a,i.get(["label","margin"]));cN(t,n,i,r,p)},e}(rN);var FN={line:function(t,e,n,i){return"angle"===t.dim?{type:"Line",shape:gN(e.coordToPoint([i[0],n]),e.coordToPoint([i[1],n]))}:{type:"Circle",shape:{cx:e.cx,cy:e.cy,r:n}}},shadow:function(t,e,n,i){var r=Math.max(1,t.getBandWidth()),o=Math.PI/180;return"angle"===t.dim?{type:"Sector",shape:vN(e.cx,e.cy,i[0],i[1],(-n-r/2)*o,(r/2-n)*o)}:{type:"Sector",shape:vN(e.cx,e.cy,n-r/2,n+r/2,0,2*Math.PI)}}},GN=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.findAxisModel=function(t){var e;return this.ecModel.eachComponent(t,(function(t){t.getCoordSysModel()===this&&(e=t)}),this),e},e.type="polar",e.dependencies=["radiusAxis","angleAxis"],e.defaultOption={z:0,center:["50%","50%"],radius:"80%"},e}(zp),WN=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.getCoordSysModel=function(){return this.getReferringComponents("polar",Wo).models[0]},e.type="polarAxis",e}(zp);R(WN,D_);var HN=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.type="angleAxis",e}(WN),YN=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.type="radiusAxis",e}(WN),XN=function(t){function e(e,n){return t.call(this,"radius",e,n)||this}return n(e,t),e.prototype.pointToData=function(t,e){return this.polar.pointToData(t,e)["radius"===this.dim?0:1]},e}(ob);XN.prototype.dataToRadius=ob.prototype.dataToCoord,XN.prototype.radiusToData=ob.prototype.coordToData;var UN=Vo(),ZN=function(t){function e(e,n){return t.call(this,"angle",e,n||[0,360])||this}return n(e,t),e.prototype.pointToData=function(t,e){return this.polar.pointToData(t,e)["radius"===this.dim?0:1]},e.prototype.calculateCategoryInterval=function(){var t=this,e=t.getLabelModel(),n=t.scale,i=n.getExtent(),r=n.count();if(i[1]-i[0]<1)return 0;var o=i[0],a=t.dataToCoord(o+1)-t.dataToCoord(o),s=Math.abs(a),l=Sr(null==o?"":o+"",e.getFont(),"center","top"),u=Math.max(l.height,7)/s;isNaN(u)&&(u=1/0);var h=Math.max(0,Math.floor(u)),c=UN(t.model),p=c.lastAutoInterval,d=c.lastTickCount;return null!=p&&null!=d&&Math.abs(p-h)<=1&&Math.abs(d-r)<=1&&p>h?h=p:(c.lastTickCount=r,c.lastAutoInterval=h),h},e}(ob);ZN.prototype.dataToAngle=ob.prototype.dataToCoord,ZN.prototype.angleToData=ob.prototype.coordToData;var jN=["radius","angle"],qN=function(){function t(t){this.dimensions=jN,this.type="polar",this.cx=0,this.cy=0,this._radiusAxis=new XN,this._angleAxis=new ZN,this.axisPointerEnabled=!0,this.name=t||"",this._radiusAxis.polar=this._angleAxis.polar=this}return t.prototype.containPoint=function(t){var e=this.pointToCoord(t);return this._radiusAxis.contain(e[0])&&this._angleAxis.contain(e[1])},t.prototype.containData=function(t){return this._radiusAxis.containData(t[0])&&this._angleAxis.containData(t[1])},t.prototype.getAxis=function(t){return this["_"+t+"Axis"]},t.prototype.getAxes=function(){return[this._radiusAxis,this._angleAxis]},t.prototype.getAxesByScale=function(t){var e=[],n=this._angleAxis,i=this._radiusAxis;return n.scale.type===t&&e.push(n),i.scale.type===t&&e.push(i),e},t.prototype.getAngleAxis=function(){return this._angleAxis},t.prototype.getRadiusAxis=function(){return this._radiusAxis},t.prototype.getOtherAxis=function(t){var e=this._angleAxis;return t===e?this._radiusAxis:e},t.prototype.getBaseAxis=function(){return this.getAxesByScale("ordinal")[0]||this.getAxesByScale("time")[0]||this.getAngleAxis()},t.prototype.getTooltipAxes=function(t){var e=null!=t&&"auto"!==t?this.getAxis(t):this.getBaseAxis();return{baseAxes:[e],otherAxes:[this.getOtherAxis(e)]}},t.prototype.dataToPoint=function(t,e){return this.coordToPoint([this._radiusAxis.dataToRadius(t[0],e),this._angleAxis.dataToAngle(t[1],e)])},t.prototype.pointToData=function(t,e){var n=this.pointToCoord(t);return[this._radiusAxis.radiusToData(n[0],e),this._angleAxis.angleToData(n[1],e)]},t.prototype.pointToCoord=function(t){var e=t[0]-this.cx,n=t[1]-this.cy,i=this.getAngleAxis(),r=i.getExtent(),o=Math.min(r[0],r[1]),a=Math.max(r[0],r[1]);i.inverse?o=a-360:a=o+360;var s=Math.sqrt(e*e+n*n);e/=s,n/=s;for(var l=Math.atan2(-n,e)/Math.PI*180,u=la;)l+=360*u;return[s,l]},t.prototype.coordToPoint=function(t){var e=t[0],n=t[1]/180*Math.PI;return[Math.cos(n)*e+this.cx,-Math.sin(n)*e+this.cy]},t.prototype.getArea=function(){var t=this.getAngleAxis(),e=this.getRadiusAxis().getExtent().slice();e[0]>e[1]&&e.reverse();var n=t.getExtent(),i=Math.PI/180;return{cx:this.cx,cy:this.cy,r0:e[0],r:e[1],startAngle:-n[0]*i,endAngle:-n[1]*i,clockwise:t.inverse,contain:function(t,e){var n=t-this.cx,i=e-this.cy,r=n*n+i*i-1e-4,o=this.r,a=this.r0;return r<=o*o&&r>=a*a}}},t.prototype.convertToPixel=function(t,e,n){return KN(e)===this?this.dataToPoint(n):null},t.prototype.convertFromPixel=function(t,e,n){return KN(e)===this?this.pointToData(n):null},t}();function KN(t){var e=t.seriesModel,n=t.polarModel;return n&&n.coordinateSystem||e&&e.coordinateSystem}function $N(t,e){var n=this,i=n.getAngleAxis(),r=n.getRadiusAxis();if(i.scale.setExtent(1/0,-1/0),r.scale.setExtent(1/0,-1/0),t.eachSeries((function(t){if(t.coordinateSystem===n){var e=t.getData();E(C_(e,"radius"),(function(t){r.scale.unionExtentFromData(e,t)})),E(C_(e,"angle"),(function(t){i.scale.unionExtentFromData(e,t)}))}})),__(i.scale,i.model),__(r.scale,r.model),"category"===i.type&&!i.onBand){var o=i.getExtent(),a=360/i.scale.count();i.inverse?o[1]+=a:o[1]-=a,i.setExtent(o[0],o[1])}}function JN(t,e){var n;if(t.type=e.get("type"),t.scale=b_(e),t.onBand=e.get("boundaryGap")&&"category"===t.type,t.inverse=e.get("inverse"),function(t){return"angleAxis"===t.mainType}(e)){t.inverse=t.inverse!==e.get("clockwise");var i=e.get("startAngle"),r=null!==(n=e.get("endAngle"))&&void 0!==n?n:i+(t.inverse?-360:360);t.setExtent(i,r)}e.axis=t,t.model=e}var QN={dimensions:jN,create:function(t,e){var n=[];return t.eachComponent("polar",(function(t,i){var r=new qN(i+"");r.update=$N;var o=r.getRadiusAxis(),a=r.getAngleAxis(),s=t.findAxisModel("radiusAxis"),l=t.findAxisModel("angleAxis");JN(o,s),JN(a,l),function(t,e,n){var i=e.get("center"),r=n.getWidth(),o=n.getHeight();t.cx=$r(i[0],r),t.cy=$r(i[1],o);var a=t.getRadiusAxis(),s=Math.min(r,o)/2,l=e.get("radius");null==l?l=[0,"100%"]:Y(l)||(l=[0,l]);var u=[$r(l[0],s),$r(l[1],s)];a.inverse?a.setExtent(u[1],u[0]):a.setExtent(u[0],u[1])}(r,t,e),n.push(r),t.coordinateSystem=r,r.model=t})),t.eachSeries((function(t){if("polar"===t.get("coordinateSystem")){var e=t.getReferringComponents("polar",Wo).models[0];0,t.coordinateSystem=e.coordinateSystem}})),n}},tE=["axisLine","axisLabel","axisTick","minorTick","splitLine","minorSplitLine","splitArea"];function eE(t,e,n){e[1]>e[0]&&(e=e.slice().reverse());var i=t.coordToPoint([e[0],n]),r=t.coordToPoint([e[1],n]);return{x1:i[0],y1:i[1],x2:r[0],y2:r[1]}}function nE(t){return t.getRadiusAxis().inverse?0:1}function iE(t){var e=t[0],n=t[t.length-1];e&&n&&Math.abs(Math.abs(e.coord-n.coord)-360)<1e-4&&t.pop()}var rE=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.axisPointerClass="PolarAxisPointer",n}return n(e,t),e.prototype.render=function(t,e){if(this.group.removeAll(),t.get("show")){var n=t.axis,i=n.polar,r=i.getRadiusAxis().getExtent(),o=n.getTicksCoords(),a=n.getMinorTicksCoords(),s=z(n.getViewLabels(),(function(t){t=T(t);var e=n.scale,i="ordinal"===e.type?e.getRawOrdinalNumber(t.tickValue):t.tickValue;return t.coord=n.dataToCoord(i),t}));iE(s),iE(o),E(tE,(function(e){!t.get([e,"show"])||n.scale.isBlank()&&"axisLine"!==e||oE[e](this.group,t,i,o,a,r,s)}),this)}},e.type="angleAxis",e}(MI),oE={axisLine:function(t,e,n,i,r,o){var a,s=e.getModel(["axisLine","lineStyle"]),l=n.getAngleAxis(),u=Math.PI/180,h=l.getExtent(),c=nE(n),p=c?0:1,d=360===Math.abs(h[1]-h[0])?"Circle":"Arc";(a=0===o[p]?new Qh[d]({shape:{cx:n.cx,cy:n.cy,r:o[c],startAngle:-h[0]*u,endAngle:-h[1]*u,clockwise:l.inverse},style:s.getLineStyle(),z2:1,silent:!0}):new Wu({shape:{cx:n.cx,cy:n.cy,r:o[c],r0:o[p]},style:s.getLineStyle(),z2:1,silent:!0})).style.fill=null,t.add(a)},axisTick:function(t,e,n,i,r,o){var a=e.getModel("axisTick"),s=(a.get("inside")?-1:1)*a.get("length"),l=o[nE(n)],u=z(i,(function(t){return new Ku({shape:eE(n,[l,l+s],t.coord)})}));t.add(Nh(u,{style:k(a.getModel("lineStyle").getLineStyle(),{stroke:e.get(["axisLine","lineStyle","color"])})}))},minorTick:function(t,e,n,i,r,o){if(r.length){for(var a=e.getModel("axisTick"),s=e.getModel("minorTick"),l=(a.get("inside")?-1:1)*s.get("length"),u=o[nE(n)],h=[],c=0;cf?"left":"right",v=Math.abs(d[1]-g)/p<.3?"middle":d[1]>g?"top":"bottom";if(s&&s[c]){var m=s[c];q(m)&&m.textStyle&&(a=new Cc(m.textStyle,l,l.ecModel))}var x=new Xs({silent:cI.isLabelSilent(e),style:oc(a,{x:d[0],y:d[1],fill:a.getTextColor()||e.get(["axisLine","lineStyle","color"]),text:i.formattedLabel,align:y,verticalAlign:v})});if(t.add(x),h){var _=cI.makeAxisEventDataBase(e);_.targetType="axisLabel",_.value=i.rawLabel,rl(x).eventData=_}}),this)},splitLine:function(t,e,n,i,r,o){var a=e.getModel("splitLine").getModel("lineStyle"),s=a.get("color"),l=0;s=s instanceof Array?s:[s];for(var u=[],h=0;h=0?"p":"n",T=_;m&&(i[s][M]||(i[s][M]={p:_,n:_}),T=i[s][M][I]);var C=void 0,D=void 0,A=void 0,k=void 0;if("radius"===c.dim){var L=c.dataToCoord(S)-_,P=o.dataToCoord(M);Math.abs(L)=k})}}}))}var dE={startAngle:90,clockwise:!0,splitNumber:12,axisLabel:{rotate:0}},fE={splitNumber:5},gE=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.type="polar",e}(Ag);function yE(t,e){e=e||{};var n=t.coordinateSystem,i=t.axis,r={},o=i.position,a=i.orient,s=n.getRect(),l=[s.x,s.x+s.width,s.y,s.y+s.height],u={horizontal:{top:l[2],bottom:l[3]},vertical:{left:l[0],right:l[1]}};r.position=["vertical"===a?u.vertical[o]:l[0],"horizontal"===a?u.horizontal[o]:l[3]];r.rotation=Math.PI/2*{horizontal:0,vertical:1}[a];r.labelDirection=r.tickDirection=r.nameDirection={top:-1,bottom:1,right:1,left:-1}[o],t.get(["axisTick","inside"])&&(r.tickDirection=-r.tickDirection),it(e.labelInside,t.get(["axisLabel","inside"]))&&(r.labelDirection=-r.labelDirection);var h=e.rotate;return null==h&&(h=t.get(["axisLabel","rotate"])),r.labelRotation="top"===o?-h:h,r.z2=1,r}var vE=["axisLine","axisTickLabel","axisName"],mE=["splitArea","splitLine"],xE=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.axisPointerClass="SingleAxisPointer",n}return n(e,t),e.prototype.render=function(e,n,i,r){var o=this.group;o.removeAll();var a=this._axisGroup;this._axisGroup=new Br;var s=yE(e),l=new cI(e,s);E(vE,l.add,l),o.add(this._axisGroup),o.add(l.getGroup()),E(mE,(function(t){e.get([t,"show"])&&_E[t](this,this.group,this._axisGroup,e)}),this),Hh(a,this._axisGroup,e),t.prototype.render.call(this,e,n,i,r)},e.prototype.remove=function(){CI(this)},e.type="singleAxis",e}(MI),_E={splitLine:function(t,e,n,i){var r=i.axis;if(!r.scale.isBlank()){var o=i.getModel("splitLine"),a=o.getModel("lineStyle"),s=a.get("color");s=s instanceof Array?s:[s];for(var l=a.get("width"),u=i.coordinateSystem.getRect(),h=r.isHorizontal(),c=[],p=0,d=r.getTicksCoords({tickModel:o}),f=[],g=[],y=0;y=e.y&&t[1]<=e.y+e.height:n.contain(n.toLocalCoord(t[1]))&&t[0]>=e.y&&t[0]<=e.y+e.height},t.prototype.pointToData=function(t){var e=this.getAxis();return[e.coordToData(e.toLocalCoord(t["horizontal"===e.orient?0:1]))]},t.prototype.dataToPoint=function(t){var e=this.getAxis(),n=this.getRect(),i=[],r="horizontal"===e.orient?0:1;return t instanceof Array&&(t=t[0]),i[r]=e.toGlobalCoord(e.dataToCoord(+t)),i[1-r]=0===r?n.y+n.height/2:n.x+n.width/2,i},t.prototype.convertToPixel=function(t,e,n){return IE(e)===this?this.dataToPoint(n):null},t.prototype.convertFromPixel=function(t,e,n){return IE(e)===this?this.pointToData(n):null},t}();function IE(t){var e=t.seriesModel,n=t.singleAxisModel;return n&&n.coordinateSystem||e&&e.coordinateSystem}var TE={create:function(t,e){var n=[];return t.eachComponent("singleAxis",(function(i,r){var o=new ME(i,t,e);o.name="single_"+r,o.resize(i,e),i.coordinateSystem=o,n.push(o)})),t.eachSeries((function(t){if("singleAxis"===t.get("coordinateSystem")){var e=t.getReferringComponents("singleAxis",Wo).models[0];t.coordinateSystem=e&&e.coordinateSystem}})),n},dimensions:SE},CE=["x","y"],DE=["width","height"],AE=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.makeElOption=function(t,e,n,i,r){var o=n.axis,a=o.coordinateSystem,s=PE(a,1-LE(o)),l=a.dataToPoint(e)[0],u=i.get("type");if(u&&"none"!==u){var h=hN(i),c=kE[u](o,l,s);c.style=h,t.graphicKey=c.type,t.pointer=c}fN(e,t,yE(n),n,i,r)},e.prototype.getHandleTransform=function(t,e,n){var i=yE(e,{labelInside:!1});i.labelMargin=n.get(["handle","margin"]);var r=dN(e.axis,t,i);return{x:r[0],y:r[1],rotation:i.rotation+(i.labelDirection<0?Math.PI:0)}},e.prototype.updateHandleTransform=function(t,e,n,i){var r=n.axis,o=r.coordinateSystem,a=LE(r),s=PE(o,a),l=[t.x,t.y];l[a]+=e[a],l[a]=Math.min(s[1],l[a]),l[a]=Math.max(s[0],l[a]);var u=PE(o,1-a),h=(u[1]+u[0])/2,c=[h,h];return c[a]=l[a],{x:l[0],y:l[1],rotation:t.rotation,cursorPoint:c,tooltipOption:{verticalAlign:"middle"}}},e}(rN),kE={line:function(t,e,n){return{type:"Line",subPixelOptimize:!0,shape:gN([e,n[0]],[e,n[1]],LE(t))}},shadow:function(t,e,n){var i=t.getBandWidth(),r=n[1]-n[0];return{type:"Rect",shape:yN([e-i/2,n[0]],[i,r],LE(t))}}};function LE(t){return t.isHorizontal()?0:1}function PE(t,e){var n=t.getRect();return[n[CE[e]],n[CE[e]]+n[DE[e]]]}var OE=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.type="single",e}(Ag);var RE=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.init=function(e,n,i){var r=Rp(e);t.prototype.init.apply(this,arguments),NE(e,r)},e.prototype.mergeOption=function(e){t.prototype.mergeOption.apply(this,arguments),NE(this.option,e)},e.prototype.getCellSize=function(){return this.option.cellSize},e.type="calendar",e.defaultOption={z:2,left:80,top:60,cellSize:20,orient:"horizontal",splitLine:{show:!0,lineStyle:{color:"#000",width:1,type:"solid"}},itemStyle:{color:"#fff",borderWidth:1,borderColor:"#ccc"},dayLabel:{show:!0,firstDay:0,position:"start",margin:"50%",color:"#000"},monthLabel:{show:!0,position:"start",margin:5,align:"center",formatter:null,color:"#000"},yearLabel:{show:!0,position:null,margin:30,formatter:null,color:"#ccc",fontFamily:"sans-serif",fontWeight:"bolder",fontSize:20}},e}(zp);function NE(t,e){var n,i=t.cellSize;1===(n=Y(i)?i:t.cellSize=[i,i]).length&&(n[1]=n[0]);var r=z([0,1],(function(t){return function(t,e){return null!=t[Cp[e][0]]||null!=t[Cp[e][1]]&&null!=t[Cp[e][2]]}(e,t)&&(n[t]="auto"),null!=n[t]&&"auto"!==n[t]}));Op(t,e,{type:"box",ignoreSize:r})}var EE=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.render=function(t,e,n){var i=this.group;i.removeAll();var r=t.coordinateSystem,o=r.getRangeInfo(),a=r.getOrient(),s=e.getLocaleModel();this._renderDayRect(t,o,i),this._renderLines(t,o,a,i),this._renderYearText(t,o,a,i),this._renderMonthText(t,s,a,i),this._renderWeekText(t,s,o,a,i)},e.prototype._renderDayRect=function(t,e,n){for(var i=t.coordinateSystem,r=t.getModel("itemStyle").getItemStyle(),o=i.getCellWidth(),a=i.getCellHeight(),s=e.start.time;s<=e.end.time;s=i.getNextNDay(s,1).time){var l=i.dataToRect([s],!1).tl,u=new Ws({shape:{x:l[0],y:l[1],width:o,height:a},cursor:"default",style:r});n.add(u)}},e.prototype._renderLines=function(t,e,n,i){var r=this,o=t.coordinateSystem,a=t.getModel(["splitLine","lineStyle"]).getLineStyle(),s=t.get(["splitLine","show"]),l=a.lineWidth;this._tlpoints=[],this._blpoints=[],this._firstDayOfMonth=[],this._firstDayPoints=[];for(var u=e.start,h=0;u.time<=e.end.time;h++){p(u.formatedDate),0===h&&(u=o.getDateInfo(e.start.y+"-"+e.start.m));var c=u.date;c.setMonth(c.getMonth()+1),u=o.getDateInfo(c)}function p(e){r._firstDayOfMonth.push(o.getDateInfo(e)),r._firstDayPoints.push(o.dataToRect([e],!1).tl);var l=r._getLinePointsOfOneWeek(t,e,n);r._tlpoints.push(l[0]),r._blpoints.push(l[l.length-1]),s&&r._drawSplitline(l,a,i)}p(o.getNextNDay(e.end.time,1).formatedDate),s&&this._drawSplitline(r._getEdgesPoints(r._tlpoints,l,n),a,i),s&&this._drawSplitline(r._getEdgesPoints(r._blpoints,l,n),a,i)},e.prototype._getEdgesPoints=function(t,e,n){var i=[t[0].slice(),t[t.length-1].slice()],r="horizontal"===n?0:1;return i[0][r]=i[0][r]-e/2,i[1][r]=i[1][r]+e/2,i},e.prototype._drawSplitline=function(t,e,n){var i=new Zu({z2:20,shape:{points:t},style:e});n.add(i)},e.prototype._getLinePointsOfOneWeek=function(t,e,n){for(var i=t.coordinateSystem,r=i.getDateInfo(e),o=[],a=0;a<7;a++){var s=i.getNextNDay(r.time,a),l=i.dataToRect([s.time],!1);o[2*s.day]=l.tl,o[2*s.day+1]=l["horizontal"===n?"bl":"tr"]}return o},e.prototype._formatterLabel=function(t,e){return U(t)&&t?(n=t,E(e,(function(t,e){n=n.replace("{"+e+"}",i?re(t):t)})),n):X(t)?t(e):e.nameMap;var n,i},e.prototype._yearTextPositionControl=function(t,e,n,i,r){var o=e[0],a=e[1],s=["center","bottom"];"bottom"===i?(a+=r,s=["center","top"]):"left"===i?o-=r:"right"===i?(o+=r,s=["center","top"]):a-=r;var l=0;return"left"!==i&&"right"!==i||(l=Math.PI/2),{rotation:l,x:o,y:a,style:{align:s[0],verticalAlign:s[1]}}},e.prototype._renderYearText=function(t,e,n,i){var r=t.getModel("yearLabel");if(r.get("show")){var o=r.get("margin"),a=r.get("position");a||(a="horizontal"!==n?"top":"left");var s=[this._tlpoints[this._tlpoints.length-1],this._blpoints[0]],l=(s[0][0]+s[1][0])/2,u=(s[0][1]+s[1][1])/2,h="horizontal"===n?0:1,c={top:[l,s[h][1]],bottom:[l,s[1-h][1]],left:[s[1-h][0],u],right:[s[h][0],u]},p=e.start.y;+e.end.y>+e.start.y&&(p=p+"-"+e.end.y);var d=r.get("formatter"),f={start:e.start.y,end:e.end.y,nameMap:p},g=this._formatterLabel(d,f),y=new Xs({z2:30,style:oc(r,{text:g})});y.attr(this._yearTextPositionControl(y,c[a],n,a,o)),i.add(y)}},e.prototype._monthTextPositionControl=function(t,e,n,i,r){var o="left",a="top",s=t[0],l=t[1];return"horizontal"===n?(l+=r,e&&(o="center"),"start"===i&&(a="bottom")):(s+=r,e&&(a="middle"),"start"===i&&(o="right")),{x:s,y:l,align:o,verticalAlign:a}},e.prototype._renderMonthText=function(t,e,n,i){var r=t.getModel("monthLabel");if(r.get("show")){var o=r.get("nameMap"),a=r.get("margin"),s=r.get("position"),l=r.get("align"),u=[this._tlpoints,this._blpoints];o&&!U(o)||(o&&(e=Vc(o)||e),o=e.get(["time","monthAbbr"])||[]);var h="start"===s?0:1,c="horizontal"===n?0:1;a="start"===s?-a:a;for(var p="center"===l,d=0;d=i.start.time&&n.timea.end.time&&t.reverse(),t},t.prototype._getRangeInfo=function(t){var e,n=[this.getDateInfo(t[0]),this.getDateInfo(t[1])];n[0].time>n[1].time&&(e=!0,n.reverse());var i=Math.floor(n[1].time/zE)-Math.floor(n[0].time/zE)+1,r=new Date(n[0].time),o=r.getDate(),a=n[1].date.getDate();r.setDate(o+i-1);var s=r.getDate();if(s!==a)for(var l=r.getTime()-n[1].time>0?1:-1;(s=r.getDate())!==a&&(r.getTime()-n[1].time)*l>0;)i-=l,r.setDate(s-l);var u=Math.floor((i+n[0].day+6)/7),h=e?1-u:u-1;return e&&n.reverse(),{range:[n[0].formatedDate,n[1].formatedDate],start:n[0],end:n[1],allDay:i,weeks:u,nthWeek:h,fweek:n[0].day,lweek:n[1].day}},t.prototype._getDateByWeeksAndDay=function(t,e,n){var i=this._getRangeInfo(n);if(t>i.weeks||0===t&&ei.lweek)return null;var r=7*(t-1)-i.fweek+e,o=new Date(i.start.time);return o.setDate(+i.start.d+r),this.getDateInfo(o)},t.create=function(e,n){var i=[];return e.eachComponent("calendar",(function(r){var o=new t(r,e,n);i.push(o),r.coordinateSystem=o})),e.eachSeries((function(t){"calendar"===t.get("coordinateSystem")&&(t.coordinateSystem=i[t.get("calendarIndex")||0])})),i},t.dimensions=["time","value"],t}();function BE(t){var e=t.calendarModel,n=t.seriesModel;return e?e.coordinateSystem:n?n.coordinateSystem:null}function FE(t,e){var n;return E(e,(function(e){null!=t[e]&&"auto"!==t[e]&&(n=!0)})),n}var GE=["transition","enterFrom","leaveTo"],WE=GE.concat(["enterAnimation","updateAnimation","leaveAnimation"]);function HE(t,e,n){if(n&&(!t[n]&&e[n]&&(t[n]={}),t=t[n],e=e[n]),t&&e)for(var i=n?GE:WE,r=0;r=0;l--){var p,d,f;if(f=null!=(d=Ro((p=n[l]).id,null))?r.get(d):null){var g=f.parent,y=(c=UE(g),{}),v=Lp(f,p,g===i?{width:o,height:a}:{width:c.width,height:c.height},null,{hv:p.hv,boundingMode:p.bounding},y);if(!UE(f).isNew&&v){for(var m=p.transition,x={},_=0;_=0)?x[b]=w:f[b]=w}vh(f,x,t,0)}else f.attr(y)}}},e.prototype._clear=function(){var t=this,e=this._elMap;e.each((function(n){KE(n,UE(n).option,e,t._lastGraphicModel)})),this._elMap=yt()},e.prototype.dispose=function(){this._clear()},e.type="graphic",e}(Ag);function jE(t){var e=_t(XE,t)?XE[t]:Lh(t);var n=new e({});return UE(n).type=t,n}function qE(t,e,n,i){var r=jE(n);return e.add(r),i.set(t,r),UE(r).id=t,UE(r).isNew=!0,r}function KE(t,e,n,i){t&&t.parent&&("group"===t.type&&t.traverse((function(t){KE(t,e,n,i)})),dR(t,e,i),n.removeKey(UE(t).id))}function $E(t,e,n,i){t.isGroup||E([["cursor",Da.prototype.cursor],["zlevel",i||0],["z",n||0],["z2",0]],(function(n){var i=n[0];_t(e,i)?t[i]=rt(e[i],n[1]):null==t[i]&&(t[i]=n[1])})),E(G(e),(function(n){if(0===n.indexOf("on")){var i=e[n];t[n]=X(i)?i:null}})),_t(e,"draggable")&&(t.draggable=e.draggable),null!=e.name&&(t.name=e.name),null!=e.id&&(t.id=e.id)}var JE=["x","y","radius","angle","single"],QE=["cartesian2d","polar","singleAxis"];function tz(t){return t+"Axis"}function ez(t,e){var n,i=yt(),r=[],o=yt();t.eachComponent({mainType:"dataZoom",query:e},(function(t){o.get(t.uid)||s(t)}));do{n=!1,t.eachComponent("dataZoom",a)}while(n);function a(t){!o.get(t.uid)&&function(t){var e=!1;return t.eachTargetAxis((function(t,n){var r=i.get(t);r&&r[n]&&(e=!0)})),e}(t)&&(s(t),n=!0)}function s(t){o.set(t.uid,!0),r.push(t),t.eachTargetAxis((function(t,e){(i.get(t)||i.set(t,[]))[e]=!0}))}return r}function nz(t){var e=t.ecModel,n={infoList:[],infoMap:yt()};return t.eachTargetAxis((function(t,i){var r=e.getComponent(tz(t),i);if(r){var o=r.getCoordSysModel();if(o){var a=o.uid,s=n.infoMap.get(a);s||(s={model:o,axisModels:[]},n.infoList.push(s),n.infoMap.set(a,s)),s.axisModels.push(r)}}})),n}var iz=function(){function t(){this.indexList=[],this.indexMap=[]}return t.prototype.add=function(t){this.indexMap[t]||(this.indexList.push(t),this.indexMap[t]=!0)},t}(),rz=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n._autoThrottle=!0,n._noTarget=!0,n._rangePropMode=["percent","percent"],n}return n(e,t),e.prototype.init=function(t,e,n){var i=oz(t);this.settledOption=i,this.mergeDefaultAndTheme(t,n),this._doInit(i)},e.prototype.mergeOption=function(t){var e=oz(t);C(this.option,t,!0),C(this.settledOption,e,!0),this._doInit(e)},e.prototype._doInit=function(t){var e=this.option;this._setDefaultThrottle(t),this._updateRangeUse(t);var n=this.settledOption;E([["start","startValue"],["end","endValue"]],(function(t,i){"value"===this._rangePropMode[i]&&(e[t[0]]=n[t[0]]=null)}),this),this._resetTarget()},e.prototype._resetTarget=function(){var t=this.get("orient",!0),e=this._targetAxisInfoMap=yt();this._fillSpecifiedTargetAxis(e)?this._orient=t||this._makeAutoOrientByTargetAxis():(this._orient=t||"horizontal",this._fillAutoTargetAxisByOrient(e,this._orient)),this._noTarget=!0,e.each((function(t){t.indexList.length&&(this._noTarget=!1)}),this)},e.prototype._fillSpecifiedTargetAxis=function(t){var e=!1;return E(JE,(function(n){var i=this.getReferringComponents(tz(n),Ho);if(i.specified){e=!0;var r=new iz;E(i.models,(function(t){r.add(t.componentIndex)})),t.set(n,r)}}),this),e},e.prototype._fillAutoTargetAxisByOrient=function(t,e){var n=this.ecModel,i=!0;if(i){var r="vertical"===e?"y":"x";o(n.findComponents({mainType:r+"Axis"}),r)}i&&o(n.findComponents({mainType:"singleAxis",filter:function(t){return t.get("orient",!0)===e}}),"single");function o(e,n){var r=e[0];if(r){var o=new iz;if(o.add(r.componentIndex),t.set(n,o),i=!1,"x"===n||"y"===n){var a=r.getReferringComponents("grid",Wo).models[0];a&&E(e,(function(t){r.componentIndex!==t.componentIndex&&a===t.getReferringComponents("grid",Wo).models[0]&&o.add(t.componentIndex)}))}}}i&&E(JE,(function(e){if(i){var r=n.findComponents({mainType:tz(e),filter:function(t){return"category"===t.get("type",!0)}});if(r[0]){var o=new iz;o.add(r[0].componentIndex),t.set(e,o),i=!1}}}),this)},e.prototype._makeAutoOrientByTargetAxis=function(){var t;return this.eachTargetAxis((function(e){!t&&(t=e)}),this),"y"===t?"vertical":"horizontal"},e.prototype._setDefaultThrottle=function(t){if(t.hasOwnProperty("throttle")&&(this._autoThrottle=!1),this._autoThrottle){var e=this.ecModel.option;this.option.throttle=e.animation&&e.animationDurationUpdate>0?100:20}},e.prototype._updateRangeUse=function(t){var e=this._rangePropMode,n=this.get("rangeMode");E([["start","startValue"],["end","endValue"]],(function(i,r){var o=null!=t[i[0]],a=null!=t[i[1]];o&&!a?e[r]="percent":!o&&a?e[r]="value":n?e[r]=n[r]:o&&(e[r]="percent")}))},e.prototype.noTarget=function(){return this._noTarget},e.prototype.getFirstTargetAxisModel=function(){var t;return this.eachTargetAxis((function(e,n){null==t&&(t=this.ecModel.getComponent(tz(e),n))}),this),t},e.prototype.eachTargetAxis=function(t,e){this._targetAxisInfoMap.each((function(n,i){E(n.indexList,(function(n){t.call(e,i,n)}))}))},e.prototype.getAxisProxy=function(t,e){var n=this.getAxisModel(t,e);if(n)return n.__dzAxisProxy},e.prototype.getAxisModel=function(t,e){var n=this._targetAxisInfoMap.get(t);if(n&&n.indexMap[e])return this.ecModel.getComponent(tz(t),e)},e.prototype.setRawRange=function(t){var e=this.option,n=this.settledOption;E([["start","startValue"],["end","endValue"]],(function(i){null==t[i[0]]&&null==t[i[1]]||(e[i[0]]=n[i[0]]=t[i[0]],e[i[1]]=n[i[1]]=t[i[1]])}),this),this._updateRangeUse(t)},e.prototype.setCalculatedRange=function(t){var e=this.option;E(["start","startValue","end","endValue"],(function(n){e[n]=t[n]}))},e.prototype.getPercentRange=function(){var t=this.findRepresentativeAxisProxy();if(t)return t.getDataPercentWindow()},e.prototype.getValueRange=function(t,e){if(null!=t||null!=e)return this.getAxisProxy(t,e).getDataValueWindow();var n=this.findRepresentativeAxisProxy();return n?n.getDataValueWindow():void 0},e.prototype.findRepresentativeAxisProxy=function(t){if(t)return t.__dzAxisProxy;for(var e,n=this._targetAxisInfoMap.keys(),i=0;i=0}(e)){var n=tz(this._dimName),i=e.getReferringComponents(n,Wo).models[0];i&&this._axisIndex===i.componentIndex&&t.push(e)}}),this),t},t.prototype.getAxisModel=function(){return this.ecModel.getComponent(this._dimName+"Axis",this._axisIndex)},t.prototype.getMinMaxSpan=function(){return T(this._minMaxSpan)},t.prototype.calculateDataWindow=function(t){var e,n=this._dataExtent,i=this.getAxisModel().axis.scale,r=this._dataZoomModel.getRangePropMode(),o=[0,100],a=[],s=[];uz(["start","end"],(function(l,u){var h=t[l],c=t[l+"Value"];"percent"===r[u]?(null==h&&(h=o[u]),c=i.parse(Kr(h,o,n))):(e=!0,h=Kr(c=null==c?n[u]:i.parse(c),n,o)),s[u]=null==c||isNaN(c)?n[u]:c,a[u]=null==h||isNaN(h)?o[u]:h})),hz(s),hz(a);var l=this._minMaxSpan;function u(t,e,n,r,o){var a=o?"Span":"ValueSpan";Nk(0,t,n,"all",l["min"+a],l["max"+a]);for(var s=0;s<2;s++)e[s]=Kr(t[s],n,r,!0),o&&(e[s]=i.parse(e[s]))}return e?u(s,a,n,o,!1):u(a,s,o,n,!0),{valueWindow:s,percentWindow:a}},t.prototype.reset=function(t){if(t===this._dataZoomModel){var e=this.getTargetSeriesModels();this._dataExtent=function(t,e,n){var i=[1/0,-1/0];uz(n,(function(t){!function(t,e,n){e&&E(C_(e,n),(function(n){var i=e.getApproximateExtent(n);i[0]t[1]&&(t[1]=i[1])}))}(i,t.getData(),e)}));var r=t.getAxisModel(),o=v_(r.axis.scale,r,i).calculate();return[o.min,o.max]}(this,this._dimName,e),this._updateMinMaxSpan();var n=this.calculateDataWindow(t.settledOption);this._valueWindow=n.valueWindow,this._percentWindow=n.percentWindow,this._setAxisModel()}},t.prototype.filterData=function(t,e){if(t===this._dataZoomModel){var n=this._dimName,i=this.getTargetSeriesModels(),r=t.get("filterMode"),o=this._valueWindow;"none"!==r&&uz(i,(function(t){var e=t.getData(),i=e.mapDimensionsAll(n);if(i.length){if("weakFilter"===r){var a=e.getStore(),s=z(i,(function(t){return e.getDimensionIndex(t)}),e);e.filterSelf((function(t){for(var e,n,r,l=0;lo[1];if(h&&!c&&!p)return!0;h&&(r=!0),c&&(e=!0),p&&(n=!0)}return r&&e&&n}))}else uz(i,(function(n){if("empty"===r)t.setData(e=e.map(n,(function(t){return function(t){return t>=o[0]&&t<=o[1]}(t)?t:NaN})));else{var i={};i[n]=o,e.selectRange(i)}}));uz(i,(function(t){e.setApproximateExtent(o,t)}))}}))}},t.prototype._updateMinMaxSpan=function(){var t=this._minMaxSpan={},e=this._dataZoomModel,n=this._dataExtent;uz(["min","max"],(function(i){var r=e.get(i+"Span"),o=e.get(i+"ValueSpan");null!=o&&(o=this.getAxisModel().axis.scale.parse(o)),null!=o?r=Kr(n[0]+o,n,[0,100],!0):null!=r&&(o=Kr(r,[0,100],n,!0)-n[0]),t[i+"Span"]=r,t[i+"ValueSpan"]=o}),this)},t.prototype._setAxisModel=function(){var t=this.getAxisModel(),e=this._percentWindow,n=this._valueWindow;if(e){var i=no(n,[0,500]);i=Math.min(i,20);var r=t.axis.scale.rawExtentInfo;0!==e[0]&&r.setDeterminedMinMax("min",+n[0].toFixed(i)),100!==e[1]&&r.setDeterminedMinMax("max",+n[1].toFixed(i)),r.freeze()}},t}();var pz={getTargetSeries:function(t){function e(e){t.eachComponent("dataZoom",(function(n){n.eachTargetAxis((function(i,r){var o=t.getComponent(tz(i),r);e(i,r,o,n)}))}))}e((function(t,e,n,i){n.__dzAxisProxy=null}));var n=[];e((function(e,i,r,o){r.__dzAxisProxy||(r.__dzAxisProxy=new cz(e,i,o,t),n.push(r.__dzAxisProxy))}));var i=yt();return E(n,(function(t){E(t.getTargetSeriesModels(),(function(t){i.set(t.uid,t)}))})),i},overallReset:function(t,e){t.eachComponent("dataZoom",(function(t){t.eachTargetAxis((function(e,n){t.getAxisProxy(e,n).reset(t)})),t.eachTargetAxis((function(n,i){t.getAxisProxy(n,i).filterData(t,e)}))})),t.eachComponent("dataZoom",(function(t){var e=t.findRepresentativeAxisProxy();if(e){var n=e.getDataPercentWindow(),i=e.getDataValueWindow();t.setCalculatedRange({start:n[0],end:n[1],startValue:i[0],endValue:i[1]})}}))}};var dz=!1;function fz(t){dz||(dz=!0,t.registerProcessor(t.PRIORITY.PROCESSOR.FILTER,pz),function(t){t.registerAction("dataZoom",(function(t,e){E(ez(e,t),(function(e){e.setRawRange({start:t.start,end:t.end,startValue:t.startValue,endValue:t.endValue})}))}))}(t),t.registerSubTypeDefaulter("dataZoom",(function(){return"slider"})))}function gz(t){t.registerComponentModel(az),t.registerComponentView(lz),fz(t)}var yz=function(){},vz={};function mz(t,e){vz[t]=e}function xz(t){return vz[t]}var _z=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.optionUpdated=function(){t.prototype.optionUpdated.apply(this,arguments);var e=this.ecModel;E(this.option.feature,(function(t,n){var i=xz(n);i&&(i.getDefaultOption&&(i.defaultOption=i.getDefaultOption(e)),C(t,i.defaultOption))}))},e.type="toolbox",e.layoutMode={type:"box",ignoreSize:!0},e.defaultOption={show:!0,z:6,orient:"horizontal",left:"right",top:"top",backgroundColor:"transparent",borderColor:"#ccc",borderRadius:0,borderWidth:0,padding:5,itemSize:15,itemGap:8,showTitle:!0,iconStyle:{borderColor:"#666",color:"none"},emphasis:{iconStyle:{borderColor:"#3E98C5"}},tooltip:{show:!1,position:"bottom"}},e}(zp);function bz(t,e){var n=vp(e.get("padding")),i=e.getItemStyle(["color","opacity"]);return i.fill=e.get("backgroundColor"),t=new Ws({shape:{x:t.x-n[3],y:t.y-n[0],width:t.width+n[1]+n[3],height:t.height+n[0]+n[2],r:e.get("borderRadius")},style:i,silent:!0,z2:-1})}var wz=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.render=function(t,e,n,i){var r=this.group;if(r.removeAll(),t.get("show")){var o=+t.get("itemSize"),a="vertical"===t.get("orient"),s=t.get("feature")||{},l=this._features||(this._features={}),u=[];E(s,(function(t,e){u.push(e)})),new Gm(this._featureNames||[],u).add(h).update(h).remove(H(h,null)).execute(),this._featureNames=u,function(t,e,n){var i=e.getBoxLayoutParams(),r=e.get("padding"),o={width:n.getWidth(),height:n.getHeight()},a=kp(i,o,r);Ap(e.get("orient"),t,e.get("itemGap"),a.width,a.height),Lp(t,i,o,r)}(r,t,n),r.add(bz(r.getBoundingRect(),t)),a||r.eachChild((function(t){var e=t.__title,i=t.ensureState("emphasis"),a=i.textConfig||(i.textConfig={}),s=t.getTextContent(),l=s&&s.ensureState("emphasis");if(l&&!X(l)&&e){var u=l.style||(l.style={}),h=Sr(e,Xs.makeFont(u)),c=t.x+r.x,p=!1;t.y+r.y+o+h.height>n.getHeight()&&(a.position="top",p=!0);var d=p?-5-h.height:o+10;c+h.width/2>n.getWidth()?(a.position=["100%",d],u.align="right"):c-h.width/2<0&&(a.position=[0,d],u.align="left")}}))}function h(h,c){var p,d=u[h],f=u[c],g=s[d],y=new Cc(g,t,t.ecModel);if(i&&null!=i.newTitle&&i.featureName===d&&(g.title=i.newTitle),d&&!f){if(function(t){return 0===t.indexOf("my")}(d))p={onclick:y.option.onclick,featureName:d};else{var v=xz(d);if(!v)return;p=new v}l[d]=p}else if(!(p=l[f]))return;p.uid=Ac("toolbox-feature"),p.model=y,p.ecModel=e,p.api=n;var m=p instanceof yz;d||!f?!y.get("show")||m&&p.unusable?m&&p.remove&&p.remove(e,n):(!function(i,s,l){var u,h,c=i.getModel("iconStyle"),p=i.getModel(["emphasis","iconStyle"]),d=s instanceof yz&&s.getIcons?s.getIcons():i.get("icon"),f=i.get("title")||{};U(d)?(u={})[l]=d:u=d;U(f)?(h={})[l]=f:h=f;var g=i.iconPaths={};E(u,(function(l,u){var d=Uh(l,{},{x:-o/2,y:-o/2,width:o,height:o});d.setStyle(c.getItemStyle()),d.ensureState("emphasis").style=p.getItemStyle();var f=new Xs({style:{text:h[u],align:p.get("textAlign"),borderRadius:p.get("textBorderRadius"),padding:p.get("textPadding"),fill:null,font:cc({fontStyle:p.get("textFontStyle"),fontFamily:p.get("textFontFamily"),fontSize:p.get("textFontSize"),fontWeight:p.get("textFontWeight")},e)},ignore:!0});d.setTextContent(f),Kh({el:d,componentModel:t,itemName:u,formatterParamsExtra:{title:h[u]}}),d.__title=h[u],d.on("mouseover",(function(){var e=p.getItemStyle(),i=a?null==t.get("right")&&"right"!==t.get("left")?"right":"left":null==t.get("bottom")&&"bottom"!==t.get("top")?"bottom":"top";f.setStyle({fill:p.get("textFill")||e.fill||e.stroke||"#000",backgroundColor:p.get("textBackgroundColor")}),d.setTextConfig({position:p.get("textPosition")||i}),f.ignore=!t.get("showTitle"),n.enterEmphasis(this)})).on("mouseout",(function(){"emphasis"!==i.get(["iconStatus",u])&&n.leaveEmphasis(this),f.hide()})),("emphasis"===i.get(["iconStatus",u])?Ol:Rl)(d),r.add(d),d.on("click",W(s.onclick,s,e,n,u)),g[u]=d}))}(y,p,d),y.setIconStatus=function(t,e){var n=this.option,i=this.iconPaths;n.iconStatus=n.iconStatus||{},n.iconStatus[t]=e,i[t]&&("emphasis"===e?Ol:Rl)(i[t])},p instanceof yz&&p.render&&p.render(y,e,n,i)):m&&p.dispose&&p.dispose(e,n)}},e.prototype.updateView=function(t,e,n,i){E(this._features,(function(t){t instanceof yz&&t.updateView&&t.updateView(t.model,e,n,i)}))},e.prototype.remove=function(t,e){E(this._features,(function(n){n instanceof yz&&n.remove&&n.remove(t,e)})),this.group.removeAll()},e.prototype.dispose=function(t,e){E(this._features,(function(n){n instanceof yz&&n.dispose&&n.dispose(t,e)}))},e.type="toolbox",e}(Ag);var Sz=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.onclick=function(t,e){var n=this.model,i=n.get("name")||t.get("title.0.text")||"echarts",o="svg"===e.getZr().painter.getType(),a=o?"svg":n.get("type",!0)||"png",s=e.getConnectedDataURL({type:a,backgroundColor:n.get("backgroundColor",!0)||t.get("backgroundColor")||"#fff",connectedBackgroundColor:n.get("connectedBackgroundColor"),excludeComponents:n.get("excludeComponents"),pixelRatio:n.get("pixelRatio")}),l=r.browser;if(X(MouseEvent)&&(l.newEdge||!l.ie&&!l.edge)){var u=document.createElement("a");u.download=i+"."+a,u.target="_blank",u.href=s;var h=new MouseEvent("click",{view:document.defaultView,bubbles:!0,cancelable:!1});u.dispatchEvent(h)}else if(window.navigator.msSaveOrOpenBlob||o){var c=s.split(","),p=c[0].indexOf("base64")>-1,d=o?decodeURIComponent(c[1]):c[1];p&&(d=window.atob(d));var f=i+"."+a;if(window.navigator.msSaveOrOpenBlob){for(var g=d.length,y=new Uint8Array(g);g--;)y[g]=d.charCodeAt(g);var v=new Blob([y]);window.navigator.msSaveOrOpenBlob(v,f)}else{var m=document.createElement("iframe");document.body.appendChild(m);var x=m.contentWindow,_=x.document;_.open("image/svg+xml","replace"),_.write(d),_.close(),x.focus(),_.execCommand("SaveAs",!0,f),document.body.removeChild(m)}}else{var b=n.get("lang"),w='',S=window.open();S.document.write(w),S.document.title=i}},e.getDefaultOption=function(t){return{show:!0,icon:"M4.7,22.9L29.3,45.5L54.7,23.4M4.6,43.6L4.6,58L53.8,58L53.8,43.6M29.2,45.1L29.2,0",title:t.getLocaleModel().get(["toolbox","saveAsImage","title"]),type:"png",connectedBackgroundColor:"#fff",name:"",excludeComponents:["toolbox"],lang:t.getLocaleModel().get(["toolbox","saveAsImage","lang"])}},e}(yz),Mz="__ec_magicType_stack__",Iz=[["line","bar"],["stack"]],Tz=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.getIcons=function(){var t=this.model,e=t.get("icon"),n={};return E(t.get("type"),(function(t){e[t]&&(n[t]=e[t])})),n},e.getDefaultOption=function(t){return{show:!0,type:[],icon:{line:"M4.1,28.9h7.1l9.3-22l7.4,38l9.7-19.7l3,12.8h14.9M4.1,58h51.4",bar:"M6.7,22.9h10V48h-10V22.9zM24.9,13h10v35h-10V13zM43.2,2h10v46h-10V2zM3.1,58h53.7",stack:"M8.2,38.4l-8.4,4.1l30.6,15.3L60,42.5l-8.1-4.1l-21.5,11L8.2,38.4z M51.9,30l-8.1,4.2l-13.4,6.9l-13.9-6.9L8.2,30l-8.4,4.2l8.4,4.2l22.2,11l21.5-11l8.1-4.2L51.9,30z M51.9,21.7l-8.1,4.2L35.7,30l-5.3,2.8L24.9,30l-8.4-4.1l-8.3-4.2l-8.4,4.2L8.2,30l8.3,4.2l13.9,6.9l13.4-6.9l8.1-4.2l8.1-4.1L51.9,21.7zM30.4,2.2L-0.2,17.5l8.4,4.1l8.3,4.2l8.4,4.2l5.5,2.7l5.3-2.7l8.1-4.2l8.1-4.2l8.1-4.1L30.4,2.2z"},title:t.getLocaleModel().get(["toolbox","magicType","title"]),option:{},seriesIndex:{}}},e.prototype.onclick=function(t,e,n){var i=this.model,r=i.get(["seriesIndex",n]);if(Cz[n]){var o,a={series:[]};E(Iz,(function(t){P(t,n)>=0&&E(t,(function(t){i.setIconStatus(t,"normal")}))})),i.setIconStatus(n,"emphasis"),t.eachComponent({mainType:"series",query:null==r?null:{seriesIndex:r}},(function(t){var e=t.subType,r=t.id,o=Cz[n](e,r,t,i);o&&(k(o,t.option),a.series.push(o));var s=t.coordinateSystem;if(s&&"cartesian2d"===s.type&&("line"===n||"bar"===n)){var l=s.getAxesByScale("ordinal")[0];if(l){var u=l.dim+"Axis",h=t.getReferringComponents(u,Wo).models[0].componentIndex;a[u]=a[u]||[];for(var c=0;c<=h;c++)a[u][h]=a[u][h]||{};a[u][h].boundaryGap="bar"===n}}}));var s=n;"stack"===n&&(o=C({stack:i.option.title.tiled,tiled:i.option.title.stack},i.option.title),"emphasis"!==i.get(["iconStatus",n])&&(s="tiled")),e.dispatchAction({type:"changeMagicType",currentType:s,newOption:a,newTitle:o,featureName:"magicType"})}},e}(yz),Cz={line:function(t,e,n,i){if("bar"===t)return C({id:e,type:"line",data:n.get("data"),stack:n.get("stack"),markPoint:n.get("markPoint"),markLine:n.get("markLine")},i.get(["option","line"])||{},!0)},bar:function(t,e,n,i){if("line"===t)return C({id:e,type:"bar",data:n.get("data"),stack:n.get("stack"),markPoint:n.get("markPoint"),markLine:n.get("markLine")},i.get(["option","bar"])||{},!0)},stack:function(t,e,n,i){var r=n.get("stack")===Mz;if("line"===t||"bar"===t)return i.setIconStatus("stack",r?"normal":"emphasis"),C({id:e,stack:r?"":Mz},i.get(["option","stack"])||{},!0)}};Cm({type:"changeMagicType",event:"magicTypeChanged",update:"prepareAndUpdate"},(function(t,e){e.mergeOption(t.newOption)}));var Dz=new Array(60).join("-"),Az="\t";function kz(t){return t.replace(/^\s\s*/,"").replace(/\s\s*$/,"")}var Lz=new RegExp("[\t]+","g");function Pz(t,e){var n=t.split(new RegExp("\n*"+Dz+"\n*","g")),i={series:[]};return E(n,(function(t,n){if(function(t){if(t.slice(0,t.indexOf("\n")).indexOf(Az)>=0)return!0}(t)){var r=function(t){for(var e=t.split(/\n+/g),n=[],i=z(kz(e.shift()).split(Lz),(function(t){return{name:t,data:[]}})),r=0;r=0)&&t(r,i._targetInfoList)}))}return t.prototype.setOutputRanges=function(t,e){return this.matchOutputRanges(t,e,(function(t,e,n){if((t.coordRanges||(t.coordRanges=[])).push(e),!t.coordRange){t.coordRange=e;var i=Uz[t.brushType](0,n,e);t.__rangeOffset={offset:jz[t.brushType](i.values,t.range,[1,1]),xyMinMax:i.xyMinMax}}})),t},t.prototype.matchOutputRanges=function(t,e,n){E(t,(function(t){var i=this.findTargetInfo(t,e);i&&!0!==i&&E(i.coordSyses,(function(i){var r=Uz[t.brushType](1,i,t.range,!0);n(t,r.values,i,e)}))}),this)},t.prototype.setInputRanges=function(t,e){E(t,(function(t){var n,i,r,o,a,s=this.findTargetInfo(t,e);if(t.range=t.range||[],s&&!0!==s){t.panelId=s.panelId;var l=Uz[t.brushType](0,s.coordSys,t.coordRange),u=t.__rangeOffset;t.range=u?jz[t.brushType](l.values,u.offset,(n=l.xyMinMax,i=u.xyMinMax,r=Kz(n),o=Kz(i),a=[r[0]/o[0],r[1]/o[1]],isNaN(a[0])&&(a[0]=1),isNaN(a[1])&&(a[1]=1),a)):l.values}}),this)},t.prototype.makePanelOpts=function(t,e){return z(this._targetInfoList,(function(n){var i=n.getPanelRect();return{panelId:n.panelId,defaultBrushType:e?e(n):null,clipPath:zL(i),isTargetByCursor:BL(i,t,n.coordSysModel),getLinearBrushOtherExtent:VL(i)}}))},t.prototype.controlSeries=function(t,e,n){var i=this.findTargetInfo(t,n);return!0===i||i&&P(i.coordSyses,e.coordinateSystem)>=0},t.prototype.findTargetInfo=function(t,e){for(var n=this._targetInfoList,i=Wz(e,t),r=0;rt[1]&&t.reverse(),t}function Wz(t,e){return Fo(t,e,{includeMainTypes:Bz})}var Hz={grid:function(t,e){var n=t.xAxisModels,i=t.yAxisModels,r=t.gridModels,o=yt(),a={},s={};(n||i||r)&&(E(n,(function(t){var e=t.axis.grid.model;o.set(e.id,e),a[e.id]=!0})),E(i,(function(t){var e=t.axis.grid.model;o.set(e.id,e),s[e.id]=!0})),E(r,(function(t){o.set(t.id,t),a[t.id]=!0,s[t.id]=!0})),o.each((function(t){var r=t.coordinateSystem,o=[];E(r.getCartesians(),(function(t,e){(P(n,t.getAxis("x").model)>=0||P(i,t.getAxis("y").model)>=0)&&o.push(t)})),e.push({panelId:"grid--"+t.id,gridModel:t,coordSysModel:t,coordSys:o[0],coordSyses:o,getPanelRect:Xz.grid,xAxisDeclared:a[t.id],yAxisDeclared:s[t.id]})})))},geo:function(t,e){E(t.geoModels,(function(t){var n=t.coordinateSystem;e.push({panelId:"geo--"+t.id,geoModel:t,coordSysModel:t,coordSys:n,coordSyses:[n],getPanelRect:Xz.geo})}))}},Yz=[function(t,e){var n=t.xAxisModel,i=t.yAxisModel,r=t.gridModel;return!r&&n&&(r=n.axis.grid.model),!r&&i&&(r=i.axis.grid.model),r&&r===e.gridModel},function(t,e){var n=t.geoModel;return n&&n===e.geoModel}],Xz={grid:function(){return this.coordSys.master.getRect().clone()},geo:function(){var t=this.coordSys,e=t.getBoundingRect().clone();return e.applyTransform(Bh(t)),e}},Uz={lineX:H(Zz,0),lineY:H(Zz,1),rect:function(t,e,n,i){var r=t?e.pointToData([n[0][0],n[1][0]],i):e.dataToPoint([n[0][0],n[1][0]],i),o=t?e.pointToData([n[0][1],n[1][1]],i):e.dataToPoint([n[0][1],n[1][1]],i),a=[Gz([r[0],o[0]]),Gz([r[1],o[1]])];return{values:a,xyMinMax:a}},polygon:function(t,e,n,i){var r=[[1/0,-1/0],[1/0,-1/0]];return{values:z(n,(function(n){var o=t?e.pointToData(n,i):e.dataToPoint(n,i);return r[0][0]=Math.min(r[0][0],o[0]),r[1][0]=Math.min(r[1][0],o[1]),r[0][1]=Math.max(r[0][1],o[0]),r[1][1]=Math.max(r[1][1],o[1]),o})),xyMinMax:r}}};function Zz(t,e,n,i){var r=n.getAxis(["x","y"][t]),o=Gz(z([0,1],(function(t){return e?r.coordToData(r.toLocalCoord(i[t]),!0):r.toGlobalCoord(r.dataToCoord(i[t]))}))),a=[];return a[t]=o,a[1-t]=[NaN,NaN],{values:o,xyMinMax:a}}var jz={lineX:H(qz,0),lineY:H(qz,1),rect:function(t,e,n){return[[t[0][0]-n[0]*e[0][0],t[0][1]-n[0]*e[0][1]],[t[1][0]-n[1]*e[1][0],t[1][1]-n[1]*e[1][1]]]},polygon:function(t,e,n){return z(t,(function(t,i){return[t[0]-n[0]*e[i][0],t[1]-n[1]*e[i][1]]}))}};function qz(t,e,n,i){return[e[0]-i[t]*n[0],e[1]-i[t]*n[1]]}function Kz(t){return t?[t[0][1]-t[0][0],t[1][1]-t[1][0]]:[NaN,NaN]}var $z,Jz,Qz=E,tV=Io+"toolbox-dataZoom_",eV=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.render=function(t,e,n,i){this._brushController||(this._brushController=new aL(n.getZr()),this._brushController.on("brush",W(this._onBrush,this)).mount()),function(t,e,n,i,r){var o=n._isZoomActive;i&&"takeGlobalCursor"===i.type&&(o="dataZoomSelect"===i.key&&i.dataZoomSelectActive);n._isZoomActive=o,t.setIconStatus("zoom",o?"emphasis":"normal");var a=new Fz(iV(t),e,{include:["grid"]}),s=a.makePanelOpts(r,(function(t){return t.xAxisDeclared&&!t.yAxisDeclared?"lineX":!t.xAxisDeclared&&t.yAxisDeclared?"lineY":"rect"}));n._brushController.setPanels(s).enableBrush(!(!o||!s.length)&&{brushType:"auto",brushStyle:t.getModel("brushStyle").getItemStyle()})}(t,e,this,i,n),function(t,e){t.setIconStatus("back",function(t){return zz(t).length}(e)>1?"emphasis":"normal")}(t,e)},e.prototype.onclick=function(t,e,n){nV[n].call(this)},e.prototype.remove=function(t,e){this._brushController&&this._brushController.unmount()},e.prototype.dispose=function(t,e){this._brushController&&this._brushController.dispose()},e.prototype._onBrush=function(t){var e=t.areas;if(t.isEnd&&e.length){var n={},i=this.ecModel;this._brushController.updateCovers([]),new Fz(iV(this.model),i,{include:["grid"]}).matchOutputRanges(e,i,(function(t,e,n){if("cartesian2d"===n.type){var i=t.brushType;"rect"===i?(r("x",n,e[0]),r("y",n,e[1])):r({lineX:"x",lineY:"y"}[i],n,e)}})),function(t,e){var n=zz(t);Nz(e,(function(e,i){for(var r=n.length-1;r>=0&&!n[r][i];r--);if(r<0){var o=t.queryComponents({mainType:"dataZoom",subType:"select",id:i})[0];if(o){var a=o.getPercentRange();n[0][i]={dataZoomId:i,start:a[0],end:a[1]}}}})),n.push(e)}(i,n),this._dispatchZoomAction(n)}function r(t,e,r){var o=e.getAxis(t),a=o.model,s=function(t,e,n){var i;return n.eachComponent({mainType:"dataZoom",subType:"select"},(function(n){n.getAxisModel(t,e.componentIndex)&&(i=n)})),i}(t,a,i),l=s.findRepresentativeAxisProxy(a).getMinMaxSpan();null==l.minValueSpan&&null==l.maxValueSpan||(r=Nk(0,r.slice(),o.scale.getExtent(),0,l.minValueSpan,l.maxValueSpan)),s&&(n[s.id]={dataZoomId:s.id,startValue:r[0],endValue:r[1]})}},e.prototype._dispatchZoomAction=function(t){var e=[];Qz(t,(function(t,n){e.push(T(t))})),e.length&&this.api.dispatchAction({type:"dataZoom",from:this.uid,batch:e})},e.getDefaultOption=function(t){return{show:!0,filterMode:"filter",icon:{zoom:"M0,13.5h26.9 M13.5,26.9V0 M32.1,13.5H58V58H13.5 V32.1",back:"M22,1.4L9.9,13.5l12.3,12.3 M10.3,13.5H54.9v44.6 H10.3v-26"},title:t.getLocaleModel().get(["toolbox","dataZoom","title"]),brushStyle:{borderWidth:0,color:"rgba(210,219,238,0.2)"}}},e}(yz),nV={zoom:function(){var t=!this._isZoomActive;this.api.dispatchAction({type:"takeGlobalCursor",key:"dataZoomSelect",dataZoomSelectActive:t})},back:function(){this._dispatchZoomAction(function(t){var e=zz(t),n=e[e.length-1];e.length>1&&e.pop();var i={};return Nz(n,(function(t,n){for(var r=e.length-1;r>=0;r--)if(t=e[r][n]){i[n]=t;break}})),i}(this.ecModel))}};function iV(t){var e={xAxisIndex:t.get("xAxisIndex",!0),yAxisIndex:t.get("yAxisIndex",!0),xAxisId:t.get("xAxisId",!0),yAxisId:t.get("yAxisId",!0)};return null==e.xAxisIndex&&null==e.xAxisId&&(e.xAxisIndex="all"),null==e.yAxisIndex&&null==e.yAxisId&&(e.yAxisIndex="all"),e}$z="dataZoom",Jz=function(t){var e=t.getComponent("toolbox",0),n=["feature","dataZoom"];if(e&&null!=e.get(n)){var i=e.getModel(n),r=[],o=Fo(t,iV(i));return Qz(o.xAxisModels,(function(t){return a(t,"xAxis","xAxisIndex")})),Qz(o.yAxisModels,(function(t){return a(t,"yAxis","yAxisIndex")})),r}function a(t,e,n){var o=t.componentIndex,a={type:"select",$fromToolbox:!0,filterMode:i.get("filterMode",!0)||"filter",id:tV+e+o};a[n]=o,r.push(a)}},lt(null==od.get($z)&&Jz),od.set($z,Jz);var rV=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.type="tooltip",e.dependencies=["axisPointer"],e.defaultOption={z:60,show:!0,showContent:!0,trigger:"item",triggerOn:"mousemove|click",alwaysShowContent:!1,displayMode:"single",renderMode:"auto",confine:null,showDelay:0,hideDelay:100,transitionDuration:.4,enterable:!1,backgroundColor:"#fff",shadowBlur:10,shadowColor:"rgba(0, 0, 0, .2)",shadowOffsetX:1,shadowOffsetY:2,borderRadius:4,borderWidth:1,padding:null,extraCssText:"",axisPointer:{type:"line",axis:"auto",animation:"auto",animationDurationUpdate:200,animationEasingUpdate:"exponentialOut",crossStyle:{color:"#999",width:1,type:"dashed",textStyle:{}}},textStyle:{color:"#666",fontSize:14}},e}(zp);function oV(t){var e=t.get("confine");return null!=e?!!e:"richText"===t.get("renderMode")}function aV(t){if(r.domSupported)for(var e=document.documentElement.style,n=0,i=t.length;n-1?(u+="top:50%",h+="translateY(-50%) rotate("+(a="left"===s?-225:-45)+"deg)"):(u+="left:50%",h+="translateX(-50%) rotate("+(a="top"===s?225:45)+"deg)");var c=a*Math.PI/180,p=l+r,d=p*Math.abs(Math.cos(c))+p*Math.abs(Math.sin(c)),f=e+" solid "+r+"px;";return'
    '}(n,i,r)),U(t))o.innerHTML=t+a;else if(t){o.innerHTML="",Y(t)||(t=[t]);for(var s=0;s=0?this._tryShow(n,i):"leave"===e&&this._hide(i))}),this))},e.prototype._keepShow=function(){var t=this._tooltipModel,e=this._ecModel,n=this._api,i=t.get("triggerOn");if(null!=this._lastX&&null!=this._lastY&&"none"!==i&&"click"!==i){var r=this;clearTimeout(this._refreshUpdateTimeout),this._refreshUpdateTimeout=setTimeout((function(){!n.isDisposed()&&r.manuallyShowTip(t,e,n,{x:r._lastX,y:r._lastY,dataByCoordSys:r._lastDataByCoordSys})}))}},e.prototype.manuallyShowTip=function(t,e,n,i){if(i.from!==this.uid&&!r.node&&n.getDom()){var o=SV(i,n);this._ticket="";var a=i.dataByCoordSys,s=function(t,e,n){var i=Go(t).queryOptionMap,r=i.keys()[0];if(!r||"series"===r)return;var o=Yo(e,r,i.get(r),{useDefault:!1,enableAll:!1,enableNone:!1}),a=o.models[0];if(!a)return;var s,l=n.getViewOfComponentModel(a);if(l.group.traverse((function(e){var n=rl(e).tooltipConfig;if(n&&n.name===t.name)return s=e,!0})),s)return{componentMainType:r,componentIndex:a.componentIndex,el:s}}(i,e,n);if(s){var l=s.el.getBoundingRect().clone();l.applyTransform(s.el.transform),this._tryShow({offsetX:l.x+l.width/2,offsetY:l.y+l.height/2,target:s.el,position:i.position,positionDefault:"bottom"},o)}else if(i.tooltip&&null!=i.x&&null!=i.y){var u=_V;u.x=i.x,u.y=i.y,u.update(),rl(u).tooltipConfig={name:null,option:i.tooltip},this._tryShow({offsetX:i.x,offsetY:i.y,target:u},o)}else if(a)this._tryShow({offsetX:i.x,offsetY:i.y,position:i.position,dataByCoordSys:a,tooltipOption:i.tooltipOption},o);else if(null!=i.seriesIndex){if(this._manuallyAxisShowTip(t,e,n,i))return;var h=kN(i,e),c=h.point[0],p=h.point[1];null!=c&&null!=p&&this._tryShow({offsetX:c,offsetY:p,target:h.el,position:i.position,positionDefault:"bottom"},o)}else null!=i.x&&null!=i.y&&(n.dispatchAction({type:"updateAxisPointer",x:i.x,y:i.y}),this._tryShow({offsetX:i.x,offsetY:i.y,position:i.position,target:n.getZr().findHover(i.x,i.y).target},o))}},e.prototype.manuallyHideTip=function(t,e,n,i){var r=this._tooltipContent;this._tooltipModel&&r.hideLater(this._tooltipModel.get("hideDelay")),this._lastX=this._lastY=this._lastDataByCoordSys=null,i.from!==this.uid&&this._hide(SV(i,n))},e.prototype._manuallyAxisShowTip=function(t,e,n,i){var r=i.seriesIndex,o=i.dataIndex,a=e.getComponent("axisPointer").coordSysAxesInfo;if(null!=r&&null!=o&&null!=a){var s=e.getSeriesByIndex(r);if(s)if("axis"===wV([s.getData().getItemModel(o),s,(s.coordinateSystem||{}).model],this._tooltipModel).get("trigger"))return n.dispatchAction({type:"updateAxisPointer",seriesIndex:r,dataIndex:o,position:i.position}),!0}},e.prototype._tryShow=function(t,e){var n=t.target;if(this._tooltipModel){this._lastX=t.offsetX,this._lastY=t.offsetY;var i=t.dataByCoordSys;if(i&&i.length)this._showAxisTooltip(i,t);else if(n){var r,o;if("legend"===rl(n).ssrType)return;this._lastDataByCoordSys=null,Oy(n,(function(t){return null!=rl(t).dataIndex?(r=t,!0):null!=rl(t).tooltipConfig?(o=t,!0):void 0}),!0),r?this._showSeriesItemTooltip(t,r,e):o?this._showComponentItemTooltip(t,o,e):this._hide(e)}else this._lastDataByCoordSys=null,this._hide(e)}},e.prototype._showOrMove=function(t,e){var n=t.get("showDelay");e=W(e,this),clearTimeout(this._showTimout),n>0?this._showTimout=setTimeout(e,n):e()},e.prototype._showAxisTooltip=function(t,e){var n=this._ecModel,i=this._tooltipModel,r=[e.offsetX,e.offsetY],o=wV([e.tooltipOption],i),a=this._renderMode,s=[],l=og("section",{blocks:[],noHeader:!0}),u=[],h=new yg;E(t,(function(t){E(t.dataByAxis,(function(t){var e=n.getComponent(t.axisDim+"Axis",t.axisIndex),r=t.value;if(e&&null!=r){var o=pN(r,e.axis,n,t.seriesDataIndices,t.valueLabelOpt),c=og("section",{header:o,noHeader:!ut(o),sortBlocks:!0,blocks:[]});l.blocks.push(c),E(t.seriesDataIndices,(function(l){var p=n.getSeriesByIndex(l.seriesIndex),d=l.dataIndexInside,f=p.getDataParams(d);if(!(f.dataIndex<0)){f.axisDim=t.axisDim,f.axisIndex=t.axisIndex,f.axisType=t.axisType,f.axisId=t.axisId,f.axisValue=S_(e.axis,{value:r}),f.axisValueLabel=o,f.marker=h.makeTooltipMarker("item",Sp(f.color),a);var g=bf(p.formatTooltip(d,!0,null)),y=g.frag;if(y){var v=wV([p],i).get("valueFormatter");c.blocks.push(v?A({valueFormatter:v},y):y)}g.text&&u.push(g.text),s.push(f)}}))}}))})),l.blocks.reverse(),u.reverse();var c=e.position,p=o.get("order"),d=cg(l,h,a,p,n.get("useUTC"),o.get("textStyle"));d&&u.unshift(d);var f="richText"===a?"\n\n":"
    ",g=u.join(f);this._showOrMove(o,(function(){this._updateContentNotChangedOnAxis(t,s)?this._updatePosition(o,c,r[0],r[1],this._tooltipContent,s):this._showTooltipContent(o,g,s,Math.random()+"",r[0],r[1],c,null,h)}))},e.prototype._showSeriesItemTooltip=function(t,e,n){var i=this._ecModel,r=rl(e),o=r.seriesIndex,a=i.getSeriesByIndex(o),s=r.dataModel||a,l=r.dataIndex,u=r.dataType,h=s.getData(u),c=this._renderMode,p=t.positionDefault,d=wV([h.getItemModel(l),s,a&&(a.coordinateSystem||{}).model],this._tooltipModel,p?{position:p}:null),f=d.get("trigger");if(null==f||"item"===f){var g=s.getDataParams(l,u),y=new yg;g.marker=y.makeTooltipMarker("item",Sp(g.color),c);var v=bf(s.formatTooltip(l,!1,u)),m=d.get("order"),x=d.get("valueFormatter"),_=v.frag,b=_?cg(x?A({valueFormatter:x},_):_,y,c,m,i.get("useUTC"),d.get("textStyle")):v.text,w="item_"+s.name+"_"+l;this._showOrMove(d,(function(){this._showTooltipContent(d,b,g,w,t.offsetX,t.offsetY,t.position,t.target,y)})),n({type:"showTip",dataIndexInside:l,dataIndex:h.getRawIndex(l),seriesIndex:o,from:this.uid})}},e.prototype._showComponentItemTooltip=function(t,e,n){var i=rl(e),r=i.tooltipConfig.option||{};if(U(r)){r={content:r,formatter:r}}var o=[r],a=this._ecModel.getComponent(i.componentMainType,i.componentIndex);a&&o.push(a),o.push({formatter:r.content});var s=t.positionDefault,l=wV(o,this._tooltipModel,s?{position:s}:null),u=l.get("content"),h=Math.random()+"",c=new yg;this._showOrMove(l,(function(){var n=T(l.get("formatterParams")||{});this._showTooltipContent(l,u,n,h,t.offsetX,t.offsetY,t.position,e,c)})),n({type:"showTip",from:this.uid})},e.prototype._showTooltipContent=function(t,e,n,i,r,o,a,s,l){if(this._ticket="",t.get("showContent")&&t.get("show")){var u=this._tooltipContent;u.setEnterable(t.get("enterable"));var h=t.get("formatter");a=a||t.get("position");var c=e,p=this._getNearestPoint([r,o],n,t.get("trigger"),t.get("borderColor")).color;if(h)if(U(h)){var d=t.ecModel.get("useUTC"),f=Y(n)?n[0]:n;c=h,f&&f.axisType&&f.axisType.indexOf("time")>=0&&(c=Jc(f.axisValue,c,d)),c=bp(c,n,!0)}else if(X(h)){var g=W((function(e,i){e===this._ticket&&(u.setContent(i,l,t,p,a),this._updatePosition(t,a,r,o,u,n,s))}),this);this._ticket=i,c=h(n,i,g)}else c=h;u.setContent(c,l,t,p,a),u.show(t,p),this._updatePosition(t,a,r,o,u,n,s)}},e.prototype._getNearestPoint=function(t,e,n,i){return"axis"===n||Y(e)?{color:i||("html"===this._renderMode?"#fff":"none")}:Y(e)?void 0:{color:i||e.color||e.borderColor}},e.prototype._updatePosition=function(t,e,n,i,r,o,a){var s=this._api.getWidth(),l=this._api.getHeight();e=e||t.get("position");var u=r.getSize(),h=t.get("align"),c=t.get("verticalAlign"),p=a&&a.getBoundingRect().clone();if(a&&p.applyTransform(a.transform),X(e)&&(e=e([n,i],o,r.el,p,{viewSize:[s,l],contentSize:u.slice()})),Y(e))n=$r(e[0],s),i=$r(e[1],l);else if(q(e)){var d=e;d.width=u[0],d.height=u[1];var f=kp(d,{width:s,height:l});n=f.x,i=f.y,h=null,c=null}else if(U(e)&&a){var g=function(t,e,n,i){var r=n[0],o=n[1],a=Math.ceil(Math.SQRT2*i)+8,s=0,l=0,u=e.width,h=e.height;switch(t){case"inside":s=e.x+u/2-r/2,l=e.y+h/2-o/2;break;case"top":s=e.x+u/2-r/2,l=e.y-o-a;break;case"bottom":s=e.x+u/2-r/2,l=e.y+h+a;break;case"left":s=e.x-r-a,l=e.y+h/2-o/2;break;case"right":s=e.x+u+a,l=e.y+h/2-o/2}return[s,l]}(e,p,u,t.get("borderWidth"));n=g[0],i=g[1]}else{g=function(t,e,n,i,r,o,a){var s=n.getSize(),l=s[0],u=s[1];null!=o&&(t+l+o+2>i?t-=l+o:t+=o);null!=a&&(e+u+a>r?e-=u+a:e+=a);return[t,e]}(n,i,r,s,l,h?null:20,c?null:20);n=g[0],i=g[1]}if(h&&(n-=MV(h)?u[0]/2:"right"===h?u[0]:0),c&&(i-=MV(c)?u[1]/2:"bottom"===c?u[1]:0),oV(t)){g=function(t,e,n,i,r){var o=n.getSize(),a=o[0],s=o[1];return t=Math.min(t+a,i)-a,e=Math.min(e+s,r)-s,t=Math.max(t,0),e=Math.max(e,0),[t,e]}(n,i,r,s,l);n=g[0],i=g[1]}r.moveTo(n,i)},e.prototype._updateContentNotChangedOnAxis=function(t,e){var n=this._lastDataByCoordSys,i=this._cbParamsList,r=!!n&&n.length===t.length;return r&&E(n,(function(n,o){var a=n.dataByAxis||[],s=(t[o]||{}).dataByAxis||[];(r=r&&a.length===s.length)&&E(a,(function(t,n){var o=s[n]||{},a=t.seriesDataIndices||[],l=o.seriesDataIndices||[];(r=r&&t.value===o.value&&t.axisType===o.axisType&&t.axisId===o.axisId&&a.length===l.length)&&E(a,(function(t,e){var n=l[e];r=r&&t.seriesIndex===n.seriesIndex&&t.dataIndex===n.dataIndex})),i&&E(t.seriesDataIndices,(function(t){var n=t.seriesIndex,o=e[n],a=i[n];o&&a&&a.data!==o.data&&(r=!1)}))}))})),this._lastDataByCoordSys=t,this._cbParamsList=e,!!r},e.prototype._hide=function(t){this._lastDataByCoordSys=null,t({type:"hideTip",from:this.uid})},e.prototype.dispose=function(t,e){!r.node&&e.getDom()&&(Yg(this,"_updatePosition"),this._tooltipContent.dispose(),DN("itemTooltip",e))},e.type="tooltip",e}(Ag);function wV(t,e,n){var i,r=e.ecModel;n?(i=new Cc(n,r,r),i=new Cc(e.option,i,r)):i=e;for(var o=t.length-1;o>=0;o--){var a=t[o];a&&(a instanceof Cc&&(a=a.get("tooltip",!0)),U(a)&&(a={formatter:a}),a&&(i=new Cc(a,i,r)))}return i}function SV(t,e){return t.dispatchAction||W(e.dispatchAction,e)}function MV(t){return"center"===t||"middle"===t}var IV=["rect","polygon","keep","clear"];function TV(t,e){var n=To(t?t.brush:[]);if(n.length){var i=[];E(n,(function(t){var e=t.hasOwnProperty("toolbox")?t.toolbox:[];e instanceof Array&&(i=i.concat(e))}));var r=t&&t.toolbox;Y(r)&&(r=r[0]),r||(r={feature:{}},t.toolbox=[r]);var o=r.feature||(r.feature={}),a=o.brush||(o.brush={}),s=a.type||(a.type=[]);s.push.apply(s,i),function(t){var e={};E(t,(function(t){e[t]=1})),t.length=0,E(e,(function(e,n){t.push(n)}))}(s),e&&!s.length&&s.push.apply(s,IV)}}var CV=E;function DV(t){if(t)for(var e in t)if(t.hasOwnProperty(e))return!0}function AV(t,e,n){var i={};return CV(e,(function(e){var r,o=i[e]=((r=function(){}).prototype.__hidden=r.prototype,new r);CV(t[e],(function(t,i){if(DD.isValidType(i)){var r={type:i,visual:t};n&&n(r,e),o[i]=new DD(r),"opacity"===i&&((r=T(r)).type="colorAlpha",o.__hidden.__alphaForOpacity=new DD(r))}}))})),i}function kV(t,e,n){var i;E(n,(function(t){e.hasOwnProperty(t)&&DV(e[t])&&(i=!0)})),i&&E(n,(function(n){e.hasOwnProperty(n)&&DV(e[n])?t[n]=T(e[n]):delete t[n]}))}var LV={lineX:PV(0),lineY:PV(1),rect:{point:function(t,e,n){return t&&n.boundingRect.contain(t[0],t[1])},rect:function(t,e,n){return t&&n.boundingRect.intersect(t)}},polygon:{point:function(t,e,n){return t&&n.boundingRect.contain(t[0],t[1])&&P_(n.range,t[0],t[1])},rect:function(t,e,n){var i=n.range;if(!t||i.length<=1)return!1;var r=t.x,o=t.y,a=t.width,s=t.height,l=i[0];return!!(P_(i,r,o)||P_(i,r+a,o)||P_(i,r,o+s)||P_(i,r+a,o+s)||ze.create(t).contain(l[0],l[1])||Zh(r,o,r+a,o,i)||Zh(r,o,r,o+s,i)||Zh(r+a,o,r+a,o+s,i)||Zh(r,o+s,r+a,o+s,i))||void 0}}};function PV(t){var e=["x","y"],n=["width","height"];return{point:function(e,n,i){if(e){var r=i.range;return OV(e[t],r)}},rect:function(i,r,o){if(i){var a=o.range,s=[i[e[t]],i[e[t]]+i[n[t]]];return s[1]e[0][1]&&(e[0][1]=o[0]),o[1]e[1][1]&&(e[1][1]=o[1])}return e&&WV(e)}};function WV(t){return new ze(t[0][0],t[1][0],t[0][1]-t[0][0],t[1][1]-t[1][0])}var HV=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.init=function(t,e){this.ecModel=t,this.api=e,this.model,(this._brushController=new aL(e.getZr())).on("brush",W(this._onBrush,this)).mount()},e.prototype.render=function(t,e,n,i){this.model=t,this._updateController(t,e,n,i)},e.prototype.updateTransform=function(t,e,n,i){zV(e),this._updateController(t,e,n,i)},e.prototype.updateVisual=function(t,e,n,i){this.updateTransform(t,e,n,i)},e.prototype.updateView=function(t,e,n,i){this._updateController(t,e,n,i)},e.prototype._updateController=function(t,e,n,i){(!i||i.$from!==t.id)&&this._brushController.setPanels(t.brushTargetManager.makePanelOpts(n)).enableBrush(t.brushOption).updateCovers(t.areas.slice())},e.prototype.dispose=function(){this._brushController.dispose()},e.prototype._onBrush=function(t){var e=this.model.id,n=this.model.brushTargetManager.setOutputRanges(t.areas,this.ecModel);(!t.isEnd||t.removeOnClick)&&this.api.dispatchAction({type:"brush",brushId:e,areas:T(n),$from:e}),t.isEnd&&this.api.dispatchAction({type:"brushEnd",brushId:e,areas:T(n),$from:e})},e.type="brush",e}(Ag),YV=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.areas=[],n.brushOption={},n}return n(e,t),e.prototype.optionUpdated=function(t,e){var n=this.option;!e&&kV(n,t,["inBrush","outOfBrush"]);var i=n.inBrush=n.inBrush||{};n.outOfBrush=n.outOfBrush||{color:"#ddd"},i.hasOwnProperty("liftZ")||(i.liftZ=5)},e.prototype.setAreas=function(t){t&&(this.areas=z(t,(function(t){return XV(this.option,t)}),this))},e.prototype.setBrushOption=function(t){this.brushOption=XV(this.option,t),this.brushType=this.brushOption.brushType},e.type="brush",e.dependencies=["geo","grid","xAxis","yAxis","parallel","series"],e.defaultOption={seriesIndex:"all",brushType:"rect",brushMode:"single",transformable:!0,brushStyle:{borderWidth:1,color:"rgba(210,219,238,0.3)",borderColor:"#D2DBEE"},throttleType:"fixRate",throttleDelay:0,removeOnClick:!0,z:1e4},e}(zp);function XV(t,e){return C({brushType:t.brushType,brushMode:t.brushMode,transformable:t.transformable,brushStyle:new Cc(t.brushStyle).getItemStyle(),removeOnClick:t.removeOnClick,z:t.z},e,!0)}var UV=["rect","polygon","lineX","lineY","keep","clear"],ZV=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.render=function(t,e,n){var i,r,o;e.eachComponent({mainType:"brush"},(function(t){i=t.brushType,r=t.brushOption.brushMode||"single",o=o||!!t.areas.length})),this._brushType=i,this._brushMode=r,E(t.get("type",!0),(function(e){t.setIconStatus(e,("keep"===e?"multiple"===r:"clear"===e?o:e===i)?"emphasis":"normal")}))},e.prototype.updateView=function(t,e,n){this.render(t,e,n)},e.prototype.getIcons=function(){var t=this.model,e=t.get("icon",!0),n={};return E(t.get("type",!0),(function(t){e[t]&&(n[t]=e[t])})),n},e.prototype.onclick=function(t,e,n){var i=this._brushType,r=this._brushMode;"clear"===n?(e.dispatchAction({type:"axisAreaSelect",intervals:[]}),e.dispatchAction({type:"brush",command:"clear",areas:[]})):e.dispatchAction({type:"takeGlobalCursor",key:"brush",brushOption:{brushType:"keep"===n?i:i!==n&&n,brushMode:"keep"===n?"multiple"===r?"single":"multiple":r}})},e.getDefaultOption=function(t){return{show:!0,type:UV.slice(),icon:{rect:"M7.3,34.7 M0.4,10V-0.2h9.8 M89.6,10V-0.2h-9.8 M0.4,60v10.2h9.8 M89.6,60v10.2h-9.8 M12.3,22.4V10.5h13.1 M33.6,10.5h7.8 M49.1,10.5h7.8 M77.5,22.4V10.5h-13 M12.3,31.1v8.2 M77.7,31.1v8.2 M12.3,47.6v11.9h13.1 M33.6,59.5h7.6 M49.1,59.5 h7.7 M77.5,47.6v11.9h-13",polygon:"M55.2,34.9c1.7,0,3.1,1.4,3.1,3.1s-1.4,3.1-3.1,3.1 s-3.1-1.4-3.1-3.1S53.5,34.9,55.2,34.9z M50.4,51c1.7,0,3.1,1.4,3.1,3.1c0,1.7-1.4,3.1-3.1,3.1c-1.7,0-3.1-1.4-3.1-3.1 C47.3,52.4,48.7,51,50.4,51z M55.6,37.1l1.5-7.8 M60.1,13.5l1.6-8.7l-7.8,4 M59,19l-1,5.3 M24,16.1l6.4,4.9l6.4-3.3 M48.5,11.6 l-5.9,3.1 M19.1,12.8L9.7,5.1l1.1,7.7 M13.4,29.8l1,7.3l6.6,1.6 M11.6,18.4l1,6.1 M32.8,41.9 M26.6,40.4 M27.3,40.2l6.1,1.6 M49.9,52.1l-5.6-7.6l-4.9-1.2",lineX:"M15.2,30 M19.7,15.6V1.9H29 M34.8,1.9H40.4 M55.3,15.6V1.9H45.9 M19.7,44.4V58.1H29 M34.8,58.1H40.4 M55.3,44.4 V58.1H45.9 M12.5,20.3l-9.4,9.6l9.6,9.8 M3.1,29.9h16.5 M62.5,20.3l9.4,9.6L62.3,39.7 M71.9,29.9H55.4",lineY:"M38.8,7.7 M52.7,12h13.2v9 M65.9,26.6V32 M52.7,46.3h13.2v-9 M24.9,12H11.8v9 M11.8,26.6V32 M24.9,46.3H11.8v-9 M48.2,5.1l-9.3-9l-9.4,9.2 M38.9-3.9V12 M48.2,53.3l-9.3,9l-9.4-9.2 M38.9,62.3V46.4",keep:"M4,10.5V1h10.3 M20.7,1h6.1 M33,1h6.1 M55.4,10.5V1H45.2 M4,17.3v6.6 M55.6,17.3v6.6 M4,30.5V40h10.3 M20.7,40 h6.1 M33,40h6.1 M55.4,30.5V40H45.2 M21,18.9h62.9v48.6H21V18.9z",clear:"M22,14.7l30.9,31 M52.9,14.7L22,45.7 M4.7,16.8V4.2h13.1 M26,4.2h7.8 M41.6,4.2h7.8 M70.3,16.8V4.2H57.2 M4.7,25.9v8.6 M70.3,25.9v8.6 M4.7,43.2v12.6h13.1 M26,55.8h7.8 M41.6,55.8h7.8 M70.3,43.2v12.6H57.2"},title:t.getLocaleModel().get(["toolbox","brush","title"])}},e}(yz);var jV=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.layoutMode={type:"box",ignoreSize:!0},n}return n(e,t),e.type="title",e.defaultOption={z:6,show:!0,text:"",target:"blank",subtext:"",subtarget:"blank",left:0,top:0,backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,padding:5,itemGap:10,textStyle:{fontSize:18,fontWeight:"bold",color:"#464646"},subtextStyle:{fontSize:12,color:"#6E7079"}},e}(zp),qV=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.render=function(t,e,n){if(this.group.removeAll(),t.get("show")){var i=this.group,r=t.getModel("textStyle"),o=t.getModel("subtextStyle"),a=t.get("textAlign"),s=rt(t.get("textBaseline"),t.get("textVerticalAlign")),l=new Xs({style:oc(r,{text:t.get("text"),fill:r.getTextColor()},{disableBox:!0}),z2:10}),u=l.getBoundingRect(),h=t.get("subtext"),c=new Xs({style:oc(o,{text:h,fill:o.getTextColor(),y:u.height+t.get("itemGap"),verticalAlign:"top"},{disableBox:!0}),z2:10}),p=t.get("link"),d=t.get("sublink"),f=t.get("triggerEvent",!0);l.silent=!p&&!f,c.silent=!d&&!f,p&&l.on("click",(function(){Mp(p,"_"+t.get("target"))})),d&&c.on("click",(function(){Mp(d,"_"+t.get("subtarget"))})),rl(l).eventData=rl(c).eventData=f?{componentType:"title",componentIndex:t.componentIndex}:null,i.add(l),h&&i.add(c);var g=i.getBoundingRect(),y=t.getBoxLayoutParams();y.width=g.width,y.height=g.height;var v=kp(y,{width:n.getWidth(),height:n.getHeight()},t.get("padding"));a||("middle"===(a=t.get("left")||t.get("right"))&&(a="center"),"right"===a?v.x+=v.width:"center"===a&&(v.x+=v.width/2)),s||("center"===(s=t.get("top")||t.get("bottom"))&&(s="middle"),"bottom"===s?v.y+=v.height:"middle"===s&&(v.y+=v.height/2),s=s||"top"),i.x=v.x,i.y=v.y,i.markRedraw();var m={align:a,verticalAlign:s};l.setStyle(m),c.setStyle(m),g=i.getBoundingRect();var x=v.margin,_=t.getItemStyle(["color","opacity"]);_.fill=t.get("backgroundColor");var b=new Ws({shape:{x:g.x-x[3],y:g.y-x[0],width:g.width+x[1]+x[3],height:g.height+x[0]+x[2],r:t.get("borderRadius")},style:_,subPixelOptimize:!0,silent:!0});i.add(b)}},e.type="title",e}(Ag);var KV=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.layoutMode="box",n}return n(e,t),e.prototype.init=function(t,e,n){this.mergeDefaultAndTheme(t,n),this._initData()},e.prototype.mergeOption=function(e){t.prototype.mergeOption.apply(this,arguments),this._initData()},e.prototype.setCurrentIndex=function(t){null==t&&(t=this.option.currentIndex);var e=this._data.count();this.option.loop?t=(t%e+e)%e:(t>=e&&(t=e-1),t<0&&(t=0)),this.option.currentIndex=t},e.prototype.getCurrentIndex=function(){return this.option.currentIndex},e.prototype.isIndexMax=function(){return this.getCurrentIndex()>=this._data.count()-1},e.prototype.setPlayState=function(t){this.option.autoPlay=!!t},e.prototype.getPlayState=function(){return!!this.option.autoPlay},e.prototype._initData=function(){var t,e=this.option,n=e.data||[],i=e.axisType,r=this._names=[];"category"===i?(t=[],E(n,(function(e,n){var i,o=Ro(Ao(e),"");q(e)?(i=T(e)).value=n:i=n,t.push(i),r.push(o)}))):t=n;var o={category:"ordinal",time:"time",value:"number"}[i]||"number";(this._data=new cx([{name:"value",type:o}],this)).initData(t,r)},e.prototype.getData=function(){return this._data},e.prototype.getCategories=function(){if("category"===this.get("axisType"))return this._names.slice()},e.type="timeline",e.defaultOption={z:4,show:!0,axisType:"time",realtime:!0,left:"20%",top:null,right:"20%",bottom:0,width:null,height:40,padding:5,controlPosition:"left",autoPlay:!1,rewind:!1,loop:!0,playInterval:2e3,currentIndex:0,itemStyle:{},label:{color:"#000"},data:[]},e}(zp),$V=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.type="timeline.slider",e.defaultOption=kc(KV.defaultOption,{backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,orient:"horizontal",inverse:!1,tooltip:{trigger:"item"},symbol:"circle",symbolSize:12,lineStyle:{show:!0,width:2,color:"#DAE1F5"},label:{position:"auto",show:!0,interval:"auto",rotate:0,color:"#A4B1D7"},itemStyle:{color:"#A4B1D7",borderWidth:1},checkpointStyle:{symbol:"circle",symbolSize:15,color:"#316bf3",borderColor:"#fff",borderWidth:2,shadowBlur:2,shadowOffsetX:1,shadowOffsetY:1,shadowColor:"rgba(0, 0, 0, 0.3)",animation:!0,animationDuration:300,animationEasing:"quinticInOut"},controlStyle:{show:!0,showPlayBtn:!0,showPrevBtn:!0,showNextBtn:!0,itemSize:24,itemGap:12,position:"left",playIcon:"path://M31.6,53C17.5,53,6,41.5,6,27.4S17.5,1.8,31.6,1.8C45.7,1.8,57.2,13.3,57.2,27.4S45.7,53,31.6,53z M31.6,3.3 C18.4,3.3,7.5,14.1,7.5,27.4c0,13.3,10.8,24.1,24.1,24.1C44.9,51.5,55.7,40.7,55.7,27.4C55.7,14.1,44.9,3.3,31.6,3.3z M24.9,21.3 c0-2.2,1.6-3.1,3.5-2l10.5,6.1c1.899,1.1,1.899,2.9,0,4l-10.5,6.1c-1.9,1.1-3.5,0.2-3.5-2V21.3z",stopIcon:"path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z M30.9,3.5C17.6,3.5,6.8,14.4,6.8,27.6c0,13.3,10.8,24.1,24.101,24.1C44.2,51.7,55,40.9,55,27.6C54.9,14.4,44.1,3.5,30.9,3.5z M36.9,35.8c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H36c0.5,0,0.9,0.4,0.9,1V35.8z M27.8,35.8 c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H27c0.5,0,0.9,0.4,0.9,1L27.8,35.8L27.8,35.8z",nextIcon:"M2,18.5A1.52,1.52,0,0,1,.92,18a1.49,1.49,0,0,1,0-2.12L7.81,9.36,1,3.11A1.5,1.5,0,1,1,3,.89l8,7.34a1.48,1.48,0,0,1,.49,1.09,1.51,1.51,0,0,1-.46,1.1L3,18.08A1.5,1.5,0,0,1,2,18.5Z",prevIcon:"M10,.5A1.52,1.52,0,0,1,11.08,1a1.49,1.49,0,0,1,0,2.12L4.19,9.64,11,15.89a1.5,1.5,0,1,1-2,2.22L1,10.77A1.48,1.48,0,0,1,.5,9.68,1.51,1.51,0,0,1,1,8.58L9,.92A1.5,1.5,0,0,1,10,.5Z",prevBtnSize:18,nextBtnSize:18,color:"#A4B1D7",borderColor:"#A4B1D7",borderWidth:1},emphasis:{label:{show:!0,color:"#6f778d"},itemStyle:{color:"#316BF3"},controlStyle:{color:"#316BF3",borderColor:"#316BF3",borderWidth:2}},progress:{lineStyle:{color:"#316BF3"},itemStyle:{color:"#316BF3"},label:{color:"#6f778d"}},data:[]}),e}(KV);R($V,_f.prototype);var JV=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.type="timeline",e}(Ag),QV=function(t){function e(e,n,i,r){var o=t.call(this,e,n,i)||this;return o.type=r||"value",o}return n(e,t),e.prototype.getLabelModel=function(){return this.model.getModel("label")},e.prototype.isHorizontal=function(){return"horizontal"===this.model.get("orient")},e}(ob),tB=Math.PI,eB=Vo(),nB=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.init=function(t,e){this.api=e},e.prototype.render=function(t,e,n){if(this.model=t,this.api=n,this.ecModel=e,this.group.removeAll(),t.get("show",!0)){var i=this._layout(t,n),r=this._createGroup("_mainGroup"),o=this._createGroup("_labelGroup"),a=this._axis=this._createAxis(i,t);t.formatTooltip=function(t){return og("nameValue",{noName:!0,value:a.scale.getLabel({value:t})})},E(["AxisLine","AxisTick","Control","CurrentPointer"],(function(e){this["_render"+e](i,r,a,t)}),this),this._renderAxisLabel(i,o,a,t),this._position(i,t)}this._doPlayStop(),this._updateTicksStatus()},e.prototype.remove=function(){this._clearTimer(),this.group.removeAll()},e.prototype.dispose=function(){this._clearTimer()},e.prototype._layout=function(t,e){var n,i,r,o,a=t.get(["label","position"]),s=t.get("orient"),l=function(t,e){return kp(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()},t.get("padding"))}(t,e),u={horizontal:"center",vertical:(n=null==a||"auto"===a?"horizontal"===s?l.y+l.height/2=0||"+"===n?"left":"right"},h={horizontal:n>=0||"+"===n?"top":"bottom",vertical:"middle"},c={horizontal:0,vertical:tB/2},p="vertical"===s?l.height:l.width,d=t.getModel("controlStyle"),f=d.get("show",!0),g=f?d.get("itemSize"):0,y=f?d.get("itemGap"):0,v=g+y,m=t.get(["label","rotate"])||0;m=m*tB/180;var x=d.get("position",!0),_=f&&d.get("showPlayBtn",!0),b=f&&d.get("showPrevBtn",!0),w=f&&d.get("showNextBtn",!0),S=0,M=p;"left"===x||"bottom"===x?(_&&(i=[0,0],S+=v),b&&(r=[S,0],S+=v),w&&(o=[M-g,0],M-=v)):(_&&(i=[M-g,0],M-=v),b&&(r=[0,0],S+=v),w&&(o=[M-g,0],M-=v));var I=[S,M];return t.get("inverse")&&I.reverse(),{viewRect:l,mainLength:p,orient:s,rotation:c[s],labelRotation:m,labelPosOpt:n,labelAlign:t.get(["label","align"])||u[s],labelBaseline:t.get(["label","verticalAlign"])||t.get(["label","baseline"])||h[s],playPosition:i,prevBtnPosition:r,nextBtnPosition:o,axisExtent:I,controlSize:g,controlGap:y}},e.prototype._position=function(t,e){var n=this._mainGroup,i=this._labelGroup,r=t.viewRect;if("vertical"===t.orient){var o=[1,0,0,1,0,0],a=r.x,s=r.y+r.height;we(o,o,[-a,-s]),Se(o,o,-tB/2),we(o,o,[a,s]),(r=r.clone()).applyTransform(o)}var l=y(r),u=y(n.getBoundingRect()),h=y(i.getBoundingRect()),c=[n.x,n.y],p=[i.x,i.y];p[0]=c[0]=l[0][0];var d,f=t.labelPosOpt;null==f||U(f)?(v(c,u,l,1,d="+"===f?0:1),v(p,h,l,1,1-d)):(v(c,u,l,1,d=f>=0?0:1),p[1]=c[1]+f);function g(t){t.originX=l[0][0]-t.x,t.originY=l[1][0]-t.y}function y(t){return[[t.x,t.x+t.width],[t.y,t.y+t.height]]}function v(t,e,n,i,r){t[i]+=n[i][r]-e[i][r]}n.setPosition(c),i.setPosition(p),n.rotation=i.rotation=t.rotation,g(n),g(i)},e.prototype._createAxis=function(t,e){var n=e.getData(),i=e.get("axisType"),r=function(t,e){if(e=e||t.get("type"),e)switch(e){case"category":return new Rx({ordinalMeta:t.getCategories(),extent:[1/0,-1/0]});case"time":return new Kx({locale:t.ecModel.getLocaleModel(),useUTC:t.ecModel.get("useUTC")});default:return new Ex}}(e,i);r.getTicks=function(){return n.mapArray(["value"],(function(t){return{value:t}}))};var o=n.getDataExtent("value");r.setExtent(o[0],o[1]),r.calcNiceTicks();var a=new QV("value",r,t.axisExtent,i);return a.model=e,a},e.prototype._createGroup=function(t){var e=this[t]=new Br;return this.group.add(e),e},e.prototype._renderAxisLine=function(t,e,n,i){var r=n.getExtent();if(i.get(["lineStyle","show"])){var o=new Ku({shape:{x1:r[0],y1:0,x2:r[1],y2:0},style:A({lineCap:"round"},i.getModel("lineStyle").getLineStyle()),silent:!0,z2:1});e.add(o);var a=this._progressLine=new Ku({shape:{x1:r[0],x2:this._currentPointer?this._currentPointer.x:r[0],y1:0,y2:0},style:k({lineCap:"round",lineWidth:o.style.lineWidth},i.getModel(["progress","lineStyle"]).getLineStyle()),silent:!0,z2:1});e.add(a)}},e.prototype._renderAxisTick=function(t,e,n,i){var r=this,o=i.getData(),a=n.scale.getTicks();this._tickSymbols=[],E(a,(function(t){var a=n.dataToCoord(t.value),s=o.getItemModel(t.value),l=s.getModel("itemStyle"),u=s.getModel(["emphasis","itemStyle"]),h=s.getModel(["progress","itemStyle"]),c={x:a,y:0,onclick:W(r._changeTimeline,r,t.value)},p=iB(s,l,e,c);p.ensureState("emphasis").style=u.getItemStyle(),p.ensureState("progress").style=h.getItemStyle(),Ul(p);var d=rl(p);s.get("tooltip")?(d.dataIndex=t.value,d.dataModel=i):d.dataIndex=d.dataModel=null,r._tickSymbols.push(p)}))},e.prototype._renderAxisLabel=function(t,e,n,i){var r=this;if(n.getLabelModel().get("show")){var o=i.getData(),a=n.getViewLabels();this._tickLabels=[],E(a,(function(i){var a=i.tickValue,s=o.getItemModel(a),l=s.getModel("label"),u=s.getModel(["emphasis","label"]),h=s.getModel(["progress","label"]),c=n.dataToCoord(i.tickValue),p=new Xs({x:c,y:0,rotation:t.labelRotation-t.rotation,onclick:W(r._changeTimeline,r,a),silent:!1,style:oc(l,{text:i.formattedLabel,align:t.labelAlign,verticalAlign:t.labelBaseline})});p.ensureState("emphasis").style=oc(u),p.ensureState("progress").style=oc(h),e.add(p),Ul(p),eB(p).dataIndex=a,r._tickLabels.push(p)}))}},e.prototype._renderControl=function(t,e,n,i){var r=t.controlSize,o=t.rotation,a=i.getModel("controlStyle").getItemStyle(),s=i.getModel(["emphasis","controlStyle"]).getItemStyle(),l=i.getPlayState(),u=i.get("inverse",!0);function h(t,n,l,u){if(t){var h=Cr(rt(i.get(["controlStyle",n+"BtnSize"]),r),r),c=function(t,e,n,i){var r=i.style,o=Uh(t.get(["controlStyle",e]),i||{},new ze(n[0],n[1],n[2],n[3]));r&&o.setStyle(r);return o}(i,n+"Icon",[0,-h/2,h,h],{x:t[0],y:t[1],originX:r/2,originY:0,rotation:u?-o:0,rectHover:!0,style:a,onclick:l});c.ensureState("emphasis").style=s,e.add(c),Ul(c)}}h(t.nextBtnPosition,"next",W(this._changeTimeline,this,u?"-":"+")),h(t.prevBtnPosition,"prev",W(this._changeTimeline,this,u?"+":"-")),h(t.playPosition,l?"stop":"play",W(this._handlePlayClick,this,!l),!0)},e.prototype._renderCurrentPointer=function(t,e,n,i){var r=i.getData(),o=i.getCurrentIndex(),a=r.getItemModel(o).getModel("checkpointStyle"),s=this,l={onCreate:function(t){t.draggable=!0,t.drift=W(s._handlePointerDrag,s),t.ondragend=W(s._handlePointerDragend,s),rB(t,s._progressLine,o,n,i,!0)},onUpdate:function(t){rB(t,s._progressLine,o,n,i)}};this._currentPointer=iB(a,a,this._mainGroup,{},this._currentPointer,l)},e.prototype._handlePlayClick=function(t){this._clearTimer(),this.api.dispatchAction({type:"timelinePlayChange",playState:t,from:this.uid})},e.prototype._handlePointerDrag=function(t,e,n){this._clearTimer(),this._pointerChangeTimeline([n.offsetX,n.offsetY])},e.prototype._handlePointerDragend=function(t){this._pointerChangeTimeline([t.offsetX,t.offsetY],!0)},e.prototype._pointerChangeTimeline=function(t,e){var n=this._toAxisCoord(t)[0],i=Qr(this._axis.getExtent().slice());n>i[1]&&(n=i[1]),n=0&&(a[o]=+a[o].toFixed(c)),[a,h]}var gB={min:H(fB,"min"),max:H(fB,"max"),average:H(fB,"average"),median:H(fB,"median")};function yB(t,e){if(e){var n=t.getData(),i=t.coordinateSystem,r=i&&i.dimensions;if(!function(t){return!isNaN(parseFloat(t.x))&&!isNaN(parseFloat(t.y))}(e)&&!Y(e.coord)&&Y(r)){var o=vB(e,n,i,t);if((e=T(e)).type&&gB[e.type]&&o.baseAxis&&o.valueAxis){var a=P(r,o.baseAxis.dim),s=P(r,o.valueAxis.dim),l=gB[e.type](n,o.baseDataDim,o.valueDataDim,a,s);e.coord=l[0],e.value=l[1]}else e.coord=[null!=e.xAxis?e.xAxis:e.radiusAxis,null!=e.yAxis?e.yAxis:e.angleAxis]}if(null!=e.coord&&Y(r))for(var u=e.coord,h=0;h<2;h++)gB[u[h]]&&(u[h]=_B(n,n.mapDimension(r[h]),u[h]));else e.coord=[];return e}}function vB(t,e,n,i){var r={};return null!=t.valueIndex||null!=t.valueDim?(r.valueDataDim=null!=t.valueIndex?e.getDimension(t.valueIndex):t.valueDim,r.valueAxis=n.getAxis(function(t,e){var n=t.getData().getDimensionInfo(e);return n&&n.coordDim}(i,r.valueDataDim)),r.baseAxis=n.getOtherAxis(r.valueAxis),r.baseDataDim=e.mapDimension(r.baseAxis.dim)):(r.baseAxis=i.getBaseAxis(),r.valueAxis=n.getOtherAxis(r.baseAxis),r.baseDataDim=e.mapDimension(r.baseAxis.dim),r.valueDataDim=e.mapDimension(r.valueAxis.dim)),r}function mB(t,e){return!(t&&t.containData&&e.coord&&!dB(e))||t.containData(e.coord)}function xB(t,e){return t?function(t,n,i,r){return If(r<2?t.coord&&t.coord[r]:t.value,e[r])}:function(t,n,i,r){return If(t.value,e[r])}}function _B(t,e,n){if("average"===n){var i=0,r=0;return t.each(e,(function(t,e){isNaN(t)||(i+=t,r++)})),i/r}return"median"===n?t.getMedian(e):t.getDataExtent(e)["max"===n?1:0]}var bB=Vo(),wB=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.init=function(){this.markerGroupMap=yt()},e.prototype.render=function(t,e,n){var i=this,r=this.markerGroupMap;r.each((function(t){bB(t).keep=!1})),e.eachSeries((function(t){var r=cB.getMarkerModelFromSeries(t,i.type);r&&i.renderSeries(t,r,e,n)})),r.each((function(t){!bB(t).keep&&i.group.remove(t.group)}))},e.prototype.markKeep=function(t){bB(t).keep=!0},e.prototype.toggleBlurSeries=function(t,e){var n=this;E(t,(function(t){var i=cB.getMarkerModelFromSeries(t,n.type);i&&i.getData().eachItemGraphicEl((function(t){t&&(e?Nl(t):El(t))}))}))},e.type="marker",e}(Ag);function SB(t,e,n){var i=e.coordinateSystem;t.each((function(r){var o,a=t.getItemModel(r),s=$r(a.get("x"),n.getWidth()),l=$r(a.get("y"),n.getHeight());if(isNaN(s)||isNaN(l)){if(e.getMarkerPosition)o=e.getMarkerPosition(t.getValues(t.dimensions,r));else if(i){var u=t.get(i.dimensions[0],r),h=t.get(i.dimensions[1],r);o=i.dataToPoint([u,h])}}else o=[s,l];isNaN(s)||(o[0]=s),isNaN(l)||(o[1]=l),t.setItemLayout(r,o)}))}var MB=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.updateTransform=function(t,e,n){e.eachSeries((function(t){var e=cB.getMarkerModelFromSeries(t,"markPoint");e&&(SB(e.getData(),t,n),this.markerGroupMap.get(t.id).updateLayout())}),this)},e.prototype.renderSeries=function(t,e,n,i){var r=t.coordinateSystem,o=t.id,a=t.getData(),s=this.markerGroupMap,l=s.get(o)||s.set(o,new mS),u=function(t,e,n){var i;i=t?z(t&&t.dimensions,(function(t){return A(A({},e.getData().getDimensionInfo(e.getData().mapDimension(t))||{}),{name:t,ordinalMeta:null})})):[{name:"value",type:"float"}];var r=new cx(i,n),o=z(n.get("data"),H(yB,e));t&&(o=B(o,H(mB,t)));var a=xB(!!t,i);return r.initData(o,null,a),r}(r,t,e);e.setData(u),SB(e.getData(),t,i),u.each((function(t){var n=u.getItemModel(t),i=n.getShallow("symbol"),r=n.getShallow("symbolSize"),o=n.getShallow("symbolRotate"),s=n.getShallow("symbolOffset"),l=n.getShallow("symbolKeepAspect");if(X(i)||X(r)||X(o)||X(s)){var h=e.getRawValue(t),c=e.getDataParams(t);X(i)&&(i=i(h,c)),X(r)&&(r=r(h,c)),X(o)&&(o=o(h,c)),X(s)&&(s=s(h,c))}var p=n.getModel("itemStyle").getItemStyle(),d=Ay(a,"color");p.fill||(p.fill=d),u.setItemVisual(t,{symbol:i,symbolSize:r,symbolRotate:o,symbolOffset:s,symbolKeepAspect:l,style:p})})),l.updateData(u),this.group.add(l.group),u.eachItemGraphicEl((function(t){t.traverse((function(t){rl(t).dataModel=e}))})),this.markKeep(l),l.group.silent=e.get("silent")||t.get("silent")},e.type="markPoint",e}(wB);var IB=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.createMarkerModelFromSeries=function(t,n,i){return new e(t,n,i)},e.type="markLine",e.defaultOption={z:5,symbol:["circle","arrow"],symbolSize:[8,16],symbolOffset:0,precision:2,tooltip:{trigger:"item"},label:{show:!0,position:"end",distance:5},lineStyle:{type:"dashed"},emphasis:{label:{show:!0},lineStyle:{width:3}},animationEasing:"linear"},e}(cB),TB=Vo(),CB=function(t,e,n,i){var r,o=t.getData();if(Y(i))r=i;else{var a=i.type;if("min"===a||"max"===a||"average"===a||"median"===a||null!=i.xAxis||null!=i.yAxis){var s=void 0,l=void 0;if(null!=i.yAxis||null!=i.xAxis)s=e.getAxis(null!=i.yAxis?"y":"x"),l=it(i.yAxis,i.xAxis);else{var u=vB(i,o,e,t);s=u.valueAxis,l=_B(o,xx(o,u.valueDataDim),a)}var h="x"===s.dim?0:1,c=1-h,p=T(i),d={coord:[]};p.type=null,p.coord=[],p.coord[c]=-1/0,d.coord[c]=1/0;var f=n.get("precision");f>=0&&j(l)&&(l=+l.toFixed(Math.min(f,20))),p.coord[h]=d.coord[h]=l,r=[p,d,{type:a,valueIndex:i.valueIndex,value:l}]}else r=[]}var g=[yB(t,r[0]),yB(t,r[1]),A({},r[2])];return g[2].type=g[2].type||null,C(g[2],g[0]),C(g[2],g[1]),g};function DB(t){return!isNaN(t)&&!isFinite(t)}function AB(t,e,n,i){var r=1-t,o=i.dimensions[t];return DB(e[r])&&DB(n[r])&&e[t]===n[t]&&i.getAxis(o).containData(e[t])}function kB(t,e){if("cartesian2d"===t.type){var n=e[0].coord,i=e[1].coord;if(n&&i&&(AB(1,n,i,t)||AB(0,n,i,t)))return!0}return mB(t,e[0])&&mB(t,e[1])}function LB(t,e,n,i,r){var o,a=i.coordinateSystem,s=t.getItemModel(e),l=$r(s.get("x"),r.getWidth()),u=$r(s.get("y"),r.getHeight());if(isNaN(l)||isNaN(u)){if(i.getMarkerPosition)o=i.getMarkerPosition(t.getValues(t.dimensions,e));else{var h=a.dimensions,c=t.get(h[0],e),p=t.get(h[1],e);o=a.dataToPoint([c,p])}if(PS(a,"cartesian2d")){var d=a.getAxis("x"),f=a.getAxis("y");h=a.dimensions;DB(t.get(h[0],e))?o[0]=d.toGlobalCoord(d.getExtent()[n?0:1]):DB(t.get(h[1],e))&&(o[1]=f.toGlobalCoord(f.getExtent()[n?0:1]))}isNaN(l)||(o[0]=l),isNaN(u)||(o[1]=u)}else o=[l,u];t.setItemLayout(e,o)}var PB=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.updateTransform=function(t,e,n){e.eachSeries((function(t){var e=cB.getMarkerModelFromSeries(t,"markLine");if(e){var i=e.getData(),r=TB(e).from,o=TB(e).to;r.each((function(e){LB(r,e,!0,t,n),LB(o,e,!1,t,n)})),i.each((function(t){i.setItemLayout(t,[r.getItemLayout(t),o.getItemLayout(t)])})),this.markerGroupMap.get(t.id).updateLayout()}}),this)},e.prototype.renderSeries=function(t,e,n,i){var r=t.coordinateSystem,o=t.id,a=t.getData(),s=this.markerGroupMap,l=s.get(o)||s.set(o,new WA);this.group.add(l.group);var u=function(t,e,n){var i;i=t?z(t&&t.dimensions,(function(t){return A(A({},e.getData().getDimensionInfo(e.getData().mapDimension(t))||{}),{name:t,ordinalMeta:null})})):[{name:"value",type:"float"}];var r=new cx(i,n),o=new cx(i,n),a=new cx([],n),s=z(n.get("data"),H(CB,e,t,n));t&&(s=B(s,H(kB,t)));var l=xB(!!t,i);return r.initData(z(s,(function(t){return t[0]})),null,l),o.initData(z(s,(function(t){return t[1]})),null,l),a.initData(z(s,(function(t){return t[2]}))),a.hasItemOption=!0,{from:r,to:o,line:a}}(r,t,e),h=u.from,c=u.to,p=u.line;TB(e).from=h,TB(e).to=c,e.setData(p);var d=e.get("symbol"),f=e.get("symbolSize"),g=e.get("symbolRotate"),y=e.get("symbolOffset");function v(e,n,r){var o=e.getItemModel(n);LB(e,n,r,t,i);var s=o.getModel("itemStyle").getItemStyle();null==s.fill&&(s.fill=Ay(a,"color")),e.setItemVisual(n,{symbolKeepAspect:o.get("symbolKeepAspect"),symbolOffset:rt(o.get("symbolOffset",!0),y[r?0:1]),symbolRotate:rt(o.get("symbolRotate",!0),g[r?0:1]),symbolSize:rt(o.get("symbolSize"),f[r?0:1]),symbol:rt(o.get("symbol",!0),d[r?0:1]),style:s})}Y(d)||(d=[d,d]),Y(f)||(f=[f,f]),Y(g)||(g=[g,g]),Y(y)||(y=[y,y]),u.from.each((function(t){v(h,t,!0),v(c,t,!1)})),p.each((function(t){var e=p.getItemModel(t).getModel("lineStyle").getLineStyle();p.setItemLayout(t,[h.getItemLayout(t),c.getItemLayout(t)]),null==e.stroke&&(e.stroke=h.getItemVisual(t,"style").fill),p.setItemVisual(t,{fromSymbolKeepAspect:h.getItemVisual(t,"symbolKeepAspect"),fromSymbolOffset:h.getItemVisual(t,"symbolOffset"),fromSymbolRotate:h.getItemVisual(t,"symbolRotate"),fromSymbolSize:h.getItemVisual(t,"symbolSize"),fromSymbol:h.getItemVisual(t,"symbol"),toSymbolKeepAspect:c.getItemVisual(t,"symbolKeepAspect"),toSymbolOffset:c.getItemVisual(t,"symbolOffset"),toSymbolRotate:c.getItemVisual(t,"symbolRotate"),toSymbolSize:c.getItemVisual(t,"symbolSize"),toSymbol:c.getItemVisual(t,"symbol"),style:e})})),l.updateData(p),u.line.eachItemGraphicEl((function(t){rl(t).dataModel=e,t.traverse((function(t){rl(t).dataModel=e}))})),this.markKeep(l),l.group.silent=e.get("silent")||t.get("silent")},e.type="markLine",e}(wB);var OB=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.createMarkerModelFromSeries=function(t,n,i){return new e(t,n,i)},e.type="markArea",e.defaultOption={z:1,tooltip:{trigger:"item"},animation:!1,label:{show:!0,position:"top"},itemStyle:{borderWidth:0},emphasis:{label:{show:!0,position:"top"}}},e}(cB),RB=Vo(),NB=function(t,e,n,i){var r=i[0],o=i[1];if(r&&o){var a=yB(t,r),s=yB(t,o),l=a.coord,u=s.coord;l[0]=it(l[0],-1/0),l[1]=it(l[1],-1/0),u[0]=it(u[0],1/0),u[1]=it(u[1],1/0);var h=D([{},a,s]);return h.coord=[a.coord,s.coord],h.x0=a.x,h.y0=a.y,h.x1=s.x,h.y1=s.y,h}};function EB(t){return!isNaN(t)&&!isFinite(t)}function zB(t,e,n,i){var r=1-t;return EB(e[r])&&EB(n[r])}function VB(t,e){var n=e.coord[0],i=e.coord[1],r={coord:n,x:e.x0,y:e.y0},o={coord:i,x:e.x1,y:e.y1};return PS(t,"cartesian2d")?!(!n||!i||!zB(1,n,i)&&!zB(0,n,i))||function(t,e,n){return!(t&&t.containZone&&e.coord&&n.coord&&!dB(e)&&!dB(n))||t.containZone(e.coord,n.coord)}(t,r,o):mB(t,r)||mB(t,o)}function BB(t,e,n,i,r){var o,a=i.coordinateSystem,s=t.getItemModel(e),l=$r(s.get(n[0]),r.getWidth()),u=$r(s.get(n[1]),r.getHeight());if(isNaN(l)||isNaN(u)){if(i.getMarkerPosition){var h=t.getValues(["x0","y0"],e),c=t.getValues(["x1","y1"],e),p=a.clampData(h),d=a.clampData(c),f=[];"x0"===n[0]?f[0]=p[0]>d[0]?c[0]:h[0]:f[0]=p[0]>d[0]?h[0]:c[0],"y0"===n[1]?f[1]=p[1]>d[1]?c[1]:h[1]:f[1]=p[1]>d[1]?h[1]:c[1],o=i.getMarkerPosition(f,n,!0)}else{var g=[m=t.get(n[0],e),x=t.get(n[1],e)];a.clampData&&a.clampData(g,g),o=a.dataToPoint(g,!0)}if(PS(a,"cartesian2d")){var y=a.getAxis("x"),v=a.getAxis("y"),m=t.get(n[0],e),x=t.get(n[1],e);EB(m)?o[0]=y.toGlobalCoord(y.getExtent()["x0"===n[0]?0:1]):EB(x)&&(o[1]=v.toGlobalCoord(v.getExtent()["y0"===n[1]?0:1]))}isNaN(l)||(o[0]=l),isNaN(u)||(o[1]=u)}else o=[l,u];return o}var FB=[["x0","y0"],["x1","y0"],["x1","y1"],["x0","y1"]],GB=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.updateTransform=function(t,e,n){e.eachSeries((function(t){var e=cB.getMarkerModelFromSeries(t,"markArea");if(e){var i=e.getData();i.each((function(e){var r=z(FB,(function(r){return BB(i,e,r,t,n)}));i.setItemLayout(e,r),i.getItemGraphicEl(e).setShape("points",r)}))}}),this)},e.prototype.renderSeries=function(t,e,n,i){var r=t.coordinateSystem,o=t.id,a=t.getData(),s=this.markerGroupMap,l=s.get(o)||s.set(o,{group:new Br});this.group.add(l.group),this.markKeep(l);var u=function(t,e,n){var i,r,o=["x0","y0","x1","y1"];if(t){var a=z(t&&t.dimensions,(function(t){var n=e.getData();return A(A({},n.getDimensionInfo(n.mapDimension(t))||{}),{name:t,ordinalMeta:null})}));r=z(o,(function(t,e){return{name:t,type:a[e%2].type}})),i=new cx(r,n)}else i=new cx(r=[{name:"value",type:"float"}],n);var s=z(n.get("data"),H(NB,e,t,n));t&&(s=B(s,H(VB,t)));var l=t?function(t,e,n,i){return If(t.coord[Math.floor(i/2)][i%2],r[i])}:function(t,e,n,i){return If(t.value,r[i])};return i.initData(s,null,l),i.hasItemOption=!0,i}(r,t,e);e.setData(u),u.each((function(e){var n=z(FB,(function(n){return BB(u,e,n,t,i)})),o=r.getAxis("x").scale,s=r.getAxis("y").scale,l=o.getExtent(),h=s.getExtent(),c=[o.parse(u.get("x0",e)),o.parse(u.get("x1",e))],p=[s.parse(u.get("y0",e)),s.parse(u.get("y1",e))];Qr(c),Qr(p);var d=!!(l[0]>c[1]||l[1]p[1]||h[1]=0},e.prototype.getOrient=function(){return"vertical"===this.get("orient")?{index:1,name:"vertical"}:{index:0,name:"horizontal"}},e.type="legend.plain",e.dependencies=["series"],e.defaultOption={z:4,show:!0,orient:"horizontal",left:"center",top:0,align:"auto",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderRadius:0,borderWidth:0,padding:5,itemGap:10,itemWidth:25,itemHeight:14,symbolRotate:"inherit",symbolKeepAspect:!0,inactiveColor:"#ccc",inactiveBorderColor:"#ccc",inactiveBorderWidth:"auto",itemStyle:{color:"inherit",opacity:"inherit",borderColor:"inherit",borderWidth:"auto",borderCap:"inherit",borderJoin:"inherit",borderDashOffset:"inherit",borderMiterLimit:"inherit"},lineStyle:{width:"auto",color:"inherit",inactiveColor:"#ccc",inactiveWidth:2,opacity:"inherit",type:"inherit",cap:"inherit",join:"inherit",dashOffset:"inherit",miterLimit:"inherit"},textStyle:{color:"#333"},selectedMode:!0,selector:!1,selectorLabel:{show:!0,borderRadius:10,padding:[3,5,3,5],fontSize:12,fontFamily:"sans-serif",color:"#666",borderWidth:1,borderColor:"#666"},emphasis:{selectorLabel:{show:!0,color:"#eee",backgroundColor:"#666"}},selectorPosition:"auto",selectorItemGap:7,selectorButtonGap:10,tooltip:{show:!1}},e}(zp),HB=H,YB=E,XB=Br,UB=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.newlineDisabled=!1,n}return n(e,t),e.prototype.init=function(){this.group.add(this._contentGroup=new XB),this.group.add(this._selectorGroup=new XB),this._isFirstRender=!0},e.prototype.getContentGroup=function(){return this._contentGroup},e.prototype.getSelectorGroup=function(){return this._selectorGroup},e.prototype.render=function(t,e,n){var i=this._isFirstRender;if(this._isFirstRender=!1,this.resetInner(),t.get("show",!0)){var r=t.get("align"),o=t.get("orient");r&&"auto"!==r||(r="right"===t.get("left")&&"vertical"===o?"right":"left");var a=t.get("selector",!0),s=t.get("selectorPosition",!0);!a||s&&"auto"!==s||(s="horizontal"===o?"end":"start"),this.renderInner(r,t,e,n,a,o,s);var l=t.getBoxLayoutParams(),u={width:n.getWidth(),height:n.getHeight()},h=t.get("padding"),c=kp(l,u,h),p=this.layoutInner(t,r,c,i,a,s),d=kp(k({width:p.width,height:p.height},l),u,h);this.group.x=d.x-p.x,this.group.y=d.y-p.y,this.group.markRedraw(),this.group.add(this._backgroundEl=bz(p,t))}},e.prototype.resetInner=function(){this.getContentGroup().removeAll(),this._backgroundEl&&this.group.remove(this._backgroundEl),this.getSelectorGroup().removeAll()},e.prototype.renderInner=function(t,e,n,i,r,o,a){var s=this.getContentGroup(),l=yt(),u=e.get("selectedMode"),h=[];n.eachRawSeries((function(t){!t.get("legendHoverLink")&&h.push(t.id)})),YB(e.getData(),(function(r,o){var a=r.get("name");if(!this.newlineDisabled&&(""===a||"\n"===a)){var c=new XB;return c.newline=!0,void s.add(c)}var p=n.getSeriesByName(a)[0];if(!l.get(a)){if(p){var d=p.getData(),f=d.getVisual("legendLineStyle")||{},g=d.getVisual("legendIcon"),y=d.getVisual("style"),v=this._createItem(p,a,o,r,e,t,f,y,g,u,i);v.on("click",HB(ZB,a,null,i,h)).on("mouseover",HB(qB,p.name,null,i,h)).on("mouseout",HB(KB,p.name,null,i,h)),n.ssr&&v.eachChild((function(t){var e=rl(t);e.seriesIndex=p.seriesIndex,e.dataIndex=o,e.ssrType="legend"})),l.set(a,!0)}else n.eachRawSeries((function(s){if(!l.get(a)&&s.legendVisualProvider){var c=s.legendVisualProvider;if(!c.containName(a))return;var p=c.indexOfName(a),d=c.getItemVisual(p,"style"),f=c.getItemVisual(p,"legendIcon"),g=qn(d.fill);g&&0===g[3]&&(g[3]=.2,d=A(A({},d),{fill:ri(g,"rgba")}));var y=this._createItem(s,a,o,r,e,t,{},d,f,u,i);y.on("click",HB(ZB,null,a,i,h)).on("mouseover",HB(qB,null,a,i,h)).on("mouseout",HB(KB,null,a,i,h)),n.ssr&&y.eachChild((function(t){var e=rl(t);e.seriesIndex=s.seriesIndex,e.dataIndex=o,e.ssrType="legend"})),l.set(a,!0)}}),this);0}}),this),r&&this._createSelector(r,e,i,o,a)},e.prototype._createSelector=function(t,e,n,i,r){var o=this.getSelectorGroup();YB(t,(function(t){var i=t.type,r=new Xs({style:{x:0,y:0,align:"center",verticalAlign:"middle"},onclick:function(){n.dispatchAction({type:"all"===i?"legendAllSelect":"legendInverseSelect"})}});o.add(r),ic(r,{normal:e.getModel("selectorLabel"),emphasis:e.getModel(["emphasis","selectorLabel"])},{defaultText:t.title}),Ul(r)}))},e.prototype._createItem=function(t,e,n,i,r,o,a,s,l,u,h){var c=t.visualDrawType,p=r.get("itemWidth"),d=r.get("itemHeight"),f=r.isSelected(e),g=i.get("symbolRotate"),y=i.get("symbolKeepAspect"),v=i.get("icon"),m=function(t,e,n,i,r,o,a){function s(t,e){"auto"===t.lineWidth&&(t.lineWidth=e.lineWidth>0?2:0),YB(t,(function(n,i){"inherit"===t[i]&&(t[i]=e[i])}))}var l=e.getModel("itemStyle"),u=l.getItemStyle(),h=0===t.lastIndexOf("empty",0)?"fill":"stroke",c=l.getShallow("decal");u.decal=c&&"inherit"!==c?mv(c,a):i.decal,"inherit"===u.fill&&(u.fill=i[r]);"inherit"===u.stroke&&(u.stroke=i[h]);"inherit"===u.opacity&&(u.opacity=("fill"===r?i:n).opacity);s(u,i);var p=e.getModel("lineStyle"),d=p.getLineStyle();if(s(d,n),"auto"===u.fill&&(u.fill=i.fill),"auto"===u.stroke&&(u.stroke=i.fill),"auto"===d.stroke&&(d.stroke=i.fill),!o){var f=e.get("inactiveBorderWidth"),g=u[h];u.lineWidth="auto"===f?i.lineWidth>0&&g?2:0:u.lineWidth,u.fill=e.get("inactiveColor"),u.stroke=e.get("inactiveBorderColor"),d.stroke=p.get("inactiveColor"),d.lineWidth=p.get("inactiveWidth")}return{itemStyle:u,lineStyle:d}}(l=v||l||"roundRect",i,a,s,c,f,h),x=new XB,_=i.getModel("textStyle");if(!X(t.getLegendIcon)||v&&"inherit"!==v){var b="inherit"===v&&t.getData().getVisual("symbol")?"inherit"===g?t.getData().getVisual("symbolRotate"):g:0;x.add(function(t){var e=t.icon||"roundRect",n=Xy(e,0,0,t.itemWidth,t.itemHeight,t.itemStyle.fill,t.symbolKeepAspect);n.setStyle(t.itemStyle),n.rotation=(t.iconRotate||0)*Math.PI/180,n.setOrigin([t.itemWidth/2,t.itemHeight/2]),e.indexOf("empty")>-1&&(n.style.stroke=n.style.fill,n.style.fill="#fff",n.style.lineWidth=2);return n}({itemWidth:p,itemHeight:d,icon:l,iconRotate:b,itemStyle:m.itemStyle,lineStyle:m.lineStyle,symbolKeepAspect:y}))}else x.add(t.getLegendIcon({itemWidth:p,itemHeight:d,icon:l,iconRotate:g,itemStyle:m.itemStyle,lineStyle:m.lineStyle,symbolKeepAspect:y}));var w="left"===o?p+5:-5,S=o,M=r.get("formatter"),I=e;U(M)&&M?I=M.replace("{name}",null!=e?e:""):X(M)&&(I=M(e));var T=f?_.getTextColor():i.get("inactiveColor");x.add(new Xs({style:oc(_,{text:I,x:w,y:d/2,fill:T,align:S,verticalAlign:"middle"},{inheritColor:T})}));var C=new Ws({shape:x.getBoundingRect(),style:{fill:"transparent"}}),D=i.getModel("tooltip");return D.get("show")&&Kh({el:C,componentModel:r,itemName:e,itemTooltipOption:D.option}),x.add(C),x.eachChild((function(t){t.silent=!0})),C.silent=!u,this.getContentGroup().add(x),Ul(x),x.__legendDataIndex=n,x},e.prototype.layoutInner=function(t,e,n,i,r,o){var a=this.getContentGroup(),s=this.getSelectorGroup();Ap(t.get("orient"),a,t.get("itemGap"),n.width,n.height);var l=a.getBoundingRect(),u=[-l.x,-l.y];if(s.markRedraw(),a.markRedraw(),r){Ap("horizontal",s,t.get("selectorItemGap",!0));var h=s.getBoundingRect(),c=[-h.x,-h.y],p=t.get("selectorButtonGap",!0),d=t.getOrient().index,f=0===d?"width":"height",g=0===d?"height":"width",y=0===d?"y":"x";"end"===o?c[d]+=l[f]+p:u[d]+=h[f]+p,c[1-d]+=l[g]/2-h[g]/2,s.x=c[0],s.y=c[1],a.x=u[0],a.y=u[1];var v={x:0,y:0};return v[f]=l[f]+p+h[f],v[g]=Math.max(l[g],h[g]),v[y]=Math.min(0,h[y]+c[1-d]),v}return a.x=u[0],a.y=u[1],this.group.getBoundingRect()},e.prototype.remove=function(){this.getContentGroup().removeAll(),this._isFirstRender=!0},e.type="legend.plain",e}(Ag);function ZB(t,e,n,i){KB(t,e,n,i),n.dispatchAction({type:"legendToggleSelect",name:null!=t?t:e}),qB(t,e,n,i)}function jB(t){for(var e,n=t.getZr().storage.getDisplayList(),i=0,r=n.length;in[r],f=[-c.x,-c.y];e||(f[i]=l[s]);var g=[0,0],y=[-p.x,-p.y],v=rt(t.get("pageButtonGap",!0),t.get("itemGap",!0));d&&("end"===t.get("pageButtonPosition",!0)?y[i]+=n[r]-p[r]:g[i]+=p[r]+v);y[1-i]+=c[o]/2-p[o]/2,l.setPosition(f),u.setPosition(g),h.setPosition(y);var m={x:0,y:0};if(m[r]=d?n[r]:c[r],m[o]=Math.max(c[o],p[o]),m[a]=Math.min(0,p[a]+y[1-i]),u.__rectSize=n[r],d){var x={x:0,y:0};x[r]=Math.max(n[r]-p[r]-v,0),x[o]=m[o],u.setClipPath(new Ws({shape:x})),u.__rectSize=x[r]}else h.eachChild((function(t){t.attr({invisible:!0,silent:!0})}));var _=this._getPageInfo(t);return null!=_.pageIndex&&vh(l,{x:_.contentPosition[0],y:_.contentPosition[1]},d?t:null),this._updatePageInfoView(t,_),m},e.prototype._pageGo=function(t,e,n){var i=this._getPageInfo(e)[t];null!=i&&n.dispatchAction({type:"legendScroll",scrollDataIndex:i,legendId:e.id})},e.prototype._updatePageInfoView=function(t,e){var n=this._controllerGroup;E(["pagePrev","pageNext"],(function(i){var r=null!=e[i+"DataIndex"],o=n.childOfName(i);o&&(o.setStyle("fill",r?t.get("pageIconColor",!0):t.get("pageIconInactiveColor",!0)),o.cursor=r?"pointer":"default")}));var i=n.childOfName("pageText"),r=t.get("pageFormatter"),o=e.pageIndex,a=null!=o?o+1:0,s=e.pageCount;i&&r&&i.setStyle("text",U(r)?r.replace("{current}",null==a?"":a+"").replace("{total}",null==s?"":s+""):r({current:a,total:s}))},e.prototype._getPageInfo=function(t){var e=t.get("scrollDataIndex",!0),n=this.getContentGroup(),i=this._containerGroup.__rectSize,r=t.getOrient().index,o=iF[r],a=rF[r],s=this._findTargetItemIndex(e),l=n.children(),u=l[s],h=l.length,c=h?1:0,p={contentPosition:[n.x,n.y],pageCount:c,pageIndex:c-1,pagePrevDataIndex:null,pageNextDataIndex:null};if(!u)return p;var d=m(u);p.contentPosition[r]=-d.s;for(var f=s+1,g=d,y=d,v=null;f<=h;++f)(!(v=m(l[f]))&&y.e>g.s+i||v&&!x(v,g.s))&&(g=y.i>g.i?y:v)&&(null==p.pageNextDataIndex&&(p.pageNextDataIndex=g.i),++p.pageCount),y=v;for(f=s-1,g=d,y=d,v=null;f>=-1;--f)(v=m(l[f]))&&x(y,v.s)||!(g.i=e&&t.s<=e+i}},e.prototype._findTargetItemIndex=function(t){return this._showController?(this.getContentGroup().eachChild((function(i,r){var o=i.__legendDataIndex;null==n&&null!=o&&(n=r),o===t&&(e=r)})),null!=e?e:n):0;var e,n},e.type="legend.scroll",e}(UB);function aF(t){Vm(QB),t.registerComponentModel(tF),t.registerComponentView(oF),function(t){t.registerAction("legendScroll","legendscroll",(function(t,e){var n=t.scrollDataIndex;null!=n&&e.eachComponent({mainType:"legend",subType:"scroll",query:t},(function(t){t.setScrollDataIndex(n)}))}))}(t)}var sF=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.type="dataZoom.inside",e.defaultOption=kc(rz.defaultOption,{disabled:!1,zoomLock:!1,zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!1,preventDefaultMouseMove:!0}),e}(rz),lF=Vo();function uF(t,e,n){lF(t).coordSysRecordMap.each((function(t){var i=t.dataZoomInfoMap.get(e.uid);i&&(i.getRange=n)}))}function hF(t,e){if(e){t.removeKey(e.model.uid);var n=e.controller;n&&n.dispose()}}function cF(t,e){t.isDisposed()||t.dispatchAction({type:"dataZoom",animation:{easing:"cubicOut",duration:100},batch:e})}function pF(t,e,n,i){return t.coordinateSystem.containPoint([n,i])}function dF(t){t.registerProcessor(t.PRIORITY.PROCESSOR.FILTER,(function(t,e){var n=lF(e),i=n.coordSysRecordMap||(n.coordSysRecordMap=yt());i.each((function(t){t.dataZoomInfoMap=null})),t.eachComponent({mainType:"dataZoom",subType:"inside"},(function(t){E(nz(t).infoList,(function(n){var r=n.model.uid,o=i.get(r)||i.set(r,function(t,e){var n={model:e,containsPoint:H(pF,e),dispatchAction:H(cF,t),dataZoomInfoMap:null,controller:null},i=n.controller=new tT(t.getZr());return E(["pan","zoom","scrollMove"],(function(t){i.on(t,(function(e){var i=[];n.dataZoomInfoMap.each((function(r){if(e.isAvailableBehavior(r.model.option)){var o=(r.getRange||{})[t],a=o&&o(r.dzReferCoordSysInfo,n.model.mainType,n.controller,e);!r.model.get("disabled",!0)&&a&&i.push({dataZoomId:r.model.id,start:a[0],end:a[1]})}})),i.length&&n.dispatchAction(i)}))})),n}(e,n.model));(o.dataZoomInfoMap||(o.dataZoomInfoMap=yt())).set(t.uid,{dzReferCoordSysInfo:n,model:t,getRange:null})}))})),i.each((function(t){var e,n=t.controller,r=t.dataZoomInfoMap;if(r){var o=r.keys()[0];null!=o&&(e=r.get(o))}if(e){var a=function(t){var e,n="type_",i={type_true:2,type_move:1,type_false:0,type_undefined:-1},r=!0;return t.each((function(t){var o=t.model,a=!o.get("disabled",!0)&&(!o.get("zoomLock",!0)||"move");i[n+a]>i[n+e]&&(e=a),r=r&&o.get("preventDefaultMouseMove",!0)})),{controlType:e,opt:{zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!0,preventDefaultMouseMove:!!r}}}(r);n.enable(a.controlType,a.opt),n.setPointerChecker(t.containsPoint),Hg(t,"dispatchAction",e.model.get("throttle",!0),"fixRate")}else hF(i,t)}))}))}var fF=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="dataZoom.inside",e}return n(e,t),e.prototype.render=function(e,n,i){t.prototype.render.apply(this,arguments),e.noTarget()?this._clear():(this.range=e.getPercentRange(),uF(i,e,{pan:W(gF.pan,this),zoom:W(gF.zoom,this),scrollMove:W(gF.scrollMove,this)}))},e.prototype.dispose=function(){this._clear(),t.prototype.dispose.apply(this,arguments)},e.prototype._clear=function(){!function(t,e){for(var n=lF(t).coordSysRecordMap,i=n.keys(),r=0;r0?s.pixelStart+s.pixelLength-s.pixel:s.pixel-s.pixelStart)/s.pixelLength*(o[1]-o[0])+o[0],u=Math.max(1/i.scale,0);o[0]=(o[0]-l)*u+l,o[1]=(o[1]-l)*u+l;var h=this.dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();return Nk(0,o,[0,100],0,h.minSpan,h.maxSpan),this.range=o,r[0]!==o[0]||r[1]!==o[1]?o:void 0}},pan:yF((function(t,e,n,i,r,o){var a=vF[i]([o.oldX,o.oldY],[o.newX,o.newY],e,r,n);return a.signal*(t[1]-t[0])*a.pixel/a.pixelLength})),scrollMove:yF((function(t,e,n,i,r,o){return vF[i]([0,0],[o.scrollDelta,o.scrollDelta],e,r,n).signal*(t[1]-t[0])*o.scrollDelta}))};function yF(t){return function(e,n,i,r){var o=this.range,a=o.slice(),s=e.axisModels[0];if(s)return Nk(t(a,s,e,n,i,r),a,[0,100],"all"),this.range=a,o[0]!==a[0]||o[1]!==a[1]?a:void 0}}var vF={grid:function(t,e,n,i,r){var o=n.axis,a={},s=r.model.coordinateSystem.getRect();return t=t||[0,0],"x"===o.dim?(a.pixel=e[0]-t[0],a.pixelLength=s.width,a.pixelStart=s.x,a.signal=o.inverse?1:-1):(a.pixel=e[1]-t[1],a.pixelLength=s.height,a.pixelStart=s.y,a.signal=o.inverse?-1:1),a},polar:function(t,e,n,i,r){var o=n.axis,a={},s=r.model.coordinateSystem,l=s.getRadiusAxis().getExtent(),u=s.getAngleAxis().getExtent();return t=t?s.pointToCoord(t):[0,0],e=s.pointToCoord(e),"radiusAxis"===n.mainType?(a.pixel=e[0]-t[0],a.pixelLength=l[1]-l[0],a.pixelStart=l[0],a.signal=o.inverse?1:-1):(a.pixel=e[1]-t[1],a.pixelLength=u[1]-u[0],a.pixelStart=u[0],a.signal=o.inverse?-1:1),a},singleAxis:function(t,e,n,i,r){var o=n.axis,a=r.model.coordinateSystem.getRect(),s={};return t=t||[0,0],"horizontal"===o.orient?(s.pixel=e[0]-t[0],s.pixelLength=a.width,s.pixelStart=a.x,s.signal=o.inverse?1:-1):(s.pixel=e[1]-t[1],s.pixelLength=a.height,s.pixelStart=a.y,s.signal=o.inverse?-1:1),s}};function mF(t){fz(t),t.registerComponentModel(sF),t.registerComponentView(fF),dF(t)}var xF=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.type="dataZoom.slider",e.layoutMode="box",e.defaultOption=kc(rz.defaultOption,{show:!0,right:"ph",top:"ph",width:"ph",height:"ph",left:null,bottom:null,borderColor:"#d2dbee",borderRadius:3,backgroundColor:"rgba(47,69,84,0)",dataBackground:{lineStyle:{color:"#d2dbee",width:.5},areaStyle:{color:"#d2dbee",opacity:.2}},selectedDataBackground:{lineStyle:{color:"#8fb0f7",width:.5},areaStyle:{color:"#8fb0f7",opacity:.2}},fillerColor:"rgba(135,175,274,0.2)",handleIcon:"path://M-9.35,34.56V42m0-40V9.5m-2,0h4a2,2,0,0,1,2,2v21a2,2,0,0,1-2,2h-4a2,2,0,0,1-2-2v-21A2,2,0,0,1-11.35,9.5Z",handleSize:"100%",handleStyle:{color:"#fff",borderColor:"#ACB8D1"},moveHandleSize:7,moveHandleIcon:"path://M-320.9-50L-320.9-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-348-41-339-50-320.9-50z M-212.3-50L-212.3-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-239.4-41-230.4-50-212.3-50z M-103.7-50L-103.7-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-130.9-41-121.8-50-103.7-50z",moveHandleStyle:{color:"#D2DBEE",opacity:.7},showDetail:!0,showDataShadow:"auto",realtime:!0,zoomLock:!1,textStyle:{color:"#6E7079"},brushSelect:!0,brushStyle:{color:"rgba(135,175,274,0.15)"},emphasis:{handleStyle:{borderColor:"#8FB0F7"},moveHandleStyle:{color:"#8FB0F7"}}}),e}(rz),_F=Ws,bF="horizontal",wF="vertical",SF=["line","bar","candlestick","scatter"],MF={easing:"cubicOut",duration:100,delay:0},IF=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n._displayables={},n}return n(e,t),e.prototype.init=function(t,e){this.api=e,this._onBrush=W(this._onBrush,this),this._onBrushEnd=W(this._onBrushEnd,this)},e.prototype.render=function(e,n,i,r){if(t.prototype.render.apply(this,arguments),Hg(this,"_dispatchZoomAction",e.get("throttle"),"fixRate"),this._orient=e.getOrient(),!1!==e.get("show")){if(e.noTarget())return this._clear(),void this.group.removeAll();r&&"dataZoom"===r.type&&r.from===this.uid||this._buildView(),this._updateView()}else this.group.removeAll()},e.prototype.dispose=function(){this._clear(),t.prototype.dispose.apply(this,arguments)},e.prototype._clear=function(){Yg(this,"_dispatchZoomAction");var t=this.api.getZr();t.off("mousemove",this._onBrush),t.off("mouseup",this._onBrushEnd)},e.prototype._buildView=function(){var t=this.group;t.removeAll(),this._brushing=!1,this._displayables.brushRect=null,this._resetLocation(),this._resetInterval();var e=this._displayables.sliderGroup=new Br;this._renderBackground(),this._renderHandle(),this._renderDataShadow(),t.add(e),this._positionGroup()},e.prototype._resetLocation=function(){var t=this.dataZoomModel,e=this.api,n=t.get("brushSelect")?7:0,i=this._findCoordRect(),r={width:e.getWidth(),height:e.getHeight()},o=this._orient===bF?{right:r.width-i.x-i.width,top:r.height-30-7-n,width:i.width,height:30}:{right:7,top:i.y,width:30,height:i.height},a=Rp(t.option);E(["right","top","width","height"],(function(t){"ph"===a[t]&&(a[t]=o[t])}));var s=kp(a,r);this._location={x:s.x,y:s.y},this._size=[s.width,s.height],this._orient===wF&&this._size.reverse()},e.prototype._positionGroup=function(){var t=this.group,e=this._location,n=this._orient,i=this.dataZoomModel.getFirstTargetAxisModel(),r=i&&i.get("inverse"),o=this._displayables.sliderGroup,a=(this._dataShadowInfo||{}).otherAxisInverse;o.attr(n!==bF||r?n===bF&&r?{scaleY:a?1:-1,scaleX:-1}:n!==wF||r?{scaleY:a?-1:1,scaleX:-1,rotation:Math.PI/2}:{scaleY:a?-1:1,scaleX:1,rotation:Math.PI/2}:{scaleY:a?1:-1,scaleX:1});var s=t.getBoundingRect([o]);t.x=e.x-s.x,t.y=e.y-s.y,t.markRedraw()},e.prototype._getViewExtent=function(){return[0,this._size[0]]},e.prototype._renderBackground=function(){var t=this.dataZoomModel,e=this._size,n=this._displayables.sliderGroup,i=t.get("brushSelect");n.add(new _F({silent:!0,shape:{x:0,y:0,width:e[0],height:e[1]},style:{fill:t.get("backgroundColor")},z2:-40}));var r=new _F({shape:{x:0,y:0,width:e[0],height:e[1]},style:{fill:"transparent"},z2:0,onclick:W(this._onClickPanel,this)}),o=this.api.getZr();i?(r.on("mousedown",this._onBrushStart,this),r.cursor="crosshair",o.on("mousemove",this._onBrush),o.on("mouseup",this._onBrushEnd)):(o.off("mousemove",this._onBrush),o.off("mouseup",this._onBrushEnd)),n.add(r)},e.prototype._renderDataShadow=function(){var t=this._dataShadowInfo=this._prepareDataShadowInfo();if(this._displayables.dataShadowSegs=[],t){var e=this._size,n=this._shadowSize||[],i=t.series,r=i.getRawData(),o=i.getShadowDim&&i.getShadowDim(),a=o&&r.getDimensionInfo(o)?i.getShadowDim():t.otherDim;if(null!=a){var s=this._shadowPolygonPts,l=this._shadowPolylinePts;if(r!==this._shadowData||a!==this._shadowDim||e[0]!==n[0]||e[1]!==n[1]){var u=r.getDataExtent(a),h=.3*(u[1]-u[0]);u=[u[0]-h,u[1]+h];var c,p=[0,e[1]],d=[0,e[0]],f=[[e[0],0],[0,0]],g=[],y=d[1]/(r.count()-1),v=0,m=Math.round(r.count()/e[0]);r.each([a],(function(t,e){if(m>0&&e%m)v+=y;else{var n=null==t||isNaN(t)||""===t,i=n?0:Kr(t,u,p,!0);n&&!c&&e?(f.push([f[f.length-1][0],0]),g.push([g[g.length-1][0],0])):!n&&c&&(f.push([v,0]),g.push([v,0])),f.push([v,i]),g.push([v,i]),v+=y,c=n}})),s=this._shadowPolygonPts=f,l=this._shadowPolylinePts=g}this._shadowData=r,this._shadowDim=a,this._shadowSize=[e[0],e[1]];for(var x=this.dataZoomModel,_=0;_<3;_++){var b=w(1===_);this._displayables.sliderGroup.add(b),this._displayables.dataShadowSegs.push(b)}}}function w(t){var e=x.getModel(t?"selectedDataBackground":"dataBackground"),n=new Br,i=new Xu({shape:{points:s},segmentIgnoreThreshold:1,style:e.getModel("areaStyle").getAreaStyle(),silent:!0,z2:-20}),r=new Zu({shape:{points:l},segmentIgnoreThreshold:1,style:e.getModel("lineStyle").getLineStyle(),silent:!0,z2:-19});return n.add(i),n.add(r),n}},e.prototype._prepareDataShadowInfo=function(){var t=this.dataZoomModel,e=t.get("showDataShadow");if(!1!==e){var n,i=this.ecModel;return t.eachTargetAxis((function(r,o){E(t.getAxisProxy(r,o).getTargetSeriesModels(),(function(t){if(!(n||!0!==e&&P(SF,t.get("type"))<0)){var a,s=i.getComponent(tz(r),o).axis,l=function(t){var e={x:"y",y:"x",radius:"angle",angle:"radius"};return e[t]}(r),u=t.coordinateSystem;null!=l&&u.getOtherAxis&&(a=u.getOtherAxis(s).inverse),l=t.getData().mapDimension(l),n={thisAxis:s,series:t,thisDim:r,otherDim:l,otherAxisInverse:a}}}),this)}),this),n}},e.prototype._renderHandle=function(){var t=this.group,e=this._displayables,n=e.handles=[null,null],i=e.handleLabels=[null,null],r=this._displayables.sliderGroup,o=this._size,a=this.dataZoomModel,s=this.api,l=a.get("borderRadius")||0,u=a.get("brushSelect"),h=e.filler=new _F({silent:u,style:{fill:a.get("fillerColor")},textConfig:{position:"inside"}});r.add(h),r.add(new _F({silent:!0,subPixelOptimize:!0,shape:{x:0,y:0,width:o[0],height:o[1],r:l},style:{stroke:a.get("dataBackgroundColor")||a.get("borderColor"),lineWidth:1,fill:"rgba(0,0,0,0)"}})),E([0,1],(function(e){var o=a.get("handleIcon");!Wy[o]&&o.indexOf("path://")<0&&o.indexOf("image://")<0&&(o="path://"+o);var s=Xy(o,-1,0,2,2,null,!0);s.attr({cursor:TF(this._orient),draggable:!0,drift:W(this._onDragMove,this,e),ondragend:W(this._onDragEnd,this),onmouseover:W(this._showDataInfo,this,!0),onmouseout:W(this._showDataInfo,this,!1),z2:5});var l=s.getBoundingRect(),u=a.get("handleSize");this._handleHeight=$r(u,this._size[1]),this._handleWidth=l.width/l.height*this._handleHeight,s.setStyle(a.getModel("handleStyle").getItemStyle()),s.style.strokeNoScale=!0,s.rectHover=!0,s.ensureState("emphasis").style=a.getModel(["emphasis","handleStyle"]).getItemStyle(),Ul(s);var h=a.get("handleColor");null!=h&&(s.style.fill=h),r.add(n[e]=s);var c=a.getModel("textStyle");t.add(i[e]=new Xs({silent:!0,invisible:!0,style:oc(c,{x:0,y:0,text:"",verticalAlign:"middle",align:"center",fill:c.getTextColor(),font:c.getFont()}),z2:10}))}),this);var c=h;if(u){var p=$r(a.get("moveHandleSize"),o[1]),d=e.moveHandle=new Ws({style:a.getModel("moveHandleStyle").getItemStyle(),silent:!0,shape:{r:[0,0,2,2],y:o[1]-.5,height:p}}),f=.8*p,g=e.moveHandleIcon=Xy(a.get("moveHandleIcon"),-f/2,-f/2,f,f,"#fff",!0);g.silent=!0,g.y=o[1]+p/2-.5,d.ensureState("emphasis").style=a.getModel(["emphasis","moveHandleStyle"]).getItemStyle();var y=Math.min(o[1]/2,Math.max(p,10));(c=e.moveZone=new Ws({invisible:!0,shape:{y:o[1]-y,height:p+y}})).on("mouseover",(function(){s.enterEmphasis(d)})).on("mouseout",(function(){s.leaveEmphasis(d)})),r.add(d),r.add(g),r.add(c)}c.attr({draggable:!0,cursor:TF(this._orient),drift:W(this._onDragMove,this,"all"),ondragstart:W(this._showDataInfo,this,!0),ondragend:W(this._onDragEnd,this),onmouseover:W(this._showDataInfo,this,!0),onmouseout:W(this._showDataInfo,this,!1)})},e.prototype._resetInterval=function(){var t=this._range=this.dataZoomModel.getPercentRange(),e=this._getViewExtent();this._handleEnds=[Kr(t[0],[0,100],e,!0),Kr(t[1],[0,100],e,!0)]},e.prototype._updateInterval=function(t,e){var n=this.dataZoomModel,i=this._handleEnds,r=this._getViewExtent(),o=n.findRepresentativeAxisProxy().getMinMaxSpan(),a=[0,100];Nk(e,i,r,n.get("zoomLock")?"all":t,null!=o.minSpan?Kr(o.minSpan,a,r,!0):null,null!=o.maxSpan?Kr(o.maxSpan,a,r,!0):null);var s=this._range,l=this._range=Qr([Kr(i[0],r,a,!0),Kr(i[1],r,a,!0)]);return!s||s[0]!==l[0]||s[1]!==l[1]},e.prototype._updateView=function(t){var e=this._displayables,n=this._handleEnds,i=Qr(n.slice()),r=this._size;E([0,1],(function(t){var i=e.handles[t],o=this._handleHeight;i.attr({scaleX:o/2,scaleY:o/2,x:n[t]+(t?-1:1),y:r[1]/2-o/2})}),this),e.filler.setShape({x:i[0],y:0,width:i[1]-i[0],height:r[1]});var o={x:i[0],width:i[1]-i[0]};e.moveHandle&&(e.moveHandle.setShape(o),e.moveZone.setShape(o),e.moveZone.getBoundingRect(),e.moveHandleIcon&&e.moveHandleIcon.attr("x",o.x+o.width/2));for(var a=e.dataShadowSegs,s=[0,i[0],i[1],r[0]],l=0;le[0]||n[1]<0||n[1]>e[1])){var i=this._handleEnds,r=(i[0]+i[1])/2,o=this._updateInterval("all",n[0]-r);this._updateView(),o&&this._dispatchZoomAction(!1)}},e.prototype._onBrushStart=function(t){var e=t.offsetX,n=t.offsetY;this._brushStart=new De(e,n),this._brushing=!0,this._brushStartTime=+new Date},e.prototype._onBrushEnd=function(t){if(this._brushing){var e=this._displayables.brushRect;if(this._brushing=!1,e){e.attr("ignore",!0);var n=e.shape;if(!(+new Date-this._brushStartTime<200&&Math.abs(n.width)<5)){var i=this._getViewExtent(),r=[0,100];this._range=Qr([Kr(n.x,i,r,!0),Kr(n.x+n.width,i,r,!0)]),this._handleEnds=[n.x,n.x+n.width],this._updateView(),this._dispatchZoomAction(!1)}}}},e.prototype._onBrush=function(t){this._brushing&&(de(t.event),this._updateBrushRect(t.offsetX,t.offsetY))},e.prototype._updateBrushRect=function(t,e){var n=this._displayables,i=this.dataZoomModel,r=n.brushRect;r||(r=n.brushRect=new _F({silent:!0,style:i.getModel("brushStyle").getItemStyle()}),n.sliderGroup.add(r)),r.attr("ignore",!1);var o=this._brushStart,a=this._displayables.sliderGroup,s=a.transformCoordToLocal(t,e),l=a.transformCoordToLocal(o.x,o.y),u=this._size;s[0]=Math.max(Math.min(u[0],s[0]),0),r.setShape({x:l[0],y:0,width:s[0]-l[0],height:u[1]})},e.prototype._dispatchZoomAction=function(t){var e=this._range;this.api.dispatchAction({type:"dataZoom",from:this.uid,dataZoomId:this.dataZoomModel.id,animation:t?MF:null,start:e[0],end:e[1]})},e.prototype._findCoordRect=function(){var t,e=nz(this.dataZoomModel).infoList;if(!t&&e.length){var n=e[0].model.coordinateSystem;t=n.getRect&&n.getRect()}if(!t){var i=this.api.getWidth(),r=this.api.getHeight();t={x:.2*i,y:.2*r,width:.6*i,height:.6*r}}return t},e.type="dataZoom.slider",e}(sz);function TF(t){return"vertical"===t?"ns-resize":"ew-resize"}function CF(t){t.registerComponentModel(xF),t.registerComponentView(IF),fz(t)}var DF=function(t,e,n){var i=T((AF[t]||{})[e]);return n&&Y(i)?i[i.length-1]:i},AF={color:{active:["#006edd","#e0ffff"],inactive:["rgba(0,0,0,0)"]},colorHue:{active:[0,360],inactive:[0,0]},colorSaturation:{active:[.3,1],inactive:[0,0]},colorLightness:{active:[.9,.5],inactive:[0,0]},colorAlpha:{active:[.3,1],inactive:[0,0]},opacity:{active:[.3,1],inactive:[0,0]},symbol:{active:["circle","roundRect","diamond"],inactive:["none"]},symbolSize:{active:[10,50],inactive:[0,0]}},kF=DD.mapVisual,LF=DD.eachVisual,PF=Y,OF=E,RF=Qr,NF=Kr,EF=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n.stateList=["inRange","outOfRange"],n.replacableOptionKeys=["inRange","outOfRange","target","controller","color"],n.layoutMode={type:"box",ignoreSize:!0},n.dataBound=[-1/0,1/0],n.targetVisuals={},n.controllerVisuals={},n}return n(e,t),e.prototype.init=function(t,e,n){this.mergeDefaultAndTheme(t,n)},e.prototype.optionUpdated=function(t,e){var n=this.option;!e&&kV(n,t,this.replacableOptionKeys),this.textStyleModel=this.getModel("textStyle"),this.resetItemSize(),this.completeVisualOption()},e.prototype.resetVisual=function(t){var e=this.stateList;t=W(t,this),this.controllerVisuals=AV(this.option.controller,e,t),this.targetVisuals=AV(this.option.target,e,t)},e.prototype.getItemSymbol=function(){return null},e.prototype.getTargetSeriesIndices=function(){var t=this.option.seriesIndex,e=[];return null==t||"all"===t?this.ecModel.eachSeries((function(t,n){e.push(n)})):e=To(t),e},e.prototype.eachTargetSeries=function(t,e){E(this.getTargetSeriesIndices(),(function(n){var i=this.ecModel.getSeriesByIndex(n);i&&t.call(e,i)}),this)},e.prototype.isTargetSeries=function(t){var e=!1;return this.eachTargetSeries((function(n){n===t&&(e=!0)})),e},e.prototype.formatValueText=function(t,e,n){var i,r=this.option,o=r.precision,a=this.dataBound,s=r.formatter;n=n||["<",">"],Y(t)&&(t=t.slice(),i=!0);var l=e?t:i?[u(t[0]),u(t[1])]:u(t);return U(s)?s.replace("{value}",i?l[0]:l).replace("{value2}",i?l[1]:l):X(s)?i?s(t[0],t[1]):s(t):i?t[0]===a[0]?n[0]+" "+l[1]:t[1]===a[1]?n[1]+" "+l[0]:l[0]+" - "+l[1]:l;function u(t){return t===a[0]?"min":t===a[1]?"max":(+t).toFixed(Math.min(o,20))}},e.prototype.resetExtent=function(){var t=this.option,e=RF([t.min,t.max]);this._dataExtent=e},e.prototype.getDataDimensionIndex=function(t){var e=this.option.dimension;if(null!=e)return t.getDimensionIndex(e);for(var n=t.dimensions,i=n.length-1;i>=0;i--){var r=n[i],o=t.getDimensionInfo(r);if(!o.isCalculationCoord)return o.storeDimIndex}},e.prototype.getExtent=function(){return this._dataExtent.slice()},e.prototype.completeVisualOption=function(){var t=this.ecModel,e=this.option,n={inRange:e.inRange,outOfRange:e.outOfRange},i=e.target||(e.target={}),r=e.controller||(e.controller={});C(i,n),C(r,n);var o=this.isCategory();function a(n){PF(e.color)&&!n.inRange&&(n.inRange={color:e.color.slice().reverse()}),n.inRange=n.inRange||{color:t.get("gradientColor")}}a.call(this,i),a.call(this,r),function(t,e,n){var i=t[e],r=t[n];i&&!r&&(r=t[n]={},OF(i,(function(t,e){if(DD.isValidType(e)){var n=DF(e,"inactive",o);null!=n&&(r[e]=n,"color"!==e||r.hasOwnProperty("opacity")||r.hasOwnProperty("colorAlpha")||(r.opacity=[0,0]))}})))}.call(this,i,"inRange","outOfRange"),function(t){var e=(t.inRange||{}).symbol||(t.outOfRange||{}).symbol,n=(t.inRange||{}).symbolSize||(t.outOfRange||{}).symbolSize,i=this.get("inactiveColor"),r=this.getItemSymbol()||"roundRect";OF(this.stateList,(function(a){var s=this.itemSize,l=t[a];l||(l=t[a]={color:o?i:[i]}),null==l.symbol&&(l.symbol=e&&T(e)||(o?r:[r])),null==l.symbolSize&&(l.symbolSize=n&&T(n)||(o?s[0]:[s[0],s[0]])),l.symbol=kF(l.symbol,(function(t){return"none"===t?r:t}));var u=l.symbolSize;if(null!=u){var h=-1/0;LF(u,(function(t){t>h&&(h=t)})),l.symbolSize=kF(u,(function(t){return NF(t,[0,h],[0,s[0]],!0)}))}}),this)}.call(this,r)},e.prototype.resetItemSize=function(){this.itemSize=[parseFloat(this.get("itemWidth")),parseFloat(this.get("itemHeight"))]},e.prototype.isCategory=function(){return!!this.option.categories},e.prototype.setSelected=function(t){},e.prototype.getSelected=function(){return null},e.prototype.getValueState=function(t){return null},e.prototype.getVisualMeta=function(t){return null},e.type="visualMap",e.dependencies=["series"],e.defaultOption={show:!0,z:4,seriesIndex:"all",min:0,max:200,left:0,right:null,top:null,bottom:0,itemWidth:null,itemHeight:null,inverse:!1,orient:"vertical",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",contentColor:"#5793f3",inactiveColor:"#aaa",borderWidth:0,padding:5,textGap:10,precision:0,textStyle:{color:"#333"}},e}(zp),zF=[20,140],VF=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.optionUpdated=function(e,n){t.prototype.optionUpdated.apply(this,arguments),this.resetExtent(),this.resetVisual((function(t){t.mappingMethod="linear",t.dataExtent=this.getExtent()})),this._resetRange()},e.prototype.resetItemSize=function(){t.prototype.resetItemSize.apply(this,arguments);var e=this.itemSize;(null==e[0]||isNaN(e[0]))&&(e[0]=zF[0]),(null==e[1]||isNaN(e[1]))&&(e[1]=zF[1])},e.prototype._resetRange=function(){var t=this.getExtent(),e=this.option.range;!e||e.auto?(t.auto=1,this.option.range=t):Y(e)&&(e[0]>e[1]&&e.reverse(),e[0]=Math.max(e[0],t[0]),e[1]=Math.min(e[1],t[1]))},e.prototype.completeVisualOption=function(){t.prototype.completeVisualOption.apply(this,arguments),E(this.stateList,(function(t){var e=this.option.controller[t].symbolSize;e&&e[0]!==e[1]&&(e[0]=e[1]/3)}),this)},e.prototype.setSelected=function(t){this.option.range=t.slice(),this._resetRange()},e.prototype.getSelected=function(){var t=this.getExtent(),e=Qr((this.get("range")||[]).slice());return e[0]>t[1]&&(e[0]=t[1]),e[1]>t[1]&&(e[1]=t[1]),e[0]=n[1]||t<=e[1])?"inRange":"outOfRange"},e.prototype.findTargetDataIndices=function(t){var e=[];return this.eachTargetSeries((function(n){var i=[],r=n.getData();r.each(this.getDataDimensionIndex(r),(function(e,n){t[0]<=e&&e<=t[1]&&i.push(n)}),this),e.push({seriesId:n.id,dataIndex:i})}),this),e},e.prototype.getVisualMeta=function(t){var e=BF(this,"outOfRange",this.getExtent()),n=BF(this,"inRange",this.option.range.slice()),i=[];function r(e,n){i.push({value:e,color:t(e,n)})}for(var o=0,a=0,s=n.length,l=e.length;at[1])break;n.push({color:this.getControllerVisual(o,"color",e),offset:r/100})}return n.push({color:this.getControllerVisual(t[1],"color",e),offset:1}),n},e.prototype._createBarPoints=function(t,e){var n=this.visualMapModel.itemSize;return[[n[0]-e[0],t[0]],[n[0],t[0]],[n[0],t[1]],[n[0]-e[1],t[1]]]},e.prototype._createBarGroup=function(t){var e=this._orient,n=this.visualMapModel.get("inverse");return new Br("horizontal"!==e||n?"horizontal"===e&&n?{scaleX:"bottom"===t?-1:1,rotation:-Math.PI/2}:"vertical"!==e||n?{scaleX:"left"===t?1:-1}:{scaleX:"left"===t?1:-1,scaleY:-1}:{scaleX:"bottom"===t?1:-1,rotation:Math.PI/2})},e.prototype._updateHandle=function(t,e){if(this._useHandle){var n=this._shapes,i=this.visualMapModel,r=n.handleThumbs,o=n.handleLabels,a=i.itemSize,s=i.getExtent();XF([0,1],(function(l){var u=r[l];u.setStyle("fill",e.handlesColor[l]),u.y=t[l];var h=YF(t[l],[0,a[1]],s,!0),c=this.getControllerVisual(h,"symbolSize");u.scaleX=u.scaleY=c/a[0],u.x=a[0]-c/2;var p=Fh(n.handleLabelPoints[l],Bh(u,this.group));o[l].setStyle({x:p[0],y:p[1],text:i.formatValueText(this._dataInterval[l]),verticalAlign:"middle",align:"vertical"===this._orient?this._applyTransform("left",n.mainGroup):"center"})}),this)}},e.prototype._showIndicator=function(t,e,n,i){var r=this.visualMapModel,o=r.getExtent(),a=r.itemSize,s=[0,a[1]],l=this._shapes,u=l.indicator;if(u){u.attr("invisible",!1);var h=this.getControllerVisual(t,"color",{convertOpacityToAlpha:!0}),c=this.getControllerVisual(t,"symbolSize"),p=YF(t,o,s,!0),d=a[0]-c/2,f={x:u.x,y:u.y};u.y=p,u.x=d;var g=Fh(l.indicatorLabelPoint,Bh(u,this.group)),y=l.indicatorLabel;y.attr("invisible",!1);var v=this._applyTransform("left",l.mainGroup),m="horizontal"===this._orient;y.setStyle({text:(n||"")+r.formatValueText(e),verticalAlign:m?v:"middle",align:m?"center":v});var x={x:d,y:p,style:{fill:h}},_={style:{x:g[0],y:g[1]}};if(r.ecModel.isAnimationEnabled()&&!this._firstShowIndicator){var b={duration:100,easing:"cubicInOut",additive:!0};u.x=f.x,u.y=f.y,u.animateTo(x,b),y.animateTo(_,b)}else u.attr(x),y.attr(_);this._firstShowIndicator=!1;var w=this._shapes.handleLabels;if(w)for(var S=0;Sr[1]&&(u[1]=1/0),e&&(u[0]===-1/0?this._showIndicator(l,u[1],"< ",a):u[1]===1/0?this._showIndicator(l,u[0],"> ",a):this._showIndicator(l,l,"≈ ",a));var h=this._hoverLinkDataIndices,c=[];(e||KF(n))&&(c=this._hoverLinkDataIndices=n.findTargetDataIndices(u));var p=function(t,e){var n={},i={};return r(t||[],n),r(e||[],i,n),[o(n),o(i)];function r(t,e,n){for(var i=0,r=t.length;i=0&&(r.dimension=o,i.push(r))}})),t.getData().setVisual("visualMeta",i)}}];function eG(t,e,n,i){for(var r=e.targetVisuals[i],o=DD.prepareVisualTypes(r),a={color:Ay(t.getData(),"color")},s=0,l=o.length;s0:t.splitNumber>0)&&!t.calculable?"piecewise":"continuous"})),t.registerAction(JF,QF),E(tG,(function(e){t.registerVisual(t.PRIORITY.VISUAL.COMPONENT,e)})),t.registerPreprocessor(iG))}function sG(t){t.registerComponentModel(VF),t.registerComponentView(jF),aG(t)}var lG=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n._pieceList=[],n}return n(e,t),e.prototype.optionUpdated=function(e,n){t.prototype.optionUpdated.apply(this,arguments),this.resetExtent();var i=this._mode=this._determineMode();this._pieceList=[],uG[this._mode].call(this,this._pieceList),this._resetSelected(e,n);var r=this.option.categories;this.resetVisual((function(t,e){"categories"===i?(t.mappingMethod="category",t.categories=T(r)):(t.dataExtent=this.getExtent(),t.mappingMethod="piecewise",t.pieceList=z(this._pieceList,(function(t){return t=T(t),"inRange"!==e&&(t.visual=null),t})))}))},e.prototype.completeVisualOption=function(){var e=this.option,n={},i=DD.listVisualTypes(),r=this.isCategory();function o(t,e,n){return t&&t[e]&&t[e].hasOwnProperty(n)}E(e.pieces,(function(t){E(i,(function(e){t.hasOwnProperty(e)&&(n[e]=1)}))})),E(n,(function(t,n){var i=!1;E(this.stateList,(function(t){i=i||o(e,t,n)||o(e.target,t,n)}),this),!i&&E(this.stateList,(function(t){(e[t]||(e[t]={}))[n]=DF(n,"inRange"===t?"active":"inactive",r)}))}),this),t.prototype.completeVisualOption.apply(this,arguments)},e.prototype._resetSelected=function(t,e){var n=this.option,i=this._pieceList,r=(e?n:t).selected||{};if(n.selected=r,E(i,(function(t,e){var n=this.getSelectedMapKey(t);r.hasOwnProperty(n)||(r[n]=!0)}),this),"single"===n.selectedMode){var o=!1;E(i,(function(t,e){var n=this.getSelectedMapKey(t);r[n]&&(o?r[n]=!1:o=!0)}),this)}},e.prototype.getItemSymbol=function(){return this.get("itemSymbol")},e.prototype.getSelectedMapKey=function(t){return"categories"===this._mode?t.value+"":t.index+""},e.prototype.getPieceList=function(){return this._pieceList},e.prototype._determineMode=function(){var t=this.option;return t.pieces&&t.pieces.length>0?"pieces":this.option.categories?"categories":"splitNumber"},e.prototype.setSelected=function(t){this.option.selected=T(t)},e.prototype.getValueState=function(t){var e=DD.findPieceIndex(t,this._pieceList);return null!=e&&this.option.selected[this.getSelectedMapKey(this._pieceList[e])]?"inRange":"outOfRange"},e.prototype.findTargetDataIndices=function(t){var e=[],n=this._pieceList;return this.eachTargetSeries((function(i){var r=[],o=i.getData();o.each(this.getDataDimensionIndex(o),(function(e,i){DD.findPieceIndex(e,n)===t&&r.push(i)}),this),e.push({seriesId:i.id,dataIndex:r})}),this),e},e.prototype.getRepresentValue=function(t){var e;if(this.isCategory())e=t.value;else if(null!=t.value)e=t.value;else{var n=t.interval||[];e=n[0]===-1/0&&n[1]===1/0?0:(n[0]+n[1])/2}return e},e.prototype.getVisualMeta=function(t){if(!this.isCategory()){var e=[],n=["",""],i=this,r=this._pieceList.slice();if(r.length){var o=r[0].interval[0];o!==-1/0&&r.unshift({interval:[-1/0,o]}),(o=r[r.length-1].interval[1])!==1/0&&r.push({interval:[o,1/0]})}else r.push({interval:[-1/0,1/0]});var a=-1/0;return E(r,(function(t){var e=t.interval;e&&(e[0]>a&&s([a,e[0]],"outOfRange"),s(e.slice()),a=e[1])}),this),{stops:e,outerColors:n}}function s(r,o){var a=i.getRepresentValue({interval:r});o||(o=i.getValueState(a));var s=t(a,o);r[0]===-1/0?n[0]=s:r[1]===1/0?n[1]=s:e.push({value:r[0],color:s},{value:r[1],color:s})}},e.type="visualMap.piecewise",e.defaultOption=kc(EF.defaultOption,{selected:null,minOpen:!1,maxOpen:!1,align:"auto",itemWidth:20,itemHeight:14,itemSymbol:"roundRect",pieces:null,categories:null,splitNumber:5,selectedMode:"multiple",itemGap:10,hoverLink:!0}),e}(EF),uG={splitNumber:function(t){var e=this.option,n=Math.min(e.precision,20),i=this.getExtent(),r=e.splitNumber;r=Math.max(parseInt(r,10),1),e.splitNumber=r;for(var o=(i[1]-i[0])/r;+o.toFixed(n)!==o&&n<5;)n++;e.precision=n,o=+o.toFixed(n),e.minOpen&&t.push({interval:[-1/0,i[0]],close:[0,0]});for(var a=0,s=i[0];a","≥"][e[0]]];t.text=t.text||this.formatValueText(null!=t.value?t.value:t.interval,!1,n)}),this)}};function hG(t,e){var n=t.inverse;("vertical"===t.orient?!n:n)&&e.reverse()}var cG=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.type=e.type,n}return n(e,t),e.prototype.doRender=function(){var t=this.group;t.removeAll();var e=this.visualMapModel,n=e.get("textGap"),i=e.textStyleModel,r=i.getFont(),o=i.getTextColor(),a=this._getItemAlign(),s=e.itemSize,l=this._getViewData(),u=l.endsText,h=it(e.get("showLabel",!0),!u);u&&this._renderEndsText(t,u[0],s,h,a),E(l.viewPieceList,(function(i){var l=i.piece,u=new Br;u.onclick=W(this._onItemClick,this,l),this._enableHoverLink(u,i.indexInModelPieceList);var c=e.getRepresentValue(l);if(this._createItemSymbol(u,c,[0,0,s[0],s[1]]),h){var p=this.visualMapModel.getValueState(c);u.add(new Xs({style:{x:"right"===a?-n:s[0]+n,y:s[1]/2,text:l.text,verticalAlign:"middle",align:a,font:r,fill:o,opacity:"outOfRange"===p?.5:1}}))}t.add(u)}),this),u&&this._renderEndsText(t,u[1],s,h,a),Ap(e.get("orient"),t,e.get("itemGap")),this.renderBackground(t),this.positionGroup(t)},e.prototype._enableHoverLink=function(t,e){var n=this;t.on("mouseover",(function(){return i("highlight")})).on("mouseout",(function(){return i("downplay")}));var i=function(t){var i=n.visualMapModel;i.option.hoverLink&&n.api.dispatchAction({type:t,batch:HF(i.findTargetDataIndices(e),i)})}},e.prototype._getItemAlign=function(){var t=this.visualMapModel,e=t.option;if("vertical"===e.orient)return WF(t,this.api,t.itemSize);var n=e.align;return n&&"auto"!==n||(n="left"),n},e.prototype._renderEndsText=function(t,e,n,i,r){if(e){var o=new Br,a=this.visualMapModel.textStyleModel;o.add(new Xs({style:oc(a,{x:i?"right"===r?n[0]:0:n[0]/2,y:n[1]/2,verticalAlign:"middle",align:i?r:"center",text:e})})),t.add(o)}},e.prototype._getViewData=function(){var t=this.visualMapModel,e=z(t.getPieceList(),(function(t,e){return{piece:t,indexInModelPieceList:e}})),n=t.get("text"),i=t.get("orient"),r=t.get("inverse");return("horizontal"===i?r:!r)?e.reverse():n&&(n=n.slice().reverse()),{viewPieceList:e,endsText:n}},e.prototype._createItemSymbol=function(t,e,n){t.add(Xy(this.getControllerVisual(e,"symbol"),n[0],n[1],n[2],n[3],this.getControllerVisual(e,"color")))},e.prototype._onItemClick=function(t){var e=this.visualMapModel,n=e.option,i=n.selectedMode;if(i){var r=T(n.selected),o=e.getSelectedMapKey(t);"single"===i||!0===i?(r[o]=!0,E(r,(function(t,e){r[e]=e===o}))):r[o]=!r[o],this.api.dispatchAction({type:"selectDataRange",from:this.uid,visualMapId:this.visualMapModel.id,selected:r})}},e.type="visualMap.piecewise",e}(FF);function pG(t){t.registerComponentModel(lG),t.registerComponentView(cG),aG(t)}var dG={label:{enabled:!0},decal:{show:!1}},fG=Vo(),gG={};function yG(t,e){var n=t.getModel("aria");if(n.get("enabled")){var i=T(dG);C(i.label,t.getLocaleModel().get("aria"),!1),C(n.option,i,!1),function(){if(n.getModel("decal").get("show")){var e=yt();t.eachSeries((function(t){if(!t.isColorBySeries()){var n=e.get(t.type);n||(n={},e.set(t.type,n)),fG(t).scope=n}})),t.eachRawSeries((function(e){if(!t.isSeriesFiltered(e))if(X(e.enableAriaDecal))e.enableAriaDecal();else{var n=e.getData();if(e.isColorBySeries()){var i=pd(e.ecModel,e.name,gG,t.getSeriesCount()),r=n.getVisual("decal");n.setVisual("decal",u(r,i))}else{var o=e.getRawData(),a={},s=fG(e).scope;n.each((function(t){var e=n.getRawIndex(t);a[e]=t}));var l=o.count();o.each((function(t){var i=a[t],r=o.getName(t)||t+"",h=pd(e.ecModel,r,s,l),c=n.getItemVisual(i,"decal");n.setItemVisual(i,"decal",u(c,h))}))}}function u(t,e){var n=t?A(A({},e),t):e;return n.dirty=!0,n}}))}}(),function(){var i=t.getLocaleModel().get("aria"),o=n.getModel("label");if(o.option=k(o.option,i),!o.get("enabled"))return;var a=e.getZr().dom;if(o.get("description"))return void a.setAttribute("aria-label",o.get("description"));var s,l=t.getSeriesCount(),u=o.get(["data","maxCount"])||10,h=o.get(["series","maxCount"])||10,c=Math.min(l,h);if(l<1)return;var p=function(){var e=t.get("title");e&&e.length&&(e=e[0]);return e&&e.text}();s=p?r(o.get(["general","withTitle"]),{title:p}):o.get(["general","withoutTitle"]);var d=[];s+=r(l>1?o.get(["series","multiple","prefix"]):o.get(["series","single","prefix"]),{seriesCount:l}),t.eachSeries((function(e,n){if(n1?o.get(["series","multiple",a]):o.get(["series","single",a]),{seriesId:e.seriesIndex,seriesName:e.get("name"),seriesType:(x=e.subType,_=t.getLocaleModel().get(["series","typeNames"]),_[x]||_.chart)});var s=e.getData();if(s.count()>u)i+=r(o.get(["data","partialData"]),{displayCnt:u});else i+=o.get(["data","allData"]);for(var h=o.get(["data","separator","middle"]),p=o.get(["data","separator","end"]),f=[],g=0;g":"gt",">=":"gte","=":"eq","!=":"ne","<>":"ne"},xG=function(){function t(t){if(null==(this._condVal=U(t)?new RegExp(t):et(t)?t:null)){var e="";0,wo(e)}}return t.prototype.evaluate=function(t){var e=typeof t;return U(e)?this._condVal.test(t):!!j(e)&&this._condVal.test(t+"")},t}(),_G=function(){function t(){}return t.prototype.evaluate=function(){return this.value},t}(),bG=function(){function t(){}return t.prototype.evaluate=function(){for(var t=this.children,e=0;e2&&l.push(e),e=[t,n]}function f(t,n,i,r){RG(t,i)&&RG(n,r)||e.push(t,n,i,r,i,r)}function g(t,n,i,r,o,a){var s=Math.abs(n-t),l=4*Math.tan(s/4)/3,u=nM:C2&&l.push(e),l}function EG(t,e,n,i,r,o,a,s,l,u){if(RG(t,n)&&RG(e,i)&&RG(r,a)&&RG(o,s))l.push(a,s);else{var h=2/u,c=h*h,p=a-t,d=s-e,f=Math.sqrt(p*p+d*d);p/=f,d/=f;var g=n-t,y=i-e,v=r-a,m=o-s,x=g*g+y*y,_=v*v+m*m;if(x=0&&_-w*w=0)l.push(a,s);else{var S=[],M=[];wn(t,n,r,a,.5,S),wn(e,i,o,s,.5,M),EG(S[0],M[0],S[1],M[1],S[2],M[2],S[3],M[3],l,u),EG(S[4],M[4],S[5],M[5],S[6],M[6],S[7],M[7],l,u)}}}}function zG(t,e,n){var i=t[e],r=t[1-e],o=Math.abs(i/r),a=Math.ceil(Math.sqrt(o*n)),s=Math.floor(n/a);0===s&&(s=1,a=n);for(var l=[],u=0;u0)for(u=0;uMath.abs(u),c=zG([l,u],h?0:1,e),p=(h?s:u)/c.length,d=0;d1?null:new De(d*l+t,d*u+e)}function GG(t,e,n){var i=new De;De.sub(i,n,e),i.normalize();var r=new De;return De.sub(r,t,e),r.dot(i)}function WG(t,e){var n=t[t.length-1];n&&n[0]===e[0]&&n[1]===e[1]||t.push(e)}function HG(t){var e=t.points,n=[],i=[];Ba(e,n,i);var r=new ze(n[0],n[1],i[0]-n[0],i[1]-n[1]),o=r.width,a=r.height,s=r.x,l=r.y,u=new De,h=new De;return o>a?(u.x=h.x=s+o/2,u.y=l,h.y=l+a):(u.y=h.y=l+a/2,u.x=s,h.x=s+o),function(t,e,n){for(var i=t.length,r=[],o=0;or,a=zG([i,r],o?0:1,e),s=o?"width":"height",l=o?"height":"width",u=o?"x":"y",h=o?"y":"x",c=t[s]/a.length,p=0;p0)for(var b=i/n,w=-i/2;w<=i/2;w+=b){var S=Math.sin(w),M=Math.cos(w),I=0;for(x=0;x0;l/=2){var u=0,h=0;(t&l)>0&&(u=1),(e&l)>0&&(h=1),s+=l*l*(3*u^h),0===h&&(1===u&&(t=l-1-t,e=l-1-e),a=t,t=e,e=a)}return s}function aW(t){var e=1/0,n=1/0,i=-1/0,r=-1/0,o=z(t,(function(t){var o=t.getBoundingRect(),a=t.getComputedTransform(),s=o.x+o.width/2+(a?a[4]:0),l=o.y+o.height/2+(a?a[5]:0);return e=Math.min(s,e),n=Math.min(l,n),i=Math.max(s,i),r=Math.max(l,r),[s,l]}));return z(o,(function(o,a){return{cp:o,z:oW(o[0],o[1],e,n,i,r),path:t[a]}})).sort((function(t,e){return t.z-e.z})).map((function(t){return t.path}))}function sW(t){return UG(t.path,t.count)}function lW(t){return Y(t[0])}function uW(t,e){for(var n=[],i=t.length,r=0;r=0;r--)if(!n[r].many.length){var l=n[s].many;if(l.length<=1){if(!s)return n;s=0}o=l.length;var u=Math.ceil(o/2);n[r].many=l.slice(u,o),n[s].many=l.slice(0,u),s++}return n}var hW={clone:function(t){for(var e=[],n=1-Math.pow(1-t.path.style.opacity,1/t.count),i=0;i0){var s,l,u=i.getModel("universalTransition").get("delay"),h=Object.assign({setToFinal:!0},a);lW(t)&&(s=t,l=e),lW(e)&&(s=e,l=t);for(var c=s?s===t:t.length>e.length,p=s?uW(l,s):uW(c?e:t,[c?t:e]),d=0,f=0;f1e4))for(var r=n.getIndices(),o=0;o0&&i.group.traverse((function(t){t instanceof ks&&!t.animators.length&&t.animateFrom({style:{opacity:0}},r)}))}))}function bW(t){var e=t.getModel("universalTransition").get("seriesKey");return e||t.id}function wW(t){return Y(t)?t.sort().join(","):t}function SW(t){if(t.hostModel)return t.hostModel.getModel("universalTransition").get("divideShape")}function MW(t,e){for(var n=0;n=0&&r.push({dataGroupId:e.oldDataGroupIds[n],data:e.oldData[n],divide:SW(e.oldData[n]),groupIdDim:t.dimension})})),E(To(t.to),(function(t){var i=MW(n.updatedSeries,t);if(i>=0){var r=n.updatedSeries[i].getData();o.push({dataGroupId:e.oldDataGroupIds[i],data:r,divide:SW(r),groupIdDim:t.dimension})}})),r.length>0&&o.length>0&&_W(r,o,i)}(t,i,n,e)}));else{var o=function(t,e){var n=yt(),i=yt(),r=yt();return E(t.oldSeries,(function(e,n){var o=t.oldDataGroupIds[n],a=t.oldData[n],s=bW(e),l=wW(s);i.set(l,{dataGroupId:o,data:a}),Y(s)&&E(s,(function(t){r.set(t,{key:l,dataGroupId:o,data:a})}))})),E(e.updatedSeries,(function(t){if(t.isUniversalTransitionEnabled()&&t.isAnimationEnabled()){var e=t.get("dataGroupId"),o=t.getData(),a=bW(t),s=wW(a),l=i.get(s);if(l)n.set(s,{oldSeries:[{dataGroupId:l.dataGroupId,divide:SW(l.data),data:l.data}],newSeries:[{dataGroupId:e,divide:SW(o),data:o}]});else if(Y(a)){var u=[];E(a,(function(t){var e=i.get(t);e.data&&u.push({dataGroupId:e.dataGroupId,divide:SW(e.data),data:e.data})})),u.length&&n.set(s,{oldSeries:u,newSeries:[{dataGroupId:e,data:o,divide:SW(o)}]})}else{var h=r.get(a);if(h){var c=n.get(h.key);c||(c={oldSeries:[{dataGroupId:h.dataGroupId,data:h.data,divide:SW(h.data)}],newSeries:[]},n.set(h.key,c)),c.newSeries.push({dataGroupId:e,data:o,divide:SW(o)})}}}})),n}(i,n);E(o.keys(),(function(t){var n=o.get(t);_W(n.oldSeries,n.newSeries,e)}))}E(n.updatedSeries,(function(t){t[_g]&&(t[_g]=!1)}))}for(var a=t.getSeries(),s=i.oldSeries=[],l=i.oldDataGroupIds=[],u=i.oldData=[],h=0;h 18)); + a && (n.weChat = !0); + (e.svgSupported = "undefined" != typeof SVGRect), + (e.touchEventsSupported = "ontouchstart" in window && !n.ie && !n.edge), + (e.pointerEventsSupported = "onpointerdown" in window && (n.edge || (n.ie && +n.version >= 11))), + (e.domSupported = "undefined" != typeof document); + var s = document.documentElement.style; + (e.transform3dSupported = ((n.ie && "transition" in s) || n.edge || ("WebKitCSSMatrix" in window && "m11" in new WebKitCSSMatrix()) || "MozPerspective" in s) && !("OTransition" in s)), + (e.transformSupported = e.transform3dSupported || (n.ie && +n.version >= 9)); + })(navigator.userAgent, r); + var o = "sans-serif", + a = "12px " + o; + var s, + l, + u = (function (t) { + var e = {}; + if ("undefined" == typeof JSON) return e; + for (var n = 0; n < t.length; n++) { + var i = String.fromCharCode(n + 32), + r = (t.charCodeAt(n) - 20) / 100; + e[i] = r; + } + return e; + })("007LLmW'55;N0500LLLLLLLLLL00NNNLzWW\\\\WQb\\0FWLg\\bWb\\WQ\\WrWWQ000CL5LLFLL0LL**F*gLLLL5F0LF\\FFF5.5N"), + h = { + createCanvas: function () { + return "undefined" != typeof document && document.createElement("canvas"); + }, + measureText: function (t, e) { + if (!s) { + var n = h.createCanvas(); + s = n && n.getContext("2d"); + } + if (s) return l !== e && (l = s.font = e || a), s.measureText(t); + t = t || ""; + var i = /(\d+)px/.exec((e = e || a)), + r = (i && +i[1]) || 12, + o = 0; + if (e.indexOf("mono") >= 0) o = r * t.length; + else + for (var c = 0; c < t.length; c++) { + var p = u[t[c]]; + o += null == p ? r : p * r; + } + return { width: o }; + }, + loadImage: function (t, e, n) { + var i = new Image(); + return (i.onload = e), (i.onerror = n), (i.src = t), i; + }, + }; + function c(t) { + for (var e in h) t[e] && (h[e] = t[e]); + } + var p = V( + ["Function", "RegExp", "Date", "Error", "CanvasGradient", "CanvasPattern", "Image", "Canvas"], + function (t, e) { + return (t["[object " + e + "]"] = !0), t; + }, + {} + ), + d = V( + ["Int8", "Uint8", "Uint8Clamped", "Int16", "Uint16", "Int32", "Uint32", "Float32", "Float64"], + function (t, e) { + return (t["[object " + e + "Array]"] = !0), t; + }, + {} + ), + f = Object.prototype.toString, + g = Array.prototype, + y = g.forEach, + v = g.filter, + m = g.slice, + x = g.map, + _ = function () {}.constructor, + b = _ ? _.prototype : null, + w = "__proto__", + S = 2311; + function M() { + return S++; + } + function I() { + for (var t = [], e = 0; e < arguments.length; e++) t[e] = arguments[e]; + "undefined" != typeof console && console.error.apply(console, t); + } + function T(t) { + if (null == t || "object" != typeof t) return t; + var e = t, + n = f.call(t); + if ("[object Array]" === n) { + if (!pt(t)) { + e = []; + for (var i = 0, r = t.length; i < r; i++) e[i] = T(t[i]); + } + } else if (d[n]) { + if (!pt(t)) { + var o = t.constructor; + if (o.from) e = o.from(t); + else { + e = new o(t.length); + for (i = 0, r = t.length; i < r; i++) e[i] = t[i]; + } + } + } else if (!p[n] && !pt(t) && !J(t)) for (var a in ((e = {}), t)) t.hasOwnProperty(a) && a !== w && (e[a] = T(t[a])); + return e; + } + function C(t, e, n) { + if (!q(e) || !q(t)) return n ? T(e) : t; + for (var i in e) + if (e.hasOwnProperty(i) && i !== w) { + var r = t[i], + o = e[i]; + !q(o) || !q(r) || Y(o) || Y(r) || J(o) || J(r) || K(o) || K(r) || pt(o) || pt(r) ? (!n && i in t) || (t[i] = T(e[i])) : C(r, o, n); + } + return t; + } + function D(t, e) { + for (var n = t[0], i = 1, r = t.length; i < r; i++) n = C(n, t[i], e); + return n; + } + function A(t, e) { + if (Object.assign) Object.assign(t, e); + else for (var n in e) e.hasOwnProperty(n) && n !== w && (t[n] = e[n]); + return t; + } + function k(t, e, n) { + for (var i = G(e), r = 0; r < i.length; r++) { + var o = i[r]; + (n ? null != e[o] : null == t[o]) && (t[o] = e[o]); + } + return t; + } + var L = h.createCanvas; + function P(t, e) { + if (t) { + if (t.indexOf) return t.indexOf(e); + for (var n = 0, i = t.length; n < i; n++) if (t[n] === e) return n; + } + return -1; + } + function O(t, e) { + var n = t.prototype; + function i() {} + for (var r in ((i.prototype = e.prototype), (t.prototype = new i()), n)) n.hasOwnProperty(r) && (t.prototype[r] = n[r]); + (t.prototype.constructor = t), (t.superClass = e); + } + function R(t, e, n) { + if (((t = "prototype" in t ? t.prototype : t), (e = "prototype" in e ? e.prototype : e), Object.getOwnPropertyNames)) + for (var i = Object.getOwnPropertyNames(e), r = 0; r < i.length; r++) { + var o = i[r]; + "constructor" !== o && (n ? null != e[o] : null == t[o]) && (t[o] = e[o]); + } + else k(t, e, n); + } + function N(t) { + return !!t && "string" != typeof t && "number" == typeof t.length; + } + function E(t, e, n) { + if (t && e) + if (t.forEach && t.forEach === y) t.forEach(e, n); + else if (t.length === +t.length) for (var i = 0, r = t.length; i < r; i++) e.call(n, t[i], i, t); + else for (var o in t) t.hasOwnProperty(o) && e.call(n, t[o], o, t); + } + function z(t, e, n) { + if (!t) return []; + if (!e) return at(t); + if (t.map && t.map === x) return t.map(e, n); + for (var i = [], r = 0, o = t.length; r < o; r++) i.push(e.call(n, t[r], r, t)); + return i; + } + function V(t, e, n, i) { + if (t && e) { + for (var r = 0, o = t.length; r < o; r++) n = e.call(i, n, t[r], r, t); + return n; + } + } + function B(t, e, n) { + if (!t) return []; + if (!e) return at(t); + if (t.filter && t.filter === v) return t.filter(e, n); + for (var i = [], r = 0, o = t.length; r < o; r++) e.call(n, t[r], r, t) && i.push(t[r]); + return i; + } + function F(t, e, n) { + if (t && e) for (var i = 0, r = t.length; i < r; i++) if (e.call(n, t[i], i, t)) return t[i]; + } + function G(t) { + if (!t) return []; + if (Object.keys) return Object.keys(t); + var e = []; + for (var n in t) t.hasOwnProperty(n) && e.push(n); + return e; + } + var W = + b && X(b.bind) + ? b.call.bind(b.bind) + : function (t, e) { + for (var n = [], i = 2; i < arguments.length; i++) n[i - 2] = arguments[i]; + return function () { + return t.apply(e, n.concat(m.call(arguments))); + }; + }; + function H(t) { + for (var e = [], n = 1; n < arguments.length; n++) e[n - 1] = arguments[n]; + return function () { + return t.apply(this, e.concat(m.call(arguments))); + }; + } + function Y(t) { + return Array.isArray ? Array.isArray(t) : "[object Array]" === f.call(t); + } + function X(t) { + return "function" == typeof t; + } + function U(t) { + return "string" == typeof t; + } + function Z(t) { + return "[object String]" === f.call(t); + } + function j(t) { + return "number" == typeof t; + } + function q(t) { + var e = typeof t; + return "function" === e || (!!t && "object" === e); + } + function K(t) { + return !!p[f.call(t)]; + } + function $(t) { + return !!d[f.call(t)]; + } + function J(t) { + return "object" == typeof t && "number" == typeof t.nodeType && "object" == typeof t.ownerDocument; + } + function Q(t) { + return null != t.colorStops; + } + function tt(t) { + return null != t.image; + } + function et(t) { + return "[object RegExp]" === f.call(t); + } + function nt(t) { + return t != t; + } + function it() { + for (var t = [], e = 0; e < arguments.length; e++) t[e] = arguments[e]; + for (var n = 0, i = t.length; n < i; n++) if (null != t[n]) return t[n]; + } + function rt(t, e) { + return null != t ? t : e; + } + function ot(t, e, n) { + return null != t ? t : null != e ? e : n; + } + function at(t) { + for (var e = [], n = 1; n < arguments.length; n++) e[n - 1] = arguments[n]; + return m.apply(t, e); + } + function st(t) { + if ("number" == typeof t) return [t, t, t, t]; + var e = t.length; + return 2 === e ? [t[0], t[1], t[0], t[1]] : 3 === e ? [t[0], t[1], t[2], t[1]] : t; + } + function lt(t, e) { + if (!t) throw new Error(e); + } + function ut(t) { + return null == t ? null : "function" == typeof t.trim ? t.trim() : t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ""); + } + var ht = "__ec_primitive__"; + function ct(t) { + t[ht] = !0; + } + function pt(t) { + return t[ht]; + } + var dt = (function () { + function t() { + this.data = {}; + } + return ( + (t.prototype.delete = function (t) { + var e = this.has(t); + return e && delete this.data[t], e; + }), + (t.prototype.has = function (t) { + return this.data.hasOwnProperty(t); + }), + (t.prototype.get = function (t) { + return this.data[t]; + }), + (t.prototype.set = function (t, e) { + return (this.data[t] = e), this; + }), + (t.prototype.keys = function () { + return G(this.data); + }), + (t.prototype.forEach = function (t) { + var e = this.data; + for (var n in e) e.hasOwnProperty(n) && t(e[n], n); + }), + t + ); + })(), + ft = "function" == typeof Map; + var gt = (function () { + function t(e) { + var n = Y(e); + this.data = ft ? new Map() : new dt(); + var i = this; + function r(t, e) { + n ? i.set(t, e) : i.set(e, t); + } + e instanceof t ? e.each(r) : e && E(e, r); + } + return ( + (t.prototype.hasKey = function (t) { + return this.data.has(t); + }), + (t.prototype.get = function (t) { + return this.data.get(t); + }), + (t.prototype.set = function (t, e) { + return this.data.set(t, e), e; + }), + (t.prototype.each = function (t, e) { + this.data.forEach(function (n, i) { + t.call(e, n, i); + }); + }), + (t.prototype.keys = function () { + var t = this.data.keys(); + return ft ? Array.from(t) : t; + }), + (t.prototype.removeKey = function (t) { + this.data.delete(t); + }), + t + ); + })(); + function yt(t) { + return new gt(t); + } + function vt(t, e) { + for (var n = new t.constructor(t.length + e.length), i = 0; i < t.length; i++) n[i] = t[i]; + var r = t.length; + for (i = 0; i < e.length; i++) n[i + r] = e[i]; + return n; + } + function mt(t, e) { + var n; + if (Object.create) n = Object.create(t); + else { + var i = function () {}; + (i.prototype = t), (n = new i()); + } + return e && A(n, e), n; + } + function xt(t) { + var e = t.style; + (e.webkitUserSelect = "none"), (e.userSelect = "none"), (e.webkitTapHighlightColor = "rgba(0,0,0,0)"), (e["-webkit-touch-callout"] = "none"); + } + function _t(t, e) { + return t.hasOwnProperty(e); + } + function bt() {} + var wt = 180 / Math.PI, + St = Object.freeze({ + __proto__: null, + guid: M, + logError: I, + clone: T, + merge: C, + mergeAll: D, + extend: A, + defaults: k, + createCanvas: L, + indexOf: P, + inherits: O, + mixin: R, + isArrayLike: N, + each: E, + map: z, + reduce: V, + filter: B, + find: F, + keys: G, + bind: W, + curry: H, + isArray: Y, + isFunction: X, + isString: U, + isStringSafe: Z, + isNumber: j, + isObject: q, + isBuiltInObject: K, + isTypedArray: $, + isDom: J, + isGradientObject: Q, + isImagePatternObject: tt, + isRegExp: et, + eqNaN: nt, + retrieve: it, + retrieve2: rt, + retrieve3: ot, + slice: at, + normalizeCssArray: st, + assert: lt, + trim: ut, + setAsPrimitive: ct, + isPrimitive: pt, + HashMap: gt, + createHashMap: yt, + concatArray: vt, + createObject: mt, + disableUserSelect: xt, + hasOwn: _t, + noop: bt, + RADIAN_TO_DEGREE: wt, + }); + function Mt(t, e) { + return null == t && (t = 0), null == e && (e = 0), [t, e]; + } + function It(t, e) { + return (t[0] = e[0]), (t[1] = e[1]), t; + } + function Tt(t) { + return [t[0], t[1]]; + } + function Ct(t, e, n) { + return (t[0] = e), (t[1] = n), t; + } + function Dt(t, e, n) { + return (t[0] = e[0] + n[0]), (t[1] = e[1] + n[1]), t; + } + function At(t, e, n, i) { + return (t[0] = e[0] + n[0] * i), (t[1] = e[1] + n[1] * i), t; + } + function kt(t, e, n) { + return (t[0] = e[0] - n[0]), (t[1] = e[1] - n[1]), t; + } + function Lt(t) { + return Math.sqrt(Ot(t)); + } + var Pt = Lt; + function Ot(t) { + return t[0] * t[0] + t[1] * t[1]; + } + var Rt = Ot; + function Nt(t, e, n) { + return (t[0] = e[0] * n), (t[1] = e[1] * n), t; + } + function Et(t, e) { + var n = Lt(e); + return 0 === n ? ((t[0] = 0), (t[1] = 0)) : ((t[0] = e[0] / n), (t[1] = e[1] / n)), t; + } + function zt(t, e) { + return Math.sqrt((t[0] - e[0]) * (t[0] - e[0]) + (t[1] - e[1]) * (t[1] - e[1])); + } + var Vt = zt; + function Bt(t, e) { + return (t[0] - e[0]) * (t[0] - e[0]) + (t[1] - e[1]) * (t[1] - e[1]); + } + var Ft = Bt; + function Gt(t, e, n, i) { + return (t[0] = e[0] + i * (n[0] - e[0])), (t[1] = e[1] + i * (n[1] - e[1])), t; + } + function Wt(t, e, n) { + var i = e[0], + r = e[1]; + return (t[0] = n[0] * i + n[2] * r + n[4]), (t[1] = n[1] * i + n[3] * r + n[5]), t; + } + function Ht(t, e, n) { + return (t[0] = Math.min(e[0], n[0])), (t[1] = Math.min(e[1], n[1])), t; + } + function Yt(t, e, n) { + return (t[0] = Math.max(e[0], n[0])), (t[1] = Math.max(e[1], n[1])), t; + } + var Xt = Object.freeze({ + __proto__: null, + create: Mt, + copy: It, + clone: Tt, + set: Ct, + add: Dt, + scaleAndAdd: At, + sub: kt, + len: Lt, + length: Pt, + lenSquare: Ot, + lengthSquare: Rt, + mul: function (t, e, n) { + return (t[0] = e[0] * n[0]), (t[1] = e[1] * n[1]), t; + }, + div: function (t, e, n) { + return (t[0] = e[0] / n[0]), (t[1] = e[1] / n[1]), t; + }, + dot: function (t, e) { + return t[0] * e[0] + t[1] * e[1]; + }, + scale: Nt, + normalize: Et, + distance: zt, + dist: Vt, + distanceSquare: Bt, + distSquare: Ft, + negate: function (t, e) { + return (t[0] = -e[0]), (t[1] = -e[1]), t; + }, + lerp: Gt, + applyTransform: Wt, + min: Ht, + max: Yt, + }), + Ut = function (t, e) { + (this.target = t), (this.topTarget = e && e.topTarget); + }, + Zt = (function () { + function t(t) { + (this.handler = t), t.on("mousedown", this._dragStart, this), t.on("mousemove", this._drag, this), t.on("mouseup", this._dragEnd, this); + } + return ( + (t.prototype._dragStart = function (t) { + for (var e = t.target; e && !e.draggable; ) e = e.parent || e.__hostTarget; + e && ((this._draggingTarget = e), (e.dragging = !0), (this._x = t.offsetX), (this._y = t.offsetY), this.handler.dispatchToElement(new Ut(e, t), "dragstart", t.event)); + }), + (t.prototype._drag = function (t) { + var e = this._draggingTarget; + if (e) { + var n = t.offsetX, + i = t.offsetY, + r = n - this._x, + o = i - this._y; + (this._x = n), (this._y = i), e.drift(r, o, t), this.handler.dispatchToElement(new Ut(e, t), "drag", t.event); + var a = this.handler.findHover(n, i, e).target, + s = this._dropTarget; + (this._dropTarget = a), e !== a && (s && a !== s && this.handler.dispatchToElement(new Ut(s, t), "dragleave", t.event), a && a !== s && this.handler.dispatchToElement(new Ut(a, t), "dragenter", t.event)); + } + }), + (t.prototype._dragEnd = function (t) { + var e = this._draggingTarget; + e && (e.dragging = !1), + this.handler.dispatchToElement(new Ut(e, t), "dragend", t.event), + this._dropTarget && this.handler.dispatchToElement(new Ut(this._dropTarget, t), "drop", t.event), + (this._draggingTarget = null), + (this._dropTarget = null); + }), + t + ); + })(), + jt = (function () { + function t(t) { + t && (this._$eventProcessor = t); + } + return ( + (t.prototype.on = function (t, e, n, i) { + this._$handlers || (this._$handlers = {}); + var r = this._$handlers; + if (("function" == typeof e && ((i = n), (n = e), (e = null)), !n || !t)) return this; + var o = this._$eventProcessor; + null != e && o && o.normalizeQuery && (e = o.normalizeQuery(e)), r[t] || (r[t] = []); + for (var a = 0; a < r[t].length; a++) if (r[t][a].h === n) return this; + var s = { h: n, query: e, ctx: i || this, callAtLast: n.zrEventfulCallAtLast }, + l = r[t].length - 1, + u = r[t][l]; + return u && u.callAtLast ? r[t].splice(l, 0, s) : r[t].push(s), this; + }), + (t.prototype.isSilent = function (t) { + var e = this._$handlers; + return !e || !e[t] || !e[t].length; + }), + (t.prototype.off = function (t, e) { + var n = this._$handlers; + if (!n) return this; + if (!t) return (this._$handlers = {}), this; + if (e) { + if (n[t]) { + for (var i = [], r = 0, o = n[t].length; r < o; r++) n[t][r].h !== e && i.push(n[t][r]); + n[t] = i; + } + n[t] && 0 === n[t].length && delete n[t]; + } else delete n[t]; + return this; + }), + (t.prototype.trigger = function (t) { + for (var e = [], n = 1; n < arguments.length; n++) e[n - 1] = arguments[n]; + if (!this._$handlers) return this; + var i = this._$handlers[t], + r = this._$eventProcessor; + if (i) + for (var o = e.length, a = i.length, s = 0; s < a; s++) { + var l = i[s]; + if (!r || !r.filter || null == l.query || r.filter(t, l.query)) + switch (o) { + case 0: + l.h.call(l.ctx); + break; + case 1: + l.h.call(l.ctx, e[0]); + break; + case 2: + l.h.call(l.ctx, e[0], e[1]); + break; + default: + l.h.apply(l.ctx, e); + } + } + return r && r.afterTrigger && r.afterTrigger(t), this; + }), + (t.prototype.triggerWithContext = function (t) { + for (var e = [], n = 1; n < arguments.length; n++) e[n - 1] = arguments[n]; + if (!this._$handlers) return this; + var i = this._$handlers[t], + r = this._$eventProcessor; + if (i) + for (var o = e.length, a = e[o - 1], s = i.length, l = 0; l < s; l++) { + var u = i[l]; + if (!r || !r.filter || null == u.query || r.filter(t, u.query)) + switch (o) { + case 0: + u.h.call(a); + break; + case 1: + u.h.call(a, e[0]); + break; + case 2: + u.h.call(a, e[0], e[1]); + break; + default: + u.h.apply(a, e.slice(1, o - 1)); + } + } + return r && r.afterTrigger && r.afterTrigger(t), this; + }), + t + ); + })(), + qt = Math.log(2); + function Kt(t, e, n, i, r, o) { + var a = i + "-" + r, + s = t.length; + if (o.hasOwnProperty(a)) return o[a]; + if (1 === e) { + var l = Math.round(Math.log(((1 << s) - 1) & ~r) / qt); + return t[n][l]; + } + for (var u = i | (1 << n), h = n + 1; i & (1 << h); ) h++; + for (var c = 0, p = 0, d = 0; p < s; p++) { + var f = 1 << p; + f & r || ((c += (d % 2 ? -1 : 1) * t[n][p] * Kt(t, e - 1, h, u, r | f, o)), d++); + } + return (o[a] = c), c; + } + function $t(t, e) { + var n = [ + [t[0], t[1], 1, 0, 0, 0, -e[0] * t[0], -e[0] * t[1]], + [0, 0, 0, t[0], t[1], 1, -e[1] * t[0], -e[1] * t[1]], + [t[2], t[3], 1, 0, 0, 0, -e[2] * t[2], -e[2] * t[3]], + [0, 0, 0, t[2], t[3], 1, -e[3] * t[2], -e[3] * t[3]], + [t[4], t[5], 1, 0, 0, 0, -e[4] * t[4], -e[4] * t[5]], + [0, 0, 0, t[4], t[5], 1, -e[5] * t[4], -e[5] * t[5]], + [t[6], t[7], 1, 0, 0, 0, -e[6] * t[6], -e[6] * t[7]], + [0, 0, 0, t[6], t[7], 1, -e[7] * t[6], -e[7] * t[7]], + ], + i = {}, + r = Kt(n, 8, 0, 0, 0, i); + if (0 !== r) { + for (var o = [], a = 0; a < 8; a++) for (var s = 0; s < 8; s++) null == o[s] && (o[s] = 0), (o[s] += ((((a + s) % 2 ? -1 : 1) * Kt(n, 7, 0 === a ? 1 : 0, 1 << a, 1 << s, i)) / r) * e[a]); + return function (t, e, n) { + var i = e * o[6] + n * o[7] + 1; + (t[0] = (e * o[0] + n * o[1] + o[2]) / i), (t[1] = (e * o[3] + n * o[4] + o[5]) / i); + }; + } + } + var Jt = "___zrEVENTSAVED", + Qt = []; + function te(t, e, n, i, o) { + if (e.getBoundingClientRect && r.domSupported && !ee(e)) { + var a = e[Jt] || (e[Jt] = {}), + s = (function (t, e) { + var n = e.markers; + if (n) return n; + n = e.markers = []; + for (var i = ["left", "right"], r = ["top", "bottom"], o = 0; o < 4; o++) { + var a = document.createElement("div"), + s = o % 2, + l = (o >> 1) % 2; + (a.style.cssText = [ + "position: absolute", + "visibility: hidden", + "padding: 0", + "margin: 0", + "border-width: 0", + "user-select: none", + "width:0", + "height:0", + i[s] + ":0", + r[l] + ":0", + i[1 - s] + ":auto", + r[1 - l] + ":auto", + "", + ].join("!important;")), + t.appendChild(a), + n.push(a); + } + return n; + })(e, a), + l = (function (t, e, n) { + for (var i = n ? "invTrans" : "trans", r = e[i], o = e.srcCoords, a = [], s = [], l = !0, u = 0; u < 4; u++) { + var h = t[u].getBoundingClientRect(), + c = 2 * u, + p = h.left, + d = h.top; + a.push(p, d), (l = l && o && p === o[c] && d === o[c + 1]), s.push(t[u].offsetLeft, t[u].offsetTop); + } + return l && r ? r : ((e.srcCoords = a), (e[i] = n ? $t(s, a) : $t(a, s))); + })(s, a, o); + if (l) return l(t, n, i), !0; + } + return !1; + } + function ee(t) { + return "CANVAS" === t.nodeName.toUpperCase(); + } + var ne = /([&<>"'])/g, + ie = { "&": "&", "<": "<", ">": ">", '"': """, "'": "'" }; + function re(t) { + return null == t + ? "" + : (t + "").replace(ne, function (t, e) { + return ie[e]; + }); + } + var oe = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, + ae = [], + se = r.browser.firefox && +r.browser.version.split(".")[0] < 39; + function le(t, e, n, i) { + return (n = n || {}), i ? ue(t, e, n) : se && null != e.layerX && e.layerX !== e.offsetX ? ((n.zrX = e.layerX), (n.zrY = e.layerY)) : null != e.offsetX ? ((n.zrX = e.offsetX), (n.zrY = e.offsetY)) : ue(t, e, n), n; + } + function ue(t, e, n) { + if (r.domSupported && t.getBoundingClientRect) { + var i = e.clientX, + o = e.clientY; + if (ee(t)) { + var a = t.getBoundingClientRect(); + return (n.zrX = i - a.left), void (n.zrY = o - a.top); + } + if (te(ae, t, i, o)) return (n.zrX = ae[0]), void (n.zrY = ae[1]); + } + n.zrX = n.zrY = 0; + } + function he(t) { + return t || window.event; + } + function ce(t, e, n) { + if (null != (e = he(e)).zrX) return e; + var i = e.type; + if (i && i.indexOf("touch") >= 0) { + var r = "touchend" !== i ? e.targetTouches[0] : e.changedTouches[0]; + r && le(t, r, e, n); + } else { + le(t, e, e, n); + var o = (function (t) { + var e = t.wheelDelta; + if (e) return e; + var n = t.deltaX, + i = t.deltaY; + if (null == n || null == i) return e; + return 3 * (0 !== i ? Math.abs(i) : Math.abs(n)) * (i > 0 ? -1 : i < 0 ? 1 : n > 0 ? -1 : 1); + })(e); + e.zrDelta = o ? o / 120 : -(e.detail || 0) / 3; + } + var a = e.button; + return null == e.which && void 0 !== a && oe.test(e.type) && (e.which = 1 & a ? 1 : 2 & a ? 3 : 4 & a ? 2 : 0), e; + } + function pe(t, e, n, i) { + t.addEventListener(e, n, i); + } + var de = function (t) { + t.preventDefault(), t.stopPropagation(), (t.cancelBubble = !0); + }; + function fe(t) { + return 2 === t.which || 3 === t.which; + } + var ge = (function () { + function t() { + this._track = []; + } + return ( + (t.prototype.recognize = function (t, e, n) { + return this._doTrack(t, e, n), this._recognize(t); + }), + (t.prototype.clear = function () { + return (this._track.length = 0), this; + }), + (t.prototype._doTrack = function (t, e, n) { + var i = t.touches; + if (i) { + for (var r = { points: [], touches: [], target: e, event: t }, o = 0, a = i.length; o < a; o++) { + var s = i[o], + l = le(n, s, {}); + r.points.push([l.zrX, l.zrY]), r.touches.push(s); + } + this._track.push(r); + } + }), + (t.prototype._recognize = function (t) { + for (var e in ve) + if (ve.hasOwnProperty(e)) { + var n = ve[e](this._track, t); + if (n) return n; + } + }), + t + ); + })(); + function ye(t) { + var e = t[1][0] - t[0][0], + n = t[1][1] - t[0][1]; + return Math.sqrt(e * e + n * n); + } + var ve = { + pinch: function (t, e) { + var n = t.length; + if (n) { + var i, + r = (t[n - 1] || {}).points, + o = (t[n - 2] || {}).points || r; + if (o && o.length > 1 && r && r.length > 1) { + var a = ye(r) / ye(o); + !isFinite(a) && (a = 1), (e.pinchScale = a); + var s = [((i = r)[0][0] + i[1][0]) / 2, (i[0][1] + i[1][1]) / 2]; + return (e.pinchX = s[0]), (e.pinchY = s[1]), { type: "pinch", target: t[0].target, event: e }; + } + } + }, + }; + function me() { + return [1, 0, 0, 1, 0, 0]; + } + function xe(t) { + return (t[0] = 1), (t[1] = 0), (t[2] = 0), (t[3] = 1), (t[4] = 0), (t[5] = 0), t; + } + function _e(t, e) { + return (t[0] = e[0]), (t[1] = e[1]), (t[2] = e[2]), (t[3] = e[3]), (t[4] = e[4]), (t[5] = e[5]), t; + } + function be(t, e, n) { + var i = e[0] * n[0] + e[2] * n[1], + r = e[1] * n[0] + e[3] * n[1], + o = e[0] * n[2] + e[2] * n[3], + a = e[1] * n[2] + e[3] * n[3], + s = e[0] * n[4] + e[2] * n[5] + e[4], + l = e[1] * n[4] + e[3] * n[5] + e[5]; + return (t[0] = i), (t[1] = r), (t[2] = o), (t[3] = a), (t[4] = s), (t[5] = l), t; + } + function we(t, e, n) { + return (t[0] = e[0]), (t[1] = e[1]), (t[2] = e[2]), (t[3] = e[3]), (t[4] = e[4] + n[0]), (t[5] = e[5] + n[1]), t; + } + function Se(t, e, n, i) { + void 0 === i && (i = [0, 0]); + var r = e[0], + o = e[2], + a = e[4], + s = e[1], + l = e[3], + u = e[5], + h = Math.sin(n), + c = Math.cos(n); + return (t[0] = r * c + s * h), (t[1] = -r * h + s * c), (t[2] = o * c + l * h), (t[3] = -o * h + c * l), (t[4] = c * (a - i[0]) + h * (u - i[1]) + i[0]), (t[5] = c * (u - i[1]) - h * (a - i[0]) + i[1]), t; + } + function Me(t, e, n) { + var i = n[0], + r = n[1]; + return (t[0] = e[0] * i), (t[1] = e[1] * r), (t[2] = e[2] * i), (t[3] = e[3] * r), (t[4] = e[4] * i), (t[5] = e[5] * r), t; + } + function Ie(t, e) { + var n = e[0], + i = e[2], + r = e[4], + o = e[1], + a = e[3], + s = e[5], + l = n * a - o * i; + return l ? ((l = 1 / l), (t[0] = a * l), (t[1] = -o * l), (t[2] = -i * l), (t[3] = n * l), (t[4] = (i * s - a * r) * l), (t[5] = (o * r - n * s) * l), t) : null; + } + function Te(t) { + var e = [1, 0, 0, 1, 0, 0]; + return _e(e, t), e; + } + var Ce = Object.freeze({ __proto__: null, create: me, identity: xe, copy: _e, mul: be, translate: we, rotate: Se, scale: Me, invert: Ie, clone: Te }), + De = (function () { + function t(t, e) { + (this.x = t || 0), (this.y = e || 0); + } + return ( + (t.prototype.copy = function (t) { + return (this.x = t.x), (this.y = t.y), this; + }), + (t.prototype.clone = function () { + return new t(this.x, this.y); + }), + (t.prototype.set = function (t, e) { + return (this.x = t), (this.y = e), this; + }), + (t.prototype.equal = function (t) { + return t.x === this.x && t.y === this.y; + }), + (t.prototype.add = function (t) { + return (this.x += t.x), (this.y += t.y), this; + }), + (t.prototype.scale = function (t) { + (this.x *= t), (this.y *= t); + }), + (t.prototype.scaleAndAdd = function (t, e) { + (this.x += t.x * e), (this.y += t.y * e); + }), + (t.prototype.sub = function (t) { + return (this.x -= t.x), (this.y -= t.y), this; + }), + (t.prototype.dot = function (t) { + return this.x * t.x + this.y * t.y; + }), + (t.prototype.len = function () { + return Math.sqrt(this.x * this.x + this.y * this.y); + }), + (t.prototype.lenSquare = function () { + return this.x * this.x + this.y * this.y; + }), + (t.prototype.normalize = function () { + var t = this.len(); + return (this.x /= t), (this.y /= t), this; + }), + (t.prototype.distance = function (t) { + var e = this.x - t.x, + n = this.y - t.y; + return Math.sqrt(e * e + n * n); + }), + (t.prototype.distanceSquare = function (t) { + var e = this.x - t.x, + n = this.y - t.y; + return e * e + n * n; + }), + (t.prototype.negate = function () { + return (this.x = -this.x), (this.y = -this.y), this; + }), + (t.prototype.transform = function (t) { + if (t) { + var e = this.x, + n = this.y; + return (this.x = t[0] * e + t[2] * n + t[4]), (this.y = t[1] * e + t[3] * n + t[5]), this; + } + }), + (t.prototype.toArray = function (t) { + return (t[0] = this.x), (t[1] = this.y), t; + }), + (t.prototype.fromArray = function (t) { + (this.x = t[0]), (this.y = t[1]); + }), + (t.set = function (t, e, n) { + (t.x = e), (t.y = n); + }), + (t.copy = function (t, e) { + (t.x = e.x), (t.y = e.y); + }), + (t.len = function (t) { + return Math.sqrt(t.x * t.x + t.y * t.y); + }), + (t.lenSquare = function (t) { + return t.x * t.x + t.y * t.y; + }), + (t.dot = function (t, e) { + return t.x * e.x + t.y * e.y; + }), + (t.add = function (t, e, n) { + (t.x = e.x + n.x), (t.y = e.y + n.y); + }), + (t.sub = function (t, e, n) { + (t.x = e.x - n.x), (t.y = e.y - n.y); + }), + (t.scale = function (t, e, n) { + (t.x = e.x * n), (t.y = e.y * n); + }), + (t.scaleAndAdd = function (t, e, n, i) { + (t.x = e.x + n.x * i), (t.y = e.y + n.y * i); + }), + (t.lerp = function (t, e, n, i) { + var r = 1 - i; + (t.x = r * e.x + i * n.x), (t.y = r * e.y + i * n.y); + }), + t + ); + })(), + Ae = Math.min, + ke = Math.max, + Le = new De(), + Pe = new De(), + Oe = new De(), + Re = new De(), + Ne = new De(), + Ee = new De(), + ze = (function () { + function t(t, e, n, i) { + n < 0 && ((t += n), (n = -n)), i < 0 && ((e += i), (i = -i)), (this.x = t), (this.y = e), (this.width = n), (this.height = i); + } + return ( + (t.prototype.union = function (t) { + var e = Ae(t.x, this.x), + n = Ae(t.y, this.y); + isFinite(this.x) && isFinite(this.width) ? (this.width = ke(t.x + t.width, this.x + this.width) - e) : (this.width = t.width), + isFinite(this.y) && isFinite(this.height) ? (this.height = ke(t.y + t.height, this.y + this.height) - n) : (this.height = t.height), + (this.x = e), + (this.y = n); + }), + (t.prototype.applyTransform = function (e) { + t.applyTransform(this, this, e); + }), + (t.prototype.calculateTransform = function (t) { + var e = this, + n = t.width / e.width, + i = t.height / e.height, + r = [1, 0, 0, 1, 0, 0]; + return we(r, r, [-e.x, -e.y]), Me(r, r, [n, i]), we(r, r, [t.x, t.y]), r; + }), + (t.prototype.intersect = function (e, n) { + if (!e) return !1; + e instanceof t || (e = t.create(e)); + var i = this, + r = i.x, + o = i.x + i.width, + a = i.y, + s = i.y + i.height, + l = e.x, + u = e.x + e.width, + h = e.y, + c = e.y + e.height, + p = !(o < l || u < r || s < h || c < a); + if (n) { + var d = 1 / 0, + f = 0, + g = Math.abs(o - l), + y = Math.abs(u - r), + v = Math.abs(s - h), + m = Math.abs(c - a), + x = Math.min(g, y), + _ = Math.min(v, m); + o < l || u < r ? x > f && ((f = x), g < y ? De.set(Ee, -g, 0) : De.set(Ee, y, 0)) : x < d && ((d = x), g < y ? De.set(Ne, g, 0) : De.set(Ne, -y, 0)), + s < h || c < a ? _ > f && ((f = _), v < m ? De.set(Ee, 0, -v) : De.set(Ee, 0, m)) : x < d && ((d = x), v < m ? De.set(Ne, 0, v) : De.set(Ne, 0, -m)); + } + return n && De.copy(n, p ? Ne : Ee), p; + }), + (t.prototype.contain = function (t, e) { + var n = this; + return t >= n.x && t <= n.x + n.width && e >= n.y && e <= n.y + n.height; + }), + (t.prototype.clone = function () { + return new t(this.x, this.y, this.width, this.height); + }), + (t.prototype.copy = function (e) { + t.copy(this, e); + }), + (t.prototype.plain = function () { + return { x: this.x, y: this.y, width: this.width, height: this.height }; + }), + (t.prototype.isFinite = function () { + return isFinite(this.x) && isFinite(this.y) && isFinite(this.width) && isFinite(this.height); + }), + (t.prototype.isZero = function () { + return 0 === this.width || 0 === this.height; + }), + (t.create = function (e) { + return new t(e.x, e.y, e.width, e.height); + }), + (t.copy = function (t, e) { + (t.x = e.x), (t.y = e.y), (t.width = e.width), (t.height = e.height); + }), + (t.applyTransform = function (e, n, i) { + if (i) { + if (i[1] < 1e-5 && i[1] > -1e-5 && i[2] < 1e-5 && i[2] > -1e-5) { + var r = i[0], + o = i[3], + a = i[4], + s = i[5]; + return (e.x = n.x * r + a), (e.y = n.y * o + s), (e.width = n.width * r), (e.height = n.height * o), e.width < 0 && ((e.x += e.width), (e.width = -e.width)), void (e.height < 0 && ((e.y += e.height), (e.height = -e.height))); + } + (Le.x = Oe.x = n.x), + (Le.y = Re.y = n.y), + (Pe.x = Re.x = n.x + n.width), + (Pe.y = Oe.y = n.y + n.height), + Le.transform(i), + Re.transform(i), + Pe.transform(i), + Oe.transform(i), + (e.x = Ae(Le.x, Pe.x, Oe.x, Re.x)), + (e.y = Ae(Le.y, Pe.y, Oe.y, Re.y)); + var l = ke(Le.x, Pe.x, Oe.x, Re.x), + u = ke(Le.y, Pe.y, Oe.y, Re.y); + (e.width = l - e.x), (e.height = u - e.y); + } else e !== n && t.copy(e, n); + }), + t + ); + })(), + Ve = "silent"; + function Be() { + de(this.event); + } + var Fe = (function (t) { + function e() { + var e = (null !== t && t.apply(this, arguments)) || this; + return (e.handler = null), e; + } + return n(e, t), (e.prototype.dispose = function () {}), (e.prototype.setCursor = function () {}), e; + })(jt), + Ge = function (t, e) { + (this.x = t), (this.y = e); + }, + We = ["click", "dblclick", "mousewheel", "mouseout", "mouseup", "mousedown", "mousemove", "contextmenu"], + He = new ze(0, 0, 0, 0), + Ye = (function (t) { + function e(e, n, i, r, o) { + var a = t.call(this) || this; + return (a._hovered = new Ge(0, 0)), (a.storage = e), (a.painter = n), (a.painterRoot = r), (a._pointerSize = o), (i = i || new Fe()), (a.proxy = null), a.setHandlerProxy(i), (a._draggingMgr = new Zt(a)), a; + } + return ( + n(e, t), + (e.prototype.setHandlerProxy = function (t) { + this.proxy && this.proxy.dispose(), + t && + (E( + We, + function (e) { + t.on && t.on(e, this[e], this); + }, + this + ), + (t.handler = this)), + (this.proxy = t); + }), + (e.prototype.mousemove = function (t) { + var e = t.zrX, + n = t.zrY, + i = Ze(this, e, n), + r = this._hovered, + o = r.target; + o && !o.__zr && (o = (r = this.findHover(r.x, r.y)).target); + var a = (this._hovered = i ? new Ge(e, n) : this.findHover(e, n)), + s = a.target, + l = this.proxy; + l.setCursor && l.setCursor(s ? s.cursor : "default"), o && s !== o && this.dispatchToElement(r, "mouseout", t), this.dispatchToElement(a, "mousemove", t), s && s !== o && this.dispatchToElement(a, "mouseover", t); + }), + (e.prototype.mouseout = function (t) { + var e = t.zrEventControl; + "only_globalout" !== e && this.dispatchToElement(this._hovered, "mouseout", t), "no_globalout" !== e && this.trigger("globalout", { type: "globalout", event: t }); + }), + (e.prototype.resize = function () { + this._hovered = new Ge(0, 0); + }), + (e.prototype.dispatch = function (t, e) { + var n = this[t]; + n && n.call(this, e); + }), + (e.prototype.dispose = function () { + this.proxy.dispose(), (this.storage = null), (this.proxy = null), (this.painter = null); + }), + (e.prototype.setCursorStyle = function (t) { + var e = this.proxy; + e.setCursor && e.setCursor(t); + }), + (e.prototype.dispatchToElement = function (t, e, n) { + var i = (t = t || {}).target; + if (!i || !i.silent) { + for ( + var r = "on" + e, + o = (function (t, e, n) { + return { + type: t, + event: n, + target: e.target, + topTarget: e.topTarget, + cancelBubble: !1, + offsetX: n.zrX, + offsetY: n.zrY, + gestureEvent: n.gestureEvent, + pinchX: n.pinchX, + pinchY: n.pinchY, + pinchScale: n.pinchScale, + wheelDelta: n.zrDelta, + zrByTouch: n.zrByTouch, + which: n.which, + stop: Be, + }; + })(e, t, n); + i && (i[r] && (o.cancelBubble = !!i[r].call(i, o)), i.trigger(e, o), (i = i.__hostTarget ? i.__hostTarget : i.parent), !o.cancelBubble); + + ); + o.cancelBubble || + (this.trigger(e, o), + this.painter && + this.painter.eachOtherLayer && + this.painter.eachOtherLayer(function (t) { + "function" == typeof t[r] && t[r].call(t, o), t.trigger && t.trigger(e, o); + })); + } + }), + (e.prototype.findHover = function (t, e, n) { + var i = this.storage.getDisplayList(), + r = new Ge(t, e); + if ((Ue(i, r, t, e, n), this._pointerSize && !r.target)) { + for (var o = [], a = this._pointerSize, s = a / 2, l = new ze(t - s, e - s, a, a), u = i.length - 1; u >= 0; u--) { + var h = i[u]; + h === n || h.ignore || h.ignoreCoarsePointer || (h.parent && h.parent.ignoreCoarsePointer) || (He.copy(h.getBoundingRect()), h.transform && He.applyTransform(h.transform), He.intersect(l) && o.push(h)); + } + if (o.length) + for (var c = Math.PI / 12, p = 2 * Math.PI, d = 0; d < s; d += 4) + for (var f = 0; f < p; f += c) { + if ((Ue(o, r, t + d * Math.cos(f), e + d * Math.sin(f), n), r.target)) return r; + } + } + return r; + }), + (e.prototype.processGesture = function (t, e) { + this._gestureMgr || (this._gestureMgr = new ge()); + var n = this._gestureMgr; + "start" === e && n.clear(); + var i = n.recognize(t, this.findHover(t.zrX, t.zrY, null).target, this.proxy.dom); + if (("end" === e && n.clear(), i)) { + var r = i.type; + t.gestureEvent = r; + var o = new Ge(); + (o.target = i.target), this.dispatchToElement(o, r, i.event); + } + }), + e + ); + })(jt); + function Xe(t, e, n) { + if (t[t.rectHover ? "rectContain" : "contain"](e, n)) { + for (var i = t, r = void 0, o = !1; i; ) { + if ((i.ignoreClip && (o = !0), !o)) { + var a = i.getClipPath(); + if (a && !a.contain(e, n)) return !1; + } + i.silent && (r = !0); + var s = i.__hostTarget; + i = s || i.parent; + } + return !r || Ve; + } + return !1; + } + function Ue(t, e, n, i, r) { + for (var o = t.length - 1; o >= 0; o--) { + var a = t[o], + s = void 0; + if (a !== r && !a.ignore && (s = Xe(a, n, i)) && (!e.topTarget && (e.topTarget = a), s !== Ve)) { + e.target = a; + break; + } + } + } + function Ze(t, e, n) { + var i = t.painter; + return e < 0 || e > i.getWidth() || n < 0 || n > i.getHeight(); + } + E(["click", "mousedown", "mouseup", "mousewheel", "dblclick", "contextmenu"], function (t) { + Ye.prototype[t] = function (e) { + var n, + i, + r = e.zrX, + o = e.zrY, + a = Ze(this, r, o); + if ((("mouseup" === t && a) || (i = (n = this.findHover(r, o)).target), "mousedown" === t)) (this._downEl = i), (this._downPoint = [e.zrX, e.zrY]), (this._upEl = i); + else if ("mouseup" === t) this._upEl = i; + else if ("click" === t) { + if (this._downEl !== this._upEl || !this._downPoint || Vt(this._downPoint, [e.zrX, e.zrY]) > 4) return; + this._downPoint = null; + } + this.dispatchToElement(n, t, e); + }; + }); + function je(t, e, n, i) { + var r = e + 1; + if (r === n) return 1; + if (i(t[r++], t[e]) < 0) { + for (; r < n && i(t[r], t[r - 1]) < 0; ) r++; + !(function (t, e, n) { + n--; + for (; e < n; ) { + var i = t[e]; + (t[e++] = t[n]), (t[n--] = i); + } + })(t, e, r); + } else for (; r < n && i(t[r], t[r - 1]) >= 0; ) r++; + return r - e; + } + function qe(t, e, n, i, r) { + for (i === e && i++; i < n; i++) { + for (var o, a = t[i], s = e, l = i; s < l; ) r(a, t[(o = (s + l) >>> 1)]) < 0 ? (l = o) : (s = o + 1); + var u = i - s; + switch (u) { + case 3: + t[s + 3] = t[s + 2]; + case 2: + t[s + 2] = t[s + 1]; + case 1: + t[s + 1] = t[s]; + break; + default: + for (; u > 0; ) (t[s + u] = t[s + u - 1]), u--; + } + t[s] = a; + } + } + function Ke(t, e, n, i, r, o) { + var a = 0, + s = 0, + l = 1; + if (o(t, e[n + r]) > 0) { + for (s = i - r; l < s && o(t, e[n + r + l]) > 0; ) (a = l), (l = 1 + (l << 1)) <= 0 && (l = s); + l > s && (l = s), (a += r), (l += r); + } else { + for (s = r + 1; l < s && o(t, e[n + r - l]) <= 0; ) (a = l), (l = 1 + (l << 1)) <= 0 && (l = s); + l > s && (l = s); + var u = a; + (a = r - l), (l = r - u); + } + for (a++; a < l; ) { + var h = a + ((l - a) >>> 1); + o(t, e[n + h]) > 0 ? (a = h + 1) : (l = h); + } + return l; + } + function $e(t, e, n, i, r, o) { + var a = 0, + s = 0, + l = 1; + if (o(t, e[n + r]) < 0) { + for (s = r + 1; l < s && o(t, e[n + r - l]) < 0; ) (a = l), (l = 1 + (l << 1)) <= 0 && (l = s); + l > s && (l = s); + var u = a; + (a = r - l), (l = r - u); + } else { + for (s = i - r; l < s && o(t, e[n + r + l]) >= 0; ) (a = l), (l = 1 + (l << 1)) <= 0 && (l = s); + l > s && (l = s), (a += r), (l += r); + } + for (a++; a < l; ) { + var h = a + ((l - a) >>> 1); + o(t, e[n + h]) < 0 ? (l = h) : (a = h + 1); + } + return l; + } + function Je(t, e) { + var n, + i, + r = 7, + o = 0, + a = []; + function s(s) { + var l = n[s], + u = i[s], + h = n[s + 1], + c = i[s + 1]; + (i[s] = u + c), s === o - 3 && ((n[s + 1] = n[s + 2]), (i[s + 1] = i[s + 2])), o--; + var p = $e(t[h], t, l, u, 0, e); + (l += p), + 0 !== (u -= p) && + 0 !== (c = Ke(t[l + u - 1], t, h, c, c - 1, e)) && + (u <= c + ? (function (n, i, o, s) { + var l = 0; + for (l = 0; l < i; l++) a[l] = t[n + l]; + var u = 0, + h = o, + c = n; + if (((t[c++] = t[h++]), 0 == --s)) { + for (l = 0; l < i; l++) t[c + l] = a[u + l]; + return; + } + if (1 === i) { + for (l = 0; l < s; l++) t[c + l] = t[h + l]; + return void (t[c + s] = a[u]); + } + var p, + d, + f, + g = r; + for (;;) { + (p = 0), (d = 0), (f = !1); + do { + if (e(t[h], a[u]) < 0) { + if (((t[c++] = t[h++]), d++, (p = 0), 0 == --s)) { + f = !0; + break; + } + } else if (((t[c++] = a[u++]), p++, (d = 0), 1 == --i)) { + f = !0; + break; + } + } while ((p | d) < g); + if (f) break; + do { + if (0 !== (p = $e(t[h], a, u, i, 0, e))) { + for (l = 0; l < p; l++) t[c + l] = a[u + l]; + if (((c += p), (u += p), (i -= p) <= 1)) { + f = !0; + break; + } + } + if (((t[c++] = t[h++]), 0 == --s)) { + f = !0; + break; + } + if (0 !== (d = Ke(a[u], t, h, s, 0, e))) { + for (l = 0; l < d; l++) t[c + l] = t[h + l]; + if (((c += d), (h += d), 0 === (s -= d))) { + f = !0; + break; + } + } + if (((t[c++] = a[u++]), 1 == --i)) { + f = !0; + break; + } + g--; + } while (p >= 7 || d >= 7); + if (f) break; + g < 0 && (g = 0), (g += 2); + } + if (((r = g) < 1 && (r = 1), 1 === i)) { + for (l = 0; l < s; l++) t[c + l] = t[h + l]; + t[c + s] = a[u]; + } else { + if (0 === i) throw new Error(); + for (l = 0; l < i; l++) t[c + l] = a[u + l]; + } + })(l, u, h, c) + : (function (n, i, o, s) { + var l = 0; + for (l = 0; l < s; l++) a[l] = t[o + l]; + var u = n + i - 1, + h = s - 1, + c = o + s - 1, + p = 0, + d = 0; + if (((t[c--] = t[u--]), 0 == --i)) { + for (p = c - (s - 1), l = 0; l < s; l++) t[p + l] = a[l]; + return; + } + if (1 === s) { + for (d = (c -= i) + 1, p = (u -= i) + 1, l = i - 1; l >= 0; l--) t[d + l] = t[p + l]; + return void (t[c] = a[h]); + } + var f = r; + for (;;) { + var g = 0, + y = 0, + v = !1; + do { + if (e(a[h], t[u]) < 0) { + if (((t[c--] = t[u--]), g++, (y = 0), 0 == --i)) { + v = !0; + break; + } + } else if (((t[c--] = a[h--]), y++, (g = 0), 1 == --s)) { + v = !0; + break; + } + } while ((g | y) < f); + if (v) break; + do { + if (0 !== (g = i - $e(a[h], t, n, i, i - 1, e))) { + for (i -= g, d = (c -= g) + 1, p = (u -= g) + 1, l = g - 1; l >= 0; l--) t[d + l] = t[p + l]; + if (0 === i) { + v = !0; + break; + } + } + if (((t[c--] = a[h--]), 1 == --s)) { + v = !0; + break; + } + if (0 !== (y = s - Ke(t[u], a, 0, s, s - 1, e))) { + for (s -= y, d = (c -= y) + 1, p = (h -= y) + 1, l = 0; l < y; l++) t[d + l] = a[p + l]; + if (s <= 1) { + v = !0; + break; + } + } + if (((t[c--] = t[u--]), 0 == --i)) { + v = !0; + break; + } + f--; + } while (g >= 7 || y >= 7); + if (v) break; + f < 0 && (f = 0), (f += 2); + } + (r = f) < 1 && (r = 1); + if (1 === s) { + for (d = (c -= i) + 1, p = (u -= i) + 1, l = i - 1; l >= 0; l--) t[d + l] = t[p + l]; + t[c] = a[h]; + } else { + if (0 === s) throw new Error(); + for (p = c - (s - 1), l = 0; l < s; l++) t[p + l] = a[l]; + } + })(l, u, h, c)); + } + return ( + (n = []), + (i = []), + { + mergeRuns: function () { + for (; o > 1; ) { + var t = o - 2; + if ((t >= 1 && i[t - 1] <= i[t] + i[t + 1]) || (t >= 2 && i[t - 2] <= i[t] + i[t - 1])) i[t - 1] < i[t + 1] && t--; + else if (i[t] > i[t + 1]) break; + s(t); + } + }, + forceMergeRuns: function () { + for (; o > 1; ) { + var t = o - 2; + t > 0 && i[t - 1] < i[t + 1] && t--, s(t); + } + }, + pushRun: function (t, e) { + (n[o] = t), (i[o] = e), (o += 1); + }, + } + ); + } + function Qe(t, e, n, i) { + n || (n = 0), i || (i = t.length); + var r = i - n; + if (!(r < 2)) { + var o = 0; + if (r < 32) qe(t, n, i, n + (o = je(t, n, i, e)), e); + else { + var a = Je(t, e), + s = (function (t) { + for (var e = 0; t >= 32; ) (e |= 1 & t), (t >>= 1); + return t + e; + })(r); + do { + if ((o = je(t, n, i, e)) < s) { + var l = r; + l > s && (l = s), qe(t, n, n + l, n + o, e), (o = l); + } + a.pushRun(n, o), a.mergeRuns(), (r -= o), (n += o); + } while (0 !== r); + a.forceMergeRuns(); + } + } + } + var tn = !1; + function en() { + tn || ((tn = !0), console.warn("z / z2 / zlevel of displayable is invalid, which may cause unexpected errors")); + } + function nn(t, e) { + return t.zlevel === e.zlevel ? (t.z === e.z ? t.z2 - e.z2 : t.z - e.z) : t.zlevel - e.zlevel; + } + var rn = (function () { + function t() { + (this._roots = []), (this._displayList = []), (this._displayListLen = 0), (this.displayableSortFunc = nn); + } + return ( + (t.prototype.traverse = function (t, e) { + for (var n = 0; n < this._roots.length; n++) this._roots[n].traverse(t, e); + }), + (t.prototype.getDisplayList = function (t, e) { + e = e || !1; + var n = this._displayList; + return (!t && n.length) || this.updateDisplayList(e), n; + }), + (t.prototype.updateDisplayList = function (t) { + this._displayListLen = 0; + for (var e = this._roots, n = this._displayList, i = 0, r = e.length; i < r; i++) this._updateAndAddDisplayable(e[i], null, t); + (n.length = this._displayListLen), Qe(n, nn); + }), + (t.prototype._updateAndAddDisplayable = function (t, e, n) { + if (!t.ignore || n) { + t.beforeUpdate(), t.update(), t.afterUpdate(); + var i = t.getClipPath(); + if (t.ignoreClip) e = null; + else if (i) { + e = e ? e.slice() : []; + for (var r = i, o = t; r; ) (r.parent = o), r.updateTransform(), e.push(r), (o = r), (r = r.getClipPath()); + } + if (t.childrenRef) { + for (var a = t.childrenRef(), s = 0; s < a.length; s++) { + var l = a[s]; + t.__dirty && (l.__dirty |= 1), this._updateAndAddDisplayable(l, e, n); + } + t.__dirty = 0; + } else { + var u = t; + e && e.length ? (u.__clipPaths = e) : u.__clipPaths && u.__clipPaths.length > 0 && (u.__clipPaths = []), + isNaN(u.z) && (en(), (u.z = 0)), + isNaN(u.z2) && (en(), (u.z2 = 0)), + isNaN(u.zlevel) && (en(), (u.zlevel = 0)), + (this._displayList[this._displayListLen++] = u); + } + var h = t.getDecalElement && t.getDecalElement(); + h && this._updateAndAddDisplayable(h, e, n); + var c = t.getTextGuideLine(); + c && this._updateAndAddDisplayable(c, e, n); + var p = t.getTextContent(); + p && this._updateAndAddDisplayable(p, e, n); + } + }), + (t.prototype.addRoot = function (t) { + (t.__zr && t.__zr.storage === this) || this._roots.push(t); + }), + (t.prototype.delRoot = function (t) { + if (t instanceof Array) for (var e = 0, n = t.length; e < n; e++) this.delRoot(t[e]); + else { + var i = P(this._roots, t); + i >= 0 && this._roots.splice(i, 1); + } + }), + (t.prototype.delAllRoots = function () { + (this._roots = []), (this._displayList = []), (this._displayListLen = 0); + }), + (t.prototype.getRoots = function () { + return this._roots; + }), + (t.prototype.dispose = function () { + (this._displayList = null), (this._roots = null); + }), + t + ); + })(), + on = + (r.hasGlobalWindow && + ((window.requestAnimationFrame && window.requestAnimationFrame.bind(window)) || + (window.msRequestAnimationFrame && window.msRequestAnimationFrame.bind(window)) || + window.mozRequestAnimationFrame || + window.webkitRequestAnimationFrame)) || + function (t) { + return setTimeout(t, 16); + }, + an = { + linear: function (t) { + return t; + }, + quadraticIn: function (t) { + return t * t; + }, + quadraticOut: function (t) { + return t * (2 - t); + }, + quadraticInOut: function (t) { + return (t *= 2) < 1 ? 0.5 * t * t : -0.5 * (--t * (t - 2) - 1); + }, + cubicIn: function (t) { + return t * t * t; + }, + cubicOut: function (t) { + return --t * t * t + 1; + }, + cubicInOut: function (t) { + return (t *= 2) < 1 ? 0.5 * t * t * t : 0.5 * ((t -= 2) * t * t + 2); + }, + quarticIn: function (t) { + return t * t * t * t; + }, + quarticOut: function (t) { + return 1 - --t * t * t * t; + }, + quarticInOut: function (t) { + return (t *= 2) < 1 ? 0.5 * t * t * t * t : -0.5 * ((t -= 2) * t * t * t - 2); + }, + quinticIn: function (t) { + return t * t * t * t * t; + }, + quinticOut: function (t) { + return --t * t * t * t * t + 1; + }, + quinticInOut: function (t) { + return (t *= 2) < 1 ? 0.5 * t * t * t * t * t : 0.5 * ((t -= 2) * t * t * t * t + 2); + }, + sinusoidalIn: function (t) { + return 1 - Math.cos((t * Math.PI) / 2); + }, + sinusoidalOut: function (t) { + return Math.sin((t * Math.PI) / 2); + }, + sinusoidalInOut: function (t) { + return 0.5 * (1 - Math.cos(Math.PI * t)); + }, + exponentialIn: function (t) { + return 0 === t ? 0 : Math.pow(1024, t - 1); + }, + exponentialOut: function (t) { + return 1 === t ? 1 : 1 - Math.pow(2, -10 * t); + }, + exponentialInOut: function (t) { + return 0 === t ? 0 : 1 === t ? 1 : (t *= 2) < 1 ? 0.5 * Math.pow(1024, t - 1) : 0.5 * (2 - Math.pow(2, -10 * (t - 1))); + }, + circularIn: function (t) { + return 1 - Math.sqrt(1 - t * t); + }, + circularOut: function (t) { + return Math.sqrt(1 - --t * t); + }, + circularInOut: function (t) { + return (t *= 2) < 1 ? -0.5 * (Math.sqrt(1 - t * t) - 1) : 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1); + }, + elasticIn: function (t) { + var e, + n = 0.1; + return 0 === t ? 0 : 1 === t ? 1 : (!n || n < 1 ? ((n = 1), (e = 0.1)) : (e = (0.4 * Math.asin(1 / n)) / (2 * Math.PI)), -n * Math.pow(2, 10 * (t -= 1)) * Math.sin(((t - e) * (2 * Math.PI)) / 0.4)); + }, + elasticOut: function (t) { + var e, + n = 0.1; + return 0 === t ? 0 : 1 === t ? 1 : (!n || n < 1 ? ((n = 1), (e = 0.1)) : (e = (0.4 * Math.asin(1 / n)) / (2 * Math.PI)), n * Math.pow(2, -10 * t) * Math.sin(((t - e) * (2 * Math.PI)) / 0.4) + 1); + }, + elasticInOut: function (t) { + var e, + n = 0.1, + i = 0.4; + return 0 === t + ? 0 + : 1 === t + ? 1 + : (!n || n < 1 ? ((n = 1), (e = 0.1)) : (e = (i * Math.asin(1 / n)) / (2 * Math.PI)), + (t *= 2) < 1 ? n * Math.pow(2, 10 * (t -= 1)) * Math.sin(((t - e) * (2 * Math.PI)) / i) * -0.5 : n * Math.pow(2, -10 * (t -= 1)) * Math.sin(((t - e) * (2 * Math.PI)) / i) * 0.5 + 1); + }, + backIn: function (t) { + var e = 1.70158; + return t * t * ((e + 1) * t - e); + }, + backOut: function (t) { + var e = 1.70158; + return --t * t * ((e + 1) * t + e) + 1; + }, + backInOut: function (t) { + var e = 2.5949095; + return (t *= 2) < 1 ? t * t * ((e + 1) * t - e) * 0.5 : 0.5 * ((t -= 2) * t * ((e + 1) * t + e) + 2); + }, + bounceIn: function (t) { + return 1 - an.bounceOut(1 - t); + }, + bounceOut: function (t) { + return t < 1 / 2.75 ? 7.5625 * t * t : t < 2 / 2.75 ? 7.5625 * (t -= 1.5 / 2.75) * t + 0.75 : t < 2.5 / 2.75 ? 7.5625 * (t -= 2.25 / 2.75) * t + 0.9375 : 7.5625 * (t -= 2.625 / 2.75) * t + 0.984375; + }, + bounceInOut: function (t) { + return t < 0.5 ? 0.5 * an.bounceIn(2 * t) : 0.5 * an.bounceOut(2 * t - 1) + 0.5; + }, + }, + sn = Math.pow, + ln = Math.sqrt, + un = 1e-8, + hn = 1e-4, + cn = ln(3), + pn = 1 / 3, + dn = Mt(), + fn = Mt(), + gn = Mt(); + function yn(t) { + return t > -1e-8 && t < un; + } + function vn(t) { + return t > un || t < -1e-8; + } + function mn(t, e, n, i, r) { + var o = 1 - r; + return o * o * (o * t + 3 * r * e) + r * r * (r * i + 3 * o * n); + } + function xn(t, e, n, i, r) { + var o = 1 - r; + return 3 * (((e - t) * o + 2 * (n - e) * r) * o + (i - n) * r * r); + } + function _n(t, e, n, i, r, o) { + var a = i + 3 * (e - n) - t, + s = 3 * (n - 2 * e + t), + l = 3 * (e - t), + u = t - r, + h = s * s - 3 * a * l, + c = s * l - 9 * a * u, + p = l * l - 3 * s * u, + d = 0; + if (yn(h) && yn(c)) { + if (yn(s)) o[0] = 0; + else (M = -l / s) >= 0 && M <= 1 && (o[d++] = M); + } else { + var f = c * c - 4 * h * p; + if (yn(f)) { + var g = c / h, + y = -g / 2; + (M = -s / a + g) >= 0 && M <= 1 && (o[d++] = M), y >= 0 && y <= 1 && (o[d++] = y); + } else if (f > 0) { + var v = ln(f), + m = h * s + 1.5 * a * (-c + v), + x = h * s + 1.5 * a * (-c - v); + (M = (-s - ((m = m < 0 ? -sn(-m, pn) : sn(m, pn)) + (x = x < 0 ? -sn(-x, pn) : sn(x, pn)))) / (3 * a)) >= 0 && M <= 1 && (o[d++] = M); + } else { + var _ = (2 * h * s - 3 * a * c) / (2 * ln(h * h * h)), + b = Math.acos(_) / 3, + w = ln(h), + S = Math.cos(b), + M = (-s - 2 * w * S) / (3 * a), + I = ((y = (-s + w * (S + cn * Math.sin(b))) / (3 * a)), (-s + w * (S - cn * Math.sin(b))) / (3 * a)); + M >= 0 && M <= 1 && (o[d++] = M), y >= 0 && y <= 1 && (o[d++] = y), I >= 0 && I <= 1 && (o[d++] = I); + } + } + return d; + } + function bn(t, e, n, i, r) { + var o = 6 * n - 12 * e + 6 * t, + a = 9 * e + 3 * i - 3 * t - 9 * n, + s = 3 * e - 3 * t, + l = 0; + if (yn(a)) { + if (vn(o)) (h = -s / o) >= 0 && h <= 1 && (r[l++] = h); + } else { + var u = o * o - 4 * a * s; + if (yn(u)) r[0] = -o / (2 * a); + else if (u > 0) { + var h, + c = ln(u), + p = (-o - c) / (2 * a); + (h = (-o + c) / (2 * a)) >= 0 && h <= 1 && (r[l++] = h), p >= 0 && p <= 1 && (r[l++] = p); + } + } + return l; + } + function wn(t, e, n, i, r, o) { + var a = (e - t) * r + t, + s = (n - e) * r + e, + l = (i - n) * r + n, + u = (s - a) * r + a, + h = (l - s) * r + s, + c = (h - u) * r + u; + (o[0] = t), (o[1] = a), (o[2] = u), (o[3] = c), (o[4] = c), (o[5] = h), (o[6] = l), (o[7] = i); + } + function Sn(t, e, n, i, r, o, a, s, l, u, h) { + var c, + p, + d, + f, + g, + y = 0.005, + v = 1 / 0; + (dn[0] = l), (dn[1] = u); + for (var m = 0; m < 1; m += 0.05) (fn[0] = mn(t, n, r, a, m)), (fn[1] = mn(e, i, o, s, m)), (f = Ft(dn, fn)) < v && ((c = m), (v = f)); + v = 1 / 0; + for (var x = 0; x < 32 && !(y < hn); x++) + (p = c - y), + (d = c + y), + (fn[0] = mn(t, n, r, a, p)), + (fn[1] = mn(e, i, o, s, p)), + (f = Ft(fn, dn)), + p >= 0 && f < v ? ((c = p), (v = f)) : ((gn[0] = mn(t, n, r, a, d)), (gn[1] = mn(e, i, o, s, d)), (g = Ft(gn, dn)), d <= 1 && g < v ? ((c = d), (v = g)) : (y *= 0.5)); + return h && ((h[0] = mn(t, n, r, a, c)), (h[1] = mn(e, i, o, s, c))), ln(v); + } + function Mn(t, e, n, i, r, o, a, s, l) { + for (var u = t, h = e, c = 0, p = 1 / l, d = 1; d <= l; d++) { + var f = d * p, + g = mn(t, n, r, a, f), + y = mn(e, i, o, s, f), + v = g - u, + m = y - h; + (c += Math.sqrt(v * v + m * m)), (u = g), (h = y); + } + return c; + } + function In(t, e, n, i) { + var r = 1 - i; + return r * (r * t + 2 * i * e) + i * i * n; + } + function Tn(t, e, n, i) { + return 2 * ((1 - i) * (e - t) + i * (n - e)); + } + function Cn(t, e, n) { + var i = t + n - 2 * e; + return 0 === i ? 0.5 : (t - e) / i; + } + function Dn(t, e, n, i, r) { + var o = (e - t) * i + t, + a = (n - e) * i + e, + s = (a - o) * i + o; + (r[0] = t), (r[1] = o), (r[2] = s), (r[3] = s), (r[4] = a), (r[5] = n); + } + function An(t, e, n, i, r, o, a, s, l) { + var u, + h = 0.005, + c = 1 / 0; + (dn[0] = a), (dn[1] = s); + for (var p = 0; p < 1; p += 0.05) { + (fn[0] = In(t, n, r, p)), (fn[1] = In(e, i, o, p)), (y = Ft(dn, fn)) < c && ((u = p), (c = y)); + } + c = 1 / 0; + for (var d = 0; d < 32 && !(h < hn); d++) { + var f = u - h, + g = u + h; + (fn[0] = In(t, n, r, f)), (fn[1] = In(e, i, o, f)); + var y = Ft(fn, dn); + if (f >= 0 && y < c) (u = f), (c = y); + else { + (gn[0] = In(t, n, r, g)), (gn[1] = In(e, i, o, g)); + var v = Ft(gn, dn); + g <= 1 && v < c ? ((u = g), (c = v)) : (h *= 0.5); + } + } + return l && ((l[0] = In(t, n, r, u)), (l[1] = In(e, i, o, u))), ln(c); + } + function kn(t, e, n, i, r, o, a) { + for (var s = t, l = e, u = 0, h = 1 / a, c = 1; c <= a; c++) { + var p = c * h, + d = In(t, n, r, p), + f = In(e, i, o, p), + g = d - s, + y = f - l; + (u += Math.sqrt(g * g + y * y)), (s = d), (l = f); + } + return u; + } + var Ln = /cubic-bezier\(([0-9,\.e ]+)\)/; + function Pn(t) { + var e = t && Ln.exec(t); + if (e) { + var n = e[1].split(","), + i = +ut(n[0]), + r = +ut(n[1]), + o = +ut(n[2]), + a = +ut(n[3]); + if (isNaN(i + r + o + a)) return; + var s = []; + return function (t) { + return t <= 0 ? 0 : t >= 1 ? 1 : _n(0, i, o, 1, t, s) && mn(0, r, a, 1, s[0]); + }; + } + } + var On = (function () { + function t(t) { + (this._inited = !1), + (this._startTime = 0), + (this._pausedTime = 0), + (this._paused = !1), + (this._life = t.life || 1e3), + (this._delay = t.delay || 0), + (this.loop = t.loop || !1), + (this.onframe = t.onframe || bt), + (this.ondestroy = t.ondestroy || bt), + (this.onrestart = t.onrestart || bt), + t.easing && this.setEasing(t.easing); + } + return ( + (t.prototype.step = function (t, e) { + if ((this._inited || ((this._startTime = t + this._delay), (this._inited = !0)), !this._paused)) { + var n = this._life, + i = t - this._startTime - this._pausedTime, + r = i / n; + r < 0 && (r = 0), (r = Math.min(r, 1)); + var o = this.easingFunc, + a = o ? o(r) : r; + if ((this.onframe(a), 1 === r)) { + if (!this.loop) return !0; + var s = i % n; + (this._startTime = t - s), (this._pausedTime = 0), this.onrestart(); + } + return !1; + } + this._pausedTime += e; + }), + (t.prototype.pause = function () { + this._paused = !0; + }), + (t.prototype.resume = function () { + this._paused = !1; + }), + (t.prototype.setEasing = function (t) { + (this.easing = t), (this.easingFunc = X(t) ? t : an[t] || Pn(t)); + }), + t + ); + })(), + Rn = function (t) { + this.value = t; + }, + Nn = (function () { + function t() { + this._len = 0; + } + return ( + (t.prototype.insert = function (t) { + var e = new Rn(t); + return this.insertEntry(e), e; + }), + (t.prototype.insertEntry = function (t) { + this.head ? ((this.tail.next = t), (t.prev = this.tail), (t.next = null), (this.tail = t)) : (this.head = this.tail = t), this._len++; + }), + (t.prototype.remove = function (t) { + var e = t.prev, + n = t.next; + e ? (e.next = n) : (this.head = n), n ? (n.prev = e) : (this.tail = e), (t.next = t.prev = null), this._len--; + }), + (t.prototype.len = function () { + return this._len; + }), + (t.prototype.clear = function () { + (this.head = this.tail = null), (this._len = 0); + }), + t + ); + })(), + En = (function () { + function t(t) { + (this._list = new Nn()), (this._maxSize = 10), (this._map = {}), (this._maxSize = t); + } + return ( + (t.prototype.put = function (t, e) { + var n = this._list, + i = this._map, + r = null; + if (null == i[t]) { + var o = n.len(), + a = this._lastRemovedEntry; + if (o >= this._maxSize && o > 0) { + var s = n.head; + n.remove(s), delete i[s.key], (r = s.value), (this._lastRemovedEntry = s); + } + a ? (a.value = e) : (a = new Rn(e)), (a.key = t), n.insertEntry(a), (i[t] = a); + } + return r; + }), + (t.prototype.get = function (t) { + var e = this._map[t], + n = this._list; + if (null != e) return e !== n.tail && (n.remove(e), n.insertEntry(e)), e.value; + }), + (t.prototype.clear = function () { + this._list.clear(), (this._map = {}); + }), + (t.prototype.len = function () { + return this._list.len(); + }), + t + ); + })(), + zn = { + transparent: [0, 0, 0, 0], + aliceblue: [240, 248, 255, 1], + antiquewhite: [250, 235, 215, 1], + aqua: [0, 255, 255, 1], + aquamarine: [127, 255, 212, 1], + azure: [240, 255, 255, 1], + beige: [245, 245, 220, 1], + bisque: [255, 228, 196, 1], + black: [0, 0, 0, 1], + blanchedalmond: [255, 235, 205, 1], + blue: [0, 0, 255, 1], + blueviolet: [138, 43, 226, 1], + brown: [165, 42, 42, 1], + burlywood: [222, 184, 135, 1], + cadetblue: [95, 158, 160, 1], + chartreuse: [127, 255, 0, 1], + chocolate: [210, 105, 30, 1], + coral: [255, 127, 80, 1], + cornflowerblue: [100, 149, 237, 1], + cornsilk: [255, 248, 220, 1], + crimson: [220, 20, 60, 1], + cyan: [0, 255, 255, 1], + darkblue: [0, 0, 139, 1], + darkcyan: [0, 139, 139, 1], + darkgoldenrod: [184, 134, 11, 1], + darkgray: [169, 169, 169, 1], + darkgreen: [0, 100, 0, 1], + darkgrey: [169, 169, 169, 1], + darkkhaki: [189, 183, 107, 1], + darkmagenta: [139, 0, 139, 1], + darkolivegreen: [85, 107, 47, 1], + darkorange: [255, 140, 0, 1], + darkorchid: [153, 50, 204, 1], + darkred: [139, 0, 0, 1], + darksalmon: [233, 150, 122, 1], + darkseagreen: [143, 188, 143, 1], + darkslateblue: [72, 61, 139, 1], + darkslategray: [47, 79, 79, 1], + darkslategrey: [47, 79, 79, 1], + darkturquoise: [0, 206, 209, 1], + darkviolet: [148, 0, 211, 1], + deeppink: [255, 20, 147, 1], + deepskyblue: [0, 191, 255, 1], + dimgray: [105, 105, 105, 1], + dimgrey: [105, 105, 105, 1], + dodgerblue: [30, 144, 255, 1], + firebrick: [178, 34, 34, 1], + floralwhite: [255, 250, 240, 1], + forestgreen: [34, 139, 34, 1], + fuchsia: [255, 0, 255, 1], + gainsboro: [220, 220, 220, 1], + ghostwhite: [248, 248, 255, 1], + gold: [255, 215, 0, 1], + goldenrod: [218, 165, 32, 1], + gray: [128, 128, 128, 1], + green: [0, 128, 0, 1], + greenyellow: [173, 255, 47, 1], + grey: [128, 128, 128, 1], + honeydew: [240, 255, 240, 1], + hotpink: [255, 105, 180, 1], + indianred: [205, 92, 92, 1], + indigo: [75, 0, 130, 1], + ivory: [255, 255, 240, 1], + khaki: [240, 230, 140, 1], + lavender: [230, 230, 250, 1], + lavenderblush: [255, 240, 245, 1], + lawngreen: [124, 252, 0, 1], + lemonchiffon: [255, 250, 205, 1], + lightblue: [173, 216, 230, 1], + lightcoral: [240, 128, 128, 1], + lightcyan: [224, 255, 255, 1], + lightgoldenrodyellow: [250, 250, 210, 1], + lightgray: [211, 211, 211, 1], + lightgreen: [144, 238, 144, 1], + lightgrey: [211, 211, 211, 1], + lightpink: [255, 182, 193, 1], + lightsalmon: [255, 160, 122, 1], + lightseagreen: [32, 178, 170, 1], + lightskyblue: [135, 206, 250, 1], + lightslategray: [119, 136, 153, 1], + lightslategrey: [119, 136, 153, 1], + lightsteelblue: [176, 196, 222, 1], + lightyellow: [255, 255, 224, 1], + lime: [0, 255, 0, 1], + limegreen: [50, 205, 50, 1], + linen: [250, 240, 230, 1], + magenta: [255, 0, 255, 1], + maroon: [128, 0, 0, 1], + mediumaquamarine: [102, 205, 170, 1], + mediumblue: [0, 0, 205, 1], + mediumorchid: [186, 85, 211, 1], + mediumpurple: [147, 112, 219, 1], + mediumseagreen: [60, 179, 113, 1], + mediumslateblue: [123, 104, 238, 1], + mediumspringgreen: [0, 250, 154, 1], + mediumturquoise: [72, 209, 204, 1], + mediumvioletred: [199, 21, 133, 1], + midnightblue: [25, 25, 112, 1], + mintcream: [245, 255, 250, 1], + mistyrose: [255, 228, 225, 1], + moccasin: [255, 228, 181, 1], + navajowhite: [255, 222, 173, 1], + navy: [0, 0, 128, 1], + oldlace: [253, 245, 230, 1], + olive: [128, 128, 0, 1], + olivedrab: [107, 142, 35, 1], + orange: [255, 165, 0, 1], + orangered: [255, 69, 0, 1], + orchid: [218, 112, 214, 1], + palegoldenrod: [238, 232, 170, 1], + palegreen: [152, 251, 152, 1], + paleturquoise: [175, 238, 238, 1], + palevioletred: [219, 112, 147, 1], + papayawhip: [255, 239, 213, 1], + peachpuff: [255, 218, 185, 1], + peru: [205, 133, 63, 1], + pink: [255, 192, 203, 1], + plum: [221, 160, 221, 1], + powderblue: [176, 224, 230, 1], + purple: [128, 0, 128, 1], + red: [255, 0, 0, 1], + rosybrown: [188, 143, 143, 1], + royalblue: [65, 105, 225, 1], + saddlebrown: [139, 69, 19, 1], + salmon: [250, 128, 114, 1], + sandybrown: [244, 164, 96, 1], + seagreen: [46, 139, 87, 1], + seashell: [255, 245, 238, 1], + sienna: [160, 82, 45, 1], + silver: [192, 192, 192, 1], + skyblue: [135, 206, 235, 1], + slateblue: [106, 90, 205, 1], + slategray: [112, 128, 144, 1], + slategrey: [112, 128, 144, 1], + snow: [255, 250, 250, 1], + springgreen: [0, 255, 127, 1], + steelblue: [70, 130, 180, 1], + tan: [210, 180, 140, 1], + teal: [0, 128, 128, 1], + thistle: [216, 191, 216, 1], + tomato: [255, 99, 71, 1], + turquoise: [64, 224, 208, 1], + violet: [238, 130, 238, 1], + wheat: [245, 222, 179, 1], + white: [255, 255, 255, 1], + whitesmoke: [245, 245, 245, 1], + yellow: [255, 255, 0, 1], + yellowgreen: [154, 205, 50, 1], + }; + function Vn(t) { + return (t = Math.round(t)) < 0 ? 0 : t > 255 ? 255 : t; + } + function Bn(t) { + return t < 0 ? 0 : t > 1 ? 1 : t; + } + function Fn(t) { + var e = t; + return e.length && "%" === e.charAt(e.length - 1) ? Vn((parseFloat(e) / 100) * 255) : Vn(parseInt(e, 10)); + } + function Gn(t) { + var e = t; + return e.length && "%" === e.charAt(e.length - 1) ? Bn(parseFloat(e) / 100) : Bn(parseFloat(e)); + } + function Wn(t, e, n) { + return n < 0 ? (n += 1) : n > 1 && (n -= 1), 6 * n < 1 ? t + (e - t) * n * 6 : 2 * n < 1 ? e : 3 * n < 2 ? t + (e - t) * (2 / 3 - n) * 6 : t; + } + function Hn(t, e, n) { + return t + (e - t) * n; + } + function Yn(t, e, n, i, r) { + return (t[0] = e), (t[1] = n), (t[2] = i), (t[3] = r), t; + } + function Xn(t, e) { + return (t[0] = e[0]), (t[1] = e[1]), (t[2] = e[2]), (t[3] = e[3]), t; + } + var Un = new En(20), + Zn = null; + function jn(t, e) { + Zn && Xn(Zn, e), (Zn = Un.put(t, Zn || e.slice())); + } + function qn(t, e) { + if (t) { + e = e || []; + var n = Un.get(t); + if (n) return Xn(e, n); + var i = (t += "").replace(/ /g, "").toLowerCase(); + if (i in zn) return Xn(e, zn[i]), jn(t, e), e; + var r, + o = i.length; + if ("#" === i.charAt(0)) + return 4 === o || 5 === o + ? (r = parseInt(i.slice(1, 4), 16)) >= 0 && r <= 4095 + ? (Yn(e, ((3840 & r) >> 4) | ((3840 & r) >> 8), (240 & r) | ((240 & r) >> 4), (15 & r) | ((15 & r) << 4), 5 === o ? parseInt(i.slice(4), 16) / 15 : 1), jn(t, e), e) + : void Yn(e, 0, 0, 0, 1) + : 7 === o || 9 === o + ? (r = parseInt(i.slice(1, 7), 16)) >= 0 && r <= 16777215 + ? (Yn(e, (16711680 & r) >> 16, (65280 & r) >> 8, 255 & r, 9 === o ? parseInt(i.slice(7), 16) / 255 : 1), jn(t, e), e) + : void Yn(e, 0, 0, 0, 1) + : void 0; + var a = i.indexOf("("), + s = i.indexOf(")"); + if (-1 !== a && s + 1 === o) { + var l = i.substr(0, a), + u = i.substr(a + 1, s - (a + 1)).split(","), + h = 1; + switch (l) { + case "rgba": + if (4 !== u.length) return 3 === u.length ? Yn(e, +u[0], +u[1], +u[2], 1) : Yn(e, 0, 0, 0, 1); + h = Gn(u.pop()); + case "rgb": + return u.length >= 3 ? (Yn(e, Fn(u[0]), Fn(u[1]), Fn(u[2]), 3 === u.length ? h : Gn(u[3])), jn(t, e), e) : void Yn(e, 0, 0, 0, 1); + case "hsla": + return 4 !== u.length ? void Yn(e, 0, 0, 0, 1) : ((u[3] = Gn(u[3])), Kn(u, e), jn(t, e), e); + case "hsl": + return 3 !== u.length ? void Yn(e, 0, 0, 0, 1) : (Kn(u, e), jn(t, e), e); + default: + return; + } + } + Yn(e, 0, 0, 0, 1); + } + } + function Kn(t, e) { + var n = (((parseFloat(t[0]) % 360) + 360) % 360) / 360, + i = Gn(t[1]), + r = Gn(t[2]), + o = r <= 0.5 ? r * (i + 1) : r + i - r * i, + a = 2 * r - o; + return Yn((e = e || []), Vn(255 * Wn(a, o, n + 1 / 3)), Vn(255 * Wn(a, o, n)), Vn(255 * Wn(a, o, n - 1 / 3)), 1), 4 === t.length && (e[3] = t[3]), e; + } + function $n(t, e) { + var n = qn(t); + if (n) { + for (var i = 0; i < 3; i++) (n[i] = e < 0 ? (n[i] * (1 - e)) | 0 : ((255 - n[i]) * e + n[i]) | 0), n[i] > 255 ? (n[i] = 255) : n[i] < 0 && (n[i] = 0); + return ri(n, 4 === n.length ? "rgba" : "rgb"); + } + } + function Jn(t, e, n) { + if (e && e.length && t >= 0 && t <= 1) { + n = n || []; + var i = t * (e.length - 1), + r = Math.floor(i), + o = Math.ceil(i), + a = e[r], + s = e[o], + l = i - r; + return (n[0] = Vn(Hn(a[0], s[0], l))), (n[1] = Vn(Hn(a[1], s[1], l))), (n[2] = Vn(Hn(a[2], s[2], l))), (n[3] = Bn(Hn(a[3], s[3], l))), n; + } + } + var Qn = Jn; + function ti(t, e, n) { + if (e && e.length && t >= 0 && t <= 1) { + var i = t * (e.length - 1), + r = Math.floor(i), + o = Math.ceil(i), + a = qn(e[r]), + s = qn(e[o]), + l = i - r, + u = ri([Vn(Hn(a[0], s[0], l)), Vn(Hn(a[1], s[1], l)), Vn(Hn(a[2], s[2], l)), Bn(Hn(a[3], s[3], l))], "rgba"); + return n ? { color: u, leftIndex: r, rightIndex: o, value: i } : u; + } + } + var ei = ti; + function ni(t, e, n, i) { + var r = qn(t); + if (t) + return ( + (r = (function (t) { + if (t) { + var e, + n, + i = t[0] / 255, + r = t[1] / 255, + o = t[2] / 255, + a = Math.min(i, r, o), + s = Math.max(i, r, o), + l = s - a, + u = (s + a) / 2; + if (0 === l) (e = 0), (n = 0); + else { + n = u < 0.5 ? l / (s + a) : l / (2 - s - a); + var h = ((s - i) / 6 + l / 2) / l, + c = ((s - r) / 6 + l / 2) / l, + p = ((s - o) / 6 + l / 2) / l; + i === s ? (e = p - c) : r === s ? (e = 1 / 3 + h - p) : o === s && (e = 2 / 3 + c - h), e < 0 && (e += 1), e > 1 && (e -= 1); + } + var d = [360 * e, n, u]; + return null != t[3] && d.push(t[3]), d; + } + })(r)), + null != e && + (r[0] = (function (t) { + return (t = Math.round(t)) < 0 ? 0 : t > 360 ? 360 : t; + })(e)), + null != n && (r[1] = Gn(n)), + null != i && (r[2] = Gn(i)), + ri(Kn(r), "rgba") + ); + } + function ii(t, e) { + var n = qn(t); + if (n && null != e) return (n[3] = Bn(e)), ri(n, "rgba"); + } + function ri(t, e) { + if (t && t.length) { + var n = t[0] + "," + t[1] + "," + t[2]; + return ("rgba" !== e && "hsva" !== e && "hsla" !== e) || (n += "," + t[3]), e + "(" + n + ")"; + } + } + function oi(t, e) { + var n = qn(t); + return n ? ((0.299 * n[0] + 0.587 * n[1] + 0.114 * n[2]) * n[3]) / 255 + (1 - n[3]) * e : 0; + } + var ai = new En(100); + function si(t) { + if (U(t)) { + var e = ai.get(t); + return e || ((e = $n(t, -0.1)), ai.put(t, e)), e; + } + if (Q(t)) { + var n = A({}, t); + return ( + (n.colorStops = z(t.colorStops, function (t) { + return { offset: t.offset, color: $n(t.color, -0.1) }; + })), + n + ); + } + return t; + } + var li = Object.freeze({ + __proto__: null, + parse: qn, + lift: $n, + toHex: function (t) { + var e = qn(t); + if (e) return ((1 << 24) + (e[0] << 16) + (e[1] << 8) + +e[2]).toString(16).slice(1); + }, + fastLerp: Jn, + fastMapToColor: Qn, + lerp: ti, + mapToColor: ei, + modifyHSL: ni, + modifyAlpha: ii, + stringify: ri, + lum: oi, + random: function () { + return ri([Math.round(255 * Math.random()), Math.round(255 * Math.random()), Math.round(255 * Math.random())], "rgb"); + }, + liftColor: si, + }), + ui = Math.round; + function hi(t) { + var e; + if (t && "transparent" !== t) { + if ("string" == typeof t && t.indexOf("rgba") > -1) { + var n = qn(t); + n && ((t = "rgb(" + n[0] + "," + n[1] + "," + n[2] + ")"), (e = n[3])); + } + } else t = "none"; + return { color: t, opacity: null == e ? 1 : e }; + } + var ci = 1e-4; + function pi(t) { + return t < ci && t > -1e-4; + } + function di(t) { + return ui(1e3 * t) / 1e3; + } + function fi(t) { + return ui(1e4 * t) / 1e4; + } + var gi = { left: "start", right: "end", center: "middle", middle: "middle" }; + function yi(t) { + return t && !!t.image; + } + function vi(t) { + return ( + yi(t) || + (function (t) { + return t && !!t.svgElement; + })(t) + ); + } + function mi(t) { + return "linear" === t.type; + } + function xi(t) { + return "radial" === t.type; + } + function _i(t) { + return t && ("linear" === t.type || "radial" === t.type); + } + function bi(t) { + return "url(#" + t + ")"; + } + function wi(t) { + var e = t.getGlobalScale(), + n = Math.max(e[0], e[1]); + return Math.max(Math.ceil(Math.log(n) / Math.log(10)), 1); + } + function Si(t) { + var e = t.x || 0, + n = t.y || 0, + i = (t.rotation || 0) * wt, + r = rt(t.scaleX, 1), + o = rt(t.scaleY, 1), + a = t.skewX || 0, + s = t.skewY || 0, + l = []; + return ( + (e || n) && l.push("translate(" + e + "px," + n + "px)"), + i && l.push("rotate(" + i + ")"), + (1 === r && 1 === o) || l.push("scale(" + r + "," + o + ")"), + (a || s) && l.push("skew(" + ui(a * wt) + "deg, " + ui(s * wt) + "deg)"), + l.join(" ") + ); + } + var Mi = + r.hasGlobalWindow && X(window.btoa) + ? function (t) { + return window.btoa(unescape(encodeURIComponent(t))); + } + : "undefined" != typeof Buffer + ? function (t) { + return Buffer.from(t).toString("base64"); + } + : function (t) { + return null; + }, + Ii = Array.prototype.slice; + function Ti(t, e, n) { + return (e - t) * n + t; + } + function Ci(t, e, n, i) { + for (var r = e.length, o = 0; o < r; o++) t[o] = Ti(e[o], n[o], i); + return t; + } + function Di(t, e, n, i) { + for (var r = e.length, o = 0; o < r; o++) t[o] = e[o] + n[o] * i; + return t; + } + function Ai(t, e, n, i) { + for (var r = e.length, o = r && e[0].length, a = 0; a < r; a++) { + t[a] || (t[a] = []); + for (var s = 0; s < o; s++) t[a][s] = e[a][s] + n[a][s] * i; + } + return t; + } + function ki(t, e) { + for (var n = t.length, i = e.length, r = n > i ? e : t, o = Math.min(n, i), a = r[o - 1] || { color: [0, 0, 0, 0], offset: 0 }, s = o; s < Math.max(n, i); s++) r.push({ offset: a.offset, color: a.color.slice() }); + } + function Li(t, e, n) { + var i = t, + r = e; + if (i.push && r.push) { + var o = i.length, + a = r.length; + if (o !== a) + if (o > a) i.length = a; + else for (var s = o; s < a; s++) i.push(1 === n ? r[s] : Ii.call(r[s])); + var l = i[0] && i[0].length; + for (s = 0; s < i.length; s++) + if (1 === n) isNaN(i[s]) && (i[s] = r[s]); + else for (var u = 0; u < l; u++) isNaN(i[s][u]) && (i[s][u] = r[s][u]); + } + } + function Pi(t) { + if (N(t)) { + var e = t.length; + if (N(t[0])) { + for (var n = [], i = 0; i < e; i++) n.push(Ii.call(t[i])); + return n; + } + return Ii.call(t); + } + return t; + } + function Oi(t) { + return (t[0] = Math.floor(t[0]) || 0), (t[1] = Math.floor(t[1]) || 0), (t[2] = Math.floor(t[2]) || 0), (t[3] = null == t[3] ? 1 : t[3]), "rgba(" + t.join(",") + ")"; + } + function Ri(t) { + return 4 === t || 5 === t; + } + function Ni(t) { + return 1 === t || 2 === t; + } + var Ei = [0, 0, 0, 0], + zi = (function () { + function t(t) { + (this.keyframes = []), (this.discrete = !1), (this._invalid = !1), (this._needsSort = !1), (this._lastFr = 0), (this._lastFrP = 0), (this.propName = t); + } + return ( + (t.prototype.isFinished = function () { + return this._finished; + }), + (t.prototype.setFinished = function () { + (this._finished = !0), this._additiveTrack && this._additiveTrack.setFinished(); + }), + (t.prototype.needsAnimate = function () { + return this.keyframes.length >= 1; + }), + (t.prototype.getAdditiveTrack = function () { + return this._additiveTrack; + }), + (t.prototype.addKeyframe = function (t, e, n) { + this._needsSort = !0; + var i = this.keyframes, + r = i.length, + o = !1, + a = 6, + s = e; + if (N(e)) { + var l = (function (t) { + return N(t && t[0]) ? 2 : 1; + })(e); + (a = l), ((1 === l && !j(e[0])) || (2 === l && !j(e[0][0]))) && (o = !0); + } else if (j(e) && !nt(e)) a = 0; + else if (U(e)) + if (isNaN(+e)) { + var u = qn(e); + u && ((s = u), (a = 3)); + } else a = 0; + else if (Q(e)) { + var h = A({}, s); + (h.colorStops = z(e.colorStops, function (t) { + return { offset: t.offset, color: qn(t.color) }; + })), + mi(e) ? (a = 4) : xi(e) && (a = 5), + (s = h); + } + 0 === r ? (this.valType = a) : (a === this.valType && 6 !== a) || (o = !0), (this.discrete = this.discrete || o); + var c = { time: t, value: s, rawValue: e, percent: 0 }; + return n && ((c.easing = n), (c.easingFunc = X(n) ? n : an[n] || Pn(n))), i.push(c), c; + }), + (t.prototype.prepare = function (t, e) { + var n = this.keyframes; + this._needsSort && + n.sort(function (t, e) { + return t.time - e.time; + }); + for (var i = this.valType, r = n.length, o = n[r - 1], a = this.discrete, s = Ni(i), l = Ri(i), u = 0; u < r; u++) { + var h = n[u], + c = h.value, + p = o.value; + (h.percent = h.time / t), a || (s && u !== r - 1 ? Li(c, p, i) : l && ki(c.colorStops, p.colorStops)); + } + if (!a && 5 !== i && e && this.needsAnimate() && e.needsAnimate() && i === e.valType && !e._finished) { + this._additiveTrack = e; + var d = n[0].value; + for (u = 0; u < r; u++) + 0 === i ? (n[u].additiveValue = n[u].value - d) : 3 === i ? (n[u].additiveValue = Di([], n[u].value, d, -1)) : Ni(i) && (n[u].additiveValue = 1 === i ? Di([], n[u].value, d, -1) : Ai([], n[u].value, d, -1)); + } + }), + (t.prototype.step = function (t, e) { + if (!this._finished) { + this._additiveTrack && this._additiveTrack._finished && (this._additiveTrack = null); + var n, + i, + r, + o = null != this._additiveTrack, + a = o ? "additiveValue" : "value", + s = this.valType, + l = this.keyframes, + u = l.length, + h = this.propName, + c = 3 === s, + p = this._lastFr, + d = Math.min; + if (1 === u) i = r = l[0]; + else { + if (e < 0) n = 0; + else if (e < this._lastFrP) { + for (n = d(p + 1, u - 1); n >= 0 && !(l[n].percent <= e); n--); + n = d(n, u - 2); + } else { + for (n = p; n < u && !(l[n].percent > e); n++); + n = d(n - 1, u - 2); + } + (r = l[n + 1]), (i = l[n]); + } + if (i && r) { + (this._lastFr = n), (this._lastFrP = e); + var f = r.percent - i.percent, + g = 0 === f ? 1 : d((e - i.percent) / f, 1); + r.easingFunc && (g = r.easingFunc(g)); + var y = o ? this._additiveValue : c ? Ei : t[h]; + if (((!Ni(s) && !c) || y || (y = this._additiveValue = []), this.discrete)) t[h] = g < 1 ? i.rawValue : r.rawValue; + else if (Ni(s)) + 1 === s + ? Ci(y, i[a], r[a], g) + : (function (t, e, n, i) { + for (var r = e.length, o = r && e[0].length, a = 0; a < r; a++) { + t[a] || (t[a] = []); + for (var s = 0; s < o; s++) t[a][s] = Ti(e[a][s], n[a][s], i); + } + })(y, i[a], r[a], g); + else if (Ri(s)) { + var v = i[a], + m = r[a], + x = 4 === s; + (t[h] = { + type: x ? "linear" : "radial", + x: Ti(v.x, m.x, g), + y: Ti(v.y, m.y, g), + colorStops: z(v.colorStops, function (t, e) { + var n = m.colorStops[e]; + return { offset: Ti(t.offset, n.offset, g), color: Oi(Ci([], t.color, n.color, g)) }; + }), + global: m.global, + }), + x ? ((t[h].x2 = Ti(v.x2, m.x2, g)), (t[h].y2 = Ti(v.y2, m.y2, g))) : (t[h].r = Ti(v.r, m.r, g)); + } else if (c) Ci(y, i[a], r[a], g), o || (t[h] = Oi(y)); + else { + var _ = Ti(i[a], r[a], g); + o ? (this._additiveValue = _) : (t[h] = _); + } + o && this._addToTarget(t); + } + } + }), + (t.prototype._addToTarget = function (t) { + var e = this.valType, + n = this.propName, + i = this._additiveValue; + 0 === e ? (t[n] = t[n] + i) : 3 === e ? (qn(t[n], Ei), Di(Ei, Ei, i, 1), (t[n] = Oi(Ei))) : 1 === e ? Di(t[n], t[n], i, 1) : 2 === e && Ai(t[n], t[n], i, 1); + }), + t + ); + })(), + Vi = (function () { + function t(t, e, n, i) { + (this._tracks = {}), + (this._trackKeys = []), + (this._maxTime = 0), + (this._started = 0), + (this._clip = null), + (this._target = t), + (this._loop = e), + e && i ? I("Can' use additive animation on looped animation.") : ((this._additiveAnimators = i), (this._allowDiscrete = n)); + } + return ( + (t.prototype.getMaxTime = function () { + return this._maxTime; + }), + (t.prototype.getDelay = function () { + return this._delay; + }), + (t.prototype.getLoop = function () { + return this._loop; + }), + (t.prototype.getTarget = function () { + return this._target; + }), + (t.prototype.changeTarget = function (t) { + this._target = t; + }), + (t.prototype.when = function (t, e, n) { + return this.whenWithKeys(t, e, G(e), n); + }), + (t.prototype.whenWithKeys = function (t, e, n, i) { + for (var r = this._tracks, o = 0; o < n.length; o++) { + var a = n[o], + s = r[a]; + if (!s) { + s = r[a] = new zi(a); + var l = void 0, + u = this._getAdditiveTrack(a); + if (u) { + var h = u.keyframes, + c = h[h.length - 1]; + (l = c && c.value), 3 === u.valType && l && (l = Oi(l)); + } else l = this._target[a]; + if (null == l) continue; + t > 0 && s.addKeyframe(0, Pi(l), i), this._trackKeys.push(a); + } + s.addKeyframe(t, Pi(e[a]), i); + } + return (this._maxTime = Math.max(this._maxTime, t)), this; + }), + (t.prototype.pause = function () { + this._clip.pause(), (this._paused = !0); + }), + (t.prototype.resume = function () { + this._clip.resume(), (this._paused = !1); + }), + (t.prototype.isPaused = function () { + return !!this._paused; + }), + (t.prototype.duration = function (t) { + return (this._maxTime = t), (this._force = !0), this; + }), + (t.prototype._doneCallback = function () { + this._setTracksFinished(), (this._clip = null); + var t = this._doneCbs; + if (t) for (var e = t.length, n = 0; n < e; n++) t[n].call(this); + }), + (t.prototype._abortedCallback = function () { + this._setTracksFinished(); + var t = this.animation, + e = this._abortedCbs; + if ((t && t.removeClip(this._clip), (this._clip = null), e)) for (var n = 0; n < e.length; n++) e[n].call(this); + }), + (t.prototype._setTracksFinished = function () { + for (var t = this._tracks, e = this._trackKeys, n = 0; n < e.length; n++) t[e[n]].setFinished(); + }), + (t.prototype._getAdditiveTrack = function (t) { + var e, + n = this._additiveAnimators; + if (n) + for (var i = 0; i < n.length; i++) { + var r = n[i].getTrack(t); + r && (e = r); + } + return e; + }), + (t.prototype.start = function (t) { + if (!(this._started > 0)) { + this._started = 1; + for (var e = this, n = [], i = this._maxTime || 0, r = 0; r < this._trackKeys.length; r++) { + var o = this._trackKeys[r], + a = this._tracks[o], + s = this._getAdditiveTrack(o), + l = a.keyframes, + u = l.length; + if ((a.prepare(i, s), a.needsAnimate())) + if (!this._allowDiscrete && a.discrete) { + var h = l[u - 1]; + h && (e._target[a.propName] = h.rawValue), a.setFinished(); + } else n.push(a); + } + if (n.length || this._force) { + var c = new On({ + life: i, + loop: this._loop, + delay: this._delay || 0, + onframe: function (t) { + e._started = 2; + var i = e._additiveAnimators; + if (i) { + for (var r = !1, o = 0; o < i.length; o++) + if (i[o]._clip) { + r = !0; + break; + } + r || (e._additiveAnimators = null); + } + for (o = 0; o < n.length; o++) n[o].step(e._target, t); + var a = e._onframeCbs; + if (a) for (o = 0; o < a.length; o++) a[o](e._target, t); + }, + ondestroy: function () { + e._doneCallback(); + }, + }); + (this._clip = c), this.animation && this.animation.addClip(c), t && c.setEasing(t); + } else this._doneCallback(); + return this; + } + }), + (t.prototype.stop = function (t) { + if (this._clip) { + var e = this._clip; + t && e.onframe(1), this._abortedCallback(); + } + }), + (t.prototype.delay = function (t) { + return (this._delay = t), this; + }), + (t.prototype.during = function (t) { + return t && (this._onframeCbs || (this._onframeCbs = []), this._onframeCbs.push(t)), this; + }), + (t.prototype.done = function (t) { + return t && (this._doneCbs || (this._doneCbs = []), this._doneCbs.push(t)), this; + }), + (t.prototype.aborted = function (t) { + return t && (this._abortedCbs || (this._abortedCbs = []), this._abortedCbs.push(t)), this; + }), + (t.prototype.getClip = function () { + return this._clip; + }), + (t.prototype.getTrack = function (t) { + return this._tracks[t]; + }), + (t.prototype.getTracks = function () { + var t = this; + return z(this._trackKeys, function (e) { + return t._tracks[e]; + }); + }), + (t.prototype.stopTracks = function (t, e) { + if (!t.length || !this._clip) return !0; + for (var n = this._tracks, i = this._trackKeys, r = 0; r < t.length; r++) { + var o = n[t[r]]; + o && !o.isFinished() && (e ? o.step(this._target, 1) : 1 === this._started && o.step(this._target, 0), o.setFinished()); + } + var a = !0; + for (r = 0; r < i.length; r++) + if (!n[i[r]].isFinished()) { + a = !1; + break; + } + return a && this._abortedCallback(), a; + }), + (t.prototype.saveTo = function (t, e, n) { + if (t) { + e = e || this._trackKeys; + for (var i = 0; i < e.length; i++) { + var r = e[i], + o = this._tracks[r]; + if (o && !o.isFinished()) { + var a = o.keyframes, + s = a[n ? 0 : a.length - 1]; + s && (t[r] = Pi(s.rawValue)); + } + } + } + }), + (t.prototype.__changeFinalValue = function (t, e) { + e = e || G(t); + for (var n = 0; n < e.length; n++) { + var i = e[n], + r = this._tracks[i]; + if (r) { + var o = r.keyframes; + if (o.length > 1) { + var a = o.pop(); + r.addKeyframe(a.time, t[i]), r.prepare(this._maxTime, r.getAdditiveTrack()); + } + } + } + }), + t + ); + })(); + function Bi() { + return new Date().getTime(); + } + var Fi, + Gi, + Wi = (function (t) { + function e(e) { + var n = t.call(this) || this; + return (n._running = !1), (n._time = 0), (n._pausedTime = 0), (n._pauseStart = 0), (n._paused = !1), (e = e || {}), (n.stage = e.stage || {}), n; + } + return ( + n(e, t), + (e.prototype.addClip = function (t) { + t.animation && this.removeClip(t), this._head ? ((this._tail.next = t), (t.prev = this._tail), (t.next = null), (this._tail = t)) : (this._head = this._tail = t), (t.animation = this); + }), + (e.prototype.addAnimator = function (t) { + t.animation = this; + var e = t.getClip(); + e && this.addClip(e); + }), + (e.prototype.removeClip = function (t) { + if (t.animation) { + var e = t.prev, + n = t.next; + e ? (e.next = n) : (this._head = n), n ? (n.prev = e) : (this._tail = e), (t.next = t.prev = t.animation = null); + } + }), + (e.prototype.removeAnimator = function (t) { + var e = t.getClip(); + e && this.removeClip(e), (t.animation = null); + }), + (e.prototype.update = function (t) { + for (var e = Bi() - this._pausedTime, n = e - this._time, i = this._head; i; ) { + var r = i.next; + i.step(e, n) ? (i.ondestroy(), this.removeClip(i), (i = r)) : (i = r); + } + (this._time = e), t || (this.trigger("frame", n), this.stage.update && this.stage.update()); + }), + (e.prototype._startLoop = function () { + var t = this; + (this._running = !0), + on(function e() { + t._running && (on(e), !t._paused && t.update()); + }); + }), + (e.prototype.start = function () { + this._running || ((this._time = Bi()), (this._pausedTime = 0), this._startLoop()); + }), + (e.prototype.stop = function () { + this._running = !1; + }), + (e.prototype.pause = function () { + this._paused || ((this._pauseStart = Bi()), (this._paused = !0)); + }), + (e.prototype.resume = function () { + this._paused && ((this._pausedTime += Bi() - this._pauseStart), (this._paused = !1)); + }), + (e.prototype.clear = function () { + for (var t = this._head; t; ) { + var e = t.next; + (t.prev = t.next = t.animation = null), (t = e); + } + this._head = this._tail = null; + }), + (e.prototype.isFinished = function () { + return null == this._head; + }), + (e.prototype.animate = function (t, e) { + (e = e || {}), this.start(); + var n = new Vi(t, e.loop); + return this.addAnimator(n), n; + }), + e + ); + })(jt), + Hi = r.domSupported, + Yi = + ((Gi = { pointerdown: 1, pointerup: 1, pointermove: 1, pointerout: 1 }), + { + mouse: (Fi = ["click", "dblclick", "mousewheel", "wheel", "mouseout", "mouseup", "mousedown", "mousemove", "contextmenu"]), + touch: ["touchstart", "touchend", "touchmove"], + pointer: z(Fi, function (t) { + var e = t.replace("mouse", "pointer"); + return Gi.hasOwnProperty(e) ? e : t; + }), + }), + Xi = ["mousemove", "mouseup"], + Ui = ["pointermove", "pointerup"], + Zi = !1; + function ji(t) { + var e = t.pointerType; + return "pen" === e || "touch" === e; + } + function qi(t) { + t && (t.zrByTouch = !0); + } + function Ki(t, e) { + for (var n = e, i = !1; n && 9 !== n.nodeType && !(i = n.domBelongToZr || (n !== e && n === t.painterRoot)); ) n = n.parentNode; + return i; + } + var $i = function (t, e) { + (this.stopPropagation = bt), + (this.stopImmediatePropagation = bt), + (this.preventDefault = bt), + (this.type = e.type), + (this.target = this.currentTarget = t.dom), + (this.pointerType = e.pointerType), + (this.clientX = e.clientX), + (this.clientY = e.clientY); + }, + Ji = { + mousedown: function (t) { + (t = ce(this.dom, t)), (this.__mayPointerCapture = [t.zrX, t.zrY]), this.trigger("mousedown", t); + }, + mousemove: function (t) { + t = ce(this.dom, t); + var e = this.__mayPointerCapture; + !e || (t.zrX === e[0] && t.zrY === e[1]) || this.__togglePointerCapture(!0), this.trigger("mousemove", t); + }, + mouseup: function (t) { + (t = ce(this.dom, t)), this.__togglePointerCapture(!1), this.trigger("mouseup", t); + }, + mouseout: function (t) { + Ki(this, (t = ce(this.dom, t)).toElement || t.relatedTarget) || (this.__pointerCapturing && (t.zrEventControl = "no_globalout"), this.trigger("mouseout", t)); + }, + wheel: function (t) { + (Zi = !0), (t = ce(this.dom, t)), this.trigger("mousewheel", t); + }, + mousewheel: function (t) { + Zi || ((t = ce(this.dom, t)), this.trigger("mousewheel", t)); + }, + touchstart: function (t) { + qi((t = ce(this.dom, t))), (this.__lastTouchMoment = new Date()), this.handler.processGesture(t, "start"), Ji.mousemove.call(this, t), Ji.mousedown.call(this, t); + }, + touchmove: function (t) { + qi((t = ce(this.dom, t))), this.handler.processGesture(t, "change"), Ji.mousemove.call(this, t); + }, + touchend: function (t) { + qi((t = ce(this.dom, t))), this.handler.processGesture(t, "end"), Ji.mouseup.call(this, t), +new Date() - +this.__lastTouchMoment < 300 && Ji.click.call(this, t); + }, + pointerdown: function (t) { + Ji.mousedown.call(this, t); + }, + pointermove: function (t) { + ji(t) || Ji.mousemove.call(this, t); + }, + pointerup: function (t) { + Ji.mouseup.call(this, t); + }, + pointerout: function (t) { + ji(t) || Ji.mouseout.call(this, t); + }, + }; + E(["click", "dblclick", "contextmenu"], function (t) { + Ji[t] = function (e) { + (e = ce(this.dom, e)), this.trigger(t, e); + }; + }); + var Qi = { + pointermove: function (t) { + ji(t) || Qi.mousemove.call(this, t); + }, + pointerup: function (t) { + Qi.mouseup.call(this, t); + }, + mousemove: function (t) { + this.trigger("mousemove", t); + }, + mouseup: function (t) { + var e = this.__pointerCapturing; + this.__togglePointerCapture(!1), this.trigger("mouseup", t), e && ((t.zrEventControl = "only_globalout"), this.trigger("mouseout", t)); + }, + }; + function tr(t, e) { + var n = e.domHandlers; + r.pointerEventsSupported + ? E(Yi.pointer, function (i) { + nr(e, i, function (e) { + n[i].call(t, e); + }); + }) + : (r.touchEventsSupported && + E(Yi.touch, function (i) { + nr(e, i, function (r) { + n[i].call(t, r), + (function (t) { + (t.touching = !0), + null != t.touchTimer && (clearTimeout(t.touchTimer), (t.touchTimer = null)), + (t.touchTimer = setTimeout(function () { + (t.touching = !1), (t.touchTimer = null); + }, 700)); + })(e); + }); + }), + E(Yi.mouse, function (i) { + nr(e, i, function (r) { + (r = he(r)), e.touching || n[i].call(t, r); + }); + })); + } + function er(t, e) { + function n(n) { + nr( + e, + n, + function (i) { + (i = he(i)), + Ki(t, i.target) || + ((i = (function (t, e) { + return ce(t.dom, new $i(t, e), !0); + })(t, i)), + e.domHandlers[n].call(t, i)); + }, + { capture: !0 } + ); + } + r.pointerEventsSupported ? E(Ui, n) : r.touchEventsSupported || E(Xi, n); + } + function nr(t, e, n, i) { + (t.mounted[e] = n), (t.listenerOpts[e] = i), pe(t.domTarget, e, n, i); + } + function ir(t) { + var e, + n, + i, + r, + o = t.mounted; + for (var a in o) o.hasOwnProperty(a) && ((e = t.domTarget), (n = a), (i = o[a]), (r = t.listenerOpts[a]), e.removeEventListener(n, i, r)); + t.mounted = {}; + } + var rr = function (t, e) { + (this.mounted = {}), (this.listenerOpts = {}), (this.touching = !1), (this.domTarget = t), (this.domHandlers = e); + }, + or = (function (t) { + function e(e, n) { + var i = t.call(this) || this; + return (i.__pointerCapturing = !1), (i.dom = e), (i.painterRoot = n), (i._localHandlerScope = new rr(e, Ji)), Hi && (i._globalHandlerScope = new rr(document, Qi)), tr(i, i._localHandlerScope), i; + } + return ( + n(e, t), + (e.prototype.dispose = function () { + ir(this._localHandlerScope), Hi && ir(this._globalHandlerScope); + }), + (e.prototype.setCursor = function (t) { + this.dom.style && (this.dom.style.cursor = t || "default"); + }), + (e.prototype.__togglePointerCapture = function (t) { + if (((this.__mayPointerCapture = null), Hi && +this.__pointerCapturing ^ +t)) { + this.__pointerCapturing = t; + var e = this._globalHandlerScope; + t ? er(this, e) : ir(e); + } + }), + e + ); + })(jt), + ar = 1; + r.hasGlobalWindow && (ar = Math.max(window.devicePixelRatio || (window.screen && window.screen.deviceXDPI / window.screen.logicalXDPI) || 1, 1)); + var sr = ar, + lr = "#333", + ur = "#ccc", + hr = xe, + cr = 5e-5; + function pr(t) { + return t > cr || t < -5e-5; + } + var dr = [], + fr = [], + gr = [1, 0, 0, 1, 0, 0], + yr = Math.abs, + vr = (function () { + function t() {} + return ( + (t.prototype.getLocalTransform = function (e) { + return t.getLocalTransform(this, e); + }), + (t.prototype.setPosition = function (t) { + (this.x = t[0]), (this.y = t[1]); + }), + (t.prototype.setScale = function (t) { + (this.scaleX = t[0]), (this.scaleY = t[1]); + }), + (t.prototype.setSkew = function (t) { + (this.skewX = t[0]), (this.skewY = t[1]); + }), + (t.prototype.setOrigin = function (t) { + (this.originX = t[0]), (this.originY = t[1]); + }), + (t.prototype.needLocalTransform = function () { + return pr(this.rotation) || pr(this.x) || pr(this.y) || pr(this.scaleX - 1) || pr(this.scaleY - 1) || pr(this.skewX) || pr(this.skewY); + }), + (t.prototype.updateTransform = function () { + var t = this.parent && this.parent.transform, + e = this.needLocalTransform(), + n = this.transform; + e || t ? ((n = n || [1, 0, 0, 1, 0, 0]), e ? this.getLocalTransform(n) : hr(n), t && (e ? be(n, t, n) : _e(n, t)), (this.transform = n), this._resolveGlobalScaleRatio(n)) : n && (hr(n), (this.invTransform = null)); + }), + (t.prototype._resolveGlobalScaleRatio = function (t) { + var e = this.globalScaleRatio; + if (null != e && 1 !== e) { + this.getGlobalScale(dr); + var n = dr[0] < 0 ? -1 : 1, + i = dr[1] < 0 ? -1 : 1, + r = ((dr[0] - n) * e + n) / dr[0] || 0, + o = ((dr[1] - i) * e + i) / dr[1] || 0; + (t[0] *= r), (t[1] *= r), (t[2] *= o), (t[3] *= o); + } + (this.invTransform = this.invTransform || [1, 0, 0, 1, 0, 0]), Ie(this.invTransform, t); + }), + (t.prototype.getComputedTransform = function () { + for (var t = this, e = []; t; ) e.push(t), (t = t.parent); + for (; (t = e.pop()); ) t.updateTransform(); + return this.transform; + }), + (t.prototype.setLocalTransform = function (t) { + if (t) { + var e = t[0] * t[0] + t[1] * t[1], + n = t[2] * t[2] + t[3] * t[3], + i = Math.atan2(t[1], t[0]), + r = Math.PI / 2 + i - Math.atan2(t[3], t[2]); + (n = Math.sqrt(n) * Math.cos(r)), (e = Math.sqrt(e)), (this.skewX = r), (this.skewY = 0), (this.rotation = -i), (this.x = +t[4]), (this.y = +t[5]), (this.scaleX = e), (this.scaleY = n), (this.originX = 0), (this.originY = 0); + } + }), + (t.prototype.decomposeTransform = function () { + if (this.transform) { + var t = this.parent, + e = this.transform; + t && t.transform && ((t.invTransform = t.invTransform || [1, 0, 0, 1, 0, 0]), be(fr, t.invTransform, e), (e = fr)); + var n = this.originX, + i = this.originY; + (n || i) && ((gr[4] = n), (gr[5] = i), be(fr, e, gr), (fr[4] -= n), (fr[5] -= i), (e = fr)), this.setLocalTransform(e); + } + }), + (t.prototype.getGlobalScale = function (t) { + var e = this.transform; + return (t = t || []), e ? ((t[0] = Math.sqrt(e[0] * e[0] + e[1] * e[1])), (t[1] = Math.sqrt(e[2] * e[2] + e[3] * e[3])), e[0] < 0 && (t[0] = -t[0]), e[3] < 0 && (t[1] = -t[1]), t) : ((t[0] = 1), (t[1] = 1), t); + }), + (t.prototype.transformCoordToLocal = function (t, e) { + var n = [t, e], + i = this.invTransform; + return i && Wt(n, n, i), n; + }), + (t.prototype.transformCoordToGlobal = function (t, e) { + var n = [t, e], + i = this.transform; + return i && Wt(n, n, i), n; + }), + (t.prototype.getLineScale = function () { + var t = this.transform; + return t && yr(t[0] - 1) > 1e-10 && yr(t[3] - 1) > 1e-10 ? Math.sqrt(yr(t[0] * t[3] - t[2] * t[1])) : 1; + }), + (t.prototype.copyTransform = function (t) { + xr(this, t); + }), + (t.getLocalTransform = function (t, e) { + e = e || []; + var n = t.originX || 0, + i = t.originY || 0, + r = t.scaleX, + o = t.scaleY, + a = t.anchorX, + s = t.anchorY, + l = t.rotation || 0, + u = t.x, + h = t.y, + c = t.skewX ? Math.tan(t.skewX) : 0, + p = t.skewY ? Math.tan(-t.skewY) : 0; + if (n || i || a || s) { + var d = n + a, + f = i + s; + (e[4] = -d * r - c * f * o), (e[5] = -f * o - p * d * r); + } else e[4] = e[5] = 0; + return (e[0] = r), (e[3] = o), (e[1] = p * r), (e[2] = c * o), l && Se(e, e, l), (e[4] += n + u), (e[5] += i + h), e; + }), + (t.initDefaultProps = (function () { + var e = t.prototype; + (e.scaleX = e.scaleY = e.globalScaleRatio = 1), (e.x = e.y = e.originX = e.originY = e.skewX = e.skewY = e.rotation = e.anchorX = e.anchorY = 0); + })()), + t + ); + })(), + mr = ["x", "y", "originX", "originY", "anchorX", "anchorY", "rotation", "scaleX", "scaleY", "skewX", "skewY"]; + function xr(t, e) { + for (var n = 0; n < mr.length; n++) { + var i = mr[n]; + t[i] = e[i]; + } + } + var _r = {}; + function br(t, e) { + var n = _r[(e = e || a)]; + n || (n = _r[e] = new En(500)); + var i = n.get(t); + return null == i && ((i = h.measureText(t, e).width), n.put(t, i)), i; + } + function wr(t, e, n, i) { + var r = br(t, e), + o = Tr(e), + a = Mr(0, r, n), + s = Ir(0, o, i); + return new ze(a, s, r, o); + } + function Sr(t, e, n, i) { + var r = ((t || "") + "").split("\n"); + if (1 === r.length) return wr(r[0], e, n, i); + for (var o = new ze(0, 0, 0, 0), a = 0; a < r.length; a++) { + var s = wr(r[a], e, n, i); + 0 === a ? o.copy(s) : o.union(s); + } + return o; + } + function Mr(t, e, n) { + return "right" === n ? (t -= e) : "center" === n && (t -= e / 2), t; + } + function Ir(t, e, n) { + return "middle" === n ? (t -= e / 2) : "bottom" === n && (t -= e), t; + } + function Tr(t) { + return br("国", t); + } + function Cr(t, e) { + return "string" == typeof t ? (t.lastIndexOf("%") >= 0 ? (parseFloat(t) / 100) * e : parseFloat(t)) : t; + } + function Dr(t, e, n) { + var i = e.position || "inside", + r = null != e.distance ? e.distance : 5, + o = n.height, + a = n.width, + s = o / 2, + l = n.x, + u = n.y, + h = "left", + c = "top"; + if (i instanceof Array) (l += Cr(i[0], n.width)), (u += Cr(i[1], n.height)), (h = null), (c = null); + else + switch (i) { + case "left": + (l -= r), (u += s), (h = "right"), (c = "middle"); + break; + case "right": + (l += r + a), (u += s), (c = "middle"); + break; + case "top": + (l += a / 2), (u -= r), (h = "center"), (c = "bottom"); + break; + case "bottom": + (l += a / 2), (u += o + r), (h = "center"); + break; + case "inside": + (l += a / 2), (u += s), (h = "center"), (c = "middle"); + break; + case "insideLeft": + (l += r), (u += s), (c = "middle"); + break; + case "insideRight": + (l += a - r), (u += s), (h = "right"), (c = "middle"); + break; + case "insideTop": + (l += a / 2), (u += r), (h = "center"); + break; + case "insideBottom": + (l += a / 2), (u += o - r), (h = "center"), (c = "bottom"); + break; + case "insideTopLeft": + (l += r), (u += r); + break; + case "insideTopRight": + (l += a - r), (u += r), (h = "right"); + break; + case "insideBottomLeft": + (l += r), (u += o - r), (c = "bottom"); + break; + case "insideBottomRight": + (l += a - r), (u += o - r), (h = "right"), (c = "bottom"); + } + return ((t = t || {}).x = l), (t.y = u), (t.align = h), (t.verticalAlign = c), t; + } + var Ar = "__zr_normal__", + kr = mr.concat(["ignore"]), + Lr = V( + mr, + function (t, e) { + return (t[e] = !0), t; + }, + { ignore: !1 } + ), + Pr = {}, + Or = new ze(0, 0, 0, 0), + Rr = (function () { + function t(t) { + (this.id = M()), (this.animators = []), (this.currentStates = []), (this.states = {}), this._init(t); + } + return ( + (t.prototype._init = function (t) { + this.attr(t); + }), + (t.prototype.drift = function (t, e, n) { + switch (this.draggable) { + case "horizontal": + e = 0; + break; + case "vertical": + t = 0; + } + var i = this.transform; + i || (i = this.transform = [1, 0, 0, 1, 0, 0]), (i[4] += t), (i[5] += e), this.decomposeTransform(), this.markRedraw(); + }), + (t.prototype.beforeUpdate = function () {}), + (t.prototype.afterUpdate = function () {}), + (t.prototype.update = function () { + this.updateTransform(), this.__dirty && this.updateInnerText(); + }), + (t.prototype.updateInnerText = function (t) { + var e = this._textContent; + if (e && (!e.ignore || t)) { + this.textConfig || (this.textConfig = {}); + var n = this.textConfig, + i = n.local, + r = e.innerTransformable, + o = void 0, + a = void 0, + s = !1; + r.parent = i ? this : null; + var l = !1; + if ((r.copyTransform(e), null != n.position)) { + var u = Or; + n.layoutRect ? u.copy(n.layoutRect) : u.copy(this.getBoundingRect()), + i || u.applyTransform(this.transform), + this.calculateTextPosition ? this.calculateTextPosition(Pr, n, u) : Dr(Pr, n, u), + (r.x = Pr.x), + (r.y = Pr.y), + (o = Pr.align), + (a = Pr.verticalAlign); + var h = n.origin; + if (h && null != n.rotation) { + var c = void 0, + p = void 0; + "center" === h ? ((c = 0.5 * u.width), (p = 0.5 * u.height)) : ((c = Cr(h[0], u.width)), (p = Cr(h[1], u.height))), (l = !0), (r.originX = -r.x + c + (i ? 0 : u.x)), (r.originY = -r.y + p + (i ? 0 : u.y)); + } + } + null != n.rotation && (r.rotation = n.rotation); + var d = n.offset; + d && ((r.x += d[0]), (r.y += d[1]), l || ((r.originX = -d[0]), (r.originY = -d[1]))); + var f = null == n.inside ? "string" == typeof n.position && n.position.indexOf("inside") >= 0 : n.inside, + g = this._innerTextDefaultStyle || (this._innerTextDefaultStyle = {}), + y = void 0, + v = void 0, + m = void 0; + f && this.canBeInsideText() + ? ((y = n.insideFill), (v = n.insideStroke), (null != y && "auto" !== y) || (y = this.getInsideTextFill()), (null != v && "auto" !== v) || ((v = this.getInsideTextStroke(y)), (m = !0))) + : ((y = n.outsideFill), (v = n.outsideStroke), (null != y && "auto" !== y) || (y = this.getOutsideFill()), (null != v && "auto" !== v) || ((v = this.getOutsideStroke(y)), (m = !0))), + ((y = y || "#000") === g.fill && v === g.stroke && m === g.autoStroke && o === g.align && a === g.verticalAlign) || + ((s = !0), (g.fill = y), (g.stroke = v), (g.autoStroke = m), (g.align = o), (g.verticalAlign = a), e.setDefaultTextStyle(g)), + (e.__dirty |= 1), + s && e.dirtyStyle(!0); + } + }), + (t.prototype.canBeInsideText = function () { + return !0; + }), + (t.prototype.getInsideTextFill = function () { + return "#fff"; + }), + (t.prototype.getInsideTextStroke = function (t) { + return "#000"; + }), + (t.prototype.getOutsideFill = function () { + return this.__zr && this.__zr.isDarkMode() ? ur : lr; + }), + (t.prototype.getOutsideStroke = function (t) { + var e = this.__zr && this.__zr.getBackgroundColor(), + n = "string" == typeof e && qn(e); + n || (n = [255, 255, 255, 1]); + for (var i = n[3], r = this.__zr.isDarkMode(), o = 0; o < 3; o++) n[o] = n[o] * i + (r ? 0 : 255) * (1 - i); + return (n[3] = 1), ri(n, "rgba"); + }), + (t.prototype.traverse = function (t, e) {}), + (t.prototype.attrKV = function (t, e) { + "textConfig" === t ? this.setTextConfig(e) : "textContent" === t ? this.setTextContent(e) : "clipPath" === t ? this.setClipPath(e) : "extra" === t ? ((this.extra = this.extra || {}), A(this.extra, e)) : (this[t] = e); + }), + (t.prototype.hide = function () { + (this.ignore = !0), this.markRedraw(); + }), + (t.prototype.show = function () { + (this.ignore = !1), this.markRedraw(); + }), + (t.prototype.attr = function (t, e) { + if ("string" == typeof t) this.attrKV(t, e); + else if (q(t)) + for (var n = G(t), i = 0; i < n.length; i++) { + var r = n[i]; + this.attrKV(r, t[r]); + } + return this.markRedraw(), this; + }), + (t.prototype.saveCurrentToNormalState = function (t) { + this._innerSaveToNormal(t); + for (var e = this._normalState, n = 0; n < this.animators.length; n++) { + var i = this.animators[n], + r = i.__fromStateTransition; + if (!(i.getLoop() || (r && r !== Ar))) { + var o = i.targetName, + a = o ? e[o] : e; + i.saveTo(a); + } + } + }), + (t.prototype._innerSaveToNormal = function (t) { + var e = this._normalState; + e || (e = this._normalState = {}), t.textConfig && !e.textConfig && (e.textConfig = this.textConfig), this._savePrimaryToNormal(t, e, kr); + }), + (t.prototype._savePrimaryToNormal = function (t, e, n) { + for (var i = 0; i < n.length; i++) { + var r = n[i]; + null == t[r] || r in e || (e[r] = this[r]); + } + }), + (t.prototype.hasState = function () { + return this.currentStates.length > 0; + }), + (t.prototype.getState = function (t) { + return this.states[t]; + }), + (t.prototype.ensureState = function (t) { + var e = this.states; + return e[t] || (e[t] = {}), e[t]; + }), + (t.prototype.clearStates = function (t) { + this.useState(Ar, !1, t); + }), + (t.prototype.useState = function (t, e, n, i) { + var r = t === Ar; + if (this.hasState() || !r) { + var o = this.currentStates, + a = this.stateTransition; + if (!(P(o, t) >= 0) || (!e && 1 !== o.length)) { + var s; + if ((this.stateProxy && !r && (s = this.stateProxy(t)), s || (s = this.states && this.states[t]), s || r)) { + r || this.saveCurrentToNormalState(s); + var l = !!((s && s.hoverLayer) || i); + l && this._toggleHoverLayerFlag(!0), this._applyStateObj(t, s, this._normalState, e, !n && !this.__inHover && a && a.duration > 0, a); + var u = this._textContent, + h = this._textGuide; + return ( + u && u.useState(t, e, n, l), + h && h.useState(t, e, n, l), + r ? ((this.currentStates = []), (this._normalState = {})) : e ? this.currentStates.push(t) : (this.currentStates = [t]), + this._updateAnimationTargets(), + this.markRedraw(), + !l && this.__inHover && (this._toggleHoverLayerFlag(!1), (this.__dirty &= -2)), + s + ); + } + I("State " + t + " not exists."); + } + } + }), + (t.prototype.useStates = function (t, e, n) { + if (t.length) { + var i = [], + r = this.currentStates, + o = t.length, + a = o === r.length; + if (a) + for (var s = 0; s < o; s++) + if (t[s] !== r[s]) { + a = !1; + break; + } + if (a) return; + for (s = 0; s < o; s++) { + var l = t[s], + u = void 0; + this.stateProxy && (u = this.stateProxy(l, t)), u || (u = this.states[l]), u && i.push(u); + } + var h = i[o - 1], + c = !!((h && h.hoverLayer) || n); + c && this._toggleHoverLayerFlag(!0); + var p = this._mergeStates(i), + d = this.stateTransition; + this.saveCurrentToNormalState(p), this._applyStateObj(t.join(","), p, this._normalState, !1, !e && !this.__inHover && d && d.duration > 0, d); + var f = this._textContent, + g = this._textGuide; + f && f.useStates(t, e, c), g && g.useStates(t, e, c), this._updateAnimationTargets(), (this.currentStates = t.slice()), this.markRedraw(), !c && this.__inHover && (this._toggleHoverLayerFlag(!1), (this.__dirty &= -2)); + } else this.clearStates(); + }), + (t.prototype.isSilent = function () { + for (var t = this.silent, e = this.parent; !t && e; ) { + if (e.silent) { + t = !0; + break; + } + e = e.parent; + } + return t; + }), + (t.prototype._updateAnimationTargets = function () { + for (var t = 0; t < this.animators.length; t++) { + var e = this.animators[t]; + e.targetName && e.changeTarget(this[e.targetName]); + } + }), + (t.prototype.removeState = function (t) { + var e = P(this.currentStates, t); + if (e >= 0) { + var n = this.currentStates.slice(); + n.splice(e, 1), this.useStates(n); + } + }), + (t.prototype.replaceState = function (t, e, n) { + var i = this.currentStates.slice(), + r = P(i, t), + o = P(i, e) >= 0; + r >= 0 ? (o ? i.splice(r, 1) : (i[r] = e)) : n && !o && i.push(e), this.useStates(i); + }), + (t.prototype.toggleState = function (t, e) { + e ? this.useState(t, !0) : this.removeState(t); + }), + (t.prototype._mergeStates = function (t) { + for (var e, n = {}, i = 0; i < t.length; i++) { + var r = t[i]; + A(n, r), r.textConfig && A((e = e || {}), r.textConfig); + } + return e && (n.textConfig = e), n; + }), + (t.prototype._applyStateObj = function (t, e, n, i, r, o) { + var a = !(e && i); + e && e.textConfig ? ((this.textConfig = A({}, i ? this.textConfig : n.textConfig)), A(this.textConfig, e.textConfig)) : a && n.textConfig && (this.textConfig = n.textConfig); + for (var s = {}, l = !1, u = 0; u < kr.length; u++) { + var h = kr[u], + c = r && Lr[h]; + e && null != e[h] ? (c ? ((l = !0), (s[h] = e[h])) : (this[h] = e[h])) : a && null != n[h] && (c ? ((l = !0), (s[h] = n[h])) : (this[h] = n[h])); + } + if (!r) + for (u = 0; u < this.animators.length; u++) { + var p = this.animators[u], + d = p.targetName; + p.getLoop() || p.__changeFinalValue(d ? (e || n)[d] : e || n); + } + l && this._transitionState(t, s, o); + }), + (t.prototype._attachComponent = function (t) { + if ((!t.__zr || t.__hostTarget) && t !== this) { + var e = this.__zr; + e && t.addSelfToZr(e), (t.__zr = e), (t.__hostTarget = this); + } + }), + (t.prototype._detachComponent = function (t) { + t.__zr && t.removeSelfFromZr(t.__zr), (t.__zr = null), (t.__hostTarget = null); + }), + (t.prototype.getClipPath = function () { + return this._clipPath; + }), + (t.prototype.setClipPath = function (t) { + this._clipPath && this._clipPath !== t && this.removeClipPath(), this._attachComponent(t), (this._clipPath = t), this.markRedraw(); + }), + (t.prototype.removeClipPath = function () { + var t = this._clipPath; + t && (this._detachComponent(t), (this._clipPath = null), this.markRedraw()); + }), + (t.prototype.getTextContent = function () { + return this._textContent; + }), + (t.prototype.setTextContent = function (t) { + var e = this._textContent; + e !== t && (e && e !== t && this.removeTextContent(), (t.innerTransformable = new vr()), this._attachComponent(t), (this._textContent = t), this.markRedraw()); + }), + (t.prototype.setTextConfig = function (t) { + this.textConfig || (this.textConfig = {}), A(this.textConfig, t), this.markRedraw(); + }), + (t.prototype.removeTextConfig = function () { + (this.textConfig = null), this.markRedraw(); + }), + (t.prototype.removeTextContent = function () { + var t = this._textContent; + t && ((t.innerTransformable = null), this._detachComponent(t), (this._textContent = null), (this._innerTextDefaultStyle = null), this.markRedraw()); + }), + (t.prototype.getTextGuideLine = function () { + return this._textGuide; + }), + (t.prototype.setTextGuideLine = function (t) { + this._textGuide && this._textGuide !== t && this.removeTextGuideLine(), this._attachComponent(t), (this._textGuide = t), this.markRedraw(); + }), + (t.prototype.removeTextGuideLine = function () { + var t = this._textGuide; + t && (this._detachComponent(t), (this._textGuide = null), this.markRedraw()); + }), + (t.prototype.markRedraw = function () { + this.__dirty |= 1; + var t = this.__zr; + t && (this.__inHover ? t.refreshHover() : t.refresh()), this.__hostTarget && this.__hostTarget.markRedraw(); + }), + (t.prototype.dirty = function () { + this.markRedraw(); + }), + (t.prototype._toggleHoverLayerFlag = function (t) { + this.__inHover = t; + var e = this._textContent, + n = this._textGuide; + e && (e.__inHover = t), n && (n.__inHover = t); + }), + (t.prototype.addSelfToZr = function (t) { + if (this.__zr !== t) { + this.__zr = t; + var e = this.animators; + if (e) for (var n = 0; n < e.length; n++) t.animation.addAnimator(e[n]); + this._clipPath && this._clipPath.addSelfToZr(t), this._textContent && this._textContent.addSelfToZr(t), this._textGuide && this._textGuide.addSelfToZr(t); + } + }), + (t.prototype.removeSelfFromZr = function (t) { + if (this.__zr) { + this.__zr = null; + var e = this.animators; + if (e) for (var n = 0; n < e.length; n++) t.animation.removeAnimator(e[n]); + this._clipPath && this._clipPath.removeSelfFromZr(t), this._textContent && this._textContent.removeSelfFromZr(t), this._textGuide && this._textGuide.removeSelfFromZr(t); + } + }), + (t.prototype.animate = function (t, e, n) { + var i = t ? this[t] : this; + var r = new Vi(i, e, n); + return t && (r.targetName = t), this.addAnimator(r, t), r; + }), + (t.prototype.addAnimator = function (t, e) { + var n = this.__zr, + i = this; + t + .during(function () { + i.updateDuringAnimation(e); + }) + .done(function () { + var e = i.animators, + n = P(e, t); + n >= 0 && e.splice(n, 1); + }), + this.animators.push(t), + n && n.animation.addAnimator(t), + n && n.wakeUp(); + }), + (t.prototype.updateDuringAnimation = function (t) { + this.markRedraw(); + }), + (t.prototype.stopAnimation = function (t, e) { + for (var n = this.animators, i = n.length, r = [], o = 0; o < i; o++) { + var a = n[o]; + t && t !== a.scope ? r.push(a) : a.stop(e); + } + return (this.animators = r), this; + }), + (t.prototype.animateTo = function (t, e, n) { + Nr(this, t, e, n); + }), + (t.prototype.animateFrom = function (t, e, n) { + Nr(this, t, e, n, !0); + }), + (t.prototype._transitionState = function (t, e, n, i) { + for (var r = Nr(this, e, n, i), o = 0; o < r.length; o++) r[o].__fromStateTransition = t; + }), + (t.prototype.getBoundingRect = function () { + return null; + }), + (t.prototype.getPaintRect = function () { + return null; + }), + (t.initDefaultProps = (function () { + var e = t.prototype; + (e.type = "element"), (e.name = ""), (e.ignore = e.silent = e.isGroup = e.draggable = e.dragging = e.ignoreClip = e.__inHover = !1), (e.__dirty = 1); + function n(t, n, i, r) { + function o(t, e) { + Object.defineProperty(e, 0, { + get: function () { + return t[i]; + }, + set: function (e) { + t[i] = e; + }, + }), + Object.defineProperty(e, 1, { + get: function () { + return t[r]; + }, + set: function (e) { + t[r] = e; + }, + }); + } + Object.defineProperty(e, t, { + get: function () { + this[n] || o(this, (this[n] = [])); + return this[n]; + }, + set: function (t) { + (this[i] = t[0]), (this[r] = t[1]), (this[n] = t), o(this, t); + }, + }); + } + Object.defineProperty && (n("position", "_legacyPos", "x", "y"), n("scale", "_legacyScale", "scaleX", "scaleY"), n("origin", "_legacyOrigin", "originX", "originY")); + })()), + t + ); + })(); + function Nr(t, e, n, i, r) { + var o = []; + Vr(t, "", t, e, (n = n || {}), i, o, r); + var a = o.length, + s = !1, + l = n.done, + u = n.aborted, + h = function () { + (s = !0), --a <= 0 && (s ? l && l() : u && u()); + }, + c = function () { + --a <= 0 && (s ? l && l() : u && u()); + }; + a || (l && l()), + o.length > 0 && + n.during && + o[0].during(function (t, e) { + n.during(e); + }); + for (var p = 0; p < o.length; p++) { + var d = o[p]; + h && d.done(h), c && d.aborted(c), n.force && d.duration(n.duration), d.start(n.easing); + } + return o; + } + function Er(t, e, n) { + for (var i = 0; i < n; i++) t[i] = e[i]; + } + function zr(t, e, n) { + if (N(e[n])) + if ((N(t[n]) || (t[n] = []), $(e[n]))) { + var i = e[n].length; + t[n].length !== i && ((t[n] = new e[n].constructor(i)), Er(t[n], e[n], i)); + } else { + var r = e[n], + o = t[n], + a = r.length; + if (N(r[0])) for (var s = r[0].length, l = 0; l < a; l++) o[l] ? Er(o[l], r[l], s) : (o[l] = Array.prototype.slice.call(r[l])); + else Er(o, r, a); + o.length = r.length; + } + else t[n] = e[n]; + } + function Vr(t, e, n, i, r, o, a, s) { + for (var l = G(i), u = r.duration, h = r.delay, c = r.additive, p = r.setToFinal, d = !q(o), f = t.animators, g = [], y = 0; y < l.length; y++) { + var v = l[y], + m = i[v]; + if (null != m && null != n[v] && (d || o[v])) + if (!q(m) || N(m) || Q(m)) g.push(v); + else { + if (e) { + s || ((n[v] = m), t.updateDuringAnimation(e)); + continue; + } + Vr(t, v, n[v], m, r, o && o[v], a, s); + } + else s || ((n[v] = m), t.updateDuringAnimation(e), g.push(v)); + } + var x = g.length; + if (!c && x) + for (var _ = 0; _ < f.length; _++) { + if ((w = f[_]).targetName === e) + if (w.stopTracks(g)) { + var b = P(f, w); + f.splice(b, 1); + } + } + if ( + (r.force || + ((g = B(g, function (t) { + return ( + (e = i[t]), + (r = n[t]), + !( + e === r || + (N(e) && + N(r) && + (function (t, e) { + var n = t.length; + if (n !== e.length) return !1; + for (var i = 0; i < n; i++) if (t[i] !== e[i]) return !1; + return !0; + })(e, r)) + ) + ); + var e, r; + })), + (x = g.length)), + x > 0 || (r.force && !a.length)) + ) { + var w, + S = void 0, + M = void 0, + I = void 0; + if (s) { + (M = {}), p && (S = {}); + for (_ = 0; _ < x; _++) { + (M[(v = g[_])] = n[v]), p ? (S[v] = i[v]) : (n[v] = i[v]); + } + } else if (p) { + I = {}; + for (_ = 0; _ < x; _++) { + (I[(v = g[_])] = Pi(n[v])), zr(n, i, v); + } + } + ((w = new Vi( + n, + !1, + !1, + c + ? B(f, function (t) { + return t.targetName === e; + }) + : null + )).targetName = e), + r.scope && (w.scope = r.scope), + p && S && w.whenWithKeys(0, S, g), + I && w.whenWithKeys(0, I, g), + w.whenWithKeys(null == u ? 500 : u, s ? M : i, g).delay(h || 0), + t.addAnimator(w, e), + a.push(w); + } + } + R(Rr, jt), R(Rr, vr); + var Br = (function (t) { + function e(e) { + var n = t.call(this) || this; + return (n.isGroup = !0), (n._children = []), n.attr(e), n; + } + return ( + n(e, t), + (e.prototype.childrenRef = function () { + return this._children; + }), + (e.prototype.children = function () { + return this._children.slice(); + }), + (e.prototype.childAt = function (t) { + return this._children[t]; + }), + (e.prototype.childOfName = function (t) { + for (var e = this._children, n = 0; n < e.length; n++) if (e[n].name === t) return e[n]; + }), + (e.prototype.childCount = function () { + return this._children.length; + }), + (e.prototype.add = function (t) { + return t && t !== this && t.parent !== this && (this._children.push(t), this._doAdd(t)), this; + }), + (e.prototype.addBefore = function (t, e) { + if (t && t !== this && t.parent !== this && e && e.parent === this) { + var n = this._children, + i = n.indexOf(e); + i >= 0 && (n.splice(i, 0, t), this._doAdd(t)); + } + return this; + }), + (e.prototype.replace = function (t, e) { + var n = P(this._children, t); + return n >= 0 && this.replaceAt(e, n), this; + }), + (e.prototype.replaceAt = function (t, e) { + var n = this._children, + i = n[e]; + if (t && t !== this && t.parent !== this && t !== i) { + (n[e] = t), (i.parent = null); + var r = this.__zr; + r && i.removeSelfFromZr(r), this._doAdd(t); + } + return this; + }), + (e.prototype._doAdd = function (t) { + t.parent && t.parent.remove(t), (t.parent = this); + var e = this.__zr; + e && e !== t.__zr && t.addSelfToZr(e), e && e.refresh(); + }), + (e.prototype.remove = function (t) { + var e = this.__zr, + n = this._children, + i = P(n, t); + return i < 0 || (n.splice(i, 1), (t.parent = null), e && t.removeSelfFromZr(e), e && e.refresh()), this; + }), + (e.prototype.removeAll = function () { + for (var t = this._children, e = this.__zr, n = 0; n < t.length; n++) { + var i = t[n]; + e && i.removeSelfFromZr(e), (i.parent = null); + } + return (t.length = 0), this; + }), + (e.prototype.eachChild = function (t, e) { + for (var n = this._children, i = 0; i < n.length; i++) { + var r = n[i]; + t.call(e, r, i); + } + return this; + }), + (e.prototype.traverse = function (t, e) { + for (var n = 0; n < this._children.length; n++) { + var i = this._children[n], + r = t.call(e, i); + i.isGroup && !r && i.traverse(t, e); + } + return this; + }), + (e.prototype.addSelfToZr = function (e) { + t.prototype.addSelfToZr.call(this, e); + for (var n = 0; n < this._children.length; n++) { + this._children[n].addSelfToZr(e); + } + }), + (e.prototype.removeSelfFromZr = function (e) { + t.prototype.removeSelfFromZr.call(this, e); + for (var n = 0; n < this._children.length; n++) { + this._children[n].removeSelfFromZr(e); + } + }), + (e.prototype.getBoundingRect = function (t) { + for (var e = new ze(0, 0, 0, 0), n = t || this._children, i = [], r = null, o = 0; o < n.length; o++) { + var a = n[o]; + if (!a.ignore && !a.invisible) { + var s = a.getBoundingRect(), + l = a.getLocalTransform(i); + l ? (ze.applyTransform(e, s, l), (r = r || e.clone()).union(e)) : (r = r || s.clone()).union(s); + } + } + return r || e; + }), + e + ); + })(Rr); + Br.prototype.type = "group"; + /*! + * ZRender, a high performance 2d drawing library. + * + * Copyright (c) 2013, Baidu Inc. + * All rights reserved. + * + * LICENSE + * https://github.com/ecomfe/zrender/blob/master/LICENSE.txt + */ + var Fr = {}, + Gr = {}; + var Wr, + Hr = (function () { + function t(t, e, n) { + var i = this; + (this._sleepAfterStill = 10), (this._stillFrameAccum = 0), (this._needsRefresh = !0), (this._needsRefreshHover = !0), (this._darkMode = !1), (n = n || {}), (this.dom = e), (this.id = t); + var o = new rn(), + a = n.renderer || "canvas"; + Fr[a] || (a = G(Fr)[0]), (n.useDirtyRect = null != n.useDirtyRect && n.useDirtyRect); + var s = new Fr[a](e, o, n, t), + l = n.ssr || s.ssrOnly; + (this.storage = o), (this.painter = s); + var u, + h = r.node || r.worker || l ? null : new or(s.getViewportRoot(), s.root), + c = n.useCoarsePointer; + (null == c || "auto" === c ? r.touchEventsSupported : !!c) && (u = rt(n.pointerSize, 44)), + (this.handler = new Ye(o, s, h, s.root, u)), + (this.animation = new Wi({ + stage: { + update: l + ? null + : function () { + return i._flush(!0); + }, + }, + })), + l || this.animation.start(); + } + return ( + (t.prototype.add = function (t) { + !this._disposed && t && (this.storage.addRoot(t), t.addSelfToZr(this), this.refresh()); + }), + (t.prototype.remove = function (t) { + !this._disposed && t && (this.storage.delRoot(t), t.removeSelfFromZr(this), this.refresh()); + }), + (t.prototype.configLayer = function (t, e) { + this._disposed || (this.painter.configLayer && this.painter.configLayer(t, e), this.refresh()); + }), + (t.prototype.setBackgroundColor = function (t) { + this._disposed || + (this.painter.setBackgroundColor && this.painter.setBackgroundColor(t), + this.refresh(), + (this._backgroundColor = t), + (this._darkMode = (function (t) { + if (!t) return !1; + if ("string" == typeof t) return oi(t, 1) < 0.4; + if (t.colorStops) { + for (var e = t.colorStops, n = 0, i = e.length, r = 0; r < i; r++) n += oi(e[r].color, 1); + return (n /= i) < 0.4; + } + return !1; + })(t))); + }), + (t.prototype.getBackgroundColor = function () { + return this._backgroundColor; + }), + (t.prototype.setDarkMode = function (t) { + this._darkMode = t; + }), + (t.prototype.isDarkMode = function () { + return this._darkMode; + }), + (t.prototype.refreshImmediately = function (t) { + this._disposed || (t || this.animation.update(!0), (this._needsRefresh = !1), this.painter.refresh(), (this._needsRefresh = !1)); + }), + (t.prototype.refresh = function () { + this._disposed || ((this._needsRefresh = !0), this.animation.start()); + }), + (t.prototype.flush = function () { + this._disposed || this._flush(!1); + }), + (t.prototype._flush = function (t) { + var e, + n = Bi(); + this._needsRefresh && ((e = !0), this.refreshImmediately(t)), this._needsRefreshHover && ((e = !0), this.refreshHoverImmediately()); + var i = Bi(); + e ? ((this._stillFrameAccum = 0), this.trigger("rendered", { elapsedTime: i - n })) : this._sleepAfterStill > 0 && (this._stillFrameAccum++, this._stillFrameAccum > this._sleepAfterStill && this.animation.stop()); + }), + (t.prototype.setSleepAfterStill = function (t) { + this._sleepAfterStill = t; + }), + (t.prototype.wakeUp = function () { + this._disposed || (this.animation.start(), (this._stillFrameAccum = 0)); + }), + (t.prototype.refreshHover = function () { + this._needsRefreshHover = !0; + }), + (t.prototype.refreshHoverImmediately = function () { + this._disposed || ((this._needsRefreshHover = !1), this.painter.refreshHover && "canvas" === this.painter.getType() && this.painter.refreshHover()); + }), + (t.prototype.resize = function (t) { + this._disposed || ((t = t || {}), this.painter.resize(t.width, t.height), this.handler.resize()); + }), + (t.prototype.clearAnimation = function () { + this._disposed || this.animation.clear(); + }), + (t.prototype.getWidth = function () { + if (!this._disposed) return this.painter.getWidth(); + }), + (t.prototype.getHeight = function () { + if (!this._disposed) return this.painter.getHeight(); + }), + (t.prototype.setCursorStyle = function (t) { + this._disposed || this.handler.setCursorStyle(t); + }), + (t.prototype.findHover = function (t, e) { + if (!this._disposed) return this.handler.findHover(t, e); + }), + (t.prototype.on = function (t, e, n) { + return this._disposed || this.handler.on(t, e, n), this; + }), + (t.prototype.off = function (t, e) { + this._disposed || this.handler.off(t, e); + }), + (t.prototype.trigger = function (t, e) { + this._disposed || this.handler.trigger(t, e); + }), + (t.prototype.clear = function () { + if (!this._disposed) { + for (var t = this.storage.getRoots(), e = 0; e < t.length; e++) t[e] instanceof Br && t[e].removeSelfFromZr(this); + this.storage.delAllRoots(), this.painter.clear(); + } + }), + (t.prototype.dispose = function () { + var t; + this._disposed || + (this.animation.stop(), + this.clear(), + this.storage.dispose(), + this.painter.dispose(), + this.handler.dispose(), + (this.animation = this.storage = this.painter = this.handler = null), + (this._disposed = !0), + (t = this.id), + delete Gr[t]); + }), + t + ); + })(); + function Yr(t, e) { + var n = new Hr(M(), t, e); + return (Gr[n.id] = n), n; + } + function Xr(t, e) { + Fr[t] = e; + } + function Ur(t) { + if ("function" == typeof Wr) return Wr(t); + } + function Zr(t) { + Wr = t; + } + var jr = Object.freeze({ + __proto__: null, + init: Yr, + dispose: function (t) { + t.dispose(); + }, + disposeAll: function () { + for (var t in Gr) Gr.hasOwnProperty(t) && Gr[t].dispose(); + Gr = {}; + }, + getInstance: function (t) { + return Gr[t]; + }, + registerPainter: Xr, + getElementSSRData: Ur, + registerSSRDataGetter: Zr, + version: "5.5.0", + }), + qr = 1e-4; + function Kr(t, e, n, i) { + var r = e[0], + o = e[1], + a = n[0], + s = n[1], + l = o - r, + u = s - a; + if (0 === l) return 0 === u ? a : (a + s) / 2; + if (i) + if (l > 0) { + if (t <= r) return a; + if (t >= o) return s; + } else { + if (t >= r) return a; + if (t <= o) return s; + } + else { + if (t === r) return a; + if (t === o) return s; + } + return ((t - r) / l) * u + a; + } + function $r(t, e) { + switch (t) { + case "center": + case "middle": + t = "50%"; + break; + case "left": + case "top": + t = "0%"; + break; + case "right": + case "bottom": + t = "100%"; + } + return U(t) ? (((n = t), n.replace(/^\s+|\s+$/g, "")).match(/%$/) ? (parseFloat(t) / 100) * e : parseFloat(t)) : null == t ? NaN : +t; + var n; + } + function Jr(t, e, n) { + return null == e && (e = 10), (e = Math.min(Math.max(0, e), 20)), (t = (+t).toFixed(e)), n ? t : +t; + } + function Qr(t) { + return ( + t.sort(function (t, e) { + return t - e; + }), + t + ); + } + function to(t) { + if (((t = +t), isNaN(t))) return 0; + if (t > 1e-14) for (var e = 1, n = 0; n < 15; n++, e *= 10) if (Math.round(t * e) / e === t) return n; + return eo(t); + } + function eo(t) { + var e = t.toString().toLowerCase(), + n = e.indexOf("e"), + i = n > 0 ? +e.slice(n + 1) : 0, + r = n > 0 ? n : e.length, + o = e.indexOf("."), + a = o < 0 ? 0 : r - 1 - o; + return Math.max(0, a - i); + } + function no(t, e) { + var n = Math.log, + i = Math.LN10, + r = Math.floor(n(t[1] - t[0]) / i), + o = Math.round(n(Math.abs(e[1] - e[0])) / i), + a = Math.min(Math.max(-r + o, 0), 20); + return isFinite(a) ? a : 20; + } + function io(t, e) { + var n = V( + t, + function (t, e) { + return t + (isNaN(e) ? 0 : e); + }, + 0 + ); + if (0 === n) return []; + for ( + var i = Math.pow(10, e), + r = z(t, function (t) { + return ((isNaN(t) ? 0 : t) / n) * i * 100; + }), + o = 100 * i, + a = z(r, function (t) { + return Math.floor(t); + }), + s = V( + a, + function (t, e) { + return t + e; + }, + 0 + ), + l = z(r, function (t, e) { + return t - a[e]; + }); + s < o; + + ) { + for (var u = Number.NEGATIVE_INFINITY, h = null, c = 0, p = l.length; c < p; ++c) l[c] > u && ((u = l[c]), (h = c)); + ++a[h], (l[h] = 0), ++s; + } + return z(a, function (t) { + return t / i; + }); + } + function ro(t, e) { + var n = Math.max(to(t), to(e)), + i = t + e; + return n > 20 ? i : Jr(i, n); + } + var oo = 9007199254740991; + function ao(t) { + var e = 2 * Math.PI; + return ((t % e) + e) % e; + } + function so(t) { + return t > -1e-4 && t < qr; + } + var lo = /^(?:(\d{4})(?:[-\/](\d{1,2})(?:[-\/](\d{1,2})(?:[T ](\d{1,2})(?::(\d{1,2})(?::(\d{1,2})(?:[.,](\d+))?)?)?(Z|[\+\-]\d\d:?\d\d)?)?)?)?)?$/; + function uo(t) { + if (t instanceof Date) return t; + if (U(t)) { + var e = lo.exec(t); + if (!e) return new Date(NaN); + if (e[8]) { + var n = +e[4] || 0; + return "Z" !== e[8].toUpperCase() && (n -= +e[8].slice(0, 3)), new Date(Date.UTC(+e[1], +(e[2] || 1) - 1, +e[3] || 1, n, +(e[5] || 0), +e[6] || 0, e[7] ? +e[7].substring(0, 3) : 0)); + } + return new Date(+e[1], +(e[2] || 1) - 1, +e[3] || 1, +e[4] || 0, +(e[5] || 0), +e[6] || 0, e[7] ? +e[7].substring(0, 3) : 0); + } + return null == t ? new Date(NaN) : new Date(Math.round(t)); + } + function ho(t) { + return Math.pow(10, co(t)); + } + function co(t) { + if (0 === t) return 0; + var e = Math.floor(Math.log(t) / Math.LN10); + return t / Math.pow(10, e) >= 10 && e++, e; + } + function po(t, e) { + var n = co(t), + i = Math.pow(10, n), + r = t / i; + return (t = (e ? (r < 1.5 ? 1 : r < 2.5 ? 2 : r < 4 ? 3 : r < 7 ? 5 : 10) : r < 1 ? 1 : r < 2 ? 2 : r < 3 ? 3 : r < 5 ? 5 : 10) * i), n >= -20 ? +t.toFixed(n < 0 ? -n : 0) : t; + } + function fo(t, e) { + var n = (t.length - 1) * e + 1, + i = Math.floor(n), + r = +t[i - 1], + o = n - i; + return o ? r + o * (t[i] - r) : r; + } + function go(t) { + t.sort(function (t, e) { + return s(t, e, 0) ? -1 : 1; + }); + for (var e = -1 / 0, n = 1, i = 0; i < t.length; ) { + for (var r = t[i].interval, o = t[i].close, a = 0; a < 2; a++) r[a] <= e && ((r[a] = e), (o[a] = a ? 1 : 1 - n)), (e = r[a]), (n = o[a]); + r[0] === r[1] && o[0] * o[1] != 1 ? t.splice(i, 1) : i++; + } + return t; + function s(t, e, n) { + return t.interval[n] < e.interval[n] || (t.interval[n] === e.interval[n] && (t.close[n] - e.close[n] == (n ? -1 : 1) || (!n && s(t, e, 1)))); + } + } + function yo(t) { + var e = parseFloat(t); + return e == t && (0 !== e || !U(t) || t.indexOf("x") <= 0) ? e : NaN; + } + function vo(t) { + return !isNaN(yo(t)); + } + function mo() { + return Math.round(9 * Math.random()); + } + function xo(t, e) { + return 0 === e ? t : xo(e, t % e); + } + function _o(t, e) { + return null == t ? e : null == e ? t : (t * e) / xo(t, e); + } + "undefined" != typeof console && console.warn && console.log; + function bo(t) { + 0; + } + function wo(t) { + throw new Error(t); + } + function So(t, e, n) { + return (e - t) * n + t; + } + var Mo = "series\0", + Io = "\0_ec_\0"; + function To(t) { + return t instanceof Array ? t : null == t ? [] : [t]; + } + function Co(t, e, n) { + if (t) { + (t[e] = t[e] || {}), (t.emphasis = t.emphasis || {}), (t.emphasis[e] = t.emphasis[e] || {}); + for (var i = 0, r = n.length; i < r; i++) { + var o = n[i]; + !t.emphasis[e].hasOwnProperty(o) && t[e].hasOwnProperty(o) && (t.emphasis[e][o] = t[e][o]); + } + } + } + var Do = [ + "fontStyle", + "fontWeight", + "fontSize", + "fontFamily", + "rich", + "tag", + "color", + "textBorderColor", + "textBorderWidth", + "width", + "height", + "lineHeight", + "align", + "verticalAlign", + "baseline", + "shadowColor", + "shadowBlur", + "shadowOffsetX", + "shadowOffsetY", + "textShadowColor", + "textShadowBlur", + "textShadowOffsetX", + "textShadowOffsetY", + "backgroundColor", + "borderColor", + "borderWidth", + "borderRadius", + "padding", + ]; + function Ao(t) { + return !q(t) || Y(t) || t instanceof Date ? t : t.value; + } + function ko(t) { + return q(t) && !(t instanceof Array); + } + function Lo(t, e, n) { + var i = "normalMerge" === n, + r = "replaceMerge" === n, + o = "replaceAll" === n; + (t = t || []), (e = (e || []).slice()); + var a = yt(); + E(e, function (t, n) { + q(t) || (e[n] = null); + }); + var s, + l, + u = (function (t, e, n) { + var i = []; + if ("replaceAll" === n) return i; + for (var r = 0; r < t.length; r++) { + var o = t[r]; + o && null != o.id && e.set(o.id, r), i.push({ existing: "replaceMerge" === n || Eo(o) ? null : o, newOption: null, keyInfo: null, brandNew: null }); + } + return i; + })(t, a, n); + return ( + (i || r) && + (function (t, e, n, i) { + E(i, function (r, o) { + if (r && null != r.id) { + var a = Oo(r.id), + s = n.get(a); + if (null != s) { + var l = t[s]; + lt(!l.newOption, 'Duplicated option on id "' + a + '".'), (l.newOption = r), (l.existing = e[s]), (i[o] = null); + } + } + }); + })(u, t, a, e), + i && + (function (t, e) { + E(e, function (n, i) { + if (n && null != n.name) + for (var r = 0; r < t.length; r++) { + var o = t[r].existing; + if (!t[r].newOption && o && (null == o.id || null == n.id) && !Eo(n) && !Eo(o) && Po("name", o, n)) return (t[r].newOption = n), void (e[i] = null); + } + }); + })(u, e), + i || r + ? (function (t, e, n) { + E(e, function (e) { + if (e) { + for (var i, r = 0; (i = t[r]) && (i.newOption || Eo(i.existing) || (i.existing && null != e.id && !Po("id", e, i.existing))); ) r++; + i ? ((i.newOption = e), (i.brandNew = n)) : t.push({ newOption: e, brandNew: n, existing: null, keyInfo: null }), r++; + } + }); + })(u, e, r) + : o && + (function (t, e) { + E(e, function (e) { + t.push({ newOption: e, brandNew: !0, existing: null, keyInfo: null }); + }); + })(u, e), + (s = u), + (l = yt()), + E(s, function (t) { + var e = t.existing; + e && l.set(e.id, t); + }), + E(s, function (t) { + var e = t.newOption; + lt(!e || null == e.id || !l.get(e.id) || l.get(e.id) === t, "id duplicates: " + (e && e.id)), e && null != e.id && l.set(e.id, t), !t.keyInfo && (t.keyInfo = {}); + }), + E(s, function (t, e) { + var n = t.existing, + i = t.newOption, + r = t.keyInfo; + if (q(i)) { + if (((r.name = null != i.name ? Oo(i.name) : n ? n.name : Mo + e), n)) r.id = Oo(n.id); + else if (null != i.id) r.id = Oo(i.id); + else { + var o = 0; + do { + r.id = "\0" + r.name + "\0" + o++; + } while (l.get(r.id)); + } + l.set(r.id, t); + } + }), + u + ); + } + function Po(t, e, n) { + var i = Ro(e[t], null), + r = Ro(n[t], null); + return null != i && null != r && i === r; + } + function Oo(t) { + return Ro(t, ""); + } + function Ro(t, e) { + return null == t ? e : U(t) ? t : j(t) || Z(t) ? t + "" : e; + } + function No(t) { + var e = t.name; + return !(!e || !e.indexOf(Mo)); + } + function Eo(t) { + return t && null != t.id && 0 === Oo(t.id).indexOf(Io); + } + function zo(t, e) { + return null != e.dataIndexInside + ? e.dataIndexInside + : null != e.dataIndex + ? Y(e.dataIndex) + ? z(e.dataIndex, function (e) { + return t.indexOfRawIndex(e); + }) + : t.indexOfRawIndex(e.dataIndex) + : null != e.name + ? Y(e.name) + ? z(e.name, function (e) { + return t.indexOfName(e); + }) + : t.indexOfName(e.name) + : void 0; + } + function Vo() { + var t = "__ec_inner_" + Bo++; + return function (e) { + return e[t] || (e[t] = {}); + }; + } + var Bo = mo(); + function Fo(t, e, n) { + var i = Go(e, n), + r = i.mainTypeSpecified, + o = i.queryOptionMap, + a = i.others, + s = n ? n.defaultMainType : null; + return ( + !r && s && o.set(s, {}), + o.each(function (e, i) { + var r = Yo(t, i, e, { useDefault: s === i, enableAll: !n || null == n.enableAll || n.enableAll, enableNone: !n || null == n.enableNone || n.enableNone }); + (a[i + "Models"] = r.models), (a[i + "Model"] = r.models[0]); + }), + a + ); + } + function Go(t, e) { + var n; + if (U(t)) { + var i = {}; + (i[t + "Index"] = 0), (n = i); + } else n = t; + var r = yt(), + o = {}, + a = !1; + return ( + E(n, function (t, n) { + if ("dataIndex" !== n && "dataIndexInside" !== n) { + var i = n.match(/^(\w+)(Index|Id|Name)$/) || [], + s = i[1], + l = (i[2] || "").toLowerCase(); + if (s && l && !(e && e.includeMainTypes && P(e.includeMainTypes, s) < 0)) (a = a || !!s), ((r.get(s) || r.set(s, {}))[l] = t); + } else o[n] = t; + }), + { mainTypeSpecified: a, queryOptionMap: r, others: o } + ); + } + var Wo = { useDefault: !0, enableAll: !1, enableNone: !1 }, + Ho = { useDefault: !1, enableAll: !0, enableNone: !0 }; + function Yo(t, e, n, i) { + i = i || Wo; + var r = n.index, + o = n.id, + a = n.name, + s = { models: null, specified: null != r || null != o || null != a }; + if (!s.specified) { + var l = void 0; + return (s.models = i.useDefault && (l = t.getComponent(e)) ? [l] : []), s; + } + return "none" === r || !1 === r + ? (lt(i.enableNone, '`"none"` or `false` is not a valid value on index option.'), (s.models = []), s) + : ("all" === r && (lt(i.enableAll, '`"all"` is not a valid value on index option.'), (r = o = a = null)), (s.models = t.queryComponents({ mainType: e, index: r, id: o, name: a })), s); + } + function Xo(t, e, n) { + t.setAttribute ? t.setAttribute(e, n) : (t[e] = n); + } + function Uo(t, e) { + var n = yt(), + i = []; + return ( + E(t, function (t) { + var r = e(t); + (n.get(r) || (i.push(r), n.set(r, []))).push(t); + }), + { keys: i, buckets: n } + ); + } + function Zo(t, e, n, i, r) { + var o = null == e || "auto" === e; + if (null == i) return i; + if (j(i)) return Jr((f = So(n || 0, i, r)), o ? Math.max(to(n || 0), to(i)) : e); + if (U(i)) return r < 1 ? n : i; + for (var a = [], s = n, l = i, u = Math.max(s ? s.length : 0, l.length), h = 0; h < u; ++h) { + var c = t.getDimensionInfo(h); + if (c && "ordinal" === c.type) a[h] = (r < 1 && s ? s : l)[h]; + else { + var p = s && s[h] ? s[h] : 0, + d = l[h], + f = So(p, d, r); + a[h] = Jr(f, o ? Math.max(to(p), to(d)) : e); + } + } + return a; + } + var jo = "___EC__COMPONENT__CONTAINER___", + qo = "___EC__EXTENDED_CLASS___"; + function Ko(t) { + var e = { main: "", sub: "" }; + if (t) { + var n = t.split("."); + (e.main = n[0] || ""), (e.sub = n[1] || ""); + } + return e; + } + function $o(t, e) { + (t.$constructor = t), + (t.extend = function (t) { + var e, + i, + r = this; + return ( + X((i = r)) && /^class\s/.test(Function.prototype.toString.call(i)) + ? (e = (function (t) { + function e() { + return t.apply(this, arguments) || this; + } + return n(e, t), e; + })(r)) + : ((e = function () { + (t.$constructor || r).apply(this, arguments); + }), + O(e, this)), + A(e.prototype, t), + (e[qo] = !0), + (e.extend = this.extend), + (e.superCall = ta), + (e.superApply = ea), + (e.superClass = r), + e + ); + }); + } + function Jo(t, e) { + t.extend = e.extend; + } + var Qo = Math.round(10 * Math.random()); + function ta(t, e) { + for (var n = [], i = 2; i < arguments.length; i++) n[i - 2] = arguments[i]; + return this.superClass.prototype[e].apply(t, n); + } + function ea(t, e, n) { + return this.superClass.prototype[e].apply(t, n); + } + function na(t) { + var e = {}; + (t.registerClass = function (t) { + var n, + i = t.type || t.prototype.type; + if (i) { + lt(/^[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)?$/.test((n = i)), 'componentType "' + n + '" illegal'), (t.prototype.type = i); + var r = Ko(i); + if (r.sub) { + if (r.sub !== jo) { + var o = (function (t) { + var n = e[t.main]; + (n && n[jo]) || ((n = e[t.main] = {})[jo] = !0); + return n; + })(r); + o[r.sub] = t; + } + } else e[r.main] = t; + } + return t; + }), + (t.getClass = function (t, n, i) { + var r = e[t]; + if ((r && r[jo] && (r = n ? r[n] : null), i && !r)) throw new Error(n ? "Component " + t + "." + (n || "") + " is used but not imported." : t + ".type should be specified."); + return r; + }), + (t.getClassesByMainType = function (t) { + var n = Ko(t), + i = [], + r = e[n.main]; + return ( + r && r[jo] + ? E(r, function (t, e) { + e !== jo && i.push(t); + }) + : i.push(r), + i + ); + }), + (t.hasClass = function (t) { + var n = Ko(t); + return !!e[n.main]; + }), + (t.getAllClassMainTypes = function () { + var t = []; + return ( + E(e, function (e, n) { + t.push(n); + }), + t + ); + }), + (t.hasSubTypes = function (t) { + var n = Ko(t), + i = e[n.main]; + return i && i[jo]; + }); + } + function ia(t, e) { + for (var n = 0; n < t.length; n++) t[n][1] || (t[n][1] = t[n][0]); + return ( + (e = e || !1), + function (n, i, r) { + for (var o = {}, a = 0; a < t.length; a++) { + var s = t[a][1]; + if (!((i && P(i, s) >= 0) || (r && P(r, s) < 0))) { + var l = n.getShallow(s, e); + null != l && (o[t[a][0]] = l); + } + } + return o; + } + ); + } + var ra = ia([["fill", "color"], ["shadowBlur"], ["shadowOffsetX"], ["shadowOffsetY"], ["opacity"], ["shadowColor"]]), + oa = (function () { + function t() {} + return ( + (t.prototype.getAreaStyle = function (t, e) { + return ra(this, t, e); + }), + t + ); + })(), + aa = new En(50); + function sa(t) { + if ("string" == typeof t) { + var e = aa.get(t); + return e && e.image; + } + return t; + } + function la(t, e, n, i, r) { + if (t) { + if ("string" == typeof t) { + if ((e && e.__zrImageSrc === t) || !n) return e; + var o = aa.get(t), + a = { hostEl: n, cb: i, cbPayload: r }; + return o ? !ha((e = o.image)) && o.pending.push(a) : (((e = h.loadImage(t, ua, ua)).__zrImageSrc = t), aa.put(t, (e.__cachedImgObj = { image: e, pending: [a] }))), e; + } + return t; + } + return e; + } + function ua() { + var t = this.__cachedImgObj; + this.onload = this.onerror = this.__cachedImgObj = null; + for (var e = 0; e < t.pending.length; e++) { + var n = t.pending[e], + i = n.cb; + i && i(this, n.cbPayload), n.hostEl.dirty(); + } + t.pending.length = 0; + } + function ha(t) { + return t && t.width && t.height; + } + var ca = /\{([a-zA-Z0-9_]+)\|([^}]*)\}/g; + function pa(t, e, n, i, r) { + if (!e) return ""; + var o = (t + "").split("\n"); + r = da(e, n, i, r); + for (var a = 0, s = o.length; a < s; a++) o[a] = fa(o[a], r); + return o.join("\n"); + } + function da(t, e, n, i) { + var r = A({}, (i = i || {})); + (r.font = e), (n = rt(n, "...")), (r.maxIterations = rt(i.maxIterations, 2)); + var o = (r.minChar = rt(i.minChar, 0)); + r.cnCharWidth = br("国", e); + var a = (r.ascCharWidth = br("a", e)); + r.placeholder = rt(i.placeholder, ""); + for (var s = (t = Math.max(0, t - 1)), l = 0; l < o && s >= a; l++) s -= a; + var u = br(n, e); + return u > s && ((n = ""), (u = 0)), (s = t - u), (r.ellipsis = n), (r.ellipsisWidth = u), (r.contentWidth = s), (r.containerWidth = t), r; + } + function fa(t, e) { + var n = e.containerWidth, + i = e.font, + r = e.contentWidth; + if (!n) return ""; + var o = br(t, i); + if (o <= n) return t; + for (var a = 0; ; a++) { + if (o <= r || a >= e.maxIterations) { + t += e.ellipsis; + break; + } + var s = 0 === a ? ga(t, r, e.ascCharWidth, e.cnCharWidth) : o > 0 ? Math.floor((t.length * r) / o) : 0; + o = br((t = t.substr(0, s)), i); + } + return "" === t && (t = e.placeholder), t; + } + function ga(t, e, n, i) { + for (var r = 0, o = 0, a = t.length; o < a && r < e; o++) { + var s = t.charCodeAt(o); + r += 0 <= s && s <= 127 ? n : i; + } + return o; + } + var ya = function () {}, + va = function (t) { + (this.tokens = []), t && (this.tokens = t); + }, + ma = function () { + (this.width = 0), (this.height = 0), (this.contentWidth = 0), (this.contentHeight = 0), (this.outerWidth = 0), (this.outerHeight = 0), (this.lines = []); + }; + function xa(t, e, n, i, r) { + var o, + a, + s = "" === e, + l = (r && n.rich[r]) || {}, + u = t.lines, + h = l.font || n.font, + c = !1; + if (i) { + var p = l.padding, + d = p ? p[1] + p[3] : 0; + if (null != l.width && "auto" !== l.width) { + var f = Cr(l.width, i.width) + d; + u.length > 0 && f + i.accumWidth > i.width && ((o = e.split("\n")), (c = !0)), (i.accumWidth = f); + } else { + var g = wa(e, h, i.width, i.breakAll, i.accumWidth); + (i.accumWidth = g.accumWidth + d), (a = g.linesWidths), (o = g.lines); + } + } else o = e.split("\n"); + for (var y = 0; y < o.length; y++) { + var v = o[y], + m = new ya(); + if (((m.styleName = r), (m.text = v), (m.isLineHolder = !v && !s), "number" == typeof l.width ? (m.width = l.width) : (m.width = a ? a[y] : br(v, h)), y || c)) u.push(new va([m])); + else { + var x = (u[u.length - 1] || (u[0] = new va())).tokens, + _ = x.length; + 1 === _ && x[0].isLineHolder ? (x[0] = m) : (v || !_ || s) && x.push(m); + } + } + } + var _a = V( + ",&?/;] ".split(""), + function (t, e) { + return (t[e] = !0), t; + }, + {} + ); + function ba(t) { + return ( + !(function (t) { + var e = t.charCodeAt(0); + return (e >= 32 && e <= 591) || (e >= 880 && e <= 4351) || (e >= 4608 && e <= 5119) || (e >= 7680 && e <= 8303); + })(t) || !!_a[t] + ); + } + function wa(t, e, n, i, r) { + for (var o = [], a = [], s = "", l = "", u = 0, h = 0, c = 0; c < t.length; c++) { + var p = t.charAt(c); + if ("\n" !== p) { + var d = br(p, e), + f = !i && !ba(p); + (o.length ? h + d > n : r + h + d > n) + ? h + ? (s || l) && (f ? (s || ((s = l), (l = ""), (h = u = 0)), o.push(s), a.push(h - u), (l += p), (s = ""), (h = u += d)) : (l && ((s += l), (l = ""), (u = 0)), o.push(s), a.push(h), (s = p), (h = d))) + : f + ? (o.push(l), a.push(u), (l = p), (u = d)) + : (o.push(p), a.push(d)) + : ((h += d), f ? ((l += p), (u += d)) : (l && ((s += l), (l = ""), (u = 0)), (s += p))); + } else l && ((s += l), (h += u)), o.push(s), a.push(h), (s = ""), (l = ""), (u = 0), (h = 0); + } + return o.length || s || ((s = t), (l = ""), (u = 0)), l && (s += l), s && (o.push(s), a.push(h)), 1 === o.length && (h += r), { accumWidth: h, lines: o, linesWidths: a }; + } + var Sa = "__zr_style_" + Math.round(10 * Math.random()), + Ma = { shadowBlur: 0, shadowOffsetX: 0, shadowOffsetY: 0, shadowColor: "#000", opacity: 1, blend: "source-over" }, + Ia = { style: { shadowBlur: !0, shadowOffsetX: !0, shadowOffsetY: !0, shadowColor: !0, opacity: !0 } }; + Ma[Sa] = !0; + var Ta = ["z", "z2", "invisible"], + Ca = ["invisible"], + Da = (function (t) { + function e(e) { + return t.call(this, e) || this; + } + var i; + return ( + n(e, t), + (e.prototype._init = function (e) { + for (var n = G(e), i = 0; i < n.length; i++) { + var r = n[i]; + "style" === r ? this.useStyle(e[r]) : t.prototype.attrKV.call(this, r, e[r]); + } + this.style || this.useStyle({}); + }), + (e.prototype.beforeBrush = function () {}), + (e.prototype.afterBrush = function () {}), + (e.prototype.innerBeforeBrush = function () {}), + (e.prototype.innerAfterBrush = function () {}), + (e.prototype.shouldBePainted = function (t, e, n, i) { + var r = this.transform; + if ( + this.ignore || + this.invisible || + 0 === this.style.opacity || + (this.culling && + (function (t, e, n) { + Aa.copy(t.getBoundingRect()), t.transform && Aa.applyTransform(t.transform); + return (ka.width = e), (ka.height = n), !Aa.intersect(ka); + })(this, t, e)) || + (r && !r[0] && !r[3]) + ) + return !1; + if (n && this.__clipPaths) for (var o = 0; o < this.__clipPaths.length; ++o) if (this.__clipPaths[o].isZeroArea()) return !1; + if (i && this.parent) + for (var a = this.parent; a; ) { + if (a.ignore) return !1; + a = a.parent; + } + return !0; + }), + (e.prototype.contain = function (t, e) { + return this.rectContain(t, e); + }), + (e.prototype.traverse = function (t, e) { + t.call(e, this); + }), + (e.prototype.rectContain = function (t, e) { + var n = this.transformCoordToLocal(t, e); + return this.getBoundingRect().contain(n[0], n[1]); + }), + (e.prototype.getPaintRect = function () { + var t = this._paintRect; + if (!this._paintRect || this.__dirty) { + var e = this.transform, + n = this.getBoundingRect(), + i = this.style, + r = i.shadowBlur || 0, + o = i.shadowOffsetX || 0, + a = i.shadowOffsetY || 0; + (t = this._paintRect || (this._paintRect = new ze(0, 0, 0, 0))), + e ? ze.applyTransform(t, n, e) : t.copy(n), + (r || o || a) && ((t.width += 2 * r + Math.abs(o)), (t.height += 2 * r + Math.abs(a)), (t.x = Math.min(t.x, t.x + o - r)), (t.y = Math.min(t.y, t.y + a - r))); + var s = this.dirtyRectTolerance; + t.isZero() || ((t.x = Math.floor(t.x - s)), (t.y = Math.floor(t.y - s)), (t.width = Math.ceil(t.width + 1 + 2 * s)), (t.height = Math.ceil(t.height + 1 + 2 * s))); + } + return t; + }), + (e.prototype.setPrevPaintRect = function (t) { + t ? ((this._prevPaintRect = this._prevPaintRect || new ze(0, 0, 0, 0)), this._prevPaintRect.copy(t)) : (this._prevPaintRect = null); + }), + (e.prototype.getPrevPaintRect = function () { + return this._prevPaintRect; + }), + (e.prototype.animateStyle = function (t) { + return this.animate("style", t); + }), + (e.prototype.updateDuringAnimation = function (t) { + "style" === t ? this.dirtyStyle() : this.markRedraw(); + }), + (e.prototype.attrKV = function (e, n) { + "style" !== e ? t.prototype.attrKV.call(this, e, n) : this.style ? this.setStyle(n) : this.useStyle(n); + }), + (e.prototype.setStyle = function (t, e) { + return "string" == typeof t ? (this.style[t] = e) : A(this.style, t), this.dirtyStyle(), this; + }), + (e.prototype.dirtyStyle = function (t) { + t || this.markRedraw(), (this.__dirty |= 2), this._rect && (this._rect = null); + }), + (e.prototype.dirty = function () { + this.dirtyStyle(); + }), + (e.prototype.styleChanged = function () { + return !!(2 & this.__dirty); + }), + (e.prototype.styleUpdated = function () { + this.__dirty &= -3; + }), + (e.prototype.createStyle = function (t) { + return mt(Ma, t); + }), + (e.prototype.useStyle = function (t) { + t[Sa] || (t = this.createStyle(t)), this.__inHover ? (this.__hoverStyle = t) : (this.style = t), this.dirtyStyle(); + }), + (e.prototype.isStyleObject = function (t) { + return t[Sa]; + }), + (e.prototype._innerSaveToNormal = function (e) { + t.prototype._innerSaveToNormal.call(this, e); + var n = this._normalState; + e.style && !n.style && (n.style = this._mergeStyle(this.createStyle(), this.style)), this._savePrimaryToNormal(e, n, Ta); + }), + (e.prototype._applyStateObj = function (e, n, i, r, o, a) { + t.prototype._applyStateObj.call(this, e, n, i, r, o, a); + var s, + l = !(n && r); + if ( + (n && n.style + ? o + ? r + ? (s = n.style) + : ((s = this._mergeStyle(this.createStyle(), i.style)), this._mergeStyle(s, n.style)) + : ((s = this._mergeStyle(this.createStyle(), r ? this.style : i.style)), this._mergeStyle(s, n.style)) + : l && (s = i.style), + s) + ) + if (o) { + var u = this.style; + if (((this.style = this.createStyle(l ? {} : u)), l)) + for (var h = G(u), c = 0; c < h.length; c++) { + (d = h[c]) in s && ((s[d] = s[d]), (this.style[d] = u[d])); + } + var p = G(s); + for (c = 0; c < p.length; c++) { + var d = p[c]; + this.style[d] = this.style[d]; + } + this._transitionState(e, { style: s }, a, this.getAnimationStyleProps()); + } else this.useStyle(s); + var f = this.__inHover ? Ca : Ta; + for (c = 0; c < f.length; c++) { + d = f[c]; + n && null != n[d] ? (this[d] = n[d]) : l && null != i[d] && (this[d] = i[d]); + } + }), + (e.prototype._mergeStates = function (e) { + for (var n, i = t.prototype._mergeStates.call(this, e), r = 0; r < e.length; r++) { + var o = e[r]; + o.style && ((n = n || {}), this._mergeStyle(n, o.style)); + } + return n && (i.style = n), i; + }), + (e.prototype._mergeStyle = function (t, e) { + return A(t, e), t; + }), + (e.prototype.getAnimationStyleProps = function () { + return Ia; + }), + (e.initDefaultProps = + (((i = e.prototype).type = "displayable"), + (i.invisible = !1), + (i.z = 0), + (i.z2 = 0), + (i.zlevel = 0), + (i.culling = !1), + (i.cursor = "pointer"), + (i.rectHover = !1), + (i.incremental = !1), + (i._rect = null), + (i.dirtyRectTolerance = 0), + void (i.__dirty = 3))), + e + ); + })(Rr), + Aa = new ze(0, 0, 0, 0), + ka = new ze(0, 0, 0, 0); + var La = Math.min, + Pa = Math.max, + Oa = Math.sin, + Ra = Math.cos, + Na = 2 * Math.PI, + Ea = Mt(), + za = Mt(), + Va = Mt(); + function Ba(t, e, n) { + if (0 !== t.length) { + for (var i = t[0], r = i[0], o = i[0], a = i[1], s = i[1], l = 1; l < t.length; l++) (i = t[l]), (r = La(r, i[0])), (o = Pa(o, i[0])), (a = La(a, i[1])), (s = Pa(s, i[1])); + (e[0] = r), (e[1] = a), (n[0] = o), (n[1] = s); + } + } + function Fa(t, e, n, i, r, o) { + (r[0] = La(t, n)), (r[1] = La(e, i)), (o[0] = Pa(t, n)), (o[1] = Pa(e, i)); + } + var Ga = [], + Wa = []; + function Ha(t, e, n, i, r, o, a, s, l, u) { + var h = bn, + c = mn, + p = h(t, n, r, a, Ga); + (l[0] = 1 / 0), (l[1] = 1 / 0), (u[0] = -1 / 0), (u[1] = -1 / 0); + for (var d = 0; d < p; d++) { + var f = c(t, n, r, a, Ga[d]); + (l[0] = La(f, l[0])), (u[0] = Pa(f, u[0])); + } + p = h(e, i, o, s, Wa); + for (d = 0; d < p; d++) { + var g = c(e, i, o, s, Wa[d]); + (l[1] = La(g, l[1])), (u[1] = Pa(g, u[1])); + } + (l[0] = La(t, l[0])), (u[0] = Pa(t, u[0])), (l[0] = La(a, l[0])), (u[0] = Pa(a, u[0])), (l[1] = La(e, l[1])), (u[1] = Pa(e, u[1])), (l[1] = La(s, l[1])), (u[1] = Pa(s, u[1])); + } + function Ya(t, e, n, i, r, o, a, s) { + var l = Cn, + u = In, + h = Pa(La(l(t, n, r), 1), 0), + c = Pa(La(l(e, i, o), 1), 0), + p = u(t, n, r, h), + d = u(e, i, o, c); + (a[0] = La(t, r, p)), (a[1] = La(e, o, d)), (s[0] = Pa(t, r, p)), (s[1] = Pa(e, o, d)); + } + function Xa(t, e, n, i, r, o, a, s, l) { + var u = Ht, + h = Yt, + c = Math.abs(r - o); + if (c % Na < 1e-4 && c > 1e-4) return (s[0] = t - n), (s[1] = e - i), (l[0] = t + n), void (l[1] = e + i); + if ( + ((Ea[0] = Ra(r) * n + t), + (Ea[1] = Oa(r) * i + e), + (za[0] = Ra(o) * n + t), + (za[1] = Oa(o) * i + e), + u(s, Ea, za), + h(l, Ea, za), + (r %= Na) < 0 && (r += Na), + (o %= Na) < 0 && (o += Na), + r > o && !a ? (o += Na) : r < o && a && (r += Na), + a) + ) { + var p = o; + (o = r), (r = p); + } + for (var d = 0; d < o; d += Math.PI / 2) d > r && ((Va[0] = Ra(d) * n + t), (Va[1] = Oa(d) * i + e), u(s, Va, s), h(l, Va, l)); + } + var Ua = { M: 1, L: 2, C: 3, Q: 4, A: 5, Z: 6, R: 7 }, + Za = [], + ja = [], + qa = [], + Ka = [], + $a = [], + Ja = [], + Qa = Math.min, + ts = Math.max, + es = Math.cos, + ns = Math.sin, + is = Math.abs, + rs = Math.PI, + os = 2 * rs, + as = "undefined" != typeof Float32Array, + ss = []; + function ls(t) { + return ((Math.round((t / rs) * 1e8) / 1e8) % 2) * rs; + } + function us(t, e) { + var n = ls(t[0]); + n < 0 && (n += os); + var i = n - t[0], + r = t[1]; + (r += i), !e && r - n >= os ? (r = n + os) : e && n - r >= os ? (r = n - os) : !e && n > r ? (r = n + (os - ls(n - r))) : e && n < r && (r = n - (os - ls(r - n))), (t[0] = n), (t[1] = r); + } + var hs = (function () { + function t(t) { + (this.dpr = 1), (this._xi = 0), (this._yi = 0), (this._x0 = 0), (this._y0 = 0), (this._len = 0), t && (this._saveData = !1), this._saveData && (this.data = []); + } + return ( + (t.prototype.increaseVersion = function () { + this._version++; + }), + (t.prototype.getVersion = function () { + return this._version; + }), + (t.prototype.setScale = function (t, e, n) { + (n = n || 0) > 0 && ((this._ux = is(n / sr / t) || 0), (this._uy = is(n / sr / e) || 0)); + }), + (t.prototype.setDPR = function (t) { + this.dpr = t; + }), + (t.prototype.setContext = function (t) { + this._ctx = t; + }), + (t.prototype.getContext = function () { + return this._ctx; + }), + (t.prototype.beginPath = function () { + return this._ctx && this._ctx.beginPath(), this.reset(), this; + }), + (t.prototype.reset = function () { + this._saveData && (this._len = 0), this._pathSegLen && ((this._pathSegLen = null), (this._pathLen = 0)), this._version++; + }), + (t.prototype.moveTo = function (t, e) { + return this._drawPendingPt(), this.addData(Ua.M, t, e), this._ctx && this._ctx.moveTo(t, e), (this._x0 = t), (this._y0 = e), (this._xi = t), (this._yi = e), this; + }), + (t.prototype.lineTo = function (t, e) { + var n = is(t - this._xi), + i = is(e - this._yi), + r = n > this._ux || i > this._uy; + if ((this.addData(Ua.L, t, e), this._ctx && r && this._ctx.lineTo(t, e), r)) (this._xi = t), (this._yi = e), (this._pendingPtDist = 0); + else { + var o = n * n + i * i; + o > this._pendingPtDist && ((this._pendingPtX = t), (this._pendingPtY = e), (this._pendingPtDist = o)); + } + return this; + }), + (t.prototype.bezierCurveTo = function (t, e, n, i, r, o) { + return this._drawPendingPt(), this.addData(Ua.C, t, e, n, i, r, o), this._ctx && this._ctx.bezierCurveTo(t, e, n, i, r, o), (this._xi = r), (this._yi = o), this; + }), + (t.prototype.quadraticCurveTo = function (t, e, n, i) { + return this._drawPendingPt(), this.addData(Ua.Q, t, e, n, i), this._ctx && this._ctx.quadraticCurveTo(t, e, n, i), (this._xi = n), (this._yi = i), this; + }), + (t.prototype.arc = function (t, e, n, i, r, o) { + this._drawPendingPt(), (ss[0] = i), (ss[1] = r), us(ss, o), (i = ss[0]); + var a = (r = ss[1]) - i; + return this.addData(Ua.A, t, e, n, n, i, a, 0, o ? 0 : 1), this._ctx && this._ctx.arc(t, e, n, i, r, o), (this._xi = es(r) * n + t), (this._yi = ns(r) * n + e), this; + }), + (t.prototype.arcTo = function (t, e, n, i, r) { + return this._drawPendingPt(), this._ctx && this._ctx.arcTo(t, e, n, i, r), this; + }), + (t.prototype.rect = function (t, e, n, i) { + return this._drawPendingPt(), this._ctx && this._ctx.rect(t, e, n, i), this.addData(Ua.R, t, e, n, i), this; + }), + (t.prototype.closePath = function () { + this._drawPendingPt(), this.addData(Ua.Z); + var t = this._ctx, + e = this._x0, + n = this._y0; + return t && t.closePath(), (this._xi = e), (this._yi = n), this; + }), + (t.prototype.fill = function (t) { + t && t.fill(), this.toStatic(); + }), + (t.prototype.stroke = function (t) { + t && t.stroke(), this.toStatic(); + }), + (t.prototype.len = function () { + return this._len; + }), + (t.prototype.setData = function (t) { + var e = t.length; + (this.data && this.data.length === e) || !as || (this.data = new Float32Array(e)); + for (var n = 0; n < e; n++) this.data[n] = t[n]; + this._len = e; + }), + (t.prototype.appendPath = function (t) { + t instanceof Array || (t = [t]); + for (var e = t.length, n = 0, i = this._len, r = 0; r < e; r++) n += t[r].len(); + as && this.data instanceof Float32Array && (this.data = new Float32Array(i + n)); + for (r = 0; r < e; r++) for (var o = t[r].data, a = 0; a < o.length; a++) this.data[i++] = o[a]; + this._len = i; + }), + (t.prototype.addData = function (t, e, n, i, r, o, a, s, l) { + if (this._saveData) { + var u = this.data; + this._len + arguments.length > u.length && (this._expandData(), (u = this.data)); + for (var h = 0; h < arguments.length; h++) u[this._len++] = arguments[h]; + } + }), + (t.prototype._drawPendingPt = function () { + this._pendingPtDist > 0 && (this._ctx && this._ctx.lineTo(this._pendingPtX, this._pendingPtY), (this._pendingPtDist = 0)); + }), + (t.prototype._expandData = function () { + if (!(this.data instanceof Array)) { + for (var t = [], e = 0; e < this._len; e++) t[e] = this.data[e]; + this.data = t; + } + }), + (t.prototype.toStatic = function () { + if (this._saveData) { + this._drawPendingPt(); + var t = this.data; + t instanceof Array && ((t.length = this._len), as && this._len > 11 && (this.data = new Float32Array(t))); + } + }), + (t.prototype.getBoundingRect = function () { + (qa[0] = qa[1] = $a[0] = $a[1] = Number.MAX_VALUE), (Ka[0] = Ka[1] = Ja[0] = Ja[1] = -Number.MAX_VALUE); + var t, + e = this.data, + n = 0, + i = 0, + r = 0, + o = 0; + for (t = 0; t < this._len; ) { + var a = e[t++], + s = 1 === t; + switch ((s && ((r = n = e[t]), (o = i = e[t + 1])), a)) { + case Ua.M: + (n = r = e[t++]), (i = o = e[t++]), ($a[0] = r), ($a[1] = o), (Ja[0] = r), (Ja[1] = o); + break; + case Ua.L: + Fa(n, i, e[t], e[t + 1], $a, Ja), (n = e[t++]), (i = e[t++]); + break; + case Ua.C: + Ha(n, i, e[t++], e[t++], e[t++], e[t++], e[t], e[t + 1], $a, Ja), (n = e[t++]), (i = e[t++]); + break; + case Ua.Q: + Ya(n, i, e[t++], e[t++], e[t], e[t + 1], $a, Ja), (n = e[t++]), (i = e[t++]); + break; + case Ua.A: + var l = e[t++], + u = e[t++], + h = e[t++], + c = e[t++], + p = e[t++], + d = e[t++] + p; + t += 1; + var f = !e[t++]; + s && ((r = es(p) * h + l), (o = ns(p) * c + u)), Xa(l, u, h, c, p, d, f, $a, Ja), (n = es(d) * h + l), (i = ns(d) * c + u); + break; + case Ua.R: + Fa((r = n = e[t++]), (o = i = e[t++]), r + e[t++], o + e[t++], $a, Ja); + break; + case Ua.Z: + (n = r), (i = o); + } + Ht(qa, qa, $a), Yt(Ka, Ka, Ja); + } + return 0 === t && (qa[0] = qa[1] = Ka[0] = Ka[1] = 0), new ze(qa[0], qa[1], Ka[0] - qa[0], Ka[1] - qa[1]); + }), + (t.prototype._calculateLength = function () { + var t = this.data, + e = this._len, + n = this._ux, + i = this._uy, + r = 0, + o = 0, + a = 0, + s = 0; + this._pathSegLen || (this._pathSegLen = []); + for (var l = this._pathSegLen, u = 0, h = 0, c = 0; c < e; ) { + var p = t[c++], + d = 1 === c; + d && ((a = r = t[c]), (s = o = t[c + 1])); + var f = -1; + switch (p) { + case Ua.M: + (r = a = t[c++]), (o = s = t[c++]); + break; + case Ua.L: + var g = t[c++], + y = (x = t[c++]) - o; + (is((A = g - r)) > n || is(y) > i || c === e - 1) && ((f = Math.sqrt(A * A + y * y)), (r = g), (o = x)); + break; + case Ua.C: + var v = t[c++], + m = t[c++], + x = ((g = t[c++]), t[c++]), + _ = t[c++], + b = t[c++]; + (f = Mn(r, o, v, m, g, x, _, b, 10)), (r = _), (o = b); + break; + case Ua.Q: + (f = kn(r, o, (v = t[c++]), (m = t[c++]), (g = t[c++]), (x = t[c++]), 10)), (r = g), (o = x); + break; + case Ua.A: + var w = t[c++], + S = t[c++], + M = t[c++], + I = t[c++], + T = t[c++], + C = t[c++], + D = C + T; + (c += 1), d && ((a = es(T) * M + w), (s = ns(T) * I + S)), (f = ts(M, I) * Qa(os, Math.abs(C))), (r = es(D) * M + w), (o = ns(D) * I + S); + break; + case Ua.R: + (a = r = t[c++]), (s = o = t[c++]), (f = 2 * t[c++] + 2 * t[c++]); + break; + case Ua.Z: + var A = a - r; + y = s - o; + (f = Math.sqrt(A * A + y * y)), (r = a), (o = s); + } + f >= 0 && ((l[h++] = f), (u += f)); + } + return (this._pathLen = u), u; + }), + (t.prototype.rebuildPath = function (t, e) { + var n, + i, + r, + o, + a, + s, + l, + u, + h, + c, + p = this.data, + d = this._ux, + f = this._uy, + g = this._len, + y = e < 1, + v = 0, + m = 0, + x = 0; + if (!y || (this._pathSegLen || this._calculateLength(), (l = this._pathSegLen), (u = e * this._pathLen))) + t: for (var _ = 0; _ < g; ) { + var b = p[_++], + w = 1 === _; + switch ((w && ((n = r = p[_]), (i = o = p[_ + 1])), b !== Ua.L && x > 0 && (t.lineTo(h, c), (x = 0)), b)) { + case Ua.M: + (n = r = p[_++]), (i = o = p[_++]), t.moveTo(r, o); + break; + case Ua.L: + (a = p[_++]), (s = p[_++]); + var S = is(a - r), + M = is(s - o); + if (S > d || M > f) { + if (y) { + if (v + (j = l[m++]) > u) { + var I = (u - v) / j; + t.lineTo(r * (1 - I) + a * I, o * (1 - I) + s * I); + break t; + } + v += j; + } + t.lineTo(a, s), (r = a), (o = s), (x = 0); + } else { + var T = S * S + M * M; + T > x && ((h = a), (c = s), (x = T)); + } + break; + case Ua.C: + var C = p[_++], + D = p[_++], + A = p[_++], + k = p[_++], + L = p[_++], + P = p[_++]; + if (y) { + if (v + (j = l[m++]) > u) { + wn(r, C, A, L, (I = (u - v) / j), Za), wn(o, D, k, P, I, ja), t.bezierCurveTo(Za[1], ja[1], Za[2], ja[2], Za[3], ja[3]); + break t; + } + v += j; + } + t.bezierCurveTo(C, D, A, k, L, P), (r = L), (o = P); + break; + case Ua.Q: + (C = p[_++]), (D = p[_++]), (A = p[_++]), (k = p[_++]); + if (y) { + if (v + (j = l[m++]) > u) { + Dn(r, C, A, (I = (u - v) / j), Za), Dn(o, D, k, I, ja), t.quadraticCurveTo(Za[1], ja[1], Za[2], ja[2]); + break t; + } + v += j; + } + t.quadraticCurveTo(C, D, A, k), (r = A), (o = k); + break; + case Ua.A: + var O = p[_++], + R = p[_++], + N = p[_++], + E = p[_++], + z = p[_++], + V = p[_++], + B = p[_++], + F = !p[_++], + G = N > E ? N : E, + W = is(N - E) > 0.001, + H = z + V, + Y = !1; + if (y) v + (j = l[m++]) > u && ((H = z + (V * (u - v)) / j), (Y = !0)), (v += j); + if ((W && t.ellipse ? t.ellipse(O, R, N, E, B, z, H, F) : t.arc(O, R, G, z, H, F), Y)) break t; + w && ((n = es(z) * N + O), (i = ns(z) * E + R)), (r = es(H) * N + O), (o = ns(H) * E + R); + break; + case Ua.R: + (n = r = p[_]), (i = o = p[_ + 1]), (a = p[_++]), (s = p[_++]); + var X = p[_++], + U = p[_++]; + if (y) { + if (v + (j = l[m++]) > u) { + var Z = u - v; + t.moveTo(a, s), t.lineTo(a + Qa(Z, X), s), (Z -= X) > 0 && t.lineTo(a + X, s + Qa(Z, U)), (Z -= U) > 0 && t.lineTo(a + ts(X - Z, 0), s + U), (Z -= X) > 0 && t.lineTo(a, s + ts(U - Z, 0)); + break t; + } + v += j; + } + t.rect(a, s, X, U); + break; + case Ua.Z: + if (y) { + var j; + if (v + (j = l[m++]) > u) { + I = (u - v) / j; + t.lineTo(r * (1 - I) + n * I, o * (1 - I) + i * I); + break t; + } + v += j; + } + t.closePath(), (r = n), (o = i); + } + } + }), + (t.prototype.clone = function () { + var e = new t(), + n = this.data; + return (e.data = n.slice ? n.slice() : Array.prototype.slice.call(n)), (e._len = this._len), e; + }), + (t.CMD = Ua), + (t.initDefaultProps = (function () { + var e = t.prototype; + (e._saveData = !0), (e._ux = 0), (e._uy = 0), (e._pendingPtDist = 0), (e._version = 0); + })()), + t + ); + })(); + function cs(t, e, n, i, r, o, a) { + if (0 === r) return !1; + var s = r, + l = 0; + if ((a > e + s && a > i + s) || (a < e - s && a < i - s) || (o > t + s && o > n + s) || (o < t - s && o < n - s)) return !1; + if (t === n) return Math.abs(o - t) <= s / 2; + var u = (l = (e - i) / (t - n)) * o - a + (t * i - n * e) / (t - n); + return (u * u) / (l * l + 1) <= ((s / 2) * s) / 2; + } + function ps(t, e, n, i, r, o, a, s, l, u, h) { + if (0 === l) return !1; + var c = l; + return ( + !((h > e + c && h > i + c && h > o + c && h > s + c) || (h < e - c && h < i - c && h < o - c && h < s - c) || (u > t + c && u > n + c && u > r + c && u > a + c) || (u < t - c && u < n - c && u < r - c && u < a - c)) && + Sn(t, e, n, i, r, o, a, s, u, h, null) <= c / 2 + ); + } + function ds(t, e, n, i, r, o, a, s, l) { + if (0 === a) return !1; + var u = a; + return !((l > e + u && l > i + u && l > o + u) || (l < e - u && l < i - u && l < o - u) || (s > t + u && s > n + u && s > r + u) || (s < t - u && s < n - u && s < r - u)) && An(t, e, n, i, r, o, s, l, null) <= u / 2; + } + var fs = 2 * Math.PI; + function gs(t) { + return (t %= fs) < 0 && (t += fs), t; + } + var ys = 2 * Math.PI; + function vs(t, e, n, i, r, o, a, s, l) { + if (0 === a) return !1; + var u = a; + (s -= t), (l -= e); + var h = Math.sqrt(s * s + l * l); + if (h - u > n || h + u < n) return !1; + if (Math.abs(i - r) % ys < 1e-4) return !0; + if (o) { + var c = i; + (i = gs(r)), (r = gs(c)); + } else (i = gs(i)), (r = gs(r)); + i > r && (r += ys); + var p = Math.atan2(l, s); + return p < 0 && (p += ys), (p >= i && p <= r) || (p + ys >= i && p + ys <= r); + } + function ms(t, e, n, i, r, o) { + if ((o > e && o > i) || (o < e && o < i)) return 0; + if (i === e) return 0; + var a = (o - e) / (i - e), + s = i < e ? 1 : -1; + (1 !== a && 0 !== a) || (s = i < e ? 0.5 : -0.5); + var l = a * (n - t) + t; + return l === r ? 1 / 0 : l > r ? s : 0; + } + var xs = hs.CMD, + _s = 2 * Math.PI; + var bs = [-1, -1, -1], + ws = [-1, -1]; + function Ss(t, e, n, i, r, o, a, s, l, u) { + if ((u > e && u > i && u > o && u > s) || (u < e && u < i && u < o && u < s)) return 0; + var h, + c = _n(e, i, o, s, u, bs); + if (0 === c) return 0; + for (var p = 0, d = -1, f = void 0, g = void 0, y = 0; y < c; y++) { + var v = bs[y], + m = 0 === v || 1 === v ? 0.5 : 1; + mn(t, n, r, a, v) < l || + (d < 0 && ((d = bn(e, i, o, s, ws)), ws[1] < ws[0] && d > 1 && ((h = void 0), (h = ws[0]), (ws[0] = ws[1]), (ws[1] = h)), (f = mn(e, i, o, s, ws[0])), d > 1 && (g = mn(e, i, o, s, ws[1]))), + 2 === d ? (v < ws[0] ? (p += f < e ? m : -m) : v < ws[1] ? (p += g < f ? m : -m) : (p += s < g ? m : -m)) : v < ws[0] ? (p += f < e ? m : -m) : (p += s < f ? m : -m)); + } + return p; + } + function Ms(t, e, n, i, r, o, a, s) { + if ((s > e && s > i && s > o) || (s < e && s < i && s < o)) return 0; + var l = (function (t, e, n, i, r) { + var o = t - 2 * e + n, + a = 2 * (e - t), + s = t - i, + l = 0; + if (yn(o)) vn(a) && (h = -s / a) >= 0 && h <= 1 && (r[l++] = h); + else { + var u = a * a - 4 * o * s; + if (yn(u)) (h = -a / (2 * o)) >= 0 && h <= 1 && (r[l++] = h); + else if (u > 0) { + var h, + c = ln(u), + p = (-a - c) / (2 * o); + (h = (-a + c) / (2 * o)) >= 0 && h <= 1 && (r[l++] = h), p >= 0 && p <= 1 && (r[l++] = p); + } + } + return l; + })(e, i, o, s, bs); + if (0 === l) return 0; + var u = Cn(e, i, o); + if (u >= 0 && u <= 1) { + for (var h = 0, c = In(e, i, o, u), p = 0; p < l; p++) { + var d = 0 === bs[p] || 1 === bs[p] ? 0.5 : 1; + In(t, n, r, bs[p]) < a || (bs[p] < u ? (h += c < e ? d : -d) : (h += o < c ? d : -d)); + } + return h; + } + d = 0 === bs[0] || 1 === bs[0] ? 0.5 : 1; + return In(t, n, r, bs[0]) < a ? 0 : o < e ? d : -d; + } + function Is(t, e, n, i, r, o, a, s) { + if ((s -= e) > n || s < -n) return 0; + var l = Math.sqrt(n * n - s * s); + (bs[0] = -l), (bs[1] = l); + var u = Math.abs(i - r); + if (u < 1e-4) return 0; + if (u >= _s - 1e-4) { + (i = 0), (r = _s); + var h = o ? 1 : -1; + return a >= bs[0] + t && a <= bs[1] + t ? h : 0; + } + if (i > r) { + var c = i; + (i = r), (r = c); + } + i < 0 && ((i += _s), (r += _s)); + for (var p = 0, d = 0; d < 2; d++) { + var f = bs[d]; + if (f + t > a) { + var g = Math.atan2(s, f); + h = o ? 1 : -1; + g < 0 && (g = _s + g), ((g >= i && g <= r) || (g + _s >= i && g + _s <= r)) && (g > Math.PI / 2 && g < 1.5 * Math.PI && (h = -h), (p += h)); + } + } + return p; + } + function Ts(t, e, n, i, r) { + for (var o, a, s, l, u = t.data, h = t.len(), c = 0, p = 0, d = 0, f = 0, g = 0, y = 0; y < h; ) { + var v = u[y++], + m = 1 === y; + switch ((v === xs.M && y > 1 && (n || (c += ms(p, d, f, g, i, r))), m && ((f = p = u[y]), (g = d = u[y + 1])), v)) { + case xs.M: + (p = f = u[y++]), (d = g = u[y++]); + break; + case xs.L: + if (n) { + if (cs(p, d, u[y], u[y + 1], e, i, r)) return !0; + } else c += ms(p, d, u[y], u[y + 1], i, r) || 0; + (p = u[y++]), (d = u[y++]); + break; + case xs.C: + if (n) { + if (ps(p, d, u[y++], u[y++], u[y++], u[y++], u[y], u[y + 1], e, i, r)) return !0; + } else c += Ss(p, d, u[y++], u[y++], u[y++], u[y++], u[y], u[y + 1], i, r) || 0; + (p = u[y++]), (d = u[y++]); + break; + case xs.Q: + if (n) { + if (ds(p, d, u[y++], u[y++], u[y], u[y + 1], e, i, r)) return !0; + } else c += Ms(p, d, u[y++], u[y++], u[y], u[y + 1], i, r) || 0; + (p = u[y++]), (d = u[y++]); + break; + case xs.A: + var x = u[y++], + _ = u[y++], + b = u[y++], + w = u[y++], + S = u[y++], + M = u[y++]; + y += 1; + var I = !!(1 - u[y++]); + (o = Math.cos(S) * b + x), (a = Math.sin(S) * w + _), m ? ((f = o), (g = a)) : (c += ms(p, d, o, a, i, r)); + var T = ((i - x) * w) / b + x; + if (n) { + if (vs(x, _, w, S, S + M, I, e, T, r)) return !0; + } else c += Is(x, _, w, S, S + M, I, T, r); + (p = Math.cos(S + M) * b + x), (d = Math.sin(S + M) * w + _); + break; + case xs.R: + if (((f = p = u[y++]), (g = d = u[y++]), (o = f + u[y++]), (a = g + u[y++]), n)) { + if (cs(f, g, o, g, e, i, r) || cs(o, g, o, a, e, i, r) || cs(o, a, f, a, e, i, r) || cs(f, a, f, g, e, i, r)) return !0; + } else (c += ms(o, g, o, a, i, r)), (c += ms(f, a, f, g, i, r)); + break; + case xs.Z: + if (n) { + if (cs(p, d, f, g, e, i, r)) return !0; + } else c += ms(p, d, f, g, i, r); + (p = f), (d = g); + } + } + return n || ((s = d), (l = g), Math.abs(s - l) < 1e-4) || (c += ms(p, d, f, g, i, r) || 0), 0 !== c; + } + var Cs = k({ fill: "#000", stroke: null, strokePercent: 1, fillOpacity: 1, strokeOpacity: 1, lineDashOffset: 0, lineWidth: 1, lineCap: "butt", miterLimit: 10, strokeNoScale: !1, strokeFirst: !1 }, Ma), + Ds = { style: k({ fill: !0, stroke: !0, strokePercent: !0, fillOpacity: !0, strokeOpacity: !0, lineDashOffset: !0, lineWidth: !0, miterLimit: !0 }, Ia.style) }, + As = mr.concat(["invisible", "culling", "z", "z2", "zlevel", "parent"]), + ks = (function (t) { + function e(e) { + return t.call(this, e) || this; + } + var i; + return ( + n(e, t), + (e.prototype.update = function () { + var n = this; + t.prototype.update.call(this); + var i = this.style; + if (i.decal) { + var r = (this._decalEl = this._decalEl || new e()); + r.buildPath === e.prototype.buildPath && + (r.buildPath = function (t) { + n.buildPath(t, n.shape); + }), + (r.silent = !0); + var o = r.style; + for (var a in i) o[a] !== i[a] && (o[a] = i[a]); + (o.fill = i.fill ? i.decal : null), (o.decal = null), (o.shadowColor = null), i.strokeFirst && (o.stroke = null); + for (var s = 0; s < As.length; ++s) r[As[s]] = this[As[s]]; + r.__dirty |= 1; + } else this._decalEl && (this._decalEl = null); + }), + (e.prototype.getDecalElement = function () { + return this._decalEl; + }), + (e.prototype._init = function (e) { + var n = G(e); + this.shape = this.getDefaultShape(); + var i = this.getDefaultStyle(); + i && this.useStyle(i); + for (var r = 0; r < n.length; r++) { + var o = n[r], + a = e[o]; + "style" === o ? (this.style ? A(this.style, a) : this.useStyle(a)) : "shape" === o ? A(this.shape, a) : t.prototype.attrKV.call(this, o, a); + } + this.style || this.useStyle({}); + }), + (e.prototype.getDefaultStyle = function () { + return null; + }), + (e.prototype.getDefaultShape = function () { + return {}; + }), + (e.prototype.canBeInsideText = function () { + return this.hasFill(); + }), + (e.prototype.getInsideTextFill = function () { + var t = this.style.fill; + if ("none" !== t) { + if (U(t)) { + var e = oi(t, 0); + return e > 0.5 ? lr : e > 0.2 ? "#eee" : ur; + } + if (t) return ur; + } + return lr; + }), + (e.prototype.getInsideTextStroke = function (t) { + var e = this.style.fill; + if (U(e)) { + var n = this.__zr; + if (!(!n || !n.isDarkMode()) === oi(t, 0) < 0.4) return e; + } + }), + (e.prototype.buildPath = function (t, e, n) {}), + (e.prototype.pathUpdated = function () { + this.__dirty &= -5; + }), + (e.prototype.getUpdatedPathProxy = function (t) { + return !this.path && this.createPathProxy(), this.path.beginPath(), this.buildPath(this.path, this.shape, t), this.path; + }), + (e.prototype.createPathProxy = function () { + this.path = new hs(!1); + }), + (e.prototype.hasStroke = function () { + var t = this.style, + e = t.stroke; + return !(null == e || "none" === e || !(t.lineWidth > 0)); + }), + (e.prototype.hasFill = function () { + var t = this.style.fill; + return null != t && "none" !== t; + }), + (e.prototype.getBoundingRect = function () { + var t = this._rect, + e = this.style, + n = !t; + if (n) { + var i = !1; + this.path || ((i = !0), this.createPathProxy()); + var r = this.path; + (i || 4 & this.__dirty) && (r.beginPath(), this.buildPath(r, this.shape, !1), this.pathUpdated()), (t = r.getBoundingRect()); + } + if (((this._rect = t), this.hasStroke() && this.path && this.path.len() > 0)) { + var o = this._rectStroke || (this._rectStroke = t.clone()); + if (this.__dirty || n) { + o.copy(t); + var a = e.strokeNoScale ? this.getLineScale() : 1, + s = e.lineWidth; + if (!this.hasFill()) { + var l = this.strokeContainThreshold; + s = Math.max(s, null == l ? 4 : l); + } + a > 1e-10 && ((o.width += s / a), (o.height += s / a), (o.x -= s / a / 2), (o.y -= s / a / 2)); + } + return o; + } + return t; + }), + (e.prototype.contain = function (t, e) { + var n = this.transformCoordToLocal(t, e), + i = this.getBoundingRect(), + r = this.style; + if (((t = n[0]), (e = n[1]), i.contain(t, e))) { + var o = this.path; + if (this.hasStroke()) { + var a = r.lineWidth, + s = r.strokeNoScale ? this.getLineScale() : 1; + if ( + s > 1e-10 && + (this.hasFill() || (a = Math.max(a, this.strokeContainThreshold)), + (function (t, e, n, i) { + return Ts(t, e, !0, n, i); + })(o, a / s, t, e)) + ) + return !0; + } + if (this.hasFill()) + return (function (t, e, n) { + return Ts(t, 0, !1, e, n); + })(o, t, e); + } + return !1; + }), + (e.prototype.dirtyShape = function () { + (this.__dirty |= 4), this._rect && (this._rect = null), this._decalEl && this._decalEl.dirtyShape(), this.markRedraw(); + }), + (e.prototype.dirty = function () { + this.dirtyStyle(), this.dirtyShape(); + }), + (e.prototype.animateShape = function (t) { + return this.animate("shape", t); + }), + (e.prototype.updateDuringAnimation = function (t) { + "style" === t ? this.dirtyStyle() : "shape" === t ? this.dirtyShape() : this.markRedraw(); + }), + (e.prototype.attrKV = function (e, n) { + "shape" === e ? this.setShape(n) : t.prototype.attrKV.call(this, e, n); + }), + (e.prototype.setShape = function (t, e) { + var n = this.shape; + return n || (n = this.shape = {}), "string" == typeof t ? (n[t] = e) : A(n, t), this.dirtyShape(), this; + }), + (e.prototype.shapeChanged = function () { + return !!(4 & this.__dirty); + }), + (e.prototype.createStyle = function (t) { + return mt(Cs, t); + }), + (e.prototype._innerSaveToNormal = function (e) { + t.prototype._innerSaveToNormal.call(this, e); + var n = this._normalState; + e.shape && !n.shape && (n.shape = A({}, this.shape)); + }), + (e.prototype._applyStateObj = function (e, n, i, r, o, a) { + t.prototype._applyStateObj.call(this, e, n, i, r, o, a); + var s, + l = !(n && r); + if ((n && n.shape ? (o ? (r ? (s = n.shape) : ((s = A({}, i.shape)), A(s, n.shape))) : ((s = A({}, r ? this.shape : i.shape)), A(s, n.shape))) : l && (s = i.shape), s)) + if (o) { + this.shape = A({}, this.shape); + for (var u = {}, h = G(s), c = 0; c < h.length; c++) { + var p = h[c]; + "object" == typeof s[p] ? (this.shape[p] = s[p]) : (u[p] = s[p]); + } + this._transitionState(e, { shape: u }, a); + } else (this.shape = s), this.dirtyShape(); + }), + (e.prototype._mergeStates = function (e) { + for (var n, i = t.prototype._mergeStates.call(this, e), r = 0; r < e.length; r++) { + var o = e[r]; + o.shape && ((n = n || {}), this._mergeStyle(n, o.shape)); + } + return n && (i.shape = n), i; + }), + (e.prototype.getAnimationStyleProps = function () { + return Ds; + }), + (e.prototype.isZeroArea = function () { + return !1; + }), + (e.extend = function (t) { + var i = (function (e) { + function i(n) { + var i = e.call(this, n) || this; + return t.init && t.init.call(i, n), i; + } + return ( + n(i, e), + (i.prototype.getDefaultStyle = function () { + return T(t.style); + }), + (i.prototype.getDefaultShape = function () { + return T(t.shape); + }), + i + ); + })(e); + for (var r in t) "function" == typeof t[r] && (i.prototype[r] = t[r]); + return i; + }), + (e.initDefaultProps = (((i = e.prototype).type = "path"), (i.strokeContainThreshold = 5), (i.segmentIgnoreThreshold = 0), (i.subPixelOptimize = !1), (i.autoBatch = !1), void (i.__dirty = 7))), + e + ); + })(Da), + Ls = k({ strokeFirst: !0, font: a, x: 0, y: 0, textAlign: "left", textBaseline: "top", miterLimit: 2 }, Cs), + Ps = (function (t) { + function e() { + return (null !== t && t.apply(this, arguments)) || this; + } + return ( + n(e, t), + (e.prototype.hasStroke = function () { + var t = this.style, + e = t.stroke; + return null != e && "none" !== e && t.lineWidth > 0; + }), + (e.prototype.hasFill = function () { + var t = this.style.fill; + return null != t && "none" !== t; + }), + (e.prototype.createStyle = function (t) { + return mt(Ls, t); + }), + (e.prototype.setBoundingRect = function (t) { + this._rect = t; + }), + (e.prototype.getBoundingRect = function () { + var t = this.style; + if (!this._rect) { + var e = t.text; + null != e ? (e += "") : (e = ""); + var n = Sr(e, t.font, t.textAlign, t.textBaseline); + if (((n.x += t.x || 0), (n.y += t.y || 0), this.hasStroke())) { + var i = t.lineWidth; + (n.x -= i / 2), (n.y -= i / 2), (n.width += i), (n.height += i); + } + this._rect = n; + } + return this._rect; + }), + (e.initDefaultProps = void (e.prototype.dirtyRectTolerance = 10)), + e + ); + })(Da); + Ps.prototype.type = "tspan"; + var Os = k({ x: 0, y: 0 }, Ma), + Rs = { style: k({ x: !0, y: !0, width: !0, height: !0, sx: !0, sy: !0, sWidth: !0, sHeight: !0 }, Ia.style) }; + var Ns = (function (t) { + function e() { + return (null !== t && t.apply(this, arguments)) || this; + } + return ( + n(e, t), + (e.prototype.createStyle = function (t) { + return mt(Os, t); + }), + (e.prototype._getSize = function (t) { + var e = this.style, + n = e[t]; + if (null != n) return n; + var i, + r = (i = e.image) && "string" != typeof i && i.width && i.height ? e.image : this.__image; + if (!r) return 0; + var o = "width" === t ? "height" : "width", + a = e[o]; + return null == a ? r[t] : (r[t] / r[o]) * a; + }), + (e.prototype.getWidth = function () { + return this._getSize("width"); + }), + (e.prototype.getHeight = function () { + return this._getSize("height"); + }), + (e.prototype.getAnimationStyleProps = function () { + return Rs; + }), + (e.prototype.getBoundingRect = function () { + var t = this.style; + return this._rect || (this._rect = new ze(t.x || 0, t.y || 0, this.getWidth(), this.getHeight())), this._rect; + }), + e + ); + })(Da); + Ns.prototype.type = "image"; + var Es = Math.round; + function zs(t, e, n) { + if (e) { + var i = e.x1, + r = e.x2, + o = e.y1, + a = e.y2; + (t.x1 = i), (t.x2 = r), (t.y1 = o), (t.y2 = a); + var s = n && n.lineWidth; + return s ? (Es(2 * i) === Es(2 * r) && (t.x1 = t.x2 = Bs(i, s, !0)), Es(2 * o) === Es(2 * a) && (t.y1 = t.y2 = Bs(o, s, !0)), t) : t; + } + } + function Vs(t, e, n) { + if (e) { + var i = e.x, + r = e.y, + o = e.width, + a = e.height; + (t.x = i), (t.y = r), (t.width = o), (t.height = a); + var s = n && n.lineWidth; + return s ? ((t.x = Bs(i, s, !0)), (t.y = Bs(r, s, !0)), (t.width = Math.max(Bs(i + o, s, !1) - t.x, 0 === o ? 0 : 1)), (t.height = Math.max(Bs(r + a, s, !1) - t.y, 0 === a ? 0 : 1)), t) : t; + } + } + function Bs(t, e, n) { + if (!e) return t; + var i = Es(2 * t); + return (i + Es(e)) % 2 == 0 ? i / 2 : (i + (n ? 1 : -1)) / 2; + } + var Fs = function () { + (this.x = 0), (this.y = 0), (this.width = 0), (this.height = 0); + }, + Gs = {}, + Ws = (function (t) { + function e(e) { + return t.call(this, e) || this; + } + return ( + n(e, t), + (e.prototype.getDefaultShape = function () { + return new Fs(); + }), + (e.prototype.buildPath = function (t, e) { + var n, i, r, o; + if (this.subPixelOptimize) { + var a = Vs(Gs, e, this.style); + (n = a.x), (i = a.y), (r = a.width), (o = a.height), (a.r = e.r), (e = a); + } else (n = e.x), (i = e.y), (r = e.width), (o = e.height); + e.r + ? (function (t, e) { + var n, + i, + r, + o, + a, + s = e.x, + l = e.y, + u = e.width, + h = e.height, + c = e.r; + u < 0 && ((s += u), (u = -u)), + h < 0 && ((l += h), (h = -h)), + "number" == typeof c + ? (n = i = r = o = c) + : c instanceof Array + ? 1 === c.length + ? (n = i = r = o = c[0]) + : 2 === c.length + ? ((n = r = c[0]), (i = o = c[1])) + : 3 === c.length + ? ((n = c[0]), (i = o = c[1]), (r = c[2])) + : ((n = c[0]), (i = c[1]), (r = c[2]), (o = c[3])) + : (n = i = r = o = 0), + n + i > u && ((n *= u / (a = n + i)), (i *= u / a)), + r + o > u && ((r *= u / (a = r + o)), (o *= u / a)), + i + r > h && ((i *= h / (a = i + r)), (r *= h / a)), + n + o > h && ((n *= h / (a = n + o)), (o *= h / a)), + t.moveTo(s + n, l), + t.lineTo(s + u - i, l), + 0 !== i && t.arc(s + u - i, l + i, i, -Math.PI / 2, 0), + t.lineTo(s + u, l + h - r), + 0 !== r && t.arc(s + u - r, l + h - r, r, 0, Math.PI / 2), + t.lineTo(s + o, l + h), + 0 !== o && t.arc(s + o, l + h - o, o, Math.PI / 2, Math.PI), + t.lineTo(s, l + n), + 0 !== n && t.arc(s + n, l + n, n, Math.PI, 1.5 * Math.PI); + })(t, e) + : t.rect(n, i, r, o); + }), + (e.prototype.isZeroArea = function () { + return !this.shape.width || !this.shape.height; + }), + e + ); + })(ks); + Ws.prototype.type = "rect"; + var Hs = { fill: "#000" }, + Ys = { + style: k( + { + fill: !0, + stroke: !0, + fillOpacity: !0, + strokeOpacity: !0, + lineWidth: !0, + fontSize: !0, + lineHeight: !0, + width: !0, + height: !0, + textShadowColor: !0, + textShadowBlur: !0, + textShadowOffsetX: !0, + textShadowOffsetY: !0, + backgroundColor: !0, + padding: !0, + borderColor: !0, + borderWidth: !0, + borderRadius: !0, + }, + Ia.style + ), + }, + Xs = (function (t) { + function e(e) { + var n = t.call(this) || this; + return (n.type = "text"), (n._children = []), (n._defaultStyle = Hs), n.attr(e), n; + } + return ( + n(e, t), + (e.prototype.childrenRef = function () { + return this._children; + }), + (e.prototype.update = function () { + t.prototype.update.call(this), this.styleChanged() && this._updateSubTexts(); + for (var e = 0; e < this._children.length; e++) { + var n = this._children[e]; + (n.zlevel = this.zlevel), (n.z = this.z), (n.z2 = this.z2), (n.culling = this.culling), (n.cursor = this.cursor), (n.invisible = this.invisible); + } + }), + (e.prototype.updateTransform = function () { + var e = this.innerTransformable; + e ? (e.updateTransform(), e.transform && (this.transform = e.transform)) : t.prototype.updateTransform.call(this); + }), + (e.prototype.getLocalTransform = function (e) { + var n = this.innerTransformable; + return n ? n.getLocalTransform(e) : t.prototype.getLocalTransform.call(this, e); + }), + (e.prototype.getComputedTransform = function () { + return this.__hostTarget && (this.__hostTarget.getComputedTransform(), this.__hostTarget.updateInnerText(!0)), t.prototype.getComputedTransform.call(this); + }), + (e.prototype._updateSubTexts = function () { + var t; + (this._childCursor = 0), Js((t = this.style)), E(t.rich, Js), this.style.rich ? this._updateRichTexts() : this._updatePlainTexts(), (this._children.length = this._childCursor), this.styleUpdated(); + }), + (e.prototype.addSelfToZr = function (e) { + t.prototype.addSelfToZr.call(this, e); + for (var n = 0; n < this._children.length; n++) this._children[n].__zr = e; + }), + (e.prototype.removeSelfFromZr = function (e) { + t.prototype.removeSelfFromZr.call(this, e); + for (var n = 0; n < this._children.length; n++) this._children[n].__zr = null; + }), + (e.prototype.getBoundingRect = function () { + if ((this.styleChanged() && this._updateSubTexts(), !this._rect)) { + for (var t = new ze(0, 0, 0, 0), e = this._children, n = [], i = null, r = 0; r < e.length; r++) { + var o = e[r], + a = o.getBoundingRect(), + s = o.getLocalTransform(n); + s ? (t.copy(a), t.applyTransform(s), (i = i || t.clone()).union(t)) : (i = i || a.clone()).union(a); + } + this._rect = i || t; + } + return this._rect; + }), + (e.prototype.setDefaultTextStyle = function (t) { + this._defaultStyle = t || Hs; + }), + (e.prototype.setTextContent = function (t) { + 0; + }), + (e.prototype._mergeStyle = function (t, e) { + if (!e) return t; + var n = e.rich, + i = t.rich || (n && {}); + return A(t, e), n && i ? (this._mergeRich(i, n), (t.rich = i)) : i && (t.rich = i), t; + }), + (e.prototype._mergeRich = function (t, e) { + for (var n = G(e), i = 0; i < n.length; i++) { + var r = n[i]; + (t[r] = t[r] || {}), A(t[r], e[r]); + } + }), + (e.prototype.getAnimationStyleProps = function () { + return Ys; + }), + (e.prototype._getOrCreateChild = function (t) { + var e = this._children[this._childCursor]; + return (e && e instanceof t) || (e = new t()), (this._children[this._childCursor++] = e), (e.__zr = this.__zr), (e.parent = this), e; + }), + (e.prototype._updatePlainTexts = function () { + var t = this.style, + e = t.font || a, + n = t.padding, + i = (function (t, e) { + null != t && (t += ""); + var n, + i = e.overflow, + r = e.padding, + o = e.font, + a = "truncate" === i, + s = Tr(o), + l = rt(e.lineHeight, s), + u = !!e.backgroundColor, + h = "truncate" === e.lineOverflow, + c = e.width, + p = (n = null == c || ("break" !== i && "breakAll" !== i) ? (t ? t.split("\n") : []) : t ? wa(t, e.font, c, "breakAll" === i, 0).lines : []).length * l, + d = rt(e.height, p); + if (p > d && h) { + var f = Math.floor(d / l); + n = n.slice(0, f); + } + if (t && a && null != c) for (var g = da(c, o, e.ellipsis, { minChar: e.truncateMinChar, placeholder: e.placeholder }), y = 0; y < n.length; y++) n[y] = fa(n[y], g); + var v = d, + m = 0; + for (y = 0; y < n.length; y++) m = Math.max(br(n[y], o), m); + null == c && (c = m); + var x = m; + return ( + r && ((v += r[0] + r[2]), (x += r[1] + r[3]), (c += r[1] + r[3])), u && (x = c), { lines: n, height: d, outerWidth: x, outerHeight: v, lineHeight: l, calculatedLineHeight: s, contentWidth: m, contentHeight: p, width: c } + ); + })(nl(t), t), + r = il(t), + o = !!t.backgroundColor, + s = i.outerHeight, + l = i.outerWidth, + u = i.contentWidth, + h = i.lines, + c = i.lineHeight, + p = this._defaultStyle, + d = t.x || 0, + f = t.y || 0, + g = t.align || p.align || "left", + y = t.verticalAlign || p.verticalAlign || "top", + v = d, + m = Ir(f, i.contentHeight, y); + if (r || n) { + var x = Mr(d, l, g), + _ = Ir(f, s, y); + r && this._renderBackground(t, t, x, _, l, s); + } + (m += c / 2), n && ((v = el(d, g, n)), "top" === y ? (m += n[0]) : "bottom" === y && (m -= n[2])); + for ( + var b = 0, + w = !1, + S = tl(("fill" in t) ? t.fill : ((w = !0), p.fill)), + M = Qs(("stroke" in t) ? t.stroke : o || (p.autoStroke && !w) ? null : ((b = 2), p.stroke)), + I = t.textShadowBlur > 0, + T = null != t.width && ("truncate" === t.overflow || "break" === t.overflow || "breakAll" === t.overflow), + C = i.calculatedLineHeight, + D = 0; + D < h.length; + D++ + ) { + var A = this._getOrCreateChild(Ps), + k = A.createStyle(); + A.useStyle(k), + (k.text = h[D]), + (k.x = v), + (k.y = m), + g && (k.textAlign = g), + (k.textBaseline = "middle"), + (k.opacity = t.opacity), + (k.strokeFirst = !0), + I && ((k.shadowBlur = t.textShadowBlur || 0), (k.shadowColor = t.textShadowColor || "transparent"), (k.shadowOffsetX = t.textShadowOffsetX || 0), (k.shadowOffsetY = t.textShadowOffsetY || 0)), + (k.stroke = M), + (k.fill = S), + M && ((k.lineWidth = t.lineWidth || b), (k.lineDash = t.lineDash), (k.lineDashOffset = t.lineDashOffset || 0)), + (k.font = e), + Ks(k, t), + (m += c), + T && A.setBoundingRect(new ze(Mr(k.x, t.width, k.textAlign), Ir(k.y, C, k.textBaseline), u, C)); + } + }), + (e.prototype._updateRichTexts = function () { + var t = this.style, + e = (function (t, e) { + var n = new ma(); + if ((null != t && (t += ""), !t)) return n; + for ( + var i, r = e.width, o = e.height, a = e.overflow, s = ("break" !== a && "breakAll" !== a) || null == r ? null : { width: r, accumWidth: 0, breakAll: "breakAll" === a }, l = (ca.lastIndex = 0); + null != (i = ca.exec(t)); + + ) { + var u = i.index; + u > l && xa(n, t.substring(l, u), e, s), xa(n, i[2], e, s, i[1]), (l = ca.lastIndex); + } + l < t.length && xa(n, t.substring(l, t.length), e, s); + var h = [], + c = 0, + p = 0, + d = e.padding, + f = "truncate" === a, + g = "truncate" === e.lineOverflow; + function y(t, e, n) { + (t.width = e), (t.lineHeight = n), (c += n), (p = Math.max(p, e)); + } + t: for (var v = 0; v < n.lines.length; v++) { + for (var m = n.lines[v], x = 0, _ = 0, b = 0; b < m.tokens.length; b++) { + var w = ((P = m.tokens[b]).styleName && e.rich[P.styleName]) || {}, + S = (P.textPadding = w.padding), + M = S ? S[1] + S[3] : 0, + I = (P.font = w.font || e.font); + P.contentHeight = Tr(I); + var T = rt(w.height, P.contentHeight); + if ( + ((P.innerHeight = T), + S && (T += S[0] + S[2]), + (P.height = T), + (P.lineHeight = ot(w.lineHeight, e.lineHeight, T)), + (P.align = (w && w.align) || e.align), + (P.verticalAlign = (w && w.verticalAlign) || "middle"), + g && null != o && c + P.lineHeight > o) + ) { + b > 0 ? ((m.tokens = m.tokens.slice(0, b)), y(m, _, x), (n.lines = n.lines.slice(0, v + 1))) : (n.lines = n.lines.slice(0, v)); + break t; + } + var C = w.width, + D = null == C || "auto" === C; + if ("string" == typeof C && "%" === C.charAt(C.length - 1)) (P.percentWidth = C), h.push(P), (P.contentWidth = br(P.text, I)); + else { + if (D) { + var A = w.backgroundColor, + k = A && A.image; + k && ha((k = sa(k))) && (P.width = Math.max(P.width, (k.width * T) / k.height)); + } + var L = f && null != r ? r - _ : null; + null != L && L < P.width + ? !D || L < M + ? ((P.text = ""), (P.width = P.contentWidth = 0)) + : ((P.text = pa(P.text, L - M, I, e.ellipsis, { minChar: e.truncateMinChar })), (P.width = P.contentWidth = br(P.text, I))) + : (P.contentWidth = br(P.text, I)); + } + (P.width += M), (_ += P.width), w && (x = Math.max(x, P.lineHeight)); + } + y(m, _, x); + } + for (n.outerWidth = n.width = rt(r, p), n.outerHeight = n.height = rt(o, c), n.contentHeight = c, n.contentWidth = p, d && ((n.outerWidth += d[1] + d[3]), (n.outerHeight += d[0] + d[2])), v = 0; v < h.length; v++) { + var P, + O = (P = h[v]).percentWidth; + P.width = (parseInt(O, 10) / 100) * n.width; + } + return n; + })(nl(t), t), + n = e.width, + i = e.outerWidth, + r = e.outerHeight, + o = t.padding, + a = t.x || 0, + s = t.y || 0, + l = this._defaultStyle, + u = t.align || l.align, + h = t.verticalAlign || l.verticalAlign, + c = Mr(a, i, u), + p = Ir(s, r, h), + d = c, + f = p; + o && ((d += o[3]), (f += o[0])); + var g = d + n; + il(t) && this._renderBackground(t, t, c, p, i, r); + for (var y = !!t.backgroundColor, v = 0; v < e.lines.length; v++) { + for (var m = e.lines[v], x = m.tokens, _ = x.length, b = m.lineHeight, w = m.width, S = 0, M = d, I = g, T = _ - 1, C = void 0; S < _ && (!(C = x[S]).align || "left" === C.align); ) + this._placeToken(C, t, b, f, M, "left", y), (w -= C.width), (M += C.width), S++; + for (; T >= 0 && "right" === (C = x[T]).align; ) this._placeToken(C, t, b, f, I, "right", y), (w -= C.width), (I -= C.width), T--; + for (M += (n - (M - d) - (g - I) - w) / 2; S <= T; ) (C = x[S]), this._placeToken(C, t, b, f, M + C.width / 2, "center", y), (M += C.width), S++; + f += b; + } + }), + (e.prototype._placeToken = function (t, e, n, i, r, o, s) { + var l = e.rich[t.styleName] || {}; + l.text = t.text; + var u = t.verticalAlign, + h = i + n / 2; + "top" === u ? (h = i + t.height / 2) : "bottom" === u && (h = i + n - t.height / 2), + !t.isLineHolder && il(l) && this._renderBackground(l, e, "right" === o ? r - t.width : "center" === o ? r - t.width / 2 : r, h - t.height / 2, t.width, t.height); + var c = !!l.backgroundColor, + p = t.textPadding; + p && ((r = el(r, o, p)), (h -= t.height / 2 - p[0] - t.innerHeight / 2)); + var d = this._getOrCreateChild(Ps), + f = d.createStyle(); + d.useStyle(f); + var g = this._defaultStyle, + y = !1, + v = 0, + m = tl("fill" in l ? l.fill : "fill" in e ? e.fill : ((y = !0), g.fill)), + x = Qs("stroke" in l ? l.stroke : "stroke" in e ? e.stroke : c || s || (g.autoStroke && !y) ? null : ((v = 2), g.stroke)), + _ = l.textShadowBlur > 0 || e.textShadowBlur > 0; + (f.text = t.text), + (f.x = r), + (f.y = h), + _ && + ((f.shadowBlur = l.textShadowBlur || e.textShadowBlur || 0), + (f.shadowColor = l.textShadowColor || e.textShadowColor || "transparent"), + (f.shadowOffsetX = l.textShadowOffsetX || e.textShadowOffsetX || 0), + (f.shadowOffsetY = l.textShadowOffsetY || e.textShadowOffsetY || 0)), + (f.textAlign = o), + (f.textBaseline = "middle"), + (f.font = t.font || a), + (f.opacity = ot(l.opacity, e.opacity, 1)), + Ks(f, l), + x && ((f.lineWidth = ot(l.lineWidth, e.lineWidth, v)), (f.lineDash = rt(l.lineDash, e.lineDash)), (f.lineDashOffset = e.lineDashOffset || 0), (f.stroke = x)), + m && (f.fill = m); + var b = t.contentWidth, + w = t.contentHeight; + d.setBoundingRect(new ze(Mr(f.x, b, f.textAlign), Ir(f.y, w, f.textBaseline), b, w)); + }), + (e.prototype._renderBackground = function (t, e, n, i, r, o) { + var a, + s, + l, + u = t.backgroundColor, + h = t.borderWidth, + c = t.borderColor, + p = u && u.image, + d = u && !p, + f = t.borderRadius, + g = this; + if (d || t.lineHeight || (h && c)) { + (a = this._getOrCreateChild(Ws)).useStyle(a.createStyle()), (a.style.fill = null); + var y = a.shape; + (y.x = n), (y.y = i), (y.width = r), (y.height = o), (y.r = f), a.dirtyShape(); + } + if (d) ((l = a.style).fill = u || null), (l.fillOpacity = rt(t.fillOpacity, 1)); + else if (p) { + (s = this._getOrCreateChild(Ns)).onload = function () { + g.dirtyStyle(); + }; + var v = s.style; + (v.image = u.image), (v.x = n), (v.y = i), (v.width = r), (v.height = o); + } + h && + c && + (((l = a.style).lineWidth = h), + (l.stroke = c), + (l.strokeOpacity = rt(t.strokeOpacity, 1)), + (l.lineDash = t.borderDash), + (l.lineDashOffset = t.borderDashOffset || 0), + (a.strokeContainThreshold = 0), + a.hasFill() && a.hasStroke() && ((l.strokeFirst = !0), (l.lineWidth *= 2))); + var m = (a || s).style; + (m.shadowBlur = t.shadowBlur || 0), (m.shadowColor = t.shadowColor || "transparent"), (m.shadowOffsetX = t.shadowOffsetX || 0), (m.shadowOffsetY = t.shadowOffsetY || 0), (m.opacity = ot(t.opacity, e.opacity, 1)); + }), + (e.makeFont = function (t) { + var e = ""; + return $s(t) && (e = [t.fontStyle, t.fontWeight, qs(t.fontSize), t.fontFamily || "sans-serif"].join(" ")), (e && ut(e)) || t.textFont || t.font; + }), + e + ); + })(Da), + Us = { left: !0, right: 1, center: 1 }, + Zs = { top: 1, bottom: 1, middle: 1 }, + js = ["fontStyle", "fontWeight", "fontSize", "fontFamily"]; + function qs(t) { + return "string" != typeof t || (-1 === t.indexOf("px") && -1 === t.indexOf("rem") && -1 === t.indexOf("em")) ? (isNaN(+t) ? "12px" : t + "px") : t; + } + function Ks(t, e) { + for (var n = 0; n < js.length; n++) { + var i = js[n], + r = e[i]; + null != r && (t[i] = r); + } + } + function $s(t) { + return null != t.fontSize || t.fontFamily || t.fontWeight; + } + function Js(t) { + if (t) { + t.font = Xs.makeFont(t); + var e = t.align; + "middle" === e && (e = "center"), (t.align = null == e || Us[e] ? e : "left"); + var n = t.verticalAlign; + "center" === n && (n = "middle"), (t.verticalAlign = null == n || Zs[n] ? n : "top"), t.padding && (t.padding = st(t.padding)); + } + } + function Qs(t, e) { + return null == t || e <= 0 || "transparent" === t || "none" === t ? null : t.image || t.colorStops ? "#000" : t; + } + function tl(t) { + return null == t || "none" === t ? null : t.image || t.colorStops ? "#000" : t; + } + function el(t, e, n) { + return "right" === e ? t - n[1] : "center" === e ? t + n[3] / 2 - n[1] / 2 : t + n[3]; + } + function nl(t) { + var e = t.text; + return null != e && (e += ""), e; + } + function il(t) { + return !!(t.backgroundColor || t.lineHeight || (t.borderWidth && t.borderColor)); + } + var rl = Vo(), + ol = function (t, e, n, i) { + if (i) { + var r = rl(i); + (r.dataIndex = n), + (r.dataType = e), + (r.seriesIndex = t), + (r.ssrType = "chart"), + "group" === i.type && + i.traverse(function (i) { + var r = rl(i); + (r.seriesIndex = t), (r.dataIndex = n), (r.dataType = e), (r.ssrType = "chart"); + }); + } + }, + al = 1, + sl = {}, + ll = Vo(), + ul = Vo(), + hl = ["emphasis", "blur", "select"], + cl = ["normal", "emphasis", "blur", "select"], + pl = 10, + dl = "highlight", + fl = "downplay", + gl = "select", + yl = "unselect", + vl = "toggleSelect"; + function ml(t) { + return null != t && "none" !== t; + } + function xl(t, e, n) { + t.onHoverStateChange && (t.hoverState || 0) !== n && t.onHoverStateChange(e), (t.hoverState = n); + } + function _l(t) { + xl(t, "emphasis", 2); + } + function bl(t) { + 2 === t.hoverState && xl(t, "normal", 0); + } + function wl(t) { + xl(t, "blur", 1); + } + function Sl(t) { + 1 === t.hoverState && xl(t, "normal", 0); + } + function Ml(t) { + t.selected = !0; + } + function Il(t) { + t.selected = !1; + } + function Tl(t, e, n) { + e(t, n); + } + function Cl(t, e, n) { + Tl(t, e, n), + t.isGroup && + t.traverse(function (t) { + Tl(t, e, n); + }); + } + function Dl(t, e) { + switch (e) { + case "emphasis": + t.hoverState = 2; + break; + case "normal": + t.hoverState = 0; + break; + case "blur": + t.hoverState = 1; + break; + case "select": + t.selected = !0; + } + } + function Al(t, e) { + var n = this.states[t]; + if (this.style) { + if ("emphasis" === t) + return (function (t, e, n, i) { + var r = n && P(n, "select") >= 0, + o = !1; + if (t instanceof ks) { + var a = ll(t), + s = (r && a.selectFill) || a.normalFill, + l = (r && a.selectStroke) || a.normalStroke; + if (ml(s) || ml(l)) { + var u = (i = i || {}).style || {}; + "inherit" === u.fill + ? ((o = !0), (i = A({}, i)), ((u = A({}, u)).fill = s)) + : !ml(u.fill) && ml(s) + ? ((o = !0), (i = A({}, i)), ((u = A({}, u)).fill = si(s))) + : !ml(u.stroke) && ml(l) && (o || ((i = A({}, i)), (u = A({}, u))), (u.stroke = si(l))), + (i.style = u); + } + } + if (i && null == i.z2) { + o || (i = A({}, i)); + var h = t.z2EmphasisLift; + i.z2 = t.z2 + (null != h ? h : pl); + } + return i; + })(this, 0, e, n); + if ("blur" === t) + return (function (t, e, n) { + var i = P(t.currentStates, e) >= 0, + r = t.style.opacity, + o = i + ? null + : (function (t, e, n, i) { + for (var r = t.style, o = {}, a = 0; a < e.length; a++) { + var s = e[a], + l = r[s]; + o[s] = null == l ? i && i[s] : l; + } + for (a = 0; a < t.animators.length; a++) { + var u = t.animators[a]; + u.__fromStateTransition && u.__fromStateTransition.indexOf(n) < 0 && "style" === u.targetName && u.saveTo(o, e); + } + return o; + })(t, ["opacity"], e, { opacity: 1 }), + a = (n = n || {}).style || {}; + return null == a.opacity && ((n = A({}, n)), (a = A({ opacity: i ? r : 0.1 * o.opacity }, a)), (n.style = a)), n; + })(this, t, n); + if ("select" === t) + return (function (t, e, n) { + if (n && null == n.z2) { + n = A({}, n); + var i = t.z2SelectLift; + n.z2 = t.z2 + (null != i ? i : 9); + } + return n; + })(this, 0, n); + } + return n; + } + function kl(t) { + t.stateProxy = Al; + var e = t.getTextContent(), + n = t.getTextGuideLine(); + e && (e.stateProxy = Al), n && (n.stateProxy = Al); + } + function Ll(t, e) { + !Bl(t, e) && !t.__highByOuter && Cl(t, _l); + } + function Pl(t, e) { + !Bl(t, e) && !t.__highByOuter && Cl(t, bl); + } + function Ol(t, e) { + (t.__highByOuter |= 1 << (e || 0)), Cl(t, _l); + } + function Rl(t, e) { + !(t.__highByOuter &= ~(1 << (e || 0))) && Cl(t, bl); + } + function Nl(t) { + Cl(t, wl); + } + function El(t) { + Cl(t, Sl); + } + function zl(t) { + Cl(t, Ml); + } + function Vl(t) { + Cl(t, Il); + } + function Bl(t, e) { + return t.__highDownSilentOnTouch && e.zrByTouch; + } + function Fl(t) { + var e = t.getModel(), + n = [], + i = []; + e.eachComponent(function (e, r) { + var o = ul(r), + a = "series" === e, + s = a ? t.getViewOfSeriesModel(r) : t.getViewOfComponentModel(r); + !a && i.push(s), + o.isBlured && + (s.group.traverse(function (t) { + Sl(t); + }), + a && n.push(r)), + (o.isBlured = !1); + }), + E(i, function (t) { + t && t.toggleBlurSeries && t.toggleBlurSeries(n, !1, e); + }); + } + function Gl(t, e, n, i) { + var r = i.getModel(); + function o(t, e) { + for (var n = 0; n < e.length; n++) { + var i = t.getItemGraphicEl(e[n]); + i && El(i); + } + } + if (((n = n || "coordinateSystem"), null != t && e && "none" !== e)) { + var a = r.getSeriesByIndex(t), + s = a.coordinateSystem; + s && s.master && (s = s.master); + var l = []; + r.eachSeries(function (t) { + var r = a === t, + u = t.coordinateSystem; + if ((u && u.master && (u = u.master), !(("series" === n && !r) || ("coordinateSystem" === n && !(u && s ? u === s : r)) || ("series" === e && r)))) { + if ( + (i.getViewOfSeriesModel(t).group.traverse(function (t) { + (t.__highByOuter && r && "self" === e) || wl(t); + }), + N(e)) + ) + o(t.getData(), e); + else if (q(e)) for (var h = G(e), c = 0; c < h.length; c++) o(t.getData(h[c]), e[h[c]]); + l.push(t), (ul(t).isBlured = !0); + } + }), + r.eachComponent(function (t, e) { + if ("series" !== t) { + var n = i.getViewOfComponentModel(e); + n && n.toggleBlurSeries && n.toggleBlurSeries(l, !0, r); + } + }); + } + } + function Wl(t, e, n) { + if (null != t && null != e) { + var i = n.getModel().getComponent(t, e); + if (i) { + ul(i).isBlured = !0; + var r = n.getViewOfComponentModel(i); + r && + r.focusBlurEnabled && + r.group.traverse(function (t) { + wl(t); + }); + } + } + } + function Hl(t, e, n, i) { + var r = { focusSelf: !1, dispatchers: null }; + if (null == t || "series" === t || null == e || null == n) return r; + var o = i.getModel().getComponent(t, e); + if (!o) return r; + var a = i.getViewOfComponentModel(o); + if (!a || !a.findHighDownDispatchers) return r; + for (var s, l = a.findHighDownDispatchers(n), u = 0; u < l.length; u++) + if ("self" === rl(l[u]).focus) { + s = !0; + break; + } + return { focusSelf: s, dispatchers: l }; + } + function Yl(t) { + E(t.getAllData(), function (e) { + var n = e.data, + i = e.type; + n.eachItemGraphicEl(function (e, n) { + t.isSelected(n, i) ? zl(e) : Vl(e); + }); + }); + } + function Xl(t) { + var e = []; + return ( + t.eachSeries(function (t) { + E(t.getAllData(), function (n) { + n.data; + var i = n.type, + r = t.getSelectedDataIndices(); + if (r.length > 0) { + var o = { dataIndex: r, seriesIndex: t.seriesIndex }; + null != i && (o.dataType = i), e.push(o); + } + }); + }), + e + ); + } + function Ul(t, e, n) { + Jl(t, !0), Cl(t, kl), jl(t, e, n); + } + function Zl(t, e, n, i) { + i + ? (function (t) { + Jl(t, !1); + })(t) + : Ul(t, e, n); + } + function jl(t, e, n) { + var i = rl(t); + null != e ? ((i.focus = e), (i.blurScope = n)) : i.focus && (i.focus = null); + } + var ql = ["emphasis", "blur", "select"], + Kl = { itemStyle: "getItemStyle", lineStyle: "getLineStyle", areaStyle: "getAreaStyle" }; + function $l(t, e, n, i) { + n = n || "itemStyle"; + for (var r = 0; r < ql.length; r++) { + var o = ql[r], + a = e.getModel([o, n]); + t.ensureState(o).style = i ? i(a) : a[Kl[n]](); + } + } + function Jl(t, e) { + var n = !1 === e, + i = t; + t.highDownSilentOnTouch && (i.__highDownSilentOnTouch = t.highDownSilentOnTouch), (n && !i.__highDownDispatcher) || ((i.__highByOuter = i.__highByOuter || 0), (i.__highDownDispatcher = !n)); + } + function Ql(t) { + return !(!t || !t.__highDownDispatcher); + } + function tu(t) { + var e = t.type; + return e === gl || e === yl || e === vl; + } + function eu(t) { + var e = t.type; + return e === dl || e === fl; + } + var nu = hs.CMD, + iu = [[], [], []], + ru = Math.sqrt, + ou = Math.atan2; + function au(t, e) { + if (e) { + var n, + i, + r, + o, + a, + s, + l = t.data, + u = t.len(), + h = nu.M, + c = nu.C, + p = nu.L, + d = nu.R, + f = nu.A, + g = nu.Q; + for (r = 0, o = 0; r < u; ) { + switch (((n = l[r++]), (o = r), (i = 0), n)) { + case h: + case p: + i = 1; + break; + case c: + i = 3; + break; + case g: + i = 2; + break; + case f: + var y = e[4], + v = e[5], + m = ru(e[0] * e[0] + e[1] * e[1]), + x = ru(e[2] * e[2] + e[3] * e[3]), + _ = ou(-e[1] / x, e[0] / m); + (l[r] *= m), (l[r++] += y), (l[r] *= x), (l[r++] += v), (l[r++] *= m), (l[r++] *= x), (l[r++] += _), (l[r++] += _), (o = r += 2); + break; + case d: + (s[0] = l[r++]), (s[1] = l[r++]), Wt(s, s, e), (l[o++] = s[0]), (l[o++] = s[1]), (s[0] += l[r++]), (s[1] += l[r++]), Wt(s, s, e), (l[o++] = s[0]), (l[o++] = s[1]); + } + for (a = 0; a < i; a++) { + var b = iu[a]; + (b[0] = l[r++]), (b[1] = l[r++]), Wt(b, b, e), (l[o++] = b[0]), (l[o++] = b[1]); + } + } + t.increaseVersion(); + } + } + var su = Math.sqrt, + lu = Math.sin, + uu = Math.cos, + hu = Math.PI; + function cu(t) { + return Math.sqrt(t[0] * t[0] + t[1] * t[1]); + } + function pu(t, e) { + return (t[0] * e[0] + t[1] * e[1]) / (cu(t) * cu(e)); + } + function du(t, e) { + return (t[0] * e[1] < t[1] * e[0] ? -1 : 1) * Math.acos(pu(t, e)); + } + function fu(t, e, n, i, r, o, a, s, l, u, h) { + var c = l * (hu / 180), + p = (uu(c) * (t - n)) / 2 + (lu(c) * (e - i)) / 2, + d = (-1 * lu(c) * (t - n)) / 2 + (uu(c) * (e - i)) / 2, + f = (p * p) / (a * a) + (d * d) / (s * s); + f > 1 && ((a *= su(f)), (s *= su(f))); + var g = (r === o ? -1 : 1) * su((a * a * (s * s) - a * a * (d * d) - s * s * (p * p)) / (a * a * (d * d) + s * s * (p * p))) || 0, + y = (g * a * d) / s, + v = (g * -s * p) / a, + m = (t + n) / 2 + uu(c) * y - lu(c) * v, + x = (e + i) / 2 + lu(c) * y + uu(c) * v, + _ = du([1, 0], [(p - y) / a, (d - v) / s]), + b = [(p - y) / a, (d - v) / s], + w = [(-1 * p - y) / a, (-1 * d - v) / s], + S = du(b, w); + if ((pu(b, w) <= -1 && (S = hu), pu(b, w) >= 1 && (S = 0), S < 0)) { + var M = Math.round((S / hu) * 1e6) / 1e6; + S = 2 * hu + (M % 2) * hu; + } + h.addData(u, m, x, a, s, _, S, c, o); + } + var gu = /([mlvhzcqtsa])([^mlvhzcqtsa]*)/gi, + yu = /-?([0-9]*\.)?[0-9]+([eE]-?[0-9]+)?/g; + var vu = (function (t) { + function e() { + return (null !== t && t.apply(this, arguments)) || this; + } + return n(e, t), (e.prototype.applyTransform = function (t) {}), e; + })(ks); + function mu(t) { + return null != t.setData; + } + function xu(t, e) { + var n = (function (t) { + var e = new hs(); + if (!t) return e; + var n, + i = 0, + r = 0, + o = i, + a = r, + s = hs.CMD, + l = t.match(gu); + if (!l) return e; + for (var u = 0; u < l.length; u++) { + for (var h = l[u], c = h.charAt(0), p = void 0, d = h.match(yu) || [], f = d.length, g = 0; g < f; g++) d[g] = parseFloat(d[g]); + for (var y = 0; y < f; ) { + var v = void 0, + m = void 0, + x = void 0, + _ = void 0, + b = void 0, + w = void 0, + S = void 0, + M = i, + I = r, + T = void 0, + C = void 0; + switch (c) { + case "l": + (i += d[y++]), (r += d[y++]), (p = s.L), e.addData(p, i, r); + break; + case "L": + (i = d[y++]), (r = d[y++]), (p = s.L), e.addData(p, i, r); + break; + case "m": + (i += d[y++]), (r += d[y++]), (p = s.M), e.addData(p, i, r), (o = i), (a = r), (c = "l"); + break; + case "M": + (i = d[y++]), (r = d[y++]), (p = s.M), e.addData(p, i, r), (o = i), (a = r), (c = "L"); + break; + case "h": + (i += d[y++]), (p = s.L), e.addData(p, i, r); + break; + case "H": + (i = d[y++]), (p = s.L), e.addData(p, i, r); + break; + case "v": + (r += d[y++]), (p = s.L), e.addData(p, i, r); + break; + case "V": + (r = d[y++]), (p = s.L), e.addData(p, i, r); + break; + case "C": + (p = s.C), e.addData(p, d[y++], d[y++], d[y++], d[y++], d[y++], d[y++]), (i = d[y - 2]), (r = d[y - 1]); + break; + case "c": + (p = s.C), e.addData(p, d[y++] + i, d[y++] + r, d[y++] + i, d[y++] + r, d[y++] + i, d[y++] + r), (i += d[y - 2]), (r += d[y - 1]); + break; + case "S": + (v = i), (m = r), (T = e.len()), (C = e.data), n === s.C && ((v += i - C[T - 4]), (m += r - C[T - 3])), (p = s.C), (M = d[y++]), (I = d[y++]), (i = d[y++]), (r = d[y++]), e.addData(p, v, m, M, I, i, r); + break; + case "s": + (v = i), (m = r), (T = e.len()), (C = e.data), n === s.C && ((v += i - C[T - 4]), (m += r - C[T - 3])), (p = s.C), (M = i + d[y++]), (I = r + d[y++]), (i += d[y++]), (r += d[y++]), e.addData(p, v, m, M, I, i, r); + break; + case "Q": + (M = d[y++]), (I = d[y++]), (i = d[y++]), (r = d[y++]), (p = s.Q), e.addData(p, M, I, i, r); + break; + case "q": + (M = d[y++] + i), (I = d[y++] + r), (i += d[y++]), (r += d[y++]), (p = s.Q), e.addData(p, M, I, i, r); + break; + case "T": + (v = i), (m = r), (T = e.len()), (C = e.data), n === s.Q && ((v += i - C[T - 4]), (m += r - C[T - 3])), (i = d[y++]), (r = d[y++]), (p = s.Q), e.addData(p, v, m, i, r); + break; + case "t": + (v = i), (m = r), (T = e.len()), (C = e.data), n === s.Q && ((v += i - C[T - 4]), (m += r - C[T - 3])), (i += d[y++]), (r += d[y++]), (p = s.Q), e.addData(p, v, m, i, r); + break; + case "A": + (x = d[y++]), (_ = d[y++]), (b = d[y++]), (w = d[y++]), (S = d[y++]), fu((M = i), (I = r), (i = d[y++]), (r = d[y++]), w, S, x, _, b, (p = s.A), e); + break; + case "a": + (x = d[y++]), (_ = d[y++]), (b = d[y++]), (w = d[y++]), (S = d[y++]), fu((M = i), (I = r), (i += d[y++]), (r += d[y++]), w, S, x, _, b, (p = s.A), e); + } + } + ("z" !== c && "Z" !== c) || ((p = s.Z), e.addData(p), (i = o), (r = a)), (n = p); + } + return e.toStatic(), e; + })(t), + i = A({}, e); + return ( + (i.buildPath = function (t) { + if (mu(t)) { + t.setData(n.data), (e = t.getContext()) && t.rebuildPath(e, 1); + } else { + var e = t; + n.rebuildPath(e, 1); + } + }), + (i.applyTransform = function (t) { + au(n, t), this.dirtyShape(); + }), + i + ); + } + function _u(t, e) { + return new vu(xu(t, e)); + } + function bu(t, e) { + e = e || {}; + var n = new ks(); + return ( + t.shape && n.setShape(t.shape), + n.setStyle(t.style), + e.bakeTransform ? au(n.path, t.getComputedTransform()) : e.toLocal ? n.setLocalTransform(t.getComputedTransform()) : n.copyTransform(t), + (n.buildPath = t.buildPath), + (n.applyTransform = n.applyTransform), + (n.z = t.z), + (n.z2 = t.z2), + (n.zlevel = t.zlevel), + n + ); + } + var wu = function () { + (this.cx = 0), (this.cy = 0), (this.r = 0); + }, + Su = (function (t) { + function e(e) { + return t.call(this, e) || this; + } + return ( + n(e, t), + (e.prototype.getDefaultShape = function () { + return new wu(); + }), + (e.prototype.buildPath = function (t, e) { + t.moveTo(e.cx + e.r, e.cy), t.arc(e.cx, e.cy, e.r, 0, 2 * Math.PI); + }), + e + ); + })(ks); + Su.prototype.type = "circle"; + var Mu = function () { + (this.cx = 0), (this.cy = 0), (this.rx = 0), (this.ry = 0); + }, + Iu = (function (t) { + function e(e) { + return t.call(this, e) || this; + } + return ( + n(e, t), + (e.prototype.getDefaultShape = function () { + return new Mu(); + }), + (e.prototype.buildPath = function (t, e) { + var n = 0.5522848, + i = e.cx, + r = e.cy, + o = e.rx, + a = e.ry, + s = o * n, + l = a * n; + t.moveTo(i - o, r), + t.bezierCurveTo(i - o, r - l, i - s, r - a, i, r - a), + t.bezierCurveTo(i + s, r - a, i + o, r - l, i + o, r), + t.bezierCurveTo(i + o, r + l, i + s, r + a, i, r + a), + t.bezierCurveTo(i - s, r + a, i - o, r + l, i - o, r), + t.closePath(); + }), + e + ); + })(ks); + Iu.prototype.type = "ellipse"; + var Tu = Math.PI, + Cu = 2 * Tu, + Du = Math.sin, + Au = Math.cos, + ku = Math.acos, + Lu = Math.atan2, + Pu = Math.abs, + Ou = Math.sqrt, + Ru = Math.max, + Nu = Math.min, + Eu = 1e-4; + function zu(t, e, n, i, r, o, a) { + var s = t - n, + l = e - i, + u = (a ? o : -o) / Ou(s * s + l * l), + h = u * l, + c = -u * s, + p = t + h, + d = e + c, + f = n + h, + g = i + c, + y = (p + f) / 2, + v = (d + g) / 2, + m = f - p, + x = g - d, + _ = m * m + x * x, + b = r - o, + w = p * g - f * d, + S = (x < 0 ? -1 : 1) * Ou(Ru(0, b * b * _ - w * w)), + M = (w * x - m * S) / _, + I = (-w * m - x * S) / _, + T = (w * x + m * S) / _, + C = (-w * m + x * S) / _, + D = M - y, + A = I - v, + k = T - y, + L = C - v; + return D * D + A * A > k * k + L * L && ((M = T), (I = C)), { cx: M, cy: I, x0: -h, y0: -c, x1: M * (r / b - 1), y1: I * (r / b - 1) }; + } + function Vu(t, e) { + var n, + i = Ru(e.r, 0), + r = Ru(e.r0 || 0, 0), + o = i > 0; + if (o || r > 0) { + if ((o || ((i = r), (r = 0)), r > i)) { + var a = i; + (i = r), (r = a); + } + var s = e.startAngle, + l = e.endAngle; + if (!isNaN(s) && !isNaN(l)) { + var u = e.cx, + h = e.cy, + c = !!e.clockwise, + p = Pu(l - s), + d = p > Cu && p % Cu; + if ((d > Eu && (p = d), i > Eu)) + if (p > Cu - Eu) t.moveTo(u + i * Au(s), h + i * Du(s)), t.arc(u, h, i, s, l, !c), r > Eu && (t.moveTo(u + r * Au(l), h + r * Du(l)), t.arc(u, h, r, l, s, c)); + else { + var f = void 0, + g = void 0, + y = void 0, + v = void 0, + m = void 0, + x = void 0, + _ = void 0, + b = void 0, + w = void 0, + S = void 0, + M = void 0, + I = void 0, + T = void 0, + C = void 0, + D = void 0, + A = void 0, + k = i * Au(s), + L = i * Du(s), + P = r * Au(l), + O = r * Du(l), + R = p > Eu; + if (R) { + var N = e.cornerRadius; + N && + ((n = (function (t) { + var e; + if (Y(t)) { + var n = t.length; + if (!n) return t; + e = 1 === n ? [t[0], t[0], 0, 0] : 2 === n ? [t[0], t[0], t[1], t[1]] : 3 === n ? t.concat(t[2]) : t; + } else e = [t, t, t, t]; + return e; + })(N)), + (f = n[0]), + (g = n[1]), + (y = n[2]), + (v = n[3])); + var E = Pu(i - r) / 2; + if (((m = Nu(E, y)), (x = Nu(E, v)), (_ = Nu(E, f)), (b = Nu(E, g)), (M = w = Ru(m, x)), (I = S = Ru(_, b)), (w > Eu || S > Eu) && ((T = i * Au(l)), (C = i * Du(l)), (D = r * Au(s)), (A = r * Du(s)), p < Tu))) { + var z = (function (t, e, n, i, r, o, a, s) { + var l = n - t, + u = i - e, + h = a - r, + c = s - o, + p = c * l - h * u; + if (!(p * p < Eu)) return [t + (p = (h * (e - o) - c * (t - r)) / p) * l, e + p * u]; + })(k, L, D, A, T, C, P, O); + if (z) { + var V = k - z[0], + B = L - z[1], + F = T - z[0], + G = C - z[1], + W = 1 / Du(ku((V * F + B * G) / (Ou(V * V + B * B) * Ou(F * F + G * G))) / 2), + H = Ou(z[0] * z[0] + z[1] * z[1]); + (M = Nu(w, (i - H) / (W + 1))), (I = Nu(S, (r - H) / (W - 1))); + } + } + } + if (R) + if (M > Eu) { + var X = Nu(y, M), + U = Nu(v, M), + Z = zu(D, A, k, L, i, X, c), + j = zu(T, C, P, O, i, U, c); + t.moveTo(u + Z.cx + Z.x0, h + Z.cy + Z.y0), + M < w && X === U + ? t.arc(u + Z.cx, h + Z.cy, M, Lu(Z.y0, Z.x0), Lu(j.y0, j.x0), !c) + : (X > 0 && t.arc(u + Z.cx, h + Z.cy, X, Lu(Z.y0, Z.x0), Lu(Z.y1, Z.x1), !c), + t.arc(u, h, i, Lu(Z.cy + Z.y1, Z.cx + Z.x1), Lu(j.cy + j.y1, j.cx + j.x1), !c), + U > 0 && t.arc(u + j.cx, h + j.cy, U, Lu(j.y1, j.x1), Lu(j.y0, j.x0), !c)); + } else t.moveTo(u + k, h + L), t.arc(u, h, i, s, l, !c); + else t.moveTo(u + k, h + L); + if (r > Eu && R) + if (I > Eu) { + (X = Nu(f, I)), (Z = zu(P, O, T, C, r, -(U = Nu(g, I)), c)), (j = zu(k, L, D, A, r, -X, c)); + t.lineTo(u + Z.cx + Z.x0, h + Z.cy + Z.y0), + I < S && X === U + ? t.arc(u + Z.cx, h + Z.cy, I, Lu(Z.y0, Z.x0), Lu(j.y0, j.x0), !c) + : (U > 0 && t.arc(u + Z.cx, h + Z.cy, U, Lu(Z.y0, Z.x0), Lu(Z.y1, Z.x1), !c), + t.arc(u, h, r, Lu(Z.cy + Z.y1, Z.cx + Z.x1), Lu(j.cy + j.y1, j.cx + j.x1), c), + X > 0 && t.arc(u + j.cx, h + j.cy, X, Lu(j.y1, j.x1), Lu(j.y0, j.x0), !c)); + } else t.lineTo(u + P, h + O), t.arc(u, h, r, l, s, c); + else t.lineTo(u + P, h + O); + } + else t.moveTo(u, h); + t.closePath(); + } + } + } + var Bu = function () { + (this.cx = 0), (this.cy = 0), (this.r0 = 0), (this.r = 0), (this.startAngle = 0), (this.endAngle = 2 * Math.PI), (this.clockwise = !0), (this.cornerRadius = 0); + }, + Fu = (function (t) { + function e(e) { + return t.call(this, e) || this; + } + return ( + n(e, t), + (e.prototype.getDefaultShape = function () { + return new Bu(); + }), + (e.prototype.buildPath = function (t, e) { + Vu(t, e); + }), + (e.prototype.isZeroArea = function () { + return this.shape.startAngle === this.shape.endAngle || this.shape.r === this.shape.r0; + }), + e + ); + })(ks); + Fu.prototype.type = "sector"; + var Gu = function () { + (this.cx = 0), (this.cy = 0), (this.r = 0), (this.r0 = 0); + }, + Wu = (function (t) { + function e(e) { + return t.call(this, e) || this; + } + return ( + n(e, t), + (e.prototype.getDefaultShape = function () { + return new Gu(); + }), + (e.prototype.buildPath = function (t, e) { + var n = e.cx, + i = e.cy, + r = 2 * Math.PI; + t.moveTo(n + e.r, i), t.arc(n, i, e.r, 0, r, !1), t.moveTo(n + e.r0, i), t.arc(n, i, e.r0, 0, r, !0); + }), + e + ); + })(ks); + function Hu(t, e, n) { + var i = e.smooth, + r = e.points; + if (r && r.length >= 2) { + if (i) { + var o = (function (t, e, n, i) { + var r, + o, + a, + s, + l = [], + u = [], + h = [], + c = []; + if (i) { + (a = [1 / 0, 1 / 0]), (s = [-1 / 0, -1 / 0]); + for (var p = 0, d = t.length; p < d; p++) Ht(a, a, t[p]), Yt(s, s, t[p]); + Ht(a, a, i[0]), Yt(s, s, i[1]); + } + for (p = 0, d = t.length; p < d; p++) { + var f = t[p]; + if (n) (r = t[p ? p - 1 : d - 1]), (o = t[(p + 1) % d]); + else { + if (0 === p || p === d - 1) { + l.push(Tt(t[p])); + continue; + } + (r = t[p - 1]), (o = t[p + 1]); + } + kt(u, o, r), Nt(u, u, e); + var g = zt(f, r), + y = zt(f, o), + v = g + y; + 0 !== v && ((g /= v), (y /= v)), Nt(h, u, -g), Nt(c, u, y); + var m = Dt([], f, h), + x = Dt([], f, c); + i && (Yt(m, m, a), Ht(m, m, s), Yt(x, x, a), Ht(x, x, s)), l.push(m), l.push(x); + } + return n && l.push(l.shift()), l; + })(r, i, n, e.smoothConstraint); + t.moveTo(r[0][0], r[0][1]); + for (var a = r.length, s = 0; s < (n ? a : a - 1); s++) { + var l = o[2 * s], + u = o[2 * s + 1], + h = r[(s + 1) % a]; + t.bezierCurveTo(l[0], l[1], u[0], u[1], h[0], h[1]); + } + } else { + t.moveTo(r[0][0], r[0][1]); + s = 1; + for (var c = r.length; s < c; s++) t.lineTo(r[s][0], r[s][1]); + } + n && t.closePath(); + } + } + Wu.prototype.type = "ring"; + var Yu = function () { + (this.points = null), (this.smooth = 0), (this.smoothConstraint = null); + }, + Xu = (function (t) { + function e(e) { + return t.call(this, e) || this; + } + return ( + n(e, t), + (e.prototype.getDefaultShape = function () { + return new Yu(); + }), + (e.prototype.buildPath = function (t, e) { + Hu(t, e, !0); + }), + e + ); + })(ks); + Xu.prototype.type = "polygon"; + var Uu = function () { + (this.points = null), (this.percent = 1), (this.smooth = 0), (this.smoothConstraint = null); + }, + Zu = (function (t) { + function e(e) { + return t.call(this, e) || this; + } + return ( + n(e, t), + (e.prototype.getDefaultStyle = function () { + return { stroke: "#000", fill: null }; + }), + (e.prototype.getDefaultShape = function () { + return new Uu(); + }), + (e.prototype.buildPath = function (t, e) { + Hu(t, e, !1); + }), + e + ); + })(ks); + Zu.prototype.type = "polyline"; + var ju = {}, + qu = function () { + (this.x1 = 0), (this.y1 = 0), (this.x2 = 0), (this.y2 = 0), (this.percent = 1); + }, + Ku = (function (t) { + function e(e) { + return t.call(this, e) || this; + } + return ( + n(e, t), + (e.prototype.getDefaultStyle = function () { + return { stroke: "#000", fill: null }; + }), + (e.prototype.getDefaultShape = function () { + return new qu(); + }), + (e.prototype.buildPath = function (t, e) { + var n, i, r, o; + if (this.subPixelOptimize) { + var a = zs(ju, e, this.style); + (n = a.x1), (i = a.y1), (r = a.x2), (o = a.y2); + } else (n = e.x1), (i = e.y1), (r = e.x2), (o = e.y2); + var s = e.percent; + 0 !== s && (t.moveTo(n, i), s < 1 && ((r = n * (1 - s) + r * s), (o = i * (1 - s) + o * s)), t.lineTo(r, o)); + }), + (e.prototype.pointAt = function (t) { + var e = this.shape; + return [e.x1 * (1 - t) + e.x2 * t, e.y1 * (1 - t) + e.y2 * t]; + }), + e + ); + })(ks); + Ku.prototype.type = "line"; + var $u = [], + Ju = function () { + (this.x1 = 0), (this.y1 = 0), (this.x2 = 0), (this.y2 = 0), (this.cpx1 = 0), (this.cpy1 = 0), (this.percent = 1); + }; + function Qu(t, e, n) { + var i = t.cpx2, + r = t.cpy2; + return null != i || null != r ? [(n ? xn : mn)(t.x1, t.cpx1, t.cpx2, t.x2, e), (n ? xn : mn)(t.y1, t.cpy1, t.cpy2, t.y2, e)] : [(n ? Tn : In)(t.x1, t.cpx1, t.x2, e), (n ? Tn : In)(t.y1, t.cpy1, t.y2, e)]; + } + var th = (function (t) { + function e(e) { + return t.call(this, e) || this; + } + return ( + n(e, t), + (e.prototype.getDefaultStyle = function () { + return { stroke: "#000", fill: null }; + }), + (e.prototype.getDefaultShape = function () { + return new Ju(); + }), + (e.prototype.buildPath = function (t, e) { + var n = e.x1, + i = e.y1, + r = e.x2, + o = e.y2, + a = e.cpx1, + s = e.cpy1, + l = e.cpx2, + u = e.cpy2, + h = e.percent; + 0 !== h && + (t.moveTo(n, i), + null == l || null == u + ? (h < 1 && (Dn(n, a, r, h, $u), (a = $u[1]), (r = $u[2]), Dn(i, s, o, h, $u), (s = $u[1]), (o = $u[2])), t.quadraticCurveTo(a, s, r, o)) + : (h < 1 && (wn(n, a, l, r, h, $u), (a = $u[1]), (l = $u[2]), (r = $u[3]), wn(i, s, u, o, h, $u), (s = $u[1]), (u = $u[2]), (o = $u[3])), t.bezierCurveTo(a, s, l, u, r, o))); + }), + (e.prototype.pointAt = function (t) { + return Qu(this.shape, t, !1); + }), + (e.prototype.tangentAt = function (t) { + var e = Qu(this.shape, t, !0); + return Et(e, e); + }), + e + ); + })(ks); + th.prototype.type = "bezier-curve"; + var eh = function () { + (this.cx = 0), (this.cy = 0), (this.r = 0), (this.startAngle = 0), (this.endAngle = 2 * Math.PI), (this.clockwise = !0); + }, + nh = (function (t) { + function e(e) { + return t.call(this, e) || this; + } + return ( + n(e, t), + (e.prototype.getDefaultStyle = function () { + return { stroke: "#000", fill: null }; + }), + (e.prototype.getDefaultShape = function () { + return new eh(); + }), + (e.prototype.buildPath = function (t, e) { + var n = e.cx, + i = e.cy, + r = Math.max(e.r, 0), + o = e.startAngle, + a = e.endAngle, + s = e.clockwise, + l = Math.cos(o), + u = Math.sin(o); + t.moveTo(l * r + n, u * r + i), t.arc(n, i, r, o, a, !s); + }), + e + ); + })(ks); + nh.prototype.type = "arc"; + var ih = (function (t) { + function e() { + var e = (null !== t && t.apply(this, arguments)) || this; + return (e.type = "compound"), e; + } + return ( + n(e, t), + (e.prototype._updatePathDirty = function () { + for (var t = this.shape.paths, e = this.shapeChanged(), n = 0; n < t.length; n++) e = e || t[n].shapeChanged(); + e && this.dirtyShape(); + }), + (e.prototype.beforeBrush = function () { + this._updatePathDirty(); + for (var t = this.shape.paths || [], e = this.getGlobalScale(), n = 0; n < t.length; n++) t[n].path || t[n].createPathProxy(), t[n].path.setScale(e[0], e[1], t[n].segmentIgnoreThreshold); + }), + (e.prototype.buildPath = function (t, e) { + for (var n = e.paths || [], i = 0; i < n.length; i++) n[i].buildPath(t, n[i].shape, !0); + }), + (e.prototype.afterBrush = function () { + for (var t = this.shape.paths || [], e = 0; e < t.length; e++) t[e].pathUpdated(); + }), + (e.prototype.getBoundingRect = function () { + return this._updatePathDirty.call(this), ks.prototype.getBoundingRect.call(this); + }), + e + ); + })(ks), + rh = (function () { + function t(t) { + this.colorStops = t || []; + } + return ( + (t.prototype.addColorStop = function (t, e) { + this.colorStops.push({ offset: t, color: e }); + }), + t + ); + })(), + oh = (function (t) { + function e(e, n, i, r, o, a) { + var s = t.call(this, o) || this; + return (s.x = null == e ? 0 : e), (s.y = null == n ? 0 : n), (s.x2 = null == i ? 1 : i), (s.y2 = null == r ? 0 : r), (s.type = "linear"), (s.global = a || !1), s; + } + return n(e, t), e; + })(rh), + ah = (function (t) { + function e(e, n, i, r, o) { + var a = t.call(this, r) || this; + return (a.x = null == e ? 0.5 : e), (a.y = null == n ? 0.5 : n), (a.r = null == i ? 0.5 : i), (a.type = "radial"), (a.global = o || !1), a; + } + return n(e, t), e; + })(rh), + sh = [0, 0], + lh = [0, 0], + uh = new De(), + hh = new De(), + ch = (function () { + function t(t, e) { + (this._corners = []), (this._axes = []), (this._origin = [0, 0]); + for (var n = 0; n < 4; n++) this._corners[n] = new De(); + for (n = 0; n < 2; n++) this._axes[n] = new De(); + t && this.fromBoundingRect(t, e); + } + return ( + (t.prototype.fromBoundingRect = function (t, e) { + var n = this._corners, + i = this._axes, + r = t.x, + o = t.y, + a = r + t.width, + s = o + t.height; + if ((n[0].set(r, o), n[1].set(a, o), n[2].set(a, s), n[3].set(r, s), e)) for (var l = 0; l < 4; l++) n[l].transform(e); + De.sub(i[0], n[1], n[0]), De.sub(i[1], n[3], n[0]), i[0].normalize(), i[1].normalize(); + for (l = 0; l < 2; l++) this._origin[l] = i[l].dot(n[0]); + }), + (t.prototype.intersect = function (t, e) { + var n = !0, + i = !e; + return uh.set(1 / 0, 1 / 0), hh.set(0, 0), (!this._intersectCheckOneSide(this, t, uh, hh, i, 1) && ((n = !1), i)) || (!this._intersectCheckOneSide(t, this, uh, hh, i, -1) && ((n = !1), i)) || i || De.copy(e, n ? uh : hh), n; + }), + (t.prototype._intersectCheckOneSide = function (t, e, n, i, r, o) { + for (var a = !0, s = 0; s < 2; s++) { + var l = this._axes[s]; + if ((this._getProjMinMaxOnAxis(s, t._corners, sh), this._getProjMinMaxOnAxis(s, e._corners, lh), sh[1] < lh[0] || sh[0] > lh[1])) { + if (((a = !1), r)) return a; + var u = Math.abs(lh[0] - sh[1]), + h = Math.abs(sh[0] - lh[1]); + Math.min(u, h) > i.len() && (u < h ? De.scale(i, l, -u * o) : De.scale(i, l, h * o)); + } else if (n) { + (u = Math.abs(lh[0] - sh[1])), (h = Math.abs(sh[0] - lh[1])); + Math.min(u, h) < n.len() && (u < h ? De.scale(n, l, u * o) : De.scale(n, l, -h * o)); + } + } + return a; + }), + (t.prototype._getProjMinMaxOnAxis = function (t, e, n) { + for (var i = this._axes[t], r = this._origin, o = e[0].dot(i) + r[t], a = o, s = o, l = 1; l < e.length; l++) { + var u = e[l].dot(i) + r[t]; + (a = Math.min(u, a)), (s = Math.max(u, s)); + } + (n[0] = a), (n[1] = s); + }), + t + ); + })(), + ph = [], + dh = (function (t) { + function e() { + var e = (null !== t && t.apply(this, arguments)) || this; + return (e.notClear = !0), (e.incremental = !0), (e._displayables = []), (e._temporaryDisplayables = []), (e._cursor = 0), e; + } + return ( + n(e, t), + (e.prototype.traverse = function (t, e) { + t.call(e, this); + }), + (e.prototype.useStyle = function () { + this.style = {}; + }), + (e.prototype.getCursor = function () { + return this._cursor; + }), + (e.prototype.innerAfterBrush = function () { + this._cursor = this._displayables.length; + }), + (e.prototype.clearDisplaybles = function () { + (this._displayables = []), (this._temporaryDisplayables = []), (this._cursor = 0), this.markRedraw(), (this.notClear = !1); + }), + (e.prototype.clearTemporalDisplayables = function () { + this._temporaryDisplayables = []; + }), + (e.prototype.addDisplayable = function (t, e) { + e ? this._temporaryDisplayables.push(t) : this._displayables.push(t), this.markRedraw(); + }), + (e.prototype.addDisplayables = function (t, e) { + e = e || !1; + for (var n = 0; n < t.length; n++) this.addDisplayable(t[n], e); + }), + (e.prototype.getDisplayables = function () { + return this._displayables; + }), + (e.prototype.getTemporalDisplayables = function () { + return this._temporaryDisplayables; + }), + (e.prototype.eachPendingDisplayable = function (t) { + for (var e = this._cursor; e < this._displayables.length; e++) t && t(this._displayables[e]); + for (e = 0; e < this._temporaryDisplayables.length; e++) t && t(this._temporaryDisplayables[e]); + }), + (e.prototype.update = function () { + this.updateTransform(); + for (var t = this._cursor; t < this._displayables.length; t++) { + ((e = this._displayables[t]).parent = this), e.update(), (e.parent = null); + } + for (t = 0; t < this._temporaryDisplayables.length; t++) { + var e; + ((e = this._temporaryDisplayables[t]).parent = this), e.update(), (e.parent = null); + } + }), + (e.prototype.getBoundingRect = function () { + if (!this._rect) { + for (var t = new ze(1 / 0, 1 / 0, -1 / 0, -1 / 0), e = 0; e < this._displayables.length; e++) { + var n = this._displayables[e], + i = n.getBoundingRect().clone(); + n.needLocalTransform() && i.applyTransform(n.getLocalTransform(ph)), t.union(i); + } + this._rect = t; + } + return this._rect; + }), + (e.prototype.contain = function (t, e) { + var n = this.transformCoordToLocal(t, e); + if (this.getBoundingRect().contain(n[0], n[1])) + for (var i = 0; i < this._displayables.length; i++) { + if (this._displayables[i].contain(t, e)) return !0; + } + return !1; + }), + e + ); + })(Da), + fh = Vo(); + function gh(t, e, n, i, r) { + var o; + if (e && e.ecModel) { + var a = e.ecModel.getUpdatePayload(); + o = a && a.animation; + } + var s = "update" === t; + if (e && e.isAnimationEnabled()) { + var l = void 0, + u = void 0, + h = void 0; + return ( + i + ? ((l = rt(i.duration, 200)), (u = rt(i.easing, "cubicOut")), (h = 0)) + : ((l = e.getShallow(s ? "animationDurationUpdate" : "animationDuration")), (u = e.getShallow(s ? "animationEasingUpdate" : "animationEasing")), (h = e.getShallow(s ? "animationDelayUpdate" : "animationDelay"))), + o && (null != o.duration && (l = o.duration), null != o.easing && (u = o.easing), null != o.delay && (h = o.delay)), + X(h) && (h = h(n, r)), + X(l) && (l = l(n)), + { duration: l || 0, delay: h, easing: u } + ); + } + return null; + } + function yh(t, e, n, i, r, o, a) { + var s, + l = !1; + X(r) ? ((a = o), (o = r), (r = null)) : q(r) && ((o = r.cb), (a = r.during), (l = r.isFrom), (s = r.removeOpt), (r = r.dataIndex)); + var u = "leave" === t; + u || e.stopAnimation("leave"); + var h = gh(t, i, r, u ? s || {} : null, i && i.getAnimationDelayParams ? i.getAnimationDelayParams(e, r) : null); + if (h && h.duration > 0) { + var c = { duration: h.duration, delay: h.delay || 0, easing: h.easing, done: o, force: !!o || !!a, setToFinal: !u, scope: t, during: a }; + l ? e.animateFrom(n, c) : e.animateTo(n, c); + } else e.stopAnimation(), !l && e.attr(n), a && a(1), o && o(); + } + function vh(t, e, n, i, r, o) { + yh("update", t, e, n, i, r, o); + } + function mh(t, e, n, i, r, o) { + yh("enter", t, e, n, i, r, o); + } + function xh(t) { + if (!t.__zr) return !0; + for (var e = 0; e < t.animators.length; e++) { + if ("leave" === t.animators[e].scope) return !0; + } + return !1; + } + function _h(t, e, n, i, r, o) { + xh(t) || yh("leave", t, e, n, i, r, o); + } + function bh(t, e, n, i) { + t.removeTextContent(), t.removeTextGuideLine(), _h(t, { style: { opacity: 0 } }, e, n, i); + } + function wh(t, e, n) { + function i() { + t.parent && t.parent.remove(t); + } + t.isGroup + ? t.traverse(function (t) { + t.isGroup || bh(t, e, n, i); + }) + : bh(t, e, n, i); + } + function Sh(t) { + fh(t).oldStyle = t.style; + } + var Mh = Math.max, + Ih = Math.min, + Th = {}; + function Ch(t) { + return ks.extend(t); + } + var Dh = function (t, e) { + var i = xu(t, e); + return (function (t) { + function e(e) { + var n = t.call(this, e) || this; + return (n.applyTransform = i.applyTransform), (n.buildPath = i.buildPath), n; + } + return n(e, t), e; + })(vu); + }; + function Ah(t, e) { + return Dh(t, e); + } + function kh(t, e) { + Th[t] = e; + } + function Lh(t) { + if (Th.hasOwnProperty(t)) return Th[t]; + } + function Ph(t, e, n, i) { + var r = _u(t, e); + return n && ("center" === i && (n = Rh(n, r.getBoundingRect())), Eh(r, n)), r; + } + function Oh(t, e, n) { + var i = new Ns({ + style: { image: t, x: e.x, y: e.y, width: e.width, height: e.height }, + onload: function (t) { + if ("center" === n) { + var r = { width: t.width, height: t.height }; + i.setStyle(Rh(e, r)); + } + }, + }); + return i; + } + function Rh(t, e) { + var n, + i = e.width / e.height, + r = t.height * i; + return (n = r <= t.width ? t.height : (r = t.width) / i), { x: t.x + t.width / 2 - r / 2, y: t.y + t.height / 2 - n / 2, width: r, height: n }; + } + var Nh = function (t, e) { + for (var n = [], i = t.length, r = 0; r < i; r++) { + var o = t[r]; + n.push(o.getUpdatedPathProxy(!0)); + } + var a = new ks(e); + return ( + a.createPathProxy(), + (a.buildPath = function (t) { + if (mu(t)) { + t.appendPath(n); + var e = t.getContext(); + e && t.rebuildPath(e, 1); + } + }), + a + ); + }; + function Eh(t, e) { + if (t.applyTransform) { + var n = t.getBoundingRect().calculateTransform(e); + t.applyTransform(n); + } + } + function zh(t, e) { + return zs(t, t, { lineWidth: e }), t; + } + var Vh = Bs; + function Bh(t, e) { + for (var n = xe([]); t && t !== e; ) be(n, t.getLocalTransform(), n), (t = t.parent); + return n; + } + function Fh(t, e, n) { + return e && !N(e) && (e = vr.getLocalTransform(e)), n && (e = Ie([], e)), Wt([], t, e); + } + function Gh(t, e, n) { + var i = 0 === e[4] || 0 === e[5] || 0 === e[0] ? 1 : Math.abs((2 * e[4]) / e[0]), + r = 0 === e[4] || 0 === e[5] || 0 === e[2] ? 1 : Math.abs((2 * e[4]) / e[2]), + o = ["left" === t ? -i : "right" === t ? i : 0, "top" === t ? -r : "bottom" === t ? r : 0]; + return (o = Fh(o, e, n)), Math.abs(o[0]) > Math.abs(o[1]) ? (o[0] > 0 ? "right" : "left") : o[1] > 0 ? "bottom" : "top"; + } + function Wh(t) { + return !t.isGroup; + } + function Hh(t, e, n) { + if (t && e) { + var i, + r = + ((i = {}), + t.traverse(function (t) { + Wh(t) && t.anid && (i[t.anid] = t); + }), + i); + e.traverse(function (t) { + if (Wh(t) && t.anid) { + var e = r[t.anid]; + if (e) { + var i = o(t); + t.attr(o(e)), vh(t, i, n, rl(t).dataIndex); + } + } + }); + } + function o(t) { + var e = { x: t.x, y: t.y, rotation: t.rotation }; + return ( + (function (t) { + return null != t.shape; + })(t) && (e.shape = A({}, t.shape)), + e + ); + } + } + function Yh(t, e) { + return z(t, function (t) { + var n = t[0]; + (n = Mh(n, e.x)), (n = Ih(n, e.x + e.width)); + var i = t[1]; + return (i = Mh(i, e.y)), [n, (i = Ih(i, e.y + e.height))]; + }); + } + function Xh(t, e) { + var n = Mh(t.x, e.x), + i = Ih(t.x + t.width, e.x + e.width), + r = Mh(t.y, e.y), + o = Ih(t.y + t.height, e.y + e.height); + if (i >= n && o >= r) return { x: n, y: r, width: i - n, height: o - r }; + } + function Uh(t, e, n) { + var i = A({ rectHover: !0 }, e), + r = (i.style = { strokeNoScale: !0 }); + if (((n = n || { x: -1, y: -1, width: 2, height: 2 }), t)) return 0 === t.indexOf("image://") ? ((r.image = t.slice(8)), k(r, n), new Ns(i)) : Ph(t.replace("path://", ""), i, n, "center"); + } + function Zh(t, e, n, i, r) { + for (var o = 0, a = r[r.length - 1]; o < r.length; o++) { + var s = r[o]; + if (jh(t, e, n, i, s[0], s[1], a[0], a[1])) return !0; + a = s; + } + } + function jh(t, e, n, i, r, o, a, s) { + var l, + u = n - t, + h = i - e, + c = a - r, + p = s - o, + d = qh(c, p, u, h); + if ((l = d) <= 1e-6 && l >= -1e-6) return !1; + var f = t - r, + g = e - o, + y = qh(f, g, u, h) / d; + if (y < 0 || y > 1) return !1; + var v = qh(f, g, c, p) / d; + return !(v < 0 || v > 1); + } + function qh(t, e, n, i) { + return t * i - n * e; + } + function Kh(t) { + var e = t.itemTooltipOption, + n = t.componentModel, + i = t.itemName, + r = U(e) ? { formatter: e } : e, + o = n.mainType, + a = n.componentIndex, + s = { componentType: o, name: i, $vars: ["name"] }; + s[o + "Index"] = a; + var l = t.formatterParamsExtra; + l && + E(G(l), function (t) { + _t(s, t) || ((s[t] = l[t]), s.$vars.push(t)); + }); + var u = rl(t.el); + (u.componentMainType = o), (u.componentIndex = a), (u.tooltipConfig = { name: i, option: k({ content: i, formatterParams: s }, r) }); + } + function $h(t, e) { + var n; + t.isGroup && (n = e(t)), n || t.traverse(e); + } + function Jh(t, e) { + if (t) + if (Y(t)) for (var n = 0; n < t.length; n++) $h(t[n], e); + else $h(t, e); + } + kh("circle", Su), kh("ellipse", Iu), kh("sector", Fu), kh("ring", Wu), kh("polygon", Xu), kh("polyline", Zu), kh("rect", Ws), kh("line", Ku), kh("bezierCurve", th), kh("arc", nh); + var Qh = Object.freeze({ + __proto__: null, + updateProps: vh, + initProps: mh, + removeElement: _h, + removeElementWithFadeOut: wh, + isElementRemoved: xh, + extendShape: Ch, + extendPath: Ah, + registerShape: kh, + getShapeClass: Lh, + makePath: Ph, + makeImage: Oh, + mergePath: Nh, + resizePath: Eh, + subPixelOptimizeLine: zh, + subPixelOptimizeRect: function (t) { + return Vs(t.shape, t.shape, t.style), t; + }, + subPixelOptimize: Vh, + getTransform: Bh, + applyTransform: Fh, + transformDirection: Gh, + groupTransition: Hh, + clipPointsByRect: Yh, + clipRectByRect: Xh, + createIcon: Uh, + linePolygonIntersect: Zh, + lineLineIntersect: jh, + setTooltipConfig: Kh, + traverseElements: Jh, + Group: Br, + Image: Ns, + Text: Xs, + Circle: Su, + Ellipse: Iu, + Sector: Fu, + Ring: Wu, + Polygon: Xu, + Polyline: Zu, + Rect: Ws, + Line: Ku, + BezierCurve: th, + Arc: nh, + IncrementalDisplayable: dh, + CompoundPath: ih, + LinearGradient: oh, + RadialGradient: ah, + BoundingRect: ze, + OrientedBoundingRect: ch, + Point: De, + Path: ks, + }), + tc = {}; + function ec(t, e) { + for (var n = 0; n < hl.length; n++) { + var i = hl[n], + r = e[i], + o = t.ensureState(i); + (o.style = o.style || {}), (o.style.text = r); + } + var a = t.currentStates.slice(); + t.clearStates(!0), t.setStyle({ text: e.normal }), t.useStates(a, !0); + } + function nc(t, e, n) { + var i, + r = t.labelFetcher, + o = t.labelDataIndex, + a = t.labelDimIndex, + s = e.normal; + r && (i = r.getFormattedLabel(o, "normal", null, a, s && s.get("formatter"), null != n ? { interpolatedValue: n } : null)), null == i && (i = X(t.defaultText) ? t.defaultText(o, t, n) : t.defaultText); + for (var l = { normal: i }, u = 0; u < hl.length; u++) { + var h = hl[u], + c = e[h]; + l[h] = rt(r ? r.getFormattedLabel(o, h, null, a, c && c.get("formatter")) : null, i); + } + return l; + } + function ic(t, e, n, i) { + n = n || tc; + for (var r = t instanceof Xs, o = !1, a = 0; a < cl.length; a++) { + if ((p = e[cl[a]]) && p.getShallow("show")) { + o = !0; + break; + } + } + var s = r ? t : t.getTextContent(); + if (o) { + r || (s || ((s = new Xs()), t.setTextContent(s)), t.stateProxy && (s.stateProxy = t.stateProxy)); + var l = nc(n, e), + u = e.normal, + h = !!u.getShallow("show"), + c = oc(u, i && i.normal, n, !1, !r); + (c.text = l.normal), r || t.setTextConfig(ac(u, n, !1)); + for (a = 0; a < hl.length; a++) { + var p, + d = hl[a]; + if ((p = e[d])) { + var f = s.ensureState(d), + g = !!rt(p.getShallow("show"), h); + if ((g !== h && (f.ignore = !g), (f.style = oc(p, i && i[d], n, !0, !r)), (f.style.text = l[d]), !r)) t.ensureState(d).textConfig = ac(p, n, !0); + } + } + (s.silent = !!u.getShallow("silent")), + null != s.style.x && (c.x = s.style.x), + null != s.style.y && (c.y = s.style.y), + (s.ignore = !h), + s.useStyle(c), + s.dirty(), + n.enableTextSetter && + (pc(s).setLabelText = function (t) { + var i = nc(n, e, t); + ec(s, i); + }); + } else s && (s.ignore = !0); + t.dirty(); + } + function rc(t, e) { + e = e || "label"; + for (var n = { normal: t.getModel(e) }, i = 0; i < hl.length; i++) { + var r = hl[i]; + n[r] = t.getModel([r, e]); + } + return n; + } + function oc(t, e, n, i, r) { + var o = {}; + return ( + (function (t, e, n, i, r) { + n = n || tc; + var o, + a = e.ecModel, + s = a && a.option.textStyle, + l = (function (t) { + var e; + for (; t && t !== t.ecModel; ) { + var n = (t.option || tc).rich; + if (n) { + e = e || {}; + for (var i = G(n), r = 0; r < i.length; r++) { + e[i[r]] = 1; + } + } + t = t.parentModel; + } + return e; + })(e); + if (l) + for (var u in ((o = {}), l)) + if (l.hasOwnProperty(u)) { + var h = e.getModel(["rich", u]); + hc((o[u] = {}), h, s, n, i, r, !1, !0); + } + o && (t.rich = o); + var c = e.get("overflow"); + c && (t.overflow = c); + var p = e.get("minMargin"); + null != p && (t.margin = p); + hc(t, e, s, n, i, r, !0, !1); + })(o, t, n, i, r), + e && A(o, e), + o + ); + } + function ac(t, e, n) { + e = e || {}; + var i, + r = {}, + o = t.getShallow("rotate"), + a = rt(t.getShallow("distance"), n ? null : 5), + s = t.getShallow("offset"); + return ( + "outside" === (i = t.getShallow("position") || (n ? null : "inside")) && (i = e.defaultOutsidePosition || "top"), + null != i && (r.position = i), + null != s && (r.offset = s), + null != o && ((o *= Math.PI / 180), (r.rotation = o)), + null != a && (r.distance = a), + (r.outsideFill = "inherit" === t.get("color") ? e.inheritColor || null : "auto"), + r + ); + } + var sc = ["fontStyle", "fontWeight", "fontSize", "fontFamily", "textShadowColor", "textShadowBlur", "textShadowOffsetX", "textShadowOffsetY"], + lc = ["align", "lineHeight", "width", "height", "tag", "verticalAlign", "ellipsis"], + uc = ["padding", "borderWidth", "borderRadius", "borderDashOffset", "backgroundColor", "borderColor", "shadowColor", "shadowBlur", "shadowOffsetX", "shadowOffsetY"]; + function hc(t, e, n, i, r, o, a, s) { + n = (!r && n) || tc; + var l = i && i.inheritColor, + u = e.getShallow("color"), + h = e.getShallow("textBorderColor"), + c = rt(e.getShallow("opacity"), n.opacity); + ("inherit" !== u && "auto" !== u) || (u = l || null), ("inherit" !== h && "auto" !== h) || (h = l || null), o || ((u = u || n.color), (h = h || n.textBorderColor)), null != u && (t.fill = u), null != h && (t.stroke = h); + var p = rt(e.getShallow("textBorderWidth"), n.textBorderWidth); + null != p && (t.lineWidth = p); + var d = rt(e.getShallow("textBorderType"), n.textBorderType); + null != d && (t.lineDash = d); + var f = rt(e.getShallow("textBorderDashOffset"), n.textBorderDashOffset); + null != f && (t.lineDashOffset = f), r || null != c || s || (c = i && i.defaultOpacity), null != c && (t.opacity = c), r || o || (null == t.fill && i.inheritColor && (t.fill = i.inheritColor)); + for (var g = 0; g < sc.length; g++) { + var y = sc[g]; + null != (m = rt(e.getShallow(y), n[y])) && (t[y] = m); + } + for (g = 0; g < lc.length; g++) { + y = lc[g]; + null != (m = e.getShallow(y)) && (t[y] = m); + } + if (null == t.verticalAlign) { + var v = e.getShallow("baseline"); + null != v && (t.verticalAlign = v); + } + if (!a || !i.disableBox) { + for (g = 0; g < uc.length; g++) { + var m; + y = uc[g]; + null != (m = e.getShallow(y)) && (t[y] = m); + } + var x = e.getShallow("borderType"); + null != x && (t.borderDash = x), ("auto" !== t.backgroundColor && "inherit" !== t.backgroundColor) || !l || (t.backgroundColor = l), ("auto" !== t.borderColor && "inherit" !== t.borderColor) || !l || (t.borderColor = l); + } + } + function cc(t, e) { + var n = e && e.getModel("textStyle"); + return ut( + [ + t.fontStyle || (n && n.getShallow("fontStyle")) || "", + t.fontWeight || (n && n.getShallow("fontWeight")) || "", + (t.fontSize || (n && n.getShallow("fontSize")) || 12) + "px", + t.fontFamily || (n && n.getShallow("fontFamily")) || "sans-serif", + ].join(" ") + ); + } + var pc = Vo(); + function dc(t, e, n, i) { + if (t) { + var r = pc(t); + (r.prevValue = r.value), (r.value = n); + var o = e.normal; + (r.valueAnimation = o.get("valueAnimation")), r.valueAnimation && ((r.precision = o.get("precision")), (r.defaultInterpolatedText = i), (r.statesModels = e)); + } + } + function fc(t, e, n, i, r) { + var o = pc(t); + if (o.valueAnimation && o.prevValue !== o.value) { + var a = o.defaultInterpolatedText, + s = rt(o.interpolatedValue, o.prevValue), + l = o.value; + (t.percent = 0), + (null == o.prevValue ? mh : vh)(t, { percent: 1 }, i, e, null, function (i) { + var u = Zo(n, o.precision, s, l, i); + o.interpolatedValue = 1 === i ? null : u; + var h = nc({ labelDataIndex: e, labelFetcher: r, defaultText: a ? a(u) : u + "" }, o.statesModels, u); + ec(t, h); + }); + } + } + var gc, + yc, + vc = ["textStyle", "color"], + mc = ["fontStyle", "fontWeight", "fontSize", "fontFamily", "padding", "lineHeight", "rich", "width", "height", "overflow"], + xc = new Xs(), + _c = (function () { + function t() {} + return ( + (t.prototype.getTextColor = function (t) { + var e = this.ecModel; + return this.getShallow("color") || (!t && e ? e.get(vc) : null); + }), + (t.prototype.getFont = function () { + return cc({ fontStyle: this.getShallow("fontStyle"), fontWeight: this.getShallow("fontWeight"), fontSize: this.getShallow("fontSize"), fontFamily: this.getShallow("fontFamily") }, this.ecModel); + }), + (t.prototype.getTextRect = function (t) { + for (var e = { text: t, verticalAlign: this.getShallow("verticalAlign") || this.getShallow("baseline") }, n = 0; n < mc.length; n++) e[mc[n]] = this.getShallow(mc[n]); + return xc.useStyle(e), xc.update(), xc.getBoundingRect(); + }), + t + ); + })(), + bc = [ + ["lineWidth", "width"], + ["stroke", "color"], + ["opacity"], + ["shadowBlur"], + ["shadowOffsetX"], + ["shadowOffsetY"], + ["shadowColor"], + ["lineDash", "type"], + ["lineDashOffset", "dashOffset"], + ["lineCap", "cap"], + ["lineJoin", "join"], + ["miterLimit"], + ], + wc = ia(bc), + Sc = (function () { + function t() {} + return ( + (t.prototype.getLineStyle = function (t) { + return wc(this, t); + }), + t + ); + })(), + Mc = [ + ["fill", "color"], + ["stroke", "borderColor"], + ["lineWidth", "borderWidth"], + ["opacity"], + ["shadowBlur"], + ["shadowOffsetX"], + ["shadowOffsetY"], + ["shadowColor"], + ["lineDash", "borderType"], + ["lineDashOffset", "borderDashOffset"], + ["lineCap", "borderCap"], + ["lineJoin", "borderJoin"], + ["miterLimit", "borderMiterLimit"], + ], + Ic = ia(Mc), + Tc = (function () { + function t() {} + return ( + (t.prototype.getItemStyle = function (t, e) { + return Ic(this, t, e); + }), + t + ); + })(), + Cc = (function () { + function t(t, e, n) { + (this.parentModel = e), (this.ecModel = n), (this.option = t); + } + return ( + (t.prototype.init = function (t, e, n) { + for (var i = [], r = 3; r < arguments.length; r++) i[r - 3] = arguments[r]; + }), + (t.prototype.mergeOption = function (t, e) { + C(this.option, t, !0); + }), + (t.prototype.get = function (t, e) { + return null == t ? this.option : this._doGet(this.parsePath(t), !e && this.parentModel); + }), + (t.prototype.getShallow = function (t, e) { + var n = this.option, + i = null == n ? n : n[t]; + if (null == i && !e) { + var r = this.parentModel; + r && (i = r.getShallow(t)); + } + return i; + }), + (t.prototype.getModel = function (e, n) { + var i = null != e, + r = i ? this.parsePath(e) : null; + return new t(i ? this._doGet(r) : this.option, (n = n || (this.parentModel && this.parentModel.getModel(this.resolveParentPath(r)))), this.ecModel); + }), + (t.prototype.isEmpty = function () { + return null == this.option; + }), + (t.prototype.restoreData = function () {}), + (t.prototype.clone = function () { + return new (0, this.constructor)(T(this.option)); + }), + (t.prototype.parsePath = function (t) { + return "string" == typeof t ? t.split(".") : t; + }), + (t.prototype.resolveParentPath = function (t) { + return t; + }), + (t.prototype.isAnimationEnabled = function () { + if (!r.node && this.option) { + if (null != this.option.animation) return !!this.option.animation; + if (this.parentModel) return this.parentModel.isAnimationEnabled(); + } + }), + (t.prototype._doGet = function (t, e) { + var n = this.option; + if (!t) return n; + for (var i = 0; i < t.length && (!t[i] || null != (n = n && "object" == typeof n ? n[t[i]] : null)); i++); + return null == n && e && (n = e._doGet(this.resolveParentPath(t), e.parentModel)), n; + }), + t + ); + })(); + $o(Cc), + (gc = Cc), + (yc = ["__\0is_clz", Qo++].join("_")), + (gc.prototype[yc] = !0), + (gc.isInstance = function (t) { + return !(!t || !t[yc]); + }), + R(Cc, Sc), + R(Cc, Tc), + R(Cc, oa), + R(Cc, _c); + var Dc = Math.round(10 * Math.random()); + function Ac(t) { + return [t || "", Dc++].join("_"); + } + function kc(t, e) { + return C(C({}, t, !0), e, !0); + } + var Lc = "ZH", + Pc = "EN", + Oc = Pc, + Rc = {}, + Nc = {}, + Ec = r.domSupported && (document.documentElement.lang || navigator.language || navigator.browserLanguage || Oc).toUpperCase().indexOf(Lc) > -1 ? Lc : Oc; + function zc(t, e) { + (t = t.toUpperCase()), (Nc[t] = new Cc(e)), (Rc[t] = e); + } + function Vc(t) { + return Nc[t]; + } + zc(Pc, { + time: { + month: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], + monthAbbr: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], + dayOfWeek: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], + dayOfWeekAbbr: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], + }, + legend: { selector: { all: "All", inverse: "Inv" } }, + toolbox: { + brush: { title: { rect: "Box Select", polygon: "Lasso Select", lineX: "Horizontally Select", lineY: "Vertically Select", keep: "Keep Selections", clear: "Clear Selections" } }, + dataView: { title: "Data View", lang: ["Data View", "Close", "Refresh"] }, + dataZoom: { title: { zoom: "Zoom", back: "Zoom Reset" } }, + magicType: { title: { line: "Switch to Line Chart", bar: "Switch to Bar Chart", stack: "Stack", tiled: "Tile" } }, + restore: { title: "Restore" }, + saveAsImage: { title: "Save as Image", lang: ["Right Click to Save Image"] }, + }, + series: { + typeNames: { + pie: "Pie chart", + bar: "Bar chart", + line: "Line chart", + scatter: "Scatter plot", + effectScatter: "Ripple scatter plot", + radar: "Radar chart", + tree: "Tree", + treemap: "Treemap", + boxplot: "Boxplot", + candlestick: "Candlestick", + k: "K line chart", + heatmap: "Heat map", + map: "Map", + parallel: "Parallel coordinate map", + lines: "Line graph", + graph: "Relationship graph", + sankey: "Sankey diagram", + funnel: "Funnel chart", + gauge: "Gauge", + pictorialBar: "Pictorial bar", + themeRiver: "Theme River Map", + sunburst: "Sunburst", + custom: "Custom chart", + chart: "Chart", + }, + }, + aria: { + general: { withTitle: 'This is a chart about "{title}"', withoutTitle: "This is a chart" }, + series: { + single: { prefix: "", withName: " with type {seriesType} named {seriesName}.", withoutName: " with type {seriesType}." }, + multiple: { + prefix: ". It consists of {seriesCount} series count.", + withName: " The {seriesId} series is a {seriesType} representing {seriesName}.", + withoutName: " The {seriesId} series is a {seriesType}.", + separator: { middle: "", end: "" }, + }, + }, + data: { allData: "The data is as follows: ", partialData: "The first {displayCnt} items are: ", withName: "the data for {name} is {value}", withoutName: "{value}", separator: { middle: ", ", end: ". " } }, + }, + }), + zc(Lc, { + time: { + month: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], + monthAbbr: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], + dayOfWeek: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"], + dayOfWeekAbbr: ["日", "一", "二", "三", "四", "五", "六"], + }, + legend: { selector: { all: "全选", inverse: "反选" } }, + toolbox: { + brush: { title: { rect: "矩形选择", polygon: "圈选", lineX: "横向选择", lineY: "纵向选择", keep: "保持选择", clear: "清除选择" } }, + dataView: { title: "数据视图", lang: ["数据视图", "关闭", "刷新"] }, + dataZoom: { title: { zoom: "区域缩放", back: "区域缩放还原" } }, + magicType: { title: { line: "切换为折线图", bar: "切换为柱状图", stack: "切换为堆叠", tiled: "切换为平铺" } }, + restore: { title: "还原" }, + saveAsImage: { title: "保存为图片", lang: ["右键另存为图片"] }, + }, + series: { + typeNames: { + pie: "饼图", + bar: "柱状图", + line: "折线图", + scatter: "散点图", + effectScatter: "涟漪散点图", + radar: "雷达图", + tree: "树图", + treemap: "矩形树图", + boxplot: "箱型图", + candlestick: "K线图", + k: "K线图", + heatmap: "热力图", + map: "地图", + parallel: "平行坐标图", + lines: "线图", + graph: "关系图", + sankey: "桑基图", + funnel: "漏斗图", + gauge: "仪表盘图", + pictorialBar: "象形柱图", + themeRiver: "主题河流图", + sunburst: "旭日图", + custom: "自定义图表", + chart: "图表", + }, + }, + aria: { + general: { withTitle: "这是一个关于“{title}”的图表。", withoutTitle: "这是一个图表," }, + series: { + single: { prefix: "", withName: "图表类型是{seriesType},表示{seriesName}。", withoutName: "图表类型是{seriesType}。" }, + multiple: { prefix: "它由{seriesCount}个图表系列组成。", withName: "第{seriesId}个系列是一个表示{seriesName}的{seriesType},", withoutName: "第{seriesId}个系列是一个{seriesType},", separator: { middle: ";", end: "。" } }, + }, + data: { allData: "其数据是——", partialData: "其中,前{displayCnt}项是——", withName: "{name}的数据是{value}", withoutName: "{value}", separator: { middle: ",", end: "" } }, + }, + }); + var Bc = 1e3, + Fc = 6e4, + Gc = 36e5, + Wc = 864e5, + Hc = 31536e6, + Yc = { year: "{yyyy}", month: "{MMM}", day: "{d}", hour: "{HH}:{mm}", minute: "{HH}:{mm}", second: "{HH}:{mm}:{ss}", millisecond: "{HH}:{mm}:{ss} {SSS}", none: "{yyyy}-{MM}-{dd} {HH}:{mm}:{ss} {SSS}" }, + Xc = "{yyyy}-{MM}-{dd}", + Uc = { year: "{yyyy}", month: "{yyyy}-{MM}", day: Xc, hour: Xc + " " + Yc.hour, minute: Xc + " " + Yc.minute, second: Xc + " " + Yc.second, millisecond: Yc.none }, + Zc = ["year", "month", "day", "hour", "minute", "second", "millisecond"], + jc = ["year", "half-year", "quarter", "month", "week", "half-week", "day", "half-day", "quarter-day", "hour", "minute", "second", "millisecond"]; + function qc(t, e) { + return "0000".substr(0, e - (t += "").length) + t; + } + function Kc(t) { + switch (t) { + case "half-year": + case "quarter": + return "month"; + case "week": + case "half-week": + return "day"; + case "half-day": + case "quarter-day": + return "hour"; + default: + return t; + } + } + function $c(t) { + return t === Kc(t); + } + function Jc(t, e, n, i) { + var r = uo(t), + o = r[ep(n)](), + a = r[np(n)]() + 1, + s = Math.floor((a - 1) / 3) + 1, + l = r[ip(n)](), + u = r["get" + (n ? "UTC" : "") + "Day"](), + h = r[rp(n)](), + c = ((h - 1) % 12) + 1, + p = r[op(n)](), + d = r[ap(n)](), + f = r[sp(n)](), + g = (i instanceof Cc ? i : Vc(i || Ec) || Nc[Oc]).getModel("time"), + y = g.get("month"), + v = g.get("monthAbbr"), + m = g.get("dayOfWeek"), + x = g.get("dayOfWeekAbbr"); + return (e || "") + .replace(/{yyyy}/g, o + "") + .replace(/{yy}/g, qc((o % 100) + "", 2)) + .replace(/{Q}/g, s + "") + .replace(/{MMMM}/g, y[a - 1]) + .replace(/{MMM}/g, v[a - 1]) + .replace(/{MM}/g, qc(a, 2)) + .replace(/{M}/g, a + "") + .replace(/{dd}/g, qc(l, 2)) + .replace(/{d}/g, l + "") + .replace(/{eeee}/g, m[u]) + .replace(/{ee}/g, x[u]) + .replace(/{e}/g, u + "") + .replace(/{HH}/g, qc(h, 2)) + .replace(/{H}/g, h + "") + .replace(/{hh}/g, qc(c + "", 2)) + .replace(/{h}/g, c + "") + .replace(/{mm}/g, qc(p, 2)) + .replace(/{m}/g, p + "") + .replace(/{ss}/g, qc(d, 2)) + .replace(/{s}/g, d + "") + .replace(/{SSS}/g, qc(f, 3)) + .replace(/{S}/g, f + ""); + } + function Qc(t, e) { + var n = uo(t), + i = n[np(e)]() + 1, + r = n[ip(e)](), + o = n[rp(e)](), + a = n[op(e)](), + s = n[ap(e)](), + l = 0 === n[sp(e)](), + u = l && 0 === s, + h = u && 0 === a, + c = h && 0 === o, + p = c && 1 === r; + return p && 1 === i ? "year" : p ? "month" : c ? "day" : h ? "hour" : u ? "minute" : l ? "second" : "millisecond"; + } + function tp(t, e, n) { + var i = j(t) ? uo(t) : t; + switch ((e = e || Qc(t, n))) { + case "year": + return i[ep(n)](); + case "half-year": + return i[np(n)]() >= 6 ? 1 : 0; + case "quarter": + return Math.floor((i[np(n)]() + 1) / 4); + case "month": + return i[np(n)](); + case "day": + return i[ip(n)](); + case "half-day": + return i[rp(n)]() / 24; + case "hour": + return i[rp(n)](); + case "minute": + return i[op(n)](); + case "second": + return i[ap(n)](); + case "millisecond": + return i[sp(n)](); + } + } + function ep(t) { + return t ? "getUTCFullYear" : "getFullYear"; + } + function np(t) { + return t ? "getUTCMonth" : "getMonth"; + } + function ip(t) { + return t ? "getUTCDate" : "getDate"; + } + function rp(t) { + return t ? "getUTCHours" : "getHours"; + } + function op(t) { + return t ? "getUTCMinutes" : "getMinutes"; + } + function ap(t) { + return t ? "getUTCSeconds" : "getSeconds"; + } + function sp(t) { + return t ? "getUTCMilliseconds" : "getMilliseconds"; + } + function lp(t) { + return t ? "setUTCFullYear" : "setFullYear"; + } + function up(t) { + return t ? "setUTCMonth" : "setMonth"; + } + function hp(t) { + return t ? "setUTCDate" : "setDate"; + } + function cp(t) { + return t ? "setUTCHours" : "setHours"; + } + function pp(t) { + return t ? "setUTCMinutes" : "setMinutes"; + } + function dp(t) { + return t ? "setUTCSeconds" : "setSeconds"; + } + function fp(t) { + return t ? "setUTCMilliseconds" : "setMilliseconds"; + } + function gp(t) { + if (!vo(t)) return U(t) ? t : "-"; + var e = (t + "").split("."); + return e[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g, "$1,") + (e.length > 1 ? "." + e[1] : ""); + } + function yp(t, e) { + return ( + (t = (t || "").toLowerCase().replace(/-(.)/g, function (t, e) { + return e.toUpperCase(); + })), + e && t && (t = t.charAt(0).toUpperCase() + t.slice(1)), + t + ); + } + var vp = st; + function mp(t, e, n) { + function i(t) { + return t && ut(t) ? t : "-"; + } + function r(t) { + return !(null == t || isNaN(t) || !isFinite(t)); + } + var o = "time" === e, + a = t instanceof Date; + if (o || a) { + var s = o ? uo(t) : t; + if (!isNaN(+s)) return Jc(s, "{yyyy}-{MM}-{dd} {HH}:{mm}:{ss}", n); + if (a) return "-"; + } + if ("ordinal" === e) return Z(t) ? i(t) : j(t) && r(t) ? t + "" : "-"; + var l = yo(t); + return r(l) ? gp(l) : Z(t) ? i(t) : "boolean" == typeof t ? t + "" : "-"; + } + var xp = ["a", "b", "c", "d", "e", "f", "g"], + _p = function (t, e) { + return "{" + t + (null == e ? "" : e) + "}"; + }; + function bp(t, e, n) { + Y(e) || (e = [e]); + var i = e.length; + if (!i) return ""; + for (var r = e[0].$vars || [], o = 0; o < r.length; o++) { + var a = xp[o]; + t = t.replace(_p(a), _p(a, 0)); + } + for (var s = 0; s < i; s++) + for (var l = 0; l < r.length; l++) { + var u = e[s][r[l]]; + t = t.replace(_p(xp[l], s), n ? re(u) : u); + } + return t; + } + function wp(t, e) { + var n = U(t) ? { color: t, extraCssText: e } : t || {}, + i = n.color, + r = n.type; + e = n.extraCssText; + var o = n.renderMode || "html"; + return i + ? "html" === o + ? "subItem" === r + ? '' + : '' + : { renderMode: o, content: "{" + (n.markerId || "markerX") + "|} ", style: "subItem" === r ? { width: 4, height: 4, borderRadius: 2, backgroundColor: i } : { width: 10, height: 10, borderRadius: 5, backgroundColor: i } } + : ""; + } + function Sp(t, e) { + return (e = e || "transparent"), U(t) ? t : (q(t) && t.colorStops && (t.colorStops[0] || {}).color) || e; + } + function Mp(t, e) { + if ("_blank" === e || "blank" === e) { + var n = window.open(); + (n.opener = null), (n.location.href = t); + } else window.open(t, e); + } + var Ip = E, + Tp = ["left", "right", "top", "bottom", "width", "height"], + Cp = [ + ["width", "left", "right"], + ["height", "top", "bottom"], + ]; + function Dp(t, e, n, i, r) { + var o = 0, + a = 0; + null == i && (i = 1 / 0), null == r && (r = 1 / 0); + var s = 0; + e.eachChild(function (l, u) { + var h, + c, + p = l.getBoundingRect(), + d = e.childAt(u + 1), + f = d && d.getBoundingRect(); + if ("horizontal" === t) { + var g = p.width + (f ? -f.x + p.x : 0); + (h = o + g) > i || l.newline ? ((o = 0), (h = g), (a += s + n), (s = p.height)) : (s = Math.max(s, p.height)); + } else { + var y = p.height + (f ? -f.y + p.y : 0); + (c = a + y) > r || l.newline ? ((o += s + n), (a = 0), (c = y), (s = p.width)) : (s = Math.max(s, p.width)); + } + l.newline || ((l.x = o), (l.y = a), l.markRedraw(), "horizontal" === t ? (o = h + n) : (a = c + n)); + }); + } + var Ap = Dp; + H(Dp, "vertical"), H(Dp, "horizontal"); + function kp(t, e, n) { + n = vp(n || 0); + var i = e.width, + r = e.height, + o = $r(t.left, i), + a = $r(t.top, r), + s = $r(t.right, i), + l = $r(t.bottom, r), + u = $r(t.width, i), + h = $r(t.height, r), + c = n[2] + n[0], + p = n[1] + n[3], + d = t.aspect; + switch ( + (isNaN(u) && (u = i - s - p - o), + isNaN(h) && (h = r - l - c - a), + null != d && (isNaN(u) && isNaN(h) && (d > i / r ? (u = 0.8 * i) : (h = 0.8 * r)), isNaN(u) && (u = d * h), isNaN(h) && (h = u / d)), + isNaN(o) && (o = i - s - u - p), + isNaN(a) && (a = r - l - h - c), + t.left || t.right) + ) { + case "center": + o = i / 2 - u / 2 - n[3]; + break; + case "right": + o = i - u - p; + } + switch (t.top || t.bottom) { + case "middle": + case "center": + a = r / 2 - h / 2 - n[0]; + break; + case "bottom": + a = r - h - c; + } + (o = o || 0), (a = a || 0), isNaN(u) && (u = i - p - o - (s || 0)), isNaN(h) && (h = r - c - a - (l || 0)); + var f = new ze(o + n[3], a + n[0], u, h); + return (f.margin = n), f; + } + function Lp(t, e, n, i, r, o) { + var a, + s = !r || !r.hv || r.hv[0], + l = !r || !r.hv || r.hv[1], + u = (r && r.boundingMode) || "all"; + if ((((o = o || t).x = t.x), (o.y = t.y), !s && !l)) return !1; + if ("raw" === u) a = "group" === t.type ? new ze(0, 0, +e.width || 0, +e.height || 0) : t.getBoundingRect(); + else if (((a = t.getBoundingRect()), t.needLocalTransform())) { + var h = t.getLocalTransform(); + (a = a.clone()).applyTransform(h); + } + var c = kp(k({ width: a.width, height: a.height }, e), n, i), + p = s ? c.x - a.x : 0, + d = l ? c.y - a.y : 0; + return "raw" === u ? ((o.x = p), (o.y = d)) : ((o.x += p), (o.y += d)), o === t && t.markRedraw(), !0; + } + function Pp(t) { + var e = t.layoutMode || t.constructor.layoutMode; + return q(e) ? e : e ? { type: e } : null; + } + function Op(t, e, n) { + var i = n && n.ignoreSize; + !Y(i) && (i = [i, i]); + var r = a(Cp[0], 0), + o = a(Cp[1], 1); + function a(n, r) { + var o = {}, + a = 0, + u = {}, + h = 0; + if ( + (Ip(n, function (e) { + u[e] = t[e]; + }), + Ip(n, function (t) { + s(e, t) && (o[t] = u[t] = e[t]), l(o, t) && a++, l(u, t) && h++; + }), + i[r]) + ) + return l(e, n[1]) ? (u[n[2]] = null) : l(e, n[2]) && (u[n[1]] = null), u; + if (2 !== h && a) { + if (a >= 2) return o; + for (var c = 0; c < n.length; c++) { + var p = n[c]; + if (!s(o, p) && s(t, p)) { + o[p] = t[p]; + break; + } + } + return o; + } + return u; + } + function s(t, e) { + return t.hasOwnProperty(e); + } + function l(t, e) { + return null != t[e] && "auto" !== t[e]; + } + function u(t, e, n) { + Ip(t, function (t) { + e[t] = n[t]; + }); + } + u(Cp[0], t, r), u(Cp[1], t, o); + } + function Rp(t) { + return Np({}, t); + } + function Np(t, e) { + return ( + e && + t && + Ip(Tp, function (n) { + e.hasOwnProperty(n) && (t[n] = e[n]); + }), + t + ); + } + var Ep = Vo(), + zp = (function (t) { + function e(e, n, i) { + var r = t.call(this, e, n, i) || this; + return (r.uid = Ac("ec_cpt_model")), r; + } + return ( + n(e, t), + (e.prototype.init = function (t, e, n) { + this.mergeDefaultAndTheme(t, n); + }), + (e.prototype.mergeDefaultAndTheme = function (t, e) { + var n = Pp(this), + i = n ? Rp(t) : {}; + C(t, e.getTheme().get(this.mainType)), C(t, this.getDefaultOption()), n && Op(t, i, n); + }), + (e.prototype.mergeOption = function (t, e) { + C(this.option, t, !0); + var n = Pp(this); + n && Op(this.option, t, n); + }), + (e.prototype.optionUpdated = function (t, e) {}), + (e.prototype.getDefaultOption = function () { + var t = this.constructor; + if ( + !(function (t) { + return !(!t || !t[qo]); + })(t) + ) + return t.defaultOption; + var e = Ep(this); + if (!e.defaultOption) { + for (var n = [], i = t; i; ) { + var r = i.prototype.defaultOption; + r && n.push(r), (i = i.superClass); + } + for (var o = {}, a = n.length - 1; a >= 0; a--) o = C(o, n[a], !0); + e.defaultOption = o; + } + return e.defaultOption; + }), + (e.prototype.getReferringComponents = function (t, e) { + var n = t + "Index", + i = t + "Id"; + return Yo(this.ecModel, t, { index: this.get(n, !0), id: this.get(i, !0) }, e); + }), + (e.prototype.getBoxLayoutParams = function () { + var t = this; + return { left: t.get("left"), top: t.get("top"), right: t.get("right"), bottom: t.get("bottom"), width: t.get("width"), height: t.get("height") }; + }), + (e.prototype.getZLevelKey = function () { + return ""; + }), + (e.prototype.setZLevel = function (t) { + this.option.zlevel = t; + }), + (e.protoInitialize = (function () { + var t = e.prototype; + (t.type = "component"), (t.id = ""), (t.name = ""), (t.mainType = ""), (t.subType = ""), (t.componentIndex = 0); + })()), + e + ); + })(Cc); + Jo(zp, Cc), + na(zp), + (function (t) { + var e = {}; + (t.registerSubTypeDefaulter = function (t, n) { + var i = Ko(t); + e[i.main] = n; + }), + (t.determineSubType = function (n, i) { + var r = i.type; + if (!r) { + var o = Ko(n).main; + t.hasSubTypes(n) && e[o] && (r = e[o](i)); + } + return r; + }); + })(zp), + (function (t, e) { + function n(t, e) { + return t[e] || (t[e] = { predecessor: [], successor: [] }), t[e]; + } + t.topologicalTravel = function (t, i, r, o) { + if (t.length) { + var a = (function (t) { + var i = {}, + r = []; + return ( + E(t, function (o) { + var a = n(i, o), + s = (function (t, e) { + var n = []; + return ( + E(t, function (t) { + P(e, t) >= 0 && n.push(t); + }), + n + ); + })((a.originalDeps = e(o)), t); + (a.entryCount = s.length), + 0 === a.entryCount && r.push(o), + E(s, function (t) { + P(a.predecessor, t) < 0 && a.predecessor.push(t); + var e = n(i, t); + P(e.successor, t) < 0 && e.successor.push(o); + }); + }), + { graph: i, noEntryList: r } + ); + })(i), + s = a.graph, + l = a.noEntryList, + u = {}; + for ( + E(t, function (t) { + u[t] = !0; + }); + l.length; + + ) { + var h = l.pop(), + c = s[h], + p = !!u[h]; + p && (r.call(o, h, c.originalDeps.slice()), delete u[h]), E(c.successor, p ? f : d); + } + E(u, function () { + var t = ""; + throw new Error(t); + }); + } + function d(t) { + s[t].entryCount--, 0 === s[t].entryCount && l.push(t); + } + function f(t) { + (u[t] = !0), d(t); + } + }; + })(zp, function (t) { + var e = []; + E(zp.getClassesByMainType(t), function (t) { + e = e.concat(t.dependencies || t.prototype.dependencies || []); + }), + (e = z(e, function (t) { + return Ko(t).main; + })), + "dataset" !== t && P(e, "dataset") <= 0 && e.unshift("dataset"); + return e; + }); + var Vp = ""; + "undefined" != typeof navigator && (Vp = navigator.platform || ""); + var Bp = "rgba(0, 0, 0, 0.2)", + Fp = { + darkMode: "auto", + colorBy: "series", + color: ["#5470c6", "#91cc75", "#fac858", "#ee6666", "#73c0de", "#3ba272", "#fc8452", "#9a60b4", "#ea7ccc"], + gradientColor: ["#f6efa6", "#d88273", "#bf444c"], + aria: { + decal: { + decals: [ + { color: Bp, dashArrayX: [1, 0], dashArrayY: [2, 5], symbolSize: 1, rotation: Math.PI / 6 }, + { + color: Bp, + symbol: "circle", + dashArrayX: [ + [8, 8], + [0, 8, 8, 0], + ], + dashArrayY: [6, 0], + symbolSize: 0.8, + }, + { color: Bp, dashArrayX: [1, 0], dashArrayY: [4, 3], rotation: -Math.PI / 4 }, + { + color: Bp, + dashArrayX: [ + [6, 6], + [0, 6, 6, 0], + ], + dashArrayY: [6, 0], + }, + { + color: Bp, + dashArrayX: [ + [1, 0], + [1, 6], + ], + dashArrayY: [1, 0, 6, 0], + rotation: Math.PI / 4, + }, + { + color: Bp, + symbol: "triangle", + dashArrayX: [ + [9, 9], + [0, 9, 9, 0], + ], + dashArrayY: [7, 2], + symbolSize: 0.75, + }, + ], + }, + }, + textStyle: { fontFamily: Vp.match(/^Win/) ? "Microsoft YaHei" : "sans-serif", fontSize: 12, fontStyle: "normal", fontWeight: "normal" }, + blendMode: null, + stateAnimation: { duration: 300, easing: "cubicOut" }, + animation: "auto", + animationDuration: 1e3, + animationDurationUpdate: 500, + animationEasing: "cubicInOut", + animationEasingUpdate: "cubicInOut", + animationThreshold: 2e3, + progressiveThreshold: 3e3, + progressive: 400, + hoverLayerThreshold: 3e3, + useUTC: !1, + }, + Gp = yt(["tooltip", "label", "itemName", "itemId", "itemGroupId", "itemChildGroupId", "seriesName"]), + Wp = "original", + Hp = "arrayRows", + Yp = "objectRows", + Xp = "keyedColumns", + Up = "typedArray", + Zp = "unknown", + jp = "column", + qp = "row", + Kp = 1, + $p = 2, + Jp = 3, + Qp = Vo(); + function td(t, e, n) { + var i = {}, + r = nd(e); + if (!r || !t) return i; + var o, + a, + s = [], + l = [], + u = e.ecModel, + h = Qp(u).datasetMap, + c = r.uid + "_" + n.seriesLayoutBy; + E((t = t.slice()), function (e, n) { + var r = q(e) ? e : (t[n] = { name: e }); + "ordinal" === r.type && null == o && ((o = n), (a = f(r))), (i[r.name] = []); + }); + var p = h.get(c) || h.set(c, { categoryWayDim: a, valueWayDim: 0 }); + function d(t, e, n) { + for (var i = 0; i < n; i++) t.push(e + i); + } + function f(t) { + var e = t.dimsDef; + return e ? e.length : 1; + } + return ( + E(t, function (t, e) { + var n = t.name, + r = f(t); + if (null == o) { + var a = p.valueWayDim; + d(i[n], a, r), d(l, a, r), (p.valueWayDim += r); + } else if (o === e) d(i[n], 0, r), d(s, 0, r); + else { + a = p.categoryWayDim; + d(i[n], a, r), d(l, a, r), (p.categoryWayDim += r); + } + }), + s.length && (i.itemName = s), + l.length && (i.seriesName = l), + i + ); + } + function ed(t, e, n) { + var i = {}; + if (!nd(t)) return i; + var r, + o = e.sourceFormat, + a = e.dimensionsDefine; + (o !== Yp && o !== Xp) || + E(a, function (t, e) { + "name" === (q(t) ? t.name : t) && (r = e); + }); + var s = (function () { + for (var t = {}, i = {}, s = [], l = 0, u = Math.min(5, n); l < u; l++) { + var h = rd(e.data, o, e.seriesLayoutBy, a, e.startIndex, l); + s.push(h); + var c = h === Jp; + if ((c && null == t.v && l !== r && (t.v = l), (null == t.n || t.n === t.v || (!c && s[t.n] === Jp)) && (t.n = l), p(t) && s[t.n] !== Jp)) return t; + c || (h === $p && null == i.v && l !== r && (i.v = l), (null != i.n && i.n !== i.v) || (i.n = l)); + } + function p(t) { + return null != t.v && null != t.n; + } + return p(t) ? t : p(i) ? i : null; + })(); + if (s) { + i.value = [s.v]; + var l = null != r ? r : s.n; + (i.itemName = [l]), (i.seriesName = [l]); + } + return i; + } + function nd(t) { + if (!t.get("data", !0)) return Yo(t.ecModel, "dataset", { index: t.get("datasetIndex", !0), id: t.get("datasetId", !0) }, Wo).models[0]; + } + function id(t, e) { + return rd(t.data, t.sourceFormat, t.seriesLayoutBy, t.dimensionsDefine, t.startIndex, e); + } + function rd(t, e, n, i, r, o) { + var a, s, l; + if ($(t)) return Jp; + if (i) { + var u = i[o]; + q(u) ? ((s = u.name), (l = u.type)) : U(u) && (s = u); + } + if (null != l) return "ordinal" === l ? Kp : Jp; + if (e === Hp) { + var h = t; + if (n === qp) { + for (var c = h[o], p = 0; p < (c || []).length && p < 5; p++) if (null != (a = m(c[r + p]))) return a; + } else + for (p = 0; p < h.length && p < 5; p++) { + var d = h[r + p]; + if (d && null != (a = m(d[o]))) return a; + } + } else if (e === Yp) { + var f = t; + if (!s) return Jp; + for (p = 0; p < f.length && p < 5; p++) { + if ((y = f[p]) && null != (a = m(y[s]))) return a; + } + } else if (e === Xp) { + if (!s) return Jp; + if (!(c = t[s]) || $(c)) return Jp; + for (p = 0; p < c.length && p < 5; p++) if (null != (a = m(c[p]))) return a; + } else if (e === Wp) { + var g = t; + for (p = 0; p < g.length && p < 5; p++) { + var y, + v = Ao((y = g[p])); + if (!Y(v)) return Jp; + if (null != (a = m(v[o]))) return a; + } + } + function m(t) { + var e = U(t); + return null != t && isFinite(t) && "" !== t ? (e ? $p : Jp) : e && "-" !== t ? Kp : void 0; + } + return Jp; + } + var od = yt(); + var ad, + sd, + ld, + ud = Vo(), + hd = Vo(), + cd = (function () { + function t() {} + return ( + (t.prototype.getColorFromPalette = function (t, e, n) { + var i = To(this.get("color", !0)), + r = this.get("colorLayer", !0); + return dd(this, ud, i, r, t, e, n); + }), + (t.prototype.clearColorPalette = function () { + !(function (t, e) { + (e(t).paletteIdx = 0), (e(t).paletteNameMap = {}); + })(this, ud); + }), + t + ); + })(); + function pd(t, e, n, i) { + var r = To(t.get(["aria", "decal", "decals"])); + return dd(t, hd, r, null, e, n, i); + } + function dd(t, e, n, i, r, o, a) { + var s = e((o = o || t)), + l = s.paletteIdx || 0, + u = (s.paletteNameMap = s.paletteNameMap || {}); + if (u.hasOwnProperty(r)) return u[r]; + var h = + null != a && i + ? (function (t, e) { + for (var n = t.length, i = 0; i < n; i++) if (t[i].length > e) return t[i]; + return t[n - 1]; + })(i, a) + : n; + if ((h = h || n) && h.length) { + var c = h[l]; + return r && (u[r] = c), (s.paletteIdx = (l + 1) % h.length), c; + } + } + var fd = "\0_ec_inner"; + var gd = (function (t) { + function e() { + return (null !== t && t.apply(this, arguments)) || this; + } + return ( + n(e, t), + (e.prototype.init = function (t, e, n, i, r, o) { + (i = i || {}), (this.option = null), (this._theme = new Cc(i)), (this._locale = new Cc(r)), (this._optionManager = o); + }), + (e.prototype.setOption = function (t, e, n) { + var i = md(e); + this._optionManager.setOption(t, n, i), this._resetOption(null, i); + }), + (e.prototype.resetOption = function (t, e) { + return this._resetOption(t, md(e)); + }), + (e.prototype._resetOption = function (t, e) { + var n = !1, + i = this._optionManager; + if (!t || "recreate" === t) { + var r = i.mountOption("recreate" === t); + 0, this.option && "recreate" !== t ? (this.restoreData(), this._mergeOption(r, e)) : ld(this, r), (n = !0); + } + if ((("timeline" !== t && "media" !== t) || this.restoreData(), !t || "recreate" === t || "timeline" === t)) { + var o = i.getTimelineOption(this); + o && ((n = !0), this._mergeOption(o, e)); + } + if (!t || "recreate" === t || "media" === t) { + var a = i.getMediaOption(this); + a.length && + E( + a, + function (t) { + (n = !0), this._mergeOption(t, e); + }, + this + ); + } + return n; + }), + (e.prototype.mergeOption = function (t) { + this._mergeOption(t, null); + }), + (e.prototype._mergeOption = function (t, e) { + var n = this.option, + i = this._componentsMap, + r = this._componentsCount, + o = [], + a = yt(), + s = e && e.replaceMergeMainTypeMap; + (Qp(this).datasetMap = yt()), + E(t, function (t, e) { + null != t && (zp.hasClass(e) ? e && (o.push(e), a.set(e, !0)) : (n[e] = null == n[e] ? T(t) : C(n[e], t, !0))); + }), + s && + s.each(function (t, e) { + zp.hasClass(e) && !a.get(e) && (o.push(e), a.set(e, !0)); + }), + zp.topologicalTravel( + o, + zp.getAllClassMainTypes(), + function (e) { + var o = (function (t, e, n) { + var i = od.get(e); + if (!i) return n; + var r = i(t); + return r ? n.concat(r) : n; + })(this, e, To(t[e])), + a = i.get(e), + l = a ? (s && s.get(e) ? "replaceMerge" : "normalMerge") : "replaceAll", + u = Lo(a, o, l); + (function (t, e, n) { + E(t, function (t) { + var i = t.newOption; + q(i) && + ((t.keyInfo.mainType = e), + (t.keyInfo.subType = (function (t, e, n, i) { + return e.type ? e.type : n ? n.subType : i.determineSubType(t, e); + })(e, i, t.existing, n))); + }); + })(u, e, zp), + (n[e] = null), + i.set(e, null), + r.set(e, 0); + var h, + c = [], + p = [], + d = 0; + E( + u, + function (t, n) { + var i = t.existing, + r = t.newOption; + if (r) { + var o = "series" === e, + a = zp.getClass(e, t.keyInfo.subType, !o); + if (!a) return; + if ("tooltip" === e) { + if (h) return void 0; + h = !0; + } + if (i && i.constructor === a) (i.name = t.keyInfo.name), i.mergeOption(r, this), i.optionUpdated(r, !1); + else { + var s = A({ componentIndex: n }, t.keyInfo); + A((i = new a(r, this, this, s)), s), t.brandNew && (i.__requireNewView = !0), i.init(r, this, this), i.optionUpdated(null, !0); + } + } else i && (i.mergeOption({}, this), i.optionUpdated({}, !1)); + i ? (c.push(i.option), p.push(i), d++) : (c.push(void 0), p.push(void 0)); + }, + this + ), + (n[e] = c), + i.set(e, p), + r.set(e, d), + "series" === e && ad(this); + }, + this + ), + this._seriesIndices || ad(this); + }), + (e.prototype.getOption = function () { + var t = T(this.option); + return ( + E(t, function (e, n) { + if (zp.hasClass(n)) { + for (var i = To(e), r = i.length, o = !1, a = r - 1; a >= 0; a--) i[a] && !Eo(i[a]) ? (o = !0) : ((i[a] = null), !o && r--); + (i.length = r), (t[n] = i); + } + }), + delete t[fd], + t + ); + }), + (e.prototype.getTheme = function () { + return this._theme; + }), + (e.prototype.getLocaleModel = function () { + return this._locale; + }), + (e.prototype.setUpdatePayload = function (t) { + this._payload = t; + }), + (e.prototype.getUpdatePayload = function () { + return this._payload; + }), + (e.prototype.getComponent = function (t, e) { + var n = this._componentsMap.get(t); + if (n) { + var i = n[e || 0]; + if (i) return i; + if (null == e) for (var r = 0; r < n.length; r++) if (n[r]) return n[r]; + } + }), + (e.prototype.queryComponents = function (t) { + var e = t.mainType; + if (!e) return []; + var n, + i = t.index, + r = t.id, + o = t.name, + a = this._componentsMap.get(e); + return a && a.length + ? (null != i + ? ((n = []), + E(To(i), function (t) { + a[t] && n.push(a[t]); + })) + : (n = + null != r + ? yd("id", r, a) + : null != o + ? yd("name", o, a) + : B(a, function (t) { + return !!t; + })), + vd(n, t)) + : []; + }), + (e.prototype.findComponents = function (t) { + var e, + n, + i, + r, + o, + a = t.query, + s = t.mainType, + l = ((n = s + "Index"), (i = s + "Id"), (r = s + "Name"), !(e = a) || (null == e[n] && null == e[i] && null == e[r]) ? null : { mainType: s, index: e[n], id: e[i], name: e[r] }), + u = l + ? this.queryComponents(l) + : B(this._componentsMap.get(s), function (t) { + return !!t; + }); + return (o = vd(u, t)), t.filter ? B(o, t.filter) : o; + }), + (e.prototype.eachComponent = function (t, e, n) { + var i = this._componentsMap; + if (X(t)) { + var r = e, + o = t; + i.each(function (t, e) { + for (var n = 0; t && n < t.length; n++) { + var i = t[n]; + i && o.call(r, e, i, i.componentIndex); + } + }); + } else + for (var a = U(t) ? i.get(t) : q(t) ? this.findComponents(t) : null, s = 0; a && s < a.length; s++) { + var l = a[s]; + l && e.call(n, l, l.componentIndex); + } + }), + (e.prototype.getSeriesByName = function (t) { + var e = Ro(t, null); + return B(this._componentsMap.get("series"), function (t) { + return !!t && null != e && t.name === e; + }); + }), + (e.prototype.getSeriesByIndex = function (t) { + return this._componentsMap.get("series")[t]; + }), + (e.prototype.getSeriesByType = function (t) { + return B(this._componentsMap.get("series"), function (e) { + return !!e && e.subType === t; + }); + }), + (e.prototype.getSeries = function () { + return B(this._componentsMap.get("series"), function (t) { + return !!t; + }); + }), + (e.prototype.getSeriesCount = function () { + return this._componentsCount.get("series"); + }), + (e.prototype.eachSeries = function (t, e) { + sd(this), + E( + this._seriesIndices, + function (n) { + var i = this._componentsMap.get("series")[n]; + t.call(e, i, n); + }, + this + ); + }), + (e.prototype.eachRawSeries = function (t, e) { + E(this._componentsMap.get("series"), function (n) { + n && t.call(e, n, n.componentIndex); + }); + }), + (e.prototype.eachSeriesByType = function (t, e, n) { + sd(this), + E( + this._seriesIndices, + function (i) { + var r = this._componentsMap.get("series")[i]; + r.subType === t && e.call(n, r, i); + }, + this + ); + }), + (e.prototype.eachRawSeriesByType = function (t, e, n) { + return E(this.getSeriesByType(t), e, n); + }), + (e.prototype.isSeriesFiltered = function (t) { + return sd(this), null == this._seriesIndicesMap.get(t.componentIndex); + }), + (e.prototype.getCurrentSeriesIndices = function () { + return (this._seriesIndices || []).slice(); + }), + (e.prototype.filterSeries = function (t, e) { + sd(this); + var n = []; + E( + this._seriesIndices, + function (i) { + var r = this._componentsMap.get("series")[i]; + t.call(e, r, i) && n.push(i); + }, + this + ), + (this._seriesIndices = n), + (this._seriesIndicesMap = yt(n)); + }), + (e.prototype.restoreData = function (t) { + ad(this); + var e = this._componentsMap, + n = []; + e.each(function (t, e) { + zp.hasClass(e) && n.push(e); + }), + zp.topologicalTravel(n, zp.getAllClassMainTypes(), function (n) { + E(e.get(n), function (e) { + !e || + ("series" === n && + (function (t, e) { + if (e) { + var n = e.seriesIndex, + i = e.seriesId, + r = e.seriesName; + return (null != n && t.componentIndex !== n) || (null != i && t.id !== i) || (null != r && t.name !== r); + } + })(e, t)) || + e.restoreData(); + }); + }); + }), + (e.internalField = + ((ad = function (t) { + var e = (t._seriesIndices = []); + E(t._componentsMap.get("series"), function (t) { + t && e.push(t.componentIndex); + }), + (t._seriesIndicesMap = yt(e)); + }), + (sd = function (t) {}), + void (ld = function (t, e) { + (t.option = {}), (t.option[fd] = 1), (t._componentsMap = yt({ series: [] })), (t._componentsCount = yt()); + var n = e.aria; + q(n) && null == n.enabled && (n.enabled = !0), + (function (t, e) { + var n = t.color && !t.colorLayer; + E(e, function (e, i) { + ("colorLayer" === i && n) || zp.hasClass(i) || ("object" == typeof e ? (t[i] = t[i] ? C(t[i], e, !1) : T(e)) : null == t[i] && (t[i] = e)); + }); + })(e, t._theme.option), + C(e, Fp, !1), + t._mergeOption(e, null); + }))), + e + ); + })(Cc); + function yd(t, e, n) { + if (Y(e)) { + var i = yt(); + return ( + E(e, function (t) { + null != t && null != Ro(t, null) && i.set(t, !0); + }), + B(n, function (e) { + return e && i.get(e[t]); + }) + ); + } + var r = Ro(e, null); + return B(n, function (e) { + return e && null != r && e[t] === r; + }); + } + function vd(t, e) { + return e.hasOwnProperty("subType") + ? B(t, function (t) { + return t && t.subType === e.subType; + }) + : t; + } + function md(t) { + var e = yt(); + return ( + t && + E(To(t.replaceMerge), function (t) { + e.set(t, !0); + }), + { replaceMergeMainTypeMap: e } + ); + } + R(gd, cd); + var xd = ["getDom", "getZr", "getWidth", "getHeight", "getDevicePixelRatio", "dispatchAction", "isSSR", "isDisposed", "on", "off", "getDataURL", "getConnectedDataURL", "getOption", "getId", "updateLabelLayout"], + _d = function (t) { + E( + xd, + function (e) { + this[e] = W(t[e], t); + }, + this + ); + }, + bd = {}, + wd = (function () { + function t() { + this._coordinateSystems = []; + } + return ( + (t.prototype.create = function (t, e) { + var n = []; + E(bd, function (i, r) { + var o = i.create(t, e); + n = n.concat(o || []); + }), + (this._coordinateSystems = n); + }), + (t.prototype.update = function (t, e) { + E(this._coordinateSystems, function (n) { + n.update && n.update(t, e); + }); + }), + (t.prototype.getCoordinateSystems = function () { + return this._coordinateSystems.slice(); + }), + (t.register = function (t, e) { + bd[t] = e; + }), + (t.get = function (t) { + return bd[t]; + }), + t + ); + })(), + Sd = /^(min|max)?(.+)$/, + Md = (function () { + function t(t) { + (this._timelineOptions = []), (this._mediaList = []), (this._currentMediaIndices = []), (this._api = t); + } + return ( + (t.prototype.setOption = function (t, e, n) { + t && + (E(To(t.series), function (t) { + t && t.data && $(t.data) && ct(t.data); + }), + E(To(t.dataset), function (t) { + t && t.source && $(t.source) && ct(t.source); + })), + (t = T(t)); + var i = this._optionBackup, + r = (function (t, e, n) { + var i, + r, + o = [], + a = t.baseOption, + s = t.timeline, + l = t.options, + u = t.media, + h = !!t.media, + c = !!(l || s || (a && a.timeline)); + a ? (r = a).timeline || (r.timeline = s) : ((c || h) && (t.options = t.media = null), (r = t)); + h && + Y(u) && + E(u, function (t) { + t && t.option && (t.query ? o.push(t) : i || (i = t)); + }); + function p(t) { + E(e, function (e) { + e(t, n); + }); + } + return ( + p(r), + E(l, function (t) { + return p(t); + }), + E(o, function (t) { + return p(t.option); + }), + { baseOption: r, timelineOptions: l || [], mediaDefault: i, mediaList: o } + ); + })(t, e, !i); + (this._newBaseOption = r.baseOption), + i ? (r.timelineOptions.length && (i.timelineOptions = r.timelineOptions), r.mediaList.length && (i.mediaList = r.mediaList), r.mediaDefault && (i.mediaDefault = r.mediaDefault)) : (this._optionBackup = r); + }), + (t.prototype.mountOption = function (t) { + var e = this._optionBackup; + return (this._timelineOptions = e.timelineOptions), (this._mediaList = e.mediaList), (this._mediaDefault = e.mediaDefault), (this._currentMediaIndices = []), T(t ? e.baseOption : this._newBaseOption); + }), + (t.prototype.getTimelineOption = function (t) { + var e, + n = this._timelineOptions; + if (n.length) { + var i = t.getComponent("timeline"); + i && (e = T(n[i.getCurrentIndex()])); + } + return e; + }), + (t.prototype.getMediaOption = function (t) { + var e, + n, + i = this._api.getWidth(), + r = this._api.getHeight(), + o = this._mediaList, + a = this._mediaDefault, + s = [], + l = []; + if (!o.length && !a) return l; + for (var u = 0, h = o.length; u < h; u++) Id(o[u].query, i, r) && s.push(u); + return ( + !s.length && a && (s = [-1]), + s.length && + ((e = s), (n = this._currentMediaIndices), e.join(",") !== n.join(",")) && + (l = z(s, function (t) { + return T(-1 === t ? a.option : o[t].option); + })), + (this._currentMediaIndices = s), + l + ); + }), + t + ); + })(); + function Id(t, e, n) { + var i = { width: e, height: n, aspectratio: e / n }, + r = !0; + return ( + E(t, function (t, e) { + var n = e.match(Sd); + if (n && n[1] && n[2]) { + var o = n[1], + a = n[2].toLowerCase(); + (function (t, e, n) { + return "min" === n ? t >= e : "max" === n ? t <= e : t === e; + })(i[a], t, o) || (r = !1); + } + }), + r + ); + } + var Td = E, + Cd = q, + Dd = ["areaStyle", "lineStyle", "nodeStyle", "linkStyle", "chordStyle", "label", "labelLine"]; + function Ad(t) { + var e = t && t.itemStyle; + if (e) + for (var n = 0, i = Dd.length; n < i; n++) { + var r = Dd[n], + o = e.normal, + a = e.emphasis; + o && o[r] && ((t[r] = t[r] || {}), t[r].normal ? C(t[r].normal, o[r]) : (t[r].normal = o[r]), (o[r] = null)), a && a[r] && ((t[r] = t[r] || {}), t[r].emphasis ? C(t[r].emphasis, a[r]) : (t[r].emphasis = a[r]), (a[r] = null)); + } + } + function kd(t, e, n) { + if (t && t[e] && (t[e].normal || t[e].emphasis)) { + var i = t[e].normal, + r = t[e].emphasis; + i && (n ? ((t[e].normal = t[e].emphasis = null), k(t[e], i)) : (t[e] = i)), r && ((t.emphasis = t.emphasis || {}), (t.emphasis[e] = r), r.focus && (t.emphasis.focus = r.focus), r.blurScope && (t.emphasis.blurScope = r.blurScope)); + } + } + function Ld(t) { + kd(t, "itemStyle"), kd(t, "lineStyle"), kd(t, "areaStyle"), kd(t, "label"), kd(t, "labelLine"), kd(t, "upperLabel"), kd(t, "edgeLabel"); + } + function Pd(t, e) { + var n = Cd(t) && t[e], + i = Cd(n) && n.textStyle; + if (i) { + 0; + for (var r = 0, o = Do.length; r < o; r++) { + var a = Do[r]; + i.hasOwnProperty(a) && (n[a] = i[a]); + } + } + } + function Od(t) { + t && (Ld(t), Pd(t, "label"), t.emphasis && Pd(t.emphasis, "label")); + } + function Rd(t) { + return Y(t) ? t : t ? [t] : []; + } + function Nd(t) { + return (Y(t) ? t[0] : t) || {}; + } + function Ed(t, e) { + Td(Rd(t.series), function (t) { + Cd(t) && + (function (t) { + if (Cd(t)) { + Ad(t), Ld(t), Pd(t, "label"), Pd(t, "upperLabel"), Pd(t, "edgeLabel"), t.emphasis && (Pd(t.emphasis, "label"), Pd(t.emphasis, "upperLabel"), Pd(t.emphasis, "edgeLabel")); + var e = t.markPoint; + e && (Ad(e), Od(e)); + var n = t.markLine; + n && (Ad(n), Od(n)); + var i = t.markArea; + i && Od(i); + var r = t.data; + if ("graph" === t.type) { + r = r || t.nodes; + var o = t.links || t.edges; + if (o && !$(o)) for (var a = 0; a < o.length; a++) Od(o[a]); + E(t.categories, function (t) { + Ld(t); + }); + } + if (r && !$(r)) for (a = 0; a < r.length; a++) Od(r[a]); + if ((e = t.markPoint) && e.data) { + var s = e.data; + for (a = 0; a < s.length; a++) Od(s[a]); + } + if ((n = t.markLine) && n.data) { + var l = n.data; + for (a = 0; a < l.length; a++) Y(l[a]) ? (Od(l[a][0]), Od(l[a][1])) : Od(l[a]); + } + "gauge" === t.type + ? (Pd(t, "axisLabel"), Pd(t, "title"), Pd(t, "detail")) + : "treemap" === t.type + ? (kd(t.breadcrumb, "itemStyle"), + E(t.levels, function (t) { + Ld(t); + })) + : "tree" === t.type && Ld(t.leaves); + } + })(t); + }); + var n = ["xAxis", "yAxis", "radiusAxis", "angleAxis", "singleAxis", "parallelAxis", "radar"]; + e && n.push("valueAxis", "categoryAxis", "logAxis", "timeAxis"), + Td(n, function (e) { + Td(Rd(t[e]), function (t) { + t && (Pd(t, "axisLabel"), Pd(t.axisPointer, "label")); + }); + }), + Td(Rd(t.parallel), function (t) { + var e = t && t.parallelAxisDefault; + Pd(e, "axisLabel"), Pd(e && e.axisPointer, "label"); + }), + Td(Rd(t.calendar), function (t) { + kd(t, "itemStyle"), Pd(t, "dayLabel"), Pd(t, "monthLabel"), Pd(t, "yearLabel"); + }), + Td(Rd(t.radar), function (t) { + Pd(t, "name"), t.name && null == t.axisName && ((t.axisName = t.name), delete t.name), null != t.nameGap && null == t.axisNameGap && ((t.axisNameGap = t.nameGap), delete t.nameGap); + }), + Td(Rd(t.geo), function (t) { + Cd(t) && + (Od(t), + Td(Rd(t.regions), function (t) { + Od(t); + })); + }), + Td(Rd(t.timeline), function (t) { + Od(t), kd(t, "label"), kd(t, "itemStyle"), kd(t, "controlStyle", !0); + var e = t.data; + Y(e) && + E(e, function (t) { + q(t) && (kd(t, "label"), kd(t, "itemStyle")); + }); + }), + Td(Rd(t.toolbox), function (t) { + kd(t, "iconStyle"), + Td(t.feature, function (t) { + kd(t, "iconStyle"); + }); + }), + Pd(Nd(t.axisPointer), "label"), + Pd(Nd(t.tooltip).axisPointer, "label"); + } + function zd(t) { + t && + E(Vd, function (e) { + e[0] in t && !(e[1] in t) && (t[e[1]] = t[e[0]]); + }); + } + var Vd = [ + ["x", "left"], + ["y", "top"], + ["x2", "right"], + ["y2", "bottom"], + ], + Bd = ["grid", "geo", "parallel", "legend", "toolbox", "title", "visualMap", "dataZoom", "timeline"], + Fd = [ + ["borderRadius", "barBorderRadius"], + ["borderColor", "barBorderColor"], + ["borderWidth", "barBorderWidth"], + ]; + function Gd(t) { + var e = t && t.itemStyle; + if (e) + for (var n = 0; n < Fd.length; n++) { + var i = Fd[n][1], + r = Fd[n][0]; + null != e[i] && (e[r] = e[i]); + } + } + function Wd(t) { + t && "edge" === t.alignTo && null != t.margin && null == t.edgeDistance && (t.edgeDistance = t.margin); + } + function Hd(t) { + t && t.downplay && !t.blur && (t.blur = t.downplay); + } + function Yd(t, e) { + if (t) for (var n = 0; n < t.length; n++) e(t[n]), t[n] && Yd(t[n].children, e); + } + function Xd(t, e) { + Ed(t, e), + (t.series = To(t.series)), + E(t.series, function (t) { + if (q(t)) { + var e = t.type; + if ("line" === e) null != t.clipOverflow && (t.clip = t.clipOverflow); + else if ("pie" === e || "gauge" === e) { + if ((null != t.clockWise && (t.clockwise = t.clockWise), Wd(t.label), (r = t.data) && !$(r))) for (var n = 0; n < r.length; n++) Wd(r[n]); + null != t.hoverOffset && ((t.emphasis = t.emphasis || {}), (t.emphasis.scaleSize = null) && (t.emphasis.scaleSize = t.hoverOffset)); + } else if ("gauge" === e) { + var i = (function (t, e) { + for (var n = e.split(","), i = t, r = 0; r < n.length && null != (i = i && i[n[r]]); r++); + return i; + })(t, "pointer.color"); + null != i && + (function (t, e, n, i) { + for (var r, o = e.split(","), a = t, s = 0; s < o.length - 1; s++) null == a[(r = o[s])] && (a[r] = {}), (a = a[r]); + (i || null == a[o[s]]) && (a[o[s]] = n); + })(t, "itemStyle.color", i); + } else if ("bar" === e) { + var r; + if ((Gd(t), Gd(t.backgroundStyle), Gd(t.emphasis), (r = t.data) && !$(r))) for (n = 0; n < r.length; n++) "object" == typeof r[n] && (Gd(r[n]), Gd(r[n] && r[n].emphasis)); + } else if ("sunburst" === e) { + var o = t.highlightPolicy; + o && ((t.emphasis = t.emphasis || {}), t.emphasis.focus || (t.emphasis.focus = o)), Hd(t), Yd(t.data, Hd); + } else + "graph" === e || "sankey" === e + ? (function (t) { + t && null != t.focusNodeAdjacency && ((t.emphasis = t.emphasis || {}), null == t.emphasis.focus && (t.emphasis.focus = "adjacency")); + })(t) + : "map" === e && (t.mapType && !t.map && (t.map = t.mapType), t.mapLocation && k(t, t.mapLocation)); + null != t.hoverAnimation && ((t.emphasis = t.emphasis || {}), t.emphasis && null == t.emphasis.scale && (t.emphasis.scale = t.hoverAnimation)), zd(t); + } + }), + t.dataRange && (t.visualMap = t.dataRange), + E(Bd, function (e) { + var n = t[e]; + n && + (Y(n) || (n = [n]), + E(n, function (t) { + zd(t); + })); + }); + } + function Ud(t) { + E(t, function (e, n) { + var i = [], + r = [NaN, NaN], + o = [e.stackResultDimension, e.stackedOverDimension], + a = e.data, + s = e.isStackedByIndex, + l = e.seriesModel.get("stackStrategy") || "samesign"; + a.modify(o, function (o, u, h) { + var c, + p, + d = a.get(e.stackedDimension, h); + if (isNaN(d)) return r; + s ? (p = a.getRawIndex(h)) : (c = a.get(e.stackedByDimension, h)); + for (var f = NaN, g = n - 1; g >= 0; g--) { + var y = t[g]; + if ((s || (p = y.data.rawIndexOf(y.stackedByDimension, c)), p >= 0)) { + var v = y.data.getByRawIndex(y.stackResultDimension, p); + if ("all" === l || ("positive" === l && v > 0) || ("negative" === l && v < 0) || ("samesign" === l && d >= 0 && v > 0) || ("samesign" === l && d <= 0 && v < 0)) { + (d = ro(d, v)), (f = v); + break; + } + } + } + return (i[0] = d), (i[1] = f), i; + }); + }); + } + var Zd, + jd, + qd, + Kd, + $d, + Jd = function (t) { + (this.data = t.data || (t.sourceFormat === Xp ? {} : [])), + (this.sourceFormat = t.sourceFormat || Zp), + (this.seriesLayoutBy = t.seriesLayoutBy || jp), + (this.startIndex = t.startIndex || 0), + (this.dimensionsDetectedCount = t.dimensionsDetectedCount), + (this.metaRawOption = t.metaRawOption); + var e = (this.dimensionsDefine = t.dimensionsDefine); + if (e) + for (var n = 0; n < e.length; n++) { + var i = e[n]; + null == i.type && id(this, n) === Kp && (i.type = "ordinal"); + } + }; + function Qd(t) { + return t instanceof Jd; + } + function tf(t, e, n) { + n = n || nf(t); + var i = e.seriesLayoutBy, + r = (function (t, e, n, i, r) { + var o, a; + if (!t) return { dimensionsDefine: rf(r), startIndex: a, dimensionsDetectedCount: o }; + if (e === Hp) { + var s = t; + "auto" === i || null == i + ? of( + function (t) { + null != t && "-" !== t && (U(t) ? null == a && (a = 1) : (a = 0)); + }, + n, + s, + 10 + ) + : (a = j(i) ? i : i ? 1 : 0), + r || + 1 !== a || + ((r = []), + of( + function (t, e) { + r[e] = null != t ? t + "" : ""; + }, + n, + s, + 1 / 0 + )), + (o = r ? r.length : n === qp ? s.length : s[0] ? s[0].length : null); + } else if (e === Yp) + r || + (r = (function (t) { + var e, + n = 0; + for (; n < t.length && !(e = t[n++]); ); + if (e) return G(e); + })(t)); + else if (e === Xp) + r || + ((r = []), + E(t, function (t, e) { + r.push(e); + })); + else if (e === Wp) { + var l = Ao(t[0]); + o = (Y(l) && l.length) || 1; + } + return { startIndex: a, dimensionsDefine: rf(r), dimensionsDetectedCount: o }; + })(t, n, i, e.sourceHeader, e.dimensions); + return new Jd({ data: t, sourceFormat: n, seriesLayoutBy: i, dimensionsDefine: r.dimensionsDefine, startIndex: r.startIndex, dimensionsDetectedCount: r.dimensionsDetectedCount, metaRawOption: T(e) }); + } + function ef(t) { + return new Jd({ data: t, sourceFormat: $(t) ? Up : Wp }); + } + function nf(t) { + var e = Zp; + if ($(t)) e = Up; + else if (Y(t)) { + 0 === t.length && (e = Hp); + for (var n = 0, i = t.length; n < i; n++) { + var r = t[n]; + if (null != r) { + if (Y(r) || $(r)) { + e = Hp; + break; + } + if (q(r)) { + e = Yp; + break; + } + } + } + } else if (q(t)) + for (var o in t) + if (_t(t, o) && N(t[o])) { + e = Xp; + break; + } + return e; + } + function rf(t) { + if (t) { + var e = yt(); + return z(t, function (t, n) { + var i = { name: (t = q(t) ? t : { name: t }).name, displayName: t.displayName, type: t.type }; + if (null == i.name) return i; + (i.name += ""), null == i.displayName && (i.displayName = i.name); + var r = e.get(i.name); + return r ? (i.name += "-" + r.count++) : e.set(i.name, { count: 1 }), i; + }); + } + } + function of(t, e, n, i) { + if (e === qp) for (var r = 0; r < n.length && r < i; r++) t(n[r] ? n[r][0] : null, r); + else { + var o = n[0] || []; + for (r = 0; r < o.length && r < i; r++) t(o[r], r); + } + } + function af(t) { + var e = t.sourceFormat; + return e === Yp || e === Xp; + } + var sf = (function () { + function t(t, e) { + var n = Qd(t) ? t : ef(t); + this._source = n; + var i = (this._data = n.data); + n.sourceFormat === Up && ((this._offset = 0), (this._dimSize = e), (this._data = i)), $d(this, i, n); + } + return ( + (t.prototype.getSource = function () { + return this._source; + }), + (t.prototype.count = function () { + return 0; + }), + (t.prototype.getItem = function (t, e) {}), + (t.prototype.appendData = function (t) {}), + (t.prototype.clean = function () {}), + (t.protoInitialize = (function () { + var e = t.prototype; + (e.pure = !1), (e.persistent = !0); + })()), + (t.internalField = (function () { + var t; + $d = function (t, r, o) { + var a = o.sourceFormat, + s = o.seriesLayoutBy, + l = o.startIndex, + u = o.dimensionsDefine, + h = Kd[vf(a, s)]; + if ((A(t, h), a === Up)) (t.getItem = e), (t.count = i), (t.fillStorage = n); + else { + var c = hf(a, s); + t.getItem = W(c, null, r, l, u); + var p = df(a, s); + t.count = W(p, null, r, l, u); + } + }; + var e = function (t, e) { + (t -= this._offset), (e = e || []); + for (var n = this._data, i = this._dimSize, r = i * t, o = 0; o < i; o++) e[o] = n[r + o]; + return e; + }, + n = function (t, e, n, i) { + for (var r = this._data, o = this._dimSize, a = 0; a < o; a++) { + for (var s = i[a], l = null == s[0] ? 1 / 0 : s[0], u = null == s[1] ? -1 / 0 : s[1], h = e - t, c = n[a], p = 0; p < h; p++) { + var d = r[p * o + a]; + (c[t + p] = d), d < l && (l = d), d > u && (u = d); + } + (s[0] = l), (s[1] = u); + } + }, + i = function () { + return this._data ? this._data.length / this._dimSize : 0; + }; + function r(t) { + for (var e = 0; e < t.length; e++) this._data.push(t[e]); + } + ((t = {})[Hp + "_" + jp] = { pure: !0, appendData: r }), + (t[Hp + "_" + qp] = { + pure: !0, + appendData: function () { + throw new Error('Do not support appendData when set seriesLayoutBy: "row".'); + }, + }), + (t[Yp] = { pure: !0, appendData: r }), + (t[Xp] = { + pure: !0, + appendData: function (t) { + var e = this._data; + E(t, function (t, n) { + for (var i = e[n] || (e[n] = []), r = 0; r < (t || []).length; r++) i.push(t[r]); + }); + }, + }), + (t[Wp] = { appendData: r }), + (t[Up] = { + persistent: !1, + pure: !0, + appendData: function (t) { + this._data = t; + }, + clean: function () { + (this._offset += this.count()), (this._data = null); + }, + }), + (Kd = t); + })()), + t + ); + })(), + lf = function (t, e, n, i) { + return t[i]; + }, + uf = + (((Zd = {})[Hp + "_" + jp] = function (t, e, n, i) { + return t[i + e]; + }), + (Zd[Hp + "_" + qp] = function (t, e, n, i, r) { + i += e; + for (var o = r || [], a = t, s = 0; s < a.length; s++) { + var l = a[s]; + o[s] = l ? l[i] : null; + } + return o; + }), + (Zd[Yp] = lf), + (Zd[Xp] = function (t, e, n, i, r) { + for (var o = r || [], a = 0; a < n.length; a++) { + var s = n[a].name; + 0; + var l = t[s]; + o[a] = l ? l[i] : null; + } + return o; + }), + (Zd[Wp] = lf), + Zd); + function hf(t, e) { + var n = uf[vf(t, e)]; + return n; + } + var cf = function (t, e, n) { + return t.length; + }, + pf = + (((jd = {})[Hp + "_" + jp] = function (t, e, n) { + return Math.max(0, t.length - e); + }), + (jd[Hp + "_" + qp] = function (t, e, n) { + var i = t[0]; + return i ? Math.max(0, i.length - e) : 0; + }), + (jd[Yp] = cf), + (jd[Xp] = function (t, e, n) { + var i = n[0].name; + var r = t[i]; + return r ? r.length : 0; + }), + (jd[Wp] = cf), + jd); + function df(t, e) { + var n = pf[vf(t, e)]; + return n; + } + var ff = function (t, e, n) { + return t[e]; + }, + gf = + (((qd = {})[Hp] = ff), + (qd[Yp] = function (t, e, n) { + return t[n]; + }), + (qd[Xp] = ff), + (qd[Wp] = function (t, e, n) { + var i = Ao(t); + return i instanceof Array ? i[e] : i; + }), + (qd[Up] = ff), + qd); + function yf(t) { + var e = gf[t]; + return e; + } + function vf(t, e) { + return t === Hp ? t + "_" + e : t; + } + function mf(t, e, n) { + if (t) { + var i = t.getRawDataItem(e); + if (null != i) { + var r = t.getStore(), + o = r.getSource().sourceFormat; + if (null != n) { + var a = t.getDimensionIndex(n), + s = r.getDimensionProperty(a); + return yf(o)(i, a, s); + } + var l = i; + return o === Wp && (l = Ao(i)), l; + } + } + } + var xf = /\{@(.+?)\}/g, + _f = (function () { + function t() {} + return ( + (t.prototype.getDataParams = function (t, e) { + var n = this.getData(e), + i = this.getRawValue(t, e), + r = n.getRawIndex(t), + o = n.getName(t), + a = n.getRawDataItem(t), + s = n.getItemVisual(t, "style"), + l = s && s[n.getItemVisual(t, "drawType") || "fill"], + u = s && s.stroke, + h = this.mainType, + c = "series" === h, + p = n.userOutput && n.userOutput.get(); + return { + componentType: h, + componentSubType: this.subType, + componentIndex: this.componentIndex, + seriesType: c ? this.subType : null, + seriesIndex: this.seriesIndex, + seriesId: c ? this.id : null, + seriesName: c ? this.name : null, + name: o, + dataIndex: r, + data: a, + dataType: e, + value: i, + color: l, + borderColor: u, + dimensionNames: p ? p.fullDimensions : null, + encode: p ? p.encode : null, + $vars: ["seriesName", "name", "value"], + }; + }), + (t.prototype.getFormattedLabel = function (t, e, n, i, r, o) { + e = e || "normal"; + var a = this.getData(n), + s = this.getDataParams(t, n); + (o && (s.value = o.interpolatedValue), null != i && Y(s.value) && (s.value = s.value[i]), r) || (r = a.getItemModel(t).get("normal" === e ? ["label", "formatter"] : [e, "label", "formatter"])); + return X(r) + ? ((s.status = e), (s.dimensionIndex = i), r(s)) + : U(r) + ? bp(r, s).replace(xf, function (e, n) { + var i = n.length, + r = n; + "[" === r.charAt(0) && "]" === r.charAt(i - 1) && (r = +r.slice(1, i - 1)); + var s = mf(a, t, r); + if (o && Y(o.interpolatedValue)) { + var l = a.getDimensionIndex(r); + l >= 0 && (s = o.interpolatedValue[l]); + } + return null != s ? s + "" : ""; + }) + : void 0; + }), + (t.prototype.getRawValue = function (t, e) { + return mf(this.getData(e), t); + }), + (t.prototype.formatTooltip = function (t, e, n) {}), + t + ); + })(); + function bf(t) { + var e, n; + return q(t) ? t.type && (n = t) : (e = t), { text: e, frag: n }; + } + function wf(t) { + return new Sf(t); + } + var Sf = (function () { + function t(t) { + (t = t || {}), (this._reset = t.reset), (this._plan = t.plan), (this._count = t.count), (this._onDirty = t.onDirty), (this._dirty = !0); + } + return ( + (t.prototype.perform = function (t) { + var e, + n = this._upstream, + i = t && t.skip; + if (this._dirty && n) { + var r = this.context; + r.data = r.outputData = n.context.outputData; + } + this.__pipeline && (this.__pipeline.currentTask = this), this._plan && !i && (e = this._plan(this.context)); + var o, + a = h(this._modBy), + s = this._modDataCount || 0, + l = h(t && t.modBy), + u = (t && t.modDataCount) || 0; + function h(t) { + return !(t >= 1) && (t = 1), t; + } + (a === l && s === u) || (e = "reset"), (this._dirty || "reset" === e) && ((this._dirty = !1), (o = this._doReset(i))), (this._modBy = l), (this._modDataCount = u); + var c = t && t.step; + if (((this._dueEnd = n ? n._outputDueEnd : this._count ? this._count(this.context) : 1 / 0), this._progress)) { + var p = this._dueIndex, + d = Math.min(null != c ? this._dueIndex + c : 1 / 0, this._dueEnd); + if (!i && (o || p < d)) { + var f = this._progress; + if (Y(f)) for (var g = 0; g < f.length; g++) this._doProgress(f[g], p, d, l, u); + else this._doProgress(f, p, d, l, u); + } + this._dueIndex = d; + var y = null != this._settedOutputEnd ? this._settedOutputEnd : d; + 0, (this._outputDueEnd = y); + } else this._dueIndex = this._outputDueEnd = null != this._settedOutputEnd ? this._settedOutputEnd : this._dueEnd; + return this.unfinished(); + }), + (t.prototype.dirty = function () { + (this._dirty = !0), this._onDirty && this._onDirty(this.context); + }), + (t.prototype._doProgress = function (t, e, n, i, r) { + Mf.reset(e, n, i, r), (this._callingProgress = t), this._callingProgress({ start: e, end: n, count: n - e, next: Mf.next }, this.context); + }), + (t.prototype._doReset = function (t) { + var e, n; + (this._dueIndex = this._outputDueEnd = this._dueEnd = 0), + (this._settedOutputEnd = null), + !t && this._reset && ((e = this._reset(this.context)) && e.progress && ((n = e.forceFirstProgress), (e = e.progress)), Y(e) && !e.length && (e = null)), + (this._progress = e), + (this._modBy = this._modDataCount = null); + var i = this._downstream; + return i && i.dirty(), n; + }), + (t.prototype.unfinished = function () { + return this._progress && this._dueIndex < this._dueEnd; + }), + (t.prototype.pipe = function (t) { + (this._downstream !== t || this._dirty) && ((this._downstream = t), (t._upstream = this), t.dirty()); + }), + (t.prototype.dispose = function () { + this._disposed || (this._upstream && (this._upstream._downstream = null), this._downstream && (this._downstream._upstream = null), (this._dirty = !1), (this._disposed = !0)); + }), + (t.prototype.getUpstream = function () { + return this._upstream; + }), + (t.prototype.getDownstream = function () { + return this._downstream; + }), + (t.prototype.setOutputEnd = function (t) { + this._outputDueEnd = this._settedOutputEnd = t; + }), + t + ); + })(), + Mf = (function () { + var t, + e, + n, + i, + r, + o = { + reset: function (l, u, h, c) { + (e = l), (t = u), (n = h), (i = c), (r = Math.ceil(i / n)), (o.next = n > 1 && i > 0 ? s : a); + }, + }; + return o; + function a() { + return e < t ? e++ : null; + } + function s() { + var o = (e % r) * n + Math.ceil(e / r), + a = e >= t ? null : o < i ? o : e; + return e++, a; + } + })(); + function If(t, e) { + var n = e && e.type; + return "ordinal" === n ? t : ("time" !== n || j(t) || null == t || "-" === t || (t = +uo(t)), null == t || "" === t ? NaN : +t); + } + var Tf = yt({ + number: function (t) { + return parseFloat(t); + }, + time: function (t) { + return +uo(t); + }, + trim: function (t) { + return U(t) ? ut(t) : t; + }, + }); + function Cf(t) { + return Tf.get(t); + } + var Df = { + lt: function (t, e) { + return t < e; + }, + lte: function (t, e) { + return t <= e; + }, + gt: function (t, e) { + return t > e; + }, + gte: function (t, e) { + return t >= e; + }, + }, + Af = (function () { + function t(t, e) { + if (!j(e)) { + var n = ""; + 0, wo(n); + } + (this._opFn = Df[t]), (this._rvalFloat = yo(e)); + } + return ( + (t.prototype.evaluate = function (t) { + return j(t) ? this._opFn(t, this._rvalFloat) : this._opFn(yo(t), this._rvalFloat); + }), + t + ); + })(), + kf = (function () { + function t(t, e) { + var n = "desc" === t; + (this._resultLT = n ? 1 : -1), null == e && (e = n ? "min" : "max"), (this._incomparable = "min" === e ? -1 / 0 : 1 / 0); + } + return ( + (t.prototype.evaluate = function (t, e) { + var n = j(t) ? t : yo(t), + i = j(e) ? e : yo(e), + r = isNaN(n), + o = isNaN(i); + if ((r && (n = this._incomparable), o && (i = this._incomparable), r && o)) { + var a = U(t), + s = U(e); + a && (n = s ? t : 0), s && (i = a ? e : 0); + } + return n < i ? this._resultLT : n > i ? -this._resultLT : 0; + }), + t + ); + })(), + Lf = (function () { + function t(t, e) { + (this._rval = e), (this._isEQ = t), (this._rvalTypeof = typeof e), (this._rvalFloat = yo(e)); + } + return ( + (t.prototype.evaluate = function (t) { + var e = t === this._rval; + if (!e) { + var n = typeof t; + n === this._rvalTypeof || ("number" !== n && "number" !== this._rvalTypeof) || (e = yo(t) === this._rvalFloat); + } + return this._isEQ ? e : !e; + }), + t + ); + })(); + function Pf(t, e) { + return "eq" === t || "ne" === t ? new Lf("eq" === t, e) : _t(Df, t) ? new Af(t, e) : null; + } + var Of = (function () { + function t() {} + return ( + (t.prototype.getRawData = function () { + throw new Error("not supported"); + }), + (t.prototype.getRawDataItem = function (t) { + throw new Error("not supported"); + }), + (t.prototype.cloneRawData = function () {}), + (t.prototype.getDimensionInfo = function (t) {}), + (t.prototype.cloneAllDimensionInfo = function () {}), + (t.prototype.count = function () {}), + (t.prototype.retrieveValue = function (t, e) {}), + (t.prototype.retrieveValueFromItem = function (t, e) {}), + (t.prototype.convertValue = function (t, e) { + return If(t, e); + }), + t + ); + })(); + function Rf(t) { + var e = t.sourceFormat; + if (!Ff(e)) { + var n = ""; + 0, wo(n); + } + return t.data; + } + function Nf(t) { + var e = t.sourceFormat, + n = t.data; + if (!Ff(e)) { + var i = ""; + 0, wo(i); + } + if (e === Hp) { + for (var r = [], o = 0, a = n.length; o < a; o++) r.push(n[o].slice()); + return r; + } + if (e === Yp) { + for (r = [], o = 0, a = n.length; o < a; o++) r.push(A({}, n[o])); + return r; + } + } + function Ef(t, e, n) { + if (null != n) return j(n) || (!isNaN(n) && !_t(e, n)) ? t[n] : _t(e, n) ? e[n] : void 0; + } + function zf(t) { + return T(t); + } + var Vf = yt(); + function Bf(t, e, n, i) { + var r = ""; + e.length || wo(r), q(t) || wo(r); + var o = t.type, + a = Vf.get(o); + a || wo(r); + var s = z(e, function (t) { + return (function (t, e) { + var n = new Of(), + i = t.data, + r = (n.sourceFormat = t.sourceFormat), + o = t.startIndex, + a = ""; + t.seriesLayoutBy !== jp && wo(a); + var s = [], + l = {}, + u = t.dimensionsDefine; + if (u) + E(u, function (t, e) { + var n = t.name, + i = { index: e, name: n, displayName: t.displayName }; + if ((s.push(i), null != n)) { + var r = ""; + _t(l, n) && wo(r), (l[n] = i); + } + }); + else for (var h = 0; h < t.dimensionsDetectedCount; h++) s.push({ index: h }); + var c = hf(r, jp); + e.__isBuiltIn && + ((n.getRawDataItem = function (t) { + return c(i, o, s, t); + }), + (n.getRawData = W(Rf, null, t))), + (n.cloneRawData = W(Nf, null, t)); + var p = df(r, jp); + n.count = W(p, null, i, o, s); + var d = yf(r); + n.retrieveValue = function (t, e) { + var n = c(i, o, s, t); + return f(n, e); + }; + var f = (n.retrieveValueFromItem = function (t, e) { + if (null != t) { + var n = s[e]; + return n ? d(t, e, n.name) : void 0; + } + }); + return (n.getDimensionInfo = W(Ef, null, s, l)), (n.cloneAllDimensionInfo = W(zf, null, s)), n; + })(t, a); + }), + l = To(a.transform({ upstream: s[0], upstreamList: s, config: T(t.config) })); + return z(l, function (t, n) { + var i, + r = ""; + q(t) || wo(r), t.data || wo(r), Ff(nf(t.data)) || wo(r); + var o = e[0]; + if (o && 0 === n && !t.dimensions) { + var a = o.startIndex; + a && (t.data = o.data.slice(0, a).concat(t.data)), (i = { seriesLayoutBy: jp, sourceHeader: a, dimensions: o.metaRawOption.dimensions }); + } else i = { seriesLayoutBy: jp, sourceHeader: 0, dimensions: t.dimensions }; + return tf(t.data, i, null); + }); + } + function Ff(t) { + return t === Hp || t === Yp; + } + var Gf, + Wf = "undefined", + Hf = typeof Uint32Array === Wf ? Array : Uint32Array, + Yf = typeof Uint16Array === Wf ? Array : Uint16Array, + Xf = typeof Int32Array === Wf ? Array : Int32Array, + Uf = typeof Float64Array === Wf ? Array : Float64Array, + Zf = { float: Uf, int: Xf, ordinal: Array, number: Array, time: Uf }; + function jf(t) { + return t > 65535 ? Hf : Yf; + } + function qf(t, e, n, i, r) { + var o = Zf[n || "float"]; + if (r) { + var a = t[e], + s = a && a.length; + if (s !== i) { + for (var l = new o(i), u = 0; u < s; u++) l[u] = a[u]; + t[e] = l; + } + } else t[e] = new o(i); + } + var Kf = (function () { + function t() { + (this._chunks = []), (this._rawExtent = []), (this._extent = []), (this._count = 0), (this._rawCount = 0), (this._calcDimNameToIdx = yt()); + } + return ( + (t.prototype.initData = function (t, e, n) { + (this._provider = t), (this._chunks = []), (this._indices = null), (this.getRawIndex = this._getRawIdxIdentity); + var i = t.getSource(), + r = (this.defaultDimValueGetter = Gf[i.sourceFormat]); + (this._dimValueGetter = n || r), (this._rawExtent = []); + af(i); + (this._dimensions = z(e, function (t) { + return { type: t.type, property: t.property }; + })), + this._initDataFromProvider(0, t.count()); + }), + (t.prototype.getProvider = function () { + return this._provider; + }), + (t.prototype.getSource = function () { + return this._provider.getSource(); + }), + (t.prototype.ensureCalculationDimension = function (t, e) { + var n = this._calcDimNameToIdx, + i = this._dimensions, + r = n.get(t); + if (null != r) { + if (i[r].type === e) return r; + } else r = i.length; + return (i[r] = { type: e }), n.set(t, r), (this._chunks[r] = new Zf[e || "float"](this._rawCount)), (this._rawExtent[r] = [1 / 0, -1 / 0]), r; + }), + (t.prototype.collectOrdinalMeta = function (t, e) { + var n = this._chunks[t], + i = this._dimensions[t], + r = this._rawExtent, + o = i.ordinalOffset || 0, + a = n.length; + 0 === o && (r[t] = [1 / 0, -1 / 0]); + for (var s = r[t], l = o; l < a; l++) { + var u = (n[l] = e.parseAndCollect(n[l])); + isNaN(u) || ((s[0] = Math.min(u, s[0])), (s[1] = Math.max(u, s[1]))); + } + (i.ordinalMeta = e), (i.ordinalOffset = a), (i.type = "ordinal"); + }), + (t.prototype.getOrdinalMeta = function (t) { + return this._dimensions[t].ordinalMeta; + }), + (t.prototype.getDimensionProperty = function (t) { + var e = this._dimensions[t]; + return e && e.property; + }), + (t.prototype.appendData = function (t) { + var e = this._provider, + n = this.count(); + e.appendData(t); + var i = e.count(); + return e.persistent || (i += n), n < i && this._initDataFromProvider(n, i, !0), [n, i]; + }), + (t.prototype.appendValues = function (t, e) { + for (var n = this._chunks, i = this._dimensions, r = i.length, o = this._rawExtent, a = this.count(), s = a + Math.max(t.length, e || 0), l = 0; l < r; l++) { + qf(n, l, (d = i[l]).type, s, !0); + } + for (var u = [], h = a; h < s; h++) + for (var c = h - a, p = 0; p < r; p++) { + var d = i[p], + f = Gf.arrayRows.call(this, t[c] || u, d.property, c, p); + n[p][h] = f; + var g = o[p]; + f < g[0] && (g[0] = f), f > g[1] && (g[1] = f); + } + return (this._rawCount = this._count = s), { start: a, end: s }; + }), + (t.prototype._initDataFromProvider = function (t, e, n) { + for ( + var i = this._provider, + r = this._chunks, + o = this._dimensions, + a = o.length, + s = this._rawExtent, + l = z(o, function (t) { + return t.property; + }), + u = 0; + u < a; + u++ + ) { + var h = o[u]; + s[u] || (s[u] = [1 / 0, -1 / 0]), qf(r, u, h.type, e, n); + } + if (i.fillStorage) i.fillStorage(t, e, r, s); + else + for (var c = [], p = t; p < e; p++) { + c = i.getItem(p, c); + for (var d = 0; d < a; d++) { + var f = r[d], + g = this._dimValueGetter(c, l[d], p, d); + f[p] = g; + var y = s[d]; + g < y[0] && (y[0] = g), g > y[1] && (y[1] = g); + } + } + !i.persistent && i.clean && i.clean(), (this._rawCount = this._count = e), (this._extent = []); + }), + (t.prototype.count = function () { + return this._count; + }), + (t.prototype.get = function (t, e) { + if (!(e >= 0 && e < this._count)) return NaN; + var n = this._chunks[t]; + return n ? n[this.getRawIndex(e)] : NaN; + }), + (t.prototype.getValues = function (t, e) { + var n = [], + i = []; + if (null == e) { + (e = t), (t = []); + for (var r = 0; r < this._dimensions.length; r++) i.push(r); + } else i = t; + r = 0; + for (var o = i.length; r < o; r++) n.push(this.get(i[r], e)); + return n; + }), + (t.prototype.getByRawIndex = function (t, e) { + if (!(e >= 0 && e < this._rawCount)) return NaN; + var n = this._chunks[t]; + return n ? n[e] : NaN; + }), + (t.prototype.getSum = function (t) { + var e = 0; + if (this._chunks[t]) + for (var n = 0, i = this.count(); n < i; n++) { + var r = this.get(t, n); + isNaN(r) || (e += r); + } + return e; + }), + (t.prototype.getMedian = function (t) { + var e = []; + this.each([t], function (t) { + isNaN(t) || e.push(t); + }); + var n = e.sort(function (t, e) { + return t - e; + }), + i = this.count(); + return 0 === i ? 0 : i % 2 == 1 ? n[(i - 1) / 2] : (n[i / 2] + n[i / 2 - 1]) / 2; + }), + (t.prototype.indexOfRawIndex = function (t) { + if (t >= this._rawCount || t < 0) return -1; + if (!this._indices) return t; + var e = this._indices, + n = e[t]; + if (null != n && n < this._count && n === t) return t; + for (var i = 0, r = this._count - 1; i <= r; ) { + var o = ((i + r) / 2) | 0; + if (e[o] < t) i = o + 1; + else { + if (!(e[o] > t)) return o; + r = o - 1; + } + } + return -1; + }), + (t.prototype.indicesOfNearest = function (t, e, n) { + var i = this._chunks[t], + r = []; + if (!i) return r; + null == n && (n = 1 / 0); + for (var o = 1 / 0, a = -1, s = 0, l = 0, u = this.count(); l < u; l++) { + var h = e - i[this.getRawIndex(l)], + c = Math.abs(h); + c <= n && ((c < o || (c === o && h >= 0 && a < 0)) && ((o = c), (a = h), (s = 0)), h === a && (r[s++] = l)); + } + return (r.length = s), r; + }), + (t.prototype.getIndices = function () { + var t, + e = this._indices; + if (e) { + var n = e.constructor, + i = this._count; + if (n === Array) { + t = new n(i); + for (var r = 0; r < i; r++) t[r] = e[r]; + } else t = new n(e.buffer, 0, i); + } else { + t = new (n = jf(this._rawCount))(this.count()); + for (r = 0; r < t.length; r++) t[r] = r; + } + return t; + }), + (t.prototype.filter = function (t, e) { + if (!this._count) return this; + for (var n = this.clone(), i = n.count(), r = new (jf(n._rawCount))(i), o = [], a = t.length, s = 0, l = t[0], u = n._chunks, h = 0; h < i; h++) { + var c = void 0, + p = n.getRawIndex(h); + if (0 === a) c = e(h); + else if (1 === a) { + c = e(u[l][p], h); + } else { + for (var d = 0; d < a; d++) o[d] = u[t[d]][p]; + (o[d] = h), (c = e.apply(null, o)); + } + c && (r[s++] = p); + } + return s < i && (n._indices = r), (n._count = s), (n._extent = []), n._updateGetRawIdx(), n; + }), + (t.prototype.selectRange = function (t) { + var e = this.clone(), + n = e._count; + if (!n) return this; + var i = G(t), + r = i.length; + if (!r) return this; + var o = e.count(), + a = new (jf(e._rawCount))(o), + s = 0, + l = i[0], + u = t[l][0], + h = t[l][1], + c = e._chunks, + p = !1; + if (!e._indices) { + var d = 0; + if (1 === r) { + for (var f = c[i[0]], g = 0; g < n; g++) { + (((x = f[g]) >= u && x <= h) || isNaN(x)) && (a[s++] = d), d++; + } + p = !0; + } else if (2 === r) { + f = c[i[0]]; + var y = c[i[1]], + v = t[i[1]][0], + m = t[i[1]][1]; + for (g = 0; g < n; g++) { + var x = f[g], + _ = y[g]; + ((x >= u && x <= h) || isNaN(x)) && ((_ >= v && _ <= m) || isNaN(_)) && (a[s++] = d), d++; + } + p = !0; + } + } + if (!p) + if (1 === r) + for (g = 0; g < o; g++) { + var b = e.getRawIndex(g); + (((x = c[i[0]][b]) >= u && x <= h) || isNaN(x)) && (a[s++] = b); + } + else + for (g = 0; g < o; g++) { + for (var w = !0, S = ((b = e.getRawIndex(g)), 0); S < r; S++) { + var M = i[S]; + ((x = c[M][b]) < t[M][0] || x > t[M][1]) && (w = !1); + } + w && (a[s++] = e.getRawIndex(g)); + } + return s < o && (e._indices = a), (e._count = s), (e._extent = []), e._updateGetRawIdx(), e; + }), + (t.prototype.map = function (t, e) { + var n = this.clone(t); + return this._updateDims(n, t, e), n; + }), + (t.prototype.modify = function (t, e) { + this._updateDims(this, t, e); + }), + (t.prototype._updateDims = function (t, e, n) { + for (var i = t._chunks, r = [], o = e.length, a = t.count(), s = [], l = t._rawExtent, u = 0; u < e.length; u++) l[e[u]] = [1 / 0, -1 / 0]; + for (var h = 0; h < a; h++) { + for (var c = t.getRawIndex(h), p = 0; p < o; p++) s[p] = i[e[p]][c]; + s[o] = h; + var d = n && n.apply(null, s); + if (null != d) { + "object" != typeof d && ((r[0] = d), (d = r)); + for (u = 0; u < d.length; u++) { + var f = e[u], + g = d[u], + y = l[f], + v = i[f]; + v && (v[c] = g), g < y[0] && (y[0] = g), g > y[1] && (y[1] = g); + } + } + } + }), + (t.prototype.lttbDownSample = function (t, e) { + var n, + i, + r, + o = this.clone([t], !0), + a = o._chunks[t], + s = this.count(), + l = 0, + u = Math.floor(1 / e), + h = this.getRawIndex(0), + c = new (jf(this._rawCount))(Math.min(2 * (Math.ceil(s / u) + 2), s)); + c[l++] = h; + for (var p = 1; p < s - 1; p += u) { + for (var d = Math.min(p + u, s - 1), f = Math.min(p + 2 * u, s), g = (f + d) / 2, y = 0, v = d; v < f; v++) { + var m = a[(I = this.getRawIndex(v))]; + isNaN(m) || (y += m); + } + y /= f - d; + var x = p, + _ = Math.min(p + u, s), + b = p - 1, + w = a[h]; + (n = -1), (r = x); + var S = -1, + M = 0; + for (v = x; v < _; v++) { + var I; + m = a[(I = this.getRawIndex(v))]; + isNaN(m) ? (M++, S < 0 && (S = I)) : (i = Math.abs((b - g) * (m - w) - (b - v) * (y - w))) > n && ((n = i), (r = I)); + } + M > 0 && M < _ - x && ((c[l++] = Math.min(S, r)), (r = Math.max(S, r))), (c[l++] = r), (h = r); + } + return (c[l++] = this.getRawIndex(s - 1)), (o._count = l), (o._indices = c), (o.getRawIndex = this._getRawIdx), o; + }), + (t.prototype.downSample = function (t, e, n, i) { + for (var r = this.clone([t], !0), o = r._chunks, a = [], s = Math.floor(1 / e), l = o[t], u = this.count(), h = (r._rawExtent[t] = [1 / 0, -1 / 0]), c = new (jf(this._rawCount))(Math.ceil(u / s)), p = 0, d = 0; d < u; d += s) { + s > u - d && ((s = u - d), (a.length = s)); + for (var f = 0; f < s; f++) { + var g = this.getRawIndex(d + f); + a[f] = l[g]; + } + var y = n(a), + v = this.getRawIndex(Math.min(d + i(a, y) || 0, u - 1)); + (l[v] = y), y < h[0] && (h[0] = y), y > h[1] && (h[1] = y), (c[p++] = v); + } + return (r._count = p), (r._indices = c), r._updateGetRawIdx(), r; + }), + (t.prototype.each = function (t, e) { + if (this._count) + for (var n = t.length, i = this._chunks, r = 0, o = this.count(); r < o; r++) { + var a = this.getRawIndex(r); + switch (n) { + case 0: + e(r); + break; + case 1: + e(i[t[0]][a], r); + break; + case 2: + e(i[t[0]][a], i[t[1]][a], r); + break; + default: + for (var s = 0, l = []; s < n; s++) l[s] = i[t[s]][a]; + (l[s] = r), e.apply(null, l); + } + } + }), + (t.prototype.getDataExtent = function (t) { + var e = this._chunks[t], + n = [1 / 0, -1 / 0]; + if (!e) return n; + var i, + r = this.count(); + if (!this._indices) return this._rawExtent[t].slice(); + if ((i = this._extent[t])) return i.slice(); + for (var o = (i = n)[0], a = i[1], s = 0; s < r; s++) { + var l = e[this.getRawIndex(s)]; + l < o && (o = l), l > a && (a = l); + } + return (i = [o, a]), (this._extent[t] = i), i; + }), + (t.prototype.getRawDataItem = function (t) { + var e = this.getRawIndex(t); + if (this._provider.persistent) return this._provider.getItem(e); + for (var n = [], i = this._chunks, r = 0; r < i.length; r++) n.push(i[r][e]); + return n; + }), + (t.prototype.clone = function (e, n) { + var i, + r, + o = new t(), + a = this._chunks, + s = + e && + V( + e, + function (t, e) { + return (t[e] = !0), t; + }, + {} + ); + if (s) for (var l = 0; l < a.length; l++) o._chunks[l] = s[l] ? ((i = a[l]), (r = void 0), (r = i.constructor) === Array ? i.slice() : new r(i)) : a[l]; + else o._chunks = a; + return this._copyCommonProps(o), n || (o._indices = this._cloneIndices()), o._updateGetRawIdx(), o; + }), + (t.prototype._copyCommonProps = function (t) { + (t._count = this._count), (t._rawCount = this._rawCount), (t._provider = this._provider), (t._dimensions = this._dimensions), (t._extent = T(this._extent)), (t._rawExtent = T(this._rawExtent)); + }), + (t.prototype._cloneIndices = function () { + if (this._indices) { + var t = this._indices.constructor, + e = void 0; + if (t === Array) { + var n = this._indices.length; + e = new t(n); + for (var i = 0; i < n; i++) e[i] = this._indices[i]; + } else e = new t(this._indices); + return e; + } + return null; + }), + (t.prototype._getRawIdxIdentity = function (t) { + return t; + }), + (t.prototype._getRawIdx = function (t) { + return t < this._count && t >= 0 ? this._indices[t] : -1; + }), + (t.prototype._updateGetRawIdx = function () { + this.getRawIndex = this._indices ? this._getRawIdx : this._getRawIdxIdentity; + }), + (t.internalField = (function () { + function t(t, e, n, i) { + return If(t[i], this._dimensions[i]); + } + Gf = { + arrayRows: t, + objectRows: function (t, e, n, i) { + return If(t[e], this._dimensions[i]); + }, + keyedColumns: t, + original: function (t, e, n, i) { + var r = t && (null == t.value ? t : t.value); + return If(r instanceof Array ? r[i] : r, this._dimensions[i]); + }, + typedArray: function (t, e, n, i) { + return t[i]; + }, + }; + })()), + t + ); + })(), + $f = (function () { + function t(t) { + (this._sourceList = []), (this._storeList = []), (this._upstreamSignList = []), (this._versionSignBase = 0), (this._dirty = !0), (this._sourceHost = t); + } + return ( + (t.prototype.dirty = function () { + this._setLocalSource([], []), (this._storeList = []), (this._dirty = !0); + }), + (t.prototype._setLocalSource = function (t, e) { + (this._sourceList = t), (this._upstreamSignList = e), this._versionSignBase++, this._versionSignBase > 9e10 && (this._versionSignBase = 0); + }), + (t.prototype._getVersionSign = function () { + return this._sourceHost.uid + "_" + this._versionSignBase; + }), + (t.prototype.prepareSource = function () { + this._isDirty() && (this._createSource(), (this._dirty = !1)); + }), + (t.prototype._createSource = function () { + this._setLocalSource([], []); + var t, + e, + n = this._sourceHost, + i = this._getUpstreamSourceManagers(), + r = !!i.length; + if (Qf(n)) { + var o = n, + a = void 0, + s = void 0, + l = void 0; + if (r) { + var u = i[0]; + u.prepareSource(), (a = (l = u.getSource()).data), (s = l.sourceFormat), (e = [u._getVersionSign()]); + } else (s = $((a = o.get("data", !0))) ? Up : Wp), (e = []); + var h = this._getSourceMetaRawOption() || {}, + c = (l && l.metaRawOption) || {}, + p = rt(h.seriesLayoutBy, c.seriesLayoutBy) || null, + d = rt(h.sourceHeader, c.sourceHeader), + f = rt(h.dimensions, c.dimensions); + t = p !== c.seriesLayoutBy || !!d != !!c.sourceHeader || f ? [tf(a, { seriesLayoutBy: p, sourceHeader: d, dimensions: f }, s)] : []; + } else { + var g = n; + if (r) { + var y = this._applyTransform(i); + (t = y.sourceList), (e = y.upstreamSignList); + } else { + (t = [tf(g.get("source", !0), this._getSourceMetaRawOption(), null)]), (e = []); + } + } + this._setLocalSource(t, e); + }), + (t.prototype._applyTransform = function (t) { + var e, + n = this._sourceHost, + i = n.get("transform", !0), + r = n.get("fromTransformResult", !0); + if (null != r) { + var o = ""; + 1 !== t.length && tg(o); + } + var a, + s = [], + l = []; + return ( + E(t, function (t) { + t.prepareSource(); + var e = t.getSource(r || 0), + n = ""; + null == r || e || tg(n), s.push(e), l.push(t._getVersionSign()); + }), + i + ? (e = (function (t, e, n) { + var i = To(t), + r = i.length, + o = ""; + r || wo(o); + for (var a = 0, s = r; a < s; a++) (e = Bf(i[a], e)), a !== s - 1 && (e.length = Math.max(e.length, 1)); + return e; + })(i, s, n.componentIndex)) + : null != r && + (e = [ + ((a = s[0]), new Jd({ data: a.data, sourceFormat: a.sourceFormat, seriesLayoutBy: a.seriesLayoutBy, dimensionsDefine: T(a.dimensionsDefine), startIndex: a.startIndex, dimensionsDetectedCount: a.dimensionsDetectedCount })), + ]), + { sourceList: e, upstreamSignList: l } + ); + }), + (t.prototype._isDirty = function () { + if (this._dirty) return !0; + for (var t = this._getUpstreamSourceManagers(), e = 0; e < t.length; e++) { + var n = t[e]; + if (n._isDirty() || this._upstreamSignList[e] !== n._getVersionSign()) return !0; + } + }), + (t.prototype.getSource = function (t) { + t = t || 0; + var e = this._sourceList[t]; + if (!e) { + var n = this._getUpstreamSourceManagers(); + return n[0] && n[0].getSource(t); + } + return e; + }), + (t.prototype.getSharedDataStore = function (t) { + var e = t.makeStoreSchema(); + return this._innerGetDataStore(e.dimensions, t.source, e.hash); + }), + (t.prototype._innerGetDataStore = function (t, e, n) { + var i = this._storeList, + r = i[0]; + r || (r = i[0] = {}); + var o = r[n]; + if (!o) { + var a = this._getUpstreamSourceManagers()[0]; + Qf(this._sourceHost) && a ? (o = a._innerGetDataStore(t, e, n)) : (o = new Kf()).initData(new sf(e, t.length), t), (r[n] = o); + } + return o; + }), + (t.prototype._getUpstreamSourceManagers = function () { + var t = this._sourceHost; + if (Qf(t)) { + var e = nd(t); + return e ? [e.getSourceManager()] : []; + } + return z( + (function (t) { + return t.get("transform", !0) || t.get("fromTransformResult", !0) ? Yo(t.ecModel, "dataset", { index: t.get("fromDatasetIndex", !0), id: t.get("fromDatasetId", !0) }, Wo).models : []; + })(t), + function (t) { + return t.getSourceManager(); + } + ); + }), + (t.prototype._getSourceMetaRawOption = function () { + var t, + e, + n, + i = this._sourceHost; + if (Qf(i)) (t = i.get("seriesLayoutBy", !0)), (e = i.get("sourceHeader", !0)), (n = i.get("dimensions", !0)); + else if (!this._getUpstreamSourceManagers().length) { + var r = i; + (t = r.get("seriesLayoutBy", !0)), (e = r.get("sourceHeader", !0)), (n = r.get("dimensions", !0)); + } + return { seriesLayoutBy: t, sourceHeader: e, dimensions: n }; + }), + t + ); + })(); + function Jf(t) { + t.option.transform && ct(t.option.transform); + } + function Qf(t) { + return "series" === t.mainType; + } + function tg(t) { + throw new Error(t); + } + var eg = "line-height:1"; + function ng(t, e) { + var n = t.color || "#6e7079", + i = t.fontSize || 12, + r = t.fontWeight || "400", + o = t.color || "#464646", + a = t.fontSize || 14, + s = t.fontWeight || "900"; + return "html" === e + ? { nameStyle: "font-size:" + re(i + "") + "px;color:" + re(n) + ";font-weight:" + re(r + ""), valueStyle: "font-size:" + re(a + "") + "px;color:" + re(o) + ";font-weight:" + re(s + "") } + : { nameStyle: { fontSize: i, fill: n, fontWeight: r }, valueStyle: { fontSize: a, fill: o, fontWeight: s } }; + } + var ig = [0, 10, 20, 30], + rg = ["", "\n", "\n\n", "\n\n\n"]; + function og(t, e) { + return (e.type = t), e; + } + function ag(t) { + return "section" === t.type; + } + function sg(t) { + return ag(t) ? ug : hg; + } + function lg(t) { + if (ag(t)) { + var e = 0, + n = t.blocks.length, + i = n > 1 || (n > 0 && !t.noHeader); + return ( + E(t.blocks, function (t) { + var n = lg(t); + n >= e && (e = n + +(i && (!n || (ag(t) && !t.noHeader)))); + }), + e + ); + } + return 0; + } + function ug(t, e, n, i) { + var r, + o = e.noHeader, + a = ((r = lg(e)), { html: ig[r], richText: rg[r] }), + s = [], + l = e.blocks || []; + lt(!l || Y(l)), (l = l || []); + var u = t.orderMode; + if (e.sortBlocks && u) { + l = l.slice(); + var h = { valueAsc: "asc", valueDesc: "desc" }; + if (_t(h, u)) { + var c = new kf(h[u], null); + l.sort(function (t, e) { + return c.evaluate(t.sortParam, e.sortParam); + }); + } else "seriesDesc" === u && l.reverse(); + } + E(l, function (n, r) { + var o = e.valueFormatter, + l = sg(n)(o ? A(A({}, t), { valueFormatter: o }) : t, n, r > 0 ? a.html : 0, i); + null != l && s.push(l); + }); + var p = "richText" === t.renderMode ? s.join(a.richText) : pg(s.join(""), o ? n : a.html); + if (o) return p; + var d = mp(e.header, "ordinal", t.useUTC), + f = ng(i, t.renderMode).nameStyle; + return "richText" === t.renderMode ? dg(t, d, f) + a.richText + p : pg('
    ' + re(d) + "
    " + p, n); + } + function hg(t, e, n, i) { + var r = t.renderMode, + o = e.noName, + a = e.noValue, + s = !e.markerType, + l = e.name, + u = t.useUTC, + h = + e.valueFormatter || + t.valueFormatter || + function (t) { + return z((t = Y(t) ? t : [t]), function (t, e) { + return mp(t, Y(d) ? d[e] : d, u); + }); + }; + if (!o || !a) { + var c = s ? "" : t.markupStyleCreator.makeTooltipMarker(e.markerType, e.markerColor || "#333", r), + p = o ? "" : mp(l, "ordinal", u), + d = e.valueType, + f = a ? [] : h(e.value, e.dataIndex), + g = !s || !o, + y = !s && o, + v = ng(i, r), + m = v.nameStyle, + x = v.valueStyle; + return "richText" === r + ? (s ? "" : c) + + (o ? "" : dg(t, p, m)) + + (a + ? "" + : (function (t, e, n, i, r) { + var o = [r], + a = i ? 10 : 20; + return n && o.push({ padding: [0, 0, 0, a], align: "right" }), t.markupStyleCreator.wrapRichTextStyle(Y(e) ? e.join(" ") : e, o); + })(t, f, g, y, x)) + : pg( + (s ? "" : c) + + (o + ? "" + : (function (t, e, n) { + return '' + re(t) + ""; + })(p, !s, m)) + + (a + ? "" + : (function (t, e, n, i) { + var r = n ? "10px" : "20px", + o = e ? "float:right;margin-left:" + r : ""; + return ( + (t = Y(t) ? t : [t]), + '' + + z(t, function (t) { + return re(t); + }).join("  ") + + "" + ); + })(f, g, y, x)), + n + ); + } + } + function cg(t, e, n, i, r, o) { + if (t) return sg(t)({ useUTC: r, renderMode: n, orderMode: i, markupStyleCreator: e, valueFormatter: t.valueFormatter }, t, 0, o); + } + function pg(t, e) { + return '
    ' + t + '
    '; + } + function dg(t, e, n) { + return t.markupStyleCreator.wrapRichTextStyle(e, n); + } + function fg(t, e) { + return Sp(t.getData().getItemVisual(e, "style")[t.visualDrawType]); + } + function gg(t, e) { + var n = t.get("padding"); + return null != n ? n : "richText" === e ? [8, 10] : 10; + } + var yg = (function () { + function t() { + (this.richTextStyles = {}), (this._nextStyleNameId = mo()); + } + return ( + (t.prototype._generateStyleName = function () { + return "__EC_aUTo_" + this._nextStyleNameId++; + }), + (t.prototype.makeTooltipMarker = function (t, e, n) { + var i = "richText" === n ? this._generateStyleName() : null, + r = wp({ color: e, type: t, renderMode: n, markerId: i }); + return U(r) ? r : ((this.richTextStyles[i] = r.style), r.content); + }), + (t.prototype.wrapRichTextStyle = function (t, e) { + var n = {}; + Y(e) + ? E(e, function (t) { + return A(n, t); + }) + : A(n, e); + var i = this._generateStyleName(); + return (this.richTextStyles[i] = n), "{" + i + "|" + t + "}"; + }), + t + ); + })(); + function vg(t) { + var e, + n, + i, + r, + o = t.series, + a = t.dataIndex, + s = t.multipleSeries, + l = o.getData(), + u = l.mapDimensionsAll("defaultedTooltip"), + h = u.length, + c = o.getRawValue(a), + p = Y(c), + d = fg(o, a); + if (h > 1 || (p && !h)) { + var f = (function (t, e, n, i, r) { + var o = e.getData(), + a = V( + t, + function (t, e, n) { + var i = o.getDimensionInfo(n); + return t || (i && !1 !== i.tooltip && null != i.displayName); + }, + !1 + ), + s = [], + l = [], + u = []; + function h(t, e) { + var n = o.getDimensionInfo(e); + n && !1 !== n.otherDims.tooltip && (a ? u.push(og("nameValue", { markerType: "subItem", markerColor: r, name: n.displayName, value: t, valueType: n.type })) : (s.push(t), l.push(n.type))); + } + return ( + i.length + ? E(i, function (t) { + h(mf(o, n, t), t); + }) + : E(t, h), + { inlineValues: s, inlineValueTypes: l, blocks: u } + ); + })(c, o, a, u, d); + (e = f.inlineValues), (n = f.inlineValueTypes), (i = f.blocks), (r = f.inlineValues[0]); + } else if (h) { + var g = l.getDimensionInfo(u[0]); + (r = e = mf(l, a, u[0])), (n = g.type); + } else r = e = p ? c[0] : c; + var y = No(o), + v = (y && o.name) || "", + m = l.getName(a), + x = s ? v : m; + return og("section", { header: v, noHeader: s || !y, sortParam: r, blocks: [og("nameValue", { markerType: "item", markerColor: d, name: x, noName: !ut(x), value: e, valueType: n, dataIndex: a })].concat(i || []) }); + } + var mg = Vo(); + function xg(t, e) { + return t.getName(e) || t.getId(e); + } + var _g = "__universalTransitionEnabled", + bg = (function (t) { + function e() { + var e = (null !== t && t.apply(this, arguments)) || this; + return (e._selectedDataIndicesMap = {}), e; + } + return ( + n(e, t), + (e.prototype.init = function (t, e, n) { + (this.seriesIndex = this.componentIndex), (this.dataTask = wf({ count: Sg, reset: Mg })), (this.dataTask.context = { model: this }), this.mergeDefaultAndTheme(t, n), (mg(this).sourceManager = new $f(this)).prepareSource(); + var i = this.getInitialData(t, n); + Tg(i, this), (this.dataTask.context.data = i), (mg(this).dataBeforeProcessed = i), wg(this), this._initSelectedMapFromData(i); + }), + (e.prototype.mergeDefaultAndTheme = function (t, e) { + var n = Pp(this), + i = n ? Rp(t) : {}, + r = this.subType; + zp.hasClass(r) && (r += "Series"), C(t, e.getTheme().get(this.subType)), C(t, this.getDefaultOption()), Co(t, "label", ["show"]), this.fillDataTextStyle(t.data), n && Op(t, i, n); + }), + (e.prototype.mergeOption = function (t, e) { + (t = C(this.option, t, !0)), this.fillDataTextStyle(t.data); + var n = Pp(this); + n && Op(this.option, t, n); + var i = mg(this).sourceManager; + i.dirty(), i.prepareSource(); + var r = this.getInitialData(t, e); + Tg(r, this), this.dataTask.dirty(), (this.dataTask.context.data = r), (mg(this).dataBeforeProcessed = r), wg(this), this._initSelectedMapFromData(r); + }), + (e.prototype.fillDataTextStyle = function (t) { + if (t && !$(t)) for (var e = ["show"], n = 0; n < t.length; n++) t[n] && t[n].label && Co(t[n], "label", e); + }), + (e.prototype.getInitialData = function (t, e) {}), + (e.prototype.appendData = function (t) { + this.getRawData().appendData(t.data); + }), + (e.prototype.getData = function (t) { + var e = Dg(this); + if (e) { + var n = e.context.data; + return null == t ? n : n.getLinkedData(t); + } + return mg(this).data; + }), + (e.prototype.getAllData = function () { + var t = this.getData(); + return t && t.getLinkedDataAll ? t.getLinkedDataAll() : [{ data: t }]; + }), + (e.prototype.setData = function (t) { + var e = Dg(this); + if (e) { + var n = e.context; + (n.outputData = t), e !== this.dataTask && (n.data = t); + } + mg(this).data = t; + }), + (e.prototype.getEncode = function () { + var t = this.get("encode", !0); + if (t) return yt(t); + }), + (e.prototype.getSourceManager = function () { + return mg(this).sourceManager; + }), + (e.prototype.getSource = function () { + return this.getSourceManager().getSource(); + }), + (e.prototype.getRawData = function () { + return mg(this).dataBeforeProcessed; + }), + (e.prototype.getColorBy = function () { + return this.get("colorBy") || "series"; + }), + (e.prototype.isColorBySeries = function () { + return "series" === this.getColorBy(); + }), + (e.prototype.getBaseAxis = function () { + var t = this.coordinateSystem; + return t && t.getBaseAxis && t.getBaseAxis(); + }), + (e.prototype.formatTooltip = function (t, e, n) { + return vg({ series: this, dataIndex: t, multipleSeries: e }); + }), + (e.prototype.isAnimationEnabled = function () { + var t = this.ecModel; + if (r.node && (!t || !t.ssr)) return !1; + var e = this.getShallow("animation"); + return e && this.getData().count() > this.getShallow("animationThreshold") && (e = !1), !!e; + }), + (e.prototype.restoreData = function () { + this.dataTask.dirty(); + }), + (e.prototype.getColorFromPalette = function (t, e, n) { + var i = this.ecModel, + r = cd.prototype.getColorFromPalette.call(this, t, e, n); + return r || (r = i.getColorFromPalette(t, e, n)), r; + }), + (e.prototype.coordDimToDataDim = function (t) { + return this.getRawData().mapDimensionsAll(t); + }), + (e.prototype.getProgressive = function () { + return this.get("progressive"); + }), + (e.prototype.getProgressiveThreshold = function () { + return this.get("progressiveThreshold"); + }), + (e.prototype.select = function (t, e) { + this._innerSelect(this.getData(e), t); + }), + (e.prototype.unselect = function (t, e) { + var n = this.option.selectedMap; + if (n) { + var i = this.option.selectedMode, + r = this.getData(e); + if ("series" === i || "all" === n) return (this.option.selectedMap = {}), void (this._selectedDataIndicesMap = {}); + for (var o = 0; o < t.length; o++) { + var a = xg(r, t[o]); + (n[a] = !1), (this._selectedDataIndicesMap[a] = -1); + } + } + }), + (e.prototype.toggleSelect = function (t, e) { + for (var n = [], i = 0; i < t.length; i++) (n[0] = t[i]), this.isSelected(t[i], e) ? this.unselect(n, e) : this.select(n, e); + }), + (e.prototype.getSelectedDataIndices = function () { + if ("all" === this.option.selectedMap) return [].slice.call(this.getData().getIndices()); + for (var t = this._selectedDataIndicesMap, e = G(t), n = [], i = 0; i < e.length; i++) { + var r = t[e[i]]; + r >= 0 && n.push(r); + } + return n; + }), + (e.prototype.isSelected = function (t, e) { + var n = this.option.selectedMap; + if (!n) return !1; + var i = this.getData(e); + return ("all" === n || n[xg(i, t)]) && !i.getItemModel(t).get(["select", "disabled"]); + }), + (e.prototype.isUniversalTransitionEnabled = function () { + if (this[_g]) return !0; + var t = this.option.universalTransition; + return !!t && (!0 === t || (t && t.enabled)); + }), + (e.prototype._innerSelect = function (t, e) { + var n, + i, + r = this.option, + o = r.selectedMode, + a = e.length; + if (o && a) + if ("series" === o) r.selectedMap = "all"; + else if ("multiple" === o) { + q(r.selectedMap) || (r.selectedMap = {}); + for (var s = r.selectedMap, l = 0; l < a; l++) { + var u = e[l]; + (s[(c = xg(t, u))] = !0), (this._selectedDataIndicesMap[c] = t.getRawIndex(u)); + } + } else if ("single" === o || !0 === o) { + var h = e[a - 1], + c = xg(t, h); + (r.selectedMap = (((n = {})[c] = !0), n)), (this._selectedDataIndicesMap = (((i = {})[c] = t.getRawIndex(h)), i)); + } + }), + (e.prototype._initSelectedMapFromData = function (t) { + if (!this.option.selectedMap) { + var e = []; + t.hasItemOption && + t.each(function (n) { + var i = t.getRawDataItem(n); + i && i.selected && e.push(n); + }), + e.length > 0 && this._innerSelect(t, e); + } + }), + (e.registerClass = function (t) { + return zp.registerClass(t); + }), + (e.protoInitialize = (function () { + var t = e.prototype; + (t.type = "series.__base__"), (t.seriesIndex = 0), (t.ignoreStyleOnData = !1), (t.hasSymbolVisual = !1), (t.defaultSymbol = "circle"), (t.visualStyleAccessPath = "itemStyle"), (t.visualDrawType = "fill"); + })()), + e + ); + })(zp); + function wg(t) { + var e = t.name; + No(t) || + (t.name = + (function (t) { + var e = t.getRawData(), + n = e.mapDimensionsAll("seriesName"), + i = []; + return ( + E(n, function (t) { + var n = e.getDimensionInfo(t); + n.displayName && i.push(n.displayName); + }), + i.join(" ") + ); + })(t) || e); + } + function Sg(t) { + return t.model.getRawData().count(); + } + function Mg(t) { + var e = t.model; + return e.setData(e.getRawData().cloneShallow()), Ig; + } + function Ig(t, e) { + e.outputData && t.end > e.outputData.count() && e.model.getRawData().cloneShallow(e.outputData); + } + function Tg(t, e) { + E(vt(t.CHANGABLE_METHODS, t.DOWNSAMPLE_METHODS), function (n) { + t.wrapMethod(n, H(Cg, e)); + }); + } + function Cg(t, e) { + var n = Dg(t); + return n && n.setOutputEnd((e || this).count()), e; + } + function Dg(t) { + var e = (t.ecModel || {}).scheduler, + n = e && e.getPipeline(t.uid); + if (n) { + var i = n.currentTask; + if (i) { + var r = i.agentStubMap; + r && (i = r.get(t.uid)); + } + return i; + } + } + R(bg, _f), R(bg, cd), Jo(bg, zp); + var Ag = (function () { + function t() { + (this.group = new Br()), (this.uid = Ac("viewComponent")); + } + return ( + (t.prototype.init = function (t, e) {}), + (t.prototype.render = function (t, e, n, i) {}), + (t.prototype.dispose = function (t, e) {}), + (t.prototype.updateView = function (t, e, n, i) {}), + (t.prototype.updateLayout = function (t, e, n, i) {}), + (t.prototype.updateVisual = function (t, e, n, i) {}), + (t.prototype.toggleBlurSeries = function (t, e, n) {}), + (t.prototype.eachRendered = function (t) { + var e = this.group; + e && e.traverse(t); + }), + t + ); + })(); + function kg() { + var t = Vo(); + return function (e) { + var n = t(e), + i = e.pipelineContext, + r = !!n.large, + o = !!n.progressiveRender, + a = (n.large = !(!i || !i.large)), + s = (n.progressiveRender = !(!i || !i.progressiveRender)); + return !(r === a && o === s) && "reset"; + }; + } + $o(Ag), na(Ag); + var Lg = Vo(), + Pg = kg(), + Og = (function () { + function t() { + (this.group = new Br()), (this.uid = Ac("viewChart")), (this.renderTask = wf({ plan: Eg, reset: zg })), (this.renderTask.context = { view: this }); + } + return ( + (t.prototype.init = function (t, e) {}), + (t.prototype.render = function (t, e, n, i) { + 0; + }), + (t.prototype.highlight = function (t, e, n, i) { + var r = t.getData(i && i.dataType); + r && Ng(r, i, "emphasis"); + }), + (t.prototype.downplay = function (t, e, n, i) { + var r = t.getData(i && i.dataType); + r && Ng(r, i, "normal"); + }), + (t.prototype.remove = function (t, e) { + this.group.removeAll(); + }), + (t.prototype.dispose = function (t, e) {}), + (t.prototype.updateView = function (t, e, n, i) { + this.render(t, e, n, i); + }), + (t.prototype.updateLayout = function (t, e, n, i) { + this.render(t, e, n, i); + }), + (t.prototype.updateVisual = function (t, e, n, i) { + this.render(t, e, n, i); + }), + (t.prototype.eachRendered = function (t) { + Jh(this.group, t); + }), + (t.markUpdateMethod = function (t, e) { + Lg(t).updateMethod = e; + }), + (t.protoInitialize = void (t.prototype.type = "chart")), + t + ); + })(); + function Rg(t, e, n) { + t && Ql(t) && ("emphasis" === e ? Ol : Rl)(t, n); + } + function Ng(t, e, n) { + var i = zo(t, e), + r = + e && null != e.highlightKey + ? (function (t) { + var e = sl[t]; + return null == e && al <= 32 && (e = sl[t] = al++), e; + })(e.highlightKey) + : null; + null != i + ? E(To(i), function (e) { + Rg(t.getItemGraphicEl(e), n, r); + }) + : t.eachItemGraphicEl(function (t) { + Rg(t, n, r); + }); + } + function Eg(t) { + return Pg(t.model); + } + function zg(t) { + var e = t.model, + n = t.ecModel, + i = t.api, + r = t.payload, + o = e.pipelineContext.progressiveRender, + a = t.view, + s = r && Lg(r).updateMethod, + l = o ? "incrementalPrepareRender" : s && a[s] ? s : "render"; + return "render" !== l && a[l](e, n, i, r), Vg[l]; + } + $o(Og), na(Og); + var Vg = { + incrementalPrepareRender: { + progress: function (t, e) { + e.view.incrementalRender(t, e.model, e.ecModel, e.api, e.payload); + }, + }, + render: { + forceFirstProgress: !0, + progress: function (t, e) { + e.view.render(e.model, e.ecModel, e.api, e.payload); + }, + }, + }, + Bg = "\0__throttleOriginMethod", + Fg = "\0__throttleRate", + Gg = "\0__throttleType"; + function Wg(t, e, n) { + var i, + r, + o, + a, + s, + l = 0, + u = 0, + h = null; + function c() { + (u = new Date().getTime()), (h = null), t.apply(o, a || []); + } + e = e || 0; + var p = function () { + for (var t = [], p = 0; p < arguments.length; p++) t[p] = arguments[p]; + (i = new Date().getTime()), (o = this), (a = t); + var d = s || e, + f = s || n; + (s = null), (r = i - (f ? l : u) - d), clearTimeout(h), f ? (h = setTimeout(c, d)) : r >= 0 ? c() : (h = setTimeout(c, -r)), (l = i); + }; + return ( + (p.clear = function () { + h && (clearTimeout(h), (h = null)); + }), + (p.debounceNextCall = function (t) { + s = t; + }), + p + ); + } + function Hg(t, e, n, i) { + var r = t[e]; + if (r) { + var o = r[Bg] || r, + a = r[Gg]; + if (r[Fg] !== n || a !== i) { + if (null == n || !i) return (t[e] = o); + ((r = t[e] = Wg(o, n, "debounce" === i))[Bg] = o), (r[Gg] = i), (r[Fg] = n); + } + return r; + } + } + function Yg(t, e) { + var n = t[e]; + n && n[Bg] && (n.clear && n.clear(), (t[e] = n[Bg])); + } + var Xg = Vo(), + Ug = { itemStyle: ia(Mc, !0), lineStyle: ia(bc, !0) }, + Zg = { lineStyle: "stroke", itemStyle: "fill" }; + function jg(t, e) { + var n = t.visualStyleMapper || Ug[e]; + return n || (console.warn("Unknown style type '" + e + "'."), Ug.itemStyle); + } + function qg(t, e) { + var n = t.visualDrawType || Zg[e]; + return n || (console.warn("Unknown style type '" + e + "'."), "fill"); + } + var Kg = { + createOnAllSeries: !0, + performRawSeries: !0, + reset: function (t, e) { + var n = t.getData(), + i = t.visualStyleAccessPath || "itemStyle", + r = t.getModel(i), + o = jg(t, i)(r), + a = r.getShallow("decal"); + a && (n.setVisual("decal", a), (a.dirty = !0)); + var s = qg(t, i), + l = o[s], + u = X(l) ? l : null, + h = "auto" === o.fill || "auto" === o.stroke; + if (!o[s] || u || h) { + var c = t.getColorFromPalette(t.name, null, e.getSeriesCount()); + o[s] || ((o[s] = c), n.setVisual("colorFromPalette", !0)), (o.fill = "auto" === o.fill || X(o.fill) ? c : o.fill), (o.stroke = "auto" === o.stroke || X(o.stroke) ? c : o.stroke); + } + if ((n.setVisual("style", o), n.setVisual("drawType", s), !e.isSeriesFiltered(t) && u)) + return ( + n.setVisual("colorFromPalette", !1), + { + dataEach: function (e, n) { + var i = t.getDataParams(n), + r = A({}, o); + (r[s] = u(i)), e.setItemVisual(n, "style", r); + }, + } + ); + }, + }, + $g = new Cc(), + Jg = { + createOnAllSeries: !0, + performRawSeries: !0, + reset: function (t, e) { + if (!t.ignoreStyleOnData && !e.isSeriesFiltered(t)) { + var n = t.getData(), + i = t.visualStyleAccessPath || "itemStyle", + r = jg(t, i), + o = n.getVisual("drawType"); + return { + dataEach: n.hasItemOption + ? function (t, e) { + var n = t.getRawDataItem(e); + if (n && n[i]) { + $g.option = n[i]; + var a = r($g); + A(t.ensureUniqueItemVisual(e, "style"), a), $g.option.decal && (t.setItemVisual(e, "decal", $g.option.decal), ($g.option.decal.dirty = !0)), o in a && t.setItemVisual(e, "colorFromPalette", !1); + } + } + : null, + }; + } + }, + }, + Qg = { + performRawSeries: !0, + overallReset: function (t) { + var e = yt(); + t.eachSeries(function (t) { + var n = t.getColorBy(); + if (!t.isColorBySeries()) { + var i = t.type + "-" + n, + r = e.get(i); + r || ((r = {}), e.set(i, r)), (Xg(t).scope = r); + } + }), + t.eachSeries(function (e) { + if (!e.isColorBySeries() && !t.isSeriesFiltered(e)) { + var n = e.getRawData(), + i = {}, + r = e.getData(), + o = Xg(e).scope, + a = e.visualStyleAccessPath || "itemStyle", + s = qg(e, a); + r.each(function (t) { + var e = r.getRawIndex(t); + i[e] = t; + }), + n.each(function (t) { + var a = i[t]; + if (r.getItemVisual(a, "colorFromPalette")) { + var l = r.ensureUniqueItemVisual(a, "style"), + u = n.getName(t) || t + "", + h = n.count(); + l[s] = e.getColorFromPalette(u, o, h); + } + }); + } + }); + }, + }, + ty = Math.PI; + var ey = (function () { + function t(t, e, n, i) { + (this._stageTaskMap = yt()), (this.ecInstance = t), (this.api = e), (n = this._dataProcessorHandlers = n.slice()), (i = this._visualHandlers = i.slice()), (this._allHandlers = n.concat(i)); + } + return ( + (t.prototype.restoreData = function (t, e) { + t.restoreData(e), + this._stageTaskMap.each(function (t) { + var e = t.overallTask; + e && e.dirty(); + }); + }), + (t.prototype.getPerformArgs = function (t, e) { + if (t.__pipeline) { + var n = this._pipelineMap.get(t.__pipeline.id), + i = n.context, + r = !e && n.progressiveEnabled && (!i || i.progressiveRender) && t.__idxInPipeline > n.blockIndex ? n.step : null, + o = i && i.modDataCount; + return { step: r, modBy: null != o ? Math.ceil(o / r) : null, modDataCount: o }; + } + }), + (t.prototype.getPipeline = function (t) { + return this._pipelineMap.get(t); + }), + (t.prototype.updateStreamModes = function (t, e) { + var n = this._pipelineMap.get(t.uid), + i = t.getData().count(), + r = n.progressiveEnabled && e.incrementalPrepareRender && i >= n.threshold, + o = t.get("large") && i >= t.get("largeThreshold"), + a = "mod" === t.get("progressiveChunkMode") ? i : null; + t.pipelineContext = n.context = { progressiveRender: r, modDataCount: a, large: o }; + }), + (t.prototype.restorePipelines = function (t) { + var e = this, + n = (e._pipelineMap = yt()); + t.eachSeries(function (t) { + var i = t.getProgressive(), + r = t.uid; + n.set(r, { id: r, head: null, tail: null, threshold: t.getProgressiveThreshold(), progressiveEnabled: i && !(t.preventIncremental && t.preventIncremental()), blockIndex: -1, step: Math.round(i || 700), count: 0 }), + e._pipe(t, t.dataTask); + }); + }), + (t.prototype.prepareStageTasks = function () { + var t = this._stageTaskMap, + e = this.api.getModel(), + n = this.api; + E( + this._allHandlers, + function (i) { + var r = t.get(i.uid) || t.set(i.uid, {}), + o = ""; + lt(!(i.reset && i.overallReset), o), i.reset && this._createSeriesStageTask(i, r, e, n), i.overallReset && this._createOverallStageTask(i, r, e, n); + }, + this + ); + }), + (t.prototype.prepareView = function (t, e, n, i) { + var r = t.renderTask, + o = r.context; + (o.model = e), (o.ecModel = n), (o.api = i), (r.__block = !t.incrementalPrepareRender), this._pipe(e, r); + }), + (t.prototype.performDataProcessorTasks = function (t, e) { + this._performStageTasks(this._dataProcessorHandlers, t, e, { block: !0 }); + }), + (t.prototype.performVisualTasks = function (t, e, n) { + this._performStageTasks(this._visualHandlers, t, e, n); + }), + (t.prototype._performStageTasks = function (t, e, n, i) { + i = i || {}; + var r = !1, + o = this; + function a(t, e) { + return t.setDirty && (!t.dirtyMap || t.dirtyMap.get(e.__pipeline.id)); + } + E(t, function (t, s) { + if (!i.visualType || i.visualType === t.visualType) { + var l = o._stageTaskMap.get(t.uid), + u = l.seriesTaskMap, + h = l.overallTask; + if (h) { + var c, + p = h.agentStubMap; + p.each(function (t) { + a(i, t) && (t.dirty(), (c = !0)); + }), + c && h.dirty(), + o.updatePayload(h, n); + var d = o.getPerformArgs(h, i.block); + p.each(function (t) { + t.perform(d); + }), + h.perform(d) && (r = !0); + } else + u && + u.each(function (s, l) { + a(i, s) && s.dirty(); + var u = o.getPerformArgs(s, i.block); + (u.skip = !t.performRawSeries && e.isSeriesFiltered(s.context.model)), o.updatePayload(s, n), s.perform(u) && (r = !0); + }); + } + }), + (this.unfinished = r || this.unfinished); + }), + (t.prototype.performSeriesTasks = function (t) { + var e; + t.eachSeries(function (t) { + e = t.dataTask.perform() || e; + }), + (this.unfinished = e || this.unfinished); + }), + (t.prototype.plan = function () { + this._pipelineMap.each(function (t) { + var e = t.tail; + do { + if (e.__block) { + t.blockIndex = e.__idxInPipeline; + break; + } + e = e.getUpstream(); + } while (e); + }); + }), + (t.prototype.updatePayload = function (t, e) { + "remain" !== e && (t.context.payload = e); + }), + (t.prototype._createSeriesStageTask = function (t, e, n, i) { + var r = this, + o = e.seriesTaskMap, + a = (e.seriesTaskMap = yt()), + s = t.seriesType, + l = t.getTargetSeries; + function u(e) { + var s = e.uid, + l = a.set(s, (o && o.get(s)) || wf({ plan: ay, reset: sy, count: hy })); + (l.context = { model: e, ecModel: n, api: i, useClearVisual: t.isVisual && !t.isLayout, plan: t.plan, reset: t.reset, scheduler: r }), r._pipe(e, l); + } + t.createOnAllSeries ? n.eachRawSeries(u) : s ? n.eachRawSeriesByType(s, u) : l && l(n, i).each(u); + }), + (t.prototype._createOverallStageTask = function (t, e, n, i) { + var r = this, + o = (e.overallTask = e.overallTask || wf({ reset: ny })); + o.context = { ecModel: n, api: i, overallReset: t.overallReset, scheduler: r }; + var a = o.agentStubMap, + s = (o.agentStubMap = yt()), + l = t.seriesType, + u = t.getTargetSeries, + h = !0, + c = !1, + p = ""; + function d(t) { + var e = t.uid, + n = s.set(e, (a && a.get(e)) || ((c = !0), wf({ reset: iy, onDirty: oy }))); + (n.context = { model: t, overallProgress: h }), (n.agent = o), (n.__block = h), r._pipe(t, n); + } + lt(!t.createOnAllSeries, p), l ? n.eachRawSeriesByType(l, d) : u ? u(n, i).each(d) : ((h = !1), E(n.getSeries(), d)), c && o.dirty(); + }), + (t.prototype._pipe = function (t, e) { + var n = t.uid, + i = this._pipelineMap.get(n); + !i.head && (i.head = e), i.tail && i.tail.pipe(e), (i.tail = e), (e.__idxInPipeline = i.count++), (e.__pipeline = i); + }), + (t.wrapStageHandler = function (t, e) { + return X(t) && (t = { overallReset: t, seriesType: cy(t) }), (t.uid = Ac("stageHandler")), e && (t.visualType = e), t; + }), + t + ); + })(); + function ny(t) { + t.overallReset(t.ecModel, t.api, t.payload); + } + function iy(t) { + return t.overallProgress && ry; + } + function ry() { + this.agent.dirty(), this.getDownstream().dirty(); + } + function oy() { + this.agent && this.agent.dirty(); + } + function ay(t) { + return t.plan ? t.plan(t.model, t.ecModel, t.api, t.payload) : null; + } + function sy(t) { + t.useClearVisual && t.data.clearAllVisual(); + var e = (t.resetDefines = To(t.reset(t.model, t.ecModel, t.api, t.payload))); + return e.length > 1 + ? z(e, function (t, e) { + return uy(e); + }) + : ly; + } + var ly = uy(0); + function uy(t) { + return function (e, n) { + var i = n.data, + r = n.resetDefines[t]; + if (r && r.dataEach) for (var o = e.start; o < e.end; o++) r.dataEach(i, o); + else r && r.progress && r.progress(e, i); + }; + } + function hy(t) { + return t.data.count(); + } + function cy(t) { + py = null; + try { + t(dy, fy); + } catch (t) {} + return py; + } + var py, + dy = {}, + fy = {}; + function gy(t, e) { + for (var n in e.prototype) t[n] = bt; + } + gy(dy, gd), + gy(fy, _d), + (dy.eachSeriesByType = dy.eachRawSeriesByType = function (t) { + py = t; + }), + (dy.eachComponent = function (t) { + "series" === t.mainType && t.subType && (py = t.subType); + }); + var yy = ["#37A2DA", "#32C5E9", "#67E0E3", "#9FE6B8", "#FFDB5C", "#ff9f7f", "#fb7293", "#E062AE", "#E690D1", "#e7bcf3", "#9d96f5", "#8378EA", "#96BFFF"], + vy = { + color: yy, + colorLayer: [["#37A2DA", "#ffd85c", "#fd7b5f"], ["#37A2DA", "#67E0E3", "#FFDB5C", "#ff9f7f", "#E062AE", "#9d96f5"], ["#37A2DA", "#32C5E9", "#9FE6B8", "#FFDB5C", "#ff9f7f", "#fb7293", "#e7bcf3", "#8378EA", "#96BFFF"], yy], + }, + my = "#B9B8CE", + xy = "#100C2A", + _y = function () { + return { + axisLine: { lineStyle: { color: my } }, + splitLine: { lineStyle: { color: "#484753" } }, + splitArea: { areaStyle: { color: ["rgba(255,255,255,0.02)", "rgba(255,255,255,0.05)"] } }, + minorSplitLine: { lineStyle: { color: "#20203B" } }, + }; + }, + by = ["#4992ff", "#7cffb2", "#fddd60", "#ff6e76", "#58d9f9", "#05c091", "#ff8a45", "#8d48e3", "#dd79ff"], + wy = { + darkMode: !0, + color: by, + backgroundColor: xy, + axisPointer: { lineStyle: { color: "#817f91" }, crossStyle: { color: "#817f91" }, label: { color: "#fff" } }, + legend: { textStyle: { color: my } }, + textStyle: { color: my }, + title: { textStyle: { color: "#EEF1FA" }, subtextStyle: { color: "#B9B8CE" } }, + toolbox: { iconStyle: { borderColor: my } }, + dataZoom: { + borderColor: "#71708A", + textStyle: { color: my }, + brushStyle: { color: "rgba(135,163,206,0.3)" }, + handleStyle: { color: "#353450", borderColor: "#C5CBE3" }, + moveHandleStyle: { color: "#B0B6C3", opacity: 0.3 }, + fillerColor: "rgba(135,163,206,0.2)", + emphasis: { handleStyle: { borderColor: "#91B7F2", color: "#4D587D" }, moveHandleStyle: { color: "#636D9A", opacity: 0.7 } }, + dataBackground: { lineStyle: { color: "#71708A", width: 1 }, areaStyle: { color: "#71708A" } }, + selectedDataBackground: { lineStyle: { color: "#87A3CE" }, areaStyle: { color: "#87A3CE" } }, + }, + visualMap: { textStyle: { color: my } }, + timeline: { lineStyle: { color: my }, label: { color: my }, controlStyle: { color: my, borderColor: my } }, + calendar: { itemStyle: { color: xy }, dayLabel: { color: my }, monthLabel: { color: my }, yearLabel: { color: my } }, + timeAxis: _y(), + logAxis: _y(), + valueAxis: _y(), + categoryAxis: _y(), + line: { symbol: "circle" }, + graph: { color: by }, + gauge: { title: { color: my }, axisLine: { lineStyle: { color: [[1, "rgba(207,212,219,0.2)"]] } }, axisLabel: { color: my }, detail: { color: "#EEF1FA" } }, + candlestick: { itemStyle: { color: "#f64e56", color0: "#54ea92", borderColor: "#f64e56", borderColor0: "#54ea92" } }, + }; + wy.categoryAxis.splitLine.show = !1; + var Sy = (function () { + function t() {} + return ( + (t.prototype.normalizeQuery = function (t) { + var e = {}, + n = {}, + i = {}; + if (U(t)) { + var r = Ko(t); + (e.mainType = r.main || null), (e.subType = r.sub || null); + } else { + var o = ["Index", "Name", "Id"], + a = { name: 1, dataIndex: 1, dataType: 1 }; + E(t, function (t, r) { + for (var s = !1, l = 0; l < o.length; l++) { + var u = o[l], + h = r.lastIndexOf(u); + if (h > 0 && h === r.length - u.length) { + var c = r.slice(0, h); + "data" !== c && ((e.mainType = c), (e[u.toLowerCase()] = t), (s = !0)); + } + } + a.hasOwnProperty(r) && ((n[r] = t), (s = !0)), s || (i[r] = t); + }); + } + return { cptQuery: e, dataQuery: n, otherQuery: i }; + }), + (t.prototype.filter = function (t, e) { + var n = this.eventInfo; + if (!n) return !0; + var i = n.targetEl, + r = n.packedEvent, + o = n.model, + a = n.view; + if (!o || !a) return !0; + var s = e.cptQuery, + l = e.dataQuery; + return ( + u(s, o, "mainType") && + u(s, o, "subType") && + u(s, o, "index", "componentIndex") && + u(s, o, "name") && + u(s, o, "id") && + u(l, r, "name") && + u(l, r, "dataIndex") && + u(l, r, "dataType") && + (!a.filterForExposedEvent || a.filterForExposedEvent(t, e.otherQuery, i, r)) + ); + function u(t, e, n, i) { + return null == t[n] || e[i || n] === t[n]; + } + }), + (t.prototype.afterTrigger = function () { + this.eventInfo = null; + }), + t + ); + })(), + My = ["symbol", "symbolSize", "symbolRotate", "symbolOffset"], + Iy = My.concat(["symbolKeepAspect"]), + Ty = { + createOnAllSeries: !0, + performRawSeries: !0, + reset: function (t, e) { + var n = t.getData(); + if ((t.legendIcon && n.setVisual("legendIcon", t.legendIcon), t.hasSymbolVisual)) { + for (var i = {}, r = {}, o = !1, a = 0; a < My.length; a++) { + var s = My[a], + l = t.get(s); + X(l) ? ((o = !0), (r[s] = l)) : (i[s] = l); + } + if (((i.symbol = i.symbol || t.defaultSymbol), n.setVisual(A({ legendIcon: t.legendIcon || i.symbol, symbolKeepAspect: t.get("symbolKeepAspect") }, i)), !e.isSeriesFiltered(t))) { + var u = G(r); + return { + dataEach: o + ? function (e, n) { + for (var i = t.getRawValue(n), o = t.getDataParams(n), a = 0; a < u.length; a++) { + var s = u[a]; + e.setItemVisual(n, s, r[s](i, o)); + } + } + : null, + }; + } + } + }, + }, + Cy = { + createOnAllSeries: !0, + performRawSeries: !0, + reset: function (t, e) { + if (t.hasSymbolVisual && !e.isSeriesFiltered(t)) + return { + dataEach: t.getData().hasItemOption + ? function (t, e) { + for (var n = t.getItemModel(e), i = 0; i < Iy.length; i++) { + var r = Iy[i], + o = n.getShallow(r, !0); + null != o && t.setItemVisual(e, r, o); + } + } + : null, + }; + }, + }; + function Dy(t, e, n) { + switch (n) { + case "color": + return t.getItemVisual(e, "style")[t.getVisual("drawType")]; + case "opacity": + return t.getItemVisual(e, "style").opacity; + case "symbol": + case "symbolSize": + case "liftZ": + return t.getItemVisual(e, n); + } + } + function Ay(t, e) { + switch (e) { + case "color": + return t.getVisual("style")[t.getVisual("drawType")]; + case "opacity": + return t.getVisual("style").opacity; + case "symbol": + case "symbolSize": + case "liftZ": + return t.getVisual(e); + } + } + function ky(t, e, n, i) { + switch (n) { + case "color": + (t.ensureUniqueItemVisual(e, "style")[t.getVisual("drawType")] = i), t.setItemVisual(e, "colorFromPalette", !1); + break; + case "opacity": + t.ensureUniqueItemVisual(e, "style").opacity = i; + break; + case "symbol": + case "symbolSize": + case "liftZ": + t.setItemVisual(e, n, i); + } + } + function Ly(t, e) { + function n(e, n) { + var i = []; + return ( + e.eachComponent({ mainType: "series", subType: t, query: n }, function (t) { + i.push(t.seriesIndex); + }), + i + ); + } + E( + [ + [t + "ToggleSelect", "toggleSelect"], + [t + "Select", "select"], + [t + "UnSelect", "unselect"], + ], + function (t) { + e(t[0], function (e, i, r) { + (e = A({}, e)), r.dispatchAction(A(e, { type: t[1], seriesIndex: n(i, e) })); + }); + } + ); + } + function Py(t, e, n, i, r) { + var o = t + e; + n.isSilent(o) || + i.eachComponent({ mainType: "series", subType: "pie" }, function (t) { + for (var e = t.seriesIndex, i = t.option.selectedMap, a = r.selected, s = 0; s < a.length; s++) + if (a[s].seriesIndex === e) { + var l = t.getData(), + u = zo(l, r.fromActionPayload); + n.trigger(o, { type: o, seriesId: t.id, name: Y(u) ? l.getName(u[0]) : l.getName(u), selected: U(i) ? i : A({}, i) }); + } + }); + } + function Oy(t, e, n) { + for (var i; t && (!e(t) || ((i = t), !n)); ) t = t.__hostTarget || t.parent; + return i; + } + var Ry = Math.round(9 * Math.random()), + Ny = "function" == typeof Object.defineProperty, + Ey = (function () { + function t() { + this._id = "__ec_inner_" + Ry++; + } + return ( + (t.prototype.get = function (t) { + return this._guard(t)[this._id]; + }), + (t.prototype.set = function (t, e) { + var n = this._guard(t); + return Ny ? Object.defineProperty(n, this._id, { value: e, enumerable: !1, configurable: !0 }) : (n[this._id] = e), this; + }), + (t.prototype.delete = function (t) { + return !!this.has(t) && (delete this._guard(t)[this._id], !0); + }), + (t.prototype.has = function (t) { + return !!this._guard(t)[this._id]; + }), + (t.prototype._guard = function (t) { + if (t !== Object(t)) throw TypeError("Value of WeakMap is not a non-null object."); + return t; + }), + t + ); + })(), + zy = ks.extend({ + type: "triangle", + shape: { cx: 0, cy: 0, width: 0, height: 0 }, + buildPath: function (t, e) { + var n = e.cx, + i = e.cy, + r = e.width / 2, + o = e.height / 2; + t.moveTo(n, i - o), t.lineTo(n + r, i + o), t.lineTo(n - r, i + o), t.closePath(); + }, + }), + Vy = ks.extend({ + type: "diamond", + shape: { cx: 0, cy: 0, width: 0, height: 0 }, + buildPath: function (t, e) { + var n = e.cx, + i = e.cy, + r = e.width / 2, + o = e.height / 2; + t.moveTo(n, i - o), t.lineTo(n + r, i), t.lineTo(n, i + o), t.lineTo(n - r, i), t.closePath(); + }, + }), + By = ks.extend({ + type: "pin", + shape: { x: 0, y: 0, width: 0, height: 0 }, + buildPath: function (t, e) { + var n = e.x, + i = e.y, + r = (e.width / 5) * 3, + o = Math.max(r, e.height), + a = r / 2, + s = (a * a) / (o - a), + l = i - o + a + s, + u = Math.asin(s / a), + h = Math.cos(u) * a, + c = Math.sin(u), + p = Math.cos(u), + d = 0.6 * a, + f = 0.7 * a; + t.moveTo(n - h, l + s), t.arc(n, l, a, Math.PI - u, 2 * Math.PI + u), t.bezierCurveTo(n + h - c * d, l + s + p * d, n, i - f, n, i), t.bezierCurveTo(n, i - f, n - h + c * d, l + s + p * d, n - h, l + s), t.closePath(); + }, + }), + Fy = ks.extend({ + type: "arrow", + shape: { x: 0, y: 0, width: 0, height: 0 }, + buildPath: function (t, e) { + var n = e.height, + i = e.width, + r = e.x, + o = e.y, + a = (i / 3) * 2; + t.moveTo(r, o), t.lineTo(r + a, o + n), t.lineTo(r, o + (n / 4) * 3), t.lineTo(r - a, o + n), t.lineTo(r, o), t.closePath(); + }, + }), + Gy = { + line: function (t, e, n, i, r) { + (r.x1 = t), (r.y1 = e + i / 2), (r.x2 = t + n), (r.y2 = e + i / 2); + }, + rect: function (t, e, n, i, r) { + (r.x = t), (r.y = e), (r.width = n), (r.height = i); + }, + roundRect: function (t, e, n, i, r) { + (r.x = t), (r.y = e), (r.width = n), (r.height = i), (r.r = Math.min(n, i) / 4); + }, + square: function (t, e, n, i, r) { + var o = Math.min(n, i); + (r.x = t), (r.y = e), (r.width = o), (r.height = o); + }, + circle: function (t, e, n, i, r) { + (r.cx = t + n / 2), (r.cy = e + i / 2), (r.r = Math.min(n, i) / 2); + }, + diamond: function (t, e, n, i, r) { + (r.cx = t + n / 2), (r.cy = e + i / 2), (r.width = n), (r.height = i); + }, + pin: function (t, e, n, i, r) { + (r.x = t + n / 2), (r.y = e + i / 2), (r.width = n), (r.height = i); + }, + arrow: function (t, e, n, i, r) { + (r.x = t + n / 2), (r.y = e + i / 2), (r.width = n), (r.height = i); + }, + triangle: function (t, e, n, i, r) { + (r.cx = t + n / 2), (r.cy = e + i / 2), (r.width = n), (r.height = i); + }, + }, + Wy = {}; + E({ line: Ku, rect: Ws, roundRect: Ws, square: Ws, circle: Su, diamond: Vy, pin: By, arrow: Fy, triangle: zy }, function (t, e) { + Wy[e] = new t(); + }); + var Hy = ks.extend({ + type: "symbol", + shape: { symbolType: "", x: 0, y: 0, width: 0, height: 0 }, + calculateTextPosition: function (t, e, n) { + var i = Dr(t, e, n), + r = this.shape; + return r && "pin" === r.symbolType && "inside" === e.position && (i.y = n.y + 0.4 * n.height), i; + }, + buildPath: function (t, e, n) { + var i = e.symbolType; + if ("none" !== i) { + var r = Wy[i]; + r || (r = Wy[(i = "rect")]), Gy[i](e.x, e.y, e.width, e.height, r.shape), r.buildPath(t, r.shape, n); + } + }, + }); + function Yy(t, e) { + if ("image" !== this.type) { + var n = this.style; + this.__isEmptyBrush ? ((n.stroke = t), (n.fill = e || "#fff"), (n.lineWidth = 2)) : "line" === this.shape.symbolType ? (n.stroke = t) : (n.fill = t), this.markRedraw(); + } + } + function Xy(t, e, n, i, r, o, a) { + var s, + l = 0 === t.indexOf("empty"); + return ( + l && (t = t.substr(5, 1).toLowerCase() + t.substr(6)), + ((s = + 0 === t.indexOf("image://") + ? Oh(t.slice(8), new ze(e, n, i, r), a ? "center" : "cover") + : 0 === t.indexOf("path://") + ? Ph(t.slice(7), {}, new ze(e, n, i, r), a ? "center" : "cover") + : new Hy({ shape: { symbolType: t, x: e, y: n, width: i, height: r } })).__isEmptyBrush = l), + (s.setColor = Yy), + o && s.setColor(o), + s + ); + } + function Uy(t) { + return Y(t) || (t = [+t, +t]), [t[0] || 0, t[1] || 0]; + } + function Zy(t, e) { + if (null != t) return Y(t) || (t = [t, t]), [$r(t[0], e[0]) || 0, $r(rt(t[1], t[0]), e[1]) || 0]; + } + function jy(t) { + return isFinite(t); + } + function qy(t, e, n) { + for ( + var i = + "radial" === e.type + ? (function (t, e, n) { + var i = n.width, + r = n.height, + o = Math.min(i, r), + a = null == e.x ? 0.5 : e.x, + s = null == e.y ? 0.5 : e.y, + l = null == e.r ? 0.5 : e.r; + return e.global || ((a = a * i + n.x), (s = s * r + n.y), (l *= o)), (a = jy(a) ? a : 0.5), (s = jy(s) ? s : 0.5), (l = l >= 0 && jy(l) ? l : 0.5), t.createRadialGradient(a, s, 0, a, s, l); + })(t, e, n) + : (function (t, e, n) { + var i = null == e.x ? 0 : e.x, + r = null == e.x2 ? 1 : e.x2, + o = null == e.y ? 0 : e.y, + a = null == e.y2 ? 0 : e.y2; + return ( + e.global || ((i = i * n.width + n.x), (r = r * n.width + n.x), (o = o * n.height + n.y), (a = a * n.height + n.y)), + (i = jy(i) ? i : 0), + (r = jy(r) ? r : 1), + (o = jy(o) ? o : 0), + (a = jy(a) ? a : 0), + t.createLinearGradient(i, o, r, a) + ); + })(t, e, n), + r = e.colorStops, + o = 0; + o < r.length; + o++ + ) + i.addColorStop(r[o].offset, r[o].color); + return i; + } + function Ky(t) { + return parseInt(t, 10); + } + function $y(t, e, n) { + var i = ["width", "height"][e], + r = ["clientWidth", "clientHeight"][e], + o = ["paddingLeft", "paddingTop"][e], + a = ["paddingRight", "paddingBottom"][e]; + if (null != n[i] && "auto" !== n[i]) return parseFloat(n[i]); + var s = document.defaultView.getComputedStyle(t); + return ((t[r] || Ky(s[i]) || Ky(t.style[i])) - (Ky(s[o]) || 0) - (Ky(s[a]) || 0)) | 0; + } + function Jy(t) { + var e, + n, + i = t.style, + r = i.lineDash && i.lineWidth > 0 && ((e = i.lineDash), (n = i.lineWidth), e && "solid" !== e && n > 0 ? ("dashed" === e ? [4 * n, 2 * n] : "dotted" === e ? [n] : j(e) ? [e] : Y(e) ? e : null) : null), + o = i.lineDashOffset; + if (r) { + var a = i.strokeNoScale && t.getLineScale ? t.getLineScale() : 1; + a && + 1 !== a && + ((r = z(r, function (t) { + return t / a; + })), + (o /= a)); + } + return [r, o]; + } + var Qy = new hs(!0); + function tv(t) { + var e = t.stroke; + return !(null == e || "none" === e || !(t.lineWidth > 0)); + } + function ev(t) { + return "string" == typeof t && "none" !== t; + } + function nv(t) { + var e = t.fill; + return null != e && "none" !== e; + } + function iv(t, e) { + if (null != e.fillOpacity && 1 !== e.fillOpacity) { + var n = t.globalAlpha; + (t.globalAlpha = e.fillOpacity * e.opacity), t.fill(), (t.globalAlpha = n); + } else t.fill(); + } + function rv(t, e) { + if (null != e.strokeOpacity && 1 !== e.strokeOpacity) { + var n = t.globalAlpha; + (t.globalAlpha = e.strokeOpacity * e.opacity), t.stroke(), (t.globalAlpha = n); + } else t.stroke(); + } + function ov(t, e, n) { + var i = la(e.image, e.__image, n); + if (ha(i)) { + var r = t.createPattern(i, e.repeat || "repeat"); + if ("function" == typeof DOMMatrix && r && r.setTransform) { + var o = new DOMMatrix(); + o.translateSelf(e.x || 0, e.y || 0), o.rotateSelf(0, 0, (e.rotation || 0) * wt), o.scaleSelf(e.scaleX || 1, e.scaleY || 1), r.setTransform(o); + } + return r; + } + } + var av = ["shadowBlur", "shadowOffsetX", "shadowOffsetY"], + sv = [ + ["lineCap", "butt"], + ["lineJoin", "miter"], + ["miterLimit", 10], + ]; + function lv(t, e, n, i, r) { + var o = !1; + if (!i && e === (n = n || {})) return !1; + if (i || e.opacity !== n.opacity) { + cv(t, r), (o = !0); + var a = Math.max(Math.min(e.opacity, 1), 0); + t.globalAlpha = isNaN(a) ? Ma.opacity : a; + } + (i || e.blend !== n.blend) && (o || (cv(t, r), (o = !0)), (t.globalCompositeOperation = e.blend || Ma.blend)); + for (var s = 0; s < av.length; s++) { + var l = av[s]; + (i || e[l] !== n[l]) && (o || (cv(t, r), (o = !0)), (t[l] = t.dpr * (e[l] || 0))); + } + return (i || e.shadowColor !== n.shadowColor) && (o || (cv(t, r), (o = !0)), (t.shadowColor = e.shadowColor || Ma.shadowColor)), o; + } + function uv(t, e, n, i, r) { + var o = pv(e, r.inHover), + a = i ? null : (n && pv(n, r.inHover)) || {}; + if (o === a) return !1; + var s = lv(t, o, a, i, r); + if ( + ((i || o.fill !== a.fill) && (s || (cv(t, r), (s = !0)), ev(o.fill) && (t.fillStyle = o.fill)), + (i || o.stroke !== a.stroke) && (s || (cv(t, r), (s = !0)), ev(o.stroke) && (t.strokeStyle = o.stroke)), + (i || o.opacity !== a.opacity) && (s || (cv(t, r), (s = !0)), (t.globalAlpha = null == o.opacity ? 1 : o.opacity)), + e.hasStroke()) + ) { + var l = o.lineWidth / (o.strokeNoScale && e.getLineScale ? e.getLineScale() : 1); + t.lineWidth !== l && (s || (cv(t, r), (s = !0)), (t.lineWidth = l)); + } + for (var u = 0; u < sv.length; u++) { + var h = sv[u], + c = h[0]; + (i || o[c] !== a[c]) && (s || (cv(t, r), (s = !0)), (t[c] = o[c] || h[1])); + } + return s; + } + function hv(t, e) { + var n = e.transform, + i = t.dpr || 1; + n ? t.setTransform(i * n[0], i * n[1], i * n[2], i * n[3], i * n[4], i * n[5]) : t.setTransform(i, 0, 0, i, 0, 0); + } + function cv(t, e) { + e.batchFill && t.fill(), e.batchStroke && t.stroke(), (e.batchFill = ""), (e.batchStroke = ""); + } + function pv(t, e) { + return (e && t.__hoverStyle) || t.style; + } + function dv(t, e) { + fv(t, e, { inHover: !1, viewWidth: 0, viewHeight: 0 }, !0); + } + function fv(t, e, n, i) { + var r = e.transform; + if (!e.shouldBePainted(n.viewWidth, n.viewHeight, !1, !1)) return (e.__dirty &= -2), void (e.__isRendered = !1); + var o = e.__clipPaths, + s = n.prevElClipPaths, + l = !1, + u = !1; + if ( + ((s && + !(function (t, e) { + if (t === e || (!t && !e)) return !1; + if (!t || !e || t.length !== e.length) return !0; + for (var n = 0; n < t.length; n++) if (t[n] !== e[n]) return !0; + return !1; + })(o, s)) || + (s && s.length && (cv(t, n), t.restore(), (u = l = !0), (n.prevElClipPaths = null), (n.allClipped = !1), (n.prevEl = null)), + o && + o.length && + (cv(t, n), + t.save(), + (function (t, e, n) { + for (var i = !1, r = 0; r < t.length; r++) { + var o = t[r]; + (i = i || o.isZeroArea()), hv(e, o), e.beginPath(), o.buildPath(e, o.shape), e.clip(); + } + n.allClipped = i; + })(o, t, n), + (l = !0)), + (n.prevElClipPaths = o)), + n.allClipped) + ) + e.__isRendered = !1; + else { + e.beforeBrush && e.beforeBrush(), e.innerBeforeBrush(); + var h = n.prevEl; + h || (u = l = !0); + var c, + p, + d = + e instanceof ks && + e.autoBatch && + (function (t) { + var e = nv(t), + n = tv(t); + return !(t.lineDash || !(+e ^ +n) || (e && "string" != typeof t.fill) || (n && "string" != typeof t.stroke) || t.strokePercent < 1 || t.strokeOpacity < 1 || t.fillOpacity < 1); + })(e.style); + l || ((c = r), (p = h.transform), c && p ? c[0] !== p[0] || c[1] !== p[1] || c[2] !== p[2] || c[3] !== p[3] || c[4] !== p[4] || c[5] !== p[5] : c || p) ? (cv(t, n), hv(t, e)) : d || cv(t, n); + var f = pv(e, n.inHover); + e instanceof ks + ? (1 !== n.lastDrawType && ((u = !0), (n.lastDrawType = 1)), + uv(t, e, h, u, n), + (d && (n.batchFill || n.batchStroke)) || t.beginPath(), + (function (t, e, n, i) { + var r, + o = tv(n), + a = nv(n), + s = n.strokePercent, + l = s < 1, + u = !e.path; + (e.silent && !l) || !u || e.createPathProxy(); + var h = e.path || Qy, + c = e.__dirty; + if (!i) { + var p = n.fill, + d = n.stroke, + f = a && !!p.colorStops, + g = o && !!d.colorStops, + y = a && !!p.image, + v = o && !!d.image, + m = void 0, + x = void 0, + _ = void 0, + b = void 0, + w = void 0; + (f || g) && (w = e.getBoundingRect()), + f && ((m = c ? qy(t, p, w) : e.__canvasFillGradient), (e.__canvasFillGradient = m)), + g && ((x = c ? qy(t, d, w) : e.__canvasStrokeGradient), (e.__canvasStrokeGradient = x)), + y && ((_ = c || !e.__canvasFillPattern ? ov(t, p, e) : e.__canvasFillPattern), (e.__canvasFillPattern = _)), + v && ((b = c || !e.__canvasStrokePattern ? ov(t, d, e) : e.__canvasStrokePattern), (e.__canvasStrokePattern = _)), + f ? (t.fillStyle = m) : y && (_ ? (t.fillStyle = _) : (a = !1)), + g ? (t.strokeStyle = x) : v && (b ? (t.strokeStyle = b) : (o = !1)); + } + var S, + M, + I = e.getGlobalScale(); + h.setScale(I[0], I[1], e.segmentIgnoreThreshold), t.setLineDash && n.lineDash && ((S = (r = Jy(e))[0]), (M = r[1])); + var T = !0; + (u || 4 & c) && (h.setDPR(t.dpr), l ? h.setContext(null) : (h.setContext(t), (T = !1)), h.reset(), e.buildPath(h, e.shape, i), h.toStatic(), e.pathUpdated()), + T && h.rebuildPath(t, l ? s : 1), + S && (t.setLineDash(S), (t.lineDashOffset = M)), + i || (n.strokeFirst ? (o && rv(t, n), a && iv(t, n)) : (a && iv(t, n), o && rv(t, n))), + S && t.setLineDash([]); + })(t, e, f, d), + d && ((n.batchFill = f.fill || ""), (n.batchStroke = f.stroke || ""))) + : e instanceof Ps + ? (3 !== n.lastDrawType && ((u = !0), (n.lastDrawType = 3)), + uv(t, e, h, u, n), + (function (t, e, n) { + var i, + r = n.text; + if ((null != r && (r += ""), r)) { + (t.font = n.font || a), (t.textAlign = n.textAlign), (t.textBaseline = n.textBaseline); + var o = void 0, + s = void 0; + t.setLineDash && n.lineDash && ((o = (i = Jy(e))[0]), (s = i[1])), + o && (t.setLineDash(o), (t.lineDashOffset = s)), + n.strokeFirst ? (tv(n) && t.strokeText(r, n.x, n.y), nv(n) && t.fillText(r, n.x, n.y)) : (nv(n) && t.fillText(r, n.x, n.y), tv(n) && t.strokeText(r, n.x, n.y)), + o && t.setLineDash([]); + } + })(t, e, f)) + : e instanceof Ns + ? (2 !== n.lastDrawType && ((u = !0), (n.lastDrawType = 2)), + (function (t, e, n, i, r) { + lv(t, pv(e, r.inHover), n && pv(n, r.inHover), i, r); + })(t, e, h, u, n), + (function (t, e, n) { + var i = (e.__image = la(n.image, e.__image, e, e.onload)); + if (i && ha(i)) { + var r = n.x || 0, + o = n.y || 0, + a = e.getWidth(), + s = e.getHeight(), + l = i.width / i.height; + if ((null == a && null != s ? (a = s * l) : null == s && null != a ? (s = a / l) : null == a && null == s && ((a = i.width), (s = i.height)), n.sWidth && n.sHeight)) { + var u = n.sx || 0, + h = n.sy || 0; + t.drawImage(i, u, h, n.sWidth, n.sHeight, r, o, a, s); + } else if (n.sx && n.sy) { + var c = a - (u = n.sx), + p = s - (h = n.sy); + t.drawImage(i, u, h, c, p, r, o, a, s); + } else t.drawImage(i, r, o, a, s); + } + })(t, e, f)) + : e.getTemporalDisplayables && + (4 !== n.lastDrawType && ((u = !0), (n.lastDrawType = 4)), + (function (t, e, n) { + var i = e.getDisplayables(), + r = e.getTemporalDisplayables(); + t.save(); + var o, + a, + s = { prevElClipPaths: null, prevEl: null, allClipped: !1, viewWidth: n.viewWidth, viewHeight: n.viewHeight, inHover: n.inHover }; + for (o = e.getCursor(), a = i.length; o < a; o++) { + (h = i[o]).beforeBrush && h.beforeBrush(), h.innerBeforeBrush(), fv(t, h, s, o === a - 1), h.innerAfterBrush(), h.afterBrush && h.afterBrush(), (s.prevEl = h); + } + for (var l = 0, u = r.length; l < u; l++) { + var h; + (h = r[l]).beforeBrush && h.beforeBrush(), h.innerBeforeBrush(), fv(t, h, s, l === u - 1), h.innerAfterBrush(), h.afterBrush && h.afterBrush(), (s.prevEl = h); + } + e.clearTemporalDisplayables(), (e.notClear = !0), t.restore(); + })(t, e, n)), + d && i && cv(t, n), + e.innerAfterBrush(), + e.afterBrush && e.afterBrush(), + (n.prevEl = e), + (e.__dirty = 0), + (e.__isRendered = !0); + } + } + var gv = new Ey(), + yv = new En(100), + vv = ["symbol", "symbolSize", "symbolKeepAspect", "color", "backgroundColor", "dashArrayX", "dashArrayY", "maxTileWidth", "maxTileHeight"]; + function mv(t, e) { + if ("none" === t) return null; + var n = e.getDevicePixelRatio(), + i = e.getZr(), + r = "svg" === i.painter.type; + t.dirty && gv.delete(t); + var o = gv.get(t); + if (o) return o; + var a = k(t, { symbol: "rect", symbolSize: 1, symbolKeepAspect: !0, color: "rgba(0, 0, 0, 0.2)", backgroundColor: null, dashArrayX: 5, dashArrayY: 5, rotation: 0, maxTileWidth: 512, maxTileHeight: 512 }); + "none" === a.backgroundColor && (a.backgroundColor = null); + var s = { repeat: "repeat" }; + return ( + (function (t) { + for (var e, o = [n], s = !0, l = 0; l < vv.length; ++l) { + var u = a[vv[l]]; + if (null != u && !Y(u) && !U(u) && !j(u) && "boolean" != typeof u) { + s = !1; + break; + } + o.push(u); + } + if (s) { + e = o.join(",") + (r ? "-svg" : ""); + var c = yv.get(e); + c && (r ? (t.svgElement = c) : (t.image = c)); + } + var p, + d = _v(a.dashArrayX), + f = (function (t) { + if (!t || ("object" == typeof t && 0 === t.length)) return [0, 0]; + if (j(t)) { + var e = Math.ceil(t); + return [e, e]; + } + var n = z(t, function (t) { + return Math.ceil(t); + }); + return t.length % 2 ? n.concat(n) : n; + })(a.dashArrayY), + g = xv(a.symbol), + y = + ((b = d), + z(b, function (t) { + return bv(t); + })), + v = bv(f), + m = !r && h.createCanvas(), + x = r && { tag: "g", attrs: {}, key: "dcl", children: [] }, + _ = (function () { + for (var t = 1, e = 0, n = y.length; e < n; ++e) t = _o(t, y[e]); + var i = 1; + for (e = 0, n = g.length; e < n; ++e) i = _o(i, g[e].length); + t *= i; + var r = v * y.length * g.length; + return { width: Math.max(1, Math.min(t, a.maxTileWidth)), height: Math.max(1, Math.min(r, a.maxTileHeight)) }; + })(); + var b; + m && ((m.width = _.width * n), (m.height = _.height * n), (p = m.getContext("2d"))); + (function () { + p && (p.clearRect(0, 0, m.width, m.height), a.backgroundColor && ((p.fillStyle = a.backgroundColor), p.fillRect(0, 0, m.width, m.height))); + for (var t = 0, e = 0; e < f.length; ++e) t += f[e]; + if (t <= 0) return; + var o = -v, + s = 0, + l = 0, + u = 0; + for (; o < _.height; ) { + if (s % 2 == 0) { + for (var h = (l / 2) % g.length, c = 0, y = 0, b = 0; c < 2 * _.width; ) { + var w = 0; + for (e = 0; e < d[u].length; ++e) w += d[u][e]; + if (w <= 0) break; + if (y % 2 == 0) { + var S = 0.5 * (1 - a.symbolSize), + M = c + d[u][y] * S, + I = o + f[s] * S, + T = d[u][y] * a.symbolSize, + C = f[s] * a.symbolSize, + D = (b / 2) % g[h].length; + A(M, I, T, C, g[h][D]); + } + (c += d[u][y]), ++b, ++y === d[u].length && (y = 0); + } + ++u === d.length && (u = 0); + } + (o += f[s]), ++l, ++s === f.length && (s = 0); + } + function A(t, e, o, s, l) { + var u = r ? 1 : n, + h = Xy(l, t * u, e * u, o * u, s * u, a.color, a.symbolKeepAspect); + if (r) { + var c = i.painter.renderOneToVNode(h); + c && x.children.push(c); + } else dv(p, h); + } + })(), + s && yv.put(e, m || x); + (t.image = m), (t.svgElement = x), (t.svgWidth = _.width), (t.svgHeight = _.height); + })(s), + (s.rotation = a.rotation), + (s.scaleX = s.scaleY = r ? 1 : 1 / n), + gv.set(t, s), + (t.dirty = !1), + s + ); + } + function xv(t) { + if (!t || 0 === t.length) return [["rect"]]; + if (U(t)) return [[t]]; + for (var e = !0, n = 0; n < t.length; ++n) + if (!U(t[n])) { + e = !1; + break; + } + if (e) return xv([t]); + var i = []; + for (n = 0; n < t.length; ++n) U(t[n]) ? i.push([t[n]]) : i.push(t[n]); + return i; + } + function _v(t) { + if (!t || 0 === t.length) return [[0, 0]]; + if (j(t)) return [[(r = Math.ceil(t)), r]]; + for (var e = !0, n = 0; n < t.length; ++n) + if (!j(t[n])) { + e = !1; + break; + } + if (e) return _v([t]); + var i = []; + for (n = 0; n < t.length; ++n) + if (j(t[n])) { + var r = Math.ceil(t[n]); + i.push([r, r]); + } else { + (r = z(t[n], function (t) { + return Math.ceil(t); + })).length % + 2 == + 1 + ? i.push(r.concat(r)) + : i.push(r); + } + return i; + } + function bv(t) { + for (var e = 0, n = 0; n < t.length; ++n) e += t[n]; + return t.length % 2 == 1 ? 2 * e : e; + } + var wv = new jt(), + Sv = {}; + function Mv(t) { + return Sv[t]; + } + var Iv = 2e3, + Tv = 4500, + Cv = { + PROCESSOR: { FILTER: 1e3, SERIES_FILTER: 800, STATISTIC: 5e3 }, + VISUAL: { LAYOUT: 1e3, PROGRESSIVE_LAYOUT: 1100, GLOBAL: Iv, CHART: 3e3, POST_CHART_LAYOUT: 4600, COMPONENT: 4e3, BRUSH: 5e3, CHART_ITEM: Tv, ARIA: 6e3, DECAL: 7e3 }, + }, + Dv = "__flagInMainProcess", + Av = "__pendingUpdate", + kv = "__needsUpdateStatus", + Lv = /^[a-zA-Z0-9_]+$/, + Pv = "__connectUpdateStatus"; + function Ov(t) { + return function () { + for (var e = [], n = 0; n < arguments.length; n++) e[n] = arguments[n]; + if (!this.isDisposed()) return Nv(this, t, e); + om(this.id); + }; + } + function Rv(t) { + return function () { + for (var e = [], n = 0; n < arguments.length; n++) e[n] = arguments[n]; + return Nv(this, t, e); + }; + } + function Nv(t, e, n) { + return (n[0] = n[0] && n[0].toLowerCase()), jt.prototype[e].apply(t, n); + } + var Ev, + zv, + Vv, + Bv, + Fv, + Gv, + Wv, + Hv, + Yv, + Xv, + Uv, + Zv, + jv, + qv, + Kv, + $v, + Jv, + Qv, + tm = (function (t) { + function e() { + return (null !== t && t.apply(this, arguments)) || this; + } + return n(e, t), e; + })(jt), + em = tm.prototype; + (em.on = Rv("on")), (em.off = Rv("off")); + var nm = (function (t) { + function e(e, n, i) { + var r = t.call(this, new Sy()) || this; + (r._chartsViews = []), (r._chartsMap = {}), (r._componentsViews = []), (r._componentsMap = {}), (r._pendingActions = []), (i = i || {}), U(n) && (n = cm[n]), (r._dom = e); + var o = "canvas", + a = "auto", + s = !1; + i.ssr && + Zr(function (t) { + var e = rl(t), + n = e.dataIndex; + if (null != n) { + var i = yt(); + return i.set("series_index", e.seriesIndex), i.set("data_index", n), e.ssrType && i.set("ssr_type", e.ssrType), i; + } + }); + var l = (r._zr = Yr(e, { + renderer: i.renderer || o, + devicePixelRatio: i.devicePixelRatio, + width: i.width, + height: i.height, + ssr: i.ssr, + useDirtyRect: rt(i.useDirtyRect, s), + useCoarsePointer: rt(i.useCoarsePointer, a), + pointerSize: i.pointerSize, + })); + (r._ssr = i.ssr), + (r._throttledZrFlush = Wg(W(l.flush, l), 17)), + (n = T(n)) && Xd(n, !0), + (r._theme = n), + (r._locale = (function (t) { + if (U(t)) { + var e = Rc[t.toUpperCase()] || {}; + return t === Lc || t === Pc ? T(e) : C(T(e), T(Rc[Oc]), !1); + } + return C(T(t), T(Rc[Oc]), !1); + })(i.locale || Ec)), + (r._coordSysMgr = new wd()); + var u = (r._api = Kv(r)); + function h(t, e) { + return t.__prio - e.__prio; + } + return Qe(hm, h), Qe(lm, h), (r._scheduler = new ey(r, u, lm, hm)), (r._messageCenter = new tm()), r._initEvents(), (r.resize = W(r.resize, r)), l.animation.on("frame", r._onframe, r), Xv(l, r), Uv(l, r), ct(r), r; + } + return ( + n(e, t), + (e.prototype._onframe = function () { + if (!this._disposed) { + Qv(this); + var t = this._scheduler; + if (this[Av]) { + var e = this[Av].silent; + this[Dv] = !0; + try { + Ev(this), Bv.update.call(this, null, this[Av].updateParams); + } catch (t) { + throw ((this[Dv] = !1), (this[Av] = null), t); + } + this._zr.flush(), (this[Dv] = !1), (this[Av] = null), Hv.call(this, e), Yv.call(this, e); + } else if (t.unfinished) { + var n = 1, + i = this._model, + r = this._api; + t.unfinished = !1; + do { + var o = +new Date(); + t.performSeriesTasks(i), t.performDataProcessorTasks(i), Gv(this, i), t.performVisualTasks(i), qv(this, this._model, r, "remain", {}), (n -= +new Date() - o); + } while (n > 0 && t.unfinished); + t.unfinished || this._zr.flush(); + } + } + }), + (e.prototype.getDom = function () { + return this._dom; + }), + (e.prototype.getId = function () { + return this.id; + }), + (e.prototype.getZr = function () { + return this._zr; + }), + (e.prototype.isSSR = function () { + return this._ssr; + }), + (e.prototype.setOption = function (t, e, n) { + if (!this[Dv]) + if (this._disposed) om(this.id); + else { + var i, r, o; + if ((q(e) && ((n = e.lazyUpdate), (i = e.silent), (r = e.replaceMerge), (o = e.transition), (e = e.notMerge)), (this[Dv] = !0), !this._model || e)) { + var a = new Md(this._api), + s = this._theme, + l = (this._model = new gd()); + (l.scheduler = this._scheduler), (l.ssr = this._ssr), l.init(null, null, null, s, this._locale, a); + } + this._model.setOption(t, { replaceMerge: r }, um); + var u = { seriesTransition: o, optionChanged: !0 }; + if (n) (this[Av] = { silent: i, updateParams: u }), (this[Dv] = !1), this.getZr().wakeUp(); + else { + try { + Ev(this), Bv.update.call(this, null, u); + } catch (t) { + throw ((this[Av] = null), (this[Dv] = !1), t); + } + this._ssr || this._zr.flush(), (this[Av] = null), (this[Dv] = !1), Hv.call(this, i), Yv.call(this, i); + } + } + }), + (e.prototype.setTheme = function () { + bo(); + }), + (e.prototype.getModel = function () { + return this._model; + }), + (e.prototype.getOption = function () { + return this._model && this._model.getOption(); + }), + (e.prototype.getWidth = function () { + return this._zr.getWidth(); + }), + (e.prototype.getHeight = function () { + return this._zr.getHeight(); + }), + (e.prototype.getDevicePixelRatio = function () { + return this._zr.painter.dpr || (r.hasGlobalWindow && window.devicePixelRatio) || 1; + }), + (e.prototype.getRenderedCanvas = function (t) { + return this.renderToCanvas(t); + }), + (e.prototype.renderToCanvas = function (t) { + t = t || {}; + var e = this._zr.painter; + return e.getRenderedCanvas({ backgroundColor: t.backgroundColor || this._model.get("backgroundColor"), pixelRatio: t.pixelRatio || this.getDevicePixelRatio() }); + }), + (e.prototype.renderToSVGString = function (t) { + t = t || {}; + var e = this._zr.painter; + return e.renderToString({ useViewBox: t.useViewBox }); + }), + (e.prototype.getSvgDataURL = function () { + if (r.svgSupported) { + var t = this._zr; + return ( + E(t.storage.getDisplayList(), function (t) { + t.stopAnimation(null, !0); + }), + t.painter.toDataURL() + ); + } + }), + (e.prototype.getDataURL = function (t) { + if (!this._disposed) { + var e = (t = t || {}).excludeComponents, + n = this._model, + i = [], + r = this; + E(e, function (t) { + n.eachComponent({ mainType: t }, function (t) { + var e = r._componentsMap[t.__viewId]; + e.group.ignore || (i.push(e), (e.group.ignore = !0)); + }); + }); + var o = "svg" === this._zr.painter.getType() ? this.getSvgDataURL() : this.renderToCanvas(t).toDataURL("image/" + ((t && t.type) || "png")); + return ( + E(i, function (t) { + t.group.ignore = !1; + }), + o + ); + } + om(this.id); + }), + (e.prototype.getConnectedDataURL = function (t) { + if (!this._disposed) { + var e = "svg" === t.type, + n = this.group, + i = Math.min, + r = Math.max, + o = 1 / 0; + if (fm[n]) { + var a = o, + s = o, + l = -1 / 0, + u = -1 / 0, + c = [], + p = (t && t.pixelRatio) || this.getDevicePixelRatio(); + E(dm, function (o, h) { + if (o.group === n) { + var p = e ? o.getZr().painter.getSvgDom().innerHTML : o.renderToCanvas(T(t)), + d = o.getDom().getBoundingClientRect(); + (a = i(d.left, a)), (s = i(d.top, s)), (l = r(d.right, l)), (u = r(d.bottom, u)), c.push({ dom: p, left: d.left, top: d.top }); + } + }); + var d = (l *= p) - (a *= p), + f = (u *= p) - (s *= p), + g = h.createCanvas(), + y = Yr(g, { renderer: e ? "svg" : "canvas" }); + if ((y.resize({ width: d, height: f }), e)) { + var v = ""; + return ( + E(c, function (t) { + var e = t.left - a, + n = t.top - s; + v += '' + t.dom + ""; + }), + (y.painter.getSvgRoot().innerHTML = v), + t.connectedBackgroundColor && y.painter.setBackgroundColor(t.connectedBackgroundColor), + y.refreshImmediately(), + y.painter.toDataURL() + ); + } + return ( + t.connectedBackgroundColor && y.add(new Ws({ shape: { x: 0, y: 0, width: d, height: f }, style: { fill: t.connectedBackgroundColor } })), + E(c, function (t) { + var e = new Ns({ style: { x: t.left * p - a, y: t.top * p - s, image: t.dom } }); + y.add(e); + }), + y.refreshImmediately(), + g.toDataURL("image/" + ((t && t.type) || "png")) + ); + } + return this.getDataURL(t); + } + om(this.id); + }), + (e.prototype.convertToPixel = function (t, e) { + return Fv(this, "convertToPixel", t, e); + }), + (e.prototype.convertFromPixel = function (t, e) { + return Fv(this, "convertFromPixel", t, e); + }), + (e.prototype.containPixel = function (t, e) { + var n; + if (!this._disposed) + return ( + E( + Fo(this._model, t), + function (t, i) { + i.indexOf("Models") >= 0 && + E( + t, + function (t) { + var r = t.coordinateSystem; + if (r && r.containPoint) n = n || !!r.containPoint(e); + else if ("seriesModels" === i) { + var o = this._chartsMap[t.__viewId]; + o && o.containPoint && (n = n || o.containPoint(e, t)); + } else 0; + }, + this + ); + }, + this + ), + !!n + ); + om(this.id); + }), + (e.prototype.getVisual = function (t, e) { + var n = Fo(this._model, t, { defaultMainType: "series" }), + i = n.seriesModel; + var r = i.getData(), + o = n.hasOwnProperty("dataIndexInside") ? n.dataIndexInside : n.hasOwnProperty("dataIndex") ? r.indexOfRawIndex(n.dataIndex) : null; + return null != o ? Dy(r, o, e) : Ay(r, e); + }), + (e.prototype.getViewOfComponentModel = function (t) { + return this._componentsMap[t.__viewId]; + }), + (e.prototype.getViewOfSeriesModel = function (t) { + return this._chartsMap[t.__viewId]; + }), + (e.prototype._initEvents = function () { + var t, + e, + n, + i = this; + E(rm, function (t) { + var e = function (e) { + var n, + r = i.getModel(), + o = e.target, + a = "globalout" === t; + if ( + (a + ? (n = {}) + : o && + Oy( + o, + function (t) { + var e = rl(t); + if (e && null != e.dataIndex) { + var i = e.dataModel || r.getSeriesByIndex(e.seriesIndex); + return (n = (i && i.getDataParams(e.dataIndex, e.dataType, o)) || {}), !0; + } + if (e.eventData) return (n = A({}, e.eventData)), !0; + }, + !0 + ), + n) + ) { + var s = n.componentType, + l = n.componentIndex; + ("markLine" !== s && "markPoint" !== s && "markArea" !== s) || ((s = "series"), (l = n.seriesIndex)); + var u = s && null != l && r.getComponent(s, l), + h = u && i["series" === u.mainType ? "_chartsMap" : "_componentsMap"][u.__viewId]; + 0, (n.event = e), (n.type = t), (i._$eventProcessor.eventInfo = { targetEl: o, packedEvent: n, model: u, view: h }), i.trigger(t, n); + } + }; + (e.zrEventfulCallAtLast = !0), i._zr.on(t, e, i); + }), + E(sm, function (t, e) { + i._messageCenter.on( + e, + function (t) { + this.trigger(e, t); + }, + i + ); + }), + E(["selectchanged"], function (t) { + i._messageCenter.on( + t, + function (e) { + this.trigger(t, e); + }, + i + ); + }), + (t = this._messageCenter), + (e = this), + (n = this._api), + t.on("selectchanged", function (t) { + var i = n.getModel(); + t.isFromClick + ? (Py("map", "selectchanged", e, i, t), Py("pie", "selectchanged", e, i, t)) + : "select" === t.fromAction + ? (Py("map", "selected", e, i, t), Py("pie", "selected", e, i, t)) + : "unselect" === t.fromAction && (Py("map", "unselected", e, i, t), Py("pie", "unselected", e, i, t)); + }); + }), + (e.prototype.isDisposed = function () { + return this._disposed; + }), + (e.prototype.clear = function () { + this._disposed ? om(this.id) : this.setOption({ series: [] }, !0); + }), + (e.prototype.dispose = function () { + if (this._disposed) om(this.id); + else { + (this._disposed = !0), this.getDom() && Xo(this.getDom(), vm, ""); + var t = this, + e = t._api, + n = t._model; + E(t._componentsViews, function (t) { + t.dispose(n, e); + }), + E(t._chartsViews, function (t) { + t.dispose(n, e); + }), + t._zr.dispose(), + (t._dom = t._model = t._chartsMap = t._componentsMap = t._chartsViews = t._componentsViews = t._scheduler = t._api = t._zr = t._throttledZrFlush = t._theme = t._coordSysMgr = t._messageCenter = null), + delete dm[t.id]; + } + }), + (e.prototype.resize = function (t) { + if (!this[Dv]) + if (this._disposed) om(this.id); + else { + this._zr.resize(t); + var e = this._model; + if ((this._loadingFX && this._loadingFX.resize(), e)) { + var n = e.resetOption("media"), + i = t && t.silent; + this[Av] && (null == i && (i = this[Av].silent), (n = !0), (this[Av] = null)), (this[Dv] = !0); + try { + n && Ev(this), Bv.update.call(this, { type: "resize", animation: A({ duration: 0 }, t && t.animation) }); + } catch (t) { + throw ((this[Dv] = !1), t); + } + (this[Dv] = !1), Hv.call(this, i), Yv.call(this, i); + } + } + }), + (e.prototype.showLoading = function (t, e) { + if (this._disposed) om(this.id); + else if ((q(t) && ((e = t), (t = "")), (t = t || "default"), this.hideLoading(), pm[t])) { + var n = pm[t](this._api, e), + i = this._zr; + (this._loadingFX = n), i.add(n); + } + }), + (e.prototype.hideLoading = function () { + this._disposed ? om(this.id) : (this._loadingFX && this._zr.remove(this._loadingFX), (this._loadingFX = null)); + }), + (e.prototype.makeActionFromEvent = function (t) { + var e = A({}, t); + return (e.type = sm[t.type]), e; + }), + (e.prototype.dispatchAction = function (t, e) { + if (this._disposed) om(this.id); + else if ((q(e) || (e = { silent: !!e }), am[t.type] && this._model)) + if (this[Dv]) this._pendingActions.push(t); + else { + var n = e.silent; + Wv.call(this, t, n); + var i = e.flush; + i ? this._zr.flush() : !1 !== i && r.browser.weChat && this._throttledZrFlush(), Hv.call(this, n), Yv.call(this, n); + } + }), + (e.prototype.updateLabelLayout = function () { + wv.trigger("series:layoutlabels", this._model, this._api, { updatedSeries: [] }); + }), + (e.prototype.appendData = function (t) { + if (this._disposed) om(this.id); + else { + var e = t.seriesIndex, + n = this.getModel().getSeriesByIndex(e); + 0, n.appendData(t), (this._scheduler.unfinished = !0), this.getZr().wakeUp(); + } + }), + (e.internalField = (function () { + function t(t) { + t.clearColorPalette(), + t.eachSeries(function (t) { + t.clearColorPalette(); + }); + } + function e(t) { + for (var e = [], n = t.currentStates, i = 0; i < n.length; i++) { + var r = n[i]; + "emphasis" !== r && "blur" !== r && "select" !== r && e.push(r); + } + t.selected && t.states.select && e.push("select"), 2 === t.hoverState && t.states.emphasis ? e.push("emphasis") : 1 === t.hoverState && t.states.blur && e.push("blur"), t.useStates(e); + } + function i(t, e) { + if (!t.preventAutoZ) { + var n = t.get("z") || 0, + i = t.get("zlevel") || 0; + e.eachRendered(function (t) { + return o(t, n, i, -1 / 0), !0; + }); + } + } + function o(t, e, n, i) { + var r = t.getTextContent(), + a = t.getTextGuideLine(); + if (t.isGroup) for (var s = t.childrenRef(), l = 0; l < s.length; l++) i = Math.max(o(s[l], e, n, i), i); + else (t.z = e), (t.zlevel = n), (i = Math.max(t.z2, i)); + if ((r && ((r.z = e), (r.zlevel = n), isFinite(i) && (r.z2 = i + 2)), a)) { + var u = t.textGuideLineConfig; + (a.z = e), (a.zlevel = n), isFinite(i) && (a.z2 = i + (u && u.showAbove ? 1 : -1)); + } + return i; + } + function a(t, e) { + e.eachRendered(function (t) { + if (!xh(t)) { + var e = t.getTextContent(), + n = t.getTextGuideLine(); + t.stateTransition && (t.stateTransition = null), + e && e.stateTransition && (e.stateTransition = null), + n && n.stateTransition && (n.stateTransition = null), + t.hasState() ? ((t.prevStates = t.currentStates), t.clearStates()) : t.prevStates && (t.prevStates = null); + } + }); + } + function s(t, n) { + var i = t.getModel("stateAnimation"), + r = t.isAnimationEnabled(), + o = i.get("duration"), + a = o > 0 ? { duration: o, delay: i.get("delay"), easing: i.get("easing") } : null; + n.eachRendered(function (t) { + if (t.states && t.states.emphasis) { + if (xh(t)) return; + if ( + (t instanceof ks && + (function (t) { + var e = ll(t); + (e.normalFill = t.style.fill), (e.normalStroke = t.style.stroke); + var n = t.states.select || {}; + (e.selectFill = (n.style && n.style.fill) || null), (e.selectStroke = (n.style && n.style.stroke) || null); + })(t), + t.__dirty) + ) { + var n = t.prevStates; + n && t.useStates(n); + } + if (r) { + t.stateTransition = a; + var i = t.getTextContent(), + o = t.getTextGuideLine(); + i && (i.stateTransition = a), o && (o.stateTransition = a); + } + t.__dirty && e(t); + } + }); + } + (Ev = function (t) { + var e = t._scheduler; + e.restorePipelines(t._model), e.prepareStageTasks(), zv(t, !0), zv(t, !1), e.plan(); + }), + (zv = function (t, e) { + for (var n = t._model, i = t._scheduler, r = e ? t._componentsViews : t._chartsViews, o = e ? t._componentsMap : t._chartsMap, a = t._zr, s = t._api, l = 0; l < r.length; l++) r[l].__alive = !1; + function u(t) { + var l = t.__requireNewView; + t.__requireNewView = !1; + var u = "_ec_" + t.id + "_" + t.type, + h = !l && o[u]; + if (!h) { + var c = Ko(t.type), + p = e ? Ag.getClass(c.main, c.sub) : Og.getClass(c.sub); + 0, (h = new p()).init(n, s), (o[u] = h), r.push(h), a.add(h.group); + } + (t.__viewId = h.__id = u), (h.__alive = !0), (h.__model = t), (h.group.__ecComponentInfo = { mainType: t.mainType, index: t.componentIndex }), !e && i.prepareView(h, t, n, s); + } + e + ? n.eachComponent(function (t, e) { + "series" !== t && u(e); + }) + : n.eachSeries(u); + for (l = 0; l < r.length; ) { + var h = r[l]; + h.__alive ? l++ : (!e && h.renderTask.dispose(), a.remove(h.group), h.dispose(n, s), r.splice(l, 1), o[h.__id] === h && delete o[h.__id], (h.__id = h.group.__ecComponentInfo = null)); + } + }), + (Vv = function (t, e, n, i, r) { + var o = t._model; + if ((o.setUpdatePayload(n), i)) { + var a = {}; + (a[i + "Id"] = n[i + "Id"]), (a[i + "Index"] = n[i + "Index"]), (a[i + "Name"] = n[i + "Name"]); + var s = { mainType: i, query: a }; + r && (s.subType = r); + var l, + u = n.excludeSeriesId; + null != u && + ((l = yt()), + E(To(u), function (t) { + var e = Ro(t, null); + null != e && l.set(e, !0); + })), + o && + o.eachComponent( + s, + function (e) { + if (!(l && null != l.get(e.id))) + if (eu(n)) + if (e instanceof bg) + n.type !== dl || + n.notBlur || + e.get(["emphasis", "disabled"]) || + (function (t, e, n) { + var i = t.seriesIndex, + r = t.getData(e.dataType); + if (r) { + var o = zo(r, e); + o = (Y(o) ? o[0] : o) || 0; + var a = r.getItemGraphicEl(o); + if (!a) for (var s = r.count(), l = 0; !a && l < s; ) a = r.getItemGraphicEl(l++); + if (a) { + var u = rl(a); + Gl(i, u.focus, u.blurScope, n); + } else { + var h = t.get(["emphasis", "focus"]), + c = t.get(["emphasis", "blurScope"]); + null != h && Gl(i, h, c, n); + } + } + })(e, n, t._api); + else { + var i = Hl(e.mainType, e.componentIndex, n.name, t._api), + r = i.focusSelf, + o = i.dispatchers; + n.type === dl && r && !n.notBlur && Wl(e.mainType, e.componentIndex, t._api), + o && + E(o, function (t) { + n.type === dl ? Ol(t) : Rl(t); + }); + } + else + tu(n) && + e instanceof bg && + (!(function (t, e, n) { + if (tu(e)) { + var i = e.dataType, + r = zo(t.getData(i), e); + Y(r) || (r = [r]), t[e.type === vl ? "toggleSelect" : e.type === gl ? "select" : "unselect"](r, i); + } + })(e, n, t._api), + Yl(e), + Jv(t)); + }, + t + ), + o && + o.eachComponent( + s, + function (e) { + (l && null != l.get(e.id)) || h(t["series" === i ? "_chartsMap" : "_componentsMap"][e.__viewId]); + }, + t + ); + } else E([].concat(t._componentsViews).concat(t._chartsViews), h); + function h(i) { + i && i.__alive && i[e] && i[e](i.__model, o, t._api, n); + } + }), + (Bv = { + prepareAndUpdate: function (t) { + Ev(this), Bv.update.call(this, t, { optionChanged: null != t.newOption }); + }, + update: function (e, n) { + var i = this._model, + r = this._api, + o = this._zr, + a = this._coordSysMgr, + s = this._scheduler; + if (i) { + i.setUpdatePayload(e), s.restoreData(i, e), s.performSeriesTasks(i), a.create(i, r), s.performDataProcessorTasks(i, e), Gv(this, i), a.update(i, r), t(i), s.performVisualTasks(i, e), Zv(this, i, r, e, n); + var l = i.get("backgroundColor") || "transparent", + u = i.get("darkMode"); + o.setBackgroundColor(l), null != u && "auto" !== u && o.setDarkMode(u), wv.trigger("afterupdate", i, r); + } + }, + updateTransform: function (e) { + var n = this, + i = this._model, + r = this._api; + if (i) { + i.setUpdatePayload(e); + var o = []; + i.eachComponent(function (t, a) { + if ("series" !== t) { + var s = n.getViewOfComponentModel(a); + if (s && s.__alive) + if (s.updateTransform) { + var l = s.updateTransform(a, i, r, e); + l && l.update && o.push(s); + } else o.push(s); + } + }); + var a = yt(); + i.eachSeries(function (t) { + var o = n._chartsMap[t.__viewId]; + if (o.updateTransform) { + var s = o.updateTransform(t, i, r, e); + s && s.update && a.set(t.uid, 1); + } else a.set(t.uid, 1); + }), + t(i), + this._scheduler.performVisualTasks(i, e, { setDirty: !0, dirtyMap: a }), + qv(this, i, r, e, {}, a), + wv.trigger("afterupdate", i, r); + } + }, + updateView: function (e) { + var n = this._model; + n && (n.setUpdatePayload(e), Og.markUpdateMethod(e, "updateView"), t(n), this._scheduler.performVisualTasks(n, e, { setDirty: !0 }), Zv(this, n, this._api, e, {}), wv.trigger("afterupdate", n, this._api)); + }, + updateVisual: function (e) { + var n = this, + i = this._model; + i && + (i.setUpdatePayload(e), + i.eachSeries(function (t) { + t.getData().clearAllVisual(); + }), + Og.markUpdateMethod(e, "updateVisual"), + t(i), + this._scheduler.performVisualTasks(i, e, { visualType: "visual", setDirty: !0 }), + i.eachComponent(function (t, r) { + if ("series" !== t) { + var o = n.getViewOfComponentModel(r); + o && o.__alive && o.updateVisual(r, i, n._api, e); + } + }), + i.eachSeries(function (t) { + n._chartsMap[t.__viewId].updateVisual(t, i, n._api, e); + }), + wv.trigger("afterupdate", i, this._api)); + }, + updateLayout: function (t) { + Bv.update.call(this, t); + }, + }), + (Fv = function (t, e, n, i) { + if (t._disposed) om(t.id); + else { + for (var r, o = t._model, a = t._coordSysMgr.getCoordinateSystems(), s = Fo(o, n), l = 0; l < a.length; l++) { + var u = a[l]; + if (u[e] && null != (r = u[e](o, s, i))) return r; + } + 0; + } + }), + (Gv = function (t, e) { + var n = t._chartsMap, + i = t._scheduler; + e.eachSeries(function (t) { + i.updateStreamModes(t, n[t.__viewId]); + }); + }), + (Wv = function (t, e) { + var n = this, + i = this.getModel(), + r = t.type, + o = t.escapeConnect, + a = am[r], + s = a.actionInfo, + l = (s.update || "update").split(":"), + u = l.pop(), + h = null != l[0] && Ko(l[0]); + this[Dv] = !0; + var c = [t], + p = !1; + t.batch && + ((p = !0), + (c = z(t.batch, function (e) { + return ((e = k(A({}, e), t)).batch = null), e; + }))); + var d, + f = [], + g = tu(t), + y = eu(t); + if ( + (y && Fl(this._api), + E(c, function (e) { + if ((((d = (d = a.action(e, n._model, n._api)) || A({}, e)).type = s.event || d.type), f.push(d), y)) { + var i = Go(t), + r = i.queryOptionMap, + o = i.mainTypeSpecified ? r.keys()[0] : "series"; + Vv(n, u, e, o), Jv(n); + } else g ? (Vv(n, u, e, "series"), Jv(n)) : h && Vv(n, u, e, h.main, h.sub); + }), + "none" !== u && !y && !g && !h) + ) + try { + this[Av] ? (Ev(this), Bv.update.call(this, t), (this[Av] = null)) : Bv[u].call(this, t); + } catch (t) { + throw ((this[Dv] = !1), t); + } + if (((d = p ? { type: s.event || r, escapeConnect: o, batch: f } : f[0]), (this[Dv] = !1), !e)) { + var v = this._messageCenter; + if ((v.trigger(d.type, d), g)) { + var m = { type: "selectchanged", escapeConnect: o, selected: Xl(i), isFromClick: t.isFromClick || !1, fromAction: t.type, fromActionPayload: t }; + v.trigger(m.type, m); + } + } + }), + (Hv = function (t) { + for (var e = this._pendingActions; e.length; ) { + var n = e.shift(); + Wv.call(this, n, t); + } + }), + (Yv = function (t) { + !t && this.trigger("updated"); + }), + (Xv = function (t, e) { + t.on("rendered", function (n) { + e.trigger("rendered", n), !t.animation.isFinished() || e[Av] || e._scheduler.unfinished || e._pendingActions.length || e.trigger("finished"); + }); + }), + (Uv = function (t, e) { + t.on("mouseover", function (t) { + var n = Oy(t.target, Ql); + n && + (!(function (t, e, n) { + var i = rl(t), + r = Hl(i.componentMainType, i.componentIndex, i.componentHighDownName, n), + o = r.dispatchers, + a = r.focusSelf; + o + ? (a && Wl(i.componentMainType, i.componentIndex, n), + E(o, function (t) { + return Ll(t, e); + })) + : (Gl(i.seriesIndex, i.focus, i.blurScope, n), "self" === i.focus && Wl(i.componentMainType, i.componentIndex, n), Ll(t, e)); + })(n, t, e._api), + Jv(e)); + }) + .on("mouseout", function (t) { + var n = Oy(t.target, Ql); + n && + (!(function (t, e, n) { + Fl(n); + var i = rl(t), + r = Hl(i.componentMainType, i.componentIndex, i.componentHighDownName, n).dispatchers; + r + ? E(r, function (t) { + return Pl(t, e); + }) + : Pl(t, e); + })(n, t, e._api), + Jv(e)); + }) + .on("click", function (t) { + var n = Oy( + t.target, + function (t) { + return null != rl(t).dataIndex; + }, + !0 + ); + if (n) { + var i = n.selected ? "unselect" : "select", + r = rl(n); + e._api.dispatchAction({ type: i, dataType: r.dataType, dataIndexInside: r.dataIndex, seriesIndex: r.seriesIndex, isFromClick: !0 }); + } + }); + }), + (Zv = function (t, e, n, i, r) { + !(function (t) { + var e = [], + n = [], + i = !1; + if ( + (t.eachComponent(function (t, r) { + var o = r.get("zlevel") || 0, + a = r.get("z") || 0, + s = r.getZLevelKey(); + (i = i || !!s), ("series" === t ? n : e).push({ zlevel: o, z: a, idx: r.componentIndex, type: t, key: s }); + }), + i) + ) { + var r, + o, + a = e.concat(n); + Qe(a, function (t, e) { + return t.zlevel === e.zlevel ? t.z - e.z : t.zlevel - e.zlevel; + }), + E(a, function (e) { + var n = t.getComponent(e.type, e.idx), + i = e.zlevel, + a = e.key; + null != r && (i = Math.max(r, i)), a ? (i === r && a !== o && i++, (o = a)) : o && (i === r && i++, (o = "")), (r = i), n.setZLevel(i); + }); + } + })(e), + jv(t, e, n, i, r), + E(t._chartsViews, function (t) { + t.__alive = !1; + }), + qv(t, e, n, i, r), + E(t._chartsViews, function (t) { + t.__alive || t.remove(e, n); + }); + }), + (jv = function (t, e, n, r, o, l) { + E(l || t._componentsViews, function (t) { + var o = t.__model; + a(o, t), t.render(o, e, n, r), i(o, t), s(o, t); + }); + }), + (qv = function (t, e, n, o, l, u) { + var h = t._scheduler; + (l = A(l || {}, { updatedSeries: e.getSeries() })), wv.trigger("series:beforeupdate", e, n, l); + var c = !1; + e.eachSeries(function (e) { + var n = t._chartsMap[e.__viewId]; + n.__alive = !0; + var i = n.renderTask; + h.updatePayload(i, o), + a(e, n), + u && u.get(e.uid) && i.dirty(), + i.perform(h.getPerformArgs(i)) && (c = !0), + (n.group.silent = !!e.get("silent")), + (function (t, e) { + var n = t.get("blendMode") || null; + e.eachRendered(function (t) { + t.isGroup || (t.style.blend = n); + }); + })(e, n), + Yl(e); + }), + (h.unfinished = c || h.unfinished), + wv.trigger("series:layoutlabels", e, n, l), + wv.trigger("series:transition", e, n, l), + e.eachSeries(function (e) { + var n = t._chartsMap[e.__viewId]; + i(e, n), s(e, n); + }), + (function (t, e) { + var n = t._zr, + i = n.storage, + o = 0; + i.traverse(function (t) { + t.isGroup || o++; + }), + o > e.get("hoverLayerThreshold") && + !r.node && + !r.worker && + e.eachSeries(function (e) { + if (!e.preventUsingHoverLayer) { + var n = t._chartsMap[e.__viewId]; + n.__alive && + n.eachRendered(function (t) { + t.states.emphasis && (t.states.emphasis.hoverLayer = !0); + }); + } + }); + })(t, e), + wv.trigger("series:afterupdate", e, n, l); + }), + (Jv = function (t) { + (t[kv] = !0), t.getZr().wakeUp(); + }), + (Qv = function (t) { + t[kv] && + (t.getZr().storage.traverse(function (t) { + xh(t) || e(t); + }), + (t[kv] = !1)); + }), + (Kv = function (t) { + return new ((function (e) { + function i() { + return (null !== e && e.apply(this, arguments)) || this; + } + return ( + n(i, e), + (i.prototype.getCoordinateSystems = function () { + return t._coordSysMgr.getCoordinateSystems(); + }), + (i.prototype.getComponentByElement = function (e) { + for (; e; ) { + var n = e.__ecComponentInfo; + if (null != n) return t._model.getComponent(n.mainType, n.index); + e = e.parent; + } + }), + (i.prototype.enterEmphasis = function (e, n) { + Ol(e, n), Jv(t); + }), + (i.prototype.leaveEmphasis = function (e, n) { + Rl(e, n), Jv(t); + }), + (i.prototype.enterBlur = function (e) { + Nl(e), Jv(t); + }), + (i.prototype.leaveBlur = function (e) { + El(e), Jv(t); + }), + (i.prototype.enterSelect = function (e) { + zl(e), Jv(t); + }), + (i.prototype.leaveSelect = function (e) { + Vl(e), Jv(t); + }), + (i.prototype.getModel = function () { + return t.getModel(); + }), + (i.prototype.getViewOfComponentModel = function (e) { + return t.getViewOfComponentModel(e); + }), + (i.prototype.getViewOfSeriesModel = function (e) { + return t.getViewOfSeriesModel(e); + }), + i + ); + })(_d))(t); + }), + ($v = function (t) { + function e(t, e) { + for (var n = 0; n < t.length; n++) { + t[n][Pv] = e; + } + } + E(sm, function (n, i) { + t._messageCenter.on(i, function (n) { + if (fm[t.group] && 0 !== t[Pv]) { + if (n && n.escapeConnect) return; + var i = t.makeActionFromEvent(n), + r = []; + E(dm, function (e) { + e !== t && e.group === t.group && r.push(e); + }), + e(r, 0), + E(r, function (t) { + 1 !== t[Pv] && t.dispatchAction(i); + }), + e(r, 2); + } + }); + }); + }); + })()), + e + ); + })(jt), + im = nm.prototype; + (im.on = Ov("on")), + (im.off = Ov("off")), + (im.one = function (t, e, n) { + var i = this; + bo(), + this.on.call( + this, + t, + function n() { + for (var r = [], o = 0; o < arguments.length; o++) r[o] = arguments[o]; + e && e.apply && e.apply(this, r), i.off(t, n); + }, + n + ); + }); + var rm = ["click", "dblclick", "mouseover", "mouseout", "mousemove", "mousedown", "mouseup", "globalout", "contextmenu"]; + function om(t) { + 0; + } + var am = {}, + sm = {}, + lm = [], + um = [], + hm = [], + cm = {}, + pm = {}, + dm = {}, + fm = {}, + gm = +new Date() - 0, + ym = +new Date() - 0, + vm = "_echarts_instance_"; + function mm(t) { + fm[t] = !1; + } + var xm = mm; + function _m(t) { + return dm[ + (function (t, e) { + return t.getAttribute ? t.getAttribute(e) : t[e]; + })(t, vm) + ]; + } + function bm(t, e) { + cm[t] = e; + } + function wm(t) { + P(um, t) < 0 && um.push(t); + } + function Sm(t, e) { + Pm(lm, t, e, 2e3); + } + function Mm(t) { + Tm("afterinit", t); + } + function Im(t) { + Tm("afterupdate", t); + } + function Tm(t, e) { + wv.on(t, e); + } + function Cm(t, e, n) { + X(e) && ((n = e), (e = "")); + var i = q(t) ? t.type : [t, (t = { event: e })][0]; + (t.event = (t.event || i).toLowerCase()), (e = t.event), sm[e] || (lt(Lv.test(i) && Lv.test(e)), am[i] || (am[i] = { action: n, actionInfo: t }), (sm[e] = i)); + } + function Dm(t, e) { + wd.register(t, e); + } + function Am(t, e) { + Pm(hm, t, e, 1e3, "layout"); + } + function km(t, e) { + Pm(hm, t, e, 3e3, "visual"); + } + var Lm = []; + function Pm(t, e, n, i, r) { + if (((X(e) || q(e)) && ((n = e), (e = i)), !(P(Lm, n) >= 0))) { + Lm.push(n); + var o = ey.wrapStageHandler(n, r); + (o.__prio = e), (o.__raw = n), t.push(o); + } + } + function Om(t, e) { + pm[t] = e; + } + function Rm(t, e, n) { + var i = Mv("registerMap"); + i && i(t, e, n); + } + var Nm = function (t) { + var e = (t = T(t)).type, + n = ""; + e || wo(n); + var i = e.split(":"); + 2 !== i.length && wo(n); + var r = !1; + "echarts" === i[0] && ((e = i[1]), (r = !0)), (t.__isBuiltIn = r), Vf.set(e, t); + }; + km(Iv, Kg), + km(Tv, Jg), + km(Tv, Qg), + km(Iv, Ty), + km(Tv, Cy), + km(7e3, function (t, e) { + t.eachRawSeries(function (n) { + if (!t.isSeriesFiltered(n)) { + var i = n.getData(); + i.hasItemVisual() && + i.each(function (t) { + var n = i.getItemVisual(t, "decal"); + n && (i.ensureUniqueItemVisual(t, "style").decal = mv(n, e)); + }); + var r = i.getVisual("decal"); + if (r) i.getVisual("style").decal = mv(r, e); + } + }); + }), + wm(Xd), + Sm(900, function (t) { + var e = yt(); + t.eachSeries(function (t) { + var n = t.get("stack"); + if (n) { + var i = e.get(n) || e.set(n, []), + r = t.getData(), + o = { + stackResultDimension: r.getCalculationInfo("stackResultDimension"), + stackedOverDimension: r.getCalculationInfo("stackedOverDimension"), + stackedDimension: r.getCalculationInfo("stackedDimension"), + stackedByDimension: r.getCalculationInfo("stackedByDimension"), + isStackedByIndex: r.getCalculationInfo("isStackedByIndex"), + data: r, + seriesModel: t, + }; + if (!o.stackedDimension || (!o.isStackedByIndex && !o.stackedByDimension)) return; + i.length && r.setCalculationInfo("stackedOnSeries", i[i.length - 1].seriesModel), i.push(o); + } + }), + e.each(Ud); + }), + Om("default", function (t, e) { + k((e = e || {}), { + text: "loading", + textColor: "#000", + fontSize: 12, + fontWeight: "normal", + fontStyle: "normal", + fontFamily: "sans-serif", + maskColor: "rgba(255, 255, 255, 0.8)", + showSpinner: !0, + color: "#5470c6", + spinnerRadius: 10, + lineWidth: 5, + zlevel: 0, + }); + var n = new Br(), + i = new Ws({ style: { fill: e.maskColor }, zlevel: e.zlevel, z: 1e4 }); + n.add(i); + var r, + o = new Xs({ style: { text: e.text, fill: e.textColor, fontSize: e.fontSize, fontWeight: e.fontWeight, fontStyle: e.fontStyle, fontFamily: e.fontFamily }, zlevel: e.zlevel, z: 10001 }), + a = new Ws({ style: { fill: "none" }, textContent: o, textConfig: { position: "right", distance: 10 }, zlevel: e.zlevel, z: 10001 }); + return ( + n.add(a), + e.showSpinner && + ((r = new nh({ shape: { startAngle: -ty / 2, endAngle: -ty / 2 + 0.1, r: e.spinnerRadius }, style: { stroke: e.color, lineCap: "round", lineWidth: e.lineWidth }, zlevel: e.zlevel, z: 10001 })) + .animateShape(!0) + .when(1e3, { endAngle: (3 * ty) / 2 }) + .start("circularInOut"), + r + .animateShape(!0) + .when(1e3, { startAngle: (3 * ty) / 2 }) + .delay(300) + .start("circularInOut"), + n.add(r)), + (n.resize = function () { + var n = o.getBoundingRect().width, + s = e.showSpinner ? e.spinnerRadius : 0, + l = (t.getWidth() - 2 * s - (e.showSpinner && n ? 10 : 0) - n) / 2 - (e.showSpinner && n ? 0 : 5 + n / 2) + (e.showSpinner ? 0 : n / 2) + (n ? 0 : s), + u = t.getHeight() / 2; + e.showSpinner && r.setShape({ cx: l, cy: u }), a.setShape({ x: l - s, y: u - s, width: 2 * s, height: 2 * s }), i.setShape({ x: 0, y: 0, width: t.getWidth(), height: t.getHeight() }); + }), + n.resize(), + n + ); + }), + Cm({ type: dl, event: dl, update: dl }, bt), + Cm({ type: fl, event: fl, update: fl }, bt), + Cm({ type: gl, event: gl, update: gl }, bt), + Cm({ type: yl, event: yl, update: yl }, bt), + Cm({ type: vl, event: vl, update: vl }, bt), + bm("light", vy), + bm("dark", wy); + var Em = [], + zm = { + registerPreprocessor: wm, + registerProcessor: Sm, + registerPostInit: Mm, + registerPostUpdate: Im, + registerUpdateLifecycle: Tm, + registerAction: Cm, + registerCoordinateSystem: Dm, + registerLayout: Am, + registerVisual: km, + registerTransform: Nm, + registerLoading: Om, + registerMap: Rm, + registerImpl: function (t, e) { + Sv[t] = e; + }, + PRIORITY: Cv, + ComponentModel: zp, + ComponentView: Ag, + SeriesModel: bg, + ChartView: Og, + registerComponentModel: function (t) { + zp.registerClass(t); + }, + registerComponentView: function (t) { + Ag.registerClass(t); + }, + registerSeriesModel: function (t) { + bg.registerClass(t); + }, + registerChartView: function (t) { + Og.registerClass(t); + }, + registerSubTypeDefaulter: function (t, e) { + zp.registerSubTypeDefaulter(t, e); + }, + registerPainter: function (t, e) { + Xr(t, e); + }, + }; + function Vm(t) { + Y(t) + ? E(t, function (t) { + Vm(t); + }) + : P(Em, t) >= 0 || (Em.push(t), X(t) && (t = { install: t }), t.install(zm)); + } + function Bm(t) { + return null == t ? 0 : t.length || 1; + } + function Fm(t) { + return t; + } + var Gm = (function () { + function t(t, e, n, i, r, o) { + (this._old = t), (this._new = e), (this._oldKeyGetter = n || Fm), (this._newKeyGetter = i || Fm), (this.context = r), (this._diffModeMultiple = "multiple" === o); + } + return ( + (t.prototype.add = function (t) { + return (this._add = t), this; + }), + (t.prototype.update = function (t) { + return (this._update = t), this; + }), + (t.prototype.updateManyToOne = function (t) { + return (this._updateManyToOne = t), this; + }), + (t.prototype.updateOneToMany = function (t) { + return (this._updateOneToMany = t), this; + }), + (t.prototype.updateManyToMany = function (t) { + return (this._updateManyToMany = t), this; + }), + (t.prototype.remove = function (t) { + return (this._remove = t), this; + }), + (t.prototype.execute = function () { + this[this._diffModeMultiple ? "_executeMultiple" : "_executeOneToOne"](); + }), + (t.prototype._executeOneToOne = function () { + var t = this._old, + e = this._new, + n = {}, + i = new Array(t.length), + r = new Array(e.length); + this._initIndexMap(t, null, i, "_oldKeyGetter"), this._initIndexMap(e, n, r, "_newKeyGetter"); + for (var o = 0; o < t.length; o++) { + var a = i[o], + s = n[a], + l = Bm(s); + if (l > 1) { + var u = s.shift(); + 1 === s.length && (n[a] = s[0]), this._update && this._update(u, o); + } else 1 === l ? ((n[a] = null), this._update && this._update(s, o)) : this._remove && this._remove(o); + } + this._performRestAdd(r, n); + }), + (t.prototype._executeMultiple = function () { + var t = this._old, + e = this._new, + n = {}, + i = {}, + r = [], + o = []; + this._initIndexMap(t, n, r, "_oldKeyGetter"), this._initIndexMap(e, i, o, "_newKeyGetter"); + for (var a = 0; a < r.length; a++) { + var s = r[a], + l = n[s], + u = i[s], + h = Bm(l), + c = Bm(u); + if (h > 1 && 1 === c) this._updateManyToOne && this._updateManyToOne(u, l), (i[s] = null); + else if (1 === h && c > 1) this._updateOneToMany && this._updateOneToMany(u, l), (i[s] = null); + else if (1 === h && 1 === c) this._update && this._update(u, l), (i[s] = null); + else if (h > 1 && c > 1) this._updateManyToMany && this._updateManyToMany(u, l), (i[s] = null); + else if (h > 1) for (var p = 0; p < h; p++) this._remove && this._remove(l[p]); + else this._remove && this._remove(l); + } + this._performRestAdd(o, i); + }), + (t.prototype._performRestAdd = function (t, e) { + for (var n = 0; n < t.length; n++) { + var i = t[n], + r = e[i], + o = Bm(r); + if (o > 1) for (var a = 0; a < o; a++) this._add && this._add(r[a]); + else 1 === o && this._add && this._add(r); + e[i] = null; + } + }), + (t.prototype._initIndexMap = function (t, e, n, i) { + for (var r = this._diffModeMultiple, o = 0; o < t.length; o++) { + var a = "_ec_" + this[i](t[o], o); + if ((r || (n[o] = a), e)) { + var s = e[a], + l = Bm(s); + 0 === l ? ((e[a] = o), r && n.push(a)) : 1 === l ? (e[a] = [s, o]) : s.push(o); + } + } + }), + t + ); + })(), + Wm = (function () { + function t(t, e) { + (this._encode = t), (this._schema = e); + } + return ( + (t.prototype.get = function () { + return { fullDimensions: this._getFullDimensionNames(), encode: this._encode }; + }), + (t.prototype._getFullDimensionNames = function () { + return this._cachedDimNames || (this._cachedDimNames = this._schema ? this._schema.makeOutputDimensionNames() : []), this._cachedDimNames; + }), + t + ); + })(); + function Hm(t, e) { + return t.hasOwnProperty(e) || (t[e] = []), t[e]; + } + function Ym(t) { + return "category" === t ? "ordinal" : "time" === t ? "time" : "float"; + } + var Xm = function (t) { + (this.otherDims = {}), null != t && A(this, t); + }, + Um = Vo(), + Zm = { float: "f", int: "i", ordinal: "o", number: "n", time: "t" }, + jm = (function () { + function t(t) { + (this.dimensions = t.dimensions), (this._dimOmitted = t.dimensionOmitted), (this.source = t.source), (this._fullDimCount = t.fullDimensionCount), this._updateDimOmitted(t.dimensionOmitted); + } + return ( + (t.prototype.isDimensionOmitted = function () { + return this._dimOmitted; + }), + (t.prototype._updateDimOmitted = function (t) { + (this._dimOmitted = t), t && (this._dimNameMap || (this._dimNameMap = $m(this.source))); + }), + (t.prototype.getSourceDimensionIndex = function (t) { + return rt(this._dimNameMap.get(t), -1); + }), + (t.prototype.getSourceDimension = function (t) { + var e = this.source.dimensionsDefine; + if (e) return e[t]; + }), + (t.prototype.makeStoreSchema = function () { + for (var t = this._fullDimCount, e = af(this.source), n = !Jm(t), i = "", r = [], o = 0, a = 0; o < t; o++) { + var s = void 0, + l = void 0, + u = void 0, + h = this.dimensions[a]; + if (h && h.storeDimIndex === o) (s = e ? h.name : null), (l = h.type), (u = h.ordinalMeta), a++; + else { + var c = this.getSourceDimension(o); + c && ((s = e ? c.name : null), (l = c.type)); + } + r.push({ property: s, type: l, ordinalMeta: u }), !e || null == s || (h && h.isCalculationCoord) || (i += n ? s.replace(/\`/g, "`1").replace(/\$/g, "`2") : s), (i += "$"), (i += Zm[l] || "f"), u && (i += u.uid), (i += "$"); + } + var p = this.source; + return { dimensions: r, hash: [p.seriesLayoutBy, p.startIndex, i].join("$$") }; + }), + (t.prototype.makeOutputDimensionNames = function () { + for (var t = [], e = 0, n = 0; e < this._fullDimCount; e++) { + var i = void 0, + r = this.dimensions[n]; + if (r && r.storeDimIndex === e) r.isCalculationCoord || (i = r.name), n++; + else { + var o = this.getSourceDimension(e); + o && (i = o.name); + } + t.push(i); + } + return t; + }), + (t.prototype.appendCalculationDimension = function (t) { + this.dimensions.push(t), (t.isCalculationCoord = !0), this._fullDimCount++, this._updateDimOmitted(!0); + }), + t + ); + })(); + function qm(t) { + return t instanceof jm; + } + function Km(t) { + for (var e = yt(), n = 0; n < (t || []).length; n++) { + var i = t[n], + r = q(i) ? i.name : i; + null != r && null == e.get(r) && e.set(r, n); + } + return e; + } + function $m(t) { + var e = Um(t); + return e.dimNameMap || (e.dimNameMap = Km(t.dimensionsDefine)); + } + function Jm(t) { + return t > 30; + } + var Qm, + tx, + ex, + nx, + ix, + rx, + ox, + ax = q, + sx = z, + lx = "undefined" == typeof Int32Array ? Array : Int32Array, + ux = ["hasItemOption", "_nameList", "_idList", "_invertedIndicesMap", "_dimSummary", "userOutput", "_rawData", "_dimValueGetter", "_nameDimIdx", "_idDimIdx", "_nameRepeatCount"], + hx = ["_approximateExtent"], + cx = (function () { + function t(t, e) { + var n; + (this.type = "list"), + (this._dimOmitted = !1), + (this._nameList = []), + (this._idList = []), + (this._visual = {}), + (this._layout = {}), + (this._itemVisuals = []), + (this._itemLayouts = []), + (this._graphicEls = []), + (this._approximateExtent = {}), + (this._calculationInfo = {}), + (this.hasItemOption = !1), + (this.TRANSFERABLE_METHODS = ["cloneShallow", "downSample", "lttbDownSample", "map"]), + (this.CHANGABLE_METHODS = ["filterSelf", "selectRange"]), + (this.DOWNSAMPLE_METHODS = ["downSample", "lttbDownSample"]); + var i = !1; + qm(t) ? ((n = t.dimensions), (this._dimOmitted = t.isDimensionOmitted()), (this._schema = t)) : ((i = !0), (n = t)), (n = n || ["x", "y"]); + for (var r = {}, o = [], a = {}, s = !1, l = {}, u = 0; u < n.length; u++) { + var h = n[u], + c = U(h) ? new Xm({ name: h }) : h instanceof Xm ? h : new Xm(h), + p = c.name; + (c.type = c.type || "float"), c.coordDim || ((c.coordDim = p), (c.coordDimIndex = 0)); + var d = (c.otherDims = c.otherDims || {}); + o.push(p), (r[p] = c), null != l[p] && (s = !0), c.createInvertedIndices && (a[p] = []), 0 === d.itemName && (this._nameDimIdx = u), 0 === d.itemId && (this._idDimIdx = u), i && (c.storeDimIndex = u); + } + if (((this.dimensions = o), (this._dimInfos = r), this._initGetDimensionInfo(s), (this.hostModel = e), (this._invertedIndicesMap = a), this._dimOmitted)) { + var f = (this._dimIdxToName = yt()); + E(o, function (t) { + f.set(r[t].storeDimIndex, t); + }); + } + } + return ( + (t.prototype.getDimension = function (t) { + var e = this._recognizeDimIndex(t); + if (null == e) return t; + if (((e = t), !this._dimOmitted)) return this.dimensions[e]; + var n = this._dimIdxToName.get(e); + if (null != n) return n; + var i = this._schema.getSourceDimension(e); + return i ? i.name : void 0; + }), + (t.prototype.getDimensionIndex = function (t) { + var e = this._recognizeDimIndex(t); + if (null != e) return e; + if (null == t) return -1; + var n = this._getDimInfo(t); + return n ? n.storeDimIndex : this._dimOmitted ? this._schema.getSourceDimensionIndex(t) : -1; + }), + (t.prototype._recognizeDimIndex = function (t) { + if (j(t) || (null != t && !isNaN(t) && !this._getDimInfo(t) && (!this._dimOmitted || this._schema.getSourceDimensionIndex(t) < 0))) return +t; + }), + (t.prototype._getStoreDimIndex = function (t) { + var e = this.getDimensionIndex(t); + return e; + }), + (t.prototype.getDimensionInfo = function (t) { + return this._getDimInfo(this.getDimension(t)); + }), + (t.prototype._initGetDimensionInfo = function (t) { + var e = this._dimInfos; + this._getDimInfo = t + ? function (t) { + return e.hasOwnProperty(t) ? e[t] : void 0; + } + : function (t) { + return e[t]; + }; + }), + (t.prototype.getDimensionsOnCoord = function () { + return this._dimSummary.dataDimsOnCoord.slice(); + }), + (t.prototype.mapDimension = function (t, e) { + var n = this._dimSummary; + if (null == e) return n.encodeFirstDimNotExtra[t]; + var i = n.encode[t]; + return i ? i[e] : null; + }), + (t.prototype.mapDimensionsAll = function (t) { + return (this._dimSummary.encode[t] || []).slice(); + }), + (t.prototype.getStore = function () { + return this._store; + }), + (t.prototype.initData = function (t, e, n) { + var i, + r = this; + if ((t instanceof Kf && (i = t), !i)) { + var o = this.dimensions, + a = Qd(t) || N(t) ? new sf(t, o.length) : t; + i = new Kf(); + var s = sx(o, function (t) { + return { type: r._dimInfos[t].type, property: t }; + }); + i.initData(a, s, n); + } + (this._store = i), + (this._nameList = (e || []).slice()), + (this._idList = []), + (this._nameRepeatCount = {}), + this._doInit(0, i.count()), + (this._dimSummary = (function (t, e) { + var n = {}, + i = (n.encode = {}), + r = yt(), + o = [], + a = [], + s = {}; + E(t.dimensions, function (e) { + var n, + l = t.getDimensionInfo(e), + u = l.coordDim; + if (u) { + var h = l.coordDimIndex; + (Hm(i, u)[h] = e), l.isExtraCoord || (r.set(u, 1), "ordinal" !== (n = l.type) && "time" !== n && (o[0] = e), (Hm(s, u)[h] = t.getDimensionIndex(l.name))), l.defaultTooltip && a.push(e); + } + Gp.each(function (t, e) { + var n = Hm(i, e), + r = l.otherDims[e]; + null != r && !1 !== r && (n[r] = l.name); + }); + }); + var l = [], + u = {}; + r.each(function (t, e) { + var n = i[e]; + (u[e] = n[0]), (l = l.concat(n)); + }), + (n.dataDimsOnCoord = l), + (n.dataDimIndicesOnCoord = z(l, function (e) { + return t.getDimensionInfo(e).storeDimIndex; + })), + (n.encodeFirstDimNotExtra = u); + var h = i.label; + h && h.length && (o = h.slice()); + var c = i.tooltip; + return c && c.length ? (a = c.slice()) : a.length || (a = o.slice()), (i.defaultedLabel = o), (i.defaultedTooltip = a), (n.userOutput = new Wm(s, e)), n; + })(this, this._schema)), + (this.userOutput = this._dimSummary.userOutput); + }), + (t.prototype.appendData = function (t) { + var e = this._store.appendData(t); + this._doInit(e[0], e[1]); + }), + (t.prototype.appendValues = function (t, e) { + var n = this._store.appendValues(t, e.length), + i = n.start, + r = n.end, + o = this._shouldMakeIdFromName(); + if ((this._updateOrdinalMeta(), e)) + for (var a = i; a < r; a++) { + var s = a - i; + (this._nameList[a] = e[s]), o && ox(this, a); + } + }), + (t.prototype._updateOrdinalMeta = function () { + for (var t = this._store, e = this.dimensions, n = 0; n < e.length; n++) { + var i = this._dimInfos[e[n]]; + i.ordinalMeta && t.collectOrdinalMeta(i.storeDimIndex, i.ordinalMeta); + } + }), + (t.prototype._shouldMakeIdFromName = function () { + var t = this._store.getProvider(); + return null == this._idDimIdx && t.getSource().sourceFormat !== Up && !t.fillStorage; + }), + (t.prototype._doInit = function (t, e) { + if (!(t >= e)) { + var n = this._store.getProvider(); + this._updateOrdinalMeta(); + var i = this._nameList, + r = this._idList; + if (n.getSource().sourceFormat === Wp && !n.pure) + for (var o = [], a = t; a < e; a++) { + var s = n.getItem(a, o); + if ((!this.hasItemOption && ko(s) && (this.hasItemOption = !0), s)) { + var l = s.name; + null == i[a] && null != l && (i[a] = Ro(l, null)); + var u = s.id; + null == r[a] && null != u && (r[a] = Ro(u, null)); + } + } + if (this._shouldMakeIdFromName()) for (a = t; a < e; a++) ox(this, a); + Qm(this); + } + }), + (t.prototype.getApproximateExtent = function (t) { + return this._approximateExtent[t] || this._store.getDataExtent(this._getStoreDimIndex(t)); + }), + (t.prototype.setApproximateExtent = function (t, e) { + (e = this.getDimension(e)), (this._approximateExtent[e] = t.slice()); + }), + (t.prototype.getCalculationInfo = function (t) { + return this._calculationInfo[t]; + }), + (t.prototype.setCalculationInfo = function (t, e) { + ax(t) ? A(this._calculationInfo, t) : (this._calculationInfo[t] = e); + }), + (t.prototype.getName = function (t) { + var e = this.getRawIndex(t), + n = this._nameList[e]; + return null == n && null != this._nameDimIdx && (n = ex(this, this._nameDimIdx, e)), null == n && (n = ""), n; + }), + (t.prototype._getCategory = function (t, e) { + var n = this._store.get(t, e), + i = this._store.getOrdinalMeta(t); + return i ? i.categories[n] : n; + }), + (t.prototype.getId = function (t) { + return tx(this, this.getRawIndex(t)); + }), + (t.prototype.count = function () { + return this._store.count(); + }), + (t.prototype.get = function (t, e) { + var n = this._store, + i = this._dimInfos[t]; + if (i) return n.get(i.storeDimIndex, e); + }), + (t.prototype.getByRawIndex = function (t, e) { + var n = this._store, + i = this._dimInfos[t]; + if (i) return n.getByRawIndex(i.storeDimIndex, e); + }), + (t.prototype.getIndices = function () { + return this._store.getIndices(); + }), + (t.prototype.getDataExtent = function (t) { + return this._store.getDataExtent(this._getStoreDimIndex(t)); + }), + (t.prototype.getSum = function (t) { + return this._store.getSum(this._getStoreDimIndex(t)); + }), + (t.prototype.getMedian = function (t) { + return this._store.getMedian(this._getStoreDimIndex(t)); + }), + (t.prototype.getValues = function (t, e) { + var n = this, + i = this._store; + return Y(t) + ? i.getValues( + sx(t, function (t) { + return n._getStoreDimIndex(t); + }), + e + ) + : i.getValues(t); + }), + (t.prototype.hasValue = function (t) { + for (var e = this._dimSummary.dataDimIndicesOnCoord, n = 0, i = e.length; n < i; n++) if (isNaN(this._store.get(e[n], t))) return !1; + return !0; + }), + (t.prototype.indexOfName = function (t) { + for (var e = 0, n = this._store.count(); e < n; e++) if (this.getName(e) === t) return e; + return -1; + }), + (t.prototype.getRawIndex = function (t) { + return this._store.getRawIndex(t); + }), + (t.prototype.indexOfRawIndex = function (t) { + return this._store.indexOfRawIndex(t); + }), + (t.prototype.rawIndexOf = function (t, e) { + var n = t && this._invertedIndicesMap[t]; + var i = n[e]; + return null == i || isNaN(i) ? -1 : i; + }), + (t.prototype.indicesOfNearest = function (t, e, n) { + return this._store.indicesOfNearest(this._getStoreDimIndex(t), e, n); + }), + (t.prototype.each = function (t, e, n) { + X(t) && ((n = e), (e = t), (t = [])); + var i = n || this, + r = sx(nx(t), this._getStoreDimIndex, this); + this._store.each(r, i ? W(e, i) : e); + }), + (t.prototype.filterSelf = function (t, e, n) { + X(t) && ((n = e), (e = t), (t = [])); + var i = n || this, + r = sx(nx(t), this._getStoreDimIndex, this); + return (this._store = this._store.filter(r, i ? W(e, i) : e)), this; + }), + (t.prototype.selectRange = function (t) { + var e = this, + n = {}; + return ( + E(G(t), function (i) { + var r = e._getStoreDimIndex(i); + n[r] = t[i]; + }), + (this._store = this._store.selectRange(n)), + this + ); + }), + (t.prototype.mapArray = function (t, e, n) { + X(t) && ((n = e), (e = t), (t = [])), (n = n || this); + var i = []; + return ( + this.each( + t, + function () { + i.push(e && e.apply(this, arguments)); + }, + n + ), + i + ); + }), + (t.prototype.map = function (t, e, n, i) { + var r = n || i || this, + o = sx(nx(t), this._getStoreDimIndex, this), + a = rx(this); + return (a._store = this._store.map(o, r ? W(e, r) : e)), a; + }), + (t.prototype.modify = function (t, e, n, i) { + var r = n || i || this; + var o = sx(nx(t), this._getStoreDimIndex, this); + this._store.modify(o, r ? W(e, r) : e); + }), + (t.prototype.downSample = function (t, e, n, i) { + var r = rx(this); + return (r._store = this._store.downSample(this._getStoreDimIndex(t), e, n, i)), r; + }), + (t.prototype.lttbDownSample = function (t, e) { + var n = rx(this); + return (n._store = this._store.lttbDownSample(this._getStoreDimIndex(t), e)), n; + }), + (t.prototype.getRawDataItem = function (t) { + return this._store.getRawDataItem(t); + }), + (t.prototype.getItemModel = function (t) { + var e = this.hostModel, + n = this.getRawDataItem(t); + return new Cc(n, e, e && e.ecModel); + }), + (t.prototype.diff = function (t) { + var e = this; + return new Gm( + t ? t.getStore().getIndices() : [], + this.getStore().getIndices(), + function (e) { + return tx(t, e); + }, + function (t) { + return tx(e, t); + } + ); + }), + (t.prototype.getVisual = function (t) { + var e = this._visual; + return e && e[t]; + }), + (t.prototype.setVisual = function (t, e) { + (this._visual = this._visual || {}), ax(t) ? A(this._visual, t) : (this._visual[t] = e); + }), + (t.prototype.getItemVisual = function (t, e) { + var n = this._itemVisuals[t], + i = n && n[e]; + return null == i ? this.getVisual(e) : i; + }), + (t.prototype.hasItemVisual = function () { + return this._itemVisuals.length > 0; + }), + (t.prototype.ensureUniqueItemVisual = function (t, e) { + var n = this._itemVisuals, + i = n[t]; + i || (i = n[t] = {}); + var r = i[e]; + return null == r && (Y((r = this.getVisual(e))) ? (r = r.slice()) : ax(r) && (r = A({}, r)), (i[e] = r)), r; + }), + (t.prototype.setItemVisual = function (t, e, n) { + var i = this._itemVisuals[t] || {}; + (this._itemVisuals[t] = i), ax(e) ? A(i, e) : (i[e] = n); + }), + (t.prototype.clearAllVisual = function () { + (this._visual = {}), (this._itemVisuals = []); + }), + (t.prototype.setLayout = function (t, e) { + ax(t) ? A(this._layout, t) : (this._layout[t] = e); + }), + (t.prototype.getLayout = function (t) { + return this._layout[t]; + }), + (t.prototype.getItemLayout = function (t) { + return this._itemLayouts[t]; + }), + (t.prototype.setItemLayout = function (t, e, n) { + this._itemLayouts[t] = n ? A(this._itemLayouts[t] || {}, e) : e; + }), + (t.prototype.clearItemLayouts = function () { + this._itemLayouts.length = 0; + }), + (t.prototype.setItemGraphicEl = function (t, e) { + var n = this.hostModel && this.hostModel.seriesIndex; + ol(n, this.dataType, t, e), (this._graphicEls[t] = e); + }), + (t.prototype.getItemGraphicEl = function (t) { + return this._graphicEls[t]; + }), + (t.prototype.eachItemGraphicEl = function (t, e) { + E(this._graphicEls, function (n, i) { + n && t && t.call(e, n, i); + }); + }), + (t.prototype.cloneShallow = function (e) { + return e || (e = new t(this._schema ? this._schema : sx(this.dimensions, this._getDimInfo, this), this.hostModel)), ix(e, this), (e._store = this._store), e; + }), + (t.prototype.wrapMethod = function (t, e) { + var n = this[t]; + X(n) && + ((this.__wrappedMethods = this.__wrappedMethods || []), + this.__wrappedMethods.push(t), + (this[t] = function () { + var t = n.apply(this, arguments); + return e.apply(this, [t].concat(at(arguments))); + })); + }), + (t.internalField = + ((Qm = function (t) { + var e = t._invertedIndicesMap; + E(e, function (n, i) { + var r = t._dimInfos[i], + o = r.ordinalMeta, + a = t._store; + if (o) { + n = e[i] = new lx(o.categories.length); + for (var s = 0; s < n.length; s++) n[s] = -1; + for (s = 0; s < a.count(); s++) n[a.get(r.storeDimIndex, s)] = s; + } + }); + }), + (ex = function (t, e, n) { + return Ro(t._getCategory(e, n), null); + }), + (tx = function (t, e) { + var n = t._idList[e]; + return null == n && null != t._idDimIdx && (n = ex(t, t._idDimIdx, e)), null == n && (n = "e\0\0" + e), n; + }), + (nx = function (t) { + return Y(t) || (t = null != t ? [t] : []), t; + }), + (rx = function (e) { + var n = new t(e._schema ? e._schema : sx(e.dimensions, e._getDimInfo, e), e.hostModel); + return ix(n, e), n; + }), + (ix = function (t, e) { + E(ux.concat(e.__wrappedMethods || []), function (n) { + e.hasOwnProperty(n) && (t[n] = e[n]); + }), + (t.__wrappedMethods = e.__wrappedMethods), + E(hx, function (n) { + t[n] = T(e[n]); + }), + (t._calculationInfo = A({}, e._calculationInfo)); + }), + void (ox = function (t, e) { + var n = t._nameList, + i = t._idList, + r = t._nameDimIdx, + o = t._idDimIdx, + a = n[e], + s = i[e]; + if ((null == a && null != r && (n[e] = a = ex(t, r, e)), null == s && null != o && (i[e] = s = ex(t, o, e)), null == s && null != a)) { + var l = t._nameRepeatCount, + u = (l[a] = (l[a] || 0) + 1); + (s = a), u > 1 && (s += "__ec__" + u), (i[e] = s); + } + }))), + t + ); + })(); + function px(t, e) { + Qd(t) || (t = ef(t)); + var n = (e = e || {}).coordDimensions || [], + i = e.dimensionsDefine || t.dimensionsDefine || [], + r = yt(), + o = [], + a = (function (t, e, n, i) { + var r = Math.max(t.dimensionsDetectedCount || 1, e.length, n.length, i || 0); + return ( + E(e, function (t) { + var e; + q(t) && (e = t.dimsDef) && (r = Math.max(r, e.length)); + }), + r + ); + })(t, n, i, e.dimensionsCount), + s = e.canOmitUnusedDimensions && Jm(a), + l = i === t.dimensionsDefine, + u = l ? $m(t) : Km(i), + h = e.encodeDefine; + !h && e.encodeDefaulter && (h = e.encodeDefaulter(t, a)); + for (var c = yt(h), p = new Xf(a), d = 0; d < p.length; d++) p[d] = -1; + function f(t) { + var e = p[t]; + if (e < 0) { + var n = i[t], + r = q(n) ? n : { name: n }, + a = new Xm(), + s = r.name; + null != s && null != u.get(s) && (a.name = a.displayName = s), null != r.type && (a.type = r.type), null != r.displayName && (a.displayName = r.displayName); + var l = o.length; + return (p[t] = l), (a.storeDimIndex = t), o.push(a), a; + } + return o[e]; + } + if (!s) for (d = 0; d < a; d++) f(d); + c.each(function (t, e) { + var n = To(t).slice(); + if (1 === n.length && !U(n[0]) && n[0] < 0) c.set(e, !1); + else { + var i = c.set(e, []); + E(n, function (t, n) { + var r = U(t) ? u.get(t) : t; + null != r && r < a && ((i[n] = r), y(f(r), e, n)); + }); + } + }); + var g = 0; + function y(t, e, n) { + null != Gp.get(e) ? (t.otherDims[e] = n) : ((t.coordDim = e), (t.coordDimIndex = n), r.set(e, !0)); + } + E(n, function (t) { + var e, n, i, r; + if (U(t)) (e = t), (r = {}); + else { + e = (r = t).name; + var o = r.ordinalMeta; + (r.ordinalMeta = null), ((r = A({}, r)).ordinalMeta = o), (n = r.dimsDef), (i = r.otherDims), (r.name = r.coordDim = r.coordDimIndex = r.dimsDef = r.otherDims = null); + } + var s = c.get(e); + if (!1 !== s) { + if (!(s = To(s)).length) + for (var u = 0; u < ((n && n.length) || 1); u++) { + for (; g < a && null != f(g).coordDim; ) g++; + g < a && s.push(g++); + } + E(s, function (t, o) { + var a = f(t); + if ((l && null != r.type && (a.type = r.type), y(k(a, r), e, o), null == a.name && n)) { + var s = n[o]; + !q(s) && (s = { name: s }), (a.name = a.displayName = s.name), (a.defaultTooltip = s.defaultTooltip); + } + i && k(a.otherDims, i); + }); + } + }); + var v = e.generateCoord, + m = e.generateCoordCount, + x = null != m; + m = v ? m || 1 : 0; + var _ = v || "value"; + function b(t) { + null == t.name && (t.name = t.coordDim); + } + if (s) + E(o, function (t) { + b(t); + }), + o.sort(function (t, e) { + return t.storeDimIndex - e.storeDimIndex; + }); + else + for (var w = 0; w < a; w++) { + var S = f(w); + null == S.coordDim && ((S.coordDim = dx(_, r, x)), (S.coordDimIndex = 0), (!v || m <= 0) && (S.isExtraCoord = !0), m--), + b(S), + null != S.type || (id(t, w) !== Kp && (!S.isExtraCoord || (null == S.otherDims.itemName && null == S.otherDims.seriesName))) || (S.type = "ordinal"); + } + return ( + (function (t) { + for (var e = yt(), n = 0; n < t.length; n++) { + var i = t[n], + r = i.name, + o = e.get(r) || 0; + o > 0 && (i.name = r + (o - 1)), o++, e.set(r, o); + } + })(o), + new jm({ source: t, dimensions: o, fullDimensionCount: a, dimensionOmitted: s }) + ); + } + function dx(t, e, n) { + if (n || e.hasKey(t)) { + for (var i = 0; e.hasKey(t + i); ) i++; + t += i; + } + return e.set(t, !0), t; + } + var fx = function (t) { + (this.coordSysDims = []), (this.axisMap = yt()), (this.categoryAxisMap = yt()), (this.coordSysName = t); + }; + var gx = { + cartesian2d: function (t, e, n, i) { + var r = t.getReferringComponents("xAxis", Wo).models[0], + o = t.getReferringComponents("yAxis", Wo).models[0]; + (e.coordSysDims = ["x", "y"]), n.set("x", r), n.set("y", o), yx(r) && (i.set("x", r), (e.firstCategoryDimIndex = 0)), yx(o) && (i.set("y", o), null == e.firstCategoryDimIndex && (e.firstCategoryDimIndex = 1)); + }, + singleAxis: function (t, e, n, i) { + var r = t.getReferringComponents("singleAxis", Wo).models[0]; + (e.coordSysDims = ["single"]), n.set("single", r), yx(r) && (i.set("single", r), (e.firstCategoryDimIndex = 0)); + }, + polar: function (t, e, n, i) { + var r = t.getReferringComponents("polar", Wo).models[0], + o = r.findAxisModel("radiusAxis"), + a = r.findAxisModel("angleAxis"); + (e.coordSysDims = ["radius", "angle"]), + n.set("radius", o), + n.set("angle", a), + yx(o) && (i.set("radius", o), (e.firstCategoryDimIndex = 0)), + yx(a) && (i.set("angle", a), null == e.firstCategoryDimIndex && (e.firstCategoryDimIndex = 1)); + }, + geo: function (t, e, n, i) { + e.coordSysDims = ["lng", "lat"]; + }, + parallel: function (t, e, n, i) { + var r = t.ecModel, + o = r.getComponent("parallel", t.get("parallelIndex")), + a = (e.coordSysDims = o.dimensions.slice()); + E(o.parallelAxisIndex, function (t, o) { + var s = r.getComponent("parallelAxis", t), + l = a[o]; + n.set(l, s), yx(s) && (i.set(l, s), null == e.firstCategoryDimIndex && (e.firstCategoryDimIndex = o)); + }); + }, + }; + function yx(t) { + return "category" === t.get("type"); + } + function vx(t, e, n) { + var i, + r, + o, + a = (n = n || {}).byIndex, + s = n.stackedCoordDimension; + !(function (t) { + return !qm(t.schema); + })(e) + ? ((r = e.schema), (i = r.dimensions), (o = e.store)) + : (i = e); + var l, + u, + h, + c, + p = !(!t || !t.get("stack")); + if ( + (E(i, function (t, e) { + U(t) && (i[e] = t = { name: t }), p && !t.isExtraCoord && (a || l || !t.ordinalMeta || (l = t), u || "ordinal" === t.type || "time" === t.type || (s && s !== t.coordDim) || (u = t)); + }), + !u || a || l || (a = !0), + u) + ) { + (h = "__\0ecstackresult_" + t.id), (c = "__\0ecstackedover_" + t.id), l && (l.createInvertedIndices = !0); + var d = u.coordDim, + f = u.type, + g = 0; + E(i, function (t) { + t.coordDim === d && g++; + }); + var y = { name: h, coordDim: d, coordDimIndex: g, type: f, isExtraCoord: !0, isCalculationCoord: !0, storeDimIndex: i.length }, + v = { name: c, coordDim: c, coordDimIndex: g + 1, type: f, isExtraCoord: !0, isCalculationCoord: !0, storeDimIndex: i.length + 1 }; + r ? (o && ((y.storeDimIndex = o.ensureCalculationDimension(c, f)), (v.storeDimIndex = o.ensureCalculationDimension(h, f))), r.appendCalculationDimension(y), r.appendCalculationDimension(v)) : (i.push(y), i.push(v)); + } + return { stackedDimension: u && u.name, stackedByDimension: l && l.name, isStackedByIndex: a, stackedOverDimension: c, stackResultDimension: h }; + } + function mx(t, e) { + return !!e && e === t.getCalculationInfo("stackedDimension"); + } + function xx(t, e) { + return mx(t, e) ? t.getCalculationInfo("stackResultDimension") : e; + } + function _x(t, e, n) { + n = n || {}; + var i, + r = e.getSourceManager(), + o = !1; + t ? ((o = !0), (i = ef(t))) : (o = (i = r.getSource()).sourceFormat === Wp); + var a = (function (t) { + var e = t.get("coordinateSystem"), + n = new fx(e), + i = gx[e]; + if (i) return i(t, n, n.axisMap, n.categoryAxisMap), n; + })(e), + s = (function (t, e) { + var n, + i = t.get("coordinateSystem"), + r = wd.get(i); + return ( + e && + e.coordSysDims && + (n = z(e.coordSysDims, function (t) { + var n = { name: t }, + i = e.axisMap.get(t); + if (i) { + var r = i.get("type"); + n.type = Ym(r); + } + return n; + })), + n || (n = (r && (r.getDimensionsInfo ? r.getDimensionsInfo() : r.dimensions.slice())) || ["x", "y"]), + n + ); + })(e, a), + l = n.useEncodeDefaulter, + u = X(l) ? l : l ? H(td, s, e) : null, + h = px(i, { coordDimensions: s, generateCoord: n.generateCoord, encodeDefine: e.getEncode(), encodeDefaulter: u, canOmitUnusedDimensions: !o }), + c = (function (t, e, n) { + var i, r; + return ( + n && + E(t, function (t, o) { + var a = t.coordDim, + s = n.categoryAxisMap.get(a); + s && (null == i && (i = o), (t.ordinalMeta = s.getOrdinalMeta()), e && (t.createInvertedIndices = !0)), null != t.otherDims.itemName && (r = !0); + }), + r || null == i || (t[i].otherDims.itemName = 0), + i + ); + })(h.dimensions, n.createInvertedIndices, a), + p = o ? null : r.getSharedDataStore(h), + d = vx(e, { schema: h, store: p }), + f = new cx(h, e); + f.setCalculationInfo(d); + var g = + null != c && + (function (t) { + if (t.sourceFormat === Wp) { + var e = (function (t) { + var e = 0; + for (; e < t.length && null == t[e]; ) e++; + return t[e]; + })(t.data || []); + return !Y(Ao(e)); + } + })(i) + ? function (t, e, n, i) { + return i === c ? n : this.defaultDimValueGetter(t, e, n, i); + } + : null; + return (f.hasItemOption = !1), f.initData(o ? i : p, null, g), f; + } + var bx = (function () { + function t(t) { + (this._setting = t || {}), (this._extent = [1 / 0, -1 / 0]); + } + return ( + (t.prototype.getSetting = function (t) { + return this._setting[t]; + }), + (t.prototype.unionExtent = function (t) { + var e = this._extent; + t[0] < e[0] && (e[0] = t[0]), t[1] > e[1] && (e[1] = t[1]); + }), + (t.prototype.unionExtentFromData = function (t, e) { + this.unionExtent(t.getApproximateExtent(e)); + }), + (t.prototype.getExtent = function () { + return this._extent.slice(); + }), + (t.prototype.setExtent = function (t, e) { + var n = this._extent; + isNaN(t) || (n[0] = t), isNaN(e) || (n[1] = e); + }), + (t.prototype.isInExtentRange = function (t) { + return this._extent[0] <= t && this._extent[1] >= t; + }), + (t.prototype.isBlank = function () { + return this._isBlank; + }), + (t.prototype.setBlank = function (t) { + this._isBlank = t; + }), + t + ); + })(); + na(bx); + var Sx = 0, + Mx = (function () { + function t(t) { + (this.categories = t.categories || []), (this._needCollect = t.needCollect), (this._deduplication = t.deduplication), (this.uid = ++Sx); + } + return ( + (t.createByAxisModel = function (e) { + var n = e.option, + i = n.data, + r = i && z(i, Ix); + return new t({ categories: r, needCollect: !r, deduplication: !1 !== n.dedplication }); + }), + (t.prototype.getOrdinal = function (t) { + return this._getOrCreateMap().get(t); + }), + (t.prototype.parseAndCollect = function (t) { + var e, + n = this._needCollect; + if (!U(t) && !n) return t; + if (n && !this._deduplication) return (e = this.categories.length), (this.categories[e] = t), e; + var i = this._getOrCreateMap(); + return null == (e = i.get(t)) && (n ? ((e = this.categories.length), (this.categories[e] = t), i.set(t, e)) : (e = NaN)), e; + }), + (t.prototype._getOrCreateMap = function () { + return this._map || (this._map = yt(this.categories)); + }), + t + ); + })(); + function Ix(t) { + return q(t) && null != t.value ? t.value : t + ""; + } + function Tx(t) { + return "interval" === t.type || "log" === t.type; + } + function Cx(t, e, n, i) { + var r = {}, + o = t[1] - t[0], + a = (r.interval = po(o / e, !0)); + null != n && a < n && (a = r.interval = n), null != i && a > i && (a = r.interval = i); + var s = (r.intervalPrecision = Ax(a)); + return ( + (function (t, e) { + !isFinite(t[0]) && (t[0] = e[0]), !isFinite(t[1]) && (t[1] = e[1]), kx(t, 0, e), kx(t, 1, e), t[0] > t[1] && (t[0] = t[1]); + })((r.niceTickExtent = [Jr(Math.ceil(t[0] / a) * a, s), Jr(Math.floor(t[1] / a) * a, s)]), t), + r + ); + } + function Dx(t) { + var e = Math.pow(10, co(t)), + n = t / e; + return n ? (2 === n ? (n = 3) : 3 === n ? (n = 5) : (n *= 2)) : (n = 1), Jr(n * e); + } + function Ax(t) { + return to(t) + 2; + } + function kx(t, e, n) { + t[e] = Math.max(Math.min(t[e], n[1]), n[0]); + } + function Lx(t, e) { + return t >= e[0] && t <= e[1]; + } + function Px(t, e) { + return e[1] === e[0] ? 0.5 : (t - e[0]) / (e[1] - e[0]); + } + function Ox(t, e) { + return t * (e[1] - e[0]) + e[0]; + } + var Rx = (function (t) { + function e(e) { + var n = t.call(this, e) || this; + n.type = "ordinal"; + var i = n.getSetting("ordinalMeta"); + return ( + i || (i = new Mx({})), + Y(i) && + (i = new Mx({ + categories: z(i, function (t) { + return q(t) ? t.value : t; + }), + })), + (n._ordinalMeta = i), + (n._extent = n.getSetting("extent") || [0, i.categories.length - 1]), + n + ); + } + return ( + n(e, t), + (e.prototype.parse = function (t) { + return null == t ? NaN : U(t) ? this._ordinalMeta.getOrdinal(t) : Math.round(t); + }), + (e.prototype.contain = function (t) { + return Lx((t = this.parse(t)), this._extent) && null != this._ordinalMeta.categories[t]; + }), + (e.prototype.normalize = function (t) { + return Px((t = this._getTickNumber(this.parse(t))), this._extent); + }), + (e.prototype.scale = function (t) { + return (t = Math.round(Ox(t, this._extent))), this.getRawOrdinalNumber(t); + }), + (e.prototype.getTicks = function () { + for (var t = [], e = this._extent, n = e[0]; n <= e[1]; ) t.push({ value: n }), n++; + return t; + }), + (e.prototype.getMinorTicks = function (t) {}), + (e.prototype.setSortInfo = function (t) { + if (null != t) { + for (var e = t.ordinalNumbers, n = (this._ordinalNumbersByTick = []), i = (this._ticksByOrdinalNumber = []), r = 0, o = this._ordinalMeta.categories.length, a = Math.min(o, e.length); r < a; ++r) { + var s = e[r]; + (n[r] = s), (i[s] = r); + } + for (var l = 0; r < o; ++r) { + for (; null != i[l]; ) l++; + n.push(l), (i[l] = r); + } + } else this._ordinalNumbersByTick = this._ticksByOrdinalNumber = null; + }), + (e.prototype._getTickNumber = function (t) { + var e = this._ticksByOrdinalNumber; + return e && t >= 0 && t < e.length ? e[t] : t; + }), + (e.prototype.getRawOrdinalNumber = function (t) { + var e = this._ordinalNumbersByTick; + return e && t >= 0 && t < e.length ? e[t] : t; + }), + (e.prototype.getLabel = function (t) { + if (!this.isBlank()) { + var e = this.getRawOrdinalNumber(t.value), + n = this._ordinalMeta.categories[e]; + return null == n ? "" : n + ""; + } + }), + (e.prototype.count = function () { + return this._extent[1] - this._extent[0] + 1; + }), + (e.prototype.unionExtentFromData = function (t, e) { + this.unionExtent(t.getApproximateExtent(e)); + }), + (e.prototype.isInExtentRange = function (t) { + return (t = this._getTickNumber(t)), this._extent[0] <= t && this._extent[1] >= t; + }), + (e.prototype.getOrdinalMeta = function () { + return this._ordinalMeta; + }), + (e.prototype.calcNiceTicks = function () {}), + (e.prototype.calcNiceExtent = function () {}), + (e.type = "ordinal"), + e + ); + })(bx); + bx.registerClass(Rx); + var Nx = Jr, + Ex = (function (t) { + function e() { + var e = (null !== t && t.apply(this, arguments)) || this; + return (e.type = "interval"), (e._interval = 0), (e._intervalPrecision = 2), e; + } + return ( + n(e, t), + (e.prototype.parse = function (t) { + return t; + }), + (e.prototype.contain = function (t) { + return Lx(t, this._extent); + }), + (e.prototype.normalize = function (t) { + return Px(t, this._extent); + }), + (e.prototype.scale = function (t) { + return Ox(t, this._extent); + }), + (e.prototype.setExtent = function (t, e) { + var n = this._extent; + isNaN(t) || (n[0] = parseFloat(t)), isNaN(e) || (n[1] = parseFloat(e)); + }), + (e.prototype.unionExtent = function (t) { + var e = this._extent; + t[0] < e[0] && (e[0] = t[0]), t[1] > e[1] && (e[1] = t[1]), this.setExtent(e[0], e[1]); + }), + (e.prototype.getInterval = function () { + return this._interval; + }), + (e.prototype.setInterval = function (t) { + (this._interval = t), (this._niceExtent = this._extent.slice()), (this._intervalPrecision = Ax(t)); + }), + (e.prototype.getTicks = function (t) { + var e = this._interval, + n = this._extent, + i = this._niceExtent, + r = this._intervalPrecision, + o = []; + if (!e) return o; + n[0] < i[0] && (t ? o.push({ value: Nx(i[0] - e, r) }) : o.push({ value: n[0] })); + for (var a = i[0]; a <= i[1] && (o.push({ value: a }), (a = Nx(a + e, r)) !== o[o.length - 1].value); ) if (o.length > 1e4) return []; + var s = o.length ? o[o.length - 1].value : i[1]; + return n[1] > s && (t ? o.push({ value: Nx(s + e, r) }) : o.push({ value: n[1] })), o; + }), + (e.prototype.getMinorTicks = function (t) { + for (var e = this.getTicks(!0), n = [], i = this.getExtent(), r = 1; r < e.length; r++) { + for (var o = e[r], a = e[r - 1], s = 0, l = [], u = (o.value - a.value) / t; s < t - 1; ) { + var h = Nx(a.value + (s + 1) * u); + h > i[0] && h < i[1] && l.push(h), s++; + } + n.push(l); + } + return n; + }), + (e.prototype.getLabel = function (t, e) { + if (null == t) return ""; + var n = e && e.precision; + return null == n ? (n = to(t.value) || 0) : "auto" === n && (n = this._intervalPrecision), gp(Nx(t.value, n, !0)); + }), + (e.prototype.calcNiceTicks = function (t, e, n) { + t = t || 5; + var i = this._extent, + r = i[1] - i[0]; + if (isFinite(r)) { + r < 0 && ((r = -r), i.reverse()); + var o = Cx(i, t, e, n); + (this._intervalPrecision = o.intervalPrecision), (this._interval = o.interval), (this._niceExtent = o.niceTickExtent); + } + }), + (e.prototype.calcNiceExtent = function (t) { + var e = this._extent; + if (e[0] === e[1]) + if (0 !== e[0]) { + var n = Math.abs(e[0]); + t.fixMax || (e[1] += n / 2), (e[0] -= n / 2); + } else e[1] = 1; + var i = e[1] - e[0]; + isFinite(i) || ((e[0] = 0), (e[1] = 1)), this.calcNiceTicks(t.splitNumber, t.minInterval, t.maxInterval); + var r = this._interval; + t.fixMin || (e[0] = Nx(Math.floor(e[0] / r) * r)), t.fixMax || (e[1] = Nx(Math.ceil(e[1] / r) * r)); + }), + (e.prototype.setNiceExtent = function (t, e) { + this._niceExtent = [t, e]; + }), + (e.type = "interval"), + e + ); + })(bx); + bx.registerClass(Ex); + var zx = "undefined" != typeof Float32Array, + Vx = zx ? Float32Array : Array; + function Bx(t) { + return Y(t) ? (zx ? new Float32Array(t) : t) : new Vx(t); + } + var Fx = "__ec_stack_"; + function Gx(t) { + return t.get("stack") || Fx + t.seriesIndex; + } + function Wx(t) { + return t.dim + t.index; + } + function Hx(t, e) { + var n = []; + return ( + e.eachSeriesByType(t, function (t) { + jx(t) && n.push(t); + }), + n + ); + } + function Yx(t) { + var e = (function (t) { + var e = {}; + E(t, function (t) { + var n = t.coordinateSystem.getBaseAxis(); + if ("time" === n.type || "value" === n.type) + for (var i = t.getData(), r = n.dim + "_" + n.index, o = i.getDimensionIndex(i.mapDimension(n.dim)), a = i.getStore(), s = 0, l = a.count(); s < l; ++s) { + var u = a.get(o, s); + e[r] ? e[r].push(u) : (e[r] = [u]); + } + }); + var n = {}; + for (var i in e) + if (e.hasOwnProperty(i)) { + var r = e[i]; + if (r) { + r.sort(function (t, e) { + return t - e; + }); + for (var o = null, a = 1; a < r.length; ++a) { + var s = r[a] - r[a - 1]; + s > 0 && (o = null === o ? s : Math.min(o, s)); + } + n[i] = o; + } + } + return n; + })(t), + n = []; + return ( + E(t, function (t) { + var i, + r = t.coordinateSystem.getBaseAxis(), + o = r.getExtent(); + if ("category" === r.type) i = r.getBandWidth(); + else if ("value" === r.type || "time" === r.type) { + var a = r.dim + "_" + r.index, + s = e[a], + l = Math.abs(o[1] - o[0]), + u = r.scale.getExtent(), + h = Math.abs(u[1] - u[0]); + i = s ? (l / h) * s : l; + } else { + var c = t.getData(); + i = Math.abs(o[1] - o[0]) / c.count(); + } + var p = $r(t.get("barWidth"), i), + d = $r(t.get("barMaxWidth"), i), + f = $r(t.get("barMinWidth") || (qx(t) ? 0.5 : 1), i), + g = t.get("barGap"), + y = t.get("barCategoryGap"); + n.push({ bandWidth: i, barWidth: p, barMaxWidth: d, barMinWidth: f, barGap: g, barCategoryGap: y, axisKey: Wx(r), stackId: Gx(t) }); + }), + Xx(n) + ); + } + function Xx(t) { + var e = {}; + E(t, function (t, n) { + var i = t.axisKey, + r = t.bandWidth, + o = e[i] || { bandWidth: r, remainedWidth: r, autoWidthCount: 0, categoryGap: null, gap: "20%", stacks: {} }, + a = o.stacks; + e[i] = o; + var s = t.stackId; + a[s] || o.autoWidthCount++, (a[s] = a[s] || { width: 0, maxWidth: 0 }); + var l = t.barWidth; + l && !a[s].width && ((a[s].width = l), (l = Math.min(o.remainedWidth, l)), (o.remainedWidth -= l)); + var u = t.barMaxWidth; + u && (a[s].maxWidth = u); + var h = t.barMinWidth; + h && (a[s].minWidth = h); + var c = t.barGap; + null != c && (o.gap = c); + var p = t.barCategoryGap; + null != p && (o.categoryGap = p); + }); + var n = {}; + return ( + E(e, function (t, e) { + n[e] = {}; + var i = t.stacks, + r = t.bandWidth, + o = t.categoryGap; + if (null == o) { + var a = G(i).length; + o = Math.max(35 - 4 * a, 15) + "%"; + } + var s = $r(o, r), + l = $r(t.gap, 1), + u = t.remainedWidth, + h = t.autoWidthCount, + c = (u - s) / (h + (h - 1) * l); + (c = Math.max(c, 0)), + E(i, function (t) { + var e = t.maxWidth, + n = t.minWidth; + if (t.width) { + i = t.width; + e && (i = Math.min(i, e)), n && (i = Math.max(i, n)), (t.width = i), (u -= i + l * i), h--; + } else { + var i = c; + e && e < i && (i = Math.min(e, u)), n && n > i && (i = n), i !== c && ((t.width = i), (u -= i + l * i), h--); + } + }), + (c = (u - s) / (h + (h - 1) * l)), + (c = Math.max(c, 0)); + var p, + d = 0; + E(i, function (t, e) { + t.width || (t.width = c), (p = t), (d += t.width * (1 + l)); + }), + p && (d -= p.width * l); + var f = -d / 2; + E(i, function (t, i) { + (n[e][i] = n[e][i] || { bandWidth: r, offset: f, width: t.width }), (f += t.width * (1 + l)); + }); + }), + n + ); + } + function Ux(t, e) { + var n = Hx(t, e), + i = Yx(n); + E(n, function (t) { + var e = t.getData(), + n = t.coordinateSystem.getBaseAxis(), + r = Gx(t), + o = i[Wx(n)][r], + a = o.offset, + s = o.width; + e.setLayout({ bandWidth: o.bandWidth, offset: a, size: s }); + }); + } + function Zx(t) { + return { + seriesType: t, + plan: kg(), + reset: function (t) { + if (jx(t)) { + var e = t.getData(), + n = t.coordinateSystem, + i = n.getBaseAxis(), + r = n.getOtherAxis(i), + o = e.getDimensionIndex(e.mapDimension(r.dim)), + a = e.getDimensionIndex(e.mapDimension(i.dim)), + s = t.get("showBackground", !0), + l = e.mapDimension(r.dim), + u = e.getCalculationInfo("stackResultDimension"), + h = mx(e, l) && !!e.getCalculationInfo("stackedOnSeries"), + c = r.isHorizontal(), + p = (function (t, e) { + return e.toGlobalCoord(e.dataToCoord("log" === e.type ? 1 : 0)); + })(0, r), + d = qx(t), + f = t.get("barMinHeight") || 0, + g = u && e.getDimensionIndex(u), + y = e.getLayout("size"), + v = e.getLayout("offset"); + return { + progress: function (t, e) { + for (var i, r = t.count, l = d && Bx(3 * r), u = d && s && Bx(3 * r), m = d && Bx(r), x = n.master.getRect(), _ = c ? x.width : x.height, b = e.getStore(), w = 0; null != (i = t.next()); ) { + var S = b.get(h ? g : o, i), + M = b.get(a, i), + I = p, + T = void 0; + h && (T = +S - b.get(o, i)); + var C = void 0, + D = void 0, + A = void 0, + k = void 0; + if (c) { + var L = n.dataToPoint([S, M]); + if (h) I = n.dataToPoint([T, M])[0]; + (C = I), (D = L[1] + v), (A = L[0] - I), (k = y), Math.abs(A) < f && (A = (A < 0 ? -1 : 1) * f); + } else { + L = n.dataToPoint([M, S]); + if (h) I = n.dataToPoint([M, T])[1]; + (C = L[0] + v), (D = I), (A = y), (k = L[1] - I), Math.abs(k) < f && (k = (k <= 0 ? -1 : 1) * f); + } + d ? ((l[w] = C), (l[w + 1] = D), (l[w + 2] = c ? A : k), u && ((u[w] = c ? x.x : C), (u[w + 1] = c ? D : x.y), (u[w + 2] = _)), (m[i] = i)) : e.setItemLayout(i, { x: C, y: D, width: A, height: k }), (w += 3); + } + d && e.setLayout({ largePoints: l, largeDataIndices: m, largeBackgroundPoints: u, valueAxisHorizontal: c }); + }, + }; + } + }, + }; + } + function jx(t) { + return t.coordinateSystem && "cartesian2d" === t.coordinateSystem.type; + } + function qx(t) { + return t.pipelineContext && t.pipelineContext.large; + } + var Kx = (function (t) { + function e(e) { + var n = t.call(this, e) || this; + return (n.type = "time"), n; + } + return ( + n(e, t), + (e.prototype.getLabel = function (t) { + var e = this.getSetting("useUTC"); + return Jc( + t.value, + Uc[ + (function (t) { + switch (t) { + case "year": + case "month": + return "day"; + case "millisecond": + return "millisecond"; + default: + return "second"; + } + })(Kc(this._minLevelUnit)) + ] || Uc.second, + e, + this.getSetting("locale") + ); + }), + (e.prototype.getFormattedLabel = function (t, e, n) { + var i = this.getSetting("useUTC"); + return (function (t, e, n, i, r) { + var o = null; + if (U(n)) o = n; + else if (X(n)) o = n(t.value, e, { level: t.level }); + else { + var a = A({}, Yc); + if (t.level > 0) for (var s = 0; s < Zc.length; ++s) a[Zc[s]] = "{primary|" + a[Zc[s]] + "}"; + var l = n ? (!1 === n.inherit ? n : k(n, a)) : a, + u = Qc(t.value, r); + if (l[u]) o = l[u]; + else if (l.inherit) { + for (s = jc.indexOf(u) - 1; s >= 0; --s) + if (l[u]) { + o = l[u]; + break; + } + o = o || a.none; + } + if (Y(o)) { + var h = null == t.level ? 0 : t.level >= 0 ? t.level : o.length + t.level; + o = o[(h = Math.min(h, o.length - 1))]; + } + } + return Jc(new Date(t.value), o, r, i); + })(t, e, n, this.getSetting("locale"), i); + }), + (e.prototype.getTicks = function () { + var t = this._interval, + e = this._extent, + n = []; + if (!t) return n; + n.push({ value: e[0], level: 0 }); + var i = this.getSetting("useUTC"), + r = (function (t, e, n, i) { + var r = 1e4, + o = jc, + a = 0; + function s(t, e, n, r, o, a, s) { + for (var l = new Date(e), u = e, h = l[r](); u < n && u <= i[1]; ) s.push({ value: u }), (h += t), l[o](h), (u = l.getTime()); + s.push({ value: u, notAdd: !0 }); + } + function l(t, r, o) { + var a = [], + l = !r.length; + if ( + !(function (t, e, n, i) { + var r = uo(e), + o = uo(n), + a = function (t) { + return tp(r, t, i) === tp(o, t, i); + }, + s = function () { + return a("year"); + }, + l = function () { + return s() && a("month"); + }, + u = function () { + return l() && a("day"); + }, + h = function () { + return u() && a("hour"); + }, + c = function () { + return h() && a("minute"); + }, + p = function () { + return c() && a("second"); + }, + d = function () { + return p() && a("millisecond"); + }; + switch (t) { + case "year": + return s(); + case "month": + return l(); + case "day": + return u(); + case "hour": + return h(); + case "minute": + return c(); + case "second": + return p(); + case "millisecond": + return d(); + } + })(Kc(t), i[0], i[1], n) + ) { + l && (r = [{ value: i_(new Date(i[0]), t, n) }, { value: i[1] }]); + for (var u = 0; u < r.length - 1; u++) { + var h = r[u].value, + c = r[u + 1].value; + if (h !== c) { + var p = void 0, + d = void 0, + f = void 0, + g = !1; + switch (t) { + case "year": + (p = Math.max(1, Math.round(e / Wc / 365))), (d = ep(n)), (f = lp(n)); + break; + case "half-year": + case "quarter": + case "month": + (p = Qx(e)), (d = np(n)), (f = up(n)); + break; + case "week": + case "half-week": + case "day": + (p = Jx(e)), (d = ip(n)), (f = hp(n)), (g = !0); + break; + case "half-day": + case "quarter-day": + case "hour": + (p = t_(e)), (d = rp(n)), (f = cp(n)); + break; + case "minute": + (p = e_(e, !0)), (d = op(n)), (f = pp(n)); + break; + case "second": + (p = e_(e, !1)), (d = ap(n)), (f = dp(n)); + break; + case "millisecond": + (p = n_(e)), (d = sp(n)), (f = fp(n)); + } + s(p, h, c, d, f, g, a), "year" === t && o.length > 1 && 0 === u && o.unshift({ value: o[0].value - p }); + } + } + for (u = 0; u < a.length; u++) o.push(a[u]); + return a; + } + } + for (var u = [], h = [], c = 0, p = 0, d = 0; d < o.length && a++ < r; ++d) { + var f = Kc(o[d]); + if ($c(o[d])) + if ((l(o[d], u[u.length - 1] || [], h), f !== (o[d + 1] ? Kc(o[d + 1]) : null))) { + if (h.length) { + (p = c), + h.sort(function (t, e) { + return t.value - e.value; + }); + for (var g = [], y = 0; y < h.length; ++y) { + var v = h[y].value; + (0 !== y && h[y - 1].value === v) || (g.push(h[y]), v >= i[0] && v <= i[1] && c++); + } + var m = (i[1] - i[0]) / e; + if (c > 1.5 * m && p > m / 1.5) break; + if ((u.push(g), c > m || t === o[d])) break; + } + h = []; + } + } + 0; + var x = B( + z(u, function (t) { + return B(t, function (t) { + return t.value >= i[0] && t.value <= i[1] && !t.notAdd; + }); + }), + function (t) { + return t.length > 0; + } + ), + _ = [], + b = x.length - 1; + for (d = 0; d < x.length; ++d) for (var w = x[d], S = 0; S < w.length; ++S) _.push({ value: w[S].value, level: b - d }); + _.sort(function (t, e) { + return t.value - e.value; + }); + var M = []; + for (d = 0; d < _.length; ++d) (0 !== d && _[d].value === _[d - 1].value) || M.push(_[d]); + return M; + })(this._minLevelUnit, this._approxInterval, i, e); + return (n = n.concat(r)).push({ value: e[1], level: 0 }), n; + }), + (e.prototype.calcNiceExtent = function (t) { + var e = this._extent; + if ((e[0] === e[1] && ((e[0] -= Wc), (e[1] += Wc)), e[1] === -1 / 0 && e[0] === 1 / 0)) { + var n = new Date(); + (e[1] = +new Date(n.getFullYear(), n.getMonth(), n.getDate())), (e[0] = e[1] - Wc); + } + this.calcNiceTicks(t.splitNumber, t.minInterval, t.maxInterval); + }), + (e.prototype.calcNiceTicks = function (t, e, n) { + t = t || 10; + var i = this._extent, + r = i[1] - i[0]; + (this._approxInterval = r / t), null != e && this._approxInterval < e && (this._approxInterval = e), null != n && this._approxInterval > n && (this._approxInterval = n); + var o = $x.length, + a = Math.min( + (function (t, e, n, i) { + for (; n < i; ) { + var r = (n + i) >>> 1; + t[r][1] < e ? (n = r + 1) : (i = r); + } + return n; + })($x, this._approxInterval, 0, o), + o - 1 + ); + (this._interval = $x[a][1]), (this._minLevelUnit = $x[Math.max(a - 1, 0)][0]); + }), + (e.prototype.parse = function (t) { + return j(t) ? t : +uo(t); + }), + (e.prototype.contain = function (t) { + return Lx(this.parse(t), this._extent); + }), + (e.prototype.normalize = function (t) { + return Px(this.parse(t), this._extent); + }), + (e.prototype.scale = function (t) { + return Ox(t, this._extent); + }), + (e.type = "time"), + e + ); + })(Ex), + $x = [ + ["second", Bc], + ["minute", Fc], + ["hour", Gc], + ["quarter-day", 216e5], + ["half-day", 432e5], + ["day", 10368e4], + ["half-week", 3024e5], + ["week", 6048e5], + ["month", 26784e5], + ["quarter", 8208e6], + ["half-year", Hc / 2], + ["year", Hc], + ]; + function Jx(t, e) { + return (t /= Wc) > 16 ? 16 : t > 7.5 ? 7 : t > 3.5 ? 4 : t > 1.5 ? 2 : 1; + } + function Qx(t) { + return (t /= 2592e6) > 6 ? 6 : t > 3 ? 3 : t > 2 ? 2 : 1; + } + function t_(t) { + return (t /= Gc) > 12 ? 12 : t > 6 ? 6 : t > 3.5 ? 4 : t > 2 ? 2 : 1; + } + function e_(t, e) { + return (t /= e ? Fc : Bc) > 30 ? 30 : t > 20 ? 20 : t > 15 ? 15 : t > 10 ? 10 : t > 5 ? 5 : t > 2 ? 2 : 1; + } + function n_(t) { + return po(t, !0); + } + function i_(t, e, n) { + var i = new Date(t); + switch (Kc(e)) { + case "year": + case "month": + i[up(n)](0); + case "day": + i[hp(n)](1); + case "hour": + i[cp(n)](0); + case "minute": + i[pp(n)](0); + case "second": + i[dp(n)](0), i[fp(n)](0); + } + return i.getTime(); + } + bx.registerClass(Kx); + var r_ = bx.prototype, + o_ = Ex.prototype, + a_ = Jr, + s_ = Math.floor, + l_ = Math.ceil, + u_ = Math.pow, + h_ = Math.log, + c_ = (function (t) { + function e() { + var e = (null !== t && t.apply(this, arguments)) || this; + return (e.type = "log"), (e.base = 10), (e._originalScale = new Ex()), (e._interval = 0), e; + } + return ( + n(e, t), + (e.prototype.getTicks = function (t) { + var e = this._originalScale, + n = this._extent, + i = e.getExtent(); + return z( + o_.getTicks.call(this, t), + function (t) { + var e = t.value, + r = Jr(u_(this.base, e)); + return (r = e === n[0] && this._fixMin ? d_(r, i[0]) : r), { value: (r = e === n[1] && this._fixMax ? d_(r, i[1]) : r) }; + }, + this + ); + }), + (e.prototype.setExtent = function (t, e) { + var n = h_(this.base); + (t = h_(Math.max(0, t)) / n), (e = h_(Math.max(0, e)) / n), o_.setExtent.call(this, t, e); + }), + (e.prototype.getExtent = function () { + var t = this.base, + e = r_.getExtent.call(this); + (e[0] = u_(t, e[0])), (e[1] = u_(t, e[1])); + var n = this._originalScale.getExtent(); + return this._fixMin && (e[0] = d_(e[0], n[0])), this._fixMax && (e[1] = d_(e[1], n[1])), e; + }), + (e.prototype.unionExtent = function (t) { + this._originalScale.unionExtent(t); + var e = this.base; + (t[0] = h_(t[0]) / h_(e)), (t[1] = h_(t[1]) / h_(e)), r_.unionExtent.call(this, t); + }), + (e.prototype.unionExtentFromData = function (t, e) { + this.unionExtent(t.getApproximateExtent(e)); + }), + (e.prototype.calcNiceTicks = function (t) { + t = t || 10; + var e = this._extent, + n = e[1] - e[0]; + if (!(n === 1 / 0 || n <= 0)) { + var i = ho(n); + for ((t / n) * i <= 0.5 && (i *= 10); !isNaN(i) && Math.abs(i) < 1 && Math.abs(i) > 0; ) i *= 10; + var r = [Jr(l_(e[0] / i) * i), Jr(s_(e[1] / i) * i)]; + (this._interval = i), (this._niceExtent = r); + } + }), + (e.prototype.calcNiceExtent = function (t) { + o_.calcNiceExtent.call(this, t), (this._fixMin = t.fixMin), (this._fixMax = t.fixMax); + }), + (e.prototype.parse = function (t) { + return t; + }), + (e.prototype.contain = function (t) { + return Lx((t = h_(t) / h_(this.base)), this._extent); + }), + (e.prototype.normalize = function (t) { + return Px((t = h_(t) / h_(this.base)), this._extent); + }), + (e.prototype.scale = function (t) { + return (t = Ox(t, this._extent)), u_(this.base, t); + }), + (e.type = "log"), + e + ); + })(bx), + p_ = c_.prototype; + function d_(t, e) { + return a_(t, to(e)); + } + (p_.getMinorTicks = o_.getMinorTicks), (p_.getLabel = o_.getLabel), bx.registerClass(c_); + var f_ = (function () { + function t(t, e, n) { + this._prepareParams(t, e, n); + } + return ( + (t.prototype._prepareParams = function (t, e, n) { + n[1] < n[0] && (n = [NaN, NaN]), (this._dataMin = n[0]), (this._dataMax = n[1]); + var i = (this._isOrdinal = "ordinal" === t.type); + this._needCrossZero = "interval" === t.type && e.getNeedCrossZero && e.getNeedCrossZero(); + var r = (this._modelMinRaw = e.get("min", !0)); + X(r) ? (this._modelMinNum = m_(t, r({ min: n[0], max: n[1] }))) : "dataMin" !== r && (this._modelMinNum = m_(t, r)); + var o = (this._modelMaxRaw = e.get("max", !0)); + if ((X(o) ? (this._modelMaxNum = m_(t, o({ min: n[0], max: n[1] }))) : "dataMax" !== o && (this._modelMaxNum = m_(t, o)), i)) this._axisDataLen = e.getCategories().length; + else { + var a = e.get("boundaryGap"), + s = Y(a) ? a : [a || 0, a || 0]; + "boolean" == typeof s[0] || "boolean" == typeof s[1] ? (this._boundaryGapInner = [0, 0]) : (this._boundaryGapInner = [Cr(s[0], 1), Cr(s[1], 1)]); + } + }), + (t.prototype.calculate = function () { + var t = this._isOrdinal, + e = this._dataMin, + n = this._dataMax, + i = this._axisDataLen, + r = this._boundaryGapInner, + o = t ? null : n - e || Math.abs(e), + a = "dataMin" === this._modelMinRaw ? e : this._modelMinNum, + s = "dataMax" === this._modelMaxRaw ? n : this._modelMaxNum, + l = null != a, + u = null != s; + null == a && (a = t ? (i ? 0 : NaN) : e - r[0] * o), null == s && (s = t ? (i ? i - 1 : NaN) : n + r[1] * o), (null == a || !isFinite(a)) && (a = NaN), (null == s || !isFinite(s)) && (s = NaN); + var h = nt(a) || nt(s) || (t && !i); + this._needCrossZero && (a > 0 && s > 0 && !l && (a = 0), a < 0 && s < 0 && !u && (s = 0)); + var c = this._determinedMin, + p = this._determinedMax; + return null != c && ((a = c), (l = !0)), null != p && ((s = p), (u = !0)), { min: a, max: s, minFixed: l, maxFixed: u, isBlank: h }; + }), + (t.prototype.modifyDataMinMax = function (t, e) { + this[y_[t]] = e; + }), + (t.prototype.setDeterminedMinMax = function (t, e) { + var n = g_[t]; + this[n] = e; + }), + (t.prototype.freeze = function () { + this.frozen = !0; + }), + t + ); + })(), + g_ = { min: "_determinedMin", max: "_determinedMax" }, + y_ = { min: "_dataMin", max: "_dataMax" }; + function v_(t, e, n) { + var i = t.rawExtentInfo; + return i || ((i = new f_(t, e, n)), (t.rawExtentInfo = i), i); + } + function m_(t, e) { + return null == e ? null : nt(e) ? NaN : t.parse(e); + } + function x_(t, e) { + var n = t.type, + i = v_(t, e, t.getExtent()).calculate(); + t.setBlank(i.isBlank); + var r = i.min, + o = i.max, + a = e.ecModel; + if (a && "time" === n) { + var s = Hx("bar", a), + l = !1; + if ( + (E(s, function (t) { + l = l || t.getBaseAxis() === e.axis; + }), + l) + ) { + var u = Yx(s), + h = (function (t, e, n, i) { + var r = n.axis.getExtent(), + o = r[1] - r[0], + a = (function (t, e, n) { + if (t && e) { + var i = t[Wx(e)]; + return null != i && null != n ? i[Gx(n)] : i; + } + })(i, n.axis); + if (void 0 === a) return { min: t, max: e }; + var s = 1 / 0; + E(a, function (t) { + s = Math.min(t.offset, s); + }); + var l = -1 / 0; + E(a, function (t) { + l = Math.max(t.offset + t.width, l); + }), + (s = Math.abs(s)), + (l = Math.abs(l)); + var u = s + l, + h = e - t, + c = h / (1 - (s + l) / o) - h; + return (e += c * (l / u)), (t -= c * (s / u)), { min: t, max: e }; + })(r, o, e, u); + (r = h.min), (o = h.max); + } + } + return { extent: [r, o], fixMin: i.minFixed, fixMax: i.maxFixed }; + } + function __(t, e) { + var n = e, + i = x_(t, n), + r = i.extent, + o = n.get("splitNumber"); + t instanceof c_ && (t.base = n.get("logBase")); + var a = t.type, + s = n.get("interval"), + l = "interval" === a || "time" === a; + t.setExtent(r[0], r[1]), + t.calcNiceExtent({ splitNumber: o, fixMin: i.fixMin, fixMax: i.fixMax, minInterval: l ? n.get("minInterval") : null, maxInterval: l ? n.get("maxInterval") : null }), + null != s && t.setInterval && t.setInterval(s); + } + function b_(t, e) { + if ((e = e || t.get("type"))) + switch (e) { + case "category": + return new Rx({ ordinalMeta: t.getOrdinalMeta ? t.getOrdinalMeta() : t.getCategories(), extent: [1 / 0, -1 / 0] }); + case "time": + return new Kx({ locale: t.ecModel.getLocaleModel(), useUTC: t.ecModel.get("useUTC") }); + default: + return new (bx.getClass(e) || Ex)(); + } + } + function w_(t) { + var e, + n, + i = t.getLabelModel().get("formatter"), + r = "category" === t.type ? t.scale.getExtent()[0] : null; + return "time" === t.scale.type + ? ((n = i), + function (e, i) { + return t.scale.getFormattedLabel(e, i, n); + }) + : U(i) + ? (function (e) { + return function (n) { + var i = t.scale.getLabel(n); + return e.replace("{value}", null != i ? i : ""); + }; + })(i) + : X(i) + ? ((e = i), + function (n, i) { + return null != r && (i = n.value - r), e(S_(t, n), i, null != n.level ? { level: n.level } : null); + }) + : function (e) { + return t.scale.getLabel(e); + }; + } + function S_(t, e) { + return "category" === t.type ? t.scale.getLabel(e) : e.value; + } + function M_(t, e) { + var n = (e * Math.PI) / 180, + i = t.width, + r = t.height, + o = i * Math.abs(Math.cos(n)) + Math.abs(r * Math.sin(n)), + a = i * Math.abs(Math.sin(n)) + Math.abs(r * Math.cos(n)); + return new ze(t.x, t.y, o, a); + } + function I_(t) { + var e = t.get("interval"); + return null == e ? "auto" : e; + } + function T_(t) { + return "category" === t.type && 0 === I_(t.getLabelModel()); + } + function C_(t, e) { + var n = {}; + return ( + E(t.mapDimensionsAll(e), function (e) { + n[xx(t, e)] = !0; + }), + G(n) + ); + } + var D_ = (function () { + function t() {} + return ( + (t.prototype.getNeedCrossZero = function () { + return !this.option.scale; + }), + (t.prototype.getCoordSysModel = function () {}), + t + ); + })(); + var A_ = { isDimensionStacked: mx, enableDataStack: vx, getStackedDimension: xx }; + var k_ = Object.freeze({ + __proto__: null, + createList: function (t) { + return _x(null, t); + }, + getLayoutRect: kp, + dataStack: A_, + createScale: function (t, e) { + var n = e; + e instanceof Cc || (n = new Cc(e)); + var i = b_(n); + return i.setExtent(t[0], t[1]), __(i, n), i; + }, + mixinAxisModelCommonMethods: function (t) { + R(t, D_); + }, + getECData: rl, + createTextStyle: function (t, e) { + return oc(t, null, null, "normal" !== (e = e || {}).state); + }, + createDimensions: function (t, e) { + return px(t, e).dimensions; + }, + createSymbol: Xy, + enableHoverEmphasis: Ul, + }); + function L_(t, e) { + return Math.abs(t - e) < 1e-8; + } + function P_(t, e, n) { + var i = 0, + r = t[0]; + if (!r) return !1; + for (var o = 1; o < t.length; o++) { + var a = t[o]; + (i += ms(r[0], r[1], a[0], a[1], e, n)), (r = a); + } + var s = t[0]; + return (L_(r[0], s[0]) && L_(r[1], s[1])) || (i += ms(r[0], r[1], s[0], s[1], e, n)), 0 !== i; + } + var O_ = []; + function R_(t, e) { + for (var n = 0; n < t.length; n++) Wt(t[n], t[n], e); + } + function N_(t, e, n, i) { + for (var r = 0; r < t.length; r++) { + var o = t[r]; + i && (o = i.project(o)), o && isFinite(o[0]) && isFinite(o[1]) && (Ht(e, e, o), Yt(n, n, o)); + } + } + var E_ = (function () { + function t(t) { + this.name = t; + } + return ( + (t.prototype.setCenter = function (t) { + this._center = t; + }), + (t.prototype.getCenter = function () { + var t = this._center; + return t || (t = this._center = this.calcCenter()), t; + }), + t + ); + })(), + z_ = function (t, e) { + (this.type = "polygon"), (this.exterior = t), (this.interiors = e); + }, + V_ = function (t) { + (this.type = "linestring"), (this.points = t); + }, + B_ = (function (t) { + function e(e, n, i) { + var r = t.call(this, e) || this; + return (r.type = "geoJSON"), (r.geometries = n), (r._center = i && [i[0], i[1]]), r; + } + return ( + n(e, t), + (e.prototype.calcCenter = function () { + for (var t, e = this.geometries, n = 0, i = 0; i < e.length; i++) { + var r = e[i], + o = r.exterior, + a = o && o.length; + a > n && ((t = r), (n = a)); + } + if (t) + return (function (t) { + for (var e = 0, n = 0, i = 0, r = t.length, o = t[r - 1][0], a = t[r - 1][1], s = 0; s < r; s++) { + var l = t[s][0], + u = t[s][1], + h = o * u - l * a; + (e += h), (n += (o + l) * h), (i += (a + u) * h), (o = l), (a = u); + } + return e ? [n / e / 3, i / e / 3, e] : [t[0][0] || 0, t[0][1] || 0]; + })(t.exterior); + var s = this.getBoundingRect(); + return [s.x + s.width / 2, s.y + s.height / 2]; + }), + (e.prototype.getBoundingRect = function (t) { + var e = this._rect; + if (e && !t) return e; + var n = [1 / 0, 1 / 0], + i = [-1 / 0, -1 / 0]; + return ( + E(this.geometries, function (e) { + "polygon" === e.type + ? N_(e.exterior, n, i, t) + : E(e.points, function (e) { + N_(e, n, i, t); + }); + }), + (isFinite(n[0]) && isFinite(n[1]) && isFinite(i[0]) && isFinite(i[1])) || (n[0] = n[1] = i[0] = i[1] = 0), + (e = new ze(n[0], n[1], i[0] - n[0], i[1] - n[1])), + t || (this._rect = e), + e + ); + }), + (e.prototype.contain = function (t) { + var e = this.getBoundingRect(), + n = this.geometries; + if (!e.contain(t[0], t[1])) return !1; + t: for (var i = 0, r = n.length; i < r; i++) { + var o = n[i]; + if ("polygon" === o.type) { + var a = o.exterior, + s = o.interiors; + if (P_(a, t[0], t[1])) { + for (var l = 0; l < (s ? s.length : 0); l++) if (P_(s[l], t[0], t[1])) continue t; + return !0; + } + } + } + return !1; + }), + (e.prototype.transformTo = function (t, e, n, i) { + var r = this.getBoundingRect(), + o = r.width / r.height; + n ? i || (i = n / o) : (n = o * i); + for (var a = new ze(t, e, n, i), s = r.calculateTransform(a), l = this.geometries, u = 0; u < l.length; u++) { + var h = l[u]; + "polygon" === h.type + ? (R_(h.exterior, s), + E(h.interiors, function (t) { + R_(t, s); + })) + : E(h.points, function (t) { + R_(t, s); + }); + } + (r = this._rect).copy(a), (this._center = [r.x + r.width / 2, r.y + r.height / 2]); + }), + (e.prototype.cloneShallow = function (t) { + null == t && (t = this.name); + var n = new e(t, this.geometries, this._center); + return (n._rect = this._rect), (n.transformTo = null), n; + }), + e + ); + })(E_), + F_ = (function (t) { + function e(e, n) { + var i = t.call(this, e) || this; + return (i.type = "geoSVG"), (i._elOnlyForCalculate = n), i; + } + return ( + n(e, t), + (e.prototype.calcCenter = function () { + for (var t = this._elOnlyForCalculate, e = t.getBoundingRect(), n = [e.x + e.width / 2, e.y + e.height / 2], i = xe(O_), r = t; r && !r.isGeoSVGGraphicRoot; ) be(i, r.getLocalTransform(), i), (r = r.parent); + return Ie(i, i), Wt(n, n, i), n; + }), + e + ); + })(E_); + function G_(t, e, n) { + for (var i = 0; i < t.length; i++) t[i] = W_(t[i], e[i], n); + } + function W_(t, e, n) { + for (var i = [], r = e[0], o = e[1], a = 0; a < t.length; a += 2) { + var s = t.charCodeAt(a) - 64, + l = t.charCodeAt(a + 1) - 64; + (s = (s >> 1) ^ -(1 & s)), (l = (l >> 1) ^ -(1 & l)), (r = s += r), (o = l += o), i.push([s / n, l / n]); + } + return i; + } + function H_(t, e) { + return z( + B( + (t = (function (t) { + if (!t.UTF8Encoding) return t; + var e = t, + n = e.UTF8Scale; + return ( + null == n && (n = 1024), + E(e.features, function (t) { + var e = t.geometry, + i = e.encodeOffsets, + r = e.coordinates; + if (i) + switch (e.type) { + case "LineString": + e.coordinates = W_(r, i, n); + break; + case "Polygon": + case "MultiLineString": + G_(r, i, n); + break; + case "MultiPolygon": + E(r, function (t, e) { + return G_(t, i[e], n); + }); + } + }), + (e.UTF8Encoding = !1), + e + ); + })(t)).features, + function (t) { + return t.geometry && t.properties && t.geometry.coordinates.length > 0; + } + ), + function (t) { + var n = t.properties, + i = t.geometry, + r = []; + switch (i.type) { + case "Polygon": + var o = i.coordinates; + r.push(new z_(o[0], o.slice(1))); + break; + case "MultiPolygon": + E(i.coordinates, function (t) { + t[0] && r.push(new z_(t[0], t.slice(1))); + }); + break; + case "LineString": + r.push(new V_([i.coordinates])); + break; + case "MultiLineString": + r.push(new V_(i.coordinates)); + } + var a = new B_(n[e || "name"], r, n.cp); + return (a.properties = n), a; + } + ); + } + var Y_ = Object.freeze({ + __proto__: null, + linearMap: Kr, + round: Jr, + asc: Qr, + getPrecision: to, + getPrecisionSafe: eo, + getPixelPrecision: no, + getPercentWithPrecision: function (t, e, n) { + return (t[e] && io(t, n)[e]) || 0; + }, + MAX_SAFE_INTEGER: oo, + remRadian: ao, + isRadianAroundZero: so, + parseDate: uo, + quantity: ho, + quantityExponent: co, + nice: po, + quantile: fo, + reformIntervals: go, + isNumeric: vo, + numericToNumber: yo, + }), + X_ = Object.freeze({ __proto__: null, parse: uo, format: Jc }), + U_ = Object.freeze({ + __proto__: null, + extendShape: Ch, + extendPath: Ah, + makePath: Ph, + makeImage: Oh, + mergePath: Nh, + resizePath: Eh, + createIcon: Uh, + updateProps: vh, + initProps: mh, + getTransform: Bh, + clipPointsByRect: Yh, + clipRectByRect: Xh, + registerShape: kh, + getShapeClass: Lh, + Group: Br, + Image: Ns, + Text: Xs, + Circle: Su, + Ellipse: Iu, + Sector: Fu, + Ring: Wu, + Polygon: Xu, + Polyline: Zu, + Rect: Ws, + Line: Ku, + BezierCurve: th, + Arc: nh, + IncrementalDisplayable: dh, + CompoundPath: ih, + LinearGradient: oh, + RadialGradient: ah, + BoundingRect: ze, + }), + Z_ = Object.freeze({ + __proto__: null, + addCommas: gp, + toCamelCase: yp, + normalizeCssArray: vp, + encodeHTML: re, + formatTpl: bp, + getTooltipMarker: wp, + formatTime: function (t, e, n) { + ("week" !== t && "month" !== t && "quarter" !== t && "half-year" !== t && "year" !== t) || (t = "MM-dd\nyyyy"); + var i = uo(e), + r = n ? "getUTC" : "get", + o = i[r + "FullYear"](), + a = i[r + "Month"]() + 1, + s = i[r + "Date"](), + l = i[r + "Hours"](), + u = i[r + "Minutes"](), + h = i[r + "Seconds"](), + c = i[r + "Milliseconds"](); + return (t = t + .replace("MM", qc(a, 2)) + .replace("M", a) + .replace("yyyy", o) + .replace("yy", qc((o % 100) + "", 2)) + .replace("dd", qc(s, 2)) + .replace("d", s) + .replace("hh", qc(l, 2)) + .replace("h", l) + .replace("mm", qc(u, 2)) + .replace("m", u) + .replace("ss", qc(h, 2)) + .replace("s", h) + .replace("SSS", qc(c, 3))); + }, + capitalFirst: function (t) { + return t ? t.charAt(0).toUpperCase() + t.substr(1) : t; + }, + truncateText: pa, + getTextRect: function (t, e, n, i, r, o, a, s) { + return new Xs({ style: { text: t, font: e, align: n, verticalAlign: i, padding: r, rich: o, overflow: a ? "truncate" : null, lineHeight: s } }).getBoundingRect(); + }, + }), + j_ = Object.freeze({ __proto__: null, map: z, each: E, indexOf: P, inherits: O, reduce: V, filter: B, bind: W, curry: H, isArray: Y, isString: U, isObject: q, isFunction: X, extend: A, defaults: k, clone: T, merge: C }), + q_ = Vo(); + function K_(t) { + return "category" === t.type + ? (function (t) { + var e = t.getLabelModel(), + n = J_(t, e); + return !e.get("show") || t.scale.isBlank() ? { labels: [], labelCategoryInterval: n.labelCategoryInterval } : n; + })(t) + : (function (t) { + var e = t.scale.getTicks(), + n = w_(t); + return { + labels: z(e, function (e, i) { + return { level: e.level, formattedLabel: n(e, i), rawLabel: t.scale.getLabel(e), tickValue: e.value }; + }), + }; + })(t); + } + function $_(t, e) { + return "category" === t.type + ? (function (t, e) { + var n, + i, + r = Q_(t, "ticks"), + o = I_(e), + a = tb(r, o); + if (a) return a; + (e.get("show") && !t.scale.isBlank()) || (n = []); + if (X(o)) n = ib(t, o, !0); + else if ("auto" === o) { + var s = J_(t, t.getLabelModel()); + (i = s.labelCategoryInterval), + (n = z(s.labels, function (t) { + return t.tickValue; + })); + } else n = nb(t, (i = o), !0); + return eb(r, o, { ticks: n, tickCategoryInterval: i }); + })(t, e) + : { + ticks: z(t.scale.getTicks(), function (t) { + return t.value; + }), + }; + } + function J_(t, e) { + var n, + i, + r = Q_(t, "labels"), + o = I_(e), + a = tb(r, o); + return ( + a || + (X(o) + ? (n = ib(t, o)) + : ((i = + "auto" === o + ? (function (t) { + var e = q_(t).autoInterval; + return null != e ? e : (q_(t).autoInterval = t.calculateCategoryInterval()); + })(t) + : o), + (n = nb(t, i))), + eb(r, o, { labels: n, labelCategoryInterval: i })) + ); + } + function Q_(t, e) { + return q_(t)[e] || (q_(t)[e] = []); + } + function tb(t, e) { + for (var n = 0; n < t.length; n++) if (t[n].key === e) return t[n].value; + } + function eb(t, e, n) { + return t.push({ key: e, value: n }), n; + } + function nb(t, e, n) { + var i = w_(t), + r = t.scale, + o = r.getExtent(), + a = t.getLabelModel(), + s = [], + l = Math.max((e || 0) + 1, 1), + u = o[0], + h = r.count(); + 0 !== u && l > 1 && h / l > 2 && (u = Math.round(Math.ceil(u / l) * l)); + var c = T_(t), + p = a.get("showMinLabel") || c, + d = a.get("showMaxLabel") || c; + p && u !== o[0] && g(o[0]); + for (var f = u; f <= o[1]; f += l) g(f); + function g(t) { + var e = { value: t }; + s.push(n ? t : { formattedLabel: i(e), rawLabel: r.getLabel(e), tickValue: t }); + } + return d && f - l !== o[1] && g(o[1]), s; + } + function ib(t, e, n) { + var i = t.scale, + r = w_(t), + o = []; + return ( + E(i.getTicks(), function (t) { + var a = i.getLabel(t), + s = t.value; + e(t.value, a) && o.push(n ? s : { formattedLabel: r(t), rawLabel: a, tickValue: s }); + }), + o + ); + } + var rb = [0, 1], + ob = (function () { + function t(t, e, n) { + (this.onBand = !1), (this.inverse = !1), (this.dim = t), (this.scale = e), (this._extent = n || [0, 0]); + } + return ( + (t.prototype.contain = function (t) { + var e = this._extent, + n = Math.min(e[0], e[1]), + i = Math.max(e[0], e[1]); + return t >= n && t <= i; + }), + (t.prototype.containData = function (t) { + return this.scale.contain(t); + }), + (t.prototype.getExtent = function () { + return this._extent.slice(); + }), + (t.prototype.getPixelPrecision = function (t) { + return no(t || this.scale.getExtent(), this._extent); + }), + (t.prototype.setExtent = function (t, e) { + var n = this._extent; + (n[0] = t), (n[1] = e); + }), + (t.prototype.dataToCoord = function (t, e) { + var n = this._extent, + i = this.scale; + return (t = i.normalize(t)), this.onBand && "ordinal" === i.type && ab((n = n.slice()), i.count()), Kr(t, rb, n, e); + }), + (t.prototype.coordToData = function (t, e) { + var n = this._extent, + i = this.scale; + this.onBand && "ordinal" === i.type && ab((n = n.slice()), i.count()); + var r = Kr(t, n, rb, e); + return this.scale.scale(r); + }), + (t.prototype.pointToData = function (t, e) {}), + (t.prototype.getTicksCoords = function (t) { + var e = (t = t || {}).tickModel || this.getTickModel(), + n = z( + $_(this, e).ticks, + function (t) { + return { coord: this.dataToCoord("ordinal" === this.scale.type ? this.scale.getRawOrdinalNumber(t) : t), tickValue: t }; + }, + this + ); + return ( + (function (t, e, n, i) { + var r = e.length; + if (!t.onBand || n || !r) return; + var o, + a, + s = t.getExtent(); + if (1 === r) (e[0].coord = s[0]), (o = e[1] = { coord: s[1] }); + else { + var l = e[r - 1].tickValue - e[0].tickValue, + u = (e[r - 1].coord - e[0].coord) / l; + E(e, function (t) { + t.coord -= u / 2; + }), + (a = 1 + t.scale.getExtent()[1] - e[r - 1].tickValue), + (o = { coord: e[r - 1].coord + u * a }), + e.push(o); + } + var h = s[0] > s[1]; + c(e[0].coord, s[0]) && (i ? (e[0].coord = s[0]) : e.shift()); + i && c(s[0], e[0].coord) && e.unshift({ coord: s[0] }); + c(s[1], o.coord) && (i ? (o.coord = s[1]) : e.pop()); + i && c(o.coord, s[1]) && e.push({ coord: s[1] }); + function c(t, e) { + return (t = Jr(t)), (e = Jr(e)), h ? t > e : t < e; + } + })(this, n, e.get("alignWithLabel"), t.clamp), + n + ); + }), + (t.prototype.getMinorTicksCoords = function () { + if ("ordinal" === this.scale.type) return []; + var t = this.model.getModel("minorTick").get("splitNumber"); + return ( + (t > 0 && t < 100) || (t = 5), + z( + this.scale.getMinorTicks(t), + function (t) { + return z( + t, + function (t) { + return { coord: this.dataToCoord(t), tickValue: t }; + }, + this + ); + }, + this + ) + ); + }), + (t.prototype.getViewLabels = function () { + return K_(this).labels; + }), + (t.prototype.getLabelModel = function () { + return this.model.getModel("axisLabel"); + }), + (t.prototype.getTickModel = function () { + return this.model.getModel("axisTick"); + }), + (t.prototype.getBandWidth = function () { + var t = this._extent, + e = this.scale.getExtent(), + n = e[1] - e[0] + (this.onBand ? 1 : 0); + 0 === n && (n = 1); + var i = Math.abs(t[1] - t[0]); + return Math.abs(i) / n; + }), + (t.prototype.calculateCategoryInterval = function () { + return (function (t) { + var e = (function (t) { + var e = t.getLabelModel(); + return { axisRotate: t.getRotate ? t.getRotate() : t.isHorizontal && !t.isHorizontal() ? 90 : 0, labelRotate: e.get("rotate") || 0, font: e.getFont() }; + })(t), + n = w_(t), + i = ((e.axisRotate - e.labelRotate) / 180) * Math.PI, + r = t.scale, + o = r.getExtent(), + a = r.count(); + if (o[1] - o[0] < 1) return 0; + var s = 1; + a > 40 && (s = Math.max(1, Math.floor(a / 40))); + for (var l = o[0], u = t.dataToCoord(l + 1) - t.dataToCoord(l), h = Math.abs(u * Math.cos(i)), c = Math.abs(u * Math.sin(i)), p = 0, d = 0; l <= o[1]; l += s) { + var f, + g, + y = Sr(n({ value: l }), e.font, "center", "top"); + (f = 1.3 * y.width), (g = 1.3 * y.height), (p = Math.max(p, f, 7)), (d = Math.max(d, g, 7)); + } + var v = p / h, + m = d / c; + isNaN(v) && (v = 1 / 0), isNaN(m) && (m = 1 / 0); + var x = Math.max(0, Math.floor(Math.min(v, m))), + _ = q_(t.model), + b = t.getExtent(), + w = _.lastAutoInterval, + S = _.lastTickCount; + return ( + null != w && null != S && Math.abs(w - x) <= 1 && Math.abs(S - a) <= 1 && w > x && _.axisExtent0 === b[0] && _.axisExtent1 === b[1] + ? (x = w) + : ((_.lastTickCount = a), (_.lastAutoInterval = x), (_.axisExtent0 = b[0]), (_.axisExtent1 = b[1])), + x + ); + })(this); + }), + t + ); + })(); + function ab(t, e) { + var n = (t[1] - t[0]) / e / 2; + (t[0] += n), (t[1] -= n); + } + var sb = 2 * Math.PI, + lb = hs.CMD, + ub = ["top", "right", "bottom", "left"]; + function hb(t, e, n, i, r) { + var o = n.width, + a = n.height; + switch (t) { + case "top": + i.set(n.x + o / 2, n.y - e), r.set(0, -1); + break; + case "bottom": + i.set(n.x + o / 2, n.y + a + e), r.set(0, 1); + break; + case "left": + i.set(n.x - e, n.y + a / 2), r.set(-1, 0); + break; + case "right": + i.set(n.x + o + e, n.y + a / 2), r.set(1, 0); + } + } + function cb(t, e, n, i, r, o, a, s, l) { + (a -= t), (s -= e); + var u = Math.sqrt(a * a + s * s), + h = (a /= u) * n + t, + c = (s /= u) * n + e; + if (Math.abs(i - r) % sb < 1e-4) return (l[0] = h), (l[1] = c), u - n; + if (o) { + var p = i; + (i = gs(r)), (r = gs(p)); + } else (i = gs(i)), (r = gs(r)); + i > r && (r += sb); + var d = Math.atan2(s, a); + if ((d < 0 && (d += sb), (d >= i && d <= r) || (d + sb >= i && d + sb <= r))) return (l[0] = h), (l[1] = c), u - n; + var f = n * Math.cos(i) + t, + g = n * Math.sin(i) + e, + y = n * Math.cos(r) + t, + v = n * Math.sin(r) + e, + m = (f - a) * (f - a) + (g - s) * (g - s), + x = (y - a) * (y - a) + (v - s) * (v - s); + return m < x ? ((l[0] = f), (l[1] = g), Math.sqrt(m)) : ((l[0] = y), (l[1] = v), Math.sqrt(x)); + } + function pb(t, e, n, i, r, o, a, s) { + var l = r - t, + u = o - e, + h = n - t, + c = i - e, + p = Math.sqrt(h * h + c * c), + d = (l * (h /= p) + u * (c /= p)) / p; + s && (d = Math.min(Math.max(d, 0), 1)), (d *= p); + var f = (a[0] = t + d * h), + g = (a[1] = e + d * c); + return Math.sqrt((f - r) * (f - r) + (g - o) * (g - o)); + } + function db(t, e, n, i, r, o, a) { + n < 0 && ((t += n), (n = -n)), i < 0 && ((e += i), (i = -i)); + var s = t + n, + l = e + i, + u = (a[0] = Math.min(Math.max(r, t), s)), + h = (a[1] = Math.min(Math.max(o, e), l)); + return Math.sqrt((u - r) * (u - r) + (h - o) * (h - o)); + } + var fb = []; + function gb(t, e, n) { + var i = db(e.x, e.y, e.width, e.height, t.x, t.y, fb); + return n.set(fb[0], fb[1]), i; + } + function yb(t, e, n) { + for (var i, r, o = 0, a = 0, s = 0, l = 0, u = 1 / 0, h = e.data, c = t.x, p = t.y, d = 0; d < h.length; ) { + var f = h[d++]; + 1 === d && ((s = o = h[d]), (l = a = h[d + 1])); + var g = u; + switch (f) { + case lb.M: + (o = s = h[d++]), (a = l = h[d++]); + break; + case lb.L: + (g = pb(o, a, h[d], h[d + 1], c, p, fb, !0)), (o = h[d++]), (a = h[d++]); + break; + case lb.C: + (g = Sn(o, a, h[d++], h[d++], h[d++], h[d++], h[d], h[d + 1], c, p, fb)), (o = h[d++]), (a = h[d++]); + break; + case lb.Q: + (g = An(o, a, h[d++], h[d++], h[d], h[d + 1], c, p, fb)), (o = h[d++]), (a = h[d++]); + break; + case lb.A: + var y = h[d++], + v = h[d++], + m = h[d++], + x = h[d++], + _ = h[d++], + b = h[d++]; + d += 1; + var w = !!(1 - h[d++]); + (i = Math.cos(_) * m + y), (r = Math.sin(_) * x + v), d <= 1 && ((s = i), (l = r)), (g = cb(y, v, x, _, _ + b, w, ((c - y) * x) / m + y, p, fb)), (o = Math.cos(_ + b) * m + y), (a = Math.sin(_ + b) * x + v); + break; + case lb.R: + g = db((s = o = h[d++]), (l = a = h[d++]), h[d++], h[d++], c, p, fb); + break; + case lb.Z: + (g = pb(o, a, s, l, c, p, fb, !0)), (o = s), (a = l); + } + g < u && ((u = g), n.set(fb[0], fb[1])); + } + return u; + } + var vb = new De(), + mb = new De(), + xb = new De(), + _b = new De(), + bb = new De(); + function wb(t, e) { + if (t) { + var n = t.getTextGuideLine(), + i = t.getTextContent(); + if (i && n) { + var r = t.textGuideLineConfig || {}, + o = [ + [0, 0], + [0, 0], + [0, 0], + ], + a = r.candidates || ub, + s = i.getBoundingRect().clone(); + s.applyTransform(i.getComputedTransform()); + var l = 1 / 0, + u = r.anchor, + h = t.getComputedTransform(), + c = h && Ie([], h), + p = e.get("length2") || 0; + u && xb.copy(u); + for (var d = 0; d < a.length; d++) { + hb(a[d], 0, s, vb, _b), De.scaleAndAdd(mb, vb, _b, p), mb.transform(c); + var f = t.getBoundingRect(), + g = u ? u.distance(mb) : t instanceof ks ? yb(mb, t.path, xb) : gb(mb, f, xb); + g < l && ((l = g), mb.transform(h), xb.transform(h), xb.toArray(o[0]), mb.toArray(o[1]), vb.toArray(o[2])); + } + Ib(o, e.get("minTurnAngle")), n.setShape({ points: o }); + } + } + } + var Sb = [], + Mb = new De(); + function Ib(t, e) { + if (e <= 180 && e > 0) { + (e = (e / 180) * Math.PI), vb.fromArray(t[0]), mb.fromArray(t[1]), xb.fromArray(t[2]), De.sub(_b, vb, mb), De.sub(bb, xb, mb); + var n = _b.len(), + i = bb.len(); + if (!(n < 0.001 || i < 0.001)) { + _b.scale(1 / n), bb.scale(1 / i); + var r = _b.dot(bb); + if (Math.cos(e) < r) { + var o = pb(mb.x, mb.y, xb.x, xb.y, vb.x, vb.y, Sb, !1); + Mb.fromArray(Sb), Mb.scaleAndAdd(bb, o / Math.tan(Math.PI - e)); + var a = xb.x !== mb.x ? (Mb.x - mb.x) / (xb.x - mb.x) : (Mb.y - mb.y) / (xb.y - mb.y); + if (isNaN(a)) return; + a < 0 ? De.copy(Mb, mb) : a > 1 && De.copy(Mb, xb), Mb.toArray(t[1]); + } + } + } + } + function Tb(t, e, n) { + if (n <= 180 && n > 0) { + (n = (n / 180) * Math.PI), vb.fromArray(t[0]), mb.fromArray(t[1]), xb.fromArray(t[2]), De.sub(_b, mb, vb), De.sub(bb, xb, mb); + var i = _b.len(), + r = bb.len(); + if (!(i < 0.001 || r < 0.001)) + if ((_b.scale(1 / i), bb.scale(1 / r), _b.dot(e) < Math.cos(n))) { + var o = pb(mb.x, mb.y, xb.x, xb.y, vb.x, vb.y, Sb, !1); + Mb.fromArray(Sb); + var a = Math.PI / 2, + s = a + Math.acos(bb.dot(e)) - n; + if (s >= a) De.copy(Mb, xb); + else { + Mb.scaleAndAdd(bb, o / Math.tan(Math.PI / 2 - s)); + var l = xb.x !== mb.x ? (Mb.x - mb.x) / (xb.x - mb.x) : (Mb.y - mb.y) / (xb.y - mb.y); + if (isNaN(l)) return; + l < 0 ? De.copy(Mb, mb) : l > 1 && De.copy(Mb, xb); + } + Mb.toArray(t[1]); + } + } + } + function Cb(t, e, n, i) { + var r = "normal" === n, + o = r ? t : t.ensureState(n); + o.ignore = e; + var a = i.get("smooth"); + a && !0 === a && (a = 0.3), (o.shape = o.shape || {}), a > 0 && (o.shape.smooth = a); + var s = i.getModel("lineStyle").getLineStyle(); + r ? t.useStyle(s) : (o.style = s); + } + function Db(t, e) { + var n = e.smooth, + i = e.points; + if (i) + if ((t.moveTo(i[0][0], i[0][1]), n > 0 && i.length >= 3)) { + var r = Vt(i[0], i[1]), + o = Vt(i[1], i[2]); + if (!r || !o) return t.lineTo(i[1][0], i[1][1]), void t.lineTo(i[2][0], i[2][1]); + var a = Math.min(r, o) * n, + s = Gt([], i[1], i[0], a / r), + l = Gt([], i[1], i[2], a / o), + u = Gt([], s, l, 0.5); + t.bezierCurveTo(s[0], s[1], s[0], s[1], u[0], u[1]), t.bezierCurveTo(l[0], l[1], l[0], l[1], i[2][0], i[2][1]); + } else for (var h = 1; h < i.length; h++) t.lineTo(i[h][0], i[h][1]); + } + function Ab(t, e, n) { + var i = t.getTextGuideLine(), + r = t.getTextContent(); + if (r) { + for (var o = e.normal, a = o.get("show"), s = r.ignore, l = 0; l < cl.length; l++) { + var u = cl[l], + h = e[u], + c = "normal" === u; + if (h) { + var p = h.get("show"); + if ((c ? s : rt(r.states[u] && r.states[u].ignore, s)) || !rt(p, a)) { + var d = c ? i : i && i.states[u]; + d && (d.ignore = !0), i && Cb(i, !0, u, h); + continue; + } + i || ((i = new Zu()), t.setTextGuideLine(i), c || (!s && a) || Cb(i, !0, "normal", e.normal), t.stateProxy && (i.stateProxy = t.stateProxy)), Cb(i, !1, u, h); + } + } + if (i) { + k(i.style, n), (i.style.fill = null); + var f = o.get("showAbove"); + ((t.textGuideLineConfig = t.textGuideLineConfig || {}).showAbove = f || !1), (i.buildPath = Db); + } + } else i && t.removeTextGuideLine(); + } + function kb(t, e) { + e = e || "labelLine"; + for (var n = { normal: t.getModel(e) }, i = 0; i < hl.length; i++) { + var r = hl[i]; + n[r] = t.getModel([r, e]); + } + return n; + } + function Lb(t) { + for (var e = [], n = 0; n < t.length; n++) { + var i = t[n]; + if (!i.defaultAttr.ignore) { + var r = i.label, + o = r.getComputedTransform(), + a = r.getBoundingRect(), + s = !o || (o[1] < 1e-5 && o[2] < 1e-5), + l = r.style.margin || 0, + u = a.clone(); + u.applyTransform(o), (u.x -= l / 2), (u.y -= l / 2), (u.width += l), (u.height += l); + var h = s ? new ch(a, o) : null; + e.push({ label: r, labelLine: i.labelLine, rect: u, localRect: a, obb: h, priority: i.priority, defaultAttr: i.defaultAttr, layoutOption: i.computedLayoutOption, axisAligned: s, transform: o }); + } + } + return e; + } + function Pb(t, e, n, i, r, o) { + var a = t.length; + if (!(a < 2)) { + t.sort(function (t, n) { + return t.rect[e] - n.rect[e]; + }); + for (var s, l = 0, u = !1, h = 0, c = 0; c < a; c++) { + var p = t[c], + d = p.rect; + (s = d[e] - l) < 0 && ((d[e] -= s), (p.label[e] -= s), (u = !0)), (h += Math.max(-s, 0)), (l = d[e] + d[n]); + } + h > 0 && o && _(-h / a, 0, a); + var f, + g, + y = t[0], + v = t[a - 1]; + return m(), f < 0 && b(-f, 0.8), g < 0 && b(g, 0.8), m(), x(f, g, 1), x(g, f, -1), m(), f < 0 && w(-f), g < 0 && w(g), u; + } + function m() { + (f = y.rect[e] - i), (g = r - v.rect[e] - v.rect[n]); + } + function x(t, e, n) { + if (t < 0) { + var i = Math.min(e, -t); + if (i > 0) { + _(i * n, 0, a); + var r = i + t; + r < 0 && b(-r * n, 1); + } else b(-t * n, 1); + } + } + function _(n, i, r) { + 0 !== n && (u = !0); + for (var o = i; o < r; o++) { + var a = t[o]; + (a.rect[e] += n), (a.label[e] += n); + } + } + function b(i, r) { + for (var o = [], s = 0, l = 1; l < a; l++) { + var u = t[l - 1].rect, + h = Math.max(t[l].rect[e] - u[e] - u[n], 0); + o.push(h), (s += h); + } + if (s) { + var c = Math.min(Math.abs(i) / s, r); + if (i > 0) + for (l = 0; l < a - 1; l++) { + _(o[l] * c, 0, l + 1); + } + else + for (l = a - 1; l > 0; l--) { + _(-(o[l - 1] * c), l, a); + } + } + } + function w(t) { + var e = t < 0 ? -1 : 1; + t = Math.abs(t); + for (var n = Math.ceil(t / (a - 1)), i = 0; i < a - 1; i++) if ((e > 0 ? _(n, 0, i + 1) : _(-n, a - i - 1, a), (t -= n) <= 0)) return; + } + } + function Ob(t, e, n, i) { + return Pb(t, "y", "height", e, n, i); + } + function Rb(t) { + var e = []; + t.sort(function (t, e) { + return e.priority - t.priority; + }); + var n = new ze(0, 0, 0, 0); + function i(t) { + if (!t.ignore) { + var e = t.ensureState("emphasis"); + null == e.ignore && (e.ignore = !1); + } + t.ignore = !0; + } + for (var r = 0; r < t.length; r++) { + var o = t[r], + a = o.axisAligned, + s = o.localRect, + l = o.transform, + u = o.label, + h = o.labelLine; + n.copy(o.rect), (n.width -= 0.1), (n.height -= 0.1), (n.x += 0.05), (n.y += 0.05); + for (var c = o.obb, p = !1, d = 0; d < e.length; d++) { + var f = e[d]; + if (n.intersect(f.rect)) { + if (a && f.axisAligned) { + p = !0; + break; + } + if ((f.obb || (f.obb = new ch(f.localRect, f.transform)), c || (c = new ch(s, l)), c.intersect(f.obb))) { + p = !0; + break; + } + } + } + p ? (i(u), h && i(h)) : (u.attr("ignore", o.defaultAttr.ignore), h && h.attr("ignore", o.defaultAttr.labelGuideIgnore), e.push(o)); + } + } + function Nb(t) { + if (t) { + for (var e = [], n = 0; n < t.length; n++) e.push(t[n].slice()); + return e; + } + } + function Eb(t, e) { + var n = t.label, + i = e && e.getTextGuideLine(); + return { + dataIndex: t.dataIndex, + dataType: t.dataType, + seriesIndex: t.seriesModel.seriesIndex, + text: t.label.style.text, + rect: t.hostRect, + labelRect: t.rect, + align: n.style.align, + verticalAlign: n.style.verticalAlign, + labelLinePoints: Nb(i && i.shape.points), + }; + } + var zb = ["align", "verticalAlign", "width", "height", "fontSize"], + Vb = new vr(), + Bb = Vo(), + Fb = Vo(); + function Gb(t, e, n) { + for (var i = 0; i < n.length; i++) { + var r = n[i]; + null != e[r] && (t[r] = e[r]); + } + } + var Wb = ["x", "y", "rotation"], + Hb = (function () { + function t() { + (this._labelList = []), (this._chartViewList = []); + } + return ( + (t.prototype.clearLabels = function () { + (this._labelList = []), (this._chartViewList = []); + }), + (t.prototype._addLabel = function (t, e, n, i, r) { + var o = i.style, + a = i.__hostTarget.textConfig || {}, + s = i.getComputedTransform(), + l = i.getBoundingRect().plain(); + ze.applyTransform(l, l, s), s ? Vb.setLocalTransform(s) : ((Vb.x = Vb.y = Vb.rotation = Vb.originX = Vb.originY = 0), (Vb.scaleX = Vb.scaleY = 1)), (Vb.rotation = gs(Vb.rotation)); + var u, + h = i.__hostTarget; + if (h) { + u = h.getBoundingRect().plain(); + var c = h.getComputedTransform(); + ze.applyTransform(u, u, c); + } + var p = u && h.getTextGuideLine(); + this._labelList.push({ + label: i, + labelLine: p, + seriesModel: n, + dataIndex: t, + dataType: e, + layoutOption: r, + computedLayoutOption: null, + rect: l, + hostRect: u, + priority: u ? u.width * u.height : 0, + defaultAttr: { + ignore: i.ignore, + labelGuideIgnore: p && p.ignore, + x: Vb.x, + y: Vb.y, + scaleX: Vb.scaleX, + scaleY: Vb.scaleY, + rotation: Vb.rotation, + style: { x: o.x, y: o.y, align: o.align, verticalAlign: o.verticalAlign, width: o.width, height: o.height, fontSize: o.fontSize }, + cursor: i.cursor, + attachedPos: a.position, + attachedRot: a.rotation, + }, + }); + }), + (t.prototype.addLabelsOfSeries = function (t) { + var e = this; + this._chartViewList.push(t); + var n = t.__model, + i = n.get("labelLayout"); + (X(i) || G(i).length) && + t.group.traverse(function (t) { + if (t.ignore) return !0; + var r = t.getTextContent(), + o = rl(t); + r && !r.disableLabelLayout && e._addLabel(o.dataIndex, o.dataType, n, r, i); + }); + }), + (t.prototype.updateLayoutConfig = function (t) { + var e = t.getWidth(), + n = t.getHeight(); + function i(t, e) { + return function () { + wb(t, e); + }; + } + for (var r = 0; r < this._labelList.length; r++) { + var o = this._labelList[r], + a = o.label, + s = a.__hostTarget, + l = o.defaultAttr, + u = void 0; + (u = (u = X(o.layoutOption) ? o.layoutOption(Eb(o, s)) : o.layoutOption) || {}), (o.computedLayoutOption = u); + var h = Math.PI / 180; + s && s.setTextConfig({ local: !1, position: null != u.x || null != u.y ? null : l.attachedPos, rotation: null != u.rotate ? u.rotate * h : l.attachedRot, offset: [u.dx || 0, u.dy || 0] }); + var c = !1; + if ( + (null != u.x ? ((a.x = $r(u.x, e)), a.setStyle("x", 0), (c = !0)) : ((a.x = l.x), a.setStyle("x", l.style.x)), + null != u.y ? ((a.y = $r(u.y, n)), a.setStyle("y", 0), (c = !0)) : ((a.y = l.y), a.setStyle("y", l.style.y)), + u.labelLinePoints) + ) { + var p = s.getTextGuideLine(); + p && (p.setShape({ points: u.labelLinePoints }), (c = !1)); + } + (Bb(a).needsUpdateLabelLine = c), (a.rotation = null != u.rotate ? u.rotate * h : l.rotation), (a.scaleX = l.scaleX), (a.scaleY = l.scaleY); + for (var d = 0; d < zb.length; d++) { + var f = zb[d]; + a.setStyle(f, null != u[f] ? u[f] : l.style[f]); + } + if (u.draggable) { + if (((a.draggable = !0), (a.cursor = "move"), s)) { + var g = o.seriesModel; + if (null != o.dataIndex) g = o.seriesModel.getData(o.dataType).getItemModel(o.dataIndex); + a.on("drag", i(s, g.getModel("labelLine"))); + } + } else a.off("drag"), (a.cursor = l.cursor); + } + }), + (t.prototype.layout = function (t) { + var e, + n = t.getWidth(), + i = t.getHeight(), + r = Lb(this._labelList), + o = B(r, function (t) { + return "shiftX" === t.layoutOption.moveOverlap; + }), + a = B(r, function (t) { + return "shiftY" === t.layoutOption.moveOverlap; + }); + Pb(o, "x", "width", 0, n, e), + Ob(a, 0, i), + Rb( + B(r, function (t) { + return t.layoutOption.hideOverlap; + }) + ); + }), + (t.prototype.processLabelsOverall = function () { + var t = this; + E(this._chartViewList, function (e) { + var n = e.__model, + i = e.ignoreLabelLineUpdate, + r = n.isAnimationEnabled(); + e.group.traverse(function (e) { + if (e.ignore && !e.forceLabelAnimation) return !0; + var o = !i, + a = e.getTextContent(); + !o && a && (o = Bb(a).needsUpdateLabelLine), o && t._updateLabelLine(e, n), r && t._animateLabels(e, n); + }); + }); + }), + (t.prototype._updateLabelLine = function (t, e) { + var n = t.getTextContent(), + i = rl(t), + r = i.dataIndex; + if (n && null != r) { + var o = e.getData(i.dataType), + a = o.getItemModel(r), + s = {}, + l = o.getItemVisual(r, "style"); + if (l) { + var u = o.getVisual("drawType"); + s.stroke = l[u]; + } + var h = a.getModel("labelLine"); + Ab(t, kb(a), s), wb(t, h); + } + }), + (t.prototype._animateLabels = function (t, e) { + var n = t.getTextContent(), + i = t.getTextGuideLine(); + if (n && (t.forceLabelAnimation || (!n.ignore && !n.invisible && !t.disableLabelAnimation && !xh(t)))) { + var r = (d = Bb(n)).oldLayout, + o = rl(t), + a = o.dataIndex, + s = { x: n.x, y: n.y, rotation: n.rotation }, + l = e.getData(o.dataType); + if (r) { + n.attr(r); + var u = t.prevStates; + u && (P(u, "select") >= 0 && n.attr(d.oldLayoutSelect), P(u, "emphasis") >= 0 && n.attr(d.oldLayoutEmphasis)), vh(n, s, e, a); + } else if ((n.attr(s), !pc(n).valueAnimation)) { + var h = rt(n.style.opacity, 1); + (n.style.opacity = 0), mh(n, { style: { opacity: h } }, e, a); + } + if (((d.oldLayout = s), n.states.select)) { + var c = (d.oldLayoutSelect = {}); + Gb(c, s, Wb), Gb(c, n.states.select, Wb); + } + if (n.states.emphasis) { + var p = (d.oldLayoutEmphasis = {}); + Gb(p, s, Wb), Gb(p, n.states.emphasis, Wb); + } + fc(n, a, l, e, e); + } + if (i && !i.ignore && !i.invisible) { + r = (d = Fb(i)).oldLayout; + var d, + f = { points: i.shape.points }; + r ? (i.attr({ shape: r }), vh(i, { shape: f }, e)) : (i.setShape(f), (i.style.strokePercent = 0), mh(i, { style: { strokePercent: 1 } }, e)), (d.oldLayout = f); + } + }), + t + ); + })(), + Yb = Vo(); + var Xb = Math.sin, + Ub = Math.cos, + Zb = Math.PI, + jb = 2 * Math.PI, + qb = 180 / Zb, + Kb = (function () { + function t() {} + return ( + (t.prototype.reset = function (t) { + (this._start = !0), (this._d = []), (this._str = ""), (this._p = Math.pow(10, t || 4)); + }), + (t.prototype.moveTo = function (t, e) { + this._add("M", t, e); + }), + (t.prototype.lineTo = function (t, e) { + this._add("L", t, e); + }), + (t.prototype.bezierCurveTo = function (t, e, n, i, r, o) { + this._add("C", t, e, n, i, r, o); + }), + (t.prototype.quadraticCurveTo = function (t, e, n, i) { + this._add("Q", t, e, n, i); + }), + (t.prototype.arc = function (t, e, n, i, r, o) { + this.ellipse(t, e, n, n, 0, i, r, o); + }), + (t.prototype.ellipse = function (t, e, n, i, r, o, a, s) { + var l = a - o, + u = !s, + h = Math.abs(l), + c = pi(h - jb) || (u ? l >= jb : -l >= jb), + p = l > 0 ? l % jb : (l % jb) + jb, + d = !1; + d = !!c || (!pi(h) && p >= Zb == !!u); + var f = t + n * Ub(o), + g = e + i * Xb(o); + this._start && this._add("M", f, g); + var y = Math.round(r * qb); + if (c) { + var v = 1 / this._p, + m = (u ? 1 : -1) * (jb - v); + this._add("A", n, i, y, 1, +u, t + n * Ub(o + m), e + i * Xb(o + m)), v > 0.01 && this._add("A", n, i, y, 0, +u, f, g); + } else { + var x = t + n * Ub(a), + _ = e + i * Xb(a); + this._add("A", n, i, y, +d, +u, x, _); + } + }), + (t.prototype.rect = function (t, e, n, i) { + this._add("M", t, e), this._add("l", n, 0), this._add("l", 0, i), this._add("l", -n, 0), this._add("Z"); + }), + (t.prototype.closePath = function () { + this._d.length > 0 && this._add("Z"); + }), + (t.prototype._add = function (t, e, n, i, r, o, a, s, l) { + for (var u = [], h = this._p, c = 1; c < arguments.length; c++) { + var p = arguments[c]; + if (isNaN(p)) return void (this._invalid = !0); + u.push(Math.round(p * h) / h); + } + this._d.push(t + u.join(" ")), (this._start = "Z" === t); + }), + (t.prototype.generateStr = function () { + (this._str = this._invalid ? "" : this._d.join("")), (this._d = []); + }), + (t.prototype.getStr = function () { + return this._str; + }), + t + ); + })(), + $b = "none", + Jb = Math.round; + var Qb = ["lineCap", "miterLimit", "lineJoin"], + tw = z(Qb, function (t) { + return "stroke-" + t.toLowerCase(); + }); + function ew(t, e, n, i) { + var r = null == e.opacity ? 1 : e.opacity; + if (n instanceof Ns) t("opacity", r); + else { + if ( + (function (t) { + var e = t.fill; + return null != e && e !== $b; + })(e) + ) { + var o = hi(e.fill); + t("fill", o.color); + var a = null != e.fillOpacity ? e.fillOpacity * o.opacity * r : o.opacity * r; + (i || a < 1) && t("fill-opacity", a); + } else t("fill", $b); + if ( + (function (t) { + var e = t.stroke; + return null != e && e !== $b; + })(e) + ) { + var s = hi(e.stroke); + t("stroke", s.color); + var l = e.strokeNoScale ? n.getLineScale() : 1, + u = l ? (e.lineWidth || 0) / l : 0, + h = null != e.strokeOpacity ? e.strokeOpacity * s.opacity * r : s.opacity * r, + c = e.strokeFirst; + if (((i || 1 !== u) && t("stroke-width", u), (i || c) && t("paint-order", c ? "stroke" : "fill"), (i || h < 1) && t("stroke-opacity", h), e.lineDash)) { + var p = Jy(n), + d = p[0], + f = p[1]; + d && ((f = Jb(f || 0)), t("stroke-dasharray", d.join(",")), (f || i) && t("stroke-dashoffset", f)); + } else i && t("stroke-dasharray", $b); + for (var g = 0; g < Qb.length; g++) { + var y = Qb[g]; + if (i || e[y] !== Cs[y]) { + var v = e[y] || Cs[y]; + v && t(tw[g], v); + } + } + } else i && t("stroke", $b); + } + } + var nw = "http://www.w3.org/2000/svg", + iw = "http://www.w3.org/1999/xlink", + rw = "ecmeta_"; + function ow(t) { + return document.createElementNS(nw, t); + } + function aw(t, e, n, i, r) { + return { tag: t, attrs: n || {}, children: i, text: r, key: e }; + } + function sw(t, e) { + var n = (e = e || {}).newline ? "\n" : ""; + return (function t(e) { + var i = e.children, + r = e.tag, + o = e.attrs, + a = e.text; + return ( + (function (t, e) { + var n = []; + if (e) + for (var i in e) { + var r = e[i], + o = i; + !1 !== r && (!0 !== r && null != r && (o += '="' + r + '"'), n.push(o)); + } + return "<" + t + " " + n.join(" ") + ">"; + })(r, o) + + ("style" !== r ? re(a) : a || "") + + (i + ? "" + + n + + z(i, function (e) { + return t(e); + }).join(n) + + n + : "") + + ("") + ); + })(t); + } + function lw(t) { + return { zrId: t, shadowCache: {}, patternCache: {}, gradientCache: {}, clipPathCache: {}, defs: {}, cssNodes: {}, cssAnims: {}, cssStyleCache: {}, cssAnimIdx: 0, shadowIdx: 0, gradientIdx: 0, patternIdx: 0, clipPathIdx: 0 }; + } + function uw(t, e, n, i) { + return aw("svg", "root", { width: t, height: e, xmlns: nw, "xmlns:xlink": iw, version: "1.1", baseProfile: "full", viewBox: !!i && "0 0 " + t + " " + e }, n); + } + var hw = 0; + function cw() { + return hw++; + } + var pw = { + cubicIn: "0.32,0,0.67,0", + cubicOut: "0.33,1,0.68,1", + cubicInOut: "0.65,0,0.35,1", + quadraticIn: "0.11,0,0.5,0", + quadraticOut: "0.5,1,0.89,1", + quadraticInOut: "0.45,0,0.55,1", + quarticIn: "0.5,0,0.75,0", + quarticOut: "0.25,1,0.5,1", + quarticInOut: "0.76,0,0.24,1", + quinticIn: "0.64,0,0.78,0", + quinticOut: "0.22,1,0.36,1", + quinticInOut: "0.83,0,0.17,1", + sinusoidalIn: "0.12,0,0.39,0", + sinusoidalOut: "0.61,1,0.88,1", + sinusoidalInOut: "0.37,0,0.63,1", + exponentialIn: "0.7,0,0.84,0", + exponentialOut: "0.16,1,0.3,1", + exponentialInOut: "0.87,0,0.13,1", + circularIn: "0.55,0,1,0.45", + circularOut: "0,0.55,0.45,1", + circularInOut: "0.85,0,0.15,1", + }, + dw = "transform-origin"; + function fw(t, e, n) { + var i = A({}, t.shape); + A(i, e), t.buildPath(n, i); + var r = new Kb(); + return r.reset(wi(t)), n.rebuildPath(r, 1), r.generateStr(), r.getStr(); + } + function gw(t, e) { + var n = e.originX, + i = e.originY; + (n || i) && (t[dw] = n + "px " + i + "px"); + } + var yw = { fill: "fill", opacity: "opacity", lineWidth: "stroke-width", lineDashOffset: "stroke-dashoffset" }; + function vw(t, e) { + var n = e.zrId + "-ani-" + e.cssAnimIdx++; + return (e.cssAnims[n] = t), n; + } + function mw(t) { + return U(t) ? (pw[t] ? "cubic-bezier(" + pw[t] + ")" : Pn(t) ? t : "") : ""; + } + function xw(t, e, n, i) { + var r = t.animators, + o = r.length, + a = []; + if (t instanceof ih) { + var s = (function (t, e, n) { + var i, + r, + o = t.shape.paths, + a = {}; + if ( + (E(o, function (t) { + var e = lw(n.zrId); + (e.animation = !0), xw(t, {}, e, !0); + var o = e.cssAnims, + s = e.cssNodes, + l = G(o), + u = l.length; + if (u) { + var h = o[(r = l[u - 1])]; + for (var c in h) { + var p = h[c]; + (a[c] = a[c] || { d: "" }), (a[c].d += p.d || ""); + } + for (var d in s) { + var f = s[d].animation; + f.indexOf(r) >= 0 && (i = f); + } + } + }), + i) + ) { + e.d = !1; + var s = vw(a, n); + return i.replace(r, s); + } + })(t, e, n); + if (s) a.push(s); + else if (!o) return; + } else if (!o) return; + for (var l = {}, u = 0; u < o; u++) { + var h = r[u], + c = [h.getMaxTime() / 1e3 + "s"], + p = mw(h.getClip().easing), + d = h.getDelay(); + p ? c.push(p) : c.push("linear"), d && c.push(d / 1e3 + "s"), h.getLoop() && c.push("infinite"); + var f = c.join(" "); + (l[f] = l[f] || [f, []]), l[f][1].push(h); + } + function g(r) { + var o, + a = r[1], + s = a.length, + l = {}, + u = {}, + h = {}, + c = "animation-timing-function"; + function p(t, e, n) { + for (var i = t.getTracks(), r = t.getMaxTime(), o = 0; o < i.length; o++) { + var a = i[o]; + if (a.needsAnimate()) { + var s = a.keyframes, + l = a.propName; + if ((n && (l = n(l)), l)) + for (var u = 0; u < s.length; u++) { + var h = s[u], + p = Math.round((h.time / r) * 100) + "%", + d = mw(h.easing), + f = h.rawValue; + (U(f) || j(f)) && ((e[p] = e[p] || {}), (e[p][l] = h.rawValue), d && (e[p][c] = d)); + } + } + } + } + for (var d = 0; d < s; d++) { + (S = (w = a[d]).targetName) ? "shape" === S && p(w, u) : !i && p(w, l); + } + for (var f in l) { + var g = {}; + xr(g, t), A(g, l[f]); + var y = Si(g), + v = l[f][c]; + (h[f] = y ? { transform: y } : {}), gw(h[f], g), v && (h[f][c] = v); + } + var m = !0; + for (var f in u) { + h[f] = h[f] || {}; + var x = !o; + v = u[f][c]; + x && (o = new hs()); + var _ = o.len(); + o.reset(), (h[f].d = fw(t, u[f], o)); + var b = o.len(); + if (!x && _ !== b) { + m = !1; + break; + } + v && (h[f][c] = v); + } + if (!m) for (var f in h) delete h[f].d; + if (!i) + for (d = 0; d < s; d++) { + var w, S; + "style" === (S = (w = a[d]).targetName) && + p(w, h, function (t) { + return yw[t]; + }); + } + var M, + I = G(h), + T = !0; + for (d = 1; d < I.length; d++) { + var C = I[d - 1], + D = I[d]; + if (h[C][dw] !== h[D][dw]) { + T = !1; + break; + } + M = h[C][dw]; + } + if (T && M) { + for (var f in h) h[f][dw] && delete h[f][dw]; + e[dw] = M; + } + if ( + B(I, function (t) { + return G(h[t]).length > 0; + }).length + ) + return vw(h, n) + " " + r[0] + " both"; + } + for (var y in l) { + (s = g(l[y])) && a.push(s); + } + if (a.length) { + var v = n.zrId + "-cls-" + cw(); + (n.cssNodes["." + v] = { animation: a.join(",") }), (e.class = v); + } + } + function _w(t, e, n, i) { + var r = JSON.stringify(t), + o = n.cssStyleCache[r]; + o || ((o = n.zrId + "-cls-" + cw()), (n.cssStyleCache[r] = o), (n.cssNodes["." + o + (i ? ":hover" : "")] = t)), (e.class = e.class ? e.class + " " + o : o); + } + var bw = Math.round; + function ww(t) { + return t && U(t.src); + } + function Sw(t) { + return t && X(t.toDataURL); + } + function Mw(t, e, n, i) { + ew( + function (r, o) { + var a = "fill" === r || "stroke" === r; + a && _i(o) ? Nw(e, t, r, i) : a && vi(o) ? Ew(n, t, r, i) : (t[r] = a && "none" === o ? "transparent" : o); + }, + e, + n, + !1 + ), + (function (t, e, n) { + var i = t.style; + if ( + (function (t) { + return t && (t.shadowBlur || t.shadowOffsetX || t.shadowOffsetY); + })(i) + ) { + var r = (function (t) { + var e = t.style, + n = t.getGlobalScale(); + return [e.shadowColor, (e.shadowBlur || 0).toFixed(2), (e.shadowOffsetX || 0).toFixed(2), (e.shadowOffsetY || 0).toFixed(2), n[0], n[1]].join(","); + })(t), + o = n.shadowCache, + a = o[r]; + if (!a) { + var s = t.getGlobalScale(), + l = s[0], + u = s[1]; + if (!l || !u) return; + var h = i.shadowOffsetX || 0, + c = i.shadowOffsetY || 0, + p = i.shadowBlur, + d = hi(i.shadowColor), + f = d.opacity, + g = d.color, + y = p / 2 / l + " " + p / 2 / u; + (a = n.zrId + "-s" + n.shadowIdx++), + (n.defs[a] = aw("filter", a, { id: a, x: "-100%", y: "-100%", width: "300%", height: "300%" }, [aw("feDropShadow", "", { dx: h / l, dy: c / u, stdDeviation: y, "flood-color": g, "flood-opacity": f })])), + (o[r] = a); + } + e.filter = bi(a); + } + })(n, t, i); + } + function Iw(t, e) { + var n = Ur(e); + n && + (n.each(function (e, n) { + null != e && (t[(rw + n).toLowerCase()] = e + ""); + }), + e.isSilent() && (t[rw + "silent"] = "true")); + } + function Tw(t) { + return pi(t[0] - 1) && pi(t[1]) && pi(t[2]) && pi(t[3] - 1); + } + function Cw(t, e, n) { + if ( + e && + (!(function (t) { + return pi(t[4]) && pi(t[5]); + })(e) || + !Tw(e)) + ) { + var i = n ? 10 : 1e4; + t.transform = Tw(e) + ? "translate(" + bw(e[4] * i) / i + " " + bw(e[5] * i) / i + ")" + : (function (t) { + return "matrix(" + di(t[0]) + "," + di(t[1]) + "," + di(t[2]) + "," + di(t[3]) + "," + fi(t[4]) + "," + fi(t[5]) + ")"; + })(e); + } + } + function Dw(t, e, n) { + for (var i = t.points, r = [], o = 0; o < i.length; o++) r.push(bw(i[o][0] * n) / n), r.push(bw(i[o][1] * n) / n); + e.points = r.join(" "); + } + function Aw(t) { + return !t.smooth; + } + var kw, + Lw, + Pw = { + circle: [ + ((kw = ["cx", "cy", "r"]), + (Lw = z(kw, function (t) { + return "string" == typeof t ? [t, t] : t; + })), + function (t, e, n) { + for (var i = 0; i < Lw.length; i++) { + var r = Lw[i], + o = t[r[0]]; + null != o && (e[r[1]] = bw(o * n) / n); + } + }), + ], + polyline: [Dw, Aw], + polygon: [Dw, Aw], + }; + function Ow(t, e) { + var n = t.style, + i = t.shape, + r = Pw[t.type], + o = {}, + a = e.animation, + s = "path", + l = t.style.strokePercent, + u = (e.compress && wi(t)) || 4; + if ( + !r || + e.willUpdate || + (r[1] && !r[1](i)) || + (a && + (function (t) { + for (var e = t.animators, n = 0; n < e.length; n++) if ("shape" === e[n].targetName) return !0; + return !1; + })(t)) || + l < 1 + ) { + var h = !t.path || t.shapeChanged(); + t.path || t.createPathProxy(); + var c = t.path; + h && (c.beginPath(), t.buildPath(c, t.shape), t.pathUpdated()); + var p = c.getVersion(), + d = t, + f = d.__svgPathBuilder; + (d.__svgPathVersion === p && f && l === d.__svgPathStrokePercent) || (f || (f = d.__svgPathBuilder = new Kb()), f.reset(u), c.rebuildPath(f, l), f.generateStr(), (d.__svgPathVersion = p), (d.__svgPathStrokePercent = l)), + (o.d = f.getStr()); + } else { + s = t.type; + var g = Math.pow(10, u); + r[0](i, o, g); + } + return ( + Cw(o, t.transform), + Mw(o, n, t, e), + Iw(o, t), + e.animation && xw(t, o, e), + e.emphasis && + (function (t, e, n) { + if (!t.ignore) + if (t.isSilent()) _w((u = { "pointer-events": "none" }), e, n, !0); + else { + var i = t.states.emphasis && t.states.emphasis.style ? t.states.emphasis.style : {}, + r = i.fill; + if (!r) { + var o = t.style && t.style.fill, + a = t.states.select && t.states.select.style && t.states.select.style.fill, + s = (t.currentStates.indexOf("select") >= 0 && a) || o; + s && (r = si(s)); + } + var l = i.lineWidth; + l && (l /= !i.strokeNoScale && t.transform ? t.transform[0] : 1); + var u = { cursor: "pointer" }; + r && (u.fill = r), i.stroke && (u.stroke = i.stroke), l && (u["stroke-width"] = l), _w(u, e, n, !0); + } + })(t, o, e), + aw(s, t.id + "", o) + ); + } + function Rw(t, e) { + return t instanceof ks + ? Ow(t, e) + : t instanceof Ns + ? (function (t, e) { + var n = t.style, + i = n.image; + if ((i && !U(i) && (ww(i) ? (i = i.src) : Sw(i) && (i = i.toDataURL())), i)) { + var r = n.x || 0, + o = n.y || 0, + a = { href: i, width: n.width, height: n.height }; + return r && (a.x = r), o && (a.y = o), Cw(a, t.transform), Mw(a, n, t, e), Iw(a, t), e.animation && xw(t, a, e), aw("image", t.id + "", a); + } + })(t, e) + : t instanceof Ps + ? (function (t, e) { + var n = t.style, + i = n.text; + if ((null != i && (i += ""), i && !isNaN(n.x) && !isNaN(n.y))) { + var r = n.font || a, + s = n.x || 0, + l = (function (t, e, n) { + return "top" === n ? (t += e / 2) : "bottom" === n && (t -= e / 2), t; + })(n.y || 0, Tr(r), n.textBaseline), + u = { "dominant-baseline": "central", "text-anchor": gi[n.textAlign] || n.textAlign }; + if ($s(n)) { + var h = "", + c = n.fontStyle, + p = qs(n.fontSize); + if (!parseFloat(p)) return; + var d = n.fontFamily || o, + f = n.fontWeight; + (h += "font-size:" + p + ";font-family:" + d + ";"), c && "normal" !== c && (h += "font-style:" + c + ";"), f && "normal" !== f && (h += "font-weight:" + f + ";"), (u.style = h); + } else u.style = "font: " + r; + return i.match(/\s/) && (u["xml:space"] = "preserve"), s && (u.x = s), l && (u.y = l), Cw(u, t.transform), Mw(u, n, t, e), Iw(u, t), e.animation && xw(t, u, e), aw("text", t.id + "", u, void 0, i); + } + })(t, e) + : void 0; + } + function Nw(t, e, n, i) { + var r, + o = t[n], + a = { gradientUnits: o.global ? "userSpaceOnUse" : "objectBoundingBox" }; + if (mi(o)) (r = "linearGradient"), (a.x1 = o.x), (a.y1 = o.y), (a.x2 = o.x2), (a.y2 = o.y2); + else { + if (!xi(o)) return void 0; + (r = "radialGradient"), (a.cx = rt(o.x, 0.5)), (a.cy = rt(o.y, 0.5)), (a.r = rt(o.r, 0.5)); + } + for (var s = o.colorStops, l = [], u = 0, h = s.length; u < h; ++u) { + var c = 100 * fi(s[u].offset) + "%", + p = hi(s[u].color), + d = p.color, + f = p.opacity, + g = { offset: c }; + (g["stop-color"] = d), f < 1 && (g["stop-opacity"] = f), l.push(aw("stop", u + "", g)); + } + var y = sw(aw(r, "", a, l)), + v = i.gradientCache, + m = v[y]; + m || ((m = i.zrId + "-g" + i.gradientIdx++), (v[y] = m), (a.id = m), (i.defs[m] = aw(r, m, a, l))), (e[n] = bi(m)); + } + function Ew(t, e, n, i) { + var r, + o = t.style[n], + a = t.getBoundingRect(), + s = {}, + l = o.repeat, + u = "no-repeat" === l, + h = "repeat-x" === l, + c = "repeat-y" === l; + if (yi(o)) { + var p = o.imageWidth, + d = o.imageHeight, + f = void 0, + g = o.image; + if ((U(g) ? (f = g) : ww(g) ? (f = g.src) : Sw(g) && (f = g.toDataURL()), "undefined" == typeof Image)) { + var y = "Image width/height must been given explictly in svg-ssr renderer."; + lt(p, y), lt(d, y); + } else if (null == p || null == d) { + var v = function (t, e) { + if (t) { + var n = t.elm, + i = p || e.width, + r = d || e.height; + "pattern" === t.tag && (h ? ((r = 1), (i /= a.width)) : c && ((i = 1), (r /= a.height))), (t.attrs.width = i), (t.attrs.height = r), n && (n.setAttribute("width", i), n.setAttribute("height", r)); + } + }, + m = la(f, null, t, function (t) { + u || v(w, t), v(r, t); + }); + m && m.width && m.height && ((p = p || m.width), (d = d || m.height)); + } + (r = aw("image", "img", { href: f, width: p, height: d })), (s.width = p), (s.height = d); + } else o.svgElement && ((r = T(o.svgElement)), (s.width = o.svgWidth), (s.height = o.svgHeight)); + if (r) { + var x, _; + u ? (x = _ = 1) : h ? ((_ = 1), (x = s.width / a.width)) : c ? ((x = 1), (_ = s.height / a.height)) : (s.patternUnits = "userSpaceOnUse"), null == x || isNaN(x) || (s.width = x), null == _ || isNaN(_) || (s.height = _); + var b = Si(o); + b && (s.patternTransform = b); + var w = aw("pattern", "", s, [r]), + S = sw(w), + M = i.patternCache, + I = M[S]; + I || ((I = i.zrId + "-p" + i.patternIdx++), (M[S] = I), (s.id = I), (w = i.defs[I] = aw("pattern", I, s, [r]))), (e[n] = bi(I)); + } + } + function zw(t, e, n) { + var i = n.clipPathCache, + r = n.defs, + o = i[t.id]; + if (!o) { + var a = { id: (o = n.zrId + "-c" + n.clipPathIdx++) }; + (i[t.id] = o), (r[o] = aw("clipPath", o, a, [Ow(t, n)])); + } + e["clip-path"] = bi(o); + } + function Vw(t) { + return document.createTextNode(t); + } + function Bw(t, e, n) { + t.insertBefore(e, n); + } + function Fw(t, e) { + t.removeChild(e); + } + function Gw(t, e) { + t.appendChild(e); + } + function Ww(t) { + return t.parentNode; + } + function Hw(t) { + return t.nextSibling; + } + function Yw(t, e) { + t.textContent = e; + } + var Xw = aw("", ""); + function Uw(t) { + return void 0 === t; + } + function Zw(t) { + return void 0 !== t; + } + function jw(t, e, n) { + for (var i = {}, r = e; r <= n; ++r) { + var o = t[r].key; + void 0 !== o && (i[o] = r); + } + return i; + } + function qw(t, e) { + var n = t.key === e.key; + return t.tag === e.tag && n; + } + function Kw(t) { + var e, + n = t.children, + i = t.tag; + if (Zw(i)) { + var r = (t.elm = ow(i)); + if ((Qw(Xw, t), Y(n))) + for (e = 0; e < n.length; ++e) { + var o = n[e]; + null != o && Gw(r, Kw(o)); + } + else Zw(t.text) && !q(t.text) && Gw(r, Vw(t.text)); + } else t.elm = Vw(t.text); + return t.elm; + } + function $w(t, e, n, i, r) { + for (; i <= r; ++i) { + var o = n[i]; + null != o && Bw(t, Kw(o), e); + } + } + function Jw(t, e, n, i) { + for (; n <= i; ++n) { + var r = e[n]; + if (null != r) + if (Zw(r.tag)) Fw(Ww(r.elm), r.elm); + else Fw(t, r.elm); + } + } + function Qw(t, e) { + var n, + i = e.elm, + r = (t && t.attrs) || {}, + o = e.attrs || {}; + if (r !== o) { + for (n in o) { + var a = o[n]; + r[n] !== a && + (!0 === a + ? i.setAttribute(n, "") + : !1 === a + ? i.removeAttribute(n) + : "style" === n + ? (i.style.cssText = a) + : 120 !== n.charCodeAt(0) + ? i.setAttribute(n, a) + : "xmlns:xlink" === n || "xmlns" === n + ? i.setAttributeNS("http://www.w3.org/2000/xmlns/", n, a) + : 58 === n.charCodeAt(3) + ? i.setAttributeNS("http://www.w3.org/XML/1998/namespace", n, a) + : 58 === n.charCodeAt(5) + ? i.setAttributeNS(iw, n, a) + : i.setAttribute(n, a)); + } + for (n in r) n in o || i.removeAttribute(n); + } + } + function tS(t, e) { + var n = (e.elm = t.elm), + i = t.children, + r = e.children; + t !== e && + (Qw(t, e), + Uw(e.text) + ? Zw(i) && Zw(r) + ? i !== r && + (function (t, e, n) { + for (var i, r, o, a = 0, s = 0, l = e.length - 1, u = e[0], h = e[l], c = n.length - 1, p = n[0], d = n[c]; a <= l && s <= c; ) + null == u + ? (u = e[++a]) + : null == h + ? (h = e[--l]) + : null == p + ? (p = n[++s]) + : null == d + ? (d = n[--c]) + : qw(u, p) + ? (tS(u, p), (u = e[++a]), (p = n[++s])) + : qw(h, d) + ? (tS(h, d), (h = e[--l]), (d = n[--c])) + : qw(u, d) + ? (tS(u, d), Bw(t, u.elm, Hw(h.elm)), (u = e[++a]), (d = n[--c])) + : qw(h, p) + ? (tS(h, p), Bw(t, h.elm, u.elm), (h = e[--l]), (p = n[++s])) + : (Uw(i) && (i = jw(e, a, l)), Uw((r = i[p.key])) || (o = e[r]).tag !== p.tag ? Bw(t, Kw(p), u.elm) : (tS(o, p), (e[r] = void 0), Bw(t, o.elm, u.elm)), (p = n[++s])); + (a <= l || s <= c) && (a > l ? $w(t, null == n[c + 1] ? null : n[c + 1].elm, n, s, c) : Jw(t, e, a, l)); + })(n, i, r) + : Zw(r) + ? (Zw(t.text) && Yw(n, ""), $w(n, null, r, 0, r.length - 1)) + : Zw(i) + ? Jw(n, i, 0, i.length - 1) + : Zw(t.text) && Yw(n, "") + : t.text !== e.text && (Zw(i) && Jw(n, i, 0, i.length - 1), Yw(n, e.text))); + } + var eS = 0, + nS = (function () { + function t(t, e, n) { + if ( + ((this.type = "svg"), + (this.refreshHover = iS("refreshHover")), + (this.configLayer = iS("configLayer")), + (this.storage = e), + (this._opts = n = A({}, n)), + (this.root = t), + (this._id = "zr" + eS++), + (this._oldVNode = uw(n.width, n.height)), + t && !n.ssr) + ) { + var i = (this._viewport = document.createElement("div")); + i.style.cssText = "position:relative;overflow:hidden"; + var r = (this._svgDom = this._oldVNode.elm = ow("svg")); + Qw(null, this._oldVNode), i.appendChild(r), t.appendChild(i); + } + this.resize(n.width, n.height); + } + return ( + (t.prototype.getType = function () { + return this.type; + }), + (t.prototype.getViewportRoot = function () { + return this._viewport; + }), + (t.prototype.getViewportRootOffset = function () { + var t = this.getViewportRoot(); + if (t) return { offsetLeft: t.offsetLeft || 0, offsetTop: t.offsetTop || 0 }; + }), + (t.prototype.getSvgDom = function () { + return this._svgDom; + }), + (t.prototype.refresh = function () { + if (this.root) { + var t = this.renderToVNode({ willUpdate: !0 }); + (t.attrs.style = "position:absolute;left:0;top:0;user-select:none"), + (function (t, e) { + if (qw(t, e)) tS(t, e); + else { + var n = t.elm, + i = Ww(n); + Kw(e), null !== i && (Bw(i, e.elm, Hw(n)), Jw(i, [t], 0, 0)); + } + })(this._oldVNode, t), + (this._oldVNode = t); + } + }), + (t.prototype.renderOneToVNode = function (t) { + return Rw(t, lw(this._id)); + }), + (t.prototype.renderToVNode = function (t) { + t = t || {}; + var e = this.storage.getDisplayList(!0), + n = this._width, + i = this._height, + r = lw(this._id); + (r.animation = t.animation), (r.willUpdate = t.willUpdate), (r.compress = t.compress), (r.emphasis = t.emphasis); + var o = [], + a = (this._bgVNode = (function (t, e, n, i) { + var r; + if (n && "none" !== n) + if (((r = aw("rect", "bg", { width: t, height: e, x: "0", y: "0" })), _i(n))) Nw({ fill: n }, r.attrs, "fill", i); + else if (vi(n)) + Ew( + { + style: { fill: n }, + dirty: bt, + getBoundingRect: function () { + return { width: t, height: e }; + }, + }, + r.attrs, + "fill", + i + ); + else { + var o = hi(n), + a = o.color, + s = o.opacity; + (r.attrs.fill = a), s < 1 && (r.attrs["fill-opacity"] = s); + } + return r; + })(n, i, this._backgroundColor, r)); + a && o.push(a); + var s = t.compress ? null : (this._mainVNode = aw("g", "main", {}, [])); + this._paintList(e, r, s ? s.children : o), s && o.push(s); + var l = z(G(r.defs), function (t) { + return r.defs[t]; + }); + if ((l.length && o.push(aw("defs", "defs", {}, l)), t.animation)) { + var u = (function (t, e, n) { + var i = (n = n || {}).newline ? "\n" : "", + r = " {" + i, + o = i + "}", + a = z(G(t), function (e) { + return ( + e + + r + + z(G(t[e]), function (n) { + return n + ":" + t[e][n] + ";"; + }).join(i) + + o + ); + }).join(i), + s = z(G(e), function (t) { + return ( + "@keyframes " + + t + + r + + z(G(e[t]), function (n) { + return ( + n + + r + + z(G(e[t][n]), function (i) { + var r = e[t][n][i]; + return "d" === i && (r = 'path("' + r + '")'), i + ":" + r + ";"; + }).join(i) + + o + ); + }).join(i) + + o + ); + }).join(i); + return a || s ? [""].join(i) : ""; + })(r.cssNodes, r.cssAnims, { newline: !0 }); + if (u) { + var h = aw("style", "stl", {}, [], u); + o.push(h); + } + } + return uw(n, i, o, t.useViewBox); + }), + (t.prototype.renderToString = function (t) { + return (t = t || {}), sw(this.renderToVNode({ animation: rt(t.cssAnimation, !0), emphasis: rt(t.cssEmphasis, !0), willUpdate: !1, compress: !0, useViewBox: rt(t.useViewBox, !0) }), { newline: !0 }); + }), + (t.prototype.setBackgroundColor = function (t) { + this._backgroundColor = t; + }), + (t.prototype.getSvgRoot = function () { + return this._mainVNode && this._mainVNode.elm; + }), + (t.prototype._paintList = function (t, e, n) { + for (var i, r, o = t.length, a = [], s = 0, l = 0, u = 0; u < o; u++) { + var h = t[u]; + if (!h.invisible) { + var c = h.__clipPaths, + p = (c && c.length) || 0, + d = (r && r.length) || 0, + f = void 0; + for (f = Math.max(p - 1, d - 1); f >= 0 && (!c || !r || c[f] !== r[f]); f--); + for (var g = d - 1; g > f; g--) i = a[--s - 1]; + for (var y = f + 1; y < p; y++) { + var v = {}; + zw(c[y], v, e); + var m = aw("g", "clip-g-" + l++, v, []); + (i ? i.children : n).push(m), (a[s++] = m), (i = m); + } + r = c; + var x = Rw(h, e); + x && (i ? i.children : n).push(x); + } + } + }), + (t.prototype.resize = function (t, e) { + var n = this._opts, + i = this.root, + r = this._viewport; + if ((null != t && (n.width = t), null != e && (n.height = e), i && r && ((r.style.display = "none"), (t = $y(i, 0, n)), (e = $y(i, 1, n)), (r.style.display = "")), this._width !== t || this._height !== e)) { + if (((this._width = t), (this._height = e), r)) { + var o = r.style; + (o.width = t + "px"), (o.height = e + "px"); + } + if (vi(this._backgroundColor)) this.refresh(); + else { + var a = this._svgDom; + a && (a.setAttribute("width", t), a.setAttribute("height", e)); + var s = this._bgVNode && this._bgVNode.elm; + s && (s.setAttribute("width", t), s.setAttribute("height", e)); + } + } + }), + (t.prototype.getWidth = function () { + return this._width; + }), + (t.prototype.getHeight = function () { + return this._height; + }), + (t.prototype.dispose = function () { + this.root && (this.root.innerHTML = ""), (this._svgDom = this._viewport = this.storage = this._oldVNode = this._bgVNode = this._mainVNode = null); + }), + (t.prototype.clear = function () { + this._svgDom && (this._svgDom.innerHTML = null), (this._oldVNode = null); + }), + (t.prototype.toDataURL = function (t) { + var e = this.renderToString(), + n = "data:image/svg+xml;"; + return t ? (e = Mi(e)) && n + "base64," + e : n + "charset=UTF-8," + encodeURIComponent(e); + }), + t + ); + })(); + function iS(t) { + return function () { + 0; + }; + } + function rS(t, e, n) { + var i = h.createCanvas(), + r = e.getWidth(), + o = e.getHeight(), + a = i.style; + return a && ((a.position = "absolute"), (a.left = "0"), (a.top = "0"), (a.width = r + "px"), (a.height = o + "px"), i.setAttribute("data-zr-dom-id", t)), (i.width = r * n), (i.height = o * n), i; + } + var oS = (function (t) { + function e(e, n, i) { + var r, + o = t.call(this) || this; + (o.motionBlur = !1), + (o.lastFrameAlpha = 0.7), + (o.dpr = 1), + (o.virtual = !1), + (o.config = {}), + (o.incremental = !1), + (o.zlevel = 0), + (o.maxRepaintRectCount = 5), + (o.__dirty = !0), + (o.__firstTimePaint = !0), + (o.__used = !1), + (o.__drawIndex = 0), + (o.__startIndex = 0), + (o.__endIndex = 0), + (o.__prevStartIndex = null), + (o.__prevEndIndex = null), + (i = i || sr), + "string" == typeof e ? (r = rS(e, n, i)) : q(e) && (e = (r = e).id), + (o.id = e), + (o.dom = r); + var a = r.style; + return ( + a && + (xt(r), + (r.onselectstart = function () { + return !1; + }), + (a.padding = "0"), + (a.margin = "0"), + (a.borderWidth = "0")), + (o.painter = n), + (o.dpr = i), + o + ); + } + return ( + n(e, t), + (e.prototype.getElementCount = function () { + return this.__endIndex - this.__startIndex; + }), + (e.prototype.afterBrush = function () { + (this.__prevStartIndex = this.__startIndex), (this.__prevEndIndex = this.__endIndex); + }), + (e.prototype.initContext = function () { + (this.ctx = this.dom.getContext("2d")), (this.ctx.dpr = this.dpr); + }), + (e.prototype.setUnpainted = function () { + this.__firstTimePaint = !0; + }), + (e.prototype.createBackBuffer = function () { + var t = this.dpr; + (this.domBack = rS("back-" + this.id, this.painter, t)), (this.ctxBack = this.domBack.getContext("2d")), 1 !== t && this.ctxBack.scale(t, t); + }), + (e.prototype.createRepaintRects = function (t, e, n, i) { + if (this.__firstTimePaint) return (this.__firstTimePaint = !1), null; + var r, + o = [], + a = this.maxRepaintRectCount, + s = !1, + l = new ze(0, 0, 0, 0); + function u(t) { + if (t.isFinite() && !t.isZero()) + if (0 === o.length) { + (e = new ze(0, 0, 0, 0)).copy(t), o.push(e); + } else { + for (var e, n = !1, i = 1 / 0, r = 0, u = 0; u < o.length; ++u) { + var h = o[u]; + if (h.intersect(t)) { + var c = new ze(0, 0, 0, 0); + c.copy(h), c.union(t), (o[u] = c), (n = !0); + break; + } + if (s) { + l.copy(t), l.union(h); + var p = t.width * t.height, + d = h.width * h.height, + f = l.width * l.height - p - d; + f < i && ((i = f), (r = u)); + } + } + if ((s && (o[r].union(t), (n = !0)), !n)) (e = new ze(0, 0, 0, 0)).copy(t), o.push(e); + s || (s = o.length >= a); + } + } + for (var h = this.__startIndex; h < this.__endIndex; ++h) { + if ((d = t[h])) { + var c = d.shouldBePainted(n, i, !0, !0); + (f = d.__isRendered && (1 & d.__dirty || !c) ? d.getPrevPaintRect() : null) && u(f); + var p = c && (1 & d.__dirty || !d.__isRendered) ? d.getPaintRect() : null; + p && u(p); + } + } + for (h = this.__prevStartIndex; h < this.__prevEndIndex; ++h) { + var d, f; + c = (d = e[h]) && d.shouldBePainted(n, i, !0, !0); + if (d && (!c || !d.__zr) && d.__isRendered) (f = d.getPrevPaintRect()) && u(f); + } + do { + r = !1; + for (h = 0; h < o.length; ) + if (o[h].isZero()) o.splice(h, 1); + else { + for (var g = h + 1; g < o.length; ) o[h].intersect(o[g]) ? ((r = !0), o[h].union(o[g]), o.splice(g, 1)) : g++; + h++; + } + } while (r); + return (this._paintRects = o), o; + }), + (e.prototype.debugGetPaintRects = function () { + return (this._paintRects || []).slice(); + }), + (e.prototype.resize = function (t, e) { + var n = this.dpr, + i = this.dom, + r = i.style, + o = this.domBack; + r && ((r.width = t + "px"), (r.height = e + "px")), (i.width = t * n), (i.height = e * n), o && ((o.width = t * n), (o.height = e * n), 1 !== n && this.ctxBack.scale(n, n)); + }), + (e.prototype.clear = function (t, e, n) { + var i = this.dom, + r = this.ctx, + o = i.width, + a = i.height; + e = e || this.clearColor; + var s = this.motionBlur && !t, + l = this.lastFrameAlpha, + u = this.dpr, + h = this; + s && (this.domBack || this.createBackBuffer(), (this.ctxBack.globalCompositeOperation = "copy"), this.ctxBack.drawImage(i, 0, 0, o / u, a / u)); + var c = this.domBack; + function p(t, n, i, o) { + if ((r.clearRect(t, n, i, o), e && "transparent" !== e)) { + var a = void 0; + if (Q(e)) (a = ((e.global || (e.__width === i && e.__height === o)) && e.__canvasGradient) || qy(r, e, { x: 0, y: 0, width: i, height: o })), (e.__canvasGradient = a), (e.__width = i), (e.__height = o); + else + tt(e) && + ((e.scaleX = e.scaleX || u), + (e.scaleY = e.scaleY || u), + (a = ov(r, e, { + dirty: function () { + h.setUnpainted(), h.painter.refresh(); + }, + }))); + r.save(), (r.fillStyle = a || e), r.fillRect(t, n, i, o), r.restore(); + } + s && (r.save(), (r.globalAlpha = l), r.drawImage(c, t, n, i, o), r.restore()); + } + !n || s + ? p(0, 0, o, a) + : n.length && + E(n, function (t) { + p(t.x * u, t.y * u, t.width * u, t.height * u); + }); + }), + e + ); + })(jt), + aS = 1e5, + sS = 314159, + lS = 0.01; + var uS = (function () { + function t(t, e, n, i) { + (this.type = "canvas"), (this._zlevelList = []), (this._prevDisplayList = []), (this._layers = {}), (this._layerConfig = {}), (this._needsManuallyCompositing = !1), (this.type = "canvas"); + var r = !t.nodeName || "CANVAS" === t.nodeName.toUpperCase(); + (this._opts = n = A({}, n || {})), (this.dpr = n.devicePixelRatio || sr), (this._singleCanvas = r), (this.root = t), t.style && (xt(t), (t.innerHTML = "")), (this.storage = e); + var o = this._zlevelList; + this._prevDisplayList = []; + var a = this._layers; + if (r) { + var s = t, + l = s.width, + u = s.height; + null != n.width && (l = n.width), null != n.height && (u = n.height), (this.dpr = n.devicePixelRatio || 1), (s.width = l * this.dpr), (s.height = u * this.dpr), (this._width = l), (this._height = u); + var h = new oS(s, this, this.dpr); + (h.__builtin__ = !0), h.initContext(), (a[314159] = h), (h.zlevel = sS), o.push(sS), (this._domRoot = t); + } else { + (this._width = $y(t, 0, n)), (this._height = $y(t, 1, n)); + var c = (this._domRoot = (function (t, e) { + var n = document.createElement("div"); + return (n.style.cssText = ["position:relative", "width:" + t + "px", "height:" + e + "px", "padding:0", "margin:0", "border-width:0"].join(";") + ";"), n; + })(this._width, this._height)); + t.appendChild(c); + } + } + return ( + (t.prototype.getType = function () { + return "canvas"; + }), + (t.prototype.isSingleCanvas = function () { + return this._singleCanvas; + }), + (t.prototype.getViewportRoot = function () { + return this._domRoot; + }), + (t.prototype.getViewportRootOffset = function () { + var t = this.getViewportRoot(); + if (t) return { offsetLeft: t.offsetLeft || 0, offsetTop: t.offsetTop || 0 }; + }), + (t.prototype.refresh = function (t) { + var e = this.storage.getDisplayList(!0), + n = this._prevDisplayList, + i = this._zlevelList; + (this._redrawId = Math.random()), this._paintList(e, n, t, this._redrawId); + for (var r = 0; r < i.length; r++) { + var o = i[r], + a = this._layers[o]; + if (!a.__builtin__ && a.refresh) { + var s = 0 === r ? this._backgroundColor : null; + a.refresh(s); + } + } + return this._opts.useDirtyRect && (this._prevDisplayList = e.slice()), this; + }), + (t.prototype.refreshHover = function () { + this._paintHoverList(this.storage.getDisplayList(!1)); + }), + (t.prototype._paintHoverList = function (t) { + var e = t.length, + n = this._hoverlayer; + if ((n && n.clear(), e)) { + for (var i, r = { inHover: !0, viewWidth: this._width, viewHeight: this._height }, o = 0; o < e; o++) { + var a = t[o]; + a.__inHover && (n || (n = this._hoverlayer = this.getLayer(aS)), i || (i = n.ctx).save(), fv(i, a, r, o === e - 1)); + } + i && i.restore(); + } + }), + (t.prototype.getHoverLayer = function () { + return this.getLayer(aS); + }), + (t.prototype.paintOne = function (t, e) { + dv(t, e); + }), + (t.prototype._paintList = function (t, e, n, i) { + if (this._redrawId === i) { + (n = n || !1), this._updateLayerStatus(t); + var r = this._doPaintList(t, e, n), + o = r.finished, + a = r.needsRefreshHover; + if ((this._needsManuallyCompositing && this._compositeManually(), a && this._paintHoverList(t), o)) + this.eachLayer(function (t) { + t.afterBrush && t.afterBrush(); + }); + else { + var s = this; + on(function () { + s._paintList(t, e, n, i); + }); + } + } + }), + (t.prototype._compositeManually = function () { + var t = this.getLayer(sS).ctx, + e = this._domRoot.width, + n = this._domRoot.height; + t.clearRect(0, 0, e, n), + this.eachBuiltinLayer(function (i) { + i.virtual && t.drawImage(i.dom, 0, 0, e, n); + }); + }), + (t.prototype._doPaintList = function (t, e, n) { + for (var i = this, o = [], a = this._opts.useDirtyRect, s = 0; s < this._zlevelList.length; s++) { + var l = this._zlevelList[s], + u = this._layers[l]; + u.__builtin__ && u !== this._hoverlayer && (u.__dirty || n) && o.push(u); + } + for ( + var h = !0, + c = !1, + p = function (r) { + var s, + l = o[r], + u = l.ctx, + p = a && l.createRepaintRects(t, e, d._width, d._height), + f = n ? l.__startIndex : l.__drawIndex, + g = !n && l.incremental && Date.now, + y = g && Date.now(), + v = l.zlevel === d._zlevelList[0] ? d._backgroundColor : null; + if (l.__startIndex === l.__endIndex) l.clear(!1, v, p); + else if (f === l.__startIndex) { + var m = t[f]; + (m.incremental && m.notClear && !n) || l.clear(!1, v, p); + } + -1 === f && (console.error("For some unknown reason. drawIndex is -1"), (f = l.__startIndex)); + var x = function (e) { + var n = { inHover: !1, allClipped: !1, prevEl: null, viewWidth: i._width, viewHeight: i._height }; + for (s = f; s < l.__endIndex; s++) { + var r = t[s]; + if ((r.__inHover && (c = !0), i._doPaintEl(r, l, a, e, n, s === l.__endIndex - 1), g)) if (Date.now() - y > 15) break; + } + n.prevElClipPaths && u.restore(); + }; + if (p) + if (0 === p.length) s = l.__endIndex; + else + for (var _ = d.dpr, b = 0; b < p.length; ++b) { + var w = p[b]; + u.save(), u.beginPath(), u.rect(w.x * _, w.y * _, w.width * _, w.height * _), u.clip(), x(w), u.restore(); + } + else u.save(), x(), u.restore(); + (l.__drawIndex = s), l.__drawIndex < l.__endIndex && (h = !1); + }, + d = this, + f = 0; + f < o.length; + f++ + ) + p(f); + return ( + r.wxa && + E(this._layers, function (t) { + t && t.ctx && t.ctx.draw && t.ctx.draw(); + }), + { finished: h, needsRefreshHover: c } + ); + }), + (t.prototype._doPaintEl = function (t, e, n, i, r, o) { + var a = e.ctx; + if (n) { + var s = t.getPaintRect(); + (!i || (s && s.intersect(i))) && (fv(a, t, r, o), t.setPrevPaintRect(s)); + } else fv(a, t, r, o); + }), + (t.prototype.getLayer = function (t, e) { + this._singleCanvas && !this._needsManuallyCompositing && (t = sS); + var n = this._layers[t]; + return ( + n || + (((n = new oS("zr_" + t, this, this.dpr)).zlevel = t), + (n.__builtin__ = !0), + this._layerConfig[t] ? C(n, this._layerConfig[t], !0) : this._layerConfig[t - lS] && C(n, this._layerConfig[t - lS], !0), + e && (n.virtual = e), + this.insertLayer(t, n), + n.initContext()), + n + ); + }), + (t.prototype.insertLayer = function (t, e) { + var n = this._layers, + i = this._zlevelList, + r = i.length, + o = this._domRoot, + a = null, + s = -1; + if ( + !n[t] && + (function (t) { + return !!t && (!!t.__builtin__ || ("function" == typeof t.resize && "function" == typeof t.refresh)); + })(e) + ) { + if (r > 0 && t > i[0]) { + for (s = 0; s < r - 1 && !(i[s] < t && i[s + 1] > t); s++); + a = n[i[s]]; + } + if ((i.splice(s + 1, 0, t), (n[t] = e), !e.virtual)) + if (a) { + var l = a.dom; + l.nextSibling ? o.insertBefore(e.dom, l.nextSibling) : o.appendChild(e.dom); + } else o.firstChild ? o.insertBefore(e.dom, o.firstChild) : o.appendChild(e.dom); + e.painter || (e.painter = this); + } + }), + (t.prototype.eachLayer = function (t, e) { + for (var n = this._zlevelList, i = 0; i < n.length; i++) { + var r = n[i]; + t.call(e, this._layers[r], r); + } + }), + (t.prototype.eachBuiltinLayer = function (t, e) { + for (var n = this._zlevelList, i = 0; i < n.length; i++) { + var r = n[i], + o = this._layers[r]; + o.__builtin__ && t.call(e, o, r); + } + }), + (t.prototype.eachOtherLayer = function (t, e) { + for (var n = this._zlevelList, i = 0; i < n.length; i++) { + var r = n[i], + o = this._layers[r]; + o.__builtin__ || t.call(e, o, r); + } + }), + (t.prototype.getLayers = function () { + return this._layers; + }), + (t.prototype._updateLayerStatus = function (t) { + function e(t) { + o && (o.__endIndex !== t && (o.__dirty = !0), (o.__endIndex = t)); + } + if ( + (this.eachBuiltinLayer(function (t, e) { + t.__dirty = t.__used = !1; + }), + this._singleCanvas) + ) + for (var n = 1; n < t.length; n++) { + if ((s = t[n]).zlevel !== t[n - 1].zlevel || s.incremental) { + this._needsManuallyCompositing = !0; + break; + } + } + var i, + r, + o = null, + a = 0; + for (r = 0; r < t.length; r++) { + var s, + l = (s = t[r]).zlevel, + u = void 0; + i !== l && ((i = l), (a = 0)), + s.incremental ? (((u = this.getLayer(l + 0.001, this._needsManuallyCompositing)).incremental = !0), (a = 1)) : (u = this.getLayer(l + (a > 0 ? lS : 0), this._needsManuallyCompositing)), + u.__builtin__ || I("ZLevel " + l + " has been used by unkown layer " + u.id), + u !== o && ((u.__used = !0), u.__startIndex !== r && (u.__dirty = !0), (u.__startIndex = r), u.incremental ? (u.__drawIndex = -1) : (u.__drawIndex = r), e(r), (o = u)), + 1 & s.__dirty && !s.__inHover && ((u.__dirty = !0), u.incremental && u.__drawIndex < 0 && (u.__drawIndex = r)); + } + e(r), + this.eachBuiltinLayer(function (t, e) { + !t.__used && t.getElementCount() > 0 && ((t.__dirty = !0), (t.__startIndex = t.__endIndex = t.__drawIndex = 0)), t.__dirty && t.__drawIndex < 0 && (t.__drawIndex = t.__startIndex); + }); + }), + (t.prototype.clear = function () { + return this.eachBuiltinLayer(this._clearLayer), this; + }), + (t.prototype._clearLayer = function (t) { + t.clear(); + }), + (t.prototype.setBackgroundColor = function (t) { + (this._backgroundColor = t), + E(this._layers, function (t) { + t.setUnpainted(); + }); + }), + (t.prototype.configLayer = function (t, e) { + if (e) { + var n = this._layerConfig; + n[t] ? C(n[t], e, !0) : (n[t] = e); + for (var i = 0; i < this._zlevelList.length; i++) { + var r = this._zlevelList[i]; + if (r === t || r === t + lS) C(this._layers[r], n[t], !0); + } + } + }), + (t.prototype.delLayer = function (t) { + var e = this._layers, + n = this._zlevelList, + i = e[t]; + i && (i.dom.parentNode.removeChild(i.dom), delete e[t], n.splice(P(n, t), 1)); + }), + (t.prototype.resize = function (t, e) { + if (this._domRoot.style) { + var n = this._domRoot; + n.style.display = "none"; + var i = this._opts, + r = this.root; + if ((null != t && (i.width = t), null != e && (i.height = e), (t = $y(r, 0, i)), (e = $y(r, 1, i)), (n.style.display = ""), this._width !== t || e !== this._height)) { + for (var o in ((n.style.width = t + "px"), (n.style.height = e + "px"), this._layers)) this._layers.hasOwnProperty(o) && this._layers[o].resize(t, e); + this.refresh(!0); + } + (this._width = t), (this._height = e); + } else { + if (null == t || null == e) return; + (this._width = t), (this._height = e), this.getLayer(sS).resize(t, e); + } + return this; + }), + (t.prototype.clearLayer = function (t) { + var e = this._layers[t]; + e && e.clear(); + }), + (t.prototype.dispose = function () { + (this.root.innerHTML = ""), (this.root = this.storage = this._domRoot = this._layers = null); + }), + (t.prototype.getRenderedCanvas = function (t) { + if (((t = t || {}), this._singleCanvas && !this._compositeManually)) return this._layers[314159].dom; + var e = new oS("image", this, t.pixelRatio || this.dpr); + e.initContext(), e.clear(!1, t.backgroundColor || this._backgroundColor); + var n = e.ctx; + if (t.pixelRatio <= this.dpr) { + this.refresh(); + var i = e.dom.width, + r = e.dom.height; + this.eachLayer(function (t) { + t.__builtin__ ? n.drawImage(t.dom, 0, 0, i, r) : t.renderToCanvas && (n.save(), t.renderToCanvas(n), n.restore()); + }); + } else + for (var o = { inHover: !1, viewWidth: this._width, viewHeight: this._height }, a = this.storage.getDisplayList(!0), s = 0, l = a.length; s < l; s++) { + var u = a[s]; + fv(n, u, o, s === l - 1); + } + return e.dom; + }), + (t.prototype.getWidth = function () { + return this._width; + }), + (t.prototype.getHeight = function () { + return this._height; + }), + t + ); + })(); + var hS = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), (n.hasSymbolVisual = !0), n; + } + return ( + n(e, t), + (e.prototype.getInitialData = function (t) { + return _x(null, this, { useEncodeDefaulter: !0 }); + }), + (e.prototype.getLegendIcon = function (t) { + var e = new Br(), + n = Xy("line", 0, t.itemHeight / 2, t.itemWidth, 0, t.lineStyle.stroke, !1); + e.add(n), n.setStyle(t.lineStyle); + var i = this.getData().getVisual("symbol"), + r = this.getData().getVisual("symbolRotate"), + o = "none" === i ? "circle" : i, + a = 0.8 * t.itemHeight, + s = Xy(o, (t.itemWidth - a) / 2, (t.itemHeight - a) / 2, a, a, t.itemStyle.fill); + e.add(s), s.setStyle(t.itemStyle); + var l = "inherit" === t.iconRotate ? r : t.iconRotate || 0; + return (s.rotation = (l * Math.PI) / 180), s.setOrigin([t.itemWidth / 2, t.itemHeight / 2]), o.indexOf("empty") > -1 && ((s.style.stroke = s.style.fill), (s.style.fill = "#fff"), (s.style.lineWidth = 2)), e; + }), + (e.type = "series.line"), + (e.dependencies = ["grid", "polar"]), + (e.defaultOption = { + z: 3, + coordinateSystem: "cartesian2d", + legendHoverLink: !0, + clip: !0, + label: { position: "top" }, + endLabel: { show: !1, valueAnimation: !0, distance: 8 }, + lineStyle: { width: 2, type: "solid" }, + emphasis: { scale: !0 }, + step: !1, + smooth: !1, + smoothMonotone: null, + symbol: "emptyCircle", + symbolSize: 4, + symbolRotate: null, + showSymbol: !0, + showAllSymbol: "auto", + connectNulls: !1, + sampling: "none", + animationEasing: "linear", + progressive: 0, + hoverLayerThreshold: 1 / 0, + universalTransition: { divideShape: "clone" }, + triggerLineEvent: !1, + }), + e + ); + })(bg); + function cS(t, e) { + var n = t.mapDimensionsAll("defaultedLabel"), + i = n.length; + if (1 === i) { + var r = mf(t, e, n[0]); + return null != r ? r + "" : null; + } + if (i) { + for (var o = [], a = 0; a < n.length; a++) o.push(mf(t, e, n[a])); + return o.join(" "); + } + } + function pS(t, e) { + var n = t.mapDimensionsAll("defaultedLabel"); + if (!Y(e)) return e + ""; + for (var i = [], r = 0; r < n.length; r++) { + var o = t.getDimensionIndex(n[r]); + o >= 0 && i.push(e[o]); + } + return i.join(" "); + } + var dS = (function (t) { + function e(e, n, i, r) { + var o = t.call(this) || this; + return o.updateData(e, n, i, r), o; + } + return ( + n(e, t), + (e.prototype._createSymbol = function (t, e, n, i, r) { + this.removeAll(); + var o = Xy(t, -1, -1, 2, 2, null, r); + o.attr({ z2: 100, culling: !0, scaleX: i[0] / 2, scaleY: i[1] / 2 }), (o.drift = fS), (this._symbolType = t), this.add(o); + }), + (e.prototype.stopSymbolAnimation = function (t) { + this.childAt(0).stopAnimation(null, t); + }), + (e.prototype.getSymbolType = function () { + return this._symbolType; + }), + (e.prototype.getSymbolPath = function () { + return this.childAt(0); + }), + (e.prototype.highlight = function () { + Ol(this.childAt(0)); + }), + (e.prototype.downplay = function () { + Rl(this.childAt(0)); + }), + (e.prototype.setZ = function (t, e) { + var n = this.childAt(0); + (n.zlevel = t), (n.z = e); + }), + (e.prototype.setDraggable = function (t, e) { + var n = this.childAt(0); + (n.draggable = t), (n.cursor = !e && t ? "move" : n.cursor); + }), + (e.prototype.updateData = function (t, n, i, r) { + this.silent = !1; + var o = t.getItemVisual(n, "symbol") || "circle", + a = t.hostModel, + s = e.getSymbolSize(t, n), + l = o !== this._symbolType, + u = r && r.disableAnimation; + if (l) { + var h = t.getItemVisual(n, "symbolKeepAspect"); + this._createSymbol(o, t, n, s, h); + } else { + (p = this.childAt(0)).silent = !1; + var c = { scaleX: s[0] / 2, scaleY: s[1] / 2 }; + u ? p.attr(c) : vh(p, c, a, n), Sh(p); + } + if ((this._updateCommon(t, n, s, i, r), l)) { + var p = this.childAt(0); + if (!u) { + c = { scaleX: this._sizeX, scaleY: this._sizeY, style: { opacity: p.style.opacity } }; + (p.scaleX = p.scaleY = 0), (p.style.opacity = 0), mh(p, c, a, n); + } + } + u && this.childAt(0).stopAnimation("leave"); + }), + (e.prototype._updateCommon = function (t, e, n, i, r) { + var o, + a, + s, + l, + u, + h, + c, + p, + d, + f = this.childAt(0), + g = t.hostModel; + if ( + (i && ((o = i.emphasisItemStyle), (a = i.blurItemStyle), (s = i.selectItemStyle), (l = i.focus), (u = i.blurScope), (c = i.labelStatesModels), (p = i.hoverScale), (d = i.cursorStyle), (h = i.emphasisDisabled)), + !i || t.hasItemOption) + ) { + var y = i && i.itemModel ? i.itemModel : t.getItemModel(e), + v = y.getModel("emphasis"); + (o = v.getModel("itemStyle").getItemStyle()), + (s = y.getModel(["select", "itemStyle"]).getItemStyle()), + (a = y.getModel(["blur", "itemStyle"]).getItemStyle()), + (l = v.get("focus")), + (u = v.get("blurScope")), + (h = v.get("disabled")), + (c = rc(y)), + (p = v.getShallow("scale")), + (d = y.getShallow("cursor")); + } + var m = t.getItemVisual(e, "symbolRotate"); + f.attr("rotation", ((m || 0) * Math.PI) / 180 || 0); + var x = Zy(t.getItemVisual(e, "symbolOffset"), n); + x && ((f.x = x[0]), (f.y = x[1])), d && f.attr("cursor", d); + var _ = t.getItemVisual(e, "style"), + b = _.fill; + if (f instanceof Ns) { + var w = f.style; + f.useStyle(A({ image: w.image, x: w.x, y: w.y, width: w.width, height: w.height }, _)); + } else f.__isEmptyBrush ? f.useStyle(A({}, _)) : f.useStyle(_), (f.style.decal = null), f.setColor(b, r && r.symbolInnerColor), (f.style.strokeNoScale = !0); + var S = t.getItemVisual(e, "liftZ"), + M = this._z2; + null != S ? null == M && ((this._z2 = f.z2), (f.z2 += S)) : null != M && ((f.z2 = M), (this._z2 = null)); + var I = r && r.useNameLabel; + ic(f, c, { + labelFetcher: g, + labelDataIndex: e, + defaultText: function (e) { + return I ? t.getName(e) : cS(t, e); + }, + inheritColor: b, + defaultOpacity: _.opacity, + }), + (this._sizeX = n[0] / 2), + (this._sizeY = n[1] / 2); + var T = f.ensureState("emphasis"); + (T.style = o), (f.ensureState("select").style = s), (f.ensureState("blur").style = a); + var C = null == p || !0 === p ? Math.max(1.1, 3 / this._sizeY) : isFinite(p) && p > 0 ? +p : 1; + (T.scaleX = this._sizeX * C), (T.scaleY = this._sizeY * C), this.setSymbolScale(1), Zl(this, l, u, h); + }), + (e.prototype.setSymbolScale = function (t) { + this.scaleX = this.scaleY = t; + }), + (e.prototype.fadeOut = function (t, e, n) { + var i = this.childAt(0), + r = rl(this).dataIndex, + o = n && n.animation; + if (((this.silent = i.silent = !0), n && n.fadeLabel)) { + var a = i.getTextContent(); + a && + _h(a, { style: { opacity: 0 } }, e, { + dataIndex: r, + removeOpt: o, + cb: function () { + i.removeTextContent(); + }, + }); + } else i.removeTextContent(); + _h(i, { style: { opacity: 0 }, scaleX: 0, scaleY: 0 }, e, { dataIndex: r, cb: t, removeOpt: o }); + }), + (e.getSymbolSize = function (t, e) { + return Uy(t.getItemVisual(e, "symbolSize")); + }), + e + ); + })(Br); + function fS(t, e) { + this.parent.drift(t, e); + } + function gS(t, e, n, i) { + return e && !isNaN(e[0]) && !isNaN(e[1]) && !(i.isIgnore && i.isIgnore(n)) && !(i.clipShape && !i.clipShape.contain(e[0], e[1])) && "none" !== t.getItemVisual(n, "symbol"); + } + function yS(t) { + return null == t || q(t) || (t = { isIgnore: t }), t || {}; + } + function vS(t) { + var e = t.hostModel, + n = e.getModel("emphasis"); + return { + emphasisItemStyle: n.getModel("itemStyle").getItemStyle(), + blurItemStyle: e.getModel(["blur", "itemStyle"]).getItemStyle(), + selectItemStyle: e.getModel(["select", "itemStyle"]).getItemStyle(), + focus: n.get("focus"), + blurScope: n.get("blurScope"), + emphasisDisabled: n.get("disabled"), + hoverScale: n.get("scale"), + labelStatesModels: rc(e), + cursorStyle: e.get("cursor"), + }; + } + var mS = (function () { + function t(t) { + (this.group = new Br()), (this._SymbolCtor = t || dS); + } + return ( + (t.prototype.updateData = function (t, e) { + (this._progressiveEls = null), (e = yS(e)); + var n = this.group, + i = t.hostModel, + r = this._data, + o = this._SymbolCtor, + a = e.disableAnimation, + s = vS(t), + l = { disableAnimation: a }, + u = + e.getSymbolPoint || + function (e) { + return t.getItemLayout(e); + }; + r || n.removeAll(), + t + .diff(r) + .add(function (i) { + var r = u(i); + if (gS(t, r, i, e)) { + var a = new o(t, i, s, l); + a.setPosition(r), t.setItemGraphicEl(i, a), n.add(a); + } + }) + .update(function (h, c) { + var p = r.getItemGraphicEl(c), + d = u(h); + if (gS(t, d, h, e)) { + var f = t.getItemVisual(h, "symbol") || "circle", + g = p && p.getSymbolType && p.getSymbolType(); + if (!p || (g && g !== f)) n.remove(p), (p = new o(t, h, s, l)).setPosition(d); + else { + p.updateData(t, h, s, l); + var y = { x: d[0], y: d[1] }; + a ? p.attr(y) : vh(p, y, i); + } + n.add(p), t.setItemGraphicEl(h, p); + } else n.remove(p); + }) + .remove(function (t) { + var e = r.getItemGraphicEl(t); + e && + e.fadeOut(function () { + n.remove(e); + }, i); + }) + .execute(), + (this._getSymbolPoint = u), + (this._data = t); + }), + (t.prototype.updateLayout = function () { + var t = this, + e = this._data; + e && + e.eachItemGraphicEl(function (e, n) { + var i = t._getSymbolPoint(n); + e.setPosition(i), e.markRedraw(); + }); + }), + (t.prototype.incrementalPrepareUpdate = function (t) { + (this._seriesScope = vS(t)), (this._data = null), this.group.removeAll(); + }), + (t.prototype.incrementalUpdate = function (t, e, n) { + function i(t) { + t.isGroup || ((t.incremental = !0), (t.ensureState("emphasis").hoverLayer = !0)); + } + (this._progressiveEls = []), (n = yS(n)); + for (var r = t.start; r < t.end; r++) { + var o = e.getItemLayout(r); + if (gS(e, o, r, n)) { + var a = new this._SymbolCtor(e, r, this._seriesScope); + a.traverse(i), a.setPosition(o), this.group.add(a), e.setItemGraphicEl(r, a), this._progressiveEls.push(a); + } + } + }), + (t.prototype.eachRendered = function (t) { + Jh(this._progressiveEls || this.group, t); + }), + (t.prototype.remove = function (t) { + var e = this.group, + n = this._data; + n && t + ? n.eachItemGraphicEl(function (t) { + t.fadeOut(function () { + e.remove(t); + }, n.hostModel); + }) + : e.removeAll(); + }), + t + ); + })(); + function xS(t, e, n) { + var i = t.getBaseAxis(), + r = t.getOtherAxis(i), + o = (function (t, e) { + var n = 0, + i = t.scale.getExtent(); + "start" === e ? (n = i[0]) : "end" === e ? (n = i[1]) : j(e) && !isNaN(e) ? (n = e) : i[0] > 0 ? (n = i[0]) : i[1] < 0 && (n = i[1]); + return n; + })(r, n), + a = i.dim, + s = r.dim, + l = e.mapDimension(s), + u = e.mapDimension(a), + h = "x" === s || "radius" === s ? 1 : 0, + c = z(t.dimensions, function (t) { + return e.mapDimension(t); + }), + p = !1, + d = e.getCalculationInfo("stackResultDimension"); + return ( + mx(e, c[0]) && ((p = !0), (c[0] = d)), + mx(e, c[1]) && ((p = !0), (c[1] = d)), + { dataDimsForPoint: c, valueStart: o, valueAxisDim: s, baseAxisDim: a, stacked: !!p, valueDim: l, baseDim: u, baseDataOffset: h, stackedOverDimension: e.getCalculationInfo("stackedOverDimension") } + ); + } + function _S(t, e, n, i) { + var r = NaN; + t.stacked && (r = n.get(n.getCalculationInfo("stackedOverDimension"), i)), isNaN(r) && (r = t.valueStart); + var o = t.baseDataOffset, + a = []; + return (a[o] = n.get(t.baseDim, i)), (a[1 - o] = r), e.dataToPoint(a); + } + var bS = Math.min, + wS = Math.max; + function SS(t, e) { + return isNaN(t) || isNaN(e); + } + function MS(t, e, n, i, r, o, a, s, l) { + for (var u, h, c, p, d, f, g = n, y = 0; y < i; y++) { + var v = e[2 * g], + m = e[2 * g + 1]; + if (g >= r || g < 0) break; + if (SS(v, m)) { + if (l) { + g += o; + continue; + } + break; + } + if (g === n) t[o > 0 ? "moveTo" : "lineTo"](v, m), (c = v), (p = m); + else { + var x = v - u, + _ = m - h; + if (x * x + _ * _ < 0.5) { + g += o; + continue; + } + if (a > 0) { + for (var b = g + o, w = e[2 * b], S = e[2 * b + 1]; w === v && S === m && y < i; ) y++, (g += o), (w = e[2 * (b += o)]), (S = e[2 * b + 1]), (x = (v = e[2 * g]) - u), (_ = (m = e[2 * g + 1]) - h); + var M = y + 1; + if (l) for (; SS(w, S) && M < i; ) M++, (w = e[2 * (b += o)]), (S = e[2 * b + 1]); + var I = 0.5, + T = 0, + C = 0, + D = void 0, + A = void 0; + if (M >= i || SS(w, S)) (d = v), (f = m); + else { + (T = w - u), (C = S - h); + var k = v - u, + L = w - v, + P = m - h, + O = S - m, + R = void 0, + N = void 0; + if ("x" === s) { + var E = T > 0 ? 1 : -1; + (d = v - E * (R = Math.abs(k)) * a), (f = m), (D = v + E * (N = Math.abs(L)) * a), (A = m); + } else if ("y" === s) { + var z = C > 0 ? 1 : -1; + (d = v), (f = m - z * (R = Math.abs(P)) * a), (D = v), (A = m + z * (N = Math.abs(O)) * a); + } else + (R = Math.sqrt(k * k + P * P)), + (d = v - T * a * (1 - (I = (N = Math.sqrt(L * L + O * O)) / (N + R)))), + (f = m - C * a * (1 - I)), + (A = m + C * a * I), + (D = bS((D = v + T * a * I), wS(w, v))), + (A = bS(A, wS(S, m))), + (D = wS(D, bS(w, v))), + (f = m - ((C = (A = wS(A, bS(S, m))) - m) * R) / N), + (d = bS((d = v - ((T = D - v) * R) / N), wS(u, v))), + (f = bS(f, wS(h, m))), + (D = v + ((T = v - (d = wS(d, bS(u, v)))) * N) / R), + (A = m + ((C = m - (f = wS(f, bS(h, m)))) * N) / R); + } + t.bezierCurveTo(c, p, d, f, v, m), (c = D), (p = A); + } else t.lineTo(v, m); + } + (u = v), (h = m), (g += o); + } + return y; + } + var IS = function () { + (this.smooth = 0), (this.smoothConstraint = !0); + }, + TS = (function (t) { + function e(e) { + var n = t.call(this, e) || this; + return (n.type = "ec-polyline"), n; + } + return ( + n(e, t), + (e.prototype.getDefaultStyle = function () { + return { stroke: "#000", fill: null }; + }), + (e.prototype.getDefaultShape = function () { + return new IS(); + }), + (e.prototype.buildPath = function (t, e) { + var n = e.points, + i = 0, + r = n.length / 2; + if (e.connectNulls) { + for (; r > 0 && SS(n[2 * r - 2], n[2 * r - 1]); r--); + for (; i < r && SS(n[2 * i], n[2 * i + 1]); i++); + } + for (; i < r; ) i += MS(t, n, i, r, r, 1, e.smooth, e.smoothMonotone, e.connectNulls) + 1; + }), + (e.prototype.getPointOn = function (t, e) { + this.path || (this.createPathProxy(), this.buildPath(this.path, this.shape)); + for (var n, i, r = this.path.data, o = hs.CMD, a = "x" === e, s = [], l = 0; l < r.length; ) { + var u = void 0, + h = void 0, + c = void 0, + p = void 0, + d = void 0, + f = void 0, + g = void 0; + switch (r[l++]) { + case o.M: + (n = r[l++]), (i = r[l++]); + break; + case o.L: + if (((u = r[l++]), (h = r[l++]), (g = a ? (t - n) / (u - n) : (t - i) / (h - i)) <= 1 && g >= 0)) { + var y = a ? (h - i) * g + i : (u - n) * g + n; + return a ? [t, y] : [y, t]; + } + (n = u), (i = h); + break; + case o.C: + (u = r[l++]), (h = r[l++]), (c = r[l++]), (p = r[l++]), (d = r[l++]), (f = r[l++]); + var v = a ? _n(n, u, c, d, t, s) : _n(i, h, p, f, t, s); + if (v > 0) + for (var m = 0; m < v; m++) { + var x = s[m]; + if (x <= 1 && x >= 0) { + y = a ? mn(i, h, p, f, x) : mn(n, u, c, d, x); + return a ? [t, y] : [y, t]; + } + } + (n = d), (i = f); + } + } + }), + e + ); + })(ks), + CS = (function (t) { + function e() { + return (null !== t && t.apply(this, arguments)) || this; + } + return n(e, t), e; + })(IS), + DS = (function (t) { + function e(e) { + var n = t.call(this, e) || this; + return (n.type = "ec-polygon"), n; + } + return ( + n(e, t), + (e.prototype.getDefaultShape = function () { + return new CS(); + }), + (e.prototype.buildPath = function (t, e) { + var n = e.points, + i = e.stackedOnPoints, + r = 0, + o = n.length / 2, + a = e.smoothMonotone; + if (e.connectNulls) { + for (; o > 0 && SS(n[2 * o - 2], n[2 * o - 1]); o--); + for (; r < o && SS(n[2 * r], n[2 * r + 1]); r++); + } + for (; r < o; ) { + var s = MS(t, n, r, o, o, 1, e.smooth, a, e.connectNulls); + MS(t, i, r + s - 1, s, o, -1, e.stackedOnSmooth, a, e.connectNulls), (r += s + 1), t.closePath(); + } + }), + e + ); + })(ks); + function AS(t, e, n, i, r) { + var o = t.getArea(), + a = o.x, + s = o.y, + l = o.width, + u = o.height, + h = n.get(["lineStyle", "width"]) || 2; + (a -= h / 2), (s -= h / 2), (l += h), (u += h), (l = Math.ceil(l)), a !== Math.floor(a) && ((a = Math.floor(a)), l++); + var c = new Ws({ shape: { x: a, y: s, width: l, height: u } }); + if (e) { + var p = t.getBaseAxis(), + d = p.isHorizontal(), + f = p.inverse; + d ? (f && (c.shape.x += l), (c.shape.width = 0)) : (f || (c.shape.y += u), (c.shape.height = 0)); + var g = X(r) + ? function (t) { + r(t, c); + } + : null; + mh(c, { shape: { width: l, height: u, x: a, y: s } }, n, null, i, g); + } + return c; + } + function kS(t, e, n) { + var i = t.getArea(), + r = Jr(i.r0, 1), + o = Jr(i.r, 1), + a = new Fu({ shape: { cx: Jr(t.cx, 1), cy: Jr(t.cy, 1), r0: r, r: o, startAngle: i.startAngle, endAngle: i.endAngle, clockwise: i.clockwise } }); + e && ("angle" === t.getBaseAxis().dim ? (a.shape.endAngle = i.startAngle) : (a.shape.r = r), mh(a, { shape: { endAngle: i.endAngle, r: o } }, n)); + return a; + } + function LS(t, e, n, i, r) { + return t ? ("polar" === t.type ? kS(t, e, n) : "cartesian2d" === t.type ? AS(t, e, n, i, r) : null) : null; + } + function PS(t, e) { + return t.type === e; + } + function OS(t, e) { + if (t.length === e.length) { + for (var n = 0; n < t.length; n++) if (t[n] !== e[n]) return; + return !0; + } + } + function RS(t) { + for (var e = 1 / 0, n = 1 / 0, i = -1 / 0, r = -1 / 0, o = 0; o < t.length; ) { + var a = t[o++], + s = t[o++]; + isNaN(a) || ((e = Math.min(a, e)), (i = Math.max(a, i))), isNaN(s) || ((n = Math.min(s, n)), (r = Math.max(s, r))); + } + return [ + [e, n], + [i, r], + ]; + } + function NS(t, e) { + var n = RS(t), + i = n[0], + r = n[1], + o = RS(e), + a = o[0], + s = o[1]; + return Math.max(Math.abs(i[0] - a[0]), Math.abs(i[1] - a[1]), Math.abs(r[0] - s[0]), Math.abs(r[1] - s[1])); + } + function ES(t) { + return j(t) ? t : t ? 0.5 : 0; + } + function zS(t, e, n, i) { + var r = e.getBaseAxis(), + o = "x" === r.dim || "radius" === r.dim ? 0 : 1, + a = [], + s = 0, + l = [], + u = [], + h = [], + c = []; + if (i) { + for (s = 0; s < t.length; s += 2) isNaN(t[s]) || isNaN(t[s + 1]) || c.push(t[s], t[s + 1]); + t = c; + } + for (s = 0; s < t.length - 2; s += 2) + switch (((h[0] = t[s + 2]), (h[1] = t[s + 3]), (u[0] = t[s]), (u[1] = t[s + 1]), a.push(u[0], u[1]), n)) { + case "end": + (l[o] = h[o]), (l[1 - o] = u[1 - o]), a.push(l[0], l[1]); + break; + case "middle": + var p = (u[o] + h[o]) / 2, + d = []; + (l[o] = d[o] = p), (l[1 - o] = u[1 - o]), (d[1 - o] = h[1 - o]), a.push(l[0], l[1]), a.push(d[0], d[1]); + break; + default: + (l[o] = u[o]), (l[1 - o] = h[1 - o]), a.push(l[0], l[1]); + } + return a.push(t[s++], t[s++]), a; + } + function VS(t, e, n) { + var i = t.getVisual("visualMeta"); + if (i && i.length && t.count() && "cartesian2d" === e.type) { + for (var r, o, a = i.length - 1; a >= 0; a--) { + var s = t.getDimensionInfo(i[a].dimension); + if ("x" === (r = s && s.coordDim) || "y" === r) { + o = i[a]; + break; + } + } + if (o) { + var l = e.getAxis(r), + u = z(o.stops, function (t) { + return { coord: l.toGlobalCoord(l.dataToCoord(t.value)), color: t.color }; + }), + h = u.length, + c = o.outerColors.slice(); + h && u[0].coord > u[h - 1].coord && (u.reverse(), c.reverse()); + var p = (function (t, e) { + var n, + i, + r = [], + o = t.length; + function a(t, e, n) { + var i = t.coord; + return { coord: n, color: ti((n - i) / (e.coord - i), [t.color, e.color]) }; + } + for (var s = 0; s < o; s++) { + var l = t[s], + u = l.coord; + if (u < 0) n = l; + else { + if (u > e) { + i ? r.push(a(i, l, e)) : n && r.push(a(n, l, 0), a(n, l, e)); + break; + } + n && (r.push(a(n, l, 0)), (n = null)), r.push(l), (i = l); + } + } + return r; + })(u, "x" === r ? n.getWidth() : n.getHeight()), + d = p.length; + if (!d && h) return u[0].coord < 0 ? (c[1] ? c[1] : u[h - 1].color) : c[0] ? c[0] : u[0].color; + var f = p[0].coord - 10, + g = p[d - 1].coord + 10, + y = g - f; + if (y < 0.001) return "transparent"; + E(p, function (t) { + t.offset = (t.coord - f) / y; + }), + p.push({ offset: d ? p[d - 1].offset : 0.5, color: c[1] || "transparent" }), + p.unshift({ offset: d ? p[0].offset : 0.5, color: c[0] || "transparent" }); + var v = new oh(0, 0, 0, 0, p, !0); + return (v[r] = f), (v[r + "2"] = g), v; + } + } + } + function BS(t, e, n) { + var i = t.get("showAllSymbol"), + r = "auto" === i; + if (!i || r) { + var o = n.getAxesByScale("ordinal")[0]; + if ( + o && + (!r || + !(function (t, e) { + var n = t.getExtent(), + i = Math.abs(n[1] - n[0]) / t.scale.count(); + isNaN(i) && (i = 0); + for (var r = e.count(), o = Math.max(1, Math.round(r / 5)), a = 0; a < r; a += o) if (1.5 * dS.getSymbolSize(e, a)[t.isHorizontal() ? 1 : 0] > i) return !1; + return !0; + })(o, e)) + ) { + var a = e.mapDimension(o.dim), + s = {}; + return ( + E(o.getViewLabels(), function (t) { + var e = o.scale.getRawOrdinalNumber(t.tickValue); + s[e] = 1; + }), + function (t) { + return !s.hasOwnProperty(e.get(a, t)); + } + ); + } + } + } + function FS(t, e) { + return [t[2 * e], t[2 * e + 1]]; + } + function GS(t) { + if (t.get(["endLabel", "show"])) return !0; + for (var e = 0; e < hl.length; e++) if (t.get([hl[e], "endLabel", "show"])) return !0; + return !1; + } + function WS(t, e, n, i) { + if (PS(e, "cartesian2d")) { + var r = i.getModel("endLabel"), + o = r.get("valueAnimation"), + a = i.getData(), + s = { lastFrameIndex: 0 }, + l = GS(i) + ? function (n, i) { + t._endLabelOnDuring(n, i, a, s, o, r, e); + } + : null, + u = e.getBaseAxis().isHorizontal(), + h = AS( + e, + n, + i, + function () { + var e = t._endLabel; + e && n && null != s.originalX && e.attr({ x: s.originalX, y: s.originalY }); + }, + l + ); + if (!i.get("clip", !0)) { + var c = h.shape, + p = Math.max(c.width, c.height); + u ? ((c.y -= p), (c.height += 2 * p)) : ((c.x -= p), (c.width += 2 * p)); + } + return l && l(1, h), h; + } + return kS(e, n, i); + } + var HS = (function (t) { + function e() { + return (null !== t && t.apply(this, arguments)) || this; + } + return ( + n(e, t), + (e.prototype.init = function () { + var t = new Br(), + e = new mS(); + this.group.add(e.group), (this._symbolDraw = e), (this._lineGroup = t); + }), + (e.prototype.render = function (t, e, n) { + var i = this, + r = t.coordinateSystem, + o = this.group, + a = t.getData(), + s = t.getModel("lineStyle"), + l = t.getModel("areaStyle"), + u = a.getLayout("points") || [], + h = "polar" === r.type, + c = this._coordSys, + p = this._symbolDraw, + d = this._polyline, + f = this._polygon, + g = this._lineGroup, + y = !e.ssr && t.get("animation"), + v = !l.isEmpty(), + m = l.get("origin"), + x = xS(r, a, m), + _ = + v && + (function (t, e, n) { + if (!n.valueDim) return []; + for (var i = e.count(), r = Bx(2 * i), o = 0; o < i; o++) { + var a = _S(n, t, e, o); + (r[2 * o] = a[0]), (r[2 * o + 1] = a[1]); + } + return r; + })(r, a, x), + b = t.get("showSymbol"), + w = t.get("connectNulls"), + S = b && !h && BS(t, a, r), + M = this._data; + M && + M.eachItemGraphicEl(function (t, e) { + t.__temp && (o.remove(t), M.setItemGraphicEl(e, null)); + }), + b || p.remove(), + o.add(g); + var I, + T = !h && t.get("step"); + r && r.getArea && t.get("clip", !0) && (null != (I = r.getArea()).width ? ((I.x -= 0.1), (I.y -= 0.1), (I.width += 0.2), (I.height += 0.2)) : I.r0 && ((I.r0 -= 0.5), (I.r += 0.5))), (this._clipShapeForSymbol = I); + var C = VS(a, r, n) || a.getVisual("style")[a.getVisual("drawType")]; + if (d && c.type === r.type && T === this._step) { + v && !f ? (f = this._newPolygon(u, _)) : f && !v && (g.remove(f), (f = this._polygon = null)), h || this._initOrUpdateEndLabel(t, r, Sp(C)); + var D = g.getClipPath(); + if (D) mh(D, { shape: WS(this, r, !1, t).shape }, t); + else g.setClipPath(WS(this, r, !0, t)); + b && + p.updateData(a, { + isIgnore: S, + clipShape: I, + disableAnimation: !0, + getSymbolPoint: function (t) { + return [u[2 * t], u[2 * t + 1]]; + }, + }), + (OS(this._stackedOnPoints, _) && OS(this._points, u)) || + (y ? this._doUpdateAnimation(a, _, r, n, T, m, w) : (T && ((u = zS(u, r, T, w)), _ && (_ = zS(_, r, T, w))), d.setShape({ points: u }), f && f.setShape({ points: u, stackedOnPoints: _ }))); + } else + b && + p.updateData(a, { + isIgnore: S, + clipShape: I, + disableAnimation: !0, + getSymbolPoint: function (t) { + return [u[2 * t], u[2 * t + 1]]; + }, + }), + y && this._initSymbolLabelAnimation(a, r, I), + T && ((u = zS(u, r, T, w)), _ && (_ = zS(_, r, T, w))), + (d = this._newPolyline(u)), + v ? (f = this._newPolygon(u, _)) : f && (g.remove(f), (f = this._polygon = null)), + h || this._initOrUpdateEndLabel(t, r, Sp(C)), + g.setClipPath(WS(this, r, !0, t)); + var A = t.getModel("emphasis"), + L = A.get("focus"), + P = A.get("blurScope"), + O = A.get("disabled"); + (d.useStyle(k(s.getLineStyle(), { fill: "none", stroke: C, lineJoin: "bevel" })), $l(d, t, "lineStyle"), d.style.lineWidth > 0 && "bolder" === t.get(["emphasis", "lineStyle", "width"])) && + (d.getState("emphasis").style.lineWidth = +d.style.lineWidth + 1); + (rl(d).seriesIndex = t.seriesIndex), Zl(d, L, P, O); + var R = ES(t.get("smooth")), + N = t.get("smoothMonotone"); + if ((d.setShape({ smooth: R, smoothMonotone: N, connectNulls: w }), f)) { + var E = a.getCalculationInfo("stackedOnSeries"), + z = 0; + f.useStyle(k(l.getAreaStyle(), { fill: C, opacity: 0.7, lineJoin: "bevel", decal: a.getVisual("style").decal })), + E && (z = ES(E.get("smooth"))), + f.setShape({ smooth: R, stackedOnSmooth: z, smoothMonotone: N, connectNulls: w }), + $l(f, t, "areaStyle"), + (rl(f).seriesIndex = t.seriesIndex), + Zl(f, L, P, O); + } + var V = function (t) { + i._changePolyState(t); + }; + a.eachItemGraphicEl(function (t) { + t && (t.onHoverStateChange = V); + }), + (this._polyline.onHoverStateChange = V), + (this._data = a), + (this._coordSys = r), + (this._stackedOnPoints = _), + (this._points = u), + (this._step = T), + (this._valueOrigin = m), + t.get("triggerLineEvent") && (this.packEventData(t, d), f && this.packEventData(t, f)); + }), + (e.prototype.packEventData = function (t, e) { + rl(e).eventData = { componentType: "series", componentSubType: "line", componentIndex: t.componentIndex, seriesIndex: t.seriesIndex, seriesName: t.name, seriesType: "line" }; + }), + (e.prototype.highlight = function (t, e, n, i) { + var r = t.getData(), + o = zo(r, i); + if ((this._changePolyState("emphasis"), !(o instanceof Array) && null != o && o >= 0)) { + var a = r.getLayout("points"), + s = r.getItemGraphicEl(o); + if (!s) { + var l = a[2 * o], + u = a[2 * o + 1]; + if (isNaN(l) || isNaN(u)) return; + if (this._clipShapeForSymbol && !this._clipShapeForSymbol.contain(l, u)) return; + var h = t.get("zlevel") || 0, + c = t.get("z") || 0; + ((s = new dS(r, o)).x = l), (s.y = u), s.setZ(h, c); + var p = s.getSymbolPath().getTextContent(); + p && ((p.zlevel = h), (p.z = c), (p.z2 = this._polyline.z2 + 1)), (s.__temp = !0), r.setItemGraphicEl(o, s), s.stopSymbolAnimation(!0), this.group.add(s); + } + s.highlight(); + } else Og.prototype.highlight.call(this, t, e, n, i); + }), + (e.prototype.downplay = function (t, e, n, i) { + var r = t.getData(), + o = zo(r, i); + if ((this._changePolyState("normal"), null != o && o >= 0)) { + var a = r.getItemGraphicEl(o); + a && (a.__temp ? (r.setItemGraphicEl(o, null), this.group.remove(a)) : a.downplay()); + } else Og.prototype.downplay.call(this, t, e, n, i); + }), + (e.prototype._changePolyState = function (t) { + var e = this._polygon; + Dl(this._polyline, t), e && Dl(e, t); + }), + (e.prototype._newPolyline = function (t) { + var e = this._polyline; + return e && this._lineGroup.remove(e), (e = new TS({ shape: { points: t }, segmentIgnoreThreshold: 2, z2: 10 })), this._lineGroup.add(e), (this._polyline = e), e; + }), + (e.prototype._newPolygon = function (t, e) { + var n = this._polygon; + return n && this._lineGroup.remove(n), (n = new DS({ shape: { points: t, stackedOnPoints: e }, segmentIgnoreThreshold: 2 })), this._lineGroup.add(n), (this._polygon = n), n; + }), + (e.prototype._initSymbolLabelAnimation = function (t, e, n) { + var i, + r, + o = e.getBaseAxis(), + a = o.inverse; + "cartesian2d" === e.type ? ((i = o.isHorizontal()), (r = !1)) : "polar" === e.type && ((i = "angle" === o.dim), (r = !0)); + var s = t.hostModel, + l = s.get("animationDuration"); + X(l) && (l = l(null)); + var u = s.get("animationDelay") || 0, + h = X(u) ? u(null) : u; + t.eachItemGraphicEl(function (t, o) { + var s = t; + if (s) { + var c = [t.x, t.y], + p = void 0, + d = void 0, + f = void 0; + if (n) + if (r) { + var g = n, + y = e.pointToCoord(c); + i ? ((p = g.startAngle), (d = g.endAngle), (f = (-y[1] / 180) * Math.PI)) : ((p = g.r0), (d = g.r), (f = y[0])); + } else { + var v = n; + i ? ((p = v.x), (d = v.x + v.width), (f = t.x)) : ((p = v.y + v.height), (d = v.y), (f = t.y)); + } + var m = d === p ? 0 : (f - p) / (d - p); + a && (m = 1 - m); + var x = X(u) ? u(o) : l * m + h, + _ = s.getSymbolPath(), + b = _.getTextContent(); + s.attr({ scaleX: 0, scaleY: 0 }), s.animateTo({ scaleX: 1, scaleY: 1 }, { duration: 200, setToFinal: !0, delay: x }), b && b.animateFrom({ style: { opacity: 0 } }, { duration: 300, delay: x }), (_.disableLabelAnimation = !0); + } + }); + }), + (e.prototype._initOrUpdateEndLabel = function (t, e, n) { + var i = t.getModel("endLabel"); + if (GS(t)) { + var r = t.getData(), + o = this._polyline, + a = r.getLayout("points"); + if (!a) return o.removeTextContent(), void (this._endLabel = null); + var s = this._endLabel; + s || (((s = this._endLabel = new Xs({ z2: 200 })).ignoreClip = !0), o.setTextContent(this._endLabel), (o.disableLabelAnimation = !0)); + var l = (function (t) { + for (var e, n, i = t.length / 2; i > 0 && ((e = t[2 * i - 2]), (n = t[2 * i - 1]), isNaN(e) || isNaN(n)); i--); + return i - 1; + })(a); + l >= 0 && + (ic( + o, + rc(t, "endLabel"), + { + inheritColor: n, + labelFetcher: t, + labelDataIndex: l, + defaultText: function (t, e, n) { + return null != n ? pS(r, n) : cS(r, t); + }, + enableTextSetter: !0, + }, + (function (t, e) { + var n = e.getBaseAxis(), + i = n.isHorizontal(), + r = n.inverse, + o = i ? (r ? "right" : "left") : "center", + a = i ? "middle" : r ? "top" : "bottom"; + return { normal: { align: t.get("align") || o, verticalAlign: t.get("verticalAlign") || a } }; + })(i, e) + ), + (o.textConfig.position = null)); + } else this._endLabel && (this._polyline.removeTextContent(), (this._endLabel = null)); + }), + (e.prototype._endLabelOnDuring = function (t, e, n, i, r, o, a) { + var s = this._endLabel, + l = this._polyline; + if (s) { + t < 1 && null == i.originalX && ((i.originalX = s.x), (i.originalY = s.y)); + var u = n.getLayout("points"), + h = n.hostModel, + c = h.get("connectNulls"), + p = o.get("precision"), + d = o.get("distance") || 0, + f = a.getBaseAxis(), + g = f.isHorizontal(), + y = f.inverse, + v = e.shape, + m = y ? (g ? v.x : v.y + v.height) : g ? v.x + v.width : v.y, + x = (g ? d : 0) * (y ? -1 : 1), + _ = (g ? 0 : -d) * (y ? -1 : 1), + b = g ? "x" : "y", + w = (function (t, e, n) { + for (var i, r, o = t.length / 2, a = "x" === n ? 0 : 1, s = 0, l = -1, u = 0; u < o; u++) + if (((r = t[2 * u + a]), !isNaN(r) && !isNaN(t[2 * u + 1 - a]))) + if (0 !== u) { + if ((i <= e && r >= e) || (i >= e && r <= e)) { + l = u; + break; + } + (s = u), (i = r); + } else i = r; + return { range: [s, l], t: (e - i) / (r - i) }; + })(u, m, b), + S = w.range, + M = S[1] - S[0], + I = void 0; + if (M >= 1) { + if (M > 1 && !c) { + var T = FS(u, S[0]); + s.attr({ x: T[0] + x, y: T[1] + _ }), r && (I = h.getRawValue(S[0])); + } else { + (T = l.getPointOn(m, b)) && s.attr({ x: T[0] + x, y: T[1] + _ }); + var C = h.getRawValue(S[0]), + D = h.getRawValue(S[1]); + r && (I = Zo(n, p, C, D, w.t)); + } + i.lastFrameIndex = S[0]; + } else { + var A = 1 === t || i.lastFrameIndex > 0 ? S[0] : 0; + T = FS(u, A); + r && (I = h.getRawValue(A)), s.attr({ x: T[0] + x, y: T[1] + _ }); + } + if (r) { + var k = pc(s); + "function" == typeof k.setLabelText && k.setLabelText(I); + } + } + }), + (e.prototype._doUpdateAnimation = function (t, e, n, i, r, o, a) { + var s = this._polyline, + l = this._polygon, + u = t.hostModel, + h = (function (t, e, n, i, r, o, a, s) { + for ( + var l = (function (t, e) { + var n = []; + return ( + e + .diff(t) + .add(function (t) { + n.push({ cmd: "+", idx: t }); + }) + .update(function (t, e) { + n.push({ cmd: "=", idx: e, idx1: t }); + }) + .remove(function (t) { + n.push({ cmd: "-", idx: t }); + }) + .execute(), + n + ); + })(t, e), + u = [], + h = [], + c = [], + p = [], + d = [], + f = [], + g = [], + y = xS(r, e, a), + v = t.getLayout("points") || [], + m = e.getLayout("points") || [], + x = 0; + x < l.length; + x++ + ) { + var _ = l[x], + b = !0, + w = void 0, + S = void 0; + switch (_.cmd) { + case "=": + (w = 2 * _.idx), (S = 2 * _.idx1); + var M = v[w], + I = v[w + 1], + T = m[S], + C = m[S + 1]; + (isNaN(M) || isNaN(I)) && ((M = T), (I = C)), u.push(M, I), h.push(T, C), c.push(n[w], n[w + 1]), p.push(i[S], i[S + 1]), g.push(e.getRawIndex(_.idx1)); + break; + case "+": + var D = _.idx, + A = y.dataDimsForPoint, + k = r.dataToPoint([e.get(A[0], D), e.get(A[1], D)]); + (S = 2 * D), u.push(k[0], k[1]), h.push(m[S], m[S + 1]); + var L = _S(y, r, e, D); + c.push(L[0], L[1]), p.push(i[S], i[S + 1]), g.push(e.getRawIndex(D)); + break; + case "-": + b = !1; + } + b && (d.push(_), f.push(f.length)); + } + f.sort(function (t, e) { + return g[t] - g[e]; + }); + var P = u.length, + O = Bx(P), + R = Bx(P), + N = Bx(P), + E = Bx(P), + z = []; + for (x = 0; x < f.length; x++) { + var V = f[x], + B = 2 * x, + F = 2 * V; + (O[B] = u[F]), (O[B + 1] = u[F + 1]), (R[B] = h[F]), (R[B + 1] = h[F + 1]), (N[B] = c[F]), (N[B + 1] = c[F + 1]), (E[B] = p[F]), (E[B + 1] = p[F + 1]), (z[x] = d[V]); + } + return { current: O, next: R, stackedOnCurrent: N, stackedOnNext: E, status: z }; + })(this._data, t, this._stackedOnPoints, e, this._coordSys, 0, this._valueOrigin), + c = h.current, + p = h.stackedOnCurrent, + d = h.next, + f = h.stackedOnNext; + if ((r && ((c = zS(h.current, n, r, a)), (p = zS(h.stackedOnCurrent, n, r, a)), (d = zS(h.next, n, r, a)), (f = zS(h.stackedOnNext, n, r, a))), NS(c, d) > 3e3 || (l && NS(p, f) > 3e3))) + return s.stopAnimation(), s.setShape({ points: d }), void (l && (l.stopAnimation(), l.setShape({ points: d, stackedOnPoints: f }))); + (s.shape.__points = h.current), (s.shape.points = c); + var g = { shape: { points: d } }; + h.current !== c && (g.shape.__points = h.next), + s.stopAnimation(), + vh(s, g, u), + l && (l.setShape({ points: c, stackedOnPoints: p }), l.stopAnimation(), vh(l, { shape: { stackedOnPoints: f } }, u), s.shape.points !== l.shape.points && (l.shape.points = s.shape.points)); + for (var y = [], v = h.status, m = 0; m < v.length; m++) { + if ("=" === v[m].cmd) { + var x = t.getItemGraphicEl(v[m].idx1); + x && y.push({ el: x, ptIdx: m }); + } + } + s.animators && + s.animators.length && + s.animators[0].during(function () { + l && l.dirtyShape(); + for (var t = s.shape.__points, e = 0; e < y.length; e++) { + var n = y[e].el, + i = 2 * y[e].ptIdx; + (n.x = t[i]), (n.y = t[i + 1]), n.markRedraw(); + } + }); + }), + (e.prototype.remove = function (t) { + var e = this.group, + n = this._data; + this._lineGroup.removeAll(), + this._symbolDraw.remove(!0), + n && + n.eachItemGraphicEl(function (t, i) { + t.__temp && (e.remove(t), n.setItemGraphicEl(i, null)); + }), + (this._polyline = this._polygon = this._coordSys = this._points = this._stackedOnPoints = this._endLabel = this._data = null); + }), + (e.type = "line"), + e + ); + })(Og); + function YS(t, e) { + return { + seriesType: t, + plan: kg(), + reset: function (t) { + var n = t.getData(), + i = t.coordinateSystem, + r = t.pipelineContext, + o = e || r.large; + if (i) { + var a = z(i.dimensions, function (t) { + return n.mapDimension(t); + }).slice(0, 2), + s = a.length, + l = n.getCalculationInfo("stackResultDimension"); + mx(n, a[0]) && (a[0] = l), mx(n, a[1]) && (a[1] = l); + var u = n.getStore(), + h = n.getDimensionIndex(a[0]), + c = n.getDimensionIndex(a[1]); + return ( + s && { + progress: function (t, e) { + for (var n = t.end - t.start, r = o && Bx(n * s), a = [], l = [], p = t.start, d = 0; p < t.end; p++) { + var f = void 0; + if (1 === s) { + var g = u.get(h, p); + f = i.dataToPoint(g, null, l); + } else (a[0] = u.get(h, p)), (a[1] = u.get(c, p)), (f = i.dataToPoint(a, null, l)); + o ? ((r[d++] = f[0]), (r[d++] = f[1])) : e.setItemLayout(p, f.slice()); + } + o && e.setLayout("points", r); + }, + } + ); + } + }, + }; + } + var XS = { + average: function (t) { + for (var e = 0, n = 0, i = 0; i < t.length; i++) isNaN(t[i]) || ((e += t[i]), n++); + return 0 === n ? NaN : e / n; + }, + sum: function (t) { + for (var e = 0, n = 0; n < t.length; n++) e += t[n] || 0; + return e; + }, + max: function (t) { + for (var e = -1 / 0, n = 0; n < t.length; n++) t[n] > e && (e = t[n]); + return isFinite(e) ? e : NaN; + }, + min: function (t) { + for (var e = 1 / 0, n = 0; n < t.length; n++) t[n] < e && (e = t[n]); + return isFinite(e) ? e : NaN; + }, + minmax: function (t) { + for (var e = -1 / 0, n = -1 / 0, i = 0; i < t.length; i++) { + var r = t[i], + o = Math.abs(r); + o > e && ((e = o), (n = r)); + } + return isFinite(n) ? n : NaN; + }, + nearest: function (t) { + return t[0]; + }, + }, + US = function (t) { + return Math.round(t.length / 2); + }; + function ZS(t) { + return { + seriesType: t, + reset: function (t, e, n) { + var i = t.getData(), + r = t.get("sampling"), + o = t.coordinateSystem, + a = i.count(); + if (a > 10 && "cartesian2d" === o.type && r) { + var s = o.getBaseAxis(), + l = o.getOtherAxis(s), + u = s.getExtent(), + h = n.getDevicePixelRatio(), + c = Math.abs(u[1] - u[0]) * (h || 1), + p = Math.round(a / c); + if (isFinite(p) && p > 1) { + "lttb" === r && t.setData(i.lttbDownSample(i.mapDimension(l.dim), 1 / p)); + var d = void 0; + U(r) ? (d = XS[r]) : X(r) && (d = r), d && t.setData(i.downSample(i.mapDimension(l.dim), 1 / p, d, US)); + } + } + }, + }; + } + var jS = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.prototype.getInitialData = function (t, e) { + return _x(null, this, { useEncodeDefaulter: !0 }); + }), + (e.prototype.getMarkerPosition = function (t, e, n) { + var i = this.coordinateSystem; + if (i && i.clampData) { + var r = i.clampData(t), + o = i.dataToPoint(r); + if (n) + E(i.getAxes(), function (t, n) { + if ("category" === t.type && null != e) { + var i = t.getTicksCoords(), + a = t.getTickModel().get("alignWithLabel"), + s = r[n], + l = "x1" === e[n] || "y1" === e[n]; + if ((l && !a && (s += 1), i.length < 2)) return; + if (2 === i.length) return void (o[n] = t.toGlobalCoord(t.getExtent()[l ? 1 : 0])); + for (var u = void 0, h = void 0, c = 1, p = 0; p < i.length; p++) { + var d = i[p].coord, + f = p === i.length - 1 ? i[p - 1].tickValue + c : i[p].tickValue; + if (f === s) { + h = d; + break; + } + if (f < s) u = d; + else if (null != u && f > s) { + h = (d + u) / 2; + break; + } + 1 === p && (c = f - i[0].tickValue); + } + null == h && (u ? u && (h = i[i.length - 1].coord) : (h = i[0].coord)), (o[n] = t.toGlobalCoord(h)); + } + }); + else { + var a = this.getData(), + s = a.getLayout("offset"), + l = a.getLayout("size"), + u = i.getBaseAxis().isHorizontal() ? 0 : 1; + o[u] += s + l / 2; + } + return o; + } + return [NaN, NaN]; + }), + (e.type = "series.__base_bar__"), + (e.defaultOption = { z: 2, coordinateSystem: "cartesian2d", legendHoverLink: !0, barMinHeight: 0, barMinAngle: 0, large: !1, largeThreshold: 400, progressive: 3e3, progressiveChunkMode: "mod" }), + e + ); + })(bg); + bg.registerClass(jS); + var qS = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.prototype.getInitialData = function () { + return _x(null, this, { useEncodeDefaulter: !0, createInvertedIndices: !!this.get("realtimeSort", !0) || null }); + }), + (e.prototype.getProgressive = function () { + return !!this.get("large") && this.get("progressive"); + }), + (e.prototype.getProgressiveThreshold = function () { + var t = this.get("progressiveThreshold"), + e = this.get("largeThreshold"); + return e > t && (t = e), t; + }), + (e.prototype.brushSelector = function (t, e, n) { + return n.rect(e.getItemLayout(t)); + }), + (e.type = "series.bar"), + (e.dependencies = ["grid", "polar"]), + (e.defaultOption = kc(jS.defaultOption, { + clip: !0, + roundCap: !1, + showBackground: !1, + backgroundStyle: { color: "rgba(180, 180, 180, 0.2)", borderColor: null, borderWidth: 0, borderType: "solid", borderRadius: 0, shadowBlur: 0, shadowColor: null, shadowOffsetX: 0, shadowOffsetY: 0, opacity: 1 }, + select: { itemStyle: { borderColor: "#212121" } }, + realtimeSort: !1, + })), + e + ); + })(jS), + KS = function () { + (this.cx = 0), (this.cy = 0), (this.r0 = 0), (this.r = 0), (this.startAngle = 0), (this.endAngle = 2 * Math.PI), (this.clockwise = !0); + }, + $S = (function (t) { + function e(e) { + var n = t.call(this, e) || this; + return (n.type = "sausage"), n; + } + return ( + n(e, t), + (e.prototype.getDefaultShape = function () { + return new KS(); + }), + (e.prototype.buildPath = function (t, e) { + var n = e.cx, + i = e.cy, + r = Math.max(e.r0 || 0, 0), + o = Math.max(e.r, 0), + a = 0.5 * (o - r), + s = r + a, + l = e.startAngle, + u = e.endAngle, + h = e.clockwise, + c = 2 * Math.PI, + p = h ? u - l < c : l - u < c; + p || (l = u - (h ? c : -c)); + var d = Math.cos(l), + f = Math.sin(l), + g = Math.cos(u), + y = Math.sin(u); + p ? (t.moveTo(d * r + n, f * r + i), t.arc(d * s + n, f * s + i, a, -Math.PI + l, l, !h)) : t.moveTo(d * o + n, f * o + i), + t.arc(n, i, o, l, u, !h), + t.arc(g * s + n, y * s + i, a, u - 2 * Math.PI, u - Math.PI, !h), + 0 !== r && t.arc(n, i, r, u, l, h); + }), + e + ); + })(ks); + function JS(t, e, n) { + return e * Math.sin(t) * (n ? -1 : 1); + } + function QS(t, e, n) { + return e * Math.cos(t) * (n ? 1 : -1); + } + function tM(t, e, n) { + var i = t.get("borderRadius"); + if (null == i) return n ? { cornerRadius: 0 } : null; + Y(i) || (i = [i, i, i, i]); + var r = Math.abs(e.r || 0 - e.r0 || 0); + return { + cornerRadius: z(i, function (t) { + return Cr(t, r); + }), + }; + } + var eM = Math.max, + nM = Math.min; + var iM = (function (t) { + function e() { + var n = t.call(this) || this; + return (n.type = e.type), (n._isFirstFrame = !0), n; + } + return ( + n(e, t), + (e.prototype.render = function (t, e, n, i) { + (this._model = t), this._removeOnRenderedListener(n), this._updateDrawMode(t); + var r = t.get("coordinateSystem"); + ("cartesian2d" === r || "polar" === r) && ((this._progressiveEls = null), this._isLargeDraw ? this._renderLarge(t, e, n) : this._renderNormal(t, e, n, i)); + }), + (e.prototype.incrementalPrepareRender = function (t) { + this._clear(), this._updateDrawMode(t), this._updateLargeClip(t); + }), + (e.prototype.incrementalRender = function (t, e) { + (this._progressiveEls = []), this._incrementalRenderLarge(t, e); + }), + (e.prototype.eachRendered = function (t) { + Jh(this._progressiveEls || this.group, t); + }), + (e.prototype._updateDrawMode = function (t) { + var e = t.pipelineContext.large; + (null != this._isLargeDraw && e === this._isLargeDraw) || ((this._isLargeDraw = e), this._clear()); + }), + (e.prototype._renderNormal = function (t, e, n, i) { + var r, + o = this.group, + a = t.getData(), + s = this._data, + l = t.coordinateSystem, + u = l.getBaseAxis(); + "cartesian2d" === l.type ? (r = u.isHorizontal()) : "polar" === l.type && (r = "angle" === u.dim); + var h = t.isAnimationEnabled() ? t : null, + c = (function (t, e) { + var n = t.get("realtimeSort", !0), + i = e.getBaseAxis(); + 0; + if (n && "category" === i.type && "cartesian2d" === e.type) return { baseAxis: i, otherAxis: e.getOtherAxis(i) }; + })(t, l); + c && this._enableRealtimeSort(c, a, n); + var p = t.get("clip", !0) || c, + d = (function (t, e) { + var n = t.getArea && t.getArea(); + if (PS(t, "cartesian2d")) { + var i = t.getBaseAxis(); + if ("category" !== i.type || !i.onBand) { + var r = e.getLayout("bandWidth"); + i.isHorizontal() ? ((n.x -= r), (n.width += 2 * r)) : ((n.y -= r), (n.height += 2 * r)); + } + } + return n; + })(l, a); + o.removeClipPath(); + var f = t.get("roundCap", !0), + g = t.get("showBackground", !0), + y = t.getModel("backgroundStyle"), + v = y.get("borderRadius") || 0, + m = [], + x = this._backgroundEls, + _ = i && i.isInitSort, + b = i && "changeAxisOrder" === i.type; + function w(t) { + var e = cM[l.type](a, t), + n = (function (t, e, n) { + var i = "polar" === t.type ? Fu : Ws; + return new i({ shape: mM(e, n, t), silent: !0, z2: 0 }); + })(l, r, e); + return n.useStyle(y.getItemStyle()), "cartesian2d" === l.type ? n.setShape("r", v) : n.setShape("cornerRadius", v), (m[t] = n), n; + } + a.diff(s) + .add(function (e) { + var n = a.getItemModel(e), + i = cM[l.type](a, e, n); + if ((g && w(e), a.hasValue(e) && hM[l.type](i))) { + var s = !1; + p && (s = rM[l.type](d, i)); + var y = oM[l.type](t, a, e, i, r, h, u.model, !1, f); + c && (y.forceLabelAnimation = !0), dM(y, a, e, n, i, t, r, "polar" === l.type), _ ? y.attr({ shape: i }) : c ? aM(c, h, y, i, e, r, !1, !1) : mh(y, { shape: i }, t, e), a.setItemGraphicEl(e, y), o.add(y), (y.ignore = s); + } + }) + .update(function (e, n) { + var i = a.getItemModel(e), + S = cM[l.type](a, e, i); + if (g) { + var M = void 0; + 0 === x.length ? (M = w(n)) : ((M = x[n]).useStyle(y.getItemStyle()), "cartesian2d" === l.type ? M.setShape("r", v) : M.setShape("cornerRadius", v), (m[e] = M)); + var I = cM[l.type](a, e); + vh(M, { shape: mM(r, I, l) }, h, e); + } + var T = s.getItemGraphicEl(n); + if (a.hasValue(e) && hM[l.type](S)) { + var C = !1; + if ((p && (C = rM[l.type](d, S)) && o.remove(T), T ? Sh(T) : (T = oM[l.type](t, a, e, S, r, h, u.model, !!T, f)), c && (T.forceLabelAnimation = !0), b)) { + var D = T.getTextContent(); + if (D) { + var A = pc(D); + null != A.prevValue && (A.prevValue = A.value); + } + } else dM(T, a, e, i, S, t, r, "polar" === l.type); + _ ? T.attr({ shape: S }) : c ? aM(c, h, T, S, e, r, !0, b) : vh(T, { shape: S }, t, e, null), a.setItemGraphicEl(e, T), (T.ignore = C), o.add(T); + } else o.remove(T); + }) + .remove(function (e) { + var n = s.getItemGraphicEl(e); + n && wh(n, t, e); + }) + .execute(); + var S = this._backgroundGroup || (this._backgroundGroup = new Br()); + S.removeAll(); + for (var M = 0; M < m.length; ++M) S.add(m[M]); + o.add(S), (this._backgroundEls = m), (this._data = a); + }), + (e.prototype._renderLarge = function (t, e, n) { + this._clear(), yM(t, this.group), this._updateLargeClip(t); + }), + (e.prototype._incrementalRenderLarge = function (t, e) { + this._removeBackground(), yM(e, this.group, this._progressiveEls, !0); + }), + (e.prototype._updateLargeClip = function (t) { + var e = t.get("clip", !0) && LS(t.coordinateSystem, !1, t), + n = this.group; + e ? n.setClipPath(e) : n.removeClipPath(); + }), + (e.prototype._enableRealtimeSort = function (t, e, n) { + var i = this; + if (e.count()) { + var r = t.baseAxis; + if (this._isFirstFrame) this._dispatchInitSort(e, t, n), (this._isFirstFrame = !1); + else { + var o = function (t) { + var n = e.getItemGraphicEl(t), + i = n && n.shape; + return (i && Math.abs(r.isHorizontal() ? i.height : i.width)) || 0; + }; + (this._onRendered = function () { + i._updateSortWithinSameData(e, o, r, n); + }), + n.getZr().on("rendered", this._onRendered); + } + } + }), + (e.prototype._dataSort = function (t, e, n) { + var i = []; + return ( + t.each(t.mapDimension(e.dim), function (t, e) { + var r = n(e); + (r = null == r ? NaN : r), i.push({ dataIndex: e, mappedValue: r, ordinalNumber: t }); + }), + i.sort(function (t, e) { + return e.mappedValue - t.mappedValue; + }), + { + ordinalNumbers: z(i, function (t) { + return t.ordinalNumber; + }), + } + ); + }), + (e.prototype._isOrderChangedWithinSameData = function (t, e, n) { + for (var i = n.scale, r = t.mapDimension(n.dim), o = Number.MAX_VALUE, a = 0, s = i.getOrdinalMeta().categories.length; a < s; ++a) { + var l = t.rawIndexOf(r, i.getRawOrdinalNumber(a)), + u = l < 0 ? Number.MIN_VALUE : e(t.indexOfRawIndex(l)); + if (u > o) return !0; + o = u; + } + return !1; + }), + (e.prototype._isOrderDifferentInView = function (t, e) { + for (var n = e.scale, i = n.getExtent(), r = Math.max(0, i[0]), o = Math.min(i[1], n.getOrdinalMeta().categories.length - 1); r <= o; ++r) if (t.ordinalNumbers[r] !== n.getRawOrdinalNumber(r)) return !0; + }), + (e.prototype._updateSortWithinSameData = function (t, e, n, i) { + if (this._isOrderChangedWithinSameData(t, e, n)) { + var r = this._dataSort(t, n, e); + this._isOrderDifferentInView(r, n) && (this._removeOnRenderedListener(i), i.dispatchAction({ type: "changeAxisOrder", componentType: n.dim + "Axis", axisId: n.index, sortInfo: r })); + } + }), + (e.prototype._dispatchInitSort = function (t, e, n) { + var i = e.baseAxis, + r = this._dataSort(t, i, function (n) { + return t.get(t.mapDimension(e.otherAxis.dim), n); + }); + n.dispatchAction({ type: "changeAxisOrder", componentType: i.dim + "Axis", isInitSort: !0, axisId: i.index, sortInfo: r }); + }), + (e.prototype.remove = function (t, e) { + this._clear(this._model), this._removeOnRenderedListener(e); + }), + (e.prototype.dispose = function (t, e) { + this._removeOnRenderedListener(e); + }), + (e.prototype._removeOnRenderedListener = function (t) { + this._onRendered && (t.getZr().off("rendered", this._onRendered), (this._onRendered = null)); + }), + (e.prototype._clear = function (t) { + var e = this.group, + n = this._data; + t && t.isAnimationEnabled() && n && !this._isLargeDraw + ? (this._removeBackground(), + (this._backgroundEls = []), + n.eachItemGraphicEl(function (e) { + wh(e, t, rl(e).dataIndex); + })) + : e.removeAll(), + (this._data = null), + (this._isFirstFrame = !0); + }), + (e.prototype._removeBackground = function () { + this.group.remove(this._backgroundGroup), (this._backgroundGroup = null); + }), + (e.type = "bar"), + e + ); + })(Og), + rM = { + cartesian2d: function (t, e) { + var n = e.width < 0 ? -1 : 1, + i = e.height < 0 ? -1 : 1; + n < 0 && ((e.x += e.width), (e.width = -e.width)), i < 0 && ((e.y += e.height), (e.height = -e.height)); + var r = t.x + t.width, + o = t.y + t.height, + a = eM(e.x, t.x), + s = nM(e.x + e.width, r), + l = eM(e.y, t.y), + u = nM(e.y + e.height, o), + h = s < a, + c = u < l; + return (e.x = h && a > r ? s : a), (e.y = c && l > o ? u : l), (e.width = h ? 0 : s - a), (e.height = c ? 0 : u - l), n < 0 && ((e.x += e.width), (e.width = -e.width)), i < 0 && ((e.y += e.height), (e.height = -e.height)), h || c; + }, + polar: function (t, e) { + var n = e.r0 <= e.r ? 1 : -1; + if (n < 0) { + var i = e.r; + (e.r = e.r0), (e.r0 = i); + } + var r = nM(e.r, t.r), + o = eM(e.r0, t.r0); + (e.r = r), (e.r0 = o); + var a = r - o < 0; + if (n < 0) { + i = e.r; + (e.r = e.r0), (e.r0 = i); + } + return a; + }, + }, + oM = { + cartesian2d: function (t, e, n, i, r, o, a, s, l) { + var u = new Ws({ shape: A({}, i), z2: 1 }); + ((u.__dataIndex = n), (u.name = "item"), o) && (u.shape[r ? "height" : "width"] = 0); + return u; + }, + polar: function (t, e, n, i, r, o, a, s, l) { + var u = !r && l ? $S : Fu, + h = new u({ shape: i, z2: 1 }); + h.name = "item"; + var c, + p, + d = pM(r); + if ( + ((h.calculateTextPosition = + ((c = d), + (p = ({ isRoundCap: u === $S } || {}).isRoundCap), + function (t, e, n) { + var i = e.position; + if (!i || i instanceof Array) return Dr(t, e, n); + var r = c(i), + o = null != e.distance ? e.distance : 5, + a = this.shape, + s = a.cx, + l = a.cy, + u = a.r, + h = a.r0, + d = (u + h) / 2, + f = a.startAngle, + g = a.endAngle, + y = (f + g) / 2, + v = p ? Math.abs(u - h) / 2 : 0, + m = Math.cos, + x = Math.sin, + _ = s + u * m(f), + b = l + u * x(f), + w = "left", + S = "top"; + switch (r) { + case "startArc": + (_ = s + (h - o) * m(y)), (b = l + (h - o) * x(y)), (w = "center"), (S = "top"); + break; + case "insideStartArc": + (_ = s + (h + o) * m(y)), (b = l + (h + o) * x(y)), (w = "center"), (S = "bottom"); + break; + case "startAngle": + (_ = s + d * m(f) + JS(f, o + v, !1)), (b = l + d * x(f) + QS(f, o + v, !1)), (w = "right"), (S = "middle"); + break; + case "insideStartAngle": + (_ = s + d * m(f) + JS(f, -o + v, !1)), (b = l + d * x(f) + QS(f, -o + v, !1)), (w = "left"), (S = "middle"); + break; + case "middle": + (_ = s + d * m(y)), (b = l + d * x(y)), (w = "center"), (S = "middle"); + break; + case "endArc": + (_ = s + (u + o) * m(y)), (b = l + (u + o) * x(y)), (w = "center"), (S = "bottom"); + break; + case "insideEndArc": + (_ = s + (u - o) * m(y)), (b = l + (u - o) * x(y)), (w = "center"), (S = "top"); + break; + case "endAngle": + (_ = s + d * m(g) + JS(g, o + v, !0)), (b = l + d * x(g) + QS(g, o + v, !0)), (w = "left"), (S = "middle"); + break; + case "insideEndAngle": + (_ = s + d * m(g) + JS(g, -o + v, !0)), (b = l + d * x(g) + QS(g, -o + v, !0)), (w = "right"), (S = "middle"); + break; + default: + return Dr(t, e, n); + } + return ((t = t || {}).x = _), (t.y = b), (t.align = w), (t.verticalAlign = S), t; + })), + o) + ) { + var f = r ? "r" : "endAngle", + g = {}; + (h.shape[f] = r ? i.r0 : i.startAngle), (g[f] = i[f]), (s ? vh : mh)(h, { shape: g }, o); + } + return h; + }, + }; + function aM(t, e, n, i, r, o, a, s) { + var l, u; + o ? ((u = { x: i.x, width: i.width }), (l = { y: i.y, height: i.height })) : ((u = { y: i.y, height: i.height }), (l = { x: i.x, width: i.width })), + s || (a ? vh : mh)(n, { shape: l }, e, r, null), + (a ? vh : mh)(n, { shape: u }, e ? t.baseAxis.model : null, r); + } + function sM(t, e) { + for (var n = 0; n < e.length; n++) if (!isFinite(t[e[n]])) return !0; + return !1; + } + var lM = ["x", "y", "width", "height"], + uM = ["cx", "cy", "r", "startAngle", "endAngle"], + hM = { + cartesian2d: function (t) { + return !sM(t, lM); + }, + polar: function (t) { + return !sM(t, uM); + }, + }, + cM = { + cartesian2d: function (t, e, n) { + var i = t.getItemLayout(e), + r = n + ? (function (t, e) { + var n = t.get(["itemStyle", "borderColor"]); + if (!n || "none" === n) return 0; + var i = t.get(["itemStyle", "borderWidth"]) || 0, + r = isNaN(e.width) ? Number.MAX_VALUE : Math.abs(e.width), + o = isNaN(e.height) ? Number.MAX_VALUE : Math.abs(e.height); + return Math.min(i, r, o); + })(n, i) + : 0, + o = i.width > 0 ? 1 : -1, + a = i.height > 0 ? 1 : -1; + return { x: i.x + (o * r) / 2, y: i.y + (a * r) / 2, width: i.width - o * r, height: i.height - a * r }; + }, + polar: function (t, e, n) { + var i = t.getItemLayout(e); + return { cx: i.cx, cy: i.cy, r0: i.r0, r: i.r, startAngle: i.startAngle, endAngle: i.endAngle, clockwise: i.clockwise }; + }, + }; + function pM(t) { + return (function (t) { + var e = t ? "Arc" : "Angle"; + return function (t) { + switch (t) { + case "start": + case "insideStart": + case "end": + case "insideEnd": + return t + e; + default: + return t; + } + }; + })(t); + } + function dM(t, e, n, i, r, o, a, s) { + var l = e.getItemVisual(n, "style"); + if (s) { + if (!o.get("roundCap")) { + var u = t.shape; + A(u, tM(i.getModel("itemStyle"), u, !0)), t.setShape(u); + } + } else { + var h = i.get(["itemStyle", "borderRadius"]) || 0; + t.setShape("r", h); + } + t.useStyle(l); + var c = i.getShallow("cursor"); + c && t.attr("cursor", c); + var p = s ? (a ? (r.r >= r.r0 ? "endArc" : "startArc") : r.endAngle >= r.startAngle ? "endAngle" : "startAngle") : a ? (r.height >= 0 ? "bottom" : "top") : r.width >= 0 ? "right" : "left", + d = rc(i); + ic(t, d, { labelFetcher: o, labelDataIndex: n, defaultText: cS(o.getData(), n), inheritColor: l.fill, defaultOpacity: l.opacity, defaultOutsidePosition: p }); + var f = t.getTextContent(); + if (s && f) { + var g = i.get(["label", "position"]); + (t.textConfig.inside = "middle" === g || null), + (function (t, e, n, i) { + if (j(i)) t.setTextConfig({ rotation: i }); + else if (Y(e)) t.setTextConfig({ rotation: 0 }); + else { + var r, + o = t.shape, + a = o.clockwise ? o.startAngle : o.endAngle, + s = o.clockwise ? o.endAngle : o.startAngle, + l = (a + s) / 2, + u = n(e); + switch (u) { + case "startArc": + case "insideStartArc": + case "middle": + case "insideEndArc": + case "endArc": + r = l; + break; + case "startAngle": + case "insideStartAngle": + r = a; + break; + case "endAngle": + case "insideEndAngle": + r = s; + break; + default: + return void t.setTextConfig({ rotation: 0 }); + } + var h = 1.5 * Math.PI - r; + "middle" === u && h > Math.PI / 2 && h < 1.5 * Math.PI && (h -= Math.PI), t.setTextConfig({ rotation: h }); + } + })(t, "outside" === g ? p : g, pM(a), i.get(["label", "rotate"])); + } + dc(f, d, o.getRawValue(n), function (t) { + return pS(e, t); + }); + var y = i.getModel(["emphasis"]); + Zl(t, y.get("focus"), y.get("blurScope"), y.get("disabled")), + $l(t, i), + (function (t) { + return null != t.startAngle && null != t.endAngle && t.startAngle === t.endAngle; + })(r) && + ((t.style.fill = "none"), + (t.style.stroke = "none"), + E(t.states, function (t) { + t.style && (t.style.fill = t.style.stroke = "none"); + })); + } + var fM = function () {}, + gM = (function (t) { + function e(e) { + var n = t.call(this, e) || this; + return (n.type = "largeBar"), n; + } + return ( + n(e, t), + (e.prototype.getDefaultShape = function () { + return new fM(); + }), + (e.prototype.buildPath = function (t, e) { + for (var n = e.points, i = this.baseDimIdx, r = 1 - this.baseDimIdx, o = [], a = [], s = this.barWidth, l = 0; l < n.length; l += 3) + (a[i] = s), (a[r] = n[l + 2]), (o[i] = n[l + i]), (o[r] = n[l + r]), t.rect(o[0], o[1], a[0], a[1]); + }), + e + ); + })(ks); + function yM(t, e, n, i) { + var r = t.getData(), + o = r.getLayout("valueAxisHorizontal") ? 1 : 0, + a = r.getLayout("largeDataIndices"), + s = r.getLayout("size"), + l = t.getModel("backgroundStyle"), + u = r.getLayout("largeBackgroundPoints"); + if (u) { + var h = new gM({ shape: { points: u }, incremental: !!i, silent: !0, z2: 0 }); + (h.baseDimIdx = o), (h.largeDataIndices = a), (h.barWidth = s), h.useStyle(l.getItemStyle()), e.add(h), n && n.push(h); + } + var c = new gM({ shape: { points: r.getLayout("largePoints") }, incremental: !!i, ignoreCoarsePointer: !0, z2: 1 }); + (c.baseDimIdx = o), (c.largeDataIndices = a), (c.barWidth = s), e.add(c), c.useStyle(r.getVisual("style")), (rl(c).seriesIndex = t.seriesIndex), t.get("silent") || (c.on("mousedown", vM), c.on("mousemove", vM)), n && n.push(c); + } + var vM = Wg( + function (t) { + var e = (function (t, e, n) { + for (var i = t.baseDimIdx, r = 1 - i, o = t.shape.points, a = t.largeDataIndices, s = [], l = [], u = t.barWidth, h = 0, c = o.length / 3; h < c; h++) { + var p = 3 * h; + if (((l[i] = u), (l[r] = o[p + 2]), (s[i] = o[p + i]), (s[r] = o[p + r]), l[r] < 0 && ((s[r] += l[r]), (l[r] = -l[r])), e >= s[0] && e <= s[0] + l[0] && n >= s[1] && n <= s[1] + l[1])) return a[h]; + } + return -1; + })(this, t.offsetX, t.offsetY); + rl(this).dataIndex = e >= 0 ? e : null; + }, + 30, + !1 + ); + function mM(t, e, n) { + if (PS(n, "cartesian2d")) { + var i = e, + r = n.getArea(); + return { x: t ? i.x : r.x, y: t ? r.y : i.y, width: t ? i.width : r.width, height: t ? r.height : i.height }; + } + var o = e; + return { cx: (r = n.getArea()).cx, cy: r.cy, r0: t ? r.r0 : o.r0, r: t ? r.r : o.r, startAngle: t ? o.startAngle : 0, endAngle: t ? o.endAngle : 2 * Math.PI }; + } + var xM = 2 * Math.PI, + _M = Math.PI / 180; + function bM(t, e) { + return kp(t.getBoxLayoutParams(), { width: e.getWidth(), height: e.getHeight() }); + } + function wM(t, e) { + var n = bM(t, e), + i = t.get("center"), + r = t.get("radius"); + Y(r) || (r = [0, r]); + var o, + a, + s = $r(n.width, e.getWidth()), + l = $r(n.height, e.getHeight()), + u = Math.min(s, l), + h = $r(r[0], u / 2), + c = $r(r[1], u / 2), + p = t.coordinateSystem; + if (p) { + var d = p.dataToPoint(i); + (o = d[0] || 0), (a = d[1] || 0); + } else Y(i) || (i = [i, i]), (o = $r(i[0], s) + n.x), (a = $r(i[1], l) + n.y); + return { cx: o, cy: a, r0: h, r: c }; + } + function SM(t, e, n) { + e.eachSeriesByType(t, function (t) { + var e = t.getData(), + i = e.mapDimension("value"), + r = bM(t, n), + o = wM(t, n), + a = o.cx, + s = o.cy, + l = o.r, + u = o.r0, + h = -t.get("startAngle") * _M, + c = t.get("endAngle"), + p = t.get("padAngle") * _M; + c = "auto" === c ? h - xM : -c * _M; + var d = t.get("minAngle") * _M + p, + f = 0; + e.each(i, function (t) { + !isNaN(t) && f++; + }); + var g = e.getSum(i), + y = (Math.PI / (g || f)) * 2, + v = t.get("clockwise"), + m = t.get("roseType"), + x = t.get("stillShowZeroSum"), + _ = e.getDataExtent(i); + _[0] = 0; + var b = v ? 1 : -1, + w = [h, c], + S = (b * p) / 2; + us(w, !v), (h = w[0]), (c = w[1]); + var M = Math.abs(c - h), + I = M, + T = 0, + C = h; + if ( + (e.setLayout({ viewRect: r, r: l }), + e.each(i, function (t, n) { + var i; + if (isNaN(t)) e.setItemLayout(n, { angle: NaN, startAngle: NaN, endAngle: NaN, clockwise: v, cx: a, cy: s, r0: u, r: m ? NaN : l }); + else { + (i = "area" !== m ? (0 === g && x ? y : t * y) : M / f) < d ? ((i = d), (I -= d)) : (T += t); + var r = C + b * i, + o = 0, + h = 0; + p > i ? (h = o = C + (b * i) / 2) : ((o = C + S), (h = r - S)), e.setItemLayout(n, { angle: i, startAngle: o, endAngle: h, clockwise: v, cx: a, cy: s, r0: u, r: m ? Kr(t, _, [u, l]) : l }), (C = r); + } + }), + I < xM && f) + ) + if (I <= 0.001) { + var D = M / f; + e.each(i, function (t, n) { + if (!isNaN(t)) { + var i = e.getItemLayout(n); + i.angle = D; + var r = 0, + o = 0; + D < p ? (o = r = h + b * (n + 0.5) * D) : ((r = h + b * n * D + S), (o = h + b * (n + 1) * D - S)), (i.startAngle = r), (i.endAngle = o); + } + }); + } else + (y = I / T), + (C = h), + e.each(i, function (t, n) { + if (!isNaN(t)) { + var i = e.getItemLayout(n), + r = i.angle === d ? d : t * y, + o = 0, + a = 0; + r < p ? (a = o = C + (b * r) / 2) : ((o = C + S), (a = C + b * r - S)), (i.startAngle = o), (i.endAngle = a), (C += b * r); + } + }); + }); + } + function MM(t) { + return { + seriesType: t, + reset: function (t, e) { + var n = e.findComponents({ mainType: "legend" }); + if (n && n.length) { + var i = t.getData(); + i.filterSelf(function (t) { + for (var e = i.getName(t), r = 0; r < n.length; r++) if (!n[r].isSelected(e)) return !1; + return !0; + }); + } + }, + }; + } + var IM = Math.PI / 180; + function TM(t, e, n, i, r, o, a, s, l, u) { + if (!(t.length < 2)) { + for (var h = t.length, c = 0; c < h; c++) + if ("outer" === t[c].position && "labelLine" === t[c].labelAlignTo) { + var p = t[c].label.x - u; + (t[c].linePoints[1][0] += p), (t[c].label.x = u); + } + Ob(t, l, l + a) && + (function (t) { + for (var o = { list: [], maxY: 0 }, a = { list: [], maxY: 0 }, s = 0; s < t.length; s++) + if ("none" === t[s].labelAlignTo) { + var l = t[s], + u = l.label.y > n ? a : o, + h = Math.abs(l.label.y - n); + if (h >= u.maxY) { + var c = l.label.x - e - l.len2 * r, + p = i + l.len, + f = Math.abs(c) < p ? Math.sqrt((h * h) / (1 - (c * c) / p / p)) : p; + (u.rB = f), (u.maxY = h); + } + u.list.push(l); + } + d(o), d(a); + })(t); + } + function d(t) { + for (var o = t.rB, a = o * o, s = 0; s < t.list.length; s++) { + var l = t.list[s], + u = Math.abs(l.label.y - n), + h = i + l.len, + c = h * h, + p = Math.sqrt((1 - Math.abs((u * u) / a)) * c), + d = e + (p + l.len2) * r, + f = d - l.label.x; + CM(l, l.targetTextWidth - f * r, !0), (l.label.x = d); + } + } + } + function CM(t, e, n) { + if ((void 0 === n && (n = !1), null == t.labelStyleWidth)) { + var i = t.label, + r = i.style, + o = t.rect, + a = r.backgroundColor, + s = r.padding, + l = s ? s[1] + s[3] : 0, + u = r.overflow, + h = o.width + (a ? 0 : l); + if (e < h || n) { + var c = o.height; + if (u && u.match("break")) { + i.setStyle("backgroundColor", null), i.setStyle("width", e - l); + var p = i.getBoundingRect(); + i.setStyle("width", Math.ceil(p.width)), i.setStyle("backgroundColor", a); + } else { + var d = e - l, + f = e < h ? d : n ? (d > t.unconstrainedWidth ? null : d) : null; + i.setStyle("width", f); + } + var g = i.getBoundingRect(); + o.width = g.width; + var y = (i.style.margin || 0) + 2.1; + (o.height = g.height + y), (o.y -= (o.height - c) / 2); + } + } + } + function DM(t) { + return "center" === t.position; + } + function AM(t) { + var e, + n, + i = t.getData(), + r = [], + o = !1, + a = (t.get("minShowLabelAngle") || 0) * IM, + s = i.getLayout("viewRect"), + l = i.getLayout("r"), + u = s.width, + h = s.x, + c = s.y, + p = s.height; + function d(t) { + t.ignore = !0; + } + i.each(function (t) { + var s = i.getItemGraphicEl(t), + c = s.shape, + p = s.getTextContent(), + f = s.getTextGuideLine(), + g = i.getItemModel(t), + y = g.getModel("label"), + v = y.get("position") || g.get(["emphasis", "label", "position"]), + m = y.get("distanceToLabelLine"), + x = y.get("alignTo"), + _ = $r(y.get("edgeDistance"), u), + b = y.get("bleedMargin"), + w = g.getModel("labelLine"), + S = w.get("length"); + S = $r(S, u); + var M = w.get("length2"); + if (((M = $r(M, u)), Math.abs(c.endAngle - c.startAngle) < a)) return E(p.states, d), (p.ignore = !0), void (f && (E(f.states, d), (f.ignore = !0))); + if ( + (function (t) { + if (!t.ignore) return !0; + for (var e in t.states) if (!1 === t.states[e].ignore) return !0; + return !1; + })(p) + ) { + var I, + T, + C, + D, + A = (c.startAngle + c.endAngle) / 2, + k = Math.cos(A), + L = Math.sin(A); + (e = c.cx), (n = c.cy); + var P = "inside" === v || "inner" === v; + if ("center" === v) (I = c.cx), (T = c.cy), (D = "center"); + else { + var O = (P ? ((c.r + c.r0) / 2) * k : c.r * k) + e, + R = (P ? ((c.r + c.r0) / 2) * L : c.r * L) + n; + if (((I = O + 3 * k), (T = R + 3 * L), !P)) { + var N = O + k * (S + l - c.r), + z = R + L * (S + l - c.r), + V = N + (k < 0 ? -1 : 1) * M; + (I = "edge" === x ? (k < 0 ? h + _ : h + u - _) : V + (k < 0 ? -m : m)), + (T = z), + (C = [ + [O, R], + [N, z], + [V, z], + ]); + } + D = P ? "center" : "edge" === x ? (k > 0 ? "right" : "left") : k > 0 ? "left" : "right"; + } + var B = Math.PI, + F = 0, + G = y.get("rotate"); + if (j(G)) F = G * (B / 180); + else if ("center" === v) F = 0; + else if ("radial" === G || !0 === G) { + F = k < 0 ? -A + B : -A; + } else if ("tangential" === G && "outside" !== v && "outer" !== v) { + var W = Math.atan2(k, L); + W < 0 && (W = 2 * B + W), L > 0 && (W = B + W), (F = W - B); + } + if (((o = !!F), (p.x = I), (p.y = T), (p.rotation = F), p.setStyle({ verticalAlign: "middle" }), P)) { + p.setStyle({ align: D }); + var H = p.states.select; + H && ((H.x += p.x), (H.y += p.y)); + } else { + var Y = p.getBoundingRect().clone(); + Y.applyTransform(p.getComputedTransform()); + var X = (p.style.margin || 0) + 2.1; + (Y.y -= X / 2), + (Y.height += X), + r.push({ + label: p, + labelLine: f, + position: v, + len: S, + len2: M, + minTurnAngle: w.get("minTurnAngle"), + maxSurfaceAngle: w.get("maxSurfaceAngle"), + surfaceNormal: new De(k, L), + linePoints: C, + textAlign: D, + labelDistance: m, + labelAlignTo: x, + edgeDistance: _, + bleedMargin: b, + rect: Y, + unconstrainedWidth: Y.width, + labelStyleWidth: p.style.width, + }); + } + s.setTextConfig({ inside: P }); + } + }), + !o && + t.get("avoidLabelOverlap") && + (function (t, e, n, i, r, o, a, s) { + for (var l = [], u = [], h = Number.MAX_VALUE, c = -Number.MAX_VALUE, p = 0; p < t.length; p++) { + var d = t[p].label; + DM(t[p]) || (d.x < e ? ((h = Math.min(h, d.x)), l.push(t[p])) : ((c = Math.max(c, d.x)), u.push(t[p]))); + } + for (p = 0; p < t.length; p++) + if (!DM((y = t[p])) && y.linePoints) { + if (null != y.labelStyleWidth) continue; + d = y.label; + var f = y.linePoints, + g = void 0; + (g = + "edge" === y.labelAlignTo + ? d.x < e + ? f[2][0] - y.labelDistance - a - y.edgeDistance + : a + r - y.edgeDistance - f[2][0] - y.labelDistance + : "labelLine" === y.labelAlignTo + ? d.x < e + ? h - a - y.bleedMargin + : a + r - c - y.bleedMargin + : d.x < e + ? d.x - a - y.bleedMargin + : a + r - d.x - y.bleedMargin), + (y.targetTextWidth = g), + CM(y, g); + } + for (TM(u, e, n, i, 1, 0, o, 0, s, c), TM(l, e, n, i, -1, 0, o, 0, s, h), p = 0; p < t.length; p++) { + var y; + if (!DM((y = t[p])) && y.linePoints) { + (d = y.label), (f = y.linePoints); + var v = "edge" === y.labelAlignTo, + m = d.style.padding, + x = m ? m[1] + m[3] : 0, + _ = d.style.backgroundColor ? 0 : x, + b = y.rect.width + _, + w = f[1][0] - f[2][0]; + v + ? d.x < e + ? (f[2][0] = a + y.edgeDistance + b + y.labelDistance) + : (f[2][0] = a + r - y.edgeDistance - b - y.labelDistance) + : (d.x < e ? (f[2][0] = d.x + y.labelDistance) : (f[2][0] = d.x - y.labelDistance), (f[1][0] = f[2][0] + w)), + (f[1][1] = f[2][1] = d.y); + } + } + })(r, e, n, l, u, p, h, c); + for (var f = 0; f < r.length; f++) { + var g = r[f], + y = g.label, + v = g.labelLine, + m = isNaN(y.x) || isNaN(y.y); + if (y) { + y.setStyle({ align: g.textAlign }), m && (E(y.states, d), (y.ignore = !0)); + var x = y.states.select; + x && ((x.x += y.x), (x.y += y.y)); + } + if (v) { + var _ = g.linePoints; + m || !_ ? (E(v.states, d), (v.ignore = !0)) : (Ib(_, g.minTurnAngle), Tb(_, g.surfaceNormal, g.maxSurfaceAngle), v.setShape({ points: _ }), (y.__hostTarget.textGuideLineConfig = { anchor: new De(_[0][0], _[0][1]) })); + } + } + } + var kM = (function (t) { + function e(e, n, i) { + var r = t.call(this) || this; + r.z2 = 2; + var o = new Xs(); + return r.setTextContent(o), r.updateData(e, n, i, !0), r; + } + return ( + n(e, t), + (e.prototype.updateData = function (t, e, n, i) { + var r = this, + o = t.hostModel, + a = t.getItemModel(e), + s = a.getModel("emphasis"), + l = t.getItemLayout(e), + u = A(tM(a.getModel("itemStyle"), l, !0), l); + if (isNaN(u.startAngle)) r.setShape(u); + else { + if (i) { + r.setShape(u); + var h = o.getShallow("animationType"); + o.ecModel.ssr + ? (mh(r, { scaleX: 0, scaleY: 0 }, o, { dataIndex: e, isFrom: !0 }), (r.originX = u.cx), (r.originY = u.cy)) + : "scale" === h + ? ((r.shape.r = l.r0), mh(r, { shape: { r: l.r } }, o, e)) + : null != n + ? (r.setShape({ startAngle: n, endAngle: n }), mh(r, { shape: { startAngle: l.startAngle, endAngle: l.endAngle } }, o, e)) + : ((r.shape.endAngle = l.startAngle), vh(r, { shape: { endAngle: l.endAngle } }, o, e)); + } else Sh(r), vh(r, { shape: u }, o, e); + r.useStyle(t.getItemVisual(e, "style")), $l(r, a); + var c = (l.startAngle + l.endAngle) / 2, + p = o.get("selectedOffset"), + d = Math.cos(c) * p, + f = Math.sin(c) * p, + g = a.getShallow("cursor"); + g && r.attr("cursor", g), + this._updateLabel(o, t, e), + (r.ensureState("emphasis").shape = A({ r: l.r + ((s.get("scale") && s.get("scaleSize")) || 0) }, tM(s.getModel("itemStyle"), l))), + A(r.ensureState("select"), { x: d, y: f, shape: tM(a.getModel(["select", "itemStyle"]), l) }), + A(r.ensureState("blur"), { shape: tM(a.getModel(["blur", "itemStyle"]), l) }); + var y = r.getTextGuideLine(), + v = r.getTextContent(); + y && A(y.ensureState("select"), { x: d, y: f }), A(v.ensureState("select"), { x: d, y: f }), Zl(this, s.get("focus"), s.get("blurScope"), s.get("disabled")); + } + }), + (e.prototype._updateLabel = function (t, e, n) { + var i = this, + r = e.getItemModel(n), + o = r.getModel("labelLine"), + a = e.getItemVisual(n, "style"), + s = a && a.fill, + l = a && a.opacity; + ic(i, rc(r), { labelFetcher: e.hostModel, labelDataIndex: n, inheritColor: s, defaultOpacity: l, defaultText: t.getFormattedLabel(n, "normal") || e.getName(n) }); + var u = i.getTextContent(); + i.setTextConfig({ position: null, rotation: null }), u.attr({ z2: 10 }); + var h = t.get(["label", "position"]); + if ("outside" !== h && "outer" !== h) i.removeTextGuideLine(); + else { + var c = this.getTextGuideLine(); + c || ((c = new Zu()), this.setTextGuideLine(c)), Ab(this, kb(r), { stroke: s, opacity: ot(o.get(["lineStyle", "opacity"]), l, 1) }); + } + }), + e + ); + })(Fu), + LM = (function (t) { + function e() { + var e = (null !== t && t.apply(this, arguments)) || this; + return (e.ignoreLabelLineUpdate = !0), e; + } + return ( + n(e, t), + (e.prototype.render = function (t, e, n, i) { + var r, + o = t.getData(), + a = this._data, + s = this.group; + if (!a && o.count() > 0) { + for (var l = o.getItemLayout(0), u = 1; isNaN(l && l.startAngle) && u < o.count(); ++u) l = o.getItemLayout(u); + l && (r = l.startAngle); + } + if ((this._emptyCircleSector && s.remove(this._emptyCircleSector), 0 === o.count() && t.get("showEmptyCircle"))) { + var h = new Fu({ shape: wM(t, n) }); + h.useStyle(t.getModel("emptyCircleStyle").getItemStyle()), (this._emptyCircleSector = h), s.add(h); + } + o + .diff(a) + .add(function (t) { + var e = new kM(o, t, r); + o.setItemGraphicEl(t, e), s.add(e); + }) + .update(function (t, e) { + var n = a.getItemGraphicEl(e); + n.updateData(o, t, r), n.off("click"), s.add(n), o.setItemGraphicEl(t, n); + }) + .remove(function (e) { + wh(a.getItemGraphicEl(e), t, e); + }) + .execute(), + AM(t), + "expansion" !== t.get("animationTypeUpdate") && (this._data = o); + }), + (e.prototype.dispose = function () {}), + (e.prototype.containPoint = function (t, e) { + var n = e.getData().getItemLayout(0); + if (n) { + var i = t[0] - n.cx, + r = t[1] - n.cy, + o = Math.sqrt(i * i + r * r); + return o <= n.r && o >= n.r0; + } + }), + (e.type = "pie"), + e + ); + })(Og); + function PM(t, e, n) { + e = (Y(e) && { coordDimensions: e }) || A({ encodeDefine: t.getEncode() }, e); + var i = t.getSource(), + r = px(i, e).dimensions, + o = new cx(r, t); + return o.initData(i, n), o; + } + var OM = (function () { + function t(t, e) { + (this._getDataWithEncodedVisual = t), (this._getRawData = e); + } + return ( + (t.prototype.getAllNames = function () { + var t = this._getRawData(); + return t.mapArray(t.getName); + }), + (t.prototype.containName = function (t) { + return this._getRawData().indexOfName(t) >= 0; + }), + (t.prototype.indexOfName = function (t) { + return this._getDataWithEncodedVisual().indexOfName(t); + }), + (t.prototype.getItemVisual = function (t, e) { + return this._getDataWithEncodedVisual().getItemVisual(t, e); + }), + t + ); + })(), + RM = Vo(), + NM = (function (t) { + function e() { + return (null !== t && t.apply(this, arguments)) || this; + } + return ( + n(e, t), + (e.prototype.init = function (e) { + t.prototype.init.apply(this, arguments), (this.legendVisualProvider = new OM(W(this.getData, this), W(this.getRawData, this))), this._defaultLabelLine(e); + }), + (e.prototype.mergeOption = function () { + t.prototype.mergeOption.apply(this, arguments); + }), + (e.prototype.getInitialData = function () { + return PM(this, { coordDimensions: ["value"], encodeDefaulter: H(ed, this) }); + }), + (e.prototype.getDataParams = function (e) { + var n = this.getData(), + i = RM(n), + r = i.seats; + if (!r) { + var o = []; + n.each(n.mapDimension("value"), function (t) { + o.push(t); + }), + (r = i.seats = io(o, n.hostModel.get("percentPrecision"))); + } + var a = t.prototype.getDataParams.call(this, e); + return (a.percent = r[e] || 0), a.$vars.push("percent"), a; + }), + (e.prototype._defaultLabelLine = function (t) { + Co(t, "labelLine", ["show"]); + var e = t.labelLine, + n = t.emphasis.labelLine; + (e.show = e.show && t.label.show), (n.show = n.show && t.emphasis.label.show); + }), + (e.type = "series.pie"), + (e.defaultOption = { + z: 2, + legendHoverLink: !0, + colorBy: "data", + center: ["50%", "50%"], + radius: [0, "75%"], + clockwise: !0, + startAngle: 90, + endAngle: "auto", + padAngle: 0, + minAngle: 0, + minShowLabelAngle: 0, + selectedOffset: 10, + percentPrecision: 2, + stillShowZeroSum: !0, + left: 0, + top: 0, + right: 0, + bottom: 0, + width: null, + height: null, + label: { rotate: 0, show: !0, overflow: "truncate", position: "outer", alignTo: "none", edgeDistance: "25%", bleedMargin: 10, distanceToLabelLine: 5 }, + labelLine: { show: !0, length: 15, length2: 15, smooth: !1, minTurnAngle: 90, maxSurfaceAngle: 90, lineStyle: { width: 1, type: "solid" } }, + itemStyle: { borderWidth: 1, borderJoin: "round" }, + showEmptyCircle: !0, + emptyCircleStyle: { color: "lightgray", opacity: 1 }, + labelLayout: { hideOverlap: !0 }, + emphasis: { scale: !0, scaleSize: 5 }, + avoidLabelOverlap: !0, + animationType: "expansion", + animationDuration: 1e3, + animationTypeUpdate: "transition", + animationEasingUpdate: "cubicInOut", + animationDurationUpdate: 500, + animationEasing: "cubicInOut", + }), + e + ); + })(bg); + var EM = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), (n.hasSymbolVisual = !0), n; + } + return ( + n(e, t), + (e.prototype.getInitialData = function (t, e) { + return _x(null, this, { useEncodeDefaulter: !0 }); + }), + (e.prototype.getProgressive = function () { + var t = this.option.progressive; + return null == t ? (this.option.large ? 5e3 : this.get("progressive")) : t; + }), + (e.prototype.getProgressiveThreshold = function () { + var t = this.option.progressiveThreshold; + return null == t ? (this.option.large ? 1e4 : this.get("progressiveThreshold")) : t; + }), + (e.prototype.brushSelector = function (t, e, n) { + return n.point(e.getItemLayout(t)); + }), + (e.prototype.getZLevelKey = function () { + return this.getData().count() > this.getProgressiveThreshold() ? this.id : ""; + }), + (e.type = "series.scatter"), + (e.dependencies = ["grid", "polar", "geo", "singleAxis", "calendar"]), + (e.defaultOption = { + coordinateSystem: "cartesian2d", + z: 2, + legendHoverLink: !0, + symbolSize: 10, + large: !1, + largeThreshold: 2e3, + itemStyle: { opacity: 0.8 }, + emphasis: { scale: !0 }, + clip: !0, + select: { itemStyle: { borderColor: "#212121" } }, + universalTransition: { divideShape: "clone" }, + }), + e + ); + })(bg), + zM = function () {}, + VM = (function (t) { + function e(e) { + var n = t.call(this, e) || this; + return (n._off = 0), (n.hoverDataIdx = -1), n; + } + return ( + n(e, t), + (e.prototype.getDefaultShape = function () { + return new zM(); + }), + (e.prototype.reset = function () { + (this.notClear = !1), (this._off = 0); + }), + (e.prototype.buildPath = function (t, e) { + var n, + i = e.points, + r = e.size, + o = this.symbolProxy, + a = o.shape, + s = t.getContext ? t.getContext() : t, + l = s && r[0] < 4, + u = this.softClipShape; + if (l) this._ctx = s; + else { + for (this._ctx = null, n = this._off; n < i.length; ) { + var h = i[n++], + c = i[n++]; + isNaN(h) || isNaN(c) || (u && !u.contain(h, c)) || ((a.x = h - r[0] / 2), (a.y = c - r[1] / 2), (a.width = r[0]), (a.height = r[1]), o.buildPath(t, a, !0)); + } + this.incremental && ((this._off = n), (this.notClear = !0)); + } + }), + (e.prototype.afterBrush = function () { + var t, + e = this.shape, + n = e.points, + i = e.size, + r = this._ctx, + o = this.softClipShape; + if (r) { + for (t = this._off; t < n.length; ) { + var a = n[t++], + s = n[t++]; + isNaN(a) || isNaN(s) || (o && !o.contain(a, s)) || r.fillRect(a - i[0] / 2, s - i[1] / 2, i[0], i[1]); + } + this.incremental && ((this._off = t), (this.notClear = !0)); + } + }), + (e.prototype.findDataIndex = function (t, e) { + for (var n = this.shape, i = n.points, r = n.size, o = Math.max(r[0], 4), a = Math.max(r[1], 4), s = i.length / 2 - 1; s >= 0; s--) { + var l = 2 * s, + u = i[l] - o / 2, + h = i[l + 1] - a / 2; + if (t >= u && e >= h && t <= u + o && e <= h + a) return s; + } + return -1; + }), + (e.prototype.contain = function (t, e) { + var n = this.transformCoordToLocal(t, e), + i = this.getBoundingRect(); + return (t = n[0]), (e = n[1]), i.contain(t, e) ? (this.hoverDataIdx = this.findDataIndex(t, e)) >= 0 : ((this.hoverDataIdx = -1), !1); + }), + (e.prototype.getBoundingRect = function () { + var t = this._rect; + if (!t) { + for (var e = this.shape, n = e.points, i = e.size, r = i[0], o = i[1], a = 1 / 0, s = 1 / 0, l = -1 / 0, u = -1 / 0, h = 0; h < n.length; ) { + var c = n[h++], + p = n[h++]; + (a = Math.min(c, a)), (l = Math.max(c, l)), (s = Math.min(p, s)), (u = Math.max(p, u)); + } + t = this._rect = new ze(a - r / 2, s - o / 2, l - a + r, u - s + o); + } + return t; + }), + e + ); + })(ks), + BM = (function () { + function t() { + this.group = new Br(); + } + return ( + (t.prototype.updateData = function (t, e) { + this._clear(); + var n = this._create(); + n.setShape({ points: t.getLayout("points") }), this._setCommon(n, t, e); + }), + (t.prototype.updateLayout = function (t) { + var e = t.getLayout("points"); + this.group.eachChild(function (t) { + if (null != t.startIndex) { + var n = 2 * (t.endIndex - t.startIndex), + i = 4 * t.startIndex * 2; + e = new Float32Array(e.buffer, i, n); + } + t.setShape("points", e), t.reset(); + }); + }), + (t.prototype.incrementalPrepareUpdate = function (t) { + this._clear(); + }), + (t.prototype.incrementalUpdate = function (t, e, n) { + var i = this._newAdded[0], + r = e.getLayout("points"), + o = i && i.shape.points; + if (o && o.length < 2e4) { + var a = o.length, + s = new Float32Array(a + r.length); + s.set(o), s.set(r, a), (i.endIndex = t.end), i.setShape({ points: s }); + } else { + this._newAdded = []; + var l = this._create(); + (l.startIndex = t.start), (l.endIndex = t.end), (l.incremental = !0), l.setShape({ points: r }), this._setCommon(l, e, n); + } + }), + (t.prototype.eachRendered = function (t) { + this._newAdded[0] && t(this._newAdded[0]); + }), + (t.prototype._create = function () { + var t = new VM({ cursor: "default" }); + return (t.ignoreCoarsePointer = !0), this.group.add(t), this._newAdded.push(t), t; + }), + (t.prototype._setCommon = function (t, e, n) { + var i = e.hostModel; + n = n || {}; + var r = e.getVisual("symbolSize"); + t.setShape("size", r instanceof Array ? r : [r, r]), (t.softClipShape = n.clipShape || null), (t.symbolProxy = Xy(e.getVisual("symbol"), 0, 0, 0, 0)), (t.setColor = t.symbolProxy.setColor); + var o = t.shape.size[0] < 4; + t.useStyle(i.getModel("itemStyle").getItemStyle(o ? ["color", "shadowBlur", "shadowColor"] : ["color"])); + var a = e.getVisual("style"), + s = a && a.fill; + s && t.setColor(s); + var l = rl(t); + (l.seriesIndex = i.seriesIndex), + t.on("mousemove", function (e) { + l.dataIndex = null; + var n = t.hoverDataIdx; + n >= 0 && (l.dataIndex = n + (t.startIndex || 0)); + }); + }), + (t.prototype.remove = function () { + this._clear(); + }), + (t.prototype._clear = function () { + (this._newAdded = []), this.group.removeAll(); + }), + t + ); + })(), + FM = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.prototype.render = function (t, e, n) { + var i = t.getData(); + this._updateSymbolDraw(i, t).updateData(i, { clipShape: this._getClipShape(t) }), (this._finished = !0); + }), + (e.prototype.incrementalPrepareRender = function (t, e, n) { + var i = t.getData(); + this._updateSymbolDraw(i, t).incrementalPrepareUpdate(i), (this._finished = !1); + }), + (e.prototype.incrementalRender = function (t, e, n) { + this._symbolDraw.incrementalUpdate(t, e.getData(), { clipShape: this._getClipShape(e) }), (this._finished = t.end === e.getData().count()); + }), + (e.prototype.updateTransform = function (t, e, n) { + var i = t.getData(); + if ((this.group.dirty(), !this._finished || i.count() > 1e4)) return { update: !0 }; + var r = YS("").reset(t, e, n); + r.progress && r.progress({ start: 0, end: i.count(), count: i.count() }, i), this._symbolDraw.updateLayout(i); + }), + (e.prototype.eachRendered = function (t) { + this._symbolDraw && this._symbolDraw.eachRendered(t); + }), + (e.prototype._getClipShape = function (t) { + if (t.get("clip", !0)) { + var e = t.coordinateSystem; + return e && e.getArea && e.getArea(0.1); + } + }), + (e.prototype._updateSymbolDraw = function (t, e) { + var n = this._symbolDraw, + i = e.pipelineContext.large; + return (n && i === this._isLargeDraw) || (n && n.remove(), (n = this._symbolDraw = i ? new BM() : new mS()), (this._isLargeDraw = i), this.group.removeAll()), this.group.add(n.group), n; + }), + (e.prototype.remove = function (t, e) { + this._symbolDraw && this._symbolDraw.remove(!0), (this._symbolDraw = null); + }), + (e.prototype.dispose = function () {}), + (e.type = "scatter"), + e + ); + })(Og), + GM = (function (t) { + function e() { + return (null !== t && t.apply(this, arguments)) || this; + } + return ( + n(e, t), + (e.type = "grid"), + (e.dependencies = ["xAxis", "yAxis"]), + (e.layoutMode = "box"), + (e.defaultOption = { show: !1, z: 0, left: "10%", top: 60, right: "10%", bottom: 70, containLabel: !1, backgroundColor: "rgba(0,0,0,0)", borderWidth: 1, borderColor: "#ccc" }), + e + ); + })(zp), + WM = (function (t) { + function e() { + return (null !== t && t.apply(this, arguments)) || this; + } + return ( + n(e, t), + (e.prototype.getCoordSysModel = function () { + return this.getReferringComponents("grid", Wo).models[0]; + }), + (e.type = "cartesian2dAxis"), + e + ); + })(zp); + R(WM, D_); + var HM = { + show: !0, + z: 0, + inverse: !1, + name: "", + nameLocation: "end", + nameRotate: null, + nameTruncate: { maxWidth: null, ellipsis: "...", placeholder: "." }, + nameTextStyle: {}, + nameGap: 15, + silent: !1, + triggerEvent: !1, + tooltip: { show: !1 }, + axisPointer: {}, + axisLine: { show: !0, onZero: !0, onZeroAxisIndex: null, lineStyle: { color: "#6E7079", width: 1, type: "solid" }, symbol: ["none", "none"], symbolSize: [10, 15] }, + axisTick: { show: !0, inside: !1, length: 5, lineStyle: { width: 1 } }, + axisLabel: { show: !0, inside: !1, rotate: 0, showMinLabel: null, showMaxLabel: null, margin: 8, fontSize: 12 }, + splitLine: { show: !0, lineStyle: { color: ["#E0E6F1"], width: 1, type: "solid" } }, + splitArea: { show: !1, areaStyle: { color: ["rgba(250,250,250,0.2)", "rgba(210,219,238,0.2)"] } }, + }, + YM = C({ boundaryGap: !0, deduplication: null, splitLine: { show: !1 }, axisTick: { alignWithLabel: !1, interval: "auto" }, axisLabel: { interval: "auto" } }, HM), + XM = C( + { + boundaryGap: [0, 0], + axisLine: { show: "auto" }, + axisTick: { show: "auto" }, + splitNumber: 5, + minorTick: { show: !1, splitNumber: 5, length: 3, lineStyle: {} }, + minorSplitLine: { show: !1, lineStyle: { color: "#F4F7FD", width: 1 } }, + }, + HM + ), + UM = { category: YM, value: XM, time: C({ splitNumber: 6, axisLabel: { showMinLabel: !1, showMaxLabel: !1, rich: { primary: { fontWeight: "bold" } } }, splitLine: { show: !1 } }, XM), log: k({ logBase: 10 }, XM) }, + ZM = { value: 1, category: 1, time: 1, log: 1 }; + function jM(t, e, i, r) { + E(ZM, function (o, a) { + var s = C(C({}, UM[a], !0), r, !0), + l = (function (t) { + function i() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e + "Axis." + a), n; + } + return ( + n(i, t), + (i.prototype.mergeDefaultAndTheme = function (t, e) { + var n = Pp(this), + i = n ? Rp(t) : {}; + C(t, e.getTheme().get(a + "Axis")), C(t, this.getDefaultOption()), (t.type = qM(t)), n && Op(t, i, n); + }), + (i.prototype.optionUpdated = function () { + "category" === this.option.type && (this.__ordinalMeta = Mx.createByAxisModel(this)); + }), + (i.prototype.getCategories = function (t) { + var e = this.option; + if ("category" === e.type) return t ? e.data : this.__ordinalMeta.categories; + }), + (i.prototype.getOrdinalMeta = function () { + return this.__ordinalMeta; + }), + (i.type = e + "Axis." + a), + (i.defaultOption = s), + i + ); + })(i); + t.registerComponentModel(l); + }), + t.registerSubTypeDefaulter(e + "Axis", qM); + } + function qM(t) { + return t.type || (t.data ? "category" : "value"); + } + var KM = (function () { + function t(t) { + (this.type = "cartesian"), (this._dimList = []), (this._axes = {}), (this.name = t || ""); + } + return ( + (t.prototype.getAxis = function (t) { + return this._axes[t]; + }), + (t.prototype.getAxes = function () { + return z( + this._dimList, + function (t) { + return this._axes[t]; + }, + this + ); + }), + (t.prototype.getAxesByScale = function (t) { + return ( + (t = t.toLowerCase()), + B(this.getAxes(), function (e) { + return e.scale.type === t; + }) + ); + }), + (t.prototype.addAxis = function (t) { + var e = t.dim; + (this._axes[e] = t), this._dimList.push(e); + }), + t + ); + })(), + $M = ["x", "y"]; + function JM(t) { + return "interval" === t.type || "time" === t.type; + } + var QM = (function (t) { + function e() { + var e = (null !== t && t.apply(this, arguments)) || this; + return (e.type = "cartesian2d"), (e.dimensions = $M), e; + } + return ( + n(e, t), + (e.prototype.calcAffineTransform = function () { + this._transform = this._invTransform = null; + var t = this.getAxis("x").scale, + e = this.getAxis("y").scale; + if (JM(t) && JM(e)) { + var n = t.getExtent(), + i = e.getExtent(), + r = this.dataToPoint([n[0], i[0]]), + o = this.dataToPoint([n[1], i[1]]), + a = n[1] - n[0], + s = i[1] - i[0]; + if (a && s) { + var l = (o[0] - r[0]) / a, + u = (o[1] - r[1]) / s, + h = r[0] - n[0] * l, + c = r[1] - i[0] * u, + p = (this._transform = [l, 0, 0, u, h, c]); + this._invTransform = Ie([], p); + } + } + }), + (e.prototype.getBaseAxis = function () { + return this.getAxesByScale("ordinal")[0] || this.getAxesByScale("time")[0] || this.getAxis("x"); + }), + (e.prototype.containPoint = function (t) { + var e = this.getAxis("x"), + n = this.getAxis("y"); + return e.contain(e.toLocalCoord(t[0])) && n.contain(n.toLocalCoord(t[1])); + }), + (e.prototype.containData = function (t) { + return this.getAxis("x").containData(t[0]) && this.getAxis("y").containData(t[1]); + }), + (e.prototype.containZone = function (t, e) { + var n = this.dataToPoint(t), + i = this.dataToPoint(e), + r = this.getArea(), + o = new ze(n[0], n[1], i[0] - n[0], i[1] - n[1]); + return r.intersect(o); + }), + (e.prototype.dataToPoint = function (t, e, n) { + n = n || []; + var i = t[0], + r = t[1]; + if (this._transform && null != i && isFinite(i) && null != r && isFinite(r)) return Wt(n, t, this._transform); + var o = this.getAxis("x"), + a = this.getAxis("y"); + return (n[0] = o.toGlobalCoord(o.dataToCoord(i, e))), (n[1] = a.toGlobalCoord(a.dataToCoord(r, e))), n; + }), + (e.prototype.clampData = function (t, e) { + var n = this.getAxis("x").scale, + i = this.getAxis("y").scale, + r = n.getExtent(), + o = i.getExtent(), + a = n.parse(t[0]), + s = i.parse(t[1]); + return ((e = e || [])[0] = Math.min(Math.max(Math.min(r[0], r[1]), a), Math.max(r[0], r[1]))), (e[1] = Math.min(Math.max(Math.min(o[0], o[1]), s), Math.max(o[0], o[1]))), e; + }), + (e.prototype.pointToData = function (t, e) { + var n = []; + if (this._invTransform) return Wt(n, t, this._invTransform); + var i = this.getAxis("x"), + r = this.getAxis("y"); + return (n[0] = i.coordToData(i.toLocalCoord(t[0]), e)), (n[1] = r.coordToData(r.toLocalCoord(t[1]), e)), n; + }), + (e.prototype.getOtherAxis = function (t) { + return this.getAxis("x" === t.dim ? "y" : "x"); + }), + (e.prototype.getArea = function (t) { + t = t || 0; + var e = this.getAxis("x").getGlobalExtent(), + n = this.getAxis("y").getGlobalExtent(), + i = Math.min(e[0], e[1]) - t, + r = Math.min(n[0], n[1]) - t, + o = Math.max(e[0], e[1]) - i + t, + a = Math.max(n[0], n[1]) - r + t; + return new ze(i, r, o, a); + }), + e + ); + })(KM), + tI = (function (t) { + function e(e, n, i, r, o) { + var a = t.call(this, e, n, i) || this; + return (a.index = 0), (a.type = r || "value"), (a.position = o || "bottom"), a; + } + return ( + n(e, t), + (e.prototype.isHorizontal = function () { + var t = this.position; + return "top" === t || "bottom" === t; + }), + (e.prototype.getGlobalExtent = function (t) { + var e = this.getExtent(); + return (e[0] = this.toGlobalCoord(e[0])), (e[1] = this.toGlobalCoord(e[1])), t && e[0] > e[1] && e.reverse(), e; + }), + (e.prototype.pointToData = function (t, e) { + return this.coordToData(this.toLocalCoord(t["x" === this.dim ? 0 : 1]), e); + }), + (e.prototype.setCategorySortInfo = function (t) { + if ("category" !== this.type) return !1; + (this.model.option.categorySortInfo = t), this.scale.setSortInfo(t); + }), + e + ); + })(ob); + function eI(t, e, n) { + n = n || {}; + var i = t.coordinateSystem, + r = e.axis, + o = {}, + a = r.getAxesOnZeroOf()[0], + s = r.position, + l = a ? "onZero" : s, + u = r.dim, + h = i.getRect(), + c = [h.x, h.x + h.width, h.y, h.y + h.height], + p = { left: 0, right: 1, top: 0, bottom: 1, onZero: 2 }, + d = e.get("offset") || 0, + f = "x" === u ? [c[2] - d, c[3] + d] : [c[0] - d, c[1] + d]; + if (a) { + var g = a.toGlobalCoord(a.dataToCoord(0)); + f[p.onZero] = Math.max(Math.min(g, f[1]), f[0]); + } + (o.position = ["y" === u ? f[p[l]] : c[0], "x" === u ? f[p[l]] : c[3]]), (o.rotation = (Math.PI / 2) * ("x" === u ? 0 : 1)); + (o.labelDirection = o.tickDirection = o.nameDirection = { top: -1, bottom: 1, left: -1, right: 1 }[s]), + (o.labelOffset = a ? f[p[s]] - f[p.onZero] : 0), + e.get(["axisTick", "inside"]) && (o.tickDirection = -o.tickDirection), + it(n.labelInside, e.get(["axisLabel", "inside"])) && (o.labelDirection = -o.labelDirection); + var y = e.get(["axisLabel", "rotate"]); + return (o.labelRotate = "top" === l ? -y : y), (o.z2 = 1), o; + } + function nI(t) { + return "cartesian2d" === t.get("coordinateSystem"); + } + function iI(t) { + var e = { xAxisModel: null, yAxisModel: null }; + return ( + E(e, function (n, i) { + var r = i.replace(/Model$/, ""), + o = t.getReferringComponents(r, Wo).models[0]; + e[i] = o; + }), + e + ); + } + var rI = Math.log; + function oI(t, e, n) { + var i = Ex.prototype, + r = i.getTicks.call(n), + o = i.getTicks.call(n, !0), + a = r.length - 1, + s = i.getInterval.call(n), + l = x_(t, e), + u = l.extent, + h = l.fixMin, + c = l.fixMax; + if ("log" === t.type) { + var p = rI(t.base); + u = [rI(u[0]) / p, rI(u[1]) / p]; + } + t.setExtent(u[0], u[1]), t.calcNiceExtent({ splitNumber: a, fixMin: h, fixMax: c }); + var d = i.getExtent.call(t); + h && (u[0] = d[0]), c && (u[1] = d[1]); + var f = i.getInterval.call(t), + g = u[0], + y = u[1]; + if (h && c) f = (y - g) / a; + else if (h) for (y = u[0] + f * a; y < u[1] && isFinite(y) && isFinite(u[1]); ) (f = Dx(f)), (y = u[0] + f * a); + else if (c) for (g = u[1] - f * a; g > u[0] && isFinite(g) && isFinite(u[0]); ) (f = Dx(f)), (g = u[1] - f * a); + else { + t.getTicks().length - 1 > a && (f = Dx(f)); + var v = f * a; + (g = Jr((y = Math.ceil(u[1] / f) * f) - v)) < 0 && u[0] >= 0 ? ((g = 0), (y = Jr(v))) : y > 0 && u[1] <= 0 && ((y = 0), (g = -Jr(v))); + } + var m = (r[0].value - o[0].value) / s, + x = (r[a].value - o[a].value) / s; + i.setExtent.call(t, g + f * m, y + f * x), i.setInterval.call(t, f), (m || x) && i.setNiceExtent.call(t, g + f, y - f); + } + var aI = (function () { + function t(t, e, n) { + (this.type = "grid"), (this._coordsMap = {}), (this._coordsList = []), (this._axesMap = {}), (this._axesList = []), (this.axisPointerEnabled = !0), (this.dimensions = $M), this._initCartesian(t, e, n), (this.model = t); + } + return ( + (t.prototype.getRect = function () { + return this._rect; + }), + (t.prototype.update = function (t, e) { + var n = this._axesMap; + function i(t) { + var e, + n = G(t), + i = n.length; + if (i) { + for (var r = [], o = i - 1; o >= 0; o--) { + var a = t[+n[o]], + s = a.model, + l = a.scale; + Tx(l) && s.get("alignTicks") && null == s.get("interval") ? r.push(a) : (__(l, s), Tx(l) && (e = a)); + } + r.length && + (e || __((e = r.pop()).scale, e.model), + E(r, function (t) { + oI(t.scale, t.model, e.scale); + })); + } + } + this._updateScale(t, this.model), i(n.x), i(n.y); + var r = {}; + E(n.x, function (t) { + lI(n, "y", t, r); + }), + E(n.y, function (t) { + lI(n, "x", t, r); + }), + this.resize(this.model, e); + }), + (t.prototype.resize = function (t, e, n) { + var i = t.getBoxLayoutParams(), + r = !n && t.get("containLabel"), + o = kp(i, { width: e.getWidth(), height: e.getHeight() }); + this._rect = o; + var a = this._axesList; + function s() { + E(a, function (t) { + var e = t.isHorizontal(), + n = e ? [0, o.width] : [0, o.height], + i = t.inverse ? 1 : 0; + t.setExtent(n[i], n[1 - i]), + (function (t, e) { + var n = t.getExtent(), + i = n[0] + n[1]; + (t.toGlobalCoord = + "x" === t.dim + ? function (t) { + return t + e; + } + : function (t) { + return i - t + e; + }), + (t.toLocalCoord = + "x" === t.dim + ? function (t) { + return t - e; + } + : function (t) { + return i - t + e; + }); + })(t, e ? o.x : o.y); + }); + } + s(), + r && + (E(a, function (t) { + if (!t.model.get(["axisLabel", "inside"])) { + var e = (function (t) { + var e = t.model, + n = t.scale; + if (e.get(["axisLabel", "show"]) && !n.isBlank()) { + var i, + r, + o = n.getExtent(); + r = n instanceof Rx ? n.count() : (i = n.getTicks()).length; + var a, + s = t.getLabelModel(), + l = w_(t), + u = 1; + r > 40 && (u = Math.ceil(r / 40)); + for (var h = 0; h < r; h += u) { + var c = l(i ? i[h] : { value: o[0] + h }, h), + p = M_(s.getTextRect(c), s.get("rotate") || 0); + a ? a.union(p) : (a = p); + } + return a; + } + })(t); + if (e) { + var n = t.isHorizontal() ? "height" : "width", + i = t.model.get(["axisLabel", "margin"]); + (o[n] -= e[n] + i), "top" === t.position ? (o.y += e.height + i) : "left" === t.position && (o.x += e.width + i); + } + } + }), + s()), + E(this._coordsList, function (t) { + t.calcAffineTransform(); + }); + }), + (t.prototype.getAxis = function (t, e) { + var n = this._axesMap[t]; + if (null != n) return n[e || 0]; + }), + (t.prototype.getAxes = function () { + return this._axesList.slice(); + }), + (t.prototype.getCartesian = function (t, e) { + if (null != t && null != e) { + var n = "x" + t + "y" + e; + return this._coordsMap[n]; + } + q(t) && ((e = t.yAxisIndex), (t = t.xAxisIndex)); + for (var i = 0, r = this._coordsList; i < r.length; i++) if (r[i].getAxis("x").index === t || r[i].getAxis("y").index === e) return r[i]; + }), + (t.prototype.getCartesians = function () { + return this._coordsList.slice(); + }), + (t.prototype.convertToPixel = function (t, e, n) { + var i = this._findConvertTarget(e); + return i.cartesian ? i.cartesian.dataToPoint(n) : i.axis ? i.axis.toGlobalCoord(i.axis.dataToCoord(n)) : null; + }), + (t.prototype.convertFromPixel = function (t, e, n) { + var i = this._findConvertTarget(e); + return i.cartesian ? i.cartesian.pointToData(n) : i.axis ? i.axis.coordToData(i.axis.toLocalCoord(n)) : null; + }), + (t.prototype._findConvertTarget = function (t) { + var e, + n, + i = t.seriesModel, + r = t.xAxisModel || (i && i.getReferringComponents("xAxis", Wo).models[0]), + o = t.yAxisModel || (i && i.getReferringComponents("yAxis", Wo).models[0]), + a = t.gridModel, + s = this._coordsList; + if (i) P(s, (e = i.coordinateSystem)) < 0 && (e = null); + else if (r && o) e = this.getCartesian(r.componentIndex, o.componentIndex); + else if (r) n = this.getAxis("x", r.componentIndex); + else if (o) n = this.getAxis("y", o.componentIndex); + else if (a) { + a.coordinateSystem === this && (e = this._coordsList[0]); + } + return { cartesian: e, axis: n }; + }), + (t.prototype.containPoint = function (t) { + var e = this._coordsList[0]; + if (e) return e.containPoint(t); + }), + (t.prototype._initCartesian = function (t, e, n) { + var i = this, + r = this, + o = { left: !1, right: !1, top: !1, bottom: !1 }, + a = { x: {}, y: {} }, + s = { x: 0, y: 0 }; + if ((e.eachComponent("xAxis", l("x"), this), e.eachComponent("yAxis", l("y"), this), !s.x || !s.y)) return (this._axesMap = {}), void (this._axesList = []); + function l(e) { + return function (n, i) { + if (sI(n, t)) { + var l = n.get("position"); + "x" === e ? "top" !== l && "bottom" !== l && (l = o.bottom ? "top" : "bottom") : "left" !== l && "right" !== l && (l = o.left ? "right" : "left"), (o[l] = !0); + var u = new tI(e, b_(n), [0, 0], n.get("type"), l), + h = "category" === u.type; + (u.onBand = h && n.get("boundaryGap")), (u.inverse = n.get("inverse")), (n.axis = u), (u.model = n), (u.grid = r), (u.index = i), r._axesList.push(u), (a[e][i] = u), s[e]++; + } + }; + } + (this._axesMap = a), + E(a.x, function (e, n) { + E(a.y, function (r, o) { + var a = "x" + n + "y" + o, + s = new QM(a); + (s.master = i), (s.model = t), (i._coordsMap[a] = s), i._coordsList.push(s), s.addAxis(e), s.addAxis(r); + }); + }); + }), + (t.prototype._updateScale = function (t, e) { + function n(t, e) { + E(C_(t, e.dim), function (n) { + e.scale.unionExtentFromData(t, n); + }); + } + E(this._axesList, function (t) { + if ((t.scale.setExtent(1 / 0, -1 / 0), "category" === t.type)) { + var e = t.model.get("categorySortInfo"); + t.scale.setSortInfo(e); + } + }), + t.eachSeries(function (t) { + if (nI(t)) { + var i = iI(t), + r = i.xAxisModel, + o = i.yAxisModel; + if (!sI(r, e) || !sI(o, e)) return; + var a = this.getCartesian(r.componentIndex, o.componentIndex), + s = t.getData(), + l = a.getAxis("x"), + u = a.getAxis("y"); + n(s, l), n(s, u); + } + }, this); + }), + (t.prototype.getTooltipAxes = function (t) { + var e = [], + n = []; + return ( + E(this.getCartesians(), function (i) { + var r = null != t && "auto" !== t ? i.getAxis(t) : i.getBaseAxis(), + o = i.getOtherAxis(r); + P(e, r) < 0 && e.push(r), P(n, o) < 0 && n.push(o); + }), + { baseAxes: e, otherAxes: n } + ); + }), + (t.create = function (e, n) { + var i = []; + return ( + e.eachComponent("grid", function (r, o) { + var a = new t(r, e, n); + (a.name = "grid_" + o), a.resize(r, n, !0), (r.coordinateSystem = a), i.push(a); + }), + e.eachSeries(function (t) { + if (nI(t)) { + var e = iI(t), + n = e.xAxisModel, + i = e.yAxisModel, + r = n.getCoordSysModel(); + 0; + var o = r.coordinateSystem; + t.coordinateSystem = o.getCartesian(n.componentIndex, i.componentIndex); + } + }), + i + ); + }), + (t.dimensions = $M), + t + ); + })(); + function sI(t, e) { + return t.getCoordSysModel() === e; + } + function lI(t, e, n, i) { + n.getAxesOnZeroOf = function () { + return r ? [r] : []; + }; + var r, + o = t[e], + a = n.model, + s = a.get(["axisLine", "onZero"]), + l = a.get(["axisLine", "onZeroAxisIndex"]); + if (s) { + if (null != l) uI(o[l]) && (r = o[l]); + else + for (var u in o) + if (o.hasOwnProperty(u) && uI(o[u]) && !i[h(o[u])]) { + r = o[u]; + break; + } + r && (i[h(r)] = !0); + } + function h(t) { + return t.dim + "_" + t.index; + } + } + function uI(t) { + return ( + t && + "category" !== t.type && + "time" !== t.type && + (function (t) { + var e = t.scale.getExtent(), + n = e[0], + i = e[1]; + return !((n > 0 && i > 0) || (n < 0 && i < 0)); + })(t) + ); + } + var hI = Math.PI, + cI = (function () { + function t(t, e) { + (this.group = new Br()), + (this.opt = e), + (this.axisModel = t), + k(e, { + labelOffset: 0, + nameDirection: 1, + tickDirection: 1, + labelDirection: 1, + silent: !0, + handleAutoShown: function () { + return !0; + }, + }); + var n = new Br({ x: e.position[0], y: e.position[1], rotation: e.rotation }); + n.updateTransform(), (this._transformGroup = n); + } + return ( + (t.prototype.hasBuilder = function (t) { + return !!pI[t]; + }), + (t.prototype.add = function (t) { + pI[t](this.opt, this.axisModel, this.group, this._transformGroup); + }), + (t.prototype.getGroup = function () { + return this.group; + }), + (t.innerTextLayout = function (t, e, n) { + var i, + r, + o = ao(e - t); + return ( + so(o) ? ((r = n > 0 ? "top" : "bottom"), (i = "center")) : so(o - hI) ? ((r = n > 0 ? "bottom" : "top"), (i = "center")) : ((r = "middle"), (i = o > 0 && o < hI ? (n > 0 ? "right" : "left") : n > 0 ? "left" : "right")), + { rotation: o, textAlign: i, textVerticalAlign: r } + ); + }), + (t.makeAxisEventDataBase = function (t) { + var e = { componentType: t.mainType, componentIndex: t.componentIndex }; + return (e[t.mainType + "Index"] = t.componentIndex), e; + }), + (t.isLabelSilent = function (t) { + var e = t.get("tooltip"); + return t.get("silent") || !(t.get("triggerEvent") || (e && e.show)); + }), + t + ); + })(), + pI = { + axisLine: function (t, e, n, i) { + var r = e.get(["axisLine", "show"]); + if (("auto" === r && t.handleAutoShown && (r = t.handleAutoShown("axisLine")), r)) { + var o = e.axis.getExtent(), + a = i.transform, + s = [o[0], 0], + l = [o[1], 0], + u = s[0] > l[0]; + a && (Wt(s, s, a), Wt(l, l, a)); + var h = A({ lineCap: "round" }, e.getModel(["axisLine", "lineStyle"]).getLineStyle()), + c = new Ku({ shape: { x1: s[0], y1: s[1], x2: l[0], y2: l[1] }, style: h, strokeContainThreshold: t.strokeContainThreshold || 5, silent: !0, z2: 1 }); + zh(c.shape, c.style.lineWidth), (c.anid = "line"), n.add(c); + var p = e.get(["axisLine", "symbol"]); + if (null != p) { + var d = e.get(["axisLine", "symbolSize"]); + U(p) && (p = [p, p]), (U(d) || j(d)) && (d = [d, d]); + var f = Zy(e.get(["axisLine", "symbolOffset"]) || 0, d), + g = d[0], + y = d[1]; + E( + [ + { rotate: t.rotation + Math.PI / 2, offset: f[0], r: 0 }, + { rotate: t.rotation - Math.PI / 2, offset: f[1], r: Math.sqrt((s[0] - l[0]) * (s[0] - l[0]) + (s[1] - l[1]) * (s[1] - l[1])) }, + ], + function (e, i) { + if ("none" !== p[i] && null != p[i]) { + var r = Xy(p[i], -g / 2, -y / 2, g, y, h.stroke, !0), + o = e.r + e.offset, + a = u ? l : s; + r.attr({ rotation: e.rotate, x: a[0] + o * Math.cos(t.rotation), y: a[1] - o * Math.sin(t.rotation), silent: !0, z2: 11 }), n.add(r); + } + } + ); + } + } + }, + axisTickLabel: function (t, e, n, i) { + var r = (function (t, e, n, i) { + var r = n.axis, + o = n.getModel("axisTick"), + a = o.get("show"); + "auto" === a && i.handleAutoShown && (a = i.handleAutoShown("axisTick")); + if (!a || r.scale.isBlank()) return; + for ( + var s = o.getModel("lineStyle"), l = i.tickDirection * o.get("length"), u = yI(r.getTicksCoords(), e.transform, l, k(s.getLineStyle(), { stroke: n.get(["axisLine", "lineStyle", "color"]) }), "ticks"), h = 0; + h < u.length; + h++ + ) + t.add(u[h]); + return u; + })(n, i, e, t), + o = (function (t, e, n, i) { + var r = n.axis, + o = it(i.axisLabelShow, n.get(["axisLabel", "show"])); + if (!o || r.scale.isBlank()) return; + var a = n.getModel("axisLabel"), + s = a.get("margin"), + l = r.getViewLabels(), + u = ((it(i.labelRotate, a.get("rotate")) || 0) * hI) / 180, + h = cI.innerTextLayout(i.rotation, u, i.labelDirection), + c = n.getCategories && n.getCategories(!0), + p = [], + d = cI.isLabelSilent(n), + f = n.get("triggerEvent"); + return ( + E(l, function (o, u) { + var g = "ordinal" === r.scale.type ? r.scale.getRawOrdinalNumber(o.tickValue) : o.tickValue, + y = o.formattedLabel, + v = o.rawLabel, + m = a; + if (c && c[g]) { + var x = c[g]; + q(x) && x.textStyle && (m = new Cc(x.textStyle, a, n.ecModel)); + } + var _ = m.getTextColor() || n.get(["axisLine", "lineStyle", "color"]), + b = r.dataToCoord(g), + w = m.getShallow("align", !0) || h.textAlign, + S = rt(m.getShallow("alignMinLabel", !0), w), + M = rt(m.getShallow("alignMaxLabel", !0), w), + I = m.getShallow("verticalAlign", !0) || m.getShallow("baseline", !0) || h.textVerticalAlign, + T = rt(m.getShallow("verticalAlignMinLabel", !0), I), + C = rt(m.getShallow("verticalAlignMaxLabel", !0), I), + D = new Xs({ + x: b, + y: i.labelOffset + i.labelDirection * s, + rotation: h.rotation, + silent: d, + z2: 10 + (o.level || 0), + style: oc(m, { text: y, align: 0 === u ? S : u === l.length - 1 ? M : w, verticalAlign: 0 === u ? T : u === l.length - 1 ? C : I, fill: X(_) ? _("category" === r.type ? v : "value" === r.type ? g + "" : g, u) : _ }), + }); + if (((D.anid = "label_" + g), f)) { + var A = cI.makeAxisEventDataBase(n); + (A.targetType = "axisLabel"), (A.value = v), (A.tickIndex = u), "category" === r.type && (A.dataIndex = g), (rl(D).eventData = A); + } + e.add(D), D.updateTransform(), p.push(D), t.add(D), D.decomposeTransform(); + }), + p + ); + })(n, i, e, t); + ((function (t, e, n) { + if (T_(t.axis)) return; + var i = t.get(["axisLabel", "showMinLabel"]), + r = t.get(["axisLabel", "showMaxLabel"]); + (e = e || []), (n = n || []); + var o = e[0], + a = e[1], + s = e[e.length - 1], + l = e[e.length - 2], + u = n[0], + h = n[1], + c = n[n.length - 1], + p = n[n.length - 2]; + !1 === i ? (dI(o), dI(u)) : fI(o, a) && (i ? (dI(a), dI(h)) : (dI(o), dI(u))); + !1 === r ? (dI(s), dI(c)) : fI(l, s) && (r ? (dI(l), dI(p)) : (dI(s), dI(c))); + })(e, o, r), + (function (t, e, n, i) { + var r = n.axis, + o = n.getModel("minorTick"); + if (!o.get("show") || r.scale.isBlank()) return; + var a = r.getMinorTicksCoords(); + if (!a.length) return; + for (var s = o.getModel("lineStyle"), l = i * o.get("length"), u = k(s.getLineStyle(), k(n.getModel("axisTick").getLineStyle(), { stroke: n.get(["axisLine", "lineStyle", "color"]) })), h = 0; h < a.length; h++) + for (var c = yI(a[h], e.transform, l, u, "minorticks_" + h), p = 0; p < c.length; p++) t.add(c[p]); + })(n, i, e, t.tickDirection), + e.get(["axisLabel", "hideOverlap"])) && + Rb( + Lb( + z(o, function (t) { + return { label: t, priority: t.z2, defaultAttr: { ignore: t.ignore } }; + }) + ) + ); + }, + axisName: function (t, e, n, i) { + var r = it(t.axisName, e.get("name")); + if (r) { + var o, + a, + s = e.get("nameLocation"), + l = t.nameDirection, + u = e.getModel("nameTextStyle"), + h = e.get("nameGap") || 0, + c = e.axis.getExtent(), + p = c[0] > c[1] ? -1 : 1, + d = ["start" === s ? c[0] - p * h : "end" === s ? c[1] + p * h : (c[0] + c[1]) / 2, gI(s) ? t.labelOffset + l * h : 0], + f = e.get("nameRotate"); + null != f && (f = (f * hI) / 180), + gI(s) + ? (o = cI.innerTextLayout(t.rotation, null != f ? f : t.rotation, l)) + : ((o = (function (t, e, n, i) { + var r, + o, + a = ao(n - t), + s = i[0] > i[1], + l = ("start" === e && !s) || ("start" !== e && s); + so(a - hI / 2) + ? ((o = l ? "bottom" : "top"), (r = "center")) + : so(a - 1.5 * hI) + ? ((o = l ? "top" : "bottom"), (r = "center")) + : ((o = "middle"), (r = a < 1.5 * hI && a > hI / 2 ? (l ? "left" : "right") : l ? "right" : "left")); + return { rotation: a, textAlign: r, textVerticalAlign: o }; + })(t.rotation, s, f || 0, c)), + null != (a = t.axisNameAvailableWidth) && ((a = Math.abs(a / Math.sin(o.rotation))), !isFinite(a) && (a = null))); + var g = u.getFont(), + y = e.get("nameTruncate", !0) || {}, + v = y.ellipsis, + m = it(t.nameTruncateMaxWidth, y.maxWidth, a), + x = new Xs({ + x: d[0], + y: d[1], + rotation: o.rotation, + silent: cI.isLabelSilent(e), + style: oc(u, { + text: r, + font: g, + overflow: "truncate", + width: m, + ellipsis: v, + fill: u.getTextColor() || e.get(["axisLine", "lineStyle", "color"]), + align: u.get("align") || o.textAlign, + verticalAlign: u.get("verticalAlign") || o.textVerticalAlign, + }), + z2: 1, + }); + if ((Kh({ el: x, componentModel: e, itemName: r }), (x.__fullText = r), (x.anid = "name"), e.get("triggerEvent"))) { + var _ = cI.makeAxisEventDataBase(e); + (_.targetType = "axisName"), (_.name = r), (rl(x).eventData = _); + } + i.add(x), x.updateTransform(), n.add(x), x.decomposeTransform(); + } + }, + }; + function dI(t) { + t && (t.ignore = !0); + } + function fI(t, e) { + var n = t && t.getBoundingRect().clone(), + i = e && e.getBoundingRect().clone(); + if (n && i) { + var r = xe([]); + return Se(r, r, -t.rotation), n.applyTransform(be([], r, t.getLocalTransform())), i.applyTransform(be([], r, e.getLocalTransform())), n.intersect(i); + } + } + function gI(t) { + return "middle" === t || "center" === t; + } + function yI(t, e, n, i, r) { + for (var o = [], a = [], s = [], l = 0; l < t.length; l++) { + var u = t[l].coord; + (a[0] = u), (a[1] = 0), (s[0] = u), (s[1] = n), e && (Wt(a, a, e), Wt(s, s, e)); + var h = new Ku({ shape: { x1: a[0], y1: a[1], x2: s[0], y2: s[1] }, style: i, z2: 2, autoBatch: !0, silent: !0 }); + zh(h.shape, h.style.lineWidth), (h.anid = r + "_" + t[l].tickValue), o.push(h); + } + return o; + } + function vI(t, e) { + var n = { axesInfo: {}, seriesInvolved: !1, coordSysAxesInfo: {}, coordSysMap: {} }; + return ( + (function (t, e, n) { + var i = e.getComponent("tooltip"), + r = e.getComponent("axisPointer"), + o = r.get("link", !0) || [], + a = []; + E(n.getCoordinateSystems(), function (n) { + if (n.axisPointerEnabled) { + var s = wI(n.model), + l = (t.coordSysAxesInfo[s] = {}); + t.coordSysMap[s] = n; + var u = n.model.getModel("tooltip", i); + if ((E(n.getAxes(), H(d, !1, null)), n.getTooltipAxes && i && u.get("show"))) { + var h = "axis" === u.get("trigger"), + c = "cross" === u.get(["axisPointer", "type"]), + p = n.getTooltipAxes(u.get(["axisPointer", "axis"])); + (h || c) && E(p.baseAxes, H(d, !c || "cross", h)), c && E(p.otherAxes, H(d, "cross", !1)); + } + } + function d(i, s, h) { + var c = h.model.getModel("axisPointer", r), + p = c.get("show"); + if (p && ("auto" !== p || i || bI(c))) { + null == s && (s = c.get("triggerTooltip")), + (c = i + ? (function (t, e, n, i, r, o) { + var a = e.getModel("axisPointer"), + s = {}; + E(["type", "snap", "lineStyle", "shadowStyle", "label", "animation", "animationDurationUpdate", "animationEasingUpdate", "z"], function (t) { + s[t] = T(a.get(t)); + }), + (s.snap = "category" !== t.type && !!o), + "cross" === a.get("type") && (s.type = "line"); + var l = s.label || (s.label = {}); + if ((null == l.show && (l.show = !1), "cross" === r)) { + var u = a.get(["label", "show"]); + if (((l.show = null == u || u), !o)) { + var h = (s.lineStyle = a.get("crossStyle")); + h && k(l, h.textStyle); + } + } + return t.model.getModel("axisPointer", new Cc(s, n, i)); + })(h, u, r, e, i, s) + : c); + var d = c.get("snap"), + f = c.get("triggerEmphasis"), + g = wI(h.model), + y = s || d || "category" === h.type, + v = (t.axesInfo[g] = { key: g, axis: h, coordSys: n, axisPointerModel: c, triggerTooltip: s, triggerEmphasis: f, involveSeries: y, snap: d, useHandle: bI(c), seriesModels: [], linkGroup: null }); + (l[g] = v), (t.seriesInvolved = t.seriesInvolved || y); + var m = (function (t, e) { + for (var n = e.model, i = e.dim, r = 0; r < t.length; r++) { + var o = t[r] || {}; + if (mI(o[i + "AxisId"], n.id) || mI(o[i + "AxisIndex"], n.componentIndex) || mI(o[i + "AxisName"], n.name)) return r; + } + })(o, h); + if (null != m) { + var x = a[m] || (a[m] = { axesInfo: {} }); + (x.axesInfo[g] = v), (x.mapper = o[m].mapper), (v.linkGroup = x); + } + } + } + }); + })(n, t, e), + n.seriesInvolved && + (function (t, e) { + e.eachSeries(function (e) { + var n = e.coordinateSystem, + i = e.get(["tooltip", "trigger"], !0), + r = e.get(["tooltip", "show"], !0); + n && + "none" !== i && + !1 !== i && + "item" !== i && + !1 !== r && + !1 !== e.get(["axisPointer", "show"], !0) && + E(t.coordSysAxesInfo[wI(n.model)], function (t) { + var i = t.axis; + n.getAxis(i.dim) === i && (t.seriesModels.push(e), null == t.seriesDataCount && (t.seriesDataCount = 0), (t.seriesDataCount += e.getData().count())); + }); + }); + })(n, t), + n + ); + } + function mI(t, e) { + return "all" === t || (Y(t) && P(t, e) >= 0) || t === e; + } + function xI(t) { + var e = _I(t); + if (e) { + var n = e.axisPointerModel, + i = e.axis.scale, + r = n.option, + o = n.get("status"), + a = n.get("value"); + null != a && (a = i.parse(a)); + var s = bI(n); + null == o && (r.status = s ? "show" : "hide"); + var l = i.getExtent().slice(); + l[0] > l[1] && l.reverse(), (null == a || a > l[1]) && (a = l[1]), a < l[0] && (a = l[0]), (r.value = a), s && (r.status = e.axis.scale.isBlank() ? "hide" : "show"); + } + } + function _I(t) { + var e = (t.ecModel.getComponent("axisPointer") || {}).coordSysAxesInfo; + return e && e.axesInfo[wI(t)]; + } + function bI(t) { + return !!t.get(["handle", "show"]); + } + function wI(t) { + return t.type + "||" + t.id; + } + var SI = {}, + MI = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.prototype.render = function (e, n, i, r) { + this.axisPointerClass && xI(e), t.prototype.render.apply(this, arguments), this._doUpdateAxisPointerClass(e, i, !0); + }), + (e.prototype.updateAxisPointer = function (t, e, n, i) { + this._doUpdateAxisPointerClass(t, n, !1); + }), + (e.prototype.remove = function (t, e) { + var n = this._axisPointer; + n && n.remove(e); + }), + (e.prototype.dispose = function (e, n) { + this._disposeAxisPointer(n), t.prototype.dispose.apply(this, arguments); + }), + (e.prototype._doUpdateAxisPointerClass = function (t, n, i) { + var r = e.getAxisPointerClass(this.axisPointerClass); + if (r) { + var o = (function (t) { + var e = _I(t); + return e && e.axisPointerModel; + })(t); + o ? (this._axisPointer || (this._axisPointer = new r())).render(t, o, n, i) : this._disposeAxisPointer(n); + } + }), + (e.prototype._disposeAxisPointer = function (t) { + this._axisPointer && this._axisPointer.dispose(t), (this._axisPointer = null); + }), + (e.registerAxisPointerClass = function (t, e) { + SI[t] = e; + }), + (e.getAxisPointerClass = function (t) { + return t && SI[t]; + }), + (e.type = "axis"), + e + ); + })(Ag), + II = Vo(); + function TI(t, e, n, i) { + var r = n.axis; + if (!r.scale.isBlank()) { + var o = n.getModel("splitArea"), + a = o.getModel("areaStyle"), + s = a.get("color"), + l = i.coordinateSystem.getRect(), + u = r.getTicksCoords({ tickModel: o, clamp: !0 }); + if (u.length) { + var h = s.length, + c = II(t).splitAreaColors, + p = yt(), + d = 0; + if (c) + for (var f = 0; f < u.length; f++) { + var g = c.get(u[f].tickValue); + if (null != g) { + d = (g + (h - 1) * f) % h; + break; + } + } + var y = r.toGlobalCoord(u[0].coord), + v = a.getAreaStyle(); + s = Y(s) ? s : [s]; + for (f = 1; f < u.length; f++) { + var m = r.toGlobalCoord(u[f].coord), + x = void 0, + _ = void 0, + b = void 0, + w = void 0; + r.isHorizontal() ? ((x = y), (_ = l.y), (b = m - x), (w = l.height), (y = x + b)) : ((x = l.x), (_ = y), (b = l.width), (y = _ + (w = m - _))); + var S = u[f - 1].tickValue; + null != S && p.set(S, d), e.add(new Ws({ anid: null != S ? "area_" + S : null, shape: { x: x, y: _, width: b, height: w }, style: k({ fill: s[d] }, v), autoBatch: !0, silent: !0 })), (d = (d + 1) % h); + } + II(t).splitAreaColors = p; + } + } + } + function CI(t) { + II(t).splitAreaColors = null; + } + var DI = ["axisLine", "axisTickLabel", "axisName"], + AI = ["splitArea", "splitLine", "minorSplitLine"], + kI = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), (n.axisPointerClass = "CartesianAxisPointer"), n; + } + return ( + n(e, t), + (e.prototype.render = function (e, n, i, r) { + this.group.removeAll(); + var o = this._axisGroup; + if (((this._axisGroup = new Br()), this.group.add(this._axisGroup), e.get("show"))) { + var a = e.getCoordSysModel(), + s = eI(a, e), + l = new cI( + e, + A( + { + handleAutoShown: function (t) { + for (var n = a.coordinateSystem.getCartesians(), i = 0; i < n.length; i++) if (Tx(n[i].getOtherAxis(e.axis).scale)) return !0; + return !1; + }, + }, + s + ) + ); + E(DI, l.add, l), + this._axisGroup.add(l.getGroup()), + E( + AI, + function (t) { + e.get([t, "show"]) && LI[t](this, this._axisGroup, e, a); + }, + this + ), + (r && "changeAxisOrder" === r.type && r.isInitSort) || Hh(o, this._axisGroup, e), + t.prototype.render.call(this, e, n, i, r); + } + }), + (e.prototype.remove = function () { + CI(this); + }), + (e.type = "cartesianAxis"), + e + ); + })(MI), + LI = { + splitLine: function (t, e, n, i) { + var r = n.axis; + if (!r.scale.isBlank()) { + var o = n.getModel("splitLine"), + a = o.getModel("lineStyle"), + s = a.get("color"); + s = Y(s) ? s : [s]; + for (var l = i.coordinateSystem.getRect(), u = r.isHorizontal(), h = 0, c = r.getTicksCoords({ tickModel: o }), p = [], d = [], f = a.getLineStyle(), g = 0; g < c.length; g++) { + var y = r.toGlobalCoord(c[g].coord); + u ? ((p[0] = y), (p[1] = l.y), (d[0] = y), (d[1] = l.y + l.height)) : ((p[0] = l.x), (p[1] = y), (d[0] = l.x + l.width), (d[1] = y)); + var v = h++ % s.length, + m = c[g].tickValue, + x = new Ku({ anid: null != m ? "line_" + c[g].tickValue : null, autoBatch: !0, shape: { x1: p[0], y1: p[1], x2: d[0], y2: d[1] }, style: k({ stroke: s[v] }, f), silent: !0 }); + zh(x.shape, f.lineWidth), e.add(x); + } + } + }, + minorSplitLine: function (t, e, n, i) { + var r = n.axis, + o = n.getModel("minorSplitLine").getModel("lineStyle"), + a = i.coordinateSystem.getRect(), + s = r.isHorizontal(), + l = r.getMinorTicksCoords(); + if (l.length) + for (var u = [], h = [], c = o.getLineStyle(), p = 0; p < l.length; p++) + for (var d = 0; d < l[p].length; d++) { + var f = r.toGlobalCoord(l[p][d].coord); + s ? ((u[0] = f), (u[1] = a.y), (h[0] = f), (h[1] = a.y + a.height)) : ((u[0] = a.x), (u[1] = f), (h[0] = a.x + a.width), (h[1] = f)); + var g = new Ku({ anid: "minor_line_" + l[p][d].tickValue, autoBatch: !0, shape: { x1: u[0], y1: u[1], x2: h[0], y2: h[1] }, style: c, silent: !0 }); + zh(g.shape, c.lineWidth), e.add(g); + } + }, + splitArea: function (t, e, n, i) { + TI(t, e, n, i); + }, + }, + PI = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return n(e, t), (e.type = "xAxis"), e; + })(kI), + OI = (function (t) { + function e() { + var e = (null !== t && t.apply(this, arguments)) || this; + return (e.type = PI.type), e; + } + return n(e, t), (e.type = "yAxis"), e; + })(kI), + RI = (function (t) { + function e() { + var e = (null !== t && t.apply(this, arguments)) || this; + return (e.type = "grid"), e; + } + return ( + n(e, t), + (e.prototype.render = function (t, e) { + this.group.removeAll(), t.get("show") && this.group.add(new Ws({ shape: t.coordinateSystem.getRect(), style: k({ fill: t.get("backgroundColor") }, t.getItemStyle()), silent: !0, z2: -1 })); + }), + (e.type = "grid"), + e + ); + })(Ag), + NI = { offset: 0 }; + function EI(t) { + t.registerComponentView(RI), + t.registerComponentModel(GM), + t.registerCoordinateSystem("cartesian2d", aI), + jM(t, "x", WM, NI), + jM(t, "y", WM, NI), + t.registerComponentView(PI), + t.registerComponentView(OI), + t.registerPreprocessor(function (t) { + t.xAxis && t.yAxis && !t.grid && (t.grid = {}); + }); + } + function zI(t) { + t.eachSeriesByType("radar", function (t) { + var e = t.getData(), + n = [], + i = t.coordinateSystem; + if (i) { + var r = i.getIndicatorAxes(); + E(r, function (t, o) { + e.each(e.mapDimension(r[o].dim), function (t, e) { + n[e] = n[e] || []; + var r = i.dataToPoint(t, o); + n[e][o] = VI(r) ? r : BI(i); + }); + }), + e.each(function (t) { + var r = + F(n[t], function (t) { + return VI(t); + }) || BI(i); + n[t].push(r.slice()), e.setItemLayout(t, n[t]); + }); + } + }); + } + function VI(t) { + return !isNaN(t[0]) && !isNaN(t[1]); + } + function BI(t) { + return [t.cx, t.cy]; + } + function FI(t) { + var e = t.polar; + if (e) { + Y(e) || (e = [e]); + var n = []; + E(e, function (e, i) { + e.indicator ? (e.type && !e.shape && (e.shape = e.type), (t.radar = t.radar || []), Y(t.radar) || (t.radar = [t.radar]), t.radar.push(e)) : n.push(e); + }), + (t.polar = n); + } + E(t.series, function (t) { + t && "radar" === t.type && t.polarIndex && (t.radarIndex = t.polarIndex); + }); + } + var GI = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.prototype.render = function (t, e, n) { + var i = t.coordinateSystem, + r = this.group, + o = t.getData(), + a = this._data; + function s(t, e) { + var n = t.getItemVisual(e, "symbol") || "circle"; + if ("none" !== n) { + var i = Uy(t.getItemVisual(e, "symbolSize")), + r = Xy(n, -1, -1, 2, 2), + o = t.getItemVisual(e, "symbolRotate") || 0; + return r.attr({ style: { strokeNoScale: !0 }, z2: 100, scaleX: i[0] / 2, scaleY: i[1] / 2, rotation: (o * Math.PI) / 180 || 0 }), r; + } + } + function l(e, n, i, r, o, a) { + i.removeAll(); + for (var l = 0; l < n.length - 1; l++) { + var u = s(r, o); + u && ((u.__dimIdx = l), e[l] ? (u.setPosition(e[l]), Qh[a ? "initProps" : "updateProps"](u, { x: n[l][0], y: n[l][1] }, t, o)) : u.setPosition(n[l]), i.add(u)); + } + } + function u(t) { + return z(t, function (t) { + return [i.cx, i.cy]; + }); + } + o + .diff(a) + .add(function (e) { + var n = o.getItemLayout(e); + if (n) { + var i = new Xu(), + r = new Zu(), + a = { shape: { points: n } }; + (i.shape.points = u(n)), (r.shape.points = u(n)), mh(i, a, t, e), mh(r, a, t, e); + var s = new Br(), + h = new Br(); + s.add(r), s.add(i), s.add(h), l(r.shape.points, n, h, o, e, !0), o.setItemGraphicEl(e, s); + } + }) + .update(function (e, n) { + var i = a.getItemGraphicEl(n), + r = i.childAt(0), + s = i.childAt(1), + u = i.childAt(2), + h = { shape: { points: o.getItemLayout(e) } }; + h.shape.points && (l(r.shape.points, h.shape.points, u, o, e, !1), Sh(s), Sh(r), vh(r, h, t), vh(s, h, t), o.setItemGraphicEl(e, i)); + }) + .remove(function (t) { + r.remove(a.getItemGraphicEl(t)); + }) + .execute(), + o.eachItemGraphicEl(function (t, e) { + var n = o.getItemModel(e), + i = t.childAt(0), + a = t.childAt(1), + s = t.childAt(2), + l = o.getItemVisual(e, "style"), + u = l.fill; + r.add(t), i.useStyle(k(n.getModel("lineStyle").getLineStyle(), { fill: "none", stroke: u })), $l(i, n, "lineStyle"), $l(a, n, "areaStyle"); + var h = n.getModel("areaStyle"), + c = h.isEmpty() && h.parentModel.isEmpty(); + (a.ignore = c), + E(["emphasis", "select", "blur"], function (t) { + var e = n.getModel([t, "areaStyle"]), + i = e.isEmpty() && e.parentModel.isEmpty(); + a.ensureState(t).ignore = i && c; + }), + a.useStyle(k(h.getAreaStyle(), { fill: u, opacity: 0.7, decal: l.decal })); + var p = n.getModel("emphasis"), + d = p.getModel("itemStyle").getItemStyle(); + s.eachChild(function (t) { + if (t instanceof Ns) { + var i = t.style; + t.useStyle(A({ image: i.image, x: i.x, y: i.y, width: i.width, height: i.height }, l)); + } else t.useStyle(l), t.setColor(u), (t.style.strokeNoScale = !0); + t.ensureState("emphasis").style = T(d); + var r = o.getStore().get(o.getDimensionIndex(t.__dimIdx), e); + (null == r || isNaN(r)) && (r = ""), ic(t, rc(n), { labelFetcher: o.hostModel, labelDataIndex: e, labelDimIndex: t.__dimIdx, defaultText: r, inheritColor: u, defaultOpacity: l.opacity }); + }), + Zl(t, p.get("focus"), p.get("blurScope"), p.get("disabled")); + }), + (this._data = o); + }), + (e.prototype.remove = function () { + this.group.removeAll(), (this._data = null); + }), + (e.type = "radar"), + e + ); + })(Og), + WI = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), (n.hasSymbolVisual = !0), n; + } + return ( + n(e, t), + (e.prototype.init = function (e) { + t.prototype.init.apply(this, arguments), (this.legendVisualProvider = new OM(W(this.getData, this), W(this.getRawData, this))); + }), + (e.prototype.getInitialData = function (t, e) { + return PM(this, { generateCoord: "indicator_", generateCoordCount: 1 / 0 }); + }), + (e.prototype.formatTooltip = function (t, e, n) { + var i = this.getData(), + r = this.coordinateSystem.getIndicatorAxes(), + o = this.getData().getName(t), + a = "" === o ? this.name : o, + s = fg(this, t); + return og("section", { + header: a, + sortBlocks: !0, + blocks: z(r, function (e) { + var n = i.get(i.mapDimension(e.dim), t); + return og("nameValue", { markerType: "subItem", markerColor: s, name: e.name, value: n, sortParam: n }); + }), + }); + }), + (e.prototype.getTooltipPosition = function (t) { + if (null != t) + for ( + var e = this.getData(), + n = this.coordinateSystem, + i = e.getValues( + z(n.dimensions, function (t) { + return e.mapDimension(t); + }), + t + ), + r = 0, + o = i.length; + r < o; + r++ + ) + if (!isNaN(i[r])) { + var a = n.getIndicatorAxes(); + return n.coordToPoint(a[r].dataToCoord(i[r]), r); + } + }), + (e.type = "series.radar"), + (e.dependencies = ["radar"]), + (e.defaultOption = { z: 2, colorBy: "data", coordinateSystem: "radar", legendHoverLink: !0, radarIndex: 0, lineStyle: { width: 2, type: "solid", join: "round" }, label: { position: "top" }, symbolSize: 8 }), + e + ); + })(bg), + HI = UM.value; + function YI(t, e) { + return k({ show: e }, t); + } + var XI = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.prototype.optionUpdated = function () { + var t = this.get("boundaryGap"), + e = this.get("splitNumber"), + n = this.get("scale"), + i = this.get("axisLine"), + r = this.get("axisTick"), + o = this.get("axisLabel"), + a = this.get("axisName"), + s = this.get(["axisName", "show"]), + l = this.get(["axisName", "formatter"]), + u = this.get("axisNameGap"), + h = this.get("triggerEvent"), + c = z( + this.get("indicator") || [], + function (c) { + null != c.max && c.max > 0 && !c.min ? (c.min = 0) : null != c.min && c.min < 0 && !c.max && (c.max = 0); + var p = a; + null != c.color && (p = k({ color: c.color }, a)); + var d = C(T(c), { boundaryGap: t, splitNumber: e, scale: n, axisLine: i, axisTick: r, axisLabel: o, name: c.text, showName: s, nameLocation: "end", nameGap: u, nameTextStyle: p, triggerEvent: h }, !1); + if (U(l)) { + var f = d.name; + d.name = l.replace("{value}", null != f ? f : ""); + } else X(l) && (d.name = l(d.name, d)); + var g = new Cc(d, null, this.ecModel); + return R(g, D_.prototype), (g.mainType = "radar"), (g.componentIndex = this.componentIndex), g; + }, + this + ); + this._indicatorModels = c; + }), + (e.prototype.getIndicatorModels = function () { + return this._indicatorModels; + }), + (e.type = "radar"), + (e.defaultOption = { + z: 0, + center: ["50%", "50%"], + radius: "75%", + startAngle: 90, + axisName: { show: !0 }, + boundaryGap: [0, 0], + splitNumber: 5, + axisNameGap: 15, + scale: !1, + shape: "polygon", + axisLine: C({ lineStyle: { color: "#bbb" } }, HI.axisLine), + axisLabel: YI(HI.axisLabel, !1), + axisTick: YI(HI.axisTick, !1), + splitLine: YI(HI.splitLine, !0), + splitArea: YI(HI.splitArea, !0), + indicator: [], + }), + e + ); + })(zp), + UI = ["axisLine", "axisTickLabel", "axisName"], + ZI = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.prototype.render = function (t, e, n) { + this.group.removeAll(), this._buildAxes(t), this._buildSplitLineAndArea(t); + }), + (e.prototype._buildAxes = function (t) { + var e = t.coordinateSystem; + E( + z(e.getIndicatorAxes(), function (t) { + var n = t.model.get("showName") ? t.name : ""; + return new cI(t.model, { axisName: n, position: [e.cx, e.cy], rotation: t.angle, labelDirection: -1, tickDirection: -1, nameDirection: 1 }); + }), + function (t) { + E(UI, t.add, t), this.group.add(t.getGroup()); + }, + this + ); + }), + (e.prototype._buildSplitLineAndArea = function (t) { + var e = t.coordinateSystem, + n = e.getIndicatorAxes(); + if (n.length) { + var i = t.get("shape"), + r = t.getModel("splitLine"), + o = t.getModel("splitArea"), + a = r.getModel("lineStyle"), + s = o.getModel("areaStyle"), + l = r.get("show"), + u = o.get("show"), + h = a.get("color"), + c = s.get("color"), + p = Y(h) ? h : [h], + d = Y(c) ? c : [c], + f = [], + g = []; + if ("circle" === i) + for (var y = n[0].getTicksCoords(), v = e.cx, m = e.cy, x = 0; x < y.length; x++) { + if (l) f[C(f, p, x)].push(new Su({ shape: { cx: v, cy: m, r: y[x].coord } })); + if (u && x < y.length - 1) g[C(g, d, x)].push(new Wu({ shape: { cx: v, cy: m, r0: y[x].coord, r: y[x + 1].coord } })); + } + else { + var _, + b = z(n, function (t, n) { + var i = t.getTicksCoords(); + return ( + (_ = null == _ ? i.length - 1 : Math.min(i.length - 1, _)), + z(i, function (t) { + return e.coordToPoint(t.coord, n); + }) + ); + }), + w = []; + for (x = 0; x <= _; x++) { + for (var S = [], M = 0; M < n.length; M++) S.push(b[M][x]); + if ((S[0] && S.push(S[0].slice()), l)) f[C(f, p, x)].push(new Zu({ shape: { points: S } })); + if (u && w) g[C(g, d, x - 1)].push(new Xu({ shape: { points: S.concat(w) } })); + w = S.slice().reverse(); + } + } + var I = a.getLineStyle(), + T = s.getAreaStyle(); + E( + g, + function (t, e) { + this.group.add(Nh(t, { style: k({ stroke: "none", fill: d[e % d.length] }, T), silent: !0 })); + }, + this + ), + E( + f, + function (t, e) { + this.group.add(Nh(t, { style: k({ fill: "none", stroke: p[e % p.length] }, I), silent: !0 })); + }, + this + ); + } + function C(t, e, n) { + var i = n % e.length; + return (t[i] = t[i] || []), i; + } + }), + (e.type = "radar"), + e + ); + })(Ag), + jI = (function (t) { + function e(e, n, i) { + var r = t.call(this, e, n, i) || this; + return (r.type = "value"), (r.angle = 0), (r.name = ""), r; + } + return n(e, t), e; + })(ob), + qI = (function () { + function t(t, e, n) { + (this.dimensions = []), + (this._model = t), + (this._indicatorAxes = z( + t.getIndicatorModels(), + function (t, e) { + var n = "indicator_" + e, + i = new jI(n, new Ex()); + return (i.name = t.get("name")), (i.model = t), (t.axis = i), this.dimensions.push(n), i; + }, + this + )), + this.resize(t, n); + } + return ( + (t.prototype.getIndicatorAxes = function () { + return this._indicatorAxes; + }), + (t.prototype.dataToPoint = function (t, e) { + var n = this._indicatorAxes[e]; + return this.coordToPoint(n.dataToCoord(t), e); + }), + (t.prototype.coordToPoint = function (t, e) { + var n = this._indicatorAxes[e].angle; + return [this.cx + t * Math.cos(n), this.cy - t * Math.sin(n)]; + }), + (t.prototype.pointToData = function (t) { + var e = t[0] - this.cx, + n = t[1] - this.cy, + i = Math.sqrt(e * e + n * n); + (e /= i), (n /= i); + for (var r, o = Math.atan2(-n, e), a = 1 / 0, s = -1, l = 0; l < this._indicatorAxes.length; l++) { + var u = this._indicatorAxes[l], + h = Math.abs(o - u.angle); + h < a && ((r = u), (s = l), (a = h)); + } + return [s, +(r && r.coordToData(i))]; + }), + (t.prototype.resize = function (t, e) { + var n = t.get("center"), + i = e.getWidth(), + r = e.getHeight(), + o = Math.min(i, r) / 2; + (this.cx = $r(n[0], i)), (this.cy = $r(n[1], r)), (this.startAngle = (t.get("startAngle") * Math.PI) / 180); + var a = t.get("radius"); + (U(a) || j(a)) && (a = [0, a]), + (this.r0 = $r(a[0], o)), + (this.r = $r(a[1], o)), + E( + this._indicatorAxes, + function (t, e) { + t.setExtent(this.r0, this.r); + var n = this.startAngle + (e * Math.PI * 2) / this._indicatorAxes.length; + (n = Math.atan2(Math.sin(n), Math.cos(n))), (t.angle = n); + }, + this + ); + }), + (t.prototype.update = function (t, e) { + var n = this._indicatorAxes, + i = this._model; + E(n, function (t) { + t.scale.setExtent(1 / 0, -1 / 0); + }), + t.eachSeriesByType( + "radar", + function (e, r) { + if ("radar" === e.get("coordinateSystem") && t.getComponent("radar", e.get("radarIndex")) === i) { + var o = e.getData(); + E(n, function (t) { + t.scale.unionExtentFromData(o, o.mapDimension(t.dim)); + }); + } + }, + this + ); + var r = i.get("splitNumber"), + o = new Ex(); + o.setExtent(0, r), + o.setInterval(1), + E(n, function (t, e) { + oI(t.scale, t.model, o); + }); + }), + (t.prototype.convertToPixel = function (t, e, n) { + return console.warn("Not implemented."), null; + }), + (t.prototype.convertFromPixel = function (t, e, n) { + return console.warn("Not implemented."), null; + }), + (t.prototype.containPoint = function (t) { + return console.warn("Not implemented."), !1; + }), + (t.create = function (e, n) { + var i = []; + return ( + e.eachComponent("radar", function (r) { + var o = new t(r, e, n); + i.push(o), (r.coordinateSystem = o); + }), + e.eachSeriesByType("radar", function (t) { + "radar" === t.get("coordinateSystem") && (t.coordinateSystem = i[t.get("radarIndex") || 0]); + }), + i + ); + }), + (t.dimensions = []), + t + ); + })(); + function KI(t) { + t.registerCoordinateSystem("radar", qI), + t.registerComponentModel(XI), + t.registerComponentView(ZI), + t.registerVisual({ + seriesType: "radar", + reset: function (t) { + var e = t.getData(); + e.each(function (t) { + e.setItemVisual(t, "legendIcon", "roundRect"); + }), + e.setVisual("legendIcon", "roundRect"); + }, + }); + } + var $I = "\0_ec_interaction_mutex"; + function JI(t, e) { + return !!QI(t)[e]; + } + function QI(t) { + return t[$I] || (t[$I] = {}); + } + Cm({ type: "takeGlobalCursor", event: "globalCursorTaken", update: "update" }, bt); + var tT = (function (t) { + function e(e) { + var n = t.call(this) || this; + n._zr = e; + var i = W(n._mousedownHandler, n), + r = W(n._mousemoveHandler, n), + o = W(n._mouseupHandler, n), + a = W(n._mousewheelHandler, n), + s = W(n._pinchHandler, n); + return ( + (n.enable = function (t, n) { + this.disable(), + (this._opt = k(T(n) || {}, { zoomOnMouseWheel: !0, moveOnMouseMove: !0, moveOnMouseWheel: !1, preventDefaultMouseMove: !0 })), + null == t && (t = !0), + (!0 !== t && "move" !== t && "pan" !== t) || (e.on("mousedown", i), e.on("mousemove", r), e.on("mouseup", o)), + (!0 !== t && "scale" !== t && "zoom" !== t) || (e.on("mousewheel", a), e.on("pinch", s)); + }), + (n.disable = function () { + e.off("mousedown", i), e.off("mousemove", r), e.off("mouseup", o), e.off("mousewheel", a), e.off("pinch", s); + }), + n + ); + } + return ( + n(e, t), + (e.prototype.isDragging = function () { + return this._dragging; + }), + (e.prototype.isPinching = function () { + return this._pinching; + }), + (e.prototype.setPointerChecker = function (t) { + this.pointerChecker = t; + }), + (e.prototype.dispose = function () { + this.disable(); + }), + (e.prototype._mousedownHandler = function (t) { + if (!fe(t)) { + for (var e = t.target; e; ) { + if (e.draggable) return; + e = e.__hostTarget || e.parent; + } + var n = t.offsetX, + i = t.offsetY; + this.pointerChecker && this.pointerChecker(t, n, i) && ((this._x = n), (this._y = i), (this._dragging = !0)); + } + }), + (e.prototype._mousemoveHandler = function (t) { + if (this._dragging && iT("moveOnMouseMove", t, this._opt) && "pinch" !== t.gestureEvent && !JI(this._zr, "globalPan")) { + var e = t.offsetX, + n = t.offsetY, + i = this._x, + r = this._y, + o = e - i, + a = n - r; + (this._x = e), (this._y = n), this._opt.preventDefaultMouseMove && de(t.event), nT(this, "pan", "moveOnMouseMove", t, { dx: o, dy: a, oldX: i, oldY: r, newX: e, newY: n, isAvailableBehavior: null }); + } + }), + (e.prototype._mouseupHandler = function (t) { + fe(t) || (this._dragging = !1); + }), + (e.prototype._mousewheelHandler = function (t) { + var e = iT("zoomOnMouseWheel", t, this._opt), + n = iT("moveOnMouseWheel", t, this._opt), + i = t.wheelDelta, + r = Math.abs(i), + o = t.offsetX, + a = t.offsetY; + if (0 !== i && (e || n)) { + if (e) { + var s = r > 3 ? 1.4 : r > 1 ? 1.2 : 1.1; + eT(this, "zoom", "zoomOnMouseWheel", t, { scale: i > 0 ? s : 1 / s, originX: o, originY: a, isAvailableBehavior: null }); + } + if (n) { + var l = Math.abs(i); + eT(this, "scrollMove", "moveOnMouseWheel", t, { scrollDelta: (i > 0 ? 1 : -1) * (l > 3 ? 0.4 : l > 1 ? 0.15 : 0.05), originX: o, originY: a, isAvailableBehavior: null }); + } + } + }), + (e.prototype._pinchHandler = function (t) { + JI(this._zr, "globalPan") || eT(this, "zoom", null, t, { scale: t.pinchScale > 1 ? 1.1 : 1 / 1.1, originX: t.pinchX, originY: t.pinchY, isAvailableBehavior: null }); + }), + e + ); + })(jt); + function eT(t, e, n, i, r) { + t.pointerChecker && t.pointerChecker(i, r.originX, r.originY) && (de(i.event), nT(t, e, n, i, r)); + } + function nT(t, e, n, i, r) { + (r.isAvailableBehavior = W(iT, null, n, i)), t.trigger(e, r); + } + function iT(t, e, n) { + var i = n[t]; + return !t || (i && (!U(i) || e.event[i + "Key"])); + } + function rT(t, e, n) { + var i = t.target; + (i.x += e), (i.y += n), i.dirty(); + } + function oT(t, e, n, i) { + var r = t.target, + o = t.zoomLimit, + a = (t.zoom = t.zoom || 1); + if (((a *= e), o)) { + var s = o.min || 0, + l = o.max || 1 / 0; + a = Math.max(Math.min(l, a), s); + } + var u = a / t.zoom; + (t.zoom = a), (r.x -= (n - r.x) * (u - 1)), (r.y -= (i - r.y) * (u - 1)), (r.scaleX *= u), (r.scaleY *= u), r.dirty(); + } + var aT, + sT = { axisPointer: 1, tooltip: 1, brush: 1 }; + function lT(t, e, n) { + var i = e.getComponentByElement(t.topTarget), + r = i && i.coordinateSystem; + return i && i !== n && !sT.hasOwnProperty(i.mainType) && r && r.model !== n; + } + function uT(t) { + U(t) && (t = new DOMParser().parseFromString(t, "text/xml")); + var e = t; + for (9 === e.nodeType && (e = e.firstChild); "svg" !== e.nodeName.toLowerCase() || 1 !== e.nodeType; ) e = e.nextSibling; + return e; + } + var hT = { + fill: "fill", + stroke: "stroke", + "stroke-width": "lineWidth", + opacity: "opacity", + "fill-opacity": "fillOpacity", + "stroke-opacity": "strokeOpacity", + "stroke-dasharray": "lineDash", + "stroke-dashoffset": "lineDashOffset", + "stroke-linecap": "lineCap", + "stroke-linejoin": "lineJoin", + "stroke-miterlimit": "miterLimit", + "font-family": "fontFamily", + "font-size": "fontSize", + "font-style": "fontStyle", + "font-weight": "fontWeight", + "text-anchor": "textAlign", + visibility: "visibility", + display: "display", + }, + cT = G(hT), + pT = { "alignment-baseline": "textBaseline", "stop-color": "stopColor" }, + dT = G(pT), + fT = (function () { + function t() { + (this._defs = {}), (this._root = null); + } + return ( + (t.prototype.parse = function (t, e) { + e = e || {}; + var n = uT(t); + this._defsUsePending = []; + var i = new Br(); + this._root = i; + var r = [], + o = n.getAttribute("viewBox") || "", + a = parseFloat(n.getAttribute("width") || e.width), + s = parseFloat(n.getAttribute("height") || e.height); + isNaN(a) && (a = null), isNaN(s) && (s = null), _T(n, i, null, !0, !1); + for (var l, u, h = n.firstChild; h; ) this._parseNode(h, i, r, null, !1, !1), (h = h.nextSibling); + if ( + ((function (t, e) { + for (var n = 0; n < e.length; n++) { + var i = e[n]; + i[0].style[i[1]] = t[i[2]]; + } + })(this._defs, this._defsUsePending), + (this._defsUsePending = []), + o) + ) { + var c = MT(o); + c.length >= 4 && (l = { x: parseFloat(c[0] || 0), y: parseFloat(c[1] || 0), width: parseFloat(c[2]), height: parseFloat(c[3]) }); + } + if (l && null != a && null != s && ((u = AT(l, { x: 0, y: 0, width: a, height: s })), !e.ignoreViewBox)) { + var p = i; + (i = new Br()).add(p), (p.scaleX = p.scaleY = u.scale), (p.x = u.x), (p.y = u.y); + } + return e.ignoreRootClip || null == a || null == s || i.setClipPath(new Ws({ shape: { x: 0, y: 0, width: a, height: s } })), { root: i, width: a, height: s, viewBoxRect: l, viewBoxTransform: u, named: r }; + }), + (t.prototype._parseNode = function (t, e, n, i, r, o) { + var a, + s = t.nodeName.toLowerCase(), + l = i; + if (("defs" === s && (r = !0), "text" === s && (o = !0), "defs" === s || "switch" === s)) a = e; + else { + if (!r) { + var u = aT[s]; + if (u && _t(aT, s)) { + a = u.call(this, t, e); + var h = t.getAttribute("name"); + if (h) { + var c = { name: h, namedFrom: null, svgNodeTagLower: s, el: a }; + n.push(c), "g" === s && (l = c); + } else i && n.push({ name: i.name, namedFrom: i, svgNodeTagLower: s, el: a }); + e.add(a); + } + } + var p = gT[s]; + if (p && _t(gT, s)) { + var d = p.call(this, t), + f = t.getAttribute("id"); + f && (this._defs[f] = d); + } + } + if (a && a.isGroup) for (var g = t.firstChild; g; ) 1 === g.nodeType ? this._parseNode(g, a, n, l, r, o) : 3 === g.nodeType && o && this._parseText(g, a), (g = g.nextSibling); + }), + (t.prototype._parseText = function (t, e) { + var n = new Ps({ style: { text: t.textContent }, silent: !0, x: this._textX || 0, y: this._textY || 0 }); + mT(e, n), + _T(t, n, this._defsUsePending, !1, !1), + (function (t, e) { + var n = e.__selfStyle; + if (n) { + var i = n.textBaseline, + r = i; + i && "auto" !== i + ? "baseline" === i + ? (r = "alphabetic") + : "before-edge" === i || "text-before-edge" === i + ? (r = "top") + : "after-edge" === i || "text-after-edge" === i + ? (r = "bottom") + : ("central" !== i && "mathematical" !== i) || (r = "middle") + : (r = "alphabetic"), + (t.style.textBaseline = r); + } + var o = e.__inheritedStyle; + if (o) { + var a = o.textAlign, + s = a; + a && ("middle" === a && (s = "center"), (t.style.textAlign = s)); + } + })(n, e); + var i = n.style, + r = i.fontSize; + r && r < 9 && ((i.fontSize = 9), (n.scaleX *= r / 9), (n.scaleY *= r / 9)); + var o = (i.fontSize || i.fontFamily) && [i.fontStyle, i.fontWeight, (i.fontSize || 12) + "px", i.fontFamily || "sans-serif"].join(" "); + i.font = o; + var a = n.getBoundingRect(); + return (this._textX += a.width), e.add(n), n; + }), + (t.internalField = void (aT = { + g: function (t, e) { + var n = new Br(); + return mT(e, n), _T(t, n, this._defsUsePending, !1, !1), n; + }, + rect: function (t, e) { + var n = new Ws(); + return ( + mT(e, n), + _T(t, n, this._defsUsePending, !1, !1), + n.setShape({ x: parseFloat(t.getAttribute("x") || "0"), y: parseFloat(t.getAttribute("y") || "0"), width: parseFloat(t.getAttribute("width") || "0"), height: parseFloat(t.getAttribute("height") || "0") }), + (n.silent = !0), + n + ); + }, + circle: function (t, e) { + var n = new Su(); + return mT(e, n), _T(t, n, this._defsUsePending, !1, !1), n.setShape({ cx: parseFloat(t.getAttribute("cx") || "0"), cy: parseFloat(t.getAttribute("cy") || "0"), r: parseFloat(t.getAttribute("r") || "0") }), (n.silent = !0), n; + }, + line: function (t, e) { + var n = new Ku(); + return ( + mT(e, n), + _T(t, n, this._defsUsePending, !1, !1), + n.setShape({ x1: parseFloat(t.getAttribute("x1") || "0"), y1: parseFloat(t.getAttribute("y1") || "0"), x2: parseFloat(t.getAttribute("x2") || "0"), y2: parseFloat(t.getAttribute("y2") || "0") }), + (n.silent = !0), + n + ); + }, + ellipse: function (t, e) { + var n = new Iu(); + return ( + mT(e, n), + _T(t, n, this._defsUsePending, !1, !1), + n.setShape({ cx: parseFloat(t.getAttribute("cx") || "0"), cy: parseFloat(t.getAttribute("cy") || "0"), rx: parseFloat(t.getAttribute("rx") || "0"), ry: parseFloat(t.getAttribute("ry") || "0") }), + (n.silent = !0), + n + ); + }, + polygon: function (t, e) { + var n, + i = t.getAttribute("points"); + i && (n = xT(i)); + var r = new Xu({ shape: { points: n || [] }, silent: !0 }); + return mT(e, r), _T(t, r, this._defsUsePending, !1, !1), r; + }, + polyline: function (t, e) { + var n, + i = t.getAttribute("points"); + i && (n = xT(i)); + var r = new Zu({ shape: { points: n || [] }, silent: !0 }); + return mT(e, r), _T(t, r, this._defsUsePending, !1, !1), r; + }, + image: function (t, e) { + var n = new Ns(); + return ( + mT(e, n), + _T(t, n, this._defsUsePending, !1, !1), + n.setStyle({ image: t.getAttribute("xlink:href") || t.getAttribute("href"), x: +t.getAttribute("x"), y: +t.getAttribute("y"), width: +t.getAttribute("width"), height: +t.getAttribute("height") }), + (n.silent = !0), + n + ); + }, + text: function (t, e) { + var n = t.getAttribute("x") || "0", + i = t.getAttribute("y") || "0", + r = t.getAttribute("dx") || "0", + o = t.getAttribute("dy") || "0"; + (this._textX = parseFloat(n) + parseFloat(r)), (this._textY = parseFloat(i) + parseFloat(o)); + var a = new Br(); + return mT(e, a), _T(t, a, this._defsUsePending, !1, !0), a; + }, + tspan: function (t, e) { + var n = t.getAttribute("x"), + i = t.getAttribute("y"); + null != n && (this._textX = parseFloat(n)), null != i && (this._textY = parseFloat(i)); + var r = t.getAttribute("dx") || "0", + o = t.getAttribute("dy") || "0", + a = new Br(); + return mT(e, a), _T(t, a, this._defsUsePending, !1, !0), (this._textX += parseFloat(r)), (this._textY += parseFloat(o)), a; + }, + path: function (t, e) { + var n = _u(t.getAttribute("d") || ""); + return mT(e, n), _T(t, n, this._defsUsePending, !1, !1), (n.silent = !0), n; + }, + })), + t + ); + })(), + gT = { + lineargradient: function (t) { + var e = parseInt(t.getAttribute("x1") || "0", 10), + n = parseInt(t.getAttribute("y1") || "0", 10), + i = parseInt(t.getAttribute("x2") || "10", 10), + r = parseInt(t.getAttribute("y2") || "0", 10), + o = new oh(e, n, i, r); + return yT(t, o), vT(t, o), o; + }, + radialgradient: function (t) { + var e = parseInt(t.getAttribute("cx") || "0", 10), + n = parseInt(t.getAttribute("cy") || "0", 10), + i = parseInt(t.getAttribute("r") || "0", 10), + r = new ah(e, n, i); + return yT(t, r), vT(t, r), r; + }, + }; + function yT(t, e) { + "userSpaceOnUse" === t.getAttribute("gradientUnits") && (e.global = !0); + } + function vT(t, e) { + for (var n = t.firstChild; n; ) { + if (1 === n.nodeType && "stop" === n.nodeName.toLocaleLowerCase()) { + var i = n.getAttribute("offset"), + r = void 0; + r = i && i.indexOf("%") > 0 ? parseInt(i, 10) / 100 : i ? parseFloat(i) : 0; + var o = {}; + DT(n, o, o); + var a = o.stopColor || n.getAttribute("stop-color") || "#000000"; + e.colorStops.push({ offset: r, color: a }); + } + n = n.nextSibling; + } + } + function mT(t, e) { + t && t.__inheritedStyle && (e.__inheritedStyle || (e.__inheritedStyle = {}), k(e.__inheritedStyle, t.__inheritedStyle)); + } + function xT(t) { + for (var e = MT(t), n = [], i = 0; i < e.length; i += 2) { + var r = parseFloat(e[i]), + o = parseFloat(e[i + 1]); + n.push([r, o]); + } + return n; + } + function _T(t, e, n, i, r) { + var o = e, + a = (o.__inheritedStyle = o.__inheritedStyle || {}), + s = {}; + 1 === t.nodeType && + ((function (t, e) { + var n = t.getAttribute("transform"); + if (n) { + n = n.replace(/,/g, " "); + var i = [], + r = null; + n.replace(IT, function (t, e, n) { + return i.push(e, n), ""; + }); + for (var o = i.length - 1; o > 0; o -= 2) { + var a = i[o], + s = i[o - 1], + l = MT(a); + switch (((r = r || [1, 0, 0, 1, 0, 0]), s)) { + case "translate": + we(r, r, [parseFloat(l[0]), parseFloat(l[1] || "0")]); + break; + case "scale": + Me(r, r, [parseFloat(l[0]), parseFloat(l[1] || l[0])]); + break; + case "rotate": + Se(r, r, -parseFloat(l[0]) * TT, [parseFloat(l[1] || "0"), parseFloat(l[2] || "0")]); + break; + case "skewX": + be(r, [1, 0, Math.tan(parseFloat(l[0]) * TT), 1, 0, 0], r); + break; + case "skewY": + be(r, [1, Math.tan(parseFloat(l[0]) * TT), 0, 1, 0, 0], r); + break; + case "matrix": + (r[0] = parseFloat(l[0])), (r[1] = parseFloat(l[1])), (r[2] = parseFloat(l[2])), (r[3] = parseFloat(l[3])), (r[4] = parseFloat(l[4])), (r[5] = parseFloat(l[5])); + } + } + e.setLocalTransform(r); + } + })(t, e), + DT(t, a, s), + i || + (function (t, e, n) { + for (var i = 0; i < cT.length; i++) { + var r = cT[i]; + null != (o = t.getAttribute(r)) && (e[hT[r]] = o); + } + for (i = 0; i < dT.length; i++) { + var o; + r = dT[i]; + null != (o = t.getAttribute(r)) && (n[pT[r]] = o); + } + })(t, a, s)), + (o.style = o.style || {}), + null != a.fill && (o.style.fill = wT(o, "fill", a.fill, n)), + null != a.stroke && (o.style.stroke = wT(o, "stroke", a.stroke, n)), + E(["lineWidth", "opacity", "fillOpacity", "strokeOpacity", "miterLimit", "fontSize"], function (t) { + null != a[t] && (o.style[t] = parseFloat(a[t])); + }), + E(["lineDashOffset", "lineCap", "lineJoin", "fontWeight", "fontFamily", "fontStyle", "textAlign"], function (t) { + null != a[t] && (o.style[t] = a[t]); + }), + r && (o.__selfStyle = s), + a.lineDash && + (o.style.lineDash = z(MT(a.lineDash), function (t) { + return parseFloat(t); + })), + ("hidden" !== a.visibility && "collapse" !== a.visibility) || (o.invisible = !0), + "none" === a.display && (o.ignore = !0); + } + var bT = /^url\(\s*#(.*?)\)/; + function wT(t, e, n, i) { + var r = n && n.match(bT); + if (!r) return "none" === n && (n = null), n; + var o = ut(r[1]); + i.push([t, e, o]); + } + var ST = /-?([0-9]*\.)?[0-9]+([eE]-?[0-9]+)?/g; + function MT(t) { + return t.match(ST) || []; + } + var IT = /(translate|scale|rotate|skewX|skewY|matrix)\(([\-\s0-9\.eE,]*)\)/g, + TT = Math.PI / 180; + var CT = /([^\s:;]+)\s*:\s*([^:;]+)/g; + function DT(t, e, n) { + var i, + r = t.getAttribute("style"); + if (r) + for (CT.lastIndex = 0; null != (i = CT.exec(r)); ) { + var o = i[1], + a = _t(hT, o) ? hT[o] : null; + a && (e[a] = i[2]); + var s = _t(pT, o) ? pT[o] : null; + s && (n[s] = i[2]); + } + } + function AT(t, e) { + var n = e.width / t.width, + i = e.height / t.height, + r = Math.min(n, i); + return { scale: r, x: -(t.x + t.width / 2) * r + (e.x + e.width / 2), y: -(t.y + t.height / 2) * r + (e.y + e.height / 2) }; + } + var kT = yt(["rect", "circle", "line", "ellipse", "polygon", "polyline", "path", "text", "tspan", "g"]), + LT = (function () { + function t(t, e) { + (this.type = "geoSVG"), (this._usedGraphicMap = yt()), (this._freedGraphics = []), (this._mapName = t), (this._parsedXML = uT(e)); + } + return ( + (t.prototype.load = function () { + var t = this._firstGraphic; + if (!t) { + (t = this._firstGraphic = this._buildGraphic(this._parsedXML)), this._freedGraphics.push(t), (this._boundingRect = this._firstGraphic.boundingRect.clone()); + var e = (function (t) { + var e = [], + n = yt(); + return ( + E(t, function (t) { + if (null == t.namedFrom) { + var i = new F_(t.name, t.el); + e.push(i), n.set(t.name, i); + } + }), + { regions: e, regionsMap: n } + ); + })(t.named), + n = e.regions, + i = e.regionsMap; + (this._regions = n), (this._regionsMap = i); + } + return { boundingRect: this._boundingRect, regions: this._regions, regionsMap: this._regionsMap }; + }), + (t.prototype._buildGraphic = function (t) { + var e, n, i, r; + try { + lt(null != (n = (e = (t && ((i = t), (r = { ignoreViewBox: !0, ignoreRootClip: !0 }), new fT().parse(i, r))) || {}).root)); + } catch (t) { + throw new Error("Invalid svg format\n" + t.message); + } + var o = new Br(); + o.add(n), (o.isGeoSVGGraphicRoot = !0); + var a = e.width, + s = e.height, + l = e.viewBoxRect, + u = this._boundingRect; + if (!u) { + var h = void 0, + c = void 0, + p = void 0, + d = void 0; + if ((null != a ? ((h = 0), (p = a)) : l && ((h = l.x), (p = l.width)), null != s ? ((c = 0), (d = s)) : l && ((c = l.y), (d = l.height)), null == h || null == c)) { + var f = n.getBoundingRect(); + null == h && ((h = f.x), (p = f.width)), null == c && ((c = f.y), (d = f.height)); + } + u = this._boundingRect = new ze(h, c, p, d); + } + if (l) { + var g = AT(l, u); + (n.scaleX = n.scaleY = g.scale), (n.x = g.x), (n.y = g.y); + } + o.setClipPath(new Ws({ shape: u.plain() })); + var y = []; + return ( + E(e.named, function (t) { + var e; + null != kT.get(t.svgNodeTagLower) && + (y.push(t), + ((e = t.el).silent = !1), + e.isGroup && + e.traverse(function (t) { + t.silent = !1; + })); + }), + { root: o, boundingRect: u, named: y } + ); + }), + (t.prototype.useGraphic = function (t) { + var e = this._usedGraphicMap, + n = e.get(t); + return n || ((n = this._freedGraphics.pop() || this._buildGraphic(this._parsedXML)), e.set(t, n), n); + }), + (t.prototype.freeGraphic = function (t) { + var e = this._usedGraphicMap, + n = e.get(t); + n && (e.removeKey(t), this._freedGraphics.push(n)); + }), + t + ); + })(); + for ( + var PT = [126, 25], + OT = "南海诸岛", + RT = [ + [ + [0, 3.5], + [7, 11.2], + [15, 11.9], + [30, 7], + [42, 0.7], + [52, 0.7], + [56, 7.7], + [59, 0.7], + [64, 0.7], + [64, 0], + [5, 0], + [0, 3.5], + ], + [ + [13, 16.1], + [19, 14.7], + [16, 21.7], + [11, 23.1], + [13, 16.1], + ], + [ + [12, 32.2], + [14, 38.5], + [15, 38.5], + [13, 32.2], + [12, 32.2], + ], + [ + [16, 47.6], + [12, 53.2], + [13, 53.2], + [18, 47.6], + [16, 47.6], + ], + [ + [6, 64.4], + [8, 70], + [9, 70], + [8, 64.4], + [6, 64.4], + ], + [ + [23, 82.6], + [29, 79.8], + [30, 79.8], + [25, 82.6], + [23, 82.6], + ], + [ + [37, 70.7], + [43, 62.3], + [44, 62.3], + [39, 70.7], + [37, 70.7], + ], + [ + [48, 51.1], + [51, 45.5], + [53, 45.5], + [50, 51.1], + [48, 51.1], + ], + [ + [51, 35], + [51, 28.7], + [53, 28.7], + [53, 35], + [51, 35], + ], + [ + [52, 22.4], + [55, 17.5], + [56, 17.5], + [53, 22.4], + [52, 22.4], + ], + [ + [58, 12.6], + [62, 7], + [63, 7], + [60, 12.6], + [58, 12.6], + ], + [ + [0, 3.5], + [0, 93.1], + [64, 93.1], + [64, 0], + [63, 0], + [63, 92.4], + [1, 92.4], + [1, 3.5], + [0, 3.5], + ], + ], + NT = 0; + NT < RT.length; + NT++ + ) + for (var ET = 0; ET < RT[NT].length; ET++) (RT[NT][ET][0] /= 10.5), (RT[NT][ET][1] /= -14), (RT[NT][ET][0] += PT[0]), (RT[NT][ET][1] += PT[1]); + var zT = { 南海诸岛: [32, 80], 广东: [0, -10], 香港: [10, 5], 澳门: [-10, 10], 天津: [5, 5] }; + var VT = [ + [ + [123.45165252685547, 25.73527164402261], + [123.49731445312499, 25.73527164402261], + [123.49731445312499, 25.750734064600884], + [123.45165252685547, 25.750734064600884], + [123.45165252685547, 25.73527164402261], + ], + ]; + var BT = (function () { + function t(t, e, n) { + var i; + (this.type = "geoJSON"), (this._parsedMap = yt()), (this._mapName = t), (this._specialAreas = n), (this._geoJSON = U((i = e)) ? ("undefined" != typeof JSON && JSON.parse ? JSON.parse(i) : new Function("return (" + i + ");")()) : i); + } + return ( + (t.prototype.load = function (t, e) { + e = e || "name"; + var n = this._parsedMap.get(e); + if (!n) { + var i = this._parseToRegions(e); + n = this._parsedMap.set(e, { regions: i, boundingRect: FT(i) }); + } + var r = yt(), + o = []; + return ( + E(n.regions, function (e) { + var n = e.name; + t && _t(t, n) && (e = e.cloneShallow((n = t[n]))), o.push(e), r.set(n, e); + }), + { regions: o, boundingRect: n.boundingRect || new ze(0, 0, 0, 0), regionsMap: r } + ); + }), + (t.prototype._parseToRegions = function (t) { + var e, + n = this._mapName, + i = this._geoJSON; + try { + e = i ? H_(i, t) : []; + } catch (t) { + throw new Error("Invalid geoJson format\n" + t.message); + } + return ( + (function (t, e) { + if ("china" === t) { + for (var n = 0; n < e.length; n++) if (e[n].name === OT) return; + e.push( + new B_( + OT, + z(RT, function (t) { + return { type: "polygon", exterior: t }; + }), + PT + ) + ); + } + })(n, e), + E( + e, + function (t) { + var e = t.name; + !(function (t, e) { + if ("china" === t) { + var n = zT[e.name]; + if (n) { + var i = e.getCenter(); + (i[0] += n[0] / 10.5), (i[1] += -n[1] / 14), e.setCenter(i); + } + } + })(n, t), + (function (t, e) { + "china" === t && "台湾" === e.name && e.geometries.push({ type: "polygon", exterior: VT[0] }); + })(n, t); + var i = this._specialAreas && this._specialAreas[e]; + i && t.transformTo(i.left, i.top, i.width, i.height); + }, + this + ), + e + ); + }), + (t.prototype.getMapForUser = function () { + return { geoJson: this._geoJSON, geoJSON: this._geoJSON, specialAreas: this._specialAreas }; + }), + t + ); + })(); + function FT(t) { + for (var e, n = 0; n < t.length; n++) { + var i = t[n].getBoundingRect(); + (e = e || i.clone()).union(i); + } + return e; + } + var GT = yt(), + WT = function (t, e, n) { + if (e.svg) { + var i = new LT(t, e.svg); + GT.set(t, i); + } else { + var r = e.geoJson || e.geoJSON; + r && !e.features ? (n = e.specialAreas) : (r = e); + i = new BT(t, r, n); + GT.set(t, i); + } + }, + HT = function (t) { + return GT.get(t); + }, + YT = function (t) { + var e = GT.get(t); + return e && "geoJSON" === e.type && e.getMapForUser(); + }, + XT = function (t, e, n) { + var i = GT.get(t); + if (i) return i.load(e, n); + }, + UT = ["rect", "circle", "line", "ellipse", "polygon", "polyline", "path"], + ZT = yt(UT), + jT = yt(UT.concat(["g"])), + qT = yt(UT.concat(["g"])), + KT = Vo(); + function $T(t) { + var e = t.getItemStyle(), + n = t.get("areaColor"); + return null != n && (e.fill = n), e; + } + function JT(t) { + var e = t.style; + e && ((e.stroke = e.stroke || e.fill), (e.fill = null)); + } + var QT = (function () { + function t(t) { + var e = new Br(); + (this.uid = Ac("ec_map_draw")), (this._controller = new tT(t.getZr())), (this._controllerHost = { target: e }), (this.group = e), e.add((this._regionsGroup = new Br())), e.add((this._svgGroup = new Br())); + } + return ( + (t.prototype.draw = function (t, e, n, i, r) { + var o = "geo" === t.mainType, + a = t.getData && t.getData(); + o && + e.eachComponent({ mainType: "series", subType: "map" }, function (e) { + a || e.getHostGeoModel() !== t || (a = e.getData()); + }); + var s = t.coordinateSystem, + l = this._regionsGroup, + u = this.group, + h = s.getTransformInfo(), + c = h.raw, + p = h.roam; + !l.childAt(0) || r ? ((u.x = p.x), (u.y = p.y), (u.scaleX = p.scaleX), (u.scaleY = p.scaleY), u.dirty()) : vh(u, p, t); + var d = a && a.getVisual("visualMeta") && a.getVisual("visualMeta").length > 0, + f = { api: n, geo: s, mapOrGeoModel: t, data: a, isVisualEncodedByVisualMap: d, isGeo: o, transformInfoRaw: c }; + "geoJSON" === s.resourceType ? this._buildGeoJSON(f) : "geoSVG" === s.resourceType && this._buildSVG(f), this._updateController(t, e, n), this._updateMapSelectHandler(t, l, n, i); + }), + (t.prototype._buildGeoJSON = function (t) { + var e = (this._regionsGroupByName = yt()), + n = yt(), + i = this._regionsGroup, + r = t.transformInfoRaw, + o = t.mapOrGeoModel, + a = t.data, + s = t.geo.projection, + l = s && s.stream; + function u(t, e) { + return e && (t = e(t)), t && [t[0] * r.scaleX + r.x, t[1] * r.scaleY + r.y]; + } + function h(t) { + for (var e = [], n = !l && s && s.project, i = 0; i < t.length; ++i) { + var r = u(t[i], n); + r && e.push(r); + } + return e; + } + function c(t) { + return { shape: { points: h(t) } }; + } + i.removeAll(), + E(t.geo.regions, function (r) { + var h = r.name, + p = e.get(h), + d = n.get(h) || {}, + f = d.dataIdx, + g = d.regionModel; + p || ((p = e.set(h, new Br())), i.add(p), (f = a ? a.indexOfName(h) : null), (g = t.isGeo ? o.getRegionModel(h) : a ? a.getItemModel(f) : null), n.set(h, { dataIdx: f, regionModel: g })); + var y = [], + v = []; + E(r.geometries, function (t) { + if ("polygon" === t.type) { + var e = [t.exterior].concat(t.interiors || []); + l && (e = oC(e, l)), + E(e, function (t) { + y.push(new Xu(c(t))); + }); + } else { + var n = t.points; + l && (n = oC(n, l, !0)), + E(n, function (t) { + v.push(new Zu(c(t))); + }); + } + }); + var m = u(r.getCenter(), s && s.project); + function x(e, n) { + if (e.length) { + var i = new ih({ culling: !0, segmentIgnoreThreshold: 1, shape: { paths: e } }); + p.add(i), tC(t, i, f, g), eC(t, i, h, g, o, f, m), n && (JT(i), E(i.states, JT)); + } + } + x(y), x(v, !0); + }), + e.each(function (e, i) { + var r = n.get(i), + a = r.dataIdx, + s = r.regionModel; + nC(t, e, i, s, o, a), iC(t, e, i, s, o), rC(t, e, i, s, o); + }, this); + }), + (t.prototype._buildSVG = function (t) { + var e = t.geo.map, + n = t.transformInfoRaw; + (this._svgGroup.x = n.x), (this._svgGroup.y = n.y), (this._svgGroup.scaleX = n.scaleX), (this._svgGroup.scaleY = n.scaleY), this._svgResourceChanged(e) && (this._freeSVG(), this._useSVG(e)); + var i = (this._svgDispatcherMap = yt()), + r = !1; + E( + this._svgGraphicRecord.named, + function (e) { + var n = e.name, + o = t.mapOrGeoModel, + a = t.data, + s = e.svgNodeTagLower, + l = e.el, + u = a ? a.indexOfName(n) : null, + h = o.getRegionModel(n); + (null != ZT.get(s) && l instanceof Da && tC(t, l, u, h), l instanceof Da && (l.culling = !0), (l.z2EmphasisLift = 0), e.namedFrom) || + (null != qT.get(s) && eC(t, l, n, h, o, u, null), nC(t, l, n, h, o, u), iC(t, l, n, h, o), null != jT.get(s) && ("self" === rC(t, l, n, h, o) && (r = !0), (i.get(n) || i.set(n, [])).push(l))); + }, + this + ), + this._enableBlurEntireSVG(r, t); + }), + (t.prototype._enableBlurEntireSVG = function (t, e) { + if (t && e.isGeo) { + var n = e.mapOrGeoModel.getModel(["blur", "itemStyle"]).getItemStyle().opacity; + this._svgGraphicRecord.root.traverse(function (t) { + if (!t.isGroup) { + kl(t); + var e = t.ensureState("blur").style || {}; + null == e.opacity && null != n && (e.opacity = n), t.ensureState("emphasis"); + } + }); + } + }), + (t.prototype.remove = function () { + this._regionsGroup.removeAll(), (this._regionsGroupByName = null), this._svgGroup.removeAll(), this._freeSVG(), this._controller.dispose(), (this._controllerHost = null); + }), + (t.prototype.findHighDownDispatchers = function (t, e) { + if (null == t) return []; + var n = e.coordinateSystem; + if ("geoJSON" === n.resourceType) { + var i = this._regionsGroupByName; + if (i) { + var r = i.get(t); + return r ? [r] : []; + } + } else if ("geoSVG" === n.resourceType) return (this._svgDispatcherMap && this._svgDispatcherMap.get(t)) || []; + }), + (t.prototype._svgResourceChanged = function (t) { + return this._svgMapName !== t; + }), + (t.prototype._useSVG = function (t) { + var e = HT(t); + if (e && "geoSVG" === e.type) { + var n = e.useGraphic(this.uid); + this._svgGroup.add(n.root), (this._svgGraphicRecord = n), (this._svgMapName = t); + } + }), + (t.prototype._freeSVG = function () { + var t = this._svgMapName; + if (null != t) { + var e = HT(t); + e && "geoSVG" === e.type && e.freeGraphic(this.uid), (this._svgGraphicRecord = null), (this._svgDispatcherMap = null), this._svgGroup.removeAll(), (this._svgMapName = null); + } + }), + (t.prototype._updateController = function (t, e, n) { + var i = t.coordinateSystem, + r = this._controller, + o = this._controllerHost; + (o.zoomLimit = t.get("scaleLimit")), (o.zoom = i.getZoom()), r.enable(t.get("roam") || !1); + var a = t.mainType; + function s() { + var e = { type: "geoRoam", componentType: a }; + return (e[a + "Id"] = t.id), e; + } + r.off("pan").on( + "pan", + function (t) { + (this._mouseDownFlag = !1), rT(o, t.dx, t.dy), n.dispatchAction(A(s(), { dx: t.dx, dy: t.dy, animation: { duration: 0 } })); + }, + this + ), + r.off("zoom").on( + "zoom", + function (t) { + (this._mouseDownFlag = !1), oT(o, t.scale, t.originX, t.originY), n.dispatchAction(A(s(), { zoom: t.scale, originX: t.originX, originY: t.originY, animation: { duration: 0 } })); + }, + this + ), + r.setPointerChecker(function (e, r, o) { + return i.containPoint([r, o]) && !lT(e, n, t); + }); + }), + (t.prototype.resetForLabelLayout = function () { + this.group.traverse(function (t) { + var e = t.getTextContent(); + e && (e.ignore = KT(e).ignore); + }); + }), + (t.prototype._updateMapSelectHandler = function (t, e, n, i) { + var r = this; + e.off("mousedown"), + e.off("click"), + t.get("selectedMode") && + (e.on("mousedown", function () { + r._mouseDownFlag = !0; + }), + e.on("click", function (t) { + r._mouseDownFlag && (r._mouseDownFlag = !1); + })); + }), + t + ); + })(); + function tC(t, e, n, i) { + var r = i.getModel("itemStyle"), + o = i.getModel(["emphasis", "itemStyle"]), + a = i.getModel(["blur", "itemStyle"]), + s = i.getModel(["select", "itemStyle"]), + l = $T(r), + u = $T(o), + h = $T(s), + c = $T(a), + p = t.data; + if (p) { + var d = p.getItemVisual(n, "style"), + f = p.getItemVisual(n, "decal"); + t.isVisualEncodedByVisualMap && d.fill && (l.fill = d.fill), f && (l.decal = mv(f, t.api)); + } + e.setStyle(l), (e.style.strokeNoScale = !0), (e.ensureState("emphasis").style = u), (e.ensureState("select").style = h), (e.ensureState("blur").style = c), kl(e); + } + function eC(t, e, n, i, r, o, a) { + var s = t.data, + l = t.isGeo, + u = s && isNaN(s.get(s.mapDimension("value"), o)), + h = s && s.getItemLayout(o); + if (l || u || (h && h.showLabel)) { + var c = l ? n : o, + p = void 0; + (!s || o >= 0) && (p = r); + var d = a ? { normal: { align: "center", verticalAlign: "middle" } } : null; + ic(e, rc(i), { labelFetcher: p, labelDataIndex: c, defaultText: n }, d); + var f = e.getTextContent(); + if (f && ((KT(f).ignore = f.ignore), e.textConfig && a)) { + var g = e.getBoundingRect().clone(); + (e.textConfig.layoutRect = g), (e.textConfig.position = [((a[0] - g.x) / g.width) * 100 + "%", ((a[1] - g.y) / g.height) * 100 + "%"]); + } + e.disableLabelAnimation = !0; + } else e.removeTextContent(), e.removeTextConfig(), (e.disableLabelAnimation = null); + } + function nC(t, e, n, i, r, o) { + t.data ? t.data.setItemGraphicEl(o, e) : (rl(e).eventData = { componentType: "geo", componentIndex: r.componentIndex, geoIndex: r.componentIndex, name: n, region: (i && i.option) || {} }); + } + function iC(t, e, n, i, r) { + t.data || Kh({ el: e, componentModel: r, itemName: n, itemTooltipOption: i.get("tooltip") }); + } + function rC(t, e, n, i, r) { + e.highDownSilentOnTouch = !!r.get("selectedMode"); + var o = i.getModel("emphasis"), + a = o.get("focus"); + return ( + Zl(e, a, o.get("blurScope"), o.get("disabled")), + t.isGeo && + (function (t, e, n) { + var i = rl(t); + (i.componentMainType = e.mainType), (i.componentIndex = e.componentIndex), (i.componentHighDownName = n); + })(e, r, n), + a + ); + } + function oC(t, e, n) { + var i, + r = []; + function o() { + i = []; + } + function a() { + i.length && (r.push(i), (i = [])); + } + var s = e({ + polygonStart: o, + polygonEnd: a, + lineStart: o, + lineEnd: a, + point: function (t, e) { + isFinite(t) && isFinite(e) && i.push([t, e]); + }, + sphere: function () {}, + }); + return ( + !n && s.polygonStart(), + E(t, function (t) { + s.lineStart(); + for (var e = 0; e < t.length; e++) s.point(t[e][0], t[e][1]); + s.lineEnd(); + }), + !n && s.polygonEnd(), + r + ); + } + var aC = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.prototype.render = function (t, e, n, i) { + if (!i || "mapToggleSelect" !== i.type || i.from !== this.uid) { + var r = this.group; + if ((r.removeAll(), !t.getHostGeoModel())) { + if ((this._mapDraw && i && "geoRoam" === i.type && this._mapDraw.resetForLabelLayout(), i && "geoRoam" === i.type && "series" === i.componentType && i.seriesId === t.id)) (o = this._mapDraw) && r.add(o.group); + else if (t.needsDrawMap) { + var o = this._mapDraw || new QT(n); + r.add(o.group), o.draw(t, e, n, this, i), (this._mapDraw = o); + } else this._mapDraw && this._mapDraw.remove(), (this._mapDraw = null); + t.get("showLegendSymbol") && e.getComponent("legend") && this._renderSymbols(t, e, n); + } + } + }), + (e.prototype.remove = function () { + this._mapDraw && this._mapDraw.remove(), (this._mapDraw = null), this.group.removeAll(); + }), + (e.prototype.dispose = function () { + this._mapDraw && this._mapDraw.remove(), (this._mapDraw = null); + }), + (e.prototype._renderSymbols = function (t, e, n) { + var i = t.originalData, + r = this.group; + i.each(i.mapDimension("value"), function (e, n) { + if (!isNaN(e)) { + var o = i.getItemLayout(n); + if (o && o.point) { + var a = o.point, + s = o.offset, + l = new Su({ style: { fill: t.getData().getVisual("style").fill }, shape: { cx: a[0] + 9 * s, cy: a[1], r: 3 }, silent: !0, z2: 8 + (s ? 0 : 11) }); + if (!s) { + var u = t.mainSeries.getData(), + h = i.getName(n), + c = u.indexOfName(h), + p = i.getItemModel(n), + d = p.getModel("label"), + f = u.getItemGraphicEl(c); + ic(l, rc(p), { + labelFetcher: { + getFormattedLabel: function (e, n) { + return t.getFormattedLabel(c, n); + }, + }, + defaultText: h, + }), + (l.disableLabelAnimation = !0), + d.get("position") || l.setTextConfig({ position: "bottom" }), + (f.onHoverStateChange = function (t) { + Dl(l, t); + }); + } + r.add(l); + } + } + }); + }), + (e.type = "map"), + e + ); + })(Og), + sC = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return ( + (n.type = e.type), + (n.needsDrawMap = !1), + (n.seriesGroup = []), + (n.getTooltipPosition = function (t) { + if (null != t) { + var e = this.getData().getName(t), + n = this.coordinateSystem, + i = n.getRegion(e); + return i && n.dataToPoint(i.getCenter()); + } + }), + n + ); + } + return ( + n(e, t), + (e.prototype.getInitialData = function (t) { + for (var e = PM(this, { coordDimensions: ["value"], encodeDefaulter: H(ed, this) }), n = yt(), i = [], r = 0, o = e.count(); r < o; r++) { + var a = e.getName(r); + n.set(a, !0); + } + return ( + E(XT(this.getMapType(), this.option.nameMap, this.option.nameProperty).regions, function (t) { + var e = t.name; + n.get(e) || i.push(e); + }), + e.appendValues([], i), + e + ); + }), + (e.prototype.getHostGeoModel = function () { + var t = this.option.geoIndex; + return null != t ? this.ecModel.getComponent("geo", t) : null; + }), + (e.prototype.getMapType = function () { + return (this.getHostGeoModel() || this).option.map; + }), + (e.prototype.getRawValue = function (t) { + var e = this.getData(); + return e.get(e.mapDimension("value"), t); + }), + (e.prototype.getRegionModel = function (t) { + var e = this.getData(); + return e.getItemModel(e.indexOfName(t)); + }), + (e.prototype.formatTooltip = function (t, e, n) { + for (var i = this.getData(), r = this.getRawValue(t), o = i.getName(t), a = this.seriesGroup, s = [], l = 0; l < a.length; l++) { + var u = a[l].originalData.indexOfName(o), + h = i.mapDimension("value"); + isNaN(a[l].originalData.get(h, u)) || s.push(a[l].name); + } + return og("section", { header: s.join(", "), noHeader: !s.length, blocks: [og("nameValue", { name: o, value: r })] }); + }), + (e.prototype.setZoom = function (t) { + this.option.zoom = t; + }), + (e.prototype.setCenter = function (t) { + this.option.center = t; + }), + (e.prototype.getLegendIcon = function (t) { + var e = t.icon || "roundRect", + n = Xy(e, 0, 0, t.itemWidth, t.itemHeight, t.itemStyle.fill); + return n.setStyle(t.itemStyle), (n.style.stroke = "none"), e.indexOf("empty") > -1 && ((n.style.stroke = n.style.fill), (n.style.fill = "#fff"), (n.style.lineWidth = 2)), n; + }), + (e.type = "series.map"), + (e.dependencies = ["geo"]), + (e.layoutMode = "box"), + (e.defaultOption = { + z: 2, + coordinateSystem: "geo", + map: "", + left: "center", + top: "center", + aspectScale: null, + showLegendSymbol: !0, + boundingCoords: null, + center: null, + zoom: 1, + scaleLimit: null, + selectedMode: !0, + label: { show: !1, color: "#000" }, + itemStyle: { borderWidth: 0.5, borderColor: "#444", areaColor: "#eee" }, + emphasis: { label: { show: !0, color: "rgb(100,0,0)" }, itemStyle: { areaColor: "rgba(255,215,0,0.8)" } }, + select: { label: { show: !0, color: "rgb(100,0,0)" }, itemStyle: { color: "rgba(255,215,0,0.8)" } }, + nameProperty: "name", + }), + e + ); + })(bg); + function lC(t) { + var e = {}; + t.eachSeriesByType("map", function (t) { + var n = t.getHostGeoModel(), + i = n ? "o" + n.id : "i" + t.getMapType(); + (e[i] = e[i] || []).push(t); + }), + E(e, function (t, e) { + for ( + var n, + i, + r, + o = + ((n = z(t, function (t) { + return t.getData(); + })), + (i = t[0].get("mapValueCalculation")), + (r = {}), + E(n, function (t) { + t.each(t.mapDimension("value"), function (e, n) { + var i = "ec-" + t.getName(n); + (r[i] = r[i] || []), isNaN(e) || r[i].push(e); + }); + }), + n[0].map(n[0].mapDimension("value"), function (t, e) { + for (var o = "ec-" + n[0].getName(e), a = 0, s = 1 / 0, l = -1 / 0, u = r[o].length, h = 0; h < u; h++) (s = Math.min(s, r[o][h])), (l = Math.max(l, r[o][h])), (a += r[o][h]); + return 0 === u ? NaN : "min" === i ? s : "max" === i ? l : "average" === i ? a / u : a; + })), + a = 0; + a < t.length; + a++ + ) + t[a].originalData = t[a].getData(); + for (a = 0; a < t.length; a++) (t[a].seriesGroup = t), (t[a].needsDrawMap = 0 === a && !t[a].getHostGeoModel()), t[a].setData(o.cloneShallow()), (t[a].mainSeries = t[0]); + }); + } + function uC(t) { + var e = {}; + t.eachSeriesByType("map", function (n) { + var i = n.getMapType(); + if (!n.getHostGeoModel() && !e[i]) { + var r = {}; + E(n.seriesGroup, function (e) { + var n = e.coordinateSystem, + i = e.originalData; + e.get("showLegendSymbol") && + t.getComponent("legend") && + i.each(i.mapDimension("value"), function (t, e) { + var o = i.getName(e), + a = n.getRegion(o); + if (a && !isNaN(t)) { + var s = r[o] || 0, + l = n.dataToPoint(a.getCenter()); + (r[o] = s + 1), i.setItemLayout(e, { point: l, offset: s }); + } + }); + }); + var o = n.getData(); + o.each(function (t) { + var e = o.getName(t), + n = o.getItemLayout(t) || {}; + (n.showLabel = !r[e]), o.setItemLayout(t, n); + }), + (e[i] = !0); + } + }); + } + var hC = Wt, + cC = (function (t) { + function e(e) { + var n = t.call(this) || this; + return (n.type = "view"), (n.dimensions = ["x", "y"]), (n._roamTransformable = new vr()), (n._rawTransformable = new vr()), (n.name = e), n; + } + return ( + n(e, t), + (e.prototype.setBoundingRect = function (t, e, n, i) { + return (this._rect = new ze(t, e, n, i)), this._rect; + }), + (e.prototype.getBoundingRect = function () { + return this._rect; + }), + (e.prototype.setViewRect = function (t, e, n, i) { + this._transformTo(t, e, n, i), (this._viewRect = new ze(t, e, n, i)); + }), + (e.prototype._transformTo = function (t, e, n, i) { + var r = this.getBoundingRect(), + o = this._rawTransformable; + o.transform = r.calculateTransform(new ze(t, e, n, i)); + var a = o.parent; + (o.parent = null), o.decomposeTransform(), (o.parent = a), this._updateTransform(); + }), + (e.prototype.setCenter = function (t, e) { + t && ((this._center = [$r(t[0], e.getWidth()), $r(t[1], e.getHeight())]), this._updateCenterAndZoom()); + }), + (e.prototype.setZoom = function (t) { + t = t || 1; + var e = this.zoomLimit; + e && (null != e.max && (t = Math.min(e.max, t)), null != e.min && (t = Math.max(e.min, t))), (this._zoom = t), this._updateCenterAndZoom(); + }), + (e.prototype.getDefaultCenter = function () { + var t = this.getBoundingRect(); + return [t.x + t.width / 2, t.y + t.height / 2]; + }), + (e.prototype.getCenter = function () { + return this._center || this.getDefaultCenter(); + }), + (e.prototype.getZoom = function () { + return this._zoom || 1; + }), + (e.prototype.getRoamTransform = function () { + return this._roamTransformable.getLocalTransform(); + }), + (e.prototype._updateCenterAndZoom = function () { + var t = this._rawTransformable.getLocalTransform(), + e = this._roamTransformable, + n = this.getDefaultCenter(), + i = this.getCenter(), + r = this.getZoom(); + (i = Wt([], i, t)), (n = Wt([], n, t)), (e.originX = i[0]), (e.originY = i[1]), (e.x = n[0] - i[0]), (e.y = n[1] - i[1]), (e.scaleX = e.scaleY = r), this._updateTransform(); + }), + (e.prototype._updateTransform = function () { + var t = this._roamTransformable, + e = this._rawTransformable; + (e.parent = t), + t.updateTransform(), + e.updateTransform(), + _e(this.transform || (this.transform = []), e.transform || [1, 0, 0, 1, 0, 0]), + (this._rawTransform = e.getLocalTransform()), + (this.invTransform = this.invTransform || []), + Ie(this.invTransform, this.transform), + this.decomposeTransform(); + }), + (e.prototype.getTransformInfo = function () { + var t = this._rawTransformable, + e = this._roamTransformable, + n = new vr(); + return (n.transform = e.transform), n.decomposeTransform(), { roam: { x: n.x, y: n.y, scaleX: n.scaleX, scaleY: n.scaleY }, raw: { x: t.x, y: t.y, scaleX: t.scaleX, scaleY: t.scaleY } }; + }), + (e.prototype.getViewRect = function () { + return this._viewRect; + }), + (e.prototype.getViewRectAfterRoam = function () { + var t = this.getBoundingRect().clone(); + return t.applyTransform(this.transform), t; + }), + (e.prototype.dataToPoint = function (t, e, n) { + var i = e ? this._rawTransform : this.transform; + return (n = n || []), i ? hC(n, t, i) : It(n, t); + }), + (e.prototype.pointToData = function (t) { + var e = this.invTransform; + return e ? hC([], t, e) : [t[0], t[1]]; + }), + (e.prototype.convertToPixel = function (t, e, n) { + var i = pC(e); + return i === this ? i.dataToPoint(n) : null; + }), + (e.prototype.convertFromPixel = function (t, e, n) { + var i = pC(e); + return i === this ? i.pointToData(n) : null; + }), + (e.prototype.containPoint = function (t) { + return this.getViewRectAfterRoam().contain(t[0], t[1]); + }), + (e.dimensions = ["x", "y"]), + e + ); + })(vr); + function pC(t) { + var e = t.seriesModel; + return e ? e.coordinateSystem : null; + } + var dC = { geoJSON: { aspectScale: 0.75, invertLongitute: !0 }, geoSVG: { aspectScale: 1, invertLongitute: !1 } }, + fC = ["lng", "lat"], + gC = (function (t) { + function e(e, n, i) { + var r = t.call(this, e) || this; + (r.dimensions = fC), (r.type = "geo"), (r._nameCoordMap = yt()), (r.map = n); + var o, + a = i.projection, + s = XT(n, i.nameMap, i.nameProperty), + l = HT(n), + u = ((r.resourceType = l ? l.type : null), (r.regions = s.regions)), + h = dC[l.type]; + if (((r._regionsMap = s.regionsMap), (r.regions = s.regions), (r.projection = a), a)) + for (var c = 0; c < u.length; c++) { + var p = u[c].getBoundingRect(a); + (o = o || p.clone()).union(p); + } + else o = s.boundingRect; + return r.setBoundingRect(o.x, o.y, o.width, o.height), (r.aspectScale = a ? 1 : rt(i.aspectScale, h.aspectScale)), (r._invertLongitute = !a && h.invertLongitute), r; + } + return ( + n(e, t), + (e.prototype._transformTo = function (t, e, n, i) { + var r = this.getBoundingRect(), + o = this._invertLongitute; + (r = r.clone()), o && (r.y = -r.y - r.height); + var a = this._rawTransformable; + a.transform = r.calculateTransform(new ze(t, e, n, i)); + var s = a.parent; + (a.parent = null), a.decomposeTransform(), (a.parent = s), o && (a.scaleY = -a.scaleY), this._updateTransform(); + }), + (e.prototype.getRegion = function (t) { + return this._regionsMap.get(t); + }), + (e.prototype.getRegionByCoord = function (t) { + for (var e = this.regions, n = 0; n < e.length; n++) { + var i = e[n]; + if ("geoJSON" === i.type && i.contain(t)) return e[n]; + } + }), + (e.prototype.addGeoCoord = function (t, e) { + this._nameCoordMap.set(t, e); + }), + (e.prototype.getGeoCoord = function (t) { + var e = this._regionsMap.get(t); + return this._nameCoordMap.get(t) || (e && e.getCenter()); + }), + (e.prototype.dataToPoint = function (t, e, n) { + if ((U(t) && (t = this.getGeoCoord(t)), t)) { + var i = this.projection; + return i && (t = i.project(t)), t && this.projectedToPoint(t, e, n); + } + }), + (e.prototype.pointToData = function (t) { + var e = this.projection; + return e && (t = e.unproject(t)), t && this.pointToProjected(t); + }), + (e.prototype.pointToProjected = function (e) { + return t.prototype.pointToData.call(this, e); + }), + (e.prototype.projectedToPoint = function (e, n, i) { + return t.prototype.dataToPoint.call(this, e, n, i); + }), + (e.prototype.convertToPixel = function (t, e, n) { + var i = yC(e); + return i === this ? i.dataToPoint(n) : null; + }), + (e.prototype.convertFromPixel = function (t, e, n) { + var i = yC(e); + return i === this ? i.pointToData(n) : null; + }), + e + ); + })(cC); + function yC(t) { + var e = t.geoModel, + n = t.seriesModel; + return e ? e.coordinateSystem : n ? n.coordinateSystem || (n.getReferringComponents("geo", Wo).models[0] || {}).coordinateSystem : null; + } + function vC(t, e) { + var n = t.get("boundingCoords"); + if (null != n) { + var i = n[0], + r = n[1]; + if (isFinite(i[0]) && isFinite(i[1]) && isFinite(r[0]) && isFinite(r[1])) { + var o = this.projection; + if (o) { + var a = i[0], + s = i[1], + l = r[0], + u = r[1]; + (i = [1 / 0, 1 / 0]), (r = [-1 / 0, -1 / 0]); + var h = function (t, e, n, a) { + for (var s = n - t, l = a - e, u = 0; u <= 100; u++) { + var h = u / 100, + c = o.project([t + s * h, e + l * h]); + Ht(i, i, c), Yt(r, r, c); + } + }; + h(a, s, l, s), h(l, s, l, u), h(l, u, a, u), h(a, u, l, s); + } + this.setBoundingRect(i[0], i[1], r[0] - i[0], r[1] - i[1]); + } else 0; + } + var c, + p, + d, + f = this.getBoundingRect(), + g = t.get("layoutCenter"), + y = t.get("layoutSize"), + v = e.getWidth(), + m = e.getHeight(), + x = (f.width / f.height) * this.aspectScale, + _ = !1; + if ((g && y && ((c = [$r(g[0], v), $r(g[1], m)]), (p = $r(y, Math.min(v, m))), isNaN(c[0]) || isNaN(c[1]) || isNaN(p) || (_ = !0)), _)) + (d = {}), x > 1 ? ((d.width = p), (d.height = p / x)) : ((d.height = p), (d.width = p * x)), (d.y = c[1] - d.height / 2), (d.x = c[0] - d.width / 2); + else { + var b = t.getBoxLayoutParams(); + (b.aspect = x), (d = kp(b, { width: v, height: m })); + } + this.setViewRect(d.x, d.y, d.width, d.height), this.setCenter(t.get("center"), e), this.setZoom(t.get("zoom")); + } + R(gC, cC); + var mC = (function () { + function t() { + this.dimensions = fC; + } + return ( + (t.prototype.create = function (t, e) { + var n = []; + function i(t) { + return { nameProperty: t.get("nameProperty"), aspectScale: t.get("aspectScale"), projection: t.get("projection") }; + } + t.eachComponent("geo", function (t, r) { + var o = t.get("map"), + a = new gC(o + r, o, A({ nameMap: t.get("nameMap") }, i(t))); + (a.zoomLimit = t.get("scaleLimit")), n.push(a), (t.coordinateSystem = a), (a.model = t), (a.resize = vC), a.resize(t, e); + }), + t.eachSeries(function (t) { + if ("geo" === t.get("coordinateSystem")) { + var e = t.get("geoIndex") || 0; + t.coordinateSystem = n[e]; + } + }); + var r = {}; + return ( + t.eachSeriesByType("map", function (t) { + if (!t.getHostGeoModel()) { + var e = t.getMapType(); + (r[e] = r[e] || []), r[e].push(t); + } + }), + E(r, function (t, r) { + var o = z(t, function (t) { + return t.get("nameMap"); + }), + a = new gC(r, r, A({ nameMap: D(o) }, i(t[0]))); + (a.zoomLimit = it.apply( + null, + z(t, function (t) { + return t.get("scaleLimit"); + }) + )), + n.push(a), + (a.resize = vC), + a.resize(t[0], e), + E(t, function (t) { + (t.coordinateSystem = a), + (function (t, e) { + E(e.get("geoCoord"), function (e, n) { + t.addGeoCoord(n, e); + }); + })(a, t); + }); + }), + n + ); + }), + (t.prototype.getFilledRegions = function (t, e, n, i) { + for (var r = (t || []).slice(), o = yt(), a = 0; a < r.length; a++) o.set(r[a].name, r[a]); + return ( + E(XT(e, n, i).regions, function (t) { + var e = t.name; + !o.get(e) && r.push({ name: e }); + }), + r + ); + }), + t + ); + })(), + xC = new mC(), + _C = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.prototype.init = function (t, e, n) { + var i = HT(t.map); + if (i && "geoJSON" === i.type) { + var r = (t.itemStyle = t.itemStyle || {}); + "color" in r || (r.color = "#eee"); + } + this.mergeDefaultAndTheme(t, n), Co(t, "label", ["show"]); + }), + (e.prototype.optionUpdated = function () { + var t = this, + e = this.option; + e.regions = xC.getFilledRegions(e.regions, e.map, e.nameMap, e.nameProperty); + var n = {}; + (this._optionModelMap = V( + e.regions || [], + function (e, i) { + var r = i.name; + return r && (e.set(r, new Cc(i, t, t.ecModel)), i.selected && (n[r] = !0)), e; + }, + yt() + )), + e.selectedMap || (e.selectedMap = n); + }), + (e.prototype.getRegionModel = function (t) { + return this._optionModelMap.get(t) || new Cc(null, this, this.ecModel); + }), + (e.prototype.getFormattedLabel = function (t, e) { + var n = this.getRegionModel(t), + i = "normal" === e ? n.get(["label", "formatter"]) : n.get(["emphasis", "label", "formatter"]), + r = { name: t }; + return X(i) ? ((r.status = e), i(r)) : U(i) ? i.replace("{a}", null != t ? t : "") : void 0; + }), + (e.prototype.setZoom = function (t) { + this.option.zoom = t; + }), + (e.prototype.setCenter = function (t) { + this.option.center = t; + }), + (e.prototype.select = function (t) { + var e = this.option, + n = e.selectedMode; + n && ("multiple" !== n && (e.selectedMap = null), ((e.selectedMap || (e.selectedMap = {}))[t] = !0)); + }), + (e.prototype.unSelect = function (t) { + var e = this.option.selectedMap; + e && (e[t] = !1); + }), + (e.prototype.toggleSelected = function (t) { + this[this.isSelected(t) ? "unSelect" : "select"](t); + }), + (e.prototype.isSelected = function (t) { + var e = this.option.selectedMap; + return !(!e || !e[t]); + }), + (e.type = "geo"), + (e.layoutMode = "box"), + (e.defaultOption = { + z: 0, + show: !0, + left: "center", + top: "center", + aspectScale: null, + silent: !1, + map: "", + boundingCoords: null, + center: null, + zoom: 1, + scaleLimit: null, + label: { show: !1, color: "#000" }, + itemStyle: { borderWidth: 0.5, borderColor: "#444" }, + emphasis: { label: { show: !0, color: "rgb(100,0,0)" }, itemStyle: { color: "rgba(255,215,0,0.8)" } }, + select: { label: { show: !0, color: "rgb(100,0,0)" }, itemStyle: { color: "rgba(255,215,0,0.8)" } }, + regions: [], + }), + e + ); + })(zp); + function bC(t, e) { + return t.pointToProjected ? t.pointToProjected(e) : t.pointToData(e); + } + function wC(t, e, n, i) { + var r = t.getZoom(), + o = t.getCenter(), + a = e.zoom, + s = t.projectedToPoint ? t.projectedToPoint(o) : t.dataToPoint(o); + if ((null != e.dx && null != e.dy && ((s[0] -= e.dx), (s[1] -= e.dy), t.setCenter(bC(t, s), i)), null != a)) { + if (n) { + var l = n.min || 0, + u = n.max || 1 / 0; + a = Math.max(Math.min(r * a, u), l) / r; + } + (t.scaleX *= a), (t.scaleY *= a); + var h = (e.originX - t.x) * (a - 1), + c = (e.originY - t.y) * (a - 1); + (t.x -= h), (t.y -= c), t.updateTransform(), t.setCenter(bC(t, s), i), t.setZoom(a * r); + } + return { center: t.getCenter(), zoom: t.getZoom() }; + } + var SC = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), (n.focusBlurEnabled = !0), n; + } + return ( + n(e, t), + (e.prototype.init = function (t, e) { + this._api = e; + }), + (e.prototype.render = function (t, e, n, i) { + if (((this._model = t), !t.get("show"))) return this._mapDraw && this._mapDraw.remove(), void (this._mapDraw = null); + this._mapDraw || (this._mapDraw = new QT(n)); + var r = this._mapDraw; + r.draw(t, e, n, this, i), r.group.on("click", this._handleRegionClick, this), (r.group.silent = t.get("silent")), this.group.add(r.group), this.updateSelectStatus(t, e, n); + }), + (e.prototype._handleRegionClick = function (t) { + var e; + Oy( + t.target, + function (t) { + return null != (e = rl(t).eventData); + }, + !0 + ), + e && this._api.dispatchAction({ type: "geoToggleSelect", geoId: this._model.id, name: e.name }); + }), + (e.prototype.updateSelectStatus = function (t, e, n) { + var i = this; + this._mapDraw.group.traverse(function (t) { + var e = rl(t).eventData; + if (e) return i._model.isSelected(e.name) ? n.enterSelect(t) : n.leaveSelect(t), !0; + }); + }), + (e.prototype.findHighDownDispatchers = function (t) { + return this._mapDraw && this._mapDraw.findHighDownDispatchers(t, this._model); + }), + (e.prototype.dispose = function () { + this._mapDraw && this._mapDraw.remove(); + }), + (e.type = "geo"), + e + ); + })(Ag); + function MC(t, e, n) { + WT(t, e, n); + } + function IC(t) { + function e(e, n) { + (n.update = "geo:updateSelectStatus"), + t.registerAction(n, function (t, n) { + var i = {}, + r = []; + return ( + n.eachComponent({ mainType: "geo", query: t }, function (n) { + n[e](t.name), + E(n.coordinateSystem.regions, function (t) { + i[t.name] = n.isSelected(t.name) || !1; + }); + var o = []; + E(i, function (t, e) { + i[e] && o.push(e); + }), + r.push({ geoIndex: n.componentIndex, name: o }); + }), + { selected: i, allSelected: r, name: t.name } + ); + }); + } + t.registerCoordinateSystem("geo", xC), + t.registerComponentModel(_C), + t.registerComponentView(SC), + t.registerImpl("registerMap", MC), + t.registerImpl("getMap", function (t) { + return YT(t); + }), + e("toggleSelected", { type: "geoToggleSelect", event: "geoselectchanged" }), + e("select", { type: "geoSelect", event: "geoselected" }), + e("unSelect", { type: "geoUnSelect", event: "geounselected" }), + t.registerAction({ type: "geoRoam", event: "geoRoam", update: "updateTransform" }, function (t, e, n) { + var i = t.componentType || "series"; + e.eachComponent({ mainType: i, query: t }, function (e) { + var r = e.coordinateSystem; + if ("geo" === r.type) { + var o = wC(r, t, e.get("scaleLimit"), n); + e.setCenter && e.setCenter(o.center), + e.setZoom && e.setZoom(o.zoom), + "series" === i && + E(e.seriesGroup, function (t) { + t.setCenter(o.center), t.setZoom(o.zoom); + }); + } + }); + }); + } + function TC(t, e) { + var n = t.isExpand ? t.children : [], + i = t.parentNode.children, + r = t.hierNode.i ? i[t.hierNode.i - 1] : null; + if (n.length) { + !(function (t) { + var e = t.children, + n = e.length, + i = 0, + r = 0; + for (; --n >= 0; ) { + var o = e[n]; + (o.hierNode.prelim += i), (o.hierNode.modifier += i), (r += o.hierNode.change), (i += o.hierNode.shift + r); + } + })(t); + var o = (n[0].hierNode.prelim + n[n.length - 1].hierNode.prelim) / 2; + r ? ((t.hierNode.prelim = r.hierNode.prelim + e(t, r)), (t.hierNode.modifier = t.hierNode.prelim - o)) : (t.hierNode.prelim = o); + } else r && (t.hierNode.prelim = r.hierNode.prelim + e(t, r)); + t.parentNode.hierNode.defaultAncestor = (function (t, e, n, i) { + if (e) { + for (var r = t, o = t, a = o.parentNode.children[0], s = e, l = r.hierNode.modifier, u = o.hierNode.modifier, h = a.hierNode.modifier, c = s.hierNode.modifier; (s = kC(s)), (o = LC(o)), s && o; ) { + (r = kC(r)), (a = LC(a)), (r.hierNode.ancestor = t); + var p = s.hierNode.prelim + c - o.hierNode.prelim - u + i(s, o); + p > 0 && (OC(PC(s, t, n), t, p), (u += p), (l += p)), (c += s.hierNode.modifier), (u += o.hierNode.modifier), (l += r.hierNode.modifier), (h += a.hierNode.modifier); + } + s && !kC(r) && ((r.hierNode.thread = s), (r.hierNode.modifier += c - l)), o && !LC(a) && ((a.hierNode.thread = o), (a.hierNode.modifier += u - h), (n = t)); + } + return n; + })(t, r, t.parentNode.hierNode.defaultAncestor || i[0], e); + } + function CC(t) { + var e = t.hierNode.prelim + t.parentNode.hierNode.modifier; + t.setLayout({ x: e }, !0), (t.hierNode.modifier += t.parentNode.hierNode.modifier); + } + function DC(t) { + return arguments.length ? t : RC; + } + function AC(t, e) { + return (t -= Math.PI / 2), { x: e * Math.cos(t), y: e * Math.sin(t) }; + } + function kC(t) { + var e = t.children; + return e.length && t.isExpand ? e[e.length - 1] : t.hierNode.thread; + } + function LC(t) { + var e = t.children; + return e.length && t.isExpand ? e[0] : t.hierNode.thread; + } + function PC(t, e, n) { + return t.hierNode.ancestor.parentNode === e.parentNode ? t.hierNode.ancestor : n; + } + function OC(t, e, n) { + var i = n / (e.hierNode.i - t.hierNode.i); + (e.hierNode.change -= i), (e.hierNode.shift += n), (e.hierNode.modifier += n), (e.hierNode.prelim += n), (t.hierNode.change += i); + } + function RC(t, e) { + return t.parentNode === e.parentNode ? 1 : 2; + } + var NC = function () { + (this.parentPoint = []), (this.childPoints = []); + }, + EC = (function (t) { + function e(e) { + return t.call(this, e) || this; + } + return ( + n(e, t), + (e.prototype.getDefaultStyle = function () { + return { stroke: "#000", fill: null }; + }), + (e.prototype.getDefaultShape = function () { + return new NC(); + }), + (e.prototype.buildPath = function (t, e) { + var n = e.childPoints, + i = n.length, + r = e.parentPoint, + o = n[0], + a = n[i - 1]; + if (1 === i) return t.moveTo(r[0], r[1]), void t.lineTo(o[0], o[1]); + var s = e.orient, + l = "TB" === s || "BT" === s ? 0 : 1, + u = 1 - l, + h = $r(e.forkPosition, 1), + c = []; + (c[l] = r[l]), (c[u] = r[u] + (a[u] - r[u]) * h), t.moveTo(r[0], r[1]), t.lineTo(c[0], c[1]), t.moveTo(o[0], o[1]), (c[l] = o[l]), t.lineTo(c[0], c[1]), (c[l] = a[l]), t.lineTo(c[0], c[1]), t.lineTo(a[0], a[1]); + for (var p = 1; p < i - 1; p++) { + var d = n[p]; + t.moveTo(d[0], d[1]), (c[l] = d[l]), t.lineTo(c[0], c[1]); + } + }), + e + ); + })(ks), + zC = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), (n._mainGroup = new Br()), n; + } + return ( + n(e, t), + (e.prototype.init = function (t, e) { + (this._controller = new tT(e.getZr())), (this._controllerHost = { target: this.group }), this.group.add(this._mainGroup); + }), + (e.prototype.render = function (t, e, n) { + var i = t.getData(), + r = t.layoutInfo, + o = this._mainGroup; + "radial" === t.get("layout") ? ((o.x = r.x + r.width / 2), (o.y = r.y + r.height / 2)) : ((o.x = r.x), (o.y = r.y)), this._updateViewCoordSys(t, n), this._updateController(t, e, n); + var a = this._data; + i + .diff(a) + .add(function (e) { + VC(i, e) && BC(i, e, null, o, t); + }) + .update(function (e, n) { + var r = a.getItemGraphicEl(n); + VC(i, e) ? BC(i, e, r, o, t) : r && WC(a, n, r, o, t); + }) + .remove(function (e) { + var n = a.getItemGraphicEl(e); + n && WC(a, e, n, o, t); + }) + .execute(), + (this._nodeScaleRatio = t.get("nodeScaleRatio")), + this._updateNodeAndLinkScale(t), + !0 === t.get("expandAndCollapse") && + i.eachItemGraphicEl(function (e, i) { + e.off("click").on("click", function () { + n.dispatchAction({ type: "treeExpandAndCollapse", seriesId: t.id, dataIndex: i }); + }); + }), + (this._data = i); + }), + (e.prototype._updateViewCoordSys = function (t, e) { + var n = t.getData(), + i = []; + n.each(function (t) { + var e = n.getItemLayout(t); + !e || isNaN(e.x) || isNaN(e.y) || i.push([+e.x, +e.y]); + }); + var r = [], + o = []; + Ba(i, r, o); + var a = this._min, + s = this._max; + o[0] - r[0] == 0 && ((r[0] = a ? a[0] : r[0] - 1), (o[0] = s ? s[0] : o[0] + 1)), o[1] - r[1] == 0 && ((r[1] = a ? a[1] : r[1] - 1), (o[1] = s ? s[1] : o[1] + 1)); + var l = (t.coordinateSystem = new cC()); + (l.zoomLimit = t.get("scaleLimit")), + l.setBoundingRect(r[0], r[1], o[0] - r[0], o[1] - r[1]), + l.setCenter(t.get("center"), e), + l.setZoom(t.get("zoom")), + this.group.attr({ x: l.x, y: l.y, scaleX: l.scaleX, scaleY: l.scaleY }), + (this._min = r), + (this._max = o); + }), + (e.prototype._updateController = function (t, e, n) { + var i = this, + r = this._controller, + o = this._controllerHost, + a = this.group; + r.setPointerChecker(function (e, i, r) { + var o = a.getBoundingRect(); + return o.applyTransform(a.transform), o.contain(i, r) && !lT(e, n, t); + }), + r.enable(t.get("roam")), + (o.zoomLimit = t.get("scaleLimit")), + (o.zoom = t.coordinateSystem.getZoom()), + r + .off("pan") + .off("zoom") + .on("pan", function (e) { + rT(o, e.dx, e.dy), n.dispatchAction({ seriesId: t.id, type: "treeRoam", dx: e.dx, dy: e.dy }); + }) + .on("zoom", function (e) { + oT(o, e.scale, e.originX, e.originY), n.dispatchAction({ seriesId: t.id, type: "treeRoam", zoom: e.scale, originX: e.originX, originY: e.originY }), i._updateNodeAndLinkScale(t), n.updateLabelLayout(); + }); + }), + (e.prototype._updateNodeAndLinkScale = function (t) { + var e = t.getData(), + n = this._getNodeGlobalScale(t); + e.eachItemGraphicEl(function (t, e) { + t.setSymbolScale(n); + }); + }), + (e.prototype._getNodeGlobalScale = function (t) { + var e = t.coordinateSystem; + if ("view" !== e.type) return 1; + var n = this._nodeScaleRatio, + i = e.scaleX || 1; + return ((e.getZoom() - 1) * n + 1) / i; + }), + (e.prototype.dispose = function () { + this._controller && this._controller.dispose(), (this._controllerHost = null); + }), + (e.prototype.remove = function () { + this._mainGroup.removeAll(), (this._data = null); + }), + (e.type = "tree"), + e + ); + })(Og); + function VC(t, e) { + var n = t.getItemLayout(e); + return n && !isNaN(n.x) && !isNaN(n.y); + } + function BC(t, e, n, i, r) { + var o = !n, + a = t.tree.getNodeByDataIndex(e), + s = a.getModel(), + l = a.getVisual("style").fill, + u = !1 === a.isExpand && 0 !== a.children.length ? l : "#fff", + h = t.tree.root, + c = a.parentNode === h ? a : a.parentNode || a, + p = t.getItemGraphicEl(c.dataIndex), + d = c.getLayout(), + f = p ? { x: p.__oldX, y: p.__oldY, rawX: p.__radialOldRawX, rawY: p.__radialOldRawY } : d, + g = a.getLayout(); + o ? (((n = new dS(t, e, null, { symbolInnerColor: u, useNameLabel: !0 })).x = f.x), (n.y = f.y)) : n.updateData(t, e, null, { symbolInnerColor: u, useNameLabel: !0 }), + (n.__radialOldRawX = n.__radialRawX), + (n.__radialOldRawY = n.__radialRawY), + (n.__radialRawX = g.rawX), + (n.__radialRawY = g.rawY), + i.add(n), + t.setItemGraphicEl(e, n), + (n.__oldX = n.x), + (n.__oldY = n.y), + vh(n, { x: g.x, y: g.y }, r); + var y = n.getSymbolPath(); + if ("radial" === r.get("layout")) { + var v = h.children[0], + m = v.getLayout(), + x = v.children.length, + _ = void 0, + b = void 0; + if (g.x === m.x && !0 === a.isExpand && v.children.length) { + var w = { x: (v.children[0].getLayout().x + v.children[x - 1].getLayout().x) / 2, y: (v.children[0].getLayout().y + v.children[x - 1].getLayout().y) / 2 }; + (_ = Math.atan2(w.y - m.y, w.x - m.x)) < 0 && (_ = 2 * Math.PI + _), (b = w.x < m.x) && (_ -= Math.PI); + } else (_ = Math.atan2(g.y - m.y, g.x - m.x)) < 0 && (_ = 2 * Math.PI + _), 0 === a.children.length || (0 !== a.children.length && !1 === a.isExpand) ? (b = g.x < m.x) && (_ -= Math.PI) : (b = g.x > m.x) || (_ -= Math.PI); + var S = b ? "left" : "right", + M = s.getModel("label"), + I = M.get("rotate"), + T = I * (Math.PI / 180), + C = y.getTextContent(); + C && (y.setTextConfig({ position: M.get("position") || S, rotation: null == I ? -_ : T, origin: "center" }), C.setStyle("verticalAlign", "middle")); + } + var D = s.get(["emphasis", "focus"]), + A = "relative" === D ? vt(a.getAncestorsIndices(), a.getDescendantIndices()) : "ancestor" === D ? a.getAncestorsIndices() : "descendant" === D ? a.getDescendantIndices() : null; + A && (rl(n).focus = A), + (function (t, e, n, i, r, o, a, s) { + var l = e.getModel(), + u = t.get("edgeShape"), + h = t.get("layout"), + c = t.getOrient(), + p = t.get(["lineStyle", "curveness"]), + d = t.get("edgeForkPosition"), + f = l.getModel("lineStyle").getLineStyle(), + g = i.__edge; + if ("curve" === u) e.parentNode && e.parentNode !== n && (g || (g = i.__edge = new th({ shape: HC(h, c, p, r, r) })), vh(g, { shape: HC(h, c, p, o, a) }, t)); + else if ("polyline" === u) + if ("orthogonal" === h) { + if (e !== n && e.children && 0 !== e.children.length && !0 === e.isExpand) { + for (var y = e.children, v = [], m = 0; m < y.length; m++) { + var x = y[m].getLayout(); + v.push([x.x, x.y]); + } + g || (g = i.__edge = new EC({ shape: { parentPoint: [a.x, a.y], childPoints: [[a.x, a.y]], orient: c, forkPosition: d } })), vh(g, { shape: { parentPoint: [a.x, a.y], childPoints: v } }, t); + } + } else 0; + g && ("polyline" !== u || e.isExpand) && (g.useStyle(k({ strokeNoScale: !0, fill: null }, f)), $l(g, l, "lineStyle"), kl(g), s.add(g)); + })(r, a, h, n, f, d, g, i), + n.__edge && + (n.onHoverStateChange = function (e) { + if ("blur" !== e) { + var i = a.parentNode && t.getItemGraphicEl(a.parentNode.dataIndex); + (i && 1 === i.hoverState) || Dl(n.__edge, e); + } + }); + } + function FC(t, e, n, i, r) { + var o = GC(e.tree.root, t), + a = o.source, + s = o.sourceLayout, + l = e.getItemGraphicEl(t.dataIndex); + if (l) { + var u = e.getItemGraphicEl(a.dataIndex).__edge, + h = l.__edge || (!1 === a.isExpand || 1 === a.children.length ? u : void 0), + c = i.get("edgeShape"), + p = i.get("layout"), + d = i.get("orient"), + f = i.get(["lineStyle", "curveness"]); + h && + ("curve" === c + ? _h(h, { shape: HC(p, d, f, s, s), style: { opacity: 0 } }, i, { + cb: function () { + n.remove(h); + }, + removeOpt: r, + }) + : "polyline" === c && + "orthogonal" === i.get("layout") && + _h(h, { shape: { parentPoint: [s.x, s.y], childPoints: [[s.x, s.y]] }, style: { opacity: 0 } }, i, { + cb: function () { + n.remove(h); + }, + removeOpt: r, + })); + } + } + function GC(t, e) { + for (var n, i = e.parentNode === t ? e : e.parentNode || e; null == (n = i.getLayout()); ) i = i.parentNode === t ? i : i.parentNode || i; + return { source: i, sourceLayout: n }; + } + function WC(t, e, n, i, r) { + var o = t.tree.getNodeByDataIndex(e), + a = GC(t.tree.root, o).sourceLayout, + s = { duration: r.get("animationDurationUpdate"), easing: r.get("animationEasingUpdate") }; + _h(n, { x: a.x + 1, y: a.y + 1 }, r, { + cb: function () { + i.remove(n), t.setItemGraphicEl(e, null); + }, + removeOpt: s, + }), + n.fadeOut(null, t.hostModel, { fadeLabel: !0, animation: s }), + o.children.forEach(function (e) { + FC(e, t, i, r, s); + }), + FC(o, t, i, r, s); + } + function HC(t, e, n, i, r) { + var o, a, s, l, u, h, c, p; + if ("radial" === t) { + (u = i.rawX), (c = i.rawY), (h = r.rawX), (p = r.rawY); + var d = AC(u, c), + f = AC(u, c + (p - c) * n), + g = AC(h, p + (c - p) * n), + y = AC(h, p); + return { x1: d.x || 0, y1: d.y || 0, x2: y.x || 0, y2: y.y || 0, cpx1: f.x || 0, cpy1: f.y || 0, cpx2: g.x || 0, cpy2: g.y || 0 }; + } + return ( + (u = i.x), + (c = i.y), + (h = r.x), + (p = r.y), + ("LR" !== e && "RL" !== e) || ((o = u + (h - u) * n), (a = c), (s = h + (u - h) * n), (l = p)), + ("TB" !== e && "BT" !== e) || ((o = u), (a = c + (p - c) * n), (s = h), (l = p + (c - p) * n)), + { x1: u, y1: c, x2: h, y2: p, cpx1: o, cpy1: a, cpx2: s, cpy2: l } + ); + } + var YC = Vo(); + function XC(t) { + var e = t.mainData, + n = t.datas; + n || ((n = { main: e }), (t.datasAttr = { main: "data" })), + (t.datas = t.mainData = null), + $C(e, n, t), + E(n, function (n) { + E(e.TRANSFERABLE_METHODS, function (e) { + n.wrapMethod(e, H(UC, t)); + }); + }), + e.wrapMethod("cloneShallow", H(jC, t)), + E(e.CHANGABLE_METHODS, function (n) { + e.wrapMethod(n, H(ZC, t)); + }), + lt(n[e.dataType] === e); + } + function UC(t, e) { + if (YC((i = this)).mainData === i) { + var n = A({}, YC(this).datas); + (n[this.dataType] = e), $C(e, n, t); + } else JC(e, this.dataType, YC(this).mainData, t); + var i; + return e; + } + function ZC(t, e) { + return t.struct && t.struct.update(), e; + } + function jC(t, e) { + return ( + E(YC(e).datas, function (n, i) { + n !== e && JC(n.cloneShallow(), i, e, t); + }), + e + ); + } + function qC(t) { + var e = YC(this).mainData; + return null == t || null == e ? e : YC(e).datas[t]; + } + function KC() { + var t = YC(this).mainData; + return null == t + ? [{ data: t }] + : z(G(YC(t).datas), function (e) { + return { type: e, data: YC(t).datas[e] }; + }); + } + function $C(t, e, n) { + (YC(t).datas = {}), + E(e, function (e, i) { + JC(e, i, t, n); + }); + } + function JC(t, e, n, i) { + (YC(n).datas[e] = t), (YC(t).mainData = n), (t.dataType = e), i.struct && ((t[i.structAttr] = i.struct), (i.struct[i.datasAttr[e]] = t)), (t.getLinkedData = qC), (t.getLinkedDataAll = KC); + } + var QC = (function () { + function t(t, e) { + (this.depth = 0), (this.height = 0), (this.dataIndex = -1), (this.children = []), (this.viewChildren = []), (this.isExpand = !1), (this.name = t || ""), (this.hostTree = e); + } + return ( + (t.prototype.isRemoved = function () { + return this.dataIndex < 0; + }), + (t.prototype.eachNode = function (t, e, n) { + X(t) && ((n = e), (e = t), (t = null)), U((t = t || {})) && (t = { order: t }); + var i, + r = t.order || "preorder", + o = this[t.attr || "children"]; + "preorder" === r && (i = e.call(n, this)); + for (var a = 0; !i && a < o.length; a++) o[a].eachNode(t, e, n); + "postorder" === r && e.call(n, this); + }), + (t.prototype.updateDepthAndHeight = function (t) { + var e = 0; + this.depth = t; + for (var n = 0; n < this.children.length; n++) { + var i = this.children[n]; + i.updateDepthAndHeight(t + 1), i.height > e && (e = i.height); + } + this.height = e + 1; + }), + (t.prototype.getNodeById = function (t) { + if (this.getId() === t) return this; + for (var e = 0, n = this.children, i = n.length; e < i; e++) { + var r = n[e].getNodeById(t); + if (r) return r; + } + }), + (t.prototype.contains = function (t) { + if (t === this) return !0; + for (var e = 0, n = this.children, i = n.length; e < i; e++) { + var r = n[e].contains(t); + if (r) return r; + } + }), + (t.prototype.getAncestors = function (t) { + for (var e = [], n = t ? this : this.parentNode; n; ) e.push(n), (n = n.parentNode); + return e.reverse(), e; + }), + (t.prototype.getAncestorsIndices = function () { + for (var t = [], e = this; e; ) t.push(e.dataIndex), (e = e.parentNode); + return t.reverse(), t; + }), + (t.prototype.getDescendantIndices = function () { + var t = []; + return ( + this.eachNode(function (e) { + t.push(e.dataIndex); + }), + t + ); + }), + (t.prototype.getValue = function (t) { + var e = this.hostTree.data; + return e.getStore().get(e.getDimensionIndex(t || "value"), this.dataIndex); + }), + (t.prototype.setLayout = function (t, e) { + this.dataIndex >= 0 && this.hostTree.data.setItemLayout(this.dataIndex, t, e); + }), + (t.prototype.getLayout = function () { + return this.hostTree.data.getItemLayout(this.dataIndex); + }), + (t.prototype.getModel = function (t) { + if (!(this.dataIndex < 0)) return this.hostTree.data.getItemModel(this.dataIndex).getModel(t); + }), + (t.prototype.getLevelModel = function () { + return (this.hostTree.levelModels || [])[this.depth]; + }), + (t.prototype.setVisual = function (t, e) { + this.dataIndex >= 0 && this.hostTree.data.setItemVisual(this.dataIndex, t, e); + }), + (t.prototype.getVisual = function (t) { + return this.hostTree.data.getItemVisual(this.dataIndex, t); + }), + (t.prototype.getRawIndex = function () { + return this.hostTree.data.getRawIndex(this.dataIndex); + }), + (t.prototype.getId = function () { + return this.hostTree.data.getId(this.dataIndex); + }), + (t.prototype.getChildIndex = function () { + if (this.parentNode) { + for (var t = this.parentNode.children, e = 0; e < t.length; ++e) if (t[e] === this) return e; + return -1; + } + return -1; + }), + (t.prototype.isAncestorOf = function (t) { + for (var e = t.parentNode; e; ) { + if (e === this) return !0; + e = e.parentNode; + } + return !1; + }), + (t.prototype.isDescendantOf = function (t) { + return t !== this && t.isAncestorOf(this); + }), + t + ); + })(), + tD = (function () { + function t(t) { + (this.type = "tree"), (this._nodes = []), (this.hostModel = t); + } + return ( + (t.prototype.eachNode = function (t, e, n) { + this.root.eachNode(t, e, n); + }), + (t.prototype.getNodeByDataIndex = function (t) { + var e = this.data.getRawIndex(t); + return this._nodes[e]; + }), + (t.prototype.getNodeById = function (t) { + return this.root.getNodeById(t); + }), + (t.prototype.update = function () { + for (var t = this.data, e = this._nodes, n = 0, i = e.length; n < i; n++) e[n].dataIndex = -1; + for (n = 0, i = t.count(); n < i; n++) e[t.getRawIndex(n)].dataIndex = n; + }), + (t.prototype.clearLayouts = function () { + this.data.clearItemLayouts(); + }), + (t.createTree = function (e, n, i) { + var r = new t(n), + o = [], + a = 1; + !(function t(e, n) { + var i = e.value; + (a = Math.max(a, Y(i) ? i.length : 1)), o.push(e); + var s = new QC(Ro(e.name, ""), r); + n + ? (function (t, e) { + var n = e.children; + if (t.parentNode === e) return; + n.push(t), (t.parentNode = e); + })(s, n) + : (r.root = s), + r._nodes.push(s); + var l = e.children; + if (l) for (var u = 0; u < l.length; u++) t(l[u], s); + })(e), + r.root.updateDepthAndHeight(0); + var s = px(o, { coordDimensions: ["value"], dimensionsCount: a }).dimensions, + l = new cx(s, n); + return l.initData(o), i && i(l), XC({ mainData: l, struct: r, structAttr: "tree" }), r.update(), r; + }), + t + ); + })(); + function eD(t, e, n) { + if (t && P(e, t.type) >= 0) { + var i = n.getData().tree.root, + r = t.targetNode; + if ((U(r) && (r = i.getNodeById(r)), r && i.contains(r))) return { node: r }; + var o = t.targetNodeId; + if (null != o && (r = i.getNodeById(o))) return { node: r }; + } + } + function nD(t) { + for (var e = []; t; ) (t = t.parentNode) && e.push(t); + return e.reverse(); + } + function iD(t, e) { + return P(nD(t), e) >= 0; + } + function rD(t, e) { + for (var n = []; t; ) { + var i = t.dataIndex; + n.push({ name: t.name, dataIndex: i, value: e.getRawValue(i) }), (t = t.parentNode); + } + return n.reverse(), n; + } + var oD = (function (t) { + function e() { + var e = (null !== t && t.apply(this, arguments)) || this; + return (e.hasSymbolVisual = !0), (e.ignoreStyleOnData = !0), e; + } + return ( + n(e, t), + (e.prototype.getInitialData = function (t) { + var e = { name: t.name, children: t.data }, + n = t.leaves || {}, + i = new Cc(n, this, this.ecModel), + r = tD.createTree(e, this, function (t) { + t.wrapMethod("getItemModel", function (t, e) { + var n = r.getNodeByDataIndex(e); + return (n && n.children.length && n.isExpand) || (t.parentModel = i), t; + }); + }); + var o = 0; + r.eachNode("preorder", function (t) { + t.depth > o && (o = t.depth); + }); + var a = t.expandAndCollapse && t.initialTreeDepth >= 0 ? t.initialTreeDepth : o; + return ( + r.root.eachNode("preorder", function (t) { + var e = t.hostTree.data.getRawDataItem(t.dataIndex); + t.isExpand = e && null != e.collapsed ? !e.collapsed : t.depth <= a; + }), + r.data + ); + }), + (e.prototype.getOrient = function () { + var t = this.get("orient"); + return "horizontal" === t ? (t = "LR") : "vertical" === t && (t = "TB"), t; + }), + (e.prototype.setZoom = function (t) { + this.option.zoom = t; + }), + (e.prototype.setCenter = function (t) { + this.option.center = t; + }), + (e.prototype.formatTooltip = function (t, e, n) { + for (var i = this.getData().tree, r = i.root.children[0], o = i.getNodeByDataIndex(t), a = o.getValue(), s = o.name; o && o !== r; ) (s = o.parentNode.name + "." + s), (o = o.parentNode); + return og("nameValue", { name: s, value: a, noValue: isNaN(a) || null == a }); + }), + (e.prototype.getDataParams = function (e) { + var n = t.prototype.getDataParams.apply(this, arguments), + i = this.getData().tree.getNodeByDataIndex(e); + return (n.treeAncestors = rD(i, this)), (n.collapsed = !i.isExpand), n; + }), + (e.type = "series.tree"), + (e.layoutMode = "box"), + (e.defaultOption = { + z: 2, + coordinateSystem: "view", + left: "12%", + top: "12%", + right: "12%", + bottom: "12%", + layout: "orthogonal", + edgeShape: "curve", + edgeForkPosition: "50%", + roam: !1, + nodeScaleRatio: 0.4, + center: null, + zoom: 1, + orient: "LR", + symbol: "emptyCircle", + symbolSize: 7, + expandAndCollapse: !0, + initialTreeDepth: 2, + lineStyle: { color: "#ccc", width: 1.5, curveness: 0.5 }, + itemStyle: { color: "lightsteelblue", borderWidth: 1.5 }, + label: { show: !0 }, + animationEasing: "linear", + animationDuration: 700, + animationDurationUpdate: 500, + }), + e + ); + })(bg); + function aD(t, e) { + for (var n, i = [t]; (n = i.pop()); ) + if ((e(n), n.isExpand)) { + var r = n.children; + if (r.length) for (var o = r.length - 1; o >= 0; o--) i.push(r[o]); + } + } + function sD(t, e) { + t.eachSeriesByType("tree", function (t) { + !(function (t, e) { + var n = (function (t, e) { + return kp(t.getBoxLayoutParams(), { width: e.getWidth(), height: e.getHeight() }); + })(t, e); + t.layoutInfo = n; + var i = t.get("layout"), + r = 0, + o = 0, + a = null; + "radial" === i + ? ((r = 2 * Math.PI), + (o = Math.min(n.height, n.width) / 2), + (a = DC(function (t, e) { + return (t.parentNode === e.parentNode ? 1 : 2) / t.depth; + }))) + : ((r = n.width), (o = n.height), (a = DC())); + var s = t.getData().tree.root, + l = s.children[0]; + if (l) { + !(function (t) { + var e = t; + e.hierNode = { defaultAncestor: null, ancestor: e, prelim: 0, modifier: 0, change: 0, shift: 0, i: 0, thread: null }; + for (var n, i, r = [e]; (n = r.pop()); ) + if (((i = n.children), n.isExpand && i.length)) + for (var o = i.length - 1; o >= 0; o--) { + var a = i[o]; + (a.hierNode = { defaultAncestor: null, ancestor: a, prelim: 0, modifier: 0, change: 0, shift: 0, i: o, thread: null }), r.push(a); + } + })(s), + (function (t, e, n) { + for (var i, r = [t], o = []; (i = r.pop()); ) + if ((o.push(i), i.isExpand)) { + var a = i.children; + if (a.length) for (var s = 0; s < a.length; s++) r.push(a[s]); + } + for (; (i = o.pop()); ) e(i, n); + })(l, TC, a), + (s.hierNode.modifier = -l.hierNode.prelim), + aD(l, CC); + var u = l, + h = l, + c = l; + aD(l, function (t) { + var e = t.getLayout().x; + e < u.getLayout().x && (u = t), e > h.getLayout().x && (h = t), t.depth > c.depth && (c = t); + }); + var p = u === h ? 1 : a(u, h) / 2, + d = p - u.getLayout().x, + f = 0, + g = 0, + y = 0, + v = 0; + if ("radial" === i) + (f = r / (h.getLayout().x + p + d)), + (g = o / (c.depth - 1 || 1)), + aD(l, function (t) { + (y = (t.getLayout().x + d) * f), (v = (t.depth - 1) * g); + var e = AC(y, v); + t.setLayout({ x: e.x, y: e.y, rawX: y, rawY: v }, !0); + }); + else { + var m = t.getOrient(); + "RL" === m || "LR" === m + ? ((g = o / (h.getLayout().x + p + d)), + (f = r / (c.depth - 1 || 1)), + aD(l, function (t) { + (v = (t.getLayout().x + d) * g), (y = "LR" === m ? (t.depth - 1) * f : r - (t.depth - 1) * f), t.setLayout({ x: y, y: v }, !0); + })) + : ("TB" !== m && "BT" !== m) || + ((f = r / (h.getLayout().x + p + d)), + (g = o / (c.depth - 1 || 1)), + aD(l, function (t) { + (y = (t.getLayout().x + d) * f), (v = "TB" === m ? (t.depth - 1) * g : o - (t.depth - 1) * g), t.setLayout({ x: y, y: v }, !0); + })); + } + } + })(t, e); + }); + } + function lD(t) { + t.eachSeriesByType("tree", function (t) { + var e = t.getData(); + e.tree.eachNode(function (t) { + var n = t.getModel().getModel("itemStyle").getItemStyle(); + A(e.ensureUniqueItemVisual(t.dataIndex, "style"), n); + }); + }); + } + var uD = ["treemapZoomToNode", "treemapRender", "treemapMove"]; + function hD(t) { + var e = t.getData().tree, + n = {}; + e.eachNode(function (e) { + for (var i = e; i && i.depth > 1; ) i = i.parentNode; + var r = pd(t.ecModel, i.name || i.dataIndex + "", n); + e.setVisual("decal", r); + }); + } + var cD = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), (n.preventUsingHoverLayer = !0), n; + } + return ( + n(e, t), + (e.prototype.getInitialData = function (t, e) { + var n = { name: t.name, children: t.data }; + pD(n); + var i = t.levels || [], + r = (this.designatedVisualItemStyle = {}), + o = new Cc({ itemStyle: r }, this, e); + i = t.levels = (function (t, e) { + var n, + i, + r = To(e.get("color")), + o = To(e.get(["aria", "decal", "decals"])); + if (!r) return; + (t = t || []), + E(t, function (t) { + var e = new Cc(t), + r = e.get("color"), + o = e.get("decal"); + (e.get(["itemStyle", "color"]) || (r && "none" !== r)) && (n = !0), (e.get(["itemStyle", "decal"]) || (o && "none" !== o)) && (i = !0); + }); + var a = t[0] || (t[0] = {}); + n || (a.color = r.slice()); + !i && o && (a.decal = o.slice()); + return t; + })(i, e); + var a = z( + i || [], + function (t) { + return new Cc(t, o, e); + }, + this + ), + s = tD.createTree(n, this, function (t) { + t.wrapMethod("getItemModel", function (t, e) { + var n = s.getNodeByDataIndex(e), + i = n ? a[n.depth] : null; + return (t.parentModel = i || o), t; + }); + }); + return s.data; + }), + (e.prototype.optionUpdated = function () { + this.resetViewRoot(); + }), + (e.prototype.formatTooltip = function (t, e, n) { + var i = this.getData(), + r = this.getRawValue(t); + return og("nameValue", { name: i.getName(t), value: r }); + }), + (e.prototype.getDataParams = function (e) { + var n = t.prototype.getDataParams.apply(this, arguments), + i = this.getData().tree.getNodeByDataIndex(e); + return (n.treeAncestors = rD(i, this)), (n.treePathInfo = n.treeAncestors), n; + }), + (e.prototype.setLayoutInfo = function (t) { + (this.layoutInfo = this.layoutInfo || {}), A(this.layoutInfo, t); + }), + (e.prototype.mapIdToIndex = function (t) { + var e = this._idIndexMap; + e || ((e = this._idIndexMap = yt()), (this._idIndexMapCount = 0)); + var n = e.get(t); + return null == n && e.set(t, (n = this._idIndexMapCount++)), n; + }), + (e.prototype.getViewRoot = function () { + return this._viewRoot; + }), + (e.prototype.resetViewRoot = function (t) { + t ? (this._viewRoot = t) : (t = this._viewRoot); + var e = this.getRawData().tree.root; + (t && (t === e || e.contains(t))) || (this._viewRoot = e); + }), + (e.prototype.enableAriaDecal = function () { + hD(this); + }), + (e.type = "series.treemap"), + (e.layoutMode = "box"), + (e.defaultOption = { + progressive: 0, + left: "center", + top: "middle", + width: "80%", + height: "80%", + sort: !0, + clipWindow: "origin", + squareRatio: 0.5 * (1 + Math.sqrt(5)), + leafDepth: null, + drillDownIcon: "▶", + zoomToNodeRatio: 0.1024, + roam: !0, + nodeClick: "zoomToNode", + animation: !0, + animationDurationUpdate: 900, + animationEasing: "quinticInOut", + breadcrumb: { show: !0, height: 22, left: "center", top: "bottom", emptyItemWidth: 25, itemStyle: { color: "rgba(0,0,0,0.7)", textStyle: { color: "#fff" } }, emphasis: { itemStyle: { color: "rgba(0,0,0,0.9)" } } }, + label: { show: !0, distance: 0, padding: 5, position: "inside", color: "#fff", overflow: "truncate" }, + upperLabel: { show: !1, position: [0, "50%"], height: 20, overflow: "truncate", verticalAlign: "middle" }, + itemStyle: { color: null, colorAlpha: null, colorSaturation: null, borderWidth: 0, gapWidth: 0, borderColor: "#fff", borderColorSaturation: null }, + emphasis: { upperLabel: { show: !0, position: [0, "50%"], overflow: "truncate", verticalAlign: "middle" } }, + visualDimension: 0, + visualMin: null, + visualMax: null, + color: [], + colorAlpha: null, + colorSaturation: null, + colorMappingBy: "index", + visibleMin: 10, + childrenVisibleMin: null, + levels: [], + }), + e + ); + })(bg); + function pD(t) { + var e = 0; + E(t.children, function (t) { + pD(t); + var n = t.value; + Y(n) && (n = n[0]), (e += n); + }); + var n = t.value; + Y(n) && (n = n[0]), (null == n || isNaN(n)) && (n = e), n < 0 && (n = 0), Y(t.value) ? (t.value[0] = n) : (t.value = n); + } + var dD = (function () { + function t(t) { + (this.group = new Br()), t.add(this.group); + } + return ( + (t.prototype.render = function (t, e, n, i) { + var r = t.getModel("breadcrumb"), + o = this.group; + if ((o.removeAll(), r.get("show") && n)) { + var a = r.getModel("itemStyle"), + s = r.getModel("emphasis"), + l = a.getModel("textStyle"), + u = s.getModel(["itemStyle", "textStyle"]), + h = { + pos: { left: r.get("left"), right: r.get("right"), top: r.get("top"), bottom: r.get("bottom") }, + box: { width: e.getWidth(), height: e.getHeight() }, + emptyItemWidth: r.get("emptyItemWidth"), + totalWidth: 0, + renderList: [], + }; + this._prepare(n, h, l), this._renderContent(t, h, a, s, l, u, i), Lp(o, h.pos, h.box); + } + }), + (t.prototype._prepare = function (t, e, n) { + for (var i = t; i; i = i.parentNode) { + var r = Ro(i.getModel().get("name"), ""), + o = n.getTextRect(r), + a = Math.max(o.width + 16, e.emptyItemWidth); + (e.totalWidth += a + 8), e.renderList.push({ node: i, text: r, width: a }); + } + }), + (t.prototype._renderContent = function (t, e, n, i, r, o, a) { + for ( + var s, + l, + u, + h, + c, + p, + d, + f, + g, + y = 0, + v = e.emptyItemWidth, + m = t.get(["breadcrumb", "height"]), + x = + ((s = e.pos), + (l = e.box), + (h = l.width), + (c = l.height), + (p = $r(s.left, h)), + (d = $r(s.top, c)), + (f = $r(s.right, h)), + (g = $r(s.bottom, c)), + (isNaN(p) || isNaN(parseFloat(s.left))) && (p = 0), + (isNaN(f) || isNaN(parseFloat(s.right))) && (f = h), + (isNaN(d) || isNaN(parseFloat(s.top))) && (d = 0), + (isNaN(g) || isNaN(parseFloat(s.bottom))) && (g = c), + (u = vp(u || 0)), + { width: Math.max(f - p - u[1] - u[3], 0), height: Math.max(g - d - u[0] - u[2], 0) }), + _ = e.totalWidth, + b = e.renderList, + w = i.getModel("itemStyle").getItemStyle(), + S = b.length - 1; + S >= 0; + S-- + ) { + var M = b[S], + I = M.node, + T = M.width, + C = M.text; + _ > x.width && ((_ -= T - v), (T = v), (C = null)); + var D = new Xu({ + shape: { points: fD(y, 0, T, m, S === b.length - 1, 0 === S) }, + style: k(n.getItemStyle(), { lineJoin: "bevel" }), + textContent: new Xs({ style: oc(r, { text: C }) }), + textConfig: { position: "inside" }, + z2: 1e5, + onclick: H(a, I), + }); + (D.disableLabelAnimation = !0), + (D.getTextContent().ensureState("emphasis").style = oc(o, { text: C })), + (D.ensureState("emphasis").style = w), + Zl(D, i.get("focus"), i.get("blurScope"), i.get("disabled")), + this.group.add(D), + gD(D, t, I), + (y += T + 8); + } + }), + (t.prototype.remove = function () { + this.group.removeAll(); + }), + t + ); + })(); + function fD(t, e, n, i, r, o) { + var a = [ + [r ? t : t - 5, e], + [t + n, e], + [t + n, e + i], + [r ? t : t - 5, e + i], + ]; + return !o && a.splice(2, 0, [t + n + 5, e + i / 2]), !r && a.push([t, e + i / 2]), a; + } + function gD(t, e, n) { + rl(t).eventData = { + componentType: "series", + componentSubType: "treemap", + componentIndex: e.componentIndex, + seriesIndex: e.seriesIndex, + seriesName: e.name, + seriesType: "treemap", + selfType: "breadcrumb", + nodeData: { dataIndex: n && n.dataIndex, name: n && n.name }, + treePathInfo: n && rD(n, e), + }; + } + var yD = (function () { + function t() { + (this._storage = []), (this._elExistsMap = {}); + } + return ( + (t.prototype.add = function (t, e, n, i, r) { + return !this._elExistsMap[t.id] && ((this._elExistsMap[t.id] = !0), this._storage.push({ el: t, target: e, duration: n, delay: i, easing: r }), !0); + }), + (t.prototype.finished = function (t) { + return (this._finishedCallback = t), this; + }), + (t.prototype.start = function () { + for ( + var t = this, + e = this._storage.length, + n = function () { + --e <= 0 && ((t._storage.length = 0), (t._elExistsMap = {}), t._finishedCallback && t._finishedCallback()); + }, + i = 0, + r = this._storage.length; + i < r; + i++ + ) { + var o = this._storage[i]; + o.el.animateTo(o.target, { duration: o.duration, delay: o.delay, easing: o.easing, setToFinal: !0, done: n, aborted: n }); + } + return this; + }), + t + ); + })(); + var vD = Br, + mD = Ws, + xD = "label", + _D = "upperLabel", + bD = ia([["fill", "color"], ["stroke", "strokeColor"], ["lineWidth", "strokeWidth"], ["shadowBlur"], ["shadowOffsetX"], ["shadowOffsetY"], ["shadowColor"]]), + wD = function (t) { + var e = bD(t); + return (e.stroke = e.fill = e.lineWidth = null), e; + }, + SD = Vo(), + MD = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), (n._state = "ready"), (n._storage = { nodeGroup: [], background: [], content: [] }), n; + } + return ( + n(e, t), + (e.prototype.render = function (t, e, n, i) { + if (!(P(e.findComponents({ mainType: "series", subType: "treemap", query: i }), t) < 0)) { + (this.seriesModel = t), (this.api = n), (this.ecModel = e); + var r = eD(i, ["treemapZoomToNode", "treemapRootToNode"], t), + o = i && i.type, + a = t.layoutInfo, + s = !this._oldTree, + l = this._storage, + u = "treemapRootToNode" === o && r && l ? { rootNodeGroup: l.nodeGroup[r.node.getRawIndex()], direction: i.direction } : null, + h = this._giveContainerGroup(a), + c = t.get("animation"), + p = this._doRender(h, t, u); + !c || s || (o && "treemapZoomToNode" !== o && "treemapRootToNode" !== o) ? p.renderFinally() : this._doAnimation(h, p, t, u), this._resetController(n), this._renderBreadcrumb(t, n, r); + } + }), + (e.prototype._giveContainerGroup = function (t) { + var e = this._containerGroup; + return e || ((e = this._containerGroup = new vD()), this._initEvents(e), this.group.add(e)), (e.x = t.x), (e.y = t.y), e; + }), + (e.prototype._doRender = function (t, e, n) { + var i = e.getData().tree, + r = this._oldTree, + o = { nodeGroup: [], background: [], content: [] }, + a = { nodeGroup: [], background: [], content: [] }, + s = this._storage, + l = []; + function u(t, i, r, u) { + return (function (t, e, n, i, r, o, a, s, l, u) { + if (!a) return; + var h = a.getLayout(), + c = t.getData(), + p = a.getModel(); + if ((c.setItemGraphicEl(a.dataIndex, null), !h || !h.isInView)) return; + var d = h.width, + f = h.height, + g = h.borderWidth, + y = h.invisible, + v = a.getRawIndex(), + m = s && s.getRawIndex(), + x = a.viewChildren, + _ = h.upperHeight, + b = x && x.length, + w = p.getModel("itemStyle"), + S = p.getModel(["emphasis", "itemStyle"]), + M = p.getModel(["blur", "itemStyle"]), + I = p.getModel(["select", "itemStyle"]), + T = w.get("borderRadius") || 0, + C = G("nodeGroup", vD); + if (!C) return; + if ((l.add(C), (C.x = h.x || 0), (C.y = h.y || 0), C.markRedraw(), (SD(C).nodeWidth = d), (SD(C).nodeHeight = f), h.isAboveViewRoot)) return C; + var D = G("background", mD, u, 20); + D && E(C, D, b && h.upperLabelHeight); + var k = p.getModel("emphasis"), + L = k.get("focus"), + P = k.get("blurScope"), + O = k.get("disabled"), + R = "ancestor" === L ? a.getAncestorsIndices() : "descendant" === L ? a.getDescendantIndices() : L; + if (b) Ql(C) && Jl(C, !1), D && (Jl(D, !O), c.setItemGraphicEl(a.dataIndex, D), jl(D, R, P)); + else { + var N = G("content", mD, u, 30); + N && z(C, N), (D.disableMorphing = !0), D && Ql(D) && Jl(D, !1), Jl(C, !O), c.setItemGraphicEl(a.dataIndex, C), jl(C, R, P); + } + return C; + function E(e, n, i) { + var r = rl(n); + if (((r.dataIndex = a.dataIndex), (r.seriesIndex = t.seriesIndex), n.setShape({ x: 0, y: 0, width: d, height: f, r: T }), y)) V(n); + else { + n.invisible = !1; + var o = a.getVisual("style"), + s = o.stroke, + l = wD(w); + l.fill = s; + var u = bD(S); + u.fill = S.get("borderColor"); + var h = bD(M); + h.fill = M.get("borderColor"); + var c = bD(I); + if (((c.fill = I.get("borderColor")), i)) { + var p = d - 2 * g; + B(n, s, o.opacity, { x: g, y: 0, width: p, height: _ }); + } else n.removeTextContent(); + n.setStyle(l), (n.ensureState("emphasis").style = u), (n.ensureState("blur").style = h), (n.ensureState("select").style = c), kl(n); + } + e.add(n); + } + function z(e, n) { + var i = rl(n); + (i.dataIndex = a.dataIndex), (i.seriesIndex = t.seriesIndex); + var r = Math.max(d - 2 * g, 0), + o = Math.max(f - 2 * g, 0); + if (((n.culling = !0), n.setShape({ x: g, y: g, width: r, height: o, r: T }), y)) V(n); + else { + n.invisible = !1; + var s = a.getVisual("style"), + l = s.fill, + u = wD(w); + (u.fill = l), (u.decal = s.decal); + var h = bD(S), + c = bD(M), + p = bD(I); + B(n, l, s.opacity, null), n.setStyle(u), (n.ensureState("emphasis").style = h), (n.ensureState("blur").style = c), (n.ensureState("select").style = p), kl(n); + } + e.add(n); + } + function V(t) { + !t.invisible && o.push(t); + } + function B(e, n, i, r) { + var o = p.getModel(r ? _D : xD), + s = Ro(p.get("name"), null), + l = o.getShallow("show"); + ic(e, rc(p, r ? _D : xD), { defaultText: l ? s : null, inheritColor: n, defaultOpacity: i, labelFetcher: t, labelDataIndex: a.dataIndex }); + var u = e.getTextContent(); + if (u) { + var c = u.style, + d = st(c.padding || 0); + r && (e.setTextConfig({ layoutRect: r }), (u.disableLabelLayout = !0)), + (u.beforeUpdate = function () { + var t = Math.max((r ? r.width : e.shape.width) - d[1] - d[3], 0), + n = Math.max((r ? r.height : e.shape.height) - d[0] - d[2], 0); + (c.width === t && c.height === n) || u.setStyle({ width: t, height: n }); + }), + (c.truncateMinChar = 2), + (c.lineOverflow = "truncate"), + F(c, r, h); + var f = u.getState("emphasis"); + F(f ? f.style : null, r, h); + } + } + function F(e, n, i) { + var r = e ? e.text : null; + if (!n && i.isLeafRoot && null != r) { + var o = t.get("drillDownIcon", !0); + e.text = o ? o + " " + r : r; + } + } + function G(t, i, o, a) { + var s = null != m && n[t][m], + l = r[t]; + return ( + s + ? ((n[t][m] = null), W(l, s)) + : y || + ((s = new i()) instanceof Da && + (s.z2 = (function (t, e) { + return 100 * t + e; + })(o, a)), + H(l, s)), + (e[t][v] = s) + ); + } + function W(t, e) { + var n = (t[v] = {}); + e instanceof vD ? ((n.oldX = e.x), (n.oldY = e.y)) : (n.oldShape = A({}, e.shape)); + } + function H(t, e) { + var n = (t[v] = {}), + o = a.parentNode, + s = e instanceof Br; + if (o && (!i || "drillDown" === i.direction)) { + var l = 0, + u = 0, + h = r.background[o.getRawIndex()]; + !i && h && h.oldShape && ((l = h.oldShape.width), (u = h.oldShape.height)), s ? ((n.oldX = 0), (n.oldY = u)) : (n.oldShape = { x: l, y: u, width: 0, height: 0 }); + } + n.fadein = !s; + } + })(e, a, s, n, o, l, t, i, r, u); + } + !(function t(e, n, i, r, o) { + r + ? ((n = e), + E(e, function (t, e) { + !t.isRemoved() && s(e, e); + })) + : new Gm(n, e, a, a).add(s).update(s).remove(H(s, null)).execute(); + function a(t) { + return t.getId(); + } + function s(a, s) { + var l = null != a ? e[a] : null, + h = null != s ? n[s] : null, + c = u(l, h, i, o); + c && t((l && l.viewChildren) || [], (h && h.viewChildren) || [], c, r, o + 1); + } + })(i.root ? [i.root] : [], r && r.root ? [r.root] : [], t, i === r || !r, 0); + var h = (function (t) { + var e = { nodeGroup: [], background: [], content: [] }; + return ( + t && + E(t, function (t, n) { + var i = e[n]; + E(t, function (t) { + t && (i.push(t), (SD(t).willDelete = !0)); + }); + }), + e + ); + })(s); + return ( + (this._oldTree = i), + (this._storage = a), + { + lastsForAnimation: o, + willDeleteEls: h, + renderFinally: function () { + E(h, function (t) { + E(t, function (t) { + t.parent && t.parent.remove(t); + }); + }), + E(l, function (t) { + (t.invisible = !0), t.dirty(); + }); + }, + } + ); + }), + (e.prototype._doAnimation = function (t, e, n, i) { + var r = n.get("animationDurationUpdate"), + o = n.get("animationEasing"), + a = (X(r) ? 0 : r) || 0, + s = (X(o) ? null : o) || "cubicOut", + l = new yD(); + E(e.willDeleteEls, function (t, e) { + E(t, function (t, n) { + if (!t.invisible) { + var r, + o = t.parent, + u = SD(o); + if (i && "drillDown" === i.direction) r = o === i.rootNodeGroup ? { shape: { x: 0, y: 0, width: u.nodeWidth, height: u.nodeHeight }, style: { opacity: 0 } } : { style: { opacity: 0 } }; + else { + var h = 0, + c = 0; + u.willDelete || ((h = u.nodeWidth / 2), (c = u.nodeHeight / 2)), (r = "nodeGroup" === e ? { x: h, y: c, style: { opacity: 0 } } : { shape: { x: h, y: c, width: 0, height: 0 }, style: { opacity: 0 } }); + } + r && l.add(t, r, a, 0, s); + } + }); + }), + E( + this._storage, + function (t, n) { + E(t, function (t, i) { + var r = e.lastsForAnimation[n][i], + o = {}; + r && + (t instanceof Br + ? null != r.oldX && ((o.x = t.x), (o.y = t.y), (t.x = r.oldX), (t.y = r.oldY)) + : (r.oldShape && ((o.shape = A({}, t.shape)), t.setShape(r.oldShape)), r.fadein ? (t.setStyle("opacity", 0), (o.style = { opacity: 1 })) : 1 !== t.style.opacity && (o.style = { opacity: 1 })), + l.add(t, o, a, 0, s)); + }); + }, + this + ), + (this._state = "animating"), + l + .finished( + W(function () { + (this._state = "ready"), e.renderFinally(); + }, this) + ) + .start(); + }), + (e.prototype._resetController = function (t) { + var e = this._controller; + e || ((e = this._controller = new tT(t.getZr())).enable(this.seriesModel.get("roam")), e.on("pan", W(this._onPan, this)), e.on("zoom", W(this._onZoom, this))); + var n = new ze(0, 0, t.getWidth(), t.getHeight()); + e.setPointerChecker(function (t, e, i) { + return n.contain(e, i); + }); + }), + (e.prototype._clearController = function () { + var t = this._controller; + t && (t.dispose(), (t = null)); + }), + (e.prototype._onPan = function (t) { + if ("animating" !== this._state && (Math.abs(t.dx) > 3 || Math.abs(t.dy) > 3)) { + var e = this.seriesModel.getData().tree.root; + if (!e) return; + var n = e.getLayout(); + if (!n) return; + this.api.dispatchAction({ type: "treemapMove", from: this.uid, seriesId: this.seriesModel.id, rootRect: { x: n.x + t.dx, y: n.y + t.dy, width: n.width, height: n.height } }); + } + }), + (e.prototype._onZoom = function (t) { + var e = t.originX, + n = t.originY; + if ("animating" !== this._state) { + var i = this.seriesModel.getData().tree.root; + if (!i) return; + var r = i.getLayout(); + if (!r) return; + var o = new ze(r.x, r.y, r.width, r.height), + a = this.seriesModel.layoutInfo, + s = [1, 0, 0, 1, 0, 0]; + we(s, s, [-(e -= a.x), -(n -= a.y)]), + Me(s, s, [t.scale, t.scale]), + we(s, s, [e, n]), + o.applyTransform(s), + this.api.dispatchAction({ type: "treemapRender", from: this.uid, seriesId: this.seriesModel.id, rootRect: { x: o.x, y: o.y, width: o.width, height: o.height } }); + } + }), + (e.prototype._initEvents = function (t) { + var e = this; + t.on( + "click", + function (t) { + if ("ready" === e._state) { + var n = e.seriesModel.get("nodeClick", !0); + if (n) { + var i = e.findTarget(t.offsetX, t.offsetY); + if (i) { + var r = i.node; + if (r.getLayout().isLeafRoot) e._rootToNode(i); + else if ("zoomToNode" === n) e._zoomToNode(i); + else if ("link" === n) { + var o = r.hostTree.data.getItemModel(r.dataIndex), + a = o.get("link", !0), + s = o.get("target", !0) || "blank"; + a && Mp(a, s); + } + } + } + } + }, + this + ); + }), + (e.prototype._renderBreadcrumb = function (t, e, n) { + var i = this; + n || (n = null != t.get("leafDepth", !0) ? { node: t.getViewRoot() } : this.findTarget(e.getWidth() / 2, e.getHeight() / 2)) || (n = { node: t.getData().tree.root }), + (this._breadcrumb || (this._breadcrumb = new dD(this.group))).render(t, e, n.node, function (e) { + "animating" !== i._state && (iD(t.getViewRoot(), e) ? i._rootToNode({ node: e }) : i._zoomToNode({ node: e })); + }); + }), + (e.prototype.remove = function () { + this._clearController(), this._containerGroup && this._containerGroup.removeAll(), (this._storage = { nodeGroup: [], background: [], content: [] }), (this._state = "ready"), this._breadcrumb && this._breadcrumb.remove(); + }), + (e.prototype.dispose = function () { + this._clearController(); + }), + (e.prototype._zoomToNode = function (t) { + this.api.dispatchAction({ type: "treemapZoomToNode", from: this.uid, seriesId: this.seriesModel.id, targetNode: t.node }); + }), + (e.prototype._rootToNode = function (t) { + this.api.dispatchAction({ type: "treemapRootToNode", from: this.uid, seriesId: this.seriesModel.id, targetNode: t.node }); + }), + (e.prototype.findTarget = function (t, e) { + var n; + return ( + this.seriesModel.getViewRoot().eachNode( + { attr: "viewChildren", order: "preorder" }, + function (i) { + var r = this._storage.background[i.getRawIndex()]; + if (r) { + var o = r.transformCoordToLocal(t, e), + a = r.shape; + if (!(a.x <= o[0] && o[0] <= a.x + a.width && a.y <= o[1] && o[1] <= a.y + a.height)) return !1; + n = { node: i, offsetX: o[0], offsetY: o[1] }; + } + }, + this + ), + n + ); + }), + (e.type = "treemap"), + e + ); + })(Og); + var ID = E, + TD = q, + CD = -1, + DD = (function () { + function t(e) { + var n = e.mappingMethod, + i = e.type, + r = (this.option = T(e)); + (this.type = i), (this.mappingMethod = n), (this._normalizeData = VD[n]); + var o = t.visualHandlers[i]; + (this.applyVisual = o.applyVisual), + (this.getColorMapper = o.getColorMapper), + (this._normalizedToVisual = o._normalizedToVisual[n]), + "piecewise" === n + ? (AD(r), + (function (t) { + var e = t.pieceList; + (t.hasSpecialVisual = !1), + E(e, function (e, n) { + (e.originIndex = n), null != e.visual && (t.hasSpecialVisual = !0); + }); + })(r)) + : "category" === n + ? r.categories + ? (function (t) { + var e = t.categories, + n = (t.categoryMap = {}), + i = t.visual; + if ( + (ID(e, function (t, e) { + n[t] = e; + }), + !Y(i)) + ) { + var r = []; + q(i) + ? ID(i, function (t, e) { + var i = n[e]; + r[null != i ? i : CD] = t; + }) + : (r[-1] = i), + (i = zD(t, r)); + } + for (var o = e.length - 1; o >= 0; o--) null == i[o] && (delete n[e[o]], e.pop()); + })(r) + : AD(r, !0) + : (lt("linear" !== n || r.dataExtent), AD(r)); + } + return ( + (t.prototype.mapValueToVisual = function (t) { + var e = this._normalizeData(t); + return this._normalizedToVisual(e, t); + }), + (t.prototype.getNormalizer = function () { + return W(this._normalizeData, this); + }), + (t.listVisualTypes = function () { + return G(t.visualHandlers); + }), + (t.isValidType = function (e) { + return t.visualHandlers.hasOwnProperty(e); + }), + (t.eachVisual = function (t, e, n) { + q(t) ? E(t, e, n) : e.call(n, t); + }), + (t.mapVisual = function (e, n, i) { + var r, + o = Y(e) ? [] : q(e) ? {} : ((r = !0), null); + return ( + t.eachVisual(e, function (t, e) { + var a = n.call(i, t, e); + r ? (o = a) : (o[e] = a); + }), + o + ); + }), + (t.retrieveVisuals = function (e) { + var n, + i = {}; + return ( + e && + ID(t.visualHandlers, function (t, r) { + e.hasOwnProperty(r) && ((i[r] = e[r]), (n = !0)); + }), + n ? i : null + ); + }), + (t.prepareVisualTypes = function (t) { + if (Y(t)) t = t.slice(); + else { + if (!TD(t)) return []; + var e = []; + ID(t, function (t, n) { + e.push(n); + }), + (t = e); + } + return ( + t.sort(function (t, e) { + return "color" === e && "color" !== t && 0 === t.indexOf("color") ? 1 : -1; + }), + t + ); + }), + (t.dependsOn = function (t, e) { + return "color" === e ? !(!t || 0 !== t.indexOf(e)) : t === e; + }), + (t.findPieceIndex = function (t, e, n) { + for (var i, r = 1 / 0, o = 0, a = e.length; o < a; o++) { + var s = e[o].value; + if (null != s) { + if (s === t || (U(s) && s === t + "")) return o; + n && c(s, o); + } + } + for (o = 0, a = e.length; o < a; o++) { + var l = e[o], + u = l.interval, + h = l.close; + if (u) { + if (u[0] === -1 / 0) { + if (BD(h[1], t, u[1])) return o; + } else if (u[1] === 1 / 0) { + if (BD(h[0], u[0], t)) return o; + } else if (BD(h[0], u[0], t) && BD(h[1], t, u[1])) return o; + n && c(u[0], o), n && c(u[1], o); + } + } + if (n) return t === 1 / 0 ? e.length - 1 : t === -1 / 0 ? 0 : i; + function c(e, n) { + var o = Math.abs(e - t); + o < r && ((r = o), (i = n)); + } + }), + (t.visualHandlers = { + color: { + applyVisual: PD("color"), + getColorMapper: function () { + var t = this.option; + return W( + "category" === t.mappingMethod + ? function (t, e) { + return !e && (t = this._normalizeData(t)), OD.call(this, t); + } + : function (e, n, i) { + var r = !!i; + return !n && (e = this._normalizeData(e)), (i = Jn(e, t.parsedVisual, i)), r ? i : ri(i, "rgba"); + }, + this + ); + }, + _normalizedToVisual: { + linear: function (t) { + return ri(Jn(t, this.option.parsedVisual), "rgba"); + }, + category: OD, + piecewise: function (t, e) { + var n = ED.call(this, e); + return null == n && (n = ri(Jn(t, this.option.parsedVisual), "rgba")), n; + }, + fixed: RD, + }, + }, + colorHue: kD(function (t, e) { + return ni(t, e); + }), + colorSaturation: kD(function (t, e) { + return ni(t, null, e); + }), + colorLightness: kD(function (t, e) { + return ni(t, null, null, e); + }), + colorAlpha: kD(function (t, e) { + return ii(t, e); + }), + decal: { applyVisual: PD("decal"), _normalizedToVisual: { linear: null, category: OD, piecewise: null, fixed: null } }, + opacity: { applyVisual: PD("opacity"), _normalizedToVisual: ND([0, 1]) }, + liftZ: { applyVisual: PD("liftZ"), _normalizedToVisual: { linear: RD, category: RD, piecewise: RD, fixed: RD } }, + symbol: { + applyVisual: function (t, e, n) { + n("symbol", this.mapValueToVisual(t)); + }, + _normalizedToVisual: { + linear: LD, + category: OD, + piecewise: function (t, e) { + var n = ED.call(this, e); + return null == n && (n = LD.call(this, t)), n; + }, + fixed: RD, + }, + }, + symbolSize: { applyVisual: PD("symbolSize"), _normalizedToVisual: ND([0, 1]) }, + }), + t + ); + })(); + function AD(t, e) { + var n = t.visual, + i = []; + q(n) + ? ID(n, function (t) { + i.push(t); + }) + : null != n && i.push(n); + e || 1 !== i.length || { color: 1, symbol: 1 }.hasOwnProperty(t.type) || (i[1] = i[0]), zD(t, i); + } + function kD(t) { + return { + applyVisual: function (e, n, i) { + var r = this.mapValueToVisual(e); + i("color", t(n("color"), r)); + }, + _normalizedToVisual: ND([0, 1]), + }; + } + function LD(t) { + var e = this.option.visual; + return e[Math.round(Kr(t, [0, 1], [0, e.length - 1], !0))] || {}; + } + function PD(t) { + return function (e, n, i) { + i(t, this.mapValueToVisual(e)); + }; + } + function OD(t) { + var e = this.option.visual; + return e[this.option.loop && t !== CD ? t % e.length : t]; + } + function RD() { + return this.option.visual[0]; + } + function ND(t) { + return { + linear: function (e) { + return Kr(e, t, this.option.visual, !0); + }, + category: OD, + piecewise: function (e, n) { + var i = ED.call(this, n); + return null == i && (i = Kr(e, t, this.option.visual, !0)), i; + }, + fixed: RD, + }; + } + function ED(t) { + var e = this.option, + n = e.pieceList; + if (e.hasSpecialVisual) { + var i = n[DD.findPieceIndex(t, n)]; + if (i && i.visual) return i.visual[this.type]; + } + } + function zD(t, e) { + return ( + (t.visual = e), + "color" === t.type && + (t.parsedVisual = z(e, function (t) { + var e = qn(t); + return e || [0, 0, 0, 1]; + })), + e + ); + } + var VD = { + linear: function (t) { + return Kr(t, this.option.dataExtent, [0, 1], !0); + }, + piecewise: function (t) { + var e = this.option.pieceList, + n = DD.findPieceIndex(t, e, !0); + if (null != n) return Kr(n, [0, e.length - 1], [0, 1], !0); + }, + category: function (t) { + var e = this.option.categories ? this.option.categoryMap[t] : t; + return null == e ? CD : e; + }, + fixed: bt, + }; + function BD(t, e, n) { + return t ? e <= n : e < n; + } + var FD = Vo(), + GD = { + seriesType: "treemap", + reset: function (t) { + var e = t.getData().tree.root; + e.isRemoved() || WD(e, {}, t.getViewRoot().getAncestors(), t); + }, + }; + function WD(t, e, n, i) { + var r = t.getModel(), + o = t.getLayout(), + a = t.hostTree.data; + if (o && !o.invisible && o.isInView) { + var s, + l = r.getModel("itemStyle"), + u = (function (t, e, n) { + var i = A({}, e), + r = n.designatedVisualItemStyle; + return ( + E(["color", "colorAlpha", "colorSaturation"], function (n) { + r[n] = e[n]; + var o = t.get(n); + (r[n] = null), null != o && (i[n] = o); + }), + i + ); + })(l, e, i), + h = a.ensureUniqueItemVisual(t.dataIndex, "style"), + c = l.get("borderColor"), + p = l.get("borderColorSaturation"); + null != p && + (c = (function (t, e) { + return null != e ? ni(e, null, null, t) : null; + })(p, (s = HD(u)))), + (h.stroke = c); + var d = t.viewChildren; + if (d && d.length) { + var f = (function (t, e, n, i, r, o) { + if (!o || !o.length) return; + var a = XD(e, "color") || (null != r.color && "none" !== r.color && (XD(e, "colorAlpha") || XD(e, "colorSaturation"))); + if (!a) return; + var s = e.get("visualMin"), + l = e.get("visualMax"), + u = n.dataExtent.slice(); + null != s && s < u[0] && (u[0] = s), null != l && l > u[1] && (u[1] = l); + var h = e.get("colorMappingBy"), + c = { type: a.name, dataExtent: u, visual: a.range }; + "color" !== c.type || ("index" !== h && "id" !== h) ? (c.mappingMethod = "linear") : ((c.mappingMethod = "category"), (c.loop = !0)); + var p = new DD(c); + return (FD(p).drColorMappingBy = h), p; + })(0, r, o, 0, u, d); + E(d, function (t, e) { + if (t.depth >= n.length || t === n[t.depth]) { + var o = (function (t, e, n, i, r, o) { + var a = A({}, e); + if (r) { + var s = r.type, + l = "color" === s && FD(r).drColorMappingBy, + u = "index" === l ? i : "id" === l ? o.mapIdToIndex(n.getId()) : n.getValue(t.get("visualDimension")); + a[s] = r.mapValueToVisual(u); + } + return a; + })(r, u, t, e, f, i); + WD(t, o, n, i); + } + }); + } else (s = HD(u)), (h.fill = s); + } + } + function HD(t) { + var e = YD(t, "color"); + if (e) { + var n = YD(t, "colorAlpha"), + i = YD(t, "colorSaturation"); + return i && (e = ni(e, null, null, i)), n && (e = ii(e, n)), e; + } + } + function YD(t, e) { + var n = t[e]; + if (null != n && "none" !== n) return n; + } + function XD(t, e) { + var n = t.get(e); + return Y(n) && n.length ? { name: e, range: n } : null; + } + var UD = Math.max, + ZD = Math.min, + jD = it, + qD = E, + KD = ["itemStyle", "borderWidth"], + $D = ["itemStyle", "gapWidth"], + JD = ["upperLabel", "show"], + QD = ["upperLabel", "height"], + tA = { + seriesType: "treemap", + reset: function (t, e, n, i) { + var r = n.getWidth(), + o = n.getHeight(), + a = t.option, + s = kp(t.getBoxLayoutParams(), { width: n.getWidth(), height: n.getHeight() }), + l = a.size || [], + u = $r(jD(s.width, l[0]), r), + h = $r(jD(s.height, l[1]), o), + c = i && i.type, + p = eD(i, ["treemapZoomToNode", "treemapRootToNode"], t), + d = "treemapRender" === c || "treemapMove" === c ? i.rootRect : null, + f = t.getViewRoot(), + g = nD(f); + if ("treemapMove" !== c) { + var y = + "treemapZoomToNode" === c + ? (function (t, e, n, i, r) { + var o, + a = (e || {}).node, + s = [i, r]; + if (!a || a === n) return s; + var l = i * r, + u = l * t.option.zoomToNodeRatio; + for (; (o = a.parentNode); ) { + for (var h = 0, c = o.children, p = 0, d = c.length; p < d; p++) h += c[p].getValue(); + var f = a.getValue(); + if (0 === f) return s; + u *= h / f; + var g = o.getModel(), + y = g.get(KD); + (u += 4 * y * y + (3 * y + Math.max(y, oA(g))) * Math.pow(u, 0.5)) > oo && (u = oo), (a = o); + } + u < l && (u = l); + var v = Math.pow(u / l, 0.5); + return [i * v, r * v]; + })(t, p, f, u, h) + : d + ? [d.width, d.height] + : [u, h], + v = a.sort; + v && "asc" !== v && "desc" !== v && (v = "desc"); + var m = { squareRatio: a.squareRatio, sort: v, leafDepth: a.leafDepth }; + f.hostTree.clearLayouts(); + var x = { x: 0, y: 0, width: y[0], height: y[1], area: y[0] * y[1] }; + f.setLayout(x), + eA(f, m, !1, 0), + (x = f.getLayout()), + qD(g, function (t, e) { + var n = (g[e + 1] || f).getValue(); + t.setLayout(A({ dataExtent: [n, n], borderWidth: 0, upperHeight: 0 }, x)); + }); + } + var _ = t.getData().tree.root; + _.setLayout( + (function (t, e, n) { + if (e) return { x: e.x, y: e.y }; + var i = { x: 0, y: 0 }; + if (!n) return i; + var r = n.node, + o = r.getLayout(); + if (!o) return i; + var a = [o.width / 2, o.height / 2], + s = r; + for (; s; ) { + var l = s.getLayout(); + (a[0] += l.x), (a[1] += l.y), (s = s.parentNode); + } + return { x: t.width / 2 - a[0], y: t.height / 2 - a[1] }; + })(s, d, p), + !0 + ), + t.setLayoutInfo(s), + rA(_, new ze(-s.x, -s.y, r, o), g, f, 0); + }, + }; + function eA(t, e, n, i) { + var r, o; + if (!t.isRemoved()) { + var a = t.getLayout(); + (r = a.width), (o = a.height); + var s = t.getModel(), + l = s.get(KD), + u = s.get($D) / 2, + h = oA(s), + c = Math.max(l, h), + p = l - u, + d = c - u; + t.setLayout({ borderWidth: l, upperHeight: c, upperLabelHeight: h }, !0); + var f = (r = UD(r - 2 * p, 0)) * (o = UD(o - p - d, 0)), + g = (function (t, e, n, i, r, o) { + var a = t.children || [], + s = i.sort; + "asc" !== s && "desc" !== s && (s = null); + var l = null != i.leafDepth && i.leafDepth <= o; + if (r && !l) return (t.viewChildren = []); + (a = B(a, function (t) { + return !t.isRemoved(); + })), + (function (t, e) { + e && + t.sort(function (t, n) { + var i = "asc" === e ? t.getValue() - n.getValue() : n.getValue() - t.getValue(); + return 0 === i ? ("asc" === e ? t.dataIndex - n.dataIndex : n.dataIndex - t.dataIndex) : i; + }); + })(a, s); + var u = (function (t, e, n) { + for (var i = 0, r = 0, o = e.length; r < o; r++) i += e[r].getValue(); + var a, + s = t.get("visualDimension"); + e && e.length + ? "value" === s && n + ? ((a = [e[e.length - 1].getValue(), e[0].getValue()]), "asc" === n && a.reverse()) + : ((a = [1 / 0, -1 / 0]), + qD(e, function (t) { + var e = t.getValue(s); + e < a[0] && (a[0] = e), e > a[1] && (a[1] = e); + })) + : (a = [NaN, NaN]); + return { sum: i, dataExtent: a }; + })(e, a, s); + if (0 === u.sum) return (t.viewChildren = []); + if ( + ((u.sum = (function (t, e, n, i, r) { + if (!i) return n; + for (var o = t.get("visibleMin"), a = r.length, s = a, l = a - 1; l >= 0; l--) { + var u = r["asc" === i ? a - l - 1 : l].getValue(); + (u / n) * e < o && ((s = l), (n -= u)); + } + return "asc" === i ? r.splice(0, a - s) : r.splice(s, a - s), n; + })(e, n, u.sum, s, a)), + 0 === u.sum) + ) + return (t.viewChildren = []); + for (var h = 0, c = a.length; h < c; h++) { + var p = (a[h].getValue() / u.sum) * n; + a[h].setLayout({ area: p }); + } + l && (a.length && t.setLayout({ isLeafRoot: !0 }, !0), (a.length = 0)); + return (t.viewChildren = a), t.setLayout({ dataExtent: u.dataExtent }, !0), a; + })(t, s, f, e, n, i); + if (g.length) { + var y = { x: p, y: d, width: r, height: o }, + v = ZD(r, o), + m = 1 / 0, + x = []; + x.area = 0; + for (var _ = 0, b = g.length; _ < b; ) { + var w = g[_]; + x.push(w), (x.area += w.getLayout().area); + var S = nA(x, v, e.squareRatio); + S <= m ? (_++, (m = S)) : ((x.area -= x.pop().getLayout().area), iA(x, v, y, u, !1), (v = ZD(y.width, y.height)), (x.length = x.area = 0), (m = 1 / 0)); + } + if ((x.length && iA(x, v, y, u, !0), !n)) { + var M = s.get("childrenVisibleMin"); + null != M && f < M && (n = !0); + } + for (_ = 0, b = g.length; _ < b; _++) eA(g[_], e, n, i + 1); + } + } + } + function nA(t, e, n) { + for (var i = 0, r = 1 / 0, o = 0, a = void 0, s = t.length; o < s; o++) (a = t[o].getLayout().area) && (a < r && (r = a), a > i && (i = a)); + var l = t.area * t.area, + u = e * e * n; + return l ? UD((u * i) / l, l / (u * r)) : 1 / 0; + } + function iA(t, e, n, i, r) { + var o = e === n.width ? 0 : 1, + a = 1 - o, + s = ["x", "y"], + l = ["width", "height"], + u = n[s[o]], + h = e ? t.area / e : 0; + (r || h > n[l[a]]) && (h = n[l[a]]); + for (var c = 0, p = t.length; c < p; c++) { + var d = t[c], + f = {}, + g = h ? d.getLayout().area / h : 0, + y = (f[l[a]] = UD(h - 2 * i, 0)), + v = n[s[o]] + n[l[o]] - u, + m = c === p - 1 || v < g ? v : g, + x = (f[l[o]] = UD(m - 2 * i, 0)); + (f[s[a]] = n[s[a]] + ZD(i, y / 2)), (f[s[o]] = u + ZD(i, x / 2)), (u += m), d.setLayout(f, !0); + } + (n[s[a]] += h), (n[l[a]] -= h); + } + function rA(t, e, n, i, r) { + var o = t.getLayout(), + a = n[r], + s = a && a === t; + if (!((a && !s) || (r === n.length && t !== i))) { + t.setLayout({ isInView: !0, invisible: !s && !e.intersect(o), isAboveViewRoot: s }, !0); + var l = new ze(e.x - o.x, e.y - o.y, e.width, e.height); + qD(t.viewChildren || [], function (t) { + rA(t, l, n, i, r + 1); + }); + } + } + function oA(t) { + return t.get(JD) ? t.get(QD) : 0; + } + function aA(t) { + var e = t.findComponents({ mainType: "legend" }); + e && + e.length && + t.eachSeriesByType("graph", function (t) { + var n = t.getCategoriesData(), + i = t.getGraph().data, + r = n.mapArray(n.getName); + i.filterSelf(function (t) { + var n = i.getItemModel(t).getShallow("category"); + if (null != n) { + j(n) && (n = r[n]); + for (var o = 0; o < e.length; o++) if (!e[o].isSelected(n)) return !1; + } + return !0; + }); + }); + } + function sA(t) { + var e = {}; + t.eachSeriesByType("graph", function (t) { + var n = t.getCategoriesData(), + i = t.getData(), + r = {}; + n.each(function (i) { + var o = n.getName(i); + r["ec-" + o] = i; + var a = n.getItemModel(i), + s = a.getModel("itemStyle").getItemStyle(); + s.fill || (s.fill = t.getColorFromPalette(o, e)), n.setItemVisual(i, "style", s); + for (var l = ["symbol", "symbolSize", "symbolKeepAspect"], u = 0; u < l.length; u++) { + var h = a.getShallow(l[u], !0); + null != h && n.setItemVisual(i, l[u], h); + } + }), + n.count() && + i.each(function (t) { + var e = i.getItemModel(t).getShallow("category"); + if (null != e) { + U(e) && (e = r["ec-" + e]); + var o = n.getItemVisual(e, "style"); + A(i.ensureUniqueItemVisual(t, "style"), o); + for (var a = ["symbol", "symbolSize", "symbolKeepAspect"], s = 0; s < a.length; s++) i.setItemVisual(t, a[s], n.getItemVisual(e, a[s])); + } + }); + }); + } + function lA(t) { + return t instanceof Array || (t = [t, t]), t; + } + function uA(t) { + t.eachSeriesByType("graph", function (t) { + var e = t.getGraph(), + n = t.getEdgeData(), + i = lA(t.get("edgeSymbol")), + r = lA(t.get("edgeSymbolSize")); + n.setVisual("fromSymbol", i && i[0]), + n.setVisual("toSymbol", i && i[1]), + n.setVisual("fromSymbolSize", r && r[0]), + n.setVisual("toSymbolSize", r && r[1]), + n.setVisual("style", t.getModel("lineStyle").getLineStyle()), + n.each(function (t) { + var i = n.getItemModel(t), + r = e.getEdgeByIndex(t), + o = lA(i.getShallow("symbol", !0)), + a = lA(i.getShallow("symbolSize", !0)), + s = i.getModel("lineStyle").getLineStyle(), + l = n.ensureUniqueItemVisual(t, "style"); + switch ((A(l, s), l.stroke)) { + case "source": + var u = r.node1.getVisual("style"); + l.stroke = u && u.fill; + break; + case "target": + u = r.node2.getVisual("style"); + l.stroke = u && u.fill; + } + o[0] && r.setVisual("fromSymbol", o[0]), o[1] && r.setVisual("toSymbol", o[1]), a[0] && r.setVisual("fromSymbolSize", a[0]), a[1] && r.setVisual("toSymbolSize", a[1]); + }); + }); + } + var hA = "--\x3e", + cA = function (t) { + return t.get("autoCurveness") || null; + }, + pA = function (t, e) { + var n = cA(t), + i = 20, + r = []; + if (j(n)) i = n; + else if (Y(n)) return void (t.__curvenessList = n); + e > i && (i = e); + var o = i % 2 ? i + 2 : i + 3; + r = []; + for (var a = 0; a < o; a++) r.push(((a % 2 ? a + 1 : a) / 10) * (a % 2 ? -1 : 1)); + t.__curvenessList = r; + }, + dA = function (t, e, n) { + var i = [t.id, t.dataIndex].join("."), + r = [e.id, e.dataIndex].join("."); + return [n.uid, i, r].join(hA); + }, + fA = function (t) { + var e = t.split(hA); + return [e[0], e[2], e[1]].join(hA); + }, + gA = function (t, e) { + var n = e.__edgeMap; + return n[t] ? n[t].length : 0; + }; + function yA(t, e, n, i) { + var r = cA(e), + o = Y(r); + if (!r) return null; + var a = (function (t, e) { + var n = dA(t.node1, t.node2, e); + return e.__edgeMap[n]; + })(t, e); + if (!a) return null; + for (var s = -1, l = 0; l < a.length; l++) + if (a[l] === n) { + s = l; + break; + } + var u = (function (t, e) { + return gA(dA(t.node1, t.node2, e), e) + gA(dA(t.node2, t.node1, e), e); + })(t, e); + pA(e, u), (t.lineStyle = t.lineStyle || {}); + var h = dA(t.node1, t.node2, e), + c = e.__curvenessList, + p = o || u % 2 ? 0 : 1; + if (a.isForward) return c[p + s]; + var d = fA(h), + f = gA(d, e), + g = c[s + f + p]; + return i ? (o ? (r && 0 === r[0] ? ((f + p) % 2 ? g : -g) : ((f % 2 ? 0 : 1) + p) % 2 ? g : -g) : (f + p) % 2 ? g : -g) : c[s + f + p]; + } + function vA(t) { + var e = t.coordinateSystem; + if (!e || "view" === e.type) { + var n = t.getGraph(); + n.eachNode(function (t) { + var e = t.getModel(); + t.setLayout([+e.get("x"), +e.get("y")]); + }), + mA(n, t); + } + } + function mA(t, e) { + t.eachEdge(function (t, n) { + var i = ot(t.getModel().get(["lineStyle", "curveness"]), -yA(t, e, n, !0), 0), + r = Tt(t.node1.getLayout()), + o = Tt(t.node2.getLayout()), + a = [r, o]; + +i && a.push([(r[0] + o[0]) / 2 - (r[1] - o[1]) * i, (r[1] + o[1]) / 2 - (o[0] - r[0]) * i]), t.setLayout(a); + }); + } + function xA(t, e) { + t.eachSeriesByType("graph", function (t) { + var e = t.get("layout"), + n = t.coordinateSystem; + if (n && "view" !== n.type) { + var i = t.getData(), + r = []; + E(n.dimensions, function (t) { + r = r.concat(i.mapDimensionsAll(t)); + }); + for (var o = 0; o < i.count(); o++) { + for (var a = [], s = !1, l = 0; l < r.length; l++) { + var u = i.get(r[l], o); + isNaN(u) || (s = !0), a.push(u); + } + s ? i.setItemLayout(o, n.dataToPoint(a)) : i.setItemLayout(o, [NaN, NaN]); + } + mA(i.graph, t); + } else (e && "none" !== e) || vA(t); + }); + } + function _A(t) { + var e = t.coordinateSystem; + if ("view" !== e.type) return 1; + var n = t.option.nodeScaleRatio, + i = e.scaleX; + return ((e.getZoom() - 1) * n + 1) / i; + } + function bA(t) { + var e = t.getVisual("symbolSize"); + return e instanceof Array && (e = (e[0] + e[1]) / 2), +e; + } + var wA = Math.PI, + SA = []; + function MA(t, e, n, i) { + var r = t.coordinateSystem; + if (!r || "view" === r.type) { + var o = r.getBoundingRect(), + a = t.getData(), + s = a.graph, + l = o.width / 2 + o.x, + u = o.height / 2 + o.y, + h = Math.min(o.width, o.height) / 2, + c = a.count(); + if ((a.setLayout({ cx: l, cy: u }), c)) { + if (n) { + var p = r.pointToData(i), + d = p[0], + f = p[1], + g = [d - l, f - u]; + Et(g, g), Nt(g, g, h), n.setLayout([l + g[0], u + g[1]], !0), TA(n, t.get(["circular", "rotateLabel"]), l, u); + } + IA[e](t, s, a, h, l, u, c), + s.eachEdge(function (e, n) { + var i, + r = ot(e.getModel().get(["lineStyle", "curveness"]), yA(e, t, n), 0), + o = Tt(e.node1.getLayout()), + a = Tt(e.node2.getLayout()), + s = (o[0] + a[0]) / 2, + h = (o[1] + a[1]) / 2; + +r && (i = [l * (r *= 3) + s * (1 - r), u * r + h * (1 - r)]), e.setLayout([o, a, i]); + }); + } + } + } + var IA = { + value: function (t, e, n, i, r, o, a) { + var s = 0, + l = n.getSum("value"), + u = (2 * Math.PI) / (l || a); + e.eachNode(function (t) { + var e = t.getValue("value"), + n = (u * (l ? e : 1)) / 2; + (s += n), t.setLayout([i * Math.cos(s) + r, i * Math.sin(s) + o]), (s += n); + }); + }, + symbolSize: function (t, e, n, i, r, o, a) { + var s = 0; + SA.length = a; + var l = _A(t); + e.eachNode(function (t) { + var e = bA(t); + isNaN(e) && (e = 2), e < 0 && (e = 0), (e *= l); + var n = Math.asin(e / 2 / i); + isNaN(n) && (n = wA / 2), (SA[t.dataIndex] = n), (s += 2 * n); + }); + var u = (2 * wA - s) / a / 2, + h = 0; + e.eachNode(function (t) { + var e = u + SA[t.dataIndex]; + (h += e), (!t.getLayout() || !t.getLayout().fixed) && t.setLayout([i * Math.cos(h) + r, i * Math.sin(h) + o]), (h += e); + }); + }, + }; + function TA(t, e, n, i) { + var r = t.getGraphicEl(); + if (r) { + var o = t.getModel().get(["label", "rotate"]) || 0, + a = r.getSymbolPath(); + if (e) { + var s = t.getLayout(), + l = Math.atan2(s[1] - i, s[0] - n); + l < 0 && (l = 2 * Math.PI + l); + var u = s[0] < n; + u && (l -= Math.PI); + var h = u ? "left" : "right"; + a.setTextConfig({ rotation: -l, position: h, origin: "center" }); + var c = a.ensureState("emphasis"); + A(c.textConfig || (c.textConfig = {}), { position: h }); + } else a.setTextConfig({ rotation: (o *= Math.PI / 180) }); + } + } + function CA(t) { + t.eachSeriesByType("graph", function (t) { + "circular" === t.get("layout") && MA(t, "symbolSize"); + }); + } + var DA = At; + function AA(t) { + t.eachSeriesByType("graph", function (t) { + var e = t.coordinateSystem; + if (!e || "view" === e.type) + if ("force" === t.get("layout")) { + var n = t.preservedPoints || {}, + i = t.getGraph(), + r = i.data, + o = i.edgeData, + a = t.getModel("force"), + s = a.get("initLayout"); + t.preservedPoints + ? r.each(function (t) { + var e = r.getId(t); + r.setItemLayout(t, n[e] || [NaN, NaN]); + }) + : s && "none" !== s + ? "circular" === s && MA(t, "value") + : vA(t); + var l = r.getDataExtent("value"), + u = o.getDataExtent("value"), + h = a.get("repulsion"), + c = a.get("edgeLength"), + p = Y(h) ? h : [h, h], + d = Y(c) ? c : [c, c]; + d = [d[1], d[0]]; + var f = r.mapArray("value", function (t, e) { + var n = r.getItemLayout(e), + i = Kr(t, l, p); + return isNaN(i) && (i = (p[0] + p[1]) / 2), { w: i, rep: i, fixed: r.getItemModel(e).get("fixed"), p: !n || isNaN(n[0]) || isNaN(n[1]) ? null : n }; + }), + g = o.mapArray("value", function (e, n) { + var r = i.getEdgeByIndex(n), + o = Kr(e, u, d); + isNaN(o) && (o = (d[0] + d[1]) / 2); + var a = r.getModel(), + s = ot(r.getModel().get(["lineStyle", "curveness"]), -yA(r, t, n, !0), 0); + return { n1: f[r.node1.dataIndex], n2: f[r.node2.dataIndex], d: o, curveness: s, ignoreForceLayout: a.get("ignoreForceLayout") }; + }), + y = e.getBoundingRect(), + v = (function (t, e, n) { + for (var i = t, r = e, o = n.rect, a = o.width, s = o.height, l = [o.x + a / 2, o.y + s / 2], u = null == n.gravity ? 0.1 : n.gravity, h = 0; h < i.length; h++) { + var c = i[h]; + c.p || (c.p = Mt(a * (Math.random() - 0.5) + l[0], s * (Math.random() - 0.5) + l[1])), (c.pp = Tt(c.p)), (c.edges = null); + } + var p, + d, + f = null == n.friction ? 0.6 : n.friction, + g = f; + return { + warmUp: function () { + g = 0.8 * f; + }, + setFixed: function (t) { + i[t].fixed = !0; + }, + setUnfixed: function (t) { + i[t].fixed = !1; + }, + beforeStep: function (t) { + p = t; + }, + afterStep: function (t) { + d = t; + }, + step: function (t) { + p && p(i, r); + for (var e = [], n = i.length, o = 0; o < r.length; o++) { + var a = r[o]; + if (!a.ignoreForceLayout) { + var s = a.n1; + kt(e, (y = a.n2).p, s.p); + var h = Lt(e) - a.d, + c = y.w / (s.w + y.w); + isNaN(c) && (c = 0), Et(e, e), !s.fixed && DA(s.p, s.p, e, c * h * g), !y.fixed && DA(y.p, y.p, e, -(1 - c) * h * g); + } + } + for (o = 0; o < n; o++) (x = i[o]).fixed || (kt(e, l, x.p), DA(x.p, x.p, e, u * g)); + for (o = 0; o < n; o++) { + s = i[o]; + for (var f = o + 1; f < n; f++) { + var y; + kt(e, (y = i[f]).p, s.p), 0 === (h = Lt(e)) && (Ct(e, Math.random() - 0.5, Math.random() - 0.5), (h = 1)); + var v = (s.rep + y.rep) / h / h; + !s.fixed && DA(s.pp, s.pp, e, v), !y.fixed && DA(y.pp, y.pp, e, -v); + } + } + var m = []; + for (o = 0; o < n; o++) { + var x; + (x = i[o]).fixed || (kt(m, x.p, x.pp), DA(x.p, x.p, m, g), It(x.pp, x.p)); + } + var _ = (g *= 0.992) < 0.01; + d && d(i, r, _), t && t(_); + }, + }; + })(f, g, { rect: y, gravity: a.get("gravity"), friction: a.get("friction") }); + v.beforeStep(function (t, e) { + for (var n = 0, r = t.length; n < r; n++) t[n].fixed && It(t[n].p, i.getNodeByIndex(n).getLayout()); + }), + v.afterStep(function (t, e, o) { + for (var a = 0, s = t.length; a < s; a++) t[a].fixed || i.getNodeByIndex(a).setLayout(t[a].p), (n[r.getId(a)] = t[a].p); + for (a = 0, s = e.length; a < s; a++) { + var l = e[a], + u = i.getEdgeByIndex(a), + h = l.n1.p, + c = l.n2.p, + p = u.getLayout(); + ((p = p ? p.slice() : [])[0] = p[0] || []), + (p[1] = p[1] || []), + It(p[0], h), + It(p[1], c), + +l.curveness && (p[2] = [(h[0] + c[0]) / 2 - (h[1] - c[1]) * l.curveness, (h[1] + c[1]) / 2 - (c[0] - h[0]) * l.curveness]), + u.setLayout(p); + } + }), + (t.forceLayout = v), + (t.preservedPoints = n), + v.step(); + } else t.forceLayout = null; + }); + } + function kA(t, e) { + var n = []; + return ( + t.eachSeriesByType("graph", function (t) { + var i = t.get("coordinateSystem"); + if (!i || "view" === i) { + var r = t.getData(), + o = [], + a = []; + Ba( + r.mapArray(function (t) { + var e = r.getItemModel(t); + return [+e.get("x"), +e.get("y")]; + }), + o, + a + ), + a[0] - o[0] == 0 && ((a[0] += 1), (o[0] -= 1)), + a[1] - o[1] == 0 && ((a[1] += 1), (o[1] -= 1)); + var s = (a[0] - o[0]) / (a[1] - o[1]), + l = (function (t, e, n) { + return kp(A(t.getBoxLayoutParams(), { aspect: n }), { width: e.getWidth(), height: e.getHeight() }); + })(t, e, s); + isNaN(s) && ((o = [l.x, l.y]), (a = [l.x + l.width, l.y + l.height])); + var u = a[0] - o[0], + h = a[1] - o[1], + c = l.width, + p = l.height, + d = (t.coordinateSystem = new cC()); + (d.zoomLimit = t.get("scaleLimit")), d.setBoundingRect(o[0], o[1], u, h), d.setViewRect(l.x, l.y, c, p), d.setCenter(t.get("center"), e), d.setZoom(t.get("zoom")), n.push(d); + } + }), + n + ); + } + var LA = Ku.prototype, + PA = th.prototype, + OA = function () { + (this.x1 = 0), (this.y1 = 0), (this.x2 = 0), (this.y2 = 0), (this.percent = 1); + }; + !(function (t) { + function e() { + return (null !== t && t.apply(this, arguments)) || this; + } + n(e, t); + })(OA); + function RA(t) { + return isNaN(+t.cpx1) || isNaN(+t.cpy1); + } + var NA = (function (t) { + function e(e) { + var n = t.call(this, e) || this; + return (n.type = "ec-line"), n; + } + return ( + n(e, t), + (e.prototype.getDefaultStyle = function () { + return { stroke: "#000", fill: null }; + }), + (e.prototype.getDefaultShape = function () { + return new OA(); + }), + (e.prototype.buildPath = function (t, e) { + RA(e) ? LA.buildPath.call(this, t, e) : PA.buildPath.call(this, t, e); + }), + (e.prototype.pointAt = function (t) { + return RA(this.shape) ? LA.pointAt.call(this, t) : PA.pointAt.call(this, t); + }), + (e.prototype.tangentAt = function (t) { + var e = this.shape, + n = RA(e) ? [e.x2 - e.x1, e.y2 - e.y1] : PA.tangentAt.call(this, t); + return Et(n, n); + }), + e + ); + })(ks), + EA = ["fromSymbol", "toSymbol"]; + function zA(t) { + return "_" + t + "Type"; + } + function VA(t, e, n) { + var i = e.getItemVisual(n, t); + if (!i || "none" === i) return i; + var r = e.getItemVisual(n, t + "Size"), + o = e.getItemVisual(n, t + "Rotate"), + a = e.getItemVisual(n, t + "Offset"), + s = e.getItemVisual(n, t + "KeepAspect"), + l = Uy(r); + return i + l + Zy(a || 0, l) + (o || "") + (s || ""); + } + function BA(t, e, n) { + var i = e.getItemVisual(n, t); + if (i && "none" !== i) { + var r = e.getItemVisual(n, t + "Size"), + o = e.getItemVisual(n, t + "Rotate"), + a = e.getItemVisual(n, t + "Offset"), + s = e.getItemVisual(n, t + "KeepAspect"), + l = Uy(r), + u = Zy(a || 0, l), + h = Xy(i, -l[0] / 2 + u[0], -l[1] / 2 + u[1], l[0], l[1], null, s); + return (h.__specifiedRotation = null == o || isNaN(o) ? void 0 : (+o * Math.PI) / 180 || 0), (h.name = t), h; + } + } + function FA(t, e) { + (t.x1 = e[0][0]), (t.y1 = e[0][1]), (t.x2 = e[1][0]), (t.y2 = e[1][1]), (t.percent = 1); + var n = e[2]; + n ? ((t.cpx1 = n[0]), (t.cpy1 = n[1])) : ((t.cpx1 = NaN), (t.cpy1 = NaN)); + } + var GA = (function (t) { + function e(e, n, i) { + var r = t.call(this) || this; + return r._createLine(e, n, i), r; + } + return ( + n(e, t), + (e.prototype._createLine = function (t, e, n) { + var i = t.hostModel, + r = (function (t) { + var e = new NA({ name: "line", subPixelOptimize: !0 }); + return FA(e.shape, t), e; + })(t.getItemLayout(e)); + (r.shape.percent = 0), + mh(r, { shape: { percent: 1 } }, i, e), + this.add(r), + E( + EA, + function (n) { + var i = BA(n, t, e); + this.add(i), (this[zA(n)] = VA(n, t, e)); + }, + this + ), + this._updateCommonStl(t, e, n); + }), + (e.prototype.updateData = function (t, e, n) { + var i = t.hostModel, + r = this.childOfName("line"), + o = t.getItemLayout(e), + a = { shape: {} }; + FA(a.shape, o), + vh(r, a, i, e), + E( + EA, + function (n) { + var i = VA(n, t, e), + r = zA(n); + if (this[r] !== i) { + this.remove(this.childOfName(n)); + var o = BA(n, t, e); + this.add(o); + } + this[r] = i; + }, + this + ), + this._updateCommonStl(t, e, n); + }), + (e.prototype.getLinePath = function () { + return this.childAt(0); + }), + (e.prototype._updateCommonStl = function (t, e, n) { + var i = t.hostModel, + r = this.childOfName("line"), + o = n && n.emphasisLineStyle, + a = n && n.blurLineStyle, + s = n && n.selectLineStyle, + l = n && n.labelStatesModels, + u = n && n.emphasisDisabled, + h = n && n.focus, + c = n && n.blurScope; + if (!n || t.hasItemOption) { + var p = t.getItemModel(e), + d = p.getModel("emphasis"); + (o = d.getModel("lineStyle").getLineStyle()), + (a = p.getModel(["blur", "lineStyle"]).getLineStyle()), + (s = p.getModel(["select", "lineStyle"]).getLineStyle()), + (u = d.get("disabled")), + (h = d.get("focus")), + (c = d.get("blurScope")), + (l = rc(p)); + } + var f = t.getItemVisual(e, "style"), + g = f.stroke; + r.useStyle(f), + (r.style.fill = null), + (r.style.strokeNoScale = !0), + (r.ensureState("emphasis").style = o), + (r.ensureState("blur").style = a), + (r.ensureState("select").style = s), + E( + EA, + function (t) { + var e = this.childOfName(t); + if (e) { + e.setColor(g), (e.style.opacity = f.opacity); + for (var n = 0; n < hl.length; n++) { + var i = hl[n], + o = r.getState(i); + if (o) { + var a = o.style || {}, + s = e.ensureState(i), + l = s.style || (s.style = {}); + null != a.stroke && (l[e.__isEmptyBrush ? "stroke" : "fill"] = a.stroke), null != a.opacity && (l.opacity = a.opacity); + } + } + e.markRedraw(); + } + }, + this + ); + var y = i.getRawValue(e); + ic(this, l, { + labelDataIndex: e, + labelFetcher: { + getFormattedLabel: function (e, n) { + return i.getFormattedLabel(e, n, t.dataType); + }, + }, + inheritColor: g || "#000", + defaultOpacity: f.opacity, + defaultText: (null == y ? t.getName(e) : isFinite(y) ? Jr(y) : y) + "", + }); + var v = this.getTextContent(); + if (v) { + var m = l.normal; + (v.__align = v.style.align), (v.__verticalAlign = v.style.verticalAlign), (v.__position = m.get("position") || "middle"); + var x = m.get("distance"); + Y(x) || (x = [x, x]), (v.__labelDistance = x); + } + this.setTextConfig({ position: null, local: !0, inside: !1 }), Zl(this, h, c, u); + }), + (e.prototype.highlight = function () { + Ol(this); + }), + (e.prototype.downplay = function () { + Rl(this); + }), + (e.prototype.updateLayout = function (t, e) { + this.setLinePoints(t.getItemLayout(e)); + }), + (e.prototype.setLinePoints = function (t) { + var e = this.childOfName("line"); + FA(e.shape, t), e.dirty(); + }), + (e.prototype.beforeUpdate = function () { + var t = this, + e = t.childOfName("fromSymbol"), + n = t.childOfName("toSymbol"), + i = t.getTextContent(); + if (e || n || (i && !i.ignore)) { + for (var r = 1, o = this.parent; o; ) o.scaleX && (r /= o.scaleX), (o = o.parent); + var a = t.childOfName("line"); + if (this.__dirty || a.__dirty) { + var s = a.shape.percent, + l = a.pointAt(0), + u = a.pointAt(s), + h = kt([], u, l); + if ((Et(h, h), e && (e.setPosition(l), S(e, 0), (e.scaleX = e.scaleY = r * s), e.markRedraw()), n && (n.setPosition(u), S(n, 1), (n.scaleX = n.scaleY = r * s), n.markRedraw()), i && !i.ignore)) { + (i.x = i.y = 0), (i.originX = i.originY = 0); + var c = void 0, + p = void 0, + d = i.__labelDistance, + f = d[0] * r, + g = d[1] * r, + y = s / 2, + v = a.tangentAt(y), + m = [v[1], -v[0]], + x = a.pointAt(y); + m[1] > 0 && ((m[0] = -m[0]), (m[1] = -m[1])); + var _ = v[0] < 0 ? -1 : 1; + if ("start" !== i.__position && "end" !== i.__position) { + var b = -Math.atan2(v[1], v[0]); + u[0] < l[0] && (b = Math.PI + b), (i.rotation = b); + } + var w = void 0; + switch (i.__position) { + case "insideStartTop": + case "insideMiddleTop": + case "insideEndTop": + case "middle": + (w = -g), (p = "bottom"); + break; + case "insideStartBottom": + case "insideMiddleBottom": + case "insideEndBottom": + (w = g), (p = "top"); + break; + default: + (w = 0), (p = "middle"); + } + switch (i.__position) { + case "end": + (i.x = h[0] * f + u[0]), (i.y = h[1] * g + u[1]), (c = h[0] > 0.8 ? "left" : h[0] < -0.8 ? "right" : "center"), (p = h[1] > 0.8 ? "top" : h[1] < -0.8 ? "bottom" : "middle"); + break; + case "start": + (i.x = -h[0] * f + l[0]), (i.y = -h[1] * g + l[1]), (c = h[0] > 0.8 ? "right" : h[0] < -0.8 ? "left" : "center"), (p = h[1] > 0.8 ? "bottom" : h[1] < -0.8 ? "top" : "middle"); + break; + case "insideStartTop": + case "insideStart": + case "insideStartBottom": + (i.x = f * _ + l[0]), (i.y = l[1] + w), (c = v[0] < 0 ? "right" : "left"), (i.originX = -f * _), (i.originY = -w); + break; + case "insideMiddleTop": + case "insideMiddle": + case "insideMiddleBottom": + case "middle": + (i.x = x[0]), (i.y = x[1] + w), (c = "center"), (i.originY = -w); + break; + case "insideEndTop": + case "insideEnd": + case "insideEndBottom": + (i.x = -f * _ + u[0]), (i.y = u[1] + w), (c = v[0] >= 0 ? "right" : "left"), (i.originX = f * _), (i.originY = -w); + } + (i.scaleX = i.scaleY = r), i.setStyle({ verticalAlign: i.__verticalAlign || p, align: i.__align || c }); + } + } + } + function S(t, e) { + var n = t.__specifiedRotation; + if (null == n) { + var i = a.tangentAt(e); + t.attr("rotation", ((1 === e ? -1 : 1) * Math.PI) / 2 - Math.atan2(i[1], i[0])); + } else t.attr("rotation", n); + } + }), + e + ); + })(Br), + WA = (function () { + function t(t) { + (this.group = new Br()), (this._LineCtor = t || GA); + } + return ( + (t.prototype.updateData = function (t) { + var e = this; + this._progressiveEls = null; + var n = this, + i = n.group, + r = n._lineData; + (n._lineData = t), r || i.removeAll(); + var o = HA(t); + t.diff(r) + .add(function (n) { + e._doAdd(t, n, o); + }) + .update(function (n, i) { + e._doUpdate(r, t, i, n, o); + }) + .remove(function (t) { + i.remove(r.getItemGraphicEl(t)); + }) + .execute(); + }), + (t.prototype.updateLayout = function () { + var t = this._lineData; + t && + t.eachItemGraphicEl(function (e, n) { + e.updateLayout(t, n); + }, this); + }), + (t.prototype.incrementalPrepareUpdate = function (t) { + (this._seriesScope = HA(t)), (this._lineData = null), this.group.removeAll(); + }), + (t.prototype.incrementalUpdate = function (t, e) { + function n(t) { + t.isGroup || + (function (t) { + return t.animators && t.animators.length > 0; + })(t) || + ((t.incremental = !0), (t.ensureState("emphasis").hoverLayer = !0)); + } + this._progressiveEls = []; + for (var i = t.start; i < t.end; i++) { + if (XA(e.getItemLayout(i))) { + var r = new this._LineCtor(e, i, this._seriesScope); + r.traverse(n), this.group.add(r), e.setItemGraphicEl(i, r), this._progressiveEls.push(r); + } + } + }), + (t.prototype.remove = function () { + this.group.removeAll(); + }), + (t.prototype.eachRendered = function (t) { + Jh(this._progressiveEls || this.group, t); + }), + (t.prototype._doAdd = function (t, e, n) { + if (XA(t.getItemLayout(e))) { + var i = new this._LineCtor(t, e, n); + t.setItemGraphicEl(e, i), this.group.add(i); + } + }), + (t.prototype._doUpdate = function (t, e, n, i, r) { + var o = t.getItemGraphicEl(n); + XA(e.getItemLayout(i)) ? (o ? o.updateData(e, i, r) : (o = new this._LineCtor(e, i, r)), e.setItemGraphicEl(i, o), this.group.add(o)) : this.group.remove(o); + }), + t + ); + })(); + function HA(t) { + var e = t.hostModel, + n = e.getModel("emphasis"); + return { + lineStyle: e.getModel("lineStyle").getLineStyle(), + emphasisLineStyle: n.getModel(["lineStyle"]).getLineStyle(), + blurLineStyle: e.getModel(["blur", "lineStyle"]).getLineStyle(), + selectLineStyle: e.getModel(["select", "lineStyle"]).getLineStyle(), + emphasisDisabled: n.get("disabled"), + blurScope: n.get("blurScope"), + focus: n.get("focus"), + labelStatesModels: rc(e), + }; + } + function YA(t) { + return isNaN(t[0]) || isNaN(t[1]); + } + function XA(t) { + return t && !YA(t[0]) && !YA(t[1]); + } + var UA = [], + ZA = [], + jA = [], + qA = In, + KA = Ft, + $A = Math.abs; + function JA(t, e, n) { + for (var i, r = t[0], o = t[1], a = t[2], s = 1 / 0, l = n * n, u = 0.1, h = 0.1; h <= 0.9; h += 0.1) { + (UA[0] = qA(r[0], o[0], a[0], h)), (UA[1] = qA(r[1], o[1], a[1], h)), (d = $A(KA(UA, e) - l)) < s && ((s = d), (i = h)); + } + for (var c = 0; c < 32; c++) { + var p = i + u; + (ZA[0] = qA(r[0], o[0], a[0], i)), (ZA[1] = qA(r[1], o[1], a[1], i)), (jA[0] = qA(r[0], o[0], a[0], p)), (jA[1] = qA(r[1], o[1], a[1], p)); + var d = KA(ZA, e) - l; + if ($A(d) < 0.01) break; + var f = KA(jA, e) - l; + (u /= 2), d < 0 ? (f >= 0 ? (i += u) : (i -= u)) : f >= 0 ? (i -= u) : (i += u); + } + return i; + } + function QA(t, e) { + var n = [], + i = Dn, + r = [[], [], []], + o = [[], []], + a = []; + (e /= 2), + t.eachEdge(function (t, s) { + var l = t.getLayout(), + u = t.getVisual("fromSymbol"), + h = t.getVisual("toSymbol"); + l.__original || ((l.__original = [Tt(l[0]), Tt(l[1])]), l[2] && l.__original.push(Tt(l[2]))); + var c = l.__original; + if (null != l[2]) { + if ((It(r[0], c[0]), It(r[1], c[2]), It(r[2], c[1]), u && "none" !== u)) { + var p = bA(t.node1), + d = JA(r, c[0], p * e); + i(r[0][0], r[1][0], r[2][0], d, n), (r[0][0] = n[3]), (r[1][0] = n[4]), i(r[0][1], r[1][1], r[2][1], d, n), (r[0][1] = n[3]), (r[1][1] = n[4]); + } + if (h && "none" !== h) { + (p = bA(t.node2)), (d = JA(r, c[1], p * e)); + i(r[0][0], r[1][0], r[2][0], d, n), (r[1][0] = n[1]), (r[2][0] = n[2]), i(r[0][1], r[1][1], r[2][1], d, n), (r[1][1] = n[1]), (r[2][1] = n[2]); + } + It(l[0], r[0]), It(l[1], r[2]), It(l[2], r[1]); + } else { + if ((It(o[0], c[0]), It(o[1], c[1]), kt(a, o[1], o[0]), Et(a, a), u && "none" !== u)) { + p = bA(t.node1); + At(o[0], o[0], a, p * e); + } + if (h && "none" !== h) { + p = bA(t.node2); + At(o[1], o[1], a, -p * e); + } + It(l[0], o[0]), It(l[1], o[1]); + } + }); + } + function tk(t) { + return "view" === t.type; + } + var ek = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.prototype.init = function (t, e) { + var n = new mS(), + i = new WA(), + r = this.group; + (this._controller = new tT(e.getZr())), (this._controllerHost = { target: r }), r.add(n.group), r.add(i.group), (this._symbolDraw = n), (this._lineDraw = i), (this._firstRender = !0); + }), + (e.prototype.render = function (t, e, n) { + var i = this, + r = t.coordinateSystem; + this._model = t; + var o = this._symbolDraw, + a = this._lineDraw, + s = this.group; + if (tk(r)) { + var l = { x: r.x, y: r.y, scaleX: r.scaleX, scaleY: r.scaleY }; + this._firstRender ? s.attr(l) : vh(s, l, t); + } + QA(t.getGraph(), _A(t)); + var u = t.getData(); + o.updateData(u); + var h = t.getEdgeData(); + a.updateData(h), this._updateNodeAndLinkScale(), this._updateController(t, e, n), clearTimeout(this._layoutTimeout); + var c = t.forceLayout, + p = t.get(["force", "layoutAnimation"]); + c && this._startForceLayoutIteration(c, p); + var d = t.get("layout"); + u.graph.eachNode(function (e) { + var n = e.dataIndex, + r = e.getGraphicEl(), + o = e.getModel(); + if (r) { + r.off("drag").off("dragend"); + var a = o.get("draggable"); + a && + r + .on("drag", function (o) { + switch (d) { + case "force": + c.warmUp(), !i._layouting && i._startForceLayoutIteration(c, p), c.setFixed(n), u.setItemLayout(n, [r.x, r.y]); + break; + case "circular": + u.setItemLayout(n, [r.x, r.y]), e.setLayout({ fixed: !0 }, !0), MA(t, "symbolSize", e, [o.offsetX, o.offsetY]), i.updateLayout(t); + break; + default: + u.setItemLayout(n, [r.x, r.y]), mA(t.getGraph(), t), i.updateLayout(t); + } + }) + .on("dragend", function () { + c && c.setUnfixed(n); + }), + r.setDraggable(a, !!o.get("cursor")), + "adjacency" === o.get(["emphasis", "focus"]) && (rl(r).focus = e.getAdjacentDataIndices()); + } + }), + u.graph.eachEdge(function (t) { + var e = t.getGraphicEl(), + n = t.getModel().get(["emphasis", "focus"]); + e && "adjacency" === n && (rl(e).focus = { edge: [t.dataIndex], node: [t.node1.dataIndex, t.node2.dataIndex] }); + }); + var f = "circular" === t.get("layout") && t.get(["circular", "rotateLabel"]), + g = u.getLayout("cx"), + y = u.getLayout("cy"); + u.graph.eachNode(function (t) { + TA(t, f, g, y); + }), + (this._firstRender = !1); + }), + (e.prototype.dispose = function () { + this.remove(), this._controller && this._controller.dispose(), (this._controllerHost = null); + }), + (e.prototype._startForceLayoutIteration = function (t, e) { + var n = this; + !(function i() { + t.step(function (t) { + n.updateLayout(n._model), (n._layouting = !t) && (e ? (n._layoutTimeout = setTimeout(i, 16)) : i()); + }); + })(); + }), + (e.prototype._updateController = function (t, e, n) { + var i = this, + r = this._controller, + o = this._controllerHost, + a = this.group; + r.setPointerChecker(function (e, i, r) { + var o = a.getBoundingRect(); + return o.applyTransform(a.transform), o.contain(i, r) && !lT(e, n, t); + }), + tk(t.coordinateSystem) + ? (r.enable(t.get("roam")), + (o.zoomLimit = t.get("scaleLimit")), + (o.zoom = t.coordinateSystem.getZoom()), + r + .off("pan") + .off("zoom") + .on("pan", function (e) { + rT(o, e.dx, e.dy), n.dispatchAction({ seriesId: t.id, type: "graphRoam", dx: e.dx, dy: e.dy }); + }) + .on("zoom", function (e) { + oT(o, e.scale, e.originX, e.originY), + n.dispatchAction({ seriesId: t.id, type: "graphRoam", zoom: e.scale, originX: e.originX, originY: e.originY }), + i._updateNodeAndLinkScale(), + QA(t.getGraph(), _A(t)), + i._lineDraw.updateLayout(), + n.updateLabelLayout(); + })) + : r.disable(); + }), + (e.prototype._updateNodeAndLinkScale = function () { + var t = this._model, + e = t.getData(), + n = _A(t); + e.eachItemGraphicEl(function (t, e) { + t && t.setSymbolScale(n); + }); + }), + (e.prototype.updateLayout = function (t) { + QA(t.getGraph(), _A(t)), this._symbolDraw.updateLayout(), this._lineDraw.updateLayout(); + }), + (e.prototype.remove = function () { + clearTimeout(this._layoutTimeout), (this._layouting = !1), (this._layoutTimeout = null), this._symbolDraw && this._symbolDraw.remove(), this._lineDraw && this._lineDraw.remove(); + }), + (e.type = "graph"), + e + ); + })(Og); + function nk(t) { + return "_EC_" + t; + } + var ik = (function () { + function t(t) { + (this.type = "graph"), (this.nodes = []), (this.edges = []), (this._nodesMap = {}), (this._edgesMap = {}), (this._directed = t || !1); + } + return ( + (t.prototype.isDirected = function () { + return this._directed; + }), + (t.prototype.addNode = function (t, e) { + t = null == t ? "" + e : "" + t; + var n = this._nodesMap; + if (!n[nk(t)]) { + var i = new rk(t, e); + return (i.hostGraph = this), this.nodes.push(i), (n[nk(t)] = i), i; + } + }), + (t.prototype.getNodeByIndex = function (t) { + var e = this.data.getRawIndex(t); + return this.nodes[e]; + }), + (t.prototype.getNodeById = function (t) { + return this._nodesMap[nk(t)]; + }), + (t.prototype.addEdge = function (t, e, n) { + var i = this._nodesMap, + r = this._edgesMap; + if ((j(t) && (t = this.nodes[t]), j(e) && (e = this.nodes[e]), t instanceof rk || (t = i[nk(t)]), e instanceof rk || (e = i[nk(e)]), t && e)) { + var o = t.id + "-" + e.id, + a = new ok(t, e, n); + return (a.hostGraph = this), this._directed && (t.outEdges.push(a), e.inEdges.push(a)), t.edges.push(a), t !== e && e.edges.push(a), this.edges.push(a), (r[o] = a), a; + } + }), + (t.prototype.getEdgeByIndex = function (t) { + var e = this.edgeData.getRawIndex(t); + return this.edges[e]; + }), + (t.prototype.getEdge = function (t, e) { + t instanceof rk && (t = t.id), e instanceof rk && (e = e.id); + var n = this._edgesMap; + return this._directed ? n[t + "-" + e] : n[t + "-" + e] || n[e + "-" + t]; + }), + (t.prototype.eachNode = function (t, e) { + for (var n = this.nodes, i = n.length, r = 0; r < i; r++) n[r].dataIndex >= 0 && t.call(e, n[r], r); + }), + (t.prototype.eachEdge = function (t, e) { + for (var n = this.edges, i = n.length, r = 0; r < i; r++) n[r].dataIndex >= 0 && n[r].node1.dataIndex >= 0 && n[r].node2.dataIndex >= 0 && t.call(e, n[r], r); + }), + (t.prototype.breadthFirstTraverse = function (t, e, n, i) { + if ((e instanceof rk || (e = this._nodesMap[nk(e)]), e)) { + for (var r = "out" === n ? "outEdges" : "in" === n ? "inEdges" : "edges", o = 0; o < this.nodes.length; o++) this.nodes[o].__visited = !1; + if (!t.call(i, e, null)) + for (var a = [e]; a.length; ) { + var s = a.shift(), + l = s[r]; + for (o = 0; o < l.length; o++) { + var u = l[o], + h = u.node1 === s ? u.node2 : u.node1; + if (!h.__visited) { + if (t.call(i, h, s)) return; + a.push(h), (h.__visited = !0); + } + } + } + } + }), + (t.prototype.update = function () { + for (var t = this.data, e = this.edgeData, n = this.nodes, i = this.edges, r = 0, o = n.length; r < o; r++) n[r].dataIndex = -1; + for (r = 0, o = t.count(); r < o; r++) n[t.getRawIndex(r)].dataIndex = r; + e.filterSelf(function (t) { + var n = i[e.getRawIndex(t)]; + return n.node1.dataIndex >= 0 && n.node2.dataIndex >= 0; + }); + for (r = 0, o = i.length; r < o; r++) i[r].dataIndex = -1; + for (r = 0, o = e.count(); r < o; r++) i[e.getRawIndex(r)].dataIndex = r; + }), + (t.prototype.clone = function () { + for (var e = new t(this._directed), n = this.nodes, i = this.edges, r = 0; r < n.length; r++) e.addNode(n[r].id, n[r].dataIndex); + for (r = 0; r < i.length; r++) { + var o = i[r]; + e.addEdge(o.node1.id, o.node2.id, o.dataIndex); + } + return e; + }), + t + ); + })(), + rk = (function () { + function t(t, e) { + (this.inEdges = []), (this.outEdges = []), (this.edges = []), (this.dataIndex = -1), (this.id = null == t ? "" : t), (this.dataIndex = null == e ? -1 : e); + } + return ( + (t.prototype.degree = function () { + return this.edges.length; + }), + (t.prototype.inDegree = function () { + return this.inEdges.length; + }), + (t.prototype.outDegree = function () { + return this.outEdges.length; + }), + (t.prototype.getModel = function (t) { + if (!(this.dataIndex < 0)) return this.hostGraph.data.getItemModel(this.dataIndex).getModel(t); + }), + (t.prototype.getAdjacentDataIndices = function () { + for (var t = { edge: [], node: [] }, e = 0; e < this.edges.length; e++) { + var n = this.edges[e]; + n.dataIndex < 0 || (t.edge.push(n.dataIndex), t.node.push(n.node1.dataIndex, n.node2.dataIndex)); + } + return t; + }), + (t.prototype.getTrajectoryDataIndices = function () { + for (var t = yt(), e = yt(), n = 0; n < this.edges.length; n++) { + var i = this.edges[n]; + if (!(i.dataIndex < 0)) { + t.set(i.dataIndex, !0); + for (var r = [i.node1], o = [i.node2], a = 0; a < r.length; ) { + var s = r[a]; + a++, e.set(s.dataIndex, !0); + for (var l = 0; l < s.inEdges.length; l++) t.set(s.inEdges[l].dataIndex, !0), r.push(s.inEdges[l].node1); + } + for (a = 0; a < o.length; ) { + var u = o[a]; + a++, e.set(u.dataIndex, !0); + for (l = 0; l < u.outEdges.length; l++) t.set(u.outEdges[l].dataIndex, !0), o.push(u.outEdges[l].node2); + } + } + } + return { edge: t.keys(), node: e.keys() }; + }), + t + ); + })(), + ok = (function () { + function t(t, e, n) { + (this.dataIndex = -1), (this.node1 = t), (this.node2 = e), (this.dataIndex = null == n ? -1 : n); + } + return ( + (t.prototype.getModel = function (t) { + if (!(this.dataIndex < 0)) return this.hostGraph.edgeData.getItemModel(this.dataIndex).getModel(t); + }), + (t.prototype.getAdjacentDataIndices = function () { + return { edge: [this.dataIndex], node: [this.node1.dataIndex, this.node2.dataIndex] }; + }), + (t.prototype.getTrajectoryDataIndices = function () { + var t = yt(), + e = yt(); + t.set(this.dataIndex, !0); + for (var n = [this.node1], i = [this.node2], r = 0; r < n.length; ) { + var o = n[r]; + r++, e.set(o.dataIndex, !0); + for (var a = 0; a < o.inEdges.length; a++) t.set(o.inEdges[a].dataIndex, !0), n.push(o.inEdges[a].node1); + } + for (r = 0; r < i.length; ) { + var s = i[r]; + r++, e.set(s.dataIndex, !0); + for (a = 0; a < s.outEdges.length; a++) t.set(s.outEdges[a].dataIndex, !0), i.push(s.outEdges[a].node2); + } + return { edge: t.keys(), node: e.keys() }; + }), + t + ); + })(); + function ak(t, e) { + return { + getValue: function (n) { + var i = this[t][e]; + return i.getStore().get(i.getDimensionIndex(n || "value"), this.dataIndex); + }, + setVisual: function (n, i) { + this.dataIndex >= 0 && this[t][e].setItemVisual(this.dataIndex, n, i); + }, + getVisual: function (n) { + return this[t][e].getItemVisual(this.dataIndex, n); + }, + setLayout: function (n, i) { + this.dataIndex >= 0 && this[t][e].setItemLayout(this.dataIndex, n, i); + }, + getLayout: function () { + return this[t][e].getItemLayout(this.dataIndex); + }, + getGraphicEl: function () { + return this[t][e].getItemGraphicEl(this.dataIndex); + }, + getRawIndex: function () { + return this[t][e].getRawIndex(this.dataIndex); + }, + }; + } + function sk(t, e, n, i, r) { + for (var o = new ik(i), a = 0; a < t.length; a++) o.addNode(it(t[a].id, t[a].name, a), a); + var s = [], + l = [], + u = 0; + for (a = 0; a < e.length; a++) { + var h = e[a], + c = h.source, + p = h.target; + o.addEdge(c, p, u) && (l.push(h), s.push(it(Ro(h.id, null), c + " > " + p)), u++); + } + var d, + f = n.get("coordinateSystem"); + if ("cartesian2d" === f || "polar" === f) d = _x(t, n); + else { + var g = wd.get(f), + y = (g && g.dimensions) || []; + P(y, "value") < 0 && y.concat(["value"]); + var v = px(t, { coordDimensions: y, encodeDefine: n.getEncode() }).dimensions; + (d = new cx(v, n)).initData(t); + } + var m = new cx(["value"], n); + return m.initData(l, s), r && r(d, m), XC({ mainData: d, struct: o, structAttr: "graph", datas: { node: d, edge: m }, datasAttr: { node: "data", edge: "edgeData" } }), o.update(), o; + } + R(rk, ak("hostGraph", "data")), R(ok, ak("hostGraph", "edgeData")); + var lk = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), (n.hasSymbolVisual = !0), n; + } + return ( + n(e, t), + (e.prototype.init = function (e) { + t.prototype.init.apply(this, arguments); + var n = this; + function i() { + return n._categoriesData; + } + (this.legendVisualProvider = new OM(i, i)), this.fillDataTextStyle(e.edges || e.links), this._updateCategoriesData(); + }), + (e.prototype.mergeOption = function (e) { + t.prototype.mergeOption.apply(this, arguments), this.fillDataTextStyle(e.edges || e.links), this._updateCategoriesData(); + }), + (e.prototype.mergeDefaultAndTheme = function (e) { + t.prototype.mergeDefaultAndTheme.apply(this, arguments), Co(e, "edgeLabel", ["show"]); + }), + (e.prototype.getInitialData = function (t, e) { + var n, + i = t.edges || t.links || [], + r = t.data || t.nodes || [], + o = this; + if (r && i) { + cA((n = this)) && ((n.__curvenessList = []), (n.__edgeMap = {}), pA(n)); + var a = sk(r, i, this, !0, function (t, e) { + t.wrapMethod("getItemModel", function (t) { + var e = o._categoriesModels[t.getShallow("category")]; + return e && ((e.parentModel = t.parentModel), (t.parentModel = e)), t; + }); + var n = Cc.prototype.getModel; + function i(t, e) { + var i = n.call(this, t, e); + return (i.resolveParentPath = r), i; + } + function r(t) { + if (t && ("label" === t[0] || "label" === t[1])) { + var e = t.slice(); + return "label" === t[0] ? (e[0] = "edgeLabel") : "label" === t[1] && (e[1] = "edgeLabel"), e; + } + return t; + } + e.wrapMethod("getItemModel", function (t) { + return (t.resolveParentPath = r), (t.getModel = i), t; + }); + }); + return ( + E( + a.edges, + function (t) { + !(function (t, e, n, i) { + if (cA(n)) { + var r = dA(t, e, n), + o = n.__edgeMap, + a = o[fA(r)]; + o[r] && !a ? (o[r].isForward = !0) : a && o[r] && ((a.isForward = !0), (o[r].isForward = !1)), (o[r] = o[r] || []), o[r].push(i); + } + })(t.node1, t.node2, this, t.dataIndex); + }, + this + ), + a.data + ); + } + }), + (e.prototype.getGraph = function () { + return this.getData().graph; + }), + (e.prototype.getEdgeData = function () { + return this.getGraph().edgeData; + }), + (e.prototype.getCategoriesData = function () { + return this._categoriesData; + }), + (e.prototype.formatTooltip = function (t, e, n) { + if ("edge" === n) { + var i = this.getData(), + r = this.getDataParams(t, n), + o = i.graph.getEdgeByIndex(t), + a = i.getName(o.node1.dataIndex), + s = i.getName(o.node2.dataIndex), + l = []; + return null != a && l.push(a), null != s && l.push(s), og("nameValue", { name: l.join(" > "), value: r.value, noValue: null == r.value }); + } + return vg({ series: this, dataIndex: t, multipleSeries: e }); + }), + (e.prototype._updateCategoriesData = function () { + var t = z(this.option.categories || [], function (t) { + return null != t.value ? t : A({ value: 0 }, t); + }), + e = new cx(["value"], this); + e.initData(t), + (this._categoriesData = e), + (this._categoriesModels = e.mapArray(function (t) { + return e.getItemModel(t); + })); + }), + (e.prototype.setZoom = function (t) { + this.option.zoom = t; + }), + (e.prototype.setCenter = function (t) { + this.option.center = t; + }), + (e.prototype.isAnimationEnabled = function () { + return t.prototype.isAnimationEnabled.call(this) && !("force" === this.get("layout") && this.get(["force", "layoutAnimation"])); + }), + (e.type = "series.graph"), + (e.dependencies = ["grid", "polar", "geo", "singleAxis", "calendar"]), + (e.defaultOption = { + z: 2, + coordinateSystem: "view", + legendHoverLink: !0, + layout: null, + circular: { rotateLabel: !1 }, + force: { initLayout: null, repulsion: [0, 50], gravity: 0.1, friction: 0.6, edgeLength: 30, layoutAnimation: !0 }, + left: "center", + top: "center", + symbol: "circle", + symbolSize: 10, + edgeSymbol: ["none", "none"], + edgeSymbolSize: 10, + edgeLabel: { position: "middle", distance: 5 }, + draggable: !1, + roam: !1, + center: null, + zoom: 1, + nodeScaleRatio: 0.6, + label: { show: !1, formatter: "{b}" }, + itemStyle: {}, + lineStyle: { color: "#aaa", width: 1, opacity: 0.5 }, + emphasis: { scale: !0, label: { show: !0 } }, + select: { itemStyle: { borderColor: "#212121" } }, + }), + e + ); + })(bg), + uk = { type: "graphRoam", event: "graphRoam", update: "none" }; + var hk = function () { + (this.angle = 0), (this.width = 10), (this.r = 10), (this.x = 0), (this.y = 0); + }, + ck = (function (t) { + function e(e) { + var n = t.call(this, e) || this; + return (n.type = "pointer"), n; + } + return ( + n(e, t), + (e.prototype.getDefaultShape = function () { + return new hk(); + }), + (e.prototype.buildPath = function (t, e) { + var n = Math.cos, + i = Math.sin, + r = e.r, + o = e.width, + a = e.angle, + s = e.x - n(a) * o * (o >= r / 3 ? 1 : 2), + l = e.y - i(a) * o * (o >= r / 3 ? 1 : 2); + (a = e.angle - Math.PI / 2), t.moveTo(s, l), t.lineTo(e.x + n(a) * o, e.y + i(a) * o), t.lineTo(e.x + n(e.angle) * r, e.y + i(e.angle) * r), t.lineTo(e.x - n(a) * o, e.y - i(a) * o), t.lineTo(s, l); + }), + e + ); + })(ks); + function pk(t, e) { + var n = null == t ? "" : t + ""; + return e && (U(e) ? (n = e.replace("{value}", n)) : X(e) && (n = e(t))), n; + } + var dk = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.prototype.render = function (t, e, n) { + this.group.removeAll(); + var i = t.get(["axisLine", "lineStyle", "color"]), + r = (function (t, e) { + var n = t.get("center"), + i = e.getWidth(), + r = e.getHeight(), + o = Math.min(i, r); + return { cx: $r(n[0], e.getWidth()), cy: $r(n[1], e.getHeight()), r: $r(t.get("radius"), o / 2) }; + })(t, n); + this._renderMain(t, e, n, i, r), (this._data = t.getData()); + }), + (e.prototype.dispose = function () {}), + (e.prototype._renderMain = function (t, e, n, i, r) { + var o = this.group, + a = t.get("clockwise"), + s = (-t.get("startAngle") / 180) * Math.PI, + l = (-t.get("endAngle") / 180) * Math.PI, + u = t.getModel("axisLine"), + h = u.get("roundCap") ? $S : Fu, + c = u.get("show"), + p = u.getModel("lineStyle"), + d = p.get("width"), + f = [s, l]; + us(f, !a); + for (var g = (l = f[1]) - (s = f[0]), y = s, v = [], m = 0; c && m < i.length; m++) { + var x = new h({ shape: { startAngle: y, endAngle: (l = s + g * Math.min(Math.max(i[m][0], 0), 1)), cx: r.cx, cy: r.cy, clockwise: a, r0: r.r - d, r: r.r }, silent: !0 }); + x.setStyle({ fill: i[m][1] }), x.setStyle(p.getLineStyle(["color", "width"])), v.push(x), (y = l); + } + v.reverse(), + E(v, function (t) { + return o.add(t); + }); + var _ = function (t) { + if (t <= 0) return i[0][1]; + var e; + for (e = 0; e < i.length; e++) if (i[e][0] >= t && (0 === e ? 0 : i[e - 1][0]) < t) return i[e][1]; + return i[e - 1][1]; + }; + this._renderTicks(t, e, n, _, r, s, l, a, d), this._renderTitleAndDetail(t, e, n, _, r), this._renderAnchor(t, r), this._renderPointer(t, e, n, _, r, s, l, a, d); + }), + (e.prototype._renderTicks = function (t, e, n, i, r, o, a, s, l) { + for ( + var u, + h, + c = this.group, + p = r.cx, + d = r.cy, + f = r.r, + g = +t.get("min"), + y = +t.get("max"), + v = t.getModel("splitLine"), + m = t.getModel("axisTick"), + x = t.getModel("axisLabel"), + _ = t.get("splitNumber"), + b = m.get("splitNumber"), + w = $r(v.get("length"), f), + S = $r(m.get("length"), f), + M = o, + I = (a - o) / _, + T = I / b, + C = v.getModel("lineStyle").getLineStyle(), + D = m.getModel("lineStyle").getLineStyle(), + A = v.get("distance"), + k = 0; + k <= _; + k++ + ) { + if (((u = Math.cos(M)), (h = Math.sin(M)), v.get("show"))) { + var L = new Ku({ shape: { x1: u * (f - (P = A ? A + l : l)) + p, y1: h * (f - P) + d, x2: u * (f - w - P) + p, y2: h * (f - w - P) + d }, style: C, silent: !0 }); + "auto" === C.stroke && L.setStyle({ stroke: i(k / _) }), c.add(L); + } + if (x.get("show")) { + var P = x.get("distance") + A, + O = pk(Jr((k / _) * (y - g) + g), x.get("formatter")), + R = i(k / _), + N = u * (f - w - P) + p, + E = h * (f - w - P) + d, + z = x.get("rotate"), + V = 0; + "radial" === z ? (V = -M + 2 * Math.PI) > Math.PI / 2 && (V += Math.PI) : "tangential" === z ? (V = -M - Math.PI / 2) : j(z) && (V = (z * Math.PI) / 180), + 0 === V + ? c.add(new Xs({ style: oc(x, { text: O, x: N, y: E, verticalAlign: h < -0.8 ? "top" : h > 0.8 ? "bottom" : "middle", align: u < -0.4 ? "left" : u > 0.4 ? "right" : "center" }, { inheritColor: R }), silent: !0 })) + : c.add(new Xs({ style: oc(x, { text: O, x: N, y: E, verticalAlign: "middle", align: "center" }, { inheritColor: R }), silent: !0, originX: N, originY: E, rotation: V })); + } + if (m.get("show") && k !== _) { + P = (P = m.get("distance")) ? P + l : l; + for (var B = 0; B <= b; B++) { + (u = Math.cos(M)), (h = Math.sin(M)); + var F = new Ku({ shape: { x1: u * (f - P) + p, y1: h * (f - P) + d, x2: u * (f - S - P) + p, y2: h * (f - S - P) + d }, silent: !0, style: D }); + "auto" === D.stroke && F.setStyle({ stroke: i((k + B / b) / _) }), c.add(F), (M += T); + } + M -= T; + } else M += I; + } + }), + (e.prototype._renderPointer = function (t, e, n, i, r, o, a, s, l) { + var u = this.group, + h = this._data, + c = this._progressEls, + p = [], + d = t.get(["pointer", "show"]), + f = t.getModel("progress"), + g = f.get("show"), + y = t.getData(), + v = y.mapDimension("value"), + m = +t.get("min"), + x = +t.get("max"), + _ = [m, x], + b = [o, a]; + function w(e, n) { + var i, + o = y.getItemModel(e).getModel("pointer"), + a = $r(o.get("width"), r.r), + s = $r(o.get("length"), r.r), + l = t.get(["pointer", "icon"]), + u = o.get("offsetCenter"), + h = $r(u[0], r.r), + c = $r(u[1], r.r), + p = o.get("keepAspect"); + return ((i = l ? Xy(l, h - a / 2, c - s, a, s, null, p) : new ck({ shape: { angle: -Math.PI / 2, width: a, r: s, x: h, y: c } })).rotation = -(n + Math.PI / 2)), (i.x = r.cx), (i.y = r.cy), i; + } + function S(t, e) { + var n = f.get("roundCap") ? $S : Fu, + i = f.get("overlap"), + a = i ? f.get("width") : l / y.count(), + u = i ? r.r - a : r.r - (t + 1) * a, + h = i ? r.r : r.r - t * a, + c = new n({ shape: { startAngle: o, endAngle: e, cx: r.cx, cy: r.cy, clockwise: s, r0: u, r: h } }); + return i && (c.z2 = x - (y.get(v, t) % x)), c; + } + (g || d) && + (y + .diff(h) + .add(function (e) { + var n = y.get(v, e); + if (d) { + var i = w(e, o); + mh(i, { rotation: -((isNaN(+n) ? b[0] : Kr(n, _, b, !0)) + Math.PI / 2) }, t), u.add(i), y.setItemGraphicEl(e, i); + } + if (g) { + var r = S(e, o), + a = f.get("clip"); + mh(r, { shape: { endAngle: Kr(n, _, b, a) } }, t), u.add(r), ol(t.seriesIndex, y.dataType, e, r), (p[e] = r); + } + }) + .update(function (e, n) { + var i = y.get(v, e); + if (d) { + var r = h.getItemGraphicEl(n), + a = r ? r.rotation : o, + s = w(e, a); + (s.rotation = a), vh(s, { rotation: -((isNaN(+i) ? b[0] : Kr(i, _, b, !0)) + Math.PI / 2) }, t), u.add(s), y.setItemGraphicEl(e, s); + } + if (g) { + var l = c[n], + m = S(e, l ? l.shape.endAngle : o), + x = f.get("clip"); + vh(m, { shape: { endAngle: Kr(i, _, b, x) } }, t), u.add(m), ol(t.seriesIndex, y.dataType, e, m), (p[e] = m); + } + }) + .execute(), + y.each(function (t) { + var e = y.getItemModel(t), + n = e.getModel("emphasis"), + r = n.get("focus"), + o = n.get("blurScope"), + a = n.get("disabled"); + if (d) { + var s = y.getItemGraphicEl(t), + l = y.getItemVisual(t, "style"), + u = l.fill; + if (s instanceof Ns) { + var h = s.style; + s.useStyle(A({ image: h.image, x: h.x, y: h.y, width: h.width, height: h.height }, l)); + } else s.useStyle(l), "pointer" !== s.type && s.setColor(u); + s.setStyle(e.getModel(["pointer", "itemStyle"]).getItemStyle()), "auto" === s.style.fill && s.setStyle("fill", i(Kr(y.get(v, t), _, [0, 1], !0))), (s.z2EmphasisLift = 0), $l(s, e), Zl(s, r, o, a); + } + if (g) { + var c = p[t]; + c.useStyle(y.getItemVisual(t, "style")), c.setStyle(e.getModel(["progress", "itemStyle"]).getItemStyle()), (c.z2EmphasisLift = 0), $l(c, e), Zl(c, r, o, a); + } + }), + (this._progressEls = p)); + }), + (e.prototype._renderAnchor = function (t, e) { + var n = t.getModel("anchor"); + if (n.get("show")) { + var i = n.get("size"), + r = n.get("icon"), + o = n.get("offsetCenter"), + a = n.get("keepAspect"), + s = Xy(r, e.cx - i / 2 + $r(o[0], e.r), e.cy - i / 2 + $r(o[1], e.r), i, i, null, a); + (s.z2 = n.get("showAbove") ? 1 : 0), s.setStyle(n.getModel("itemStyle").getItemStyle()), this.group.add(s); + } + }), + (e.prototype._renderTitleAndDetail = function (t, e, n, i, r) { + var o = this, + a = t.getData(), + s = a.mapDimension("value"), + l = +t.get("min"), + u = +t.get("max"), + h = new Br(), + c = [], + p = [], + d = t.isAnimationEnabled(), + f = t.get(["pointer", "showAbove"]); + a + .diff(this._data) + .add(function (t) { + (c[t] = new Xs({ silent: !0 })), (p[t] = new Xs({ silent: !0 })); + }) + .update(function (t, e) { + (c[t] = o._titleEls[e]), (p[t] = o._detailEls[e]); + }) + .execute(), + a.each(function (e) { + var n = a.getItemModel(e), + o = a.get(s, e), + g = new Br(), + y = i(Kr(o, [l, u], [0, 1], !0)), + v = n.getModel("title"); + if (v.get("show")) { + var m = v.get("offsetCenter"), + x = r.cx + $r(m[0], r.r), + _ = r.cy + $r(m[1], r.r); + (D = c[e]).attr({ z2: f ? 0 : 2, style: oc(v, { x: x, y: _, text: a.getName(e), align: "center", verticalAlign: "middle" }, { inheritColor: y }) }), g.add(D); + } + var b = n.getModel("detail"); + if (b.get("show")) { + var w = b.get("offsetCenter"), + S = r.cx + $r(w[0], r.r), + M = r.cy + $r(w[1], r.r), + I = $r(b.get("width"), r.r), + T = $r(b.get("height"), r.r), + C = t.get(["progress", "show"]) ? a.getItemVisual(e, "style").fill : y, + D = p[e], + A = b.get("formatter"); + D.attr({ z2: f ? 0 : 2, style: oc(b, { x: S, y: M, text: pk(o, A), width: isNaN(I) ? null : I, height: isNaN(T) ? null : T, align: "center", verticalAlign: "middle" }, { inheritColor: C }) }), + dc(D, { normal: b }, o, function (t) { + return pk(t, A); + }), + d && + fc(D, e, a, t, { + getFormattedLabel: function (t, e, n, i, r, a) { + return pk(a ? a.interpolatedValue : o, A); + }, + }), + g.add(D); + } + h.add(g); + }), + this.group.add(h), + (this._titleEls = c), + (this._detailEls = p); + }), + (e.type = "gauge"), + e + ); + })(Og), + fk = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), (n.visualStyleAccessPath = "itemStyle"), n; + } + return ( + n(e, t), + (e.prototype.getInitialData = function (t, e) { + return PM(this, ["value"]); + }), + (e.type = "series.gauge"), + (e.defaultOption = { + z: 2, + colorBy: "data", + center: ["50%", "50%"], + legendHoverLink: !0, + radius: "75%", + startAngle: 225, + endAngle: -45, + clockwise: !0, + min: 0, + max: 100, + splitNumber: 10, + axisLine: { show: !0, roundCap: !1, lineStyle: { color: [[1, "#E6EBF8"]], width: 10 } }, + progress: { show: !1, overlap: !0, width: 10, roundCap: !1, clip: !0 }, + splitLine: { show: !0, length: 10, distance: 10, lineStyle: { color: "#63677A", width: 3, type: "solid" } }, + axisTick: { show: !0, splitNumber: 5, length: 6, distance: 10, lineStyle: { color: "#63677A", width: 1, type: "solid" } }, + axisLabel: { show: !0, distance: 15, color: "#464646", fontSize: 12, rotate: 0 }, + pointer: { icon: null, offsetCenter: [0, 0], show: !0, showAbove: !0, length: "60%", width: 6, keepAspect: !1 }, + anchor: { show: !1, showAbove: !1, size: 6, icon: "circle", offsetCenter: [0, 0], keepAspect: !1, itemStyle: { color: "#fff", borderWidth: 0, borderColor: "#5470c6" } }, + title: { show: !0, offsetCenter: [0, "20%"], color: "#464646", fontSize: 16, valueAnimation: !1 }, + detail: { + show: !0, + backgroundColor: "rgba(0,0,0,0)", + borderWidth: 0, + borderColor: "#ccc", + width: 100, + height: null, + padding: [5, 10], + offsetCenter: [0, "40%"], + color: "#464646", + fontSize: 30, + fontWeight: "bold", + lineHeight: 30, + valueAnimation: !1, + }, + }), + e + ); + })(bg); + var gk = ["itemStyle", "opacity"], + yk = (function (t) { + function e(e, n) { + var i = t.call(this) || this, + r = i, + o = new Zu(), + a = new Xs(); + return r.setTextContent(a), i.setTextGuideLine(o), i.updateData(e, n, !0), i; + } + return ( + n(e, t), + (e.prototype.updateData = function (t, e, n) { + var i = this, + r = t.hostModel, + o = t.getItemModel(e), + a = t.getItemLayout(e), + s = o.getModel("emphasis"), + l = o.get(gk); + (l = null == l ? 1 : l), + n || Sh(i), + i.useStyle(t.getItemVisual(e, "style")), + (i.style.lineJoin = "round"), + n ? (i.setShape({ points: a.points }), (i.style.opacity = 0), mh(i, { style: { opacity: l } }, r, e)) : vh(i, { style: { opacity: l }, shape: { points: a.points } }, r, e), + $l(i, o), + this._updateLabel(t, e), + Zl(this, s.get("focus"), s.get("blurScope"), s.get("disabled")); + }), + (e.prototype._updateLabel = function (t, e) { + var n = this, + i = this.getTextGuideLine(), + r = n.getTextContent(), + o = t.hostModel, + a = t.getItemModel(e), + s = t.getItemLayout(e).label, + l = t.getItemVisual(e, "style"), + u = l.fill; + ic(r, rc(a), { labelFetcher: t.hostModel, labelDataIndex: e, defaultOpacity: l.opacity, defaultText: t.getName(e) }, { normal: { align: s.textAlign, verticalAlign: s.verticalAlign } }), + n.setTextConfig({ local: !0, inside: !!s.inside, insideStroke: u, outsideFill: u }); + var h = s.linePoints; + i.setShape({ points: h }), + (n.textGuideLineConfig = { anchor: h ? new De(h[0][0], h[0][1]) : null }), + vh(r, { style: { x: s.x, y: s.y } }, o, e), + r.attr({ rotation: s.rotation, originX: s.x, originY: s.y, z2: 10 }), + Ab(n, kb(a), { stroke: u }); + }), + e + ); + })(Xu), + vk = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), (n.ignoreLabelLineUpdate = !0), n; + } + return ( + n(e, t), + (e.prototype.render = function (t, e, n) { + var i = t.getData(), + r = this._data, + o = this.group; + i + .diff(r) + .add(function (t) { + var e = new yk(i, t); + i.setItemGraphicEl(t, e), o.add(e); + }) + .update(function (t, e) { + var n = r.getItemGraphicEl(e); + n.updateData(i, t), o.add(n), i.setItemGraphicEl(t, n); + }) + .remove(function (e) { + wh(r.getItemGraphicEl(e), t, e); + }) + .execute(), + (this._data = i); + }), + (e.prototype.remove = function () { + this.group.removeAll(), (this._data = null); + }), + (e.prototype.dispose = function () {}), + (e.type = "funnel"), + e + ); + })(Og), + mk = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.prototype.init = function (e) { + t.prototype.init.apply(this, arguments), (this.legendVisualProvider = new OM(W(this.getData, this), W(this.getRawData, this))), this._defaultLabelLine(e); + }), + (e.prototype.getInitialData = function (t, e) { + return PM(this, { coordDimensions: ["value"], encodeDefaulter: H(ed, this) }); + }), + (e.prototype._defaultLabelLine = function (t) { + Co(t, "labelLine", ["show"]); + var e = t.labelLine, + n = t.emphasis.labelLine; + (e.show = e.show && t.label.show), (n.show = n.show && t.emphasis.label.show); + }), + (e.prototype.getDataParams = function (e) { + var n = this.getData(), + i = t.prototype.getDataParams.call(this, e), + r = n.mapDimension("value"), + o = n.getSum(r); + return (i.percent = o ? +((n.get(r, e) / o) * 100).toFixed(2) : 0), i.$vars.push("percent"), i; + }), + (e.type = "series.funnel"), + (e.defaultOption = { + z: 2, + legendHoverLink: !0, + colorBy: "data", + left: 80, + top: 60, + right: 80, + bottom: 60, + minSize: "0%", + maxSize: "100%", + sort: "descending", + orient: "vertical", + gap: 0, + funnelAlign: "center", + label: { show: !0, position: "outer" }, + labelLine: { show: !0, length: 20, lineStyle: { width: 1 } }, + itemStyle: { borderColor: "#fff", borderWidth: 1 }, + emphasis: { label: { show: !0 } }, + select: { itemStyle: { borderColor: "#212121" } }, + }), + e + ); + })(bg); + function xk(t, e) { + t.eachSeriesByType("funnel", function (t) { + var n = t.getData(), + i = n.mapDimension("value"), + r = t.get("sort"), + o = (function (t, e) { + return kp(t.getBoxLayoutParams(), { width: e.getWidth(), height: e.getHeight() }); + })(t, e), + a = t.get("orient"), + s = o.width, + l = o.height, + u = (function (t, e) { + for ( + var n = t.mapDimension("value"), + i = t.mapArray(n, function (t) { + return t; + }), + r = [], + o = "ascending" === e, + a = 0, + s = t.count(); + a < s; + a++ + ) + r[a] = a; + return ( + X(e) + ? r.sort(e) + : "none" !== e && + r.sort(function (t, e) { + return o ? i[t] - i[e] : i[e] - i[t]; + }), + r + ); + })(n, r), + h = o.x, + c = o.y, + p = "horizontal" === a ? [$r(t.get("minSize"), l), $r(t.get("maxSize"), l)] : [$r(t.get("minSize"), s), $r(t.get("maxSize"), s)], + d = n.getDataExtent(i), + f = t.get("min"), + g = t.get("max"); + null == f && (f = Math.min(d[0], 0)), null == g && (g = d[1]); + var y = t.get("funnelAlign"), + v = t.get("gap"), + m = (("horizontal" === a ? s : l) - v * (n.count() - 1)) / n.count(), + x = function (t, e) { + if ("horizontal" === a) { + var r = Kr(n.get(i, t) || 0, [f, g], p, !0), + o = void 0; + switch (y) { + case "top": + o = c; + break; + case "center": + o = c + (l - r) / 2; + break; + case "bottom": + o = c + (l - r); + } + return [ + [e, o], + [e, o + r], + ]; + } + var u, + d = Kr(n.get(i, t) || 0, [f, g], p, !0); + switch (y) { + case "left": + u = h; + break; + case "center": + u = h + (s - d) / 2; + break; + case "right": + u = h + s - d; + } + return [ + [u, e], + [u + d, e], + ]; + }; + "ascending" === r && ((m = -m), (v = -v), "horizontal" === a ? (h += s) : (c += l), (u = u.reverse())); + for (var _ = 0; _ < u.length; _++) { + var b = u[_], + w = u[_ + 1], + S = n.getItemModel(b); + if ("horizontal" === a) { + var M = S.get(["itemStyle", "width"]); + null == M ? (M = m) : ((M = $r(M, s)), "ascending" === r && (M = -M)); + var I = x(b, h), + T = x(w, h + M); + (h += M + v), n.setItemLayout(b, { points: I.concat(T.slice().reverse()) }); + } else { + var C = S.get(["itemStyle", "height"]); + null == C ? (C = m) : ((C = $r(C, l)), "ascending" === r && (C = -C)); + (I = x(b, c)), (T = x(w, c + C)); + (c += C + v), n.setItemLayout(b, { points: I.concat(T.slice().reverse()) }); + } + } + !(function (t) { + var e = t.hostModel.get("orient"); + t.each(function (n) { + var i, + r, + o, + a, + s = t.getItemModel(n), + l = s.getModel("label").get("position"), + u = s.getModel("labelLine"), + h = t.getItemLayout(n), + c = h.points, + p = "inner" === l || "inside" === l || "center" === l || "insideLeft" === l || "insideRight" === l; + if (p) + "insideLeft" === l + ? ((r = (c[0][0] + c[3][0]) / 2 + 5), (o = (c[0][1] + c[3][1]) / 2), (i = "left")) + : "insideRight" === l + ? ((r = (c[1][0] + c[2][0]) / 2 - 5), (o = (c[1][1] + c[2][1]) / 2), (i = "right")) + : ((r = (c[0][0] + c[1][0] + c[2][0] + c[3][0]) / 4), (o = (c[0][1] + c[1][1] + c[2][1] + c[3][1]) / 4), (i = "center")), + (a = [ + [r, o], + [r, o], + ]); + else { + var d = void 0, + f = void 0, + g = void 0, + y = void 0, + v = u.get("length"); + "left" === l + ? ((d = (c[3][0] + c[0][0]) / 2), (f = (c[3][1] + c[0][1]) / 2), (r = (g = d - v) - 5), (i = "right")) + : "right" === l + ? ((d = (c[1][0] + c[2][0]) / 2), (f = (c[1][1] + c[2][1]) / 2), (r = (g = d + v) + 5), (i = "left")) + : "top" === l + ? ((d = (c[3][0] + c[0][0]) / 2), (o = (y = (f = (c[3][1] + c[0][1]) / 2) - v) - 5), (i = "center")) + : "bottom" === l + ? ((d = (c[1][0] + c[2][0]) / 2), (o = (y = (f = (c[1][1] + c[2][1]) / 2) + v) + 5), (i = "center")) + : "rightTop" === l + ? ((d = "horizontal" === e ? c[3][0] : c[1][0]), (f = "horizontal" === e ? c[3][1] : c[1][1]), "horizontal" === e ? ((o = (y = f - v) - 5), (i = "center")) : ((r = (g = d + v) + 5), (i = "top"))) + : "rightBottom" === l + ? ((d = c[2][0]), (f = c[2][1]), "horizontal" === e ? ((o = (y = f + v) + 5), (i = "center")) : ((r = (g = d + v) + 5), (i = "bottom"))) + : "leftTop" === l + ? ((d = c[0][0]), (f = "horizontal" === e ? c[0][1] : c[1][1]), "horizontal" === e ? ((o = (y = f - v) - 5), (i = "center")) : ((r = (g = d - v) - 5), (i = "right"))) + : "leftBottom" === l + ? ((d = "horizontal" === e ? c[1][0] : c[3][0]), (f = "horizontal" === e ? c[1][1] : c[2][1]), "horizontal" === e ? ((o = (y = f + v) + 5), (i = "center")) : ((r = (g = d - v) - 5), (i = "right"))) + : ((d = (c[1][0] + c[2][0]) / 2), (f = (c[1][1] + c[2][1]) / 2), "horizontal" === e ? ((o = (y = f + v) + 5), (i = "center")) : ((r = (g = d + v) + 5), (i = "left"))), + "horizontal" === e ? (r = g = d) : (o = y = f), + (a = [ + [d, f], + [g, y], + ]); + } + h.label = { linePoints: a, x: r, y: o, verticalAlign: "middle", textAlign: i, inside: p }; + }); + })(n); + }); + } + var _k = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), (n._dataGroup = new Br()), (n._initialized = !1), n; + } + return ( + n(e, t), + (e.prototype.init = function () { + this.group.add(this._dataGroup); + }), + (e.prototype.render = function (t, e, n, i) { + this._progressiveEls = null; + var r = this._dataGroup, + o = t.getData(), + a = this._data, + s = t.coordinateSystem, + l = s.dimensions, + u = Sk(t); + if ( + (o + .diff(a) + .add(function (t) { + Mk(wk(o, r, t, l, s), o, t, u); + }) + .update(function (e, n) { + var i = a.getItemGraphicEl(n), + r = bk(o, e, l, s); + o.setItemGraphicEl(e, i), vh(i, { shape: { points: r } }, t, e), Sh(i), Mk(i, o, e, u); + }) + .remove(function (t) { + var e = a.getItemGraphicEl(t); + r.remove(e); + }) + .execute(), + !this._initialized) + ) { + this._initialized = !0; + var h = (function (t, e, n) { + var i = t.model, + r = t.getRect(), + o = new Ws({ shape: { x: r.x, y: r.y, width: r.width, height: r.height } }), + a = "horizontal" === i.get("layout") ? "width" : "height"; + return o.setShape(a, 0), mh(o, { shape: { width: r.width, height: r.height } }, e, n), o; + })(s, t, function () { + setTimeout(function () { + r.removeClipPath(); + }); + }); + r.setClipPath(h); + } + this._data = o; + }), + (e.prototype.incrementalPrepareRender = function (t, e, n) { + (this._initialized = !0), (this._data = null), this._dataGroup.removeAll(); + }), + (e.prototype.incrementalRender = function (t, e, n) { + for (var i = e.getData(), r = e.coordinateSystem, o = r.dimensions, a = Sk(e), s = (this._progressiveEls = []), l = t.start; l < t.end; l++) { + var u = wk(i, this._dataGroup, l, o, r); + (u.incremental = !0), Mk(u, i, l, a), s.push(u); + } + }), + (e.prototype.remove = function () { + this._dataGroup && this._dataGroup.removeAll(), (this._data = null); + }), + (e.type = "parallel"), + e + ); + })(Og); + function bk(t, e, n, i) { + for (var r, o = [], a = 0; a < n.length; a++) { + var s = n[a], + l = t.get(t.mapDimension(s), e); + (r = l), ("category" === i.getAxis(s).type ? null == r : null == r || isNaN(r)) || o.push(i.dataToPoint(l, s)); + } + return o; + } + function wk(t, e, n, i, r) { + var o = bk(t, n, i, r), + a = new Zu({ shape: { points: o }, z2: 10 }); + return e.add(a), t.setItemGraphicEl(n, a), a; + } + function Sk(t) { + var e = t.get("smooth", !0); + return !0 === e && (e = 0.3), nt((e = yo(e))) && (e = 0), { smooth: e }; + } + function Mk(t, e, n, i) { + t.useStyle(e.getItemVisual(n, "style")), (t.style.fill = null), t.setShape("smooth", i.smooth); + var r = e.getItemModel(n), + o = r.getModel("emphasis"); + $l(t, r, "lineStyle"), Zl(t, o.get("focus"), o.get("blurScope"), o.get("disabled")); + } + var Ik = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), (n.visualStyleAccessPath = "lineStyle"), (n.visualDrawType = "stroke"), n; + } + return ( + n(e, t), + (e.prototype.getInitialData = function (t, e) { + return _x(null, this, { useEncodeDefaulter: W(Tk, null, this) }); + }), + (e.prototype.getRawIndicesByActiveState = function (t) { + var e = this.coordinateSystem, + n = this.getData(), + i = []; + return ( + e.eachActiveState(n, function (e, r) { + t === e && i.push(n.getRawIndex(r)); + }), + i + ); + }), + (e.type = "series.parallel"), + (e.dependencies = ["parallel"]), + (e.defaultOption = { + z: 2, + coordinateSystem: "parallel", + parallelIndex: 0, + label: { show: !1 }, + inactiveOpacity: 0.05, + activeOpacity: 1, + lineStyle: { width: 1, opacity: 0.45, type: "solid" }, + emphasis: { label: { show: !1 } }, + progressive: 500, + smooth: !1, + animationEasing: "linear", + }), + e + ); + })(bg); + function Tk(t) { + var e = t.ecModel.getComponent("parallel", t.get("parallelIndex")); + if (e) { + var n = {}; + return ( + E(e.dimensions, function (t) { + var e = +t.replace("dim", ""); + n[t] = e; + }), + n + ); + } + } + var Ck = ["lineStyle", "opacity"], + Dk = { + seriesType: "parallel", + reset: function (t, e) { + var n = t.coordinateSystem, + i = { normal: t.get(["lineStyle", "opacity"]), active: t.get("activeOpacity"), inactive: t.get("inactiveOpacity") }; + return { + progress: function (t, e) { + n.eachActiveState( + e, + function (t, n) { + var r = i[t]; + if ("normal" === t && e.hasItemOption) { + var o = e.getItemModel(n).get(Ck, !0); + null != o && (r = o); + } + e.ensureUniqueItemVisual(n, "style").opacity = r; + }, + t.start, + t.end + ); + }, + }; + }, + }; + function Ak(t) { + !(function (t) { + if (t.parallel) return; + var e = !1; + E(t.series, function (t) { + t && "parallel" === t.type && (e = !0); + }), + e && (t.parallel = [{}]); + })(t), + (function (t) { + var e = To(t.parallelAxis); + E(e, function (e) { + if (q(e)) { + var n = e.parallelIndex || 0, + i = To(t.parallel)[n]; + i && i.parallelAxisDefault && C(e, i.parallelAxisDefault, !1); + } + }); + })(t); + } + var kk = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.prototype.render = function (t, e, n) { + (this._model = t), + (this._api = n), + this._handlers || + ((this._handlers = {}), + E( + Lk, + function (t, e) { + n.getZr().on(e, (this._handlers[e] = W(t, this))); + }, + this + )), + Hg(this, "_throttledDispatchExpand", t.get("axisExpandRate"), "fixRate"); + }), + (e.prototype.dispose = function (t, e) { + Yg(this, "_throttledDispatchExpand"), + E(this._handlers, function (t, n) { + e.getZr().off(n, t); + }), + (this._handlers = null); + }), + (e.prototype._throttledDispatchExpand = function (t) { + this._dispatchExpand(t); + }), + (e.prototype._dispatchExpand = function (t) { + t && this._api.dispatchAction(A({ type: "parallelAxisExpand" }, t)); + }), + (e.type = "parallel"), + e + ); + })(Ag), + Lk = { + mousedown: function (t) { + Pk(this, "click") && (this._mouseDownPoint = [t.offsetX, t.offsetY]); + }, + mouseup: function (t) { + var e = this._mouseDownPoint; + if (Pk(this, "click") && e) { + var n = [t.offsetX, t.offsetY]; + if (Math.pow(e[0] - n[0], 2) + Math.pow(e[1] - n[1], 2) > 5) return; + var i = this._model.coordinateSystem.getSlidedAxisExpandWindow([t.offsetX, t.offsetY]); + "none" !== i.behavior && this._dispatchExpand({ axisExpandWindow: i.axisExpandWindow }); + } + this._mouseDownPoint = null; + }, + mousemove: function (t) { + if (!this._mouseDownPoint && Pk(this, "mousemove")) { + var e = this._model, + n = e.coordinateSystem.getSlidedAxisExpandWindow([t.offsetX, t.offsetY]), + i = n.behavior; + "jump" === i && this._throttledDispatchExpand.debounceNextCall(e.get("axisExpandDebounce")), + this._throttledDispatchExpand("none" === i ? null : { axisExpandWindow: n.axisExpandWindow, animation: "jump" === i ? null : { duration: 0 } }); + } + }, + }; + function Pk(t, e) { + var n = t._model; + return n.get("axisExpandable") && n.get("axisExpandTriggerOn") === e; + } + var Ok = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.prototype.init = function () { + t.prototype.init.apply(this, arguments), this.mergeOption({}); + }), + (e.prototype.mergeOption = function (t) { + var e = this.option; + t && C(e, t, !0), this._initDimensions(); + }), + (e.prototype.contains = function (t, e) { + var n = t.get("parallelIndex"); + return null != n && e.getComponent("parallel", n) === this; + }), + (e.prototype.setAxisExpand = function (t) { + E( + ["axisExpandable", "axisExpandCenter", "axisExpandCount", "axisExpandWidth", "axisExpandWindow"], + function (e) { + t.hasOwnProperty(e) && (this.option[e] = t[e]); + }, + this + ); + }), + (e.prototype._initDimensions = function () { + var t = (this.dimensions = []), + e = (this.parallelAxisIndex = []); + E( + B( + this.ecModel.queryComponents({ mainType: "parallelAxis" }), + function (t) { + return (t.get("parallelIndex") || 0) === this.componentIndex; + }, + this + ), + function (n) { + t.push("dim" + n.get("dim")), e.push(n.componentIndex); + } + ); + }), + (e.type = "parallel"), + (e.dependencies = ["parallelAxis"]), + (e.layoutMode = "box"), + (e.defaultOption = { + z: 0, + left: 80, + top: 60, + right: 80, + bottom: 60, + layout: "horizontal", + axisExpandable: !1, + axisExpandCenter: null, + axisExpandCount: 0, + axisExpandWidth: 50, + axisExpandRate: 17, + axisExpandDebounce: 50, + axisExpandSlideTriggerArea: [-0.15, 0.05, 0.4], + axisExpandTriggerOn: "click", + parallelAxisDefault: null, + }), + e + ); + })(zp), + Rk = (function (t) { + function e(e, n, i, r, o) { + var a = t.call(this, e, n, i) || this; + return (a.type = r || "value"), (a.axisIndex = o), a; + } + return ( + n(e, t), + (e.prototype.isHorizontal = function () { + return "horizontal" !== this.coordinateSystem.getModel().get("layout"); + }), + e + ); + })(ob); + function Nk(t, e, n, i, r, o) { + t = t || 0; + var a = n[1] - n[0]; + if ((null != r && (r = zk(r, [0, a])), null != o && (o = Math.max(o, null != r ? r : 0)), "all" === i)) { + var s = Math.abs(e[1] - e[0]); + (s = zk(s, [0, a])), (r = o = zk(s, [r, o])), (i = 0); + } + (e[0] = zk(e[0], n)), (e[1] = zk(e[1], n)); + var l = Ek(e, i); + e[i] += t; + var u, + h = r || 0, + c = n.slice(); + return ( + l.sign < 0 ? (c[0] += h) : (c[1] -= h), + (e[i] = zk(e[i], c)), + (u = Ek(e, i)), + null != r && (u.sign !== l.sign || u.span < r) && (e[1 - i] = e[i] + l.sign * r), + (u = Ek(e, i)), + null != o && u.span > o && (e[1 - i] = e[i] + u.sign * o), + e + ); + } + function Ek(t, e) { + var n = t[e] - t[1 - e]; + return { span: Math.abs(n), sign: n > 0 ? -1 : n < 0 ? 1 : e ? -1 : 1 }; + } + function zk(t, e) { + return Math.min(null != e[1] ? e[1] : 1 / 0, Math.max(null != e[0] ? e[0] : -1 / 0, t)); + } + var Vk = E, + Bk = Math.min, + Fk = Math.max, + Gk = Math.floor, + Wk = Math.ceil, + Hk = Jr, + Yk = Math.PI, + Xk = (function () { + function t(t, e, n) { + (this.type = "parallel"), (this._axesMap = yt()), (this._axesLayout = {}), (this.dimensions = t.dimensions), (this._model = t), this._init(t, e, n); + } + return ( + (t.prototype._init = function (t, e, n) { + var i = t.dimensions, + r = t.parallelAxisIndex; + Vk( + i, + function (t, n) { + var i = r[n], + o = e.getComponent("parallelAxis", i), + a = this._axesMap.set(t, new Rk(t, b_(o), [0, 0], o.get("type"), i)), + s = "category" === a.type; + (a.onBand = s && o.get("boundaryGap")), (a.inverse = o.get("inverse")), (o.axis = a), (a.model = o), (a.coordinateSystem = o.coordinateSystem = this); + }, + this + ); + }), + (t.prototype.update = function (t, e) { + this._updateAxesFromSeries(this._model, t); + }), + (t.prototype.containPoint = function (t) { + var e = this._makeLayoutInfo(), + n = e.axisBase, + i = e.layoutBase, + r = e.pixelDimIndex, + o = t[1 - r], + a = t[r]; + return o >= n && o <= n + e.axisLength && a >= i && a <= i + e.layoutLength; + }), + (t.prototype.getModel = function () { + return this._model; + }), + (t.prototype._updateAxesFromSeries = function (t, e) { + e.eachSeries(function (n) { + if (t.contains(n, e)) { + var i = n.getData(); + Vk( + this.dimensions, + function (t) { + var e = this._axesMap.get(t); + e.scale.unionExtentFromData(i, i.mapDimension(t)), __(e.scale, e.model); + }, + this + ); + } + }, this); + }), + (t.prototype.resize = function (t, e) { + (this._rect = kp(t.getBoxLayoutParams(), { width: e.getWidth(), height: e.getHeight() })), this._layoutAxes(); + }), + (t.prototype.getRect = function () { + return this._rect; + }), + (t.prototype._makeLayoutInfo = function () { + var t, + e = this._model, + n = this._rect, + i = ["x", "y"], + r = ["width", "height"], + o = e.get("layout"), + a = "horizontal" === o ? 0 : 1, + s = n[r[a]], + l = [0, s], + u = this.dimensions.length, + h = Uk(e.get("axisExpandWidth"), l), + c = Uk(e.get("axisExpandCount") || 0, [0, u]), + p = e.get("axisExpandable") && u > 3 && u > c && c > 1 && h > 0 && s > 0, + d = e.get("axisExpandWindow"); + d ? ((t = Uk(d[1] - d[0], l)), (d[1] = d[0] + t)) : ((t = Uk(h * (c - 1), l)), ((d = [h * (e.get("axisExpandCenter") || Gk(u / 2)) - t / 2])[1] = d[0] + t)); + var f = (s - t) / (u - c); + f < 3 && (f = 0); + var g = [Gk(Hk(d[0] / h, 1)) + 1, Wk(Hk(d[1] / h, 1)) - 1], + y = (f / h) * d[0]; + return { + layout: o, + pixelDimIndex: a, + layoutBase: n[i[a]], + layoutLength: s, + axisBase: n[i[1 - a]], + axisLength: n[r[1 - a]], + axisExpandable: p, + axisExpandWidth: h, + axisCollapseWidth: f, + axisExpandWindow: d, + axisCount: u, + winInnerIndices: g, + axisExpandWindow0Pos: y, + }; + }), + (t.prototype._layoutAxes = function () { + var t = this._rect, + e = this._axesMap, + n = this.dimensions, + i = this._makeLayoutInfo(), + r = i.layout; + e.each(function (t) { + var e = [0, i.axisLength], + n = t.inverse ? 1 : 0; + t.setExtent(e[n], e[1 - n]); + }), + Vk( + n, + function (e, n) { + var o = (i.axisExpandable ? jk : Zk)(n, i), + a = { horizontal: { x: o.position, y: i.axisLength }, vertical: { x: 0, y: o.position } }, + s = { horizontal: Yk / 2, vertical: 0 }, + l = [a[r].x + t.x, a[r].y + t.y], + u = s[r], + h = [1, 0, 0, 1, 0, 0]; + Se(h, h, u), + we(h, h, l), + (this._axesLayout[e] = { + position: l, + rotation: u, + transform: h, + axisNameAvailableWidth: o.axisNameAvailableWidth, + axisLabelShow: o.axisLabelShow, + nameTruncateMaxWidth: o.nameTruncateMaxWidth, + tickDirection: 1, + labelDirection: 1, + }); + }, + this + ); + }), + (t.prototype.getAxis = function (t) { + return this._axesMap.get(t); + }), + (t.prototype.dataToPoint = function (t, e) { + return this.axisCoordToPoint(this._axesMap.get(e).dataToCoord(t), e); + }), + (t.prototype.eachActiveState = function (t, e, n, i) { + null == n && (n = 0), null == i && (i = t.count()); + var r = this._axesMap, + o = this.dimensions, + a = [], + s = []; + E(o, function (e) { + a.push(t.mapDimension(e)), s.push(r.get(e).model); + }); + for (var l = this.hasAxisBrushed(), u = n; u < i; u++) { + var h = void 0; + if (l) { + h = "active"; + for (var c = t.getValues(a, u), p = 0, d = o.length; p < d; p++) { + if ("inactive" === s[p].getActiveState(c[p])) { + h = "inactive"; + break; + } + } + } else h = "normal"; + e(h, u); + } + }), + (t.prototype.hasAxisBrushed = function () { + for (var t = this.dimensions, e = this._axesMap, n = !1, i = 0, r = t.length; i < r; i++) "normal" !== e.get(t[i]).model.getActiveState() && (n = !0); + return n; + }), + (t.prototype.axisCoordToPoint = function (t, e) { + return Fh([t, 0], this._axesLayout[e].transform); + }), + (t.prototype.getAxisLayout = function (t) { + return T(this._axesLayout[t]); + }), + (t.prototype.getSlidedAxisExpandWindow = function (t) { + var e = this._makeLayoutInfo(), + n = e.pixelDimIndex, + i = e.axisExpandWindow.slice(), + r = i[1] - i[0], + o = [0, e.axisExpandWidth * (e.axisCount - 1)]; + if (!this.containPoint(t)) return { behavior: "none", axisExpandWindow: i }; + var a, + s = t[n] - e.layoutBase - e.axisExpandWindow0Pos, + l = "slide", + u = e.axisCollapseWidth, + h = this._model.get("axisExpandSlideTriggerArea"), + c = null != h[0]; + if (u) + c && u && s < r * h[0] ? ((l = "jump"), (a = s - r * h[2])) : c && u && s > r * (1 - h[0]) ? ((l = "jump"), (a = s - r * (1 - h[2]))) : (a = s - r * h[1]) >= 0 && (a = s - r * (1 - h[1])) <= 0 && (a = 0), + (a *= e.axisExpandWidth / u) ? Nk(a, i, o, "all") : (l = "none"); + else { + var p = i[1] - i[0]; + ((i = [Fk(0, (o[1] * s) / p - p / 2)])[1] = Bk(o[1], i[0] + p)), (i[0] = i[1] - p); + } + return { axisExpandWindow: i, behavior: l }; + }), + t + ); + })(); + function Uk(t, e) { + return Bk(Fk(t, e[0]), e[1]); + } + function Zk(t, e) { + var n = e.layoutLength / (e.axisCount - 1); + return { position: n * t, axisNameAvailableWidth: n, axisLabelShow: !0 }; + } + function jk(t, e) { + var n, + i, + r = e.layoutLength, + o = e.axisExpandWidth, + a = e.axisCount, + s = e.axisCollapseWidth, + l = e.winInnerIndices, + u = s, + h = !1; + return ( + t < l[0] ? ((n = t * s), (i = s)) : t <= l[1] ? ((n = e.axisExpandWindow0Pos + t * o - e.axisExpandWindow[0]), (u = o), (h = !0)) : ((n = r - (a - 1 - t) * s), (i = s)), + { position: n, axisNameAvailableWidth: u, axisLabelShow: h, nameTruncateMaxWidth: i } + ); + } + var qk = { + create: function (t, e) { + var n = []; + return ( + t.eachComponent("parallel", function (i, r) { + var o = new Xk(i, t, e); + (o.name = "parallel_" + r), o.resize(i, e), (i.coordinateSystem = o), (o.model = i), n.push(o); + }), + t.eachSeries(function (t) { + if ("parallel" === t.get("coordinateSystem")) { + var e = t.getReferringComponents("parallel", Wo).models[0]; + t.coordinateSystem = e.coordinateSystem; + } + }), + n + ); + }, + }, + Kk = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), (n.activeIntervals = []), n; + } + return ( + n(e, t), + (e.prototype.getAreaSelectStyle = function () { + return ia([ + ["fill", "color"], + ["lineWidth", "borderWidth"], + ["stroke", "borderColor"], + ["width", "width"], + ["opacity", "opacity"], + ])(this.getModel("areaSelectStyle")); + }), + (e.prototype.setActiveIntervals = function (t) { + var e = (this.activeIntervals = T(t)); + if (e) for (var n = e.length - 1; n >= 0; n--) Qr(e[n]); + }), + (e.prototype.getActiveState = function (t) { + var e = this.activeIntervals; + if (!e.length) return "normal"; + if (null == t || isNaN(+t)) return "inactive"; + if (1 === e.length) { + var n = e[0]; + if (n[0] <= t && t <= n[1]) return "active"; + } else for (var i = 0, r = e.length; i < r; i++) if (e[i][0] <= t && t <= e[i][1]) return "active"; + return "inactive"; + }), + e + ); + })(zp); + R(Kk, D_); + var $k = !0, + Jk = Math.min, + Qk = Math.max, + tL = Math.pow, + eL = "globalPan", + nL = { w: [0, 0], e: [0, 1], n: [1, 0], s: [1, 1] }, + iL = { w: "ew", e: "ew", n: "ns", s: "ns", ne: "nesw", sw: "nesw", nw: "nwse", se: "nwse" }, + rL = { brushStyle: { lineWidth: 2, stroke: "rgba(210,219,238,0.3)", fill: "#D2DBEE" }, transformable: !0, brushMode: "single", removeOnClick: !1 }, + oL = 0, + aL = (function (t) { + function e(e) { + var n = t.call(this) || this; + return ( + (n._track = []), + (n._covers = []), + (n._handlers = {}), + (n._zr = e), + (n.group = new Br()), + (n._uid = "brushController_" + oL++), + E( + OL, + function (t, e) { + this._handlers[e] = W(t, this); + }, + n + ), + n + ); + } + return ( + n(e, t), + (e.prototype.enableBrush = function (t) { + return this._brushType && this._doDisableBrush(), t.brushType && this._doEnableBrush(t), this; + }), + (e.prototype._doEnableBrush = function (t) { + var e = this._zr; + this._enableGlobalPan || + (function (t, e, n) { + QI(t)[e] = n; + })(e, eL, this._uid), + E(this._handlers, function (t, n) { + e.on(n, t); + }), + (this._brushType = t.brushType), + (this._brushOption = C(T(rL), t, !0)); + }), + (e.prototype._doDisableBrush = function () { + var t = this._zr; + !(function (t, e, n) { + var i = QI(t); + i[e] === n && (i[e] = null); + })(t, eL, this._uid), + E(this._handlers, function (e, n) { + t.off(n, e); + }), + (this._brushType = this._brushOption = null); + }), + (e.prototype.setPanels = function (t) { + if (t && t.length) { + var e = (this._panels = {}); + E(t, function (t) { + e[t.panelId] = T(t); + }); + } else this._panels = null; + return this; + }), + (e.prototype.mount = function (t) { + (t = t || {}), (this._enableGlobalPan = t.enableGlobalPan); + var e = this.group; + return this._zr.add(e), e.attr({ x: t.x || 0, y: t.y || 0, rotation: t.rotation || 0, scaleX: t.scaleX || 1, scaleY: t.scaleY || 1 }), (this._transform = e.getLocalTransform()), this; + }), + (e.prototype.updateCovers = function (t) { + t = z(t, function (t) { + return C(T(rL), t, !0); + }); + var e = this._covers, + n = (this._covers = []), + i = this, + r = this._creatingCover; + return ( + new Gm( + e, + t, + function (t, e) { + return o(t.__brushOption, e); + }, + o + ) + .add(a) + .update(a) + .remove(function (t) { + e[t] !== r && i.group.remove(e[t]); + }) + .execute(), + this + ); + function o(t, e) { + return (null != t.id ? t.id : "\0-brush-index-" + e) + "-" + t.brushType; + } + function a(o, a) { + var s = t[o]; + if (null != a && e[a] === r) n[o] = e[a]; + else { + var l = (n[o] = null != a ? ((e[a].__brushOption = s), e[a]) : lL(i, sL(i, s))); + cL(i, l); + } + } + }), + (e.prototype.unmount = function () { + return this.enableBrush(!1), gL(this), this._zr.remove(this.group), this; + }), + (e.prototype.dispose = function () { + this.unmount(), this.off(); + }), + e + ); + })(jt); + function sL(t, e) { + var n = NL[e.brushType].createCover(t, e); + return (n.__brushOption = e), hL(n, e), t.group.add(n), n; + } + function lL(t, e) { + var n = pL(e); + return n.endCreating && (n.endCreating(t, e), hL(e, e.__brushOption)), e; + } + function uL(t, e) { + var n = e.__brushOption; + pL(e).updateCoverShape(t, e, n.range, n); + } + function hL(t, e) { + var n = e.z; + null == n && (n = 1e4), + t.traverse(function (t) { + (t.z = n), (t.z2 = n); + }); + } + function cL(t, e) { + pL(e).updateCommon(t, e), uL(t, e); + } + function pL(t) { + return NL[t.__brushOption.brushType]; + } + function dL(t, e, n) { + var i, + r = t._panels; + if (!r) return $k; + var o = t._transform; + return ( + E(r, function (t) { + t.isTargetByCursor(e, n, o) && (i = t); + }), + i + ); + } + function fL(t, e) { + var n = t._panels; + if (!n) return $k; + var i = e.__brushOption.panelId; + return null != i ? n[i] : $k; + } + function gL(t) { + var e = t._covers, + n = e.length; + return ( + E( + e, + function (e) { + t.group.remove(e); + }, + t + ), + (e.length = 0), + !!n + ); + } + function yL(t, e) { + var n = z(t._covers, function (t) { + var e = t.__brushOption, + n = T(e.range); + return { brushType: e.brushType, panelId: e.panelId, range: n }; + }); + t.trigger("brush", { areas: n, isEnd: !!e.isEnd, removeOnClick: !!e.removeOnClick }); + } + function vL(t) { + var e = t.length - 1; + return e < 0 && (e = 0), [t[0], t[e]]; + } + function mL(t, e, n, i) { + var r = new Br(); + return ( + r.add(new Ws({ name: "main", style: wL(n), silent: !0, draggable: !0, cursor: "move", drift: H(IL, t, e, r, ["n", "s", "w", "e"]), ondragend: H(yL, e, { isEnd: !0 }) })), + E(i, function (n) { + r.add(new Ws({ name: n.join(""), style: { opacity: 0 }, draggable: !0, silent: !0, invisible: !0, drift: H(IL, t, e, r, n), ondragend: H(yL, e, { isEnd: !0 }) })); + }), + r + ); + } + function xL(t, e, n, i) { + var r = i.brushStyle.lineWidth || 0, + o = Qk(r, 6), + a = n[0][0], + s = n[1][0], + l = a - r / 2, + u = s - r / 2, + h = n[0][1], + c = n[1][1], + p = h - o + r / 2, + d = c - o + r / 2, + f = h - a, + g = c - s, + y = f + r, + v = g + r; + bL(t, e, "main", a, s, f, g), + i.transformable && + (bL(t, e, "w", l, u, o, v), bL(t, e, "e", p, u, o, v), bL(t, e, "n", l, u, y, o), bL(t, e, "s", l, d, y, o), bL(t, e, "nw", l, u, o, o), bL(t, e, "ne", p, u, o, o), bL(t, e, "sw", l, d, o, o), bL(t, e, "se", p, d, o, o)); + } + function _L(t, e) { + var n = e.__brushOption, + i = n.transformable, + r = e.childAt(0); + r.useStyle(wL(n)), + r.attr({ silent: !i, cursor: i ? "move" : "default" }), + E([["w"], ["e"], ["n"], ["s"], ["s", "e"], ["s", "w"], ["n", "e"], ["n", "w"]], function (n) { + var r = e.childOfName(n.join("")), + o = + 1 === n.length + ? ML(t, n[0]) + : (function (t, e) { + var n = [ML(t, e[0]), ML(t, e[1])]; + return ("e" === n[0] || "w" === n[0]) && n.reverse(), n.join(""); + })(t, n); + r && r.attr({ silent: !i, invisible: !i, cursor: i ? iL[o] + "-resize" : null }); + }); + } + function bL(t, e, n, i, r, o, a) { + var s = e.childOfName(n); + s && + s.setShape( + (function (t) { + var e = Jk(t[0][0], t[1][0]), + n = Jk(t[0][1], t[1][1]), + i = Qk(t[0][0], t[1][0]), + r = Qk(t[0][1], t[1][1]); + return { x: e, y: n, width: i - e, height: r - n }; + })( + DL(t, e, [ + [i, r], + [i + o, r + a], + ]) + ) + ); + } + function wL(t) { + return k({ strokeNoScale: !0 }, t.brushStyle); + } + function SL(t, e, n, i) { + var r = [Jk(t, n), Jk(e, i)], + o = [Qk(t, n), Qk(e, i)]; + return [ + [r[0], o[0]], + [r[1], o[1]], + ]; + } + function ML(t, e) { + var n = Gh( + { w: "left", e: "right", n: "top", s: "bottom" }[e], + (function (t) { + return Bh(t.group); + })(t) + ); + return { left: "w", right: "e", top: "n", bottom: "s" }[n]; + } + function IL(t, e, n, i, r, o) { + var a = n.__brushOption, + s = t.toRectRange(a.range), + l = CL(e, r, o); + E(i, function (t) { + var e = nL[t]; + s[e[0]][e[1]] += l[e[0]]; + }), + (a.range = t.fromRectRange(SL(s[0][0], s[1][0], s[0][1], s[1][1]))), + cL(e, n), + yL(e, { isEnd: !1 }); + } + function TL(t, e, n, i) { + var r = e.__brushOption.range, + o = CL(t, n, i); + E(r, function (t) { + (t[0] += o[0]), (t[1] += o[1]); + }), + cL(t, e), + yL(t, { isEnd: !1 }); + } + function CL(t, e, n) { + var i = t.group, + r = i.transformCoordToLocal(e, n), + o = i.transformCoordToLocal(0, 0); + return [r[0] - o[0], r[1] - o[1]]; + } + function DL(t, e, n) { + var i = fL(t, e); + return i && i !== $k ? i.clipPath(n, t._transform) : T(n); + } + function AL(t) { + var e = t.event; + e.preventDefault && e.preventDefault(); + } + function kL(t, e, n) { + return t.childOfName("main").contain(e, n); + } + function LL(t, e, n, i) { + var r, + o = t._creatingCover, + a = t._creatingPanel, + s = t._brushOption; + if ( + (t._track.push(n.slice()), + (function (t) { + var e = t._track; + if (!e.length) return !1; + var n = e[e.length - 1], + i = e[0], + r = n[0] - i[0], + o = n[1] - i[1]; + return tL(r * r + o * o, 0.5) > 6; + })(t) || o) + ) { + if (a && !o) { + "single" === s.brushMode && gL(t); + var l = T(s); + (l.brushType = PL(l.brushType, a)), (l.panelId = a === $k ? null : a.panelId), (o = t._creatingCover = sL(t, l)), t._covers.push(o); + } + if (o) { + var u = NL[PL(t._brushType, a)]; + (o.__brushOption.range = u.getCreatingRange(DL(t, o, t._track))), i && (lL(t, o), u.updateCommon(t, o)), uL(t, o), (r = { isEnd: i }); + } + } else i && "single" === s.brushMode && s.removeOnClick && dL(t, e, n) && gL(t) && (r = { isEnd: i, removeOnClick: !0 }); + return r; + } + function PL(t, e) { + return "auto" === t ? e.defaultBrushType : t; + } + var OL = { + mousedown: function (t) { + if (this._dragging) RL(this, t); + else if (!t.target || !t.target.draggable) { + AL(t); + var e = this.group.transformCoordToLocal(t.offsetX, t.offsetY); + (this._creatingCover = null), (this._creatingPanel = dL(this, t, e)) && ((this._dragging = !0), (this._track = [e.slice()])); + } + }, + mousemove: function (t) { + var e = t.offsetX, + n = t.offsetY, + i = this.group.transformCoordToLocal(e, n); + if ( + ((function (t, e, n) { + if ( + t._brushType && + !(function (t, e, n) { + var i = t._zr; + return e < 0 || e > i.getWidth() || n < 0 || n > i.getHeight(); + })(t, e.offsetX, e.offsetY) + ) { + var i = t._zr, + r = t._covers, + o = dL(t, e, n); + if (!t._dragging) + for (var a = 0; a < r.length; a++) { + var s = r[a].__brushOption; + if (o && (o === $k || s.panelId === o.panelId) && NL[s.brushType].contain(r[a], n[0], n[1])) return; + } + o && i.setCursorStyle("crosshair"); + } + })(this, t, i), + this._dragging) + ) { + AL(t); + var r = LL(this, t, i, !1); + r && yL(this, r); + } + }, + mouseup: function (t) { + RL(this, t); + }, + }; + function RL(t, e) { + if (t._dragging) { + AL(e); + var n = e.offsetX, + i = e.offsetY, + r = t.group.transformCoordToLocal(n, i), + o = LL(t, e, r, !0); + (t._dragging = !1), (t._track = []), (t._creatingCover = null), o && yL(t, o); + } + } + var NL = { + lineX: EL(0), + lineY: EL(1), + rect: { + createCover: function (t, e) { + function n(t) { + return t; + } + return mL({ toRectRange: n, fromRectRange: n }, t, e, [["w"], ["e"], ["n"], ["s"], ["s", "e"], ["s", "w"], ["n", "e"], ["n", "w"]]); + }, + getCreatingRange: function (t) { + var e = vL(t); + return SL(e[1][0], e[1][1], e[0][0], e[0][1]); + }, + updateCoverShape: function (t, e, n, i) { + xL(t, e, n, i); + }, + updateCommon: _L, + contain: kL, + }, + polygon: { + createCover: function (t, e) { + var n = new Br(); + return n.add(new Zu({ name: "main", style: wL(e), silent: !0 })), n; + }, + getCreatingRange: function (t) { + return t; + }, + endCreating: function (t, e) { + e.remove(e.childAt(0)), e.add(new Xu({ name: "main", draggable: !0, drift: H(TL, t, e), ondragend: H(yL, t, { isEnd: !0 }) })); + }, + updateCoverShape: function (t, e, n, i) { + e.childAt(0).setShape({ points: DL(t, e, n) }); + }, + updateCommon: _L, + contain: kL, + }, + }; + function EL(t) { + return { + createCover: function (e, n) { + return mL( + { + toRectRange: function (e) { + var n = [e, [0, 100]]; + return t && n.reverse(), n; + }, + fromRectRange: function (e) { + return e[t]; + }, + }, + e, + n, + [ + [["w"], ["e"]], + [["n"], ["s"]], + ][t] + ); + }, + getCreatingRange: function (e) { + var n = vL(e); + return [Jk(n[0][t], n[1][t]), Qk(n[0][t], n[1][t])]; + }, + updateCoverShape: function (e, n, i, r) { + var o, + a = fL(e, n); + if (a !== $k && a.getLinearBrushOtherExtent) o = a.getLinearBrushOtherExtent(t); + else { + var s = e._zr; + o = [0, [s.getWidth(), s.getHeight()][1 - t]]; + } + var l = [i, o]; + t && l.reverse(), xL(e, n, l, r); + }, + updateCommon: _L, + contain: kL, + }; + } + function zL(t) { + return ( + (t = FL(t)), + function (e) { + return Yh(e, t); + } + ); + } + function VL(t, e) { + return ( + (t = FL(t)), + function (n) { + var i = null != e ? e : n, + r = i ? t.width : t.height, + o = i ? t.x : t.y; + return [o, o + (r || 0)]; + } + ); + } + function BL(t, e, n) { + var i = FL(t); + return function (t, r) { + return i.contain(r[0], r[1]) && !lT(t, e, n); + }; + } + function FL(t) { + return ze.create(t); + } + var GL = ["axisLine", "axisTickLabel", "axisName"], + WL = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.prototype.init = function (e, n) { + t.prototype.init.apply(this, arguments), (this._brushController = new aL(n.getZr())).on("brush", W(this._onBrush, this)); + }), + (e.prototype.render = function (t, e, n, i) { + if ( + !(function (t, e, n) { + return n && "axisAreaSelect" === n.type && e.findComponents({ mainType: "parallelAxis", query: n })[0] === t; + })(t, e, i) + ) { + (this.axisModel = t), (this.api = n), this.group.removeAll(); + var r = this._axisGroup; + if (((this._axisGroup = new Br()), this.group.add(this._axisGroup), t.get("show"))) { + var o = (function (t, e) { + return e.getComponent("parallel", t.get("parallelIndex")); + })(t, e), + a = o.coordinateSystem, + s = t.getAreaSelectStyle(), + l = s.width, + u = t.axis.dim, + h = A({ strokeContainThreshold: l }, a.getAxisLayout(u)), + c = new cI(t, h); + E(GL, c.add, c), this._axisGroup.add(c.getGroup()), this._refreshBrushController(h, s, t, o, l, n), Hh(r, this._axisGroup, t); + } + } + }), + (e.prototype._refreshBrushController = function (t, e, n, i, r, o) { + var a = n.axis.getExtent(), + s = a[1] - a[0], + l = Math.min(30, 0.1 * Math.abs(s)), + u = ze.create({ x: a[0], y: -r / 2, width: s, height: r }); + (u.x -= l), + (u.width += 2 * l), + this._brushController + .mount({ enableGlobalPan: !0, rotation: t.rotation, x: t.position[0], y: t.position[1] }) + .setPanels([{ panelId: "pl", clipPath: zL(u), isTargetByCursor: BL(u, o, i), getLinearBrushOtherExtent: VL(u, 0) }]) + .enableBrush({ brushType: "lineX", brushStyle: e, removeOnClick: !0 }) + .updateCovers( + (function (t) { + var e = t.axis; + return z(t.activeIntervals, function (t) { + return { brushType: "lineX", panelId: "pl", range: [e.dataToCoord(t[0], !0), e.dataToCoord(t[1], !0)] }; + }); + })(n) + ); + }), + (e.prototype._onBrush = function (t) { + var e = t.areas, + n = this.axisModel, + i = n.axis, + r = z(e, function (t) { + return [i.coordToData(t.range[0], !0), i.coordToData(t.range[1], !0)]; + }); + (!n.option.realtime === t.isEnd || t.removeOnClick) && this.api.dispatchAction({ type: "axisAreaSelect", parallelAxisId: n.id, intervals: r }); + }), + (e.prototype.dispose = function () { + this._brushController.dispose(); + }), + (e.type = "parallelAxis"), + e + ); + })(Ag); + var HL = { type: "axisAreaSelect", event: "axisAreaSelected" }; + var YL = { type: "value", areaSelectStyle: { width: 20, borderWidth: 1, borderColor: "rgba(160,197,232)", color: "rgba(160,197,232)", opacity: 0.3 }, realtime: !0, z: 10 }; + function XL(t) { + t.registerComponentView(kk), + t.registerComponentModel(Ok), + t.registerCoordinateSystem("parallel", qk), + t.registerPreprocessor(Ak), + t.registerComponentModel(Kk), + t.registerComponentView(WL), + jM(t, "parallel", Kk, YL), + (function (t) { + t.registerAction(HL, function (t, e) { + e.eachComponent({ mainType: "parallelAxis", query: t }, function (e) { + e.axis.model.setActiveIntervals(t.intervals); + }); + }), + t.registerAction("parallelAxisExpand", function (t, e) { + e.eachComponent({ mainType: "parallel", query: t }, function (e) { + e.setAxisExpand(t); + }); + }); + })(t); + } + var UL = function () { + (this.x1 = 0), (this.y1 = 0), (this.x2 = 0), (this.y2 = 0), (this.cpx1 = 0), (this.cpy1 = 0), (this.cpx2 = 0), (this.cpy2 = 0), (this.extent = 0); + }, + ZL = (function (t) { + function e(e) { + return t.call(this, e) || this; + } + return ( + n(e, t), + (e.prototype.getDefaultShape = function () { + return new UL(); + }), + (e.prototype.buildPath = function (t, e) { + var n = e.extent; + t.moveTo(e.x1, e.y1), + t.bezierCurveTo(e.cpx1, e.cpy1, e.cpx2, e.cpy2, e.x2, e.y2), + "vertical" === e.orient ? (t.lineTo(e.x2 + n, e.y2), t.bezierCurveTo(e.cpx2 + n, e.cpy2, e.cpx1 + n, e.cpy1, e.x1 + n, e.y1)) : (t.lineTo(e.x2, e.y2 + n), t.bezierCurveTo(e.cpx2, e.cpy2 + n, e.cpx1, e.cpy1 + n, e.x1, e.y1 + n)), + t.closePath(); + }), + (e.prototype.highlight = function () { + Ol(this); + }), + (e.prototype.downplay = function () { + Rl(this); + }), + e + ); + })(ks), + jL = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), (n._focusAdjacencyDisabled = !1), n; + } + return ( + n(e, t), + (e.prototype.render = function (t, e, n) { + var i = this, + r = t.getGraph(), + o = this.group, + a = t.layoutInfo, + s = a.width, + l = a.height, + u = t.getData(), + h = t.getData("edge"), + c = t.get("orient"); + (this._model = t), + o.removeAll(), + (o.x = a.x), + (o.y = a.y), + r.eachEdge(function (e) { + var n = new ZL(), + i = rl(n); + (i.dataIndex = e.dataIndex), (i.seriesIndex = t.seriesIndex), (i.dataType = "edge"); + var r, + a, + u, + p, + d, + f, + g, + y, + v = e.getModel(), + m = v.getModel("lineStyle"), + x = m.get("curveness"), + _ = e.node1.getLayout(), + b = e.node1.getModel(), + w = b.get("localX"), + S = b.get("localY"), + M = e.node2.getLayout(), + I = e.node2.getModel(), + T = I.get("localX"), + C = I.get("localY"), + D = e.getLayout(); + (n.shape.extent = Math.max(1, D.dy)), + (n.shape.orient = c), + "vertical" === c + ? ((r = (null != w ? w * s : _.x) + D.sy), (a = (null != S ? S * l : _.y) + _.dy), (u = (null != T ? T * s : M.x) + D.ty), (d = r), (f = a * (1 - x) + (p = null != C ? C * l : M.y) * x), (g = u), (y = a * x + p * (1 - x))) + : ((r = (null != w ? w * s : _.x) + _.dx), (a = (null != S ? S * l : _.y) + D.sy), (d = r * (1 - x) + (u = null != T ? T * s : M.x) * x), (f = a), (g = r * x + u * (1 - x)), (y = p = (null != C ? C * l : M.y) + D.ty)), + n.setShape({ x1: r, y1: a, x2: u, y2: p, cpx1: d, cpy1: f, cpx2: g, cpy2: y }), + n.useStyle(m.getItemStyle()), + qL(n.style, c, e); + var A = "" + v.get("value"), + k = rc(v, "edgeLabel"); + ic(n, k, { + labelFetcher: { + getFormattedLabel: function (e, n, i, r, o, a) { + return t.getFormattedLabel(e, n, "edge", r, ot(o, k.normal && k.normal.get("formatter"), A), a); + }, + }, + labelDataIndex: e.dataIndex, + defaultText: A, + }), + n.setTextConfig({ position: "inside" }); + var L = v.getModel("emphasis"); + $l(n, v, "lineStyle", function (t) { + var n = t.getItemStyle(); + return qL(n, c, e), n; + }), + o.add(n), + h.setItemGraphicEl(e.dataIndex, n); + var P = L.get("focus"); + Zl(n, "adjacency" === P ? e.getAdjacentDataIndices() : "trajectory" === P ? e.getTrajectoryDataIndices() : P, L.get("blurScope"), L.get("disabled")); + }), + r.eachNode(function (e) { + var n = e.getLayout(), + i = e.getModel(), + r = i.get("localX"), + a = i.get("localY"), + h = i.getModel("emphasis"), + c = new Ws({ shape: { x: null != r ? r * s : n.x, y: null != a ? a * l : n.y, width: n.dx, height: n.dy }, style: i.getModel("itemStyle").getItemStyle(), z2: 10 }); + ic(c, rc(i), { + labelFetcher: { + getFormattedLabel: function (e, n) { + return t.getFormattedLabel(e, n, "node"); + }, + }, + labelDataIndex: e.dataIndex, + defaultText: e.id, + }), + (c.disableLabelAnimation = !0), + c.setStyle("fill", e.getVisual("color")), + c.setStyle("decal", e.getVisual("style").decal), + $l(c, i), + o.add(c), + u.setItemGraphicEl(e.dataIndex, c), + (rl(c).dataType = "node"); + var p = h.get("focus"); + Zl(c, "adjacency" === p ? e.getAdjacentDataIndices() : "trajectory" === p ? e.getTrajectoryDataIndices() : p, h.get("blurScope"), h.get("disabled")); + }), + u.eachItemGraphicEl(function (e, r) { + u.getItemModel(r).get("draggable") && + ((e.drift = function (e, o) { + (i._focusAdjacencyDisabled = !0), + (this.shape.x += e), + (this.shape.y += o), + this.dirty(), + n.dispatchAction({ type: "dragNode", seriesId: t.id, dataIndex: u.getRawIndex(r), localX: this.shape.x / s, localY: this.shape.y / l }); + }), + (e.ondragend = function () { + i._focusAdjacencyDisabled = !1; + }), + (e.draggable = !0), + (e.cursor = "move")); + }), + !this._data && + t.isAnimationEnabled() && + o.setClipPath( + (function (t, e, n) { + var i = new Ws({ shape: { x: t.x - 10, y: t.y - 10, width: 0, height: t.height + 20 } }); + return mh(i, { shape: { width: t.width + 20 } }, e, n), i; + })(o.getBoundingRect(), t, function () { + o.removeClipPath(); + }) + ), + (this._data = t.getData()); + }), + (e.prototype.dispose = function () {}), + (e.type = "sankey"), + e + ); + })(Og); + function qL(t, e, n) { + switch (t.fill) { + case "source": + (t.fill = n.node1.getVisual("color")), (t.decal = n.node1.getVisual("style").decal); + break; + case "target": + (t.fill = n.node2.getVisual("color")), (t.decal = n.node2.getVisual("style").decal); + break; + case "gradient": + var i = n.node1.getVisual("color"), + r = n.node2.getVisual("color"); + U(i) && + U(r) && + (t.fill = new oh(0, 0, +("horizontal" === e), +("vertical" === e), [ + { color: i, offset: 0 }, + { color: r, offset: 1 }, + ])); + } + } + var KL = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.prototype.getInitialData = function (t, e) { + var n = t.edges || t.links, + i = t.data || t.nodes, + r = t.levels; + this.levelModels = []; + for (var o = this.levelModels, a = 0; a < r.length; a++) null != r[a].depth && r[a].depth >= 0 && (o[r[a].depth] = new Cc(r[a], this, e)); + if (i && n) { + var s = sk(i, n, this, !0, function (t, e) { + t.wrapMethod("getItemModel", function (t, e) { + var n = t.parentModel, + i = n.getData().getItemLayout(e); + if (i) { + var r = i.depth, + o = n.levelModels[r]; + o && (t.parentModel = o); + } + return t; + }), + e.wrapMethod("getItemModel", function (t, e) { + var n = t.parentModel, + i = n.getGraph().getEdgeByIndex(e).node1.getLayout(); + if (i) { + var r = i.depth, + o = n.levelModels[r]; + o && (t.parentModel = o); + } + return t; + }); + }); + return s.data; + } + }), + (e.prototype.setNodePosition = function (t, e) { + var n = (this.option.data || this.option.nodes)[t]; + (n.localX = e[0]), (n.localY = e[1]); + }), + (e.prototype.getGraph = function () { + return this.getData().graph; + }), + (e.prototype.getEdgeData = function () { + return this.getGraph().edgeData; + }), + (e.prototype.formatTooltip = function (t, e, n) { + function i(t) { + return isNaN(t) || null == t; + } + if ("edge" === n) { + var r = this.getDataParams(t, n), + o = r.data, + a = r.value; + return og("nameValue", { name: o.source + " -- " + o.target, value: a, noValue: i(a) }); + } + var s = this.getGraph().getNodeByIndex(t).getLayout().value, + l = this.getDataParams(t, n).data.name; + return og("nameValue", { name: null != l ? l + "" : null, value: s, noValue: i(s) }); + }), + (e.prototype.optionUpdated = function () {}), + (e.prototype.getDataParams = function (e, n) { + var i = t.prototype.getDataParams.call(this, e, n); + if (null == i.value && "node" === n) { + var r = this.getGraph().getNodeByIndex(e).getLayout().value; + i.value = r; + } + return i; + }), + (e.type = "series.sankey"), + (e.defaultOption = { + z: 2, + coordinateSystem: "view", + left: "5%", + top: "5%", + right: "20%", + bottom: "5%", + orient: "horizontal", + nodeWidth: 20, + nodeGap: 8, + draggable: !0, + layoutIterations: 32, + label: { show: !0, position: "right", fontSize: 12 }, + edgeLabel: { show: !1, fontSize: 12 }, + levels: [], + nodeAlign: "justify", + lineStyle: { color: "#314656", opacity: 0.2, curveness: 0.5 }, + emphasis: { label: { show: !0 }, lineStyle: { opacity: 0.5 } }, + select: { itemStyle: { borderColor: "#212121" } }, + animationEasing: "linear", + animationDuration: 1e3, + }), + e + ); + })(bg); + function $L(t, e) { + t.eachSeriesByType("sankey", function (t) { + var n = t.get("nodeWidth"), + i = t.get("nodeGap"), + r = (function (t, e) { + return kp(t.getBoxLayoutParams(), { width: e.getWidth(), height: e.getHeight() }); + })(t, e); + t.layoutInfo = r; + var o = r.width, + a = r.height, + s = t.getGraph(), + l = s.nodes, + u = s.edges; + !(function (t) { + E(t, function (t) { + var e = sP(t.outEdges, aP), + n = sP(t.inEdges, aP), + i = t.getValue() || 0, + r = Math.max(e, n, i); + t.setLayout({ value: r }, !0); + }); + })(l), + (function (t, e, n, i, r, o, a, s, l) { + (function (t, e, n, i, r, o, a) { + for (var s = [], l = [], u = [], h = [], c = 0, p = 0; p < e.length; p++) s[p] = 1; + for (p = 0; p < t.length; p++) (l[p] = t[p].inEdges.length), 0 === l[p] && u.push(t[p]); + var d = -1; + for (; u.length; ) { + for (var f = 0; f < u.length; f++) { + var g = u[f], + y = g.hostGraph.data.getRawDataItem(g.dataIndex), + v = null != y.depth && y.depth >= 0; + v && y.depth > d && (d = y.depth), g.setLayout({ depth: v ? y.depth : c }, !0), "vertical" === o ? g.setLayout({ dy: n }, !0) : g.setLayout({ dx: n }, !0); + for (var m = 0; m < g.outEdges.length; m++) { + var x = g.outEdges[m]; + s[e.indexOf(x)] = 0; + var _ = x.node2; + 0 == --l[t.indexOf(_)] && h.indexOf(_) < 0 && h.push(_); + } + } + ++c, (u = h), (h = []); + } + for (p = 0; p < s.length; p++) if (1 === s[p]) throw new Error("Sankey is a DAG, the original data has cycle!"); + var b = d > c - 1 ? d : c - 1; + a && + "left" !== a && + (function (t, e, n, i) { + if ("right" === e) { + for (var r = [], o = t, a = 0; o.length; ) { + for (var s = 0; s < o.length; s++) { + var l = o[s]; + l.setLayout({ skNodeHeight: a }, !0); + for (var u = 0; u < l.inEdges.length; u++) { + var h = l.inEdges[u]; + r.indexOf(h.node1) < 0 && r.push(h.node1); + } + } + (o = r), (r = []), ++a; + } + E(t, function (t) { + JL(t) || t.setLayout({ depth: Math.max(0, i - t.getLayout().skNodeHeight) }, !0); + }); + } else + "justify" === e && + (function (t, e) { + E(t, function (t) { + JL(t) || t.outEdges.length || t.setLayout({ depth: e }, !0); + }); + })(t, i); + })(t, a, 0, b); + var w = "vertical" === o ? (r - n) / b : (i - n) / b; + !(function (t, e, n) { + E(t, function (t) { + var i = t.getLayout().depth * e; + "vertical" === n ? t.setLayout({ y: i }, !0) : t.setLayout({ x: i }, !0); + }); + })(t, w, o); + })(t, e, n, r, o, s, l), + (function (t, e, n, i, r, o, a) { + var s = (function (t, e) { + var n = [], + i = "vertical" === e ? "y" : "x", + r = Uo(t, function (t) { + return t.getLayout()[i]; + }); + return ( + r.keys.sort(function (t, e) { + return t - e; + }), + E(r.keys, function (t) { + n.push(r.buckets.get(t)); + }), + n + ); + })(t, a); + (function (t, e, n, i, r, o) { + var a = 1 / 0; + E(t, function (t) { + var e = t.length, + s = 0; + E(t, function (t) { + s += t.getLayout().value; + }); + var l = "vertical" === o ? (i - (e - 1) * r) / s : (n - (e - 1) * r) / s; + l < a && (a = l); + }), + E(t, function (t) { + E(t, function (t, e) { + var n = t.getLayout().value * a; + "vertical" === o ? (t.setLayout({ x: e }, !0), t.setLayout({ dx: n }, !0)) : (t.setLayout({ y: e }, !0), t.setLayout({ dy: n }, !0)); + }); + }), + E(e, function (t) { + var e = +t.getValue() * a; + t.setLayout({ dy: e }, !0); + }); + })(s, e, n, i, r, a), + QL(s, r, n, i, a); + for (var l = 1; o > 0; o--) tP(s, (l *= 0.99), a), QL(s, r, n, i, a), lP(s, l, a), QL(s, r, n, i, a); + })(t, e, o, r, i, a, s), + (function (t, e) { + var n = "vertical" === e ? "x" : "y"; + E(t, function (t) { + t.outEdges.sort(function (t, e) { + return t.node2.getLayout()[n] - e.node2.getLayout()[n]; + }), + t.inEdges.sort(function (t, e) { + return t.node1.getLayout()[n] - e.node1.getLayout()[n]; + }); + }), + E(t, function (t) { + var e = 0, + n = 0; + E(t.outEdges, function (t) { + t.setLayout({ sy: e }, !0), (e += t.getLayout().dy); + }), + E(t.inEdges, function (t) { + t.setLayout({ ty: n }, !0), (n += t.getLayout().dy); + }); + }); + })(t, s); + })( + l, + u, + n, + i, + o, + a, + 0 !== + B(l, function (t) { + return 0 === t.getLayout().value; + }).length + ? 0 + : t.get("layoutIterations"), + t.get("orient"), + t.get("nodeAlign") + ); + }); + } + function JL(t) { + var e = t.hostGraph.data.getRawDataItem(t.dataIndex); + return null != e.depth && e.depth >= 0; + } + function QL(t, e, n, i, r) { + var o = "vertical" === r ? "x" : "y"; + E(t, function (t) { + var a, s, l; + t.sort(function (t, e) { + return t.getLayout()[o] - e.getLayout()[o]; + }); + for (var u = 0, h = t.length, c = "vertical" === r ? "dx" : "dy", p = 0; p < h; p++) + (l = u - (s = t[p]).getLayout()[o]) > 0 && ((a = s.getLayout()[o] + l), "vertical" === r ? s.setLayout({ x: a }, !0) : s.setLayout({ y: a }, !0)), (u = s.getLayout()[o] + s.getLayout()[c] + e); + if ((l = u - e - ("vertical" === r ? i : n)) > 0) { + (a = s.getLayout()[o] - l), "vertical" === r ? s.setLayout({ x: a }, !0) : s.setLayout({ y: a }, !0), (u = a); + for (p = h - 2; p >= 0; --p) (l = (s = t[p]).getLayout()[o] + s.getLayout()[c] + e - u) > 0 && ((a = s.getLayout()[o] - l), "vertical" === r ? s.setLayout({ x: a }, !0) : s.setLayout({ y: a }, !0)), (u = s.getLayout()[o]); + } + }); + } + function tP(t, e, n) { + E(t.slice().reverse(), function (t) { + E(t, function (t) { + if (t.outEdges.length) { + var i = sP(t.outEdges, eP, n) / sP(t.outEdges, aP); + if (isNaN(i)) { + var r = t.outEdges.length; + i = r ? sP(t.outEdges, nP, n) / r : 0; + } + if ("vertical" === n) { + var o = t.getLayout().x + (i - oP(t, n)) * e; + t.setLayout({ x: o }, !0); + } else { + var a = t.getLayout().y + (i - oP(t, n)) * e; + t.setLayout({ y: a }, !0); + } + } + }); + }); + } + function eP(t, e) { + return oP(t.node2, e) * t.getValue(); + } + function nP(t, e) { + return oP(t.node2, e); + } + function iP(t, e) { + return oP(t.node1, e) * t.getValue(); + } + function rP(t, e) { + return oP(t.node1, e); + } + function oP(t, e) { + return "vertical" === e ? t.getLayout().x + t.getLayout().dx / 2 : t.getLayout().y + t.getLayout().dy / 2; + } + function aP(t) { + return t.getValue(); + } + function sP(t, e, n) { + for (var i = 0, r = t.length, o = -1; ++o < r; ) { + var a = +e(t[o], n); + isNaN(a) || (i += a); + } + return i; + } + function lP(t, e, n) { + E(t, function (t) { + E(t, function (t) { + if (t.inEdges.length) { + var i = sP(t.inEdges, iP, n) / sP(t.inEdges, aP); + if (isNaN(i)) { + var r = t.inEdges.length; + i = r ? sP(t.inEdges, rP, n) / r : 0; + } + if ("vertical" === n) { + var o = t.getLayout().x + (i - oP(t, n)) * e; + t.setLayout({ x: o }, !0); + } else { + var a = t.getLayout().y + (i - oP(t, n)) * e; + t.setLayout({ y: a }, !0); + } + } + }); + }); + } + function uP(t) { + t.eachSeriesByType("sankey", function (t) { + var e = t.getGraph(), + n = e.nodes, + i = e.edges; + if (n.length) { + var r = 1 / 0, + o = -1 / 0; + E(n, function (t) { + var e = t.getLayout().value; + e < r && (r = e), e > o && (o = e); + }), + E(n, function (e) { + var n = new DD({ type: "color", mappingMethod: "linear", dataExtent: [r, o], visual: t.get("color") }).mapValueToVisual(e.getLayout().value), + i = e.getModel().get(["itemStyle", "color"]); + null != i ? (e.setVisual("color", i), e.setVisual("style", { fill: i })) : (e.setVisual("color", n), e.setVisual("style", { fill: n })); + }); + } + i.length && + E(i, function (t) { + var e = t.getModel().get("lineStyle"); + t.setVisual("style", e); + }); + }); + } + var hP = (function () { + function t() {} + return ( + (t.prototype.getInitialData = function (t, e) { + var n, + i, + r = e.getComponent("xAxis", this.get("xAxisIndex")), + o = e.getComponent("yAxis", this.get("yAxisIndex")), + a = r.get("type"), + s = o.get("type"); + "category" === a ? ((t.layout = "horizontal"), (n = r.getOrdinalMeta()), (i = !0)) : "category" === s ? ((t.layout = "vertical"), (n = o.getOrdinalMeta()), (i = !0)) : (t.layout = t.layout || "horizontal"); + var l = ["x", "y"], + u = "horizontal" === t.layout ? 0 : 1, + h = (this._baseAxisDim = l[u]), + c = l[1 - u], + p = [r, o], + d = p[u].get("type"), + f = p[1 - u].get("type"), + g = t.data; + if (g && i) { + var y = []; + E(g, function (t, e) { + var n; + Y(t) ? ((n = t.slice()), t.unshift(e)) : Y(t.value) ? (((n = A({}, t)).value = n.value.slice()), t.value.unshift(e)) : (n = t), y.push(n); + }), + (t.data = y); + } + var v = this.defaultValueDimensions, + m = [ + { name: h, type: Ym(d), ordinalMeta: n, otherDims: { tooltip: !1, itemName: 0 }, dimsDef: ["base"] }, + { name: c, type: Ym(f), dimsDef: v.slice() }, + ]; + return PM(this, { coordDimensions: m, dimensionsCount: v.length + 1, encodeDefaulter: H(td, m, this) }); + }), + (t.prototype.getBaseAxis = function () { + var t = this._baseAxisDim; + return this.ecModel.getComponent(t + "Axis", this.get(t + "AxisIndex")).axis; + }), + t + ); + })(), + cP = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return ( + (n.type = e.type), + (n.defaultValueDimensions = [ + { name: "min", defaultTooltip: !0 }, + { name: "Q1", defaultTooltip: !0 }, + { name: "median", defaultTooltip: !0 }, + { name: "Q3", defaultTooltip: !0 }, + { name: "max", defaultTooltip: !0 }, + ]), + (n.visualDrawType = "stroke"), + n + ); + } + return ( + n(e, t), + (e.type = "series.boxplot"), + (e.dependencies = ["xAxis", "yAxis", "grid"]), + (e.defaultOption = { + z: 2, + coordinateSystem: "cartesian2d", + legendHoverLink: !0, + layout: null, + boxWidth: [7, 50], + itemStyle: { color: "#fff", borderWidth: 1 }, + emphasis: { scale: !0, itemStyle: { borderWidth: 2, shadowBlur: 5, shadowOffsetX: 1, shadowOffsetY: 1, shadowColor: "rgba(0,0,0,0.2)" } }, + animationDuration: 800, + }), + e + ); + })(bg); + R(cP, hP, !0); + var pP = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.prototype.render = function (t, e, n) { + var i = t.getData(), + r = this.group, + o = this._data; + this._data || r.removeAll(); + var a = "horizontal" === t.get("layout") ? 1 : 0; + i + .diff(o) + .add(function (t) { + if (i.hasValue(t)) { + var e = gP(i.getItemLayout(t), i, t, a, !0); + i.setItemGraphicEl(t, e), r.add(e); + } + }) + .update(function (t, e) { + var n = o.getItemGraphicEl(e); + if (i.hasValue(t)) { + var s = i.getItemLayout(t); + n ? (Sh(n), yP(s, n, i, t)) : (n = gP(s, i, t, a)), r.add(n), i.setItemGraphicEl(t, n); + } else r.remove(n); + }) + .remove(function (t) { + var e = o.getItemGraphicEl(t); + e && r.remove(e); + }) + .execute(), + (this._data = i); + }), + (e.prototype.remove = function (t) { + var e = this.group, + n = this._data; + (this._data = null), + n && + n.eachItemGraphicEl(function (t) { + t && e.remove(t); + }); + }), + (e.type = "boxplot"), + e + ); + })(Og), + dP = function () {}, + fP = (function (t) { + function e(e) { + var n = t.call(this, e) || this; + return (n.type = "boxplotBoxPath"), n; + } + return ( + n(e, t), + (e.prototype.getDefaultShape = function () { + return new dP(); + }), + (e.prototype.buildPath = function (t, e) { + var n = e.points, + i = 0; + for (t.moveTo(n[i][0], n[i][1]), i++; i < 4; i++) t.lineTo(n[i][0], n[i][1]); + for (t.closePath(); i < n.length; i++) t.moveTo(n[i][0], n[i][1]), i++, t.lineTo(n[i][0], n[i][1]); + }), + e + ); + })(ks); + function gP(t, e, n, i, r) { + var o = t.ends, + a = new fP({ shape: { points: r ? vP(o, i, t) : o } }); + return yP(t, a, e, n, r), a; + } + function yP(t, e, n, i, r) { + var o = n.hostModel; + (0, Qh[r ? "initProps" : "updateProps"])(e, { shape: { points: t.ends } }, o, i), e.useStyle(n.getItemVisual(i, "style")), (e.style.strokeNoScale = !0), (e.z2 = 100); + var a = n.getItemModel(i), + s = a.getModel("emphasis"); + $l(e, a), Zl(e, s.get("focus"), s.get("blurScope"), s.get("disabled")); + } + function vP(t, e, n) { + return z(t, function (t) { + return ((t = t.slice())[e] = n.initBaseline), t; + }); + } + var mP = E; + function xP(t) { + var e = (function (t) { + var e = [], + n = []; + return ( + t.eachSeriesByType("boxplot", function (t) { + var i = t.getBaseAxis(), + r = P(n, i); + r < 0 && ((r = n.length), (n[r] = i), (e[r] = { axis: i, seriesModels: [] })), e[r].seriesModels.push(t); + }), + e + ); + })(t); + mP(e, function (t) { + var e = t.seriesModels; + e.length && + (!(function (t) { + var e, + n = t.axis, + i = t.seriesModels, + r = i.length, + o = (t.boxWidthList = []), + a = (t.boxOffsetList = []), + s = []; + if ("category" === n.type) e = n.getBandWidth(); + else { + var l = 0; + mP(i, function (t) { + l = Math.max(l, t.getData().count()); + }); + var u = n.getExtent(); + e = Math.abs(u[1] - u[0]) / l; + } + mP(i, function (t) { + var n = t.get("boxWidth"); + Y(n) || (n = [n, n]), s.push([$r(n[0], e) || 0, $r(n[1], e) || 0]); + }); + var h = 0.8 * e - 2, + c = (h / r) * 0.3, + p = (h - c * (r - 1)) / r, + d = p / 2 - h / 2; + mP(i, function (t, e) { + a.push(d), (d += c + p), o.push(Math.min(Math.max(p, s[e][0]), s[e][1])); + }); + })(t), + mP(e, function (e, n) { + !(function (t, e, n) { + var i = t.coordinateSystem, + r = t.getData(), + o = n / 2, + a = "horizontal" === t.get("layout") ? 0 : 1, + s = 1 - a, + l = ["x", "y"], + u = r.mapDimension(l[a]), + h = r.mapDimensionsAll(l[s]); + if (null == u || h.length < 5) return; + for (var c = 0; c < r.count(); c++) { + var p = r.get(u, c), + d = x(p, h[2], c), + f = x(p, h[0], c), + g = x(p, h[1], c), + y = x(p, h[3], c), + v = x(p, h[4], c), + m = []; + _(m, g, !1), _(m, y, !0), m.push(f, g, v, y), b(m, f), b(m, v), b(m, d), r.setItemLayout(c, { initBaseline: d[s], ends: m }); + } + function x(t, n, o) { + var l, + u = r.get(n, o), + h = []; + return (h[a] = t), (h[s] = u), isNaN(t) || isNaN(u) ? (l = [NaN, NaN]) : ((l = i.dataToPoint(h))[a] += e), l; + } + function _(t, e, n) { + var i = e.slice(), + r = e.slice(); + (i[a] += o), (r[a] -= o), n ? t.push(i, r) : t.push(r, i); + } + function b(t, e) { + var n = e.slice(), + i = e.slice(); + (n[a] -= o), (i[a] += o), t.push(n, i); + } + })(e, t.boxOffsetList[n], t.boxWidthList[n]); + })); + }); + } + var _P = { + type: "echarts:boxplot", + transform: function (t) { + var e = t.upstream; + if (e.sourceFormat !== Hp) { + var n = ""; + 0, wo(n); + } + var i = (function (t, e) { + for (var n = [], i = [], r = (e = e || {}).boundIQR, o = "none" === r || 0 === r, a = 0; a < t.length; a++) { + var s = Qr(t[a].slice()), + l = fo(s, 0.25), + u = fo(s, 0.5), + h = fo(s, 0.75), + c = s[0], + p = s[s.length - 1], + d = (null == r ? 1.5 : r) * (h - l), + f = o ? c : Math.max(c, l - d), + g = o ? p : Math.min(p, h + d), + y = e.itemNameFormatter, + v = X(y) ? y({ value: a }) : U(y) ? y.replace("{value}", a + "") : a + ""; + n.push([v, f, l, u, h, g]); + for (var m = 0; m < s.length; m++) { + var x = s[m]; + if (x < f || x > g) { + var _ = [v, x]; + i.push(_); + } + } + } + return { boxData: n, outliers: i }; + })(e.getRawData(), t.config); + return [{ dimensions: ["ItemName", "Low", "Q1", "Q2", "Q3", "High"], data: i.boxData }, { data: i.outliers }]; + }, + }; + var bP = ["color", "borderColor"], + wP = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.prototype.render = function (t, e, n) { + this.group.removeClipPath(), (this._progressiveEls = null), this._updateDrawMode(t), this._isLargeDraw ? this._renderLarge(t) : this._renderNormal(t); + }), + (e.prototype.incrementalPrepareRender = function (t, e, n) { + this._clear(), this._updateDrawMode(t); + }), + (e.prototype.incrementalRender = function (t, e, n, i) { + (this._progressiveEls = []), this._isLargeDraw ? this._incrementalRenderLarge(t, e) : this._incrementalRenderNormal(t, e); + }), + (e.prototype.eachRendered = function (t) { + Jh(this._progressiveEls || this.group, t); + }), + (e.prototype._updateDrawMode = function (t) { + var e = t.pipelineContext.large; + (null != this._isLargeDraw && e === this._isLargeDraw) || ((this._isLargeDraw = e), this._clear()); + }), + (e.prototype._renderNormal = function (t) { + var e = t.getData(), + n = this._data, + i = this.group, + r = e.getLayout("isSimpleBox"), + o = t.get("clip", !0), + a = t.coordinateSystem, + s = a.getArea && a.getArea(); + this._data || i.removeAll(), + e + .diff(n) + .add(function (n) { + if (e.hasValue(n)) { + var a = e.getItemLayout(n); + if (o && TP(s, a)) return; + var l = IP(a, n, !0); + mh(l, { shape: { points: a.ends } }, t, n), CP(l, e, n, r), i.add(l), e.setItemGraphicEl(n, l); + } + }) + .update(function (a, l) { + var u = n.getItemGraphicEl(l); + if (e.hasValue(a)) { + var h = e.getItemLayout(a); + o && TP(s, h) ? i.remove(u) : (u ? (vh(u, { shape: { points: h.ends } }, t, a), Sh(u)) : (u = IP(h)), CP(u, e, a, r), i.add(u), e.setItemGraphicEl(a, u)); + } else i.remove(u); + }) + .remove(function (t) { + var e = n.getItemGraphicEl(t); + e && i.remove(e); + }) + .execute(), + (this._data = e); + }), + (e.prototype._renderLarge = function (t) { + this._clear(), LP(t, this.group); + var e = t.get("clip", !0) ? LS(t.coordinateSystem, !1, t) : null; + e ? this.group.setClipPath(e) : this.group.removeClipPath(); + }), + (e.prototype._incrementalRenderNormal = function (t, e) { + for (var n, i = e.getData(), r = i.getLayout("isSimpleBox"); null != (n = t.next()); ) { + var o = IP(i.getItemLayout(n)); + CP(o, i, n, r), (o.incremental = !0), this.group.add(o), this._progressiveEls.push(o); + } + }), + (e.prototype._incrementalRenderLarge = function (t, e) { + LP(e, this.group, this._progressiveEls, !0); + }), + (e.prototype.remove = function (t) { + this._clear(); + }), + (e.prototype._clear = function () { + this.group.removeAll(), (this._data = null); + }), + (e.type = "candlestick"), + e + ); + })(Og), + SP = function () {}, + MP = (function (t) { + function e(e) { + var n = t.call(this, e) || this; + return (n.type = "normalCandlestickBox"), n; + } + return ( + n(e, t), + (e.prototype.getDefaultShape = function () { + return new SP(); + }), + (e.prototype.buildPath = function (t, e) { + var n = e.points; + this.__simpleBox + ? (t.moveTo(n[4][0], n[4][1]), t.lineTo(n[6][0], n[6][1])) + : (t.moveTo(n[0][0], n[0][1]), + t.lineTo(n[1][0], n[1][1]), + t.lineTo(n[2][0], n[2][1]), + t.lineTo(n[3][0], n[3][1]), + t.closePath(), + t.moveTo(n[4][0], n[4][1]), + t.lineTo(n[5][0], n[5][1]), + t.moveTo(n[6][0], n[6][1]), + t.lineTo(n[7][0], n[7][1])); + }), + e + ); + })(ks); + function IP(t, e, n) { + var i = t.ends; + return new MP({ shape: { points: n ? DP(i, t) : i }, z2: 100 }); + } + function TP(t, e) { + for (var n = !0, i = 0; i < e.ends.length; i++) + if (t.contain(e.ends[i][0], e.ends[i][1])) { + n = !1; + break; + } + return n; + } + function CP(t, e, n, i) { + var r = e.getItemModel(n); + t.useStyle(e.getItemVisual(n, "style")), (t.style.strokeNoScale = !0), (t.__simpleBox = i), $l(t, r); + } + function DP(t, e) { + return z(t, function (t) { + return ((t = t.slice())[1] = e.initBaseline), t; + }); + } + var AP = function () {}, + kP = (function (t) { + function e(e) { + var n = t.call(this, e) || this; + return (n.type = "largeCandlestickBox"), n; + } + return ( + n(e, t), + (e.prototype.getDefaultShape = function () { + return new AP(); + }), + (e.prototype.buildPath = function (t, e) { + for (var n = e.points, i = 0; i < n.length; ) + if (this.__sign === n[i++]) { + var r = n[i++]; + t.moveTo(r, n[i++]), t.lineTo(r, n[i++]); + } else i += 3; + }), + e + ); + })(ks); + function LP(t, e, n, i) { + var r = t.getData().getLayout("largePoints"), + o = new kP({ shape: { points: r }, __sign: 1, ignoreCoarsePointer: !0 }); + e.add(o); + var a = new kP({ shape: { points: r }, __sign: -1, ignoreCoarsePointer: !0 }); + e.add(a); + var s = new kP({ shape: { points: r }, __sign: 0, ignoreCoarsePointer: !0 }); + e.add(s), PP(1, o, t), PP(-1, a, t), PP(0, s, t), i && ((o.incremental = !0), (a.incremental = !0)), n && n.push(o, a); + } + function PP(t, e, n, i) { + var r = n.get(["itemStyle", t > 0 ? "borderColor" : "borderColor0"]) || n.get(["itemStyle", t > 0 ? "color" : "color0"]); + 0 === t && (r = n.get(["itemStyle", "borderColorDoji"])); + var o = n.getModel("itemStyle").getItemStyle(bP); + e.useStyle(o), (e.style.fill = null), (e.style.stroke = r); + } + var OP = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return ( + (n.type = e.type), + (n.defaultValueDimensions = [ + { name: "open", defaultTooltip: !0 }, + { name: "close", defaultTooltip: !0 }, + { name: "lowest", defaultTooltip: !0 }, + { name: "highest", defaultTooltip: !0 }, + ]), + n + ); + } + return ( + n(e, t), + (e.prototype.getShadowDim = function () { + return "open"; + }), + (e.prototype.brushSelector = function (t, e, n) { + var i = e.getItemLayout(t); + return i && n.rect(i.brushRect); + }), + (e.type = "series.candlestick"), + (e.dependencies = ["xAxis", "yAxis", "grid"]), + (e.defaultOption = { + z: 2, + coordinateSystem: "cartesian2d", + legendHoverLink: !0, + layout: null, + clip: !0, + itemStyle: { color: "#eb5454", color0: "#47b262", borderColor: "#eb5454", borderColor0: "#47b262", borderColorDoji: null, borderWidth: 1 }, + emphasis: { scale: !0, itemStyle: { borderWidth: 2 } }, + barMaxWidth: null, + barMinWidth: null, + barWidth: null, + large: !0, + largeThreshold: 600, + progressive: 3e3, + progressiveThreshold: 1e4, + progressiveChunkMode: "mod", + animationEasing: "linear", + animationDuration: 300, + }), + e + ); + })(bg); + function RP(t) { + t && + Y(t.series) && + E(t.series, function (t) { + q(t) && "k" === t.type && (t.type = "candlestick"); + }); + } + R(OP, hP, !0); + var NP = ["itemStyle", "borderColor"], + EP = ["itemStyle", "borderColor0"], + zP = ["itemStyle", "borderColorDoji"], + VP = ["itemStyle", "color"], + BP = ["itemStyle", "color0"], + FP = { + seriesType: "candlestick", + plan: kg(), + performRawSeries: !0, + reset: function (t, e) { + function n(t, e) { + return e.get(t > 0 ? VP : BP); + } + function i(t, e) { + return e.get(0 === t ? zP : t > 0 ? NP : EP); + } + if (!e.isSeriesFiltered(t)) + return ( + !t.pipelineContext.large && { + progress: function (t, e) { + for (var r; null != (r = t.next()); ) { + var o = e.getItemModel(r), + a = e.getItemLayout(r).sign, + s = o.getItemStyle(); + (s.fill = n(a, o)), (s.stroke = i(a, o) || s.fill), A(e.ensureUniqueItemVisual(r, "style"), s); + } + }, + } + ); + }, + }, + GP = { + seriesType: "candlestick", + plan: kg(), + reset: function (t) { + var e = t.coordinateSystem, + n = t.getData(), + i = (function (t, e) { + var n, + i = t.getBaseAxis(), + r = "category" === i.type ? i.getBandWidth() : ((n = i.getExtent()), Math.abs(n[1] - n[0]) / e.count()), + o = $r(rt(t.get("barMaxWidth"), r), r), + a = $r(rt(t.get("barMinWidth"), 1), r), + s = t.get("barWidth"); + return null != s ? $r(s, r) : Math.max(Math.min(r / 2, o), a); + })(t, n), + r = ["x", "y"], + o = n.getDimensionIndex(n.mapDimension(r[0])), + a = z(n.mapDimensionsAll(r[1]), n.getDimensionIndex, n), + s = a[0], + l = a[1], + u = a[2], + h = a[3]; + if ((n.setLayout({ candleWidth: i, isSimpleBox: i <= 1.3 }), !(o < 0 || a.length < 4))) + return { + progress: t.pipelineContext.large + ? function (n, i) { + var r, + a, + c = Bx(4 * n.count), + p = 0, + d = [], + f = [], + g = i.getStore(), + y = !!t.get(["itemStyle", "borderColorDoji"]); + for (; null != (a = n.next()); ) { + var v = g.get(o, a), + m = g.get(s, a), + x = g.get(l, a), + _ = g.get(u, a), + b = g.get(h, a); + isNaN(v) || isNaN(_) || isNaN(b) + ? ((c[p++] = NaN), (p += 3)) + : ((c[p++] = WP(g, a, m, x, l, y)), + (d[0] = v), + (d[1] = _), + (r = e.dataToPoint(d, null, f)), + (c[p++] = r ? r[0] : NaN), + (c[p++] = r ? r[1] : NaN), + (d[1] = b), + (r = e.dataToPoint(d, null, f)), + (c[p++] = r ? r[1] : NaN)); + } + i.setLayout("largePoints", c); + } + : function (t, n) { + var r, + a = n.getStore(); + for (; null != (r = t.next()); ) { + var c = a.get(o, r), + p = a.get(s, r), + d = a.get(l, r), + f = a.get(u, r), + g = a.get(h, r), + y = Math.min(p, d), + v = Math.max(p, d), + m = M(y, c), + x = M(v, c), + _ = M(f, c), + b = M(g, c), + w = []; + I(w, x, 0), I(w, m, 1), w.push(C(b), C(x), C(_), C(m)); + var S = !!n.getItemModel(r).get(["itemStyle", "borderColorDoji"]); + n.setItemLayout(r, { sign: WP(a, r, p, d, l, S), initBaseline: p > d ? x[1] : m[1], ends: w, brushRect: T(f, g, c) }); + } + function M(t, n) { + var i = []; + return (i[0] = n), (i[1] = t), isNaN(n) || isNaN(t) ? [NaN, NaN] : e.dataToPoint(i); + } + function I(t, e, n) { + var r = e.slice(), + o = e.slice(); + (r[0] = Vh(r[0] + i / 2, 1, !1)), (o[0] = Vh(o[0] - i / 2, 1, !0)), n ? t.push(r, o) : t.push(o, r); + } + function T(t, e, n) { + var r = M(t, n), + o = M(e, n); + return (r[0] -= i / 2), (o[0] -= i / 2), { x: r[0], y: r[1], width: i, height: o[1] - r[1] }; + } + function C(t) { + return (t[0] = Vh(t[0], 1)), t; + } + }, + }; + }, + }; + function WP(t, e, n, i, r, o) { + return n > i ? -1 : n < i ? 1 : o ? 0 : e > 0 ? (t.get(r, e - 1) <= i ? 1 : -1) : 1; + } + function HP(t, e) { + var n = e.rippleEffectColor || e.color; + t.eachChild(function (t) { + t.attr({ z: e.z, zlevel: e.zlevel, style: { stroke: "stroke" === e.brushType ? n : null, fill: "fill" === e.brushType ? n : null } }); + }); + } + var YP = (function (t) { + function e(e, n) { + var i = t.call(this) || this, + r = new dS(e, n), + o = new Br(); + return i.add(r), i.add(o), i.updateData(e, n), i; + } + return ( + n(e, t), + (e.prototype.stopEffectAnimation = function () { + this.childAt(1).removeAll(); + }), + (e.prototype.startEffectAnimation = function (t) { + for (var e = t.symbolType, n = t.color, i = t.rippleNumber, r = this.childAt(1), o = 0; o < i; o++) { + var a = Xy(e, -1, -1, 2, 2, n); + a.attr({ style: { strokeNoScale: !0 }, z2: 99, silent: !0, scaleX: 0.5, scaleY: 0.5 }); + var s = (-o / i) * t.period + t.effectOffset; + a + .animate("", !0) + .when(t.period, { scaleX: t.rippleScale / 2, scaleY: t.rippleScale / 2 }) + .delay(s) + .start(), + a.animateStyle(!0).when(t.period, { opacity: 0 }).delay(s).start(), + r.add(a); + } + HP(r, t); + }), + (e.prototype.updateEffectAnimation = function (t) { + for (var e = this._effectCfg, n = this.childAt(1), i = ["symbolType", "period", "rippleScale", "rippleNumber"], r = 0; r < i.length; r++) { + var o = i[r]; + if (e[o] !== t[o]) return this.stopEffectAnimation(), void this.startEffectAnimation(t); + } + HP(n, t); + }), + (e.prototype.highlight = function () { + Ol(this); + }), + (e.prototype.downplay = function () { + Rl(this); + }), + (e.prototype.getSymbolType = function () { + var t = this.childAt(0); + return t && t.getSymbolType(); + }), + (e.prototype.updateData = function (t, e) { + var n = this, + i = t.hostModel; + this.childAt(0).updateData(t, e); + var r = this.childAt(1), + o = t.getItemModel(e), + a = t.getItemVisual(e, "symbol"), + s = Uy(t.getItemVisual(e, "symbolSize")), + l = t.getItemVisual(e, "style"), + u = l && l.fill, + h = o.getModel("emphasis"); + r.setScale(s), + r.traverse(function (t) { + t.setStyle("fill", u); + }); + var c = Zy(t.getItemVisual(e, "symbolOffset"), s); + c && ((r.x = c[0]), (r.y = c[1])); + var p = t.getItemVisual(e, "symbolRotate"); + r.rotation = ((p || 0) * Math.PI) / 180 || 0; + var d = {}; + (d.showEffectOn = i.get("showEffectOn")), + (d.rippleScale = o.get(["rippleEffect", "scale"])), + (d.brushType = o.get(["rippleEffect", "brushType"])), + (d.period = 1e3 * o.get(["rippleEffect", "period"])), + (d.effectOffset = e / t.count()), + (d.z = i.getShallow("z") || 0), + (d.zlevel = i.getShallow("zlevel") || 0), + (d.symbolType = a), + (d.color = u), + (d.rippleEffectColor = o.get(["rippleEffect", "color"])), + (d.rippleNumber = o.get(["rippleEffect", "number"])), + "render" === d.showEffectOn + ? (this._effectCfg ? this.updateEffectAnimation(d) : this.startEffectAnimation(d), (this._effectCfg = d)) + : ((this._effectCfg = null), + this.stopEffectAnimation(), + (this.onHoverStateChange = function (t) { + "emphasis" === t ? "render" !== d.showEffectOn && n.startEffectAnimation(d) : "normal" === t && "render" !== d.showEffectOn && n.stopEffectAnimation(); + })), + (this._effectCfg = d), + Zl(this, h.get("focus"), h.get("blurScope"), h.get("disabled")); + }), + (e.prototype.fadeOut = function (t) { + t && t(); + }), + e + ); + })(Br), + XP = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.prototype.init = function () { + this._symbolDraw = new mS(YP); + }), + (e.prototype.render = function (t, e, n) { + var i = t.getData(), + r = this._symbolDraw; + r.updateData(i, { clipShape: this._getClipShape(t) }), this.group.add(r.group); + }), + (e.prototype._getClipShape = function (t) { + var e = t.coordinateSystem, + n = e && e.getArea && e.getArea(); + return t.get("clip", !0) ? n : null; + }), + (e.prototype.updateTransform = function (t, e, n) { + var i = t.getData(); + this.group.dirty(); + var r = YS("").reset(t, e, n); + r.progress && r.progress({ start: 0, end: i.count(), count: i.count() }, i), this._symbolDraw.updateLayout(); + }), + (e.prototype._updateGroupTransform = function (t) { + var e = t.coordinateSystem; + e && e.getRoamTransform && ((this.group.transform = Te(e.getRoamTransform())), this.group.decomposeTransform()); + }), + (e.prototype.remove = function (t, e) { + this._symbolDraw && this._symbolDraw.remove(!0); + }), + (e.type = "effectScatter"), + e + ); + })(Og), + UP = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), (n.hasSymbolVisual = !0), n; + } + return ( + n(e, t), + (e.prototype.getInitialData = function (t, e) { + return _x(null, this, { useEncodeDefaulter: !0 }); + }), + (e.prototype.brushSelector = function (t, e, n) { + return n.point(e.getItemLayout(t)); + }), + (e.type = "series.effectScatter"), + (e.dependencies = ["grid", "polar"]), + (e.defaultOption = { + coordinateSystem: "cartesian2d", + z: 2, + legendHoverLink: !0, + effectType: "ripple", + progressive: 0, + showEffectOn: "render", + clip: !0, + rippleEffect: { period: 4, scale: 2.5, brushType: "fill", number: 3 }, + universalTransition: { divideShape: "clone" }, + symbolSize: 10, + }), + e + ); + })(bg); + var ZP = (function (t) { + function e(e, n, i) { + var r = t.call(this) || this; + return r.add(r.createLine(e, n, i)), r._updateEffectSymbol(e, n), r; + } + return ( + n(e, t), + (e.prototype.createLine = function (t, e, n) { + return new GA(t, e, n); + }), + (e.prototype._updateEffectSymbol = function (t, e) { + var n = t.getItemModel(e).getModel("effect"), + i = n.get("symbolSize"), + r = n.get("symbol"); + Y(i) || (i = [i, i]); + var o = t.getItemVisual(e, "style"), + a = n.get("color") || (o && o.stroke), + s = this.childAt(1); + this._symbolType !== r && (this.remove(s), ((s = Xy(r, -0.5, -0.5, 1, 1, a)).z2 = 100), (s.culling = !0), this.add(s)), + s && (s.setStyle("shadowColor", a), s.setStyle(n.getItemStyle(["color"])), (s.scaleX = i[0]), (s.scaleY = i[1]), s.setColor(a), (this._symbolType = r), (this._symbolScale = i), this._updateEffectAnimation(t, n, e)); + }), + (e.prototype._updateEffectAnimation = function (t, e, n) { + var i = this.childAt(1); + if (i) { + var r = t.getItemLayout(n), + o = 1e3 * e.get("period"), + a = e.get("loop"), + s = e.get("roundTrip"), + l = e.get("constantSpeed"), + u = it(e.get("delay"), function (e) { + return ((e / t.count()) * o) / 3; + }); + if (((i.ignore = !0), this._updateAnimationPoints(i, r), l > 0 && (o = (this._getLineLength(i) / l) * 1e3), o !== this._period || a !== this._loop || s !== this._roundTrip)) { + i.stopAnimation(); + var h = void 0; + (h = X(u) ? u(n) : u), i.__t > 0 && (h = -o * i.__t), this._animateSymbol(i, o, h, a, s); + } + (this._period = o), (this._loop = a), (this._roundTrip = s); + } + }), + (e.prototype._animateSymbol = function (t, e, n, i, r) { + if (e > 0) { + t.__t = 0; + var o = this, + a = t + .animate("", i) + .when(r ? 2 * e : e, { __t: r ? 2 : 1 }) + .delay(n) + .during(function () { + o._updateSymbolPosition(t); + }); + i || + a.done(function () { + o.remove(t); + }), + a.start(); + } + }), + (e.prototype._getLineLength = function (t) { + return Vt(t.__p1, t.__cp1) + Vt(t.__cp1, t.__p2); + }), + (e.prototype._updateAnimationPoints = function (t, e) { + (t.__p1 = e[0]), (t.__p2 = e[1]), (t.__cp1 = e[2] || [(e[0][0] + e[1][0]) / 2, (e[0][1] + e[1][1]) / 2]); + }), + (e.prototype.updateData = function (t, e, n) { + this.childAt(0).updateData(t, e, n), this._updateEffectSymbol(t, e); + }), + (e.prototype._updateSymbolPosition = function (t) { + var e = t.__p1, + n = t.__p2, + i = t.__cp1, + r = t.__t < 1 ? t.__t : 2 - t.__t, + o = [t.x, t.y], + a = o.slice(), + s = In, + l = Tn; + (o[0] = s(e[0], i[0], n[0], r)), (o[1] = s(e[1], i[1], n[1], r)); + var u = t.__t < 1 ? l(e[0], i[0], n[0], r) : l(n[0], i[0], e[0], 1 - r), + h = t.__t < 1 ? l(e[1], i[1], n[1], r) : l(n[1], i[1], e[1], 1 - r); + (t.rotation = -Math.atan2(h, u) - Math.PI / 2), + ("line" !== this._symbolType && "rect" !== this._symbolType && "roundRect" !== this._symbolType) || + (void 0 !== t.__lastT && t.__lastT < t.__t + ? ((t.scaleY = 1.05 * Vt(a, o)), 1 === r && ((o[0] = a[0] + (o[0] - a[0]) / 2), (o[1] = a[1] + (o[1] - a[1]) / 2))) + : 1 === t.__lastT + ? (t.scaleY = 2 * Vt(e, o)) + : (t.scaleY = this._symbolScale[1])), + (t.__lastT = t.__t), + (t.ignore = !1), + (t.x = o[0]), + (t.y = o[1]); + }), + (e.prototype.updateLayout = function (t, e) { + this.childAt(0).updateLayout(t, e); + var n = t.getItemModel(e).getModel("effect"); + this._updateEffectAnimation(t, n, e); + }), + e + ); + })(Br), + jP = (function (t) { + function e(e, n, i) { + var r = t.call(this) || this; + return r._createPolyline(e, n, i), r; + } + return ( + n(e, t), + (e.prototype._createPolyline = function (t, e, n) { + var i = t.getItemLayout(e), + r = new Zu({ shape: { points: i } }); + this.add(r), this._updateCommonStl(t, e, n); + }), + (e.prototype.updateData = function (t, e, n) { + var i = t.hostModel; + vh(this.childAt(0), { shape: { points: t.getItemLayout(e) } }, i, e), this._updateCommonStl(t, e, n); + }), + (e.prototype._updateCommonStl = function (t, e, n) { + var i = this.childAt(0), + r = t.getItemModel(e), + o = n && n.emphasisLineStyle, + a = n && n.focus, + s = n && n.blurScope, + l = n && n.emphasisDisabled; + if (!n || t.hasItemOption) { + var u = r.getModel("emphasis"); + (o = u.getModel("lineStyle").getLineStyle()), (l = u.get("disabled")), (a = u.get("focus")), (s = u.get("blurScope")); + } + i.useStyle(t.getItemVisual(e, "style")), (i.style.fill = null), (i.style.strokeNoScale = !0), (i.ensureState("emphasis").style = o), Zl(this, a, s, l); + }), + (e.prototype.updateLayout = function (t, e) { + this.childAt(0).setShape("points", t.getItemLayout(e)); + }), + e + ); + })(Br), + qP = (function (t) { + function e() { + var e = (null !== t && t.apply(this, arguments)) || this; + return (e._lastFrame = 0), (e._lastFramePercent = 0), e; + } + return ( + n(e, t), + (e.prototype.createLine = function (t, e, n) { + return new jP(t, e, n); + }), + (e.prototype._updateAnimationPoints = function (t, e) { + this._points = e; + for (var n = [0], i = 0, r = 1; r < e.length; r++) { + var o = e[r - 1], + a = e[r]; + (i += Vt(o, a)), n.push(i); + } + if (0 !== i) { + for (r = 0; r < n.length; r++) n[r] /= i; + (this._offsets = n), (this._length = i); + } else this._length = 0; + }), + (e.prototype._getLineLength = function () { + return this._length; + }), + (e.prototype._updateSymbolPosition = function (t) { + var e = t.__t < 1 ? t.__t : 2 - t.__t, + n = this._points, + i = this._offsets, + r = n.length; + if (i) { + var o, + a = this._lastFrame; + if (e < this._lastFramePercent) { + for (o = Math.min(a + 1, r - 1); o >= 0 && !(i[o] <= e); o--); + o = Math.min(o, r - 2); + } else { + for (o = a; o < r && !(i[o] > e); o++); + o = Math.min(o - 1, r - 2); + } + var s = (e - i[o]) / (i[o + 1] - i[o]), + l = n[o], + u = n[o + 1]; + (t.x = l[0] * (1 - s) + s * u[0]), (t.y = l[1] * (1 - s) + s * u[1]); + var h = t.__t < 1 ? u[0] - l[0] : l[0] - u[0], + c = t.__t < 1 ? u[1] - l[1] : l[1] - u[1]; + (t.rotation = -Math.atan2(c, h) - Math.PI / 2), (this._lastFrame = o), (this._lastFramePercent = e), (t.ignore = !1); + } + }), + e + ); + })(ZP), + KP = function () { + (this.polyline = !1), (this.curveness = 0), (this.segs = []); + }, + $P = (function (t) { + function e(e) { + var n = t.call(this, e) || this; + return (n._off = 0), (n.hoverDataIdx = -1), n; + } + return ( + n(e, t), + (e.prototype.reset = function () { + (this.notClear = !1), (this._off = 0); + }), + (e.prototype.getDefaultStyle = function () { + return { stroke: "#000", fill: null }; + }), + (e.prototype.getDefaultShape = function () { + return new KP(); + }), + (e.prototype.buildPath = function (t, e) { + var n, + i = e.segs, + r = e.curveness; + if (e.polyline) + for (n = this._off; n < i.length; ) { + var o = i[n++]; + if (o > 0) { + t.moveTo(i[n++], i[n++]); + for (var a = 1; a < o; a++) t.lineTo(i[n++], i[n++]); + } + } + else + for (n = this._off; n < i.length; ) { + var s = i[n++], + l = i[n++], + u = i[n++], + h = i[n++]; + if ((t.moveTo(s, l), r > 0)) { + var c = (s + u) / 2 - (l - h) * r, + p = (l + h) / 2 - (u - s) * r; + t.quadraticCurveTo(c, p, u, h); + } else t.lineTo(u, h); + } + this.incremental && ((this._off = n), (this.notClear = !0)); + }), + (e.prototype.findDataIndex = function (t, e) { + var n = this.shape, + i = n.segs, + r = n.curveness, + o = this.style.lineWidth; + if (n.polyline) + for (var a = 0, s = 0; s < i.length; ) { + var l = i[s++]; + if (l > 0) + for (var u = i[s++], h = i[s++], c = 1; c < l; c++) { + if (cs(u, h, (p = i[s++]), (d = i[s++]), o, t, e)) return a; + } + a++; + } + else + for (a = 0, s = 0; s < i.length; ) { + (u = i[s++]), (h = i[s++]); + var p = i[s++], + d = i[s++]; + if (r > 0) { + if (ds(u, h, (u + p) / 2 - (h - d) * r, (h + d) / 2 - (p - u) * r, p, d, o, t, e)) return a; + } else if (cs(u, h, p, d, o, t, e)) return a; + a++; + } + return -1; + }), + (e.prototype.contain = function (t, e) { + var n = this.transformCoordToLocal(t, e), + i = this.getBoundingRect(); + return (t = n[0]), (e = n[1]), i.contain(t, e) ? (this.hoverDataIdx = this.findDataIndex(t, e)) >= 0 : ((this.hoverDataIdx = -1), !1); + }), + (e.prototype.getBoundingRect = function () { + var t = this._rect; + if (!t) { + for (var e = this.shape.segs, n = 1 / 0, i = 1 / 0, r = -1 / 0, o = -1 / 0, a = 0; a < e.length; ) { + var s = e[a++], + l = e[a++]; + (n = Math.min(s, n)), (r = Math.max(s, r)), (i = Math.min(l, i)), (o = Math.max(l, o)); + } + t = this._rect = new ze(n, i, r, o); + } + return t; + }), + e + ); + })(ks), + JP = (function () { + function t() { + this.group = new Br(); + } + return ( + (t.prototype.updateData = function (t) { + this._clear(); + var e = this._create(); + e.setShape({ segs: t.getLayout("linesPoints") }), this._setCommon(e, t); + }), + (t.prototype.incrementalPrepareUpdate = function (t) { + this.group.removeAll(), this._clear(); + }), + (t.prototype.incrementalUpdate = function (t, e) { + var n = this._newAdded[0], + i = e.getLayout("linesPoints"), + r = n && n.shape.segs; + if (r && r.length < 2e4) { + var o = r.length, + a = new Float32Array(o + i.length); + a.set(r), a.set(i, o), n.setShape({ segs: a }); + } else { + this._newAdded = []; + var s = this._create(); + (s.incremental = !0), s.setShape({ segs: i }), this._setCommon(s, e), (s.__startIndex = t.start); + } + }), + (t.prototype.remove = function () { + this._clear(); + }), + (t.prototype.eachRendered = function (t) { + this._newAdded[0] && t(this._newAdded[0]); + }), + (t.prototype._create = function () { + var t = new $P({ cursor: "default", ignoreCoarsePointer: !0 }); + return this._newAdded.push(t), this.group.add(t), t; + }), + (t.prototype._setCommon = function (t, e, n) { + var i = e.hostModel; + t.setShape({ polyline: i.get("polyline"), curveness: i.get(["lineStyle", "curveness"]) }), t.useStyle(i.getModel("lineStyle").getLineStyle()), (t.style.strokeNoScale = !0); + var r = e.getVisual("style"); + r && r.stroke && t.setStyle("stroke", r.stroke), t.setStyle("fill", null); + var o = rl(t); + (o.seriesIndex = i.seriesIndex), + t.on("mousemove", function (e) { + o.dataIndex = null; + var n = t.hoverDataIdx; + n > 0 && (o.dataIndex = n + t.__startIndex); + }); + }), + (t.prototype._clear = function () { + (this._newAdded = []), this.group.removeAll(); + }), + t + ); + })(), + QP = { + seriesType: "lines", + plan: kg(), + reset: function (t) { + var e = t.coordinateSystem; + if (e) { + var n = t.get("polyline"), + i = t.pipelineContext.large; + return { + progress: function (r, o) { + var a = []; + if (i) { + var s = void 0, + l = r.end - r.start; + if (n) { + for (var u = 0, h = r.start; h < r.end; h++) u += t.getLineCoordsCount(h); + s = new Float32Array(l + 2 * u); + } else s = new Float32Array(4 * l); + var c = 0, + p = []; + for (h = r.start; h < r.end; h++) { + var d = t.getLineCoords(h, a); + n && (s[c++] = d); + for (var f = 0; f < d; f++) (p = e.dataToPoint(a[f], !1, p)), (s[c++] = p[0]), (s[c++] = p[1]); + } + o.setLayout("linesPoints", s); + } else + for (h = r.start; h < r.end; h++) { + var g = o.getItemModel(h), + y = ((d = t.getLineCoords(h, a)), []); + if (n) for (var v = 0; v < d; v++) y.push(e.dataToPoint(a[v])); + else { + (y[0] = e.dataToPoint(a[0])), (y[1] = e.dataToPoint(a[1])); + var m = g.get(["lineStyle", "curveness"]); + +m && (y[2] = [(y[0][0] + y[1][0]) / 2 - (y[0][1] - y[1][1]) * m, (y[0][1] + y[1][1]) / 2 - (y[1][0] - y[0][0]) * m]); + } + o.setItemLayout(h, y); + } + }, + }; + } + }, + }, + tO = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.prototype.render = function (t, e, n) { + var i = t.getData(), + r = this._updateLineDraw(i, t), + o = t.get("zlevel"), + a = t.get(["effect", "trailLength"]), + s = n.getZr(), + l = "svg" === s.painter.getType(); + l || s.painter.getLayer(o).clear(!0), + null == this._lastZlevel || l || s.configLayer(this._lastZlevel, { motionBlur: !1 }), + this._showEffect(t) && a > 0 && (l || s.configLayer(o, { motionBlur: !0, lastFrameAlpha: Math.max(Math.min(a / 10 + 0.9, 1), 0) })), + r.updateData(i); + var u = t.get("clip", !0) && LS(t.coordinateSystem, !1, t); + u ? this.group.setClipPath(u) : this.group.removeClipPath(), (this._lastZlevel = o), (this._finished = !0); + }), + (e.prototype.incrementalPrepareRender = function (t, e, n) { + var i = t.getData(); + this._updateLineDraw(i, t).incrementalPrepareUpdate(i), this._clearLayer(n), (this._finished = !1); + }), + (e.prototype.incrementalRender = function (t, e, n) { + this._lineDraw.incrementalUpdate(t, e.getData()), (this._finished = t.end === e.getData().count()); + }), + (e.prototype.eachRendered = function (t) { + this._lineDraw && this._lineDraw.eachRendered(t); + }), + (e.prototype.updateTransform = function (t, e, n) { + var i = t.getData(), + r = t.pipelineContext; + if (!this._finished || r.large || r.progressiveRender) return { update: !0 }; + var o = QP.reset(t, e, n); + o.progress && o.progress({ start: 0, end: i.count(), count: i.count() }, i), this._lineDraw.updateLayout(), this._clearLayer(n); + }), + (e.prototype._updateLineDraw = function (t, e) { + var n = this._lineDraw, + i = this._showEffect(e), + r = !!e.get("polyline"), + o = e.pipelineContext.large; + return ( + (n && i === this._hasEffet && r === this._isPolyline && o === this._isLargeDraw) || + (n && n.remove(), (n = this._lineDraw = o ? new JP() : new WA(r ? (i ? qP : jP) : i ? ZP : GA)), (this._hasEffet = i), (this._isPolyline = r), (this._isLargeDraw = o)), + this.group.add(n.group), + n + ); + }), + (e.prototype._showEffect = function (t) { + return !!t.get(["effect", "show"]); + }), + (e.prototype._clearLayer = function (t) { + var e = t.getZr(); + "svg" === e.painter.getType() || null == this._lastZlevel || e.painter.getLayer(this._lastZlevel).clear(!0); + }), + (e.prototype.remove = function (t, e) { + this._lineDraw && this._lineDraw.remove(), (this._lineDraw = null), this._clearLayer(e); + }), + (e.prototype.dispose = function (t, e) { + this.remove(t, e); + }), + (e.type = "lines"), + e + ); + })(Og), + eO = "undefined" == typeof Uint32Array ? Array : Uint32Array, + nO = "undefined" == typeof Float64Array ? Array : Float64Array; + function iO(t) { + var e = t.data; + e && + e[0] && + e[0][0] && + e[0][0].coord && + (t.data = z(e, function (t) { + var e = { coords: [t[0].coord, t[1].coord] }; + return t[0].name && (e.fromName = t[0].name), t[1].name && (e.toName = t[1].name), D([e, t[0], t[1]]); + })); + } + var rO = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), (n.visualStyleAccessPath = "lineStyle"), (n.visualDrawType = "stroke"), n; + } + return ( + n(e, t), + (e.prototype.init = function (e) { + (e.data = e.data || []), iO(e); + var n = this._processFlatCoordsArray(e.data); + (this._flatCoords = n.flatCoords), (this._flatCoordsOffset = n.flatCoordsOffset), n.flatCoords && (e.data = new Float32Array(n.count)), t.prototype.init.apply(this, arguments); + }), + (e.prototype.mergeOption = function (e) { + if ((iO(e), e.data)) { + var n = this._processFlatCoordsArray(e.data); + (this._flatCoords = n.flatCoords), (this._flatCoordsOffset = n.flatCoordsOffset), n.flatCoords && (e.data = new Float32Array(n.count)); + } + t.prototype.mergeOption.apply(this, arguments); + }), + (e.prototype.appendData = function (t) { + var e = this._processFlatCoordsArray(t.data); + e.flatCoords && + (this._flatCoords + ? ((this._flatCoords = vt(this._flatCoords, e.flatCoords)), (this._flatCoordsOffset = vt(this._flatCoordsOffset, e.flatCoordsOffset))) + : ((this._flatCoords = e.flatCoords), (this._flatCoordsOffset = e.flatCoordsOffset)), + (t.data = new Float32Array(e.count))), + this.getRawData().appendData(t.data); + }), + (e.prototype._getCoordsFromItemModel = function (t) { + var e = this.getData().getItemModel(t), + n = e.option instanceof Array ? e.option : e.getShallow("coords"); + return n; + }), + (e.prototype.getLineCoordsCount = function (t) { + return this._flatCoordsOffset ? this._flatCoordsOffset[2 * t + 1] : this._getCoordsFromItemModel(t).length; + }), + (e.prototype.getLineCoords = function (t, e) { + if (this._flatCoordsOffset) { + for (var n = this._flatCoordsOffset[2 * t], i = this._flatCoordsOffset[2 * t + 1], r = 0; r < i; r++) (e[r] = e[r] || []), (e[r][0] = this._flatCoords[n + 2 * r]), (e[r][1] = this._flatCoords[n + 2 * r + 1]); + return i; + } + var o = this._getCoordsFromItemModel(t); + for (r = 0; r < o.length; r++) (e[r] = e[r] || []), (e[r][0] = o[r][0]), (e[r][1] = o[r][1]); + return o.length; + }), + (e.prototype._processFlatCoordsArray = function (t) { + var e = 0; + if ((this._flatCoords && (e = this._flatCoords.length), j(t[0]))) { + for (var n = t.length, i = new eO(n), r = new nO(n), o = 0, a = 0, s = 0, l = 0; l < n; ) { + s++; + var u = t[l++]; + (i[a++] = o + e), (i[a++] = u); + for (var h = 0; h < u; h++) { + var c = t[l++], + p = t[l++]; + (r[o++] = c), (r[o++] = p); + } + } + return { flatCoordsOffset: new Uint32Array(i.buffer, 0, a), flatCoords: r, count: s }; + } + return { flatCoordsOffset: null, flatCoords: null, count: t.length }; + }), + (e.prototype.getInitialData = function (t, e) { + var n = new cx(["value"], this); + return ( + (n.hasItemOption = !1), + n.initData(t.data, [], function (t, e, i, r) { + if (t instanceof Array) return NaN; + n.hasItemOption = !0; + var o = t.value; + return null != o ? (o instanceof Array ? o[r] : o) : void 0; + }), + n + ); + }), + (e.prototype.formatTooltip = function (t, e, n) { + var i = this.getData().getItemModel(t), + r = i.get("name"); + if (r) return r; + var o = i.get("fromName"), + a = i.get("toName"), + s = []; + return null != o && s.push(o), null != a && s.push(a), og("nameValue", { name: s.join(" > ") }); + }), + (e.prototype.preventIncremental = function () { + return !!this.get(["effect", "show"]); + }), + (e.prototype.getProgressive = function () { + var t = this.option.progressive; + return null == t ? (this.option.large ? 1e4 : this.get("progressive")) : t; + }), + (e.prototype.getProgressiveThreshold = function () { + var t = this.option.progressiveThreshold; + return null == t ? (this.option.large ? 2e4 : this.get("progressiveThreshold")) : t; + }), + (e.prototype.getZLevelKey = function () { + var t = this.getModel("effect"), + e = t.get("trailLength"); + return this.getData().count() > this.getProgressiveThreshold() ? this.id : t.get("show") && e > 0 ? e + "" : ""; + }), + (e.type = "series.lines"), + (e.dependencies = ["grid", "polar", "geo", "calendar"]), + (e.defaultOption = { + coordinateSystem: "geo", + z: 2, + legendHoverLink: !0, + xAxisIndex: 0, + yAxisIndex: 0, + symbol: ["none", "none"], + symbolSize: [10, 10], + geoIndex: 0, + effect: { show: !1, period: 4, constantSpeed: 0, symbol: "circle", symbolSize: 3, loop: !0, trailLength: 0.2 }, + large: !1, + largeThreshold: 2e3, + polyline: !1, + clip: !0, + label: { show: !1, position: "end" }, + lineStyle: { opacity: 0.5 }, + }), + e + ); + })(bg); + function oO(t) { + return t instanceof Array || (t = [t, t]), t; + } + var aO = { + seriesType: "lines", + reset: function (t) { + var e = oO(t.get("symbol")), + n = oO(t.get("symbolSize")), + i = t.getData(); + return ( + i.setVisual("fromSymbol", e && e[0]), + i.setVisual("toSymbol", e && e[1]), + i.setVisual("fromSymbolSize", n && n[0]), + i.setVisual("toSymbolSize", n && n[1]), + { + dataEach: i.hasItemOption + ? function (t, e) { + var n = t.getItemModel(e), + i = oO(n.getShallow("symbol", !0)), + r = oO(n.getShallow("symbolSize", !0)); + i[0] && t.setItemVisual(e, "fromSymbol", i[0]), i[1] && t.setItemVisual(e, "toSymbol", i[1]), r[0] && t.setItemVisual(e, "fromSymbolSize", r[0]), r[1] && t.setItemVisual(e, "toSymbolSize", r[1]); + } + : null, + } + ); + }, + }; + var sO = (function () { + function t() { + (this.blurSize = 30), (this.pointSize = 20), (this.maxOpacity = 1), (this.minOpacity = 0), (this._gradientPixels = { inRange: null, outOfRange: null }); + var t = h.createCanvas(); + this.canvas = t; + } + return ( + (t.prototype.update = function (t, e, n, i, r, o) { + var a = this._getBrush(), + s = this._getGradient(r, "inRange"), + l = this._getGradient(r, "outOfRange"), + u = this.pointSize + this.blurSize, + h = this.canvas, + c = h.getContext("2d"), + p = t.length; + (h.width = e), (h.height = n); + for (var d = 0; d < p; ++d) { + var f = t[d], + g = f[0], + y = f[1], + v = i(f[2]); + (c.globalAlpha = v), c.drawImage(a, g - u, y - u); + } + if (!h.width || !h.height) return h; + for (var m = c.getImageData(0, 0, h.width, h.height), x = m.data, _ = 0, b = x.length, w = this.minOpacity, S = this.maxOpacity - w; _ < b; ) { + v = x[_ + 3] / 256; + var M = 4 * Math.floor(255 * v); + if (v > 0) { + var I = o(v) ? s : l; + v > 0 && (v = v * S + w), (x[_++] = I[M]), (x[_++] = I[M + 1]), (x[_++] = I[M + 2]), (x[_++] = I[M + 3] * v * 256); + } else _ += 4; + } + return c.putImageData(m, 0, 0), h; + }), + (t.prototype._getBrush = function () { + var t = this._brushCanvas || (this._brushCanvas = h.createCanvas()), + e = this.pointSize + this.blurSize, + n = 2 * e; + (t.width = n), (t.height = n); + var i = t.getContext("2d"); + return i.clearRect(0, 0, n, n), (i.shadowOffsetX = n), (i.shadowBlur = this.blurSize), (i.shadowColor = "#000"), i.beginPath(), i.arc(-e, e, this.pointSize, 0, 2 * Math.PI, !0), i.closePath(), i.fill(), t; + }), + (t.prototype._getGradient = function (t, e) { + for (var n = this._gradientPixels, i = n[e] || (n[e] = new Uint8ClampedArray(1024)), r = [0, 0, 0, 0], o = 0, a = 0; a < 256; a++) t[e](a / 255, !0, r), (i[o++] = r[0]), (i[o++] = r[1]), (i[o++] = r[2]), (i[o++] = r[3]); + return i; + }), + t + ); + })(); + function lO(t) { + var e = t.dimensions; + return "lng" === e[0] && "lat" === e[1]; + } + var uO = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.prototype.render = function (t, e, n) { + var i; + e.eachComponent("visualMap", function (e) { + e.eachTargetSeries(function (n) { + n === t && (i = e); + }); + }), + (this._progressiveEls = null), + this.group.removeAll(); + var r = t.coordinateSystem; + "cartesian2d" === r.type || "calendar" === r.type ? this._renderOnCartesianAndCalendar(t, n, 0, t.getData().count()) : lO(r) && this._renderOnGeo(r, t, i, n); + }), + (e.prototype.incrementalPrepareRender = function (t, e, n) { + this.group.removeAll(); + }), + (e.prototype.incrementalRender = function (t, e, n, i) { + var r = e.coordinateSystem; + r && (lO(r) ? this.render(e, n, i) : ((this._progressiveEls = []), this._renderOnCartesianAndCalendar(e, i, t.start, t.end, !0))); + }), + (e.prototype.eachRendered = function (t) { + Jh(this._progressiveEls || this.group, t); + }), + (e.prototype._renderOnCartesianAndCalendar = function (t, e, n, i, r) { + var o, + a, + s, + l, + u = t.coordinateSystem, + h = PS(u, "cartesian2d"); + if (h) { + var c = u.getAxis("x"), + p = u.getAxis("y"); + 0, (o = c.getBandWidth() + 0.5), (a = p.getBandWidth() + 0.5), (s = c.scale.getExtent()), (l = p.scale.getExtent()); + } + for ( + var d = this.group, + f = t.getData(), + g = t.getModel(["emphasis", "itemStyle"]).getItemStyle(), + y = t.getModel(["blur", "itemStyle"]).getItemStyle(), + v = t.getModel(["select", "itemStyle"]).getItemStyle(), + m = t.get(["itemStyle", "borderRadius"]), + x = rc(t), + _ = t.getModel("emphasis"), + b = _.get("focus"), + w = _.get("blurScope"), + S = _.get("disabled"), + M = h ? [f.mapDimension("x"), f.mapDimension("y"), f.mapDimension("value")] : [f.mapDimension("time"), f.mapDimension("value")], + I = n; + I < i; + I++ + ) { + var T = void 0, + C = f.getItemVisual(I, "style"); + if (h) { + var D = f.get(M[0], I), + A = f.get(M[1], I); + if (isNaN(f.get(M[2], I)) || isNaN(D) || isNaN(A) || D < s[0] || D > s[1] || A < l[0] || A > l[1]) continue; + var k = u.dataToPoint([D, A]); + T = new Ws({ shape: { x: k[0] - o / 2, y: k[1] - a / 2, width: o, height: a }, style: C }); + } else { + if (isNaN(f.get(M[1], I))) continue; + T = new Ws({ z2: 1, shape: u.dataToRect([f.get(M[0], I)]).contentShape, style: C }); + } + if (f.hasItemOption) { + var L = f.getItemModel(I), + P = L.getModel("emphasis"); + (g = P.getModel("itemStyle").getItemStyle()), + (y = L.getModel(["blur", "itemStyle"]).getItemStyle()), + (v = L.getModel(["select", "itemStyle"]).getItemStyle()), + (m = L.get(["itemStyle", "borderRadius"])), + (b = P.get("focus")), + (w = P.get("blurScope")), + (S = P.get("disabled")), + (x = rc(L)); + } + T.shape.r = m; + var O = t.getRawValue(I), + R = "-"; + O && null != O[2] && (R = O[2] + ""), + ic(T, x, { labelFetcher: t, labelDataIndex: I, defaultOpacity: C.opacity, defaultText: R }), + (T.ensureState("emphasis").style = g), + (T.ensureState("blur").style = y), + (T.ensureState("select").style = v), + Zl(T, b, w, S), + (T.incremental = r), + r && (T.states.emphasis.hoverLayer = !0), + d.add(T), + f.setItemGraphicEl(I, T), + this._progressiveEls && this._progressiveEls.push(T); + } + }), + (e.prototype._renderOnGeo = function (t, e, n, i) { + var r = n.targetVisuals.inRange, + o = n.targetVisuals.outOfRange, + a = e.getData(), + s = this._hmLayer || this._hmLayer || new sO(); + (s.blurSize = e.get("blurSize")), (s.pointSize = e.get("pointSize")), (s.minOpacity = e.get("minOpacity")), (s.maxOpacity = e.get("maxOpacity")); + var l = t.getViewRect().clone(), + u = t.getRoamTransform(); + l.applyTransform(u); + var h = Math.max(l.x, 0), + c = Math.max(l.y, 0), + p = Math.min(l.width + l.x, i.getWidth()), + d = Math.min(l.height + l.y, i.getHeight()), + f = p - h, + g = d - c, + y = [a.mapDimension("lng"), a.mapDimension("lat"), a.mapDimension("value")], + v = a.mapArray(y, function (e, n, i) { + var r = t.dataToPoint([e, n]); + return (r[0] -= h), (r[1] -= c), r.push(i), r; + }), + m = n.getExtent(), + x = + "visualMap.continuous" === n.type + ? (function (t, e) { + var n = t[1] - t[0]; + return ( + (e = [(e[0] - t[0]) / n, (e[1] - t[0]) / n]), + function (t) { + return t >= e[0] && t <= e[1]; + } + ); + })(m, n.option.range) + : (function (t, e, n) { + var i = t[1] - t[0], + r = (e = z(e, function (e) { + return { interval: [(e.interval[0] - t[0]) / i, (e.interval[1] - t[0]) / i] }; + })).length, + o = 0; + return function (t) { + var i; + for (i = o; i < r; i++) + if ((a = e[i].interval)[0] <= t && t <= a[1]) { + o = i; + break; + } + if (i === r) + for (i = o - 1; i >= 0; i--) { + var a; + if ((a = e[i].interval)[0] <= t && t <= a[1]) { + o = i; + break; + } + } + return i >= 0 && i < r && n[i]; + }; + })(m, n.getPieceList(), n.option.selected); + s.update(v, f, g, r.color.getNormalizer(), { inRange: r.color.getColorMapper(), outOfRange: o.color.getColorMapper() }, x); + var _ = new Ns({ style: { width: f, height: g, x: h, y: c, image: s.canvas }, silent: !0 }); + this.group.add(_); + }), + (e.type = "heatmap"), + e + ); + })(Og), + hO = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.prototype.getInitialData = function (t, e) { + return _x(null, this, { generateCoord: "value" }); + }), + (e.prototype.preventIncremental = function () { + var t = wd.get(this.get("coordinateSystem")); + if (t && t.dimensions) return "lng" === t.dimensions[0] && "lat" === t.dimensions[1]; + }), + (e.type = "series.heatmap"), + (e.dependencies = ["grid", "geo", "calendar"]), + (e.defaultOption = { coordinateSystem: "cartesian2d", z: 2, geoIndex: 0, blurSize: 30, pointSize: 20, maxOpacity: 1, minOpacity: 0, select: { itemStyle: { borderColor: "#212121" } } }), + e + ); + })(bg); + var cO = ["itemStyle", "borderWidth"], + pO = [ + { xy: "x", wh: "width", index: 0, posDesc: ["left", "right"] }, + { xy: "y", wh: "height", index: 1, posDesc: ["top", "bottom"] }, + ], + dO = new Su(), + fO = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.prototype.render = function (t, e, n) { + var i = this.group, + r = t.getData(), + o = this._data, + a = t.coordinateSystem, + s = a.getBaseAxis().isHorizontal(), + l = a.master.getRect(), + u = { + ecSize: { width: n.getWidth(), height: n.getHeight() }, + seriesModel: t, + coordSys: a, + coordSysExtent: [ + [l.x, l.x + l.width], + [l.y, l.y + l.height], + ], + isHorizontal: s, + valueDim: pO[+s], + categoryDim: pO[1 - +s], + }; + r.diff(o) + .add(function (t) { + if (r.hasValue(t)) { + var e = wO(r, t), + n = gO(r, t, e, u), + o = IO(r, u, n); + r.setItemGraphicEl(t, o), i.add(o), kO(o, u, n); + } + }) + .update(function (t, e) { + var n = o.getItemGraphicEl(e); + if (r.hasValue(t)) { + var a = wO(r, t), + s = gO(r, t, a, u), + l = CO(r, s); + n && l !== n.__pictorialShapeStr && (i.remove(n), r.setItemGraphicEl(t, null), (n = null)), + n + ? (function (t, e, n) { + var i = n.animationModel, + r = n.dataIndex, + o = t.__pictorialBundle; + vh(o, { x: n.bundlePosition[0], y: n.bundlePosition[1] }, i, r), n.symbolRepeat ? mO(t, e, n, !0) : xO(t, e, n, !0); + _O(t, n, !0), bO(t, e, n, !0); + })(n, u, s) + : (n = IO(r, u, s, !0)), + r.setItemGraphicEl(t, n), + (n.__pictorialSymbolMeta = s), + i.add(n), + kO(n, u, s); + } else i.remove(n); + }) + .remove(function (t) { + var e = o.getItemGraphicEl(t); + e && TO(o, t, e.__pictorialSymbolMeta.animationModel, e); + }) + .execute(); + var h = t.get("clip", !0) ? LS(t.coordinateSystem, !1, t) : null; + return h ? i.setClipPath(h) : i.removeClipPath(), (this._data = r), this.group; + }), + (e.prototype.remove = function (t, e) { + var n = this.group, + i = this._data; + t.get("animation") + ? i && + i.eachItemGraphicEl(function (e) { + TO(i, rl(e).dataIndex, t, e); + }) + : n.removeAll(); + }), + (e.type = "pictorialBar"), + e + ); + })(Og); + function gO(t, e, n, i) { + var r = t.getItemLayout(e), + o = n.get("symbolRepeat"), + a = n.get("symbolClip"), + s = n.get("symbolPosition") || "start", + l = ((n.get("symbolRotate") || 0) * Math.PI) / 180 || 0, + u = n.get("symbolPatternSize") || 2, + h = n.isAnimationEnabled(), + c = { + dataIndex: e, + layout: r, + itemModel: n, + symbolType: t.getItemVisual(e, "symbol") || "circle", + style: t.getItemVisual(e, "style"), + symbolClip: a, + symbolRepeat: o, + symbolRepeatDirection: n.get("symbolRepeatDirection"), + symbolPatternSize: u, + rotation: l, + animationModel: h ? n : null, + hoverScale: h && n.get(["emphasis", "scale"]), + z2: n.getShallow("z", !0) || 0, + }; + !(function (t, e, n, i, r) { + var o, + a = i.valueDim, + s = t.get("symbolBoundingData"), + l = i.coordSys.getOtherAxis(i.coordSys.getBaseAxis()), + u = l.toGlobalCoord(l.dataToCoord(0)), + h = 1 - +(n[a.wh] <= 0); + if (Y(s)) { + var c = [yO(l, s[0]) - u, yO(l, s[1]) - u]; + c[1] < c[0] && c.reverse(), (o = c[h]); + } else o = null != s ? yO(l, s) - u : e ? i.coordSysExtent[a.index][h] - u : n[a.wh]; + (r.boundingLength = o), e && (r.repeatCutLength = n[a.wh]); + r.pxSign = o > 0 ? 1 : -1; + })(n, o, r, i, c), + (function (t, e, n, i, r, o, a, s, l, u) { + var h, + c = l.valueDim, + p = l.categoryDim, + d = Math.abs(n[p.wh]), + f = t.getItemVisual(e, "symbolSize"); + h = Y(f) ? f.slice() : null == f ? ["100%", "100%"] : [f, f]; + (h[p.index] = $r(h[p.index], d)), (h[c.index] = $r(h[c.index], i ? d : Math.abs(o))), (u.symbolSize = h); + var g = (u.symbolScale = [h[0] / s, h[1] / s]); + g[c.index] *= (l.isHorizontal ? -1 : 1) * a; + })(t, e, r, o, 0, c.boundingLength, c.pxSign, u, i, c), + (function (t, e, n, i, r) { + var o = t.get(cO) || 0; + o && (dO.attr({ scaleX: e[0], scaleY: e[1], rotation: n }), dO.updateTransform(), (o /= dO.getLineScale()), (o *= e[i.valueDim.index])); + r.valueLineWidth = o || 0; + })(n, c.symbolScale, l, i, c); + var p = c.symbolSize, + d = Zy(n.get("symbolOffset"), p); + return ( + (function (t, e, n, i, r, o, a, s, l, u, h, c) { + var p = h.categoryDim, + d = h.valueDim, + f = c.pxSign, + g = Math.max(e[d.index] + s, 0), + y = g; + if (i) { + var v = Math.abs(l), + m = it(t.get("symbolMargin"), "15%") + "", + x = !1; + m.lastIndexOf("!") === m.length - 1 && ((x = !0), (m = m.slice(0, m.length - 1))); + var _ = $r(m, e[d.index]), + b = Math.max(g + 2 * _, 0), + w = x ? 0 : 2 * _, + S = vo(i), + M = S ? i : LO((v + w) / b); + (b = g + 2 * (_ = (v - M * g) / 2 / (x ? M : Math.max(M - 1, 1)))), (w = x ? 0 : 2 * _), S || "fixed" === i || (M = u ? LO((Math.abs(u) + w) / b) : 0), (y = M * b - w), (c.repeatTimes = M), (c.symbolMargin = _); + } + var I = f * (y / 2), + T = (c.pathPosition = []); + (T[p.index] = n[p.wh] / 2), (T[d.index] = "start" === a ? I : "end" === a ? l - I : l / 2), o && ((T[0] += o[0]), (T[1] += o[1])); + var C = (c.bundlePosition = []); + (C[p.index] = n[p.xy]), (C[d.index] = n[d.xy]); + var D = (c.barRectShape = A({}, n)); + (D[d.wh] = f * Math.max(Math.abs(n[d.wh]), Math.abs(T[d.index] + I))), (D[p.wh] = n[p.wh]); + var k = (c.clipShape = {}); + (k[p.xy] = -n[p.xy]), (k[p.wh] = h.ecSize[p.wh]), (k[d.xy] = 0), (k[d.wh] = n[d.wh]); + })(n, p, r, o, 0, d, s, c.valueLineWidth, c.boundingLength, c.repeatCutLength, i, c), + c + ); + } + function yO(t, e) { + return t.toGlobalCoord(t.dataToCoord(t.scale.parse(e))); + } + function vO(t) { + var e = t.symbolPatternSize, + n = Xy(t.symbolType, -e / 2, -e / 2, e, e); + return n.attr({ culling: !0 }), "image" !== n.type && n.setStyle({ strokeNoScale: !0 }), n; + } + function mO(t, e, n, i) { + var r = t.__pictorialBundle, + o = n.symbolSize, + a = n.valueLineWidth, + s = n.pathPosition, + l = e.valueDim, + u = n.repeatTimes || 0, + h = 0, + c = o[e.valueDim.index] + a + 2 * n.symbolMargin; + for ( + DO(t, function (t) { + (t.__pictorialAnimationIndex = h), + (t.__pictorialRepeatTimes = u), + h < u + ? AO(t, null, f(h), n, i) + : AO(t, null, { scaleX: 0, scaleY: 0 }, n, i, function () { + r.remove(t); + }), + h++; + }); + h < u; + h++ + ) { + var p = vO(n); + (p.__pictorialAnimationIndex = h), (p.__pictorialRepeatTimes = u), r.add(p); + var d = f(h); + AO(p, { x: d.x, y: d.y, scaleX: 0, scaleY: 0 }, { scaleX: d.scaleX, scaleY: d.scaleY, rotation: d.rotation }, n, i); + } + function f(t) { + var e = s.slice(), + i = n.pxSign, + r = t; + return ("start" === n.symbolRepeatDirection ? i > 0 : i < 0) && (r = u - 1 - t), (e[l.index] = c * (r - u / 2 + 0.5) + s[l.index]), { x: e[0], y: e[1], scaleX: n.symbolScale[0], scaleY: n.symbolScale[1], rotation: n.rotation }; + } + } + function xO(t, e, n, i) { + var r = t.__pictorialBundle, + o = t.__pictorialMainPath; + o + ? AO(o, null, { x: n.pathPosition[0], y: n.pathPosition[1], scaleX: n.symbolScale[0], scaleY: n.symbolScale[1], rotation: n.rotation }, n, i) + : ((o = t.__pictorialMainPath = vO(n)), r.add(o), AO(o, { x: n.pathPosition[0], y: n.pathPosition[1], scaleX: 0, scaleY: 0, rotation: n.rotation }, { scaleX: n.symbolScale[0], scaleY: n.symbolScale[1] }, n, i)); + } + function _O(t, e, n) { + var i = A({}, e.barRectShape), + r = t.__pictorialBarRect; + r ? AO(r, null, { shape: i }, e, n) : (((r = t.__pictorialBarRect = new Ws({ z2: 2, shape: i, silent: !0, style: { stroke: "transparent", fill: "transparent", lineWidth: 0 } })).disableMorphing = !0), t.add(r)); + } + function bO(t, e, n, i) { + if (n.symbolClip) { + var r = t.__pictorialClipPath, + o = A({}, n.clipShape), + a = e.valueDim, + s = n.animationModel, + l = n.dataIndex; + if (r) vh(r, { shape: o }, s, l); + else { + (o[a.wh] = 0), (r = new Ws({ shape: o })), t.__pictorialBundle.setClipPath(r), (t.__pictorialClipPath = r); + var u = {}; + (u[a.wh] = n.clipShape[a.wh]), Qh[i ? "updateProps" : "initProps"](r, { shape: u }, s, l); + } + } + } + function wO(t, e) { + var n = t.getItemModel(e); + return (n.getAnimationDelayParams = SO), (n.isAnimationEnabled = MO), n; + } + function SO(t) { + return { index: t.__pictorialAnimationIndex, count: t.__pictorialRepeatTimes }; + } + function MO() { + return this.parentModel.isAnimationEnabled() && !!this.getShallow("animation"); + } + function IO(t, e, n, i) { + var r = new Br(), + o = new Br(); + return ( + r.add(o), + (r.__pictorialBundle = o), + (o.x = n.bundlePosition[0]), + (o.y = n.bundlePosition[1]), + n.symbolRepeat ? mO(r, e, n) : xO(r, 0, n), + _O(r, n, i), + bO(r, e, n, i), + (r.__pictorialShapeStr = CO(t, n)), + (r.__pictorialSymbolMeta = n), + r + ); + } + function TO(t, e, n, i) { + var r = i.__pictorialBarRect; + r && r.removeTextContent(); + var o = []; + DO(i, function (t) { + o.push(t); + }), + i.__pictorialMainPath && o.push(i.__pictorialMainPath), + i.__pictorialClipPath && (n = null), + E(o, function (t) { + _h(t, { scaleX: 0, scaleY: 0 }, n, e, function () { + i.parent && i.parent.remove(i); + }); + }), + t.setItemGraphicEl(e, null); + } + function CO(t, e) { + return [t.getItemVisual(e.dataIndex, "symbol") || "none", !!e.symbolRepeat, !!e.symbolClip].join(":"); + } + function DO(t, e, n) { + E(t.__pictorialBundle.children(), function (i) { + i !== t.__pictorialBarRect && e.call(n, i); + }); + } + function AO(t, e, n, i, r, o) { + e && t.attr(e), i.symbolClip && !r ? n && t.attr(n) : n && Qh[r ? "updateProps" : "initProps"](t, n, i.animationModel, i.dataIndex, o); + } + function kO(t, e, n) { + var i = n.dataIndex, + r = n.itemModel, + o = r.getModel("emphasis"), + a = o.getModel("itemStyle").getItemStyle(), + s = r.getModel(["blur", "itemStyle"]).getItemStyle(), + l = r.getModel(["select", "itemStyle"]).getItemStyle(), + u = r.getShallow("cursor"), + h = o.get("focus"), + c = o.get("blurScope"), + p = o.get("scale"); + DO(t, function (t) { + if (t instanceof Ns) { + var e = t.style; + t.useStyle(A({ image: e.image, x: e.x, y: e.y, width: e.width, height: e.height }, n.style)); + } else t.useStyle(n.style); + var i = t.ensureState("emphasis"); + (i.style = a), p && ((i.scaleX = 1.1 * t.scaleX), (i.scaleY = 1.1 * t.scaleY)), (t.ensureState("blur").style = s), (t.ensureState("select").style = l), u && (t.cursor = u), (t.z2 = n.z2); + }); + var d = e.valueDim.posDesc[+(n.boundingLength > 0)], + f = t.__pictorialBarRect; + (f.ignoreClip = !0), + ic(f, rc(r), { labelFetcher: e.seriesModel, labelDataIndex: i, defaultText: cS(e.seriesModel.getData(), i), inheritColor: n.style.fill, defaultOpacity: n.style.opacity, defaultOutsidePosition: d }), + Zl(t, h, c, o.get("disabled")); + } + function LO(t) { + var e = Math.round(t); + return Math.abs(t - e) < 1e-4 ? e : Math.ceil(t); + } + var PO = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), (n.hasSymbolVisual = !0), (n.defaultSymbol = "roundRect"), n; + } + return ( + n(e, t), + (e.prototype.getInitialData = function (e) { + return (e.stack = null), t.prototype.getInitialData.apply(this, arguments); + }), + (e.type = "series.pictorialBar"), + (e.dependencies = ["grid"]), + (e.defaultOption = kc(jS.defaultOption, { + symbol: "circle", + symbolSize: null, + symbolRotate: null, + symbolPosition: null, + symbolOffset: null, + symbolMargin: null, + symbolRepeat: !1, + symbolRepeatDirection: "end", + symbolClip: !1, + symbolBoundingData: null, + symbolPatternSize: 400, + barGap: "-100%", + clip: !1, + progressive: 0, + emphasis: { scale: !1 }, + select: { itemStyle: { borderColor: "#212121" } }, + })), + e + ); + })(jS); + var OO = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), (n._layers = []), n; + } + return ( + n(e, t), + (e.prototype.render = function (t, e, n) { + var i = t.getData(), + r = this, + o = this.group, + a = t.getLayerSeries(), + s = i.getLayout("layoutInfo"), + l = s.rect, + u = s.boundaryGap; + function h(t) { + return t.name; + } + (o.x = 0), (o.y = l.y + u[0]); + var c = new Gm(this._layersSeries || [], a, h, h), + p = []; + function d(e, n, s) { + var l = r._layers; + if ("remove" !== e) { + for (var u, h, c = [], d = [], f = a[n].indices, g = 0; g < f.length; g++) { + var y = i.getItemLayout(f[g]), + v = y.x, + m = y.y0, + x = y.y; + c.push(v, m), d.push(v, m + x), (u = i.getItemVisual(f[g], "style")); + } + var _ = i.getItemLayout(f[0]), + b = t.getModel("label").get("margin"), + w = t.getModel("emphasis"); + if ("add" === e) { + var S = (p[n] = new Br()); + (h = new DS({ shape: { points: c, stackedOnPoints: d, smooth: 0.4, stackedOnSmooth: 0.4, smoothConstraint: !1 }, z2: 0 })), + S.add(h), + o.add(S), + t.isAnimationEnabled() && + h.setClipPath( + (function (t, e, n) { + var i = new Ws({ shape: { x: t.x - 10, y: t.y - 10, width: 0, height: t.height + 20 } }); + return mh(i, { shape: { x: t.x - 50, width: t.width + 100, height: t.height + 20 } }, e, n), i; + })(h.getBoundingRect(), t, function () { + h.removeClipPath(); + }) + ); + } else { + S = l[s]; + (h = S.childAt(0)), o.add(S), (p[n] = S), vh(h, { shape: { points: c, stackedOnPoints: d } }, t), Sh(h); + } + ic(h, rc(t), { labelDataIndex: f[g - 1], defaultText: i.getName(f[g - 1]), inheritColor: u.fill }, { normal: { verticalAlign: "middle" } }), h.setTextConfig({ position: null, local: !0 }); + var M = h.getTextContent(); + M && ((M.x = _.x - b), (M.y = _.y0 + _.y / 2)), h.useStyle(u), i.setItemGraphicEl(n, h), $l(h, t), Zl(h, w.get("focus"), w.get("blurScope"), w.get("disabled")); + } else o.remove(l[n]); + } + c.add(W(d, this, "add")).update(W(d, this, "update")).remove(W(d, this, "remove")).execute(), (this._layersSeries = a), (this._layers = p); + }), + (e.type = "themeRiver"), + e + ); + })(Og); + var RO = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.prototype.init = function (e) { + t.prototype.init.apply(this, arguments), (this.legendVisualProvider = new OM(W(this.getData, this), W(this.getRawData, this))); + }), + (e.prototype.fixData = function (t) { + var e = t.length, + n = {}, + i = Uo(t, function (t) { + return n.hasOwnProperty(t[0] + "") || (n[t[0] + ""] = -1), t[2]; + }), + r = []; + i.buckets.each(function (t, e) { + r.push({ name: e, dataList: t }); + }); + for (var o = r.length, a = 0; a < o; ++a) { + for (var s = r[a].name, l = 0; l < r[a].dataList.length; ++l) { + var u = r[a].dataList[l][0] + ""; + n[u] = a; + } + for (var u in n) n.hasOwnProperty(u) && n[u] !== a && ((n[u] = a), (t[e] = [u, 0, s]), e++); + } + return t; + }), + (e.prototype.getInitialData = function (t, e) { + for ( + var n = this.getReferringComponents("singleAxis", Wo).models[0].get("type"), + i = B(t.data, function (t) { + return void 0 !== t[2]; + }), + r = this.fixData(i || []), + o = [], + a = (this.nameMap = yt()), + s = 0, + l = 0; + l < r.length; + ++l + ) + o.push(r[l][2]), a.get(r[l][2]) || (a.set(r[l][2], s), s++); + var u = px(r, { + coordDimensions: ["single"], + dimensionsDefine: [ + { name: "time", type: Ym(n) }, + { name: "value", type: "float" }, + { name: "name", type: "ordinal" }, + ], + encodeDefine: { single: 0, value: 1, itemName: 2 }, + }).dimensions, + h = new cx(u, this); + return h.initData(r), h; + }), + (e.prototype.getLayerSeries = function () { + for (var t = this.getData(), e = t.count(), n = [], i = 0; i < e; ++i) n[i] = i; + var r = t.mapDimension("single"), + o = Uo(n, function (e) { + return t.get("name", e); + }), + a = []; + return ( + o.buckets.each(function (e, n) { + e.sort(function (e, n) { + return t.get(r, e) - t.get(r, n); + }), + a.push({ name: n, indices: e }); + }), + a + ); + }), + (e.prototype.getAxisTooltipData = function (t, e, n) { + Y(t) || (t = t ? [t] : []); + for (var i, r = this.getData(), o = this.getLayerSeries(), a = [], s = o.length, l = 0; l < s; ++l) { + for (var u = Number.MAX_VALUE, h = -1, c = o[l].indices.length, p = 0; p < c; ++p) { + var d = r.get(t[0], o[l].indices[p]), + f = Math.abs(d - e); + f <= u && ((i = d), (u = f), (h = o[l].indices[p])); + } + a.push(h); + } + return { dataIndices: a, nestestValue: i }; + }), + (e.prototype.formatTooltip = function (t, e, n) { + var i = this.getData(); + return og("nameValue", { name: i.getName(t), value: i.get(i.mapDimension("value"), t) }); + }), + (e.type = "series.themeRiver"), + (e.dependencies = ["singleAxis"]), + (e.defaultOption = { + z: 2, + colorBy: "data", + coordinateSystem: "singleAxis", + boundaryGap: ["10%", "10%"], + singleAxisIndex: 0, + animationEasing: "linear", + label: { margin: 4, show: !0, position: "left", fontSize: 11 }, + emphasis: { label: { show: !0 } }, + }), + e + ); + })(bg); + function NO(t, e) { + t.eachSeriesByType("themeRiver", function (t) { + var e = t.getData(), + n = t.coordinateSystem, + i = {}, + r = n.getRect(); + i.rect = r; + var o = t.get("boundaryGap"), + a = n.getAxis(); + ((i.boundaryGap = o), "horizontal" === a.orient) + ? ((o[0] = $r(o[0], r.height)), (o[1] = $r(o[1], r.height)), EO(e, t, r.height - o[0] - o[1])) + : ((o[0] = $r(o[0], r.width)), (o[1] = $r(o[1], r.width)), EO(e, t, r.width - o[0] - o[1])); + e.setLayout("layoutInfo", i); + }); + } + function EO(t, e, n) { + if (t.count()) + for ( + var i, + r = e.coordinateSystem, + o = e.getLayerSeries(), + a = t.mapDimension("single"), + s = t.mapDimension("value"), + l = z(o, function (e) { + return z(e.indices, function (e) { + var n = r.dataToPoint(t.get(a, e)); + return (n[1] = t.get(s, e)), n; + }); + }), + u = (function (t) { + for (var e = t.length, n = t[0].length, i = [], r = [], o = 0, a = 0; a < n; ++a) { + for (var s = 0, l = 0; l < e; ++l) s += t[l][a][1]; + s > o && (o = s), i.push(s); + } + for (var u = 0; u < n; ++u) r[u] = (o - i[u]) / 2; + o = 0; + for (var h = 0; h < n; ++h) { + var c = i[h] + r[h]; + c > o && (o = c); + } + return { y0: r, max: o }; + })(l), + h = u.y0, + c = n / u.max, + p = o.length, + d = o[0].indices.length, + f = 0; + f < d; + ++f + ) { + (i = h[f] * c), t.setItemLayout(o[0].indices[f], { layerIndex: 0, x: l[0][f][0], y0: i, y: l[0][f][1] * c }); + for (var g = 1; g < p; ++g) (i += l[g - 1][f][1] * c), t.setItemLayout(o[g].indices[f], { layerIndex: g, x: l[g][f][0], y0: i, y: l[g][f][1] * c }); + } + } + var zO = (function (t) { + function e(e, n, i, r) { + var o = t.call(this) || this; + (o.z2 = 2), (o.textConfig = { inside: !0 }), (rl(o).seriesIndex = n.seriesIndex); + var a = new Xs({ z2: 4, silent: e.getModel().get(["label", "silent"]) }); + return o.setTextContent(a), o.updateData(!0, e, n, i, r), o; + } + return ( + n(e, t), + (e.prototype.updateData = function (t, e, n, i, r) { + (this.node = e), (e.piece = this), (n = n || this._seriesModel), (i = i || this._ecModel); + var o = this; + rl(o).dataIndex = e.dataIndex; + var a = e.getModel(), + s = a.getModel("emphasis"), + l = e.getLayout(), + u = A({}, l); + u.label = null; + var h = e.getVisual("style"); + h.lineJoin = "bevel"; + var c = e.getVisual("decal"); + c && (h.decal = mv(c, r)); + var p = tM(a.getModel("itemStyle"), u, !0); + A(u, p), + E(hl, function (t) { + var e = o.ensureState(t), + n = a.getModel([t, "itemStyle"]); + e.style = n.getItemStyle(); + var i = tM(n, u); + i && (e.shape = i); + }), + t ? (o.setShape(u), (o.shape.r = l.r0), mh(o, { shape: { r: l.r } }, n, e.dataIndex)) : (vh(o, { shape: u }, n), Sh(o)), + o.useStyle(h), + this._updateLabel(n); + var d = a.getShallow("cursor"); + d && o.attr("cursor", d), (this._seriesModel = n || this._seriesModel), (this._ecModel = i || this._ecModel); + var f = s.get("focus"); + Zl(this, "ancestor" === f ? e.getAncestorsIndices() : "descendant" === f ? e.getDescendantIndices() : f, s.get("blurScope"), s.get("disabled")); + }), + (e.prototype._updateLabel = function (t) { + var e = this, + n = this.node.getModel(), + i = n.getModel("label"), + r = this.node.getLayout(), + o = r.endAngle - r.startAngle, + a = (r.startAngle + r.endAngle) / 2, + s = Math.cos(a), + l = Math.sin(a), + u = this, + h = u.getTextContent(), + c = this.node.dataIndex, + p = (i.get("minAngle") / 180) * Math.PI, + d = i.get("show") && !(null != p && Math.abs(o) < p); + function f(t, e) { + var n = t.get(e); + return null == n ? i.get(e) : n; + } + (h.ignore = !d), + E(cl, function (i) { + var p = "normal" === i ? n.getModel("label") : n.getModel([i, "label"]), + d = "normal" === i, + g = d ? h : h.ensureState(i), + y = t.getFormattedLabel(c, i); + d && (y = y || e.node.name), (g.style = oc(p, {}, null, "normal" !== i, !0)), y && (g.style.text = y); + var v = p.get("show"); + null == v || d || (g.ignore = !v); + var m, + x = f(p, "position"), + _ = d ? u : u.states[i], + b = _.style.fill; + _.textConfig = { outsideFill: "inherit" === p.get("color") ? b : null, inside: "outside" !== x }; + var w = f(p, "distance") || 0, + S = f(p, "align"), + M = f(p, "rotate"), + I = 0.5 * Math.PI, + T = 1.5 * Math.PI, + C = gs("tangential" === M ? Math.PI / 2 - a : a), + D = C > I && !so(C - I) && C < T; + "outside" === x + ? ((m = r.r + w), (S = D ? "right" : "left")) + : S && "center" !== S + ? "left" === S + ? ((m = r.r0 + w), (S = D ? "right" : "left")) + : "right" === S && ((m = r.r - w), (S = D ? "left" : "right")) + : ((m = o === 2 * Math.PI && 0 === r.r0 ? 0 : (r.r + r.r0) / 2), (S = "center")), + (g.style.align = S), + (g.style.verticalAlign = f(p, "verticalAlign") || "middle"), + (g.x = m * s + r.cx), + (g.y = m * l + r.cy); + var A = 0; + "radial" === M ? (A = gs(-a) + (D ? Math.PI : 0)) : "tangential" === M ? (A = gs(Math.PI / 2 - a) + (D ? Math.PI : 0)) : j(M) && (A = (M * Math.PI) / 180), (g.rotation = gs(A)); + }), + h.dirtyStyle(); + }), + e + ); + })(Fu), + VO = "sunburstRootToNode", + BO = "sunburstHighlight"; + var FO = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.prototype.render = function (t, e, n, i) { + var r = this; + (this.seriesModel = t), (this.api = n), (this.ecModel = e); + var o = t.getData(), + a = o.tree.root, + s = t.getViewRoot(), + l = this.group, + u = t.get("renderLabelForZeroData"), + h = []; + s.eachNode(function (t) { + h.push(t); + }); + var c = this._oldChildren || []; + !(function (i, r) { + if (0 === i.length && 0 === r.length) return; + function s(t) { + return t.getId(); + } + function h(s, h) { + !(function (i, r) { + u || !i || i.getValue() || (i = null); + if (i !== a && r !== a) + if (r && r.piece) + i + ? (r.piece.updateData(!1, i, t, e, n), o.setItemGraphicEl(i.dataIndex, r.piece)) + : (function (t) { + if (!t) return; + t.piece && (l.remove(t.piece), (t.piece = null)); + })(r); + else if (i) { + var s = new zO(i, t, e, n); + l.add(s), o.setItemGraphicEl(i.dataIndex, s); + } + })(null == s ? null : i[s], null == h ? null : r[h]); + } + new Gm(r, i, s, s).add(h).update(h).remove(H(h, null)).execute(); + })(h, c), + (function (i, o) { + o.depth > 0 + ? (r.virtualPiece ? r.virtualPiece.updateData(!1, i, t, e, n) : ((r.virtualPiece = new zO(i, t, e, n)), l.add(r.virtualPiece)), + o.piece.off("click"), + r.virtualPiece.on("click", function (t) { + r._rootToNode(o.parentNode); + })) + : r.virtualPiece && (l.remove(r.virtualPiece), (r.virtualPiece = null)); + })(a, s), + this._initEvents(), + (this._oldChildren = h); + }), + (e.prototype._initEvents = function () { + var t = this; + this.group.off("click"), + this.group.on("click", function (e) { + var n = !1; + t.seriesModel.getViewRoot().eachNode(function (i) { + if (!n && i.piece && i.piece === e.target) { + var r = i.getModel().get("nodeClick"); + if ("rootToNode" === r) t._rootToNode(i); + else if ("link" === r) { + var o = i.getModel(), + a = o.get("link"); + if (a) Mp(a, o.get("target", !0) || "_blank"); + } + n = !0; + } + }); + }); + }), + (e.prototype._rootToNode = function (t) { + t !== this.seriesModel.getViewRoot() && this.api.dispatchAction({ type: VO, from: this.uid, seriesId: this.seriesModel.id, targetNode: t }); + }), + (e.prototype.containPoint = function (t, e) { + var n = e.getData().getItemLayout(0); + if (n) { + var i = t[0] - n.cx, + r = t[1] - n.cy, + o = Math.sqrt(i * i + r * r); + return o <= n.r && o >= n.r0; + } + }), + (e.type = "sunburst"), + e + ); + })(Og), + GO = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), (n.ignoreStyleOnData = !0), n; + } + return ( + n(e, t), + (e.prototype.getInitialData = function (t, e) { + var n = { name: t.name, children: t.data }; + WO(n); + var i = (this._levelModels = z( + t.levels || [], + function (t) { + return new Cc(t, this, e); + }, + this + )), + r = tD.createTree(n, this, function (t) { + t.wrapMethod("getItemModel", function (t, e) { + var n = r.getNodeByDataIndex(e), + o = i[n.depth]; + return o && (t.parentModel = o), t; + }); + }); + return r.data; + }), + (e.prototype.optionUpdated = function () { + this.resetViewRoot(); + }), + (e.prototype.getDataParams = function (e) { + var n = t.prototype.getDataParams.apply(this, arguments), + i = this.getData().tree.getNodeByDataIndex(e); + return (n.treePathInfo = rD(i, this)), n; + }), + (e.prototype.getLevelModel = function (t) { + return this._levelModels && this._levelModels[t.depth]; + }), + (e.prototype.getViewRoot = function () { + return this._viewRoot; + }), + (e.prototype.resetViewRoot = function (t) { + t ? (this._viewRoot = t) : (t = this._viewRoot); + var e = this.getRawData().tree.root; + (t && (t === e || e.contains(t))) || (this._viewRoot = e); + }), + (e.prototype.enableAriaDecal = function () { + hD(this); + }), + (e.type = "series.sunburst"), + (e.defaultOption = { + z: 2, + center: ["50%", "50%"], + radius: [0, "75%"], + clockwise: !0, + startAngle: 90, + minAngle: 0, + stillShowZeroSum: !0, + nodeClick: "rootToNode", + renderLabelForZeroData: !1, + label: { rotate: "radial", show: !0, opacity: 1, align: "center", position: "inside", distance: 5, silent: !0 }, + itemStyle: { borderWidth: 1, borderColor: "white", borderType: "solid", shadowBlur: 0, shadowColor: "rgba(0, 0, 0, 0.2)", shadowOffsetX: 0, shadowOffsetY: 0, opacity: 1 }, + emphasis: { focus: "descendant" }, + blur: { itemStyle: { opacity: 0.2 }, label: { opacity: 0.1 } }, + animationType: "expansion", + animationDuration: 1e3, + animationDurationUpdate: 500, + data: [], + sort: "desc", + }), + e + ); + })(bg); + function WO(t) { + var e = 0; + E(t.children, function (t) { + WO(t); + var n = t.value; + Y(n) && (n = n[0]), (e += n); + }); + var n = t.value; + Y(n) && (n = n[0]), (null == n || isNaN(n)) && (n = e), n < 0 && (n = 0), Y(t.value) ? (t.value[0] = n) : (t.value = n); + } + var HO = Math.PI / 180; + function YO(t, e, n) { + e.eachSeriesByType(t, function (t) { + var e = t.get("center"), + i = t.get("radius"); + Y(i) || (i = [0, i]), Y(e) || (e = [e, e]); + var r = n.getWidth(), + o = n.getHeight(), + a = Math.min(r, o), + s = $r(e[0], r), + l = $r(e[1], o), + u = $r(i[0], a / 2), + h = $r(i[1], a / 2), + c = -t.get("startAngle") * HO, + p = t.get("minAngle") * HO, + d = t.getData().tree.root, + f = t.getViewRoot(), + g = f.depth, + y = t.get("sort"); + null != y && XO(f, y); + var v = 0; + E(f.children, function (t) { + !isNaN(t.getValue()) && v++; + }); + var m = f.getValue(), + x = (Math.PI / (m || v)) * 2, + _ = f.depth > 0, + b = f.height - (_ ? -1 : 1), + w = (h - u) / (b || 1), + S = t.get("clockwise"), + M = t.get("stillShowZeroSum"), + I = S ? 1 : -1, + T = function (e, n) { + if (e) { + var i = n; + if (e !== d) { + var r = e.getValue(), + o = 0 === m && M ? x : r * x; + o < p && (o = p), (i = n + I * o); + var h = e.depth - g - (_ ? -1 : 1), + c = u + w * h, + f = u + w * (h + 1), + y = t.getLevelModel(e); + if (y) { + var v = y.get("r0", !0), + b = y.get("r", !0), + C = y.get("radius", !0); + null != C && ((v = C[0]), (b = C[1])), null != v && (c = $r(v, a / 2)), null != b && (f = $r(b, a / 2)); + } + e.setLayout({ angle: o, startAngle: n, endAngle: i, clockwise: S, cx: s, cy: l, r0: c, r: f }); + } + if (e.children && e.children.length) { + var D = 0; + E(e.children, function (t) { + D += T(t, n + D); + }); + } + return i - n; + } + }; + if (_) { + var C = u, + D = u + w, + A = 2 * Math.PI; + d.setLayout({ angle: A, startAngle: c, endAngle: c + A, clockwise: S, cx: s, cy: l, r0: C, r: D }); + } + T(f, c); + }); + } + function XO(t, e) { + var n = t.children || []; + (t.children = (function (t, e) { + if (X(e)) { + var n = z(t, function (t, e) { + var n = t.getValue(); + return { + params: { + depth: t.depth, + height: t.height, + dataIndex: t.dataIndex, + getValue: function () { + return n; + }, + }, + index: e, + }; + }); + return ( + n.sort(function (t, n) { + return e(t.params, n.params); + }), + z(n, function (e) { + return t[e.index]; + }) + ); + } + var i = "asc" === e; + return t.sort(function (t, e) { + var n = (t.getValue() - e.getValue()) * (i ? 1 : -1); + return 0 === n ? (t.dataIndex - e.dataIndex) * (i ? -1 : 1) : n; + }); + })(n, e)), + n.length && + E(t.children, function (t) { + XO(t, e); + }); + } + function UO(t) { + var e = {}; + t.eachSeriesByType("sunburst", function (t) { + var n = t.getData(), + i = n.tree; + i.eachNode(function (r) { + var o = r.getModel().getModel("itemStyle").getItemStyle(); + o.fill || + (o.fill = (function (t, n, i) { + for (var r = t; r && r.depth > 1; ) r = r.parentNode; + var o = n.getColorFromPalette(r.name || r.dataIndex + "", e); + return t.depth > 1 && U(o) && (o = $n(o, ((t.depth - 1) / (i - 1)) * 0.5)), o; + })(r, t, i.root.height)), + A(n.ensureUniqueItemVisual(r.dataIndex, "style"), o); + }); + }); + } + var ZO = { color: "fill", borderColor: "stroke" }, + jO = { symbol: 1, symbolSize: 1, symbolKeepAspect: 1, legendIcon: 1, visualMeta: 1, liftZ: 1, decal: 1 }, + qO = Vo(), + KO = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.prototype.optionUpdated = function () { + (this.currentZLevel = this.get("zlevel", !0)), (this.currentZ = this.get("z", !0)); + }), + (e.prototype.getInitialData = function (t, e) { + return _x(null, this); + }), + (e.prototype.getDataParams = function (e, n, i) { + var r = t.prototype.getDataParams.call(this, e, n); + return i && (r.info = qO(i).info), r; + }), + (e.type = "series.custom"), + (e.dependencies = ["grid", "polar", "geo", "singleAxis", "calendar"]), + (e.defaultOption = { coordinateSystem: "cartesian2d", z: 2, legendHoverLink: !0, clip: !1 }), + e + ); + })(bg); + function $O(t, e) { + return ( + (e = e || [0, 0]), + z( + ["x", "y"], + function (n, i) { + var r = this.getAxis(n), + o = e[i], + a = t[i] / 2; + return "category" === r.type ? r.getBandWidth() : Math.abs(r.dataToCoord(o - a) - r.dataToCoord(o + a)); + }, + this + ) + ); + } + function JO(t, e) { + return ( + (e = e || [0, 0]), + z( + [0, 1], + function (n) { + var i = e[n], + r = t[n] / 2, + o = [], + a = []; + return (o[n] = i - r), (a[n] = i + r), (o[1 - n] = a[1 - n] = e[1 - n]), Math.abs(this.dataToPoint(o)[n] - this.dataToPoint(a)[n]); + }, + this + ) + ); + } + function QO(t, e) { + var n = this.getAxis(), + i = e instanceof Array ? e[0] : e, + r = (t instanceof Array ? t[0] : t) / 2; + return "category" === n.type ? n.getBandWidth() : Math.abs(n.dataToCoord(i - r) - n.dataToCoord(i + r)); + } + function tR(t, e) { + return ( + (e = e || [0, 0]), + z( + ["Radius", "Angle"], + function (n, i) { + var r = this["get" + n + "Axis"](), + o = e[i], + a = t[i] / 2, + s = "category" === r.type ? r.getBandWidth() : Math.abs(r.dataToCoord(o - a) - r.dataToCoord(o + a)); + return "Angle" === n && (s = (s * Math.PI) / 180), s; + }, + this + ) + ); + } + function eR(t, e, n, i) { + return t && (t.legacy || (!1 !== t.legacy && !n && !i && "tspan" !== e && ("text" === e || _t(t, "text")))); + } + function nR(t, e, n) { + var i, + r, + o, + a = t; + if ("text" === e) o = a; + else { + (o = {}), + _t(a, "text") && (o.text = a.text), + _t(a, "rich") && (o.rich = a.rich), + _t(a, "textFill") && (o.fill = a.textFill), + _t(a, "textStroke") && (o.stroke = a.textStroke), + _t(a, "fontFamily") && (o.fontFamily = a.fontFamily), + _t(a, "fontSize") && (o.fontSize = a.fontSize), + _t(a, "fontStyle") && (o.fontStyle = a.fontStyle), + _t(a, "fontWeight") && (o.fontWeight = a.fontWeight), + (r = { type: "text", style: o, silent: !0 }), + (i = {}); + var s = _t(a, "textPosition"); + n ? (i.position = s ? a.textPosition : "inside") : s && (i.position = a.textPosition), + _t(a, "textPosition") && (i.position = a.textPosition), + _t(a, "textOffset") && (i.offset = a.textOffset), + _t(a, "textRotation") && (i.rotation = a.textRotation), + _t(a, "textDistance") && (i.distance = a.textDistance); + } + return ( + iR(o, t), + E(o.rich, function (t) { + iR(t, t); + }), + { textConfig: i, textContent: r } + ); + } + function iR(t, e) { + e && + ((e.font = e.textFont || e.font), + _t(e, "textStrokeWidth") && (t.lineWidth = e.textStrokeWidth), + _t(e, "textAlign") && (t.align = e.textAlign), + _t(e, "textVerticalAlign") && (t.verticalAlign = e.textVerticalAlign), + _t(e, "textLineHeight") && (t.lineHeight = e.textLineHeight), + _t(e, "textWidth") && (t.width = e.textWidth), + _t(e, "textHeight") && (t.height = e.textHeight), + _t(e, "textBackgroundColor") && (t.backgroundColor = e.textBackgroundColor), + _t(e, "textPadding") && (t.padding = e.textPadding), + _t(e, "textBorderColor") && (t.borderColor = e.textBorderColor), + _t(e, "textBorderWidth") && (t.borderWidth = e.textBorderWidth), + _t(e, "textBorderRadius") && (t.borderRadius = e.textBorderRadius), + _t(e, "textBoxShadowColor") && (t.shadowColor = e.textBoxShadowColor), + _t(e, "textBoxShadowBlur") && (t.shadowBlur = e.textBoxShadowBlur), + _t(e, "textBoxShadowOffsetX") && (t.shadowOffsetX = e.textBoxShadowOffsetX), + _t(e, "textBoxShadowOffsetY") && (t.shadowOffsetY = e.textBoxShadowOffsetY)); + } + function rR(t, e, n) { + var i = t; + (i.textPosition = i.textPosition || n.position || "inside"), null != n.offset && (i.textOffset = n.offset), null != n.rotation && (i.textRotation = n.rotation), null != n.distance && (i.textDistance = n.distance); + var r = i.textPosition.indexOf("inside") >= 0, + o = t.fill || "#000"; + oR(i, e); + var a = null == i.textFill; + return ( + r + ? a && ((i.textFill = n.insideFill || "#fff"), !i.textStroke && n.insideStroke && (i.textStroke = n.insideStroke), !i.textStroke && (i.textStroke = o), null == i.textStrokeWidth && (i.textStrokeWidth = 2)) + : (a && (i.textFill = t.fill || n.outsideFill || "#000"), !i.textStroke && n.outsideStroke && (i.textStroke = n.outsideStroke)), + (i.text = e.text), + (i.rich = e.rich), + E(e.rich, function (t) { + oR(t, t); + }), + i + ); + } + function oR(t, e) { + e && + (_t(e, "fill") && (t.textFill = e.fill), + _t(e, "stroke") && (t.textStroke = e.fill), + _t(e, "lineWidth") && (t.textStrokeWidth = e.lineWidth), + _t(e, "font") && (t.font = e.font), + _t(e, "fontStyle") && (t.fontStyle = e.fontStyle), + _t(e, "fontWeight") && (t.fontWeight = e.fontWeight), + _t(e, "fontSize") && (t.fontSize = e.fontSize), + _t(e, "fontFamily") && (t.fontFamily = e.fontFamily), + _t(e, "align") && (t.textAlign = e.align), + _t(e, "verticalAlign") && (t.textVerticalAlign = e.verticalAlign), + _t(e, "lineHeight") && (t.textLineHeight = e.lineHeight), + _t(e, "width") && (t.textWidth = e.width), + _t(e, "height") && (t.textHeight = e.height), + _t(e, "backgroundColor") && (t.textBackgroundColor = e.backgroundColor), + _t(e, "padding") && (t.textPadding = e.padding), + _t(e, "borderColor") && (t.textBorderColor = e.borderColor), + _t(e, "borderWidth") && (t.textBorderWidth = e.borderWidth), + _t(e, "borderRadius") && (t.textBorderRadius = e.borderRadius), + _t(e, "shadowColor") && (t.textBoxShadowColor = e.shadowColor), + _t(e, "shadowBlur") && (t.textBoxShadowBlur = e.shadowBlur), + _t(e, "shadowOffsetX") && (t.textBoxShadowOffsetX = e.shadowOffsetX), + _t(e, "shadowOffsetY") && (t.textBoxShadowOffsetY = e.shadowOffsetY), + _t(e, "textShadowColor") && (t.textShadowColor = e.textShadowColor), + _t(e, "textShadowBlur") && (t.textShadowBlur = e.textShadowBlur), + _t(e, "textShadowOffsetX") && (t.textShadowOffsetX = e.textShadowOffsetX), + _t(e, "textShadowOffsetY") && (t.textShadowOffsetY = e.textShadowOffsetY)); + } + var aR = { position: ["x", "y"], scale: ["scaleX", "scaleY"], origin: ["originX", "originY"] }, + sR = G(aR), + lR = + (V( + mr, + function (t, e) { + return (t[e] = 1), t; + }, + {} + ), + mr.join(", "), + ["", "style", "shape", "extra"]), + uR = Vo(); + function hR(t, e, n, i, r) { + var o = t + "Animation", + a = gh(t, i, r) || {}, + s = uR(e).userDuring; + return a.duration > 0 && ((a.during = s ? W(vR, { el: e, userDuring: s }) : null), (a.setToFinal = !0), (a.scope = t)), A(a, n[o]), a; + } + function cR(t, e, n, i) { + var r = (i = i || {}).dataIndex, + o = i.isInit, + a = i.clearStyle, + s = n.isAnimationEnabled(), + l = uR(t), + u = e.style; + l.userDuring = e.during; + var h = {}, + c = {}; + if ( + ((function (t, e, n) { + for (var i = 0; i < sR.length; i++) { + var r = sR[i], + o = aR[r], + a = e[r]; + a && ((n[o[0]] = a[0]), (n[o[1]] = a[1])); + } + for (i = 0; i < mr.length; i++) { + var s = mr[i]; + null != e[s] && (n[s] = e[s]); + } + })(0, e, c), + xR("shape", e, c), + xR("extra", e, c), + !o && + s && + ((function (t, e, n) { + for (var i = e.transition, r = fR(i) ? mr : To(i || []), o = 0; o < r.length; o++) { + var a = r[o]; + if ("style" !== a && "shape" !== a && "extra" !== a) { + var s = t[a]; + 0, (n[a] = s); + } + } + })(t, e, h), + mR("shape", t, e, h), + mR("extra", t, e, h), + (function (t, e, n, i) { + if (!n) return; + var r, + o = t.style; + if (o) { + var a = n.transition, + s = e.transition; + if (a && !fR(a)) { + var l = To(a); + !r && (r = i.style = {}); + for (var u = 0; u < l.length; u++) { + var h = o[(f = l[u])]; + r[f] = h; + } + } else if (t.getAnimationStyleProps && (fR(s) || fR(a) || P(s, "style") >= 0)) { + var c = t.getAnimationStyleProps(), + p = c ? c.style : null; + if (p) { + !r && (r = i.style = {}); + var d = G(n); + for (u = 0; u < d.length; u++) { + var f; + if (p[(f = d[u])]) { + h = o[f]; + r[f] = h; + } + } + } + } + } + })(t, e, u, h)), + (c.style = u), + (function (t, e, n) { + var i = e.style; + if (!t.isGroup && i) { + if (n) { + t.useStyle({}); + for (var r = t.animators, o = 0; o < r.length; o++) { + var a = r[o]; + "style" === a.targetName && a.changeTarget(t.style); + } + } + t.setStyle(i); + } + e && ((e.style = null), e && t.attr(e), (e.style = i)); + })(t, c, a), + (function (t, e) { + _t(e, "silent") && (t.silent = e.silent), _t(e, "ignore") && (t.ignore = e.ignore), t instanceof Da && _t(e, "invisible") && (t.invisible = e.invisible); + t instanceof ks && _t(e, "autoBatch") && (t.autoBatch = e.autoBatch); + })(t, e), + s) + ) + if (o) { + var p = {}; + E(lR, function (t) { + var n = t ? e[t] : e; + n && n.enterFrom && (t && (p[t] = p[t] || {}), A(t ? p[t] : p, n.enterFrom)); + }); + var d = hR("enter", t, e, n, r); + d.duration > 0 && t.animateFrom(p, d); + } else + !(function (t, e, n, i, r) { + if (r) { + var o = hR("update", t, e, i, n); + o.duration > 0 && t.animateFrom(r, o); + } + })(t, e, r || 0, n, h); + pR(t, e), u ? t.dirty() : t.markRedraw(); + } + function pR(t, e) { + for (var n = uR(t).leaveToProps, i = 0; i < lR.length; i++) { + var r = lR[i], + o = r ? e[r] : e; + o && o.leaveTo && (n || (n = uR(t).leaveToProps = {}), r && (n[r] = n[r] || {}), A(r ? n[r] : n, o.leaveTo)); + } + } + function dR(t, e, n, i) { + if (t) { + var r = t.parent, + o = uR(t).leaveToProps; + if (o) { + var a = hR("update", t, e, n, 0); + (a.done = function () { + r.remove(t), i && i(); + }), + t.animateTo(o, a); + } else r.remove(t), i && i(); + } + } + function fR(t) { + return "all" === t; + } + var gR = {}, + yR = { + setTransform: function (t, e) { + return (gR.el[t] = e), this; + }, + getTransform: function (t) { + return gR.el[t]; + }, + setShape: function (t, e) { + var n = gR.el; + return ((n.shape || (n.shape = {}))[t] = e), n.dirtyShape && n.dirtyShape(), this; + }, + getShape: function (t) { + var e = gR.el.shape; + if (e) return e[t]; + }, + setStyle: function (t, e) { + var n = gR.el, + i = n.style; + return i && ((i[t] = e), n.dirtyStyle && n.dirtyStyle()), this; + }, + getStyle: function (t) { + var e = gR.el.style; + if (e) return e[t]; + }, + setExtra: function (t, e) { + return ((gR.el.extra || (gR.el.extra = {}))[t] = e), this; + }, + getExtra: function (t) { + var e = gR.el.extra; + if (e) return e[t]; + }, + }; + function vR() { + var t = this, + e = t.el; + if (e) { + var n = uR(e).userDuring, + i = t.userDuring; + n === i ? ((gR.el = e), i(yR)) : (t.el = t.userDuring = null); + } + } + function mR(t, e, n, i) { + var r = n[t]; + if (r) { + var o, + a = e[t]; + if (a) { + var s = n.transition, + l = r.transition; + if (l) + if ((!o && (o = i[t] = {}), fR(l))) A(o, a); + else + for (var u = To(l), h = 0; h < u.length; h++) { + var c = a[(d = u[h])]; + o[d] = c; + } + else if (fR(s) || P(s, t) >= 0) { + !o && (o = i[t] = {}); + var p = G(a); + for (h = 0; h < p.length; h++) { + var d; + c = a[(d = p[h])]; + _R(r[d], c) && (o[d] = c); + } + } + } + } + } + function xR(t, e, n) { + var i = e[t]; + if (i) + for (var r = (n[t] = {}), o = G(i), a = 0; a < o.length; a++) { + var s = o[a]; + r[s] = Pi(i[s]); + } + } + function _R(t, e) { + return N(t) ? t !== e : null != t && isFinite(t); + } + var bR = Vo(), + wR = ["percent", "easing", "shape", "style", "extra"]; + function SR(t) { + t.stopAnimation("keyframe"), t.attr(bR(t)); + } + function MR(t, e, n) { + if (n.isAnimationEnabled() && e) + if (Y(e)) + E(e, function (e) { + MR(t, e, n); + }); + else { + var i = e.keyframes, + r = e.duration; + if (n && null == r) { + var o = gh("enter", n, 0); + r = o && o.duration; + } + if (i && r) { + var a = bR(t); + E(lR, function (n) { + if (!n || t[n]) { + var o; + i.sort(function (t, e) { + return t.percent - e.percent; + }), + E(i, function (i) { + var s = t.animators, + l = n ? i[n] : i; + if (l) { + var u = G(l); + if ( + (n || + (u = B(u, function (t) { + return P(wR, t) < 0; + })), + u.length) + ) { + o || ((o = t.animate(n, e.loop, !0)).scope = "keyframe"); + for (var h = 0; h < s.length; h++) s[h] !== o && s[h].targetName === o.targetName && s[h].stopTracks(u); + n && (a[n] = a[n] || {}); + var c = n ? a[n] : a; + E(u, function (e) { + c[e] = ((n ? t[n] : t) || {})[e]; + }), + o.whenWithKeys(r * i.percent, l, u, i.easing); + } + } + }), + o && + o + .delay(e.delay || 0) + .duration(r) + .start(e.easing); + } + }); + } + } + } + var IR = "emphasis", + TR = "normal", + CR = "blur", + DR = "select", + AR = [TR, IR, CR, DR], + kR = { normal: ["itemStyle"], emphasis: [IR, "itemStyle"], blur: [CR, "itemStyle"], select: [DR, "itemStyle"] }, + LR = { normal: ["label"], emphasis: [IR, "label"], blur: [CR, "label"], select: [DR, "label"] }, + PR = ["x", "y"], + OR = { normal: {}, emphasis: {}, blur: {}, select: {} }, + RR = { + cartesian2d: function (t) { + var e = t.master.getRect(); + return { + coordSys: { type: "cartesian2d", x: e.x, y: e.y, width: e.width, height: e.height }, + api: { + coord: function (e) { + return t.dataToPoint(e); + }, + size: W($O, t), + }, + }; + }, + geo: function (t) { + var e = t.getBoundingRect(); + return { + coordSys: { type: "geo", x: e.x, y: e.y, width: e.width, height: e.height, zoom: t.getZoom() }, + api: { + coord: function (e) { + return t.dataToPoint(e); + }, + size: W(JO, t), + }, + }; + }, + single: function (t) { + var e = t.getRect(); + return { + coordSys: { type: "singleAxis", x: e.x, y: e.y, width: e.width, height: e.height }, + api: { + coord: function (e) { + return t.dataToPoint(e); + }, + size: W(QO, t), + }, + }; + }, + polar: function (t) { + var e = t.getRadiusAxis(), + n = t.getAngleAxis(), + i = e.getExtent(); + return ( + i[0] > i[1] && i.reverse(), + { + coordSys: { type: "polar", cx: t.cx, cy: t.cy, r: i[1], r0: i[0] }, + api: { + coord: function (i) { + var r = e.dataToRadius(i[0]), + o = n.dataToAngle(i[1]), + a = t.coordToPoint([r, o]); + return a.push(r, (o * Math.PI) / 180), a; + }, + size: W(tR, t), + }, + } + ); + }, + calendar: function (t) { + var e = t.getRect(), + n = t.getRangeInfo(); + return { + coordSys: { type: "calendar", x: e.x, y: e.y, width: e.width, height: e.height, cellWidth: t.getCellWidth(), cellHeight: t.getCellHeight(), rangeInfo: { start: n.start, end: n.end, weeks: n.weeks, dayCount: n.allDay } }, + api: { + coord: function (e, n) { + return t.dataToPoint(e, n); + }, + }, + }; + }, + }; + function NR(t) { + return t instanceof ks; + } + function ER(t) { + return t instanceof Da; + } + var zR = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.prototype.render = function (t, e, n, i) { + this._progressiveEls = null; + var r = this._data, + o = t.getData(), + a = this.group, + s = WR(t, o, e, n); + r || a.removeAll(), + o + .diff(r) + .add(function (e) { + YR(n, null, e, s(e, i), t, a, o); + }) + .remove(function (e) { + var n = r.getItemGraphicEl(e); + n && dR(n, qO(n).option, t); + }) + .update(function (e, l) { + var u = r.getItemGraphicEl(l); + YR(n, u, e, s(e, i), t, a, o); + }) + .execute(); + var l = t.get("clip", !0) ? LS(t.coordinateSystem, !1, t) : null; + l ? a.setClipPath(l) : a.removeClipPath(), (this._data = o); + }), + (e.prototype.incrementalPrepareRender = function (t, e, n) { + this.group.removeAll(), (this._data = null); + }), + (e.prototype.incrementalRender = function (t, e, n, i, r) { + var o = e.getData(), + a = WR(e, o, n, i), + s = (this._progressiveEls = []); + function l(t) { + t.isGroup || ((t.incremental = !0), (t.ensureState("emphasis").hoverLayer = !0)); + } + for (var u = t.start; u < t.end; u++) { + var h = YR(null, null, u, a(u, r), e, this.group, o); + h && (h.traverse(l), s.push(h)); + } + }), + (e.prototype.eachRendered = function (t) { + Jh(this._progressiveEls || this.group, t); + }), + (e.prototype.filterForExposedEvent = function (t, e, n, i) { + var r = e.element; + if (null == r || n.name === r) return !0; + for (; (n = n.__hostTarget || n.parent) && n !== this.group; ) if (n.name === r) return !0; + return !1; + }), + (e.type = "custom"), + e + ); + })(Og); + function VR(t) { + var e, + n = t.type; + if ("path" === n) { + var i = t.shape, + r = null != i.width && null != i.height ? { x: i.x || 0, y: i.y || 0, width: i.width, height: i.height } : null, + o = tN(i); + (e = Ph(o, null, r, i.layout || "center")), (qO(e).customPathData = o); + } else if ("image" === n) (e = new Ns({})), (qO(e).customImagePath = t.style.image); + else if ("text" === n) e = new Xs({}); + else if ("group" === n) e = new Br(); + else { + if ("compoundPath" === n) throw new Error('"compoundPath" is not supported yet.'); + var a = Lh(n); + if (!a) { + var s = ""; + 0, wo(s); + } + e = new a(); + } + return (qO(e).customGraphicType = n), (e.name = t.name), (e.z2EmphasisLift = 1), (e.z2SelectLift = 1), e; + } + function BR(t, e, n, i, r, o, a) { + SR(e); + var s = r && r.normal.cfg; + s && e.setTextConfig(s), i && null == i.transition && (i.transition = PR); + var l = i && i.style; + if (l) { + if ("text" === e.type) { + var u = l; + _t(u, "textFill") && (u.fill = u.textFill), _t(u, "textStroke") && (u.stroke = u.textStroke); + } + var h = void 0, + c = NR(e) ? l.decal : null; + t && c && ((c.dirty = !0), (h = mv(c, t))), (l.__decalPattern = h); + } + ER(e) && l && (h = l.__decalPattern) && (l.decal = h); + cR(e, i, o, { dataIndex: n, isInit: a, clearStyle: !0 }), MR(e, i.keyframeAnimation, o); + } + function FR(t, e, n, i, r) { + var o = e.isGroup ? null : e, + a = r && r[t].cfg; + if (o) { + var s = o.ensureState(t); + if (!1 === i) { + var l = o.getState(t); + l && (l.style = null); + } else s.style = i || null; + a && (s.textConfig = a), kl(o); + } + } + function GR(t, e, n) { + var i = n === TR, + r = i ? e : jR(e, n), + o = r ? r.z2 : null; + null != o && ((i ? t : t.ensureState(n)).z2 = o || 0); + } + function WR(t, e, n, i) { + var r = t.get("renderItem"), + o = t.coordinateSystem, + a = {}; + o && (a = o.prepareCustoms ? o.prepareCustoms(o) : RR[o.type](o)); + for ( + var s, + l, + u = k( + { + getWidth: i.getWidth, + getHeight: i.getHeight, + getZr: i.getZr, + getDevicePixelRatio: i.getDevicePixelRatio, + value: function (t, n) { + return null == n && (n = s), e.getStore().get(e.getDimensionIndex(t || 0), n); + }, + style: function (n, i) { + 0; + null == i && (i = s); + var r = e.getItemVisual(i, "style"), + o = r && r.fill, + a = r && r.opacity, + l = m(i, TR).getItemStyle(); + null != o && (l.fill = o), null != a && (l.opacity = a); + var u = { inheritColor: U(o) ? o : "#000" }, + h = x(i, TR), + c = oc(h, null, u, !1, !0); + c.text = h.getShallow("show") ? rt(t.getFormattedLabel(i, TR), cS(e, i)) : null; + var p = ac(h, u, !1); + return b(n, l), (l = rR(l, c, p)), n && _(l, n), (l.legacy = !0), l; + }, + ordinalRawValue: function (t, n) { + null == n && (n = s), (t = t || 0); + var i = e.getDimensionInfo(t); + if (!i) { + var r = e.getDimensionIndex(t); + return r >= 0 ? e.getStore().get(r, n) : void 0; + } + var o = e.get(i.name, n), + a = i && i.ordinalMeta; + return a ? a.categories[o] : o; + }, + styleEmphasis: function (n, i) { + 0; + null == i && (i = s); + var r = m(i, IR).getItemStyle(), + o = x(i, IR), + a = oc(o, null, null, !0, !0); + a.text = o.getShallow("show") ? ot(t.getFormattedLabel(i, IR), t.getFormattedLabel(i, TR), cS(e, i)) : null; + var l = ac(o, null, !0); + return b(n, r), (r = rR(r, a, l)), n && _(r, n), (r.legacy = !0), r; + }, + visual: function (t, n) { + if ((null == n && (n = s), _t(ZO, t))) { + var i = e.getItemVisual(n, "style"); + return i ? i[ZO[t]] : null; + } + if (_t(jO, t)) return e.getItemVisual(n, t); + }, + barLayout: function (t) { + if ("cartesian2d" === o.type) { + return (function (t) { + var e = [], + n = t.axis, + i = "axis0"; + if ("category" === n.type) { + for (var r = n.getBandWidth(), o = 0; o < t.count; o++) e.push(k({ bandWidth: r, axisKey: i, stackId: Fx + o }, t)); + var a = Xx(e), + s = []; + for (o = 0; o < t.count; o++) { + var l = a[i][Fx + o]; + (l.offsetCenter = l.offset + l.width / 2), s.push(l); + } + return s; + } + })(k({ axis: o.getBaseAxis() }, t)); + } + }, + currentSeriesIndices: function () { + return n.getCurrentSeriesIndices(); + }, + font: function (t) { + return cc(t, n); + }, + }, + a.api || {} + ), + h = { context: {}, seriesId: t.id, seriesName: t.name, seriesIndex: t.seriesIndex, coordSys: a.coordSys, dataInsideLength: e.count(), encode: HR(t.getData()) }, + c = {}, + p = {}, + d = {}, + f = {}, + g = 0; + g < AR.length; + g++ + ) { + var y = AR[g]; + (d[y] = t.getModel(kR[y])), (f[y] = t.getModel(LR[y])); + } + function v(t) { + return t === s ? l || (l = e.getItemModel(t)) : e.getItemModel(t); + } + function m(t, n) { + return e.hasItemOption ? (t === s ? c[n] || (c[n] = v(t).getModel(kR[n])) : v(t).getModel(kR[n])) : d[n]; + } + function x(t, n) { + return e.hasItemOption ? (t === s ? p[n] || (p[n] = v(t).getModel(LR[n])) : v(t).getModel(LR[n])) : f[n]; + } + return function (t, n) { + return (s = t), (l = null), (c = {}), (p = {}), r && r(k({ dataIndexInside: t, dataIndex: e.getRawIndex(t), actionType: n ? n.type : null }, h), u); + }; + function _(t, e) { + for (var n in e) _t(e, n) && (t[n] = e[n]); + } + function b(t, e) { + t && (t.textFill && (e.textFill = t.textFill), t.textPosition && (e.textPosition = t.textPosition)); + } + } + function HR(t) { + var e = {}; + return ( + E(t.dimensions, function (n) { + var i = t.getDimensionInfo(n); + if (!i.isExtraCoord) { + var r = i.coordDim; + (e[r] = e[r] || [])[i.coordDimIndex] = t.getDimensionIndex(n); + } + }), + e + ); + } + function YR(t, e, n, i, r, o, a) { + if (i) { + var s = XR(t, e, n, i, r, o); + return s && a.setItemGraphicEl(n, s), s && Zl(s, i.focus, i.blurScope, i.emphasisDisabled), s; + } + o.remove(e); + } + function XR(t, e, n, i, r, o) { + var a = -1, + s = e; + e && UR(e, i, r) && ((a = P(o.childrenRef(), e)), (e = null)); + var l, + u, + h = !e, + c = e; + c + ? c.clearStates() + : ((c = VR(i)), + s && ((l = s), (u = c).copyTransform(l), ER(u) && ER(l) && (u.setStyle(l.style), (u.z = l.z), (u.z2 = l.z2), (u.zlevel = l.zlevel), (u.invisible = l.invisible), (u.ignore = l.ignore), NR(u) && NR(l) && u.setShape(l.shape)))), + !1 === i.morph ? (c.disableMorphing = !0) : c.disableMorphing && (c.disableMorphing = !1), + (OR.normal.cfg = OR.normal.conOpt = OR.emphasis.cfg = OR.emphasis.conOpt = OR.blur.cfg = OR.blur.conOpt = OR.select.cfg = OR.select.conOpt = null), + (OR.isLegacy = !1), + (function (t, e, n, i, r, o) { + if (t.isGroup) return; + ZR(n, null, o), ZR(n, IR, o); + var a = o.normal.conOpt, + s = o.emphasis.conOpt, + l = o.blur.conOpt, + u = o.select.conOpt; + if (null != a || null != s || null != u || null != l) { + var h = t.getTextContent(); + if (!1 === a) h && t.removeTextContent(); + else { + (a = o.normal.conOpt = a || { type: "text" }), h ? h.clearStates() : ((h = VR(a)), t.setTextContent(h)), BR(null, h, e, a, null, i, r); + for (var c = a && a.style, p = 0; p < AR.length; p++) { + var d = AR[p]; + if (d !== TR) { + var f = o[d].conOpt; + FR(d, h, 0, qR(a, f, d), null); + } + } + c ? h.dirty() : h.markRedraw(); + } + } + })(c, n, i, r, h, OR), + (function (t, e, n, i, r) { + var o = n.clipPath; + if (!1 === o) t && t.getClipPath() && t.removeClipPath(); + else if (o) { + var a = t.getClipPath(); + a && UR(a, o, i) && (a = null), a || ((a = VR(o)), t.setClipPath(a)), BR(null, a, e, o, null, i, r); + } + })(c, n, i, r, h), + BR(t, c, n, i, OR, r, h), + _t(i, "info") && (qO(c).info = i.info); + for (var p = 0; p < AR.length; p++) { + var d = AR[p]; + if (d !== TR) { + var f = jR(i, d); + FR(d, c, 0, qR(i, f, d), OR); + } + } + return ( + (function (t, e, n) { + if (!t.isGroup) { + var i = t, + r = n.currentZ, + o = n.currentZLevel; + (i.z = r), (i.zlevel = o); + var a = e.z2; + null != a && (i.z2 = a || 0); + for (var s = 0; s < AR.length; s++) GR(i, e, AR[s]); + } + })(c, i, r), + "group" === i.type && + (function (t, e, n, i, r) { + var o = i.children, + a = o ? o.length : 0, + s = i.$mergeChildren, + l = "byName" === s || i.diffChildrenByName, + u = !1 === s; + if (!a && !l && !u) return; + if (l) return (h = { api: t, oldChildren: e.children() || [], newChildren: o || [], dataIndex: n, seriesModel: r, group: e }), void new Gm(h.oldChildren, h.newChildren, $R, $R, h).add(JR).update(JR).remove(QR).execute(); + var h; + u && e.removeAll(); + for (var c = 0; c < a; c++) { + var p = o[c], + d = e.childAt(c); + p ? (null == p.ignore && (p.ignore = !1), XR(t, d, n, p, r, e)) : (d.ignore = !0); + } + for (var f = e.childCount() - 1; f >= c; f--) { + var g = e.childAt(f); + KR(e, g, r); + } + })(t, c, n, i, r), + a >= 0 ? o.replaceAt(c, a) : o.add(c), + c + ); + } + function UR(t, e, n) { + var i, + r = qO(t), + o = e.type, + a = e.shape, + s = e.style; + return ( + n.isUniversalTransitionEnabled() || + (null != o && o !== r.customGraphicType) || + ("path" === o && (i = a) && (_t(i, "pathData") || _t(i, "d")) && tN(a) !== r.customPathData) || + ("image" === o && _t(s, "image") && s.image !== r.customImagePath) + ); + } + function ZR(t, e, n) { + var i = e ? jR(t, e) : t, + r = e ? qR(t, i, IR) : t.style, + o = t.type, + a = i ? i.textConfig : null, + s = t.textContent, + l = s ? (e ? jR(s, e) : s) : null; + if (r && (n.isLegacy || eR(r, o, !!a, !!l))) { + n.isLegacy = !0; + var u = nR(r, o, !e); + !a && u.textConfig && (a = u.textConfig), !l && u.textContent && (l = u.textContent); + } + if (!e && l) { + var h = l; + !h.type && (h.type = "text"); + } + var c = e ? n[e] : n.normal; + (c.cfg = a), (c.conOpt = l); + } + function jR(t, e) { + return e ? (t ? t[e] : null) : t; + } + function qR(t, e, n) { + var i = e && e.style; + return null == i && n === IR && t && (i = t.styleEmphasis), i; + } + function KR(t, e, n) { + e && dR(e, qO(t).option, n); + } + function $R(t, e) { + var n = t && t.name; + return null != n ? n : "e\0\0" + e; + } + function JR(t, e) { + var n = this.context, + i = null != t ? n.newChildren[t] : null, + r = null != e ? n.oldChildren[e] : null; + XR(n.api, r, n.dataIndex, i, n.seriesModel, n.group); + } + function QR(t) { + var e = this.context, + n = e.oldChildren[t]; + n && dR(n, qO(n).option, e.seriesModel); + } + function tN(t) { + return t && (t.pathData || t.d); + } + var eN = Vo(), + nN = T, + iN = W, + rN = (function () { + function t() { + (this._dragging = !1), (this.animationThreshold = 15); + } + return ( + (t.prototype.render = function (t, e, n, i) { + var r = e.get("value"), + o = e.get("status"); + if (((this._axisModel = t), (this._axisPointerModel = e), (this._api = n), i || this._lastValue !== r || this._lastStatus !== o)) { + (this._lastValue = r), (this._lastStatus = o); + var a = this._group, + s = this._handle; + if (!o || "hide" === o) return a && a.hide(), void (s && s.hide()); + a && a.show(), s && s.show(); + var l = {}; + this.makeElOption(l, r, t, e, n); + var u = l.graphicKey; + u !== this._lastGraphicKey && this.clear(n), (this._lastGraphicKey = u); + var h = (this._moveAnimation = this.determineAnimation(t, e)); + if (a) { + var c = H(oN, e, h); + this.updatePointerEl(a, l, c), this.updateLabelEl(a, l, c, e); + } else (a = this._group = new Br()), this.createPointerEl(a, l, t, e), this.createLabelEl(a, l, t, e), n.getZr().add(a); + uN(a, e, !0), this._renderHandle(r); + } + }), + (t.prototype.remove = function (t) { + this.clear(t); + }), + (t.prototype.dispose = function (t) { + this.clear(t); + }), + (t.prototype.determineAnimation = function (t, e) { + var n = e.get("animation"), + i = t.axis, + r = "category" === i.type, + o = e.get("snap"); + if (!o && !r) return !1; + if ("auto" === n || null == n) { + var a = this.animationThreshold; + if (r && i.getBandWidth() > a) return !0; + if (o) { + var s = _I(t).seriesDataCount, + l = i.getExtent(); + return Math.abs(l[0] - l[1]) / s > a; + } + return !1; + } + return !0 === n; + }), + (t.prototype.makeElOption = function (t, e, n, i, r) {}), + (t.prototype.createPointerEl = function (t, e, n, i) { + var r = e.pointer; + if (r) { + var o = (eN(t).pointerEl = new Qh[r.type](nN(e.pointer))); + t.add(o); + } + }), + (t.prototype.createLabelEl = function (t, e, n, i) { + if (e.label) { + var r = (eN(t).labelEl = new Xs(nN(e.label))); + t.add(r), sN(r, i); + } + }), + (t.prototype.updatePointerEl = function (t, e, n) { + var i = eN(t).pointerEl; + i && e.pointer && (i.setStyle(e.pointer.style), n(i, { shape: e.pointer.shape })); + }), + (t.prototype.updateLabelEl = function (t, e, n, i) { + var r = eN(t).labelEl; + r && (r.setStyle(e.label.style), n(r, { x: e.label.x, y: e.label.y }), sN(r, i)); + }), + (t.prototype._renderHandle = function (t) { + if (!this._dragging && this.updateHandleTransform) { + var e, + n = this._axisPointerModel, + i = this._api.getZr(), + r = this._handle, + o = n.getModel("handle"), + a = n.get("status"); + if (!o.get("show") || !a || "hide" === a) return r && i.remove(r), void (this._handle = null); + this._handle || + ((e = !0), + (r = this._handle = Uh(o.get("icon"), { + cursor: "move", + draggable: !0, + onmousemove: function (t) { + de(t.event); + }, + onmousedown: iN(this._onHandleDragMove, this, 0, 0), + drift: iN(this._onHandleDragMove, this), + ondragend: iN(this._onHandleDragEnd, this), + })), + i.add(r)), + uN(r, n, !1), + r.setStyle(o.getItemStyle(null, ["color", "borderColor", "borderWidth", "opacity", "shadowColor", "shadowBlur", "shadowOffsetX", "shadowOffsetY"])); + var s = o.get("size"); + Y(s) || (s = [s, s]), (r.scaleX = s[0] / 2), (r.scaleY = s[1] / 2), Hg(this, "_doDispatchAxisPointer", o.get("throttle") || 0, "fixRate"), this._moveHandleToValue(t, e); + } + }), + (t.prototype._moveHandleToValue = function (t, e) { + oN(this._axisPointerModel, !e && this._moveAnimation, this._handle, lN(this.getHandleTransform(t, this._axisModel, this._axisPointerModel))); + }), + (t.prototype._onHandleDragMove = function (t, e) { + var n = this._handle; + if (n) { + this._dragging = !0; + var i = this.updateHandleTransform(lN(n), [t, e], this._axisModel, this._axisPointerModel); + (this._payloadInfo = i), n.stopAnimation(), n.attr(lN(i)), (eN(n).lastProp = null), this._doDispatchAxisPointer(); + } + }), + (t.prototype._doDispatchAxisPointer = function () { + if (this._handle) { + var t = this._payloadInfo, + e = this._axisModel; + this._api.dispatchAction({ type: "updateAxisPointer", x: t.cursorPoint[0], y: t.cursorPoint[1], tooltipOption: t.tooltipOption, axesInfo: [{ axisDim: e.axis.dim, axisIndex: e.componentIndex }] }); + } + }), + (t.prototype._onHandleDragEnd = function () { + if (((this._dragging = !1), this._handle)) { + var t = this._axisPointerModel.get("value"); + this._moveHandleToValue(t), this._api.dispatchAction({ type: "hideTip" }); + } + }), + (t.prototype.clear = function (t) { + (this._lastValue = null), (this._lastStatus = null); + var e = t.getZr(), + n = this._group, + i = this._handle; + e && n && ((this._lastGraphicKey = null), n && e.remove(n), i && e.remove(i), (this._group = null), (this._handle = null), (this._payloadInfo = null)), Yg(this, "_doDispatchAxisPointer"); + }), + (t.prototype.doClear = function () {}), + (t.prototype.buildLabel = function (t, e, n) { + return { x: t[(n = n || 0)], y: t[1 - n], width: e[n], height: e[1 - n] }; + }), + t + ); + })(); + function oN(t, e, n, i) { + aN(eN(n).lastProp, i) || ((eN(n).lastProp = i), e ? vh(n, i, t) : (n.stopAnimation(), n.attr(i))); + } + function aN(t, e) { + if (q(t) && q(e)) { + var n = !0; + return ( + E(e, function (e, i) { + n = n && aN(t[i], e); + }), + !!n + ); + } + return t === e; + } + function sN(t, e) { + t[e.get(["label", "show"]) ? "show" : "hide"](); + } + function lN(t) { + return { x: t.x || 0, y: t.y || 0, rotation: t.rotation || 0 }; + } + function uN(t, e, n) { + var i = e.get("z"), + r = e.get("zlevel"); + t && + t.traverse(function (t) { + "group" !== t.type && (null != i && (t.z = i), null != r && (t.zlevel = r), (t.silent = n)); + }); + } + function hN(t) { + var e, + n = t.get("type"), + i = t.getModel(n + "Style"); + return "line" === n ? ((e = i.getLineStyle()).fill = null) : "shadow" === n && ((e = i.getAreaStyle()).stroke = null), e; + } + function cN(t, e, n, i, r) { + var o = pN(n.get("value"), e.axis, e.ecModel, n.get("seriesDataIndices"), { precision: n.get(["label", "precision"]), formatter: n.get(["label", "formatter"]) }), + a = n.getModel("label"), + s = vp(a.get("padding") || 0), + l = a.getFont(), + u = Sr(o, l), + h = r.position, + c = u.width + s[1] + s[3], + p = u.height + s[0] + s[2], + d = r.align; + "right" === d && (h[0] -= c), "center" === d && (h[0] -= c / 2); + var f = r.verticalAlign; + "bottom" === f && (h[1] -= p), + "middle" === f && (h[1] -= p / 2), + (function (t, e, n, i) { + var r = i.getWidth(), + o = i.getHeight(); + (t[0] = Math.min(t[0] + e, r) - e), (t[1] = Math.min(t[1] + n, o) - n), (t[0] = Math.max(t[0], 0)), (t[1] = Math.max(t[1], 0)); + })(h, c, p, i); + var g = a.get("backgroundColor"); + (g && "auto" !== g) || (g = e.get(["axisLine", "lineStyle", "color"])), (t.label = { x: h[0], y: h[1], style: oc(a, { text: o, font: l, fill: a.getTextColor(), padding: s, backgroundColor: g }), z2: 10 }); + } + function pN(t, e, n, i, r) { + t = e.scale.parse(t); + var o = e.scale.getLabel({ value: t }, { precision: r.precision }), + a = r.formatter; + if (a) { + var s = { value: S_(e, { value: t }), axisDimension: e.dim, axisIndex: e.index, seriesData: [] }; + E(i, function (t) { + var e = n.getSeriesByIndex(t.seriesIndex), + i = t.dataIndexInside, + r = e && e.getDataParams(i); + r && s.seriesData.push(r); + }), + U(a) ? (o = a.replace("{value}", o)) : X(a) && (o = a(s)); + } + return o; + } + function dN(t, e, n) { + var i = [1, 0, 0, 1, 0, 0]; + return Se(i, i, n.rotation), we(i, i, n.position), Fh([t.dataToCoord(e), (n.labelOffset || 0) + (n.labelDirection || 1) * (n.labelMargin || 0)], i); + } + function fN(t, e, n, i, r, o) { + var a = cI.innerTextLayout(n.rotation, 0, n.labelDirection); + (n.labelMargin = r.get(["label", "margin"])), cN(e, i, r, o, { position: dN(i.axis, t, n), align: a.textAlign, verticalAlign: a.textVerticalAlign }); + } + function gN(t, e, n) { + return { x1: t[(n = n || 0)], y1: t[1 - n], x2: e[n], y2: e[1 - n] }; + } + function yN(t, e, n) { + return { x: t[(n = n || 0)], y: t[1 - n], width: e[n], height: e[1 - n] }; + } + function vN(t, e, n, i, r, o) { + return { cx: t, cy: e, r0: n, r: i, startAngle: r, endAngle: o, clockwise: !0 }; + } + var mN = (function (t) { + function e() { + return (null !== t && t.apply(this, arguments)) || this; + } + return ( + n(e, t), + (e.prototype.makeElOption = function (t, e, n, i, r) { + var o = n.axis, + a = o.grid, + s = i.get("type"), + l = xN(a, o).getOtherAxis(o).getGlobalExtent(), + u = o.toGlobalCoord(o.dataToCoord(e, !0)); + if (s && "none" !== s) { + var h = hN(i), + c = _N[s](o, u, l); + (c.style = h), (t.graphicKey = c.type), (t.pointer = c); + } + fN(e, t, eI(a.model, n), n, i, r); + }), + (e.prototype.getHandleTransform = function (t, e, n) { + var i = eI(e.axis.grid.model, e, { labelInside: !1 }); + i.labelMargin = n.get(["handle", "margin"]); + var r = dN(e.axis, t, i); + return { x: r[0], y: r[1], rotation: i.rotation + (i.labelDirection < 0 ? Math.PI : 0) }; + }), + (e.prototype.updateHandleTransform = function (t, e, n, i) { + var r = n.axis, + o = r.grid, + a = r.getGlobalExtent(!0), + s = xN(o, r).getOtherAxis(r).getGlobalExtent(), + l = "x" === r.dim ? 0 : 1, + u = [t.x, t.y]; + (u[l] += e[l]), (u[l] = Math.min(a[1], u[l])), (u[l] = Math.max(a[0], u[l])); + var h = (s[1] + s[0]) / 2, + c = [h, h]; + c[l] = u[l]; + return { x: u[0], y: u[1], rotation: t.rotation, cursorPoint: c, tooltipOption: [{ verticalAlign: "middle" }, { align: "center" }][l] }; + }), + e + ); + })(rN); + function xN(t, e) { + var n = {}; + return (n[e.dim + "AxisIndex"] = e.index), t.getCartesian(n); + } + var _N = { + line: function (t, e, n) { + return { type: "Line", subPixelOptimize: !0, shape: gN([e, n[0]], [e, n[1]], bN(t)) }; + }, + shadow: function (t, e, n) { + var i = Math.max(1, t.getBandWidth()), + r = n[1] - n[0]; + return { type: "Rect", shape: yN([e - i / 2, n[0]], [i, r], bN(t)) }; + }, + }; + function bN(t) { + return "x" === t.dim ? 0 : 1; + } + var wN = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.type = "axisPointer"), + (e.defaultOption = { + show: "auto", + z: 50, + type: "line", + snap: !1, + triggerTooltip: !0, + triggerEmphasis: !0, + value: null, + status: null, + link: [], + animation: null, + animationDurationUpdate: 200, + lineStyle: { color: "#B9BEC9", width: 1, type: "dashed" }, + shadowStyle: { color: "rgba(210,219,238,0.2)" }, + label: { show: !0, formatter: null, precision: "auto", margin: 3, color: "#fff", padding: [5, 7, 5, 7], backgroundColor: "auto", borderColor: null, borderWidth: 0, borderRadius: 3 }, + handle: { + show: !1, + icon: "M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4h1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7v-1.2h6.6z M13.3,22H6.7v-1.2h6.6z M13.3,19.6H6.7v-1.2h6.6z", + size: 45, + margin: 50, + color: "#333", + shadowBlur: 3, + shadowColor: "#aaa", + shadowOffsetX: 0, + shadowOffsetY: 2, + throttle: 40, + }, + }), + e + ); + })(zp), + SN = Vo(), + MN = E; + function IN(t, e, n) { + if (!r.node) { + var i = e.getZr(); + SN(i).records || (SN(i).records = {}), + (function (t, e) { + if (SN(t).initialized) return; + function n(n, i) { + t.on(n, function (n) { + var r = (function (t) { + var e = { showTip: [], hideTip: [] }, + n = function (i) { + var r = e[i.type]; + r ? r.push(i) : ((i.dispatchAction = n), t.dispatchAction(i)); + }; + return { dispatchAction: n, pendings: e }; + })(e); + MN(SN(t).records, function (t) { + t && i(t, n, r.dispatchAction); + }), + (function (t, e) { + var n, + i = t.showTip.length, + r = t.hideTip.length; + i ? (n = t.showTip[i - 1]) : r && (n = t.hideTip[r - 1]); + n && ((n.dispatchAction = null), e.dispatchAction(n)); + })(r.pendings, e); + }); + } + (SN(t).initialized = !0), n("click", H(CN, "click")), n("mousemove", H(CN, "mousemove")), n("globalout", TN); + })(i, e), + ((SN(i).records[t] || (SN(i).records[t] = {})).handler = n); + } + } + function TN(t, e, n) { + t.handler("leave", null, n); + } + function CN(t, e, n, i) { + e.handler(t, n, i); + } + function DN(t, e) { + if (!r.node) { + var n = e.getZr(); + (SN(n).records || {})[t] && (SN(n).records[t] = null); + } + } + var AN = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.prototype.render = function (t, e, n) { + var i = e.getComponent("tooltip"), + r = t.get("triggerOn") || (i && i.get("triggerOn")) || "mousemove|click"; + IN("axisPointer", n, function (t, e, n) { + "none" !== r && ("leave" === t || r.indexOf(t) >= 0) && n({ type: "updateAxisPointer", currTrigger: t, x: e && e.offsetX, y: e && e.offsetY }); + }); + }), + (e.prototype.remove = function (t, e) { + DN("axisPointer", e); + }), + (e.prototype.dispose = function (t, e) { + DN("axisPointer", e); + }), + (e.type = "axisPointer"), + e + ); + })(Ag); + function kN(t, e) { + var n, + i = [], + r = t.seriesIndex; + if (null == r || !(n = e.getSeriesByIndex(r))) return { point: [] }; + var o = n.getData(), + a = zo(o, t); + if (null == a || a < 0 || Y(a)) return { point: [] }; + var s = o.getItemGraphicEl(a), + l = n.coordinateSystem; + if (n.getTooltipPosition) i = n.getTooltipPosition(a) || []; + else if (l && l.dataToPoint) + if (t.isStacked) { + var u = l.getBaseAxis(), + h = l.getOtherAxis(u).dim, + c = u.dim, + p = "x" === h || "radius" === h ? 1 : 0, + d = o.mapDimension(c), + f = []; + (f[p] = o.get(d, a)), (f[1 - p] = o.get(o.getCalculationInfo("stackResultDimension"), a)), (i = l.dataToPoint(f) || []); + } else + i = + l.dataToPoint( + o.getValues( + z(l.dimensions, function (t) { + return o.mapDimension(t); + }), + a + ) + ) || []; + else if (s) { + var g = s.getBoundingRect().clone(); + g.applyTransform(s.transform), (i = [g.x + g.width / 2, g.y + g.height / 2]); + } + return { point: i, el: s }; + } + var LN = Vo(); + function PN(t, e, n) { + var i = t.currTrigger, + r = [t.x, t.y], + o = t, + a = t.dispatchAction || W(n.dispatchAction, n), + s = e.getComponent("axisPointer").coordSysAxesInfo; + if (s) { + zN(r) && (r = kN({ seriesIndex: o.seriesIndex, dataIndex: o.dataIndex }, e).point); + var l = zN(r), + u = o.axesInfo, + h = s.axesInfo, + c = "leave" === i || zN(r), + p = {}, + d = {}, + f = { list: [], map: {} }, + g = { showPointer: H(RN, d), showTooltip: H(NN, f) }; + E(s.coordSysMap, function (t, e) { + var n = l || t.containPoint(r); + E(s.coordSysAxesInfo[e], function (t, e) { + var i = t.axis, + o = (function (t, e) { + for (var n = 0; n < (t || []).length; n++) { + var i = t[n]; + if (e.axis.dim === i.axisDim && e.axis.model.componentIndex === i.axisIndex) return i; + } + })(u, t); + if (!c && n && (!u || o)) { + var a = o && o.value; + null != a || l || (a = i.pointToData(r)), null != a && ON(t, a, g, !1, p); + } + }); + }); + var y = {}; + return ( + E(h, function (t, e) { + var n = t.linkGroup; + n && + !d[e] && + E(n.axesInfo, function (e, i) { + var r = d[i]; + if (e !== t && r) { + var o = r.value; + n.mapper && (o = t.axis.scale.parse(n.mapper(o, EN(e), EN(t)))), (y[t.key] = o); + } + }); + }), + E(y, function (t, e) { + ON(h[e], t, g, !0, p); + }), + (function (t, e, n) { + var i = (n.axesInfo = []); + E(e, function (e, n) { + var r = e.axisPointerModel.option, + o = t[n]; + o ? (!e.useHandle && (r.status = "show"), (r.value = o.value), (r.seriesDataIndices = (o.payloadBatch || []).slice())) : !e.useHandle && (r.status = "hide"), + "show" === r.status && i.push({ axisDim: e.axis.dim, axisIndex: e.axis.model.componentIndex, value: r.value }); + }); + })(d, h, p), + (function (t, e, n, i) { + if (zN(e) || !t.list.length) return void i({ type: "hideTip" }); + var r = ((t.list[0].dataByAxis[0] || {}).seriesDataIndices || [])[0] || {}; + i({ type: "showTip", escapeConnect: !0, x: e[0], y: e[1], tooltipOption: n.tooltipOption, position: n.position, dataIndexInside: r.dataIndexInside, dataIndex: r.dataIndex, seriesIndex: r.seriesIndex, dataByCoordSys: t.list }); + })(f, r, t, a), + (function (t, e, n) { + var i = n.getZr(), + r = "axisPointerLastHighlights", + o = LN(i)[r] || {}, + a = (LN(i)[r] = {}); + E(t, function (t, e) { + var n = t.axisPointerModel.option; + "show" === n.status && + t.triggerEmphasis && + E(n.seriesDataIndices, function (t) { + var e = t.seriesIndex + " | " + t.dataIndex; + a[e] = t; + }); + }); + var s = [], + l = []; + E(o, function (t, e) { + !a[e] && l.push(t); + }), + E(a, function (t, e) { + !o[e] && s.push(t); + }), + l.length && n.dispatchAction({ type: "downplay", escapeConnect: !0, notBlur: !0, batch: l }), + s.length && n.dispatchAction({ type: "highlight", escapeConnect: !0, notBlur: !0, batch: s }); + })(h, 0, n), + p + ); + } + } + function ON(t, e, n, i, r) { + var o = t.axis; + if (!o.scale.isBlank() && o.containData(e)) + if (t.involveSeries) { + var a = (function (t, e) { + var n = e.axis, + i = n.dim, + r = t, + o = [], + a = Number.MAX_VALUE, + s = -1; + return ( + E(e.seriesModels, function (e, l) { + var u, + h, + c = e.getData().mapDimensionsAll(i); + if (e.getAxisTooltipData) { + var p = e.getAxisTooltipData(c, t, n); + (h = p.dataIndices), (u = p.nestestValue); + } else { + if (!(h = e.getData().indicesOfNearest(c[0], t, "category" === n.type ? 0.5 : null)).length) return; + u = e.getData().get(c[0], h[0]); + } + if (null != u && isFinite(u)) { + var d = t - u, + f = Math.abs(d); + f <= a && + ((f < a || (d >= 0 && s < 0)) && ((a = f), (s = d), (r = u), (o.length = 0)), + E(h, function (t) { + o.push({ seriesIndex: e.seriesIndex, dataIndexInside: t, dataIndex: e.getData().getRawIndex(t) }); + })); + } + }), + { payloadBatch: o, snapToValue: r } + ); + })(e, t), + s = a.payloadBatch, + l = a.snapToValue; + s[0] && null == r.seriesIndex && A(r, s[0]), !i && t.snap && o.containData(l) && null != l && (e = l), n.showPointer(t, e, s), n.showTooltip(t, a, l); + } else n.showPointer(t, e); + } + function RN(t, e, n, i) { + t[e.key] = { value: n, payloadBatch: i }; + } + function NN(t, e, n, i) { + var r = n.payloadBatch, + o = e.axis, + a = o.model, + s = e.axisPointerModel; + if (e.triggerTooltip && r.length) { + var l = e.coordSys.model, + u = wI(l), + h = t.map[u]; + h || ((h = t.map[u] = { coordSysId: l.id, coordSysIndex: l.componentIndex, coordSysType: l.type, coordSysMainType: l.mainType, dataByAxis: [] }), t.list.push(h)), + h.dataByAxis.push({ + axisDim: o.dim, + axisIndex: a.componentIndex, + axisType: a.type, + axisId: a.id, + value: i, + valueLabelOpt: { precision: s.get(["label", "precision"]), formatter: s.get(["label", "formatter"]) }, + seriesDataIndices: r.slice(), + }); + } + } + function EN(t) { + var e = t.axis.model, + n = {}, + i = (n.axisDim = t.axis.dim); + return (n.axisIndex = n[i + "AxisIndex"] = e.componentIndex), (n.axisName = n[i + "AxisName"] = e.name), (n.axisId = n[i + "AxisId"] = e.id), n; + } + function zN(t) { + return !t || null == t[0] || isNaN(t[0]) || null == t[1] || isNaN(t[1]); + } + function VN(t) { + MI.registerAxisPointerClass("CartesianAxisPointer", mN), + t.registerComponentModel(wN), + t.registerComponentView(AN), + t.registerPreprocessor(function (t) { + if (t) { + (!t.axisPointer || 0 === t.axisPointer.length) && (t.axisPointer = {}); + var e = t.axisPointer.link; + e && !Y(e) && (t.axisPointer.link = [e]); + } + }), + t.registerProcessor(t.PRIORITY.PROCESSOR.STATISTIC, function (t, e) { + t.getComponent("axisPointer").coordSysAxesInfo = vI(t, e); + }), + t.registerAction({ type: "updateAxisPointer", event: "updateAxisPointer", update: ":updateAxisPointer" }, PN); + } + var BN = (function (t) { + function e() { + return (null !== t && t.apply(this, arguments)) || this; + } + return ( + n(e, t), + (e.prototype.makeElOption = function (t, e, n, i, r) { + var o = n.axis; + "angle" === o.dim && (this.animationThreshold = Math.PI / 18); + var a = o.polar, + s = a.getOtherAxis(o).getExtent(), + l = o.dataToCoord(e), + u = i.get("type"); + if (u && "none" !== u) { + var h = hN(i), + c = FN[u](o, a, l, s); + (c.style = h), (t.graphicKey = c.type), (t.pointer = c); + } + var p = (function (t, e, n, i, r) { + var o = e.axis, + a = o.dataToCoord(t), + s = i.getAngleAxis().getExtent()[0]; + s = (s / 180) * Math.PI; + var l, + u, + h, + c = i.getRadiusAxis().getExtent(); + if ("radius" === o.dim) { + var p = [1, 0, 0, 1, 0, 0]; + Se(p, p, s), we(p, p, [i.cx, i.cy]), (l = Fh([a, -r], p)); + var d = e.getModel("axisLabel").get("rotate") || 0, + f = cI.innerTextLayout(s, (d * Math.PI) / 180, -1); + (u = f.textAlign), (h = f.textVerticalAlign); + } else { + var g = c[1]; + l = i.coordToPoint([g + r, a]); + var y = i.cx, + v = i.cy; + (u = Math.abs(l[0] - y) / g < 0.3 ? "center" : l[0] > y ? "left" : "right"), (h = Math.abs(l[1] - v) / g < 0.3 ? "middle" : l[1] > v ? "top" : "bottom"); + } + return { position: l, align: u, verticalAlign: h }; + })(e, n, 0, a, i.get(["label", "margin"])); + cN(t, n, i, r, p); + }), + e + ); + })(rN); + var FN = { + line: function (t, e, n, i) { + return "angle" === t.dim ? { type: "Line", shape: gN(e.coordToPoint([i[0], n]), e.coordToPoint([i[1], n])) } : { type: "Circle", shape: { cx: e.cx, cy: e.cy, r: n } }; + }, + shadow: function (t, e, n, i) { + var r = Math.max(1, t.getBandWidth()), + o = Math.PI / 180; + return "angle" === t.dim ? { type: "Sector", shape: vN(e.cx, e.cy, i[0], i[1], (-n - r / 2) * o, (r / 2 - n) * o) } : { type: "Sector", shape: vN(e.cx, e.cy, n - r / 2, n + r / 2, 0, 2 * Math.PI) }; + }, + }, + GN = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.prototype.findAxisModel = function (t) { + var e; + return ( + this.ecModel.eachComponent( + t, + function (t) { + t.getCoordSysModel() === this && (e = t); + }, + this + ), + e + ); + }), + (e.type = "polar"), + (e.dependencies = ["radiusAxis", "angleAxis"]), + (e.defaultOption = { z: 0, center: ["50%", "50%"], radius: "80%" }), + e + ); + })(zp), + WN = (function (t) { + function e() { + return (null !== t && t.apply(this, arguments)) || this; + } + return ( + n(e, t), + (e.prototype.getCoordSysModel = function () { + return this.getReferringComponents("polar", Wo).models[0]; + }), + (e.type = "polarAxis"), + e + ); + })(zp); + R(WN, D_); + var HN = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return n(e, t), (e.type = "angleAxis"), e; + })(WN), + YN = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return n(e, t), (e.type = "radiusAxis"), e; + })(WN), + XN = (function (t) { + function e(e, n) { + return t.call(this, "radius", e, n) || this; + } + return ( + n(e, t), + (e.prototype.pointToData = function (t, e) { + return this.polar.pointToData(t, e)["radius" === this.dim ? 0 : 1]; + }), + e + ); + })(ob); + (XN.prototype.dataToRadius = ob.prototype.dataToCoord), (XN.prototype.radiusToData = ob.prototype.coordToData); + var UN = Vo(), + ZN = (function (t) { + function e(e, n) { + return t.call(this, "angle", e, n || [0, 360]) || this; + } + return ( + n(e, t), + (e.prototype.pointToData = function (t, e) { + return this.polar.pointToData(t, e)["radius" === this.dim ? 0 : 1]; + }), + (e.prototype.calculateCategoryInterval = function () { + var t = this, + e = t.getLabelModel(), + n = t.scale, + i = n.getExtent(), + r = n.count(); + if (i[1] - i[0] < 1) return 0; + var o = i[0], + a = t.dataToCoord(o + 1) - t.dataToCoord(o), + s = Math.abs(a), + l = Sr(null == o ? "" : o + "", e.getFont(), "center", "top"), + u = Math.max(l.height, 7) / s; + isNaN(u) && (u = 1 / 0); + var h = Math.max(0, Math.floor(u)), + c = UN(t.model), + p = c.lastAutoInterval, + d = c.lastTickCount; + return null != p && null != d && Math.abs(p - h) <= 1 && Math.abs(d - r) <= 1 && p > h ? (h = p) : ((c.lastTickCount = r), (c.lastAutoInterval = h)), h; + }), + e + ); + })(ob); + (ZN.prototype.dataToAngle = ob.prototype.dataToCoord), (ZN.prototype.angleToData = ob.prototype.coordToData); + var jN = ["radius", "angle"], + qN = (function () { + function t(t) { + (this.dimensions = jN), + (this.type = "polar"), + (this.cx = 0), + (this.cy = 0), + (this._radiusAxis = new XN()), + (this._angleAxis = new ZN()), + (this.axisPointerEnabled = !0), + (this.name = t || ""), + (this._radiusAxis.polar = this._angleAxis.polar = this); + } + return ( + (t.prototype.containPoint = function (t) { + var e = this.pointToCoord(t); + return this._radiusAxis.contain(e[0]) && this._angleAxis.contain(e[1]); + }), + (t.prototype.containData = function (t) { + return this._radiusAxis.containData(t[0]) && this._angleAxis.containData(t[1]); + }), + (t.prototype.getAxis = function (t) { + return this["_" + t + "Axis"]; + }), + (t.prototype.getAxes = function () { + return [this._radiusAxis, this._angleAxis]; + }), + (t.prototype.getAxesByScale = function (t) { + var e = [], + n = this._angleAxis, + i = this._radiusAxis; + return n.scale.type === t && e.push(n), i.scale.type === t && e.push(i), e; + }), + (t.prototype.getAngleAxis = function () { + return this._angleAxis; + }), + (t.prototype.getRadiusAxis = function () { + return this._radiusAxis; + }), + (t.prototype.getOtherAxis = function (t) { + var e = this._angleAxis; + return t === e ? this._radiusAxis : e; + }), + (t.prototype.getBaseAxis = function () { + return this.getAxesByScale("ordinal")[0] || this.getAxesByScale("time")[0] || this.getAngleAxis(); + }), + (t.prototype.getTooltipAxes = function (t) { + var e = null != t && "auto" !== t ? this.getAxis(t) : this.getBaseAxis(); + return { baseAxes: [e], otherAxes: [this.getOtherAxis(e)] }; + }), + (t.prototype.dataToPoint = function (t, e) { + return this.coordToPoint([this._radiusAxis.dataToRadius(t[0], e), this._angleAxis.dataToAngle(t[1], e)]); + }), + (t.prototype.pointToData = function (t, e) { + var n = this.pointToCoord(t); + return [this._radiusAxis.radiusToData(n[0], e), this._angleAxis.angleToData(n[1], e)]; + }), + (t.prototype.pointToCoord = function (t) { + var e = t[0] - this.cx, + n = t[1] - this.cy, + i = this.getAngleAxis(), + r = i.getExtent(), + o = Math.min(r[0], r[1]), + a = Math.max(r[0], r[1]); + i.inverse ? (o = a - 360) : (a = o + 360); + var s = Math.sqrt(e * e + n * n); + (e /= s), (n /= s); + for (var l = (Math.atan2(-n, e) / Math.PI) * 180, u = l < o ? 1 : -1; l < o || l > a; ) l += 360 * u; + return [s, l]; + }), + (t.prototype.coordToPoint = function (t) { + var e = t[0], + n = (t[1] / 180) * Math.PI; + return [Math.cos(n) * e + this.cx, -Math.sin(n) * e + this.cy]; + }), + (t.prototype.getArea = function () { + var t = this.getAngleAxis(), + e = this.getRadiusAxis().getExtent().slice(); + e[0] > e[1] && e.reverse(); + var n = t.getExtent(), + i = Math.PI / 180; + return { + cx: this.cx, + cy: this.cy, + r0: e[0], + r: e[1], + startAngle: -n[0] * i, + endAngle: -n[1] * i, + clockwise: t.inverse, + contain: function (t, e) { + var n = t - this.cx, + i = e - this.cy, + r = n * n + i * i - 1e-4, + o = this.r, + a = this.r0; + return r <= o * o && r >= a * a; + }, + }; + }), + (t.prototype.convertToPixel = function (t, e, n) { + return KN(e) === this ? this.dataToPoint(n) : null; + }), + (t.prototype.convertFromPixel = function (t, e, n) { + return KN(e) === this ? this.pointToData(n) : null; + }), + t + ); + })(); + function KN(t) { + var e = t.seriesModel, + n = t.polarModel; + return (n && n.coordinateSystem) || (e && e.coordinateSystem); + } + function $N(t, e) { + var n = this, + i = n.getAngleAxis(), + r = n.getRadiusAxis(); + if ( + (i.scale.setExtent(1 / 0, -1 / 0), + r.scale.setExtent(1 / 0, -1 / 0), + t.eachSeries(function (t) { + if (t.coordinateSystem === n) { + var e = t.getData(); + E(C_(e, "radius"), function (t) { + r.scale.unionExtentFromData(e, t); + }), + E(C_(e, "angle"), function (t) { + i.scale.unionExtentFromData(e, t); + }); + } + }), + __(i.scale, i.model), + __(r.scale, r.model), + "category" === i.type && !i.onBand) + ) { + var o = i.getExtent(), + a = 360 / i.scale.count(); + i.inverse ? (o[1] += a) : (o[1] -= a), i.setExtent(o[0], o[1]); + } + } + function JN(t, e) { + var n; + if ( + ((t.type = e.get("type")), + (t.scale = b_(e)), + (t.onBand = e.get("boundaryGap") && "category" === t.type), + (t.inverse = e.get("inverse")), + (function (t) { + return "angleAxis" === t.mainType; + })(e)) + ) { + t.inverse = t.inverse !== e.get("clockwise"); + var i = e.get("startAngle"), + r = null !== (n = e.get("endAngle")) && void 0 !== n ? n : i + (t.inverse ? -360 : 360); + t.setExtent(i, r); + } + (e.axis = t), (t.model = e); + } + var QN = { + dimensions: jN, + create: function (t, e) { + var n = []; + return ( + t.eachComponent("polar", function (t, i) { + var r = new qN(i + ""); + r.update = $N; + var o = r.getRadiusAxis(), + a = r.getAngleAxis(), + s = t.findAxisModel("radiusAxis"), + l = t.findAxisModel("angleAxis"); + JN(o, s), + JN(a, l), + (function (t, e, n) { + var i = e.get("center"), + r = n.getWidth(), + o = n.getHeight(); + (t.cx = $r(i[0], r)), (t.cy = $r(i[1], o)); + var a = t.getRadiusAxis(), + s = Math.min(r, o) / 2, + l = e.get("radius"); + null == l ? (l = [0, "100%"]) : Y(l) || (l = [0, l]); + var u = [$r(l[0], s), $r(l[1], s)]; + a.inverse ? a.setExtent(u[1], u[0]) : a.setExtent(u[0], u[1]); + })(r, t, e), + n.push(r), + (t.coordinateSystem = r), + (r.model = t); + }), + t.eachSeries(function (t) { + if ("polar" === t.get("coordinateSystem")) { + var e = t.getReferringComponents("polar", Wo).models[0]; + 0, (t.coordinateSystem = e.coordinateSystem); + } + }), + n + ); + }, + }, + tE = ["axisLine", "axisLabel", "axisTick", "minorTick", "splitLine", "minorSplitLine", "splitArea"]; + function eE(t, e, n) { + e[1] > e[0] && (e = e.slice().reverse()); + var i = t.coordToPoint([e[0], n]), + r = t.coordToPoint([e[1], n]); + return { x1: i[0], y1: i[1], x2: r[0], y2: r[1] }; + } + function nE(t) { + return t.getRadiusAxis().inverse ? 0 : 1; + } + function iE(t) { + var e = t[0], + n = t[t.length - 1]; + e && n && Math.abs(Math.abs(e.coord - n.coord) - 360) < 1e-4 && t.pop(); + } + var rE = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), (n.axisPointerClass = "PolarAxisPointer"), n; + } + return ( + n(e, t), + (e.prototype.render = function (t, e) { + if ((this.group.removeAll(), t.get("show"))) { + var n = t.axis, + i = n.polar, + r = i.getRadiusAxis().getExtent(), + o = n.getTicksCoords(), + a = n.getMinorTicksCoords(), + s = z(n.getViewLabels(), function (t) { + t = T(t); + var e = n.scale, + i = "ordinal" === e.type ? e.getRawOrdinalNumber(t.tickValue) : t.tickValue; + return (t.coord = n.dataToCoord(i)), t; + }); + iE(s), + iE(o), + E( + tE, + function (e) { + !t.get([e, "show"]) || (n.scale.isBlank() && "axisLine" !== e) || oE[e](this.group, t, i, o, a, r, s); + }, + this + ); + } + }), + (e.type = "angleAxis"), + e + ); + })(MI), + oE = { + axisLine: function (t, e, n, i, r, o) { + var a, + s = e.getModel(["axisLine", "lineStyle"]), + l = n.getAngleAxis(), + u = Math.PI / 180, + h = l.getExtent(), + c = nE(n), + p = c ? 0 : 1, + d = 360 === Math.abs(h[1] - h[0]) ? "Circle" : "Arc"; + ((a = + 0 === o[p] + ? new Qh[d]({ shape: { cx: n.cx, cy: n.cy, r: o[c], startAngle: -h[0] * u, endAngle: -h[1] * u, clockwise: l.inverse }, style: s.getLineStyle(), z2: 1, silent: !0 }) + : new Wu({ shape: { cx: n.cx, cy: n.cy, r: o[c], r0: o[p] }, style: s.getLineStyle(), z2: 1, silent: !0 })).style.fill = null), + t.add(a); + }, + axisTick: function (t, e, n, i, r, o) { + var a = e.getModel("axisTick"), + s = (a.get("inside") ? -1 : 1) * a.get("length"), + l = o[nE(n)], + u = z(i, function (t) { + return new Ku({ shape: eE(n, [l, l + s], t.coord) }); + }); + t.add(Nh(u, { style: k(a.getModel("lineStyle").getLineStyle(), { stroke: e.get(["axisLine", "lineStyle", "color"]) }) })); + }, + minorTick: function (t, e, n, i, r, o) { + if (r.length) { + for (var a = e.getModel("axisTick"), s = e.getModel("minorTick"), l = (a.get("inside") ? -1 : 1) * s.get("length"), u = o[nE(n)], h = [], c = 0; c < r.length; c++) + for (var p = 0; p < r[c].length; p++) h.push(new Ku({ shape: eE(n, [u, u + l], r[c][p].coord) })); + t.add(Nh(h, { style: k(s.getModel("lineStyle").getLineStyle(), k(a.getLineStyle(), { stroke: e.get(["axisLine", "lineStyle", "color"]) })) })); + } + }, + axisLabel: function (t, e, n, i, r, o, a) { + var s = e.getCategories(!0), + l = e.getModel("axisLabel"), + u = l.get("margin"), + h = e.get("triggerEvent"); + E( + a, + function (i, r) { + var a = l, + c = i.tickValue, + p = o[nE(n)], + d = n.coordToPoint([p + u, i.coord]), + f = n.cx, + g = n.cy, + y = Math.abs(d[0] - f) / p < 0.3 ? "center" : d[0] > f ? "left" : "right", + v = Math.abs(d[1] - g) / p < 0.3 ? "middle" : d[1] > g ? "top" : "bottom"; + if (s && s[c]) { + var m = s[c]; + q(m) && m.textStyle && (a = new Cc(m.textStyle, l, l.ecModel)); + } + var x = new Xs({ silent: cI.isLabelSilent(e), style: oc(a, { x: d[0], y: d[1], fill: a.getTextColor() || e.get(["axisLine", "lineStyle", "color"]), text: i.formattedLabel, align: y, verticalAlign: v }) }); + if ((t.add(x), h)) { + var _ = cI.makeAxisEventDataBase(e); + (_.targetType = "axisLabel"), (_.value = i.rawLabel), (rl(x).eventData = _); + } + }, + this + ); + }, + splitLine: function (t, e, n, i, r, o) { + var a = e.getModel("splitLine").getModel("lineStyle"), + s = a.get("color"), + l = 0; + s = s instanceof Array ? s : [s]; + for (var u = [], h = 0; h < i.length; h++) { + var c = l++ % s.length; + (u[c] = u[c] || []), u[c].push(new Ku({ shape: eE(n, o, i[h].coord) })); + } + for (h = 0; h < u.length; h++) t.add(Nh(u[h], { style: k({ stroke: s[h % s.length] }, a.getLineStyle()), silent: !0, z: e.get("z") })); + }, + minorSplitLine: function (t, e, n, i, r, o) { + if (r.length) { + for (var a = e.getModel("minorSplitLine").getModel("lineStyle"), s = [], l = 0; l < r.length; l++) for (var u = 0; u < r[l].length; u++) s.push(new Ku({ shape: eE(n, o, r[l][u].coord) })); + t.add(Nh(s, { style: a.getLineStyle(), silent: !0, z: e.get("z") })); + } + }, + splitArea: function (t, e, n, i, r, o) { + if (i.length) { + var a = e.getModel("splitArea").getModel("areaStyle"), + s = a.get("color"), + l = 0; + s = s instanceof Array ? s : [s]; + for (var u = [], h = Math.PI / 180, c = -i[0].coord * h, p = Math.min(o[0], o[1]), d = Math.max(o[0], o[1]), f = e.get("clockwise"), g = 1, y = i.length; g <= y; g++) { + var v = g === y ? i[0].coord : i[g].coord, + m = l++ % s.length; + (u[m] = u[m] || []), u[m].push(new Fu({ shape: { cx: n.cx, cy: n.cy, r0: p, r: d, startAngle: c, endAngle: -v * h, clockwise: f }, silent: !0 })), (c = -v * h); + } + for (g = 0; g < u.length; g++) t.add(Nh(u[g], { style: k({ fill: s[g % s.length] }, a.getAreaStyle()), silent: !0 })); + } + }, + }, + aE = ["axisLine", "axisTickLabel", "axisName"], + sE = ["splitLine", "splitArea", "minorSplitLine"], + lE = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), (n.axisPointerClass = "PolarAxisPointer"), n; + } + return ( + n(e, t), + (e.prototype.render = function (t, e) { + if ((this.group.removeAll(), t.get("show"))) { + var n = this._axisGroup, + i = (this._axisGroup = new Br()); + this.group.add(i); + var r = t.axis, + o = r.polar, + a = o.getAngleAxis(), + s = r.getTicksCoords(), + l = r.getMinorTicksCoords(), + u = a.getExtent()[0], + h = r.getExtent(), + c = (function (t, e, n) { + return { position: [t.cx, t.cy], rotation: (n / 180) * Math.PI, labelDirection: -1, tickDirection: -1, nameDirection: 1, labelRotate: e.getModel("axisLabel").get("rotate"), z2: 1 }; + })(o, t, u), + p = new cI(t, c); + E(aE, p.add, p), + i.add(p.getGroup()), + Hh(n, i, t), + E( + sE, + function (e) { + t.get([e, "show"]) && !r.scale.isBlank() && uE[e](this.group, t, o, u, h, s, l); + }, + this + ); + } + }), + (e.type = "radiusAxis"), + e + ); + })(MI), + uE = { + splitLine: function (t, e, n, i, r, o) { + var a = e.getModel("splitLine").getModel("lineStyle"), + s = a.get("color"), + l = 0, + u = n.getAngleAxis(), + h = Math.PI / 180, + c = u.getExtent(), + p = 360 === Math.abs(c[1] - c[0]) ? "Circle" : "Arc"; + s = s instanceof Array ? s : [s]; + for (var d = [], f = 0; f < o.length; f++) { + var g = l++ % s.length; + (d[g] = d[g] || []), d[g].push(new Qh[p]({ shape: { cx: n.cx, cy: n.cy, r: Math.max(o[f].coord, 0), startAngle: -c[0] * h, endAngle: -c[1] * h, clockwise: u.inverse } })); + } + for (f = 0; f < d.length; f++) t.add(Nh(d[f], { style: k({ stroke: s[f % s.length], fill: null }, a.getLineStyle()), silent: !0 })); + }, + minorSplitLine: function (t, e, n, i, r, o, a) { + if (a.length) { + for (var s = e.getModel("minorSplitLine").getModel("lineStyle"), l = [], u = 0; u < a.length; u++) for (var h = 0; h < a[u].length; h++) l.push(new Su({ shape: { cx: n.cx, cy: n.cy, r: a[u][h].coord } })); + t.add(Nh(l, { style: k({ fill: null }, s.getLineStyle()), silent: !0 })); + } + }, + splitArea: function (t, e, n, i, r, o) { + if (o.length) { + var a = e.getModel("splitArea").getModel("areaStyle"), + s = a.get("color"), + l = 0; + s = s instanceof Array ? s : [s]; + for (var u = [], h = o[0].coord, c = 1; c < o.length; c++) { + var p = l++ % s.length; + (u[p] = u[p] || []), u[p].push(new Fu({ shape: { cx: n.cx, cy: n.cy, r0: h, r: o[c].coord, startAngle: 0, endAngle: 2 * Math.PI }, silent: !0 })), (h = o[c].coord); + } + for (c = 0; c < u.length; c++) t.add(Nh(u[c], { style: k({ fill: s[c % s.length] }, a.getAreaStyle()), silent: !0 })); + } + }, + }; + function hE(t) { + return t.get("stack") || "__ec_stack_" + t.seriesIndex; + } + function cE(t, e) { + return e.dim + t.model.componentIndex; + } + function pE(t, e, n) { + var i = {}, + r = (function (t) { + var e = {}; + E(t, function (t, n) { + var i = t.getData(), + r = t.coordinateSystem, + o = r.getBaseAxis(), + a = cE(r, o), + s = o.getExtent(), + l = "category" === o.type ? o.getBandWidth() : Math.abs(s[1] - s[0]) / i.count(), + u = e[a] || { bandWidth: l, remainedWidth: l, autoWidthCount: 0, categoryGap: "20%", gap: "30%", stacks: {} }, + h = u.stacks; + e[a] = u; + var c = hE(t); + h[c] || u.autoWidthCount++, (h[c] = h[c] || { width: 0, maxWidth: 0 }); + var p = $r(t.get("barWidth"), l), + d = $r(t.get("barMaxWidth"), l), + f = t.get("barGap"), + g = t.get("barCategoryGap"); + p && !h[c].width && ((p = Math.min(u.remainedWidth, p)), (h[c].width = p), (u.remainedWidth -= p)), d && (h[c].maxWidth = d), null != f && (u.gap = f), null != g && (u.categoryGap = g); + }); + var n = {}; + return ( + E(e, function (t, e) { + n[e] = {}; + var i = t.stacks, + r = t.bandWidth, + o = $r(t.categoryGap, r), + a = $r(t.gap, 1), + s = t.remainedWidth, + l = t.autoWidthCount, + u = (s - o) / (l + (l - 1) * a); + (u = Math.max(u, 0)), + E(i, function (t, e) { + var n = t.maxWidth; + n && n < u && ((n = Math.min(n, s)), t.width && (n = Math.min(n, t.width)), (s -= n), (t.width = n), l--); + }), + (u = (s - o) / (l + (l - 1) * a)), + (u = Math.max(u, 0)); + var h, + c = 0; + E(i, function (t, e) { + t.width || (t.width = u), (h = t), (c += t.width * (1 + a)); + }), + h && (c -= h.width * a); + var p = -c / 2; + E(i, function (t, i) { + (n[e][i] = n[e][i] || { offset: p, width: t.width }), (p += t.width * (1 + a)); + }); + }), + n + ); + })( + B(e.getSeriesByType(t), function (t) { + return !e.isSeriesFiltered(t) && t.coordinateSystem && "polar" === t.coordinateSystem.type; + }) + ); + e.eachSeriesByType(t, function (t) { + if ("polar" === t.coordinateSystem.type) { + var e = t.getData(), + n = t.coordinateSystem, + o = n.getBaseAxis(), + a = cE(n, o), + s = hE(t), + l = r[a][s], + u = l.offset, + h = l.width, + c = n.getOtherAxis(o), + p = t.coordinateSystem.cx, + d = t.coordinateSystem.cy, + f = t.get("barMinHeight") || 0, + g = t.get("barMinAngle") || 0; + i[s] = i[s] || []; + for (var y = e.mapDimension(c.dim), v = e.mapDimension(o.dim), m = mx(e, y), x = "radius" !== o.dim || !t.get("roundCap", !0), _ = c.dataToCoord(0), b = 0, w = e.count(); b < w; b++) { + var S = e.get(y, b), + M = e.get(v, b), + I = S >= 0 ? "p" : "n", + T = _; + m && (i[s][M] || (i[s][M] = { p: _, n: _ }), (T = i[s][M][I])); + var C = void 0, + D = void 0, + A = void 0, + k = void 0; + if ("radius" === c.dim) { + var L = c.dataToCoord(S) - _, + P = o.dataToCoord(M); + Math.abs(L) < f && (L = (L < 0 ? -1 : 1) * f), (C = T), (D = T + L), (k = (A = P - u) - h), m && (i[s][M][I] = D); + } else { + var O = c.dataToCoord(S, x) - _, + R = o.dataToCoord(M); + Math.abs(O) < g && (O = (O < 0 ? -1 : 1) * g), (D = (C = R + u) + h), (A = T), (k = T + O), m && (i[s][M][I] = k); + } + e.setItemLayout(b, { cx: p, cy: d, r0: C, r: D, startAngle: (-A * Math.PI) / 180, endAngle: (-k * Math.PI) / 180, clockwise: A >= k }); + } + } + }); + } + var dE = { startAngle: 90, clockwise: !0, splitNumber: 12, axisLabel: { rotate: 0 } }, + fE = { splitNumber: 5 }, + gE = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return n(e, t), (e.type = "polar"), e; + })(Ag); + function yE(t, e) { + e = e || {}; + var n = t.coordinateSystem, + i = t.axis, + r = {}, + o = i.position, + a = i.orient, + s = n.getRect(), + l = [s.x, s.x + s.width, s.y, s.y + s.height], + u = { horizontal: { top: l[2], bottom: l[3] }, vertical: { left: l[0], right: l[1] } }; + r.position = ["vertical" === a ? u.vertical[o] : l[0], "horizontal" === a ? u.horizontal[o] : l[3]]; + r.rotation = (Math.PI / 2) * { horizontal: 0, vertical: 1 }[a]; + (r.labelDirection = r.tickDirection = r.nameDirection = { top: -1, bottom: 1, right: 1, left: -1 }[o]), + t.get(["axisTick", "inside"]) && (r.tickDirection = -r.tickDirection), + it(e.labelInside, t.get(["axisLabel", "inside"])) && (r.labelDirection = -r.labelDirection); + var h = e.rotate; + return null == h && (h = t.get(["axisLabel", "rotate"])), (r.labelRotation = "top" === o ? -h : h), (r.z2 = 1), r; + } + var vE = ["axisLine", "axisTickLabel", "axisName"], + mE = ["splitArea", "splitLine"], + xE = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), (n.axisPointerClass = "SingleAxisPointer"), n; + } + return ( + n(e, t), + (e.prototype.render = function (e, n, i, r) { + var o = this.group; + o.removeAll(); + var a = this._axisGroup; + this._axisGroup = new Br(); + var s = yE(e), + l = new cI(e, s); + E(vE, l.add, l), + o.add(this._axisGroup), + o.add(l.getGroup()), + E( + mE, + function (t) { + e.get([t, "show"]) && _E[t](this, this.group, this._axisGroup, e); + }, + this + ), + Hh(a, this._axisGroup, e), + t.prototype.render.call(this, e, n, i, r); + }), + (e.prototype.remove = function () { + CI(this); + }), + (e.type = "singleAxis"), + e + ); + })(MI), + _E = { + splitLine: function (t, e, n, i) { + var r = i.axis; + if (!r.scale.isBlank()) { + var o = i.getModel("splitLine"), + a = o.getModel("lineStyle"), + s = a.get("color"); + s = s instanceof Array ? s : [s]; + for (var l = a.get("width"), u = i.coordinateSystem.getRect(), h = r.isHorizontal(), c = [], p = 0, d = r.getTicksCoords({ tickModel: o }), f = [], g = [], y = 0; y < d.length; ++y) { + var v = r.toGlobalCoord(d[y].coord); + h ? ((f[0] = v), (f[1] = u.y), (g[0] = v), (g[1] = u.y + u.height)) : ((f[0] = u.x), (f[1] = v), (g[0] = u.x + u.width), (g[1] = v)); + var m = new Ku({ shape: { x1: f[0], y1: f[1], x2: g[0], y2: g[1] }, silent: !0 }); + zh(m.shape, l); + var x = p++ % s.length; + (c[x] = c[x] || []), c[x].push(m); + } + var _ = a.getLineStyle(["color"]); + for (y = 0; y < c.length; ++y) e.add(Nh(c[y], { style: k({ stroke: s[y % s.length] }, _), silent: !0 })); + } + }, + splitArea: function (t, e, n, i) { + TI(t, n, i, i); + }, + }, + bE = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.prototype.getCoordSysModel = function () { + return this; + }), + (e.type = "singleAxis"), + (e.layoutMode = "box"), + (e.defaultOption = { + left: "5%", + top: "5%", + right: "5%", + bottom: "5%", + type: "value", + position: "bottom", + orient: "horizontal", + axisLine: { show: !0, lineStyle: { width: 1, type: "solid" } }, + tooltip: { show: !0 }, + axisTick: { show: !0, length: 6, lineStyle: { width: 1 } }, + axisLabel: { show: !0, interval: "auto" }, + splitLine: { show: !0, lineStyle: { type: "dashed", opacity: 0.2 } }, + }), + e + ); + })(zp); + R(bE, D_.prototype); + var wE = (function (t) { + function e(e, n, i, r, o) { + var a = t.call(this, e, n, i) || this; + return (a.type = r || "value"), (a.position = o || "bottom"), a; + } + return ( + n(e, t), + (e.prototype.isHorizontal = function () { + var t = this.position; + return "top" === t || "bottom" === t; + }), + (e.prototype.pointToData = function (t, e) { + return this.coordinateSystem.pointToData(t)[0]; + }), + e + ); + })(ob), + SE = ["single"], + ME = (function () { + function t(t, e, n) { + (this.type = "single"), (this.dimension = "single"), (this.dimensions = SE), (this.axisPointerEnabled = !0), (this.model = t), this._init(t, e, n); + } + return ( + (t.prototype._init = function (t, e, n) { + var i = this.dimension, + r = new wE(i, b_(t), [0, 0], t.get("type"), t.get("position")), + o = "category" === r.type; + (r.onBand = o && t.get("boundaryGap")), (r.inverse = t.get("inverse")), (r.orient = t.get("orient")), (t.axis = r), (r.model = t), (r.coordinateSystem = this), (this._axis = r); + }), + (t.prototype.update = function (t, e) { + t.eachSeries(function (t) { + if (t.coordinateSystem === this) { + var e = t.getData(); + E( + e.mapDimensionsAll(this.dimension), + function (t) { + this._axis.scale.unionExtentFromData(e, t); + }, + this + ), + __(this._axis.scale, this._axis.model); + } + }, this); + }), + (t.prototype.resize = function (t, e) { + (this._rect = kp({ left: t.get("left"), top: t.get("top"), right: t.get("right"), bottom: t.get("bottom"), width: t.get("width"), height: t.get("height") }, { width: e.getWidth(), height: e.getHeight() })), this._adjustAxis(); + }), + (t.prototype.getRect = function () { + return this._rect; + }), + (t.prototype._adjustAxis = function () { + var t = this._rect, + e = this._axis, + n = e.isHorizontal(), + i = n ? [0, t.width] : [0, t.height], + r = e.inverse ? 1 : 0; + e.setExtent(i[r], i[1 - r]), this._updateAxisTransform(e, n ? t.x : t.y); + }), + (t.prototype._updateAxisTransform = function (t, e) { + var n = t.getExtent(), + i = n[0] + n[1], + r = t.isHorizontal(); + (t.toGlobalCoord = r + ? function (t) { + return t + e; + } + : function (t) { + return i - t + e; + }), + (t.toLocalCoord = r + ? function (t) { + return t - e; + } + : function (t) { + return i - t + e; + }); + }), + (t.prototype.getAxis = function () { + return this._axis; + }), + (t.prototype.getBaseAxis = function () { + return this._axis; + }), + (t.prototype.getAxes = function () { + return [this._axis]; + }), + (t.prototype.getTooltipAxes = function () { + return { baseAxes: [this.getAxis()], otherAxes: [] }; + }), + (t.prototype.containPoint = function (t) { + var e = this.getRect(), + n = this.getAxis(); + return "horizontal" === n.orient ? n.contain(n.toLocalCoord(t[0])) && t[1] >= e.y && t[1] <= e.y + e.height : n.contain(n.toLocalCoord(t[1])) && t[0] >= e.y && t[0] <= e.y + e.height; + }), + (t.prototype.pointToData = function (t) { + var e = this.getAxis(); + return [e.coordToData(e.toLocalCoord(t["horizontal" === e.orient ? 0 : 1]))]; + }), + (t.prototype.dataToPoint = function (t) { + var e = this.getAxis(), + n = this.getRect(), + i = [], + r = "horizontal" === e.orient ? 0 : 1; + return t instanceof Array && (t = t[0]), (i[r] = e.toGlobalCoord(e.dataToCoord(+t))), (i[1 - r] = 0 === r ? n.y + n.height / 2 : n.x + n.width / 2), i; + }), + (t.prototype.convertToPixel = function (t, e, n) { + return IE(e) === this ? this.dataToPoint(n) : null; + }), + (t.prototype.convertFromPixel = function (t, e, n) { + return IE(e) === this ? this.pointToData(n) : null; + }), + t + ); + })(); + function IE(t) { + var e = t.seriesModel, + n = t.singleAxisModel; + return (n && n.coordinateSystem) || (e && e.coordinateSystem); + } + var TE = { + create: function (t, e) { + var n = []; + return ( + t.eachComponent("singleAxis", function (i, r) { + var o = new ME(i, t, e); + (o.name = "single_" + r), o.resize(i, e), (i.coordinateSystem = o), n.push(o); + }), + t.eachSeries(function (t) { + if ("singleAxis" === t.get("coordinateSystem")) { + var e = t.getReferringComponents("singleAxis", Wo).models[0]; + t.coordinateSystem = e && e.coordinateSystem; + } + }), + n + ); + }, + dimensions: SE, + }, + CE = ["x", "y"], + DE = ["width", "height"], + AE = (function (t) { + function e() { + return (null !== t && t.apply(this, arguments)) || this; + } + return ( + n(e, t), + (e.prototype.makeElOption = function (t, e, n, i, r) { + var o = n.axis, + a = o.coordinateSystem, + s = PE(a, 1 - LE(o)), + l = a.dataToPoint(e)[0], + u = i.get("type"); + if (u && "none" !== u) { + var h = hN(i), + c = kE[u](o, l, s); + (c.style = h), (t.graphicKey = c.type), (t.pointer = c); + } + fN(e, t, yE(n), n, i, r); + }), + (e.prototype.getHandleTransform = function (t, e, n) { + var i = yE(e, { labelInside: !1 }); + i.labelMargin = n.get(["handle", "margin"]); + var r = dN(e.axis, t, i); + return { x: r[0], y: r[1], rotation: i.rotation + (i.labelDirection < 0 ? Math.PI : 0) }; + }), + (e.prototype.updateHandleTransform = function (t, e, n, i) { + var r = n.axis, + o = r.coordinateSystem, + a = LE(r), + s = PE(o, a), + l = [t.x, t.y]; + (l[a] += e[a]), (l[a] = Math.min(s[1], l[a])), (l[a] = Math.max(s[0], l[a])); + var u = PE(o, 1 - a), + h = (u[1] + u[0]) / 2, + c = [h, h]; + return (c[a] = l[a]), { x: l[0], y: l[1], rotation: t.rotation, cursorPoint: c, tooltipOption: { verticalAlign: "middle" } }; + }), + e + ); + })(rN), + kE = { + line: function (t, e, n) { + return { type: "Line", subPixelOptimize: !0, shape: gN([e, n[0]], [e, n[1]], LE(t)) }; + }, + shadow: function (t, e, n) { + var i = t.getBandWidth(), + r = n[1] - n[0]; + return { type: "Rect", shape: yN([e - i / 2, n[0]], [i, r], LE(t)) }; + }, + }; + function LE(t) { + return t.isHorizontal() ? 0 : 1; + } + function PE(t, e) { + var n = t.getRect(); + return [n[CE[e]], n[CE[e]] + n[DE[e]]]; + } + var OE = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return n(e, t), (e.type = "single"), e; + })(Ag); + var RE = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.prototype.init = function (e, n, i) { + var r = Rp(e); + t.prototype.init.apply(this, arguments), NE(e, r); + }), + (e.prototype.mergeOption = function (e) { + t.prototype.mergeOption.apply(this, arguments), NE(this.option, e); + }), + (e.prototype.getCellSize = function () { + return this.option.cellSize; + }), + (e.type = "calendar"), + (e.defaultOption = { + z: 2, + left: 80, + top: 60, + cellSize: 20, + orient: "horizontal", + splitLine: { show: !0, lineStyle: { color: "#000", width: 1, type: "solid" } }, + itemStyle: { color: "#fff", borderWidth: 1, borderColor: "#ccc" }, + dayLabel: { show: !0, firstDay: 0, position: "start", margin: "50%", color: "#000" }, + monthLabel: { show: !0, position: "start", margin: 5, align: "center", formatter: null, color: "#000" }, + yearLabel: { show: !0, position: null, margin: 30, formatter: null, color: "#ccc", fontFamily: "sans-serif", fontWeight: "bolder", fontSize: 20 }, + }), + e + ); + })(zp); + function NE(t, e) { + var n, + i = t.cellSize; + 1 === (n = Y(i) ? i : (t.cellSize = [i, i])).length && (n[1] = n[0]); + var r = z([0, 1], function (t) { + return ( + (function (t, e) { + return null != t[Cp[e][0]] || (null != t[Cp[e][1]] && null != t[Cp[e][2]]); + })(e, t) && (n[t] = "auto"), + null != n[t] && "auto" !== n[t] + ); + }); + Op(t, e, { type: "box", ignoreSize: r }); + } + var EE = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.prototype.render = function (t, e, n) { + var i = this.group; + i.removeAll(); + var r = t.coordinateSystem, + o = r.getRangeInfo(), + a = r.getOrient(), + s = e.getLocaleModel(); + this._renderDayRect(t, o, i), this._renderLines(t, o, a, i), this._renderYearText(t, o, a, i), this._renderMonthText(t, s, a, i), this._renderWeekText(t, s, o, a, i); + }), + (e.prototype._renderDayRect = function (t, e, n) { + for (var i = t.coordinateSystem, r = t.getModel("itemStyle").getItemStyle(), o = i.getCellWidth(), a = i.getCellHeight(), s = e.start.time; s <= e.end.time; s = i.getNextNDay(s, 1).time) { + var l = i.dataToRect([s], !1).tl, + u = new Ws({ shape: { x: l[0], y: l[1], width: o, height: a }, cursor: "default", style: r }); + n.add(u); + } + }), + (e.prototype._renderLines = function (t, e, n, i) { + var r = this, + o = t.coordinateSystem, + a = t.getModel(["splitLine", "lineStyle"]).getLineStyle(), + s = t.get(["splitLine", "show"]), + l = a.lineWidth; + (this._tlpoints = []), (this._blpoints = []), (this._firstDayOfMonth = []), (this._firstDayPoints = []); + for (var u = e.start, h = 0; u.time <= e.end.time; h++) { + p(u.formatedDate), 0 === h && (u = o.getDateInfo(e.start.y + "-" + e.start.m)); + var c = u.date; + c.setMonth(c.getMonth() + 1), (u = o.getDateInfo(c)); + } + function p(e) { + r._firstDayOfMonth.push(o.getDateInfo(e)), r._firstDayPoints.push(o.dataToRect([e], !1).tl); + var l = r._getLinePointsOfOneWeek(t, e, n); + r._tlpoints.push(l[0]), r._blpoints.push(l[l.length - 1]), s && r._drawSplitline(l, a, i); + } + p(o.getNextNDay(e.end.time, 1).formatedDate), s && this._drawSplitline(r._getEdgesPoints(r._tlpoints, l, n), a, i), s && this._drawSplitline(r._getEdgesPoints(r._blpoints, l, n), a, i); + }), + (e.prototype._getEdgesPoints = function (t, e, n) { + var i = [t[0].slice(), t[t.length - 1].slice()], + r = "horizontal" === n ? 0 : 1; + return (i[0][r] = i[0][r] - e / 2), (i[1][r] = i[1][r] + e / 2), i; + }), + (e.prototype._drawSplitline = function (t, e, n) { + var i = new Zu({ z2: 20, shape: { points: t }, style: e }); + n.add(i); + }), + (e.prototype._getLinePointsOfOneWeek = function (t, e, n) { + for (var i = t.coordinateSystem, r = i.getDateInfo(e), o = [], a = 0; a < 7; a++) { + var s = i.getNextNDay(r.time, a), + l = i.dataToRect([s.time], !1); + (o[2 * s.day] = l.tl), (o[2 * s.day + 1] = l["horizontal" === n ? "bl" : "tr"]); + } + return o; + }), + (e.prototype._formatterLabel = function (t, e) { + return U(t) && t + ? ((n = t), + E(e, function (t, e) { + n = n.replace("{" + e + "}", i ? re(t) : t); + }), + n) + : X(t) + ? t(e) + : e.nameMap; + var n, i; + }), + (e.prototype._yearTextPositionControl = function (t, e, n, i, r) { + var o = e[0], + a = e[1], + s = ["center", "bottom"]; + "bottom" === i ? ((a += r), (s = ["center", "top"])) : "left" === i ? (o -= r) : "right" === i ? ((o += r), (s = ["center", "top"])) : (a -= r); + var l = 0; + return ("left" !== i && "right" !== i) || (l = Math.PI / 2), { rotation: l, x: o, y: a, style: { align: s[0], verticalAlign: s[1] } }; + }), + (e.prototype._renderYearText = function (t, e, n, i) { + var r = t.getModel("yearLabel"); + if (r.get("show")) { + var o = r.get("margin"), + a = r.get("position"); + a || (a = "horizontal" !== n ? "top" : "left"); + var s = [this._tlpoints[this._tlpoints.length - 1], this._blpoints[0]], + l = (s[0][0] + s[1][0]) / 2, + u = (s[0][1] + s[1][1]) / 2, + h = "horizontal" === n ? 0 : 1, + c = { top: [l, s[h][1]], bottom: [l, s[1 - h][1]], left: [s[1 - h][0], u], right: [s[h][0], u] }, + p = e.start.y; + +e.end.y > +e.start.y && (p = p + "-" + e.end.y); + var d = r.get("formatter"), + f = { start: e.start.y, end: e.end.y, nameMap: p }, + g = this._formatterLabel(d, f), + y = new Xs({ z2: 30, style: oc(r, { text: g }) }); + y.attr(this._yearTextPositionControl(y, c[a], n, a, o)), i.add(y); + } + }), + (e.prototype._monthTextPositionControl = function (t, e, n, i, r) { + var o = "left", + a = "top", + s = t[0], + l = t[1]; + return "horizontal" === n ? ((l += r), e && (o = "center"), "start" === i && (a = "bottom")) : ((s += r), e && (a = "middle"), "start" === i && (o = "right")), { x: s, y: l, align: o, verticalAlign: a }; + }), + (e.prototype._renderMonthText = function (t, e, n, i) { + var r = t.getModel("monthLabel"); + if (r.get("show")) { + var o = r.get("nameMap"), + a = r.get("margin"), + s = r.get("position"), + l = r.get("align"), + u = [this._tlpoints, this._blpoints]; + (o && !U(o)) || (o && (e = Vc(o) || e), (o = e.get(["time", "monthAbbr"]) || [])); + var h = "start" === s ? 0 : 1, + c = "horizontal" === n ? 0 : 1; + a = "start" === s ? -a : a; + for (var p = "center" === l, d = 0; d < u[h].length - 1; d++) { + var f = u[h][d].slice(), + g = this._firstDayOfMonth[d]; + if (p) { + var y = this._firstDayPoints[d]; + f[c] = (y[c] + u[0][d + 1][c]) / 2; + } + var v = r.get("formatter"), + m = o[+g.m - 1], + x = { yyyy: g.y, yy: (g.y + "").slice(2), MM: g.m, M: +g.m, nameMap: m }, + _ = this._formatterLabel(v, x), + b = new Xs({ z2: 30, style: A(oc(r, { text: _ }), this._monthTextPositionControl(f, p, n, s, a)) }); + i.add(b); + } + } + }), + (e.prototype._weekTextPositionControl = function (t, e, n, i, r) { + var o = "center", + a = "middle", + s = t[0], + l = t[1], + u = "start" === n; + return "horizontal" === e ? ((s = s + i + ((u ? 1 : -1) * r[0]) / 2), (o = u ? "right" : "left")) : ((l = l + i + ((u ? 1 : -1) * r[1]) / 2), (a = u ? "bottom" : "top")), { x: s, y: l, align: o, verticalAlign: a }; + }), + (e.prototype._renderWeekText = function (t, e, n, i, r) { + var o = t.getModel("dayLabel"); + if (o.get("show")) { + var a = t.coordinateSystem, + s = o.get("position"), + l = o.get("nameMap"), + u = o.get("margin"), + h = a.getFirstDayOfWeek(); + if (!l || U(l)) + l && (e = Vc(l) || e), + (l = + e.get(["time", "dayOfWeekShort"]) || + z(e.get(["time", "dayOfWeekAbbr"]), function (t) { + return t[0]; + })); + var c = a.getNextNDay(n.end.time, 7 - n.lweek).time, + p = [a.getCellWidth(), a.getCellHeight()]; + (u = $r(u, Math.min(p[1], p[0]))), "start" === s && ((c = a.getNextNDay(n.start.time, -(7 + n.fweek)).time), (u = -u)); + for (var d = 0; d < 7; d++) { + var f, + g = a.getNextNDay(c, d), + y = a.dataToRect([g.time], !1).center; + f = Math.abs((d + h) % 7); + var v = new Xs({ z2: 30, style: A(oc(o, { text: l[f] }), this._weekTextPositionControl(y, i, s, u, p)) }); + r.add(v); + } + } + }), + (e.type = "calendar"), + e + ); + })(Ag), + zE = 864e5, + VE = (function () { + function t(e, n, i) { + (this.type = "calendar"), (this.dimensions = t.dimensions), (this.getDimensionsInfo = t.getDimensionsInfo), (this._model = e); + } + return ( + (t.getDimensionsInfo = function () { + return [{ name: "time", type: "time" }, "value"]; + }), + (t.prototype.getRangeInfo = function () { + return this._rangeInfo; + }), + (t.prototype.getModel = function () { + return this._model; + }), + (t.prototype.getRect = function () { + return this._rect; + }), + (t.prototype.getCellWidth = function () { + return this._sw; + }), + (t.prototype.getCellHeight = function () { + return this._sh; + }), + (t.prototype.getOrient = function () { + return this._orient; + }), + (t.prototype.getFirstDayOfWeek = function () { + return this._firstDayOfWeek; + }), + (t.prototype.getDateInfo = function (t) { + var e = (t = uo(t)).getFullYear(), + n = t.getMonth() + 1, + i = n < 10 ? "0" + n : "" + n, + r = t.getDate(), + o = r < 10 ? "0" + r : "" + r, + a = t.getDay(); + return { y: e + "", m: i, d: o, day: (a = Math.abs((a + 7 - this.getFirstDayOfWeek()) % 7)), time: t.getTime(), formatedDate: e + "-" + i + "-" + o, date: t }; + }), + (t.prototype.getNextNDay = function (t, e) { + return 0 === (e = e || 0) || (t = new Date(this.getDateInfo(t).time)).setDate(t.getDate() + e), this.getDateInfo(t); + }), + (t.prototype.update = function (t, e) { + (this._firstDayOfWeek = +this._model.getModel("dayLabel").get("firstDay")), + (this._orient = this._model.get("orient")), + (this._lineWidth = this._model.getModel("itemStyle").getItemStyle().lineWidth || 0), + (this._rangeInfo = this._getRangeInfo(this._initRangeOption())); + var n = this._rangeInfo.weeks || 1, + i = ["width", "height"], + r = this._model.getCellSize().slice(), + o = this._model.getBoxLayoutParams(), + a = "horizontal" === this._orient ? [n, 7] : [7, n]; + E([0, 1], function (t) { + u(r, t) && (o[i[t]] = r[t] * a[t]); + }); + var s = { width: e.getWidth(), height: e.getHeight() }, + l = (this._rect = kp(o, s)); + function u(t, e) { + return null != t[e] && "auto" !== t[e]; + } + E([0, 1], function (t) { + u(r, t) || (r[t] = l[i[t]] / a[t]); + }), + (this._sw = r[0]), + (this._sh = r[1]); + }), + (t.prototype.dataToPoint = function (t, e) { + Y(t) && (t = t[0]), null == e && (e = !0); + var n = this.getDateInfo(t), + i = this._rangeInfo, + r = n.formatedDate; + if (e && !(n.time >= i.start.time && n.time < i.end.time + zE)) return [NaN, NaN]; + var o = n.day, + a = this._getRangeInfo([i.start.time, r]).nthWeek; + return "vertical" === this._orient ? [this._rect.x + o * this._sw + this._sw / 2, this._rect.y + a * this._sh + this._sh / 2] : [this._rect.x + a * this._sw + this._sw / 2, this._rect.y + o * this._sh + this._sh / 2]; + }), + (t.prototype.pointToData = function (t) { + var e = this.pointToDate(t); + return e && e.time; + }), + (t.prototype.dataToRect = function (t, e) { + var n = this.dataToPoint(t, e); + return { + contentShape: { x: n[0] - (this._sw - this._lineWidth) / 2, y: n[1] - (this._sh - this._lineWidth) / 2, width: this._sw - this._lineWidth, height: this._sh - this._lineWidth }, + center: n, + tl: [n[0] - this._sw / 2, n[1] - this._sh / 2], + tr: [n[0] + this._sw / 2, n[1] - this._sh / 2], + br: [n[0] + this._sw / 2, n[1] + this._sh / 2], + bl: [n[0] - this._sw / 2, n[1] + this._sh / 2], + }; + }), + (t.prototype.pointToDate = function (t) { + var e = Math.floor((t[0] - this._rect.x) / this._sw) + 1, + n = Math.floor((t[1] - this._rect.y) / this._sh) + 1, + i = this._rangeInfo.range; + return "vertical" === this._orient ? this._getDateByWeeksAndDay(n, e - 1, i) : this._getDateByWeeksAndDay(e, n - 1, i); + }), + (t.prototype.convertToPixel = function (t, e, n) { + var i = BE(e); + return i === this ? i.dataToPoint(n) : null; + }), + (t.prototype.convertFromPixel = function (t, e, n) { + var i = BE(e); + return i === this ? i.pointToData(n) : null; + }), + (t.prototype.containPoint = function (t) { + return console.warn("Not implemented."), !1; + }), + (t.prototype._initRangeOption = function () { + var t, + e = this._model.get("range"); + if ((Y(e) && 1 === e.length && (e = e[0]), Y(e))) t = e; + else { + var n = e.toString(); + if ((/^\d{4}$/.test(n) && (t = [n + "-01-01", n + "-12-31"]), /^\d{4}[\/|-]\d{1,2}$/.test(n))) { + var i = this.getDateInfo(n), + r = i.date; + r.setMonth(r.getMonth() + 1); + var o = this.getNextNDay(r, -1); + t = [i.formatedDate, o.formatedDate]; + } + /^\d{4}[\/|-]\d{1,2}[\/|-]\d{1,2}$/.test(n) && (t = [n, n]); + } + if (!t) return e; + var a = this._getRangeInfo(t); + return a.start.time > a.end.time && t.reverse(), t; + }), + (t.prototype._getRangeInfo = function (t) { + var e, + n = [this.getDateInfo(t[0]), this.getDateInfo(t[1])]; + n[0].time > n[1].time && ((e = !0), n.reverse()); + var i = Math.floor(n[1].time / zE) - Math.floor(n[0].time / zE) + 1, + r = new Date(n[0].time), + o = r.getDate(), + a = n[1].date.getDate(); + r.setDate(o + i - 1); + var s = r.getDate(); + if (s !== a) for (var l = r.getTime() - n[1].time > 0 ? 1 : -1; (s = r.getDate()) !== a && (r.getTime() - n[1].time) * l > 0; ) (i -= l), r.setDate(s - l); + var u = Math.floor((i + n[0].day + 6) / 7), + h = e ? 1 - u : u - 1; + return e && n.reverse(), { range: [n[0].formatedDate, n[1].formatedDate], start: n[0], end: n[1], allDay: i, weeks: u, nthWeek: h, fweek: n[0].day, lweek: n[1].day }; + }), + (t.prototype._getDateByWeeksAndDay = function (t, e, n) { + var i = this._getRangeInfo(n); + if (t > i.weeks || (0 === t && e < i.fweek) || (t === i.weeks && e > i.lweek)) return null; + var r = 7 * (t - 1) - i.fweek + e, + o = new Date(i.start.time); + return o.setDate(+i.start.d + r), this.getDateInfo(o); + }), + (t.create = function (e, n) { + var i = []; + return ( + e.eachComponent("calendar", function (r) { + var o = new t(r, e, n); + i.push(o), (r.coordinateSystem = o); + }), + e.eachSeries(function (t) { + "calendar" === t.get("coordinateSystem") && (t.coordinateSystem = i[t.get("calendarIndex") || 0]); + }), + i + ); + }), + (t.dimensions = ["time", "value"]), + t + ); + })(); + function BE(t) { + var e = t.calendarModel, + n = t.seriesModel; + return e ? e.coordinateSystem : n ? n.coordinateSystem : null; + } + function FE(t, e) { + var n; + return ( + E(e, function (e) { + null != t[e] && "auto" !== t[e] && (n = !0); + }), + n + ); + } + var GE = ["transition", "enterFrom", "leaveTo"], + WE = GE.concat(["enterAnimation", "updateAnimation", "leaveAnimation"]); + function HE(t, e, n) { + if ((n && (!t[n] && e[n] && (t[n] = {}), (t = t[n]), (e = e[n])), t && e)) + for (var i = n ? GE : WE, r = 0; r < i.length; r++) { + var o = i[r]; + null == t[o] && null != e[o] && (t[o] = e[o]); + } + } + var YE = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), (n.preventAutoZ = !0), n; + } + return ( + n(e, t), + (e.prototype.mergeOption = function (e, n) { + var i = this.option.elements; + (this.option.elements = null), t.prototype.mergeOption.call(this, e, n), (this.option.elements = i); + }), + (e.prototype.optionUpdated = function (t, e) { + var n = this.option, + i = (e ? n : t).elements, + r = (n.elements = e ? [] : n.elements), + o = []; + this._flatten(i, o, null); + var a = Lo(r, o, "normalMerge"), + s = (this._elOptionsToUpdate = []); + E( + a, + function (t, e) { + var n = t.newOption; + n && + (s.push(n), + (function (t, e) { + var n = t.existing; + if (((e.id = t.keyInfo.id), !e.type && n && (e.type = n.type), null == e.parentId)) { + var i = e.parentOption; + i ? (e.parentId = i.id) : n && (e.parentId = n.parentId); + } + e.parentOption = null; + })(t, n), + (function (t, e, n) { + var i = A({}, n), + r = t[e], + o = n.$action || "merge"; + "merge" === o + ? r + ? (C(r, i, !0), Op(r, i, { ignoreSize: !0 }), Np(n, r), HE(n, r), HE(n, r, "shape"), HE(n, r, "style"), HE(n, r, "extra"), (n.clipPath = r.clipPath)) + : (t[e] = i) + : "replace" === o + ? (t[e] = i) + : "remove" === o && r && (t[e] = null); + })(r, e, n), + (function (t, e) { + if (t && ((t.hv = e.hv = [FE(e, ["left", "right"]), FE(e, ["top", "bottom"])]), "group" === t.type)) { + var n = t, + i = e; + null == n.width && (n.width = i.width = 0), null == n.height && (n.height = i.height = 0); + } + })(r[e], n)); + }, + this + ), + (n.elements = B(r, function (t) { + return t && delete t.$action, null != t; + })); + }), + (e.prototype._flatten = function (t, e, n) { + E( + t, + function (t) { + if (t) { + n && (t.parentOption = n), e.push(t); + var i = t.children; + i && i.length && this._flatten(i, e, t), delete t.children; + } + }, + this + ); + }), + (e.prototype.useElOptionsToUpdate = function () { + var t = this._elOptionsToUpdate; + return (this._elOptionsToUpdate = null), t; + }), + (e.type = "graphic"), + (e.defaultOption = { elements: [] }), + e + ); + })(zp), + XE = { path: null, compoundPath: null, group: Br, image: Ns, text: Xs }, + UE = Vo(), + ZE = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.prototype.init = function () { + this._elMap = yt(); + }), + (e.prototype.render = function (t, e, n) { + t !== this._lastGraphicModel && this._clear(), (this._lastGraphicModel = t), this._updateElements(t), this._relocate(t, n); + }), + (e.prototype._updateElements = function (t) { + var e = t.useElOptionsToUpdate(); + if (e) { + var n = this._elMap, + i = this.group, + r = t.get("z"), + o = t.get("zlevel"); + E(e, function (e) { + var a = Ro(e.id, null), + s = null != a ? n.get(a) : null, + l = Ro(e.parentId, null), + u = null != l ? n.get(l) : i, + h = e.type, + c = e.style; + "text" === h && c && e.hv && e.hv[1] && (c.textVerticalAlign = c.textBaseline = c.verticalAlign = c.align = null); + var p = e.textContent, + d = e.textConfig; + if (c && eR(c, h, !!d, !!p)) { + var f = nR(c, h, !0); + !d && f.textConfig && (d = e.textConfig = f.textConfig), !p && f.textContent && (p = f.textContent); + } + var g = (function (t) { + return ( + (t = A({}, t)), + E(["id", "parentId", "$action", "hv", "bounding", "textContent", "clipPath"].concat(Tp), function (e) { + delete t[e]; + }), + t + ); + })(e); + var y = e.$action || "merge", + v = "merge" === y, + m = "replace" === y; + if (v) { + var x = s; + (T = !s) ? (x = qE(a, u, e.type, n)) : (x && (UE(x).isNew = !1), SR(x)), x && (cR(x, g, t, { isInit: T }), $E(x, e, r, o)); + } else if (m) { + KE(s, e, n, t); + var _ = qE(a, u, e.type, n); + _ && (cR(_, g, t, { isInit: !0 }), $E(_, e, r, o)); + } else "remove" === y && (pR(s, e), KE(s, e, n, t)); + var b = n.get(a); + if (b && p) + if (v) { + var w = b.getTextContent(); + w ? w.attr(p) : b.setTextContent(new Xs(p)); + } else m && b.setTextContent(new Xs(p)); + if (b) { + var S = e.clipPath; + if (S) { + var M = S.type, + I = void 0, + T = !1; + if (v) { + var C = b.getClipPath(); + I = (T = !C || UE(C).type !== M) ? jE(M) : C; + } else m && ((T = !0), (I = jE(M))); + b.setClipPath(I), cR(I, S, t, { isInit: T }), MR(I, S.keyframeAnimation, t); + } + var D = UE(b); + b.setTextConfig(d), + (D.option = e), + (function (t, e, n) { + var i = rl(t).eventData; + t.silent || t.ignore || i || (i = rl(t).eventData = { componentType: "graphic", componentIndex: e.componentIndex, name: t.name }); + i && (i.info = n.info); + })(b, t, e), + Kh({ el: b, componentModel: t, itemName: b.name, itemTooltipOption: e.tooltip }), + MR(b, e.keyframeAnimation, t); + } + }); + } + }), + (e.prototype._relocate = function (t, e) { + for (var n = t.option.elements, i = this.group, r = this._elMap, o = e.getWidth(), a = e.getHeight(), s = ["x", "y"], l = 0; l < n.length; l++) { + if ((f = null != (d = Ro((p = n[l]).id, null)) ? r.get(d) : null) && f.isGroup) { + var u = (g = f.parent) === i, + h = UE(f), + c = UE(g); + (h.width = $r(h.option.width, u ? o : c.width) || 0), (h.height = $r(h.option.height, u ? a : c.height) || 0); + } + } + for (l = n.length - 1; l >= 0; l--) { + var p, d, f; + if ((f = null != (d = Ro((p = n[l]).id, null)) ? r.get(d) : null)) { + var g = f.parent, + y = ((c = UE(g)), {}), + v = Lp(f, p, g === i ? { width: o, height: a } : { width: c.width, height: c.height }, null, { hv: p.hv, boundingMode: p.bounding }, y); + if (!UE(f).isNew && v) { + for (var m = p.transition, x = {}, _ = 0; _ < s.length; _++) { + var b = s[_], + w = y[b]; + m && (fR(m) || P(m, b) >= 0) ? (x[b] = w) : (f[b] = w); + } + vh(f, x, t, 0); + } else f.attr(y); + } + } + }), + (e.prototype._clear = function () { + var t = this, + e = this._elMap; + e.each(function (n) { + KE(n, UE(n).option, e, t._lastGraphicModel); + }), + (this._elMap = yt()); + }), + (e.prototype.dispose = function () { + this._clear(); + }), + (e.type = "graphic"), + e + ); + })(Ag); + function jE(t) { + var e = _t(XE, t) ? XE[t] : Lh(t); + var n = new e({}); + return (UE(n).type = t), n; + } + function qE(t, e, n, i) { + var r = jE(n); + return e.add(r), i.set(t, r), (UE(r).id = t), (UE(r).isNew = !0), r; + } + function KE(t, e, n, i) { + t && + t.parent && + ("group" === t.type && + t.traverse(function (t) { + KE(t, e, n, i); + }), + dR(t, e, i), + n.removeKey(UE(t).id)); + } + function $E(t, e, n, i) { + t.isGroup || + E( + [ + ["cursor", Da.prototype.cursor], + ["zlevel", i || 0], + ["z", n || 0], + ["z2", 0], + ], + function (n) { + var i = n[0]; + _t(e, i) ? (t[i] = rt(e[i], n[1])) : null == t[i] && (t[i] = n[1]); + } + ), + E(G(e), function (n) { + if (0 === n.indexOf("on")) { + var i = e[n]; + t[n] = X(i) ? i : null; + } + }), + _t(e, "draggable") && (t.draggable = e.draggable), + null != e.name && (t.name = e.name), + null != e.id && (t.id = e.id); + } + var JE = ["x", "y", "radius", "angle", "single"], + QE = ["cartesian2d", "polar", "singleAxis"]; + function tz(t) { + return t + "Axis"; + } + function ez(t, e) { + var n, + i = yt(), + r = [], + o = yt(); + t.eachComponent({ mainType: "dataZoom", query: e }, function (t) { + o.get(t.uid) || s(t); + }); + do { + (n = !1), t.eachComponent("dataZoom", a); + } while (n); + function a(t) { + !o.get(t.uid) && + (function (t) { + var e = !1; + return ( + t.eachTargetAxis(function (t, n) { + var r = i.get(t); + r && r[n] && (e = !0); + }), + e + ); + })(t) && + (s(t), (n = !0)); + } + function s(t) { + o.set(t.uid, !0), + r.push(t), + t.eachTargetAxis(function (t, e) { + (i.get(t) || i.set(t, []))[e] = !0; + }); + } + return r; + } + function nz(t) { + var e = t.ecModel, + n = { infoList: [], infoMap: yt() }; + return ( + t.eachTargetAxis(function (t, i) { + var r = e.getComponent(tz(t), i); + if (r) { + var o = r.getCoordSysModel(); + if (o) { + var a = o.uid, + s = n.infoMap.get(a); + s || ((s = { model: o, axisModels: [] }), n.infoList.push(s), n.infoMap.set(a, s)), s.axisModels.push(r); + } + } + }), + n + ); + } + var iz = (function () { + function t() { + (this.indexList = []), (this.indexMap = []); + } + return ( + (t.prototype.add = function (t) { + this.indexMap[t] || (this.indexList.push(t), (this.indexMap[t] = !0)); + }), + t + ); + })(), + rz = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), (n._autoThrottle = !0), (n._noTarget = !0), (n._rangePropMode = ["percent", "percent"]), n; + } + return ( + n(e, t), + (e.prototype.init = function (t, e, n) { + var i = oz(t); + (this.settledOption = i), this.mergeDefaultAndTheme(t, n), this._doInit(i); + }), + (e.prototype.mergeOption = function (t) { + var e = oz(t); + C(this.option, t, !0), C(this.settledOption, e, !0), this._doInit(e); + }), + (e.prototype._doInit = function (t) { + var e = this.option; + this._setDefaultThrottle(t), this._updateRangeUse(t); + var n = this.settledOption; + E( + [ + ["start", "startValue"], + ["end", "endValue"], + ], + function (t, i) { + "value" === this._rangePropMode[i] && (e[t[0]] = n[t[0]] = null); + }, + this + ), + this._resetTarget(); + }), + (e.prototype._resetTarget = function () { + var t = this.get("orient", !0), + e = (this._targetAxisInfoMap = yt()); + this._fillSpecifiedTargetAxis(e) ? (this._orient = t || this._makeAutoOrientByTargetAxis()) : ((this._orient = t || "horizontal"), this._fillAutoTargetAxisByOrient(e, this._orient)), + (this._noTarget = !0), + e.each(function (t) { + t.indexList.length && (this._noTarget = !1); + }, this); + }), + (e.prototype._fillSpecifiedTargetAxis = function (t) { + var e = !1; + return ( + E( + JE, + function (n) { + var i = this.getReferringComponents(tz(n), Ho); + if (i.specified) { + e = !0; + var r = new iz(); + E(i.models, function (t) { + r.add(t.componentIndex); + }), + t.set(n, r); + } + }, + this + ), + e + ); + }), + (e.prototype._fillAutoTargetAxisByOrient = function (t, e) { + var n = this.ecModel, + i = !0; + if (i) { + var r = "vertical" === e ? "y" : "x"; + o(n.findComponents({ mainType: r + "Axis" }), r); + } + i && + o( + n.findComponents({ + mainType: "singleAxis", + filter: function (t) { + return t.get("orient", !0) === e; + }, + }), + "single" + ); + function o(e, n) { + var r = e[0]; + if (r) { + var o = new iz(); + if ((o.add(r.componentIndex), t.set(n, o), (i = !1), "x" === n || "y" === n)) { + var a = r.getReferringComponents("grid", Wo).models[0]; + a && + E(e, function (t) { + r.componentIndex !== t.componentIndex && a === t.getReferringComponents("grid", Wo).models[0] && o.add(t.componentIndex); + }); + } + } + } + i && + E( + JE, + function (e) { + if (i) { + var r = n.findComponents({ + mainType: tz(e), + filter: function (t) { + return "category" === t.get("type", !0); + }, + }); + if (r[0]) { + var o = new iz(); + o.add(r[0].componentIndex), t.set(e, o), (i = !1); + } + } + }, + this + ); + }), + (e.prototype._makeAutoOrientByTargetAxis = function () { + var t; + return ( + this.eachTargetAxis(function (e) { + !t && (t = e); + }, this), + "y" === t ? "vertical" : "horizontal" + ); + }), + (e.prototype._setDefaultThrottle = function (t) { + if ((t.hasOwnProperty("throttle") && (this._autoThrottle = !1), this._autoThrottle)) { + var e = this.ecModel.option; + this.option.throttle = e.animation && e.animationDurationUpdate > 0 ? 100 : 20; + } + }), + (e.prototype._updateRangeUse = function (t) { + var e = this._rangePropMode, + n = this.get("rangeMode"); + E( + [ + ["start", "startValue"], + ["end", "endValue"], + ], + function (i, r) { + var o = null != t[i[0]], + a = null != t[i[1]]; + o && !a ? (e[r] = "percent") : !o && a ? (e[r] = "value") : n ? (e[r] = n[r]) : o && (e[r] = "percent"); + } + ); + }), + (e.prototype.noTarget = function () { + return this._noTarget; + }), + (e.prototype.getFirstTargetAxisModel = function () { + var t; + return ( + this.eachTargetAxis(function (e, n) { + null == t && (t = this.ecModel.getComponent(tz(e), n)); + }, this), + t + ); + }), + (e.prototype.eachTargetAxis = function (t, e) { + this._targetAxisInfoMap.each(function (n, i) { + E(n.indexList, function (n) { + t.call(e, i, n); + }); + }); + }), + (e.prototype.getAxisProxy = function (t, e) { + var n = this.getAxisModel(t, e); + if (n) return n.__dzAxisProxy; + }), + (e.prototype.getAxisModel = function (t, e) { + var n = this._targetAxisInfoMap.get(t); + if (n && n.indexMap[e]) return this.ecModel.getComponent(tz(t), e); + }), + (e.prototype.setRawRange = function (t) { + var e = this.option, + n = this.settledOption; + E( + [ + ["start", "startValue"], + ["end", "endValue"], + ], + function (i) { + (null == t[i[0]] && null == t[i[1]]) || ((e[i[0]] = n[i[0]] = t[i[0]]), (e[i[1]] = n[i[1]] = t[i[1]])); + }, + this + ), + this._updateRangeUse(t); + }), + (e.prototype.setCalculatedRange = function (t) { + var e = this.option; + E(["start", "startValue", "end", "endValue"], function (n) { + e[n] = t[n]; + }); + }), + (e.prototype.getPercentRange = function () { + var t = this.findRepresentativeAxisProxy(); + if (t) return t.getDataPercentWindow(); + }), + (e.prototype.getValueRange = function (t, e) { + if (null != t || null != e) return this.getAxisProxy(t, e).getDataValueWindow(); + var n = this.findRepresentativeAxisProxy(); + return n ? n.getDataValueWindow() : void 0; + }), + (e.prototype.findRepresentativeAxisProxy = function (t) { + if (t) return t.__dzAxisProxy; + for (var e, n = this._targetAxisInfoMap.keys(), i = 0; i < n.length; i++) + for (var r = n[i], o = this._targetAxisInfoMap.get(r), a = 0; a < o.indexList.length; a++) { + var s = this.getAxisProxy(r, o.indexList[a]); + if (s.hostedBy(this)) return s; + e || (e = s); + } + return e; + }), + (e.prototype.getRangePropMode = function () { + return this._rangePropMode.slice(); + }), + (e.prototype.getOrient = function () { + return this._orient; + }), + (e.type = "dataZoom"), + (e.dependencies = ["xAxis", "yAxis", "radiusAxis", "angleAxis", "singleAxis", "series", "toolbox"]), + (e.defaultOption = { z: 4, filterMode: "filter", start: 0, end: 100 }), + e + ); + })(zp); + function oz(t) { + var e = {}; + return ( + E(["start", "end", "startValue", "endValue", "throttle"], function (n) { + t.hasOwnProperty(n) && (e[n] = t[n]); + }), + e + ); + } + var az = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return n(e, t), (e.type = "dataZoom.select"), e; + })(rz), + sz = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.prototype.render = function (t, e, n, i) { + (this.dataZoomModel = t), (this.ecModel = e), (this.api = n); + }), + (e.type = "dataZoom"), + e + ); + })(Ag), + lz = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return n(e, t), (e.type = "dataZoom.select"), e; + })(sz), + uz = E, + hz = Qr, + cz = (function () { + function t(t, e, n, i) { + (this._dimName = t), (this._axisIndex = e), (this.ecModel = i), (this._dataZoomModel = n); + } + return ( + (t.prototype.hostedBy = function (t) { + return this._dataZoomModel === t; + }), + (t.prototype.getDataValueWindow = function () { + return this._valueWindow.slice(); + }), + (t.prototype.getDataPercentWindow = function () { + return this._percentWindow.slice(); + }), + (t.prototype.getTargetSeriesModels = function () { + var t = []; + return ( + this.ecModel.eachSeries(function (e) { + if ( + (function (t) { + var e = t.get("coordinateSystem"); + return P(QE, e) >= 0; + })(e) + ) { + var n = tz(this._dimName), + i = e.getReferringComponents(n, Wo).models[0]; + i && this._axisIndex === i.componentIndex && t.push(e); + } + }, this), + t + ); + }), + (t.prototype.getAxisModel = function () { + return this.ecModel.getComponent(this._dimName + "Axis", this._axisIndex); + }), + (t.prototype.getMinMaxSpan = function () { + return T(this._minMaxSpan); + }), + (t.prototype.calculateDataWindow = function (t) { + var e, + n = this._dataExtent, + i = this.getAxisModel().axis.scale, + r = this._dataZoomModel.getRangePropMode(), + o = [0, 100], + a = [], + s = []; + uz(["start", "end"], function (l, u) { + var h = t[l], + c = t[l + "Value"]; + "percent" === r[u] ? (null == h && (h = o[u]), (c = i.parse(Kr(h, o, n)))) : ((e = !0), (h = Kr((c = null == c ? n[u] : i.parse(c)), n, o))), (s[u] = null == c || isNaN(c) ? n[u] : c), (a[u] = null == h || isNaN(h) ? o[u] : h); + }), + hz(s), + hz(a); + var l = this._minMaxSpan; + function u(t, e, n, r, o) { + var a = o ? "Span" : "ValueSpan"; + Nk(0, t, n, "all", l["min" + a], l["max" + a]); + for (var s = 0; s < 2; s++) (e[s] = Kr(t[s], n, r, !0)), o && (e[s] = i.parse(e[s])); + } + return e ? u(s, a, n, o, !1) : u(a, s, o, n, !0), { valueWindow: s, percentWindow: a }; + }), + (t.prototype.reset = function (t) { + if (t === this._dataZoomModel) { + var e = this.getTargetSeriesModels(); + (this._dataExtent = (function (t, e, n) { + var i = [1 / 0, -1 / 0]; + uz(n, function (t) { + !(function (t, e, n) { + e && + E(C_(e, n), function (n) { + var i = e.getApproximateExtent(n); + i[0] < t[0] && (t[0] = i[0]), i[1] > t[1] && (t[1] = i[1]); + }); + })(i, t.getData(), e); + }); + var r = t.getAxisModel(), + o = v_(r.axis.scale, r, i).calculate(); + return [o.min, o.max]; + })(this, this._dimName, e)), + this._updateMinMaxSpan(); + var n = this.calculateDataWindow(t.settledOption); + (this._valueWindow = n.valueWindow), (this._percentWindow = n.percentWindow), this._setAxisModel(); + } + }), + (t.prototype.filterData = function (t, e) { + if (t === this._dataZoomModel) { + var n = this._dimName, + i = this.getTargetSeriesModels(), + r = t.get("filterMode"), + o = this._valueWindow; + "none" !== r && + uz(i, function (t) { + var e = t.getData(), + i = e.mapDimensionsAll(n); + if (i.length) { + if ("weakFilter" === r) { + var a = e.getStore(), + s = z( + i, + function (t) { + return e.getDimensionIndex(t); + }, + e + ); + e.filterSelf(function (t) { + for (var e, n, r, l = 0; l < i.length; l++) { + var u = a.get(s[l], t), + h = !isNaN(u), + c = u < o[0], + p = u > o[1]; + if (h && !c && !p) return !0; + h && (r = !0), c && (e = !0), p && (n = !0); + } + return r && e && n; + }); + } else + uz(i, function (n) { + if ("empty" === r) + t.setData( + (e = e.map(n, function (t) { + return (function (t) { + return t >= o[0] && t <= o[1]; + })(t) + ? t + : NaN; + })) + ); + else { + var i = {}; + (i[n] = o), e.selectRange(i); + } + }); + uz(i, function (t) { + e.setApproximateExtent(o, t); + }); + } + }); + } + }), + (t.prototype._updateMinMaxSpan = function () { + var t = (this._minMaxSpan = {}), + e = this._dataZoomModel, + n = this._dataExtent; + uz( + ["min", "max"], + function (i) { + var r = e.get(i + "Span"), + o = e.get(i + "ValueSpan"); + null != o && (o = this.getAxisModel().axis.scale.parse(o)), null != o ? (r = Kr(n[0] + o, n, [0, 100], !0)) : null != r && (o = Kr(r, [0, 100], n, !0) - n[0]), (t[i + "Span"] = r), (t[i + "ValueSpan"] = o); + }, + this + ); + }), + (t.prototype._setAxisModel = function () { + var t = this.getAxisModel(), + e = this._percentWindow, + n = this._valueWindow; + if (e) { + var i = no(n, [0, 500]); + i = Math.min(i, 20); + var r = t.axis.scale.rawExtentInfo; + 0 !== e[0] && r.setDeterminedMinMax("min", +n[0].toFixed(i)), 100 !== e[1] && r.setDeterminedMinMax("max", +n[1].toFixed(i)), r.freeze(); + } + }), + t + ); + })(); + var pz = { + getTargetSeries: function (t) { + function e(e) { + t.eachComponent("dataZoom", function (n) { + n.eachTargetAxis(function (i, r) { + var o = t.getComponent(tz(i), r); + e(i, r, o, n); + }); + }); + } + e(function (t, e, n, i) { + n.__dzAxisProxy = null; + }); + var n = []; + e(function (e, i, r, o) { + r.__dzAxisProxy || ((r.__dzAxisProxy = new cz(e, i, o, t)), n.push(r.__dzAxisProxy)); + }); + var i = yt(); + return ( + E(n, function (t) { + E(t.getTargetSeriesModels(), function (t) { + i.set(t.uid, t); + }); + }), + i + ); + }, + overallReset: function (t, e) { + t.eachComponent("dataZoom", function (t) { + t.eachTargetAxis(function (e, n) { + t.getAxisProxy(e, n).reset(t); + }), + t.eachTargetAxis(function (n, i) { + t.getAxisProxy(n, i).filterData(t, e); + }); + }), + t.eachComponent("dataZoom", function (t) { + var e = t.findRepresentativeAxisProxy(); + if (e) { + var n = e.getDataPercentWindow(), + i = e.getDataValueWindow(); + t.setCalculatedRange({ start: n[0], end: n[1], startValue: i[0], endValue: i[1] }); + } + }); + }, + }; + var dz = !1; + function fz(t) { + dz || + ((dz = !0), + t.registerProcessor(t.PRIORITY.PROCESSOR.FILTER, pz), + (function (t) { + t.registerAction("dataZoom", function (t, e) { + E(ez(e, t), function (e) { + e.setRawRange({ start: t.start, end: t.end, startValue: t.startValue, endValue: t.endValue }); + }); + }); + })(t), + t.registerSubTypeDefaulter("dataZoom", function () { + return "slider"; + })); + } + function gz(t) { + t.registerComponentModel(az), t.registerComponentView(lz), fz(t); + } + var yz = function () {}, + vz = {}; + function mz(t, e) { + vz[t] = e; + } + function xz(t) { + return vz[t]; + } + var _z = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.prototype.optionUpdated = function () { + t.prototype.optionUpdated.apply(this, arguments); + var e = this.ecModel; + E(this.option.feature, function (t, n) { + var i = xz(n); + i && (i.getDefaultOption && (i.defaultOption = i.getDefaultOption(e)), C(t, i.defaultOption)); + }); + }), + (e.type = "toolbox"), + (e.layoutMode = { type: "box", ignoreSize: !0 }), + (e.defaultOption = { + show: !0, + z: 6, + orient: "horizontal", + left: "right", + top: "top", + backgroundColor: "transparent", + borderColor: "#ccc", + borderRadius: 0, + borderWidth: 0, + padding: 5, + itemSize: 15, + itemGap: 8, + showTitle: !0, + iconStyle: { borderColor: "#666", color: "none" }, + emphasis: { iconStyle: { borderColor: "#3E98C5" } }, + tooltip: { show: !1, position: "bottom" }, + }), + e + ); + })(zp); + function bz(t, e) { + var n = vp(e.get("padding")), + i = e.getItemStyle(["color", "opacity"]); + return (i.fill = e.get("backgroundColor")), (t = new Ws({ shape: { x: t.x - n[3], y: t.y - n[0], width: t.width + n[1] + n[3], height: t.height + n[0] + n[2], r: e.get("borderRadius") }, style: i, silent: !0, z2: -1 })); + } + var wz = (function (t) { + function e() { + return (null !== t && t.apply(this, arguments)) || this; + } + return ( + n(e, t), + (e.prototype.render = function (t, e, n, i) { + var r = this.group; + if ((r.removeAll(), t.get("show"))) { + var o = +t.get("itemSize"), + a = "vertical" === t.get("orient"), + s = t.get("feature") || {}, + l = this._features || (this._features = {}), + u = []; + E(s, function (t, e) { + u.push(e); + }), + new Gm(this._featureNames || [], u).add(h).update(h).remove(H(h, null)).execute(), + (this._featureNames = u), + (function (t, e, n) { + var i = e.getBoxLayoutParams(), + r = e.get("padding"), + o = { width: n.getWidth(), height: n.getHeight() }, + a = kp(i, o, r); + Ap(e.get("orient"), t, e.get("itemGap"), a.width, a.height), Lp(t, i, o, r); + })(r, t, n), + r.add(bz(r.getBoundingRect(), t)), + a || + r.eachChild(function (t) { + var e = t.__title, + i = t.ensureState("emphasis"), + a = i.textConfig || (i.textConfig = {}), + s = t.getTextContent(), + l = s && s.ensureState("emphasis"); + if (l && !X(l) && e) { + var u = l.style || (l.style = {}), + h = Sr(e, Xs.makeFont(u)), + c = t.x + r.x, + p = !1; + t.y + r.y + o + h.height > n.getHeight() && ((a.position = "top"), (p = !0)); + var d = p ? -5 - h.height : o + 10; + c + h.width / 2 > n.getWidth() ? ((a.position = ["100%", d]), (u.align = "right")) : c - h.width / 2 < 0 && ((a.position = [0, d]), (u.align = "left")); + } + }); + } + function h(h, c) { + var p, + d = u[h], + f = u[c], + g = s[d], + y = new Cc(g, t, t.ecModel); + if ((i && null != i.newTitle && i.featureName === d && (g.title = i.newTitle), d && !f)) { + if ( + (function (t) { + return 0 === t.indexOf("my"); + })(d) + ) + p = { onclick: y.option.onclick, featureName: d }; + else { + var v = xz(d); + if (!v) return; + p = new v(); + } + l[d] = p; + } else if (!(p = l[f])) return; + (p.uid = Ac("toolbox-feature")), (p.model = y), (p.ecModel = e), (p.api = n); + var m = p instanceof yz; + d || !f + ? !y.get("show") || (m && p.unusable) + ? m && p.remove && p.remove(e, n) + : (!(function (i, s, l) { + var u, + h, + c = i.getModel("iconStyle"), + p = i.getModel(["emphasis", "iconStyle"]), + d = s instanceof yz && s.getIcons ? s.getIcons() : i.get("icon"), + f = i.get("title") || {}; + U(d) ? ((u = {})[l] = d) : (u = d); + U(f) ? ((h = {})[l] = f) : (h = f); + var g = (i.iconPaths = {}); + E(u, function (l, u) { + var d = Uh(l, {}, { x: -o / 2, y: -o / 2, width: o, height: o }); + d.setStyle(c.getItemStyle()), (d.ensureState("emphasis").style = p.getItemStyle()); + var f = new Xs({ + style: { + text: h[u], + align: p.get("textAlign"), + borderRadius: p.get("textBorderRadius"), + padding: p.get("textPadding"), + fill: null, + font: cc({ fontStyle: p.get("textFontStyle"), fontFamily: p.get("textFontFamily"), fontSize: p.get("textFontSize"), fontWeight: p.get("textFontWeight") }, e), + }, + ignore: !0, + }); + d.setTextContent(f), + Kh({ el: d, componentModel: t, itemName: u, formatterParamsExtra: { title: h[u] } }), + (d.__title = h[u]), + d + .on("mouseover", function () { + var e = p.getItemStyle(), + i = a ? (null == t.get("right") && "right" !== t.get("left") ? "right" : "left") : null == t.get("bottom") && "bottom" !== t.get("top") ? "bottom" : "top"; + f.setStyle({ fill: p.get("textFill") || e.fill || e.stroke || "#000", backgroundColor: p.get("textBackgroundColor") }), + d.setTextConfig({ position: p.get("textPosition") || i }), + (f.ignore = !t.get("showTitle")), + n.enterEmphasis(this); + }) + .on("mouseout", function () { + "emphasis" !== i.get(["iconStatus", u]) && n.leaveEmphasis(this), f.hide(); + }), + ("emphasis" === i.get(["iconStatus", u]) ? Ol : Rl)(d), + r.add(d), + d.on("click", W(s.onclick, s, e, n, u)), + (g[u] = d); + }); + })(y, p, d), + (y.setIconStatus = function (t, e) { + var n = this.option, + i = this.iconPaths; + (n.iconStatus = n.iconStatus || {}), (n.iconStatus[t] = e), i[t] && ("emphasis" === e ? Ol : Rl)(i[t]); + }), + p instanceof yz && p.render && p.render(y, e, n, i)) + : m && p.dispose && p.dispose(e, n); + } + }), + (e.prototype.updateView = function (t, e, n, i) { + E(this._features, function (t) { + t instanceof yz && t.updateView && t.updateView(t.model, e, n, i); + }); + }), + (e.prototype.remove = function (t, e) { + E(this._features, function (n) { + n instanceof yz && n.remove && n.remove(t, e); + }), + this.group.removeAll(); + }), + (e.prototype.dispose = function (t, e) { + E(this._features, function (n) { + n instanceof yz && n.dispose && n.dispose(t, e); + }); + }), + (e.type = "toolbox"), + e + ); + })(Ag); + var Sz = (function (t) { + function e() { + return (null !== t && t.apply(this, arguments)) || this; + } + return ( + n(e, t), + (e.prototype.onclick = function (t, e) { + var n = this.model, + i = n.get("name") || t.get("title.0.text") || "echarts", + o = "svg" === e.getZr().painter.getType(), + a = o ? "svg" : n.get("type", !0) || "png", + s = e.getConnectedDataURL({ + type: a, + backgroundColor: n.get("backgroundColor", !0) || t.get("backgroundColor") || "#fff", + connectedBackgroundColor: n.get("connectedBackgroundColor"), + excludeComponents: n.get("excludeComponents"), + pixelRatio: n.get("pixelRatio"), + }), + l = r.browser; + if (X(MouseEvent) && (l.newEdge || (!l.ie && !l.edge))) { + var u = document.createElement("a"); + (u.download = i + "." + a), (u.target = "_blank"), (u.href = s); + var h = new MouseEvent("click", { view: document.defaultView, bubbles: !0, cancelable: !1 }); + u.dispatchEvent(h); + } else if (window.navigator.msSaveOrOpenBlob || o) { + var c = s.split(","), + p = c[0].indexOf("base64") > -1, + d = o ? decodeURIComponent(c[1]) : c[1]; + p && (d = window.atob(d)); + var f = i + "." + a; + if (window.navigator.msSaveOrOpenBlob) { + for (var g = d.length, y = new Uint8Array(g); g--; ) y[g] = d.charCodeAt(g); + var v = new Blob([y]); + window.navigator.msSaveOrOpenBlob(v, f); + } else { + var m = document.createElement("iframe"); + document.body.appendChild(m); + var x = m.contentWindow, + _ = x.document; + _.open("image/svg+xml", "replace"), _.write(d), _.close(), x.focus(), _.execCommand("SaveAs", !0, f), document.body.removeChild(m); + } + } else { + var b = n.get("lang"), + w = '', + S = window.open(); + S.document.write(w), (S.document.title = i); + } + }), + (e.getDefaultOption = function (t) { + return { + show: !0, + icon: "M4.7,22.9L29.3,45.5L54.7,23.4M4.6,43.6L4.6,58L53.8,58L53.8,43.6M29.2,45.1L29.2,0", + title: t.getLocaleModel().get(["toolbox", "saveAsImage", "title"]), + type: "png", + connectedBackgroundColor: "#fff", + name: "", + excludeComponents: ["toolbox"], + lang: t.getLocaleModel().get(["toolbox", "saveAsImage", "lang"]), + }; + }), + e + ); + })(yz), + Mz = "__ec_magicType_stack__", + Iz = [["line", "bar"], ["stack"]], + Tz = (function (t) { + function e() { + return (null !== t && t.apply(this, arguments)) || this; + } + return ( + n(e, t), + (e.prototype.getIcons = function () { + var t = this.model, + e = t.get("icon"), + n = {}; + return ( + E(t.get("type"), function (t) { + e[t] && (n[t] = e[t]); + }), + n + ); + }), + (e.getDefaultOption = function (t) { + return { + show: !0, + type: [], + icon: { + line: "M4.1,28.9h7.1l9.3-22l7.4,38l9.7-19.7l3,12.8h14.9M4.1,58h51.4", + bar: "M6.7,22.9h10V48h-10V22.9zM24.9,13h10v35h-10V13zM43.2,2h10v46h-10V2zM3.1,58h53.7", + stack: + "M8.2,38.4l-8.4,4.1l30.6,15.3L60,42.5l-8.1-4.1l-21.5,11L8.2,38.4z M51.9,30l-8.1,4.2l-13.4,6.9l-13.9-6.9L8.2,30l-8.4,4.2l8.4,4.2l22.2,11l21.5-11l8.1-4.2L51.9,30z M51.9,21.7l-8.1,4.2L35.7,30l-5.3,2.8L24.9,30l-8.4-4.1l-8.3-4.2l-8.4,4.2L8.2,30l8.3,4.2l13.9,6.9l13.4-6.9l8.1-4.2l8.1-4.1L51.9,21.7zM30.4,2.2L-0.2,17.5l8.4,4.1l8.3,4.2l8.4,4.2l5.5,2.7l5.3-2.7l8.1-4.2l8.1-4.2l8.1-4.1L30.4,2.2z", + }, + title: t.getLocaleModel().get(["toolbox", "magicType", "title"]), + option: {}, + seriesIndex: {}, + }; + }), + (e.prototype.onclick = function (t, e, n) { + var i = this.model, + r = i.get(["seriesIndex", n]); + if (Cz[n]) { + var o, + a = { series: [] }; + E(Iz, function (t) { + P(t, n) >= 0 && + E(t, function (t) { + i.setIconStatus(t, "normal"); + }); + }), + i.setIconStatus(n, "emphasis"), + t.eachComponent({ mainType: "series", query: null == r ? null : { seriesIndex: r } }, function (t) { + var e = t.subType, + r = t.id, + o = Cz[n](e, r, t, i); + o && (k(o, t.option), a.series.push(o)); + var s = t.coordinateSystem; + if (s && "cartesian2d" === s.type && ("line" === n || "bar" === n)) { + var l = s.getAxesByScale("ordinal")[0]; + if (l) { + var u = l.dim + "Axis", + h = t.getReferringComponents(u, Wo).models[0].componentIndex; + a[u] = a[u] || []; + for (var c = 0; c <= h; c++) a[u][h] = a[u][h] || {}; + a[u][h].boundaryGap = "bar" === n; + } + } + }); + var s = n; + "stack" === n && ((o = C({ stack: i.option.title.tiled, tiled: i.option.title.stack }, i.option.title)), "emphasis" !== i.get(["iconStatus", n]) && (s = "tiled")), + e.dispatchAction({ type: "changeMagicType", currentType: s, newOption: a, newTitle: o, featureName: "magicType" }); + } + }), + e + ); + })(yz), + Cz = { + line: function (t, e, n, i) { + if ("bar" === t) return C({ id: e, type: "line", data: n.get("data"), stack: n.get("stack"), markPoint: n.get("markPoint"), markLine: n.get("markLine") }, i.get(["option", "line"]) || {}, !0); + }, + bar: function (t, e, n, i) { + if ("line" === t) return C({ id: e, type: "bar", data: n.get("data"), stack: n.get("stack"), markPoint: n.get("markPoint"), markLine: n.get("markLine") }, i.get(["option", "bar"]) || {}, !0); + }, + stack: function (t, e, n, i) { + var r = n.get("stack") === Mz; + if ("line" === t || "bar" === t) return i.setIconStatus("stack", r ? "normal" : "emphasis"), C({ id: e, stack: r ? "" : Mz }, i.get(["option", "stack"]) || {}, !0); + }, + }; + Cm({ type: "changeMagicType", event: "magicTypeChanged", update: "prepareAndUpdate" }, function (t, e) { + e.mergeOption(t.newOption); + }); + var Dz = new Array(60).join("-"), + Az = "\t"; + function kz(t) { + return t.replace(/^\s\s*/, "").replace(/\s\s*$/, ""); + } + var Lz = new RegExp("[\t]+", "g"); + function Pz(t, e) { + var n = t.split(new RegExp("\n*" + Dz + "\n*", "g")), + i = { series: [] }; + return ( + E(n, function (t, n) { + if ( + (function (t) { + if (t.slice(0, t.indexOf("\n")).indexOf(Az) >= 0) return !0; + })(t) + ) { + var r = (function (t) { + for ( + var e = t.split(/\n+/g), + n = [], + i = z(kz(e.shift()).split(Lz), function (t) { + return { name: t, data: [] }; + }), + r = 0; + r < e.length; + r++ + ) { + var o = kz(e[r]).split(Lz); + n.push(o.shift()); + for (var a = 0; a < o.length; a++) i[a] && (i[a].data[r] = o[a]); + } + return { series: i, categories: n }; + })(t), + o = e[n], + a = o.axisDim + "Axis"; + o && ((i[a] = i[a] || []), (i[a][o.axisIndex] = { data: r.categories }), (i.series = i.series.concat(r.series))); + } else { + r = (function (t) { + for (var e = t.split(/\n+/g), n = kz(e.shift()), i = [], r = 0; r < e.length; r++) { + var o = kz(e[r]); + if (o) { + var a = o.split(Lz), + s = "", + l = void 0, + u = !1; + isNaN(a[0]) ? ((u = !0), (s = a[0]), (a = a.slice(1)), (i[r] = { name: s, value: [] }), (l = i[r].value)) : (l = i[r] = []); + for (var h = 0; h < a.length; h++) l.push(+a[h]); + 1 === l.length && (u ? (i[r].value = l[0]) : (i[r] = l[0])); + } + } + return { name: n, data: i }; + })(t); + i.series.push(r); + } + }), + i + ); + } + var Oz = (function (t) { + function e() { + return (null !== t && t.apply(this, arguments)) || this; + } + return ( + n(e, t), + (e.prototype.onclick = function (t, e) { + setTimeout(function () { + e.dispatchAction({ type: "hideTip" }); + }); + var n = e.getDom(), + i = this.model; + this._dom && n.removeChild(this._dom); + var r = document.createElement("div"); + (r.style.cssText = "position:absolute;top:0;bottom:0;left:0;right:0;padding:5px"), (r.style.backgroundColor = i.get("backgroundColor") || "#fff"); + var o = document.createElement("h4"), + a = i.get("lang") || []; + (o.innerHTML = a[0] || i.get("title")), (o.style.cssText = "margin:10px 20px"), (o.style.color = i.get("textColor")); + var s = document.createElement("div"), + l = document.createElement("textarea"); + s.style.cssText = "overflow:auto"; + var u = i.get("optionToContent"), + h = i.get("contentToOption"), + c = (function (t) { + var e, + n, + i, + r = (function (t) { + var e = {}, + n = [], + i = []; + return ( + t.eachRawSeries(function (t) { + var r = t.coordinateSystem; + if (!r || ("cartesian2d" !== r.type && "polar" !== r.type)) n.push(t); + else { + var o = r.getBaseAxis(); + if ("category" === o.type) { + var a = o.dim + "_" + o.index; + e[a] || ((e[a] = { categoryAxis: o, valueAxis: r.getOtherAxis(o), series: [] }), i.push({ axisDim: o.dim, axisIndex: o.index })), e[a].series.push(t); + } else n.push(t); + } + }), + { seriesGroupByCategoryAxis: e, other: n, meta: i } + ); + })(t); + return { + value: B( + [ + ((n = r.seriesGroupByCategoryAxis), + (i = []), + E(n, function (t, e) { + var n = t.categoryAxis, + r = t.valueAxis.dim, + o = [" "].concat( + z(t.series, function (t) { + return t.name; + }) + ), + a = [n.model.getCategories()]; + E(t.series, function (t) { + var e = t.getRawData(); + a.push( + t.getRawData().mapArray(e.mapDimension(r), function (t) { + return t; + }) + ); + }); + for (var s = [o.join(Az)], l = 0; l < a[0].length; l++) { + for (var u = [], h = 0; h < a.length; h++) u.push(a[h][l]); + s.push(u.join(Az)); + } + i.push(s.join("\n")); + }), + i.join("\n\n" + Dz + "\n\n")), + ((e = r.other), + z(e, function (t) { + var e = t.getRawData(), + n = [t.name], + i = []; + return ( + e.each(e.dimensions, function () { + for (var t = arguments.length, r = arguments[t - 1], o = e.getName(r), a = 0; a < t - 1; a++) i[a] = arguments[a]; + n.push((o ? o + Az : "") + i.join(Az)); + }), + n.join("\n") + ); + }).join("\n\n" + Dz + "\n\n")), + ], + function (t) { + return !!t.replace(/[\n\t\s]/g, ""); + } + ).join("\n\n" + Dz + "\n\n"), + meta: r.meta, + }; + })(t); + if (X(u)) { + var p = u(e.getOption()); + U(p) ? (s.innerHTML = p) : J(p) && s.appendChild(p); + } else { + l.readOnly = i.get("readOnly"); + var d = l.style; + (d.cssText = "display:block;width:100%;height:100%;font-family:monospace;font-size:14px;line-height:1.6rem;resize:none;box-sizing:border-box;outline:none"), + (d.color = i.get("textColor")), + (d.borderColor = i.get("textareaBorderColor")), + (d.backgroundColor = i.get("textareaColor")), + (l.value = c.value), + s.appendChild(l); + } + var f = c.meta, + g = document.createElement("div"); + g.style.cssText = "position:absolute;bottom:5px;left:0;right:0"; + var y = "float:right;margin-right:20px;border:none;cursor:pointer;padding:2px 5px;font-size:12px;border-radius:3px", + v = document.createElement("div"), + m = document.createElement("div"); + (y += ";background-color:" + i.get("buttonColor")), (y += ";color:" + i.get("buttonTextColor")); + var x = this; + function _() { + n.removeChild(r), (x._dom = null); + } + pe(v, "click", _), + pe(m, "click", function () { + if ((null == h && null != u) || (null != h && null == u)) _(); + else { + var t; + try { + t = X(h) ? h(s, e.getOption()) : Pz(l.value, f); + } catch (t) { + throw (_(), new Error("Data view format error " + t)); + } + t && e.dispatchAction({ type: "changeDataView", newOption: t }), _(); + } + }), + (v.innerHTML = a[1]), + (m.innerHTML = a[2]), + (m.style.cssText = v.style.cssText = y), + !i.get("readOnly") && g.appendChild(m), + g.appendChild(v), + r.appendChild(o), + r.appendChild(s), + r.appendChild(g), + (s.style.height = n.clientHeight - 80 + "px"), + n.appendChild(r), + (this._dom = r); + }), + (e.prototype.remove = function (t, e) { + this._dom && e.getDom().removeChild(this._dom); + }), + (e.prototype.dispose = function (t, e) { + this.remove(t, e); + }), + (e.getDefaultOption = function (t) { + return { + show: !0, + readOnly: !1, + optionToContent: null, + contentToOption: null, + icon: "M17.5,17.3H33 M17.5,17.3H33 M45.4,29.5h-28 M11.5,2v56H51V14.8L38.4,2H11.5z M38.4,2.2v12.7H51 M45.4,41.7h-28", + title: t.getLocaleModel().get(["toolbox", "dataView", "title"]), + lang: t.getLocaleModel().get(["toolbox", "dataView", "lang"]), + backgroundColor: "#fff", + textColor: "#000", + textareaColor: "#fff", + textareaBorderColor: "#333", + buttonColor: "#c23531", + buttonTextColor: "#fff", + }; + }), + e + ); + })(yz); + function Rz(t, e) { + return z(t, function (t, n) { + var i = e && e[n]; + if (q(i) && !Y(i)) { + (q(t) && !Y(t)) || (t = { value: t }); + var r = null != i.name && null == t.name; + return (t = k(t, i)), r && delete t.name, t; + } + return t; + }); + } + Cm({ type: "changeDataView", event: "dataViewChanged", update: "prepareAndUpdate" }, function (t, e) { + var n = []; + E(t.newOption.series, function (t) { + var i = e.getSeriesByName(t.name)[0]; + if (i) { + var r = i.get("data"); + n.push({ name: t.name, data: Rz(t.data, r) }); + } else n.push(A({ type: "scatter" }, t)); + }), + e.mergeOption(k({ series: n }, t.newOption)); + }); + var Nz = E, + Ez = Vo(); + function zz(t) { + var e = Ez(t); + return e.snapshots || (e.snapshots = [{}]), e.snapshots; + } + var Vz = (function (t) { + function e() { + return (null !== t && t.apply(this, arguments)) || this; + } + return ( + n(e, t), + (e.prototype.onclick = function (t, e) { + !(function (t) { + Ez(t).snapshots = null; + })(t), + e.dispatchAction({ type: "restore", from: this.uid }); + }), + (e.getDefaultOption = function (t) { + return { + show: !0, + icon: "M3.8,33.4 M47,18.9h9.8V8.7 M56.3,20.1 C52.1,9,40.5,0.6,26.8,2.1C12.6,3.7,1.6,16.2,2.1,30.6 M13,41.1H3.1v10.2 M3.7,39.9c4.2,11.1,15.8,19.5,29.5,18 c14.2-1.6,25.2-14.1,24.7-28.5", + title: t.getLocaleModel().get(["toolbox", "restore", "title"]), + }; + }), + e + ); + })(yz); + Cm({ type: "restore", event: "restore", update: "prepareAndUpdate" }, function (t, e) { + e.resetOption("recreate"); + }); + var Bz = ["grid", "xAxis", "yAxis", "geo", "graph", "polar", "radiusAxis", "angleAxis", "bmap"], + Fz = (function () { + function t(t, e, n) { + var i = this; + this._targetInfoList = []; + var r = Wz(e, t); + E(Hz, function (t, e) { + (!n || !n.include || P(n.include, e) >= 0) && t(r, i._targetInfoList); + }); + } + return ( + (t.prototype.setOutputRanges = function (t, e) { + return ( + this.matchOutputRanges(t, e, function (t, e, n) { + if (((t.coordRanges || (t.coordRanges = [])).push(e), !t.coordRange)) { + t.coordRange = e; + var i = Uz[t.brushType](0, n, e); + t.__rangeOffset = { offset: jz[t.brushType](i.values, t.range, [1, 1]), xyMinMax: i.xyMinMax }; + } + }), + t + ); + }), + (t.prototype.matchOutputRanges = function (t, e, n) { + E( + t, + function (t) { + var i = this.findTargetInfo(t, e); + i && + !0 !== i && + E(i.coordSyses, function (i) { + var r = Uz[t.brushType](1, i, t.range, !0); + n(t, r.values, i, e); + }); + }, + this + ); + }), + (t.prototype.setInputRanges = function (t, e) { + E( + t, + function (t) { + var n, + i, + r, + o, + a, + s = this.findTargetInfo(t, e); + if (((t.range = t.range || []), s && !0 !== s)) { + t.panelId = s.panelId; + var l = Uz[t.brushType](0, s.coordSys, t.coordRange), + u = t.__rangeOffset; + t.range = u ? jz[t.brushType](l.values, u.offset, ((n = l.xyMinMax), (i = u.xyMinMax), (r = Kz(n)), (o = Kz(i)), (a = [r[0] / o[0], r[1] / o[1]]), isNaN(a[0]) && (a[0] = 1), isNaN(a[1]) && (a[1] = 1), a)) : l.values; + } + }, + this + ); + }), + (t.prototype.makePanelOpts = function (t, e) { + return z(this._targetInfoList, function (n) { + var i = n.getPanelRect(); + return { panelId: n.panelId, defaultBrushType: e ? e(n) : null, clipPath: zL(i), isTargetByCursor: BL(i, t, n.coordSysModel), getLinearBrushOtherExtent: VL(i) }; + }); + }), + (t.prototype.controlSeries = function (t, e, n) { + var i = this.findTargetInfo(t, n); + return !0 === i || (i && P(i.coordSyses, e.coordinateSystem) >= 0); + }), + (t.prototype.findTargetInfo = function (t, e) { + for (var n = this._targetInfoList, i = Wz(e, t), r = 0; r < n.length; r++) { + var o = n[r], + a = t.panelId; + if (a) { + if (o.panelId === a) return o; + } else for (var s = 0; s < Yz.length; s++) if (Yz[s](i, o)) return o; + } + return !0; + }), + t + ); + })(); + function Gz(t) { + return t[0] > t[1] && t.reverse(), t; + } + function Wz(t, e) { + return Fo(t, e, { includeMainTypes: Bz }); + } + var Hz = { + grid: function (t, e) { + var n = t.xAxisModels, + i = t.yAxisModels, + r = t.gridModels, + o = yt(), + a = {}, + s = {}; + (n || i || r) && + (E(n, function (t) { + var e = t.axis.grid.model; + o.set(e.id, e), (a[e.id] = !0); + }), + E(i, function (t) { + var e = t.axis.grid.model; + o.set(e.id, e), (s[e.id] = !0); + }), + E(r, function (t) { + o.set(t.id, t), (a[t.id] = !0), (s[t.id] = !0); + }), + o.each(function (t) { + var r = t.coordinateSystem, + o = []; + E(r.getCartesians(), function (t, e) { + (P(n, t.getAxis("x").model) >= 0 || P(i, t.getAxis("y").model) >= 0) && o.push(t); + }), + e.push({ panelId: "grid--" + t.id, gridModel: t, coordSysModel: t, coordSys: o[0], coordSyses: o, getPanelRect: Xz.grid, xAxisDeclared: a[t.id], yAxisDeclared: s[t.id] }); + })); + }, + geo: function (t, e) { + E(t.geoModels, function (t) { + var n = t.coordinateSystem; + e.push({ panelId: "geo--" + t.id, geoModel: t, coordSysModel: t, coordSys: n, coordSyses: [n], getPanelRect: Xz.geo }); + }); + }, + }, + Yz = [ + function (t, e) { + var n = t.xAxisModel, + i = t.yAxisModel, + r = t.gridModel; + return !r && n && (r = n.axis.grid.model), !r && i && (r = i.axis.grid.model), r && r === e.gridModel; + }, + function (t, e) { + var n = t.geoModel; + return n && n === e.geoModel; + }, + ], + Xz = { + grid: function () { + return this.coordSys.master.getRect().clone(); + }, + geo: function () { + var t = this.coordSys, + e = t.getBoundingRect().clone(); + return e.applyTransform(Bh(t)), e; + }, + }, + Uz = { + lineX: H(Zz, 0), + lineY: H(Zz, 1), + rect: function (t, e, n, i) { + var r = t ? e.pointToData([n[0][0], n[1][0]], i) : e.dataToPoint([n[0][0], n[1][0]], i), + o = t ? e.pointToData([n[0][1], n[1][1]], i) : e.dataToPoint([n[0][1], n[1][1]], i), + a = [Gz([r[0], o[0]]), Gz([r[1], o[1]])]; + return { values: a, xyMinMax: a }; + }, + polygon: function (t, e, n, i) { + var r = [ + [1 / 0, -1 / 0], + [1 / 0, -1 / 0], + ]; + return { + values: z(n, function (n) { + var o = t ? e.pointToData(n, i) : e.dataToPoint(n, i); + return (r[0][0] = Math.min(r[0][0], o[0])), (r[1][0] = Math.min(r[1][0], o[1])), (r[0][1] = Math.max(r[0][1], o[0])), (r[1][1] = Math.max(r[1][1], o[1])), o; + }), + xyMinMax: r, + }; + }, + }; + function Zz(t, e, n, i) { + var r = n.getAxis(["x", "y"][t]), + o = Gz( + z([0, 1], function (t) { + return e ? r.coordToData(r.toLocalCoord(i[t]), !0) : r.toGlobalCoord(r.dataToCoord(i[t])); + }) + ), + a = []; + return (a[t] = o), (a[1 - t] = [NaN, NaN]), { values: o, xyMinMax: a }; + } + var jz = { + lineX: H(qz, 0), + lineY: H(qz, 1), + rect: function (t, e, n) { + return [ + [t[0][0] - n[0] * e[0][0], t[0][1] - n[0] * e[0][1]], + [t[1][0] - n[1] * e[1][0], t[1][1] - n[1] * e[1][1]], + ]; + }, + polygon: function (t, e, n) { + return z(t, function (t, i) { + return [t[0] - n[0] * e[i][0], t[1] - n[1] * e[i][1]]; + }); + }, + }; + function qz(t, e, n, i) { + return [e[0] - i[t] * n[0], e[1] - i[t] * n[1]]; + } + function Kz(t) { + return t ? [t[0][1] - t[0][0], t[1][1] - t[1][0]] : [NaN, NaN]; + } + var $z, + Jz, + Qz = E, + tV = Io + "toolbox-dataZoom_", + eV = (function (t) { + function e() { + return (null !== t && t.apply(this, arguments)) || this; + } + return ( + n(e, t), + (e.prototype.render = function (t, e, n, i) { + this._brushController || ((this._brushController = new aL(n.getZr())), this._brushController.on("brush", W(this._onBrush, this)).mount()), + (function (t, e, n, i, r) { + var o = n._isZoomActive; + i && "takeGlobalCursor" === i.type && (o = "dataZoomSelect" === i.key && i.dataZoomSelectActive); + (n._isZoomActive = o), t.setIconStatus("zoom", o ? "emphasis" : "normal"); + var a = new Fz(iV(t), e, { include: ["grid"] }), + s = a.makePanelOpts(r, function (t) { + return t.xAxisDeclared && !t.yAxisDeclared ? "lineX" : !t.xAxisDeclared && t.yAxisDeclared ? "lineY" : "rect"; + }); + n._brushController.setPanels(s).enableBrush(!(!o || !s.length) && { brushType: "auto", brushStyle: t.getModel("brushStyle").getItemStyle() }); + })(t, e, this, i, n), + (function (t, e) { + t.setIconStatus( + "back", + (function (t) { + return zz(t).length; + })(e) > 1 + ? "emphasis" + : "normal" + ); + })(t, e); + }), + (e.prototype.onclick = function (t, e, n) { + nV[n].call(this); + }), + (e.prototype.remove = function (t, e) { + this._brushController && this._brushController.unmount(); + }), + (e.prototype.dispose = function (t, e) { + this._brushController && this._brushController.dispose(); + }), + (e.prototype._onBrush = function (t) { + var e = t.areas; + if (t.isEnd && e.length) { + var n = {}, + i = this.ecModel; + this._brushController.updateCovers([]), + new Fz(iV(this.model), i, { include: ["grid"] }).matchOutputRanges(e, i, function (t, e, n) { + if ("cartesian2d" === n.type) { + var i = t.brushType; + "rect" === i ? (r("x", n, e[0]), r("y", n, e[1])) : r({ lineX: "x", lineY: "y" }[i], n, e); + } + }), + (function (t, e) { + var n = zz(t); + Nz(e, function (e, i) { + for (var r = n.length - 1; r >= 0 && !n[r][i]; r--); + if (r < 0) { + var o = t.queryComponents({ mainType: "dataZoom", subType: "select", id: i })[0]; + if (o) { + var a = o.getPercentRange(); + n[0][i] = { dataZoomId: i, start: a[0], end: a[1] }; + } + } + }), + n.push(e); + })(i, n), + this._dispatchZoomAction(n); + } + function r(t, e, r) { + var o = e.getAxis(t), + a = o.model, + s = (function (t, e, n) { + var i; + return ( + n.eachComponent({ mainType: "dataZoom", subType: "select" }, function (n) { + n.getAxisModel(t, e.componentIndex) && (i = n); + }), + i + ); + })(t, a, i), + l = s.findRepresentativeAxisProxy(a).getMinMaxSpan(); + (null == l.minValueSpan && null == l.maxValueSpan) || (r = Nk(0, r.slice(), o.scale.getExtent(), 0, l.minValueSpan, l.maxValueSpan)), s && (n[s.id] = { dataZoomId: s.id, startValue: r[0], endValue: r[1] }); + } + }), + (e.prototype._dispatchZoomAction = function (t) { + var e = []; + Qz(t, function (t, n) { + e.push(T(t)); + }), + e.length && this.api.dispatchAction({ type: "dataZoom", from: this.uid, batch: e }); + }), + (e.getDefaultOption = function (t) { + return { + show: !0, + filterMode: "filter", + icon: { zoom: "M0,13.5h26.9 M13.5,26.9V0 M32.1,13.5H58V58H13.5 V32.1", back: "M22,1.4L9.9,13.5l12.3,12.3 M10.3,13.5H54.9v44.6 H10.3v-26" }, + title: t.getLocaleModel().get(["toolbox", "dataZoom", "title"]), + brushStyle: { borderWidth: 0, color: "rgba(210,219,238,0.2)" }, + }; + }), + e + ); + })(yz), + nV = { + zoom: function () { + var t = !this._isZoomActive; + this.api.dispatchAction({ type: "takeGlobalCursor", key: "dataZoomSelect", dataZoomSelectActive: t }); + }, + back: function () { + this._dispatchZoomAction( + (function (t) { + var e = zz(t), + n = e[e.length - 1]; + e.length > 1 && e.pop(); + var i = {}; + return ( + Nz(n, function (t, n) { + for (var r = e.length - 1; r >= 0; r--) + if ((t = e[r][n])) { + i[n] = t; + break; + } + }), + i + ); + })(this.ecModel) + ); + }, + }; + function iV(t) { + var e = { xAxisIndex: t.get("xAxisIndex", !0), yAxisIndex: t.get("yAxisIndex", !0), xAxisId: t.get("xAxisId", !0), yAxisId: t.get("yAxisId", !0) }; + return null == e.xAxisIndex && null == e.xAxisId && (e.xAxisIndex = "all"), null == e.yAxisIndex && null == e.yAxisId && (e.yAxisIndex = "all"), e; + } + ($z = "dataZoom"), + (Jz = function (t) { + var e = t.getComponent("toolbox", 0), + n = ["feature", "dataZoom"]; + if (e && null != e.get(n)) { + var i = e.getModel(n), + r = [], + o = Fo(t, iV(i)); + return ( + Qz(o.xAxisModels, function (t) { + return a(t, "xAxis", "xAxisIndex"); + }), + Qz(o.yAxisModels, function (t) { + return a(t, "yAxis", "yAxisIndex"); + }), + r + ); + } + function a(t, e, n) { + var o = t.componentIndex, + a = { type: "select", $fromToolbox: !0, filterMode: i.get("filterMode", !0) || "filter", id: tV + e + o }; + (a[n] = o), r.push(a); + } + }), + lt(null == od.get($z) && Jz), + od.set($z, Jz); + var rV = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.type = "tooltip"), + (e.dependencies = ["axisPointer"]), + (e.defaultOption = { + z: 60, + show: !0, + showContent: !0, + trigger: "item", + triggerOn: "mousemove|click", + alwaysShowContent: !1, + displayMode: "single", + renderMode: "auto", + confine: null, + showDelay: 0, + hideDelay: 100, + transitionDuration: 0.4, + enterable: !1, + backgroundColor: "#fff", + shadowBlur: 10, + shadowColor: "rgba(0, 0, 0, .2)", + shadowOffsetX: 1, + shadowOffsetY: 2, + borderRadius: 4, + borderWidth: 1, + padding: null, + extraCssText: "", + axisPointer: { type: "line", axis: "auto", animation: "auto", animationDurationUpdate: 200, animationEasingUpdate: "exponentialOut", crossStyle: { color: "#999", width: 1, type: "dashed", textStyle: {} } }, + textStyle: { color: "#666", fontSize: 14 }, + }), + e + ); + })(zp); + function oV(t) { + var e = t.get("confine"); + return null != e ? !!e : "richText" === t.get("renderMode"); + } + function aV(t) { + if (r.domSupported) for (var e = document.documentElement.style, n = 0, i = t.length; n < i; n++) if (t[n] in e) return t[n]; + } + var sV = aV(["transform", "webkitTransform", "OTransform", "MozTransform", "msTransform"]); + function lV(t, e) { + if (!t) return e; + e = yp(e, !0); + var n = t.indexOf(e); + return (t = -1 === n ? e : "-" + t.slice(0, n) + "-" + e).toLowerCase(); + } + var uV = lV(aV(["webkitTransition", "transition", "OTransition", "MozTransition", "msTransition"]), "transition"), + hV = lV(sV, "transform"), + cV = "position:absolute;display:block;border-style:solid;white-space:nowrap;z-index:9999999;" + (r.transform3dSupported ? "will-change:transform;" : ""); + function pV(t, e, n) { + var i = t.toFixed(0) + "px", + o = e.toFixed(0) + "px"; + if (!r.transformSupported) + return n + ? "top:" + o + ";left:" + i + ";" + : [ + ["top", o], + ["left", i], + ]; + var a = r.transform3dSupported, + s = "translate" + (a ? "3d" : "") + "(" + i + "," + o + (a ? ",0" : "") + ")"; + return n + ? "top:0;left:0;" + hV + ":" + s + ";" + : [ + ["top", 0], + ["left", 0], + [sV, s], + ]; + } + function dV(t, e, n) { + var i = [], + o = t.get("transitionDuration"), + a = t.get("backgroundColor"), + s = t.get("shadowBlur"), + l = t.get("shadowColor"), + u = t.get("shadowOffsetX"), + h = t.get("shadowOffsetY"), + c = t.getModel("textStyle"), + p = gg(t, "html"), + d = u + "px " + h + "px " + s + "px " + l; + return ( + i.push("box-shadow:" + d), + e && + o && + i.push( + (function (t, e) { + var n = "cubic-bezier(0.23,1,0.32,1)", + i = " " + t / 2 + "s " + n, + o = "opacity" + i + ",visibility" + i; + return e || ((i = " " + t + "s " + n), (o += r.transformSupported ? "," + hV + i : ",left" + i + ",top" + i)), uV + ":" + o; + })(o, n) + ), + a && i.push("background-color:" + a), + E(["width", "color", "radius"], function (e) { + var n = "border-" + e, + r = yp(n), + o = t.get(r); + null != o && i.push(n + ":" + o + ("color" === e ? "" : "px")); + }), + i.push( + (function (t) { + var e = [], + n = t.get("fontSize"), + i = t.getTextColor(); + i && e.push("color:" + i), e.push("font:" + t.getFont()), n && e.push("line-height:" + Math.round((3 * n) / 2) + "px"); + var r = t.get("textShadowColor"), + o = t.get("textShadowBlur") || 0, + a = t.get("textShadowOffsetX") || 0, + s = t.get("textShadowOffsetY") || 0; + return ( + r && o && e.push("text-shadow:" + a + "px " + s + "px " + o + "px " + r), + E(["decoration", "align"], function (n) { + var i = t.get(n); + i && e.push("text-" + n + ":" + i); + }), + e.join(";") + ); + })(c) + ), + null != p && i.push("padding:" + vp(p).join("px ") + "px"), + i.join(";") + ";" + ); + } + function fV(t, e, n, i, r) { + var o = e && e.painter; + if (n) { + var a = o && o.getViewportRoot(); + a && + (function (t, e, n, i, r) { + te(Qt, e, i, r, !0) && te(t, n, Qt[0], Qt[1]); + })(t, a, n, i, r); + } else { + (t[0] = i), (t[1] = r); + var s = o && o.getViewportRootOffset(); + s && ((t[0] += s.offsetLeft), (t[1] += s.offsetTop)); + } + (t[2] = t[0] / e.getWidth()), (t[3] = t[1] / e.getHeight()); + } + var gV = (function () { + function t(t, e) { + if (((this._show = !1), (this._styleCoord = [0, 0, 0, 0]), (this._enterable = !0), (this._alwaysShowContent = !1), (this._firstShow = !0), (this._longHide = !0), r.wxa)) return null; + var n = document.createElement("div"); + (n.domBelongToZr = !0), (this.el = n); + var i = (this._zr = t.getZr()), + o = e.appendTo, + a = o && (U(o) ? document.querySelector(o) : J(o) ? o : X(o) && o(t.getDom())); + fV(this._styleCoord, i, a, t.getWidth() / 2, t.getHeight() / 2), (a || t.getDom()).appendChild(n), (this._api = t), (this._container = a); + var s = this; + (n.onmouseenter = function () { + s._enterable && (clearTimeout(s._hideTimeout), (s._show = !0)), (s._inContent = !0); + }), + (n.onmousemove = function (t) { + if (((t = t || window.event), !s._enterable)) { + var e = i.handler; + ce(i.painter.getViewportRoot(), t, !0), e.dispatch("mousemove", t); + } + }), + (n.onmouseleave = function () { + (s._inContent = !1), s._enterable && s._show && s.hideLater(s._hideDelay); + }); + } + return ( + (t.prototype.update = function (t) { + if (!this._container) { + var e = this._api.getDom(), + n = ((o = "position"), (a = (r = e).currentStyle || (document.defaultView && document.defaultView.getComputedStyle(r))) ? (o ? a[o] : a) : null), + i = e.style; + "absolute" !== i.position && "absolute" !== n && (i.position = "relative"); + } + var r, + o, + a, + s = t.get("alwaysShowContent"); + s && this._moveIfResized(), (this._alwaysShowContent = s), (this.el.className = t.get("className") || ""); + }), + (t.prototype.show = function (t, e) { + clearTimeout(this._hideTimeout), clearTimeout(this._longHideTimeout); + var n = this.el, + i = n.style, + r = this._styleCoord; + n.innerHTML + ? (i.cssText = cV + dV(t, !this._firstShow, this._longHide) + pV(r[0], r[1], !0) + "border-color:" + Sp(e) + ";" + (t.get("extraCssText") || "") + ";pointer-events:" + (this._enterable ? "auto" : "none")) + : (i.display = "none"), + (this._show = !0), + (this._firstShow = !1), + (this._longHide = !1); + }), + (t.prototype.setContent = function (t, e, n, i, r) { + var o = this.el; + if (null != t) { + var a = ""; + if ( + (U(r) && + "item" === n.get("trigger") && + !oV(n) && + (a = (function (t, e, n) { + if (!U(n) || "inside" === n) return ""; + var i = t.get("backgroundColor"), + r = t.get("borderWidth"); + e = Sp(e); + var o, + a, + s = "left" === (o = n) ? "right" : "right" === o ? "left" : "top" === o ? "bottom" : "top", + l = Math.max(1.5 * Math.round(r), 6), + u = "", + h = hV + ":"; + P(["left", "right"], s) > -1 + ? ((u += "top:50%"), (h += "translateY(-50%) rotate(" + (a = "left" === s ? -225 : -45) + "deg)")) + : ((u += "left:50%"), (h += "translateX(-50%) rotate(" + (a = "top" === s ? 225 : 45) + "deg)")); + var c = (a * Math.PI) / 180, + p = l + r, + d = p * Math.abs(Math.cos(c)) + p * Math.abs(Math.sin(c)), + f = e + " solid " + r + "px;"; + return ( + '
    ' + ); + })(n, i, r)), + U(t)) + ) + o.innerHTML = t + a; + else if (t) { + (o.innerHTML = ""), Y(t) || (t = [t]); + for (var s = 0; s < t.length; s++) J(t[s]) && t[s].parentNode !== o && o.appendChild(t[s]); + if (a && o.childNodes.length) { + var l = document.createElement("div"); + (l.innerHTML = a), o.appendChild(l); + } + } + } else o.innerHTML = ""; + }), + (t.prototype.setEnterable = function (t) { + this._enterable = t; + }), + (t.prototype.getSize = function () { + var t = this.el; + return [t.offsetWidth, t.offsetHeight]; + }), + (t.prototype.moveTo = function (t, e) { + var n = this._styleCoord; + if ((fV(n, this._zr, this._container, t, e), null != n[0] && null != n[1])) { + var i = this.el.style; + E(pV(n[0], n[1]), function (t) { + i[t[0]] = t[1]; + }); + } + }), + (t.prototype._moveIfResized = function () { + var t = this._styleCoord[2], + e = this._styleCoord[3]; + this.moveTo(t * this._zr.getWidth(), e * this._zr.getHeight()); + }), + (t.prototype.hide = function () { + var t = this, + e = this.el.style; + (e.visibility = "hidden"), + (e.opacity = "0"), + r.transform3dSupported && (e.willChange = ""), + (this._show = !1), + (this._longHideTimeout = setTimeout(function () { + return (t._longHide = !0); + }, 500)); + }), + (t.prototype.hideLater = function (t) { + !this._show || (this._inContent && this._enterable) || this._alwaysShowContent || (t ? ((this._hideDelay = t), (this._show = !1), (this._hideTimeout = setTimeout(W(this.hide, this), t))) : this.hide()); + }), + (t.prototype.isShow = function () { + return this._show; + }), + (t.prototype.dispose = function () { + clearTimeout(this._hideTimeout), clearTimeout(this._longHideTimeout); + var t = this.el.parentNode; + t && t.removeChild(this.el), (this.el = this._container = null); + }), + t + ); + })(), + yV = (function () { + function t(t) { + (this._show = !1), (this._styleCoord = [0, 0, 0, 0]), (this._alwaysShowContent = !1), (this._enterable = !0), (this._zr = t.getZr()), xV(this._styleCoord, this._zr, t.getWidth() / 2, t.getHeight() / 2); + } + return ( + (t.prototype.update = function (t) { + var e = t.get("alwaysShowContent"); + e && this._moveIfResized(), (this._alwaysShowContent = e); + }), + (t.prototype.show = function () { + this._hideTimeout && clearTimeout(this._hideTimeout), this.el.show(), (this._show = !0); + }), + (t.prototype.setContent = function (t, e, n, i, r) { + var o = this; + q(t) && wo(""), this.el && this._zr.remove(this.el); + var a = n.getModel("textStyle"); + (this.el = new Xs({ + style: { + rich: e.richTextStyles, + text: t, + lineHeight: 22, + borderWidth: 1, + borderColor: i, + textShadowColor: a.get("textShadowColor"), + fill: n.get(["textStyle", "color"]), + padding: gg(n, "richText"), + verticalAlign: "top", + align: "left", + }, + z: n.get("z"), + })), + E(["backgroundColor", "borderRadius", "shadowColor", "shadowBlur", "shadowOffsetX", "shadowOffsetY"], function (t) { + o.el.style[t] = n.get(t); + }), + E(["textShadowBlur", "textShadowOffsetX", "textShadowOffsetY"], function (t) { + o.el.style[t] = a.get(t) || 0; + }), + this._zr.add(this.el); + var s = this; + this.el.on("mouseover", function () { + s._enterable && (clearTimeout(s._hideTimeout), (s._show = !0)), (s._inContent = !0); + }), + this.el.on("mouseout", function () { + s._enterable && s._show && s.hideLater(s._hideDelay), (s._inContent = !1); + }); + }), + (t.prototype.setEnterable = function (t) { + this._enterable = t; + }), + (t.prototype.getSize = function () { + var t = this.el, + e = this.el.getBoundingRect(), + n = mV(t.style); + return [e.width + n.left + n.right, e.height + n.top + n.bottom]; + }), + (t.prototype.moveTo = function (t, e) { + var n = this.el; + if (n) { + var i = this._styleCoord; + xV(i, this._zr, t, e), (t = i[0]), (e = i[1]); + var r = n.style, + o = vV(r.borderWidth || 0), + a = mV(r); + (n.x = t + o + a.left), (n.y = e + o + a.top), n.markRedraw(); + } + }), + (t.prototype._moveIfResized = function () { + var t = this._styleCoord[2], + e = this._styleCoord[3]; + this.moveTo(t * this._zr.getWidth(), e * this._zr.getHeight()); + }), + (t.prototype.hide = function () { + this.el && this.el.hide(), (this._show = !1); + }), + (t.prototype.hideLater = function (t) { + !this._show || (this._inContent && this._enterable) || this._alwaysShowContent || (t ? ((this._hideDelay = t), (this._show = !1), (this._hideTimeout = setTimeout(W(this.hide, this), t))) : this.hide()); + }), + (t.prototype.isShow = function () { + return this._show; + }), + (t.prototype.dispose = function () { + this._zr.remove(this.el); + }), + t + ); + })(); + function vV(t) { + return Math.max(0, t); + } + function mV(t) { + var e = vV(t.shadowBlur || 0), + n = vV(t.shadowOffsetX || 0), + i = vV(t.shadowOffsetY || 0); + return { left: vV(e - n), right: vV(e + n), top: vV(e - i), bottom: vV(e + i) }; + } + function xV(t, e, n, i) { + (t[0] = n), (t[1] = i), (t[2] = t[0] / e.getWidth()), (t[3] = t[1] / e.getHeight()); + } + var _V = new Ws({ shape: { x: -1, y: -1, width: 2, height: 2 } }), + bV = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.prototype.init = function (t, e) { + if (!r.node && e.getDom()) { + var n, + i = t.getComponent("tooltip"), + o = (this._renderMode = "auto" === (n = i.get("renderMode")) ? (r.domSupported ? "html" : "richText") : n || "html"); + this._tooltipContent = "richText" === o ? new yV(e) : new gV(e, { appendTo: i.get("appendToBody", !0) ? "body" : i.get("appendTo", !0) }); + } + }), + (e.prototype.render = function (t, e, n) { + if (!r.node && n.getDom()) { + this.group.removeAll(), (this._tooltipModel = t), (this._ecModel = e), (this._api = n); + var i = this._tooltipContent; + i.update(t), + i.setEnterable(t.get("enterable")), + this._initGlobalListener(), + this._keepShow(), + "richText" !== this._renderMode && t.get("transitionDuration") ? Hg(this, "_updatePosition", 50, "fixRate") : Yg(this, "_updatePosition"); + } + }), + (e.prototype._initGlobalListener = function () { + var t = this._tooltipModel.get("triggerOn"); + IN( + "itemTooltip", + this._api, + W(function (e, n, i) { + "none" !== t && (t.indexOf(e) >= 0 ? this._tryShow(n, i) : "leave" === e && this._hide(i)); + }, this) + ); + }), + (e.prototype._keepShow = function () { + var t = this._tooltipModel, + e = this._ecModel, + n = this._api, + i = t.get("triggerOn"); + if (null != this._lastX && null != this._lastY && "none" !== i && "click" !== i) { + var r = this; + clearTimeout(this._refreshUpdateTimeout), + (this._refreshUpdateTimeout = setTimeout(function () { + !n.isDisposed() && r.manuallyShowTip(t, e, n, { x: r._lastX, y: r._lastY, dataByCoordSys: r._lastDataByCoordSys }); + })); + } + }), + (e.prototype.manuallyShowTip = function (t, e, n, i) { + if (i.from !== this.uid && !r.node && n.getDom()) { + var o = SV(i, n); + this._ticket = ""; + var a = i.dataByCoordSys, + s = (function (t, e, n) { + var i = Go(t).queryOptionMap, + r = i.keys()[0]; + if (!r || "series" === r) return; + var o = Yo(e, r, i.get(r), { useDefault: !1, enableAll: !1, enableNone: !1 }), + a = o.models[0]; + if (!a) return; + var s, + l = n.getViewOfComponentModel(a); + if ( + (l.group.traverse(function (e) { + var n = rl(e).tooltipConfig; + if (n && n.name === t.name) return (s = e), !0; + }), + s) + ) + return { componentMainType: r, componentIndex: a.componentIndex, el: s }; + })(i, e, n); + if (s) { + var l = s.el.getBoundingRect().clone(); + l.applyTransform(s.el.transform), this._tryShow({ offsetX: l.x + l.width / 2, offsetY: l.y + l.height / 2, target: s.el, position: i.position, positionDefault: "bottom" }, o); + } else if (i.tooltip && null != i.x && null != i.y) { + var u = _V; + (u.x = i.x), (u.y = i.y), u.update(), (rl(u).tooltipConfig = { name: null, option: i.tooltip }), this._tryShow({ offsetX: i.x, offsetY: i.y, target: u }, o); + } else if (a) this._tryShow({ offsetX: i.x, offsetY: i.y, position: i.position, dataByCoordSys: a, tooltipOption: i.tooltipOption }, o); + else if (null != i.seriesIndex) { + if (this._manuallyAxisShowTip(t, e, n, i)) return; + var h = kN(i, e), + c = h.point[0], + p = h.point[1]; + null != c && null != p && this._tryShow({ offsetX: c, offsetY: p, target: h.el, position: i.position, positionDefault: "bottom" }, o); + } else null != i.x && null != i.y && (n.dispatchAction({ type: "updateAxisPointer", x: i.x, y: i.y }), this._tryShow({ offsetX: i.x, offsetY: i.y, position: i.position, target: n.getZr().findHover(i.x, i.y).target }, o)); + } + }), + (e.prototype.manuallyHideTip = function (t, e, n, i) { + var r = this._tooltipContent; + this._tooltipModel && r.hideLater(this._tooltipModel.get("hideDelay")), (this._lastX = this._lastY = this._lastDataByCoordSys = null), i.from !== this.uid && this._hide(SV(i, n)); + }), + (e.prototype._manuallyAxisShowTip = function (t, e, n, i) { + var r = i.seriesIndex, + o = i.dataIndex, + a = e.getComponent("axisPointer").coordSysAxesInfo; + if (null != r && null != o && null != a) { + var s = e.getSeriesByIndex(r); + if (s) + if ("axis" === wV([s.getData().getItemModel(o), s, (s.coordinateSystem || {}).model], this._tooltipModel).get("trigger")) + return n.dispatchAction({ type: "updateAxisPointer", seriesIndex: r, dataIndex: o, position: i.position }), !0; + } + }), + (e.prototype._tryShow = function (t, e) { + var n = t.target; + if (this._tooltipModel) { + (this._lastX = t.offsetX), (this._lastY = t.offsetY); + var i = t.dataByCoordSys; + if (i && i.length) this._showAxisTooltip(i, t); + else if (n) { + var r, o; + if ("legend" === rl(n).ssrType) return; + (this._lastDataByCoordSys = null), + Oy( + n, + function (t) { + return null != rl(t).dataIndex ? ((r = t), !0) : null != rl(t).tooltipConfig ? ((o = t), !0) : void 0; + }, + !0 + ), + r ? this._showSeriesItemTooltip(t, r, e) : o ? this._showComponentItemTooltip(t, o, e) : this._hide(e); + } else (this._lastDataByCoordSys = null), this._hide(e); + } + }), + (e.prototype._showOrMove = function (t, e) { + var n = t.get("showDelay"); + (e = W(e, this)), clearTimeout(this._showTimout), n > 0 ? (this._showTimout = setTimeout(e, n)) : e(); + }), + (e.prototype._showAxisTooltip = function (t, e) { + var n = this._ecModel, + i = this._tooltipModel, + r = [e.offsetX, e.offsetY], + o = wV([e.tooltipOption], i), + a = this._renderMode, + s = [], + l = og("section", { blocks: [], noHeader: !0 }), + u = [], + h = new yg(); + E(t, function (t) { + E(t.dataByAxis, function (t) { + var e = n.getComponent(t.axisDim + "Axis", t.axisIndex), + r = t.value; + if (e && null != r) { + var o = pN(r, e.axis, n, t.seriesDataIndices, t.valueLabelOpt), + c = og("section", { header: o, noHeader: !ut(o), sortBlocks: !0, blocks: [] }); + l.blocks.push(c), + E(t.seriesDataIndices, function (l) { + var p = n.getSeriesByIndex(l.seriesIndex), + d = l.dataIndexInside, + f = p.getDataParams(d); + if (!(f.dataIndex < 0)) { + (f.axisDim = t.axisDim), + (f.axisIndex = t.axisIndex), + (f.axisType = t.axisType), + (f.axisId = t.axisId), + (f.axisValue = S_(e.axis, { value: r })), + (f.axisValueLabel = o), + (f.marker = h.makeTooltipMarker("item", Sp(f.color), a)); + var g = bf(p.formatTooltip(d, !0, null)), + y = g.frag; + if (y) { + var v = wV([p], i).get("valueFormatter"); + c.blocks.push(v ? A({ valueFormatter: v }, y) : y); + } + g.text && u.push(g.text), s.push(f); + } + }); + } + }); + }), + l.blocks.reverse(), + u.reverse(); + var c = e.position, + p = o.get("order"), + d = cg(l, h, a, p, n.get("useUTC"), o.get("textStyle")); + d && u.unshift(d); + var f = "richText" === a ? "\n\n" : "
    ", + g = u.join(f); + this._showOrMove(o, function () { + this._updateContentNotChangedOnAxis(t, s) ? this._updatePosition(o, c, r[0], r[1], this._tooltipContent, s) : this._showTooltipContent(o, g, s, Math.random() + "", r[0], r[1], c, null, h); + }); + }), + (e.prototype._showSeriesItemTooltip = function (t, e, n) { + var i = this._ecModel, + r = rl(e), + o = r.seriesIndex, + a = i.getSeriesByIndex(o), + s = r.dataModel || a, + l = r.dataIndex, + u = r.dataType, + h = s.getData(u), + c = this._renderMode, + p = t.positionDefault, + d = wV([h.getItemModel(l), s, a && (a.coordinateSystem || {}).model], this._tooltipModel, p ? { position: p } : null), + f = d.get("trigger"); + if (null == f || "item" === f) { + var g = s.getDataParams(l, u), + y = new yg(); + g.marker = y.makeTooltipMarker("item", Sp(g.color), c); + var v = bf(s.formatTooltip(l, !1, u)), + m = d.get("order"), + x = d.get("valueFormatter"), + _ = v.frag, + b = _ ? cg(x ? A({ valueFormatter: x }, _) : _, y, c, m, i.get("useUTC"), d.get("textStyle")) : v.text, + w = "item_" + s.name + "_" + l; + this._showOrMove(d, function () { + this._showTooltipContent(d, b, g, w, t.offsetX, t.offsetY, t.position, t.target, y); + }), + n({ type: "showTip", dataIndexInside: l, dataIndex: h.getRawIndex(l), seriesIndex: o, from: this.uid }); + } + }), + (e.prototype._showComponentItemTooltip = function (t, e, n) { + var i = rl(e), + r = i.tooltipConfig.option || {}; + if (U(r)) { + r = { content: r, formatter: r }; + } + var o = [r], + a = this._ecModel.getComponent(i.componentMainType, i.componentIndex); + a && o.push(a), o.push({ formatter: r.content }); + var s = t.positionDefault, + l = wV(o, this._tooltipModel, s ? { position: s } : null), + u = l.get("content"), + h = Math.random() + "", + c = new yg(); + this._showOrMove(l, function () { + var n = T(l.get("formatterParams") || {}); + this._showTooltipContent(l, u, n, h, t.offsetX, t.offsetY, t.position, e, c); + }), + n({ type: "showTip", from: this.uid }); + }), + (e.prototype._showTooltipContent = function (t, e, n, i, r, o, a, s, l) { + if (((this._ticket = ""), t.get("showContent") && t.get("show"))) { + var u = this._tooltipContent; + u.setEnterable(t.get("enterable")); + var h = t.get("formatter"); + a = a || t.get("position"); + var c = e, + p = this._getNearestPoint([r, o], n, t.get("trigger"), t.get("borderColor")).color; + if (h) + if (U(h)) { + var d = t.ecModel.get("useUTC"), + f = Y(n) ? n[0] : n; + (c = h), f && f.axisType && f.axisType.indexOf("time") >= 0 && (c = Jc(f.axisValue, c, d)), (c = bp(c, n, !0)); + } else if (X(h)) { + var g = W(function (e, i) { + e === this._ticket && (u.setContent(i, l, t, p, a), this._updatePosition(t, a, r, o, u, n, s)); + }, this); + (this._ticket = i), (c = h(n, i, g)); + } else c = h; + u.setContent(c, l, t, p, a), u.show(t, p), this._updatePosition(t, a, r, o, u, n, s); + } + }), + (e.prototype._getNearestPoint = function (t, e, n, i) { + return "axis" === n || Y(e) ? { color: i || ("html" === this._renderMode ? "#fff" : "none") } : Y(e) ? void 0 : { color: i || e.color || e.borderColor }; + }), + (e.prototype._updatePosition = function (t, e, n, i, r, o, a) { + var s = this._api.getWidth(), + l = this._api.getHeight(); + e = e || t.get("position"); + var u = r.getSize(), + h = t.get("align"), + c = t.get("verticalAlign"), + p = a && a.getBoundingRect().clone(); + if ((a && p.applyTransform(a.transform), X(e) && (e = e([n, i], o, r.el, p, { viewSize: [s, l], contentSize: u.slice() })), Y(e))) (n = $r(e[0], s)), (i = $r(e[1], l)); + else if (q(e)) { + var d = e; + (d.width = u[0]), (d.height = u[1]); + var f = kp(d, { width: s, height: l }); + (n = f.x), (i = f.y), (h = null), (c = null); + } else if (U(e) && a) { + var g = (function (t, e, n, i) { + var r = n[0], + o = n[1], + a = Math.ceil(Math.SQRT2 * i) + 8, + s = 0, + l = 0, + u = e.width, + h = e.height; + switch (t) { + case "inside": + (s = e.x + u / 2 - r / 2), (l = e.y + h / 2 - o / 2); + break; + case "top": + (s = e.x + u / 2 - r / 2), (l = e.y - o - a); + break; + case "bottom": + (s = e.x + u / 2 - r / 2), (l = e.y + h + a); + break; + case "left": + (s = e.x - r - a), (l = e.y + h / 2 - o / 2); + break; + case "right": + (s = e.x + u + a), (l = e.y + h / 2 - o / 2); + } + return [s, l]; + })(e, p, u, t.get("borderWidth")); + (n = g[0]), (i = g[1]); + } else { + g = (function (t, e, n, i, r, o, a) { + var s = n.getSize(), + l = s[0], + u = s[1]; + null != o && (t + l + o + 2 > i ? (t -= l + o) : (t += o)); + null != a && (e + u + a > r ? (e -= u + a) : (e += a)); + return [t, e]; + })(n, i, r, s, l, h ? null : 20, c ? null : 20); + (n = g[0]), (i = g[1]); + } + if ((h && (n -= MV(h) ? u[0] / 2 : "right" === h ? u[0] : 0), c && (i -= MV(c) ? u[1] / 2 : "bottom" === c ? u[1] : 0), oV(t))) { + g = (function (t, e, n, i, r) { + var o = n.getSize(), + a = o[0], + s = o[1]; + return (t = Math.min(t + a, i) - a), (e = Math.min(e + s, r) - s), (t = Math.max(t, 0)), (e = Math.max(e, 0)), [t, e]; + })(n, i, r, s, l); + (n = g[0]), (i = g[1]); + } + r.moveTo(n, i); + }), + (e.prototype._updateContentNotChangedOnAxis = function (t, e) { + var n = this._lastDataByCoordSys, + i = this._cbParamsList, + r = !!n && n.length === t.length; + return ( + r && + E(n, function (n, o) { + var a = n.dataByAxis || [], + s = (t[o] || {}).dataByAxis || []; + (r = r && a.length === s.length) && + E(a, function (t, n) { + var o = s[n] || {}, + a = t.seriesDataIndices || [], + l = o.seriesDataIndices || []; + (r = r && t.value === o.value && t.axisType === o.axisType && t.axisId === o.axisId && a.length === l.length) && + E(a, function (t, e) { + var n = l[e]; + r = r && t.seriesIndex === n.seriesIndex && t.dataIndex === n.dataIndex; + }), + i && + E(t.seriesDataIndices, function (t) { + var n = t.seriesIndex, + o = e[n], + a = i[n]; + o && a && a.data !== o.data && (r = !1); + }); + }); + }), + (this._lastDataByCoordSys = t), + (this._cbParamsList = e), + !!r + ); + }), + (e.prototype._hide = function (t) { + (this._lastDataByCoordSys = null), t({ type: "hideTip", from: this.uid }); + }), + (e.prototype.dispose = function (t, e) { + !r.node && e.getDom() && (Yg(this, "_updatePosition"), this._tooltipContent.dispose(), DN("itemTooltip", e)); + }), + (e.type = "tooltip"), + e + ); + })(Ag); + function wV(t, e, n) { + var i, + r = e.ecModel; + n ? ((i = new Cc(n, r, r)), (i = new Cc(e.option, i, r))) : (i = e); + for (var o = t.length - 1; o >= 0; o--) { + var a = t[o]; + a && (a instanceof Cc && (a = a.get("tooltip", !0)), U(a) && (a = { formatter: a }), a && (i = new Cc(a, i, r))); + } + return i; + } + function SV(t, e) { + return t.dispatchAction || W(e.dispatchAction, e); + } + function MV(t) { + return "center" === t || "middle" === t; + } + var IV = ["rect", "polygon", "keep", "clear"]; + function TV(t, e) { + var n = To(t ? t.brush : []); + if (n.length) { + var i = []; + E(n, function (t) { + var e = t.hasOwnProperty("toolbox") ? t.toolbox : []; + e instanceof Array && (i = i.concat(e)); + }); + var r = t && t.toolbox; + Y(r) && (r = r[0]), r || ((r = { feature: {} }), (t.toolbox = [r])); + var o = r.feature || (r.feature = {}), + a = o.brush || (o.brush = {}), + s = a.type || (a.type = []); + s.push.apply(s, i), + (function (t) { + var e = {}; + E(t, function (t) { + e[t] = 1; + }), + (t.length = 0), + E(e, function (e, n) { + t.push(n); + }); + })(s), + e && !s.length && s.push.apply(s, IV); + } + } + var CV = E; + function DV(t) { + if (t) for (var e in t) if (t.hasOwnProperty(e)) return !0; + } + function AV(t, e, n) { + var i = {}; + return ( + CV(e, function (e) { + var r, + o = (i[e] = (((r = function () {}).prototype.__hidden = r.prototype), new r())); + CV(t[e], function (t, i) { + if (DD.isValidType(i)) { + var r = { type: i, visual: t }; + n && n(r, e), (o[i] = new DD(r)), "opacity" === i && (((r = T(r)).type = "colorAlpha"), (o.__hidden.__alphaForOpacity = new DD(r))); + } + }); + }), + i + ); + } + function kV(t, e, n) { + var i; + E(n, function (t) { + e.hasOwnProperty(t) && DV(e[t]) && (i = !0); + }), + i && + E(n, function (n) { + e.hasOwnProperty(n) && DV(e[n]) ? (t[n] = T(e[n])) : delete t[n]; + }); + } + var LV = { + lineX: PV(0), + lineY: PV(1), + rect: { + point: function (t, e, n) { + return t && n.boundingRect.contain(t[0], t[1]); + }, + rect: function (t, e, n) { + return t && n.boundingRect.intersect(t); + }, + }, + polygon: { + point: function (t, e, n) { + return t && n.boundingRect.contain(t[0], t[1]) && P_(n.range, t[0], t[1]); + }, + rect: function (t, e, n) { + var i = n.range; + if (!t || i.length <= 1) return !1; + var r = t.x, + o = t.y, + a = t.width, + s = t.height, + l = i[0]; + return ( + !!( + P_(i, r, o) || + P_(i, r + a, o) || + P_(i, r, o + s) || + P_(i, r + a, o + s) || + ze.create(t).contain(l[0], l[1]) || + Zh(r, o, r + a, o, i) || + Zh(r, o, r, o + s, i) || + Zh(r + a, o, r + a, o + s, i) || + Zh(r, o + s, r + a, o + s, i) + ) || void 0 + ); + }, + }, + }; + function PV(t) { + var e = ["x", "y"], + n = ["width", "height"]; + return { + point: function (e, n, i) { + if (e) { + var r = i.range; + return OV(e[t], r); + } + }, + rect: function (i, r, o) { + if (i) { + var a = o.range, + s = [i[e[t]], i[e[t]] + i[n[t]]]; + return s[1] < s[0] && s.reverse(), OV(s[0], a) || OV(s[1], a) || OV(a[0], s) || OV(a[1], s); + } + }, + }; + } + function OV(t, e) { + return e[0] <= t && t <= e[1]; + } + var RV = ["inBrush", "outOfBrush"], + NV = "__ecBrushSelect", + EV = "__ecInBrushSelectEvent"; + function zV(t) { + t.eachComponent({ mainType: "brush" }, function (e) { + (e.brushTargetManager = new Fz(e.option, t)).setInputRanges(e.areas, t); + }); + } + function VV(t, e, n) { + var i, + r, + o = []; + t.eachComponent({ mainType: "brush" }, function (t) { + n && "takeGlobalCursor" === n.type && t.setBrushOption("brush" === n.key ? n.brushOption : { brushType: !1 }); + }), + zV(t), + t.eachComponent({ mainType: "brush" }, function (e, n) { + var a = { brushId: e.id, brushIndex: n, brushName: e.name, areas: T(e.areas), selected: [] }; + o.push(a); + var s = e.option, + l = s.brushLink, + u = [], + h = [], + c = [], + p = !1; + n || ((i = s.throttleType), (r = s.throttleDelay)); + var d = z(e.areas, function (t) { + var e = GV[t.brushType], + n = k({ boundingRect: e ? e(t) : void 0 }, t); + return ( + (n.selectors = (function (t) { + var e = t.brushType, + n = { + point: function (i) { + return LV[e].point(i, n, t); + }, + rect: function (i) { + return LV[e].rect(i, n, t); + }, + }; + return n; + })(n)), + n + ); + }), + f = AV(e.option, RV, function (t) { + t.mappingMethod = "fixed"; + }); + function g(t) { + return "all" === l || !!u[t]; + } + function y(t) { + return !!t.length; + } + Y(l) && + E(l, function (t) { + u[t] = 1; + }), + t.eachSeries(function (n, i) { + var r = (c[i] = []); + "parallel" === n.subType + ? (function (t, e) { + var n = t.coordinateSystem; + (p = p || n.hasAxisBrushed()), + g(e) && + n.eachActiveState(t.getData(), function (t, e) { + "active" === t && (h[e] = 1); + }); + })(n, i) + : (function (n, i, r) { + if ( + !n.brushSelector || + (function (t, e) { + var n = t.option.seriesIndex; + return null != n && "all" !== n && (Y(n) ? P(n, e) < 0 : e !== n); + })(e, i) + ) + return; + if ( + (E(d, function (i) { + e.brushTargetManager.controlSeries(i, n, t) && r.push(i), (p = p || y(r)); + }), + g(i) && y(r)) + ) { + var o = n.getData(); + o.each(function (t) { + FV(n, r, o, t) && (h[t] = 1); + }); + } + })(n, i, r); + }), + t.eachSeries(function (t, e) { + var n = { seriesId: t.id, seriesIndex: e, seriesName: t.name, dataIndex: [] }; + a.selected.push(n); + var i = c[e], + r = t.getData(), + o = g(e) + ? function (t) { + return h[t] ? (n.dataIndex.push(r.getRawIndex(t)), "inBrush") : "outOfBrush"; + } + : function (e) { + return FV(t, i, r, e) ? (n.dataIndex.push(r.getRawIndex(e)), "inBrush") : "outOfBrush"; + }; + (g(e) ? p : y(i)) && + (function (t, e, n, i, r, o) { + var a, + s = {}; + function l(t) { + return Dy(n, a, t); + } + function u(t, e) { + ky(n, a, t, e); + } + function h(t, h) { + a = null == o ? t : h; + var c = n.getRawDataItem(a); + if (!c || !1 !== c.visualMap) + for (var p = i.call(r, t), d = e[p], f = s[p], g = 0, y = f.length; g < y; g++) { + var v = f[g]; + d[v] && d[v].applyVisual(t, l, u); + } + } + E(t, function (t) { + var n = DD.prepareVisualTypes(e[t]); + s[t] = n; + }), + null == o ? n.each(h) : n.each([o], h); + })(RV, f, r, o); + }); + }), + (function (t, e, n, i, r) { + if (!r) return; + var o = t.getZr(); + if (o[EV]) return; + o[NV] || (o[NV] = BV); + var a = Hg(o, NV, n, e); + a(t, i); + })(e, i, r, o, n); + } + function BV(t, e) { + if (!t.isDisposed()) { + var n = t.getZr(); + (n[EV] = !0), t.dispatchAction({ type: "brushSelect", batch: e }), (n[EV] = !1); + } + } + function FV(t, e, n, i) { + for (var r = 0, o = e.length; r < o; r++) { + var a = e[r]; + if (t.brushSelector(i, n, a.selectors, a)) return !0; + } + } + var GV = { + rect: function (t) { + return WV(t.range); + }, + polygon: function (t) { + for (var e, n = t.range, i = 0, r = n.length; i < r; i++) { + e = e || [ + [1 / 0, -1 / 0], + [1 / 0, -1 / 0], + ]; + var o = n[i]; + o[0] < e[0][0] && (e[0][0] = o[0]), o[0] > e[0][1] && (e[0][1] = o[0]), o[1] < e[1][0] && (e[1][0] = o[1]), o[1] > e[1][1] && (e[1][1] = o[1]); + } + return e && WV(e); + }, + }; + function WV(t) { + return new ze(t[0][0], t[1][0], t[0][1] - t[0][0], t[1][1] - t[1][0]); + } + var HV = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.prototype.init = function (t, e) { + (this.ecModel = t), (this.api = e), this.model, (this._brushController = new aL(e.getZr())).on("brush", W(this._onBrush, this)).mount(); + }), + (e.prototype.render = function (t, e, n, i) { + (this.model = t), this._updateController(t, e, n, i); + }), + (e.prototype.updateTransform = function (t, e, n, i) { + zV(e), this._updateController(t, e, n, i); + }), + (e.prototype.updateVisual = function (t, e, n, i) { + this.updateTransform(t, e, n, i); + }), + (e.prototype.updateView = function (t, e, n, i) { + this._updateController(t, e, n, i); + }), + (e.prototype._updateController = function (t, e, n, i) { + (!i || i.$from !== t.id) && this._brushController.setPanels(t.brushTargetManager.makePanelOpts(n)).enableBrush(t.brushOption).updateCovers(t.areas.slice()); + }), + (e.prototype.dispose = function () { + this._brushController.dispose(); + }), + (e.prototype._onBrush = function (t) { + var e = this.model.id, + n = this.model.brushTargetManager.setOutputRanges(t.areas, this.ecModel); + (!t.isEnd || t.removeOnClick) && this.api.dispatchAction({ type: "brush", brushId: e, areas: T(n), $from: e }), t.isEnd && this.api.dispatchAction({ type: "brushEnd", brushId: e, areas: T(n), $from: e }); + }), + (e.type = "brush"), + e + ); + })(Ag), + YV = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), (n.areas = []), (n.brushOption = {}), n; + } + return ( + n(e, t), + (e.prototype.optionUpdated = function (t, e) { + var n = this.option; + !e && kV(n, t, ["inBrush", "outOfBrush"]); + var i = (n.inBrush = n.inBrush || {}); + (n.outOfBrush = n.outOfBrush || { color: "#ddd" }), i.hasOwnProperty("liftZ") || (i.liftZ = 5); + }), + (e.prototype.setAreas = function (t) { + t && + (this.areas = z( + t, + function (t) { + return XV(this.option, t); + }, + this + )); + }), + (e.prototype.setBrushOption = function (t) { + (this.brushOption = XV(this.option, t)), (this.brushType = this.brushOption.brushType); + }), + (e.type = "brush"), + (e.dependencies = ["geo", "grid", "xAxis", "yAxis", "parallel", "series"]), + (e.defaultOption = { + seriesIndex: "all", + brushType: "rect", + brushMode: "single", + transformable: !0, + brushStyle: { borderWidth: 1, color: "rgba(210,219,238,0.3)", borderColor: "#D2DBEE" }, + throttleType: "fixRate", + throttleDelay: 0, + removeOnClick: !0, + z: 1e4, + }), + e + ); + })(zp); + function XV(t, e) { + return C({ brushType: t.brushType, brushMode: t.brushMode, transformable: t.transformable, brushStyle: new Cc(t.brushStyle).getItemStyle(), removeOnClick: t.removeOnClick, z: t.z }, e, !0); + } + var UV = ["rect", "polygon", "lineX", "lineY", "keep", "clear"], + ZV = (function (t) { + function e() { + return (null !== t && t.apply(this, arguments)) || this; + } + return ( + n(e, t), + (e.prototype.render = function (t, e, n) { + var i, r, o; + e.eachComponent({ mainType: "brush" }, function (t) { + (i = t.brushType), (r = t.brushOption.brushMode || "single"), (o = o || !!t.areas.length); + }), + (this._brushType = i), + (this._brushMode = r), + E(t.get("type", !0), function (e) { + t.setIconStatus(e, ("keep" === e ? "multiple" === r : "clear" === e ? o : e === i) ? "emphasis" : "normal"); + }); + }), + (e.prototype.updateView = function (t, e, n) { + this.render(t, e, n); + }), + (e.prototype.getIcons = function () { + var t = this.model, + e = t.get("icon", !0), + n = {}; + return ( + E(t.get("type", !0), function (t) { + e[t] && (n[t] = e[t]); + }), + n + ); + }), + (e.prototype.onclick = function (t, e, n) { + var i = this._brushType, + r = this._brushMode; + "clear" === n + ? (e.dispatchAction({ type: "axisAreaSelect", intervals: [] }), e.dispatchAction({ type: "brush", command: "clear", areas: [] })) + : e.dispatchAction({ type: "takeGlobalCursor", key: "brush", brushOption: { brushType: "keep" === n ? i : i !== n && n, brushMode: "keep" === n ? ("multiple" === r ? "single" : "multiple") : r } }); + }), + (e.getDefaultOption = function (t) { + return { + show: !0, + type: UV.slice(), + icon: { + rect: + "M7.3,34.7 M0.4,10V-0.2h9.8 M89.6,10V-0.2h-9.8 M0.4,60v10.2h9.8 M89.6,60v10.2h-9.8 M12.3,22.4V10.5h13.1 M33.6,10.5h7.8 M49.1,10.5h7.8 M77.5,22.4V10.5h-13 M12.3,31.1v8.2 M77.7,31.1v8.2 M12.3,47.6v11.9h13.1 M33.6,59.5h7.6 M49.1,59.5 h7.7 M77.5,47.6v11.9h-13", + polygon: + "M55.2,34.9c1.7,0,3.1,1.4,3.1,3.1s-1.4,3.1-3.1,3.1 s-3.1-1.4-3.1-3.1S53.5,34.9,55.2,34.9z M50.4,51c1.7,0,3.1,1.4,3.1,3.1c0,1.7-1.4,3.1-3.1,3.1c-1.7,0-3.1-1.4-3.1-3.1 C47.3,52.4,48.7,51,50.4,51z M55.6,37.1l1.5-7.8 M60.1,13.5l1.6-8.7l-7.8,4 M59,19l-1,5.3 M24,16.1l6.4,4.9l6.4-3.3 M48.5,11.6 l-5.9,3.1 M19.1,12.8L9.7,5.1l1.1,7.7 M13.4,29.8l1,7.3l6.6,1.6 M11.6,18.4l1,6.1 M32.8,41.9 M26.6,40.4 M27.3,40.2l6.1,1.6 M49.9,52.1l-5.6-7.6l-4.9-1.2", + lineX: "M15.2,30 M19.7,15.6V1.9H29 M34.8,1.9H40.4 M55.3,15.6V1.9H45.9 M19.7,44.4V58.1H29 M34.8,58.1H40.4 M55.3,44.4 V58.1H45.9 M12.5,20.3l-9.4,9.6l9.6,9.8 M3.1,29.9h16.5 M62.5,20.3l9.4,9.6L62.3,39.7 M71.9,29.9H55.4", + lineY: "M38.8,7.7 M52.7,12h13.2v9 M65.9,26.6V32 M52.7,46.3h13.2v-9 M24.9,12H11.8v9 M11.8,26.6V32 M24.9,46.3H11.8v-9 M48.2,5.1l-9.3-9l-9.4,9.2 M38.9-3.9V12 M48.2,53.3l-9.3,9l-9.4-9.2 M38.9,62.3V46.4", + keep: "M4,10.5V1h10.3 M20.7,1h6.1 M33,1h6.1 M55.4,10.5V1H45.2 M4,17.3v6.6 M55.6,17.3v6.6 M4,30.5V40h10.3 M20.7,40 h6.1 M33,40h6.1 M55.4,30.5V40H45.2 M21,18.9h62.9v48.6H21V18.9z", + clear: "M22,14.7l30.9,31 M52.9,14.7L22,45.7 M4.7,16.8V4.2h13.1 M26,4.2h7.8 M41.6,4.2h7.8 M70.3,16.8V4.2H57.2 M4.7,25.9v8.6 M70.3,25.9v8.6 M4.7,43.2v12.6h13.1 M26,55.8h7.8 M41.6,55.8h7.8 M70.3,43.2v12.6H57.2", + }, + title: t.getLocaleModel().get(["toolbox", "brush", "title"]), + }; + }), + e + ); + })(yz); + var jV = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), (n.layoutMode = { type: "box", ignoreSize: !0 }), n; + } + return ( + n(e, t), + (e.type = "title"), + (e.defaultOption = { + z: 6, + show: !0, + text: "", + target: "blank", + subtext: "", + subtarget: "blank", + left: 0, + top: 0, + backgroundColor: "rgba(0,0,0,0)", + borderColor: "#ccc", + borderWidth: 0, + padding: 5, + itemGap: 10, + textStyle: { fontSize: 18, fontWeight: "bold", color: "#464646" }, + subtextStyle: { fontSize: 12, color: "#6E7079" }, + }), + e + ); + })(zp), + qV = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.prototype.render = function (t, e, n) { + if ((this.group.removeAll(), t.get("show"))) { + var i = this.group, + r = t.getModel("textStyle"), + o = t.getModel("subtextStyle"), + a = t.get("textAlign"), + s = rt(t.get("textBaseline"), t.get("textVerticalAlign")), + l = new Xs({ style: oc(r, { text: t.get("text"), fill: r.getTextColor() }, { disableBox: !0 }), z2: 10 }), + u = l.getBoundingRect(), + h = t.get("subtext"), + c = new Xs({ style: oc(o, { text: h, fill: o.getTextColor(), y: u.height + t.get("itemGap"), verticalAlign: "top" }, { disableBox: !0 }), z2: 10 }), + p = t.get("link"), + d = t.get("sublink"), + f = t.get("triggerEvent", !0); + (l.silent = !p && !f), + (c.silent = !d && !f), + p && + l.on("click", function () { + Mp(p, "_" + t.get("target")); + }), + d && + c.on("click", function () { + Mp(d, "_" + t.get("subtarget")); + }), + (rl(l).eventData = rl(c).eventData = f ? { componentType: "title", componentIndex: t.componentIndex } : null), + i.add(l), + h && i.add(c); + var g = i.getBoundingRect(), + y = t.getBoxLayoutParams(); + (y.width = g.width), (y.height = g.height); + var v = kp(y, { width: n.getWidth(), height: n.getHeight() }, t.get("padding")); + a || ("middle" === (a = t.get("left") || t.get("right")) && (a = "center"), "right" === a ? (v.x += v.width) : "center" === a && (v.x += v.width / 2)), + s || ("center" === (s = t.get("top") || t.get("bottom")) && (s = "middle"), "bottom" === s ? (v.y += v.height) : "middle" === s && (v.y += v.height / 2), (s = s || "top")), + (i.x = v.x), + (i.y = v.y), + i.markRedraw(); + var m = { align: a, verticalAlign: s }; + l.setStyle(m), c.setStyle(m), (g = i.getBoundingRect()); + var x = v.margin, + _ = t.getItemStyle(["color", "opacity"]); + _.fill = t.get("backgroundColor"); + var b = new Ws({ shape: { x: g.x - x[3], y: g.y - x[0], width: g.width + x[1] + x[3], height: g.height + x[0] + x[2], r: t.get("borderRadius") }, style: _, subPixelOptimize: !0, silent: !0 }); + i.add(b); + } + }), + (e.type = "title"), + e + ); + })(Ag); + var KV = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), (n.layoutMode = "box"), n; + } + return ( + n(e, t), + (e.prototype.init = function (t, e, n) { + this.mergeDefaultAndTheme(t, n), this._initData(); + }), + (e.prototype.mergeOption = function (e) { + t.prototype.mergeOption.apply(this, arguments), this._initData(); + }), + (e.prototype.setCurrentIndex = function (t) { + null == t && (t = this.option.currentIndex); + var e = this._data.count(); + this.option.loop ? (t = ((t % e) + e) % e) : (t >= e && (t = e - 1), t < 0 && (t = 0)), (this.option.currentIndex = t); + }), + (e.prototype.getCurrentIndex = function () { + return this.option.currentIndex; + }), + (e.prototype.isIndexMax = function () { + return this.getCurrentIndex() >= this._data.count() - 1; + }), + (e.prototype.setPlayState = function (t) { + this.option.autoPlay = !!t; + }), + (e.prototype.getPlayState = function () { + return !!this.option.autoPlay; + }), + (e.prototype._initData = function () { + var t, + e = this.option, + n = e.data || [], + i = e.axisType, + r = (this._names = []); + "category" === i + ? ((t = []), + E(n, function (e, n) { + var i, + o = Ro(Ao(e), ""); + q(e) ? ((i = T(e)).value = n) : (i = n), t.push(i), r.push(o); + })) + : (t = n); + var o = { category: "ordinal", time: "time", value: "number" }[i] || "number"; + (this._data = new cx([{ name: "value", type: o }], this)).initData(t, r); + }), + (e.prototype.getData = function () { + return this._data; + }), + (e.prototype.getCategories = function () { + if ("category" === this.get("axisType")) return this._names.slice(); + }), + (e.type = "timeline"), + (e.defaultOption = { + z: 4, + show: !0, + axisType: "time", + realtime: !0, + left: "20%", + top: null, + right: "20%", + bottom: 0, + width: null, + height: 40, + padding: 5, + controlPosition: "left", + autoPlay: !1, + rewind: !1, + loop: !0, + playInterval: 2e3, + currentIndex: 0, + itemStyle: {}, + label: { color: "#000" }, + data: [], + }), + e + ); + })(zp), + $V = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.type = "timeline.slider"), + (e.defaultOption = kc(KV.defaultOption, { + backgroundColor: "rgba(0,0,0,0)", + borderColor: "#ccc", + borderWidth: 0, + orient: "horizontal", + inverse: !1, + tooltip: { trigger: "item" }, + symbol: "circle", + symbolSize: 12, + lineStyle: { show: !0, width: 2, color: "#DAE1F5" }, + label: { position: "auto", show: !0, interval: "auto", rotate: 0, color: "#A4B1D7" }, + itemStyle: { color: "#A4B1D7", borderWidth: 1 }, + checkpointStyle: { + symbol: "circle", + symbolSize: 15, + color: "#316bf3", + borderColor: "#fff", + borderWidth: 2, + shadowBlur: 2, + shadowOffsetX: 1, + shadowOffsetY: 1, + shadowColor: "rgba(0, 0, 0, 0.3)", + animation: !0, + animationDuration: 300, + animationEasing: "quinticInOut", + }, + controlStyle: { + show: !0, + showPlayBtn: !0, + showPrevBtn: !0, + showNextBtn: !0, + itemSize: 24, + itemGap: 12, + position: "left", + playIcon: + "path://M31.6,53C17.5,53,6,41.5,6,27.4S17.5,1.8,31.6,1.8C45.7,1.8,57.2,13.3,57.2,27.4S45.7,53,31.6,53z M31.6,3.3 C18.4,3.3,7.5,14.1,7.5,27.4c0,13.3,10.8,24.1,24.1,24.1C44.9,51.5,55.7,40.7,55.7,27.4C55.7,14.1,44.9,3.3,31.6,3.3z M24.9,21.3 c0-2.2,1.6-3.1,3.5-2l10.5,6.1c1.899,1.1,1.899,2.9,0,4l-10.5,6.1c-1.9,1.1-3.5,0.2-3.5-2V21.3z", + stopIcon: + "path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z M30.9,3.5C17.6,3.5,6.8,14.4,6.8,27.6c0,13.3,10.8,24.1,24.101,24.1C44.2,51.7,55,40.9,55,27.6C54.9,14.4,44.1,3.5,30.9,3.5z M36.9,35.8c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H36c0.5,0,0.9,0.4,0.9,1V35.8z M27.8,35.8 c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H27c0.5,0,0.9,0.4,0.9,1L27.8,35.8L27.8,35.8z", + nextIcon: "M2,18.5A1.52,1.52,0,0,1,.92,18a1.49,1.49,0,0,1,0-2.12L7.81,9.36,1,3.11A1.5,1.5,0,1,1,3,.89l8,7.34a1.48,1.48,0,0,1,.49,1.09,1.51,1.51,0,0,1-.46,1.1L3,18.08A1.5,1.5,0,0,1,2,18.5Z", + prevIcon: "M10,.5A1.52,1.52,0,0,1,11.08,1a1.49,1.49,0,0,1,0,2.12L4.19,9.64,11,15.89a1.5,1.5,0,1,1-2,2.22L1,10.77A1.48,1.48,0,0,1,.5,9.68,1.51,1.51,0,0,1,1,8.58L9,.92A1.5,1.5,0,0,1,10,.5Z", + prevBtnSize: 18, + nextBtnSize: 18, + color: "#A4B1D7", + borderColor: "#A4B1D7", + borderWidth: 1, + }, + emphasis: { label: { show: !0, color: "#6f778d" }, itemStyle: { color: "#316BF3" }, controlStyle: { color: "#316BF3", borderColor: "#316BF3", borderWidth: 2 } }, + progress: { lineStyle: { color: "#316BF3" }, itemStyle: { color: "#316BF3" }, label: { color: "#6f778d" } }, + data: [], + })), + e + ); + })(KV); + R($V, _f.prototype); + var JV = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return n(e, t), (e.type = "timeline"), e; + })(Ag), + QV = (function (t) { + function e(e, n, i, r) { + var o = t.call(this, e, n, i) || this; + return (o.type = r || "value"), o; + } + return ( + n(e, t), + (e.prototype.getLabelModel = function () { + return this.model.getModel("label"); + }), + (e.prototype.isHorizontal = function () { + return "horizontal" === this.model.get("orient"); + }), + e + ); + })(ob), + tB = Math.PI, + eB = Vo(), + nB = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.prototype.init = function (t, e) { + this.api = e; + }), + (e.prototype.render = function (t, e, n) { + if (((this.model = t), (this.api = n), (this.ecModel = e), this.group.removeAll(), t.get("show", !0))) { + var i = this._layout(t, n), + r = this._createGroup("_mainGroup"), + o = this._createGroup("_labelGroup"), + a = (this._axis = this._createAxis(i, t)); + (t.formatTooltip = function (t) { + return og("nameValue", { noName: !0, value: a.scale.getLabel({ value: t }) }); + }), + E( + ["AxisLine", "AxisTick", "Control", "CurrentPointer"], + function (e) { + this["_render" + e](i, r, a, t); + }, + this + ), + this._renderAxisLabel(i, o, a, t), + this._position(i, t); + } + this._doPlayStop(), this._updateTicksStatus(); + }), + (e.prototype.remove = function () { + this._clearTimer(), this.group.removeAll(); + }), + (e.prototype.dispose = function () { + this._clearTimer(); + }), + (e.prototype._layout = function (t, e) { + var n, + i, + r, + o, + a = t.get(["label", "position"]), + s = t.get("orient"), + l = (function (t, e) { + return kp(t.getBoxLayoutParams(), { width: e.getWidth(), height: e.getHeight() }, t.get("padding")); + })(t, e), + u = { + horizontal: "center", + vertical: + (n = + null == a || "auto" === a + ? "horizontal" === s + ? l.y + l.height / 2 < e.getHeight() / 2 + ? "-" + : "+" + : l.x + l.width / 2 < e.getWidth() / 2 + ? "+" + : "-" + : U(a) + ? { horizontal: { top: "-", bottom: "+" }, vertical: { left: "-", right: "+" } }[s][a] + : a) >= 0 || "+" === n + ? "left" + : "right", + }, + h = { horizontal: n >= 0 || "+" === n ? "top" : "bottom", vertical: "middle" }, + c = { horizontal: 0, vertical: tB / 2 }, + p = "vertical" === s ? l.height : l.width, + d = t.getModel("controlStyle"), + f = d.get("show", !0), + g = f ? d.get("itemSize") : 0, + y = f ? d.get("itemGap") : 0, + v = g + y, + m = t.get(["label", "rotate"]) || 0; + m = (m * tB) / 180; + var x = d.get("position", !0), + _ = f && d.get("showPlayBtn", !0), + b = f && d.get("showPrevBtn", !0), + w = f && d.get("showNextBtn", !0), + S = 0, + M = p; + "left" === x || "bottom" === x + ? (_ && ((i = [0, 0]), (S += v)), b && ((r = [S, 0]), (S += v)), w && ((o = [M - g, 0]), (M -= v))) + : (_ && ((i = [M - g, 0]), (M -= v)), b && ((r = [0, 0]), (S += v)), w && ((o = [M - g, 0]), (M -= v))); + var I = [S, M]; + return ( + t.get("inverse") && I.reverse(), + { + viewRect: l, + mainLength: p, + orient: s, + rotation: c[s], + labelRotation: m, + labelPosOpt: n, + labelAlign: t.get(["label", "align"]) || u[s], + labelBaseline: t.get(["label", "verticalAlign"]) || t.get(["label", "baseline"]) || h[s], + playPosition: i, + prevBtnPosition: r, + nextBtnPosition: o, + axisExtent: I, + controlSize: g, + controlGap: y, + } + ); + }), + (e.prototype._position = function (t, e) { + var n = this._mainGroup, + i = this._labelGroup, + r = t.viewRect; + if ("vertical" === t.orient) { + var o = [1, 0, 0, 1, 0, 0], + a = r.x, + s = r.y + r.height; + we(o, o, [-a, -s]), Se(o, o, -tB / 2), we(o, o, [a, s]), (r = r.clone()).applyTransform(o); + } + var l = y(r), + u = y(n.getBoundingRect()), + h = y(i.getBoundingRect()), + c = [n.x, n.y], + p = [i.x, i.y]; + p[0] = c[0] = l[0][0]; + var d, + f = t.labelPosOpt; + null == f || U(f) ? (v(c, u, l, 1, (d = "+" === f ? 0 : 1)), v(p, h, l, 1, 1 - d)) : (v(c, u, l, 1, (d = f >= 0 ? 0 : 1)), (p[1] = c[1] + f)); + function g(t) { + (t.originX = l[0][0] - t.x), (t.originY = l[1][0] - t.y); + } + function y(t) { + return [ + [t.x, t.x + t.width], + [t.y, t.y + t.height], + ]; + } + function v(t, e, n, i, r) { + t[i] += n[i][r] - e[i][r]; + } + n.setPosition(c), i.setPosition(p), (n.rotation = i.rotation = t.rotation), g(n), g(i); + }), + (e.prototype._createAxis = function (t, e) { + var n = e.getData(), + i = e.get("axisType"), + r = (function (t, e) { + if (((e = e || t.get("type")), e)) + switch (e) { + case "category": + return new Rx({ ordinalMeta: t.getCategories(), extent: [1 / 0, -1 / 0] }); + case "time": + return new Kx({ locale: t.ecModel.getLocaleModel(), useUTC: t.ecModel.get("useUTC") }); + default: + return new Ex(); + } + })(e, i); + r.getTicks = function () { + return n.mapArray(["value"], function (t) { + return { value: t }; + }); + }; + var o = n.getDataExtent("value"); + r.setExtent(o[0], o[1]), r.calcNiceTicks(); + var a = new QV("value", r, t.axisExtent, i); + return (a.model = e), a; + }), + (e.prototype._createGroup = function (t) { + var e = (this[t] = new Br()); + return this.group.add(e), e; + }), + (e.prototype._renderAxisLine = function (t, e, n, i) { + var r = n.getExtent(); + if (i.get(["lineStyle", "show"])) { + var o = new Ku({ shape: { x1: r[0], y1: 0, x2: r[1], y2: 0 }, style: A({ lineCap: "round" }, i.getModel("lineStyle").getLineStyle()), silent: !0, z2: 1 }); + e.add(o); + var a = (this._progressLine = new Ku({ + shape: { x1: r[0], x2: this._currentPointer ? this._currentPointer.x : r[0], y1: 0, y2: 0 }, + style: k({ lineCap: "round", lineWidth: o.style.lineWidth }, i.getModel(["progress", "lineStyle"]).getLineStyle()), + silent: !0, + z2: 1, + })); + e.add(a); + } + }), + (e.prototype._renderAxisTick = function (t, e, n, i) { + var r = this, + o = i.getData(), + a = n.scale.getTicks(); + (this._tickSymbols = []), + E(a, function (t) { + var a = n.dataToCoord(t.value), + s = o.getItemModel(t.value), + l = s.getModel("itemStyle"), + u = s.getModel(["emphasis", "itemStyle"]), + h = s.getModel(["progress", "itemStyle"]), + c = { x: a, y: 0, onclick: W(r._changeTimeline, r, t.value) }, + p = iB(s, l, e, c); + (p.ensureState("emphasis").style = u.getItemStyle()), (p.ensureState("progress").style = h.getItemStyle()), Ul(p); + var d = rl(p); + s.get("tooltip") ? ((d.dataIndex = t.value), (d.dataModel = i)) : (d.dataIndex = d.dataModel = null), r._tickSymbols.push(p); + }); + }), + (e.prototype._renderAxisLabel = function (t, e, n, i) { + var r = this; + if (n.getLabelModel().get("show")) { + var o = i.getData(), + a = n.getViewLabels(); + (this._tickLabels = []), + E(a, function (i) { + var a = i.tickValue, + s = o.getItemModel(a), + l = s.getModel("label"), + u = s.getModel(["emphasis", "label"]), + h = s.getModel(["progress", "label"]), + c = n.dataToCoord(i.tickValue), + p = new Xs({ x: c, y: 0, rotation: t.labelRotation - t.rotation, onclick: W(r._changeTimeline, r, a), silent: !1, style: oc(l, { text: i.formattedLabel, align: t.labelAlign, verticalAlign: t.labelBaseline }) }); + (p.ensureState("emphasis").style = oc(u)), (p.ensureState("progress").style = oc(h)), e.add(p), Ul(p), (eB(p).dataIndex = a), r._tickLabels.push(p); + }); + } + }), + (e.prototype._renderControl = function (t, e, n, i) { + var r = t.controlSize, + o = t.rotation, + a = i.getModel("controlStyle").getItemStyle(), + s = i.getModel(["emphasis", "controlStyle"]).getItemStyle(), + l = i.getPlayState(), + u = i.get("inverse", !0); + function h(t, n, l, u) { + if (t) { + var h = Cr(rt(i.get(["controlStyle", n + "BtnSize"]), r), r), + c = (function (t, e, n, i) { + var r = i.style, + o = Uh(t.get(["controlStyle", e]), i || {}, new ze(n[0], n[1], n[2], n[3])); + r && o.setStyle(r); + return o; + })(i, n + "Icon", [0, -h / 2, h, h], { x: t[0], y: t[1], originX: r / 2, originY: 0, rotation: u ? -o : 0, rectHover: !0, style: a, onclick: l }); + (c.ensureState("emphasis").style = s), e.add(c), Ul(c); + } + } + h(t.nextBtnPosition, "next", W(this._changeTimeline, this, u ? "-" : "+")), + h(t.prevBtnPosition, "prev", W(this._changeTimeline, this, u ? "+" : "-")), + h(t.playPosition, l ? "stop" : "play", W(this._handlePlayClick, this, !l), !0); + }), + (e.prototype._renderCurrentPointer = function (t, e, n, i) { + var r = i.getData(), + o = i.getCurrentIndex(), + a = r.getItemModel(o).getModel("checkpointStyle"), + s = this, + l = { + onCreate: function (t) { + (t.draggable = !0), (t.drift = W(s._handlePointerDrag, s)), (t.ondragend = W(s._handlePointerDragend, s)), rB(t, s._progressLine, o, n, i, !0); + }, + onUpdate: function (t) { + rB(t, s._progressLine, o, n, i); + }, + }; + this._currentPointer = iB(a, a, this._mainGroup, {}, this._currentPointer, l); + }), + (e.prototype._handlePlayClick = function (t) { + this._clearTimer(), this.api.dispatchAction({ type: "timelinePlayChange", playState: t, from: this.uid }); + }), + (e.prototype._handlePointerDrag = function (t, e, n) { + this._clearTimer(), this._pointerChangeTimeline([n.offsetX, n.offsetY]); + }), + (e.prototype._handlePointerDragend = function (t) { + this._pointerChangeTimeline([t.offsetX, t.offsetY], !0); + }), + (e.prototype._pointerChangeTimeline = function (t, e) { + var n = this._toAxisCoord(t)[0], + i = Qr(this._axis.getExtent().slice()); + n > i[1] && (n = i[1]), n < i[0] && (n = i[0]), (this._currentPointer.x = n), this._currentPointer.markRedraw(); + var r = this._progressLine; + r && ((r.shape.x2 = n), r.dirty()); + var o = this._findNearestTick(n), + a = this.model; + (e || (o !== a.getCurrentIndex() && a.get("realtime"))) && this._changeTimeline(o); + }), + (e.prototype._doPlayStop = function () { + var t = this; + this._clearTimer(), + this.model.getPlayState() && + (this._timer = setTimeout(function () { + var e = t.model; + t._changeTimeline(e.getCurrentIndex() + (e.get("rewind", !0) ? -1 : 1)); + }, this.model.get("playInterval"))); + }), + (e.prototype._toAxisCoord = function (t) { + return Fh(t, this._mainGroup.getLocalTransform(), !0); + }), + (e.prototype._findNearestTick = function (t) { + var e, + n = this.model.getData(), + i = 1 / 0, + r = this._axis; + return ( + n.each(["value"], function (n, o) { + var a = r.dataToCoord(n), + s = Math.abs(a - t); + s < i && ((i = s), (e = o)); + }), + e + ); + }), + (e.prototype._clearTimer = function () { + this._timer && (clearTimeout(this._timer), (this._timer = null)); + }), + (e.prototype._changeTimeline = function (t) { + var e = this.model.getCurrentIndex(); + "+" === t ? (t = e + 1) : "-" === t && (t = e - 1), this.api.dispatchAction({ type: "timelineChange", currentIndex: t, from: this.uid }); + }), + (e.prototype._updateTicksStatus = function () { + var t = this.model.getCurrentIndex(), + e = this._tickSymbols, + n = this._tickLabels; + if (e) for (var i = 0; i < e.length; i++) e && e[i] && e[i].toggleState("progress", i < t); + if (n) for (i = 0; i < n.length; i++) n && n[i] && n[i].toggleState("progress", eB(n[i]).dataIndex <= t); + }), + (e.type = "timeline.slider"), + e + ); + })(JV); + function iB(t, e, n, i, r, o) { + var a = e.get("color"); + r ? (r.setColor(a), n.add(r), o && o.onUpdate(r)) : ((r = Xy(t.get("symbol"), -1, -1, 2, 2, a)).setStyle("strokeNoScale", !0), n.add(r), o && o.onCreate(r)); + var s = e.getItemStyle(["color"]); + r.setStyle(s), (i = C({ rectHover: !0, z2: 100 }, i, !0)); + var l = Uy(t.get("symbolSize")); + (i.scaleX = l[0] / 2), (i.scaleY = l[1] / 2); + var u = Zy(t.get("symbolOffset"), l); + u && ((i.x = (i.x || 0) + u[0]), (i.y = (i.y || 0) + u[1])); + var h = t.get("symbolRotate"); + return (i.rotation = ((h || 0) * Math.PI) / 180 || 0), r.attr(i), r.updateTransform(), r; + } + function rB(t, e, n, i, r, o) { + if (!t.dragging) { + var a = r.getModel("checkpointStyle"), + s = i.dataToCoord(r.getData().get("value", n)); + if (o || !a.get("animation", !0)) t.attr({ x: s, y: 0 }), e && e.attr({ shape: { x2: s } }); + else { + var l = { duration: a.get("animationDuration", !0), easing: a.get("animationEasing", !0) }; + t.stopAnimation(null, !0), t.animateTo({ x: s, y: 0 }, l), e && e.animateTo({ shape: { x2: s } }, l); + } + } + } + function oB(t) { + var e = t && t.timeline; + Y(e) || (e = e ? [e] : []), + E(e, function (t) { + t && + (function (t) { + var e = t.type, + n = { number: "value", time: "time" }; + n[e] && ((t.axisType = n[e]), delete t.type); + if ((aB(t), sB(t, "controlPosition"))) { + var i = t.controlStyle || (t.controlStyle = {}); + sB(i, "position") || (i.position = t.controlPosition), "none" !== i.position || sB(i, "show") || ((i.show = !1), delete i.position), delete t.controlPosition; + } + E(t.data || [], function (t) { + q(t) && !Y(t) && (!sB(t, "value") && sB(t, "name") && (t.value = t.name), aB(t)); + }); + })(t); + }); + } + function aB(t) { + var e = t.itemStyle || (t.itemStyle = {}), + n = e.emphasis || (e.emphasis = {}), + i = t.label || t.label || {}, + r = i.normal || (i.normal = {}), + o = { normal: 1, emphasis: 1 }; + E(i, function (t, e) { + o[e] || sB(r, e) || (r[e] = t); + }), + n.label && !sB(i, "emphasis") && ((i.emphasis = n.label), delete n.label); + } + function sB(t, e) { + return t.hasOwnProperty(e); + } + function lB(t, e) { + if (!t) return !1; + for (var n = Y(t) ? t : [t], i = 0; i < n.length; i++) if (n[i] && n[i][e]) return !0; + return !1; + } + function uB(t) { + Co(t, "label", ["show"]); + } + var hB = Vo(), + cB = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), (n.createdBySelf = !1), n; + } + return ( + n(e, t), + (e.prototype.init = function (t, e, n) { + this.mergeDefaultAndTheme(t, n), this._mergeOption(t, n, !1, !0); + }), + (e.prototype.isAnimationEnabled = function () { + if (r.node) return !1; + var t = this.__hostSeries; + return this.getShallow("animation") && t && t.isAnimationEnabled(); + }), + (e.prototype.mergeOption = function (t, e) { + this._mergeOption(t, e, !1, !1); + }), + (e.prototype._mergeOption = function (t, e, n, i) { + var r = this.mainType; + n || + e.eachSeries(function (t) { + var n = t.get(this.mainType, !0), + o = hB(t)[r]; + n && n.data + ? (o + ? o._mergeOption(n, e, !0) + : (i && uB(n), + E(n.data, function (t) { + t instanceof Array ? (uB(t[0]), uB(t[1])) : uB(t); + }), + A((o = this.createMarkerModelFromSeries(n, this, e)), { mainType: this.mainType, seriesIndex: t.seriesIndex, name: t.name, createdBySelf: !0 }), + (o.__hostSeries = t)), + (hB(t)[r] = o)) + : (hB(t)[r] = null); + }, this); + }), + (e.prototype.formatTooltip = function (t, e, n) { + var i = this.getData(), + r = this.getRawValue(t), + o = i.getName(t); + return og("section", { header: this.name, blocks: [og("nameValue", { name: o, value: r, noName: !o, noValue: null == r })] }); + }), + (e.prototype.getData = function () { + return this._data; + }), + (e.prototype.setData = function (t) { + this._data = t; + }), + (e.getMarkerModelFromSeries = function (t, e) { + return hB(t)[e]; + }), + (e.type = "marker"), + (e.dependencies = ["series", "grid", "polar", "geo"]), + e + ); + })(zp); + R(cB, _f.prototype); + var pB = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.prototype.createMarkerModelFromSeries = function (t, n, i) { + return new e(t, n, i); + }), + (e.type = "markPoint"), + (e.defaultOption = { z: 5, symbol: "pin", symbolSize: 50, tooltip: { trigger: "item" }, label: { show: !0, position: "inside" }, itemStyle: { borderWidth: 2 }, emphasis: { label: { show: !0 } } }), + e + ); + })(cB); + function dB(t) { + return !(isNaN(parseFloat(t.x)) && isNaN(parseFloat(t.y))); + } + function fB(t, e, n, i, r, o) { + var a = [], + s = mx(e, i) ? e.getCalculationInfo("stackResultDimension") : i, + l = _B(e, s, t), + u = e.indicesOfNearest(s, l)[0]; + (a[r] = e.get(n, u)), (a[o] = e.get(s, u)); + var h = e.get(i, u), + c = to(e.get(i, u)); + return (c = Math.min(c, 20)) >= 0 && (a[o] = +a[o].toFixed(c)), [a, h]; + } + var gB = { min: H(fB, "min"), max: H(fB, "max"), average: H(fB, "average"), median: H(fB, "median") }; + function yB(t, e) { + if (e) { + var n = t.getData(), + i = t.coordinateSystem, + r = i && i.dimensions; + if ( + !(function (t) { + return !isNaN(parseFloat(t.x)) && !isNaN(parseFloat(t.y)); + })(e) && + !Y(e.coord) && + Y(r) + ) { + var o = vB(e, n, i, t); + if ((e = T(e)).type && gB[e.type] && o.baseAxis && o.valueAxis) { + var a = P(r, o.baseAxis.dim), + s = P(r, o.valueAxis.dim), + l = gB[e.type](n, o.baseDataDim, o.valueDataDim, a, s); + (e.coord = l[0]), (e.value = l[1]); + } else e.coord = [null != e.xAxis ? e.xAxis : e.radiusAxis, null != e.yAxis ? e.yAxis : e.angleAxis]; + } + if (null != e.coord && Y(r)) for (var u = e.coord, h = 0; h < 2; h++) gB[u[h]] && (u[h] = _B(n, n.mapDimension(r[h]), u[h])); + else e.coord = []; + return e; + } + } + function vB(t, e, n, i) { + var r = {}; + return ( + null != t.valueIndex || null != t.valueDim + ? ((r.valueDataDim = null != t.valueIndex ? e.getDimension(t.valueIndex) : t.valueDim), + (r.valueAxis = n.getAxis( + (function (t, e) { + var n = t.getData().getDimensionInfo(e); + return n && n.coordDim; + })(i, r.valueDataDim) + )), + (r.baseAxis = n.getOtherAxis(r.valueAxis)), + (r.baseDataDim = e.mapDimension(r.baseAxis.dim))) + : ((r.baseAxis = i.getBaseAxis()), (r.valueAxis = n.getOtherAxis(r.baseAxis)), (r.baseDataDim = e.mapDimension(r.baseAxis.dim)), (r.valueDataDim = e.mapDimension(r.valueAxis.dim))), + r + ); + } + function mB(t, e) { + return !(t && t.containData && e.coord && !dB(e)) || t.containData(e.coord); + } + function xB(t, e) { + return t + ? function (t, n, i, r) { + return If(r < 2 ? t.coord && t.coord[r] : t.value, e[r]); + } + : function (t, n, i, r) { + return If(t.value, e[r]); + }; + } + function _B(t, e, n) { + if ("average" === n) { + var i = 0, + r = 0; + return ( + t.each(e, function (t, e) { + isNaN(t) || ((i += t), r++); + }), + i / r + ); + } + return "median" === n ? t.getMedian(e) : t.getDataExtent(e)["max" === n ? 1 : 0]; + } + var bB = Vo(), + wB = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.prototype.init = function () { + this.markerGroupMap = yt(); + }), + (e.prototype.render = function (t, e, n) { + var i = this, + r = this.markerGroupMap; + r.each(function (t) { + bB(t).keep = !1; + }), + e.eachSeries(function (t) { + var r = cB.getMarkerModelFromSeries(t, i.type); + r && i.renderSeries(t, r, e, n); + }), + r.each(function (t) { + !bB(t).keep && i.group.remove(t.group); + }); + }), + (e.prototype.markKeep = function (t) { + bB(t).keep = !0; + }), + (e.prototype.toggleBlurSeries = function (t, e) { + var n = this; + E(t, function (t) { + var i = cB.getMarkerModelFromSeries(t, n.type); + i && + i.getData().eachItemGraphicEl(function (t) { + t && (e ? Nl(t) : El(t)); + }); + }); + }), + (e.type = "marker"), + e + ); + })(Ag); + function SB(t, e, n) { + var i = e.coordinateSystem; + t.each(function (r) { + var o, + a = t.getItemModel(r), + s = $r(a.get("x"), n.getWidth()), + l = $r(a.get("y"), n.getHeight()); + if (isNaN(s) || isNaN(l)) { + if (e.getMarkerPosition) o = e.getMarkerPosition(t.getValues(t.dimensions, r)); + else if (i) { + var u = t.get(i.dimensions[0], r), + h = t.get(i.dimensions[1], r); + o = i.dataToPoint([u, h]); + } + } else o = [s, l]; + isNaN(s) || (o[0] = s), isNaN(l) || (o[1] = l), t.setItemLayout(r, o); + }); + } + var MB = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.prototype.updateTransform = function (t, e, n) { + e.eachSeries(function (t) { + var e = cB.getMarkerModelFromSeries(t, "markPoint"); + e && (SB(e.getData(), t, n), this.markerGroupMap.get(t.id).updateLayout()); + }, this); + }), + (e.prototype.renderSeries = function (t, e, n, i) { + var r = t.coordinateSystem, + o = t.id, + a = t.getData(), + s = this.markerGroupMap, + l = s.get(o) || s.set(o, new mS()), + u = (function (t, e, n) { + var i; + i = t + ? z(t && t.dimensions, function (t) { + return A(A({}, e.getData().getDimensionInfo(e.getData().mapDimension(t)) || {}), { name: t, ordinalMeta: null }); + }) + : [{ name: "value", type: "float" }]; + var r = new cx(i, n), + o = z(n.get("data"), H(yB, e)); + t && (o = B(o, H(mB, t))); + var a = xB(!!t, i); + return r.initData(o, null, a), r; + })(r, t, e); + e.setData(u), + SB(e.getData(), t, i), + u.each(function (t) { + var n = u.getItemModel(t), + i = n.getShallow("symbol"), + r = n.getShallow("symbolSize"), + o = n.getShallow("symbolRotate"), + s = n.getShallow("symbolOffset"), + l = n.getShallow("symbolKeepAspect"); + if (X(i) || X(r) || X(o) || X(s)) { + var h = e.getRawValue(t), + c = e.getDataParams(t); + X(i) && (i = i(h, c)), X(r) && (r = r(h, c)), X(o) && (o = o(h, c)), X(s) && (s = s(h, c)); + } + var p = n.getModel("itemStyle").getItemStyle(), + d = Ay(a, "color"); + p.fill || (p.fill = d), u.setItemVisual(t, { symbol: i, symbolSize: r, symbolRotate: o, symbolOffset: s, symbolKeepAspect: l, style: p }); + }), + l.updateData(u), + this.group.add(l.group), + u.eachItemGraphicEl(function (t) { + t.traverse(function (t) { + rl(t).dataModel = e; + }); + }), + this.markKeep(l), + (l.group.silent = e.get("silent") || t.get("silent")); + }), + (e.type = "markPoint"), + e + ); + })(wB); + var IB = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.prototype.createMarkerModelFromSeries = function (t, n, i) { + return new e(t, n, i); + }), + (e.type = "markLine"), + (e.defaultOption = { + z: 5, + symbol: ["circle", "arrow"], + symbolSize: [8, 16], + symbolOffset: 0, + precision: 2, + tooltip: { trigger: "item" }, + label: { show: !0, position: "end", distance: 5 }, + lineStyle: { type: "dashed" }, + emphasis: { label: { show: !0 }, lineStyle: { width: 3 } }, + animationEasing: "linear", + }), + e + ); + })(cB), + TB = Vo(), + CB = function (t, e, n, i) { + var r, + o = t.getData(); + if (Y(i)) r = i; + else { + var a = i.type; + if ("min" === a || "max" === a || "average" === a || "median" === a || null != i.xAxis || null != i.yAxis) { + var s = void 0, + l = void 0; + if (null != i.yAxis || null != i.xAxis) (s = e.getAxis(null != i.yAxis ? "y" : "x")), (l = it(i.yAxis, i.xAxis)); + else { + var u = vB(i, o, e, t); + (s = u.valueAxis), (l = _B(o, xx(o, u.valueDataDim), a)); + } + var h = "x" === s.dim ? 0 : 1, + c = 1 - h, + p = T(i), + d = { coord: [] }; + (p.type = null), (p.coord = []), (p.coord[c] = -1 / 0), (d.coord[c] = 1 / 0); + var f = n.get("precision"); + f >= 0 && j(l) && (l = +l.toFixed(Math.min(f, 20))), (p.coord[h] = d.coord[h] = l), (r = [p, d, { type: a, valueIndex: i.valueIndex, value: l }]); + } else r = []; + } + var g = [yB(t, r[0]), yB(t, r[1]), A({}, r[2])]; + return (g[2].type = g[2].type || null), C(g[2], g[0]), C(g[2], g[1]), g; + }; + function DB(t) { + return !isNaN(t) && !isFinite(t); + } + function AB(t, e, n, i) { + var r = 1 - t, + o = i.dimensions[t]; + return DB(e[r]) && DB(n[r]) && e[t] === n[t] && i.getAxis(o).containData(e[t]); + } + function kB(t, e) { + if ("cartesian2d" === t.type) { + var n = e[0].coord, + i = e[1].coord; + if (n && i && (AB(1, n, i, t) || AB(0, n, i, t))) return !0; + } + return mB(t, e[0]) && mB(t, e[1]); + } + function LB(t, e, n, i, r) { + var o, + a = i.coordinateSystem, + s = t.getItemModel(e), + l = $r(s.get("x"), r.getWidth()), + u = $r(s.get("y"), r.getHeight()); + if (isNaN(l) || isNaN(u)) { + if (i.getMarkerPosition) o = i.getMarkerPosition(t.getValues(t.dimensions, e)); + else { + var h = a.dimensions, + c = t.get(h[0], e), + p = t.get(h[1], e); + o = a.dataToPoint([c, p]); + } + if (PS(a, "cartesian2d")) { + var d = a.getAxis("x"), + f = a.getAxis("y"); + h = a.dimensions; + DB(t.get(h[0], e)) ? (o[0] = d.toGlobalCoord(d.getExtent()[n ? 0 : 1])) : DB(t.get(h[1], e)) && (o[1] = f.toGlobalCoord(f.getExtent()[n ? 0 : 1])); + } + isNaN(l) || (o[0] = l), isNaN(u) || (o[1] = u); + } else o = [l, u]; + t.setItemLayout(e, o); + } + var PB = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.prototype.updateTransform = function (t, e, n) { + e.eachSeries(function (t) { + var e = cB.getMarkerModelFromSeries(t, "markLine"); + if (e) { + var i = e.getData(), + r = TB(e).from, + o = TB(e).to; + r.each(function (e) { + LB(r, e, !0, t, n), LB(o, e, !1, t, n); + }), + i.each(function (t) { + i.setItemLayout(t, [r.getItemLayout(t), o.getItemLayout(t)]); + }), + this.markerGroupMap.get(t.id).updateLayout(); + } + }, this); + }), + (e.prototype.renderSeries = function (t, e, n, i) { + var r = t.coordinateSystem, + o = t.id, + a = t.getData(), + s = this.markerGroupMap, + l = s.get(o) || s.set(o, new WA()); + this.group.add(l.group); + var u = (function (t, e, n) { + var i; + i = t + ? z(t && t.dimensions, function (t) { + return A(A({}, e.getData().getDimensionInfo(e.getData().mapDimension(t)) || {}), { name: t, ordinalMeta: null }); + }) + : [{ name: "value", type: "float" }]; + var r = new cx(i, n), + o = new cx(i, n), + a = new cx([], n), + s = z(n.get("data"), H(CB, e, t, n)); + t && (s = B(s, H(kB, t))); + var l = xB(!!t, i); + return ( + r.initData( + z(s, function (t) { + return t[0]; + }), + null, + l + ), + o.initData( + z(s, function (t) { + return t[1]; + }), + null, + l + ), + a.initData( + z(s, function (t) { + return t[2]; + }) + ), + (a.hasItemOption = !0), + { from: r, to: o, line: a } + ); + })(r, t, e), + h = u.from, + c = u.to, + p = u.line; + (TB(e).from = h), (TB(e).to = c), e.setData(p); + var d = e.get("symbol"), + f = e.get("symbolSize"), + g = e.get("symbolRotate"), + y = e.get("symbolOffset"); + function v(e, n, r) { + var o = e.getItemModel(n); + LB(e, n, r, t, i); + var s = o.getModel("itemStyle").getItemStyle(); + null == s.fill && (s.fill = Ay(a, "color")), + e.setItemVisual(n, { + symbolKeepAspect: o.get("symbolKeepAspect"), + symbolOffset: rt(o.get("symbolOffset", !0), y[r ? 0 : 1]), + symbolRotate: rt(o.get("symbolRotate", !0), g[r ? 0 : 1]), + symbolSize: rt(o.get("symbolSize"), f[r ? 0 : 1]), + symbol: rt(o.get("symbol", !0), d[r ? 0 : 1]), + style: s, + }); + } + Y(d) || (d = [d, d]), + Y(f) || (f = [f, f]), + Y(g) || (g = [g, g]), + Y(y) || (y = [y, y]), + u.from.each(function (t) { + v(h, t, !0), v(c, t, !1); + }), + p.each(function (t) { + var e = p.getItemModel(t).getModel("lineStyle").getLineStyle(); + p.setItemLayout(t, [h.getItemLayout(t), c.getItemLayout(t)]), + null == e.stroke && (e.stroke = h.getItemVisual(t, "style").fill), + p.setItemVisual(t, { + fromSymbolKeepAspect: h.getItemVisual(t, "symbolKeepAspect"), + fromSymbolOffset: h.getItemVisual(t, "symbolOffset"), + fromSymbolRotate: h.getItemVisual(t, "symbolRotate"), + fromSymbolSize: h.getItemVisual(t, "symbolSize"), + fromSymbol: h.getItemVisual(t, "symbol"), + toSymbolKeepAspect: c.getItemVisual(t, "symbolKeepAspect"), + toSymbolOffset: c.getItemVisual(t, "symbolOffset"), + toSymbolRotate: c.getItemVisual(t, "symbolRotate"), + toSymbolSize: c.getItemVisual(t, "symbolSize"), + toSymbol: c.getItemVisual(t, "symbol"), + style: e, + }); + }), + l.updateData(p), + u.line.eachItemGraphicEl(function (t) { + (rl(t).dataModel = e), + t.traverse(function (t) { + rl(t).dataModel = e; + }); + }), + this.markKeep(l), + (l.group.silent = e.get("silent") || t.get("silent")); + }), + (e.type = "markLine"), + e + ); + })(wB); + var OB = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.prototype.createMarkerModelFromSeries = function (t, n, i) { + return new e(t, n, i); + }), + (e.type = "markArea"), + (e.defaultOption = { z: 1, tooltip: { trigger: "item" }, animation: !1, label: { show: !0, position: "top" }, itemStyle: { borderWidth: 0 }, emphasis: { label: { show: !0, position: "top" } } }), + e + ); + })(cB), + RB = Vo(), + NB = function (t, e, n, i) { + var r = i[0], + o = i[1]; + if (r && o) { + var a = yB(t, r), + s = yB(t, o), + l = a.coord, + u = s.coord; + (l[0] = it(l[0], -1 / 0)), (l[1] = it(l[1], -1 / 0)), (u[0] = it(u[0], 1 / 0)), (u[1] = it(u[1], 1 / 0)); + var h = D([{}, a, s]); + return (h.coord = [a.coord, s.coord]), (h.x0 = a.x), (h.y0 = a.y), (h.x1 = s.x), (h.y1 = s.y), h; + } + }; + function EB(t) { + return !isNaN(t) && !isFinite(t); + } + function zB(t, e, n, i) { + var r = 1 - t; + return EB(e[r]) && EB(n[r]); + } + function VB(t, e) { + var n = e.coord[0], + i = e.coord[1], + r = { coord: n, x: e.x0, y: e.y0 }, + o = { coord: i, x: e.x1, y: e.y1 }; + return PS(t, "cartesian2d") + ? !(!n || !i || (!zB(1, n, i) && !zB(0, n, i))) || + (function (t, e, n) { + return !(t && t.containZone && e.coord && n.coord && !dB(e) && !dB(n)) || t.containZone(e.coord, n.coord); + })(t, r, o) + : mB(t, r) || mB(t, o); + } + function BB(t, e, n, i, r) { + var o, + a = i.coordinateSystem, + s = t.getItemModel(e), + l = $r(s.get(n[0]), r.getWidth()), + u = $r(s.get(n[1]), r.getHeight()); + if (isNaN(l) || isNaN(u)) { + if (i.getMarkerPosition) { + var h = t.getValues(["x0", "y0"], e), + c = t.getValues(["x1", "y1"], e), + p = a.clampData(h), + d = a.clampData(c), + f = []; + "x0" === n[0] ? (f[0] = p[0] > d[0] ? c[0] : h[0]) : (f[0] = p[0] > d[0] ? h[0] : c[0]), "y0" === n[1] ? (f[1] = p[1] > d[1] ? c[1] : h[1]) : (f[1] = p[1] > d[1] ? h[1] : c[1]), (o = i.getMarkerPosition(f, n, !0)); + } else { + var g = [(m = t.get(n[0], e)), (x = t.get(n[1], e))]; + a.clampData && a.clampData(g, g), (o = a.dataToPoint(g, !0)); + } + if (PS(a, "cartesian2d")) { + var y = a.getAxis("x"), + v = a.getAxis("y"), + m = t.get(n[0], e), + x = t.get(n[1], e); + EB(m) ? (o[0] = y.toGlobalCoord(y.getExtent()["x0" === n[0] ? 0 : 1])) : EB(x) && (o[1] = v.toGlobalCoord(v.getExtent()["y0" === n[1] ? 0 : 1])); + } + isNaN(l) || (o[0] = l), isNaN(u) || (o[1] = u); + } else o = [l, u]; + return o; + } + var FB = [ + ["x0", "y0"], + ["x1", "y0"], + ["x1", "y1"], + ["x0", "y1"], + ], + GB = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.prototype.updateTransform = function (t, e, n) { + e.eachSeries(function (t) { + var e = cB.getMarkerModelFromSeries(t, "markArea"); + if (e) { + var i = e.getData(); + i.each(function (e) { + var r = z(FB, function (r) { + return BB(i, e, r, t, n); + }); + i.setItemLayout(e, r), i.getItemGraphicEl(e).setShape("points", r); + }); + } + }, this); + }), + (e.prototype.renderSeries = function (t, e, n, i) { + var r = t.coordinateSystem, + o = t.id, + a = t.getData(), + s = this.markerGroupMap, + l = s.get(o) || s.set(o, { group: new Br() }); + this.group.add(l.group), this.markKeep(l); + var u = (function (t, e, n) { + var i, + r, + o = ["x0", "y0", "x1", "y1"]; + if (t) { + var a = z(t && t.dimensions, function (t) { + var n = e.getData(); + return A(A({}, n.getDimensionInfo(n.mapDimension(t)) || {}), { name: t, ordinalMeta: null }); + }); + (r = z(o, function (t, e) { + return { name: t, type: a[e % 2].type }; + })), + (i = new cx(r, n)); + } else i = new cx((r = [{ name: "value", type: "float" }]), n); + var s = z(n.get("data"), H(NB, e, t, n)); + t && (s = B(s, H(VB, t))); + var l = t + ? function (t, e, n, i) { + return If(t.coord[Math.floor(i / 2)][i % 2], r[i]); + } + : function (t, e, n, i) { + return If(t.value, r[i]); + }; + return i.initData(s, null, l), (i.hasItemOption = !0), i; + })(r, t, e); + e.setData(u), + u.each(function (e) { + var n = z(FB, function (n) { + return BB(u, e, n, t, i); + }), + o = r.getAxis("x").scale, + s = r.getAxis("y").scale, + l = o.getExtent(), + h = s.getExtent(), + c = [o.parse(u.get("x0", e)), o.parse(u.get("x1", e))], + p = [s.parse(u.get("y0", e)), s.parse(u.get("y1", e))]; + Qr(c), Qr(p); + var d = !!(l[0] > c[1] || l[1] < c[0] || h[0] > p[1] || h[1] < p[0]); + u.setItemLayout(e, { points: n, allClipped: d }); + var f = u.getItemModel(e).getModel("itemStyle").getItemStyle(), + g = Ay(a, "color"); + f.fill || ((f.fill = g), U(f.fill) && (f.fill = ii(f.fill, 0.4))), f.stroke || (f.stroke = g), u.setItemVisual(e, "style", f); + }), + u + .diff(RB(l).data) + .add(function (t) { + var e = u.getItemLayout(t); + if (!e.allClipped) { + var n = new Xu({ shape: { points: e.points } }); + u.setItemGraphicEl(t, n), l.group.add(n); + } + }) + .update(function (t, n) { + var i = RB(l).data.getItemGraphicEl(n), + r = u.getItemLayout(t); + r.allClipped ? i && l.group.remove(i) : (i ? vh(i, { shape: { points: r.points } }, e, t) : (i = new Xu({ shape: { points: r.points } })), u.setItemGraphicEl(t, i), l.group.add(i)); + }) + .remove(function (t) { + var e = RB(l).data.getItemGraphicEl(t); + l.group.remove(e); + }) + .execute(), + u.eachItemGraphicEl(function (t, n) { + var i = u.getItemModel(n), + r = u.getItemVisual(n, "style"); + t.useStyle(u.getItemVisual(n, "style")), + ic(t, rc(i), { labelFetcher: e, labelDataIndex: n, defaultText: u.getName(n) || "", inheritColor: U(r.fill) ? ii(r.fill, 1) : "#000" }), + $l(t, i), + Zl(t, null, null, i.get(["emphasis", "disabled"])), + (rl(t).dataModel = e); + }), + (RB(l).data = u), + (l.group.silent = e.get("silent") || t.get("silent")); + }), + (e.type = "markArea"), + e + ); + })(wB); + var WB = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), (n.layoutMode = { type: "box", ignoreSize: !0 }), n; + } + return ( + n(e, t), + (e.prototype.init = function (t, e, n) { + this.mergeDefaultAndTheme(t, n), (t.selected = t.selected || {}), this._updateSelector(t); + }), + (e.prototype.mergeOption = function (e, n) { + t.prototype.mergeOption.call(this, e, n), this._updateSelector(e); + }), + (e.prototype._updateSelector = function (t) { + var e = t.selector, + n = this.ecModel; + !0 === e && (e = t.selector = ["all", "inverse"]), + Y(e) && + E(e, function (t, i) { + U(t) && (t = { type: t }), + (e[i] = C( + t, + (function (t, e) { + return "all" === e ? { type: "all", title: t.getLocaleModel().get(["legend", "selector", "all"]) } : "inverse" === e ? { type: "inverse", title: t.getLocaleModel().get(["legend", "selector", "inverse"]) } : void 0; + })(n, t.type) + )); + }); + }), + (e.prototype.optionUpdated = function () { + this._updateData(this.ecModel); + var t = this._data; + if (t[0] && "single" === this.get("selectedMode")) { + for (var e = !1, n = 0; n < t.length; n++) { + var i = t[n].get("name"); + if (this.isSelected(i)) { + this.select(i), (e = !0); + break; + } + } + !e && this.select(t[0].get("name")); + } + }), + (e.prototype._updateData = function (t) { + var e = [], + n = []; + t.eachRawSeries(function (i) { + var r, + o = i.name; + if ((n.push(o), i.legendVisualProvider)) { + var a = i.legendVisualProvider.getAllNames(); + t.isSeriesFiltered(i) || (n = n.concat(a)), a.length ? (e = e.concat(a)) : (r = !0); + } else r = !0; + r && No(i) && e.push(i.name); + }), + (this._availableNames = n); + var i = this.get("data") || e, + r = yt(), + o = z( + i, + function (t) { + return (U(t) || j(t)) && (t = { name: t }), r.get(t.name) ? null : (r.set(t.name, !0), new Cc(t, this, this.ecModel)); + }, + this + ); + this._data = B(o, function (t) { + return !!t; + }); + }), + (e.prototype.getData = function () { + return this._data; + }), + (e.prototype.select = function (t) { + var e = this.option.selected; + "single" === this.get("selectedMode") && + E(this._data, function (t) { + e[t.get("name")] = !1; + }); + e[t] = !0; + }), + (e.prototype.unSelect = function (t) { + "single" !== this.get("selectedMode") && (this.option.selected[t] = !1); + }), + (e.prototype.toggleSelected = function (t) { + var e = this.option.selected; + e.hasOwnProperty(t) || (e[t] = !0), this[e[t] ? "unSelect" : "select"](t); + }), + (e.prototype.allSelect = function () { + var t = this._data, + e = this.option.selected; + E(t, function (t) { + e[t.get("name", !0)] = !0; + }); + }), + (e.prototype.inverseSelect = function () { + var t = this._data, + e = this.option.selected; + E(t, function (t) { + var n = t.get("name", !0); + e.hasOwnProperty(n) || (e[n] = !0), (e[n] = !e[n]); + }); + }), + (e.prototype.isSelected = function (t) { + var e = this.option.selected; + return !(e.hasOwnProperty(t) && !e[t]) && P(this._availableNames, t) >= 0; + }), + (e.prototype.getOrient = function () { + return "vertical" === this.get("orient") ? { index: 1, name: "vertical" } : { index: 0, name: "horizontal" }; + }), + (e.type = "legend.plain"), + (e.dependencies = ["series"]), + (e.defaultOption = { + z: 4, + show: !0, + orient: "horizontal", + left: "center", + top: 0, + align: "auto", + backgroundColor: "rgba(0,0,0,0)", + borderColor: "#ccc", + borderRadius: 0, + borderWidth: 0, + padding: 5, + itemGap: 10, + itemWidth: 25, + itemHeight: 14, + symbolRotate: "inherit", + symbolKeepAspect: !0, + inactiveColor: "#ccc", + inactiveBorderColor: "#ccc", + inactiveBorderWidth: "auto", + itemStyle: { color: "inherit", opacity: "inherit", borderColor: "inherit", borderWidth: "auto", borderCap: "inherit", borderJoin: "inherit", borderDashOffset: "inherit", borderMiterLimit: "inherit" }, + lineStyle: { width: "auto", color: "inherit", inactiveColor: "#ccc", inactiveWidth: 2, opacity: "inherit", type: "inherit", cap: "inherit", join: "inherit", dashOffset: "inherit", miterLimit: "inherit" }, + textStyle: { color: "#333" }, + selectedMode: !0, + selector: !1, + selectorLabel: { show: !0, borderRadius: 10, padding: [3, 5, 3, 5], fontSize: 12, fontFamily: "sans-serif", color: "#666", borderWidth: 1, borderColor: "#666" }, + emphasis: { selectorLabel: { show: !0, color: "#eee", backgroundColor: "#666" } }, + selectorPosition: "auto", + selectorItemGap: 7, + selectorButtonGap: 10, + tooltip: { show: !1 }, + }), + e + ); + })(zp), + HB = H, + YB = E, + XB = Br, + UB = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), (n.newlineDisabled = !1), n; + } + return ( + n(e, t), + (e.prototype.init = function () { + this.group.add((this._contentGroup = new XB())), this.group.add((this._selectorGroup = new XB())), (this._isFirstRender = !0); + }), + (e.prototype.getContentGroup = function () { + return this._contentGroup; + }), + (e.prototype.getSelectorGroup = function () { + return this._selectorGroup; + }), + (e.prototype.render = function (t, e, n) { + var i = this._isFirstRender; + if (((this._isFirstRender = !1), this.resetInner(), t.get("show", !0))) { + var r = t.get("align"), + o = t.get("orient"); + (r && "auto" !== r) || (r = "right" === t.get("left") && "vertical" === o ? "right" : "left"); + var a = t.get("selector", !0), + s = t.get("selectorPosition", !0); + !a || (s && "auto" !== s) || (s = "horizontal" === o ? "end" : "start"), this.renderInner(r, t, e, n, a, o, s); + var l = t.getBoxLayoutParams(), + u = { width: n.getWidth(), height: n.getHeight() }, + h = t.get("padding"), + c = kp(l, u, h), + p = this.layoutInner(t, r, c, i, a, s), + d = kp(k({ width: p.width, height: p.height }, l), u, h); + (this.group.x = d.x - p.x), (this.group.y = d.y - p.y), this.group.markRedraw(), this.group.add((this._backgroundEl = bz(p, t))); + } + }), + (e.prototype.resetInner = function () { + this.getContentGroup().removeAll(), this._backgroundEl && this.group.remove(this._backgroundEl), this.getSelectorGroup().removeAll(); + }), + (e.prototype.renderInner = function (t, e, n, i, r, o, a) { + var s = this.getContentGroup(), + l = yt(), + u = e.get("selectedMode"), + h = []; + n.eachRawSeries(function (t) { + !t.get("legendHoverLink") && h.push(t.id); + }), + YB( + e.getData(), + function (r, o) { + var a = r.get("name"); + if (!this.newlineDisabled && ("" === a || "\n" === a)) { + var c = new XB(); + return (c.newline = !0), void s.add(c); + } + var p = n.getSeriesByName(a)[0]; + if (!l.get(a)) { + if (p) { + var d = p.getData(), + f = d.getVisual("legendLineStyle") || {}, + g = d.getVisual("legendIcon"), + y = d.getVisual("style"), + v = this._createItem(p, a, o, r, e, t, f, y, g, u, i); + v.on("click", HB(ZB, a, null, i, h)).on("mouseover", HB(qB, p.name, null, i, h)).on("mouseout", HB(KB, p.name, null, i, h)), + n.ssr && + v.eachChild(function (t) { + var e = rl(t); + (e.seriesIndex = p.seriesIndex), (e.dataIndex = o), (e.ssrType = "legend"); + }), + l.set(a, !0); + } else + n.eachRawSeries(function (s) { + if (!l.get(a) && s.legendVisualProvider) { + var c = s.legendVisualProvider; + if (!c.containName(a)) return; + var p = c.indexOfName(a), + d = c.getItemVisual(p, "style"), + f = c.getItemVisual(p, "legendIcon"), + g = qn(d.fill); + g && 0 === g[3] && ((g[3] = 0.2), (d = A(A({}, d), { fill: ri(g, "rgba") }))); + var y = this._createItem(s, a, o, r, e, t, {}, d, f, u, i); + y.on("click", HB(ZB, null, a, i, h)).on("mouseover", HB(qB, null, a, i, h)).on("mouseout", HB(KB, null, a, i, h)), + n.ssr && + y.eachChild(function (t) { + var e = rl(t); + (e.seriesIndex = s.seriesIndex), (e.dataIndex = o), (e.ssrType = "legend"); + }), + l.set(a, !0); + } + }, this); + 0; + } + }, + this + ), + r && this._createSelector(r, e, i, o, a); + }), + (e.prototype._createSelector = function (t, e, n, i, r) { + var o = this.getSelectorGroup(); + YB(t, function (t) { + var i = t.type, + r = new Xs({ + style: { x: 0, y: 0, align: "center", verticalAlign: "middle" }, + onclick: function () { + n.dispatchAction({ type: "all" === i ? "legendAllSelect" : "legendInverseSelect" }); + }, + }); + o.add(r), ic(r, { normal: e.getModel("selectorLabel"), emphasis: e.getModel(["emphasis", "selectorLabel"]) }, { defaultText: t.title }), Ul(r); + }); + }), + (e.prototype._createItem = function (t, e, n, i, r, o, a, s, l, u, h) { + var c = t.visualDrawType, + p = r.get("itemWidth"), + d = r.get("itemHeight"), + f = r.isSelected(e), + g = i.get("symbolRotate"), + y = i.get("symbolKeepAspect"), + v = i.get("icon"), + m = (function (t, e, n, i, r, o, a) { + function s(t, e) { + "auto" === t.lineWidth && (t.lineWidth = e.lineWidth > 0 ? 2 : 0), + YB(t, function (n, i) { + "inherit" === t[i] && (t[i] = e[i]); + }); + } + var l = e.getModel("itemStyle"), + u = l.getItemStyle(), + h = 0 === t.lastIndexOf("empty", 0) ? "fill" : "stroke", + c = l.getShallow("decal"); + (u.decal = c && "inherit" !== c ? mv(c, a) : i.decal), "inherit" === u.fill && (u.fill = i[r]); + "inherit" === u.stroke && (u.stroke = i[h]); + "inherit" === u.opacity && (u.opacity = ("fill" === r ? i : n).opacity); + s(u, i); + var p = e.getModel("lineStyle"), + d = p.getLineStyle(); + if ((s(d, n), "auto" === u.fill && (u.fill = i.fill), "auto" === u.stroke && (u.stroke = i.fill), "auto" === d.stroke && (d.stroke = i.fill), !o)) { + var f = e.get("inactiveBorderWidth"), + g = u[h]; + (u.lineWidth = "auto" === f ? (i.lineWidth > 0 && g ? 2 : 0) : u.lineWidth), + (u.fill = e.get("inactiveColor")), + (u.stroke = e.get("inactiveBorderColor")), + (d.stroke = p.get("inactiveColor")), + (d.lineWidth = p.get("inactiveWidth")); + } + return { itemStyle: u, lineStyle: d }; + })((l = v || l || "roundRect"), i, a, s, c, f, h), + x = new XB(), + _ = i.getModel("textStyle"); + if (!X(t.getLegendIcon) || (v && "inherit" !== v)) { + var b = "inherit" === v && t.getData().getVisual("symbol") ? ("inherit" === g ? t.getData().getVisual("symbolRotate") : g) : 0; + x.add( + (function (t) { + var e = t.icon || "roundRect", + n = Xy(e, 0, 0, t.itemWidth, t.itemHeight, t.itemStyle.fill, t.symbolKeepAspect); + n.setStyle(t.itemStyle), + (n.rotation = ((t.iconRotate || 0) * Math.PI) / 180), + n.setOrigin([t.itemWidth / 2, t.itemHeight / 2]), + e.indexOf("empty") > -1 && ((n.style.stroke = n.style.fill), (n.style.fill = "#fff"), (n.style.lineWidth = 2)); + return n; + })({ itemWidth: p, itemHeight: d, icon: l, iconRotate: b, itemStyle: m.itemStyle, lineStyle: m.lineStyle, symbolKeepAspect: y }) + ); + } else x.add(t.getLegendIcon({ itemWidth: p, itemHeight: d, icon: l, iconRotate: g, itemStyle: m.itemStyle, lineStyle: m.lineStyle, symbolKeepAspect: y })); + var w = "left" === o ? p + 5 : -5, + S = o, + M = r.get("formatter"), + I = e; + U(M) && M ? (I = M.replace("{name}", null != e ? e : "")) : X(M) && (I = M(e)); + var T = f ? _.getTextColor() : i.get("inactiveColor"); + x.add(new Xs({ style: oc(_, { text: I, x: w, y: d / 2, fill: T, align: S, verticalAlign: "middle" }, { inheritColor: T }) })); + var C = new Ws({ shape: x.getBoundingRect(), style: { fill: "transparent" } }), + D = i.getModel("tooltip"); + return ( + D.get("show") && Kh({ el: C, componentModel: r, itemName: e, itemTooltipOption: D.option }), + x.add(C), + x.eachChild(function (t) { + t.silent = !0; + }), + (C.silent = !u), + this.getContentGroup().add(x), + Ul(x), + (x.__legendDataIndex = n), + x + ); + }), + (e.prototype.layoutInner = function (t, e, n, i, r, o) { + var a = this.getContentGroup(), + s = this.getSelectorGroup(); + Ap(t.get("orient"), a, t.get("itemGap"), n.width, n.height); + var l = a.getBoundingRect(), + u = [-l.x, -l.y]; + if ((s.markRedraw(), a.markRedraw(), r)) { + Ap("horizontal", s, t.get("selectorItemGap", !0)); + var h = s.getBoundingRect(), + c = [-h.x, -h.y], + p = t.get("selectorButtonGap", !0), + d = t.getOrient().index, + f = 0 === d ? "width" : "height", + g = 0 === d ? "height" : "width", + y = 0 === d ? "y" : "x"; + "end" === o ? (c[d] += l[f] + p) : (u[d] += h[f] + p), (c[1 - d] += l[g] / 2 - h[g] / 2), (s.x = c[0]), (s.y = c[1]), (a.x = u[0]), (a.y = u[1]); + var v = { x: 0, y: 0 }; + return (v[f] = l[f] + p + h[f]), (v[g] = Math.max(l[g], h[g])), (v[y] = Math.min(0, h[y] + c[1 - d])), v; + } + return (a.x = u[0]), (a.y = u[1]), this.group.getBoundingRect(); + }), + (e.prototype.remove = function () { + this.getContentGroup().removeAll(), (this._isFirstRender = !0); + }), + (e.type = "legend.plain"), + e + ); + })(Ag); + function ZB(t, e, n, i) { + KB(t, e, n, i), n.dispatchAction({ type: "legendToggleSelect", name: null != t ? t : e }), qB(t, e, n, i); + } + function jB(t) { + for (var e, n = t.getZr().storage.getDisplayList(), i = 0, r = n.length; i < r && !(e = n[i].states.emphasis); ) i++; + return e && e.hoverLayer; + } + function qB(t, e, n, i) { + jB(n) || n.dispatchAction({ type: "highlight", seriesName: t, name: e, excludeSeriesId: i }); + } + function KB(t, e, n, i) { + jB(n) || n.dispatchAction({ type: "downplay", seriesName: t, name: e, excludeSeriesId: i }); + } + function $B(t) { + var e = t.findComponents({ mainType: "legend" }); + e && + e.length && + t.filterSeries(function (t) { + for (var n = 0; n < e.length; n++) if (!e[n].isSelected(t.name)) return !1; + return !0; + }); + } + function JB(t, e, n) { + var i, + r = {}, + o = "toggleSelected" === t; + return ( + n.eachComponent("legend", function (n) { + o && null != i ? n[i ? "select" : "unSelect"](e.name) : "allSelect" === t || "inverseSelect" === t ? n[t]() : (n[t](e.name), (i = n.isSelected(e.name))), + E(n.getData(), function (t) { + var e = t.get("name"); + if ("\n" !== e && "" !== e) { + var i = n.isSelected(e); + r.hasOwnProperty(e) ? (r[e] = r[e] && i) : (r[e] = i); + } + }); + }), + "allSelect" === t || "inverseSelect" === t ? { selected: r } : { name: e.name, selected: r } + ); + } + function QB(t) { + t.registerComponentModel(WB), + t.registerComponentView(UB), + t.registerProcessor(t.PRIORITY.PROCESSOR.SERIES_FILTER, $B), + t.registerSubTypeDefaulter("legend", function () { + return "plain"; + }), + (function (t) { + t.registerAction("legendToggleSelect", "legendselectchanged", H(JB, "toggleSelected")), + t.registerAction("legendAllSelect", "legendselectall", H(JB, "allSelect")), + t.registerAction("legendInverseSelect", "legendinverseselect", H(JB, "inverseSelect")), + t.registerAction("legendSelect", "legendselected", H(JB, "select")), + t.registerAction("legendUnSelect", "legendunselected", H(JB, "unSelect")); + })(t); + } + var tF = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.prototype.setScrollDataIndex = function (t) { + this.option.scrollDataIndex = t; + }), + (e.prototype.init = function (e, n, i) { + var r = Rp(e); + t.prototype.init.call(this, e, n, i), eF(this, e, r); + }), + (e.prototype.mergeOption = function (e, n) { + t.prototype.mergeOption.call(this, e, n), eF(this, this.option, e); + }), + (e.type = "legend.scroll"), + (e.defaultOption = kc(WB.defaultOption, { + scrollDataIndex: 0, + pageButtonItemGap: 5, + pageButtonGap: null, + pageButtonPosition: "end", + pageFormatter: "{current}/{total}", + pageIcons: { horizontal: ["M0,0L12,-10L12,10z", "M0,0L-12,-10L-12,10z"], vertical: ["M0,0L20,0L10,-20z", "M0,0L20,0L10,20z"] }, + pageIconColor: "#2f4554", + pageIconInactiveColor: "#aaa", + pageIconSize: 15, + pageTextStyle: { color: "#333" }, + animationDurationUpdate: 800, + })), + e + ); + })(WB); + function eF(t, e, n) { + var i = [1, 1]; + (i[t.getOrient().index] = 0), Op(e, n, { type: "box", ignoreSize: !!i }); + } + var nF = Br, + iF = ["width", "height"], + rF = ["x", "y"], + oF = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), (n.newlineDisabled = !0), (n._currentIndex = 0), n; + } + return ( + n(e, t), + (e.prototype.init = function () { + t.prototype.init.call(this), this.group.add((this._containerGroup = new nF())), this._containerGroup.add(this.getContentGroup()), this.group.add((this._controllerGroup = new nF())); + }), + (e.prototype.resetInner = function () { + t.prototype.resetInner.call(this), this._controllerGroup.removeAll(), this._containerGroup.removeClipPath(), (this._containerGroup.__rectSize = null); + }), + (e.prototype.renderInner = function (e, n, i, r, o, a, s) { + var l = this; + t.prototype.renderInner.call(this, e, n, i, r, o, a, s); + var u = this._controllerGroup, + h = n.get("pageIconSize", !0), + c = Y(h) ? h : [h, h]; + d("pagePrev", 0); + var p = n.getModel("pageTextStyle"); + function d(t, e) { + var i = t + "DataIndex", + o = Uh(n.get("pageIcons", !0)[n.getOrient().name][e], { onclick: W(l._pageGo, l, i, n, r) }, { x: -c[0] / 2, y: -c[1] / 2, width: c[0], height: c[1] }); + (o.name = t), u.add(o); + } + u.add(new Xs({ name: "pageText", style: { text: "xx/xx", fill: p.getTextColor(), font: p.getFont(), verticalAlign: "middle", align: "center" }, silent: !0 })), d("pageNext", 1); + }), + (e.prototype.layoutInner = function (t, e, n, i, r, o) { + var a = this.getSelectorGroup(), + s = t.getOrient().index, + l = iF[s], + u = rF[s], + h = iF[1 - s], + c = rF[1 - s]; + r && Ap("horizontal", a, t.get("selectorItemGap", !0)); + var p = t.get("selectorButtonGap", !0), + d = a.getBoundingRect(), + f = [-d.x, -d.y], + g = T(n); + r && (g[l] = n[l] - d[l] - p); + var y = this._layoutContentAndController(t, i, g, s, l, h, c, u); + if (r) { + if ("end" === o) f[s] += y[l] + p; + else { + var v = d[l] + p; + (f[s] -= v), (y[u] -= v); + } + (y[l] += d[l] + p), (f[1 - s] += y[c] + y[h] / 2 - d[h] / 2), (y[h] = Math.max(y[h], d[h])), (y[c] = Math.min(y[c], d[c] + f[1 - s])), (a.x = f[0]), (a.y = f[1]), a.markRedraw(); + } + return y; + }), + (e.prototype._layoutContentAndController = function (t, e, n, i, r, o, a, s) { + var l = this.getContentGroup(), + u = this._containerGroup, + h = this._controllerGroup; + Ap(t.get("orient"), l, t.get("itemGap"), i ? n.width : null, i ? null : n.height), Ap("horizontal", h, t.get("pageButtonItemGap", !0)); + var c = l.getBoundingRect(), + p = h.getBoundingRect(), + d = (this._showController = c[r] > n[r]), + f = [-c.x, -c.y]; + e || (f[i] = l[s]); + var g = [0, 0], + y = [-p.x, -p.y], + v = rt(t.get("pageButtonGap", !0), t.get("itemGap", !0)); + d && ("end" === t.get("pageButtonPosition", !0) ? (y[i] += n[r] - p[r]) : (g[i] += p[r] + v)); + (y[1 - i] += c[o] / 2 - p[o] / 2), l.setPosition(f), u.setPosition(g), h.setPosition(y); + var m = { x: 0, y: 0 }; + if (((m[r] = d ? n[r] : c[r]), (m[o] = Math.max(c[o], p[o])), (m[a] = Math.min(0, p[a] + y[1 - i])), (u.__rectSize = n[r]), d)) { + var x = { x: 0, y: 0 }; + (x[r] = Math.max(n[r] - p[r] - v, 0)), (x[o] = m[o]), u.setClipPath(new Ws({ shape: x })), (u.__rectSize = x[r]); + } else + h.eachChild(function (t) { + t.attr({ invisible: !0, silent: !0 }); + }); + var _ = this._getPageInfo(t); + return null != _.pageIndex && vh(l, { x: _.contentPosition[0], y: _.contentPosition[1] }, d ? t : null), this._updatePageInfoView(t, _), m; + }), + (e.prototype._pageGo = function (t, e, n) { + var i = this._getPageInfo(e)[t]; + null != i && n.dispatchAction({ type: "legendScroll", scrollDataIndex: i, legendId: e.id }); + }), + (e.prototype._updatePageInfoView = function (t, e) { + var n = this._controllerGroup; + E(["pagePrev", "pageNext"], function (i) { + var r = null != e[i + "DataIndex"], + o = n.childOfName(i); + o && (o.setStyle("fill", r ? t.get("pageIconColor", !0) : t.get("pageIconInactiveColor", !0)), (o.cursor = r ? "pointer" : "default")); + }); + var i = n.childOfName("pageText"), + r = t.get("pageFormatter"), + o = e.pageIndex, + a = null != o ? o + 1 : 0, + s = e.pageCount; + i && r && i.setStyle("text", U(r) ? r.replace("{current}", null == a ? "" : a + "").replace("{total}", null == s ? "" : s + "") : r({ current: a, total: s })); + }), + (e.prototype._getPageInfo = function (t) { + var e = t.get("scrollDataIndex", !0), + n = this.getContentGroup(), + i = this._containerGroup.__rectSize, + r = t.getOrient().index, + o = iF[r], + a = rF[r], + s = this._findTargetItemIndex(e), + l = n.children(), + u = l[s], + h = l.length, + c = h ? 1 : 0, + p = { contentPosition: [n.x, n.y], pageCount: c, pageIndex: c - 1, pagePrevDataIndex: null, pageNextDataIndex: null }; + if (!u) return p; + var d = m(u); + p.contentPosition[r] = -d.s; + for (var f = s + 1, g = d, y = d, v = null; f <= h; ++f) ((!(v = m(l[f])) && y.e > g.s + i) || (v && !x(v, g.s))) && (g = y.i > g.i ? y : v) && (null == p.pageNextDataIndex && (p.pageNextDataIndex = g.i), ++p.pageCount), (y = v); + for (f = s - 1, g = d, y = d, v = null; f >= -1; --f) ((v = m(l[f])) && x(y, v.s)) || !(g.i < y.i) || ((y = g), null == p.pagePrevDataIndex && (p.pagePrevDataIndex = g.i), ++p.pageCount, ++p.pageIndex), (g = v); + return p; + function m(t) { + if (t) { + var e = t.getBoundingRect(), + n = e[a] + t[a]; + return { s: n, e: n + e[o], i: t.__legendDataIndex }; + } + } + function x(t, e) { + return t.e >= e && t.s <= e + i; + } + }), + (e.prototype._findTargetItemIndex = function (t) { + return this._showController + ? (this.getContentGroup().eachChild(function (i, r) { + var o = i.__legendDataIndex; + null == n && null != o && (n = r), o === t && (e = r); + }), + null != e ? e : n) + : 0; + var e, n; + }), + (e.type = "legend.scroll"), + e + ); + })(UB); + function aF(t) { + Vm(QB), + t.registerComponentModel(tF), + t.registerComponentView(oF), + (function (t) { + t.registerAction("legendScroll", "legendscroll", function (t, e) { + var n = t.scrollDataIndex; + null != n && + e.eachComponent({ mainType: "legend", subType: "scroll", query: t }, function (t) { + t.setScrollDataIndex(n); + }); + }); + })(t); + } + var sF = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return n(e, t), (e.type = "dataZoom.inside"), (e.defaultOption = kc(rz.defaultOption, { disabled: !1, zoomLock: !1, zoomOnMouseWheel: !0, moveOnMouseMove: !0, moveOnMouseWheel: !1, preventDefaultMouseMove: !0 })), e; + })(rz), + lF = Vo(); + function uF(t, e, n) { + lF(t).coordSysRecordMap.each(function (t) { + var i = t.dataZoomInfoMap.get(e.uid); + i && (i.getRange = n); + }); + } + function hF(t, e) { + if (e) { + t.removeKey(e.model.uid); + var n = e.controller; + n && n.dispose(); + } + } + function cF(t, e) { + t.isDisposed() || t.dispatchAction({ type: "dataZoom", animation: { easing: "cubicOut", duration: 100 }, batch: e }); + } + function pF(t, e, n, i) { + return t.coordinateSystem.containPoint([n, i]); + } + function dF(t) { + t.registerProcessor(t.PRIORITY.PROCESSOR.FILTER, function (t, e) { + var n = lF(e), + i = n.coordSysRecordMap || (n.coordSysRecordMap = yt()); + i.each(function (t) { + t.dataZoomInfoMap = null; + }), + t.eachComponent({ mainType: "dataZoom", subType: "inside" }, function (t) { + E(nz(t).infoList, function (n) { + var r = n.model.uid, + o = + i.get(r) || + i.set( + r, + (function (t, e) { + var n = { model: e, containsPoint: H(pF, e), dispatchAction: H(cF, t), dataZoomInfoMap: null, controller: null }, + i = (n.controller = new tT(t.getZr())); + return ( + E(["pan", "zoom", "scrollMove"], function (t) { + i.on(t, function (e) { + var i = []; + n.dataZoomInfoMap.each(function (r) { + if (e.isAvailableBehavior(r.model.option)) { + var o = (r.getRange || {})[t], + a = o && o(r.dzReferCoordSysInfo, n.model.mainType, n.controller, e); + !r.model.get("disabled", !0) && a && i.push({ dataZoomId: r.model.id, start: a[0], end: a[1] }); + } + }), + i.length && n.dispatchAction(i); + }); + }), + n + ); + })(e, n.model) + ); + (o.dataZoomInfoMap || (o.dataZoomInfoMap = yt())).set(t.uid, { dzReferCoordSysInfo: n, model: t, getRange: null }); + }); + }), + i.each(function (t) { + var e, + n = t.controller, + r = t.dataZoomInfoMap; + if (r) { + var o = r.keys()[0]; + null != o && (e = r.get(o)); + } + if (e) { + var a = (function (t) { + var e, + n = "type_", + i = { type_true: 2, type_move: 1, type_false: 0, type_undefined: -1 }, + r = !0; + return ( + t.each(function (t) { + var o = t.model, + a = !o.get("disabled", !0) && (!o.get("zoomLock", !0) || "move"); + i[n + a] > i[n + e] && (e = a), (r = r && o.get("preventDefaultMouseMove", !0)); + }), + { controlType: e, opt: { zoomOnMouseWheel: !0, moveOnMouseMove: !0, moveOnMouseWheel: !0, preventDefaultMouseMove: !!r } } + ); + })(r); + n.enable(a.controlType, a.opt), n.setPointerChecker(t.containsPoint), Hg(t, "dispatchAction", e.model.get("throttle", !0), "fixRate"); + } else hF(i, t); + }); + }); + } + var fF = (function (t) { + function e() { + var e = (null !== t && t.apply(this, arguments)) || this; + return (e.type = "dataZoom.inside"), e; + } + return ( + n(e, t), + (e.prototype.render = function (e, n, i) { + t.prototype.render.apply(this, arguments), e.noTarget() ? this._clear() : ((this.range = e.getPercentRange()), uF(i, e, { pan: W(gF.pan, this), zoom: W(gF.zoom, this), scrollMove: W(gF.scrollMove, this) })); + }), + (e.prototype.dispose = function () { + this._clear(), t.prototype.dispose.apply(this, arguments); + }), + (e.prototype._clear = function () { + !(function (t, e) { + for (var n = lF(t).coordSysRecordMap, i = n.keys(), r = 0; r < i.length; r++) { + var o = i[r], + a = n.get(o), + s = a.dataZoomInfoMap; + if (s) { + var l = e.uid; + s.get(l) && (s.removeKey(l), s.keys().length || hF(n, a)); + } + } + })(this.api, this.dataZoomModel), + (this.range = null); + }), + (e.type = "dataZoom.inside"), + e + ); + })(sz), + gF = { + zoom: function (t, e, n, i) { + var r = this.range, + o = r.slice(), + a = t.axisModels[0]; + if (a) { + var s = vF[e](null, [i.originX, i.originY], a, n, t), + l = ((s.signal > 0 ? s.pixelStart + s.pixelLength - s.pixel : s.pixel - s.pixelStart) / s.pixelLength) * (o[1] - o[0]) + o[0], + u = Math.max(1 / i.scale, 0); + (o[0] = (o[0] - l) * u + l), (o[1] = (o[1] - l) * u + l); + var h = this.dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan(); + return Nk(0, o, [0, 100], 0, h.minSpan, h.maxSpan), (this.range = o), r[0] !== o[0] || r[1] !== o[1] ? o : void 0; + } + }, + pan: yF(function (t, e, n, i, r, o) { + var a = vF[i]([o.oldX, o.oldY], [o.newX, o.newY], e, r, n); + return (a.signal * (t[1] - t[0]) * a.pixel) / a.pixelLength; + }), + scrollMove: yF(function (t, e, n, i, r, o) { + return vF[i]([0, 0], [o.scrollDelta, o.scrollDelta], e, r, n).signal * (t[1] - t[0]) * o.scrollDelta; + }), + }; + function yF(t) { + return function (e, n, i, r) { + var o = this.range, + a = o.slice(), + s = e.axisModels[0]; + if (s) return Nk(t(a, s, e, n, i, r), a, [0, 100], "all"), (this.range = a), o[0] !== a[0] || o[1] !== a[1] ? a : void 0; + }; + } + var vF = { + grid: function (t, e, n, i, r) { + var o = n.axis, + a = {}, + s = r.model.coordinateSystem.getRect(); + return ( + (t = t || [0, 0]), + "x" === o.dim + ? ((a.pixel = e[0] - t[0]), (a.pixelLength = s.width), (a.pixelStart = s.x), (a.signal = o.inverse ? 1 : -1)) + : ((a.pixel = e[1] - t[1]), (a.pixelLength = s.height), (a.pixelStart = s.y), (a.signal = o.inverse ? -1 : 1)), + a + ); + }, + polar: function (t, e, n, i, r) { + var o = n.axis, + a = {}, + s = r.model.coordinateSystem, + l = s.getRadiusAxis().getExtent(), + u = s.getAngleAxis().getExtent(); + return ( + (t = t ? s.pointToCoord(t) : [0, 0]), + (e = s.pointToCoord(e)), + "radiusAxis" === n.mainType + ? ((a.pixel = e[0] - t[0]), (a.pixelLength = l[1] - l[0]), (a.pixelStart = l[0]), (a.signal = o.inverse ? 1 : -1)) + : ((a.pixel = e[1] - t[1]), (a.pixelLength = u[1] - u[0]), (a.pixelStart = u[0]), (a.signal = o.inverse ? -1 : 1)), + a + ); + }, + singleAxis: function (t, e, n, i, r) { + var o = n.axis, + a = r.model.coordinateSystem.getRect(), + s = {}; + return ( + (t = t || [0, 0]), + "horizontal" === o.orient + ? ((s.pixel = e[0] - t[0]), (s.pixelLength = a.width), (s.pixelStart = a.x), (s.signal = o.inverse ? 1 : -1)) + : ((s.pixel = e[1] - t[1]), (s.pixelLength = a.height), (s.pixelStart = a.y), (s.signal = o.inverse ? -1 : 1)), + s + ); + }, + }; + function mF(t) { + fz(t), t.registerComponentModel(sF), t.registerComponentView(fF), dF(t); + } + var xF = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.type = "dataZoom.slider"), + (e.layoutMode = "box"), + (e.defaultOption = kc(rz.defaultOption, { + show: !0, + right: "ph", + top: "ph", + width: "ph", + height: "ph", + left: null, + bottom: null, + borderColor: "#d2dbee", + borderRadius: 3, + backgroundColor: "rgba(47,69,84,0)", + dataBackground: { lineStyle: { color: "#d2dbee", width: 0.5 }, areaStyle: { color: "#d2dbee", opacity: 0.2 } }, + selectedDataBackground: { lineStyle: { color: "#8fb0f7", width: 0.5 }, areaStyle: { color: "#8fb0f7", opacity: 0.2 } }, + fillerColor: "rgba(135,175,274,0.2)", + handleIcon: "path://M-9.35,34.56V42m0-40V9.5m-2,0h4a2,2,0,0,1,2,2v21a2,2,0,0,1-2,2h-4a2,2,0,0,1-2-2v-21A2,2,0,0,1-11.35,9.5Z", + handleSize: "100%", + handleStyle: { color: "#fff", borderColor: "#ACB8D1" }, + moveHandleSize: 7, + moveHandleIcon: + "path://M-320.9-50L-320.9-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-348-41-339-50-320.9-50z M-212.3-50L-212.3-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-239.4-41-230.4-50-212.3-50z M-103.7-50L-103.7-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-130.9-41-121.8-50-103.7-50z", + moveHandleStyle: { color: "#D2DBEE", opacity: 0.7 }, + showDetail: !0, + showDataShadow: "auto", + realtime: !0, + zoomLock: !1, + textStyle: { color: "#6E7079" }, + brushSelect: !0, + brushStyle: { color: "rgba(135,175,274,0.15)" }, + emphasis: { handleStyle: { borderColor: "#8FB0F7" }, moveHandleStyle: { color: "#8FB0F7" } }, + })), + e + ); + })(rz), + _F = Ws, + bF = "horizontal", + wF = "vertical", + SF = ["line", "bar", "candlestick", "scatter"], + MF = { easing: "cubicOut", duration: 100, delay: 0 }, + IF = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), (n._displayables = {}), n; + } + return ( + n(e, t), + (e.prototype.init = function (t, e) { + (this.api = e), (this._onBrush = W(this._onBrush, this)), (this._onBrushEnd = W(this._onBrushEnd, this)); + }), + (e.prototype.render = function (e, n, i, r) { + if ((t.prototype.render.apply(this, arguments), Hg(this, "_dispatchZoomAction", e.get("throttle"), "fixRate"), (this._orient = e.getOrient()), !1 !== e.get("show"))) { + if (e.noTarget()) return this._clear(), void this.group.removeAll(); + (r && "dataZoom" === r.type && r.from === this.uid) || this._buildView(), this._updateView(); + } else this.group.removeAll(); + }), + (e.prototype.dispose = function () { + this._clear(), t.prototype.dispose.apply(this, arguments); + }), + (e.prototype._clear = function () { + Yg(this, "_dispatchZoomAction"); + var t = this.api.getZr(); + t.off("mousemove", this._onBrush), t.off("mouseup", this._onBrushEnd); + }), + (e.prototype._buildView = function () { + var t = this.group; + t.removeAll(), (this._brushing = !1), (this._displayables.brushRect = null), this._resetLocation(), this._resetInterval(); + var e = (this._displayables.sliderGroup = new Br()); + this._renderBackground(), this._renderHandle(), this._renderDataShadow(), t.add(e), this._positionGroup(); + }), + (e.prototype._resetLocation = function () { + var t = this.dataZoomModel, + e = this.api, + n = t.get("brushSelect") ? 7 : 0, + i = this._findCoordRect(), + r = { width: e.getWidth(), height: e.getHeight() }, + o = this._orient === bF ? { right: r.width - i.x - i.width, top: r.height - 30 - 7 - n, width: i.width, height: 30 } : { right: 7, top: i.y, width: 30, height: i.height }, + a = Rp(t.option); + E(["right", "top", "width", "height"], function (t) { + "ph" === a[t] && (a[t] = o[t]); + }); + var s = kp(a, r); + (this._location = { x: s.x, y: s.y }), (this._size = [s.width, s.height]), this._orient === wF && this._size.reverse(); + }), + (e.prototype._positionGroup = function () { + var t = this.group, + e = this._location, + n = this._orient, + i = this.dataZoomModel.getFirstTargetAxisModel(), + r = i && i.get("inverse"), + o = this._displayables.sliderGroup, + a = (this._dataShadowInfo || {}).otherAxisInverse; + o.attr( + n !== bF || r + ? n === bF && r + ? { scaleY: a ? 1 : -1, scaleX: -1 } + : n !== wF || r + ? { scaleY: a ? -1 : 1, scaleX: -1, rotation: Math.PI / 2 } + : { scaleY: a ? -1 : 1, scaleX: 1, rotation: Math.PI / 2 } + : { scaleY: a ? 1 : -1, scaleX: 1 } + ); + var s = t.getBoundingRect([o]); + (t.x = e.x - s.x), (t.y = e.y - s.y), t.markRedraw(); + }), + (e.prototype._getViewExtent = function () { + return [0, this._size[0]]; + }), + (e.prototype._renderBackground = function () { + var t = this.dataZoomModel, + e = this._size, + n = this._displayables.sliderGroup, + i = t.get("brushSelect"); + n.add(new _F({ silent: !0, shape: { x: 0, y: 0, width: e[0], height: e[1] }, style: { fill: t.get("backgroundColor") }, z2: -40 })); + var r = new _F({ shape: { x: 0, y: 0, width: e[0], height: e[1] }, style: { fill: "transparent" }, z2: 0, onclick: W(this._onClickPanel, this) }), + o = this.api.getZr(); + i ? (r.on("mousedown", this._onBrushStart, this), (r.cursor = "crosshair"), o.on("mousemove", this._onBrush), o.on("mouseup", this._onBrushEnd)) : (o.off("mousemove", this._onBrush), o.off("mouseup", this._onBrushEnd)), n.add(r); + }), + (e.prototype._renderDataShadow = function () { + var t = (this._dataShadowInfo = this._prepareDataShadowInfo()); + if (((this._displayables.dataShadowSegs = []), t)) { + var e = this._size, + n = this._shadowSize || [], + i = t.series, + r = i.getRawData(), + o = i.getShadowDim && i.getShadowDim(), + a = o && r.getDimensionInfo(o) ? i.getShadowDim() : t.otherDim; + if (null != a) { + var s = this._shadowPolygonPts, + l = this._shadowPolylinePts; + if (r !== this._shadowData || a !== this._shadowDim || e[0] !== n[0] || e[1] !== n[1]) { + var u = r.getDataExtent(a), + h = 0.3 * (u[1] - u[0]); + u = [u[0] - h, u[1] + h]; + var c, + p = [0, e[1]], + d = [0, e[0]], + f = [ + [e[0], 0], + [0, 0], + ], + g = [], + y = d[1] / (r.count() - 1), + v = 0, + m = Math.round(r.count() / e[0]); + r.each([a], function (t, e) { + if (m > 0 && e % m) v += y; + else { + var n = null == t || isNaN(t) || "" === t, + i = n ? 0 : Kr(t, u, p, !0); + n && !c && e ? (f.push([f[f.length - 1][0], 0]), g.push([g[g.length - 1][0], 0])) : !n && c && (f.push([v, 0]), g.push([v, 0])), f.push([v, i]), g.push([v, i]), (v += y), (c = n); + } + }), + (s = this._shadowPolygonPts = f), + (l = this._shadowPolylinePts = g); + } + (this._shadowData = r), (this._shadowDim = a), (this._shadowSize = [e[0], e[1]]); + for (var x = this.dataZoomModel, _ = 0; _ < 3; _++) { + var b = w(1 === _); + this._displayables.sliderGroup.add(b), this._displayables.dataShadowSegs.push(b); + } + } + } + function w(t) { + var e = x.getModel(t ? "selectedDataBackground" : "dataBackground"), + n = new Br(), + i = new Xu({ shape: { points: s }, segmentIgnoreThreshold: 1, style: e.getModel("areaStyle").getAreaStyle(), silent: !0, z2: -20 }), + r = new Zu({ shape: { points: l }, segmentIgnoreThreshold: 1, style: e.getModel("lineStyle").getLineStyle(), silent: !0, z2: -19 }); + return n.add(i), n.add(r), n; + } + }), + (e.prototype._prepareDataShadowInfo = function () { + var t = this.dataZoomModel, + e = t.get("showDataShadow"); + if (!1 !== e) { + var n, + i = this.ecModel; + return ( + t.eachTargetAxis(function (r, o) { + E( + t.getAxisProxy(r, o).getTargetSeriesModels(), + function (t) { + if (!(n || (!0 !== e && P(SF, t.get("type")) < 0))) { + var a, + s = i.getComponent(tz(r), o).axis, + l = (function (t) { + var e = { x: "y", y: "x", radius: "angle", angle: "radius" }; + return e[t]; + })(r), + u = t.coordinateSystem; + null != l && u.getOtherAxis && (a = u.getOtherAxis(s).inverse), (l = t.getData().mapDimension(l)), (n = { thisAxis: s, series: t, thisDim: r, otherDim: l, otherAxisInverse: a }); + } + }, + this + ); + }, this), + n + ); + } + }), + (e.prototype._renderHandle = function () { + var t = this.group, + e = this._displayables, + n = (e.handles = [null, null]), + i = (e.handleLabels = [null, null]), + r = this._displayables.sliderGroup, + o = this._size, + a = this.dataZoomModel, + s = this.api, + l = a.get("borderRadius") || 0, + u = a.get("brushSelect"), + h = (e.filler = new _F({ silent: u, style: { fill: a.get("fillerColor") }, textConfig: { position: "inside" } })); + r.add(h), + r.add(new _F({ silent: !0, subPixelOptimize: !0, shape: { x: 0, y: 0, width: o[0], height: o[1], r: l }, style: { stroke: a.get("dataBackgroundColor") || a.get("borderColor"), lineWidth: 1, fill: "rgba(0,0,0,0)" } })), + E( + [0, 1], + function (e) { + var o = a.get("handleIcon"); + !Wy[o] && o.indexOf("path://") < 0 && o.indexOf("image://") < 0 && (o = "path://" + o); + var s = Xy(o, -1, 0, 2, 2, null, !0); + s.attr({ cursor: TF(this._orient), draggable: !0, drift: W(this._onDragMove, this, e), ondragend: W(this._onDragEnd, this), onmouseover: W(this._showDataInfo, this, !0), onmouseout: W(this._showDataInfo, this, !1), z2: 5 }); + var l = s.getBoundingRect(), + u = a.get("handleSize"); + (this._handleHeight = $r(u, this._size[1])), + (this._handleWidth = (l.width / l.height) * this._handleHeight), + s.setStyle(a.getModel("handleStyle").getItemStyle()), + (s.style.strokeNoScale = !0), + (s.rectHover = !0), + (s.ensureState("emphasis").style = a.getModel(["emphasis", "handleStyle"]).getItemStyle()), + Ul(s); + var h = a.get("handleColor"); + null != h && (s.style.fill = h), r.add((n[e] = s)); + var c = a.getModel("textStyle"); + t.add((i[e] = new Xs({ silent: !0, invisible: !0, style: oc(c, { x: 0, y: 0, text: "", verticalAlign: "middle", align: "center", fill: c.getTextColor(), font: c.getFont() }), z2: 10 }))); + }, + this + ); + var c = h; + if (u) { + var p = $r(a.get("moveHandleSize"), o[1]), + d = (e.moveHandle = new Ws({ style: a.getModel("moveHandleStyle").getItemStyle(), silent: !0, shape: { r: [0, 0, 2, 2], y: o[1] - 0.5, height: p } })), + f = 0.8 * p, + g = (e.moveHandleIcon = Xy(a.get("moveHandleIcon"), -f / 2, -f / 2, f, f, "#fff", !0)); + (g.silent = !0), (g.y = o[1] + p / 2 - 0.5), (d.ensureState("emphasis").style = a.getModel(["emphasis", "moveHandleStyle"]).getItemStyle()); + var y = Math.min(o[1] / 2, Math.max(p, 10)); + (c = e.moveZone = new Ws({ invisible: !0, shape: { y: o[1] - y, height: p + y } })) + .on("mouseover", function () { + s.enterEmphasis(d); + }) + .on("mouseout", function () { + s.leaveEmphasis(d); + }), + r.add(d), + r.add(g), + r.add(c); + } + c.attr({ + draggable: !0, + cursor: TF(this._orient), + drift: W(this._onDragMove, this, "all"), + ondragstart: W(this._showDataInfo, this, !0), + ondragend: W(this._onDragEnd, this), + onmouseover: W(this._showDataInfo, this, !0), + onmouseout: W(this._showDataInfo, this, !1), + }); + }), + (e.prototype._resetInterval = function () { + var t = (this._range = this.dataZoomModel.getPercentRange()), + e = this._getViewExtent(); + this._handleEnds = [Kr(t[0], [0, 100], e, !0), Kr(t[1], [0, 100], e, !0)]; + }), + (e.prototype._updateInterval = function (t, e) { + var n = this.dataZoomModel, + i = this._handleEnds, + r = this._getViewExtent(), + o = n.findRepresentativeAxisProxy().getMinMaxSpan(), + a = [0, 100]; + Nk(e, i, r, n.get("zoomLock") ? "all" : t, null != o.minSpan ? Kr(o.minSpan, a, r, !0) : null, null != o.maxSpan ? Kr(o.maxSpan, a, r, !0) : null); + var s = this._range, + l = (this._range = Qr([Kr(i[0], r, a, !0), Kr(i[1], r, a, !0)])); + return !s || s[0] !== l[0] || s[1] !== l[1]; + }), + (e.prototype._updateView = function (t) { + var e = this._displayables, + n = this._handleEnds, + i = Qr(n.slice()), + r = this._size; + E( + [0, 1], + function (t) { + var i = e.handles[t], + o = this._handleHeight; + i.attr({ scaleX: o / 2, scaleY: o / 2, x: n[t] + (t ? -1 : 1), y: r[1] / 2 - o / 2 }); + }, + this + ), + e.filler.setShape({ x: i[0], y: 0, width: i[1] - i[0], height: r[1] }); + var o = { x: i[0], width: i[1] - i[0] }; + e.moveHandle && (e.moveHandle.setShape(o), e.moveZone.setShape(o), e.moveZone.getBoundingRect(), e.moveHandleIcon && e.moveHandleIcon.attr("x", o.x + o.width / 2)); + for (var a = e.dataShadowSegs, s = [0, i[0], i[1], r[0]], l = 0; l < a.length; l++) { + var u = a[l], + h = u.getClipPath(); + h || ((h = new Ws()), u.setClipPath(h)), h.setShape({ x: s[l], y: 0, width: s[l + 1] - s[l], height: r[1] }); + } + this._updateDataInfo(t); + }), + (e.prototype._updateDataInfo = function (t) { + var e = this.dataZoomModel, + n = this._displayables, + i = n.handleLabels, + r = this._orient, + o = ["", ""]; + if (e.get("showDetail")) { + var a = e.findRepresentativeAxisProxy(); + if (a) { + var s = a.getAxisModel().axis, + l = this._range, + u = t ? a.calculateDataWindow({ start: l[0], end: l[1] }).valueWindow : a.getDataValueWindow(); + o = [this._formatLabel(u[0], s), this._formatLabel(u[1], s)]; + } + } + var h = Qr(this._handleEnds.slice()); + function c(t) { + var e = Bh(n.handles[t].parent, this.group), + a = Gh(0 === t ? "right" : "left", e), + s = this._handleWidth / 2 + 5, + l = Fh([h[t] + (0 === t ? -s : s), this._size[1] / 2], e); + i[t].setStyle({ x: l[0], y: l[1], verticalAlign: r === bF ? "middle" : a, align: r === bF ? a : "center", text: o[t] }); + } + c.call(this, 0), c.call(this, 1); + }), + (e.prototype._formatLabel = function (t, e) { + var n = this.dataZoomModel, + i = n.get("labelFormatter"), + r = n.get("labelPrecision"); + (null != r && "auto" !== r) || (r = e.getPixelPrecision()); + var o = null == t || isNaN(t) ? "" : "category" === e.type || "time" === e.type ? e.scale.getLabel({ value: Math.round(t) }) : t.toFixed(Math.min(r, 20)); + return X(i) ? i(t, o) : U(i) ? i.replace("{value}", o) : o; + }), + (e.prototype._showDataInfo = function (t) { + t = this._dragging || t; + var e = this._displayables, + n = e.handleLabels; + n[0].attr("invisible", !t), n[1].attr("invisible", !t), e.moveHandle && this.api[t ? "enterEmphasis" : "leaveEmphasis"](e.moveHandle, 1); + }), + (e.prototype._onDragMove = function (t, e, n, i) { + (this._dragging = !0), de(i.event); + var r = Fh([e, n], this._displayables.sliderGroup.getLocalTransform(), !0), + o = this._updateInterval(t, r[0]), + a = this.dataZoomModel.get("realtime"); + this._updateView(!a), o && a && this._dispatchZoomAction(!0); + }), + (e.prototype._onDragEnd = function () { + (this._dragging = !1), this._showDataInfo(!1), !this.dataZoomModel.get("realtime") && this._dispatchZoomAction(!1); + }), + (e.prototype._onClickPanel = function (t) { + var e = this._size, + n = this._displayables.sliderGroup.transformCoordToLocal(t.offsetX, t.offsetY); + if (!(n[0] < 0 || n[0] > e[0] || n[1] < 0 || n[1] > e[1])) { + var i = this._handleEnds, + r = (i[0] + i[1]) / 2, + o = this._updateInterval("all", n[0] - r); + this._updateView(), o && this._dispatchZoomAction(!1); + } + }), + (e.prototype._onBrushStart = function (t) { + var e = t.offsetX, + n = t.offsetY; + (this._brushStart = new De(e, n)), (this._brushing = !0), (this._brushStartTime = +new Date()); + }), + (e.prototype._onBrushEnd = function (t) { + if (this._brushing) { + var e = this._displayables.brushRect; + if (((this._brushing = !1), e)) { + e.attr("ignore", !0); + var n = e.shape; + if (!(+new Date() - this._brushStartTime < 200 && Math.abs(n.width) < 5)) { + var i = this._getViewExtent(), + r = [0, 100]; + (this._range = Qr([Kr(n.x, i, r, !0), Kr(n.x + n.width, i, r, !0)])), (this._handleEnds = [n.x, n.x + n.width]), this._updateView(), this._dispatchZoomAction(!1); + } + } + } + }), + (e.prototype._onBrush = function (t) { + this._brushing && (de(t.event), this._updateBrushRect(t.offsetX, t.offsetY)); + }), + (e.prototype._updateBrushRect = function (t, e) { + var n = this._displayables, + i = this.dataZoomModel, + r = n.brushRect; + r || ((r = n.brushRect = new _F({ silent: !0, style: i.getModel("brushStyle").getItemStyle() })), n.sliderGroup.add(r)), r.attr("ignore", !1); + var o = this._brushStart, + a = this._displayables.sliderGroup, + s = a.transformCoordToLocal(t, e), + l = a.transformCoordToLocal(o.x, o.y), + u = this._size; + (s[0] = Math.max(Math.min(u[0], s[0]), 0)), r.setShape({ x: l[0], y: 0, width: s[0] - l[0], height: u[1] }); + }), + (e.prototype._dispatchZoomAction = function (t) { + var e = this._range; + this.api.dispatchAction({ type: "dataZoom", from: this.uid, dataZoomId: this.dataZoomModel.id, animation: t ? MF : null, start: e[0], end: e[1] }); + }), + (e.prototype._findCoordRect = function () { + var t, + e = nz(this.dataZoomModel).infoList; + if (!t && e.length) { + var n = e[0].model.coordinateSystem; + t = n.getRect && n.getRect(); + } + if (!t) { + var i = this.api.getWidth(), + r = this.api.getHeight(); + t = { x: 0.2 * i, y: 0.2 * r, width: 0.6 * i, height: 0.6 * r }; + } + return t; + }), + (e.type = "dataZoom.slider"), + e + ); + })(sz); + function TF(t) { + return "vertical" === t ? "ns-resize" : "ew-resize"; + } + function CF(t) { + t.registerComponentModel(xF), t.registerComponentView(IF), fz(t); + } + var DF = function (t, e, n) { + var i = T((AF[t] || {})[e]); + return n && Y(i) ? i[i.length - 1] : i; + }, + AF = { + color: { active: ["#006edd", "#e0ffff"], inactive: ["rgba(0,0,0,0)"] }, + colorHue: { active: [0, 360], inactive: [0, 0] }, + colorSaturation: { active: [0.3, 1], inactive: [0, 0] }, + colorLightness: { active: [0.9, 0.5], inactive: [0, 0] }, + colorAlpha: { active: [0.3, 1], inactive: [0, 0] }, + opacity: { active: [0.3, 1], inactive: [0, 0] }, + symbol: { active: ["circle", "roundRect", "diamond"], inactive: ["none"] }, + symbolSize: { active: [10, 50], inactive: [0, 0] }, + }, + kF = DD.mapVisual, + LF = DD.eachVisual, + PF = Y, + OF = E, + RF = Qr, + NF = Kr, + EF = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return ( + (n.type = e.type), + (n.stateList = ["inRange", "outOfRange"]), + (n.replacableOptionKeys = ["inRange", "outOfRange", "target", "controller", "color"]), + (n.layoutMode = { type: "box", ignoreSize: !0 }), + (n.dataBound = [-1 / 0, 1 / 0]), + (n.targetVisuals = {}), + (n.controllerVisuals = {}), + n + ); + } + return ( + n(e, t), + (e.prototype.init = function (t, e, n) { + this.mergeDefaultAndTheme(t, n); + }), + (e.prototype.optionUpdated = function (t, e) { + var n = this.option; + !e && kV(n, t, this.replacableOptionKeys), (this.textStyleModel = this.getModel("textStyle")), this.resetItemSize(), this.completeVisualOption(); + }), + (e.prototype.resetVisual = function (t) { + var e = this.stateList; + (t = W(t, this)), (this.controllerVisuals = AV(this.option.controller, e, t)), (this.targetVisuals = AV(this.option.target, e, t)); + }), + (e.prototype.getItemSymbol = function () { + return null; + }), + (e.prototype.getTargetSeriesIndices = function () { + var t = this.option.seriesIndex, + e = []; + return ( + null == t || "all" === t + ? this.ecModel.eachSeries(function (t, n) { + e.push(n); + }) + : (e = To(t)), + e + ); + }), + (e.prototype.eachTargetSeries = function (t, e) { + E( + this.getTargetSeriesIndices(), + function (n) { + var i = this.ecModel.getSeriesByIndex(n); + i && t.call(e, i); + }, + this + ); + }), + (e.prototype.isTargetSeries = function (t) { + var e = !1; + return ( + this.eachTargetSeries(function (n) { + n === t && (e = !0); + }), + e + ); + }), + (e.prototype.formatValueText = function (t, e, n) { + var i, + r = this.option, + o = r.precision, + a = this.dataBound, + s = r.formatter; + (n = n || ["<", ">"]), Y(t) && ((t = t.slice()), (i = !0)); + var l = e ? t : i ? [u(t[0]), u(t[1])] : u(t); + return U(s) ? s.replace("{value}", i ? l[0] : l).replace("{value2}", i ? l[1] : l) : X(s) ? (i ? s(t[0], t[1]) : s(t)) : i ? (t[0] === a[0] ? n[0] + " " + l[1] : t[1] === a[1] ? n[1] + " " + l[0] : l[0] + " - " + l[1]) : l; + function u(t) { + return t === a[0] ? "min" : t === a[1] ? "max" : (+t).toFixed(Math.min(o, 20)); + } + }), + (e.prototype.resetExtent = function () { + var t = this.option, + e = RF([t.min, t.max]); + this._dataExtent = e; + }), + (e.prototype.getDataDimensionIndex = function (t) { + var e = this.option.dimension; + if (null != e) return t.getDimensionIndex(e); + for (var n = t.dimensions, i = n.length - 1; i >= 0; i--) { + var r = n[i], + o = t.getDimensionInfo(r); + if (!o.isCalculationCoord) return o.storeDimIndex; + } + }), + (e.prototype.getExtent = function () { + return this._dataExtent.slice(); + }), + (e.prototype.completeVisualOption = function () { + var t = this.ecModel, + e = this.option, + n = { inRange: e.inRange, outOfRange: e.outOfRange }, + i = e.target || (e.target = {}), + r = e.controller || (e.controller = {}); + C(i, n), C(r, n); + var o = this.isCategory(); + function a(n) { + PF(e.color) && !n.inRange && (n.inRange = { color: e.color.slice().reverse() }), (n.inRange = n.inRange || { color: t.get("gradientColor") }); + } + a.call(this, i), + a.call(this, r), + function (t, e, n) { + var i = t[e], + r = t[n]; + i && + !r && + ((r = t[n] = {}), + OF(i, function (t, e) { + if (DD.isValidType(e)) { + var n = DF(e, "inactive", o); + null != n && ((r[e] = n), "color" !== e || r.hasOwnProperty("opacity") || r.hasOwnProperty("colorAlpha") || (r.opacity = [0, 0])); + } + })); + }.call(this, i, "inRange", "outOfRange"), + function (t) { + var e = (t.inRange || {}).symbol || (t.outOfRange || {}).symbol, + n = (t.inRange || {}).symbolSize || (t.outOfRange || {}).symbolSize, + i = this.get("inactiveColor"), + r = this.getItemSymbol() || "roundRect"; + OF( + this.stateList, + function (a) { + var s = this.itemSize, + l = t[a]; + l || (l = t[a] = { color: o ? i : [i] }), + null == l.symbol && (l.symbol = (e && T(e)) || (o ? r : [r])), + null == l.symbolSize && (l.symbolSize = (n && T(n)) || (o ? s[0] : [s[0], s[0]])), + (l.symbol = kF(l.symbol, function (t) { + return "none" === t ? r : t; + })); + var u = l.symbolSize; + if (null != u) { + var h = -1 / 0; + LF(u, function (t) { + t > h && (h = t); + }), + (l.symbolSize = kF(u, function (t) { + return NF(t, [0, h], [0, s[0]], !0); + })); + } + }, + this + ); + }.call(this, r); + }), + (e.prototype.resetItemSize = function () { + this.itemSize = [parseFloat(this.get("itemWidth")), parseFloat(this.get("itemHeight"))]; + }), + (e.prototype.isCategory = function () { + return !!this.option.categories; + }), + (e.prototype.setSelected = function (t) {}), + (e.prototype.getSelected = function () { + return null; + }), + (e.prototype.getValueState = function (t) { + return null; + }), + (e.prototype.getVisualMeta = function (t) { + return null; + }), + (e.type = "visualMap"), + (e.dependencies = ["series"]), + (e.defaultOption = { + show: !0, + z: 4, + seriesIndex: "all", + min: 0, + max: 200, + left: 0, + right: null, + top: null, + bottom: 0, + itemWidth: null, + itemHeight: null, + inverse: !1, + orient: "vertical", + backgroundColor: "rgba(0,0,0,0)", + borderColor: "#ccc", + contentColor: "#5793f3", + inactiveColor: "#aaa", + borderWidth: 0, + padding: 5, + textGap: 10, + precision: 0, + textStyle: { color: "#333" }, + }), + e + ); + })(zp), + zF = [20, 140], + VF = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.prototype.optionUpdated = function (e, n) { + t.prototype.optionUpdated.apply(this, arguments), + this.resetExtent(), + this.resetVisual(function (t) { + (t.mappingMethod = "linear"), (t.dataExtent = this.getExtent()); + }), + this._resetRange(); + }), + (e.prototype.resetItemSize = function () { + t.prototype.resetItemSize.apply(this, arguments); + var e = this.itemSize; + (null == e[0] || isNaN(e[0])) && (e[0] = zF[0]), (null == e[1] || isNaN(e[1])) && (e[1] = zF[1]); + }), + (e.prototype._resetRange = function () { + var t = this.getExtent(), + e = this.option.range; + !e || e.auto ? ((t.auto = 1), (this.option.range = t)) : Y(e) && (e[0] > e[1] && e.reverse(), (e[0] = Math.max(e[0], t[0])), (e[1] = Math.min(e[1], t[1]))); + }), + (e.prototype.completeVisualOption = function () { + t.prototype.completeVisualOption.apply(this, arguments), + E( + this.stateList, + function (t) { + var e = this.option.controller[t].symbolSize; + e && e[0] !== e[1] && (e[0] = e[1] / 3); + }, + this + ); + }), + (e.prototype.setSelected = function (t) { + (this.option.range = t.slice()), this._resetRange(); + }), + (e.prototype.getSelected = function () { + var t = this.getExtent(), + e = Qr((this.get("range") || []).slice()); + return e[0] > t[1] && (e[0] = t[1]), e[1] > t[1] && (e[1] = t[1]), e[0] < t[0] && (e[0] = t[0]), e[1] < t[0] && (e[1] = t[0]), e; + }), + (e.prototype.getValueState = function (t) { + var e = this.option.range, + n = this.getExtent(); + return (e[0] <= n[0] || e[0] <= t) && (e[1] >= n[1] || t <= e[1]) ? "inRange" : "outOfRange"; + }), + (e.prototype.findTargetDataIndices = function (t) { + var e = []; + return ( + this.eachTargetSeries(function (n) { + var i = [], + r = n.getData(); + r.each( + this.getDataDimensionIndex(r), + function (e, n) { + t[0] <= e && e <= t[1] && i.push(n); + }, + this + ), + e.push({ seriesId: n.id, dataIndex: i }); + }, this), + e + ); + }), + (e.prototype.getVisualMeta = function (t) { + var e = BF(this, "outOfRange", this.getExtent()), + n = BF(this, "inRange", this.option.range.slice()), + i = []; + function r(e, n) { + i.push({ value: e, color: t(e, n) }); + } + for (var o = 0, a = 0, s = n.length, l = e.length; a < l && (!n.length || e[a] <= n[0]); a++) e[a] < n[o] && r(e[a], "outOfRange"); + for (var u = 1; o < s; o++, u = 0) u && i.length && r(n[o], "outOfRange"), r(n[o], "inRange"); + for (u = 1; a < l; a++) (!n.length || n[n.length - 1] < e[a]) && (u && (i.length && r(i[i.length - 1].value, "outOfRange"), (u = 0)), r(e[a], "outOfRange")); + var h = i.length; + return { stops: i, outerColors: [h ? i[0].color : "transparent", h ? i[h - 1].color : "transparent"] }; + }), + (e.type = "visualMap.continuous"), + (e.defaultOption = kc(EF.defaultOption, { + align: "auto", + calculable: !1, + hoverLink: !0, + realtime: !0, + handleIcon: "path://M-11.39,9.77h0a3.5,3.5,0,0,1-3.5,3.5h-22a3.5,3.5,0,0,1-3.5-3.5h0a3.5,3.5,0,0,1,3.5-3.5h22A3.5,3.5,0,0,1-11.39,9.77Z", + handleSize: "120%", + handleStyle: { borderColor: "#fff", borderWidth: 1 }, + indicatorIcon: "circle", + indicatorSize: "50%", + indicatorStyle: { borderColor: "#fff", borderWidth: 2, shadowBlur: 2, shadowOffsetX: 1, shadowOffsetY: 1, shadowColor: "rgba(0,0,0,0.2)" }, + })), + e + ); + })(EF); + function BF(t, e, n) { + if (n[0] === n[1]) return n.slice(); + for (var i = (n[1] - n[0]) / 200, r = n[0], o = [], a = 0; a <= 200 && r < n[1]; a++) o.push(r), (r += i); + return o.push(n[1]), o; + } + var FF = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), (n.autoPositionValues = { left: 1, right: 1, top: 1, bottom: 1 }), n; + } + return ( + n(e, t), + (e.prototype.init = function (t, e) { + (this.ecModel = t), (this.api = e); + }), + (e.prototype.render = function (t, e, n, i) { + (this.visualMapModel = t), !1 !== t.get("show") ? this.doRender(t, e, n, i) : this.group.removeAll(); + }), + (e.prototype.renderBackground = function (t) { + var e = this.visualMapModel, + n = vp(e.get("padding") || 0), + i = t.getBoundingRect(); + t.add( + new Ws({ + z2: -1, + silent: !0, + shape: { x: i.x - n[3], y: i.y - n[0], width: i.width + n[3] + n[1], height: i.height + n[0] + n[2] }, + style: { fill: e.get("backgroundColor"), stroke: e.get("borderColor"), lineWidth: e.get("borderWidth") }, + }) + ); + }), + (e.prototype.getControllerVisual = function (t, e, n) { + var i = (n = n || {}).forceState, + r = this.visualMapModel, + o = {}; + if ("color" === e) { + var a = r.get("contentColor"); + o.color = a; + } + function s(t) { + return o[t]; + } + function l(t, e) { + o[t] = e; + } + var u = r.controllerVisuals[i || r.getValueState(t)]; + return ( + E(DD.prepareVisualTypes(u), function (i) { + var r = u[i]; + n.convertOpacityToAlpha && "opacity" === i && ((i = "colorAlpha"), (r = u.__alphaForOpacity)), DD.dependsOn(i, e) && r && r.applyVisual(t, s, l); + }), + o[e] + ); + }), + (e.prototype.positionGroup = function (t) { + var e = this.visualMapModel, + n = this.api; + Lp(t, e.getBoxLayoutParams(), { width: n.getWidth(), height: n.getHeight() }); + }), + (e.prototype.doRender = function (t, e, n, i) {}), + (e.type = "visualMap"), + e + ); + })(Ag), + GF = [ + ["left", "right", "width"], + ["top", "bottom", "height"], + ]; + function WF(t, e, n) { + var i = t.option, + r = i.align; + if (null != r && "auto" !== r) return r; + for (var o = { width: e.getWidth(), height: e.getHeight() }, a = "horizontal" === i.orient ? 1 : 0, s = GF[a], l = [0, null, 10], u = {}, h = 0; h < 3; h++) (u[GF[1 - a][h]] = l[h]), (u[s[h]] = 2 === h ? n[0] : i[s[h]]); + var c = [ + ["x", "width", 3], + ["y", "height", 0], + ][a], + p = kp(u, o, i.padding); + return s[(p.margin[c[2]] || 0) + p[c[0]] + 0.5 * p[c[1]] < 0.5 * o[c[1]] ? 0 : 1]; + } + function HF(t, e) { + return ( + E(t || [], function (t) { + null != t.dataIndex && ((t.dataIndexInside = t.dataIndex), (t.dataIndex = null)), (t.highlightKey = "visualMap" + (e ? e.componentIndex : "")); + }), + t + ); + } + var YF = Kr, + XF = E, + UF = Math.min, + ZF = Math.max, + jF = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), (n._shapes = {}), (n._dataInterval = []), (n._handleEnds = []), (n._hoverLinkDataIndices = []), n; + } + return ( + n(e, t), + (e.prototype.init = function (e, n) { + t.prototype.init.call(this, e, n), (this._hoverLinkFromSeriesMouseOver = W(this._hoverLinkFromSeriesMouseOver, this)), (this._hideIndicator = W(this._hideIndicator, this)); + }), + (e.prototype.doRender = function (t, e, n, i) { + (i && "selectDataRange" === i.type && i.from === this.uid) || this._buildView(); + }), + (e.prototype._buildView = function () { + this.group.removeAll(); + var t = this.visualMapModel, + e = this.group; + (this._orient = t.get("orient")), (this._useHandle = t.get("calculable")), this._resetInterval(), this._renderBar(e); + var n = t.get("text"); + this._renderEndsText(e, n, 0), this._renderEndsText(e, n, 1), this._updateView(!0), this.renderBackground(e), this._updateView(), this._enableHoverLinkToSeries(), this._enableHoverLinkFromSeries(), this.positionGroup(e); + }), + (e.prototype._renderEndsText = function (t, e, n) { + if (e) { + var i = e[1 - n]; + i = null != i ? i + "" : ""; + var r = this.visualMapModel, + o = r.get("textGap"), + a = r.itemSize, + s = this._shapes.mainGroup, + l = this._applyTransform([a[0] / 2, 0 === n ? -o : a[1] + o], s), + u = this._applyTransform(0 === n ? "bottom" : "top", s), + h = this._orient, + c = this.visualMapModel.textStyleModel; + this.group.add(new Xs({ style: oc(c, { x: l[0], y: l[1], verticalAlign: "horizontal" === h ? "middle" : u, align: "horizontal" === h ? u : "center", text: i }) })); + } + }), + (e.prototype._renderBar = function (t) { + var e = this.visualMapModel, + n = this._shapes, + i = e.itemSize, + r = this._orient, + o = this._useHandle, + a = WF(e, this.api, i), + s = (n.mainGroup = this._createBarGroup(a)), + l = new Br(); + s.add(l), + l.add((n.outOfRange = qF())), + l.add((n.inRange = qF(null, o ? $F(this._orient) : null, W(this._dragHandle, this, "all", !1), W(this._dragHandle, this, "all", !0)))), + l.setClipPath(new Ws({ shape: { x: 0, y: 0, width: i[0], height: i[1], r: 3 } })); + var u = e.textStyleModel.getTextRect("国"), + h = ZF(u.width, u.height); + o && ((n.handleThumbs = []), (n.handleLabels = []), (n.handleLabelPoints = []), this._createHandle(e, s, 0, i, h, r), this._createHandle(e, s, 1, i, h, r)), this._createIndicator(e, s, i, h, r), t.add(s); + }), + (e.prototype._createHandle = function (t, e, n, i, r, o) { + var a = W(this._dragHandle, this, n, !1), + s = W(this._dragHandle, this, n, !0), + l = Cr(t.get("handleSize"), i[0]), + u = Xy(t.get("handleIcon"), -l / 2, -l / 2, l, l, null, !0), + h = $F(this._orient); + u.attr({ + cursor: h, + draggable: !0, + drift: a, + ondragend: s, + onmousemove: function (t) { + de(t.event); + }, + }), + (u.x = i[0] / 2), + u.useStyle(t.getModel("handleStyle").getItemStyle()), + u.setStyle({ strokeNoScale: !0, strokeFirst: !0 }), + (u.style.lineWidth *= 2), + (u.ensureState("emphasis").style = t.getModel(["emphasis", "handleStyle"]).getItemStyle()), + Jl(u, !0), + e.add(u); + var c = this.visualMapModel.textStyleModel, + p = new Xs({ + cursor: h, + draggable: !0, + drift: a, + onmousemove: function (t) { + de(t.event); + }, + ondragend: s, + style: oc(c, { x: 0, y: 0, text: "" }), + }); + (p.ensureState("blur").style = { opacity: 0.1 }), (p.stateTransition = { duration: 200 }), this.group.add(p); + var d = [l, 0], + f = this._shapes; + (f.handleThumbs[n] = u), (f.handleLabelPoints[n] = d), (f.handleLabels[n] = p); + }), + (e.prototype._createIndicator = function (t, e, n, i, r) { + var o = Cr(t.get("indicatorSize"), n[0]), + a = Xy(t.get("indicatorIcon"), -o / 2, -o / 2, o, o, null, !0); + a.attr({ cursor: "move", invisible: !0, silent: !0, x: n[0] / 2 }); + var s = t.getModel("indicatorStyle").getItemStyle(); + if (a instanceof Ns) { + var l = a.style; + a.useStyle(A({ image: l.image, x: l.x, y: l.y, width: l.width, height: l.height }, s)); + } else a.useStyle(s); + e.add(a); + var u = this.visualMapModel.textStyleModel, + h = new Xs({ silent: !0, invisible: !0, style: oc(u, { x: 0, y: 0, text: "" }) }); + this.group.add(h); + var c = [("horizontal" === r ? i / 2 : 6) + n[0] / 2, 0], + p = this._shapes; + (p.indicator = a), (p.indicatorLabel = h), (p.indicatorLabelPoint = c), (this._firstShowIndicator = !0); + }), + (e.prototype._dragHandle = function (t, e, n, i) { + if (this._useHandle) { + if (((this._dragging = !e), !e)) { + var r = this._applyTransform([n, i], this._shapes.mainGroup, !0); + this._updateInterval(t, r[1]), this._hideIndicator(), this._updateView(); + } + e === !this.visualMapModel.get("realtime") && this.api.dispatchAction({ type: "selectDataRange", from: this.uid, visualMapId: this.visualMapModel.id, selected: this._dataInterval.slice() }), + e ? !this._hovering && this._clearHoverLinkToSeries() : KF(this.visualMapModel) && this._doHoverLinkToSeries(this._handleEnds[t], !1); + } + }), + (e.prototype._resetInterval = function () { + var t = this.visualMapModel, + e = (this._dataInterval = t.getSelected()), + n = t.getExtent(), + i = [0, t.itemSize[1]]; + this._handleEnds = [YF(e[0], n, i, !0), YF(e[1], n, i, !0)]; + }), + (e.prototype._updateInterval = function (t, e) { + e = e || 0; + var n = this.visualMapModel, + i = this._handleEnds, + r = [0, n.itemSize[1]]; + Nk(e, i, r, t, 0); + var o = n.getExtent(); + this._dataInterval = [YF(i[0], r, o, !0), YF(i[1], r, o, !0)]; + }), + (e.prototype._updateView = function (t) { + var e = this.visualMapModel, + n = e.getExtent(), + i = this._shapes, + r = [0, e.itemSize[1]], + o = t ? r : this._handleEnds, + a = this._createBarVisual(this._dataInterval, n, o, "inRange"), + s = this._createBarVisual(n, n, r, "outOfRange"); + i.inRange.setStyle({ fill: a.barColor }).setShape("points", a.barPoints), i.outOfRange.setStyle({ fill: s.barColor }).setShape("points", s.barPoints), this._updateHandle(o, a); + }), + (e.prototype._createBarVisual = function (t, e, n, i) { + var r = { forceState: i, convertOpacityToAlpha: !0 }, + o = this._makeColorGradient(t, r), + a = [this.getControllerVisual(t[0], "symbolSize", r), this.getControllerVisual(t[1], "symbolSize", r)], + s = this._createBarPoints(n, a); + return { barColor: new oh(0, 0, 0, 1, o), barPoints: s, handlesColor: [o[0].color, o[o.length - 1].color] }; + }), + (e.prototype._makeColorGradient = function (t, e) { + var n = [], + i = (t[1] - t[0]) / 100; + n.push({ color: this.getControllerVisual(t[0], "color", e), offset: 0 }); + for (var r = 1; r < 100; r++) { + var o = t[0] + i * r; + if (o > t[1]) break; + n.push({ color: this.getControllerVisual(o, "color", e), offset: r / 100 }); + } + return n.push({ color: this.getControllerVisual(t[1], "color", e), offset: 1 }), n; + }), + (e.prototype._createBarPoints = function (t, e) { + var n = this.visualMapModel.itemSize; + return [ + [n[0] - e[0], t[0]], + [n[0], t[0]], + [n[0], t[1]], + [n[0] - e[1], t[1]], + ]; + }), + (e.prototype._createBarGroup = function (t) { + var e = this._orient, + n = this.visualMapModel.get("inverse"); + return new Br( + "horizontal" !== e || n + ? "horizontal" === e && n + ? { scaleX: "bottom" === t ? -1 : 1, rotation: -Math.PI / 2 } + : "vertical" !== e || n + ? { scaleX: "left" === t ? 1 : -1 } + : { scaleX: "left" === t ? 1 : -1, scaleY: -1 } + : { scaleX: "bottom" === t ? 1 : -1, rotation: Math.PI / 2 } + ); + }), + (e.prototype._updateHandle = function (t, e) { + if (this._useHandle) { + var n = this._shapes, + i = this.visualMapModel, + r = n.handleThumbs, + o = n.handleLabels, + a = i.itemSize, + s = i.getExtent(); + XF( + [0, 1], + function (l) { + var u = r[l]; + u.setStyle("fill", e.handlesColor[l]), (u.y = t[l]); + var h = YF(t[l], [0, a[1]], s, !0), + c = this.getControllerVisual(h, "symbolSize"); + (u.scaleX = u.scaleY = c / a[0]), (u.x = a[0] - c / 2); + var p = Fh(n.handleLabelPoints[l], Bh(u, this.group)); + o[l].setStyle({ x: p[0], y: p[1], text: i.formatValueText(this._dataInterval[l]), verticalAlign: "middle", align: "vertical" === this._orient ? this._applyTransform("left", n.mainGroup) : "center" }); + }, + this + ); + } + }), + (e.prototype._showIndicator = function (t, e, n, i) { + var r = this.visualMapModel, + o = r.getExtent(), + a = r.itemSize, + s = [0, a[1]], + l = this._shapes, + u = l.indicator; + if (u) { + u.attr("invisible", !1); + var h = this.getControllerVisual(t, "color", { convertOpacityToAlpha: !0 }), + c = this.getControllerVisual(t, "symbolSize"), + p = YF(t, o, s, !0), + d = a[0] - c / 2, + f = { x: u.x, y: u.y }; + (u.y = p), (u.x = d); + var g = Fh(l.indicatorLabelPoint, Bh(u, this.group)), + y = l.indicatorLabel; + y.attr("invisible", !1); + var v = this._applyTransform("left", l.mainGroup), + m = "horizontal" === this._orient; + y.setStyle({ text: (n || "") + r.formatValueText(e), verticalAlign: m ? v : "middle", align: m ? "center" : v }); + var x = { x: d, y: p, style: { fill: h } }, + _ = { style: { x: g[0], y: g[1] } }; + if (r.ecModel.isAnimationEnabled() && !this._firstShowIndicator) { + var b = { duration: 100, easing: "cubicInOut", additive: !0 }; + (u.x = f.x), (u.y = f.y), u.animateTo(x, b), y.animateTo(_, b); + } else u.attr(x), y.attr(_); + this._firstShowIndicator = !1; + var w = this._shapes.handleLabels; + if (w) for (var S = 0; S < w.length; S++) this.api.enterBlur(w[S]); + } + }), + (e.prototype._enableHoverLinkToSeries = function () { + var t = this; + this._shapes.mainGroup + .on("mousemove", function (e) { + if (((t._hovering = !0), !t._dragging)) { + var n = t.visualMapModel.itemSize, + i = t._applyTransform([e.offsetX, e.offsetY], t._shapes.mainGroup, !0, !0); + (i[1] = UF(ZF(0, i[1]), n[1])), t._doHoverLinkToSeries(i[1], 0 <= i[0] && i[0] <= n[0]); + } + }) + .on("mouseout", function () { + (t._hovering = !1), !t._dragging && t._clearHoverLinkToSeries(); + }); + }), + (e.prototype._enableHoverLinkFromSeries = function () { + var t = this.api.getZr(); + this.visualMapModel.option.hoverLink ? (t.on("mouseover", this._hoverLinkFromSeriesMouseOver, this), t.on("mouseout", this._hideIndicator, this)) : this._clearHoverLinkFromSeries(); + }), + (e.prototype._doHoverLinkToSeries = function (t, e) { + var n = this.visualMapModel, + i = n.itemSize; + if (n.option.hoverLink) { + var r = [0, i[1]], + o = n.getExtent(); + t = UF(ZF(r[0], t), r[1]); + var a = (function (t, e, n) { + var i = 6, + r = t.get("hoverLinkDataSize"); + r && (i = YF(r, e, n, !0) / 2); + return i; + })(n, o, r), + s = [t - a, t + a], + l = YF(t, r, o, !0), + u = [YF(s[0], r, o, !0), YF(s[1], r, o, !0)]; + s[0] < r[0] && (u[0] = -1 / 0), s[1] > r[1] && (u[1] = 1 / 0), e && (u[0] === -1 / 0 ? this._showIndicator(l, u[1], "< ", a) : u[1] === 1 / 0 ? this._showIndicator(l, u[0], "> ", a) : this._showIndicator(l, l, "≈ ", a)); + var h = this._hoverLinkDataIndices, + c = []; + (e || KF(n)) && (c = this._hoverLinkDataIndices = n.findTargetDataIndices(u)); + var p = (function (t, e) { + var n = {}, + i = {}; + return r(t || [], n), r(e || [], i, n), [o(n), o(i)]; + function r(t, e, n) { + for (var i = 0, r = t.length; i < r; i++) { + var o = Ro(t[i].seriesId, null); + if (null == o) return; + for (var a = To(t[i].dataIndex), s = n && n[o], l = 0, u = a.length; l < u; l++) { + var h = a[l]; + s && s[h] ? (s[h] = null) : ((e[o] || (e[o] = {}))[h] = 1); + } + } + } + function o(t, e) { + var n = []; + for (var i in t) + if (t.hasOwnProperty(i) && null != t[i]) + if (e) n.push(+i); + else { + var r = o(t[i], !0); + r.length && n.push({ seriesId: i, dataIndex: r }); + } + return n; + } + })(h, c); + this._dispatchHighDown("downplay", HF(p[0], n)), this._dispatchHighDown("highlight", HF(p[1], n)); + } + }), + (e.prototype._hoverLinkFromSeriesMouseOver = function (t) { + var e; + if ( + (Oy( + t.target, + function (t) { + var n = rl(t); + if (null != n.dataIndex) return (e = n), !0; + }, + !0 + ), + e) + ) { + var n = this.ecModel.getSeriesByIndex(e.seriesIndex), + i = this.visualMapModel; + if (i.isTargetSeries(n)) { + var r = n.getData(e.dataType), + o = r.getStore().get(i.getDataDimensionIndex(r), e.dataIndex); + isNaN(o) || this._showIndicator(o, o); + } + } + }), + (e.prototype._hideIndicator = function () { + var t = this._shapes; + t.indicator && t.indicator.attr("invisible", !0), t.indicatorLabel && t.indicatorLabel.attr("invisible", !0); + var e = this._shapes.handleLabels; + if (e) for (var n = 0; n < e.length; n++) this.api.leaveBlur(e[n]); + }), + (e.prototype._clearHoverLinkToSeries = function () { + this._hideIndicator(); + var t = this._hoverLinkDataIndices; + this._dispatchHighDown("downplay", HF(t, this.visualMapModel)), (t.length = 0); + }), + (e.prototype._clearHoverLinkFromSeries = function () { + this._hideIndicator(); + var t = this.api.getZr(); + t.off("mouseover", this._hoverLinkFromSeriesMouseOver), t.off("mouseout", this._hideIndicator); + }), + (e.prototype._applyTransform = function (t, e, n, i) { + var r = Bh(e, i ? null : this.group); + return Y(t) ? Fh(t, r, n) : Gh(t, r, n); + }), + (e.prototype._dispatchHighDown = function (t, e) { + e && e.length && this.api.dispatchAction({ type: t, batch: e }); + }), + (e.prototype.dispose = function () { + this._clearHoverLinkFromSeries(), this._clearHoverLinkToSeries(); + }), + (e.type = "visualMap.continuous"), + e + ); + })(FF); + function qF(t, e, n, i) { + return new Xu({ + shape: { points: t }, + draggable: !!n, + cursor: e, + drift: n, + onmousemove: function (t) { + de(t.event); + }, + ondragend: i, + }); + } + function KF(t) { + var e = t.get("hoverLinkOnHandle"); + return !!(null == e ? t.get("realtime") : e); + } + function $F(t) { + return "vertical" === t ? "ns-resize" : "ew-resize"; + } + var JF = { type: "selectDataRange", event: "dataRangeSelected", update: "update" }, + QF = function (t, e) { + e.eachComponent({ mainType: "visualMap", query: t }, function (e) { + e.setSelected(t.selected); + }); + }, + tG = [ + { + createOnAllSeries: !0, + reset: function (t, e) { + var n = []; + return ( + e.eachComponent("visualMap", function (e) { + var i, + r, + o, + a, + s, + l = t.pipelineContext; + !e.isTargetSeries(t) || + (l && l.large) || + n.push( + ((i = e.stateList), + (r = e.targetVisuals), + (o = W(e.getValueState, e)), + (a = e.getDataDimensionIndex(t.getData())), + (s = {}), + E(i, function (t) { + var e = DD.prepareVisualTypes(r[t]); + s[t] = e; + }), + { + progress: function (t, e) { + var n, i; + function l(t) { + return Dy(e, i, t); + } + function u(t, n) { + ky(e, i, t, n); + } + null != a && (n = e.getDimensionIndex(a)); + for (var h = e.getStore(); null != (i = t.next()); ) { + var c = e.getRawDataItem(i); + if (!c || !1 !== c.visualMap) + for (var p = null != a ? h.get(n, i) : i, d = o(p), f = r[d], g = s[d], y = 0, v = g.length; y < v; y++) { + var m = g[y]; + f[m] && f[m].applyVisual(p, l, u); + } + } + }, + }) + ); + }), + n + ); + }, + }, + { + createOnAllSeries: !0, + reset: function (t, e) { + var n = t.getData(), + i = []; + e.eachComponent("visualMap", function (e) { + if (e.isTargetSeries(t)) { + var r = e.getVisualMeta(W(eG, null, t, e)) || { stops: [], outerColors: [] }, + o = e.getDataDimensionIndex(n); + o >= 0 && ((r.dimension = o), i.push(r)); + } + }), + t.getData().setVisual("visualMeta", i); + }, + }, + ]; + function eG(t, e, n, i) { + for (var r = e.targetVisuals[i], o = DD.prepareVisualTypes(r), a = { color: Ay(t.getData(), "color") }, s = 0, l = o.length; s < l; s++) { + var u = o[s], + h = r["opacity" === u ? "__alphaForOpacity" : u]; + h && h.applyVisual(n, c, p); + } + return a.color; + function c(t) { + return a[t]; + } + function p(t, e) { + a[t] = e; + } + } + var nG = E; + function iG(t) { + var e = t && t.visualMap; + Y(e) || (e = e ? [e] : []), + nG(e, function (t) { + if (t) { + rG(t, "splitList") && !rG(t, "pieces") && ((t.pieces = t.splitList), delete t.splitList); + var e = t.pieces; + e && + Y(e) && + nG(e, function (t) { + q(t) && (rG(t, "start") && !rG(t, "min") && (t.min = t.start), rG(t, "end") && !rG(t, "max") && (t.max = t.end)); + }); + } + }); + } + function rG(t, e) { + return t && t.hasOwnProperty && t.hasOwnProperty(e); + } + var oG = !1; + function aG(t) { + oG || + ((oG = !0), + t.registerSubTypeDefaulter("visualMap", function (t) { + return t.categories || ((t.pieces ? t.pieces.length > 0 : t.splitNumber > 0) && !t.calculable) ? "piecewise" : "continuous"; + }), + t.registerAction(JF, QF), + E(tG, function (e) { + t.registerVisual(t.PRIORITY.VISUAL.COMPONENT, e); + }), + t.registerPreprocessor(iG)); + } + function sG(t) { + t.registerComponentModel(VF), t.registerComponentView(jF), aG(t); + } + var lG = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), (n._pieceList = []), n; + } + return ( + n(e, t), + (e.prototype.optionUpdated = function (e, n) { + t.prototype.optionUpdated.apply(this, arguments), this.resetExtent(); + var i = (this._mode = this._determineMode()); + (this._pieceList = []), uG[this._mode].call(this, this._pieceList), this._resetSelected(e, n); + var r = this.option.categories; + this.resetVisual(function (t, e) { + "categories" === i + ? ((t.mappingMethod = "category"), (t.categories = T(r))) + : ((t.dataExtent = this.getExtent()), + (t.mappingMethod = "piecewise"), + (t.pieceList = z(this._pieceList, function (t) { + return (t = T(t)), "inRange" !== e && (t.visual = null), t; + }))); + }); + }), + (e.prototype.completeVisualOption = function () { + var e = this.option, + n = {}, + i = DD.listVisualTypes(), + r = this.isCategory(); + function o(t, e, n) { + return t && t[e] && t[e].hasOwnProperty(n); + } + E(e.pieces, function (t) { + E(i, function (e) { + t.hasOwnProperty(e) && (n[e] = 1); + }); + }), + E( + n, + function (t, n) { + var i = !1; + E( + this.stateList, + function (t) { + i = i || o(e, t, n) || o(e.target, t, n); + }, + this + ), + !i && + E(this.stateList, function (t) { + (e[t] || (e[t] = {}))[n] = DF(n, "inRange" === t ? "active" : "inactive", r); + }); + }, + this + ), + t.prototype.completeVisualOption.apply(this, arguments); + }), + (e.prototype._resetSelected = function (t, e) { + var n = this.option, + i = this._pieceList, + r = (e ? n : t).selected || {}; + if ( + ((n.selected = r), + E( + i, + function (t, e) { + var n = this.getSelectedMapKey(t); + r.hasOwnProperty(n) || (r[n] = !0); + }, + this + ), + "single" === n.selectedMode) + ) { + var o = !1; + E( + i, + function (t, e) { + var n = this.getSelectedMapKey(t); + r[n] && (o ? (r[n] = !1) : (o = !0)); + }, + this + ); + } + }), + (e.prototype.getItemSymbol = function () { + return this.get("itemSymbol"); + }), + (e.prototype.getSelectedMapKey = function (t) { + return "categories" === this._mode ? t.value + "" : t.index + ""; + }), + (e.prototype.getPieceList = function () { + return this._pieceList; + }), + (e.prototype._determineMode = function () { + var t = this.option; + return t.pieces && t.pieces.length > 0 ? "pieces" : this.option.categories ? "categories" : "splitNumber"; + }), + (e.prototype.setSelected = function (t) { + this.option.selected = T(t); + }), + (e.prototype.getValueState = function (t) { + var e = DD.findPieceIndex(t, this._pieceList); + return null != e && this.option.selected[this.getSelectedMapKey(this._pieceList[e])] ? "inRange" : "outOfRange"; + }), + (e.prototype.findTargetDataIndices = function (t) { + var e = [], + n = this._pieceList; + return ( + this.eachTargetSeries(function (i) { + var r = [], + o = i.getData(); + o.each( + this.getDataDimensionIndex(o), + function (e, i) { + DD.findPieceIndex(e, n) === t && r.push(i); + }, + this + ), + e.push({ seriesId: i.id, dataIndex: r }); + }, this), + e + ); + }), + (e.prototype.getRepresentValue = function (t) { + var e; + if (this.isCategory()) e = t.value; + else if (null != t.value) e = t.value; + else { + var n = t.interval || []; + e = n[0] === -1 / 0 && n[1] === 1 / 0 ? 0 : (n[0] + n[1]) / 2; + } + return e; + }), + (e.prototype.getVisualMeta = function (t) { + if (!this.isCategory()) { + var e = [], + n = ["", ""], + i = this, + r = this._pieceList.slice(); + if (r.length) { + var o = r[0].interval[0]; + o !== -1 / 0 && r.unshift({ interval: [-1 / 0, o] }), (o = r[r.length - 1].interval[1]) !== 1 / 0 && r.push({ interval: [o, 1 / 0] }); + } else r.push({ interval: [-1 / 0, 1 / 0] }); + var a = -1 / 0; + return ( + E( + r, + function (t) { + var e = t.interval; + e && (e[0] > a && s([a, e[0]], "outOfRange"), s(e.slice()), (a = e[1])); + }, + this + ), + { stops: e, outerColors: n } + ); + } + function s(r, o) { + var a = i.getRepresentValue({ interval: r }); + o || (o = i.getValueState(a)); + var s = t(a, o); + r[0] === -1 / 0 ? (n[0] = s) : r[1] === 1 / 0 ? (n[1] = s) : e.push({ value: r[0], color: s }, { value: r[1], color: s }); + } + }), + (e.type = "visualMap.piecewise"), + (e.defaultOption = kc(EF.defaultOption, { + selected: null, + minOpen: !1, + maxOpen: !1, + align: "auto", + itemWidth: 20, + itemHeight: 14, + itemSymbol: "roundRect", + pieces: null, + categories: null, + splitNumber: 5, + selectedMode: "multiple", + itemGap: 10, + hoverLink: !0, + })), + e + ); + })(EF), + uG = { + splitNumber: function (t) { + var e = this.option, + n = Math.min(e.precision, 20), + i = this.getExtent(), + r = e.splitNumber; + (r = Math.max(parseInt(r, 10), 1)), (e.splitNumber = r); + for (var o = (i[1] - i[0]) / r; +o.toFixed(n) !== o && n < 5; ) n++; + (e.precision = n), (o = +o.toFixed(n)), e.minOpen && t.push({ interval: [-1 / 0, i[0]], close: [0, 0] }); + for (var a = 0, s = i[0]; a < r; s += o, a++) { + var l = a === r - 1 ? i[1] : s + o; + t.push({ interval: [s, l], close: [1, 1] }); + } + e.maxOpen && t.push({ interval: [i[1], 1 / 0], close: [0, 0] }), + go(t), + E( + t, + function (t, e) { + (t.index = e), (t.text = this.formatValueText(t.interval)); + }, + this + ); + }, + categories: function (t) { + var e = this.option; + E( + e.categories, + function (e) { + t.push({ text: this.formatValueText(e, !0), value: e }); + }, + this + ), + hG(e, t); + }, + pieces: function (t) { + var e = this.option; + E( + e.pieces, + function (e, n) { + q(e) || (e = { value: e }); + var i = { text: "", index: n }; + if ((null != e.label && (i.text = e.label), e.hasOwnProperty("value"))) { + var r = (i.value = e.value); + (i.interval = [r, r]), (i.close = [1, 1]); + } else { + for (var o = (i.interval = []), a = (i.close = [0, 0]), s = [1, 0, 1], l = [-1 / 0, 1 / 0], u = [], h = 0; h < 2; h++) { + for ( + var c = [ + ["gte", "gt", "min"], + ["lte", "lt", "max"], + ][h], + p = 0; + p < 3 && null == o[h]; + p++ + ) + (o[h] = e[c[p]]), (a[h] = s[p]), (u[h] = 2 === p); + null == o[h] && (o[h] = l[h]); + } + u[0] && o[1] === 1 / 0 && (a[0] = 0), u[1] && o[0] === -1 / 0 && (a[1] = 0), o[0] === o[1] && a[0] && a[1] && (i.value = o[0]); + } + (i.visual = DD.retrieveVisuals(e)), t.push(i); + }, + this + ), + hG(e, t), + go(t), + E( + t, + function (t) { + var e = t.close, + n = [["<", "≤"][e[1]], [">", "≥"][e[0]]]; + t.text = t.text || this.formatValueText(null != t.value ? t.value : t.interval, !1, n); + }, + this + ); + }, + }; + function hG(t, e) { + var n = t.inverse; + ("vertical" === t.orient ? !n : n) && e.reverse(); + } + var cG = (function (t) { + function e() { + var n = (null !== t && t.apply(this, arguments)) || this; + return (n.type = e.type), n; + } + return ( + n(e, t), + (e.prototype.doRender = function () { + var t = this.group; + t.removeAll(); + var e = this.visualMapModel, + n = e.get("textGap"), + i = e.textStyleModel, + r = i.getFont(), + o = i.getTextColor(), + a = this._getItemAlign(), + s = e.itemSize, + l = this._getViewData(), + u = l.endsText, + h = it(e.get("showLabel", !0), !u); + u && this._renderEndsText(t, u[0], s, h, a), + E( + l.viewPieceList, + function (i) { + var l = i.piece, + u = new Br(); + (u.onclick = W(this._onItemClick, this, l)), this._enableHoverLink(u, i.indexInModelPieceList); + var c = e.getRepresentValue(l); + if ((this._createItemSymbol(u, c, [0, 0, s[0], s[1]]), h)) { + var p = this.visualMapModel.getValueState(c); + u.add(new Xs({ style: { x: "right" === a ? -n : s[0] + n, y: s[1] / 2, text: l.text, verticalAlign: "middle", align: a, font: r, fill: o, opacity: "outOfRange" === p ? 0.5 : 1 } })); + } + t.add(u); + }, + this + ), + u && this._renderEndsText(t, u[1], s, h, a), + Ap(e.get("orient"), t, e.get("itemGap")), + this.renderBackground(t), + this.positionGroup(t); + }), + (e.prototype._enableHoverLink = function (t, e) { + var n = this; + t.on("mouseover", function () { + return i("highlight"); + }).on("mouseout", function () { + return i("downplay"); + }); + var i = function (t) { + var i = n.visualMapModel; + i.option.hoverLink && n.api.dispatchAction({ type: t, batch: HF(i.findTargetDataIndices(e), i) }); + }; + }), + (e.prototype._getItemAlign = function () { + var t = this.visualMapModel, + e = t.option; + if ("vertical" === e.orient) return WF(t, this.api, t.itemSize); + var n = e.align; + return (n && "auto" !== n) || (n = "left"), n; + }), + (e.prototype._renderEndsText = function (t, e, n, i, r) { + if (e) { + var o = new Br(), + a = this.visualMapModel.textStyleModel; + o.add(new Xs({ style: oc(a, { x: i ? ("right" === r ? n[0] : 0) : n[0] / 2, y: n[1] / 2, verticalAlign: "middle", align: i ? r : "center", text: e }) })), t.add(o); + } + }), + (e.prototype._getViewData = function () { + var t = this.visualMapModel, + e = z(t.getPieceList(), function (t, e) { + return { piece: t, indexInModelPieceList: e }; + }), + n = t.get("text"), + i = t.get("orient"), + r = t.get("inverse"); + return ("horizontal" === i ? r : !r) ? e.reverse() : n && (n = n.slice().reverse()), { viewPieceList: e, endsText: n }; + }), + (e.prototype._createItemSymbol = function (t, e, n) { + t.add(Xy(this.getControllerVisual(e, "symbol"), n[0], n[1], n[2], n[3], this.getControllerVisual(e, "color"))); + }), + (e.prototype._onItemClick = function (t) { + var e = this.visualMapModel, + n = e.option, + i = n.selectedMode; + if (i) { + var r = T(n.selected), + o = e.getSelectedMapKey(t); + "single" === i || !0 === i + ? ((r[o] = !0), + E(r, function (t, e) { + r[e] = e === o; + })) + : (r[o] = !r[o]), + this.api.dispatchAction({ type: "selectDataRange", from: this.uid, visualMapId: this.visualMapModel.id, selected: r }); + } + }), + (e.type = "visualMap.piecewise"), + e + ); + })(FF); + function pG(t) { + t.registerComponentModel(lG), t.registerComponentView(cG), aG(t); + } + var dG = { label: { enabled: !0 }, decal: { show: !1 } }, + fG = Vo(), + gG = {}; + function yG(t, e) { + var n = t.getModel("aria"); + if (n.get("enabled")) { + var i = T(dG); + C(i.label, t.getLocaleModel().get("aria"), !1), + C(n.option, i, !1), + (function () { + if (n.getModel("decal").get("show")) { + var e = yt(); + t.eachSeries(function (t) { + if (!t.isColorBySeries()) { + var n = e.get(t.type); + n || ((n = {}), e.set(t.type, n)), (fG(t).scope = n); + } + }), + t.eachRawSeries(function (e) { + if (!t.isSeriesFiltered(e)) + if (X(e.enableAriaDecal)) e.enableAriaDecal(); + else { + var n = e.getData(); + if (e.isColorBySeries()) { + var i = pd(e.ecModel, e.name, gG, t.getSeriesCount()), + r = n.getVisual("decal"); + n.setVisual("decal", u(r, i)); + } else { + var o = e.getRawData(), + a = {}, + s = fG(e).scope; + n.each(function (t) { + var e = n.getRawIndex(t); + a[e] = t; + }); + var l = o.count(); + o.each(function (t) { + var i = a[t], + r = o.getName(t) || t + "", + h = pd(e.ecModel, r, s, l), + c = n.getItemVisual(i, "decal"); + n.setItemVisual(i, "decal", u(c, h)); + }); + } + } + function u(t, e) { + var n = t ? A(A({}, e), t) : e; + return (n.dirty = !0), n; + } + }); + } + })(), + (function () { + var i = t.getLocaleModel().get("aria"), + o = n.getModel("label"); + if (((o.option = k(o.option, i)), !o.get("enabled"))) return; + var a = e.getZr().dom; + if (o.get("description")) return void a.setAttribute("aria-label", o.get("description")); + var s, + l = t.getSeriesCount(), + u = o.get(["data", "maxCount"]) || 10, + h = o.get(["series", "maxCount"]) || 10, + c = Math.min(l, h); + if (l < 1) return; + var p = (function () { + var e = t.get("title"); + e && e.length && (e = e[0]); + return e && e.text; + })(); + s = p ? r(o.get(["general", "withTitle"]), { title: p }) : o.get(["general", "withoutTitle"]); + var d = []; + (s += r(l > 1 ? o.get(["series", "multiple", "prefix"]) : o.get(["series", "single", "prefix"]), { seriesCount: l })), + t.eachSeries(function (e, n) { + if (n < c) { + var i = void 0, + a = e.get("name") ? "withName" : "withoutName"; + i = r((i = l > 1 ? o.get(["series", "multiple", a]) : o.get(["series", "single", a])), { + seriesId: e.seriesIndex, + seriesName: e.get("name"), + seriesType: ((x = e.subType), (_ = t.getLocaleModel().get(["series", "typeNames"])), _[x] || _.chart), + }); + var s = e.getData(); + if (s.count() > u) i += r(o.get(["data", "partialData"]), { displayCnt: u }); + else i += o.get(["data", "allData"]); + for (var h = o.get(["data", "separator", "middle"]), p = o.get(["data", "separator", "end"]), f = [], g = 0; g < s.count(); g++) + if (g < u) { + var y = s.getName(g), + v = s.getValues(g), + m = o.get(["data", y ? "withName" : "withoutName"]); + f.push(r(m, { name: y, value: v.join(h) })); + } + (i += f.join(h) + p), d.push(i); + } + var x, _; + }); + var f = o.getModel(["series", "multiple", "separator"]), + g = f.get("middle"), + y = f.get("end"); + (s += d.join(g) + y), a.setAttribute("aria-label", s); + })(); + } + function r(t, e) { + if (!U(t)) return t; + var n = t; + return ( + E(e, function (t, e) { + n = n.replace(new RegExp("\\{\\s*" + e + "\\s*\\}", "g"), t); + }), + n + ); + } + } + function vG(t) { + if (t && t.aria) { + var e = t.aria; + null != e.show && (e.enabled = e.show), + (e.label = e.label || {}), + E(["description", "general", "series", "data"], function (t) { + null != e[t] && (e.label[t] = e[t]); + }); + } + } + var mG = { value: "eq", "<": "lt", "<=": "lte", ">": "gt", ">=": "gte", "=": "eq", "!=": "ne", "<>": "ne" }, + xG = (function () { + function t(t) { + if (null == (this._condVal = U(t) ? new RegExp(t) : et(t) ? t : null)) { + var e = ""; + 0, wo(e); + } + } + return ( + (t.prototype.evaluate = function (t) { + var e = typeof t; + return U(e) ? this._condVal.test(t) : !!j(e) && this._condVal.test(t + ""); + }), + t + ); + })(), + _G = (function () { + function t() {} + return ( + (t.prototype.evaluate = function () { + return this.value; + }), + t + ); + })(), + bG = (function () { + function t() {} + return ( + (t.prototype.evaluate = function () { + for (var t = this.children, e = 0; e < t.length; e++) if (!t[e].evaluate()) return !1; + return !0; + }), + t + ); + })(), + wG = (function () { + function t() {} + return ( + (t.prototype.evaluate = function () { + for (var t = this.children, e = 0; e < t.length; e++) if (t[e].evaluate()) return !0; + return !1; + }), + t + ); + })(), + SG = (function () { + function t() {} + return ( + (t.prototype.evaluate = function () { + return !this.child.evaluate(); + }), + t + ); + })(), + MG = (function () { + function t() {} + return ( + (t.prototype.evaluate = function () { + for (var t = !!this.valueParser, e = (0, this.getValue)(this.valueGetterParam), n = t ? this.valueParser(e) : null, i = 0; i < this.subCondList.length; i++) if (!this.subCondList[i].evaluate(t ? n : e)) return !1; + return !0; + }), + t + ); + })(); + function IG(t, e) { + if (!0 === t || !1 === t) { + var n = new _G(); + return (n.value = t), n; + } + var i = ""; + return ( + CG(t) || wo(i), + t.and + ? TG("and", t, e) + : t.or + ? TG("or", t, e) + : t.not + ? (function (t, e) { + var n = t.not, + i = ""; + 0; + CG(n) || wo(i); + var r = new SG(); + (r.child = IG(n, e)), r.child || wo(i); + return r; + })(t, e) + : (function (t, e) { + for (var n = "", i = e.prepareGetValue(t), r = [], o = G(t), a = t.parser, s = a ? Cf(a) : null, l = 0; l < o.length; l++) { + var u = o[l]; + if ("parser" !== u && !e.valueGetterAttrMap.get(u)) { + var h = _t(mG, u) ? mG[u] : u, + c = t[u], + p = s ? s(c) : c, + d = Pf(h, p) || ("reg" === h && new xG(p)); + d || wo(n), r.push(d); + } + } + r.length || wo(n); + var f = new MG(); + return (f.valueGetterParam = i), (f.valueParser = s), (f.getValue = e.getValue), (f.subCondList = r), f; + })(t, e) + ); + } + function TG(t, e, n) { + var i = e[t], + r = ""; + Y(i) || wo(r), i.length || wo(r); + var o = "and" === t ? new bG() : new wG(); + return ( + (o.children = z(i, function (t) { + return IG(t, n); + })), + o.children.length || wo(r), + o + ); + } + function CG(t) { + return q(t) && !N(t); + } + var DG = (function () { + function t(t, e) { + this._cond = IG(t, e); + } + return ( + (t.prototype.evaluate = function () { + return this._cond.evaluate(); + }), + t + ); + })(); + var AG = { + type: "echarts:filter", + transform: function (t) { + for ( + var e, + n, + i, + r = t.upstream, + o = + ((n = t.config), + (i = { + valueGetterAttrMap: yt({ dimension: !0 }), + prepareGetValue: function (t) { + var e = "", + n = t.dimension; + _t(t, "dimension") || wo(e); + var i = r.getDimensionInfo(n); + return i || wo(e), { dimIdx: i.index }; + }, + getValue: function (t) { + return r.retrieveValueFromItem(e, t.dimIdx); + }, + }), + new DG(n, i)), + a = [], + s = 0, + l = r.count(); + s < l; + s++ + ) + (e = r.getRawDataItem(s)), o.evaluate() && a.push(e); + return { data: a }; + }, + }; + var kG = { + type: "echarts:sort", + transform: function (t) { + var e = t.upstream, + n = t.config, + i = "", + r = To(n); + r.length || wo(i); + var o = []; + E(r, function (t) { + var n = t.dimension, + r = t.order, + a = t.parser, + s = t.incomparable; + if ((null == n && wo(i), "asc" !== r && "desc" !== r && wo(i), s && "min" !== s && "max" !== s)) { + var l = ""; + 0, wo(l); + } + if ("asc" !== r && "desc" !== r) { + var u = ""; + 0, wo(u); + } + var h = e.getDimensionInfo(n); + h || wo(i); + var c = a ? Cf(a) : null; + a && !c && wo(i), o.push({ dimIdx: h.index, parser: c, comparator: new kf(r, s) }); + }); + var a = e.sourceFormat; + a !== Hp && a !== Yp && wo(i); + for (var s = [], l = 0, u = e.count(); l < u; l++) s.push(e.getRawDataItem(l)); + return ( + s.sort(function (t, n) { + for (var i = 0; i < o.length; i++) { + var r = o[i], + a = e.retrieveValueFromItem(t, r.dimIdx), + s = e.retrieveValueFromItem(n, r.dimIdx); + r.parser && ((a = r.parser(a)), (s = r.parser(s))); + var l = r.comparator.evaluate(a, s); + if (0 !== l) return l; + } + return 0; + }), + { data: s } + ); + }, + }; + var LG = (function (t) { + function e() { + var e = (null !== t && t.apply(this, arguments)) || this; + return (e.type = "dataset"), e; + } + return ( + n(e, t), + (e.prototype.init = function (e, n, i) { + t.prototype.init.call(this, e, n, i), (this._sourceManager = new $f(this)), Jf(this); + }), + (e.prototype.mergeOption = function (e, n) { + t.prototype.mergeOption.call(this, e, n), Jf(this); + }), + (e.prototype.optionUpdated = function () { + this._sourceManager.dirty(); + }), + (e.prototype.getSourceManager = function () { + return this._sourceManager; + }), + (e.type = "dataset"), + (e.defaultOption = { seriesLayoutBy: jp }), + e + ); + })(zp), + PG = (function (t) { + function e() { + var e = (null !== t && t.apply(this, arguments)) || this; + return (e.type = "dataset"), e; + } + return n(e, t), (e.type = "dataset"), e; + })(Ag); + var OG = hs.CMD; + function RG(t, e) { + return Math.abs(t - e) < 1e-5; + } + function NG(t) { + var e, + n, + i, + r, + o, + a = t.data, + s = t.len(), + l = [], + u = 0, + h = 0, + c = 0, + p = 0; + function d(t, n) { + e && e.length > 2 && l.push(e), (e = [t, n]); + } + function f(t, n, i, r) { + (RG(t, i) && RG(n, r)) || e.push(t, n, i, r, i, r); + } + function g(t, n, i, r, o, a) { + var s = Math.abs(n - t), + l = (4 * Math.tan(s / 4)) / 3, + u = n < t ? -1 : 1, + h = Math.cos(t), + c = Math.sin(t), + p = Math.cos(n), + d = Math.sin(n), + f = h * o + i, + g = c * a + r, + y = p * o + i, + v = d * a + r, + m = o * l * u, + x = a * l * u; + e.push(f - m * c, g + x * h, y + m * d, v - x * p, y, v); + } + for (var y = 0; y < s; ) { + var v = a[y++], + m = 1 === y; + switch ((m && ((c = u = a[y]), (p = h = a[y + 1]), (v !== OG.L && v !== OG.C && v !== OG.Q) || (e = [c, p])), v)) { + case OG.M: + (u = c = a[y++]), (h = p = a[y++]), d(c, p); + break; + case OG.L: + f(u, h, (n = a[y++]), (i = a[y++])), (u = n), (h = i); + break; + case OG.C: + e.push(a[y++], a[y++], a[y++], a[y++], (u = a[y++]), (h = a[y++])); + break; + case OG.Q: + (n = a[y++]), (i = a[y++]), (r = a[y++]), (o = a[y++]), e.push(u + (2 / 3) * (n - u), h + (2 / 3) * (i - h), r + (2 / 3) * (n - r), o + (2 / 3) * (i - o), r, o), (u = r), (h = o); + break; + case OG.A: + var x = a[y++], + _ = a[y++], + b = a[y++], + w = a[y++], + S = a[y++], + M = a[y++] + S; + y += 1; + var I = !a[y++]; + (n = Math.cos(S) * b + x), (i = Math.sin(S) * w + _), m ? d((c = n), (p = i)) : f(u, h, n, i), (u = Math.cos(M) * b + x), (h = Math.sin(M) * w + _); + for (var T = ((I ? -1 : 1) * Math.PI) / 2, C = S; I ? C > M : C < M; C += T) { + g(C, I ? Math.max(C + T, M) : Math.min(C + T, M), x, _, b, w); + } + break; + case OG.R: + (c = u = a[y++]), (p = h = a[y++]), (n = c + a[y++]), (i = p + a[y++]), d(n, p), f(n, p, n, i), f(n, i, c, i), f(c, i, c, p), f(c, p, n, p); + break; + case OG.Z: + e && f(u, h, c, p), (u = c), (h = p); + } + } + return e && e.length > 2 && l.push(e), l; + } + function EG(t, e, n, i, r, o, a, s, l, u) { + if (RG(t, n) && RG(e, i) && RG(r, a) && RG(o, s)) l.push(a, s); + else { + var h = 2 / u, + c = h * h, + p = a - t, + d = s - e, + f = Math.sqrt(p * p + d * d); + (p /= f), (d /= f); + var g = n - t, + y = i - e, + v = r - a, + m = o - s, + x = g * g + y * y, + _ = v * v + m * m; + if (x < c && _ < c) l.push(a, s); + else { + var b = p * g + d * y, + w = -p * v - d * m; + if (x - b * b < c && b >= 0 && _ - w * w < c && w >= 0) l.push(a, s); + else { + var S = [], + M = []; + wn(t, n, r, a, 0.5, S), wn(e, i, o, s, 0.5, M), EG(S[0], M[0], S[1], M[1], S[2], M[2], S[3], M[3], l, u), EG(S[4], M[4], S[5], M[5], S[6], M[6], S[7], M[7], l, u); + } + } + } + } + function zG(t, e, n) { + var i = t[e], + r = t[1 - e], + o = Math.abs(i / r), + a = Math.ceil(Math.sqrt(o * n)), + s = Math.floor(n / a); + 0 === s && ((s = 1), (a = n)); + for (var l = [], u = 0; u < a; u++) l.push(s); + var h = n - a * s; + if (h > 0) for (u = 0; u < h; u++) l[u % a] += 1; + return l; + } + function VG(t, e, n) { + for (var i = t.r0, r = t.r, o = t.startAngle, a = t.endAngle, s = Math.abs(a - o), l = s * r, u = r - i, h = l > Math.abs(u), c = zG([l, u], h ? 0 : 1, e), p = (h ? s : u) / c.length, d = 0; d < c.length; d++) + for (var f = (h ? u : s) / c[d], g = 0; g < c[d]; g++) { + var y = {}; + h ? ((y.startAngle = o + p * d), (y.endAngle = o + p * (d + 1)), (y.r0 = i + f * g), (y.r = i + f * (g + 1))) : ((y.startAngle = o + f * g), (y.endAngle = o + f * (g + 1)), (y.r0 = i + p * d), (y.r = i + p * (d + 1))), + (y.clockwise = t.clockwise), + (y.cx = t.cx), + (y.cy = t.cy), + n.push(y); + } + } + function BG(t, e, n, i) { + return t * i - n * e; + } + function FG(t, e, n, i, r, o, a, s) { + var l = n - t, + u = i - e, + h = a - r, + c = s - o, + p = BG(h, c, l, u); + if (Math.abs(p) < 1e-6) return null; + var d = BG(t - r, e - o, h, c) / p; + return d < 0 || d > 1 ? null : new De(d * l + t, d * u + e); + } + function GG(t, e, n) { + var i = new De(); + De.sub(i, n, e), i.normalize(); + var r = new De(); + return De.sub(r, t, e), r.dot(i); + } + function WG(t, e) { + var n = t[t.length - 1]; + (n && n[0] === e[0] && n[1] === e[1]) || t.push(e); + } + function HG(t) { + var e = t.points, + n = [], + i = []; + Ba(e, n, i); + var r = new ze(n[0], n[1], i[0] - n[0], i[1] - n[1]), + o = r.width, + a = r.height, + s = r.x, + l = r.y, + u = new De(), + h = new De(); + return ( + o > a ? ((u.x = h.x = s + o / 2), (u.y = l), (h.y = l + a)) : ((u.y = h.y = l + a / 2), (u.x = s), (h.x = s + o)), + (function (t, e, n) { + for (var i = t.length, r = [], o = 0; o < i; o++) { + var a = t[o], + s = t[(o + 1) % i], + l = FG(a[0], a[1], s[0], s[1], e.x, e.y, n.x, n.y); + l && r.push({ projPt: GG(l, e, n), pt: l, idx: o }); + } + if (r.length < 2) return [{ points: t }, { points: t }]; + r.sort(function (t, e) { + return t.projPt - e.projPt; + }); + var u = r[0], + h = r[r.length - 1]; + if (h.idx < u.idx) { + var c = u; + (u = h), (h = c); + } + var p = [u.pt.x, u.pt.y], + d = [h.pt.x, h.pt.y], + f = [p], + g = [d]; + for (o = u.idx + 1; o <= h.idx; o++) WG(f, t[o].slice()); + for (WG(f, d), WG(f, p), o = h.idx + 1; o <= u.idx + i; o++) WG(g, t[o % i].slice()); + return WG(g, p), WG(g, d), [{ points: f }, { points: g }]; + })(e, u, h) + ); + } + function YG(t, e, n, i) { + if (1 === n) i.push(e); + else { + var r = Math.floor(n / 2), + o = t(e); + YG(t, o[0], r, i), YG(t, o[1], n - r, i); + } + return i; + } + function XG(t, e) { + e.setStyle(t.style), (e.z = t.z), (e.z2 = t.z2), (e.zlevel = t.zlevel); + } + function UG(t, e) { + var n, + i = [], + r = t.shape; + switch (t.type) { + case "rect": + !(function (t, e, n) { + for (var i = t.width, r = t.height, o = i > r, a = zG([i, r], o ? 0 : 1, e), s = o ? "width" : "height", l = o ? "height" : "width", u = o ? "x" : "y", h = o ? "y" : "x", c = t[s] / a.length, p = 0; p < a.length; p++) + for (var d = t[l] / a[p], f = 0; f < a[p]; f++) { + var g = {}; + (g[u] = p * c), (g[h] = f * d), (g[s] = c), (g[l] = d), (g.x += t.x), (g.y += t.y), n.push(g); + } + })(r, e, i), + (n = Ws); + break; + case "sector": + VG(r, e, i), (n = Fu); + break; + case "circle": + VG({ r0: 0, r: r.r, startAngle: 0, endAngle: 2 * Math.PI, cx: r.cx, cy: r.cy }, e, i), (n = Fu); + break; + default: + var o = t.getComputedTransform(), + a = o ? Math.sqrt(Math.max(o[0] * o[0] + o[1] * o[1], o[2] * o[2] + o[3] * o[3])) : 1, + s = z( + (function (t, e) { + var n = NG(t), + i = []; + e = e || 1; + for (var r = 0; r < n.length; r++) { + var o = n[r], + a = [], + s = o[0], + l = o[1]; + a.push(s, l); + for (var u = 2; u < o.length; ) { + var h = o[u++], + c = o[u++], + p = o[u++], + d = o[u++], + f = o[u++], + g = o[u++]; + EG(s, l, h, c, p, d, f, g, a, e), (s = f), (l = g); + } + i.push(a); + } + return i; + })(t.getUpdatedPathProxy(), a), + function (t) { + return (function (t) { + for (var e = [], n = 0; n < t.length; ) e.push([t[n++], t[n++]]); + return e; + })(t); + } + ), + l = s.length; + if (0 === l) YG(HG, { points: s[0] }, e, i); + else if (l === e) for (var u = 0; u < l; u++) i.push({ points: s[u] }); + else { + var h = 0, + c = z(s, function (t) { + var e = [], + n = []; + Ba(t, e, n); + var i = (n[1] - e[1]) * (n[0] - e[0]); + return (h += i), { poly: t, area: i }; + }); + c.sort(function (t, e) { + return e.area - t.area; + }); + var p = e; + for (u = 0; u < l; u++) { + var d = c[u]; + if (p <= 0) break; + var f = u === l - 1 ? p : Math.ceil((d.area / h) * e); + f < 0 || (YG(HG, { points: d.poly }, f, i), (p -= f)); + } + } + n = Xu; + } + if (!n) + return (function (t, e) { + for (var n = [], i = 0; i < e; i++) n.push(bu(t)); + return n; + })(t, e); + var g = []; + for (u = 0; u < i.length; u++) { + var y = new n(); + y.setShape(i[u]), XG(t, y), g.push(y); + } + return g; + } + function ZG(t, e) { + var n = t.length, + i = e.length; + if (n === i) return [t, e]; + for (var r = [], o = [], a = n < i ? t : e, s = Math.min(n, i), l = Math.abs(i - n) / 6, u = (s - 2) / 6, h = Math.ceil(l / u) + 1, c = [a[0], a[1]], p = l, d = 2; d < s; ) { + var f = a[d - 2], + g = a[d - 1], + y = a[d++], + v = a[d++], + m = a[d++], + x = a[d++], + _ = a[d++], + b = a[d++]; + if (p <= 0) c.push(y, v, m, x, _, b); + else { + for (var w = Math.min(p, h - 1) + 1, S = 1; S <= w; S++) { + var M = S / w; + wn(f, y, m, _, M, r), wn(g, v, x, b, M, o), (f = r[3]), (g = o[3]), c.push(r[1], o[1], r[2], o[2], f, g), (y = r[5]), (v = o[5]), (m = r[6]), (x = o[6]); + } + p -= w - 1; + } + } + return a === t ? [c, e] : [t, c]; + } + function jG(t, e) { + for (var n = t.length, i = t[n - 2], r = t[n - 1], o = [], a = 0; a < e.length; ) (o[a++] = i), (o[a++] = r); + return o; + } + function qG(t) { + for (var e = 0, n = 0, i = 0, r = t.length, o = 0, a = r - 2; o < r; a = o, o += 2) { + var s = t[a], + l = t[a + 1], + u = t[o], + h = t[o + 1], + c = s * h - u * l; + (e += c), (n += (s + u) * c), (i += (l + h) * c); + } + return 0 === e ? [t[0] || 0, t[1] || 0] : [n / e / 3, i / e / 3, e]; + } + function KG(t, e, n, i) { + for (var r = (t.length - 2) / 6, o = 1 / 0, a = 0, s = t.length, l = s - 2, u = 0; u < r; u++) { + for (var h = 6 * u, c = 0, p = 0; p < s; p += 2) { + var d = 0 === p ? h : ((h + p - 2) % l) + 2, + f = t[d] - n[0], + g = t[d + 1] - n[1], + y = e[p] - i[0] - f, + v = e[p + 1] - i[1] - g; + c += y * y + v * v; + } + c < o && ((o = c), (a = u)); + } + return a; + } + function $G(t) { + for (var e = [], n = t.length, i = 0; i < n; i += 2) (e[i] = t[n - i - 2]), (e[i + 1] = t[n - i - 1]); + return e; + } + function JG(t) { + return t.__isCombineMorphing; + } + var QG = "__mOriginal_"; + function tW(t, e, n) { + var i = QG + e, + r = t[i] || t[e]; + t[i] || (t[i] = t[e]); + var o = n.replace, + a = n.after, + s = n.before; + t[e] = function () { + var t, + e = arguments; + return s && s.apply(this, e), (t = o ? o.apply(this, e) : r.apply(this, e)), a && a.apply(this, e), t; + }; + } + function eW(t, e) { + var n = QG + e; + t[n] && ((t[e] = t[n]), (t[n] = null)); + } + function nW(t, e) { + for (var n = 0; n < t.length; n++) + for (var i = t[n], r = 0; r < i.length; ) { + var o = i[r], + a = i[r + 1]; + (i[r++] = e[0] * o + e[2] * a + e[4]), (i[r++] = e[1] * o + e[3] * a + e[5]); + } + } + function iW(t, e) { + var n = t.getUpdatedPathProxy(), + i = e.getUpdatedPathProxy(), + r = (function (t, e) { + for (var n, i, r, o = [], a = [], s = 0; s < Math.max(t.length, e.length); s++) { + var l = t[s], + u = e[s], + h = void 0, + c = void 0; + l ? (u ? ((i = h = (n = ZG(l, u))[0]), (r = c = n[1])) : ((c = jG(r || l, l)), (h = l))) : ((h = jG(i || u, u)), (c = u)), o.push(h), a.push(c); + } + return [o, a]; + })(NG(n), NG(i)), + o = r[0], + a = r[1], + s = t.getComputedTransform(), + l = e.getComputedTransform(); + s && nW(o, s), + l && nW(a, l), + tW(e, "updateTransform", { + replace: function () { + this.transform = null; + }, + }), + (e.transform = null); + var u = (function (t, e, n, i) { + for (var r, o = [], a = 0; a < t.length; a++) { + var s = t[a], + l = e[a], + u = qG(s), + h = qG(l); + null == r && (r = u[2] < 0 != h[2] < 0); + var c = [], + p = [], + d = 0, + f = 1 / 0, + g = [], + y = s.length; + r && (s = $G(s)); + for (var v = 6 * KG(s, l, u, h), m = y - 2, x = 0; x < m; x += 2) { + var _ = ((v + x) % m) + 2; + (c[x + 2] = s[_] - u[0]), (c[x + 3] = s[_ + 1] - u[1]); + } + if (((c[0] = s[v] - u[0]), (c[1] = s[v + 1] - u[1]), n > 0)) + for (var b = i / n, w = -i / 2; w <= i / 2; w += b) { + var S = Math.sin(w), + M = Math.cos(w), + I = 0; + for (x = 0; x < s.length; x += 2) { + var T = c[x], + C = c[x + 1], + D = l[x] - h[0], + A = l[x + 1] - h[1], + k = D * M - A * S, + L = D * S + A * M; + (g[x] = k), (g[x + 1] = L); + var P = k - T, + O = L - C; + I += P * P + O * O; + } + if (I < f) { + (f = I), (d = w); + for (var R = 0; R < g.length; R++) p[R] = g[R]; + } + } + else for (var N = 0; N < y; N += 2) (p[N] = l[N] - h[0]), (p[N + 1] = l[N + 1] - h[1]); + o.push({ from: c, to: p, fromCp: u, toCp: h, rotation: -d }); + } + return o; + })(o, a, 10, Math.PI), + h = []; + tW(e, "buildPath", { + replace: function (t) { + for (var n = e.__morphT, i = 1 - n, r = [], o = 0; o < u.length; o++) { + var a = u[o], + s = a.from, + l = a.to, + c = a.rotation * n, + p = a.fromCp, + d = a.toCp, + f = Math.sin(c), + g = Math.cos(c); + Gt(r, p, d, n); + for (var y = 0; y < s.length; y += 2) { + var v = s[y], + m = s[y + 1], + x = v * i + (S = l[y]) * n, + _ = m * i + (M = l[y + 1]) * n; + (h[y] = x * g - _ * f + r[0]), (h[y + 1] = x * f + _ * g + r[1]); + } + var b = h[0], + w = h[1]; + t.moveTo(b, w); + for (y = 2; y < s.length; ) { + var S = h[y++], + M = h[y++], + I = h[y++], + T = h[y++], + C = h[y++], + D = h[y++]; + b === S && w === M && I === C && T === D ? t.lineTo(C, D) : t.bezierCurveTo(S, M, I, T, C, D), (b = C), (w = D); + } + } + }, + }); + } + function rW(t, e, n) { + if (!t || !e) return e; + var i = n.done, + r = n.during; + return ( + iW(t, e), + (e.__morphT = 0), + e.animateTo( + { __morphT: 1 }, + k( + { + during: function (t) { + e.dirtyShape(), r && r(t); + }, + done: function () { + eW(e, "buildPath"), eW(e, "updateTransform"), (e.__morphT = -1), e.createPathProxy(), e.dirtyShape(), i && i(); + }, + }, + n + ) + ), + e + ); + } + function oW(t, e, n, i, r, o) { + (t = r === n ? 0 : Math.round((32767 * (t - n)) / (r - n))), (e = o === i ? 0 : Math.round((32767 * (e - i)) / (o - i))); + for (var a, s = 0, l = 32768; l > 0; l /= 2) { + var u = 0, + h = 0; + (t & l) > 0 && (u = 1), (e & l) > 0 && (h = 1), (s += l * l * ((3 * u) ^ h)), 0 === h && (1 === u && ((t = l - 1 - t), (e = l - 1 - e)), (a = t), (t = e), (e = a)); + } + return s; + } + function aW(t) { + var e = 1 / 0, + n = 1 / 0, + i = -1 / 0, + r = -1 / 0, + o = z(t, function (t) { + var o = t.getBoundingRect(), + a = t.getComputedTransform(), + s = o.x + o.width / 2 + (a ? a[4] : 0), + l = o.y + o.height / 2 + (a ? a[5] : 0); + return (e = Math.min(s, e)), (n = Math.min(l, n)), (i = Math.max(s, i)), (r = Math.max(l, r)), [s, l]; + }); + return z(o, function (o, a) { + return { cp: o, z: oW(o[0], o[1], e, n, i, r), path: t[a] }; + }) + .sort(function (t, e) { + return t.z - e.z; + }) + .map(function (t) { + return t.path; + }); + } + function sW(t) { + return UG(t.path, t.count); + } + function lW(t) { + return Y(t[0]); + } + function uW(t, e) { + for (var n = [], i = t.length, r = 0; r < i; r++) n.push({ one: t[r], many: [] }); + for (r = 0; r < e.length; r++) { + var o = e[r].length, + a = void 0; + for (a = 0; a < o; a++) n[a % i].many.push(e[r][a]); + } + var s = 0; + for (r = i - 1; r >= 0; r--) + if (!n[r].many.length) { + var l = n[s].many; + if (l.length <= 1) { + if (!s) return n; + s = 0; + } + o = l.length; + var u = Math.ceil(o / 2); + (n[r].many = l.slice(u, o)), (n[s].many = l.slice(0, u)), s++; + } + return n; + } + var hW = { + clone: function (t) { + for (var e = [], n = 1 - Math.pow(1 - t.path.style.opacity, 1 / t.count), i = 0; i < t.count; i++) { + var r = bu(t.path); + r.setStyle("opacity", n), e.push(r); + } + return e; + }, + split: null, + }; + function cW(t, e, n, i, r, o) { + if (t.length && e.length) { + var a = gh("update", i, r); + if (a && a.duration > 0) { + var s, + l, + u = i.getModel("universalTransition").get("delay"), + h = Object.assign({ setToFinal: !0 }, a); + lW(t) && ((s = t), (l = e)), lW(e) && ((s = e), (l = t)); + for (var c = s ? s === t : t.length > e.length, p = s ? uW(l, s) : uW(c ? e : t, [c ? t : e]), d = 0, f = 0; f < p.length; f++) d += p[f].many.length; + var g = 0; + for (f = 0; f < p.length; f++) y(p[f], c, g, d), (g += p[f].many.length); + } + } + function y(t, e, i, r, a) { + var s = t.many, + l = t.one; + if (1 !== s.length || a) + for ( + var c = k( + { + dividePath: hW[n], + individualDelay: + u && + function (t, e, n, o) { + return u(t + i, r); + }, + }, + h + ), + p = e + ? (function (t, e, n) { + var i = []; + !(function t(e) { + for (var n = 0; n < e.length; n++) { + var r = e[n]; + JG(r) ? t(r.childrenRef()) : r instanceof ks && i.push(r); + } + })(t); + var r = i.length; + if (!r) return { fromIndividuals: [], toIndividuals: [], count: 0 }; + var o = (n.dividePath || sW)({ path: e, count: r }); + if (o.length !== r) return console.error("Invalid morphing: unmatched splitted path"), { fromIndividuals: [], toIndividuals: [], count: 0 }; + (i = aW(i)), (o = aW(o)); + for (var a = n.done, s = n.during, l = n.individualDelay, u = new vr(), h = 0; h < r; h++) { + var c = i[h], + p = o[h]; + (p.parent = e), p.copyTransform(u), l || iW(c, p); + } + function d(t) { + for (var e = 0; e < o.length; e++) o[e].addSelfToZr(t); + } + function f() { + (e.__isCombineMorphing = !1), (e.__morphT = -1), (e.childrenRef = null), eW(e, "addSelfToZr"), eW(e, "removeSelfFromZr"); + } + (e.__isCombineMorphing = !0), + (e.childrenRef = function () { + return o; + }), + tW(e, "addSelfToZr", { + after: function (t) { + d(t); + }, + }), + tW(e, "removeSelfFromZr", { + after: function (t) { + for (var e = 0; e < o.length; e++) o[e].removeSelfFromZr(t); + }, + }); + var g = o.length; + if (l) { + var y = g, + v = function () { + 0 == --y && (f(), a && a()); + }; + for (h = 0; h < g; h++) { + var m = l ? k({ delay: (n.delay || 0) + l(h, g, i[h], o[h]), done: v }, n) : n; + rW(i[h], o[h], m); + } + } else + (e.__morphT = 0), + e.animateTo( + { __morphT: 1 }, + k( + { + during: function (t) { + for (var n = 0; n < g; n++) { + var i = o[n]; + (i.__morphT = e.__morphT), i.dirtyShape(); + } + s && s(t); + }, + done: function () { + f(); + for (var e = 0; e < t.length; e++) eW(t[e], "updateTransform"); + a && a(); + }, + }, + n + ) + ); + return e.__zr && d(e.__zr), { fromIndividuals: i, toIndividuals: o, count: g }; + })(s, l, c) + : (function (t, e, n) { + var i = e.length, + r = [], + o = n.dividePath || sW; + if (JG(t)) { + !(function t(e) { + for (var n = 0; n < e.length; n++) { + var i = e[n]; + JG(i) ? t(i.childrenRef()) : i instanceof ks && r.push(i); + } + })(t.childrenRef()); + var a = r.length; + if (a < i) for (var s = 0, l = a; l < i; l++) r.push(bu(r[s++ % a])); + r.length = i; + } else { + r = o({ path: t, count: i }); + var u = t.getComputedTransform(); + for (l = 0; l < r.length; l++) r[l].setLocalTransform(u); + if (r.length !== i) return console.error("Invalid morphing: unmatched splitted path"), { fromIndividuals: [], toIndividuals: [], count: 0 }; + } + (r = aW(r)), (e = aW(e)); + var h = n.individualDelay; + for (l = 0; l < i; l++) { + var c = h ? k({ delay: (n.delay || 0) + h(l, i, r[l], e[l]) }, n) : n; + rW(r[l], e[l], c); + } + return { fromIndividuals: r, toIndividuals: e, count: e.length }; + })(l, s, c), + d = p.fromIndividuals, + f = p.toIndividuals, + g = d.length, + v = 0; + v < g; + v++ + ) { + m = u ? k({ delay: u(v, g) }, h) : h; + o(d[v], f[v], e ? s[v] : t.one, e ? t.one : s[v], m); + } + else { + var m, + x = e ? s[0] : l, + _ = e ? l : s[0]; + if (JG(x)) y({ many: [x], one: _ }, !0, i, r, !0); + else rW(x, _, (m = u ? k({ delay: u(i, r) }, h) : h)), o(x, _, x, _, m); + } + } + } + function pW(t) { + if (!t) return []; + if (Y(t)) { + for (var e = [], n = 0; n < t.length; n++) e.push(pW(t[n])); + return e; + } + var i = []; + return ( + t.traverse(function (t) { + t instanceof ks && !t.disableMorphing && !t.invisible && !t.ignore && i.push(t); + }), + i + ); + } + var dW = Vo(); + function fW(t, e, n, i) { + var r = (function (t, e) { + for (var n = t.dimensions, i = 0; i < n.length; i++) { + var r = t.getDimensionInfo(n[i]); + if (r && 0 === r.otherDims[e]) return n[i]; + } + })(t, i ? "itemChildGroupId" : "itemGroupId"); + if (r) { + var o = (function (t, e, n) { + var i = t.getDimensionInfo(n), + r = i && i.ordinalMeta; + if (i) { + var o = t.get(i.name, e); + return (r && r.categories[o]) || o + ""; + } + })(t, e, r); + return o; + } + var a = t.getRawDataItem(e), + s = i ? "childGroupId" : "groupId"; + return a && a[s] ? a[s] + "" : i ? void 0 : n || t.getId(e); + } + function gW(t) { + var e = []; + return ( + E(t, function (t) { + var n = t.data, + i = t.dataGroupId; + if (!(n.count() > 1e4)) for (var r = n.getIndices(), o = 0; o < r.length; o++) e.push({ data: n, groupId: fW(n, o, i, !1), childGroupId: fW(n, o, i, !0), divide: t.divide, dataIndex: o }); + }), + e + ); + } + function yW(t, e, n) { + t.traverse(function (t) { + t instanceof ks && mh(t, { style: { opacity: 0 } }, e, { dataIndex: n, isFrom: !0 }); + }); + } + function vW(t) { + if (t.parent) { + var e = t.getComputedTransform(); + t.setLocalTransform(e), t.parent.remove(t); + } + } + function mW(t) { + t.stopAnimation(), + t.isGroup && + t.traverse(function (t) { + t.stopAnimation(); + }); + } + function xW(t, e, n) { + var i = gh("update", n, e); + i && + t.traverse(function (t) { + if (t instanceof Da) { + var e = (function (t) { + return fh(t).oldStyle; + })(t); + e && t.animateFrom({ style: e }, i); + } + }); + } + function _W(t, e, n) { + var i = gW(t), + r = gW(e); + function o(t, e, n, i, r) { + (n || t) && e.animateFrom({ style: n && n !== t ? A(A({}, n.style), t.style) : t.style }, r); + } + var a = !1, + s = 0, + l = yt(), + u = yt(); + i.forEach(function (t) { + t.groupId && l.set(t.groupId, !0), t.childGroupId && u.set(t.childGroupId, !0); + }); + for (var h = 0; h < r.length; h++) { + var c = r[h].groupId; + if (u.get(c)) { + s = 1; + break; + } + var p = r[h].childGroupId; + if (p && l.get(p)) { + s = 2; + break; + } + } + function d(t, e) { + return function (n) { + var i = n.data, + r = n.dataIndex; + return e ? i.getId(r) : t ? (1 === s ? n.childGroupId : n.groupId) : 2 === s ? n.childGroupId : n.groupId; + }; + } + var f = (function (t, e) { + var n = t.length; + if (n !== e.length) return !1; + for (var i = 0; i < n; i++) { + var r = t[i], + o = e[i]; + if (r.data.getId(r.dataIndex) !== o.data.getId(o.dataIndex)) return !1; + } + return !0; + })(i, r), + g = {}; + if (!f) + for (h = 0; h < r.length; h++) { + var y = r[h], + v = y.data.getItemGraphicEl(y.dataIndex); + v && (g[v.id] = !0); + } + function m(t, e) { + var n = i[e], + s = r[t], + l = s.data.hostModel, + u = n.data.getItemGraphicEl(n.dataIndex), + h = s.data.getItemGraphicEl(s.dataIndex); + u !== h ? (u && g[u.id]) || (h && (mW(h), u ? (mW(u), vW(u), (a = !0), cW(pW(u), pW(h), s.divide, l, t, o)) : yW(h, l, t))) : h && xW(h, s.dataIndex, l); + } + new Gm(i, r, d(!0, f), d(!1, f), null, "multiple") + .update(m) + .updateManyToOne(function (t, e) { + var n = r[t], + s = n.data, + l = s.hostModel, + u = s.getItemGraphicEl(n.dataIndex), + h = B( + z(e, function (t) { + return i[t].data.getItemGraphicEl(i[t].dataIndex); + }), + function (t) { + return t && t !== u && !g[t.id]; + } + ); + u && + (mW(u), + h.length + ? (E(h, function (t) { + mW(t), vW(t); + }), + (a = !0), + cW(pW(h), pW(u), n.divide, l, t, o)) + : yW(u, l, n.dataIndex)); + }) + .updateOneToMany(function (t, e) { + var n = i[e], + s = n.data.getItemGraphicEl(n.dataIndex); + if (!s || !g[s.id]) { + var l = B( + z(t, function (t) { + return r[t].data.getItemGraphicEl(r[t].dataIndex); + }), + function (t) { + return t && t !== s; + } + ), + u = r[t[0]].data.hostModel; + l.length && + (E(l, function (t) { + return mW(t); + }), + s + ? (mW(s), vW(s), (a = !0), cW(pW(s), pW(l), n.divide, u, t[0], o)) + : E(l, function (e) { + return yW(e, u, t[0]); + })); + } + }) + .updateManyToMany(function (t, e) { + new Gm( + e, + t, + function (t) { + return i[t].data.getId(i[t].dataIndex); + }, + function (t) { + return r[t].data.getId(r[t].dataIndex); + } + ) + .update(function (n, i) { + m(t[n], e[i]); + }) + .execute(); + }) + .execute(), + a && + E(e, function (t) { + var e = t.data.hostModel, + i = e && n.getViewOfSeriesModel(e), + r = gh("update", e, 0); + i && + e.isAnimationEnabled() && + r && + r.duration > 0 && + i.group.traverse(function (t) { + t instanceof ks && !t.animators.length && t.animateFrom({ style: { opacity: 0 } }, r); + }); + }); + } + function bW(t) { + var e = t.getModel("universalTransition").get("seriesKey"); + return e || t.id; + } + function wW(t) { + return Y(t) ? t.sort().join(",") : t; + } + function SW(t) { + if (t.hostModel) return t.hostModel.getModel("universalTransition").get("divideShape"); + } + function MW(t, e) { + for (var n = 0; n < t.length; n++) { + if ((null != e.seriesIndex && e.seriesIndex === t[n].seriesIndex) || (null != e.seriesId && e.seriesId === t[n].id)) return n; + } + } + Vm([ + function (t) { + t.registerPainter("canvas", uS); + }, + ]), + Vm([ + function (t) { + t.registerPainter("svg", nS); + }, + ]), + Vm([ + function (t) { + t.registerChartView(HS), + t.registerSeriesModel(hS), + t.registerLayout(YS("line", !0)), + t.registerVisual({ + seriesType: "line", + reset: function (t) { + var e = t.getData(), + n = t.getModel("lineStyle").getLineStyle(); + n && !n.stroke && (n.stroke = e.getVisual("style").fill), e.setVisual("legendLineStyle", n); + }, + }), + t.registerProcessor(t.PRIORITY.PROCESSOR.STATISTIC, ZS("line")); + }, + function (t) { + t.registerChartView(iM), + t.registerSeriesModel(qS), + t.registerLayout(t.PRIORITY.VISUAL.LAYOUT, H(Ux, "bar")), + t.registerLayout(t.PRIORITY.VISUAL.PROGRESSIVE_LAYOUT, Zx("bar")), + t.registerProcessor(t.PRIORITY.PROCESSOR.STATISTIC, ZS("bar")), + t.registerAction({ type: "changeAxisOrder", event: "changeAxisOrder", update: "update" }, function (t, e) { + var n = t.componentType || "series"; + e.eachComponent({ mainType: n, query: t }, function (e) { + t.sortInfo && e.axis.setCategorySortInfo(t.sortInfo); + }); + }); + }, + function (t) { + t.registerChartView(LM), + t.registerSeriesModel(NM), + Ly("pie", t.registerAction), + t.registerLayout(H(SM, "pie")), + t.registerProcessor(MM("pie")), + t.registerProcessor( + (function (t) { + return { + seriesType: t, + reset: function (t, e) { + var n = t.getData(); + n.filterSelf(function (t) { + var e = n.mapDimension("value"), + i = n.get(e, t); + return !(j(i) && !isNaN(i) && i < 0); + }); + }, + }; + })("pie") + ); + }, + function (t) { + Vm(EI), t.registerSeriesModel(EM), t.registerChartView(FM), t.registerLayout(YS("scatter")); + }, + function (t) { + Vm(KI), t.registerChartView(GI), t.registerSeriesModel(WI), t.registerLayout(zI), t.registerProcessor(MM("radar")), t.registerPreprocessor(FI); + }, + function (t) { + Vm(IC), t.registerChartView(aC), t.registerSeriesModel(sC), t.registerLayout(uC), t.registerProcessor(t.PRIORITY.PROCESSOR.STATISTIC, lC), Ly("map", t.registerAction); + }, + function (t) { + t.registerChartView(zC), + t.registerSeriesModel(oD), + t.registerLayout(sD), + t.registerVisual(lD), + (function (t) { + t.registerAction({ type: "treeExpandAndCollapse", event: "treeExpandAndCollapse", update: "update" }, function (t, e) { + e.eachComponent({ mainType: "series", subType: "tree", query: t }, function (e) { + var n = t.dataIndex, + i = e.getData().tree.getNodeByDataIndex(n); + i.isExpand = !i.isExpand; + }); + }), + t.registerAction({ type: "treeRoam", event: "treeRoam", update: "none" }, function (t, e, n) { + e.eachComponent({ mainType: "series", subType: "tree", query: t }, function (e) { + var i = wC(e.coordinateSystem, t, void 0, n); + e.setCenter && e.setCenter(i.center), e.setZoom && e.setZoom(i.zoom); + }); + }); + })(t); + }, + function (t) { + t.registerSeriesModel(cD), + t.registerChartView(MD), + t.registerVisual(GD), + t.registerLayout(tA), + (function (t) { + for (var e = 0; e < uD.length; e++) t.registerAction({ type: uD[e], update: "updateView" }, bt); + t.registerAction({ type: "treemapRootToNode", update: "updateView" }, function (t, e) { + e.eachComponent({ mainType: "series", subType: "treemap", query: t }, function (e, n) { + var i = eD(t, ["treemapZoomToNode", "treemapRootToNode"], e); + if (i) { + var r = e.getViewRoot(); + r && (t.direction = iD(r, i.node) ? "rollUp" : "drillDown"), e.resetViewRoot(i.node); + } + }); + }); + })(t); + }, + function (t) { + t.registerChartView(ek), + t.registerSeriesModel(lk), + t.registerProcessor(aA), + t.registerVisual(sA), + t.registerVisual(uA), + t.registerLayout(xA), + t.registerLayout(t.PRIORITY.VISUAL.POST_CHART_LAYOUT, CA), + t.registerLayout(AA), + t.registerCoordinateSystem("graphView", { dimensions: cC.dimensions, create: kA }), + t.registerAction({ type: "focusNodeAdjacency", event: "focusNodeAdjacency", update: "series:focusNodeAdjacency" }, bt), + t.registerAction({ type: "unfocusNodeAdjacency", event: "unfocusNodeAdjacency", update: "series:unfocusNodeAdjacency" }, bt), + t.registerAction(uk, function (t, e, n) { + e.eachComponent({ mainType: "series", query: t }, function (e) { + var i = wC(e.coordinateSystem, t, void 0, n); + e.setCenter && e.setCenter(i.center), e.setZoom && e.setZoom(i.zoom); + }); + }); + }, + function (t) { + t.registerChartView(dk), t.registerSeriesModel(fk); + }, + function (t) { + t.registerChartView(vk), t.registerSeriesModel(mk), t.registerLayout(xk), t.registerProcessor(MM("funnel")); + }, + function (t) { + Vm(XL), t.registerChartView(_k), t.registerSeriesModel(Ik), t.registerVisual(t.PRIORITY.VISUAL.BRUSH, Dk); + }, + function (t) { + t.registerChartView(jL), + t.registerSeriesModel(KL), + t.registerLayout($L), + t.registerVisual(uP), + t.registerAction({ type: "dragNode", event: "dragnode", update: "update" }, function (t, e) { + e.eachComponent({ mainType: "series", subType: "sankey", query: t }, function (e) { + e.setNodePosition(t.dataIndex, [t.localX, t.localY]); + }); + }); + }, + function (t) { + t.registerSeriesModel(cP), t.registerChartView(pP), t.registerLayout(xP), t.registerTransform(_P); + }, + function (t) { + t.registerChartView(wP), t.registerSeriesModel(OP), t.registerPreprocessor(RP), t.registerVisual(FP), t.registerLayout(GP); + }, + function (t) { + t.registerChartView(XP), t.registerSeriesModel(UP), t.registerLayout(YS("effectScatter")); + }, + function (t) { + t.registerChartView(tO), t.registerSeriesModel(rO), t.registerLayout(QP), t.registerVisual(aO); + }, + function (t) { + t.registerChartView(uO), t.registerSeriesModel(hO); + }, + function (t) { + t.registerChartView(fO), t.registerSeriesModel(PO), t.registerLayout(t.PRIORITY.VISUAL.LAYOUT, H(Ux, "pictorialBar")), t.registerLayout(t.PRIORITY.VISUAL.PROGRESSIVE_LAYOUT, Zx("pictorialBar")); + }, + function (t) { + t.registerChartView(OO), t.registerSeriesModel(RO), t.registerLayout(NO), t.registerProcessor(MM("themeRiver")); + }, + function (t) { + t.registerChartView(FO), + t.registerSeriesModel(GO), + t.registerLayout(H(YO, "sunburst")), + t.registerProcessor(H(MM, "sunburst")), + t.registerVisual(UO), + (function (t) { + t.registerAction({ type: VO, update: "updateView" }, function (t, e) { + e.eachComponent({ mainType: "series", subType: "sunburst", query: t }, function (e, n) { + var i = eD(t, [VO], e); + if (i) { + var r = e.getViewRoot(); + r && (t.direction = iD(r, i.node) ? "rollUp" : "drillDown"), e.resetViewRoot(i.node); + } + }); + }), + t.registerAction({ type: BO, update: "none" }, function (t, e, n) { + (t = A({}, t)), + e.eachComponent({ mainType: "series", subType: "sunburst", query: t }, function (e) { + var n = eD(t, [BO], e); + n && (t.dataIndex = n.node.dataIndex); + }), + n.dispatchAction(A(t, { type: "highlight" })); + }), + t.registerAction({ type: "sunburstUnhighlight", update: "updateView" }, function (t, e, n) { + (t = A({}, t)), n.dispatchAction(A(t, { type: "downplay" })); + }); + })(t); + }, + function (t) { + t.registerChartView(zR), t.registerSeriesModel(KO); + }, + ]), + Vm(function (t) { + Vm(EI), Vm(VN); + }), + Vm(function (t) { + Vm(VN), + MI.registerAxisPointerClass("PolarAxisPointer", BN), + t.registerCoordinateSystem("polar", QN), + t.registerComponentModel(GN), + t.registerComponentView(gE), + jM(t, "angle", HN, dE), + jM(t, "radius", YN, fE), + t.registerComponentView(rE), + t.registerComponentView(lE), + t.registerLayout(H(pE, "bar")); + }), + Vm(IC), + Vm(function (t) { + Vm(VN), MI.registerAxisPointerClass("SingleAxisPointer", AE), t.registerComponentView(OE), t.registerComponentView(xE), t.registerComponentModel(bE), jM(t, "single", bE, bE.defaultOption), t.registerCoordinateSystem("single", TE); + }), + Vm(XL), + Vm(function (t) { + t.registerComponentModel(RE), t.registerComponentView(EE), t.registerCoordinateSystem("calendar", VE); + }), + Vm(function (t) { + t.registerComponentModel(YE), + t.registerComponentView(ZE), + t.registerPreprocessor(function (t) { + var e = t.graphic; + Y(e) ? (e[0] && e[0].elements ? (t.graphic = [t.graphic[0]]) : (t.graphic = [{ elements: e }])) : e && !e.elements && (t.graphic = [{ elements: [e] }]); + }); + }), + Vm(function (t) { + t.registerComponentModel(_z), t.registerComponentView(wz), mz("saveAsImage", Sz), mz("magicType", Tz), mz("dataView", Oz), mz("dataZoom", eV), mz("restore", Vz), Vm(gz); + }), + Vm(function (t) { + Vm(VN), + t.registerComponentModel(rV), + t.registerComponentView(bV), + t.registerAction({ type: "showTip", event: "showTip", update: "tooltip:manuallyShowTip" }, bt), + t.registerAction({ type: "hideTip", event: "hideTip", update: "tooltip:manuallyHideTip" }, bt); + }), + Vm(VN), + Vm(function (t) { + t.registerComponentView(HV), + t.registerComponentModel(YV), + t.registerPreprocessor(TV), + t.registerVisual(t.PRIORITY.VISUAL.BRUSH, VV), + t.registerAction({ type: "brush", event: "brush", update: "updateVisual" }, function (t, e) { + e.eachComponent({ mainType: "brush", query: t }, function (e) { + e.setAreas(t.areas); + }); + }), + t.registerAction({ type: "brushSelect", event: "brushSelected", update: "none" }, bt), + t.registerAction({ type: "brushEnd", event: "brushEnd", update: "none" }, bt), + mz("brush", ZV); + }), + Vm(function (t) { + t.registerComponentModel(jV), t.registerComponentView(qV); + }), + Vm(function (t) { + t.registerComponentModel($V), + t.registerComponentView(nB), + t.registerSubTypeDefaulter("timeline", function () { + return "slider"; + }), + (function (t) { + t.registerAction({ type: "timelineChange", event: "timelineChanged", update: "prepareAndUpdate" }, function (t, e, n) { + var i = e.getComponent("timeline"); + return ( + i && + null != t.currentIndex && + (i.setCurrentIndex(t.currentIndex), !i.get("loop", !0) && i.isIndexMax() && i.getPlayState() && (i.setPlayState(!1), n.dispatchAction({ type: "timelinePlayChange", playState: !1, from: t.from }))), + e.resetOption("timeline", { replaceMerge: i.get("replaceMerge", !0) }), + k({ currentIndex: i.option.currentIndex }, t) + ); + }), + t.registerAction({ type: "timelinePlayChange", event: "timelinePlayChanged", update: "update" }, function (t, e) { + var n = e.getComponent("timeline"); + n && null != t.playState && n.setPlayState(t.playState); + }); + })(t), + t.registerPreprocessor(oB); + }), + Vm(function (t) { + t.registerComponentModel(pB), + t.registerComponentView(MB), + t.registerPreprocessor(function (t) { + lB(t.series, "markPoint") && (t.markPoint = t.markPoint || {}); + }); + }), + Vm(function (t) { + t.registerComponentModel(IB), + t.registerComponentView(PB), + t.registerPreprocessor(function (t) { + lB(t.series, "markLine") && (t.markLine = t.markLine || {}); + }); + }), + Vm(function (t) { + t.registerComponentModel(OB), + t.registerComponentView(GB), + t.registerPreprocessor(function (t) { + lB(t.series, "markArea") && (t.markArea = t.markArea || {}); + }); + }), + Vm(function (t) { + Vm(QB), Vm(aF); + }), + Vm(function (t) { + Vm(mF), Vm(CF); + }), + Vm(mF), + Vm(CF), + Vm(function (t) { + Vm(sG), Vm(pG); + }), + Vm(sG), + Vm(pG), + Vm(function (t) { + t.registerPreprocessor(vG), t.registerVisual(t.PRIORITY.VISUAL.ARIA, yG); + }), + Vm(function (t) { + t.registerTransform(AG), t.registerTransform(kG); + }), + Vm(function (t) { + t.registerComponentModel(LG), t.registerComponentView(PG); + }), + Vm(function (t) { + t.registerUpdateLifecycle("series:beforeupdate", function (t, e, n) { + E(To(n.seriesTransition), function (t) { + E(To(t.to), function (t) { + for (var e = n.updatedSeries, i = 0; i < e.length; i++) ((null != t.seriesIndex && t.seriesIndex === e[i].seriesIndex) || (null != t.seriesId && t.seriesId === e[i].id)) && (e[i][_g] = !0); + }); + }); + }), + t.registerUpdateLifecycle("series:transition", function (t, e, n) { + var i = dW(e); + if (i.oldSeries && n.updatedSeries && n.optionChanged) { + var r = n.seriesTransition; + if (r) + E(To(r), function (t) { + !(function (t, e, n, i) { + var r = [], + o = []; + E(To(t.from), function (t) { + var n = MW(e.oldSeries, t); + n >= 0 && r.push({ dataGroupId: e.oldDataGroupIds[n], data: e.oldData[n], divide: SW(e.oldData[n]), groupIdDim: t.dimension }); + }), + E(To(t.to), function (t) { + var i = MW(n.updatedSeries, t); + if (i >= 0) { + var r = n.updatedSeries[i].getData(); + o.push({ dataGroupId: e.oldDataGroupIds[i], data: r, divide: SW(r), groupIdDim: t.dimension }); + } + }), + r.length > 0 && o.length > 0 && _W(r, o, i); + })(t, i, n, e); + }); + else { + var o = (function (t, e) { + var n = yt(), + i = yt(), + r = yt(); + return ( + E(t.oldSeries, function (e, n) { + var o = t.oldDataGroupIds[n], + a = t.oldData[n], + s = bW(e), + l = wW(s); + i.set(l, { dataGroupId: o, data: a }), + Y(s) && + E(s, function (t) { + r.set(t, { key: l, dataGroupId: o, data: a }); + }); + }), + E(e.updatedSeries, function (t) { + if (t.isUniversalTransitionEnabled() && t.isAnimationEnabled()) { + var e = t.get("dataGroupId"), + o = t.getData(), + a = bW(t), + s = wW(a), + l = i.get(s); + if (l) n.set(s, { oldSeries: [{ dataGroupId: l.dataGroupId, divide: SW(l.data), data: l.data }], newSeries: [{ dataGroupId: e, divide: SW(o), data: o }] }); + else if (Y(a)) { + var u = []; + E(a, function (t) { + var e = i.get(t); + e.data && u.push({ dataGroupId: e.dataGroupId, divide: SW(e.data), data: e.data }); + }), + u.length && n.set(s, { oldSeries: u, newSeries: [{ dataGroupId: e, data: o, divide: SW(o) }] }); + } else { + var h = r.get(a); + if (h) { + var c = n.get(h.key); + c || ((c = { oldSeries: [{ dataGroupId: h.dataGroupId, data: h.data, divide: SW(h.data) }], newSeries: [] }), n.set(h.key, c)), c.newSeries.push({ dataGroupId: e, data: o, divide: SW(o) }); + } + } + } + }), + n + ); + })(i, n); + E(o.keys(), function (t) { + var n = o.get(t); + _W(n.oldSeries, n.newSeries, e); + }); + } + E(n.updatedSeries, function (t) { + t[_g] && (t[_g] = !1); + }); + } + for (var a = t.getSeries(), s = (i.oldSeries = []), l = (i.oldDataGroupIds = []), u = (i.oldData = []), h = 0; h < a.length; h++) { + var c = a[h].getData(); + c.count() < 1e4 && (s.push(a[h]), l.push(a[h].get("dataGroupId")), u.push(c)); + } + }); + }), + Vm(function (t) { + t.registerUpdateLifecycle("series:beforeupdate", function (t, e, n) { + var i = Yb(e).labelManager; + i || (i = Yb(e).labelManager = new Hb()), i.clearLabels(); + }), + t.registerUpdateLifecycle("series:layoutlabels", function (t, e, n) { + var i = Yb(e).labelManager; + n.updatedSeries.forEach(function (t) { + i.addLabelsOfSeries(e.getViewOfSeriesModel(t)); + }), + i.updateLayoutConfig(e), + i.layout(e), + i.processLabelsOverall(); + }); + }), + (t.Axis = ob), + (t.ChartView = Og), + (t.ComponentModel = zp), + (t.ComponentView = Ag), + (t.List = cx), + (t.Model = Cc), + (t.PRIORITY = Cv), + (t.SeriesModel = bg), + (t.color = li), + (t.connect = function (t) { + if (Y(t)) { + var e = t; + (t = null), + E(e, function (e) { + null != e.group && (t = e.group); + }), + (t = t || "g_" + ym++), + E(e, function (e) { + e.group = t; + }); + } + return (fm[t] = !0), t; + }), + (t.dataTool = {}), + (t.dependencies = { zrender: "5.5.0" }), + (t.disConnect = xm), + (t.disconnect = mm), + (t.dispose = function (t) { + U(t) ? (t = dm[t]) : t instanceof nm || (t = _m(t)), t instanceof nm && !t.isDisposed() && t.dispose(); + }), + (t.env = r), + (t.extendChartView = function (t) { + var e = Og.extend(t); + return Og.registerClass(e), e; + }), + (t.extendComponentModel = function (t) { + var e = zp.extend(t); + return zp.registerClass(e), e; + }), + (t.extendComponentView = function (t) { + var e = Ag.extend(t); + return Ag.registerClass(e), e; + }), + (t.extendSeriesModel = function (t) { + var e = bg.extend(t); + return bg.registerClass(e), e; + }), + (t.format = Z_), + (t.getCoordinateSystemDimensions = function (t) { + var e = wd.get(t); + if (e) return e.getDimensionsInfo ? e.getDimensionsInfo() : e.dimensions.slice(); + }), + (t.getInstanceByDom = _m), + (t.getInstanceById = function (t) { + return dm[t]; + }), + (t.getMap = function (t) { + var e = Mv("getMap"); + return e && e(t); + }), + (t.graphic = U_), + (t.helper = k_), + (t.init = function (t, e, n) { + var i = !(n && n.ssr); + if (i) { + 0; + var r = _m(t); + if (r) return r; + 0; + } + var o = new nm(t, e, n); + return (o.id = "ec_" + gm++), (dm[o.id] = o), i && Xo(t, vm, o.id), $v(o), wv.trigger("afterinit", o), o; + }), + (t.innerDrawElementOnCanvas = dv), + (t.matrix = Ce), + (t.number = Y_), + (t.parseGeoJSON = H_), + (t.parseGeoJson = H_), + (t.registerAction = Cm), + (t.registerCoordinateSystem = Dm), + (t.registerLayout = Am), + (t.registerLoading = Om), + (t.registerLocale = zc), + (t.registerMap = Rm), + (t.registerPostInit = Mm), + (t.registerPostUpdate = Im), + (t.registerPreprocessor = wm), + (t.registerProcessor = Sm), + (t.registerTheme = bm), + (t.registerTransform = Nm), + (t.registerUpdateLifecycle = Tm), + (t.registerVisual = km), + (t.setCanvasCreator = function (t) { + c({ createCanvas: t }); + }), + (t.setPlatformAPI = c), + (t.throttle = Wg), + (t.time = X_), + (t.use = Vm), + (t.util = j_), + (t.vector = Xt), + (t.version = "5.5.0"), + (t.zrUtil = St), + (t.zrender = jr), + Object.defineProperty(t, "__esModule", { value: !0 }); +}); diff --git a/templates/account/login.html b/templates/account/login.html index 9be48027..c1edd72e 100644 --- a/templates/account/login.html +++ b/templates/account/login.html @@ -6,16 +6,16 @@ {% block title %}{{ _("Sign In") }}{% endblock title %} {% block content %} -
    -
    -
    -
    {% trans 'Haikal' %} -
    -
    -
    +
    +
    +
    + +
    {% trans 'home' %}
    +
    +

    {{ _("Sign In") }}

    {% if SOCIALACCOUNT_ENABLED %} -

    Get access to your account

    +

    Login to your account

    {% include "socialaccount/snippets/login.html" with page_layout="entrance" %} @@ -34,7 +34,6 @@
    - {% endblock content %} {% block extra_body %} diff --git a/templates/account/password_change.html b/templates/account/password_change.html index 2af2ac26..9745fa7b 100644 --- a/templates/account/password_change.html +++ b/templates/account/password_change.html @@ -1,38 +1,34 @@ {% extends "base.html" %} -{% load crispy_forms_filters %} -{% load i18n %} +{% load i18n static crispy_forms_filters %} {% block title %}{{ _("Change Password") }}{% endblock title %} {% block content %} -
    -
    -
    - -
    -

    {{ _("Change Password") }}

    -

    {{ _("Ensure your account is using a strong, unique password.") }}

    -
    - - -
    - {% csrf_token %} - {{ redirect_field }} - {{ form|crispy }} - -
    - -
    -
    - - - +
    +
    +
    + +
    {% trans 'home' %}
    +
    +
    +

    {{ _("Change Password") }}

    +

    {{ _("Ensure your account is using a strong, unique password.") }}

    +
    + {% csrf_token %} + {{ redirect_field }} + {{ form|crispy }} + +
    + +
    +
    +
    -
    +
    + + {% endblock %} diff --git a/templates/account/password_reset.html b/templates/account/password_reset.html index 9e4ef5d7..00a74a7e 100644 --- a/templates/account/password_reset.html +++ b/templates/account/password_reset.html @@ -5,12 +5,12 @@ {% block content %}
    -
    +
    {% trans 'home' %}
    -
    +

    {{ _("Password Reset") }}

    {{ _("Type your new password") }}

    @@ -28,9 +28,9 @@
    -

    + {{ _("Please contact us if you have any trouble resetting your password.") }} -

    +
    diff --git a/templates/account/signup-wizard.html b/templates/account/signup-wizard.html index 5995ae98..8d30f5d0 100644 --- a/templates/account/signup-wizard.html +++ b/templates/account/signup-wizard.html @@ -1,23 +1,36 @@ {% extends "base.html" %} {% load crispy_forms_filters %} -{% load i18n %} +{% load i18n static %} {% block content %} -
    -
    +
    +
    +
    +
    + {% trans 'home' %} + {% trans 'home' %} +
    +
    +
    +

    {% trans 'Sign Up' %}

    +

    {% trans 'Create your account today' %}

    +
    +
    +
    + @@ -41,12 +54,12 @@
    -
    +
    -
    You are all set!
    -

    Now you can access your account
    anytime anywhere

    +
    {% trans 'You are all set!' %}
    +

    {% trans 'Now you can access your account' %}
    {% trans 'anytime' %} {% trans 'anywhere' %}

    @@ -55,11 +68,104 @@
    +
    +
    +
    +
    + + {% endblock content %} \ No newline at end of file diff --git a/templates/account/signup.html b/templates/account/signup.html index a35f3c32..7989f30a 100644 --- a/templates/account/signup.html +++ b/templates/account/signup.html @@ -6,7 +6,7 @@ {% block content %}
    -
    +
    {% trans 'Haikal' %}
    @@ -69,7 +69,7 @@
    {% trans 'Already have an account?' %} {{ _("Sign In") }}
    diff --git a/templates/base.html b/templates/base.html index 992afe40..40e0a8f3 100644 --- a/templates/base.html +++ b/templates/base.html @@ -13,15 +13,9 @@ - - - {% block title %}{% trans 'HAIKAL' %}{% endblock %} - - - @@ -30,8 +24,11 @@ + - + + + @@ -45,7 +42,7 @@ - + {% if LANGUAGE_CODE == 'en' %} @@ -57,8 +54,8 @@ - + {% include 'messages.html' %}
    +
    - {% include 'messages.html' %} {% block content %} {% endblock %} @@ -493,146 +484,7 @@
    -
    @@ -681,127 +533,11 @@ + - diff --git a/templates/dashboards/accounting.html b/templates/dashboards/accounting.html index 572c01c4..c24aff01 100644 --- a/templates/dashboards/accounting.html +++ b/templates/dashboards/accounting.html @@ -65,20 +65,14 @@

    Financial activities

    -

    Yearly Balance

    -
    -
    - +

    Balance

    +
    -
    @@ -93,12 +87,27 @@
    +
    +
    +
    +
    +
    + +
    +
    +

    Phoenix integrations

    +

    Phoenix improves efficiency instantly and effortlessly
    by allowing easy & simple connection
    to other popular programs

    Connect Now +
    +
    +
    +
    +

    Visitors

    Users across countries

    @@ -172,20 +181,7 @@
    -
    -
    -
    -
    - -
    -
    -

    Phoenix integrations

    -

    Phoenix improves efficiency instantly and effortlessly
    by allowing easy & simple connection
    to other popular programs

    Connect Now -
    -
    -
    -
    @@ -294,4 +290,1531 @@
    + {% endblock %} diff --git a/templates/dealers/dealer_detail.html b/templates/dealers/dealer_detail.html index 53c6fa74..11f3f28b 100644 --- a/templates/dealers/dealer_detail.html +++ b/templates/dealers/dealer_detail.html @@ -4,10 +4,7 @@ {% block content %}
    - -
    -
    @@ -16,15 +13,7 @@
    - - - - - - - -
    @@ -37,7 +26,7 @@
    - + {{ _("Change Password") }}
    Settings @@ -144,7 +133,7 @@
    -

    {{ dealer.get_active_plan.plan }}

    {% trans 'most valuable'|upper %} +

    {{ dealer.get_active_plan.plan|capfirst }}

    {% trans 'most valuable'|upper %}

    {% trans 'Active until' %}: {{ dealer.get_active_plan.end_date|date}}

    @@ -156,9 +145,9 @@
    -
      -
    • {{ dealer.get_plan.description}}
    • -
    +
    +
    {{ dealer.get_plan.description}}
    +
    diff --git a/templates/haikalbot/chatbot.html b/templates/haikalbot/chatbot.html index 97890b8d..e87134f8 100644 --- a/templates/haikalbot/chatbot.html +++ b/templates/haikalbot/chatbot.html @@ -51,7 +51,7 @@ function getCookie(name) { return cookieValue; } - const csrfToken = getCookie('csrftoken'); + const csrfToken = getCookie('token'); async function sendMessage() { diff --git a/templates/index.html b/templates/index.html index 760c68e3..8540dbbc 100644 --- a/templates/index.html +++ b/templates/index.html @@ -11,44 +11,40 @@ + - - - - {% block title %}{% trans 'HAIKAL' %}{% endblock %} - - - - + + - + + - - - + + + -{% if LANGUAGE_CODE == 'ar' %} - - -{% else %} - - -{% endif %} + {% if LANGUAGE_CODE == 'en' %} + + + {% else %} + + + {% endif %} @@ -61,18 +57,14 @@