From ad9e42c3d9c4d0747c13005e2a6d56c8e9f3caa4 Mon Sep 17 00:00:00 2001 From: Shabirmean Date: Wed, 11 May 2016 11:25:53 +0530 Subject: [PATCH 01/21] moving down 'paho-library' installation to enable it in both virtual & real mode --- .../src/main/resources/agent/testAgent.sh | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/features/iot-plugins-feature/raspberrypi-plugin-feature/org.wso2.carbon.device.mgt.iot.raspberrypi.feature/src/main/resources/agent/testAgent.sh b/features/iot-plugins-feature/raspberrypi-plugin-feature/org.wso2.carbon.device.mgt.iot.raspberrypi.feature/src/main/resources/agent/testAgent.sh index 4ac9112c08..9a11ab485f 100644 --- a/features/iot-plugins-feature/raspberrypi-plugin-feature/org.wso2.carbon.device.mgt.iot.raspberrypi.feature/src/main/resources/agent/testAgent.sh +++ b/features/iot-plugins-feature/raspberrypi-plugin-feature/org.wso2.carbon.device.mgt.iot.raspberrypi.feature/src/main/resources/agent/testAgent.sh @@ -107,14 +107,15 @@ if [ "$mode" = "N" ]; then sudo python setup.py install cd .. # ----------------------------------------------------- - # Install Paho-MQTT-Library for MQTT Communication - git clone https://github.com/eclipse/paho.mqtt.python.git - cd ./paho.mqtt.python - sudo python setup.py install - cd .. - # ----------------------------------------------------- fi +# Install Paho-MQTT-Library for MQTT Communication +git clone https://github.com/eclipse/paho.mqtt.python.git +cd ./paho.mqtt.python +sudo python setup.py install +cd .. +# ----------------------------------------------------- + chmod +x ./src/RaspberryAgent.py sudo python ./src/RaspberryAgent.py -i $input -m $mode From 04566ec250cb26ec2ff88075a9021ae254f379ac Mon Sep 17 00:00:00 2001 From: ayyoob Date: Thu, 12 May 2016 21:59:35 +0530 Subject: [PATCH 02/21] updated event receivers --- .../EventReceiver_AndroidSense.xml | 3 ++- .../EventReceiver_http_temperature.xml | 25 ++++++++++--------- .../EventReceiver_mqtt_temperature.xml | 3 ++- 3 files changed, 17 insertions(+), 14 deletions(-) diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/Android_Sense/EventReceiver_AndroidSense_1.0.0/EventReceiver_AndroidSense.xml b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/Android_Sense/EventReceiver_AndroidSense_1.0.0/EventReceiver_AndroidSense.xml index a72ab6ca2b..499c7cbf35 100644 --- a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/Android_Sense/EventReceiver_AndroidSense_1.0.0/EventReceiver_AndroidSense.xml +++ b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/Android_Sense/EventReceiver_AndroidSense_1.0.0/EventReceiver_AndroidSense.xml @@ -22,7 +22,8 @@ carbon.super/android_sense/+/data admin device_id_json_path:event.metaData.deviceId,device_id_topic_hierarchy_index:2 - default + org.wso2.carbon.device.mgt.iot.input.adapter.mqtt.util.MQTTContentValidator + default https://localhost:${carbon.https.port}/dynamic-client-web/register tcp://${mqtt.broker.host}:${mqtt.broker.port} true diff --git a/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/Temperature/Eventreceiver_http_temperature_1.0.0/EventReceiver_http_temperature.xml b/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/Temperature/Eventreceiver_http_temperature_1.0.0/EventReceiver_http_temperature.xml index c134fa3613..c1c2dd7f18 100644 --- a/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/Temperature/Eventreceiver_http_temperature_1.0.0/EventReceiver_http_temperature.xml +++ b/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/Temperature/Eventreceiver_http_temperature_1.0.0/EventReceiver_http_temperature.xml @@ -17,16 +17,17 @@ ~ under the License. --> - - 2 - admin - device_id_json_path:event.metaData.deviceId - default - all - 100 - https://localhost:${carbon.https.port}/services/OAuth2TokenValidationService - admin - - - + + 2 + admin + device_id_json_path:event.metaData.deviceId + org.wso2.carbon.device.mgt.iot.input.adapter.http.util.HTTPContentValidator + default + all + 100 + https://localhost:${carbon.https.port}/services/OAuth2TokenValidationService + admin + + + diff --git a/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/Temperature/Eventreceiver_mqtt_temperature_1.0.0/EventReceiver_mqtt_temperature.xml b/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/Temperature/Eventreceiver_mqtt_temperature_1.0.0/EventReceiver_mqtt_temperature.xml index e49b93544a..f1114ecc36 100644 --- a/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/Temperature/Eventreceiver_mqtt_temperature_1.0.0/EventReceiver_mqtt_temperature.xml +++ b/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/Temperature/Eventreceiver_mqtt_temperature_1.0.0/EventReceiver_mqtt_temperature.xml @@ -22,7 +22,8 @@ carbon.super/+/+/temperature admin device_id_json_path:event.metaData.deviceId,device_id_topic_hierarchy_index:2 - default + org.wso2.carbon.device.mgt.iot.input.adapter.mqtt.util.MQTTContentValidator + default https://localhost:${carbon.https.port}/dynamic-client-web/register temperatureMqttClient tcp://${mqtt.broker.host}:${mqtt.broker.port} From f66aad9e0e4f2160534df3accf631aa1f4a3b6d3 Mon Sep 17 00:00:00 2001 From: dilanua Date: Fri, 13 May 2016 02:39:30 +0530 Subject: [PATCH 03/21] Adding swagger annotations --- .../android/bean/ApplicationInstallation.java | 2 +- .../android/bean/ApplicationUninstallation.java | 13 +++++++++++++ .../android/bean/BlacklistApplications.java | 7 +++++++ .../carbon/mdm/services/android/bean/Camera.java | 7 +++++++ 4 files changed, 28 insertions(+), 1 deletion(-) diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/ApplicationInstallation.java b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/ApplicationInstallation.java index c7583ad7ad..b0ed373779 100644 --- a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/ApplicationInstallation.java +++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/ApplicationInstallation.java @@ -30,7 +30,7 @@ import java.io.Serializable; description = "This class carries all information related to install application") public class ApplicationInstallation extends AndroidOperation implements Serializable { - @ApiModelProperty(name = "appIdentifier", value = "DeviceIdentifier", required = true) + @ApiModelProperty(name = "appIdentifier", value = "Application Identifier", required = true) private String appIdentifier; @ApiModelProperty(name = "type", value = "Application type(Enterprise/Web/public)", required = true) diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/ApplicationUninstallation.java b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/ApplicationUninstallation.java index 5efb16a5b7..a946eedc72 100644 --- a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/ApplicationUninstallation.java +++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/ApplicationUninstallation.java @@ -18,16 +18,29 @@ package org.wso2.carbon.mdm.services.android.bean; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + import java.io.Serializable; /** * This class represents the information of uninstall application operation. */ +@ApiModel(value = "ApplicationUninstallation", + description = "This class carries all information related to application uninstallation.") public class ApplicationUninstallation extends AndroidOperation implements Serializable { + @ApiModelProperty(name = "appIdentifier", value = "The package name of the application to be uninstalled.", required = true) private String appIdentifier; + + @ApiModelProperty(name = "type", value = "The type of the application. The following types of applications " + + "are supported: enterprise, public and webapp.", required = true) private String type; + + @ApiModelProperty(name = "url", value = "The URL of the application.", required = true) private String url; + + @ApiModelProperty(name = "name", value = "The name of the application.", required = true) private String name; public String getAppIdentifier() { diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/BlacklistApplications.java b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/BlacklistApplications.java index c66dbe89a6..665735b519 100644 --- a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/BlacklistApplications.java +++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/BlacklistApplications.java @@ -18,14 +18,21 @@ package org.wso2.carbon.mdm.services.android.bean; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + import java.io.Serializable; import java.util.List; /** * This class represents the blacklist applications information. */ +@ApiModel(value = "BlacklistApplications", + description = "This class represents the blacklist applications information.") public class BlacklistApplications extends AndroidOperation implements Serializable { + @ApiModelProperty(name = "appIdentifiers", value = "A list of application package names to be blacklisted.", + required = true) private List appIdentifiers; public List getAppIdentifier() { diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/Camera.java b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/Camera.java index 77c0773c1e..0dad70364a 100644 --- a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/Camera.java +++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/Camera.java @@ -18,13 +18,20 @@ package org.wso2.carbon.mdm.services.android.bean; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + import java.io.Serializable; /** * This class represents the information of camera operation. */ +@ApiModel(value = "Camera", + description = "This class represents the information of camera operation.") public class Camera extends AndroidOperation implements Serializable { + @ApiModelProperty(name = "enabled", value = "Disable the camera on the device by assigning false as the value or " + + "enable the camera on the device to function by defining true as the value.", required = true) private boolean enabled; public boolean isEnabled() { From 0d8010c25aa7a9c91bbbd8eb979e75be58bd2e43 Mon Sep 17 00:00:00 2001 From: Madhawa Perera Date: Fri, 13 May 2016 02:43:23 +0530 Subject: [PATCH 04/21] Adding swagger annotations to beans --- .../services/android/bean/PasscodePolicy.java | 23 +++++++++++++++++++ .../mdm/services/android/bean/WebClip.java | 9 ++++++++ .../mdm/services/android/bean/Wifi.java | 8 +++++++ .../mdm/services/android/bean/WipeData.java | 5 ++++ 4 files changed, 45 insertions(+) diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/PasscodePolicy.java b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/PasscodePolicy.java index 488d7a011f..0b1f93743a 100644 --- a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/PasscodePolicy.java +++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/PasscodePolicy.java @@ -18,19 +18,42 @@ package org.wso2.carbon.mdm.services.android.bean; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + import java.io.Serializable; /** * This class represents the information of setting up password policy. */ +@ApiModel(value = "PasscodePolicy", description = "This class represents the information of setting up " + + "password policy") public class PasscodePolicy extends AndroidOperation implements Serializable { + @ApiModelProperty(name = "maxFailedAttempts", value = "The maximum number of times the end-user can enter" + + " his/her device passcode incorrectly. EMM will take different courses of action based on the" + + " OS when the failed attempts exceed the maximum failed attempts. Android devices will be " + + "automatically reset to the original factory settings", required = true) private int maxFailedAttempts; + @ApiModelProperty(name = "minLength", value = "The minimum number of alphanumerical values that the " + + "end-user can enter as his/her passcode", required = true) private int minLength; + @ApiModelProperty(name = "pinHistory", value = "The end-user will not be allowed to reuse a passcode that" + + " he/she previously entered until he/she exceeds the set pin history length", required = true) private int pinHistory; + @ApiModelProperty(name = "minComplexChars", value = "The minimum number of special characters that the " + + "end-user will have to enter in his/her passcode", required = true) private int minComplexChars; + @ApiModelProperty(name = "maxPINAgeInDays", value = "The number of days after which the device owner has" + + " to change his/her passcode", required = true) private int maxPINAgeInDays; + @ApiModelProperty(name = "requireAlphanumeric", value = "Whether or not it is mandatory for the end-user" + + " to have a mix of digits and characters in his/her passcode", required = true) private boolean requireAlphanumeric; + @ApiModelProperty(name = "allowSimple", value = "If this field is set to 'true', the device owner will be" + + " able to have a simple passcode and the following criteria in the passcode policy will not be" + + " applicable:\n" + + "Minimum length\n" + "Minimum complex characters", required = true) private boolean allowSimple; public int getMaxFailedAttempts() { diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/WebClip.java b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/WebClip.java index 8adf05b1d9..cf39b10703 100644 --- a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/WebClip.java +++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/WebClip.java @@ -18,15 +18,24 @@ package org.wso2.carbon.mdm.services.android.bean; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + import java.io.Serializable; /** * This class represents the information of setting up webclip. */ +@ApiModel(value = "WebClip", description = "This class represents the information of setting up webclip") public class WebClip extends AndroidOperation implements Serializable { + @ApiModelProperty(name = "identity", value = "The URL of the application", required = true) private String identity; + @ApiModelProperty(name = "title", value = "The name of the web application", required = true) private String title; + @ApiModelProperty(name = "type", value = "The type of the operation. Following are the possible operation" + + " types: install and uninstall. If the operation type is install, the web clip is added, and " + + "if the operation type is uninstall, the existing web clip is removed", required = true) private String type; public String getIdentity() { diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/Wifi.java b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/Wifi.java index aa0246c0a9..8cdf3c58bb 100644 --- a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/Wifi.java +++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/Wifi.java @@ -18,14 +18,22 @@ package org.wso2.carbon.mdm.services.android.bean; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + import java.io.Serializable; /** * This class represents the information of configuring wifi operation. */ +@ApiModel(value = "Wifi", description = "This class represents the information of configuring wifi operation") public class Wifi extends AndroidOperation implements Serializable { + @ApiModelProperty(name = "ssid", value = "The name of the Wifi network that you wish to configure", + required = true) private String ssid; + @ApiModelProperty(name = "password", value = "The password to connect to the specified Wifi network", + required = true) private String password; public String getSsid() { diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/WipeData.java b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/WipeData.java index a3ce49c0b9..83efddc126 100644 --- a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/WipeData.java +++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/WipeData.java @@ -18,13 +18,18 @@ package org.wso2.carbon.mdm.services.android.bean; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + import java.io.Serializable; /** * This class represents the information of wipedata operation. */ +@ApiModel(value = "WipeData", description = "This class represents the information of wipedata operation") public class WipeData extends AndroidOperation implements Serializable { + @ApiModelProperty(name = "pin", value = "PIN number to proceed with the data wipe", required = true) private String pin; public String getPin() { From afc7be590e4faa0ec8e89bd1bc76698559abc323 Mon Sep 17 00:00:00 2001 From: inosh-perera Date: Fri, 13 May 2016 02:50:17 +0530 Subject: [PATCH 05/21] adding swagger annotations for Android APIs --- .../carbon/mdm/services/android/bean/DeviceEncryption.java | 7 +++++++ .../carbon/mdm/services/android/bean/Disenrollment.java | 5 +++++ .../wso2/carbon/mdm/services/android/bean/LockCode.java | 6 ++++++ .../carbon/mdm/services/android/bean/Notification.java | 6 ++++++ .../bean/wrapper/BlacklistApplicationsBeanWrapper.java | 6 ++++++ .../services/android/bean/wrapper/CameraBeanWrapper.java | 7 +++++++ .../android/bean/wrapper/DisenrollmentBeanWrapper.java | 5 +++++ .../android/bean/wrapper/EncryptionBeanWrapper.java | 6 ++++++ .../services/android/bean/wrapper/LockCodeBeanWrapper.java | 7 +++++++ .../android/bean/wrapper/NotificationBeanWrapper.java | 7 +++++++ .../android/bean/wrapper/PasswordPolicyBeanWrapper.java | 7 +++++++ .../services/android/bean/wrapper/WebClipBeanWrapper.java | 7 +++++++ .../mdm/services/android/bean/wrapper/WifiBeanWrapper.java | 6 ++++++ .../services/android/bean/wrapper/WipeDataBeanWrapper.java | 6 ++++++ .../services/configuration/ConfigurationMgtService.java | 3 ++- .../services/devicemgt/DeviceManagementService.java | 2 +- .../android/services/enrollment/EnrollmentService.java | 3 ++- .../android/services/operationmgt/OperationMgtService.java | 2 +- .../android/services/policymgt/PolicyMgtService.java | 2 +- 19 files changed, 95 insertions(+), 5 deletions(-) diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/DeviceEncryption.java b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/DeviceEncryption.java index 2fa0890bc7..68ab6ae947 100644 --- a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/DeviceEncryption.java +++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/DeviceEncryption.java @@ -18,13 +18,20 @@ package org.wso2.carbon.mdm.services.android.bean; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + import java.io.Serializable; /** * This class represents the information of encrypt operation. */ + +@ApiModel(value = "DeviceEncryption", + description = "Details related device encryption.") public class DeviceEncryption extends AndroidOperation implements Serializable { + @ApiModelProperty(name = "encrypted", value = "Whether to enable encryption or not.", required = true) private boolean encrypted; public boolean isEncrypted() { diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/Disenrollment.java b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/Disenrollment.java index c1e2c48365..c591d2ae0a 100644 --- a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/Disenrollment.java +++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/Disenrollment.java @@ -18,11 +18,16 @@ package org.wso2.carbon.mdm.services.android.bean; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import org.wso2.carbon.device.mgt.common.operation.mgt.Operation; import java.io.Serializable; +@ApiModel(value = "Disenrollment", + description = "Details related to disenrolling a device.") public class Disenrollment extends AndroidOperation implements Serializable { + @ApiModelProperty(name = "enabled", value = "Whether to enable disenrollment or not.", required = true) private boolean enabled; public boolean isEnabled() { diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/LockCode.java b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/LockCode.java index 8c95f33ecc..4c2764dade 100644 --- a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/LockCode.java +++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/LockCode.java @@ -18,13 +18,19 @@ package org.wso2.carbon.mdm.services.android.bean; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + import java.io.Serializable; /** * This class represents the information of changing lock code operation. */ +@ApiModel(value = "LockCode", + description = "Details related to lock code sent on device.") public class LockCode extends AndroidOperation implements Serializable { + @ApiModelProperty(name = "lockCode", value = "The lock code to be sent to the device.", required = true) private String lockCode; public String getLockCode() { diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/Notification.java b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/Notification.java index 2d45ad957a..e7cdb5788a 100644 --- a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/Notification.java +++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/Notification.java @@ -18,13 +18,19 @@ package org.wso2.carbon.mdm.services.android.bean; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + import java.io.Serializable; /** * This class represents the information of sending notification operation. */ +@ApiModel(value = "Notification", + description = "Details related to notifications passed to device.") public class Notification extends AndroidOperation implements Serializable { + @ApiModelProperty(name = "message", value = "The message to be sent to the device.", required = true) private String message; public String getMessage() { diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/wrapper/BlacklistApplicationsBeanWrapper.java b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/wrapper/BlacklistApplicationsBeanWrapper.java index 91c62b435b..1f824661df 100644 --- a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/wrapper/BlacklistApplicationsBeanWrapper.java +++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/wrapper/BlacklistApplicationsBeanWrapper.java @@ -17,6 +17,8 @@ */ package org.wso2.carbon.mdm.services.android.bean.wrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import org.wso2.carbon.mdm.services.android.bean.BlacklistApplications; import java.util.List; @@ -24,9 +26,13 @@ import java.util.List; /** * This class is used to wrap the BlacklistApplications bean with devices. */ +@ApiModel(value = "BlacklistApplicationsBeanWrapper", + description = "Mapping between blacklist application and the device ids.") public class BlacklistApplicationsBeanWrapper { + @ApiModelProperty(name = "operation", value = "Blacklist applications information", required = true) private BlacklistApplications operation; + @ApiModelProperty(name = "deviceIDs", value = "List of device Ids", required = true) private List deviceIDs; public BlacklistApplications getOperation() { diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/wrapper/CameraBeanWrapper.java b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/wrapper/CameraBeanWrapper.java index bbf1970f8f..9f9a014f2c 100644 --- a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/wrapper/CameraBeanWrapper.java +++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/wrapper/CameraBeanWrapper.java @@ -17,6 +17,8 @@ */ package org.wso2.carbon.mdm.services.android.bean.wrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import org.wso2.carbon.mdm.services.android.bean.Camera; import java.util.List; @@ -24,9 +26,14 @@ import java.util.List; /** * This class is used to wrap the Camera bean with devices. */ + +@ApiModel(value = "CameraBeanWrapper", + description = "Mapping between camera operation and device list to be applied.") public class CameraBeanWrapper { + @ApiModelProperty(name = "operation", value = "Information of camera operation", required = true) private Camera operation; + @ApiModelProperty(name = "deviceIDs", value = "List of device Ids", required = true) private List deviceIDs; public Camera getOperation() { diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/wrapper/DisenrollmentBeanWrapper.java b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/wrapper/DisenrollmentBeanWrapper.java index d1370633d6..86e7fb3afa 100644 --- a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/wrapper/DisenrollmentBeanWrapper.java +++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/wrapper/DisenrollmentBeanWrapper.java @@ -17,13 +17,18 @@ */ package org.wso2.carbon.mdm.services.android.bean.wrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import org.wso2.carbon.mdm.services.android.bean.Disenrollment; import java.util.List; +@ApiModel(value = "DisenrollmentBeanWrapper", description = "Disenrollment details are mapped to devices list.") public class DisenrollmentBeanWrapper { + @ApiModelProperty(name = "operation", value = "Disenrollment operation.", required = true) private Disenrollment operation; + @ApiModelProperty(name = "deviceIDs", value = "Device id list of the operation to be executed.", required = true) private List deviceIDs; public Disenrollment getOperation() { diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/wrapper/EncryptionBeanWrapper.java b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/wrapper/EncryptionBeanWrapper.java index 31de3f20a6..aeb01400aa 100644 --- a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/wrapper/EncryptionBeanWrapper.java +++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/wrapper/EncryptionBeanWrapper.java @@ -17,6 +17,8 @@ */ package org.wso2.carbon.mdm.services.android.bean.wrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import org.wso2.carbon.mdm.services.android.bean.DeviceEncryption; import java.util.List; @@ -24,9 +26,13 @@ import java.util.List; /** * This class is used to wrap the Encrypt bean with devices. */ +@ApiModel(value = "EncryptionBeanWrapper", + description = "Mapping between encryption operation and device list to be applied.") public class EncryptionBeanWrapper { + @ApiModelProperty(name = "operation", value = "The information of encrypt operation", required = true) private DeviceEncryption operation; + @ApiModelProperty(name = "deviceIDs", value = "List of device Ids", required = true) private List deviceIDs; public DeviceEncryption getOperation() { diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/wrapper/LockCodeBeanWrapper.java b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/wrapper/LockCodeBeanWrapper.java index 828aebb00f..364fd39d28 100644 --- a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/wrapper/LockCodeBeanWrapper.java +++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/wrapper/LockCodeBeanWrapper.java @@ -17,6 +17,8 @@ */ package org.wso2.carbon.mdm.services.android.bean.wrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import org.wso2.carbon.mdm.services.android.bean.LockCode; import java.util.List; @@ -24,9 +26,14 @@ import java.util.List; /** * This class is used to wrap the LockCode bean with devices. */ + +@ApiModel(value = "LockCodeBeanWrapper", + description = "Mapping between lock operation and device list to be applied.") public class LockCodeBeanWrapper { + @ApiModelProperty(name = "operation", value = "The information of device lock operation", required = true) private LockCode operation; + @ApiModelProperty(name = "deviceIDs", value = "List of device Ids", required = true) private List deviceIDs; public LockCode getOperation() { diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/wrapper/NotificationBeanWrapper.java b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/wrapper/NotificationBeanWrapper.java index a9c6a50d65..573e2affc8 100644 --- a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/wrapper/NotificationBeanWrapper.java +++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/wrapper/NotificationBeanWrapper.java @@ -17,6 +17,8 @@ */ package org.wso2.carbon.mdm.services.android.bean.wrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import org.wso2.carbon.mdm.services.android.bean.Notification; import java.util.List; @@ -24,9 +26,14 @@ import java.util.List; /** * This class is used to wrap the Notification bean with devices. */ + +@ApiModel(value = "NotificationBeanWrapper", + description = "Mapping between notification operation and device list to be applied.") public class NotificationBeanWrapper { + @ApiModelProperty(name = "deviceIDs", value = "List of device Ids", required = true) private List deviceIDs; + @ApiModelProperty(name = "operation", value = "The information of notification operation", required = true) private Notification operation; public List getDeviceIDs() { diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/wrapper/PasswordPolicyBeanWrapper.java b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/wrapper/PasswordPolicyBeanWrapper.java index a4a55ecbb5..e47ece1c5a 100644 --- a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/wrapper/PasswordPolicyBeanWrapper.java +++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/wrapper/PasswordPolicyBeanWrapper.java @@ -17,6 +17,8 @@ */ package org.wso2.carbon.mdm.services.android.bean.wrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import org.wso2.carbon.mdm.services.android.bean.PasscodePolicy; import java.util.List; @@ -24,9 +26,14 @@ import java.util.List; /** * This class is used to wrap the PasswordPolicy bean with devices. */ + +@ApiModel(value = "PasswordPolicyBeanWrapper", + description = "Mapping between passcode policy and device list to be applied.") public class PasswordPolicyBeanWrapper { + @ApiModelProperty(name = "operation", value = "The information of setting up password policy", required = true) private PasscodePolicy operation; + @ApiModelProperty(name = "deviceIDs", value = "List of device Ids", required = true) private List deviceIDs; public PasscodePolicy getOperation() { diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/wrapper/WebClipBeanWrapper.java b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/wrapper/WebClipBeanWrapper.java index 61479b521f..098a518bb3 100644 --- a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/wrapper/WebClipBeanWrapper.java +++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/wrapper/WebClipBeanWrapper.java @@ -17,6 +17,8 @@ */ package org.wso2.carbon.mdm.services.android.bean.wrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import org.wso2.carbon.mdm.services.android.bean.WebClip; import java.util.List; @@ -24,9 +26,14 @@ import java.util.List; /** * This class is used to wrap the WebClip bean with devices. */ + +@ApiModel(value = "WebClipBeanWrapper", + description = "Mapping between web clip operation and device list to be applied.") public class WebClipBeanWrapper { + @ApiModelProperty(name = "operation", value = "the information of setting up webclip", required = true) private WebClip operation; + @ApiModelProperty(name = "deviceIDs", value = "List of device Ids", required = true) private List deviceIDs; public WebClip getOperation() { diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/wrapper/WifiBeanWrapper.java b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/wrapper/WifiBeanWrapper.java index 1d3adcb70f..2d63a27d9c 100644 --- a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/wrapper/WifiBeanWrapper.java +++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/wrapper/WifiBeanWrapper.java @@ -17,6 +17,8 @@ */ package org.wso2.carbon.mdm.services.android.bean.wrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import org.wso2.carbon.mdm.services.android.bean.Wifi; import java.util.List; @@ -24,9 +26,13 @@ import java.util.List; /** * This class is used to wrap the Wifi bean with devices. */ +@ApiModel(value = "WifiBeanWrapper", + description = "Mapping between wifi operation and device list to be applied.") public class WifiBeanWrapper { + @ApiModelProperty(name = "operation", value = "Information of configuring wifi operation", required = true) private Wifi operation; + @ApiModelProperty(name = "deviceIDs", value = "List of device Ids", required = true) private List deviceIDs; public Wifi getOperation() { diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/wrapper/WipeDataBeanWrapper.java b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/wrapper/WipeDataBeanWrapper.java index a9d65485e2..1c72af45b4 100644 --- a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/wrapper/WipeDataBeanWrapper.java +++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/bean/wrapper/WipeDataBeanWrapper.java @@ -17,6 +17,8 @@ */ package org.wso2.carbon.mdm.services.android.bean.wrapper; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import org.wso2.carbon.mdm.services.android.bean.WipeData; import java.util.List; @@ -24,9 +26,13 @@ import java.util.List; /** * This class is used to wrap the WipeData bean with devices. */ +@ApiModel(value = "WipeDataBeanWrapper", + description = "Mapping between wipe operation and device list to be applied.") public class WipeDataBeanWrapper { + @ApiModelProperty(name = "operation", value = "The information of wipedata operation", required = true) private WipeData operation; + @ApiModelProperty(name = "deviceIDs", value = "List of device Ids", required = true) private List deviceIDs; public WipeData getOperation() { diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/configuration/ConfigurationMgtService.java b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/configuration/ConfigurationMgtService.java index ca51ac6aef..3a378d9e7a 100644 --- a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/configuration/ConfigurationMgtService.java +++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/configuration/ConfigurationMgtService.java @@ -77,5 +77,6 @@ public interface ConfigurationMgtService { @ApiResponse(code = 500, message = "Error occurred while modifying configuration settings of " + "Android platform") }) - Message updateConfiguration(TenantConfiguration configuration) throws AndroidAgentException; + Message updateConfiguration(@ApiParam(name = "configuration", value = "AndroidPlatformConfiguration") + TenantConfiguration configuration) throws AndroidAgentException; } diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/devicemgt/DeviceManagementService.java b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/devicemgt/DeviceManagementService.java index d6eae7eb11..b7036dd083 100644 --- a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/devicemgt/DeviceManagementService.java +++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/devicemgt/DeviceManagementService.java @@ -34,7 +34,7 @@ import java.util.List; * All end points supports JSON, XMl with content negotiation. */ -@Api(value = "DeviceManagementService") +@Api(value = "DeviceManagementService", description = "Android Device Management REST-API implementation.") @WebService @Produces({"application/json", "application/xml"}) @Consumes({"application/json", "application/xml"}) diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/enrollment/EnrollmentService.java b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/enrollment/EnrollmentService.java index 28cc416f78..6c6aa2e378 100644 --- a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/enrollment/EnrollmentService.java +++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/enrollment/EnrollmentService.java @@ -30,7 +30,8 @@ import javax.ws.rs.core.MediaType; * Android Device Enrollment REST-API implementation. * All end points supports JSON, XMl with content negotiation. */ -@Api(value = "EnrollmentService") + +@Api(value = "EnrollmentService", description = "Android Device Enrollment REST-API implementation.") @WebService @Produces({"application/json", "application/xml"}) @Consumes({"application/json", "application/xml"}) diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/operationmgt/OperationMgtService.java b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/operationmgt/OperationMgtService.java index 8c0cc0ff6d..d89b977c61 100644 --- a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/operationmgt/OperationMgtService.java +++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/operationmgt/OperationMgtService.java @@ -31,7 +31,7 @@ import java.util.List; * Android Device Operation REST-API implementation. */ -@Api("OperationMgtService") +@Api(value = "OperationMgtService", description = "Android Device Operation REST-API implementation.") public interface OperationMgtService { String ACCEPT = "Accept"; diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/policymgt/PolicyMgtService.java b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/policymgt/PolicyMgtService.java index 7d36987c93..e35f08b23e 100644 --- a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/policymgt/PolicyMgtService.java +++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/policymgt/PolicyMgtService.java @@ -28,7 +28,7 @@ import javax.ws.rs.*; import javax.ws.rs.core.MediaType; import java.util.List; -@Api("PolicyMgtService") +@Api(value = "PolicyMgtService", description = "Policy management related REST-API implementation.") @WebService @Produces({"application/json", "application/xml"}) @Consumes({"application/json", "application/xml"}) From da24c3fc1ba8b759de0ceb2ff4c03a3e897f70f8 Mon Sep 17 00:00:00 2001 From: ayyoob Date: Fri, 13 May 2016 02:53:30 +0530 Subject: [PATCH 06/21] removed method and type from feature --- .../service/impl/AndroidSenseControllerService.java | 8 +++----- .../arduino/service/impl/ArduinoControllerService.java | 2 +- .../iot/input/adapter/mqtt/util/MQTTAdapterListener.java | 2 +- .../units/iot.unit.device.operation-bar/operation-bar.hbs | 2 +- .../service/impl/RaspberryPiControllerService.java | 3 +-- .../service/impl/VirtualFireAlarmControllerService.java | 3 +-- 6 files changed, 8 insertions(+), 12 deletions(-) diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/AndroidSenseControllerService.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/AndroidSenseControllerService.java index 43792b859b..2b11cc8631 100644 --- a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/AndroidSenseControllerService.java +++ b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/AndroidSenseControllerService.java @@ -43,7 +43,7 @@ public interface AndroidSenseControllerService { */ @Path("device/{deviceId}/words") @POST - @Feature(code = "keywords", name = "Add Keywords", description = "Send keywords to the device", type = "operation") + @Feature(code = "keywords", name = "Add Keywords", description = "Send keywords to the device") Response sendKeyWords(@PathParam("deviceId") String deviceId, @QueryParam("keywords") String keywords); /** @@ -54,14 +54,12 @@ public interface AndroidSenseControllerService { */ @Path("device/{deviceId}/words/threshold") @POST - @Feature(code = "threshold", name = "Add a Threshold", description = "Set a threshold for word in the device", - type = "operation") + @Feature(code = "threshold", name = "Add a Threshold", description = "Set a threshold for word in the device") Response sendThreshold(@PathParam("deviceId") String deviceId, @QueryParam("threshold") String threshold); @Path("device/{deviceId}/words") @DELETE - @Feature(code = "remove", name = "Remove Keywords", description = "Remove the keywords", - type = "operation") + @Feature(code = "remove", name = "Remove Keywords", description = "Remove the keywords") Response removeKeyWords(@PathParam("deviceId") String deviceId, @QueryParam("words") String words); /** diff --git a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/ArduinoControllerService.java b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/ArduinoControllerService.java index 13c97f096c..d0986ee866 100644 --- a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/ArduinoControllerService.java +++ b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/ArduinoControllerService.java @@ -36,7 +36,7 @@ public interface ArduinoControllerService { @Path("device/{deviceId}/bulb") @POST - @Feature(code = "bulb", name = "Control Bulb", type = "operation", description = "Control Bulb on Arduino Uno") + @Feature(code = "bulb", name = "Control Bulb", description = "Control Bulb on Arduino Uno") Response switchBulb(@PathParam("deviceId") String deviceId, @QueryParam("state") String state); @Path("device/{deviceId}/controls") diff --git a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot.input.adapter.mqtt/src/main/java/org/wso2/carbon/device/mgt/iot/input/adapter/mqtt/util/MQTTAdapterListener.java b/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot.input.adapter.mqtt/src/main/java/org/wso2/carbon/device/mgt/iot/input/adapter/mqtt/util/MQTTAdapterListener.java index 3053671416..97f52cf31e 100644 --- a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot.input.adapter.mqtt/src/main/java/org/wso2/carbon/device/mgt/iot/input/adapter/mqtt/util/MQTTAdapterListener.java +++ b/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot.input.adapter.mqtt/src/main/java/org/wso2/carbon/device/mgt/iot/input/adapter/mqtt/util/MQTTAdapterListener.java @@ -267,8 +267,8 @@ public class MQTTAdapterListener implements MqttCallback, Runnable { try { MQTTEventAdapterConstants.initialReconnectDuration = MQTTEventAdapterConstants.initialReconnectDuration * MQTTEventAdapterConstants.reconnectionProgressionFactor; - Thread.sleep(MQTTEventAdapterConstants.initialReconnectDuration); startListener(); + Thread.sleep(MQTTEventAdapterConstants.initialReconnectDuration); connectionSucceeded = true; log.info("MQTT Connection successful"); } catch (InterruptedException e) { diff --git a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot.ui/src/main/resources/jaggeryapps/devicemgt/app/units/iot.unit.device.operation-bar/operation-bar.hbs b/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot.ui/src/main/resources/jaggeryapps/devicemgt/app/units/iot.unit.device.operation-bar/operation-bar.hbs index 40466c1ec5..db16f3d353 100644 --- a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot.ui/src/main/resources/jaggeryapps/devicemgt/app/units/iot.unit.device.operation-bar/operation-bar.hbs +++ b/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot.ui/src/main/resources/jaggeryapps/devicemgt/app/units/iot.unit.device.operation-bar/operation-bar.hbs @@ -44,7 +44,7 @@
-
+ {{#each params.0.pathParams}}
diff --git a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/RaspberryPiControllerService.java b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/RaspberryPiControllerService.java index e184902b0d..c32353a2b1 100644 --- a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/RaspberryPiControllerService.java +++ b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/RaspberryPiControllerService.java @@ -37,8 +37,7 @@ public interface RaspberryPiControllerService { @Path("device/{deviceId}/bulb") @POST - @Feature(code = "bulb", name = "Bulb On / Off", type = "operation", - description = "Switch on/off Raspberry Pi agent's bulb. (On / Off)") + @Feature(code = "bulb", name = "Bulb On / Off", description = "Switch on/off Raspberry Pi agent's bulb. (On / Off)") Response switchBulb(@PathParam("deviceId") String deviceId, @QueryParam("state") String state); /** diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/VirtualFireAlarmControllerService.java b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/VirtualFireAlarmControllerService.java index 3bbbe3ad49..0417bcbad8 100644 --- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/VirtualFireAlarmControllerService.java +++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/VirtualFireAlarmControllerService.java @@ -50,8 +50,7 @@ public interface VirtualFireAlarmControllerService { @POST @Path("device/{deviceId}/buzz") @Permission(scope = "virtual_firealarm_user", permissions = {"device-mgt/virtual_firealarm/user"}) - @Feature(code = "buzz", name = "Buzzer On / Off", type = "operation", - description = "Switch on/off Virtual Fire Alarm Buzzer. (On / Off)") + @Feature(code = "buzz", name = "Buzzer On / Off", description = "Switch on/off Virtual Fire Alarm Buzzer. (On / Off)") Response switchBuzzer(@PathParam("deviceId") String deviceId, @QueryParam("protocol") String protocol, @FormParam("state") String state); From 2dabfa02fa6d5a41c6ab10cd5880e15fd188afb3 Mon Sep 17 00:00:00 2001 From: dilanua Date: Fri, 13 May 2016 02:56:15 +0530 Subject: [PATCH 07/21] Adding swagger annotations --- .../android/services/operationmgt/OperationMgtService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/operationmgt/OperationMgtService.java b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/operationmgt/OperationMgtService.java index 8c0cc0ff6d..2613d641a4 100644 --- a/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/operationmgt/OperationMgtService.java +++ b/components/mobile-plugins/android-plugin/org.wso2.carbon.device.mgt.mobile.android.api/src/main/java/org/wso2/carbon/mdm/services/android/services/operationmgt/OperationMgtService.java @@ -86,7 +86,7 @@ public interface OperationMgtService { notes = "Request location coordinates of Android devices", response = String.class) @ApiResponses(value = { - @ApiResponse(code = 201, message = "Requested Device Coordinates"), + @ApiResponse(code = 200, message = "Requested Device Coordinates"), @ApiResponse(code = 500, message = "Issue in retrieving device management service instance")}) Response getDeviceLocation(@ApiParam(name = "acceptHeader", value = "Accept Header") @HeaderParam(ACCEPT) String acceptHeader, @ApiParam(name = "deviceIDs", From 1fdb6fd54c55c482a1ce3993525ff3cb73de2f36 Mon Sep 17 00:00:00 2001 From: Waruna Samarsinghe Date: Fri, 13 May 2016 14:15:39 +0530 Subject: [PATCH 08/21] fix bugs location and accelerometer --- .../app/build.gradle | 0 .../app/src/main/AndroidManifest.xml | 0 .../iot/android/sense/RegisterActivity.java | 0 .../sense/constants/SenseConstants.java | 0 .../data/publisher/DataPublisherReceiver.java | 0 .../data/publisher/DataPublisherService.java | 123 ++++++++++-------- .../android/sense/data/publisher/Event.java | 95 +++++++++----- .../mqtt/AndroidSenseMQTTHandler.java | 0 .../mqtt/transport/MQTTTransportHandler.java | 2 +- .../mqtt/transport/TransportHandler.java | 0 .../transport/TransportHandlerException.java | 0 .../sense/event/SenseScheduleReceiver.java | 0 .../iot/android/sense/event/SenseService.java | 0 .../sense/event/streams/DataReader.java | 0 .../event/streams/Location/LocationData.java | 0 .../streams/Location/LocationDataReader.java | 119 +++++++++++------ .../event/streams/SenseDataCollector.java | 0 .../event/streams/Sensor/SensorData.java | 0 .../streams/Sensor/SensorDataReader.java | 4 +- .../event/streams/battery/BatteryData.java | 0 .../streams/battery/BatteryDataReceiver.java | 0 .../realtimeviewer/ActivitySelectSensor.java | 0 .../realtimeviewer/datastore/TempStore.java | 0 .../event/RealTimeSensorChangeReceiver.java | 0 .../event/realtimesensor/RealTimeSensor.java | 0 .../realtimesensor/RealTimeSensorReader.java | 0 .../AvailableSensorsInDevice.java | 0 .../sensorlisting/SupportedSensors.java | 0 .../view/adaptor/SensorViewAdaptor.java | 0 .../sensor/selector/SelectSensorDialog.java | 0 .../sense/speech/detector/IVoiceControl.java | 0 .../detector/WordRecognitionActivity.java | 0 .../detector/util/ListeningActivity.java | 0 .../speech/detector/util/ProcessWords.java | 0 .../detector/util/StringSimilarity.java | 0 .../util/VoiceRecognitionListener.java | 0 .../sense/speech/detector/util/WordData.java | 0 .../iot/android/sense/util/LocalRegistry.java | 0 .../iot/android/sense/util/SenseClient.java | 0 .../sense/util/SenseClientAsyncExecutor.java | 0 .../android/sense/util/SenseDataHolder.java | 15 ++- .../iot/android/sense/util/SenseUtils.java | 0 .../iot/android/sense/util/SenseWakeLock.java | 0 .../sense/util/dto/AccessTokenInfo.java | 0 .../sense/util/dto/AndroidConfiguration.java | 0 .../util/dto/AndroidSenseManagerService.java | 0 .../ApiApplicationRegistrationService.java | 0 .../util/dto/ApiRegistrationProfile.java | 0 .../dto/DynamicClientRegistrationService.java | 0 .../sense/util/dto/OAuthApplicationInfo.java | 0 .../util/dto/OAuthRequestInterceptor.java | 0 .../android/sense/util/dto/RegisterInfo.java | 0 .../sense/util/dto/RegistrationProfile.java | 0 .../sense/util/dto/TokenIssuerService.java | 0 .../app/src/main/res/drawable/mic.png | Bin .../src/main/res/drawable/pushtoserver.png | Bin .../app/src/main/res/drawable/sensor.png | Bin .../src/main/res/drawable/side_nav_bar.xml | 0 .../activity_activity_select_sensor.xml | 0 .../src/main/res/layout/activity_register.xml | 0 .../res/layout/activity_sense_settings.xml | 0 .../res/layout/activity_speech_sense_main.xml | 0 .../layout/app_bar_activity_select_sensor.xml | 0 .../layout/content_activity_select_sensor.xml | 0 .../main/res/layout/display_sensor_values.xml | 0 .../layout/fragment_select_sensor_dialog.xml | 0 .../nav_header_activity_select_sensor.xml | 0 ...activity_activity_select_sensor_drawer.xml | 0 .../main/res/menu/activity_select_sensor.xml | 0 .../src/main/res/menu/menu_sense_settings.xml | 0 .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin .../app/src/main/res/mipmap-hdpi/wso2logo.png | Bin .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin .../src/main/res/raw/client_truststore.bks | Bin .../app/src/main/res/raw/wso2carbon.cer | Bin .../app/src/main/res/values-v21/styles.xml | 0 .../app/src/main/res/values-w820dp/dimens.xml | 0 .../app/src/main/res/values/device.xml | 0 .../app/src/main/res/values/dimens.xml | 0 .../app/src/main/res/values/strings.xml | 0 .../res/values/strings_activity_register.xml | 0 .../app/src/main/res/values/styles.xml | 0 .../build.gradle | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 4 +- .../gradlew.bat | 0 .../pom.xml | 0 .../settings.gradle | 0 89 files changed, 226 insertions(+), 138 deletions(-) mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/build.gradle mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/AndroidManifest.xml mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/RegisterActivity.java mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/constants/SenseConstants.java mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/data/publisher/DataPublisherReceiver.java mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/data/publisher/DataPublisherService.java mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/data/publisher/Event.java mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/data/publisher/mqtt/AndroidSenseMQTTHandler.java mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/data/publisher/mqtt/transport/MQTTTransportHandler.java mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/data/publisher/mqtt/transport/TransportHandler.java mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/data/publisher/mqtt/transport/TransportHandlerException.java mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/event/SenseScheduleReceiver.java mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/event/SenseService.java mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/event/streams/DataReader.java mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/event/streams/Location/LocationData.java mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/event/streams/Location/LocationDataReader.java mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/event/streams/SenseDataCollector.java mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/event/streams/Sensor/SensorData.java mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/event/streams/Sensor/SensorDataReader.java mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/event/streams/battery/BatteryData.java mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/event/streams/battery/BatteryDataReceiver.java mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/realtimeviewer/ActivitySelectSensor.java mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/realtimeviewer/datastore/TempStore.java mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/realtimeviewer/event/RealTimeSensorChangeReceiver.java mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/realtimeviewer/event/realtimesensor/RealTimeSensor.java mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/realtimeviewer/event/realtimesensor/RealTimeSensorReader.java mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/realtimeviewer/sensorlisting/AvailableSensorsInDevice.java mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/realtimeviewer/sensorlisting/SupportedSensors.java mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/realtimeviewer/view/adaptor/SensorViewAdaptor.java mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/realtimeviewer/view/sensor/selector/SelectSensorDialog.java mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/speech/detector/IVoiceControl.java mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/speech/detector/WordRecognitionActivity.java mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/speech/detector/util/ListeningActivity.java mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/speech/detector/util/ProcessWords.java mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/speech/detector/util/StringSimilarity.java mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/speech/detector/util/VoiceRecognitionListener.java mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/speech/detector/util/WordData.java mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/LocalRegistry.java mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/SenseClient.java mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/SenseClientAsyncExecutor.java mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/SenseDataHolder.java mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/SenseUtils.java mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/SenseWakeLock.java mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/dto/AccessTokenInfo.java mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/dto/AndroidConfiguration.java mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/dto/AndroidSenseManagerService.java mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/dto/ApiApplicationRegistrationService.java mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/dto/ApiRegistrationProfile.java mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/dto/DynamicClientRegistrationService.java mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/dto/OAuthApplicationInfo.java mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/dto/OAuthRequestInterceptor.java mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/dto/RegisterInfo.java mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/dto/RegistrationProfile.java mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/dto/TokenIssuerService.java mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/drawable/mic.png mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/drawable/pushtoserver.png mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/drawable/sensor.png mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/drawable/side_nav_bar.xml mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/layout/activity_activity_select_sensor.xml mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/layout/activity_register.xml mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/layout/activity_sense_settings.xml mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/layout/activity_speech_sense_main.xml mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/layout/app_bar_activity_select_sensor.xml mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/layout/content_activity_select_sensor.xml mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/layout/display_sensor_values.xml mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/layout/fragment_select_sensor_dialog.xml mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/layout/nav_header_activity_select_sensor.xml mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/menu/activity_activity_select_sensor_drawer.xml mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/menu/activity_select_sensor.xml mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/menu/menu_sense_settings.xml mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/mipmap-hdpi/ic_launcher.png mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/mipmap-hdpi/wso2logo.png mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/mipmap-mdpi/ic_launcher.png mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/mipmap-xhdpi/ic_launcher.png mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/mipmap-xxhdpi/ic_launcher.png mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/raw/client_truststore.bks mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/raw/wso2carbon.cer mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/values-v21/styles.xml mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/values-w820dp/dimens.xml mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/values/device.xml mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/values/dimens.xml mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/values/strings.xml mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/values/strings_activity_register.xml mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/values/styles.xml mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/build.gradle mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/gradle/wrapper/gradle-wrapper.properties mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/gradlew.bat mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/pom.xml mode change 100644 => 100755 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/settings.gradle diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/build.gradle b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/build.gradle old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/AndroidManifest.xml b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/AndroidManifest.xml old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/RegisterActivity.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/RegisterActivity.java old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/constants/SenseConstants.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/constants/SenseConstants.java old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/data/publisher/DataPublisherReceiver.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/data/publisher/DataPublisherReceiver.java old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/data/publisher/DataPublisherService.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/data/publisher/DataPublisherService.java old mode 100644 new mode 100755 index a95f94767c..694445f735 --- a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/data/publisher/DataPublisherService.java +++ b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/data/publisher/DataPublisherService.java @@ -29,6 +29,8 @@ import org.wso2.carbon.iot.android.sense.data.publisher.mqtt.transport.MQTTTrans import org.wso2.carbon.iot.android.sense.data.publisher.mqtt.transport.TransportHandlerException; import org.wso2.carbon.iot.android.sense.constants.SenseConstants; import org.wso2.carbon.iot.android.sense.event.streams.Location.LocationData; +import org.wso2.carbon.iot.android.sense.event.streams.Location.LocationDataReader; + import org.wso2.carbon.iot.android.sense.event.streams.Sensor.SensorData; import org.wso2.carbon.iot.android.sense.event.streams.battery.BatteryData; import org.wso2.carbon.iot.android.sense.speech.detector.util.ProcessWords; @@ -50,6 +52,7 @@ public class DataPublisherService extends Service { private static String VALUE_TAG = "value"; public static Context context; + LocationData gps; @Nullable @Override @@ -66,64 +69,74 @@ public class DataPublisherService extends Service { public void run() { try { List events = new ArrayList<>(); - //retreive sensor data. + //retrieve sensor data. List sensorDataMap = SenseDataHolder.getSensorDataHolder(); - for (SensorData sensorData : sensorDataMap) { - Event event = new Event(); - event.setTimestamp(sensorData.getTimestamp()); - switch (sensorData.getSensorType()) { - case Sensor.TYPE_ACCELEROMETER: - event.setAccelerometer(sensorData.getSensorValues()); - events.add(event); - break; - case Sensor.TYPE_MAGNETIC_FIELD: - event.setMagnetic(sensorData.getSensorValues()); - events.add(event); - break; - case Sensor.TYPE_GYROSCOPE: - event.setGyroscope(sensorData.getSensorValues()); - events.add(event); - break; - case Sensor.TYPE_LIGHT: - event.setLight(sensorData.getSensorValues()[0]); - break; - case Sensor.TYPE_PRESSURE: - event.setPressure(sensorData.getSensorValues()[0]); - events.add(event); - break; - case Sensor.TYPE_PROXIMITY: - event.setProximity(sensorData.getSensorValues()[0]); - events.add(event); - break; - case Sensor.TYPE_GRAVITY: - event.setGravity(sensorData.getSensorValues()); - events.add(event); - break; - case Sensor.TYPE_GAME_ROTATION_VECTOR: - event.setRotation(sensorData.getSensorValues()); - events.add(event); - break; + if (!sensorDataMap.isEmpty()) { + for (SensorData sensorData : sensorDataMap) { + Event event = new Event(); + event.setTimestamp(sensorData.getTimestamp()); + switch (sensorData.getSensorType()) { + case Sensor.TYPE_ACCELEROMETER: + event.setAccelerometer(sensorData.getSensorValues()); + events.add(event); + break; + case Sensor.TYPE_MAGNETIC_FIELD: + event.setMagnetic(sensorData.getSensorValues()); + events.add(event); + break; + case Sensor.TYPE_GYROSCOPE: + event.setGyroscope(sensorData.getSensorValues()); + events.add(event); + break; + case Sensor.TYPE_LIGHT: + event.setLight(sensorData.getSensorValues()[0]); + break; + case Sensor.TYPE_PRESSURE: + event.setPressure(sensorData.getSensorValues()[0]); + events.add(event); + break; + case Sensor.TYPE_PROXIMITY: + event.setProximity(sensorData.getSensorValues()[0]); + events.add(event); + break; + case Sensor.TYPE_GRAVITY: + event.setGravity(sensorData.getSensorValues()); + events.add(event); + break; + case Sensor.TYPE_GAME_ROTATION_VECTOR: + event.setRotation(sensorData.getSensorValues()); + events.add(event); + break; + } } } SenseDataHolder.resetSensorDataHolder(); - //retreive batter data. + //retrieve batter data. List batteryDataMap = SenseDataHolder.getBatteryDataHolder(); - for (BatteryData batteryData : batteryDataMap) { - Event event = new Event(); - event.setTimestamp(batteryData.getTimestamp()); - event.setBattery(batteryData.getLevel()); - events.add(event); + + if (!batteryDataMap.isEmpty()) { + + for (BatteryData batteryData : batteryDataMap) { + Event event = new Event(); + event.setTimestamp(batteryData.getTimestamp()); + event.setBattery(batteryData.getLevel()); + events.add(event); + } + } SenseDataHolder.resetBatteryDataHolder(); - //retreive location data. + //retrieve location data. List locationDataMap = SenseDataHolder.getLocationDataHolder(); - for (LocationData locationData : locationDataMap) { - Event event = new Event(); - event.setTimestamp(locationData.getTimeStamp()); - event.setGps(new double[]{locationData.getLatitude(), locationData.getLongitude()}); - events.add(event); - } + + if (!locationDataMap.isEmpty()) { + for (LocationData locationData : locationDataMap) { + Event event = new Event(); + event.setTimestamp(locationData.getTimeStamp()); + event.setGps(new double[]{locationData.getLatitude(), locationData.getLongitude()}); + events.add(event); + } + } SenseDataHolder.resetLocationDataHolder(); //retrieve words @@ -158,13 +171,19 @@ public class DataPublisherService extends Service { event.setDeviceId(deviceId); jsonArray.put(new JSONObject().put("event", event.getEvent())); } + MQTTTransportHandler mqttTransportHandler = AndroidSenseMQTTHandler.getInstance(context); if (!mqttTransportHandler.isConnected()) { mqttTransportHandler.connect(); } - String topic = LocalRegistry.getTenantDomain(context) + "/" + SenseConstants - .DEVICE_TYPE + "/" + deviceId + "/data"; - mqttTransportHandler.publishDeviceData(user, deviceId, jsonArray.toString(), topic); + + + String topic = "wso2/" + LocalRegistry.getTenantDomain(context) + "/" + SenseConstants + .DEVICE_TYPE + "/" + deviceId + "/data"; + mqttTransportHandler.publishDeviceData(user, deviceId, jsonArray.toString(), topic); + + + } } catch (JSONException e) { Log.e(TAG, "Json Data Parsing Exception", e); diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/data/publisher/Event.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/data/publisher/Event.java old mode 100644 new mode 100755 index a8d936010f..cae36625b4 --- a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/data/publisher/Event.java +++ b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/data/publisher/Event.java @@ -2,6 +2,9 @@ package org.wso2.carbon.iot.android.sense.data.publisher; import org.json.JSONException; import org.json.JSONObject; +import org.wso2.carbon.iot.android.sense.event.streams.Location.LocationData; +import android.util.Log; + /** * This hold the definition of the stream that android sense is publishing to. @@ -26,8 +29,11 @@ public class Event { private String wordStatus; private long timestamp; + private static final String TAG = Event.class.getName(); + LocationData gpsLoc; + private int getBattery() { - return battery; + return this.battery; } public void setBattery(int battery) { @@ -36,7 +42,8 @@ public class Event { } private double[] getGps() { - return gps != null ? gps : new double[]{0, 0}; + + return gps != null ? this.gps : new double[]{gps[0],gps[1]}; } public void setGps(double[] gps) { @@ -45,7 +52,7 @@ public class Event { } private float[] getAccelerometer() { - return accelerometer != null ? accelerometer : new float[]{0, 0, 0}; + return this.accelerometer != null ? this.accelerometer : new float[]{0, 0, 0}; } public void setAccelerometer(float[] accelerometer) { @@ -54,7 +61,7 @@ public class Event { } private float[] getMagnetic() { - return magnetic != null ? magnetic : new float[]{0, 0, 0}; + return this.magnetic != null ? this.magnetic : new float[]{0, 0, 0}; } public void setMagnetic(float[] magnetic) { @@ -63,7 +70,7 @@ public class Event { } private float[] getGyroscope() { - return gyroscope != null ? gyroscope : new float[]{0, 0, 0}; + return this.gyroscope != null ? this.gyroscope : new float[]{0, 0, 0}; } public void setGyroscope(float[] gyroscope) { @@ -72,7 +79,7 @@ public class Event { } public float getLight() { - return light; + return this.light; } public void setLight(float light) { @@ -81,7 +88,7 @@ public class Event { } public float getPressure() { - return pressure; + return this.pressure; } public void setPressure(float pressure) { @@ -90,7 +97,7 @@ public class Event { } public float getProximity() { - return proximity; + return this.proximity; } public void setProximity(float proximity) { @@ -99,7 +106,7 @@ public class Event { } private float[] getGravity() { - return gravity != null ? gravity : new float[]{0, 0, 0}; + return this.gravity != null ? this.gravity : new float[]{0, 0, 0}; } public void setGravity(float gravity[]) { @@ -108,7 +115,7 @@ public class Event { } private float[] getRotation() { - return rotation != null ? rotation : new float[]{0, 0, 0}; + return this.rotation != null ? this.rotation : new float[]{0, 0, 0}; } public void setRotation(float rotation[]) { @@ -125,7 +132,7 @@ public class Event { } private String getWord() { - return word != null ? word : ""; + return this.word != null ? this.word : ""; } public void setWord(String word) { @@ -176,44 +183,60 @@ public class Event { JSONObject jsonPayloadData = new JSONObject(); jsonPayloadData.put("battery", getBattery()); - //gps - double gpsEvents[] = getGps(); - jsonPayloadData.put("gps_lat", gpsEvents[0]); - jsonPayloadData.put("gps_long", gpsEvents[1]); - //acceleromter - float events[] = getAccelerometer(); - jsonPayloadData.put("accelerometer_x", events[0]); - jsonPayloadData.put("accelerometer_y", events[1]); - jsonPayloadData.put("accelerometer_z", events[2]); + //gps & accelerometer + + if (gps !=null && accelerometer !=null) { + jsonPayloadData.put("gps_lat", gps[0]); + jsonPayloadData.put("gps_long", gps[1]); + + jsonPayloadData.put("accelerometer_x", accelerometer[0]); + jsonPayloadData.put("accelerometer_y", accelerometer[1]); + jsonPayloadData.put("accelerometer_z", accelerometer[2]); + } + + //magnetic - events = getMagnetic(); - jsonPayloadData.put("magnetic_x", events[0]); - jsonPayloadData.put("magnetic_y", events[1]); - jsonPayloadData.put("magnetic_z", events[2]); + //events = getMagnetic(); + if (magnetic !=null) { + jsonPayloadData.put("magnetic_x", magnetic[0]); + jsonPayloadData.put("magnetic_y", magnetic[1]); + jsonPayloadData.put("magnetic_z", magnetic[2]); + } //gyroscope - events = getGyroscope(); - jsonPayloadData.put("gyroscope_x", events[0]); - jsonPayloadData.put("gyroscope_y", events[1]); - jsonPayloadData.put("gyroscope_z", events[2]); + //events = getGyroscope(); + + if (gyroscope != null) { + jsonPayloadData.put("gyroscope_x", gyroscope[0]); + jsonPayloadData.put("gyroscope_y", gyroscope[1]); + jsonPayloadData.put("gyroscope_z", gyroscope[2]); + } + jsonPayloadData.put("light", getLight()); + jsonPayloadData.put("pressure", getPressure()); jsonPayloadData.put("proximity", getProximity()); //gravity - events = getGravity(); - jsonPayloadData.put("gravity_x", events[0]); - jsonPayloadData.put("gravity_y", events[1]); - jsonPayloadData.put("gravity_z", events[2]); + //events = getGravity(); + if (gravity!=null) { + jsonPayloadData.put("gravity_x", gravity[0]); + jsonPayloadData.put("gravity_y", gravity[1]); + jsonPayloadData.put("gravity_z", gravity[2]); + } //rotation - events = getRotation(); - jsonPayloadData.put("rotation_x", events[0]); - jsonPayloadData.put("rotation_y", events[1]); - jsonPayloadData.put("rotation_z", events[2]); + //events = getRotation(); + if (rotation!=null) { + jsonPayloadData.put("rotation_x", rotation[0]); + jsonPayloadData.put("rotation_y", rotation[1]); + jsonPayloadData.put("rotation_z", rotation[2]); + } //word jsonPayloadData.put("word", getWord()); jsonPayloadData.put("word_sessionId", getWordSessionId()); jsonPayloadData.put("word_status", getWordStatus()); + + jsonEvent.put("payloadData", jsonPayloadData); return jsonEvent; diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/data/publisher/mqtt/AndroidSenseMQTTHandler.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/data/publisher/mqtt/AndroidSenseMQTTHandler.java old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/data/publisher/mqtt/transport/MQTTTransportHandler.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/data/publisher/mqtt/transport/MQTTTransportHandler.java old mode 100644 new mode 100755 index 17884381c0..c2bd4b5d29 --- a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/data/publisher/mqtt/transport/MQTTTransportHandler.java +++ b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/data/publisher/mqtt/transport/MQTTTransportHandler.java @@ -77,7 +77,7 @@ public abstract class MQTTTransportHandler implements MqttCallback, TransportHan String username = LocalRegistry.getUsername(context); String deviceId = LocalRegistry.getDeviceId(context); this.clientId = deviceId + ":" + SenseConstants.DEVICE_TYPE; - this.subscribeTopic = LocalRegistry.getTenantDomain(context)+ "/" + SenseConstants.DEVICE_TYPE + "/" + + this.subscribeTopic = "wso2/" + LocalRegistry.getTenantDomain(context)+ "/" + SenseConstants.DEVICE_TYPE + "/" + deviceId + "/command/#"; this.clientWillTopic = DISCONNECTION_WILL_TOPIC_PREFIX + SenseConstants.DEVICE_TYPE; this.mqttBrokerEndPoint = LocalRegistry.getMqttEndpoint(context); diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/data/publisher/mqtt/transport/TransportHandler.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/data/publisher/mqtt/transport/TransportHandler.java old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/data/publisher/mqtt/transport/TransportHandlerException.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/data/publisher/mqtt/transport/TransportHandlerException.java old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/event/SenseScheduleReceiver.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/event/SenseScheduleReceiver.java old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/event/SenseService.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/event/SenseService.java old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/event/streams/DataReader.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/event/streams/DataReader.java old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/event/streams/Location/LocationData.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/event/streams/Location/LocationData.java old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/event/streams/Location/LocationDataReader.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/event/streams/Location/LocationDataReader.java old mode 100644 new mode 100755 index ca97f21200..565ad85b10 --- a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/event/streams/Location/LocationDataReader.java +++ b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/event/streams/Location/LocationDataReader.java @@ -23,75 +23,101 @@ import org.wso2.carbon.iot.android.sense.event.streams.DataReader; import org.wso2.carbon.iot.android.sense.util.SenseDataHolder; import java.util.concurrent.TimeUnit; + + + /** * This is used to retrieve the location data using GPS and used Network connection to increase the accuracy. */ public class LocationDataReader extends DataReader implements LocationListener { protected LocationManager locationManager; - private Context mContext; + private final Context mContext; + + LocationData gps; + + // flag for GPS status + private boolean isGPSEnabled = false; + + // flag for network status + private boolean isNetworkEnabled = false; + + // flag for GPS status private boolean canGetLocation = false; + //private boolean canGetLocation = false; private static final String TAG = LocationDataReader.class.getName(); Location location; // location double latitude; // latitude double longitude; // longitude + // The minimum distance to change Updates in meters + private static final long MIN_DISTANCE_CHANGE_FOR_UPDATES = 10; // 10 meters + + // The minimum time between updates in milliseconds + private static final long MIN_TIME_BW_UPDATES = 1000 * 60 * 1; // 1 minute + public LocationDataReader(Context context) { - mContext = context; + this.mContext = context; getLocation(); } public Location getLocation() { - locationManager = (LocationManager) mContext.getSystemService(mContext.LOCATION_SERVICE); - - // getting GPS status - boolean isGPSEnabled = locationManager - .isProviderEnabled(LocationManager.GPS_PROVIDER); - - // getting network status - boolean isNetworkEnabled = locationManager - .isProviderEnabled(LocationManager.NETWORK_PROVIDER); - - if (!isGPSEnabled && !isNetworkEnabled) { - // no network provider is enabled - } else { - this.canGetLocation = true; - // First get location from Network Provider - if (isNetworkEnabled) { - locationManager.requestLocationUpdates( - LocationManager.NETWORK_PROVIDER, 0, 0, this); - // MIN_TIME_BW_UPDATES, - // MIN_DISTANCE_CHANGE_FOR_UPDATES, this); - - if (locationManager != null) { - location = locationManager - .getLastKnownLocation(LocationManager.NETWORK_PROVIDER); - if (location != null) { - latitude = location.getLatitude(); - longitude = location.getLongitude(); - } - } - } - // if GPS Enabled get lat/long using GPS Services - if (isGPSEnabled) { - if (location == null) { - locationManager.requestLocationUpdates( - LocationManager.GPS_PROVIDER, 0, 0, this); - //MIN_TIME_BW_UPDATES, - //MIN_DISTANCE_CHANGE_FOR_UPDATES, this); + try { + + locationManager = (LocationManager) mContext + .getSystemService(mContext.LOCATION_SERVICE); - Log.d(TAG, "GPS Enabled"); + // getting GPS status + isGPSEnabled = locationManager + .isProviderEnabled(LocationManager.GPS_PROVIDER); + + // getting network status + isNetworkEnabled = locationManager + .isProviderEnabled(LocationManager.NETWORK_PROVIDER); + + if (!isGPSEnabled && !isNetworkEnabled) { + // no network provider is enabled + } else { + this.canGetLocation = true; + if (isNetworkEnabled) { + locationManager.requestLocationUpdates( + LocationManager.NETWORK_PROVIDER, + MIN_TIME_BW_UPDATES, + MIN_DISTANCE_CHANGE_FOR_UPDATES, this); + Log.d("Network", "Network"); if (locationManager != null) { location = locationManager - .getLastKnownLocation(LocationManager.GPS_PROVIDER); + .getLastKnownLocation(LocationManager.NETWORK_PROVIDER); if (location != null) { latitude = location.getLatitude(); longitude = location.getLongitude(); } } } + // if GPS Enabled get lat/long using GPS Services + if (isGPSEnabled) { + if (location == null) { + locationManager.requestLocationUpdates( + LocationManager.GPS_PROVIDER, + MIN_TIME_BW_UPDATES, + MIN_DISTANCE_CHANGE_FOR_UPDATES, this); + Log.d("GPS Enabled", "GPS Enabled"); + if (locationManager != null) { + location = locationManager + .getLastKnownLocation(LocationManager.GPS_PROVIDER); + if (location != null) { + latitude = location.getLatitude(); + longitude = location.getLongitude(); + } + } + } + } } + + } catch (Exception e) { + e.printStackTrace(); } + return location; } @@ -148,6 +174,7 @@ public class LocationDataReader extends DataReader implements LocationListener { } + @Override public void run() { Log.d(TAG, "running -Location"); @@ -155,8 +182,16 @@ public class LocationDataReader extends DataReader implements LocationListener { TimeUnit.MILLISECONDS.sleep(10000); double lat = getLatitude(); double longit = getLongitude(); + + + if (lat != 0 && longit != 0) { - SenseDataHolder.getLocationDataHolder().add(new LocationData(getLatitude(), getLongitude())); + Log.d(TAG, "YYY " + getLatitude() + ", XXX " + getLongitude()); + + gps = new LocationData(getLatitude(), getLongitude()); + + SenseDataHolder.getLocationDataHolder().add(gps); + } } catch (InterruptedException e) { // Restore the interrupted status diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/event/streams/SenseDataCollector.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/event/streams/SenseDataCollector.java old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/event/streams/Sensor/SensorData.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/event/streams/Sensor/SensorData.java old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/event/streams/Sensor/SensorDataReader.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/event/streams/Sensor/SensorDataReader.java old mode 100644 new mode 100755 index f1d9445623..3a57d4d48f --- a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/event/streams/Sensor/SensorDataReader.java +++ b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/event/streams/Sensor/SensorDataReader.java @@ -97,8 +97,8 @@ public class SensorDataReader extends DataReader implements SensorEventListener @Override public void run() { Log.d(TAG, "running -sensorDataMap"); - Vector sensorDatas = getSensorData(); - for (SensorData data : sensorDatas) { + Vector sensorDetails = getSensorData(); + for (SensorData data : sensorDetails) { SenseDataHolder.getSensorDataHolder().add(data); } } diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/event/streams/battery/BatteryData.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/event/streams/battery/BatteryData.java old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/event/streams/battery/BatteryDataReceiver.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/event/streams/battery/BatteryDataReceiver.java old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/realtimeviewer/ActivitySelectSensor.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/realtimeviewer/ActivitySelectSensor.java old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/realtimeviewer/datastore/TempStore.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/realtimeviewer/datastore/TempStore.java old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/realtimeviewer/event/RealTimeSensorChangeReceiver.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/realtimeviewer/event/RealTimeSensorChangeReceiver.java old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/realtimeviewer/event/realtimesensor/RealTimeSensor.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/realtimeviewer/event/realtimesensor/RealTimeSensor.java old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/realtimeviewer/event/realtimesensor/RealTimeSensorReader.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/realtimeviewer/event/realtimesensor/RealTimeSensorReader.java old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/realtimeviewer/sensorlisting/AvailableSensorsInDevice.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/realtimeviewer/sensorlisting/AvailableSensorsInDevice.java old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/realtimeviewer/sensorlisting/SupportedSensors.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/realtimeviewer/sensorlisting/SupportedSensors.java old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/realtimeviewer/view/adaptor/SensorViewAdaptor.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/realtimeviewer/view/adaptor/SensorViewAdaptor.java old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/realtimeviewer/view/sensor/selector/SelectSensorDialog.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/realtimeviewer/view/sensor/selector/SelectSensorDialog.java old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/speech/detector/IVoiceControl.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/speech/detector/IVoiceControl.java old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/speech/detector/WordRecognitionActivity.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/speech/detector/WordRecognitionActivity.java old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/speech/detector/util/ListeningActivity.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/speech/detector/util/ListeningActivity.java old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/speech/detector/util/ProcessWords.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/speech/detector/util/ProcessWords.java old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/speech/detector/util/StringSimilarity.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/speech/detector/util/StringSimilarity.java old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/speech/detector/util/VoiceRecognitionListener.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/speech/detector/util/VoiceRecognitionListener.java old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/speech/detector/util/WordData.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/speech/detector/util/WordData.java old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/LocalRegistry.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/LocalRegistry.java old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/SenseClient.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/SenseClient.java old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/SenseClientAsyncExecutor.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/SenseClientAsyncExecutor.java old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/SenseDataHolder.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/SenseDataHolder.java old mode 100644 new mode 100755 index 463cf8ab9f..8f0cefb56c --- a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/SenseDataHolder.java +++ b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/SenseDataHolder.java @@ -17,9 +17,10 @@ import org.wso2.carbon.iot.android.sense.event.streams.Location.LocationData; import org.wso2.carbon.iot.android.sense.event.streams.Sensor.SensorData; import org.wso2.carbon.iot.android.sense.event.streams.battery.BatteryData; import org.wso2.carbon.iot.android.sense.speech.detector.util.WordData; - import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; +import android.util.Log; + /** * This holds the sensor,battery and location data inmemory. @@ -31,6 +32,12 @@ public class SenseDataHolder { private static List locationDataHolder; private static List wordDataHolder; + //LocationData gps; + + + private static final String TAG = SenseDataHolder.class.getName(); + + public static List getSensorDataHolder(){ if(sensorDataHolder == null){ sensorDataHolder = new CopyOnWriteArrayList<>(); @@ -46,10 +53,14 @@ public class SenseDataHolder { } public static List getLocationDataHolder(){ + + if(locationDataHolder == null){ + locationDataHolder = new CopyOnWriteArrayList<>(); } - return locationDataHolder; + return locationDataHolder; + } public static List getWordDataHolder(){ diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/SenseUtils.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/SenseUtils.java old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/SenseWakeLock.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/SenseWakeLock.java old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/dto/AccessTokenInfo.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/dto/AccessTokenInfo.java old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/dto/AndroidConfiguration.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/dto/AndroidConfiguration.java old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/dto/AndroidSenseManagerService.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/dto/AndroidSenseManagerService.java old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/dto/ApiApplicationRegistrationService.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/dto/ApiApplicationRegistrationService.java old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/dto/ApiRegistrationProfile.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/dto/ApiRegistrationProfile.java old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/dto/DynamicClientRegistrationService.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/dto/DynamicClientRegistrationService.java old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/dto/OAuthApplicationInfo.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/dto/OAuthApplicationInfo.java old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/dto/OAuthRequestInterceptor.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/dto/OAuthRequestInterceptor.java old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/dto/RegisterInfo.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/dto/RegisterInfo.java old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/dto/RegistrationProfile.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/dto/RegistrationProfile.java old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/dto/TokenIssuerService.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/dto/TokenIssuerService.java old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/drawable/mic.png b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/drawable/mic.png old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/drawable/pushtoserver.png b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/drawable/pushtoserver.png old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/drawable/sensor.png b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/drawable/sensor.png old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/drawable/side_nav_bar.xml b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/drawable/side_nav_bar.xml old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/layout/activity_activity_select_sensor.xml b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/layout/activity_activity_select_sensor.xml old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/layout/activity_register.xml b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/layout/activity_register.xml old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/layout/activity_sense_settings.xml b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/layout/activity_sense_settings.xml old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/layout/activity_speech_sense_main.xml b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/layout/activity_speech_sense_main.xml old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/layout/app_bar_activity_select_sensor.xml b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/layout/app_bar_activity_select_sensor.xml old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/layout/content_activity_select_sensor.xml b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/layout/content_activity_select_sensor.xml old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/layout/display_sensor_values.xml b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/layout/display_sensor_values.xml old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/layout/fragment_select_sensor_dialog.xml b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/layout/fragment_select_sensor_dialog.xml old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/layout/nav_header_activity_select_sensor.xml b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/layout/nav_header_activity_select_sensor.xml old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/menu/activity_activity_select_sensor_drawer.xml b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/menu/activity_activity_select_sensor_drawer.xml old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/menu/activity_select_sensor.xml b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/menu/activity_select_sensor.xml old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/menu/menu_sense_settings.xml b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/menu/menu_sense_settings.xml old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/mipmap-hdpi/ic_launcher.png b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/mipmap-hdpi/ic_launcher.png old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/mipmap-hdpi/wso2logo.png b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/mipmap-hdpi/wso2logo.png old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/mipmap-mdpi/ic_launcher.png b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/mipmap-mdpi/ic_launcher.png old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/mipmap-xhdpi/ic_launcher.png old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/mipmap-xxhdpi/ic_launcher.png old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/raw/client_truststore.bks b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/raw/client_truststore.bks old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/raw/wso2carbon.cer b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/raw/wso2carbon.cer old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/values-v21/styles.xml b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/values-v21/styles.xml old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/values-w820dp/dimens.xml b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/values-w820dp/dimens.xml old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/values/device.xml b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/values/device.xml old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/values/dimens.xml b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/values/dimens.xml old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/values/strings.xml b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/values/strings.xml old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/values/strings_activity_register.xml b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/values/strings_activity_register.xml old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/values/styles.xml b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/res/values/styles.xml old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/build.gradle b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/build.gradle old mode 100644 new mode 100755 index 952246faf1..83876c80ad --- a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/build.gradle +++ b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/build.gradle @@ -6,7 +6,7 @@ buildscript { maven { url 'https://repo.eclipse.org/content/repositories/paho-releases/' } } dependencies { - classpath 'com.android.tools.build:gradle:1.3.0' + classpath 'com.android.tools.build:gradle:2.1.0' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/gradle/wrapper/gradle-wrapper.properties b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/gradle/wrapper/gradle-wrapper.properties old mode 100644 new mode 100755 index 5a1377c93b..e7ff442f33 --- a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/gradle/wrapper/gradle-wrapper.properties +++ b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Fri Dec 11 10:25:01 IST 2015 +#Wed May 11 14:40:10 IST 2016 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-2.4-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/gradlew.bat b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/gradlew.bat old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/pom.xml b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/pom.xml old mode 100644 new mode 100755 diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/settings.gradle b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/settings.gradle old mode 100644 new mode 100755 From 3d583cd39b6a62014784e67aa740431b769191d9 Mon Sep 17 00:00:00 2001 From: ayyoob Date: Sat, 14 May 2016 00:33:27 +0530 Subject: [PATCH 09/21] refactored analytic scripts --- .../android_sense_execution/artifact.xml | 23 +++++ .../android_sense_receiver.xml | 34 +++++++ .../android_sense_receiver/artifact.xml | 22 +++++ .../android_sense_stream/artifact.xml | 23 +++++ .../android_sense_execution.siddhiql | 87 ++++++++++++++++++ .../android_sense_execution/artifact.xml | 23 +++++ .../android_sense_publisher.xml | 25 ++++++ .../android_sense_publisher/artifact.xml | 22 +++++ .../android_sense_receiver.xml | 34 +++++++ .../android_sense_receiver}/artifact.xml | 4 +- .../android_sense_stream/artifact.xml | 23 +++++ .../org.wso2.iot.android.sense_1.0.0.json | 38 ++++++++ .../carbonapps/androidsense}/artifacts.xml | 12 ++- .../carbonapps/word_count}/artifacts.xml | 10 +-- .../word_count_receiver}/artifact.xml | 4 +- .../word_count_receiver.xml | 27 ++++++ .../word_count/word_count_script/artifact.xml | 22 +++++ .../word_count_script/word_count_script.xml} | 2 +- .../word_count/word_count_store/artifact.xml | 22 +++++ .../org_wso2_iot_devices_wordcount.xml | 0 .../word_count/word_count_stream/artifact.xml | 23 +++++ .../org.wso2.iot.devices.wordcount_1.0.0.json | 0 .../build.xml} | 25 ++++-- .../pom.xml | 90 +++++++++++++++++++ .../src/assembly/src.xml | 36 ++++++++ .../artifact.xml | 23 +++++ .../EventReceiver_http_temperature.xml | 0 .../artifact.xml | 0 .../arduino_execution.siddhiql | 17 ++++ .../Arduino/arduino_execution}/artifact.xml | 5 +- .../arduino_receiver/arduino_receiver.xml | 33 +++++++ .../Arduino/arduino_receiver}/artifact.xml | 4 +- .../Arduino/arduino_stream}/artifact.xml | 5 +- .../org.wso2.iot.arduino_1.0.0.json | 18 ++++ .../carbonapps/Arduino}/artifacts.xml | 10 +-- .../carbonapps/Arduino/reciever}/artifact.xml | 4 +- .../artifact.xml | 22 ----- .../Eventreceiver_gravaity_1.0.0/artifact.xml | 22 ----- .../artifact.xml | 22 ----- .../Gyroscope/Sparkscripts_1.0.0/artifact.xml | 22 ----- .../Magnetic/Sparkscripts_1.0.0/artifact.xml | 22 ----- .../Pressure/Sparkscripts_1.0.0/artifact.xml | 22 ----- .../artifact.xml | 22 ----- .../Proximity/Sparkscripts_1.0.0/artifact.xml | 22 ----- .../Eventreceiver_rotation_1.0.0/artifact.xml | 22 ----- .../Rotation/Sparkscripts_1.0.0/artifact.xml | 22 ----- .../EventReceiver_mqtt_temperature.xml | 34 ------- .../accelerometer_receiver.xml} | 2 +- .../accelerometer_receiver}/artifact.xml | 4 +- .../accelerometer_script.xml} | 2 +- .../accelerometer_script}/artifact.xml | 4 +- .../accelerometer_store}/artifact.xml | 2 +- .../org_wso2_iot_devices_accelerometer.xml | 0 .../accelerometer_stream}/artifact.xml | 2 +- ....wso2.iot.devices.accelerometer_1.0.0.json | 2 +- .../artifacts.xml | 10 +-- .../{Battery => battery_sensor}/artifacts.xml | 14 ++- .../battery_receiver/artifact.xml | 22 +++++ .../battery_receiver/battery_receiver.xml} | 2 +- .../battery_script/artifact.xml | 22 +++++ .../battery_script/battery_script.xml} | 2 +- .../battery_store}/artifact.xml | 2 +- .../org_wso2_iot_devices_battery.xml | 0 .../battery_stream}/artifact.xml | 2 +- .../org.wso2.iot.devices.battery_1.0.0.json | 2 +- .../{Gravity => gps_sensor}/artifacts.xml | 10 +-- .../gps_sensor/gps_receiver/artifact.xml | 22 +++++ .../gps_receiver/gps_receiver.xml} | 2 +- .../gps_sensor/gps_script/artifact.xml | 22 +++++ .../gps_script/gps_script.xml} | 2 +- .../gps_store}/artifact.xml | 2 +- .../gps_store}/org_wso2_iot_devices_gps.xml | 0 .../gps_stream}/artifact.xml | 2 +- .../org.wso2.iot.devices.gps_1.0.0.json | 0 .../carbonapps/gravity_sensor/artifacts.xml | 27 ++++++ .../gravity_receiver/artifact.xml | 22 +++++ .../gravity_receiver/gravity_receiver.xml} | 2 +- .../gravity_script/artifact.xml | 22 +++++ .../gravity_script/gravity_script.xml} | 2 +- .../gravity_store}/artifact.xml | 2 +- .../org_wso2_iot_devices_gravity.xml | 0 .../gravity_stream}/artifact.xml | 2 +- .../org.wso2.iot.devices.gravity_1.0.0.json | 0 .../carbonapps/gyroscope_sensor/artifacts.xml | 27 ++++++ .../gyroscope_receiver/artifact.xml | 22 +++++ .../gyroscope_receiver.xml} | 2 +- .../gyroscope_script/artifact.xml | 22 +++++ .../gyroscope_script/gyroscope_script.xml} | 2 +- .../gyroscope_store}/artifact.xml | 2 +- .../org_wso2_iot_devices_gyroscope.xml | 0 .../gyroscope_stream}/artifact.xml | 2 +- .../org.wso2.iot.devices.gyroscope_1.0.0.json | 0 .../carbonapps/light_sensor/artifacts.xml | 27 ++++++ .../light_sensor/light_receiver/artifact.xml | 22 +++++ .../light_receiver/light_receiver.xml} | 2 +- .../light_script}/artifact.xml | 4 +- .../light_script/light_script.xml} | 2 +- .../light_store}/artifact.xml | 2 +- .../org_wso2_iot_devices_light.xml | 0 .../light_stream}/artifact.xml | 2 +- .../org.wso2.iot.devices.light_1.0.0.json | 0 .../{GPS => magnetic_sensor}/artifacts.xml | 10 +-- .../magnetic_receiver}/artifact.xml | 4 +- .../magnetic_receiver/magnetic_receiver.xml} | 2 +- .../magnetic_script/artifact.xml | 22 +++++ .../magnetic_script/magnetic_script.xml} | 2 +- .../magnetic_store}/artifact.xml | 2 +- .../org_wso2_iot_devices_magnetic.xml | 0 .../magnetic_stream}/artifact.xml | 2 +- .../org.wso2.iot.devices.magnetic_1.0.0.json | 0 .../carbonapps/pressure_sensor/artifacts.xml | 27 ++++++ .../pressure_receiver}/artifact.xml | 4 +- .../pressure_receiver/pressure_receiver.xml} | 2 +- .../pressure_script/artifact.xml | 22 +++++ .../pressure_script/pressure_script.xml} | 2 +- .../pressure_store}/artifact.xml | 2 +- .../org_wso2_iot_devices_pressure.xml | 0 .../pressure_stream}/artifact.xml | 2 +- .../org.wso2.iot.devices.pressure_1.0.0.json | 0 .../carbonapps/proximity_sensor/artifacts.xml | 27 ++++++ .../proximity_receiver/artifact.xml | 22 +++++ .../proximity_receiver.xml} | 2 +- .../proximity_script/artifact.xml | 22 +++++ .../proximity_script/proximity_script.xml} | 2 +- .../proximity_store}/artifact.xml | 2 +- .../org_wso2_iot_devices_proximity.xml | 0 .../proximity_stream}/artifact.xml | 2 +- .../org.wso2.iot.devices.proximity_1.0.0.json | 0 .../carbonapps/rotation_sensor/artifacts.xml | 27 ++++++ .../rotation_receiver/artifact.xml | 22 +++++ .../rotation_receiver/rotation_receiver.xml} | 2 +- .../rotation_script/artifact.xml | 22 +++++ .../rotation_script/rotation_script.xml} | 2 +- .../rotation_store}/artifact.xml | 2 +- .../org_wso2_iot_devices_rotation.xml | 0 .../rotation_stream}/artifact.xml | 2 +- .../org.wso2.iot.devices.rotation_1.0.0.json | 0 .../artifacts.xml | 1 - .../temperature_publisher}/artifact.xml | 0 .../temperature_publisher.xml} | 0 .../temperature_receiver}/artifact.xml | 0 .../temperature_receiver.xml} | 2 +- .../temperature_script}/artifact.xml | 0 .../temperature_script.xml} | 2 +- .../temperature_store}/artifact.xml | 0 .../org_wso2_iot_devices_temperature.xml | 0 .../temperature_stream}/artifact.xml | 0 ...rg.wso2.iot.devices.temperature_1.0.0.json | 0 .../{WordCount => word_count}/artifacts.xml | 0 .../word_count_receiver}/artifact.xml | 0 .../word_count_receiver.xml} | 0 .../word_count_script}/artifact.xml | 0 .../word_count_store}/artifact.xml | 0 .../word_count_stream}/artifact.xml | 0 .../build.xml} | 25 ++++-- .../pom.xml | 90 +++++++++++++++++++ .../src/assembly/src.xml | 36 ++++++++ .../arduino/arduino_execution/artifact.xml | 23 +++++ .../arduino/arduino_receiver/artifact.xml | 22 +++++ .../arduino/arduino_stream/artifact.xml | 23 +++++ .../carbonapps/raspberrypi}/artifacts.xml | 9 +- .../raspberrypi_execution/artifact.xml | 23 +++++ .../raspberrypi_execution.siddhiql | 17 ++++ .../raspberrypi_receiver/artifact.xml | 22 +++++ .../raspberrypi_receiver.xml | 33 +++++++ .../raspberrypi_stream/artifact.xml | 23 +++++ .../org.wso2.iot.raspberrypi_1.0.0.json | 15 ++++ 167 files changed, 1627 insertions(+), 383 deletions(-) create mode 100644 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/Android_Sense/android_sense_execution/artifact.xml create mode 100644 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/Android_Sense/android_sense_receiver/android_sense_receiver.xml create mode 100644 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/Android_Sense/android_sense_receiver/artifact.xml create mode 100644 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/Android_Sense/android_sense_stream/artifact.xml create mode 100644 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_sense_execution/android_sense_execution.siddhiql create mode 100644 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_sense_execution/artifact.xml create mode 100644 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_sense_publisher/android_sense_publisher.xml create mode 100644 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_sense_publisher/artifact.xml create mode 100644 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_sense_receiver/android_sense_receiver.xml rename components/iot-plugins/{iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/Magnetic/Eventreceiver_magnetic_1.0.0 => androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_sense_receiver}/artifact.xml (87%) create mode 100644 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_sense_stream/artifact.xml create mode 100644 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_sense_stream/org.wso2.iot.android.sense_1.0.0.json rename components/iot-plugins/{iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/Rotation => androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense}/artifacts.xml (59%) rename components/iot-plugins/{iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/Light => androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/word_count}/artifacts.xml (70%) rename components/iot-plugins/{iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/Light/Eventreceiver_light_1.0.0 => androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/word_count/word_count_receiver}/artifact.xml (88%) create mode 100644 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/word_count/word_count_receiver/word_count_receiver.xml create mode 100644 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/word_count/word_count_script/artifact.xml rename components/iot-plugins/{iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/WordCount/Sparkscripts_1.0.0/Wordcount_Script.xml => androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/word_count/word_count_script/word_count_script.xml} (97%) create mode 100644 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/word_count/word_count_store/artifact.xml rename components/iot-plugins/{iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/WordCount/Eventstore_wordcount_1.0.0 => androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/word_count/word_count_store}/org_wso2_iot_devices_wordcount.xml (100%) create mode 100644 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/word_count/word_count_stream/artifact.xml rename components/iot-plugins/{iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/WordCount/Eventstream_wordcount_1.0.0 => androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/word_count/word_count_stream}/org.wso2.iot.devices.wordcount_1.0.0.json (100%) rename components/iot-plugins/{iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/Proximity/artifacts.xml => arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.analytics/build.xml} (52%) create mode 100644 components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.analytics/pom.xml create mode 100644 components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.analytics/src/assembly/src.xml create mode 100644 components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.analytics/src/main/resources/carbonapps/Arduino/EventStream_AndroidSense_1.0.0/artifact.xml rename components/iot-plugins/{iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/Temperature/Eventreceiver_http_temperature_1.0.0 => arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.analytics/src/main/resources/carbonapps/Arduino/Eventreceiver_http_arduino_1.0.0}/EventReceiver_http_temperature.xml (100%) rename components/iot-plugins/{iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/Temperature/Eventreceiver_http_temperature_1.0.0 => arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.analytics/src/main/resources/carbonapps/Arduino/Eventreceiver_http_arduino_1.0.0}/artifact.xml (100%) create mode 100644 components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.analytics/src/main/resources/carbonapps/Arduino/arduino_execution/arduino_execution.siddhiql rename components/iot-plugins/{iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/Battery/Eventreceiver_battery_1.0.0 => arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.analytics/src/main/resources/carbonapps/Arduino/arduino_execution}/artifact.xml (82%) create mode 100644 components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.analytics/src/main/resources/carbonapps/Arduino/arduino_receiver/arduino_receiver.xml rename components/iot-plugins/{iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/Light/Sparkscripts_1.0.0 => arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.analytics/src/main/resources/carbonapps/Arduino/arduino_receiver}/artifact.xml (83%) rename components/iot-plugins/{iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/Battery/Sparkscripts_1.0.0 => arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.analytics/src/main/resources/carbonapps/Arduino/arduino_stream}/artifact.xml (83%) create mode 100644 components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.analytics/src/main/resources/carbonapps/Arduino/arduino_stream/org.wso2.iot.arduino_1.0.0.json rename components/iot-plugins/{iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/Accelerometer => arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.analytics/src/main/resources/carbonapps/Arduino}/artifacts.xml (61%) rename components/iot-plugins/{iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/Temperature/Eventreceiver_mqtt_temperature_1.0.0 => arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.analytics/src/main/resources/carbonapps/Arduino/reciever}/artifact.xml (87%) delete mode 100644 components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/Accelerometer/Eventreceiver_accelerometer_1.0.0/artifact.xml delete mode 100644 components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/Gravity/Eventreceiver_gravaity_1.0.0/artifact.xml delete mode 100644 components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/Gyroscope/Eventreceiver_gyroscope_1.0.0/artifact.xml delete mode 100644 components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/Gyroscope/Sparkscripts_1.0.0/artifact.xml delete mode 100644 components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/Magnetic/Sparkscripts_1.0.0/artifact.xml delete mode 100644 components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/Pressure/Sparkscripts_1.0.0/artifact.xml delete mode 100644 components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/Proximity/Eventreceiver_proximity_1.0.0/artifact.xml delete mode 100644 components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/Proximity/Sparkscripts_1.0.0/artifact.xml delete mode 100644 components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/Rotation/Eventreceiver_rotation_1.0.0/artifact.xml delete mode 100644 components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/Rotation/Sparkscripts_1.0.0/artifact.xml delete mode 100644 components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/Temperature/Eventreceiver_mqtt_temperature_1.0.0/EventReceiver_mqtt_temperature.xml rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Accelerometer/Eventreceiver_accelerometer_1.0.0/EventReceiver_accelerometer.xml => accelerometer_sensor/accelerometer_receiver/accelerometer_receiver.xml} (88%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Pressure/Eventreceiver_pressure_1.0.0 => accelerometer_sensor/accelerometer_receiver}/artifact.xml (87%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Accelerometer/Sparkscripts_1.0.0/Accelerometer_Sensor_Script.xml => accelerometer_sensor/accelerometer_script/accelerometer_script.xml} (97%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Accelerometer/Sparkscripts_1.0.0 => accelerometer_sensor/accelerometer_script}/artifact.xml (82%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Accelerometer/Eventstore_accelerometer_1.0.0 => accelerometer_sensor/accelerometer_store}/artifact.xml (86%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Accelerometer/Eventstore_accelerometer_1.0.0 => accelerometer_sensor/accelerometer_store}/org_wso2_iot_devices_accelerometer.xml (100%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Accelerometer/Eventstream_accelerometer_1.0.0 => accelerometer_sensor/accelerometer_stream}/artifact.xml (87%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Accelerometer/Eventstream_accelerometer_1.0.0 => accelerometer_sensor/accelerometer_stream}/org.wso2.iot.devices.accelerometer_1.0.0.json (93%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Magnetic => accelerometer_sensor}/artifacts.xml (71%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Battery => battery_sensor}/artifacts.xml (61%) create mode 100644 components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/battery_sensor/battery_receiver/artifact.xml rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Battery/Eventreceiver_battery_1.0.0/EventReceiver_battery.xml => battery_sensor/battery_receiver/battery_receiver.xml} (88%) create mode 100644 components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/battery_sensor/battery_script/artifact.xml rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Battery/Sparkscripts_1.0.0/Battery_Sensor_Script.xml => battery_sensor/battery_script/battery_script.xml} (97%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Battery/Eventstore_battery_1.0.0 => battery_sensor/battery_store}/artifact.xml (87%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Battery/Eventstore_battery_1.0.0 => battery_sensor/battery_store}/org_wso2_iot_devices_battery.xml (100%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Battery/Eventstream_battery_1.0.0 => battery_sensor/battery_stream}/artifact.xml (88%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Battery/Eventstream_battery_1.0.0 => battery_sensor/battery_stream}/org.wso2.iot.devices.battery_1.0.0.json (93%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Gravity => gps_sensor}/artifacts.xml (63%) create mode 100644 components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/gps_sensor/gps_receiver/artifact.xml rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{GPS/Eventreceiver_gps_1.0.0/EventReceiver_gps.xml => gps_sensor/gps_receiver/gps_receiver.xml} (88%) create mode 100644 components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/gps_sensor/gps_script/artifact.xml rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{GPS/Sparkscripts_1.0.0/GPS_Sensor_Script.xml => gps_sensor/gps_script/gps_script.xml} (97%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{GPS/Eventstore_gps_1.0.0 => gps_sensor/gps_store}/artifact.xml (87%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{GPS/Eventstore_gps_1.0.0 => gps_sensor/gps_store}/org_wso2_iot_devices_gps.xml (100%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{GPS/Eventstream_gps_1.0.0 => gps_sensor/gps_stream}/artifact.xml (88%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{GPS/Eventstream_gps_1.0.0 => gps_sensor/gps_stream}/org.wso2.iot.devices.gps_1.0.0.json (100%) create mode 100644 components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/gravity_sensor/artifacts.xml create mode 100644 components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/gravity_sensor/gravity_receiver/artifact.xml rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Gravity/Eventreceiver_gravaity_1.0.0/EventReceiver_gravity.xml => gravity_sensor/gravity_receiver/gravity_receiver.xml} (88%) create mode 100644 components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/gravity_sensor/gravity_script/artifact.xml rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Gravity/Sparkscripts_1.0.0/Gravity_Sensor_Script.xml => gravity_sensor/gravity_script/gravity_script.xml} (97%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Gravity/Eventstore_gravity_1.0.0 => gravity_sensor/gravity_store}/artifact.xml (87%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Gravity/Eventstore_gravity_1.0.0 => gravity_sensor/gravity_store}/org_wso2_iot_devices_gravity.xml (100%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Gravity/Eventstream_gravity_1.0.0 => gravity_sensor/gravity_stream}/artifact.xml (88%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Gravity/Eventstream_gravity_1.0.0 => gravity_sensor/gravity_stream}/org.wso2.iot.devices.gravity_1.0.0.json (100%) create mode 100644 components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/gyroscope_sensor/artifacts.xml create mode 100644 components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/gyroscope_sensor/gyroscope_receiver/artifact.xml rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Gyroscope/Eventreceiver_gyroscope_1.0.0/EventReceiver_gyroscope.xml => gyroscope_sensor/gyroscope_receiver/gyroscope_receiver.xml} (88%) create mode 100644 components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/gyroscope_sensor/gyroscope_script/artifact.xml rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Gyroscope/Sparkscripts_1.0.0/Gyroscope_Sensor_Script.xml => gyroscope_sensor/gyroscope_script/gyroscope_script.xml} (97%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Gyroscope/Eventstore_gyroscope_1.0.0 => gyroscope_sensor/gyroscope_store}/artifact.xml (87%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Gyroscope/Eventstore_gyroscope_1.0.0 => gyroscope_sensor/gyroscope_store}/org_wso2_iot_devices_gyroscope.xml (100%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Gyroscope/Eventstream_gyroscope_1.0.0 => gyroscope_sensor/gyroscope_stream}/artifact.xml (87%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Gyroscope/Eventstream_gyroscope_1.0.0 => gyroscope_sensor/gyroscope_stream}/org.wso2.iot.devices.gyroscope_1.0.0.json (100%) create mode 100644 components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/light_sensor/artifacts.xml create mode 100644 components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/light_sensor/light_receiver/artifact.xml rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Light/Eventreceiver_light_1.0.0/EventReceiver_light.xml => light_sensor/light_receiver/light_receiver.xml} (88%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{GPS/Sparkscripts_1.0.0 => light_sensor/light_script}/artifact.xml (88%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Light/Sparkscripts_1.0.0/Light_Sensor_Script.xml => light_sensor/light_script/light_script.xml} (97%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Light/Eventstore_light_1.0.0 => light_sensor/light_store}/artifact.xml (87%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Light/Eventstore_light_1.0.0 => light_sensor/light_store}/org_wso2_iot_devices_light.xml (100%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Light/Eventstream_light_1.0.0 => light_sensor/light_stream}/artifact.xml (88%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Light/Eventstream_light_1.0.0 => light_sensor/light_stream}/org.wso2.iot.devices.light_1.0.0.json (100%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{GPS => magnetic_sensor}/artifacts.xml (71%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{GPS/Eventreceiver_gps_1.0.0 => magnetic_sensor/magnetic_receiver}/artifact.xml (88%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Magnetic/Eventreceiver_magnetic_1.0.0/EventReceiver_magnetic.xml => magnetic_sensor/magnetic_receiver/magnetic_receiver.xml} (88%) create mode 100644 components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/magnetic_sensor/magnetic_script/artifact.xml rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Magnetic/Sparkscripts_1.0.0/Magnetic_Sensor_Script.xml => magnetic_sensor/magnetic_script/magnetic_script.xml} (97%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Magnetic/Eventstore_magnetic_1.0.0 => magnetic_sensor/magnetic_store}/artifact.xml (87%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Magnetic/Eventstore_magnetic_1.0.0 => magnetic_sensor/magnetic_store}/org_wso2_iot_devices_magnetic.xml (100%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Magnetic/Eventstream_magnetic_1.0.0 => magnetic_sensor/magnetic_stream}/artifact.xml (88%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Magnetic/Eventstream_magnetic_1.0.0 => magnetic_sensor/magnetic_stream}/org.wso2.iot.devices.magnetic_1.0.0.json (100%) create mode 100644 components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/pressure_sensor/artifacts.xml rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Gravity/Sparkscripts_1.0.0 => pressure_sensor/pressure_receiver}/artifact.xml (83%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Pressure/Eventreceiver_pressure_1.0.0/EventReceiver_pressure.xml => pressure_sensor/pressure_receiver/pressure_receiver.xml} (88%) create mode 100644 components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/pressure_sensor/pressure_script/artifact.xml rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Pressure/Sparkscripts_1.0.0/Pressure_Sensor_Script.xml => pressure_sensor/pressure_script/pressure_script.xml} (97%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Pressure/Eventstore_pressure_1.0.0 => pressure_sensor/pressure_store}/artifact.xml (87%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Pressure/Eventstore_pressure_1.0.0 => pressure_sensor/pressure_store}/org_wso2_iot_devices_pressure.xml (100%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Pressure/Eventstream_pressure_1.0.0 => pressure_sensor/pressure_stream}/artifact.xml (88%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Pressure/Eventstream_pressure_1.0.0 => pressure_sensor/pressure_stream}/org.wso2.iot.devices.pressure_1.0.0.json (100%) create mode 100644 components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/proximity_sensor/artifacts.xml create mode 100644 components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/proximity_sensor/proximity_receiver/artifact.xml rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Proximity/Eventreceiver_proximity_1.0.0/EventReceiver_proximity.xml => proximity_sensor/proximity_receiver/proximity_receiver.xml} (88%) create mode 100644 components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/proximity_sensor/proximity_script/artifact.xml rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Proximity/Sparkscripts_1.0.0/Proximity_Sensor_Script.xml => proximity_sensor/proximity_script/proximity_script.xml} (97%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Proximity/Eventstore_proximity_1.0.0 => proximity_sensor/proximity_store}/artifact.xml (87%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Proximity/Eventstore_proximity_1.0.0 => proximity_sensor/proximity_store}/org_wso2_iot_devices_proximity.xml (100%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Proximity/Eventstream_proximity_1.0.0 => proximity_sensor/proximity_stream}/artifact.xml (87%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Proximity/Eventstream_proximity_1.0.0 => proximity_sensor/proximity_stream}/org.wso2.iot.devices.proximity_1.0.0.json (100%) create mode 100644 components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/rotation_sensor/artifacts.xml create mode 100644 components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/rotation_sensor/rotation_receiver/artifact.xml rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Rotation/Eventreceiver_rotation_1.0.0/EventReceiver_rotation.xml => rotation_sensor/rotation_receiver/rotation_receiver.xml} (88%) create mode 100644 components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/rotation_sensor/rotation_script/artifact.xml rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Rotation/Sparkscripts_1.0.0/Rotation_Sensor_Script.xml => rotation_sensor/rotation_script/rotation_script.xml} (97%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Rotation/Eventstore_rotation_1.0.0 => rotation_sensor/rotation_store}/artifact.xml (87%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Rotation/Eventstore_rotation_1.0.0 => rotation_sensor/rotation_store}/org_wso2_iot_devices_rotation.xml (100%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Rotation/Eventstream_rotation_1.0.0 => rotation_sensor/rotation_stream}/artifact.xml (88%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Rotation/Eventstream_rotation_1.0.0 => rotation_sensor/rotation_stream}/org.wso2.iot.devices.rotation_1.0.0.json (100%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Temperature => temperature_sensor}/artifacts.xml (92%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Temperature/Eventpublisher_temperature_1.0.0 => temperature_sensor/temperature_publisher}/artifact.xml (100%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Temperature/Eventpublisher_temperature_1.0.0/EventPublisher_temperature.xml => temperature_sensor/temperature_publisher/temperature_publisher.xml} (100%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Temperature/Eventreceiver_temperature_1.0.0 => temperature_sensor/temperature_receiver}/artifact.xml (100%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Temperature/Eventreceiver_temperature_1.0.0/EventReceiver_temperature.xml => temperature_sensor/temperature_receiver/temperature_receiver.xml} (88%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Temperature/Sparkscripts_1.0.0 => temperature_sensor/temperature_script}/artifact.xml (100%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Temperature/Sparkscripts_1.0.0/Temperature_Sensor_Script.xml => temperature_sensor/temperature_script/temperature_script.xml} (97%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Temperature/Eventstore_temperature_1.0.0 => temperature_sensor/temperature_store}/artifact.xml (100%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Temperature/Eventstore_temperature_1.0.0 => temperature_sensor/temperature_store}/org_wso2_iot_devices_temperature.xml (100%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Temperature/Eventstream_temperature_1.0.0 => temperature_sensor/temperature_stream}/artifact.xml (100%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{Temperature/Eventstream_temperature_1.0.0 => temperature_sensor/temperature_stream}/org.wso2.iot.devices.temperature_1.0.0.json (100%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{WordCount => word_count}/artifacts.xml (100%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{WordCount/Eventreceiver_wordcount_1.0.0 => word_count/word_count_receiver}/artifact.xml (100%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{WordCount/Eventreceiver_wordcount_1.0.0/EventReceiver_wordcount.xml => word_count/word_count_receiver/word_count_receiver.xml} (100%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{WordCount/Sparkscripts_1.0.0 => word_count/word_count_script}/artifact.xml (100%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{WordCount/Eventstore_wordcount_1.0.0 => word_count/word_count_store}/artifact.xml (100%) rename components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/{WordCount/Eventstream_wordcount_1.0.0 => word_count/word_count_stream}/artifact.xml (100%) rename components/iot-plugins/{iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/Gyroscope/artifacts.xml => raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.analytics/build.xml} (53%) create mode 100644 components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.analytics/pom.xml create mode 100644 components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.analytics/src/assembly/src.xml create mode 100644 components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.analytics/src/main/resources/carbonapps/arduino/arduino_execution/artifact.xml create mode 100644 components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.analytics/src/main/resources/carbonapps/arduino/arduino_receiver/artifact.xml create mode 100644 components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.analytics/src/main/resources/carbonapps/arduino/arduino_stream/artifact.xml rename components/iot-plugins/{iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/Pressure => raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.analytics/src/main/resources/carbonapps/raspberrypi}/artifacts.xml (67%) create mode 100644 components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.analytics/src/main/resources/carbonapps/raspberrypi/raspberrypi_execution/artifact.xml create mode 100644 components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.analytics/src/main/resources/carbonapps/raspberrypi/raspberrypi_execution/raspberrypi_execution.siddhiql create mode 100644 components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.analytics/src/main/resources/carbonapps/raspberrypi/raspberrypi_receiver/artifact.xml create mode 100644 components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.analytics/src/main/resources/carbonapps/raspberrypi/raspberrypi_receiver/raspberrypi_receiver.xml create mode 100644 components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.analytics/src/main/resources/carbonapps/raspberrypi/raspberrypi_stream/artifact.xml create mode 100644 components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.analytics/src/main/resources/carbonapps/raspberrypi/raspberrypi_stream/org.wso2.iot.raspberrypi_1.0.0.json diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/Android_Sense/android_sense_execution/artifact.xml b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/Android_Sense/android_sense_execution/artifact.xml new file mode 100644 index 0000000000..f14c53a366 --- /dev/null +++ b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/Android_Sense/android_sense_execution/artifact.xml @@ -0,0 +1,23 @@ + + + + + EventExecution_AndroidSense.siddhiql + + diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/Android_Sense/android_sense_receiver/android_sense_receiver.xml b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/Android_Sense/android_sense_receiver/android_sense_receiver.xml new file mode 100644 index 0000000000..3533805799 --- /dev/null +++ b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/Android_Sense/android_sense_receiver/android_sense_receiver.xml @@ -0,0 +1,34 @@ + + + + + + carbon.super/android_sense/+/data + admin + device_id_json_path:event.metaData.deviceId,device_id_topic_hierarchy_index:2 + org.wso2.carbon.device.mgt.iot.input.adapter.mqtt.util.MQTTContentValidator + default + https://localhost:${carbon.https.port}/dynamic-client-web/register + tcp://${mqtt.broker.host}:${mqtt.broker.port} + true + + + + + diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/Android_Sense/android_sense_receiver/artifact.xml b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/Android_Sense/android_sense_receiver/artifact.xml new file mode 100644 index 0000000000..1a154bc928 --- /dev/null +++ b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/Android_Sense/android_sense_receiver/artifact.xml @@ -0,0 +1,22 @@ + + + + + EventReceiver_AndroidSense.xml + diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/Android_Sense/android_sense_stream/artifact.xml b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/Android_Sense/android_sense_stream/artifact.xml new file mode 100644 index 0000000000..10ab23d9ba --- /dev/null +++ b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/Android_Sense/android_sense_stream/artifact.xml @@ -0,0 +1,23 @@ + + + + + org.wso2.iot.android.sense_1.0.0.json + + diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_sense_execution/android_sense_execution.siddhiql b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_sense_execution/android_sense_execution.siddhiql new file mode 100644 index 0000000000..2304e2eca3 --- /dev/null +++ b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_sense_execution/android_sense_execution.siddhiql @@ -0,0 +1,87 @@ +/* Enter a unique ExecutionPlan */ +@Plan:name('android_sense_execution') + +/* Enter a unique description for ExecutionPlan */ +-- @Plan:description('android_sense_execution') + +/* define streams/tables and write queries here ... */ + +@Export('org.wso2.iot.devices.wordcount:1.0.0') +define stream words (meta_owner string, meta_deviceType string, meta_deviceId string, meta_time long, sessionId string, word string, status string); + +@Export('org.wso2.iot.devices.rotation:1.0.0') +define stream rotation (meta_owner string, meta_deviceType string, meta_deviceId string, meta_time long, x float, y float, z float); + +@Export('org.wso2.iot.devices.proximity:1.0.0') +define stream proximity (meta_owner string, meta_deviceType string, meta_deviceId string, meta_time long, proximity float); + +@Export('org.wso2.iot.devices.pressure:1.0.0') +define stream pressure (meta_owner string, meta_deviceType string, meta_deviceId string, meta_time long, pressure float); + +@Export('org.wso2.iot.devices.magnetic:1.0.0') +define stream magnetic (meta_owner string, meta_deviceType string, meta_deviceId string, meta_time long, x float, y float, z float); + +@Export('org.wso2.iot.devices.light:1.0.0') +define stream light (meta_owner string, meta_deviceType string, meta_deviceId string, meta_time long, light float); + +@Export('org.wso2.iot.devices.gyroscope:1.0.0') +define stream gyroscope (meta_owner string, meta_deviceType string, meta_deviceId string, meta_time long, x float, y float, z float); + +@Export('org.wso2.iot.devices.gravity:1.0.0') +define stream gravity (meta_owner string, meta_deviceType string, meta_deviceId string, meta_time long, x float, y float, z float); + +@Export('org.wso2.iot.devices.gps:1.0.0') +define stream gps (meta_owner string, meta_deviceType string, meta_deviceId string, meta_time long, latitude double, longitude double); + +@Export('org.wso2.iot.devices.battery:1.0.0') +define stream battery (meta_owner string, meta_deviceType string, meta_deviceId string, meta_time long, level int); + +@Export('org.wso2.iot.devices.accelerometer:1.0.0') +define stream accelerometer (meta_owner string, meta_deviceType string, meta_deviceId string, meta_time long, x float, y float, z float); + +@Import('org.wso2.iot.android.sense:1.0.0') +define stream androidsense (meta_owner string, meta_deviceId string, meta_type string, meta_timestamp long, battery int, gps_lat double, gps_long double, accelerometer_x float, accelerometer_y float, accelerometer_z float, magnetic_x float, magnetic_y float, magnetic_z float, gyroscope_x float, gyroscope_y float, gyroscope_z float, light float, pressure float, proximity float, gravity_x float, gravity_y float, gravity_z float, rotation_x float, rotation_y float, rotation_z float, word string, word_sessionId string, word_status string); + +from androidsense[meta_type == 'accelerometer'] +select meta_owner, 'android_sense' as meta_deviceType, meta_deviceId, meta_timestamp as meta_time, accelerometer_x as x, accelerometer_y as y, accelerometer_z as z +insert into accelerometer; + +from androidsense[meta_type == 'battery'] +select meta_owner, 'android_sense' as meta_deviceType, meta_deviceId, meta_timestamp as meta_time, battery as level +insert into battery; + +from androidsense[meta_type == 'gps'] +select meta_owner, 'android_sense' as meta_deviceType, meta_deviceId, meta_timestamp as meta_time, gps_lat as latitude, gps_long as longitude +insert into gps; + +from androidsense[meta_type == 'gravity'] +select meta_owner, 'android_sense' as meta_deviceType, meta_deviceId, meta_timestamp as meta_time, gravity_x as x, gravity_y as y, gravity_z as z +insert into gravity; + +from androidsense[meta_type == 'gyroscope'] +select meta_owner, 'android_sense' as meta_deviceType, meta_deviceId, meta_timestamp as meta_time, gyroscope_x as x, gyroscope_y as y, gyroscope_z as z +insert into gyroscope; + +from androidsense[meta_type == 'light'] +select meta_owner, 'android_sense' as meta_deviceType, meta_deviceId, meta_timestamp as meta_time, light +insert into light; + +from androidsense[meta_type == 'magnetic'] +select meta_owner, 'android_sense' as meta_deviceType, meta_deviceId, meta_timestamp as meta_time, magnetic_x as x, magnetic_y as y, magnetic_z as z +insert into magnetic; + +from androidsense[meta_type == 'pressure'] +select meta_owner, 'android_sense' as meta_deviceType, meta_deviceId, meta_timestamp as meta_time, pressure +insert into pressure; + +from androidsense[meta_type == 'proximity'] +select meta_owner, 'android_sense' as meta_deviceType, meta_deviceId, meta_timestamp as meta_time, proximity +insert into proximity; + +from androidsense[meta_type == 'rotation'] +select meta_owner, 'android_sense' as meta_deviceType, meta_deviceId, meta_timestamp as meta_time, rotation_x as x, rotation_y as y, rotation_z as z +insert into rotation; + +from androidsense[meta_type == 'word'] +select meta_owner, 'android_sense' as meta_deviceType, meta_deviceId, meta_timestamp as meta_time, word_sessionId as sessionId, word as word, word_status as status +insert into words; \ No newline at end of file diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_sense_execution/artifact.xml b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_sense_execution/artifact.xml new file mode 100644 index 0000000000..f2a5be12eb --- /dev/null +++ b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_sense_execution/artifact.xml @@ -0,0 +1,23 @@ + + + + + android_sense_execution.siddhiql + + diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_sense_publisher/android_sense_publisher.xml b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_sense_publisher/android_sense_publisher.xml new file mode 100644 index 0000000000..f2da5e909b --- /dev/null +++ b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_sense_publisher/android_sense_publisher.xml @@ -0,0 +1,25 @@ + + + + + + + + + diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_sense_publisher/artifact.xml b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_sense_publisher/artifact.xml new file mode 100644 index 0000000000..319b77ccf7 --- /dev/null +++ b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_sense_publisher/artifact.xml @@ -0,0 +1,22 @@ + + + + + android_sense_publisher.xml + diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_sense_receiver/android_sense_receiver.xml b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_sense_receiver/android_sense_receiver.xml new file mode 100644 index 0000000000..3533805799 --- /dev/null +++ b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_sense_receiver/android_sense_receiver.xml @@ -0,0 +1,34 @@ + + + + + + carbon.super/android_sense/+/data + admin + device_id_json_path:event.metaData.deviceId,device_id_topic_hierarchy_index:2 + org.wso2.carbon.device.mgt.iot.input.adapter.mqtt.util.MQTTContentValidator + default + https://localhost:${carbon.https.port}/dynamic-client-web/register + tcp://${mqtt.broker.host}:${mqtt.broker.port} + true + + + + + diff --git a/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/Magnetic/Eventreceiver_magnetic_1.0.0/artifact.xml b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_sense_receiver/artifact.xml similarity index 87% rename from components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/Magnetic/Eventreceiver_magnetic_1.0.0/artifact.xml rename to components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_sense_receiver/artifact.xml index 4a9272db8d..5f7a73ce59 100644 --- a/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/Magnetic/Eventreceiver_magnetic_1.0.0/artifact.xml +++ b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_sense_receiver/artifact.xml @@ -17,6 +17,6 @@ ~ under the License. --> - - EventReceiver_magnetic.xml + + android_sense_receiver.xml diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_sense_stream/artifact.xml b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_sense_stream/artifact.xml new file mode 100644 index 0000000000..efc77622fb --- /dev/null +++ b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_sense_stream/artifact.xml @@ -0,0 +1,23 @@ + + + + + org.wso2.iot.android.sense_1.0.0.json + + diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_sense_stream/org.wso2.iot.android.sense_1.0.0.json b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_sense_stream/org.wso2.iot.android.sense_1.0.0.json new file mode 100644 index 0000000000..f9048dd33b --- /dev/null +++ b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/android_sense_stream/org.wso2.iot.android.sense_1.0.0.json @@ -0,0 +1,38 @@ +{ + "name": "org.wso2.iot.android.sense", + "version": "1.0.0", + "nickName": "android_sense_stream", + "description": "This hold the device type stream of android sense", + "metaData": [ + {"name": "owner", "type": "STRING"}, + {"name": "deviceId", "type": "STRING"}, + {"name": "type", "type": "STRING"}, + {"name": "timestamp", "type": "LONG"} + ], + "payloadData": [ + {"name": "battery", "type": "INT"}, + {"name": "gps_lat", "type": "DOUBLE"}, + {"name": "gps_long", "type": "DOUBLE"}, + {"name": "accelerometer_x", "type": "FLOAT"}, + {"name": "accelerometer_y", "type": "FLOAT"}, + {"name": "accelerometer_z", "type": "FLOAT"}, + {"name": "magnetic_x", "type": "FLOAT"}, + {"name": "magnetic_y", "type": "FLOAT"}, + {"name": "magnetic_z", "type": "FLOAT"}, + {"name": "gyroscope_x", "type": "FLOAT"}, + {"name": "gyroscope_y", "type": "FLOAT"}, + {"name": "gyroscope_z", "type": "FLOAT"}, + {"name": "light", "type": "FLOAT"}, + {"name": "pressure", "type": "FLOAT"}, + {"name": "proximity", "type": "FLOAT"}, + {"name": "gravity_x", "type": "FLOAT"}, + {"name": "gravity_y", "type": "FLOAT"}, + {"name": "gravity_z", "type": "FLOAT"}, + {"name": "rotation_x", "type": "FLOAT"}, + {"name": "rotation_y", "type": "FLOAT"}, + {"name": "rotation_z", "type": "FLOAT"}, + {"name": "word", "type": "STRING"}, + {"name": "word_sessionId", "type": "STRING"}, + {"name": "word_status", "type": "STRING"} + ] +} \ No newline at end of file diff --git a/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/Rotation/artifacts.xml b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/artifacts.xml similarity index 59% rename from components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/Rotation/artifacts.xml rename to components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/artifacts.xml index 7bbe4ac500..a03fa2c2de 100644 --- a/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/Rotation/artifacts.xml +++ b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/androidsense/artifacts.xml @@ -18,12 +18,10 @@ --> - - - - - - - + + + + + diff --git a/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/Light/artifacts.xml b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/word_count/artifacts.xml similarity index 70% rename from components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/Light/artifacts.xml rename to components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/word_count/artifacts.xml index 39b009e53c..e3a25034f0 100644 --- a/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/Light/artifacts.xml +++ b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/word_count/artifacts.xml @@ -18,10 +18,10 @@ --> - - - - - + + + + + diff --git a/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/Light/Eventreceiver_light_1.0.0/artifact.xml b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/word_count/word_count_receiver/artifact.xml similarity index 88% rename from components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/Light/Eventreceiver_light_1.0.0/artifact.xml rename to components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/word_count/word_count_receiver/artifact.xml index 604e9384e4..81cc820090 100644 --- a/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/Light/Eventreceiver_light_1.0.0/artifact.xml +++ b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/word_count/word_count_receiver/artifact.xml @@ -17,6 +17,6 @@ ~ under the License. --> - - EventReceiver_light.xml + + word_count_receiver.xml diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/word_count/word_count_receiver/word_count_receiver.xml b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/word_count/word_count_receiver/word_count_receiver.xml new file mode 100644 index 0000000000..fe17694e80 --- /dev/null +++ b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/word_count/word_count_receiver/word_count_receiver.xml @@ -0,0 +1,27 @@ + + + + + + false + + + + diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/word_count/word_count_script/artifact.xml b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/word_count/word_count_script/artifact.xml new file mode 100644 index 0000000000..be0d2bdcb3 --- /dev/null +++ b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/word_count/word_count_script/artifact.xml @@ -0,0 +1,22 @@ + + + + + word_count_script.xml + diff --git a/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/WordCount/Sparkscripts_1.0.0/Wordcount_Script.xml b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/word_count/word_count_script/word_count_script.xml similarity index 97% rename from components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/WordCount/Sparkscripts_1.0.0/Wordcount_Script.xml rename to components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/word_count/word_count_script/word_count_script.xml index bfc3db8795..e20c5bcc44 100644 --- a/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/WordCount/Sparkscripts_1.0.0/Wordcount_Script.xml +++ b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.analytics/src/main/resources/carbonapps/word_count/word_count_script/word_count_script.xml @@ -18,7 +18,7 @@ --> - IoTServer_Sensor_Script + word_count_script - 0 * * * * ? + 0 0/5 * * * ? diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/AndroidSenseManagerServiceImpl.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/AndroidSenseManagerServiceImpl.java index 6c6ade4bc0..e5a794f509 100644 --- a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/AndroidSenseManagerServiceImpl.java +++ b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/AndroidSenseManagerServiceImpl.java @@ -31,8 +31,7 @@ import org.wso2.carbon.device.mgt.iot.androidsense.service.impl.util.APIUtil; import org.wso2.carbon.device.mgt.iot.androidsense.plugin.constants.AndroidSenseConstants; import org.wso2.carbon.device.mgt.iot.androidsense.service.impl.util.AndroidConfiguration; import org.wso2.carbon.device.mgt.iot.androidsense.service.impl.util.Constants; -import org.wso2.carbon.device.mgt.iot.exception.IoTException; -import org.wso2.carbon.device.mgt.iot.util.IoTUtil; +import org.wso2.carbon.device.mgt.iot.util.Utils; import javax.ws.rs.Consumes; import javax.ws.rs.DELETE; @@ -63,7 +62,7 @@ public class AndroidSenseManagerServiceImpl implements AndroidSenseManagerServic androidConfiguration.setTenantDomain(APIUtil.getAuthenticatedUserTenantDomain()); String mqttEndpoint = MqttConfig.getInstance().getBrokerEndpoint(); if (mqttEndpoint.contains(Constants.LOCALHOST)) { - mqttEndpoint = mqttEndpoint.replace(Constants.LOCALHOST, IoTUtil.getHostName()); + mqttEndpoint = mqttEndpoint.replace(Constants.LOCALHOST, Utils.getHostName()); } androidConfiguration.setMqttEndpoint(mqttEndpoint); return Response.status(Response.Status.ACCEPTED.getStatusCode()).entity(androidConfiguration.toString()) @@ -86,7 +85,7 @@ public class AndroidSenseManagerServiceImpl implements AndroidSenseManagerServic androidConfiguration.setTenantDomain(APIUtil.getAuthenticatedUserTenantDomain()); String mqttEndpoint = MqttConfig.getInstance().getBrokerEndpoint(); if (mqttEndpoint.contains(Constants.LOCALHOST)) { - mqttEndpoint = mqttEndpoint.replace(Constants.LOCALHOST, IoTUtil.getHostName()); + mqttEndpoint = mqttEndpoint.replace(Constants.LOCALHOST, Utils.getHostName()); } androidConfiguration.setMqttEndpoint(mqttEndpoint); return Response.ok(androidConfiguration.toString()).build(); @@ -96,9 +95,6 @@ public class AndroidSenseManagerServiceImpl implements AndroidSenseManagerServic } catch (DeviceManagementException e) { log.error(e.getErrorMessage(), e); return Response.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()).entity(false).build(); - } catch (IoTException e) { - log.error(e.getMessage(), e); - return Response.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()).entity(false).build(); } } diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.analytics-view/public/js/devicetype-graph.js b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.analytics-view/public/js/devicetype-graph.js index 2ee0626f77..f6776ed7ef 100644 --- a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.analytics-view/public/js/devicetype-graph.js +++ b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.analytics-view/public/js/devicetype-graph.js @@ -18,7 +18,7 @@ var palette = new Rickshaw.Color.Palette({scheme: "classic9"}); -function drawGraph(from, to) { +function drawGraph_android_sense(from, to) { retrieveDataAndDrawLineGraph("battery", from, to); retrieveDataAndDrawLineGraph("light", from, to); retrieveDataAndDrawLineGraph("pressure", from, to); diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.type-view/public/asset/androidsense.apk b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.type-view/public/asset/androidsense.apk index 975fd274f472e7e5cba1db27db2086bd57d41602..fb49b9ceeba5f34afc28900483525b2a1d8094f5 100644 GIT binary patch delta 1508573 zcmXtf2RNJE`~O>e6PwzJJ(E}=C}QtfRMj4>+SE?%*u*CG?yIfUqE%`Ku{&r{BUY(e zRaE)s_5J-_m+SsK&$*xH6cg))fWP)ET3uCo{=ZmxTn!fq&x zCF(z#)5&^uL)iZQ*GmVx^-U{1=iM9Xd0YR6wsRTW&|5sJH&mVXe>8^A@aB4o|IQ5s z0M&1(B?$H(jms2F$`riSkts;j%TKuOFx4UQ`LChly)Mzs8#`$AiEa`7cZb1{=;mD= z4n{`iMVe-xd~Cr4KOz&YP|tu7DOvIVB3=D-y4u;P1JM)G;N4u7&K#Cg;Ev=h7IDf+M!MX;PXb{@-YmridwT zn$R=Ei8oE0bHtH1pzs6n%nf+-iFopcM|pub{s#1YB|atj@6BB+#A!Eobk>RgH^?kJ zam3A2w4218H(+Foxb=o7;ydxpRCk>25}(}M+1vlWPJ<4JuWp!wj{ZM5AwIj|@%c@R zx*5gU1u-irq0?6kB$qe5bVMZHHz1OjMCpdNla!?DhS#2wWbvj+iJD~h=8iBu3DpgN zGLqQcFlRE8wBPV(v65)tfOIwzs~do4Cn>uD@th=uH-LwWB;@9)d>)dU71*)HOA>n1 zWY16HeADzENOH3^I#xmd_d-!2604i0ry?ZPH_U=!B>(%UXW}G$H@}Bdnndmfm_bMy zZ@{G-N%757g^DD-H&59rk^JvlGQmkYZtmbzNIu+vDm9XiHy})%Z%IcW zNIY+vHnd2lz5ko8j#iRXeF8{A{3Rj$lXf8fl5q|r6Kh`R`aYfem5|B$PiGe5AL@Vp z`NzfEDKOA2P|DRURN^z~2P>=3GJ8f(;^Jjvr%DA-?INfk3JP6{+1j8KS>3pxC;#_H zdHpMT{j-01U)R(^#7nu)n84@vUq&Z&E(C5;6|=EleNEr_^~nfnb78-<$f92to#W~E zrxuw?)x>e(GA%$6OPANH$9Z{u9bCpCjGa?DLn1TF`6$MC(->>?SxA$fk?US(B)+(b;GIA_xG+v}kNwo}nOfIs27S$XAW z>B|y$hWgM+4+V`_%;lZ1=xUBQ_9+4RR%E$Bx4`H`79Tfk)F?U}8Y}3%#aG`s>SDe` zMcGp;^Ks`6Zz436#e0jLEes1~T$YzlITU}@XmT$cnm=mjAwLf5qb+0HGSe#T4oV`HuKaysDiE9W<-k4FLs3Fw??e)vqRyi!a?^JjK89F4@ke6mm+;= z@G|szzxY5{L$^0=Poaa+BCkKxNRKO;pmq4wMdB7T4(2gu$wDU;ylwO2VLnIkD|)(F z#kxmkX-AgTQbyZje8bHsTFeU1&*W=a5Vp@Lp|+MQ9qHqU-4U#Da}~C zYlXlM4xA!uOTlqBXomW@ie^`F7#TSGj)wBcG|}47^>#<{pRsq8{NzIoIvy9$GA(aM z>H4lAs48IV)vFcp=qd>94$g77t?<6eRx`ZRkJ=l(M+;$~d6tPd8}zPu5D{5pot~ed5dx zUBLSDFzm*KS1TE956BG5WYTi2alNFtVp5(pEgQR>wk_ROjZLjemWD=hc?U*^R&G1q61D6qsqmg&VFzlB*NR@{0PbjefV1-!`GdY7>dz$8P%5M2yIWdgeOaPVv$|0UvPeGB|AxCpXw{WX8 zX6x}}*Fd$Q1`Tp0XpAV%l}>qK+^A}hmiA~mK0l~JoS1#sMhJ{7UBaw0e(stITxODV z@MI{*yRIPdAbQfX>;TJJR@(ENkf2K5>cW1m{I-O@_M5k+LJe}yD%H8rS&2;ubgBk( zHS!!5bOOj)bG2PS<;&13)h34^#PIjgX2Ha}5V~Axob!a!R}K{N(m$(JCi?G;@I`Pis+pRhU! z-H~6_kzdPXAvuOZ>tu4yCEVn8=W%qW0jPB(W>w&G=L9j&acoBIw$0S zlplf4fiu_042eukS=K2LL=IE&Tw+F0rEnC-po}&&rV;0?YG5;}B;OYIj%!WPqZ2FV zbNsZvdrd_>Jc6P{?~b`SI^WP0n6`%(;7vHoX3VV>$ZIry{CzHdv%L~{e_QVX85o&1 zljb5|Q8W}OpDhw+SI-yRIjX>+8AnCqA@DU+bImZ?z&N^A+`x9k=hVND8je>dpo_uhD-^HFJOf}(U3Oc9A*W74nAr{4BvUN;R90L;8&B;q# zTa0(RMu{B`c)@KP(xSTKY=|StZ^%QYjRx(g;+Ytq6Bk9Mq6x-NZE=4wEAY=@?*mmC ze;NGJw`)COITz8_do~l}B;m|Wt~ll;<(D1--<0D;9jQeCl68&4TNyM!-%OvbSym8! z6;>_H9nxmouM`qk*k->@`SMJ6mf>(MLfgr)&d^r~W_!lFiU;wknPLJg>x6!t{kIjB3B#c~Z7vVAUsL)W zHW?A?2h(IU&rY}o=t)r#MDm9U)#uy8ro)hIFPsZuJG_@a4ajY?-{8p%8$u4EWIPy; zId;xs{d$C?NkxoF#gKDPh1#oB?r&cqdo$a8Xq+Jiw&Ni_$HlS_8i~iuGGEhpsQwAl zSlfG8$}6fKmDn6>fH=2%SxrN`GZ|zZSeUxF&axB8t}N%Je>V}FBe#d=nF$IF6D1h9w`fNIj)-XQW=}7xg)gVeUF{qcTrqJwdt&q}uj*N%^OCL<)TA zs8okQveW&<2py-nQj&L#>&$MxE-*`c_@SO#ld$RXTZ{f;R$~F zsAiu<9P_1NK2%9+7ERFY1Fp$m8PF<$(XTM8a*fo;67t^JvQ>$7#g}>xgZ7QOj}qJB zUAhI=Gmqj}4V~E(&Jg)kYnm1pZSmuSe@43-??eo@WTYa*>*z#`HQ#{KCl>jl{ey>n zPn=o*giUS-3^P?vTZC!;^1wA<^1*B7vI%Q-cKorAuDd zoS3tS6xQbGQs)tyjlG3)C%>C)Z9SP&T4hZVxvM3%7auuPT9|&7UcgIGU7e4UPdNABt7>p4L(TWhM z^}Iu`-Ig0S_zXmTo?Lu6B(vF8@^PR25o3K zH2pbd6>RqGUpcA+@${X38`hS%K)7%;?cdy1nl*{?&mX=Ojwu-*C!X~#kdJCOL|1YC zLUIhkKQUD2UkVEMLQ_6+3AsO3c{ED|{1?^Xu*{Y1`yl5-}BvS~$NO3!BGJiGr= z9~$0*id%etOG;PAA;q*b|HO^UV16{(_!wjP>w{33s8Mk7Ty{^Ill(o{m|hvWq324M z)DD`q!L`njd>bWBIAFecnLOBR&Wp2OL&{NdexVl~p*S_K$yV)GNWZUnArvm*Uu^fl zVY~qwwh`wHrgwYn&ag~Q zt+z8hx#GAa&vEfJYT5jnPqc9qTR=Fc(U;nf-axXzIM-X^3zN~t0qHt}-nB18kouxx z<^{bR!=TNU{QF#+@ZX_Em!G~r?a#%tDNW~OOE?LSbPfluwVM%J)_|Yy=<-_oqrP?v z``-(!rBJgdI6d)Dx~8 zojCL8gc;Ojyr>p*S?D)Hhs@G%Bc~Xp0KcTyE2V(8BaazFUh9}A@$apu_5Ar-Xgf^Y z8f11%<9a)j^2c|j;ef0N&`zDNX(~^e6LwmlF!8i zT%m*nr~kriadSj8LhZnqV0)m0?<;Mqi)Ks?Nz@62{%kJTdxK-)>hOsY5>gID?EIV9 zF!~L*B2tdp^H^f<3*XOa?+s-5xHD{ddW-@QpCBL3#c6TjnfQq}Bp(-!hMXQ}&Bt}m z9Rqvkiq$37DdT_&cr%m$b2SoT0m(7C1P;jZZ^*>%|l*% zeu&cN5M=^le;G2WDJo`~t|VK@;<7Mk#B&rg$b=~!HPCuEjbaU|RvRdK@0}k=IK=sX zA-W91iswpK4Ury#Utv?wWxx~kE57*d+$w?MQFAKsCeBr$PuuG)PsJu-^SX!_D_}GOr{py+AYFu z0OVM=otSMrakw>B-kmmVG}f3=D*usX9Wj&56o*5WbF!+DOI>r4aE9a-q%x-xO@NEX>*_8Ykk#&`g2s6O5 zuGavo3x~)u{4zc74WZ$dH2@?u>yV(WBTHbDkC)M&CI0C0pQ1*Oi>FKZz1R33Jihzc za+Cf-CL`lXD3z6fsO>$rMnQf}cK#S20; z`yM9#E6pt>sj5Gm@nU|lY zIS~xPF_=TvS$s=QfmpjMyM+yMgoB6iM~w$S&nvo`TC-?U-q=4!q<)VYU!!QXGpL*2 z8h1NVV8iRDBfgG?b{iMU+MGTf3A!qp=8HvtsAbZ$d9V87Fm}*mD2}&5T{sbvb034J z)SGGq_f$*t&LrP5bR;dA9|21RCYcN>OZSTYXBuRy(s)oo3kRs=n~?=`i+CPiy`a8j zt&k&&+@ni^-X z>?Zve@Kb*Y54F$dh~n{wDfYS5szy6~6s*np#P%D&oflYg&gr=1rY$1g(V&m2`m{>W zyjNVS9HTE_e@rv9PmoSh%3a2OODZB7a&I6{DZRHqzrzgHZUDJ+&WL`&)rnGs^V=6)jaz8DY3P^N)0;S$595@$|$bnoFEwKbTyB09%}XW^E;%(Yas+k>W?ZJGBFNIZ9DcWxd3QenURKEvM@xf+nwc>#y_I@e3R zQ$$ow<{H-;#Duc!nJ5Gucl4o_H>YSEG8qta7ZkZ!R)Y_0MaRYFRxtL?#6}xB0@*tI zjrNbS*e-QWkX!pY6z8IPZk*G_JTy*JsqkP&yv(+|edJMOrj4*3d zeac&kt=XB*mer*9*|9o)yQiydg_T_nkv7tNl=P;ckB*IBu zQO&$SsNI=Fd>-qQ5tzi+@(A1Ckz2+3n0-{t_~20IgQ#La6aP z_8Ktx#1bWYS5NMD$SNRHaXFo z%_Wn%HRuHjwPdm(j9z{|PzyL9_&}z#GyF=}Ir?Mwa%<$OZAW2MuDRdhvr79dYakyR zv{X2c$tAsX)L5HiqU`av%5~AA5@%^?k(y4?bxKAA;hhLBBW?0fW9yt?ayZDpMinpE z>*-tfRFV*;Tt*vQ=7q$$^N-t3$)Eb8kL}m#GQ;|mt6W{_lSfyAm)Iv6LjsbKN!`GUf(w$OQDdo|b&o4Y z2B^(|6kR~SKm(KJpU&_P5V$q$-O5qAV6LIq zXh1wxl6g8~=py)5aZJ!5htCo&qEBl#ooF0XO|Qu@>ijw&MtG2VP7`aaMR3d3wbx2l z+rIaiJSax;_LpiFj)`R)7M=h$)j8}SSz%o3G@rw;_ZYPu}HUX zwQ@k)F@IGC=-a3S$cJ^`i?-4^IN!zRHGRSFGsQh=&VYNcam{5$XcCmu_N@44qoL%N z=@Kx`ox48NFc))FB9n3e4cmao zT`pcwX?fo9&~DEBI*0{MiH?$l_$S}RkBOT!Xc=6z<(4k;V?B`k!Ytbp?5qK)(nt3q z9?r!OB&fvr{FK?GUs)1D)KQhWj-Q)j%C!z!LMq`TxVtbWbsCr!Xury8M*YmKU-XXc zL*#TKxCu}4l~dlJ z@1g|G4I^03qS4L1X1T?edcJk7X>s=Jq@z^3>&&(CNN~ym*V=#f+F*EANlLpb1$1H1 zX`f+3=Ql{%?Y#6wnmZ3c|E68edDeiOH_v@2TPwV7JAO;*0A*5hp*MNV-8)^FLF05Q zqI1~7nQbmmcT@piD-pbXhdxmz??10J8^QU!wy8nZv#A_iCyIm?yX~zr{zl!?*gH?; zZO~S^s-g!LjyZqwe`)|1)YqE=N-kiBeqZYP>surU1-Zx?EDTwx5=7xHC2~vW*=%u- zp}XK#*Pu%o)4%PC*}0aHda7cxs0jGD5{tr7xOGeE64wfaFl>t8C`7S!3x<>aM3N$A^FMYABDH?{dkb0% zKAO0bk#)irAzTeJxflz`^1=xFu>2&s)X=GGPOW(Mw?N=S1?_f zs9^>l9)8b*v^$B6!}@6Cntdg7kw{gVLIxx<})zdpe)}6!vHl*AtJ0pEwa){i+%Tt!5$gym{4>~}j|FgM_XhSDjderP}+j(*M z_IsO8frW1eeFU#ZbtJz)3U`_|7)`kI=KDL_PwYoU{-Hw zCZ)xDopSVw@!t2DazTvHw#4VgNtxGysqx5&-YTIe+rF^1;KL`+=1RT1x5&V6zYFJ9 za%kF4iY{mMl$^~amV$QoFV&@AA7luq4Cd|F^I4c6RZ2IUJ+75GZ3HJO8Hop)$tOqeD{{YmX zy;5SC3l@aZ5^dR&V=|1N0CmFsSD;ok2wXX)$1AIz^tbm;)T&wf>?94o%> znA@ucl}XX<@ek4XJ5$vst5{^Z!ZRsL+#cWoNH>op((Bfo&zCYIT?NOHDtE7)RG;Xn zOhtg06gA(RA7vJCtx7skpAcU($23s?Vo(BSQV%-RTs2Pcg&gO$r>5r!(Rk2KVY?9y zv&EuZpdIrr1D87g63}>BdA{L>h*|!>!JN>HcisHQRAD-7oBnZAcf;vaY~I7rO_1m} z$kvn&W}6=z5}Wc~pBk)+!I&t-eeu^cjed&Zdkb;=Rla`tE55G} zQ!uwnsf&i)1mt&MT%b*NmnzyvsMeuH_F*f5j$)=Hy>~`*Gvy!Qg5x1wBMfv*kCKj6 zsuu<#0`{3TS^dki?w`^P`)9?!jhf=}LFV{pMnGapB3thMbSFPNT`<{s4{^wj?)9H3 zTfhkH-%^SHRy1mb=3>^oa^)0GexkcPonU3pH|zwi64F$>a|!%Z&|(klGdtI~SLdH^ zGtwmZqj1>2iuZRkw%pK3ZN|7W-yOF~w_yD2Zem-BLXFCXN@g~f;EvZH7D<~)EhM^h zhMIkZf0-%7`lahXyI}^EfdR2@aDlyUduN_4RFryVCGYJp!`G<+sYuwJb_3@jwY_zg z?1EAY_5t}dhwQg$TS5;WywYhd-aS#%;UZkLUcsG8&JR1)SuZ#UA6 zd_NsMHS8#T&e8AWyae#IgX9^2-Xb6Utl|eQj2g5q=lpx(B5bz5OC972`>cC-hjuP* zV^R2|@@hbK|KKCg!+w3-kY72M$zah^O|;ms;T9dNtWncAYqM*4gv2NNJi%d@ zXdnHfHqw>ikKXUG-%YD3f(~!0pii2StVa+T!5L_d?X*dVVo}n0HUF%nkh1hTuVjlYw1`Y7cV9c#J!f-pln3P zlMn6S1f;TIjV*IUZj1bGtp^n(+(jcSss=ubhR)JIvE>5rh7nIXz~8n5zWDN;5jy8u zW^ti|__fBxxH*IoH;-#Avn0nTi^g0$dEO4rFylD6d1|R7gs?u4KlRGx;Uc*5v`rba zxdd{U7mkK5TOumdG#@#yw@0(8t{PnnWLg+iVf2tyuK{>jj%emD=UXjD7b?UH0~W1#sQhUbytidK4=L9zQ1!G060;5x5fR>*POP*qj;SV+SePV!l>|7miU!U-H8}r<{Gz&;3HDQ44UOF90^-ZOrgX2U*QA zU^`;9#+Fwg>mt>GJ6566Zr!@sy`kq?u-Sa!E z?wbRw4ov4s?_#{{g(k|6vUxJMS6yvpgzPvTf~!`}p3Ked8Fk z^Eo1-Z;O5Nny_a4yBj%3QUN zf)OT6^_X7yZ1BnPFIoA6GJWd7xZ@f-5s!J@CauXt!xc&`)_=J_9j0&@T;~56w0l;6 zKwlE7+2S_&+8+2h;4hk~<^g}lc|i%YePi8%0nX~wMyUmJug31V$y`Axvc}d0XSgEL z@;QZR33lgA@FxsyB;QE*t5GhVtSHUU=|s71;I;OY3*n1)>hZc$38P*wI1E0JSmm$0 zcbVw5DEQaff77=vFxKX4T1hrWcrIk!nT(!d$?4i%Ryn!Ff@WtxYHfd3+H({{$N0G8 zd^&{#!}pyhxQ`dN&f|58ivo_RkiD^21V_VG9U1)PvylDTS}>u7A%U$gl5| z5e#mg?;jXC!bZY$W^-2i?&hwTTtMOi2jR7+qB`_-ZRI01@E?~*V=d0vq8W)Tvc{=G z;=eZUjb9wZ)_6PzsLkbg?X8j~PjyMxdJU4$9ij@iCXxbVw;p`*$NYBfsi12xd_)*_ z(qNb8{RUkNvgVY)ZsAMx;dERA*DA5CwDMQ8)P0FnxY1)DsQu?GyzGBA_ z88aPc{LTN_Fv<7YKSAWl56VcLsBlQkN6ZGd*M1|Z*mSm2(<-Ph%B4mmcxS{g<0w9! z9xq$#IVF z;io-?XN@tx4wqFjoViit0@^0ClPF zGP%#Y`DH^8rU_-<8V)zW89vluSU+)G6 z#-b{SRBR?6&kCkdjLqa&A@rC5%N zQbgCtLA$UXqbjMYO&et8wJ3_Q+0u`2{@)&-60Ev~Ahi*5Nk(u%3$d0e>Dwr@lE7Iq za#CVTNObn>Hn$Cqb~cg+z+6cS4Kob2`(3a0CpmvI+@c&{FXVfHs!;IIE9MsvF(F88 zlmrJb*3NK6LJv~J7Bz2x!vWMq$y$=;ZPU`Dy$NEZH;XB4oolr1f|lDB_juMVrz6dk zx1~3YB4sw|c{lLqwLol0(;7>crT{Y5xM_=w=_k1$krouZH*TT4L%%&Q?_;LeJYX4WAKG%6#E$EtW^rd zLz(19u4h^_Hj~hvXIy~GQAio1gP_3nkan3_^Rua@bwU1KZ4%l-tgXhgA|~-Leb?Zy zVKIlp$FwTR6W!H!CQuc(m35CwiroaBU`-8{TMFMIKIMxy;c3s2$buwq!EkOB%oP_X z?EbNz4)LYUe;sGUg-&=yMLYpa`f>< zYqGHGPE!Xo>wdT3o-f$rpRb_?hyqlFkR}Wf`{D>QDX{|4d!t37Hl5;S&;R&Iu(rwT z!(_OMKx{s4jdLgB89>_)75Z+mWO)zh<9l4ELfxf3rW%f<(OekP3Ha+`R5+p1e=(-~ ziJ`vy!bzlFZ{}Mu7&Yh0&PQ&en-(*SV}5~-%8E)is$p;PXu)hnLJ`KzWeUtZVozX* zMdSwL-GUazX;R|EO)WX;9(`h9{235e61^wD?zJ4`Nb7t3^H}81E%8tdtfxxc5S%Y4 z4a(xuN$^CrI8VTR&~6wdN3!2omE|vfxin0eC7U5=fZ<8e!s2SG-u{HF52L&-Pg|0# z1)k@guDsP`Yl`CBWr?I~@e7BdF#~;E^L0Q92%4T++YS0D;qNGH=JBs)cx#3S0tc3N z4@jp8Tq*(YZAikll4)~b+PUW!tm*6nw^XwOkumJxQVWoc=aeJ6uwIvLx=dmq$j-aB zf;u%+|ApWMWm}hCO6>)p)OL(ppkS1gjxnlBX@%ZBu#7}}?|zUoe~0dCbEBCu7^b>k z3^r`-{PI+#l(0^ZnzE}6S14vajop6JlCHQ5PwHt}1;9RyBi#cs5VxD?-`Pw^LcG(E z6wz*ctz;%+f3Ofb(@eje5$7G6}R?8yttPzmA9+s(b;boqMlP`9GN#$C|j=9TL)c zhYe=;ET1sf5dC1EBBUf_C|`~gyd5ksm8Y5is!%5j_KK zNG2gDDwjMpN?Z)dUb5eSfsvDM%c^8+)TrnCgB_TzW5ZV?9?lf;OKdWHKD#rPI&8@Q zY&sTcGfd~h^cx*n3xCc&VmAr+(fTg-C&zGbm3<4{$tFDc#TXmGBWKpM3D)6OUN4IbOg#(^cA)H+ZBQ;Jw4Qac&+ zx%ax{w{IOukc{J+(3P^Lbv1oe*^vCBTukQP@4e0Aksg=ZdgY;0^|1AYAqz(Ms|vrh=F z^}N2Dm1ExSLXkQ@?DeeI?B|E*-FGR+%t&F?$ePKBUz5r`fB8;N+_}DXVW}CfJtUax z#3XIC4raoknFW@YpeI-c1ljX>%}tSPb)D0LG_@*ivgB$lGGu9}&fo29b%o&;^a)rX zE`|$q4~JceAT0bVdtv`3EFTk0bdu!sFuQratdC+601$?34;ko>{CeVG4lV;Xqdg*7 z)F7VYV$L8GjhIYoL9RYKhvAyg0+SZmtDPxM9|kpl*Q~f_Gy>s_<#9{`TBCV5+MPJ>!G<4K)uq$C$${K=olXWF>8$x-WBQ_xcP_opdTqBAp4*PYmX8)b zZ|Wn%iox+LT$_TTfmk`QnV7?-O~p)I3>1RZV)+6t?DF1(PoaLNhvmdUWNXM>Y_Y7y z2U+Z00&z5#2;wUzrIOC~I<3*-ybUHM?yX7p264}YO*4!MiHo0;^K{^%dg5el*=^mz zQ4TPj`xi1Lf8qRLJy<^J-szMb44xKnj{KR+0B;r8M?qCU{lm zvnqV9{os>ds^w5xo`d%a-Dqlw@X~@djxk$Z{Yx9_tE+^l0>`jFIv*Vu@(+KG}oR0r|RHE9%T^D*rKr_-nmd+-LS4PODXhs4;MFz5j~r}zW zbK210=BHcuKZ20$F`~)i+)!lRhCGYcP-uu>&Y+dOCUIg*wsNGk)l@y{`ohSg)=ROF z%OUSmzXZ0(^J_Evf*32)$NxN)=4-4F5i+L|>xu~iPHexJkzrq2QhB4S^Tgo4T9~+a z3YxRBpCiXfOA-4p-%`zBa1}>j=NP@*qAj91=LyMY%aNv4;E?8D`6Q&C^*GOh7Wzv- zKRCK^T^S=_cHf^r*5cCK1hep7nBWJ|oJ2p1fi@@G(Ecc;gxBf<|KOQ61~5s5>Az@p zbw3O`bgGy6L5o~Kj~{Bc6?IOW$Xj&jOm1$<5{v^s>f^Fs-7CNIH|6F!jlWx8q&*+> zeOv}9V~U*9R+&Qsnvh#?dX#|IJ!pKmYz^h}oe@(ZXq?>M2Iy{>VOq%d*cyC|*e@?5 z-(hG;9v7bG2}&R&B218_OH?!J%XAU|=L+6c#Cj1TQ=Z)TqIP_RVr6@cf=ki3_NjkT z$KZ~L@Z}vw^Q?lS_?ePJoSQ;Hm>$M>QqNuAtXwM1QL01{Imx|z80-;N$;aYlsG!~Y z^uGN%uXFGy!&y;UylLiXnxkM+7^3^dayq_}D}84ol(i-4QMW*d!WIyy)u^r*S2S#& z-%?bHSylBtt9%=XE{71}!~mSTB)Q_0%QE9joy7MYAYoctQ9Y~TnNkX&mO@Dko{T>E zqs0$&7OyT+%l*hA!_;oJq*B6>so?DQ^|#%Prra8VkCedJ4R2?)nB^l4>#Hi+QuaZi zwcj%j@Rec{J42qEEk!Q&n;g97-7oDxv|5eY7GLI4De79%Cb%{w=+CkAe<391=xpZ? z)wG02H)6B3j1VB@esJRDejlbGg@KK120KD%*L#aA^E@(M(L7h^#9h7wHuSjX_Kv+JA^g5Gz+Trv zNRI~1h(L4SoVWr0boKQPaz75qE+!)6%BZkUs;^}neyaE<&uh$dGce23ZS|yHSK$f*NKMI3qR0zX~SD_R%RdUjT@KrK-4Mt4i(D+fD8|m&sAHX=E>}$8+ zzF{ySSw1UAAl|f`HOT3o>Y_=`*MXS&OPxJi=b@jj)$Fgl#&z>sG6NTZDXwkrm?-KA z6lNzvAdLtuOfTQZVcL; zAJHm1NG_L0@fL~dSzJK!p4;PDzzQjXFcCeML`a+**Ve5W`7Ym4UCREQk)YRs`5uFd zO(9r4!QvT$>uFVS3e`3A(>%+%9T-cyxJn9s{RXLPWISe$%poKiKpxpn(McUXtw(&_ zRO!pCsgx0HFr?+2PU2|txcvt<%2eh1`N1Vl+O>wpXnWj~wY7B49#3ZyW)RDLq^17M zJSm^XF3p-El+)I@JTD2txw^fnl> zLv6;*d;nU=s-;b`A`v5%M46b!B&VTFvvKbt+deO8>D09r$6abxMR5?R=hhJF{Q4OL z&Pz%cfy>dqH2nKH-iL(rL^TLby__BIRVtG( zt(7dUoP45OU|LU_JK!rJH(fP*wfU9Tod}_}{IA_e!C?S2jTv7lufj3JB_Ejbha@AM ze!6%GE_4WfA~lihDBW>Za5nOzp!)+TZU4lLdCq14>~J_i`B&3nY^Lyqp)2j5&Y|0k zWtMHOAT`>Z5q1IFVY`fg*ni;yDbgl8Pzbs-GRT=qnUL_&1Ai=^ov??mXW+N2;3pI# zf>@EQF;SRJDc|!W!^HP5nX7L}atz77_ABu8_$W*2Ip)aPMo55x*BguI6AKg$gzPi! zcK2GO)X})h6Resj2f%Ucxrx|pc7alm8*@(KkihGJWRFW7TXov+^q!0>pZav=_mKg>oZ4m0BrjX}%`p4bHNk#M(-`NiM?=x(ruv_GceQ+U+ z^Sw}pf40Y9_cM9QD#eXP6M6yLK3a#Pk8&+l%vKFLz5InE z9!R04q+RRb>4d|GwK?bQU>Kk8r5-@T3t+f+DIwQ7!esO1CbrjbYZhW733=@I;6j^flO_QW)7Xdc$hjORoFl9R_CENE z|AHEtnCn{2x6z>ah)`ZDNcci8lTT-h&SUVGdS(x2^C{e0QV7e1(OLSW1cFFd_E3)*B(Xq=$+|HcED$z4BeZS`T`a*|Ek-EWgBWLltWEiV_ZP-h zs?Ly7A*OufR$c?9?rjOF-Jobp#rr7|GxYF@6TFR}7w{a#*7(N}Ei~MD+`oe}-E1y8 z?p_%WRgb}wWM?V`IgveD7!bVTKL|5jp^g?%fr;pl*Fnp37B^TPMDgGK@ZTZ7Nj0;c zdfRK%gglX9ROrQF20LXe5v86M&%@cL*2s1bk~Z5BTL-|;@rw6^?ZG&)tpobn`JTx+ zs+JXNU?w($_G(&@m`cu*5y^TQ#9S?^Su`a?=U;Mtw!d3($Nk7W<|4?6IlBq(8xoKU zC6uCpdnlDP;3@jQU%Lqt%-=QA!lTt`}!*kS>71^AA z+%2^FxhX~fF~2^GAEzq9Y}^}2suU%;Mc&vQQKyz2xZl%5R8mm_x0 zBw`$d9NZ~STm3~qE^bxOl#vS7M0l}ykbAPqxn%Qxd-gjM`0VX4<_SWu+4=V)zU5oR zKk2{65@kihRUAyO>D;I!21`(=oiRV62{`<3N(-NjC`jZFI)#~LwAl*aJ|p#clx^jI zX;Chh&Y+SjhP5-@%Y?Q=6#stGtwdHDlb)=RWWooFhdr_1qrH{mtO@V&4{f=HXjib* z{_djh;FdE&3^sD~9oFZLCeQ%I{N&K_{z zquOzcc8R(0$^S*Q@-;$HKTa=YU0U-#(Uhi^SorA!SD^g;9fee1Yx9CAij8HAv&sil z{>wIpcK`qC%;cxK&wGS&aR|r~JJkaw-vU;*XeA9Ja{%s7G$`rBLRqsbM{{4bPF=7T$NpNzsjShNGAwM`_RGD_jAh zy>SjH)0o?`nbV`qv&Z|Uo)T5d`3wpNwCC<0?D81MnjJVBwOSJ2R212?1MW3Uo zkruIAV!^D5qhEfv!IJgngW{$1zq+I6gg34Pu_+P!yl%OrU26?sYw;OnU;CDMwtJQ0 z*Jo!dh8v?CB!+Suw+)ET3H^+ZanI6%3WJWAW6mM?b~)AYzJb0%=t0(?4UfBhu#EZT zvsmVqsiANw{%65%GxpjZDR$fbx}?Tss$#=FfTDK8@a7wfpIiV5`N}H++!E;APc4d~239U>^I0K&>12T15n+t(a0koA zvJGEL`*jM@NuY|~`HKV2t_A=5)Z7vGL_f=0l=PImI`-ie49*Ufe>h^^Fo$r=-H(!Y zX`x2@0^VP?1l|RcJUTjvU!sI)A|CCSuD{~oRA=-Wr9RXRrXDt>6l%m0OR`%+t;ldur^^0(?}<5=gLlTL>=6rcN6(k| zHZB;B##xsd{VMP;9wV3$ae=Cwh8+RfvE^Yle0BH!D3Oz=1!@jG49CQN7$-$;SDEt> zgViZT!-0TGBTQ!4HFt7c=?!&{uuiJu8%k}vSygFn1!B52#?{nOe($F8zgFiC^coHx zTiYUATz_b5m87V!(r=fP=}|C{HlFK!iDvv8?|&%Px69#eOTMWDZdO3}$%twBhI9pf z%Hj;x-i(9K3Vp{d>ss0vQU6k<@NdyBwjOP&?@$m*ZK~tSk7y#uSBIf#!^h2YG8@;+PGNl66R+PGAw5 z`LE-Q&;{}Tx%joHzUp&YR|(Q+=>C9qq?Y9f8<-*=!qw>{Z{P7C}Q{OGRq%w zea&O!E_)68Y0*K@Aj8N0IPlxiF4H~d9x+gqHQr+N?K!H1R~_rbR42}p{}DUK0!`?- z?@)N;#`TlW?c=+?ygGFymU!Mo;l#7s9X!mQ#Nt-Q=o=)z9A{1Zajwi<#o@v=ty0XR zn0)c+S(SCnWaoNrp1F#(p4dc+{&uK>s(8c{G)vsiDJW8z+zJ6p3wznAPDwIdijD zB6OyPlJup$zI63 zr@AzizrJ9uUW>--OwS&4#iQucbFnWL#K+wWmbgN>p?Uk~4=%F)&&9En8k3olfUh_7 zoo1P(cVnOIp>ED68e6?s>F3ZO`_n!L85QnE=Hd2qvdgCB{yqDr=PWlOf%rrx|2$Is zpLH&I@^I-QD!iA#Nino5-Pp8ODu|)nS1PJ&4Kh=0wIVdQrn$beBQPHk zig&XG9k^>~zqk7}Ins$?Y8fr$+~!*hcS^XaO%{ZsL%8jg{Jz33tIvxkJxHmH0_EUU z2eB1hJ_XGr&S|AzaysQhd6n=&4dTG)golP!OBlTD-RIJgG#S0a$~LGw?l}jEfvEF_ zU4wscVTAV#i@RdV5qJdt`(Fje7uxV$XrNk{yjW67TD&?=%7-Kr?!Uftv(-K*Xqlcx zj};J9%(pmql^sROMEg$th$?4oS6qtuDT2$*^6;udNs2ln?@qnKiAH`am-a5=Omj=s zy2jh7UeHAHoSqRxd4Et+>9dH;93zeZenFv*>SxE0?AsT&j)f|(^tteXYx~OoOY{Xo zTQbYwN0Q%sEm_Cfi8Z_B^4=LQ8rk;Onx_s~J$g_ve`-O)760qc)AQ|ZY_+^0^)8-9 zuQNza{!%44!=8|}jXYQS>APkaJ4FtU0g84(vYsOwpsB0pKURfK3mHH&oXZ= zf88yZ09|4zIQ);t&+`0~t-`-fkSd)RNjtrgXLw_ui`r{zyB9U<-sXvg{G*Yr8$T1D zS!(pzNIAF@dRlADtBVHDU5O?Rn#{`kMQlgP;{>UFuF()QA#|xqGl=1d*(AFrKI{LF zOw7A&G}~Gy4JITZmzb>Mi7%!~GOcuLb@-e@+3n+cl#)JFW%pyzUtj0_u+bvy!o&%s zS8r{jfPS)@;4xWwgoz3Utf-uy^uKF0`klh9*sGbCsC17jQAOvc7mr929)C>8#Bl+x zTbVXS+9%4AA-%%zU7SO!BH-*J9iYo&s@1 z@#)gg_?D*p;=O`*upEyl04PO34ipnug zpY{SDu1~+E6fXo+VO^yLCUB+6M272d2$GdVP!Vu)&qm_CrVu|f4+yj0ot>b;R?sxd@#GmqZ#)Uped$>AlXs}c0 z!}?v-9N~2E&P3_{kiU*_{43Xt#G4$gfy$1CUGip|ZvuX*OetGC;+~??2q*7(aF`?y^~>q0GCNP~;W@1m|meHc=9H}ecwr&L@ZMWL{5b?(q8{`!aAK4<0U zqMfJS#-xe2&u;0gsigD+s`#bT4V++$5epIq@mBa0@k~i5xaX z-hTc^u{XBhQkyi2lJ{JMtmi2=FuiAnBgep%d}oiGDIrj&@$Z)rEwJG{j0iDbelmDI z@QjZ2PPre}nR}A~sRtc+MIAV#|A10`YC&p!|K;1u334h>A+UEmN(#39*(gPWs@zeO zx^~51M`H6T`fc1*5iZABv~Sfwrr2X#e819*CoAQON6^X+aPs#ZP<&7{yt;hoYMkxf z$)pm04!1lGxRs|x25i7nY&|_A8GZ3Tvxa`FgPES`QARrW=po2PdEbj(+a#>7_iX0>zPX93?xlKd{@O%;p;g09#?=Wn5-1a5&x2&W#j>Aayi^yT2U)CKVn{6 z6aW1^dWXV4St}`zqxKqQZ{feVEGktsqi^mwjajTCDViSG;Jc=j3`Gw7BQ>5 z3<*JV?Rh-=G6psESf&r-g$<3t2JnhPuvT1+FxJX$(=CsjC!hB#ZGx2SZ7`^$h`Q5w+W(@-dQ!G(QPVnN_tyw!}~Med|I;ql!3Ij_ot7rqSmEAsWnJc=#G zo!lD~zF3-L-scd`@Fc_MbDSEzT)sil{Ihl1gV#o%!@Yo|7212B0T-9pl4a&kPp@Kn z{nFe@mM(=E>i7<5Xl!JTe%i(HHuPI!RS^!JAG9I7A?)DYseY8yw_=g?-)7b{T0?jzraDlOo0=PD zUyqW>DPA;11iH`BGSl;>!{lv^09{7YjWw4O>5r?`&WcwLJ$!zuPyb3&4mjZs8N?4K z1mc>N9LBT58<*ua4s|BCdfk@3+xE&}EQRTCc%Mu`bpB{HD{E4<%y$u7pSBA^-Y!Z8 zJ=I`)Qn8uHWTG$|)|qTFStCC9q|^RImZ(IZQ~U|78|c*qjp(4mtmC{^=OL!-Bpoj) zfx)^LYvJ2UXO4dEVdoa8G&804B$a=2o}RJbmDLT^ihV!G6xhA>EU!{>;(ZT#9}c}l zDT$r@LzA_LiT4A?K9O*%Su++%U&pdmRu{M{x*y{>-11*Ig(2$V?WUPKlfCwA6NF-j zxZS0}84J72iM)eD^A~?aXWf6n!M#u;1Z>hhk_1LhUrs5zIg?-%Px0T4F45RZ_@x>RM z+`&~`!=gP9l9NsQoTcY1I(Tj*icn%QgI*_mPkoA1c}XfD1}kZ%gHQ0>MDe}t04?C1 zV)R=|UX{)(=EM)%zt}?=YEchI1PT9#?!Eqre_iRijsB)PL1;TbIfyzU_qM6bx^!ND zbl0Mt-kH3P!(#0=`2j^8zgf-|!oTG+EW{mEP-3!Z8lCjke$UFN*%LqRRmTURRx&-> zWwwn$#u?~Q=km?$QF6UAgwUM=?haD5)F*uVPF#s88l0YGjHqX^sZ4%bru{p&WSU78 zyjJ1;GC&+kGExdLMe2sRDKOcY90_;S#Py)E7FTDGaAaD<=s5+Blgm=_s`WpLj0Rqb zO2=Vyt#T+C1FZqfobS8C_hmEVUNW;LA$4llYL1wSbV_(frJZb-8@WH{#Cx~_!*pV- zqCq`G_;_50@m!4;g;sk&p#ftG+J)JnP&CY=>}&j(njcuJ6EU9TC1TK#_egQ32pSFX8*nVxkGIfsN?%r zr1RX5XrKaTTPDAz(`j>>5EH?@9gNJH>O6XePwkekooch&4aVKOu+k~hqjhU{b%FVK z+o)q;&BKdHN@@!AmI#~?DrH4Ih_m;}5cF?qWxpxqd*H4=a&}m&AS$ntWV?8uI&>5#6N+#n(^GYPi$6 zywB5+I=l52k{?ju3->oxdeV7*E>yreY0jY8t%zf?O7Jw~|1f*E+zL9isG+%IG3_*B zca6i7u*MatPHGG^7mn+)=id*HBxM65ZZ=%h1=^8DmwM+Qqwx|;q5`=l!k>qSP+|LL zLk)V1$o(pfe^&;5LbVIK!5eNoH402=vOR4`^$$%6G1X@+o9S8X;8m^voxM&Fx=M(1 z$S%RPE4t`^#~5w8;duu<(;pE-(X5937s|o6KlNR3rO#2;s@@^?8aRp@7iEse*-cCQ zBGYJcI^Fe7I#2mJkpS?YY#U*MFs3;4#|ubBd0S;?;1wb7=C)F*$Z&9Ib5VYTzZ!fP z)JSw;q0Q*xnhfeC1rD1f%}mb%Rb1LQp4-V^?^)ZB+T60xMJu)%P>OaRk8gB@*ZJl{ ziFvb%#bZ1IRT`$$At|XX!uqCf>cFKC5RW+t5Vrn-Ac-CMcc6P>#X({m05TLhv8tgpZwdl(y3@)LUH=c^7BVN{)H; zc#p10ljYoPuwlZTK;a2PAt<%?9o|=Ba}lNU9AHgWtICftBq`~=Fsgc!p`%i zP7dfHj5i#fF+uOu?4AY`K6vX#5B-QOhH+v``_nBL8xBwY+J!nx{fNVl7(IyGtXYB={4j>+397gnrXS+w%ToD|6+jR89Fo7gp? z%AT1l`UQHqukSf3D&@~>y2EE=;68m|O%g~rpPYKYN zL+Y(gcb&CNc=|d6Ckx{TbR-b3L4oNK(R7!}wC5z&?2$L_MN_TRy?w+~v_CGi`No@w zdAXl)L*{$-#IK#nHhXqSj4$SY(Ej+XPh5e9LDT^Wp$9M`2k~T}yF>0pm#~^FN{*ec zH|5_v3Yn77`ldBc$`D~dPCF{GY;=F;MXiJzj^KSM=)l%gH+Ccz5-sP@kbHVhI#^yh z1d5Z1 zf5wg22flfz5B(lDhe!4a7zfL_LIprH5OXCqk8^tF;6=Re=u?K2=$rUTpXC`2gv0f& zvv%j94plk@OF?i5H~8w+Oy*3ZzuvVUCy^usDgi_7JkX<+b!2rJDg31KwA3cifOd9f zpJuA_e#E(aixhWcSm*_AmX(~FG8w$6X{GFVL~OkD3^71RZK_k{-nTSY`o-X+Z)#L! zJBU=l??%jNU&JFqBPkgWJfve?)UVAQlcoIPLPSMyjq;nb77#v^eoSJKdmaCgE}l%I zDJj|3TOdwMq?-{#4<@wPwnpis3IyNQS`4=k1{q4YO*1|}0=J}G7}v-73GuAqd2X6H zo1FNrGFI^G7-WvtnwG7&NZ-`D$?g=U!Rgx>${j;0u_4t{pOpsF6b)<}oKM0`ba{1A z?hkKun}Mt-dnLbKy}bd8&Mm=JUK|IB2m+nR^3FO4NPJ4eX_Um`Xo_kF?NMyj;eJFq*nE!gCF4$mi5Av78t8>hc z;~WHKB#`;stZ%Y!; z8(eO(gaA#uQn$`HRb<4cwi(ZO)N*z@3MGeCJ#wjCd39o!!!d?`g}Vy>;_bXt@Sp_Z zoCK3ymIObO%1Z@k$VK)VS;>`QH<&47-nJA@oSK()r+-oBMlSJadlJRca5`!1>Y=O# zab4nbSH|wrWOWYLW0aj&MtEymU=Ev?gMov1@2w2eVP#w8;gwNkpu7H(SUB`Jet`T?cP`r?Dqf;O= z?u=&Jl7Tikt1FL@188O5qeBU44CCo-8x%kE{A2Xq(ESA(n;^SFsnm9u_T8yYS&ir% z1Nyo=pd*^HFlwbj-qoX+(r4`pEiX1*w8u#lZ7&5PZe%-1+0%#qd38Z6tZk69>gUAc zJ*R8Uo<*5yW5wCqp}G^k9jcF_^34vUw)Dk1^yp(XAJ*|=+Bb%o_@w9n!(dt zyb<4ZpQa$ZtKuT6>T$~r9$^T-G5#$&6xE|eKsN>}*`r^DM1I5n!K2)qFb=%F{f=zM z8gRCV53lq0xk406(0%dnR%)^|m?p_LNpo-2mCvEyUF6IrBM}NBWj| zGQ>z?7)l(6rke)3jD6n2ihiA-R5}Ie85<5WnU&mG!q^$XOY2rVmW5IemHf|eRPqe} z_2SsvG~IqN384$jk~r88oqcsYg>48O++;A5*ZeUA5+ z(DCh3{1KZMdukb7G3p)05P*K^gTPsGnZz>3&)pm!($^9J=s9eaU5^&O&UbeTkj2I3 z!I5m*v=o=HA+NHND)V(LJ839Pv;;Dy@5NA9O=hLx-k!RQVbeQnkE?Ae!T~LO|2RVvmM#J4z2vn^>tl{ElLM}pTkj8=czI}qWmPArts8kNA$LLvwV*p~#k|hS4 z==k<&L#A?S>8#k#xUPi2`?`*pu61S#MJ}&Ke-?MC(p(;NIo?g_&r9bIqK@~gh4*1q zzK*Ayfd>E0>Ws2Me5VqBqdtXAPPn_l!P;o7A{v6eOALoYq&CZU&M%Y@7wUBN!Yz+O z{AtMQjKJgg5mx?2LBxxBdor19-e;q4rECvaVzL=z2LA7fWGEy~gk6A0vq@&$hSF4@ zEo#7xbgi{YnvWPHr1rjt@7_0}fz6+jk{g`Vepir!TET&N%eFBL;x*|P_GKS@`VCBu z5);G~!I4dXFJ95nXHY*oigeOs)-Uj))<1nVW&`{#N-U`C-MwMRdCL8Re>rxw-wuA4 zou-{u;jqMv`ugrQ%2S-;k$7e6(@(Xs6;>Axxf15?4!^J#;_x8A8_rwp)1mF%LMSVp zH*(!6>=3$a69Zx&2i+QRdFqJA+ZKq5UsQ2Vd;zhwkP&8kx$7*}{^?kS`;b4VqPw7@ zDp3xM+( zDqtM%uvfP4qM^#ixB|*$iCOK(1i1~3c$&VXD1)K6`Pb?!qitZVTE8Mq#^){2m<1W# z0E)~&FaJgl!hD`=n6QwSw`Xaj?MXhTTV>$s+Z(O1N#wEleEtakhVe?D6XaEA58x(m zvtL*lar2HPJl=aS`geXFU_FN$U}hXom30a*ySr2J@2OdZLd%a`j>i_XTEDc&81JUSc>pIrOLP#%9qacplT4q(9fQ9nkPmN z71NZ`&b0>cdiuVy9EnW@@yc3sG*S<(Y^5B)6)Fb_u|$a&XHcamH2 z>uf0-t>UQ&f9bF%qvBO%m$>;!X}ZC3<{=F>r%$}jXS36RjBZ>gpE#OsE45YNN;eC+ z{z8tu0a%}XxipSR#Zrig*P4a40LDZmgVl3H`7-m-TzTXmL)PrfbE&OqMo1z9%o;3uL z&5R}ro1DVfjX|>qbDAst`P!$-0}szyva+BE!0kv}#b2|&FR$@(LzsZE4FweET$)y% zD1(QnF# zJtbcn){avezi>V6GuFvLn@oXhtAiI-Y+#o}@|1dj4rz?Eo{qNo>1$@`!Z8Yfr zy$T*={gznddPkTM|NNPfMU&CY2RsJ?o^c0>K`d~PdviyTOHAhUNNXpBail!1gSAZt3gI2Ks+K+%M<_c8>zzTKm zTdwQgb{`ykp}@O&gTS_As`CtYEW`rN>hr{P8XuC%5;WgZB48}VQu?f1INZyNb!mEK zUwWf@w9{cN!eJPl&v3^OTTacX8ng`to!Q8CWj5h+^q?fK0t7Q5uGAg0pl%uuA_sy!Da>Hvuspv%OZBF^3ej}HdoEwF2U4c(6 z{*b1H-%t-w>utj_qx||go5xd5m&)#+|D9X|`~c1%ZphJ$?`W4X)4J&dagW9@D0 z$@uf<&*N*_HD|3(K1HR7HU@LDqF?EC#baq#=epOKNhMWYb!gd3A-pX<-H{s6=_gHQ za0(TK?`PI>Z*U3JvRpokQTs4PDCY_^Y4Pn3<&G}+$7E4$%-lx_9*OPXI+>aV%xSTS zf+S*q2FzC~k(Ad9Kk`5Ysqn~kh%m*tb*)8*Kv#0v>nce$V zltcejYBpo8?SAvxb|8S!o$MO1g&03vseF9BgS-){*j8eRUz+ge*uF>hO$aZ&Ye;u4 z=UXp%;+9>&70hziu-o(uuc?gIj4(fmIyXr>a$2+xVl7EJr{)FS%+g1B}2!0EBq4CjFL>NN&NjSJlBXYNrcWUi_*~n#Z%%9^$PR@fdf9P{e1NQ%J){sD1(1wK4rVL5OlWiF$5NTn)knd!Ig)g z;c^26S8#PkYx&6t2+s{%{5zzPvY;Hd1;0e{CkT^m@fl!0!@HHyal;&IZx`c!Q%tv3 z@VDr29K<6YU0q}|fVU{H_m~b%1|K0%EvHxSdh#X?l_SUirr!60-mT)Q&F?X@-7)~> zuVlIx7Jx?vHoutY$KLQvL+sXd+yHq2ONdDWaLML8iciV!Q^~X**r_W zzt7HIKj!A$b~z7|f0P8<8Z4N=rZwvn%6IpD4=Qp4dhcJhYa5!D3%A)6R9sJgz`afl zhou_E?_Z(dJF^G88HIazC8f_!_Rct7|5A_uqNo$3XBjQiGkg~bTP5Eah(evfcR0`s zfQ<&Ad7bbp!M|g4&mJ(`lmTdluZ#BBct4=PP7;y2wmv!j>MUNxo^YOhdsYK8nNST{%AW)_4F_of!N!)>wc}oj)NPo+~-r!yJv>Db_!@)gEXggH8n5v?9g+DeyU?Q;5K-MrU6WT&ZEtM^03#>c-l2*(6Fx(n<5s0woX&Wg;$#3l)fTsc( z{GmZZ*r|n3==+Fq08hC?>uuI~-ywbYqmrM#-CEcF@{XBYLH4SW`u9t3Fz5>=(zd8^ zq92b2*NVJ3YpK+Os<>5(EIm#iq7`mwhWFb7c7C&SC_s{xeO~1t)wK5|GdU{;GDqd9 zuTJ2y5hEu9L&pAKon7usP_d0mS^*|X9^UIRvM}yh8=;C+)R)_1&b1LrEEz9Yo;`L<8)tY!qqIheOJk0bQ=$4ia#Koyf#VwHqIcoAknK%_QIEu zs9LR@hYXS+e!#d&NI;&S@h>%CU+g;z?aP+Q0;jp4hd5GJKE2-J`cv(cm52rCu!aog z1PUCH3i1#(%CLlzhC(^(+IkK4kK1s2q=~`diyaDq4@XDC&MsHF>Nx<3#JlV5JfCV4 z!_`A@!mzJO(v0t65jx#zp@#p$O25cbOZmsNO`>x5FnKSBMw8`%V!-n6mqEj&mSX4C zMXsD3Oe25j^>NQ!D6mJLi*{dvP)L=#!`l(G}}#;7EK zmf?N#joctBhYah`l}yv?ZA?FmWo-bmoq+BJty8(-;(~H__=rVlbHV9Ta~hg>u}0S1 zTLZe)=JQ3PiY|yA&Z@%W_H-q7(LU#JNa&Rv3O>U6gf4l8uOVf6P8$4YIe;b$G8GMQ z{9x4W8K!8}%%j+TOO&c7OadsfZ^Y68*r+64bu8w^o~3rP`%RYCFqsLTKK&nj4u;Z% zW4?)4OAQB)GC*Fm5MZW{L|AUCE^&{OEB=SlGiLkf8H$S zeC|pV5vR4bLDr-YzvT$~UslzWMl*rYM}>;K+7ebif9lN6PdZ z)8}`uU$W73kE{$G=xNH8ES=-NNH{amXzQ`*LFnNMJQO?C5ug!W;c9cg=G`~V6%`A3 zYRh27n7DA8GxON_L3^M?JzzB*12Tb`5w~SB!_@T87Yeg`-dEjf)9a%B5^o<=OiV8c zlK#1)z|U)QFr~rq{535+YABScw{7Tr)jJA;rpQy%fISI(+pANvXlcT6Ki4Y7qat+Z zv&)&%HgE9QT;vt`ruK&yb5Qkl?xSsgWQ*@$^gV!{Y%bQH!8k__z&Zkm?QZeG4V{1h z{C`Xqj+*O|!E&Ri5N>hu7b+9oIM2HrKXN=!Pd_#{bIz+)1xnhfx6x#AlUXKI@e@`I zh9$;5d9RazA>+s`!sZ}KlplJhgAzzM;?7x*%2_1{}pQc zwjS{+y?5eRJ0S;8Tm}>g6UQmKEVP;T>E|o!7>E*$$(lNJ?MGBWf(`Gp8qwUzg=+OT z&@NolCbl&O8r!oka^K$_xcb+25SbSf05`}OG_v990j97zi7Bx4tr~3VfI$6nqQ7>m z@2fLiPpp|gKa4IU5uwX8lN24$^^UC||Wl%D`U<$GhjL`Gf2D$um-(xki_Qc@f~PfrR+p z#JNK5%^Y=sDrk+J%^7?AR%Zbca-d~z=F)=|io|s5co5L%k03@o&9GN7G0!5y9c*k-+I1Y@NL;uKZgIs{1aq0zlHVKSp; ze(BiX!8ImFMSDyDY;&BJk1=RMvd7nB4HTO*JsD=8r+*9gLzY4@Dt9Vk-sE^&uW`~B z*+MM#jDtrO>}SF$Sr-jo#mN?g2zUDGcO68vfZ{n9h=B1YG)1^paLc7B4!ZTI? zhL+#_UpE2bG?1>f&#FZy+&$_+xh3btm>PR9OHJuarE>?R2_NmRlQLH)X|f-wz1-Q1 zu1d+l?{@|*xQ6-7Sr^To=3Hk9MdC93>vB6Au1X6wFeR{P5z<#@Onwr^{YrPr=)p7@ z!Fp%5-&8uNAd*?z<-Z=#5ybY}9({@`rAExMg+1w)|AdIWoq!KsxUJl&OG7YG`vTz$ z)GFW1uV9HUkPxUglKe8PrKp|peRWRc@y@_#>Y@oa&yJiJE9-BZV|y3x+$uYgF95p+ zi&!95#M5`s@*b?4vNpArIyXjyR>SD-dr;18-55yAU| z>@{vtWeexx@$@r9|3ecXxz>-)b-Ncsc?N6oF77&P^Tnin#@MJfd*1Nys@1<0ZmD!l zClAg7#D9j}m)C$uxBsBYj>TEqZMqj{>fVMozlS-riO3Lb%`$uraid{@#F(qOH(G;f z$_i|?Mn}SJp#!5Ttj-}T(-7BN|D(nsWx%>;cm2dT0p%2OSbS=j&kA<3RS}!6&QXd> z^T0GB%4na{TH1g83G4Y4DSueB9^=TOb8{+U7F_y074x{ga+w&nTu=l94A!F++Cutw z6>PJ3vrktK_p>22LmF)D?X;=+z_chmaiy`p1r?BIS!ipJ48pfhF*_<%IMLkQPgZTQ z-X3}YYMXkPd;+Lo&ukLvDfFy3q~g&jWvkObW%t8=A69nxQl&(hU%|g`;;_~Xu!IGd zrj-l-ByP_(uOhvZlvyg9JDpbr5d*^l@ceyDi_W>9X#VCI*3s+^ua$I96Rba2&^3s& zTnN9WPUyp&NolZ+HPSAABf(HzTQZ|+6Ux(QiaNXOwX&y02jU8vbG87K<}yt+$6&b! z+zTIFs^Wo}g8yw(NpQ!8v^CWf6BWcMGv}sjdw>AD+v4iav_*<)UyuIjNLD(o5 z)~>Lm{t%Vjt zz#QdP`vCthyh6vBhoTktEag0M)2+O23(EU;U-=P*ceLRRxrb|Cx;XBc=Px#P(;ZqH z;rI@v7ZqW(vWG?cY@x7OG8K=NTM~n`IelJP0xEoCH&lIJ76ob(_H)3e07nXj6D>up zTebj=^r9V=k3X?A6KUhuy&zgD1`m)REN-yC|nT&Hb6d(>sP8$AM4%8VaO5Qgu8?R`*gT5_-M&gcT#p# z3JBWe4?2EV2;4&8NGU`hVDcNBgFd`YhxJfM&!X-_1uX@`tHI`VZ1SabiHd95>$0ZQ zJ{Qp8k~5*2Nv;fP^|TZniwKieVqav@jO#U+Q$H?_lv5DJ^*M^ddMIAt>)D+`^Z|)d zf#Kv~{EQ*^%Ls3eP9Xp}hYaFeI)OWv(j##`29KNsmC&rAl~ zh6ZMyAuj-HDQVFeqc)$_rLi^~+V0t4^3xZ8{|YU&k?;4o-Vw$X$PZH9g09;oiX=Y0 zC<`}$wd#VNJnSmlFkr_x7-^FzhXkr6@*8Zei}|c@fY+tDI|V8N!Ef}aDW@8qv3E~i z1)bRkv=!Yrrd`T3VDCGD-K-wtcR3i6|Bd~ zU(+g>Y7B#y$Z1vb#mU_qt_6jn6KSst39x$r7A_o4F%~4yM%f zEiB!1&;5GIUl~y}=m2;s<0_HuN>Y1v zhsHgi)Yh0*Lyl2)4As6}4!4=4*RhUN1Xr{@M5q*w4F#Y9kQXffcFUamJrl^#Lm*$Q zX^5eG>M;GZIcV9!1m9wS>g&90h>Ey7)y)obMUIW>0@rR~YjCAj=j3hE=c07b%BR0N zH7EOd=idir&iWi6@NI>q5Y)k#M=^NVfWdyyenIXJiG({eDVvt0?tcV8Ny$(A|JI*z zO7x(VSb5PTQ>nw=*@ywAGh6wFz4Tk#!8NdG#8Upl7(-xXGzf#Z)VEttdcPmkrc`)% zRSKGlbTBVHAf1+A2z7>!zc3DX3&mWZMhY-ewpvsLkZFg0;$=3m%bk8mrCbwc&y1x@ zxGHmbknI)pU&(MKJR1!(V-R(cFmLqD?t7; zN47&jW!hx|Mds-0JW`k;)ZpzDt~$*toV0LtUy;3mT@Ls!tMHTtC(aLJ`DeKNMIhI9~A{u zvbSCKT77)^ON@o~IGF${4iRwh9Tj^`gu@F&eLZIZIhs=Uhb)#JDel;mtWzKhhcZ)@ zHl?(&BmIYr5B?v$VedZRaf?N_Mo)5OpmX~#0xx*cj=u8gL_w6t`{Vy+ecsJVLn32;>^4AF(5{vaV<7DIE%f$83{m-+WR3FSec7BwPfl?xc0GphhUDe z5!0rW$mLZ_!IDFp(3ZR-tGGFljKi>}q})f%<|P5-}rlJl?w9{*$99h=EB?p&$+$IG7zpj!lcX z6}7gNR@gp^*pT`s6;KGMftB(s&MU996r1pnl_l|W7to zZag#$8b?>Gc)%VzOAO&?@#*9DesJ@D;>Nh)9L+K`w$BQ6=XF}LQ;=W+`@ESS{?CA^ zgNuVFcuoMdK)(`{!|$I++|Afts5=DvzTl%4$C@mwncEdnFt!H=#$b(Oi0YOPu16y~ zI@Q1?LEgOIA*6UB8w7t$bx->3lj82a%gr2u+$CAAAVtTi0aWC-qKou|<_+{8$ubNx-QrH1`2ugSqQ+(1yX(ylAyB0oR1Bt(-1wg)Kos7#t#z!4q?A9 zE4i!e3gU0rU=|`Ojvl^T&TlNEEOT&5#X(PO44QyY!Dnb(x1Q7n^*t%&P?9`6NLIdg zJS!d%{UOSz&pq_hi;YR>6Jl1ZpnX@%9k3@vjqjdnUg&W6uJCaU=7zXxn6FL9g42NZT^pYLm&^ zqW`Xp!Zb{U3UJU5|DUy6hdI#bi;Nf>RKa4z+=1hG8HefHH!7fg&8tL}fkweQmU!1h zaUf?CXcdK`V%-`T?}n{_$jF+Wm267l;Mf6eKQ=Pc9S7%fuvQRtC{e$q5FAw87k4+p z;_YL!J#P3Hzb^ko^w%GRqeN~;zWmf}q+YnKG>Ar>0p8`I@7kL5+hL2xGThaJnOF_6 zBCfkmdw$O|hyu4^esVImL#2j9%p)JeuBgxLh2|L8PwGyEf@VMghCpNMhAVx~R2esO zkxU`L-ar*e=p}1gGMP$|dCSaumD0R68kuf4VKM+zCv2z~%4A|Az3>umOq-$$aRlwFRT7%wFKuU7T>Ms8*M{D}u7xz+^q zF7^P3=SM8cRGKV^k0J1fvHdOq1MU@%wxK|waTdyt;6Ae!hE~xj$`O?!3TQd4swJlyK&NVP5-zi_Hgkt@L%u-|)U;uu$e)wnLa5-}gcm!7>o0BrB&KC~URrkWA*g426TNUje!T*S#V;QxcJwSIy}OMB|Ux?2N>vcdeV*dy_Q1>qQ+7 z+Pn zfeU94Xw16e!DIm%hw~SVd2Msi_0o9=RKk%gpHuKo3st-|XYDjubdq-?{FUGq^GV~& z$KrEuY%f%535MGozp0%c-{{Yo(MG=vvMV3zf~g7{QW|`Y!tgJ)jf)51)LR`YSI}!y zvAircajSDEm=TL7{$g-WLrE}Q#h&TJL=GT?j6v!c@K0xbpBDy0yNt`Pw@-lK4?L($ z8SL|lt~(fFL`?2Nu!6K818+gy0(TA!e=f`wc=Bl{tc7BxTl!6yDcBqRd6wIHJk9uw zGmO(LI6UD}gLOH5I?Y_7sfF~uhEEtP2A+;AJlqe!3bLTwDdKYCt%m}C*ut}t zOZKWo184^uS8rOEE^6@6Ro2Y=Fb9D(0P!UIN$8ue#yf8F2ae(xO=7((8(0I>g&q_$ zrNvaR9dal>zf7C@E_+k8>KhkkQmtcl!hA~g$#u@ZwNw=ign0xYllf2^GcRFiwR z=8po>J4)}N_YQ&}J)sLW6h%4+B1L+MNS7XJAb<*DL#hQ7X@(LAO^_l80ufZ2fFcOO z?40l3JKvp|JKxN#S?jEI);fA1dEbB8<#~P^#KS35pOmtCkMqLD=O&;~5VLLlaE9hp zua#9maen0I*8#s-4$U5S;GN!R|UI^M363$1Kk`W^O&_EG20F%DBQt|yt zH|@kmbiYQl+*(9Z6IcQu!&U{A7}(R~2SQC#>Aqp{u6J0DdK#SrKF&|RIl7Qg!{yr> zv8Or8c;vniBo}HhZ*a40FssqDxtioFLTfK+ai;KH3XC7-2F?pNxeFY5&b~Rj1UGUA zetN&GdO#ACQpB>JjB7wOmG;|UGP(^Ot+r;5m%wJ$+LI$xdu#XHr&Fk8NVXKMW=44u%DCEIX@nF0?yPm-Wpn?UZLEGKSBJSsYd`JSfNQ zrwKo8aCFcjaKUyss|Ud4_lfEHc4vm#N;1B@oTY7~oEClUYdcb0DN)Sl3bjN-H$};M z-oxi3atD|Mu;ubFdRdwNRxY%M+=zV72(akqeE7|S&ceYT@&(b})hM$k`Wl4k6OV^$ zOLbeYnz321e^AN9%DSpef&7NSyJnQ?+J?9s#~iSRdf z&~R%ff&(0;y_&21?Iw2SzNpo1@4JyRfUl}eRc)unh5Tf^?NAXG} z2dbB{V@adqJL`g81SC*3(4denrxLzV!AZg0&v&*C`zFpmpC_RG)#>%JdHpdNn<=&e7$0&4=$ zfsvoleLurC?BE_3iJN9{Ii51nEe|=PiUWxb(jb{3^u>k)&<+Hg!d!Vg6nFMUg&-92 zPA}9I^7GB{{R*`%&kI*=*#N!7Js5#%49R~yIlG;=Z#9AD*`~v1Cg!ldbI#A|g4r;I zl_aPTJhG(!Fbsdm6#=Q4NZ#L5bvdaud${HOQyw&l26(TDCDp|#=H)Jb1|#$k+N4yJ z;=Y$f2q2+WaEr<>!z|#W9XacRJb668Hcwi$TrP@>pql4j@T5uTYSITW3b=~xF0dI$ zgexZ4gZ!FWtIM#2wT-%&^-b~KXF;~C)Tx}ZBT&mG8xEmJ3zH)WYEZ?MXp%S^@rx6U zDG;i|BpUpkt6BtoLk}k9J$nF?X4_4+*gGK%d=vX~6UY~qAUJ@byk)$x++E7*HMxHr zNXN)wZ@RnCJ5aW(-qjF=D*)9*I4!o1b8#As`gcbQ-vy|46< zyWbVoUKu#qz*ppP??+D2UItV&=))vU6xBSDyuTG=j>09|)z~4U%Z4t?w}-S%h!fO@ z?0;)s-Ia>QJ5XSr0NT)n>r0|XwIq$NT^Irvk1HFDR2Sb0$m@;UOt3auDm%6#NQ<nz zcFcRCUASrkyB+&9S^Ala&SYbIL^S_g3;7$Pfplcyre@k`-D(q+i+3$Uy!SMca3|}! z5V%F~$z>%xqHPwH2i4#*G}|w6lWSa=&p~gyNV~`_n5^TVFss1Ejsz1%29R`UpbzLg zT9b7RC{(6eeN#p^9ew+G^uoQy5G3u8C7q?OBSOor=%<;R1&0 zUe^A=QW{-$@7s~0Cjekgbz!i0*20BxSF4Y)WHZmx?mbIOHV))i2(_=>Hl0fO&zI*I zer@Behjq-Mxs<(?>aOms+3&Wxk>L2?q5`b&z#~c}kdEr*ljT;Me;9Vf&_^ev48*Pu zW2_k5q=Dtg-5zF~gI(pvWF|YGzN=Nt-Fp65Z636BAJ}i?RdST+f|}LmEEuVDNGf{7 zv)1Kz{%TXb!ya4E5diQY-los5wYHGrbVKA13Kt2{tvy-ioVAcJ7P?>%X^ZhK2$UwN zSwGFrIk{mI)A<8^MQ3xO`)CQ9S94=l3)0vZdQ?D`PzCQtIJs~iIa^BAoI*C;3>KWK zbmBE_z(-B5FB;Sf!M5ZFWidp>?1_#2fg%cZdTf{&kr9zNn8Pg2tJ%(2@;zbgSOgqq z21)>{XJWVlU$9F_elu0ld_?yv!O$OwqUdO%yEbPiKEhe<`B~t|DvvziXD=WG1P9!f zX%g*MJ`pd=l@jhA7Elt-187vjiDjH3U($XQ#Nj)aI&H>Xk5m92O{ADmlI3KD#|~Pif^# z8yq;fVql-2Z9?=Md6PdvDn|st$Zg=5d?mUc>OJ3go;3%&k!y%VW?HNxob^d%=mp_aG-DgvdfOa6f`=QKHI9Sm@c9MSKe^aIj zu`I7-U<>{Zx{)&eD6V#{ih3N>@@0W*7cYpqLA|g{Rq5`{r0OHsV|KtuUUih z>!+tN)E;x)$V1K>2Ta@7{8#s^qyubkKOT7i7QeSQ^6JvwK(hvFfbEynQb5rp173o9uiZsK~0xLDXD z1CXWV#4j%(GPccrP&Au|Z`kBj-0PBuwPQ9C+pG^$Q<9*-cdXaGOWq)icC6=)#8jxHP-c&>Pc0s!qDKock?-D>Gz$Y`&e#j~?1*G(+B)YB6@C?SbrMjV6A*~A1{hsUB^*(ei zGZRJ#P(JrERsc7GvCkY(!L0G@?mTRnI17$)X}PaNAt*aiRg$wFd zZ$p)zADWJe;`N!J9LxLiAhJ~Y#}#?=^IeDf{c{r|CBAvp3qB&43EZ|xKdyRD4F+53 z1pDP`7-^x)N;4C5a>@m+kpUNqr7*P!#^`10XhP;rEeI_(3_w8PH!ZLeuZJ=QI#D6WiRECiiN9ba z0^u=cX=;&wR-r&|Cl+W&vanAT#Ff#dLQvIH0q4xD{B2I>b!q~^LZD|bbM%HA4K&tl zgX@4E_UTy04&FMyDFwRc$NIkF0m7f!x4fXb*k~d7vaw4P9M&O`bJVQzOZ4QhSqMBV zNG3X)R6sl^UHd|00rc~kWuZ8zy@_R2J@g`d5_~*-6ZB79>;-5bg47g)IZT>)$0+B? zC@K=ds6CD{wlj}V{5*r0^cxQpAOvJMR-bTfnY_MxU3A%I3k&WDi9NJ}+DV~(rFa1u z>#ne4m17f?#Nk>&1Bx;8SITkgL}xAD2}_#%hFaaM zD;&BFv)RF!YQeHJ(XS-$m)Hf&NJkp<#TKDMpmEf_4X~qU<(zM^?IK`oi^Yio2WgJG zdfVcM_OvzF2O!fg7Y3=}6>+q3q8o6XB*F|DUN4+x%S@;wm1!RJG@u4EcP=GVi*!E8 zIjugTMTkKBXrOjs5PQht3X?wAb37W~+Uc@vHNPPflq!H&pf8x91dhl#miz_)AFwRN zOzRtfKd>q1zBvCEGle6Hss2QFTJP~5UFd3v>au>lTOe@=Z7*r0#`6w_H3%oI#Q8x` zBmOCiPyBdGb`EI7bx#zuf@wFEyv1A^4UhE<#lgPic{0%t#p$GTMqzXIpwevO`0RLL zD5X~R3Ok&Ha;Hj;o9z2Hh_6{X>u{H#q*uDV65DtSgjy5;ErZe$+_H#K(*v~;=$Uf$9UcY6 z4|%WY5;T-;aNkBMl%B#a=v0bVqYO;dj{CD*gb+Gv-)#;uZ*;MLr7M`Id!PmPImJHV z8OI&yHd>k=f0wdO^iVMcJ<43j_U%pdL!*M<756MUcPeuWvw`NbTnMH$d3+ZObU+~a)%#0zodT&+rHUTV#^L6=#? zBd?r9IA>+v;J61S6AN>ok7>y|Ge*z|qjR7R;1kz+^9x>-){D@ims76X_vIur_^p5; zFSDy=jr&AQT3CXLcjsuY-B%H||S79VAp-C7+)USamxV<;YbW9w7nM zJrkx4o15(%52X9PbU*+Z^Ty#b6|1N=d$cgs#6#q@S1M3eoaG1!J3t?J+@m}K28&{@ zehzZl=0IY-zODb`;i%Qw+crgK$pE$U1E6&^kX%b*>6=DD72mFS6f6NM=M5Dl8apDQ zSyWy{Nazx1%c0L{6vQ)xd%@s-xTvA~V)Whtzuts~*h5Q@N2ZgD1e~xvvRpJBqeX>L zNd55ryRzsrk4(v>e1GB<`QC{((E4WGEa=Z^={^|-6qzlcP}mh1vOq3EE)FXgCA(cm zh=^*zr3Ug!Xih+YF`%0sn8q0?YPQ^ZQxh+t26`{8tG1=$&+dRl>@CCD8Y~d&#b;1_ zU9ZRz;CFHTpsfS-fRp^@Ek!*v^^rZiV>v=JOw!8j+tBSQ2C<~TNa3#vSDBzkgOavO zG=Gb^ai_RAVNQ-_a6aHSYnzHAEH$Ptc>B6t=&X%Ibt)-s6i6O&_d?z>A_ zSmF5ng42G*;pd(MHsVSda1LQI_VPY7>7$`tTFfeYMaHzD+i;p) zJk0|M-XELziW|-x+4k+h@*BACUMtD>RPTT!xc|b7z*HF>lBm+V9i~P}1F=Gt964xQ z&m`quZr+52ZeaIYFh<_aB*Ex-guwZs7v`d%y#J&!Y*0r7p(Z@zBT|imLHG3z}o0Xsd#zxmZ_9+qjKA zbNYn(o4Ii;J-p5&6?(g*Z{Rr|9&h)T-;B$MBdiIgfbd=M^CLr#aHTAuDKWeZGcPzC z&I1k;uM2~TkBA=hcXh-J^fwh@wvE@fcYri?=HUejpZxdR=i_lyVN&Mw;VSWG!0gSu z(_Vd$tolk14=H2Lb*|7$ycR0(iFha#2*9*#N zR*DVWE1=F=w}+QZhfV1gE4?{6HWYwy}c$k zGJiRzoQafef4VSo=*dR%yd zpl@6_oEDSna%gG%tyBs6dsfnW{GqSiX1Zo}89*Hpfk#g3yPl(fud3>YIaSZf1rL-U ze1R9e2YBRw7;r% z#i{JOO}RlN4Hi7Pu4H?2ADg7ds`uzcu>|Gd0GziDdX`t|>Jxs_Jsr@KaJkp!T>+cZ z#d~8)`B^cyPCwv};)Y(0f8HYg@e&`wz^kx6$C6JZXUyp7gJW4SWR7tZ*INUKcT}e4 z*|WYaCA!{Y$$ezX`${QOs?t@|w4p0PL^X4%9HDUVE?3wBVobg{Rc6rqCY0ReQv2HK z3FA3a|KMhiRfEyoq}f;`z%KO_Kx(0-Lw0c};ICDV*~O$YxKZWr5UnjqLiSK~fv$gJ z<-%Vfp>LU;)pME2y~~GYa46Gq1!xN(cEC*+ zaYXrceC49%-ALi9oNA@G(-nuJ3i<=U09cLxdUan!$%}xZy*daAzbkYp=LdA<{W3Hn zMK5T0n6tghDh7eb(LY>oRr6|+*~v!D9V^o6mKB?ARtn~H*`X6qf;d~74$KQpj|Tju zY1WFw(76z{?Azc|K_7=POq%XBxF8=l&RyDBw!2fGl?0Qg?fAtRCnRA&#JjBKR5$r0 z&|*QD0~n$^`J18wD5PO9-6;&u$bBWbulkNA%Gsacig_7kil1JMJ?%Ox$TJ*^@)3^X zj1)U7cyPh>E}tAU%+&n~RKSCKecL3ixj$d8+kjTu7M)V@>^^-IcP~d?O{`tqMx3?L z^5QBAscf5-1u86{I~i+qD(8w(*5Yq ztuB8rQKT4Qiss8QTiquc7=ti_fDMP>e0-rOJ7-@R}Bdz zM6{=}g0GJPgvZePi(w@?EAfuQ#q6KF3m1%1=kFO2UNB2t7q21rW_ezQb!+RgyW@@< z@+oH(IiD_PlKVnbtf<9q!d;Tp^~93n?xD8@J@Qum;Bwx#?i14`E7@JqV$|`E^Z_VY zN={S(J^^y9bWe6XJE7a+Ot?~Rn!}vTA@;r*BVqA%q(%5)g6Somp^_2+bM#Jh0G^;Q zWs1Z^7W{)VR52ST<&QE0S06@tS3~)2 zsaJsYN6JlrOJ1R@&&UQ3#mmsvi_Pp2g=k4kRvN5X0E3cWRFP0{P5yk`M$*ej@%9^Q z2u6E?rLeS3qI#;ca706^$K1eRqLcwT47?#qL}zaAiMB&l0m(owlF{qqNGunXh?g>F z1T7s@02vOHa>XiLcq24>ph^oSHmum#c5J}uGI`6dCk0^|v{0~LfjK2HPqZ8XZd4Q* ziwqKO>6G(tgTX4V-6XNW=PksI?Y4}jvn#nU@_?5A3jy-BY~xC_8+Br1CzLCqtM)_= zNf9hA1H^O`CS_1yyXam(fbh4twqLuwKTrc9qy{w*&`eyv%uof*nI}v=D*@D-C_Dp{b;*LIfBYC&cj42Z3+=e&%R*bu4L0>!I3olW6m)pCA79H5CF zwEC2RH(8qZ4=$yAq<%yL^c6`%$oul(-5{V=s-Ny(^ovqQOwhlbphH}+Zkv$)%5;Ag2ezv3dl14 z?fZthjw^kHR%g)a`mJiC3supWR3fQN(NjppS?wrZNbFU0cJVK6Xw1Q zX085k|I3iOgR+7Re?h&r_{vsb0jxBs>)RIFXMPK!kmf*zP5?nWbZ6ni6&_F2RVl%7L(>3;@281~GBc!#^1i_LqToHKX;&Hv8Ygm(PwyGSu z`GUcfa=rlXbG8U+E= z@B5>+EJ%ImErU5(XZU;vnu*CjVW~;tw|Kn{IxA+GRviuejHwi8?F@mnOeBBe!tf>|Fs9c?2cR0>`;9YuvRh zBln)co9aKVa0HGML8+hoWwL{@B@15L1Bl^!T2$|zIKhoSkFHQIGOlzc+d)u}LoyqE z5Y|INo!G7@oxvF@jNK;vFvym2`Nx`ZB(S&mV5m7{iV?qos0(eAA{xLql4Gp3cbiG3 zAnwk-m2(GxIi@Zb-ldblE%VrR(23yA_&5WO8Nk8;SxY*fxT|-%L)xjAu=u%iXtwX1 zKpYYRw-LZhW3G-=2={ry*vxk+`wUL7@8f?$$*Q+$P9`fvo7pz2luq@&${%im#b{kA zl(sl0zeO=6L%JeVQ0BP zz2z+#QUm^1?NdzOP|%`)o9ayAU~#f6c=~8&4>N~$NQem9mVx;k#udK0aYyhiR~K1I zAqTXovBtOby6mepyJCkx@#q9jmW5~cMK66t4_q-(OeYXsbm`L5 z$!4YFIPS@&d73IDD5m8ulO(|#MlB-v+&x-cfB>tKO3ILtXDA)0)w1T}1f~AK><5v; z?Mg}pS7FQ}02H(-3c7vrYP077j9tBBP{~pcdSG)gfUNue-9t841ieiVdX;6hAyOFN zMMhS1w%7!iHvu`26<8s!$7!*0v1D=KMRm#aROPH(9H~smSW=%`+9nOsR7#ce{bb5( zHUK9}2?6hTxbfkbk`1|yQ+XFaH4n@a+0mL<7AyZ4Z=KJ)r>vH|5JI9<;E?#ORFDM| zk6@Og`mG7HDa~CdF*_y&cfQF^ZIMF4OxxR4sUQX=kM9U9RWQ=^zP5*Q->}JK16!~t z)|f?`c2?eTX9pJ{PVMG-GUB&l(oqMYt*{VNe;6emR{2?Tj5eZecRL%j+mKXr3RTpn zyG$*p4Jm{t+yI4A-`6(93KqP&d_ew~(JQp8?q>z)nZ5Tiv=(Q>2d4+bTr_HsZ6;Wp zlD5guW4OWqh#{!g-WF)UAAoJhe!lZ; zzkddETw_J_y0%xhCA5Cxorta!rVX9iP>pM}2{RRfUMIlC@_`UcZ`#m-W^TU}(!7Vi zju55Tku%U6%cX2=UAfz$S>2+mPgGx^r5BNs+^sHaQ;wdV*&t z845%cU5(u;A|E&Sl2O*tJvMNGxzH6gc1J|NkrO0`FT*8mplbGpyuueWVMcGttTGG9 zV!tvhnqYQIs{?p0TUC6Yn3Xg0ZAZ$qW4Q++|7M_gB)H2%=H%HEt ze(dg_14kyDV$iClNtwWdFe&3)((VbHA0cqMgB&xM- z{q3%eyoNoL8JtWY`8oXlktIdpa0y`JSwyj|@W0^DAasCwVmDlDIr+dJ)}#4_f5Vbp zx|0@%0G?~NnLM3sDnuH`AW8<@ZrVPB2f1zNe73Hn585Lt4xi{?Ym@D2Yeu2czT4Ps zgt%G^>7J0Wlp$Fx_W^iF5K3Sa=o{3&n?u%38~j*NAb;RE;hEQOn;B}8+aOD zfEN=cpsa;p{3R`H%vY)vV!(U7lAuz8B3=ELZ3`iZ{C!zJ$yL7=LU_~;k~Z>>_8gP!)*Bc zkD)Z2GPfrB1h(oj{_uSgO4KB>rU#_5qzB&0#?7gEX!dIL2gam0%qgF1=utCh%(n@m zkwVMNZ1*!CcBZC`6PBH&v8EJZOYSxjmL5v#x5k6_A<2?2dVzCpLuP$DZDuES8zCf& z#w6hpvkDkYDyduusQ2J?#lY$mf`r!M*kOX1`o1`IW4EQi1{5AS?g+(iC$@9kmF$qT zqBXO<{VwOe&e4ZRF=@NptEV3vQA6+KUl^%i3VLK3#WR>`qFO;~>17glVGwinSq0-Y zFVl$QgIQKLD(EkLH3}r2TC!? z7S76c1wE=2D%l`;5!keEH8@sVASUa^-D}@wcI$k{)zO-~ph^!4-U+<>i<;bPJ|5KC z6UK_KC*EG(sx779Be5iEwVz67ZTGkG!`R^#7(BGP!sPw3%pDf!&NZ4y=1WDKot-CKG`0rmp zobFVz$&F|cXgNX4|GP>HOTJ@r*Y&-ALA=Bv+MR48gg7l2*<2A4pgjPFcqVYM$X~|- z0#p5eyrBmy#*$`Ax9x6W0Gj^(5lZgc;LZPH)ms05Ubgvq;WV7m|F%@4nfx*h`4(tQ zwM=NbwAxTs{)H;I&wPuGt;X{HSQ&@UJa_XKLujPka<4}&QXlgFEb=ZQInjoI8m7l9t>(w&@$E?}+3+v^e_M zHtpNU9eVKt+msI@cjbS28Re%((&${->!K7_P9|75Ne>tFGq@|KOc0^hRxoh*SlvHw z$$!0s=W(A94>bF@`vcN99X^TVHxQ3j1*F;JUyP=acZ$6kx=~mYC#u7mghYt2$Ahr_ z_NpMGGmggPFC|mLW3Cw^16zs*wY|nCbo;nWXJz}Jm*gb(QqH)$-fy% zWA;B@DB`!s2Z#Uv$yyV$Jt%$BLa>9nu&2?YgfmO_dAv9iu+{x{azpnz*Y@-y*)lWr zP%t$3J0}c-39tnpLb*7j7s@nT8A?j7;`A}DpRa>0@n0N-M%F}*3gtAIj|L8{w+;(R zrBt%6tSR>Gwt2O;F5t=!1<3YGjND}8Cv<>9>&eeE@}=?$p<9&I?PIs(R|L| z3Z#)iODwO2OZ@+M#@+whm1U^aV;6J#bOoFqgqD$e>Ol|9PkbA`X>wS#B40OxMgZOX z!{aXsZX!#9a_a0qPRH||Dp^t%ZeVl=4}nr5m8?6hxqWBA*&2+{+1f(2N;m$ciB=Q! z+W4nFF8_C@{a9n0rLTWtm(DzuLRbgy^hP?fdnAdybf^7X^Lnu$<(`wS*uM-5lC2Fu zl$eZacSMMRSwr8}6vw zg#fs5`)<onZl6;%}mxqIaWvZBB6u8`?QIeYO}gLAKjiUod@bH4d% z{y&CN=zkSUrJN_S<<+HruDl|qU+JvoeZKejXnjnY&)<;*IPr59n?4;~+rfJ@v&r2J zH<6voEKGG3=S}nMIr&f96Vz1ycAb-7A&V*PEad~uw_5UkXoy7q-jqi)8auA7`sGJV zEgs4U?NKS&yp`WHr*=KGS9^MM7VS{X?2!9&;vgf*um2D`WA2ZK=gS{Tn8x$UNPqCG zO;aBo@7&~_9N(--J27NpoW^s_$Awp>q*MJxXi4HV2^Zd@Vn^Sf$}mYbyPW|4B-{=f zDRUM%b?*bs{n2S1BL^GMbsnZB~W5mOXWmYc@z)f zC}I;CiJ(Uw!<1*siZ^0N(ijHJ6I5QNtQY}-wl}H6xl$#Ul6Ww=h*F`(JW@Eu2Xh8d zDzc+WU_@wOri=nq2y%!p#7j(M0;wLcgLs)WWw{}W5zIcFHDwr}K!`%TNBqjxIk~}( z;lWU&1VnbEP;!K~2tCmqEfhaN0U3?jkimpw9JBWlNG}nLh!)YXIMOMM3Fbfq9hOS^ zg|I}Rg?2;L!U6^B!T1d6u;oODaVi zhS_|M2%u9MeVKGL?%wwWs%Nc zd@*Cl%Muet?+oj(uJnYnXv}4d2J%IgkHlBe3H`ckk|ib@a|!VpwUx<`*<@Uo?GX6k&=oL8fOlnQsW73P_p+T1+;A6=R2Zfa=do#o)xk zN=bYKEKFVjdyZ5yMC}BpYf9A;6}9 zVnZntZeV(m?wRG8LJ@WE&y0#WEHA*`u#Dc-d1rmHYP1akw^fjEb8FvjQy zs1evO_Yqh`FETH?QfNKf!LSZPVn^5`#xM@10Vh!E1Zj*lCh|5Sku;3Z$ecoA%mdg7 zeTbKtq^v2k4Q|W;hLk;JvY~~UMA0F2tv9GJ3a~$>^f$yX3fUZ4k?|xe47wV_ksX;v zT0+bSNeS!b@jKOzdS`%hRixQc(`Zj?_VV0heElN^s`jIJN0x=Uk9WP2 zTM$!d!#%gY{2uVcnC%^%y)k#4Ha{rbp@qFFqOT!kd$Rp~HSezasmQoMb!>B0*AK=M z6$;bt4l^FOUlsmsMR_m2Sjre`jT_yJ`qSAKB`|h9zJ4phf$_qNKNSiy*S9Y1_UVn4 zec08RE@)2G%v-zRQsuobcd=>Y>r9;a!{&W?BKn%Lkb~h~j^fKFnTjuC7~7|gsMC$v ze!RxI@cW}Q@#mzBj?rF1Ud%WDqMD-6*NS65nVj_2t!DY=G~yGJLueOItoZ+=KgYgy ztV(oRbZYzA#LGh=Y|NforAkaUxH3*G`mYQ>^VX?)8D~0HkoJ1`hZH^{J_=7A*Z5Rm zM3Y?*ZL8OsjbD2>u$abs`FlgUCxhdUhIHBtmQqfu=!yC8bDI~uy%J+2#<(-8GKDe~tLHT29=1l2J!jHZ?*Quh`-Fu%zrF=!dy?(P#y`J`$e$Mxk{-suR20Cy{aL@!H`( z*^ISWYh`RLPL#biU(*$Ie)lIN zxvfrUPnX1}AFcRaM023=d*yseMXH0F<4<-Ln(1rB1V-y(bhUh@1eJoLJRS6C$07&~ z!H>s&U%IC;s&FL9Wu@)f6cui{_Sqvm4|R!x^9t^~%e$|&&nQ}TG9C*4a?4W>shIe_ z$HrThlyMb}bK6PpuY19qf@onpp6yfg zr!17-to~Nhg|_c$KH<57Qq+>|=FE$csyDHk_r?q=uj#4{ zFGnPq#_cN0t+1>|d@xm(tL}u~|BML#+4`$y)70|obK^fNe#@YA}F{LEF(D81@v;4;rJn_lex)+ObGpQD}c zJ@sn!DRB?4%OgzhD|{;^{EAK=xIL=)C8z33VRexdB=)4_o9C;%v~6W4bj8=k%kC9} zx>nB0rkZIBt7oK!CdHoZY`%Jt{pWD9+@!)`^scdOhEM%@pMq)*cix45fi90D1M{RA z1suvdHom>=nE;Y=VSS6eo%?!(!#Q?^*>J(&jY}f)6pPO}Hu~Zsv9CR?JpKd>ZjNg1 z7+a^l?_^dd8eZft@^)RhOWaYej#G{_cvr%0VHQH8-}UtizsO-yUti=MsdFeXvH^6`EX{)c@pfB!8_ zhu*+v+a9Z!Ex%$sX_O;z@*%O5)psS}!(V}$XXi(sT3vEA|4`q<@iHTBUdq?pmaqSd za+T<1=_w>mY)bG(PoA8&u-j@Z@rjV`6Vfa6D%+^Hhwp`1_%(Nn6&HUV_X-TP2pwv; zR{d7vdnj_Hbh6X(o%;Ad-&|sKaih(LcXERz*W;TCHp|x(HJVAuUsFbTeo_2F9{iEr zZeom7rhY^;Za1zDbq>EAB9;G_2P0R;YEac@CeMSAZne5Tewzi!7SHhX+;85F%JMWk z=&?#Q-^)v>6vW~sqV-o3m*&f*iUac+(htI2qD5K>^=U;5Jezw}INgDU&}Q}lktC-q z(h}$BGh#>1meuT_&I2FEtU9F`!k<6J5($n+ODhi^kJs#b-#Iw`rR9*)!4do(Z{5KL zZGL6Yhv^pm$zAlIKr?N0Gp);*#{HSv0rYh{6T4M%YFDEl0YrDBf*t zmbYt2hDHWA+k|b7#QNjK>MZZq0vD(j(xa>{yD2aDeONQQ@WMmDVJT-;4^f>f#pHq9 z!BULm`LgH3e5eYKx1u#t+w!QxL!1@z8dpl{pNTn zqADv8lcZRhQQK!Y=q_;UcQ~?NWPv7-_sSn@<5J0~%~W>51=ORmL?<2B;6y$>W^!Y9ymYg%8y5{%OE zb?S>)19_%#ohw(%{!7m`b?eVuk>GDtbAS&n9NDf zSsB=QW??SKUGT4k?HMUtUE7c2Te@`ft!1{RJ^Z$g#Fcmbg7G`QPI*mUNZ9X17r*#J zo#df{-y9e`dvN%7m;MZ0&<8q~-kCP>ztj&&4qQDip+oE4A~73Y8mIO)Tk)(8ZJ=+_ zwqx5`4MwfWv4ORL{`}${bhl1>^uAPd!?nGX-A{p5JEgb0(PmXCOG#P?@8k!<2?IC( zs0@~9CtZAKWt|zFhRZ5pb1ynIn~5H;j`=yuV=o$Ipmm4!OLJ$=Plm)EjNR1Gw@`1JYIBg))p)zt%>B)c zzWk$zSD226?_J%{Sii}XijX%xzf_0`lVe;k)U&eGh5AZEY&_gj{OG6#2i<|b+-C#$c)J;8h*_N2JXty4;R0~2Lcg~@1_?e^Ii^mH+`IH%LxBexkUw?FK|P% zG}I@{F5_j)pA|dY4iY=bJQ?Y9JB`+{#Cfb8cW~P!P-450eZy@bD84Rl*4uXBOJUk( z?oR^x*1qsu$yjm0!HwHb%L)>;`FIyINYW9^LrgT-Df1|SWYDuX9-Pu(!&edCaZJ8PW`JLbag0Glb*wKAjbUQxQ`CyOZ zV$rq4SL0M(zt}l{9>4bW3&$cKN^6NK(X?WGhb{0GPC;pD$M&?sqB$|L8L!^ey1+Hg z$6lnp{U!w;dwT6m`-FM1w;swtcz#yu;Y{E`V%Q#Oi6^!o!?HFku@Ujb0Zkw1Huxhe ztuvaCg6(p8Pkpj_ew>o@bBJT9KAUCI%m1vE#`hnZOCeJJ3yJo-KBujtws49wzewst zhpE}h9jy8N6Domxd+m=drb;9bO(xHeTwZwo5Y2sYft3?EaSSz~S$)G<@bgc#xeot5 zpI0tx8TCPj1Am^KzwoK@a@V44k7mk1kES-K^Qan80xvGrFzHW3|Ks00 z8?Q9AJzV-RZ&rT#2QM_yRr%*SLULi{;7UcsRVJ1_r&X@zy-$zL4)FbmJgfE!u!PV{vFZA>468Dd?ia?){^Ug z(gr@p%_}iy9SqRdpXmA)opiK*)d`-Y4)0~g_}jaliOi0V9keKmfA!C;a%PLtVymn*J-*m@&sxD`|eexfAD{#Uta z>p+&~#caM9{{@<7o4c&l zXgBMFE71pOU-Vd3eM5e<#6M$X*-QxKeS#ehKJG2;K2ub&Snx2~r{!yq#rE~ub$X2f zzYj#cxu?@unc#3|;sDc5Tx=rWAA0;5*S8+qm)85a_obZVC0?T4`I#NlLrTWxn$%BT zCWZ^vYfS&%P^$G{irs%3>ao8;|EtCMx3rdFQjt4a$>KvyK??Lqs;&w;TY^>ZpAfwC-rMG zO|^AF-N);>oVU}w)ZLYT5iXZBo*!)`o_JRkEwmE1mV4SFa5Z;3zKf)z_*n49c9mDK zRp^@P#V0BrK7qeG-V9edDsH|pUg&x-@j*ecZ%Z6aJg%*lN=32M_vsU%{ z%yYc{Y2!M*pL3#r;l60is125kos76l5!6%p%emkuLt3LJ^Y~xXGs>e|E$)RYv6pW~ zI%Y-=&{Mm%4DexsHt7B26zX6|QTW`|Fn1x!KT-3li(%bg8c+Cl2)M{iK5>5Q@^Qhd zzy47r8cor8n}2w@k!s=8`ewzKvc=X+h5C~D6{@0;JN(M|$QE9#`>$Kp2Cq+0Me=Ox zkUDU(ZraSBbrh5qqkfN2-u7q-9K|n(_cl&%Q@)<|qRk67xpgVR>{j4R_GU5miW}0r zMpyJ{<}RTbB^{GJu9@qj-Ptlhdi`eOB#)q zTk@|2IvU?Pv1H4*^&Wt9lAC{M`vbd)dNIcz3s>bF52yL|#pyetaPh`AOC-+VPcyIaq9^u#rn-hZ+8y|vPX{ps*W!6u>Q z=D~r}!FBG8VKMl+{Mm7TD_DI#5Wdt#M`a4O^g(gQZ`mwbdl8Kib7NbfVVDH(PCQGxJ>jch=c2Yfs~z z+$a`z)0H54f1;he^#B*Dtbu}k)ZA7Xc&I-84e?FupVp?a@3hR!g$Jll+kZLGOJM~`By zv3AMX@lgZEmvEjJ!o*!wQWuF)8+`nMZM_xMv^*MAeI{!X%I8*81t=EOUVPXME-G0R z`uTN|;&WK9W=QqKGls%u#)8Rd#&&t0YF|#YmF}0RMdww@Rc%kNFbCU%phwdMC2Kp= zayp2mCvvneq9Z82tuk`Gow=zLsr?}Lgt_4OFR^j#q}AXW<)0$j7a8uOQL6P-N3nJ# z8vT_0hkY}Z4&*#bBOvU#bZ$9!$GGuxrd>%?X0T%0)>tg{yC@X@_%q z{%#48fbWer)hM#eBSlEJm9)8xdVDX~;YRChq3QNiewlw%%3oG|b9qfGX_4A*CI8b0 z?9aydZKD+4dR=cNxuH&CoY5whW;x~=@k2|&b95N{wWqnbFO~WC7XQl3vmX=47yB@- zP2uBy^MHG9Mqx^39f$P{RIPX1x=GZv&$z^-PMmO7;q1ZYeW~P~=rnaOb@8eCF8LH) zdi|JHh0>Pztc6zn8=f8&i^5<|s4O7PTDU zb`PF!joQtrnM`YzoR1R0n=3NUcrudc$LMcsY9B8!wr8>^fsa^9)*D#4l^}iF`7T`3 zpTZ=$DpqVwyV`tV-%G%T{D}0G}?Fj#) zgYwOPTeBuW-*$T5v7j$E{wja>AR(=d|LP|z_X(C>5Ixb{Z3?iJsnD>oHzna~2gk4U zRG{4dGCfYxX3qsU?EJD2L!kCRQL0sv1uR{&5OuUHVjgdZym?re{4K4WnSo6l9e z-RZVtq1XUb>}`#jE2!P7O7{SO<$c_LvPev)X^zuWW*II9{g(lYm$fgGe2Kjm<%`PL zXx;tjJ*+-w^B-h^g_A{oRag`9nRlSx!-W7k-q8{O9$)9!p_W>r@6;3Uj)K=|^)dGw z<*HuFO}oQG0cgaEl5uI}4p)4n>ObhN_Ouo(Ji#cxHLPMwLjnC=$B1y+);Lbx2($^Q z%PnDvIRIBzY~^a?BkZ@23m1ik)Rr*sKNgx4#zUUhyXjA`r^X96;zr8Ti@GT6DbFnk z4*-5xdUhXT{8781_$AZ?DZNA^QE2<*fIR-+#ev%6e6#!4+g zifGp_$=ZO;_8ki?FV*HJj#Gq3M{Qtcl-pb1cV?*^%%r6D*WKq?62CJ$7zul5#cuV? z*98}6JxqhY3l6@pm@jSn2@<@;TDak#fQ`mSay!)T$b1p|o+Mc)2-;GcmiG30?ON!U zzS1HQgq7?S8h`n$W4KtE#*-H*k|$e}JpuwT1N(cOanY-$k$D%WMf+%abd>auhFx5* zfd0B&;fVoH$=(W&ZDanmHSe>D_U3)LGk}Kug8IQvfY0>`7E|pl);-5B04Ft{Cy2D(pJ}bQ(6Z)oC6J36zczD086W59 zH7>i5WKJ$4D;mq0aL@;Z@4=1LUD)=Ke0@4ylIeZha_hx#aDfv^S)tC&Hpn|^d?*%Y zCU~>Xv#m2M#dg3vB>34FV}ZwdK! zgW5oge5Dk;=FKF${9Hgb!8A~a6Ct5!M;gLL!bS#HMK|OLB|QzRYlMU*VpDcLkX9%Cpj>%TaPUA{5?p-_Cp3ho)by1u#5?EZ&#wqxz z;#Oq0kNVMDmsQm|2rsN_=`OhJ`u68t2YZ`u!np)vl;@K%r2+Gz!K7gXIc@|-*5v3d zyb!u3$#-`jzkFytmb@}y<3nWlyc%Qswp zq&)5I_Jxt?VEOLCR}{-qYU>`zpFjC8vd*OouM?7kvs+Nws*iJrPQY{u~9}=`Eijm;jGIixP{Y|9I z6iXPr=n|U;Yif z2o}YKWnOv@BXyE2hy3I|B`G+ghr-{N0BfH{(Gug#{d>@ej#2cfDxZb&>B?}^o2_gT zKVc95qahc=kVjI^m$emePMr0NB@-75>SBWi?wc|VxoZJ)?9M@2RzS6p%x2;qUQOrQ ztn4ju`Cg68m8_`>QyJD$O+_brXQchr3g)Q*3peRLzW3%|>A&avq_UBH$8BIN?j*TX zDg2f##YWsFp?j!1cdvHtlkBRE!txYnO5yej>T%-=ZfuT^Z(<%;Z@E^%+BU4%?yT7g zi9{s?s*1|N+&(6n?wvR|3@=q-VfV`jG7Rrc1&mt%Ia4=zWlbSq%=&Q1N4sf@`mC86 zkdU;w>MdCzcspZQt(I?_Y79^XdheID&sL)eGw0YnFTXz$bd=uuLVU7b_rBqIFb!6L zes^72>t0bxLrzX-+q}iS^F0CfF{=FWXpgL(s}CYoAtUcB23}PTwr4g4y)$A80;i1k=9Q=GT>BQYSBT3THO_KNxSH6C|1c>tX&cIG%`2r^ zKCwLB{djl~Td)em*)sj3;$0U(rZ+0Ru7_i2{xn~p+3Q2v3osUU4#SnKLcE!?_gLyv zsV{?{v(5Kp72NBzF_q(dv8d-nU#H9r7WV{2zPq>@a<)3+rYhrZ^mX*iAg_CB{<`Y; zlm$*LyEEal1zBmv(C=Pnl960Qyee4Y^2|0D)HSjitpK?Nluha$jcGV*j4tl7DH-amnL$GoOSbPDv*A|92RLp^KqL*G3wxVAGcW9iJ*9V#K>*#k(GROfY3`Py9Xz z*#wgk{a^2_**s? z9olv2X67fGBdpyTqk=9w{?=K5fO3CMUiLfUZP|0@)79YDO2M@B+Ny=Zm~R7QR;(S0 zI25sVy}*lRIuc`w0z|pS*kIDCG0QF^;m?7?1)L8E6bqz_@{f(b92_W|ps0iu`AJ1! zkJN9x9As2SPYB=R&=-oe^Y@$p>e!8($B%9iNAe9n+-Fa;A zv3m-3SN(+BvGK!qWlh*U?48B;X@=h=c;=3(k*Uj5!GkmzzLx_aJ;!mtYxC#o_z#q- zIfX^8mLdDdP!B?q+z^0u9lDvc?zJ2_=;E!`2_vrii5ZCG&5w`kO8_8@s8i$IAQwP-`Itk!ZVu z?P=O_XA-cGpz`~*NBI?UWa&6*ly!TSfQWnat&e(OcH_~*LSQvFdh$ohzslWA`{oF> z^>&-aKIN4gRn>uV_Mb2=>l**&+G!(DR(0F|+L$0BDlT%%(>X0GMVd7Uj^T?t^;ay- zeEf$Gne~F39_<)4 zTy~ps`P;w~56h!BCew6T^^wFXYBJ%NkZ=aQB+WvFdA;-nTc7efi?Yi3*^U^BDgpb$!oDP}L)% z5!E>yu+PMH%xjnrK=nl<)y?fMDUow?@-&(kl<(y}lWn$fS7*3;NE?MI7ocZt3KQlk zeoE8wZ53WTm9mkwP#D!z{iX?K38q@)y^6uDyMtRFA0BQ%3PTcc>nHL5@GO|w+@^STK*i|n>kb5iuy-!ytmd~;7d*DIsd0M>BYcU@iawRx% zP*({S`glRYyshTsA@-gCxlgD+&)Y8)&o%2m*JTr~sbfb*H*wL{NNuD%QH7`!FGGyU z=Ewxp>k{DA=#ZS_TP z_0^h=EzjFse4PxzUrwWx&%U!@I3Hwu-puLgZrw$~PIa~b%NDfqy$T~M-muxG6TO{V z)ytz%8C5BJd^MLho*_^5HVwhh8bEIA#mGbTS&s(Q-4o|ME(T*qj=ID<6vqWIm_C;! zSk^#+HFHl{ziA|dSEkGqVZxMP`6A{pf=Dwn!N*Tw@xfZT3CqOrvvHp_&HW7eA|vi} z^yJ%vk)Lg!^o$seo%8#DkHNBn8QbphvbWFNf}HR`Z>HTNSWQFZHXM=A9+c9^G&7Fa$9zja2GJmXe)3Ks<*9{x95U&eT#&kY z+|~6%>f5s(cMZ_Q7DkWV@S$t}%m2ePLkk(_NFD)IG7& zKyH^k9}78bf_i4NeNGnh#0X(7`C9=c_bd;>_@M+2WG;! zR#>b)mLXBzU;QVAlJ^BA{6vZ9YM+X}khFDT{!tUzZ+8{fdTU#BR(SVecHqiE>Ob7& z{QYtUou2tkXU4zx)i9FA0@ebgC?z0^7T&mkGtPryg z>!4U2hM|fkLqZlIBc_I&8k}SWkX6sJ<>{)T8mPqMD?W&gOwcI~{h!l$#j7mE((UMKBRTfg<}qeaya034{-Fmx?&`>2qIwZ69oPum)P1ET%tAo_gU1h zoCFafvWioodkFRQu7>A{u92v^me`S_6Ri4|mhazb;beK_Y`Ym>|A_6&$0iFd?!YnQ z3n!|O;g91Nns<m>eweVUcgSXKG)|5gWnu&^@eccw8 zV?C%YDWA@wY)sgUl8Ng?|le;Be<2; zF)2fy5vslaWNbiVHlP{>FW5`p>&990wwBd5KI!l$d|wR&gA5Ke5kyC+&y1 zpmI@0jw$xa`Nb^E&Y_S!r0+Q^DVu-9G99a*UfP;u;Vf&m@lI$#Q$1mhjckn_xTqcY zMKu7dR0@)tuDhF9jfw?2_=&ffQ3w4Zx5>iFsSocvhZu#MZ|yepsQLFyavgkZL}n92 zdxa9*e@>R<+Dtdl_Sj7~#85R27fllveD3BZEZ{gshqv+1@LOU-c8d*bOE!xQsG^=$ zo_c7o?F`17|Cw0RmY><=_1*jfPVkW9suGMXbMgMW^Cub>;h3 z&#dQ#3_)_|&77_Z_NydS#@=8o;mytSgIAdQg0XCG^46sgVL)tD^x{inL1TeSRP{?e zbSF`SC`E)4RV-xYX~8(zN!VoVH=?wKsLi`h&{sALTZj=ML;9p6zxu1|MGQIN!Ld&qncpb1 zTCHxMxjphTi@q&Vuk5d8U&t}=@Xg3C@%z}OX?5b0r~bIQ10HT8W43$;6dzvS3HFom zmNEmSVUnJIH5(F81&cij1V)syjhO`O=XaW0FP44;eZS&YUH}a$4&ZkvKh8H0o4$XQ51F&R&{DfK zB*u@VuNQVF>HCyW7*6N879(_Gwh2f=qOKp`1%$t6(lbDp9Y$nZLR617VCllQ^AkwZvMmstqx_KV(@<*)GYKj9GQG+^4AFW>&PRwp@ zSJq_l%gNIAJLNuMh3pz%srUu87trd~w1-V+78Ar;VktV1urkQJwTLg8AP&^Ed8HN7 zDvh*o&)K`CRt6J)rXtzHr5fn*CW89vkuYt>d)JWGo%dIVbf=^+%tq?Q_u8B4HQ0RZ z-nX$=7n4479S2!)uL@ZyFp|*aZcyoDFJaoxtYR0D#!bB_a6W_~?E^V^xc8SKza zzLNAqJnwD{=F+EgYU;ec}EjUy(xh2;V5pKP=Q{a=xKFf5)#I?g?2~*xN7=m>ey9N0HJjRVg{wYNWX#ak#8k!l zk!stpwTINjOEJgVgBKs#tsKaAY>V62K`yI~UobbWCSB>MSlgS5ET+sW745@mSEMDx z+U8~(=Txq}x3%~fr#WiE;&iI)r$yG#L_>}g(Y?bI!SPJOM?V7d4QxvE-?*O06qA== z^%l`K97w5qsOQ^kP$%{)QM!IY?_9eV*n>@HeM}15_rzNw4*y#+cHfgLMqb?@x~!@pvviDG1ow&&SzO&UCcLS zV()lyH+&CIOq^@nKd2$Td45nsY!iKMYi1Cray?yGNFnWw`VzL5S|}YPOZGlM`O}DM zV1_B0gsY~t*rl6o?Dsa{ER}cvW1hX*?5c6>n-Rgld{J~H5tq(-lHPdq2nzppEAk)9 z)jzZsj-Ns+{QAez8Cyic=`bb98#BSfGLwlN^LK+}J5?XuVLf?pjag3)<@|{I$6q7=T8z~$?!^v7on4w5{#uN=-ly>k#~yIJWy@R+Rz13D z942g~<2@+P3((1{6`4)0e2KcPwh5itsb#YxpRiuHJRUS03XXJc$qlZ0v=(fV|FKn) z!H5j>(Kca$V4@Y?VUzSxn2xZF>7CRE*oyu<{87xd$4p{^hBRu}lJlAs5R6%)2Aww3 zIyu~H-B#dqI`}!|lpzcEp<>Ni-}!CBVa}j#-KQrZxCIkI?eS7d9=iIxy)*d)>y~(Z z*3MV7hX+}jWU-zfK4bnSis1!!Uw$uKC1jHmZu)jjYH=9kgJ}GPFK$nM#>j*K1NS%C z;n&OS^1>%i!P-Qw4ygXa>}5E527eniQo5zW>@6I%c_q!b+T_<+K{;-iKZp822ljJW zFA4FFPP7a>L%9yPkJGE$jfmr|CB+FXmnf+8O>j~5obT=dN(wjRUjV++1rM*H;rWe^xBKYr=I z$S%TOxrt7+^2@;a?2isQwA#5+zTcS>Y>~-YqxS3XCI&#-FB2?%~m>r^Rn;7-ZF5> zE5O5Rg0a(|Iku(@yHJz7)4U1!;LV7S2k)Wl9_SV4YkLU`otXu8`$E3F{x`P@{-Dy2 z?2;J;gdChO(Hr~ZPQ{BA8SG$wn%r!-HbDin#|CD5A4F7bs7Lqh(AKiw=lUq*$6~7S zjD%PwYQo}9YEsuNlHn6+nM-~=)+1~5ADCZuDrVau;=Tu=zUmsU{lfl z5Kh|rM9T@{1L8&E?r_iB_~8P1djr*jSVz|F^`NPTWiEJ0ZwWGGIaU%ZkfF%z;e#c^7qbG>FjF}Y&a#dccd;72-*HN8?NX_?g;5ovh8m%Kx!<636tQFN zx|djya%egMs}2{uy$k2K|@5~3$Cwlq@VYvqPml|giny;D26@9 zQYVCmav!jnu1wVP_Y>naltd-BJOQhr6R`tlCLHWXWuRFdSebck;Eo?P_HFn4F!hS% zW>`hIQ1$Id%<5jwn8f7S7AJw}vg-o1D@tljel4u5tDFZ3Fd|>Kk&1;b=D5wq}nsi8NLYgdJoidv?kcx90 zSD!vR1^pN&8vii9sYW1{%PM~#YA_lz3sY+I-*R^JgYm5fIT&R7W7%-=+aXejR{v#5 zr*R{H+Ff~oj#KInQJ<4ecD`+U^&*t_)xVSVZmqsw5y*-O*S32WQM`_c;B+x#!r8{I znp>y(PA54EjzqUK%1-CT;Iv~y(feEn-zxZ(M{BmZ&YVbUMGBqOFE{!MoRL1H22!?x zN2_^Sn;KEkV*SC_^XALU4EUY=>s}&)^V4n;A+0j2BHp6jD{mi_$#5STc(r{kiGuuQ z0OcS60Ty@6*Ku$yxeXD2f4wd-yKCcpU>E-Ldiz!E1>f3&7b$i#yP9`z>x|^1NTuS$ z#a%j1u(_fRHTzwiwo(Lb}IgOog@RLtZgff`%U)yB3m81xgnxl&OyW8#iRYi)v zmpqEFxW1_`qS`)Up=^PwTo{r=rZ=%X zOk>W3>h(0Z+T6aWD=WtLN|fDQs+X{DWTL>MR=xWW-E(P7bW%hW0%lI4aw2gsU`=Gr zsVxoZ)9J4$&WQTl_MDY4Se7xLID9AfSK__+Kf#3qvzJug*3a(0>vm`^EM=qUbLYDO zsKDXl^q6bXnKiBbVNBcmQNYI$@w5^|Rz=lGNBh$)4ig;lyKcSW#8^64*1hrUUw!UNH^w&Cr1}s_{_jUPbO=U@<_`n0rx~) z#ds0v%NnByvklTq|6wR!e=sZgq}h1Gy_8ngr9gA!c=>LE&7e|?)C^)y$H7mGzn3l! zJ|j<$1f|E)UFrLf=12pi{STGQq>~-NA_c&o>UW(8l~Kd*DkDNtT>y9U`b&fPko*`g za+rf3Vp4*1X}37BuSO9PGseJEoOA4XnfcJS4FL1u4V5<;J+vqz$|7ME z3+?{)5@w($qiZJ^-0LK@wIW+f)?mz37rQxW z$NvbUSrPzN|M~k#^AqVO=)v^HRZ;m_Dsaj@{QZt^+LEVBLz0nZsh=$J>4P=z`Ny01t`cOzD<^yMQS2#kTQTMukovc|6Qvs zA|$N8tNhj?qzHs-NCZ-239=-C6pfdO-(i9MIMe&tGDw2azu#K$he*+dn%B_C|HW{b zvArdCiRT1jqg*hOm1roxZS?~8O>{EzeW_93n$Y1mXF!^TPgMx^*-)XsIXZs|yKboQ zORW5_*?j;xtVF~1dQcGrU*%NuUCZ_B#*_HQMuHQgZs~siw?kR}E#TDqKUac)U_t#Y zOZJ#$a|&3l(`5T1rWGcLqwl02rQf2TrR&mhaTPf$4u0!7kLuRdRNT(|H>rrq#8ow~ zqK1?fSzlz8gh5U$+cnLO}gdtpR&Jap$ku!(C9K zLII6kM*S)oxn@cH8GJt6=OPjKfBKE#>d2=LFW+i!DNn z>;@64bu2Xzyh6bf;}(%_oro>CSgz+~Xw%P>k|#v>?p~_=b~gag50*$Na-pihO3J+wu2i z>cJXWF=|M@q=i6iKt$gvV9VLTPtIF%Qc~3h%KVqEz4^jc(M#4F7#fcioVLh=GUASP z|1!V2mI2pn>_MFLj}XTt_713E%1SDWQ_;k-3Ymm5-Qo;?KPlcU>C*j1^`VuxzgG9c z{7nEUvpl-}M*YTF+laNnVK=XhI#(x4w@zOOak~D)3toN0%f;cw6Keam%(G3R?>v^} z=9LBDEMXx(NykaTw*FB|b>yzmFSrz@)xc=O(Nq`d7ZGrbC}=S;I~Sj4dy-8YK%ZzW z#p!$X=$S%<^(}HG~AhPY;ggUULS1%QzfkYmFq7^z8vWJyZU7*{0o>kbl}2&NTx0s zrC+e!B0Z?Cf5pCx{}7Km`El)EX;9e^eB5YqHFG+9=Amnn*o?;S+g zh?+eoDV|fO?i_Bu)6o9ntdafC-x2lL_%Zs`Q(jj42bF9w0R)_9+F+@@;xe^fBgI9d)~?-L z#75j~IkG@A`C0 zO_1k)1@rk;f7;_~C`au%G)R(wzRYe6Oq+L&!pUssdrzBE+GL1!%8Vm}oaQTmF|vH@ zlCo=~)n3gJ+UXB&ghp^JdA6+qJaKFBny$P5MT8mj_p%2B7goYt8wj=j!Di2KOpfGx zSg$FtHh=)FT08qZrwR&Xr+n_Ot^9STZ{|M15zQG_XtF~mY+kP=I?!Cezb=_4Kd2{n zeX=U^3ywxo3|(RWV^9V(N0_!!!47`^0oDH|(2IztP>uv>;4~Sp^7Ib38-I^2#ofKi z%HA0kl~7_JqAyl;s&?ywtQ`n8fs6iXVtn60go4tXH-v9QKYgl*OtTqUryNz;@_o>) z4U~>4DFA2s5Io`c%h?IAQF9nP_`Q`f*O9IcqI$z0kIbY;&e#3^77_Zt9wR;F4u0l+ z{G9;cIDu3gt#=p)J(g3OBRE*Q5uw|MMwrv$!5x!EeSBTO{b4C@1S_Am>9ktL$gpvu~*`pi7`Mnt7N`@Wb_xGvQve z##9U(7!~aR41P=?%$)9G zB|QqqP1Pl#Fz)SO%Cp?T-_2bmWz*}FiMx^-Q)~f(POKkH7^0iZk*7ZpGmO-&39Ast zsLg?dLZ8Up5D0hkek>r*4V3n873KfPIOj^Q$dGrUzs+!GUy=?;N~>4%*AT_59cz9J z3S2dJ96Z+!jOOa5ZZ$}BU!$)aH(Y~KQ(Y9-e?&c>tcutb&hN;i?bi@2Fb{a4yUIEf zeBNb;w%zJ8SG2HJW0;=u66FuwvOqzKJeP(cVB~-<4aee)3m=`! zCAI13MQ9;+BL^NC7W;*wZb3&MisZvC`-TSkn9hM_Mk6$W2Y+ti5)LJ&Ty5jlTc$@LLqsn#eHd&jSda`Wz+9fEbk z{jt^9@HQCcH4qxkMMt?%L~=hE z?7D_yzC%^0Ukx9Na0rO2n@SdH7MvRe(!jn5eWV?7Khg+!1o^*^r-!sfY9dX3hdv}6 z1PT&FI1y15C&3N4{ps+Wc2y%kMz6NPV`YcMU2z^X1R}^MwK@+np-Q?bjZ%qQ?&s(2 ztk++Q7VZ6A3sJ*9xRsOhvMb1{SRS}Mv46Qe%=+LKB70YKQ={!P`zJtr_r)S(U0~HH zzwI!wCpses-?jakNfkui3yx+dX;zZh4krdqVh7aB5Nf)L@vja+4(_ty~L4%G3-PiM8U z2^Q;jF5j@+L{i2Pv)oSQo$H}+kg!z|a?>!P++`{Wg9F0+X@5?(q>h&+HU9w8Hzp2k z>yT+Wp}QDS{|H?Q+AUY&0=5{Z9EcCwhru3Sm%-*(_D3d0%HYz|G5Xg}o_ne1BoZ^cTAmX{r<@QI^Z;nv9@`mO-$viAMx|d`0I%IOSxgK-BQH4 zOLYcdVpHGtjJon>gBh3J_PX|0W5Kl+M)bnhu!G+XyjP#RjEL`_FG_(`kFCb0U~Uur zW)QsRB%%6eLcMKEWY8(}w_Xxk;p?6en0b37)f%Kf$?V~~4R~|i2!To|0>-fhn!f~x zH-BiVq=c`xy4|=)80LZ$_yO#tKmpk73Vr{JRuheDNB5<_@i~W`_KnzX)@2AIHC8Pp zdBQfeuY$NDJCy=j%5$uEN~gaG)cb8u0nJjee9iW8ei$iy2u{`tA%*`$7hk#TUXGm-Zn_sAs9~<1YWa87 zRrQMzKE5(%ql*PXF92KCCB9GwG9}rbab4fW&F>JdtEtr(nMq6nFf#l0AnOczV#ewf zN_2UDm<}0yrNWJE@~~!W@z8 zjgOAycON>bU&iyIr!jj8PQiZIk4dp2phcKxGzdY&?BCf=qmE`~Jria<^MeqeoT&0Z z9!c+{ZZ!!|*wfij%6~QXMcou*GPgnK9^cv^boPdlcJ=5+APlz$E^{iS(B4sD!d$QM zk(pphd$Uc+#tuYivsEbez4m^FLf{rAXx`IR8SdtkFyN4sY@L#oj6R`9qkG)uSl*tp z>?>D`mmnsQ|6>cGzp3y^kWsf0wGjb12H>|6Z6Ae`0hjH;1|U3G2<*QiXAvbBCo1V^ z@h**ycZ;cGfB6_d@ezzHb!&KS^wC$vwPWQeo2*mW`pR`K|_0U^&-|C)9T0Z zQQ`Byii6FBHrI3`@03#Dj1bPPBwhj;bn0*-B`_53K%q2!SUJPoDC_z z8m4mfsbBZ)7;NFek?05bvLT~4%f_5SyH4UiSD16LSF=s*4PMMD!v@aQ)-RiYO8|>T zuh{mfcp*3(?OOhmpr9G%iDTf~eHTn;I^4?9*@tzRfGxB3YD~LWMar*T_suWD(`U~O zSav6A*fbXJA4#~+-tGYcA0Bx7)rmw(f$5+DPJVW^*FO&<_@xyVpK?^mu$Fp#P<9w`z~IZTC&ajBey` zY(McL*3dsZ!h+P{4_DF6Ya~J>`yZZSou9wivUCUb+1M>Tvk|r_O*3XnF%s;IM*L@b z+Z1fNSS<|)jP)W;wXu^7x~6<@ced`xnu{BnN@PD;cK2vENUDCwbPdo?D_!Wl)tgX_ z8`j^c{=j$=9z=BOC55u{lEzB+hQH}3-P`LfOVe!Am}kQUf{rch?WxTn-fk(>#6@%@ z`g2ru8U-xUflcQ%WhOko$be53eI(mXGxx7Qj;;i76NdJ>p-hQ7TMp%ivVYL#iKM3w zQ#O=H?V?+|khV+JDF969MW-E_SZf2cDJnHv3ZFS^`GsLhR@BwQUCi^f0T@jXQbm$q z_O%*S<*(a_^V+jkjzYJg!fl25ZBes+5+J@My);A8qjTCjnA@o?I!k^j+v37Fx^^;f z8D=jD(kWYtU~7>en`LPZs^$$fc57#nrXZ9a0#Yh?F|1s?EK+-kLo$H0OH7J^MQA!8 z$=g6;rI4E}mly)3=YV+v_nWdONH4=Fi7gvFab9 z9wEQp{^?|Fc4Fc39?m#Pd(t_n0l6&|rK?9nOux-OHg+Q5-rkIjtA7DiVEf5;(xp-2 zBOB3wO*0f3=(E2}_HDEwmM!5n;z{b$NxnSY3JrJ>B3V1xUZf3TBPleh346D^lWswO zJzR+~rVgO0%zKqx$4XrY@mgmI@x~|{54;4w>*t7E-oc1e9lEUsTL>IU*{(jLwf4C^ zVe1U?Lo>FOydf~>0>FVypPS#dnLpcR$`6l-=dfR=^9rey{9w)F@LAE z#=JC8WB%@DjlCR6M)h_Y(on8r%0lGi)E@6#FP%3NNb5z?c6o)JliRMZckQ?{(xW>r zPydmW>3ZpFMkKdHW5!T=+YkMGFv0rNE#Ux&ofFte=ooq$EOi9$JH;^ z!gyWZOurg8d;v_>?Y?)Oi|Fmh8I`o2@wK@ZvaG55*Gav5#|`fl##qWNUFLpy?)Nzh zd#_V>R7TtM9LoHnj#*i2^uB@jro`Pqr*=FsBN6W0@Rt(d0+ZlQ>yjmk!5hxocW={8 zh3eHah;_~HU0wwR74F?PuBe3ts#V-wt+6vBH4v-xm@2@#@z-L8F#OdSUcHW1K(*_y z3*ITs(TK$lvrj)|l_O<+Kd@`gDdlMEX2X{coBitD$iNH}w_;|JNKhgyZhG_kFHQ1? zRlccBde(A865Q?TrkyH&RQ2*q@MMnllIZsj=yjc~oCLv}jT*@A?gItMA8ITflO9}= zat>5Z+SLb4u`FOAQ{lKY4$@Aa^noafpr03tZ*G23El@;Fp$b$u^gavKlk~%?X#yit zC)-^7bjbQ4U((%pNrRbP!tsJjRbIRPvhNOXsYr{dwc85FnMmfki8UPLy}x52sXen3 zmxhW~AL!Y&t_9x9p3BGkQ$385(a{=I40BRDLX{~u{@0uNRH{*70XB!seLONvC6gt52KW=pc~OJq06 zZk!_f){1OXDr6fHCfi_!xwGD7%{I)$#MlO724m(q>b}3f`}_NSpXa|kub0<3$8ntH zbFS_EzOL(Yx}dC#32WFxZnAjf<8(5+PCLVMeoyYGQC?g>^ne(tTnx)MqF}#M%1vow zqa9(kUh4=ILfyHg{j)vvu#0MUnz|xbO-oc%n{CZhQs775v=S->oXpGOIV&Yp+dBRd z$?{5-+E%y2&VrJH?HeQ9*s05Qk8J}4mO8YN0@Ud!t%q#nBh9hkU~5HRBa21~q)+$i z)y6xT-|ic_-8aoflVBtQ&dK3k20pRAijSRrk}0F5lq%L*jK#?DF{kr!l_n*l0&Gt3 z2Q|Ag4v0LCQR0ioD~co@+bT(f&1m0ok2Je8(eoaM@e+s$#Ee)271sPe@i3|4c(uH`3m7L!b^>( z*g}Q#U)4cpmPrGIiVchmS)Q2<5B7C zgM&)6tDHesjDomzTD@up2%*P;cD|ZH?y7sDwJ~{Q-^K)T(BKING+S0pe!Yk#Fzq#N z4qu;rM=+*ymVUZ5h7Y4Ra8is4o2~eAro8N8K97E23D_GxR?1qrHx0x8!An?cByppq zRPd)^gELv)i+v%Dv!O(L^0jz>F`!nXROocped;1Os{a~@Qx)j)P+_3;R)~tDKgByT zLB4mGs3;mwFdmQf09MTChjp$ z>)^h{;kf%O(J*aR`;%P_ z3|seRJz{|#F>djMhH2cwrpSRz~$7E_7<=(dM5H=!SD>t1ZKtjF^v{jk-^LA;nD@JySr2#4xtu;ulVZwp& zgq#3nzt(ajI9Occi46g2ORY^vZYp7~Rzm#BIjt0b0*_YG@>E0U;dBD(!hn3q4lR0lJOh>G1J~ z!cacH%;xEX+(0Og!n9?m5MoM=2I|xD3XUe;7>6SS(f9gKrHAtQJ3l?|Wop>sVkKhW zbVKex*alhWyJgYlRmUx`$F2Choqcz0vDgsyz{n9{XIG#9a<{*{ZB~lJVb}d{1<^-+ zk{2tr3ta%Vg@n9H<>1x|+JQo6wS_e8O6iTZ$*eS3iUQ9%l_CFz2?t!p%ys5m%*IgMK3pz|tB={G)htb*fsfoqYX{!bWujFgZS z`AM{+)v`=g7ovVAJ3kW%>d0j)!DJ`XAyN`BaeevMHBaIocy`Fs^+(n!Vvl30y~3r) ziX#6e6egeH(*o~+M1hr)4sD2)^A65C{N&?xe;ZfDl&7KRuH`R3qwUqf04qE?9n!R; zaMqgK9z?ON=CZE-=;BX5-*uTH|7B zgm^qysnKP7j1VeU2o=CrV6+q1oDOhdEoDJj+jhE?&g#*^0Dst&8j{8@95JQNdS5@twRaIkDU(9eaHvposr6%YQ&!D zP-Go*(ez3GFtYa_ZsGJNu`7vGyv}$!+scW}bRPJxSND8*AK90_Yh6MGmZufK$RG|y z5Dyh+Vo)pok^gY49zS3FU?hMMl>qD~7Sg@zvdMrT#wSZO(8;(vw$IrwQp~YMfPA_; zM#0q~l6B2FO70?3yN7iOD*hw7~58T+rpl z4OSf(!u&_|avu?~bu#dYEwAE~ay^JX{aKzT9lh&~0Q`TsBNh+5TyAP$fP61{6S+qK ze{x>){RKkVw-m&#T!4WDLzo#eyb{sqV8e*NqhAzQP>dqI3_8!U+F-~^wDs`khgt=g z7ToJteAyle6)jC5?JFwv8b`&+BODCMeqzetkimJ+tv6fQlkXpOd=w=!0AJuO=-I9N z)Rn)rcem6u?o4z(P39|tYC`QVMoAwn3b~C^j7u%@D(Uz2 zN#ii{>&C#%`IV#FNgraf)s2&^16>P7hCIjZFAyZn;I%Js8TT>QJvIRwha!JrrEByl zw^Z@qJEY*i-2B--Umdk|Rba-%=Z$eqHi1Pp_%=z1Ek`#bcS}E-u23P-yUZ#o-A|8= z@sbFHi@P&|Uy+xuuMH!gjH+MS*;Pn_U=&phz5L0Q1`9llYDf*z3jTbiOW#_)a}_%4 zZ_@&m%0f+A4=B4wUid=SmM@Ou9e{Ss+=tybn)#i`o{__7z*zz!ymZfpbOohFEO+iI znXP+gM{=`yw2WHiIs77e9!8M<(Xb%L5&7b5HndcotKvE1?Pi0IpLSh0?&Y)j;f@0N zyx|j_jd8!$Ro&ia=D&q;@^&@G?a%D>J~HNf77RL&2Yy>d(^(ae>|Hyq_iFf7_xrWu z7|_uG|K@3&Q=E@)wB(O)M7U~fv^I}$Zxi-(w>*Lz1fAus$vB$UN&!!R+12>h-QGvw zZ@@*<&nvpk56?kQSG0NTo?W2+Ys_w7zkA>TnlK~nJmQkv{|+<&AZh^b2YiGB>bQkXjB0G?7+yrNAd^cd>Ot6`_~-v9!<_lPKPBr1nde!1L`J)kiJ z55)gFgaB`)5-Y8W9YhL&9#rd52w9AggnA2>3LRN<-YW+pqrJ(_P`O8^tBz)LoTr`5 zKo5gn@0W9)j@GGY9q_{*Z#JdJa$hVzC za)c1X#*?=Lbj4a?LJ#8F&@@%C*0(gS=49-xS%rl2z$LAC@u_&4G$R(=_DL-N1tQLy zv;wo(zs`7TRwe-k-P5VXTD6NIz+m?;2yxy76s1G&?KDg-$^C~Y;r|Xn0RMy#;I&O> zrAKzo?>LUWU*p6;A!5=~dby9ELk}6Z{{t>`Htr*{y$EB)AKzWrG$yH$`N4fke4u=v zSv#cn%H%|6e6c@4|HbA$mm`R27I2NfZx>r?3e0kh>;eV< zGi&=XwV`4&+ow%u*+;gVjeMfdD_j(L$Z>0yH9^vJc5j03t=YXJ!Pml;9A6L_?Yw9D zw#PP%T(>6%IcW>X*oUjQx+xGprsi3y~7V2p) zt(euwhBJL|)a*B6cl&P0{#NUn{1AF;WRI|mq)!Tn9dlfiebUZVo~~^h`bCO>U$8vt znicI^C0dKUv+z)~iZ8fBe&iUg<-$VTL>1cx#$iObzlwXKJ!(Xp;~()$rvLQ8^T6Mi zp2|V;T26a`Mhz_3BtwtlT0_W!pr(cLnoN6Y z#Vk*6pXqy={EukDG+$ESKZde1>h~j}rVff^iZ6m+zLRf#k35`7I26eTGC_8!-T~(- z&=lm}ze6`a^dgca1TR0H8u53?*y_Jx+n9u#Mv-+xIZ;>=jb*asmz@nuvy)3=w>q5c z$}X4qzVbpw>qpwz=D3-aAi4BoiafF|zt!9VJ#WS0?Q*Ux6*N}B|NZ!a52`@?M*O24 zZ2?QO(@Oid7&9Nuy>f+qP`ATmMJp-^K24+nGzI!T6o%s$XjlM
9vBUbnw^RX^L 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�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
K@wozHdO#}$s=TS0O) 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�!FSP*;B;@a9~0vvp4UO_p}P)}~!UZ&|GV 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


RzLed<;C~cO`f#JzMW= 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 z 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≻qZkP|3iByq157*pKe? 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

(8q(0a^3eLZ}xR&EowH9nS-7TMc9w4yl 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 z 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

u@9)omx^}JFqFZtIe?=Q$ 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

(!=1iRL-Ru*1XP-g+&1YDmh<9dgPJh>3$t_%7 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

kL>13l{cbQ?D9jsZVDKpYEV1 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

huezRk%)2TizQcV_kRosa%NMM2mrhT6L*EL0s@ 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�zWqX<)blb#^}6k|beov}_S?L>sDQ(twT7)RbsgvYGdqj+Faq zkja1*)(lnDM}JChRpKeIC5nW~fa5+o{IQfUo09ArPCEe|9AGab@g+EQN<^EW=#Q$S zk3CK5#)5K3R%4JkT^ff-&D?yF^o!(%xy06-1GZ**s847*TBuMeLSkSb-!j6MiE7kt z?d!X-IW71*(1iuS`A`8dnY4E|6tGP41H(|+RNF;xMSpCPp_UD4zrIe(*d+ghED1;} zxmsEaR?@MjxnUU@s{eF^$)zcZY@V5|tPdbX!>=qrt?r?LO2~chy_2{-k8Nu4|5P>E zOmCu`Y^66*Pv*&HI#0H6ex5rHaCAN<*^2C!hX1z%z{{`geln3B>DWnhC%B`;P#l)Kq!^65}IXWIKs2D z`$RMyn*J0kaE$OZ0nyqoh9vTGWDQO>8 zu*I=KNG-MvGE2q3$Gf`kR)*EuvC?m%M6J*Bju}O_+Ex+_x#UZsx=QaX&CH6$Vt>1M zP6iLO-W|ge9o{aDt&-khVMw-ng;d-+tf5EC*GVZo4HY$G_ryeN*l=g=o=rNQs}^(f zR%p`Mji{Jxj2ZYv+j`k{8R^2bU)@Oa9GWyTYyz}lhF^`gjI?N{rqqjJ%>8Gn(b}7d!^kUey3oIHWrGGM}M?Vat5l;T5YZN^%EvE%Jlh=Z{s5}<>NtSxT~0& zI>&_WXpMfKbEuR~s+7*~fY8Ne^2W+Wkq&7J8!c4f`wr;sJS!z4?&(eG)6Lvw(us^f zt?c+3+Wvr%A|H&HP~_i9bu*c?U9+%Yv!iY0Y?Q6WK<%naj!qZ5M+Vq9t;Fe&hUWB? ziqMUr_Uv2>@_6l6-khGYv3~>mz-*$sS!5TnrIxlLBQ7cy{|J<-qkEXnF;q(X|4921 z_$aDu@4Hl0XX);21j5ou5ZqG@I67OpgXqk>87iRf&CHvjgUw|{Qky34ueoO{my zlv@N;g!>vaeQ(B2bu1u~h5;m=oV~^8V>R@IMQ7r?EHQL6`v+||eXffgm1G(dNmO-a z54*T2ir{GEZ0k9%#{aF4&JZYADNuF^Pq95$@TN^lw0${+R8dA&h9ZMnZd{tQO=jS8?J2Wg0|{GH4B)Na)!8?~!!TufTnV!> z1q#e|S$T_Hm1Oq{JZ=x<{!$hZ3R@BbL{lhPXvh`&ky41q;ee6kM~CtYtO5})VmB&v z@a?UR>N#0T!+-P(WgZ3`b6f;QSDO~9u_g-r$$QsTt*_cS@-f`xjYT5R9Xq#jEfR~c zFS%5AK{RSa2NNvYQK$fp%tBNEAg$}F;5Ti3m7XutpBRf%yaR%BG+czaK5ZR064Jk6 z9Q4d#8=D)On}oT> zy9Wf`b!K>2T(QqJP@@ddCqNb*IJ1P<>;WQ^g)r?m29(d;DBb{==bVMAIOdOmo<3DH$oD zn_5$Gx9VAg@~$(eIH#O#R%b|p==ib9@R^Z(EMJNPhtTnzy*VBh?yT(7%@n;)x0^9| zE@u;cO5^5hQ>RB%+N{>Ji;}&5h-w}vjH-FTyNx~h}Gh9Tx0b zio{-hw8$GRW{erVd|#x&mCmBxX0=@&iN-Bf>^U`f$5zSY|8nbpk@de%xr@5Gk)1Qfe@JMHK?PLw?h?DYYDWIRyw%rzin{7JGS_Q!!T z==7Di@|1iOWYG;AG%ABJ)~-^Lyd^WYsEG;%h9|3 z9^jpFb%qYdqAJuC&VY(NE~;53_ICBt71yi^?6?ujFi`J6C9XB#w+Fc(FvD9T2|Lj2ln zo|WlDnowMzPPd((u&u6iP%1U}l*AO^>%{}SNIW<`B))~=IeC2X#W^Qs0Q=gEm)No$ zeoM3T|9vCZoJL2c*T9J#O-N(LSbvR&GNk^H4fj);CUT8;&XgI4_rXbarp!49bC-9^ zl-XY%!hJGd<3zQ=kaY|PSd-J(lyJ`QE3%?MlrJ8Ddx-DQUeDw?88V1_4~=2~&qYsv zTsO(nUla_6RSvn%Y$FFA73qDGcpU^p<7L#_xd;yL>8W>~w5v)_8UfpA*MDsIorDOz z1zc!fXHULNgTeAqzyYB(P2>zP()Ng{Q$B5Z-i58RIrZA)@PFH73qkFXZC`2=J8O_kJ$c&tly^7RNUYsN5S z0$hE#pAyWt6@gdo7aV4hFMm{SDtc;-sWtB)e}04gJFs7$seOQ;$QS@?faC6&m`~a< zQB|XGRKFvl3fi0ND_Sl?F5mebX{){?t)o)lUz&~vEX!U-h%g-l$j&+=DVyc9qW>;q zv{P%wEC06{Njn_6yj~G@&A%pf``4r$%KAlk*s`yw74i*=LB?h&|9>$dcT~bW{d6ov zhK36$0Cm;~tgBp|CaG{9u&%4)X)fxD&0^clkn8*|-%whg!OiCi9npOA;5x7K_8YSX?{WtTm^Yh{AC3ZT@mV zY3v&8c-&#{q-sa1-+y0+g!-@J$P((nU1-4e_FWpkCa>e^DeOWjd=R~}NCa?Ush4a~ z<(a$&$v45l;#s(QbR=Ykt_C;vn5WnhGH^P6*Ri{($dh+zWxCPDFdEq-t#^WSM~~`S z7ekA)DTpYCh;{K$O#NXE1_j1&Q!Vv}ozdixYGCSH*1#=OWPgQ3C3L>7z#JrkIW)qI zxnG+@Mu3*dGjpW)V5~k;7mn0Ga@V+F2zFG{)pvPK*xU?L_26AdKo8-sb_##>ckY5> zeHRC#a__=mVEI#PfXY?K^hIzuDO0`$f#H-)tA7^=a(uLhUsPtK!U7|qD?Zyry@7~g z^}I1H!Hx*w_J0t&pbPiyMP@u)8f7c>B=+3j)3mnz4Sdqf5s0$;2vTxm0U`AH)}z|b zsWP2v%aq!T5r}Z{@CdycMRS%=%@?YNFZ%mzeh%1T?YuhbdzaAB*r$%-t=ar5)Hu!? z_f;Nr{|Y!*4*i*8(x32U_@FyA?YRf}st3Ih2wjji^?v~2-9CPRK+QfK3r!|JAFG$f zZtYkvQ=toLEw&{+X@FRuWC?WUVxOWyy&lnQ*<=I+LRecUR*SILQzfmskxJgxaJjO?n7+5D?_v+&5*~@c zCu~y9i+?zXa4EhaO|QHFhbGDk%ZLT+r{OA2KX0o#O?6eL=}L9#SE|z#r8-S>Ri}bf zr;+R{ptvMB8Y)hO2i<1)QEl4hE<39 ztX&9X{ARW`O?)y&O{FaKX^p8VT&|{Y0{co^j(>fnxziax64)M^)ZGA7XjSv%z~(5~MRcf%Eb=hN@U z^nXh%BCBtG72B7_=ZyQlmisVG%yFsmJMMI1OVbgw-hDpQgRM*P#+w8_3Am-V@78-D zG?u6V>if+&Ac0wG#AV}%OUMiyhG;37x#2M15tv)$NZ;IXdV;ra=YhZJ*|w2k8(HN> z_UtK$&y-mOLS}+@$b=l3ynW6&#lD<8DS!P6eJaZ~vXLE1OU#DCb24T6ay;ppInYJk zgWQ%3x-%k0eI&gD9!yA`hJXP>ASTjJxQab^L{tw*s_(L?A_|GAW3h{B9Bflzo|l;~ z1CwBySfrvz0d6;SB2;6^Ep7#SX5I$l8FH7Gz_S58c)y-;GJ5C9z2d^S0qCPa%YR+m zf+1Z3(j_g8CVNEkht?2()TjwXcCfqInxw#?QOoPemj4v^)B5o|3vRVnZQnt)eHONT z6K|I#+fn25P8qWunL^Fqu^rS&sp2|NecP8C9o9OIkplNJ^^{Zi{q34x@bUnaLj8_v z(KH3IM~~S?2Vi=sMSaks^w=Jm@qf@}m@+q5GJw=OCbM4#<`zVEnZCM-6h`YQIp=_z z>_6RvOG|13Ri!d_9%^zjw-O7R>awuGRwh;`6|1ivngn!wOZAnvB z7$9AywQhUfR}7LTNOfs#O)k~;sL7s9b9Y03+)K&YPK0ewbGJGN6^qWr76NUl>pvBX z!eVv`cY(+3@Q%oP3>85Ulo-Hv_q`vz$vAEOK}Q%Vb^Oixh}5gtzwyBDdU z!j`7E5DarD`=k`wCuXO8Dt}VY6n4_5VkMbV*z-PqwqBjC^tl1}>U{ifXwW#(OZd#- zTZzeQHdIlyZjrM!QeLtd?s0VrcMg-`Knj}M1=)6`p4rLO{-bk8Cx;EU17qzeGR9MT1@+1)m5H8BxQ)4Xf>UUvau(tj;=ugijD;H)@pc z>9MaXFPt_R8_xqtj)&ZwwII}%vwPY`VY~RWWP6tK7H;-N0rK9E&MxvaSXbO*ffBOW zyTDYmMQ2jJX$bAOV1M*mO83eMaK?tOsG*Ia3RnfswtWnBQgbb`6;338yFxmBe$=8W zU#LN{i7k8ruozjHota}uOr~PlGD8_ut}rwPHHH@g#nP~){~6fc!x!9RH?U_6SK+nl zl1y4Mlf4Z{E_+Nzol}vpio>EqQO{dNR*`8Y&>d~-7~g<>(tmh)37-|TEb+q=l5H6D zXwdpYq|6c>YOH})?+9XiLSy(1Cc3~$trV}KA{n?<)(Q6u2O44p&xN}kL%Og;PMyUP zRC34yfzB$kroi86%~2>n^MvRZf)xBKx-2WV*bI(2gONDK@l#=I(+7y^5YNsQqicX? z($0^Xv4gK{;eY#8)V=+N8`Dqumpsm)$+nEyeG--Fi^ms>%%UIutf%o~Qw5%v>Tf%Uz|R>ju$oc>P*{13;?+}-NV9*k~IJxs}$oKW+ImOay&#@^QWh2bVayb6zTa|y*$HJ2fq{%#@&?j- zN#8r8UVjV3N@eX0eWX z`w$^yW;h8M+&zas7r1DonYbecvpcPa$SF4bY=0>kmLU7NWg~A0)UyX9e+o^IZxz)= z(Ws~{W?u=uc_^XGKZRKm>>Cnn_ha9bLkE67N{0`gA(5afI{w!-=c|MU<-ttfwL}ea ztAc_=)R-_{#mJD^+Z2_>Y@y)$7ZX2mhVwPF!L&yxavlj==KY=6yMmuZJs&KD7>45< z=YQ)~ld8RpeZUnN$McJvAE6jaW&{n$2p|qM^N$J)Wc2(AzTpIa;RIiQf;PA!q_uxY zDW)CPfQsog6ikR`W}1Yl9t2i*>zMs%^>Mp29=EGhv~%`^CN>OGc$5~fwtNXnlx(9W z7ga%O{bH_6f_Dk}8VjS_e%V0Sh+nuLVt=s-@{*Qqw%KumPd!feW@uuy8wU2G1+0L0 z&WloOq1na8)f6c6m{6@?u@+52{^m;e2@7O(U0YQ3)jX_=`yi%%rOD@#`6y+j6mwft zmSzj1u}^GCzNz_=dv9KH?{AX7znFlotPlng#`&HV*my|L8k}}>`3xBl5 zR_j>(t!=9RI#z#c<)yWM(2yGjZEaKek97Q;wkgjE{?K7+oEL-|78W`K)1ZjK{bvj{ zD6n^S8~-{e&`ufeP4+3rJ?#64g1PD^U}Z)&;XlRJF?3P}Bp3)Vo|}@LMDg;DPO#pN zrp24e&DL+o_VUqoE<7>lTBIdY{z*BHxxa2=^5nEKEJkXuU?=}D z&8~&XS{-8VQ2q~+w#Bhps|>xhKJ)YQq#FrG*g?$W#G~v2n&eqk5saBhN`Eg{)JBJ_ zrdV|?X%}8fXJ0~=qJf=D8IVGhF3|0TUT9gRFdbjQqHHgz)QVSQM9zgc&VP-Vo>h=% za)8!#XcD4ZK%3W`wnaqlmXRt8@&L`&?8S39*;B`57K_C~}&Z}Zuw`$edRBy^0$;D?W2(|-mSYZLu$p`hAw9^M`0FWfuKz zpx-yt<_eTDxL$%iM*h=1T#yb{^`svx9HqZ8rhonY+nyx{xrI6usTqCF3j5%@W(I@()^ zPmN-BEq{6}*;n@^27Jz z@t3Z<3VVeo6(6{TaOo~{48(*jq;B58`8O?Yly~n8x^==~IvXxP1e-^m83#GFhgA_a zqv$lR>W7u1&ZepS6ZrX({Rn=4&K^cKa$zIii>&1ojjtTFKKJyG!@O&j#ukq_-|oVX z>@uBMQ^kEnSAP~tLDI)a^#}-$#mILL}91NTA*V9!(aG-frp~;xr1}~nXUXR`g?YjZ1P6_ z3#+uWzv!^0M?dkG5WhRK9R5_{p9jQWid`&2d3tEwpnp#et2h=l2l)+V6a^_Q%C1#Y zB>nuTk4Jqps%6yU>-d7jy#64cbR4@6c#V}v+#03$eAI$qzD#$}HmR#jtHGl)#;h{q z1!mk9*&!zm$L>zplBu|pR3-fl2f0?Er|SOMwrRuMpYDjw<3l1)XD*k4zaNHm;hdc> z#uQmHWq;d5elGU_>RMoKh`c&`1sm=Eo=UOvd-)^xYF!ZR?cJZ^Hw6*ot#h`_I5KQO zFb1C{vq;TxQD$Bkz94wt&8SO&Dr9A%%SYh*%B>ruO3wF6<{h(T4lITXfUIRdwvOv1 zGPvp%J>L2TTU7CaAlh=lv^Ii9RzhYp-@RM2)qk7CXqfKBN|#~QJM}!L9SF}e(O#Jl z^d$f4FtlTnWSG0&Y_J=|C?d*e^l$*t3&X5DFcSK|t^oZT2aH~fG4#Gv;; zKM;@c1LI~bi_+A-nPzpN7m@s`WJGe@^*X`p_an-X8x}xqoBfbKNuCDRs%K1gm9kkM zK!5SvJ^x>JC;t2j*7_#p&ni*-f&qLEZQ*|`UlAc1<$xG|2paZfb_3+BU{{LS!`8Pb zr`Ul6wWh+JnF)|ofGhojIZ)?uSWH34z7;146k(kTliQhfBkm5CMp;jM^Y0~O2j*b< zWMY4=SB!#*2Kwhmy-r5wu#EJluOC9e)qnA46my|DsYHchG{*f9^p>C|yVr{@JV@Oj-*5%Dp5X1Wy1e6ouV~P?(-k_$Kls0Ur{x599rojyYm}5SOcwQ5K}~U5zowa zr1;xxz9u~u`vX?+Zro*q1)hC-Hwb10KpxFlH{gl>D}Kk5iZy(blT z1lWq12l?}XxU2d;Dv*X2ZS#b6_2#%pJIn1^uPkjD~IU z;=2-$f|Q6R(6!2ptcJ@6H$#o7FMyL-xtc$gUJ7#k1hgUIjekpth#FrX z<%@G8megN31Shq>)=_l-bSn;TaYM2Aw*flvH>lIqt=kRR(=v3z`0gh)YOzvX%P%N| zn~4;`iw>-UiHbBAAd#L?)~8R-#cZE5$2oeXd1|OU*~Q`XHK;nBwPb%jI;nbZXma8 zscU3Yp?0!v_0rf!oPXd_xm!px71GaDaGvE#q2_4Jy&reNzzMru{;hkPO%Sb0&ycwf zB)z8=@)y(NY`##I{d+xH^t%!uvTu0A=mOqOc%PE^|NN8|EbUaXs#Ymbe4X77-*HN) ziniW#!eY#57)!~jeCB2WuKv5fr97^Th2d+Ig-LfDtI&da*M<&ALJ z;@(=XH0CdG8b((Ucj=n>MU%FxeUi4T6ySF>tZY+`g4hOJ%AC&ZZydLOKRC|MFHj?k zzX?ms0ISTjBhElrC8xvuh{PNagIiwVi_;U(Zu>bT)yG9H#mo>xL-o+9j=?aS!4rmn zo27WG-t`hzs(-{XHXaY9N(6X`(#qNE?(t>!NTdyhq_(5-@X(W$i*W~JcC3K)=XFiU z$KJeG1t^X}d1tx4qf#;Odq=hGP_}mOqtO?8qf#%I{GCeOydPbEfO0CCZ5kV{_Ge(M z{6$4*Hd&l+Q709At2$Zb)@GShZM$A7-{y@w`K-Xvuzz*g?x>Us{Qa&z7!3Dm=?-m@ zxpxG@cd*ALMvQd*s+11zg78!Z-Z+^kJ(Yo%@=wb7ftxd8+w6q!9M{g#y}yY|f-9%< z7ZhuxLa^EP1VqZKYE}$*SCWv}l_U?y*xZ1BU7_{~aw?6G>U|)Am`5B3I@{fTnjV~^5Rz|pDD!}=m%+;%8H2w2BdC_?MB$P1ZK@w*VYv}F~c zFPP=mV6};iQsAmGUhWF?c1#CjQbQgA48FdWIHg3WPN=-Mg{DM;EX#eiQIq2#lssF z<$rH*#b$E)Zj&2xN{{AjZS#r{o9a^x zH)0#dPGfvXw!n~yK_9p9MJE-%jF@3;A{d~pr5;O1c*lbJg3~NvCPC6DXrTskfbKzqbYpF5P}c?YXg6{{q~=hN&T4y zV5ADAtgqpR+a2sD{cB#~f6KEH^aCj$e`KgkwL_Q|iMdov}FbbVz55@$*Eq=6-e@)$Fqxu<53a zFTVeN(Qfp#--z_08+(afMfNG4n}6LIxF_}HBuOPNTASvG&L3@16yTe|7?KG7MA@Ud zQrd1l0OK?kF(K)7?`1ISK>(~ek#3S3vBAnr80l+JBkP#4ZJIo{9h&w9#AE+*dmAGq z5Z+*L{eDSrofoLZn7yDOE?4b;zzS?S>|d8PT%Kl3OEhhii;EcwM2783nKMvCEY7Ts$wDPIOBy~{t# z(gLv1{bayb6Sfa2P?)R`7HmrwZ zc%Ia-na~)TEw8?%L2~+#NWQDi&^2^wy~^d>Q(j>kP zopX)jBW8XVHjaqEM1NYv>Xq*a9H%QH`7m*_&H^Z@-eyykbBfY>s_^(asg<|TW2A=iHf^x}$6&0$eBn(cOP z!3a<%%>`_&!aHnZ6i{SIiBH0a6n`Grk4Ax1* zpWvBU%cWMkiT@`w^*1o0aZWE9^!qBu(5n*tb-%$oV@B~`ec4mV__HBX>Py#iy)0j{ z)1%OL4)|EKyfD_2J-&E_{4KfSk(<>ffKF@vNVe zV*6s=-;6DAA(*N|j=fD`@kZ=g_N=C1+#c6}!DuyLK!b$$(qXt$dv+)m6@x{G8dz## zwdQ-x$zm5lk(I@WdPMtLPIGL1XSPtvBZu5F-PP+cgMTZL>yz|VCZe&tX0*MI;0PdT zOZliXXH zFZpc=b`WcW51me5W1`yHa2vF3VvActbveYjvom`iH>@=c63?VJLS@9;Q?D*7?WdT5}fLg{BqznZ?_+6C*;usb_DXGe7l*Dv2FM6IB>c zZPU)nWVH6S$sb|X%hKw7sx95i-Flm97Fp2hgMZEkX7sO@P^&X}bEMdVs>eja+6KHH zj@nUZd&={X{p@P87AP&*RKb%G5UHm7PzllIl|VyYKUnhVjszX)|YYqn`{s0?lgobZVzb?XB@fp){sX=6az_ zU4Ooq>sL$vgtf?+<5oR>oGG%4q;GZuq{);ybOmu=g{Yiu@&EPC2BWb3UOowe<~ zW#W=D-@o*7mb~QhIFSO)=cR;zOMHF_ntxUrQlkNAhjmQ^L+CK2B~dMuHX`v$wgo;w z{%f5uFfKHAqLi)CE~(rTmwxbE=(;rTa)3#4YJubpHPGO_`t^iKfFb9@xKKcG;Ye3p zD#QH@VTR4FmLbEXuqvuV(p*LnORnt;UP?hp_PM1zIdX9G&S;wl*26`YIcv4KYk#v< zLbehpU+X-Gn9;}C$&|Kp!!~23^#s)c%Zp`}15MDms0>*KPc}{SRJ>7LjCk#BTV}F$ z*(831_=>hE9~f<)u%=nHe*|%$6uO4h>HO<)ZF(Yn`818d!idOrFjqDGUng^e%4M28 z_TVIjB5?|LXD|JqpV*Uf*%&s<6MtqYn+hV>;!D0}KKV_x=@*k7QAurDztm(i<-g?H z`7iIV*?+l4erSG?(AZvqZLsQi)ShQ z2d{aMKc8C)tm#xb87gJ%M!q*7vTKx8eJ5{6AtF6MGhc9dS%m#Uy9D42lYeg0y(CXK z#niB?#ke7<@cN-wD>UybaiKz0SgS_Xqz=o~;YoFvuMUgVq19EpS*DOn*coZ;TR>O| z8P5|Ug!Zb6i~TIpY1@|mX{b?i@@3%fC%E1`#^hZxESZVu6Wgv(fs!Ft`cyZU+&-%{ zmyW0uPmsAmdeo9Z^xP?szJD)PA;^wn%d{!(Q>kCCcAv^Lohwi*Fr#Aq_z=b3Hk7m9 zEx>_mXrDgR@Ed_<5x`wTc>hpC8tKg<2QQ_b4iZRkC^}X&vtM4e=?y$`k&6#?joYLc zA}86Tte4k3p{PYRnHT)9w#wy8l(^P1PB$Z^D21RB3FMBYxZzwH?SGw&h1CsO`Tp{0 z9a%2|>BSxMQ2)}sQhqjrznEJkb?C9#x#2SD1Cf0kBDFLPIoA;->PbsTG}K;fATDzf zj;X&z_%)d#W3;ELRbGt+YA0(fOrs&io;sH-_kGpX;=a*n4jf`Xb;nLga_roa9MNKE zaUAF$tXhd7YLxypmw(+&TD1bnmW@4=R}uk%fgJErf3u5E=Vq(~W(7*kQ7eMmuZmKV z*B9EiicU2k<*OLy2{Y!D*iP?(1q0cGLWef}>jD1i_@-6->oK@|2Nj%4dL147DtdcB zMQ_iXvz>5Bj^00=mr8*}o1(Z#{0bQJtb;qaK2-XS-4CNE$ypL%hPziI-D8z|{EREp8GrY(mJ2u`qeu*y1m~x!$$UoA zsk$)^FJ=#$OKv%T=W<~qpHe*u^WEhZ^Q2eabKXgVck=I8=(7ZgS1Q%%Gz=BNBCR*3 z3AKlfo5AX2f|pX`o%C_b`vpFxO8BFj^dtB9pLpv*tXG+v@&%Z`UN6my@NQZsF5$Ft&<`|z#kDZEz_A5iNgO9 z3vIZ`AGrusyw+`9@*=sw2hkuT-xk|E~+eWfoKt^6mG*|Fn;hj9C zwebQl_g}}F)U!=(o?Yik!x1T0AL5hz@q`qQ9pbG!7767-c6T%kV|6 zZBJ3wAL<*+*eTL#ysNvLF{gA_l>AV4H)E111w06UVt2GC2}ve2zzU!ep#Cpsy4${nr;7KgH^RUGqV|}xS>wAYuRMMpCvDT zO+H_>b0pa`gnI(3zwkkRf7pHfzzC2e3~Nk=kuX>v7&e_-ykm!oC@jM_;996W!=8WO z0#4qWsCGtSEQ)T$;twzrfCB{Hsk|Qor9dl%trA$-CmiNu%u-z<>EXO%4hVcwt3M75 zKtDD|c_)P2V!9WhKZwK%z{4V^uUT3x1`oDkR;(8OI&mlFAl3j?1DH4XjxkmbwukD2 z+@~WoEa%E1aYra$>iBA4n%)?BCJ%pj{MSbUBgKx`x?_UWjuB#EHbx`2h(REVI;QDF z@*`FxpWOrvw|0oK?z$dkkh?rVgRC9$C)P`MQ=IDB>SSt#0D*LBHJO;=j2fN19^*nK zJjjztPV4Ek*3)8@(TPho6F5I}3J~<4UzRo-(nchoXy6*062m~(zvJ_UdS-uU!;`tj zC(r)c`m%@Vl&s&_Ah(9fAbMVFrZT+#i+lGE?s1`q{qUk|y0pSeSV~WB+2}GVDv_dr zJnLPpb2s5p5g&@NP41@V#ce=;J)(7^XXa2OMih&Tq6&8tyFMDTaOMySSDkz8ui~@g zFPY$N<^&+8H=W>b1ngMY^DKYtDcRwP{JB82)M$f0HqcUfWfXl{7V}pE=FL^sK*ZBj zQ%D0gn2F2~If-isvXY!yQ&1rAM5hQF$X_L#d^U;m-RkUqepI>PoaKC%N?M`ze}k6e z#h3p%IT#uk3?LFC2;XwvA=4R#jPtDAjylUX7}_)fOC~;xzfGXWze0a~%apl%9X4|5 zdmTNY`zEEeh7myA!jL_ZzquM@FuU|#V#)JWp$-~v!P%zd8F1+MX7MU7rq~d!g|~_^ zeUyH0QU-}827)K^Lz8_56rB_UG5ADWcI)A*o?H!Ib+O83n~2|eQF9mKO`5yxHf!!e zoJ`qBIiDmQK6^&L^+M&c)dTB%=OhelBki8z7z@dt?O6FI#`=ljf2%i}vB-ijW=@ ze+(H2=D;5q_Apn-{$c4`18jL-8$@1Y)^(oikM_{DGHFb0;t%u4C@%;$fbZMp&gFd?>flELe zP*=6EC^^G|rB;8lWT;Eojvxs|th?Jt*Ce~FC`mC&$~{Zrmn-xV+|@i>@h7LDw=Qg_ zA;NyaHvk)UvJ11kwJ{332WD9wVHX3JAzeq<3@^$K*(!)TibeNglbs2)hT8doqE7X- z5w^k$rt`C6QBrJKtUjn9Z^dtmMNu(^JXiPo7mFVhqd|X&`i@6i!KmxG*WJa!D!%Cl zJw>+x6)xi@1%Z~8*ziyCCx@Z@ynIS+JsP_%P7@nPuSXZw0dXd9~q7tGixm%c4a z`BwixQ>JWK&-K|6F`@_+0V1myM$p#=6hQQBxfK6n0rUQ~fRFq-VFi7An74+%*%ffn zk2ed~)dzp|CBPC8)?`vwUaCZxgspI{xBAVg6!=aTBMFQ3=Z4194ZS-I4!E+*4Q86c z-`CJ_^g||~p*&#dg>cW%Ow3xK>p;GBw$yvCXuE+~sy-=U+wS`srH){hqKaOJ_V?Vj z4OC$)9Il%OXp)ht)Zp+2_JI&j-uo>DH|(4lW1oNF<@v?l<@x|xHQdoDR)t}!fVu^g zaJ$uOj32wi&pR%q@MNM#U-6reGu2j&0d?G2shhXY3`_A&B}VDfwmb)1A7ZBuPIgA2sOFt;bBic%n%d%m)5FRthz!ggrQeUz6jIYU_ju8-BHR(ml50A^CTgwj zN~?b~zP}Oyi2{S6$MbE+hIUzk_FP=JGH7#8bhwt-Ojojh&}(K=O+HJ%4DM03qprVQ zc1ER`DYMa_ze1+HQmNO>Q#j5 zle>2@^jcs|f9WSE;w~ViBUbXMF}i8?fa-tc5T|U(^!;c=sFY`7%xF6O4`iGVLAOg$j699rVp3MJ0M$ zr|E%{Mp{=r4Zk%F5r%~ka1bXK3pC!q@5@j#Q2OcX!j=qTBbQ3wyLZ9N7|>tJL-?tY zy-mWd)8$@67V6SABz~7jewiOt*rI<=NOW7nj-?qpD)(0cd3yW^QuM`$?b*QQ`H~bK z7Kv_Xr3d5TR3&1azGK7r^-E5o$}?@VeI_p~uUT;fF-zMK0Vz_-`;M;?Olm>f)Euw2Wmk8kTtOpc&t6Lga0r#lYo{G2$otM4=EJdv?6PPv5j&kmiVJ^SYknfe zC=}?6#-occGQ?NSw%^nGv zkHFf{Nzk$@fRYAb1eI))dDyfSvJ=vC=W%GMJiSwGVlFJH`45Q&KUfd`p$8TYBr*RM_^eDlr045}7Z32fY@U}T{a+11_+!}~#^)61y7tSIz->zvnNa? zEGGT&bs}CQG7!@Dx(Xv?$&A-3wX%A7<<`A8z<4NEX1!UdZ?}ycm`v$!LG`cPuV{EogDG|t%z2OZKoF+S;m!+g~ z4t>lmSbHNQ#$HK7iWp?CYi&nx=fkUTxMrvk{4S2*?n~Q_;I3)}XVD10QjOpoHG(_N zP$Rftw*vC^KQ#>K)fF^Wd&u?+zjKVeGODUf2E$8F!F4pOX*po6V|O_IlNm8 z=G}s-YB&OD0tAhGkx>j?pKs(DU4X^u)T2<(yAfU*fLcOc0W}Tk-LUu1Lf`);G%VTo z9V{b&;i!nC_%*NtG4i}7j}bf4!1e`H0C+tAI_+{}=vaU6&TL7W@dB5Vkc&fU>RqW^ zjUC=C%Vh6ye)N9eEdzZK?AEl0+P^R{79qLWnrvD??W0Ji16ZCAk!NG zi|tl9cDKp#Mmi}B-cD8F34b!sJYC+%Hm7=sDBj6Qbj!7>tt$2joE1e)nYw*H#mLwy z?hOsC2KfU4vmKdoaqQYa1R7y_I^VS)0Scu-IbnYp1d;YFKN^P(#jU;F@FCNHb$ksU z0G?Zt-DQbF6R42dCIpJ(hOTwu+|UYHQyLWrJt5SquO2M!zzxIq?$%4~uvO()RkMM0 zpFaq>>b4tRPKnb^$vxuFec8%%R8gE=!oOI;kC42)IUTifIMPDUWgjkqB`uO*YrZ43 znazJmb7f8Z7AMM9Ty}jf)eCrA9F}R1B2vEDUu5-_sdY8vMt09&Jr&sLRL=F(9(#?{ zu-kN1s_9}}13oWBPes#;wE^m|wSm?SL-rRsY=yeBqRpKr@J?+RTdi^&R5=c|$#Eor zU%q@Y-*8{0g(8LPs>nTawA`3kFn(vx&j%9odvh-R}_c~T%hm=w`KUVBHmW|JnculUEf zVzXD+GzW_GqIf)BT_rwbqr>Gcc!Cv<#s@Y_{^b%rv%SswxC8h5j)dYBmRXB7!UTW) z51Dd))Gsz&w3`|m9YAnSKSb^X-u$=}A64r6Wk%BySPhXa7kUQ2B3rp=;88paobh&6$36(~-HW(qgloY( zBBB8cFC$#afusrfB*2f1@C8eGR!&kk_KB|cy4Eb=JN*boIwi%8eYy}WU}Jxgm>E|< z+iVg2PNv@}B>lWV=Wo!~(rdK2wUp$Wc@+1vfHl$4wE>3ft?p6z^t^&kTLtVxD&-iZ zJ)pM8glB>qWbYdu(9hsuJUa_W%SUnG>BSqvaP_AxvA6Oyfs!>ql&{&jYwN~iLJcOEUYg^H; zMBFo)9rbzj3eAT0`_|qOXhsqK0DlU^s9-UP#rMI3wqC?l!c$TTt&_)U@xhlrVj|(vb3g})^Bni4zyO)y+|sr9i7=e!J8>M{7I=6O_OaG{O^`~2iA7cubAJ2B^ zp1bEkLj^H6(YtF489g8-&N@PCjA2lDGB%Il!np(EZ?nfWzFOs*<9Z32Y_-Opd`Z!z zdgScPDB9t*=*jI-Y6pMEirRL6_KEObe!#0xgq?N2%VayDS^9#Mwv!B&v=_;^NPm;; zvwdsPLeuHjy8Fi<`wQrGuXT$B`t_Q5}t=3i6Rk7ZC;%Ca5qn7w%jdkiFtNbxG zFHMC}NNc;Aw_?A=*>aWP=}R(*WQG`9n|A3M|Eh}eyx-58Fsy$kd(E%G35ew{4r@S% zwYM(4rhuVpg8+Wtfu(Xb{~}=4Ugi(ESzVE%A&9Qa(UwD@RU_pmpIN7g)u@0DQ)Mb7 zwh^Njtmo_3^HuBl%=OA(K;@f7(Ye_ZD&)e`J{PO-FJg4avFR^+N!@FvU~KN7E)x03 zAMlQu_d``|s|0^zRJ^0uqK{HAHsv`A|eH&1! z`qHVL*q3e2Yl67q5fo(U7oFI{K?!XFDWnH4 zbbxi4zmQ;o$-Khl@ZA8@u~w)Ljx@rb1p7jFZ3KV6(vz_#8d<#?(%RKjKH0hq zKA&6$i^MbIi^X+=#dV{r;9ZF1vD~#GbgVM`hv<2=wdIl@uF%bra@=uwP6HN;=pu*@puN>l97~`{RW8*Q3L9YvTf#`oE%694=NGf~y-n9WM5@Fw_ z$g}pwrTl;EdN<5E+F7&7L~$n)D?3E8LoHleh0z&dg`b9rNRZH4XrMKeA{dY3Sp*hL z;cYQnHzI5wYDtVKWX|Kb^M9~~V;BPM7#<}*00)XE+|ok3+Hb%CgDX$O4b{gb-+F|9 z)sA=3dB?5>XMYvq#iQIgr~sg!ZsC(SP}K+;pA>(Ba5JhH-6<5Mh_HR?Ym0mCk!b9+jOk+_1m` zzaDte&kj=Dv2%3LPaj0mB0oBa$_n3J{G#bHWnT*)XIGcxOaIyZ(;={)4(V&) z;3R(<=$CrjD<3fXJZQ zNIp4y+)C(N?TLHzg!Ew)re+m>iDzXDbS?TaW1?@!gVa_Cx*~Ug0^9~}D`TONDgu9l zVQ~+@Akf$;7cDjtV;`n?f@{o?0&4J8I~)3E-FiH^mB!G>P#E*#FysoVNV#B zhwzBzOTKpl+0yRYfc7%dx9$jxDvYibWEv3p8mdt~Zy z7;wX7%AOX)9BtoD@_nmt8!mQ_OlvxV+80gfSamYVv?&JsIJ-h;+obO+H6uR8s)dno zVGJ{~O8h#cHi?swH=yD3QD!nyuEe=@bp+8N*;|@w<)}k2tzWe>t2zSh{n~#GrV>-~ zirC4D#S7yHTpF;f*@W2v#Sc><%XogK88;){FbPwncBF;o=V2gcW*^BnRB3iWoV)@w z+bk8Mim-|tIYP9f%q~`qYDKMZL~I&AS_Ixgm#i(7zF_at=02S$#K)uiTy??glE1WH zQJ#+l|6sE^J$2)L*@h!VPa8$8TkI*NV4jx@sbexB%a zWoW1}4lSgO!&r=cA^Br1s)FxIzQ{d&M)KF))90mU_;jK5TYw{2eMEnq&P(2(g{wxQ z3mVibPwdr-3u#n5$!WzKeBtxlvUdlGC2=?T;L;W3_IdDu$rP1yW6+B~Uf+dn4SHYz zF9+Me061L`u}m$#FSahe&8;%1_+@dE@YglHD{?*;?LJ2^JRO%_;7#yf`wWM7&uW(b zZ=Qob>DMgN&$}mq3v_?7O{V>wPJl((E>n+<(zi?F@F*R|{t-M+IXX&j+P3!ODMw~G zhmj&wJ2G=Q5sB&q&&hOT#*2+e+sYgn+}w!i14|OD!u{6oJ+`j<@Aw6(p|q6kC-}qd zcl;C~&b0H&N?+`*)Tc<+a+i+yW6Aw#+P{P0wPh(k=SN8CF~xr(Ufed41L6kYqNl+C zk*0+kce={>GsvW~uibttmAvHyT7TS5p8Mzg7$Ofwrwx>a;Tl>%e8L9=V|gkbx7=)r zNbE_N$>&MHYhr6CFkdZ9^M$MVbLm#CU4{Ptm})h~RpVuGO}_5NL=pH`kQ8xj=CN zD9W7u6kcgA9&SV%P>*)uH^O`@G@wfYpOe!88P}J~l=+xhR4ij}`d#r!vZW`mIvPAv z9b%6LR3pN>pIO6S4Y(5W?8}oMgdSc!QVS+K7z%n~q#l2f{Hc+snNYExF4?2CiHpZh zHr$WY9-?OP9oj!LQNA^y-nS%>)$(OQ~Ubyg?WN%jLK)A5XQ&eUPmAMNs zF3PF5Uk%_4N2LjGpA8ExA*8$ozbm8$R7Nk=wFnN9<;ceXJ=`APpSvML+IpwC0n)q? zR6nA34j zLgtAQ)()$a3Pk2P+$m=j1aa?fk}q{1w2*o4L)N2oYPrW!VCOFnD|5`jRAYL1Xp+5Yrfj%hK1ny^b)H~rmr*4Ye zzCaEAw3phBqWpF=IvF9ut@>`Gd$Vyx z>-Tmy#o%Rnj^0hbMqI7JU|gj>*~l<*>9g}cLec}Ddkb8il8a;KdZuLsYw0G~-BfNb8cfixEKO1TFqIP_UElW)@*!j{>F{wJ@m<)f*_NOZK zelmdL%{FD|TVN+{lwJOTT!rlVQX@tr&d$W|?wI+mI?cpW7|g(J)Hj&2@R`+@WP%ZW z81FO#ZB!3sxliP(;5nVhXxvd7p|1=<>?vLS+lvm)mPe}iKI&_4J#V&!lod-Xpjt^KkrYhu)PR8Mc+v{Vm;W=0ADqd_||_lK5=B!(NV}9 z{=*Q*MjfWpZNlSb*Gs~)H6u>!POA(S?`C#bdZg`rNufV%MB@5f2&nC=8&T6$I9U8w z2&2{})&o=1(~J$Ysv~A>Ts$VKievEzdoLj7Z{~j^MXAYN*HwXgy0F7~n-X=e5*KwB ze7;RB7Q0yIKqlWayl8)ci`;r!ra80|dtdV^dPY+ynKm>88jQzbMXs`{bw=fxz_~TE zdAeuYhd}mgbQM7vPM=K{vq4jcn*UufGcPG-MQbr9X$9!#IuZ?-J8$m1`QpxH>>A~j za*bTbQr!{Dt$ypX*peJraL$ABiy6Vr#&>dGqIs zKi08*F8I?v?q=Dia7_d*oRfsOIF{l{L)*^~D!>{ll^z`b#TZ|R@Hlnlqwy3vUFw%Q zT}sHmF*vG3m-(nf*W-r73pP~&R=efJC7T4|a*U!!EEN3fiAqCvY0;Wnv~=A+yrKoH z**=WQ%vQ8M3h#gVKRr5wT4e6r`E#FG`Gn}V27T$6f}wU>Md4AusFbzz+Xo*J8Fiw- zMb8$`j$Z~+Ha%DDK32@g79aX!-hu_XEkups13ZB3{ljs2=Q1{qEky9srQO9cB zd^KJ^1>@KkvaJ*y*F67%xNRA$mW)lVCfnYhx!Hb}#L<6N%*PyP2DWt(*R+{OIYO#x z`i7l!qR<`9@JY$g!`N&v5r%v-;$-#gWbJVgvOKJEvZ`l(1p#q9_(D&R3%`WVyIH_{ zAKa|G##K7&#oAsW!4Y3T)(*^9Ja2&*Qpd8?xAh`E#0;}6xAIxc9n~@AK-Y-||AGZ` zSBn12*e!qRseqfA@Uef6Kfm>$Z`G9fcLf?QXAgsnn^)0voX2&#TydP&Z=%FvF@JpV zu-ioo>x&+uFYo7Pac$u{_wz6CM7*{i&ASkfWta|6&KuVD*}KS*uMcUYnHLsiQC(x$2A$OB_}~`5=tuo`{q!bxeWxpT1X!-3$R1bwd;D#)ovx z;09VHvI)a=v$Q~puc~x2iouNx&9cnW(y(pz!)p-5tbV51FL~4Eg<0kun2vcYObg>x z>%)I$)EtODVzeI!A}_s_Jtz4zbe@k%c6#W#3=9cF-HWI{_v&m9Cq=M(bqMa=tH28B zA@-#ZaI#~tuc)gO56>luX5U8KU{85$CtsRtmQ+aoPc(bdX3a%ilk`p4$$`g#M!b5 zC+mbfJ9PW-<1Z<|Izuw-f&_Xu83rB%V`e4rhY) z?{0=lbagAyl{PBqtw+2{5Y8%wlqhCJ+N=BdV@LSoOZdEzi22k@uiMWT9C6d$8L3*% zM6aWH$hQ3qdfJSIC0nwQe-X6$@hkk>6tX%IUyB@{-9<9U?o|+q31HcM{$VBOWK)7^cbJ6?45z7IYpVzGhRJ2kvv7oWO{ zPgv`Mc$w^WsZ!mfaM)%KNu1-fA$CIqSW_#?mIw|6-dEF4YDm{bhrWMg8OE00Bg}># zNf&JEmwgbE3Iup#j4s$wB9~;*hdyTG^+qYFB_riDp=l9vbOBRVm1T)^#AZ<5V5Uv; zSWt!nw4-}T(cw@(Dy;1)cKNem`%cJzpCa4N4V~(FK_)^FC^G()P?liJ7xVK$vsY(Z ziq$A?OKgSnFpKDVIXQo>^#qBCQ8L_yHdvgC4*Q!9QFyh!x<-&ku>#2SP}Snx+9p;f zh^~ZygY1k7SD^1uKSf1&tM|bKp=@!0sez)c(lD?!G(6bEs`EjsTPO4>p!Y)af8crz z+64%*N?qI>R@g4=gy&KChR1^?l-;7z%G2*7LP6!yq8?#a3OIlHP{md1DAoDbJE;Go zCc75z(xt^rItfMGFaXqSSPC!%XblI?eSuh7s}4en6<6aX7fXS~tQ1B-DL&TQ1DH_b z_|Hkui97HIJ;Lt%Q6%zX7DZmZFZ0;LNv=yIx^xeC9{&jcnq3=SIe6}zm^=P+pn4i( zpByGEgkl`bBE5eo+_>Cn04Y@r37O@v^x$B%TH!O5XGS+O4BVXGZ7qKi(%0o7AE)2t zZs0~*3F!CbR?`bNk_%d7vRvjXVm-8%p5ygv_>9f`+kF_2ncZl#O<6sQ?;7GxIb87Z z$1oM$sU%_*6d4FJ@8BlCZaSt7e_3W5%-O$O&h$>qP!xZxZ<37t8~*$<*|OA%j({96mv;geSOSsV);xhUqSW}4Ul2@b9eIjTj)!Liss{T7D*S^-Gc9+F23>zB?$TC`*|UK=Yxw$ANz%5O^N;Q#n99AwK1ag4Z`jNXm{ve|*L{x|_<1l= zDvdJ-_{@x>x0);S^LOC(DjVZEaDtd~oNz$?$|an9vJMBB2NE4~hkwi+cV=^P;Kf$m zjPYykxbF0!uZ zWbGv^eyd3d6#teCE`(u7SO(0Rg|5g4zy0f2npz{$+%~81JwE2EnG#V{-Ae8`%o3T! zVX3b@1hPf!`rfhFO&~M?Jz9E?-qXGs2>eK0+*{N~7dD!e;Ktm6;EcH|~lg|`m>DsN!SGHn~~n|H!W3a9o>;j-&)vCHAivTrPnMFy2v&ZOQ< zS8li1q&r8UZL*j<0cw*k<-7^1*RZCrjOx_ZY7MY|+y~t(XG4ygVv$I`G+-F%^~-fb z8ATp+S+)mgxP8N0gEZ}G!~X41*4b?){VRVw8S3a~YUyae%CNiT)5C!UIrbb{!u+=Q zh8uqHgByQ{Jv3V=Bvs&Fkx_X>h+~J9sbwQ95N$4=RePvg)L{p#P|EP_QI#+^nc!}= zZcHXDR0%7R350k}c=SrLet@pu<9zFIwA73IKjz*$K&t9&7(eCSJKJZwE;zfOCdPkc z?=GlOVeT&2Qn&+{m^ZJ?Vo8k3U8+i%g+vsTSwJA74zM;*2CxQUY0_Dm#8^NC6{V;# z#sb(tlgRIRo^$TZEUbCoeBbYnPmgYYv|+_1`v9n_M54RN z5_3dsfYYBH5(08PzLC((n?k@s(Mv-j!A=PA?HYap4t_YsyBDH98&TY@ioLMDjV~>G z_u@LqrjCCg=(~(q0F(;g{1aU17(tu&jaU&Rj}CZ)Spz!W zSZXx#+zIbpP`TuO&3hTBRY9A+3mO-?wp&>R$pM*#MI8VjSyn*wLsArz;9{dKV+dSO@`;DTPJXv_(8+TOV-pmr1^7i3wq7WLx!yus4F;{B7YFkeA$@8lX6v)Kz$QD%Z0@< zcQPE})~F1iyG{Ej?3myQV4RO&x6I&~z!+wU8LV8Q6axhgE+51|S-VyNX?}(F&bXWns z5M!>kM*11|vE{$B3iJIK;HFK(l`ANp>AFP`w3~**tU2yL@+#mqP<(19%4+#zZ6x}> zz~^Vtm>tfR*NehWp%8}sOdc8fp+>5xf3$n3X;;OfUO&i!d|Q74P-qJxuNu4~x7#=wwg-4T8sKS#4Hjj?Neymvr zlzNef41It2A4PxHYBL~y8?plMSxL|;HIoxnOir}F$?S;5n#Gtw?&TD8XjU2OX>c^w z1{&ktc9mseWm*5nmCe)B7efPrS!F1@rgeHsWGs~bu|;Q&*Rad!X^>{j6gdRs(Z?9p zqKhCO|RS2mp zv#}0ezVkC|GW@KPQNyZI`imI|MI@tklJK96zaoFB$t1@_jE=@(XC>j^3KJF=Lyyrg zVQ>hvV55&t*M$e*?#J-LOnmSTl%psR(O4wf(CiHboO9q&MZ0W3iWB2sOyI(iSu^Hw zfduI$mCS#)L2^`P|4}7dZIB#sq}UG0F49S!7=s=OIr-DKP|KqNm0~Q@%Ibn460$Fb zZ!^&^Vm|2G7t4qPc@EV^;Y1pCKR1eaOgjNN-(tFA z6AOQ!y*jypWIxI5RX=h50MY+H>(vd^tB3y=z3QubHRwBgmGAfJaOPyeW<6(sXb3fW zYMc2?5gf#zntPmYX$6rx4_dMopD8c~B*VLV9wq=O|1ao9w2KU&blOALET1pqmM61d zkxi#k+!E3*W3xOAmS+JiCHc#!_HWyi*K~iaET^&({dl_U`OGd3@x+e?0MP|qBv9qm znJBQ%mj=z^g#a<~flByRb-?mFAikgu1m1s(IxsY(k7K|SrKn$QRZ8Y}K+s%T0SAaN z*isR;#^-_C{D(#QA!`2uKp+5zE$={kz__qw`pdxvC9Npq&kQFIbX|!qcGx-m?HGSS zBoa_1S&e)AzAb9)3b^=VQee_^}&33iC9tEXwK>>D`;;e+BF^34eWH z$1dVKke%u&cccIy>tSi?0Hz62-hU8zqaoq$-O(4>O<~2tMuGpxBo`VmeA4Sf1AQjj zZlXqO2!fNxki0<$<~m;01lMe7y;%Q;B4GT zyo!107W#-ytdCefKGYDauk0cP5~2jqfULzw5e(b4>LSeL-!G-hq#;q8pILw8&{h|- zn$YK!X#f)Z1*+DezLEpvp#U%$tOk&1@b6npl!q}hK}zYw=$Y&LEJzR+0B3Uy3k4$M2JSU z34;YNdmYTm^5;<7M{Ghz9aU7o0W4uvp_;xb=90AlesKwdSTRCz0T>j#(ApJqK$24NOQu~M^Jc|EX3V6k{MPW67&uc=qhn|158g8{1B=(AVc3(KR zc(OjcF)+y!udr&dWIPhdM}~6OtBcpE|MyiKv0Wc=?K-c%m+jj1UR`~y6eK>a?TZ)q zligzBvx49wFDy3M85Z+uT${Zt6mA^BA6xj==j{l^fUotKOZ;yB)$jge& zfQppp$sGJ7P8%bJO@hs(!2BBYBTJ97(XUzvC{dnoDr-01iGVJ=0B_GmK^@G999s#P+jsr0htt5xA^fv!!k_sKIMC9bh z88xT8$?OV}@xl%$4g+B{*>$QWyNOs6x_%BJuf97wuFW0quWh!g1Aq?4xWxoxC5)z(O*$m0ttl#opltB=3aX`2zpz1d6t0+ckg$s#}3~ zLZkGEVT%Le*^PWY3Ibsxp%bg7CMlnJlbg+w z{bLC?6O!)(N~&4Wpk9<6GdF^JVs}F!o+`>@!0E`S%DOt(}^I z)fKcap*d|&6bv#YI%Jb#Ts3mjGM*g8rkYaK@@PgyHM*i`M-{b+T&!q}s_1g4=ENxW zm}!5cs+s%0t%(;0(F2kcqtkW4)*Q*6r`lj{9#%6S`rp*%CDjN=VP#F#XmbD~Opau8 zvK3v2HL%^LRFy7)trP+H;kxj_vb0*?)HhOlnkv)T&a}C$HGP`9Z9fyCM zMJxHy3Je;#lFU?Qt|Xg6JhuI1)@)1^b%VrDLrK>=GC46E*tA9H2r3VTN-nf5+&g%? zpRwP5*c&-M0BZBf0Es!ZuFOwvB%_=`W`1;RGzR~Ri9!^?8@BijKdXSv%~lR5PME0t zhesEHSz}ynO*iIw4x464_32Ul)l+}^A1=8aFkKIGp=uFc9zARssmyavs?DRE>{+T$ zpQEtj4iTNguBtL31?7aQ7d{T>XE4?|7;0|-wlN7P=l7;)gFkWjdl3J|MdKuGue&Fp zx__mwo#L<$0>bZhRVtN2R(=(b8GY2PJ9ee*RMo-f<}9K6SKthf>94K>d{%!-ivu9r zoy#G$Q*TosP<~x1z}KvX;2-0NM#ruw86<{>x;0CQFf?MjP2Jg7((m7Q6-$buL4cdm z#ga|6?0zGo^VM-x(mtu=iIYp7fRe3-KdwGNm!36WTo4#_3QwL~RHrO@R6h6AY#-4r z_CnU0HneV^*T|?+s+-26>uEoJyPbM@d@o&LEhbwM(%$;R#PYy3pL z&g^(L2J3m~Za(n^a>FcgtC7GEh^n6q+UNw}tJsp@jV8a0P0leOZ{~l7`nTCzaxRQT+l|pn9!!5ot9coRVM_kkNVA`~r4LGBuLbN6e1{bgg-f+vriD^6mu(A( zW5cGQqX#!83I;@*95Eu)><)~ur!Bt!kaC7__izjoy=4+fR?_Wb0GsYE zbCxbc((4r#7Oj8dL&>-+3jh~wtVr6jaN^#y=RkmPL0I!8K^u_@0*JV@aNXmgX+BC3 z(KTKWBNQR(niG#VSIMkDJx8&N?#1~y;-CpGZE4%Kg05x6Eh{dIK6rMt%1lNKtcmJuqW3%K-c_wCeAvkpOOD{KmFP!nVER3V!rS~nk_7qXo+d!MJVn0WG*ouvKvzVh!uzf*tFd^5QSKqy<9&DT6fuIQygQg>Q- zlStRCh&aw*&6cD)U%E7#A;yNP6l1={Rr+EdbMiM>NAlgt0;97+;}iDsjl+T2d^*9O zCg@&+_8fK%?3z_WOwX-#*oV^GqALdMK`LObb9q$C50;_iy0Ov2NJPL?ORty6d%%)# z1SWqB2VPLXnR>>Dw-J}UEe*dSk}SZaoIusY?k4MOF&nsU_D7=~(2X|$)EyRTP6E`O zDEPtz=^Pt$%=mI7WE0RB9Qq9v3AUe~3NZi5ab!^FYtBEz;MH!UYu9+FtBQcMfW0cn zGq^#H1F zJd>=$E2W9>D0R_n%Un3g^U7=+I9c?j>xr>_Oye@kfML*7Su|Dd?@?I=!>8L0%3X#& zLl7)CZW-P$Yz!!E@q}f$V&oV&eSLRin%8PZ=AnpK@gXtcqI(Z;Nt&5{(+ob2C8Pj5p<3exL_L$7smIA2GgpKN+n=9*t0n6 z#>U|r;E##RV@vC4@=zN98pW)IQOG6ysllIul=darWOY%2Q^SXQxN|b!NBfOrtx_^f_gEkZXS*)49(6ke@QsPZ@+2ppu-+?&9g^PN@m$#%B-! ztED?HcAj`n7usxLg9Q~>|Fr-2skJq8rO31E>H>jW>4l0|Ilj5JUWhE{MA9DU&zTdN&cR z{rTxm)N{H3w@1uAM+(gC=2f_Cqls5bqH>V9F$8o!aq)l~WB{dlcGGNBUvs5JXREGK zF=%jXp|hW#?xx@akjj4m(x{=NbKGR9gA)Xs!K+qKY5 z^%WX^SUaB}Y*&+-W2^%JIxS>`eP*cRt&2r)KjFg}xOrlv5VH}>yG>5aQM({opV|km zZj5YcTyi8Da<6|7v9R9@I7`ovY1I;(g!A7&MZZlA8IExV;R5SKiLWaib1GQl*3|%osP=jds=!DF zv+Qb%kDh>Pp4DGjGp!fea=8(AESpGrW^@S8L7;FZDb;^W2u`shXg=+`UQH^avAQ$Z zXnEId+8lt_7D_g8JwH%d1H{ft8+fAJ@uV^90JI52>Rs#Uueclk0AWC$zxJ#5UHSl) z?o$72_TK>ft#5BrHnO~PP>KYWn{Du|?~vu}6Ih@EsaM?zUQwuy4tn&R&LvQHsv`s1 zJQ4saenyHweK8e

ZU)Xm4P;Vxs+4lkiZpWPhQ|3y$7?bXSU0MO#H)lb~FH${Q6U+GU*>A$4w{%ib+ z;?DpT#fYkPY}PYnH`gg;czZ7wPYeT;+OkL677x~r5u3SxzMtC4#iGG;#{@#6Q`pP~ z;@ir0>s2|6a&qQNgwyhlSGo=qLds6|jMj=?9#`8x%xx=}T?78m0lfJzo;6c$wY zj*Bx2b5&S>%E?>#`vq83)}oLfC}x^@5efswC!^@y!L@+@#aa<&x66O7;qS*3iGk^c z^&y5Sp5Bk*Ua7AS?o*V6Du>+qmNuR$fu#QF}yQ|AOx}xrq?&tO_+_5?>Y_sMm!e&ceeGXA zX#d*ESw>&_sc_YMf~`7Q+x}Aa0ng}OwK#o$5b##@K>ASE>_*Ry4|VaOJvG_ zRf7hBamq9comH`A*~a$u{ORp{)}4Ifwv-jrr`ZTn2!q4tZwp-amu>_86St7w25Uqq zPc{}LPqE7SXk9knPX1PFQb~W##+ozo?91j;c3_^XOjO#n3|?BoUhxyJG|f(yIhoy? zgPnUaN8Y`Sv*!Ssh#5Qh+rjPKwVm^S(j0W7d~_Mz6tGpx$@PBcNu&o2^hMx2i_MxG zzf$toHtW!)Rr1lhlrZ$r+Y%r_9rT7KM*+ zA2YSN-8vs-H&Y|=UzkRPWpsUs-GD6=u-mlV+ZZLb_$7Vjg~do$gdSoJe}cSGvfct7 zmJ&Wh1t^%k|5BggHS8MvHk}kfYv6USc9J1V!eUsc+e&3KcsS_xbAPwBN*SB7Ss5mc zOXzo%R;aQYI@hoxM0Yi^LGWjPnkg$R3AE)~EkI@TWiN8y=Img1Q*^S#L5z$GCr#lb z+Hddd<|hhBot9l=v6>2Hv+UNO9i8gwl~i;xi>YDQHIp?$Mg!*YNuy3p%H>;-*JVMzg5qPd5&;h??Fv4Be=vHY^vD)$ zz=My9(gz+EeIGz2eL8w;{G+#qCIHnKwY!kxI>&K8hqBNvQhYqRfaAIUytTz+$Je2E zPxew1VC^p+<1g&v)5jX}#D2c7=-By&wP_!}qxj(qGVVd}m>d^k{kRv9Mu`sXjEc&( zC0s<07+j2gSJCgQ^t)Ssxoo4~Eh6P|AJzn_c(fdq=(K~nzbMN~k+uSTLhzPhXor{w zE0Krpv8T=B>GxTJQ#b6!{$}187Wz6{KkjH507Ty6rL%2RuNeOHpSPxyk8-|#T%h2W zW?m;NFW!jeS|21bYG1310d;I{ z=`1L45$A^4>3VTOEN!mfGa^0>h{McW(+6a6y+E?4nacL~~HdU}2`JJA6=gYlUE7+*iyIAh+tYCL@ zzIv%HA(wkER{(r};cHrSin-i-twM3~2{VKJsCn5Dgri+vyPm2~oXi+Yo_g3LtpE}LTZN`83%E*c)x;jPeUzVC2w%mKK zg7rMU9gSrcm7o9a=VbN$0O+(Ilvr#TXwLA zC*`&cd_`e@?*RurDw%gAbbl_BWyK1H^m# z`QH$YM?8LhiD%^Q-lSQPy!X}9yZnk$be(-_t99Sq>RHt4tdm=vCiwOZ6vRb?781G9 z?>zcVigZ}UhlTQ0po=^pG#q_bv!Grx$)+~U_5%uk@1 ztwS676KNazPsoOT9LJURKa)3F>WRwqcs(1$=b@n?8`|F3{x|K7?W66D?eEt7|G%lX ziX6q5@5dekVsFhb*rOTCh{Aec8h1Q`av}_W84>b;`+6s~D`>w4sCJbh0b=Y2tY8FQ zTCSjB=n51e@$(98pF2#jH>7+&w(kb&iYv4J-ojr9#*KU}uBds+OB%Ud%2FSp>(-17m~4JEmgg)l+%4_UdDRzRH2!`PUx z^6)KBy-75BNgBpWRILr90}SWQ2{g5#Ul<&@)z#fa6)=sWA=Fh0>i9FL^j0I~QFQYv z3SO1${Xqa@yl8_hh75w)dyl89DX4RQ{d!P=S=<_GR9dp!0(#iucJIE)vB;@ig#2_X z5H=ZQ`(n6_m(U$}1c=AyhwTV98>a45s2bRbK_LrO0e~5Sg{$lbO?^3>hH|ZINEGkP zy3iijER9#j?g}O&XqU*22*YpS`C;Tm8=LS%mp%Xke;cy0J-lVgZm_arwv>y1m-00w zm>?T0*~#gS zJzi0$1QP3{z&%8kKQqR_Vpg#wYFh!9s|HI2)o{9*))}a}z;Q_IQ7nrDFeH327Rq+* z95I+G#1>>O1MF_KqpmbrCkxJh2ZD@RHrc#jRUXom%_yb^A6zPW0wszA^^U7MuSIy&P z{QJQpt`z@VjW?uo#OV1-4EnIL^&O(#$O^kk+vj(&vMME-4=yb88rVdCF5u9=uS~2+ zynx;}X0g!*CAYRHJbwp;mlxaH_~OEN(;>-TYU9rovfmKZfj>9+WKCN$yO&Exr>Jrfm6eq2H+XD$S(rU+O{5^#IIU0D1o zrQXisu)Dl?t)j5{r@X{}kchMqf9l9>S*pwDD-RjELUfIhdVD_pxIX7Pfd!^Nig)^qe#2t*Er1p^F@gg>=%9(frn!9IYaB3Q zAS6nvQJf(;>T5-%Bs~dlmL1i1BZj(WcH=YIbVHF@DM_|e-@ML$z1de%U1+<~fSS!( zRZ&s|tHsDv?aBI+YEAa&&F1N=aPo+``WAzyddo(tJ5T3AG|;Gn#lR~mo37=6kC=!! zIcA7|uHoO5ZSQePucRab%f9#$Q?iW`$;EHcatn37Ed3FU&n2E>u^tsBTz$G$b+3sS zeC{$jJ;=83E~t8cmU7UBH{>U^huXtZQh0Sw8meVwvUV{bdtu456vEWjXU_^HxHz@f zg33-Y1sdjyOH2XmshT0X+3hz)ihXpa&Xht6F5>L6cr%+N4U%-O8m8BQt3I4v(d%6Q zd_1D>hSV|wH^7YC)NBv-)GGCjO12pz&x&Ug{BT8;%pyg9XoHjprj~D(7FFEMl_s== zX8ZxQ;s&YhL?bcV`MrI;f5#6eO}Xv*Oz`Ki*_dHMo48^?^-v8}lFyoy5zIY37iu1V z*xQcREQ%llc~+r=@|iY_v>}QInHC0}vo!6|V2D?i`FlZ8AAS8zAjX9+n+*Hl3pgyx z)cjD}5jBy2sdHrv z8URsO4VyZVphI#X!e80NlFKCft0F$-62rn|cS?E1&TTDmo+7_EXfkbJ~aY@g2wvcya_A!1_FUWAH0*f*V zyu|r>3_R=BpmRd?{jrSi`~AdZM&e4{${O4=5jP6NeJgO1lY6GEpf$xgL<*(dKJLI} zNofFo2ROCN=I0luLwVTjDAr6>x#-GBHTP&nbN@xavq9#5fYFN+qA(;SBK9FNAJE3G zU}HC6^A0JBp-q$y0)nn@hyuXpp9gfE%%neKby01D=u$0y7dl%S(+|L)HUlNLY9);TfE!S1M4yS# zynBJNO6L^n#56=fwK7K^uF~xWb{{re7h^3#0Ey9pgh�@f?`yWFkQvX$ZK})JMR7 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�qS{K`){zjqQVkD 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

HrX0LGkr0BSfN^!gu!4MAq6P{*f9 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


%&VEN{&T0| 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

x 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 amH&KhVpr-PSI8L*UKGGa{D2I=w*DXa@UNo) delta 1509143 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 eUwUE&)aX`TFe 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 z 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

d^e%|#yo;$^SY(YLe&T33Du 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
*yB{8&5I22vX!IzhKfO=xpt-OTd5lev=J{ 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

QW^j|}p|WN~KW;b$9EFJ4B!`XrAR`*9CR^ zl7`yW6RGVDjq~)Sc@*;i)1YBlvGZOop1lqAV<{Fk=N|C;!}qXM&!aR1*n(ttfN@qH zdgAt%wD3pqJLR($GkzFLMb5I1xQI9>?UURRp3BKnykCF4*rv15JCLq9-#)hYyLw(8 zvH7aKW%2NT@0KlDocPAs>LF=8^u&&k^&B2+^iK*k$IBjAoaplv;RiTA`O;{R)}oUn z{+1lI|6j~_ZEeBRn5`F0Gzt3a6>w25>9tXCg z@-{Xm`7*Yme$vo;6%CH~NeS_%IO2~>h(F5_e|$px3`cyUBc8t9d0V2)I`_7?%qn0v z*-r{Ip;Y~$D3M8`Z0YD3sPx3O~(Zx`*qYo(>qR_Q+Jv0l&QN%nd7#BIaRjc0EY zcT^647TfQr{QWj@FXSJ^@{qeGZ;3el)#3=h+mOuXz`uEUbCO=8<)y;^s5?))ox@XJ zx9Y+FYHm*)%j0erb-z(Ow4YD1;@(V%JJX8$XF^8{aL)F%j@Z7W_R57vs2Az+3-C;a)y}hIfm;@x0IbhWV>~^mg$MyJf({u#hdwFRhxqG#*%AM#EuNMCrd56=lppcO=LVZI?_2pJK*v5VCPVyNe{%cq zwCvFBi9V{oy*=?Rm$W4DK338&u*@Zi<&7K$7IMIttzLLZqHpV}VPMA%13P6HSnDu< zu<1(@eRp3zOuAnV1G|10*lokW)+}+}kHhb+ON4L#t{UT^mddDUrngMsJBesH=xg*$`sRX<`6PQc-O^E(^a=k?SB^4O9b{&hzZyshmE{Su4=10sH2&s2FCE z%67R9-qyfonwfwk3lOO%kNy4(n?PD<9j}0?;N{y z`1ctqmL|TtFkxxpesKJM(!@K;rwu97%jLJJOWB<$l&RUhmk04zLhD?1wsaG<_3WND zKcIx-JmW8xCdwaJ-b@aUwcawx&fmOJtUwT^geHsVwH(LG&<*G2t%-{d`p5OZ%f;`pjk{{M=IEgYYxI{T|j! zOYL`=80^)hab8G_@ms@;@rOg^0)Brv1c%T4@%}s}#!Ejntn%|7de3SZr(coJp|_4B zvhV|_qGe60lqs2im7n|Z%_Ek+aG9WopTnG<8;-vh&EiXzvHmwhtUSr`GJ~FjlchH# z$sLvAzSo2;ZOt-HU-U2hn77;bWmt8kl6D9SUIp<#ZW()z%+y)=SU=i!SEG+Tk+<DU_y3Tl(|L<`UNWV4|1Puo_t1ac zzu16No`mH#+#tN0u=e9s5rLZu2Y1l~XHI z3-~YLJDY!hAGWREzglw$Q>WGvn?HU0@8xA;y?p6dFRv|&uMN?zxA|Dq;XO?KD;WR7 zz%~7>mhEp)zJ6M*LG7lwf0$)V|3~ZAPp?IP%^l%NzK1CkuW$KW)MRg$_ge2VZ;`Z3 zIxyQiJsdwn#&k)`c{(>ux5c|m+AlpGPnS%oEFl4ZNEf5!VK1Sze~0mnUn3pHkN&7q z0i5{>N|%04_)OAn9Pt;B1_;%JvA55tRY?1UqyDz&_x`rJul;r2lOc7ZVpbmU_o%gD z>QB>X2scXY#t+b!GsAfL+HQOYy{$JMui(tUJ9oz`J?bR7RW8mU&%GJA^B zWweBU8)X{z6pKsYam^5Snuz;d0htWAO$j%$a_-IdHYx43KlsCc7Gre&a$%G7jo&U0 zUbI~77rkL(v;T=L7h`?QFX#yMr@ow>&u0Uro)05=6h=!zztnU#vhcw|Hp=*|qSf$s zaXs5_mWw%tJrxZPonto)saL>n8G^r<=Y7k6g`WCbdd~ys%R(RP6T`aguE872nGIU2{v-5PHna`Lp)SmL*;JB8_9}VOFH*Yo&9GKsML;^5 z#;6Y)?sUs9`zOnpeL*X%n20-%MBM?}=6rGsF)NSyvt^tgAhn{WReD#vr4stfh=pBJ zNA)+b4q7U|_lJ*~uqN;h2ExN%#eGSC{K)%JgC0Q69p)1ASR|pxqDm@zb@RR#dzH3= z-QCrsI#)KG36#d^-}yU2-}*xV;c+hc`ulrUwEUzl7e7GRjJHSGsj){EQXip3Wt?^!}4xUXn@I#U;52v%iya_6p&z znU|#+C1l83D(5AnsZ2<7VM3ZnLYj+L2;E#++R*n}t{mDXwYtQvJL_G+==v;ueM%^v zN}o`oJ9z4ARtVb@za#$*E5!YO7g2sy36{3OQCe+@ICG(IAc?Z{c^P(pXKMs5>XsDA zR${b-IL@RtuV8)zXBpd4niU*-#skDur3Ci`T-&Hy$d>8a4rS68wtz1l8|NC3gUKy% zQOjuH9o`Y``GeITyBsa3;uPf}lE6e+LEAM@Oj=c3l^8Ry0 zq73xm3a7k7^^7a*`g4ia^UVtO4ogh+l(07!3sKWmQbaBMM#5aVCc{lzmRf>(FAe`y z7iHiqIyafUaFYf-DgiwFT}&^6oZ+uESNI6?$3S^BX;IE-n_elrlDEs)pAvG#`))Gt zJ4@HS(y6n=?}n8_=BeI)Ky!)s6BFW(qw%8dGls?+$J4cIy>*(9zp2E24mfjVVqaf5 z3~cr=u-~k7>Ld|*^b=GWj9$YEpfGH)aZEZfjQt%j;<;K*1vn?9r<8=I)mCSY= z`Ti42?0o-p<-`%l^>-V~BM~=ZdrgG#`>P^Oe*e9dg5SqF&Mk@a`}UQa$nPIoDfoSR zKIHdDhwc2nyh`x<_H@YahbRX+I^1ZbRa|mT|aD_z4$je`d$ixUfXG*Jpg4kpA3NVvoc0GkAK`3C}XVfz)_MU%U@} z$tvy(#ijS`Q_$YX+mkQvQ@kOxTCKyo+y-z_Qux~_d{a+)m1XzEu1kB|oGHYm7W==&G?vt=sab5$t!O)v9*o(zhVhD{>j%-CDxQ z!*@(QnGpW2^PJqcj^mwGVqM33*DfP`xJt+f-MRLE`xu|CvcEma=J;0tI|E_an#-Iz zEB8YAl~KS+Na&4hx)cq>^nXh#^<$J~dAPtA#rw*{d*C#c@qz@ag6`@aW>@ZXscs1D zYJg1~0-Fu6??(w($J8DOHwEJ1U*@tJ?KU3itNDElwF6ogm(y}qTkpejo{rJ^yw!=c zzhJe0;A^kQ6>#czXSJXmb70oZED`jZ>VJ4#0nA>II7?JH)1u9jtbD(*XtR&&FPm4h z^%hf`^1aZHX3KAKyY+n~c<(wwUjjQG;c`rE%;z4M^670l^Q8Q-2HutURRI0;WXkcq z-~y|@`MGibL#z##tQLBz`ME8X#DjIARN7{L5RYB2)MJ&gAYniG8&AI8e zat;oPZ|t3zu8&u3B_AC}Xx}|HI26Xbx?KliYxscZhkrWy!E5z{80UXmN4hl{0eQOdk1P=Yxz8X=YHhY z@P28WOYjX|;gcn{hVeReN*2%o=GBByZzg!6I9-m6fF5hyB!!F?B|Vg(h%s8YM(~VB zhLus5t`Yn9BV0zU;4&{&AmPlPFKTFcj}0^2BQi@lJW-y@Y;d@`RuX zU#wyL+$?>OZTw^ES9GV3=@qC?kx=$g9df~UqV4*PjvlhhNSMyOcF5S+czm(Pq^=cf zZcdtNyVsJvmajQE{&p`~t#vD1dVVRsti|9ehj#%yP>L^WF?c$M&jR>=NQ8elOT8uy zCF}6JLLX2d>Q;BA+3l#tTJRC2cK^WR*RuZX)=NqYK|*h$<;89M>VBfU<1F|nM|mf% zW&P+ZuUjvr?ThOz&iRRQ&$Hm89p!ee<#(O*lQO#XvQn1~S22HQtz~qwOI6b)>Z9fP zT>IGla;m|u*54bw2F$8~B8rvGx#nf^ma zk3ObYJ07-w+R>fRjwh{l+~63Sm+lZci*6gfsg5wt1MGMEnZet4uyYnXG5Fu|ie4AE zd}86*6A(HV;aBV^#Fe8jUl-N>>R*;c*a>u~hxVUDy(I57B*uv~-dY-=uXf;F(OXK{ zd)Ds{($xA=nmYUr-ghV5cdwW8Y#Hm=yOgM@Xzs*+z8y)-O047dQpP)G^027$d8iX1 zn%1o^0Xm;Sgpab4b2m-_Ko8TQm~le^R_I-z~~F9QYSM%ZD0i8delTnOC+p?Nek z2SPy)>K8Uf45?ke3c`y)R=lZHSK9S?usW^^n4x)r9{mji`TaQ{Tc25r{?D!g*qcV9 zL(Xk~S|{Y$c>%j@f66)`+y5$%VcS!tt`mC-z@>Ql4y&B20-3h`Zst1S<9%ak$g+cG zV>S!oX3=+)%^R)`)G3`rU$IY#Di;v%Qq&chHvq=!4g-Dp6}T85j24*GQ=bx3pOO@6 z$5hF}`ew-_)0Gc$kvBGHwA7@B(6$hNW5#-a$@ENDI!D;!#@XTuq)i?Tdhyv>Nx>2& zUg8O)K)Fkq?s<1)m$A1z$I}j&BDMvdTNTaQWh^XR=#A+Qm3I<^#`I^)TcCfZEAQm7 za>FmhWyRmGV`mc}JLqd+&f$yfW(Zm?;Y+Ic6;tmiXS3!{^%A{Na|EO_s4;{+agV`& z&g1r%t6WM$+dZaxdWz3W&DGjCJ3vnw8)0ThH$$7QDQ$8U$hW}Pg3`&Z9^-F@Dgz~j zbeINL1>@{3{&<~`zkdlW>gv>Oa{ue=7_U}9b|mLX7me-GSInGxc4)4(a zlAo*}K3?!wsq2MLM8teQr-w;Ayv-ngHh+D>k6_Mv);Fz@-au6m?js%5y#X@(h3LJV8nx7`ReJOn$4(~n&F({@{;Kst4#xU+8bf8GI!F92gABR%a{PK> zKgdQD^LMLL14GlD;3(%VW2n!Q)7IPH2Vt+@+OCQg0)ZK4?wNcE0 zOaDWD{I6#S9tfT5D04?bzg^>qA25dM8n0jPq*J0TH*s8$y3xH_f8AjEG#0;PJ+o({ z)Q|VK8JY{@d|REG0PWVV4XE7ajNdO>&-ojQ*S!Wix3}NFXX!Sq7q)oru-z7q`uq9G z{^I8`>$!gf-4hmjEQaspbpx$`S2vXk{c}&F8a1-n{Ug>pPw+W~w;;d7(*yd}W=y>o z@(3D@>0WU3@jtCO#r&#D%~u&=eu z3ur)5-m8P%l-??45Y3IeM{3<*x%R9OPxr;P89vX{JJHjrCI96JJefI57^qHVh zgX`@yYOaGuC2bf!uZY+Fm-tZ|{&U?$8${i>qdsitoQKCTtJuJJc(antb7pPni6Y;@ zV2p}ua;z~a+89E5{`=A_hh4>S8@SKAw+l!OQ0?c&s#47OLute&i=MQB>j3oZx(LVQ z&xY>MhnO3jb}n?^7G*boQ4e2g%y_sIEi>>1Z=vJ5c!TBt9%7k}OZdL+-oVchnize< zxsKl}WX1DOmuGOl>p-MOf7}S!WQ6NCu=$Bvg~VEI?-B^yLW!wFnzdG0zW-R(Hc?jQ z@a@F5^luQpOKh}Qzcpaj1^w1B)-M?LxIa7MUUbAgCbQHBV9e+W z3HGKmTWBn$NnW~7WLf^MAKJ+7-oTzCn~m26OtLf(p|3|^s9Vh|Ba}kn_oy=Dsk@Cp znJVKh-aylTw7b^_XwIhjfp%#_puKrM4af8XkT6*(nPuz_%17e}hiGL?B4<=1OG5kE z706N0*pW0AYi-Tk1|=;R&tlqLO9SD1&BplwJS%D>;ioOTpN--y{@MULo4pp=y?LfM zkIA%j4~!prW24}Q7C88!cQ=Z?YlC8jeiLBl%5nXFZ|c17b=vpCjII|(m%(w@4}azy+f-|8M_M?zHVub^Jf7I@Xwv(Tn-bT2 z_NGMJh~Or1{xLtmWCj=q!(GKRRjhx7oom@9ab7+jq$zAuO#Qf28iGp!;1d2)=>A3hed^t`Ijkd*m<<8_B^{f(O#uhXvG0<`Dlu@Z15ZR(8y zyB=f7Cb1r_cjz%zTJRej@O2h^p##3ff-iEwcWx4I1>G31%VBq0>2GqRzt4i-Y{97w z)h0pDZvnb+Mw#7q>)}n}p42VF^z|dWucb0+h&=W*AEWld8v-r*je&_&1Bzv2(=u9r zLN`KPcUA%&kOhDA@+Q7lK{}j`Ob+!#`TY>X7d0fT%~i%;SQK@=Y1Osxf2~Wj>*Gy= zwqafMe3Y+@u=Xek?fKHGW6}Rwhgk1}yuaHdF)#RC>CNJ7M9d2Y*DUx=4t-T%^M5l2 z$q6_YZx%S;{9lX#d#9#yGusQbOid1dkmX8D?V7>l%XHvaFC(`G=$V@f8RG7Q&=Lr}Nke-f)CZxrXz0E``w7bec#lkp-y_NkZc?Y zkY(map@-!5$tweKzUZ>e?A=5yGf~qCIDXNl1CBNr;7HnZz%c|kh5$#xa767V;7Ayb z7y=v#!x2M(W8p^B=@1vQ45T&}h@K1O( zY7|ntMG=Spjo!j#L6yF3NN{J4%Ety_$Nx^yWn&BHOVvFA`c4JjIx53|{eA#uR8J@C z8G334zcF=nC84{}?m)VAAAZsnc3;7JRlaK(tmdPoF87yVM_bt0c|Q1(eRn#yAJ-p(SD>dtpVd61`w-EBV{JNXPSQ+jjjk@9 z!PfJ$Gk{~1^2oCG@OOgm-L{3_ca>W8yJ4JE(h<5FWRP9_q;nVGe=~65UHaTIe0>D{ z7vp^ChkXB_XAqiqx^nwSq+lJ?YwIgY`~F=46aMfN0e>NG{C+ZBx!OwArH?CXhu`-7 z>jKl2U)ys36<}+B05-=4dlq2J0rt=k*gmLb9n=DH3gn3@9{61zs8dQvfdW0{VLj!c zJ&{8F8!w*WrM{16&74hAJ$c?sNc{WtF7b`Mh+YJ+$2!Sa1#98wDNyUG01N-YK;HvV zWg3w>+xD;K&|L_X-%w|L?XiDRb~!*B0D2Ii zE<7DsP!rQTXo<`|Q@T35PwEXn2)}=czsHljmB0Dn#+|g|tj&SeX`2IeuF1rl#%6mn zd@T={WXf*-u4$-?wG5y-{sMEt*S&fJZ*3YmB{|WZ-$FZg?H(N~rdqFA; z{{!~+cf_2IY~}BqW#XK!1Ab%pIjzxIE$+oJ{;mOk@)jVSY}yiNoxC;B+I)9F&_+BV zZ*AHM5{eJX?trhDURs9lcOf(?0cDgJv;?5xBbM%CtKeOCSm#1QXL!L@!Sf>}ySkH5 zALpU65Z75E&vW^3X&Uu1^l&G9beMl=UsLZXnCIbf)ntm>algg$_68j@W-Gd<@3kSxbJzb4%a+k zt9i`jd>odGaWI!-Z@oIMm$WR$5!u5>WCv+o&POD9Gfma4Zwbs~>FvFr9Pj-J>Qs{>VkrcT4= z3i}9P2_}WJR^!)Cm4&0@`A?&>e6JXtJ~2Ax@?E@#8Lg*&P?od#e7&t7S?f}G>%3O$ zX7V=V@HS*J40-N-wlo6&z45v5Na9=&eDgJT3VVwc0sB3{MR$s`ymiB#Loas3C!Rwu zv*K|?6VIR5*y3>%hQ@ES;$atmQqLGaG=AHiZ2w{P3q5}}KNYr9=J2;H&2E||d>Dme z#_gx_wS)v51{vb>WdEJqzTyir#8RNXw@k{V@6(u}J#=p~^*vDc52duWBc_fi z_prJ@i`SjO-|~7y`LX*;1oYA7klPk?i79&7&os|eQuq9VlU$*tBiQB z#Ls03dG$_avujSf2RIMi_R^&}ZB+oRRZz~D?)p5Jy>V$YwP@)f^sQdt+T<}!kOYip zYn$bE$d6@Yx-cJx!ruxUJllkh=H5UZeP3AFnU6 z%|2gejvqRAqT7W3pUN`aFr;7q9x}*~H^4-@ zPTMB#_bdbc_?uGIW_L4n8}qHe`hGswJ>5W0Fp!tF--mABCUn_^x6RJ`&F!@7a&Oos?BV}07W*!ypH6X2 z;_S-VCUpz@Ep>JsvlN_2FipO66ky9zSlrY6_l{J5YBA8XCr~vtOn;-2pZ=m= z0n?b1_XK*355|TFO8&flIi}xGi89C^2V?4nR6^_dEqt$r@9=#v6aP;21d4~mb8M~* z@fy;Gso^82AzxXhw4bmiz*4<1n3(EANELo8PWSS*i}`|l#mnRDHWG!~8NZHtXO~Uy zY*wyIw2y#)+0;_za-4^cx5{2;Sv?55h`Q}gyNGo*y9km0r0s0JwyK+eVxUCOT4uLb zn7Vzajl|hyLv05-wzKv31_22f%0T)A(lM>?abBO$(O$Bh+k`Z&vuq~bkUVbmy^Zo0 zFItt z|0XMcN8z>rD`NpIL*V?ZWBxd8I{xm6bJ}#g<%o0IbbRcHd)X29l_TzHN8B+-oYS_$ zyTcxT=d|s}+#zf`*8NA@j)0>Kr)|d=M;x>55H#C>xE>t)F`A|w(OhP?#ZdtthbQil z`5C0Odvl;p0&cjQYYe+BjUlGjUooyFWxmrW?OzwDx?~d15d{i~nv-mrqw10f$Z@DW z8AmlIA*%JODZ_iLZQZ*AcysQIvRp_T*OxSZk?@~T-uF@{LMllMq>W5{W)Od4`sI+L z?P{R^f0io4PfL;Ti)cea^(x$+1ive6bF*Uyvms|Zq2O6Z4{Mvk_8fzAbBLcz&%M`i zn-%oIBzVbOZnq-NGrM-MeZE5jNli}Sd$`xOhuiku9YSXkUsW;vm2r;!cZZ$U{@oFO zcbk#A+0ScNJLbWwjybYr*!(??{C7F>JMC8vIO3f4D}Um17O-vYozljsG4)-4ln!9$uA!&?gyqnGfHY_oQVn4k4Jklcnn2d8 z96`gVQ;=vbm4!jh3k|DFUlYiZ(Ox7QaA|K`8pyQX7iaH#eY1nz<>q!ag?|XN7d;ec zFaABXwLx6n)MLQo<*LKx<`JNFk8qotjxi4h(rtDj89SLys#X7!?JmuqAjd<00cO3D zO>YPPp6Z!&68<92JCE2YX#5|!ZOR}2qixFQokCW6#9^CKxRZ@z0U7X^p@-tVu4hK= zHYz1M1+R{25^Yn)IpT-fq!3cIQ`iLmK469(;kGAn-nq_^Umicyw)(i8;*9CxfZfhy z%FaYS`iz~4b|&Xo<^SGhUlLz`|1)=r`!dV$nUfX*~R-s*o0sTVGAOB$==~vEQHl2{8!1lxc!0gIK*u)Yeo(maLZR-2F%E~7AU>P_(LsP zuw~f%UTM4d8nxx?(sz_iqv;>A(u=)r^e%B1kfq1lQa$<~slP~3X81pr`6sJPAGO>f zqR{Nx?S17HrRd%?aAizRg{U_ZQCH zm3Wt6`Ys_u?|@NXHIvxx9$d65(U#hPgUihpF4>N>w_9as4*2q6%2+cDY@>x+jsv$l#W<_}Aj&EDn@LkK zKQH*-E?XaqbBMctcg1bll7ms?@!+>d&xuyjJr2*&&C1LmdKxqOi^WBMnKQwz+CH-JkTswbg#3eGh0aA}@)rcsAW^EYQ2pZ)HJpvSKaGoM7< zoBtv1gP(}Q_I|#L`%>5a<)I-u!Eda%Tr1A9W8&j@zLXVz6!t~b?qN5RH(PXQheUov ziA+-usBI9=l;d(6wQX{yJx0^&!>0}GX1pj*`#HX0gKO5FTBIH0Ecbg_ZlkkY(ZX>671IZWaw0v2y04;`)8Q6o7*UB=|M&@G9}R$C+!wCBVxVrJBYhQA7uwK zZTo8b?&0Wv0{7u&m6go%usuDtn~epQb-tYCsAt}8=YEgS>vs$Pgk#F>y1T`@#h8wD zj5p?A@gMM7&+D+ykL|mKZZ9P`)Yh^c*S8eMvEOP}jsy1xEx6w?j~;c7w~vmYHQHG~ z%h4u=l>kOSxxeyPF*Z_euuK2C+V1o1;BIlonH%g@Ys;;hf7iBfOsy(syqUO<$7su2 zyP5w%*h42{>S(!4y%55lZws5v_+3|yZ)*1FkCsRH>yI(jD0kD^Q0rDxLnz!uoPJuq z+8y`PQd1s3FUGO^As*K_p*-YbZ(6u1%(JJKOr*91U5#f}cP_&I$2Y&HyY3kg)3-^0 zg{xy)UhqQKf9a!QW{ouaI@G+ML9G@Hce1N(S}4e@6=LdLFq2bVEtN^392c4VWLA!w z9RGOpqN=uOI?&2<%3EPn+u&dA%eHBS!MKm9@;!o<7dU8nwFS?2z$aPo(G)KFc?!TQ zxP777Tm-#2A8&`b>RchTd1wv>sTQSqG+^9Q;iBFje^W?nb6&8{<$>Q(L9~~WwEa5O zFgFze*5{RH6KaL{Hu`Rh<1l>)4q~2k?qTySrcTD2tpsrxdWTNv?kRxmyDSv2%B8bZ4ZwA%Uwg`LV%OrxPGJO$3rKoHLp3dmNa zOCJwwf4ChW=(_@D{yTBJ7wi#lVVqDd4LQ5GagXq8!{V6UpW#fX#h1NpoNwME{3PTD znTMzRpcxt+#F?$y^jmB8Fdym6+lr4=s|xVLE!F5pW@5Q)vqqgRu^EY8w>tE^V3&G9 zIkN%D;PUVeDCN>XMhZQ&QnO>9tg!yhKS!#kT~~q2#)hbc!2{athA<6!>kq zKQ+{+cop+C?48C6gmoKtP8vwUcFc#GlT&K$OC#AyHR!##aoeONH8FMjBwz}5h4*Hq ze@vyY{<`qj8Qjm=kI<$rJR46Tjo7ACI%{)D%M*pciQX*w8&jJQ4wyIMFSPx5{7s&9 z?pf8pUOmg0R{eT9zUd9EQo7Yk@z)bmkHa)lj+e}@y83u1CltgNQf32niR{my;RbIC zsR<WwmeN!#ltuX(-lf5tAI zv^)|DhMy30?2NnEy&E>arc|(VC6&%&Htzz#nDJvZ^5St{k!H2GF#xLVaw!HAwlI6l9efUdSuF`|Gku>_dplU(UF3II?>49(8lUa)l8f#dwZW`MK--QqxiJke7 ze94$t>(uf^tvKtww)=DU+$HwC{GfO<4srVZU2HFFlL~{g%(JS|-4y5HnOB%$J_=#Ei4*D&6Ted)MGz`#XA!7L@Ge z^v4(%Y^f{>vhx+S2upoP$+YrD_S$6uMwgGa4v&#u*!AvMZ~#V=tqpdecJ+N*d_*<{>3!%!ECk>6c>qMddB%W9n2Uy~0g<#XDhRU|h!p#hFyQ8VH*w7!Fe|*zcP#pv zIjLqz|6t6xr2JR#U6=IrAU(4^9QU!?e7AV}W?nhIeKS57*X8`;Ze|mqPktG=zcF;q zyeyj$BZx0y7sxAIe_iT|T$!{31fe~8_@c@5J+Ava=wsB3j1QtdMW*@{h&ReFlBG<^ z+Z6s$)N!*_$17GHuRtA@33XHk5sG!lw2lXCbx6F9N=F@nm)L)|xNl93HVET)DJote}8;vut)u{lkgtsQS+j} zxyV&TUjY0gfQSDbFZ=NSW!ZtDWxqv)RX+*tV{2X03(3`~W2m0=Qc^|dx3GbFiAYk3 zBuRo_FWATQsoA6#V!9fC!+CZe=h@5mv2z>L`*#_CsW&|_{pRv1Sx8c-%V*Sr z_6a?7O%U%?4VD{HGN+T&?>LX2r5>!8DDQeB-9^M(V;Aldyz_j@JNM`h*EiCA0M@5| zUAbhlt?k_xmuYSt(m&TgTp7J1&}Hm|-f2IfE_k7|e`Zu{T8)H#GhJFY3SZh$q2=vO zwZZAqhEdw#nDL$jT!qxuG#Mb9VF7%%yL{?Gxt&lY-2KsLn=5Cj}9n z$=`QCoHy)aGGv#!q?}qXNpFwj^t%w}(x9ikG77Xi3cKv$a^WL^<-MEd#kXWc?srDU z^QL>-e=F-DZ#{5Fx0Pqf_Ph@z)cc;J-aN?L2zeWA^;&OO?Gt-j1DCb<8^HURFQ@jx zhG1LKaY2+yT$EQEM@M!`xlE;)LZ(y4ka{vr5!3IWp>7sZCsi>2-ef7A*)dK!&f1!ob$x|bNXDDYpM7g)!m=bI;CI_`c z5j6$UO@X#H2U{YOp|3VfQswF7!6E6Jg7!BSzJhv+D1E38M&;3@HF7-s<^g_7F^`0B z;Ck!XyKWiY7A-5(0Q_l-To#%ndkBWx;Cq(w0DZAr^zDd#r{8F*r|xIA{pcGF@0poq ze`Bx??Jmt|klPZO4N%)@70j~7;3@D`^OfZaG0%jNY>5V=o=Tqb6q+)o=fYZwdWxub z@3eZLWbQ~d@>V12RT7n79z>{&(CWVqA~Zt6PqSLF?B%p_6Ba{z3D_fAmfD z!1uhMxx=5~y3CUCB!5$Vh=iYvzvuHnKhq6G-D8MZiP(1Yz8MYk0==f2l}$m`jt0~a z$gmnFg(x(pE}VpEBY575VSOuo$D6K`cjIRtFZDA!QD*<*hrXN=#8M3Q1*H({eWfW# zxuG2P!csgoqJBHb@?l(D-~Cpgjw7_`45{C+>9^~?`Ln{-C7O>POseae2-&uAy= ztL`eV1U~dMpqHoF=;zNJXC=~r*o#gN+V8q04LJFC>a%WP(#U*LJEU z6C`o}o0ku8nZP)cw`E89e+AsujZ~oXThX@3CvfbVFE`F`gBJIle7WS7vrK?wz z(A-%z`TdOn!AqU$kcHkK5VFwEf_8cQive-Ya5~ITsDagB|*1@Ye}{7sKC$ zLHq6E7=*^9bg9>0e}th+gYAWFRO?S)u+y(_q@C#q%?fseW;h^cJ3<#h`~|@-Jy4)YGwg2l%kmU_<8@(s&^ur1leS3rdLNtZeHFF#UUUArtf$~NrcbZHubDyf z+L<8Jyj$Kxd6Ze5suv~dW92@Q>BU_eY24}euz6kpe5&_ae`%?-Rk}}l%=?P;!E9ey z1+mW4sej0O*m^aaFGbpV5z|65e;fG~ZVq2`kt;57KzttI5{H~G-iwa5jgC6}*#Z;jF=x4-D!Y>Q^wiQrsGtOntFX>#qgroxZ06gn#h6ld79Q9EC zVm8CT6UP8ze~t*5N6A+h1`3s&0R!~nI-6l|7Gj`&L^-+!=^fxBcGqT8tlt10;LYS^TcrEG7JR+9$9sFL8w*^YMMT{9bmy*EAVke~jA#I^xQ3X|AZ(1JcRo6&Ir& zx5=<`$FYNypAG)U5i=QfMSxwM>-|A2>jEe%{FdNhF1lCHFluojA0+bNM3PN)7A{&6 z$V6&A@(S{V$qG3L%RU2Ak-_k%nv7?djCQWPm)-Ttkp>6%SH2CL&P15C7fM~hP$qrp zQCgUse<#0s9(u9DS4S{riX@S@BuUMd2M0l7j~obPNJ2NZ<6dU-Fi}Q%XJ$~`->7DC zGeYz^ojULt-wm>rA`yI-C5g*;2OxhHm1AP+SCr$9`qD^ybb7Eo@(cJopYk8as1(xR z&ZRym8c|NG{6(73cd=H+rzW0x;i+x_hZ5^Ft+qoG8Gi%lFYU2KI`cLOP5qgUo8k&2_zB-Ya|* znn0`YloD+syUu*3T+76hKM&Wx{&27G<-<~)$y0@zQ#n0g>C*1w{$g9>aV}oh==<27 ze+ZPd<(YEkfx{0yiE(4^W4>g~SCM*_fSjG`)slfK5uc2)9Suihi zab>yQNY0k(l9B6|D?TNfyQcaKn8zxtl2l*5?`%?#^mEd3^Lt8t@^QqMoQ1CjOS?!x zauYFcc}FpS_jmYvLosiK?`Qs@bQ!7Ae}kzpJqBrF`budoNlliC3N=4f{%J;Pa!g-= zu#_IXB>Eu4_2{M1wYc_jl4&gylRfnJ=SoiULAP59|5kH__aWrOWGy-TNQNtZzPbKB zVMhh+HJ+mld@ ze16C{{_(!Val}+&tb9D(-#89kXFpTk+{ttn1=1sm8EFf4HR|I+u9$uaa2&!G0P`HS z#y8gTJRe`dn|^)>fR0LOonOMGRb7YDHh?Y5C= z`?*dE_Uw+(WsveEDs8_4|B9U(e{*TJx<>Bj{RO-+tT+|csyaQ0oChmiq$}Ld^)gWJ zL0+%0B`bwE17(Hg3xjOW)3Q3?`~P~+Gd`(kQo`?QE-WqlvUr239qMZuLc>vpGtG`* zWG3SYHM;LA#74y>#6hA|JV0@f=uXFQaM|}5PQ|M!4)0gAcuISc@cdENb|5_eU(}aEN6tlCy-&fu zd-Bt$XB=%Gr0~Asb1QYeLK5|ch$}!BiLVFYGIP zqYV10X*`_;xmG`&$Xk)ja_U{3QPz@w)BH3XJ~~{f?2EQ2DW-RKu7-Kq0WAx!5PIz2 z-p|%Ho|oa?e{r@=@A0SmnH-u&dTZ=wn~&cw^ule9GtXx%c!vZ2f(1X{0Y7NLf8l_? zX~Cxl?Y3g?-7oGJvzf&17vJZx+u(dUq&*ke+Vj=@LSJ>ULyz;FRo@lCOxs;j@<7~P zP1qTE9$+$DYx9g?oeSu1^Q>T|3;)F)cQFdW`F5l!e0#ShQoVzNH7GC-4!{+b0s1ktFFqf zqVBGXf5#%CoZ^9aBZyq0oZhH-?n?geRdw}rPlBJ{_viNu(^d8A)m`=K)jQa0<7Yr& z9pG(Ft>AreNx*7b>NhJG?U4x|7#ei=NpEtdmza5f7qI$TZC}COu24U4a==P^u=L+s z(x+O|Op z;U2bRg?WB8lVQOyruvQj?NLa}F!_x#PZ!-;(dHBE9ME^3ga__Yttf|gGKSH!Af7NH zdjaTIiTifkQ%Zz!8EG`l5%(Z;9o>rZo3DGl3-39w*LaY2?5sfAak6=~sm}E-X4xfJIf}G}-y3?W4@*jrM|nvP?{eo0 z3HO6Me7}ctN1rzIzF}-fyZmrhK!2pzV=NA~)jpOnUw?}~%l=Or=d$+x(DR@d zhLaGRZA>@W*@b*LQRu%-bO;S4<<^-9fAwYOzLTEVUX(QqyN0=(LVuX;r8oypw&{MJ z_cR~R{U`;AcIyCMH1+(bzR1&@&crmkeVfZ6t-r}*$)zhRj!9Rd_srPXPr5C%<^Doy zm%)&6c$(QBOynE(QE^Z8A~)p*D)$r^=0l1_Xo!TM?uUm~K^g55slxLi?nVi)e?@V) zg?Z)gqj%uw9gTNFU6i^3H0=Xx}+*fW8<(Hgw}W z_fh`M>h5;wXr+^cp5}a1=SuFsW*5CH_>BH4g!o@$f4Q)pUSr4j1+Ax-+H5CP0>xQP z>j`7!mcNa5_9Y3Ihg7>5F9vJfe;wCJyChTzlnawjs@$_0j5lykChT`!wTsv;_Z-t9{|L)=Bk$!RSJuzgG_wu6he{S+X=Wwol}@zrN@tnzXWQbhUdef= zX}YI#8uR*N$f|4o!Airvcn;3;pTLQucs9rOG4rWP{Rlk6-lA;%A;@9_>~y?G2AC8{JyImF zo{?UiKI~H3ew0e4axVv|f0tv++V(;Txc?@eF?6g&S@5(9mwEb73aumNmdLlf&?NbjdT^Cd~!5`8CswztF~` zzv>xw#!ZqhvD}ce>DNEQ_{Dg3#;E;h(*s?e{EJ@8+Sj$-Y8@N zZ}Kg0bH{f)JRjN3U$n?`JopUbWwc0mvU=$md~pD^OV0~f?Wq6j8M{xl8G)=E{L{~H zzC^phb7+Tp?GF))9@V;M48BBUMnDf=8bB{U#E|D0W5{#JB0Z%=tDM>EMn06r)}o7{|e=uK}vbux2pD}1cC=1Jk(<}VcP)X!+?zop61emFmb}DfuN%RyK zkxz=9(t=h~8@+TjYk0RYzHz=|yFLs#=}AA5T32NrNt)n$F}{c~ecABmjaR#n4r6#? z^(g!KgMnvY4xWGoPag{&l=%Cs@oKt;@Xdcl0MFlg*r85=e{~dkQy&Mda%P%^VV9oj zbA&c#=Ti7tE_c^q$lY}uQ|_+mS-wwp1X$m&{yPccFGU=e&InYKaV~?$>TJ_igqlgU z^B)lNObB`Z+%J^wPIo|G!yo#B>L7XtjPy(ly*d=_im@@LwyMIoWuG($HbdW6n&d;eU;D)k|^Q{4A4SN1rwH^(%M{f71cf<_1#1E}&Yk3#9ws5J(MN z5J(M}7f97y9Y_uOQy?8$6i5y3vb}Myc$VKmZU|UyXs>HQ=vl*8ku=-T)tgOq^{xsq&4sG~ zt6E8Qy&(lt;Y1~&&v}1+^(@ydyxDe_``+xw>uq<+?q~U1{XFBo!|LH$Wyq#P<_D1L zuZQPDzGUQ@0D7g=BhWfn5%jGfdQG5Rn;s2Pf2-jsfJg&u=p(4rp=>#URlNLbZRPi0 z#miq{tM6bF{ze;o-74O`g*NyG6VKJQ_$D*{PXVj`#>iD%&H-EU-B2d&;WGLSvEyBe z^~EWx7{8IrWuXKP5U`|JL<_c4#M|KxcK$St3>7HHPrCp{)UaMFhCZ7j-WFiCZA0Ho ze-Rh+@558XJNWlUSTP5k7kG|n#@#yKup7bKGTrQxTWozY(~Q5$uB&RsFEVBBFy-o1 zhMnWctuUHpFt)b_T7_bF3DUno+=qQc6YldRV4s~Kji1W&xAgF$K77|0H3zN`aDu=u>aLD5bj6AUebfyBeKd~$*HptS z6W%d2>O^kcSKa!k>miqy;O`7cf?X_hNFQ}A!~qpKip_qep>{3Rd5x0LwgQ+HfA?rr zj!<5E_@2fnz+FWptME4?X_ZXk>iKS22(3SkFdmyAG#&3S+O%;M+h3EgPws+gfHoOo zQcpg^>#I1Q;kp2)d#Ii6RoupPGB_9eSBTL)is`vBm>sJay@}Z6k z0wZ7@;crGOOrXzBcEV|}-&k~OS95)gF~f3oixXzrSTl{+VdQE?7f$MbT>vq&mu1Pu zZ#r`|TiX+~n**^hS}tgpE}n{YJQrfDxk6uYI%>jdPDioxh4UR+S2KGHvY2e18%U0X zadZer<1VyXvOJO+$>O3Ce_BVmf%3kB&|^Z7=>RYsGgq_sq3k^K8s~l?eLcjRWsrpa z%gdbITbV!7GK0q|liF+hGTR4>Rx=wDaYqqdE4yJ0ApK%(eX(e)qR%lU^cB~yy?-^= zk)E5QBRw}@wXa3(=Bzf~5ViS%RR3#oO5kuSR&zT!NKK{t&kwM9f5D)#^y~(69IiEa z#8hV4=)<^}NBa@lqopLQkI}2|VF+zOGWhK#o*M(!xv_6GJ2xk23yryPZvTb$Iq@xr zJ#1S~XNRml4=GJzmNCba-@_Df4U=s{%sBI$z05ppGcQM4!+5~Eh{G|&kT^p>WVa3A ze#lb&y8_vD#C(Z4e++xO*+0%}QP*(&?(>FO^}9oB__{j3$C?YTVf#>8z9qmiB->jnZnhbLXS|5dDw#jK4C%1?i*g~wcN+F&S`!CS}t^fkO6 zZ?e4$=xa=$D|EkNI^^6Y%WsF}`Y$lp73#e$pjsMfHxXIsDDqSbA|wtj&okc&i=;LY0I zUbKeu2C&Uv4((ynb`AGsgy}yRbRUzs7jo=%^7G@~HMaA^DUa-VW>R~%X4#7ZS-OeP z+cviB?`zn4e@F{|28yw&QX^@{ofbaAN;ChRP`CAsxpiM_OW)9#YZK`OTlx!Tem+*O ztl{^!JAtbDGxYnSVG*k7@?xXa2hr9wY_G^j*Hg{JHtnP)fp|2P+~ZD5cR{`@D0kVU z6^wPELmJc7%hu`O8h%f^3;JYJBeB>I_{^5}N~6{1fB4sH_&xNV0Mq@-t|MWsF|W0| zp}fc4dhi~o)6KLkGqjSpl+$kCPr{d)@VxAjwY=^t@=|^Dx^~YnhHc-p(EL&h}U!UB8SD z!*bYjR=V`)@<3a7<*r3;$kT!J@sCm|r3R<T(}DU2T_pM9 zf75{?Ph%(S7#C3f_ZwX9-n*`+?V{3k#y%)*HufCc2UkFk1{;W>&qeLBtm`SWAL=Ep zcAZt;pUuVvcT{(2pk&skx}=U`o_)eREQvEe{* zuH$>`@<3E%??SIoj^(qE|A%h;WgN@Ue^>l&ICUM<-}-e~drx`BedHyG`=ue%@1_1*kTdy= zOP{$cpm#nRXls6cn0}!?^I7Pb-NSUenMetQ#PhZ+hUhz>hW!Bf1MuA!`xL(W z5V<6yy*I2L@PB~slrE&85gYY|e*?eBQ=L!bvLY9K-*`uMh5p0aFkn5WNglPm4-7Tq zpS8s|tmp3rkK5vZv7WzIJr=Oa>z%TmjRV$AwAp@rQsWjn*!83uj36%|_&r8pRnFoIv?evDZgngZ1eChN43851je?}Yer#18^ z`qeOxgi|4A70^CVGYw}XzU-yvu3{9^T%46}COEbc4JGs|IqxwDjRI^fbDw~`KG=)j z#urFOYVN-Rljb}TU{L=8sAi)~c|b<{B`+UlrNj6NHBjD#_CeEJQX~pu)~3~E>ltl^ zuNi<*`ls<;@K2;JhS}{qf6QIa{VP5n;I`W)Nza*YIQZ{|^^7jYHMBtm>m?f7kCgtFQPTwTGV=aANpfatyRzVwe?v&+dtF>jdvIJrm`(tPV=B}aPQ$-mT3+Dt5z^|V==GuIlljIbjx4JAGC!>B_uIx zU(@#-w{0`GR5wb|AxGxOYw@AEc$mH{(uiJ8Xn4SbICV0Q+r?{q_+ zV{#WsZD(KvoG?l4gTQd~lL)`b;P${{(7t)KqG>&<)ad^hhf=;jarN!1bbo0sKvpeF0Izx=Ezbe;pT6-yF?JKafrL)(WZb zh})jNKb!6uAf&$S&dI+wo9?O-QeXc_(_4zR1>!|6(jnXeb&~UdPATmW{)F|*AD({) zVK}w|%q`~k4C&kxiioeM;Xl_Jaqq+I&(y9Vet*I*nQ$c%z9mCgC?+$Sr=GAz^84fd zOg2w=dhHs2e@419?kE1DL{SNmRZN>y^iH5dxEku3d$|8##kQ%bBC}H$D;_T*6)FCf9w#t%nVNuoZ-`?+%sDx8(kUcGPHLqOxGra`;c+smOwcyi-;gPhYO`-Qs=h7 zq|RLde~dqS#z%pq@OB{8{vqtgsrEy#^Dn9OQ2PRg+};M}qh-1@G3-V@Cg5+=X4T>g z#!a%4*9CDtM(f8tCyi_j)RT!TLSy*R~#Z@_Mn)VBwg z)fYK|!tM_3myaMH&139$XK!Gwa|YjZw;iH-$VBJ?6XJh2{70Ok{r1+kQ%w0hH=*rs27TzP{XSrSGDjF zjA=!9BuS5aH;~19KH$ZiBk*;FVBMXxf9_5ii?3W6X*R~eoMErXSJBX4>HnC*_`g{H z?HdgFNXReI9EA3ORR-dKF-CD$IY~yg2aX>p(_b7jlnY%Jgi+}}z7(xmX2OrwjwXy- z%5_@0H!zzG$>4i|Xo-w|6N2x+N%29Ti@>--$x)aui)%$EN`AZ(u=ahQ=ehjUf3jLD zuS0#F`zZP>&_ccnFuPix0X6cCAv?gnGuo4)Mzy&xd>GQ;eqemFw9uDa4sYo5S-XRK zYwdOi>z`+Hpp}q{w&s15dhi%FI)3py)6I~@w&t<5qtBZnjO~lIOZ3TTpCZ{8Et5#} zzEM_J0x=W%X2RD;seO)!th5T_e=Xqx2)97^8YAq4@Hi7gI^u({-nUiUQJKx-P`I^| ztWTVY&vPFGE(PyQct3L~+(JFx#@PD15a8}b-U;l+aw*)V7fDLOF^-^(>O7!Nk+a;Eih6skA8cRg4+L=QW*VqzZoi0vKAAE z5@Dpi$Zv@mNQ7qn)_td{V5UhuZw$ts=4xV7P>QzmgQ8>%kJc? zKEW(A?@olWd zsQY^5g)DSu+)cF#pvC7yi``!Lob$1L7hwC`tbLO`*uE}k4{M*Bwr?`2cCq%kX#2{b zENGv5DE-CuxoP_be-PQ(kC-lvs}*wmP$gervKMkNsR>FVRSl3q)Ue>07)*%$a7;br5Fa1y;E zaGB%G3v5rvbX+$gwKacoLULs95uIi`T55A`WL{~ejkl#yd)Y7WJBDAe-aW1{fJJ|X^0#uiJ`eiM*+%yvFY!A$k25*Xp~xvwYug|54}3{Y_;<>S6g^b?L3&nm5FA+l^@HayU)K|`n+yt z@ns&?XKD;iTW77?C=E{C@iCpGA&sVMSH`B1Y7uT^`|v(C%F{A04{BFObL;cH3i3xs zyBO?6v3XQZyuqEG=YiUJu)f+_z=z+N@PXP>#Yxu?f2EMt7wrS0Y*@m%q&wS^&|R!v ztTxE8bKM3?yOm`zxsjIuY`>Kp~Ih2qZR2odqb1JC;CBdIpH+{ZO;kC<$ z5Y}*FLKj2-%8ubj=6pE2$6Wcm*YVBR#+So>YvP&IV_yCD1M5GpioIbfd-*FL?jXiGMxLQze^a_@ILa8{`ByON*P!#M^_{5HXvE!#oW}yS;AMB*HG?E~R|Mm(c9PuLC)ghL)P3OciTW3!;yK*m ze=ef_I+lqTzaHXS4ig0}56M#MFz$%XI@DxIABG+AFy9ejGyzIKECFN%l<0>2w3J{t zBR$@ftqt5AzL0FCAS|_h{Ds>VA9oFee*79+2rzJ-Ano|AM@hJqFGce@7q9|s@#9sP)}Pgwa>W#OZ-(G!c9}F@K>A;vHr@cstZZ>dv_cE?hyV+ ze>=rjr&f?b61@Z{8 z;gU*1!(Qk!QLH4Hq`OWU?Q>XRI)ppp6~tet76OH_r%w>;m)uhk1aPvj0?KqaDj2-S zC}RMzhC75uV~`(UDxjRcuog>gf9XG62g$&Brjf@@!-dZI~kT2nfNWlaEGg8Yf&!w-@YSs-!QNuX6FCLCam%XiZfyl~&e z8HNxBzYB=3s>AUC)Xh5MPNiMtdXL@Wa&}3 zh?2o%Qg;cA`(Sc@x3$lYe>LKRNva!qW%gh)vs*}n=0GcFhi(#{3f+a!SY9SvSvN)~ zWc9-DqR~5 zcnYIt-1y?b>?1jln!(>>%pa6Xk)DY<5w6t1>6s`=xqzOT0`!as^vp5pq)%lO%>P^~ zpcSSv`UcL)C$hBuf0&J&*1xcp>u6#8L^J*(GoJde*~sM#{BUOdXpSYOU1FvcnQ5HY z-no&{cZeig@g`&1ly;4FZiYcid#J&O4cmFzkSxG?XO$gP{&>#rCg|bvM6o=4e2o0g3{z{uR z1!`VRzHzi^=T~7|qhfuJe10Q;zZ{}ieQ><7k-uLKP>L+^J52cFC_G=o2R3payXV$f z?aO|)k>7t3f3|zkH)ed$7Jt-?S8eg`mwEgk+dZoAW%hQ22M>mzkWd4zmO9Y(_uvuOY@BIt2EJtqMXNXT%(5#1tBOmDvBk1zf+NKHTv2Jz3|X zB}b^0f2AqT0ARgW7)kZBw+Uf~Pe_f`6tu&Owu#eYhbub#C4_!N2xhb!>&giCD^i6X zNrYtaZdZx3gfxsSAd`|2rCoYypqu6#2D4U(gboPN&=Hp*BQyVH#>>O8cM`q1zfvwv z6f@1U>YUL+Lzf@nZpwj+=fLr~v^Zxj#VvEGe*jvKY4^Nr=;sUieZ!Om8_>5xsTX%< zK^97cGNHU9@8yBei;$X;-heM(o_=3Y;r`|u^O#o`Ugl#j8+>Nza$4q4DD$s|=WzZ` zy~3FLnzqGdy<@I>nfu(!=6x`n9WUIwHuCWjrfcUU&LetqIGltHqy>66Ax0pKb$hXv zf64M6XM~@n;W^d%xFC$dMg5RF_(HVIK~8)jxCteRZMltWtLR3e;m?lpuG8_M(|6&f1uJH7Ggdap%@Kiv_FWF zAyXmu$;Qry*tiGJo8Q;@nADFqv^wi^QQ2hJG5DgIY;m=PV|9{X-FpUX;%~&K*I8vx zG4J3_oY%C)h3kazn(FJ2*JR4P^ZeSGbvH*x<;P_ougr&)YSj@rcKV1o+te_hE& z343D!xv~d;;nYoBmY@;F>Vm3VIm};g>Ny7=3lq~;6~eUi0<+whryOQdFECH#z)bB0 zW`$+GQyJV%?0t~I3>C{LpMk-y1lZ6I?E7i_K7vvM*8yDUbJRH!4Lg>3hD}Q>OR}6J zS8d|_lsd)c*UpSTUa|Jg4ZYO&f0>*%-O>xpvj&Xm17{PH4Y2#bxgvo+aOmtHcv6c5 z{i%x7eka5IpfPsSr7IKJ(-rN;yJ|NUg<9>@RI1xfyCfpxK%gK;w6}te~;1<_@M5rzRE(;=MR0! z>hGZKYJR1Wd@tbbBInC~IZrNhih0w<|RluEU zElPX%RNod?Hf{s;S({u^f2k}BCYMyf|M=n!H+6p&X1xK^m%>ySFmQj$=P>Qk#C{0V zu8~+J>{Bcrb|T>nR=%kIWbM>mYN!5;+NnRIc508>%@Qu@S4?~o%4uwYsS_8f1UV2d zs1oQ4e37P5sSTl4K~3arKfHi7EQ}X=*lWI^Da%xrinDlCnAxc=e&#jtuA zR$Um(enqyc1`X(_5nE%4Z4r)#^Z#>_DEO4{yh)k3mwlO%4ao-@^P_9ooRrLDO>{BD zFgXS*a5lj1FZaP-#}k0}cD+$nls zEeQYgm?F$I;h!GUe^8Gx?GVPpn(zr7!UX&kmj##g>kuXyaVLXwDiA>JpnmUxnk_!ftLr1f7gZX|&o95Brw?}iCv1S z>m5wKKg!2GcT}U6Q5{Umx|wfi+;jK6V#p#$Ex|ekEwm)uf6V$_TXPE^FYJAz z>dNhv(1ri3Rl3@{r`r2IY3abR44=vTPV+Fp z*U|9_K_3l;bG5TFqn%3WFqM4eN<(}rnPrK472<*rH`9!3)5g)?G@RJ2WOWX#YU4RQ z`DzbZe_LA<)@(LEUg!m8tpUUB(rg2mCgYCbB1m83s8TCp4&?vUz{!g1b~M`igVZah z%{i%EThebdz{2k9Q0XtuB&5kpoUk@WmytPBnYS^PM)5i3#L(*)#>{at3|9XMM_*;O za?|zIkmH;>X1Sq^=#gqA8Ev9H9wf;~gMvEDf5~tItdS0Y!tr!icywj2aXvwsz zf7g2Ys=NHPp8nb9^wOqXIqkl&7nt2)%_ehy`)fUUX!pF#6~Ji zmb#j_^V_7CsBiLSrO={l^pDrLT+*NGkT=M+KUP5eIO@x*SwYWF9%`@HZ)mUdp%#iy zplk14m+Vb>f1&8!6BPa04_x{++g<2of9e8eiRmNEhdvy)IlbLwuGuFFqlY^N()=SR z2Xv=P4~>F3EeU9M3jJ4IVBp0&WD+nZ2cM+8lzQO~ETz;Ni(Pu+OY^A=-p+REk@Nh- z+Me3iIp1=cg8pJPi_Am(b<=JSoZUz2a`o4KVM)(OrD0;x`N#B=ZRtnrcsl1scP>7j<^ouIbsd<}d4*TzG*Y+jRw`y~OOHp3>H=Cm!BZ?b-u3)feg(ll0;_O10~K z2yLXHc}nW`KPXdN6Z^{U%=iXjf93Oj(&{?9ZzjB37~}D|Qj7nfw7OE%U(*=MPhvbF z63!!j7fLvw9r{++&Pur)B^<_GRPEXi_wj>ui@oW^vmozW*t@&yQq->6Xm@&XhoZw@ zMw(HNaslbZGXZ9y1;*z|FTNaL;P19su(Ms%bRNluE;d4~?t3857zkmWe?rJ}1>m`z zq%`hZQ48Mm`f3KiNnKH<+4|2RkThR&e zol3QPFZ9~$b+@4nzPj_M?@=GMZ}Sh-O`{SHJ6tZY)y;I$rokzJr^R^$dvUgfU;f(b zoL|~$d4ojKkbUB7ev3xGP=on2BUTUMe~6!93!QF+ih;Id z>nZ_d-ihm@Om^$H16FBE9m=mIJU$rr1->fxvLJG50A@g$zt1Cs;AZW>neNf=n5Uq2 z%>ts|emUgOn>^Hpt^oy>$!dSm)7M)X?Ch7=II_<@T!-v`(22fwH&_@`d-+jTh;cv>V^|-O1Z$D~7jN z0kwAUeA6Mne%pK{?)K2%j8;=Qo}kW-lgi=H73*&G2vw+;-HCSpv>mX1fc~2jx>uMQ zdXU%g0;9Hj>z0zxGWrcQxWFA+!|aG)A9g_>{sH?iPp;4(#G1WLYkxMv-AeQauY}y^ zHC;nk%4SRv*!Mg5?TB9OCXH8*B_kYX0Sxq~_PeIr4Ct+OZhB6Wun+4f4My&>OMmbR z1?}07p>l?|H+7QagO@>DE2-uCF|-F+j^xtIl>XO#=Kqz`o0kdK3Y}iR$jX@3RKrSx z(Q{K{b=b-NPm5(p1%4Sb-#^-mLP122Q2{p4$1@C7+_Hz4Br2A#C0X;%H!i@T$T7?4hOM^3NYeKT|oR7T0&mA@|bI+|G-r#(2wnuQ? zNb8y+Z!&(?bm{U0+(Uv4lVEz!nFHmnu9K)t^BO!zGy8N%_Gnx6_d6#y#t#Hx0X@VHmRr8%M?iLE9)7p_Z&rCX!}+j}OAGn`!oh z9lF6A6Aa#%n12ZuhnasqPM@XUp!3^bcF@OCl}TNN3b+3SZM1D-sJD!mnl}8 z742_wABt=b!?hNnw#)EjS=?l$tLMDQb<)|Xqgn9ZVB-IS?M-m;oBWM$t}XsvGk(5e z)m?n}O~Y@YIXh7UwFSnV*%X_kU8N+oKPY$}h-j_s+kfmE^Am6Kv*M&C$)YRv437_= z+=RRd-k#^*rnjVz3y#jVt?4apFLEty+jMQxaY4)bIWOmz zxp3iDD90+R%F5H2fr|d|N->tL?pY&;Ko?Jh(R4(pcJk!rv9nxKq*L zw^jV4Py4vV(Nlu{WB4v@iX5Xn`s`Wj3 z?pvI8*r{0GTdsSH-EpRC_tppDW}I+Y0Ngju1hu0-8Td>3H6dzlF9_CvIF|YG-d67HoOK$61%$DHv@DjKy z=-O^2Ne(C@2%K@!`4QA~)PoRLd_ZZGP_vw+mkDgg!&fxSDLSqFvHvZ${xi}=h(U-( zU{*-ewI`u>aCbxN-tx$dHa#LU4VbU+O@D^H&He~^52Kz%p+rjZy+r;LPJ6%p4YudVg@V ziiqFWrd{3iH=yK3y4%93`Yi>ibDvW)+FeaL$%H3I&dN(4*`Z)QENwVpU-vcrnV_x( z&~Uzl?>9u21P2>bf$34f-g#(nv$bbmH$^6`9FN$};@i1A^Ke6&V`0AFXMn+zs1x>?>w zx_Ql465g7ZN$4-aEup_+IdR|X-MqY&gx3Keo>Sf=yIjfibo|2UnzHc)-LtC`>6t0*3zJhw$pDFm24DLZKhX~s7GJow+ZO-ai zzi*^Y3cjaUb*-P;%=YF~$sR?Q-dED%XNGJG``fUY>lH8^4D_J)xl(A#L~Pv5?iX#^ zbf9&s1*f}ByF4;`J=L2_s z4R9QB%U>o(?^oKw?+r&Rmqri^mevkm`p6G~*2n`m5!T2#k&$8=VlXzN&BXceF{f?o z-{!VIK2ex-`X|VniQSGV1ctPt>I%N~rhc`vEevpV{ca zaZbI>`0KI@XHusN>N*+cB#h-(WzN|rwl$w!pB$ZOo>DJ_^nc0Fm*^XQGHabcC9DJ( z&2&V7^V&_vX%>t_%jA7Zoa$lT9dQ$GI|$30_4CRLPpuck|DinZPnE~zGj4gC@xS#T zj#+0tqo1MY>8*+NybSY+z}Sq71W6j=Sp4nu6yvg^OW$UE&2r~UFo*TYpD_&Zi?UM! zL8;MH~*RJhXLkz7jxJjU9+1m>9Xt7Uec1;mJ$NRAY^I-C)a3}slMDQT} zb3j2Y)DNjN7SH{^&58bk`TNPHw+(tnYHvcm@5csZ%UUSd-U{A+o9S;co2p(?A4K|e zMiY7px;{cZ^}+5YSbiJPw1FWzQ!r>9w^`@;nh zYN1BjIf%g(8v9kygEs5c#z9G=i1V|S6_MM7cbqh;M&xR14%r)-_BDBUyGtrkrS>fC2I}7NSbag#)0}TA0#?B$=Z#sg$ zi*AgdtpD_IN7JSPBjiAAR@x;(OPe7bi7>lS z`8n}FM6z!T4D)we_+985h1);pZyViP_&xZMh*g&}e=C=(K4M7HAAy#37@h%-DAqTn z(yduLPCTw^D{sr!HvX)(wWqDGnyo$Gq<@Cm%Fi>(pGmB8-JE`iZe@1N_2zHrNVd{1 zos_CnVi3N8@*DLP+}GDPO(FSWX54X6sRr&;5vT3lZRA#dZ~w~1YdL)@8@DPV)l>;1 z^V+q$sck`?KF*fjY^HO(=a_iEw&A_NmT!~=FQc>Cw;DDlB41H1N+HZh^d1kblz)6t zCg)vJdIWp46T;{l&230g zT(gzQVWefEwl!BYMD&cdEfS=5d3HtEtL>f$zW({(RD3Zai5cxZW54F(d6zl%M{REf zf7@#6>{6R>oX7i5h+j+Zj&DVLXn%3t5hn|YzLco#k`QGY-~Sfdj2IF1wmosrOdCY< z(ry=qGm;!d-)ii;1iy{=D*SficXC#~Dj$k1XeatZMAerbRaDPFk5PJFCLD}jmgf^# zE*~o&?&0kBAM`gl3+~|$vC_T7?@eBN)b-c`drY^hOZ0dfgAO7DyF6~^V}BFym8KoN z=V;p_SLC#2Bmo$>_iuqZ_`HuTSaxYf+YuR#^VizSSw~%0UK+a58fPt4&P!d_?MhvK z)HRq~(QUT%yV!y}!s@`v4z1^DMtJ42(V>_4`1#-Am|v`(rWbefY{f2XhZlBlv*`|O+WrGM}6eejt?+E${?r(gR`O$I zt8hkT+t~Y}QD-6S<&2N`J*3B=BAtSJS~)2x#+itIkIP9)N~-qo>8cmbNc>JqDYZjT z8v77`vDZjXOA{cjZ%&*JdCG}SCa7M(6))Z^loSgl&Pmcl$bVColV_|Nuh=Yf2!0xm zdU8`r!hKsyKk8Fb1~(Yj;%G6xQx~7vSEP2KZi)hJT!j3UBH}Af6r+q~Iqsp+!=$zN zbSqQ=LKWDc-iy8gP$wHue?+J}P8Qq|qYlAWj1VHd%Wr~vXKV5B9H{FN${lyd2`fECOUFKf zz9^n0xZ}mN4~;a)TT(&@_hHSfaplEZgAB$?OL{3PQEW+arYZuq-NnUHZasdHQ;%z~ z9-a}N%A9%>VLg1Qr6oaYJhR(1y74~1lmJZK-C0b(M}JJN*5c!Pi+47;oMgDOudNhT z6Pe&15Br>qEu=D*5Qddi(%~2dwP-E=Rd0PK#U(p7YhPhM%ET{c`wKNGCpJoAYw;Pq zVJnOmR{m^knXuj{6}A?i(ip zN*jx9(0{)&R^WIOyC_s4*Bs?lEVJR|98A@6724#XSlYBZAhkn03vd_GU1Bg%k9GbFu+yzIcA-$S(xY@f%Tl41Q$CP0n$^YS1RsR+|IbJrPO5bbjW)KrC%|u2Y&_OGa(%Mj^nC%*RXYE z;(scj?bo%j^fbiZjP~nBf#NtrW#=KwTlcPEKZYcOkXsN$lt?$esb?)cc$P|it!QVd zv{$v04NSjQL*LQ=zs}O$C%?;hO(jrn%u!D3j64-Wn8eiE3i>0e7Wx8(@#iSopFkc; zAxSv8yREQg0^{B==zaiwj|q)FsQG;Mb^LePyL`T$W}B~ne3#44oT*x6)aJd*?_%Rrb{B(LCFMtZ zvtx37udo%p!Y;Jcv!I7<_}gsha*uZ0ZPqtwtM3w9zN#L0AF`$Q?O}8NQCqswqkr5d z-|e|SP+Rx5e8I-tF<$#F_wUo9=K7wYw(f2D2lUAQikbh{YHz-4-ZInA>J|Ss8~%Zf zx$+#l-{tqw--oJ%@%`JizcgBXknKN4I>-Ns4S%Rdzkg{9BcQ}XF5Yjr7|f!Q7Rt8RqKXz#$j9{MC} zuQs`z`)oWzjcOj)-_KCnq=R(#=QbJ70hq~DCMG%ZO!ammxKbydsUo*>mwyO5vgn6j z7yKp&=5)gU2jG85b08nBO*+Iv-ndwbknnpP(MLh6Mo*w;N7M-E5E=&|fR*Av!0Dr) zH^c(WBT;`z6pHl(dV0n%?)^~`dYOH5TntZWXEw)h3?C%sJ>~lC>^y6e{vH+Bj-!R6 zn(=i)G;A5aJGL7#I2xR$rhk3yp?O?m8sm|N6eiiXy}xZ|z6Ioc`dC=GaK7R%zDMJ! zttV4zEC^#e7V4L5q4f)r^mu@D4<8tWZS~sI}{EdujH9m&&mZz!+ z(JEY3nb9tbNfbV#b;g?MI-!=xf)EovtuZWE+Fm zi}N`PyVihh;jmBP>T(kk1I*#53$2$Rh99%gG@jwRlX_aQ&25p+ZSgG)-=T=W`UvUU zMvMQVBSP!OXTn5ZQ%G)Mmv~3T{iE+$Wl2aLd(BfKW9Fx!anLi-kvLv=d_v%ezfzXD|LsEODHE zs^7`Z9)G!bx->p28gc|hc;D8B$54}xw>k7piNOOKv6K13nCY4rWxCzrSRs`{uESpv zcP0Q!BlPF-5ccI|qzL{}jev`Y&$q*cQe-iV^JS!Z{LSz3payq?5f^1~USIw~U!G@& z;1d`6+}<6cPwesuuC9F1wa_oP78Z!E_H$m4?tj}<YA7zlSG|ym{9e^ZTJd=adifXwX@VTuD+E#hlDBEM*{17y zw0~*8*`_%$$$WK&wXxH_zfhZvJFWg}7^G{LA^%CGU{L1iX0_1prA6PbcNsiiNSDM( zj+@o2T7-q}or`+3^9(c3 z4KdEc#`p=lxIXM6Sa-J=>rS$TXJ|La!hbz{j#nSBQdf-ayL>Kn?lRW1h+0phUFrHeVEwMc^~?M?3HV+^{rO6H!7`zB)JwvG;#A}> zD%{$e+4o&)y8b>j6}?~0uIC$f@%!Dqw)^p|X8b)gUN&@>?}qpb=o`nK@dD!as(;?7 z8?C8HxUR(fVzfReQC;kd(YJ#`+wp)ao__}M>`?O`aCx4JdrpD8ClB=id^~?7k;`Q= zqG$k#yIn*cQolwex8xTVmHEkR#IOlpMZzD%f8{`l^8#4&i%4GKt@(L{@q8!Q2B&D; z?S^~}%N#`3T5h;mP2^Vsu0BLAn}0O_1~oPNdi53`DJ;up@|-Kto&(@p1$PzM6Iv;| zL+fN0>KzO-`1FC@jpQWS@Lx^u6{tiXnrttUJal}{CA^Zb>2Q3^>GpIxO zrxEuEi<4^xmDHdeyrG5bBBSA#^}n_J9k`k!-837UE?A zqx8FI=_P|mHXMTRU}9nrA%8-23?`Xzfkb`~=Sn{D_fh*q-PkUK@(O)mPqWq6yHN_K?>WExb zqQEIxcrh8_y^xevp*~c3Kj?WlWU^!2(#sfU``_A}4b&B?Q((ytNUb zL=~W&{}jq0SENRRQCuo)tEuirT=ia{wp5=nsueU(qjbA4OWZqEqrG24<`g8<38Wk# z?yITM%0q~yCKRtxENiQV_fZYnz^t+LQJ2w2Zc?mtO&%U+RBvEra8`}@JRaFVu zd{_VE?C2F|zbwvvr1z07Aid9NT7wO7-!Nirb-ZSvxgKL))wZiFtf_JR{GG*Gn{72U zf_>)@Y&*?1uYb2Yw4y{2$YAoDqa`Z7oxFKeE*eb6cmGtM&^?gWdJt_zs_3R3xD%yi z#6GSCXWVGC%s3nNS^NGL7&R8YNq-e#^cME783gmXSp>S3?SfR7 zqK1uPIl(hHUkL4FFvUh);r3NhX*u;uj8ktgng3r-Yv%1?d_VN zn@On634)tsYes9UT@PuYFR@(YMBw`mr$wjnI%#*sa_z4D)=ay*M_R{E^1(JpoOsy7UFcLS$ zMmaKC{;(iG)Vh(Uh7d~tVu^~fk5@t+^ideTT}4e%{6+4XOb`c68GWCM7Vv`(%#+cs zh>fIa#X_|ZffDA%Mmmts%IV)n_we_Y`&BF7{t3&x;rFwrA+8qrUoM!7Vv)Gb;p)b9 zRDVxpmY2lP2Lasnq`$^cg0rEafM_LQH(HHRg|K^uG#gsub1aXJaP95Z9GLQ6w@NVO zYP9VNDWR==eto!y%k$&h_8W7X`BAX11vbw=-@|z_cdJ%;@b8T=(zUx)SwO#+VZmzS zO?rKISk(0D}1I`c>GuRK7TL%tAA?s^;`NrvxR538+Uho6l#i?tLQJjT3$uD zsMb>aMwr^(r(b`hYo5#G^?#q+mb<4OXXkA(c8{$w?BoxD^i2YuJsRwHcd8;#TM5NY zX1edE{2!#Jfx2*aDFgfOC{n}@;Xw?0P?`YW;*sv|QU+Ax-2md%E=5uCzCgbNihnA5 zX9*&P@?~Gc#kbOOaDLoJ{Czuwweh~hrd{Sn8K| zD0yO6RgtpLRh7pqSXaUR3#UQL`+xDZ!LC3+mMcQfbO_5R25b8mwp%E+u2Mzq@|Vh? zca1vP%gTXXSO#Sm7ncF{vL1CWF7|AbBq4M)o^;qBF?Wn4yb*#FFhYxh!q2L{Mrr+c zYjF&A6e{8lrJva4FI3FdDgJ&7Rci~OpB*aD64=VYMCy)vPogDsl}idz2!A8WPb7$CZv;fm#rC_cq2+$xB+^;G>z(#(OumI;I$P#ys6^mQqo1%zwHrR4OcWtuX4U*y?(Vt*(eI^ais@i+jdBA2bpj_uxLV zx8-kls;K(_cP@8X9%+u<7A8XHqzCU*Ti`D`%}G)Z{aHml0)TK~9BNtV58e&G1tj_4 zpVjDjc_j6~pH+-QpZA^UAuZ-3K7m2|$OyE?7G51&>4&}Kn$TO^`+x2dxLy0X%}58H z(5d(>YAOyi82Z!w3^hkr`a=i!o_FK}&QrNtwVtIve873?crwk3X%>E)b1yq*)57g) zTD(WK^7`eyd~d(k7T<3#*Ejg9ZO^aS%Vg`5+Wl%Y>?5iE_p8*Km3D`k*6veL=K4Oj z9=txBBS429KE9D6gS= z^F`!uw9drAc=4z`-6;qH=aHSdH_Ib?EoQghGiERM&6Z!$*8F-5^}>CI{hqV;GTyRW zCOg}uF(^$ewl#k`yylLn;_+%+9FCH?F_bf!;`p1|t}l+xS%2iGGG8#ZVtUF_74@{6 zsSSowGhY4*rN^2bKA=w8qERZ>gzp=>W93w@dklqVdfj8F?dqMe8q+Ef*AJS#m+2{H zq|FA`7Wsq^FgYRkZP#Yfw>DjR5aNF9#$Of}`i9%)x?wMqU5Y#KgnUpqQ zuTF-k#TJ^J=>G`S2k1@Vh%^)x&veFV{am4C%VG)Rnm`)0!Xgw{NtVdpB^)ej)vfY_MO&+Qjm z-CO!*w2y@;w8VTu!{N7tDPEsDqkSH`gxX9ObFfaMd0Ndp(`cSnTOM3dpJ3~pac2O& z?-HEULQNll2kO#OMjAR%iuIJ}Kj>@IpJ{r#_J7Oh@zj#fH!;*hYu8St>7m1Xy-wK2 z*Xtq6dVSbfuMb<+>m$Z`eWb^FowComULWZ(cOFqOmd(9K%(-{KT(6H<*6WOYe7zo_ z>-9j+dc9&FUxyDH>+s=T*X!(F;d-vuYxZ&55#J0)+Yv|IJ#9yD*e(xy(&P`^s>hd9|nfe7y zzgzZ>FD-iqAD?IT@pb)hkFkMXfj>4j59f>x&%g0!j}i_nvq5F&WV5;U9;O zc1;o3deH^+B+Ax{WLW9JFx)O-_M;b2oPYf##_TV&*w*`G-?8_Z$1MBI7yGjNOkTZx zpZR_t-)ByQea2Uh`%Ip(&p7rs!a6{`Y&>1v^mHB2G;jesU57!93eh$loUV`2({;vN zw$J?B6SbtiEPEO!pHy?t&_Vn8nk=Z#uF1!ZHTk$@O+I0)$tQZO$>@ITntY3Co%swV$uankHP6`StcSdHR07)*d(3+T*>h$+LQe>$xUd_Vabn z(8Sh3NxgL)oV%Z|gX5cU9Xx5QgC{NPfaS2SgNyd_dHi^f{(zdmAM20DbNYkl@BA70 zYt8&a&HS83oV&j_8u8yhNh4mnKYu%iD{|)W!u?hnv9jJuBmQ}RZ#3e8CM%5?sAn|d zzk8t(SNyMN!~ylkq7kd>d(wz&&H3HWGQXD_^Lx2vem`Z*@27gq?@hM({ZxjamI=?^c6|U#}{@k43hkuOuJ-{}< zzcc6ehjf0gFy{9P%lsZt-;+jk9N_Qt)*PHxtfo1pYaap5(0_S979QYpdU=mNgxbR& z>%-+aeaQ3o{Tcad&HO{n{CrIeKG55mSpAc0qV_;`O`MpsCXPSA*Thw@CYtG*$T!wR zGo&S{?|RwQ)_nE}3m%^8fPb~%KrgB%)x!#LOmVJO+glb#7yZr8=d*)Z2d4AiAs@l{ zKgNmrjcw7AK+_cv}LWVG1kf&%UW4$td+Gr*2=sC*0r*>$A37jRWX*0^ICJ9 zN1AJ8EvyxfA%Sx10VccA&oRJL<=ozq(XO0|{UDcQw6)Ws(8?#KC86b7iR_6x(ApDP zMBLbf{$vWE75@QxDfA!wdI7(_!C|h%btv9aRyDs&))nty!n0AG`nPGD>DG~1dybbznPb56iDxz1Q&>nv;Xv|i4fugvwa zrboX+P2i99`_aP_Nlpc3n~wC9?m|M>v!TBQV%jZ z7bWeQU=@)_RGKv4Llx!S_STCw8O>n_Ie+FOmD_)%K5!tuoPXk&Bprf2`ludlBtBn{ za^443W|`oi%6wFzWrBlhp{ZYb@i}aC^r?^L+LZe@}Z#cukr)r5ULjtcRC5$>~E8v ztIvnfnM7alv6}G0jPbtbY}0NXu!5u^24geYodX`C>6!5D16KHpoU${tM}|Eu65k1w zcoWZ%ch#KV-gK8oTd_?zZrT`XR2+qgZC#yRjR8Nfuv{G?-ytr)J5b9= zmo((cv40lZ(tl&7^Yf?TP}c7Dqy}bp8)-7?56Y-RtMh^i+2v{Vw0q_Vi#pxsG;lv< zZi>6^5VNz2@_inXzHE?IP1sxFY?5v}PSfEJUl7|!`tlk`d&Z^DI8KwDo~u2JgntV! zbb4NdcBR{f0_0GD+%xPx!oGGxp6vQR?GRu8Lw_}EAB;W3dAN{AdSw_fbcqml;vs`C zstwlAhDkLU>(+xcT3fiKK@-vtiz!)qB2&yVj?;=QI!hNG;(Gmmap}Q9FkY_?L91Y< zzxPAjw*8a_k=l2HHizXnY7}s}#>))j@dwWQmp`{wEHazAZviiwp`Tlf>>$(lm zn18O@5Xg6SL)fP4#`527$?rC7K|XMZ?a8u4Ur8ZPM*4QBi{4@X(_JmVc#ImP>7$`n znx7vQY{*FO4-@E_&Tu|)i1WHbnsqN-WyTNDtozlAw()p>7^9_`eT3Hzv2!W=##jLL zx|o~{^I|fb6bl-Vo*J#ubLs1>?f7@I^M5qFp}|f=eQ=1=P%~lof1b|bLW73-6w*qe zaI_e=a%Z(?qPtC-*|3zPmtLS%dr}aZMMG^6IvZ{2(NHUd2IjX(m!1#vdFeS2Iv3Ke zrfE8aegmPoH1sq9NlU(xD$sxqVPYq$d7RnK|u^wRS* z9sV-fYQWvcUguE+7&y|U7&txl4QY@^vL_8Hmubh6}=LGsD6WlOfPeO?iS zOfV`2Q_hlHNa!^XNCKgTk_18k)2j`E1PG7>z66qx&_d`P8(eU2`oA}2Z-4jhY?JT* z`_t!h+TAyA-n{8=-n@B}gD&KhLHb!~^Z@sdLz#ai%UtWc>r{Z<4>gsBoI;UDbBzfl zev9D3{x#q6wZie$C%zu9lV2(Ly3YDK2ELxKzP<-vPg-Bc!q-#Q*Xi)}d+`;>>w=bb zR^1wqA%0hfxq4`ne?%&J27lu?MJwyi1lYZ!{5w<8a}ehB?})8Ne^rOop8_Edj6&ZK zybR_-ejl}ce;>Z@W-%|um@32^#F(S%4~Lldq(j^gvJyka)VC9V=@MUI|pU0SE z#TbMbgN_)`_Vt_VH0JY0w(NO;HIK%%0^kzHnmkyqT#7dq{in`HI__EsBX|vzO20m_ z-p6h-dI#W#b(7DIL?{nZk zV&Q*UXUBii!e2^DZGU%1J@=*X!I>zmH(L1F9k&Skr=*o2^?Iz>it~vT$7{ur>xOMI zjB52p#<^MYmF0hc+Wqz9eI@Pqi|Xw@YRWA5Xa<*gJWRs%cO7{gYtcW^Q6@)N_&!G& z)?4^(4*Vty-|fI}weaUV@Q=3e3+jpO9P%+=iMuc9JZN9f;D1gt2`I-yPdl&9V7`Fl z*;QsX=M#9nfY*(9Hz3_V#(G`}VUNI#vOlC3$7+{SuIHuTr%<^9Jl2x711R zR>MK+Hb`>#et*wdD_IzQxNeq%ljMl~o`)_?ju?Xf4~_dddah%5kJO!nt3@^PCdP&k zH_;;R`bEHf9eGHt5S5ivVc@7hb=c_10WgoDY_chG=Mz3 z1bexz;XMzP%B*?p%WKxmqUe>oQu$Y%8Jh($dN4*_A%8$Ft4&3_6+N#~`B^Q)&hJrX z0(Jp0YnDPjzG1${U|dynCM)YuyQmLX4?JGO&Xun{b$~9cF9NIvkk6Pb;sIG?K^`%m zMGEL88pGU>T6tY1Sts$e9*|UUHQ1m@+|7uq#kDZdeO%)C;=VCZ7W_OVt_+v=!e~k= zJ-=pmD1R?t=d9mz`S2zS@r~yz3A?ppIFxcF`JJTYt|U*$cbE38@~O6cwf24;UkME8 zpSn<28u_9qZ&2T(6cJxRCFu(XJUnd=sq~&0#x(j^TBr1`g=eK#S1cH$i#OK{M1M17 zK^{n5ZxrSG_e9>~U49vqiQ|F*FLCgAJp|bSl1=) zI|>5%*pk|nFQE=5wD{eA;`cA{K}{7vO+AVF;BSyB^p)+9vJXn!N8~$5Ldsq2T+U8g z*nduYm^-C!vxRN5hoO8d!o2cbt@IsThpp{yrP8;6zqu=Y^Y|O^KEDoI<=tv!L1(-n zuax+G81g$`rEejG^eT6|Dt*a1Y{z$dO7l}Xo?+pQNtbCnU=f1U4Jj-ZtU~FsI!k{yVvuvtQ%x&)4=}xV_0{j zzb>oOg^yf*m$SNI3Ym=Zwzp#tMj6#h%)uVoph8bNzZBjvh2PYn&%YlBM!L67du96N z24bWZKCN~S3y|}?l@JFc;VF~^)XTi)iXND8FPRd*9vBxpQd4M4ik?2@e18&o zQ}RhSa6Ylk@Eb;|+5Kiqlu>M4)5V-5eG-oa{3+~gmbqvtjk_WQpDBG8aWUN{MQ_{; zvPVEh5Od)wil^%_4G%lnJYK<*%@uBiq@q_VW$r?DV$$y~QF+|mBJO8H=E6Z5`6z8~ z+qQx4nj;l$C5ufpqE==4;dL8(L*)eGlS< znVqYPohSdSj-5NBjnGOWJBy%?K%ZB6pI4#1++B$MJI3}jQmElnv7h6)>w)Mmrx*nL zw@di{QJ_!byj94?N$ArX#C;|zj(*ztT2OmTxlX%Nj5->op2u|bjY>cBUw^>miXU$f zXLDnxL7ANviD~ya#22(%od#GXs@M6-VG_VJ_x0 z9{^mGNhXuXCa>WAS;4y>R)6k`IbC=T(kts~7+qMUD*XwiKBi+#6-KU)>s0FwH7@VG zwt=s0O?@%t8bhRTRUKt@szI8=>Wz%{!2F?X5c)yJwIcfO158(gsUf6GXbif5;;BNO zkbcs?+`xUpqfK|Z%;My5D7W)ixiu;w$a^P6Uq<*G)Q>?s0CkZ5tbdN*UyJ3rl;zv6 z$WW9UCmXz^Fu&-sQ$R{_H@J5U z4d@q+#P_&+^H7<4I*HBpkutXlPcJ+hN$qUls|R_%wa$e%r@K%#^~QW^^zkkSHoLx>nUU!JHHJjYVs0wGjI6=6kDRgay5}CFrr24Jy5sf zq2^-sVJM~Qdemu7g8ya`%3Cdi=OQ{l&z&-s-FjcZ;8?kVqW#g2>RMGC%|5I1;`|1^6I%FJMM|Z+ zFI?$apFcovn_`m4hd7?`nEx3vdj}!rhZvLCW4cM?6^;3=Qkb5zjExgVj*@Nm>aXQo z(+@RJT5tFLa(^R)jmNMSUUn|@_Rzw|1Q$E2k9ojRf$vvApTkgkN|4_Sit|ROzMMq9 z!Dk5aAfBIbKjAoTz3?^P*NMA94y!qd@lb{(!`{p4`RI=HD%D~0Qgo7HFdq?Hym9gk zwoMj>^Xb2*>T2W@X$SM4uZ0g}iY@Eex+uZ<5o_JWw12qVtH(2SnBPI&>_I5b!CvWa z9O6&SZaZ$I;AZV61TDA$`dNnw2@^(PcN$IGe)V2ya%o1vocp6iG1GeO3=u+l83{-5q?ov`gdTv2O5V#&zMe4 z6IT?M#DCplFC6K?xM-d%p)S8xDL6Z@#ygY9=Kn^jZvk1)ojp&JDBF$P7**92$9 zcNJ1nYm}36WoT&s&{~~`Z6w^IT^_7A6tYgQfPc4jI#Pqx4%Cu)B8)}=!>1ppE(=Pk zGG++mt<$}t?Ypp#nSIC8{*Kx8HLYC`i*ttU^C8C3X|xLPJ9oAs4ygN5d z7k{<6+r)c5X>j3fSSzWd2Pr~(QY_gH>D>kNW@25GW9#v&i+`|y#`EfMWL?EuEL#si zi}etnr@?bLQ4;2=6B#8)8OA)AiB@+*oGPN!A-~5Eb5%R-SPd=OJDj!PIyM$+(AP`Z z*f@)giW+aZuP8L~mJ*J9tOO%pDWS-ww15BqcfR3%-&tO3KrTYB6(AS6SQ()o3LoaH zW;;_QXrL2Q*L>u)hcpL6)inExXEZ6%ctGsXP*Tej}*qBYzdoH`ak$WW= z{>!>dzhXm<@L$zs`W5qRwEV|8 zxmq^LvqK9V_-z(^fdf9@f}h}kcUbUcv_zBz+e_FeWFeJV5k$lFE)^v@7n6l*>RnJe zeKc7!hvEpKlf|*4X|b&=mu}=|n14E=M^k=#3e-QmV=P&xozXc|QmKGux6a_S5QeuY zVTElm*qk)-bKfsImk7pm87wop%OYN ze%)`$t#{P%GY1}~!&Gegz~@9iSWa)Btg|@8;b-F&QFnf&BQ_i6La0+6N4K3Uw+-w& zvQw65g9@{K4CTBB>!y1!#eelf$W0l@3Cp8*LP(E*5J^p?EalbIKtM}QJbHX zz$SSgMH0%eqMq3H1Sf8iymvVE-=ej{}?Je)sn&mK(A8%R74$ z_qVh-cmg%)X_S)Fz5G-m%(wXN0?Et3xfWZazf{_+VBE_#@%2wv5aw&_kF!7k^f_(Re-Xh@V3%$@9y) z=y|j&cqX;mFnzj7&IxBa=7g^;_<4?ffo&H5t@ZZ1naO5}e=aSxjs1C>xtwFxoJ;vV z6lTrY6lLXrvdoL#ck1eE)GmOTHD^*Yb{>p%4^1+d1bQ}9#-jm@ChOp1)}l+TgkI z?s|~uq2vK-uHyWdOfORy)k(m0y|-Uq3;hAZQ+f^h3UV*;>>rMIi{Gl4JqS0hUGk$r5*dWr`L>6Y!P?Z^co(8?8|2=YKkZr)BKE;z4~*99ETg0S9Y1 z2bbb{>n==jJnkZZZ2QP0XvePPU1zb`VFmPBzo)JOPjNmxDakZB*DFg%p*Hxvw)o8* zxKnT)e&-F+@$pO9-4Ex`K{^rM-|~2r$j5ax6IqH&@(8CIeM7Wd#ylk*k4Gp$ms073#gFnRtbo24Zv+z%ggL5r5`y3r6Y6VSk^xz z9~HpISwd%r)V@Snz)n{`^GN2wbowhaW)!h7e8+H=wfc?q27^K$naDID{?BMv>&t0= zrGF1pMq#|b-HX&=J?H{ahSOVLkM;Sks`jrlm}gV?|GF*Lp^7U?hc zuauAFFN+!JuP|@C44l3_0cP3IUupV$>VNTDvVBmV?0|6|25jj`9?o#^%3rh5W@+#%Ga_X3CRVFaHkeau9ZVEt;HTEroA(}WOPN54#KTZ&+&#=8a%fIFOyY}!T zg>*9TLKdCZa?+{&mdge9aHwCVMUeH=@-5$2NYdd(r~WTUXCyq|gy#r&z5&k)c>aUY zMI8&4-vSW_*D&2`i%|)gu7m;}Ab)>?VWQBZEm`gT=TYhU#W>#_U1d-lP1g+&BoN?% z;2MIv1$PMU?(Xi+GD)!D?jAh2ySrP0v$!uTZi{@p-;dMNbET@Qx@x+r=iYN*DJPxC zH#gF@6Pa5`0e^xXweLO9kBxWch4MsVm64<2=|F|E&&8h)crwy?ErOp@#e1pMi`l5gX9H#jB4DEi~nFO)EQ+r_V_m1_JC1k=hWPX z7C;X5@o1!|IdMdK#XNrU$fNo(W&Hf7boDRa_S>{uT0(tuYT1$O4L4#hVGM8jD|7>Y zlW?yxv?!LvS*cX(s@Xjwo3B2dc!MlZ!Ga}*L~RT;8s`X(*@4a=@_=!W=B0pL`%_#F z+MK(XpJkj8U!gYpqG`nag;4Ce&w%J;&+BbJGRpmM=0;f>9O(<^ib)|M9skEK;NzxrlW04Cqo zbEu^km6oG;WiwhH)3MDL67us_JdYGgO$c-6$Z6F)M%pJ@lX7R-B=1Z*@niF{$ema; zQ&lP${aUGUxK~5g)*R9P4t7B36ZFs-66k4^1Anz+95a_sgJpE$8Lx(ZvPhEVoEC)k z(S2|>wAC%&v?{~?oPVKVL`wDwsHhB3a2fb-Y5&+a)JwI^aD*3sb;qKxXWJl-^q?gD z$YQ9KOIeb$>mo8!F8=GurEBx^)l`ZyFjp6hfySQ}YB$@p;;oK;e@2fJR)?pTg;Y zF50omOcLwAeF~#FpJTlwj*Frgr_jNwU#34-;-7}?6y9O+MBYw5;$hX6m8&*aI^XJn zJZcM|e^#lUe2@j5Gabt7x!Of4w;g|X&JRjeqKz30{#DrVG4f+kjE2OW)ckSmqvh}C zEEw*$QC}LVD744xZ^z_i0yG|kR%HAWBw;?tr-M;m8e%JIPD&1+x*Tq7qj|M*O$(=g zlQb(H|GAuX=kwoA-`6AE(AViq8zPJ`^h<||l?zU>L7L1CoD-YO(u`J$PqERaEWOL- z+ekLuX0Q?VQEBU(CqQQU43ZkfLRh%#e|41l{LUPo5v)*K|2^Wp_TX$)V@;#O_Pl0vMx47L@p=3hPj!FUa__o& z{7f6ilI%0B?epWY)R$ekiWC24S$)rm>g&;HzDOp^9H@5@bj;s_Smc09^vrR<^@hqV zmR)qpZX0^n+b-R)0oZ#a%GeOLZlJ^ofCOnP31OS zJY&3FLB*BmxoDit0m$@O3}Eu$JNrS{ry=akLUn*3=dRbCR1g|+K-n|+ES35~l^IFS znQ(0ynp}87pp_upSEKOwpNY`>Y3Z#8I>E(0cV@v{i`pV4U?iXj!8!g_9o+U5OE|a? z7}1nnjb+(6gsm=PHQrXvw$4wW6{Dr8JjW{$&0?zE*Y8D#Y-c#QKv=1|TJ+jk-k9_f zKzYR+_f{bB_Q9`@U7flMgx^(S<|7@e-D5B4?q98=vQh#@ew7pTT1QCf(^U-Q1lK+W zQd(^~St>>XQ~MwA?NcjPA4tePcL&d2b?jd??uMUytcS7pLwsl0`~hn!7#X*gAFJJd zeSK8(OoVrP3M7=E^S_;MJ!ifIYM`bfq`elj2Hf(_Y98~<)H<-4zhCwN&xYSo@BBOk zUdo{DYAa-N4mQc(59I*RT%8b}1biaUCThIiqm@#X0+@&E@RmGF9X%meGS#d_8?%R2SK6ht zs2mx8CBfZ>OCvvQt@8&estrV>tpWG@LXJqL zyl{(@U4f6~M%Q4#)A=K`avq2ViB_sD+7U$u3&d$3KyoSKIrCE&-Y zWLx?#up*uzAgb5(@RoFq`%9jOcxRaqT6i}TE~uk+Eu>A(`3hUdTMV<5^>f)_ee|9V zXkL#^?iC3HFtG=`#Ppj>yUJY~T%9{(4b+UC-GH-2bFo9x0}xnJQ*vIidWyEBmJC_5H;diQ&Nk?}YWJ-W zeq-+au+#FVzGOC0Ph+N{={GLMwbL)--fiObGDKyr+mO6y=)wSB7pXvN3{`d)p@bYY zB%L4WFwK_Vvg6=ga*D9%?!h~ah&soCE`Y;v9<52NYJiE_9tbD$<$RCh?XjP&$G zxnpkqHPWN(!BflW{T;tbb%8;tfqC-M{={oOU2v3#5QO!oyC_hkQDN9_FBdPgNssnNdkmTZB> zhq%m!Ks#>rG*v2R>h>a*LKd6caR#sPKqE;cu>?{(w;V!Y2k*x!k@;kKV#i{vv@r>a*fBJ_PKDO+V6V4m119&%dx2#B^y{q^qi+1x{kM)-)%RdH8 zn-O{Q5gs}DW2}g4%$x35FLat(k1FC}Hx`(E)l9e)-fDZSS=N{Mo4y#klx}F6FH9x? zl8!)MRk54|oS$j=7j#7W=aeGuGuGlU4U|ZUB@GnVzc~+#p~Qa@9$TUm#fE!?bOXi_ zNm4Y2r4-kUvp0v?($l&!<<-I_ub^hE-y+n{`m~A-;uE$W;Q2|iix44K#*&y zX?E{-{(V}-szXeJ8YfCOYAF+aeKSgL-ikh+ea z$I*$_DEDT|N}y>VZ3?@Cr>dhYqCJ0bl!Fc(3?&Jp=borPPRih}yn6J+1Z2(ShBzCb z=OZ3U2r2;YO;utrcjmL@vi{;Yg?A*(k>j|gnyrZxUAJEl7amVX=|wm~m88)00p#H7 zQ!Np^b9>1SK9p{OqUs;cV70!g5l35o@()kOXir`PufENXW#2bg4x7I`B_suw=W%{I zjG{gGm|yZFg+i=6MbNi8d=KmS?^YeNBOA%N`NN7V-U8>hBr}fpK*o$FeqDW3aOJpE zO(Vvg*v}?j#u>VizHccA%fBPI~1Fcy4#Jv^lPVXIpte&7cz;#an^L2EoOX z*w#o4SMVZ(>nuw9SE|2Vx?a^O#S~g;O%=njT9cEX8W?@!FuaoZgA2X(g&Fi`q(f_E z{{nhi3pKt{J--)Hi$UQkyL=HroF2s8CaGFl>?nbZo*_K*nUqsIs1teJ0yz%8JAFcG zRrlm!9j@u5w=1t1)D2r@NuK#TIk1q{L$-*sBm)4$g0UIWZuE z-h2zGwZs-xeMxqQnET&%b%6q(`^k=~ss2(qcgxS#+1?6Jzgk7onmV7wU){XwTybp& zv`A0=@D?L;{vIEgRTT6Dp!OZRP5ii#3|kN|vN|GFg>8BTGizc9YLB%(tqK`n^xQ_Z zkFF~YP#{A#`cILNMwk@>m8pxr(z81)o?@M(b#!)AP{kOt7ndZUD^|HV0pEFx{96qy zXW5CrE3Jfvoq3+aU7_PzBl+A9M4d}vv0S+pa*{})Z=*P`k6Xe6BwP1}eg@S%8-$oc zl*e@?{sB^Lm4pG=8Cb&d!SatH6L}&6K`%vw7pt6y#;I626C-!0gb!zp$I46e(Bw;q zTcw&WSoA^u%%1J_A2Lew86P+kWPKw41)~aiDP76WAaT8UMWnt@*+$Kw$rd`+_Ftvq z{>@cX2TS9a+LAoL?*r=H)&x(s0M#9tuB9KK1&M)V0Wc;J%=ww=pd@YSGxxFbgzi5e zx9N{t*<(me) zlJvfQg1L?Nh&&jN^rWzcftGjf)bpbiGRBDXp&WM!JXqIiB{9uJcnJR zulmrAy-cd2W#dKoX}Y3h`r(g4@!!7+>Dcy2(_W^N1T0C+mg@%fu_y5=;^OV69D7gs zqx@i(uit>;LmzGiL*u_%#+cl#B<8MSTG>U1dy1ClBqdK8^s2iZ&#NFea2GW0>b4)Y zyPSj``V1M_;X8i8gw-7!9k}-x)%98sJ~5Yn9C`TtaSG-gUr|7VIf{+)~J^sKGVd0dT=TqSDlOjWfl?QwE)`k<7wD$Zh-0_PC zk+M}`e6xrEI;dMHdc(Si-2w0-3R|A@(Q9xUXHlBze^i)t&(Qb+nm%u0cNKxUFCl9z zAcuZDc&XP3v)+mqW$6fgcEjAk{SgKlLzq@BmzS*Wt5*I)*`DWo8h5dBH_omyv}(ruh}k_aEiTs3fd)ohl|C%IHKO zQLS#^#3xsLcT~N?3UzLW*NfS>lpnbD25zmR@@E$_aQ+?iv`TCiUX$0Sq(+blD{5!^ zli1h0{9z_p4t-4um!O>Y*e<+s!^;lWwe3s{aSuiaTfT%SSMyOhoV-9hN4lP;TB9G7 z$r3o8K*&j3jG^}g5%nEw(ibtEnp8Jg3z;!$_hPKf>G5!hx|d-^V7z0s zdI6RA1f{ol5iWp z_+IVtmc|#Xe!LY!C|4azRWXi~xYM6Nv4!9Nj^D#xJ=z>>?y;;3aoSrEwU8EVRoKZI z>3m;UJ0@nn3P?)igm(tWtf0yO-QSYOQtT>NvvtKO_Hg{GHChJaa&F}Z78=M>ni<0e z2)_sc8GQ})i-`Qs&F|aBoKQWIH~u?!KK=_}=@_`Wzw0~#6Vz;!1dY%VJUnL48U*gVKCudS4>l!83y%sGMPJqiW@xhUU?#Ft!F zr&hi=g*9wZfU!t?dcgHHI~;~NP#)dIPt~Bz>O1gojUVP?j2<`6)xE9#Z227NqIsCts$pcpuWaqkr?xFC7iymy0~w#jqtI86pNmE&GC-cRz}zm>d-#e#!9(ei3)xn#271pmr}}@$J@A1;QB;9JZIw>hRqo z5hP_nDf7YDf2kDRjc?`~U)-JV@`fu(i*QYg!R@1(vZt~u0|Toz?#!uLiqKRHef5+_6gg?p8D zl1a6mmz#i5=``05rDwAHb>!}L1TXzTN<`t|p+}^E*Nk^LCatt4D&bJ9Mqd5!`lihA z4PB&$@v{#Gk_JwM!^mYe6RZMIZ@9}(lO!!XCKy#8sI=EU$y9X+#2I)hZ`99^@HE~$7&t8} z_}GTUKA{;mbqs?q`{o;abVDyq&jjh;jc7-}O!n-19T9Nr^!ZR2a$7h`SE%mpZBl0x zdpAsd-+DlI-Zes@zHYm$O=BJhAGK+qb==e8)=l!Zt*WeLB*`AO7&x~V8ReL3Or^TxDJCEnliLL$cq@B zo@>`AmUYXot7yupaILIpzU`z)USiU#sqaMimn^Kr^w2R^`$i(`TfxS}RwIV9eXni6 zY1NLxicRPr9X)7(UcBAoglPWh~ws_e$FZ!5z=t>RScbg#t3w%8*_x6--GVN={( zEad9HT>cQfn~by-?R=?Q8NCxGy|6!v2=fV7)0uV#hfWlWL!s|h=ntD(UqlEWk_7|a zpPO#bi=VVtN-<^oZU1hkQ{^FN4B&9uD z>fK<{HaLt!y5{P$(yJ;vDDMC5%|(m>J2f|OEw)C9(^n1kw#8@Y9Q*SRyvmdb*aj-q z>2E$5!q*#|XdTb_B!D@33Z4wE68e9lfA0U%tZQ}E@wa8SSfrZPDn2FVsA8ESzA;?st9HGD)(?kk54|ID8)8n;ZO9D28gZ|ySDC|>iGaOSjI5+81<3~@_M+?M04WZd~MkL zk=L2qb(+9&95k8EaqO>^K&Z$smIEsKS zi-3dY;6pZ|oV5#6llX|XHOh)b3&WD7$~~c2BGOLG33fD_$;qh3K}S?| zoeEp_+-sF>CCh_M-;{n-bL{!R#RjMqXHkPEiHIz^WVRyfs^K2R#PK&Q$M`s=UX$qO zcVXNRI)mmE+Fd)l)dI)5OJLwcVa&YJiSKn>ScHA)DEA|%i+f3v%n~F-^T@wS{Qjvn zrpu|Ov+T92dOW+rgIwfa_Sw#Kgzy<&ok6#LOi^=fqYtn>Y9*v)Hz{E)djCr>rJ0P2|7I^zgQQ%fguC)W4lm=L4L#!6C2Qsw}nwa((A9x4&AkA6F2F z{O}HypOhoXbfmlxPrcqn3U-LxNx!cDF3+x7@4e3U6~a3;6l*_&SztmBWI^6FT8+@~ z^V-UdPY3?x0MnZMxkkr8eA};jL05U!s&F3>yuGc(XSqtA+zAySxjICf0TZEL!UIbW zx17&|3OM&7xMjB&;i)Q5d)kv*1IZC#^O!k{33d~ zgxyQ362Yz{TW47vtXY{|VpJ*Q^slhWE^Awvk zmF5!yGumb?D{Ar@5cPP)K)?c1k28;@`P25!vK-*Po+j8-@UQx{2$?zY$s!buiWh`b zVe;e=iu@vN?SnR|{~+m4d?hd1)Y0PXp_-5PIo4*yag1_Izx+zXN$kU5wPe%yRzM)+jf*&)@JXMt`@iKIvmsFd8r(XBIXOI1l zw$(um9T^5Ed1QYwgCz_f?^Srpep-8?G{%0CDDCGL{JWR?pWJv{!F$C-C6pU!>q$15 z+9Cloah*ef*{?@Fcvf?Ecne~*p=@6PSxn5@uj3XOX|XiXv4-e>hNd{KvX+=OybEvm z>Kl3Q2Xb%6XrbN=;Nvxl3b9LPiudWPRQ~I`BZl*s+4; z^w5Q4NueHRug?_8$wiMjk)6MEyKxQ`jIKUt9S(NQXR!+r-p${o_7RX60%@?4$n4-T@>|hh$FuSTlTw zGkLNn{GOt#Z(9OwHosfSYqagj;IDE}#xR5eFMO`{-@cb_SLU~e#~U2SPd*$D?H?(R z*mRx!CH?7x$TEJvb+qDIqnAtrLw3Hd3t?F1D!Cj%FpeLtml8BeKFIh?Te@awB<}>(_-qOLiQnwlc@fqe{zvjMbIg9b5lr* zaYfoOUd%(XEki~h4(A1dg8-_%ztvZTS^O+!%{xm8w8LE`myZSWiEVmzdm!Z;0@xut znt9Vz9f4LFYd@Yu+I;FY0Ty@O#=12*C%X|_?iG&=@WIqaIB6U!@#++26VR2#YSN;W z;5M4@*&0h#ZxA;A89s zQl7%PD{SqkJZuc<_V-Bcon15OqUoQ?$~=?XC*~crP(t0 z*!fTkkG}IP$b|#6%NVm?D*5J&6Dcc8+Uf6|0b*C=s zCW4ql+j~V7x2B9Z`mAwpgt0L$Q7S9Mtl_XM-D&W75lLpeP+r1|!O)U6MC~ypy;S=f z1O4-OI!jYK>fbT-{HlogcTGk;kK#vM!zG9TuRXHO<&d7NbezK@dY>FTaWcgf{OzxM zYfbH+oz{W!)fKz{+FzZuO|u?mZy3{lud%lhGa`M^Aw zjOj9G`A!?D(BU1ARIWrIIby?b?ZwM6S!zq}fR}Mj*Pk$dqV#{q_-&R>sb2mV?O$F0 zB*?%>Cl;|p0ql7!XH6H@Pn}6h`B?fyhnA*(&aHMp$xB8we`LW^XM+n6!F`vq+VUTL zyZpKuW?5WWi0hU&4X*gAp3}2Xd$PY{53H3X^S|Zsy{G`M)Tt226tgawV~DHie1IF{ z3M%H|;*IO-eCFftCg19Mm9toJ#^1S*k$Ym9?3XUxuvqdQdh9+ey~4govMAIl13T8p@9OI5OlC348< zal8!il*!q1O5JqGM2rJ;z$VwU?gcs5%OD`??#~G8E&u$cZ$4K75OZZkvB7HUJsYBs zXwH1R$3vD+n>w%mR&_aG@Lp&k_%YHcdv#l~8doQ&2% z-nep|kC$ZYiQz+z&-3fCkH=8 ziR>^>sXUpA;b=<=FKtvqB-?Z(w+2@l`|!tFkl;RzF@CTVxBQD0>PrHf_==;|zD_{y z_NIS6Ww(C)*sXuexufo$YlkGyULLTz^Q)ON@{B|JzAAm7sjA1Tse_KiVXItu(;83N zG5N)(!>p+#?^m-V5osd6wZJ0zZsyQv{>xzvHChsjpIhk|7n0s1u6xj#c&cpefOH-9 zaE+Qa7Fcq?WT~WW6GWmP=}!<_z?>`EjDPVAC&x~DD8f*3?CmPTn~*E=Bm(T0sN9?R zcmJC1v=T{K_hJ%oUK7X|==6E@*u!SEC)^S|iq_U|pMy=e4tOyj%)euD-gQ3=YG>l> zN=xNy%5H2(;Ro5fkaQ!^&cBAv(BtX1WgVI@cAKWhDx!YCbr)E^Ub?1_QWP$FzmFLh zc6KT+WMf!g|7#tAPf4@}_z&<+EqIiYeNn_M^8HyZIT&C(ZV-p6$w0pQfY95+6B4)| z{toJwd7x$ZQsL5JkeF@ZwY@*rh2?C-naw}0vTCyz*qkJ z-3hJM;`qJVAyqQt;w$(BsSS!TiI_xX-0@Z@6?YB=Qscf}&J^00T$!SfXgS&oUs4y` zTH170CHfBCi5qMB&UQ_6cU$d^2grMGtO?}L&aFAj*I_?7zbj972sRHJ$Itnz@Sjgz zwF!Me#Fw*R=TK^FM6?9-C501t?vE`#70!=LxiQ;ye(Tq@<*=O@6XWI^E!7a2x1A~M#^deDw6um=rSCzF2;7EbmU?@V7jkP_iz?}-bAOIvm@2=W14>S!&=*Qf4 za1flsRb%^Vi(B9@6V(%G@H zJ%TpxAgLu+$zbNVZn zB7v{;iWy}}pIO#^ojTtvUVp_84zKG^Mm(%31Ix=_!QQXg2eEr3VWP)I)ZIU?E**sU zRGU;p%2bwoTr;4_=UliY4_!gUR>Z3-H977x*X2>ipPK=Rov+RO_W{uE;!(OPrK|9p z%^>!=(1%-Rl3X$%oje7?9yxH;C7*6=!syQATulcRti2P#nCl?vdai%Ed8z3pIo*3H z)@0EC@*K{nf3sq_oA6&)z&J%>YCQRe5hIK;eJPetaY7_&-BAV%pSw{wMv^Rd;o-{Y zuW1P#9ytKFs_%+)*WR2u4upL2Jv4Za$kY%AIDwA;oZlza0(5!O@4n{BthvAU5EKRB zT_eL2A=vzo+!BPVM6$^b@h|?4L26Wtr`sZeH*>XaX;&N4E+;AykyJ*FcWnmu{9j%h zVyBGgG!kkNo=3>{97L6FL{gj?cQ`$(iyAdiXVes+Y!B}&1l|upl#yxe3h|mRk8R>- z72b@7SUUgO&m1gV9*n8m^Q)Bx-<2o3YxIS9 zzG5PMdktSd)_ro!(-+F@OzveU*MH9UnGU;iA85w}1E0ZYo6mw5F)!XzI8e#+7xRl4 zp2R8u8%lj1SnIR6_59_+2o=gW&`u6U9`q;dsK$Zrod@RoRDZv_8icX=7&C*z`eB3+ z5Fw#S8<}uP)m&@T966|lcHfAkOK^8l{gJEEhy37^A8lt}Q@4Bm)bPcu${50REm`*H zZ(v@|(f=qFEz3!Ux~Tg2fHD05?ervq(G&1pIJi^^S2Xs|X4#u&tlL#4ywh$oKrl3| z{K0nXEVnsM)4n+NpLu1?MuXKEJrn(;FmiLnSAFO9j<5dH2gpSR zL#ZCbzZUfnR&NYMnD^Qw>-Wc09QktAC0O*+EL^#ET^$)sX>l*_d7fz#eSwLLT!|&~ zCbs+H>RPr*YN(oJ;ECnSb-O<2DS58T`6O&%zQ~Js@RwzQk8}CFlqVpF!7LNMzT3>Q?d*f^NKE_2Pvg@(=J@6D=y za)p3iFsRsgDgT}Gt!7i95HN?@&7b5;`|(BdVej5cbEIp7=yv>uqUmyccIPwU%*Nql zM}PAQ`Sc~T+D>z`vXXOz@yG*GN!Wug>3$E=)~C#V;D-z1bGV$a-m_YB(AMIu1(;os zhc?&w)@qxY)T65TaKs&M_;JrCz|y9{Er@lI6n|rSgi+j|)C1Vc10q{W?)ON%N@Dl0 zhDfsupV>Yub&If^?X_~?6bLJ!o&Wu~fv=_wkZmfvTx$o&O9KB^em{|4uQgi+La)bt zudFHBH-5pM)Q~?MmD^1B^M+nuIHl{mR;Yeio#$?th7~>coKy~Yb)U*(E8TID8_YS+ z+hgZ!H6ICmzz@u%0$vvJx;UbD+=aa#S}U+rz%#)h9S?VVbTQ0#u^gC4@!6MMh|0Qn zPG<71Yp5H|g zg6&_C=CVSsp09Ztcx4WKj3DUDl3{xIHKf`0{_ERD-mY@WfTK##Kvl@SRIUG_2fzc( zkb9@r`w3BBv?;nH$;iApRhGDavGL{bpb}?6tx9)pA!5ga-=%A$XUlPOm!me!bd3Pp zJFQP&?yiQo3h8DV)>0DcC=v9CUs|H|Cuy-UsjF5KtGtebcp+6Hd2Ej%OiDPxTAd~M z>v`AtUR&k^kjiczhu5UvH-)oo^)hPar92C&w1g~tzks|C65DNKy(H`}k>6sxl=KT| zEm4?4T&?rC#U!P2FieNQdOk%_A?(Ho`ywwy=fgd}2%nkij%6#4du4!O2u8TWFF6on z)}+CZ*!Ieq=GG05;BLL4(?mtTf~6fgctS67a4iDxUvTlY;5CN)SQ4v&=fw289y(nj zYA@0W0ZTQc6vua~1=~H#yFCwmKPZP~l=&71m+m+p9Ql{TafbtGjN`8i2iGg@ZdoXI zjbj85_b!-T`|nFqONL#;1-_tZk3{VmAPsjWit*bJar>`*^Svbz=@wkI+J^lMT_-b+ zDY8xhN^Vv=>s!Le#>u^XZ`U3(-D-_xUu;KR-B_=-E`3szWpis*fm(ws#W{Z~-(aR+ zMG(uPN1cJH0vhgYw5$FTJU6zW;@{Sdu_hT3w&cx~f=*ZdqYu|w1N8wW+8P6-FUIE} zhY+T_z51H9B9N_gq;_Si}o&*cb5$_=r0RpH(ngW{|-$j z-2cWXZpKF(;mutBcVzOwW1r`-Aez)#?s~!bQ~YYf`QF?1;sm!!DrSf}+^*bX=4+7J zm*0&$b7@v3zcthT{@U5;e-q;mhsFqRu6aGmJQ(HwV(!om8ORrlTu{AH4uM39x1g3g zltaw*|If!!u@rps9R|Vk<7~CzV1PtLa~ZeWaB^0%^Eu*ne(oxVtdDhymtWZD@3m;! z@Hl;1iQdpziC$$s9a>NE+7Zt5+G*xK9Ws1FwZlp@*W2^?4Ww@ndIPKDN;LBS@a7W; z2?e(CYL#|{Zj(?;Vzw!Y3v`6!kLk#oj_9UJ<1W`>+@ymr4AMbgTs3J|w5W>mkeF@d zxA#F@wFSSC{DPJa@waHN>mY&S8Uq5*6#zYak`I~_wlv#ZRSp#iL7vVLB^ZpZ1zv)Rbx(c zFVdw;P5S}d)=%qUQLG0wfX2BHY9f5jkFQ|(wGHouO{bE}lzyeVY}7JoUksO~$=^)@ z0U3$0*&BT1t8POZH`!NPgei>V%KVoUuJUf%!pWb!ciC$3fB8HLeCLTj-P#1aBVIh3 z%ou|{^t3l`K4(7U{ax45@7X~Vf#xMs%|pXBIoqzn!T;J&mCXTyVspZ(0g^P%htzh z8H#J!EuHkNq;*TPi#iT|54Ko#_n&^~Z&jSjxAjOyh(?Xd99}pgtMlMBMz#;qJciG0 zwc**d_ajbJ{gk-sXJsq@1WppJ_`vqDo4@q6QlG+=bp*Sr1VHb|g%iR=x4%qiLA?|V z-sTJYg5U4r9<{&}_r^bDf#jDu0 z;?n2==bozvDs#_;3d69GY*?pJ&mJ7r^k zfwL3nhd#|d50Hq)WcJf#ezbQB`qu4Rs=wt+M@xeD&><5ZpjViuee9GR7V>S0w@4-$ zLOygxbXUX0yWnE5+mDzs zQ81S--4LvcUMReQ-}sn%l7wDE<6u)z<*~#fy`+Ih1Dui?Qnp}VjoV|HILv>OrL%JI zE){uj$ONbUe$%kfxiwy6bzVm45o_O0&O&=b@XC**3`!8G7 zyH?Zb2B6%1Ag{>0TTPRq=dV|EExIv1r7RRqpBIe;NAed$C}#~zX6;DHEW7v--}U;b z(t2L-Nlu|NO37qKliD0C4mpH*On-FxA-Mm(iKyh%@fMbqHtiJ8I=?h2#nQ0a<9)rY z^(OnCQkovFpm$89?Y?+D`;e zCWY4RS}e7yrL8!|oQ6#SQvL^P((9%s%at!L%c#SFdaF_#`#arwTT5L{JXTYS)vHJI zosQ{SP`IPey&$vf z6_?x3dGG2{CqKm3i&gR{Fv!>6n|km)V6@9GnN;N1@vS^Xko=DC&>p#vb^J0U{!)Ru zsrja&Q#M;b?N`H9PL2(uWF?F{ed;8}1Bk%X?J^cPm&XW)RyORMgfW%;k<-Q3Q4-Tq z(zIyzs`(nzFq}`3GW276@V~5iR3;JbJ+_p8ID~bt&24l7&A(}fNG@P3HaFY zT9Ca!dUE~#3t&O$Wc4*uE9QxEoHIG`#~KcCwY%^F3uVM9H;ZLKKlqNnb&CEv+P-CG$*x`Q7cxEw=}USyIyI|p{|WGu{2KDf&k{V!V_FLwW=9(bo)k{+qT z5kLkF_qv%k<^27gV%;g{=Xi884f#JUWc!R-PLxCr1kUsKmhteH?HqZ~fll&8Ui=te z#EBe`^@S-kSv^+fgtnm7(NeTkbw`b^UEb)lgfkPp?{iO4?z*(UhW1(0&@B6{xDNM^>3XtzS-ElNH7<1H1 zW_Oz~SY2>vk0k6L!^FnplUY*b>-%bI-emHzITbr2YIDRz+s4PowS_5b&fL++YoQPu zY(D^_^Xbk@%L1SMhC;AjcYV#TP1zMaks9WUu^C zJJz>Gj3gea>)qq3$BDUP&Q(HPE5(DANgnST=IYB)_4th!tQuMtgOa*(Mj~{}cF-md ze(SC_eG>e>vA&6jDoe-1RCHLB&F)=RLa9q6g~=BHkPWsY<~W~FhUAPi@Bj3O6ccdg z9MzB7STJL#p`ns24cD=k#@&(rhR2eCGG>_> zRs{>>?Xk`s$M3NIj{;AmhmqB7BCZ+&XE=)?e1&;wVl=FjT=3ZR7IEq0Bj4cC2Pi7X zN3h^IJa~g9^rUFeWSHywk(aJ5EfT(GCx`h1!|x)QDgVKHA=dXF_^85NXwgi zMqp8Mpgk%C>Ce}G6@{2~?=JOom+z9@Ue|yyVJ!@;Ve8n!Gh|-M$!q;iA5xbBmYK`9 z1D6pj#Dp8_L`BvY!n+_=;_|#)-NvuyylbR(==iH=lEgr%+oS1W=s8QqM+9h?_pI-E z)`t!Ee#0S$d**j?j-p3rN)12;W*pzS08wClpU>TJpG)l|>xreP|D|^^=xaeNPPT2@ zELEhX)auqU#A$Fd zMt$&477SWi01q>LG7VG|&l>2=UPqhlmk$RDv5?EM&rN}=_qW#$f9+>}0*{#Lo~ zlk(I5GmyTLvuyhJuFAw+RUf7!+a5NLkuze`&IGJDbtBt0`wX>qaIXZ)Z{)>&PWIos z>Nm$pWcmK^5UwQ1e}^YsKq61YJ)lbr^biwhI#5KIG?JKKXJB=kO$Z(-=#%P9G+{z)!%^oDi`%-c|4$ z^NL|*x9|2&mYvc* zsb7bkuHi?-ew^|32@GDxJ+VBHSzUFd2C!9UBJIcUJ1nb&;<%K`ScKHk%iK>@fay8gk!fZrFc*4yVt8&kL8@d_<-UKG*Pme6i@qm7*U% zCi*dIMrN^o+`#(H!>xR;Y-Kyj^XyKo=&E+r&F|Eb`}mg|+$WD&!^enb7C!{ve2n1V zquI9^H%)r|wFht3`jD zCjbZUK{OX3PZu87!|qXZGn(ciP&w=^2D4HeE?_zwZEnJKTis9Kl9EyACXb#x~$i8@V*uM9=J|Oo-aR&aljb!XOY_`H@g){y2Fkf^Q-PsPhBq;6oPi=qCJm=*J zI>!qMF9_L_@SLgx-Dz( z`$9)}dhc7d^(%t%P6D$g8IFIIyGer^ZE$cEh;wI|u&R-FFpXAE&5s$I@lJwoq<_cT zf_z?yyYh(=KNP9v%-8{5`H;F z`J`<<3T(dO+QW7`%eN1TJJ*4`;h?zl!ghb*LqU0moG)*H+{tt>{q%p$c3fwj1}m2v zeBAnX896;{zu(Ri;`xJBSUaA_T^>fyeyMP=&5n3@NZc0yIA~40Jlv%shOE=tkhJ&l z7WC8q>7z^!&i`6MQm1xW*lyQ3J0xrqjTA@_I(y>jx3tu`0~uy@^F9jt#*T?eWUy!#Lvz&pzVr|w8Kj& zlgSE6x9jw<3He7|Vk-I{Y!5gy0fe94#y%v+{GSOr-O6d9nTAL&YKxz*AT~; z#4zxdQxD|jv~Xkt!ZFn{)YQ=dkZEn!&?(pPzUjrKrT+Ei7|;WkyHPN1&zo)hA{6z2Q6h{NV}-7~{2 zP6IxhpNdwUU^x7ke-xJf53AY;TJi=pUn!t z+7bRoNB;2dwy{#Tbxt^!pEJaIRN$m&$sB{pQ^p)6WBz?P3nw_oE^8pp$75w1yw}kN zrEY4=Sm}Q&>>S{A)vR2;!Xz#CI7#as2Q9f)D;vkh*pyz$+GAYFC#i%wr^YPgKKvoX z2O&OnfUY?q3@x=v-JhpXw1t*5nsd@{9hAn9pds(-=^vMQSI;KfT|GYv+wbaGH7@tP z8E1~m-kZTPI1k_p*xn4@u8pUY(K=zxOw@67Exdm^++|(^zn_Oqct?2~>tnQXt551X z7B9Ri+^u|89n*aPU*SvZK|(~SS-kM45V~H3UTzB=&O)z*&@V;kc|N-iMTsp={tR-a z7?Jnjw?0qo)!qpFE)sWvBe(7}x6R05bgqZJ1J|>F>*fP+-F#54n-9u$^Fg_uZs$7P z)}DVJC&xxV%pIrB(ZwBvY@dG|x4AWYt^paT_UIM3R)lx6_S~^%FFa>lFgBGqwl%K> zbwcMHtuhZJVVH*|<=H)sY|2l297zd}BhOFB^eU3lZ)(zD_1B+RFs~(y-bJJiXan#u zo3+(nHle|WL2(9od#IayS{-?Vf4v4@pH#!jQsKTBJ;GN#$_2PLJ;}C4%#X;k zKfG26JGc39EEQeR>Q)Mw{|>2tDvxk|mKnPy99PQ-`n}?(!;8@RW}5Q`3Gm}t4ATtBWya4JX2+Uv$U?LDPZD#wV8W9_{c)`qNQ{&UW~_syFW_W$?K_f6h=x1M|Mx#ym9%Q>{)hBC_W zjWfw^YbKGQw-oy>n@K#8Zt&nKTFHN#lD53>e{p5b=IF&FS4C)c-Pc5$iq5@QTk0sA z^K_JYTk_Ie8{E3h9NX>RhL8Uy2zyZIB`evM%5t_9p1*|WiSYadJkN*cW$?5LRkg?eWVJFs7(rsF*TWj8Wi@DR;%h@?wU$VhUX` zWeRKVAEGqpau+!^jgGOUO`{Ld+P88Qt^D(`+zWAU;GC;0MOzYDpK@zMkOjOZQds1N zdTtTn+Ikqn0Tb6p62ECI4g`Nd{(`x{lc_ti@r1DfJ*oQ`=IBkF*{tcf7oMNz*O;du zS>Q@l0IA-{SX(GnrtZ?l6aEx1GS+YDdzBSl5nury?lk+DKadQZM?1|v7BDN!yG*nK ztYN;$hWhg<{u3C#*%lLJ;qplj9R_1YZ8cedxZSao;vg1+^xw2R2Kj%=3%B}fUx~6< z;4FWvkaMI$R#t>QWl!k(lm!ZrBV7Q`vLaJ;!hjL5FRMe@6>=yPSL`g^VQ%?8zSVAdmK z?Qd-O)$4WPmT~UxKq}@}!n%mqHCr6ZY`YK$*K$#kPwUY7g zkLT!Q1L_U3tc1OyQhX`(3i>pt(Ee;>5>x9t4U`jhWd*O$YfC=L28A3m6*vjXOG&6R zrXtO4t_LkWnv9Nw_b2C0W_~RRGPcR~XQqM{9X8Zk6ozy&S%iN*J=bF4O3Zy7=GKr_ zfELD{q`cofmQuf{oTPjJ?}6fq;@eCt4NKa^{D6lk3_0K~7MNHuaVPZPEiJ{&Ul9tc zz!4`Ux>#!B0W2KBJ*))O2XLqnkbi#GXzl0UFS*|on8(K^{vI&*0c|oeo`t+$4S+ z7tB88+qMX+W~XGsmCu(6Co8jiuQ3gtuim10~eKu~|dCR-QMJGP*h1%{<2j%VQs zOyGYQwFG#=@YIATv@|(kEZ}@s>jc8_XtpyJQ_LVh76Qn^09lEb+8N~SEZtdJs@P97 zOqf_|@5FXZz;?Zs93EynCSmTDAVJ-~l*+p9UtZ9KIHxrisvTHDcVC~Ix~ zOS{M`Q>q}*aIdgf!uQNAt$jsd*9}>!9M36j@{g%XgT*Qf3)UzZKR(IkD107^ z0~~*S%5UrK9Cs*3?odwnOA&V{hY?!gy9>C(c;XJ5nBR{x2+TGkQzQK>>Hi>Wf<%e@ zW)rjDG}%Pr9Gh4mRuS77K#nmIIL0`Zij866G8{EkqG!uE$EfyKrYeUqQ-g4i%}j4K zGYyD0C$K*ALf{AXoiOgpVw(MS(tm3fxekApNuzcwjMUNa1F;fmK2(e`lZ(#+cz$fz z!va<+X0vbZ0a5+f;+@6C ziv3JOG*)cCgyR%6*&_RmWH88fju|s#E8={ zlp}V&lW0Lr$MYl^>qU|G`7D(8cg9A;I6*o7Q-I+TgrP80bdnNY0pq~Jv0;Cae$l{i zY(Q@YDgrojj-)y0L5lkz<&^khvhWaqE?GF8g;W#tD(uCl z-!cnEu!@5FOyi^IRuvSGu!Vo4#R3i+gn4WNYbfzseailGOIRRml3(n5TMMY>QsN22 zp^iRfD#mLV-<#-O2GT=_do8>Y((be@sNHzdEGh-gv^HA=c-07J|Cq@2-HbJ-!O#3= z%#$>G5|qGVLj zNseo(z9#bG2z)Y+Pg9ZaiW< zf0EZTmwQ$CI2-hayeKd8Ga2{qBleMJ@^Ur8>libGu}16Imz%Nq(;&JJ;MkY?y?{Kf0tb_plpc;WxxLf4}k%Akb9Vu z_LFDUL8902RQXZ$V`=nr-AS%_P2W%6r(aaRKXLv-$@!I(Vz6H8irL(DDlcE=Td<$l zThw(H!aaJ>?YYl}E$BZ)!L=Z1bN9IY_?e%iUe1!9GJ=1lo;mBkP;;PL0W;=j&j5`Ttxdsm0{iHN_@ z75^^8{{?^J-{{aj6!E9I;$a3$JdE*AcWCd4_|>lXKSTWe82@0hz`%1_AWz&h!MKi#Xcojdc}*+1Rm zvb~Swx3_<~J7l|W$!qsb(C!;@bTl==X*HxI^&o#xQn8DYaK&WnY<`PCBWtp`ecq-7 z-)F@&1YE=DP_C>L_O4()c&a-}<7us*)-~z8$-6|670TT{+%NWvF?t-7b2inV^6AVN z8T3Uq*O*Do!zz3=roAV!8Ok7iYGa-T)aK1;HNGz2p!(Dm+Ca_cNz#0bODfd0{$A_O zrJR2UV9oZQ%C#C3*P_OfoLf1d&L&r#WRt>G*JVT2m9f4=d4r!WtkWBNY#f(V|VYxKNVww@T z@8j^hEcd;VR#a404&Nh4S42s;x9*(TR&Bsv%?`_k%NetGdWFugtcKfKO?pt;|Dwf1 zJp1i>o%p7Q;d&!_;CX4OMqD5L6J&oPdP51tBUgTzVsJ(FBgBc)8~Mjlw3BLogcd|l zR@eY_bPL~Q0b1{U_ozaWFYmxLL68xjGZ5=|v#de~tm|IF_5>rK8@CwG7;pD^PisVZ zA?2-LDbEPGn&`)q$Og%_2uW?TpJp`N518clunu-<+};!Oo@w^fec$v#efobEoJ&8S z!=>TTjDLSZ`?ol^vfR8)^PZTuL60vpGxO&kUj1pnYwt3a;kmyu(YD>tw(p6?<4Z<> ze%zQbo8-|$`CbZ2&ib72$NNrrE04?kA4XrYbk*v>qdLv*llnRwY znblaPmGTW^<+@ftYuzx$`PzSJfW<;bn;{)F3@oiDaY&P;r$Q$~zKM{JYifPU1bR>6 zN+Hz?*h_3`w7h|mRLS8GKOXCVw4+%}&(l$jFHGbMcrwytkPD<@Pe1)L&Eoo6<%GtO z1o0uF2GG1zpzy?XIL3-HR@dAjf@X|tkzVepDwvcW#$x`o87fBI%ea5axL}R<*GKqS z&~J_?VZ25a&z6t0pB1|XkPmt`Jq=oZrODepg7wt>soDAvYfkIDe|1-TdDtiJ_2n?? zqhU%@LHa0AYiUJk8I)KmM$JeVHK4b(EjWBxG!U{sh=tm7^(}e&2-LT?-`9;8mwgLt^Fu< z>;HjL7c4xy`jvoT??Qd0SlCJW8sNJ+HwG0PL4|aO{>;V$-VA_*btuE#k)oWw=fN60 zq?g611`ol07ipydaDg5QEpI*Y@L`_@ zRC`y zg!Z3vyvz@}O%;FfDIZcpBwN26Z$(o4mvhiJ9=66yRQZ0lPU(xNH9DPn7!T5X;oM7< z0L<{avbb`Uu^xc3Fr5Ko{glRyzJNFA?Tu_~zL;UEN>TdfqW00^`;#GRE0nbXjRNlK z+7B;H1vKDqQ}BHC7(6eHwuzvP#bVua6!EeXmz2|7-iLqB5c0ba;I6`t{O*p1VZ`TN zGmz(nh$4a3eaQ1*CQ?F@=lM(>zCAEY8KYUBu^xF|I2GOq^{mBmN0jSo0p|gd-$fX5 z0VscXayas}OFM@XSMd|yD)a0#B}a+@`66EoLyhIEXVIi4>$+5U5#;$9lr8zvs5f%1y-dwm!t_|xcAc!Fpj z%);tu$@vOn1-+&jC}+ln#?7YXV{5#pG!-zMC%rUNTw6by?jq4%XktZuod;Loe$mtj zGDHEDn9tGXy2A1}S}Ah0Qc80GakNt4niV6nS{OLmV&rIH`-48^B*gQe zeE&-q-!I=Q-v{`^_UXYe>cpI0w(Or|Ei@*MTv9|c^n8304=f}eNOL}n*XL;d_Y+Tf zP0s&7i$E_P&KoBh0gv&Z@uu-*pRoaXBaC>U@(26z#s>%RM!B!+@J1Me1r-HA_f1TP&kIms5%n7Fk8XeQ86 zvZc~wC2Ue)Ke-mD)7-P2 z|8T?`%S~?y%!eH%mkG!Ygt}H@nZ-P8gs5-q(qbiGC9PtH@=TOLp)6dAr-DkDs+51S zTB}TYq%q1%e()1S3E$FU1L@HvU({XJXjKNh)vPBQhB6uqtHl1GqvUc?e+$Dh17FJL_`C6iOO*ccAjLTGA;H7K6=9&sur&a8rpoyl;3F*fV6Y;{>DnjwV9dM9 zWWtC6W_)Ma@R-8ov{^D)Mp~Z%iV*mmCQi$=`|u zyq^NR|K*bLLLM=KSx#a*tsW#5r~|!+U(z_LF5pRd0w7PE-#Dre-;sawp4|8ZymQIx z3n7Ws3rXxNwN6OA7!>W+Ka%{DC1x2nz+t0<@HS z2WoSLslqXg@9uxK;~JR{r8q9(u5GY|8zqF@(05Mv3k!CSgp;&sy`2NQT2b1 zxq&s_Jw%O(yc*U2xW*!3e{2ic1@N%v>3l3`Xv$foE%1N)9xwLap$dyxj2)0nvSq|0 z?+1>EoU4wBT~-Z!zXfPlY8dtEvvenPZNp2R0Ij!F1a{!w;*!JhWS~fkz40vVJ2W-C zMEee2>H&xgM0VZ*lg&U{7P3zcoyB(ga;;uE8`$(!ex-Z#Ws!1OrYi z%wFdNK(~MYr#y$dEh+CXUxoMMxaH5t?+4r^xGyi=H$$fTb6&dLL#BH&FWt98rh6eT z-JSvII}cMk7C#(r>x$#nkIz_3_qVBTr2Fq1SE#*P>yY~>(% z*So^Jw3`6>PD6fHC`Dxl_{iS4`pOQE?w}9N9E;-OZiG@3^&E2uDPm z6wi4yDTngqm%XPPYH+^3D2F=>RfP1vnWY=#mp1uFXmQCVHINJtort(7;eTM7v|Vs3=b{_YZD`_!k=@GjqP| ziGNL#cI!9#%al89Nu!e1-gf7=-fUnlTZ-6*52o>baqRCJJxAH?)}O1|LyuIsePgHx zNdFg)KwJNI1p3C1W4ZVMIhJvJ=KO#5lpMhMEBVZ1#jHa41<usT(^#xR#gtl?3i<6lg-oNqI`9Cor>ezRg^7Faemq6y%Z@W{Gxj$o8&j0O7)jjQ z%J=Ox=YSkPK>Z1E)^q?r9}#1#jF8fx;62g?)vxwi^P8YnH8ie4_v`qjvjTrTG^N4o z_x4)znsEIxbXbGoH}DJOc4Lj1IhfZM5VWxn%ASe!%?>3)@zAi4r$haC0-gexfIGVC zC-PkhwT_MbJy51?KDJy(UmEY#H-hxkn^@E|(}U;!R8N^!n#Aw0m%hDanvtS!gT9S2 zt*QmTHIu&0GHv-Z`u5Sc57&Q$Wq+J-0H=p?XtUdgl2?qmz61EZ8A%V4yR}dvUyobW8GQxkskG`+(fo!h5%i<2 z-f!^Itu85BEjy6YS{d8iF7aGU@-UBI1@RNG-K8NNJ%EBHuN{A+jfT0Us%sW{a`f)Q zYL|K8Ie|@D7Gg^4j&gs!7u|yXR7rE*!t2@Yz|j+R z!y)7U>a_2ChaS-WNf|rOMIZTo5Ha5?PQJ^F^7Dm@2Fqs(zW*8Idx+@is)O++WQS(N zCe`5m^>-%(wGMwx6<_a6u=jLm9{8%jbMTl}>(JkePMV1$;`)R6xqgxI9n5XN2|93d zx8c`%ttPTfg(qG#D8UDK>uNrc&Oxm9+fR0AKp{14L=j%nEoPJV*D~$h;}Ld#P6OJa z{oa<}NsYs3|FKN_$@KhG&jj*Q0Yq0~pQ@AsYwyg}ej$HoCC!!MW=kGir>EN%$IJ9> zM`h~HZ-~!CE73^VlWHoV%=JXeQ^oxY91FM_)C}znh%dzDchTCK0*22r{T^?o?t+G+ zsT@PAX02H)AIHg51;hCI2>Am$Ncgn@JR3B^-iHx3j7G2lBX}5eT#cgYDYUJqyfYzV z%_YCj#V~*70V8`5j|Sau{5{c(Lg&!{Gs^Fr?_|Hc_FI_O`FdII+jRmgTlt+?9ccvj z?m9d`BP}{p_Ak~uJZh}A<%evCM}y}ccmj>Ij3n4`|FOdhG}0X)8ZqgV2IjNhQD)jd zAbo7~`E~o%4i8X3%XFdull1u6xPPLSc{l|?|9F2=9%zAwQ$S^|qzCf*e|y&5|0(U3 ztnB%u_Fq}->o|p9mrbwE^=|c`y_<6Nu8Au_2(9?)-@6Y{@18^DD0(&Pqw=wLQwp~) zu8|$Sn*pCUi}B{eG2{h&bs~4(axm^#_FAo|#e0L^4lm%Ob2j0G)vrEPWQ>!023pIGD30 z;Ej6=MOeB$7k0sX36*_EhgS!vfSY^!2uH^PBq^`K%Df{%AD`2_<=Fl$v9Ij#!l>`; z2koW~FJQY9u3%_7u@ z?PE0z<2sHdY!x0(w%s}YqX#G1RXO~t9XjBDMu5e1r2xm5j}>^)rd*d1)H`&5dxitI zUIA(BuRC<;ml;hoLsHM^*fZQ8^fcUw&{MjDf1c-M?6V~8Irb~8eQ!nHrQ?n6G{Zdw&h=L?!L5HBuHTDc8YQ;i9=W;Af$W0*JSFMkDY(NjuNhas`B#6QaxeA8NzROMbQWvHzDR%a8AH`b z|HXbd0{woF%+JVX#7w%+&iiS#tDhc+e!2qvhvfQ-#z5^1=qnxiYK9^E3dRqo^;xoy z22grZ|D1U06r%bMvoJ?MKY%W-Pt+HSe!zSDI0Bj|RZ`!b9m#f`X8#@W&O<(fkZ(`J zJ~~2#yo+hF_Jf6bx(o2^Ig)?yoD|dzGtG?Kvz*Ff4wcWMoMjGX=L2R7BxVJbZ^?2h z=ltU&Di3QwoX#Tp?vK+l#_eLGUNXsL|Fn(5IZj6$lB0d^ptOH2$w$4`BP0jq)4q2v zw9jRc^@8>XN-66HrTvFHRab4C_A3SLmul-yb7F}0D+TSBY7gdOi1vRg1?@wgtP_K@ zPjb=xcDG#AU#?p}2<`WmmKN+qTH4W1S~|MFwDf08UR_LpUvJ2HzKGhS}dp86T6hhW2v9hL26{ zT?BZ152T0!bvOdDuEtQ!X%I8q%x1Hv;nzV%JxkvJ^QOt?O_P6>`7R~P0b6Jf_k^xv z;92G?Qe{}FkFCSi)GZW#5R>60J}fgA!)I731!h>2_8ZP`IBsLWh#Q4eXPLRUJr}lq zoPAzWIX8>47PLUO*LN5|RVS9R4ui`|CsP|iRx%Epi?Y%^Cugj?2}ji|lkG5|cTYSP zp3u7|Lhl;uom_uOgZD1lt6kK5Pr$G9FT^SI?ukuVe3qGiqTaoi;6VtncTe`<7q0uZ zLH})V_2XI^GrS)s)+K471nsxrF8c)Ud$^Kv8I%FNNB8NVte+StU187qNy2;8kyUvM zf8t1kw-sRvZ~6(g(47|juikvHKPS(6u*W^n<46UITylTy-6ScV>$jf?L&((SONbV5 z1!K6EXu+#`r$NkcFVO;g9ptSih+_t)1%Sikw6KxRSDw(d0G?&0UzK5{CZ~ms6wYY@ z-%CtM3p|F?0+j-^VBiz_y~lX_-EF?9AfWTFfR`v>jg*Y#*`zEkfca?c z51l{4HGb`P$3;#vt1!gUnK>ExG6PJXx&=;V4~=Lc^zOwi6J>qDGQNJc>U zL`RMy^i>^KoTSXx=SV>*4f;px7=v`OCYiBzK|+!nedx4b-m%$L+I%}RNqeJ_&Q{dtm_eSQw-EB_77J7`?y=BvdnS?ztm^?FBE zBYf)<^kWd;T@JoIB)fP}b`kg{xvkHUiBdY?S-+-*@H|W4nc1HWEz`Z}lIdQ~A`VH0 zdtQG^V@KslV{Yl|4hLI{2a&$+5YpG9F6m3+X_gBol>$#;R~X(~JH*Ai4t42t`%E87 zr~aeRL`Qf18=ZPk&G}bC?i#3V|0++XX6uAbeOgYZ?ifU;UgXlLFPbl*+M7=OWTn)p z^II~QPW`L@g-(6cUUcdQ{;f`pHrYqJbZUQTOZ+#}#T_x2o6=rC3oC#T3oxPpMyz7s z+lP1IiJtTfz=FmxGpshC#FdK_JTEQRBJZ6pZRShq%qyfalEFX@`FE1fQny5@5!KCn zPe?uwx+EW5F-C7ZNmXY?#C{HM0E$|Pe@!L+CHJLvPnR}oA5V`Hb|>Y%w!#@nl8t}x zT!cYq%O|p=Ii9Vu9ulX=#^L=Xx^J0O#>j9OwMR58Krd(3N;=ECD)Q9QW;_Y!!*;Ya z#La*&=DE=9sY^9`E(v;!U)VoNc$UqO@U%75>iIUn*3OW7sf*+8@C`HE`|;e@`sNvY z&6w_2SjRLg*!p>yhOyKAbe^|}W$J&{H_R-}SZ|;wq&>2%JNwlk_dy;JaP?X{@V=e1 zu8nao4;sh!CO?@W_fJkZ4EINt#@p2;@ghfVH)bZu2Vu&~&rhaXmjL%Wn(&=TywFf< z;CaQbv+35QKwnE?l%3lUpMtvvF!CTQrg3>d13tK%)>LK^zq^P0Tjah^?IM2<3Qlfa z`s-89C>`m-W%W$i{-tqguNc$rHK_8sNwv*N3W*?%lo z*NU%VX5Ub*76UvM!)LG6)P(y!*p9H~Bb?Rh_J!pzVNV(tWcbWaV~Kw>)$HVKNUdf+ z&C0nFdgIU}D@UJIT5H#-@d^6ZbY?^DAgp%p78 z^*fw_P@W2vOqv;BT$_KKN?QE!yxc2z{>8}w@M$PRQkt_fky9ZgC+}3V(_k(?nZnMW zDRp>UotB|;O^f(_=gGkD8=F>}_}!5$RCt{$GPyeQ(=|7cac=P{|8ViM!9J{qfNJ^HlO|{OyNwJ{V)0OzDH6CvjY}r3a~e z^38iF-y@B&i_H+kp3odoecXS49Lo33@RS4ERREohjqUs- zP_A$F&($>u+ghKXxj4w=t!(50cz0J}G3^qwC(_#-2HugM>oUv*^1{GeD&*P>xmGui zW%j!v&3;?@oHFZ$eF)x8+~etFwD;y^=mQ9~?_O(NGq(}J92?z{dU5W-T0B=_q$jZ# z>~`xSI(>ie1eJw*$};^vdreRG^_bj)rn#t|`{3f~(~*nfm^K~R0M8BZTo2Fn@Z1E? zP4GM$o@c{zBRn_4^DKCt1z4ngXekhJRhFt!}DBto(s=&;CW6wcQ$T*y*Q%; zq3*qC8Nb+xKX=gh4k!M+LF12c;?Ey6KI6o18Z>{t&xyZa(DU+2W1-7lWo zx<0F(kCk@ioOqEq8;5@vIpOE#g(&q+_;6i+D?ET(MqySdEZMPV{7kC1fJ| zwJvu-uDc-T?@=+IE9#l0_8F!7dPKjS)FA!F!5CLc>4|ul?kY`nmB!yQiOWIm#4~?W zx>N2Mr3Gh}2EF2x*HupYHVoRnTmKL3+W_nA*pR2=j&Z^_#@#*!#yR0<=Y>yn!q?}Ov%eF5 zVP5z&C;Xzk@H!`aQ{3&7qTw)kj%PD@V?(J%yzBNik-8TQlm#pF7mT2e-f@52=az3Q z%AHZ()~w~7akrIR+@*Qv-<|W!i7y*0-O%mlq%W97hjE!H1XA*gftBnZq+fdp6H5-` z{yuuFmKGI#Ku2DWw~u`}-ahW#czfkb@%E~>VK#p|o}xQ7?U8rl?eSOQ=%)_Cqc6u- zMZRezEA3zM`~Kv6?J(}sD(QdQ7vx#v;%G@on>=$kYhVgc{)MglEKq>;L{4roXqC## zdJ;crG1P#%Q_~dtBb2pPS;JR=1nnKW;)}ql$cPmkw9@rOpeNDQveAq8l4X56_gdeJ zE&t#8x}iQfA0p1GX7Tg7tE^v&6~vS9cDWJ__x4nXWhPwN%y zHSyW}9%Bw~={9JsmW1a!aomkax4j%sr{9TZ>W*&l%)~FG6V!jUkb*s0y6xS#u!`%l zR2P<(>XZs)tv{1k(c)1spW@`RKPuNQ=P_D)GmgbVp*yt#O#i~RjtVL1$FaVjb>bN% zqb_QMypz||Fi;4#CLkViv4~{ zL7$|1{9&J;MdyF?Ms{`H1UY*m$9G@MLOx3G3;2+ZFJ_o}J`;F@GG2|R9|uhM!YmEt zp>2yagsrkdD|}E!%4aZ)&qR)CxeDF@cfM(q65+z{^k3hA*t6a0Qj{S(bmtl|Y>Re)~hO#_d}|D&Z;e zGk_t$IF@3p0hlA`T6hlFhjhi^g)xjc*_Bd#ET$q((Bstc-Iu`3d}7P_jN{=FW`CMe z3tV`3Ex!1P*P)l%AAU_>M7DgT)AC&a+iU&W^In#>=e51G=QXE2x}bs2X7jVm>6(}0 zAvKfuc?*AfGDqD6eN-{A&mo{w+H2m7^BxwlDz+%fFgy*vRaRmJj)GN@f)!D^=M#W> za9&pDa2u#Gb34$#1w6fd`&;pt!M~t|+kyJ;ek-272U@z|xRN^j@%ZszFSOqykR z^q$@hGmYtEA#WN=!+fKTu|L94oM%Sh?#Ea7l{9~Ws^D4fyWEd4Tj(~T)D;P{sF zR;ITDZp{OM%1iK8vzaodz6GlPZ2`%SsB6uS~z=Qp4p=m#Zd<1vvqGH|TTqUrYgA^VpS!p9`AQ^OMcw0ER$S> z^AC~B{qhj|VD>~>+RgW^V>u6|~GI=?)%Lnbck&n?4j#rE?M7vts&S7(XhO$#puwB|C6xPNt zFSg4-n-Xnj%Gxm1SN%&1jYJANatm*lygB!)My`X#OfF5BBuzZVdK0%Uy|=$5V&E40 zNlU~)lC<9` z+n$MpTc_3x{Z=N?(~^G#D*cMW zGuCCD+_uvTkoGa0;heCP_rGBb7qw2Nvq!5N*~&cyv^fEsu=g&mb2_7S#z5uIWR zwqC&Ow>VAnzW)s1982=j4QPLT!N7jF(MT4If{@>1h&QB0yC%;F!`Stz(Nch?&Ceys z#MLe1IV8KOk3Vyld&FE>?q3F!`{chV_v1mzm3Omln9JA3uw3L*C{fq2B4`(W9R4#{p6;yvwA4XbyZ7%nJ z1Y>{0OQ6q|f<}CsiIS^H6!8aYWpr&%J zx2Fitswl$~Z42qq%G$P{;yn!v!Mj+v-V5}aX3F#C5R_3IM9NRU8!gNK3MdKLCQ;txE z()cshh5oego6}@yi5}%hnzV33kmc5Be*|$kQ5WLq#V?HgHgcrh4h)H zvgJoe`#r=d^q^j-_Of%k7`HY{Cvj4m#^S2*J_Nk)>P~JQ`c&GtvEMIL;sj0% zA3&;XD)lJ;Dj9#{oQr|^0qUxwx-LW=0Q&U+hSK0de}K5Z&*AaL@jq#X4M^o)n~ zSeLgb^p&wLYUMXdy`uiHO`;#IkTR(rJsYDIjh1!zJw);NCI@5pRCb`b^a@_3~uA@o%*WTFD-=@UTL*pm1sWp=4>-4050|Ta6C(_KbUKeS$ zP?}d=Y0e%Z%^R*Xn;f|M;}7LCM!Tl6-CKre_pgV>uQj4IR|clNzDeFaN1gcGPA2wc zW&H2+;&XSAB@DL>0mJqo0A4_$zuNkmtE~?<@immeX!H_)g7csOK1MO$V@=W?NDiiq zRom4c_NSbF>yL+^bI7M#{-J|*5%DxE(->r^K?*8da~Jc8^(V} zPZ^)mzRboHZYuH~DeplhFyRXS!>c{VA{YKg%1_LF$W~ z*IL5t-{scNf7Z-p(R5AF#ubYkob3>Tp;!*d08ma;=VjA6N92mGI$Gz@$(}v;zaZ)0 zyk<#%yXT`H1^`|M0FXq@1!1}LkmcBxv&5o~7NEvymJ0h?reT8Cuw>JyFrcV0eygG5;-{Dow zl3!w44=ZEaCQ3M-6L63$f&0Udwv3-;i(FWLKZCVLhTH99OYL;Dl=`AQ60+MXOYHWl z5jJ9}6v_xUQW;-L`Rnaw;cvn^w~e2FIHQdurn<{oYb}_qD6~B?%;pxS$d7C@m)Wq^ z8rB{f4&|QNhIG?zLGADpyAT%CUs8f~TdumlmOgWTY?f=<_W@=7qSc}`ZLSk|TBNRj zai3h{ReD-3ZH>$fIzD$twhYW~igraHZZqK~Wx(h%f<|QZi$3yYV7%zF_e53??#rM# z&zFHQs4s)dhxTRAi|aV$+6%tg8k3<<14WK+!+xM#d(ns1^1}Zsp9V@^ofi*TXSx${ zOWvnJ5(@(b1HLJY{7#cUgBqgB7k!3*f#>otHr-WXXX?J2Q(FQ(@;-BH9v$7n_nFeQ zAsf9<%wWRzh;^OtK2aj#7Ga!{R01xqCSJ#@iQAUo1}KxPC+S>DMW4=Bpob+7>gt}{ z`UgnAW90gWR-vIMrq^3FCOu@ni|=aEK;H42?l|2yeb-0~U_lLUh z3~k1GyM>YW+F*gOtq7Q%$YSb$S$_9vvA-APPKUkK;yx`_rvI1H|Ku22PpV~jZVYj; zjz+8fcn%h;mD_vgupC6Nphq$EzY-y6w)$(MNjmRZ8{K~ZG|#%A`Jo>)H@To8y4Lp& z-RT^<2l*Lpj_0WW-;uOGguUS-3*g}u-W=_ClitH6?Wh$h(#|{7n@Br<>C2E}GiYZO zM&k!SOViO4E#!GCoAQAE4ko&cV z@4xQzY{*0pcc;_3)0WnMb4YJ|M|zJlQ|4;`GhZ9?64lOUq2ZGaw0%9Twbzx4$L%x> z#r|i;+D?$zJ4mm*S#Vu%&?{-=%T_*)GuBpIZ&z`Ti2Jp5=1eW9#WdWdpnXjpcPVDF ze(Te@b{TX2F*T^$;gk~m48gd**+oUWAyvjPig*kc?hbP{DCS-P)=bU*M-qTS? zA8D>9sW@^uQ339IOCGmh8@K(Nt_j(6E(o6KTFkScKI-^wGU`xf@QXY%+xYqR^hShb zbBjTK!DyvX+MqX*hAnN-L%Z$*EZ^Tcg2H!YLk5l{z&$fAiB^R?le^!`HfX8`M|i@y zjrj%2s4!R2I{oK=A;bR8+5c^ma_?{(t$=Z!wxNyVM0mJkx%Bt6Ntt7~OGd#wXSFfc z*+d*$54!Q3*w7Nu^6~s^o8YH|;<=OXj66}M|Hod_cRA@Ltgp98-I()Pc|HTndbf?Q z2Vk5w=pG998OCV|Mt$Vd*69?U^BE@LQqy~*msJDkMcQqD^QVPOM)}Z+l9Ma3y57

UAVR<96ML0`!9c3FZq5kEV} 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�rH(bm!~2Cb9?f6&4ESw^`?G$ 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 z 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 z%0A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
- Temperature +

Temperature

@@ -18,8 +15,5 @@
{{#zone "bottomJs"}} - {{js "js/d3.min.js"}} - {{js "js/rickshaw.min.js"}} - {{js "js/moment.min.js"}} {{js "js/devicetype-graph.js"}} {{/zone}} diff --git a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.analytics-view/analytics-view.js b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.analytics-view/analytics-view.js index edb7528592..1d5edffade 100644 --- a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.analytics-view/analytics-view.js +++ b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.analytics-view/analytics-view.js @@ -17,10 +17,16 @@ */ function onRequest(context) { + var devices = context.unit.params.devices; var deviceType = context.uriParams.deviceType; var deviceId = request.getParameter("deviceId"); - if (deviceType != null && deviceType != undefined && deviceId != null && deviceId != undefined) { + if (devices) { + return { + "devices": stringify(devices), + "backendApiUri": devicemgtProps["httpsURL"] + "/arduino/device/stats/" + }; + } else if (deviceType != null && deviceType != undefined && deviceId != null && deviceId != undefined) { var deviceModule = require("/app/modules/device.js").deviceModule; var device = deviceModule.viewDevice(deviceType, deviceId); if (device && device.status != "error") { diff --git a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.analytics-view/public/css/graph.css b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.analytics-view/public/css/graph.css deleted file mode 100644 index 9f357f2fa5..0000000000 --- a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.analytics-view/public/css/graph.css +++ /dev/null @@ -1,470 +0,0 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. 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. - */ - -/* graph */ - -.rickshaw_graph { - position: relative; -} - -.rickshaw_graph svg { - display: block; - overflow: hidden; -} - -/* ticks */ - -.rickshaw_graph .x_tick { - position: absolute; - top: 0; - bottom: 0; - width: 0; - border-left: 1px dotted rgba(0, 0, 0, 0.2); - pointer-events: none; -} - -.rickshaw_graph .x_tick .title { - position: absolute; - font-size: 12px; - font-family: Arial, sans-serif; - opacity: 0.5; - white-space: nowrap; - margin-left: 3px; - bottom: -20px; - height: auto; - border-bottom: none; -} - -/* annotations */ - -.rickshaw_annotation_timeline { - height: 1px; - border-top: 1px solid #e0e0e0; - margin-top: 10px; - position: relative; -} - -.rickshaw_annotation_timeline .annotation { - position: absolute; - height: 6px; - width: 6px; - margin-left: -2px; - top: -3px; - border-radius: 5px; - background-color: rgba(0, 0, 0, 0.25); -} - -.rickshaw_graph .annotation_line { - position: absolute; - top: 0; - bottom: -6px; - width: 0; - border-left: 2px solid rgba(0, 0, 0, 0.3); - display: none; -} - -.rickshaw_graph .annotation_line.active { - display: block; -} - -.rickshaw_graph .annotation_range { - background: rgba(0, 0, 0, 0.1); - display: none; - position: absolute; - top: 0; - bottom: -6px; -} - -.rickshaw_graph .annotation_range.active { - display: block; -} - -.rickshaw_graph .annotation_range.active.offscreen { - display: none; -} - -.rickshaw_annotation_timeline .annotation .content { - background: white; - color: black; - opacity: 0.9; - box-shadow: 0 0 2px rgba(0, 0, 0, 0.8); - border-radius: 3px; - position: relative; - z-index: 20; - font-size: 12px; - padding: 6px 8px 8px; - top: 18px; - left: -11px; - width: 160px; - display: none; - cursor: pointer; -} - -.rickshaw_annotation_timeline .annotation .content:before { - content: "\25b2"; - position: absolute; - top: -11px; - color: white; - text-shadow: 0 -1px 1px rgba(0, 0, 0, 0.8); -} - -.rickshaw_annotation_timeline .annotation.active, -.rickshaw_annotation_timeline .annotation:hover { - background-color: rgba(0, 0, 0, 0.8); - cursor: none; -} - -.rickshaw_annotation_timeline .annotation .content:hover { - z-index: 50; -} - -.rickshaw_annotation_timeline .annotation.active .content { - display: block; -} - -.rickshaw_annotation_timeline .annotation:hover .content { - display: block; - z-index: 50; -} - -.rickshaw_graph .y_axis, -.rickshaw_graph .x_axis_d3 { - fill: none; -} - -.rickshaw_graph .y_ticks .tick line, -.rickshaw_graph .x_ticks_d3 .tick { - stroke: rgba(0, 0, 0, 0.16); - stroke-width: 2px; - shape-rendering: crisp-edges; - pointer-events: none; -} - -.rickshaw_graph .y_grid .tick, -.rickshaw_graph .x_grid_d3 .tick { - z-index: -1; - stroke: rgba(0, 0, 0, 0.20); - stroke-width: 1px; - stroke-dasharray: 1 1; -} - -.rickshaw_graph .y_grid .tick[data-y-value="0"] { - stroke-dasharray: 1 0; -} - -.rickshaw_graph .y_grid path, -.rickshaw_graph .x_grid_d3 path { - fill: none; - stroke: none; -} - -.rickshaw_graph .y_ticks path, -.rickshaw_graph .x_ticks_d3 path { - fill: none; - stroke: #808080; -} - -.rickshaw_graph .y_ticks text, -.rickshaw_graph .x_ticks_d3 text { - opacity: 0.5; - font-size: 12px; - pointer-events: none; -} - -.rickshaw_graph .x_tick.glow .title, -.rickshaw_graph .y_ticks.glow text { - fill: black; - color: black; - text-shadow: -1px 1px 0 rgba(255, 255, 255, 0.1), - 1px -1px 0 rgba(255, 255, 255, 0.1), - 1px 1px 0 rgba(255, 255, 255, 0.1), - 0 1px 0 rgba(255, 255, 255, 0.1), - 0 -1px 0 rgba(255, 255, 255, 0.1), - 1px 0 0 rgba(255, 255, 255, 0.1), - -1px 0 0 rgba(255, 255, 255, 0.1), - -1px -1px 0 rgba(255, 255, 255, 0.1); -} - -.rickshaw_graph .x_tick.inverse .title, -.rickshaw_graph .y_ticks.inverse text { - fill: white; - color: white; - text-shadow: -1px 1px 0 rgba(0, 0, 0, 0.8), - 1px -1px 0 rgba(0, 0, 0, 0.8), - 1px 1px 0 rgba(0, 0, 0, 0.8), - 0 1px 0 rgba(0, 0, 0, 0.8), - 0 -1px 0 rgba(0, 0, 0, 0.8), - 1px 0 0 rgba(0, 0, 0, 0.8), - -1px 0 0 rgba(0, 0, 0, 0.8), - -1px -1px 0 rgba(0, 0, 0, 0.8); -} - -.custom_rickshaw_graph { - position: relative; - left: 40px; -} - -.custom_y_axis { - position: absolute; - width: 40px; -} - -.custom_slider { - left: 40px; -} - -.custom_x_axis { - position: relative; - left: 40px; - height: 30px; - width: 97%; - top: 20px; - text-align: right; -} - -.chartWrapper { - padding-top: 50px; -} - -/*detail*/ - -.rickshaw_graph .detail { - pointer-events: none; - position: absolute; - top: 0; - z-index: 2; - background: rgba(0, 0, 0, 0.1); - bottom: 0; - width: 1px; - transition: opacity 0.25s linear; - -moz-transition: opacity 0.25s linear; - -o-transition: opacity 0.25s linear; - -webkit-transition: opacity 0.25s linear; -} - -.rickshaw_graph .detail.inactive { - opacity: 0; -} - -.rickshaw_graph .detail .item.active { - opacity: 1; -} - -.rickshaw_graph .detail .x_label { - font-family: Arial, sans-serif; - border-radius: 3px; - padding: 6px; - opacity: 0.5; - border: 1px solid #e0e0e0; - font-size: 12px; - position: absolute; - background: white; - white-space: nowrap; -} - -.rickshaw_graph .detail .x_label.left { - left: 0; -} - -.rickshaw_graph .detail .x_label.right { - right: 0; -} - -.rickshaw_graph .detail .item { - position: absolute; - z-index: 2; - border-radius: 3px; - padding: 0.25em; - font-size: 12px; - font-family: Arial, sans-serif; - opacity: 0; - background: rgba(0, 0, 0, 0.4); - color: white; - border: 1px solid rgba(0, 0, 0, 0.4); - margin-left: 1em; - margin-right: 1em; - margin-top: -1em; - white-space: nowrap; -} - -.rickshaw_graph .detail .item.left { - left: 0; -} - -.rickshaw_graph .detail .item.right { - right: 0; -} - -.rickshaw_graph .detail .item.active { - opacity: 1; - background: rgba(0, 0, 0, 0.8); -} - -.rickshaw_graph .detail .item:after { - position: absolute; - display: block; - width: 0; - height: 0; - - content: ""; - - border: 5px solid transparent; -} - -.rickshaw_graph .detail .item.left:after { - top: 1em; - left: -5px; - margin-top: -5px; - border-right-color: rgba(0, 0, 0, 0.8); - border-left-width: 0; -} - -.rickshaw_graph .detail .item.right:after { - top: 1em; - right: -5px; - margin-top: -5px; - border-left-color: rgba(0, 0, 0, 0.8); - border-right-width: 0; -} - -.rickshaw_graph .detail .dot { - width: 4px; - height: 4px; - margin-left: -3px; - margin-top: -3.5px; - border-radius: 5px; - position: absolute; - box-shadow: 0 0 2px rgba(0, 0, 0, 0.6); - box-sizing: content-box; - -moz-box-sizing: content-box; - background: white; - border-width: 2px; - border-style: solid; - display: none; - background-clip: padding-box; -} - -.rickshaw_graph .detail .dot.active { - display: block; -} - -/*legend*/ -.rickshaw_legend { - font-family: Arial; - font-size: 12px; - color: white; - background: #404040; - display: inline-block; - padding: 12px 5px; - border-radius: 2px; - position: relative; - float: right; -} - -.rickshaw_legend:hover { - z-index: 10; -} - -.rickshaw_legend .swatch { - width: 10px; - height: 10px; - border: 1px solid rgba(0, 0, 0, 0.2); -} - -.rickshaw_legend .line { - clear: both; - line-height: 140%; - padding-right: 15px; -} - -.rickshaw_legend .line .swatch { - display: inline-block; - margin-right: 3px; - border-radius: 2px; -} - -.rickshaw_legend .label { - margin: 0; - white-space: nowrap; - display: inline; - font-size: inherit; - background-color: transparent; - color: inherit; - font-weight: normal; - line-height: normal; - padding: 0; - text-shadow: none; -} - -.rickshaw_legend .action:hover { - opacity: 0.6; -} - -.rickshaw_legend .action { - margin-right: 0.2em; - opacity: 0.2; - cursor: pointer; - font-size: 14px; -} - -.rickshaw_legend .line.disabled { - opacity: 0.4; -} - -.rickshaw_legend ul { - list-style-type: none; - padding: 0; - margin: 2px; - cursor: pointer; -} - -.rickshaw_legend li { - padding: 0 0 0 2px; - min-width: 80px; - white-space: nowrap; -} - -.rickshaw_legend li:hover { - background: rgba(255, 255, 255, 0.08); - border-radius: 3px; -} - -.rickshaw_legend li:active { - background: rgba(255, 255, 255, 0.2); - border-radius: 3px; -} - -.legend { - display: inline-block; - position: relative; - left: 8px; -} - -.legend_container { - float: right; - padding-right: 10px; - width: 0; - z-index: 1; - position: relative; - opacity: 0.7; -} - -.spaced { - margin-top: 20px !important; -} - diff --git a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.analytics-view/public/js/d3.min.js b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.analytics-view/public/js/d3.min.js deleted file mode 100644 index 71f9715eec..0000000000 --- a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.analytics-view/public/js/d3.min.js +++ /dev/null @@ -1,9488 +0,0 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. 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() { - var d3 = { - version: "3.5.2" - }; - if (!Date.now) Date.now = function() { - return +new Date(); - }; - var d3_arraySlice = [].slice, d3_array = function(list) { - return d3_arraySlice.call(list); - }; - var d3_document = document, d3_documentElement = d3_document.documentElement, d3_window = window; - try { - d3_array(d3_documentElement.childNodes)[0].nodeType; - } catch (e) { - d3_array = function(list) { - var i = list.length, array = new Array(i); - while (i--) array[i] = list[i]; - return array; - }; - } - try { - d3_document.createElement("div").style.setProperty("opacity", 0, ""); - } catch (error) { - var d3_element_prototype = d3_window.Element.prototype, d3_element_setAttribute = d3_element_prototype.setAttribute, d3_element_setAttributeNS = d3_element_prototype.setAttributeNS, d3_style_prototype = d3_window.CSSStyleDeclaration.prototype, d3_style_setProperty = d3_style_prototype.setProperty; - d3_element_prototype.setAttribute = function(name, value) { - d3_element_setAttribute.call(this, name, value + ""); - }; - d3_element_prototype.setAttributeNS = function(space, local, value) { - d3_element_setAttributeNS.call(this, space, local, value + ""); - }; - d3_style_prototype.setProperty = function(name, value, priority) { - d3_style_setProperty.call(this, name, value + "", priority); - }; - } - d3.ascending = d3_ascending; - function d3_ascending(a, b) { - return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN; - } - d3.descending = function(a, b) { - return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN; - }; - d3.min = function(array, f) { - var i = -1, n = array.length, a, b; - if (arguments.length === 1) { - while (++i < n) if ((b = array[i]) != null && b >= b) { - a = b; - break; - } - while (++i < n) if ((b = array[i]) != null && a > b) a = b; - } else { - while (++i < n) if ((b = f.call(array, array[i], i)) != null && b >= b) { - a = b; - break; - } - while (++i < n) if ((b = f.call(array, array[i], i)) != null && a > b) a = b; - } - return a; - }; - d3.max = function(array, f) { - var i = -1, n = array.length, a, b; - if (arguments.length === 1) { - while (++i < n) if ((b = array[i]) != null && b >= b) { - a = b; - break; - } - while (++i < n) if ((b = array[i]) != null && b > a) a = b; - } else { - while (++i < n) if ((b = f.call(array, array[i], i)) != null && b >= b) { - a = b; - break; - } - while (++i < n) if ((b = f.call(array, array[i], i)) != null && b > a) a = b; - } - return a; - }; - d3.extent = function(array, f) { - var i = -1, n = array.length, a, b, c; - if (arguments.length === 1) { - while (++i < n) if ((b = array[i]) != null && b >= b) { - a = c = b; - break; - } - while (++i < n) if ((b = array[i]) != null) { - if (a > b) a = b; - if (c < b) c = b; - } - } else { - while (++i < n) if ((b = f.call(array, array[i], i)) != null && b >= b) { - a = c = b; - break; - } - while (++i < n) if ((b = f.call(array, array[i], i)) != null) { - if (a > b) a = b; - if (c < b) c = b; - } - } - return [ a, c ]; - }; - function d3_number(x) { - return x === null ? NaN : +x; - } - function d3_numeric(x) { - return !isNaN(x); - } - d3.sum = function(array, f) { - var s = 0, n = array.length, a, i = -1; - if (arguments.length === 1) { - while (++i < n) if (d3_numeric(a = +array[i])) s += a; - } else { - while (++i < n) if (d3_numeric(a = +f.call(array, array[i], i))) s += a; - } - return s; - }; - d3.mean = function(array, f) { - var s = 0, n = array.length, a, i = -1, j = n; - if (arguments.length === 1) { - while (++i < n) if (d3_numeric(a = d3_number(array[i]))) s += a; else --j; - } else { - while (++i < n) if (d3_numeric(a = d3_number(f.call(array, array[i], i)))) s += a; else --j; - } - if (j) return s / j; - }; - d3.quantile = function(values, p) { - var H = (values.length - 1) * p + 1, h = Math.floor(H), v = +values[h - 1], e = H - h; - return e ? v + e * (values[h] - v) : v; - }; - d3.median = function(array, f) { - var numbers = [], n = array.length, a, i = -1; - if (arguments.length === 1) { - while (++i < n) if (d3_numeric(a = d3_number(array[i]))) numbers.push(a); - } else { - while (++i < n) if (d3_numeric(a = d3_number(f.call(array, array[i], i)))) numbers.push(a); - } - if (numbers.length) return d3.quantile(numbers.sort(d3_ascending), .5); - }; - d3.variance = function(array, f) { - var n = array.length, m = 0, a, d, s = 0, i = -1, j = 0; - if (arguments.length === 1) { - while (++i < n) { - if (d3_numeric(a = d3_number(array[i]))) { - d = a - m; - m += d / ++j; - s += d * (a - m); - } - } - } else { - while (++i < n) { - if (d3_numeric(a = d3_number(f.call(array, array[i], i)))) { - d = a - m; - m += d / ++j; - s += d * (a - m); - } - } - } - if (j > 1) return s / (j - 1); - }; - d3.deviation = function() { - var v = d3.variance.apply(this, arguments); - return v ? Math.sqrt(v) : v; - }; - function d3_bisector(compare) { - return { - left: function(a, x, lo, hi) { - if (arguments.length < 3) lo = 0; - if (arguments.length < 4) hi = a.length; - while (lo < hi) { - var mid = lo + hi >>> 1; - if (compare(a[mid], x) < 0) lo = mid + 1; else hi = mid; - } - return lo; - }, - right: function(a, x, lo, hi) { - if (arguments.length < 3) lo = 0; - if (arguments.length < 4) hi = a.length; - while (lo < hi) { - var mid = lo + hi >>> 1; - if (compare(a[mid], x) > 0) hi = mid; else lo = mid + 1; - } - return lo; - } - }; - } - var d3_bisect = d3_bisector(d3_ascending); - d3.bisectLeft = d3_bisect.left; - d3.bisect = d3.bisectRight = d3_bisect.right; - d3.bisector = function(f) { - return d3_bisector(f.length === 1 ? function(d, x) { - return d3_ascending(f(d), x); - } : f); - }; - d3.shuffle = function(array, i0, i1) { - if ((m = arguments.length) < 3) { - i1 = array.length; - if (m < 2) i0 = 0; - } - var m = i1 - i0, t, i; - while (m) { - i = Math.random() * m-- | 0; - t = array[m + i0], array[m + i0] = array[i + i0], array[i + i0] = t; - } - return array; - }; - d3.permute = function(array, indexes) { - var i = indexes.length, permutes = new Array(i); - while (i--) permutes[i] = array[indexes[i]]; - return permutes; - }; - d3.pairs = function(array) { - var i = 0, n = array.length - 1, p0, p1 = array[0], pairs = new Array(n < 0 ? 0 : n); - while (i < n) pairs[i] = [ p0 = p1, p1 = array[++i] ]; - return pairs; - }; - d3.zip = function() { - if (!(n = arguments.length)) return []; - for (var i = -1, m = d3.min(arguments, d3_zipLength), zips = new Array(m); ++i < m; ) { - for (var j = -1, n, zip = zips[i] = new Array(n); ++j < n; ) { - zip[j] = arguments[j][i]; - } - } - return zips; - }; - function d3_zipLength(d) { - return d.length; - } - d3.transpose = function(matrix) { - return d3.zip.apply(d3, matrix); - }; - d3.keys = function(map) { - var keys = []; - for (var key in map) keys.push(key); - return keys; - }; - d3.values = function(map) { - var values = []; - for (var key in map) values.push(map[key]); - return values; - }; - d3.entries = function(map) { - var entries = []; - for (var key in map) entries.push({ - key: key, - value: map[key] - }); - return entries; - }; - d3.merge = function(arrays) { - var n = arrays.length, m, i = -1, j = 0, merged, array; - while (++i < n) j += arrays[i].length; - merged = new Array(j); - while (--n >= 0) { - array = arrays[n]; - m = array.length; - while (--m >= 0) { - merged[--j] = array[m]; - } - } - return merged; - }; - var abs = Math.abs; - d3.range = function(start, stop, step) { - if (arguments.length < 3) { - step = 1; - if (arguments.length < 2) { - stop = start; - start = 0; - } - } - if ((stop - start) / step === Infinity) throw new Error("infinite range"); - var range = [], k = d3_range_integerScale(abs(step)), i = -1, j; - start *= k, stop *= k, step *= k; - if (step < 0) while ((j = start + step * ++i) > stop) range.push(j / k); else while ((j = start + step * ++i) < stop) range.push(j / k); - return range; - }; - function d3_range_integerScale(x) { - var k = 1; - while (x * k % 1) k *= 10; - return k; - } - function d3_class(ctor, properties) { - for (var key in properties) { - Object.defineProperty(ctor.prototype, key, { - value: properties[key], - enumerable: false - }); - } - } - d3.map = function(object, f) { - var map = new d3_Map(); - if (object instanceof d3_Map) { - object.forEach(function(key, value) { - map.set(key, value); - }); - } else if (Array.isArray(object)) { - var i = -1, n = object.length, o; - if (arguments.length === 1) while (++i < n) map.set(i, object[i]); else while (++i < n) map.set(f.call(object, o = object[i], i), o); - } else { - for (var key in object) map.set(key, object[key]); - } - return map; - }; - function d3_Map() { - this._ = Object.create(null); - } - var d3_map_proto = "__proto__", d3_map_zero = "\x00"; - d3_class(d3_Map, { - has: d3_map_has, - get: function(key) { - return this._[d3_map_escape(key)]; - }, - set: function(key, value) { - return this._[d3_map_escape(key)] = value; - }, - remove: d3_map_remove, - keys: d3_map_keys, - values: function() { - var values = []; - for (var key in this._) values.push(this._[key]); - return values; - }, - entries: function() { - var entries = []; - for (var key in this._) entries.push({ - key: d3_map_unescape(key), - value: this._[key] - }); - return entries; - }, - size: d3_map_size, - empty: d3_map_empty, - forEach: function(f) { - for (var key in this._) f.call(this, d3_map_unescape(key), this._[key]); - } - }); - function d3_map_escape(key) { - return (key += "") === d3_map_proto || key[0] === d3_map_zero ? d3_map_zero + key : key; - } - function d3_map_unescape(key) { - return (key += "")[0] === d3_map_zero ? key.slice(1) : key; - } - function d3_map_has(key) { - return d3_map_escape(key) in this._; - } - function d3_map_remove(key) { - return (key = d3_map_escape(key)) in this._ && delete this._[key]; - } - function d3_map_keys() { - var keys = []; - for (var key in this._) keys.push(d3_map_unescape(key)); - return keys; - } - function d3_map_size() { - var size = 0; - for (var key in this._) ++size; - return size; - } - function d3_map_empty() { - for (var key in this._) return false; - return true; - } - d3.nest = function() { - var nest = {}, keys = [], sortKeys = [], sortValues, rollup; - function map(mapType, array, depth) { - if (depth >= keys.length) return rollup ? rollup.call(nest, array) : sortValues ? array.sort(sortValues) : array; - var i = -1, n = array.length, key = keys[depth++], keyValue, object, setter, valuesByKey = new d3_Map(), values; - while (++i < n) { - if (values = valuesByKey.get(keyValue = key(object = array[i]))) { - values.push(object); - } else { - valuesByKey.set(keyValue, [ object ]); - } - } - if (mapType) { - object = mapType(); - setter = function(keyValue, values) { - object.set(keyValue, map(mapType, values, depth)); - }; - } else { - object = {}; - setter = function(keyValue, values) { - object[keyValue] = map(mapType, values, depth); - }; - } - valuesByKey.forEach(setter); - return object; - } - function entries(map, depth) { - if (depth >= keys.length) return map; - var array = [], sortKey = sortKeys[depth++]; - map.forEach(function(key, keyMap) { - array.push({ - key: key, - values: entries(keyMap, depth) - }); - }); - return sortKey ? array.sort(function(a, b) { - return sortKey(a.key, b.key); - }) : array; - } - nest.map = function(array, mapType) { - return map(mapType, array, 0); - }; - nest.entries = function(array) { - return entries(map(d3.map, array, 0), 0); - }; - nest.key = function(d) { - keys.push(d); - return nest; - }; - nest.sortKeys = function(order) { - sortKeys[keys.length - 1] = order; - return nest; - }; - nest.sortValues = function(order) { - sortValues = order; - return nest; - }; - nest.rollup = function(f) { - rollup = f; - return nest; - }; - return nest; - }; - d3.set = function(array) { - var set = new d3_Set(); - if (array) for (var i = 0, n = array.length; i < n; ++i) set.add(array[i]); - return set; - }; - function d3_Set() { - this._ = Object.create(null); - } - d3_class(d3_Set, { - has: d3_map_has, - add: function(key) { - this._[d3_map_escape(key += "")] = true; - return key; - }, - remove: d3_map_remove, - values: d3_map_keys, - size: d3_map_size, - empty: d3_map_empty, - forEach: function(f) { - for (var key in this._) f.call(this, d3_map_unescape(key)); - } - }); - d3.behavior = {}; - d3.rebind = function(target, source) { - var i = 1, n = arguments.length, method; - while (++i < n) target[method = arguments[i]] = d3_rebind(target, source, source[method]); - return target; - }; - function d3_rebind(target, source, method) { - return function() { - var value = method.apply(source, arguments); - return value === source ? target : value; - }; - } - function d3_vendorSymbol(object, name) { - if (name in object) return name; - name = name.charAt(0).toUpperCase() + name.slice(1); - for (var i = 0, n = d3_vendorPrefixes.length; i < n; ++i) { - var prefixName = d3_vendorPrefixes[i] + name; - if (prefixName in object) return prefixName; - } - } - var d3_vendorPrefixes = [ "webkit", "ms", "moz", "Moz", "o", "O" ]; - function d3_noop() {} - d3.dispatch = function() { - var dispatch = new d3_dispatch(), i = -1, n = arguments.length; - while (++i < n) dispatch[arguments[i]] = d3_dispatch_event(dispatch); - return dispatch; - }; - function d3_dispatch() {} - d3_dispatch.prototype.on = function(type, listener) { - var i = type.indexOf("."), name = ""; - if (i >= 0) { - name = type.slice(i + 1); - type = type.slice(0, i); - } - if (type) return arguments.length < 2 ? this[type].on(name) : this[type].on(name, listener); - if (arguments.length === 2) { - if (listener == null) for (type in this) { - if (this.hasOwnProperty(type)) this[type].on(name, null); - } - return this; - } - }; - function d3_dispatch_event(dispatch) { - var listeners = [], listenerByName = new d3_Map(); - function event() { - var z = listeners, i = -1, n = z.length, l; - while (++i < n) if (l = z[i].on) l.apply(this, arguments); - return dispatch; - } - event.on = function(name, listener) { - var l = listenerByName.get(name), i; - if (arguments.length < 2) return l && l.on; - if (l) { - l.on = null; - listeners = listeners.slice(0, i = listeners.indexOf(l)).concat(listeners.slice(i + 1)); - listenerByName.remove(name); - } - if (listener) listeners.push(listenerByName.set(name, { - on: listener - })); - return dispatch; - }; - return event; - } - d3.event = null; - function d3_eventPreventDefault() { - d3.event.preventDefault(); - } - function d3_eventSource() { - var e = d3.event, s; - while (s = e.sourceEvent) e = s; - return e; - } - function d3_eventDispatch(target) { - var dispatch = new d3_dispatch(), i = 0, n = arguments.length; - while (++i < n) dispatch[arguments[i]] = d3_dispatch_event(dispatch); - dispatch.of = function(thiz, argumentz) { - return function(e1) { - try { - var e0 = e1.sourceEvent = d3.event; - e1.target = target; - d3.event = e1; - dispatch[e1.type].apply(thiz, argumentz); - } finally { - d3.event = e0; - } - }; - }; - return dispatch; - } - d3.requote = function(s) { - return s.replace(d3_requote_re, "\\$&"); - }; - var d3_requote_re = /[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g; - var d3_subclass = {}.__proto__ ? function(object, prototype) { - object.__proto__ = prototype; - } : function(object, prototype) { - for (var property in prototype) object[property] = prototype[property]; - }; - function d3_selection(groups) { - d3_subclass(groups, d3_selectionPrototype); - return groups; - } - var d3_select = function(s, n) { - return n.querySelector(s); - }, d3_selectAll = function(s, n) { - return n.querySelectorAll(s); - }, d3_selectMatcher = d3_documentElement.matches || d3_documentElement[d3_vendorSymbol(d3_documentElement, "matchesSelector")], d3_selectMatches = function(n, s) { - return d3_selectMatcher.call(n, s); - }; - if (typeof Sizzle === "function") { - d3_select = function(s, n) { - return Sizzle(s, n)[0] || null; - }; - d3_selectAll = Sizzle; - d3_selectMatches = Sizzle.matchesSelector; - } - d3.selection = function() { - return d3_selectionRoot; - }; - var d3_selectionPrototype = d3.selection.prototype = []; - d3_selectionPrototype.select = function(selector) { - var subgroups = [], subgroup, subnode, group, node; - selector = d3_selection_selector(selector); - for (var j = -1, m = this.length; ++j < m; ) { - subgroups.push(subgroup = []); - subgroup.parentNode = (group = this[j]).parentNode; - for (var i = -1, n = group.length; ++i < n; ) { - if (node = group[i]) { - subgroup.push(subnode = selector.call(node, node.__data__, i, j)); - if (subnode && "__data__" in node) subnode.__data__ = node.__data__; - } else { - subgroup.push(null); - } - } - } - return d3_selection(subgroups); - }; - function d3_selection_selector(selector) { - return typeof selector === "function" ? selector : function() { - return d3_select(selector, this); - }; - } - d3_selectionPrototype.selectAll = function(selector) { - var subgroups = [], subgroup, node; - selector = d3_selection_selectorAll(selector); - for (var j = -1, m = this.length; ++j < m; ) { - for (var group = this[j], i = -1, n = group.length; ++i < n; ) { - if (node = group[i]) { - subgroups.push(subgroup = d3_array(selector.call(node, node.__data__, i, j))); - subgroup.parentNode = node; - } - } - } - return d3_selection(subgroups); - }; - function d3_selection_selectorAll(selector) { - return typeof selector === "function" ? selector : function() { - return d3_selectAll(selector, this); - }; - } - var d3_nsPrefix = { - svg: "http://www.w3.org/2000/svg", - xhtml: "http://www.w3.org/1999/xhtml", - xlink: "http://www.w3.org/1999/xlink", - xml: "http://www.w3.org/XML/1998/namespace", - xmlns: "http://www.w3.org/2000/xmlns/" - }; - d3.ns = { - prefix: d3_nsPrefix, - qualify: function(name) { - var i = name.indexOf(":"), prefix = name; - if (i >= 0) { - prefix = name.slice(0, i); - name = name.slice(i + 1); - } - return d3_nsPrefix.hasOwnProperty(prefix) ? { - space: d3_nsPrefix[prefix], - local: name - } : name; - } - }; - d3_selectionPrototype.attr = function(name, value) { - if (arguments.length < 2) { - if (typeof name === "string") { - var node = this.node(); - name = d3.ns.qualify(name); - return name.local ? node.getAttributeNS(name.space, name.local) : node.getAttribute(name); - } - for (value in name) this.each(d3_selection_attr(value, name[value])); - return this; - } - return this.each(d3_selection_attr(name, value)); - }; - function d3_selection_attr(name, value) { - name = d3.ns.qualify(name); - function attrNull() { - this.removeAttribute(name); - } - function attrNullNS() { - this.removeAttributeNS(name.space, name.local); - } - function attrConstant() { - this.setAttribute(name, value); - } - function attrConstantNS() { - this.setAttributeNS(name.space, name.local, value); - } - function attrFunction() { - var x = value.apply(this, arguments); - if (x == null) this.removeAttribute(name); else this.setAttribute(name, x); - } - function attrFunctionNS() { - var x = value.apply(this, arguments); - if (x == null) this.removeAttributeNS(name.space, name.local); else this.setAttributeNS(name.space, name.local, x); - } - return value == null ? name.local ? attrNullNS : attrNull : typeof value === "function" ? name.local ? attrFunctionNS : attrFunction : name.local ? attrConstantNS : attrConstant; - } - function d3_collapse(s) { - return s.trim().replace(/\s+/g, " "); - } - d3_selectionPrototype.classed = function(name, value) { - if (arguments.length < 2) { - if (typeof name === "string") { - var node = this.node(), n = (name = d3_selection_classes(name)).length, i = -1; - if (value = node.classList) { - while (++i < n) if (!value.contains(name[i])) return false; - } else { - value = node.getAttribute("class"); - while (++i < n) if (!d3_selection_classedRe(name[i]).test(value)) return false; - } - return true; - } - for (value in name) this.each(d3_selection_classed(value, name[value])); - return this; - } - return this.each(d3_selection_classed(name, value)); - }; - function d3_selection_classedRe(name) { - return new RegExp("(?:^|\\s+)" + d3.requote(name) + "(?:\\s+|$)", "g"); - } - function d3_selection_classes(name) { - return (name + "").trim().split(/^|\s+/); - } - function d3_selection_classed(name, value) { - name = d3_selection_classes(name).map(d3_selection_classedName); - var n = name.length; - function classedConstant() { - var i = -1; - while (++i < n) name[i](this, value); - } - function classedFunction() { - var i = -1, x = value.apply(this, arguments); - while (++i < n) name[i](this, x); - } - return typeof value === "function" ? classedFunction : classedConstant; - } - function d3_selection_classedName(name) { - var re = d3_selection_classedRe(name); - return function(node, value) { - if (c = node.classList) return value ? c.add(name) : c.remove(name); - var c = node.getAttribute("class") || ""; - if (value) { - re.lastIndex = 0; - if (!re.test(c)) node.setAttribute("class", d3_collapse(c + " " + name)); - } else { - node.setAttribute("class", d3_collapse(c.replace(re, " "))); - } - }; - } - d3_selectionPrototype.style = function(name, value, priority) { - var n = arguments.length; - if (n < 3) { - if (typeof name !== "string") { - if (n < 2) value = ""; - for (priority in name) this.each(d3_selection_style(priority, name[priority], value)); - return this; - } - if (n < 2) return d3_window.getComputedStyle(this.node(), null).getPropertyValue(name); - priority = ""; - } - return this.each(d3_selection_style(name, value, priority)); - }; - function d3_selection_style(name, value, priority) { - function styleNull() { - this.style.removeProperty(name); - } - function styleConstant() { - this.style.setProperty(name, value, priority); - } - function styleFunction() { - var x = value.apply(this, arguments); - if (x == null) this.style.removeProperty(name); else this.style.setProperty(name, x, priority); - } - return value == null ? styleNull : typeof value === "function" ? styleFunction : styleConstant; - } - d3_selectionPrototype.property = function(name, value) { - if (arguments.length < 2) { - if (typeof name === "string") return this.node()[name]; - for (value in name) this.each(d3_selection_property(value, name[value])); - return this; - } - return this.each(d3_selection_property(name, value)); - }; - function d3_selection_property(name, value) { - function propertyNull() { - delete this[name]; - } - function propertyConstant() { - this[name] = value; - } - function propertyFunction() { - var x = value.apply(this, arguments); - if (x == null) delete this[name]; else this[name] = x; - } - return value == null ? propertyNull : typeof value === "function" ? propertyFunction : propertyConstant; - } - d3_selectionPrototype.text = function(value) { - return arguments.length ? this.each(typeof value === "function" ? function() { - var v = value.apply(this, arguments); - this.textContent = v == null ? "" : v; - } : value == null ? function() { - this.textContent = ""; - } : function() { - this.textContent = value; - }) : this.node().textContent; - }; - d3_selectionPrototype.html = function(value) { - return arguments.length ? this.each(typeof value === "function" ? function() { - var v = value.apply(this, arguments); - this.innerHTML = v == null ? "" : v; - } : value == null ? function() { - this.innerHTML = ""; - } : function() { - this.innerHTML = value; - }) : this.node().innerHTML; - }; - d3_selectionPrototype.append = function(name) { - name = d3_selection_creator(name); - return this.select(function() { - return this.appendChild(name.apply(this, arguments)); - }); - }; - function d3_selection_creator(name) { - return typeof name === "function" ? name : (name = d3.ns.qualify(name)).local ? function() { - return this.ownerDocument.createElementNS(name.space, name.local); - } : function() { - return this.ownerDocument.createElementNS(this.namespaceURI, name); - }; - } - d3_selectionPrototype.insert = function(name, before) { - name = d3_selection_creator(name); - before = d3_selection_selector(before); - return this.select(function() { - return this.insertBefore(name.apply(this, arguments), before.apply(this, arguments) || null); - }); - }; - d3_selectionPrototype.remove = function() { - return this.each(d3_selectionRemove); - }; - function d3_selectionRemove() { - var parent = this.parentNode; - if (parent) parent.removeChild(this); - } - d3_selectionPrototype.data = function(value, key) { - var i = -1, n = this.length, group, node; - if (!arguments.length) { - value = new Array(n = (group = this[0]).length); - while (++i < n) { - if (node = group[i]) { - value[i] = node.__data__; - } - } - return value; - } - function bind(group, groupData) { - var i, n = group.length, m = groupData.length, n0 = Math.min(n, m), updateNodes = new Array(m), enterNodes = new Array(m), exitNodes = new Array(n), node, nodeData; - if (key) { - var nodeByKeyValue = new d3_Map(), keyValues = new Array(n), keyValue; - for (i = -1; ++i < n; ) { - if (nodeByKeyValue.has(keyValue = key.call(node = group[i], node.__data__, i))) { - exitNodes[i] = node; - } else { - nodeByKeyValue.set(keyValue, node); - } - keyValues[i] = keyValue; - } - for (i = -1; ++i < m; ) { - if (!(node = nodeByKeyValue.get(keyValue = key.call(groupData, nodeData = groupData[i], i)))) { - enterNodes[i] = d3_selection_dataNode(nodeData); - } else if (node !== true) { - updateNodes[i] = node; - node.__data__ = nodeData; - } - nodeByKeyValue.set(keyValue, true); - } - for (i = -1; ++i < n; ) { - if (nodeByKeyValue.get(keyValues[i]) !== true) { - exitNodes[i] = group[i]; - } - } - } else { - for (i = -1; ++i < n0; ) { - node = group[i]; - nodeData = groupData[i]; - if (node) { - node.__data__ = nodeData; - updateNodes[i] = node; - } else { - enterNodes[i] = d3_selection_dataNode(nodeData); - } - } - for (;i < m; ++i) { - enterNodes[i] = d3_selection_dataNode(groupData[i]); - } - for (;i < n; ++i) { - exitNodes[i] = group[i]; - } - } - enterNodes.update = updateNodes; - enterNodes.parentNode = updateNodes.parentNode = exitNodes.parentNode = group.parentNode; - enter.push(enterNodes); - update.push(updateNodes); - exit.push(exitNodes); - } - var enter = d3_selection_enter([]), update = d3_selection([]), exit = d3_selection([]); - if (typeof value === "function") { - while (++i < n) { - bind(group = this[i], value.call(group, group.parentNode.__data__, i)); - } - } else { - while (++i < n) { - bind(group = this[i], value); - } - } - update.enter = function() { - return enter; - }; - update.exit = function() { - return exit; - }; - return update; - }; - function d3_selection_dataNode(data) { - return { - __data__: data - }; - } - d3_selectionPrototype.datum = function(value) { - return arguments.length ? this.property("__data__", value) : this.property("__data__"); - }; - d3_selectionPrototype.filter = function(filter) { - var subgroups = [], subgroup, group, node; - if (typeof filter !== "function") filter = d3_selection_filter(filter); - for (var j = 0, m = this.length; j < m; j++) { - subgroups.push(subgroup = []); - subgroup.parentNode = (group = this[j]).parentNode; - for (var i = 0, n = group.length; i < n; i++) { - if ((node = group[i]) && filter.call(node, node.__data__, i, j)) { - subgroup.push(node); - } - } - } - return d3_selection(subgroups); - }; - function d3_selection_filter(selector) { - return function() { - return d3_selectMatches(this, selector); - }; - } - d3_selectionPrototype.order = function() { - for (var j = -1, m = this.length; ++j < m; ) { - for (var group = this[j], i = group.length - 1, next = group[i], node; --i >= 0; ) { - if (node = group[i]) { - if (next && next !== node.nextSibling) next.parentNode.insertBefore(node, next); - next = node; - } - } - } - return this; - }; - d3_selectionPrototype.sort = function(comparator) { - comparator = d3_selection_sortComparator.apply(this, arguments); - for (var j = -1, m = this.length; ++j < m; ) this[j].sort(comparator); - return this.order(); - }; - function d3_selection_sortComparator(comparator) { - if (!arguments.length) comparator = d3_ascending; - return function(a, b) { - return a && b ? comparator(a.__data__, b.__data__) : !a - !b; - }; - } - d3_selectionPrototype.each = function(callback) { - return d3_selection_each(this, function(node, i, j) { - callback.call(node, node.__data__, i, j); - }); - }; - function d3_selection_each(groups, callback) { - for (var j = 0, m = groups.length; j < m; j++) { - for (var group = groups[j], i = 0, n = group.length, node; i < n; i++) { - if (node = group[i]) callback(node, i, j); - } - } - return groups; - } - d3_selectionPrototype.call = function(callback) { - var args = d3_array(arguments); - callback.apply(args[0] = this, args); - return this; - }; - d3_selectionPrototype.empty = function() { - return !this.node(); - }; - d3_selectionPrototype.node = function() { - for (var j = 0, m = this.length; j < m; j++) { - for (var group = this[j], i = 0, n = group.length; i < n; i++) { - var node = group[i]; - if (node) return node; - } - } - return null; - }; - d3_selectionPrototype.size = function() { - var n = 0; - d3_selection_each(this, function() { - ++n; - }); - return n; - }; - function d3_selection_enter(selection) { - d3_subclass(selection, d3_selection_enterPrototype); - return selection; - } - var d3_selection_enterPrototype = []; - d3.selection.enter = d3_selection_enter; - d3.selection.enter.prototype = d3_selection_enterPrototype; - d3_selection_enterPrototype.append = d3_selectionPrototype.append; - d3_selection_enterPrototype.empty = d3_selectionPrototype.empty; - d3_selection_enterPrototype.node = d3_selectionPrototype.node; - d3_selection_enterPrototype.call = d3_selectionPrototype.call; - d3_selection_enterPrototype.size = d3_selectionPrototype.size; - d3_selection_enterPrototype.select = function(selector) { - var subgroups = [], subgroup, subnode, upgroup, group, node; - for (var j = -1, m = this.length; ++j < m; ) { - upgroup = (group = this[j]).update; - subgroups.push(subgroup = []); - subgroup.parentNode = group.parentNode; - for (var i = -1, n = group.length; ++i < n; ) { - if (node = group[i]) { - subgroup.push(upgroup[i] = subnode = selector.call(group.parentNode, node.__data__, i, j)); - subnode.__data__ = node.__data__; - } else { - subgroup.push(null); - } - } - } - return d3_selection(subgroups); - }; - d3_selection_enterPrototype.insert = function(name, before) { - if (arguments.length < 2) before = d3_selection_enterInsertBefore(this); - return d3_selectionPrototype.insert.call(this, name, before); - }; - function d3_selection_enterInsertBefore(enter) { - var i0, j0; - return function(d, i, j) { - var group = enter[j].update, n = group.length, node; - if (j != j0) j0 = j, i0 = 0; - if (i >= i0) i0 = i + 1; - while (!(node = group[i0]) && ++i0 < n) ; - return node; - }; - } - d3.select = function(node) { - var group = [ typeof node === "string" ? d3_select(node, d3_document) : node ]; - group.parentNode = d3_documentElement; - return d3_selection([ group ]); - }; - d3.selectAll = function(nodes) { - var group = d3_array(typeof nodes === "string" ? d3_selectAll(nodes, d3_document) : nodes); - group.parentNode = d3_documentElement; - return d3_selection([ group ]); - }; - var d3_selectionRoot = d3.select(d3_documentElement); - d3_selectionPrototype.on = function(type, listener, capture) { - var n = arguments.length; - if (n < 3) { - if (typeof type !== "string") { - if (n < 2) listener = false; - for (capture in type) this.each(d3_selection_on(capture, type[capture], listener)); - return this; - } - if (n < 2) return (n = this.node()["__on" + type]) && n._; - capture = false; - } - return this.each(d3_selection_on(type, listener, capture)); - }; - function d3_selection_on(type, listener, capture) { - var name = "__on" + type, i = type.indexOf("."), wrap = d3_selection_onListener; - if (i > 0) type = type.slice(0, i); - var filter = d3_selection_onFilters.get(type); - if (filter) type = filter, wrap = d3_selection_onFilter; - function onRemove() { - var l = this[name]; - if (l) { - this.removeEventListener(type, l, l.$); - delete this[name]; - } - } - function onAdd() { - var l = wrap(listener, d3_array(arguments)); - onRemove.call(this); - this.addEventListener(type, this[name] = l, l.$ = capture); - l._ = listener; - } - function removeAll() { - var re = new RegExp("^__on([^.]+)" + d3.requote(type) + "$"), match; - for (var name in this) { - if (match = name.match(re)) { - var l = this[name]; - this.removeEventListener(match[1], l, l.$); - delete this[name]; - } - } - } - return i ? listener ? onAdd : onRemove : listener ? d3_noop : removeAll; - } - var d3_selection_onFilters = d3.map({ - mouseenter: "mouseover", - mouseleave: "mouseout" - }); - d3_selection_onFilters.forEach(function(k) { - if ("on" + k in d3_document) d3_selection_onFilters.remove(k); - }); - function d3_selection_onListener(listener, argumentz) { - return function(e) { - var o = d3.event; - d3.event = e; - argumentz[0] = this.__data__; - try { - listener.apply(this, argumentz); - } finally { - d3.event = o; - } - }; - } - function d3_selection_onFilter(listener, argumentz) { - var l = d3_selection_onListener(listener, argumentz); - return function(e) { - var target = this, related = e.relatedTarget; - if (!related || related !== target && !(related.compareDocumentPosition(target) & 8)) { - l.call(target, e); - } - }; - } - var d3_event_dragSelect = "onselectstart" in d3_document ? null : d3_vendorSymbol(d3_documentElement.style, "userSelect"), d3_event_dragId = 0; - function d3_event_dragSuppress() { - var name = ".dragsuppress-" + ++d3_event_dragId, click = "click" + name, w = d3.select(d3_window).on("touchmove" + name, d3_eventPreventDefault).on("dragstart" + name, d3_eventPreventDefault).on("selectstart" + name, d3_eventPreventDefault); - if (d3_event_dragSelect) { - var style = d3_documentElement.style, select = style[d3_event_dragSelect]; - style[d3_event_dragSelect] = "none"; - } - return function(suppressClick) { - w.on(name, null); - if (d3_event_dragSelect) style[d3_event_dragSelect] = select; - if (suppressClick) { - var off = function() { - w.on(click, null); - }; - w.on(click, function() { - d3_eventPreventDefault(); - off(); - }, true); - setTimeout(off, 0); - } - }; - } - d3.mouse = function(container) { - return d3_mousePoint(container, d3_eventSource()); - }; - var d3_mouse_bug44083 = /WebKit/.test(d3_window.navigator.userAgent) ? -1 : 0; - function d3_mousePoint(container, e) { - if (e.changedTouches) e = e.changedTouches[0]; - var svg = container.ownerSVGElement || container; - if (svg.createSVGPoint) { - var point = svg.createSVGPoint(); - if (d3_mouse_bug44083 < 0 && (d3_window.scrollX || d3_window.scrollY)) { - svg = d3.select("body").append("svg").style({ - position: "absolute", - top: 0, - left: 0, - margin: 0, - padding: 0, - border: "none" - }, "important"); - var ctm = svg[0][0].getScreenCTM(); - d3_mouse_bug44083 = !(ctm.f || ctm.e); - svg.remove(); - } - if (d3_mouse_bug44083) point.x = e.pageX, point.y = e.pageY; else point.x = e.clientX, - point.y = e.clientY; - point = point.matrixTransform(container.getScreenCTM().inverse()); - return [ point.x, point.y ]; - } - var rect = container.getBoundingClientRect(); - return [ e.clientX - rect.left - container.clientLeft, e.clientY - rect.top - container.clientTop ]; - } - d3.touch = function(container, touches, identifier) { - if (arguments.length < 3) identifier = touches, touches = d3_eventSource().changedTouches; - if (touches) for (var i = 0, n = touches.length, touch; i < n; ++i) { - if ((touch = touches[i]).identifier === identifier) { - return d3_mousePoint(container, touch); - } - } - }; - d3.behavior.drag = function() { - var event = d3_eventDispatch(drag, "drag", "dragstart", "dragend"), origin = null, mousedown = dragstart(d3_noop, d3.mouse, d3_behavior_dragMouseSubject, "mousemove", "mouseup"), touchstart = dragstart(d3_behavior_dragTouchId, d3.touch, d3_behavior_dragTouchSubject, "touchmove", "touchend"); - function drag() { - this.on("mousedown.drag", mousedown).on("touchstart.drag", touchstart); - } - function dragstart(id, position, subject, move, end) { - return function() { - var that = this, target = d3.event.target, parent = that.parentNode, dispatch = event.of(that, arguments), dragged = 0, dragId = id(), dragName = ".drag" + (dragId == null ? "" : "-" + dragId), dragOffset, dragSubject = d3.select(subject()).on(move + dragName, moved).on(end + dragName, ended), dragRestore = d3_event_dragSuppress(), position0 = position(parent, dragId); - if (origin) { - dragOffset = origin.apply(that, arguments); - dragOffset = [ dragOffset.x - position0[0], dragOffset.y - position0[1] ]; - } else { - dragOffset = [ 0, 0 ]; - } - dispatch({ - type: "dragstart" - }); - function moved() { - var position1 = position(parent, dragId), dx, dy; - if (!position1) return; - dx = position1[0] - position0[0]; - dy = position1[1] - position0[1]; - dragged |= dx | dy; - position0 = position1; - dispatch({ - type: "drag", - x: position1[0] + dragOffset[0], - y: position1[1] + dragOffset[1], - dx: dx, - dy: dy - }); - } - function ended() { - if (!position(parent, dragId)) return; - dragSubject.on(move + dragName, null).on(end + dragName, null); - dragRestore(dragged && d3.event.target === target); - dispatch({ - type: "dragend" - }); - } - }; - } - drag.origin = function(x) { - if (!arguments.length) return origin; - origin = x; - return drag; - }; - return d3.rebind(drag, event, "on"); - }; - function d3_behavior_dragTouchId() { - return d3.event.changedTouches[0].identifier; - } - function d3_behavior_dragTouchSubject() { - return d3.event.target; - } - function d3_behavior_dragMouseSubject() { - return d3_window; - } - d3.touches = function(container, touches) { - if (arguments.length < 2) touches = d3_eventSource().touches; - return touches ? d3_array(touches).map(function(touch) { - var point = d3_mousePoint(container, touch); - point.identifier = touch.identifier; - return point; - }) : []; - }; - var ε = 1e-6, ε2 = ε * ε, π = Math.PI, τ = 2 * π, τε = τ - ε, halfπ = π / 2, d3_radians = π / 180, d3_degrees = 180 / π; - function d3_sgn(x) { - return x > 0 ? 1 : x < 0 ? -1 : 0; - } - function d3_cross2d(a, b, c) { - return (b[0] - a[0]) * (c[1] - a[1]) - (b[1] - a[1]) * (c[0] - a[0]); - } - function d3_acos(x) { - return x > 1 ? 0 : x < -1 ? π : Math.acos(x); - } - function d3_asin(x) { - return x > 1 ? halfπ : x < -1 ? -halfπ : Math.asin(x); - } - function d3_sinh(x) { - return ((x = Math.exp(x)) - 1 / x) / 2; - } - function d3_cosh(x) { - return ((x = Math.exp(x)) + 1 / x) / 2; - } - function d3_tanh(x) { - return ((x = Math.exp(2 * x)) - 1) / (x + 1); - } - function d3_haversin(x) { - return (x = Math.sin(x / 2)) * x; - } - var ρ = Math.SQRT2, ρ2 = 2, ρ4 = 4; - d3.interpolateZoom = function(p0, p1) { - var ux0 = p0[0], uy0 = p0[1], w0 = p0[2], ux1 = p1[0], uy1 = p1[1], w1 = p1[2]; - var dx = ux1 - ux0, dy = uy1 - uy0, d2 = dx * dx + dy * dy, d1 = Math.sqrt(d2), b0 = (w1 * w1 - w0 * w0 + ρ4 * d2) / (2 * w0 * ρ2 * d1), b1 = (w1 * w1 - w0 * w0 - ρ4 * d2) / (2 * w1 * ρ2 * d1), r0 = Math.log(Math.sqrt(b0 * b0 + 1) - b0), r1 = Math.log(Math.sqrt(b1 * b1 + 1) - b1), dr = r1 - r0, S = (dr || Math.log(w1 / w0)) / ρ; - function interpolate(t) { - var s = t * S; - if (dr) { - var coshr0 = d3_cosh(r0), u = w0 / (ρ2 * d1) * (coshr0 * d3_tanh(ρ * s + r0) - d3_sinh(r0)); - return [ ux0 + u * dx, uy0 + u * dy, w0 * coshr0 / d3_cosh(ρ * s + r0) ]; - } - return [ ux0 + t * dx, uy0 + t * dy, w0 * Math.exp(ρ * s) ]; - } - interpolate.duration = S * 1e3; - return interpolate; - }; - d3.behavior.zoom = function() { - var view = { - x: 0, - y: 0, - k: 1 - }, translate0, center0, center, size = [ 960, 500 ], scaleExtent = d3_behavior_zoomInfinity, duration = 250, zooming = 0, mousedown = "mousedown.zoom", mousemove = "mousemove.zoom", mouseup = "mouseup.zoom", mousewheelTimer, touchstart = "touchstart.zoom", touchtime, event = d3_eventDispatch(zoom, "zoomstart", "zoom", "zoomend"), x0, x1, y0, y1; - function zoom(g) { - g.on(mousedown, mousedowned).on(d3_behavior_zoomWheel + ".zoom", mousewheeled).on("dblclick.zoom", dblclicked).on(touchstart, touchstarted); - } - zoom.event = function(g) { - g.each(function() { - var dispatch = event.of(this, arguments), view1 = view; - if (d3_transitionInheritId) { - d3.select(this).transition().each("start.zoom", function() { - view = this.__chart__ || { - x: 0, - y: 0, - k: 1 - }; - zoomstarted(dispatch); - }).tween("zoom:zoom", function() { - var dx = size[0], dy = size[1], cx = center0 ? center0[0] : dx / 2, cy = center0 ? center0[1] : dy / 2, i = d3.interpolateZoom([ (cx - view.x) / view.k, (cy - view.y) / view.k, dx / view.k ], [ (cx - view1.x) / view1.k, (cy - view1.y) / view1.k, dx / view1.k ]); - return function(t) { - var l = i(t), k = dx / l[2]; - this.__chart__ = view = { - x: cx - l[0] * k, - y: cy - l[1] * k, - k: k - }; - zoomed(dispatch); - }; - }).each("interrupt.zoom", function() { - zoomended(dispatch); - }).each("end.zoom", function() { - zoomended(dispatch); - }); - } else { - this.__chart__ = view; - zoomstarted(dispatch); - zoomed(dispatch); - zoomended(dispatch); - } - }); - }; - zoom.translate = function(_) { - if (!arguments.length) return [ view.x, view.y ]; - view = { - x: +_[0], - y: +_[1], - k: view.k - }; - rescale(); - return zoom; - }; - zoom.scale = function(_) { - if (!arguments.length) return view.k; - view = { - x: view.x, - y: view.y, - k: +_ - }; - rescale(); - return zoom; - }; - zoom.scaleExtent = function(_) { - if (!arguments.length) return scaleExtent; - scaleExtent = _ == null ? d3_behavior_zoomInfinity : [ +_[0], +_[1] ]; - return zoom; - }; - zoom.center = function(_) { - if (!arguments.length) return center; - center = _ && [ +_[0], +_[1] ]; - return zoom; - }; - zoom.size = function(_) { - if (!arguments.length) return size; - size = _ && [ +_[0], +_[1] ]; - return zoom; - }; - zoom.duration = function(_) { - if (!arguments.length) return duration; - duration = +_; - return zoom; - }; - zoom.x = function(z) { - if (!arguments.length) return x1; - x1 = z; - x0 = z.copy(); - view = { - x: 0, - y: 0, - k: 1 - }; - return zoom; - }; - zoom.y = function(z) { - if (!arguments.length) return y1; - y1 = z; - y0 = z.copy(); - view = { - x: 0, - y: 0, - k: 1 - }; - return zoom; - }; - function location(p) { - return [ (p[0] - view.x) / view.k, (p[1] - view.y) / view.k ]; - } - function point(l) { - return [ l[0] * view.k + view.x, l[1] * view.k + view.y ]; - } - function scaleTo(s) { - view.k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], s)); - } - function translateTo(p, l) { - l = point(l); - view.x += p[0] - l[0]; - view.y += p[1] - l[1]; - } - function zoomTo(that, p, l, k) { - that.__chart__ = { - x: view.x, - y: view.y, - k: view.k - }; - scaleTo(Math.pow(2, k)); - translateTo(center0 = p, l); - that = d3.select(that); - if (duration > 0) that = that.transition().duration(duration); - that.call(zoom.event); - } - function rescale() { - if (x1) x1.domain(x0.range().map(function(x) { - return (x - view.x) / view.k; - }).map(x0.invert)); - if (y1) y1.domain(y0.range().map(function(y) { - return (y - view.y) / view.k; - }).map(y0.invert)); - } - function zoomstarted(dispatch) { - if (!zooming++) dispatch({ - type: "zoomstart" - }); - } - function zoomed(dispatch) { - rescale(); - dispatch({ - type: "zoom", - scale: view.k, - translate: [ view.x, view.y ] - }); - } - function zoomended(dispatch) { - if (!--zooming) dispatch({ - type: "zoomend" - }); - center0 = null; - } - function mousedowned() { - var that = this, target = d3.event.target, dispatch = event.of(that, arguments), dragged = 0, subject = d3.select(d3_window).on(mousemove, moved).on(mouseup, ended), location0 = location(d3.mouse(that)), dragRestore = d3_event_dragSuppress(); - d3_selection_interrupt.call(that); - zoomstarted(dispatch); - function moved() { - dragged = 1; - translateTo(d3.mouse(that), location0); - zoomed(dispatch); - } - function ended() { - subject.on(mousemove, null).on(mouseup, null); - dragRestore(dragged && d3.event.target === target); - zoomended(dispatch); - } - } - function touchstarted() { - var that = this, dispatch = event.of(that, arguments), locations0 = {}, distance0 = 0, scale0, zoomName = ".zoom-" + d3.event.changedTouches[0].identifier, touchmove = "touchmove" + zoomName, touchend = "touchend" + zoomName, targets = [], subject = d3.select(that), dragRestore = d3_event_dragSuppress(); - started(); - zoomstarted(dispatch); - subject.on(mousedown, null).on(touchstart, started); - function relocate() { - var touches = d3.touches(that); - scale0 = view.k; - touches.forEach(function(t) { - if (t.identifier in locations0) locations0[t.identifier] = location(t); - }); - return touches; - } - function started() { - var target = d3.event.target; - d3.select(target).on(touchmove, moved).on(touchend, ended); - targets.push(target); - var changed = d3.event.changedTouches; - for (var i = 0, n = changed.length; i < n; ++i) { - locations0[changed[i].identifier] = null; - } - var touches = relocate(), now = Date.now(); - if (touches.length === 1) { - if (now - touchtime < 500) { - var p = touches[0]; - zoomTo(that, p, locations0[p.identifier], Math.floor(Math.log(view.k) / Math.LN2) + 1); - d3_eventPreventDefault(); - } - touchtime = now; - } else if (touches.length > 1) { - var p = touches[0], q = touches[1], dx = p[0] - q[0], dy = p[1] - q[1]; - distance0 = dx * dx + dy * dy; - } - } - function moved() { - var touches = d3.touches(that), p0, l0, p1, l1; - d3_selection_interrupt.call(that); - for (var i = 0, n = touches.length; i < n; ++i, l1 = null) { - p1 = touches[i]; - if (l1 = locations0[p1.identifier]) { - if (l0) break; - p0 = p1, l0 = l1; - } - } - if (l1) { - var distance1 = (distance1 = p1[0] - p0[0]) * distance1 + (distance1 = p1[1] - p0[1]) * distance1, scale1 = distance0 && Math.sqrt(distance1 / distance0); - p0 = [ (p0[0] + p1[0]) / 2, (p0[1] + p1[1]) / 2 ]; - l0 = [ (l0[0] + l1[0]) / 2, (l0[1] + l1[1]) / 2 ]; - scaleTo(scale1 * scale0); - } - touchtime = null; - translateTo(p0, l0); - zoomed(dispatch); - } - function ended() { - if (d3.event.touches.length) { - var changed = d3.event.changedTouches; - for (var i = 0, n = changed.length; i < n; ++i) { - delete locations0[changed[i].identifier]; - } - for (var identifier in locations0) { - return void relocate(); - } - } - d3.selectAll(targets).on(zoomName, null); - subject.on(mousedown, mousedowned).on(touchstart, touchstarted); - dragRestore(); - zoomended(dispatch); - } - } - function mousewheeled() { - var dispatch = event.of(this, arguments); - if (mousewheelTimer) clearTimeout(mousewheelTimer); else translate0 = location(center0 = center || d3.mouse(this)), - d3_selection_interrupt.call(this), zoomstarted(dispatch); - mousewheelTimer = setTimeout(function() { - mousewheelTimer = null; - zoomended(dispatch); - }, 50); - d3_eventPreventDefault(); - scaleTo(Math.pow(2, d3_behavior_zoomDelta() * .002) * view.k); - translateTo(center0, translate0); - zoomed(dispatch); - } - function dblclicked() { - var p = d3.mouse(this), k = Math.log(view.k) / Math.LN2; - zoomTo(this, p, location(p), d3.event.shiftKey ? Math.ceil(k) - 1 : Math.floor(k) + 1); - } - return d3.rebind(zoom, event, "on"); - }; - var d3_behavior_zoomInfinity = [ 0, Infinity ]; - var d3_behavior_zoomDelta, d3_behavior_zoomWheel = "onwheel" in d3_document ? (d3_behavior_zoomDelta = function() { - return -d3.event.deltaY * (d3.event.deltaMode ? 120 : 1); - }, "wheel") : "onmousewheel" in d3_document ? (d3_behavior_zoomDelta = function() { - return d3.event.wheelDelta; - }, "mousewheel") : (d3_behavior_zoomDelta = function() { - return -d3.event.detail; - }, "MozMousePixelScroll"); - d3.color = d3_color; - function d3_color() {} - d3_color.prototype.toString = function() { - return this.rgb() + ""; - }; - d3.hsl = d3_hsl; - function d3_hsl(h, s, l) { - return this instanceof d3_hsl ? void (this.h = +h, this.s = +s, this.l = +l) : arguments.length < 2 ? h instanceof d3_hsl ? new d3_hsl(h.h, h.s, h.l) : d3_rgb_parse("" + h, d3_rgb_hsl, d3_hsl) : new d3_hsl(h, s, l); - } - var d3_hslPrototype = d3_hsl.prototype = new d3_color(); - d3_hslPrototype.brighter = function(k) { - k = Math.pow(.7, arguments.length ? k : 1); - return new d3_hsl(this.h, this.s, this.l / k); - }; - d3_hslPrototype.darker = function(k) { - k = Math.pow(.7, arguments.length ? k : 1); - return new d3_hsl(this.h, this.s, k * this.l); - }; - d3_hslPrototype.rgb = function() { - return d3_hsl_rgb(this.h, this.s, this.l); - }; - function d3_hsl_rgb(h, s, l) { - var m1, m2; - h = isNaN(h) ? 0 : (h %= 360) < 0 ? h + 360 : h; - s = isNaN(s) ? 0 : s < 0 ? 0 : s > 1 ? 1 : s; - l = l < 0 ? 0 : l > 1 ? 1 : l; - m2 = l <= .5 ? l * (1 + s) : l + s - l * s; - m1 = 2 * l - m2; - function v(h) { - if (h > 360) h -= 360; else if (h < 0) h += 360; - if (h < 60) return m1 + (m2 - m1) * h / 60; - if (h < 180) return m2; - if (h < 240) return m1 + (m2 - m1) * (240 - h) / 60; - return m1; - } - function vv(h) { - return Math.round(v(h) * 255); - } - return new d3_rgb(vv(h + 120), vv(h), vv(h - 120)); - } - d3.hcl = d3_hcl; - function d3_hcl(h, c, l) { - return this instanceof d3_hcl ? void (this.h = +h, this.c = +c, this.l = +l) : arguments.length < 2 ? h instanceof d3_hcl ? new d3_hcl(h.h, h.c, h.l) : h instanceof d3_lab ? d3_lab_hcl(h.l, h.a, h.b) : d3_lab_hcl((h = d3_rgb_lab((h = d3.rgb(h)).r, h.g, h.b)).l, h.a, h.b) : new d3_hcl(h, c, l); - } - var d3_hclPrototype = d3_hcl.prototype = new d3_color(); - d3_hclPrototype.brighter = function(k) { - return new d3_hcl(this.h, this.c, Math.min(100, this.l + d3_lab_K * (arguments.length ? k : 1))); - }; - d3_hclPrototype.darker = function(k) { - return new d3_hcl(this.h, this.c, Math.max(0, this.l - d3_lab_K * (arguments.length ? k : 1))); - }; - d3_hclPrototype.rgb = function() { - return d3_hcl_lab(this.h, this.c, this.l).rgb(); - }; - function d3_hcl_lab(h, c, l) { - if (isNaN(h)) h = 0; - if (isNaN(c)) c = 0; - return new d3_lab(l, Math.cos(h *= d3_radians) * c, Math.sin(h) * c); - } - d3.lab = d3_lab; - function d3_lab(l, a, b) { - return this instanceof d3_lab ? void (this.l = +l, this.a = +a, this.b = +b) : arguments.length < 2 ? l instanceof d3_lab ? new d3_lab(l.l, l.a, l.b) : l instanceof d3_hcl ? d3_hcl_lab(l.h, l.c, l.l) : d3_rgb_lab((l = d3_rgb(l)).r, l.g, l.b) : new d3_lab(l, a, b); - } - var d3_lab_K = 18; - var d3_lab_X = .95047, d3_lab_Y = 1, d3_lab_Z = 1.08883; - var d3_labPrototype = d3_lab.prototype = new d3_color(); - d3_labPrototype.brighter = function(k) { - return new d3_lab(Math.min(100, this.l + d3_lab_K * (arguments.length ? k : 1)), this.a, this.b); - }; - d3_labPrototype.darker = function(k) { - return new d3_lab(Math.max(0, this.l - d3_lab_K * (arguments.length ? k : 1)), this.a, this.b); - }; - d3_labPrototype.rgb = function() { - return d3_lab_rgb(this.l, this.a, this.b); - }; - function d3_lab_rgb(l, a, b) { - var y = (l + 16) / 116, x = y + a / 500, z = y - b / 200; - x = d3_lab_xyz(x) * d3_lab_X; - y = d3_lab_xyz(y) * d3_lab_Y; - z = d3_lab_xyz(z) * d3_lab_Z; - return new d3_rgb(d3_xyz_rgb(3.2404542 * x - 1.5371385 * y - .4985314 * z), d3_xyz_rgb(-.969266 * x + 1.8760108 * y + .041556 * z), d3_xyz_rgb(.0556434 * x - .2040259 * y + 1.0572252 * z)); - } - function d3_lab_hcl(l, a, b) { - return l > 0 ? new d3_hcl(Math.atan2(b, a) * d3_degrees, Math.sqrt(a * a + b * b), l) : new d3_hcl(NaN, NaN, l); - } - function d3_lab_xyz(x) { - return x > .206893034 ? x * x * x : (x - 4 / 29) / 7.787037; - } - function d3_xyz_lab(x) { - return x > .008856 ? Math.pow(x, 1 / 3) : 7.787037 * x + 4 / 29; - } - function d3_xyz_rgb(r) { - return Math.round(255 * (r <= .00304 ? 12.92 * r : 1.055 * Math.pow(r, 1 / 2.4) - .055)); - } - d3.rgb = d3_rgb; - function d3_rgb(r, g, b) { - return this instanceof d3_rgb ? void (this.r = ~~r, this.g = ~~g, this.b = ~~b) : arguments.length < 2 ? r instanceof d3_rgb ? new d3_rgb(r.r, r.g, r.b) : d3_rgb_parse("" + r, d3_rgb, d3_hsl_rgb) : new d3_rgb(r, g, b); - } - function d3_rgbNumber(value) { - return new d3_rgb(value >> 16, value >> 8 & 255, value & 255); - } - function d3_rgbString(value) { - return d3_rgbNumber(value) + ""; - } - var d3_rgbPrototype = d3_rgb.prototype = new d3_color(); - d3_rgbPrototype.brighter = function(k) { - k = Math.pow(.7, arguments.length ? k : 1); - var r = this.r, g = this.g, b = this.b, i = 30; - if (!r && !g && !b) return new d3_rgb(i, i, i); - if (r && r < i) r = i; - if (g && g < i) g = i; - if (b && b < i) b = i; - return new d3_rgb(Math.min(255, r / k), Math.min(255, g / k), Math.min(255, b / k)); - }; - d3_rgbPrototype.darker = function(k) { - k = Math.pow(.7, arguments.length ? k : 1); - return new d3_rgb(k * this.r, k * this.g, k * this.b); - }; - d3_rgbPrototype.hsl = function() { - return d3_rgb_hsl(this.r, this.g, this.b); - }; - d3_rgbPrototype.toString = function() { - return "#" + d3_rgb_hex(this.r) + d3_rgb_hex(this.g) + d3_rgb_hex(this.b); - }; - function d3_rgb_hex(v) { - return v < 16 ? "0" + Math.max(0, v).toString(16) : Math.min(255, v).toString(16); - } - function d3_rgb_parse(format, rgb, hsl) { - var r = 0, g = 0, b = 0, m1, m2, color; - m1 = /([a-z]+)\((.*)\)/i.exec(format); - if (m1) { - m2 = m1[2].split(","); - switch (m1[1]) { - case "hsl": - { - return hsl(parseFloat(m2[0]), parseFloat(m2[1]) / 100, parseFloat(m2[2]) / 100); - } - - case "rgb": - { - return rgb(d3_rgb_parseNumber(m2[0]), d3_rgb_parseNumber(m2[1]), d3_rgb_parseNumber(m2[2])); - } - } - } - if (color = d3_rgb_names.get(format)) return rgb(color.r, color.g, color.b); - if (format != null && format.charAt(0) === "#" && !isNaN(color = parseInt(format.slice(1), 16))) { - if (format.length === 4) { - r = (color & 3840) >> 4; - r = r >> 4 | r; - g = color & 240; - g = g >> 4 | g; - b = color & 15; - b = b << 4 | b; - } else if (format.length === 7) { - r = (color & 16711680) >> 16; - g = (color & 65280) >> 8; - b = color & 255; - } - } - return rgb(r, g, b); - } - function d3_rgb_hsl(r, g, b) { - var min = Math.min(r /= 255, g /= 255, b /= 255), max = Math.max(r, g, b), d = max - min, h, s, l = (max + min) / 2; - if (d) { - s = l < .5 ? d / (max + min) : d / (2 - max - min); - if (r == max) h = (g - b) / d + (g < b ? 6 : 0); else if (g == max) h = (b - r) / d + 2; else h = (r - g) / d + 4; - h *= 60; - } else { - h = NaN; - s = l > 0 && l < 1 ? 0 : h; - } - return new d3_hsl(h, s, l); - } - function d3_rgb_lab(r, g, b) { - r = d3_rgb_xyz(r); - g = d3_rgb_xyz(g); - b = d3_rgb_xyz(b); - var x = d3_xyz_lab((.4124564 * r + .3575761 * g + .1804375 * b) / d3_lab_X), y = d3_xyz_lab((.2126729 * r + .7151522 * g + .072175 * b) / d3_lab_Y), z = d3_xyz_lab((.0193339 * r + .119192 * g + .9503041 * b) / d3_lab_Z); - return d3_lab(116 * y - 16, 500 * (x - y), 200 * (y - z)); - } - function d3_rgb_xyz(r) { - return (r /= 255) <= .04045 ? r / 12.92 : Math.pow((r + .055) / 1.055, 2.4); - } - function d3_rgb_parseNumber(c) { - var f = parseFloat(c); - return c.charAt(c.length - 1) === "%" ? Math.round(f * 2.55) : f; - } - var d3_rgb_names = d3.map({ - aliceblue: 15792383, - antiquewhite: 16444375, - aqua: 65535, - aquamarine: 8388564, - azure: 15794175, - beige: 16119260, - bisque: 16770244, - black: 0, - blanchedalmond: 16772045, - blue: 255, - blueviolet: 9055202, - brown: 10824234, - burlywood: 14596231, - cadetblue: 6266528, - chartreuse: 8388352, - chocolate: 13789470, - coral: 16744272, - cornflowerblue: 6591981, - cornsilk: 16775388, - crimson: 14423100, - cyan: 65535, - darkblue: 139, - darkcyan: 35723, - darkgoldenrod: 12092939, - darkgray: 11119017, - darkgreen: 25600, - darkgrey: 11119017, - darkkhaki: 12433259, - darkmagenta: 9109643, - darkolivegreen: 5597999, - darkorange: 16747520, - darkorchid: 10040012, - darkred: 9109504, - darksalmon: 15308410, - darkseagreen: 9419919, - darkslateblue: 4734347, - darkslategray: 3100495, - darkslategrey: 3100495, - darkturquoise: 52945, - darkviolet: 9699539, - deeppink: 16716947, - deepskyblue: 49151, - dimgray: 6908265, - dimgrey: 6908265, - dodgerblue: 2003199, - firebrick: 11674146, - floralwhite: 16775920, - forestgreen: 2263842, - fuchsia: 16711935, - gainsboro: 14474460, - ghostwhite: 16316671, - gold: 16766720, - goldenrod: 14329120, - gray: 8421504, - green: 32768, - greenyellow: 11403055, - grey: 8421504, - honeydew: 15794160, - hotpink: 16738740, - indianred: 13458524, - indigo: 4915330, - ivory: 16777200, - khaki: 15787660, - lavender: 15132410, - lavenderblush: 16773365, - lawngreen: 8190976, - lemonchiffon: 16775885, - lightblue: 11393254, - lightcoral: 15761536, - lightcyan: 14745599, - lightgoldenrodyellow: 16448210, - lightgray: 13882323, - lightgreen: 9498256, - lightgrey: 13882323, - lightpink: 16758465, - lightsalmon: 16752762, - lightseagreen: 2142890, - lightskyblue: 8900346, - lightslategray: 7833753, - lightslategrey: 7833753, - lightsteelblue: 11584734, - lightyellow: 16777184, - lime: 65280, - limegreen: 3329330, - linen: 16445670, - magenta: 16711935, - maroon: 8388608, - mediumaquamarine: 6737322, - mediumblue: 205, - mediumorchid: 12211667, - mediumpurple: 9662683, - mediumseagreen: 3978097, - mediumslateblue: 8087790, - mediumspringgreen: 64154, - mediumturquoise: 4772300, - mediumvioletred: 13047173, - midnightblue: 1644912, - mintcream: 16121850, - mistyrose: 16770273, - moccasin: 16770229, - navajowhite: 16768685, - navy: 128, - oldlace: 16643558, - olive: 8421376, - olivedrab: 7048739, - orange: 16753920, - orangered: 16729344, - orchid: 14315734, - palegoldenrod: 15657130, - palegreen: 10025880, - paleturquoise: 11529966, - palevioletred: 14381203, - papayawhip: 16773077, - peachpuff: 16767673, - peru: 13468991, - pink: 16761035, - plum: 14524637, - powderblue: 11591910, - purple: 8388736, - red: 16711680, - rosybrown: 12357519, - royalblue: 4286945, - saddlebrown: 9127187, - salmon: 16416882, - sandybrown: 16032864, - seagreen: 3050327, - seashell: 16774638, - sienna: 10506797, - silver: 12632256, - skyblue: 8900331, - slateblue: 6970061, - slategray: 7372944, - slategrey: 7372944, - snow: 16775930, - springgreen: 65407, - steelblue: 4620980, - tan: 13808780, - teal: 32896, - thistle: 14204888, - tomato: 16737095, - turquoise: 4251856, - violet: 15631086, - wheat: 16113331, - white: 16777215, - whitesmoke: 16119285, - yellow: 16776960, - yellowgreen: 10145074 - }); - d3_rgb_names.forEach(function(key, value) { - d3_rgb_names.set(key, d3_rgbNumber(value)); - }); - function d3_functor(v) { - return typeof v === "function" ? v : function() { - return v; - }; - } - d3.functor = d3_functor; - function d3_identity(d) { - return d; - } - d3.xhr = d3_xhrType(d3_identity); - function d3_xhrType(response) { - return function(url, mimeType, callback) { - if (arguments.length === 2 && typeof mimeType === "function") callback = mimeType, - mimeType = null; - return d3_xhr(url, mimeType, response, callback); - }; - } - function d3_xhr(url, mimeType, response, callback) { - var xhr = {}, dispatch = d3.dispatch("beforesend", "progress", "load", "error"), headers = {}, request = new XMLHttpRequest(), responseType = null; - if (d3_window.XDomainRequest && !("withCredentials" in request) && /^(http(s)?:)?\/\//.test(url)) request = new XDomainRequest(); - "onload" in request ? request.onload = request.onerror = respond : request.onreadystatechange = function() { - request.readyState > 3 && respond(); - }; - function respond() { - var status = request.status, result; - if (!status && d3_xhrHasResponse(request) || status >= 200 && status < 300 || status === 304) { - try { - result = response.call(xhr, request); - } catch (e) { - dispatch.error.call(xhr, e); - return; - } - dispatch.load.call(xhr, result); - } else { - dispatch.error.call(xhr, request); - } - } - request.onprogress = function(event) { - var o = d3.event; - d3.event = event; - try { - dispatch.progress.call(xhr, request); - } finally { - d3.event = o; - } - }; - xhr.header = function(name, value) { - name = (name + "").toLowerCase(); - if (arguments.length < 2) return headers[name]; - if (value == null) delete headers[name]; else headers[name] = value + ""; - return xhr; - }; - xhr.mimeType = function(value) { - if (!arguments.length) return mimeType; - mimeType = value == null ? null : value + ""; - return xhr; - }; - xhr.responseType = function(value) { - if (!arguments.length) return responseType; - responseType = value; - return xhr; - }; - xhr.response = function(value) { - response = value; - return xhr; - }; - [ "get", "post" ].forEach(function(method) { - xhr[method] = function() { - return xhr.send.apply(xhr, [ method ].concat(d3_array(arguments))); - }; - }); - xhr.send = function(method, data, callback) { - if (arguments.length === 2 && typeof data === "function") callback = data, data = null; - request.open(method, url, true); - if (mimeType != null && !("accept" in headers)) headers["accept"] = mimeType + ",*/*"; - if (request.setRequestHeader) for (var name in headers) request.setRequestHeader(name, headers[name]); - if (mimeType != null && request.overrideMimeType) request.overrideMimeType(mimeType); - if (responseType != null) request.responseType = responseType; - if (callback != null) xhr.on("error", callback).on("load", function(request) { - callback(null, request); - }); - dispatch.beforesend.call(xhr, request); - request.send(data == null ? null : data); - return xhr; - }; - xhr.abort = function() { - request.abort(); - return xhr; - }; - d3.rebind(xhr, dispatch, "on"); - return callback == null ? xhr : xhr.get(d3_xhr_fixCallback(callback)); - } - function d3_xhr_fixCallback(callback) { - return callback.length === 1 ? function(error, request) { - callback(error == null ? request : null); - } : callback; - } - function d3_xhrHasResponse(request) { - var type = request.responseType; - return type && type !== "text" ? request.response : request.responseText; - } - d3.dsv = function(delimiter, mimeType) { - var reFormat = new RegExp('["' + delimiter + "\n]"), delimiterCode = delimiter.charCodeAt(0); - function dsv(url, row, callback) { - if (arguments.length < 3) callback = row, row = null; - var xhr = d3_xhr(url, mimeType, row == null ? response : typedResponse(row), callback); - xhr.row = function(_) { - return arguments.length ? xhr.response((row = _) == null ? response : typedResponse(_)) : row; - }; - return xhr; - } - function response(request) { - return dsv.parse(request.responseText); - } - function typedResponse(f) { - return function(request) { - return dsv.parse(request.responseText, f); - }; - } - dsv.parse = function(text, f) { - var o; - return dsv.parseRows(text, function(row, i) { - if (o) return o(row, i - 1); - var a = new Function("d", "return {" + row.map(function(name, i) { - return JSON.stringify(name) + ": d[" + i + "]"; - }).join(",") + "}"); - o = f ? function(row, i) { - return f(a(row), i); - } : a; - }); - }; - dsv.parseRows = function(text, f) { - var EOL = {}, EOF = {}, rows = [], N = text.length, I = 0, n = 0, t, eol; - function token() { - if (I >= N) return EOF; - if (eol) return eol = false, EOL; - var j = I; - if (text.charCodeAt(j) === 34) { - var i = j; - while (i++ < N) { - if (text.charCodeAt(i) === 34) { - if (text.charCodeAt(i + 1) !== 34) break; - ++i; - } - } - I = i + 2; - var c = text.charCodeAt(i + 1); - if (c === 13) { - eol = true; - if (text.charCodeAt(i + 2) === 10) ++I; - } else if (c === 10) { - eol = true; - } - return text.slice(j + 1, i).replace(/""/g, '"'); - } - while (I < N) { - var c = text.charCodeAt(I++), k = 1; - if (c === 10) eol = true; else if (c === 13) { - eol = true; - if (text.charCodeAt(I) === 10) ++I, ++k; - } else if (c !== delimiterCode) continue; - return text.slice(j, I - k); - } - return text.slice(j); - } - while ((t = token()) !== EOF) { - var a = []; - while (t !== EOL && t !== EOF) { - a.push(t); - t = token(); - } - if (f && (a = f(a, n++)) == null) continue; - rows.push(a); - } - return rows; - }; - dsv.format = function(rows) { - if (Array.isArray(rows[0])) return dsv.formatRows(rows); - var fieldSet = new d3_Set(), fields = []; - rows.forEach(function(row) { - for (var field in row) { - if (!fieldSet.has(field)) { - fields.push(fieldSet.add(field)); - } - } - }); - return [ fields.map(formatValue).join(delimiter) ].concat(rows.map(function(row) { - return fields.map(function(field) { - return formatValue(row[field]); - }).join(delimiter); - })).join("\n"); - }; - dsv.formatRows = function(rows) { - return rows.map(formatRow).join("\n"); - }; - function formatRow(row) { - return row.map(formatValue).join(delimiter); - } - function formatValue(text) { - return reFormat.test(text) ? '"' + text.replace(/\"/g, '""') + '"' : text; - } - return dsv; - }; - d3.csv = d3.dsv(",", "text/csv"); - d3.tsv = d3.dsv(" ", "text/tab-separated-values"); - var d3_timer_queueHead, d3_timer_queueTail, d3_timer_interval, d3_timer_timeout, d3_timer_active, d3_timer_frame = d3_window[d3_vendorSymbol(d3_window, "requestAnimationFrame")] || function(callback) { - setTimeout(callback, 17); - }; - d3.timer = function(callback, delay, then) { - var n = arguments.length; - if (n < 2) delay = 0; - if (n < 3) then = Date.now(); - var time = then + delay, timer = { - c: callback, - t: time, - f: false, - n: null - }; - if (d3_timer_queueTail) d3_timer_queueTail.n = timer; else d3_timer_queueHead = timer; - d3_timer_queueTail = timer; - if (!d3_timer_interval) { - d3_timer_timeout = clearTimeout(d3_timer_timeout); - d3_timer_interval = 1; - d3_timer_frame(d3_timer_step); - } - }; - function d3_timer_step() { - var now = d3_timer_mark(), delay = d3_timer_sweep() - now; - if (delay > 24) { - if (isFinite(delay)) { - clearTimeout(d3_timer_timeout); - d3_timer_timeout = setTimeout(d3_timer_step, delay); - } - d3_timer_interval = 0; - } else { - d3_timer_interval = 1; - d3_timer_frame(d3_timer_step); - } - } - d3.timer.flush = function() { - d3_timer_mark(); - d3_timer_sweep(); - }; - function d3_timer_mark() { - var now = Date.now(); - d3_timer_active = d3_timer_queueHead; - while (d3_timer_active) { - if (now >= d3_timer_active.t) d3_timer_active.f = d3_timer_active.c(now - d3_timer_active.t); - d3_timer_active = d3_timer_active.n; - } - return now; - } - function d3_timer_sweep() { - var t0, t1 = d3_timer_queueHead, time = Infinity; - while (t1) { - if (t1.f) { - t1 = t0 ? t0.n = t1.n : d3_timer_queueHead = t1.n; - } else { - if (t1.t < time) time = t1.t; - t1 = (t0 = t1).n; - } - } - d3_timer_queueTail = t0; - return time; - } - function d3_format_precision(x, p) { - return p - (x ? Math.ceil(Math.log(x) / Math.LN10) : 1); - } - d3.round = function(x, n) { - return n ? Math.round(x * (n = Math.pow(10, n))) / n : Math.round(x); - }; - var d3_formatPrefixes = [ "y", "z", "a", "f", "p", "n", "µ", "m", "", "k", "M", "G", "T", "P", "E", "Z", "Y" ].map(d3_formatPrefix); - d3.formatPrefix = function(value, precision) { - var i = 0; - if (value) { - if (value < 0) value *= -1; - if (precision) value = d3.round(value, d3_format_precision(value, precision)); - i = 1 + Math.floor(1e-12 + Math.log(value) / Math.LN10); - i = Math.max(-24, Math.min(24, Math.floor((i - 1) / 3) * 3)); - } - return d3_formatPrefixes[8 + i / 3]; - }; - function d3_formatPrefix(d, i) { - var k = Math.pow(10, abs(8 - i) * 3); - return { - scale: i > 8 ? function(d) { - return d / k; - } : function(d) { - return d * k; - }, - symbol: d - }; - } - function d3_locale_numberFormat(locale) { - var locale_decimal = locale.decimal, locale_thousands = locale.thousands, locale_grouping = locale.grouping, locale_currency = locale.currency, formatGroup = locale_grouping && locale_thousands ? function(value, width) { - var i = value.length, t = [], j = 0, g = locale_grouping[0], length = 0; - while (i > 0 && g > 0) { - if (length + g + 1 > width) g = Math.max(1, width - length); - t.push(value.substring(i -= g, i + g)); - if ((length += g + 1) > width) break; - g = locale_grouping[j = (j + 1) % locale_grouping.length]; - } - return t.reverse().join(locale_thousands); - } : d3_identity; - return function(specifier) { - var match = d3_format_re.exec(specifier), fill = match[1] || " ", align = match[2] || ">", sign = match[3] || "-", symbol = match[4] || "", zfill = match[5], width = +match[6], comma = match[7], precision = match[8], type = match[9], scale = 1, prefix = "", suffix = "", integer = false, exponent = true; - if (precision) precision = +precision.substring(1); - if (zfill || fill === "0" && align === "=") { - zfill = fill = "0"; - align = "="; - } - switch (type) { - case "n": - comma = true; - type = "g"; - break; - - case "%": - scale = 100; - suffix = "%"; - type = "f"; - break; - - case "p": - scale = 100; - suffix = "%"; - type = "r"; - break; - - case "b": - case "o": - case "x": - case "X": - if (symbol === "#") prefix = "0" + type.toLowerCase(); - - case "c": - exponent = false; - - case "d": - integer = true; - precision = 0; - break; - - case "s": - scale = -1; - type = "r"; - break; - } - if (symbol === "$") prefix = locale_currency[0], suffix = locale_currency[1]; - if (type == "r" && !precision) type = "g"; - if (precision != null) { - if (type == "g") precision = Math.max(1, Math.min(21, precision)); else if (type == "e" || type == "f") precision = Math.max(0, Math.min(20, precision)); - } - type = d3_format_types.get(type) || d3_format_typeDefault; - var zcomma = zfill && comma; - return function(value) { - var fullSuffix = suffix; - if (integer && value % 1) return ""; - var negative = value < 0 || value === 0 && 1 / value < 0 ? (value = -value, "-") : sign === "-" ? "" : sign; - if (scale < 0) { - var unit = d3.formatPrefix(value, precision); - value = unit.scale(value); - fullSuffix = unit.symbol + suffix; - } else { - value *= scale; - } - value = type(value, precision); - var i = value.lastIndexOf("."), before, after; - if (i < 0) { - var j = exponent ? value.lastIndexOf("e") : -1; - if (j < 0) before = value, after = ""; else before = value.substring(0, j), after = value.substring(j); - } else { - before = value.substring(0, i); - after = locale_decimal + value.substring(i + 1); - } - if (!zfill && comma) before = formatGroup(before, Infinity); - var length = prefix.length + before.length + after.length + (zcomma ? 0 : negative.length), padding = length < width ? new Array(length = width - length + 1).join(fill) : ""; - if (zcomma) before = formatGroup(padding + before, padding.length ? width - after.length : Infinity); - negative += prefix; - value = before + after; - return (align === "<" ? negative + value + padding : align === ">" ? padding + negative + value : align === "^" ? padding.substring(0, length >>= 1) + negative + value + padding.substring(length) : negative + (zcomma ? value : padding + value)) + fullSuffix; - }; - }; - } - var d3_format_re = /(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i; - var d3_format_types = d3.map({ - b: function(x) { - return x.toString(2); - }, - c: function(x) { - return String.fromCharCode(x); - }, - o: function(x) { - return x.toString(8); - }, - x: function(x) { - return x.toString(16); - }, - X: function(x) { - return x.toString(16).toUpperCase(); - }, - g: function(x, p) { - return x.toPrecision(p); - }, - e: function(x, p) { - return x.toExponential(p); - }, - f: function(x, p) { - return x.toFixed(p); - }, - r: function(x, p) { - return (x = d3.round(x, d3_format_precision(x, p))).toFixed(Math.max(0, Math.min(20, d3_format_precision(x * (1 + 1e-15), p)))); - } - }); - function d3_format_typeDefault(x) { - return x + ""; - } - var d3_time = d3.time = {}, d3_date = Date; - function d3_date_utc() { - this._ = new Date(arguments.length > 1 ? Date.UTC.apply(this, arguments) : arguments[0]); - } - d3_date_utc.prototype = { - getDate: function() { - return this._.getUTCDate(); - }, - getDay: function() { - return this._.getUTCDay(); - }, - getFullYear: function() { - return this._.getUTCFullYear(); - }, - getHours: function() { - return this._.getUTCHours(); - }, - getMilliseconds: function() { - return this._.getUTCMilliseconds(); - }, - getMinutes: function() { - return this._.getUTCMinutes(); - }, - getMonth: function() { - return this._.getUTCMonth(); - }, - getSeconds: function() { - return this._.getUTCSeconds(); - }, - getTime: function() { - return this._.getTime(); - }, - getTimezoneOffset: function() { - return 0; - }, - valueOf: function() { - return this._.valueOf(); - }, - setDate: function() { - d3_time_prototype.setUTCDate.apply(this._, arguments); - }, - setDay: function() { - d3_time_prototype.setUTCDay.apply(this._, arguments); - }, - setFullYear: function() { - d3_time_prototype.setUTCFullYear.apply(this._, arguments); - }, - setHours: function() { - d3_time_prototype.setUTCHours.apply(this._, arguments); - }, - setMilliseconds: function() { - d3_time_prototype.setUTCMilliseconds.apply(this._, arguments); - }, - setMinutes: function() { - d3_time_prototype.setUTCMinutes.apply(this._, arguments); - }, - setMonth: function() { - d3_time_prototype.setUTCMonth.apply(this._, arguments); - }, - setSeconds: function() { - d3_time_prototype.setUTCSeconds.apply(this._, arguments); - }, - setTime: function() { - d3_time_prototype.setTime.apply(this._, arguments); - } - }; - var d3_time_prototype = Date.prototype; - function d3_time_interval(local, step, number) { - function round(date) { - var d0 = local(date), d1 = offset(d0, 1); - return date - d0 < d1 - date ? d0 : d1; - } - function ceil(date) { - step(date = local(new d3_date(date - 1)), 1); - return date; - } - function offset(date, k) { - step(date = new d3_date(+date), k); - return date; - } - function range(t0, t1, dt) { - var time = ceil(t0), times = []; - if (dt > 1) { - while (time < t1) { - if (!(number(time) % dt)) times.push(new Date(+time)); - step(time, 1); - } - } else { - while (time < t1) times.push(new Date(+time)), step(time, 1); - } - return times; - } - function range_utc(t0, t1, dt) { - try { - d3_date = d3_date_utc; - var utc = new d3_date_utc(); - utc._ = t0; - return range(utc, t1, dt); - } finally { - d3_date = Date; - } - } - local.floor = local; - local.round = round; - local.ceil = ceil; - local.offset = offset; - local.range = range; - var utc = local.utc = d3_time_interval_utc(local); - utc.floor = utc; - utc.round = d3_time_interval_utc(round); - utc.ceil = d3_time_interval_utc(ceil); - utc.offset = d3_time_interval_utc(offset); - utc.range = range_utc; - return local; - } - function d3_time_interval_utc(method) { - return function(date, k) { - try { - d3_date = d3_date_utc; - var utc = new d3_date_utc(); - utc._ = date; - return method(utc, k)._; - } finally { - d3_date = Date; - } - }; - } - d3_time.year = d3_time_interval(function(date) { - date = d3_time.day(date); - date.setMonth(0, 1); - return date; - }, function(date, offset) { - date.setFullYear(date.getFullYear() + offset); - }, function(date) { - return date.getFullYear(); - }); - d3_time.years = d3_time.year.range; - d3_time.years.utc = d3_time.year.utc.range; - d3_time.day = d3_time_interval(function(date) { - var day = new d3_date(2e3, 0); - day.setFullYear(date.getFullYear(), date.getMonth(), date.getDate()); - return day; - }, function(date, offset) { - date.setDate(date.getDate() + offset); - }, function(date) { - return date.getDate() - 1; - }); - d3_time.days = d3_time.day.range; - d3_time.days.utc = d3_time.day.utc.range; - d3_time.dayOfYear = function(date) { - var year = d3_time.year(date); - return Math.floor((date - year - (date.getTimezoneOffset() - year.getTimezoneOffset()) * 6e4) / 864e5); - }; - [ "sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday" ].forEach(function(day, i) { - i = 7 - i; - var interval = d3_time[day] = d3_time_interval(function(date) { - (date = d3_time.day(date)).setDate(date.getDate() - (date.getDay() + i) % 7); - return date; - }, function(date, offset) { - date.setDate(date.getDate() + Math.floor(offset) * 7); - }, function(date) { - var day = d3_time.year(date).getDay(); - return Math.floor((d3_time.dayOfYear(date) + (day + i) % 7) / 7) - (day !== i); - }); - d3_time[day + "s"] = interval.range; - d3_time[day + "s"].utc = interval.utc.range; - d3_time[day + "OfYear"] = function(date) { - var day = d3_time.year(date).getDay(); - return Math.floor((d3_time.dayOfYear(date) + (day + i) % 7) / 7); - }; - }); - d3_time.week = d3_time.sunday; - d3_time.weeks = d3_time.sunday.range; - d3_time.weeks.utc = d3_time.sunday.utc.range; - d3_time.weekOfYear = d3_time.sundayOfYear; - function d3_locale_timeFormat(locale) { - var locale_dateTime = locale.dateTime, locale_date = locale.date, locale_time = locale.time, locale_periods = locale.periods, locale_days = locale.days, locale_shortDays = locale.shortDays, locale_months = locale.months, locale_shortMonths = locale.shortMonths; - function d3_time_format(template) { - var n = template.length; - function format(date) { - var string = [], i = -1, j = 0, c, p, f; - while (++i < n) { - if (template.charCodeAt(i) === 37) { - string.push(template.slice(j, i)); - if ((p = d3_time_formatPads[c = template.charAt(++i)]) != null) c = template.charAt(++i); - if (f = d3_time_formats[c]) c = f(date, p == null ? c === "e" ? " " : "0" : p); - string.push(c); - j = i + 1; - } - } - string.push(template.slice(j, i)); - return string.join(""); - } - format.parse = function(string) { - var d = { - y: 1900, - m: 0, - d: 1, - H: 0, - M: 0, - S: 0, - L: 0, - Z: null - }, i = d3_time_parse(d, template, string, 0); - if (i != string.length) return null; - if ("p" in d) d.H = d.H % 12 + d.p * 12; - var localZ = d.Z != null && d3_date !== d3_date_utc, date = new (localZ ? d3_date_utc : d3_date)(); - if ("j" in d) date.setFullYear(d.y, 0, d.j); else if ("w" in d && ("W" in d || "U" in d)) { - date.setFullYear(d.y, 0, 1); - date.setFullYear(d.y, 0, "W" in d ? (d.w + 6) % 7 + d.W * 7 - (date.getDay() + 5) % 7 : d.w + d.U * 7 - (date.getDay() + 6) % 7); - } else date.setFullYear(d.y, d.m, d.d); - date.setHours(d.H + (d.Z / 100 | 0), d.M + d.Z % 100, d.S, d.L); - return localZ ? date._ : date; - }; - format.toString = function() { - return template; - }; - return format; - } - function d3_time_parse(date, template, string, j) { - var c, p, t, i = 0, n = template.length, m = string.length; - while (i < n) { - if (j >= m) return -1; - c = template.charCodeAt(i++); - if (c === 37) { - t = template.charAt(i++); - p = d3_time_parsers[t in d3_time_formatPads ? template.charAt(i++) : t]; - if (!p || (j = p(date, string, j)) < 0) return -1; - } else if (c != string.charCodeAt(j++)) { - return -1; - } - } - return j; - } - d3_time_format.utc = function(template) { - var local = d3_time_format(template); - function format(date) { - try { - d3_date = d3_date_utc; - var utc = new d3_date(); - utc._ = date; - return local(utc); - } finally { - d3_date = Date; - } - } - format.parse = function(string) { - try { - d3_date = d3_date_utc; - var date = local.parse(string); - return date && date._; - } finally { - d3_date = Date; - } - }; - format.toString = local.toString; - return format; - }; - d3_time_format.multi = d3_time_format.utc.multi = d3_time_formatMulti; - var d3_time_periodLookup = d3.map(), d3_time_dayRe = d3_time_formatRe(locale_days), d3_time_dayLookup = d3_time_formatLookup(locale_days), d3_time_dayAbbrevRe = d3_time_formatRe(locale_shortDays), d3_time_dayAbbrevLookup = d3_time_formatLookup(locale_shortDays), d3_time_monthRe = d3_time_formatRe(locale_months), d3_time_monthLookup = d3_time_formatLookup(locale_months), d3_time_monthAbbrevRe = d3_time_formatRe(locale_shortMonths), d3_time_monthAbbrevLookup = d3_time_formatLookup(locale_shortMonths); - locale_periods.forEach(function(p, i) { - d3_time_periodLookup.set(p.toLowerCase(), i); - }); - var d3_time_formats = { - a: function(d) { - return locale_shortDays[d.getDay()]; - }, - A: function(d) { - return locale_days[d.getDay()]; - }, - b: function(d) { - return locale_shortMonths[d.getMonth()]; - }, - B: function(d) { - return locale_months[d.getMonth()]; - }, - c: d3_time_format(locale_dateTime), - d: function(d, p) { - return d3_time_formatPad(d.getDate(), p, 2); - }, - e: function(d, p) { - return d3_time_formatPad(d.getDate(), p, 2); - }, - H: function(d, p) { - return d3_time_formatPad(d.getHours(), p, 2); - }, - I: function(d, p) { - return d3_time_formatPad(d.getHours() % 12 || 12, p, 2); - }, - j: function(d, p) { - return d3_time_formatPad(1 + d3_time.dayOfYear(d), p, 3); - }, - L: function(d, p) { - return d3_time_formatPad(d.getMilliseconds(), p, 3); - }, - m: function(d, p) { - return d3_time_formatPad(d.getMonth() + 1, p, 2); - }, - M: function(d, p) { - return d3_time_formatPad(d.getMinutes(), p, 2); - }, - p: function(d) { - return locale_periods[+(d.getHours() >= 12)]; - }, - S: function(d, p) { - return d3_time_formatPad(d.getSeconds(), p, 2); - }, - U: function(d, p) { - return d3_time_formatPad(d3_time.sundayOfYear(d), p, 2); - }, - w: function(d) { - return d.getDay(); - }, - W: function(d, p) { - return d3_time_formatPad(d3_time.mondayOfYear(d), p, 2); - }, - x: d3_time_format(locale_date), - X: d3_time_format(locale_time), - y: function(d, p) { - return d3_time_formatPad(d.getFullYear() % 100, p, 2); - }, - Y: function(d, p) { - return d3_time_formatPad(d.getFullYear() % 1e4, p, 4); - }, - Z: d3_time_zone, - "%": function() { - return "%"; - } - }; - var d3_time_parsers = { - a: d3_time_parseWeekdayAbbrev, - A: d3_time_parseWeekday, - b: d3_time_parseMonthAbbrev, - B: d3_time_parseMonth, - c: d3_time_parseLocaleFull, - d: d3_time_parseDay, - e: d3_time_parseDay, - H: d3_time_parseHour24, - I: d3_time_parseHour24, - j: d3_time_parseDayOfYear, - L: d3_time_parseMilliseconds, - m: d3_time_parseMonthNumber, - M: d3_time_parseMinutes, - p: d3_time_parseAmPm, - S: d3_time_parseSeconds, - U: d3_time_parseWeekNumberSunday, - w: d3_time_parseWeekdayNumber, - W: d3_time_parseWeekNumberMonday, - x: d3_time_parseLocaleDate, - X: d3_time_parseLocaleTime, - y: d3_time_parseYear, - Y: d3_time_parseFullYear, - Z: d3_time_parseZone, - "%": d3_time_parseLiteralPercent - }; - function d3_time_parseWeekdayAbbrev(date, string, i) { - d3_time_dayAbbrevRe.lastIndex = 0; - var n = d3_time_dayAbbrevRe.exec(string.slice(i)); - return n ? (date.w = d3_time_dayAbbrevLookup.get(n[0].toLowerCase()), i + n[0].length) : -1; - } - function d3_time_parseWeekday(date, string, i) { - d3_time_dayRe.lastIndex = 0; - var n = d3_time_dayRe.exec(string.slice(i)); - return n ? (date.w = d3_time_dayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1; - } - function d3_time_parseMonthAbbrev(date, string, i) { - d3_time_monthAbbrevRe.lastIndex = 0; - var n = d3_time_monthAbbrevRe.exec(string.slice(i)); - return n ? (date.m = d3_time_monthAbbrevLookup.get(n[0].toLowerCase()), i + n[0].length) : -1; - } - function d3_time_parseMonth(date, string, i) { - d3_time_monthRe.lastIndex = 0; - var n = d3_time_monthRe.exec(string.slice(i)); - return n ? (date.m = d3_time_monthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1; - } - function d3_time_parseLocaleFull(date, string, i) { - return d3_time_parse(date, d3_time_formats.c.toString(), string, i); - } - function d3_time_parseLocaleDate(date, string, i) { - return d3_time_parse(date, d3_time_formats.x.toString(), string, i); - } - function d3_time_parseLocaleTime(date, string, i) { - return d3_time_parse(date, d3_time_formats.X.toString(), string, i); - } - function d3_time_parseAmPm(date, string, i) { - var n = d3_time_periodLookup.get(string.slice(i, i += 2).toLowerCase()); - return n == null ? -1 : (date.p = n, i); - } - return d3_time_format; - } - var d3_time_formatPads = { - "-": "", - _: " ", - "0": "0" - }, d3_time_numberRe = /^\s*\d+/, d3_time_percentRe = /^%/; - function d3_time_formatPad(value, fill, width) { - var sign = value < 0 ? "-" : "", string = (sign ? -value : value) + "", length = string.length; - return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string); - } - function d3_time_formatRe(names) { - return new RegExp("^(?:" + names.map(d3.requote).join("|") + ")", "i"); - } - function d3_time_formatLookup(names) { - var map = new d3_Map(), i = -1, n = names.length; - while (++i < n) map.set(names[i].toLowerCase(), i); - return map; - } - function d3_time_parseWeekdayNumber(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 1)); - return n ? (date.w = +n[0], i + n[0].length) : -1; - } - function d3_time_parseWeekNumberSunday(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i)); - return n ? (date.U = +n[0], i + n[0].length) : -1; - } - function d3_time_parseWeekNumberMonday(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i)); - return n ? (date.W = +n[0], i + n[0].length) : -1; - } - function d3_time_parseFullYear(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 4)); - return n ? (date.y = +n[0], i + n[0].length) : -1; - } - function d3_time_parseYear(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 2)); - return n ? (date.y = d3_time_expandYear(+n[0]), i + n[0].length) : -1; - } - function d3_time_parseZone(date, string, i) { - return /^[+-]\d{4}$/.test(string = string.slice(i, i + 5)) ? (date.Z = -string, - i + 5) : -1; - } - function d3_time_expandYear(d) { - return d + (d > 68 ? 1900 : 2e3); - } - function d3_time_parseMonthNumber(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 2)); - return n ? (date.m = n[0] - 1, i + n[0].length) : -1; - } - function d3_time_parseDay(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 2)); - return n ? (date.d = +n[0], i + n[0].length) : -1; - } - function d3_time_parseDayOfYear(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 3)); - return n ? (date.j = +n[0], i + n[0].length) : -1; - } - function d3_time_parseHour24(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 2)); - return n ? (date.H = +n[0], i + n[0].length) : -1; - } - function d3_time_parseMinutes(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 2)); - return n ? (date.M = +n[0], i + n[0].length) : -1; - } - function d3_time_parseSeconds(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 2)); - return n ? (date.S = +n[0], i + n[0].length) : -1; - } - function d3_time_parseMilliseconds(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 3)); - return n ? (date.L = +n[0], i + n[0].length) : -1; - } - function d3_time_zone(d) { - var z = d.getTimezoneOffset(), zs = z > 0 ? "-" : "+", zh = abs(z) / 60 | 0, zm = abs(z) % 60; - return zs + d3_time_formatPad(zh, "0", 2) + d3_time_formatPad(zm, "0", 2); - } - function d3_time_parseLiteralPercent(date, string, i) { - d3_time_percentRe.lastIndex = 0; - var n = d3_time_percentRe.exec(string.slice(i, i + 1)); - return n ? i + n[0].length : -1; - } - function d3_time_formatMulti(formats) { - var n = formats.length, i = -1; - while (++i < n) formats[i][0] = this(formats[i][0]); - return function(date) { - var i = 0, f = formats[i]; - while (!f[1](date)) f = formats[++i]; - return f[0](date); - }; - } - d3.locale = function(locale) { - return { - numberFormat: d3_locale_numberFormat(locale), - timeFormat: d3_locale_timeFormat(locale) - }; - }; - var d3_locale_enUS = d3.locale({ - decimal: ".", - thousands: ",", - grouping: [ 3 ], - currency: [ "$", "" ], - dateTime: "%a %b %e %X %Y", - date: "%m/%d/%Y", - time: "%H:%M:%S", - periods: [ "AM", "PM" ], - days: [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ], - shortDays: [ "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" ], - months: [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ], - shortMonths: [ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" ] - }); - d3.format = d3_locale_enUS.numberFormat; - d3.geo = {}; - function d3_adder() {} - d3_adder.prototype = { - s: 0, - t: 0, - add: function(y) { - d3_adderSum(y, this.t, d3_adderTemp); - d3_adderSum(d3_adderTemp.s, this.s, this); - if (this.s) this.t += d3_adderTemp.t; else this.s = d3_adderTemp.t; - }, - reset: function() { - this.s = this.t = 0; - }, - valueOf: function() { - return this.s; - } - }; - var d3_adderTemp = new d3_adder(); - function d3_adderSum(a, b, o) { - var x = o.s = a + b, bv = x - a, av = x - bv; - o.t = a - av + (b - bv); - } - d3.geo.stream = function(object, listener) { - if (object && d3_geo_streamObjectType.hasOwnProperty(object.type)) { - d3_geo_streamObjectType[object.type](object, listener); - } else { - d3_geo_streamGeometry(object, listener); - } - }; - function d3_geo_streamGeometry(geometry, listener) { - if (geometry && d3_geo_streamGeometryType.hasOwnProperty(geometry.type)) { - d3_geo_streamGeometryType[geometry.type](geometry, listener); - } - } - var d3_geo_streamObjectType = { - Feature: function(feature, listener) { - d3_geo_streamGeometry(feature.geometry, listener); - }, - FeatureCollection: function(object, listener) { - var features = object.features, i = -1, n = features.length; - while (++i < n) d3_geo_streamGeometry(features[i].geometry, listener); - } - }; - var d3_geo_streamGeometryType = { - Sphere: function(object, listener) { - listener.sphere(); - }, - Point: function(object, listener) { - object = object.coordinates; - listener.point(object[0], object[1], object[2]); - }, - MultiPoint: function(object, listener) { - var coordinates = object.coordinates, i = -1, n = coordinates.length; - while (++i < n) object = coordinates[i], listener.point(object[0], object[1], object[2]); - }, - LineString: function(object, listener) { - d3_geo_streamLine(object.coordinates, listener, 0); - }, - MultiLineString: function(object, listener) { - var coordinates = object.coordinates, i = -1, n = coordinates.length; - while (++i < n) d3_geo_streamLine(coordinates[i], listener, 0); - }, - Polygon: function(object, listener) { - d3_geo_streamPolygon(object.coordinates, listener); - }, - MultiPolygon: function(object, listener) { - var coordinates = object.coordinates, i = -1, n = coordinates.length; - while (++i < n) d3_geo_streamPolygon(coordinates[i], listener); - }, - GeometryCollection: function(object, listener) { - var geometries = object.geometries, i = -1, n = geometries.length; - while (++i < n) d3_geo_streamGeometry(geometries[i], listener); - } - }; - function d3_geo_streamLine(coordinates, listener, closed) { - var i = -1, n = coordinates.length - closed, coordinate; - listener.lineStart(); - while (++i < n) coordinate = coordinates[i], listener.point(coordinate[0], coordinate[1], coordinate[2]); - listener.lineEnd(); - } - function d3_geo_streamPolygon(coordinates, listener) { - var i = -1, n = coordinates.length; - listener.polygonStart(); - while (++i < n) d3_geo_streamLine(coordinates[i], listener, 1); - listener.polygonEnd(); - } - d3.geo.area = function(object) { - d3_geo_areaSum = 0; - d3.geo.stream(object, d3_geo_area); - return d3_geo_areaSum; - }; - var d3_geo_areaSum, d3_geo_areaRingSum = new d3_adder(); - var d3_geo_area = { - sphere: function() { - d3_geo_areaSum += 4 * π; - }, - point: d3_noop, - lineStart: d3_noop, - lineEnd: d3_noop, - polygonStart: function() { - d3_geo_areaRingSum.reset(); - d3_geo_area.lineStart = d3_geo_areaRingStart; - }, - polygonEnd: function() { - var area = 2 * d3_geo_areaRingSum; - d3_geo_areaSum += area < 0 ? 4 * π + area : area; - d3_geo_area.lineStart = d3_geo_area.lineEnd = d3_geo_area.point = d3_noop; - } - }; - function d3_geo_areaRingStart() { - var λ00, φ00, λ0, cosφ0, sinφ0; - d3_geo_area.point = function(λ, φ) { - d3_geo_area.point = nextPoint; - λ0 = (λ00 = λ) * d3_radians, cosφ0 = Math.cos(φ = (φ00 = φ) * d3_radians / 2 + π / 4), - sinφ0 = Math.sin(φ); - }; - function nextPoint(λ, φ) { - λ *= d3_radians; - φ = φ * d3_radians / 2 + π / 4; - var dλ = λ - λ0, sdλ = dλ >= 0 ? 1 : -1, adλ = sdλ * dλ, cosφ = Math.cos(φ), sinφ = Math.sin(φ), k = sinφ0 * sinφ, u = cosφ0 * cosφ + k * Math.cos(adλ), v = k * sdλ * Math.sin(adλ); - d3_geo_areaRingSum.add(Math.atan2(v, u)); - λ0 = λ, cosφ0 = cosφ, sinφ0 = sinφ; - } - d3_geo_area.lineEnd = function() { - nextPoint(λ00, φ00); - }; - } - function d3_geo_cartesian(spherical) { - var λ = spherical[0], φ = spherical[1], cosφ = Math.cos(φ); - return [ cosφ * Math.cos(λ), cosφ * Math.sin(λ), Math.sin(φ) ]; - } - function d3_geo_cartesianDot(a, b) { - return a[0] * b[0] + a[1] * b[1] + a[2] * b[2]; - } - function d3_geo_cartesianCross(a, b) { - return [ a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0] ]; - } - function d3_geo_cartesianAdd(a, b) { - a[0] += b[0]; - a[1] += b[1]; - a[2] += b[2]; - } - function d3_geo_cartesianScale(vector, k) { - return [ vector[0] * k, vector[1] * k, vector[2] * k ]; - } - function d3_geo_cartesianNormalize(d) { - var l = Math.sqrt(d[0] * d[0] + d[1] * d[1] + d[2] * d[2]); - d[0] /= l; - d[1] /= l; - d[2] /= l; - } - function d3_geo_spherical(cartesian) { - return [ Math.atan2(cartesian[1], cartesian[0]), d3_asin(cartesian[2]) ]; - } - function d3_geo_sphericalEqual(a, b) { - return abs(a[0] - b[0]) < ε && abs(a[1] - b[1]) < ε; - } - d3.geo.bounds = function() { - var λ0, φ0, λ1, φ1, λ_, λ__, φ__, p0, dλSum, ranges, range; - var bound = { - point: point, - lineStart: lineStart, - lineEnd: lineEnd, - polygonStart: function() { - bound.point = ringPoint; - bound.lineStart = ringStart; - bound.lineEnd = ringEnd; - dλSum = 0; - d3_geo_area.polygonStart(); - }, - polygonEnd: function() { - d3_geo_area.polygonEnd(); - bound.point = point; - bound.lineStart = lineStart; - bound.lineEnd = lineEnd; - if (d3_geo_areaRingSum < 0) λ0 = -(λ1 = 180), φ0 = -(φ1 = 90); else if (dλSum > ε) φ1 = 90; else if (dλSum < -ε) φ0 = -90; - range[0] = λ0, range[1] = λ1; - } - }; - function point(λ, φ) { - ranges.push(range = [ λ0 = λ, λ1 = λ ]); - if (φ < φ0) φ0 = φ; - if (φ > φ1) φ1 = φ; - } - function linePoint(λ, φ) { - var p = d3_geo_cartesian([ λ * d3_radians, φ * d3_radians ]); - if (p0) { - var normal = d3_geo_cartesianCross(p0, p), equatorial = [ normal[1], -normal[0], 0 ], inflection = d3_geo_cartesianCross(equatorial, normal); - d3_geo_cartesianNormalize(inflection); - inflection = d3_geo_spherical(inflection); - var dλ = λ - λ_, s = dλ > 0 ? 1 : -1, λi = inflection[0] * d3_degrees * s, antimeridian = abs(dλ) > 180; - if (antimeridian ^ (s * λ_ < λi && λi < s * λ)) { - var φi = inflection[1] * d3_degrees; - if (φi > φ1) φ1 = φi; - } else if (λi = (λi + 360) % 360 - 180, antimeridian ^ (s * λ_ < λi && λi < s * λ)) { - var φi = -inflection[1] * d3_degrees; - if (φi < φ0) φ0 = φi; - } else { - if (φ < φ0) φ0 = φ; - if (φ > φ1) φ1 = φ; - } - if (antimeridian) { - if (λ < λ_) { - if (angle(λ0, λ) > angle(λ0, λ1)) λ1 = λ; - } else { - if (angle(λ, λ1) > angle(λ0, λ1)) λ0 = λ; - } - } else { - if (λ1 >= λ0) { - if (λ < λ0) λ0 = λ; - if (λ > λ1) λ1 = λ; - } else { - if (λ > λ_) { - if (angle(λ0, λ) > angle(λ0, λ1)) λ1 = λ; - } else { - if (angle(λ, λ1) > angle(λ0, λ1)) λ0 = λ; - } - } - } - } else { - point(λ, φ); - } - p0 = p, λ_ = λ; - } - function lineStart() { - bound.point = linePoint; - } - function lineEnd() { - range[0] = λ0, range[1] = λ1; - bound.point = point; - p0 = null; - } - function ringPoint(λ, φ) { - if (p0) { - var dλ = λ - λ_; - dλSum += abs(dλ) > 180 ? dλ + (dλ > 0 ? 360 : -360) : dλ; - } else λ__ = λ, φ__ = φ; - d3_geo_area.point(λ, φ); - linePoint(λ, φ); - } - function ringStart() { - d3_geo_area.lineStart(); - } - function ringEnd() { - ringPoint(λ__, φ__); - d3_geo_area.lineEnd(); - if (abs(dλSum) > ε) λ0 = -(λ1 = 180); - range[0] = λ0, range[1] = λ1; - p0 = null; - } - function angle(λ0, λ1) { - return (λ1 -= λ0) < 0 ? λ1 + 360 : λ1; - } - function compareRanges(a, b) { - return a[0] - b[0]; - } - function withinRange(x, range) { - return range[0] <= range[1] ? range[0] <= x && x <= range[1] : x < range[0] || range[1] < x; - } - return function(feature) { - φ1 = λ1 = -(λ0 = φ0 = Infinity); - ranges = []; - d3.geo.stream(feature, bound); - var n = ranges.length; - if (n) { - ranges.sort(compareRanges); - for (var i = 1, a = ranges[0], b, merged = [ a ]; i < n; ++i) { - b = ranges[i]; - if (withinRange(b[0], a) || withinRange(b[1], a)) { - if (angle(a[0], b[1]) > angle(a[0], a[1])) a[1] = b[1]; - if (angle(b[0], a[1]) > angle(a[0], a[1])) a[0] = b[0]; - } else { - merged.push(a = b); - } - } - var best = -Infinity, dλ; - for (var n = merged.length - 1, i = 0, a = merged[n], b; i <= n; a = b, ++i) { - b = merged[i]; - if ((dλ = angle(a[1], b[0])) > best) best = dλ, λ0 = b[0], λ1 = a[1]; - } - } - ranges = range = null; - return λ0 === Infinity || φ0 === Infinity ? [ [ NaN, NaN ], [ NaN, NaN ] ] : [ [ λ0, φ0 ], [ λ1, φ1 ] ]; - }; - }(); - d3.geo.centroid = function(object) { - d3_geo_centroidW0 = d3_geo_centroidW1 = d3_geo_centroidX0 = d3_geo_centroidY0 = d3_geo_centroidZ0 = d3_geo_centroidX1 = d3_geo_centroidY1 = d3_geo_centroidZ1 = d3_geo_centroidX2 = d3_geo_centroidY2 = d3_geo_centroidZ2 = 0; - d3.geo.stream(object, d3_geo_centroid); - var x = d3_geo_centroidX2, y = d3_geo_centroidY2, z = d3_geo_centroidZ2, m = x * x + y * y + z * z; - if (m < ε2) { - x = d3_geo_centroidX1, y = d3_geo_centroidY1, z = d3_geo_centroidZ1; - if (d3_geo_centroidW1 < ε) x = d3_geo_centroidX0, y = d3_geo_centroidY0, z = d3_geo_centroidZ0; - m = x * x + y * y + z * z; - if (m < ε2) return [ NaN, NaN ]; - } - return [ Math.atan2(y, x) * d3_degrees, d3_asin(z / Math.sqrt(m)) * d3_degrees ]; - }; - var d3_geo_centroidW0, d3_geo_centroidW1, d3_geo_centroidX0, d3_geo_centroidY0, d3_geo_centroidZ0, d3_geo_centroidX1, d3_geo_centroidY1, d3_geo_centroidZ1, d3_geo_centroidX2, d3_geo_centroidY2, d3_geo_centroidZ2; - var d3_geo_centroid = { - sphere: d3_noop, - point: d3_geo_centroidPoint, - lineStart: d3_geo_centroidLineStart, - lineEnd: d3_geo_centroidLineEnd, - polygonStart: function() { - d3_geo_centroid.lineStart = d3_geo_centroidRingStart; - }, - polygonEnd: function() { - d3_geo_centroid.lineStart = d3_geo_centroidLineStart; - } - }; - function d3_geo_centroidPoint(λ, φ) { - λ *= d3_radians; - var cosφ = Math.cos(φ *= d3_radians); - d3_geo_centroidPointXYZ(cosφ * Math.cos(λ), cosφ * Math.sin(λ), Math.sin(φ)); - } - function d3_geo_centroidPointXYZ(x, y, z) { - ++d3_geo_centroidW0; - d3_geo_centroidX0 += (x - d3_geo_centroidX0) / d3_geo_centroidW0; - d3_geo_centroidY0 += (y - d3_geo_centroidY0) / d3_geo_centroidW0; - d3_geo_centroidZ0 += (z - d3_geo_centroidZ0) / d3_geo_centroidW0; - } - function d3_geo_centroidLineStart() { - var x0, y0, z0; - d3_geo_centroid.point = function(λ, φ) { - λ *= d3_radians; - var cosφ = Math.cos(φ *= d3_radians); - x0 = cosφ * Math.cos(λ); - y0 = cosφ * Math.sin(λ); - z0 = Math.sin(φ); - d3_geo_centroid.point = nextPoint; - d3_geo_centroidPointXYZ(x0, y0, z0); - }; - function nextPoint(λ, φ) { - λ *= d3_radians; - var cosφ = Math.cos(φ *= d3_radians), x = cosφ * Math.cos(λ), y = cosφ * Math.sin(λ), z = Math.sin(φ), w = Math.atan2(Math.sqrt((w = y0 * z - z0 * y) * w + (w = z0 * x - x0 * z) * w + (w = x0 * y - y0 * x) * w), x0 * x + y0 * y + z0 * z); - d3_geo_centroidW1 += w; - d3_geo_centroidX1 += w * (x0 + (x0 = x)); - d3_geo_centroidY1 += w * (y0 + (y0 = y)); - d3_geo_centroidZ1 += w * (z0 + (z0 = z)); - d3_geo_centroidPointXYZ(x0, y0, z0); - } - } - function d3_geo_centroidLineEnd() { - d3_geo_centroid.point = d3_geo_centroidPoint; - } - function d3_geo_centroidRingStart() { - var λ00, φ00, x0, y0, z0; - d3_geo_centroid.point = function(λ, φ) { - λ00 = λ, φ00 = φ; - d3_geo_centroid.point = nextPoint; - λ *= d3_radians; - var cosφ = Math.cos(φ *= d3_radians); - x0 = cosφ * Math.cos(λ); - y0 = cosφ * Math.sin(λ); - z0 = Math.sin(φ); - d3_geo_centroidPointXYZ(x0, y0, z0); - }; - d3_geo_centroid.lineEnd = function() { - nextPoint(λ00, φ00); - d3_geo_centroid.lineEnd = d3_geo_centroidLineEnd; - d3_geo_centroid.point = d3_geo_centroidPoint; - }; - function nextPoint(λ, φ) { - λ *= d3_radians; - var cosφ = Math.cos(φ *= d3_radians), x = cosφ * Math.cos(λ), y = cosφ * Math.sin(λ), z = Math.sin(φ), cx = y0 * z - z0 * y, cy = z0 * x - x0 * z, cz = x0 * y - y0 * x, m = Math.sqrt(cx * cx + cy * cy + cz * cz), u = x0 * x + y0 * y + z0 * z, v = m && -d3_acos(u) / m, w = Math.atan2(m, u); - d3_geo_centroidX2 += v * cx; - d3_geo_centroidY2 += v * cy; - d3_geo_centroidZ2 += v * cz; - d3_geo_centroidW1 += w; - d3_geo_centroidX1 += w * (x0 + (x0 = x)); - d3_geo_centroidY1 += w * (y0 + (y0 = y)); - d3_geo_centroidZ1 += w * (z0 + (z0 = z)); - d3_geo_centroidPointXYZ(x0, y0, z0); - } - } - function d3_geo_compose(a, b) { - function compose(x, y) { - return x = a(x, y), b(x[0], x[1]); - } - if (a.invert && b.invert) compose.invert = function(x, y) { - return x = b.invert(x, y), x && a.invert(x[0], x[1]); - }; - return compose; - } - function d3_true() { - return true; - } - function d3_geo_clipPolygon(segments, compare, clipStartInside, interpolate, listener) { - var subject = [], clip = []; - segments.forEach(function(segment) { - if ((n = segment.length - 1) <= 0) return; - var n, p0 = segment[0], p1 = segment[n]; - if (d3_geo_sphericalEqual(p0, p1)) { - listener.lineStart(); - for (var i = 0; i < n; ++i) listener.point((p0 = segment[i])[0], p0[1]); - listener.lineEnd(); - return; - } - var a = new d3_geo_clipPolygonIntersection(p0, segment, null, true), b = new d3_geo_clipPolygonIntersection(p0, null, a, false); - a.o = b; - subject.push(a); - clip.push(b); - a = new d3_geo_clipPolygonIntersection(p1, segment, null, false); - b = new d3_geo_clipPolygonIntersection(p1, null, a, true); - a.o = b; - subject.push(a); - clip.push(b); - }); - clip.sort(compare); - d3_geo_clipPolygonLinkCircular(subject); - d3_geo_clipPolygonLinkCircular(clip); - if (!subject.length) return; - for (var i = 0, entry = clipStartInside, n = clip.length; i < n; ++i) { - clip[i].e = entry = !entry; - } - var start = subject[0], points, point; - while (1) { - var current = start, isSubject = true; - while (current.v) if ((current = current.n) === start) return; - points = current.z; - listener.lineStart(); - do { - current.v = current.o.v = true; - if (current.e) { - if (isSubject) { - for (var i = 0, n = points.length; i < n; ++i) listener.point((point = points[i])[0], point[1]); - } else { - interpolate(current.x, current.n.x, 1, listener); - } - current = current.n; - } else { - if (isSubject) { - points = current.p.z; - for (var i = points.length - 1; i >= 0; --i) listener.point((point = points[i])[0], point[1]); - } else { - interpolate(current.x, current.p.x, -1, listener); - } - current = current.p; - } - current = current.o; - points = current.z; - isSubject = !isSubject; - } while (!current.v); - listener.lineEnd(); - } - } - function d3_geo_clipPolygonLinkCircular(array) { - if (!(n = array.length)) return; - var n, i = 0, a = array[0], b; - while (++i < n) { - a.n = b = array[i]; - b.p = a; - a = b; - } - a.n = b = array[0]; - b.p = a; - } - function d3_geo_clipPolygonIntersection(point, points, other, entry) { - this.x = point; - this.z = points; - this.o = other; - this.e = entry; - this.v = false; - this.n = this.p = null; - } - function d3_geo_clip(pointVisible, clipLine, interpolate, clipStart) { - return function(rotate, listener) { - var line = clipLine(listener), rotatedClipStart = rotate.invert(clipStart[0], clipStart[1]); - var clip = { - point: point, - lineStart: lineStart, - lineEnd: lineEnd, - polygonStart: function() { - clip.point = pointRing; - clip.lineStart = ringStart; - clip.lineEnd = ringEnd; - segments = []; - polygon = []; - }, - polygonEnd: function() { - clip.point = point; - clip.lineStart = lineStart; - clip.lineEnd = lineEnd; - segments = d3.merge(segments); - var clipStartInside = d3_geo_pointInPolygon(rotatedClipStart, polygon); - if (segments.length) { - if (!polygonStarted) listener.polygonStart(), polygonStarted = true; - d3_geo_clipPolygon(segments, d3_geo_clipSort, clipStartInside, interpolate, listener); - } else if (clipStartInside) { - if (!polygonStarted) listener.polygonStart(), polygonStarted = true; - listener.lineStart(); - interpolate(null, null, 1, listener); - listener.lineEnd(); - } - if (polygonStarted) listener.polygonEnd(), polygonStarted = false; - segments = polygon = null; - }, - sphere: function() { - listener.polygonStart(); - listener.lineStart(); - interpolate(null, null, 1, listener); - listener.lineEnd(); - listener.polygonEnd(); - } - }; - function point(λ, φ) { - var point = rotate(λ, φ); - if (pointVisible(λ = point[0], φ = point[1])) listener.point(λ, φ); - } - function pointLine(λ, φ) { - var point = rotate(λ, φ); - line.point(point[0], point[1]); - } - function lineStart() { - clip.point = pointLine; - line.lineStart(); - } - function lineEnd() { - clip.point = point; - line.lineEnd(); - } - var segments; - var buffer = d3_geo_clipBufferListener(), ringListener = clipLine(buffer), polygonStarted = false, polygon, ring; - function pointRing(λ, φ) { - ring.push([ λ, φ ]); - var point = rotate(λ, φ); - ringListener.point(point[0], point[1]); - } - function ringStart() { - ringListener.lineStart(); - ring = []; - } - function ringEnd() { - pointRing(ring[0][0], ring[0][1]); - ringListener.lineEnd(); - var clean = ringListener.clean(), ringSegments = buffer.buffer(), segment, n = ringSegments.length; - ring.pop(); - polygon.push(ring); - ring = null; - if (!n) return; - if (clean & 1) { - segment = ringSegments[0]; - var n = segment.length - 1, i = -1, point; - if (n > 0) { - if (!polygonStarted) listener.polygonStart(), polygonStarted = true; - listener.lineStart(); - while (++i < n) listener.point((point = segment[i])[0], point[1]); - listener.lineEnd(); - } - return; - } - if (n > 1 && clean & 2) ringSegments.push(ringSegments.pop().concat(ringSegments.shift())); - segments.push(ringSegments.filter(d3_geo_clipSegmentLength1)); - } - return clip; - }; - } - function d3_geo_clipSegmentLength1(segment) { - return segment.length > 1; - } - function d3_geo_clipBufferListener() { - var lines = [], line; - return { - lineStart: function() { - lines.push(line = []); - }, - point: function(λ, φ) { - line.push([ λ, φ ]); - }, - lineEnd: d3_noop, - buffer: function() { - var buffer = lines; - lines = []; - line = null; - return buffer; - }, - rejoin: function() { - if (lines.length > 1) lines.push(lines.pop().concat(lines.shift())); - } - }; - } - function d3_geo_clipSort(a, b) { - return ((a = a.x)[0] < 0 ? a[1] - halfπ - ε : halfπ - a[1]) - ((b = b.x)[0] < 0 ? b[1] - halfπ - ε : halfπ - b[1]); - } - var d3_geo_clipAntimeridian = d3_geo_clip(d3_true, d3_geo_clipAntimeridianLine, d3_geo_clipAntimeridianInterpolate, [ -π, -π / 2 ]); - function d3_geo_clipAntimeridianLine(listener) { - var λ0 = NaN, φ0 = NaN, sλ0 = NaN, clean; - return { - lineStart: function() { - listener.lineStart(); - clean = 1; - }, - point: function(λ1, φ1) { - var sλ1 = λ1 > 0 ? π : -π, dλ = abs(λ1 - λ0); - if (abs(dλ - π) < ε) { - listener.point(λ0, φ0 = (φ0 + φ1) / 2 > 0 ? halfπ : -halfπ); - listener.point(sλ0, φ0); - listener.lineEnd(); - listener.lineStart(); - listener.point(sλ1, φ0); - listener.point(λ1, φ0); - clean = 0; - } else if (sλ0 !== sλ1 && dλ >= π) { - if (abs(λ0 - sλ0) < ε) λ0 -= sλ0 * ε; - if (abs(λ1 - sλ1) < ε) λ1 -= sλ1 * ε; - φ0 = d3_geo_clipAntimeridianIntersect(λ0, φ0, λ1, φ1); - listener.point(sλ0, φ0); - listener.lineEnd(); - listener.lineStart(); - listener.point(sλ1, φ0); - clean = 0; - } - listener.point(λ0 = λ1, φ0 = φ1); - sλ0 = sλ1; - }, - lineEnd: function() { - listener.lineEnd(); - λ0 = φ0 = NaN; - }, - clean: function() { - return 2 - clean; - } - }; - } - function d3_geo_clipAntimeridianIntersect(λ0, φ0, λ1, φ1) { - var cosφ0, cosφ1, sinλ0_λ1 = Math.sin(λ0 - λ1); - return abs(sinλ0_λ1) > ε ? Math.atan((Math.sin(φ0) * (cosφ1 = Math.cos(φ1)) * Math.sin(λ1) - Math.sin(φ1) * (cosφ0 = Math.cos(φ0)) * Math.sin(λ0)) / (cosφ0 * cosφ1 * sinλ0_λ1)) : (φ0 + φ1) / 2; - } - function d3_geo_clipAntimeridianInterpolate(from, to, direction, listener) { - var φ; - if (from == null) { - φ = direction * halfπ; - listener.point(-π, φ); - listener.point(0, φ); - listener.point(π, φ); - listener.point(π, 0); - listener.point(π, -φ); - listener.point(0, -φ); - listener.point(-π, -φ); - listener.point(-π, 0); - listener.point(-π, φ); - } else if (abs(from[0] - to[0]) > ε) { - var s = from[0] < to[0] ? π : -π; - φ = direction * s / 2; - listener.point(-s, φ); - listener.point(0, φ); - listener.point(s, φ); - } else { - listener.point(to[0], to[1]); - } - } - function d3_geo_pointInPolygon(point, polygon) { - var meridian = point[0], parallel = point[1], meridianNormal = [ Math.sin(meridian), -Math.cos(meridian), 0 ], polarAngle = 0, winding = 0; - d3_geo_areaRingSum.reset(); - for (var i = 0, n = polygon.length; i < n; ++i) { - var ring = polygon[i], m = ring.length; - if (!m) continue; - var point0 = ring[0], λ0 = point0[0], φ0 = point0[1] / 2 + π / 4, sinφ0 = Math.sin(φ0), cosφ0 = Math.cos(φ0), j = 1; - while (true) { - if (j === m) j = 0; - point = ring[j]; - var λ = point[0], φ = point[1] / 2 + π / 4, sinφ = Math.sin(φ), cosφ = Math.cos(φ), dλ = λ - λ0, sdλ = dλ >= 0 ? 1 : -1, adλ = sdλ * dλ, antimeridian = adλ > π, k = sinφ0 * sinφ; - d3_geo_areaRingSum.add(Math.atan2(k * sdλ * Math.sin(adλ), cosφ0 * cosφ + k * Math.cos(adλ))); - polarAngle += antimeridian ? dλ + sdλ * τ : dλ; - if (antimeridian ^ λ0 >= meridian ^ λ >= meridian) { - var arc = d3_geo_cartesianCross(d3_geo_cartesian(point0), d3_geo_cartesian(point)); - d3_geo_cartesianNormalize(arc); - var intersection = d3_geo_cartesianCross(meridianNormal, arc); - d3_geo_cartesianNormalize(intersection); - var φarc = (antimeridian ^ dλ >= 0 ? -1 : 1) * d3_asin(intersection[2]); - if (parallel > φarc || parallel === φarc && (arc[0] || arc[1])) { - winding += antimeridian ^ dλ >= 0 ? 1 : -1; - } - } - if (!j++) break; - λ0 = λ, sinφ0 = sinφ, cosφ0 = cosφ, point0 = point; - } - } - return (polarAngle < -ε || polarAngle < ε && d3_geo_areaRingSum < 0) ^ winding & 1; - } - function d3_geo_clipCircle(radius) { - var cr = Math.cos(radius), smallRadius = cr > 0, notHemisphere = abs(cr) > ε, interpolate = d3_geo_circleInterpolate(radius, 6 * d3_radians); - return d3_geo_clip(visible, clipLine, interpolate, smallRadius ? [ 0, -radius ] : [ -π, radius - π ]); - function visible(λ, φ) { - return Math.cos(λ) * Math.cos(φ) > cr; - } - function clipLine(listener) { - var point0, c0, v0, v00, clean; - return { - lineStart: function() { - v00 = v0 = false; - clean = 1; - }, - point: function(λ, φ) { - var point1 = [ λ, φ ], point2, v = visible(λ, φ), c = smallRadius ? v ? 0 : code(λ, φ) : v ? code(λ + (λ < 0 ? π : -π), φ) : 0; - if (!point0 && (v00 = v0 = v)) listener.lineStart(); - if (v !== v0) { - point2 = intersect(point0, point1); - if (d3_geo_sphericalEqual(point0, point2) || d3_geo_sphericalEqual(point1, point2)) { - point1[0] += ε; - point1[1] += ε; - v = visible(point1[0], point1[1]); - } - } - if (v !== v0) { - clean = 0; - if (v) { - listener.lineStart(); - point2 = intersect(point1, point0); - listener.point(point2[0], point2[1]); - } else { - point2 = intersect(point0, point1); - listener.point(point2[0], point2[1]); - listener.lineEnd(); - } - point0 = point2; - } else if (notHemisphere && point0 && smallRadius ^ v) { - var t; - if (!(c & c0) && (t = intersect(point1, point0, true))) { - clean = 0; - if (smallRadius) { - listener.lineStart(); - listener.point(t[0][0], t[0][1]); - listener.point(t[1][0], t[1][1]); - listener.lineEnd(); - } else { - listener.point(t[1][0], t[1][1]); - listener.lineEnd(); - listener.lineStart(); - listener.point(t[0][0], t[0][1]); - } - } - } - if (v && (!point0 || !d3_geo_sphericalEqual(point0, point1))) { - listener.point(point1[0], point1[1]); - } - point0 = point1, v0 = v, c0 = c; - }, - lineEnd: function() { - if (v0) listener.lineEnd(); - point0 = null; - }, - clean: function() { - return clean | (v00 && v0) << 1; - } - }; - } - function intersect(a, b, two) { - var pa = d3_geo_cartesian(a), pb = d3_geo_cartesian(b); - var n1 = [ 1, 0, 0 ], n2 = d3_geo_cartesianCross(pa, pb), n2n2 = d3_geo_cartesianDot(n2, n2), n1n2 = n2[0], determinant = n2n2 - n1n2 * n1n2; - if (!determinant) return !two && a; - var c1 = cr * n2n2 / determinant, c2 = -cr * n1n2 / determinant, n1xn2 = d3_geo_cartesianCross(n1, n2), A = d3_geo_cartesianScale(n1, c1), B = d3_geo_cartesianScale(n2, c2); - d3_geo_cartesianAdd(A, B); - var u = n1xn2, w = d3_geo_cartesianDot(A, u), uu = d3_geo_cartesianDot(u, u), t2 = w * w - uu * (d3_geo_cartesianDot(A, A) - 1); - if (t2 < 0) return; - var t = Math.sqrt(t2), q = d3_geo_cartesianScale(u, (-w - t) / uu); - d3_geo_cartesianAdd(q, A); - q = d3_geo_spherical(q); - if (!two) return q; - var λ0 = a[0], λ1 = b[0], φ0 = a[1], φ1 = b[1], z; - if (λ1 < λ0) z = λ0, λ0 = λ1, λ1 = z; - var δλ = λ1 - λ0, polar = abs(δλ - π) < ε, meridian = polar || δλ < ε; - if (!polar && φ1 < φ0) z = φ0, φ0 = φ1, φ1 = z; - if (meridian ? polar ? φ0 + φ1 > 0 ^ q[1] < (abs(q[0] - λ0) < ε ? φ0 : φ1) : φ0 <= q[1] && q[1] <= φ1 : δλ > π ^ (λ0 <= q[0] && q[0] <= λ1)) { - var q1 = d3_geo_cartesianScale(u, (-w + t) / uu); - d3_geo_cartesianAdd(q1, A); - return [ q, d3_geo_spherical(q1) ]; - } - } - function code(λ, φ) { - var r = smallRadius ? radius : π - radius, code = 0; - if (λ < -r) code |= 1; else if (λ > r) code |= 2; - if (φ < -r) code |= 4; else if (φ > r) code |= 8; - return code; - } - } - function d3_geom_clipLine(x0, y0, x1, y1) { - return function(line) { - var a = line.a, b = line.b, ax = a.x, ay = a.y, bx = b.x, by = b.y, t0 = 0, t1 = 1, dx = bx - ax, dy = by - ay, r; - r = x0 - ax; - if (!dx && r > 0) return; - r /= dx; - if (dx < 0) { - if (r < t0) return; - if (r < t1) t1 = r; - } else if (dx > 0) { - if (r > t1) return; - if (r > t0) t0 = r; - } - r = x1 - ax; - if (!dx && r < 0) return; - r /= dx; - if (dx < 0) { - if (r > t1) return; - if (r > t0) t0 = r; - } else if (dx > 0) { - if (r < t0) return; - if (r < t1) t1 = r; - } - r = y0 - ay; - if (!dy && r > 0) return; - r /= dy; - if (dy < 0) { - if (r < t0) return; - if (r < t1) t1 = r; - } else if (dy > 0) { - if (r > t1) return; - if (r > t0) t0 = r; - } - r = y1 - ay; - if (!dy && r < 0) return; - r /= dy; - if (dy < 0) { - if (r > t1) return; - if (r > t0) t0 = r; - } else if (dy > 0) { - if (r < t0) return; - if (r < t1) t1 = r; - } - if (t0 > 0) line.a = { - x: ax + t0 * dx, - y: ay + t0 * dy - }; - if (t1 < 1) line.b = { - x: ax + t1 * dx, - y: ay + t1 * dy - }; - return line; - }; - } - var d3_geo_clipExtentMAX = 1e9; - d3.geo.clipExtent = function() { - var x0, y0, x1, y1, stream, clip, clipExtent = { - stream: function(output) { - if (stream) stream.valid = false; - stream = clip(output); - stream.valid = true; - return stream; - }, - extent: function(_) { - if (!arguments.length) return [ [ x0, y0 ], [ x1, y1 ] ]; - clip = d3_geo_clipExtent(x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1]); - if (stream) stream.valid = false, stream = null; - return clipExtent; - } - }; - return clipExtent.extent([ [ 0, 0 ], [ 960, 500 ] ]); - }; - function d3_geo_clipExtent(x0, y0, x1, y1) { - return function(listener) { - var listener_ = listener, bufferListener = d3_geo_clipBufferListener(), clipLine = d3_geom_clipLine(x0, y0, x1, y1), segments, polygon, ring; - var clip = { - point: point, - lineStart: lineStart, - lineEnd: lineEnd, - polygonStart: function() { - listener = bufferListener; - segments = []; - polygon = []; - clean = true; - }, - polygonEnd: function() { - listener = listener_; - segments = d3.merge(segments); - var clipStartInside = insidePolygon([ x0, y1 ]), inside = clean && clipStartInside, visible = segments.length; - if (inside || visible) { - listener.polygonStart(); - if (inside) { - listener.lineStart(); - interpolate(null, null, 1, listener); - listener.lineEnd(); - } - if (visible) { - d3_geo_clipPolygon(segments, compare, clipStartInside, interpolate, listener); - } - listener.polygonEnd(); - } - segments = polygon = ring = null; - } - }; - function insidePolygon(p) { - var wn = 0, n = polygon.length, y = p[1]; - for (var i = 0; i < n; ++i) { - for (var j = 1, v = polygon[i], m = v.length, a = v[0], b; j < m; ++j) { - b = v[j]; - if (a[1] <= y) { - if (b[1] > y && d3_cross2d(a, b, p) > 0) ++wn; - } else { - if (b[1] <= y && d3_cross2d(a, b, p) < 0) --wn; - } - a = b; - } - } - return wn !== 0; - } - function interpolate(from, to, direction, listener) { - var a = 0, a1 = 0; - if (from == null || (a = corner(from, direction)) !== (a1 = corner(to, direction)) || comparePoints(from, to) < 0 ^ direction > 0) { - do { - listener.point(a === 0 || a === 3 ? x0 : x1, a > 1 ? y1 : y0); - } while ((a = (a + direction + 4) % 4) !== a1); - } else { - listener.point(to[0], to[1]); - } - } - function pointVisible(x, y) { - return x0 <= x && x <= x1 && y0 <= y && y <= y1; - } - function point(x, y) { - if (pointVisible(x, y)) listener.point(x, y); - } - var x__, y__, v__, x_, y_, v_, first, clean; - function lineStart() { - clip.point = linePoint; - if (polygon) polygon.push(ring = []); - first = true; - v_ = false; - x_ = y_ = NaN; - } - function lineEnd() { - if (segments) { - linePoint(x__, y__); - if (v__ && v_) bufferListener.rejoin(); - segments.push(bufferListener.buffer()); - } - clip.point = point; - if (v_) listener.lineEnd(); - } - function linePoint(x, y) { - x = Math.max(-d3_geo_clipExtentMAX, Math.min(d3_geo_clipExtentMAX, x)); - y = Math.max(-d3_geo_clipExtentMAX, Math.min(d3_geo_clipExtentMAX, y)); - var v = pointVisible(x, y); - if (polygon) ring.push([ x, y ]); - if (first) { - x__ = x, y__ = y, v__ = v; - first = false; - if (v) { - listener.lineStart(); - listener.point(x, y); - } - } else { - if (v && v_) listener.point(x, y); else { - var l = { - a: { - x: x_, - y: y_ - }, - b: { - x: x, - y: y - } - }; - if (clipLine(l)) { - if (!v_) { - listener.lineStart(); - listener.point(l.a.x, l.a.y); - } - listener.point(l.b.x, l.b.y); - if (!v) listener.lineEnd(); - clean = false; - } else if (v) { - listener.lineStart(); - listener.point(x, y); - clean = false; - } - } - } - x_ = x, y_ = y, v_ = v; - } - return clip; - }; - function corner(p, direction) { - return abs(p[0] - x0) < ε ? direction > 0 ? 0 : 3 : abs(p[0] - x1) < ε ? direction > 0 ? 2 : 1 : abs(p[1] - y0) < ε ? direction > 0 ? 1 : 0 : direction > 0 ? 3 : 2; - } - function compare(a, b) { - return comparePoints(a.x, b.x); - } - function comparePoints(a, b) { - var ca = corner(a, 1), cb = corner(b, 1); - return ca !== cb ? ca - cb : ca === 0 ? b[1] - a[1] : ca === 1 ? a[0] - b[0] : ca === 2 ? a[1] - b[1] : b[0] - a[0]; - } - } - function d3_geo_conic(projectAt) { - var φ0 = 0, φ1 = π / 3, m = d3_geo_projectionMutator(projectAt), p = m(φ0, φ1); - p.parallels = function(_) { - if (!arguments.length) return [ φ0 / π * 180, φ1 / π * 180 ]; - return m(φ0 = _[0] * π / 180, φ1 = _[1] * π / 180); - }; - return p; - } - function d3_geo_conicEqualArea(φ0, φ1) { - var sinφ0 = Math.sin(φ0), n = (sinφ0 + Math.sin(φ1)) / 2, C = 1 + sinφ0 * (2 * n - sinφ0), ρ0 = Math.sqrt(C) / n; - function forward(λ, φ) { - var ρ = Math.sqrt(C - 2 * n * Math.sin(φ)) / n; - return [ ρ * Math.sin(λ *= n), ρ0 - ρ * Math.cos(λ) ]; - } - forward.invert = function(x, y) { - var ρ0_y = ρ0 - y; - return [ Math.atan2(x, ρ0_y) / n, d3_asin((C - (x * x + ρ0_y * ρ0_y) * n * n) / (2 * n)) ]; - }; - return forward; - } - (d3.geo.conicEqualArea = function() { - return d3_geo_conic(d3_geo_conicEqualArea); - }).raw = d3_geo_conicEqualArea; - d3.geo.albers = function() { - return d3.geo.conicEqualArea().rotate([ 96, 0 ]).center([ -.6, 38.7 ]).parallels([ 29.5, 45.5 ]).scale(1070); - }; - d3.geo.albersUsa = function() { - var lower48 = d3.geo.albers(); - var alaska = d3.geo.conicEqualArea().rotate([ 154, 0 ]).center([ -2, 58.5 ]).parallels([ 55, 65 ]); - var hawaii = d3.geo.conicEqualArea().rotate([ 157, 0 ]).center([ -3, 19.9 ]).parallels([ 8, 18 ]); - var point, pointStream = { - point: function(x, y) { - point = [ x, y ]; - } - }, lower48Point, alaskaPoint, hawaiiPoint; - function albersUsa(coordinates) { - var x = coordinates[0], y = coordinates[1]; - point = null; - (lower48Point(x, y), point) || (alaskaPoint(x, y), point) || hawaiiPoint(x, y); - return point; - } - albersUsa.invert = function(coordinates) { - var k = lower48.scale(), t = lower48.translate(), x = (coordinates[0] - t[0]) / k, y = (coordinates[1] - t[1]) / k; - return (y >= .12 && y < .234 && x >= -.425 && x < -.214 ? alaska : y >= .166 && y < .234 && x >= -.214 && x < -.115 ? hawaii : lower48).invert(coordinates); - }; - albersUsa.stream = function(stream) { - var lower48Stream = lower48.stream(stream), alaskaStream = alaska.stream(stream), hawaiiStream = hawaii.stream(stream); - return { - point: function(x, y) { - lower48Stream.point(x, y); - alaskaStream.point(x, y); - hawaiiStream.point(x, y); - }, - sphere: function() { - lower48Stream.sphere(); - alaskaStream.sphere(); - hawaiiStream.sphere(); - }, - lineStart: function() { - lower48Stream.lineStart(); - alaskaStream.lineStart(); - hawaiiStream.lineStart(); - }, - lineEnd: function() { - lower48Stream.lineEnd(); - alaskaStream.lineEnd(); - hawaiiStream.lineEnd(); - }, - polygonStart: function() { - lower48Stream.polygonStart(); - alaskaStream.polygonStart(); - hawaiiStream.polygonStart(); - }, - polygonEnd: function() { - lower48Stream.polygonEnd(); - alaskaStream.polygonEnd(); - hawaiiStream.polygonEnd(); - } - }; - }; - albersUsa.precision = function(_) { - if (!arguments.length) return lower48.precision(); - lower48.precision(_); - alaska.precision(_); - hawaii.precision(_); - return albersUsa; - }; - albersUsa.scale = function(_) { - if (!arguments.length) return lower48.scale(); - lower48.scale(_); - alaska.scale(_ * .35); - hawaii.scale(_); - return albersUsa.translate(lower48.translate()); - }; - albersUsa.translate = function(_) { - if (!arguments.length) return lower48.translate(); - var k = lower48.scale(), x = +_[0], y = +_[1]; - lower48Point = lower48.translate(_).clipExtent([ [ x - .455 * k, y - .238 * k ], [ x + .455 * k, y + .238 * k ] ]).stream(pointStream).point; - alaskaPoint = alaska.translate([ x - .307 * k, y + .201 * k ]).clipExtent([ [ x - .425 * k + ε, y + .12 * k + ε ], [ x - .214 * k - ε, y + .234 * k - ε ] ]).stream(pointStream).point; - hawaiiPoint = hawaii.translate([ x - .205 * k, y + .212 * k ]).clipExtent([ [ x - .214 * k + ε, y + .166 * k + ε ], [ x - .115 * k - ε, y + .234 * k - ε ] ]).stream(pointStream).point; - return albersUsa; - }; - return albersUsa.scale(1070); - }; - var d3_geo_pathAreaSum, d3_geo_pathAreaPolygon, d3_geo_pathArea = { - point: d3_noop, - lineStart: d3_noop, - lineEnd: d3_noop, - polygonStart: function() { - d3_geo_pathAreaPolygon = 0; - d3_geo_pathArea.lineStart = d3_geo_pathAreaRingStart; - }, - polygonEnd: function() { - d3_geo_pathArea.lineStart = d3_geo_pathArea.lineEnd = d3_geo_pathArea.point = d3_noop; - d3_geo_pathAreaSum += abs(d3_geo_pathAreaPolygon / 2); - } - }; - function d3_geo_pathAreaRingStart() { - var x00, y00, x0, y0; - d3_geo_pathArea.point = function(x, y) { - d3_geo_pathArea.point = nextPoint; - x00 = x0 = x, y00 = y0 = y; - }; - function nextPoint(x, y) { - d3_geo_pathAreaPolygon += y0 * x - x0 * y; - x0 = x, y0 = y; - } - d3_geo_pathArea.lineEnd = function() { - nextPoint(x00, y00); - }; - } - var d3_geo_pathBoundsX0, d3_geo_pathBoundsY0, d3_geo_pathBoundsX1, d3_geo_pathBoundsY1; - var d3_geo_pathBounds = { - point: d3_geo_pathBoundsPoint, - lineStart: d3_noop, - lineEnd: d3_noop, - polygonStart: d3_noop, - polygonEnd: d3_noop - }; - function d3_geo_pathBoundsPoint(x, y) { - if (x < d3_geo_pathBoundsX0) d3_geo_pathBoundsX0 = x; - if (x > d3_geo_pathBoundsX1) d3_geo_pathBoundsX1 = x; - if (y < d3_geo_pathBoundsY0) d3_geo_pathBoundsY0 = y; - if (y > d3_geo_pathBoundsY1) d3_geo_pathBoundsY1 = y; - } - function d3_geo_pathBuffer() { - var pointCircle = d3_geo_pathBufferCircle(4.5), buffer = []; - var stream = { - point: point, - lineStart: function() { - stream.point = pointLineStart; - }, - lineEnd: lineEnd, - polygonStart: function() { - stream.lineEnd = lineEndPolygon; - }, - polygonEnd: function() { - stream.lineEnd = lineEnd; - stream.point = point; - }, - pointRadius: function(_) { - pointCircle = d3_geo_pathBufferCircle(_); - return stream; - }, - result: function() { - if (buffer.length) { - var result = buffer.join(""); - buffer = []; - return result; - } - } - }; - function point(x, y) { - buffer.push("M", x, ",", y, pointCircle); - } - function pointLineStart(x, y) { - buffer.push("M", x, ",", y); - stream.point = pointLine; - } - function pointLine(x, y) { - buffer.push("L", x, ",", y); - } - function lineEnd() { - stream.point = point; - } - function lineEndPolygon() { - buffer.push("Z"); - } - return stream; - } - function d3_geo_pathBufferCircle(radius) { - return "m0," + radius + "a" + radius + "," + radius + " 0 1,1 0," + -2 * radius + "a" + radius + "," + radius + " 0 1,1 0," + 2 * radius + "z"; - } - var d3_geo_pathCentroid = { - point: d3_geo_pathCentroidPoint, - lineStart: d3_geo_pathCentroidLineStart, - lineEnd: d3_geo_pathCentroidLineEnd, - polygonStart: function() { - d3_geo_pathCentroid.lineStart = d3_geo_pathCentroidRingStart; - }, - polygonEnd: function() { - d3_geo_pathCentroid.point = d3_geo_pathCentroidPoint; - d3_geo_pathCentroid.lineStart = d3_geo_pathCentroidLineStart; - d3_geo_pathCentroid.lineEnd = d3_geo_pathCentroidLineEnd; - } - }; - function d3_geo_pathCentroidPoint(x, y) { - d3_geo_centroidX0 += x; - d3_geo_centroidY0 += y; - ++d3_geo_centroidZ0; - } - function d3_geo_pathCentroidLineStart() { - var x0, y0; - d3_geo_pathCentroid.point = function(x, y) { - d3_geo_pathCentroid.point = nextPoint; - d3_geo_pathCentroidPoint(x0 = x, y0 = y); - }; - function nextPoint(x, y) { - var dx = x - x0, dy = y - y0, z = Math.sqrt(dx * dx + dy * dy); - d3_geo_centroidX1 += z * (x0 + x) / 2; - d3_geo_centroidY1 += z * (y0 + y) / 2; - d3_geo_centroidZ1 += z; - d3_geo_pathCentroidPoint(x0 = x, y0 = y); - } - } - function d3_geo_pathCentroidLineEnd() { - d3_geo_pathCentroid.point = d3_geo_pathCentroidPoint; - } - function d3_geo_pathCentroidRingStart() { - var x00, y00, x0, y0; - d3_geo_pathCentroid.point = function(x, y) { - d3_geo_pathCentroid.point = nextPoint; - d3_geo_pathCentroidPoint(x00 = x0 = x, y00 = y0 = y); - }; - function nextPoint(x, y) { - var dx = x - x0, dy = y - y0, z = Math.sqrt(dx * dx + dy * dy); - d3_geo_centroidX1 += z * (x0 + x) / 2; - d3_geo_centroidY1 += z * (y0 + y) / 2; - d3_geo_centroidZ1 += z; - z = y0 * x - x0 * y; - d3_geo_centroidX2 += z * (x0 + x); - d3_geo_centroidY2 += z * (y0 + y); - d3_geo_centroidZ2 += z * 3; - d3_geo_pathCentroidPoint(x0 = x, y0 = y); - } - d3_geo_pathCentroid.lineEnd = function() { - nextPoint(x00, y00); - }; - } - function d3_geo_pathContext(context) { - var pointRadius = 4.5; - var stream = { - point: point, - lineStart: function() { - stream.point = pointLineStart; - }, - lineEnd: lineEnd, - polygonStart: function() { - stream.lineEnd = lineEndPolygon; - }, - polygonEnd: function() { - stream.lineEnd = lineEnd; - stream.point = point; - }, - pointRadius: function(_) { - pointRadius = _; - return stream; - }, - result: d3_noop - }; - function point(x, y) { - context.moveTo(x + pointRadius, y); - context.arc(x, y, pointRadius, 0, τ); - } - function pointLineStart(x, y) { - context.moveTo(x, y); - stream.point = pointLine; - } - function pointLine(x, y) { - context.lineTo(x, y); - } - function lineEnd() { - stream.point = point; - } - function lineEndPolygon() { - context.closePath(); - } - return stream; - } - function d3_geo_resample(project) { - var δ2 = .5, cosMinDistance = Math.cos(30 * d3_radians), maxDepth = 16; - function resample(stream) { - return (maxDepth ? resampleRecursive : resampleNone)(stream); - } - function resampleNone(stream) { - return d3_geo_transformPoint(stream, function(x, y) { - x = project(x, y); - stream.point(x[0], x[1]); - }); - } - function resampleRecursive(stream) { - var λ00, φ00, x00, y00, a00, b00, c00, λ0, x0, y0, a0, b0, c0; - var resample = { - point: point, - lineStart: lineStart, - lineEnd: lineEnd, - polygonStart: function() { - stream.polygonStart(); - resample.lineStart = ringStart; - }, - polygonEnd: function() { - stream.polygonEnd(); - resample.lineStart = lineStart; - } - }; - function point(x, y) { - x = project(x, y); - stream.point(x[0], x[1]); - } - function lineStart() { - x0 = NaN; - resample.point = linePoint; - stream.lineStart(); - } - function linePoint(λ, φ) { - var c = d3_geo_cartesian([ λ, φ ]), p = project(λ, φ); - resampleLineTo(x0, y0, λ0, a0, b0, c0, x0 = p[0], y0 = p[1], λ0 = λ, a0 = c[0], b0 = c[1], c0 = c[2], maxDepth, stream); - stream.point(x0, y0); - } - function lineEnd() { - resample.point = point; - stream.lineEnd(); - } - function ringStart() { - lineStart(); - resample.point = ringPoint; - resample.lineEnd = ringEnd; - } - function ringPoint(λ, φ) { - linePoint(λ00 = λ, φ00 = φ), x00 = x0, y00 = y0, a00 = a0, b00 = b0, c00 = c0; - resample.point = linePoint; - } - function ringEnd() { - resampleLineTo(x0, y0, λ0, a0, b0, c0, x00, y00, λ00, a00, b00, c00, maxDepth, stream); - resample.lineEnd = lineEnd; - lineEnd(); - } - return resample; - } - function resampleLineTo(x0, y0, λ0, a0, b0, c0, x1, y1, λ1, a1, b1, c1, depth, stream) { - var dx = x1 - x0, dy = y1 - y0, d2 = dx * dx + dy * dy; - if (d2 > 4 * δ2 && depth--) { - var a = a0 + a1, b = b0 + b1, c = c0 + c1, m = Math.sqrt(a * a + b * b + c * c), φ2 = Math.asin(c /= m), λ2 = abs(abs(c) - 1) < ε || abs(λ0 - λ1) < ε ? (λ0 + λ1) / 2 : Math.atan2(b, a), p = project(λ2, φ2), x2 = p[0], y2 = p[1], dx2 = x2 - x0, dy2 = y2 - y0, dz = dy * dx2 - dx * dy2; - if (dz * dz / d2 > δ2 || abs((dx * dx2 + dy * dy2) / d2 - .5) > .3 || a0 * a1 + b0 * b1 + c0 * c1 < cosMinDistance) { - resampleLineTo(x0, y0, λ0, a0, b0, c0, x2, y2, λ2, a /= m, b /= m, c, depth, stream); - stream.point(x2, y2); - resampleLineTo(x2, y2, λ2, a, b, c, x1, y1, λ1, a1, b1, c1, depth, stream); - } - } - } - resample.precision = function(_) { - if (!arguments.length) return Math.sqrt(δ2); - maxDepth = (δ2 = _ * _) > 0 && 16; - return resample; - }; - return resample; - } - d3.geo.path = function() { - var pointRadius = 4.5, projection, context, projectStream, contextStream, cacheStream; - function path(object) { - if (object) { - if (typeof pointRadius === "function") contextStream.pointRadius(+pointRadius.apply(this, arguments)); - if (!cacheStream || !cacheStream.valid) cacheStream = projectStream(contextStream); - d3.geo.stream(object, cacheStream); - } - return contextStream.result(); - } - path.area = function(object) { - d3_geo_pathAreaSum = 0; - d3.geo.stream(object, projectStream(d3_geo_pathArea)); - return d3_geo_pathAreaSum; - }; - path.centroid = function(object) { - d3_geo_centroidX0 = d3_geo_centroidY0 = d3_geo_centroidZ0 = d3_geo_centroidX1 = d3_geo_centroidY1 = d3_geo_centroidZ1 = d3_geo_centroidX2 = d3_geo_centroidY2 = d3_geo_centroidZ2 = 0; - d3.geo.stream(object, projectStream(d3_geo_pathCentroid)); - return d3_geo_centroidZ2 ? [ d3_geo_centroidX2 / d3_geo_centroidZ2, d3_geo_centroidY2 / d3_geo_centroidZ2 ] : d3_geo_centroidZ1 ? [ d3_geo_centroidX1 / d3_geo_centroidZ1, d3_geo_centroidY1 / d3_geo_centroidZ1 ] : d3_geo_centroidZ0 ? [ d3_geo_centroidX0 / d3_geo_centroidZ0, d3_geo_centroidY0 / d3_geo_centroidZ0 ] : [ NaN, NaN ]; - }; - path.bounds = function(object) { - d3_geo_pathBoundsX1 = d3_geo_pathBoundsY1 = -(d3_geo_pathBoundsX0 = d3_geo_pathBoundsY0 = Infinity); - d3.geo.stream(object, projectStream(d3_geo_pathBounds)); - return [ [ d3_geo_pathBoundsX0, d3_geo_pathBoundsY0 ], [ d3_geo_pathBoundsX1, d3_geo_pathBoundsY1 ] ]; - }; - path.projection = function(_) { - if (!arguments.length) return projection; - projectStream = (projection = _) ? _.stream || d3_geo_pathProjectStream(_) : d3_identity; - return reset(); - }; - path.context = function(_) { - if (!arguments.length) return context; - contextStream = (context = _) == null ? new d3_geo_pathBuffer() : new d3_geo_pathContext(_); - if (typeof pointRadius !== "function") contextStream.pointRadius(pointRadius); - return reset(); - }; - path.pointRadius = function(_) { - if (!arguments.length) return pointRadius; - pointRadius = typeof _ === "function" ? _ : (contextStream.pointRadius(+_), +_); - return path; - }; - function reset() { - cacheStream = null; - return path; - } - return path.projection(d3.geo.albersUsa()).context(null); - }; - function d3_geo_pathProjectStream(project) { - var resample = d3_geo_resample(function(x, y) { - return project([ x * d3_degrees, y * d3_degrees ]); - }); - return function(stream) { - return d3_geo_projectionRadians(resample(stream)); - }; - } - d3.geo.transform = function(methods) { - return { - stream: function(stream) { - var transform = new d3_geo_transform(stream); - for (var k in methods) transform[k] = methods[k]; - return transform; - } - }; - }; - function d3_geo_transform(stream) { - this.stream = stream; - } - d3_geo_transform.prototype = { - point: function(x, y) { - this.stream.point(x, y); - }, - sphere: function() { - this.stream.sphere(); - }, - lineStart: function() { - this.stream.lineStart(); - }, - lineEnd: function() { - this.stream.lineEnd(); - }, - polygonStart: function() { - this.stream.polygonStart(); - }, - polygonEnd: function() { - this.stream.polygonEnd(); - } - }; - function d3_geo_transformPoint(stream, point) { - return { - point: point, - sphere: function() { - stream.sphere(); - }, - lineStart: function() { - stream.lineStart(); - }, - lineEnd: function() { - stream.lineEnd(); - }, - polygonStart: function() { - stream.polygonStart(); - }, - polygonEnd: function() { - stream.polygonEnd(); - } - }; - } - d3.geo.projection = d3_geo_projection; - d3.geo.projectionMutator = d3_geo_projectionMutator; - function d3_geo_projection(project) { - return d3_geo_projectionMutator(function() { - return project; - })(); - } - function d3_geo_projectionMutator(projectAt) { - var project, rotate, projectRotate, projectResample = d3_geo_resample(function(x, y) { - x = project(x, y); - return [ x[0] * k + δx, δy - x[1] * k ]; - }), k = 150, x = 480, y = 250, λ = 0, φ = 0, δλ = 0, δφ = 0, δγ = 0, δx, δy, preclip = d3_geo_clipAntimeridian, postclip = d3_identity, clipAngle = null, clipExtent = null, stream; - function projection(point) { - point = projectRotate(point[0] * d3_radians, point[1] * d3_radians); - return [ point[0] * k + δx, δy - point[1] * k ]; - } - function invert(point) { - point = projectRotate.invert((point[0] - δx) / k, (δy - point[1]) / k); - return point && [ point[0] * d3_degrees, point[1] * d3_degrees ]; - } - projection.stream = function(output) { - if (stream) stream.valid = false; - stream = d3_geo_projectionRadians(preclip(rotate, projectResample(postclip(output)))); - stream.valid = true; - return stream; - }; - projection.clipAngle = function(_) { - if (!arguments.length) return clipAngle; - preclip = _ == null ? (clipAngle = _, d3_geo_clipAntimeridian) : d3_geo_clipCircle((clipAngle = +_) * d3_radians); - return invalidate(); - }; - projection.clipExtent = function(_) { - if (!arguments.length) return clipExtent; - clipExtent = _; - postclip = _ ? d3_geo_clipExtent(_[0][0], _[0][1], _[1][0], _[1][1]) : d3_identity; - return invalidate(); - }; - projection.scale = function(_) { - if (!arguments.length) return k; - k = +_; - return reset(); - }; - projection.translate = function(_) { - if (!arguments.length) return [ x, y ]; - x = +_[0]; - y = +_[1]; - return reset(); - }; - projection.center = function(_) { - if (!arguments.length) return [ λ * d3_degrees, φ * d3_degrees ]; - λ = _[0] % 360 * d3_radians; - φ = _[1] % 360 * d3_radians; - return reset(); - }; - projection.rotate = function(_) { - if (!arguments.length) return [ δλ * d3_degrees, δφ * d3_degrees, δγ * d3_degrees ]; - δλ = _[0] % 360 * d3_radians; - δφ = _[1] % 360 * d3_radians; - δγ = _.length > 2 ? _[2] % 360 * d3_radians : 0; - return reset(); - }; - d3.rebind(projection, projectResample, "precision"); - function reset() { - projectRotate = d3_geo_compose(rotate = d3_geo_rotation(δλ, δφ, δγ), project); - var center = project(λ, φ); - δx = x - center[0] * k; - δy = y + center[1] * k; - return invalidate(); - } - function invalidate() { - if (stream) stream.valid = false, stream = null; - return projection; - } - return function() { - project = projectAt.apply(this, arguments); - projection.invert = project.invert && invert; - return reset(); - }; - } - function d3_geo_projectionRadians(stream) { - return d3_geo_transformPoint(stream, function(x, y) { - stream.point(x * d3_radians, y * d3_radians); - }); - } - function d3_geo_equirectangular(λ, φ) { - return [ λ, φ ]; - } - (d3.geo.equirectangular = function() { - return d3_geo_projection(d3_geo_equirectangular); - }).raw = d3_geo_equirectangular.invert = d3_geo_equirectangular; - d3.geo.rotation = function(rotate) { - rotate = d3_geo_rotation(rotate[0] % 360 * d3_radians, rotate[1] * d3_radians, rotate.length > 2 ? rotate[2] * d3_radians : 0); - function forward(coordinates) { - coordinates = rotate(coordinates[0] * d3_radians, coordinates[1] * d3_radians); - return coordinates[0] *= d3_degrees, coordinates[1] *= d3_degrees, coordinates; - } - forward.invert = function(coordinates) { - coordinates = rotate.invert(coordinates[0] * d3_radians, coordinates[1] * d3_radians); - return coordinates[0] *= d3_degrees, coordinates[1] *= d3_degrees, coordinates; - }; - return forward; - }; - function d3_geo_identityRotation(λ, φ) { - return [ λ > π ? λ - τ : λ < -π ? λ + τ : λ, φ ]; - } - d3_geo_identityRotation.invert = d3_geo_equirectangular; - function d3_geo_rotation(δλ, δφ, δγ) { - return δλ ? δφ || δγ ? d3_geo_compose(d3_geo_rotationλ(δλ), d3_geo_rotationφγ(δφ, δγ)) : d3_geo_rotationλ(δλ) : δφ || δγ ? d3_geo_rotationφγ(δφ, δγ) : d3_geo_identityRotation; - } - function d3_geo_forwardRotationλ(δλ) { - return function(λ, φ) { - return λ += δλ, [ λ > π ? λ - τ : λ < -π ? λ + τ : λ, φ ]; - }; - } - function d3_geo_rotationλ(δλ) { - var rotation = d3_geo_forwardRotationλ(δλ); - rotation.invert = d3_geo_forwardRotationλ(-δλ); - return rotation; - } - function d3_geo_rotationφγ(δφ, δγ) { - var cosδφ = Math.cos(δφ), sinδφ = Math.sin(δφ), cosδγ = Math.cos(δγ), sinδγ = Math.sin(δγ); - function rotation(λ, φ) { - var cosφ = Math.cos(φ), x = Math.cos(λ) * cosφ, y = Math.sin(λ) * cosφ, z = Math.sin(φ), k = z * cosδφ + x * sinδφ; - return [ Math.atan2(y * cosδγ - k * sinδγ, x * cosδφ - z * sinδφ), d3_asin(k * cosδγ + y * sinδγ) ]; - } - rotation.invert = function(λ, φ) { - var cosφ = Math.cos(φ), x = Math.cos(λ) * cosφ, y = Math.sin(λ) * cosφ, z = Math.sin(φ), k = z * cosδγ - y * sinδγ; - return [ Math.atan2(y * cosδγ + z * sinδγ, x * cosδφ + k * sinδφ), d3_asin(k * cosδφ - x * sinδφ) ]; - }; - return rotation; - } - d3.geo.circle = function() { - var origin = [ 0, 0 ], angle, precision = 6, interpolate; - function circle() { - var center = typeof origin === "function" ? origin.apply(this, arguments) : origin, rotate = d3_geo_rotation(-center[0] * d3_radians, -center[1] * d3_radians, 0).invert, ring = []; - interpolate(null, null, 1, { - point: function(x, y) { - ring.push(x = rotate(x, y)); - x[0] *= d3_degrees, x[1] *= d3_degrees; - } - }); - return { - type: "Polygon", - coordinates: [ ring ] - }; - } - circle.origin = function(x) { - if (!arguments.length) return origin; - origin = x; - return circle; - }; - circle.angle = function(x) { - if (!arguments.length) return angle; - interpolate = d3_geo_circleInterpolate((angle = +x) * d3_radians, precision * d3_radians); - return circle; - }; - circle.precision = function(_) { - if (!arguments.length) return precision; - interpolate = d3_geo_circleInterpolate(angle * d3_radians, (precision = +_) * d3_radians); - return circle; - }; - return circle.angle(90); - }; - function d3_geo_circleInterpolate(radius, precision) { - var cr = Math.cos(radius), sr = Math.sin(radius); - return function(from, to, direction, listener) { - var step = direction * precision; - if (from != null) { - from = d3_geo_circleAngle(cr, from); - to = d3_geo_circleAngle(cr, to); - if (direction > 0 ? from < to : from > to) from += direction * τ; - } else { - from = radius + direction * τ; - to = radius - .5 * step; - } - for (var point, t = from; direction > 0 ? t > to : t < to; t -= step) { - listener.point((point = d3_geo_spherical([ cr, -sr * Math.cos(t), -sr * Math.sin(t) ]))[0], point[1]); - } - }; - } - function d3_geo_circleAngle(cr, point) { - var a = d3_geo_cartesian(point); - a[0] -= cr; - d3_geo_cartesianNormalize(a); - var angle = d3_acos(-a[1]); - return ((-a[2] < 0 ? -angle : angle) + 2 * Math.PI - ε) % (2 * Math.PI); - } - d3.geo.distance = function(a, b) { - var Δλ = (b[0] - a[0]) * d3_radians, φ0 = a[1] * d3_radians, φ1 = b[1] * d3_radians, sinΔλ = Math.sin(Δλ), cosΔλ = Math.cos(Δλ), sinφ0 = Math.sin(φ0), cosφ0 = Math.cos(φ0), sinφ1 = Math.sin(φ1), cosφ1 = Math.cos(φ1), t; - return Math.atan2(Math.sqrt((t = cosφ1 * sinΔλ) * t + (t = cosφ0 * sinφ1 - sinφ0 * cosφ1 * cosΔλ) * t), sinφ0 * sinφ1 + cosφ0 * cosφ1 * cosΔλ); - }; - d3.geo.graticule = function() { - var x1, x0, X1, X0, y1, y0, Y1, Y0, dx = 10, dy = dx, DX = 90, DY = 360, x, y, X, Y, precision = 2.5; - function graticule() { - return { - type: "MultiLineString", - coordinates: lines() - }; - } - function lines() { - return d3.range(Math.ceil(X0 / DX) * DX, X1, DX).map(X).concat(d3.range(Math.ceil(Y0 / DY) * DY, Y1, DY).map(Y)).concat(d3.range(Math.ceil(x0 / dx) * dx, x1, dx).filter(function(x) { - return abs(x % DX) > ε; - }).map(x)).concat(d3.range(Math.ceil(y0 / dy) * dy, y1, dy).filter(function(y) { - return abs(y % DY) > ε; - }).map(y)); - } - graticule.lines = function() { - return lines().map(function(coordinates) { - return { - type: "LineString", - coordinates: coordinates - }; - }); - }; - graticule.outline = function() { - return { - type: "Polygon", - coordinates: [ X(X0).concat(Y(Y1).slice(1), X(X1).reverse().slice(1), Y(Y0).reverse().slice(1)) ] - }; - }; - graticule.extent = function(_) { - if (!arguments.length) return graticule.minorExtent(); - return graticule.majorExtent(_).minorExtent(_); - }; - graticule.majorExtent = function(_) { - if (!arguments.length) return [ [ X0, Y0 ], [ X1, Y1 ] ]; - X0 = +_[0][0], X1 = +_[1][0]; - Y0 = +_[0][1], Y1 = +_[1][1]; - if (X0 > X1) _ = X0, X0 = X1, X1 = _; - if (Y0 > Y1) _ = Y0, Y0 = Y1, Y1 = _; - return graticule.precision(precision); - }; - graticule.minorExtent = function(_) { - if (!arguments.length) return [ [ x0, y0 ], [ x1, y1 ] ]; - x0 = +_[0][0], x1 = +_[1][0]; - y0 = +_[0][1], y1 = +_[1][1]; - if (x0 > x1) _ = x0, x0 = x1, x1 = _; - if (y0 > y1) _ = y0, y0 = y1, y1 = _; - return graticule.precision(precision); - }; - graticule.step = function(_) { - if (!arguments.length) return graticule.minorStep(); - return graticule.majorStep(_).minorStep(_); - }; - graticule.majorStep = function(_) { - if (!arguments.length) return [ DX, DY ]; - DX = +_[0], DY = +_[1]; - return graticule; - }; - graticule.minorStep = function(_) { - if (!arguments.length) return [ dx, dy ]; - dx = +_[0], dy = +_[1]; - return graticule; - }; - graticule.precision = function(_) { - if (!arguments.length) return precision; - precision = +_; - x = d3_geo_graticuleX(y0, y1, 90); - y = d3_geo_graticuleY(x0, x1, precision); - X = d3_geo_graticuleX(Y0, Y1, 90); - Y = d3_geo_graticuleY(X0, X1, precision); - return graticule; - }; - return graticule.majorExtent([ [ -180, -90 + ε ], [ 180, 90 - ε ] ]).minorExtent([ [ -180, -80 - ε ], [ 180, 80 + ε ] ]); - }; - function d3_geo_graticuleX(y0, y1, dy) { - var y = d3.range(y0, y1 - ε, dy).concat(y1); - return function(x) { - return y.map(function(y) { - return [ x, y ]; - }); - }; - } - function d3_geo_graticuleY(x0, x1, dx) { - var x = d3.range(x0, x1 - ε, dx).concat(x1); - return function(y) { - return x.map(function(x) { - return [ x, y ]; - }); - }; - } - function d3_source(d) { - return d.source; - } - function d3_target(d) { - return d.target; - } - d3.geo.greatArc = function() { - var source = d3_source, source_, target = d3_target, target_; - function greatArc() { - return { - type: "LineString", - coordinates: [ source_ || source.apply(this, arguments), target_ || target.apply(this, arguments) ] - }; - } - greatArc.distance = function() { - return d3.geo.distance(source_ || source.apply(this, arguments), target_ || target.apply(this, arguments)); - }; - greatArc.source = function(_) { - if (!arguments.length) return source; - source = _, source_ = typeof _ === "function" ? null : _; - return greatArc; - }; - greatArc.target = function(_) { - if (!arguments.length) return target; - target = _, target_ = typeof _ === "function" ? null : _; - return greatArc; - }; - greatArc.precision = function() { - return arguments.length ? greatArc : 0; - }; - return greatArc; - }; - d3.geo.interpolate = function(source, target) { - return d3_geo_interpolate(source[0] * d3_radians, source[1] * d3_radians, target[0] * d3_radians, target[1] * d3_radians); - }; - function d3_geo_interpolate(x0, y0, x1, y1) { - var cy0 = Math.cos(y0), sy0 = Math.sin(y0), cy1 = Math.cos(y1), sy1 = Math.sin(y1), kx0 = cy0 * Math.cos(x0), ky0 = cy0 * Math.sin(x0), kx1 = cy1 * Math.cos(x1), ky1 = cy1 * Math.sin(x1), d = 2 * Math.asin(Math.sqrt(d3_haversin(y1 - y0) + cy0 * cy1 * d3_haversin(x1 - x0))), k = 1 / Math.sin(d); - var interpolate = d ? function(t) { - var B = Math.sin(t *= d) * k, A = Math.sin(d - t) * k, x = A * kx0 + B * kx1, y = A * ky0 + B * ky1, z = A * sy0 + B * sy1; - return [ Math.atan2(y, x) * d3_degrees, Math.atan2(z, Math.sqrt(x * x + y * y)) * d3_degrees ]; - } : function() { - return [ x0 * d3_degrees, y0 * d3_degrees ]; - }; - interpolate.distance = d; - return interpolate; - } - d3.geo.length = function(object) { - d3_geo_lengthSum = 0; - d3.geo.stream(object, d3_geo_length); - return d3_geo_lengthSum; - }; - var d3_geo_lengthSum; - var d3_geo_length = { - sphere: d3_noop, - point: d3_noop, - lineStart: d3_geo_lengthLineStart, - lineEnd: d3_noop, - polygonStart: d3_noop, - polygonEnd: d3_noop - }; - function d3_geo_lengthLineStart() { - var λ0, sinφ0, cosφ0; - d3_geo_length.point = function(λ, φ) { - λ0 = λ * d3_radians, sinφ0 = Math.sin(φ *= d3_radians), cosφ0 = Math.cos(φ); - d3_geo_length.point = nextPoint; - }; - d3_geo_length.lineEnd = function() { - d3_geo_length.point = d3_geo_length.lineEnd = d3_noop; - }; - function nextPoint(λ, φ) { - var sinφ = Math.sin(φ *= d3_radians), cosφ = Math.cos(φ), t = abs((λ *= d3_radians) - λ0), cosΔλ = Math.cos(t); - d3_geo_lengthSum += Math.atan2(Math.sqrt((t = cosφ * Math.sin(t)) * t + (t = cosφ0 * sinφ - sinφ0 * cosφ * cosΔλ) * t), sinφ0 * sinφ + cosφ0 * cosφ * cosΔλ); - λ0 = λ, sinφ0 = sinφ, cosφ0 = cosφ; - } - } - function d3_geo_azimuthal(scale, angle) { - function azimuthal(λ, φ) { - var cosλ = Math.cos(λ), cosφ = Math.cos(φ), k = scale(cosλ * cosφ); - return [ k * cosφ * Math.sin(λ), k * Math.sin(φ) ]; - } - azimuthal.invert = function(x, y) { - var ρ = Math.sqrt(x * x + y * y), c = angle(ρ), sinc = Math.sin(c), cosc = Math.cos(c); - return [ Math.atan2(x * sinc, ρ * cosc), Math.asin(ρ && y * sinc / ρ) ]; - }; - return azimuthal; - } - var d3_geo_azimuthalEqualArea = d3_geo_azimuthal(function(cosλcosφ) { - return Math.sqrt(2 / (1 + cosλcosφ)); - }, function(ρ) { - return 2 * Math.asin(ρ / 2); - }); - (d3.geo.azimuthalEqualArea = function() { - return d3_geo_projection(d3_geo_azimuthalEqualArea); - }).raw = d3_geo_azimuthalEqualArea; - var d3_geo_azimuthalEquidistant = d3_geo_azimuthal(function(cosλcosφ) { - var c = Math.acos(cosλcosφ); - return c && c / Math.sin(c); - }, d3_identity); - (d3.geo.azimuthalEquidistant = function() { - return d3_geo_projection(d3_geo_azimuthalEquidistant); - }).raw = d3_geo_azimuthalEquidistant; - function d3_geo_conicConformal(φ0, φ1) { - var cosφ0 = Math.cos(φ0), t = function(φ) { - return Math.tan(π / 4 + φ / 2); - }, n = φ0 === φ1 ? Math.sin(φ0) : Math.log(cosφ0 / Math.cos(φ1)) / Math.log(t(φ1) / t(φ0)), F = cosφ0 * Math.pow(t(φ0), n) / n; - if (!n) return d3_geo_mercator; - function forward(λ, φ) { - if (F > 0) { - if (φ < -halfπ + ε) φ = -halfπ + ε; - } else { - if (φ > halfπ - ε) φ = halfπ - ε; - } - var ρ = F / Math.pow(t(φ), n); - return [ ρ * Math.sin(n * λ), F - ρ * Math.cos(n * λ) ]; - } - forward.invert = function(x, y) { - var ρ0_y = F - y, ρ = d3_sgn(n) * Math.sqrt(x * x + ρ0_y * ρ0_y); - return [ Math.atan2(x, ρ0_y) / n, 2 * Math.atan(Math.pow(F / ρ, 1 / n)) - halfπ ]; - }; - return forward; - } - (d3.geo.conicConformal = function() { - return d3_geo_conic(d3_geo_conicConformal); - }).raw = d3_geo_conicConformal; - function d3_geo_conicEquidistant(φ0, φ1) { - var cosφ0 = Math.cos(φ0), n = φ0 === φ1 ? Math.sin(φ0) : (cosφ0 - Math.cos(φ1)) / (φ1 - φ0), G = cosφ0 / n + φ0; - if (abs(n) < ε) return d3_geo_equirectangular; - function forward(λ, φ) { - var ρ = G - φ; - return [ ρ * Math.sin(n * λ), G - ρ * Math.cos(n * λ) ]; - } - forward.invert = function(x, y) { - var ρ0_y = G - y; - return [ Math.atan2(x, ρ0_y) / n, G - d3_sgn(n) * Math.sqrt(x * x + ρ0_y * ρ0_y) ]; - }; - return forward; - } - (d3.geo.conicEquidistant = function() { - return d3_geo_conic(d3_geo_conicEquidistant); - }).raw = d3_geo_conicEquidistant; - var d3_geo_gnomonic = d3_geo_azimuthal(function(cosλcosφ) { - return 1 / cosλcosφ; - }, Math.atan); - (d3.geo.gnomonic = function() { - return d3_geo_projection(d3_geo_gnomonic); - }).raw = d3_geo_gnomonic; - function d3_geo_mercator(λ, φ) { - return [ λ, Math.log(Math.tan(π / 4 + φ / 2)) ]; - } - d3_geo_mercator.invert = function(x, y) { - return [ x, 2 * Math.atan(Math.exp(y)) - halfπ ]; - }; - function d3_geo_mercatorProjection(project) { - var m = d3_geo_projection(project), scale = m.scale, translate = m.translate, clipExtent = m.clipExtent, clipAuto; - m.scale = function() { - var v = scale.apply(m, arguments); - return v === m ? clipAuto ? m.clipExtent(null) : m : v; - }; - m.translate = function() { - var v = translate.apply(m, arguments); - return v === m ? clipAuto ? m.clipExtent(null) : m : v; - }; - m.clipExtent = function(_) { - var v = clipExtent.apply(m, arguments); - if (v === m) { - if (clipAuto = _ == null) { - var k = π * scale(), t = translate(); - clipExtent([ [ t[0] - k, t[1] - k ], [ t[0] + k, t[1] + k ] ]); - } - } else if (clipAuto) { - v = null; - } - return v; - }; - return m.clipExtent(null); - } - (d3.geo.mercator = function() { - return d3_geo_mercatorProjection(d3_geo_mercator); - }).raw = d3_geo_mercator; - var d3_geo_orthographic = d3_geo_azimuthal(function() { - return 1; - }, Math.asin); - (d3.geo.orthographic = function() { - return d3_geo_projection(d3_geo_orthographic); - }).raw = d3_geo_orthographic; - var d3_geo_stereographic = d3_geo_azimuthal(function(cosλcosφ) { - return 1 / (1 + cosλcosφ); - }, function(ρ) { - return 2 * Math.atan(ρ); - }); - (d3.geo.stereographic = function() { - return d3_geo_projection(d3_geo_stereographic); - }).raw = d3_geo_stereographic; - function d3_geo_transverseMercator(λ, φ) { - return [ Math.log(Math.tan(π / 4 + φ / 2)), -λ ]; - } - d3_geo_transverseMercator.invert = function(x, y) { - return [ -y, 2 * Math.atan(Math.exp(x)) - halfπ ]; - }; - (d3.geo.transverseMercator = function() { - var projection = d3_geo_mercatorProjection(d3_geo_transverseMercator), center = projection.center, rotate = projection.rotate; - projection.center = function(_) { - return _ ? center([ -_[1], _[0] ]) : (_ = center(), [ _[1], -_[0] ]); - }; - projection.rotate = function(_) { - return _ ? rotate([ _[0], _[1], _.length > 2 ? _[2] + 90 : 90 ]) : (_ = rotate(), - [ _[0], _[1], _[2] - 90 ]); - }; - return rotate([ 0, 0, 90 ]); - }).raw = d3_geo_transverseMercator; - d3.geom = {}; - function d3_geom_pointX(d) { - return d[0]; - } - function d3_geom_pointY(d) { - return d[1]; - } - d3.geom.hull = function(vertices) { - var x = d3_geom_pointX, y = d3_geom_pointY; - if (arguments.length) return hull(vertices); - function hull(data) { - if (data.length < 3) return []; - var fx = d3_functor(x), fy = d3_functor(y), i, n = data.length, points = [], flippedPoints = []; - for (i = 0; i < n; i++) { - points.push([ +fx.call(this, data[i], i), +fy.call(this, data[i], i), i ]); - } - points.sort(d3_geom_hullOrder); - for (i = 0; i < n; i++) flippedPoints.push([ points[i][0], -points[i][1] ]); - var upper = d3_geom_hullUpper(points), lower = d3_geom_hullUpper(flippedPoints); - var skipLeft = lower[0] === upper[0], skipRight = lower[lower.length - 1] === upper[upper.length - 1], polygon = []; - for (i = upper.length - 1; i >= 0; --i) polygon.push(data[points[upper[i]][2]]); - for (i = +skipLeft; i < lower.length - skipRight; ++i) polygon.push(data[points[lower[i]][2]]); - return polygon; - } - hull.x = function(_) { - return arguments.length ? (x = _, hull) : x; - }; - hull.y = function(_) { - return arguments.length ? (y = _, hull) : y; - }; - return hull; - }; - function d3_geom_hullUpper(points) { - var n = points.length, hull = [ 0, 1 ], hs = 2; - for (var i = 2; i < n; i++) { - while (hs > 1 && d3_cross2d(points[hull[hs - 2]], points[hull[hs - 1]], points[i]) <= 0) --hs; - hull[hs++] = i; - } - return hull.slice(0, hs); - } - function d3_geom_hullOrder(a, b) { - return a[0] - b[0] || a[1] - b[1]; - } - d3.geom.polygon = function(coordinates) { - d3_subclass(coordinates, d3_geom_polygonPrototype); - return coordinates; - }; - var d3_geom_polygonPrototype = d3.geom.polygon.prototype = []; - d3_geom_polygonPrototype.area = function() { - var i = -1, n = this.length, a, b = this[n - 1], area = 0; - while (++i < n) { - a = b; - b = this[i]; - area += a[1] * b[0] - a[0] * b[1]; - } - return area * .5; - }; - d3_geom_polygonPrototype.centroid = function(k) { - var i = -1, n = this.length, x = 0, y = 0, a, b = this[n - 1], c; - if (!arguments.length) k = -1 / (6 * this.area()); - while (++i < n) { - a = b; - b = this[i]; - c = a[0] * b[1] - b[0] * a[1]; - x += (a[0] + b[0]) * c; - y += (a[1] + b[1]) * c; - } - return [ x * k, y * k ]; - }; - d3_geom_polygonPrototype.clip = function(subject) { - var input, closed = d3_geom_polygonClosed(subject), i = -1, n = this.length - d3_geom_polygonClosed(this), j, m, a = this[n - 1], b, c, d; - while (++i < n) { - input = subject.slice(); - subject.length = 0; - b = this[i]; - c = input[(m = input.length - closed) - 1]; - j = -1; - while (++j < m) { - d = input[j]; - if (d3_geom_polygonInside(d, a, b)) { - if (!d3_geom_polygonInside(c, a, b)) { - subject.push(d3_geom_polygonIntersect(c, d, a, b)); - } - subject.push(d); - } else if (d3_geom_polygonInside(c, a, b)) { - subject.push(d3_geom_polygonIntersect(c, d, a, b)); - } - c = d; - } - if (closed) subject.push(subject[0]); - a = b; - } - return subject; - }; - function d3_geom_polygonInside(p, a, b) { - return (b[0] - a[0]) * (p[1] - a[1]) < (b[1] - a[1]) * (p[0] - a[0]); - } - function d3_geom_polygonIntersect(c, d, a, b) { - var x1 = c[0], x3 = a[0], x21 = d[0] - x1, x43 = b[0] - x3, y1 = c[1], y3 = a[1], y21 = d[1] - y1, y43 = b[1] - y3, ua = (x43 * (y1 - y3) - y43 * (x1 - x3)) / (y43 * x21 - x43 * y21); - return [ x1 + ua * x21, y1 + ua * y21 ]; - } - function d3_geom_polygonClosed(coordinates) { - var a = coordinates[0], b = coordinates[coordinates.length - 1]; - return !(a[0] - b[0] || a[1] - b[1]); - } - var d3_geom_voronoiEdges, d3_geom_voronoiCells, d3_geom_voronoiBeaches, d3_geom_voronoiBeachPool = [], d3_geom_voronoiFirstCircle, d3_geom_voronoiCircles, d3_geom_voronoiCirclePool = []; - function d3_geom_voronoiBeach() { - d3_geom_voronoiRedBlackNode(this); - this.edge = this.site = this.circle = null; - } - function d3_geom_voronoiCreateBeach(site) { - var beach = d3_geom_voronoiBeachPool.pop() || new d3_geom_voronoiBeach(); - beach.site = site; - return beach; - } - function d3_geom_voronoiDetachBeach(beach) { - d3_geom_voronoiDetachCircle(beach); - d3_geom_voronoiBeaches.remove(beach); - d3_geom_voronoiBeachPool.push(beach); - d3_geom_voronoiRedBlackNode(beach); - } - function d3_geom_voronoiRemoveBeach(beach) { - var circle = beach.circle, x = circle.x, y = circle.cy, vertex = { - x: x, - y: y - }, previous = beach.P, next = beach.N, disappearing = [ beach ]; - d3_geom_voronoiDetachBeach(beach); - var lArc = previous; - while (lArc.circle && abs(x - lArc.circle.x) < ε && abs(y - lArc.circle.cy) < ε) { - previous = lArc.P; - disappearing.unshift(lArc); - d3_geom_voronoiDetachBeach(lArc); - lArc = previous; - } - disappearing.unshift(lArc); - d3_geom_voronoiDetachCircle(lArc); - var rArc = next; - while (rArc.circle && abs(x - rArc.circle.x) < ε && abs(y - rArc.circle.cy) < ε) { - next = rArc.N; - disappearing.push(rArc); - d3_geom_voronoiDetachBeach(rArc); - rArc = next; - } - disappearing.push(rArc); - d3_geom_voronoiDetachCircle(rArc); - var nArcs = disappearing.length, iArc; - for (iArc = 1; iArc < nArcs; ++iArc) { - rArc = disappearing[iArc]; - lArc = disappearing[iArc - 1]; - d3_geom_voronoiSetEdgeEnd(rArc.edge, lArc.site, rArc.site, vertex); - } - lArc = disappearing[0]; - rArc = disappearing[nArcs - 1]; - rArc.edge = d3_geom_voronoiCreateEdge(lArc.site, rArc.site, null, vertex); - d3_geom_voronoiAttachCircle(lArc); - d3_geom_voronoiAttachCircle(rArc); - } - function d3_geom_voronoiAddBeach(site) { - var x = site.x, directrix = site.y, lArc, rArc, dxl, dxr, node = d3_geom_voronoiBeaches._; - while (node) { - dxl = d3_geom_voronoiLeftBreakPoint(node, directrix) - x; - if (dxl > ε) node = node.L; else { - dxr = x - d3_geom_voronoiRightBreakPoint(node, directrix); - if (dxr > ε) { - if (!node.R) { - lArc = node; - break; - } - node = node.R; - } else { - if (dxl > -ε) { - lArc = node.P; - rArc = node; - } else if (dxr > -ε) { - lArc = node; - rArc = node.N; - } else { - lArc = rArc = node; - } - break; - } - } - } - var newArc = d3_geom_voronoiCreateBeach(site); - d3_geom_voronoiBeaches.insert(lArc, newArc); - if (!lArc && !rArc) return; - if (lArc === rArc) { - d3_geom_voronoiDetachCircle(lArc); - rArc = d3_geom_voronoiCreateBeach(lArc.site); - d3_geom_voronoiBeaches.insert(newArc, rArc); - newArc.edge = rArc.edge = d3_geom_voronoiCreateEdge(lArc.site, newArc.site); - d3_geom_voronoiAttachCircle(lArc); - d3_geom_voronoiAttachCircle(rArc); - return; - } - if (!rArc) { - newArc.edge = d3_geom_voronoiCreateEdge(lArc.site, newArc.site); - return; - } - d3_geom_voronoiDetachCircle(lArc); - d3_geom_voronoiDetachCircle(rArc); - var lSite = lArc.site, ax = lSite.x, ay = lSite.y, bx = site.x - ax, by = site.y - ay, rSite = rArc.site, cx = rSite.x - ax, cy = rSite.y - ay, d = 2 * (bx * cy - by * cx), hb = bx * bx + by * by, hc = cx * cx + cy * cy, vertex = { - x: (cy * hb - by * hc) / d + ax, - y: (bx * hc - cx * hb) / d + ay - }; - d3_geom_voronoiSetEdgeEnd(rArc.edge, lSite, rSite, vertex); - newArc.edge = d3_geom_voronoiCreateEdge(lSite, site, null, vertex); - rArc.edge = d3_geom_voronoiCreateEdge(site, rSite, null, vertex); - d3_geom_voronoiAttachCircle(lArc); - d3_geom_voronoiAttachCircle(rArc); - } - function d3_geom_voronoiLeftBreakPoint(arc, directrix) { - var site = arc.site, rfocx = site.x, rfocy = site.y, pby2 = rfocy - directrix; - if (!pby2) return rfocx; - var lArc = arc.P; - if (!lArc) return -Infinity; - site = lArc.site; - var lfocx = site.x, lfocy = site.y, plby2 = lfocy - directrix; - if (!plby2) return lfocx; - var hl = lfocx - rfocx, aby2 = 1 / pby2 - 1 / plby2, b = hl / plby2; - if (aby2) return (-b + Math.sqrt(b * b - 2 * aby2 * (hl * hl / (-2 * plby2) - lfocy + plby2 / 2 + rfocy - pby2 / 2))) / aby2 + rfocx; - return (rfocx + lfocx) / 2; - } - function d3_geom_voronoiRightBreakPoint(arc, directrix) { - var rArc = arc.N; - if (rArc) return d3_geom_voronoiLeftBreakPoint(rArc, directrix); - var site = arc.site; - return site.y === directrix ? site.x : Infinity; - } - function d3_geom_voronoiCell(site) { - this.site = site; - this.edges = []; - } - d3_geom_voronoiCell.prototype.prepare = function() { - var halfEdges = this.edges, iHalfEdge = halfEdges.length, edge; - while (iHalfEdge--) { - edge = halfEdges[iHalfEdge].edge; - if (!edge.b || !edge.a) halfEdges.splice(iHalfEdge, 1); - } - halfEdges.sort(d3_geom_voronoiHalfEdgeOrder); - return halfEdges.length; - }; - function d3_geom_voronoiCloseCells(extent) { - var x0 = extent[0][0], x1 = extent[1][0], y0 = extent[0][1], y1 = extent[1][1], x2, y2, x3, y3, cells = d3_geom_voronoiCells, iCell = cells.length, cell, iHalfEdge, halfEdges, nHalfEdges, start, end; - while (iCell--) { - cell = cells[iCell]; - if (!cell || !cell.prepare()) continue; - halfEdges = cell.edges; - nHalfEdges = halfEdges.length; - iHalfEdge = 0; - while (iHalfEdge < nHalfEdges) { - end = halfEdges[iHalfEdge].end(), x3 = end.x, y3 = end.y; - start = halfEdges[++iHalfEdge % nHalfEdges].start(), x2 = start.x, y2 = start.y; - if (abs(x3 - x2) > ε || abs(y3 - y2) > ε) { - halfEdges.splice(iHalfEdge, 0, new d3_geom_voronoiHalfEdge(d3_geom_voronoiCreateBorderEdge(cell.site, end, abs(x3 - x0) < ε && y1 - y3 > ε ? { - x: x0, - y: abs(x2 - x0) < ε ? y2 : y1 - } : abs(y3 - y1) < ε && x1 - x3 > ε ? { - x: abs(y2 - y1) < ε ? x2 : x1, - y: y1 - } : abs(x3 - x1) < ε && y3 - y0 > ε ? { - x: x1, - y: abs(x2 - x1) < ε ? y2 : y0 - } : abs(y3 - y0) < ε && x3 - x0 > ε ? { - x: abs(y2 - y0) < ε ? x2 : x0, - y: y0 - } : null), cell.site, null)); - ++nHalfEdges; - } - } - } - } - function d3_geom_voronoiHalfEdgeOrder(a, b) { - return b.angle - a.angle; - } - function d3_geom_voronoiCircle() { - d3_geom_voronoiRedBlackNode(this); - this.x = this.y = this.arc = this.site = this.cy = null; - } - function d3_geom_voronoiAttachCircle(arc) { - var lArc = arc.P, rArc = arc.N; - if (!lArc || !rArc) return; - var lSite = lArc.site, cSite = arc.site, rSite = rArc.site; - if (lSite === rSite) return; - var bx = cSite.x, by = cSite.y, ax = lSite.x - bx, ay = lSite.y - by, cx = rSite.x - bx, cy = rSite.y - by; - var d = 2 * (ax * cy - ay * cx); - if (d >= -ε2) return; - var ha = ax * ax + ay * ay, hc = cx * cx + cy * cy, x = (cy * ha - ay * hc) / d, y = (ax * hc - cx * ha) / d, cy = y + by; - var circle = d3_geom_voronoiCirclePool.pop() || new d3_geom_voronoiCircle(); - circle.arc = arc; - circle.site = cSite; - circle.x = x + bx; - circle.y = cy + Math.sqrt(x * x + y * y); - circle.cy = cy; - arc.circle = circle; - var before = null, node = d3_geom_voronoiCircles._; - while (node) { - if (circle.y < node.y || circle.y === node.y && circle.x <= node.x) { - if (node.L) node = node.L; else { - before = node.P; - break; - } - } else { - if (node.R) node = node.R; else { - before = node; - break; - } - } - } - d3_geom_voronoiCircles.insert(before, circle); - if (!before) d3_geom_voronoiFirstCircle = circle; - } - function d3_geom_voronoiDetachCircle(arc) { - var circle = arc.circle; - if (circle) { - if (!circle.P) d3_geom_voronoiFirstCircle = circle.N; - d3_geom_voronoiCircles.remove(circle); - d3_geom_voronoiCirclePool.push(circle); - d3_geom_voronoiRedBlackNode(circle); - arc.circle = null; - } - } - function d3_geom_voronoiClipEdges(extent) { - var edges = d3_geom_voronoiEdges, clip = d3_geom_clipLine(extent[0][0], extent[0][1], extent[1][0], extent[1][1]), i = edges.length, e; - while (i--) { - e = edges[i]; - if (!d3_geom_voronoiConnectEdge(e, extent) || !clip(e) || abs(e.a.x - e.b.x) < ε && abs(e.a.y - e.b.y) < ε) { - e.a = e.b = null; - edges.splice(i, 1); - } - } - } - function d3_geom_voronoiConnectEdge(edge, extent) { - var vb = edge.b; - if (vb) return true; - var va = edge.a, x0 = extent[0][0], x1 = extent[1][0], y0 = extent[0][1], y1 = extent[1][1], lSite = edge.l, rSite = edge.r, lx = lSite.x, ly = lSite.y, rx = rSite.x, ry = rSite.y, fx = (lx + rx) / 2, fy = (ly + ry) / 2, fm, fb; - if (ry === ly) { - if (fx < x0 || fx >= x1) return; - if (lx > rx) { - if (!va) va = { - x: fx, - y: y0 - }; else if (va.y >= y1) return; - vb = { - x: fx, - y: y1 - }; - } else { - if (!va) va = { - x: fx, - y: y1 - }; else if (va.y < y0) return; - vb = { - x: fx, - y: y0 - }; - } - } else { - fm = (lx - rx) / (ry - ly); - fb = fy - fm * fx; - if (fm < -1 || fm > 1) { - if (lx > rx) { - if (!va) va = { - x: (y0 - fb) / fm, - y: y0 - }; else if (va.y >= y1) return; - vb = { - x: (y1 - fb) / fm, - y: y1 - }; - } else { - if (!va) va = { - x: (y1 - fb) / fm, - y: y1 - }; else if (va.y < y0) return; - vb = { - x: (y0 - fb) / fm, - y: y0 - }; - } - } else { - if (ly < ry) { - if (!va) va = { - x: x0, - y: fm * x0 + fb - }; else if (va.x >= x1) return; - vb = { - x: x1, - y: fm * x1 + fb - }; - } else { - if (!va) va = { - x: x1, - y: fm * x1 + fb - }; else if (va.x < x0) return; - vb = { - x: x0, - y: fm * x0 + fb - }; - } - } - } - edge.a = va; - edge.b = vb; - return true; - } - function d3_geom_voronoiEdge(lSite, rSite) { - this.l = lSite; - this.r = rSite; - this.a = this.b = null; - } - function d3_geom_voronoiCreateEdge(lSite, rSite, va, vb) { - var edge = new d3_geom_voronoiEdge(lSite, rSite); - d3_geom_voronoiEdges.push(edge); - if (va) d3_geom_voronoiSetEdgeEnd(edge, lSite, rSite, va); - if (vb) d3_geom_voronoiSetEdgeEnd(edge, rSite, lSite, vb); - d3_geom_voronoiCells[lSite.i].edges.push(new d3_geom_voronoiHalfEdge(edge, lSite, rSite)); - d3_geom_voronoiCells[rSite.i].edges.push(new d3_geom_voronoiHalfEdge(edge, rSite, lSite)); - return edge; - } - function d3_geom_voronoiCreateBorderEdge(lSite, va, vb) { - var edge = new d3_geom_voronoiEdge(lSite, null); - edge.a = va; - edge.b = vb; - d3_geom_voronoiEdges.push(edge); - return edge; - } - function d3_geom_voronoiSetEdgeEnd(edge, lSite, rSite, vertex) { - if (!edge.a && !edge.b) { - edge.a = vertex; - edge.l = lSite; - edge.r = rSite; - } else if (edge.l === rSite) { - edge.b = vertex; - } else { - edge.a = vertex; - } - } - function d3_geom_voronoiHalfEdge(edge, lSite, rSite) { - var va = edge.a, vb = edge.b; - this.edge = edge; - this.site = lSite; - this.angle = rSite ? Math.atan2(rSite.y - lSite.y, rSite.x - lSite.x) : edge.l === lSite ? Math.atan2(vb.x - va.x, va.y - vb.y) : Math.atan2(va.x - vb.x, vb.y - va.y); - } - d3_geom_voronoiHalfEdge.prototype = { - start: function() { - return this.edge.l === this.site ? this.edge.a : this.edge.b; - }, - end: function() { - return this.edge.l === this.site ? this.edge.b : this.edge.a; - } - }; - function d3_geom_voronoiRedBlackTree() { - this._ = null; - } - function d3_geom_voronoiRedBlackNode(node) { - node.U = node.C = node.L = node.R = node.P = node.N = null; - } - d3_geom_voronoiRedBlackTree.prototype = { - insert: function(after, node) { - var parent, grandpa, uncle; - if (after) { - node.P = after; - node.N = after.N; - if (after.N) after.N.P = node; - after.N = node; - if (after.R) { - after = after.R; - while (after.L) after = after.L; - after.L = node; - } else { - after.R = node; - } - parent = after; - } else if (this._) { - after = d3_geom_voronoiRedBlackFirst(this._); - node.P = null; - node.N = after; - after.P = after.L = node; - parent = after; - } else { - node.P = node.N = null; - this._ = node; - parent = null; - } - node.L = node.R = null; - node.U = parent; - node.C = true; - after = node; - while (parent && parent.C) { - grandpa = parent.U; - if (parent === grandpa.L) { - uncle = grandpa.R; - if (uncle && uncle.C) { - parent.C = uncle.C = false; - grandpa.C = true; - after = grandpa; - } else { - if (after === parent.R) { - d3_geom_voronoiRedBlackRotateLeft(this, parent); - after = parent; - parent = after.U; - } - parent.C = false; - grandpa.C = true; - d3_geom_voronoiRedBlackRotateRight(this, grandpa); - } - } else { - uncle = grandpa.L; - if (uncle && uncle.C) { - parent.C = uncle.C = false; - grandpa.C = true; - after = grandpa; - } else { - if (after === parent.L) { - d3_geom_voronoiRedBlackRotateRight(this, parent); - after = parent; - parent = after.U; - } - parent.C = false; - grandpa.C = true; - d3_geom_voronoiRedBlackRotateLeft(this, grandpa); - } - } - parent = after.U; - } - this._.C = false; - }, - remove: function(node) { - if (node.N) node.N.P = node.P; - if (node.P) node.P.N = node.N; - node.N = node.P = null; - var parent = node.U, sibling, left = node.L, right = node.R, next, red; - if (!left) next = right; else if (!right) next = left; else next = d3_geom_voronoiRedBlackFirst(right); - if (parent) { - if (parent.L === node) parent.L = next; else parent.R = next; - } else { - this._ = next; - } - if (left && right) { - red = next.C; - next.C = node.C; - next.L = left; - left.U = next; - if (next !== right) { - parent = next.U; - next.U = node.U; - node = next.R; - parent.L = node; - next.R = right; - right.U = next; - } else { - next.U = parent; - parent = next; - node = next.R; - } - } else { - red = node.C; - node = next; - } - if (node) node.U = parent; - if (red) return; - if (node && node.C) { - node.C = false; - return; - } - do { - if (node === this._) break; - if (node === parent.L) { - sibling = parent.R; - if (sibling.C) { - sibling.C = false; - parent.C = true; - d3_geom_voronoiRedBlackRotateLeft(this, parent); - sibling = parent.R; - } - if (sibling.L && sibling.L.C || sibling.R && sibling.R.C) { - if (!sibling.R || !sibling.R.C) { - sibling.L.C = false; - sibling.C = true; - d3_geom_voronoiRedBlackRotateRight(this, sibling); - sibling = parent.R; - } - sibling.C = parent.C; - parent.C = sibling.R.C = false; - d3_geom_voronoiRedBlackRotateLeft(this, parent); - node = this._; - break; - } - } else { - sibling = parent.L; - if (sibling.C) { - sibling.C = false; - parent.C = true; - d3_geom_voronoiRedBlackRotateRight(this, parent); - sibling = parent.L; - } - if (sibling.L && sibling.L.C || sibling.R && sibling.R.C) { - if (!sibling.L || !sibling.L.C) { - sibling.R.C = false; - sibling.C = true; - d3_geom_voronoiRedBlackRotateLeft(this, sibling); - sibling = parent.L; - } - sibling.C = parent.C; - parent.C = sibling.L.C = false; - d3_geom_voronoiRedBlackRotateRight(this, parent); - node = this._; - break; - } - } - sibling.C = true; - node = parent; - parent = parent.U; - } while (!node.C); - if (node) node.C = false; - } - }; - function d3_geom_voronoiRedBlackRotateLeft(tree, node) { - var p = node, q = node.R, parent = p.U; - if (parent) { - if (parent.L === p) parent.L = q; else parent.R = q; - } else { - tree._ = q; - } - q.U = parent; - p.U = q; - p.R = q.L; - if (p.R) p.R.U = p; - q.L = p; - } - function d3_geom_voronoiRedBlackRotateRight(tree, node) { - var p = node, q = node.L, parent = p.U; - if (parent) { - if (parent.L === p) parent.L = q; else parent.R = q; - } else { - tree._ = q; - } - q.U = parent; - p.U = q; - p.L = q.R; - if (p.L) p.L.U = p; - q.R = p; - } - function d3_geom_voronoiRedBlackFirst(node) { - while (node.L) node = node.L; - return node; - } - function d3_geom_voronoi(sites, bbox) { - var site = sites.sort(d3_geom_voronoiVertexOrder).pop(), x0, y0, circle; - d3_geom_voronoiEdges = []; - d3_geom_voronoiCells = new Array(sites.length); - d3_geom_voronoiBeaches = new d3_geom_voronoiRedBlackTree(); - d3_geom_voronoiCircles = new d3_geom_voronoiRedBlackTree(); - while (true) { - circle = d3_geom_voronoiFirstCircle; - if (site && (!circle || site.y < circle.y || site.y === circle.y && site.x < circle.x)) { - if (site.x !== x0 || site.y !== y0) { - d3_geom_voronoiCells[site.i] = new d3_geom_voronoiCell(site); - d3_geom_voronoiAddBeach(site); - x0 = site.x, y0 = site.y; - } - site = sites.pop(); - } else if (circle) { - d3_geom_voronoiRemoveBeach(circle.arc); - } else { - break; - } - } - if (bbox) d3_geom_voronoiClipEdges(bbox), d3_geom_voronoiCloseCells(bbox); - var diagram = { - cells: d3_geom_voronoiCells, - edges: d3_geom_voronoiEdges - }; - d3_geom_voronoiBeaches = d3_geom_voronoiCircles = d3_geom_voronoiEdges = d3_geom_voronoiCells = null; - return diagram; - } - function d3_geom_voronoiVertexOrder(a, b) { - return b.y - a.y || b.x - a.x; - } - d3.geom.voronoi = function(points) { - var x = d3_geom_pointX, y = d3_geom_pointY, fx = x, fy = y, clipExtent = d3_geom_voronoiClipExtent; - if (points) return voronoi(points); - function voronoi(data) { - var polygons = new Array(data.length), x0 = clipExtent[0][0], y0 = clipExtent[0][1], x1 = clipExtent[1][0], y1 = clipExtent[1][1]; - d3_geom_voronoi(sites(data), clipExtent).cells.forEach(function(cell, i) { - var edges = cell.edges, site = cell.site, polygon = polygons[i] = edges.length ? edges.map(function(e) { - var s = e.start(); - return [ s.x, s.y ]; - }) : site.x >= x0 && site.x <= x1 && site.y >= y0 && site.y <= y1 ? [ [ x0, y1 ], [ x1, y1 ], [ x1, y0 ], [ x0, y0 ] ] : []; - polygon.point = data[i]; - }); - return polygons; - } - function sites(data) { - return data.map(function(d, i) { - return { - x: Math.round(fx(d, i) / ε) * ε, - y: Math.round(fy(d, i) / ε) * ε, - i: i - }; - }); - } - voronoi.links = function(data) { - return d3_geom_voronoi(sites(data)).edges.filter(function(edge) { - return edge.l && edge.r; - }).map(function(edge) { - return { - source: data[edge.l.i], - target: data[edge.r.i] - }; - }); - }; - voronoi.triangles = function(data) { - var triangles = []; - d3_geom_voronoi(sites(data)).cells.forEach(function(cell, i) { - var site = cell.site, edges = cell.edges.sort(d3_geom_voronoiHalfEdgeOrder), j = -1, m = edges.length, e0, s0, e1 = edges[m - 1].edge, s1 = e1.l === site ? e1.r : e1.l; - while (++j < m) { - e0 = e1; - s0 = s1; - e1 = edges[j].edge; - s1 = e1.l === site ? e1.r : e1.l; - if (i < s0.i && i < s1.i && d3_geom_voronoiTriangleArea(site, s0, s1) < 0) { - triangles.push([ data[i], data[s0.i], data[s1.i] ]); - } - } - }); - return triangles; - }; - voronoi.x = function(_) { - return arguments.length ? (fx = d3_functor(x = _), voronoi) : x; - }; - voronoi.y = function(_) { - return arguments.length ? (fy = d3_functor(y = _), voronoi) : y; - }; - voronoi.clipExtent = function(_) { - if (!arguments.length) return clipExtent === d3_geom_voronoiClipExtent ? null : clipExtent; - clipExtent = _ == null ? d3_geom_voronoiClipExtent : _; - return voronoi; - }; - voronoi.size = function(_) { - if (!arguments.length) return clipExtent === d3_geom_voronoiClipExtent ? null : clipExtent && clipExtent[1]; - return voronoi.clipExtent(_ && [ [ 0, 0 ], _ ]); - }; - return voronoi; - }; - var d3_geom_voronoiClipExtent = [ [ -1e6, -1e6 ], [ 1e6, 1e6 ] ]; - function d3_geom_voronoiTriangleArea(a, b, c) { - return (a.x - c.x) * (b.y - a.y) - (a.x - b.x) * (c.y - a.y); - } - d3.geom.delaunay = function(vertices) { - return d3.geom.voronoi().triangles(vertices); - }; - d3.geom.quadtree = function(points, x1, y1, x2, y2) { - var x = d3_geom_pointX, y = d3_geom_pointY, compat; - if (compat = arguments.length) { - x = d3_geom_quadtreeCompatX; - y = d3_geom_quadtreeCompatY; - if (compat === 3) { - y2 = y1; - x2 = x1; - y1 = x1 = 0; - } - return quadtree(points); - } - function quadtree(data) { - var d, fx = d3_functor(x), fy = d3_functor(y), xs, ys, i, n, x1_, y1_, x2_, y2_; - if (x1 != null) { - x1_ = x1, y1_ = y1, x2_ = x2, y2_ = y2; - } else { - x2_ = y2_ = -(x1_ = y1_ = Infinity); - xs = [], ys = []; - n = data.length; - if (compat) for (i = 0; i < n; ++i) { - d = data[i]; - if (d.x < x1_) x1_ = d.x; - if (d.y < y1_) y1_ = d.y; - if (d.x > x2_) x2_ = d.x; - if (d.y > y2_) y2_ = d.y; - xs.push(d.x); - ys.push(d.y); - } else for (i = 0; i < n; ++i) { - var x_ = +fx(d = data[i], i), y_ = +fy(d, i); - if (x_ < x1_) x1_ = x_; - if (y_ < y1_) y1_ = y_; - if (x_ > x2_) x2_ = x_; - if (y_ > y2_) y2_ = y_; - xs.push(x_); - ys.push(y_); - } - } - var dx = x2_ - x1_, dy = y2_ - y1_; - if (dx > dy) y2_ = y1_ + dx; else x2_ = x1_ + dy; - function insert(n, d, x, y, x1, y1, x2, y2) { - if (isNaN(x) || isNaN(y)) return; - if (n.leaf) { - var nx = n.x, ny = n.y; - if (nx != null) { - if (abs(nx - x) + abs(ny - y) < .01) { - insertChild(n, d, x, y, x1, y1, x2, y2); - } else { - var nPoint = n.point; - n.x = n.y = n.point = null; - insertChild(n, nPoint, nx, ny, x1, y1, x2, y2); - insertChild(n, d, x, y, x1, y1, x2, y2); - } - } else { - n.x = x, n.y = y, n.point = d; - } - } else { - insertChild(n, d, x, y, x1, y1, x2, y2); - } - } - function insertChild(n, d, x, y, x1, y1, x2, y2) { - var xm = (x1 + x2) * .5, ym = (y1 + y2) * .5, right = x >= xm, below = y >= ym, i = below << 1 | right; - n.leaf = false; - n = n.nodes[i] || (n.nodes[i] = d3_geom_quadtreeNode()); - if (right) x1 = xm; else x2 = xm; - if (below) y1 = ym; else y2 = ym; - insert(n, d, x, y, x1, y1, x2, y2); - } - var root = d3_geom_quadtreeNode(); - root.add = function(d) { - insert(root, d, +fx(d, ++i), +fy(d, i), x1_, y1_, x2_, y2_); - }; - root.visit = function(f) { - d3_geom_quadtreeVisit(f, root, x1_, y1_, x2_, y2_); - }; - root.find = function(point) { - return d3_geom_quadtreeFind(root, point[0], point[1], x1_, y1_, x2_, y2_); - }; - i = -1; - if (x1 == null) { - while (++i < n) { - insert(root, data[i], xs[i], ys[i], x1_, y1_, x2_, y2_); - } - --i; - } else data.forEach(root.add); - xs = ys = data = d = null; - return root; - } - quadtree.x = function(_) { - return arguments.length ? (x = _, quadtree) : x; - }; - quadtree.y = function(_) { - return arguments.length ? (y = _, quadtree) : y; - }; - quadtree.extent = function(_) { - if (!arguments.length) return x1 == null ? null : [ [ x1, y1 ], [ x2, y2 ] ]; - if (_ == null) x1 = y1 = x2 = y2 = null; else x1 = +_[0][0], y1 = +_[0][1], x2 = +_[1][0], - y2 = +_[1][1]; - return quadtree; - }; - quadtree.size = function(_) { - if (!arguments.length) return x1 == null ? null : [ x2 - x1, y2 - y1 ]; - if (_ == null) x1 = y1 = x2 = y2 = null; else x1 = y1 = 0, x2 = +_[0], y2 = +_[1]; - return quadtree; - }; - return quadtree; - }; - function d3_geom_quadtreeCompatX(d) { - return d.x; - } - function d3_geom_quadtreeCompatY(d) { - return d.y; - } - function d3_geom_quadtreeNode() { - return { - leaf: true, - nodes: [], - point: null, - x: null, - y: null - }; - } - function d3_geom_quadtreeVisit(f, node, x1, y1, x2, y2) { - if (!f(node, x1, y1, x2, y2)) { - var sx = (x1 + x2) * .5, sy = (y1 + y2) * .5, children = node.nodes; - if (children[0]) d3_geom_quadtreeVisit(f, children[0], x1, y1, sx, sy); - if (children[1]) d3_geom_quadtreeVisit(f, children[1], sx, y1, x2, sy); - if (children[2]) d3_geom_quadtreeVisit(f, children[2], x1, sy, sx, y2); - if (children[3]) d3_geom_quadtreeVisit(f, children[3], sx, sy, x2, y2); - } - } - function d3_geom_quadtreeFind(root, x, y, x0, y0, x3, y3) { - var minDistance2 = Infinity, closestPoint; - (function find(node, x1, y1, x2, y2) { - if (x1 > x3 || y1 > y3 || x2 < x0 || y2 < y0) return; - if (point = node.point) { - var point, dx = x - point[0], dy = y - point[1], distance2 = dx * dx + dy * dy; - if (distance2 < minDistance2) { - var distance = Math.sqrt(minDistance2 = distance2); - x0 = x - distance, y0 = y - distance; - x3 = x + distance, y3 = y + distance; - closestPoint = point; - } - } - var children = node.nodes, xm = (x1 + x2) * .5, ym = (y1 + y2) * .5, right = x >= xm, below = y >= ym; - for (var i = below << 1 | right, j = i + 4; i < j; ++i) { - if (node = children[i & 3]) switch (i & 3) { - case 0: - find(node, x1, y1, xm, ym); - break; - - case 1: - find(node, xm, y1, x2, ym); - break; - - case 2: - find(node, x1, ym, xm, y2); - break; - - case 3: - find(node, xm, ym, x2, y2); - break; - } - } - })(root, x0, y0, x3, y3); - return closestPoint; - } - d3.interpolateRgb = d3_interpolateRgb; - function d3_interpolateRgb(a, b) { - a = d3.rgb(a); - b = d3.rgb(b); - var ar = a.r, ag = a.g, ab = a.b, br = b.r - ar, bg = b.g - ag, bb = b.b - ab; - return function(t) { - return "#" + d3_rgb_hex(Math.round(ar + br * t)) + d3_rgb_hex(Math.round(ag + bg * t)) + d3_rgb_hex(Math.round(ab + bb * t)); - }; - } - d3.interpolateObject = d3_interpolateObject; - function d3_interpolateObject(a, b) { - var i = {}, c = {}, k; - for (k in a) { - if (k in b) { - i[k] = d3_interpolate(a[k], b[k]); - } else { - c[k] = a[k]; - } - } - for (k in b) { - if (!(k in a)) { - c[k] = b[k]; - } - } - return function(t) { - for (k in i) c[k] = i[k](t); - return c; - }; - } - d3.interpolateNumber = d3_interpolateNumber; - function d3_interpolateNumber(a, b) { - a = +a, b = +b; - return function(t) { - return a * (1 - t) + b * t; - }; - } - d3.interpolateString = d3_interpolateString; - function d3_interpolateString(a, b) { - var bi = d3_interpolate_numberA.lastIndex = d3_interpolate_numberB.lastIndex = 0, am, bm, bs, i = -1, s = [], q = []; - a = a + "", b = b + ""; - while ((am = d3_interpolate_numberA.exec(a)) && (bm = d3_interpolate_numberB.exec(b))) { - if ((bs = bm.index) > bi) { - bs = b.slice(bi, bs); - if (s[i]) s[i] += bs; else s[++i] = bs; - } - if ((am = am[0]) === (bm = bm[0])) { - if (s[i]) s[i] += bm; else s[++i] = bm; - } else { - s[++i] = null; - q.push({ - i: i, - x: d3_interpolateNumber(am, bm) - }); - } - bi = d3_interpolate_numberB.lastIndex; - } - if (bi < b.length) { - bs = b.slice(bi); - if (s[i]) s[i] += bs; else s[++i] = bs; - } - return s.length < 2 ? q[0] ? (b = q[0].x, function(t) { - return b(t) + ""; - }) : function() { - return b; - } : (b = q.length, function(t) { - for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t); - return s.join(""); - }); - } - var d3_interpolate_numberA = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, d3_interpolate_numberB = new RegExp(d3_interpolate_numberA.source, "g"); - d3.interpolate = d3_interpolate; - function d3_interpolate(a, b) { - var i = d3.interpolators.length, f; - while (--i >= 0 && !(f = d3.interpolators[i](a, b))) ; - return f; - } - d3.interpolators = [ function(a, b) { - var t = typeof b; - return (t === "string" ? d3_rgb_names.has(b) || /^(#|rgb\(|hsl\()/.test(b) ? d3_interpolateRgb : d3_interpolateString : b instanceof d3_color ? d3_interpolateRgb : Array.isArray(b) ? d3_interpolateArray : t === "object" && isNaN(b) ? d3_interpolateObject : d3_interpolateNumber)(a, b); - } ]; - d3.interpolateArray = d3_interpolateArray; - function d3_interpolateArray(a, b) { - var x = [], c = [], na = a.length, nb = b.length, n0 = Math.min(a.length, b.length), i; - for (i = 0; i < n0; ++i) x.push(d3_interpolate(a[i], b[i])); - for (;i < na; ++i) c[i] = a[i]; - for (;i < nb; ++i) c[i] = b[i]; - return function(t) { - for (i = 0; i < n0; ++i) c[i] = x[i](t); - return c; - }; - } - var d3_ease_default = function() { - return d3_identity; - }; - var d3_ease = d3.map({ - linear: d3_ease_default, - poly: d3_ease_poly, - quad: function() { - return d3_ease_quad; - }, - cubic: function() { - return d3_ease_cubic; - }, - sin: function() { - return d3_ease_sin; - }, - exp: function() { - return d3_ease_exp; - }, - circle: function() { - return d3_ease_circle; - }, - elastic: d3_ease_elastic, - back: d3_ease_back, - bounce: function() { - return d3_ease_bounce; - } - }); - var d3_ease_mode = d3.map({ - "in": d3_identity, - out: d3_ease_reverse, - "in-out": d3_ease_reflect, - "out-in": function(f) { - return d3_ease_reflect(d3_ease_reverse(f)); - } - }); - d3.ease = function(name) { - var i = name.indexOf("-"), t = i >= 0 ? name.slice(0, i) : name, m = i >= 0 ? name.slice(i + 1) : "in"; - t = d3_ease.get(t) || d3_ease_default; - m = d3_ease_mode.get(m) || d3_identity; - return d3_ease_clamp(m(t.apply(null, d3_arraySlice.call(arguments, 1)))); - }; - function d3_ease_clamp(f) { - return function(t) { - return t <= 0 ? 0 : t >= 1 ? 1 : f(t); - }; - } - function d3_ease_reverse(f) { - return function(t) { - return 1 - f(1 - t); - }; - } - function d3_ease_reflect(f) { - return function(t) { - return .5 * (t < .5 ? f(2 * t) : 2 - f(2 - 2 * t)); - }; - } - function d3_ease_quad(t) { - return t * t; - } - function d3_ease_cubic(t) { - return t * t * t; - } - function d3_ease_cubicInOut(t) { - if (t <= 0) return 0; - if (t >= 1) return 1; - var t2 = t * t, t3 = t2 * t; - return 4 * (t < .5 ? t3 : 3 * (t - t2) + t3 - .75); - } - function d3_ease_poly(e) { - return function(t) { - return Math.pow(t, e); - }; - } - function d3_ease_sin(t) { - return 1 - Math.cos(t * halfπ); - } - function d3_ease_exp(t) { - return Math.pow(2, 10 * (t - 1)); - } - function d3_ease_circle(t) { - return 1 - Math.sqrt(1 - t * t); - } - function d3_ease_elastic(a, p) { - var s; - if (arguments.length < 2) p = .45; - if (arguments.length) s = p / τ * Math.asin(1 / a); else a = 1, s = p / 4; - return function(t) { - return 1 + a * Math.pow(2, -10 * t) * Math.sin((t - s) * τ / p); - }; - } - function d3_ease_back(s) { - if (!s) s = 1.70158; - return function(t) { - return t * t * ((s + 1) * t - s); - }; - } - function d3_ease_bounce(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; - } - d3.interpolateHcl = d3_interpolateHcl; - function d3_interpolateHcl(a, b) { - a = d3.hcl(a); - b = d3.hcl(b); - var ah = a.h, ac = a.c, al = a.l, bh = b.h - ah, bc = b.c - ac, bl = b.l - al; - if (isNaN(bc)) bc = 0, ac = isNaN(ac) ? b.c : ac; - if (isNaN(bh)) bh = 0, ah = isNaN(ah) ? b.h : ah; else if (bh > 180) bh -= 360; else if (bh < -180) bh += 360; - return function(t) { - return d3_hcl_lab(ah + bh * t, ac + bc * t, al + bl * t) + ""; - }; - } - d3.interpolateHsl = d3_interpolateHsl; - function d3_interpolateHsl(a, b) { - a = d3.hsl(a); - b = d3.hsl(b); - var ah = a.h, as = a.s, al = a.l, bh = b.h - ah, bs = b.s - as, bl = b.l - al; - if (isNaN(bs)) bs = 0, as = isNaN(as) ? b.s : as; - if (isNaN(bh)) bh = 0, ah = isNaN(ah) ? b.h : ah; else if (bh > 180) bh -= 360; else if (bh < -180) bh += 360; - return function(t) { - return d3_hsl_rgb(ah + bh * t, as + bs * t, al + bl * t) + ""; - }; - } - d3.interpolateLab = d3_interpolateLab; - function d3_interpolateLab(a, b) { - a = d3.lab(a); - b = d3.lab(b); - var al = a.l, aa = a.a, ab = a.b, bl = b.l - al, ba = b.a - aa, bb = b.b - ab; - return function(t) { - return d3_lab_rgb(al + bl * t, aa + ba * t, ab + bb * t) + ""; - }; - } - d3.interpolateRound = d3_interpolateRound; - function d3_interpolateRound(a, b) { - b -= a; - return function(t) { - return Math.round(a + b * t); - }; - } - d3.transform = function(string) { - var g = d3_document.createElementNS(d3.ns.prefix.svg, "g"); - return (d3.transform = function(string) { - if (string != null) { - g.setAttribute("transform", string); - var t = g.transform.baseVal.consolidate(); - } - return new d3_transform(t ? t.matrix : d3_transformIdentity); - })(string); - }; - function d3_transform(m) { - var r0 = [ m.a, m.b ], r1 = [ m.c, m.d ], kx = d3_transformNormalize(r0), kz = d3_transformDot(r0, r1), ky = d3_transformNormalize(d3_transformCombine(r1, r0, -kz)) || 0; - if (r0[0] * r1[1] < r1[0] * r0[1]) { - r0[0] *= -1; - r0[1] *= -1; - kx *= -1; - kz *= -1; - } - this.rotate = (kx ? Math.atan2(r0[1], r0[0]) : Math.atan2(-r1[0], r1[1])) * d3_degrees; - this.translate = [ m.e, m.f ]; - this.scale = [ kx, ky ]; - this.skew = ky ? Math.atan2(kz, ky) * d3_degrees : 0; - } - d3_transform.prototype.toString = function() { - return "translate(" + this.translate + ")rotate(" + this.rotate + ")skewX(" + this.skew + ")scale(" + this.scale + ")"; - }; - function d3_transformDot(a, b) { - return a[0] * b[0] + a[1] * b[1]; - } - function d3_transformNormalize(a) { - var k = Math.sqrt(d3_transformDot(a, a)); - if (k) { - a[0] /= k; - a[1] /= k; - } - return k; - } - function d3_transformCombine(a, b, k) { - a[0] += k * b[0]; - a[1] += k * b[1]; - return a; - } - var d3_transformIdentity = { - a: 1, - b: 0, - c: 0, - d: 1, - e: 0, - f: 0 - }; - d3.interpolateTransform = d3_interpolateTransform; - function d3_interpolateTransform(a, b) { - var s = [], q = [], n, A = d3.transform(a), B = d3.transform(b), ta = A.translate, tb = B.translate, ra = A.rotate, rb = B.rotate, wa = A.skew, wb = B.skew, ka = A.scale, kb = B.scale; - if (ta[0] != tb[0] || ta[1] != tb[1]) { - s.push("translate(", null, ",", null, ")"); - q.push({ - i: 1, - x: d3_interpolateNumber(ta[0], tb[0]) - }, { - i: 3, - x: d3_interpolateNumber(ta[1], tb[1]) - }); - } else if (tb[0] || tb[1]) { - s.push("translate(" + tb + ")"); - } else { - s.push(""); - } - if (ra != rb) { - if (ra - rb > 180) rb += 360; else if (rb - ra > 180) ra += 360; - q.push({ - i: s.push(s.pop() + "rotate(", null, ")") - 2, - x: d3_interpolateNumber(ra, rb) - }); - } else if (rb) { - s.push(s.pop() + "rotate(" + rb + ")"); - } - if (wa != wb) { - q.push({ - i: s.push(s.pop() + "skewX(", null, ")") - 2, - x: d3_interpolateNumber(wa, wb) - }); - } else if (wb) { - s.push(s.pop() + "skewX(" + wb + ")"); - } - if (ka[0] != kb[0] || ka[1] != kb[1]) { - n = s.push(s.pop() + "scale(", null, ",", null, ")"); - q.push({ - i: n - 4, - x: d3_interpolateNumber(ka[0], kb[0]) - }, { - i: n - 2, - x: d3_interpolateNumber(ka[1], kb[1]) - }); - } else if (kb[0] != 1 || kb[1] != 1) { - s.push(s.pop() + "scale(" + kb + ")"); - } - n = q.length; - return function(t) { - var i = -1, o; - while (++i < n) s[(o = q[i]).i] = o.x(t); - return s.join(""); - }; - } - function d3_uninterpolateNumber(a, b) { - b = (b -= a = +a) || 1 / b; - return function(x) { - return (x - a) / b; - }; - } - function d3_uninterpolateClamp(a, b) { - b = (b -= a = +a) || 1 / b; - return function(x) { - return Math.max(0, Math.min(1, (x - a) / b)); - }; - } - d3.layout = {}; - d3.layout.bundle = function() { - return function(links) { - var paths = [], i = -1, n = links.length; - while (++i < n) paths.push(d3_layout_bundlePath(links[i])); - return paths; - }; - }; - function d3_layout_bundlePath(link) { - var start = link.source, end = link.target, lca = d3_layout_bundleLeastCommonAncestor(start, end), points = [ start ]; - while (start !== lca) { - start = start.parent; - points.push(start); - } - var k = points.length; - while (end !== lca) { - points.splice(k, 0, end); - end = end.parent; - } - return points; - } - function d3_layout_bundleAncestors(node) { - var ancestors = [], parent = node.parent; - while (parent != null) { - ancestors.push(node); - node = parent; - parent = parent.parent; - } - ancestors.push(node); - return ancestors; - } - function d3_layout_bundleLeastCommonAncestor(a, b) { - if (a === b) return a; - var aNodes = d3_layout_bundleAncestors(a), bNodes = d3_layout_bundleAncestors(b), aNode = aNodes.pop(), bNode = bNodes.pop(), sharedNode = null; - while (aNode === bNode) { - sharedNode = aNode; - aNode = aNodes.pop(); - bNode = bNodes.pop(); - } - return sharedNode; - } - d3.layout.chord = function() { - var chord = {}, chords, groups, matrix, n, padding = 0, sortGroups, sortSubgroups, sortChords; - function relayout() { - var subgroups = {}, groupSums = [], groupIndex = d3.range(n), subgroupIndex = [], k, x, x0, i, j; - chords = []; - groups = []; - k = 0, i = -1; - while (++i < n) { - x = 0, j = -1; - while (++j < n) { - x += matrix[i][j]; - } - groupSums.push(x); - subgroupIndex.push(d3.range(n)); - k += x; - } - if (sortGroups) { - groupIndex.sort(function(a, b) { - return sortGroups(groupSums[a], groupSums[b]); - }); - } - if (sortSubgroups) { - subgroupIndex.forEach(function(d, i) { - d.sort(function(a, b) { - return sortSubgroups(matrix[i][a], matrix[i][b]); - }); - }); - } - k = (τ - padding * n) / k; - x = 0, i = -1; - while (++i < n) { - x0 = x, j = -1; - while (++j < n) { - var di = groupIndex[i], dj = subgroupIndex[di][j], v = matrix[di][dj], a0 = x, a1 = x += v * k; - subgroups[di + "-" + dj] = { - index: di, - subindex: dj, - startAngle: a0, - endAngle: a1, - value: v - }; - } - groups[di] = { - index: di, - startAngle: x0, - endAngle: x, - value: (x - x0) / k - }; - x += padding; - } - i = -1; - while (++i < n) { - j = i - 1; - while (++j < n) { - var source = subgroups[i + "-" + j], target = subgroups[j + "-" + i]; - if (source.value || target.value) { - chords.push(source.value < target.value ? { - source: target, - target: source - } : { - source: source, - target: target - }); - } - } - } - if (sortChords) resort(); - } - function resort() { - chords.sort(function(a, b) { - return sortChords((a.source.value + a.target.value) / 2, (b.source.value + b.target.value) / 2); - }); - } - chord.matrix = function(x) { - if (!arguments.length) return matrix; - n = (matrix = x) && matrix.length; - chords = groups = null; - return chord; - }; - chord.padding = function(x) { - if (!arguments.length) return padding; - padding = x; - chords = groups = null; - return chord; - }; - chord.sortGroups = function(x) { - if (!arguments.length) return sortGroups; - sortGroups = x; - chords = groups = null; - return chord; - }; - chord.sortSubgroups = function(x) { - if (!arguments.length) return sortSubgroups; - sortSubgroups = x; - chords = null; - return chord; - }; - chord.sortChords = function(x) { - if (!arguments.length) return sortChords; - sortChords = x; - if (chords) resort(); - return chord; - }; - chord.chords = function() { - if (!chords) relayout(); - return chords; - }; - chord.groups = function() { - if (!groups) relayout(); - return groups; - }; - return chord; - }; - d3.layout.force = function() { - var force = {}, event = d3.dispatch("start", "tick", "end"), size = [ 1, 1 ], drag, alpha, friction = .9, linkDistance = d3_layout_forceLinkDistance, linkStrength = d3_layout_forceLinkStrength, charge = -30, chargeDistance2 = d3_layout_forceChargeDistance2, gravity = .1, theta2 = .64, nodes = [], links = [], distances, strengths, charges; - function repulse(node) { - return function(quad, x1, _, x2) { - if (quad.point !== node) { - var dx = quad.cx - node.x, dy = quad.cy - node.y, dw = x2 - x1, dn = dx * dx + dy * dy; - if (dw * dw / theta2 < dn) { - if (dn < chargeDistance2) { - var k = quad.charge / dn; - node.px -= dx * k; - node.py -= dy * k; - } - return true; - } - if (quad.point && dn && dn < chargeDistance2) { - var k = quad.pointCharge / dn; - node.px -= dx * k; - node.py -= dy * k; - } - } - return !quad.charge; - }; - } - force.tick = function() { - if ((alpha *= .99) < .005) { - event.end({ - type: "end", - alpha: alpha = 0 - }); - return true; - } - var n = nodes.length, m = links.length, q, i, o, s, t, l, k, x, y; - for (i = 0; i < m; ++i) { - o = links[i]; - s = o.source; - t = o.target; - x = t.x - s.x; - y = t.y - s.y; - if (l = x * x + y * y) { - l = alpha * strengths[i] * ((l = Math.sqrt(l)) - distances[i]) / l; - x *= l; - y *= l; - t.x -= x * (k = s.weight / (t.weight + s.weight)); - t.y -= y * k; - s.x += x * (k = 1 - k); - s.y += y * k; - } - } - if (k = alpha * gravity) { - x = size[0] / 2; - y = size[1] / 2; - i = -1; - if (k) while (++i < n) { - o = nodes[i]; - o.x += (x - o.x) * k; - o.y += (y - o.y) * k; - } - } - if (charge) { - d3_layout_forceAccumulate(q = d3.geom.quadtree(nodes), alpha, charges); - i = -1; - while (++i < n) { - if (!(o = nodes[i]).fixed) { - q.visit(repulse(o)); - } - } - } - i = -1; - while (++i < n) { - o = nodes[i]; - if (o.fixed) { - o.x = o.px; - o.y = o.py; - } else { - o.x -= (o.px - (o.px = o.x)) * friction; - o.y -= (o.py - (o.py = o.y)) * friction; - } - } - event.tick({ - type: "tick", - alpha: alpha - }); - }; - force.nodes = function(x) { - if (!arguments.length) return nodes; - nodes = x; - return force; - }; - force.links = function(x) { - if (!arguments.length) return links; - links = x; - return force; - }; - force.size = function(x) { - if (!arguments.length) return size; - size = x; - return force; - }; - force.linkDistance = function(x) { - if (!arguments.length) return linkDistance; - linkDistance = typeof x === "function" ? x : +x; - return force; - }; - force.distance = force.linkDistance; - force.linkStrength = function(x) { - if (!arguments.length) return linkStrength; - linkStrength = typeof x === "function" ? x : +x; - return force; - }; - force.friction = function(x) { - if (!arguments.length) return friction; - friction = +x; - return force; - }; - force.charge = function(x) { - if (!arguments.length) return charge; - charge = typeof x === "function" ? x : +x; - return force; - }; - force.chargeDistance = function(x) { - if (!arguments.length) return Math.sqrt(chargeDistance2); - chargeDistance2 = x * x; - return force; - }; - force.gravity = function(x) { - if (!arguments.length) return gravity; - gravity = +x; - return force; - }; - force.theta = function(x) { - if (!arguments.length) return Math.sqrt(theta2); - theta2 = x * x; - return force; - }; - force.alpha = function(x) { - if (!arguments.length) return alpha; - x = +x; - if (alpha) { - if (x > 0) alpha = x; else alpha = 0; - } else if (x > 0) { - event.start({ - type: "start", - alpha: alpha = x - }); - d3.timer(force.tick); - } - return force; - }; - force.start = function() { - var i, n = nodes.length, m = links.length, w = size[0], h = size[1], neighbors, o; - for (i = 0; i < n; ++i) { - (o = nodes[i]).index = i; - o.weight = 0; - } - for (i = 0; i < m; ++i) { - o = links[i]; - if (typeof o.source == "number") o.source = nodes[o.source]; - if (typeof o.target == "number") o.target = nodes[o.target]; - ++o.source.weight; - ++o.target.weight; - } - for (i = 0; i < n; ++i) { - o = nodes[i]; - if (isNaN(o.x)) o.x = position("x", w); - if (isNaN(o.y)) o.y = position("y", h); - if (isNaN(o.px)) o.px = o.x; - if (isNaN(o.py)) o.py = o.y; - } - distances = []; - if (typeof linkDistance === "function") for (i = 0; i < m; ++i) distances[i] = +linkDistance.call(this, links[i], i); else for (i = 0; i < m; ++i) distances[i] = linkDistance; - strengths = []; - if (typeof linkStrength === "function") for (i = 0; i < m; ++i) strengths[i] = +linkStrength.call(this, links[i], i); else for (i = 0; i < m; ++i) strengths[i] = linkStrength; - charges = []; - if (typeof charge === "function") for (i = 0; i < n; ++i) charges[i] = +charge.call(this, nodes[i], i); else for (i = 0; i < n; ++i) charges[i] = charge; - function position(dimension, size) { - if (!neighbors) { - neighbors = new Array(n); - for (j = 0; j < n; ++j) { - neighbors[j] = []; - } - for (j = 0; j < m; ++j) { - var o = links[j]; - neighbors[o.source.index].push(o.target); - neighbors[o.target.index].push(o.source); - } - } - var candidates = neighbors[i], j = -1, m = candidates.length, x; - while (++j < m) if (!isNaN(x = candidates[j][dimension])) return x; - return Math.random() * size; - } - return force.resume(); - }; - force.resume = function() { - return force.alpha(.1); - }; - force.stop = function() { - return force.alpha(0); - }; - force.drag = function() { - if (!drag) drag = d3.behavior.drag().origin(d3_identity).on("dragstart.force", d3_layout_forceDragstart).on("drag.force", dragmove).on("dragend.force", d3_layout_forceDragend); - if (!arguments.length) return drag; - this.on("mouseover.force", d3_layout_forceMouseover).on("mouseout.force", d3_layout_forceMouseout).call(drag); - }; - function dragmove(d) { - d.px = d3.event.x, d.py = d3.event.y; - force.resume(); - } - return d3.rebind(force, event, "on"); - }; - function d3_layout_forceDragstart(d) { - d.fixed |= 2; - } - function d3_layout_forceDragend(d) { - d.fixed &= ~6; - } - function d3_layout_forceMouseover(d) { - d.fixed |= 4; - d.px = d.x, d.py = d.y; - } - function d3_layout_forceMouseout(d) { - d.fixed &= ~4; - } - function d3_layout_forceAccumulate(quad, alpha, charges) { - var cx = 0, cy = 0; - quad.charge = 0; - if (!quad.leaf) { - var nodes = quad.nodes, n = nodes.length, i = -1, c; - while (++i < n) { - c = nodes[i]; - if (c == null) continue; - d3_layout_forceAccumulate(c, alpha, charges); - quad.charge += c.charge; - cx += c.charge * c.cx; - cy += c.charge * c.cy; - } - } - if (quad.point) { - if (!quad.leaf) { - quad.point.x += Math.random() - .5; - quad.point.y += Math.random() - .5; - } - var k = alpha * charges[quad.point.index]; - quad.charge += quad.pointCharge = k; - cx += k * quad.point.x; - cy += k * quad.point.y; - } - quad.cx = cx / quad.charge; - quad.cy = cy / quad.charge; - } - var d3_layout_forceLinkDistance = 20, d3_layout_forceLinkStrength = 1, d3_layout_forceChargeDistance2 = Infinity; - d3.layout.hierarchy = function() { - var sort = d3_layout_hierarchySort, children = d3_layout_hierarchyChildren, value = d3_layout_hierarchyValue; - function hierarchy(root) { - var stack = [ root ], nodes = [], node; - root.depth = 0; - while ((node = stack.pop()) != null) { - nodes.push(node); - if ((childs = children.call(hierarchy, node, node.depth)) && (n = childs.length)) { - var n, childs, child; - while (--n >= 0) { - stack.push(child = childs[n]); - child.parent = node; - child.depth = node.depth + 1; - } - if (value) node.value = 0; - node.children = childs; - } else { - if (value) node.value = +value.call(hierarchy, node, node.depth) || 0; - delete node.children; - } - } - d3_layout_hierarchyVisitAfter(root, function(node) { - var childs, parent; - if (sort && (childs = node.children)) childs.sort(sort); - if (value && (parent = node.parent)) parent.value += node.value; - }); - return nodes; - } - hierarchy.sort = function(x) { - if (!arguments.length) return sort; - sort = x; - return hierarchy; - }; - hierarchy.children = function(x) { - if (!arguments.length) return children; - children = x; - return hierarchy; - }; - hierarchy.value = function(x) { - if (!arguments.length) return value; - value = x; - return hierarchy; - }; - hierarchy.revalue = function(root) { - if (value) { - d3_layout_hierarchyVisitBefore(root, function(node) { - if (node.children) node.value = 0; - }); - d3_layout_hierarchyVisitAfter(root, function(node) { - var parent; - if (!node.children) node.value = +value.call(hierarchy, node, node.depth) || 0; - if (parent = node.parent) parent.value += node.value; - }); - } - return root; - }; - return hierarchy; - }; - function d3_layout_hierarchyRebind(object, hierarchy) { - d3.rebind(object, hierarchy, "sort", "children", "value"); - object.nodes = object; - object.links = d3_layout_hierarchyLinks; - return object; - } - function d3_layout_hierarchyVisitBefore(node, callback) { - var nodes = [ node ]; - while ((node = nodes.pop()) != null) { - callback(node); - if ((children = node.children) && (n = children.length)) { - var n, children; - while (--n >= 0) nodes.push(children[n]); - } - } - } - function d3_layout_hierarchyVisitAfter(node, callback) { - var nodes = [ node ], nodes2 = []; - while ((node = nodes.pop()) != null) { - nodes2.push(node); - if ((children = node.children) && (n = children.length)) { - var i = -1, n, children; - while (++i < n) nodes.push(children[i]); - } - } - while ((node = nodes2.pop()) != null) { - callback(node); - } - } - function d3_layout_hierarchyChildren(d) { - return d.children; - } - function d3_layout_hierarchyValue(d) { - return d.value; - } - function d3_layout_hierarchySort(a, b) { - return b.value - a.value; - } - function d3_layout_hierarchyLinks(nodes) { - return d3.merge(nodes.map(function(parent) { - return (parent.children || []).map(function(child) { - return { - source: parent, - target: child - }; - }); - })); - } - d3.layout.partition = function() { - var hierarchy = d3.layout.hierarchy(), size = [ 1, 1 ]; - function position(node, x, dx, dy) { - var children = node.children; - node.x = x; - node.y = node.depth * dy; - node.dx = dx; - node.dy = dy; - if (children && (n = children.length)) { - var i = -1, n, c, d; - dx = node.value ? dx / node.value : 0; - while (++i < n) { - position(c = children[i], x, d = c.value * dx, dy); - x += d; - } - } - } - function depth(node) { - var children = node.children, d = 0; - if (children && (n = children.length)) { - var i = -1, n; - while (++i < n) d = Math.max(d, depth(children[i])); - } - return 1 + d; - } - function partition(d, i) { - var nodes = hierarchy.call(this, d, i); - position(nodes[0], 0, size[0], size[1] / depth(nodes[0])); - return nodes; - } - partition.size = function(x) { - if (!arguments.length) return size; - size = x; - return partition; - }; - return d3_layout_hierarchyRebind(partition, hierarchy); - }; - d3.layout.pie = function() { - var value = Number, sort = d3_layout_pieSortByValue, startAngle = 0, endAngle = τ, padAngle = 0; - function pie(data) { - var n = data.length, values = data.map(function(d, i) { - return +value.call(pie, d, i); - }), a = +(typeof startAngle === "function" ? startAngle.apply(this, arguments) : startAngle), da = (typeof endAngle === "function" ? endAngle.apply(this, arguments) : endAngle) - a, p = Math.min(Math.abs(da) / n, +(typeof padAngle === "function" ? padAngle.apply(this, arguments) : padAngle)), pa = p * (da < 0 ? -1 : 1), k = (da - n * pa) / d3.sum(values), index = d3.range(n), arcs = [], v; - if (sort != null) index.sort(sort === d3_layout_pieSortByValue ? function(i, j) { - return values[j] - values[i]; - } : function(i, j) { - return sort(data[i], data[j]); - }); - index.forEach(function(i) { - arcs[i] = { - data: data[i], - value: v = values[i], - startAngle: a, - endAngle: a += v * k + pa, - padAngle: p - }; - }); - return arcs; - } - pie.value = function(_) { - if (!arguments.length) return value; - value = _; - return pie; - }; - pie.sort = function(_) { - if (!arguments.length) return sort; - sort = _; - return pie; - }; - pie.startAngle = function(_) { - if (!arguments.length) return startAngle; - startAngle = _; - return pie; - }; - pie.endAngle = function(_) { - if (!arguments.length) return endAngle; - endAngle = _; - return pie; - }; - pie.padAngle = function(_) { - if (!arguments.length) return padAngle; - padAngle = _; - return pie; - }; - return pie; - }; - var d3_layout_pieSortByValue = {}; - d3.layout.stack = function() { - var values = d3_identity, order = d3_layout_stackOrderDefault, offset = d3_layout_stackOffsetZero, out = d3_layout_stackOut, x = d3_layout_stackX, y = d3_layout_stackY; - function stack(data, index) { - if (!(n = data.length)) return data; - var series = data.map(function(d, i) { - return values.call(stack, d, i); - }); - var points = series.map(function(d) { - return d.map(function(v, i) { - return [ x.call(stack, v, i), y.call(stack, v, i) ]; - }); - }); - var orders = order.call(stack, points, index); - series = d3.permute(series, orders); - points = d3.permute(points, orders); - var offsets = offset.call(stack, points, index); - var m = series[0].length, n, i, j, o; - for (j = 0; j < m; ++j) { - out.call(stack, series[0][j], o = offsets[j], points[0][j][1]); - for (i = 1; i < n; ++i) { - out.call(stack, series[i][j], o += points[i - 1][j][1], points[i][j][1]); - } - } - return data; - } - stack.values = function(x) { - if (!arguments.length) return values; - values = x; - return stack; - }; - stack.order = function(x) { - if (!arguments.length) return order; - order = typeof x === "function" ? x : d3_layout_stackOrders.get(x) || d3_layout_stackOrderDefault; - return stack; - }; - stack.offset = function(x) { - if (!arguments.length) return offset; - offset = typeof x === "function" ? x : d3_layout_stackOffsets.get(x) || d3_layout_stackOffsetZero; - return stack; - }; - stack.x = function(z) { - if (!arguments.length) return x; - x = z; - return stack; - }; - stack.y = function(z) { - if (!arguments.length) return y; - y = z; - return stack; - }; - stack.out = function(z) { - if (!arguments.length) return out; - out = z; - return stack; - }; - return stack; - }; - function d3_layout_stackX(d) { - return d.x; - } - function d3_layout_stackY(d) { - return d.y; - } - function d3_layout_stackOut(d, y0, y) { - d.y0 = y0; - d.y = y; - } - var d3_layout_stackOrders = d3.map({ - "inside-out": function(data) { - var n = data.length, i, j, max = data.map(d3_layout_stackMaxIndex), sums = data.map(d3_layout_stackReduceSum), index = d3.range(n).sort(function(a, b) { - return max[a] - max[b]; - }), top = 0, bottom = 0, tops = [], bottoms = []; - for (i = 0; i < n; ++i) { - j = index[i]; - if (top < bottom) { - top += sums[j]; - tops.push(j); - } else { - bottom += sums[j]; - bottoms.push(j); - } - } - return bottoms.reverse().concat(tops); - }, - reverse: function(data) { - return d3.range(data.length).reverse(); - }, - "default": d3_layout_stackOrderDefault - }); - var d3_layout_stackOffsets = d3.map({ - silhouette: function(data) { - var n = data.length, m = data[0].length, sums = [], max = 0, i, j, o, y0 = []; - for (j = 0; j < m; ++j) { - for (i = 0, o = 0; i < n; i++) o += data[i][j][1]; - if (o > max) max = o; - sums.push(o); - } - for (j = 0; j < m; ++j) { - y0[j] = (max - sums[j]) / 2; - } - return y0; - }, - wiggle: function(data) { - var n = data.length, x = data[0], m = x.length, i, j, k, s1, s2, s3, dx, o, o0, y0 = []; - y0[0] = o = o0 = 0; - for (j = 1; j < m; ++j) { - for (i = 0, s1 = 0; i < n; ++i) s1 += data[i][j][1]; - for (i = 0, s2 = 0, dx = x[j][0] - x[j - 1][0]; i < n; ++i) { - for (k = 0, s3 = (data[i][j][1] - data[i][j - 1][1]) / (2 * dx); k < i; ++k) { - s3 += (data[k][j][1] - data[k][j - 1][1]) / dx; - } - s2 += s3 * data[i][j][1]; - } - y0[j] = o -= s1 ? s2 / s1 * dx : 0; - if (o < o0) o0 = o; - } - for (j = 0; j < m; ++j) y0[j] -= o0; - return y0; - }, - expand: function(data) { - var n = data.length, m = data[0].length, k = 1 / n, i, j, o, y0 = []; - for (j = 0; j < m; ++j) { - for (i = 0, o = 0; i < n; i++) o += data[i][j][1]; - if (o) for (i = 0; i < n; i++) data[i][j][1] /= o; else for (i = 0; i < n; i++) data[i][j][1] = k; - } - for (j = 0; j < m; ++j) y0[j] = 0; - return y0; - }, - zero: d3_layout_stackOffsetZero - }); - function d3_layout_stackOrderDefault(data) { - return d3.range(data.length); - } - function d3_layout_stackOffsetZero(data) { - var j = -1, m = data[0].length, y0 = []; - while (++j < m) y0[j] = 0; - return y0; - } - function d3_layout_stackMaxIndex(array) { - var i = 1, j = 0, v = array[0][1], k, n = array.length; - for (;i < n; ++i) { - if ((k = array[i][1]) > v) { - j = i; - v = k; - } - } - return j; - } - function d3_layout_stackReduceSum(d) { - return d.reduce(d3_layout_stackSum, 0); - } - function d3_layout_stackSum(p, d) { - return p + d[1]; - } - d3.layout.histogram = function() { - var frequency = true, valuer = Number, ranger = d3_layout_histogramRange, binner = d3_layout_histogramBinSturges; - function histogram(data, i) { - var bins = [], values = data.map(valuer, this), range = ranger.call(this, values, i), thresholds = binner.call(this, range, values, i), bin, i = -1, n = values.length, m = thresholds.length - 1, k = frequency ? 1 : 1 / n, x; - while (++i < m) { - bin = bins[i] = []; - bin.dx = thresholds[i + 1] - (bin.x = thresholds[i]); - bin.y = 0; - } - if (m > 0) { - i = -1; - while (++i < n) { - x = values[i]; - if (x >= range[0] && x <= range[1]) { - bin = bins[d3.bisect(thresholds, x, 1, m) - 1]; - bin.y += k; - bin.push(data[i]); - } - } - } - return bins; - } - histogram.value = function(x) { - if (!arguments.length) return valuer; - valuer = x; - return histogram; - }; - histogram.range = function(x) { - if (!arguments.length) return ranger; - ranger = d3_functor(x); - return histogram; - }; - histogram.bins = function(x) { - if (!arguments.length) return binner; - binner = typeof x === "number" ? function(range) { - return d3_layout_histogramBinFixed(range, x); - } : d3_functor(x); - return histogram; - }; - histogram.frequency = function(x) { - if (!arguments.length) return frequency; - frequency = !!x; - return histogram; - }; - return histogram; - }; - function d3_layout_histogramBinSturges(range, values) { - return d3_layout_histogramBinFixed(range, Math.ceil(Math.log(values.length) / Math.LN2 + 1)); - } - function d3_layout_histogramBinFixed(range, n) { - var x = -1, b = +range[0], m = (range[1] - b) / n, f = []; - while (++x <= n) f[x] = m * x + b; - return f; - } - function d3_layout_histogramRange(values) { - return [ d3.min(values), d3.max(values) ]; - } - d3.layout.pack = function() { - var hierarchy = d3.layout.hierarchy().sort(d3_layout_packSort), padding = 0, size = [ 1, 1 ], radius; - function pack(d, i) { - var nodes = hierarchy.call(this, d, i), root = nodes[0], w = size[0], h = size[1], r = radius == null ? Math.sqrt : typeof radius === "function" ? radius : function() { - return radius; - }; - root.x = root.y = 0; - d3_layout_hierarchyVisitAfter(root, function(d) { - d.r = +r(d.value); - }); - d3_layout_hierarchyVisitAfter(root, d3_layout_packSiblings); - if (padding) { - var dr = padding * (radius ? 1 : Math.max(2 * root.r / w, 2 * root.r / h)) / 2; - d3_layout_hierarchyVisitAfter(root, function(d) { - d.r += dr; - }); - d3_layout_hierarchyVisitAfter(root, d3_layout_packSiblings); - d3_layout_hierarchyVisitAfter(root, function(d) { - d.r -= dr; - }); - } - d3_layout_packTransform(root, w / 2, h / 2, radius ? 1 : 1 / Math.max(2 * root.r / w, 2 * root.r / h)); - return nodes; - } - pack.size = function(_) { - if (!arguments.length) return size; - size = _; - return pack; - }; - pack.radius = function(_) { - if (!arguments.length) return radius; - radius = _ == null || typeof _ === "function" ? _ : +_; - return pack; - }; - pack.padding = function(_) { - if (!arguments.length) return padding; - padding = +_; - return pack; - }; - return d3_layout_hierarchyRebind(pack, hierarchy); - }; - function d3_layout_packSort(a, b) { - return a.value - b.value; - } - function d3_layout_packInsert(a, b) { - var c = a._pack_next; - a._pack_next = b; - b._pack_prev = a; - b._pack_next = c; - c._pack_prev = b; - } - function d3_layout_packSplice(a, b) { - a._pack_next = b; - b._pack_prev = a; - } - function d3_layout_packIntersects(a, b) { - var dx = b.x - a.x, dy = b.y - a.y, dr = a.r + b.r; - return .999 * dr * dr > dx * dx + dy * dy; - } - function d3_layout_packSiblings(node) { - if (!(nodes = node.children) || !(n = nodes.length)) return; - var nodes, xMin = Infinity, xMax = -Infinity, yMin = Infinity, yMax = -Infinity, a, b, c, i, j, k, n; - function bound(node) { - xMin = Math.min(node.x - node.r, xMin); - xMax = Math.max(node.x + node.r, xMax); - yMin = Math.min(node.y - node.r, yMin); - yMax = Math.max(node.y + node.r, yMax); - } - nodes.forEach(d3_layout_packLink); - a = nodes[0]; - a.x = -a.r; - a.y = 0; - bound(a); - if (n > 1) { - b = nodes[1]; - b.x = b.r; - b.y = 0; - bound(b); - if (n > 2) { - c = nodes[2]; - d3_layout_packPlace(a, b, c); - bound(c); - d3_layout_packInsert(a, c); - a._pack_prev = c; - d3_layout_packInsert(c, b); - b = a._pack_next; - for (i = 3; i < n; i++) { - d3_layout_packPlace(a, b, c = nodes[i]); - var isect = 0, s1 = 1, s2 = 1; - for (j = b._pack_next; j !== b; j = j._pack_next, s1++) { - if (d3_layout_packIntersects(j, c)) { - isect = 1; - break; - } - } - if (isect == 1) { - for (k = a._pack_prev; k !== j._pack_prev; k = k._pack_prev, s2++) { - if (d3_layout_packIntersects(k, c)) { - break; - } - } - } - if (isect) { - if (s1 < s2 || s1 == s2 && b.r < a.r) d3_layout_packSplice(a, b = j); else d3_layout_packSplice(a = k, b); - i--; - } else { - d3_layout_packInsert(a, c); - b = c; - bound(c); - } - } - } - } - var cx = (xMin + xMax) / 2, cy = (yMin + yMax) / 2, cr = 0; - for (i = 0; i < n; i++) { - c = nodes[i]; - c.x -= cx; - c.y -= cy; - cr = Math.max(cr, c.r + Math.sqrt(c.x * c.x + c.y * c.y)); - } - node.r = cr; - nodes.forEach(d3_layout_packUnlink); - } - function d3_layout_packLink(node) { - node._pack_next = node._pack_prev = node; - } - function d3_layout_packUnlink(node) { - delete node._pack_next; - delete node._pack_prev; - } - function d3_layout_packTransform(node, x, y, k) { - var children = node.children; - node.x = x += k * node.x; - node.y = y += k * node.y; - node.r *= k; - if (children) { - var i = -1, n = children.length; - while (++i < n) d3_layout_packTransform(children[i], x, y, k); - } - } - function d3_layout_packPlace(a, b, c) { - var db = a.r + c.r, dx = b.x - a.x, dy = b.y - a.y; - if (db && (dx || dy)) { - var da = b.r + c.r, dc = dx * dx + dy * dy; - da *= da; - db *= db; - var x = .5 + (db - da) / (2 * dc), y = Math.sqrt(Math.max(0, 2 * da * (db + dc) - (db -= dc) * db - da * da)) / (2 * dc); - c.x = a.x + x * dx + y * dy; - c.y = a.y + x * dy - y * dx; - } else { - c.x = a.x + db; - c.y = a.y; - } - } - d3.layout.tree = function() { - var hierarchy = d3.layout.hierarchy().sort(null).value(null), separation = d3_layout_treeSeparation, size = [ 1, 1 ], nodeSize = null; - function tree(d, i) { - var nodes = hierarchy.call(this, d, i), root0 = nodes[0], root1 = wrapTree(root0); - d3_layout_hierarchyVisitAfter(root1, firstWalk), root1.parent.m = -root1.z; - d3_layout_hierarchyVisitBefore(root1, secondWalk); - if (nodeSize) d3_layout_hierarchyVisitBefore(root0, sizeNode); else { - var left = root0, right = root0, bottom = root0; - d3_layout_hierarchyVisitBefore(root0, function(node) { - if (node.x < left.x) left = node; - if (node.x > right.x) right = node; - if (node.depth > bottom.depth) bottom = node; - }); - var tx = separation(left, right) / 2 - left.x, kx = size[0] / (right.x + separation(right, left) / 2 + tx), ky = size[1] / (bottom.depth || 1); - d3_layout_hierarchyVisitBefore(root0, function(node) { - node.x = (node.x + tx) * kx; - node.y = node.depth * ky; - }); - } - return nodes; - } - function wrapTree(root0) { - var root1 = { - A: null, - children: [ root0 ] - }, queue = [ root1 ], node1; - while ((node1 = queue.pop()) != null) { - for (var children = node1.children, child, i = 0, n = children.length; i < n; ++i) { - queue.push((children[i] = child = { - _: children[i], - parent: node1, - children: (child = children[i].children) && child.slice() || [], - A: null, - a: null, - z: 0, - m: 0, - c: 0, - s: 0, - t: null, - i: i - }).a = child); - } - } - return root1.children[0]; - } - function firstWalk(v) { - var children = v.children, siblings = v.parent.children, w = v.i ? siblings[v.i - 1] : null; - if (children.length) { - d3_layout_treeShift(v); - var midpoint = (children[0].z + children[children.length - 1].z) / 2; - if (w) { - v.z = w.z + separation(v._, w._); - v.m = v.z - midpoint; - } else { - v.z = midpoint; - } - } else if (w) { - v.z = w.z + separation(v._, w._); - } - v.parent.A = apportion(v, w, v.parent.A || siblings[0]); - } - function secondWalk(v) { - v._.x = v.z + v.parent.m; - v.m += v.parent.m; - } - function apportion(v, w, ancestor) { - if (w) { - var vip = v, vop = v, vim = w, vom = vip.parent.children[0], sip = vip.m, sop = vop.m, sim = vim.m, som = vom.m, shift; - while (vim = d3_layout_treeRight(vim), vip = d3_layout_treeLeft(vip), vim && vip) { - vom = d3_layout_treeLeft(vom); - vop = d3_layout_treeRight(vop); - vop.a = v; - shift = vim.z + sim - vip.z - sip + separation(vim._, vip._); - if (shift > 0) { - d3_layout_treeMove(d3_layout_treeAncestor(vim, v, ancestor), v, shift); - sip += shift; - sop += shift; - } - sim += vim.m; - sip += vip.m; - som += vom.m; - sop += vop.m; - } - if (vim && !d3_layout_treeRight(vop)) { - vop.t = vim; - vop.m += sim - sop; - } - if (vip && !d3_layout_treeLeft(vom)) { - vom.t = vip; - vom.m += sip - som; - ancestor = v; - } - } - return ancestor; - } - function sizeNode(node) { - node.x *= size[0]; - node.y = node.depth * size[1]; - } - tree.separation = function(x) { - if (!arguments.length) return separation; - separation = x; - return tree; - }; - tree.size = function(x) { - if (!arguments.length) return nodeSize ? null : size; - nodeSize = (size = x) == null ? sizeNode : null; - return tree; - }; - tree.nodeSize = function(x) { - if (!arguments.length) return nodeSize ? size : null; - nodeSize = (size = x) == null ? null : sizeNode; - return tree; - }; - return d3_layout_hierarchyRebind(tree, hierarchy); - }; - function d3_layout_treeSeparation(a, b) { - return a.parent == b.parent ? 1 : 2; - } - function d3_layout_treeLeft(v) { - var children = v.children; - return children.length ? children[0] : v.t; - } - function d3_layout_treeRight(v) { - var children = v.children, n; - return (n = children.length) ? children[n - 1] : v.t; - } - function d3_layout_treeMove(wm, wp, shift) { - var change = shift / (wp.i - wm.i); - wp.c -= change; - wp.s += shift; - wm.c += change; - wp.z += shift; - wp.m += shift; - } - function d3_layout_treeShift(v) { - var shift = 0, change = 0, children = v.children, i = children.length, w; - while (--i >= 0) { - w = children[i]; - w.z += shift; - w.m += shift; - shift += w.s + (change += w.c); - } - } - function d3_layout_treeAncestor(vim, v, ancestor) { - return vim.a.parent === v.parent ? vim.a : ancestor; - } - d3.layout.cluster = function() { - var hierarchy = d3.layout.hierarchy().sort(null).value(null), separation = d3_layout_treeSeparation, size = [ 1, 1 ], nodeSize = false; - function cluster(d, i) { - var nodes = hierarchy.call(this, d, i), root = nodes[0], previousNode, x = 0; - d3_layout_hierarchyVisitAfter(root, function(node) { - var children = node.children; - if (children && children.length) { - node.x = d3_layout_clusterX(children); - node.y = d3_layout_clusterY(children); - } else { - node.x = previousNode ? x += separation(node, previousNode) : 0; - node.y = 0; - previousNode = node; - } - }); - var left = d3_layout_clusterLeft(root), right = d3_layout_clusterRight(root), x0 = left.x - separation(left, right) / 2, x1 = right.x + separation(right, left) / 2; - d3_layout_hierarchyVisitAfter(root, nodeSize ? function(node) { - node.x = (node.x - root.x) * size[0]; - node.y = (root.y - node.y) * size[1]; - } : function(node) { - node.x = (node.x - x0) / (x1 - x0) * size[0]; - node.y = (1 - (root.y ? node.y / root.y : 1)) * size[1]; - }); - return nodes; - } - cluster.separation = function(x) { - if (!arguments.length) return separation; - separation = x; - return cluster; - }; - cluster.size = function(x) { - if (!arguments.length) return nodeSize ? null : size; - nodeSize = (size = x) == null; - return cluster; - }; - cluster.nodeSize = function(x) { - if (!arguments.length) return nodeSize ? size : null; - nodeSize = (size = x) != null; - return cluster; - }; - return d3_layout_hierarchyRebind(cluster, hierarchy); - }; - function d3_layout_clusterY(children) { - return 1 + d3.max(children, function(child) { - return child.y; - }); - } - function d3_layout_clusterX(children) { - return children.reduce(function(x, child) { - return x + child.x; - }, 0) / children.length; - } - function d3_layout_clusterLeft(node) { - var children = node.children; - return children && children.length ? d3_layout_clusterLeft(children[0]) : node; - } - function d3_layout_clusterRight(node) { - var children = node.children, n; - return children && (n = children.length) ? d3_layout_clusterRight(children[n - 1]) : node; - } - d3.layout.treemap = function() { - var hierarchy = d3.layout.hierarchy(), round = Math.round, size = [ 1, 1 ], padding = null, pad = d3_layout_treemapPadNull, sticky = false, stickies, mode = "squarify", ratio = .5 * (1 + Math.sqrt(5)); - function scale(children, k) { - var i = -1, n = children.length, child, area; - while (++i < n) { - area = (child = children[i]).value * (k < 0 ? 0 : k); - child.area = isNaN(area) || area <= 0 ? 0 : area; - } - } - function squarify(node) { - var children = node.children; - if (children && children.length) { - var rect = pad(node), row = [], remaining = children.slice(), child, best = Infinity, score, u = mode === "slice" ? rect.dx : mode === "dice" ? rect.dy : mode === "slice-dice" ? node.depth & 1 ? rect.dy : rect.dx : Math.min(rect.dx, rect.dy), n; - scale(remaining, rect.dx * rect.dy / node.value); - row.area = 0; - while ((n = remaining.length) > 0) { - row.push(child = remaining[n - 1]); - row.area += child.area; - if (mode !== "squarify" || (score = worst(row, u)) <= best) { - remaining.pop(); - best = score; - } else { - row.area -= row.pop().area; - position(row, u, rect, false); - u = Math.min(rect.dx, rect.dy); - row.length = row.area = 0; - best = Infinity; - } - } - if (row.length) { - position(row, u, rect, true); - row.length = row.area = 0; - } - children.forEach(squarify); - } - } - function stickify(node) { - var children = node.children; - if (children && children.length) { - var rect = pad(node), remaining = children.slice(), child, row = []; - scale(remaining, rect.dx * rect.dy / node.value); - row.area = 0; - while (child = remaining.pop()) { - row.push(child); - row.area += child.area; - if (child.z != null) { - position(row, child.z ? rect.dx : rect.dy, rect, !remaining.length); - row.length = row.area = 0; - } - } - children.forEach(stickify); - } - } - function worst(row, u) { - var s = row.area, r, rmax = 0, rmin = Infinity, i = -1, n = row.length; - while (++i < n) { - if (!(r = row[i].area)) continue; - if (r < rmin) rmin = r; - if (r > rmax) rmax = r; - } - s *= s; - u *= u; - return s ? Math.max(u * rmax * ratio / s, s / (u * rmin * ratio)) : Infinity; - } - function position(row, u, rect, flush) { - var i = -1, n = row.length, x = rect.x, y = rect.y, v = u ? round(row.area / u) : 0, o; - if (u == rect.dx) { - if (flush || v > rect.dy) v = rect.dy; - while (++i < n) { - o = row[i]; - o.x = x; - o.y = y; - o.dy = v; - x += o.dx = Math.min(rect.x + rect.dx - x, v ? round(o.area / v) : 0); - } - o.z = true; - o.dx += rect.x + rect.dx - x; - rect.y += v; - rect.dy -= v; - } else { - if (flush || v > rect.dx) v = rect.dx; - while (++i < n) { - o = row[i]; - o.x = x; - o.y = y; - o.dx = v; - y += o.dy = Math.min(rect.y + rect.dy - y, v ? round(o.area / v) : 0); - } - o.z = false; - o.dy += rect.y + rect.dy - y; - rect.x += v; - rect.dx -= v; - } - } - function treemap(d) { - var nodes = stickies || hierarchy(d), root = nodes[0]; - root.x = 0; - root.y = 0; - root.dx = size[0]; - root.dy = size[1]; - if (stickies) hierarchy.revalue(root); - scale([ root ], root.dx * root.dy / root.value); - (stickies ? stickify : squarify)(root); - if (sticky) stickies = nodes; - return nodes; - } - treemap.size = function(x) { - if (!arguments.length) return size; - size = x; - return treemap; - }; - treemap.padding = function(x) { - if (!arguments.length) return padding; - function padFunction(node) { - var p = x.call(treemap, node, node.depth); - return p == null ? d3_layout_treemapPadNull(node) : d3_layout_treemapPad(node, typeof p === "number" ? [ p, p, p, p ] : p); - } - function padConstant(node) { - return d3_layout_treemapPad(node, x); - } - var type; - pad = (padding = x) == null ? d3_layout_treemapPadNull : (type = typeof x) === "function" ? padFunction : type === "number" ? (x = [ x, x, x, x ], - padConstant) : padConstant; - return treemap; - }; - treemap.round = function(x) { - if (!arguments.length) return round != Number; - round = x ? Math.round : Number; - return treemap; - }; - treemap.sticky = function(x) { - if (!arguments.length) return sticky; - sticky = x; - stickies = null; - return treemap; - }; - treemap.ratio = function(x) { - if (!arguments.length) return ratio; - ratio = x; - return treemap; - }; - treemap.mode = function(x) { - if (!arguments.length) return mode; - mode = x + ""; - return treemap; - }; - return d3_layout_hierarchyRebind(treemap, hierarchy); - }; - function d3_layout_treemapPadNull(node) { - return { - x: node.x, - y: node.y, - dx: node.dx, - dy: node.dy - }; - } - function d3_layout_treemapPad(node, padding) { - var x = node.x + padding[3], y = node.y + padding[0], dx = node.dx - padding[1] - padding[3], dy = node.dy - padding[0] - padding[2]; - if (dx < 0) { - x += dx / 2; - dx = 0; - } - if (dy < 0) { - y += dy / 2; - dy = 0; - } - return { - x: x, - y: y, - dx: dx, - dy: dy - }; - } - d3.random = { - normal: function(µ, σ) { - var n = arguments.length; - if (n < 2) σ = 1; - if (n < 1) µ = 0; - return function() { - var x, y, r; - do { - x = Math.random() * 2 - 1; - y = Math.random() * 2 - 1; - r = x * x + y * y; - } while (!r || r > 1); - return µ + σ * x * Math.sqrt(-2 * Math.log(r) / r); - }; - }, - logNormal: function() { - var random = d3.random.normal.apply(d3, arguments); - return function() { - return Math.exp(random()); - }; - }, - bates: function(m) { - var random = d3.random.irwinHall(m); - return function() { - return random() / m; - }; - }, - irwinHall: function(m) { - return function() { - for (var s = 0, j = 0; j < m; j++) s += Math.random(); - return s; - }; - } - }; - d3.scale = {}; - function d3_scaleExtent(domain) { - var start = domain[0], stop = domain[domain.length - 1]; - return start < stop ? [ start, stop ] : [ stop, start ]; - } - function d3_scaleRange(scale) { - return scale.rangeExtent ? scale.rangeExtent() : d3_scaleExtent(scale.range()); - } - function d3_scale_bilinear(domain, range, uninterpolate, interpolate) { - var u = uninterpolate(domain[0], domain[1]), i = interpolate(range[0], range[1]); - return function(x) { - return i(u(x)); - }; - } - function d3_scale_nice(domain, nice) { - var i0 = 0, i1 = domain.length - 1, x0 = domain[i0], x1 = domain[i1], dx; - if (x1 < x0) { - dx = i0, i0 = i1, i1 = dx; - dx = x0, x0 = x1, x1 = dx; - } - domain[i0] = nice.floor(x0); - domain[i1] = nice.ceil(x1); - return domain; - } - function d3_scale_niceStep(step) { - return step ? { - floor: function(x) { - return Math.floor(x / step) * step; - }, - ceil: function(x) { - return Math.ceil(x / step) * step; - } - } : d3_scale_niceIdentity; - } - var d3_scale_niceIdentity = { - floor: d3_identity, - ceil: d3_identity - }; - function d3_scale_polylinear(domain, range, uninterpolate, interpolate) { - var u = [], i = [], j = 0, k = Math.min(domain.length, range.length) - 1; - if (domain[k] < domain[0]) { - domain = domain.slice().reverse(); - range = range.slice().reverse(); - } - while (++j <= k) { - u.push(uninterpolate(domain[j - 1], domain[j])); - i.push(interpolate(range[j - 1], range[j])); - } - return function(x) { - var j = d3.bisect(domain, x, 1, k) - 1; - return i[j](u[j](x)); - }; - } - d3.scale.linear = function() { - return d3_scale_linear([ 0, 1 ], [ 0, 1 ], d3_interpolate, false); - }; - function d3_scale_linear(domain, range, interpolate, clamp) { - var output, input; - function rescale() { - var linear = Math.min(domain.length, range.length) > 2 ? d3_scale_polylinear : d3_scale_bilinear, uninterpolate = clamp ? d3_uninterpolateClamp : d3_uninterpolateNumber; - output = linear(domain, range, uninterpolate, interpolate); - input = linear(range, domain, uninterpolate, d3_interpolate); - return scale; - } - function scale(x) { - return output(x); - } - scale.invert = function(y) { - return input(y); - }; - scale.domain = function(x) { - if (!arguments.length) return domain; - domain = x.map(Number); - return rescale(); - }; - scale.range = function(x) { - if (!arguments.length) return range; - range = x; - return rescale(); - }; - scale.rangeRound = function(x) { - return scale.range(x).interpolate(d3_interpolateRound); - }; - scale.clamp = function(x) { - if (!arguments.length) return clamp; - clamp = x; - return rescale(); - }; - scale.interpolate = function(x) { - if (!arguments.length) return interpolate; - interpolate = x; - return rescale(); - }; - scale.ticks = function(m) { - return d3_scale_linearTicks(domain, m); - }; - scale.tickFormat = function(m, format) { - return d3_scale_linearTickFormat(domain, m, format); - }; - scale.nice = function(m) { - d3_scale_linearNice(domain, m); - return rescale(); - }; - scale.copy = function() { - return d3_scale_linear(domain, range, interpolate, clamp); - }; - return rescale(); - } - function d3_scale_linearRebind(scale, linear) { - return d3.rebind(scale, linear, "range", "rangeRound", "interpolate", "clamp"); - } - function d3_scale_linearNice(domain, m) { - return d3_scale_nice(domain, d3_scale_niceStep(d3_scale_linearTickRange(domain, m)[2])); - } - function d3_scale_linearTickRange(domain, m) { - if (m == null) m = 10; - var extent = d3_scaleExtent(domain), span = extent[1] - extent[0], step = Math.pow(10, Math.floor(Math.log(span / m) / Math.LN10)), err = m / span * step; - if (err <= .15) step *= 10; else if (err <= .35) step *= 5; else if (err <= .75) step *= 2; - extent[0] = Math.ceil(extent[0] / step) * step; - extent[1] = Math.floor(extent[1] / step) * step + step * .5; - extent[2] = step; - return extent; - } - function d3_scale_linearTicks(domain, m) { - return d3.range.apply(d3, d3_scale_linearTickRange(domain, m)); - } - function d3_scale_linearTickFormat(domain, m, format) { - var range = d3_scale_linearTickRange(domain, m); - if (format) { - var match = d3_format_re.exec(format); - match.shift(); - if (match[8] === "s") { - var prefix = d3.formatPrefix(Math.max(abs(range[0]), abs(range[1]))); - if (!match[7]) match[7] = "." + d3_scale_linearPrecision(prefix.scale(range[2])); - match[8] = "f"; - format = d3.format(match.join("")); - return function(d) { - return format(prefix.scale(d)) + prefix.symbol; - }; - } - if (!match[7]) match[7] = "." + d3_scale_linearFormatPrecision(match[8], range); - format = match.join(""); - } else { - format = ",." + d3_scale_linearPrecision(range[2]) + "f"; - } - return d3.format(format); - } - var d3_scale_linearFormatSignificant = { - s: 1, - g: 1, - p: 1, - r: 1, - e: 1 - }; - function d3_scale_linearPrecision(value) { - return -Math.floor(Math.log(value) / Math.LN10 + .01); - } - function d3_scale_linearFormatPrecision(type, range) { - var p = d3_scale_linearPrecision(range[2]); - return type in d3_scale_linearFormatSignificant ? Math.abs(p - d3_scale_linearPrecision(Math.max(abs(range[0]), abs(range[1])))) + +(type !== "e") : p - (type === "%") * 2; - } - d3.scale.log = function() { - return d3_scale_log(d3.scale.linear().domain([ 0, 1 ]), 10, true, [ 1, 10 ]); - }; - function d3_scale_log(linear, base, positive, domain) { - function log(x) { - return (positive ? Math.log(x < 0 ? 0 : x) : -Math.log(x > 0 ? 0 : -x)) / Math.log(base); - } - function pow(x) { - return positive ? Math.pow(base, x) : -Math.pow(base, -x); - } - function scale(x) { - return linear(log(x)); - } - scale.invert = function(x) { - return pow(linear.invert(x)); - }; - scale.domain = function(x) { - if (!arguments.length) return domain; - positive = x[0] >= 0; - linear.domain((domain = x.map(Number)).map(log)); - return scale; - }; - scale.base = function(_) { - if (!arguments.length) return base; - base = +_; - linear.domain(domain.map(log)); - return scale; - }; - scale.nice = function() { - var niced = d3_scale_nice(domain.map(log), positive ? Math : d3_scale_logNiceNegative); - linear.domain(niced); - domain = niced.map(pow); - return scale; - }; - scale.ticks = function() { - var extent = d3_scaleExtent(domain), ticks = [], u = extent[0], v = extent[1], i = Math.floor(log(u)), j = Math.ceil(log(v)), n = base % 1 ? 2 : base; - if (isFinite(j - i)) { - if (positive) { - for (;i < j; i++) for (var k = 1; k < n; k++) ticks.push(pow(i) * k); - ticks.push(pow(i)); - } else { - ticks.push(pow(i)); - for (;i++ < j; ) for (var k = n - 1; k > 0; k--) ticks.push(pow(i) * k); - } - for (i = 0; ticks[i] < u; i++) {} - for (j = ticks.length; ticks[j - 1] > v; j--) {} - ticks = ticks.slice(i, j); - } - return ticks; - }; - scale.tickFormat = function(n, format) { - if (!arguments.length) return d3_scale_logFormat; - if (arguments.length < 2) format = d3_scale_logFormat; else if (typeof format !== "function") format = d3.format(format); - var k = Math.max(.1, n / scale.ticks().length), f = positive ? (e = 1e-12, Math.ceil) : (e = -1e-12, - Math.floor), e; - return function(d) { - return d / pow(f(log(d) + e)) <= k ? format(d) : ""; - }; - }; - scale.copy = function() { - return d3_scale_log(linear.copy(), base, positive, domain); - }; - return d3_scale_linearRebind(scale, linear); - } - var d3_scale_logFormat = d3.format(".0e"), d3_scale_logNiceNegative = { - floor: function(x) { - return -Math.ceil(-x); - }, - ceil: function(x) { - return -Math.floor(-x); - } - }; - d3.scale.pow = function() { - return d3_scale_pow(d3.scale.linear(), 1, [ 0, 1 ]); - }; - function d3_scale_pow(linear, exponent, domain) { - var powp = d3_scale_powPow(exponent), powb = d3_scale_powPow(1 / exponent); - function scale(x) { - return linear(powp(x)); - } - scale.invert = function(x) { - return powb(linear.invert(x)); - }; - scale.domain = function(x) { - if (!arguments.length) return domain; - linear.domain((domain = x.map(Number)).map(powp)); - return scale; - }; - scale.ticks = function(m) { - return d3_scale_linearTicks(domain, m); - }; - scale.tickFormat = function(m, format) { - return d3_scale_linearTickFormat(domain, m, format); - }; - scale.nice = function(m) { - return scale.domain(d3_scale_linearNice(domain, m)); - }; - scale.exponent = function(x) { - if (!arguments.length) return exponent; - powp = d3_scale_powPow(exponent = x); - powb = d3_scale_powPow(1 / exponent); - linear.domain(domain.map(powp)); - return scale; - }; - scale.copy = function() { - return d3_scale_pow(linear.copy(), exponent, domain); - }; - return d3_scale_linearRebind(scale, linear); - } - function d3_scale_powPow(e) { - return function(x) { - return x < 0 ? -Math.pow(-x, e) : Math.pow(x, e); - }; - } - d3.scale.sqrt = function() { - return d3.scale.pow().exponent(.5); - }; - d3.scale.ordinal = function() { - return d3_scale_ordinal([], { - t: "range", - a: [ [] ] - }); - }; - function d3_scale_ordinal(domain, ranger) { - var index, range, rangeBand; - function scale(x) { - return range[((index.get(x) || (ranger.t === "range" ? index.set(x, domain.push(x)) : NaN)) - 1) % range.length]; - } - function steps(start, step) { - return d3.range(domain.length).map(function(i) { - return start + step * i; - }); - } - scale.domain = function(x) { - if (!arguments.length) return domain; - domain = []; - index = new d3_Map(); - var i = -1, n = x.length, xi; - while (++i < n) if (!index.has(xi = x[i])) index.set(xi, domain.push(xi)); - return scale[ranger.t].apply(scale, ranger.a); - }; - scale.range = function(x) { - if (!arguments.length) return range; - range = x; - rangeBand = 0; - ranger = { - t: "range", - a: arguments - }; - return scale; - }; - scale.rangePoints = function(x, padding) { - if (arguments.length < 2) padding = 0; - var start = x[0], stop = x[1], step = domain.length < 2 ? (start = (start + stop) / 2, - 0) : (stop - start) / (domain.length - 1 + padding); - range = steps(start + step * padding / 2, step); - rangeBand = 0; - ranger = { - t: "rangePoints", - a: arguments - }; - return scale; - }; - scale.rangeRoundPoints = function(x, padding) { - if (arguments.length < 2) padding = 0; - var start = x[0], stop = x[1], step = domain.length < 2 ? (start = stop = Math.round((start + stop) / 2), - 0) : (stop - start) / (domain.length - 1 + padding) | 0; - range = steps(start + Math.round(step * padding / 2 + (stop - start - (domain.length - 1 + padding) * step) / 2), step); - rangeBand = 0; - ranger = { - t: "rangeRoundPoints", - a: arguments - }; - return scale; - }; - scale.rangeBands = function(x, padding, outerPadding) { - if (arguments.length < 2) padding = 0; - if (arguments.length < 3) outerPadding = padding; - var reverse = x[1] < x[0], start = x[reverse - 0], stop = x[1 - reverse], step = (stop - start) / (domain.length - padding + 2 * outerPadding); - range = steps(start + step * outerPadding, step); - if (reverse) range.reverse(); - rangeBand = step * (1 - padding); - ranger = { - t: "rangeBands", - a: arguments - }; - return scale; - }; - scale.rangeRoundBands = function(x, padding, outerPadding) { - if (arguments.length < 2) padding = 0; - if (arguments.length < 3) outerPadding = padding; - var reverse = x[1] < x[0], start = x[reverse - 0], stop = x[1 - reverse], step = Math.floor((stop - start) / (domain.length - padding + 2 * outerPadding)); - range = steps(start + Math.round((stop - start - (domain.length - padding) * step) / 2), step); - if (reverse) range.reverse(); - rangeBand = Math.round(step * (1 - padding)); - ranger = { - t: "rangeRoundBands", - a: arguments - }; - return scale; - }; - scale.rangeBand = function() { - return rangeBand; - }; - scale.rangeExtent = function() { - return d3_scaleExtent(ranger.a[0]); - }; - scale.copy = function() { - return d3_scale_ordinal(domain, ranger); - }; - return scale.domain(domain); - } - d3.scale.category10 = function() { - return d3.scale.ordinal().range(d3_category10); - }; - d3.scale.category20 = function() { - return d3.scale.ordinal().range(d3_category20); - }; - d3.scale.category20b = function() { - return d3.scale.ordinal().range(d3_category20b); - }; - d3.scale.category20c = function() { - return d3.scale.ordinal().range(d3_category20c); - }; - var d3_category10 = [ 2062260, 16744206, 2924588, 14034728, 9725885, 9197131, 14907330, 8355711, 12369186, 1556175 ].map(d3_rgbString); - var d3_category20 = [ 2062260, 11454440, 16744206, 16759672, 2924588, 10018698, 14034728, 16750742, 9725885, 12955861, 9197131, 12885140, 14907330, 16234194, 8355711, 13092807, 12369186, 14408589, 1556175, 10410725 ].map(d3_rgbString); - var d3_category20b = [ 3750777, 5395619, 7040719, 10264286, 6519097, 9216594, 11915115, 13556636, 9202993, 12426809, 15186514, 15190932, 8666169, 11356490, 14049643, 15177372, 8077683, 10834324, 13528509, 14589654 ].map(d3_rgbString); - var d3_category20c = [ 3244733, 7057110, 10406625, 13032431, 15095053, 16616764, 16625259, 16634018, 3253076, 7652470, 10607003, 13101504, 7695281, 10394312, 12369372, 14342891, 6513507, 9868950, 12434877, 14277081 ].map(d3_rgbString); - d3.scale.quantile = function() { - return d3_scale_quantile([], []); - }; - function d3_scale_quantile(domain, range) { - var thresholds; - function rescale() { - var k = 0, q = range.length; - thresholds = []; - while (++k < q) thresholds[k - 1] = d3.quantile(domain, k / q); - return scale; - } - function scale(x) { - if (!isNaN(x = +x)) return range[d3.bisect(thresholds, x)]; - } - scale.domain = function(x) { - if (!arguments.length) return domain; - domain = x.map(d3_number).filter(d3_numeric).sort(d3_ascending); - return rescale(); - }; - scale.range = function(x) { - if (!arguments.length) return range; - range = x; - return rescale(); - }; - scale.quantiles = function() { - return thresholds; - }; - scale.invertExtent = function(y) { - y = range.indexOf(y); - return y < 0 ? [ NaN, NaN ] : [ y > 0 ? thresholds[y - 1] : domain[0], y < thresholds.length ? thresholds[y] : domain[domain.length - 1] ]; - }; - scale.copy = function() { - return d3_scale_quantile(domain, range); - }; - return rescale(); - } - d3.scale.quantize = function() { - return d3_scale_quantize(0, 1, [ 0, 1 ]); - }; - function d3_scale_quantize(x0, x1, range) { - var kx, i; - function scale(x) { - return range[Math.max(0, Math.min(i, Math.floor(kx * (x - x0))))]; - } - function rescale() { - kx = range.length / (x1 - x0); - i = range.length - 1; - return scale; - } - scale.domain = function(x) { - if (!arguments.length) return [ x0, x1 ]; - x0 = +x[0]; - x1 = +x[x.length - 1]; - return rescale(); - }; - scale.range = function(x) { - if (!arguments.length) return range; - range = x; - return rescale(); - }; - scale.invertExtent = function(y) { - y = range.indexOf(y); - y = y < 0 ? NaN : y / kx + x0; - return [ y, y + 1 / kx ]; - }; - scale.copy = function() { - return d3_scale_quantize(x0, x1, range); - }; - return rescale(); - } - d3.scale.threshold = function() { - return d3_scale_threshold([ .5 ], [ 0, 1 ]); - }; - function d3_scale_threshold(domain, range) { - function scale(x) { - if (x <= x) return range[d3.bisect(domain, x)]; - } - scale.domain = function(_) { - if (!arguments.length) return domain; - domain = _; - return scale; - }; - scale.range = function(_) { - if (!arguments.length) return range; - range = _; - return scale; - }; - scale.invertExtent = function(y) { - y = range.indexOf(y); - return [ domain[y - 1], domain[y] ]; - }; - scale.copy = function() { - return d3_scale_threshold(domain, range); - }; - return scale; - } - d3.scale.identity = function() { - return d3_scale_identity([ 0, 1 ]); - }; - function d3_scale_identity(domain) { - function identity(x) { - return +x; - } - identity.invert = identity; - identity.domain = identity.range = function(x) { - if (!arguments.length) return domain; - domain = x.map(identity); - return identity; - }; - identity.ticks = function(m) { - return d3_scale_linearTicks(domain, m); - }; - identity.tickFormat = function(m, format) { - return d3_scale_linearTickFormat(domain, m, format); - }; - identity.copy = function() { - return d3_scale_identity(domain); - }; - return identity; - } - d3.svg = {}; - function d3_zero() { - return 0; - } - d3.svg.arc = function() { - var innerRadius = d3_svg_arcInnerRadius, outerRadius = d3_svg_arcOuterRadius, cornerRadius = d3_zero, padRadius = d3_svg_arcAuto, startAngle = d3_svg_arcStartAngle, endAngle = d3_svg_arcEndAngle, padAngle = d3_svg_arcPadAngle; - function arc() { - var r0 = Math.max(0, +innerRadius.apply(this, arguments)), r1 = Math.max(0, +outerRadius.apply(this, arguments)), a0 = startAngle.apply(this, arguments) - halfπ, a1 = endAngle.apply(this, arguments) - halfπ, da = Math.abs(a1 - a0), cw = a0 > a1 ? 0 : 1; - if (r1 < r0) rc = r1, r1 = r0, r0 = rc; - if (da >= τε) return circleSegment(r1, cw) + (r0 ? circleSegment(r0, 1 - cw) : "") + "Z"; - var rc, cr, rp, ap, p0 = 0, p1 = 0, x0, y0, x1, y1, x2, y2, x3, y3, path = []; - if (ap = (+padAngle.apply(this, arguments) || 0) / 2) { - rp = padRadius === d3_svg_arcAuto ? Math.sqrt(r0 * r0 + r1 * r1) : +padRadius.apply(this, arguments); - if (!cw) p1 *= -1; - if (r1) p1 = d3_asin(rp / r1 * Math.sin(ap)); - if (r0) p0 = d3_asin(rp / r0 * Math.sin(ap)); - } - if (r1) { - x0 = r1 * Math.cos(a0 + p1); - y0 = r1 * Math.sin(a0 + p1); - x1 = r1 * Math.cos(a1 - p1); - y1 = r1 * Math.sin(a1 - p1); - var l1 = Math.abs(a1 - a0 - 2 * p1) <= π ? 0 : 1; - if (p1 && d3_svg_arcSweep(x0, y0, x1, y1) === cw ^ l1) { - var h1 = (a0 + a1) / 2; - x0 = r1 * Math.cos(h1); - y0 = r1 * Math.sin(h1); - x1 = y1 = null; - } - } else { - x0 = y0 = 0; - } - if (r0) { - x2 = r0 * Math.cos(a1 - p0); - y2 = r0 * Math.sin(a1 - p0); - x3 = r0 * Math.cos(a0 + p0); - y3 = r0 * Math.sin(a0 + p0); - var l0 = Math.abs(a0 - a1 + 2 * p0) <= π ? 0 : 1; - if (p0 && d3_svg_arcSweep(x2, y2, x3, y3) === 1 - cw ^ l0) { - var h0 = (a0 + a1) / 2; - x2 = r0 * Math.cos(h0); - y2 = r0 * Math.sin(h0); - x3 = y3 = null; - } - } else { - x2 = y2 = 0; - } - if ((rc = Math.min(Math.abs(r1 - r0) / 2, +cornerRadius.apply(this, arguments))) > .001) { - cr = r0 < r1 ^ cw ? 0 : 1; - var oc = x3 == null ? [ x2, y2 ] : x1 == null ? [ x0, y0 ] : d3_geom_polygonIntersect([ x0, y0 ], [ x3, y3 ], [ x1, y1 ], [ x2, y2 ]), ax = x0 - oc[0], ay = y0 - oc[1], bx = x1 - oc[0], by = y1 - oc[1], kc = 1 / Math.sin(Math.acos((ax * bx + ay * by) / (Math.sqrt(ax * ax + ay * ay) * Math.sqrt(bx * bx + by * by))) / 2), lc = Math.sqrt(oc[0] * oc[0] + oc[1] * oc[1]); - if (x1 != null) { - var rc1 = Math.min(rc, (r1 - lc) / (kc + 1)), t30 = d3_svg_arcCornerTangents(x3 == null ? [ x2, y2 ] : [ x3, y3 ], [ x0, y0 ], r1, rc1, cw), t12 = d3_svg_arcCornerTangents([ x1, y1 ], [ x2, y2 ], r1, rc1, cw); - if (rc === rc1) { - path.push("M", t30[0], "A", rc1, ",", rc1, " 0 0,", cr, " ", t30[1], "A", r1, ",", r1, " 0 ", 1 - cw ^ d3_svg_arcSweep(t30[1][0], t30[1][1], t12[1][0], t12[1][1]), ",", cw, " ", t12[1], "A", rc1, ",", rc1, " 0 0,", cr, " ", t12[0]); - } else { - path.push("M", t30[0], "A", rc1, ",", rc1, " 0 1,", cr, " ", t12[0]); - } - } else { - path.push("M", x0, ",", y0); - } - if (x3 != null) { - var rc0 = Math.min(rc, (r0 - lc) / (kc - 1)), t03 = d3_svg_arcCornerTangents([ x0, y0 ], [ x3, y3 ], r0, -rc0, cw), t21 = d3_svg_arcCornerTangents([ x2, y2 ], x1 == null ? [ x0, y0 ] : [ x1, y1 ], r0, -rc0, cw); - if (rc === rc0) { - path.push("L", t21[0], "A", rc0, ",", rc0, " 0 0,", cr, " ", t21[1], "A", r0, ",", r0, " 0 ", cw ^ d3_svg_arcSweep(t21[1][0], t21[1][1], t03[1][0], t03[1][1]), ",", 1 - cw, " ", t03[1], "A", rc0, ",", rc0, " 0 0,", cr, " ", t03[0]); - } else { - path.push("L", t21[0], "A", rc0, ",", rc0, " 0 0,", cr, " ", t03[0]); - } - } else { - path.push("L", x2, ",", y2); - } - } else { - path.push("M", x0, ",", y0); - if (x1 != null) path.push("A", r1, ",", r1, " 0 ", l1, ",", cw, " ", x1, ",", y1); - path.push("L", x2, ",", y2); - if (x3 != null) path.push("A", r0, ",", r0, " 0 ", l0, ",", 1 - cw, " ", x3, ",", y3); - } - path.push("Z"); - return path.join(""); - } - function circleSegment(r1, cw) { - return "M0," + r1 + "A" + r1 + "," + r1 + " 0 1," + cw + " 0," + -r1 + "A" + r1 + "," + r1 + " 0 1," + cw + " 0," + r1; - } - arc.innerRadius = function(v) { - if (!arguments.length) return innerRadius; - innerRadius = d3_functor(v); - return arc; - }; - arc.outerRadius = function(v) { - if (!arguments.length) return outerRadius; - outerRadius = d3_functor(v); - return arc; - }; - arc.cornerRadius = function(v) { - if (!arguments.length) return cornerRadius; - cornerRadius = d3_functor(v); - return arc; - }; - arc.padRadius = function(v) { - if (!arguments.length) return padRadius; - padRadius = v == d3_svg_arcAuto ? d3_svg_arcAuto : d3_functor(v); - return arc; - }; - arc.startAngle = function(v) { - if (!arguments.length) return startAngle; - startAngle = d3_functor(v); - return arc; - }; - arc.endAngle = function(v) { - if (!arguments.length) return endAngle; - endAngle = d3_functor(v); - return arc; - }; - arc.padAngle = function(v) { - if (!arguments.length) return padAngle; - padAngle = d3_functor(v); - return arc; - }; - arc.centroid = function() { - var r = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2, a = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - halfπ; - return [ Math.cos(a) * r, Math.sin(a) * r ]; - }; - return arc; - }; - var d3_svg_arcAuto = "auto"; - function d3_svg_arcInnerRadius(d) { - return d.innerRadius; - } - function d3_svg_arcOuterRadius(d) { - return d.outerRadius; - } - function d3_svg_arcStartAngle(d) { - return d.startAngle; - } - function d3_svg_arcEndAngle(d) { - return d.endAngle; - } - function d3_svg_arcPadAngle(d) { - return d && d.padAngle; - } - function d3_svg_arcSweep(x0, y0, x1, y1) { - return (x0 - x1) * y0 - (y0 - y1) * x0 > 0 ? 0 : 1; - } - function d3_svg_arcCornerTangents(p0, p1, r1, rc, cw) { - var x01 = p0[0] - p1[0], y01 = p0[1] - p1[1], lo = (cw ? rc : -rc) / Math.sqrt(x01 * x01 + y01 * y01), ox = lo * y01, oy = -lo * x01, x1 = p0[0] + ox, y1 = p0[1] + oy, x2 = p1[0] + ox, y2 = p1[1] + oy, x3 = (x1 + x2) / 2, y3 = (y1 + y2) / 2, dx = x2 - x1, dy = y2 - y1, d2 = dx * dx + dy * dy, r = r1 - rc, D = x1 * y2 - x2 * y1, d = (dy < 0 ? -1 : 1) * Math.sqrt(r * r * d2 - D * D), cx0 = (D * dy - dx * d) / d2, cy0 = (-D * dx - dy * d) / d2, cx1 = (D * dy + dx * d) / d2, cy1 = (-D * dx + dy * d) / d2, dx0 = cx0 - x3, dy0 = cy0 - y3, dx1 = cx1 - x3, dy1 = cy1 - y3; - if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) cx0 = cx1, cy0 = cy1; - return [ [ cx0 - ox, cy0 - oy ], [ cx0 * r1 / r, cy0 * r1 / r ] ]; - } - function d3_svg_line(projection) { - var x = d3_geom_pointX, y = d3_geom_pointY, defined = d3_true, interpolate = d3_svg_lineLinear, interpolateKey = interpolate.key, tension = .7; - function line(data) { - var segments = [], points = [], i = -1, n = data.length, d, fx = d3_functor(x), fy = d3_functor(y); - function segment() { - segments.push("M", interpolate(projection(points), tension)); - } - while (++i < n) { - if (defined.call(this, d = data[i], i)) { - points.push([ +fx.call(this, d, i), +fy.call(this, d, i) ]); - } else if (points.length) { - segment(); - points = []; - } - } - if (points.length) segment(); - return segments.length ? segments.join("") : null; - } - line.x = function(_) { - if (!arguments.length) return x; - x = _; - return line; - }; - line.y = function(_) { - if (!arguments.length) return y; - y = _; - return line; - }; - line.defined = function(_) { - if (!arguments.length) return defined; - defined = _; - return line; - }; - line.interpolate = function(_) { - if (!arguments.length) return interpolateKey; - if (typeof _ === "function") interpolateKey = interpolate = _; else interpolateKey = (interpolate = d3_svg_lineInterpolators.get(_) || d3_svg_lineLinear).key; - return line; - }; - line.tension = function(_) { - if (!arguments.length) return tension; - tension = _; - return line; - }; - return line; - } - d3.svg.line = function() { - return d3_svg_line(d3_identity); - }; - var d3_svg_lineInterpolators = d3.map({ - linear: d3_svg_lineLinear, - "linear-closed": d3_svg_lineLinearClosed, - step: d3_svg_lineStep, - "step-before": d3_svg_lineStepBefore, - "step-after": d3_svg_lineStepAfter, - basis: d3_svg_lineBasis, - "basis-open": d3_svg_lineBasisOpen, - "basis-closed": d3_svg_lineBasisClosed, - bundle: d3_svg_lineBundle, - cardinal: d3_svg_lineCardinal, - "cardinal-open": d3_svg_lineCardinalOpen, - "cardinal-closed": d3_svg_lineCardinalClosed, - monotone: d3_svg_lineMonotone - }); - d3_svg_lineInterpolators.forEach(function(key, value) { - value.key = key; - value.closed = /-closed$/.test(key); - }); - function d3_svg_lineLinear(points) { - return points.join("L"); - } - function d3_svg_lineLinearClosed(points) { - return d3_svg_lineLinear(points) + "Z"; - } - function d3_svg_lineStep(points) { - var i = 0, n = points.length, p = points[0], path = [ p[0], ",", p[1] ]; - while (++i < n) path.push("H", (p[0] + (p = points[i])[0]) / 2, "V", p[1]); - if (n > 1) path.push("H", p[0]); - return path.join(""); - } - function d3_svg_lineStepBefore(points) { - var i = 0, n = points.length, p = points[0], path = [ p[0], ",", p[1] ]; - while (++i < n) path.push("V", (p = points[i])[1], "H", p[0]); - return path.join(""); - } - function d3_svg_lineStepAfter(points) { - var i = 0, n = points.length, p = points[0], path = [ p[0], ",", p[1] ]; - while (++i < n) path.push("H", (p = points[i])[0], "V", p[1]); - return path.join(""); - } - function d3_svg_lineCardinalOpen(points, tension) { - return points.length < 4 ? d3_svg_lineLinear(points) : points[1] + d3_svg_lineHermite(points.slice(1, -1), d3_svg_lineCardinalTangents(points, tension)); - } - function d3_svg_lineCardinalClosed(points, tension) { - return points.length < 3 ? d3_svg_lineLinear(points) : points[0] + d3_svg_lineHermite((points.push(points[0]), - points), d3_svg_lineCardinalTangents([ points[points.length - 2] ].concat(points, [ points[1] ]), tension)); - } - function d3_svg_lineCardinal(points, tension) { - return points.length < 3 ? d3_svg_lineLinear(points) : points[0] + d3_svg_lineHermite(points, d3_svg_lineCardinalTangents(points, tension)); - } - function d3_svg_lineHermite(points, tangents) { - if (tangents.length < 1 || points.length != tangents.length && points.length != tangents.length + 2) { - return d3_svg_lineLinear(points); - } - var quad = points.length != tangents.length, path = "", p0 = points[0], p = points[1], t0 = tangents[0], t = t0, pi = 1; - if (quad) { - path += "Q" + (p[0] - t0[0] * 2 / 3) + "," + (p[1] - t0[1] * 2 / 3) + "," + p[0] + "," + p[1]; - p0 = points[1]; - pi = 2; - } - if (tangents.length > 1) { - t = tangents[1]; - p = points[pi]; - pi++; - path += "C" + (p0[0] + t0[0]) + "," + (p0[1] + t0[1]) + "," + (p[0] - t[0]) + "," + (p[1] - t[1]) + "," + p[0] + "," + p[1]; - for (var i = 2; i < tangents.length; i++, pi++) { - p = points[pi]; - t = tangents[i]; - path += "S" + (p[0] - t[0]) + "," + (p[1] - t[1]) + "," + p[0] + "," + p[1]; - } - } - if (quad) { - var lp = points[pi]; - path += "Q" + (p[0] + t[0] * 2 / 3) + "," + (p[1] + t[1] * 2 / 3) + "," + lp[0] + "," + lp[1]; - } - return path; - } - function d3_svg_lineCardinalTangents(points, tension) { - var tangents = [], a = (1 - tension) / 2, p0, p1 = points[0], p2 = points[1], i = 1, n = points.length; - while (++i < n) { - p0 = p1; - p1 = p2; - p2 = points[i]; - tangents.push([ a * (p2[0] - p0[0]), a * (p2[1] - p0[1]) ]); - } - return tangents; - } - function d3_svg_lineBasis(points) { - if (points.length < 3) return d3_svg_lineLinear(points); - var i = 1, n = points.length, pi = points[0], x0 = pi[0], y0 = pi[1], px = [ x0, x0, x0, (pi = points[1])[0] ], py = [ y0, y0, y0, pi[1] ], path = [ x0, ",", y0, "L", d3_svg_lineDot4(d3_svg_lineBasisBezier3, px), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier3, py) ]; - points.push(points[n - 1]); - while (++i <= n) { - pi = points[i]; - px.shift(); - px.push(pi[0]); - py.shift(); - py.push(pi[1]); - d3_svg_lineBasisBezier(path, px, py); - } - points.pop(); - path.push("L", pi); - return path.join(""); - } - function d3_svg_lineBasisOpen(points) { - if (points.length < 4) return d3_svg_lineLinear(points); - var path = [], i = -1, n = points.length, pi, px = [ 0 ], py = [ 0 ]; - while (++i < 3) { - pi = points[i]; - px.push(pi[0]); - py.push(pi[1]); - } - path.push(d3_svg_lineDot4(d3_svg_lineBasisBezier3, px) + "," + d3_svg_lineDot4(d3_svg_lineBasisBezier3, py)); - --i; - while (++i < n) { - pi = points[i]; - px.shift(); - px.push(pi[0]); - py.shift(); - py.push(pi[1]); - d3_svg_lineBasisBezier(path, px, py); - } - return path.join(""); - } - function d3_svg_lineBasisClosed(points) { - var path, i = -1, n = points.length, m = n + 4, pi, px = [], py = []; - while (++i < 4) { - pi = points[i % n]; - px.push(pi[0]); - py.push(pi[1]); - } - path = [ d3_svg_lineDot4(d3_svg_lineBasisBezier3, px), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier3, py) ]; - --i; - while (++i < m) { - pi = points[i % n]; - px.shift(); - px.push(pi[0]); - py.shift(); - py.push(pi[1]); - d3_svg_lineBasisBezier(path, px, py); - } - return path.join(""); - } - function d3_svg_lineBundle(points, tension) { - var n = points.length - 1; - if (n) { - var x0 = points[0][0], y0 = points[0][1], dx = points[n][0] - x0, dy = points[n][1] - y0, i = -1, p, t; - while (++i <= n) { - p = points[i]; - t = i / n; - p[0] = tension * p[0] + (1 - tension) * (x0 + t * dx); - p[1] = tension * p[1] + (1 - tension) * (y0 + t * dy); - } - } - return d3_svg_lineBasis(points); - } - function d3_svg_lineDot4(a, b) { - return a[0] * b[0] + a[1] * b[1] + a[2] * b[2] + a[3] * b[3]; - } - var d3_svg_lineBasisBezier1 = [ 0, 2 / 3, 1 / 3, 0 ], d3_svg_lineBasisBezier2 = [ 0, 1 / 3, 2 / 3, 0 ], d3_svg_lineBasisBezier3 = [ 0, 1 / 6, 2 / 3, 1 / 6 ]; - function d3_svg_lineBasisBezier(path, x, y) { - path.push("C", d3_svg_lineDot4(d3_svg_lineBasisBezier1, x), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier1, y), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier2, x), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier2, y), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier3, x), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier3, y)); - } - function d3_svg_lineSlope(p0, p1) { - return (p1[1] - p0[1]) / (p1[0] - p0[0]); - } - function d3_svg_lineFiniteDifferences(points) { - var i = 0, j = points.length - 1, m = [], p0 = points[0], p1 = points[1], d = m[0] = d3_svg_lineSlope(p0, p1); - while (++i < j) { - m[i] = (d + (d = d3_svg_lineSlope(p0 = p1, p1 = points[i + 1]))) / 2; - } - m[i] = d; - return m; - } - function d3_svg_lineMonotoneTangents(points) { - var tangents = [], d, a, b, s, m = d3_svg_lineFiniteDifferences(points), i = -1, j = points.length - 1; - while (++i < j) { - d = d3_svg_lineSlope(points[i], points[i + 1]); - if (abs(d) < ε) { - m[i] = m[i + 1] = 0; - } else { - a = m[i] / d; - b = m[i + 1] / d; - s = a * a + b * b; - if (s > 9) { - s = d * 3 / Math.sqrt(s); - m[i] = s * a; - m[i + 1] = s * b; - } - } - } - i = -1; - while (++i <= j) { - s = (points[Math.min(j, i + 1)][0] - points[Math.max(0, i - 1)][0]) / (6 * (1 + m[i] * m[i])); - tangents.push([ s || 0, m[i] * s || 0 ]); - } - return tangents; - } - function d3_svg_lineMonotone(points) { - return points.length < 3 ? d3_svg_lineLinear(points) : points[0] + d3_svg_lineHermite(points, d3_svg_lineMonotoneTangents(points)); - } - d3.svg.line.radial = function() { - var line = d3_svg_line(d3_svg_lineRadial); - line.radius = line.x, delete line.x; - line.angle = line.y, delete line.y; - return line; - }; - function d3_svg_lineRadial(points) { - var point, i = -1, n = points.length, r, a; - while (++i < n) { - point = points[i]; - r = point[0]; - a = point[1] - halfπ; - point[0] = r * Math.cos(a); - point[1] = r * Math.sin(a); - } - return points; - } - function d3_svg_area(projection) { - var x0 = d3_geom_pointX, x1 = d3_geom_pointX, y0 = 0, y1 = d3_geom_pointY, defined = d3_true, interpolate = d3_svg_lineLinear, interpolateKey = interpolate.key, interpolateReverse = interpolate, L = "L", tension = .7; - function area(data) { - var segments = [], points0 = [], points1 = [], i = -1, n = data.length, d, fx0 = d3_functor(x0), fy0 = d3_functor(y0), fx1 = x0 === x1 ? function() { - return x; - } : d3_functor(x1), fy1 = y0 === y1 ? function() { - return y; - } : d3_functor(y1), x, y; - function segment() { - segments.push("M", interpolate(projection(points1), tension), L, interpolateReverse(projection(points0.reverse()), tension), "Z"); - } - while (++i < n) { - if (defined.call(this, d = data[i], i)) { - points0.push([ x = +fx0.call(this, d, i), y = +fy0.call(this, d, i) ]); - points1.push([ +fx1.call(this, d, i), +fy1.call(this, d, i) ]); - } else if (points0.length) { - segment(); - points0 = []; - points1 = []; - } - } - if (points0.length) segment(); - return segments.length ? segments.join("") : null; - } - area.x = function(_) { - if (!arguments.length) return x1; - x0 = x1 = _; - return area; - }; - area.x0 = function(_) { - if (!arguments.length) return x0; - x0 = _; - return area; - }; - area.x1 = function(_) { - if (!arguments.length) return x1; - x1 = _; - return area; - }; - area.y = function(_) { - if (!arguments.length) return y1; - y0 = y1 = _; - return area; - }; - area.y0 = function(_) { - if (!arguments.length) return y0; - y0 = _; - return area; - }; - area.y1 = function(_) { - if (!arguments.length) return y1; - y1 = _; - return area; - }; - area.defined = function(_) { - if (!arguments.length) return defined; - defined = _; - return area; - }; - area.interpolate = function(_) { - if (!arguments.length) return interpolateKey; - if (typeof _ === "function") interpolateKey = interpolate = _; else interpolateKey = (interpolate = d3_svg_lineInterpolators.get(_) || d3_svg_lineLinear).key; - interpolateReverse = interpolate.reverse || interpolate; - L = interpolate.closed ? "M" : "L"; - return area; - }; - area.tension = function(_) { - if (!arguments.length) return tension; - tension = _; - return area; - }; - return area; - } - d3_svg_lineStepBefore.reverse = d3_svg_lineStepAfter; - d3_svg_lineStepAfter.reverse = d3_svg_lineStepBefore; - d3.svg.area = function() { - return d3_svg_area(d3_identity); - }; - d3.svg.area.radial = function() { - var area = d3_svg_area(d3_svg_lineRadial); - area.radius = area.x, delete area.x; - area.innerRadius = area.x0, delete area.x0; - area.outerRadius = area.x1, delete area.x1; - area.angle = area.y, delete area.y; - area.startAngle = area.y0, delete area.y0; - area.endAngle = area.y1, delete area.y1; - return area; - }; - d3.svg.chord = function() { - var source = d3_source, target = d3_target, radius = d3_svg_chordRadius, startAngle = d3_svg_arcStartAngle, endAngle = d3_svg_arcEndAngle; - function chord(d, i) { - var s = subgroup(this, source, d, i), t = subgroup(this, target, d, i); - return "M" + s.p0 + arc(s.r, s.p1, s.a1 - s.a0) + (equals(s, t) ? curve(s.r, s.p1, s.r, s.p0) : curve(s.r, s.p1, t.r, t.p0) + arc(t.r, t.p1, t.a1 - t.a0) + curve(t.r, t.p1, s.r, s.p0)) + "Z"; - } - function subgroup(self, f, d, i) { - var subgroup = f.call(self, d, i), r = radius.call(self, subgroup, i), a0 = startAngle.call(self, subgroup, i) - halfπ, a1 = endAngle.call(self, subgroup, i) - halfπ; - return { - r: r, - a0: a0, - a1: a1, - p0: [ r * Math.cos(a0), r * Math.sin(a0) ], - p1: [ r * Math.cos(a1), r * Math.sin(a1) ] - }; - } - function equals(a, b) { - return a.a0 == b.a0 && a.a1 == b.a1; - } - function arc(r, p, a) { - return "A" + r + "," + r + " 0 " + +(a > π) + ",1 " + p; - } - function curve(r0, p0, r1, p1) { - return "Q 0,0 " + p1; - } - chord.radius = function(v) { - if (!arguments.length) return radius; - radius = d3_functor(v); - return chord; - }; - chord.source = function(v) { - if (!arguments.length) return source; - source = d3_functor(v); - return chord; - }; - chord.target = function(v) { - if (!arguments.length) return target; - target = d3_functor(v); - return chord; - }; - chord.startAngle = function(v) { - if (!arguments.length) return startAngle; - startAngle = d3_functor(v); - return chord; - }; - chord.endAngle = function(v) { - if (!arguments.length) return endAngle; - endAngle = d3_functor(v); - return chord; - }; - return chord; - }; - function d3_svg_chordRadius(d) { - return d.radius; - } - d3.svg.diagonal = function() { - var source = d3_source, target = d3_target, projection = d3_svg_diagonalProjection; - function diagonal(d, i) { - var p0 = source.call(this, d, i), p3 = target.call(this, d, i), m = (p0.y + p3.y) / 2, p = [ p0, { - x: p0.x, - y: m - }, { - x: p3.x, - y: m - }, p3 ]; - p = p.map(projection); - return "M" + p[0] + "C" + p[1] + " " + p[2] + " " + p[3]; - } - diagonal.source = function(x) { - if (!arguments.length) return source; - source = d3_functor(x); - return diagonal; - }; - diagonal.target = function(x) { - if (!arguments.length) return target; - target = d3_functor(x); - return diagonal; - }; - diagonal.projection = function(x) { - if (!arguments.length) return projection; - projection = x; - return diagonal; - }; - return diagonal; - }; - function d3_svg_diagonalProjection(d) { - return [ d.x, d.y ]; - } - d3.svg.diagonal.radial = function() { - var diagonal = d3.svg.diagonal(), projection = d3_svg_diagonalProjection, projection_ = diagonal.projection; - diagonal.projection = function(x) { - return arguments.length ? projection_(d3_svg_diagonalRadialProjection(projection = x)) : projection; - }; - return diagonal; - }; - function d3_svg_diagonalRadialProjection(projection) { - return function() { - var d = projection.apply(this, arguments), r = d[0], a = d[1] - halfπ; - return [ r * Math.cos(a), r * Math.sin(a) ]; - }; - } - d3.svg.symbol = function() { - var type = d3_svg_symbolType, size = d3_svg_symbolSize; - function symbol(d, i) { - return (d3_svg_symbols.get(type.call(this, d, i)) || d3_svg_symbolCircle)(size.call(this, d, i)); - } - symbol.type = function(x) { - if (!arguments.length) return type; - type = d3_functor(x); - return symbol; - }; - symbol.size = function(x) { - if (!arguments.length) return size; - size = d3_functor(x); - return symbol; - }; - return symbol; - }; - function d3_svg_symbolSize() { - return 64; - } - function d3_svg_symbolType() { - return "circle"; - } - function d3_svg_symbolCircle(size) { - var r = Math.sqrt(size / π); - return "M0," + r + "A" + r + "," + r + " 0 1,1 0," + -r + "A" + r + "," + r + " 0 1,1 0," + r + "Z"; - } - var d3_svg_symbols = d3.map({ - circle: d3_svg_symbolCircle, - cross: function(size) { - var r = Math.sqrt(size / 5) / 2; - return "M" + -3 * r + "," + -r + "H" + -r + "V" + -3 * r + "H" + r + "V" + -r + "H" + 3 * r + "V" + r + "H" + r + "V" + 3 * r + "H" + -r + "V" + r + "H" + -3 * r + "Z"; - }, - diamond: function(size) { - var ry = Math.sqrt(size / (2 * d3_svg_symbolTan30)), rx = ry * d3_svg_symbolTan30; - return "M0," + -ry + "L" + rx + ",0" + " 0," + ry + " " + -rx + ",0" + "Z"; - }, - square: function(size) { - var r = Math.sqrt(size) / 2; - return "M" + -r + "," + -r + "L" + r + "," + -r + " " + r + "," + r + " " + -r + "," + r + "Z"; - }, - "triangle-down": function(size) { - var rx = Math.sqrt(size / d3_svg_symbolSqrt3), ry = rx * d3_svg_symbolSqrt3 / 2; - return "M0," + ry + "L" + rx + "," + -ry + " " + -rx + "," + -ry + "Z"; - }, - "triangle-up": function(size) { - var rx = Math.sqrt(size / d3_svg_symbolSqrt3), ry = rx * d3_svg_symbolSqrt3 / 2; - return "M0," + -ry + "L" + rx + "," + ry + " " + -rx + "," + ry + "Z"; - } - }); - d3.svg.symbolTypes = d3_svg_symbols.keys(); - var d3_svg_symbolSqrt3 = Math.sqrt(3), d3_svg_symbolTan30 = Math.tan(30 * d3_radians); - d3_selectionPrototype.transition = function(name) { - var id = d3_transitionInheritId || ++d3_transitionId, ns = d3_transitionNamespace(name), subgroups = [], subgroup, node, transition = d3_transitionInherit || { - time: Date.now(), - ease: d3_ease_cubicInOut, - delay: 0, - duration: 250 - }; - for (var j = -1, m = this.length; ++j < m; ) { - subgroups.push(subgroup = []); - for (var group = this[j], i = -1, n = group.length; ++i < n; ) { - if (node = group[i]) d3_transitionNode(node, i, ns, id, transition); - subgroup.push(node); - } - } - return d3_transition(subgroups, ns, id); - }; - d3_selectionPrototype.interrupt = function(name) { - return this.each(name == null ? d3_selection_interrupt : d3_selection_interruptNS(d3_transitionNamespace(name))); - }; - var d3_selection_interrupt = d3_selection_interruptNS(d3_transitionNamespace()); - function d3_selection_interruptNS(ns) { - return function() { - var lock, active; - if ((lock = this[ns]) && (active = lock[lock.active])) { - if (--lock.count) { - delete lock[lock.active]; - lock.active += .5; - } else { - delete this[ns]; - } - active.event && active.event.interrupt.call(this, this.__data__, active.index); - } - }; - } - function d3_transition(groups, ns, id) { - d3_subclass(groups, d3_transitionPrototype); - groups.namespace = ns; - groups.id = id; - return groups; - } - var d3_transitionPrototype = [], d3_transitionId = 0, d3_transitionInheritId, d3_transitionInherit; - d3_transitionPrototype.call = d3_selectionPrototype.call; - d3_transitionPrototype.empty = d3_selectionPrototype.empty; - d3_transitionPrototype.node = d3_selectionPrototype.node; - d3_transitionPrototype.size = d3_selectionPrototype.size; - d3.transition = function(selection, name) { - return selection && selection.transition ? d3_transitionInheritId ? selection.transition(name) : selection : d3_selectionRoot.transition(selection); - }; - d3.transition.prototype = d3_transitionPrototype; - d3_transitionPrototype.select = function(selector) { - var id = this.id, ns = this.namespace, subgroups = [], subgroup, subnode, node; - selector = d3_selection_selector(selector); - for (var j = -1, m = this.length; ++j < m; ) { - subgroups.push(subgroup = []); - for (var group = this[j], i = -1, n = group.length; ++i < n; ) { - if ((node = group[i]) && (subnode = selector.call(node, node.__data__, i, j))) { - if ("__data__" in node) subnode.__data__ = node.__data__; - d3_transitionNode(subnode, i, ns, id, node[ns][id]); - subgroup.push(subnode); - } else { - subgroup.push(null); - } - } - } - return d3_transition(subgroups, ns, id); - }; - d3_transitionPrototype.selectAll = function(selector) { - var id = this.id, ns = this.namespace, subgroups = [], subgroup, subnodes, node, subnode, transition; - selector = d3_selection_selectorAll(selector); - for (var j = -1, m = this.length; ++j < m; ) { - for (var group = this[j], i = -1, n = group.length; ++i < n; ) { - if (node = group[i]) { - transition = node[ns][id]; - subnodes = selector.call(node, node.__data__, i, j); - subgroups.push(subgroup = []); - for (var k = -1, o = subnodes.length; ++k < o; ) { - if (subnode = subnodes[k]) d3_transitionNode(subnode, k, ns, id, transition); - subgroup.push(subnode); - } - } - } - } - return d3_transition(subgroups, ns, id); - }; - d3_transitionPrototype.filter = function(filter) { - var subgroups = [], subgroup, group, node; - if (typeof filter !== "function") filter = d3_selection_filter(filter); - for (var j = 0, m = this.length; j < m; j++) { - subgroups.push(subgroup = []); - for (var group = this[j], i = 0, n = group.length; i < n; i++) { - if ((node = group[i]) && filter.call(node, node.__data__, i, j)) { - subgroup.push(node); - } - } - } - return d3_transition(subgroups, this.namespace, this.id); - }; - d3_transitionPrototype.tween = function(name, tween) { - var id = this.id, ns = this.namespace; - if (arguments.length < 2) return this.node()[ns][id].tween.get(name); - return d3_selection_each(this, tween == null ? function(node) { - node[ns][id].tween.remove(name); - } : function(node) { - node[ns][id].tween.set(name, tween); - }); - }; - function d3_transition_tween(groups, name, value, tween) { - var id = groups.id, ns = groups.namespace; - return d3_selection_each(groups, typeof value === "function" ? function(node, i, j) { - node[ns][id].tween.set(name, tween(value.call(node, node.__data__, i, j))); - } : (value = tween(value), function(node) { - node[ns][id].tween.set(name, value); - })); - } - d3_transitionPrototype.attr = function(nameNS, value) { - if (arguments.length < 2) { - for (value in nameNS) this.attr(value, nameNS[value]); - return this; - } - var interpolate = nameNS == "transform" ? d3_interpolateTransform : d3_interpolate, name = d3.ns.qualify(nameNS); - function attrNull() { - this.removeAttribute(name); - } - function attrNullNS() { - this.removeAttributeNS(name.space, name.local); - } - function attrTween(b) { - return b == null ? attrNull : (b += "", function() { - var a = this.getAttribute(name), i; - return a !== b && (i = interpolate(a, b), function(t) { - this.setAttribute(name, i(t)); - }); - }); - } - function attrTweenNS(b) { - return b == null ? attrNullNS : (b += "", function() { - var a = this.getAttributeNS(name.space, name.local), i; - return a !== b && (i = interpolate(a, b), function(t) { - this.setAttributeNS(name.space, name.local, i(t)); - }); - }); - } - return d3_transition_tween(this, "attr." + nameNS, value, name.local ? attrTweenNS : attrTween); - }; - d3_transitionPrototype.attrTween = function(nameNS, tween) { - var name = d3.ns.qualify(nameNS); - function attrTween(d, i) { - var f = tween.call(this, d, i, this.getAttribute(name)); - return f && function(t) { - this.setAttribute(name, f(t)); - }; - } - function attrTweenNS(d, i) { - var f = tween.call(this, d, i, this.getAttributeNS(name.space, name.local)); - return f && function(t) { - this.setAttributeNS(name.space, name.local, f(t)); - }; - } - return this.tween("attr." + nameNS, name.local ? attrTweenNS : attrTween); - }; - d3_transitionPrototype.style = function(name, value, priority) { - var n = arguments.length; - if (n < 3) { - if (typeof name !== "string") { - if (n < 2) value = ""; - for (priority in name) this.style(priority, name[priority], value); - return this; - } - priority = ""; - } - function styleNull() { - this.style.removeProperty(name); - } - function styleString(b) { - return b == null ? styleNull : (b += "", function() { - var a = d3_window.getComputedStyle(this, null).getPropertyValue(name), i; - return a !== b && (i = d3_interpolate(a, b), function(t) { - this.style.setProperty(name, i(t), priority); - }); - }); - } - return d3_transition_tween(this, "style." + name, value, styleString); - }; - d3_transitionPrototype.styleTween = function(name, tween, priority) { - if (arguments.length < 3) priority = ""; - function styleTween(d, i) { - var f = tween.call(this, d, i, d3_window.getComputedStyle(this, null).getPropertyValue(name)); - return f && function(t) { - this.style.setProperty(name, f(t), priority); - }; - } - return this.tween("style." + name, styleTween); - }; - d3_transitionPrototype.text = function(value) { - return d3_transition_tween(this, "text", value, d3_transition_text); - }; - function d3_transition_text(b) { - if (b == null) b = ""; - return function() { - this.textContent = b; - }; - } - d3_transitionPrototype.remove = function() { - var ns = this.namespace; - return this.each("end.transition", function() { - var p; - if (this[ns].count < 2 && (p = this.parentNode)) p.removeChild(this); - }); - }; - d3_transitionPrototype.ease = function(value) { - var id = this.id, ns = this.namespace; - if (arguments.length < 1) return this.node()[ns][id].ease; - if (typeof value !== "function") value = d3.ease.apply(d3, arguments); - return d3_selection_each(this, function(node) { - node[ns][id].ease = value; - }); - }; - d3_transitionPrototype.delay = function(value) { - var id = this.id, ns = this.namespace; - if (arguments.length < 1) return this.node()[ns][id].delay; - return d3_selection_each(this, typeof value === "function" ? function(node, i, j) { - node[ns][id].delay = +value.call(node, node.__data__, i, j); - } : (value = +value, function(node) { - node[ns][id].delay = value; - })); - }; - d3_transitionPrototype.duration = function(value) { - var id = this.id, ns = this.namespace; - if (arguments.length < 1) return this.node()[ns][id].duration; - return d3_selection_each(this, typeof value === "function" ? function(node, i, j) { - node[ns][id].duration = Math.max(1, value.call(node, node.__data__, i, j)); - } : (value = Math.max(1, value), function(node) { - node[ns][id].duration = value; - })); - }; - d3_transitionPrototype.each = function(type, listener) { - var id = this.id, ns = this.namespace; - if (arguments.length < 2) { - var inherit = d3_transitionInherit, inheritId = d3_transitionInheritId; - try { - d3_transitionInheritId = id; - d3_selection_each(this, function(node, i, j) { - d3_transitionInherit = node[ns][id]; - type.call(node, node.__data__, i, j); - }); - } finally { - d3_transitionInherit = inherit; - d3_transitionInheritId = inheritId; - } - } else { - d3_selection_each(this, function(node) { - var transition = node[ns][id]; - (transition.event || (transition.event = d3.dispatch("start", "end", "interrupt"))).on(type, listener); - }); - } - return this; - }; - d3_transitionPrototype.transition = function() { - var id0 = this.id, id1 = ++d3_transitionId, ns = this.namespace, subgroups = [], subgroup, group, node, transition; - for (var j = 0, m = this.length; j < m; j++) { - subgroups.push(subgroup = []); - for (var group = this[j], i = 0, n = group.length; i < n; i++) { - if (node = group[i]) { - transition = node[ns][id0]; - d3_transitionNode(node, i, ns, id1, { - time: transition.time, - ease: transition.ease, - delay: transition.delay + transition.duration, - duration: transition.duration - }); - } - subgroup.push(node); - } - } - return d3_transition(subgroups, ns, id1); - }; - function d3_transitionNamespace(name) { - return name == null ? "__transition__" : "__transition_" + name + "__"; - } - function d3_transitionNode(node, i, ns, id, inherit) { - var lock = node[ns] || (node[ns] = { - active: 0, - count: 0 - }), transition = lock[id]; - if (!transition) { - var time = inherit.time; - transition = lock[id] = { - tween: new d3_Map(), - time: time, - delay: inherit.delay, - duration: inherit.duration, - ease: inherit.ease, - index: i - }; - inherit = null; - ++lock.count; - d3.timer(function(elapsed) { - var delay = transition.delay, duration, ease, timer = d3_timer_active, tweened = []; - timer.t = delay + time; - if (delay <= elapsed) return start(elapsed - delay); - timer.c = start; - function start(elapsed) { - if (lock.active > id) return stop(); - var active = lock[lock.active]; - if (active) { - --lock.count; - delete lock[lock.active]; - active.event && active.event.interrupt.call(node, node.__data__, active.index); - } - lock.active = id; - transition.event && transition.event.start.call(node, node.__data__, i); - transition.tween.forEach(function(key, value) { - if (value = value.call(node, node.__data__, i)) { - tweened.push(value); - } - }); - ease = transition.ease; - duration = transition.duration; - d3.timer(function() { - timer.c = tick(elapsed || 1) ? d3_true : tick; - return 1; - }, 0, time); - } - function tick(elapsed) { - if (lock.active !== id) return 1; - var t = elapsed / duration, e = ease(t), n = tweened.length; - while (n > 0) { - tweened[--n].call(node, e); - } - if (t >= 1) { - transition.event && transition.event.end.call(node, node.__data__, i); - return stop(); - } - } - function stop() { - if (--lock.count) delete lock[id]; else delete node[ns]; - return 1; - } - }, 0, time); - } - } - d3.svg.axis = function() { - var scale = d3.scale.linear(), orient = d3_svg_axisDefaultOrient, innerTickSize = 6, outerTickSize = 6, tickPadding = 3, tickArguments_ = [ 10 ], tickValues = null, tickFormat_; - function axis(g) { - g.each(function() { - var g = d3.select(this); - var scale0 = this.__chart__ || scale, scale1 = this.__chart__ = scale.copy(); - var ticks = tickValues == null ? scale1.ticks ? scale1.ticks.apply(scale1, tickArguments_) : scale1.domain() : tickValues, tickFormat = tickFormat_ == null ? scale1.tickFormat ? scale1.tickFormat.apply(scale1, tickArguments_) : d3_identity : tickFormat_, tick = g.selectAll(".tick").data(ticks, scale1), tickEnter = tick.enter().insert("g", ".domain").attr("class", "tick").style("opacity", ε), tickExit = d3.transition(tick.exit()).style("opacity", ε).remove(), tickUpdate = d3.transition(tick.order()).style("opacity", 1), tickSpacing = Math.max(innerTickSize, 0) + tickPadding, tickTransform; - var range = d3_scaleRange(scale1), path = g.selectAll(".domain").data([ 0 ]), pathUpdate = (path.enter().append("path").attr("class", "domain"), - d3.transition(path)); - tickEnter.append("line"); - tickEnter.append("text"); - var lineEnter = tickEnter.select("line"), lineUpdate = tickUpdate.select("line"), text = tick.select("text").text(tickFormat), textEnter = tickEnter.select("text"), textUpdate = tickUpdate.select("text"), sign = orient === "top" || orient === "left" ? -1 : 1, x1, x2, y1, y2; - if (orient === "bottom" || orient === "top") { - tickTransform = d3_svg_axisX, x1 = "x", y1 = "y", x2 = "x2", y2 = "y2"; - text.attr("dy", sign < 0 ? "0em" : ".71em").style("text-anchor", "middle"); - pathUpdate.attr("d", "M" + range[0] + "," + sign * outerTickSize + "V0H" + range[1] + "V" + sign * outerTickSize); - } else { - tickTransform = d3_svg_axisY, x1 = "y", y1 = "x", x2 = "y2", y2 = "x2"; - text.attr("dy", ".32em").style("text-anchor", sign < 0 ? "end" : "start"); - pathUpdate.attr("d", "M" + sign * outerTickSize + "," + range[0] + "H0V" + range[1] + "H" + sign * outerTickSize); - } - lineEnter.attr(y2, sign * innerTickSize); - textEnter.attr(y1, sign * tickSpacing); - lineUpdate.attr(x2, 0).attr(y2, sign * innerTickSize); - textUpdate.attr(x1, 0).attr(y1, sign * tickSpacing); - if (scale1.rangeBand) { - var x = scale1, dx = x.rangeBand() / 2; - scale0 = scale1 = function(d) { - return x(d) + dx; - }; - } else if (scale0.rangeBand) { - scale0 = scale1; - } else { - tickExit.call(tickTransform, scale1, scale0); - } - tickEnter.call(tickTransform, scale0, scale1); - tickUpdate.call(tickTransform, scale1, scale1); - }); - } - axis.scale = function(x) { - if (!arguments.length) return scale; - scale = x; - return axis; - }; - axis.orient = function(x) { - if (!arguments.length) return orient; - orient = x in d3_svg_axisOrients ? x + "" : d3_svg_axisDefaultOrient; - return axis; - }; - axis.ticks = function() { - if (!arguments.length) return tickArguments_; - tickArguments_ = arguments; - return axis; - }; - axis.tickValues = function(x) { - if (!arguments.length) return tickValues; - tickValues = x; - return axis; - }; - axis.tickFormat = function(x) { - if (!arguments.length) return tickFormat_; - tickFormat_ = x; - return axis; - }; - axis.tickSize = function(x) { - var n = arguments.length; - if (!n) return innerTickSize; - innerTickSize = +x; - outerTickSize = +arguments[n - 1]; - return axis; - }; - axis.innerTickSize = function(x) { - if (!arguments.length) return innerTickSize; - innerTickSize = +x; - return axis; - }; - axis.outerTickSize = function(x) { - if (!arguments.length) return outerTickSize; - outerTickSize = +x; - return axis; - }; - axis.tickPadding = function(x) { - if (!arguments.length) return tickPadding; - tickPadding = +x; - return axis; - }; - axis.tickSubdivide = function() { - return arguments.length && axis; - }; - return axis; - }; - var d3_svg_axisDefaultOrient = "bottom", d3_svg_axisOrients = { - top: 1, - right: 1, - bottom: 1, - left: 1 - }; - function d3_svg_axisX(selection, x0, x1) { - selection.attr("transform", function(d) { - var v0 = x0(d); - return "translate(" + (isFinite(v0) ? v0 : x1(d)) + ",0)"; - }); - } - function d3_svg_axisY(selection, y0, y1) { - selection.attr("transform", function(d) { - var v0 = y0(d); - return "translate(0," + (isFinite(v0) ? v0 : y1(d)) + ")"; - }); - } - d3.svg.brush = function() { - var event = d3_eventDispatch(brush, "brushstart", "brush", "brushend"), x = null, y = null, xExtent = [ 0, 0 ], yExtent = [ 0, 0 ], xExtentDomain, yExtentDomain, xClamp = true, yClamp = true, resizes = d3_svg_brushResizes[0]; - function brush(g) { - g.each(function() { - var g = d3.select(this).style("pointer-events", "all").style("-webkit-tap-highlight-color", "rgba(0,0,0,0)").on("mousedown.brush", brushstart).on("touchstart.brush", brushstart); - var background = g.selectAll(".background").data([ 0 ]); - background.enter().append("rect").attr("class", "background").style("visibility", "hidden").style("cursor", "crosshair"); - g.selectAll(".extent").data([ 0 ]).enter().append("rect").attr("class", "extent").style("cursor", "move"); - var resize = g.selectAll(".resize").data(resizes, d3_identity); - resize.exit().remove(); - resize.enter().append("g").attr("class", function(d) { - return "resize " + d; - }).style("cursor", function(d) { - return d3_svg_brushCursor[d]; - }).append("rect").attr("x", function(d) { - return /[ew]$/.test(d) ? -3 : null; - }).attr("y", function(d) { - return /^[ns]/.test(d) ? -3 : null; - }).attr("width", 6).attr("height", 6).style("visibility", "hidden"); - resize.style("display", brush.empty() ? "none" : null); - var gUpdate = d3.transition(g), backgroundUpdate = d3.transition(background), range; - if (x) { - range = d3_scaleRange(x); - backgroundUpdate.attr("x", range[0]).attr("width", range[1] - range[0]); - redrawX(gUpdate); - } - if (y) { - range = d3_scaleRange(y); - backgroundUpdate.attr("y", range[0]).attr("height", range[1] - range[0]); - redrawY(gUpdate); - } - redraw(gUpdate); - }); - } - brush.event = function(g) { - g.each(function() { - var event_ = event.of(this, arguments), extent1 = { - x: xExtent, - y: yExtent, - i: xExtentDomain, - j: yExtentDomain - }, extent0 = this.__chart__ || extent1; - this.__chart__ = extent1; - if (d3_transitionInheritId) { - d3.select(this).transition().each("start.brush", function() { - xExtentDomain = extent0.i; - yExtentDomain = extent0.j; - xExtent = extent0.x; - yExtent = extent0.y; - event_({ - type: "brushstart" - }); - }).tween("brush:brush", function() { - var xi = d3_interpolateArray(xExtent, extent1.x), yi = d3_interpolateArray(yExtent, extent1.y); - xExtentDomain = yExtentDomain = null; - return function(t) { - xExtent = extent1.x = xi(t); - yExtent = extent1.y = yi(t); - event_({ - type: "brush", - mode: "resize" - }); - }; - }).each("end.brush", function() { - xExtentDomain = extent1.i; - yExtentDomain = extent1.j; - event_({ - type: "brush", - mode: "resize" - }); - event_({ - type: "brushend" - }); - }); - } else { - event_({ - type: "brushstart" - }); - event_({ - type: "brush", - mode: "resize" - }); - event_({ - type: "brushend" - }); - } - }); - }; - function redraw(g) { - g.selectAll(".resize").attr("transform", function(d) { - return "translate(" + xExtent[+/e$/.test(d)] + "," + yExtent[+/^s/.test(d)] + ")"; - }); - } - function redrawX(g) { - g.select(".extent").attr("x", xExtent[0]); - g.selectAll(".extent,.n>rect,.s>rect").attr("width", xExtent[1] - xExtent[0]); - } - function redrawY(g) { - g.select(".extent").attr("y", yExtent[0]); - g.selectAll(".extent,.e>rect,.w>rect").attr("height", yExtent[1] - yExtent[0]); - } - function brushstart() { - var target = this, eventTarget = d3.select(d3.event.target), event_ = event.of(target, arguments), g = d3.select(target), resizing = eventTarget.datum(), resizingX = !/^(n|s)$/.test(resizing) && x, resizingY = !/^(e|w)$/.test(resizing) && y, dragging = eventTarget.classed("extent"), dragRestore = d3_event_dragSuppress(), center, origin = d3.mouse(target), offset; - var w = d3.select(d3_window).on("keydown.brush", keydown).on("keyup.brush", keyup); - if (d3.event.changedTouches) { - w.on("touchmove.brush", brushmove).on("touchend.brush", brushend); - } else { - w.on("mousemove.brush", brushmove).on("mouseup.brush", brushend); - } - g.interrupt().selectAll("*").interrupt(); - if (dragging) { - origin[0] = xExtent[0] - origin[0]; - origin[1] = yExtent[0] - origin[1]; - } else if (resizing) { - var ex = +/w$/.test(resizing), ey = +/^n/.test(resizing); - offset = [ xExtent[1 - ex] - origin[0], yExtent[1 - ey] - origin[1] ]; - origin[0] = xExtent[ex]; - origin[1] = yExtent[ey]; - } else if (d3.event.altKey) center = origin.slice(); - g.style("pointer-events", "none").selectAll(".resize").style("display", null); - d3.select("body").style("cursor", eventTarget.style("cursor")); - event_({ - type: "brushstart" - }); - brushmove(); - function keydown() { - if (d3.event.keyCode == 32) { - if (!dragging) { - center = null; - origin[0] -= xExtent[1]; - origin[1] -= yExtent[1]; - dragging = 2; - } - d3_eventPreventDefault(); - } - } - function keyup() { - if (d3.event.keyCode == 32 && dragging == 2) { - origin[0] += xExtent[1]; - origin[1] += yExtent[1]; - dragging = 0; - d3_eventPreventDefault(); - } - } - function brushmove() { - var point = d3.mouse(target), moved = false; - if (offset) { - point[0] += offset[0]; - point[1] += offset[1]; - } - if (!dragging) { - if (d3.event.altKey) { - if (!center) center = [ (xExtent[0] + xExtent[1]) / 2, (yExtent[0] + yExtent[1]) / 2 ]; - origin[0] = xExtent[+(point[0] < center[0])]; - origin[1] = yExtent[+(point[1] < center[1])]; - } else center = null; - } - if (resizingX && move1(point, x, 0)) { - redrawX(g); - moved = true; - } - if (resizingY && move1(point, y, 1)) { - redrawY(g); - moved = true; - } - if (moved) { - redraw(g); - event_({ - type: "brush", - mode: dragging ? "move" : "resize" - }); - } - } - function move1(point, scale, i) { - var range = d3_scaleRange(scale), r0 = range[0], r1 = range[1], position = origin[i], extent = i ? yExtent : xExtent, size = extent[1] - extent[0], min, max; - if (dragging) { - r0 -= position; - r1 -= size + position; - } - min = (i ? yClamp : xClamp) ? Math.max(r0, Math.min(r1, point[i])) : point[i]; - if (dragging) { - max = (min += position) + size; - } else { - if (center) position = Math.max(r0, Math.min(r1, 2 * center[i] - min)); - if (position < min) { - max = min; - min = position; - } else { - max = position; - } - } - if (extent[0] != min || extent[1] != max) { - if (i) yExtentDomain = null; else xExtentDomain = null; - extent[0] = min; - extent[1] = max; - return true; - } - } - function brushend() { - brushmove(); - g.style("pointer-events", "all").selectAll(".resize").style("display", brush.empty() ? "none" : null); - d3.select("body").style("cursor", null); - w.on("mousemove.brush", null).on("mouseup.brush", null).on("touchmove.brush", null).on("touchend.brush", null).on("keydown.brush", null).on("keyup.brush", null); - dragRestore(); - event_({ - type: "brushend" - }); - } - } - brush.x = function(z) { - if (!arguments.length) return x; - x = z; - resizes = d3_svg_brushResizes[!x << 1 | !y]; - return brush; - }; - brush.y = function(z) { - if (!arguments.length) return y; - y = z; - resizes = d3_svg_brushResizes[!x << 1 | !y]; - return brush; - }; - brush.clamp = function(z) { - if (!arguments.length) return x && y ? [ xClamp, yClamp ] : x ? xClamp : y ? yClamp : null; - if (x && y) xClamp = !!z[0], yClamp = !!z[1]; else if (x) xClamp = !!z; else if (y) yClamp = !!z; - return brush; - }; - brush.extent = function(z) { - var x0, x1, y0, y1, t; - if (!arguments.length) { - if (x) { - if (xExtentDomain) { - x0 = xExtentDomain[0], x1 = xExtentDomain[1]; - } else { - x0 = xExtent[0], x1 = xExtent[1]; - if (x.invert) x0 = x.invert(x0), x1 = x.invert(x1); - if (x1 < x0) t = x0, x0 = x1, x1 = t; - } - } - if (y) { - if (yExtentDomain) { - y0 = yExtentDomain[0], y1 = yExtentDomain[1]; - } else { - y0 = yExtent[0], y1 = yExtent[1]; - if (y.invert) y0 = y.invert(y0), y1 = y.invert(y1); - if (y1 < y0) t = y0, y0 = y1, y1 = t; - } - } - return x && y ? [ [ x0, y0 ], [ x1, y1 ] ] : x ? [ x0, x1 ] : y && [ y0, y1 ]; - } - if (x) { - x0 = z[0], x1 = z[1]; - if (y) x0 = x0[0], x1 = x1[0]; - xExtentDomain = [ x0, x1 ]; - if (x.invert) x0 = x(x0), x1 = x(x1); - if (x1 < x0) t = x0, x0 = x1, x1 = t; - if (x0 != xExtent[0] || x1 != xExtent[1]) xExtent = [ x0, x1 ]; - } - if (y) { - y0 = z[0], y1 = z[1]; - if (x) y0 = y0[1], y1 = y1[1]; - yExtentDomain = [ y0, y1 ]; - if (y.invert) y0 = y(y0), y1 = y(y1); - if (y1 < y0) t = y0, y0 = y1, y1 = t; - if (y0 != yExtent[0] || y1 != yExtent[1]) yExtent = [ y0, y1 ]; - } - return brush; - }; - brush.clear = function() { - if (!brush.empty()) { - xExtent = [ 0, 0 ], yExtent = [ 0, 0 ]; - xExtentDomain = yExtentDomain = null; - } - return brush; - }; - brush.empty = function() { - return !!x && xExtent[0] == xExtent[1] || !!y && yExtent[0] == yExtent[1]; - }; - return d3.rebind(brush, event, "on"); - }; - var d3_svg_brushCursor = { - n: "ns-resize", - e: "ew-resize", - s: "ns-resize", - w: "ew-resize", - nw: "nwse-resize", - ne: "nesw-resize", - se: "nwse-resize", - sw: "nesw-resize" - }; - var d3_svg_brushResizes = [ [ "n", "e", "s", "w", "nw", "ne", "se", "sw" ], [ "e", "w" ], [ "n", "s" ], [] ]; - var d3_time_format = d3_time.format = d3_locale_enUS.timeFormat; - var d3_time_formatUtc = d3_time_format.utc; - var d3_time_formatIso = d3_time_formatUtc("%Y-%m-%dT%H:%M:%S.%LZ"); - d3_time_format.iso = Date.prototype.toISOString && +new Date("2000-01-01T00:00:00.000Z") ? d3_time_formatIsoNative : d3_time_formatIso; - function d3_time_formatIsoNative(date) { - return date.toISOString(); - } - d3_time_formatIsoNative.parse = function(string) { - var date = new Date(string); - return isNaN(date) ? null : date; - }; - d3_time_formatIsoNative.toString = d3_time_formatIso.toString; - d3_time.second = d3_time_interval(function(date) { - return new d3_date(Math.floor(date / 1e3) * 1e3); - }, function(date, offset) { - date.setTime(date.getTime() + Math.floor(offset) * 1e3); - }, function(date) { - return date.getSeconds(); - }); - d3_time.seconds = d3_time.second.range; - d3_time.seconds.utc = d3_time.second.utc.range; - d3_time.minute = d3_time_interval(function(date) { - return new d3_date(Math.floor(date / 6e4) * 6e4); - }, function(date, offset) { - date.setTime(date.getTime() + Math.floor(offset) * 6e4); - }, function(date) { - return date.getMinutes(); - }); - d3_time.minutes = d3_time.minute.range; - d3_time.minutes.utc = d3_time.minute.utc.range; - d3_time.hour = d3_time_interval(function(date) { - var timezone = date.getTimezoneOffset() / 60; - return new d3_date((Math.floor(date / 36e5 - timezone) + timezone) * 36e5); - }, function(date, offset) { - date.setTime(date.getTime() + Math.floor(offset) * 36e5); - }, function(date) { - return date.getHours(); - }); - d3_time.hours = d3_time.hour.range; - d3_time.hours.utc = d3_time.hour.utc.range; - d3_time.month = d3_time_interval(function(date) { - date = d3_time.day(date); - date.setDate(1); - return date; - }, function(date, offset) { - date.setMonth(date.getMonth() + offset); - }, function(date) { - return date.getMonth(); - }); - d3_time.months = d3_time.month.range; - d3_time.months.utc = d3_time.month.utc.range; - function d3_time_scale(linear, methods, format) { - function scale(x) { - return linear(x); - } - scale.invert = function(x) { - return d3_time_scaleDate(linear.invert(x)); - }; - scale.domain = function(x) { - if (!arguments.length) return linear.domain().map(d3_time_scaleDate); - linear.domain(x); - return scale; - }; - function tickMethod(extent, count) { - var span = extent[1] - extent[0], target = span / count, i = d3.bisect(d3_time_scaleSteps, target); - return i == d3_time_scaleSteps.length ? [ methods.year, d3_scale_linearTickRange(extent.map(function(d) { - return d / 31536e6; - }), count)[2] ] : !i ? [ d3_time_scaleMilliseconds, d3_scale_linearTickRange(extent, count)[2] ] : methods[target / d3_time_scaleSteps[i - 1] < d3_time_scaleSteps[i] / target ? i - 1 : i]; - } - scale.nice = function(interval, skip) { - var domain = scale.domain(), extent = d3_scaleExtent(domain), method = interval == null ? tickMethod(extent, 10) : typeof interval === "number" && tickMethod(extent, interval); - if (method) interval = method[0], skip = method[1]; - function skipped(date) { - return !isNaN(date) && !interval.range(date, d3_time_scaleDate(+date + 1), skip).length; - } - return scale.domain(d3_scale_nice(domain, skip > 1 ? { - floor: function(date) { - while (skipped(date = interval.floor(date))) date = d3_time_scaleDate(date - 1); - return date; - }, - ceil: function(date) { - while (skipped(date = interval.ceil(date))) date = d3_time_scaleDate(+date + 1); - return date; - } - } : interval)); - }; - scale.ticks = function(interval, skip) { - var extent = d3_scaleExtent(scale.domain()), method = interval == null ? tickMethod(extent, 10) : typeof interval === "number" ? tickMethod(extent, interval) : !interval.range && [ { - range: interval - }, skip ]; - if (method) interval = method[0], skip = method[1]; - return interval.range(extent[0], d3_time_scaleDate(+extent[1] + 1), skip < 1 ? 1 : skip); - }; - scale.tickFormat = function() { - return format; - }; - scale.copy = function() { - return d3_time_scale(linear.copy(), methods, format); - }; - return d3_scale_linearRebind(scale, linear); - } - function d3_time_scaleDate(t) { - return new Date(t); - } - var d3_time_scaleSteps = [ 1e3, 5e3, 15e3, 3e4, 6e4, 3e5, 9e5, 18e5, 36e5, 108e5, 216e5, 432e5, 864e5, 1728e5, 6048e5, 2592e6, 7776e6, 31536e6 ]; - var d3_time_scaleLocalMethods = [ [ d3_time.second, 1 ], [ d3_time.second, 5 ], [ d3_time.second, 15 ], [ d3_time.second, 30 ], [ d3_time.minute, 1 ], [ d3_time.minute, 5 ], [ d3_time.minute, 15 ], [ d3_time.minute, 30 ], [ d3_time.hour, 1 ], [ d3_time.hour, 3 ], [ d3_time.hour, 6 ], [ d3_time.hour, 12 ], [ d3_time.day, 1 ], [ d3_time.day, 2 ], [ d3_time.week, 1 ], [ d3_time.month, 1 ], [ d3_time.month, 3 ], [ d3_time.year, 1 ] ]; - var d3_time_scaleLocalFormat = d3_time_format.multi([ [ ".%L", function(d) { - return d.getMilliseconds(); - } ], [ ":%S", function(d) { - return d.getSeconds(); - } ], [ "%I:%M", function(d) { - return d.getMinutes(); - } ], [ "%I %p", function(d) { - return d.getHours(); - } ], [ "%a %d", function(d) { - return d.getDay() && d.getDate() != 1; - } ], [ "%b %d", function(d) { - return d.getDate() != 1; - } ], [ "%B", function(d) { - return d.getMonth(); - } ], [ "%Y", d3_true ] ]); - var d3_time_scaleMilliseconds = { - range: function(start, stop, step) { - return d3.range(Math.ceil(start / step) * step, +stop, step).map(d3_time_scaleDate); - }, - floor: d3_identity, - ceil: d3_identity - }; - d3_time_scaleLocalMethods.year = d3_time.year; - d3_time.scale = function() { - return d3_time_scale(d3.scale.linear(), d3_time_scaleLocalMethods, d3_time_scaleLocalFormat); - }; - var d3_time_scaleUtcMethods = d3_time_scaleLocalMethods.map(function(m) { - return [ m[0].utc, m[1] ]; - }); - var d3_time_scaleUtcFormat = d3_time_formatUtc.multi([ [ ".%L", function(d) { - return d.getUTCMilliseconds(); - } ], [ ":%S", function(d) { - return d.getUTCSeconds(); - } ], [ "%I:%M", function(d) { - return d.getUTCMinutes(); - } ], [ "%I %p", function(d) { - return d.getUTCHours(); - } ], [ "%a %d", function(d) { - return d.getUTCDay() && d.getUTCDate() != 1; - } ], [ "%b %d", function(d) { - return d.getUTCDate() != 1; - } ], [ "%B", function(d) { - return d.getUTCMonth(); - } ], [ "%Y", d3_true ] ]); - d3_time_scaleUtcMethods.year = d3_time.year.utc; - d3_time.scale.utc = function() { - return d3_time_scale(d3.scale.linear(), d3_time_scaleUtcMethods, d3_time_scaleUtcFormat); - }; - d3.text = d3_xhrType(function(request) { - return request.responseText; - }); - d3.json = function(url, callback) { - return d3_xhr(url, "application/json", d3_json, callback); - }; - function d3_json(request) { - return JSON.parse(request.responseText); - } - d3.html = function(url, callback) { - return d3_xhr(url, "text/html", d3_html, callback); - }; - function d3_html(request) { - var range = d3_document.createRange(); - range.selectNode(d3_document.body); - return range.createContextualFragment(request.responseText); - } - d3.xml = d3_xhrType(function(request) { - return request.responseXML; - }); - if (typeof define === "function" && define.amd) define(d3); else if (typeof module === "object" && module.exports) module.exports = d3; - this.d3 = d3; -}(); \ No newline at end of file diff --git a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.analytics-view/public/js/devicetype-graph.js b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.analytics-view/public/js/devicetype-graph.js index 70bf616c3c..2df4208afc 100644 --- a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.analytics-view/public/js/devicetype-graph.js +++ b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.analytics-view/public/js/devicetype-graph.js @@ -18,27 +18,20 @@ var palette = new Rickshaw.Color.Palette({scheme: "classic9"}); -function drawGraph(from, to) { - var backendApiUrl = $("#chart").data("backend-api-url") + "?from=" + from + "&to=" + to; - - var successCallback = function (data) { - if (data) { - drawLineGraph(JSON.parse(data)); - } - }; - invokerUtil.get(backendApiUrl, successCallback, function (message) { - console.log(message); - }); -} +function drawGraph_arduino(from, to) { + $("#y_axis").html(""); + $("#smoother").html(""); + $("#legend").html(""); + $("#chart").html(""); + $("#x_axis").html(""); + $("#slider").html(""); + + var devices = $("#details").data("devices"); + + var tzOffset = new Date().getTimezoneOffset() * 60; -function drawLineGraph(data) { - var chartWrapperElmId = "#div-chart"; - var graphWidth = $(chartWrapperElmId).width() - 50; - if (data.length == 0 || data.length == undefined) { - $("#chart").html("
No data available..."); - return; - } - $("#chart").empty(); + var chartWrapperElmId = "#div-chart"; + var graphWidth = $(chartWrapperElmId).width() - 50; var graphConfig = { element: document.getElementById("chart"), width: graphWidth, @@ -53,47 +46,28 @@ function drawLineGraph(data) { series: [] }; - var tzOffset = new Date().getTimezoneOffset() * 60; - - var min = Number.MAX_VALUE; - var max = Number.MIN_VALUE; - var range_min = 99999, range_max = 0; - var max_val = parseInt(data[0].values.temperature); - var min_val = max_val; - var chartData = []; - for (var i = 0; i < data.length; i++) { - var y_val = parseInt(data[i].values.temperature); - if (y_val > max_val) { - max_val = y_val; - } else if (y_val < min_val) { - min_val = y_val; - } - chartData.push( + if (devices) { + for (var i = 0; i < devices.length; i++) { + graphConfig['series'].push( { - x: parseInt(data[i].values.time) - tzOffset, - y: y_val - } - ); - } - if (range_max < max_val) { - range_max = max_val; - } - if (range_min > min_val) { - range_min = min_val; - } - graphConfig['series'].push( + 'color': palette.color(), + 'data': [{ + x: parseInt(new Date().getTime() / 1000), + y: 0 + }], + 'name': devices[i].name + }); + } + } else { + graphConfig['series'].push( { 'color': palette.color(), - 'data': chartData, - 'name': $("#details").data("devicename"), - 'scale': d3.scale.linear().domain([Math.min(min, min_val), Math.max(max, max_val)]) - .nice() - } - ); - - if (graphConfig['series'].length == 0) { - $(chartWrapperElmId).html("No data available..."); - return; + 'data': [{ + x: parseInt(new Date().getTime() / 1000), + y: 0 + }], + 'name': $("#details").data("devicename") + }); } var graph = new Rickshaw.Graph(graphConfig); @@ -106,13 +80,12 @@ function drawLineGraph(data) { xAxis.render(); - var yAxis = new Rickshaw.Graph.Axis.Y.Scaled({ + var yAxis = new Rickshaw.Graph.Axis.Y({ graph: graph, orientation: 'left', element: document.getElementById("y_axis"), width: 40, - height: 410, - 'scale': d3.scale.linear().domain([Math.min(min, range_min), Math.max(max, range_max)]).nice() + height: 410 }); yAxis.render(); @@ -131,9 +104,9 @@ function drawLineGraph(data) { graph: graph, formatter: function (series, x, y) { var date = '' + - moment((x + tzOffset) * 1000).format('Do MMM YYYY h:mm:ss a') + ''; + moment((x + tzOffset) * 1000).format('Do MMM YYYY h:mm:ss a') + ''; var swatch = ''; + series.color + '">'; return swatch + series.name + ": " + parseInt(y) + '
' + date; } }); @@ -152,4 +125,59 @@ function drawLineGraph(data) { graph: graph, legend: legend }); + + var deviceIndex = 0; + + if (devices) { + getData(); + } else { + var backendApiUrl = $("#chart").data("backend-api-url") + "?from=" + from + "&to=" + to; + var successCallback = function (data) { + if (data) { + drawLineGraph(JSON.parse(data)); + } + }; + invokerUtil.get(backendApiUrl, successCallback, function (message) { + console.log(message); + }); + } + + function getData() { + if (deviceIndex >= devices.length) { + return; + } + var backendApiUrl = $("#chart").data("backend-api-url") + devices[deviceIndex].deviceIdentifier + + "?from=" + from + "&to=" + to; + var successCallback = function (data) { + if (data) { + drawLineGraph(JSON.parse(data)); + } + deviceIndex++; + getData(); + }; + invokerUtil.get(backendApiUrl, successCallback, function (message) { + console.log(message); + deviceIndex++; + getData(); + }); + } + + function drawLineGraph(data) { + if (data.length === 0 || data.length === undefined) { + return; + } + + var chartData = []; + for (var i = 0; i < data.length; i++) { + chartData.push( + { + x: parseInt(data[i].values.time) - tzOffset, + y: parseInt(data[i].values.temperature) + } + ); + } + + graphConfig.series[deviceIndex].data = chartData; + graph.update(); + } } diff --git a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.analytics-view/public/js/moment.min.js b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.analytics-view/public/js/moment.min.js deleted file mode 100644 index 78e5aaadc7..0000000000 --- a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.analytics-view/public/js/moment.min.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. 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. - */ - -//! moment.js -//! version : 2.10.2 -//! authors : Tim Wood, Iskren Chernev, Moment.js contributors -//! license : MIT -//! momentjs.com -!function(a,b){"object"==typeof exports&&"undefined"!=typeof module?module.exports=b():"function"==typeof define&&define.amd?define(b):a.moment=b()}(this,function(){"use strict";function a(){return Ac.apply(null,arguments)}function b(a){Ac=a}function c(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1}}function d(a){return"[object Array]"===Object.prototype.toString.call(a)}function e(a){return"[object Date]"===Object.prototype.toString.call(a)||a instanceof Date}function f(a,b){var c,d=[];for(c=0;c0)for(c in Cc)d=Cc[c],e=b[d],"undefined"!=typeof e&&(a[d]=e);return a}function m(b){l(this,b),this._d=new Date(+b._d),Dc===!1&&(Dc=!0,a.updateOffset(this),Dc=!1)}function n(a){return a instanceof m||null!=a&&g(a,"_isAMomentObject")}function o(a){var b=+a,c=0;return 0!==b&&isFinite(b)&&(c=b>=0?Math.floor(b):Math.ceil(b)),c}function p(a,b,c){var d,e=Math.min(a.length,b.length),f=Math.abs(a.length-b.length),g=0;for(d=0;e>d;d++)(c&&a[d]!==b[d]||!c&&o(a[d])!==o(b[d]))&&g++;return g+f}function q(){}function r(a){return a?a.toLowerCase().replace("_","-"):a}function s(a){for(var b,c,d,e,f=0;f0;){if(d=t(e.slice(0,b).join("-")))return d;if(c&&c.length>=b&&p(e,c,!0)>=b-1)break;b--}f++}return null}function t(a){var b=null;if(!Ec[a]&&"undefined"!=typeof module&&module&&module.exports)try{b=Bc._abbr,require("./locale/"+a),u(b)}catch(c){}return Ec[a]}function u(a,b){var c;return a&&(c="undefined"==typeof b?w(a):v(a,b),c&&(Bc=c)),Bc._abbr}function v(a,b){return null!==b?(b.abbr=a,Ec[a]||(Ec[a]=new q),Ec[a].set(b),u(a),Ec[a]):(delete Ec[a],null)}function w(a){var b;if(a&&a._locale&&a._locale._abbr&&(a=a._locale._abbr),!a)return Bc;if(!d(a)){if(b=t(a))return b;a=[a]}return s(a)}function x(a,b){var c=a.toLowerCase();Fc[c]=Fc[c+"s"]=Fc[b]=a}function y(a){return"string"==typeof a?Fc[a]||Fc[a.toLowerCase()]:void 0}function z(a){var b,c,d={};for(c in a)g(a,c)&&(b=y(c),b&&(d[b]=a[c]));return d}function A(b,c){return function(d){return null!=d?(C(this,b,d),a.updateOffset(this,c),this):B(this,b)}}function B(a,b){return a._d["get"+(a._isUTC?"UTC":"")+b]()}function C(a,b,c){return a._d["set"+(a._isUTC?"UTC":"")+b](c)}function D(a,b){var c;if("object"==typeof a)for(c in a)this.set(c,a[c]);else if(a=y(a),"function"==typeof this[a])return this[a](b);return this}function E(a,b,c){for(var d=""+Math.abs(a),e=a>=0;d.lengthb;b++)d[b]=Jc[d[b]]?Jc[d[b]]:G(d[b]);return function(e){var f="";for(b=0;c>b;b++)f+=d[b]instanceof Function?d[b].call(e,a):d[b];return f}}function I(a,b){return a.isValid()?(b=J(b,a.localeData()),Ic[b]||(Ic[b]=H(b)),Ic[b](a)):a.localeData().invalidDate()}function J(a,b){function c(a){return b.longDateFormat(a)||a}var d=5;for(Hc.lastIndex=0;d>=0&&Hc.test(a);)a=a.replace(Hc,c),Hc.lastIndex=0,d-=1;return a}function K(a,b,c){Yc[a]="function"==typeof b?b:function(a){return a&&c?c:b}}function L(a,b){return g(Yc,a)?Yc[a](b._strict,b._locale):new RegExp(M(a))}function M(a){return a.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(a,b,c,d,e){return b||c||d||e}).replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function N(a,b){var c,d=b;for("string"==typeof a&&(a=[a]),"number"==typeof b&&(d=function(a,c){c[b]=o(a)}),c=0;cd;d++){if(e=i([2e3,d]),c&&!this._longMonthsParse[d]&&(this._longMonthsParse[d]=new RegExp("^"+this.months(e,"").replace(".","")+"$","i"),this._shortMonthsParse[d]=new RegExp("^"+this.monthsShort(e,"").replace(".","")+"$","i")),c||this._monthsParse[d]||(f="^"+this.months(e,"")+"|^"+this.monthsShort(e,""),this._monthsParse[d]=new RegExp(f.replace(".",""),"i")),c&&"MMMM"===b&&this._longMonthsParse[d].test(a))return d;if(c&&"MMM"===b&&this._shortMonthsParse[d].test(a))return d;if(!c&&this._monthsParse[d].test(a))return d}}function U(a,b){var c;return"string"==typeof b&&(b=a.localeData().monthsParse(b),"number"!=typeof b)?a:(c=Math.min(a.date(),Q(a.year(),b)),a._d["set"+(a._isUTC?"UTC":"")+"Month"](b,c),a)}function V(b){return null!=b?(U(this,b),a.updateOffset(this,!0),this):B(this,"Month")}function W(){return Q(this.year(),this.month())}function X(a){var b,c=a._a;return c&&-2===a._pf.overflow&&(b=c[_c]<0||c[_c]>11?_c:c[ad]<1||c[ad]>Q(c[$c],c[_c])?ad:c[bd]<0||c[bd]>24||24===c[bd]&&(0!==c[cd]||0!==c[dd]||0!==c[ed])?bd:c[cd]<0||c[cd]>59?cd:c[dd]<0||c[dd]>59?dd:c[ed]<0||c[ed]>999?ed:-1,a._pf._overflowDayOfYear&&($c>b||b>ad)&&(b=ad),a._pf.overflow=b),a}function Y(b){a.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+b)}function Z(a,b){var c=!0;return h(function(){return c&&(Y(a),c=!1),b.apply(this,arguments)},b)}function $(a,b){hd[a]||(Y(b),hd[a]=!0)}function _(a){var b,c,d=a._i,e=id.exec(d);if(e){for(a._pf.iso=!0,b=0,c=jd.length;c>b;b++)if(jd[b][1].exec(d)){a._f=jd[b][0]+(e[6]||" ");break}for(b=0,c=kd.length;c>b;b++)if(kd[b][1].exec(d)){a._f+=kd[b][0];break}d.match(Vc)&&(a._f+="Z"),sa(a)}else a._isValid=!1}function aa(b){var c=ld.exec(b._i);return null!==c?void(b._d=new Date(+c[1])):(_(b),void(b._isValid===!1&&(delete b._isValid,a.createFromInputFallback(b))))}function ba(a,b,c,d,e,f,g){var h=new Date(a,b,c,d,e,f,g);return 1970>a&&h.setFullYear(a),h}function ca(a){var b=new Date(Date.UTC.apply(null,arguments));return 1970>a&&b.setUTCFullYear(a),b}function da(a){return ea(a)?366:365}function ea(a){return a%4===0&&a%100!==0||a%400===0}function fa(){return ea(this.year())}function ga(a,b,c){var d,e=c-b,f=c-a.day();return f>e&&(f-=7),e-7>f&&(f+=7),d=za(a).add(f,"d"),{week:Math.ceil(d.dayOfYear()/7),year:d.year()}}function ha(a){return ga(a,this._week.dow,this._week.doy).week}function ia(){return this._week.dow}function ja(){return this._week.doy}function ka(a){var b=this.localeData().week(this);return null==a?b:this.add(7*(a-b),"d")}function la(a){var b=ga(this,1,4).week;return null==a?b:this.add(7*(a-b),"d")}function ma(a,b,c,d,e){var f,g,h=ca(a,0,1).getUTCDay();return h=0===h?7:h,c=null!=c?c:e,f=e-h+(h>d?7:0)-(e>h?7:0),g=7*(b-1)+(c-e)+f+1,{year:g>0?a:a-1,dayOfYear:g>0?g:da(a-1)+g}}function na(a){var b=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==a?b:this.add(a-b,"d")}function oa(a,b,c){return null!=a?a:null!=b?b:c}function pa(a){var b=new Date;return a._useUTC?[b.getUTCFullYear(),b.getUTCMonth(),b.getUTCDate()]:[b.getFullYear(),b.getMonth(),b.getDate()]}function qa(a){var b,c,d,e,f=[];if(!a._d){for(d=pa(a),a._w&&null==a._a[ad]&&null==a._a[_c]&&ra(a),a._dayOfYear&&(e=oa(a._a[$c],d[$c]),a._dayOfYear>da(e)&&(a._pf._overflowDayOfYear=!0),c=ca(e,0,a._dayOfYear),a._a[_c]=c.getUTCMonth(),a._a[ad]=c.getUTCDate()),b=0;3>b&&null==a._a[b];++b)a._a[b]=f[b]=d[b];for(;7>b;b++)a._a[b]=f[b]=null==a._a[b]?2===b?1:0:a._a[b];24===a._a[bd]&&0===a._a[cd]&&0===a._a[dd]&&0===a._a[ed]&&(a._nextDay=!0,a._a[bd]=0),a._d=(a._useUTC?ca:ba).apply(null,f),null!=a._tzm&&a._d.setUTCMinutes(a._d.getUTCMinutes()-a._tzm),a._nextDay&&(a._a[bd]=24)}}function ra(a){var b,c,d,e,f,g,h;b=a._w,null!=b.GG||null!=b.W||null!=b.E?(f=1,g=4,c=oa(b.GG,a._a[$c],ga(za(),1,4).year),d=oa(b.W,1),e=oa(b.E,1)):(f=a._locale._week.dow,g=a._locale._week.doy,c=oa(b.gg,a._a[$c],ga(za(),f,g).year),d=oa(b.w,1),null!=b.d?(e=b.d,f>e&&++d):e=null!=b.e?b.e+f:f),h=ma(c,d,e,g,f),a._a[$c]=h.year,a._dayOfYear=h.dayOfYear}function sa(b){if(b._f===a.ISO_8601)return void _(b);b._a=[],b._pf.empty=!0;var c,d,e,f,g,h=""+b._i,i=h.length,j=0;for(e=J(b._f,b._locale).match(Gc)||[],c=0;c0&&b._pf.unusedInput.push(g),h=h.slice(h.indexOf(d)+d.length),j+=d.length),Jc[f]?(d?b._pf.empty=!1:b._pf.unusedTokens.push(f),P(f,d,b)):b._strict&&!d&&b._pf.unusedTokens.push(f);b._pf.charsLeftOver=i-j,h.length>0&&b._pf.unusedInput.push(h),b._pf.bigHour===!0&&b._a[bd]<=12&&(b._pf.bigHour=void 0),b._a[bd]=ta(b._locale,b._a[bd],b._meridiem),qa(b),X(b)}function ta(a,b,c){var d;return null==c?b:null!=a.meridiemHour?a.meridiemHour(b,c):null!=a.isPM?(d=a.isPM(c),d&&12>b&&(b+=12),d||12!==b||(b=0),b):b}function ua(a){var b,d,e,f,g;if(0===a._f.length)return a._pf.invalidFormat=!0,void(a._d=new Date(0/0));for(f=0;fg)&&(e=g,d=b));h(a,d||b)}function va(a){if(!a._d){var b=z(a._i);a._a=[b.year,b.month,b.day||b.date,b.hour,b.minute,b.second,b.millisecond],qa(a)}}function wa(a){var b,c=a._i,e=a._f;return a._locale=a._locale||w(a._l),null===c||void 0===e&&""===c?k({nullInput:!0}):("string"==typeof c&&(a._i=c=a._locale.preparse(c)),n(c)?new m(X(c)):(d(e)?ua(a):e?sa(a):xa(a),b=new m(X(a)),b._nextDay&&(b.add(1,"d"),b._nextDay=void 0),b))}function xa(b){var c=b._i;void 0===c?b._d=new Date:e(c)?b._d=new Date(+c):"string"==typeof c?aa(b):d(c)?(b._a=f(c.slice(0),function(a){return parseInt(a,10)}),qa(b)):"object"==typeof c?va(b):"number"==typeof c?b._d=new Date(c):a.createFromInputFallback(b)}function ya(a,b,d,e,f){var g={};return"boolean"==typeof d&&(e=d,d=void 0),g._isAMomentObject=!0,g._useUTC=g._isUTC=f,g._l=d,g._i=a,g._f=b,g._strict=e,g._pf=c(),wa(g)}function za(a,b,c,d){return ya(a,b,c,d,!1)}function Aa(a,b){var c,e;if(1===b.length&&d(b[0])&&(b=b[0]),!b.length)return za();for(c=b[0],e=1;ea&&(a=-a,c="-"),c+E(~~(a/60),2)+b+E(~~a%60,2)})}function Ga(a){var b=(a||"").match(Vc)||[],c=b[b.length-1]||[],d=(c+"").match(qd)||["-",0,0],e=+(60*d[1])+o(d[2]);return"+"===d[0]?e:-e}function Ha(b,c){var d,f;return c._isUTC?(d=c.clone(),f=(n(b)||e(b)?+b:+za(b))-+d,d._d.setTime(+d._d+f),a.updateOffset(d,!1),d):za(b).local();return c._isUTC?za(b).zone(c._offset||0):za(b).local()}function Ia(a){return 15*-Math.round(a._d.getTimezoneOffset()/15)}function Ja(b,c){var d,e=this._offset||0;return null!=b?("string"==typeof b&&(b=Ga(b)),Math.abs(b)<16&&(b=60*b),!this._isUTC&&c&&(d=Ia(this)),this._offset=b,this._isUTC=!0,null!=d&&this.add(d,"m"),e!==b&&(!c||this._changeInProgress?Za(this,Ua(b-e,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,a.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?e:Ia(this)}function Ka(a,b){return null!=a?("string"!=typeof a&&(a=-a),this.utcOffset(a,b),this):-this.utcOffset()}function La(a){return this.utcOffset(0,a)}function Ma(a){return this._isUTC&&(this.utcOffset(0,a),this._isUTC=!1,a&&this.subtract(Ia(this),"m")),this}function Na(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(Ga(this._i)),this}function Oa(a){return a=a?za(a).utcOffset():0,(this.utcOffset()-a)%60===0}function Pa(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Qa(){if(this._a){var a=this._isUTC?i(this._a):za(this._a);return this.isValid()&&p(this._a,a.toArray())>0}return!1}function Ra(){return!this._isUTC}function Sa(){return this._isUTC}function Ta(){return this._isUTC&&0===this._offset}function Ua(a,b){var c,d,e,f=a,h=null;return Ea(a)?f={ms:a._milliseconds,d:a._days,M:a._months}:"number"==typeof a?(f={},b?f[b]=a:f.milliseconds=a):(h=rd.exec(a))?(c="-"===h[1]?-1:1,f={y:0,d:o(h[ad])*c,h:o(h[bd])*c,m:o(h[cd])*c,s:o(h[dd])*c,ms:o(h[ed])*c}):(h=sd.exec(a))?(c="-"===h[1]?-1:1,f={y:Va(h[2],c),M:Va(h[3],c),d:Va(h[4],c),h:Va(h[5],c),m:Va(h[6],c),s:Va(h[7],c),w:Va(h[8],c)}):null==f?f={}:"object"==typeof f&&("from"in f||"to"in f)&&(e=Xa(za(f.from),za(f.to)),f={},f.ms=e.milliseconds,f.M=e.months),d=new Da(f),Ea(a)&&g(a,"_locale")&&(d._locale=a._locale),d}function Va(a,b){var c=a&&parseFloat(a.replace(",","."));return(isNaN(c)?0:c)*b}function Wa(a,b){var c={milliseconds:0,months:0};return c.months=b.month()-a.month()+12*(b.year()-a.year()),a.clone().add(c.months,"M").isAfter(b)&&--c.months,c.milliseconds=+b-+a.clone().add(c.months,"M"),c}function Xa(a,b){var c;return b=Ha(b,a),a.isBefore(b)?c=Wa(a,b):(c=Wa(b,a),c.milliseconds=-c.milliseconds,c.months=-c.months),c}function Ya(a,b){return function(c,d){var e,f;return null===d||isNaN(+d)||($(b,"moment()."+b+"(period, number) is deprecated. Please use moment()."+b+"(number, period)."),f=c,c=d,d=f),c="string"==typeof c?+c:c,e=Ua(c,d),Za(this,e,a),this}}function Za(b,c,d,e){var f=c._milliseconds,g=c._days,h=c._months;e=null==e?!0:e,f&&b._d.setTime(+b._d+f*d),g&&C(b,"Date",B(b,"Date")+g*d),h&&U(b,B(b,"Month")+h*d),e&&a.updateOffset(b,g||h)}function $a(a){var b=a||za(),c=Ha(b,this).startOf("day"),d=this.diff(c,"days",!0),e=-6>d?"sameElse":-1>d?"lastWeek":0>d?"lastDay":1>d?"sameDay":2>d?"nextDay":7>d?"nextWeek":"sameElse";return this.format(this.localeData().calendar(e,this,za(b)))}function _a(){return new m(this)}function ab(a,b){var c;return b=y("undefined"!=typeof b?b:"millisecond"),"millisecond"===b?(a=n(a)?a:za(a),+this>+a):(c=n(a)?+a:+za(a),c<+this.clone().startOf(b))}function bb(a,b){var c;return b=y("undefined"!=typeof b?b:"millisecond"),"millisecond"===b?(a=n(a)?a:za(a),+a>+this):(c=n(a)?+a:+za(a),+this.clone().endOf(b)a?Math.ceil(a):Math.floor(a)}function fb(a,b,c){var d,e,f=Ha(a,this),g=6e4*(f.utcOffset()-this.utcOffset());return b=y(b),"year"===b||"month"===b||"quarter"===b?(e=gb(this,f),"quarter"===b?e/=3:"year"===b&&(e/=12)):(d=this-f,e="second"===b?d/1e3:"minute"===b?d/6e4:"hour"===b?d/36e5:"day"===b?(d-g)/864e5:"week"===b?(d-g)/6048e5:d),c?e:eb(e)}function gb(a,b){var c,d,e=12*(b.year()-a.year())+(b.month()-a.month()),f=a.clone().add(e,"months");return 0>b-f?(c=a.clone().add(e-1,"months"),d=(b-f)/(f-c)):(c=a.clone().add(e+1,"months"),d=(b-f)/(c-f)),-(e+d)}function hb(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function ib(){var a=this.clone().utc();return 0b;b++)if(this._weekdaysParse[b]||(c=za([2e3,1]).day(b),d="^"+this.weekdays(c,"")+"|^"+this.weekdaysShort(c,"")+"|^"+this.weekdaysMin(c,""),this._weekdaysParse[b]=new RegExp(d.replace(".",""),"i")),this._weekdaysParse[b].test(a))return b}function Jb(a){var b=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=a?(a=Eb(a,this.localeData()),this.add(a-b,"d")):b}function Kb(a){var b=(this.day()+7-this.localeData()._week.dow)%7;return null==a?b:this.add(a-b,"d")}function Lb(a){return null==a?this.day()||7:this.day(this.day()%7?a:a-7)}function Mb(a,b){F(a,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),b)})}function Nb(a,b){return b._meridiemParse}function Ob(a){return"p"===(a+"").toLowerCase().charAt(0)}function Pb(a,b,c){return a>11?c?"pm":"PM":c?"am":"AM"}function Qb(a){F(0,[a,3],0,"millisecond")}function Rb(){return this._isUTC?"UTC":""}function Sb(){return this._isUTC?"Coordinated Universal Time":""}function Tb(a){return za(1e3*a)}function Ub(){return za.apply(null,arguments).parseZone()}function Vb(a,b,c){var d=this._calendar[a];return"function"==typeof d?d.call(b,c):d}function Wb(a){var b=this._longDateFormat[a];return!b&&this._longDateFormat[a.toUpperCase()]&&(b=this._longDateFormat[a.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(a){return a.slice(1)}),this._longDateFormat[a]=b),b}function Xb(){return this._invalidDate}function Yb(a){return this._ordinal.replace("%d",a)}function Zb(a){return a}function $b(a,b,c,d){var e=this._relativeTime[c];return"function"==typeof e?e(a,b,c,d):e.replace(/%d/i,a)}function _b(a,b){var c=this._relativeTime[a>0?"future":"past"];return"function"==typeof c?c(b):c.replace(/%s/i,b)}function ac(a){var b,c;for(c in a)b=a[c],"function"==typeof b?this[c]=b:this["_"+c]=b;this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function bc(a,b,c,d){var e=w(),f=i().set(d,b);return e[c](f,a)}function cc(a,b,c,d,e){if("number"==typeof a&&(b=a,a=void 0),a=a||"",null!=b)return bc(a,b,c,e);var f,g=[];for(f=0;d>f;f++)g[f]=bc(a,f,c,e);return g}function dc(a,b){return cc(a,b,"months",12,"month")}function ec(a,b){return cc(a,b,"monthsShort",12,"month")}function fc(a,b){return cc(a,b,"weekdays",7,"day")}function gc(a,b){return cc(a,b,"weekdaysShort",7,"day")}function hc(a,b){return cc(a,b,"weekdaysMin",7,"day")}function ic(){var a=this._data;return this._milliseconds=Od(this._milliseconds),this._days=Od(this._days),this._months=Od(this._months),a.milliseconds=Od(a.milliseconds),a.seconds=Od(a.seconds),a.minutes=Od(a.minutes),a.hours=Od(a.hours),a.months=Od(a.months),a.years=Od(a.years),this}function jc(a,b,c,d){var e=Ua(b,c);return a._milliseconds+=d*e._milliseconds,a._days+=d*e._days,a._months+=d*e._months,a._bubble()}function kc(a,b){return jc(this,a,b,1)}function lc(a,b){return jc(this,a,b,-1)}function mc(){var a,b,c,d=this._milliseconds,e=this._days,f=this._months,g=this._data,h=0;return g.milliseconds=d%1e3,a=eb(d/1e3),g.seconds=a%60,b=eb(a/60),g.minutes=b%60,c=eb(b/60),g.hours=c%24,e+=eb(c/24),h=eb(nc(e)),e-=eb(oc(h)),f+=eb(e/30),e%=30,h+=eb(f/12),f%=12,g.days=e,g.months=f,g.years=h,this}function nc(a){return 400*a/146097}function oc(a){return 146097*a/400}function pc(a){var b,c,d=this._milliseconds;if(a=y(a),"month"===a||"year"===a)return b=this._days+d/864e5,c=this._months+12*nc(b),"month"===a?c:c/12;switch(b=this._days+Math.round(oc(this._months/12)),a){case"week":return b/7+d/6048e5;case"day":return b+d/864e5;case"hour":return 24*b+d/36e5;case"minute":return 24*b*60+d/6e4;case"second":return 24*b*60*60+d/1e3;case"millisecond":return Math.floor(24*b*60*60*1e3)+d;default:throw new Error("Unknown unit "+a)}}function qc(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*o(this._months/12)}function rc(a){return function(){return this.as(a)}}function sc(a){return a=y(a),this[a+"s"]()}function tc(a){return function(){return this._data[a]}}function uc(){return eb(this.days()/7)}function vc(a,b,c,d,e){return e.relativeTime(b||1,!!c,a,d)}function wc(a,b,c){var d=Ua(a).abs(),e=ce(d.as("s")),f=ce(d.as("m")),g=ce(d.as("h")),h=ce(d.as("d")),i=ce(d.as("M")),j=ce(d.as("y")),k=e0,k[4]=c,vc.apply(null,k)}function xc(a,b){return void 0===de[a]?!1:void 0===b?de[a]:(de[a]=b,!0)}function yc(a){var b=this.localeData(),c=wc(this,!a,b);return a&&(c=b.pastFuture(+this,c)),b.postformat(c)}function zc(){var a=ee(this.years()),b=ee(this.months()),c=ee(this.days()),d=ee(this.hours()),e=ee(this.minutes()),f=ee(this.seconds()+this.milliseconds()/1e3),g=this.asSeconds();return g?(0>g?"-":"")+"P"+(a?a+"Y":"")+(b?b+"M":"")+(c?c+"D":"")+(d||e||f?"T":"")+(d?d+"H":"")+(e?e+"M":"")+(f?f+"S":""):"P0D"}var Ac,Bc,Cc=a.momentProperties=[],Dc=!1,Ec={},Fc={},Gc=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|x|X|zz?|ZZ?|.)/g,Hc=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Ic={},Jc={},Kc=/\d/,Lc=/\d\d/,Mc=/\d{3}/,Nc=/\d{4}/,Oc=/[+-]?\d{6}/,Pc=/\d\d?/,Qc=/\d{1,3}/,Rc=/\d{1,4}/,Sc=/[+-]?\d{1,6}/,Tc=/\d+/,Uc=/[+-]?\d+/,Vc=/Z|[+-]\d\d:?\d\d/gi,Wc=/[+-]?\d+(\.\d{1,3})?/,Xc=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,Yc={},Zc={},$c=0,_c=1,ad=2,bd=3,cd=4,dd=5,ed=6;F("M",["MM",2],"Mo",function(){return this.month()+1}),F("MMM",0,0,function(a){return this.localeData().monthsShort(this,a)}),F("MMMM",0,0,function(a){return this.localeData().months(this,a)}),x("month","M"),K("M",Pc),K("MM",Pc,Lc),K("MMM",Xc),K("MMMM",Xc),N(["M","MM"],function(a,b){b[_c]=o(a)-1}),N(["MMM","MMMM"],function(a,b,c,d){var e=c._locale.monthsParse(a,d,c._strict);null!=e?b[_c]=e:c._pf.invalidMonth=a});var fd="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),gd="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),hd={};a.suppressDeprecationWarnings=!1;var id=/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,jd=[["YYYYYY-MM-DD",/[+-]\d{6}-\d{2}-\d{2}/],["YYYY-MM-DD",/\d{4}-\d{2}-\d{2}/],["GGGG-[W]WW-E",/\d{4}-W\d{2}-\d/],["GGGG-[W]WW",/\d{4}-W\d{2}/],["YYYY-DDD",/\d{4}-\d{3}/]],kd=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],ld=/^\/?Date\((\-?\d+)/i;a.createFromInputFallback=Z("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(a){a._d=new Date(a._i+(a._useUTC?" UTC":""))}),F(0,["YY",2],0,function(){return this.year()%100}),F(0,["YYYY",4],0,"year"),F(0,["YYYYY",5],0,"year"),F(0,["YYYYYY",6,!0],0,"year"),x("year","y"),K("Y",Uc),K("YY",Pc,Lc),K("YYYY",Rc,Nc),K("YYYYY",Sc,Oc),K("YYYYYY",Sc,Oc),N(["YYYY","YYYYY","YYYYYY"],$c),N("YY",function(b,c){c[$c]=a.parseTwoDigitYear(b)}),a.parseTwoDigitYear=function(a){return o(a)+(o(a)>68?1900:2e3)};var md=A("FullYear",!1);F("w",["ww",2],"wo","week"),F("W",["WW",2],"Wo","isoWeek"),x("week","w"),x("isoWeek","W"),K("w",Pc),K("ww",Pc,Lc),K("W",Pc),K("WW",Pc,Lc),O(["w","ww","W","WW"],function(a,b,c,d){b[d.substr(0,1)]=o(a)});var nd={dow:0,doy:6};F("DDD",["DDDD",3],"DDDo","dayOfYear"),x("dayOfYear","DDD"),K("DDD",Qc),K("DDDD",Mc),N(["DDD","DDDD"],function(a,b,c){c._dayOfYear=o(a)}),a.ISO_8601=function(){};var od=Z("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(){var a=za.apply(null,arguments);return this>a?this:a}),pd=Z("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(){var a=za.apply(null,arguments);return a>this?this:a});Fa("Z",":"),Fa("ZZ",""),K("Z",Vc),K("ZZ",Vc),N(["Z","ZZ"],function(a,b,c){c._useUTC=!0,c._tzm=Ga(a)});var qd=/([\+\-]|\d\d)/gi;a.updateOffset=function(){};var rd=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,sd=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/;Ua.fn=Da.prototype;var td=Ya(1,"add"),ud=Ya(-1,"subtract");a.defaultFormat="YYYY-MM-DDTHH:mm:ssZ";var vd=Z("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(a){return void 0===a?this.localeData():this.locale(a)});F(0,["gg",2],0,function(){return this.weekYear()%100}),F(0,["GG",2],0,function(){return this.isoWeekYear()%100}),xb("gggg","weekYear"),xb("ggggg","weekYear"),xb("GGGG","isoWeekYear"),xb("GGGGG","isoWeekYear"),x("weekYear","gg"),x("isoWeekYear","GG"),K("G",Uc),K("g",Uc),K("GG",Pc,Lc),K("gg",Pc,Lc),K("GGGG",Rc,Nc),K("gggg",Rc,Nc),K("GGGGG",Sc,Oc),K("ggggg",Sc,Oc),O(["gggg","ggggg","GGGG","GGGGG"],function(a,b,c,d){b[d.substr(0,2)]=o(a)}),O(["gg","GG"],function(b,c,d,e){c[e]=a.parseTwoDigitYear(b)}),F("Q",0,0,"quarter"),x("quarter","Q"),K("Q",Kc),N("Q",function(a,b){b[_c]=3*(o(a)-1)}),F("D",["DD",2],"Do","date"),x("date","D"),K("D",Pc),K("DD",Pc,Lc),K("Do",function(a,b){return a?b._ordinalParse:b._ordinalParseLenient}),N(["D","DD"],ad),N("Do",function(a,b){b[ad]=o(a.match(Pc)[0],10)});var wd=A("Date",!0);F("d",0,"do","day"),F("dd",0,0,function(a){return this.localeData().weekdaysMin(this,a)}),F("ddd",0,0,function(a){return this.localeData().weekdaysShort(this,a)}),F("dddd",0,0,function(a){return this.localeData().weekdays(this,a)}),F("e",0,0,"weekday"),F("E",0,0,"isoWeekday"),x("day","d"),x("weekday","e"),x("isoWeekday","E"),K("d",Pc),K("e",Pc),K("E",Pc),K("dd",Xc),K("ddd",Xc),K("dddd",Xc),O(["dd","ddd","dddd"],function(a,b,c){var d=c._locale.weekdaysParse(a);null!=d?b.d=d:c._pf.invalidWeekday=a}),O(["d","e","E"],function(a,b,c,d){b[d]=o(a)});var xd="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),yd="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),zd="Su_Mo_Tu_We_Th_Fr_Sa".split("_");F("H",["HH",2],0,"hour"),F("h",["hh",2],0,function(){return this.hours()%12||12}),Mb("a",!0),Mb("A",!1),x("hour","h"),K("a",Nb),K("A",Nb),K("H",Pc),K("h",Pc),K("HH",Pc,Lc),K("hh",Pc,Lc),N(["H","HH"],bd),N(["a","A"],function(a,b,c){c._isPm=c._locale.isPM(a),c._meridiem=a}),N(["h","hh"],function(a,b,c){b[bd]=o(a),c._pf.bigHour=!0});var Ad=/[ap]\.?m?\.?/i,Bd=A("Hours",!0);F("m",["mm",2],0,"minute"),x("minute","m"),K("m",Pc),K("mm",Pc,Lc),N(["m","mm"],cd);var Cd=A("Minutes",!1);F("s",["ss",2],0,"second"),x("second","s"),K("s",Pc),K("ss",Pc,Lc),N(["s","ss"],dd);var Dd=A("Seconds",!1);F("S",0,0,function(){return~~(this.millisecond()/100)}),F(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),Qb("SSS"),Qb("SSSS"),x("millisecond","ms"),K("S",Qc,Kc),K("SS",Qc,Lc),K("SSS",Qc,Mc),K("SSSS",Tc),N(["S","SS","SSS","SSSS"],function(a,b){b[ed]=o(1e3*("0."+a))});var Ed=A("Milliseconds",!1);F("z",0,0,"zoneAbbr"),F("zz",0,0,"zoneName");var Fd=m.prototype;Fd.add=td,Fd.calendar=$a,Fd.clone=_a,Fd.diff=fb,Fd.endOf=pb,Fd.format=jb,Fd.from=kb,Fd.fromNow=lb,Fd.get=D,Fd.invalidAt=wb,Fd.isAfter=ab,Fd.isBefore=bb,Fd.isBetween=cb,Fd.isSame=db,Fd.isValid=ub,Fd.lang=vd,Fd.locale=mb,Fd.localeData=nb,Fd.max=pd,Fd.min=od,Fd.parsingFlags=vb,Fd.set=D,Fd.startOf=ob,Fd.subtract=ud,Fd.toArray=tb,Fd.toDate=sb,Fd.toISOString=ib,Fd.toJSON=ib,Fd.toString=hb,Fd.unix=rb,Fd.valueOf=qb,Fd.year=md,Fd.isLeapYear=fa,Fd.weekYear=zb,Fd.isoWeekYear=Ab,Fd.quarter=Fd.quarters=Db,Fd.month=V,Fd.daysInMonth=W,Fd.week=Fd.weeks=ka,Fd.isoWeek=Fd.isoWeeks=la,Fd.weeksInYear=Cb,Fd.isoWeeksInYear=Bb,Fd.date=wd,Fd.day=Fd.days=Jb,Fd.weekday=Kb,Fd.isoWeekday=Lb,Fd.dayOfYear=na,Fd.hour=Fd.hours=Bd,Fd.minute=Fd.minutes=Cd,Fd.second=Fd.seconds=Dd,Fd.millisecond=Fd.milliseconds=Ed,Fd.utcOffset=Ja,Fd.utc=La,Fd.local=Ma,Fd.parseZone=Na,Fd.hasAlignedHourOffset=Oa,Fd.isDST=Pa,Fd.isDSTShifted=Qa,Fd.isLocal=Ra,Fd.isUtcOffset=Sa,Fd.isUtc=Ta,Fd.isUTC=Ta,Fd.zoneAbbr=Rb,Fd.zoneName=Sb,Fd.dates=Z("dates accessor is deprecated. Use date instead.",wd),Fd.months=Z("months accessor is deprecated. Use month instead",V),Fd.years=Z("years accessor is deprecated. Use year instead",md),Fd.zone=Z("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",Ka);var Gd=Fd,Hd={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},Id={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY LT",LLLL:"dddd, MMMM D, YYYY LT"},Jd="Invalid date",Kd="%d",Ld=/\d{1,2}/,Md={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},Nd=q.prototype;Nd._calendar=Hd,Nd.calendar=Vb,Nd._longDateFormat=Id,Nd.longDateFormat=Wb,Nd._invalidDate=Jd,Nd.invalidDate=Xb,Nd._ordinal=Kd,Nd.ordinal=Yb,Nd._ordinalParse=Ld, -Nd.preparse=Zb,Nd.postformat=Zb,Nd._relativeTime=Md,Nd.relativeTime=$b,Nd.pastFuture=_b,Nd.set=ac,Nd.months=R,Nd._months=fd,Nd.monthsShort=S,Nd._monthsShort=gd,Nd.monthsParse=T,Nd.week=ha,Nd._week=nd,Nd.firstDayOfYear=ja,Nd.firstDayOfWeek=ia,Nd.weekdays=Fb,Nd._weekdays=xd,Nd.weekdaysMin=Hb,Nd._weekdaysMin=zd,Nd.weekdaysShort=Gb,Nd._weekdaysShort=yd,Nd.weekdaysParse=Ib,Nd.isPM=Ob,Nd._meridiemParse=Ad,Nd.meridiem=Pb,u("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(a){var b=a%10,c=1===o(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c}}),a.lang=Z("moment.lang is deprecated. Use moment.locale instead.",u),a.langData=Z("moment.langData is deprecated. Use moment.localeData instead.",w);var Od=Math.abs,Pd=rc("ms"),Qd=rc("s"),Rd=rc("m"),Sd=rc("h"),Td=rc("d"),Ud=rc("w"),Vd=rc("M"),Wd=rc("y"),Xd=tc("milliseconds"),Yd=tc("seconds"),Zd=tc("minutes"),$d=tc("hours"),_d=tc("days"),ae=tc("months"),be=tc("years"),ce=Math.round,de={s:45,m:45,h:22,d:26,M:11},ee=Math.abs,fe=Da.prototype;fe.abs=ic,fe.add=kc,fe.subtract=lc,fe.as=pc,fe.asMilliseconds=Pd,fe.asSeconds=Qd,fe.asMinutes=Rd,fe.asHours=Sd,fe.asDays=Td,fe.asWeeks=Ud,fe.asMonths=Vd,fe.asYears=Wd,fe.valueOf=qc,fe._bubble=mc,fe.get=sc,fe.milliseconds=Xd,fe.seconds=Yd,fe.minutes=Zd,fe.hours=$d,fe.days=_d,fe.weeks=uc,fe.months=ae,fe.years=be,fe.humanize=yc,fe.toISOString=zc,fe.toString=zc,fe.toJSON=zc,fe.locale=mb,fe.localeData=nb,fe.toIsoString=Z("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",zc),fe.lang=vd,F("X",0,0,"unix"),F("x",0,0,"valueOf"),K("x",Uc),K("X",Wc),N("X",function(a,b,c){c._d=new Date(1e3*parseFloat(a,10))}),N("x",function(a,b,c){c._d=new Date(o(a))}),a.version="2.10.2",b(za),a.fn=Gd,a.min=Ba,a.max=Ca,a.utc=i,a.unix=Tb,a.months=dc,a.isDate=e,a.locale=u,a.invalid=k,a.duration=Ua,a.isMoment=n,a.weekdays=fc,a.parseZone=Ub,a.localeData=w,a.isDuration=Ea,a.monthsShort=ec,a.weekdaysMin=hc,a.defineLocale=v,a.weekdaysShort=gc,a.normalizeUnits=y,a.relativeTimeThreshold=xc;var ge=a;return ge}); \ No newline at end of file diff --git a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.analytics-view/public/js/rickshaw.min.js b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.analytics-view/public/js/rickshaw.min.js deleted file mode 100644 index be060e0b87..0000000000 --- a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.analytics-view/public/js/rickshaw.min.js +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. 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(root,factory){if(typeof define==="function"&&define.amd){define(["d3.min"],function(d3){return root.Rickshaw=factory(d3)})}else if(typeof exports==="object"){module.exports=factory(require("d3"))}else{root.Rickshaw=factory(d3)}})(this,function(d3){var Rickshaw={namespace:function(namespace,obj){var parts=namespace.split(".");var parent=Rickshaw;for(var i=1,length=parts.length;i0){var x=s.data[0].x;var y=s.data[0].y;if(typeof x!="number"||typeof y!="number"&&y!==null){throw"x and y properties of points should be numbers instead of "+typeof x+" and "+typeof y}}if(s.data.length>=3){if(s.data[2].xthis.window.xMax)isInRange=false;return isInRange}return true};this.onUpdate=function(callback){this.updateCallbacks.push(callback)};this.onConfigure=function(callback){this.configureCallbacks.push(callback)};this.registerRenderer=function(renderer){this._renderers=this._renderers||{};this._renderers[renderer.name]=renderer};this.configure=function(args){this.config=this.config||{};if(args.width||args.height){this.setSize(args)}Rickshaw.keys(this.defaults).forEach(function(k){this.config[k]=k in args?args[k]:k in this?this[k]:this.defaults[k]},this);Rickshaw.keys(this.config).forEach(function(k){this[k]=this.config[k]},this);if("stack"in args)args.unstack=!args.stack;var renderer=args.renderer||this.renderer&&this.renderer.name||"stack";this.setRenderer(renderer,args);this.configureCallbacks.forEach(function(callback){callback(args)})};this.setRenderer=function(r,args){if(typeof r=="function"){this.renderer=new r({graph:self});this.registerRenderer(this.renderer)}else{if(!this._renderers[r]){throw"couldn't find renderer "+r}this.renderer=this._renderers[r]}if(typeof args=="object"){this.renderer.configure(args)}};this.setSize=function(args){args=args||{};if(typeof window!==undefined){var style=window.getComputedStyle(this.element,null);var elementWidth=parseInt(style.getPropertyValue("width"),10);var elementHeight=parseInt(style.getPropertyValue("height"),10)}this.width=args.width||elementWidth||400;this.height=args.height||elementHeight||250;this.vis&&this.vis.attr("width",this.width).attr("height",this.height)};this.initialize(args)};Rickshaw.namespace("Rickshaw.Fixtures.Color");Rickshaw.Fixtures.Color=function(){this.schemes={};this.schemes.spectrum14=["#ecb796","#dc8f70","#b2a470","#92875a","#716c49","#d2ed82","#bbe468","#a1d05d","#e7cbe6","#d8aad6","#a888c2","#9dc2d3","#649eb9","#387aa3"].reverse();this.schemes.spectrum2000=["#57306f","#514c76","#646583","#738394","#6b9c7d","#84b665","#a7ca50","#bfe746","#e2f528","#fff726","#ecdd00","#d4b11d","#de8800","#de4800","#c91515","#9a0000","#7b0429","#580839","#31082b"];this.schemes.spectrum2001=["#2f243f","#3c2c55","#4a3768","#565270","#6b6b7c","#72957f","#86ad6e","#a1bc5e","#b8d954","#d3e04e","#ccad2a","#cc8412","#c1521d","#ad3821","#8a1010","#681717","#531e1e","#3d1818","#320a1b"];this.schemes.classic9=["#423d4f","#4a6860","#848f39","#a2b73c","#ddcb53","#c5a32f","#7d5836","#963b20","#7c2626","#491d37","#2f254a"].reverse();this.schemes.httpStatus={503:"#ea5029",502:"#d23f14",500:"#bf3613",410:"#efacea",409:"#e291dc",403:"#f457e8",408:"#e121d2",401:"#b92dae",405:"#f47ceb",404:"#a82a9f",400:"#b263c6",301:"#6fa024",302:"#87c32b",307:"#a0d84c",304:"#28b55c",200:"#1a4f74",206:"#27839f",201:"#52adc9",202:"#7c979f",203:"#a5b8bd",204:"#c1cdd1"};this.schemes.colorwheel=["#b5b6a9","#858772","#785f43","#96557e","#4682b4","#65b9ac","#73c03a","#cb513a"].reverse();this.schemes.cool=["#5e9d2f","#73c03a","#4682b4","#7bc3b8","#a9884e","#c1b266","#a47493","#c09fb5"];this.schemes.munin=["#00cc00","#0066b3","#ff8000","#ffcc00","#330099","#990099","#ccff00","#ff0000","#808080","#008f00","#00487d","#b35a00","#b38f00","#6b006b","#8fb300","#b30000","#bebebe","#80ff80","#80c9ff","#ffc080","#ffe680","#aa80ff","#ee00cc","#ff8080","#666600","#ffbfff","#00ffcc","#cc6699","#999900"]};Rickshaw.namespace("Rickshaw.Fixtures.RandomData");Rickshaw.Fixtures.RandomData=function(timeInterval){var addData;timeInterval=timeInterval||1;var lastRandomValue=200;var timeBase=Math.floor((new Date).getTime()/1e3);this.addData=function(data){var randomValue=Math.random()*100+15+lastRandomValue;var index=data[0].length;var counter=1;data.forEach(function(series){var randomVariance=Math.random()*20;var v=randomValue/25+counter++ +(Math.cos(index*counter*11/960)+2)*15+(Math.cos(index/7)+2)*7+(Math.cos(index/17)+2)*1;series.push({x:index*timeInterval+timeBase,y:v+randomVariance})});lastRandomValue=randomValue*.85};this.removeData=function(data){data.forEach(function(series){series.shift()});timeBase+=timeInterval}};Rickshaw.namespace("Rickshaw.Fixtures.Time");Rickshaw.Fixtures.Time=function(){var self=this;this.months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];this.units=[{name:"decade",seconds:86400*365.25*10,formatter:function(d){return parseInt(d.getUTCFullYear()/10,10)*10}},{name:"year",seconds:86400*365.25,formatter:function(d){return d.getUTCFullYear()}},{name:"month",seconds:86400*30.5,formatter:function(d){return self.months[d.getUTCMonth()]}},{name:"week",seconds:86400*7,formatter:function(d){return self.formatDate(d)}},{name:"day",seconds:86400,formatter:function(d){return d.getUTCDate()}},{name:"6 hour",seconds:3600*6,formatter:function(d){return self.formatTime(d)}},{name:"hour",seconds:3600,formatter:function(d){return self.formatTime(d)}},{name:"15 minute",seconds:60*15,formatter:function(d){return self.formatTime(d)}},{name:"minute",seconds:60,formatter:function(d){return d.getUTCMinutes()}},{name:"15 second",seconds:15,formatter:function(d){return d.getUTCSeconds()+"s"}},{name:"second",seconds:1,formatter:function(d){return d.getUTCSeconds()+"s"}},{name:"decisecond",seconds:1/10,formatter:function(d){return d.getUTCMilliseconds()+"ms"}},{name:"centisecond",seconds:1/100,formatter:function(d){return d.getUTCMilliseconds()+"ms"}}];this.unit=function(unitName){return this.units.filter(function(unit){return unitName==unit.name}).shift()};this.formatDate=function(d){return d3.time.format("%b %e")(d)};this.formatTime=function(d){return d.toUTCString().match(/(\d+:\d+):/)[1]};this.ceil=function(time,unit){var date,floor,year;if(unit.name=="month"){date=new Date(time*1e3);floor=Date.UTC(date.getUTCFullYear(),date.getUTCMonth())/1e3;if(floor==time)return time;year=date.getUTCFullYear();var month=date.getUTCMonth();if(month==11){month=0;year=year+1}else{month+=1}return Date.UTC(year,month)/1e3}if(unit.name=="year"){date=new Date(time*1e3);floor=Date.UTC(date.getUTCFullYear(),0)/1e3;if(floor==time)return time;year=date.getUTCFullYear()+1;return Date.UTC(year,0)/1e3}return Math.ceil(time/unit.seconds)*unit.seconds}};Rickshaw.namespace("Rickshaw.Fixtures.Time.Local");Rickshaw.Fixtures.Time.Local=function(){var self=this;this.months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];this.units=[{name:"decade",seconds:86400*365.25*10,formatter:function(d){return parseInt(d.getFullYear()/10,10)*10}},{name:"year",seconds:86400*365.25,formatter:function(d){return d.getFullYear()}},{name:"month",seconds:86400*30.5,formatter:function(d){return self.months[d.getMonth()]}},{name:"week",seconds:86400*7,formatter:function(d){return self.formatDate(d)}},{name:"day",seconds:86400,formatter:function(d){return d.getDate()}},{name:"6 hour",seconds:3600*6,formatter:function(d){return self.formatTime(d)}},{name:"hour",seconds:3600,formatter:function(d){return self.formatTime(d)}},{name:"15 minute",seconds:60*15,formatter:function(d){return self.formatTime(d)}},{name:"minute",seconds:60,formatter:function(d){return d.getMinutes()}},{name:"15 second",seconds:15,formatter:function(d){return d.getSeconds()+"s"}},{name:"second",seconds:1,formatter:function(d){return d.getSeconds()+"s"}},{name:"decisecond",seconds:1/10,formatter:function(d){return d.getMilliseconds()+"ms"}},{name:"centisecond",seconds:1/100,formatter:function(d){return d.getMilliseconds()+"ms"}}];this.unit=function(unitName){return this.units.filter(function(unit){return unitName==unit.name}).shift()};this.formatDate=function(d){return d3.time.format("%b %e")(d)};this.formatTime=function(d){return d.toString().match(/(\d+:\d+):/)[1]};this.ceil=function(time,unit){var date,floor,year;if(unit.name=="day"){var nearFuture=new Date((time+unit.seconds-1)*1e3);var rounded=new Date(0);rounded.setMilliseconds(0);rounded.setSeconds(0);rounded.setMinutes(0);rounded.setHours(0);rounded.setDate(nearFuture.getDate());rounded.setMonth(nearFuture.getMonth());rounded.setFullYear(nearFuture.getFullYear());return rounded.getTime()/1e3}if(unit.name=="month"){date=new Date(time*1e3);floor=new Date(date.getFullYear(),date.getMonth()).getTime()/1e3;if(floor==time)return time;year=date.getFullYear();var month=date.getMonth();if(month==11){month=0;year=year+1}else{month+=1}return new Date(year,month).getTime()/1e3}if(unit.name=="year"){date=new Date(time*1e3);floor=new Date(date.getUTCFullYear(),0).getTime()/1e3;if(floor==time)return time;year=date.getFullYear()+1;return new Date(year,0).getTime()/1e3}return Math.ceil(time/unit.seconds)*unit.seconds}};Rickshaw.namespace("Rickshaw.Fixtures.Number");Rickshaw.Fixtures.Number.formatKMBT=function(y){var abs_y=Math.abs(y);if(abs_y>=1e12){return y/1e12+"T"}else if(abs_y>=1e9){return y/1e9+"B"}else if(abs_y>=1e6){return y/1e6+"M"}else if(abs_y>=1e3){return y/1e3+"K"}else if(abs_y<1&&y>0){return y.toFixed(2)}else if(abs_y===0){return""}else{return y}};Rickshaw.Fixtures.Number.formatBase1024KMGTP=function(y){var abs_y=Math.abs(y);if(abs_y>=0x4000000000000){return y/0x4000000000000+"P"}else if(abs_y>=1099511627776){return y/1099511627776+"T"}else if(abs_y>=1073741824){return y/1073741824+"G"}else if(abs_y>=1048576){return y/1048576+"M"}else if(abs_y>=1024){return y/1024+"K"}else if(abs_y<1&&y>0){return y.toFixed(2)}else if(abs_y===0){return""}else{return y}};Rickshaw.namespace("Rickshaw.Color.Palette");Rickshaw.Color.Palette=function(args){var color=new Rickshaw.Fixtures.Color;args=args||{};this.schemes={};this.scheme=color.schemes[args.scheme]||args.scheme||color.schemes.colorwheel;this.runningIndex=0;this.generatorIndex=0;if(args.interpolatedStopCount){var schemeCount=this.scheme.length-1;var i,j,scheme=[];for(i=0;iself.graph.x.range()[1]){if(annotation.element){annotation.line.classList.add("offscreen");annotation.element.style.display="none"}annotation.boxes.forEach(function(box){if(box.rangeElement)box.rangeElement.classList.add("offscreen")});return}if(!annotation.element){var element=annotation.element=document.createElement("div");element.classList.add("annotation");this.elements.timeline.appendChild(element);element.addEventListener("click",function(e){element.classList.toggle("active");annotation.line.classList.toggle("active");annotation.boxes.forEach(function(box){if(box.rangeElement)box.rangeElement.classList.toggle("active")})},false)}annotation.element.style.left=left+"px";annotation.element.style.display="block";annotation.boxes.forEach(function(box){var element=box.element;if(!element){element=box.element=document.createElement("div");element.classList.add("content");element.innerHTML=box.content;annotation.element.appendChild(element);annotation.line=document.createElement("div");annotation.line.classList.add("annotation_line");self.graph.element.appendChild(annotation.line);if(box.end){box.rangeElement=document.createElement("div");box.rangeElement.classList.add("annotation_range");self.graph.element.appendChild(box.rangeElement)}}if(box.end){var annotationRangeStart=left;var annotationRangeEnd=Math.min(self.graph.x(box.end),self.graph.x.range()[1]);if(annotationRangeStart>annotationRangeEnd){annotationRangeEnd=left;annotationRangeStart=Math.max(self.graph.x(box.end),self.graph.x.range()[0])}var annotationRangeWidth=annotationRangeEnd-annotationRangeStart;box.rangeElement.style.left=annotationRangeStart+"px";box.rangeElement.style.width=annotationRangeWidth+"px";box.rangeElement.classList.remove("offscreen")}annotation.line.classList.remove("offscreen");annotation.line.style.left=left+"px"})},this)};this.graph.onUpdate(function(){self.update()})};Rickshaw.namespace("Rickshaw.Graph.Axis.Time");Rickshaw.Graph.Axis.Time=function(args){var self=this;this.graph=args.graph;this.elements=[];this.ticksTreatment=args.ticksTreatment||"plain";this.fixedTimeUnit=args.timeUnit;var time=args.timeFixture||new Rickshaw.Fixtures.Time;this.appropriateTimeUnit=function(){var unit;var units=time.units;var domain=this.graph.x.domain();var rangeSeconds=domain[1]-domain[0];units.forEach(function(u){if(Math.floor(rangeSeconds/u.seconds)>=2){unit=unit||u}});return unit||time.units[time.units.length-1]};this.tickOffsets=function(){var domain=this.graph.x.domain();var unit=this.fixedTimeUnit||this.appropriateTimeUnit();var count=Math.ceil((domain[1]-domain[0])/unit.seconds);var runningTick=domain[0];var offsets=[];for(var i=0;iself.graph.x.range()[1])return;var element=document.createElement("div");element.style.left=self.graph.x(o.value)+"px";element.classList.add("x_tick");element.classList.add(self.ticksTreatment);var title=document.createElement("div");title.classList.add("title");title.innerHTML=o.unit.formatter(new Date(o.value*1e3));element.appendChild(title);self.graph.element.appendChild(element);self.elements.push(element)})};this.graph.onUpdate(function(){self.render()})};Rickshaw.namespace("Rickshaw.Graph.Axis.X");Rickshaw.Graph.Axis.X=function(args){var self=this;var berthRate=.1;this.initialize=function(args){this.graph=args.graph;this.orientation=args.orientation||"top";this.pixelsPerTick=args.pixelsPerTick||75;if(args.ticks)this.staticTicks=args.ticks;if(args.tickValues)this.tickValues=args.tickValues;this.tickSize=args.tickSize||4;this.ticksTreatment=args.ticksTreatment||"plain";if(args.element){this.element=args.element;this._discoverSize(args.element,args);this.vis=d3.select(args.element).append("svg:svg").attr("height",this.height).attr("width",this.width).attr("class","rickshaw_graph x_axis_d3");this.element=this.vis[0][0];this.element.style.position="relative";this.setSize({width:args.width,height:args.height})}else{this.vis=this.graph.vis}this.graph.onUpdate(function(){self.render()})};this.setSize=function(args){args=args||{};if(!this.element)return;this._discoverSize(this.element.parentNode,args);this.vis.attr("height",this.height).attr("width",this.width*(1+berthRate));var berth=Math.floor(this.width*berthRate/2);this.element.style.left=-1*berth+"px"};this.render=function(){if(this._renderWidth!==undefined&&this.graph.width!==this._renderWidth)this.setSize({auto:true});var axis=d3.svg.axis().scale(this.graph.x).orient(this.orientation);axis.tickFormat(args.tickFormat||function(x){return x});if(this.tickValues)axis.tickValues(this.tickValues);this.ticks=this.staticTicks||Math.floor(this.graph.width/this.pixelsPerTick);var berth=Math.floor(this.width*berthRate/2)||0;var transform;if(this.orientation=="top"){var yOffset=this.height||this.graph.height;transform="translate("+berth+","+yOffset+")"}else{transform="translate("+berth+", 0)"}if(this.element){this.vis.selectAll("*").remove()}this.vis.append("svg:g").attr("class",["x_ticks_d3",this.ticksTreatment].join(" ")).attr("transform",transform).call(axis.ticks(this.ticks).tickSubdivide(0).tickSize(this.tickSize));var gridSize=(this.orientation=="bottom"?1:-1)*this.graph.height;this.graph.vis.append("svg:g").attr("class","x_grid_d3").call(axis.ticks(this.ticks).tickSubdivide(0).tickSize(gridSize)).selectAll("text").each(function(){this.parentNode.setAttribute("data-x-value",this.textContent)});this._renderHeight=this.graph.height};this._discoverSize=function(element,args){if(typeof window!=="undefined"){var style=window.getComputedStyle(element,null);var elementHeight=parseInt(style.getPropertyValue("height"),10);if(!args.auto){var elementWidth=parseInt(style.getPropertyValue("width"),10)}}this.width=(args.width||elementWidth||this.graph.width)*(1+berthRate);this.height=args.height||elementHeight||40};this.initialize(args)};Rickshaw.namespace("Rickshaw.Graph.Axis.Y");Rickshaw.Graph.Axis.Y=Rickshaw.Class.create({initialize:function(args){this.graph=args.graph;this.orientation=args.orientation||"right";this.pixelsPerTick=args.pixelsPerTick||75;if(args.ticks)this.staticTicks=args.ticks;if(args.tickValues)this.tickValues=args.tickValues;this.tickSize=args.tickSize||4;this.ticksTreatment=args.ticksTreatment||"plain";this.tickFormat=args.tickFormat||function(y){return y};this.berthRate=.1;if(args.element){this.element=args.element;this.vis=d3.select(args.element).append("svg:svg").attr("class","rickshaw_graph y_axis");this.element=this.vis[0][0];this.element.style.position="relative";this.setSize({width:args.width,height:args.height})}else{this.vis=this.graph.vis}var self=this;this.graph.onUpdate(function(){self.render()})},setSize:function(args){args=args||{};if(!this.element)return;if(typeof window!=="undefined"){var style=window.getComputedStyle(this.element.parentNode,null);var elementWidth=parseInt(style.getPropertyValue("width"),10);if(!args.auto){var elementHeight=parseInt(style.getPropertyValue("height"),10)}}this.width=args.width||elementWidth||this.graph.width*this.berthRate;this.height=args.height||elementHeight||this.graph.height;this.vis.attr("width",this.width).attr("height",this.height*(1+this.berthRate));var berth=this.height*this.berthRate;if(this.orientation=="left"){this.element.style.top=-1*berth+"px"}},render:function(){if(this._renderHeight!==undefined&&this.graph.height!==this._renderHeight)this.setSize({auto:true});this.ticks=this.staticTicks||Math.floor(this.graph.height/this.pixelsPerTick);var axis=this._drawAxis(this.graph.y);this._drawGrid(axis);this._renderHeight=this.graph.height},_drawAxis:function(scale){var axis=d3.svg.axis().scale(scale).orient(this.orientation);axis.tickFormat(this.tickFormat);if(this.tickValues)axis.tickValues(this.tickValues);if(this.orientation=="left"){var berth=this.height*this.berthRate;var transform="translate("+this.width+", "+berth+")"}if(this.element){this.vis.selectAll("*").remove()}this.vis.append("svg:g").attr("class",["y_ticks",this.ticksTreatment].join(" ")).attr("transform",transform).call(axis.ticks(this.ticks).tickSubdivide(0).tickSize(this.tickSize));return axis},_drawGrid:function(axis){var gridSize=(this.orientation=="right"?1:-1)*this.graph.width;this.graph.vis.append("svg:g").attr("class","y_grid").call(axis.ticks(this.ticks).tickSubdivide(0).tickSize(gridSize)).selectAll("text").each(function(){this.parentNode.setAttribute("data-y-value",this.textContent) -})}});Rickshaw.namespace("Rickshaw.Graph.Axis.Y.Scaled");Rickshaw.Graph.Axis.Y.Scaled=Rickshaw.Class.create(Rickshaw.Graph.Axis.Y,{initialize:function($super,args){if(typeof args.scale==="undefined"){throw new Error("Scaled requires scale")}this.scale=args.scale;if(typeof args.grid==="undefined"){this.grid=true}else{this.grid=args.grid}$super(args)},_drawAxis:function($super,scale){var domain=this.scale.domain();var renderDomain=this.graph.renderer.domain().y;var extents=[Math.min.apply(Math,domain),Math.max.apply(Math,domain)];var extentMap=d3.scale.linear().domain([0,1]).range(extents);var adjExtents=[extentMap(renderDomain[0]),extentMap(renderDomain[1])];var adjustment=d3.scale.linear().domain(extents).range(adjExtents);var adjustedScale=this.scale.copy().domain(domain.map(adjustment)).range(scale.range());return $super(adjustedScale)},_drawGrid:function($super,axis){if(this.grid){$super(axis)}}});Rickshaw.namespace("Rickshaw.Graph.Behavior.Series.Highlight");Rickshaw.Graph.Behavior.Series.Highlight=function(args){this.graph=args.graph;this.legend=args.legend;var self=this;var colorSafe={};var activeLine=null;var disabledColor=args.disabledColor||function(seriesColor){return d3.interpolateRgb(seriesColor,d3.rgb("#d8d8d8"))(.8).toString()};this.addHighlightEvents=function(l){l.element.addEventListener("mouseover",function(e){if(activeLine)return;else activeLine=l;self.legend.lines.forEach(function(line){if(l===line){if(self.graph.renderer.unstack&&(line.series.renderer?line.series.renderer.unstack:true)){var seriesIndex=self.graph.series.indexOf(line.series);line.originalIndex=seriesIndex;var series=self.graph.series.splice(seriesIndex,1)[0];self.graph.series.push(series)}return}colorSafe[line.series.name]=colorSafe[line.series.name]||line.series.color;line.series.color=disabledColor(line.series.color)});self.graph.update()},false);l.element.addEventListener("mouseout",function(e){if(!activeLine)return;else activeLine=null;self.legend.lines.forEach(function(line){if(l===line&&line.hasOwnProperty("originalIndex")){var series=self.graph.series.pop();self.graph.series.splice(line.originalIndex,0,series);delete line.originalIndex}if(colorSafe[line.series.name]){line.series.color=colorSafe[line.series.name]}});self.graph.update()},false)};if(this.legend){this.legend.lines.forEach(function(l){self.addHighlightEvents(l)})}};Rickshaw.namespace("Rickshaw.Graph.Behavior.Series.Order");Rickshaw.Graph.Behavior.Series.Order=function(args){this.graph=args.graph;this.legend=args.legend;var self=this;if(typeof window.jQuery=="undefined"){throw"couldn't find jQuery at window.jQuery"}if(typeof window.jQuery.ui=="undefined"){throw"couldn't find jQuery UI at window.jQuery.ui"}jQuery(function(){jQuery(self.legend.list).sortable({containment:"parent",tolerance:"pointer",update:function(event,ui){var series=[];jQuery(self.legend.list).find("li").each(function(index,item){if(!item.series)return;series.push(item.series)});for(var i=self.graph.series.length-1;i>=0;i--){self.graph.series[i]=series.shift()}self.graph.update()}});jQuery(self.legend.list).disableSelection()});this.graph.onUpdate(function(){var h=window.getComputedStyle(self.legend.element).height;self.legend.element.style.height=h})};Rickshaw.namespace("Rickshaw.Graph.Behavior.Series.Toggle");Rickshaw.Graph.Behavior.Series.Toggle=function(args){this.graph=args.graph;this.legend=args.legend;var self=this;this.addAnchor=function(line){var anchor=document.createElement("a");anchor.innerHTML="✔";anchor.classList.add("action");line.element.insertBefore(anchor,line.element.firstChild);anchor.onclick=function(e){if(line.series.disabled){line.series.enable();line.element.classList.remove("disabled")}else{if(this.graph.series.filter(function(s){return!s.disabled}).length<=1)return;line.series.disable();line.element.classList.add("disabled")}self.graph.update()}.bind(this);var label=line.element.getElementsByTagName("span")[0];label.onclick=function(e){var disableAllOtherLines=line.series.disabled;if(!disableAllOtherLines){for(var i=0;idomainX){dataIndex=Math.abs(domainX-data[i].x)0){alignables.forEach(function(el){el.classList.remove("left");el.classList.add("right")});var rightAlignError=this._calcLayoutError(alignables);if(rightAlignError>leftAlignError){alignables.forEach(function(el){el.classList.remove("right");el.classList.add("left")})}}if(typeof this.onRender=="function"){this.onRender(args)}},_calcLayoutError:function(alignables){var parentRect=this.element.parentNode.getBoundingClientRect();var error=0;var alignRight=alignables.forEach(function(el){var rect=el.getBoundingClientRect();if(!rect.width){return}if(rect.right>parentRect.right){error+=rect.right-parentRect.right}if(rect.left=self.previewWidth){frameAfterDrag[0]-=frameAfterDrag[1]-self.previewWidth;frameAfterDrag[1]=self.previewWidth}}self.graphs.forEach(function(graph){var domainScale=d3.scale.linear().interpolate(d3.interpolateNumber).domain([0,self.previewWidth]).range(graph.dataDomain());var windowAfterDrag=[domainScale(frameAfterDrag[0]),domainScale(frameAfterDrag[1])];self.slideCallbacks.forEach(function(callback){callback(graph,windowAfterDrag[0],windowAfterDrag[1])});if(frameAfterDrag[0]===0){windowAfterDrag[0]=undefined}if(frameAfterDrag[1]===self.previewWidth){windowAfterDrag[1]=undefined}graph.window.xMin=windowAfterDrag[0];graph.window.xMax=windowAfterDrag[1];graph.update()})}function onMousedown(){drag.target=d3.event.target;drag.start=self._getClientXFromEvent(d3.event,drag);self.frameBeforeDrag=self.currentFrame.slice();d3.event.preventDefault?d3.event.preventDefault():d3.event.returnValue=false;d3.select(document).on("mousemove.rickshaw_range_slider_preview",onMousemove);d3.select(document).on("mouseup.rickshaw_range_slider_preview",onMouseup);d3.select(document).on("touchmove.rickshaw_range_slider_preview",onMousemove);d3.select(document).on("touchend.rickshaw_range_slider_preview",onMouseup);d3.select(document).on("touchcancel.rickshaw_range_slider_preview",onMouseup)}function onMousedownLeftHandle(datum,index){drag.left=true;onMousedown()}function onMousedownRightHandle(datum,index){drag.right=true;onMousedown()}function onMousedownMiddleHandle(datum,index){drag.left=true;drag.right=true;drag.rigid=true;onMousedown()}function onMouseup(datum,index){d3.select(document).on("mousemove.rickshaw_range_slider_preview",null);d3.select(document).on("mouseup.rickshaw_range_slider_preview",null);d3.select(document).on("touchmove.rickshaw_range_slider_preview",null);d3.select(document).on("touchend.rickshaw_range_slider_preview",null);d3.select(document).on("touchcancel.rickshaw_range_slider_preview",null);delete self.frameBeforeDrag;drag.left=false;drag.right=false;drag.rigid=false}element.select("rect.left_handle").on("mousedown",onMousedownLeftHandle);element.select("rect.right_handle").on("mousedown",onMousedownRightHandle);element.select("rect.middle_handle").on("mousedown",onMousedownMiddleHandle);element.select("rect.left_handle").on("touchstart",onMousedownLeftHandle);element.select("rect.right_handle").on("touchstart",onMousedownRightHandle);element.select("rect.middle_handle").on("touchstart",onMousedownMiddleHandle)},_getClientXFromEvent:function(event,drag){switch(event.type){case"touchstart":case"touchmove":var touchList=event.changedTouches;var touch=null;for(var touchIndex=0;touchIndexyMax)yMax=y});if(!series.length)return;if(series[0].xxMax)xMax=series[series.length-1].x});xMin-=(xMax-xMin)*this.padding.left;xMax+=(xMax-xMin)*this.padding.right;yMin=this.graph.min==="auto"?yMin:this.graph.min||0;yMax=this.graph.max===undefined?yMax:this.graph.max;if(this.graph.min==="auto"||yMin<0){yMin-=(yMax-yMin)*this.padding.bottom}if(this.graph.max===undefined){yMax+=(yMax-yMin)*this.padding.top}return{x:[xMin,xMax],y:[yMin,yMax]}},render:function(args){args=args||{};var graph=this.graph;var series=args.series||graph.series;var vis=args.vis||graph.vis;vis.selectAll("*").remove();var data=series.filter(function(s){return!s.disabled}).map(function(s){return s.stack});var pathNodes=vis.selectAll("path.path").data(data).enter().append("svg:path").classed("path",true).attr("d",this.seriesPathFactory());if(this.stroke){var strokeNodes=vis.selectAll("path.stroke").data(data).enter().append("svg:path").classed("stroke",true).attr("d",this.seriesStrokeFactory())}var i=0;series.forEach(function(series){if(series.disabled)return;series.path=pathNodes[0][i];if(this.stroke)series.stroke=strokeNodes[0][i];this._styleSeries(series);i++},this)},_styleSeries:function(series){var fill=this.fill?series.color:"none";var stroke=this.stroke?series.color:"none";series.path.setAttribute("fill",fill);series.path.setAttribute("stroke",stroke);series.path.setAttribute("stroke-width",this.strokeWidth);if(series.className){d3.select(series.path).classed(series.className,true)}if(series.className&&this.stroke){d3.select(series.stroke).classed(series.className,true)}},configure:function(args){args=args||{};Rickshaw.keys(this.defaults()).forEach(function(key){if(!args.hasOwnProperty(key)){this[key]=this[key]||this.graph[key]||this.defaults()[key];return}if(typeof this.defaults()[key]=="object"){Rickshaw.keys(this.defaults()[key]).forEach(function(k){this[key][k]=args[key][k]!==undefined?args[key][k]:this[key][k]!==undefined?this[key][k]:this.defaults()[key][k]},this)}else{this[key]=args[key]!==undefined?args[key]:this[key]!==undefined?this[key]:this.graph[key]!==undefined?this.graph[key]:this.defaults()[key]}},this)},setStrokeWidth:function(strokeWidth){if(strokeWidth!==undefined){this.strokeWidth=strokeWidth}},setTension:function(tension){if(tension!==undefined){this.tension=tension}}});Rickshaw.namespace("Rickshaw.Graph.Renderer.Line");Rickshaw.Graph.Renderer.Line=Rickshaw.Class.create(Rickshaw.Graph.Renderer,{name:"line",defaults:function($super){return Rickshaw.extend($super(),{unstack:true,fill:false,stroke:true})},seriesPathFactory:function(){var graph=this.graph;var factory=d3.svg.line().x(function(d){return graph.x(d.x)}).y(function(d){return graph.y(d.y)}).interpolate(this.graph.interpolation).tension(this.tension);factory.defined&&factory.defined(function(d){return d.y!==null});return factory}});Rickshaw.namespace("Rickshaw.Graph.Renderer.Stack");Rickshaw.Graph.Renderer.Stack=Rickshaw.Class.create(Rickshaw.Graph.Renderer,{name:"stack",defaults:function($super){return Rickshaw.extend($super(),{fill:true,stroke:false,unstack:false})},seriesPathFactory:function(){var graph=this.graph;var factory=d3.svg.area().x(function(d){return graph.x(d.x)}).y0(function(d){return graph.y(d.y0)}).y1(function(d){return graph.y(d.y+d.y0)}).interpolate(this.graph.interpolation).tension(this.tension);factory.defined&&factory.defined(function(d){return d.y!==null});return factory}});Rickshaw.namespace("Rickshaw.Graph.Renderer.Bar");Rickshaw.Graph.Renderer.Bar=Rickshaw.Class.create(Rickshaw.Graph.Renderer,{name:"bar",defaults:function($super){var defaults=Rickshaw.extend($super(),{gapSize:.05,unstack:false});delete defaults.tension;return defaults},initialize:function($super,args){args=args||{};this.gapSize=args.gapSize||this.gapSize;$super(args)},domain:function($super){var domain=$super();var frequentInterval=this._frequentInterval(this.graph.stackedData.slice(-1).shift());domain.x[1]+=Number(frequentInterval.magnitude);return domain},barWidth:function(series){var frequentInterval=this._frequentInterval(series.stack);var barWidth=this.graph.x.magnitude(frequentInterval.magnitude)*(1-this.gapSize);return barWidth},render:function(args){args=args||{};var graph=this.graph;var series=args.series||graph.series;var vis=args.vis||graph.vis;vis.selectAll("*").remove();var barWidth=this.barWidth(series.active()[0]);var barXOffset=0;var activeSeriesCount=series.filter(function(s){return!s.disabled}).length;var seriesBarWidth=this.unstack?barWidth/activeSeriesCount:barWidth;var transform=function(d){var matrix=[1,0,0,d.y<0?-1:1,0,d.y<0?graph.y.magnitude(Math.abs(d.y))*2:0];return"matrix("+matrix.join(",")+")"};series.forEach(function(series){if(series.disabled)return;var barWidth=this.barWidth(series);var nodes=vis.selectAll("path").data(series.stack.filter(function(d){return d.y!==null})).enter().append("svg:rect").attr("x",function(d){return graph.x(d.x)+barXOffset}).attr("y",function(d){return graph.y(d.y0+Math.abs(d.y))*(d.y<0?-1:1)}).attr("width",seriesBarWidth).attr("height",function(d){return graph.y.magnitude(Math.abs(d.y))}).attr("transform",transform);Array.prototype.forEach.call(nodes[0],function(n){n.setAttribute("fill",series.color)});if(this.unstack)barXOffset+=seriesBarWidth},this)},_frequentInterval:function(data){var intervalCounts={};for(var i=0;i0){this[0].data.forEach(function(plot){item.data.push({x:plot.x,y:0})})}else if(item.data.length===0){item.data.push({x:this.timeBase-(this.timeInterval||0),y:0})}this.push(item);if(this.legend){this.legend.addLine(this.itemByName(item.name))}},addData:function(data,x){var index=this.getIndex();Rickshaw.keys(data).forEach(function(name){if(!this.itemByName(name)){this.addItem({name:name})}},this);this.forEach(function(item){item.data.push({x:x||(index*this.timeInterval||1)+this.timeBase,y:data[item.name]||0})},this)},getIndex:function(){return this[0]&&this[0].data&&this[0].data.length?this[0].data.length:0},itemByName:function(name){for(var i=0;i1;i--){this.currentSize+=1;this.currentIndex+=1;this.forEach(function(item){item.data.unshift({x:((i-1)*this.timeInterval||1)+this.timeBase,y:0,i:i})},this)}}},addData:function($super,data,x){$super(data,x);this.currentSize+=1;this.currentIndex+=1;if(this.maxDataPoints!==undefined){while(this.currentSize>this.maxDataPoints){this.dropData()}}},dropData:function(){this.forEach(function(item){item.data.splice(0,1)});this.currentSize-=1},getIndex:function(){return this.currentIndex}});return Rickshaw}); \ No newline at end of file diff --git a/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/accelerometer_sensor/accelerometer_script/accelerometer_script.xml b/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/accelerometer_sensor/accelerometer_script/accelerometer_script.xml index 344b648b2d..e408138ed0 100644 --- a/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/accelerometer_sensor/accelerometer_script/accelerometer_script.xml +++ b/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/accelerometer_sensor/accelerometer_script/accelerometer_script.xml @@ -26,5 +26,5 @@ CREATE TEMPORARY TABLE DeviceAccelerometerSummaryData USING CarbonAnalytics OPTI insert into table DeviceAccelerometerSummaryData select x, y, z, meta_deviceType as deviceType, meta_deviceId as deviceId, meta_owner as owner, cast(meta_time/1000 as BIGINT)as time from DeviceAccelerometerData group by x, y, z, meta_deviceType, meta_deviceId, meta_owner, cast(meta_time/1000 as BIGINT); - 0 * * * * ? + 0 0/5 * * * ? diff --git a/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/battery_sensor/battery_script/battery_script.xml b/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/battery_sensor/battery_script/battery_script.xml index 5a4e28119d..5e52e7b0e3 100644 --- a/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/battery_sensor/battery_script/battery_script.xml +++ b/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/battery_sensor/battery_script/battery_script.xml @@ -26,5 +26,5 @@ insert into table DeviceBatterySummaryData select level, meta_deviceType as deviceType, meta_deviceId as deviceId, meta_owner as owner, cast(meta_time/1000 as BIGINT)as time from DeviceBatteryData group by level, meta_deviceType, meta_deviceId, meta_owner, cast(meta_time/1000 as BIGINT); - 0 * * * * ? + 0 0/5 * * * ? diff --git a/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/gps_sensor/gps_script/gps_script.xml b/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/gps_sensor/gps_script/gps_script.xml index 67dd6186e7..828ef8fbf7 100644 --- a/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/gps_sensor/gps_script/gps_script.xml +++ b/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/gps_sensor/gps_script/gps_script.xml @@ -26,5 +26,5 @@ insert into table DeviceGPSSummaryData select latitude, longitude, meta_deviceType as deviceType, meta_deviceId as deviceId, meta_owner as owner, cast(meta_time/1000 as BIGINT)as time from DeviceGPSData group by latitude, longitude, meta_deviceType, meta_deviceId, meta_owner, cast(meta_time/1000 as BIGINT); - 0 * * * * ? + 0 0/5 * * * ? diff --git a/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/gravity_sensor/gravity_script/gravity_script.xml b/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/gravity_sensor/gravity_script/gravity_script.xml index 1379f81294..c2fffe8d68 100644 --- a/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/gravity_sensor/gravity_script/gravity_script.xml +++ b/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/gravity_sensor/gravity_script/gravity_script.xml @@ -26,5 +26,5 @@ insert into table DeviceGRAVITYSummaryData select x, y, z, meta_deviceType as deviceType, meta_deviceId as deviceId, meta_owner as owner, cast(meta_time/1000 as BIGINT)as time from DeviceGRAVITYData group by x, y, z, meta_deviceType, meta_deviceId, meta_owner, cast(meta_time/1000 as BIGINT); - 0 * * * * ? + 0 0/5 * * * ? diff --git a/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/gyroscope_sensor/gyroscope_script/gyroscope_script.xml b/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/gyroscope_sensor/gyroscope_script/gyroscope_script.xml index 45ec9c0bfe..fddde9c3c6 100644 --- a/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/gyroscope_sensor/gyroscope_script/gyroscope_script.xml +++ b/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/gyroscope_sensor/gyroscope_script/gyroscope_script.xml @@ -26,5 +26,5 @@ insert into table DeviceGYROSCOPESummaryData select x, y, z, meta_deviceType as deviceType, meta_deviceId as deviceId, meta_owner as owner, cast(meta_time/1000 as BIGINT)as time from DeviceGYROSCOPEData group by x, y, z, meta_deviceType, meta_deviceId, meta_owner, cast(meta_time/1000 as BIGINT); - 0 * * * * ? + 0 0/5 * * * ? diff --git a/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/light_sensor/light_script/light_script.xml b/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/light_sensor/light_script/light_script.xml index c30c5765c5..236fbcbd18 100644 --- a/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/light_sensor/light_script/light_script.xml +++ b/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/light_sensor/light_script/light_script.xml @@ -26,5 +26,5 @@ insert into table DeviceLightSummaryData select light, meta_deviceType as deviceType, meta_deviceId as deviceId, meta_owner as owner, cast(meta_time/1000 as BIGINT)as time from DeviceLightData group by light, meta_deviceType, meta_deviceId, meta_owner, cast(meta_time/1000 as BIGINT); - 0 * * * * ? + 0 0/5 * * * ? diff --git a/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/magnetic_sensor/magnetic_script/magnetic_script.xml b/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/magnetic_sensor/magnetic_script/magnetic_script.xml index 60b48d7573..bbbb6c4f0c 100644 --- a/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/magnetic_sensor/magnetic_script/magnetic_script.xml +++ b/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/magnetic_sensor/magnetic_script/magnetic_script.xml @@ -26,5 +26,5 @@ insert into table DeviceMagneticSummaryData select x, y , z, meta_deviceType as deviceType, meta_deviceId as deviceId, meta_owner as owner, cast(meta_time/1000 as BIGINT)as time from DeviceMagneticData group by x, y, z, meta_deviceType, meta_deviceId, meta_owner, cast(meta_time/1000 as BIGINT); - 0 * * * * ? + 0 0/5 * * * ? diff --git a/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/pressure_sensor/pressure_script/pressure_script.xml b/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/pressure_sensor/pressure_script/pressure_script.xml index 66cc6745d6..add6b29093 100644 --- a/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/pressure_sensor/pressure_script/pressure_script.xml +++ b/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/pressure_sensor/pressure_script/pressure_script.xml @@ -26,5 +26,5 @@ insert into table DevicePRESSURESummaryData select pressure, meta_deviceType as deviceType, meta_deviceId as deviceId, meta_owner as owner, cast(meta_time/1000 as BIGINT)as time from DevicePRESSUREData group by pressure, meta_deviceType, meta_deviceId, meta_owner, cast(meta_time/1000 as BIGINT); - 0 * * * * ? + 0 0/5 * * * ? diff --git a/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/proximity_sensor/proximity_script/proximity_script.xml b/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/proximity_sensor/proximity_script/proximity_script.xml index f8db87438b..4c75d72b75 100644 --- a/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/proximity_sensor/proximity_script/proximity_script.xml +++ b/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/proximity_sensor/proximity_script/proximity_script.xml @@ -26,5 +26,5 @@ insert into table DevicePROXIMITYSummaryData select proximity, meta_deviceType as deviceType, meta_deviceId as deviceId, meta_owner as owner, cast(meta_time/1000 as BIGINT)as time from DevicePROXIMITYData group by proximity, meta_deviceType, meta_deviceId, meta_owner, cast(meta_time/1000 as BIGINT); - 0 * * * * ? + 0 0/5 * * * ? diff --git a/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/rotation_sensor/rotation_script/rotation_script.xml b/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/rotation_sensor/rotation_script/rotation_script.xml index 1090405d84..b56944aeeb 100644 --- a/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/rotation_sensor/rotation_script/rotation_script.xml +++ b/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/rotation_sensor/rotation_script/rotation_script.xml @@ -26,5 +26,5 @@ insert into table DeviceROTATIONSummaryData select x, y, z, meta_deviceType as deviceType, meta_deviceId as deviceId, meta_owner as owner, cast(meta_time/1000 as BIGINT)as time from DeviceROTATIONData group by x, y, z, meta_deviceType, meta_deviceId, meta_owner, cast(meta_time/1000 as BIGINT); - 0 * * * * ? + 0 0/5 * * * ? diff --git a/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/temperature_sensor/temperature_script/temperature_script.xml b/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/temperature_sensor/temperature_script/temperature_script.xml index 9ab3555e96..7175df39b0 100644 --- a/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/temperature_sensor/temperature_script/temperature_script.xml +++ b/components/iot-plugins/iot-analytics/org.wso2.carbon.device.mgt.iot.analytics/src/main/resources/carbonapps/temperature_sensor/temperature_script/temperature_script.xml @@ -26,5 +26,5 @@ insert into table DeviceTemperatureSummaryData select temperature, meta_deviceType as deviceType, meta_deviceId as deviceId, meta_owner as owner, cast(meta_time/1000 as BIGINT)as time from DeviceTemperatureData group by temperature, meta_deviceType, meta_deviceId, meta_owner, cast(meta_time/1000 as BIGINT); - 0 * * * * ? + 0 0/5 * * * ? diff --git a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot.input.adapter.http/src/main/java/org/wso2/carbon/device/mgt/iot/input/adapter/http/HTTPMessageServlet.java b/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot.input.adapter.http/src/main/java/org/wso2/carbon/device/mgt/iot/input/adapter/http/HTTPMessageServlet.java index 41e783700d..5cdeddbf12 100644 --- a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot.input.adapter.http/src/main/java/org/wso2/carbon/device/mgt/iot/input/adapter/http/HTTPMessageServlet.java +++ b/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot.input.adapter.http/src/main/java/org/wso2/carbon/device/mgt/iot/input/adapter/http/HTTPMessageServlet.java @@ -49,8 +49,6 @@ public class HTTPMessageServlet extends HttpServlet { private static final String AUTH_MESSAGE_STORE_AUTHENTICATION_INFO = "AUTH_MESSAGE_STORE_AUTHENTICATION_INFO"; private static final String AUTH_FAILURE_RESPONSE = "_AUTH_FAILURE_"; - - private static Log log = LogFactory.getLog(HTTPMessageServlet.class); private static Map contentValidationProperties; diff --git a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/exception/IoTException.java b/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/exception/IoTException.java deleted file mode 100644 index 85639cb63f..0000000000 --- a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/exception/IoTException.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. 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. - */ - -package org.wso2.carbon.device.mgt.iot.exception; - -public class IoTException extends Exception { - - public IoTException() { - super(); - } - - public IoTException(String message) { - super(message); - } - - public IoTException(String message, Throwable cause) { - super(message, cause); - } - - public IoTException(Throwable cause) { - super(cause); - } - - protected IoTException(String message, Throwable cause, boolean enableSuppression, - boolean writableStackTrace) { - super(message, cause, enableSuppression, writableStackTrace); - } -} diff --git a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/util/IoTUtil.java b/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/util/IoTUtil.java deleted file mode 100644 index e9b4ed4f42..0000000000 --- a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/util/IoTUtil.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. 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. - */ - -package org.wso2.carbon.device.mgt.iot.util; - -import org.wso2.carbon.base.ServerConfiguration; -import org.wso2.carbon.device.mgt.iot.exception.IoTException; -import org.wso2.carbon.utils.NetworkUtils; - -import java.net.SocketException; - -public class IoTUtil { - - public static final String HOST_NAME = "HostName"; - - public static String getHostName() throws IoTException { - String hostName = ServerConfiguration.getInstance().getFirstProperty(HOST_NAME); - - try { - if (hostName == null) { - hostName = NetworkUtils.getLocalHostname(); - } - } catch (SocketException e) { - throw new IoTException("Error while trying to read hostname.", e); - } - - return hostName; - } - -} diff --git a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/util/IotDeviceManagementUtil.java b/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/util/IotDeviceManagementUtil.java deleted file mode 100644 index 649f3acd97..0000000000 --- a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/util/IotDeviceManagementUtil.java +++ /dev/null @@ -1,319 +0,0 @@ -/* - * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. 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. - */ - -package org.wso2.carbon.device.mgt.iot.util; - -import org.apache.commons.io.FileUtils; -import org.apache.commons.io.IOUtils; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.wso2.carbon.device.mgt.common.DeviceManagementException; -import org.wso2.carbon.utils.CarbonUtils; -import java.io.*; -import java.nio.charset.StandardCharsets; -import java.util.*; -import java.util.zip.ZipEntry; -import java.util.zip.ZipOutputStream; - -/** - * Provides utility methods required by the iot device management bundle. - */ -public class IotDeviceManagementUtil { - - private static final Log log = LogFactory.getLog(IotDeviceManagementUtil.class.getName()); - - public static ZipArchive getSketchArchive(String archivesPath, String templateSketchPath, Map contextParams) - throws DeviceManagementException, IOException { - - String sep = File.separator; - String sketchPath = CarbonUtils.getCarbonHome() + sep + templateSketchPath; - - FileUtils.deleteDirectory(new File(archivesPath));//clear directory - FileUtils.deleteDirectory(new File(archivesPath + ".zip"));//clear zip - if (!new File(archivesPath).mkdirs()) { //new dir - String message = "Could not create directory at path: " + archivesPath; - log.error(message); - throw new DeviceManagementException(message); - } - - String zipFileName = "zipFile.zip"; - - try { - Map> properties = getProperties(sketchPath + sep + "sketch" + ".properties"); - List templateFiles = properties.get("templates"); - -// zipFileName = properties.get("zipfilename").get(0); - zipFileName = contextParams.get("DEVICE_NAME") + ".zip"; - - for (String templateFile : templateFiles) { - parseTemplate(templateSketchPath + sep + templateFile, archivesPath + sep + templateFile, - contextParams); - } - - templateFiles.add("sketch.properties"); // ommit copying the props file - copyFolder(new File(sketchPath), new File(archivesPath), templateFiles); - - } catch (IOException ex) { - throw new DeviceManagementException( - "Error occurred when trying to read property " + "file sketch.properties", ex); - } - - try { - createZipArchive(archivesPath); - } catch (IOException e) { - String message = "Zip file for the specific device agent not found at path: " + archivesPath; - log.error(message); - log.error(e); - throw new DeviceManagementException(message, e); - } - FileUtils.deleteDirectory(new File(archivesPath));//clear folder - - /* now get the zip file */ - File zip = new File(archivesPath + ".zip"); - return new ZipArchive(zipFileName, zip); - } - - private static Map> getProperties(String propertyFilePath) throws IOException { - Properties prop = new Properties(); - InputStream input = null; - - try { - - input = new FileInputStream(propertyFilePath); - - // load a properties file - prop.load(input); - Map> properties = new HashMap>(); - - String templates = prop.getProperty("templates"); - List list = new ArrayList(Arrays.asList(templates.split(","))); - properties.put("templates", list); - - final String filename = prop.getProperty("zipfilename"); - list = new ArrayList() {{ - add(filename); - }}; - properties.put("zipfilename", list); - return properties; - - } finally { - if (input != null) { - try { - input.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - } - } - - private static void parseTemplate(String srcFile, String dstFile, Map contextParams) throws IOException { - //TODO add velocity 1.7, currently commented - //TODO conflicting when calling in CXF environment with the opensaml orbit - - // /* create a context and add data */ - // VelocityContext context = new VelocityContext(contextParams); - // - // /* first, get and initialize an engine */ - // VelocityEngine ve = new VelocityEngine(); - // ve.setProperty( RuntimeConstants.RUNTIME_LOG_LOGSYSTEM_CLASS, - // "org.apache.velocity.runtime.log.Log4JLogChute" ); - // ve.setProperty("runtime.log.logsystem.log4j.logger", IotDeviceManagementUtil.class.getName()); - // ve.init(); - // - // String sep = File.separator; - // Template t = ve.getTemplate(srcFile); - // FileWriter writer = null; - // try { - // writer = new FileWriter(dstFile); - // t.merge(context, writer); - // } finally { - // if (writer != null) { - // writer.flush(); - // writer.close(); - // } - // } - - //read from file - FileInputStream inputStream = new FileInputStream(srcFile); - String content = IOUtils.toString(inputStream, StandardCharsets.UTF_8.toString()); - Iterator iterator = contextParams.entrySet().iterator(); - while (iterator.hasNext()) { - Map.Entry mapEntry = (Map.Entry) iterator.next(); - content = content.replaceAll("\\$\\{" + mapEntry.getKey() + "\\}", mapEntry.getValue().toString()); - } - if (inputStream != null) { - inputStream.close(); - } - //write to file - FileOutputStream outputStream = new FileOutputStream(dstFile); - IOUtils.write(content, outputStream, StandardCharsets.UTF_8.toString()); - if (outputStream != null) { - outputStream.close(); - } - } - - private static void copyFolder(File src, File dest, List excludeFileNames) throws IOException { - - if (src.isDirectory()) { - - //if directory not exists, create it - if (!dest.exists() && !dest.mkdirs()) { - String message = "Could not create directory at path: " + dest; - log.error(message); - throw new IOException(message); - } - - //list all the directory contents - String files[] = src.list(); - - if (files == null) { - log.warn("There are no files insides the directory " + src.getAbsolutePath()); - return; - } - - for (String file : files) { - //construct the src and dest file structure - File srcFile = new File(src, file); - File destFile = new File(dest, file); - //recursive copy - copyFolder(srcFile, destFile, excludeFileNames); - } - - } else { - for (String fileName : excludeFileNames) { - if (src.getName().equals(fileName)) { - return; - } - } - //if file, then copy it - //Use bytes stream to support all file types - InputStream in = null; - OutputStream out = null; - - try { - in = new FileInputStream(src); - out = new FileOutputStream(dest); - - byte[] buffer = new byte[1024]; - - int length; - //copy the file content in bytes - while ((length = in.read(buffer)) > 0) { - out.write(buffer, 0, length); - } - } finally { - silentClose(in); - silentClose(out); - } - } - } - - private static void silentClose(InputStream is) { - if (is == null) { - return; - } - - try { - is.close(); - } catch (IOException e) { - // do nothing - } - - } - - private static void silentClose(OutputStream os) { - if (os == null) { - return; - } - - try { - - os.close(); - } catch (IOException e) { - // do nothing - } - } - - private static boolean createZipArchive(String srcFolder) throws IOException { - BufferedInputStream origin = null; - ZipOutputStream out = null; - - try { - final int BUFFER = 2048; - - FileOutputStream dest = new FileOutputStream(new File(srcFolder + ".zip")); - - out = new ZipOutputStream(new BufferedOutputStream(dest)); - byte data[] = new byte[BUFFER]; - - File subDir = new File(srcFolder); - String subdirList[] = subDir.list(); - - if (subdirList == null) { - log.warn("The sub directory " + subDir.getAbsolutePath() + " is empty"); - return false; - } - - for (String sd : subdirList) { - // get a list of files from current directory - File f = new File(srcFolder + "/" + sd); - if (f.isDirectory()) { - String files[] = f.list(); - - if (files == null) { - log.warn("The current directory " + f.getAbsolutePath() + " is empty. Has no files"); - return false; - } - - for (int i = 0; i < files.length; i++) { - FileInputStream fi = new FileInputStream(srcFolder + "/" + sd + "/" + files[i]); - origin = new BufferedInputStream(fi, BUFFER); - ZipEntry entry = new ZipEntry(sd + "/" + files[i]); - out.putNextEntry(entry); - int count; - while ((count = origin.read(data, 0, BUFFER)) != -1) { - out.write(data, 0, count); - out.flush(); - } - - } - } else //it is just a file - { - FileInputStream fi = new FileInputStream(f); - origin = new BufferedInputStream(fi, BUFFER); - ZipEntry entry = new ZipEntry(sd); - out.putNextEntry(entry); - int count; - while ((count = origin.read(data, 0, BUFFER)) != -1) { - out.write(data, 0, count); - out.flush(); - } - - } - } - - out.flush(); - } finally { - silentClose(origin); - silentClose(out); - } - return true; - } - -} diff --git a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/util/Utils.java b/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/util/Utils.java new file mode 100644 index 0000000000..4bc6a6164c --- /dev/null +++ b/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/util/Utils.java @@ -0,0 +1,304 @@ +/* + * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * + * WSO2 Inc. 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. + */ + +package org.wso2.carbon.device.mgt.iot.util; + +import org.apache.commons.io.FileUtils; +import org.apache.commons.io.IOUtils; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.wso2.carbon.base.ServerConfiguration; +import org.wso2.carbon.device.mgt.common.DeviceManagementException; +import org.wso2.carbon.utils.CarbonUtils; +import org.wso2.carbon.utils.NetworkUtils; + +import java.io.BufferedInputStream; +import java.io.BufferedOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.SocketException; +import java.nio.charset.StandardCharsets; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Properties; +import java.util.zip.ZipEntry; +import java.util.zip.ZipOutputStream; + +/** + * Provides utility methods required by the device type plugins. + */ +public class Utils { + + public static final String HOST_NAME = "HostName"; + private static final Log log = LogFactory.getLog(Utils.class); + + public static String getHostName() { + String hostName = ServerConfiguration.getInstance().getFirstProperty(HOST_NAME); + try { + if (hostName == null) { + hostName = NetworkUtils.getLocalHostname(); + } + } catch (SocketException e) { + hostName = "localhost"; + } + return hostName; + } + + public static ZipArchive getSketchArchive(String archivesPath, String templateSketchPath, Map contextParams, + String zipFileName) + throws DeviceManagementException, IOException { + String sketchPath = CarbonUtils.getCarbonHome() + File.separator + templateSketchPath; + FileUtils.deleteDirectory(new File(archivesPath));//clear directory + FileUtils.deleteDirectory(new File(archivesPath + ".zip"));//clear zip + if (!new File(archivesPath).mkdirs()) { //new dir + String message = "Could not create directory at path: " + archivesPath; + log.error(message); + throw new DeviceManagementException(message); + } + zipFileName = zipFileName + ".zip"; + try { + Map> properties = getProperties(sketchPath + File.separator + "sketch" + ".properties"); + List templateFiles = properties.get("templates"); + + for (String templateFile : templateFiles) { + parseTemplate(templateSketchPath + File.separator + templateFile, archivesPath + File.separator + templateFile, + contextParams); + } + + templateFiles.add("sketch.properties"); // ommit copying the props file + copyFolder(new File(sketchPath), new File(archivesPath), templateFiles); + + } catch (IOException ex) { + throw new DeviceManagementException( + "Error occurred when trying to read property " + "file sketch.properties", ex); + } + + try { + createZipArchive(archivesPath); + } catch (IOException e) { + String message = "Zip file for the specific device agent not found at path: " + archivesPath; + log.error(message); + log.error(e); + throw new DeviceManagementException(message, e); + } + FileUtils.deleteDirectory(new File(archivesPath));//clear folder + + /* now get the zip file */ + File zip = new File(archivesPath + ".zip"); + return new ZipArchive(zipFileName, zip); + } + + private static Map> getProperties(String propertyFilePath) throws IOException { + Properties prop = new Properties(); + InputStream input = null; + + try { + + input = new FileInputStream(propertyFilePath); + + // load a properties file + prop.load(input); + Map> properties = new HashMap>(); + + String templates = prop.getProperty("templates"); + List list = new ArrayList(Arrays.asList(templates.split(","))); + properties.put("templates", list); + + final String filename = prop.getProperty("zipfilename"); + list = new ArrayList() {{ + add(filename); + }}; + properties.put("zipfilename", list); + return properties; + + } finally { + if (input != null) { + try { + input.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + } + + private static void parseTemplate(String srcFile, String dstFile, Map contextParams) throws IOException { + //read from file + FileInputStream inputStream = new FileInputStream(srcFile); + String content = IOUtils.toString(inputStream, StandardCharsets.UTF_8.toString()); + Iterator iterator = contextParams.entrySet().iterator(); + while (iterator.hasNext()) { + Map.Entry mapEntry = (Map.Entry) iterator.next(); + content = content.replaceAll("\\$\\{" + mapEntry.getKey() + "\\}", mapEntry.getValue().toString()); + } + if (inputStream != null) { + inputStream.close(); + } + //write to file + FileOutputStream outputStream = new FileOutputStream(dstFile); + IOUtils.write(content, outputStream, StandardCharsets.UTF_8.toString()); + if (outputStream != null) { + outputStream.close(); + } + } + + private static void copyFolder(File src, File dest, List excludeFileNames) throws IOException { + + if (src.isDirectory()) { + //if directory not exists, create it + if (!dest.exists() && !dest.mkdirs()) { + String message = "Could not create directory at path: " + dest; + log.error(message); + throw new IOException(message); + } + //list all the directory contents + String files[] = src.list(); + + if (files == null) { + log.warn("There are no files insides the directory " + src.getAbsolutePath()); + return; + } + + for (String file : files) { + //construct the src and dest file structure + File srcFile = new File(src, file); + File destFile = new File(dest, file); + //recursive copy + copyFolder(srcFile, destFile, excludeFileNames); + } + + } else { + for (String fileName : excludeFileNames) { + if (src.getName().equals(fileName)) { + return; + } + } + //if file, then copy it + //Use bytes stream to support all file types + InputStream in = null; + OutputStream out = null; + + try { + in = new FileInputStream(src); + out = new FileOutputStream(dest); + + byte[] buffer = new byte[1024]; + + int length; + //copy the file content in bytes + while ((length = in.read(buffer)) > 0) { + out.write(buffer, 0, length); + } + } finally { + silentClose(in); + silentClose(out); + } + } + } + + private static void silentClose(InputStream is) { + if (is == null) { + return; + } + try { + is.close(); + } catch (IOException e) { + // do nothing + } + + } + + private static void silentClose(OutputStream os) { + if (os == null) { + return; + } + try { + os.close(); + } catch (IOException e) { + // do nothing + } + } + + private static boolean createZipArchive(String srcFolder) throws IOException { + BufferedInputStream origin = null; + ZipOutputStream out = null; + + try { + final int BUFFER = 2048; + FileOutputStream dest = new FileOutputStream(new File(srcFolder + ".zip")); + out = new ZipOutputStream(new BufferedOutputStream(dest)); + byte data[] = new byte[BUFFER]; + File subDir = new File(srcFolder); + String subdirList[] = subDir.list(); + if (subdirList == null) { + log.warn("The sub directory " + subDir.getAbsolutePath() + " is empty"); + return false; + } + for (String sd : subdirList) { + // get a list of files from current directory + File f = new File(srcFolder + "/" + sd); + if (f.isDirectory()) { + String files[] = f.list(); + + if (files == null) { + log.warn("The current directory " + f.getAbsolutePath() + " is empty. Has no files"); + return false; + } + + for (int i = 0; i < files.length; i++) { + FileInputStream fi = new FileInputStream(srcFolder + "/" + sd + "/" + files[i]); + origin = new BufferedInputStream(fi, BUFFER); + ZipEntry entry = new ZipEntry(sd + "/" + files[i]); + out.putNextEntry(entry); + int count; + while ((count = origin.read(data, 0, BUFFER)) != -1) { + out.write(data, 0, count); + out.flush(); + } + + } + } else //it is just a file + { + FileInputStream fi = new FileInputStream(f); + origin = new BufferedInputStream(fi, BUFFER); + ZipEntry entry = new ZipEntry(sd); + out.putNextEntry(entry); + int count; + while ((count = origin.read(data, 0, BUFFER)) != -1) { + out.write(data, 0, count); + out.flush(); + } + } + } + out.flush(); + } finally { + silentClose(origin); + silentClose(out); + } + return true; + } + +} diff --git a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/util/ZipArchive.java b/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/util/ZipArchive.java index b9720d112b..31e5bf3cbd 100644 --- a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/util/ZipArchive.java +++ b/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/util/ZipArchive.java @@ -20,25 +20,19 @@ package org.wso2.carbon.device.mgt.iot.util; import java.io.File; +/** + * This is an utility class to hold zip files. + */ public class ZipArchive { private File zipFile = null; private String fileName = null; - private String deviceId = null; public ZipArchive(String fileName, File zipFile) { this.fileName = fileName; this.zipFile = zipFile; } - public String getDeviceId() { - return deviceId; - } - - public void setDeviceId(String deviceId) { - this.deviceId = deviceId; - } - public File getZipFile() { return zipFile; } diff --git a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/RaspberryPiManagerServiceImpl.java b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/RaspberryPiManagerServiceImpl.java index 6dc2f39841..35fa4ad196 100644 --- a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/RaspberryPiManagerServiceImpl.java +++ b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/RaspberryPiManagerServiceImpl.java @@ -236,7 +236,6 @@ public class RaspberryPiManagerServiceImpl implements RaspberryPiManagerService ZipUtil ziputil = new ZipUtil(); ZipArchive zipFile = ziputil.createZipFile(owner, APIUtil.getTenantDomainOftheUser(), sketchType, deviceId, deviceName, accessToken, refreshToken); - zipFile.setDeviceId(deviceId); return zipFile; } diff --git a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/util/ZipUtil.java b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/util/ZipUtil.java index d8e1e41249..b90c145ad4 100644 --- a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/util/ZipUtil.java +++ b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/util/ZipUtil.java @@ -19,10 +19,8 @@ package org.wso2.carbon.device.mgt.iot.raspberrypi.service.impl.util; import org.wso2.carbon.device.mgt.common.DeviceManagementException; -import org.wso2.carbon.device.mgt.iot.exception.IoTException; import org.wso2.carbon.device.mgt.iot.raspberrypi.plugin.mqtt.MqttConfig; -import org.wso2.carbon.device.mgt.iot.util.IoTUtil; -import org.wso2.carbon.device.mgt.iot.util.IotDeviceManagementUtil; +import org.wso2.carbon.device.mgt.iot.util.Utils; import org.wso2.carbon.device.mgt.iot.util.ZipArchive; import org.wso2.carbon.utils.CarbonUtils; @@ -54,7 +52,7 @@ public class ZipUtil { String iotServerIP; try { - iotServerIP = IoTUtil.getHostName(); + iotServerIP = Utils.getHostName(); String httpsServerPort = System.getProperty(HTTPS_PORT_PROPERTY); String httpServerPort = System.getProperty(HTTP_PORT_PROPERTY); String httpsServerEP = HTTPS_PROTOCOL_APPENDER + iotServerIP + ":" + httpsServerPort; @@ -78,10 +76,8 @@ public class ZipUtil { contextParams.put("DEVICE_REFRESH_TOKEN", refreshToken); ZipArchive zipFile; - zipFile = IotDeviceManagementUtil.getSketchArchive(archivesPath, templateSketchPath, contextParams); + zipFile = Utils.getSketchArchive(archivesPath, templateSketchPath, contextParams, deviceName); return zipFile; - } catch (IoTException e) { - throw new DeviceManagementException(e.getMessage()); } catch (IOException e) { throw new DeviceManagementException("Zip File Creation Failed", e); } diff --git a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.analytics-view/public/js/devicetype-graph.js b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.analytics-view/public/js/devicetype-graph.js index 70bf616c3c..7764601293 100644 --- a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.analytics-view/public/js/devicetype-graph.js +++ b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.analytics-view/public/js/devicetype-graph.js @@ -18,7 +18,7 @@ var palette = new Rickshaw.Color.Palette({scheme: "classic9"}); -function drawGraph(from, to) { +function drawGraph_raspberrypi(from, to) { var backendApiUrl = $("#chart").data("backend-api-url") + "?from=" + from + "&to=" + to; var successCallback = function (data) { diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/VirtualFireAlarmManagerServiceImpl.java b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/VirtualFireAlarmManagerServiceImpl.java index 6762033f87..17e1a46110 100644 --- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/VirtualFireAlarmManagerServiceImpl.java +++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/VirtualFireAlarmManagerServiceImpl.java @@ -282,7 +282,6 @@ public class VirtualFireAlarmManagerServiceImpl implements VirtualFireAlarmManag ZipUtil ziputil = new ZipUtil(); ZipArchive zipFile = ziputil.createZipFile(owner, APIUtil.getTenantDomainOftheUser(), sketchType, deviceId, deviceName, accessToken, refreshToken); - zipFile.setDeviceId(deviceId); return zipFile; } diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/util/ZipUtil.java b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/util/ZipUtil.java index 0e3707e998..7929873068 100644 --- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/util/ZipUtil.java +++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/util/ZipUtil.java @@ -19,9 +19,7 @@ package org.wso2.carbon.device.mgt.iot.virtualfirealarm.service.impl.util; import org.wso2.carbon.device.mgt.common.DeviceManagementException; -import org.wso2.carbon.device.mgt.iot.exception.IoTException; -import org.wso2.carbon.device.mgt.iot.util.IoTUtil; -import org.wso2.carbon.device.mgt.iot.util.IotDeviceManagementUtil; +import org.wso2.carbon.device.mgt.iot.util.Utils; import org.wso2.carbon.device.mgt.iot.util.ZipArchive; import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.mqtt.MqttConfig; import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.xmpp.XmppConfig; @@ -55,7 +53,7 @@ public class ZipUtil { String iotServerIP; try { - iotServerIP = IoTUtil.getHostName(); + iotServerIP = Utils.getHostName(); String httpsServerPort = System.getProperty(HTTPS_PORT_PROPERTY); String httpServerPort = System.getProperty(HTTP_PORT_PROPERTY); String httpsServerEP = HTTPS_PROTOCOL_APPENDER + iotServerIP + ":" + httpsServerPort; @@ -84,10 +82,8 @@ public class ZipUtil { contextParams.put("DEVICE_REFRESH_TOKEN", refreshToken); ZipArchive zipFile; - zipFile = IotDeviceManagementUtil.getSketchArchive(archivesPath, templateSketchPath, contextParams); + zipFile = Utils.getSketchArchive(archivesPath, templateSketchPath, contextParams, deviceName); return zipFile; - } catch (IoTException e) { - throw new DeviceManagementException(e.getMessage()); } catch (IOException e) { throw new DeviceManagementException("Zip File Creation Failed", e); } diff --git a/features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/agent/ArduinoBoardSketch.h b/features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/agent/ArduinoBoardSketch.h index 62d01f1bcb..b6955cf79b 100644 --- a/features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/agent/ArduinoBoardSketch.h +++ b/features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/agent/ArduinoBoardSketch.h @@ -34,7 +34,6 @@ // Security can be WLAN_SEC_UNSEC, WLAN_SEC_WEP, WLAN_SEC_WPA or WLAN_SEC_WPA2 #define IDLE_TIMEOUT_MS 3000 -#define TENANT_DOMAIN "${TENANT_DOMAIN}" #define DEVICE_OWNER "${DEVICE_OWNER}" #define DEVICE_ID "${DEVICE_ID}" #define DEVICE_TOKEN "${DEVICE_TOKEN}" @@ -43,8 +42,7 @@ #define TIME 0 #define SUPER_TENANT "carbon.super" -#define DAS_SERVICE_EPOINT "/endpoints/temperature-http?deviceId=${DEVICE_ID}" -#define DAS_SERVICE_TEPOINT "/endpoints/t/${TENANT_DOMAIN}/temperature-http?deviceId=${DEVICE_ID}" +#define DAS_SERVICE_EPOINT "/endpoints${TENANT_DOMAIN}/arduino_receiver?deviceId=${DEVICE_ID}" #define IOT_SERVICE_EPOINT "/arduino/device/${DEVICE_ID}/controls" @@ -53,15 +51,17 @@ #define DEBUG true #define CON_DEBUG true -#define SERVICE_PORT 9763 //http port of iot server +#define SERVICE_PORT ${SERVER_EP_PORT} //http port of iot server -byte server[4] = {192,168,1,10}; //Ip address of iot server -byte deviceIP[4] = { 192, 168, 1,110 }; //Ststic ip address of arduino +byte server[4] = {${SERVER_EP_IP}}; //Ip address of iot server +//set static Ip +/** +byte deviceIP[4] = { 192, 168, 1,110 }; //Ststic ip address of arduino byte dns2[] = { 8, 8, 8, 8 }; //Ststic dns of arduino byte subnet[] = { 255, 255, 255, 0 }; //Ststic subnet of arduino byte gateway[] = { 192, 168, 1, 1 }; //Ststic gateway of arduino - +*/ String host, jsonPayLoad, replyMsg; String responseMsg, subStrn; diff --git a/features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/agent/Connect.ino b/features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/agent/Connect.ino index 693929a74b..ba37853252 100644 --- a/features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/agent/Connect.ino +++ b/features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/agent/Connect.ino @@ -38,11 +38,14 @@ void connectHttp() { Only required if using static IP for the WifiSheild ***********************************************************************************************/ + /** ip = cc3000.IP2U32(deviceIP[0], deviceIP[1], deviceIP[2], deviceIP[3]); ddns = cc3000.IP2U32(dns2[0], dns2[1], dns2[2], dns2[3]); ssubnet = cc3000.IP2U32(subnet[0], subnet[1], subnet[2], subnet[3]); ggateway = cc3000.IP2U32(gateway[0], gateway[1], gateway[2], gateway[3]); - cc3000.setStaticIPAddress(ip, ssubnet, ggateway, ddns); // required for setting static IP + cc3000.setStaticIPAddress(ip, ssubnet, ggateway, ddns); + */ + // required for setting static IP /***********************************************************************************************/ diff --git a/features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/agent/PushData.ino b/features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/agent/PushData.ino index 6d4a529802..c5879b0fea 100644 --- a/features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/agent/PushData.ino +++ b/features/iot-plugins-feature/arduino-plugin-feature/org.wso2.carbon.device.mgt.iot.arduino.feature/src/main/resources/agent/PushData.ino @@ -31,11 +31,7 @@ void pushData(){ payLoad += "}}}"; client.fastrprint(F("POST ")); - if (strcmp(TENANT_DOMAIN, SUPER_TENANT) == 0) { - client.fastrprint(DAS_SERVICE_EPOINT); - } else { - client.fastrprint(DAS_SERVICE_TEPOINT); - } + client.fastrprint(DAS_SERVICE_EPOINT); client.fastrprint(F(" HTTP/1.1")); client.fastrprint(F("\n")); client.fastrprint(host.c_str()); client.fastrprint(F("\n")); client.fastrprint(F("Authorization: Bearer ")); client.fastrprint(F(DEVICE_TOKEN)); client.fastrprint(F("\n")); @@ -50,11 +46,7 @@ void pushData(){ if(DEBUG) { Serial.print("POST "); - if (strcmp(TENANT_DOMAIN, SUPER_TENANT) == 0) { - Serial.print(DAS_SERVICE_EPOINT); - } else { - Serial.print(DAS_SERVICE_TEPOINT); - } + Serial.print(DAS_SERVICE_EPOINT); Serial.print(" HTTP/1.1"); Serial.println(); Serial.print(host); Serial.println(); Serial.print("Content-Type: application/json"); Serial.println(); From bb0b10f14cf5eee4d8b0f26d311593fe458d50c8 Mon Sep 17 00:00:00 2001 From: ayyoob Date: Sun, 15 May 2016 11:59:10 +0530 Subject: [PATCH 17/21] resolved xmpp issues in virtual fire alarm --- .../service/impl/AndroidSenseManagerServiceImpl.java | 4 ++-- .../mgt/iot/arduino/service/impl/util/ZipUtil.java | 2 +- .../java/org/wso2/carbon/device/mgt/iot/util/Utils.java | 2 +- .../mgt/iot/raspberrypi/service/impl/util/ZipUtil.java | 2 +- .../communication/xmpp/FireAlarmXMPPCommunicator.java | 7 ++----- .../agent/advanced/core/AgentConfiguration.java | 9 +++++++++ .../agent/advanced/core/AgentConstants.java | 2 ++ .../agent/advanced/core/AgentUtilOperations.java | 4 ++++ .../src/main/resources/deviceConfig.properties | 1 + .../communication/xmpp/FireAlarmXMPPCommunicator.java | 8 +++----- .../virtualfirealarm/agent/core/AgentConfiguration.java | 9 +++++++++ .../iot/virtualfirealarm/agent/core/AgentConstants.java | 1 + .../virtualfirealarm/agent/core/AgentUtilOperations.java | 4 ++++ .../src/main/resources/deviceConfig.properties | 1 + .../impl/VirtualFireAlarmControllerServiceImpl.java | 8 +++++--- .../iot/virtualfirealarm/service/impl/util/ZipUtil.java | 4 ++-- .../plugin/constants/VirtualFireAlarmConstants.java | 3 ++- .../plugin/impl/util/VirtualFireAlarmUtils.java | 3 +++ .../util/VirtualFirealarmEventAdapterSubscription.java | 3 +++ .../mgt/iot/virtualfirealarm/plugin/xmpp/XmppConfig.java | 8 +++++++- .../virtualfirealarm/plugin/xmpp/XmppServerClient.java | 5 ++--- .../mgt/iot/virtualfirealarm/plugin/xmpp/XmppUtil.java | 4 ++-- .../device-view.js | 3 +-- .../src/main/resources/conf/xmpp.properties | 3 ++- .../resources/advanced_agent/deviceConfig.properties | 2 +- .../src/main/resources/agent/deviceConfig.properties | 2 +- 26 files changed, 72 insertions(+), 32 deletions(-) diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/AndroidSenseManagerServiceImpl.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/AndroidSenseManagerServiceImpl.java index e5a794f509..5e109aaf7d 100644 --- a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/AndroidSenseManagerServiceImpl.java +++ b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/AndroidSenseManagerServiceImpl.java @@ -62,7 +62,7 @@ public class AndroidSenseManagerServiceImpl implements AndroidSenseManagerServic androidConfiguration.setTenantDomain(APIUtil.getAuthenticatedUserTenantDomain()); String mqttEndpoint = MqttConfig.getInstance().getBrokerEndpoint(); if (mqttEndpoint.contains(Constants.LOCALHOST)) { - mqttEndpoint = mqttEndpoint.replace(Constants.LOCALHOST, Utils.getHostName()); + mqttEndpoint = mqttEndpoint.replace(Constants.LOCALHOST, Utils.getServerUrl()); } androidConfiguration.setMqttEndpoint(mqttEndpoint); return Response.status(Response.Status.ACCEPTED.getStatusCode()).entity(androidConfiguration.toString()) @@ -85,7 +85,7 @@ public class AndroidSenseManagerServiceImpl implements AndroidSenseManagerServic androidConfiguration.setTenantDomain(APIUtil.getAuthenticatedUserTenantDomain()); String mqttEndpoint = MqttConfig.getInstance().getBrokerEndpoint(); if (mqttEndpoint.contains(Constants.LOCALHOST)) { - mqttEndpoint = mqttEndpoint.replace(Constants.LOCALHOST, Utils.getHostName()); + mqttEndpoint = mqttEndpoint.replace(Constants.LOCALHOST, Utils.getServerUrl()); } androidConfiguration.setMqttEndpoint(mqttEndpoint); return Response.ok(androidConfiguration.toString()).build(); diff --git a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/util/ZipUtil.java b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/util/ZipUtil.java index 9f3dca2690..1cad521204 100644 --- a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/util/ZipUtil.java +++ b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/util/ZipUtil.java @@ -47,7 +47,7 @@ public class ZipUtil { String iotServerIP; try { - iotServerIP = Utils.getHostName(); + iotServerIP = Utils.getServerUrl(); String httpServerPort = System.getProperty(HTTP_PORT_PROPERTY); Map contextParams = new HashMap<>(); diff --git a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/util/Utils.java b/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/util/Utils.java index 4bc6a6164c..26aaf2aa7f 100644 --- a/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/util/Utils.java +++ b/components/iot-plugins/iot-base-plugin/org.wso2.carbon.device.mgt.iot/src/main/java/org/wso2/carbon/device/mgt/iot/util/Utils.java @@ -55,7 +55,7 @@ public class Utils { public static final String HOST_NAME = "HostName"; private static final Log log = LogFactory.getLog(Utils.class); - public static String getHostName() { + public static String getServerUrl() { String hostName = ServerConfiguration.getInstance().getFirstProperty(HOST_NAME); try { if (hostName == null) { diff --git a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/util/ZipUtil.java b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/util/ZipUtil.java index b90c145ad4..6c9fd54b36 100644 --- a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/util/ZipUtil.java +++ b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/util/ZipUtil.java @@ -52,7 +52,7 @@ public class ZipUtil { String iotServerIP; try { - iotServerIP = Utils.getHostName(); + iotServerIP = Utils.getServerUrl(); String httpsServerPort = System.getProperty(HTTPS_PORT_PROPERTY); String httpServerPort = System.getProperty(HTTP_PORT_PROPERTY); String httpsServerEP = HTTPS_PROTOCOL_APPENDER + iotServerIP + ":" + httpsServerPort; diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.advanced.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/agent/advanced/communication/xmpp/FireAlarmXMPPCommunicator.java b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.advanced.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/agent/advanced/communication/xmpp/FireAlarmXMPPCommunicator.java index f1fe40bd90..5beebd415c 100644 --- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.advanced.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/agent/advanced/communication/xmpp/FireAlarmXMPPCommunicator.java +++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.advanced.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/agent/advanced/communication/xmpp/FireAlarmXMPPCommunicator.java @@ -68,11 +68,8 @@ public class FireAlarmXMPPCommunicator extends XMPPTransportHandler { final AgentManager agentManager = AgentManager.getInstance(); username = agentManager.getAgentConfigs().getDeviceId(); password = agentManager.getAgentConfigs().getAuthToken(); - resource = agentManager.getAgentConfigs().getDeviceOwner(); - - xmppDeviceJID = username + "@" + server; - xmppAdminJID = "wso2_" + AgentConstants.DEVICE_TYPE + "@" + server; - + xmppDeviceJID = username + "@" + agentManager.getAgentConfigs().getXmppServerName(); + xmppAdminJID = "wso2admin_" + AgentConstants.DEVICE_TYPE + "@" + agentManager.getAgentConfigs().getXmppServerName(); Runnable connect = new Runnable() { public void run() { diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.advanced.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/agent/advanced/core/AgentConfiguration.java b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.advanced.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/agent/advanced/core/AgentConfiguration.java index 7a54be78ef..d79e6b029b 100644 --- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.advanced.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/agent/advanced/core/AgentConfiguration.java +++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.advanced.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/agent/advanced/core/AgentConfiguration.java @@ -39,6 +39,7 @@ public class AgentConfiguration { private String authToken; private String refreshToken; private int dataPushInterval; + private String xmppServerName; public String getTenantDomain() { return tenantDomain; @@ -159,6 +160,14 @@ public class AgentConfiguration { public void setScepContext(String scepContext) { this.scepContext = scepContext; } + + public String getXmppServerName() { + return xmppServerName; + } + + public void setXmppServerName(String xmppServerName) { + this.xmppServerName = xmppServerName; + } } diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.advanced.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/agent/advanced/core/AgentConstants.java b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.advanced.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/agent/advanced/core/AgentConstants.java index 09975cde4a..84267523f8 100644 --- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.advanced.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/agent/advanced/core/AgentConstants.java +++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.advanced.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/agent/advanced/core/AgentConstants.java @@ -134,4 +134,6 @@ public class AgentConstants { "select deviceID, temp\n" + "insert into bulbOffStream;"; + + public static final String XMPP_SERVER_NAME_PROPERTY = "xmpp-server-name"; } diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.advanced.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/agent/advanced/core/AgentUtilOperations.java b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.advanced.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/agent/advanced/core/AgentUtilOperations.java index 440582c7f7..822327301f 100644 --- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.advanced.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/agent/advanced/core/AgentUtilOperations.java +++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.advanced.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/agent/advanced/core/AgentUtilOperations.java @@ -102,6 +102,8 @@ public class AgentUtilOperations { AgentConstants.MQTT_BROKER_EP_PROPERTY)); iotServerConfigs.setXmppServerEndpoint(properties.getProperty( AgentConstants.XMPP_SERVER_EP_PROPERTY)); + iotServerConfigs.setXmppServerName(properties.getProperty( + AgentConstants.XMPP_SERVER_NAME_PROPERTY)); iotServerConfigs.setAuthMethod(properties.getProperty( AgentConstants.AUTH_METHOD_PROPERTY)); iotServerConfigs.setAuthToken(properties.getProperty( @@ -138,6 +140,8 @@ public class AgentUtilOperations { iotServerConfigs.getRefreshToken()); log.info(AgentConstants.LOG_APPENDER + "Data Push Interval: " + iotServerConfigs.getDataPushInterval()); + log.info(AgentConstants.LOG_APPENDER + "XMPP Server Name: " + + iotServerConfigs.getXmppServerName()); } catch (FileNotFoundException ex) { log.error(AgentConstants.LOG_APPENDER + "Unable to find " + propertiesFileName + diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.advanced.impl/src/main/resources/deviceConfig.properties b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.advanced.impl/src/main/resources/deviceConfig.properties index 1dc1374b99..4eba166c1a 100644 --- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.advanced.impl/src/main/resources/deviceConfig.properties +++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.advanced.impl/src/main/resources/deviceConfig.properties @@ -32,3 +32,4 @@ auth-token=79d68b50ae5f5a06e812889979b3453 refresh-token=8bdda6359dddad218cff3354d5a8cb3b network-interface=en0 push-interval=14 +xmpp-server-name=localhost \ No newline at end of file diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/agent/communication/xmpp/FireAlarmXMPPCommunicator.java b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/agent/communication/xmpp/FireAlarmXMPPCommunicator.java index b29cd492eb..45d103adcd 100644 --- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/agent/communication/xmpp/FireAlarmXMPPCommunicator.java +++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/agent/communication/xmpp/FireAlarmXMPPCommunicator.java @@ -21,6 +21,7 @@ package org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.communication.xmpp import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.jivesoftware.smack.packet.Message; +import org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.core.AgentConfiguration; import org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.core.AgentConstants; import org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.core.AgentManager; import org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.core.AgentUtilOperations; @@ -68,11 +69,8 @@ public class FireAlarmXMPPCommunicator extends XMPPTransportHandler { final AgentManager agentManager = AgentManager.getInstance(); username = agentManager.getAgentConfigs().getDeviceId(); password = agentManager.getAgentConfigs().getAuthToken(); - resource = agentManager.getAgentConfigs().getDeviceOwner(); - - xmppDeviceJID = username + "@" + server; - xmppAdminJID = "wso2_" + AgentConstants.DEVICE_TYPE + "@" + server; - + xmppDeviceJID = username + "@" + agentManager.getAgentConfigs().getXmppServerName(); + xmppAdminJID = "wso2admin_" + AgentConstants.DEVICE_TYPE + "@" + agentManager.getAgentConfigs().getXmppServerName(); Runnable connect = new Runnable() { public void run() { diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/agent/core/AgentConfiguration.java b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/agent/core/AgentConfiguration.java index 68cb58ee80..64b52b8b78 100644 --- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/agent/core/AgentConfiguration.java +++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/agent/core/AgentConfiguration.java @@ -39,6 +39,7 @@ public class AgentConfiguration { private String authToken; private String refreshToken; private int dataPushInterval; + private String xmppServerName; public String getTenantDomain() { return tenantDomain; @@ -159,6 +160,14 @@ public class AgentConfiguration { public void setScepContext(String scepContext) { this.scepContext = scepContext; } + + public String getXmppServerName() { + return xmppServerName; + } + + public void setXmppServerName(String xmppServerName) { + this.xmppServerName = xmppServerName; + } } diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/agent/core/AgentConstants.java b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/agent/core/AgentConstants.java index 1a9771b8e8..8836aa09c7 100644 --- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/agent/core/AgentConstants.java +++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/agent/core/AgentConstants.java @@ -77,6 +77,7 @@ public class AgentConstants { public static final String APIM_GATEWAY_EP_PROPERTY = "apim-ep"; public static final String MQTT_BROKER_EP_PROPERTY = "mqtt-ep"; public static final String XMPP_SERVER_EP_PROPERTY = "xmpp-ep"; + public static final String XMPP_SERVER_NAME_PROPERTY = "xmpp-server-name"; public static final String AUTH_METHOD_PROPERTY = "auth-method"; public static final String AUTH_TOKEN_PROPERTY = "auth-token"; public static final String REFRESH_TOKEN_PROPERTY = "refresh-token"; diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/agent/core/AgentUtilOperations.java b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/agent/core/AgentUtilOperations.java index c7eb9d342c..656ce84905 100644 --- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/agent/core/AgentUtilOperations.java +++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.impl/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/agent/core/AgentUtilOperations.java @@ -106,6 +106,8 @@ public class AgentUtilOperations { AgentConstants.MQTT_BROKER_EP_PROPERTY)); iotServerConfigs.setXmppServerEndpoint(properties.getProperty( AgentConstants.XMPP_SERVER_EP_PROPERTY)); + iotServerConfigs.setXmppServerName(properties.getProperty( + AgentConstants.XMPP_SERVER_NAME_PROPERTY)); iotServerConfigs.setAuthMethod(properties.getProperty( AgentConstants.AUTH_METHOD_PROPERTY)); iotServerConfigs.setAuthToken(properties.getProperty( @@ -142,6 +144,8 @@ public class AgentUtilOperations { iotServerConfigs.getRefreshToken()); log.info(AgentConstants.LOG_APPENDER + "Data Push Interval: " + iotServerConfigs.getDataPushInterval()); + log.info(AgentConstants.LOG_APPENDER + "XMPP Server Name: " + + iotServerConfigs.getXmppServerName()); } catch (FileNotFoundException ex) { String errorMsg = "[" + propertiesFileName + "] file not found at: " + AgentConstants.PROPERTIES_FILE_PATH; diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.impl/src/main/resources/deviceConfig.properties b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.impl/src/main/resources/deviceConfig.properties index 1dc1374b99..4eba166c1a 100644 --- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.impl/src/main/resources/deviceConfig.properties +++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.agent.impl/src/main/resources/deviceConfig.properties @@ -32,3 +32,4 @@ auth-token=79d68b50ae5f5a06e812889979b3453 refresh-token=8bdda6359dddad218cff3354d5a8cb3b network-interface=en0 push-interval=14 +xmpp-server-name=localhost \ No newline at end of file diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/VirtualFireAlarmControllerServiceImpl.java b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/VirtualFireAlarmControllerServiceImpl.java index 213cb3fbc8..e4a8aa55f6 100644 --- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/VirtualFireAlarmControllerServiceImpl.java +++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/VirtualFireAlarmControllerServiceImpl.java @@ -28,6 +28,7 @@ import org.wso2.carbon.device.mgt.common.authorization.DeviceAccessAuthorization import org.wso2.carbon.device.mgt.common.group.mgt.DeviceGroupConstants; import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.constants.VirtualFireAlarmConstants; import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.impl.util.VirtualFirealarmSecurityManager; +import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.xmpp.XmppConfig; import org.wso2.carbon.device.mgt.iot.virtualfirealarm.service.impl.dto.SensorRecord; import org.wso2.carbon.device.mgt.iot.virtualfirealarm.service.impl.exception.VirtualFireAlarmException; import org.wso2.carbon.device.mgt.iot.virtualfirealarm.service.impl.util.APIUtil; @@ -83,7 +84,8 @@ public class VirtualFireAlarmControllerServiceImpl implements VirtualFireAlarmCo Map dynamicProperties = new HashMap<>(); switch (protocolString) { case XMPP_PROTOCOL: - dynamicProperties.put(VirtualFireAlarmConstants.JID_PROPERTY_KEY, deviceId); + dynamicProperties.put(VirtualFireAlarmConstants.JID_PROPERTY_KEY, + deviceId + "@" + XmppConfig.getInstance().getXmppServerName()); dynamicProperties.put(VirtualFireAlarmConstants.SUBJECT_PROPERTY_KEY, "CONTROL-REQUEST"); dynamicProperties.put(VirtualFireAlarmConstants.MESSAGE_TYPE_PROPERTY_KEY, VirtualFireAlarmConstants.CHAT_PROPERTY_KEY); @@ -91,7 +93,6 @@ public class VirtualFireAlarmControllerServiceImpl implements VirtualFireAlarmCo dynamicProperties, encryptedMsg); break; default: - String publishTopic = APIUtil.getTenantDomainOftheUser() + "/" + VirtualFireAlarmConstants.DEVICE_TYPE + "/" + deviceId; dynamicProperties.put(VirtualFireAlarmConstants.ADAPTER_TOPIC_PROPERTY, publishTopic); @@ -131,7 +132,8 @@ public class VirtualFireAlarmControllerServiceImpl implements VirtualFireAlarmCo Map dynamicProperties = new HashMap<>(); switch (protocolString) { case XMPP_PROTOCOL: - dynamicProperties.put(VirtualFireAlarmConstants.JID_PROPERTY_KEY, deviceId); + dynamicProperties.put(VirtualFireAlarmConstants.JID_PROPERTY_KEY, + deviceId + "@" + XmppConfig.getInstance().getXmppServerName()); dynamicProperties.put(VirtualFireAlarmConstants.SUBJECT_PROPERTY_KEY, "POLICTY-REQUEST"); dynamicProperties.put(VirtualFireAlarmConstants.MESSAGE_TYPE_PROPERTY_KEY, VirtualFireAlarmConstants.CHAT_PROPERTY_KEY); diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/util/ZipUtil.java b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/util/ZipUtil.java index 7929873068..4d7fed54cf 100644 --- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/util/ZipUtil.java +++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/util/ZipUtil.java @@ -53,7 +53,7 @@ public class ZipUtil { String iotServerIP; try { - iotServerIP = Utils.getHostName(); + iotServerIP = Utils.getServerUrl(); String httpsServerPort = System.getProperty(HTTPS_PORT_PROPERTY); String httpServerPort = System.getProperty(HTTP_PORT_PROPERTY); String httpsServerEP = HTTPS_PROTOCOL_APPENDER + iotServerIP + ":" + httpsServerPort; @@ -80,7 +80,7 @@ public class ZipUtil { contextParams.put("XMPP_EP", "XMPP:" + xmppEndpoint); contextParams.put("DEVICE_TOKEN", token); contextParams.put("DEVICE_REFRESH_TOKEN", refreshToken); - + contextParams.put("SERVER_NAME", XmppConfig.getInstance().getXmppServerName()); ZipArchive zipFile; zipFile = Utils.getSketchArchive(archivesPath, templateSketchPath, contextParams, deviceName); return zipFile; diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/constants/VirtualFireAlarmConstants.java b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/constants/VirtualFireAlarmConstants.java index 64d4e50fd5..693eb3524f 100644 --- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/constants/VirtualFireAlarmConstants.java +++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/constants/VirtualFireAlarmConstants.java @@ -80,11 +80,12 @@ public class VirtualFireAlarmConstants { public static final String IS_ENABLED_KEY = "enabled"; public static final String HOST_KEY = "host"; public static final String PORT_KEY = "port"; - public static final String CONNECTION_PORT = "connection.port"; public static final String ADMIN_USERNAME = "admin.username"; public static final String ADMIN_PASSWORD = "admin.password"; public static final String XMPP_SERVER_PASSWORD = "admin@123456789"; + public static final String SERVER_NAME = "serverName"; + public static final String MQTT_CONFIG_LOCATION = CarbonUtils.getEtcCarbonConfigDirPath() + File.separator + "mqtt.properties"; public static final String XMPP_CONFIG_LOCATION = CarbonUtils.getEtcCarbonConfigDirPath() + File.separator diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/util/VirtualFireAlarmUtils.java b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/util/VirtualFireAlarmUtils.java index 011334538d..875072379b 100644 --- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/util/VirtualFireAlarmUtils.java +++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/util/VirtualFireAlarmUtils.java @@ -38,6 +38,8 @@ import org.wso2.carbon.event.output.adapter.core.MessageType; import org.wso2.carbon.event.output.adapter.core.OutputEventAdapterConfiguration; import org.wso2.carbon.event.output.adapter.core.exception.OutputEventAdapterException; import org.json.JSONObject; +import org.wso2.carbon.utils.NetworkUtils; + import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; @@ -45,6 +47,7 @@ import javax.sql.DataSource; import java.io.File; import java.io.IOException; import java.io.InputStream; +import java.net.SocketException; import java.security.PublicKey; import java.security.cert.X509Certificate; import java.sql.Connection; diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/util/VirtualFirealarmEventAdapterSubscription.java b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/util/VirtualFirealarmEventAdapterSubscription.java index ee3ec6a6ed..25489d9b55 100644 --- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/util/VirtualFirealarmEventAdapterSubscription.java +++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/util/VirtualFirealarmEventAdapterSubscription.java @@ -14,6 +14,9 @@ public class VirtualFirealarmEventAdapterSubscription implements InputEventAdapt if (actualMessage.contains("PUBLISHER")) { float temperature = Float.parseFloat(actualMessage.split(":")[2]); VirtualFireAlarmUtils.publishToDAS(deviceId, temperature); + } else { + float temperature = Float.parseFloat(actualMessage.split(":")[1]); + VirtualFireAlarmUtils.publishToDAS(deviceId, temperature); } } } diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/xmpp/XmppConfig.java b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/xmpp/XmppConfig.java index 3a0eebebbb..12f9b5fcc7 100644 --- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/xmpp/XmppConfig.java +++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/xmpp/XmppConfig.java @@ -21,6 +21,7 @@ package org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.xmpp; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.constants.VirtualFireAlarmConstants; +import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.impl.util.VirtualFireAlarmUtils; import java.io.File; import java.io.IOException; @@ -37,6 +38,7 @@ public class XmppConfig { private String virtualFirealarmAdminUsername; private String virtualFirealarmAdminPassword; private String virtualFirealarmAdminJID; + private String xmppServerName; private static XmppConfig xmppConfig = new XmppConfig(); private static final Log log = LogFactory.getLog(XmppConfig.class); @@ -48,12 +50,13 @@ public class XmppConfig { Properties properties = new Properties(); properties.load(propertyStream); xmppServerIP = properties.getProperty(VirtualFireAlarmConstants.HOST_KEY); + xmppServerName = properties.getProperty(VirtualFireAlarmConstants.SERVER_NAME); xmppServerPort = Integer.parseInt(properties.getProperty(VirtualFireAlarmConstants.PORT_KEY)); isEnabled = Boolean.parseBoolean(properties.getProperty(VirtualFireAlarmConstants.IS_ENABLED_KEY)); xmppUsername = properties.getProperty(VirtualFireAlarmConstants.ADMIN_USERNAME); xmppPassword = properties.getProperty(VirtualFireAlarmConstants.ADMIN_PASSWORD); virtualFirealarmAdminUsername = "wso2admin_" + VirtualFireAlarmConstants.DEVICE_TYPE; - virtualFirealarmAdminJID = virtualFirealarmAdminUsername + "@" + xmppServerIP; + virtualFirealarmAdminJID = virtualFirealarmAdminUsername + "@" + xmppServerName; virtualFirealarmAdminPassword = VirtualFireAlarmConstants.XMPP_SERVER_PASSWORD; } catch (IOException e) { log.error(e); @@ -97,4 +100,7 @@ public class XmppConfig { return virtualFirealarmAdminJID; } + public String getXmppServerName() { + return xmppServerName; + } } diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/xmpp/XmppServerClient.java b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/xmpp/XmppServerClient.java index fccb6c70ad..e2607b71ab 100644 --- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/xmpp/XmppServerClient.java +++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/xmpp/XmppServerClient.java @@ -18,8 +18,6 @@ package org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.xmpp; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; import org.jivesoftware.smack.AccountManager; import org.jivesoftware.smack.ConnectionConfiguration; import org.jivesoftware.smack.XMPPConnection; @@ -36,7 +34,8 @@ public class XmppServerClient { if (xmppAccount != null) { try { ConnectionConfiguration config = new ConnectionConfiguration(XmppConfig.getInstance().getXmppServerIP(), - XmppConfig.getInstance().getXmppServerPort()); + XmppConfig.getInstance().getXmppServerPort(), + "Accounts"); XMPPConnection xmppConnection = new XMPPConnection(config); xmppConnection.connect(); xmppConnection.login(XmppConfig.getInstance().getXmppUsername(), XmppConfig.getInstance().getXmppPassword()); diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/xmpp/XmppUtil.java b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/xmpp/XmppUtil.java index fa6f3c0896..4e60862b84 100644 --- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/xmpp/XmppUtil.java +++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/xmpp/XmppUtil.java @@ -32,10 +32,10 @@ public class XmppUtil { XmppServerClient xmppServerClient = new XmppServerClient(); try { XmppAccount xmppAccount = new XmppAccount(); - xmppAccount.setAccountName(XmppConfig.getInstance().getVirtualFirealarmAdminJID()); + xmppAccount.setAccountName(XmppConfig.getInstance().getVirtualFirealarmAdminUsername()); xmppAccount.setUsername(XmppConfig.getInstance().getVirtualFirealarmAdminUsername()); xmppAccount.setPassword(XmppConfig.getInstance().getVirtualFirealarmAdminPassword()); - xmppAccount.setEmail(""); + xmppAccount.setEmail(XmppConfig.getInstance().getVirtualFirealarmAdminJID()); xmppServerClient.createAccount(xmppAccount); } catch (VirtualFirealarmDeviceMgtPluginException e) { String errorMsg = "An error was encountered whilst trying to create Server XMPP account for device-type - " diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.virtual_firealarm.device-view/device-view.js b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.virtual_firealarm.device-view/device-view.js index 2009b37fcb..4dd97dd238 100644 --- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.virtual_firealarm.device-view/device-view.js +++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.virtual_firealarm.device-view/device-view.js @@ -21,8 +21,7 @@ function onRequest(context) { var deviceType = context.uriParams.deviceType; var deviceId = request.getParameter("id"); var autoCompleteParams = [ - {"name" : "deviceId", "value" : deviceId}, - {"name" : "protocol", "value" : "MQTT"} + {"name" : "deviceId", "value" : deviceId} ]; if (deviceType != null && deviceType != undefined && deviceId != null && deviceId != undefined) { diff --git a/features/iot-plugins-feature/iot-base-plugin-feature/org.wso2.carbon.device.mgt.iot.feature/src/main/resources/conf/xmpp.properties b/features/iot-plugins-feature/iot-base-plugin-feature/org.wso2.carbon.device.mgt.iot.feature/src/main/resources/conf/xmpp.properties index 23e272d69f..c85a6e6b56 100644 --- a/features/iot-plugins-feature/iot-base-plugin-feature/org.wso2.carbon.device.mgt.iot.feature/src/main/resources/conf/xmpp.properties +++ b/features/iot-plugins-feature/iot-base-plugin-feature/org.wso2.carbon.device.mgt.iot.feature/src/main/resources/conf/xmpp.properties @@ -2,4 +2,5 @@ enabled=false host=localhost port=5222 admin.username=admin -admin.password=admin \ No newline at end of file +admin.password=admin +serverName=localhost \ No newline at end of file diff --git a/features/iot-plugins-feature/virtual-fire-alarm-plugin-feature/org.wso2.carbon.device.mgt.iot.virtualfirealarm.feature/src/main/resources/advanced_agent/deviceConfig.properties b/features/iot-plugins-feature/virtual-fire-alarm-plugin-feature/org.wso2.carbon.device.mgt.iot.virtualfirealarm.feature/src/main/resources/advanced_agent/deviceConfig.properties index 874f87585e..47a3a73a6c 100644 --- a/features/iot-plugins-feature/virtual-fire-alarm-plugin-feature/org.wso2.carbon.device.mgt.iot.virtualfirealarm.feature/src/main/resources/advanced_agent/deviceConfig.properties +++ b/features/iot-plugins-feature/virtual-fire-alarm-plugin-feature/org.wso2.carbon.device.mgt.iot.virtualfirealarm.feature/src/main/resources/advanced_agent/deviceConfig.properties @@ -31,5 +31,5 @@ auth-method=token auth-token=${DEVICE_TOKEN} refresh-token=${DEVICE_REFRESH_TOKEN} push-interval=15 - +xmpp-server-name=${SERVER_NAME} diff --git a/features/iot-plugins-feature/virtual-fire-alarm-plugin-feature/org.wso2.carbon.device.mgt.iot.virtualfirealarm.feature/src/main/resources/agent/deviceConfig.properties b/features/iot-plugins-feature/virtual-fire-alarm-plugin-feature/org.wso2.carbon.device.mgt.iot.virtualfirealarm.feature/src/main/resources/agent/deviceConfig.properties index 874f87585e..47a3a73a6c 100644 --- a/features/iot-plugins-feature/virtual-fire-alarm-plugin-feature/org.wso2.carbon.device.mgt.iot.virtualfirealarm.feature/src/main/resources/agent/deviceConfig.properties +++ b/features/iot-plugins-feature/virtual-fire-alarm-plugin-feature/org.wso2.carbon.device.mgt.iot.virtualfirealarm.feature/src/main/resources/agent/deviceConfig.properties @@ -31,5 +31,5 @@ auth-method=token auth-token=${DEVICE_TOKEN} refresh-token=${DEVICE_REFRESH_TOKEN} push-interval=15 - +xmpp-server-name=${SERVER_NAME} From b2a8b1b7c3f4edb5e09d540c316caff494bc03d4 Mon Sep 17 00:00:00 2001 From: ayyoob Date: Sun, 15 May 2016 12:39:34 +0530 Subject: [PATCH 18/21] resolved xmpp stream conflict error --- .../plugin/impl/util/VirtualFireAlarmUtils.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/util/VirtualFireAlarmUtils.java b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/util/VirtualFireAlarmUtils.java index 875072379b..16189c2633 100644 --- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/util/VirtualFireAlarmUtils.java +++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/plugin/impl/util/VirtualFireAlarmUtils.java @@ -362,7 +362,8 @@ public class VirtualFireAlarmUtils { xmppAdapterProperties.put(VirtualFireAlarmConstants.PORT_KEY, String.valueOf(xmppConfig.getXmppServerPort())); xmppAdapterProperties.put(VirtualFireAlarmConstants.USERNAME_PROPERTY_KEY, xmppConfig.getVirtualFirealarmAdminUsername()); xmppAdapterProperties.put(VirtualFireAlarmConstants.PASSWORD_PROPERTY_KEY, xmppConfig.getVirtualFirealarmAdminPassword()); - xmppAdapterProperties.put(VirtualFireAlarmConstants.JID_PROPERTY_KEY, xmppConfig.getVirtualFirealarmAdminJID()); + xmppAdapterProperties.put(VirtualFireAlarmConstants.JID_PROPERTY_KEY, xmppConfig.getVirtualFirealarmAdminJID() + + "/input-adapter"); xmppAdapterProperties.put(VirtualFireAlarmConstants.CONTENT_TRANSFORMATION, VirtualFirealarmXmppContentTransformer.class.getName()); xmppAdapterProperties.put(VirtualFireAlarmConstants.CONTENT_VALIDATION, "default"); @@ -400,7 +401,8 @@ public class VirtualFireAlarmUtils { xmppAdapterProperties.put(VirtualFireAlarmConstants.PORT_KEY, String.valueOf(xmppConfig.getXmppServerPort())); xmppAdapterProperties.put(VirtualFireAlarmConstants.USERNAME_PROPERTY_KEY, xmppConfig.getVirtualFirealarmAdminUsername()); xmppAdapterProperties.put(VirtualFireAlarmConstants.PASSWORD_PROPERTY_KEY, xmppConfig.getVirtualFirealarmAdminPassword()); - xmppAdapterProperties.put(VirtualFireAlarmConstants.JID_PROPERTY_KEY, xmppConfig.getVirtualFirealarmAdminJID()); + xmppAdapterProperties.put(VirtualFireAlarmConstants.JID_PROPERTY_KEY, xmppConfig.getVirtualFirealarmAdminJID() + + "/output-adapter"); outputEventAdapterConfiguration.setStaticProperties(xmppAdapterProperties); return outputEventAdapterConfiguration; } From f3d7608cdcb38678204ec2cfa37f1b37b781c3a5 Mon Sep 17 00:00:00 2001 From: charitha Date: Sun, 15 May 2016 13:12:50 +0530 Subject: [PATCH 19/21] Add support to grouping and bug fixes --- .../analytics-view.hbs | 13 +- .../analytics-view.js | 8 +- .../public/css/graph.css | 470 - .../public/js/android_sense.js | 360 + .../public/js/d3.min.js | 9488 ----------------- .../public/js/devicetype-graph.js | 350 - .../public/js/moment.min.js | 25 - .../public/js/rickshaw.min.js | 21 - .../analytics-view.hbs | 35 +- .../analytics-view.js | 3 +- .../public/css/graph.css | 471 - .../public/js/d3.min.js | 9488 ----------------- .../public/js/device-stats.js | 4 + .../public/js/rickshaw.min.js | 21 - .../analytics-view.hbs | 19 +- .../analytics-view.js | 7 +- .../public/js/arduino.js} | 37 +- .../analytics-view.hbs | 7 +- .../public/css/graph.css | 471 - .../public/js/d3.min.js | 9488 ----------------- .../public/js/rickshaw.min.js | 21 - .../analytics-view.hbs | 27 +- .../analytics-view.js | 15 +- .../public/css/graph.css | 470 - .../public/js/d3.min.js | 9488 ----------------- .../public/js/devicetype-graph.js | 155 - .../public/js/moment.min.js | 25 - .../public/js/raspberrypi.js} | 71 +- .../public/js/rickshaw.min.js | 21 - .../analytics-view.hbs | 7 +- .../public/css/graph.css | 471 - .../public/js/d3.min.js | 9488 ----------------- .../public/js/rickshaw.min.js | 21 - .../analytics-view.hbs | 19 +- .../analytics-view.js | 2 + .../public/js/virtual_firealarm.js | 182 + 36 files changed, 686 insertions(+), 50583 deletions(-) delete mode 100644 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.analytics-view/public/css/graph.css create mode 100644 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.analytics-view/public/js/android_sense.js delete mode 100644 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.analytics-view/public/js/d3.min.js delete mode 100644 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.analytics-view/public/js/devicetype-graph.js delete mode 100644 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.analytics-view/public/js/moment.min.js delete mode 100644 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.analytics-view/public/js/rickshaw.min.js delete mode 100644 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.realtime.analytics-view/public/css/graph.css delete mode 100644 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.realtime.analytics-view/public/js/d3.min.js delete mode 100644 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.realtime.analytics-view/public/js/rickshaw.min.js rename components/iot-plugins/{virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.virtual_firealarm.analytics-view/public/js/devicetype-graph.js => arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.analytics-view/public/js/arduino.js} (83%) mode change 100755 => 100644 delete mode 100644 components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.realtime.analytics-view/public/css/graph.css delete mode 100644 components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.realtime.analytics-view/public/js/d3.min.js delete mode 100644 components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.realtime.analytics-view/public/js/rickshaw.min.js delete mode 100644 components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.analytics-view/public/css/graph.css delete mode 100644 components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.analytics-view/public/js/d3.min.js delete mode 100644 components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.analytics-view/public/js/devicetype-graph.js delete mode 100644 components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.analytics-view/public/js/moment.min.js rename components/iot-plugins/{arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.analytics-view/public/js/devicetype-graph.js => raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.analytics-view/public/js/raspberrypi.js} (70%) delete mode 100644 components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.analytics-view/public/js/rickshaw.min.js delete mode 100644 components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.realtime.analytics-view/public/css/graph.css delete mode 100644 components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.realtime.analytics-view/public/js/d3.min.js delete mode 100644 components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.realtime.analytics-view/public/js/rickshaw.min.js mode change 100755 => 100644 components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.virtual_firealarm.analytics-view/analytics-view.hbs mode change 100755 => 100644 components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.virtual_firealarm.analytics-view/analytics-view.js create mode 100644 components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.virtual_firealarm.analytics-view/public/js/virtual_firealarm.js diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.analytics-view/analytics-view.hbs b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.analytics-view/analytics-view.hbs index b1bb245705..9580c8524a 100644 --- a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.analytics-view/analytics-view.hbs +++ b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.analytics-view/analytics-view.hbs @@ -1,9 +1,7 @@ -{{#zone "topCss"}} - {{css "css/graph.css"}} -{{/zone}} - -
+
Battery
@@ -115,8 +113,5 @@
{{#zone "bottomJs"}} - {{js "js/d3.min.js"}} - {{js "js/rickshaw.min.js"}} - {{js "js/moment.min.js"}} - {{js "js/devicetype-graph.js"}} + {{js "js/android_sense.js"}} {{/zone}} diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.analytics-view/analytics-view.js b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.analytics-view/analytics-view.js index ca13e85348..070e9f2dff 100644 --- a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.analytics-view/analytics-view.js +++ b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.analytics-view/analytics-view.js @@ -17,10 +17,16 @@ */ function onRequest(context) { + var devices = context.unit.params.devices; var deviceType = context.uriParams.deviceType; var deviceId = request.getParameter("deviceId"); - if (deviceType != null && deviceType != undefined && deviceId != null && deviceId != undefined) { + if (devices) { + return { + "devices": stringify(devices), + "backendApiUri": devicemgtProps["httpsURL"] + "/android_sense/stats/" + }; + } else if (deviceType != null && deviceType != undefined && deviceId != null && deviceId != undefined) { var deviceModule = require("/app/modules/device.js").deviceModule; var device = deviceModule.viewDevice(deviceType, deviceId); if (device && device.status != "error") { diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.analytics-view/public/css/graph.css b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.analytics-view/public/css/graph.css deleted file mode 100644 index 9f357f2fa5..0000000000 --- a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.analytics-view/public/css/graph.css +++ /dev/null @@ -1,470 +0,0 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. 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. - */ - -/* graph */ - -.rickshaw_graph { - position: relative; -} - -.rickshaw_graph svg { - display: block; - overflow: hidden; -} - -/* ticks */ - -.rickshaw_graph .x_tick { - position: absolute; - top: 0; - bottom: 0; - width: 0; - border-left: 1px dotted rgba(0, 0, 0, 0.2); - pointer-events: none; -} - -.rickshaw_graph .x_tick .title { - position: absolute; - font-size: 12px; - font-family: Arial, sans-serif; - opacity: 0.5; - white-space: nowrap; - margin-left: 3px; - bottom: -20px; - height: auto; - border-bottom: none; -} - -/* annotations */ - -.rickshaw_annotation_timeline { - height: 1px; - border-top: 1px solid #e0e0e0; - margin-top: 10px; - position: relative; -} - -.rickshaw_annotation_timeline .annotation { - position: absolute; - height: 6px; - width: 6px; - margin-left: -2px; - top: -3px; - border-radius: 5px; - background-color: rgba(0, 0, 0, 0.25); -} - -.rickshaw_graph .annotation_line { - position: absolute; - top: 0; - bottom: -6px; - width: 0; - border-left: 2px solid rgba(0, 0, 0, 0.3); - display: none; -} - -.rickshaw_graph .annotation_line.active { - display: block; -} - -.rickshaw_graph .annotation_range { - background: rgba(0, 0, 0, 0.1); - display: none; - position: absolute; - top: 0; - bottom: -6px; -} - -.rickshaw_graph .annotation_range.active { - display: block; -} - -.rickshaw_graph .annotation_range.active.offscreen { - display: none; -} - -.rickshaw_annotation_timeline .annotation .content { - background: white; - color: black; - opacity: 0.9; - box-shadow: 0 0 2px rgba(0, 0, 0, 0.8); - border-radius: 3px; - position: relative; - z-index: 20; - font-size: 12px; - padding: 6px 8px 8px; - top: 18px; - left: -11px; - width: 160px; - display: none; - cursor: pointer; -} - -.rickshaw_annotation_timeline .annotation .content:before { - content: "\25b2"; - position: absolute; - top: -11px; - color: white; - text-shadow: 0 -1px 1px rgba(0, 0, 0, 0.8); -} - -.rickshaw_annotation_timeline .annotation.active, -.rickshaw_annotation_timeline .annotation:hover { - background-color: rgba(0, 0, 0, 0.8); - cursor: none; -} - -.rickshaw_annotation_timeline .annotation .content:hover { - z-index: 50; -} - -.rickshaw_annotation_timeline .annotation.active .content { - display: block; -} - -.rickshaw_annotation_timeline .annotation:hover .content { - display: block; - z-index: 50; -} - -.rickshaw_graph .y_axis, -.rickshaw_graph .x_axis_d3 { - fill: none; -} - -.rickshaw_graph .y_ticks .tick line, -.rickshaw_graph .x_ticks_d3 .tick { - stroke: rgba(0, 0, 0, 0.16); - stroke-width: 2px; - shape-rendering: crisp-edges; - pointer-events: none; -} - -.rickshaw_graph .y_grid .tick, -.rickshaw_graph .x_grid_d3 .tick { - z-index: -1; - stroke: rgba(0, 0, 0, 0.20); - stroke-width: 1px; - stroke-dasharray: 1 1; -} - -.rickshaw_graph .y_grid .tick[data-y-value="0"] { - stroke-dasharray: 1 0; -} - -.rickshaw_graph .y_grid path, -.rickshaw_graph .x_grid_d3 path { - fill: none; - stroke: none; -} - -.rickshaw_graph .y_ticks path, -.rickshaw_graph .x_ticks_d3 path { - fill: none; - stroke: #808080; -} - -.rickshaw_graph .y_ticks text, -.rickshaw_graph .x_ticks_d3 text { - opacity: 0.5; - font-size: 12px; - pointer-events: none; -} - -.rickshaw_graph .x_tick.glow .title, -.rickshaw_graph .y_ticks.glow text { - fill: black; - color: black; - text-shadow: -1px 1px 0 rgba(255, 255, 255, 0.1), - 1px -1px 0 rgba(255, 255, 255, 0.1), - 1px 1px 0 rgba(255, 255, 255, 0.1), - 0 1px 0 rgba(255, 255, 255, 0.1), - 0 -1px 0 rgba(255, 255, 255, 0.1), - 1px 0 0 rgba(255, 255, 255, 0.1), - -1px 0 0 rgba(255, 255, 255, 0.1), - -1px -1px 0 rgba(255, 255, 255, 0.1); -} - -.rickshaw_graph .x_tick.inverse .title, -.rickshaw_graph .y_ticks.inverse text { - fill: white; - color: white; - text-shadow: -1px 1px 0 rgba(0, 0, 0, 0.8), - 1px -1px 0 rgba(0, 0, 0, 0.8), - 1px 1px 0 rgba(0, 0, 0, 0.8), - 0 1px 0 rgba(0, 0, 0, 0.8), - 0 -1px 0 rgba(0, 0, 0, 0.8), - 1px 0 0 rgba(0, 0, 0, 0.8), - -1px 0 0 rgba(0, 0, 0, 0.8), - -1px -1px 0 rgba(0, 0, 0, 0.8); -} - -.custom_rickshaw_graph { - position: relative; - left: 40px; -} - -.custom_y_axis { - position: absolute; - width: 40px; -} - -.custom_slider { - left: 40px; -} - -.custom_x_axis { - position: relative; - left: 40px; - height: 30px; - width: 97%; - top: 20px; - text-align: right; -} - -.chartWrapper { - padding-top: 50px; -} - -/*detail*/ - -.rickshaw_graph .detail { - pointer-events: none; - position: absolute; - top: 0; - z-index: 2; - background: rgba(0, 0, 0, 0.1); - bottom: 0; - width: 1px; - transition: opacity 0.25s linear; - -moz-transition: opacity 0.25s linear; - -o-transition: opacity 0.25s linear; - -webkit-transition: opacity 0.25s linear; -} - -.rickshaw_graph .detail.inactive { - opacity: 0; -} - -.rickshaw_graph .detail .item.active { - opacity: 1; -} - -.rickshaw_graph .detail .x_label { - font-family: Arial, sans-serif; - border-radius: 3px; - padding: 6px; - opacity: 0.5; - border: 1px solid #e0e0e0; - font-size: 12px; - position: absolute; - background: white; - white-space: nowrap; -} - -.rickshaw_graph .detail .x_label.left { - left: 0; -} - -.rickshaw_graph .detail .x_label.right { - right: 0; -} - -.rickshaw_graph .detail .item { - position: absolute; - z-index: 2; - border-radius: 3px; - padding: 0.25em; - font-size: 12px; - font-family: Arial, sans-serif; - opacity: 0; - background: rgba(0, 0, 0, 0.4); - color: white; - border: 1px solid rgba(0, 0, 0, 0.4); - margin-left: 1em; - margin-right: 1em; - margin-top: -1em; - white-space: nowrap; -} - -.rickshaw_graph .detail .item.left { - left: 0; -} - -.rickshaw_graph .detail .item.right { - right: 0; -} - -.rickshaw_graph .detail .item.active { - opacity: 1; - background: rgba(0, 0, 0, 0.8); -} - -.rickshaw_graph .detail .item:after { - position: absolute; - display: block; - width: 0; - height: 0; - - content: ""; - - border: 5px solid transparent; -} - -.rickshaw_graph .detail .item.left:after { - top: 1em; - left: -5px; - margin-top: -5px; - border-right-color: rgba(0, 0, 0, 0.8); - border-left-width: 0; -} - -.rickshaw_graph .detail .item.right:after { - top: 1em; - right: -5px; - margin-top: -5px; - border-left-color: rgba(0, 0, 0, 0.8); - border-right-width: 0; -} - -.rickshaw_graph .detail .dot { - width: 4px; - height: 4px; - margin-left: -3px; - margin-top: -3.5px; - border-radius: 5px; - position: absolute; - box-shadow: 0 0 2px rgba(0, 0, 0, 0.6); - box-sizing: content-box; - -moz-box-sizing: content-box; - background: white; - border-width: 2px; - border-style: solid; - display: none; - background-clip: padding-box; -} - -.rickshaw_graph .detail .dot.active { - display: block; -} - -/*legend*/ -.rickshaw_legend { - font-family: Arial; - font-size: 12px; - color: white; - background: #404040; - display: inline-block; - padding: 12px 5px; - border-radius: 2px; - position: relative; - float: right; -} - -.rickshaw_legend:hover { - z-index: 10; -} - -.rickshaw_legend .swatch { - width: 10px; - height: 10px; - border: 1px solid rgba(0, 0, 0, 0.2); -} - -.rickshaw_legend .line { - clear: both; - line-height: 140%; - padding-right: 15px; -} - -.rickshaw_legend .line .swatch { - display: inline-block; - margin-right: 3px; - border-radius: 2px; -} - -.rickshaw_legend .label { - margin: 0; - white-space: nowrap; - display: inline; - font-size: inherit; - background-color: transparent; - color: inherit; - font-weight: normal; - line-height: normal; - padding: 0; - text-shadow: none; -} - -.rickshaw_legend .action:hover { - opacity: 0.6; -} - -.rickshaw_legend .action { - margin-right: 0.2em; - opacity: 0.2; - cursor: pointer; - font-size: 14px; -} - -.rickshaw_legend .line.disabled { - opacity: 0.4; -} - -.rickshaw_legend ul { - list-style-type: none; - padding: 0; - margin: 2px; - cursor: pointer; -} - -.rickshaw_legend li { - padding: 0 0 0 2px; - min-width: 80px; - white-space: nowrap; -} - -.rickshaw_legend li:hover { - background: rgba(255, 255, 255, 0.08); - border-radius: 3px; -} - -.rickshaw_legend li:active { - background: rgba(255, 255, 255, 0.2); - border-radius: 3px; -} - -.legend { - display: inline-block; - position: relative; - left: 8px; -} - -.legend_container { - float: right; - padding-right: 10px; - width: 0; - z-index: 1; - position: relative; - opacity: 0.7; -} - -.spaced { - margin-top: 20px !important; -} - diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.analytics-view/public/js/android_sense.js b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.analytics-view/public/js/android_sense.js new file mode 100644 index 0000000000..6987e058f1 --- /dev/null +++ b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.analytics-view/public/js/android_sense.js @@ -0,0 +1,360 @@ +/* + * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * + * WSO2 Inc. 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. + */ + +var palette = new Rickshaw.Color.Palette({scheme: "classic9"}); +var graphMap = {}; + +function drawGraph_android_sense(from, to) { + var devices = $("#android_sense-details").data("devices"); + var tzOffset = new Date().getTimezoneOffset() * 60; + + var streamIndex = 0; + var streams = ["battery", "light", "pressure", "proximity", "accelerometer", "magnetic", "rotation", "gyroscope", "gravity"]; + + populateGraph(); + + function populateGraph() { + if (streamIndex < 4) { + retrieveDataAndDrawLineGraph(streams[streamIndex], from, to); + } else if (streamIndex < 9) { + retrieveDataAndDrawMultiLineGraph(streams[streamIndex], from, to); + } + streamIndex++; + } + + function clearContent(type) { + $("#y_axis-" + type).html(""); + $("#smoother-" + type).html(""); + $("#legend-" + type).html(""); + $("#chart-" + type).html(""); + $("#x_axis-" + type).html(""); + $("#slider-" + type).html(""); + } + + function initGraph(type, isMultilined) { + if (graphMap[type]) { + return graphMap[type]; + } + + var chartWrapperElmId = "#android_sense-div-chart"; + var graphWidth = $(chartWrapperElmId).width() - 50; + + var graphConfig = { + element: document.getElementById("chart-" + type), + width: graphWidth, + height: 400, + strokeWidth: 2, + renderer: 'line', + interpolation: "linear", + unstack: true, + stack: false, + xScale: d3.time.scale(), + padding: {top: 0.2, left: 0.02, right: 0.02, bottom: 0.2}, + series: [] + }; + + if (devices) { + for (var i = 0; i < devices.length; i++) { + graphConfig['series'].push( + { + 'color': palette.color(), + 'data': [{ + x: parseInt(new Date().getTime() / 1000), + y: 0 + }], + 'name': devices[i].name + }); + } + } else { + if (isMultilined) { + graphConfig['series'].push( + { + 'color': palette.color(), + 'data': [{ + x: parseInt(new Date().getTime() / 1000), + y: 0 + }], + 'name': "x" + }, + { + 'color': palette.color(), + 'data': [{ + x: parseInt(new Date().getTime() / 1000), + y: 0 + }], + 'name': "y" + }, + { + 'color': palette.color(), + 'data': [{ + x: parseInt(new Date().getTime() / 1000), + y: 0 + }], + 'name': "z" + } + ); + } else { + graphConfig['series'].push( + { + 'color': palette.color(), + 'data': [{ + x: parseInt(new Date().getTime() / 1000), + y: 0 + }], + 'name': $("#android_sense-details").data("devicename") + }); + } + } + + var graph = new Rickshaw.Graph(graphConfig); + graph.render(); + + var xAxis = new Rickshaw.Graph.Axis.Time({ + graph: graph + }); + xAxis.render(); + + var yAxis = new Rickshaw.Graph.Axis.Y({ + graph: graph, + orientation: 'left', + element: document.getElementById("y_axis-" + type), + width: 40, + height: 410 + }); + yAxis.render(); + + var slider = new Rickshaw.Graph.RangeSlider.Preview({ + graph: graph, + element: document.getElementById("slider-" + type) + }); + + var legend = new Rickshaw.Graph.Legend({ + graph: graph, + element: document.getElementById("legend-" + type) + }); + + var hoverDetail = new Rickshaw.Graph.HoverDetail({ + graph: graph, + formatter: function (series, x, y) { + var date = '' + + moment((x + tzOffset) * 1000).format('Do MMM YYYY h:mm:ss a') + ''; + var swatch = ''; + return swatch + series.name + ": " + parseInt(y) + '
' + date; + } + }); + + var shelving = new Rickshaw.Graph.Behavior.Series.Toggle({ + graph: graph, + legend: legend + }); + + var order = new Rickshaw.Graph.Behavior.Series.Order({ + graph: graph, + legend: legend + }); + + var highlighter = new Rickshaw.Graph.Behavior.Series.Highlight({ + graph: graph, + legend: legend + }); + + graphMap[type] = {}; + graphMap[type].graph = graph; + graphMap[type].config = graphConfig; + return graphMap[type]; + } + + function retrieveDataAndDrawLineGraph(type, from, to) { + clearContent(type); + + var graphObj = initGraph(type, false); + var graph = graphObj.graph; + var graphConfig = graphObj.config; + + var deviceIndex = 0; + + if (devices) { + getData(); + } else { + var backendApiUrl = $("#android_sense-div-chart").data("backend-api-url") + type + "?from=" + from + "&to=" + to; + var successCallback = function (data) { + if (data) { + drawLineGraph(JSON.parse(data)); + } + populateGraph(); + }; + invokerUtil.get(backendApiUrl, successCallback, function (message) { + console.log(message); + populateGraph(); + }); + } + + function getData() { + if (deviceIndex >= devices.length) { + return; + } + var backendApiUrl = $("#android_sense-div-chart").data("backend-api-url") + devices[deviceIndex].deviceIdentifier + + "/sensors/" + type + "?from=" + from + "&to=" + to; + var successCallback = function (data) { + if (data) { + drawLineGraph(JSON.parse(data)); + } + deviceIndex++; + getData(); + }; + invokerUtil.get(backendApiUrl, successCallback, function (message) { + console.log(message); + deviceIndex++; + getData(); + }); + } + + function drawLineGraph(data) { + if (data.length === 0 || data.length === undefined) { + return; + } + + var chartData = []; + for (var i = 0; i < data.length; i++) { + chartData.push( + { + x: parseInt(data[i].values.time) - tzOffset, + y: parseInt(getFieldData(data[i], type)) + } + ); + } + + graphConfig.series[deviceIndex].data = chartData; + graph.update(); + } + } + + function retrieveDataAndDrawMultiLineGraph(type, from, to) { + clearContent(type); + + var graphObj = initGraph(type, true); + var graph = graphObj.graph; + var graphConfig = graphObj.config; + + var deviceIndex = 0; + + if (devices) { + getData(); + } else { + var backendApiUrl = $("#android_sense-div-chart").data("backend-api-url") + type + "?from=" + from + "&to=" + to; + var successCallback = function (data) { + if (data) { + drawLineGraph(JSON.parse(data)); + } + populateGraph(); + }; + invokerUtil.get(backendApiUrl, successCallback, function (message) { + console.log(message); + populateGraph(); + }); + } + + function getData() { + if (deviceIndex >= devices.length) { + populateGraph(); + return; + } + var backendApiUrl = $("#android_sense-div-chart").data("backend-api-url") + devices[deviceIndex].deviceIdentifier + + "/sensors/" + type + "?from=" + from + "&to=" + to; + var successCallback = function (data) { + if (data) { + drawLineGraph(JSON.parse(data)); + } + deviceIndex++; + getData(); + }; + invokerUtil.get(backendApiUrl, successCallback, function (message) { + console.log(message); + deviceIndex++; + getData(); + }); + } + + function drawLineGraph(data) { + if (data.length === 0 || data.length === undefined) { + return; + } + + if (devices) { + var chartData = []; + for (var i = 0; i < data.length; i++) { + chartData.push( + { + x: parseInt(data[i].values.time) - tzOffset, + y: sqrt(pow(parseInt(data[i].values.y), 2) + pow(parseInt(data[i].values.x), 2) + pow(parseInt(data[i].values.z), 2)) + }); + } + graphConfig.series[deviceIndex].data = chartData; + } else { + var chartDataX = [], chartDataY = [], chartDataZ = []; + for (var i = 0; i < data.length; i++) { + chartDataX.push( + { + x: parseInt(data[i].values.time) - tzOffset, + y: parseInt(data[i].values.y) + }); + + chartDataY.push( + { + x: parseInt(data[i].values.time) - tzOffset, + y: parseInt(data[i].values.x) + }); + + chartDataZ.push( + { + x: parseInt(data[i].values.time) - tzOffset, + y: parseInt(data[i].values.z) + }); + } + graphConfig.series[0].data = chartDataX; + graphConfig.series[1].data = chartDataY; + graphConfig.series[2].data = chartDataZ; + } + + graph.update(); + } + + } + + function getFieldData(data, type) { + var columnData; + switch (type) { + case "battery" : + columnData = data.values.level; + break; + case "light" : + columnData = data.values.light; + break; + case "proximity" : + columnData = data.values.proximity; + break; + case "pressure" : + columnData = data.values.pressure; + break; + } + + return columnData; + } + +} \ No newline at end of file diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.analytics-view/public/js/d3.min.js b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.analytics-view/public/js/d3.min.js deleted file mode 100644 index 71f9715eec..0000000000 --- a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.analytics-view/public/js/d3.min.js +++ /dev/null @@ -1,9488 +0,0 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. 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() { - var d3 = { - version: "3.5.2" - }; - if (!Date.now) Date.now = function() { - return +new Date(); - }; - var d3_arraySlice = [].slice, d3_array = function(list) { - return d3_arraySlice.call(list); - }; - var d3_document = document, d3_documentElement = d3_document.documentElement, d3_window = window; - try { - d3_array(d3_documentElement.childNodes)[0].nodeType; - } catch (e) { - d3_array = function(list) { - var i = list.length, array = new Array(i); - while (i--) array[i] = list[i]; - return array; - }; - } - try { - d3_document.createElement("div").style.setProperty("opacity", 0, ""); - } catch (error) { - var d3_element_prototype = d3_window.Element.prototype, d3_element_setAttribute = d3_element_prototype.setAttribute, d3_element_setAttributeNS = d3_element_prototype.setAttributeNS, d3_style_prototype = d3_window.CSSStyleDeclaration.prototype, d3_style_setProperty = d3_style_prototype.setProperty; - d3_element_prototype.setAttribute = function(name, value) { - d3_element_setAttribute.call(this, name, value + ""); - }; - d3_element_prototype.setAttributeNS = function(space, local, value) { - d3_element_setAttributeNS.call(this, space, local, value + ""); - }; - d3_style_prototype.setProperty = function(name, value, priority) { - d3_style_setProperty.call(this, name, value + "", priority); - }; - } - d3.ascending = d3_ascending; - function d3_ascending(a, b) { - return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN; - } - d3.descending = function(a, b) { - return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN; - }; - d3.min = function(array, f) { - var i = -1, n = array.length, a, b; - if (arguments.length === 1) { - while (++i < n) if ((b = array[i]) != null && b >= b) { - a = b; - break; - } - while (++i < n) if ((b = array[i]) != null && a > b) a = b; - } else { - while (++i < n) if ((b = f.call(array, array[i], i)) != null && b >= b) { - a = b; - break; - } - while (++i < n) if ((b = f.call(array, array[i], i)) != null && a > b) a = b; - } - return a; - }; - d3.max = function(array, f) { - var i = -1, n = array.length, a, b; - if (arguments.length === 1) { - while (++i < n) if ((b = array[i]) != null && b >= b) { - a = b; - break; - } - while (++i < n) if ((b = array[i]) != null && b > a) a = b; - } else { - while (++i < n) if ((b = f.call(array, array[i], i)) != null && b >= b) { - a = b; - break; - } - while (++i < n) if ((b = f.call(array, array[i], i)) != null && b > a) a = b; - } - return a; - }; - d3.extent = function(array, f) { - var i = -1, n = array.length, a, b, c; - if (arguments.length === 1) { - while (++i < n) if ((b = array[i]) != null && b >= b) { - a = c = b; - break; - } - while (++i < n) if ((b = array[i]) != null) { - if (a > b) a = b; - if (c < b) c = b; - } - } else { - while (++i < n) if ((b = f.call(array, array[i], i)) != null && b >= b) { - a = c = b; - break; - } - while (++i < n) if ((b = f.call(array, array[i], i)) != null) { - if (a > b) a = b; - if (c < b) c = b; - } - } - return [ a, c ]; - }; - function d3_number(x) { - return x === null ? NaN : +x; - } - function d3_numeric(x) { - return !isNaN(x); - } - d3.sum = function(array, f) { - var s = 0, n = array.length, a, i = -1; - if (arguments.length === 1) { - while (++i < n) if (d3_numeric(a = +array[i])) s += a; - } else { - while (++i < n) if (d3_numeric(a = +f.call(array, array[i], i))) s += a; - } - return s; - }; - d3.mean = function(array, f) { - var s = 0, n = array.length, a, i = -1, j = n; - if (arguments.length === 1) { - while (++i < n) if (d3_numeric(a = d3_number(array[i]))) s += a; else --j; - } else { - while (++i < n) if (d3_numeric(a = d3_number(f.call(array, array[i], i)))) s += a; else --j; - } - if (j) return s / j; - }; - d3.quantile = function(values, p) { - var H = (values.length - 1) * p + 1, h = Math.floor(H), v = +values[h - 1], e = H - h; - return e ? v + e * (values[h] - v) : v; - }; - d3.median = function(array, f) { - var numbers = [], n = array.length, a, i = -1; - if (arguments.length === 1) { - while (++i < n) if (d3_numeric(a = d3_number(array[i]))) numbers.push(a); - } else { - while (++i < n) if (d3_numeric(a = d3_number(f.call(array, array[i], i)))) numbers.push(a); - } - if (numbers.length) return d3.quantile(numbers.sort(d3_ascending), .5); - }; - d3.variance = function(array, f) { - var n = array.length, m = 0, a, d, s = 0, i = -1, j = 0; - if (arguments.length === 1) { - while (++i < n) { - if (d3_numeric(a = d3_number(array[i]))) { - d = a - m; - m += d / ++j; - s += d * (a - m); - } - } - } else { - while (++i < n) { - if (d3_numeric(a = d3_number(f.call(array, array[i], i)))) { - d = a - m; - m += d / ++j; - s += d * (a - m); - } - } - } - if (j > 1) return s / (j - 1); - }; - d3.deviation = function() { - var v = d3.variance.apply(this, arguments); - return v ? Math.sqrt(v) : v; - }; - function d3_bisector(compare) { - return { - left: function(a, x, lo, hi) { - if (arguments.length < 3) lo = 0; - if (arguments.length < 4) hi = a.length; - while (lo < hi) { - var mid = lo + hi >>> 1; - if (compare(a[mid], x) < 0) lo = mid + 1; else hi = mid; - } - return lo; - }, - right: function(a, x, lo, hi) { - if (arguments.length < 3) lo = 0; - if (arguments.length < 4) hi = a.length; - while (lo < hi) { - var mid = lo + hi >>> 1; - if (compare(a[mid], x) > 0) hi = mid; else lo = mid + 1; - } - return lo; - } - }; - } - var d3_bisect = d3_bisector(d3_ascending); - d3.bisectLeft = d3_bisect.left; - d3.bisect = d3.bisectRight = d3_bisect.right; - d3.bisector = function(f) { - return d3_bisector(f.length === 1 ? function(d, x) { - return d3_ascending(f(d), x); - } : f); - }; - d3.shuffle = function(array, i0, i1) { - if ((m = arguments.length) < 3) { - i1 = array.length; - if (m < 2) i0 = 0; - } - var m = i1 - i0, t, i; - while (m) { - i = Math.random() * m-- | 0; - t = array[m + i0], array[m + i0] = array[i + i0], array[i + i0] = t; - } - return array; - }; - d3.permute = function(array, indexes) { - var i = indexes.length, permutes = new Array(i); - while (i--) permutes[i] = array[indexes[i]]; - return permutes; - }; - d3.pairs = function(array) { - var i = 0, n = array.length - 1, p0, p1 = array[0], pairs = new Array(n < 0 ? 0 : n); - while (i < n) pairs[i] = [ p0 = p1, p1 = array[++i] ]; - return pairs; - }; - d3.zip = function() { - if (!(n = arguments.length)) return []; - for (var i = -1, m = d3.min(arguments, d3_zipLength), zips = new Array(m); ++i < m; ) { - for (var j = -1, n, zip = zips[i] = new Array(n); ++j < n; ) { - zip[j] = arguments[j][i]; - } - } - return zips; - }; - function d3_zipLength(d) { - return d.length; - } - d3.transpose = function(matrix) { - return d3.zip.apply(d3, matrix); - }; - d3.keys = function(map) { - var keys = []; - for (var key in map) keys.push(key); - return keys; - }; - d3.values = function(map) { - var values = []; - for (var key in map) values.push(map[key]); - return values; - }; - d3.entries = function(map) { - var entries = []; - for (var key in map) entries.push({ - key: key, - value: map[key] - }); - return entries; - }; - d3.merge = function(arrays) { - var n = arrays.length, m, i = -1, j = 0, merged, array; - while (++i < n) j += arrays[i].length; - merged = new Array(j); - while (--n >= 0) { - array = arrays[n]; - m = array.length; - while (--m >= 0) { - merged[--j] = array[m]; - } - } - return merged; - }; - var abs = Math.abs; - d3.range = function(start, stop, step) { - if (arguments.length < 3) { - step = 1; - if (arguments.length < 2) { - stop = start; - start = 0; - } - } - if ((stop - start) / step === Infinity) throw new Error("infinite range"); - var range = [], k = d3_range_integerScale(abs(step)), i = -1, j; - start *= k, stop *= k, step *= k; - if (step < 0) while ((j = start + step * ++i) > stop) range.push(j / k); else while ((j = start + step * ++i) < stop) range.push(j / k); - return range; - }; - function d3_range_integerScale(x) { - var k = 1; - while (x * k % 1) k *= 10; - return k; - } - function d3_class(ctor, properties) { - for (var key in properties) { - Object.defineProperty(ctor.prototype, key, { - value: properties[key], - enumerable: false - }); - } - } - d3.map = function(object, f) { - var map = new d3_Map(); - if (object instanceof d3_Map) { - object.forEach(function(key, value) { - map.set(key, value); - }); - } else if (Array.isArray(object)) { - var i = -1, n = object.length, o; - if (arguments.length === 1) while (++i < n) map.set(i, object[i]); else while (++i < n) map.set(f.call(object, o = object[i], i), o); - } else { - for (var key in object) map.set(key, object[key]); - } - return map; - }; - function d3_Map() { - this._ = Object.create(null); - } - var d3_map_proto = "__proto__", d3_map_zero = "\x00"; - d3_class(d3_Map, { - has: d3_map_has, - get: function(key) { - return this._[d3_map_escape(key)]; - }, - set: function(key, value) { - return this._[d3_map_escape(key)] = value; - }, - remove: d3_map_remove, - keys: d3_map_keys, - values: function() { - var values = []; - for (var key in this._) values.push(this._[key]); - return values; - }, - entries: function() { - var entries = []; - for (var key in this._) entries.push({ - key: d3_map_unescape(key), - value: this._[key] - }); - return entries; - }, - size: d3_map_size, - empty: d3_map_empty, - forEach: function(f) { - for (var key in this._) f.call(this, d3_map_unescape(key), this._[key]); - } - }); - function d3_map_escape(key) { - return (key += "") === d3_map_proto || key[0] === d3_map_zero ? d3_map_zero + key : key; - } - function d3_map_unescape(key) { - return (key += "")[0] === d3_map_zero ? key.slice(1) : key; - } - function d3_map_has(key) { - return d3_map_escape(key) in this._; - } - function d3_map_remove(key) { - return (key = d3_map_escape(key)) in this._ && delete this._[key]; - } - function d3_map_keys() { - var keys = []; - for (var key in this._) keys.push(d3_map_unescape(key)); - return keys; - } - function d3_map_size() { - var size = 0; - for (var key in this._) ++size; - return size; - } - function d3_map_empty() { - for (var key in this._) return false; - return true; - } - d3.nest = function() { - var nest = {}, keys = [], sortKeys = [], sortValues, rollup; - function map(mapType, array, depth) { - if (depth >= keys.length) return rollup ? rollup.call(nest, array) : sortValues ? array.sort(sortValues) : array; - var i = -1, n = array.length, key = keys[depth++], keyValue, object, setter, valuesByKey = new d3_Map(), values; - while (++i < n) { - if (values = valuesByKey.get(keyValue = key(object = array[i]))) { - values.push(object); - } else { - valuesByKey.set(keyValue, [ object ]); - } - } - if (mapType) { - object = mapType(); - setter = function(keyValue, values) { - object.set(keyValue, map(mapType, values, depth)); - }; - } else { - object = {}; - setter = function(keyValue, values) { - object[keyValue] = map(mapType, values, depth); - }; - } - valuesByKey.forEach(setter); - return object; - } - function entries(map, depth) { - if (depth >= keys.length) return map; - var array = [], sortKey = sortKeys[depth++]; - map.forEach(function(key, keyMap) { - array.push({ - key: key, - values: entries(keyMap, depth) - }); - }); - return sortKey ? array.sort(function(a, b) { - return sortKey(a.key, b.key); - }) : array; - } - nest.map = function(array, mapType) { - return map(mapType, array, 0); - }; - nest.entries = function(array) { - return entries(map(d3.map, array, 0), 0); - }; - nest.key = function(d) { - keys.push(d); - return nest; - }; - nest.sortKeys = function(order) { - sortKeys[keys.length - 1] = order; - return nest; - }; - nest.sortValues = function(order) { - sortValues = order; - return nest; - }; - nest.rollup = function(f) { - rollup = f; - return nest; - }; - return nest; - }; - d3.set = function(array) { - var set = new d3_Set(); - if (array) for (var i = 0, n = array.length; i < n; ++i) set.add(array[i]); - return set; - }; - function d3_Set() { - this._ = Object.create(null); - } - d3_class(d3_Set, { - has: d3_map_has, - add: function(key) { - this._[d3_map_escape(key += "")] = true; - return key; - }, - remove: d3_map_remove, - values: d3_map_keys, - size: d3_map_size, - empty: d3_map_empty, - forEach: function(f) { - for (var key in this._) f.call(this, d3_map_unescape(key)); - } - }); - d3.behavior = {}; - d3.rebind = function(target, source) { - var i = 1, n = arguments.length, method; - while (++i < n) target[method = arguments[i]] = d3_rebind(target, source, source[method]); - return target; - }; - function d3_rebind(target, source, method) { - return function() { - var value = method.apply(source, arguments); - return value === source ? target : value; - }; - } - function d3_vendorSymbol(object, name) { - if (name in object) return name; - name = name.charAt(0).toUpperCase() + name.slice(1); - for (var i = 0, n = d3_vendorPrefixes.length; i < n; ++i) { - var prefixName = d3_vendorPrefixes[i] + name; - if (prefixName in object) return prefixName; - } - } - var d3_vendorPrefixes = [ "webkit", "ms", "moz", "Moz", "o", "O" ]; - function d3_noop() {} - d3.dispatch = function() { - var dispatch = new d3_dispatch(), i = -1, n = arguments.length; - while (++i < n) dispatch[arguments[i]] = d3_dispatch_event(dispatch); - return dispatch; - }; - function d3_dispatch() {} - d3_dispatch.prototype.on = function(type, listener) { - var i = type.indexOf("."), name = ""; - if (i >= 0) { - name = type.slice(i + 1); - type = type.slice(0, i); - } - if (type) return arguments.length < 2 ? this[type].on(name) : this[type].on(name, listener); - if (arguments.length === 2) { - if (listener == null) for (type in this) { - if (this.hasOwnProperty(type)) this[type].on(name, null); - } - return this; - } - }; - function d3_dispatch_event(dispatch) { - var listeners = [], listenerByName = new d3_Map(); - function event() { - var z = listeners, i = -1, n = z.length, l; - while (++i < n) if (l = z[i].on) l.apply(this, arguments); - return dispatch; - } - event.on = function(name, listener) { - var l = listenerByName.get(name), i; - if (arguments.length < 2) return l && l.on; - if (l) { - l.on = null; - listeners = listeners.slice(0, i = listeners.indexOf(l)).concat(listeners.slice(i + 1)); - listenerByName.remove(name); - } - if (listener) listeners.push(listenerByName.set(name, { - on: listener - })); - return dispatch; - }; - return event; - } - d3.event = null; - function d3_eventPreventDefault() { - d3.event.preventDefault(); - } - function d3_eventSource() { - var e = d3.event, s; - while (s = e.sourceEvent) e = s; - return e; - } - function d3_eventDispatch(target) { - var dispatch = new d3_dispatch(), i = 0, n = arguments.length; - while (++i < n) dispatch[arguments[i]] = d3_dispatch_event(dispatch); - dispatch.of = function(thiz, argumentz) { - return function(e1) { - try { - var e0 = e1.sourceEvent = d3.event; - e1.target = target; - d3.event = e1; - dispatch[e1.type].apply(thiz, argumentz); - } finally { - d3.event = e0; - } - }; - }; - return dispatch; - } - d3.requote = function(s) { - return s.replace(d3_requote_re, "\\$&"); - }; - var d3_requote_re = /[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g; - var d3_subclass = {}.__proto__ ? function(object, prototype) { - object.__proto__ = prototype; - } : function(object, prototype) { - for (var property in prototype) object[property] = prototype[property]; - }; - function d3_selection(groups) { - d3_subclass(groups, d3_selectionPrototype); - return groups; - } - var d3_select = function(s, n) { - return n.querySelector(s); - }, d3_selectAll = function(s, n) { - return n.querySelectorAll(s); - }, d3_selectMatcher = d3_documentElement.matches || d3_documentElement[d3_vendorSymbol(d3_documentElement, "matchesSelector")], d3_selectMatches = function(n, s) { - return d3_selectMatcher.call(n, s); - }; - if (typeof Sizzle === "function") { - d3_select = function(s, n) { - return Sizzle(s, n)[0] || null; - }; - d3_selectAll = Sizzle; - d3_selectMatches = Sizzle.matchesSelector; - } - d3.selection = function() { - return d3_selectionRoot; - }; - var d3_selectionPrototype = d3.selection.prototype = []; - d3_selectionPrototype.select = function(selector) { - var subgroups = [], subgroup, subnode, group, node; - selector = d3_selection_selector(selector); - for (var j = -1, m = this.length; ++j < m; ) { - subgroups.push(subgroup = []); - subgroup.parentNode = (group = this[j]).parentNode; - for (var i = -1, n = group.length; ++i < n; ) { - if (node = group[i]) { - subgroup.push(subnode = selector.call(node, node.__data__, i, j)); - if (subnode && "__data__" in node) subnode.__data__ = node.__data__; - } else { - subgroup.push(null); - } - } - } - return d3_selection(subgroups); - }; - function d3_selection_selector(selector) { - return typeof selector === "function" ? selector : function() { - return d3_select(selector, this); - }; - } - d3_selectionPrototype.selectAll = function(selector) { - var subgroups = [], subgroup, node; - selector = d3_selection_selectorAll(selector); - for (var j = -1, m = this.length; ++j < m; ) { - for (var group = this[j], i = -1, n = group.length; ++i < n; ) { - if (node = group[i]) { - subgroups.push(subgroup = d3_array(selector.call(node, node.__data__, i, j))); - subgroup.parentNode = node; - } - } - } - return d3_selection(subgroups); - }; - function d3_selection_selectorAll(selector) { - return typeof selector === "function" ? selector : function() { - return d3_selectAll(selector, this); - }; - } - var d3_nsPrefix = { - svg: "http://www.w3.org/2000/svg", - xhtml: "http://www.w3.org/1999/xhtml", - xlink: "http://www.w3.org/1999/xlink", - xml: "http://www.w3.org/XML/1998/namespace", - xmlns: "http://www.w3.org/2000/xmlns/" - }; - d3.ns = { - prefix: d3_nsPrefix, - qualify: function(name) { - var i = name.indexOf(":"), prefix = name; - if (i >= 0) { - prefix = name.slice(0, i); - name = name.slice(i + 1); - } - return d3_nsPrefix.hasOwnProperty(prefix) ? { - space: d3_nsPrefix[prefix], - local: name - } : name; - } - }; - d3_selectionPrototype.attr = function(name, value) { - if (arguments.length < 2) { - if (typeof name === "string") { - var node = this.node(); - name = d3.ns.qualify(name); - return name.local ? node.getAttributeNS(name.space, name.local) : node.getAttribute(name); - } - for (value in name) this.each(d3_selection_attr(value, name[value])); - return this; - } - return this.each(d3_selection_attr(name, value)); - }; - function d3_selection_attr(name, value) { - name = d3.ns.qualify(name); - function attrNull() { - this.removeAttribute(name); - } - function attrNullNS() { - this.removeAttributeNS(name.space, name.local); - } - function attrConstant() { - this.setAttribute(name, value); - } - function attrConstantNS() { - this.setAttributeNS(name.space, name.local, value); - } - function attrFunction() { - var x = value.apply(this, arguments); - if (x == null) this.removeAttribute(name); else this.setAttribute(name, x); - } - function attrFunctionNS() { - var x = value.apply(this, arguments); - if (x == null) this.removeAttributeNS(name.space, name.local); else this.setAttributeNS(name.space, name.local, x); - } - return value == null ? name.local ? attrNullNS : attrNull : typeof value === "function" ? name.local ? attrFunctionNS : attrFunction : name.local ? attrConstantNS : attrConstant; - } - function d3_collapse(s) { - return s.trim().replace(/\s+/g, " "); - } - d3_selectionPrototype.classed = function(name, value) { - if (arguments.length < 2) { - if (typeof name === "string") { - var node = this.node(), n = (name = d3_selection_classes(name)).length, i = -1; - if (value = node.classList) { - while (++i < n) if (!value.contains(name[i])) return false; - } else { - value = node.getAttribute("class"); - while (++i < n) if (!d3_selection_classedRe(name[i]).test(value)) return false; - } - return true; - } - for (value in name) this.each(d3_selection_classed(value, name[value])); - return this; - } - return this.each(d3_selection_classed(name, value)); - }; - function d3_selection_classedRe(name) { - return new RegExp("(?:^|\\s+)" + d3.requote(name) + "(?:\\s+|$)", "g"); - } - function d3_selection_classes(name) { - return (name + "").trim().split(/^|\s+/); - } - function d3_selection_classed(name, value) { - name = d3_selection_classes(name).map(d3_selection_classedName); - var n = name.length; - function classedConstant() { - var i = -1; - while (++i < n) name[i](this, value); - } - function classedFunction() { - var i = -1, x = value.apply(this, arguments); - while (++i < n) name[i](this, x); - } - return typeof value === "function" ? classedFunction : classedConstant; - } - function d3_selection_classedName(name) { - var re = d3_selection_classedRe(name); - return function(node, value) { - if (c = node.classList) return value ? c.add(name) : c.remove(name); - var c = node.getAttribute("class") || ""; - if (value) { - re.lastIndex = 0; - if (!re.test(c)) node.setAttribute("class", d3_collapse(c + " " + name)); - } else { - node.setAttribute("class", d3_collapse(c.replace(re, " "))); - } - }; - } - d3_selectionPrototype.style = function(name, value, priority) { - var n = arguments.length; - if (n < 3) { - if (typeof name !== "string") { - if (n < 2) value = ""; - for (priority in name) this.each(d3_selection_style(priority, name[priority], value)); - return this; - } - if (n < 2) return d3_window.getComputedStyle(this.node(), null).getPropertyValue(name); - priority = ""; - } - return this.each(d3_selection_style(name, value, priority)); - }; - function d3_selection_style(name, value, priority) { - function styleNull() { - this.style.removeProperty(name); - } - function styleConstant() { - this.style.setProperty(name, value, priority); - } - function styleFunction() { - var x = value.apply(this, arguments); - if (x == null) this.style.removeProperty(name); else this.style.setProperty(name, x, priority); - } - return value == null ? styleNull : typeof value === "function" ? styleFunction : styleConstant; - } - d3_selectionPrototype.property = function(name, value) { - if (arguments.length < 2) { - if (typeof name === "string") return this.node()[name]; - for (value in name) this.each(d3_selection_property(value, name[value])); - return this; - } - return this.each(d3_selection_property(name, value)); - }; - function d3_selection_property(name, value) { - function propertyNull() { - delete this[name]; - } - function propertyConstant() { - this[name] = value; - } - function propertyFunction() { - var x = value.apply(this, arguments); - if (x == null) delete this[name]; else this[name] = x; - } - return value == null ? propertyNull : typeof value === "function" ? propertyFunction : propertyConstant; - } - d3_selectionPrototype.text = function(value) { - return arguments.length ? this.each(typeof value === "function" ? function() { - var v = value.apply(this, arguments); - this.textContent = v == null ? "" : v; - } : value == null ? function() { - this.textContent = ""; - } : function() { - this.textContent = value; - }) : this.node().textContent; - }; - d3_selectionPrototype.html = function(value) { - return arguments.length ? this.each(typeof value === "function" ? function() { - var v = value.apply(this, arguments); - this.innerHTML = v == null ? "" : v; - } : value == null ? function() { - this.innerHTML = ""; - } : function() { - this.innerHTML = value; - }) : this.node().innerHTML; - }; - d3_selectionPrototype.append = function(name) { - name = d3_selection_creator(name); - return this.select(function() { - return this.appendChild(name.apply(this, arguments)); - }); - }; - function d3_selection_creator(name) { - return typeof name === "function" ? name : (name = d3.ns.qualify(name)).local ? function() { - return this.ownerDocument.createElementNS(name.space, name.local); - } : function() { - return this.ownerDocument.createElementNS(this.namespaceURI, name); - }; - } - d3_selectionPrototype.insert = function(name, before) { - name = d3_selection_creator(name); - before = d3_selection_selector(before); - return this.select(function() { - return this.insertBefore(name.apply(this, arguments), before.apply(this, arguments) || null); - }); - }; - d3_selectionPrototype.remove = function() { - return this.each(d3_selectionRemove); - }; - function d3_selectionRemove() { - var parent = this.parentNode; - if (parent) parent.removeChild(this); - } - d3_selectionPrototype.data = function(value, key) { - var i = -1, n = this.length, group, node; - if (!arguments.length) { - value = new Array(n = (group = this[0]).length); - while (++i < n) { - if (node = group[i]) { - value[i] = node.__data__; - } - } - return value; - } - function bind(group, groupData) { - var i, n = group.length, m = groupData.length, n0 = Math.min(n, m), updateNodes = new Array(m), enterNodes = new Array(m), exitNodes = new Array(n), node, nodeData; - if (key) { - var nodeByKeyValue = new d3_Map(), keyValues = new Array(n), keyValue; - for (i = -1; ++i < n; ) { - if (nodeByKeyValue.has(keyValue = key.call(node = group[i], node.__data__, i))) { - exitNodes[i] = node; - } else { - nodeByKeyValue.set(keyValue, node); - } - keyValues[i] = keyValue; - } - for (i = -1; ++i < m; ) { - if (!(node = nodeByKeyValue.get(keyValue = key.call(groupData, nodeData = groupData[i], i)))) { - enterNodes[i] = d3_selection_dataNode(nodeData); - } else if (node !== true) { - updateNodes[i] = node; - node.__data__ = nodeData; - } - nodeByKeyValue.set(keyValue, true); - } - for (i = -1; ++i < n; ) { - if (nodeByKeyValue.get(keyValues[i]) !== true) { - exitNodes[i] = group[i]; - } - } - } else { - for (i = -1; ++i < n0; ) { - node = group[i]; - nodeData = groupData[i]; - if (node) { - node.__data__ = nodeData; - updateNodes[i] = node; - } else { - enterNodes[i] = d3_selection_dataNode(nodeData); - } - } - for (;i < m; ++i) { - enterNodes[i] = d3_selection_dataNode(groupData[i]); - } - for (;i < n; ++i) { - exitNodes[i] = group[i]; - } - } - enterNodes.update = updateNodes; - enterNodes.parentNode = updateNodes.parentNode = exitNodes.parentNode = group.parentNode; - enter.push(enterNodes); - update.push(updateNodes); - exit.push(exitNodes); - } - var enter = d3_selection_enter([]), update = d3_selection([]), exit = d3_selection([]); - if (typeof value === "function") { - while (++i < n) { - bind(group = this[i], value.call(group, group.parentNode.__data__, i)); - } - } else { - while (++i < n) { - bind(group = this[i], value); - } - } - update.enter = function() { - return enter; - }; - update.exit = function() { - return exit; - }; - return update; - }; - function d3_selection_dataNode(data) { - return { - __data__: data - }; - } - d3_selectionPrototype.datum = function(value) { - return arguments.length ? this.property("__data__", value) : this.property("__data__"); - }; - d3_selectionPrototype.filter = function(filter) { - var subgroups = [], subgroup, group, node; - if (typeof filter !== "function") filter = d3_selection_filter(filter); - for (var j = 0, m = this.length; j < m; j++) { - subgroups.push(subgroup = []); - subgroup.parentNode = (group = this[j]).parentNode; - for (var i = 0, n = group.length; i < n; i++) { - if ((node = group[i]) && filter.call(node, node.__data__, i, j)) { - subgroup.push(node); - } - } - } - return d3_selection(subgroups); - }; - function d3_selection_filter(selector) { - return function() { - return d3_selectMatches(this, selector); - }; - } - d3_selectionPrototype.order = function() { - for (var j = -1, m = this.length; ++j < m; ) { - for (var group = this[j], i = group.length - 1, next = group[i], node; --i >= 0; ) { - if (node = group[i]) { - if (next && next !== node.nextSibling) next.parentNode.insertBefore(node, next); - next = node; - } - } - } - return this; - }; - d3_selectionPrototype.sort = function(comparator) { - comparator = d3_selection_sortComparator.apply(this, arguments); - for (var j = -1, m = this.length; ++j < m; ) this[j].sort(comparator); - return this.order(); - }; - function d3_selection_sortComparator(comparator) { - if (!arguments.length) comparator = d3_ascending; - return function(a, b) { - return a && b ? comparator(a.__data__, b.__data__) : !a - !b; - }; - } - d3_selectionPrototype.each = function(callback) { - return d3_selection_each(this, function(node, i, j) { - callback.call(node, node.__data__, i, j); - }); - }; - function d3_selection_each(groups, callback) { - for (var j = 0, m = groups.length; j < m; j++) { - for (var group = groups[j], i = 0, n = group.length, node; i < n; i++) { - if (node = group[i]) callback(node, i, j); - } - } - return groups; - } - d3_selectionPrototype.call = function(callback) { - var args = d3_array(arguments); - callback.apply(args[0] = this, args); - return this; - }; - d3_selectionPrototype.empty = function() { - return !this.node(); - }; - d3_selectionPrototype.node = function() { - for (var j = 0, m = this.length; j < m; j++) { - for (var group = this[j], i = 0, n = group.length; i < n; i++) { - var node = group[i]; - if (node) return node; - } - } - return null; - }; - d3_selectionPrototype.size = function() { - var n = 0; - d3_selection_each(this, function() { - ++n; - }); - return n; - }; - function d3_selection_enter(selection) { - d3_subclass(selection, d3_selection_enterPrototype); - return selection; - } - var d3_selection_enterPrototype = []; - d3.selection.enter = d3_selection_enter; - d3.selection.enter.prototype = d3_selection_enterPrototype; - d3_selection_enterPrototype.append = d3_selectionPrototype.append; - d3_selection_enterPrototype.empty = d3_selectionPrototype.empty; - d3_selection_enterPrototype.node = d3_selectionPrototype.node; - d3_selection_enterPrototype.call = d3_selectionPrototype.call; - d3_selection_enterPrototype.size = d3_selectionPrototype.size; - d3_selection_enterPrototype.select = function(selector) { - var subgroups = [], subgroup, subnode, upgroup, group, node; - for (var j = -1, m = this.length; ++j < m; ) { - upgroup = (group = this[j]).update; - subgroups.push(subgroup = []); - subgroup.parentNode = group.parentNode; - for (var i = -1, n = group.length; ++i < n; ) { - if (node = group[i]) { - subgroup.push(upgroup[i] = subnode = selector.call(group.parentNode, node.__data__, i, j)); - subnode.__data__ = node.__data__; - } else { - subgroup.push(null); - } - } - } - return d3_selection(subgroups); - }; - d3_selection_enterPrototype.insert = function(name, before) { - if (arguments.length < 2) before = d3_selection_enterInsertBefore(this); - return d3_selectionPrototype.insert.call(this, name, before); - }; - function d3_selection_enterInsertBefore(enter) { - var i0, j0; - return function(d, i, j) { - var group = enter[j].update, n = group.length, node; - if (j != j0) j0 = j, i0 = 0; - if (i >= i0) i0 = i + 1; - while (!(node = group[i0]) && ++i0 < n) ; - return node; - }; - } - d3.select = function(node) { - var group = [ typeof node === "string" ? d3_select(node, d3_document) : node ]; - group.parentNode = d3_documentElement; - return d3_selection([ group ]); - }; - d3.selectAll = function(nodes) { - var group = d3_array(typeof nodes === "string" ? d3_selectAll(nodes, d3_document) : nodes); - group.parentNode = d3_documentElement; - return d3_selection([ group ]); - }; - var d3_selectionRoot = d3.select(d3_documentElement); - d3_selectionPrototype.on = function(type, listener, capture) { - var n = arguments.length; - if (n < 3) { - if (typeof type !== "string") { - if (n < 2) listener = false; - for (capture in type) this.each(d3_selection_on(capture, type[capture], listener)); - return this; - } - if (n < 2) return (n = this.node()["__on" + type]) && n._; - capture = false; - } - return this.each(d3_selection_on(type, listener, capture)); - }; - function d3_selection_on(type, listener, capture) { - var name = "__on" + type, i = type.indexOf("."), wrap = d3_selection_onListener; - if (i > 0) type = type.slice(0, i); - var filter = d3_selection_onFilters.get(type); - if (filter) type = filter, wrap = d3_selection_onFilter; - function onRemove() { - var l = this[name]; - if (l) { - this.removeEventListener(type, l, l.$); - delete this[name]; - } - } - function onAdd() { - var l = wrap(listener, d3_array(arguments)); - onRemove.call(this); - this.addEventListener(type, this[name] = l, l.$ = capture); - l._ = listener; - } - function removeAll() { - var re = new RegExp("^__on([^.]+)" + d3.requote(type) + "$"), match; - for (var name in this) { - if (match = name.match(re)) { - var l = this[name]; - this.removeEventListener(match[1], l, l.$); - delete this[name]; - } - } - } - return i ? listener ? onAdd : onRemove : listener ? d3_noop : removeAll; - } - var d3_selection_onFilters = d3.map({ - mouseenter: "mouseover", - mouseleave: "mouseout" - }); - d3_selection_onFilters.forEach(function(k) { - if ("on" + k in d3_document) d3_selection_onFilters.remove(k); - }); - function d3_selection_onListener(listener, argumentz) { - return function(e) { - var o = d3.event; - d3.event = e; - argumentz[0] = this.__data__; - try { - listener.apply(this, argumentz); - } finally { - d3.event = o; - } - }; - } - function d3_selection_onFilter(listener, argumentz) { - var l = d3_selection_onListener(listener, argumentz); - return function(e) { - var target = this, related = e.relatedTarget; - if (!related || related !== target && !(related.compareDocumentPosition(target) & 8)) { - l.call(target, e); - } - }; - } - var d3_event_dragSelect = "onselectstart" in d3_document ? null : d3_vendorSymbol(d3_documentElement.style, "userSelect"), d3_event_dragId = 0; - function d3_event_dragSuppress() { - var name = ".dragsuppress-" + ++d3_event_dragId, click = "click" + name, w = d3.select(d3_window).on("touchmove" + name, d3_eventPreventDefault).on("dragstart" + name, d3_eventPreventDefault).on("selectstart" + name, d3_eventPreventDefault); - if (d3_event_dragSelect) { - var style = d3_documentElement.style, select = style[d3_event_dragSelect]; - style[d3_event_dragSelect] = "none"; - } - return function(suppressClick) { - w.on(name, null); - if (d3_event_dragSelect) style[d3_event_dragSelect] = select; - if (suppressClick) { - var off = function() { - w.on(click, null); - }; - w.on(click, function() { - d3_eventPreventDefault(); - off(); - }, true); - setTimeout(off, 0); - } - }; - } - d3.mouse = function(container) { - return d3_mousePoint(container, d3_eventSource()); - }; - var d3_mouse_bug44083 = /WebKit/.test(d3_window.navigator.userAgent) ? -1 : 0; - function d3_mousePoint(container, e) { - if (e.changedTouches) e = e.changedTouches[0]; - var svg = container.ownerSVGElement || container; - if (svg.createSVGPoint) { - var point = svg.createSVGPoint(); - if (d3_mouse_bug44083 < 0 && (d3_window.scrollX || d3_window.scrollY)) { - svg = d3.select("body").append("svg").style({ - position: "absolute", - top: 0, - left: 0, - margin: 0, - padding: 0, - border: "none" - }, "important"); - var ctm = svg[0][0].getScreenCTM(); - d3_mouse_bug44083 = !(ctm.f || ctm.e); - svg.remove(); - } - if (d3_mouse_bug44083) point.x = e.pageX, point.y = e.pageY; else point.x = e.clientX, - point.y = e.clientY; - point = point.matrixTransform(container.getScreenCTM().inverse()); - return [ point.x, point.y ]; - } - var rect = container.getBoundingClientRect(); - return [ e.clientX - rect.left - container.clientLeft, e.clientY - rect.top - container.clientTop ]; - } - d3.touch = function(container, touches, identifier) { - if (arguments.length < 3) identifier = touches, touches = d3_eventSource().changedTouches; - if (touches) for (var i = 0, n = touches.length, touch; i < n; ++i) { - if ((touch = touches[i]).identifier === identifier) { - return d3_mousePoint(container, touch); - } - } - }; - d3.behavior.drag = function() { - var event = d3_eventDispatch(drag, "drag", "dragstart", "dragend"), origin = null, mousedown = dragstart(d3_noop, d3.mouse, d3_behavior_dragMouseSubject, "mousemove", "mouseup"), touchstart = dragstart(d3_behavior_dragTouchId, d3.touch, d3_behavior_dragTouchSubject, "touchmove", "touchend"); - function drag() { - this.on("mousedown.drag", mousedown).on("touchstart.drag", touchstart); - } - function dragstart(id, position, subject, move, end) { - return function() { - var that = this, target = d3.event.target, parent = that.parentNode, dispatch = event.of(that, arguments), dragged = 0, dragId = id(), dragName = ".drag" + (dragId == null ? "" : "-" + dragId), dragOffset, dragSubject = d3.select(subject()).on(move + dragName, moved).on(end + dragName, ended), dragRestore = d3_event_dragSuppress(), position0 = position(parent, dragId); - if (origin) { - dragOffset = origin.apply(that, arguments); - dragOffset = [ dragOffset.x - position0[0], dragOffset.y - position0[1] ]; - } else { - dragOffset = [ 0, 0 ]; - } - dispatch({ - type: "dragstart" - }); - function moved() { - var position1 = position(parent, dragId), dx, dy; - if (!position1) return; - dx = position1[0] - position0[0]; - dy = position1[1] - position0[1]; - dragged |= dx | dy; - position0 = position1; - dispatch({ - type: "drag", - x: position1[0] + dragOffset[0], - y: position1[1] + dragOffset[1], - dx: dx, - dy: dy - }); - } - function ended() { - if (!position(parent, dragId)) return; - dragSubject.on(move + dragName, null).on(end + dragName, null); - dragRestore(dragged && d3.event.target === target); - dispatch({ - type: "dragend" - }); - } - }; - } - drag.origin = function(x) { - if (!arguments.length) return origin; - origin = x; - return drag; - }; - return d3.rebind(drag, event, "on"); - }; - function d3_behavior_dragTouchId() { - return d3.event.changedTouches[0].identifier; - } - function d3_behavior_dragTouchSubject() { - return d3.event.target; - } - function d3_behavior_dragMouseSubject() { - return d3_window; - } - d3.touches = function(container, touches) { - if (arguments.length < 2) touches = d3_eventSource().touches; - return touches ? d3_array(touches).map(function(touch) { - var point = d3_mousePoint(container, touch); - point.identifier = touch.identifier; - return point; - }) : []; - }; - var ε = 1e-6, ε2 = ε * ε, π = Math.PI, τ = 2 * π, τε = τ - ε, halfπ = π / 2, d3_radians = π / 180, d3_degrees = 180 / π; - function d3_sgn(x) { - return x > 0 ? 1 : x < 0 ? -1 : 0; - } - function d3_cross2d(a, b, c) { - return (b[0] - a[0]) * (c[1] - a[1]) - (b[1] - a[1]) * (c[0] - a[0]); - } - function d3_acos(x) { - return x > 1 ? 0 : x < -1 ? π : Math.acos(x); - } - function d3_asin(x) { - return x > 1 ? halfπ : x < -1 ? -halfπ : Math.asin(x); - } - function d3_sinh(x) { - return ((x = Math.exp(x)) - 1 / x) / 2; - } - function d3_cosh(x) { - return ((x = Math.exp(x)) + 1 / x) / 2; - } - function d3_tanh(x) { - return ((x = Math.exp(2 * x)) - 1) / (x + 1); - } - function d3_haversin(x) { - return (x = Math.sin(x / 2)) * x; - } - var ρ = Math.SQRT2, ρ2 = 2, ρ4 = 4; - d3.interpolateZoom = function(p0, p1) { - var ux0 = p0[0], uy0 = p0[1], w0 = p0[2], ux1 = p1[0], uy1 = p1[1], w1 = p1[2]; - var dx = ux1 - ux0, dy = uy1 - uy0, d2 = dx * dx + dy * dy, d1 = Math.sqrt(d2), b0 = (w1 * w1 - w0 * w0 + ρ4 * d2) / (2 * w0 * ρ2 * d1), b1 = (w1 * w1 - w0 * w0 - ρ4 * d2) / (2 * w1 * ρ2 * d1), r0 = Math.log(Math.sqrt(b0 * b0 + 1) - b0), r1 = Math.log(Math.sqrt(b1 * b1 + 1) - b1), dr = r1 - r0, S = (dr || Math.log(w1 / w0)) / ρ; - function interpolate(t) { - var s = t * S; - if (dr) { - var coshr0 = d3_cosh(r0), u = w0 / (ρ2 * d1) * (coshr0 * d3_tanh(ρ * s + r0) - d3_sinh(r0)); - return [ ux0 + u * dx, uy0 + u * dy, w0 * coshr0 / d3_cosh(ρ * s + r0) ]; - } - return [ ux0 + t * dx, uy0 + t * dy, w0 * Math.exp(ρ * s) ]; - } - interpolate.duration = S * 1e3; - return interpolate; - }; - d3.behavior.zoom = function() { - var view = { - x: 0, - y: 0, - k: 1 - }, translate0, center0, center, size = [ 960, 500 ], scaleExtent = d3_behavior_zoomInfinity, duration = 250, zooming = 0, mousedown = "mousedown.zoom", mousemove = "mousemove.zoom", mouseup = "mouseup.zoom", mousewheelTimer, touchstart = "touchstart.zoom", touchtime, event = d3_eventDispatch(zoom, "zoomstart", "zoom", "zoomend"), x0, x1, y0, y1; - function zoom(g) { - g.on(mousedown, mousedowned).on(d3_behavior_zoomWheel + ".zoom", mousewheeled).on("dblclick.zoom", dblclicked).on(touchstart, touchstarted); - } - zoom.event = function(g) { - g.each(function() { - var dispatch = event.of(this, arguments), view1 = view; - if (d3_transitionInheritId) { - d3.select(this).transition().each("start.zoom", function() { - view = this.__chart__ || { - x: 0, - y: 0, - k: 1 - }; - zoomstarted(dispatch); - }).tween("zoom:zoom", function() { - var dx = size[0], dy = size[1], cx = center0 ? center0[0] : dx / 2, cy = center0 ? center0[1] : dy / 2, i = d3.interpolateZoom([ (cx - view.x) / view.k, (cy - view.y) / view.k, dx / view.k ], [ (cx - view1.x) / view1.k, (cy - view1.y) / view1.k, dx / view1.k ]); - return function(t) { - var l = i(t), k = dx / l[2]; - this.__chart__ = view = { - x: cx - l[0] * k, - y: cy - l[1] * k, - k: k - }; - zoomed(dispatch); - }; - }).each("interrupt.zoom", function() { - zoomended(dispatch); - }).each("end.zoom", function() { - zoomended(dispatch); - }); - } else { - this.__chart__ = view; - zoomstarted(dispatch); - zoomed(dispatch); - zoomended(dispatch); - } - }); - }; - zoom.translate = function(_) { - if (!arguments.length) return [ view.x, view.y ]; - view = { - x: +_[0], - y: +_[1], - k: view.k - }; - rescale(); - return zoom; - }; - zoom.scale = function(_) { - if (!arguments.length) return view.k; - view = { - x: view.x, - y: view.y, - k: +_ - }; - rescale(); - return zoom; - }; - zoom.scaleExtent = function(_) { - if (!arguments.length) return scaleExtent; - scaleExtent = _ == null ? d3_behavior_zoomInfinity : [ +_[0], +_[1] ]; - return zoom; - }; - zoom.center = function(_) { - if (!arguments.length) return center; - center = _ && [ +_[0], +_[1] ]; - return zoom; - }; - zoom.size = function(_) { - if (!arguments.length) return size; - size = _ && [ +_[0], +_[1] ]; - return zoom; - }; - zoom.duration = function(_) { - if (!arguments.length) return duration; - duration = +_; - return zoom; - }; - zoom.x = function(z) { - if (!arguments.length) return x1; - x1 = z; - x0 = z.copy(); - view = { - x: 0, - y: 0, - k: 1 - }; - return zoom; - }; - zoom.y = function(z) { - if (!arguments.length) return y1; - y1 = z; - y0 = z.copy(); - view = { - x: 0, - y: 0, - k: 1 - }; - return zoom; - }; - function location(p) { - return [ (p[0] - view.x) / view.k, (p[1] - view.y) / view.k ]; - } - function point(l) { - return [ l[0] * view.k + view.x, l[1] * view.k + view.y ]; - } - function scaleTo(s) { - view.k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], s)); - } - function translateTo(p, l) { - l = point(l); - view.x += p[0] - l[0]; - view.y += p[1] - l[1]; - } - function zoomTo(that, p, l, k) { - that.__chart__ = { - x: view.x, - y: view.y, - k: view.k - }; - scaleTo(Math.pow(2, k)); - translateTo(center0 = p, l); - that = d3.select(that); - if (duration > 0) that = that.transition().duration(duration); - that.call(zoom.event); - } - function rescale() { - if (x1) x1.domain(x0.range().map(function(x) { - return (x - view.x) / view.k; - }).map(x0.invert)); - if (y1) y1.domain(y0.range().map(function(y) { - return (y - view.y) / view.k; - }).map(y0.invert)); - } - function zoomstarted(dispatch) { - if (!zooming++) dispatch({ - type: "zoomstart" - }); - } - function zoomed(dispatch) { - rescale(); - dispatch({ - type: "zoom", - scale: view.k, - translate: [ view.x, view.y ] - }); - } - function zoomended(dispatch) { - if (!--zooming) dispatch({ - type: "zoomend" - }); - center0 = null; - } - function mousedowned() { - var that = this, target = d3.event.target, dispatch = event.of(that, arguments), dragged = 0, subject = d3.select(d3_window).on(mousemove, moved).on(mouseup, ended), location0 = location(d3.mouse(that)), dragRestore = d3_event_dragSuppress(); - d3_selection_interrupt.call(that); - zoomstarted(dispatch); - function moved() { - dragged = 1; - translateTo(d3.mouse(that), location0); - zoomed(dispatch); - } - function ended() { - subject.on(mousemove, null).on(mouseup, null); - dragRestore(dragged && d3.event.target === target); - zoomended(dispatch); - } - } - function touchstarted() { - var that = this, dispatch = event.of(that, arguments), locations0 = {}, distance0 = 0, scale0, zoomName = ".zoom-" + d3.event.changedTouches[0].identifier, touchmove = "touchmove" + zoomName, touchend = "touchend" + zoomName, targets = [], subject = d3.select(that), dragRestore = d3_event_dragSuppress(); - started(); - zoomstarted(dispatch); - subject.on(mousedown, null).on(touchstart, started); - function relocate() { - var touches = d3.touches(that); - scale0 = view.k; - touches.forEach(function(t) { - if (t.identifier in locations0) locations0[t.identifier] = location(t); - }); - return touches; - } - function started() { - var target = d3.event.target; - d3.select(target).on(touchmove, moved).on(touchend, ended); - targets.push(target); - var changed = d3.event.changedTouches; - for (var i = 0, n = changed.length; i < n; ++i) { - locations0[changed[i].identifier] = null; - } - var touches = relocate(), now = Date.now(); - if (touches.length === 1) { - if (now - touchtime < 500) { - var p = touches[0]; - zoomTo(that, p, locations0[p.identifier], Math.floor(Math.log(view.k) / Math.LN2) + 1); - d3_eventPreventDefault(); - } - touchtime = now; - } else if (touches.length > 1) { - var p = touches[0], q = touches[1], dx = p[0] - q[0], dy = p[1] - q[1]; - distance0 = dx * dx + dy * dy; - } - } - function moved() { - var touches = d3.touches(that), p0, l0, p1, l1; - d3_selection_interrupt.call(that); - for (var i = 0, n = touches.length; i < n; ++i, l1 = null) { - p1 = touches[i]; - if (l1 = locations0[p1.identifier]) { - if (l0) break; - p0 = p1, l0 = l1; - } - } - if (l1) { - var distance1 = (distance1 = p1[0] - p0[0]) * distance1 + (distance1 = p1[1] - p0[1]) * distance1, scale1 = distance0 && Math.sqrt(distance1 / distance0); - p0 = [ (p0[0] + p1[0]) / 2, (p0[1] + p1[1]) / 2 ]; - l0 = [ (l0[0] + l1[0]) / 2, (l0[1] + l1[1]) / 2 ]; - scaleTo(scale1 * scale0); - } - touchtime = null; - translateTo(p0, l0); - zoomed(dispatch); - } - function ended() { - if (d3.event.touches.length) { - var changed = d3.event.changedTouches; - for (var i = 0, n = changed.length; i < n; ++i) { - delete locations0[changed[i].identifier]; - } - for (var identifier in locations0) { - return void relocate(); - } - } - d3.selectAll(targets).on(zoomName, null); - subject.on(mousedown, mousedowned).on(touchstart, touchstarted); - dragRestore(); - zoomended(dispatch); - } - } - function mousewheeled() { - var dispatch = event.of(this, arguments); - if (mousewheelTimer) clearTimeout(mousewheelTimer); else translate0 = location(center0 = center || d3.mouse(this)), - d3_selection_interrupt.call(this), zoomstarted(dispatch); - mousewheelTimer = setTimeout(function() { - mousewheelTimer = null; - zoomended(dispatch); - }, 50); - d3_eventPreventDefault(); - scaleTo(Math.pow(2, d3_behavior_zoomDelta() * .002) * view.k); - translateTo(center0, translate0); - zoomed(dispatch); - } - function dblclicked() { - var p = d3.mouse(this), k = Math.log(view.k) / Math.LN2; - zoomTo(this, p, location(p), d3.event.shiftKey ? Math.ceil(k) - 1 : Math.floor(k) + 1); - } - return d3.rebind(zoom, event, "on"); - }; - var d3_behavior_zoomInfinity = [ 0, Infinity ]; - var d3_behavior_zoomDelta, d3_behavior_zoomWheel = "onwheel" in d3_document ? (d3_behavior_zoomDelta = function() { - return -d3.event.deltaY * (d3.event.deltaMode ? 120 : 1); - }, "wheel") : "onmousewheel" in d3_document ? (d3_behavior_zoomDelta = function() { - return d3.event.wheelDelta; - }, "mousewheel") : (d3_behavior_zoomDelta = function() { - return -d3.event.detail; - }, "MozMousePixelScroll"); - d3.color = d3_color; - function d3_color() {} - d3_color.prototype.toString = function() { - return this.rgb() + ""; - }; - d3.hsl = d3_hsl; - function d3_hsl(h, s, l) { - return this instanceof d3_hsl ? void (this.h = +h, this.s = +s, this.l = +l) : arguments.length < 2 ? h instanceof d3_hsl ? new d3_hsl(h.h, h.s, h.l) : d3_rgb_parse("" + h, d3_rgb_hsl, d3_hsl) : new d3_hsl(h, s, l); - } - var d3_hslPrototype = d3_hsl.prototype = new d3_color(); - d3_hslPrototype.brighter = function(k) { - k = Math.pow(.7, arguments.length ? k : 1); - return new d3_hsl(this.h, this.s, this.l / k); - }; - d3_hslPrototype.darker = function(k) { - k = Math.pow(.7, arguments.length ? k : 1); - return new d3_hsl(this.h, this.s, k * this.l); - }; - d3_hslPrototype.rgb = function() { - return d3_hsl_rgb(this.h, this.s, this.l); - }; - function d3_hsl_rgb(h, s, l) { - var m1, m2; - h = isNaN(h) ? 0 : (h %= 360) < 0 ? h + 360 : h; - s = isNaN(s) ? 0 : s < 0 ? 0 : s > 1 ? 1 : s; - l = l < 0 ? 0 : l > 1 ? 1 : l; - m2 = l <= .5 ? l * (1 + s) : l + s - l * s; - m1 = 2 * l - m2; - function v(h) { - if (h > 360) h -= 360; else if (h < 0) h += 360; - if (h < 60) return m1 + (m2 - m1) * h / 60; - if (h < 180) return m2; - if (h < 240) return m1 + (m2 - m1) * (240 - h) / 60; - return m1; - } - function vv(h) { - return Math.round(v(h) * 255); - } - return new d3_rgb(vv(h + 120), vv(h), vv(h - 120)); - } - d3.hcl = d3_hcl; - function d3_hcl(h, c, l) { - return this instanceof d3_hcl ? void (this.h = +h, this.c = +c, this.l = +l) : arguments.length < 2 ? h instanceof d3_hcl ? new d3_hcl(h.h, h.c, h.l) : h instanceof d3_lab ? d3_lab_hcl(h.l, h.a, h.b) : d3_lab_hcl((h = d3_rgb_lab((h = d3.rgb(h)).r, h.g, h.b)).l, h.a, h.b) : new d3_hcl(h, c, l); - } - var d3_hclPrototype = d3_hcl.prototype = new d3_color(); - d3_hclPrototype.brighter = function(k) { - return new d3_hcl(this.h, this.c, Math.min(100, this.l + d3_lab_K * (arguments.length ? k : 1))); - }; - d3_hclPrototype.darker = function(k) { - return new d3_hcl(this.h, this.c, Math.max(0, this.l - d3_lab_K * (arguments.length ? k : 1))); - }; - d3_hclPrototype.rgb = function() { - return d3_hcl_lab(this.h, this.c, this.l).rgb(); - }; - function d3_hcl_lab(h, c, l) { - if (isNaN(h)) h = 0; - if (isNaN(c)) c = 0; - return new d3_lab(l, Math.cos(h *= d3_radians) * c, Math.sin(h) * c); - } - d3.lab = d3_lab; - function d3_lab(l, a, b) { - return this instanceof d3_lab ? void (this.l = +l, this.a = +a, this.b = +b) : arguments.length < 2 ? l instanceof d3_lab ? new d3_lab(l.l, l.a, l.b) : l instanceof d3_hcl ? d3_hcl_lab(l.h, l.c, l.l) : d3_rgb_lab((l = d3_rgb(l)).r, l.g, l.b) : new d3_lab(l, a, b); - } - var d3_lab_K = 18; - var d3_lab_X = .95047, d3_lab_Y = 1, d3_lab_Z = 1.08883; - var d3_labPrototype = d3_lab.prototype = new d3_color(); - d3_labPrototype.brighter = function(k) { - return new d3_lab(Math.min(100, this.l + d3_lab_K * (arguments.length ? k : 1)), this.a, this.b); - }; - d3_labPrototype.darker = function(k) { - return new d3_lab(Math.max(0, this.l - d3_lab_K * (arguments.length ? k : 1)), this.a, this.b); - }; - d3_labPrototype.rgb = function() { - return d3_lab_rgb(this.l, this.a, this.b); - }; - function d3_lab_rgb(l, a, b) { - var y = (l + 16) / 116, x = y + a / 500, z = y - b / 200; - x = d3_lab_xyz(x) * d3_lab_X; - y = d3_lab_xyz(y) * d3_lab_Y; - z = d3_lab_xyz(z) * d3_lab_Z; - return new d3_rgb(d3_xyz_rgb(3.2404542 * x - 1.5371385 * y - .4985314 * z), d3_xyz_rgb(-.969266 * x + 1.8760108 * y + .041556 * z), d3_xyz_rgb(.0556434 * x - .2040259 * y + 1.0572252 * z)); - } - function d3_lab_hcl(l, a, b) { - return l > 0 ? new d3_hcl(Math.atan2(b, a) * d3_degrees, Math.sqrt(a * a + b * b), l) : new d3_hcl(NaN, NaN, l); - } - function d3_lab_xyz(x) { - return x > .206893034 ? x * x * x : (x - 4 / 29) / 7.787037; - } - function d3_xyz_lab(x) { - return x > .008856 ? Math.pow(x, 1 / 3) : 7.787037 * x + 4 / 29; - } - function d3_xyz_rgb(r) { - return Math.round(255 * (r <= .00304 ? 12.92 * r : 1.055 * Math.pow(r, 1 / 2.4) - .055)); - } - d3.rgb = d3_rgb; - function d3_rgb(r, g, b) { - return this instanceof d3_rgb ? void (this.r = ~~r, this.g = ~~g, this.b = ~~b) : arguments.length < 2 ? r instanceof d3_rgb ? new d3_rgb(r.r, r.g, r.b) : d3_rgb_parse("" + r, d3_rgb, d3_hsl_rgb) : new d3_rgb(r, g, b); - } - function d3_rgbNumber(value) { - return new d3_rgb(value >> 16, value >> 8 & 255, value & 255); - } - function d3_rgbString(value) { - return d3_rgbNumber(value) + ""; - } - var d3_rgbPrototype = d3_rgb.prototype = new d3_color(); - d3_rgbPrototype.brighter = function(k) { - k = Math.pow(.7, arguments.length ? k : 1); - var r = this.r, g = this.g, b = this.b, i = 30; - if (!r && !g && !b) return new d3_rgb(i, i, i); - if (r && r < i) r = i; - if (g && g < i) g = i; - if (b && b < i) b = i; - return new d3_rgb(Math.min(255, r / k), Math.min(255, g / k), Math.min(255, b / k)); - }; - d3_rgbPrototype.darker = function(k) { - k = Math.pow(.7, arguments.length ? k : 1); - return new d3_rgb(k * this.r, k * this.g, k * this.b); - }; - d3_rgbPrototype.hsl = function() { - return d3_rgb_hsl(this.r, this.g, this.b); - }; - d3_rgbPrototype.toString = function() { - return "#" + d3_rgb_hex(this.r) + d3_rgb_hex(this.g) + d3_rgb_hex(this.b); - }; - function d3_rgb_hex(v) { - return v < 16 ? "0" + Math.max(0, v).toString(16) : Math.min(255, v).toString(16); - } - function d3_rgb_parse(format, rgb, hsl) { - var r = 0, g = 0, b = 0, m1, m2, color; - m1 = /([a-z]+)\((.*)\)/i.exec(format); - if (m1) { - m2 = m1[2].split(","); - switch (m1[1]) { - case "hsl": - { - return hsl(parseFloat(m2[0]), parseFloat(m2[1]) / 100, parseFloat(m2[2]) / 100); - } - - case "rgb": - { - return rgb(d3_rgb_parseNumber(m2[0]), d3_rgb_parseNumber(m2[1]), d3_rgb_parseNumber(m2[2])); - } - } - } - if (color = d3_rgb_names.get(format)) return rgb(color.r, color.g, color.b); - if (format != null && format.charAt(0) === "#" && !isNaN(color = parseInt(format.slice(1), 16))) { - if (format.length === 4) { - r = (color & 3840) >> 4; - r = r >> 4 | r; - g = color & 240; - g = g >> 4 | g; - b = color & 15; - b = b << 4 | b; - } else if (format.length === 7) { - r = (color & 16711680) >> 16; - g = (color & 65280) >> 8; - b = color & 255; - } - } - return rgb(r, g, b); - } - function d3_rgb_hsl(r, g, b) { - var min = Math.min(r /= 255, g /= 255, b /= 255), max = Math.max(r, g, b), d = max - min, h, s, l = (max + min) / 2; - if (d) { - s = l < .5 ? d / (max + min) : d / (2 - max - min); - if (r == max) h = (g - b) / d + (g < b ? 6 : 0); else if (g == max) h = (b - r) / d + 2; else h = (r - g) / d + 4; - h *= 60; - } else { - h = NaN; - s = l > 0 && l < 1 ? 0 : h; - } - return new d3_hsl(h, s, l); - } - function d3_rgb_lab(r, g, b) { - r = d3_rgb_xyz(r); - g = d3_rgb_xyz(g); - b = d3_rgb_xyz(b); - var x = d3_xyz_lab((.4124564 * r + .3575761 * g + .1804375 * b) / d3_lab_X), y = d3_xyz_lab((.2126729 * r + .7151522 * g + .072175 * b) / d3_lab_Y), z = d3_xyz_lab((.0193339 * r + .119192 * g + .9503041 * b) / d3_lab_Z); - return d3_lab(116 * y - 16, 500 * (x - y), 200 * (y - z)); - } - function d3_rgb_xyz(r) { - return (r /= 255) <= .04045 ? r / 12.92 : Math.pow((r + .055) / 1.055, 2.4); - } - function d3_rgb_parseNumber(c) { - var f = parseFloat(c); - return c.charAt(c.length - 1) === "%" ? Math.round(f * 2.55) : f; - } - var d3_rgb_names = d3.map({ - aliceblue: 15792383, - antiquewhite: 16444375, - aqua: 65535, - aquamarine: 8388564, - azure: 15794175, - beige: 16119260, - bisque: 16770244, - black: 0, - blanchedalmond: 16772045, - blue: 255, - blueviolet: 9055202, - brown: 10824234, - burlywood: 14596231, - cadetblue: 6266528, - chartreuse: 8388352, - chocolate: 13789470, - coral: 16744272, - cornflowerblue: 6591981, - cornsilk: 16775388, - crimson: 14423100, - cyan: 65535, - darkblue: 139, - darkcyan: 35723, - darkgoldenrod: 12092939, - darkgray: 11119017, - darkgreen: 25600, - darkgrey: 11119017, - darkkhaki: 12433259, - darkmagenta: 9109643, - darkolivegreen: 5597999, - darkorange: 16747520, - darkorchid: 10040012, - darkred: 9109504, - darksalmon: 15308410, - darkseagreen: 9419919, - darkslateblue: 4734347, - darkslategray: 3100495, - darkslategrey: 3100495, - darkturquoise: 52945, - darkviolet: 9699539, - deeppink: 16716947, - deepskyblue: 49151, - dimgray: 6908265, - dimgrey: 6908265, - dodgerblue: 2003199, - firebrick: 11674146, - floralwhite: 16775920, - forestgreen: 2263842, - fuchsia: 16711935, - gainsboro: 14474460, - ghostwhite: 16316671, - gold: 16766720, - goldenrod: 14329120, - gray: 8421504, - green: 32768, - greenyellow: 11403055, - grey: 8421504, - honeydew: 15794160, - hotpink: 16738740, - indianred: 13458524, - indigo: 4915330, - ivory: 16777200, - khaki: 15787660, - lavender: 15132410, - lavenderblush: 16773365, - lawngreen: 8190976, - lemonchiffon: 16775885, - lightblue: 11393254, - lightcoral: 15761536, - lightcyan: 14745599, - lightgoldenrodyellow: 16448210, - lightgray: 13882323, - lightgreen: 9498256, - lightgrey: 13882323, - lightpink: 16758465, - lightsalmon: 16752762, - lightseagreen: 2142890, - lightskyblue: 8900346, - lightslategray: 7833753, - lightslategrey: 7833753, - lightsteelblue: 11584734, - lightyellow: 16777184, - lime: 65280, - limegreen: 3329330, - linen: 16445670, - magenta: 16711935, - maroon: 8388608, - mediumaquamarine: 6737322, - mediumblue: 205, - mediumorchid: 12211667, - mediumpurple: 9662683, - mediumseagreen: 3978097, - mediumslateblue: 8087790, - mediumspringgreen: 64154, - mediumturquoise: 4772300, - mediumvioletred: 13047173, - midnightblue: 1644912, - mintcream: 16121850, - mistyrose: 16770273, - moccasin: 16770229, - navajowhite: 16768685, - navy: 128, - oldlace: 16643558, - olive: 8421376, - olivedrab: 7048739, - orange: 16753920, - orangered: 16729344, - orchid: 14315734, - palegoldenrod: 15657130, - palegreen: 10025880, - paleturquoise: 11529966, - palevioletred: 14381203, - papayawhip: 16773077, - peachpuff: 16767673, - peru: 13468991, - pink: 16761035, - plum: 14524637, - powderblue: 11591910, - purple: 8388736, - red: 16711680, - rosybrown: 12357519, - royalblue: 4286945, - saddlebrown: 9127187, - salmon: 16416882, - sandybrown: 16032864, - seagreen: 3050327, - seashell: 16774638, - sienna: 10506797, - silver: 12632256, - skyblue: 8900331, - slateblue: 6970061, - slategray: 7372944, - slategrey: 7372944, - snow: 16775930, - springgreen: 65407, - steelblue: 4620980, - tan: 13808780, - teal: 32896, - thistle: 14204888, - tomato: 16737095, - turquoise: 4251856, - violet: 15631086, - wheat: 16113331, - white: 16777215, - whitesmoke: 16119285, - yellow: 16776960, - yellowgreen: 10145074 - }); - d3_rgb_names.forEach(function(key, value) { - d3_rgb_names.set(key, d3_rgbNumber(value)); - }); - function d3_functor(v) { - return typeof v === "function" ? v : function() { - return v; - }; - } - d3.functor = d3_functor; - function d3_identity(d) { - return d; - } - d3.xhr = d3_xhrType(d3_identity); - function d3_xhrType(response) { - return function(url, mimeType, callback) { - if (arguments.length === 2 && typeof mimeType === "function") callback = mimeType, - mimeType = null; - return d3_xhr(url, mimeType, response, callback); - }; - } - function d3_xhr(url, mimeType, response, callback) { - var xhr = {}, dispatch = d3.dispatch("beforesend", "progress", "load", "error"), headers = {}, request = new XMLHttpRequest(), responseType = null; - if (d3_window.XDomainRequest && !("withCredentials" in request) && /^(http(s)?:)?\/\//.test(url)) request = new XDomainRequest(); - "onload" in request ? request.onload = request.onerror = respond : request.onreadystatechange = function() { - request.readyState > 3 && respond(); - }; - function respond() { - var status = request.status, result; - if (!status && d3_xhrHasResponse(request) || status >= 200 && status < 300 || status === 304) { - try { - result = response.call(xhr, request); - } catch (e) { - dispatch.error.call(xhr, e); - return; - } - dispatch.load.call(xhr, result); - } else { - dispatch.error.call(xhr, request); - } - } - request.onprogress = function(event) { - var o = d3.event; - d3.event = event; - try { - dispatch.progress.call(xhr, request); - } finally { - d3.event = o; - } - }; - xhr.header = function(name, value) { - name = (name + "").toLowerCase(); - if (arguments.length < 2) return headers[name]; - if (value == null) delete headers[name]; else headers[name] = value + ""; - return xhr; - }; - xhr.mimeType = function(value) { - if (!arguments.length) return mimeType; - mimeType = value == null ? null : value + ""; - return xhr; - }; - xhr.responseType = function(value) { - if (!arguments.length) return responseType; - responseType = value; - return xhr; - }; - xhr.response = function(value) { - response = value; - return xhr; - }; - [ "get", "post" ].forEach(function(method) { - xhr[method] = function() { - return xhr.send.apply(xhr, [ method ].concat(d3_array(arguments))); - }; - }); - xhr.send = function(method, data, callback) { - if (arguments.length === 2 && typeof data === "function") callback = data, data = null; - request.open(method, url, true); - if (mimeType != null && !("accept" in headers)) headers["accept"] = mimeType + ",*/*"; - if (request.setRequestHeader) for (var name in headers) request.setRequestHeader(name, headers[name]); - if (mimeType != null && request.overrideMimeType) request.overrideMimeType(mimeType); - if (responseType != null) request.responseType = responseType; - if (callback != null) xhr.on("error", callback).on("load", function(request) { - callback(null, request); - }); - dispatch.beforesend.call(xhr, request); - request.send(data == null ? null : data); - return xhr; - }; - xhr.abort = function() { - request.abort(); - return xhr; - }; - d3.rebind(xhr, dispatch, "on"); - return callback == null ? xhr : xhr.get(d3_xhr_fixCallback(callback)); - } - function d3_xhr_fixCallback(callback) { - return callback.length === 1 ? function(error, request) { - callback(error == null ? request : null); - } : callback; - } - function d3_xhrHasResponse(request) { - var type = request.responseType; - return type && type !== "text" ? request.response : request.responseText; - } - d3.dsv = function(delimiter, mimeType) { - var reFormat = new RegExp('["' + delimiter + "\n]"), delimiterCode = delimiter.charCodeAt(0); - function dsv(url, row, callback) { - if (arguments.length < 3) callback = row, row = null; - var xhr = d3_xhr(url, mimeType, row == null ? response : typedResponse(row), callback); - xhr.row = function(_) { - return arguments.length ? xhr.response((row = _) == null ? response : typedResponse(_)) : row; - }; - return xhr; - } - function response(request) { - return dsv.parse(request.responseText); - } - function typedResponse(f) { - return function(request) { - return dsv.parse(request.responseText, f); - }; - } - dsv.parse = function(text, f) { - var o; - return dsv.parseRows(text, function(row, i) { - if (o) return o(row, i - 1); - var a = new Function("d", "return {" + row.map(function(name, i) { - return JSON.stringify(name) + ": d[" + i + "]"; - }).join(",") + "}"); - o = f ? function(row, i) { - return f(a(row), i); - } : a; - }); - }; - dsv.parseRows = function(text, f) { - var EOL = {}, EOF = {}, rows = [], N = text.length, I = 0, n = 0, t, eol; - function token() { - if (I >= N) return EOF; - if (eol) return eol = false, EOL; - var j = I; - if (text.charCodeAt(j) === 34) { - var i = j; - while (i++ < N) { - if (text.charCodeAt(i) === 34) { - if (text.charCodeAt(i + 1) !== 34) break; - ++i; - } - } - I = i + 2; - var c = text.charCodeAt(i + 1); - if (c === 13) { - eol = true; - if (text.charCodeAt(i + 2) === 10) ++I; - } else if (c === 10) { - eol = true; - } - return text.slice(j + 1, i).replace(/""/g, '"'); - } - while (I < N) { - var c = text.charCodeAt(I++), k = 1; - if (c === 10) eol = true; else if (c === 13) { - eol = true; - if (text.charCodeAt(I) === 10) ++I, ++k; - } else if (c !== delimiterCode) continue; - return text.slice(j, I - k); - } - return text.slice(j); - } - while ((t = token()) !== EOF) { - var a = []; - while (t !== EOL && t !== EOF) { - a.push(t); - t = token(); - } - if (f && (a = f(a, n++)) == null) continue; - rows.push(a); - } - return rows; - }; - dsv.format = function(rows) { - if (Array.isArray(rows[0])) return dsv.formatRows(rows); - var fieldSet = new d3_Set(), fields = []; - rows.forEach(function(row) { - for (var field in row) { - if (!fieldSet.has(field)) { - fields.push(fieldSet.add(field)); - } - } - }); - return [ fields.map(formatValue).join(delimiter) ].concat(rows.map(function(row) { - return fields.map(function(field) { - return formatValue(row[field]); - }).join(delimiter); - })).join("\n"); - }; - dsv.formatRows = function(rows) { - return rows.map(formatRow).join("\n"); - }; - function formatRow(row) { - return row.map(formatValue).join(delimiter); - } - function formatValue(text) { - return reFormat.test(text) ? '"' + text.replace(/\"/g, '""') + '"' : text; - } - return dsv; - }; - d3.csv = d3.dsv(",", "text/csv"); - d3.tsv = d3.dsv(" ", "text/tab-separated-values"); - var d3_timer_queueHead, d3_timer_queueTail, d3_timer_interval, d3_timer_timeout, d3_timer_active, d3_timer_frame = d3_window[d3_vendorSymbol(d3_window, "requestAnimationFrame")] || function(callback) { - setTimeout(callback, 17); - }; - d3.timer = function(callback, delay, then) { - var n = arguments.length; - if (n < 2) delay = 0; - if (n < 3) then = Date.now(); - var time = then + delay, timer = { - c: callback, - t: time, - f: false, - n: null - }; - if (d3_timer_queueTail) d3_timer_queueTail.n = timer; else d3_timer_queueHead = timer; - d3_timer_queueTail = timer; - if (!d3_timer_interval) { - d3_timer_timeout = clearTimeout(d3_timer_timeout); - d3_timer_interval = 1; - d3_timer_frame(d3_timer_step); - } - }; - function d3_timer_step() { - var now = d3_timer_mark(), delay = d3_timer_sweep() - now; - if (delay > 24) { - if (isFinite(delay)) { - clearTimeout(d3_timer_timeout); - d3_timer_timeout = setTimeout(d3_timer_step, delay); - } - d3_timer_interval = 0; - } else { - d3_timer_interval = 1; - d3_timer_frame(d3_timer_step); - } - } - d3.timer.flush = function() { - d3_timer_mark(); - d3_timer_sweep(); - }; - function d3_timer_mark() { - var now = Date.now(); - d3_timer_active = d3_timer_queueHead; - while (d3_timer_active) { - if (now >= d3_timer_active.t) d3_timer_active.f = d3_timer_active.c(now - d3_timer_active.t); - d3_timer_active = d3_timer_active.n; - } - return now; - } - function d3_timer_sweep() { - var t0, t1 = d3_timer_queueHead, time = Infinity; - while (t1) { - if (t1.f) { - t1 = t0 ? t0.n = t1.n : d3_timer_queueHead = t1.n; - } else { - if (t1.t < time) time = t1.t; - t1 = (t0 = t1).n; - } - } - d3_timer_queueTail = t0; - return time; - } - function d3_format_precision(x, p) { - return p - (x ? Math.ceil(Math.log(x) / Math.LN10) : 1); - } - d3.round = function(x, n) { - return n ? Math.round(x * (n = Math.pow(10, n))) / n : Math.round(x); - }; - var d3_formatPrefixes = [ "y", "z", "a", "f", "p", "n", "µ", "m", "", "k", "M", "G", "T", "P", "E", "Z", "Y" ].map(d3_formatPrefix); - d3.formatPrefix = function(value, precision) { - var i = 0; - if (value) { - if (value < 0) value *= -1; - if (precision) value = d3.round(value, d3_format_precision(value, precision)); - i = 1 + Math.floor(1e-12 + Math.log(value) / Math.LN10); - i = Math.max(-24, Math.min(24, Math.floor((i - 1) / 3) * 3)); - } - return d3_formatPrefixes[8 + i / 3]; - }; - function d3_formatPrefix(d, i) { - var k = Math.pow(10, abs(8 - i) * 3); - return { - scale: i > 8 ? function(d) { - return d / k; - } : function(d) { - return d * k; - }, - symbol: d - }; - } - function d3_locale_numberFormat(locale) { - var locale_decimal = locale.decimal, locale_thousands = locale.thousands, locale_grouping = locale.grouping, locale_currency = locale.currency, formatGroup = locale_grouping && locale_thousands ? function(value, width) { - var i = value.length, t = [], j = 0, g = locale_grouping[0], length = 0; - while (i > 0 && g > 0) { - if (length + g + 1 > width) g = Math.max(1, width - length); - t.push(value.substring(i -= g, i + g)); - if ((length += g + 1) > width) break; - g = locale_grouping[j = (j + 1) % locale_grouping.length]; - } - return t.reverse().join(locale_thousands); - } : d3_identity; - return function(specifier) { - var match = d3_format_re.exec(specifier), fill = match[1] || " ", align = match[2] || ">", sign = match[3] || "-", symbol = match[4] || "", zfill = match[5], width = +match[6], comma = match[7], precision = match[8], type = match[9], scale = 1, prefix = "", suffix = "", integer = false, exponent = true; - if (precision) precision = +precision.substring(1); - if (zfill || fill === "0" && align === "=") { - zfill = fill = "0"; - align = "="; - } - switch (type) { - case "n": - comma = true; - type = "g"; - break; - - case "%": - scale = 100; - suffix = "%"; - type = "f"; - break; - - case "p": - scale = 100; - suffix = "%"; - type = "r"; - break; - - case "b": - case "o": - case "x": - case "X": - if (symbol === "#") prefix = "0" + type.toLowerCase(); - - case "c": - exponent = false; - - case "d": - integer = true; - precision = 0; - break; - - case "s": - scale = -1; - type = "r"; - break; - } - if (symbol === "$") prefix = locale_currency[0], suffix = locale_currency[1]; - if (type == "r" && !precision) type = "g"; - if (precision != null) { - if (type == "g") precision = Math.max(1, Math.min(21, precision)); else if (type == "e" || type == "f") precision = Math.max(0, Math.min(20, precision)); - } - type = d3_format_types.get(type) || d3_format_typeDefault; - var zcomma = zfill && comma; - return function(value) { - var fullSuffix = suffix; - if (integer && value % 1) return ""; - var negative = value < 0 || value === 0 && 1 / value < 0 ? (value = -value, "-") : sign === "-" ? "" : sign; - if (scale < 0) { - var unit = d3.formatPrefix(value, precision); - value = unit.scale(value); - fullSuffix = unit.symbol + suffix; - } else { - value *= scale; - } - value = type(value, precision); - var i = value.lastIndexOf("."), before, after; - if (i < 0) { - var j = exponent ? value.lastIndexOf("e") : -1; - if (j < 0) before = value, after = ""; else before = value.substring(0, j), after = value.substring(j); - } else { - before = value.substring(0, i); - after = locale_decimal + value.substring(i + 1); - } - if (!zfill && comma) before = formatGroup(before, Infinity); - var length = prefix.length + before.length + after.length + (zcomma ? 0 : negative.length), padding = length < width ? new Array(length = width - length + 1).join(fill) : ""; - if (zcomma) before = formatGroup(padding + before, padding.length ? width - after.length : Infinity); - negative += prefix; - value = before + after; - return (align === "<" ? negative + value + padding : align === ">" ? padding + negative + value : align === "^" ? padding.substring(0, length >>= 1) + negative + value + padding.substring(length) : negative + (zcomma ? value : padding + value)) + fullSuffix; - }; - }; - } - var d3_format_re = /(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i; - var d3_format_types = d3.map({ - b: function(x) { - return x.toString(2); - }, - c: function(x) { - return String.fromCharCode(x); - }, - o: function(x) { - return x.toString(8); - }, - x: function(x) { - return x.toString(16); - }, - X: function(x) { - return x.toString(16).toUpperCase(); - }, - g: function(x, p) { - return x.toPrecision(p); - }, - e: function(x, p) { - return x.toExponential(p); - }, - f: function(x, p) { - return x.toFixed(p); - }, - r: function(x, p) { - return (x = d3.round(x, d3_format_precision(x, p))).toFixed(Math.max(0, Math.min(20, d3_format_precision(x * (1 + 1e-15), p)))); - } - }); - function d3_format_typeDefault(x) { - return x + ""; - } - var d3_time = d3.time = {}, d3_date = Date; - function d3_date_utc() { - this._ = new Date(arguments.length > 1 ? Date.UTC.apply(this, arguments) : arguments[0]); - } - d3_date_utc.prototype = { - getDate: function() { - return this._.getUTCDate(); - }, - getDay: function() { - return this._.getUTCDay(); - }, - getFullYear: function() { - return this._.getUTCFullYear(); - }, - getHours: function() { - return this._.getUTCHours(); - }, - getMilliseconds: function() { - return this._.getUTCMilliseconds(); - }, - getMinutes: function() { - return this._.getUTCMinutes(); - }, - getMonth: function() { - return this._.getUTCMonth(); - }, - getSeconds: function() { - return this._.getUTCSeconds(); - }, - getTime: function() { - return this._.getTime(); - }, - getTimezoneOffset: function() { - return 0; - }, - valueOf: function() { - return this._.valueOf(); - }, - setDate: function() { - d3_time_prototype.setUTCDate.apply(this._, arguments); - }, - setDay: function() { - d3_time_prototype.setUTCDay.apply(this._, arguments); - }, - setFullYear: function() { - d3_time_prototype.setUTCFullYear.apply(this._, arguments); - }, - setHours: function() { - d3_time_prototype.setUTCHours.apply(this._, arguments); - }, - setMilliseconds: function() { - d3_time_prototype.setUTCMilliseconds.apply(this._, arguments); - }, - setMinutes: function() { - d3_time_prototype.setUTCMinutes.apply(this._, arguments); - }, - setMonth: function() { - d3_time_prototype.setUTCMonth.apply(this._, arguments); - }, - setSeconds: function() { - d3_time_prototype.setUTCSeconds.apply(this._, arguments); - }, - setTime: function() { - d3_time_prototype.setTime.apply(this._, arguments); - } - }; - var d3_time_prototype = Date.prototype; - function d3_time_interval(local, step, number) { - function round(date) { - var d0 = local(date), d1 = offset(d0, 1); - return date - d0 < d1 - date ? d0 : d1; - } - function ceil(date) { - step(date = local(new d3_date(date - 1)), 1); - return date; - } - function offset(date, k) { - step(date = new d3_date(+date), k); - return date; - } - function range(t0, t1, dt) { - var time = ceil(t0), times = []; - if (dt > 1) { - while (time < t1) { - if (!(number(time) % dt)) times.push(new Date(+time)); - step(time, 1); - } - } else { - while (time < t1) times.push(new Date(+time)), step(time, 1); - } - return times; - } - function range_utc(t0, t1, dt) { - try { - d3_date = d3_date_utc; - var utc = new d3_date_utc(); - utc._ = t0; - return range(utc, t1, dt); - } finally { - d3_date = Date; - } - } - local.floor = local; - local.round = round; - local.ceil = ceil; - local.offset = offset; - local.range = range; - var utc = local.utc = d3_time_interval_utc(local); - utc.floor = utc; - utc.round = d3_time_interval_utc(round); - utc.ceil = d3_time_interval_utc(ceil); - utc.offset = d3_time_interval_utc(offset); - utc.range = range_utc; - return local; - } - function d3_time_interval_utc(method) { - return function(date, k) { - try { - d3_date = d3_date_utc; - var utc = new d3_date_utc(); - utc._ = date; - return method(utc, k)._; - } finally { - d3_date = Date; - } - }; - } - d3_time.year = d3_time_interval(function(date) { - date = d3_time.day(date); - date.setMonth(0, 1); - return date; - }, function(date, offset) { - date.setFullYear(date.getFullYear() + offset); - }, function(date) { - return date.getFullYear(); - }); - d3_time.years = d3_time.year.range; - d3_time.years.utc = d3_time.year.utc.range; - d3_time.day = d3_time_interval(function(date) { - var day = new d3_date(2e3, 0); - day.setFullYear(date.getFullYear(), date.getMonth(), date.getDate()); - return day; - }, function(date, offset) { - date.setDate(date.getDate() + offset); - }, function(date) { - return date.getDate() - 1; - }); - d3_time.days = d3_time.day.range; - d3_time.days.utc = d3_time.day.utc.range; - d3_time.dayOfYear = function(date) { - var year = d3_time.year(date); - return Math.floor((date - year - (date.getTimezoneOffset() - year.getTimezoneOffset()) * 6e4) / 864e5); - }; - [ "sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday" ].forEach(function(day, i) { - i = 7 - i; - var interval = d3_time[day] = d3_time_interval(function(date) { - (date = d3_time.day(date)).setDate(date.getDate() - (date.getDay() + i) % 7); - return date; - }, function(date, offset) { - date.setDate(date.getDate() + Math.floor(offset) * 7); - }, function(date) { - var day = d3_time.year(date).getDay(); - return Math.floor((d3_time.dayOfYear(date) + (day + i) % 7) / 7) - (day !== i); - }); - d3_time[day + "s"] = interval.range; - d3_time[day + "s"].utc = interval.utc.range; - d3_time[day + "OfYear"] = function(date) { - var day = d3_time.year(date).getDay(); - return Math.floor((d3_time.dayOfYear(date) + (day + i) % 7) / 7); - }; - }); - d3_time.week = d3_time.sunday; - d3_time.weeks = d3_time.sunday.range; - d3_time.weeks.utc = d3_time.sunday.utc.range; - d3_time.weekOfYear = d3_time.sundayOfYear; - function d3_locale_timeFormat(locale) { - var locale_dateTime = locale.dateTime, locale_date = locale.date, locale_time = locale.time, locale_periods = locale.periods, locale_days = locale.days, locale_shortDays = locale.shortDays, locale_months = locale.months, locale_shortMonths = locale.shortMonths; - function d3_time_format(template) { - var n = template.length; - function format(date) { - var string = [], i = -1, j = 0, c, p, f; - while (++i < n) { - if (template.charCodeAt(i) === 37) { - string.push(template.slice(j, i)); - if ((p = d3_time_formatPads[c = template.charAt(++i)]) != null) c = template.charAt(++i); - if (f = d3_time_formats[c]) c = f(date, p == null ? c === "e" ? " " : "0" : p); - string.push(c); - j = i + 1; - } - } - string.push(template.slice(j, i)); - return string.join(""); - } - format.parse = function(string) { - var d = { - y: 1900, - m: 0, - d: 1, - H: 0, - M: 0, - S: 0, - L: 0, - Z: null - }, i = d3_time_parse(d, template, string, 0); - if (i != string.length) return null; - if ("p" in d) d.H = d.H % 12 + d.p * 12; - var localZ = d.Z != null && d3_date !== d3_date_utc, date = new (localZ ? d3_date_utc : d3_date)(); - if ("j" in d) date.setFullYear(d.y, 0, d.j); else if ("w" in d && ("W" in d || "U" in d)) { - date.setFullYear(d.y, 0, 1); - date.setFullYear(d.y, 0, "W" in d ? (d.w + 6) % 7 + d.W * 7 - (date.getDay() + 5) % 7 : d.w + d.U * 7 - (date.getDay() + 6) % 7); - } else date.setFullYear(d.y, d.m, d.d); - date.setHours(d.H + (d.Z / 100 | 0), d.M + d.Z % 100, d.S, d.L); - return localZ ? date._ : date; - }; - format.toString = function() { - return template; - }; - return format; - } - function d3_time_parse(date, template, string, j) { - var c, p, t, i = 0, n = template.length, m = string.length; - while (i < n) { - if (j >= m) return -1; - c = template.charCodeAt(i++); - if (c === 37) { - t = template.charAt(i++); - p = d3_time_parsers[t in d3_time_formatPads ? template.charAt(i++) : t]; - if (!p || (j = p(date, string, j)) < 0) return -1; - } else if (c != string.charCodeAt(j++)) { - return -1; - } - } - return j; - } - d3_time_format.utc = function(template) { - var local = d3_time_format(template); - function format(date) { - try { - d3_date = d3_date_utc; - var utc = new d3_date(); - utc._ = date; - return local(utc); - } finally { - d3_date = Date; - } - } - format.parse = function(string) { - try { - d3_date = d3_date_utc; - var date = local.parse(string); - return date && date._; - } finally { - d3_date = Date; - } - }; - format.toString = local.toString; - return format; - }; - d3_time_format.multi = d3_time_format.utc.multi = d3_time_formatMulti; - var d3_time_periodLookup = d3.map(), d3_time_dayRe = d3_time_formatRe(locale_days), d3_time_dayLookup = d3_time_formatLookup(locale_days), d3_time_dayAbbrevRe = d3_time_formatRe(locale_shortDays), d3_time_dayAbbrevLookup = d3_time_formatLookup(locale_shortDays), d3_time_monthRe = d3_time_formatRe(locale_months), d3_time_monthLookup = d3_time_formatLookup(locale_months), d3_time_monthAbbrevRe = d3_time_formatRe(locale_shortMonths), d3_time_monthAbbrevLookup = d3_time_formatLookup(locale_shortMonths); - locale_periods.forEach(function(p, i) { - d3_time_periodLookup.set(p.toLowerCase(), i); - }); - var d3_time_formats = { - a: function(d) { - return locale_shortDays[d.getDay()]; - }, - A: function(d) { - return locale_days[d.getDay()]; - }, - b: function(d) { - return locale_shortMonths[d.getMonth()]; - }, - B: function(d) { - return locale_months[d.getMonth()]; - }, - c: d3_time_format(locale_dateTime), - d: function(d, p) { - return d3_time_formatPad(d.getDate(), p, 2); - }, - e: function(d, p) { - return d3_time_formatPad(d.getDate(), p, 2); - }, - H: function(d, p) { - return d3_time_formatPad(d.getHours(), p, 2); - }, - I: function(d, p) { - return d3_time_formatPad(d.getHours() % 12 || 12, p, 2); - }, - j: function(d, p) { - return d3_time_formatPad(1 + d3_time.dayOfYear(d), p, 3); - }, - L: function(d, p) { - return d3_time_formatPad(d.getMilliseconds(), p, 3); - }, - m: function(d, p) { - return d3_time_formatPad(d.getMonth() + 1, p, 2); - }, - M: function(d, p) { - return d3_time_formatPad(d.getMinutes(), p, 2); - }, - p: function(d) { - return locale_periods[+(d.getHours() >= 12)]; - }, - S: function(d, p) { - return d3_time_formatPad(d.getSeconds(), p, 2); - }, - U: function(d, p) { - return d3_time_formatPad(d3_time.sundayOfYear(d), p, 2); - }, - w: function(d) { - return d.getDay(); - }, - W: function(d, p) { - return d3_time_formatPad(d3_time.mondayOfYear(d), p, 2); - }, - x: d3_time_format(locale_date), - X: d3_time_format(locale_time), - y: function(d, p) { - return d3_time_formatPad(d.getFullYear() % 100, p, 2); - }, - Y: function(d, p) { - return d3_time_formatPad(d.getFullYear() % 1e4, p, 4); - }, - Z: d3_time_zone, - "%": function() { - return "%"; - } - }; - var d3_time_parsers = { - a: d3_time_parseWeekdayAbbrev, - A: d3_time_parseWeekday, - b: d3_time_parseMonthAbbrev, - B: d3_time_parseMonth, - c: d3_time_parseLocaleFull, - d: d3_time_parseDay, - e: d3_time_parseDay, - H: d3_time_parseHour24, - I: d3_time_parseHour24, - j: d3_time_parseDayOfYear, - L: d3_time_parseMilliseconds, - m: d3_time_parseMonthNumber, - M: d3_time_parseMinutes, - p: d3_time_parseAmPm, - S: d3_time_parseSeconds, - U: d3_time_parseWeekNumberSunday, - w: d3_time_parseWeekdayNumber, - W: d3_time_parseWeekNumberMonday, - x: d3_time_parseLocaleDate, - X: d3_time_parseLocaleTime, - y: d3_time_parseYear, - Y: d3_time_parseFullYear, - Z: d3_time_parseZone, - "%": d3_time_parseLiteralPercent - }; - function d3_time_parseWeekdayAbbrev(date, string, i) { - d3_time_dayAbbrevRe.lastIndex = 0; - var n = d3_time_dayAbbrevRe.exec(string.slice(i)); - return n ? (date.w = d3_time_dayAbbrevLookup.get(n[0].toLowerCase()), i + n[0].length) : -1; - } - function d3_time_parseWeekday(date, string, i) { - d3_time_dayRe.lastIndex = 0; - var n = d3_time_dayRe.exec(string.slice(i)); - return n ? (date.w = d3_time_dayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1; - } - function d3_time_parseMonthAbbrev(date, string, i) { - d3_time_monthAbbrevRe.lastIndex = 0; - var n = d3_time_monthAbbrevRe.exec(string.slice(i)); - return n ? (date.m = d3_time_monthAbbrevLookup.get(n[0].toLowerCase()), i + n[0].length) : -1; - } - function d3_time_parseMonth(date, string, i) { - d3_time_monthRe.lastIndex = 0; - var n = d3_time_monthRe.exec(string.slice(i)); - return n ? (date.m = d3_time_monthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1; - } - function d3_time_parseLocaleFull(date, string, i) { - return d3_time_parse(date, d3_time_formats.c.toString(), string, i); - } - function d3_time_parseLocaleDate(date, string, i) { - return d3_time_parse(date, d3_time_formats.x.toString(), string, i); - } - function d3_time_parseLocaleTime(date, string, i) { - return d3_time_parse(date, d3_time_formats.X.toString(), string, i); - } - function d3_time_parseAmPm(date, string, i) { - var n = d3_time_periodLookup.get(string.slice(i, i += 2).toLowerCase()); - return n == null ? -1 : (date.p = n, i); - } - return d3_time_format; - } - var d3_time_formatPads = { - "-": "", - _: " ", - "0": "0" - }, d3_time_numberRe = /^\s*\d+/, d3_time_percentRe = /^%/; - function d3_time_formatPad(value, fill, width) { - var sign = value < 0 ? "-" : "", string = (sign ? -value : value) + "", length = string.length; - return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string); - } - function d3_time_formatRe(names) { - return new RegExp("^(?:" + names.map(d3.requote).join("|") + ")", "i"); - } - function d3_time_formatLookup(names) { - var map = new d3_Map(), i = -1, n = names.length; - while (++i < n) map.set(names[i].toLowerCase(), i); - return map; - } - function d3_time_parseWeekdayNumber(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 1)); - return n ? (date.w = +n[0], i + n[0].length) : -1; - } - function d3_time_parseWeekNumberSunday(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i)); - return n ? (date.U = +n[0], i + n[0].length) : -1; - } - function d3_time_parseWeekNumberMonday(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i)); - return n ? (date.W = +n[0], i + n[0].length) : -1; - } - function d3_time_parseFullYear(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 4)); - return n ? (date.y = +n[0], i + n[0].length) : -1; - } - function d3_time_parseYear(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 2)); - return n ? (date.y = d3_time_expandYear(+n[0]), i + n[0].length) : -1; - } - function d3_time_parseZone(date, string, i) { - return /^[+-]\d{4}$/.test(string = string.slice(i, i + 5)) ? (date.Z = -string, - i + 5) : -1; - } - function d3_time_expandYear(d) { - return d + (d > 68 ? 1900 : 2e3); - } - function d3_time_parseMonthNumber(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 2)); - return n ? (date.m = n[0] - 1, i + n[0].length) : -1; - } - function d3_time_parseDay(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 2)); - return n ? (date.d = +n[0], i + n[0].length) : -1; - } - function d3_time_parseDayOfYear(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 3)); - return n ? (date.j = +n[0], i + n[0].length) : -1; - } - function d3_time_parseHour24(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 2)); - return n ? (date.H = +n[0], i + n[0].length) : -1; - } - function d3_time_parseMinutes(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 2)); - return n ? (date.M = +n[0], i + n[0].length) : -1; - } - function d3_time_parseSeconds(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 2)); - return n ? (date.S = +n[0], i + n[0].length) : -1; - } - function d3_time_parseMilliseconds(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 3)); - return n ? (date.L = +n[0], i + n[0].length) : -1; - } - function d3_time_zone(d) { - var z = d.getTimezoneOffset(), zs = z > 0 ? "-" : "+", zh = abs(z) / 60 | 0, zm = abs(z) % 60; - return zs + d3_time_formatPad(zh, "0", 2) + d3_time_formatPad(zm, "0", 2); - } - function d3_time_parseLiteralPercent(date, string, i) { - d3_time_percentRe.lastIndex = 0; - var n = d3_time_percentRe.exec(string.slice(i, i + 1)); - return n ? i + n[0].length : -1; - } - function d3_time_formatMulti(formats) { - var n = formats.length, i = -1; - while (++i < n) formats[i][0] = this(formats[i][0]); - return function(date) { - var i = 0, f = formats[i]; - while (!f[1](date)) f = formats[++i]; - return f[0](date); - }; - } - d3.locale = function(locale) { - return { - numberFormat: d3_locale_numberFormat(locale), - timeFormat: d3_locale_timeFormat(locale) - }; - }; - var d3_locale_enUS = d3.locale({ - decimal: ".", - thousands: ",", - grouping: [ 3 ], - currency: [ "$", "" ], - dateTime: "%a %b %e %X %Y", - date: "%m/%d/%Y", - time: "%H:%M:%S", - periods: [ "AM", "PM" ], - days: [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ], - shortDays: [ "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" ], - months: [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ], - shortMonths: [ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" ] - }); - d3.format = d3_locale_enUS.numberFormat; - d3.geo = {}; - function d3_adder() {} - d3_adder.prototype = { - s: 0, - t: 0, - add: function(y) { - d3_adderSum(y, this.t, d3_adderTemp); - d3_adderSum(d3_adderTemp.s, this.s, this); - if (this.s) this.t += d3_adderTemp.t; else this.s = d3_adderTemp.t; - }, - reset: function() { - this.s = this.t = 0; - }, - valueOf: function() { - return this.s; - } - }; - var d3_adderTemp = new d3_adder(); - function d3_adderSum(a, b, o) { - var x = o.s = a + b, bv = x - a, av = x - bv; - o.t = a - av + (b - bv); - } - d3.geo.stream = function(object, listener) { - if (object && d3_geo_streamObjectType.hasOwnProperty(object.type)) { - d3_geo_streamObjectType[object.type](object, listener); - } else { - d3_geo_streamGeometry(object, listener); - } - }; - function d3_geo_streamGeometry(geometry, listener) { - if (geometry && d3_geo_streamGeometryType.hasOwnProperty(geometry.type)) { - d3_geo_streamGeometryType[geometry.type](geometry, listener); - } - } - var d3_geo_streamObjectType = { - Feature: function(feature, listener) { - d3_geo_streamGeometry(feature.geometry, listener); - }, - FeatureCollection: function(object, listener) { - var features = object.features, i = -1, n = features.length; - while (++i < n) d3_geo_streamGeometry(features[i].geometry, listener); - } - }; - var d3_geo_streamGeometryType = { - Sphere: function(object, listener) { - listener.sphere(); - }, - Point: function(object, listener) { - object = object.coordinates; - listener.point(object[0], object[1], object[2]); - }, - MultiPoint: function(object, listener) { - var coordinates = object.coordinates, i = -1, n = coordinates.length; - while (++i < n) object = coordinates[i], listener.point(object[0], object[1], object[2]); - }, - LineString: function(object, listener) { - d3_geo_streamLine(object.coordinates, listener, 0); - }, - MultiLineString: function(object, listener) { - var coordinates = object.coordinates, i = -1, n = coordinates.length; - while (++i < n) d3_geo_streamLine(coordinates[i], listener, 0); - }, - Polygon: function(object, listener) { - d3_geo_streamPolygon(object.coordinates, listener); - }, - MultiPolygon: function(object, listener) { - var coordinates = object.coordinates, i = -1, n = coordinates.length; - while (++i < n) d3_geo_streamPolygon(coordinates[i], listener); - }, - GeometryCollection: function(object, listener) { - var geometries = object.geometries, i = -1, n = geometries.length; - while (++i < n) d3_geo_streamGeometry(geometries[i], listener); - } - }; - function d3_geo_streamLine(coordinates, listener, closed) { - var i = -1, n = coordinates.length - closed, coordinate; - listener.lineStart(); - while (++i < n) coordinate = coordinates[i], listener.point(coordinate[0], coordinate[1], coordinate[2]); - listener.lineEnd(); - } - function d3_geo_streamPolygon(coordinates, listener) { - var i = -1, n = coordinates.length; - listener.polygonStart(); - while (++i < n) d3_geo_streamLine(coordinates[i], listener, 1); - listener.polygonEnd(); - } - d3.geo.area = function(object) { - d3_geo_areaSum = 0; - d3.geo.stream(object, d3_geo_area); - return d3_geo_areaSum; - }; - var d3_geo_areaSum, d3_geo_areaRingSum = new d3_adder(); - var d3_geo_area = { - sphere: function() { - d3_geo_areaSum += 4 * π; - }, - point: d3_noop, - lineStart: d3_noop, - lineEnd: d3_noop, - polygonStart: function() { - d3_geo_areaRingSum.reset(); - d3_geo_area.lineStart = d3_geo_areaRingStart; - }, - polygonEnd: function() { - var area = 2 * d3_geo_areaRingSum; - d3_geo_areaSum += area < 0 ? 4 * π + area : area; - d3_geo_area.lineStart = d3_geo_area.lineEnd = d3_geo_area.point = d3_noop; - } - }; - function d3_geo_areaRingStart() { - var λ00, φ00, λ0, cosφ0, sinφ0; - d3_geo_area.point = function(λ, φ) { - d3_geo_area.point = nextPoint; - λ0 = (λ00 = λ) * d3_radians, cosφ0 = Math.cos(φ = (φ00 = φ) * d3_radians / 2 + π / 4), - sinφ0 = Math.sin(φ); - }; - function nextPoint(λ, φ) { - λ *= d3_radians; - φ = φ * d3_radians / 2 + π / 4; - var dλ = λ - λ0, sdλ = dλ >= 0 ? 1 : -1, adλ = sdλ * dλ, cosφ = Math.cos(φ), sinφ = Math.sin(φ), k = sinφ0 * sinφ, u = cosφ0 * cosφ + k * Math.cos(adλ), v = k * sdλ * Math.sin(adλ); - d3_geo_areaRingSum.add(Math.atan2(v, u)); - λ0 = λ, cosφ0 = cosφ, sinφ0 = sinφ; - } - d3_geo_area.lineEnd = function() { - nextPoint(λ00, φ00); - }; - } - function d3_geo_cartesian(spherical) { - var λ = spherical[0], φ = spherical[1], cosφ = Math.cos(φ); - return [ cosφ * Math.cos(λ), cosφ * Math.sin(λ), Math.sin(φ) ]; - } - function d3_geo_cartesianDot(a, b) { - return a[0] * b[0] + a[1] * b[1] + a[2] * b[2]; - } - function d3_geo_cartesianCross(a, b) { - return [ a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0] ]; - } - function d3_geo_cartesianAdd(a, b) { - a[0] += b[0]; - a[1] += b[1]; - a[2] += b[2]; - } - function d3_geo_cartesianScale(vector, k) { - return [ vector[0] * k, vector[1] * k, vector[2] * k ]; - } - function d3_geo_cartesianNormalize(d) { - var l = Math.sqrt(d[0] * d[0] + d[1] * d[1] + d[2] * d[2]); - d[0] /= l; - d[1] /= l; - d[2] /= l; - } - function d3_geo_spherical(cartesian) { - return [ Math.atan2(cartesian[1], cartesian[0]), d3_asin(cartesian[2]) ]; - } - function d3_geo_sphericalEqual(a, b) { - return abs(a[0] - b[0]) < ε && abs(a[1] - b[1]) < ε; - } - d3.geo.bounds = function() { - var λ0, φ0, λ1, φ1, λ_, λ__, φ__, p0, dλSum, ranges, range; - var bound = { - point: point, - lineStart: lineStart, - lineEnd: lineEnd, - polygonStart: function() { - bound.point = ringPoint; - bound.lineStart = ringStart; - bound.lineEnd = ringEnd; - dλSum = 0; - d3_geo_area.polygonStart(); - }, - polygonEnd: function() { - d3_geo_area.polygonEnd(); - bound.point = point; - bound.lineStart = lineStart; - bound.lineEnd = lineEnd; - if (d3_geo_areaRingSum < 0) λ0 = -(λ1 = 180), φ0 = -(φ1 = 90); else if (dλSum > ε) φ1 = 90; else if (dλSum < -ε) φ0 = -90; - range[0] = λ0, range[1] = λ1; - } - }; - function point(λ, φ) { - ranges.push(range = [ λ0 = λ, λ1 = λ ]); - if (φ < φ0) φ0 = φ; - if (φ > φ1) φ1 = φ; - } - function linePoint(λ, φ) { - var p = d3_geo_cartesian([ λ * d3_radians, φ * d3_radians ]); - if (p0) { - var normal = d3_geo_cartesianCross(p0, p), equatorial = [ normal[1], -normal[0], 0 ], inflection = d3_geo_cartesianCross(equatorial, normal); - d3_geo_cartesianNormalize(inflection); - inflection = d3_geo_spherical(inflection); - var dλ = λ - λ_, s = dλ > 0 ? 1 : -1, λi = inflection[0] * d3_degrees * s, antimeridian = abs(dλ) > 180; - if (antimeridian ^ (s * λ_ < λi && λi < s * λ)) { - var φi = inflection[1] * d3_degrees; - if (φi > φ1) φ1 = φi; - } else if (λi = (λi + 360) % 360 - 180, antimeridian ^ (s * λ_ < λi && λi < s * λ)) { - var φi = -inflection[1] * d3_degrees; - if (φi < φ0) φ0 = φi; - } else { - if (φ < φ0) φ0 = φ; - if (φ > φ1) φ1 = φ; - } - if (antimeridian) { - if (λ < λ_) { - if (angle(λ0, λ) > angle(λ0, λ1)) λ1 = λ; - } else { - if (angle(λ, λ1) > angle(λ0, λ1)) λ0 = λ; - } - } else { - if (λ1 >= λ0) { - if (λ < λ0) λ0 = λ; - if (λ > λ1) λ1 = λ; - } else { - if (λ > λ_) { - if (angle(λ0, λ) > angle(λ0, λ1)) λ1 = λ; - } else { - if (angle(λ, λ1) > angle(λ0, λ1)) λ0 = λ; - } - } - } - } else { - point(λ, φ); - } - p0 = p, λ_ = λ; - } - function lineStart() { - bound.point = linePoint; - } - function lineEnd() { - range[0] = λ0, range[1] = λ1; - bound.point = point; - p0 = null; - } - function ringPoint(λ, φ) { - if (p0) { - var dλ = λ - λ_; - dλSum += abs(dλ) > 180 ? dλ + (dλ > 0 ? 360 : -360) : dλ; - } else λ__ = λ, φ__ = φ; - d3_geo_area.point(λ, φ); - linePoint(λ, φ); - } - function ringStart() { - d3_geo_area.lineStart(); - } - function ringEnd() { - ringPoint(λ__, φ__); - d3_geo_area.lineEnd(); - if (abs(dλSum) > ε) λ0 = -(λ1 = 180); - range[0] = λ0, range[1] = λ1; - p0 = null; - } - function angle(λ0, λ1) { - return (λ1 -= λ0) < 0 ? λ1 + 360 : λ1; - } - function compareRanges(a, b) { - return a[0] - b[0]; - } - function withinRange(x, range) { - return range[0] <= range[1] ? range[0] <= x && x <= range[1] : x < range[0] || range[1] < x; - } - return function(feature) { - φ1 = λ1 = -(λ0 = φ0 = Infinity); - ranges = []; - d3.geo.stream(feature, bound); - var n = ranges.length; - if (n) { - ranges.sort(compareRanges); - for (var i = 1, a = ranges[0], b, merged = [ a ]; i < n; ++i) { - b = ranges[i]; - if (withinRange(b[0], a) || withinRange(b[1], a)) { - if (angle(a[0], b[1]) > angle(a[0], a[1])) a[1] = b[1]; - if (angle(b[0], a[1]) > angle(a[0], a[1])) a[0] = b[0]; - } else { - merged.push(a = b); - } - } - var best = -Infinity, dλ; - for (var n = merged.length - 1, i = 0, a = merged[n], b; i <= n; a = b, ++i) { - b = merged[i]; - if ((dλ = angle(a[1], b[0])) > best) best = dλ, λ0 = b[0], λ1 = a[1]; - } - } - ranges = range = null; - return λ0 === Infinity || φ0 === Infinity ? [ [ NaN, NaN ], [ NaN, NaN ] ] : [ [ λ0, φ0 ], [ λ1, φ1 ] ]; - }; - }(); - d3.geo.centroid = function(object) { - d3_geo_centroidW0 = d3_geo_centroidW1 = d3_geo_centroidX0 = d3_geo_centroidY0 = d3_geo_centroidZ0 = d3_geo_centroidX1 = d3_geo_centroidY1 = d3_geo_centroidZ1 = d3_geo_centroidX2 = d3_geo_centroidY2 = d3_geo_centroidZ2 = 0; - d3.geo.stream(object, d3_geo_centroid); - var x = d3_geo_centroidX2, y = d3_geo_centroidY2, z = d3_geo_centroidZ2, m = x * x + y * y + z * z; - if (m < ε2) { - x = d3_geo_centroidX1, y = d3_geo_centroidY1, z = d3_geo_centroidZ1; - if (d3_geo_centroidW1 < ε) x = d3_geo_centroidX0, y = d3_geo_centroidY0, z = d3_geo_centroidZ0; - m = x * x + y * y + z * z; - if (m < ε2) return [ NaN, NaN ]; - } - return [ Math.atan2(y, x) * d3_degrees, d3_asin(z / Math.sqrt(m)) * d3_degrees ]; - }; - var d3_geo_centroidW0, d3_geo_centroidW1, d3_geo_centroidX0, d3_geo_centroidY0, d3_geo_centroidZ0, d3_geo_centroidX1, d3_geo_centroidY1, d3_geo_centroidZ1, d3_geo_centroidX2, d3_geo_centroidY2, d3_geo_centroidZ2; - var d3_geo_centroid = { - sphere: d3_noop, - point: d3_geo_centroidPoint, - lineStart: d3_geo_centroidLineStart, - lineEnd: d3_geo_centroidLineEnd, - polygonStart: function() { - d3_geo_centroid.lineStart = d3_geo_centroidRingStart; - }, - polygonEnd: function() { - d3_geo_centroid.lineStart = d3_geo_centroidLineStart; - } - }; - function d3_geo_centroidPoint(λ, φ) { - λ *= d3_radians; - var cosφ = Math.cos(φ *= d3_radians); - d3_geo_centroidPointXYZ(cosφ * Math.cos(λ), cosφ * Math.sin(λ), Math.sin(φ)); - } - function d3_geo_centroidPointXYZ(x, y, z) { - ++d3_geo_centroidW0; - d3_geo_centroidX0 += (x - d3_geo_centroidX0) / d3_geo_centroidW0; - d3_geo_centroidY0 += (y - d3_geo_centroidY0) / d3_geo_centroidW0; - d3_geo_centroidZ0 += (z - d3_geo_centroidZ0) / d3_geo_centroidW0; - } - function d3_geo_centroidLineStart() { - var x0, y0, z0; - d3_geo_centroid.point = function(λ, φ) { - λ *= d3_radians; - var cosφ = Math.cos(φ *= d3_radians); - x0 = cosφ * Math.cos(λ); - y0 = cosφ * Math.sin(λ); - z0 = Math.sin(φ); - d3_geo_centroid.point = nextPoint; - d3_geo_centroidPointXYZ(x0, y0, z0); - }; - function nextPoint(λ, φ) { - λ *= d3_radians; - var cosφ = Math.cos(φ *= d3_radians), x = cosφ * Math.cos(λ), y = cosφ * Math.sin(λ), z = Math.sin(φ), w = Math.atan2(Math.sqrt((w = y0 * z - z0 * y) * w + (w = z0 * x - x0 * z) * w + (w = x0 * y - y0 * x) * w), x0 * x + y0 * y + z0 * z); - d3_geo_centroidW1 += w; - d3_geo_centroidX1 += w * (x0 + (x0 = x)); - d3_geo_centroidY1 += w * (y0 + (y0 = y)); - d3_geo_centroidZ1 += w * (z0 + (z0 = z)); - d3_geo_centroidPointXYZ(x0, y0, z0); - } - } - function d3_geo_centroidLineEnd() { - d3_geo_centroid.point = d3_geo_centroidPoint; - } - function d3_geo_centroidRingStart() { - var λ00, φ00, x0, y0, z0; - d3_geo_centroid.point = function(λ, φ) { - λ00 = λ, φ00 = φ; - d3_geo_centroid.point = nextPoint; - λ *= d3_radians; - var cosφ = Math.cos(φ *= d3_radians); - x0 = cosφ * Math.cos(λ); - y0 = cosφ * Math.sin(λ); - z0 = Math.sin(φ); - d3_geo_centroidPointXYZ(x0, y0, z0); - }; - d3_geo_centroid.lineEnd = function() { - nextPoint(λ00, φ00); - d3_geo_centroid.lineEnd = d3_geo_centroidLineEnd; - d3_geo_centroid.point = d3_geo_centroidPoint; - }; - function nextPoint(λ, φ) { - λ *= d3_radians; - var cosφ = Math.cos(φ *= d3_radians), x = cosφ * Math.cos(λ), y = cosφ * Math.sin(λ), z = Math.sin(φ), cx = y0 * z - z0 * y, cy = z0 * x - x0 * z, cz = x0 * y - y0 * x, m = Math.sqrt(cx * cx + cy * cy + cz * cz), u = x0 * x + y0 * y + z0 * z, v = m && -d3_acos(u) / m, w = Math.atan2(m, u); - d3_geo_centroidX2 += v * cx; - d3_geo_centroidY2 += v * cy; - d3_geo_centroidZ2 += v * cz; - d3_geo_centroidW1 += w; - d3_geo_centroidX1 += w * (x0 + (x0 = x)); - d3_geo_centroidY1 += w * (y0 + (y0 = y)); - d3_geo_centroidZ1 += w * (z0 + (z0 = z)); - d3_geo_centroidPointXYZ(x0, y0, z0); - } - } - function d3_geo_compose(a, b) { - function compose(x, y) { - return x = a(x, y), b(x[0], x[1]); - } - if (a.invert && b.invert) compose.invert = function(x, y) { - return x = b.invert(x, y), x && a.invert(x[0], x[1]); - }; - return compose; - } - function d3_true() { - return true; - } - function d3_geo_clipPolygon(segments, compare, clipStartInside, interpolate, listener) { - var subject = [], clip = []; - segments.forEach(function(segment) { - if ((n = segment.length - 1) <= 0) return; - var n, p0 = segment[0], p1 = segment[n]; - if (d3_geo_sphericalEqual(p0, p1)) { - listener.lineStart(); - for (var i = 0; i < n; ++i) listener.point((p0 = segment[i])[0], p0[1]); - listener.lineEnd(); - return; - } - var a = new d3_geo_clipPolygonIntersection(p0, segment, null, true), b = new d3_geo_clipPolygonIntersection(p0, null, a, false); - a.o = b; - subject.push(a); - clip.push(b); - a = new d3_geo_clipPolygonIntersection(p1, segment, null, false); - b = new d3_geo_clipPolygonIntersection(p1, null, a, true); - a.o = b; - subject.push(a); - clip.push(b); - }); - clip.sort(compare); - d3_geo_clipPolygonLinkCircular(subject); - d3_geo_clipPolygonLinkCircular(clip); - if (!subject.length) return; - for (var i = 0, entry = clipStartInside, n = clip.length; i < n; ++i) { - clip[i].e = entry = !entry; - } - var start = subject[0], points, point; - while (1) { - var current = start, isSubject = true; - while (current.v) if ((current = current.n) === start) return; - points = current.z; - listener.lineStart(); - do { - current.v = current.o.v = true; - if (current.e) { - if (isSubject) { - for (var i = 0, n = points.length; i < n; ++i) listener.point((point = points[i])[0], point[1]); - } else { - interpolate(current.x, current.n.x, 1, listener); - } - current = current.n; - } else { - if (isSubject) { - points = current.p.z; - for (var i = points.length - 1; i >= 0; --i) listener.point((point = points[i])[0], point[1]); - } else { - interpolate(current.x, current.p.x, -1, listener); - } - current = current.p; - } - current = current.o; - points = current.z; - isSubject = !isSubject; - } while (!current.v); - listener.lineEnd(); - } - } - function d3_geo_clipPolygonLinkCircular(array) { - if (!(n = array.length)) return; - var n, i = 0, a = array[0], b; - while (++i < n) { - a.n = b = array[i]; - b.p = a; - a = b; - } - a.n = b = array[0]; - b.p = a; - } - function d3_geo_clipPolygonIntersection(point, points, other, entry) { - this.x = point; - this.z = points; - this.o = other; - this.e = entry; - this.v = false; - this.n = this.p = null; - } - function d3_geo_clip(pointVisible, clipLine, interpolate, clipStart) { - return function(rotate, listener) { - var line = clipLine(listener), rotatedClipStart = rotate.invert(clipStart[0], clipStart[1]); - var clip = { - point: point, - lineStart: lineStart, - lineEnd: lineEnd, - polygonStart: function() { - clip.point = pointRing; - clip.lineStart = ringStart; - clip.lineEnd = ringEnd; - segments = []; - polygon = []; - }, - polygonEnd: function() { - clip.point = point; - clip.lineStart = lineStart; - clip.lineEnd = lineEnd; - segments = d3.merge(segments); - var clipStartInside = d3_geo_pointInPolygon(rotatedClipStart, polygon); - if (segments.length) { - if (!polygonStarted) listener.polygonStart(), polygonStarted = true; - d3_geo_clipPolygon(segments, d3_geo_clipSort, clipStartInside, interpolate, listener); - } else if (clipStartInside) { - if (!polygonStarted) listener.polygonStart(), polygonStarted = true; - listener.lineStart(); - interpolate(null, null, 1, listener); - listener.lineEnd(); - } - if (polygonStarted) listener.polygonEnd(), polygonStarted = false; - segments = polygon = null; - }, - sphere: function() { - listener.polygonStart(); - listener.lineStart(); - interpolate(null, null, 1, listener); - listener.lineEnd(); - listener.polygonEnd(); - } - }; - function point(λ, φ) { - var point = rotate(λ, φ); - if (pointVisible(λ = point[0], φ = point[1])) listener.point(λ, φ); - } - function pointLine(λ, φ) { - var point = rotate(λ, φ); - line.point(point[0], point[1]); - } - function lineStart() { - clip.point = pointLine; - line.lineStart(); - } - function lineEnd() { - clip.point = point; - line.lineEnd(); - } - var segments; - var buffer = d3_geo_clipBufferListener(), ringListener = clipLine(buffer), polygonStarted = false, polygon, ring; - function pointRing(λ, φ) { - ring.push([ λ, φ ]); - var point = rotate(λ, φ); - ringListener.point(point[0], point[1]); - } - function ringStart() { - ringListener.lineStart(); - ring = []; - } - function ringEnd() { - pointRing(ring[0][0], ring[0][1]); - ringListener.lineEnd(); - var clean = ringListener.clean(), ringSegments = buffer.buffer(), segment, n = ringSegments.length; - ring.pop(); - polygon.push(ring); - ring = null; - if (!n) return; - if (clean & 1) { - segment = ringSegments[0]; - var n = segment.length - 1, i = -1, point; - if (n > 0) { - if (!polygonStarted) listener.polygonStart(), polygonStarted = true; - listener.lineStart(); - while (++i < n) listener.point((point = segment[i])[0], point[1]); - listener.lineEnd(); - } - return; - } - if (n > 1 && clean & 2) ringSegments.push(ringSegments.pop().concat(ringSegments.shift())); - segments.push(ringSegments.filter(d3_geo_clipSegmentLength1)); - } - return clip; - }; - } - function d3_geo_clipSegmentLength1(segment) { - return segment.length > 1; - } - function d3_geo_clipBufferListener() { - var lines = [], line; - return { - lineStart: function() { - lines.push(line = []); - }, - point: function(λ, φ) { - line.push([ λ, φ ]); - }, - lineEnd: d3_noop, - buffer: function() { - var buffer = lines; - lines = []; - line = null; - return buffer; - }, - rejoin: function() { - if (lines.length > 1) lines.push(lines.pop().concat(lines.shift())); - } - }; - } - function d3_geo_clipSort(a, b) { - return ((a = a.x)[0] < 0 ? a[1] - halfπ - ε : halfπ - a[1]) - ((b = b.x)[0] < 0 ? b[1] - halfπ - ε : halfπ - b[1]); - } - var d3_geo_clipAntimeridian = d3_geo_clip(d3_true, d3_geo_clipAntimeridianLine, d3_geo_clipAntimeridianInterpolate, [ -π, -π / 2 ]); - function d3_geo_clipAntimeridianLine(listener) { - var λ0 = NaN, φ0 = NaN, sλ0 = NaN, clean; - return { - lineStart: function() { - listener.lineStart(); - clean = 1; - }, - point: function(λ1, φ1) { - var sλ1 = λ1 > 0 ? π : -π, dλ = abs(λ1 - λ0); - if (abs(dλ - π) < ε) { - listener.point(λ0, φ0 = (φ0 + φ1) / 2 > 0 ? halfπ : -halfπ); - listener.point(sλ0, φ0); - listener.lineEnd(); - listener.lineStart(); - listener.point(sλ1, φ0); - listener.point(λ1, φ0); - clean = 0; - } else if (sλ0 !== sλ1 && dλ >= π) { - if (abs(λ0 - sλ0) < ε) λ0 -= sλ0 * ε; - if (abs(λ1 - sλ1) < ε) λ1 -= sλ1 * ε; - φ0 = d3_geo_clipAntimeridianIntersect(λ0, φ0, λ1, φ1); - listener.point(sλ0, φ0); - listener.lineEnd(); - listener.lineStart(); - listener.point(sλ1, φ0); - clean = 0; - } - listener.point(λ0 = λ1, φ0 = φ1); - sλ0 = sλ1; - }, - lineEnd: function() { - listener.lineEnd(); - λ0 = φ0 = NaN; - }, - clean: function() { - return 2 - clean; - } - }; - } - function d3_geo_clipAntimeridianIntersect(λ0, φ0, λ1, φ1) { - var cosφ0, cosφ1, sinλ0_λ1 = Math.sin(λ0 - λ1); - return abs(sinλ0_λ1) > ε ? Math.atan((Math.sin(φ0) * (cosφ1 = Math.cos(φ1)) * Math.sin(λ1) - Math.sin(φ1) * (cosφ0 = Math.cos(φ0)) * Math.sin(λ0)) / (cosφ0 * cosφ1 * sinλ0_λ1)) : (φ0 + φ1) / 2; - } - function d3_geo_clipAntimeridianInterpolate(from, to, direction, listener) { - var φ; - if (from == null) { - φ = direction * halfπ; - listener.point(-π, φ); - listener.point(0, φ); - listener.point(π, φ); - listener.point(π, 0); - listener.point(π, -φ); - listener.point(0, -φ); - listener.point(-π, -φ); - listener.point(-π, 0); - listener.point(-π, φ); - } else if (abs(from[0] - to[0]) > ε) { - var s = from[0] < to[0] ? π : -π; - φ = direction * s / 2; - listener.point(-s, φ); - listener.point(0, φ); - listener.point(s, φ); - } else { - listener.point(to[0], to[1]); - } - } - function d3_geo_pointInPolygon(point, polygon) { - var meridian = point[0], parallel = point[1], meridianNormal = [ Math.sin(meridian), -Math.cos(meridian), 0 ], polarAngle = 0, winding = 0; - d3_geo_areaRingSum.reset(); - for (var i = 0, n = polygon.length; i < n; ++i) { - var ring = polygon[i], m = ring.length; - if (!m) continue; - var point0 = ring[0], λ0 = point0[0], φ0 = point0[1] / 2 + π / 4, sinφ0 = Math.sin(φ0), cosφ0 = Math.cos(φ0), j = 1; - while (true) { - if (j === m) j = 0; - point = ring[j]; - var λ = point[0], φ = point[1] / 2 + π / 4, sinφ = Math.sin(φ), cosφ = Math.cos(φ), dλ = λ - λ0, sdλ = dλ >= 0 ? 1 : -1, adλ = sdλ * dλ, antimeridian = adλ > π, k = sinφ0 * sinφ; - d3_geo_areaRingSum.add(Math.atan2(k * sdλ * Math.sin(adλ), cosφ0 * cosφ + k * Math.cos(adλ))); - polarAngle += antimeridian ? dλ + sdλ * τ : dλ; - if (antimeridian ^ λ0 >= meridian ^ λ >= meridian) { - var arc = d3_geo_cartesianCross(d3_geo_cartesian(point0), d3_geo_cartesian(point)); - d3_geo_cartesianNormalize(arc); - var intersection = d3_geo_cartesianCross(meridianNormal, arc); - d3_geo_cartesianNormalize(intersection); - var φarc = (antimeridian ^ dλ >= 0 ? -1 : 1) * d3_asin(intersection[2]); - if (parallel > φarc || parallel === φarc && (arc[0] || arc[1])) { - winding += antimeridian ^ dλ >= 0 ? 1 : -1; - } - } - if (!j++) break; - λ0 = λ, sinφ0 = sinφ, cosφ0 = cosφ, point0 = point; - } - } - return (polarAngle < -ε || polarAngle < ε && d3_geo_areaRingSum < 0) ^ winding & 1; - } - function d3_geo_clipCircle(radius) { - var cr = Math.cos(radius), smallRadius = cr > 0, notHemisphere = abs(cr) > ε, interpolate = d3_geo_circleInterpolate(radius, 6 * d3_radians); - return d3_geo_clip(visible, clipLine, interpolate, smallRadius ? [ 0, -radius ] : [ -π, radius - π ]); - function visible(λ, φ) { - return Math.cos(λ) * Math.cos(φ) > cr; - } - function clipLine(listener) { - var point0, c0, v0, v00, clean; - return { - lineStart: function() { - v00 = v0 = false; - clean = 1; - }, - point: function(λ, φ) { - var point1 = [ λ, φ ], point2, v = visible(λ, φ), c = smallRadius ? v ? 0 : code(λ, φ) : v ? code(λ + (λ < 0 ? π : -π), φ) : 0; - if (!point0 && (v00 = v0 = v)) listener.lineStart(); - if (v !== v0) { - point2 = intersect(point0, point1); - if (d3_geo_sphericalEqual(point0, point2) || d3_geo_sphericalEqual(point1, point2)) { - point1[0] += ε; - point1[1] += ε; - v = visible(point1[0], point1[1]); - } - } - if (v !== v0) { - clean = 0; - if (v) { - listener.lineStart(); - point2 = intersect(point1, point0); - listener.point(point2[0], point2[1]); - } else { - point2 = intersect(point0, point1); - listener.point(point2[0], point2[1]); - listener.lineEnd(); - } - point0 = point2; - } else if (notHemisphere && point0 && smallRadius ^ v) { - var t; - if (!(c & c0) && (t = intersect(point1, point0, true))) { - clean = 0; - if (smallRadius) { - listener.lineStart(); - listener.point(t[0][0], t[0][1]); - listener.point(t[1][0], t[1][1]); - listener.lineEnd(); - } else { - listener.point(t[1][0], t[1][1]); - listener.lineEnd(); - listener.lineStart(); - listener.point(t[0][0], t[0][1]); - } - } - } - if (v && (!point0 || !d3_geo_sphericalEqual(point0, point1))) { - listener.point(point1[0], point1[1]); - } - point0 = point1, v0 = v, c0 = c; - }, - lineEnd: function() { - if (v0) listener.lineEnd(); - point0 = null; - }, - clean: function() { - return clean | (v00 && v0) << 1; - } - }; - } - function intersect(a, b, two) { - var pa = d3_geo_cartesian(a), pb = d3_geo_cartesian(b); - var n1 = [ 1, 0, 0 ], n2 = d3_geo_cartesianCross(pa, pb), n2n2 = d3_geo_cartesianDot(n2, n2), n1n2 = n2[0], determinant = n2n2 - n1n2 * n1n2; - if (!determinant) return !two && a; - var c1 = cr * n2n2 / determinant, c2 = -cr * n1n2 / determinant, n1xn2 = d3_geo_cartesianCross(n1, n2), A = d3_geo_cartesianScale(n1, c1), B = d3_geo_cartesianScale(n2, c2); - d3_geo_cartesianAdd(A, B); - var u = n1xn2, w = d3_geo_cartesianDot(A, u), uu = d3_geo_cartesianDot(u, u), t2 = w * w - uu * (d3_geo_cartesianDot(A, A) - 1); - if (t2 < 0) return; - var t = Math.sqrt(t2), q = d3_geo_cartesianScale(u, (-w - t) / uu); - d3_geo_cartesianAdd(q, A); - q = d3_geo_spherical(q); - if (!two) return q; - var λ0 = a[0], λ1 = b[0], φ0 = a[1], φ1 = b[1], z; - if (λ1 < λ0) z = λ0, λ0 = λ1, λ1 = z; - var δλ = λ1 - λ0, polar = abs(δλ - π) < ε, meridian = polar || δλ < ε; - if (!polar && φ1 < φ0) z = φ0, φ0 = φ1, φ1 = z; - if (meridian ? polar ? φ0 + φ1 > 0 ^ q[1] < (abs(q[0] - λ0) < ε ? φ0 : φ1) : φ0 <= q[1] && q[1] <= φ1 : δλ > π ^ (λ0 <= q[0] && q[0] <= λ1)) { - var q1 = d3_geo_cartesianScale(u, (-w + t) / uu); - d3_geo_cartesianAdd(q1, A); - return [ q, d3_geo_spherical(q1) ]; - } - } - function code(λ, φ) { - var r = smallRadius ? radius : π - radius, code = 0; - if (λ < -r) code |= 1; else if (λ > r) code |= 2; - if (φ < -r) code |= 4; else if (φ > r) code |= 8; - return code; - } - } - function d3_geom_clipLine(x0, y0, x1, y1) { - return function(line) { - var a = line.a, b = line.b, ax = a.x, ay = a.y, bx = b.x, by = b.y, t0 = 0, t1 = 1, dx = bx - ax, dy = by - ay, r; - r = x0 - ax; - if (!dx && r > 0) return; - r /= dx; - if (dx < 0) { - if (r < t0) return; - if (r < t1) t1 = r; - } else if (dx > 0) { - if (r > t1) return; - if (r > t0) t0 = r; - } - r = x1 - ax; - if (!dx && r < 0) return; - r /= dx; - if (dx < 0) { - if (r > t1) return; - if (r > t0) t0 = r; - } else if (dx > 0) { - if (r < t0) return; - if (r < t1) t1 = r; - } - r = y0 - ay; - if (!dy && r > 0) return; - r /= dy; - if (dy < 0) { - if (r < t0) return; - if (r < t1) t1 = r; - } else if (dy > 0) { - if (r > t1) return; - if (r > t0) t0 = r; - } - r = y1 - ay; - if (!dy && r < 0) return; - r /= dy; - if (dy < 0) { - if (r > t1) return; - if (r > t0) t0 = r; - } else if (dy > 0) { - if (r < t0) return; - if (r < t1) t1 = r; - } - if (t0 > 0) line.a = { - x: ax + t0 * dx, - y: ay + t0 * dy - }; - if (t1 < 1) line.b = { - x: ax + t1 * dx, - y: ay + t1 * dy - }; - return line; - }; - } - var d3_geo_clipExtentMAX = 1e9; - d3.geo.clipExtent = function() { - var x0, y0, x1, y1, stream, clip, clipExtent = { - stream: function(output) { - if (stream) stream.valid = false; - stream = clip(output); - stream.valid = true; - return stream; - }, - extent: function(_) { - if (!arguments.length) return [ [ x0, y0 ], [ x1, y1 ] ]; - clip = d3_geo_clipExtent(x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1]); - if (stream) stream.valid = false, stream = null; - return clipExtent; - } - }; - return clipExtent.extent([ [ 0, 0 ], [ 960, 500 ] ]); - }; - function d3_geo_clipExtent(x0, y0, x1, y1) { - return function(listener) { - var listener_ = listener, bufferListener = d3_geo_clipBufferListener(), clipLine = d3_geom_clipLine(x0, y0, x1, y1), segments, polygon, ring; - var clip = { - point: point, - lineStart: lineStart, - lineEnd: lineEnd, - polygonStart: function() { - listener = bufferListener; - segments = []; - polygon = []; - clean = true; - }, - polygonEnd: function() { - listener = listener_; - segments = d3.merge(segments); - var clipStartInside = insidePolygon([ x0, y1 ]), inside = clean && clipStartInside, visible = segments.length; - if (inside || visible) { - listener.polygonStart(); - if (inside) { - listener.lineStart(); - interpolate(null, null, 1, listener); - listener.lineEnd(); - } - if (visible) { - d3_geo_clipPolygon(segments, compare, clipStartInside, interpolate, listener); - } - listener.polygonEnd(); - } - segments = polygon = ring = null; - } - }; - function insidePolygon(p) { - var wn = 0, n = polygon.length, y = p[1]; - for (var i = 0; i < n; ++i) { - for (var j = 1, v = polygon[i], m = v.length, a = v[0], b; j < m; ++j) { - b = v[j]; - if (a[1] <= y) { - if (b[1] > y && d3_cross2d(a, b, p) > 0) ++wn; - } else { - if (b[1] <= y && d3_cross2d(a, b, p) < 0) --wn; - } - a = b; - } - } - return wn !== 0; - } - function interpolate(from, to, direction, listener) { - var a = 0, a1 = 0; - if (from == null || (a = corner(from, direction)) !== (a1 = corner(to, direction)) || comparePoints(from, to) < 0 ^ direction > 0) { - do { - listener.point(a === 0 || a === 3 ? x0 : x1, a > 1 ? y1 : y0); - } while ((a = (a + direction + 4) % 4) !== a1); - } else { - listener.point(to[0], to[1]); - } - } - function pointVisible(x, y) { - return x0 <= x && x <= x1 && y0 <= y && y <= y1; - } - function point(x, y) { - if (pointVisible(x, y)) listener.point(x, y); - } - var x__, y__, v__, x_, y_, v_, first, clean; - function lineStart() { - clip.point = linePoint; - if (polygon) polygon.push(ring = []); - first = true; - v_ = false; - x_ = y_ = NaN; - } - function lineEnd() { - if (segments) { - linePoint(x__, y__); - if (v__ && v_) bufferListener.rejoin(); - segments.push(bufferListener.buffer()); - } - clip.point = point; - if (v_) listener.lineEnd(); - } - function linePoint(x, y) { - x = Math.max(-d3_geo_clipExtentMAX, Math.min(d3_geo_clipExtentMAX, x)); - y = Math.max(-d3_geo_clipExtentMAX, Math.min(d3_geo_clipExtentMAX, y)); - var v = pointVisible(x, y); - if (polygon) ring.push([ x, y ]); - if (first) { - x__ = x, y__ = y, v__ = v; - first = false; - if (v) { - listener.lineStart(); - listener.point(x, y); - } - } else { - if (v && v_) listener.point(x, y); else { - var l = { - a: { - x: x_, - y: y_ - }, - b: { - x: x, - y: y - } - }; - if (clipLine(l)) { - if (!v_) { - listener.lineStart(); - listener.point(l.a.x, l.a.y); - } - listener.point(l.b.x, l.b.y); - if (!v) listener.lineEnd(); - clean = false; - } else if (v) { - listener.lineStart(); - listener.point(x, y); - clean = false; - } - } - } - x_ = x, y_ = y, v_ = v; - } - return clip; - }; - function corner(p, direction) { - return abs(p[0] - x0) < ε ? direction > 0 ? 0 : 3 : abs(p[0] - x1) < ε ? direction > 0 ? 2 : 1 : abs(p[1] - y0) < ε ? direction > 0 ? 1 : 0 : direction > 0 ? 3 : 2; - } - function compare(a, b) { - return comparePoints(a.x, b.x); - } - function comparePoints(a, b) { - var ca = corner(a, 1), cb = corner(b, 1); - return ca !== cb ? ca - cb : ca === 0 ? b[1] - a[1] : ca === 1 ? a[0] - b[0] : ca === 2 ? a[1] - b[1] : b[0] - a[0]; - } - } - function d3_geo_conic(projectAt) { - var φ0 = 0, φ1 = π / 3, m = d3_geo_projectionMutator(projectAt), p = m(φ0, φ1); - p.parallels = function(_) { - if (!arguments.length) return [ φ0 / π * 180, φ1 / π * 180 ]; - return m(φ0 = _[0] * π / 180, φ1 = _[1] * π / 180); - }; - return p; - } - function d3_geo_conicEqualArea(φ0, φ1) { - var sinφ0 = Math.sin(φ0), n = (sinφ0 + Math.sin(φ1)) / 2, C = 1 + sinφ0 * (2 * n - sinφ0), ρ0 = Math.sqrt(C) / n; - function forward(λ, φ) { - var ρ = Math.sqrt(C - 2 * n * Math.sin(φ)) / n; - return [ ρ * Math.sin(λ *= n), ρ0 - ρ * Math.cos(λ) ]; - } - forward.invert = function(x, y) { - var ρ0_y = ρ0 - y; - return [ Math.atan2(x, ρ0_y) / n, d3_asin((C - (x * x + ρ0_y * ρ0_y) * n * n) / (2 * n)) ]; - }; - return forward; - } - (d3.geo.conicEqualArea = function() { - return d3_geo_conic(d3_geo_conicEqualArea); - }).raw = d3_geo_conicEqualArea; - d3.geo.albers = function() { - return d3.geo.conicEqualArea().rotate([ 96, 0 ]).center([ -.6, 38.7 ]).parallels([ 29.5, 45.5 ]).scale(1070); - }; - d3.geo.albersUsa = function() { - var lower48 = d3.geo.albers(); - var alaska = d3.geo.conicEqualArea().rotate([ 154, 0 ]).center([ -2, 58.5 ]).parallels([ 55, 65 ]); - var hawaii = d3.geo.conicEqualArea().rotate([ 157, 0 ]).center([ -3, 19.9 ]).parallels([ 8, 18 ]); - var point, pointStream = { - point: function(x, y) { - point = [ x, y ]; - } - }, lower48Point, alaskaPoint, hawaiiPoint; - function albersUsa(coordinates) { - var x = coordinates[0], y = coordinates[1]; - point = null; - (lower48Point(x, y), point) || (alaskaPoint(x, y), point) || hawaiiPoint(x, y); - return point; - } - albersUsa.invert = function(coordinates) { - var k = lower48.scale(), t = lower48.translate(), x = (coordinates[0] - t[0]) / k, y = (coordinates[1] - t[1]) / k; - return (y >= .12 && y < .234 && x >= -.425 && x < -.214 ? alaska : y >= .166 && y < .234 && x >= -.214 && x < -.115 ? hawaii : lower48).invert(coordinates); - }; - albersUsa.stream = function(stream) { - var lower48Stream = lower48.stream(stream), alaskaStream = alaska.stream(stream), hawaiiStream = hawaii.stream(stream); - return { - point: function(x, y) { - lower48Stream.point(x, y); - alaskaStream.point(x, y); - hawaiiStream.point(x, y); - }, - sphere: function() { - lower48Stream.sphere(); - alaskaStream.sphere(); - hawaiiStream.sphere(); - }, - lineStart: function() { - lower48Stream.lineStart(); - alaskaStream.lineStart(); - hawaiiStream.lineStart(); - }, - lineEnd: function() { - lower48Stream.lineEnd(); - alaskaStream.lineEnd(); - hawaiiStream.lineEnd(); - }, - polygonStart: function() { - lower48Stream.polygonStart(); - alaskaStream.polygonStart(); - hawaiiStream.polygonStart(); - }, - polygonEnd: function() { - lower48Stream.polygonEnd(); - alaskaStream.polygonEnd(); - hawaiiStream.polygonEnd(); - } - }; - }; - albersUsa.precision = function(_) { - if (!arguments.length) return lower48.precision(); - lower48.precision(_); - alaska.precision(_); - hawaii.precision(_); - return albersUsa; - }; - albersUsa.scale = function(_) { - if (!arguments.length) return lower48.scale(); - lower48.scale(_); - alaska.scale(_ * .35); - hawaii.scale(_); - return albersUsa.translate(lower48.translate()); - }; - albersUsa.translate = function(_) { - if (!arguments.length) return lower48.translate(); - var k = lower48.scale(), x = +_[0], y = +_[1]; - lower48Point = lower48.translate(_).clipExtent([ [ x - .455 * k, y - .238 * k ], [ x + .455 * k, y + .238 * k ] ]).stream(pointStream).point; - alaskaPoint = alaska.translate([ x - .307 * k, y + .201 * k ]).clipExtent([ [ x - .425 * k + ε, y + .12 * k + ε ], [ x - .214 * k - ε, y + .234 * k - ε ] ]).stream(pointStream).point; - hawaiiPoint = hawaii.translate([ x - .205 * k, y + .212 * k ]).clipExtent([ [ x - .214 * k + ε, y + .166 * k + ε ], [ x - .115 * k - ε, y + .234 * k - ε ] ]).stream(pointStream).point; - return albersUsa; - }; - return albersUsa.scale(1070); - }; - var d3_geo_pathAreaSum, d3_geo_pathAreaPolygon, d3_geo_pathArea = { - point: d3_noop, - lineStart: d3_noop, - lineEnd: d3_noop, - polygonStart: function() { - d3_geo_pathAreaPolygon = 0; - d3_geo_pathArea.lineStart = d3_geo_pathAreaRingStart; - }, - polygonEnd: function() { - d3_geo_pathArea.lineStart = d3_geo_pathArea.lineEnd = d3_geo_pathArea.point = d3_noop; - d3_geo_pathAreaSum += abs(d3_geo_pathAreaPolygon / 2); - } - }; - function d3_geo_pathAreaRingStart() { - var x00, y00, x0, y0; - d3_geo_pathArea.point = function(x, y) { - d3_geo_pathArea.point = nextPoint; - x00 = x0 = x, y00 = y0 = y; - }; - function nextPoint(x, y) { - d3_geo_pathAreaPolygon += y0 * x - x0 * y; - x0 = x, y0 = y; - } - d3_geo_pathArea.lineEnd = function() { - nextPoint(x00, y00); - }; - } - var d3_geo_pathBoundsX0, d3_geo_pathBoundsY0, d3_geo_pathBoundsX1, d3_geo_pathBoundsY1; - var d3_geo_pathBounds = { - point: d3_geo_pathBoundsPoint, - lineStart: d3_noop, - lineEnd: d3_noop, - polygonStart: d3_noop, - polygonEnd: d3_noop - }; - function d3_geo_pathBoundsPoint(x, y) { - if (x < d3_geo_pathBoundsX0) d3_geo_pathBoundsX0 = x; - if (x > d3_geo_pathBoundsX1) d3_geo_pathBoundsX1 = x; - if (y < d3_geo_pathBoundsY0) d3_geo_pathBoundsY0 = y; - if (y > d3_geo_pathBoundsY1) d3_geo_pathBoundsY1 = y; - } - function d3_geo_pathBuffer() { - var pointCircle = d3_geo_pathBufferCircle(4.5), buffer = []; - var stream = { - point: point, - lineStart: function() { - stream.point = pointLineStart; - }, - lineEnd: lineEnd, - polygonStart: function() { - stream.lineEnd = lineEndPolygon; - }, - polygonEnd: function() { - stream.lineEnd = lineEnd; - stream.point = point; - }, - pointRadius: function(_) { - pointCircle = d3_geo_pathBufferCircle(_); - return stream; - }, - result: function() { - if (buffer.length) { - var result = buffer.join(""); - buffer = []; - return result; - } - } - }; - function point(x, y) { - buffer.push("M", x, ",", y, pointCircle); - } - function pointLineStart(x, y) { - buffer.push("M", x, ",", y); - stream.point = pointLine; - } - function pointLine(x, y) { - buffer.push("L", x, ",", y); - } - function lineEnd() { - stream.point = point; - } - function lineEndPolygon() { - buffer.push("Z"); - } - return stream; - } - function d3_geo_pathBufferCircle(radius) { - return "m0," + radius + "a" + radius + "," + radius + " 0 1,1 0," + -2 * radius + "a" + radius + "," + radius + " 0 1,1 0," + 2 * radius + "z"; - } - var d3_geo_pathCentroid = { - point: d3_geo_pathCentroidPoint, - lineStart: d3_geo_pathCentroidLineStart, - lineEnd: d3_geo_pathCentroidLineEnd, - polygonStart: function() { - d3_geo_pathCentroid.lineStart = d3_geo_pathCentroidRingStart; - }, - polygonEnd: function() { - d3_geo_pathCentroid.point = d3_geo_pathCentroidPoint; - d3_geo_pathCentroid.lineStart = d3_geo_pathCentroidLineStart; - d3_geo_pathCentroid.lineEnd = d3_geo_pathCentroidLineEnd; - } - }; - function d3_geo_pathCentroidPoint(x, y) { - d3_geo_centroidX0 += x; - d3_geo_centroidY0 += y; - ++d3_geo_centroidZ0; - } - function d3_geo_pathCentroidLineStart() { - var x0, y0; - d3_geo_pathCentroid.point = function(x, y) { - d3_geo_pathCentroid.point = nextPoint; - d3_geo_pathCentroidPoint(x0 = x, y0 = y); - }; - function nextPoint(x, y) { - var dx = x - x0, dy = y - y0, z = Math.sqrt(dx * dx + dy * dy); - d3_geo_centroidX1 += z * (x0 + x) / 2; - d3_geo_centroidY1 += z * (y0 + y) / 2; - d3_geo_centroidZ1 += z; - d3_geo_pathCentroidPoint(x0 = x, y0 = y); - } - } - function d3_geo_pathCentroidLineEnd() { - d3_geo_pathCentroid.point = d3_geo_pathCentroidPoint; - } - function d3_geo_pathCentroidRingStart() { - var x00, y00, x0, y0; - d3_geo_pathCentroid.point = function(x, y) { - d3_geo_pathCentroid.point = nextPoint; - d3_geo_pathCentroidPoint(x00 = x0 = x, y00 = y0 = y); - }; - function nextPoint(x, y) { - var dx = x - x0, dy = y - y0, z = Math.sqrt(dx * dx + dy * dy); - d3_geo_centroidX1 += z * (x0 + x) / 2; - d3_geo_centroidY1 += z * (y0 + y) / 2; - d3_geo_centroidZ1 += z; - z = y0 * x - x0 * y; - d3_geo_centroidX2 += z * (x0 + x); - d3_geo_centroidY2 += z * (y0 + y); - d3_geo_centroidZ2 += z * 3; - d3_geo_pathCentroidPoint(x0 = x, y0 = y); - } - d3_geo_pathCentroid.lineEnd = function() { - nextPoint(x00, y00); - }; - } - function d3_geo_pathContext(context) { - var pointRadius = 4.5; - var stream = { - point: point, - lineStart: function() { - stream.point = pointLineStart; - }, - lineEnd: lineEnd, - polygonStart: function() { - stream.lineEnd = lineEndPolygon; - }, - polygonEnd: function() { - stream.lineEnd = lineEnd; - stream.point = point; - }, - pointRadius: function(_) { - pointRadius = _; - return stream; - }, - result: d3_noop - }; - function point(x, y) { - context.moveTo(x + pointRadius, y); - context.arc(x, y, pointRadius, 0, τ); - } - function pointLineStart(x, y) { - context.moveTo(x, y); - stream.point = pointLine; - } - function pointLine(x, y) { - context.lineTo(x, y); - } - function lineEnd() { - stream.point = point; - } - function lineEndPolygon() { - context.closePath(); - } - return stream; - } - function d3_geo_resample(project) { - var δ2 = .5, cosMinDistance = Math.cos(30 * d3_radians), maxDepth = 16; - function resample(stream) { - return (maxDepth ? resampleRecursive : resampleNone)(stream); - } - function resampleNone(stream) { - return d3_geo_transformPoint(stream, function(x, y) { - x = project(x, y); - stream.point(x[0], x[1]); - }); - } - function resampleRecursive(stream) { - var λ00, φ00, x00, y00, a00, b00, c00, λ0, x0, y0, a0, b0, c0; - var resample = { - point: point, - lineStart: lineStart, - lineEnd: lineEnd, - polygonStart: function() { - stream.polygonStart(); - resample.lineStart = ringStart; - }, - polygonEnd: function() { - stream.polygonEnd(); - resample.lineStart = lineStart; - } - }; - function point(x, y) { - x = project(x, y); - stream.point(x[0], x[1]); - } - function lineStart() { - x0 = NaN; - resample.point = linePoint; - stream.lineStart(); - } - function linePoint(λ, φ) { - var c = d3_geo_cartesian([ λ, φ ]), p = project(λ, φ); - resampleLineTo(x0, y0, λ0, a0, b0, c0, x0 = p[0], y0 = p[1], λ0 = λ, a0 = c[0], b0 = c[1], c0 = c[2], maxDepth, stream); - stream.point(x0, y0); - } - function lineEnd() { - resample.point = point; - stream.lineEnd(); - } - function ringStart() { - lineStart(); - resample.point = ringPoint; - resample.lineEnd = ringEnd; - } - function ringPoint(λ, φ) { - linePoint(λ00 = λ, φ00 = φ), x00 = x0, y00 = y0, a00 = a0, b00 = b0, c00 = c0; - resample.point = linePoint; - } - function ringEnd() { - resampleLineTo(x0, y0, λ0, a0, b0, c0, x00, y00, λ00, a00, b00, c00, maxDepth, stream); - resample.lineEnd = lineEnd; - lineEnd(); - } - return resample; - } - function resampleLineTo(x0, y0, λ0, a0, b0, c0, x1, y1, λ1, a1, b1, c1, depth, stream) { - var dx = x1 - x0, dy = y1 - y0, d2 = dx * dx + dy * dy; - if (d2 > 4 * δ2 && depth--) { - var a = a0 + a1, b = b0 + b1, c = c0 + c1, m = Math.sqrt(a * a + b * b + c * c), φ2 = Math.asin(c /= m), λ2 = abs(abs(c) - 1) < ε || abs(λ0 - λ1) < ε ? (λ0 + λ1) / 2 : Math.atan2(b, a), p = project(λ2, φ2), x2 = p[0], y2 = p[1], dx2 = x2 - x0, dy2 = y2 - y0, dz = dy * dx2 - dx * dy2; - if (dz * dz / d2 > δ2 || abs((dx * dx2 + dy * dy2) / d2 - .5) > .3 || a0 * a1 + b0 * b1 + c0 * c1 < cosMinDistance) { - resampleLineTo(x0, y0, λ0, a0, b0, c0, x2, y2, λ2, a /= m, b /= m, c, depth, stream); - stream.point(x2, y2); - resampleLineTo(x2, y2, λ2, a, b, c, x1, y1, λ1, a1, b1, c1, depth, stream); - } - } - } - resample.precision = function(_) { - if (!arguments.length) return Math.sqrt(δ2); - maxDepth = (δ2 = _ * _) > 0 && 16; - return resample; - }; - return resample; - } - d3.geo.path = function() { - var pointRadius = 4.5, projection, context, projectStream, contextStream, cacheStream; - function path(object) { - if (object) { - if (typeof pointRadius === "function") contextStream.pointRadius(+pointRadius.apply(this, arguments)); - if (!cacheStream || !cacheStream.valid) cacheStream = projectStream(contextStream); - d3.geo.stream(object, cacheStream); - } - return contextStream.result(); - } - path.area = function(object) { - d3_geo_pathAreaSum = 0; - d3.geo.stream(object, projectStream(d3_geo_pathArea)); - return d3_geo_pathAreaSum; - }; - path.centroid = function(object) { - d3_geo_centroidX0 = d3_geo_centroidY0 = d3_geo_centroidZ0 = d3_geo_centroidX1 = d3_geo_centroidY1 = d3_geo_centroidZ1 = d3_geo_centroidX2 = d3_geo_centroidY2 = d3_geo_centroidZ2 = 0; - d3.geo.stream(object, projectStream(d3_geo_pathCentroid)); - return d3_geo_centroidZ2 ? [ d3_geo_centroidX2 / d3_geo_centroidZ2, d3_geo_centroidY2 / d3_geo_centroidZ2 ] : d3_geo_centroidZ1 ? [ d3_geo_centroidX1 / d3_geo_centroidZ1, d3_geo_centroidY1 / d3_geo_centroidZ1 ] : d3_geo_centroidZ0 ? [ d3_geo_centroidX0 / d3_geo_centroidZ0, d3_geo_centroidY0 / d3_geo_centroidZ0 ] : [ NaN, NaN ]; - }; - path.bounds = function(object) { - d3_geo_pathBoundsX1 = d3_geo_pathBoundsY1 = -(d3_geo_pathBoundsX0 = d3_geo_pathBoundsY0 = Infinity); - d3.geo.stream(object, projectStream(d3_geo_pathBounds)); - return [ [ d3_geo_pathBoundsX0, d3_geo_pathBoundsY0 ], [ d3_geo_pathBoundsX1, d3_geo_pathBoundsY1 ] ]; - }; - path.projection = function(_) { - if (!arguments.length) return projection; - projectStream = (projection = _) ? _.stream || d3_geo_pathProjectStream(_) : d3_identity; - return reset(); - }; - path.context = function(_) { - if (!arguments.length) return context; - contextStream = (context = _) == null ? new d3_geo_pathBuffer() : new d3_geo_pathContext(_); - if (typeof pointRadius !== "function") contextStream.pointRadius(pointRadius); - return reset(); - }; - path.pointRadius = function(_) { - if (!arguments.length) return pointRadius; - pointRadius = typeof _ === "function" ? _ : (contextStream.pointRadius(+_), +_); - return path; - }; - function reset() { - cacheStream = null; - return path; - } - return path.projection(d3.geo.albersUsa()).context(null); - }; - function d3_geo_pathProjectStream(project) { - var resample = d3_geo_resample(function(x, y) { - return project([ x * d3_degrees, y * d3_degrees ]); - }); - return function(stream) { - return d3_geo_projectionRadians(resample(stream)); - }; - } - d3.geo.transform = function(methods) { - return { - stream: function(stream) { - var transform = new d3_geo_transform(stream); - for (var k in methods) transform[k] = methods[k]; - return transform; - } - }; - }; - function d3_geo_transform(stream) { - this.stream = stream; - } - d3_geo_transform.prototype = { - point: function(x, y) { - this.stream.point(x, y); - }, - sphere: function() { - this.stream.sphere(); - }, - lineStart: function() { - this.stream.lineStart(); - }, - lineEnd: function() { - this.stream.lineEnd(); - }, - polygonStart: function() { - this.stream.polygonStart(); - }, - polygonEnd: function() { - this.stream.polygonEnd(); - } - }; - function d3_geo_transformPoint(stream, point) { - return { - point: point, - sphere: function() { - stream.sphere(); - }, - lineStart: function() { - stream.lineStart(); - }, - lineEnd: function() { - stream.lineEnd(); - }, - polygonStart: function() { - stream.polygonStart(); - }, - polygonEnd: function() { - stream.polygonEnd(); - } - }; - } - d3.geo.projection = d3_geo_projection; - d3.geo.projectionMutator = d3_geo_projectionMutator; - function d3_geo_projection(project) { - return d3_geo_projectionMutator(function() { - return project; - })(); - } - function d3_geo_projectionMutator(projectAt) { - var project, rotate, projectRotate, projectResample = d3_geo_resample(function(x, y) { - x = project(x, y); - return [ x[0] * k + δx, δy - x[1] * k ]; - }), k = 150, x = 480, y = 250, λ = 0, φ = 0, δλ = 0, δφ = 0, δγ = 0, δx, δy, preclip = d3_geo_clipAntimeridian, postclip = d3_identity, clipAngle = null, clipExtent = null, stream; - function projection(point) { - point = projectRotate(point[0] * d3_radians, point[1] * d3_radians); - return [ point[0] * k + δx, δy - point[1] * k ]; - } - function invert(point) { - point = projectRotate.invert((point[0] - δx) / k, (δy - point[1]) / k); - return point && [ point[0] * d3_degrees, point[1] * d3_degrees ]; - } - projection.stream = function(output) { - if (stream) stream.valid = false; - stream = d3_geo_projectionRadians(preclip(rotate, projectResample(postclip(output)))); - stream.valid = true; - return stream; - }; - projection.clipAngle = function(_) { - if (!arguments.length) return clipAngle; - preclip = _ == null ? (clipAngle = _, d3_geo_clipAntimeridian) : d3_geo_clipCircle((clipAngle = +_) * d3_radians); - return invalidate(); - }; - projection.clipExtent = function(_) { - if (!arguments.length) return clipExtent; - clipExtent = _; - postclip = _ ? d3_geo_clipExtent(_[0][0], _[0][1], _[1][0], _[1][1]) : d3_identity; - return invalidate(); - }; - projection.scale = function(_) { - if (!arguments.length) return k; - k = +_; - return reset(); - }; - projection.translate = function(_) { - if (!arguments.length) return [ x, y ]; - x = +_[0]; - y = +_[1]; - return reset(); - }; - projection.center = function(_) { - if (!arguments.length) return [ λ * d3_degrees, φ * d3_degrees ]; - λ = _[0] % 360 * d3_radians; - φ = _[1] % 360 * d3_radians; - return reset(); - }; - projection.rotate = function(_) { - if (!arguments.length) return [ δλ * d3_degrees, δφ * d3_degrees, δγ * d3_degrees ]; - δλ = _[0] % 360 * d3_radians; - δφ = _[1] % 360 * d3_radians; - δγ = _.length > 2 ? _[2] % 360 * d3_radians : 0; - return reset(); - }; - d3.rebind(projection, projectResample, "precision"); - function reset() { - projectRotate = d3_geo_compose(rotate = d3_geo_rotation(δλ, δφ, δγ), project); - var center = project(λ, φ); - δx = x - center[0] * k; - δy = y + center[1] * k; - return invalidate(); - } - function invalidate() { - if (stream) stream.valid = false, stream = null; - return projection; - } - return function() { - project = projectAt.apply(this, arguments); - projection.invert = project.invert && invert; - return reset(); - }; - } - function d3_geo_projectionRadians(stream) { - return d3_geo_transformPoint(stream, function(x, y) { - stream.point(x * d3_radians, y * d3_radians); - }); - } - function d3_geo_equirectangular(λ, φ) { - return [ λ, φ ]; - } - (d3.geo.equirectangular = function() { - return d3_geo_projection(d3_geo_equirectangular); - }).raw = d3_geo_equirectangular.invert = d3_geo_equirectangular; - d3.geo.rotation = function(rotate) { - rotate = d3_geo_rotation(rotate[0] % 360 * d3_radians, rotate[1] * d3_radians, rotate.length > 2 ? rotate[2] * d3_radians : 0); - function forward(coordinates) { - coordinates = rotate(coordinates[0] * d3_radians, coordinates[1] * d3_radians); - return coordinates[0] *= d3_degrees, coordinates[1] *= d3_degrees, coordinates; - } - forward.invert = function(coordinates) { - coordinates = rotate.invert(coordinates[0] * d3_radians, coordinates[1] * d3_radians); - return coordinates[0] *= d3_degrees, coordinates[1] *= d3_degrees, coordinates; - }; - return forward; - }; - function d3_geo_identityRotation(λ, φ) { - return [ λ > π ? λ - τ : λ < -π ? λ + τ : λ, φ ]; - } - d3_geo_identityRotation.invert = d3_geo_equirectangular; - function d3_geo_rotation(δλ, δφ, δγ) { - return δλ ? δφ || δγ ? d3_geo_compose(d3_geo_rotationλ(δλ), d3_geo_rotationφγ(δφ, δγ)) : d3_geo_rotationλ(δλ) : δφ || δγ ? d3_geo_rotationφγ(δφ, δγ) : d3_geo_identityRotation; - } - function d3_geo_forwardRotationλ(δλ) { - return function(λ, φ) { - return λ += δλ, [ λ > π ? λ - τ : λ < -π ? λ + τ : λ, φ ]; - }; - } - function d3_geo_rotationλ(δλ) { - var rotation = d3_geo_forwardRotationλ(δλ); - rotation.invert = d3_geo_forwardRotationλ(-δλ); - return rotation; - } - function d3_geo_rotationφγ(δφ, δγ) { - var cosδφ = Math.cos(δφ), sinδφ = Math.sin(δφ), cosδγ = Math.cos(δγ), sinδγ = Math.sin(δγ); - function rotation(λ, φ) { - var cosφ = Math.cos(φ), x = Math.cos(λ) * cosφ, y = Math.sin(λ) * cosφ, z = Math.sin(φ), k = z * cosδφ + x * sinδφ; - return [ Math.atan2(y * cosδγ - k * sinδγ, x * cosδφ - z * sinδφ), d3_asin(k * cosδγ + y * sinδγ) ]; - } - rotation.invert = function(λ, φ) { - var cosφ = Math.cos(φ), x = Math.cos(λ) * cosφ, y = Math.sin(λ) * cosφ, z = Math.sin(φ), k = z * cosδγ - y * sinδγ; - return [ Math.atan2(y * cosδγ + z * sinδγ, x * cosδφ + k * sinδφ), d3_asin(k * cosδφ - x * sinδφ) ]; - }; - return rotation; - } - d3.geo.circle = function() { - var origin = [ 0, 0 ], angle, precision = 6, interpolate; - function circle() { - var center = typeof origin === "function" ? origin.apply(this, arguments) : origin, rotate = d3_geo_rotation(-center[0] * d3_radians, -center[1] * d3_radians, 0).invert, ring = []; - interpolate(null, null, 1, { - point: function(x, y) { - ring.push(x = rotate(x, y)); - x[0] *= d3_degrees, x[1] *= d3_degrees; - } - }); - return { - type: "Polygon", - coordinates: [ ring ] - }; - } - circle.origin = function(x) { - if (!arguments.length) return origin; - origin = x; - return circle; - }; - circle.angle = function(x) { - if (!arguments.length) return angle; - interpolate = d3_geo_circleInterpolate((angle = +x) * d3_radians, precision * d3_radians); - return circle; - }; - circle.precision = function(_) { - if (!arguments.length) return precision; - interpolate = d3_geo_circleInterpolate(angle * d3_radians, (precision = +_) * d3_radians); - return circle; - }; - return circle.angle(90); - }; - function d3_geo_circleInterpolate(radius, precision) { - var cr = Math.cos(radius), sr = Math.sin(radius); - return function(from, to, direction, listener) { - var step = direction * precision; - if (from != null) { - from = d3_geo_circleAngle(cr, from); - to = d3_geo_circleAngle(cr, to); - if (direction > 0 ? from < to : from > to) from += direction * τ; - } else { - from = radius + direction * τ; - to = radius - .5 * step; - } - for (var point, t = from; direction > 0 ? t > to : t < to; t -= step) { - listener.point((point = d3_geo_spherical([ cr, -sr * Math.cos(t), -sr * Math.sin(t) ]))[0], point[1]); - } - }; - } - function d3_geo_circleAngle(cr, point) { - var a = d3_geo_cartesian(point); - a[0] -= cr; - d3_geo_cartesianNormalize(a); - var angle = d3_acos(-a[1]); - return ((-a[2] < 0 ? -angle : angle) + 2 * Math.PI - ε) % (2 * Math.PI); - } - d3.geo.distance = function(a, b) { - var Δλ = (b[0] - a[0]) * d3_radians, φ0 = a[1] * d3_radians, φ1 = b[1] * d3_radians, sinΔλ = Math.sin(Δλ), cosΔλ = Math.cos(Δλ), sinφ0 = Math.sin(φ0), cosφ0 = Math.cos(φ0), sinφ1 = Math.sin(φ1), cosφ1 = Math.cos(φ1), t; - return Math.atan2(Math.sqrt((t = cosφ1 * sinΔλ) * t + (t = cosφ0 * sinφ1 - sinφ0 * cosφ1 * cosΔλ) * t), sinφ0 * sinφ1 + cosφ0 * cosφ1 * cosΔλ); - }; - d3.geo.graticule = function() { - var x1, x0, X1, X0, y1, y0, Y1, Y0, dx = 10, dy = dx, DX = 90, DY = 360, x, y, X, Y, precision = 2.5; - function graticule() { - return { - type: "MultiLineString", - coordinates: lines() - }; - } - function lines() { - return d3.range(Math.ceil(X0 / DX) * DX, X1, DX).map(X).concat(d3.range(Math.ceil(Y0 / DY) * DY, Y1, DY).map(Y)).concat(d3.range(Math.ceil(x0 / dx) * dx, x1, dx).filter(function(x) { - return abs(x % DX) > ε; - }).map(x)).concat(d3.range(Math.ceil(y0 / dy) * dy, y1, dy).filter(function(y) { - return abs(y % DY) > ε; - }).map(y)); - } - graticule.lines = function() { - return lines().map(function(coordinates) { - return { - type: "LineString", - coordinates: coordinates - }; - }); - }; - graticule.outline = function() { - return { - type: "Polygon", - coordinates: [ X(X0).concat(Y(Y1).slice(1), X(X1).reverse().slice(1), Y(Y0).reverse().slice(1)) ] - }; - }; - graticule.extent = function(_) { - if (!arguments.length) return graticule.minorExtent(); - return graticule.majorExtent(_).minorExtent(_); - }; - graticule.majorExtent = function(_) { - if (!arguments.length) return [ [ X0, Y0 ], [ X1, Y1 ] ]; - X0 = +_[0][0], X1 = +_[1][0]; - Y0 = +_[0][1], Y1 = +_[1][1]; - if (X0 > X1) _ = X0, X0 = X1, X1 = _; - if (Y0 > Y1) _ = Y0, Y0 = Y1, Y1 = _; - return graticule.precision(precision); - }; - graticule.minorExtent = function(_) { - if (!arguments.length) return [ [ x0, y0 ], [ x1, y1 ] ]; - x0 = +_[0][0], x1 = +_[1][0]; - y0 = +_[0][1], y1 = +_[1][1]; - if (x0 > x1) _ = x0, x0 = x1, x1 = _; - if (y0 > y1) _ = y0, y0 = y1, y1 = _; - return graticule.precision(precision); - }; - graticule.step = function(_) { - if (!arguments.length) return graticule.minorStep(); - return graticule.majorStep(_).minorStep(_); - }; - graticule.majorStep = function(_) { - if (!arguments.length) return [ DX, DY ]; - DX = +_[0], DY = +_[1]; - return graticule; - }; - graticule.minorStep = function(_) { - if (!arguments.length) return [ dx, dy ]; - dx = +_[0], dy = +_[1]; - return graticule; - }; - graticule.precision = function(_) { - if (!arguments.length) return precision; - precision = +_; - x = d3_geo_graticuleX(y0, y1, 90); - y = d3_geo_graticuleY(x0, x1, precision); - X = d3_geo_graticuleX(Y0, Y1, 90); - Y = d3_geo_graticuleY(X0, X1, precision); - return graticule; - }; - return graticule.majorExtent([ [ -180, -90 + ε ], [ 180, 90 - ε ] ]).minorExtent([ [ -180, -80 - ε ], [ 180, 80 + ε ] ]); - }; - function d3_geo_graticuleX(y0, y1, dy) { - var y = d3.range(y0, y1 - ε, dy).concat(y1); - return function(x) { - return y.map(function(y) { - return [ x, y ]; - }); - }; - } - function d3_geo_graticuleY(x0, x1, dx) { - var x = d3.range(x0, x1 - ε, dx).concat(x1); - return function(y) { - return x.map(function(x) { - return [ x, y ]; - }); - }; - } - function d3_source(d) { - return d.source; - } - function d3_target(d) { - return d.target; - } - d3.geo.greatArc = function() { - var source = d3_source, source_, target = d3_target, target_; - function greatArc() { - return { - type: "LineString", - coordinates: [ source_ || source.apply(this, arguments), target_ || target.apply(this, arguments) ] - }; - } - greatArc.distance = function() { - return d3.geo.distance(source_ || source.apply(this, arguments), target_ || target.apply(this, arguments)); - }; - greatArc.source = function(_) { - if (!arguments.length) return source; - source = _, source_ = typeof _ === "function" ? null : _; - return greatArc; - }; - greatArc.target = function(_) { - if (!arguments.length) return target; - target = _, target_ = typeof _ === "function" ? null : _; - return greatArc; - }; - greatArc.precision = function() { - return arguments.length ? greatArc : 0; - }; - return greatArc; - }; - d3.geo.interpolate = function(source, target) { - return d3_geo_interpolate(source[0] * d3_radians, source[1] * d3_radians, target[0] * d3_radians, target[1] * d3_radians); - }; - function d3_geo_interpolate(x0, y0, x1, y1) { - var cy0 = Math.cos(y0), sy0 = Math.sin(y0), cy1 = Math.cos(y1), sy1 = Math.sin(y1), kx0 = cy0 * Math.cos(x0), ky0 = cy0 * Math.sin(x0), kx1 = cy1 * Math.cos(x1), ky1 = cy1 * Math.sin(x1), d = 2 * Math.asin(Math.sqrt(d3_haversin(y1 - y0) + cy0 * cy1 * d3_haversin(x1 - x0))), k = 1 / Math.sin(d); - var interpolate = d ? function(t) { - var B = Math.sin(t *= d) * k, A = Math.sin(d - t) * k, x = A * kx0 + B * kx1, y = A * ky0 + B * ky1, z = A * sy0 + B * sy1; - return [ Math.atan2(y, x) * d3_degrees, Math.atan2(z, Math.sqrt(x * x + y * y)) * d3_degrees ]; - } : function() { - return [ x0 * d3_degrees, y0 * d3_degrees ]; - }; - interpolate.distance = d; - return interpolate; - } - d3.geo.length = function(object) { - d3_geo_lengthSum = 0; - d3.geo.stream(object, d3_geo_length); - return d3_geo_lengthSum; - }; - var d3_geo_lengthSum; - var d3_geo_length = { - sphere: d3_noop, - point: d3_noop, - lineStart: d3_geo_lengthLineStart, - lineEnd: d3_noop, - polygonStart: d3_noop, - polygonEnd: d3_noop - }; - function d3_geo_lengthLineStart() { - var λ0, sinφ0, cosφ0; - d3_geo_length.point = function(λ, φ) { - λ0 = λ * d3_radians, sinφ0 = Math.sin(φ *= d3_radians), cosφ0 = Math.cos(φ); - d3_geo_length.point = nextPoint; - }; - d3_geo_length.lineEnd = function() { - d3_geo_length.point = d3_geo_length.lineEnd = d3_noop; - }; - function nextPoint(λ, φ) { - var sinφ = Math.sin(φ *= d3_radians), cosφ = Math.cos(φ), t = abs((λ *= d3_radians) - λ0), cosΔλ = Math.cos(t); - d3_geo_lengthSum += Math.atan2(Math.sqrt((t = cosφ * Math.sin(t)) * t + (t = cosφ0 * sinφ - sinφ0 * cosφ * cosΔλ) * t), sinφ0 * sinφ + cosφ0 * cosφ * cosΔλ); - λ0 = λ, sinφ0 = sinφ, cosφ0 = cosφ; - } - } - function d3_geo_azimuthal(scale, angle) { - function azimuthal(λ, φ) { - var cosλ = Math.cos(λ), cosφ = Math.cos(φ), k = scale(cosλ * cosφ); - return [ k * cosφ * Math.sin(λ), k * Math.sin(φ) ]; - } - azimuthal.invert = function(x, y) { - var ρ = Math.sqrt(x * x + y * y), c = angle(ρ), sinc = Math.sin(c), cosc = Math.cos(c); - return [ Math.atan2(x * sinc, ρ * cosc), Math.asin(ρ && y * sinc / ρ) ]; - }; - return azimuthal; - } - var d3_geo_azimuthalEqualArea = d3_geo_azimuthal(function(cosλcosφ) { - return Math.sqrt(2 / (1 + cosλcosφ)); - }, function(ρ) { - return 2 * Math.asin(ρ / 2); - }); - (d3.geo.azimuthalEqualArea = function() { - return d3_geo_projection(d3_geo_azimuthalEqualArea); - }).raw = d3_geo_azimuthalEqualArea; - var d3_geo_azimuthalEquidistant = d3_geo_azimuthal(function(cosλcosφ) { - var c = Math.acos(cosλcosφ); - return c && c / Math.sin(c); - }, d3_identity); - (d3.geo.azimuthalEquidistant = function() { - return d3_geo_projection(d3_geo_azimuthalEquidistant); - }).raw = d3_geo_azimuthalEquidistant; - function d3_geo_conicConformal(φ0, φ1) { - var cosφ0 = Math.cos(φ0), t = function(φ) { - return Math.tan(π / 4 + φ / 2); - }, n = φ0 === φ1 ? Math.sin(φ0) : Math.log(cosφ0 / Math.cos(φ1)) / Math.log(t(φ1) / t(φ0)), F = cosφ0 * Math.pow(t(φ0), n) / n; - if (!n) return d3_geo_mercator; - function forward(λ, φ) { - if (F > 0) { - if (φ < -halfπ + ε) φ = -halfπ + ε; - } else { - if (φ > halfπ - ε) φ = halfπ - ε; - } - var ρ = F / Math.pow(t(φ), n); - return [ ρ * Math.sin(n * λ), F - ρ * Math.cos(n * λ) ]; - } - forward.invert = function(x, y) { - var ρ0_y = F - y, ρ = d3_sgn(n) * Math.sqrt(x * x + ρ0_y * ρ0_y); - return [ Math.atan2(x, ρ0_y) / n, 2 * Math.atan(Math.pow(F / ρ, 1 / n)) - halfπ ]; - }; - return forward; - } - (d3.geo.conicConformal = function() { - return d3_geo_conic(d3_geo_conicConformal); - }).raw = d3_geo_conicConformal; - function d3_geo_conicEquidistant(φ0, φ1) { - var cosφ0 = Math.cos(φ0), n = φ0 === φ1 ? Math.sin(φ0) : (cosφ0 - Math.cos(φ1)) / (φ1 - φ0), G = cosφ0 / n + φ0; - if (abs(n) < ε) return d3_geo_equirectangular; - function forward(λ, φ) { - var ρ = G - φ; - return [ ρ * Math.sin(n * λ), G - ρ * Math.cos(n * λ) ]; - } - forward.invert = function(x, y) { - var ρ0_y = G - y; - return [ Math.atan2(x, ρ0_y) / n, G - d3_sgn(n) * Math.sqrt(x * x + ρ0_y * ρ0_y) ]; - }; - return forward; - } - (d3.geo.conicEquidistant = function() { - return d3_geo_conic(d3_geo_conicEquidistant); - }).raw = d3_geo_conicEquidistant; - var d3_geo_gnomonic = d3_geo_azimuthal(function(cosλcosφ) { - return 1 / cosλcosφ; - }, Math.atan); - (d3.geo.gnomonic = function() { - return d3_geo_projection(d3_geo_gnomonic); - }).raw = d3_geo_gnomonic; - function d3_geo_mercator(λ, φ) { - return [ λ, Math.log(Math.tan(π / 4 + φ / 2)) ]; - } - d3_geo_mercator.invert = function(x, y) { - return [ x, 2 * Math.atan(Math.exp(y)) - halfπ ]; - }; - function d3_geo_mercatorProjection(project) { - var m = d3_geo_projection(project), scale = m.scale, translate = m.translate, clipExtent = m.clipExtent, clipAuto; - m.scale = function() { - var v = scale.apply(m, arguments); - return v === m ? clipAuto ? m.clipExtent(null) : m : v; - }; - m.translate = function() { - var v = translate.apply(m, arguments); - return v === m ? clipAuto ? m.clipExtent(null) : m : v; - }; - m.clipExtent = function(_) { - var v = clipExtent.apply(m, arguments); - if (v === m) { - if (clipAuto = _ == null) { - var k = π * scale(), t = translate(); - clipExtent([ [ t[0] - k, t[1] - k ], [ t[0] + k, t[1] + k ] ]); - } - } else if (clipAuto) { - v = null; - } - return v; - }; - return m.clipExtent(null); - } - (d3.geo.mercator = function() { - return d3_geo_mercatorProjection(d3_geo_mercator); - }).raw = d3_geo_mercator; - var d3_geo_orthographic = d3_geo_azimuthal(function() { - return 1; - }, Math.asin); - (d3.geo.orthographic = function() { - return d3_geo_projection(d3_geo_orthographic); - }).raw = d3_geo_orthographic; - var d3_geo_stereographic = d3_geo_azimuthal(function(cosλcosφ) { - return 1 / (1 + cosλcosφ); - }, function(ρ) { - return 2 * Math.atan(ρ); - }); - (d3.geo.stereographic = function() { - return d3_geo_projection(d3_geo_stereographic); - }).raw = d3_geo_stereographic; - function d3_geo_transverseMercator(λ, φ) { - return [ Math.log(Math.tan(π / 4 + φ / 2)), -λ ]; - } - d3_geo_transverseMercator.invert = function(x, y) { - return [ -y, 2 * Math.atan(Math.exp(x)) - halfπ ]; - }; - (d3.geo.transverseMercator = function() { - var projection = d3_geo_mercatorProjection(d3_geo_transverseMercator), center = projection.center, rotate = projection.rotate; - projection.center = function(_) { - return _ ? center([ -_[1], _[0] ]) : (_ = center(), [ _[1], -_[0] ]); - }; - projection.rotate = function(_) { - return _ ? rotate([ _[0], _[1], _.length > 2 ? _[2] + 90 : 90 ]) : (_ = rotate(), - [ _[0], _[1], _[2] - 90 ]); - }; - return rotate([ 0, 0, 90 ]); - }).raw = d3_geo_transverseMercator; - d3.geom = {}; - function d3_geom_pointX(d) { - return d[0]; - } - function d3_geom_pointY(d) { - return d[1]; - } - d3.geom.hull = function(vertices) { - var x = d3_geom_pointX, y = d3_geom_pointY; - if (arguments.length) return hull(vertices); - function hull(data) { - if (data.length < 3) return []; - var fx = d3_functor(x), fy = d3_functor(y), i, n = data.length, points = [], flippedPoints = []; - for (i = 0; i < n; i++) { - points.push([ +fx.call(this, data[i], i), +fy.call(this, data[i], i), i ]); - } - points.sort(d3_geom_hullOrder); - for (i = 0; i < n; i++) flippedPoints.push([ points[i][0], -points[i][1] ]); - var upper = d3_geom_hullUpper(points), lower = d3_geom_hullUpper(flippedPoints); - var skipLeft = lower[0] === upper[0], skipRight = lower[lower.length - 1] === upper[upper.length - 1], polygon = []; - for (i = upper.length - 1; i >= 0; --i) polygon.push(data[points[upper[i]][2]]); - for (i = +skipLeft; i < lower.length - skipRight; ++i) polygon.push(data[points[lower[i]][2]]); - return polygon; - } - hull.x = function(_) { - return arguments.length ? (x = _, hull) : x; - }; - hull.y = function(_) { - return arguments.length ? (y = _, hull) : y; - }; - return hull; - }; - function d3_geom_hullUpper(points) { - var n = points.length, hull = [ 0, 1 ], hs = 2; - for (var i = 2; i < n; i++) { - while (hs > 1 && d3_cross2d(points[hull[hs - 2]], points[hull[hs - 1]], points[i]) <= 0) --hs; - hull[hs++] = i; - } - return hull.slice(0, hs); - } - function d3_geom_hullOrder(a, b) { - return a[0] - b[0] || a[1] - b[1]; - } - d3.geom.polygon = function(coordinates) { - d3_subclass(coordinates, d3_geom_polygonPrototype); - return coordinates; - }; - var d3_geom_polygonPrototype = d3.geom.polygon.prototype = []; - d3_geom_polygonPrototype.area = function() { - var i = -1, n = this.length, a, b = this[n - 1], area = 0; - while (++i < n) { - a = b; - b = this[i]; - area += a[1] * b[0] - a[0] * b[1]; - } - return area * .5; - }; - d3_geom_polygonPrototype.centroid = function(k) { - var i = -1, n = this.length, x = 0, y = 0, a, b = this[n - 1], c; - if (!arguments.length) k = -1 / (6 * this.area()); - while (++i < n) { - a = b; - b = this[i]; - c = a[0] * b[1] - b[0] * a[1]; - x += (a[0] + b[0]) * c; - y += (a[1] + b[1]) * c; - } - return [ x * k, y * k ]; - }; - d3_geom_polygonPrototype.clip = function(subject) { - var input, closed = d3_geom_polygonClosed(subject), i = -1, n = this.length - d3_geom_polygonClosed(this), j, m, a = this[n - 1], b, c, d; - while (++i < n) { - input = subject.slice(); - subject.length = 0; - b = this[i]; - c = input[(m = input.length - closed) - 1]; - j = -1; - while (++j < m) { - d = input[j]; - if (d3_geom_polygonInside(d, a, b)) { - if (!d3_geom_polygonInside(c, a, b)) { - subject.push(d3_geom_polygonIntersect(c, d, a, b)); - } - subject.push(d); - } else if (d3_geom_polygonInside(c, a, b)) { - subject.push(d3_geom_polygonIntersect(c, d, a, b)); - } - c = d; - } - if (closed) subject.push(subject[0]); - a = b; - } - return subject; - }; - function d3_geom_polygonInside(p, a, b) { - return (b[0] - a[0]) * (p[1] - a[1]) < (b[1] - a[1]) * (p[0] - a[0]); - } - function d3_geom_polygonIntersect(c, d, a, b) { - var x1 = c[0], x3 = a[0], x21 = d[0] - x1, x43 = b[0] - x3, y1 = c[1], y3 = a[1], y21 = d[1] - y1, y43 = b[1] - y3, ua = (x43 * (y1 - y3) - y43 * (x1 - x3)) / (y43 * x21 - x43 * y21); - return [ x1 + ua * x21, y1 + ua * y21 ]; - } - function d3_geom_polygonClosed(coordinates) { - var a = coordinates[0], b = coordinates[coordinates.length - 1]; - return !(a[0] - b[0] || a[1] - b[1]); - } - var d3_geom_voronoiEdges, d3_geom_voronoiCells, d3_geom_voronoiBeaches, d3_geom_voronoiBeachPool = [], d3_geom_voronoiFirstCircle, d3_geom_voronoiCircles, d3_geom_voronoiCirclePool = []; - function d3_geom_voronoiBeach() { - d3_geom_voronoiRedBlackNode(this); - this.edge = this.site = this.circle = null; - } - function d3_geom_voronoiCreateBeach(site) { - var beach = d3_geom_voronoiBeachPool.pop() || new d3_geom_voronoiBeach(); - beach.site = site; - return beach; - } - function d3_geom_voronoiDetachBeach(beach) { - d3_geom_voronoiDetachCircle(beach); - d3_geom_voronoiBeaches.remove(beach); - d3_geom_voronoiBeachPool.push(beach); - d3_geom_voronoiRedBlackNode(beach); - } - function d3_geom_voronoiRemoveBeach(beach) { - var circle = beach.circle, x = circle.x, y = circle.cy, vertex = { - x: x, - y: y - }, previous = beach.P, next = beach.N, disappearing = [ beach ]; - d3_geom_voronoiDetachBeach(beach); - var lArc = previous; - while (lArc.circle && abs(x - lArc.circle.x) < ε && abs(y - lArc.circle.cy) < ε) { - previous = lArc.P; - disappearing.unshift(lArc); - d3_geom_voronoiDetachBeach(lArc); - lArc = previous; - } - disappearing.unshift(lArc); - d3_geom_voronoiDetachCircle(lArc); - var rArc = next; - while (rArc.circle && abs(x - rArc.circle.x) < ε && abs(y - rArc.circle.cy) < ε) { - next = rArc.N; - disappearing.push(rArc); - d3_geom_voronoiDetachBeach(rArc); - rArc = next; - } - disappearing.push(rArc); - d3_geom_voronoiDetachCircle(rArc); - var nArcs = disappearing.length, iArc; - for (iArc = 1; iArc < nArcs; ++iArc) { - rArc = disappearing[iArc]; - lArc = disappearing[iArc - 1]; - d3_geom_voronoiSetEdgeEnd(rArc.edge, lArc.site, rArc.site, vertex); - } - lArc = disappearing[0]; - rArc = disappearing[nArcs - 1]; - rArc.edge = d3_geom_voronoiCreateEdge(lArc.site, rArc.site, null, vertex); - d3_geom_voronoiAttachCircle(lArc); - d3_geom_voronoiAttachCircle(rArc); - } - function d3_geom_voronoiAddBeach(site) { - var x = site.x, directrix = site.y, lArc, rArc, dxl, dxr, node = d3_geom_voronoiBeaches._; - while (node) { - dxl = d3_geom_voronoiLeftBreakPoint(node, directrix) - x; - if (dxl > ε) node = node.L; else { - dxr = x - d3_geom_voronoiRightBreakPoint(node, directrix); - if (dxr > ε) { - if (!node.R) { - lArc = node; - break; - } - node = node.R; - } else { - if (dxl > -ε) { - lArc = node.P; - rArc = node; - } else if (dxr > -ε) { - lArc = node; - rArc = node.N; - } else { - lArc = rArc = node; - } - break; - } - } - } - var newArc = d3_geom_voronoiCreateBeach(site); - d3_geom_voronoiBeaches.insert(lArc, newArc); - if (!lArc && !rArc) return; - if (lArc === rArc) { - d3_geom_voronoiDetachCircle(lArc); - rArc = d3_geom_voronoiCreateBeach(lArc.site); - d3_geom_voronoiBeaches.insert(newArc, rArc); - newArc.edge = rArc.edge = d3_geom_voronoiCreateEdge(lArc.site, newArc.site); - d3_geom_voronoiAttachCircle(lArc); - d3_geom_voronoiAttachCircle(rArc); - return; - } - if (!rArc) { - newArc.edge = d3_geom_voronoiCreateEdge(lArc.site, newArc.site); - return; - } - d3_geom_voronoiDetachCircle(lArc); - d3_geom_voronoiDetachCircle(rArc); - var lSite = lArc.site, ax = lSite.x, ay = lSite.y, bx = site.x - ax, by = site.y - ay, rSite = rArc.site, cx = rSite.x - ax, cy = rSite.y - ay, d = 2 * (bx * cy - by * cx), hb = bx * bx + by * by, hc = cx * cx + cy * cy, vertex = { - x: (cy * hb - by * hc) / d + ax, - y: (bx * hc - cx * hb) / d + ay - }; - d3_geom_voronoiSetEdgeEnd(rArc.edge, lSite, rSite, vertex); - newArc.edge = d3_geom_voronoiCreateEdge(lSite, site, null, vertex); - rArc.edge = d3_geom_voronoiCreateEdge(site, rSite, null, vertex); - d3_geom_voronoiAttachCircle(lArc); - d3_geom_voronoiAttachCircle(rArc); - } - function d3_geom_voronoiLeftBreakPoint(arc, directrix) { - var site = arc.site, rfocx = site.x, rfocy = site.y, pby2 = rfocy - directrix; - if (!pby2) return rfocx; - var lArc = arc.P; - if (!lArc) return -Infinity; - site = lArc.site; - var lfocx = site.x, lfocy = site.y, plby2 = lfocy - directrix; - if (!plby2) return lfocx; - var hl = lfocx - rfocx, aby2 = 1 / pby2 - 1 / plby2, b = hl / plby2; - if (aby2) return (-b + Math.sqrt(b * b - 2 * aby2 * (hl * hl / (-2 * plby2) - lfocy + plby2 / 2 + rfocy - pby2 / 2))) / aby2 + rfocx; - return (rfocx + lfocx) / 2; - } - function d3_geom_voronoiRightBreakPoint(arc, directrix) { - var rArc = arc.N; - if (rArc) return d3_geom_voronoiLeftBreakPoint(rArc, directrix); - var site = arc.site; - return site.y === directrix ? site.x : Infinity; - } - function d3_geom_voronoiCell(site) { - this.site = site; - this.edges = []; - } - d3_geom_voronoiCell.prototype.prepare = function() { - var halfEdges = this.edges, iHalfEdge = halfEdges.length, edge; - while (iHalfEdge--) { - edge = halfEdges[iHalfEdge].edge; - if (!edge.b || !edge.a) halfEdges.splice(iHalfEdge, 1); - } - halfEdges.sort(d3_geom_voronoiHalfEdgeOrder); - return halfEdges.length; - }; - function d3_geom_voronoiCloseCells(extent) { - var x0 = extent[0][0], x1 = extent[1][0], y0 = extent[0][1], y1 = extent[1][1], x2, y2, x3, y3, cells = d3_geom_voronoiCells, iCell = cells.length, cell, iHalfEdge, halfEdges, nHalfEdges, start, end; - while (iCell--) { - cell = cells[iCell]; - if (!cell || !cell.prepare()) continue; - halfEdges = cell.edges; - nHalfEdges = halfEdges.length; - iHalfEdge = 0; - while (iHalfEdge < nHalfEdges) { - end = halfEdges[iHalfEdge].end(), x3 = end.x, y3 = end.y; - start = halfEdges[++iHalfEdge % nHalfEdges].start(), x2 = start.x, y2 = start.y; - if (abs(x3 - x2) > ε || abs(y3 - y2) > ε) { - halfEdges.splice(iHalfEdge, 0, new d3_geom_voronoiHalfEdge(d3_geom_voronoiCreateBorderEdge(cell.site, end, abs(x3 - x0) < ε && y1 - y3 > ε ? { - x: x0, - y: abs(x2 - x0) < ε ? y2 : y1 - } : abs(y3 - y1) < ε && x1 - x3 > ε ? { - x: abs(y2 - y1) < ε ? x2 : x1, - y: y1 - } : abs(x3 - x1) < ε && y3 - y0 > ε ? { - x: x1, - y: abs(x2 - x1) < ε ? y2 : y0 - } : abs(y3 - y0) < ε && x3 - x0 > ε ? { - x: abs(y2 - y0) < ε ? x2 : x0, - y: y0 - } : null), cell.site, null)); - ++nHalfEdges; - } - } - } - } - function d3_geom_voronoiHalfEdgeOrder(a, b) { - return b.angle - a.angle; - } - function d3_geom_voronoiCircle() { - d3_geom_voronoiRedBlackNode(this); - this.x = this.y = this.arc = this.site = this.cy = null; - } - function d3_geom_voronoiAttachCircle(arc) { - var lArc = arc.P, rArc = arc.N; - if (!lArc || !rArc) return; - var lSite = lArc.site, cSite = arc.site, rSite = rArc.site; - if (lSite === rSite) return; - var bx = cSite.x, by = cSite.y, ax = lSite.x - bx, ay = lSite.y - by, cx = rSite.x - bx, cy = rSite.y - by; - var d = 2 * (ax * cy - ay * cx); - if (d >= -ε2) return; - var ha = ax * ax + ay * ay, hc = cx * cx + cy * cy, x = (cy * ha - ay * hc) / d, y = (ax * hc - cx * ha) / d, cy = y + by; - var circle = d3_geom_voronoiCirclePool.pop() || new d3_geom_voronoiCircle(); - circle.arc = arc; - circle.site = cSite; - circle.x = x + bx; - circle.y = cy + Math.sqrt(x * x + y * y); - circle.cy = cy; - arc.circle = circle; - var before = null, node = d3_geom_voronoiCircles._; - while (node) { - if (circle.y < node.y || circle.y === node.y && circle.x <= node.x) { - if (node.L) node = node.L; else { - before = node.P; - break; - } - } else { - if (node.R) node = node.R; else { - before = node; - break; - } - } - } - d3_geom_voronoiCircles.insert(before, circle); - if (!before) d3_geom_voronoiFirstCircle = circle; - } - function d3_geom_voronoiDetachCircle(arc) { - var circle = arc.circle; - if (circle) { - if (!circle.P) d3_geom_voronoiFirstCircle = circle.N; - d3_geom_voronoiCircles.remove(circle); - d3_geom_voronoiCirclePool.push(circle); - d3_geom_voronoiRedBlackNode(circle); - arc.circle = null; - } - } - function d3_geom_voronoiClipEdges(extent) { - var edges = d3_geom_voronoiEdges, clip = d3_geom_clipLine(extent[0][0], extent[0][1], extent[1][0], extent[1][1]), i = edges.length, e; - while (i--) { - e = edges[i]; - if (!d3_geom_voronoiConnectEdge(e, extent) || !clip(e) || abs(e.a.x - e.b.x) < ε && abs(e.a.y - e.b.y) < ε) { - e.a = e.b = null; - edges.splice(i, 1); - } - } - } - function d3_geom_voronoiConnectEdge(edge, extent) { - var vb = edge.b; - if (vb) return true; - var va = edge.a, x0 = extent[0][0], x1 = extent[1][0], y0 = extent[0][1], y1 = extent[1][1], lSite = edge.l, rSite = edge.r, lx = lSite.x, ly = lSite.y, rx = rSite.x, ry = rSite.y, fx = (lx + rx) / 2, fy = (ly + ry) / 2, fm, fb; - if (ry === ly) { - if (fx < x0 || fx >= x1) return; - if (lx > rx) { - if (!va) va = { - x: fx, - y: y0 - }; else if (va.y >= y1) return; - vb = { - x: fx, - y: y1 - }; - } else { - if (!va) va = { - x: fx, - y: y1 - }; else if (va.y < y0) return; - vb = { - x: fx, - y: y0 - }; - } - } else { - fm = (lx - rx) / (ry - ly); - fb = fy - fm * fx; - if (fm < -1 || fm > 1) { - if (lx > rx) { - if (!va) va = { - x: (y0 - fb) / fm, - y: y0 - }; else if (va.y >= y1) return; - vb = { - x: (y1 - fb) / fm, - y: y1 - }; - } else { - if (!va) va = { - x: (y1 - fb) / fm, - y: y1 - }; else if (va.y < y0) return; - vb = { - x: (y0 - fb) / fm, - y: y0 - }; - } - } else { - if (ly < ry) { - if (!va) va = { - x: x0, - y: fm * x0 + fb - }; else if (va.x >= x1) return; - vb = { - x: x1, - y: fm * x1 + fb - }; - } else { - if (!va) va = { - x: x1, - y: fm * x1 + fb - }; else if (va.x < x0) return; - vb = { - x: x0, - y: fm * x0 + fb - }; - } - } - } - edge.a = va; - edge.b = vb; - return true; - } - function d3_geom_voronoiEdge(lSite, rSite) { - this.l = lSite; - this.r = rSite; - this.a = this.b = null; - } - function d3_geom_voronoiCreateEdge(lSite, rSite, va, vb) { - var edge = new d3_geom_voronoiEdge(lSite, rSite); - d3_geom_voronoiEdges.push(edge); - if (va) d3_geom_voronoiSetEdgeEnd(edge, lSite, rSite, va); - if (vb) d3_geom_voronoiSetEdgeEnd(edge, rSite, lSite, vb); - d3_geom_voronoiCells[lSite.i].edges.push(new d3_geom_voronoiHalfEdge(edge, lSite, rSite)); - d3_geom_voronoiCells[rSite.i].edges.push(new d3_geom_voronoiHalfEdge(edge, rSite, lSite)); - return edge; - } - function d3_geom_voronoiCreateBorderEdge(lSite, va, vb) { - var edge = new d3_geom_voronoiEdge(lSite, null); - edge.a = va; - edge.b = vb; - d3_geom_voronoiEdges.push(edge); - return edge; - } - function d3_geom_voronoiSetEdgeEnd(edge, lSite, rSite, vertex) { - if (!edge.a && !edge.b) { - edge.a = vertex; - edge.l = lSite; - edge.r = rSite; - } else if (edge.l === rSite) { - edge.b = vertex; - } else { - edge.a = vertex; - } - } - function d3_geom_voronoiHalfEdge(edge, lSite, rSite) { - var va = edge.a, vb = edge.b; - this.edge = edge; - this.site = lSite; - this.angle = rSite ? Math.atan2(rSite.y - lSite.y, rSite.x - lSite.x) : edge.l === lSite ? Math.atan2(vb.x - va.x, va.y - vb.y) : Math.atan2(va.x - vb.x, vb.y - va.y); - } - d3_geom_voronoiHalfEdge.prototype = { - start: function() { - return this.edge.l === this.site ? this.edge.a : this.edge.b; - }, - end: function() { - return this.edge.l === this.site ? this.edge.b : this.edge.a; - } - }; - function d3_geom_voronoiRedBlackTree() { - this._ = null; - } - function d3_geom_voronoiRedBlackNode(node) { - node.U = node.C = node.L = node.R = node.P = node.N = null; - } - d3_geom_voronoiRedBlackTree.prototype = { - insert: function(after, node) { - var parent, grandpa, uncle; - if (after) { - node.P = after; - node.N = after.N; - if (after.N) after.N.P = node; - after.N = node; - if (after.R) { - after = after.R; - while (after.L) after = after.L; - after.L = node; - } else { - after.R = node; - } - parent = after; - } else if (this._) { - after = d3_geom_voronoiRedBlackFirst(this._); - node.P = null; - node.N = after; - after.P = after.L = node; - parent = after; - } else { - node.P = node.N = null; - this._ = node; - parent = null; - } - node.L = node.R = null; - node.U = parent; - node.C = true; - after = node; - while (parent && parent.C) { - grandpa = parent.U; - if (parent === grandpa.L) { - uncle = grandpa.R; - if (uncle && uncle.C) { - parent.C = uncle.C = false; - grandpa.C = true; - after = grandpa; - } else { - if (after === parent.R) { - d3_geom_voronoiRedBlackRotateLeft(this, parent); - after = parent; - parent = after.U; - } - parent.C = false; - grandpa.C = true; - d3_geom_voronoiRedBlackRotateRight(this, grandpa); - } - } else { - uncle = grandpa.L; - if (uncle && uncle.C) { - parent.C = uncle.C = false; - grandpa.C = true; - after = grandpa; - } else { - if (after === parent.L) { - d3_geom_voronoiRedBlackRotateRight(this, parent); - after = parent; - parent = after.U; - } - parent.C = false; - grandpa.C = true; - d3_geom_voronoiRedBlackRotateLeft(this, grandpa); - } - } - parent = after.U; - } - this._.C = false; - }, - remove: function(node) { - if (node.N) node.N.P = node.P; - if (node.P) node.P.N = node.N; - node.N = node.P = null; - var parent = node.U, sibling, left = node.L, right = node.R, next, red; - if (!left) next = right; else if (!right) next = left; else next = d3_geom_voronoiRedBlackFirst(right); - if (parent) { - if (parent.L === node) parent.L = next; else parent.R = next; - } else { - this._ = next; - } - if (left && right) { - red = next.C; - next.C = node.C; - next.L = left; - left.U = next; - if (next !== right) { - parent = next.U; - next.U = node.U; - node = next.R; - parent.L = node; - next.R = right; - right.U = next; - } else { - next.U = parent; - parent = next; - node = next.R; - } - } else { - red = node.C; - node = next; - } - if (node) node.U = parent; - if (red) return; - if (node && node.C) { - node.C = false; - return; - } - do { - if (node === this._) break; - if (node === parent.L) { - sibling = parent.R; - if (sibling.C) { - sibling.C = false; - parent.C = true; - d3_geom_voronoiRedBlackRotateLeft(this, parent); - sibling = parent.R; - } - if (sibling.L && sibling.L.C || sibling.R && sibling.R.C) { - if (!sibling.R || !sibling.R.C) { - sibling.L.C = false; - sibling.C = true; - d3_geom_voronoiRedBlackRotateRight(this, sibling); - sibling = parent.R; - } - sibling.C = parent.C; - parent.C = sibling.R.C = false; - d3_geom_voronoiRedBlackRotateLeft(this, parent); - node = this._; - break; - } - } else { - sibling = parent.L; - if (sibling.C) { - sibling.C = false; - parent.C = true; - d3_geom_voronoiRedBlackRotateRight(this, parent); - sibling = parent.L; - } - if (sibling.L && sibling.L.C || sibling.R && sibling.R.C) { - if (!sibling.L || !sibling.L.C) { - sibling.R.C = false; - sibling.C = true; - d3_geom_voronoiRedBlackRotateLeft(this, sibling); - sibling = parent.L; - } - sibling.C = parent.C; - parent.C = sibling.L.C = false; - d3_geom_voronoiRedBlackRotateRight(this, parent); - node = this._; - break; - } - } - sibling.C = true; - node = parent; - parent = parent.U; - } while (!node.C); - if (node) node.C = false; - } - }; - function d3_geom_voronoiRedBlackRotateLeft(tree, node) { - var p = node, q = node.R, parent = p.U; - if (parent) { - if (parent.L === p) parent.L = q; else parent.R = q; - } else { - tree._ = q; - } - q.U = parent; - p.U = q; - p.R = q.L; - if (p.R) p.R.U = p; - q.L = p; - } - function d3_geom_voronoiRedBlackRotateRight(tree, node) { - var p = node, q = node.L, parent = p.U; - if (parent) { - if (parent.L === p) parent.L = q; else parent.R = q; - } else { - tree._ = q; - } - q.U = parent; - p.U = q; - p.L = q.R; - if (p.L) p.L.U = p; - q.R = p; - } - function d3_geom_voronoiRedBlackFirst(node) { - while (node.L) node = node.L; - return node; - } - function d3_geom_voronoi(sites, bbox) { - var site = sites.sort(d3_geom_voronoiVertexOrder).pop(), x0, y0, circle; - d3_geom_voronoiEdges = []; - d3_geom_voronoiCells = new Array(sites.length); - d3_geom_voronoiBeaches = new d3_geom_voronoiRedBlackTree(); - d3_geom_voronoiCircles = new d3_geom_voronoiRedBlackTree(); - while (true) { - circle = d3_geom_voronoiFirstCircle; - if (site && (!circle || site.y < circle.y || site.y === circle.y && site.x < circle.x)) { - if (site.x !== x0 || site.y !== y0) { - d3_geom_voronoiCells[site.i] = new d3_geom_voronoiCell(site); - d3_geom_voronoiAddBeach(site); - x0 = site.x, y0 = site.y; - } - site = sites.pop(); - } else if (circle) { - d3_geom_voronoiRemoveBeach(circle.arc); - } else { - break; - } - } - if (bbox) d3_geom_voronoiClipEdges(bbox), d3_geom_voronoiCloseCells(bbox); - var diagram = { - cells: d3_geom_voronoiCells, - edges: d3_geom_voronoiEdges - }; - d3_geom_voronoiBeaches = d3_geom_voronoiCircles = d3_geom_voronoiEdges = d3_geom_voronoiCells = null; - return diagram; - } - function d3_geom_voronoiVertexOrder(a, b) { - return b.y - a.y || b.x - a.x; - } - d3.geom.voronoi = function(points) { - var x = d3_geom_pointX, y = d3_geom_pointY, fx = x, fy = y, clipExtent = d3_geom_voronoiClipExtent; - if (points) return voronoi(points); - function voronoi(data) { - var polygons = new Array(data.length), x0 = clipExtent[0][0], y0 = clipExtent[0][1], x1 = clipExtent[1][0], y1 = clipExtent[1][1]; - d3_geom_voronoi(sites(data), clipExtent).cells.forEach(function(cell, i) { - var edges = cell.edges, site = cell.site, polygon = polygons[i] = edges.length ? edges.map(function(e) { - var s = e.start(); - return [ s.x, s.y ]; - }) : site.x >= x0 && site.x <= x1 && site.y >= y0 && site.y <= y1 ? [ [ x0, y1 ], [ x1, y1 ], [ x1, y0 ], [ x0, y0 ] ] : []; - polygon.point = data[i]; - }); - return polygons; - } - function sites(data) { - return data.map(function(d, i) { - return { - x: Math.round(fx(d, i) / ε) * ε, - y: Math.round(fy(d, i) / ε) * ε, - i: i - }; - }); - } - voronoi.links = function(data) { - return d3_geom_voronoi(sites(data)).edges.filter(function(edge) { - return edge.l && edge.r; - }).map(function(edge) { - return { - source: data[edge.l.i], - target: data[edge.r.i] - }; - }); - }; - voronoi.triangles = function(data) { - var triangles = []; - d3_geom_voronoi(sites(data)).cells.forEach(function(cell, i) { - var site = cell.site, edges = cell.edges.sort(d3_geom_voronoiHalfEdgeOrder), j = -1, m = edges.length, e0, s0, e1 = edges[m - 1].edge, s1 = e1.l === site ? e1.r : e1.l; - while (++j < m) { - e0 = e1; - s0 = s1; - e1 = edges[j].edge; - s1 = e1.l === site ? e1.r : e1.l; - if (i < s0.i && i < s1.i && d3_geom_voronoiTriangleArea(site, s0, s1) < 0) { - triangles.push([ data[i], data[s0.i], data[s1.i] ]); - } - } - }); - return triangles; - }; - voronoi.x = function(_) { - return arguments.length ? (fx = d3_functor(x = _), voronoi) : x; - }; - voronoi.y = function(_) { - return arguments.length ? (fy = d3_functor(y = _), voronoi) : y; - }; - voronoi.clipExtent = function(_) { - if (!arguments.length) return clipExtent === d3_geom_voronoiClipExtent ? null : clipExtent; - clipExtent = _ == null ? d3_geom_voronoiClipExtent : _; - return voronoi; - }; - voronoi.size = function(_) { - if (!arguments.length) return clipExtent === d3_geom_voronoiClipExtent ? null : clipExtent && clipExtent[1]; - return voronoi.clipExtent(_ && [ [ 0, 0 ], _ ]); - }; - return voronoi; - }; - var d3_geom_voronoiClipExtent = [ [ -1e6, -1e6 ], [ 1e6, 1e6 ] ]; - function d3_geom_voronoiTriangleArea(a, b, c) { - return (a.x - c.x) * (b.y - a.y) - (a.x - b.x) * (c.y - a.y); - } - d3.geom.delaunay = function(vertices) { - return d3.geom.voronoi().triangles(vertices); - }; - d3.geom.quadtree = function(points, x1, y1, x2, y2) { - var x = d3_geom_pointX, y = d3_geom_pointY, compat; - if (compat = arguments.length) { - x = d3_geom_quadtreeCompatX; - y = d3_geom_quadtreeCompatY; - if (compat === 3) { - y2 = y1; - x2 = x1; - y1 = x1 = 0; - } - return quadtree(points); - } - function quadtree(data) { - var d, fx = d3_functor(x), fy = d3_functor(y), xs, ys, i, n, x1_, y1_, x2_, y2_; - if (x1 != null) { - x1_ = x1, y1_ = y1, x2_ = x2, y2_ = y2; - } else { - x2_ = y2_ = -(x1_ = y1_ = Infinity); - xs = [], ys = []; - n = data.length; - if (compat) for (i = 0; i < n; ++i) { - d = data[i]; - if (d.x < x1_) x1_ = d.x; - if (d.y < y1_) y1_ = d.y; - if (d.x > x2_) x2_ = d.x; - if (d.y > y2_) y2_ = d.y; - xs.push(d.x); - ys.push(d.y); - } else for (i = 0; i < n; ++i) { - var x_ = +fx(d = data[i], i), y_ = +fy(d, i); - if (x_ < x1_) x1_ = x_; - if (y_ < y1_) y1_ = y_; - if (x_ > x2_) x2_ = x_; - if (y_ > y2_) y2_ = y_; - xs.push(x_); - ys.push(y_); - } - } - var dx = x2_ - x1_, dy = y2_ - y1_; - if (dx > dy) y2_ = y1_ + dx; else x2_ = x1_ + dy; - function insert(n, d, x, y, x1, y1, x2, y2) { - if (isNaN(x) || isNaN(y)) return; - if (n.leaf) { - var nx = n.x, ny = n.y; - if (nx != null) { - if (abs(nx - x) + abs(ny - y) < .01) { - insertChild(n, d, x, y, x1, y1, x2, y2); - } else { - var nPoint = n.point; - n.x = n.y = n.point = null; - insertChild(n, nPoint, nx, ny, x1, y1, x2, y2); - insertChild(n, d, x, y, x1, y1, x2, y2); - } - } else { - n.x = x, n.y = y, n.point = d; - } - } else { - insertChild(n, d, x, y, x1, y1, x2, y2); - } - } - function insertChild(n, d, x, y, x1, y1, x2, y2) { - var xm = (x1 + x2) * .5, ym = (y1 + y2) * .5, right = x >= xm, below = y >= ym, i = below << 1 | right; - n.leaf = false; - n = n.nodes[i] || (n.nodes[i] = d3_geom_quadtreeNode()); - if (right) x1 = xm; else x2 = xm; - if (below) y1 = ym; else y2 = ym; - insert(n, d, x, y, x1, y1, x2, y2); - } - var root = d3_geom_quadtreeNode(); - root.add = function(d) { - insert(root, d, +fx(d, ++i), +fy(d, i), x1_, y1_, x2_, y2_); - }; - root.visit = function(f) { - d3_geom_quadtreeVisit(f, root, x1_, y1_, x2_, y2_); - }; - root.find = function(point) { - return d3_geom_quadtreeFind(root, point[0], point[1], x1_, y1_, x2_, y2_); - }; - i = -1; - if (x1 == null) { - while (++i < n) { - insert(root, data[i], xs[i], ys[i], x1_, y1_, x2_, y2_); - } - --i; - } else data.forEach(root.add); - xs = ys = data = d = null; - return root; - } - quadtree.x = function(_) { - return arguments.length ? (x = _, quadtree) : x; - }; - quadtree.y = function(_) { - return arguments.length ? (y = _, quadtree) : y; - }; - quadtree.extent = function(_) { - if (!arguments.length) return x1 == null ? null : [ [ x1, y1 ], [ x2, y2 ] ]; - if (_ == null) x1 = y1 = x2 = y2 = null; else x1 = +_[0][0], y1 = +_[0][1], x2 = +_[1][0], - y2 = +_[1][1]; - return quadtree; - }; - quadtree.size = function(_) { - if (!arguments.length) return x1 == null ? null : [ x2 - x1, y2 - y1 ]; - if (_ == null) x1 = y1 = x2 = y2 = null; else x1 = y1 = 0, x2 = +_[0], y2 = +_[1]; - return quadtree; - }; - return quadtree; - }; - function d3_geom_quadtreeCompatX(d) { - return d.x; - } - function d3_geom_quadtreeCompatY(d) { - return d.y; - } - function d3_geom_quadtreeNode() { - return { - leaf: true, - nodes: [], - point: null, - x: null, - y: null - }; - } - function d3_geom_quadtreeVisit(f, node, x1, y1, x2, y2) { - if (!f(node, x1, y1, x2, y2)) { - var sx = (x1 + x2) * .5, sy = (y1 + y2) * .5, children = node.nodes; - if (children[0]) d3_geom_quadtreeVisit(f, children[0], x1, y1, sx, sy); - if (children[1]) d3_geom_quadtreeVisit(f, children[1], sx, y1, x2, sy); - if (children[2]) d3_geom_quadtreeVisit(f, children[2], x1, sy, sx, y2); - if (children[3]) d3_geom_quadtreeVisit(f, children[3], sx, sy, x2, y2); - } - } - function d3_geom_quadtreeFind(root, x, y, x0, y0, x3, y3) { - var minDistance2 = Infinity, closestPoint; - (function find(node, x1, y1, x2, y2) { - if (x1 > x3 || y1 > y3 || x2 < x0 || y2 < y0) return; - if (point = node.point) { - var point, dx = x - point[0], dy = y - point[1], distance2 = dx * dx + dy * dy; - if (distance2 < minDistance2) { - var distance = Math.sqrt(minDistance2 = distance2); - x0 = x - distance, y0 = y - distance; - x3 = x + distance, y3 = y + distance; - closestPoint = point; - } - } - var children = node.nodes, xm = (x1 + x2) * .5, ym = (y1 + y2) * .5, right = x >= xm, below = y >= ym; - for (var i = below << 1 | right, j = i + 4; i < j; ++i) { - if (node = children[i & 3]) switch (i & 3) { - case 0: - find(node, x1, y1, xm, ym); - break; - - case 1: - find(node, xm, y1, x2, ym); - break; - - case 2: - find(node, x1, ym, xm, y2); - break; - - case 3: - find(node, xm, ym, x2, y2); - break; - } - } - })(root, x0, y0, x3, y3); - return closestPoint; - } - d3.interpolateRgb = d3_interpolateRgb; - function d3_interpolateRgb(a, b) { - a = d3.rgb(a); - b = d3.rgb(b); - var ar = a.r, ag = a.g, ab = a.b, br = b.r - ar, bg = b.g - ag, bb = b.b - ab; - return function(t) { - return "#" + d3_rgb_hex(Math.round(ar + br * t)) + d3_rgb_hex(Math.round(ag + bg * t)) + d3_rgb_hex(Math.round(ab + bb * t)); - }; - } - d3.interpolateObject = d3_interpolateObject; - function d3_interpolateObject(a, b) { - var i = {}, c = {}, k; - for (k in a) { - if (k in b) { - i[k] = d3_interpolate(a[k], b[k]); - } else { - c[k] = a[k]; - } - } - for (k in b) { - if (!(k in a)) { - c[k] = b[k]; - } - } - return function(t) { - for (k in i) c[k] = i[k](t); - return c; - }; - } - d3.interpolateNumber = d3_interpolateNumber; - function d3_interpolateNumber(a, b) { - a = +a, b = +b; - return function(t) { - return a * (1 - t) + b * t; - }; - } - d3.interpolateString = d3_interpolateString; - function d3_interpolateString(a, b) { - var bi = d3_interpolate_numberA.lastIndex = d3_interpolate_numberB.lastIndex = 0, am, bm, bs, i = -1, s = [], q = []; - a = a + "", b = b + ""; - while ((am = d3_interpolate_numberA.exec(a)) && (bm = d3_interpolate_numberB.exec(b))) { - if ((bs = bm.index) > bi) { - bs = b.slice(bi, bs); - if (s[i]) s[i] += bs; else s[++i] = bs; - } - if ((am = am[0]) === (bm = bm[0])) { - if (s[i]) s[i] += bm; else s[++i] = bm; - } else { - s[++i] = null; - q.push({ - i: i, - x: d3_interpolateNumber(am, bm) - }); - } - bi = d3_interpolate_numberB.lastIndex; - } - if (bi < b.length) { - bs = b.slice(bi); - if (s[i]) s[i] += bs; else s[++i] = bs; - } - return s.length < 2 ? q[0] ? (b = q[0].x, function(t) { - return b(t) + ""; - }) : function() { - return b; - } : (b = q.length, function(t) { - for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t); - return s.join(""); - }); - } - var d3_interpolate_numberA = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, d3_interpolate_numberB = new RegExp(d3_interpolate_numberA.source, "g"); - d3.interpolate = d3_interpolate; - function d3_interpolate(a, b) { - var i = d3.interpolators.length, f; - while (--i >= 0 && !(f = d3.interpolators[i](a, b))) ; - return f; - } - d3.interpolators = [ function(a, b) { - var t = typeof b; - return (t === "string" ? d3_rgb_names.has(b) || /^(#|rgb\(|hsl\()/.test(b) ? d3_interpolateRgb : d3_interpolateString : b instanceof d3_color ? d3_interpolateRgb : Array.isArray(b) ? d3_interpolateArray : t === "object" && isNaN(b) ? d3_interpolateObject : d3_interpolateNumber)(a, b); - } ]; - d3.interpolateArray = d3_interpolateArray; - function d3_interpolateArray(a, b) { - var x = [], c = [], na = a.length, nb = b.length, n0 = Math.min(a.length, b.length), i; - for (i = 0; i < n0; ++i) x.push(d3_interpolate(a[i], b[i])); - for (;i < na; ++i) c[i] = a[i]; - for (;i < nb; ++i) c[i] = b[i]; - return function(t) { - for (i = 0; i < n0; ++i) c[i] = x[i](t); - return c; - }; - } - var d3_ease_default = function() { - return d3_identity; - }; - var d3_ease = d3.map({ - linear: d3_ease_default, - poly: d3_ease_poly, - quad: function() { - return d3_ease_quad; - }, - cubic: function() { - return d3_ease_cubic; - }, - sin: function() { - return d3_ease_sin; - }, - exp: function() { - return d3_ease_exp; - }, - circle: function() { - return d3_ease_circle; - }, - elastic: d3_ease_elastic, - back: d3_ease_back, - bounce: function() { - return d3_ease_bounce; - } - }); - var d3_ease_mode = d3.map({ - "in": d3_identity, - out: d3_ease_reverse, - "in-out": d3_ease_reflect, - "out-in": function(f) { - return d3_ease_reflect(d3_ease_reverse(f)); - } - }); - d3.ease = function(name) { - var i = name.indexOf("-"), t = i >= 0 ? name.slice(0, i) : name, m = i >= 0 ? name.slice(i + 1) : "in"; - t = d3_ease.get(t) || d3_ease_default; - m = d3_ease_mode.get(m) || d3_identity; - return d3_ease_clamp(m(t.apply(null, d3_arraySlice.call(arguments, 1)))); - }; - function d3_ease_clamp(f) { - return function(t) { - return t <= 0 ? 0 : t >= 1 ? 1 : f(t); - }; - } - function d3_ease_reverse(f) { - return function(t) { - return 1 - f(1 - t); - }; - } - function d3_ease_reflect(f) { - return function(t) { - return .5 * (t < .5 ? f(2 * t) : 2 - f(2 - 2 * t)); - }; - } - function d3_ease_quad(t) { - return t * t; - } - function d3_ease_cubic(t) { - return t * t * t; - } - function d3_ease_cubicInOut(t) { - if (t <= 0) return 0; - if (t >= 1) return 1; - var t2 = t * t, t3 = t2 * t; - return 4 * (t < .5 ? t3 : 3 * (t - t2) + t3 - .75); - } - function d3_ease_poly(e) { - return function(t) { - return Math.pow(t, e); - }; - } - function d3_ease_sin(t) { - return 1 - Math.cos(t * halfπ); - } - function d3_ease_exp(t) { - return Math.pow(2, 10 * (t - 1)); - } - function d3_ease_circle(t) { - return 1 - Math.sqrt(1 - t * t); - } - function d3_ease_elastic(a, p) { - var s; - if (arguments.length < 2) p = .45; - if (arguments.length) s = p / τ * Math.asin(1 / a); else a = 1, s = p / 4; - return function(t) { - return 1 + a * Math.pow(2, -10 * t) * Math.sin((t - s) * τ / p); - }; - } - function d3_ease_back(s) { - if (!s) s = 1.70158; - return function(t) { - return t * t * ((s + 1) * t - s); - }; - } - function d3_ease_bounce(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; - } - d3.interpolateHcl = d3_interpolateHcl; - function d3_interpolateHcl(a, b) { - a = d3.hcl(a); - b = d3.hcl(b); - var ah = a.h, ac = a.c, al = a.l, bh = b.h - ah, bc = b.c - ac, bl = b.l - al; - if (isNaN(bc)) bc = 0, ac = isNaN(ac) ? b.c : ac; - if (isNaN(bh)) bh = 0, ah = isNaN(ah) ? b.h : ah; else if (bh > 180) bh -= 360; else if (bh < -180) bh += 360; - return function(t) { - return d3_hcl_lab(ah + bh * t, ac + bc * t, al + bl * t) + ""; - }; - } - d3.interpolateHsl = d3_interpolateHsl; - function d3_interpolateHsl(a, b) { - a = d3.hsl(a); - b = d3.hsl(b); - var ah = a.h, as = a.s, al = a.l, bh = b.h - ah, bs = b.s - as, bl = b.l - al; - if (isNaN(bs)) bs = 0, as = isNaN(as) ? b.s : as; - if (isNaN(bh)) bh = 0, ah = isNaN(ah) ? b.h : ah; else if (bh > 180) bh -= 360; else if (bh < -180) bh += 360; - return function(t) { - return d3_hsl_rgb(ah + bh * t, as + bs * t, al + bl * t) + ""; - }; - } - d3.interpolateLab = d3_interpolateLab; - function d3_interpolateLab(a, b) { - a = d3.lab(a); - b = d3.lab(b); - var al = a.l, aa = a.a, ab = a.b, bl = b.l - al, ba = b.a - aa, bb = b.b - ab; - return function(t) { - return d3_lab_rgb(al + bl * t, aa + ba * t, ab + bb * t) + ""; - }; - } - d3.interpolateRound = d3_interpolateRound; - function d3_interpolateRound(a, b) { - b -= a; - return function(t) { - return Math.round(a + b * t); - }; - } - d3.transform = function(string) { - var g = d3_document.createElementNS(d3.ns.prefix.svg, "g"); - return (d3.transform = function(string) { - if (string != null) { - g.setAttribute("transform", string); - var t = g.transform.baseVal.consolidate(); - } - return new d3_transform(t ? t.matrix : d3_transformIdentity); - })(string); - }; - function d3_transform(m) { - var r0 = [ m.a, m.b ], r1 = [ m.c, m.d ], kx = d3_transformNormalize(r0), kz = d3_transformDot(r0, r1), ky = d3_transformNormalize(d3_transformCombine(r1, r0, -kz)) || 0; - if (r0[0] * r1[1] < r1[0] * r0[1]) { - r0[0] *= -1; - r0[1] *= -1; - kx *= -1; - kz *= -1; - } - this.rotate = (kx ? Math.atan2(r0[1], r0[0]) : Math.atan2(-r1[0], r1[1])) * d3_degrees; - this.translate = [ m.e, m.f ]; - this.scale = [ kx, ky ]; - this.skew = ky ? Math.atan2(kz, ky) * d3_degrees : 0; - } - d3_transform.prototype.toString = function() { - return "translate(" + this.translate + ")rotate(" + this.rotate + ")skewX(" + this.skew + ")scale(" + this.scale + ")"; - }; - function d3_transformDot(a, b) { - return a[0] * b[0] + a[1] * b[1]; - } - function d3_transformNormalize(a) { - var k = Math.sqrt(d3_transformDot(a, a)); - if (k) { - a[0] /= k; - a[1] /= k; - } - return k; - } - function d3_transformCombine(a, b, k) { - a[0] += k * b[0]; - a[1] += k * b[1]; - return a; - } - var d3_transformIdentity = { - a: 1, - b: 0, - c: 0, - d: 1, - e: 0, - f: 0 - }; - d3.interpolateTransform = d3_interpolateTransform; - function d3_interpolateTransform(a, b) { - var s = [], q = [], n, A = d3.transform(a), B = d3.transform(b), ta = A.translate, tb = B.translate, ra = A.rotate, rb = B.rotate, wa = A.skew, wb = B.skew, ka = A.scale, kb = B.scale; - if (ta[0] != tb[0] || ta[1] != tb[1]) { - s.push("translate(", null, ",", null, ")"); - q.push({ - i: 1, - x: d3_interpolateNumber(ta[0], tb[0]) - }, { - i: 3, - x: d3_interpolateNumber(ta[1], tb[1]) - }); - } else if (tb[0] || tb[1]) { - s.push("translate(" + tb + ")"); - } else { - s.push(""); - } - if (ra != rb) { - if (ra - rb > 180) rb += 360; else if (rb - ra > 180) ra += 360; - q.push({ - i: s.push(s.pop() + "rotate(", null, ")") - 2, - x: d3_interpolateNumber(ra, rb) - }); - } else if (rb) { - s.push(s.pop() + "rotate(" + rb + ")"); - } - if (wa != wb) { - q.push({ - i: s.push(s.pop() + "skewX(", null, ")") - 2, - x: d3_interpolateNumber(wa, wb) - }); - } else if (wb) { - s.push(s.pop() + "skewX(" + wb + ")"); - } - if (ka[0] != kb[0] || ka[1] != kb[1]) { - n = s.push(s.pop() + "scale(", null, ",", null, ")"); - q.push({ - i: n - 4, - x: d3_interpolateNumber(ka[0], kb[0]) - }, { - i: n - 2, - x: d3_interpolateNumber(ka[1], kb[1]) - }); - } else if (kb[0] != 1 || kb[1] != 1) { - s.push(s.pop() + "scale(" + kb + ")"); - } - n = q.length; - return function(t) { - var i = -1, o; - while (++i < n) s[(o = q[i]).i] = o.x(t); - return s.join(""); - }; - } - function d3_uninterpolateNumber(a, b) { - b = (b -= a = +a) || 1 / b; - return function(x) { - return (x - a) / b; - }; - } - function d3_uninterpolateClamp(a, b) { - b = (b -= a = +a) || 1 / b; - return function(x) { - return Math.max(0, Math.min(1, (x - a) / b)); - }; - } - d3.layout = {}; - d3.layout.bundle = function() { - return function(links) { - var paths = [], i = -1, n = links.length; - while (++i < n) paths.push(d3_layout_bundlePath(links[i])); - return paths; - }; - }; - function d3_layout_bundlePath(link) { - var start = link.source, end = link.target, lca = d3_layout_bundleLeastCommonAncestor(start, end), points = [ start ]; - while (start !== lca) { - start = start.parent; - points.push(start); - } - var k = points.length; - while (end !== lca) { - points.splice(k, 0, end); - end = end.parent; - } - return points; - } - function d3_layout_bundleAncestors(node) { - var ancestors = [], parent = node.parent; - while (parent != null) { - ancestors.push(node); - node = parent; - parent = parent.parent; - } - ancestors.push(node); - return ancestors; - } - function d3_layout_bundleLeastCommonAncestor(a, b) { - if (a === b) return a; - var aNodes = d3_layout_bundleAncestors(a), bNodes = d3_layout_bundleAncestors(b), aNode = aNodes.pop(), bNode = bNodes.pop(), sharedNode = null; - while (aNode === bNode) { - sharedNode = aNode; - aNode = aNodes.pop(); - bNode = bNodes.pop(); - } - return sharedNode; - } - d3.layout.chord = function() { - var chord = {}, chords, groups, matrix, n, padding = 0, sortGroups, sortSubgroups, sortChords; - function relayout() { - var subgroups = {}, groupSums = [], groupIndex = d3.range(n), subgroupIndex = [], k, x, x0, i, j; - chords = []; - groups = []; - k = 0, i = -1; - while (++i < n) { - x = 0, j = -1; - while (++j < n) { - x += matrix[i][j]; - } - groupSums.push(x); - subgroupIndex.push(d3.range(n)); - k += x; - } - if (sortGroups) { - groupIndex.sort(function(a, b) { - return sortGroups(groupSums[a], groupSums[b]); - }); - } - if (sortSubgroups) { - subgroupIndex.forEach(function(d, i) { - d.sort(function(a, b) { - return sortSubgroups(matrix[i][a], matrix[i][b]); - }); - }); - } - k = (τ - padding * n) / k; - x = 0, i = -1; - while (++i < n) { - x0 = x, j = -1; - while (++j < n) { - var di = groupIndex[i], dj = subgroupIndex[di][j], v = matrix[di][dj], a0 = x, a1 = x += v * k; - subgroups[di + "-" + dj] = { - index: di, - subindex: dj, - startAngle: a0, - endAngle: a1, - value: v - }; - } - groups[di] = { - index: di, - startAngle: x0, - endAngle: x, - value: (x - x0) / k - }; - x += padding; - } - i = -1; - while (++i < n) { - j = i - 1; - while (++j < n) { - var source = subgroups[i + "-" + j], target = subgroups[j + "-" + i]; - if (source.value || target.value) { - chords.push(source.value < target.value ? { - source: target, - target: source - } : { - source: source, - target: target - }); - } - } - } - if (sortChords) resort(); - } - function resort() { - chords.sort(function(a, b) { - return sortChords((a.source.value + a.target.value) / 2, (b.source.value + b.target.value) / 2); - }); - } - chord.matrix = function(x) { - if (!arguments.length) return matrix; - n = (matrix = x) && matrix.length; - chords = groups = null; - return chord; - }; - chord.padding = function(x) { - if (!arguments.length) return padding; - padding = x; - chords = groups = null; - return chord; - }; - chord.sortGroups = function(x) { - if (!arguments.length) return sortGroups; - sortGroups = x; - chords = groups = null; - return chord; - }; - chord.sortSubgroups = function(x) { - if (!arguments.length) return sortSubgroups; - sortSubgroups = x; - chords = null; - return chord; - }; - chord.sortChords = function(x) { - if (!arguments.length) return sortChords; - sortChords = x; - if (chords) resort(); - return chord; - }; - chord.chords = function() { - if (!chords) relayout(); - return chords; - }; - chord.groups = function() { - if (!groups) relayout(); - return groups; - }; - return chord; - }; - d3.layout.force = function() { - var force = {}, event = d3.dispatch("start", "tick", "end"), size = [ 1, 1 ], drag, alpha, friction = .9, linkDistance = d3_layout_forceLinkDistance, linkStrength = d3_layout_forceLinkStrength, charge = -30, chargeDistance2 = d3_layout_forceChargeDistance2, gravity = .1, theta2 = .64, nodes = [], links = [], distances, strengths, charges; - function repulse(node) { - return function(quad, x1, _, x2) { - if (quad.point !== node) { - var dx = quad.cx - node.x, dy = quad.cy - node.y, dw = x2 - x1, dn = dx * dx + dy * dy; - if (dw * dw / theta2 < dn) { - if (dn < chargeDistance2) { - var k = quad.charge / dn; - node.px -= dx * k; - node.py -= dy * k; - } - return true; - } - if (quad.point && dn && dn < chargeDistance2) { - var k = quad.pointCharge / dn; - node.px -= dx * k; - node.py -= dy * k; - } - } - return !quad.charge; - }; - } - force.tick = function() { - if ((alpha *= .99) < .005) { - event.end({ - type: "end", - alpha: alpha = 0 - }); - return true; - } - var n = nodes.length, m = links.length, q, i, o, s, t, l, k, x, y; - for (i = 0; i < m; ++i) { - o = links[i]; - s = o.source; - t = o.target; - x = t.x - s.x; - y = t.y - s.y; - if (l = x * x + y * y) { - l = alpha * strengths[i] * ((l = Math.sqrt(l)) - distances[i]) / l; - x *= l; - y *= l; - t.x -= x * (k = s.weight / (t.weight + s.weight)); - t.y -= y * k; - s.x += x * (k = 1 - k); - s.y += y * k; - } - } - if (k = alpha * gravity) { - x = size[0] / 2; - y = size[1] / 2; - i = -1; - if (k) while (++i < n) { - o = nodes[i]; - o.x += (x - o.x) * k; - o.y += (y - o.y) * k; - } - } - if (charge) { - d3_layout_forceAccumulate(q = d3.geom.quadtree(nodes), alpha, charges); - i = -1; - while (++i < n) { - if (!(o = nodes[i]).fixed) { - q.visit(repulse(o)); - } - } - } - i = -1; - while (++i < n) { - o = nodes[i]; - if (o.fixed) { - o.x = o.px; - o.y = o.py; - } else { - o.x -= (o.px - (o.px = o.x)) * friction; - o.y -= (o.py - (o.py = o.y)) * friction; - } - } - event.tick({ - type: "tick", - alpha: alpha - }); - }; - force.nodes = function(x) { - if (!arguments.length) return nodes; - nodes = x; - return force; - }; - force.links = function(x) { - if (!arguments.length) return links; - links = x; - return force; - }; - force.size = function(x) { - if (!arguments.length) return size; - size = x; - return force; - }; - force.linkDistance = function(x) { - if (!arguments.length) return linkDistance; - linkDistance = typeof x === "function" ? x : +x; - return force; - }; - force.distance = force.linkDistance; - force.linkStrength = function(x) { - if (!arguments.length) return linkStrength; - linkStrength = typeof x === "function" ? x : +x; - return force; - }; - force.friction = function(x) { - if (!arguments.length) return friction; - friction = +x; - return force; - }; - force.charge = function(x) { - if (!arguments.length) return charge; - charge = typeof x === "function" ? x : +x; - return force; - }; - force.chargeDistance = function(x) { - if (!arguments.length) return Math.sqrt(chargeDistance2); - chargeDistance2 = x * x; - return force; - }; - force.gravity = function(x) { - if (!arguments.length) return gravity; - gravity = +x; - return force; - }; - force.theta = function(x) { - if (!arguments.length) return Math.sqrt(theta2); - theta2 = x * x; - return force; - }; - force.alpha = function(x) { - if (!arguments.length) return alpha; - x = +x; - if (alpha) { - if (x > 0) alpha = x; else alpha = 0; - } else if (x > 0) { - event.start({ - type: "start", - alpha: alpha = x - }); - d3.timer(force.tick); - } - return force; - }; - force.start = function() { - var i, n = nodes.length, m = links.length, w = size[0], h = size[1], neighbors, o; - for (i = 0; i < n; ++i) { - (o = nodes[i]).index = i; - o.weight = 0; - } - for (i = 0; i < m; ++i) { - o = links[i]; - if (typeof o.source == "number") o.source = nodes[o.source]; - if (typeof o.target == "number") o.target = nodes[o.target]; - ++o.source.weight; - ++o.target.weight; - } - for (i = 0; i < n; ++i) { - o = nodes[i]; - if (isNaN(o.x)) o.x = position("x", w); - if (isNaN(o.y)) o.y = position("y", h); - if (isNaN(o.px)) o.px = o.x; - if (isNaN(o.py)) o.py = o.y; - } - distances = []; - if (typeof linkDistance === "function") for (i = 0; i < m; ++i) distances[i] = +linkDistance.call(this, links[i], i); else for (i = 0; i < m; ++i) distances[i] = linkDistance; - strengths = []; - if (typeof linkStrength === "function") for (i = 0; i < m; ++i) strengths[i] = +linkStrength.call(this, links[i], i); else for (i = 0; i < m; ++i) strengths[i] = linkStrength; - charges = []; - if (typeof charge === "function") for (i = 0; i < n; ++i) charges[i] = +charge.call(this, nodes[i], i); else for (i = 0; i < n; ++i) charges[i] = charge; - function position(dimension, size) { - if (!neighbors) { - neighbors = new Array(n); - for (j = 0; j < n; ++j) { - neighbors[j] = []; - } - for (j = 0; j < m; ++j) { - var o = links[j]; - neighbors[o.source.index].push(o.target); - neighbors[o.target.index].push(o.source); - } - } - var candidates = neighbors[i], j = -1, m = candidates.length, x; - while (++j < m) if (!isNaN(x = candidates[j][dimension])) return x; - return Math.random() * size; - } - return force.resume(); - }; - force.resume = function() { - return force.alpha(.1); - }; - force.stop = function() { - return force.alpha(0); - }; - force.drag = function() { - if (!drag) drag = d3.behavior.drag().origin(d3_identity).on("dragstart.force", d3_layout_forceDragstart).on("drag.force", dragmove).on("dragend.force", d3_layout_forceDragend); - if (!arguments.length) return drag; - this.on("mouseover.force", d3_layout_forceMouseover).on("mouseout.force", d3_layout_forceMouseout).call(drag); - }; - function dragmove(d) { - d.px = d3.event.x, d.py = d3.event.y; - force.resume(); - } - return d3.rebind(force, event, "on"); - }; - function d3_layout_forceDragstart(d) { - d.fixed |= 2; - } - function d3_layout_forceDragend(d) { - d.fixed &= ~6; - } - function d3_layout_forceMouseover(d) { - d.fixed |= 4; - d.px = d.x, d.py = d.y; - } - function d3_layout_forceMouseout(d) { - d.fixed &= ~4; - } - function d3_layout_forceAccumulate(quad, alpha, charges) { - var cx = 0, cy = 0; - quad.charge = 0; - if (!quad.leaf) { - var nodes = quad.nodes, n = nodes.length, i = -1, c; - while (++i < n) { - c = nodes[i]; - if (c == null) continue; - d3_layout_forceAccumulate(c, alpha, charges); - quad.charge += c.charge; - cx += c.charge * c.cx; - cy += c.charge * c.cy; - } - } - if (quad.point) { - if (!quad.leaf) { - quad.point.x += Math.random() - .5; - quad.point.y += Math.random() - .5; - } - var k = alpha * charges[quad.point.index]; - quad.charge += quad.pointCharge = k; - cx += k * quad.point.x; - cy += k * quad.point.y; - } - quad.cx = cx / quad.charge; - quad.cy = cy / quad.charge; - } - var d3_layout_forceLinkDistance = 20, d3_layout_forceLinkStrength = 1, d3_layout_forceChargeDistance2 = Infinity; - d3.layout.hierarchy = function() { - var sort = d3_layout_hierarchySort, children = d3_layout_hierarchyChildren, value = d3_layout_hierarchyValue; - function hierarchy(root) { - var stack = [ root ], nodes = [], node; - root.depth = 0; - while ((node = stack.pop()) != null) { - nodes.push(node); - if ((childs = children.call(hierarchy, node, node.depth)) && (n = childs.length)) { - var n, childs, child; - while (--n >= 0) { - stack.push(child = childs[n]); - child.parent = node; - child.depth = node.depth + 1; - } - if (value) node.value = 0; - node.children = childs; - } else { - if (value) node.value = +value.call(hierarchy, node, node.depth) || 0; - delete node.children; - } - } - d3_layout_hierarchyVisitAfter(root, function(node) { - var childs, parent; - if (sort && (childs = node.children)) childs.sort(sort); - if (value && (parent = node.parent)) parent.value += node.value; - }); - return nodes; - } - hierarchy.sort = function(x) { - if (!arguments.length) return sort; - sort = x; - return hierarchy; - }; - hierarchy.children = function(x) { - if (!arguments.length) return children; - children = x; - return hierarchy; - }; - hierarchy.value = function(x) { - if (!arguments.length) return value; - value = x; - return hierarchy; - }; - hierarchy.revalue = function(root) { - if (value) { - d3_layout_hierarchyVisitBefore(root, function(node) { - if (node.children) node.value = 0; - }); - d3_layout_hierarchyVisitAfter(root, function(node) { - var parent; - if (!node.children) node.value = +value.call(hierarchy, node, node.depth) || 0; - if (parent = node.parent) parent.value += node.value; - }); - } - return root; - }; - return hierarchy; - }; - function d3_layout_hierarchyRebind(object, hierarchy) { - d3.rebind(object, hierarchy, "sort", "children", "value"); - object.nodes = object; - object.links = d3_layout_hierarchyLinks; - return object; - } - function d3_layout_hierarchyVisitBefore(node, callback) { - var nodes = [ node ]; - while ((node = nodes.pop()) != null) { - callback(node); - if ((children = node.children) && (n = children.length)) { - var n, children; - while (--n >= 0) nodes.push(children[n]); - } - } - } - function d3_layout_hierarchyVisitAfter(node, callback) { - var nodes = [ node ], nodes2 = []; - while ((node = nodes.pop()) != null) { - nodes2.push(node); - if ((children = node.children) && (n = children.length)) { - var i = -1, n, children; - while (++i < n) nodes.push(children[i]); - } - } - while ((node = nodes2.pop()) != null) { - callback(node); - } - } - function d3_layout_hierarchyChildren(d) { - return d.children; - } - function d3_layout_hierarchyValue(d) { - return d.value; - } - function d3_layout_hierarchySort(a, b) { - return b.value - a.value; - } - function d3_layout_hierarchyLinks(nodes) { - return d3.merge(nodes.map(function(parent) { - return (parent.children || []).map(function(child) { - return { - source: parent, - target: child - }; - }); - })); - } - d3.layout.partition = function() { - var hierarchy = d3.layout.hierarchy(), size = [ 1, 1 ]; - function position(node, x, dx, dy) { - var children = node.children; - node.x = x; - node.y = node.depth * dy; - node.dx = dx; - node.dy = dy; - if (children && (n = children.length)) { - var i = -1, n, c, d; - dx = node.value ? dx / node.value : 0; - while (++i < n) { - position(c = children[i], x, d = c.value * dx, dy); - x += d; - } - } - } - function depth(node) { - var children = node.children, d = 0; - if (children && (n = children.length)) { - var i = -1, n; - while (++i < n) d = Math.max(d, depth(children[i])); - } - return 1 + d; - } - function partition(d, i) { - var nodes = hierarchy.call(this, d, i); - position(nodes[0], 0, size[0], size[1] / depth(nodes[0])); - return nodes; - } - partition.size = function(x) { - if (!arguments.length) return size; - size = x; - return partition; - }; - return d3_layout_hierarchyRebind(partition, hierarchy); - }; - d3.layout.pie = function() { - var value = Number, sort = d3_layout_pieSortByValue, startAngle = 0, endAngle = τ, padAngle = 0; - function pie(data) { - var n = data.length, values = data.map(function(d, i) { - return +value.call(pie, d, i); - }), a = +(typeof startAngle === "function" ? startAngle.apply(this, arguments) : startAngle), da = (typeof endAngle === "function" ? endAngle.apply(this, arguments) : endAngle) - a, p = Math.min(Math.abs(da) / n, +(typeof padAngle === "function" ? padAngle.apply(this, arguments) : padAngle)), pa = p * (da < 0 ? -1 : 1), k = (da - n * pa) / d3.sum(values), index = d3.range(n), arcs = [], v; - if (sort != null) index.sort(sort === d3_layout_pieSortByValue ? function(i, j) { - return values[j] - values[i]; - } : function(i, j) { - return sort(data[i], data[j]); - }); - index.forEach(function(i) { - arcs[i] = { - data: data[i], - value: v = values[i], - startAngle: a, - endAngle: a += v * k + pa, - padAngle: p - }; - }); - return arcs; - } - pie.value = function(_) { - if (!arguments.length) return value; - value = _; - return pie; - }; - pie.sort = function(_) { - if (!arguments.length) return sort; - sort = _; - return pie; - }; - pie.startAngle = function(_) { - if (!arguments.length) return startAngle; - startAngle = _; - return pie; - }; - pie.endAngle = function(_) { - if (!arguments.length) return endAngle; - endAngle = _; - return pie; - }; - pie.padAngle = function(_) { - if (!arguments.length) return padAngle; - padAngle = _; - return pie; - }; - return pie; - }; - var d3_layout_pieSortByValue = {}; - d3.layout.stack = function() { - var values = d3_identity, order = d3_layout_stackOrderDefault, offset = d3_layout_stackOffsetZero, out = d3_layout_stackOut, x = d3_layout_stackX, y = d3_layout_stackY; - function stack(data, index) { - if (!(n = data.length)) return data; - var series = data.map(function(d, i) { - return values.call(stack, d, i); - }); - var points = series.map(function(d) { - return d.map(function(v, i) { - return [ x.call(stack, v, i), y.call(stack, v, i) ]; - }); - }); - var orders = order.call(stack, points, index); - series = d3.permute(series, orders); - points = d3.permute(points, orders); - var offsets = offset.call(stack, points, index); - var m = series[0].length, n, i, j, o; - for (j = 0; j < m; ++j) { - out.call(stack, series[0][j], o = offsets[j], points[0][j][1]); - for (i = 1; i < n; ++i) { - out.call(stack, series[i][j], o += points[i - 1][j][1], points[i][j][1]); - } - } - return data; - } - stack.values = function(x) { - if (!arguments.length) return values; - values = x; - return stack; - }; - stack.order = function(x) { - if (!arguments.length) return order; - order = typeof x === "function" ? x : d3_layout_stackOrders.get(x) || d3_layout_stackOrderDefault; - return stack; - }; - stack.offset = function(x) { - if (!arguments.length) return offset; - offset = typeof x === "function" ? x : d3_layout_stackOffsets.get(x) || d3_layout_stackOffsetZero; - return stack; - }; - stack.x = function(z) { - if (!arguments.length) return x; - x = z; - return stack; - }; - stack.y = function(z) { - if (!arguments.length) return y; - y = z; - return stack; - }; - stack.out = function(z) { - if (!arguments.length) return out; - out = z; - return stack; - }; - return stack; - }; - function d3_layout_stackX(d) { - return d.x; - } - function d3_layout_stackY(d) { - return d.y; - } - function d3_layout_stackOut(d, y0, y) { - d.y0 = y0; - d.y = y; - } - var d3_layout_stackOrders = d3.map({ - "inside-out": function(data) { - var n = data.length, i, j, max = data.map(d3_layout_stackMaxIndex), sums = data.map(d3_layout_stackReduceSum), index = d3.range(n).sort(function(a, b) { - return max[a] - max[b]; - }), top = 0, bottom = 0, tops = [], bottoms = []; - for (i = 0; i < n; ++i) { - j = index[i]; - if (top < bottom) { - top += sums[j]; - tops.push(j); - } else { - bottom += sums[j]; - bottoms.push(j); - } - } - return bottoms.reverse().concat(tops); - }, - reverse: function(data) { - return d3.range(data.length).reverse(); - }, - "default": d3_layout_stackOrderDefault - }); - var d3_layout_stackOffsets = d3.map({ - silhouette: function(data) { - var n = data.length, m = data[0].length, sums = [], max = 0, i, j, o, y0 = []; - for (j = 0; j < m; ++j) { - for (i = 0, o = 0; i < n; i++) o += data[i][j][1]; - if (o > max) max = o; - sums.push(o); - } - for (j = 0; j < m; ++j) { - y0[j] = (max - sums[j]) / 2; - } - return y0; - }, - wiggle: function(data) { - var n = data.length, x = data[0], m = x.length, i, j, k, s1, s2, s3, dx, o, o0, y0 = []; - y0[0] = o = o0 = 0; - for (j = 1; j < m; ++j) { - for (i = 0, s1 = 0; i < n; ++i) s1 += data[i][j][1]; - for (i = 0, s2 = 0, dx = x[j][0] - x[j - 1][0]; i < n; ++i) { - for (k = 0, s3 = (data[i][j][1] - data[i][j - 1][1]) / (2 * dx); k < i; ++k) { - s3 += (data[k][j][1] - data[k][j - 1][1]) / dx; - } - s2 += s3 * data[i][j][1]; - } - y0[j] = o -= s1 ? s2 / s1 * dx : 0; - if (o < o0) o0 = o; - } - for (j = 0; j < m; ++j) y0[j] -= o0; - return y0; - }, - expand: function(data) { - var n = data.length, m = data[0].length, k = 1 / n, i, j, o, y0 = []; - for (j = 0; j < m; ++j) { - for (i = 0, o = 0; i < n; i++) o += data[i][j][1]; - if (o) for (i = 0; i < n; i++) data[i][j][1] /= o; else for (i = 0; i < n; i++) data[i][j][1] = k; - } - for (j = 0; j < m; ++j) y0[j] = 0; - return y0; - }, - zero: d3_layout_stackOffsetZero - }); - function d3_layout_stackOrderDefault(data) { - return d3.range(data.length); - } - function d3_layout_stackOffsetZero(data) { - var j = -1, m = data[0].length, y0 = []; - while (++j < m) y0[j] = 0; - return y0; - } - function d3_layout_stackMaxIndex(array) { - var i = 1, j = 0, v = array[0][1], k, n = array.length; - for (;i < n; ++i) { - if ((k = array[i][1]) > v) { - j = i; - v = k; - } - } - return j; - } - function d3_layout_stackReduceSum(d) { - return d.reduce(d3_layout_stackSum, 0); - } - function d3_layout_stackSum(p, d) { - return p + d[1]; - } - d3.layout.histogram = function() { - var frequency = true, valuer = Number, ranger = d3_layout_histogramRange, binner = d3_layout_histogramBinSturges; - function histogram(data, i) { - var bins = [], values = data.map(valuer, this), range = ranger.call(this, values, i), thresholds = binner.call(this, range, values, i), bin, i = -1, n = values.length, m = thresholds.length - 1, k = frequency ? 1 : 1 / n, x; - while (++i < m) { - bin = bins[i] = []; - bin.dx = thresholds[i + 1] - (bin.x = thresholds[i]); - bin.y = 0; - } - if (m > 0) { - i = -1; - while (++i < n) { - x = values[i]; - if (x >= range[0] && x <= range[1]) { - bin = bins[d3.bisect(thresholds, x, 1, m) - 1]; - bin.y += k; - bin.push(data[i]); - } - } - } - return bins; - } - histogram.value = function(x) { - if (!arguments.length) return valuer; - valuer = x; - return histogram; - }; - histogram.range = function(x) { - if (!arguments.length) return ranger; - ranger = d3_functor(x); - return histogram; - }; - histogram.bins = function(x) { - if (!arguments.length) return binner; - binner = typeof x === "number" ? function(range) { - return d3_layout_histogramBinFixed(range, x); - } : d3_functor(x); - return histogram; - }; - histogram.frequency = function(x) { - if (!arguments.length) return frequency; - frequency = !!x; - return histogram; - }; - return histogram; - }; - function d3_layout_histogramBinSturges(range, values) { - return d3_layout_histogramBinFixed(range, Math.ceil(Math.log(values.length) / Math.LN2 + 1)); - } - function d3_layout_histogramBinFixed(range, n) { - var x = -1, b = +range[0], m = (range[1] - b) / n, f = []; - while (++x <= n) f[x] = m * x + b; - return f; - } - function d3_layout_histogramRange(values) { - return [ d3.min(values), d3.max(values) ]; - } - d3.layout.pack = function() { - var hierarchy = d3.layout.hierarchy().sort(d3_layout_packSort), padding = 0, size = [ 1, 1 ], radius; - function pack(d, i) { - var nodes = hierarchy.call(this, d, i), root = nodes[0], w = size[0], h = size[1], r = radius == null ? Math.sqrt : typeof radius === "function" ? radius : function() { - return radius; - }; - root.x = root.y = 0; - d3_layout_hierarchyVisitAfter(root, function(d) { - d.r = +r(d.value); - }); - d3_layout_hierarchyVisitAfter(root, d3_layout_packSiblings); - if (padding) { - var dr = padding * (radius ? 1 : Math.max(2 * root.r / w, 2 * root.r / h)) / 2; - d3_layout_hierarchyVisitAfter(root, function(d) { - d.r += dr; - }); - d3_layout_hierarchyVisitAfter(root, d3_layout_packSiblings); - d3_layout_hierarchyVisitAfter(root, function(d) { - d.r -= dr; - }); - } - d3_layout_packTransform(root, w / 2, h / 2, radius ? 1 : 1 / Math.max(2 * root.r / w, 2 * root.r / h)); - return nodes; - } - pack.size = function(_) { - if (!arguments.length) return size; - size = _; - return pack; - }; - pack.radius = function(_) { - if (!arguments.length) return radius; - radius = _ == null || typeof _ === "function" ? _ : +_; - return pack; - }; - pack.padding = function(_) { - if (!arguments.length) return padding; - padding = +_; - return pack; - }; - return d3_layout_hierarchyRebind(pack, hierarchy); - }; - function d3_layout_packSort(a, b) { - return a.value - b.value; - } - function d3_layout_packInsert(a, b) { - var c = a._pack_next; - a._pack_next = b; - b._pack_prev = a; - b._pack_next = c; - c._pack_prev = b; - } - function d3_layout_packSplice(a, b) { - a._pack_next = b; - b._pack_prev = a; - } - function d3_layout_packIntersects(a, b) { - var dx = b.x - a.x, dy = b.y - a.y, dr = a.r + b.r; - return .999 * dr * dr > dx * dx + dy * dy; - } - function d3_layout_packSiblings(node) { - if (!(nodes = node.children) || !(n = nodes.length)) return; - var nodes, xMin = Infinity, xMax = -Infinity, yMin = Infinity, yMax = -Infinity, a, b, c, i, j, k, n; - function bound(node) { - xMin = Math.min(node.x - node.r, xMin); - xMax = Math.max(node.x + node.r, xMax); - yMin = Math.min(node.y - node.r, yMin); - yMax = Math.max(node.y + node.r, yMax); - } - nodes.forEach(d3_layout_packLink); - a = nodes[0]; - a.x = -a.r; - a.y = 0; - bound(a); - if (n > 1) { - b = nodes[1]; - b.x = b.r; - b.y = 0; - bound(b); - if (n > 2) { - c = nodes[2]; - d3_layout_packPlace(a, b, c); - bound(c); - d3_layout_packInsert(a, c); - a._pack_prev = c; - d3_layout_packInsert(c, b); - b = a._pack_next; - for (i = 3; i < n; i++) { - d3_layout_packPlace(a, b, c = nodes[i]); - var isect = 0, s1 = 1, s2 = 1; - for (j = b._pack_next; j !== b; j = j._pack_next, s1++) { - if (d3_layout_packIntersects(j, c)) { - isect = 1; - break; - } - } - if (isect == 1) { - for (k = a._pack_prev; k !== j._pack_prev; k = k._pack_prev, s2++) { - if (d3_layout_packIntersects(k, c)) { - break; - } - } - } - if (isect) { - if (s1 < s2 || s1 == s2 && b.r < a.r) d3_layout_packSplice(a, b = j); else d3_layout_packSplice(a = k, b); - i--; - } else { - d3_layout_packInsert(a, c); - b = c; - bound(c); - } - } - } - } - var cx = (xMin + xMax) / 2, cy = (yMin + yMax) / 2, cr = 0; - for (i = 0; i < n; i++) { - c = nodes[i]; - c.x -= cx; - c.y -= cy; - cr = Math.max(cr, c.r + Math.sqrt(c.x * c.x + c.y * c.y)); - } - node.r = cr; - nodes.forEach(d3_layout_packUnlink); - } - function d3_layout_packLink(node) { - node._pack_next = node._pack_prev = node; - } - function d3_layout_packUnlink(node) { - delete node._pack_next; - delete node._pack_prev; - } - function d3_layout_packTransform(node, x, y, k) { - var children = node.children; - node.x = x += k * node.x; - node.y = y += k * node.y; - node.r *= k; - if (children) { - var i = -1, n = children.length; - while (++i < n) d3_layout_packTransform(children[i], x, y, k); - } - } - function d3_layout_packPlace(a, b, c) { - var db = a.r + c.r, dx = b.x - a.x, dy = b.y - a.y; - if (db && (dx || dy)) { - var da = b.r + c.r, dc = dx * dx + dy * dy; - da *= da; - db *= db; - var x = .5 + (db - da) / (2 * dc), y = Math.sqrt(Math.max(0, 2 * da * (db + dc) - (db -= dc) * db - da * da)) / (2 * dc); - c.x = a.x + x * dx + y * dy; - c.y = a.y + x * dy - y * dx; - } else { - c.x = a.x + db; - c.y = a.y; - } - } - d3.layout.tree = function() { - var hierarchy = d3.layout.hierarchy().sort(null).value(null), separation = d3_layout_treeSeparation, size = [ 1, 1 ], nodeSize = null; - function tree(d, i) { - var nodes = hierarchy.call(this, d, i), root0 = nodes[0], root1 = wrapTree(root0); - d3_layout_hierarchyVisitAfter(root1, firstWalk), root1.parent.m = -root1.z; - d3_layout_hierarchyVisitBefore(root1, secondWalk); - if (nodeSize) d3_layout_hierarchyVisitBefore(root0, sizeNode); else { - var left = root0, right = root0, bottom = root0; - d3_layout_hierarchyVisitBefore(root0, function(node) { - if (node.x < left.x) left = node; - if (node.x > right.x) right = node; - if (node.depth > bottom.depth) bottom = node; - }); - var tx = separation(left, right) / 2 - left.x, kx = size[0] / (right.x + separation(right, left) / 2 + tx), ky = size[1] / (bottom.depth || 1); - d3_layout_hierarchyVisitBefore(root0, function(node) { - node.x = (node.x + tx) * kx; - node.y = node.depth * ky; - }); - } - return nodes; - } - function wrapTree(root0) { - var root1 = { - A: null, - children: [ root0 ] - }, queue = [ root1 ], node1; - while ((node1 = queue.pop()) != null) { - for (var children = node1.children, child, i = 0, n = children.length; i < n; ++i) { - queue.push((children[i] = child = { - _: children[i], - parent: node1, - children: (child = children[i].children) && child.slice() || [], - A: null, - a: null, - z: 0, - m: 0, - c: 0, - s: 0, - t: null, - i: i - }).a = child); - } - } - return root1.children[0]; - } - function firstWalk(v) { - var children = v.children, siblings = v.parent.children, w = v.i ? siblings[v.i - 1] : null; - if (children.length) { - d3_layout_treeShift(v); - var midpoint = (children[0].z + children[children.length - 1].z) / 2; - if (w) { - v.z = w.z + separation(v._, w._); - v.m = v.z - midpoint; - } else { - v.z = midpoint; - } - } else if (w) { - v.z = w.z + separation(v._, w._); - } - v.parent.A = apportion(v, w, v.parent.A || siblings[0]); - } - function secondWalk(v) { - v._.x = v.z + v.parent.m; - v.m += v.parent.m; - } - function apportion(v, w, ancestor) { - if (w) { - var vip = v, vop = v, vim = w, vom = vip.parent.children[0], sip = vip.m, sop = vop.m, sim = vim.m, som = vom.m, shift; - while (vim = d3_layout_treeRight(vim), vip = d3_layout_treeLeft(vip), vim && vip) { - vom = d3_layout_treeLeft(vom); - vop = d3_layout_treeRight(vop); - vop.a = v; - shift = vim.z + sim - vip.z - sip + separation(vim._, vip._); - if (shift > 0) { - d3_layout_treeMove(d3_layout_treeAncestor(vim, v, ancestor), v, shift); - sip += shift; - sop += shift; - } - sim += vim.m; - sip += vip.m; - som += vom.m; - sop += vop.m; - } - if (vim && !d3_layout_treeRight(vop)) { - vop.t = vim; - vop.m += sim - sop; - } - if (vip && !d3_layout_treeLeft(vom)) { - vom.t = vip; - vom.m += sip - som; - ancestor = v; - } - } - return ancestor; - } - function sizeNode(node) { - node.x *= size[0]; - node.y = node.depth * size[1]; - } - tree.separation = function(x) { - if (!arguments.length) return separation; - separation = x; - return tree; - }; - tree.size = function(x) { - if (!arguments.length) return nodeSize ? null : size; - nodeSize = (size = x) == null ? sizeNode : null; - return tree; - }; - tree.nodeSize = function(x) { - if (!arguments.length) return nodeSize ? size : null; - nodeSize = (size = x) == null ? null : sizeNode; - return tree; - }; - return d3_layout_hierarchyRebind(tree, hierarchy); - }; - function d3_layout_treeSeparation(a, b) { - return a.parent == b.parent ? 1 : 2; - } - function d3_layout_treeLeft(v) { - var children = v.children; - return children.length ? children[0] : v.t; - } - function d3_layout_treeRight(v) { - var children = v.children, n; - return (n = children.length) ? children[n - 1] : v.t; - } - function d3_layout_treeMove(wm, wp, shift) { - var change = shift / (wp.i - wm.i); - wp.c -= change; - wp.s += shift; - wm.c += change; - wp.z += shift; - wp.m += shift; - } - function d3_layout_treeShift(v) { - var shift = 0, change = 0, children = v.children, i = children.length, w; - while (--i >= 0) { - w = children[i]; - w.z += shift; - w.m += shift; - shift += w.s + (change += w.c); - } - } - function d3_layout_treeAncestor(vim, v, ancestor) { - return vim.a.parent === v.parent ? vim.a : ancestor; - } - d3.layout.cluster = function() { - var hierarchy = d3.layout.hierarchy().sort(null).value(null), separation = d3_layout_treeSeparation, size = [ 1, 1 ], nodeSize = false; - function cluster(d, i) { - var nodes = hierarchy.call(this, d, i), root = nodes[0], previousNode, x = 0; - d3_layout_hierarchyVisitAfter(root, function(node) { - var children = node.children; - if (children && children.length) { - node.x = d3_layout_clusterX(children); - node.y = d3_layout_clusterY(children); - } else { - node.x = previousNode ? x += separation(node, previousNode) : 0; - node.y = 0; - previousNode = node; - } - }); - var left = d3_layout_clusterLeft(root), right = d3_layout_clusterRight(root), x0 = left.x - separation(left, right) / 2, x1 = right.x + separation(right, left) / 2; - d3_layout_hierarchyVisitAfter(root, nodeSize ? function(node) { - node.x = (node.x - root.x) * size[0]; - node.y = (root.y - node.y) * size[1]; - } : function(node) { - node.x = (node.x - x0) / (x1 - x0) * size[0]; - node.y = (1 - (root.y ? node.y / root.y : 1)) * size[1]; - }); - return nodes; - } - cluster.separation = function(x) { - if (!arguments.length) return separation; - separation = x; - return cluster; - }; - cluster.size = function(x) { - if (!arguments.length) return nodeSize ? null : size; - nodeSize = (size = x) == null; - return cluster; - }; - cluster.nodeSize = function(x) { - if (!arguments.length) return nodeSize ? size : null; - nodeSize = (size = x) != null; - return cluster; - }; - return d3_layout_hierarchyRebind(cluster, hierarchy); - }; - function d3_layout_clusterY(children) { - return 1 + d3.max(children, function(child) { - return child.y; - }); - } - function d3_layout_clusterX(children) { - return children.reduce(function(x, child) { - return x + child.x; - }, 0) / children.length; - } - function d3_layout_clusterLeft(node) { - var children = node.children; - return children && children.length ? d3_layout_clusterLeft(children[0]) : node; - } - function d3_layout_clusterRight(node) { - var children = node.children, n; - return children && (n = children.length) ? d3_layout_clusterRight(children[n - 1]) : node; - } - d3.layout.treemap = function() { - var hierarchy = d3.layout.hierarchy(), round = Math.round, size = [ 1, 1 ], padding = null, pad = d3_layout_treemapPadNull, sticky = false, stickies, mode = "squarify", ratio = .5 * (1 + Math.sqrt(5)); - function scale(children, k) { - var i = -1, n = children.length, child, area; - while (++i < n) { - area = (child = children[i]).value * (k < 0 ? 0 : k); - child.area = isNaN(area) || area <= 0 ? 0 : area; - } - } - function squarify(node) { - var children = node.children; - if (children && children.length) { - var rect = pad(node), row = [], remaining = children.slice(), child, best = Infinity, score, u = mode === "slice" ? rect.dx : mode === "dice" ? rect.dy : mode === "slice-dice" ? node.depth & 1 ? rect.dy : rect.dx : Math.min(rect.dx, rect.dy), n; - scale(remaining, rect.dx * rect.dy / node.value); - row.area = 0; - while ((n = remaining.length) > 0) { - row.push(child = remaining[n - 1]); - row.area += child.area; - if (mode !== "squarify" || (score = worst(row, u)) <= best) { - remaining.pop(); - best = score; - } else { - row.area -= row.pop().area; - position(row, u, rect, false); - u = Math.min(rect.dx, rect.dy); - row.length = row.area = 0; - best = Infinity; - } - } - if (row.length) { - position(row, u, rect, true); - row.length = row.area = 0; - } - children.forEach(squarify); - } - } - function stickify(node) { - var children = node.children; - if (children && children.length) { - var rect = pad(node), remaining = children.slice(), child, row = []; - scale(remaining, rect.dx * rect.dy / node.value); - row.area = 0; - while (child = remaining.pop()) { - row.push(child); - row.area += child.area; - if (child.z != null) { - position(row, child.z ? rect.dx : rect.dy, rect, !remaining.length); - row.length = row.area = 0; - } - } - children.forEach(stickify); - } - } - function worst(row, u) { - var s = row.area, r, rmax = 0, rmin = Infinity, i = -1, n = row.length; - while (++i < n) { - if (!(r = row[i].area)) continue; - if (r < rmin) rmin = r; - if (r > rmax) rmax = r; - } - s *= s; - u *= u; - return s ? Math.max(u * rmax * ratio / s, s / (u * rmin * ratio)) : Infinity; - } - function position(row, u, rect, flush) { - var i = -1, n = row.length, x = rect.x, y = rect.y, v = u ? round(row.area / u) : 0, o; - if (u == rect.dx) { - if (flush || v > rect.dy) v = rect.dy; - while (++i < n) { - o = row[i]; - o.x = x; - o.y = y; - o.dy = v; - x += o.dx = Math.min(rect.x + rect.dx - x, v ? round(o.area / v) : 0); - } - o.z = true; - o.dx += rect.x + rect.dx - x; - rect.y += v; - rect.dy -= v; - } else { - if (flush || v > rect.dx) v = rect.dx; - while (++i < n) { - o = row[i]; - o.x = x; - o.y = y; - o.dx = v; - y += o.dy = Math.min(rect.y + rect.dy - y, v ? round(o.area / v) : 0); - } - o.z = false; - o.dy += rect.y + rect.dy - y; - rect.x += v; - rect.dx -= v; - } - } - function treemap(d) { - var nodes = stickies || hierarchy(d), root = nodes[0]; - root.x = 0; - root.y = 0; - root.dx = size[0]; - root.dy = size[1]; - if (stickies) hierarchy.revalue(root); - scale([ root ], root.dx * root.dy / root.value); - (stickies ? stickify : squarify)(root); - if (sticky) stickies = nodes; - return nodes; - } - treemap.size = function(x) { - if (!arguments.length) return size; - size = x; - return treemap; - }; - treemap.padding = function(x) { - if (!arguments.length) return padding; - function padFunction(node) { - var p = x.call(treemap, node, node.depth); - return p == null ? d3_layout_treemapPadNull(node) : d3_layout_treemapPad(node, typeof p === "number" ? [ p, p, p, p ] : p); - } - function padConstant(node) { - return d3_layout_treemapPad(node, x); - } - var type; - pad = (padding = x) == null ? d3_layout_treemapPadNull : (type = typeof x) === "function" ? padFunction : type === "number" ? (x = [ x, x, x, x ], - padConstant) : padConstant; - return treemap; - }; - treemap.round = function(x) { - if (!arguments.length) return round != Number; - round = x ? Math.round : Number; - return treemap; - }; - treemap.sticky = function(x) { - if (!arguments.length) return sticky; - sticky = x; - stickies = null; - return treemap; - }; - treemap.ratio = function(x) { - if (!arguments.length) return ratio; - ratio = x; - return treemap; - }; - treemap.mode = function(x) { - if (!arguments.length) return mode; - mode = x + ""; - return treemap; - }; - return d3_layout_hierarchyRebind(treemap, hierarchy); - }; - function d3_layout_treemapPadNull(node) { - return { - x: node.x, - y: node.y, - dx: node.dx, - dy: node.dy - }; - } - function d3_layout_treemapPad(node, padding) { - var x = node.x + padding[3], y = node.y + padding[0], dx = node.dx - padding[1] - padding[3], dy = node.dy - padding[0] - padding[2]; - if (dx < 0) { - x += dx / 2; - dx = 0; - } - if (dy < 0) { - y += dy / 2; - dy = 0; - } - return { - x: x, - y: y, - dx: dx, - dy: dy - }; - } - d3.random = { - normal: function(µ, σ) { - var n = arguments.length; - if (n < 2) σ = 1; - if (n < 1) µ = 0; - return function() { - var x, y, r; - do { - x = Math.random() * 2 - 1; - y = Math.random() * 2 - 1; - r = x * x + y * y; - } while (!r || r > 1); - return µ + σ * x * Math.sqrt(-2 * Math.log(r) / r); - }; - }, - logNormal: function() { - var random = d3.random.normal.apply(d3, arguments); - return function() { - return Math.exp(random()); - }; - }, - bates: function(m) { - var random = d3.random.irwinHall(m); - return function() { - return random() / m; - }; - }, - irwinHall: function(m) { - return function() { - for (var s = 0, j = 0; j < m; j++) s += Math.random(); - return s; - }; - } - }; - d3.scale = {}; - function d3_scaleExtent(domain) { - var start = domain[0], stop = domain[domain.length - 1]; - return start < stop ? [ start, stop ] : [ stop, start ]; - } - function d3_scaleRange(scale) { - return scale.rangeExtent ? scale.rangeExtent() : d3_scaleExtent(scale.range()); - } - function d3_scale_bilinear(domain, range, uninterpolate, interpolate) { - var u = uninterpolate(domain[0], domain[1]), i = interpolate(range[0], range[1]); - return function(x) { - return i(u(x)); - }; - } - function d3_scale_nice(domain, nice) { - var i0 = 0, i1 = domain.length - 1, x0 = domain[i0], x1 = domain[i1], dx; - if (x1 < x0) { - dx = i0, i0 = i1, i1 = dx; - dx = x0, x0 = x1, x1 = dx; - } - domain[i0] = nice.floor(x0); - domain[i1] = nice.ceil(x1); - return domain; - } - function d3_scale_niceStep(step) { - return step ? { - floor: function(x) { - return Math.floor(x / step) * step; - }, - ceil: function(x) { - return Math.ceil(x / step) * step; - } - } : d3_scale_niceIdentity; - } - var d3_scale_niceIdentity = { - floor: d3_identity, - ceil: d3_identity - }; - function d3_scale_polylinear(domain, range, uninterpolate, interpolate) { - var u = [], i = [], j = 0, k = Math.min(domain.length, range.length) - 1; - if (domain[k] < domain[0]) { - domain = domain.slice().reverse(); - range = range.slice().reverse(); - } - while (++j <= k) { - u.push(uninterpolate(domain[j - 1], domain[j])); - i.push(interpolate(range[j - 1], range[j])); - } - return function(x) { - var j = d3.bisect(domain, x, 1, k) - 1; - return i[j](u[j](x)); - }; - } - d3.scale.linear = function() { - return d3_scale_linear([ 0, 1 ], [ 0, 1 ], d3_interpolate, false); - }; - function d3_scale_linear(domain, range, interpolate, clamp) { - var output, input; - function rescale() { - var linear = Math.min(domain.length, range.length) > 2 ? d3_scale_polylinear : d3_scale_bilinear, uninterpolate = clamp ? d3_uninterpolateClamp : d3_uninterpolateNumber; - output = linear(domain, range, uninterpolate, interpolate); - input = linear(range, domain, uninterpolate, d3_interpolate); - return scale; - } - function scale(x) { - return output(x); - } - scale.invert = function(y) { - return input(y); - }; - scale.domain = function(x) { - if (!arguments.length) return domain; - domain = x.map(Number); - return rescale(); - }; - scale.range = function(x) { - if (!arguments.length) return range; - range = x; - return rescale(); - }; - scale.rangeRound = function(x) { - return scale.range(x).interpolate(d3_interpolateRound); - }; - scale.clamp = function(x) { - if (!arguments.length) return clamp; - clamp = x; - return rescale(); - }; - scale.interpolate = function(x) { - if (!arguments.length) return interpolate; - interpolate = x; - return rescale(); - }; - scale.ticks = function(m) { - return d3_scale_linearTicks(domain, m); - }; - scale.tickFormat = function(m, format) { - return d3_scale_linearTickFormat(domain, m, format); - }; - scale.nice = function(m) { - d3_scale_linearNice(domain, m); - return rescale(); - }; - scale.copy = function() { - return d3_scale_linear(domain, range, interpolate, clamp); - }; - return rescale(); - } - function d3_scale_linearRebind(scale, linear) { - return d3.rebind(scale, linear, "range", "rangeRound", "interpolate", "clamp"); - } - function d3_scale_linearNice(domain, m) { - return d3_scale_nice(domain, d3_scale_niceStep(d3_scale_linearTickRange(domain, m)[2])); - } - function d3_scale_linearTickRange(domain, m) { - if (m == null) m = 10; - var extent = d3_scaleExtent(domain), span = extent[1] - extent[0], step = Math.pow(10, Math.floor(Math.log(span / m) / Math.LN10)), err = m / span * step; - if (err <= .15) step *= 10; else if (err <= .35) step *= 5; else if (err <= .75) step *= 2; - extent[0] = Math.ceil(extent[0] / step) * step; - extent[1] = Math.floor(extent[1] / step) * step + step * .5; - extent[2] = step; - return extent; - } - function d3_scale_linearTicks(domain, m) { - return d3.range.apply(d3, d3_scale_linearTickRange(domain, m)); - } - function d3_scale_linearTickFormat(domain, m, format) { - var range = d3_scale_linearTickRange(domain, m); - if (format) { - var match = d3_format_re.exec(format); - match.shift(); - if (match[8] === "s") { - var prefix = d3.formatPrefix(Math.max(abs(range[0]), abs(range[1]))); - if (!match[7]) match[7] = "." + d3_scale_linearPrecision(prefix.scale(range[2])); - match[8] = "f"; - format = d3.format(match.join("")); - return function(d) { - return format(prefix.scale(d)) + prefix.symbol; - }; - } - if (!match[7]) match[7] = "." + d3_scale_linearFormatPrecision(match[8], range); - format = match.join(""); - } else { - format = ",." + d3_scale_linearPrecision(range[2]) + "f"; - } - return d3.format(format); - } - var d3_scale_linearFormatSignificant = { - s: 1, - g: 1, - p: 1, - r: 1, - e: 1 - }; - function d3_scale_linearPrecision(value) { - return -Math.floor(Math.log(value) / Math.LN10 + .01); - } - function d3_scale_linearFormatPrecision(type, range) { - var p = d3_scale_linearPrecision(range[2]); - return type in d3_scale_linearFormatSignificant ? Math.abs(p - d3_scale_linearPrecision(Math.max(abs(range[0]), abs(range[1])))) + +(type !== "e") : p - (type === "%") * 2; - } - d3.scale.log = function() { - return d3_scale_log(d3.scale.linear().domain([ 0, 1 ]), 10, true, [ 1, 10 ]); - }; - function d3_scale_log(linear, base, positive, domain) { - function log(x) { - return (positive ? Math.log(x < 0 ? 0 : x) : -Math.log(x > 0 ? 0 : -x)) / Math.log(base); - } - function pow(x) { - return positive ? Math.pow(base, x) : -Math.pow(base, -x); - } - function scale(x) { - return linear(log(x)); - } - scale.invert = function(x) { - return pow(linear.invert(x)); - }; - scale.domain = function(x) { - if (!arguments.length) return domain; - positive = x[0] >= 0; - linear.domain((domain = x.map(Number)).map(log)); - return scale; - }; - scale.base = function(_) { - if (!arguments.length) return base; - base = +_; - linear.domain(domain.map(log)); - return scale; - }; - scale.nice = function() { - var niced = d3_scale_nice(domain.map(log), positive ? Math : d3_scale_logNiceNegative); - linear.domain(niced); - domain = niced.map(pow); - return scale; - }; - scale.ticks = function() { - var extent = d3_scaleExtent(domain), ticks = [], u = extent[0], v = extent[1], i = Math.floor(log(u)), j = Math.ceil(log(v)), n = base % 1 ? 2 : base; - if (isFinite(j - i)) { - if (positive) { - for (;i < j; i++) for (var k = 1; k < n; k++) ticks.push(pow(i) * k); - ticks.push(pow(i)); - } else { - ticks.push(pow(i)); - for (;i++ < j; ) for (var k = n - 1; k > 0; k--) ticks.push(pow(i) * k); - } - for (i = 0; ticks[i] < u; i++) {} - for (j = ticks.length; ticks[j - 1] > v; j--) {} - ticks = ticks.slice(i, j); - } - return ticks; - }; - scale.tickFormat = function(n, format) { - if (!arguments.length) return d3_scale_logFormat; - if (arguments.length < 2) format = d3_scale_logFormat; else if (typeof format !== "function") format = d3.format(format); - var k = Math.max(.1, n / scale.ticks().length), f = positive ? (e = 1e-12, Math.ceil) : (e = -1e-12, - Math.floor), e; - return function(d) { - return d / pow(f(log(d) + e)) <= k ? format(d) : ""; - }; - }; - scale.copy = function() { - return d3_scale_log(linear.copy(), base, positive, domain); - }; - return d3_scale_linearRebind(scale, linear); - } - var d3_scale_logFormat = d3.format(".0e"), d3_scale_logNiceNegative = { - floor: function(x) { - return -Math.ceil(-x); - }, - ceil: function(x) { - return -Math.floor(-x); - } - }; - d3.scale.pow = function() { - return d3_scale_pow(d3.scale.linear(), 1, [ 0, 1 ]); - }; - function d3_scale_pow(linear, exponent, domain) { - var powp = d3_scale_powPow(exponent), powb = d3_scale_powPow(1 / exponent); - function scale(x) { - return linear(powp(x)); - } - scale.invert = function(x) { - return powb(linear.invert(x)); - }; - scale.domain = function(x) { - if (!arguments.length) return domain; - linear.domain((domain = x.map(Number)).map(powp)); - return scale; - }; - scale.ticks = function(m) { - return d3_scale_linearTicks(domain, m); - }; - scale.tickFormat = function(m, format) { - return d3_scale_linearTickFormat(domain, m, format); - }; - scale.nice = function(m) { - return scale.domain(d3_scale_linearNice(domain, m)); - }; - scale.exponent = function(x) { - if (!arguments.length) return exponent; - powp = d3_scale_powPow(exponent = x); - powb = d3_scale_powPow(1 / exponent); - linear.domain(domain.map(powp)); - return scale; - }; - scale.copy = function() { - return d3_scale_pow(linear.copy(), exponent, domain); - }; - return d3_scale_linearRebind(scale, linear); - } - function d3_scale_powPow(e) { - return function(x) { - return x < 0 ? -Math.pow(-x, e) : Math.pow(x, e); - }; - } - d3.scale.sqrt = function() { - return d3.scale.pow().exponent(.5); - }; - d3.scale.ordinal = function() { - return d3_scale_ordinal([], { - t: "range", - a: [ [] ] - }); - }; - function d3_scale_ordinal(domain, ranger) { - var index, range, rangeBand; - function scale(x) { - return range[((index.get(x) || (ranger.t === "range" ? index.set(x, domain.push(x)) : NaN)) - 1) % range.length]; - } - function steps(start, step) { - return d3.range(domain.length).map(function(i) { - return start + step * i; - }); - } - scale.domain = function(x) { - if (!arguments.length) return domain; - domain = []; - index = new d3_Map(); - var i = -1, n = x.length, xi; - while (++i < n) if (!index.has(xi = x[i])) index.set(xi, domain.push(xi)); - return scale[ranger.t].apply(scale, ranger.a); - }; - scale.range = function(x) { - if (!arguments.length) return range; - range = x; - rangeBand = 0; - ranger = { - t: "range", - a: arguments - }; - return scale; - }; - scale.rangePoints = function(x, padding) { - if (arguments.length < 2) padding = 0; - var start = x[0], stop = x[1], step = domain.length < 2 ? (start = (start + stop) / 2, - 0) : (stop - start) / (domain.length - 1 + padding); - range = steps(start + step * padding / 2, step); - rangeBand = 0; - ranger = { - t: "rangePoints", - a: arguments - }; - return scale; - }; - scale.rangeRoundPoints = function(x, padding) { - if (arguments.length < 2) padding = 0; - var start = x[0], stop = x[1], step = domain.length < 2 ? (start = stop = Math.round((start + stop) / 2), - 0) : (stop - start) / (domain.length - 1 + padding) | 0; - range = steps(start + Math.round(step * padding / 2 + (stop - start - (domain.length - 1 + padding) * step) / 2), step); - rangeBand = 0; - ranger = { - t: "rangeRoundPoints", - a: arguments - }; - return scale; - }; - scale.rangeBands = function(x, padding, outerPadding) { - if (arguments.length < 2) padding = 0; - if (arguments.length < 3) outerPadding = padding; - var reverse = x[1] < x[0], start = x[reverse - 0], stop = x[1 - reverse], step = (stop - start) / (domain.length - padding + 2 * outerPadding); - range = steps(start + step * outerPadding, step); - if (reverse) range.reverse(); - rangeBand = step * (1 - padding); - ranger = { - t: "rangeBands", - a: arguments - }; - return scale; - }; - scale.rangeRoundBands = function(x, padding, outerPadding) { - if (arguments.length < 2) padding = 0; - if (arguments.length < 3) outerPadding = padding; - var reverse = x[1] < x[0], start = x[reverse - 0], stop = x[1 - reverse], step = Math.floor((stop - start) / (domain.length - padding + 2 * outerPadding)); - range = steps(start + Math.round((stop - start - (domain.length - padding) * step) / 2), step); - if (reverse) range.reverse(); - rangeBand = Math.round(step * (1 - padding)); - ranger = { - t: "rangeRoundBands", - a: arguments - }; - return scale; - }; - scale.rangeBand = function() { - return rangeBand; - }; - scale.rangeExtent = function() { - return d3_scaleExtent(ranger.a[0]); - }; - scale.copy = function() { - return d3_scale_ordinal(domain, ranger); - }; - return scale.domain(domain); - } - d3.scale.category10 = function() { - return d3.scale.ordinal().range(d3_category10); - }; - d3.scale.category20 = function() { - return d3.scale.ordinal().range(d3_category20); - }; - d3.scale.category20b = function() { - return d3.scale.ordinal().range(d3_category20b); - }; - d3.scale.category20c = function() { - return d3.scale.ordinal().range(d3_category20c); - }; - var d3_category10 = [ 2062260, 16744206, 2924588, 14034728, 9725885, 9197131, 14907330, 8355711, 12369186, 1556175 ].map(d3_rgbString); - var d3_category20 = [ 2062260, 11454440, 16744206, 16759672, 2924588, 10018698, 14034728, 16750742, 9725885, 12955861, 9197131, 12885140, 14907330, 16234194, 8355711, 13092807, 12369186, 14408589, 1556175, 10410725 ].map(d3_rgbString); - var d3_category20b = [ 3750777, 5395619, 7040719, 10264286, 6519097, 9216594, 11915115, 13556636, 9202993, 12426809, 15186514, 15190932, 8666169, 11356490, 14049643, 15177372, 8077683, 10834324, 13528509, 14589654 ].map(d3_rgbString); - var d3_category20c = [ 3244733, 7057110, 10406625, 13032431, 15095053, 16616764, 16625259, 16634018, 3253076, 7652470, 10607003, 13101504, 7695281, 10394312, 12369372, 14342891, 6513507, 9868950, 12434877, 14277081 ].map(d3_rgbString); - d3.scale.quantile = function() { - return d3_scale_quantile([], []); - }; - function d3_scale_quantile(domain, range) { - var thresholds; - function rescale() { - var k = 0, q = range.length; - thresholds = []; - while (++k < q) thresholds[k - 1] = d3.quantile(domain, k / q); - return scale; - } - function scale(x) { - if (!isNaN(x = +x)) return range[d3.bisect(thresholds, x)]; - } - scale.domain = function(x) { - if (!arguments.length) return domain; - domain = x.map(d3_number).filter(d3_numeric).sort(d3_ascending); - return rescale(); - }; - scale.range = function(x) { - if (!arguments.length) return range; - range = x; - return rescale(); - }; - scale.quantiles = function() { - return thresholds; - }; - scale.invertExtent = function(y) { - y = range.indexOf(y); - return y < 0 ? [ NaN, NaN ] : [ y > 0 ? thresholds[y - 1] : domain[0], y < thresholds.length ? thresholds[y] : domain[domain.length - 1] ]; - }; - scale.copy = function() { - return d3_scale_quantile(domain, range); - }; - return rescale(); - } - d3.scale.quantize = function() { - return d3_scale_quantize(0, 1, [ 0, 1 ]); - }; - function d3_scale_quantize(x0, x1, range) { - var kx, i; - function scale(x) { - return range[Math.max(0, Math.min(i, Math.floor(kx * (x - x0))))]; - } - function rescale() { - kx = range.length / (x1 - x0); - i = range.length - 1; - return scale; - } - scale.domain = function(x) { - if (!arguments.length) return [ x0, x1 ]; - x0 = +x[0]; - x1 = +x[x.length - 1]; - return rescale(); - }; - scale.range = function(x) { - if (!arguments.length) return range; - range = x; - return rescale(); - }; - scale.invertExtent = function(y) { - y = range.indexOf(y); - y = y < 0 ? NaN : y / kx + x0; - return [ y, y + 1 / kx ]; - }; - scale.copy = function() { - return d3_scale_quantize(x0, x1, range); - }; - return rescale(); - } - d3.scale.threshold = function() { - return d3_scale_threshold([ .5 ], [ 0, 1 ]); - }; - function d3_scale_threshold(domain, range) { - function scale(x) { - if (x <= x) return range[d3.bisect(domain, x)]; - } - scale.domain = function(_) { - if (!arguments.length) return domain; - domain = _; - return scale; - }; - scale.range = function(_) { - if (!arguments.length) return range; - range = _; - return scale; - }; - scale.invertExtent = function(y) { - y = range.indexOf(y); - return [ domain[y - 1], domain[y] ]; - }; - scale.copy = function() { - return d3_scale_threshold(domain, range); - }; - return scale; - } - d3.scale.identity = function() { - return d3_scale_identity([ 0, 1 ]); - }; - function d3_scale_identity(domain) { - function identity(x) { - return +x; - } - identity.invert = identity; - identity.domain = identity.range = function(x) { - if (!arguments.length) return domain; - domain = x.map(identity); - return identity; - }; - identity.ticks = function(m) { - return d3_scale_linearTicks(domain, m); - }; - identity.tickFormat = function(m, format) { - return d3_scale_linearTickFormat(domain, m, format); - }; - identity.copy = function() { - return d3_scale_identity(domain); - }; - return identity; - } - d3.svg = {}; - function d3_zero() { - return 0; - } - d3.svg.arc = function() { - var innerRadius = d3_svg_arcInnerRadius, outerRadius = d3_svg_arcOuterRadius, cornerRadius = d3_zero, padRadius = d3_svg_arcAuto, startAngle = d3_svg_arcStartAngle, endAngle = d3_svg_arcEndAngle, padAngle = d3_svg_arcPadAngle; - function arc() { - var r0 = Math.max(0, +innerRadius.apply(this, arguments)), r1 = Math.max(0, +outerRadius.apply(this, arguments)), a0 = startAngle.apply(this, arguments) - halfπ, a1 = endAngle.apply(this, arguments) - halfπ, da = Math.abs(a1 - a0), cw = a0 > a1 ? 0 : 1; - if (r1 < r0) rc = r1, r1 = r0, r0 = rc; - if (da >= τε) return circleSegment(r1, cw) + (r0 ? circleSegment(r0, 1 - cw) : "") + "Z"; - var rc, cr, rp, ap, p0 = 0, p1 = 0, x0, y0, x1, y1, x2, y2, x3, y3, path = []; - if (ap = (+padAngle.apply(this, arguments) || 0) / 2) { - rp = padRadius === d3_svg_arcAuto ? Math.sqrt(r0 * r0 + r1 * r1) : +padRadius.apply(this, arguments); - if (!cw) p1 *= -1; - if (r1) p1 = d3_asin(rp / r1 * Math.sin(ap)); - if (r0) p0 = d3_asin(rp / r0 * Math.sin(ap)); - } - if (r1) { - x0 = r1 * Math.cos(a0 + p1); - y0 = r1 * Math.sin(a0 + p1); - x1 = r1 * Math.cos(a1 - p1); - y1 = r1 * Math.sin(a1 - p1); - var l1 = Math.abs(a1 - a0 - 2 * p1) <= π ? 0 : 1; - if (p1 && d3_svg_arcSweep(x0, y0, x1, y1) === cw ^ l1) { - var h1 = (a0 + a1) / 2; - x0 = r1 * Math.cos(h1); - y0 = r1 * Math.sin(h1); - x1 = y1 = null; - } - } else { - x0 = y0 = 0; - } - if (r0) { - x2 = r0 * Math.cos(a1 - p0); - y2 = r0 * Math.sin(a1 - p0); - x3 = r0 * Math.cos(a0 + p0); - y3 = r0 * Math.sin(a0 + p0); - var l0 = Math.abs(a0 - a1 + 2 * p0) <= π ? 0 : 1; - if (p0 && d3_svg_arcSweep(x2, y2, x3, y3) === 1 - cw ^ l0) { - var h0 = (a0 + a1) / 2; - x2 = r0 * Math.cos(h0); - y2 = r0 * Math.sin(h0); - x3 = y3 = null; - } - } else { - x2 = y2 = 0; - } - if ((rc = Math.min(Math.abs(r1 - r0) / 2, +cornerRadius.apply(this, arguments))) > .001) { - cr = r0 < r1 ^ cw ? 0 : 1; - var oc = x3 == null ? [ x2, y2 ] : x1 == null ? [ x0, y0 ] : d3_geom_polygonIntersect([ x0, y0 ], [ x3, y3 ], [ x1, y1 ], [ x2, y2 ]), ax = x0 - oc[0], ay = y0 - oc[1], bx = x1 - oc[0], by = y1 - oc[1], kc = 1 / Math.sin(Math.acos((ax * bx + ay * by) / (Math.sqrt(ax * ax + ay * ay) * Math.sqrt(bx * bx + by * by))) / 2), lc = Math.sqrt(oc[0] * oc[0] + oc[1] * oc[1]); - if (x1 != null) { - var rc1 = Math.min(rc, (r1 - lc) / (kc + 1)), t30 = d3_svg_arcCornerTangents(x3 == null ? [ x2, y2 ] : [ x3, y3 ], [ x0, y0 ], r1, rc1, cw), t12 = d3_svg_arcCornerTangents([ x1, y1 ], [ x2, y2 ], r1, rc1, cw); - if (rc === rc1) { - path.push("M", t30[0], "A", rc1, ",", rc1, " 0 0,", cr, " ", t30[1], "A", r1, ",", r1, " 0 ", 1 - cw ^ d3_svg_arcSweep(t30[1][0], t30[1][1], t12[1][0], t12[1][1]), ",", cw, " ", t12[1], "A", rc1, ",", rc1, " 0 0,", cr, " ", t12[0]); - } else { - path.push("M", t30[0], "A", rc1, ",", rc1, " 0 1,", cr, " ", t12[0]); - } - } else { - path.push("M", x0, ",", y0); - } - if (x3 != null) { - var rc0 = Math.min(rc, (r0 - lc) / (kc - 1)), t03 = d3_svg_arcCornerTangents([ x0, y0 ], [ x3, y3 ], r0, -rc0, cw), t21 = d3_svg_arcCornerTangents([ x2, y2 ], x1 == null ? [ x0, y0 ] : [ x1, y1 ], r0, -rc0, cw); - if (rc === rc0) { - path.push("L", t21[0], "A", rc0, ",", rc0, " 0 0,", cr, " ", t21[1], "A", r0, ",", r0, " 0 ", cw ^ d3_svg_arcSweep(t21[1][0], t21[1][1], t03[1][0], t03[1][1]), ",", 1 - cw, " ", t03[1], "A", rc0, ",", rc0, " 0 0,", cr, " ", t03[0]); - } else { - path.push("L", t21[0], "A", rc0, ",", rc0, " 0 0,", cr, " ", t03[0]); - } - } else { - path.push("L", x2, ",", y2); - } - } else { - path.push("M", x0, ",", y0); - if (x1 != null) path.push("A", r1, ",", r1, " 0 ", l1, ",", cw, " ", x1, ",", y1); - path.push("L", x2, ",", y2); - if (x3 != null) path.push("A", r0, ",", r0, " 0 ", l0, ",", 1 - cw, " ", x3, ",", y3); - } - path.push("Z"); - return path.join(""); - } - function circleSegment(r1, cw) { - return "M0," + r1 + "A" + r1 + "," + r1 + " 0 1," + cw + " 0," + -r1 + "A" + r1 + "," + r1 + " 0 1," + cw + " 0," + r1; - } - arc.innerRadius = function(v) { - if (!arguments.length) return innerRadius; - innerRadius = d3_functor(v); - return arc; - }; - arc.outerRadius = function(v) { - if (!arguments.length) return outerRadius; - outerRadius = d3_functor(v); - return arc; - }; - arc.cornerRadius = function(v) { - if (!arguments.length) return cornerRadius; - cornerRadius = d3_functor(v); - return arc; - }; - arc.padRadius = function(v) { - if (!arguments.length) return padRadius; - padRadius = v == d3_svg_arcAuto ? d3_svg_arcAuto : d3_functor(v); - return arc; - }; - arc.startAngle = function(v) { - if (!arguments.length) return startAngle; - startAngle = d3_functor(v); - return arc; - }; - arc.endAngle = function(v) { - if (!arguments.length) return endAngle; - endAngle = d3_functor(v); - return arc; - }; - arc.padAngle = function(v) { - if (!arguments.length) return padAngle; - padAngle = d3_functor(v); - return arc; - }; - arc.centroid = function() { - var r = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2, a = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - halfπ; - return [ Math.cos(a) * r, Math.sin(a) * r ]; - }; - return arc; - }; - var d3_svg_arcAuto = "auto"; - function d3_svg_arcInnerRadius(d) { - return d.innerRadius; - } - function d3_svg_arcOuterRadius(d) { - return d.outerRadius; - } - function d3_svg_arcStartAngle(d) { - return d.startAngle; - } - function d3_svg_arcEndAngle(d) { - return d.endAngle; - } - function d3_svg_arcPadAngle(d) { - return d && d.padAngle; - } - function d3_svg_arcSweep(x0, y0, x1, y1) { - return (x0 - x1) * y0 - (y0 - y1) * x0 > 0 ? 0 : 1; - } - function d3_svg_arcCornerTangents(p0, p1, r1, rc, cw) { - var x01 = p0[0] - p1[0], y01 = p0[1] - p1[1], lo = (cw ? rc : -rc) / Math.sqrt(x01 * x01 + y01 * y01), ox = lo * y01, oy = -lo * x01, x1 = p0[0] + ox, y1 = p0[1] + oy, x2 = p1[0] + ox, y2 = p1[1] + oy, x3 = (x1 + x2) / 2, y3 = (y1 + y2) / 2, dx = x2 - x1, dy = y2 - y1, d2 = dx * dx + dy * dy, r = r1 - rc, D = x1 * y2 - x2 * y1, d = (dy < 0 ? -1 : 1) * Math.sqrt(r * r * d2 - D * D), cx0 = (D * dy - dx * d) / d2, cy0 = (-D * dx - dy * d) / d2, cx1 = (D * dy + dx * d) / d2, cy1 = (-D * dx + dy * d) / d2, dx0 = cx0 - x3, dy0 = cy0 - y3, dx1 = cx1 - x3, dy1 = cy1 - y3; - if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) cx0 = cx1, cy0 = cy1; - return [ [ cx0 - ox, cy0 - oy ], [ cx0 * r1 / r, cy0 * r1 / r ] ]; - } - function d3_svg_line(projection) { - var x = d3_geom_pointX, y = d3_geom_pointY, defined = d3_true, interpolate = d3_svg_lineLinear, interpolateKey = interpolate.key, tension = .7; - function line(data) { - var segments = [], points = [], i = -1, n = data.length, d, fx = d3_functor(x), fy = d3_functor(y); - function segment() { - segments.push("M", interpolate(projection(points), tension)); - } - while (++i < n) { - if (defined.call(this, d = data[i], i)) { - points.push([ +fx.call(this, d, i), +fy.call(this, d, i) ]); - } else if (points.length) { - segment(); - points = []; - } - } - if (points.length) segment(); - return segments.length ? segments.join("") : null; - } - line.x = function(_) { - if (!arguments.length) return x; - x = _; - return line; - }; - line.y = function(_) { - if (!arguments.length) return y; - y = _; - return line; - }; - line.defined = function(_) { - if (!arguments.length) return defined; - defined = _; - return line; - }; - line.interpolate = function(_) { - if (!arguments.length) return interpolateKey; - if (typeof _ === "function") interpolateKey = interpolate = _; else interpolateKey = (interpolate = d3_svg_lineInterpolators.get(_) || d3_svg_lineLinear).key; - return line; - }; - line.tension = function(_) { - if (!arguments.length) return tension; - tension = _; - return line; - }; - return line; - } - d3.svg.line = function() { - return d3_svg_line(d3_identity); - }; - var d3_svg_lineInterpolators = d3.map({ - linear: d3_svg_lineLinear, - "linear-closed": d3_svg_lineLinearClosed, - step: d3_svg_lineStep, - "step-before": d3_svg_lineStepBefore, - "step-after": d3_svg_lineStepAfter, - basis: d3_svg_lineBasis, - "basis-open": d3_svg_lineBasisOpen, - "basis-closed": d3_svg_lineBasisClosed, - bundle: d3_svg_lineBundle, - cardinal: d3_svg_lineCardinal, - "cardinal-open": d3_svg_lineCardinalOpen, - "cardinal-closed": d3_svg_lineCardinalClosed, - monotone: d3_svg_lineMonotone - }); - d3_svg_lineInterpolators.forEach(function(key, value) { - value.key = key; - value.closed = /-closed$/.test(key); - }); - function d3_svg_lineLinear(points) { - return points.join("L"); - } - function d3_svg_lineLinearClosed(points) { - return d3_svg_lineLinear(points) + "Z"; - } - function d3_svg_lineStep(points) { - var i = 0, n = points.length, p = points[0], path = [ p[0], ",", p[1] ]; - while (++i < n) path.push("H", (p[0] + (p = points[i])[0]) / 2, "V", p[1]); - if (n > 1) path.push("H", p[0]); - return path.join(""); - } - function d3_svg_lineStepBefore(points) { - var i = 0, n = points.length, p = points[0], path = [ p[0], ",", p[1] ]; - while (++i < n) path.push("V", (p = points[i])[1], "H", p[0]); - return path.join(""); - } - function d3_svg_lineStepAfter(points) { - var i = 0, n = points.length, p = points[0], path = [ p[0], ",", p[1] ]; - while (++i < n) path.push("H", (p = points[i])[0], "V", p[1]); - return path.join(""); - } - function d3_svg_lineCardinalOpen(points, tension) { - return points.length < 4 ? d3_svg_lineLinear(points) : points[1] + d3_svg_lineHermite(points.slice(1, -1), d3_svg_lineCardinalTangents(points, tension)); - } - function d3_svg_lineCardinalClosed(points, tension) { - return points.length < 3 ? d3_svg_lineLinear(points) : points[0] + d3_svg_lineHermite((points.push(points[0]), - points), d3_svg_lineCardinalTangents([ points[points.length - 2] ].concat(points, [ points[1] ]), tension)); - } - function d3_svg_lineCardinal(points, tension) { - return points.length < 3 ? d3_svg_lineLinear(points) : points[0] + d3_svg_lineHermite(points, d3_svg_lineCardinalTangents(points, tension)); - } - function d3_svg_lineHermite(points, tangents) { - if (tangents.length < 1 || points.length != tangents.length && points.length != tangents.length + 2) { - return d3_svg_lineLinear(points); - } - var quad = points.length != tangents.length, path = "", p0 = points[0], p = points[1], t0 = tangents[0], t = t0, pi = 1; - if (quad) { - path += "Q" + (p[0] - t0[0] * 2 / 3) + "," + (p[1] - t0[1] * 2 / 3) + "," + p[0] + "," + p[1]; - p0 = points[1]; - pi = 2; - } - if (tangents.length > 1) { - t = tangents[1]; - p = points[pi]; - pi++; - path += "C" + (p0[0] + t0[0]) + "," + (p0[1] + t0[1]) + "," + (p[0] - t[0]) + "," + (p[1] - t[1]) + "," + p[0] + "," + p[1]; - for (var i = 2; i < tangents.length; i++, pi++) { - p = points[pi]; - t = tangents[i]; - path += "S" + (p[0] - t[0]) + "," + (p[1] - t[1]) + "," + p[0] + "," + p[1]; - } - } - if (quad) { - var lp = points[pi]; - path += "Q" + (p[0] + t[0] * 2 / 3) + "," + (p[1] + t[1] * 2 / 3) + "," + lp[0] + "," + lp[1]; - } - return path; - } - function d3_svg_lineCardinalTangents(points, tension) { - var tangents = [], a = (1 - tension) / 2, p0, p1 = points[0], p2 = points[1], i = 1, n = points.length; - while (++i < n) { - p0 = p1; - p1 = p2; - p2 = points[i]; - tangents.push([ a * (p2[0] - p0[0]), a * (p2[1] - p0[1]) ]); - } - return tangents; - } - function d3_svg_lineBasis(points) { - if (points.length < 3) return d3_svg_lineLinear(points); - var i = 1, n = points.length, pi = points[0], x0 = pi[0], y0 = pi[1], px = [ x0, x0, x0, (pi = points[1])[0] ], py = [ y0, y0, y0, pi[1] ], path = [ x0, ",", y0, "L", d3_svg_lineDot4(d3_svg_lineBasisBezier3, px), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier3, py) ]; - points.push(points[n - 1]); - while (++i <= n) { - pi = points[i]; - px.shift(); - px.push(pi[0]); - py.shift(); - py.push(pi[1]); - d3_svg_lineBasisBezier(path, px, py); - } - points.pop(); - path.push("L", pi); - return path.join(""); - } - function d3_svg_lineBasisOpen(points) { - if (points.length < 4) return d3_svg_lineLinear(points); - var path = [], i = -1, n = points.length, pi, px = [ 0 ], py = [ 0 ]; - while (++i < 3) { - pi = points[i]; - px.push(pi[0]); - py.push(pi[1]); - } - path.push(d3_svg_lineDot4(d3_svg_lineBasisBezier3, px) + "," + d3_svg_lineDot4(d3_svg_lineBasisBezier3, py)); - --i; - while (++i < n) { - pi = points[i]; - px.shift(); - px.push(pi[0]); - py.shift(); - py.push(pi[1]); - d3_svg_lineBasisBezier(path, px, py); - } - return path.join(""); - } - function d3_svg_lineBasisClosed(points) { - var path, i = -1, n = points.length, m = n + 4, pi, px = [], py = []; - while (++i < 4) { - pi = points[i % n]; - px.push(pi[0]); - py.push(pi[1]); - } - path = [ d3_svg_lineDot4(d3_svg_lineBasisBezier3, px), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier3, py) ]; - --i; - while (++i < m) { - pi = points[i % n]; - px.shift(); - px.push(pi[0]); - py.shift(); - py.push(pi[1]); - d3_svg_lineBasisBezier(path, px, py); - } - return path.join(""); - } - function d3_svg_lineBundle(points, tension) { - var n = points.length - 1; - if (n) { - var x0 = points[0][0], y0 = points[0][1], dx = points[n][0] - x0, dy = points[n][1] - y0, i = -1, p, t; - while (++i <= n) { - p = points[i]; - t = i / n; - p[0] = tension * p[0] + (1 - tension) * (x0 + t * dx); - p[1] = tension * p[1] + (1 - tension) * (y0 + t * dy); - } - } - return d3_svg_lineBasis(points); - } - function d3_svg_lineDot4(a, b) { - return a[0] * b[0] + a[1] * b[1] + a[2] * b[2] + a[3] * b[3]; - } - var d3_svg_lineBasisBezier1 = [ 0, 2 / 3, 1 / 3, 0 ], d3_svg_lineBasisBezier2 = [ 0, 1 / 3, 2 / 3, 0 ], d3_svg_lineBasisBezier3 = [ 0, 1 / 6, 2 / 3, 1 / 6 ]; - function d3_svg_lineBasisBezier(path, x, y) { - path.push("C", d3_svg_lineDot4(d3_svg_lineBasisBezier1, x), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier1, y), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier2, x), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier2, y), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier3, x), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier3, y)); - } - function d3_svg_lineSlope(p0, p1) { - return (p1[1] - p0[1]) / (p1[0] - p0[0]); - } - function d3_svg_lineFiniteDifferences(points) { - var i = 0, j = points.length - 1, m = [], p0 = points[0], p1 = points[1], d = m[0] = d3_svg_lineSlope(p0, p1); - while (++i < j) { - m[i] = (d + (d = d3_svg_lineSlope(p0 = p1, p1 = points[i + 1]))) / 2; - } - m[i] = d; - return m; - } - function d3_svg_lineMonotoneTangents(points) { - var tangents = [], d, a, b, s, m = d3_svg_lineFiniteDifferences(points), i = -1, j = points.length - 1; - while (++i < j) { - d = d3_svg_lineSlope(points[i], points[i + 1]); - if (abs(d) < ε) { - m[i] = m[i + 1] = 0; - } else { - a = m[i] / d; - b = m[i + 1] / d; - s = a * a + b * b; - if (s > 9) { - s = d * 3 / Math.sqrt(s); - m[i] = s * a; - m[i + 1] = s * b; - } - } - } - i = -1; - while (++i <= j) { - s = (points[Math.min(j, i + 1)][0] - points[Math.max(0, i - 1)][0]) / (6 * (1 + m[i] * m[i])); - tangents.push([ s || 0, m[i] * s || 0 ]); - } - return tangents; - } - function d3_svg_lineMonotone(points) { - return points.length < 3 ? d3_svg_lineLinear(points) : points[0] + d3_svg_lineHermite(points, d3_svg_lineMonotoneTangents(points)); - } - d3.svg.line.radial = function() { - var line = d3_svg_line(d3_svg_lineRadial); - line.radius = line.x, delete line.x; - line.angle = line.y, delete line.y; - return line; - }; - function d3_svg_lineRadial(points) { - var point, i = -1, n = points.length, r, a; - while (++i < n) { - point = points[i]; - r = point[0]; - a = point[1] - halfπ; - point[0] = r * Math.cos(a); - point[1] = r * Math.sin(a); - } - return points; - } - function d3_svg_area(projection) { - var x0 = d3_geom_pointX, x1 = d3_geom_pointX, y0 = 0, y1 = d3_geom_pointY, defined = d3_true, interpolate = d3_svg_lineLinear, interpolateKey = interpolate.key, interpolateReverse = interpolate, L = "L", tension = .7; - function area(data) { - var segments = [], points0 = [], points1 = [], i = -1, n = data.length, d, fx0 = d3_functor(x0), fy0 = d3_functor(y0), fx1 = x0 === x1 ? function() { - return x; - } : d3_functor(x1), fy1 = y0 === y1 ? function() { - return y; - } : d3_functor(y1), x, y; - function segment() { - segments.push("M", interpolate(projection(points1), tension), L, interpolateReverse(projection(points0.reverse()), tension), "Z"); - } - while (++i < n) { - if (defined.call(this, d = data[i], i)) { - points0.push([ x = +fx0.call(this, d, i), y = +fy0.call(this, d, i) ]); - points1.push([ +fx1.call(this, d, i), +fy1.call(this, d, i) ]); - } else if (points0.length) { - segment(); - points0 = []; - points1 = []; - } - } - if (points0.length) segment(); - return segments.length ? segments.join("") : null; - } - area.x = function(_) { - if (!arguments.length) return x1; - x0 = x1 = _; - return area; - }; - area.x0 = function(_) { - if (!arguments.length) return x0; - x0 = _; - return area; - }; - area.x1 = function(_) { - if (!arguments.length) return x1; - x1 = _; - return area; - }; - area.y = function(_) { - if (!arguments.length) return y1; - y0 = y1 = _; - return area; - }; - area.y0 = function(_) { - if (!arguments.length) return y0; - y0 = _; - return area; - }; - area.y1 = function(_) { - if (!arguments.length) return y1; - y1 = _; - return area; - }; - area.defined = function(_) { - if (!arguments.length) return defined; - defined = _; - return area; - }; - area.interpolate = function(_) { - if (!arguments.length) return interpolateKey; - if (typeof _ === "function") interpolateKey = interpolate = _; else interpolateKey = (interpolate = d3_svg_lineInterpolators.get(_) || d3_svg_lineLinear).key; - interpolateReverse = interpolate.reverse || interpolate; - L = interpolate.closed ? "M" : "L"; - return area; - }; - area.tension = function(_) { - if (!arguments.length) return tension; - tension = _; - return area; - }; - return area; - } - d3_svg_lineStepBefore.reverse = d3_svg_lineStepAfter; - d3_svg_lineStepAfter.reverse = d3_svg_lineStepBefore; - d3.svg.area = function() { - return d3_svg_area(d3_identity); - }; - d3.svg.area.radial = function() { - var area = d3_svg_area(d3_svg_lineRadial); - area.radius = area.x, delete area.x; - area.innerRadius = area.x0, delete area.x0; - area.outerRadius = area.x1, delete area.x1; - area.angle = area.y, delete area.y; - area.startAngle = area.y0, delete area.y0; - area.endAngle = area.y1, delete area.y1; - return area; - }; - d3.svg.chord = function() { - var source = d3_source, target = d3_target, radius = d3_svg_chordRadius, startAngle = d3_svg_arcStartAngle, endAngle = d3_svg_arcEndAngle; - function chord(d, i) { - var s = subgroup(this, source, d, i), t = subgroup(this, target, d, i); - return "M" + s.p0 + arc(s.r, s.p1, s.a1 - s.a0) + (equals(s, t) ? curve(s.r, s.p1, s.r, s.p0) : curve(s.r, s.p1, t.r, t.p0) + arc(t.r, t.p1, t.a1 - t.a0) + curve(t.r, t.p1, s.r, s.p0)) + "Z"; - } - function subgroup(self, f, d, i) { - var subgroup = f.call(self, d, i), r = radius.call(self, subgroup, i), a0 = startAngle.call(self, subgroup, i) - halfπ, a1 = endAngle.call(self, subgroup, i) - halfπ; - return { - r: r, - a0: a0, - a1: a1, - p0: [ r * Math.cos(a0), r * Math.sin(a0) ], - p1: [ r * Math.cos(a1), r * Math.sin(a1) ] - }; - } - function equals(a, b) { - return a.a0 == b.a0 && a.a1 == b.a1; - } - function arc(r, p, a) { - return "A" + r + "," + r + " 0 " + +(a > π) + ",1 " + p; - } - function curve(r0, p0, r1, p1) { - return "Q 0,0 " + p1; - } - chord.radius = function(v) { - if (!arguments.length) return radius; - radius = d3_functor(v); - return chord; - }; - chord.source = function(v) { - if (!arguments.length) return source; - source = d3_functor(v); - return chord; - }; - chord.target = function(v) { - if (!arguments.length) return target; - target = d3_functor(v); - return chord; - }; - chord.startAngle = function(v) { - if (!arguments.length) return startAngle; - startAngle = d3_functor(v); - return chord; - }; - chord.endAngle = function(v) { - if (!arguments.length) return endAngle; - endAngle = d3_functor(v); - return chord; - }; - return chord; - }; - function d3_svg_chordRadius(d) { - return d.radius; - } - d3.svg.diagonal = function() { - var source = d3_source, target = d3_target, projection = d3_svg_diagonalProjection; - function diagonal(d, i) { - var p0 = source.call(this, d, i), p3 = target.call(this, d, i), m = (p0.y + p3.y) / 2, p = [ p0, { - x: p0.x, - y: m - }, { - x: p3.x, - y: m - }, p3 ]; - p = p.map(projection); - return "M" + p[0] + "C" + p[1] + " " + p[2] + " " + p[3]; - } - diagonal.source = function(x) { - if (!arguments.length) return source; - source = d3_functor(x); - return diagonal; - }; - diagonal.target = function(x) { - if (!arguments.length) return target; - target = d3_functor(x); - return diagonal; - }; - diagonal.projection = function(x) { - if (!arguments.length) return projection; - projection = x; - return diagonal; - }; - return diagonal; - }; - function d3_svg_diagonalProjection(d) { - return [ d.x, d.y ]; - } - d3.svg.diagonal.radial = function() { - var diagonal = d3.svg.diagonal(), projection = d3_svg_diagonalProjection, projection_ = diagonal.projection; - diagonal.projection = function(x) { - return arguments.length ? projection_(d3_svg_diagonalRadialProjection(projection = x)) : projection; - }; - return diagonal; - }; - function d3_svg_diagonalRadialProjection(projection) { - return function() { - var d = projection.apply(this, arguments), r = d[0], a = d[1] - halfπ; - return [ r * Math.cos(a), r * Math.sin(a) ]; - }; - } - d3.svg.symbol = function() { - var type = d3_svg_symbolType, size = d3_svg_symbolSize; - function symbol(d, i) { - return (d3_svg_symbols.get(type.call(this, d, i)) || d3_svg_symbolCircle)(size.call(this, d, i)); - } - symbol.type = function(x) { - if (!arguments.length) return type; - type = d3_functor(x); - return symbol; - }; - symbol.size = function(x) { - if (!arguments.length) return size; - size = d3_functor(x); - return symbol; - }; - return symbol; - }; - function d3_svg_symbolSize() { - return 64; - } - function d3_svg_symbolType() { - return "circle"; - } - function d3_svg_symbolCircle(size) { - var r = Math.sqrt(size / π); - return "M0," + r + "A" + r + "," + r + " 0 1,1 0," + -r + "A" + r + "," + r + " 0 1,1 0," + r + "Z"; - } - var d3_svg_symbols = d3.map({ - circle: d3_svg_symbolCircle, - cross: function(size) { - var r = Math.sqrt(size / 5) / 2; - return "M" + -3 * r + "," + -r + "H" + -r + "V" + -3 * r + "H" + r + "V" + -r + "H" + 3 * r + "V" + r + "H" + r + "V" + 3 * r + "H" + -r + "V" + r + "H" + -3 * r + "Z"; - }, - diamond: function(size) { - var ry = Math.sqrt(size / (2 * d3_svg_symbolTan30)), rx = ry * d3_svg_symbolTan30; - return "M0," + -ry + "L" + rx + ",0" + " 0," + ry + " " + -rx + ",0" + "Z"; - }, - square: function(size) { - var r = Math.sqrt(size) / 2; - return "M" + -r + "," + -r + "L" + r + "," + -r + " " + r + "," + r + " " + -r + "," + r + "Z"; - }, - "triangle-down": function(size) { - var rx = Math.sqrt(size / d3_svg_symbolSqrt3), ry = rx * d3_svg_symbolSqrt3 / 2; - return "M0," + ry + "L" + rx + "," + -ry + " " + -rx + "," + -ry + "Z"; - }, - "triangle-up": function(size) { - var rx = Math.sqrt(size / d3_svg_symbolSqrt3), ry = rx * d3_svg_symbolSqrt3 / 2; - return "M0," + -ry + "L" + rx + "," + ry + " " + -rx + "," + ry + "Z"; - } - }); - d3.svg.symbolTypes = d3_svg_symbols.keys(); - var d3_svg_symbolSqrt3 = Math.sqrt(3), d3_svg_symbolTan30 = Math.tan(30 * d3_radians); - d3_selectionPrototype.transition = function(name) { - var id = d3_transitionInheritId || ++d3_transitionId, ns = d3_transitionNamespace(name), subgroups = [], subgroup, node, transition = d3_transitionInherit || { - time: Date.now(), - ease: d3_ease_cubicInOut, - delay: 0, - duration: 250 - }; - for (var j = -1, m = this.length; ++j < m; ) { - subgroups.push(subgroup = []); - for (var group = this[j], i = -1, n = group.length; ++i < n; ) { - if (node = group[i]) d3_transitionNode(node, i, ns, id, transition); - subgroup.push(node); - } - } - return d3_transition(subgroups, ns, id); - }; - d3_selectionPrototype.interrupt = function(name) { - return this.each(name == null ? d3_selection_interrupt : d3_selection_interruptNS(d3_transitionNamespace(name))); - }; - var d3_selection_interrupt = d3_selection_interruptNS(d3_transitionNamespace()); - function d3_selection_interruptNS(ns) { - return function() { - var lock, active; - if ((lock = this[ns]) && (active = lock[lock.active])) { - if (--lock.count) { - delete lock[lock.active]; - lock.active += .5; - } else { - delete this[ns]; - } - active.event && active.event.interrupt.call(this, this.__data__, active.index); - } - }; - } - function d3_transition(groups, ns, id) { - d3_subclass(groups, d3_transitionPrototype); - groups.namespace = ns; - groups.id = id; - return groups; - } - var d3_transitionPrototype = [], d3_transitionId = 0, d3_transitionInheritId, d3_transitionInherit; - d3_transitionPrototype.call = d3_selectionPrototype.call; - d3_transitionPrototype.empty = d3_selectionPrototype.empty; - d3_transitionPrototype.node = d3_selectionPrototype.node; - d3_transitionPrototype.size = d3_selectionPrototype.size; - d3.transition = function(selection, name) { - return selection && selection.transition ? d3_transitionInheritId ? selection.transition(name) : selection : d3_selectionRoot.transition(selection); - }; - d3.transition.prototype = d3_transitionPrototype; - d3_transitionPrototype.select = function(selector) { - var id = this.id, ns = this.namespace, subgroups = [], subgroup, subnode, node; - selector = d3_selection_selector(selector); - for (var j = -1, m = this.length; ++j < m; ) { - subgroups.push(subgroup = []); - for (var group = this[j], i = -1, n = group.length; ++i < n; ) { - if ((node = group[i]) && (subnode = selector.call(node, node.__data__, i, j))) { - if ("__data__" in node) subnode.__data__ = node.__data__; - d3_transitionNode(subnode, i, ns, id, node[ns][id]); - subgroup.push(subnode); - } else { - subgroup.push(null); - } - } - } - return d3_transition(subgroups, ns, id); - }; - d3_transitionPrototype.selectAll = function(selector) { - var id = this.id, ns = this.namespace, subgroups = [], subgroup, subnodes, node, subnode, transition; - selector = d3_selection_selectorAll(selector); - for (var j = -1, m = this.length; ++j < m; ) { - for (var group = this[j], i = -1, n = group.length; ++i < n; ) { - if (node = group[i]) { - transition = node[ns][id]; - subnodes = selector.call(node, node.__data__, i, j); - subgroups.push(subgroup = []); - for (var k = -1, o = subnodes.length; ++k < o; ) { - if (subnode = subnodes[k]) d3_transitionNode(subnode, k, ns, id, transition); - subgroup.push(subnode); - } - } - } - } - return d3_transition(subgroups, ns, id); - }; - d3_transitionPrototype.filter = function(filter) { - var subgroups = [], subgroup, group, node; - if (typeof filter !== "function") filter = d3_selection_filter(filter); - for (var j = 0, m = this.length; j < m; j++) { - subgroups.push(subgroup = []); - for (var group = this[j], i = 0, n = group.length; i < n; i++) { - if ((node = group[i]) && filter.call(node, node.__data__, i, j)) { - subgroup.push(node); - } - } - } - return d3_transition(subgroups, this.namespace, this.id); - }; - d3_transitionPrototype.tween = function(name, tween) { - var id = this.id, ns = this.namespace; - if (arguments.length < 2) return this.node()[ns][id].tween.get(name); - return d3_selection_each(this, tween == null ? function(node) { - node[ns][id].tween.remove(name); - } : function(node) { - node[ns][id].tween.set(name, tween); - }); - }; - function d3_transition_tween(groups, name, value, tween) { - var id = groups.id, ns = groups.namespace; - return d3_selection_each(groups, typeof value === "function" ? function(node, i, j) { - node[ns][id].tween.set(name, tween(value.call(node, node.__data__, i, j))); - } : (value = tween(value), function(node) { - node[ns][id].tween.set(name, value); - })); - } - d3_transitionPrototype.attr = function(nameNS, value) { - if (arguments.length < 2) { - for (value in nameNS) this.attr(value, nameNS[value]); - return this; - } - var interpolate = nameNS == "transform" ? d3_interpolateTransform : d3_interpolate, name = d3.ns.qualify(nameNS); - function attrNull() { - this.removeAttribute(name); - } - function attrNullNS() { - this.removeAttributeNS(name.space, name.local); - } - function attrTween(b) { - return b == null ? attrNull : (b += "", function() { - var a = this.getAttribute(name), i; - return a !== b && (i = interpolate(a, b), function(t) { - this.setAttribute(name, i(t)); - }); - }); - } - function attrTweenNS(b) { - return b == null ? attrNullNS : (b += "", function() { - var a = this.getAttributeNS(name.space, name.local), i; - return a !== b && (i = interpolate(a, b), function(t) { - this.setAttributeNS(name.space, name.local, i(t)); - }); - }); - } - return d3_transition_tween(this, "attr." + nameNS, value, name.local ? attrTweenNS : attrTween); - }; - d3_transitionPrototype.attrTween = function(nameNS, tween) { - var name = d3.ns.qualify(nameNS); - function attrTween(d, i) { - var f = tween.call(this, d, i, this.getAttribute(name)); - return f && function(t) { - this.setAttribute(name, f(t)); - }; - } - function attrTweenNS(d, i) { - var f = tween.call(this, d, i, this.getAttributeNS(name.space, name.local)); - return f && function(t) { - this.setAttributeNS(name.space, name.local, f(t)); - }; - } - return this.tween("attr." + nameNS, name.local ? attrTweenNS : attrTween); - }; - d3_transitionPrototype.style = function(name, value, priority) { - var n = arguments.length; - if (n < 3) { - if (typeof name !== "string") { - if (n < 2) value = ""; - for (priority in name) this.style(priority, name[priority], value); - return this; - } - priority = ""; - } - function styleNull() { - this.style.removeProperty(name); - } - function styleString(b) { - return b == null ? styleNull : (b += "", function() { - var a = d3_window.getComputedStyle(this, null).getPropertyValue(name), i; - return a !== b && (i = d3_interpolate(a, b), function(t) { - this.style.setProperty(name, i(t), priority); - }); - }); - } - return d3_transition_tween(this, "style." + name, value, styleString); - }; - d3_transitionPrototype.styleTween = function(name, tween, priority) { - if (arguments.length < 3) priority = ""; - function styleTween(d, i) { - var f = tween.call(this, d, i, d3_window.getComputedStyle(this, null).getPropertyValue(name)); - return f && function(t) { - this.style.setProperty(name, f(t), priority); - }; - } - return this.tween("style." + name, styleTween); - }; - d3_transitionPrototype.text = function(value) { - return d3_transition_tween(this, "text", value, d3_transition_text); - }; - function d3_transition_text(b) { - if (b == null) b = ""; - return function() { - this.textContent = b; - }; - } - d3_transitionPrototype.remove = function() { - var ns = this.namespace; - return this.each("end.transition", function() { - var p; - if (this[ns].count < 2 && (p = this.parentNode)) p.removeChild(this); - }); - }; - d3_transitionPrototype.ease = function(value) { - var id = this.id, ns = this.namespace; - if (arguments.length < 1) return this.node()[ns][id].ease; - if (typeof value !== "function") value = d3.ease.apply(d3, arguments); - return d3_selection_each(this, function(node) { - node[ns][id].ease = value; - }); - }; - d3_transitionPrototype.delay = function(value) { - var id = this.id, ns = this.namespace; - if (arguments.length < 1) return this.node()[ns][id].delay; - return d3_selection_each(this, typeof value === "function" ? function(node, i, j) { - node[ns][id].delay = +value.call(node, node.__data__, i, j); - } : (value = +value, function(node) { - node[ns][id].delay = value; - })); - }; - d3_transitionPrototype.duration = function(value) { - var id = this.id, ns = this.namespace; - if (arguments.length < 1) return this.node()[ns][id].duration; - return d3_selection_each(this, typeof value === "function" ? function(node, i, j) { - node[ns][id].duration = Math.max(1, value.call(node, node.__data__, i, j)); - } : (value = Math.max(1, value), function(node) { - node[ns][id].duration = value; - })); - }; - d3_transitionPrototype.each = function(type, listener) { - var id = this.id, ns = this.namespace; - if (arguments.length < 2) { - var inherit = d3_transitionInherit, inheritId = d3_transitionInheritId; - try { - d3_transitionInheritId = id; - d3_selection_each(this, function(node, i, j) { - d3_transitionInherit = node[ns][id]; - type.call(node, node.__data__, i, j); - }); - } finally { - d3_transitionInherit = inherit; - d3_transitionInheritId = inheritId; - } - } else { - d3_selection_each(this, function(node) { - var transition = node[ns][id]; - (transition.event || (transition.event = d3.dispatch("start", "end", "interrupt"))).on(type, listener); - }); - } - return this; - }; - d3_transitionPrototype.transition = function() { - var id0 = this.id, id1 = ++d3_transitionId, ns = this.namespace, subgroups = [], subgroup, group, node, transition; - for (var j = 0, m = this.length; j < m; j++) { - subgroups.push(subgroup = []); - for (var group = this[j], i = 0, n = group.length; i < n; i++) { - if (node = group[i]) { - transition = node[ns][id0]; - d3_transitionNode(node, i, ns, id1, { - time: transition.time, - ease: transition.ease, - delay: transition.delay + transition.duration, - duration: transition.duration - }); - } - subgroup.push(node); - } - } - return d3_transition(subgroups, ns, id1); - }; - function d3_transitionNamespace(name) { - return name == null ? "__transition__" : "__transition_" + name + "__"; - } - function d3_transitionNode(node, i, ns, id, inherit) { - var lock = node[ns] || (node[ns] = { - active: 0, - count: 0 - }), transition = lock[id]; - if (!transition) { - var time = inherit.time; - transition = lock[id] = { - tween: new d3_Map(), - time: time, - delay: inherit.delay, - duration: inherit.duration, - ease: inherit.ease, - index: i - }; - inherit = null; - ++lock.count; - d3.timer(function(elapsed) { - var delay = transition.delay, duration, ease, timer = d3_timer_active, tweened = []; - timer.t = delay + time; - if (delay <= elapsed) return start(elapsed - delay); - timer.c = start; - function start(elapsed) { - if (lock.active > id) return stop(); - var active = lock[lock.active]; - if (active) { - --lock.count; - delete lock[lock.active]; - active.event && active.event.interrupt.call(node, node.__data__, active.index); - } - lock.active = id; - transition.event && transition.event.start.call(node, node.__data__, i); - transition.tween.forEach(function(key, value) { - if (value = value.call(node, node.__data__, i)) { - tweened.push(value); - } - }); - ease = transition.ease; - duration = transition.duration; - d3.timer(function() { - timer.c = tick(elapsed || 1) ? d3_true : tick; - return 1; - }, 0, time); - } - function tick(elapsed) { - if (lock.active !== id) return 1; - var t = elapsed / duration, e = ease(t), n = tweened.length; - while (n > 0) { - tweened[--n].call(node, e); - } - if (t >= 1) { - transition.event && transition.event.end.call(node, node.__data__, i); - return stop(); - } - } - function stop() { - if (--lock.count) delete lock[id]; else delete node[ns]; - return 1; - } - }, 0, time); - } - } - d3.svg.axis = function() { - var scale = d3.scale.linear(), orient = d3_svg_axisDefaultOrient, innerTickSize = 6, outerTickSize = 6, tickPadding = 3, tickArguments_ = [ 10 ], tickValues = null, tickFormat_; - function axis(g) { - g.each(function() { - var g = d3.select(this); - var scale0 = this.__chart__ || scale, scale1 = this.__chart__ = scale.copy(); - var ticks = tickValues == null ? scale1.ticks ? scale1.ticks.apply(scale1, tickArguments_) : scale1.domain() : tickValues, tickFormat = tickFormat_ == null ? scale1.tickFormat ? scale1.tickFormat.apply(scale1, tickArguments_) : d3_identity : tickFormat_, tick = g.selectAll(".tick").data(ticks, scale1), tickEnter = tick.enter().insert("g", ".domain").attr("class", "tick").style("opacity", ε), tickExit = d3.transition(tick.exit()).style("opacity", ε).remove(), tickUpdate = d3.transition(tick.order()).style("opacity", 1), tickSpacing = Math.max(innerTickSize, 0) + tickPadding, tickTransform; - var range = d3_scaleRange(scale1), path = g.selectAll(".domain").data([ 0 ]), pathUpdate = (path.enter().append("path").attr("class", "domain"), - d3.transition(path)); - tickEnter.append("line"); - tickEnter.append("text"); - var lineEnter = tickEnter.select("line"), lineUpdate = tickUpdate.select("line"), text = tick.select("text").text(tickFormat), textEnter = tickEnter.select("text"), textUpdate = tickUpdate.select("text"), sign = orient === "top" || orient === "left" ? -1 : 1, x1, x2, y1, y2; - if (orient === "bottom" || orient === "top") { - tickTransform = d3_svg_axisX, x1 = "x", y1 = "y", x2 = "x2", y2 = "y2"; - text.attr("dy", sign < 0 ? "0em" : ".71em").style("text-anchor", "middle"); - pathUpdate.attr("d", "M" + range[0] + "," + sign * outerTickSize + "V0H" + range[1] + "V" + sign * outerTickSize); - } else { - tickTransform = d3_svg_axisY, x1 = "y", y1 = "x", x2 = "y2", y2 = "x2"; - text.attr("dy", ".32em").style("text-anchor", sign < 0 ? "end" : "start"); - pathUpdate.attr("d", "M" + sign * outerTickSize + "," + range[0] + "H0V" + range[1] + "H" + sign * outerTickSize); - } - lineEnter.attr(y2, sign * innerTickSize); - textEnter.attr(y1, sign * tickSpacing); - lineUpdate.attr(x2, 0).attr(y2, sign * innerTickSize); - textUpdate.attr(x1, 0).attr(y1, sign * tickSpacing); - if (scale1.rangeBand) { - var x = scale1, dx = x.rangeBand() / 2; - scale0 = scale1 = function(d) { - return x(d) + dx; - }; - } else if (scale0.rangeBand) { - scale0 = scale1; - } else { - tickExit.call(tickTransform, scale1, scale0); - } - tickEnter.call(tickTransform, scale0, scale1); - tickUpdate.call(tickTransform, scale1, scale1); - }); - } - axis.scale = function(x) { - if (!arguments.length) return scale; - scale = x; - return axis; - }; - axis.orient = function(x) { - if (!arguments.length) return orient; - orient = x in d3_svg_axisOrients ? x + "" : d3_svg_axisDefaultOrient; - return axis; - }; - axis.ticks = function() { - if (!arguments.length) return tickArguments_; - tickArguments_ = arguments; - return axis; - }; - axis.tickValues = function(x) { - if (!arguments.length) return tickValues; - tickValues = x; - return axis; - }; - axis.tickFormat = function(x) { - if (!arguments.length) return tickFormat_; - tickFormat_ = x; - return axis; - }; - axis.tickSize = function(x) { - var n = arguments.length; - if (!n) return innerTickSize; - innerTickSize = +x; - outerTickSize = +arguments[n - 1]; - return axis; - }; - axis.innerTickSize = function(x) { - if (!arguments.length) return innerTickSize; - innerTickSize = +x; - return axis; - }; - axis.outerTickSize = function(x) { - if (!arguments.length) return outerTickSize; - outerTickSize = +x; - return axis; - }; - axis.tickPadding = function(x) { - if (!arguments.length) return tickPadding; - tickPadding = +x; - return axis; - }; - axis.tickSubdivide = function() { - return arguments.length && axis; - }; - return axis; - }; - var d3_svg_axisDefaultOrient = "bottom", d3_svg_axisOrients = { - top: 1, - right: 1, - bottom: 1, - left: 1 - }; - function d3_svg_axisX(selection, x0, x1) { - selection.attr("transform", function(d) { - var v0 = x0(d); - return "translate(" + (isFinite(v0) ? v0 : x1(d)) + ",0)"; - }); - } - function d3_svg_axisY(selection, y0, y1) { - selection.attr("transform", function(d) { - var v0 = y0(d); - return "translate(0," + (isFinite(v0) ? v0 : y1(d)) + ")"; - }); - } - d3.svg.brush = function() { - var event = d3_eventDispatch(brush, "brushstart", "brush", "brushend"), x = null, y = null, xExtent = [ 0, 0 ], yExtent = [ 0, 0 ], xExtentDomain, yExtentDomain, xClamp = true, yClamp = true, resizes = d3_svg_brushResizes[0]; - function brush(g) { - g.each(function() { - var g = d3.select(this).style("pointer-events", "all").style("-webkit-tap-highlight-color", "rgba(0,0,0,0)").on("mousedown.brush", brushstart).on("touchstart.brush", brushstart); - var background = g.selectAll(".background").data([ 0 ]); - background.enter().append("rect").attr("class", "background").style("visibility", "hidden").style("cursor", "crosshair"); - g.selectAll(".extent").data([ 0 ]).enter().append("rect").attr("class", "extent").style("cursor", "move"); - var resize = g.selectAll(".resize").data(resizes, d3_identity); - resize.exit().remove(); - resize.enter().append("g").attr("class", function(d) { - return "resize " + d; - }).style("cursor", function(d) { - return d3_svg_brushCursor[d]; - }).append("rect").attr("x", function(d) { - return /[ew]$/.test(d) ? -3 : null; - }).attr("y", function(d) { - return /^[ns]/.test(d) ? -3 : null; - }).attr("width", 6).attr("height", 6).style("visibility", "hidden"); - resize.style("display", brush.empty() ? "none" : null); - var gUpdate = d3.transition(g), backgroundUpdate = d3.transition(background), range; - if (x) { - range = d3_scaleRange(x); - backgroundUpdate.attr("x", range[0]).attr("width", range[1] - range[0]); - redrawX(gUpdate); - } - if (y) { - range = d3_scaleRange(y); - backgroundUpdate.attr("y", range[0]).attr("height", range[1] - range[0]); - redrawY(gUpdate); - } - redraw(gUpdate); - }); - } - brush.event = function(g) { - g.each(function() { - var event_ = event.of(this, arguments), extent1 = { - x: xExtent, - y: yExtent, - i: xExtentDomain, - j: yExtentDomain - }, extent0 = this.__chart__ || extent1; - this.__chart__ = extent1; - if (d3_transitionInheritId) { - d3.select(this).transition().each("start.brush", function() { - xExtentDomain = extent0.i; - yExtentDomain = extent0.j; - xExtent = extent0.x; - yExtent = extent0.y; - event_({ - type: "brushstart" - }); - }).tween("brush:brush", function() { - var xi = d3_interpolateArray(xExtent, extent1.x), yi = d3_interpolateArray(yExtent, extent1.y); - xExtentDomain = yExtentDomain = null; - return function(t) { - xExtent = extent1.x = xi(t); - yExtent = extent1.y = yi(t); - event_({ - type: "brush", - mode: "resize" - }); - }; - }).each("end.brush", function() { - xExtentDomain = extent1.i; - yExtentDomain = extent1.j; - event_({ - type: "brush", - mode: "resize" - }); - event_({ - type: "brushend" - }); - }); - } else { - event_({ - type: "brushstart" - }); - event_({ - type: "brush", - mode: "resize" - }); - event_({ - type: "brushend" - }); - } - }); - }; - function redraw(g) { - g.selectAll(".resize").attr("transform", function(d) { - return "translate(" + xExtent[+/e$/.test(d)] + "," + yExtent[+/^s/.test(d)] + ")"; - }); - } - function redrawX(g) { - g.select(".extent").attr("x", xExtent[0]); - g.selectAll(".extent,.n>rect,.s>rect").attr("width", xExtent[1] - xExtent[0]); - } - function redrawY(g) { - g.select(".extent").attr("y", yExtent[0]); - g.selectAll(".extent,.e>rect,.w>rect").attr("height", yExtent[1] - yExtent[0]); - } - function brushstart() { - var target = this, eventTarget = d3.select(d3.event.target), event_ = event.of(target, arguments), g = d3.select(target), resizing = eventTarget.datum(), resizingX = !/^(n|s)$/.test(resizing) && x, resizingY = !/^(e|w)$/.test(resizing) && y, dragging = eventTarget.classed("extent"), dragRestore = d3_event_dragSuppress(), center, origin = d3.mouse(target), offset; - var w = d3.select(d3_window).on("keydown.brush", keydown).on("keyup.brush", keyup); - if (d3.event.changedTouches) { - w.on("touchmove.brush", brushmove).on("touchend.brush", brushend); - } else { - w.on("mousemove.brush", brushmove).on("mouseup.brush", brushend); - } - g.interrupt().selectAll("*").interrupt(); - if (dragging) { - origin[0] = xExtent[0] - origin[0]; - origin[1] = yExtent[0] - origin[1]; - } else if (resizing) { - var ex = +/w$/.test(resizing), ey = +/^n/.test(resizing); - offset = [ xExtent[1 - ex] - origin[0], yExtent[1 - ey] - origin[1] ]; - origin[0] = xExtent[ex]; - origin[1] = yExtent[ey]; - } else if (d3.event.altKey) center = origin.slice(); - g.style("pointer-events", "none").selectAll(".resize").style("display", null); - d3.select("body").style("cursor", eventTarget.style("cursor")); - event_({ - type: "brushstart" - }); - brushmove(); - function keydown() { - if (d3.event.keyCode == 32) { - if (!dragging) { - center = null; - origin[0] -= xExtent[1]; - origin[1] -= yExtent[1]; - dragging = 2; - } - d3_eventPreventDefault(); - } - } - function keyup() { - if (d3.event.keyCode == 32 && dragging == 2) { - origin[0] += xExtent[1]; - origin[1] += yExtent[1]; - dragging = 0; - d3_eventPreventDefault(); - } - } - function brushmove() { - var point = d3.mouse(target), moved = false; - if (offset) { - point[0] += offset[0]; - point[1] += offset[1]; - } - if (!dragging) { - if (d3.event.altKey) { - if (!center) center = [ (xExtent[0] + xExtent[1]) / 2, (yExtent[0] + yExtent[1]) / 2 ]; - origin[0] = xExtent[+(point[0] < center[0])]; - origin[1] = yExtent[+(point[1] < center[1])]; - } else center = null; - } - if (resizingX && move1(point, x, 0)) { - redrawX(g); - moved = true; - } - if (resizingY && move1(point, y, 1)) { - redrawY(g); - moved = true; - } - if (moved) { - redraw(g); - event_({ - type: "brush", - mode: dragging ? "move" : "resize" - }); - } - } - function move1(point, scale, i) { - var range = d3_scaleRange(scale), r0 = range[0], r1 = range[1], position = origin[i], extent = i ? yExtent : xExtent, size = extent[1] - extent[0], min, max; - if (dragging) { - r0 -= position; - r1 -= size + position; - } - min = (i ? yClamp : xClamp) ? Math.max(r0, Math.min(r1, point[i])) : point[i]; - if (dragging) { - max = (min += position) + size; - } else { - if (center) position = Math.max(r0, Math.min(r1, 2 * center[i] - min)); - if (position < min) { - max = min; - min = position; - } else { - max = position; - } - } - if (extent[0] != min || extent[1] != max) { - if (i) yExtentDomain = null; else xExtentDomain = null; - extent[0] = min; - extent[1] = max; - return true; - } - } - function brushend() { - brushmove(); - g.style("pointer-events", "all").selectAll(".resize").style("display", brush.empty() ? "none" : null); - d3.select("body").style("cursor", null); - w.on("mousemove.brush", null).on("mouseup.brush", null).on("touchmove.brush", null).on("touchend.brush", null).on("keydown.brush", null).on("keyup.brush", null); - dragRestore(); - event_({ - type: "brushend" - }); - } - } - brush.x = function(z) { - if (!arguments.length) return x; - x = z; - resizes = d3_svg_brushResizes[!x << 1 | !y]; - return brush; - }; - brush.y = function(z) { - if (!arguments.length) return y; - y = z; - resizes = d3_svg_brushResizes[!x << 1 | !y]; - return brush; - }; - brush.clamp = function(z) { - if (!arguments.length) return x && y ? [ xClamp, yClamp ] : x ? xClamp : y ? yClamp : null; - if (x && y) xClamp = !!z[0], yClamp = !!z[1]; else if (x) xClamp = !!z; else if (y) yClamp = !!z; - return brush; - }; - brush.extent = function(z) { - var x0, x1, y0, y1, t; - if (!arguments.length) { - if (x) { - if (xExtentDomain) { - x0 = xExtentDomain[0], x1 = xExtentDomain[1]; - } else { - x0 = xExtent[0], x1 = xExtent[1]; - if (x.invert) x0 = x.invert(x0), x1 = x.invert(x1); - if (x1 < x0) t = x0, x0 = x1, x1 = t; - } - } - if (y) { - if (yExtentDomain) { - y0 = yExtentDomain[0], y1 = yExtentDomain[1]; - } else { - y0 = yExtent[0], y1 = yExtent[1]; - if (y.invert) y0 = y.invert(y0), y1 = y.invert(y1); - if (y1 < y0) t = y0, y0 = y1, y1 = t; - } - } - return x && y ? [ [ x0, y0 ], [ x1, y1 ] ] : x ? [ x0, x1 ] : y && [ y0, y1 ]; - } - if (x) { - x0 = z[0], x1 = z[1]; - if (y) x0 = x0[0], x1 = x1[0]; - xExtentDomain = [ x0, x1 ]; - if (x.invert) x0 = x(x0), x1 = x(x1); - if (x1 < x0) t = x0, x0 = x1, x1 = t; - if (x0 != xExtent[0] || x1 != xExtent[1]) xExtent = [ x0, x1 ]; - } - if (y) { - y0 = z[0], y1 = z[1]; - if (x) y0 = y0[1], y1 = y1[1]; - yExtentDomain = [ y0, y1 ]; - if (y.invert) y0 = y(y0), y1 = y(y1); - if (y1 < y0) t = y0, y0 = y1, y1 = t; - if (y0 != yExtent[0] || y1 != yExtent[1]) yExtent = [ y0, y1 ]; - } - return brush; - }; - brush.clear = function() { - if (!brush.empty()) { - xExtent = [ 0, 0 ], yExtent = [ 0, 0 ]; - xExtentDomain = yExtentDomain = null; - } - return brush; - }; - brush.empty = function() { - return !!x && xExtent[0] == xExtent[1] || !!y && yExtent[0] == yExtent[1]; - }; - return d3.rebind(brush, event, "on"); - }; - var d3_svg_brushCursor = { - n: "ns-resize", - e: "ew-resize", - s: "ns-resize", - w: "ew-resize", - nw: "nwse-resize", - ne: "nesw-resize", - se: "nwse-resize", - sw: "nesw-resize" - }; - var d3_svg_brushResizes = [ [ "n", "e", "s", "w", "nw", "ne", "se", "sw" ], [ "e", "w" ], [ "n", "s" ], [] ]; - var d3_time_format = d3_time.format = d3_locale_enUS.timeFormat; - var d3_time_formatUtc = d3_time_format.utc; - var d3_time_formatIso = d3_time_formatUtc("%Y-%m-%dT%H:%M:%S.%LZ"); - d3_time_format.iso = Date.prototype.toISOString && +new Date("2000-01-01T00:00:00.000Z") ? d3_time_formatIsoNative : d3_time_formatIso; - function d3_time_formatIsoNative(date) { - return date.toISOString(); - } - d3_time_formatIsoNative.parse = function(string) { - var date = new Date(string); - return isNaN(date) ? null : date; - }; - d3_time_formatIsoNative.toString = d3_time_formatIso.toString; - d3_time.second = d3_time_interval(function(date) { - return new d3_date(Math.floor(date / 1e3) * 1e3); - }, function(date, offset) { - date.setTime(date.getTime() + Math.floor(offset) * 1e3); - }, function(date) { - return date.getSeconds(); - }); - d3_time.seconds = d3_time.second.range; - d3_time.seconds.utc = d3_time.second.utc.range; - d3_time.minute = d3_time_interval(function(date) { - return new d3_date(Math.floor(date / 6e4) * 6e4); - }, function(date, offset) { - date.setTime(date.getTime() + Math.floor(offset) * 6e4); - }, function(date) { - return date.getMinutes(); - }); - d3_time.minutes = d3_time.minute.range; - d3_time.minutes.utc = d3_time.minute.utc.range; - d3_time.hour = d3_time_interval(function(date) { - var timezone = date.getTimezoneOffset() / 60; - return new d3_date((Math.floor(date / 36e5 - timezone) + timezone) * 36e5); - }, function(date, offset) { - date.setTime(date.getTime() + Math.floor(offset) * 36e5); - }, function(date) { - return date.getHours(); - }); - d3_time.hours = d3_time.hour.range; - d3_time.hours.utc = d3_time.hour.utc.range; - d3_time.month = d3_time_interval(function(date) { - date = d3_time.day(date); - date.setDate(1); - return date; - }, function(date, offset) { - date.setMonth(date.getMonth() + offset); - }, function(date) { - return date.getMonth(); - }); - d3_time.months = d3_time.month.range; - d3_time.months.utc = d3_time.month.utc.range; - function d3_time_scale(linear, methods, format) { - function scale(x) { - return linear(x); - } - scale.invert = function(x) { - return d3_time_scaleDate(linear.invert(x)); - }; - scale.domain = function(x) { - if (!arguments.length) return linear.domain().map(d3_time_scaleDate); - linear.domain(x); - return scale; - }; - function tickMethod(extent, count) { - var span = extent[1] - extent[0], target = span / count, i = d3.bisect(d3_time_scaleSteps, target); - return i == d3_time_scaleSteps.length ? [ methods.year, d3_scale_linearTickRange(extent.map(function(d) { - return d / 31536e6; - }), count)[2] ] : !i ? [ d3_time_scaleMilliseconds, d3_scale_linearTickRange(extent, count)[2] ] : methods[target / d3_time_scaleSteps[i - 1] < d3_time_scaleSteps[i] / target ? i - 1 : i]; - } - scale.nice = function(interval, skip) { - var domain = scale.domain(), extent = d3_scaleExtent(domain), method = interval == null ? tickMethod(extent, 10) : typeof interval === "number" && tickMethod(extent, interval); - if (method) interval = method[0], skip = method[1]; - function skipped(date) { - return !isNaN(date) && !interval.range(date, d3_time_scaleDate(+date + 1), skip).length; - } - return scale.domain(d3_scale_nice(domain, skip > 1 ? { - floor: function(date) { - while (skipped(date = interval.floor(date))) date = d3_time_scaleDate(date - 1); - return date; - }, - ceil: function(date) { - while (skipped(date = interval.ceil(date))) date = d3_time_scaleDate(+date + 1); - return date; - } - } : interval)); - }; - scale.ticks = function(interval, skip) { - var extent = d3_scaleExtent(scale.domain()), method = interval == null ? tickMethod(extent, 10) : typeof interval === "number" ? tickMethod(extent, interval) : !interval.range && [ { - range: interval - }, skip ]; - if (method) interval = method[0], skip = method[1]; - return interval.range(extent[0], d3_time_scaleDate(+extent[1] + 1), skip < 1 ? 1 : skip); - }; - scale.tickFormat = function() { - return format; - }; - scale.copy = function() { - return d3_time_scale(linear.copy(), methods, format); - }; - return d3_scale_linearRebind(scale, linear); - } - function d3_time_scaleDate(t) { - return new Date(t); - } - var d3_time_scaleSteps = [ 1e3, 5e3, 15e3, 3e4, 6e4, 3e5, 9e5, 18e5, 36e5, 108e5, 216e5, 432e5, 864e5, 1728e5, 6048e5, 2592e6, 7776e6, 31536e6 ]; - var d3_time_scaleLocalMethods = [ [ d3_time.second, 1 ], [ d3_time.second, 5 ], [ d3_time.second, 15 ], [ d3_time.second, 30 ], [ d3_time.minute, 1 ], [ d3_time.minute, 5 ], [ d3_time.minute, 15 ], [ d3_time.minute, 30 ], [ d3_time.hour, 1 ], [ d3_time.hour, 3 ], [ d3_time.hour, 6 ], [ d3_time.hour, 12 ], [ d3_time.day, 1 ], [ d3_time.day, 2 ], [ d3_time.week, 1 ], [ d3_time.month, 1 ], [ d3_time.month, 3 ], [ d3_time.year, 1 ] ]; - var d3_time_scaleLocalFormat = d3_time_format.multi([ [ ".%L", function(d) { - return d.getMilliseconds(); - } ], [ ":%S", function(d) { - return d.getSeconds(); - } ], [ "%I:%M", function(d) { - return d.getMinutes(); - } ], [ "%I %p", function(d) { - return d.getHours(); - } ], [ "%a %d", function(d) { - return d.getDay() && d.getDate() != 1; - } ], [ "%b %d", function(d) { - return d.getDate() != 1; - } ], [ "%B", function(d) { - return d.getMonth(); - } ], [ "%Y", d3_true ] ]); - var d3_time_scaleMilliseconds = { - range: function(start, stop, step) { - return d3.range(Math.ceil(start / step) * step, +stop, step).map(d3_time_scaleDate); - }, - floor: d3_identity, - ceil: d3_identity - }; - d3_time_scaleLocalMethods.year = d3_time.year; - d3_time.scale = function() { - return d3_time_scale(d3.scale.linear(), d3_time_scaleLocalMethods, d3_time_scaleLocalFormat); - }; - var d3_time_scaleUtcMethods = d3_time_scaleLocalMethods.map(function(m) { - return [ m[0].utc, m[1] ]; - }); - var d3_time_scaleUtcFormat = d3_time_formatUtc.multi([ [ ".%L", function(d) { - return d.getUTCMilliseconds(); - } ], [ ":%S", function(d) { - return d.getUTCSeconds(); - } ], [ "%I:%M", function(d) { - return d.getUTCMinutes(); - } ], [ "%I %p", function(d) { - return d.getUTCHours(); - } ], [ "%a %d", function(d) { - return d.getUTCDay() && d.getUTCDate() != 1; - } ], [ "%b %d", function(d) { - return d.getUTCDate() != 1; - } ], [ "%B", function(d) { - return d.getUTCMonth(); - } ], [ "%Y", d3_true ] ]); - d3_time_scaleUtcMethods.year = d3_time.year.utc; - d3_time.scale.utc = function() { - return d3_time_scale(d3.scale.linear(), d3_time_scaleUtcMethods, d3_time_scaleUtcFormat); - }; - d3.text = d3_xhrType(function(request) { - return request.responseText; - }); - d3.json = function(url, callback) { - return d3_xhr(url, "application/json", d3_json, callback); - }; - function d3_json(request) { - return JSON.parse(request.responseText); - } - d3.html = function(url, callback) { - return d3_xhr(url, "text/html", d3_html, callback); - }; - function d3_html(request) { - var range = d3_document.createRange(); - range.selectNode(d3_document.body); - return range.createContextualFragment(request.responseText); - } - d3.xml = d3_xhrType(function(request) { - return request.responseXML; - }); - if (typeof define === "function" && define.amd) define(d3); else if (typeof module === "object" && module.exports) module.exports = d3; - this.d3 = d3; -}(); \ No newline at end of file diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.analytics-view/public/js/devicetype-graph.js b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.analytics-view/public/js/devicetype-graph.js deleted file mode 100644 index f6776ed7ef..0000000000 --- a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.analytics-view/public/js/devicetype-graph.js +++ /dev/null @@ -1,350 +0,0 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. 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. - */ - -var palette = new Rickshaw.Color.Palette({scheme: "classic9"}); - -function drawGraph_android_sense(from, to) { - retrieveDataAndDrawLineGraph("battery", from, to); - retrieveDataAndDrawLineGraph("light", from, to); - retrieveDataAndDrawLineGraph("pressure", from, to); - retrieveDataAndDrawLineGraph("proximity", from, to); - retrieveDataAndDrawMultiLineGraph("accelerometer", from, to); - retrieveDataAndDrawMultiLineGraph("magnetic", from, to); - retrieveDataAndDrawMultiLineGraph("rotation", from, to); - retrieveDataAndDrawMultiLineGraph("gyroscope", from, to); - retrieveDataAndDrawMultiLineGraph("gravity", from, to); -} - -function retrieveDataAndDrawLineGraph(sensorType, from, to) { - var backendApiUrl = $("#device-chart").data("backend-api-url") + sensorType + "?from=" + from + "&to=" + to; - var successCallback = function (data) { - if (data) { - drawLineGraph(JSON.parse(data), sensorType); - } - }; - invokerUtil.get(backendApiUrl, successCallback, function (message) { - console.log(message); - }); -} - -function retrieveDataAndDrawMultiLineGraph(sensorType, from, to) { - var backendApiUrl = $("#device-chart").data("backend-api-url") + sensorType + "?from=" + from + "&to=" + to; - var successCallback = function (data) { - if (data) { - drawMultiLineGraph(JSON.parse(data), sensorType); - } - }; - invokerUtil.get(backendApiUrl, successCallback, function (message) { - console.log(message); - }); -} - -function drawLineGraph(data, type) { - var chartWrapperElmId = "#device-chart"; - var graphWidth = $(chartWrapperElmId).width() - 50; - if (data.length == 0 || data.length == undefined) { - $("#chart-" + type).html("
No data available..."); - return; - } - $("#chart-" + type).empty(); - - var graphConfig = { - element: document.getElementById("chart-" + type), - width: graphWidth, - height: 400, - strokeWidth: 2, - renderer: 'line', - interpolation: "linear", - unstack: true, - stack: false, - xScale: d3.time.scale(), - padding: {top: 0.2, left: 0.02, right: 0.02, bottom: 0.2}, - series: [] - }; - - var tzOffset = new Date().getTimezoneOffset() * 60; - - var min = Number.MAX_VALUE; - var max = Number.MIN_VALUE; - var range_min = 99999, range_max = 0; - var max_val = parseInt(getData(data[0], type)); - var min_val = max_val; - var chartData = []; - for (var i = 0; i < data.length; i++) { - var y_val = parseInt(getData(data[i], type)); - if (y_val > max_val) { - max_val = y_val; - } else if (y_val < min_val) { - min_val = y_val; - } - chartData.push( - { - x: parseInt(data[i].values.time) - tzOffset, - y: y_val - } - ); - } - if (range_max < max_val) { - range_max = max_val; - } - if (range_min > min_val) { - range_min = min_val; - } - graphConfig['series'].push( - { - 'color': palette.color(), - 'data': chartData, - 'name': type, - 'scale': d3.scale.linear().domain([Math.min(min, min_val), Math.max(max, max_val)]) - .nice() - } - ); - - var graph = new Rickshaw.Graph(graphConfig); - - graph.render(); - - var xAxis = new Rickshaw.Graph.Axis.Time({ - graph: graph - }); - - xAxis.render(); - - var yAxis = new Rickshaw.Graph.Axis.Y.Scaled({ - graph: graph, - orientation: 'left', - element: document.getElementById("y_axis-" + type), - width: 40, - height: 410, - 'scale': d3.scale.linear().domain([Math.min(min, range_min), Math.max(max, range_max)]).nice() - }); - - yAxis.render(); - - var slider = new Rickshaw.Graph.RangeSlider.Preview({ - graph: graph, - element: document.getElementById("slider-" + type) - }); - - var legend = new Rickshaw.Graph.Legend({ - graph: graph, - element: document.getElementById('legend-' + type) - }); - - var hoverDetail = new Rickshaw.Graph.HoverDetail({ - graph: graph, - formatter: function (series, x, y) { - var date = '' + - moment((x + tzOffset) * 1000).format('Do MMM YYYY h:mm:ss a') + ''; - var swatch = ''; - return swatch + series.name + ": " + parseInt(y) + '
' + date; - } - }); - - var shelving = new Rickshaw.Graph.Behavior.Series.Toggle({ - graph: graph, - legend: legend - }); - - var order = new Rickshaw.Graph.Behavior.Series.Order({ - graph: graph, - legend: legend - }); - - var highlighter = new Rickshaw.Graph.Behavior.Series.Highlight({ - graph: graph, - legend: legend - }); -} - - -function drawMultiLineGraph(data, type) { - var chartWrapperElmId = "#device-chart"; - var graphWidth = $(chartWrapperElmId).width() - 50; - if (data.length == 0 || data.length == undefined) { - $("#chart-" + type).html("
No data available..."); - return; - } - $("#chart-" + type).empty(); - - var graphConfig = { - element: document.getElementById("chart-" + type), - width: graphWidth, - height: 400, - strokeWidth: 2, - renderer: 'line', - interpolation: "linear", - unstack: true, - stack: false, - xScale: d3.time.scale(), - padding: {top: 0.2, left: 0.02, right: 0.02, bottom: 0.2}, - series: [] - }; - - var tzOffset = new Date().getTimezoneOffset() * 60; - - var min = Number.MAX_VALUE; - var max = Number.MIN_VALUE; - var range_min = 99999, range_max = 0; - var max_valX = parseInt(data[0].values.x); - var min_valX = max_valX; - - var max_valY = parseInt(data[0].values.x); - var min_valY = max_valY; - - var max_valZ = parseInt(data[0].values.x); - var min_valZ = max_valZ; - var chartDataX = []; - var chartDataY = []; - var chartDataZ = []; - for (var i = 0; i < data.length; i++) { - var y_valX = parseInt(data[i].values.x); - if (y_valX > max_valX) { - max_valX = y_valX; - } else if (y_valX < min_valX) { - min_valX = y_valX; - } - - var y_valY = parseInt(data[i].values.y); - if (y_valY > max_valY) { - max_valY = y_valY; - } else if (y_valY < min_valY) { - min_valY = y_valY; - } - - var y_valZ = parseInt(data[i].values.z); - if (y_valZ > max_valZ) { - max_valZ = y_valZ; - } else if (y_valZ < min_valZ) { - min_valZ = y_valZ; - } - - chartDataX.push( - { - x: parseInt(data[i].values.time) - tzOffset, - y: parseInt(data[i].values.y) - }); - - chartDataY.push( - { - x: parseInt(data[i].values.time) - tzOffset, - y: parseInt(data[i].values.x) - }); - - chartDataZ.push( - { - x: parseInt(data[i].values.time) - tzOffset, - y: parseInt(data[i].values.z) - }); - } - graphConfig['series'].push( - { - 'color': palette.color(), - 'data': chartDataX, - 'name': "x", - 'scale': d3.scale.linear().domain([Math.min(min, min_valX), Math.max(max, max_valX)]).nice() - }, - { - 'color': palette.color(), - 'data': chartDataY, - 'name': "y", - 'scale': d3.scale.linear().domain([Math.min(min, min_valY), Math.max(max, max_valY)]).nice() - }, - { - 'color': palette.color(), - 'data': chartDataZ, - 'name': "z", - 'scale': d3.scale.linear().domain([Math.min(min, min_valZ), Math.max(max, max_valZ)]).nice() - } - ); - - var graph = new Rickshaw.Graph(graphConfig); - - graph.render(); - - var xAxis = new Rickshaw.Graph.Axis.Time({ - graph: graph - }); - - xAxis.render(); - - var yAxis = new Rickshaw.Graph.Axis.Y({ - graph: graph, - element: document.getElementById("y_axis-" + type) - }); - - yAxis.render(); - - var slider = new Rickshaw.Graph.RangeSlider.Preview({ - graph: graph, - element: document.getElementById("slider-" + type) - }); - - var legend = new Rickshaw.Graph.Legend({ - graph: graph, - element: document.getElementById('legend-' + type) - }); - - var hoverDetail = new Rickshaw.Graph.HoverDetail({ - graph: graph, - formatter: function (series, x, y) { - var date = '' + - moment((x + tzOffset) * 1000).format('Do MMM YYYY h:mm:ss a') + ''; - var swatch = ''; - return swatch + series.name + ": " + parseInt(y) + '
' + date; - } - }); - - var shelving = new Rickshaw.Graph.Behavior.Series.Toggle({ - graph: graph, - legend: legend - }); - - var order = new Rickshaw.Graph.Behavior.Series.Order({ - graph: graph, - legend: legend - }); - - var highlighter = new Rickshaw.Graph.Behavior.Series.Highlight({ - graph: graph, - legend: legend - }); -} - - -function getData(data, type) { - var columnData - switch (type) { - case "battery" : - columnData = data.values.level - break; - case "light" : - columnData = data.values.light - break; - case "proximity" : - columnData = data.values.proximity - break; - case "pressure" : - columnData = data.values.pressure - break; - } - - return columnData; -} \ No newline at end of file diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.analytics-view/public/js/moment.min.js b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.analytics-view/public/js/moment.min.js deleted file mode 100644 index 78e5aaadc7..0000000000 --- a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.analytics-view/public/js/moment.min.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. 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. - */ - -//! moment.js -//! version : 2.10.2 -//! authors : Tim Wood, Iskren Chernev, Moment.js contributors -//! license : MIT -//! momentjs.com -!function(a,b){"object"==typeof exports&&"undefined"!=typeof module?module.exports=b():"function"==typeof define&&define.amd?define(b):a.moment=b()}(this,function(){"use strict";function a(){return Ac.apply(null,arguments)}function b(a){Ac=a}function c(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1}}function d(a){return"[object Array]"===Object.prototype.toString.call(a)}function e(a){return"[object Date]"===Object.prototype.toString.call(a)||a instanceof Date}function f(a,b){var c,d=[];for(c=0;c0)for(c in Cc)d=Cc[c],e=b[d],"undefined"!=typeof e&&(a[d]=e);return a}function m(b){l(this,b),this._d=new Date(+b._d),Dc===!1&&(Dc=!0,a.updateOffset(this),Dc=!1)}function n(a){return a instanceof m||null!=a&&g(a,"_isAMomentObject")}function o(a){var b=+a,c=0;return 0!==b&&isFinite(b)&&(c=b>=0?Math.floor(b):Math.ceil(b)),c}function p(a,b,c){var d,e=Math.min(a.length,b.length),f=Math.abs(a.length-b.length),g=0;for(d=0;e>d;d++)(c&&a[d]!==b[d]||!c&&o(a[d])!==o(b[d]))&&g++;return g+f}function q(){}function r(a){return a?a.toLowerCase().replace("_","-"):a}function s(a){for(var b,c,d,e,f=0;f0;){if(d=t(e.slice(0,b).join("-")))return d;if(c&&c.length>=b&&p(e,c,!0)>=b-1)break;b--}f++}return null}function t(a){var b=null;if(!Ec[a]&&"undefined"!=typeof module&&module&&module.exports)try{b=Bc._abbr,require("./locale/"+a),u(b)}catch(c){}return Ec[a]}function u(a,b){var c;return a&&(c="undefined"==typeof b?w(a):v(a,b),c&&(Bc=c)),Bc._abbr}function v(a,b){return null!==b?(b.abbr=a,Ec[a]||(Ec[a]=new q),Ec[a].set(b),u(a),Ec[a]):(delete Ec[a],null)}function w(a){var b;if(a&&a._locale&&a._locale._abbr&&(a=a._locale._abbr),!a)return Bc;if(!d(a)){if(b=t(a))return b;a=[a]}return s(a)}function x(a,b){var c=a.toLowerCase();Fc[c]=Fc[c+"s"]=Fc[b]=a}function y(a){return"string"==typeof a?Fc[a]||Fc[a.toLowerCase()]:void 0}function z(a){var b,c,d={};for(c in a)g(a,c)&&(b=y(c),b&&(d[b]=a[c]));return d}function A(b,c){return function(d){return null!=d?(C(this,b,d),a.updateOffset(this,c),this):B(this,b)}}function B(a,b){return a._d["get"+(a._isUTC?"UTC":"")+b]()}function C(a,b,c){return a._d["set"+(a._isUTC?"UTC":"")+b](c)}function D(a,b){var c;if("object"==typeof a)for(c in a)this.set(c,a[c]);else if(a=y(a),"function"==typeof this[a])return this[a](b);return this}function E(a,b,c){for(var d=""+Math.abs(a),e=a>=0;d.lengthb;b++)d[b]=Jc[d[b]]?Jc[d[b]]:G(d[b]);return function(e){var f="";for(b=0;c>b;b++)f+=d[b]instanceof Function?d[b].call(e,a):d[b];return f}}function I(a,b){return a.isValid()?(b=J(b,a.localeData()),Ic[b]||(Ic[b]=H(b)),Ic[b](a)):a.localeData().invalidDate()}function J(a,b){function c(a){return b.longDateFormat(a)||a}var d=5;for(Hc.lastIndex=0;d>=0&&Hc.test(a);)a=a.replace(Hc,c),Hc.lastIndex=0,d-=1;return a}function K(a,b,c){Yc[a]="function"==typeof b?b:function(a){return a&&c?c:b}}function L(a,b){return g(Yc,a)?Yc[a](b._strict,b._locale):new RegExp(M(a))}function M(a){return a.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(a,b,c,d,e){return b||c||d||e}).replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function N(a,b){var c,d=b;for("string"==typeof a&&(a=[a]),"number"==typeof b&&(d=function(a,c){c[b]=o(a)}),c=0;cd;d++){if(e=i([2e3,d]),c&&!this._longMonthsParse[d]&&(this._longMonthsParse[d]=new RegExp("^"+this.months(e,"").replace(".","")+"$","i"),this._shortMonthsParse[d]=new RegExp("^"+this.monthsShort(e,"").replace(".","")+"$","i")),c||this._monthsParse[d]||(f="^"+this.months(e,"")+"|^"+this.monthsShort(e,""),this._monthsParse[d]=new RegExp(f.replace(".",""),"i")),c&&"MMMM"===b&&this._longMonthsParse[d].test(a))return d;if(c&&"MMM"===b&&this._shortMonthsParse[d].test(a))return d;if(!c&&this._monthsParse[d].test(a))return d}}function U(a,b){var c;return"string"==typeof b&&(b=a.localeData().monthsParse(b),"number"!=typeof b)?a:(c=Math.min(a.date(),Q(a.year(),b)),a._d["set"+(a._isUTC?"UTC":"")+"Month"](b,c),a)}function V(b){return null!=b?(U(this,b),a.updateOffset(this,!0),this):B(this,"Month")}function W(){return Q(this.year(),this.month())}function X(a){var b,c=a._a;return c&&-2===a._pf.overflow&&(b=c[_c]<0||c[_c]>11?_c:c[ad]<1||c[ad]>Q(c[$c],c[_c])?ad:c[bd]<0||c[bd]>24||24===c[bd]&&(0!==c[cd]||0!==c[dd]||0!==c[ed])?bd:c[cd]<0||c[cd]>59?cd:c[dd]<0||c[dd]>59?dd:c[ed]<0||c[ed]>999?ed:-1,a._pf._overflowDayOfYear&&($c>b||b>ad)&&(b=ad),a._pf.overflow=b),a}function Y(b){a.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+b)}function Z(a,b){var c=!0;return h(function(){return c&&(Y(a),c=!1),b.apply(this,arguments)},b)}function $(a,b){hd[a]||(Y(b),hd[a]=!0)}function _(a){var b,c,d=a._i,e=id.exec(d);if(e){for(a._pf.iso=!0,b=0,c=jd.length;c>b;b++)if(jd[b][1].exec(d)){a._f=jd[b][0]+(e[6]||" ");break}for(b=0,c=kd.length;c>b;b++)if(kd[b][1].exec(d)){a._f+=kd[b][0];break}d.match(Vc)&&(a._f+="Z"),sa(a)}else a._isValid=!1}function aa(b){var c=ld.exec(b._i);return null!==c?void(b._d=new Date(+c[1])):(_(b),void(b._isValid===!1&&(delete b._isValid,a.createFromInputFallback(b))))}function ba(a,b,c,d,e,f,g){var h=new Date(a,b,c,d,e,f,g);return 1970>a&&h.setFullYear(a),h}function ca(a){var b=new Date(Date.UTC.apply(null,arguments));return 1970>a&&b.setUTCFullYear(a),b}function da(a){return ea(a)?366:365}function ea(a){return a%4===0&&a%100!==0||a%400===0}function fa(){return ea(this.year())}function ga(a,b,c){var d,e=c-b,f=c-a.day();return f>e&&(f-=7),e-7>f&&(f+=7),d=za(a).add(f,"d"),{week:Math.ceil(d.dayOfYear()/7),year:d.year()}}function ha(a){return ga(a,this._week.dow,this._week.doy).week}function ia(){return this._week.dow}function ja(){return this._week.doy}function ka(a){var b=this.localeData().week(this);return null==a?b:this.add(7*(a-b),"d")}function la(a){var b=ga(this,1,4).week;return null==a?b:this.add(7*(a-b),"d")}function ma(a,b,c,d,e){var f,g,h=ca(a,0,1).getUTCDay();return h=0===h?7:h,c=null!=c?c:e,f=e-h+(h>d?7:0)-(e>h?7:0),g=7*(b-1)+(c-e)+f+1,{year:g>0?a:a-1,dayOfYear:g>0?g:da(a-1)+g}}function na(a){var b=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==a?b:this.add(a-b,"d")}function oa(a,b,c){return null!=a?a:null!=b?b:c}function pa(a){var b=new Date;return a._useUTC?[b.getUTCFullYear(),b.getUTCMonth(),b.getUTCDate()]:[b.getFullYear(),b.getMonth(),b.getDate()]}function qa(a){var b,c,d,e,f=[];if(!a._d){for(d=pa(a),a._w&&null==a._a[ad]&&null==a._a[_c]&&ra(a),a._dayOfYear&&(e=oa(a._a[$c],d[$c]),a._dayOfYear>da(e)&&(a._pf._overflowDayOfYear=!0),c=ca(e,0,a._dayOfYear),a._a[_c]=c.getUTCMonth(),a._a[ad]=c.getUTCDate()),b=0;3>b&&null==a._a[b];++b)a._a[b]=f[b]=d[b];for(;7>b;b++)a._a[b]=f[b]=null==a._a[b]?2===b?1:0:a._a[b];24===a._a[bd]&&0===a._a[cd]&&0===a._a[dd]&&0===a._a[ed]&&(a._nextDay=!0,a._a[bd]=0),a._d=(a._useUTC?ca:ba).apply(null,f),null!=a._tzm&&a._d.setUTCMinutes(a._d.getUTCMinutes()-a._tzm),a._nextDay&&(a._a[bd]=24)}}function ra(a){var b,c,d,e,f,g,h;b=a._w,null!=b.GG||null!=b.W||null!=b.E?(f=1,g=4,c=oa(b.GG,a._a[$c],ga(za(),1,4).year),d=oa(b.W,1),e=oa(b.E,1)):(f=a._locale._week.dow,g=a._locale._week.doy,c=oa(b.gg,a._a[$c],ga(za(),f,g).year),d=oa(b.w,1),null!=b.d?(e=b.d,f>e&&++d):e=null!=b.e?b.e+f:f),h=ma(c,d,e,g,f),a._a[$c]=h.year,a._dayOfYear=h.dayOfYear}function sa(b){if(b._f===a.ISO_8601)return void _(b);b._a=[],b._pf.empty=!0;var c,d,e,f,g,h=""+b._i,i=h.length,j=0;for(e=J(b._f,b._locale).match(Gc)||[],c=0;c0&&b._pf.unusedInput.push(g),h=h.slice(h.indexOf(d)+d.length),j+=d.length),Jc[f]?(d?b._pf.empty=!1:b._pf.unusedTokens.push(f),P(f,d,b)):b._strict&&!d&&b._pf.unusedTokens.push(f);b._pf.charsLeftOver=i-j,h.length>0&&b._pf.unusedInput.push(h),b._pf.bigHour===!0&&b._a[bd]<=12&&(b._pf.bigHour=void 0),b._a[bd]=ta(b._locale,b._a[bd],b._meridiem),qa(b),X(b)}function ta(a,b,c){var d;return null==c?b:null!=a.meridiemHour?a.meridiemHour(b,c):null!=a.isPM?(d=a.isPM(c),d&&12>b&&(b+=12),d||12!==b||(b=0),b):b}function ua(a){var b,d,e,f,g;if(0===a._f.length)return a._pf.invalidFormat=!0,void(a._d=new Date(0/0));for(f=0;fg)&&(e=g,d=b));h(a,d||b)}function va(a){if(!a._d){var b=z(a._i);a._a=[b.year,b.month,b.day||b.date,b.hour,b.minute,b.second,b.millisecond],qa(a)}}function wa(a){var b,c=a._i,e=a._f;return a._locale=a._locale||w(a._l),null===c||void 0===e&&""===c?k({nullInput:!0}):("string"==typeof c&&(a._i=c=a._locale.preparse(c)),n(c)?new m(X(c)):(d(e)?ua(a):e?sa(a):xa(a),b=new m(X(a)),b._nextDay&&(b.add(1,"d"),b._nextDay=void 0),b))}function xa(b){var c=b._i;void 0===c?b._d=new Date:e(c)?b._d=new Date(+c):"string"==typeof c?aa(b):d(c)?(b._a=f(c.slice(0),function(a){return parseInt(a,10)}),qa(b)):"object"==typeof c?va(b):"number"==typeof c?b._d=new Date(c):a.createFromInputFallback(b)}function ya(a,b,d,e,f){var g={};return"boolean"==typeof d&&(e=d,d=void 0),g._isAMomentObject=!0,g._useUTC=g._isUTC=f,g._l=d,g._i=a,g._f=b,g._strict=e,g._pf=c(),wa(g)}function za(a,b,c,d){return ya(a,b,c,d,!1)}function Aa(a,b){var c,e;if(1===b.length&&d(b[0])&&(b=b[0]),!b.length)return za();for(c=b[0],e=1;ea&&(a=-a,c="-"),c+E(~~(a/60),2)+b+E(~~a%60,2)})}function Ga(a){var b=(a||"").match(Vc)||[],c=b[b.length-1]||[],d=(c+"").match(qd)||["-",0,0],e=+(60*d[1])+o(d[2]);return"+"===d[0]?e:-e}function Ha(b,c){var d,f;return c._isUTC?(d=c.clone(),f=(n(b)||e(b)?+b:+za(b))-+d,d._d.setTime(+d._d+f),a.updateOffset(d,!1),d):za(b).local();return c._isUTC?za(b).zone(c._offset||0):za(b).local()}function Ia(a){return 15*-Math.round(a._d.getTimezoneOffset()/15)}function Ja(b,c){var d,e=this._offset||0;return null!=b?("string"==typeof b&&(b=Ga(b)),Math.abs(b)<16&&(b=60*b),!this._isUTC&&c&&(d=Ia(this)),this._offset=b,this._isUTC=!0,null!=d&&this.add(d,"m"),e!==b&&(!c||this._changeInProgress?Za(this,Ua(b-e,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,a.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?e:Ia(this)}function Ka(a,b){return null!=a?("string"!=typeof a&&(a=-a),this.utcOffset(a,b),this):-this.utcOffset()}function La(a){return this.utcOffset(0,a)}function Ma(a){return this._isUTC&&(this.utcOffset(0,a),this._isUTC=!1,a&&this.subtract(Ia(this),"m")),this}function Na(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(Ga(this._i)),this}function Oa(a){return a=a?za(a).utcOffset():0,(this.utcOffset()-a)%60===0}function Pa(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Qa(){if(this._a){var a=this._isUTC?i(this._a):za(this._a);return this.isValid()&&p(this._a,a.toArray())>0}return!1}function Ra(){return!this._isUTC}function Sa(){return this._isUTC}function Ta(){return this._isUTC&&0===this._offset}function Ua(a,b){var c,d,e,f=a,h=null;return Ea(a)?f={ms:a._milliseconds,d:a._days,M:a._months}:"number"==typeof a?(f={},b?f[b]=a:f.milliseconds=a):(h=rd.exec(a))?(c="-"===h[1]?-1:1,f={y:0,d:o(h[ad])*c,h:o(h[bd])*c,m:o(h[cd])*c,s:o(h[dd])*c,ms:o(h[ed])*c}):(h=sd.exec(a))?(c="-"===h[1]?-1:1,f={y:Va(h[2],c),M:Va(h[3],c),d:Va(h[4],c),h:Va(h[5],c),m:Va(h[6],c),s:Va(h[7],c),w:Va(h[8],c)}):null==f?f={}:"object"==typeof f&&("from"in f||"to"in f)&&(e=Xa(za(f.from),za(f.to)),f={},f.ms=e.milliseconds,f.M=e.months),d=new Da(f),Ea(a)&&g(a,"_locale")&&(d._locale=a._locale),d}function Va(a,b){var c=a&&parseFloat(a.replace(",","."));return(isNaN(c)?0:c)*b}function Wa(a,b){var c={milliseconds:0,months:0};return c.months=b.month()-a.month()+12*(b.year()-a.year()),a.clone().add(c.months,"M").isAfter(b)&&--c.months,c.milliseconds=+b-+a.clone().add(c.months,"M"),c}function Xa(a,b){var c;return b=Ha(b,a),a.isBefore(b)?c=Wa(a,b):(c=Wa(b,a),c.milliseconds=-c.milliseconds,c.months=-c.months),c}function Ya(a,b){return function(c,d){var e,f;return null===d||isNaN(+d)||($(b,"moment()."+b+"(period, number) is deprecated. Please use moment()."+b+"(number, period)."),f=c,c=d,d=f),c="string"==typeof c?+c:c,e=Ua(c,d),Za(this,e,a),this}}function Za(b,c,d,e){var f=c._milliseconds,g=c._days,h=c._months;e=null==e?!0:e,f&&b._d.setTime(+b._d+f*d),g&&C(b,"Date",B(b,"Date")+g*d),h&&U(b,B(b,"Month")+h*d),e&&a.updateOffset(b,g||h)}function $a(a){var b=a||za(),c=Ha(b,this).startOf("day"),d=this.diff(c,"days",!0),e=-6>d?"sameElse":-1>d?"lastWeek":0>d?"lastDay":1>d?"sameDay":2>d?"nextDay":7>d?"nextWeek":"sameElse";return this.format(this.localeData().calendar(e,this,za(b)))}function _a(){return new m(this)}function ab(a,b){var c;return b=y("undefined"!=typeof b?b:"millisecond"),"millisecond"===b?(a=n(a)?a:za(a),+this>+a):(c=n(a)?+a:+za(a),c<+this.clone().startOf(b))}function bb(a,b){var c;return b=y("undefined"!=typeof b?b:"millisecond"),"millisecond"===b?(a=n(a)?a:za(a),+a>+this):(c=n(a)?+a:+za(a),+this.clone().endOf(b)a?Math.ceil(a):Math.floor(a)}function fb(a,b,c){var d,e,f=Ha(a,this),g=6e4*(f.utcOffset()-this.utcOffset());return b=y(b),"year"===b||"month"===b||"quarter"===b?(e=gb(this,f),"quarter"===b?e/=3:"year"===b&&(e/=12)):(d=this-f,e="second"===b?d/1e3:"minute"===b?d/6e4:"hour"===b?d/36e5:"day"===b?(d-g)/864e5:"week"===b?(d-g)/6048e5:d),c?e:eb(e)}function gb(a,b){var c,d,e=12*(b.year()-a.year())+(b.month()-a.month()),f=a.clone().add(e,"months");return 0>b-f?(c=a.clone().add(e-1,"months"),d=(b-f)/(f-c)):(c=a.clone().add(e+1,"months"),d=(b-f)/(c-f)),-(e+d)}function hb(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function ib(){var a=this.clone().utc();return 0b;b++)if(this._weekdaysParse[b]||(c=za([2e3,1]).day(b),d="^"+this.weekdays(c,"")+"|^"+this.weekdaysShort(c,"")+"|^"+this.weekdaysMin(c,""),this._weekdaysParse[b]=new RegExp(d.replace(".",""),"i")),this._weekdaysParse[b].test(a))return b}function Jb(a){var b=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=a?(a=Eb(a,this.localeData()),this.add(a-b,"d")):b}function Kb(a){var b=(this.day()+7-this.localeData()._week.dow)%7;return null==a?b:this.add(a-b,"d")}function Lb(a){return null==a?this.day()||7:this.day(this.day()%7?a:a-7)}function Mb(a,b){F(a,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),b)})}function Nb(a,b){return b._meridiemParse}function Ob(a){return"p"===(a+"").toLowerCase().charAt(0)}function Pb(a,b,c){return a>11?c?"pm":"PM":c?"am":"AM"}function Qb(a){F(0,[a,3],0,"millisecond")}function Rb(){return this._isUTC?"UTC":""}function Sb(){return this._isUTC?"Coordinated Universal Time":""}function Tb(a){return za(1e3*a)}function Ub(){return za.apply(null,arguments).parseZone()}function Vb(a,b,c){var d=this._calendar[a];return"function"==typeof d?d.call(b,c):d}function Wb(a){var b=this._longDateFormat[a];return!b&&this._longDateFormat[a.toUpperCase()]&&(b=this._longDateFormat[a.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(a){return a.slice(1)}),this._longDateFormat[a]=b),b}function Xb(){return this._invalidDate}function Yb(a){return this._ordinal.replace("%d",a)}function Zb(a){return a}function $b(a,b,c,d){var e=this._relativeTime[c];return"function"==typeof e?e(a,b,c,d):e.replace(/%d/i,a)}function _b(a,b){var c=this._relativeTime[a>0?"future":"past"];return"function"==typeof c?c(b):c.replace(/%s/i,b)}function ac(a){var b,c;for(c in a)b=a[c],"function"==typeof b?this[c]=b:this["_"+c]=b;this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function bc(a,b,c,d){var e=w(),f=i().set(d,b);return e[c](f,a)}function cc(a,b,c,d,e){if("number"==typeof a&&(b=a,a=void 0),a=a||"",null!=b)return bc(a,b,c,e);var f,g=[];for(f=0;d>f;f++)g[f]=bc(a,f,c,e);return g}function dc(a,b){return cc(a,b,"months",12,"month")}function ec(a,b){return cc(a,b,"monthsShort",12,"month")}function fc(a,b){return cc(a,b,"weekdays",7,"day")}function gc(a,b){return cc(a,b,"weekdaysShort",7,"day")}function hc(a,b){return cc(a,b,"weekdaysMin",7,"day")}function ic(){var a=this._data;return this._milliseconds=Od(this._milliseconds),this._days=Od(this._days),this._months=Od(this._months),a.milliseconds=Od(a.milliseconds),a.seconds=Od(a.seconds),a.minutes=Od(a.minutes),a.hours=Od(a.hours),a.months=Od(a.months),a.years=Od(a.years),this}function jc(a,b,c,d){var e=Ua(b,c);return a._milliseconds+=d*e._milliseconds,a._days+=d*e._days,a._months+=d*e._months,a._bubble()}function kc(a,b){return jc(this,a,b,1)}function lc(a,b){return jc(this,a,b,-1)}function mc(){var a,b,c,d=this._milliseconds,e=this._days,f=this._months,g=this._data,h=0;return g.milliseconds=d%1e3,a=eb(d/1e3),g.seconds=a%60,b=eb(a/60),g.minutes=b%60,c=eb(b/60),g.hours=c%24,e+=eb(c/24),h=eb(nc(e)),e-=eb(oc(h)),f+=eb(e/30),e%=30,h+=eb(f/12),f%=12,g.days=e,g.months=f,g.years=h,this}function nc(a){return 400*a/146097}function oc(a){return 146097*a/400}function pc(a){var b,c,d=this._milliseconds;if(a=y(a),"month"===a||"year"===a)return b=this._days+d/864e5,c=this._months+12*nc(b),"month"===a?c:c/12;switch(b=this._days+Math.round(oc(this._months/12)),a){case"week":return b/7+d/6048e5;case"day":return b+d/864e5;case"hour":return 24*b+d/36e5;case"minute":return 24*b*60+d/6e4;case"second":return 24*b*60*60+d/1e3;case"millisecond":return Math.floor(24*b*60*60*1e3)+d;default:throw new Error("Unknown unit "+a)}}function qc(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*o(this._months/12)}function rc(a){return function(){return this.as(a)}}function sc(a){return a=y(a),this[a+"s"]()}function tc(a){return function(){return this._data[a]}}function uc(){return eb(this.days()/7)}function vc(a,b,c,d,e){return e.relativeTime(b||1,!!c,a,d)}function wc(a,b,c){var d=Ua(a).abs(),e=ce(d.as("s")),f=ce(d.as("m")),g=ce(d.as("h")),h=ce(d.as("d")),i=ce(d.as("M")),j=ce(d.as("y")),k=e0,k[4]=c,vc.apply(null,k)}function xc(a,b){return void 0===de[a]?!1:void 0===b?de[a]:(de[a]=b,!0)}function yc(a){var b=this.localeData(),c=wc(this,!a,b);return a&&(c=b.pastFuture(+this,c)),b.postformat(c)}function zc(){var a=ee(this.years()),b=ee(this.months()),c=ee(this.days()),d=ee(this.hours()),e=ee(this.minutes()),f=ee(this.seconds()+this.milliseconds()/1e3),g=this.asSeconds();return g?(0>g?"-":"")+"P"+(a?a+"Y":"")+(b?b+"M":"")+(c?c+"D":"")+(d||e||f?"T":"")+(d?d+"H":"")+(e?e+"M":"")+(f?f+"S":""):"P0D"}var Ac,Bc,Cc=a.momentProperties=[],Dc=!1,Ec={},Fc={},Gc=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|x|X|zz?|ZZ?|.)/g,Hc=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Ic={},Jc={},Kc=/\d/,Lc=/\d\d/,Mc=/\d{3}/,Nc=/\d{4}/,Oc=/[+-]?\d{6}/,Pc=/\d\d?/,Qc=/\d{1,3}/,Rc=/\d{1,4}/,Sc=/[+-]?\d{1,6}/,Tc=/\d+/,Uc=/[+-]?\d+/,Vc=/Z|[+-]\d\d:?\d\d/gi,Wc=/[+-]?\d+(\.\d{1,3})?/,Xc=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,Yc={},Zc={},$c=0,_c=1,ad=2,bd=3,cd=4,dd=5,ed=6;F("M",["MM",2],"Mo",function(){return this.month()+1}),F("MMM",0,0,function(a){return this.localeData().monthsShort(this,a)}),F("MMMM",0,0,function(a){return this.localeData().months(this,a)}),x("month","M"),K("M",Pc),K("MM",Pc,Lc),K("MMM",Xc),K("MMMM",Xc),N(["M","MM"],function(a,b){b[_c]=o(a)-1}),N(["MMM","MMMM"],function(a,b,c,d){var e=c._locale.monthsParse(a,d,c._strict);null!=e?b[_c]=e:c._pf.invalidMonth=a});var fd="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),gd="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),hd={};a.suppressDeprecationWarnings=!1;var id=/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,jd=[["YYYYYY-MM-DD",/[+-]\d{6}-\d{2}-\d{2}/],["YYYY-MM-DD",/\d{4}-\d{2}-\d{2}/],["GGGG-[W]WW-E",/\d{4}-W\d{2}-\d/],["GGGG-[W]WW",/\d{4}-W\d{2}/],["YYYY-DDD",/\d{4}-\d{3}/]],kd=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],ld=/^\/?Date\((\-?\d+)/i;a.createFromInputFallback=Z("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(a){a._d=new Date(a._i+(a._useUTC?" UTC":""))}),F(0,["YY",2],0,function(){return this.year()%100}),F(0,["YYYY",4],0,"year"),F(0,["YYYYY",5],0,"year"),F(0,["YYYYYY",6,!0],0,"year"),x("year","y"),K("Y",Uc),K("YY",Pc,Lc),K("YYYY",Rc,Nc),K("YYYYY",Sc,Oc),K("YYYYYY",Sc,Oc),N(["YYYY","YYYYY","YYYYYY"],$c),N("YY",function(b,c){c[$c]=a.parseTwoDigitYear(b)}),a.parseTwoDigitYear=function(a){return o(a)+(o(a)>68?1900:2e3)};var md=A("FullYear",!1);F("w",["ww",2],"wo","week"),F("W",["WW",2],"Wo","isoWeek"),x("week","w"),x("isoWeek","W"),K("w",Pc),K("ww",Pc,Lc),K("W",Pc),K("WW",Pc,Lc),O(["w","ww","W","WW"],function(a,b,c,d){b[d.substr(0,1)]=o(a)});var nd={dow:0,doy:6};F("DDD",["DDDD",3],"DDDo","dayOfYear"),x("dayOfYear","DDD"),K("DDD",Qc),K("DDDD",Mc),N(["DDD","DDDD"],function(a,b,c){c._dayOfYear=o(a)}),a.ISO_8601=function(){};var od=Z("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(){var a=za.apply(null,arguments);return this>a?this:a}),pd=Z("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(){var a=za.apply(null,arguments);return a>this?this:a});Fa("Z",":"),Fa("ZZ",""),K("Z",Vc),K("ZZ",Vc),N(["Z","ZZ"],function(a,b,c){c._useUTC=!0,c._tzm=Ga(a)});var qd=/([\+\-]|\d\d)/gi;a.updateOffset=function(){};var rd=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,sd=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/;Ua.fn=Da.prototype;var td=Ya(1,"add"),ud=Ya(-1,"subtract");a.defaultFormat="YYYY-MM-DDTHH:mm:ssZ";var vd=Z("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(a){return void 0===a?this.localeData():this.locale(a)});F(0,["gg",2],0,function(){return this.weekYear()%100}),F(0,["GG",2],0,function(){return this.isoWeekYear()%100}),xb("gggg","weekYear"),xb("ggggg","weekYear"),xb("GGGG","isoWeekYear"),xb("GGGGG","isoWeekYear"),x("weekYear","gg"),x("isoWeekYear","GG"),K("G",Uc),K("g",Uc),K("GG",Pc,Lc),K("gg",Pc,Lc),K("GGGG",Rc,Nc),K("gggg",Rc,Nc),K("GGGGG",Sc,Oc),K("ggggg",Sc,Oc),O(["gggg","ggggg","GGGG","GGGGG"],function(a,b,c,d){b[d.substr(0,2)]=o(a)}),O(["gg","GG"],function(b,c,d,e){c[e]=a.parseTwoDigitYear(b)}),F("Q",0,0,"quarter"),x("quarter","Q"),K("Q",Kc),N("Q",function(a,b){b[_c]=3*(o(a)-1)}),F("D",["DD",2],"Do","date"),x("date","D"),K("D",Pc),K("DD",Pc,Lc),K("Do",function(a,b){return a?b._ordinalParse:b._ordinalParseLenient}),N(["D","DD"],ad),N("Do",function(a,b){b[ad]=o(a.match(Pc)[0],10)});var wd=A("Date",!0);F("d",0,"do","day"),F("dd",0,0,function(a){return this.localeData().weekdaysMin(this,a)}),F("ddd",0,0,function(a){return this.localeData().weekdaysShort(this,a)}),F("dddd",0,0,function(a){return this.localeData().weekdays(this,a)}),F("e",0,0,"weekday"),F("E",0,0,"isoWeekday"),x("day","d"),x("weekday","e"),x("isoWeekday","E"),K("d",Pc),K("e",Pc),K("E",Pc),K("dd",Xc),K("ddd",Xc),K("dddd",Xc),O(["dd","ddd","dddd"],function(a,b,c){var d=c._locale.weekdaysParse(a);null!=d?b.d=d:c._pf.invalidWeekday=a}),O(["d","e","E"],function(a,b,c,d){b[d]=o(a)});var xd="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),yd="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),zd="Su_Mo_Tu_We_Th_Fr_Sa".split("_");F("H",["HH",2],0,"hour"),F("h",["hh",2],0,function(){return this.hours()%12||12}),Mb("a",!0),Mb("A",!1),x("hour","h"),K("a",Nb),K("A",Nb),K("H",Pc),K("h",Pc),K("HH",Pc,Lc),K("hh",Pc,Lc),N(["H","HH"],bd),N(["a","A"],function(a,b,c){c._isPm=c._locale.isPM(a),c._meridiem=a}),N(["h","hh"],function(a,b,c){b[bd]=o(a),c._pf.bigHour=!0});var Ad=/[ap]\.?m?\.?/i,Bd=A("Hours",!0);F("m",["mm",2],0,"minute"),x("minute","m"),K("m",Pc),K("mm",Pc,Lc),N(["m","mm"],cd);var Cd=A("Minutes",!1);F("s",["ss",2],0,"second"),x("second","s"),K("s",Pc),K("ss",Pc,Lc),N(["s","ss"],dd);var Dd=A("Seconds",!1);F("S",0,0,function(){return~~(this.millisecond()/100)}),F(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),Qb("SSS"),Qb("SSSS"),x("millisecond","ms"),K("S",Qc,Kc),K("SS",Qc,Lc),K("SSS",Qc,Mc),K("SSSS",Tc),N(["S","SS","SSS","SSSS"],function(a,b){b[ed]=o(1e3*("0."+a))});var Ed=A("Milliseconds",!1);F("z",0,0,"zoneAbbr"),F("zz",0,0,"zoneName");var Fd=m.prototype;Fd.add=td,Fd.calendar=$a,Fd.clone=_a,Fd.diff=fb,Fd.endOf=pb,Fd.format=jb,Fd.from=kb,Fd.fromNow=lb,Fd.get=D,Fd.invalidAt=wb,Fd.isAfter=ab,Fd.isBefore=bb,Fd.isBetween=cb,Fd.isSame=db,Fd.isValid=ub,Fd.lang=vd,Fd.locale=mb,Fd.localeData=nb,Fd.max=pd,Fd.min=od,Fd.parsingFlags=vb,Fd.set=D,Fd.startOf=ob,Fd.subtract=ud,Fd.toArray=tb,Fd.toDate=sb,Fd.toISOString=ib,Fd.toJSON=ib,Fd.toString=hb,Fd.unix=rb,Fd.valueOf=qb,Fd.year=md,Fd.isLeapYear=fa,Fd.weekYear=zb,Fd.isoWeekYear=Ab,Fd.quarter=Fd.quarters=Db,Fd.month=V,Fd.daysInMonth=W,Fd.week=Fd.weeks=ka,Fd.isoWeek=Fd.isoWeeks=la,Fd.weeksInYear=Cb,Fd.isoWeeksInYear=Bb,Fd.date=wd,Fd.day=Fd.days=Jb,Fd.weekday=Kb,Fd.isoWeekday=Lb,Fd.dayOfYear=na,Fd.hour=Fd.hours=Bd,Fd.minute=Fd.minutes=Cd,Fd.second=Fd.seconds=Dd,Fd.millisecond=Fd.milliseconds=Ed,Fd.utcOffset=Ja,Fd.utc=La,Fd.local=Ma,Fd.parseZone=Na,Fd.hasAlignedHourOffset=Oa,Fd.isDST=Pa,Fd.isDSTShifted=Qa,Fd.isLocal=Ra,Fd.isUtcOffset=Sa,Fd.isUtc=Ta,Fd.isUTC=Ta,Fd.zoneAbbr=Rb,Fd.zoneName=Sb,Fd.dates=Z("dates accessor is deprecated. Use date instead.",wd),Fd.months=Z("months accessor is deprecated. Use month instead",V),Fd.years=Z("years accessor is deprecated. Use year instead",md),Fd.zone=Z("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",Ka);var Gd=Fd,Hd={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},Id={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY LT",LLLL:"dddd, MMMM D, YYYY LT"},Jd="Invalid date",Kd="%d",Ld=/\d{1,2}/,Md={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},Nd=q.prototype;Nd._calendar=Hd,Nd.calendar=Vb,Nd._longDateFormat=Id,Nd.longDateFormat=Wb,Nd._invalidDate=Jd,Nd.invalidDate=Xb,Nd._ordinal=Kd,Nd.ordinal=Yb,Nd._ordinalParse=Ld, -Nd.preparse=Zb,Nd.postformat=Zb,Nd._relativeTime=Md,Nd.relativeTime=$b,Nd.pastFuture=_b,Nd.set=ac,Nd.months=R,Nd._months=fd,Nd.monthsShort=S,Nd._monthsShort=gd,Nd.monthsParse=T,Nd.week=ha,Nd._week=nd,Nd.firstDayOfYear=ja,Nd.firstDayOfWeek=ia,Nd.weekdays=Fb,Nd._weekdays=xd,Nd.weekdaysMin=Hb,Nd._weekdaysMin=zd,Nd.weekdaysShort=Gb,Nd._weekdaysShort=yd,Nd.weekdaysParse=Ib,Nd.isPM=Ob,Nd._meridiemParse=Ad,Nd.meridiem=Pb,u("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(a){var b=a%10,c=1===o(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c}}),a.lang=Z("moment.lang is deprecated. Use moment.locale instead.",u),a.langData=Z("moment.langData is deprecated. Use moment.localeData instead.",w);var Od=Math.abs,Pd=rc("ms"),Qd=rc("s"),Rd=rc("m"),Sd=rc("h"),Td=rc("d"),Ud=rc("w"),Vd=rc("M"),Wd=rc("y"),Xd=tc("milliseconds"),Yd=tc("seconds"),Zd=tc("minutes"),$d=tc("hours"),_d=tc("days"),ae=tc("months"),be=tc("years"),ce=Math.round,de={s:45,m:45,h:22,d:26,M:11},ee=Math.abs,fe=Da.prototype;fe.abs=ic,fe.add=kc,fe.subtract=lc,fe.as=pc,fe.asMilliseconds=Pd,fe.asSeconds=Qd,fe.asMinutes=Rd,fe.asHours=Sd,fe.asDays=Td,fe.asWeeks=Ud,fe.asMonths=Vd,fe.asYears=Wd,fe.valueOf=qc,fe._bubble=mc,fe.get=sc,fe.milliseconds=Xd,fe.seconds=Yd,fe.minutes=Zd,fe.hours=$d,fe.days=_d,fe.weeks=uc,fe.months=ae,fe.years=be,fe.humanize=yc,fe.toISOString=zc,fe.toString=zc,fe.toJSON=zc,fe.locale=mb,fe.localeData=nb,fe.toIsoString=Z("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",zc),fe.lang=vd,F("X",0,0,"unix"),F("x",0,0,"valueOf"),K("x",Uc),K("X",Wc),N("X",function(a,b,c){c._d=new Date(1e3*parseFloat(a,10))}),N("x",function(a,b,c){c._d=new Date(o(a))}),a.version="2.10.2",b(za),a.fn=Gd,a.min=Ba,a.max=Ca,a.utc=i,a.unix=Tb,a.months=dc,a.isDate=e,a.locale=u,a.invalid=k,a.duration=Ua,a.isMoment=n,a.weekdays=fc,a.parseZone=Ub,a.localeData=w,a.isDuration=Ea,a.monthsShort=ec,a.weekdaysMin=hc,a.defineLocale=v,a.weekdaysShort=gc,a.normalizeUnits=y,a.relativeTimeThreshold=xc;var ge=a;return ge}); \ No newline at end of file diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.analytics-view/public/js/rickshaw.min.js b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.analytics-view/public/js/rickshaw.min.js deleted file mode 100644 index be060e0b87..0000000000 --- a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.analytics-view/public/js/rickshaw.min.js +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. 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(root,factory){if(typeof define==="function"&&define.amd){define(["d3.min"],function(d3){return root.Rickshaw=factory(d3)})}else if(typeof exports==="object"){module.exports=factory(require("d3"))}else{root.Rickshaw=factory(d3)}})(this,function(d3){var Rickshaw={namespace:function(namespace,obj){var parts=namespace.split(".");var parent=Rickshaw;for(var i=1,length=parts.length;i0){var x=s.data[0].x;var y=s.data[0].y;if(typeof x!="number"||typeof y!="number"&&y!==null){throw"x and y properties of points should be numbers instead of "+typeof x+" and "+typeof y}}if(s.data.length>=3){if(s.data[2].xthis.window.xMax)isInRange=false;return isInRange}return true};this.onUpdate=function(callback){this.updateCallbacks.push(callback)};this.onConfigure=function(callback){this.configureCallbacks.push(callback)};this.registerRenderer=function(renderer){this._renderers=this._renderers||{};this._renderers[renderer.name]=renderer};this.configure=function(args){this.config=this.config||{};if(args.width||args.height){this.setSize(args)}Rickshaw.keys(this.defaults).forEach(function(k){this.config[k]=k in args?args[k]:k in this?this[k]:this.defaults[k]},this);Rickshaw.keys(this.config).forEach(function(k){this[k]=this.config[k]},this);if("stack"in args)args.unstack=!args.stack;var renderer=args.renderer||this.renderer&&this.renderer.name||"stack";this.setRenderer(renderer,args);this.configureCallbacks.forEach(function(callback){callback(args)})};this.setRenderer=function(r,args){if(typeof r=="function"){this.renderer=new r({graph:self});this.registerRenderer(this.renderer)}else{if(!this._renderers[r]){throw"couldn't find renderer "+r}this.renderer=this._renderers[r]}if(typeof args=="object"){this.renderer.configure(args)}};this.setSize=function(args){args=args||{};if(typeof window!==undefined){var style=window.getComputedStyle(this.element,null);var elementWidth=parseInt(style.getPropertyValue("width"),10);var elementHeight=parseInt(style.getPropertyValue("height"),10)}this.width=args.width||elementWidth||400;this.height=args.height||elementHeight||250;this.vis&&this.vis.attr("width",this.width).attr("height",this.height)};this.initialize(args)};Rickshaw.namespace("Rickshaw.Fixtures.Color");Rickshaw.Fixtures.Color=function(){this.schemes={};this.schemes.spectrum14=["#ecb796","#dc8f70","#b2a470","#92875a","#716c49","#d2ed82","#bbe468","#a1d05d","#e7cbe6","#d8aad6","#a888c2","#9dc2d3","#649eb9","#387aa3"].reverse();this.schemes.spectrum2000=["#57306f","#514c76","#646583","#738394","#6b9c7d","#84b665","#a7ca50","#bfe746","#e2f528","#fff726","#ecdd00","#d4b11d","#de8800","#de4800","#c91515","#9a0000","#7b0429","#580839","#31082b"];this.schemes.spectrum2001=["#2f243f","#3c2c55","#4a3768","#565270","#6b6b7c","#72957f","#86ad6e","#a1bc5e","#b8d954","#d3e04e","#ccad2a","#cc8412","#c1521d","#ad3821","#8a1010","#681717","#531e1e","#3d1818","#320a1b"];this.schemes.classic9=["#423d4f","#4a6860","#848f39","#a2b73c","#ddcb53","#c5a32f","#7d5836","#963b20","#7c2626","#491d37","#2f254a"].reverse();this.schemes.httpStatus={503:"#ea5029",502:"#d23f14",500:"#bf3613",410:"#efacea",409:"#e291dc",403:"#f457e8",408:"#e121d2",401:"#b92dae",405:"#f47ceb",404:"#a82a9f",400:"#b263c6",301:"#6fa024",302:"#87c32b",307:"#a0d84c",304:"#28b55c",200:"#1a4f74",206:"#27839f",201:"#52adc9",202:"#7c979f",203:"#a5b8bd",204:"#c1cdd1"};this.schemes.colorwheel=["#b5b6a9","#858772","#785f43","#96557e","#4682b4","#65b9ac","#73c03a","#cb513a"].reverse();this.schemes.cool=["#5e9d2f","#73c03a","#4682b4","#7bc3b8","#a9884e","#c1b266","#a47493","#c09fb5"];this.schemes.munin=["#00cc00","#0066b3","#ff8000","#ffcc00","#330099","#990099","#ccff00","#ff0000","#808080","#008f00","#00487d","#b35a00","#b38f00","#6b006b","#8fb300","#b30000","#bebebe","#80ff80","#80c9ff","#ffc080","#ffe680","#aa80ff","#ee00cc","#ff8080","#666600","#ffbfff","#00ffcc","#cc6699","#999900"]};Rickshaw.namespace("Rickshaw.Fixtures.RandomData");Rickshaw.Fixtures.RandomData=function(timeInterval){var addData;timeInterval=timeInterval||1;var lastRandomValue=200;var timeBase=Math.floor((new Date).getTime()/1e3);this.addData=function(data){var randomValue=Math.random()*100+15+lastRandomValue;var index=data[0].length;var counter=1;data.forEach(function(series){var randomVariance=Math.random()*20;var v=randomValue/25+counter++ +(Math.cos(index*counter*11/960)+2)*15+(Math.cos(index/7)+2)*7+(Math.cos(index/17)+2)*1;series.push({x:index*timeInterval+timeBase,y:v+randomVariance})});lastRandomValue=randomValue*.85};this.removeData=function(data){data.forEach(function(series){series.shift()});timeBase+=timeInterval}};Rickshaw.namespace("Rickshaw.Fixtures.Time");Rickshaw.Fixtures.Time=function(){var self=this;this.months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];this.units=[{name:"decade",seconds:86400*365.25*10,formatter:function(d){return parseInt(d.getUTCFullYear()/10,10)*10}},{name:"year",seconds:86400*365.25,formatter:function(d){return d.getUTCFullYear()}},{name:"month",seconds:86400*30.5,formatter:function(d){return self.months[d.getUTCMonth()]}},{name:"week",seconds:86400*7,formatter:function(d){return self.formatDate(d)}},{name:"day",seconds:86400,formatter:function(d){return d.getUTCDate()}},{name:"6 hour",seconds:3600*6,formatter:function(d){return self.formatTime(d)}},{name:"hour",seconds:3600,formatter:function(d){return self.formatTime(d)}},{name:"15 minute",seconds:60*15,formatter:function(d){return self.formatTime(d)}},{name:"minute",seconds:60,formatter:function(d){return d.getUTCMinutes()}},{name:"15 second",seconds:15,formatter:function(d){return d.getUTCSeconds()+"s"}},{name:"second",seconds:1,formatter:function(d){return d.getUTCSeconds()+"s"}},{name:"decisecond",seconds:1/10,formatter:function(d){return d.getUTCMilliseconds()+"ms"}},{name:"centisecond",seconds:1/100,formatter:function(d){return d.getUTCMilliseconds()+"ms"}}];this.unit=function(unitName){return this.units.filter(function(unit){return unitName==unit.name}).shift()};this.formatDate=function(d){return d3.time.format("%b %e")(d)};this.formatTime=function(d){return d.toUTCString().match(/(\d+:\d+):/)[1]};this.ceil=function(time,unit){var date,floor,year;if(unit.name=="month"){date=new Date(time*1e3);floor=Date.UTC(date.getUTCFullYear(),date.getUTCMonth())/1e3;if(floor==time)return time;year=date.getUTCFullYear();var month=date.getUTCMonth();if(month==11){month=0;year=year+1}else{month+=1}return Date.UTC(year,month)/1e3}if(unit.name=="year"){date=new Date(time*1e3);floor=Date.UTC(date.getUTCFullYear(),0)/1e3;if(floor==time)return time;year=date.getUTCFullYear()+1;return Date.UTC(year,0)/1e3}return Math.ceil(time/unit.seconds)*unit.seconds}};Rickshaw.namespace("Rickshaw.Fixtures.Time.Local");Rickshaw.Fixtures.Time.Local=function(){var self=this;this.months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];this.units=[{name:"decade",seconds:86400*365.25*10,formatter:function(d){return parseInt(d.getFullYear()/10,10)*10}},{name:"year",seconds:86400*365.25,formatter:function(d){return d.getFullYear()}},{name:"month",seconds:86400*30.5,formatter:function(d){return self.months[d.getMonth()]}},{name:"week",seconds:86400*7,formatter:function(d){return self.formatDate(d)}},{name:"day",seconds:86400,formatter:function(d){return d.getDate()}},{name:"6 hour",seconds:3600*6,formatter:function(d){return self.formatTime(d)}},{name:"hour",seconds:3600,formatter:function(d){return self.formatTime(d)}},{name:"15 minute",seconds:60*15,formatter:function(d){return self.formatTime(d)}},{name:"minute",seconds:60,formatter:function(d){return d.getMinutes()}},{name:"15 second",seconds:15,formatter:function(d){return d.getSeconds()+"s"}},{name:"second",seconds:1,formatter:function(d){return d.getSeconds()+"s"}},{name:"decisecond",seconds:1/10,formatter:function(d){return d.getMilliseconds()+"ms"}},{name:"centisecond",seconds:1/100,formatter:function(d){return d.getMilliseconds()+"ms"}}];this.unit=function(unitName){return this.units.filter(function(unit){return unitName==unit.name}).shift()};this.formatDate=function(d){return d3.time.format("%b %e")(d)};this.formatTime=function(d){return d.toString().match(/(\d+:\d+):/)[1]};this.ceil=function(time,unit){var date,floor,year;if(unit.name=="day"){var nearFuture=new Date((time+unit.seconds-1)*1e3);var rounded=new Date(0);rounded.setMilliseconds(0);rounded.setSeconds(0);rounded.setMinutes(0);rounded.setHours(0);rounded.setDate(nearFuture.getDate());rounded.setMonth(nearFuture.getMonth());rounded.setFullYear(nearFuture.getFullYear());return rounded.getTime()/1e3}if(unit.name=="month"){date=new Date(time*1e3);floor=new Date(date.getFullYear(),date.getMonth()).getTime()/1e3;if(floor==time)return time;year=date.getFullYear();var month=date.getMonth();if(month==11){month=0;year=year+1}else{month+=1}return new Date(year,month).getTime()/1e3}if(unit.name=="year"){date=new Date(time*1e3);floor=new Date(date.getUTCFullYear(),0).getTime()/1e3;if(floor==time)return time;year=date.getFullYear()+1;return new Date(year,0).getTime()/1e3}return Math.ceil(time/unit.seconds)*unit.seconds}};Rickshaw.namespace("Rickshaw.Fixtures.Number");Rickshaw.Fixtures.Number.formatKMBT=function(y){var abs_y=Math.abs(y);if(abs_y>=1e12){return y/1e12+"T"}else if(abs_y>=1e9){return y/1e9+"B"}else if(abs_y>=1e6){return y/1e6+"M"}else if(abs_y>=1e3){return y/1e3+"K"}else if(abs_y<1&&y>0){return y.toFixed(2)}else if(abs_y===0){return""}else{return y}};Rickshaw.Fixtures.Number.formatBase1024KMGTP=function(y){var abs_y=Math.abs(y);if(abs_y>=0x4000000000000){return y/0x4000000000000+"P"}else if(abs_y>=1099511627776){return y/1099511627776+"T"}else if(abs_y>=1073741824){return y/1073741824+"G"}else if(abs_y>=1048576){return y/1048576+"M"}else if(abs_y>=1024){return y/1024+"K"}else if(abs_y<1&&y>0){return y.toFixed(2)}else if(abs_y===0){return""}else{return y}};Rickshaw.namespace("Rickshaw.Color.Palette");Rickshaw.Color.Palette=function(args){var color=new Rickshaw.Fixtures.Color;args=args||{};this.schemes={};this.scheme=color.schemes[args.scheme]||args.scheme||color.schemes.colorwheel;this.runningIndex=0;this.generatorIndex=0;if(args.interpolatedStopCount){var schemeCount=this.scheme.length-1;var i,j,scheme=[];for(i=0;iself.graph.x.range()[1]){if(annotation.element){annotation.line.classList.add("offscreen");annotation.element.style.display="none"}annotation.boxes.forEach(function(box){if(box.rangeElement)box.rangeElement.classList.add("offscreen")});return}if(!annotation.element){var element=annotation.element=document.createElement("div");element.classList.add("annotation");this.elements.timeline.appendChild(element);element.addEventListener("click",function(e){element.classList.toggle("active");annotation.line.classList.toggle("active");annotation.boxes.forEach(function(box){if(box.rangeElement)box.rangeElement.classList.toggle("active")})},false)}annotation.element.style.left=left+"px";annotation.element.style.display="block";annotation.boxes.forEach(function(box){var element=box.element;if(!element){element=box.element=document.createElement("div");element.classList.add("content");element.innerHTML=box.content;annotation.element.appendChild(element);annotation.line=document.createElement("div");annotation.line.classList.add("annotation_line");self.graph.element.appendChild(annotation.line);if(box.end){box.rangeElement=document.createElement("div");box.rangeElement.classList.add("annotation_range");self.graph.element.appendChild(box.rangeElement)}}if(box.end){var annotationRangeStart=left;var annotationRangeEnd=Math.min(self.graph.x(box.end),self.graph.x.range()[1]);if(annotationRangeStart>annotationRangeEnd){annotationRangeEnd=left;annotationRangeStart=Math.max(self.graph.x(box.end),self.graph.x.range()[0])}var annotationRangeWidth=annotationRangeEnd-annotationRangeStart;box.rangeElement.style.left=annotationRangeStart+"px";box.rangeElement.style.width=annotationRangeWidth+"px";box.rangeElement.classList.remove("offscreen")}annotation.line.classList.remove("offscreen");annotation.line.style.left=left+"px"})},this)};this.graph.onUpdate(function(){self.update()})};Rickshaw.namespace("Rickshaw.Graph.Axis.Time");Rickshaw.Graph.Axis.Time=function(args){var self=this;this.graph=args.graph;this.elements=[];this.ticksTreatment=args.ticksTreatment||"plain";this.fixedTimeUnit=args.timeUnit;var time=args.timeFixture||new Rickshaw.Fixtures.Time;this.appropriateTimeUnit=function(){var unit;var units=time.units;var domain=this.graph.x.domain();var rangeSeconds=domain[1]-domain[0];units.forEach(function(u){if(Math.floor(rangeSeconds/u.seconds)>=2){unit=unit||u}});return unit||time.units[time.units.length-1]};this.tickOffsets=function(){var domain=this.graph.x.domain();var unit=this.fixedTimeUnit||this.appropriateTimeUnit();var count=Math.ceil((domain[1]-domain[0])/unit.seconds);var runningTick=domain[0];var offsets=[];for(var i=0;iself.graph.x.range()[1])return;var element=document.createElement("div");element.style.left=self.graph.x(o.value)+"px";element.classList.add("x_tick");element.classList.add(self.ticksTreatment);var title=document.createElement("div");title.classList.add("title");title.innerHTML=o.unit.formatter(new Date(o.value*1e3));element.appendChild(title);self.graph.element.appendChild(element);self.elements.push(element)})};this.graph.onUpdate(function(){self.render()})};Rickshaw.namespace("Rickshaw.Graph.Axis.X");Rickshaw.Graph.Axis.X=function(args){var self=this;var berthRate=.1;this.initialize=function(args){this.graph=args.graph;this.orientation=args.orientation||"top";this.pixelsPerTick=args.pixelsPerTick||75;if(args.ticks)this.staticTicks=args.ticks;if(args.tickValues)this.tickValues=args.tickValues;this.tickSize=args.tickSize||4;this.ticksTreatment=args.ticksTreatment||"plain";if(args.element){this.element=args.element;this._discoverSize(args.element,args);this.vis=d3.select(args.element).append("svg:svg").attr("height",this.height).attr("width",this.width).attr("class","rickshaw_graph x_axis_d3");this.element=this.vis[0][0];this.element.style.position="relative";this.setSize({width:args.width,height:args.height})}else{this.vis=this.graph.vis}this.graph.onUpdate(function(){self.render()})};this.setSize=function(args){args=args||{};if(!this.element)return;this._discoverSize(this.element.parentNode,args);this.vis.attr("height",this.height).attr("width",this.width*(1+berthRate));var berth=Math.floor(this.width*berthRate/2);this.element.style.left=-1*berth+"px"};this.render=function(){if(this._renderWidth!==undefined&&this.graph.width!==this._renderWidth)this.setSize({auto:true});var axis=d3.svg.axis().scale(this.graph.x).orient(this.orientation);axis.tickFormat(args.tickFormat||function(x){return x});if(this.tickValues)axis.tickValues(this.tickValues);this.ticks=this.staticTicks||Math.floor(this.graph.width/this.pixelsPerTick);var berth=Math.floor(this.width*berthRate/2)||0;var transform;if(this.orientation=="top"){var yOffset=this.height||this.graph.height;transform="translate("+berth+","+yOffset+")"}else{transform="translate("+berth+", 0)"}if(this.element){this.vis.selectAll("*").remove()}this.vis.append("svg:g").attr("class",["x_ticks_d3",this.ticksTreatment].join(" ")).attr("transform",transform).call(axis.ticks(this.ticks).tickSubdivide(0).tickSize(this.tickSize));var gridSize=(this.orientation=="bottom"?1:-1)*this.graph.height;this.graph.vis.append("svg:g").attr("class","x_grid_d3").call(axis.ticks(this.ticks).tickSubdivide(0).tickSize(gridSize)).selectAll("text").each(function(){this.parentNode.setAttribute("data-x-value",this.textContent)});this._renderHeight=this.graph.height};this._discoverSize=function(element,args){if(typeof window!=="undefined"){var style=window.getComputedStyle(element,null);var elementHeight=parseInt(style.getPropertyValue("height"),10);if(!args.auto){var elementWidth=parseInt(style.getPropertyValue("width"),10)}}this.width=(args.width||elementWidth||this.graph.width)*(1+berthRate);this.height=args.height||elementHeight||40};this.initialize(args)};Rickshaw.namespace("Rickshaw.Graph.Axis.Y");Rickshaw.Graph.Axis.Y=Rickshaw.Class.create({initialize:function(args){this.graph=args.graph;this.orientation=args.orientation||"right";this.pixelsPerTick=args.pixelsPerTick||75;if(args.ticks)this.staticTicks=args.ticks;if(args.tickValues)this.tickValues=args.tickValues;this.tickSize=args.tickSize||4;this.ticksTreatment=args.ticksTreatment||"plain";this.tickFormat=args.tickFormat||function(y){return y};this.berthRate=.1;if(args.element){this.element=args.element;this.vis=d3.select(args.element).append("svg:svg").attr("class","rickshaw_graph y_axis");this.element=this.vis[0][0];this.element.style.position="relative";this.setSize({width:args.width,height:args.height})}else{this.vis=this.graph.vis}var self=this;this.graph.onUpdate(function(){self.render()})},setSize:function(args){args=args||{};if(!this.element)return;if(typeof window!=="undefined"){var style=window.getComputedStyle(this.element.parentNode,null);var elementWidth=parseInt(style.getPropertyValue("width"),10);if(!args.auto){var elementHeight=parseInt(style.getPropertyValue("height"),10)}}this.width=args.width||elementWidth||this.graph.width*this.berthRate;this.height=args.height||elementHeight||this.graph.height;this.vis.attr("width",this.width).attr("height",this.height*(1+this.berthRate));var berth=this.height*this.berthRate;if(this.orientation=="left"){this.element.style.top=-1*berth+"px"}},render:function(){if(this._renderHeight!==undefined&&this.graph.height!==this._renderHeight)this.setSize({auto:true});this.ticks=this.staticTicks||Math.floor(this.graph.height/this.pixelsPerTick);var axis=this._drawAxis(this.graph.y);this._drawGrid(axis);this._renderHeight=this.graph.height},_drawAxis:function(scale){var axis=d3.svg.axis().scale(scale).orient(this.orientation);axis.tickFormat(this.tickFormat);if(this.tickValues)axis.tickValues(this.tickValues);if(this.orientation=="left"){var berth=this.height*this.berthRate;var transform="translate("+this.width+", "+berth+")"}if(this.element){this.vis.selectAll("*").remove()}this.vis.append("svg:g").attr("class",["y_ticks",this.ticksTreatment].join(" ")).attr("transform",transform).call(axis.ticks(this.ticks).tickSubdivide(0).tickSize(this.tickSize));return axis},_drawGrid:function(axis){var gridSize=(this.orientation=="right"?1:-1)*this.graph.width;this.graph.vis.append("svg:g").attr("class","y_grid").call(axis.ticks(this.ticks).tickSubdivide(0).tickSize(gridSize)).selectAll("text").each(function(){this.parentNode.setAttribute("data-y-value",this.textContent) -})}});Rickshaw.namespace("Rickshaw.Graph.Axis.Y.Scaled");Rickshaw.Graph.Axis.Y.Scaled=Rickshaw.Class.create(Rickshaw.Graph.Axis.Y,{initialize:function($super,args){if(typeof args.scale==="undefined"){throw new Error("Scaled requires scale")}this.scale=args.scale;if(typeof args.grid==="undefined"){this.grid=true}else{this.grid=args.grid}$super(args)},_drawAxis:function($super,scale){var domain=this.scale.domain();var renderDomain=this.graph.renderer.domain().y;var extents=[Math.min.apply(Math,domain),Math.max.apply(Math,domain)];var extentMap=d3.scale.linear().domain([0,1]).range(extents);var adjExtents=[extentMap(renderDomain[0]),extentMap(renderDomain[1])];var adjustment=d3.scale.linear().domain(extents).range(adjExtents);var adjustedScale=this.scale.copy().domain(domain.map(adjustment)).range(scale.range());return $super(adjustedScale)},_drawGrid:function($super,axis){if(this.grid){$super(axis)}}});Rickshaw.namespace("Rickshaw.Graph.Behavior.Series.Highlight");Rickshaw.Graph.Behavior.Series.Highlight=function(args){this.graph=args.graph;this.legend=args.legend;var self=this;var colorSafe={};var activeLine=null;var disabledColor=args.disabledColor||function(seriesColor){return d3.interpolateRgb(seriesColor,d3.rgb("#d8d8d8"))(.8).toString()};this.addHighlightEvents=function(l){l.element.addEventListener("mouseover",function(e){if(activeLine)return;else activeLine=l;self.legend.lines.forEach(function(line){if(l===line){if(self.graph.renderer.unstack&&(line.series.renderer?line.series.renderer.unstack:true)){var seriesIndex=self.graph.series.indexOf(line.series);line.originalIndex=seriesIndex;var series=self.graph.series.splice(seriesIndex,1)[0];self.graph.series.push(series)}return}colorSafe[line.series.name]=colorSafe[line.series.name]||line.series.color;line.series.color=disabledColor(line.series.color)});self.graph.update()},false);l.element.addEventListener("mouseout",function(e){if(!activeLine)return;else activeLine=null;self.legend.lines.forEach(function(line){if(l===line&&line.hasOwnProperty("originalIndex")){var series=self.graph.series.pop();self.graph.series.splice(line.originalIndex,0,series);delete line.originalIndex}if(colorSafe[line.series.name]){line.series.color=colorSafe[line.series.name]}});self.graph.update()},false)};if(this.legend){this.legend.lines.forEach(function(l){self.addHighlightEvents(l)})}};Rickshaw.namespace("Rickshaw.Graph.Behavior.Series.Order");Rickshaw.Graph.Behavior.Series.Order=function(args){this.graph=args.graph;this.legend=args.legend;var self=this;if(typeof window.jQuery=="undefined"){throw"couldn't find jQuery at window.jQuery"}if(typeof window.jQuery.ui=="undefined"){throw"couldn't find jQuery UI at window.jQuery.ui"}jQuery(function(){jQuery(self.legend.list).sortable({containment:"parent",tolerance:"pointer",update:function(event,ui){var series=[];jQuery(self.legend.list).find("li").each(function(index,item){if(!item.series)return;series.push(item.series)});for(var i=self.graph.series.length-1;i>=0;i--){self.graph.series[i]=series.shift()}self.graph.update()}});jQuery(self.legend.list).disableSelection()});this.graph.onUpdate(function(){var h=window.getComputedStyle(self.legend.element).height;self.legend.element.style.height=h})};Rickshaw.namespace("Rickshaw.Graph.Behavior.Series.Toggle");Rickshaw.Graph.Behavior.Series.Toggle=function(args){this.graph=args.graph;this.legend=args.legend;var self=this;this.addAnchor=function(line){var anchor=document.createElement("a");anchor.innerHTML="✔";anchor.classList.add("action");line.element.insertBefore(anchor,line.element.firstChild);anchor.onclick=function(e){if(line.series.disabled){line.series.enable();line.element.classList.remove("disabled")}else{if(this.graph.series.filter(function(s){return!s.disabled}).length<=1)return;line.series.disable();line.element.classList.add("disabled")}self.graph.update()}.bind(this);var label=line.element.getElementsByTagName("span")[0];label.onclick=function(e){var disableAllOtherLines=line.series.disabled;if(!disableAllOtherLines){for(var i=0;idomainX){dataIndex=Math.abs(domainX-data[i].x)0){alignables.forEach(function(el){el.classList.remove("left");el.classList.add("right")});var rightAlignError=this._calcLayoutError(alignables);if(rightAlignError>leftAlignError){alignables.forEach(function(el){el.classList.remove("right");el.classList.add("left")})}}if(typeof this.onRender=="function"){this.onRender(args)}},_calcLayoutError:function(alignables){var parentRect=this.element.parentNode.getBoundingClientRect();var error=0;var alignRight=alignables.forEach(function(el){var rect=el.getBoundingClientRect();if(!rect.width){return}if(rect.right>parentRect.right){error+=rect.right-parentRect.right}if(rect.left=self.previewWidth){frameAfterDrag[0]-=frameAfterDrag[1]-self.previewWidth;frameAfterDrag[1]=self.previewWidth}}self.graphs.forEach(function(graph){var domainScale=d3.scale.linear().interpolate(d3.interpolateNumber).domain([0,self.previewWidth]).range(graph.dataDomain());var windowAfterDrag=[domainScale(frameAfterDrag[0]),domainScale(frameAfterDrag[1])];self.slideCallbacks.forEach(function(callback){callback(graph,windowAfterDrag[0],windowAfterDrag[1])});if(frameAfterDrag[0]===0){windowAfterDrag[0]=undefined}if(frameAfterDrag[1]===self.previewWidth){windowAfterDrag[1]=undefined}graph.window.xMin=windowAfterDrag[0];graph.window.xMax=windowAfterDrag[1];graph.update()})}function onMousedown(){drag.target=d3.event.target;drag.start=self._getClientXFromEvent(d3.event,drag);self.frameBeforeDrag=self.currentFrame.slice();d3.event.preventDefault?d3.event.preventDefault():d3.event.returnValue=false;d3.select(document).on("mousemove.rickshaw_range_slider_preview",onMousemove);d3.select(document).on("mouseup.rickshaw_range_slider_preview",onMouseup);d3.select(document).on("touchmove.rickshaw_range_slider_preview",onMousemove);d3.select(document).on("touchend.rickshaw_range_slider_preview",onMouseup);d3.select(document).on("touchcancel.rickshaw_range_slider_preview",onMouseup)}function onMousedownLeftHandle(datum,index){drag.left=true;onMousedown()}function onMousedownRightHandle(datum,index){drag.right=true;onMousedown()}function onMousedownMiddleHandle(datum,index){drag.left=true;drag.right=true;drag.rigid=true;onMousedown()}function onMouseup(datum,index){d3.select(document).on("mousemove.rickshaw_range_slider_preview",null);d3.select(document).on("mouseup.rickshaw_range_slider_preview",null);d3.select(document).on("touchmove.rickshaw_range_slider_preview",null);d3.select(document).on("touchend.rickshaw_range_slider_preview",null);d3.select(document).on("touchcancel.rickshaw_range_slider_preview",null);delete self.frameBeforeDrag;drag.left=false;drag.right=false;drag.rigid=false}element.select("rect.left_handle").on("mousedown",onMousedownLeftHandle);element.select("rect.right_handle").on("mousedown",onMousedownRightHandle);element.select("rect.middle_handle").on("mousedown",onMousedownMiddleHandle);element.select("rect.left_handle").on("touchstart",onMousedownLeftHandle);element.select("rect.right_handle").on("touchstart",onMousedownRightHandle);element.select("rect.middle_handle").on("touchstart",onMousedownMiddleHandle)},_getClientXFromEvent:function(event,drag){switch(event.type){case"touchstart":case"touchmove":var touchList=event.changedTouches;var touch=null;for(var touchIndex=0;touchIndexyMax)yMax=y});if(!series.length)return;if(series[0].xxMax)xMax=series[series.length-1].x});xMin-=(xMax-xMin)*this.padding.left;xMax+=(xMax-xMin)*this.padding.right;yMin=this.graph.min==="auto"?yMin:this.graph.min||0;yMax=this.graph.max===undefined?yMax:this.graph.max;if(this.graph.min==="auto"||yMin<0){yMin-=(yMax-yMin)*this.padding.bottom}if(this.graph.max===undefined){yMax+=(yMax-yMin)*this.padding.top}return{x:[xMin,xMax],y:[yMin,yMax]}},render:function(args){args=args||{};var graph=this.graph;var series=args.series||graph.series;var vis=args.vis||graph.vis;vis.selectAll("*").remove();var data=series.filter(function(s){return!s.disabled}).map(function(s){return s.stack});var pathNodes=vis.selectAll("path.path").data(data).enter().append("svg:path").classed("path",true).attr("d",this.seriesPathFactory());if(this.stroke){var strokeNodes=vis.selectAll("path.stroke").data(data).enter().append("svg:path").classed("stroke",true).attr("d",this.seriesStrokeFactory())}var i=0;series.forEach(function(series){if(series.disabled)return;series.path=pathNodes[0][i];if(this.stroke)series.stroke=strokeNodes[0][i];this._styleSeries(series);i++},this)},_styleSeries:function(series){var fill=this.fill?series.color:"none";var stroke=this.stroke?series.color:"none";series.path.setAttribute("fill",fill);series.path.setAttribute("stroke",stroke);series.path.setAttribute("stroke-width",this.strokeWidth);if(series.className){d3.select(series.path).classed(series.className,true)}if(series.className&&this.stroke){d3.select(series.stroke).classed(series.className,true)}},configure:function(args){args=args||{};Rickshaw.keys(this.defaults()).forEach(function(key){if(!args.hasOwnProperty(key)){this[key]=this[key]||this.graph[key]||this.defaults()[key];return}if(typeof this.defaults()[key]=="object"){Rickshaw.keys(this.defaults()[key]).forEach(function(k){this[key][k]=args[key][k]!==undefined?args[key][k]:this[key][k]!==undefined?this[key][k]:this.defaults()[key][k]},this)}else{this[key]=args[key]!==undefined?args[key]:this[key]!==undefined?this[key]:this.graph[key]!==undefined?this.graph[key]:this.defaults()[key]}},this)},setStrokeWidth:function(strokeWidth){if(strokeWidth!==undefined){this.strokeWidth=strokeWidth}},setTension:function(tension){if(tension!==undefined){this.tension=tension}}});Rickshaw.namespace("Rickshaw.Graph.Renderer.Line");Rickshaw.Graph.Renderer.Line=Rickshaw.Class.create(Rickshaw.Graph.Renderer,{name:"line",defaults:function($super){return Rickshaw.extend($super(),{unstack:true,fill:false,stroke:true})},seriesPathFactory:function(){var graph=this.graph;var factory=d3.svg.line().x(function(d){return graph.x(d.x)}).y(function(d){return graph.y(d.y)}).interpolate(this.graph.interpolation).tension(this.tension);factory.defined&&factory.defined(function(d){return d.y!==null});return factory}});Rickshaw.namespace("Rickshaw.Graph.Renderer.Stack");Rickshaw.Graph.Renderer.Stack=Rickshaw.Class.create(Rickshaw.Graph.Renderer,{name:"stack",defaults:function($super){return Rickshaw.extend($super(),{fill:true,stroke:false,unstack:false})},seriesPathFactory:function(){var graph=this.graph;var factory=d3.svg.area().x(function(d){return graph.x(d.x)}).y0(function(d){return graph.y(d.y0)}).y1(function(d){return graph.y(d.y+d.y0)}).interpolate(this.graph.interpolation).tension(this.tension);factory.defined&&factory.defined(function(d){return d.y!==null});return factory}});Rickshaw.namespace("Rickshaw.Graph.Renderer.Bar");Rickshaw.Graph.Renderer.Bar=Rickshaw.Class.create(Rickshaw.Graph.Renderer,{name:"bar",defaults:function($super){var defaults=Rickshaw.extend($super(),{gapSize:.05,unstack:false});delete defaults.tension;return defaults},initialize:function($super,args){args=args||{};this.gapSize=args.gapSize||this.gapSize;$super(args)},domain:function($super){var domain=$super();var frequentInterval=this._frequentInterval(this.graph.stackedData.slice(-1).shift());domain.x[1]+=Number(frequentInterval.magnitude);return domain},barWidth:function(series){var frequentInterval=this._frequentInterval(series.stack);var barWidth=this.graph.x.magnitude(frequentInterval.magnitude)*(1-this.gapSize);return barWidth},render:function(args){args=args||{};var graph=this.graph;var series=args.series||graph.series;var vis=args.vis||graph.vis;vis.selectAll("*").remove();var barWidth=this.barWidth(series.active()[0]);var barXOffset=0;var activeSeriesCount=series.filter(function(s){return!s.disabled}).length;var seriesBarWidth=this.unstack?barWidth/activeSeriesCount:barWidth;var transform=function(d){var matrix=[1,0,0,d.y<0?-1:1,0,d.y<0?graph.y.magnitude(Math.abs(d.y))*2:0];return"matrix("+matrix.join(",")+")"};series.forEach(function(series){if(series.disabled)return;var barWidth=this.barWidth(series);var nodes=vis.selectAll("path").data(series.stack.filter(function(d){return d.y!==null})).enter().append("svg:rect").attr("x",function(d){return graph.x(d.x)+barXOffset}).attr("y",function(d){return graph.y(d.y0+Math.abs(d.y))*(d.y<0?-1:1)}).attr("width",seriesBarWidth).attr("height",function(d){return graph.y.magnitude(Math.abs(d.y))}).attr("transform",transform);Array.prototype.forEach.call(nodes[0],function(n){n.setAttribute("fill",series.color)});if(this.unstack)barXOffset+=seriesBarWidth},this)},_frequentInterval:function(data){var intervalCounts={};for(var i=0;i0){this[0].data.forEach(function(plot){item.data.push({x:plot.x,y:0})})}else if(item.data.length===0){item.data.push({x:this.timeBase-(this.timeInterval||0),y:0})}this.push(item);if(this.legend){this.legend.addLine(this.itemByName(item.name))}},addData:function(data,x){var index=this.getIndex();Rickshaw.keys(data).forEach(function(name){if(!this.itemByName(name)){this.addItem({name:name})}},this);this.forEach(function(item){item.data.push({x:x||(index*this.timeInterval||1)+this.timeBase,y:data[item.name]||0})},this)},getIndex:function(){return this[0]&&this[0].data&&this[0].data.length?this[0].data.length:0},itemByName:function(name){for(var i=0;i1;i--){this.currentSize+=1;this.currentIndex+=1;this.forEach(function(item){item.data.unshift({x:((i-1)*this.timeInterval||1)+this.timeBase,y:0,i:i})},this)}}},addData:function($super,data,x){$super(data,x);this.currentSize+=1;this.currentIndex+=1;if(this.maxDataPoints!==undefined){while(this.currentSize>this.maxDataPoints){this.dropData()}}},dropData:function(){this.forEach(function(item){item.data.splice(0,1)});this.currentSize-=1},getIndex:function(){return this.currentIndex}});return Rickshaw}); \ No newline at end of file diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.realtime.analytics-view/analytics-view.hbs b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.realtime.analytics-view/analytics-view.hbs index d0bcf01691..145d9685c5 100644 --- a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.realtime.analytics-view/analytics-view.hbs +++ b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.realtime.analytics-view/analytics-view.hbs @@ -1,13 +1,10 @@ +{{unit "cdmf.unit.lib.rickshaw-graph"}} -{{#zone "topCss"}} - {{css "css/graph.css"}} -{{/zone}} -
-
Battery
+
+
Battery
@@ -16,7 +13,8 @@
Time
-
Light
+
+
Light
@@ -25,7 +23,8 @@
Time
-
Pressure
+
+
Pressure
@@ -34,7 +33,8 @@
Time
-
Proximity
+
+
Proximity
@@ -43,7 +43,8 @@
Time
-
Accelerometer
+
+
Accelerometer
@@ -52,7 +53,8 @@
Time
-
Magnetic
+
+
Magnetic
@@ -61,7 +63,8 @@
Time
-
Rotation
+
+
Rotation
@@ -70,7 +73,8 @@
Time
-
Gyroscope
+
+
Gyroscope
@@ -79,7 +83,8 @@
Time
-
Gravity
+
+
Gravity
@@ -98,8 +103,6 @@ {{#zone "bottomJs"}} - {{js "js/d3.min.js"}} - {{js "js/rickshaw.min.js"}} {{js "js/moment.min.js"}} {{js "js/socket.io.min.js"}} {{js "js/device-stats.js"}} diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.realtime.analytics-view/analytics-view.js b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.realtime.analytics-view/analytics-view.js index 3b41d560a4..5105fdf320 100644 --- a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.realtime.analytics-view/analytics-view.js +++ b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.realtime.analytics-view/analytics-view.js @@ -17,13 +17,12 @@ */ function onRequest(context) { - var log = new Log("stats.js"); var device = context.unit.params.device; var devicemgtProps = require('/app/conf/devicemgt-props.js').config(); var constants = require("/app/modules/constants.js"); var websocketEndpoint = devicemgtProps["httpsURL"].replace("https", "wss"); var tokenPair = session.get(constants.ACCESS_TOKEN_PAIR_IDENTIFIER); - var token = "" + var token = ""; if (tokenPair) { token = tokenPair.accessToken; } diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.realtime.analytics-view/public/css/graph.css b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.realtime.analytics-view/public/css/graph.css deleted file mode 100644 index 7d0c9bba1d..0000000000 --- a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.realtime.analytics-view/public/css/graph.css +++ /dev/null @@ -1,471 +0,0 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. 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. - */ - -/* graph */ - -.rickshaw_graph { - position: relative; -} - -.rickshaw_graph svg { - display: block; - overflow: hidden; -} - -/* ticks */ - -.rickshaw_graph .x_tick { - position: absolute; - top: 0; - bottom: 0; - width: 0; - border-left: 1px dotted rgba(0, 0, 0, 0.2); - pointer-events: none; -} - -.rickshaw_graph .x_tick .title { - position: absolute; - font-size: 12px; - font-family: Arial, sans-serif; - opacity: 0.5; - white-space: nowrap; - margin-left: 3px; - bottom: -20px; - height: auto; - border-bottom: none; -} - -/* annotations */ - -.rickshaw_annotation_timeline { - height: 1px; - border-top: 1px solid #e0e0e0; - margin-top: 10px; - position: relative; -} - -.rickshaw_annotation_timeline .annotation { - position: absolute; - height: 6px; - width: 6px; - margin-left: -2px; - top: -3px; - border-radius: 5px; - background-color: rgba(0, 0, 0, 0.25); -} - -.rickshaw_graph .annotation_line { - position: absolute; - top: 0; - bottom: -6px; - width: 0; - border-left: 2px solid rgba(0, 0, 0, 0.3); - display: none; -} - -.rickshaw_graph .annotation_line.active { - display: block; -} - -.rickshaw_graph .annotation_range { - background: rgba(0, 0, 0, 0.1); - display: none; - position: absolute; - top: 0; - bottom: -6px; -} - -.rickshaw_graph .annotation_range.active { - display: block; -} - -.rickshaw_graph .annotation_range.active.offscreen { - display: none; -} - -.rickshaw_annotation_timeline .annotation .content { - background: white; - color: black; - opacity: 0.9; - box-shadow: 0 0 2px rgba(0, 0, 0, 0.8); - border-radius: 3px; - position: relative; - z-index: 20; - font-size: 12px; - padding: 6px 8px 8px; - top: 18px; - left: -11px; - width: 160px; - display: none; - cursor: pointer; -} - -.rickshaw_annotation_timeline .annotation .content:before { - content: "\25b2"; - position: absolute; - top: -11px; - color: white; - text-shadow: 0 -1px 1px rgba(0, 0, 0, 0.8); -} - -.rickshaw_annotation_timeline .annotation.active, -.rickshaw_annotation_timeline .annotation:hover { - background-color: rgba(0, 0, 0, 0.8); - cursor: none; -} - -.rickshaw_annotation_timeline .annotation .content:hover { - z-index: 50; -} - -.rickshaw_annotation_timeline .annotation.active .content { - display: block; -} - -.rickshaw_annotation_timeline .annotation:hover .content { - display: block; - z-index: 50; -} - -.rickshaw_graph .y_axis, -.rickshaw_graph .x_axis_d3 { - fill: none; -} - -.rickshaw_graph .y_ticks .tick line, -.rickshaw_graph .x_ticks_d3 .tick { - stroke: rgba(0, 0, 0, 0.16); - stroke-width: 2px; - shape-rendering: crisp-edges; - pointer-events: none; -} - -.rickshaw_graph .y_grid .tick, -.rickshaw_graph .x_grid_d3 .tick { - z-index: -1; - stroke: rgba(0, 0, 0, 0.20); - stroke-width: 1px; - stroke-dasharray: 1 1; -} - -.rickshaw_graph .y_grid .tick[data-y-value="0"] { - stroke-dasharray: 1 0; -} - -.rickshaw_graph .y_grid path, -.rickshaw_graph .x_grid_d3 path { - fill: none; - stroke: none; -} - -.rickshaw_graph .y_ticks path, -.rickshaw_graph .x_ticks_d3 path { - fill: none; - stroke: #808080; -} - -.rickshaw_graph .y_ticks text, -.rickshaw_graph .x_ticks_d3 text { - opacity: 0.5; - font-size: 12px; - pointer-events: none; -} - -.rickshaw_graph .x_tick.glow .title, -.rickshaw_graph .y_ticks.glow text { - fill: black; - color: black; - text-shadow: -1px 1px 0 rgba(255, 255, 255, 0.1), - 1px -1px 0 rgba(255, 255, 255, 0.1), - 1px 1px 0 rgba(255, 255, 255, 0.1), - 0 1px 0 rgba(255, 255, 255, 0.1), - 0 -1px 0 rgba(255, 255, 255, 0.1), - 1px 0 0 rgba(255, 255, 255, 0.1), - -1px 0 0 rgba(255, 255, 255, 0.1), - -1px -1px 0 rgba(255, 255, 255, 0.1); -} - -.rickshaw_graph .x_tick.inverse .title, -.rickshaw_graph .y_ticks.inverse text { - fill: white; - color: white; - text-shadow: -1px 1px 0 rgba(0, 0, 0, 0.8), - 1px -1px 0 rgba(0, 0, 0, 0.8), - 1px 1px 0 rgba(0, 0, 0, 0.8), - 0 1px 0 rgba(0, 0, 0, 0.8), - 0 -1px 0 rgba(0, 0, 0, 0.8), - 1px 0 0 rgba(0, 0, 0, 0.8), - -1px 0 0 rgba(0, 0, 0, 0.8), - -1px -1px 0 rgba(0, 0, 0, 0.8); -} - -.custom_rickshaw_graph { - position: relative; - left: 40px; -} - -.custom_y_axis { - position: absolute; - width: 40px; - margin-top: -20px; -} - -.custom_slider { - left: 40px; -} - -.custom_x_axis { - position: relative; - left: 40px; - height: 30px; - width: 97%; - top: 20px; - text-align: right; -} - -.chartWrapper { - padding-top: 50px; -} - -/*detail*/ - -.rickshaw_graph .detail { - pointer-events: none; - position: absolute; - top: 0; - z-index: 2; - background: rgba(0, 0, 0, 0.1); - bottom: 0; - width: 1px; - transition: opacity 0.25s linear; - -moz-transition: opacity 0.25s linear; - -o-transition: opacity 0.25s linear; - -webkit-transition: opacity 0.25s linear; -} - -.rickshaw_graph .detail.inactive { - opacity: 0; -} - -.rickshaw_graph .detail .item.active { - opacity: 1; -} - -.rickshaw_graph .detail .x_label { - font-family: Arial, sans-serif; - border-radius: 3px; - padding: 6px; - opacity: 0.5; - border: 1px solid #e0e0e0; - font-size: 12px; - position: absolute; - background: white; - white-space: nowrap; -} - -.rickshaw_graph .detail .x_label.left { - left: 0; -} - -.rickshaw_graph .detail .x_label.right { - right: 0; -} - -.rickshaw_graph .detail .item { - position: absolute; - z-index: 2; - border-radius: 3px; - padding: 0.25em; - font-size: 12px; - font-family: Arial, sans-serif; - opacity: 0; - background: rgba(0, 0, 0, 0.4); - color: white; - border: 1px solid rgba(0, 0, 0, 0.4); - margin-left: 1em; - margin-right: 1em; - margin-top: -1em; - white-space: nowrap; -} - -.rickshaw_graph .detail .item.left { - left: 0; -} - -.rickshaw_graph .detail .item.right { - right: 0; -} - -.rickshaw_graph .detail .item.active { - opacity: 1; - background: rgba(0, 0, 0, 0.8); -} - -.rickshaw_graph .detail .item:after { - position: absolute; - display: block; - width: 0; - height: 0; - - content: ""; - - border: 5px solid transparent; -} - -.rickshaw_graph .detail .item.left:after { - top: 1em; - left: -5px; - margin-top: -5px; - border-right-color: rgba(0, 0, 0, 0.8); - border-left-width: 0; -} - -.rickshaw_graph .detail .item.right:after { - top: 1em; - right: -5px; - margin-top: -5px; - border-left-color: rgba(0, 0, 0, 0.8); - border-right-width: 0; -} - -.rickshaw_graph .detail .dot { - width: 4px; - height: 4px; - margin-left: -3px; - margin-top: -3.5px; - border-radius: 5px; - position: absolute; - box-shadow: 0 0 2px rgba(0, 0, 0, 0.6); - box-sizing: content-box; - -moz-box-sizing: content-box; - background: white; - border-width: 2px; - border-style: solid; - display: none; - background-clip: padding-box; -} - -.rickshaw_graph .detail .dot.active { - display: block; -} - -/*legend*/ -.rickshaw_legend { - font-family: Arial; - font-size: 12px; - color: white; - background: #404040; - display: inline-block; - padding: 12px 5px; - border-radius: 2px; - position: relative; - float: right; -} - -.rickshaw_legend:hover { - z-index: 10; -} - -.rickshaw_legend .swatch { - width: 10px; - height: 10px; - border: 1px solid rgba(0, 0, 0, 0.2); -} - -.rickshaw_legend .line { - clear: both; - line-height: 140%; - padding-right: 15px; -} - -.rickshaw_legend .line .swatch { - display: inline-block; - margin-right: 3px; - border-radius: 2px; -} - -.rickshaw_legend .label { - margin: 0; - white-space: nowrap; - display: inline; - font-size: inherit; - background-color: transparent; - color: inherit; - font-weight: normal; - line-height: normal; - padding: 0; - text-shadow: none; -} - -.rickshaw_legend .action:hover { - opacity: 0.6; -} - -.rickshaw_legend .action { - margin-right: 0.2em; - opacity: 0.2; - cursor: pointer; - font-size: 14px; -} - -.rickshaw_legend .line.disabled { - opacity: 0.4; -} - -.rickshaw_legend ul { - list-style-type: none; - padding: 0; - margin: 2px; - cursor: pointer; -} - -.rickshaw_legend li { - padding: 0 0 0 2px; - min-width: 80px; - white-space: nowrap; -} - -.rickshaw_legend li:hover { - background: rgba(255, 255, 255, 0.08); - border-radius: 3px; -} - -.rickshaw_legend li:active { - background: rgba(255, 255, 255, 0.2); - border-radius: 3px; -} - -.legend { - display: inline-block; - position: relative; - left: 8px; -} - -.legend_container { - float: right; - padding-right: 10px; - width: 0; - z-index: 1; - position: relative; - opacity: 0.7; -} - -.spaced { - margin-top: 20px !important; -} - diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.realtime.analytics-view/public/js/d3.min.js b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.realtime.analytics-view/public/js/d3.min.js deleted file mode 100644 index 71f9715eec..0000000000 --- a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.realtime.analytics-view/public/js/d3.min.js +++ /dev/null @@ -1,9488 +0,0 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. 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() { - var d3 = { - version: "3.5.2" - }; - if (!Date.now) Date.now = function() { - return +new Date(); - }; - var d3_arraySlice = [].slice, d3_array = function(list) { - return d3_arraySlice.call(list); - }; - var d3_document = document, d3_documentElement = d3_document.documentElement, d3_window = window; - try { - d3_array(d3_documentElement.childNodes)[0].nodeType; - } catch (e) { - d3_array = function(list) { - var i = list.length, array = new Array(i); - while (i--) array[i] = list[i]; - return array; - }; - } - try { - d3_document.createElement("div").style.setProperty("opacity", 0, ""); - } catch (error) { - var d3_element_prototype = d3_window.Element.prototype, d3_element_setAttribute = d3_element_prototype.setAttribute, d3_element_setAttributeNS = d3_element_prototype.setAttributeNS, d3_style_prototype = d3_window.CSSStyleDeclaration.prototype, d3_style_setProperty = d3_style_prototype.setProperty; - d3_element_prototype.setAttribute = function(name, value) { - d3_element_setAttribute.call(this, name, value + ""); - }; - d3_element_prototype.setAttributeNS = function(space, local, value) { - d3_element_setAttributeNS.call(this, space, local, value + ""); - }; - d3_style_prototype.setProperty = function(name, value, priority) { - d3_style_setProperty.call(this, name, value + "", priority); - }; - } - d3.ascending = d3_ascending; - function d3_ascending(a, b) { - return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN; - } - d3.descending = function(a, b) { - return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN; - }; - d3.min = function(array, f) { - var i = -1, n = array.length, a, b; - if (arguments.length === 1) { - while (++i < n) if ((b = array[i]) != null && b >= b) { - a = b; - break; - } - while (++i < n) if ((b = array[i]) != null && a > b) a = b; - } else { - while (++i < n) if ((b = f.call(array, array[i], i)) != null && b >= b) { - a = b; - break; - } - while (++i < n) if ((b = f.call(array, array[i], i)) != null && a > b) a = b; - } - return a; - }; - d3.max = function(array, f) { - var i = -1, n = array.length, a, b; - if (arguments.length === 1) { - while (++i < n) if ((b = array[i]) != null && b >= b) { - a = b; - break; - } - while (++i < n) if ((b = array[i]) != null && b > a) a = b; - } else { - while (++i < n) if ((b = f.call(array, array[i], i)) != null && b >= b) { - a = b; - break; - } - while (++i < n) if ((b = f.call(array, array[i], i)) != null && b > a) a = b; - } - return a; - }; - d3.extent = function(array, f) { - var i = -1, n = array.length, a, b, c; - if (arguments.length === 1) { - while (++i < n) if ((b = array[i]) != null && b >= b) { - a = c = b; - break; - } - while (++i < n) if ((b = array[i]) != null) { - if (a > b) a = b; - if (c < b) c = b; - } - } else { - while (++i < n) if ((b = f.call(array, array[i], i)) != null && b >= b) { - a = c = b; - break; - } - while (++i < n) if ((b = f.call(array, array[i], i)) != null) { - if (a > b) a = b; - if (c < b) c = b; - } - } - return [ a, c ]; - }; - function d3_number(x) { - return x === null ? NaN : +x; - } - function d3_numeric(x) { - return !isNaN(x); - } - d3.sum = function(array, f) { - var s = 0, n = array.length, a, i = -1; - if (arguments.length === 1) { - while (++i < n) if (d3_numeric(a = +array[i])) s += a; - } else { - while (++i < n) if (d3_numeric(a = +f.call(array, array[i], i))) s += a; - } - return s; - }; - d3.mean = function(array, f) { - var s = 0, n = array.length, a, i = -1, j = n; - if (arguments.length === 1) { - while (++i < n) if (d3_numeric(a = d3_number(array[i]))) s += a; else --j; - } else { - while (++i < n) if (d3_numeric(a = d3_number(f.call(array, array[i], i)))) s += a; else --j; - } - if (j) return s / j; - }; - d3.quantile = function(values, p) { - var H = (values.length - 1) * p + 1, h = Math.floor(H), v = +values[h - 1], e = H - h; - return e ? v + e * (values[h] - v) : v; - }; - d3.median = function(array, f) { - var numbers = [], n = array.length, a, i = -1; - if (arguments.length === 1) { - while (++i < n) if (d3_numeric(a = d3_number(array[i]))) numbers.push(a); - } else { - while (++i < n) if (d3_numeric(a = d3_number(f.call(array, array[i], i)))) numbers.push(a); - } - if (numbers.length) return d3.quantile(numbers.sort(d3_ascending), .5); - }; - d3.variance = function(array, f) { - var n = array.length, m = 0, a, d, s = 0, i = -1, j = 0; - if (arguments.length === 1) { - while (++i < n) { - if (d3_numeric(a = d3_number(array[i]))) { - d = a - m; - m += d / ++j; - s += d * (a - m); - } - } - } else { - while (++i < n) { - if (d3_numeric(a = d3_number(f.call(array, array[i], i)))) { - d = a - m; - m += d / ++j; - s += d * (a - m); - } - } - } - if (j > 1) return s / (j - 1); - }; - d3.deviation = function() { - var v = d3.variance.apply(this, arguments); - return v ? Math.sqrt(v) : v; - }; - function d3_bisector(compare) { - return { - left: function(a, x, lo, hi) { - if (arguments.length < 3) lo = 0; - if (arguments.length < 4) hi = a.length; - while (lo < hi) { - var mid = lo + hi >>> 1; - if (compare(a[mid], x) < 0) lo = mid + 1; else hi = mid; - } - return lo; - }, - right: function(a, x, lo, hi) { - if (arguments.length < 3) lo = 0; - if (arguments.length < 4) hi = a.length; - while (lo < hi) { - var mid = lo + hi >>> 1; - if (compare(a[mid], x) > 0) hi = mid; else lo = mid + 1; - } - return lo; - } - }; - } - var d3_bisect = d3_bisector(d3_ascending); - d3.bisectLeft = d3_bisect.left; - d3.bisect = d3.bisectRight = d3_bisect.right; - d3.bisector = function(f) { - return d3_bisector(f.length === 1 ? function(d, x) { - return d3_ascending(f(d), x); - } : f); - }; - d3.shuffle = function(array, i0, i1) { - if ((m = arguments.length) < 3) { - i1 = array.length; - if (m < 2) i0 = 0; - } - var m = i1 - i0, t, i; - while (m) { - i = Math.random() * m-- | 0; - t = array[m + i0], array[m + i0] = array[i + i0], array[i + i0] = t; - } - return array; - }; - d3.permute = function(array, indexes) { - var i = indexes.length, permutes = new Array(i); - while (i--) permutes[i] = array[indexes[i]]; - return permutes; - }; - d3.pairs = function(array) { - var i = 0, n = array.length - 1, p0, p1 = array[0], pairs = new Array(n < 0 ? 0 : n); - while (i < n) pairs[i] = [ p0 = p1, p1 = array[++i] ]; - return pairs; - }; - d3.zip = function() { - if (!(n = arguments.length)) return []; - for (var i = -1, m = d3.min(arguments, d3_zipLength), zips = new Array(m); ++i < m; ) { - for (var j = -1, n, zip = zips[i] = new Array(n); ++j < n; ) { - zip[j] = arguments[j][i]; - } - } - return zips; - }; - function d3_zipLength(d) { - return d.length; - } - d3.transpose = function(matrix) { - return d3.zip.apply(d3, matrix); - }; - d3.keys = function(map) { - var keys = []; - for (var key in map) keys.push(key); - return keys; - }; - d3.values = function(map) { - var values = []; - for (var key in map) values.push(map[key]); - return values; - }; - d3.entries = function(map) { - var entries = []; - for (var key in map) entries.push({ - key: key, - value: map[key] - }); - return entries; - }; - d3.merge = function(arrays) { - var n = arrays.length, m, i = -1, j = 0, merged, array; - while (++i < n) j += arrays[i].length; - merged = new Array(j); - while (--n >= 0) { - array = arrays[n]; - m = array.length; - while (--m >= 0) { - merged[--j] = array[m]; - } - } - return merged; - }; - var abs = Math.abs; - d3.range = function(start, stop, step) { - if (arguments.length < 3) { - step = 1; - if (arguments.length < 2) { - stop = start; - start = 0; - } - } - if ((stop - start) / step === Infinity) throw new Error("infinite range"); - var range = [], k = d3_range_integerScale(abs(step)), i = -1, j; - start *= k, stop *= k, step *= k; - if (step < 0) while ((j = start + step * ++i) > stop) range.push(j / k); else while ((j = start + step * ++i) < stop) range.push(j / k); - return range; - }; - function d3_range_integerScale(x) { - var k = 1; - while (x * k % 1) k *= 10; - return k; - } - function d3_class(ctor, properties) { - for (var key in properties) { - Object.defineProperty(ctor.prototype, key, { - value: properties[key], - enumerable: false - }); - } - } - d3.map = function(object, f) { - var map = new d3_Map(); - if (object instanceof d3_Map) { - object.forEach(function(key, value) { - map.set(key, value); - }); - } else if (Array.isArray(object)) { - var i = -1, n = object.length, o; - if (arguments.length === 1) while (++i < n) map.set(i, object[i]); else while (++i < n) map.set(f.call(object, o = object[i], i), o); - } else { - for (var key in object) map.set(key, object[key]); - } - return map; - }; - function d3_Map() { - this._ = Object.create(null); - } - var d3_map_proto = "__proto__", d3_map_zero = "\x00"; - d3_class(d3_Map, { - has: d3_map_has, - get: function(key) { - return this._[d3_map_escape(key)]; - }, - set: function(key, value) { - return this._[d3_map_escape(key)] = value; - }, - remove: d3_map_remove, - keys: d3_map_keys, - values: function() { - var values = []; - for (var key in this._) values.push(this._[key]); - return values; - }, - entries: function() { - var entries = []; - for (var key in this._) entries.push({ - key: d3_map_unescape(key), - value: this._[key] - }); - return entries; - }, - size: d3_map_size, - empty: d3_map_empty, - forEach: function(f) { - for (var key in this._) f.call(this, d3_map_unescape(key), this._[key]); - } - }); - function d3_map_escape(key) { - return (key += "") === d3_map_proto || key[0] === d3_map_zero ? d3_map_zero + key : key; - } - function d3_map_unescape(key) { - return (key += "")[0] === d3_map_zero ? key.slice(1) : key; - } - function d3_map_has(key) { - return d3_map_escape(key) in this._; - } - function d3_map_remove(key) { - return (key = d3_map_escape(key)) in this._ && delete this._[key]; - } - function d3_map_keys() { - var keys = []; - for (var key in this._) keys.push(d3_map_unescape(key)); - return keys; - } - function d3_map_size() { - var size = 0; - for (var key in this._) ++size; - return size; - } - function d3_map_empty() { - for (var key in this._) return false; - return true; - } - d3.nest = function() { - var nest = {}, keys = [], sortKeys = [], sortValues, rollup; - function map(mapType, array, depth) { - if (depth >= keys.length) return rollup ? rollup.call(nest, array) : sortValues ? array.sort(sortValues) : array; - var i = -1, n = array.length, key = keys[depth++], keyValue, object, setter, valuesByKey = new d3_Map(), values; - while (++i < n) { - if (values = valuesByKey.get(keyValue = key(object = array[i]))) { - values.push(object); - } else { - valuesByKey.set(keyValue, [ object ]); - } - } - if (mapType) { - object = mapType(); - setter = function(keyValue, values) { - object.set(keyValue, map(mapType, values, depth)); - }; - } else { - object = {}; - setter = function(keyValue, values) { - object[keyValue] = map(mapType, values, depth); - }; - } - valuesByKey.forEach(setter); - return object; - } - function entries(map, depth) { - if (depth >= keys.length) return map; - var array = [], sortKey = sortKeys[depth++]; - map.forEach(function(key, keyMap) { - array.push({ - key: key, - values: entries(keyMap, depth) - }); - }); - return sortKey ? array.sort(function(a, b) { - return sortKey(a.key, b.key); - }) : array; - } - nest.map = function(array, mapType) { - return map(mapType, array, 0); - }; - nest.entries = function(array) { - return entries(map(d3.map, array, 0), 0); - }; - nest.key = function(d) { - keys.push(d); - return nest; - }; - nest.sortKeys = function(order) { - sortKeys[keys.length - 1] = order; - return nest; - }; - nest.sortValues = function(order) { - sortValues = order; - return nest; - }; - nest.rollup = function(f) { - rollup = f; - return nest; - }; - return nest; - }; - d3.set = function(array) { - var set = new d3_Set(); - if (array) for (var i = 0, n = array.length; i < n; ++i) set.add(array[i]); - return set; - }; - function d3_Set() { - this._ = Object.create(null); - } - d3_class(d3_Set, { - has: d3_map_has, - add: function(key) { - this._[d3_map_escape(key += "")] = true; - return key; - }, - remove: d3_map_remove, - values: d3_map_keys, - size: d3_map_size, - empty: d3_map_empty, - forEach: function(f) { - for (var key in this._) f.call(this, d3_map_unescape(key)); - } - }); - d3.behavior = {}; - d3.rebind = function(target, source) { - var i = 1, n = arguments.length, method; - while (++i < n) target[method = arguments[i]] = d3_rebind(target, source, source[method]); - return target; - }; - function d3_rebind(target, source, method) { - return function() { - var value = method.apply(source, arguments); - return value === source ? target : value; - }; - } - function d3_vendorSymbol(object, name) { - if (name in object) return name; - name = name.charAt(0).toUpperCase() + name.slice(1); - for (var i = 0, n = d3_vendorPrefixes.length; i < n; ++i) { - var prefixName = d3_vendorPrefixes[i] + name; - if (prefixName in object) return prefixName; - } - } - var d3_vendorPrefixes = [ "webkit", "ms", "moz", "Moz", "o", "O" ]; - function d3_noop() {} - d3.dispatch = function() { - var dispatch = new d3_dispatch(), i = -1, n = arguments.length; - while (++i < n) dispatch[arguments[i]] = d3_dispatch_event(dispatch); - return dispatch; - }; - function d3_dispatch() {} - d3_dispatch.prototype.on = function(type, listener) { - var i = type.indexOf("."), name = ""; - if (i >= 0) { - name = type.slice(i + 1); - type = type.slice(0, i); - } - if (type) return arguments.length < 2 ? this[type].on(name) : this[type].on(name, listener); - if (arguments.length === 2) { - if (listener == null) for (type in this) { - if (this.hasOwnProperty(type)) this[type].on(name, null); - } - return this; - } - }; - function d3_dispatch_event(dispatch) { - var listeners = [], listenerByName = new d3_Map(); - function event() { - var z = listeners, i = -1, n = z.length, l; - while (++i < n) if (l = z[i].on) l.apply(this, arguments); - return dispatch; - } - event.on = function(name, listener) { - var l = listenerByName.get(name), i; - if (arguments.length < 2) return l && l.on; - if (l) { - l.on = null; - listeners = listeners.slice(0, i = listeners.indexOf(l)).concat(listeners.slice(i + 1)); - listenerByName.remove(name); - } - if (listener) listeners.push(listenerByName.set(name, { - on: listener - })); - return dispatch; - }; - return event; - } - d3.event = null; - function d3_eventPreventDefault() { - d3.event.preventDefault(); - } - function d3_eventSource() { - var e = d3.event, s; - while (s = e.sourceEvent) e = s; - return e; - } - function d3_eventDispatch(target) { - var dispatch = new d3_dispatch(), i = 0, n = arguments.length; - while (++i < n) dispatch[arguments[i]] = d3_dispatch_event(dispatch); - dispatch.of = function(thiz, argumentz) { - return function(e1) { - try { - var e0 = e1.sourceEvent = d3.event; - e1.target = target; - d3.event = e1; - dispatch[e1.type].apply(thiz, argumentz); - } finally { - d3.event = e0; - } - }; - }; - return dispatch; - } - d3.requote = function(s) { - return s.replace(d3_requote_re, "\\$&"); - }; - var d3_requote_re = /[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g; - var d3_subclass = {}.__proto__ ? function(object, prototype) { - object.__proto__ = prototype; - } : function(object, prototype) { - for (var property in prototype) object[property] = prototype[property]; - }; - function d3_selection(groups) { - d3_subclass(groups, d3_selectionPrototype); - return groups; - } - var d3_select = function(s, n) { - return n.querySelector(s); - }, d3_selectAll = function(s, n) { - return n.querySelectorAll(s); - }, d3_selectMatcher = d3_documentElement.matches || d3_documentElement[d3_vendorSymbol(d3_documentElement, "matchesSelector")], d3_selectMatches = function(n, s) { - return d3_selectMatcher.call(n, s); - }; - if (typeof Sizzle === "function") { - d3_select = function(s, n) { - return Sizzle(s, n)[0] || null; - }; - d3_selectAll = Sizzle; - d3_selectMatches = Sizzle.matchesSelector; - } - d3.selection = function() { - return d3_selectionRoot; - }; - var d3_selectionPrototype = d3.selection.prototype = []; - d3_selectionPrototype.select = function(selector) { - var subgroups = [], subgroup, subnode, group, node; - selector = d3_selection_selector(selector); - for (var j = -1, m = this.length; ++j < m; ) { - subgroups.push(subgroup = []); - subgroup.parentNode = (group = this[j]).parentNode; - for (var i = -1, n = group.length; ++i < n; ) { - if (node = group[i]) { - subgroup.push(subnode = selector.call(node, node.__data__, i, j)); - if (subnode && "__data__" in node) subnode.__data__ = node.__data__; - } else { - subgroup.push(null); - } - } - } - return d3_selection(subgroups); - }; - function d3_selection_selector(selector) { - return typeof selector === "function" ? selector : function() { - return d3_select(selector, this); - }; - } - d3_selectionPrototype.selectAll = function(selector) { - var subgroups = [], subgroup, node; - selector = d3_selection_selectorAll(selector); - for (var j = -1, m = this.length; ++j < m; ) { - for (var group = this[j], i = -1, n = group.length; ++i < n; ) { - if (node = group[i]) { - subgroups.push(subgroup = d3_array(selector.call(node, node.__data__, i, j))); - subgroup.parentNode = node; - } - } - } - return d3_selection(subgroups); - }; - function d3_selection_selectorAll(selector) { - return typeof selector === "function" ? selector : function() { - return d3_selectAll(selector, this); - }; - } - var d3_nsPrefix = { - svg: "http://www.w3.org/2000/svg", - xhtml: "http://www.w3.org/1999/xhtml", - xlink: "http://www.w3.org/1999/xlink", - xml: "http://www.w3.org/XML/1998/namespace", - xmlns: "http://www.w3.org/2000/xmlns/" - }; - d3.ns = { - prefix: d3_nsPrefix, - qualify: function(name) { - var i = name.indexOf(":"), prefix = name; - if (i >= 0) { - prefix = name.slice(0, i); - name = name.slice(i + 1); - } - return d3_nsPrefix.hasOwnProperty(prefix) ? { - space: d3_nsPrefix[prefix], - local: name - } : name; - } - }; - d3_selectionPrototype.attr = function(name, value) { - if (arguments.length < 2) { - if (typeof name === "string") { - var node = this.node(); - name = d3.ns.qualify(name); - return name.local ? node.getAttributeNS(name.space, name.local) : node.getAttribute(name); - } - for (value in name) this.each(d3_selection_attr(value, name[value])); - return this; - } - return this.each(d3_selection_attr(name, value)); - }; - function d3_selection_attr(name, value) { - name = d3.ns.qualify(name); - function attrNull() { - this.removeAttribute(name); - } - function attrNullNS() { - this.removeAttributeNS(name.space, name.local); - } - function attrConstant() { - this.setAttribute(name, value); - } - function attrConstantNS() { - this.setAttributeNS(name.space, name.local, value); - } - function attrFunction() { - var x = value.apply(this, arguments); - if (x == null) this.removeAttribute(name); else this.setAttribute(name, x); - } - function attrFunctionNS() { - var x = value.apply(this, arguments); - if (x == null) this.removeAttributeNS(name.space, name.local); else this.setAttributeNS(name.space, name.local, x); - } - return value == null ? name.local ? attrNullNS : attrNull : typeof value === "function" ? name.local ? attrFunctionNS : attrFunction : name.local ? attrConstantNS : attrConstant; - } - function d3_collapse(s) { - return s.trim().replace(/\s+/g, " "); - } - d3_selectionPrototype.classed = function(name, value) { - if (arguments.length < 2) { - if (typeof name === "string") { - var node = this.node(), n = (name = d3_selection_classes(name)).length, i = -1; - if (value = node.classList) { - while (++i < n) if (!value.contains(name[i])) return false; - } else { - value = node.getAttribute("class"); - while (++i < n) if (!d3_selection_classedRe(name[i]).test(value)) return false; - } - return true; - } - for (value in name) this.each(d3_selection_classed(value, name[value])); - return this; - } - return this.each(d3_selection_classed(name, value)); - }; - function d3_selection_classedRe(name) { - return new RegExp("(?:^|\\s+)" + d3.requote(name) + "(?:\\s+|$)", "g"); - } - function d3_selection_classes(name) { - return (name + "").trim().split(/^|\s+/); - } - function d3_selection_classed(name, value) { - name = d3_selection_classes(name).map(d3_selection_classedName); - var n = name.length; - function classedConstant() { - var i = -1; - while (++i < n) name[i](this, value); - } - function classedFunction() { - var i = -1, x = value.apply(this, arguments); - while (++i < n) name[i](this, x); - } - return typeof value === "function" ? classedFunction : classedConstant; - } - function d3_selection_classedName(name) { - var re = d3_selection_classedRe(name); - return function(node, value) { - if (c = node.classList) return value ? c.add(name) : c.remove(name); - var c = node.getAttribute("class") || ""; - if (value) { - re.lastIndex = 0; - if (!re.test(c)) node.setAttribute("class", d3_collapse(c + " " + name)); - } else { - node.setAttribute("class", d3_collapse(c.replace(re, " "))); - } - }; - } - d3_selectionPrototype.style = function(name, value, priority) { - var n = arguments.length; - if (n < 3) { - if (typeof name !== "string") { - if (n < 2) value = ""; - for (priority in name) this.each(d3_selection_style(priority, name[priority], value)); - return this; - } - if (n < 2) return d3_window.getComputedStyle(this.node(), null).getPropertyValue(name); - priority = ""; - } - return this.each(d3_selection_style(name, value, priority)); - }; - function d3_selection_style(name, value, priority) { - function styleNull() { - this.style.removeProperty(name); - } - function styleConstant() { - this.style.setProperty(name, value, priority); - } - function styleFunction() { - var x = value.apply(this, arguments); - if (x == null) this.style.removeProperty(name); else this.style.setProperty(name, x, priority); - } - return value == null ? styleNull : typeof value === "function" ? styleFunction : styleConstant; - } - d3_selectionPrototype.property = function(name, value) { - if (arguments.length < 2) { - if (typeof name === "string") return this.node()[name]; - for (value in name) this.each(d3_selection_property(value, name[value])); - return this; - } - return this.each(d3_selection_property(name, value)); - }; - function d3_selection_property(name, value) { - function propertyNull() { - delete this[name]; - } - function propertyConstant() { - this[name] = value; - } - function propertyFunction() { - var x = value.apply(this, arguments); - if (x == null) delete this[name]; else this[name] = x; - } - return value == null ? propertyNull : typeof value === "function" ? propertyFunction : propertyConstant; - } - d3_selectionPrototype.text = function(value) { - return arguments.length ? this.each(typeof value === "function" ? function() { - var v = value.apply(this, arguments); - this.textContent = v == null ? "" : v; - } : value == null ? function() { - this.textContent = ""; - } : function() { - this.textContent = value; - }) : this.node().textContent; - }; - d3_selectionPrototype.html = function(value) { - return arguments.length ? this.each(typeof value === "function" ? function() { - var v = value.apply(this, arguments); - this.innerHTML = v == null ? "" : v; - } : value == null ? function() { - this.innerHTML = ""; - } : function() { - this.innerHTML = value; - }) : this.node().innerHTML; - }; - d3_selectionPrototype.append = function(name) { - name = d3_selection_creator(name); - return this.select(function() { - return this.appendChild(name.apply(this, arguments)); - }); - }; - function d3_selection_creator(name) { - return typeof name === "function" ? name : (name = d3.ns.qualify(name)).local ? function() { - return this.ownerDocument.createElementNS(name.space, name.local); - } : function() { - return this.ownerDocument.createElementNS(this.namespaceURI, name); - }; - } - d3_selectionPrototype.insert = function(name, before) { - name = d3_selection_creator(name); - before = d3_selection_selector(before); - return this.select(function() { - return this.insertBefore(name.apply(this, arguments), before.apply(this, arguments) || null); - }); - }; - d3_selectionPrototype.remove = function() { - return this.each(d3_selectionRemove); - }; - function d3_selectionRemove() { - var parent = this.parentNode; - if (parent) parent.removeChild(this); - } - d3_selectionPrototype.data = function(value, key) { - var i = -1, n = this.length, group, node; - if (!arguments.length) { - value = new Array(n = (group = this[0]).length); - while (++i < n) { - if (node = group[i]) { - value[i] = node.__data__; - } - } - return value; - } - function bind(group, groupData) { - var i, n = group.length, m = groupData.length, n0 = Math.min(n, m), updateNodes = new Array(m), enterNodes = new Array(m), exitNodes = new Array(n), node, nodeData; - if (key) { - var nodeByKeyValue = new d3_Map(), keyValues = new Array(n), keyValue; - for (i = -1; ++i < n; ) { - if (nodeByKeyValue.has(keyValue = key.call(node = group[i], node.__data__, i))) { - exitNodes[i] = node; - } else { - nodeByKeyValue.set(keyValue, node); - } - keyValues[i] = keyValue; - } - for (i = -1; ++i < m; ) { - if (!(node = nodeByKeyValue.get(keyValue = key.call(groupData, nodeData = groupData[i], i)))) { - enterNodes[i] = d3_selection_dataNode(nodeData); - } else if (node !== true) { - updateNodes[i] = node; - node.__data__ = nodeData; - } - nodeByKeyValue.set(keyValue, true); - } - for (i = -1; ++i < n; ) { - if (nodeByKeyValue.get(keyValues[i]) !== true) { - exitNodes[i] = group[i]; - } - } - } else { - for (i = -1; ++i < n0; ) { - node = group[i]; - nodeData = groupData[i]; - if (node) { - node.__data__ = nodeData; - updateNodes[i] = node; - } else { - enterNodes[i] = d3_selection_dataNode(nodeData); - } - } - for (;i < m; ++i) { - enterNodes[i] = d3_selection_dataNode(groupData[i]); - } - for (;i < n; ++i) { - exitNodes[i] = group[i]; - } - } - enterNodes.update = updateNodes; - enterNodes.parentNode = updateNodes.parentNode = exitNodes.parentNode = group.parentNode; - enter.push(enterNodes); - update.push(updateNodes); - exit.push(exitNodes); - } - var enter = d3_selection_enter([]), update = d3_selection([]), exit = d3_selection([]); - if (typeof value === "function") { - while (++i < n) { - bind(group = this[i], value.call(group, group.parentNode.__data__, i)); - } - } else { - while (++i < n) { - bind(group = this[i], value); - } - } - update.enter = function() { - return enter; - }; - update.exit = function() { - return exit; - }; - return update; - }; - function d3_selection_dataNode(data) { - return { - __data__: data - }; - } - d3_selectionPrototype.datum = function(value) { - return arguments.length ? this.property("__data__", value) : this.property("__data__"); - }; - d3_selectionPrototype.filter = function(filter) { - var subgroups = [], subgroup, group, node; - if (typeof filter !== "function") filter = d3_selection_filter(filter); - for (var j = 0, m = this.length; j < m; j++) { - subgroups.push(subgroup = []); - subgroup.parentNode = (group = this[j]).parentNode; - for (var i = 0, n = group.length; i < n; i++) { - if ((node = group[i]) && filter.call(node, node.__data__, i, j)) { - subgroup.push(node); - } - } - } - return d3_selection(subgroups); - }; - function d3_selection_filter(selector) { - return function() { - return d3_selectMatches(this, selector); - }; - } - d3_selectionPrototype.order = function() { - for (var j = -1, m = this.length; ++j < m; ) { - for (var group = this[j], i = group.length - 1, next = group[i], node; --i >= 0; ) { - if (node = group[i]) { - if (next && next !== node.nextSibling) next.parentNode.insertBefore(node, next); - next = node; - } - } - } - return this; - }; - d3_selectionPrototype.sort = function(comparator) { - comparator = d3_selection_sortComparator.apply(this, arguments); - for (var j = -1, m = this.length; ++j < m; ) this[j].sort(comparator); - return this.order(); - }; - function d3_selection_sortComparator(comparator) { - if (!arguments.length) comparator = d3_ascending; - return function(a, b) { - return a && b ? comparator(a.__data__, b.__data__) : !a - !b; - }; - } - d3_selectionPrototype.each = function(callback) { - return d3_selection_each(this, function(node, i, j) { - callback.call(node, node.__data__, i, j); - }); - }; - function d3_selection_each(groups, callback) { - for (var j = 0, m = groups.length; j < m; j++) { - for (var group = groups[j], i = 0, n = group.length, node; i < n; i++) { - if (node = group[i]) callback(node, i, j); - } - } - return groups; - } - d3_selectionPrototype.call = function(callback) { - var args = d3_array(arguments); - callback.apply(args[0] = this, args); - return this; - }; - d3_selectionPrototype.empty = function() { - return !this.node(); - }; - d3_selectionPrototype.node = function() { - for (var j = 0, m = this.length; j < m; j++) { - for (var group = this[j], i = 0, n = group.length; i < n; i++) { - var node = group[i]; - if (node) return node; - } - } - return null; - }; - d3_selectionPrototype.size = function() { - var n = 0; - d3_selection_each(this, function() { - ++n; - }); - return n; - }; - function d3_selection_enter(selection) { - d3_subclass(selection, d3_selection_enterPrototype); - return selection; - } - var d3_selection_enterPrototype = []; - d3.selection.enter = d3_selection_enter; - d3.selection.enter.prototype = d3_selection_enterPrototype; - d3_selection_enterPrototype.append = d3_selectionPrototype.append; - d3_selection_enterPrototype.empty = d3_selectionPrototype.empty; - d3_selection_enterPrototype.node = d3_selectionPrototype.node; - d3_selection_enterPrototype.call = d3_selectionPrototype.call; - d3_selection_enterPrototype.size = d3_selectionPrototype.size; - d3_selection_enterPrototype.select = function(selector) { - var subgroups = [], subgroup, subnode, upgroup, group, node; - for (var j = -1, m = this.length; ++j < m; ) { - upgroup = (group = this[j]).update; - subgroups.push(subgroup = []); - subgroup.parentNode = group.parentNode; - for (var i = -1, n = group.length; ++i < n; ) { - if (node = group[i]) { - subgroup.push(upgroup[i] = subnode = selector.call(group.parentNode, node.__data__, i, j)); - subnode.__data__ = node.__data__; - } else { - subgroup.push(null); - } - } - } - return d3_selection(subgroups); - }; - d3_selection_enterPrototype.insert = function(name, before) { - if (arguments.length < 2) before = d3_selection_enterInsertBefore(this); - return d3_selectionPrototype.insert.call(this, name, before); - }; - function d3_selection_enterInsertBefore(enter) { - var i0, j0; - return function(d, i, j) { - var group = enter[j].update, n = group.length, node; - if (j != j0) j0 = j, i0 = 0; - if (i >= i0) i0 = i + 1; - while (!(node = group[i0]) && ++i0 < n) ; - return node; - }; - } - d3.select = function(node) { - var group = [ typeof node === "string" ? d3_select(node, d3_document) : node ]; - group.parentNode = d3_documentElement; - return d3_selection([ group ]); - }; - d3.selectAll = function(nodes) { - var group = d3_array(typeof nodes === "string" ? d3_selectAll(nodes, d3_document) : nodes); - group.parentNode = d3_documentElement; - return d3_selection([ group ]); - }; - var d3_selectionRoot = d3.select(d3_documentElement); - d3_selectionPrototype.on = function(type, listener, capture) { - var n = arguments.length; - if (n < 3) { - if (typeof type !== "string") { - if (n < 2) listener = false; - for (capture in type) this.each(d3_selection_on(capture, type[capture], listener)); - return this; - } - if (n < 2) return (n = this.node()["__on" + type]) && n._; - capture = false; - } - return this.each(d3_selection_on(type, listener, capture)); - }; - function d3_selection_on(type, listener, capture) { - var name = "__on" + type, i = type.indexOf("."), wrap = d3_selection_onListener; - if (i > 0) type = type.slice(0, i); - var filter = d3_selection_onFilters.get(type); - if (filter) type = filter, wrap = d3_selection_onFilter; - function onRemove() { - var l = this[name]; - if (l) { - this.removeEventListener(type, l, l.$); - delete this[name]; - } - } - function onAdd() { - var l = wrap(listener, d3_array(arguments)); - onRemove.call(this); - this.addEventListener(type, this[name] = l, l.$ = capture); - l._ = listener; - } - function removeAll() { - var re = new RegExp("^__on([^.]+)" + d3.requote(type) + "$"), match; - for (var name in this) { - if (match = name.match(re)) { - var l = this[name]; - this.removeEventListener(match[1], l, l.$); - delete this[name]; - } - } - } - return i ? listener ? onAdd : onRemove : listener ? d3_noop : removeAll; - } - var d3_selection_onFilters = d3.map({ - mouseenter: "mouseover", - mouseleave: "mouseout" - }); - d3_selection_onFilters.forEach(function(k) { - if ("on" + k in d3_document) d3_selection_onFilters.remove(k); - }); - function d3_selection_onListener(listener, argumentz) { - return function(e) { - var o = d3.event; - d3.event = e; - argumentz[0] = this.__data__; - try { - listener.apply(this, argumentz); - } finally { - d3.event = o; - } - }; - } - function d3_selection_onFilter(listener, argumentz) { - var l = d3_selection_onListener(listener, argumentz); - return function(e) { - var target = this, related = e.relatedTarget; - if (!related || related !== target && !(related.compareDocumentPosition(target) & 8)) { - l.call(target, e); - } - }; - } - var d3_event_dragSelect = "onselectstart" in d3_document ? null : d3_vendorSymbol(d3_documentElement.style, "userSelect"), d3_event_dragId = 0; - function d3_event_dragSuppress() { - var name = ".dragsuppress-" + ++d3_event_dragId, click = "click" + name, w = d3.select(d3_window).on("touchmove" + name, d3_eventPreventDefault).on("dragstart" + name, d3_eventPreventDefault).on("selectstart" + name, d3_eventPreventDefault); - if (d3_event_dragSelect) { - var style = d3_documentElement.style, select = style[d3_event_dragSelect]; - style[d3_event_dragSelect] = "none"; - } - return function(suppressClick) { - w.on(name, null); - if (d3_event_dragSelect) style[d3_event_dragSelect] = select; - if (suppressClick) { - var off = function() { - w.on(click, null); - }; - w.on(click, function() { - d3_eventPreventDefault(); - off(); - }, true); - setTimeout(off, 0); - } - }; - } - d3.mouse = function(container) { - return d3_mousePoint(container, d3_eventSource()); - }; - var d3_mouse_bug44083 = /WebKit/.test(d3_window.navigator.userAgent) ? -1 : 0; - function d3_mousePoint(container, e) { - if (e.changedTouches) e = e.changedTouches[0]; - var svg = container.ownerSVGElement || container; - if (svg.createSVGPoint) { - var point = svg.createSVGPoint(); - if (d3_mouse_bug44083 < 0 && (d3_window.scrollX || d3_window.scrollY)) { - svg = d3.select("body").append("svg").style({ - position: "absolute", - top: 0, - left: 0, - margin: 0, - padding: 0, - border: "none" - }, "important"); - var ctm = svg[0][0].getScreenCTM(); - d3_mouse_bug44083 = !(ctm.f || ctm.e); - svg.remove(); - } - if (d3_mouse_bug44083) point.x = e.pageX, point.y = e.pageY; else point.x = e.clientX, - point.y = e.clientY; - point = point.matrixTransform(container.getScreenCTM().inverse()); - return [ point.x, point.y ]; - } - var rect = container.getBoundingClientRect(); - return [ e.clientX - rect.left - container.clientLeft, e.clientY - rect.top - container.clientTop ]; - } - d3.touch = function(container, touches, identifier) { - if (arguments.length < 3) identifier = touches, touches = d3_eventSource().changedTouches; - if (touches) for (var i = 0, n = touches.length, touch; i < n; ++i) { - if ((touch = touches[i]).identifier === identifier) { - return d3_mousePoint(container, touch); - } - } - }; - d3.behavior.drag = function() { - var event = d3_eventDispatch(drag, "drag", "dragstart", "dragend"), origin = null, mousedown = dragstart(d3_noop, d3.mouse, d3_behavior_dragMouseSubject, "mousemove", "mouseup"), touchstart = dragstart(d3_behavior_dragTouchId, d3.touch, d3_behavior_dragTouchSubject, "touchmove", "touchend"); - function drag() { - this.on("mousedown.drag", mousedown).on("touchstart.drag", touchstart); - } - function dragstart(id, position, subject, move, end) { - return function() { - var that = this, target = d3.event.target, parent = that.parentNode, dispatch = event.of(that, arguments), dragged = 0, dragId = id(), dragName = ".drag" + (dragId == null ? "" : "-" + dragId), dragOffset, dragSubject = d3.select(subject()).on(move + dragName, moved).on(end + dragName, ended), dragRestore = d3_event_dragSuppress(), position0 = position(parent, dragId); - if (origin) { - dragOffset = origin.apply(that, arguments); - dragOffset = [ dragOffset.x - position0[0], dragOffset.y - position0[1] ]; - } else { - dragOffset = [ 0, 0 ]; - } - dispatch({ - type: "dragstart" - }); - function moved() { - var position1 = position(parent, dragId), dx, dy; - if (!position1) return; - dx = position1[0] - position0[0]; - dy = position1[1] - position0[1]; - dragged |= dx | dy; - position0 = position1; - dispatch({ - type: "drag", - x: position1[0] + dragOffset[0], - y: position1[1] + dragOffset[1], - dx: dx, - dy: dy - }); - } - function ended() { - if (!position(parent, dragId)) return; - dragSubject.on(move + dragName, null).on(end + dragName, null); - dragRestore(dragged && d3.event.target === target); - dispatch({ - type: "dragend" - }); - } - }; - } - drag.origin = function(x) { - if (!arguments.length) return origin; - origin = x; - return drag; - }; - return d3.rebind(drag, event, "on"); - }; - function d3_behavior_dragTouchId() { - return d3.event.changedTouches[0].identifier; - } - function d3_behavior_dragTouchSubject() { - return d3.event.target; - } - function d3_behavior_dragMouseSubject() { - return d3_window; - } - d3.touches = function(container, touches) { - if (arguments.length < 2) touches = d3_eventSource().touches; - return touches ? d3_array(touches).map(function(touch) { - var point = d3_mousePoint(container, touch); - point.identifier = touch.identifier; - return point; - }) : []; - }; - var ε = 1e-6, ε2 = ε * ε, π = Math.PI, τ = 2 * π, τε = τ - ε, halfπ = π / 2, d3_radians = π / 180, d3_degrees = 180 / π; - function d3_sgn(x) { - return x > 0 ? 1 : x < 0 ? -1 : 0; - } - function d3_cross2d(a, b, c) { - return (b[0] - a[0]) * (c[1] - a[1]) - (b[1] - a[1]) * (c[0] - a[0]); - } - function d3_acos(x) { - return x > 1 ? 0 : x < -1 ? π : Math.acos(x); - } - function d3_asin(x) { - return x > 1 ? halfπ : x < -1 ? -halfπ : Math.asin(x); - } - function d3_sinh(x) { - return ((x = Math.exp(x)) - 1 / x) / 2; - } - function d3_cosh(x) { - return ((x = Math.exp(x)) + 1 / x) / 2; - } - function d3_tanh(x) { - return ((x = Math.exp(2 * x)) - 1) / (x + 1); - } - function d3_haversin(x) { - return (x = Math.sin(x / 2)) * x; - } - var ρ = Math.SQRT2, ρ2 = 2, ρ4 = 4; - d3.interpolateZoom = function(p0, p1) { - var ux0 = p0[0], uy0 = p0[1], w0 = p0[2], ux1 = p1[0], uy1 = p1[1], w1 = p1[2]; - var dx = ux1 - ux0, dy = uy1 - uy0, d2 = dx * dx + dy * dy, d1 = Math.sqrt(d2), b0 = (w1 * w1 - w0 * w0 + ρ4 * d2) / (2 * w0 * ρ2 * d1), b1 = (w1 * w1 - w0 * w0 - ρ4 * d2) / (2 * w1 * ρ2 * d1), r0 = Math.log(Math.sqrt(b0 * b0 + 1) - b0), r1 = Math.log(Math.sqrt(b1 * b1 + 1) - b1), dr = r1 - r0, S = (dr || Math.log(w1 / w0)) / ρ; - function interpolate(t) { - var s = t * S; - if (dr) { - var coshr0 = d3_cosh(r0), u = w0 / (ρ2 * d1) * (coshr0 * d3_tanh(ρ * s + r0) - d3_sinh(r0)); - return [ ux0 + u * dx, uy0 + u * dy, w0 * coshr0 / d3_cosh(ρ * s + r0) ]; - } - return [ ux0 + t * dx, uy0 + t * dy, w0 * Math.exp(ρ * s) ]; - } - interpolate.duration = S * 1e3; - return interpolate; - }; - d3.behavior.zoom = function() { - var view = { - x: 0, - y: 0, - k: 1 - }, translate0, center0, center, size = [ 960, 500 ], scaleExtent = d3_behavior_zoomInfinity, duration = 250, zooming = 0, mousedown = "mousedown.zoom", mousemove = "mousemove.zoom", mouseup = "mouseup.zoom", mousewheelTimer, touchstart = "touchstart.zoom", touchtime, event = d3_eventDispatch(zoom, "zoomstart", "zoom", "zoomend"), x0, x1, y0, y1; - function zoom(g) { - g.on(mousedown, mousedowned).on(d3_behavior_zoomWheel + ".zoom", mousewheeled).on("dblclick.zoom", dblclicked).on(touchstart, touchstarted); - } - zoom.event = function(g) { - g.each(function() { - var dispatch = event.of(this, arguments), view1 = view; - if (d3_transitionInheritId) { - d3.select(this).transition().each("start.zoom", function() { - view = this.__chart__ || { - x: 0, - y: 0, - k: 1 - }; - zoomstarted(dispatch); - }).tween("zoom:zoom", function() { - var dx = size[0], dy = size[1], cx = center0 ? center0[0] : dx / 2, cy = center0 ? center0[1] : dy / 2, i = d3.interpolateZoom([ (cx - view.x) / view.k, (cy - view.y) / view.k, dx / view.k ], [ (cx - view1.x) / view1.k, (cy - view1.y) / view1.k, dx / view1.k ]); - return function(t) { - var l = i(t), k = dx / l[2]; - this.__chart__ = view = { - x: cx - l[0] * k, - y: cy - l[1] * k, - k: k - }; - zoomed(dispatch); - }; - }).each("interrupt.zoom", function() { - zoomended(dispatch); - }).each("end.zoom", function() { - zoomended(dispatch); - }); - } else { - this.__chart__ = view; - zoomstarted(dispatch); - zoomed(dispatch); - zoomended(dispatch); - } - }); - }; - zoom.translate = function(_) { - if (!arguments.length) return [ view.x, view.y ]; - view = { - x: +_[0], - y: +_[1], - k: view.k - }; - rescale(); - return zoom; - }; - zoom.scale = function(_) { - if (!arguments.length) return view.k; - view = { - x: view.x, - y: view.y, - k: +_ - }; - rescale(); - return zoom; - }; - zoom.scaleExtent = function(_) { - if (!arguments.length) return scaleExtent; - scaleExtent = _ == null ? d3_behavior_zoomInfinity : [ +_[0], +_[1] ]; - return zoom; - }; - zoom.center = function(_) { - if (!arguments.length) return center; - center = _ && [ +_[0], +_[1] ]; - return zoom; - }; - zoom.size = function(_) { - if (!arguments.length) return size; - size = _ && [ +_[0], +_[1] ]; - return zoom; - }; - zoom.duration = function(_) { - if (!arguments.length) return duration; - duration = +_; - return zoom; - }; - zoom.x = function(z) { - if (!arguments.length) return x1; - x1 = z; - x0 = z.copy(); - view = { - x: 0, - y: 0, - k: 1 - }; - return zoom; - }; - zoom.y = function(z) { - if (!arguments.length) return y1; - y1 = z; - y0 = z.copy(); - view = { - x: 0, - y: 0, - k: 1 - }; - return zoom; - }; - function location(p) { - return [ (p[0] - view.x) / view.k, (p[1] - view.y) / view.k ]; - } - function point(l) { - return [ l[0] * view.k + view.x, l[1] * view.k + view.y ]; - } - function scaleTo(s) { - view.k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], s)); - } - function translateTo(p, l) { - l = point(l); - view.x += p[0] - l[0]; - view.y += p[1] - l[1]; - } - function zoomTo(that, p, l, k) { - that.__chart__ = { - x: view.x, - y: view.y, - k: view.k - }; - scaleTo(Math.pow(2, k)); - translateTo(center0 = p, l); - that = d3.select(that); - if (duration > 0) that = that.transition().duration(duration); - that.call(zoom.event); - } - function rescale() { - if (x1) x1.domain(x0.range().map(function(x) { - return (x - view.x) / view.k; - }).map(x0.invert)); - if (y1) y1.domain(y0.range().map(function(y) { - return (y - view.y) / view.k; - }).map(y0.invert)); - } - function zoomstarted(dispatch) { - if (!zooming++) dispatch({ - type: "zoomstart" - }); - } - function zoomed(dispatch) { - rescale(); - dispatch({ - type: "zoom", - scale: view.k, - translate: [ view.x, view.y ] - }); - } - function zoomended(dispatch) { - if (!--zooming) dispatch({ - type: "zoomend" - }); - center0 = null; - } - function mousedowned() { - var that = this, target = d3.event.target, dispatch = event.of(that, arguments), dragged = 0, subject = d3.select(d3_window).on(mousemove, moved).on(mouseup, ended), location0 = location(d3.mouse(that)), dragRestore = d3_event_dragSuppress(); - d3_selection_interrupt.call(that); - zoomstarted(dispatch); - function moved() { - dragged = 1; - translateTo(d3.mouse(that), location0); - zoomed(dispatch); - } - function ended() { - subject.on(mousemove, null).on(mouseup, null); - dragRestore(dragged && d3.event.target === target); - zoomended(dispatch); - } - } - function touchstarted() { - var that = this, dispatch = event.of(that, arguments), locations0 = {}, distance0 = 0, scale0, zoomName = ".zoom-" + d3.event.changedTouches[0].identifier, touchmove = "touchmove" + zoomName, touchend = "touchend" + zoomName, targets = [], subject = d3.select(that), dragRestore = d3_event_dragSuppress(); - started(); - zoomstarted(dispatch); - subject.on(mousedown, null).on(touchstart, started); - function relocate() { - var touches = d3.touches(that); - scale0 = view.k; - touches.forEach(function(t) { - if (t.identifier in locations0) locations0[t.identifier] = location(t); - }); - return touches; - } - function started() { - var target = d3.event.target; - d3.select(target).on(touchmove, moved).on(touchend, ended); - targets.push(target); - var changed = d3.event.changedTouches; - for (var i = 0, n = changed.length; i < n; ++i) { - locations0[changed[i].identifier] = null; - } - var touches = relocate(), now = Date.now(); - if (touches.length === 1) { - if (now - touchtime < 500) { - var p = touches[0]; - zoomTo(that, p, locations0[p.identifier], Math.floor(Math.log(view.k) / Math.LN2) + 1); - d3_eventPreventDefault(); - } - touchtime = now; - } else if (touches.length > 1) { - var p = touches[0], q = touches[1], dx = p[0] - q[0], dy = p[1] - q[1]; - distance0 = dx * dx + dy * dy; - } - } - function moved() { - var touches = d3.touches(that), p0, l0, p1, l1; - d3_selection_interrupt.call(that); - for (var i = 0, n = touches.length; i < n; ++i, l1 = null) { - p1 = touches[i]; - if (l1 = locations0[p1.identifier]) { - if (l0) break; - p0 = p1, l0 = l1; - } - } - if (l1) { - var distance1 = (distance1 = p1[0] - p0[0]) * distance1 + (distance1 = p1[1] - p0[1]) * distance1, scale1 = distance0 && Math.sqrt(distance1 / distance0); - p0 = [ (p0[0] + p1[0]) / 2, (p0[1] + p1[1]) / 2 ]; - l0 = [ (l0[0] + l1[0]) / 2, (l0[1] + l1[1]) / 2 ]; - scaleTo(scale1 * scale0); - } - touchtime = null; - translateTo(p0, l0); - zoomed(dispatch); - } - function ended() { - if (d3.event.touches.length) { - var changed = d3.event.changedTouches; - for (var i = 0, n = changed.length; i < n; ++i) { - delete locations0[changed[i].identifier]; - } - for (var identifier in locations0) { - return void relocate(); - } - } - d3.selectAll(targets).on(zoomName, null); - subject.on(mousedown, mousedowned).on(touchstart, touchstarted); - dragRestore(); - zoomended(dispatch); - } - } - function mousewheeled() { - var dispatch = event.of(this, arguments); - if (mousewheelTimer) clearTimeout(mousewheelTimer); else translate0 = location(center0 = center || d3.mouse(this)), - d3_selection_interrupt.call(this), zoomstarted(dispatch); - mousewheelTimer = setTimeout(function() { - mousewheelTimer = null; - zoomended(dispatch); - }, 50); - d3_eventPreventDefault(); - scaleTo(Math.pow(2, d3_behavior_zoomDelta() * .002) * view.k); - translateTo(center0, translate0); - zoomed(dispatch); - } - function dblclicked() { - var p = d3.mouse(this), k = Math.log(view.k) / Math.LN2; - zoomTo(this, p, location(p), d3.event.shiftKey ? Math.ceil(k) - 1 : Math.floor(k) + 1); - } - return d3.rebind(zoom, event, "on"); - }; - var d3_behavior_zoomInfinity = [ 0, Infinity ]; - var d3_behavior_zoomDelta, d3_behavior_zoomWheel = "onwheel" in d3_document ? (d3_behavior_zoomDelta = function() { - return -d3.event.deltaY * (d3.event.deltaMode ? 120 : 1); - }, "wheel") : "onmousewheel" in d3_document ? (d3_behavior_zoomDelta = function() { - return d3.event.wheelDelta; - }, "mousewheel") : (d3_behavior_zoomDelta = function() { - return -d3.event.detail; - }, "MozMousePixelScroll"); - d3.color = d3_color; - function d3_color() {} - d3_color.prototype.toString = function() { - return this.rgb() + ""; - }; - d3.hsl = d3_hsl; - function d3_hsl(h, s, l) { - return this instanceof d3_hsl ? void (this.h = +h, this.s = +s, this.l = +l) : arguments.length < 2 ? h instanceof d3_hsl ? new d3_hsl(h.h, h.s, h.l) : d3_rgb_parse("" + h, d3_rgb_hsl, d3_hsl) : new d3_hsl(h, s, l); - } - var d3_hslPrototype = d3_hsl.prototype = new d3_color(); - d3_hslPrototype.brighter = function(k) { - k = Math.pow(.7, arguments.length ? k : 1); - return new d3_hsl(this.h, this.s, this.l / k); - }; - d3_hslPrototype.darker = function(k) { - k = Math.pow(.7, arguments.length ? k : 1); - return new d3_hsl(this.h, this.s, k * this.l); - }; - d3_hslPrototype.rgb = function() { - return d3_hsl_rgb(this.h, this.s, this.l); - }; - function d3_hsl_rgb(h, s, l) { - var m1, m2; - h = isNaN(h) ? 0 : (h %= 360) < 0 ? h + 360 : h; - s = isNaN(s) ? 0 : s < 0 ? 0 : s > 1 ? 1 : s; - l = l < 0 ? 0 : l > 1 ? 1 : l; - m2 = l <= .5 ? l * (1 + s) : l + s - l * s; - m1 = 2 * l - m2; - function v(h) { - if (h > 360) h -= 360; else if (h < 0) h += 360; - if (h < 60) return m1 + (m2 - m1) * h / 60; - if (h < 180) return m2; - if (h < 240) return m1 + (m2 - m1) * (240 - h) / 60; - return m1; - } - function vv(h) { - return Math.round(v(h) * 255); - } - return new d3_rgb(vv(h + 120), vv(h), vv(h - 120)); - } - d3.hcl = d3_hcl; - function d3_hcl(h, c, l) { - return this instanceof d3_hcl ? void (this.h = +h, this.c = +c, this.l = +l) : arguments.length < 2 ? h instanceof d3_hcl ? new d3_hcl(h.h, h.c, h.l) : h instanceof d3_lab ? d3_lab_hcl(h.l, h.a, h.b) : d3_lab_hcl((h = d3_rgb_lab((h = d3.rgb(h)).r, h.g, h.b)).l, h.a, h.b) : new d3_hcl(h, c, l); - } - var d3_hclPrototype = d3_hcl.prototype = new d3_color(); - d3_hclPrototype.brighter = function(k) { - return new d3_hcl(this.h, this.c, Math.min(100, this.l + d3_lab_K * (arguments.length ? k : 1))); - }; - d3_hclPrototype.darker = function(k) { - return new d3_hcl(this.h, this.c, Math.max(0, this.l - d3_lab_K * (arguments.length ? k : 1))); - }; - d3_hclPrototype.rgb = function() { - return d3_hcl_lab(this.h, this.c, this.l).rgb(); - }; - function d3_hcl_lab(h, c, l) { - if (isNaN(h)) h = 0; - if (isNaN(c)) c = 0; - return new d3_lab(l, Math.cos(h *= d3_radians) * c, Math.sin(h) * c); - } - d3.lab = d3_lab; - function d3_lab(l, a, b) { - return this instanceof d3_lab ? void (this.l = +l, this.a = +a, this.b = +b) : arguments.length < 2 ? l instanceof d3_lab ? new d3_lab(l.l, l.a, l.b) : l instanceof d3_hcl ? d3_hcl_lab(l.h, l.c, l.l) : d3_rgb_lab((l = d3_rgb(l)).r, l.g, l.b) : new d3_lab(l, a, b); - } - var d3_lab_K = 18; - var d3_lab_X = .95047, d3_lab_Y = 1, d3_lab_Z = 1.08883; - var d3_labPrototype = d3_lab.prototype = new d3_color(); - d3_labPrototype.brighter = function(k) { - return new d3_lab(Math.min(100, this.l + d3_lab_K * (arguments.length ? k : 1)), this.a, this.b); - }; - d3_labPrototype.darker = function(k) { - return new d3_lab(Math.max(0, this.l - d3_lab_K * (arguments.length ? k : 1)), this.a, this.b); - }; - d3_labPrototype.rgb = function() { - return d3_lab_rgb(this.l, this.a, this.b); - }; - function d3_lab_rgb(l, a, b) { - var y = (l + 16) / 116, x = y + a / 500, z = y - b / 200; - x = d3_lab_xyz(x) * d3_lab_X; - y = d3_lab_xyz(y) * d3_lab_Y; - z = d3_lab_xyz(z) * d3_lab_Z; - return new d3_rgb(d3_xyz_rgb(3.2404542 * x - 1.5371385 * y - .4985314 * z), d3_xyz_rgb(-.969266 * x + 1.8760108 * y + .041556 * z), d3_xyz_rgb(.0556434 * x - .2040259 * y + 1.0572252 * z)); - } - function d3_lab_hcl(l, a, b) { - return l > 0 ? new d3_hcl(Math.atan2(b, a) * d3_degrees, Math.sqrt(a * a + b * b), l) : new d3_hcl(NaN, NaN, l); - } - function d3_lab_xyz(x) { - return x > .206893034 ? x * x * x : (x - 4 / 29) / 7.787037; - } - function d3_xyz_lab(x) { - return x > .008856 ? Math.pow(x, 1 / 3) : 7.787037 * x + 4 / 29; - } - function d3_xyz_rgb(r) { - return Math.round(255 * (r <= .00304 ? 12.92 * r : 1.055 * Math.pow(r, 1 / 2.4) - .055)); - } - d3.rgb = d3_rgb; - function d3_rgb(r, g, b) { - return this instanceof d3_rgb ? void (this.r = ~~r, this.g = ~~g, this.b = ~~b) : arguments.length < 2 ? r instanceof d3_rgb ? new d3_rgb(r.r, r.g, r.b) : d3_rgb_parse("" + r, d3_rgb, d3_hsl_rgb) : new d3_rgb(r, g, b); - } - function d3_rgbNumber(value) { - return new d3_rgb(value >> 16, value >> 8 & 255, value & 255); - } - function d3_rgbString(value) { - return d3_rgbNumber(value) + ""; - } - var d3_rgbPrototype = d3_rgb.prototype = new d3_color(); - d3_rgbPrototype.brighter = function(k) { - k = Math.pow(.7, arguments.length ? k : 1); - var r = this.r, g = this.g, b = this.b, i = 30; - if (!r && !g && !b) return new d3_rgb(i, i, i); - if (r && r < i) r = i; - if (g && g < i) g = i; - if (b && b < i) b = i; - return new d3_rgb(Math.min(255, r / k), Math.min(255, g / k), Math.min(255, b / k)); - }; - d3_rgbPrototype.darker = function(k) { - k = Math.pow(.7, arguments.length ? k : 1); - return new d3_rgb(k * this.r, k * this.g, k * this.b); - }; - d3_rgbPrototype.hsl = function() { - return d3_rgb_hsl(this.r, this.g, this.b); - }; - d3_rgbPrototype.toString = function() { - return "#" + d3_rgb_hex(this.r) + d3_rgb_hex(this.g) + d3_rgb_hex(this.b); - }; - function d3_rgb_hex(v) { - return v < 16 ? "0" + Math.max(0, v).toString(16) : Math.min(255, v).toString(16); - } - function d3_rgb_parse(format, rgb, hsl) { - var r = 0, g = 0, b = 0, m1, m2, color; - m1 = /([a-z]+)\((.*)\)/i.exec(format); - if (m1) { - m2 = m1[2].split(","); - switch (m1[1]) { - case "hsl": - { - return hsl(parseFloat(m2[0]), parseFloat(m2[1]) / 100, parseFloat(m2[2]) / 100); - } - - case "rgb": - { - return rgb(d3_rgb_parseNumber(m2[0]), d3_rgb_parseNumber(m2[1]), d3_rgb_parseNumber(m2[2])); - } - } - } - if (color = d3_rgb_names.get(format)) return rgb(color.r, color.g, color.b); - if (format != null && format.charAt(0) === "#" && !isNaN(color = parseInt(format.slice(1), 16))) { - if (format.length === 4) { - r = (color & 3840) >> 4; - r = r >> 4 | r; - g = color & 240; - g = g >> 4 | g; - b = color & 15; - b = b << 4 | b; - } else if (format.length === 7) { - r = (color & 16711680) >> 16; - g = (color & 65280) >> 8; - b = color & 255; - } - } - return rgb(r, g, b); - } - function d3_rgb_hsl(r, g, b) { - var min = Math.min(r /= 255, g /= 255, b /= 255), max = Math.max(r, g, b), d = max - min, h, s, l = (max + min) / 2; - if (d) { - s = l < .5 ? d / (max + min) : d / (2 - max - min); - if (r == max) h = (g - b) / d + (g < b ? 6 : 0); else if (g == max) h = (b - r) / d + 2; else h = (r - g) / d + 4; - h *= 60; - } else { - h = NaN; - s = l > 0 && l < 1 ? 0 : h; - } - return new d3_hsl(h, s, l); - } - function d3_rgb_lab(r, g, b) { - r = d3_rgb_xyz(r); - g = d3_rgb_xyz(g); - b = d3_rgb_xyz(b); - var x = d3_xyz_lab((.4124564 * r + .3575761 * g + .1804375 * b) / d3_lab_X), y = d3_xyz_lab((.2126729 * r + .7151522 * g + .072175 * b) / d3_lab_Y), z = d3_xyz_lab((.0193339 * r + .119192 * g + .9503041 * b) / d3_lab_Z); - return d3_lab(116 * y - 16, 500 * (x - y), 200 * (y - z)); - } - function d3_rgb_xyz(r) { - return (r /= 255) <= .04045 ? r / 12.92 : Math.pow((r + .055) / 1.055, 2.4); - } - function d3_rgb_parseNumber(c) { - var f = parseFloat(c); - return c.charAt(c.length - 1) === "%" ? Math.round(f * 2.55) : f; - } - var d3_rgb_names = d3.map({ - aliceblue: 15792383, - antiquewhite: 16444375, - aqua: 65535, - aquamarine: 8388564, - azure: 15794175, - beige: 16119260, - bisque: 16770244, - black: 0, - blanchedalmond: 16772045, - blue: 255, - blueviolet: 9055202, - brown: 10824234, - burlywood: 14596231, - cadetblue: 6266528, - chartreuse: 8388352, - chocolate: 13789470, - coral: 16744272, - cornflowerblue: 6591981, - cornsilk: 16775388, - crimson: 14423100, - cyan: 65535, - darkblue: 139, - darkcyan: 35723, - darkgoldenrod: 12092939, - darkgray: 11119017, - darkgreen: 25600, - darkgrey: 11119017, - darkkhaki: 12433259, - darkmagenta: 9109643, - darkolivegreen: 5597999, - darkorange: 16747520, - darkorchid: 10040012, - darkred: 9109504, - darksalmon: 15308410, - darkseagreen: 9419919, - darkslateblue: 4734347, - darkslategray: 3100495, - darkslategrey: 3100495, - darkturquoise: 52945, - darkviolet: 9699539, - deeppink: 16716947, - deepskyblue: 49151, - dimgray: 6908265, - dimgrey: 6908265, - dodgerblue: 2003199, - firebrick: 11674146, - floralwhite: 16775920, - forestgreen: 2263842, - fuchsia: 16711935, - gainsboro: 14474460, - ghostwhite: 16316671, - gold: 16766720, - goldenrod: 14329120, - gray: 8421504, - green: 32768, - greenyellow: 11403055, - grey: 8421504, - honeydew: 15794160, - hotpink: 16738740, - indianred: 13458524, - indigo: 4915330, - ivory: 16777200, - khaki: 15787660, - lavender: 15132410, - lavenderblush: 16773365, - lawngreen: 8190976, - lemonchiffon: 16775885, - lightblue: 11393254, - lightcoral: 15761536, - lightcyan: 14745599, - lightgoldenrodyellow: 16448210, - lightgray: 13882323, - lightgreen: 9498256, - lightgrey: 13882323, - lightpink: 16758465, - lightsalmon: 16752762, - lightseagreen: 2142890, - lightskyblue: 8900346, - lightslategray: 7833753, - lightslategrey: 7833753, - lightsteelblue: 11584734, - lightyellow: 16777184, - lime: 65280, - limegreen: 3329330, - linen: 16445670, - magenta: 16711935, - maroon: 8388608, - mediumaquamarine: 6737322, - mediumblue: 205, - mediumorchid: 12211667, - mediumpurple: 9662683, - mediumseagreen: 3978097, - mediumslateblue: 8087790, - mediumspringgreen: 64154, - mediumturquoise: 4772300, - mediumvioletred: 13047173, - midnightblue: 1644912, - mintcream: 16121850, - mistyrose: 16770273, - moccasin: 16770229, - navajowhite: 16768685, - navy: 128, - oldlace: 16643558, - olive: 8421376, - olivedrab: 7048739, - orange: 16753920, - orangered: 16729344, - orchid: 14315734, - palegoldenrod: 15657130, - palegreen: 10025880, - paleturquoise: 11529966, - palevioletred: 14381203, - papayawhip: 16773077, - peachpuff: 16767673, - peru: 13468991, - pink: 16761035, - plum: 14524637, - powderblue: 11591910, - purple: 8388736, - red: 16711680, - rosybrown: 12357519, - royalblue: 4286945, - saddlebrown: 9127187, - salmon: 16416882, - sandybrown: 16032864, - seagreen: 3050327, - seashell: 16774638, - sienna: 10506797, - silver: 12632256, - skyblue: 8900331, - slateblue: 6970061, - slategray: 7372944, - slategrey: 7372944, - snow: 16775930, - springgreen: 65407, - steelblue: 4620980, - tan: 13808780, - teal: 32896, - thistle: 14204888, - tomato: 16737095, - turquoise: 4251856, - violet: 15631086, - wheat: 16113331, - white: 16777215, - whitesmoke: 16119285, - yellow: 16776960, - yellowgreen: 10145074 - }); - d3_rgb_names.forEach(function(key, value) { - d3_rgb_names.set(key, d3_rgbNumber(value)); - }); - function d3_functor(v) { - return typeof v === "function" ? v : function() { - return v; - }; - } - d3.functor = d3_functor; - function d3_identity(d) { - return d; - } - d3.xhr = d3_xhrType(d3_identity); - function d3_xhrType(response) { - return function(url, mimeType, callback) { - if (arguments.length === 2 && typeof mimeType === "function") callback = mimeType, - mimeType = null; - return d3_xhr(url, mimeType, response, callback); - }; - } - function d3_xhr(url, mimeType, response, callback) { - var xhr = {}, dispatch = d3.dispatch("beforesend", "progress", "load", "error"), headers = {}, request = new XMLHttpRequest(), responseType = null; - if (d3_window.XDomainRequest && !("withCredentials" in request) && /^(http(s)?:)?\/\//.test(url)) request = new XDomainRequest(); - "onload" in request ? request.onload = request.onerror = respond : request.onreadystatechange = function() { - request.readyState > 3 && respond(); - }; - function respond() { - var status = request.status, result; - if (!status && d3_xhrHasResponse(request) || status >= 200 && status < 300 || status === 304) { - try { - result = response.call(xhr, request); - } catch (e) { - dispatch.error.call(xhr, e); - return; - } - dispatch.load.call(xhr, result); - } else { - dispatch.error.call(xhr, request); - } - } - request.onprogress = function(event) { - var o = d3.event; - d3.event = event; - try { - dispatch.progress.call(xhr, request); - } finally { - d3.event = o; - } - }; - xhr.header = function(name, value) { - name = (name + "").toLowerCase(); - if (arguments.length < 2) return headers[name]; - if (value == null) delete headers[name]; else headers[name] = value + ""; - return xhr; - }; - xhr.mimeType = function(value) { - if (!arguments.length) return mimeType; - mimeType = value == null ? null : value + ""; - return xhr; - }; - xhr.responseType = function(value) { - if (!arguments.length) return responseType; - responseType = value; - return xhr; - }; - xhr.response = function(value) { - response = value; - return xhr; - }; - [ "get", "post" ].forEach(function(method) { - xhr[method] = function() { - return xhr.send.apply(xhr, [ method ].concat(d3_array(arguments))); - }; - }); - xhr.send = function(method, data, callback) { - if (arguments.length === 2 && typeof data === "function") callback = data, data = null; - request.open(method, url, true); - if (mimeType != null && !("accept" in headers)) headers["accept"] = mimeType + ",*/*"; - if (request.setRequestHeader) for (var name in headers) request.setRequestHeader(name, headers[name]); - if (mimeType != null && request.overrideMimeType) request.overrideMimeType(mimeType); - if (responseType != null) request.responseType = responseType; - if (callback != null) xhr.on("error", callback).on("load", function(request) { - callback(null, request); - }); - dispatch.beforesend.call(xhr, request); - request.send(data == null ? null : data); - return xhr; - }; - xhr.abort = function() { - request.abort(); - return xhr; - }; - d3.rebind(xhr, dispatch, "on"); - return callback == null ? xhr : xhr.get(d3_xhr_fixCallback(callback)); - } - function d3_xhr_fixCallback(callback) { - return callback.length === 1 ? function(error, request) { - callback(error == null ? request : null); - } : callback; - } - function d3_xhrHasResponse(request) { - var type = request.responseType; - return type && type !== "text" ? request.response : request.responseText; - } - d3.dsv = function(delimiter, mimeType) { - var reFormat = new RegExp('["' + delimiter + "\n]"), delimiterCode = delimiter.charCodeAt(0); - function dsv(url, row, callback) { - if (arguments.length < 3) callback = row, row = null; - var xhr = d3_xhr(url, mimeType, row == null ? response : typedResponse(row), callback); - xhr.row = function(_) { - return arguments.length ? xhr.response((row = _) == null ? response : typedResponse(_)) : row; - }; - return xhr; - } - function response(request) { - return dsv.parse(request.responseText); - } - function typedResponse(f) { - return function(request) { - return dsv.parse(request.responseText, f); - }; - } - dsv.parse = function(text, f) { - var o; - return dsv.parseRows(text, function(row, i) { - if (o) return o(row, i - 1); - var a = new Function("d", "return {" + row.map(function(name, i) { - return JSON.stringify(name) + ": d[" + i + "]"; - }).join(",") + "}"); - o = f ? function(row, i) { - return f(a(row), i); - } : a; - }); - }; - dsv.parseRows = function(text, f) { - var EOL = {}, EOF = {}, rows = [], N = text.length, I = 0, n = 0, t, eol; - function token() { - if (I >= N) return EOF; - if (eol) return eol = false, EOL; - var j = I; - if (text.charCodeAt(j) === 34) { - var i = j; - while (i++ < N) { - if (text.charCodeAt(i) === 34) { - if (text.charCodeAt(i + 1) !== 34) break; - ++i; - } - } - I = i + 2; - var c = text.charCodeAt(i + 1); - if (c === 13) { - eol = true; - if (text.charCodeAt(i + 2) === 10) ++I; - } else if (c === 10) { - eol = true; - } - return text.slice(j + 1, i).replace(/""/g, '"'); - } - while (I < N) { - var c = text.charCodeAt(I++), k = 1; - if (c === 10) eol = true; else if (c === 13) { - eol = true; - if (text.charCodeAt(I) === 10) ++I, ++k; - } else if (c !== delimiterCode) continue; - return text.slice(j, I - k); - } - return text.slice(j); - } - while ((t = token()) !== EOF) { - var a = []; - while (t !== EOL && t !== EOF) { - a.push(t); - t = token(); - } - if (f && (a = f(a, n++)) == null) continue; - rows.push(a); - } - return rows; - }; - dsv.format = function(rows) { - if (Array.isArray(rows[0])) return dsv.formatRows(rows); - var fieldSet = new d3_Set(), fields = []; - rows.forEach(function(row) { - for (var field in row) { - if (!fieldSet.has(field)) { - fields.push(fieldSet.add(field)); - } - } - }); - return [ fields.map(formatValue).join(delimiter) ].concat(rows.map(function(row) { - return fields.map(function(field) { - return formatValue(row[field]); - }).join(delimiter); - })).join("\n"); - }; - dsv.formatRows = function(rows) { - return rows.map(formatRow).join("\n"); - }; - function formatRow(row) { - return row.map(formatValue).join(delimiter); - } - function formatValue(text) { - return reFormat.test(text) ? '"' + text.replace(/\"/g, '""') + '"' : text; - } - return dsv; - }; - d3.csv = d3.dsv(",", "text/csv"); - d3.tsv = d3.dsv(" ", "text/tab-separated-values"); - var d3_timer_queueHead, d3_timer_queueTail, d3_timer_interval, d3_timer_timeout, d3_timer_active, d3_timer_frame = d3_window[d3_vendorSymbol(d3_window, "requestAnimationFrame")] || function(callback) { - setTimeout(callback, 17); - }; - d3.timer = function(callback, delay, then) { - var n = arguments.length; - if (n < 2) delay = 0; - if (n < 3) then = Date.now(); - var time = then + delay, timer = { - c: callback, - t: time, - f: false, - n: null - }; - if (d3_timer_queueTail) d3_timer_queueTail.n = timer; else d3_timer_queueHead = timer; - d3_timer_queueTail = timer; - if (!d3_timer_interval) { - d3_timer_timeout = clearTimeout(d3_timer_timeout); - d3_timer_interval = 1; - d3_timer_frame(d3_timer_step); - } - }; - function d3_timer_step() { - var now = d3_timer_mark(), delay = d3_timer_sweep() - now; - if (delay > 24) { - if (isFinite(delay)) { - clearTimeout(d3_timer_timeout); - d3_timer_timeout = setTimeout(d3_timer_step, delay); - } - d3_timer_interval = 0; - } else { - d3_timer_interval = 1; - d3_timer_frame(d3_timer_step); - } - } - d3.timer.flush = function() { - d3_timer_mark(); - d3_timer_sweep(); - }; - function d3_timer_mark() { - var now = Date.now(); - d3_timer_active = d3_timer_queueHead; - while (d3_timer_active) { - if (now >= d3_timer_active.t) d3_timer_active.f = d3_timer_active.c(now - d3_timer_active.t); - d3_timer_active = d3_timer_active.n; - } - return now; - } - function d3_timer_sweep() { - var t0, t1 = d3_timer_queueHead, time = Infinity; - while (t1) { - if (t1.f) { - t1 = t0 ? t0.n = t1.n : d3_timer_queueHead = t1.n; - } else { - if (t1.t < time) time = t1.t; - t1 = (t0 = t1).n; - } - } - d3_timer_queueTail = t0; - return time; - } - function d3_format_precision(x, p) { - return p - (x ? Math.ceil(Math.log(x) / Math.LN10) : 1); - } - d3.round = function(x, n) { - return n ? Math.round(x * (n = Math.pow(10, n))) / n : Math.round(x); - }; - var d3_formatPrefixes = [ "y", "z", "a", "f", "p", "n", "µ", "m", "", "k", "M", "G", "T", "P", "E", "Z", "Y" ].map(d3_formatPrefix); - d3.formatPrefix = function(value, precision) { - var i = 0; - if (value) { - if (value < 0) value *= -1; - if (precision) value = d3.round(value, d3_format_precision(value, precision)); - i = 1 + Math.floor(1e-12 + Math.log(value) / Math.LN10); - i = Math.max(-24, Math.min(24, Math.floor((i - 1) / 3) * 3)); - } - return d3_formatPrefixes[8 + i / 3]; - }; - function d3_formatPrefix(d, i) { - var k = Math.pow(10, abs(8 - i) * 3); - return { - scale: i > 8 ? function(d) { - return d / k; - } : function(d) { - return d * k; - }, - symbol: d - }; - } - function d3_locale_numberFormat(locale) { - var locale_decimal = locale.decimal, locale_thousands = locale.thousands, locale_grouping = locale.grouping, locale_currency = locale.currency, formatGroup = locale_grouping && locale_thousands ? function(value, width) { - var i = value.length, t = [], j = 0, g = locale_grouping[0], length = 0; - while (i > 0 && g > 0) { - if (length + g + 1 > width) g = Math.max(1, width - length); - t.push(value.substring(i -= g, i + g)); - if ((length += g + 1) > width) break; - g = locale_grouping[j = (j + 1) % locale_grouping.length]; - } - return t.reverse().join(locale_thousands); - } : d3_identity; - return function(specifier) { - var match = d3_format_re.exec(specifier), fill = match[1] || " ", align = match[2] || ">", sign = match[3] || "-", symbol = match[4] || "", zfill = match[5], width = +match[6], comma = match[7], precision = match[8], type = match[9], scale = 1, prefix = "", suffix = "", integer = false, exponent = true; - if (precision) precision = +precision.substring(1); - if (zfill || fill === "0" && align === "=") { - zfill = fill = "0"; - align = "="; - } - switch (type) { - case "n": - comma = true; - type = "g"; - break; - - case "%": - scale = 100; - suffix = "%"; - type = "f"; - break; - - case "p": - scale = 100; - suffix = "%"; - type = "r"; - break; - - case "b": - case "o": - case "x": - case "X": - if (symbol === "#") prefix = "0" + type.toLowerCase(); - - case "c": - exponent = false; - - case "d": - integer = true; - precision = 0; - break; - - case "s": - scale = -1; - type = "r"; - break; - } - if (symbol === "$") prefix = locale_currency[0], suffix = locale_currency[1]; - if (type == "r" && !precision) type = "g"; - if (precision != null) { - if (type == "g") precision = Math.max(1, Math.min(21, precision)); else if (type == "e" || type == "f") precision = Math.max(0, Math.min(20, precision)); - } - type = d3_format_types.get(type) || d3_format_typeDefault; - var zcomma = zfill && comma; - return function(value) { - var fullSuffix = suffix; - if (integer && value % 1) return ""; - var negative = value < 0 || value === 0 && 1 / value < 0 ? (value = -value, "-") : sign === "-" ? "" : sign; - if (scale < 0) { - var unit = d3.formatPrefix(value, precision); - value = unit.scale(value); - fullSuffix = unit.symbol + suffix; - } else { - value *= scale; - } - value = type(value, precision); - var i = value.lastIndexOf("."), before, after; - if (i < 0) { - var j = exponent ? value.lastIndexOf("e") : -1; - if (j < 0) before = value, after = ""; else before = value.substring(0, j), after = value.substring(j); - } else { - before = value.substring(0, i); - after = locale_decimal + value.substring(i + 1); - } - if (!zfill && comma) before = formatGroup(before, Infinity); - var length = prefix.length + before.length + after.length + (zcomma ? 0 : negative.length), padding = length < width ? new Array(length = width - length + 1).join(fill) : ""; - if (zcomma) before = formatGroup(padding + before, padding.length ? width - after.length : Infinity); - negative += prefix; - value = before + after; - return (align === "<" ? negative + value + padding : align === ">" ? padding + negative + value : align === "^" ? padding.substring(0, length >>= 1) + negative + value + padding.substring(length) : negative + (zcomma ? value : padding + value)) + fullSuffix; - }; - }; - } - var d3_format_re = /(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i; - var d3_format_types = d3.map({ - b: function(x) { - return x.toString(2); - }, - c: function(x) { - return String.fromCharCode(x); - }, - o: function(x) { - return x.toString(8); - }, - x: function(x) { - return x.toString(16); - }, - X: function(x) { - return x.toString(16).toUpperCase(); - }, - g: function(x, p) { - return x.toPrecision(p); - }, - e: function(x, p) { - return x.toExponential(p); - }, - f: function(x, p) { - return x.toFixed(p); - }, - r: function(x, p) { - return (x = d3.round(x, d3_format_precision(x, p))).toFixed(Math.max(0, Math.min(20, d3_format_precision(x * (1 + 1e-15), p)))); - } - }); - function d3_format_typeDefault(x) { - return x + ""; - } - var d3_time = d3.time = {}, d3_date = Date; - function d3_date_utc() { - this._ = new Date(arguments.length > 1 ? Date.UTC.apply(this, arguments) : arguments[0]); - } - d3_date_utc.prototype = { - getDate: function() { - return this._.getUTCDate(); - }, - getDay: function() { - return this._.getUTCDay(); - }, - getFullYear: function() { - return this._.getUTCFullYear(); - }, - getHours: function() { - return this._.getUTCHours(); - }, - getMilliseconds: function() { - return this._.getUTCMilliseconds(); - }, - getMinutes: function() { - return this._.getUTCMinutes(); - }, - getMonth: function() { - return this._.getUTCMonth(); - }, - getSeconds: function() { - return this._.getUTCSeconds(); - }, - getTime: function() { - return this._.getTime(); - }, - getTimezoneOffset: function() { - return 0; - }, - valueOf: function() { - return this._.valueOf(); - }, - setDate: function() { - d3_time_prototype.setUTCDate.apply(this._, arguments); - }, - setDay: function() { - d3_time_prototype.setUTCDay.apply(this._, arguments); - }, - setFullYear: function() { - d3_time_prototype.setUTCFullYear.apply(this._, arguments); - }, - setHours: function() { - d3_time_prototype.setUTCHours.apply(this._, arguments); - }, - setMilliseconds: function() { - d3_time_prototype.setUTCMilliseconds.apply(this._, arguments); - }, - setMinutes: function() { - d3_time_prototype.setUTCMinutes.apply(this._, arguments); - }, - setMonth: function() { - d3_time_prototype.setUTCMonth.apply(this._, arguments); - }, - setSeconds: function() { - d3_time_prototype.setUTCSeconds.apply(this._, arguments); - }, - setTime: function() { - d3_time_prototype.setTime.apply(this._, arguments); - } - }; - var d3_time_prototype = Date.prototype; - function d3_time_interval(local, step, number) { - function round(date) { - var d0 = local(date), d1 = offset(d0, 1); - return date - d0 < d1 - date ? d0 : d1; - } - function ceil(date) { - step(date = local(new d3_date(date - 1)), 1); - return date; - } - function offset(date, k) { - step(date = new d3_date(+date), k); - return date; - } - function range(t0, t1, dt) { - var time = ceil(t0), times = []; - if (dt > 1) { - while (time < t1) { - if (!(number(time) % dt)) times.push(new Date(+time)); - step(time, 1); - } - } else { - while (time < t1) times.push(new Date(+time)), step(time, 1); - } - return times; - } - function range_utc(t0, t1, dt) { - try { - d3_date = d3_date_utc; - var utc = new d3_date_utc(); - utc._ = t0; - return range(utc, t1, dt); - } finally { - d3_date = Date; - } - } - local.floor = local; - local.round = round; - local.ceil = ceil; - local.offset = offset; - local.range = range; - var utc = local.utc = d3_time_interval_utc(local); - utc.floor = utc; - utc.round = d3_time_interval_utc(round); - utc.ceil = d3_time_interval_utc(ceil); - utc.offset = d3_time_interval_utc(offset); - utc.range = range_utc; - return local; - } - function d3_time_interval_utc(method) { - return function(date, k) { - try { - d3_date = d3_date_utc; - var utc = new d3_date_utc(); - utc._ = date; - return method(utc, k)._; - } finally { - d3_date = Date; - } - }; - } - d3_time.year = d3_time_interval(function(date) { - date = d3_time.day(date); - date.setMonth(0, 1); - return date; - }, function(date, offset) { - date.setFullYear(date.getFullYear() + offset); - }, function(date) { - return date.getFullYear(); - }); - d3_time.years = d3_time.year.range; - d3_time.years.utc = d3_time.year.utc.range; - d3_time.day = d3_time_interval(function(date) { - var day = new d3_date(2e3, 0); - day.setFullYear(date.getFullYear(), date.getMonth(), date.getDate()); - return day; - }, function(date, offset) { - date.setDate(date.getDate() + offset); - }, function(date) { - return date.getDate() - 1; - }); - d3_time.days = d3_time.day.range; - d3_time.days.utc = d3_time.day.utc.range; - d3_time.dayOfYear = function(date) { - var year = d3_time.year(date); - return Math.floor((date - year - (date.getTimezoneOffset() - year.getTimezoneOffset()) * 6e4) / 864e5); - }; - [ "sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday" ].forEach(function(day, i) { - i = 7 - i; - var interval = d3_time[day] = d3_time_interval(function(date) { - (date = d3_time.day(date)).setDate(date.getDate() - (date.getDay() + i) % 7); - return date; - }, function(date, offset) { - date.setDate(date.getDate() + Math.floor(offset) * 7); - }, function(date) { - var day = d3_time.year(date).getDay(); - return Math.floor((d3_time.dayOfYear(date) + (day + i) % 7) / 7) - (day !== i); - }); - d3_time[day + "s"] = interval.range; - d3_time[day + "s"].utc = interval.utc.range; - d3_time[day + "OfYear"] = function(date) { - var day = d3_time.year(date).getDay(); - return Math.floor((d3_time.dayOfYear(date) + (day + i) % 7) / 7); - }; - }); - d3_time.week = d3_time.sunday; - d3_time.weeks = d3_time.sunday.range; - d3_time.weeks.utc = d3_time.sunday.utc.range; - d3_time.weekOfYear = d3_time.sundayOfYear; - function d3_locale_timeFormat(locale) { - var locale_dateTime = locale.dateTime, locale_date = locale.date, locale_time = locale.time, locale_periods = locale.periods, locale_days = locale.days, locale_shortDays = locale.shortDays, locale_months = locale.months, locale_shortMonths = locale.shortMonths; - function d3_time_format(template) { - var n = template.length; - function format(date) { - var string = [], i = -1, j = 0, c, p, f; - while (++i < n) { - if (template.charCodeAt(i) === 37) { - string.push(template.slice(j, i)); - if ((p = d3_time_formatPads[c = template.charAt(++i)]) != null) c = template.charAt(++i); - if (f = d3_time_formats[c]) c = f(date, p == null ? c === "e" ? " " : "0" : p); - string.push(c); - j = i + 1; - } - } - string.push(template.slice(j, i)); - return string.join(""); - } - format.parse = function(string) { - var d = { - y: 1900, - m: 0, - d: 1, - H: 0, - M: 0, - S: 0, - L: 0, - Z: null - }, i = d3_time_parse(d, template, string, 0); - if (i != string.length) return null; - if ("p" in d) d.H = d.H % 12 + d.p * 12; - var localZ = d.Z != null && d3_date !== d3_date_utc, date = new (localZ ? d3_date_utc : d3_date)(); - if ("j" in d) date.setFullYear(d.y, 0, d.j); else if ("w" in d && ("W" in d || "U" in d)) { - date.setFullYear(d.y, 0, 1); - date.setFullYear(d.y, 0, "W" in d ? (d.w + 6) % 7 + d.W * 7 - (date.getDay() + 5) % 7 : d.w + d.U * 7 - (date.getDay() + 6) % 7); - } else date.setFullYear(d.y, d.m, d.d); - date.setHours(d.H + (d.Z / 100 | 0), d.M + d.Z % 100, d.S, d.L); - return localZ ? date._ : date; - }; - format.toString = function() { - return template; - }; - return format; - } - function d3_time_parse(date, template, string, j) { - var c, p, t, i = 0, n = template.length, m = string.length; - while (i < n) { - if (j >= m) return -1; - c = template.charCodeAt(i++); - if (c === 37) { - t = template.charAt(i++); - p = d3_time_parsers[t in d3_time_formatPads ? template.charAt(i++) : t]; - if (!p || (j = p(date, string, j)) < 0) return -1; - } else if (c != string.charCodeAt(j++)) { - return -1; - } - } - return j; - } - d3_time_format.utc = function(template) { - var local = d3_time_format(template); - function format(date) { - try { - d3_date = d3_date_utc; - var utc = new d3_date(); - utc._ = date; - return local(utc); - } finally { - d3_date = Date; - } - } - format.parse = function(string) { - try { - d3_date = d3_date_utc; - var date = local.parse(string); - return date && date._; - } finally { - d3_date = Date; - } - }; - format.toString = local.toString; - return format; - }; - d3_time_format.multi = d3_time_format.utc.multi = d3_time_formatMulti; - var d3_time_periodLookup = d3.map(), d3_time_dayRe = d3_time_formatRe(locale_days), d3_time_dayLookup = d3_time_formatLookup(locale_days), d3_time_dayAbbrevRe = d3_time_formatRe(locale_shortDays), d3_time_dayAbbrevLookup = d3_time_formatLookup(locale_shortDays), d3_time_monthRe = d3_time_formatRe(locale_months), d3_time_monthLookup = d3_time_formatLookup(locale_months), d3_time_monthAbbrevRe = d3_time_formatRe(locale_shortMonths), d3_time_monthAbbrevLookup = d3_time_formatLookup(locale_shortMonths); - locale_periods.forEach(function(p, i) { - d3_time_periodLookup.set(p.toLowerCase(), i); - }); - var d3_time_formats = { - a: function(d) { - return locale_shortDays[d.getDay()]; - }, - A: function(d) { - return locale_days[d.getDay()]; - }, - b: function(d) { - return locale_shortMonths[d.getMonth()]; - }, - B: function(d) { - return locale_months[d.getMonth()]; - }, - c: d3_time_format(locale_dateTime), - d: function(d, p) { - return d3_time_formatPad(d.getDate(), p, 2); - }, - e: function(d, p) { - return d3_time_formatPad(d.getDate(), p, 2); - }, - H: function(d, p) { - return d3_time_formatPad(d.getHours(), p, 2); - }, - I: function(d, p) { - return d3_time_formatPad(d.getHours() % 12 || 12, p, 2); - }, - j: function(d, p) { - return d3_time_formatPad(1 + d3_time.dayOfYear(d), p, 3); - }, - L: function(d, p) { - return d3_time_formatPad(d.getMilliseconds(), p, 3); - }, - m: function(d, p) { - return d3_time_formatPad(d.getMonth() + 1, p, 2); - }, - M: function(d, p) { - return d3_time_formatPad(d.getMinutes(), p, 2); - }, - p: function(d) { - return locale_periods[+(d.getHours() >= 12)]; - }, - S: function(d, p) { - return d3_time_formatPad(d.getSeconds(), p, 2); - }, - U: function(d, p) { - return d3_time_formatPad(d3_time.sundayOfYear(d), p, 2); - }, - w: function(d) { - return d.getDay(); - }, - W: function(d, p) { - return d3_time_formatPad(d3_time.mondayOfYear(d), p, 2); - }, - x: d3_time_format(locale_date), - X: d3_time_format(locale_time), - y: function(d, p) { - return d3_time_formatPad(d.getFullYear() % 100, p, 2); - }, - Y: function(d, p) { - return d3_time_formatPad(d.getFullYear() % 1e4, p, 4); - }, - Z: d3_time_zone, - "%": function() { - return "%"; - } - }; - var d3_time_parsers = { - a: d3_time_parseWeekdayAbbrev, - A: d3_time_parseWeekday, - b: d3_time_parseMonthAbbrev, - B: d3_time_parseMonth, - c: d3_time_parseLocaleFull, - d: d3_time_parseDay, - e: d3_time_parseDay, - H: d3_time_parseHour24, - I: d3_time_parseHour24, - j: d3_time_parseDayOfYear, - L: d3_time_parseMilliseconds, - m: d3_time_parseMonthNumber, - M: d3_time_parseMinutes, - p: d3_time_parseAmPm, - S: d3_time_parseSeconds, - U: d3_time_parseWeekNumberSunday, - w: d3_time_parseWeekdayNumber, - W: d3_time_parseWeekNumberMonday, - x: d3_time_parseLocaleDate, - X: d3_time_parseLocaleTime, - y: d3_time_parseYear, - Y: d3_time_parseFullYear, - Z: d3_time_parseZone, - "%": d3_time_parseLiteralPercent - }; - function d3_time_parseWeekdayAbbrev(date, string, i) { - d3_time_dayAbbrevRe.lastIndex = 0; - var n = d3_time_dayAbbrevRe.exec(string.slice(i)); - return n ? (date.w = d3_time_dayAbbrevLookup.get(n[0].toLowerCase()), i + n[0].length) : -1; - } - function d3_time_parseWeekday(date, string, i) { - d3_time_dayRe.lastIndex = 0; - var n = d3_time_dayRe.exec(string.slice(i)); - return n ? (date.w = d3_time_dayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1; - } - function d3_time_parseMonthAbbrev(date, string, i) { - d3_time_monthAbbrevRe.lastIndex = 0; - var n = d3_time_monthAbbrevRe.exec(string.slice(i)); - return n ? (date.m = d3_time_monthAbbrevLookup.get(n[0].toLowerCase()), i + n[0].length) : -1; - } - function d3_time_parseMonth(date, string, i) { - d3_time_monthRe.lastIndex = 0; - var n = d3_time_monthRe.exec(string.slice(i)); - return n ? (date.m = d3_time_monthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1; - } - function d3_time_parseLocaleFull(date, string, i) { - return d3_time_parse(date, d3_time_formats.c.toString(), string, i); - } - function d3_time_parseLocaleDate(date, string, i) { - return d3_time_parse(date, d3_time_formats.x.toString(), string, i); - } - function d3_time_parseLocaleTime(date, string, i) { - return d3_time_parse(date, d3_time_formats.X.toString(), string, i); - } - function d3_time_parseAmPm(date, string, i) { - var n = d3_time_periodLookup.get(string.slice(i, i += 2).toLowerCase()); - return n == null ? -1 : (date.p = n, i); - } - return d3_time_format; - } - var d3_time_formatPads = { - "-": "", - _: " ", - "0": "0" - }, d3_time_numberRe = /^\s*\d+/, d3_time_percentRe = /^%/; - function d3_time_formatPad(value, fill, width) { - var sign = value < 0 ? "-" : "", string = (sign ? -value : value) + "", length = string.length; - return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string); - } - function d3_time_formatRe(names) { - return new RegExp("^(?:" + names.map(d3.requote).join("|") + ")", "i"); - } - function d3_time_formatLookup(names) { - var map = new d3_Map(), i = -1, n = names.length; - while (++i < n) map.set(names[i].toLowerCase(), i); - return map; - } - function d3_time_parseWeekdayNumber(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 1)); - return n ? (date.w = +n[0], i + n[0].length) : -1; - } - function d3_time_parseWeekNumberSunday(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i)); - return n ? (date.U = +n[0], i + n[0].length) : -1; - } - function d3_time_parseWeekNumberMonday(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i)); - return n ? (date.W = +n[0], i + n[0].length) : -1; - } - function d3_time_parseFullYear(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 4)); - return n ? (date.y = +n[0], i + n[0].length) : -1; - } - function d3_time_parseYear(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 2)); - return n ? (date.y = d3_time_expandYear(+n[0]), i + n[0].length) : -1; - } - function d3_time_parseZone(date, string, i) { - return /^[+-]\d{4}$/.test(string = string.slice(i, i + 5)) ? (date.Z = -string, - i + 5) : -1; - } - function d3_time_expandYear(d) { - return d + (d > 68 ? 1900 : 2e3); - } - function d3_time_parseMonthNumber(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 2)); - return n ? (date.m = n[0] - 1, i + n[0].length) : -1; - } - function d3_time_parseDay(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 2)); - return n ? (date.d = +n[0], i + n[0].length) : -1; - } - function d3_time_parseDayOfYear(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 3)); - return n ? (date.j = +n[0], i + n[0].length) : -1; - } - function d3_time_parseHour24(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 2)); - return n ? (date.H = +n[0], i + n[0].length) : -1; - } - function d3_time_parseMinutes(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 2)); - return n ? (date.M = +n[0], i + n[0].length) : -1; - } - function d3_time_parseSeconds(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 2)); - return n ? (date.S = +n[0], i + n[0].length) : -1; - } - function d3_time_parseMilliseconds(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 3)); - return n ? (date.L = +n[0], i + n[0].length) : -1; - } - function d3_time_zone(d) { - var z = d.getTimezoneOffset(), zs = z > 0 ? "-" : "+", zh = abs(z) / 60 | 0, zm = abs(z) % 60; - return zs + d3_time_formatPad(zh, "0", 2) + d3_time_formatPad(zm, "0", 2); - } - function d3_time_parseLiteralPercent(date, string, i) { - d3_time_percentRe.lastIndex = 0; - var n = d3_time_percentRe.exec(string.slice(i, i + 1)); - return n ? i + n[0].length : -1; - } - function d3_time_formatMulti(formats) { - var n = formats.length, i = -1; - while (++i < n) formats[i][0] = this(formats[i][0]); - return function(date) { - var i = 0, f = formats[i]; - while (!f[1](date)) f = formats[++i]; - return f[0](date); - }; - } - d3.locale = function(locale) { - return { - numberFormat: d3_locale_numberFormat(locale), - timeFormat: d3_locale_timeFormat(locale) - }; - }; - var d3_locale_enUS = d3.locale({ - decimal: ".", - thousands: ",", - grouping: [ 3 ], - currency: [ "$", "" ], - dateTime: "%a %b %e %X %Y", - date: "%m/%d/%Y", - time: "%H:%M:%S", - periods: [ "AM", "PM" ], - days: [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ], - shortDays: [ "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" ], - months: [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ], - shortMonths: [ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" ] - }); - d3.format = d3_locale_enUS.numberFormat; - d3.geo = {}; - function d3_adder() {} - d3_adder.prototype = { - s: 0, - t: 0, - add: function(y) { - d3_adderSum(y, this.t, d3_adderTemp); - d3_adderSum(d3_adderTemp.s, this.s, this); - if (this.s) this.t += d3_adderTemp.t; else this.s = d3_adderTemp.t; - }, - reset: function() { - this.s = this.t = 0; - }, - valueOf: function() { - return this.s; - } - }; - var d3_adderTemp = new d3_adder(); - function d3_adderSum(a, b, o) { - var x = o.s = a + b, bv = x - a, av = x - bv; - o.t = a - av + (b - bv); - } - d3.geo.stream = function(object, listener) { - if (object && d3_geo_streamObjectType.hasOwnProperty(object.type)) { - d3_geo_streamObjectType[object.type](object, listener); - } else { - d3_geo_streamGeometry(object, listener); - } - }; - function d3_geo_streamGeometry(geometry, listener) { - if (geometry && d3_geo_streamGeometryType.hasOwnProperty(geometry.type)) { - d3_geo_streamGeometryType[geometry.type](geometry, listener); - } - } - var d3_geo_streamObjectType = { - Feature: function(feature, listener) { - d3_geo_streamGeometry(feature.geometry, listener); - }, - FeatureCollection: function(object, listener) { - var features = object.features, i = -1, n = features.length; - while (++i < n) d3_geo_streamGeometry(features[i].geometry, listener); - } - }; - var d3_geo_streamGeometryType = { - Sphere: function(object, listener) { - listener.sphere(); - }, - Point: function(object, listener) { - object = object.coordinates; - listener.point(object[0], object[1], object[2]); - }, - MultiPoint: function(object, listener) { - var coordinates = object.coordinates, i = -1, n = coordinates.length; - while (++i < n) object = coordinates[i], listener.point(object[0], object[1], object[2]); - }, - LineString: function(object, listener) { - d3_geo_streamLine(object.coordinates, listener, 0); - }, - MultiLineString: function(object, listener) { - var coordinates = object.coordinates, i = -1, n = coordinates.length; - while (++i < n) d3_geo_streamLine(coordinates[i], listener, 0); - }, - Polygon: function(object, listener) { - d3_geo_streamPolygon(object.coordinates, listener); - }, - MultiPolygon: function(object, listener) { - var coordinates = object.coordinates, i = -1, n = coordinates.length; - while (++i < n) d3_geo_streamPolygon(coordinates[i], listener); - }, - GeometryCollection: function(object, listener) { - var geometries = object.geometries, i = -1, n = geometries.length; - while (++i < n) d3_geo_streamGeometry(geometries[i], listener); - } - }; - function d3_geo_streamLine(coordinates, listener, closed) { - var i = -1, n = coordinates.length - closed, coordinate; - listener.lineStart(); - while (++i < n) coordinate = coordinates[i], listener.point(coordinate[0], coordinate[1], coordinate[2]); - listener.lineEnd(); - } - function d3_geo_streamPolygon(coordinates, listener) { - var i = -1, n = coordinates.length; - listener.polygonStart(); - while (++i < n) d3_geo_streamLine(coordinates[i], listener, 1); - listener.polygonEnd(); - } - d3.geo.area = function(object) { - d3_geo_areaSum = 0; - d3.geo.stream(object, d3_geo_area); - return d3_geo_areaSum; - }; - var d3_geo_areaSum, d3_geo_areaRingSum = new d3_adder(); - var d3_geo_area = { - sphere: function() { - d3_geo_areaSum += 4 * π; - }, - point: d3_noop, - lineStart: d3_noop, - lineEnd: d3_noop, - polygonStart: function() { - d3_geo_areaRingSum.reset(); - d3_geo_area.lineStart = d3_geo_areaRingStart; - }, - polygonEnd: function() { - var area = 2 * d3_geo_areaRingSum; - d3_geo_areaSum += area < 0 ? 4 * π + area : area; - d3_geo_area.lineStart = d3_geo_area.lineEnd = d3_geo_area.point = d3_noop; - } - }; - function d3_geo_areaRingStart() { - var λ00, φ00, λ0, cosφ0, sinφ0; - d3_geo_area.point = function(λ, φ) { - d3_geo_area.point = nextPoint; - λ0 = (λ00 = λ) * d3_radians, cosφ0 = Math.cos(φ = (φ00 = φ) * d3_radians / 2 + π / 4), - sinφ0 = Math.sin(φ); - }; - function nextPoint(λ, φ) { - λ *= d3_radians; - φ = φ * d3_radians / 2 + π / 4; - var dλ = λ - λ0, sdλ = dλ >= 0 ? 1 : -1, adλ = sdλ * dλ, cosφ = Math.cos(φ), sinφ = Math.sin(φ), k = sinφ0 * sinφ, u = cosφ0 * cosφ + k * Math.cos(adλ), v = k * sdλ * Math.sin(adλ); - d3_geo_areaRingSum.add(Math.atan2(v, u)); - λ0 = λ, cosφ0 = cosφ, sinφ0 = sinφ; - } - d3_geo_area.lineEnd = function() { - nextPoint(λ00, φ00); - }; - } - function d3_geo_cartesian(spherical) { - var λ = spherical[0], φ = spherical[1], cosφ = Math.cos(φ); - return [ cosφ * Math.cos(λ), cosφ * Math.sin(λ), Math.sin(φ) ]; - } - function d3_geo_cartesianDot(a, b) { - return a[0] * b[0] + a[1] * b[1] + a[2] * b[2]; - } - function d3_geo_cartesianCross(a, b) { - return [ a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0] ]; - } - function d3_geo_cartesianAdd(a, b) { - a[0] += b[0]; - a[1] += b[1]; - a[2] += b[2]; - } - function d3_geo_cartesianScale(vector, k) { - return [ vector[0] * k, vector[1] * k, vector[2] * k ]; - } - function d3_geo_cartesianNormalize(d) { - var l = Math.sqrt(d[0] * d[0] + d[1] * d[1] + d[2] * d[2]); - d[0] /= l; - d[1] /= l; - d[2] /= l; - } - function d3_geo_spherical(cartesian) { - return [ Math.atan2(cartesian[1], cartesian[0]), d3_asin(cartesian[2]) ]; - } - function d3_geo_sphericalEqual(a, b) { - return abs(a[0] - b[0]) < ε && abs(a[1] - b[1]) < ε; - } - d3.geo.bounds = function() { - var λ0, φ0, λ1, φ1, λ_, λ__, φ__, p0, dλSum, ranges, range; - var bound = { - point: point, - lineStart: lineStart, - lineEnd: lineEnd, - polygonStart: function() { - bound.point = ringPoint; - bound.lineStart = ringStart; - bound.lineEnd = ringEnd; - dλSum = 0; - d3_geo_area.polygonStart(); - }, - polygonEnd: function() { - d3_geo_area.polygonEnd(); - bound.point = point; - bound.lineStart = lineStart; - bound.lineEnd = lineEnd; - if (d3_geo_areaRingSum < 0) λ0 = -(λ1 = 180), φ0 = -(φ1 = 90); else if (dλSum > ε) φ1 = 90; else if (dλSum < -ε) φ0 = -90; - range[0] = λ0, range[1] = λ1; - } - }; - function point(λ, φ) { - ranges.push(range = [ λ0 = λ, λ1 = λ ]); - if (φ < φ0) φ0 = φ; - if (φ > φ1) φ1 = φ; - } - function linePoint(λ, φ) { - var p = d3_geo_cartesian([ λ * d3_radians, φ * d3_radians ]); - if (p0) { - var normal = d3_geo_cartesianCross(p0, p), equatorial = [ normal[1], -normal[0], 0 ], inflection = d3_geo_cartesianCross(equatorial, normal); - d3_geo_cartesianNormalize(inflection); - inflection = d3_geo_spherical(inflection); - var dλ = λ - λ_, s = dλ > 0 ? 1 : -1, λi = inflection[0] * d3_degrees * s, antimeridian = abs(dλ) > 180; - if (antimeridian ^ (s * λ_ < λi && λi < s * λ)) { - var φi = inflection[1] * d3_degrees; - if (φi > φ1) φ1 = φi; - } else if (λi = (λi + 360) % 360 - 180, antimeridian ^ (s * λ_ < λi && λi < s * λ)) { - var φi = -inflection[1] * d3_degrees; - if (φi < φ0) φ0 = φi; - } else { - if (φ < φ0) φ0 = φ; - if (φ > φ1) φ1 = φ; - } - if (antimeridian) { - if (λ < λ_) { - if (angle(λ0, λ) > angle(λ0, λ1)) λ1 = λ; - } else { - if (angle(λ, λ1) > angle(λ0, λ1)) λ0 = λ; - } - } else { - if (λ1 >= λ0) { - if (λ < λ0) λ0 = λ; - if (λ > λ1) λ1 = λ; - } else { - if (λ > λ_) { - if (angle(λ0, λ) > angle(λ0, λ1)) λ1 = λ; - } else { - if (angle(λ, λ1) > angle(λ0, λ1)) λ0 = λ; - } - } - } - } else { - point(λ, φ); - } - p0 = p, λ_ = λ; - } - function lineStart() { - bound.point = linePoint; - } - function lineEnd() { - range[0] = λ0, range[1] = λ1; - bound.point = point; - p0 = null; - } - function ringPoint(λ, φ) { - if (p0) { - var dλ = λ - λ_; - dλSum += abs(dλ) > 180 ? dλ + (dλ > 0 ? 360 : -360) : dλ; - } else λ__ = λ, φ__ = φ; - d3_geo_area.point(λ, φ); - linePoint(λ, φ); - } - function ringStart() { - d3_geo_area.lineStart(); - } - function ringEnd() { - ringPoint(λ__, φ__); - d3_geo_area.lineEnd(); - if (abs(dλSum) > ε) λ0 = -(λ1 = 180); - range[0] = λ0, range[1] = λ1; - p0 = null; - } - function angle(λ0, λ1) { - return (λ1 -= λ0) < 0 ? λ1 + 360 : λ1; - } - function compareRanges(a, b) { - return a[0] - b[0]; - } - function withinRange(x, range) { - return range[0] <= range[1] ? range[0] <= x && x <= range[1] : x < range[0] || range[1] < x; - } - return function(feature) { - φ1 = λ1 = -(λ0 = φ0 = Infinity); - ranges = []; - d3.geo.stream(feature, bound); - var n = ranges.length; - if (n) { - ranges.sort(compareRanges); - for (var i = 1, a = ranges[0], b, merged = [ a ]; i < n; ++i) { - b = ranges[i]; - if (withinRange(b[0], a) || withinRange(b[1], a)) { - if (angle(a[0], b[1]) > angle(a[0], a[1])) a[1] = b[1]; - if (angle(b[0], a[1]) > angle(a[0], a[1])) a[0] = b[0]; - } else { - merged.push(a = b); - } - } - var best = -Infinity, dλ; - for (var n = merged.length - 1, i = 0, a = merged[n], b; i <= n; a = b, ++i) { - b = merged[i]; - if ((dλ = angle(a[1], b[0])) > best) best = dλ, λ0 = b[0], λ1 = a[1]; - } - } - ranges = range = null; - return λ0 === Infinity || φ0 === Infinity ? [ [ NaN, NaN ], [ NaN, NaN ] ] : [ [ λ0, φ0 ], [ λ1, φ1 ] ]; - }; - }(); - d3.geo.centroid = function(object) { - d3_geo_centroidW0 = d3_geo_centroidW1 = d3_geo_centroidX0 = d3_geo_centroidY0 = d3_geo_centroidZ0 = d3_geo_centroidX1 = d3_geo_centroidY1 = d3_geo_centroidZ1 = d3_geo_centroidX2 = d3_geo_centroidY2 = d3_geo_centroidZ2 = 0; - d3.geo.stream(object, d3_geo_centroid); - var x = d3_geo_centroidX2, y = d3_geo_centroidY2, z = d3_geo_centroidZ2, m = x * x + y * y + z * z; - if (m < ε2) { - x = d3_geo_centroidX1, y = d3_geo_centroidY1, z = d3_geo_centroidZ1; - if (d3_geo_centroidW1 < ε) x = d3_geo_centroidX0, y = d3_geo_centroidY0, z = d3_geo_centroidZ0; - m = x * x + y * y + z * z; - if (m < ε2) return [ NaN, NaN ]; - } - return [ Math.atan2(y, x) * d3_degrees, d3_asin(z / Math.sqrt(m)) * d3_degrees ]; - }; - var d3_geo_centroidW0, d3_geo_centroidW1, d3_geo_centroidX0, d3_geo_centroidY0, d3_geo_centroidZ0, d3_geo_centroidX1, d3_geo_centroidY1, d3_geo_centroidZ1, d3_geo_centroidX2, d3_geo_centroidY2, d3_geo_centroidZ2; - var d3_geo_centroid = { - sphere: d3_noop, - point: d3_geo_centroidPoint, - lineStart: d3_geo_centroidLineStart, - lineEnd: d3_geo_centroidLineEnd, - polygonStart: function() { - d3_geo_centroid.lineStart = d3_geo_centroidRingStart; - }, - polygonEnd: function() { - d3_geo_centroid.lineStart = d3_geo_centroidLineStart; - } - }; - function d3_geo_centroidPoint(λ, φ) { - λ *= d3_radians; - var cosφ = Math.cos(φ *= d3_radians); - d3_geo_centroidPointXYZ(cosφ * Math.cos(λ), cosφ * Math.sin(λ), Math.sin(φ)); - } - function d3_geo_centroidPointXYZ(x, y, z) { - ++d3_geo_centroidW0; - d3_geo_centroidX0 += (x - d3_geo_centroidX0) / d3_geo_centroidW0; - d3_geo_centroidY0 += (y - d3_geo_centroidY0) / d3_geo_centroidW0; - d3_geo_centroidZ0 += (z - d3_geo_centroidZ0) / d3_geo_centroidW0; - } - function d3_geo_centroidLineStart() { - var x0, y0, z0; - d3_geo_centroid.point = function(λ, φ) { - λ *= d3_radians; - var cosφ = Math.cos(φ *= d3_radians); - x0 = cosφ * Math.cos(λ); - y0 = cosφ * Math.sin(λ); - z0 = Math.sin(φ); - d3_geo_centroid.point = nextPoint; - d3_geo_centroidPointXYZ(x0, y0, z0); - }; - function nextPoint(λ, φ) { - λ *= d3_radians; - var cosφ = Math.cos(φ *= d3_radians), x = cosφ * Math.cos(λ), y = cosφ * Math.sin(λ), z = Math.sin(φ), w = Math.atan2(Math.sqrt((w = y0 * z - z0 * y) * w + (w = z0 * x - x0 * z) * w + (w = x0 * y - y0 * x) * w), x0 * x + y0 * y + z0 * z); - d3_geo_centroidW1 += w; - d3_geo_centroidX1 += w * (x0 + (x0 = x)); - d3_geo_centroidY1 += w * (y0 + (y0 = y)); - d3_geo_centroidZ1 += w * (z0 + (z0 = z)); - d3_geo_centroidPointXYZ(x0, y0, z0); - } - } - function d3_geo_centroidLineEnd() { - d3_geo_centroid.point = d3_geo_centroidPoint; - } - function d3_geo_centroidRingStart() { - var λ00, φ00, x0, y0, z0; - d3_geo_centroid.point = function(λ, φ) { - λ00 = λ, φ00 = φ; - d3_geo_centroid.point = nextPoint; - λ *= d3_radians; - var cosφ = Math.cos(φ *= d3_radians); - x0 = cosφ * Math.cos(λ); - y0 = cosφ * Math.sin(λ); - z0 = Math.sin(φ); - d3_geo_centroidPointXYZ(x0, y0, z0); - }; - d3_geo_centroid.lineEnd = function() { - nextPoint(λ00, φ00); - d3_geo_centroid.lineEnd = d3_geo_centroidLineEnd; - d3_geo_centroid.point = d3_geo_centroidPoint; - }; - function nextPoint(λ, φ) { - λ *= d3_radians; - var cosφ = Math.cos(φ *= d3_radians), x = cosφ * Math.cos(λ), y = cosφ * Math.sin(λ), z = Math.sin(φ), cx = y0 * z - z0 * y, cy = z0 * x - x0 * z, cz = x0 * y - y0 * x, m = Math.sqrt(cx * cx + cy * cy + cz * cz), u = x0 * x + y0 * y + z0 * z, v = m && -d3_acos(u) / m, w = Math.atan2(m, u); - d3_geo_centroidX2 += v * cx; - d3_geo_centroidY2 += v * cy; - d3_geo_centroidZ2 += v * cz; - d3_geo_centroidW1 += w; - d3_geo_centroidX1 += w * (x0 + (x0 = x)); - d3_geo_centroidY1 += w * (y0 + (y0 = y)); - d3_geo_centroidZ1 += w * (z0 + (z0 = z)); - d3_geo_centroidPointXYZ(x0, y0, z0); - } - } - function d3_geo_compose(a, b) { - function compose(x, y) { - return x = a(x, y), b(x[0], x[1]); - } - if (a.invert && b.invert) compose.invert = function(x, y) { - return x = b.invert(x, y), x && a.invert(x[0], x[1]); - }; - return compose; - } - function d3_true() { - return true; - } - function d3_geo_clipPolygon(segments, compare, clipStartInside, interpolate, listener) { - var subject = [], clip = []; - segments.forEach(function(segment) { - if ((n = segment.length - 1) <= 0) return; - var n, p0 = segment[0], p1 = segment[n]; - if (d3_geo_sphericalEqual(p0, p1)) { - listener.lineStart(); - for (var i = 0; i < n; ++i) listener.point((p0 = segment[i])[0], p0[1]); - listener.lineEnd(); - return; - } - var a = new d3_geo_clipPolygonIntersection(p0, segment, null, true), b = new d3_geo_clipPolygonIntersection(p0, null, a, false); - a.o = b; - subject.push(a); - clip.push(b); - a = new d3_geo_clipPolygonIntersection(p1, segment, null, false); - b = new d3_geo_clipPolygonIntersection(p1, null, a, true); - a.o = b; - subject.push(a); - clip.push(b); - }); - clip.sort(compare); - d3_geo_clipPolygonLinkCircular(subject); - d3_geo_clipPolygonLinkCircular(clip); - if (!subject.length) return; - for (var i = 0, entry = clipStartInside, n = clip.length; i < n; ++i) { - clip[i].e = entry = !entry; - } - var start = subject[0], points, point; - while (1) { - var current = start, isSubject = true; - while (current.v) if ((current = current.n) === start) return; - points = current.z; - listener.lineStart(); - do { - current.v = current.o.v = true; - if (current.e) { - if (isSubject) { - for (var i = 0, n = points.length; i < n; ++i) listener.point((point = points[i])[0], point[1]); - } else { - interpolate(current.x, current.n.x, 1, listener); - } - current = current.n; - } else { - if (isSubject) { - points = current.p.z; - for (var i = points.length - 1; i >= 0; --i) listener.point((point = points[i])[0], point[1]); - } else { - interpolate(current.x, current.p.x, -1, listener); - } - current = current.p; - } - current = current.o; - points = current.z; - isSubject = !isSubject; - } while (!current.v); - listener.lineEnd(); - } - } - function d3_geo_clipPolygonLinkCircular(array) { - if (!(n = array.length)) return; - var n, i = 0, a = array[0], b; - while (++i < n) { - a.n = b = array[i]; - b.p = a; - a = b; - } - a.n = b = array[0]; - b.p = a; - } - function d3_geo_clipPolygonIntersection(point, points, other, entry) { - this.x = point; - this.z = points; - this.o = other; - this.e = entry; - this.v = false; - this.n = this.p = null; - } - function d3_geo_clip(pointVisible, clipLine, interpolate, clipStart) { - return function(rotate, listener) { - var line = clipLine(listener), rotatedClipStart = rotate.invert(clipStart[0], clipStart[1]); - var clip = { - point: point, - lineStart: lineStart, - lineEnd: lineEnd, - polygonStart: function() { - clip.point = pointRing; - clip.lineStart = ringStart; - clip.lineEnd = ringEnd; - segments = []; - polygon = []; - }, - polygonEnd: function() { - clip.point = point; - clip.lineStart = lineStart; - clip.lineEnd = lineEnd; - segments = d3.merge(segments); - var clipStartInside = d3_geo_pointInPolygon(rotatedClipStart, polygon); - if (segments.length) { - if (!polygonStarted) listener.polygonStart(), polygonStarted = true; - d3_geo_clipPolygon(segments, d3_geo_clipSort, clipStartInside, interpolate, listener); - } else if (clipStartInside) { - if (!polygonStarted) listener.polygonStart(), polygonStarted = true; - listener.lineStart(); - interpolate(null, null, 1, listener); - listener.lineEnd(); - } - if (polygonStarted) listener.polygonEnd(), polygonStarted = false; - segments = polygon = null; - }, - sphere: function() { - listener.polygonStart(); - listener.lineStart(); - interpolate(null, null, 1, listener); - listener.lineEnd(); - listener.polygonEnd(); - } - }; - function point(λ, φ) { - var point = rotate(λ, φ); - if (pointVisible(λ = point[0], φ = point[1])) listener.point(λ, φ); - } - function pointLine(λ, φ) { - var point = rotate(λ, φ); - line.point(point[0], point[1]); - } - function lineStart() { - clip.point = pointLine; - line.lineStart(); - } - function lineEnd() { - clip.point = point; - line.lineEnd(); - } - var segments; - var buffer = d3_geo_clipBufferListener(), ringListener = clipLine(buffer), polygonStarted = false, polygon, ring; - function pointRing(λ, φ) { - ring.push([ λ, φ ]); - var point = rotate(λ, φ); - ringListener.point(point[0], point[1]); - } - function ringStart() { - ringListener.lineStart(); - ring = []; - } - function ringEnd() { - pointRing(ring[0][0], ring[0][1]); - ringListener.lineEnd(); - var clean = ringListener.clean(), ringSegments = buffer.buffer(), segment, n = ringSegments.length; - ring.pop(); - polygon.push(ring); - ring = null; - if (!n) return; - if (clean & 1) { - segment = ringSegments[0]; - var n = segment.length - 1, i = -1, point; - if (n > 0) { - if (!polygonStarted) listener.polygonStart(), polygonStarted = true; - listener.lineStart(); - while (++i < n) listener.point((point = segment[i])[0], point[1]); - listener.lineEnd(); - } - return; - } - if (n > 1 && clean & 2) ringSegments.push(ringSegments.pop().concat(ringSegments.shift())); - segments.push(ringSegments.filter(d3_geo_clipSegmentLength1)); - } - return clip; - }; - } - function d3_geo_clipSegmentLength1(segment) { - return segment.length > 1; - } - function d3_geo_clipBufferListener() { - var lines = [], line; - return { - lineStart: function() { - lines.push(line = []); - }, - point: function(λ, φ) { - line.push([ λ, φ ]); - }, - lineEnd: d3_noop, - buffer: function() { - var buffer = lines; - lines = []; - line = null; - return buffer; - }, - rejoin: function() { - if (lines.length > 1) lines.push(lines.pop().concat(lines.shift())); - } - }; - } - function d3_geo_clipSort(a, b) { - return ((a = a.x)[0] < 0 ? a[1] - halfπ - ε : halfπ - a[1]) - ((b = b.x)[0] < 0 ? b[1] - halfπ - ε : halfπ - b[1]); - } - var d3_geo_clipAntimeridian = d3_geo_clip(d3_true, d3_geo_clipAntimeridianLine, d3_geo_clipAntimeridianInterpolate, [ -π, -π / 2 ]); - function d3_geo_clipAntimeridianLine(listener) { - var λ0 = NaN, φ0 = NaN, sλ0 = NaN, clean; - return { - lineStart: function() { - listener.lineStart(); - clean = 1; - }, - point: function(λ1, φ1) { - var sλ1 = λ1 > 0 ? π : -π, dλ = abs(λ1 - λ0); - if (abs(dλ - π) < ε) { - listener.point(λ0, φ0 = (φ0 + φ1) / 2 > 0 ? halfπ : -halfπ); - listener.point(sλ0, φ0); - listener.lineEnd(); - listener.lineStart(); - listener.point(sλ1, φ0); - listener.point(λ1, φ0); - clean = 0; - } else if (sλ0 !== sλ1 && dλ >= π) { - if (abs(λ0 - sλ0) < ε) λ0 -= sλ0 * ε; - if (abs(λ1 - sλ1) < ε) λ1 -= sλ1 * ε; - φ0 = d3_geo_clipAntimeridianIntersect(λ0, φ0, λ1, φ1); - listener.point(sλ0, φ0); - listener.lineEnd(); - listener.lineStart(); - listener.point(sλ1, φ0); - clean = 0; - } - listener.point(λ0 = λ1, φ0 = φ1); - sλ0 = sλ1; - }, - lineEnd: function() { - listener.lineEnd(); - λ0 = φ0 = NaN; - }, - clean: function() { - return 2 - clean; - } - }; - } - function d3_geo_clipAntimeridianIntersect(λ0, φ0, λ1, φ1) { - var cosφ0, cosφ1, sinλ0_λ1 = Math.sin(λ0 - λ1); - return abs(sinλ0_λ1) > ε ? Math.atan((Math.sin(φ0) * (cosφ1 = Math.cos(φ1)) * Math.sin(λ1) - Math.sin(φ1) * (cosφ0 = Math.cos(φ0)) * Math.sin(λ0)) / (cosφ0 * cosφ1 * sinλ0_λ1)) : (φ0 + φ1) / 2; - } - function d3_geo_clipAntimeridianInterpolate(from, to, direction, listener) { - var φ; - if (from == null) { - φ = direction * halfπ; - listener.point(-π, φ); - listener.point(0, φ); - listener.point(π, φ); - listener.point(π, 0); - listener.point(π, -φ); - listener.point(0, -φ); - listener.point(-π, -φ); - listener.point(-π, 0); - listener.point(-π, φ); - } else if (abs(from[0] - to[0]) > ε) { - var s = from[0] < to[0] ? π : -π; - φ = direction * s / 2; - listener.point(-s, φ); - listener.point(0, φ); - listener.point(s, φ); - } else { - listener.point(to[0], to[1]); - } - } - function d3_geo_pointInPolygon(point, polygon) { - var meridian = point[0], parallel = point[1], meridianNormal = [ Math.sin(meridian), -Math.cos(meridian), 0 ], polarAngle = 0, winding = 0; - d3_geo_areaRingSum.reset(); - for (var i = 0, n = polygon.length; i < n; ++i) { - var ring = polygon[i], m = ring.length; - if (!m) continue; - var point0 = ring[0], λ0 = point0[0], φ0 = point0[1] / 2 + π / 4, sinφ0 = Math.sin(φ0), cosφ0 = Math.cos(φ0), j = 1; - while (true) { - if (j === m) j = 0; - point = ring[j]; - var λ = point[0], φ = point[1] / 2 + π / 4, sinφ = Math.sin(φ), cosφ = Math.cos(φ), dλ = λ - λ0, sdλ = dλ >= 0 ? 1 : -1, adλ = sdλ * dλ, antimeridian = adλ > π, k = sinφ0 * sinφ; - d3_geo_areaRingSum.add(Math.atan2(k * sdλ * Math.sin(adλ), cosφ0 * cosφ + k * Math.cos(adλ))); - polarAngle += antimeridian ? dλ + sdλ * τ : dλ; - if (antimeridian ^ λ0 >= meridian ^ λ >= meridian) { - var arc = d3_geo_cartesianCross(d3_geo_cartesian(point0), d3_geo_cartesian(point)); - d3_geo_cartesianNormalize(arc); - var intersection = d3_geo_cartesianCross(meridianNormal, arc); - d3_geo_cartesianNormalize(intersection); - var φarc = (antimeridian ^ dλ >= 0 ? -1 : 1) * d3_asin(intersection[2]); - if (parallel > φarc || parallel === φarc && (arc[0] || arc[1])) { - winding += antimeridian ^ dλ >= 0 ? 1 : -1; - } - } - if (!j++) break; - λ0 = λ, sinφ0 = sinφ, cosφ0 = cosφ, point0 = point; - } - } - return (polarAngle < -ε || polarAngle < ε && d3_geo_areaRingSum < 0) ^ winding & 1; - } - function d3_geo_clipCircle(radius) { - var cr = Math.cos(radius), smallRadius = cr > 0, notHemisphere = abs(cr) > ε, interpolate = d3_geo_circleInterpolate(radius, 6 * d3_radians); - return d3_geo_clip(visible, clipLine, interpolate, smallRadius ? [ 0, -radius ] : [ -π, radius - π ]); - function visible(λ, φ) { - return Math.cos(λ) * Math.cos(φ) > cr; - } - function clipLine(listener) { - var point0, c0, v0, v00, clean; - return { - lineStart: function() { - v00 = v0 = false; - clean = 1; - }, - point: function(λ, φ) { - var point1 = [ λ, φ ], point2, v = visible(λ, φ), c = smallRadius ? v ? 0 : code(λ, φ) : v ? code(λ + (λ < 0 ? π : -π), φ) : 0; - if (!point0 && (v00 = v0 = v)) listener.lineStart(); - if (v !== v0) { - point2 = intersect(point0, point1); - if (d3_geo_sphericalEqual(point0, point2) || d3_geo_sphericalEqual(point1, point2)) { - point1[0] += ε; - point1[1] += ε; - v = visible(point1[0], point1[1]); - } - } - if (v !== v0) { - clean = 0; - if (v) { - listener.lineStart(); - point2 = intersect(point1, point0); - listener.point(point2[0], point2[1]); - } else { - point2 = intersect(point0, point1); - listener.point(point2[0], point2[1]); - listener.lineEnd(); - } - point0 = point2; - } else if (notHemisphere && point0 && smallRadius ^ v) { - var t; - if (!(c & c0) && (t = intersect(point1, point0, true))) { - clean = 0; - if (smallRadius) { - listener.lineStart(); - listener.point(t[0][0], t[0][1]); - listener.point(t[1][0], t[1][1]); - listener.lineEnd(); - } else { - listener.point(t[1][0], t[1][1]); - listener.lineEnd(); - listener.lineStart(); - listener.point(t[0][0], t[0][1]); - } - } - } - if (v && (!point0 || !d3_geo_sphericalEqual(point0, point1))) { - listener.point(point1[0], point1[1]); - } - point0 = point1, v0 = v, c0 = c; - }, - lineEnd: function() { - if (v0) listener.lineEnd(); - point0 = null; - }, - clean: function() { - return clean | (v00 && v0) << 1; - } - }; - } - function intersect(a, b, two) { - var pa = d3_geo_cartesian(a), pb = d3_geo_cartesian(b); - var n1 = [ 1, 0, 0 ], n2 = d3_geo_cartesianCross(pa, pb), n2n2 = d3_geo_cartesianDot(n2, n2), n1n2 = n2[0], determinant = n2n2 - n1n2 * n1n2; - if (!determinant) return !two && a; - var c1 = cr * n2n2 / determinant, c2 = -cr * n1n2 / determinant, n1xn2 = d3_geo_cartesianCross(n1, n2), A = d3_geo_cartesianScale(n1, c1), B = d3_geo_cartesianScale(n2, c2); - d3_geo_cartesianAdd(A, B); - var u = n1xn2, w = d3_geo_cartesianDot(A, u), uu = d3_geo_cartesianDot(u, u), t2 = w * w - uu * (d3_geo_cartesianDot(A, A) - 1); - if (t2 < 0) return; - var t = Math.sqrt(t2), q = d3_geo_cartesianScale(u, (-w - t) / uu); - d3_geo_cartesianAdd(q, A); - q = d3_geo_spherical(q); - if (!two) return q; - var λ0 = a[0], λ1 = b[0], φ0 = a[1], φ1 = b[1], z; - if (λ1 < λ0) z = λ0, λ0 = λ1, λ1 = z; - var δλ = λ1 - λ0, polar = abs(δλ - π) < ε, meridian = polar || δλ < ε; - if (!polar && φ1 < φ0) z = φ0, φ0 = φ1, φ1 = z; - if (meridian ? polar ? φ0 + φ1 > 0 ^ q[1] < (abs(q[0] - λ0) < ε ? φ0 : φ1) : φ0 <= q[1] && q[1] <= φ1 : δλ > π ^ (λ0 <= q[0] && q[0] <= λ1)) { - var q1 = d3_geo_cartesianScale(u, (-w + t) / uu); - d3_geo_cartesianAdd(q1, A); - return [ q, d3_geo_spherical(q1) ]; - } - } - function code(λ, φ) { - var r = smallRadius ? radius : π - radius, code = 0; - if (λ < -r) code |= 1; else if (λ > r) code |= 2; - if (φ < -r) code |= 4; else if (φ > r) code |= 8; - return code; - } - } - function d3_geom_clipLine(x0, y0, x1, y1) { - return function(line) { - var a = line.a, b = line.b, ax = a.x, ay = a.y, bx = b.x, by = b.y, t0 = 0, t1 = 1, dx = bx - ax, dy = by - ay, r; - r = x0 - ax; - if (!dx && r > 0) return; - r /= dx; - if (dx < 0) { - if (r < t0) return; - if (r < t1) t1 = r; - } else if (dx > 0) { - if (r > t1) return; - if (r > t0) t0 = r; - } - r = x1 - ax; - if (!dx && r < 0) return; - r /= dx; - if (dx < 0) { - if (r > t1) return; - if (r > t0) t0 = r; - } else if (dx > 0) { - if (r < t0) return; - if (r < t1) t1 = r; - } - r = y0 - ay; - if (!dy && r > 0) return; - r /= dy; - if (dy < 0) { - if (r < t0) return; - if (r < t1) t1 = r; - } else if (dy > 0) { - if (r > t1) return; - if (r > t0) t0 = r; - } - r = y1 - ay; - if (!dy && r < 0) return; - r /= dy; - if (dy < 0) { - if (r > t1) return; - if (r > t0) t0 = r; - } else if (dy > 0) { - if (r < t0) return; - if (r < t1) t1 = r; - } - if (t0 > 0) line.a = { - x: ax + t0 * dx, - y: ay + t0 * dy - }; - if (t1 < 1) line.b = { - x: ax + t1 * dx, - y: ay + t1 * dy - }; - return line; - }; - } - var d3_geo_clipExtentMAX = 1e9; - d3.geo.clipExtent = function() { - var x0, y0, x1, y1, stream, clip, clipExtent = { - stream: function(output) { - if (stream) stream.valid = false; - stream = clip(output); - stream.valid = true; - return stream; - }, - extent: function(_) { - if (!arguments.length) return [ [ x0, y0 ], [ x1, y1 ] ]; - clip = d3_geo_clipExtent(x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1]); - if (stream) stream.valid = false, stream = null; - return clipExtent; - } - }; - return clipExtent.extent([ [ 0, 0 ], [ 960, 500 ] ]); - }; - function d3_geo_clipExtent(x0, y0, x1, y1) { - return function(listener) { - var listener_ = listener, bufferListener = d3_geo_clipBufferListener(), clipLine = d3_geom_clipLine(x0, y0, x1, y1), segments, polygon, ring; - var clip = { - point: point, - lineStart: lineStart, - lineEnd: lineEnd, - polygonStart: function() { - listener = bufferListener; - segments = []; - polygon = []; - clean = true; - }, - polygonEnd: function() { - listener = listener_; - segments = d3.merge(segments); - var clipStartInside = insidePolygon([ x0, y1 ]), inside = clean && clipStartInside, visible = segments.length; - if (inside || visible) { - listener.polygonStart(); - if (inside) { - listener.lineStart(); - interpolate(null, null, 1, listener); - listener.lineEnd(); - } - if (visible) { - d3_geo_clipPolygon(segments, compare, clipStartInside, interpolate, listener); - } - listener.polygonEnd(); - } - segments = polygon = ring = null; - } - }; - function insidePolygon(p) { - var wn = 0, n = polygon.length, y = p[1]; - for (var i = 0; i < n; ++i) { - for (var j = 1, v = polygon[i], m = v.length, a = v[0], b; j < m; ++j) { - b = v[j]; - if (a[1] <= y) { - if (b[1] > y && d3_cross2d(a, b, p) > 0) ++wn; - } else { - if (b[1] <= y && d3_cross2d(a, b, p) < 0) --wn; - } - a = b; - } - } - return wn !== 0; - } - function interpolate(from, to, direction, listener) { - var a = 0, a1 = 0; - if (from == null || (a = corner(from, direction)) !== (a1 = corner(to, direction)) || comparePoints(from, to) < 0 ^ direction > 0) { - do { - listener.point(a === 0 || a === 3 ? x0 : x1, a > 1 ? y1 : y0); - } while ((a = (a + direction + 4) % 4) !== a1); - } else { - listener.point(to[0], to[1]); - } - } - function pointVisible(x, y) { - return x0 <= x && x <= x1 && y0 <= y && y <= y1; - } - function point(x, y) { - if (pointVisible(x, y)) listener.point(x, y); - } - var x__, y__, v__, x_, y_, v_, first, clean; - function lineStart() { - clip.point = linePoint; - if (polygon) polygon.push(ring = []); - first = true; - v_ = false; - x_ = y_ = NaN; - } - function lineEnd() { - if (segments) { - linePoint(x__, y__); - if (v__ && v_) bufferListener.rejoin(); - segments.push(bufferListener.buffer()); - } - clip.point = point; - if (v_) listener.lineEnd(); - } - function linePoint(x, y) { - x = Math.max(-d3_geo_clipExtentMAX, Math.min(d3_geo_clipExtentMAX, x)); - y = Math.max(-d3_geo_clipExtentMAX, Math.min(d3_geo_clipExtentMAX, y)); - var v = pointVisible(x, y); - if (polygon) ring.push([ x, y ]); - if (first) { - x__ = x, y__ = y, v__ = v; - first = false; - if (v) { - listener.lineStart(); - listener.point(x, y); - } - } else { - if (v && v_) listener.point(x, y); else { - var l = { - a: { - x: x_, - y: y_ - }, - b: { - x: x, - y: y - } - }; - if (clipLine(l)) { - if (!v_) { - listener.lineStart(); - listener.point(l.a.x, l.a.y); - } - listener.point(l.b.x, l.b.y); - if (!v) listener.lineEnd(); - clean = false; - } else if (v) { - listener.lineStart(); - listener.point(x, y); - clean = false; - } - } - } - x_ = x, y_ = y, v_ = v; - } - return clip; - }; - function corner(p, direction) { - return abs(p[0] - x0) < ε ? direction > 0 ? 0 : 3 : abs(p[0] - x1) < ε ? direction > 0 ? 2 : 1 : abs(p[1] - y0) < ε ? direction > 0 ? 1 : 0 : direction > 0 ? 3 : 2; - } - function compare(a, b) { - return comparePoints(a.x, b.x); - } - function comparePoints(a, b) { - var ca = corner(a, 1), cb = corner(b, 1); - return ca !== cb ? ca - cb : ca === 0 ? b[1] - a[1] : ca === 1 ? a[0] - b[0] : ca === 2 ? a[1] - b[1] : b[0] - a[0]; - } - } - function d3_geo_conic(projectAt) { - var φ0 = 0, φ1 = π / 3, m = d3_geo_projectionMutator(projectAt), p = m(φ0, φ1); - p.parallels = function(_) { - if (!arguments.length) return [ φ0 / π * 180, φ1 / π * 180 ]; - return m(φ0 = _[0] * π / 180, φ1 = _[1] * π / 180); - }; - return p; - } - function d3_geo_conicEqualArea(φ0, φ1) { - var sinφ0 = Math.sin(φ0), n = (sinφ0 + Math.sin(φ1)) / 2, C = 1 + sinφ0 * (2 * n - sinφ0), ρ0 = Math.sqrt(C) / n; - function forward(λ, φ) { - var ρ = Math.sqrt(C - 2 * n * Math.sin(φ)) / n; - return [ ρ * Math.sin(λ *= n), ρ0 - ρ * Math.cos(λ) ]; - } - forward.invert = function(x, y) { - var ρ0_y = ρ0 - y; - return [ Math.atan2(x, ρ0_y) / n, d3_asin((C - (x * x + ρ0_y * ρ0_y) * n * n) / (2 * n)) ]; - }; - return forward; - } - (d3.geo.conicEqualArea = function() { - return d3_geo_conic(d3_geo_conicEqualArea); - }).raw = d3_geo_conicEqualArea; - d3.geo.albers = function() { - return d3.geo.conicEqualArea().rotate([ 96, 0 ]).center([ -.6, 38.7 ]).parallels([ 29.5, 45.5 ]).scale(1070); - }; - d3.geo.albersUsa = function() { - var lower48 = d3.geo.albers(); - var alaska = d3.geo.conicEqualArea().rotate([ 154, 0 ]).center([ -2, 58.5 ]).parallels([ 55, 65 ]); - var hawaii = d3.geo.conicEqualArea().rotate([ 157, 0 ]).center([ -3, 19.9 ]).parallels([ 8, 18 ]); - var point, pointStream = { - point: function(x, y) { - point = [ x, y ]; - } - }, lower48Point, alaskaPoint, hawaiiPoint; - function albersUsa(coordinates) { - var x = coordinates[0], y = coordinates[1]; - point = null; - (lower48Point(x, y), point) || (alaskaPoint(x, y), point) || hawaiiPoint(x, y); - return point; - } - albersUsa.invert = function(coordinates) { - var k = lower48.scale(), t = lower48.translate(), x = (coordinates[0] - t[0]) / k, y = (coordinates[1] - t[1]) / k; - return (y >= .12 && y < .234 && x >= -.425 && x < -.214 ? alaska : y >= .166 && y < .234 && x >= -.214 && x < -.115 ? hawaii : lower48).invert(coordinates); - }; - albersUsa.stream = function(stream) { - var lower48Stream = lower48.stream(stream), alaskaStream = alaska.stream(stream), hawaiiStream = hawaii.stream(stream); - return { - point: function(x, y) { - lower48Stream.point(x, y); - alaskaStream.point(x, y); - hawaiiStream.point(x, y); - }, - sphere: function() { - lower48Stream.sphere(); - alaskaStream.sphere(); - hawaiiStream.sphere(); - }, - lineStart: function() { - lower48Stream.lineStart(); - alaskaStream.lineStart(); - hawaiiStream.lineStart(); - }, - lineEnd: function() { - lower48Stream.lineEnd(); - alaskaStream.lineEnd(); - hawaiiStream.lineEnd(); - }, - polygonStart: function() { - lower48Stream.polygonStart(); - alaskaStream.polygonStart(); - hawaiiStream.polygonStart(); - }, - polygonEnd: function() { - lower48Stream.polygonEnd(); - alaskaStream.polygonEnd(); - hawaiiStream.polygonEnd(); - } - }; - }; - albersUsa.precision = function(_) { - if (!arguments.length) return lower48.precision(); - lower48.precision(_); - alaska.precision(_); - hawaii.precision(_); - return albersUsa; - }; - albersUsa.scale = function(_) { - if (!arguments.length) return lower48.scale(); - lower48.scale(_); - alaska.scale(_ * .35); - hawaii.scale(_); - return albersUsa.translate(lower48.translate()); - }; - albersUsa.translate = function(_) { - if (!arguments.length) return lower48.translate(); - var k = lower48.scale(), x = +_[0], y = +_[1]; - lower48Point = lower48.translate(_).clipExtent([ [ x - .455 * k, y - .238 * k ], [ x + .455 * k, y + .238 * k ] ]).stream(pointStream).point; - alaskaPoint = alaska.translate([ x - .307 * k, y + .201 * k ]).clipExtent([ [ x - .425 * k + ε, y + .12 * k + ε ], [ x - .214 * k - ε, y + .234 * k - ε ] ]).stream(pointStream).point; - hawaiiPoint = hawaii.translate([ x - .205 * k, y + .212 * k ]).clipExtent([ [ x - .214 * k + ε, y + .166 * k + ε ], [ x - .115 * k - ε, y + .234 * k - ε ] ]).stream(pointStream).point; - return albersUsa; - }; - return albersUsa.scale(1070); - }; - var d3_geo_pathAreaSum, d3_geo_pathAreaPolygon, d3_geo_pathArea = { - point: d3_noop, - lineStart: d3_noop, - lineEnd: d3_noop, - polygonStart: function() { - d3_geo_pathAreaPolygon = 0; - d3_geo_pathArea.lineStart = d3_geo_pathAreaRingStart; - }, - polygonEnd: function() { - d3_geo_pathArea.lineStart = d3_geo_pathArea.lineEnd = d3_geo_pathArea.point = d3_noop; - d3_geo_pathAreaSum += abs(d3_geo_pathAreaPolygon / 2); - } - }; - function d3_geo_pathAreaRingStart() { - var x00, y00, x0, y0; - d3_geo_pathArea.point = function(x, y) { - d3_geo_pathArea.point = nextPoint; - x00 = x0 = x, y00 = y0 = y; - }; - function nextPoint(x, y) { - d3_geo_pathAreaPolygon += y0 * x - x0 * y; - x0 = x, y0 = y; - } - d3_geo_pathArea.lineEnd = function() { - nextPoint(x00, y00); - }; - } - var d3_geo_pathBoundsX0, d3_geo_pathBoundsY0, d3_geo_pathBoundsX1, d3_geo_pathBoundsY1; - var d3_geo_pathBounds = { - point: d3_geo_pathBoundsPoint, - lineStart: d3_noop, - lineEnd: d3_noop, - polygonStart: d3_noop, - polygonEnd: d3_noop - }; - function d3_geo_pathBoundsPoint(x, y) { - if (x < d3_geo_pathBoundsX0) d3_geo_pathBoundsX0 = x; - if (x > d3_geo_pathBoundsX1) d3_geo_pathBoundsX1 = x; - if (y < d3_geo_pathBoundsY0) d3_geo_pathBoundsY0 = y; - if (y > d3_geo_pathBoundsY1) d3_geo_pathBoundsY1 = y; - } - function d3_geo_pathBuffer() { - var pointCircle = d3_geo_pathBufferCircle(4.5), buffer = []; - var stream = { - point: point, - lineStart: function() { - stream.point = pointLineStart; - }, - lineEnd: lineEnd, - polygonStart: function() { - stream.lineEnd = lineEndPolygon; - }, - polygonEnd: function() { - stream.lineEnd = lineEnd; - stream.point = point; - }, - pointRadius: function(_) { - pointCircle = d3_geo_pathBufferCircle(_); - return stream; - }, - result: function() { - if (buffer.length) { - var result = buffer.join(""); - buffer = []; - return result; - } - } - }; - function point(x, y) { - buffer.push("M", x, ",", y, pointCircle); - } - function pointLineStart(x, y) { - buffer.push("M", x, ",", y); - stream.point = pointLine; - } - function pointLine(x, y) { - buffer.push("L", x, ",", y); - } - function lineEnd() { - stream.point = point; - } - function lineEndPolygon() { - buffer.push("Z"); - } - return stream; - } - function d3_geo_pathBufferCircle(radius) { - return "m0," + radius + "a" + radius + "," + radius + " 0 1,1 0," + -2 * radius + "a" + radius + "," + radius + " 0 1,1 0," + 2 * radius + "z"; - } - var d3_geo_pathCentroid = { - point: d3_geo_pathCentroidPoint, - lineStart: d3_geo_pathCentroidLineStart, - lineEnd: d3_geo_pathCentroidLineEnd, - polygonStart: function() { - d3_geo_pathCentroid.lineStart = d3_geo_pathCentroidRingStart; - }, - polygonEnd: function() { - d3_geo_pathCentroid.point = d3_geo_pathCentroidPoint; - d3_geo_pathCentroid.lineStart = d3_geo_pathCentroidLineStart; - d3_geo_pathCentroid.lineEnd = d3_geo_pathCentroidLineEnd; - } - }; - function d3_geo_pathCentroidPoint(x, y) { - d3_geo_centroidX0 += x; - d3_geo_centroidY0 += y; - ++d3_geo_centroidZ0; - } - function d3_geo_pathCentroidLineStart() { - var x0, y0; - d3_geo_pathCentroid.point = function(x, y) { - d3_geo_pathCentroid.point = nextPoint; - d3_geo_pathCentroidPoint(x0 = x, y0 = y); - }; - function nextPoint(x, y) { - var dx = x - x0, dy = y - y0, z = Math.sqrt(dx * dx + dy * dy); - d3_geo_centroidX1 += z * (x0 + x) / 2; - d3_geo_centroidY1 += z * (y0 + y) / 2; - d3_geo_centroidZ1 += z; - d3_geo_pathCentroidPoint(x0 = x, y0 = y); - } - } - function d3_geo_pathCentroidLineEnd() { - d3_geo_pathCentroid.point = d3_geo_pathCentroidPoint; - } - function d3_geo_pathCentroidRingStart() { - var x00, y00, x0, y0; - d3_geo_pathCentroid.point = function(x, y) { - d3_geo_pathCentroid.point = nextPoint; - d3_geo_pathCentroidPoint(x00 = x0 = x, y00 = y0 = y); - }; - function nextPoint(x, y) { - var dx = x - x0, dy = y - y0, z = Math.sqrt(dx * dx + dy * dy); - d3_geo_centroidX1 += z * (x0 + x) / 2; - d3_geo_centroidY1 += z * (y0 + y) / 2; - d3_geo_centroidZ1 += z; - z = y0 * x - x0 * y; - d3_geo_centroidX2 += z * (x0 + x); - d3_geo_centroidY2 += z * (y0 + y); - d3_geo_centroidZ2 += z * 3; - d3_geo_pathCentroidPoint(x0 = x, y0 = y); - } - d3_geo_pathCentroid.lineEnd = function() { - nextPoint(x00, y00); - }; - } - function d3_geo_pathContext(context) { - var pointRadius = 4.5; - var stream = { - point: point, - lineStart: function() { - stream.point = pointLineStart; - }, - lineEnd: lineEnd, - polygonStart: function() { - stream.lineEnd = lineEndPolygon; - }, - polygonEnd: function() { - stream.lineEnd = lineEnd; - stream.point = point; - }, - pointRadius: function(_) { - pointRadius = _; - return stream; - }, - result: d3_noop - }; - function point(x, y) { - context.moveTo(x + pointRadius, y); - context.arc(x, y, pointRadius, 0, τ); - } - function pointLineStart(x, y) { - context.moveTo(x, y); - stream.point = pointLine; - } - function pointLine(x, y) { - context.lineTo(x, y); - } - function lineEnd() { - stream.point = point; - } - function lineEndPolygon() { - context.closePath(); - } - return stream; - } - function d3_geo_resample(project) { - var δ2 = .5, cosMinDistance = Math.cos(30 * d3_radians), maxDepth = 16; - function resample(stream) { - return (maxDepth ? resampleRecursive : resampleNone)(stream); - } - function resampleNone(stream) { - return d3_geo_transformPoint(stream, function(x, y) { - x = project(x, y); - stream.point(x[0], x[1]); - }); - } - function resampleRecursive(stream) { - var λ00, φ00, x00, y00, a00, b00, c00, λ0, x0, y0, a0, b0, c0; - var resample = { - point: point, - lineStart: lineStart, - lineEnd: lineEnd, - polygonStart: function() { - stream.polygonStart(); - resample.lineStart = ringStart; - }, - polygonEnd: function() { - stream.polygonEnd(); - resample.lineStart = lineStart; - } - }; - function point(x, y) { - x = project(x, y); - stream.point(x[0], x[1]); - } - function lineStart() { - x0 = NaN; - resample.point = linePoint; - stream.lineStart(); - } - function linePoint(λ, φ) { - var c = d3_geo_cartesian([ λ, φ ]), p = project(λ, φ); - resampleLineTo(x0, y0, λ0, a0, b0, c0, x0 = p[0], y0 = p[1], λ0 = λ, a0 = c[0], b0 = c[1], c0 = c[2], maxDepth, stream); - stream.point(x0, y0); - } - function lineEnd() { - resample.point = point; - stream.lineEnd(); - } - function ringStart() { - lineStart(); - resample.point = ringPoint; - resample.lineEnd = ringEnd; - } - function ringPoint(λ, φ) { - linePoint(λ00 = λ, φ00 = φ), x00 = x0, y00 = y0, a00 = a0, b00 = b0, c00 = c0; - resample.point = linePoint; - } - function ringEnd() { - resampleLineTo(x0, y0, λ0, a0, b0, c0, x00, y00, λ00, a00, b00, c00, maxDepth, stream); - resample.lineEnd = lineEnd; - lineEnd(); - } - return resample; - } - function resampleLineTo(x0, y0, λ0, a0, b0, c0, x1, y1, λ1, a1, b1, c1, depth, stream) { - var dx = x1 - x0, dy = y1 - y0, d2 = dx * dx + dy * dy; - if (d2 > 4 * δ2 && depth--) { - var a = a0 + a1, b = b0 + b1, c = c0 + c1, m = Math.sqrt(a * a + b * b + c * c), φ2 = Math.asin(c /= m), λ2 = abs(abs(c) - 1) < ε || abs(λ0 - λ1) < ε ? (λ0 + λ1) / 2 : Math.atan2(b, a), p = project(λ2, φ2), x2 = p[0], y2 = p[1], dx2 = x2 - x0, dy2 = y2 - y0, dz = dy * dx2 - dx * dy2; - if (dz * dz / d2 > δ2 || abs((dx * dx2 + dy * dy2) / d2 - .5) > .3 || a0 * a1 + b0 * b1 + c0 * c1 < cosMinDistance) { - resampleLineTo(x0, y0, λ0, a0, b0, c0, x2, y2, λ2, a /= m, b /= m, c, depth, stream); - stream.point(x2, y2); - resampleLineTo(x2, y2, λ2, a, b, c, x1, y1, λ1, a1, b1, c1, depth, stream); - } - } - } - resample.precision = function(_) { - if (!arguments.length) return Math.sqrt(δ2); - maxDepth = (δ2 = _ * _) > 0 && 16; - return resample; - }; - return resample; - } - d3.geo.path = function() { - var pointRadius = 4.5, projection, context, projectStream, contextStream, cacheStream; - function path(object) { - if (object) { - if (typeof pointRadius === "function") contextStream.pointRadius(+pointRadius.apply(this, arguments)); - if (!cacheStream || !cacheStream.valid) cacheStream = projectStream(contextStream); - d3.geo.stream(object, cacheStream); - } - return contextStream.result(); - } - path.area = function(object) { - d3_geo_pathAreaSum = 0; - d3.geo.stream(object, projectStream(d3_geo_pathArea)); - return d3_geo_pathAreaSum; - }; - path.centroid = function(object) { - d3_geo_centroidX0 = d3_geo_centroidY0 = d3_geo_centroidZ0 = d3_geo_centroidX1 = d3_geo_centroidY1 = d3_geo_centroidZ1 = d3_geo_centroidX2 = d3_geo_centroidY2 = d3_geo_centroidZ2 = 0; - d3.geo.stream(object, projectStream(d3_geo_pathCentroid)); - return d3_geo_centroidZ2 ? [ d3_geo_centroidX2 / d3_geo_centroidZ2, d3_geo_centroidY2 / d3_geo_centroidZ2 ] : d3_geo_centroidZ1 ? [ d3_geo_centroidX1 / d3_geo_centroidZ1, d3_geo_centroidY1 / d3_geo_centroidZ1 ] : d3_geo_centroidZ0 ? [ d3_geo_centroidX0 / d3_geo_centroidZ0, d3_geo_centroidY0 / d3_geo_centroidZ0 ] : [ NaN, NaN ]; - }; - path.bounds = function(object) { - d3_geo_pathBoundsX1 = d3_geo_pathBoundsY1 = -(d3_geo_pathBoundsX0 = d3_geo_pathBoundsY0 = Infinity); - d3.geo.stream(object, projectStream(d3_geo_pathBounds)); - return [ [ d3_geo_pathBoundsX0, d3_geo_pathBoundsY0 ], [ d3_geo_pathBoundsX1, d3_geo_pathBoundsY1 ] ]; - }; - path.projection = function(_) { - if (!arguments.length) return projection; - projectStream = (projection = _) ? _.stream || d3_geo_pathProjectStream(_) : d3_identity; - return reset(); - }; - path.context = function(_) { - if (!arguments.length) return context; - contextStream = (context = _) == null ? new d3_geo_pathBuffer() : new d3_geo_pathContext(_); - if (typeof pointRadius !== "function") contextStream.pointRadius(pointRadius); - return reset(); - }; - path.pointRadius = function(_) { - if (!arguments.length) return pointRadius; - pointRadius = typeof _ === "function" ? _ : (contextStream.pointRadius(+_), +_); - return path; - }; - function reset() { - cacheStream = null; - return path; - } - return path.projection(d3.geo.albersUsa()).context(null); - }; - function d3_geo_pathProjectStream(project) { - var resample = d3_geo_resample(function(x, y) { - return project([ x * d3_degrees, y * d3_degrees ]); - }); - return function(stream) { - return d3_geo_projectionRadians(resample(stream)); - }; - } - d3.geo.transform = function(methods) { - return { - stream: function(stream) { - var transform = new d3_geo_transform(stream); - for (var k in methods) transform[k] = methods[k]; - return transform; - } - }; - }; - function d3_geo_transform(stream) { - this.stream = stream; - } - d3_geo_transform.prototype = { - point: function(x, y) { - this.stream.point(x, y); - }, - sphere: function() { - this.stream.sphere(); - }, - lineStart: function() { - this.stream.lineStart(); - }, - lineEnd: function() { - this.stream.lineEnd(); - }, - polygonStart: function() { - this.stream.polygonStart(); - }, - polygonEnd: function() { - this.stream.polygonEnd(); - } - }; - function d3_geo_transformPoint(stream, point) { - return { - point: point, - sphere: function() { - stream.sphere(); - }, - lineStart: function() { - stream.lineStart(); - }, - lineEnd: function() { - stream.lineEnd(); - }, - polygonStart: function() { - stream.polygonStart(); - }, - polygonEnd: function() { - stream.polygonEnd(); - } - }; - } - d3.geo.projection = d3_geo_projection; - d3.geo.projectionMutator = d3_geo_projectionMutator; - function d3_geo_projection(project) { - return d3_geo_projectionMutator(function() { - return project; - })(); - } - function d3_geo_projectionMutator(projectAt) { - var project, rotate, projectRotate, projectResample = d3_geo_resample(function(x, y) { - x = project(x, y); - return [ x[0] * k + δx, δy - x[1] * k ]; - }), k = 150, x = 480, y = 250, λ = 0, φ = 0, δλ = 0, δφ = 0, δγ = 0, δx, δy, preclip = d3_geo_clipAntimeridian, postclip = d3_identity, clipAngle = null, clipExtent = null, stream; - function projection(point) { - point = projectRotate(point[0] * d3_radians, point[1] * d3_radians); - return [ point[0] * k + δx, δy - point[1] * k ]; - } - function invert(point) { - point = projectRotate.invert((point[0] - δx) / k, (δy - point[1]) / k); - return point && [ point[0] * d3_degrees, point[1] * d3_degrees ]; - } - projection.stream = function(output) { - if (stream) stream.valid = false; - stream = d3_geo_projectionRadians(preclip(rotate, projectResample(postclip(output)))); - stream.valid = true; - return stream; - }; - projection.clipAngle = function(_) { - if (!arguments.length) return clipAngle; - preclip = _ == null ? (clipAngle = _, d3_geo_clipAntimeridian) : d3_geo_clipCircle((clipAngle = +_) * d3_radians); - return invalidate(); - }; - projection.clipExtent = function(_) { - if (!arguments.length) return clipExtent; - clipExtent = _; - postclip = _ ? d3_geo_clipExtent(_[0][0], _[0][1], _[1][0], _[1][1]) : d3_identity; - return invalidate(); - }; - projection.scale = function(_) { - if (!arguments.length) return k; - k = +_; - return reset(); - }; - projection.translate = function(_) { - if (!arguments.length) return [ x, y ]; - x = +_[0]; - y = +_[1]; - return reset(); - }; - projection.center = function(_) { - if (!arguments.length) return [ λ * d3_degrees, φ * d3_degrees ]; - λ = _[0] % 360 * d3_radians; - φ = _[1] % 360 * d3_radians; - return reset(); - }; - projection.rotate = function(_) { - if (!arguments.length) return [ δλ * d3_degrees, δφ * d3_degrees, δγ * d3_degrees ]; - δλ = _[0] % 360 * d3_radians; - δφ = _[1] % 360 * d3_radians; - δγ = _.length > 2 ? _[2] % 360 * d3_radians : 0; - return reset(); - }; - d3.rebind(projection, projectResample, "precision"); - function reset() { - projectRotate = d3_geo_compose(rotate = d3_geo_rotation(δλ, δφ, δγ), project); - var center = project(λ, φ); - δx = x - center[0] * k; - δy = y + center[1] * k; - return invalidate(); - } - function invalidate() { - if (stream) stream.valid = false, stream = null; - return projection; - } - return function() { - project = projectAt.apply(this, arguments); - projection.invert = project.invert && invert; - return reset(); - }; - } - function d3_geo_projectionRadians(stream) { - return d3_geo_transformPoint(stream, function(x, y) { - stream.point(x * d3_radians, y * d3_radians); - }); - } - function d3_geo_equirectangular(λ, φ) { - return [ λ, φ ]; - } - (d3.geo.equirectangular = function() { - return d3_geo_projection(d3_geo_equirectangular); - }).raw = d3_geo_equirectangular.invert = d3_geo_equirectangular; - d3.geo.rotation = function(rotate) { - rotate = d3_geo_rotation(rotate[0] % 360 * d3_radians, rotate[1] * d3_radians, rotate.length > 2 ? rotate[2] * d3_radians : 0); - function forward(coordinates) { - coordinates = rotate(coordinates[0] * d3_radians, coordinates[1] * d3_radians); - return coordinates[0] *= d3_degrees, coordinates[1] *= d3_degrees, coordinates; - } - forward.invert = function(coordinates) { - coordinates = rotate.invert(coordinates[0] * d3_radians, coordinates[1] * d3_radians); - return coordinates[0] *= d3_degrees, coordinates[1] *= d3_degrees, coordinates; - }; - return forward; - }; - function d3_geo_identityRotation(λ, φ) { - return [ λ > π ? λ - τ : λ < -π ? λ + τ : λ, φ ]; - } - d3_geo_identityRotation.invert = d3_geo_equirectangular; - function d3_geo_rotation(δλ, δφ, δγ) { - return δλ ? δφ || δγ ? d3_geo_compose(d3_geo_rotationλ(δλ), d3_geo_rotationφγ(δφ, δγ)) : d3_geo_rotationλ(δλ) : δφ || δγ ? d3_geo_rotationφγ(δφ, δγ) : d3_geo_identityRotation; - } - function d3_geo_forwardRotationλ(δλ) { - return function(λ, φ) { - return λ += δλ, [ λ > π ? λ - τ : λ < -π ? λ + τ : λ, φ ]; - }; - } - function d3_geo_rotationλ(δλ) { - var rotation = d3_geo_forwardRotationλ(δλ); - rotation.invert = d3_geo_forwardRotationλ(-δλ); - return rotation; - } - function d3_geo_rotationφγ(δφ, δγ) { - var cosδφ = Math.cos(δφ), sinδφ = Math.sin(δφ), cosδγ = Math.cos(δγ), sinδγ = Math.sin(δγ); - function rotation(λ, φ) { - var cosφ = Math.cos(φ), x = Math.cos(λ) * cosφ, y = Math.sin(λ) * cosφ, z = Math.sin(φ), k = z * cosδφ + x * sinδφ; - return [ Math.atan2(y * cosδγ - k * sinδγ, x * cosδφ - z * sinδφ), d3_asin(k * cosδγ + y * sinδγ) ]; - } - rotation.invert = function(λ, φ) { - var cosφ = Math.cos(φ), x = Math.cos(λ) * cosφ, y = Math.sin(λ) * cosφ, z = Math.sin(φ), k = z * cosδγ - y * sinδγ; - return [ Math.atan2(y * cosδγ + z * sinδγ, x * cosδφ + k * sinδφ), d3_asin(k * cosδφ - x * sinδφ) ]; - }; - return rotation; - } - d3.geo.circle = function() { - var origin = [ 0, 0 ], angle, precision = 6, interpolate; - function circle() { - var center = typeof origin === "function" ? origin.apply(this, arguments) : origin, rotate = d3_geo_rotation(-center[0] * d3_radians, -center[1] * d3_radians, 0).invert, ring = []; - interpolate(null, null, 1, { - point: function(x, y) { - ring.push(x = rotate(x, y)); - x[0] *= d3_degrees, x[1] *= d3_degrees; - } - }); - return { - type: "Polygon", - coordinates: [ ring ] - }; - } - circle.origin = function(x) { - if (!arguments.length) return origin; - origin = x; - return circle; - }; - circle.angle = function(x) { - if (!arguments.length) return angle; - interpolate = d3_geo_circleInterpolate((angle = +x) * d3_radians, precision * d3_radians); - return circle; - }; - circle.precision = function(_) { - if (!arguments.length) return precision; - interpolate = d3_geo_circleInterpolate(angle * d3_radians, (precision = +_) * d3_radians); - return circle; - }; - return circle.angle(90); - }; - function d3_geo_circleInterpolate(radius, precision) { - var cr = Math.cos(radius), sr = Math.sin(radius); - return function(from, to, direction, listener) { - var step = direction * precision; - if (from != null) { - from = d3_geo_circleAngle(cr, from); - to = d3_geo_circleAngle(cr, to); - if (direction > 0 ? from < to : from > to) from += direction * τ; - } else { - from = radius + direction * τ; - to = radius - .5 * step; - } - for (var point, t = from; direction > 0 ? t > to : t < to; t -= step) { - listener.point((point = d3_geo_spherical([ cr, -sr * Math.cos(t), -sr * Math.sin(t) ]))[0], point[1]); - } - }; - } - function d3_geo_circleAngle(cr, point) { - var a = d3_geo_cartesian(point); - a[0] -= cr; - d3_geo_cartesianNormalize(a); - var angle = d3_acos(-a[1]); - return ((-a[2] < 0 ? -angle : angle) + 2 * Math.PI - ε) % (2 * Math.PI); - } - d3.geo.distance = function(a, b) { - var Δλ = (b[0] - a[0]) * d3_radians, φ0 = a[1] * d3_radians, φ1 = b[1] * d3_radians, sinΔλ = Math.sin(Δλ), cosΔλ = Math.cos(Δλ), sinφ0 = Math.sin(φ0), cosφ0 = Math.cos(φ0), sinφ1 = Math.sin(φ1), cosφ1 = Math.cos(φ1), t; - return Math.atan2(Math.sqrt((t = cosφ1 * sinΔλ) * t + (t = cosφ0 * sinφ1 - sinφ0 * cosφ1 * cosΔλ) * t), sinφ0 * sinφ1 + cosφ0 * cosφ1 * cosΔλ); - }; - d3.geo.graticule = function() { - var x1, x0, X1, X0, y1, y0, Y1, Y0, dx = 10, dy = dx, DX = 90, DY = 360, x, y, X, Y, precision = 2.5; - function graticule() { - return { - type: "MultiLineString", - coordinates: lines() - }; - } - function lines() { - return d3.range(Math.ceil(X0 / DX) * DX, X1, DX).map(X).concat(d3.range(Math.ceil(Y0 / DY) * DY, Y1, DY).map(Y)).concat(d3.range(Math.ceil(x0 / dx) * dx, x1, dx).filter(function(x) { - return abs(x % DX) > ε; - }).map(x)).concat(d3.range(Math.ceil(y0 / dy) * dy, y1, dy).filter(function(y) { - return abs(y % DY) > ε; - }).map(y)); - } - graticule.lines = function() { - return lines().map(function(coordinates) { - return { - type: "LineString", - coordinates: coordinates - }; - }); - }; - graticule.outline = function() { - return { - type: "Polygon", - coordinates: [ X(X0).concat(Y(Y1).slice(1), X(X1).reverse().slice(1), Y(Y0).reverse().slice(1)) ] - }; - }; - graticule.extent = function(_) { - if (!arguments.length) return graticule.minorExtent(); - return graticule.majorExtent(_).minorExtent(_); - }; - graticule.majorExtent = function(_) { - if (!arguments.length) return [ [ X0, Y0 ], [ X1, Y1 ] ]; - X0 = +_[0][0], X1 = +_[1][0]; - Y0 = +_[0][1], Y1 = +_[1][1]; - if (X0 > X1) _ = X0, X0 = X1, X1 = _; - if (Y0 > Y1) _ = Y0, Y0 = Y1, Y1 = _; - return graticule.precision(precision); - }; - graticule.minorExtent = function(_) { - if (!arguments.length) return [ [ x0, y0 ], [ x1, y1 ] ]; - x0 = +_[0][0], x1 = +_[1][0]; - y0 = +_[0][1], y1 = +_[1][1]; - if (x0 > x1) _ = x0, x0 = x1, x1 = _; - if (y0 > y1) _ = y0, y0 = y1, y1 = _; - return graticule.precision(precision); - }; - graticule.step = function(_) { - if (!arguments.length) return graticule.minorStep(); - return graticule.majorStep(_).minorStep(_); - }; - graticule.majorStep = function(_) { - if (!arguments.length) return [ DX, DY ]; - DX = +_[0], DY = +_[1]; - return graticule; - }; - graticule.minorStep = function(_) { - if (!arguments.length) return [ dx, dy ]; - dx = +_[0], dy = +_[1]; - return graticule; - }; - graticule.precision = function(_) { - if (!arguments.length) return precision; - precision = +_; - x = d3_geo_graticuleX(y0, y1, 90); - y = d3_geo_graticuleY(x0, x1, precision); - X = d3_geo_graticuleX(Y0, Y1, 90); - Y = d3_geo_graticuleY(X0, X1, precision); - return graticule; - }; - return graticule.majorExtent([ [ -180, -90 + ε ], [ 180, 90 - ε ] ]).minorExtent([ [ -180, -80 - ε ], [ 180, 80 + ε ] ]); - }; - function d3_geo_graticuleX(y0, y1, dy) { - var y = d3.range(y0, y1 - ε, dy).concat(y1); - return function(x) { - return y.map(function(y) { - return [ x, y ]; - }); - }; - } - function d3_geo_graticuleY(x0, x1, dx) { - var x = d3.range(x0, x1 - ε, dx).concat(x1); - return function(y) { - return x.map(function(x) { - return [ x, y ]; - }); - }; - } - function d3_source(d) { - return d.source; - } - function d3_target(d) { - return d.target; - } - d3.geo.greatArc = function() { - var source = d3_source, source_, target = d3_target, target_; - function greatArc() { - return { - type: "LineString", - coordinates: [ source_ || source.apply(this, arguments), target_ || target.apply(this, arguments) ] - }; - } - greatArc.distance = function() { - return d3.geo.distance(source_ || source.apply(this, arguments), target_ || target.apply(this, arguments)); - }; - greatArc.source = function(_) { - if (!arguments.length) return source; - source = _, source_ = typeof _ === "function" ? null : _; - return greatArc; - }; - greatArc.target = function(_) { - if (!arguments.length) return target; - target = _, target_ = typeof _ === "function" ? null : _; - return greatArc; - }; - greatArc.precision = function() { - return arguments.length ? greatArc : 0; - }; - return greatArc; - }; - d3.geo.interpolate = function(source, target) { - return d3_geo_interpolate(source[0] * d3_radians, source[1] * d3_radians, target[0] * d3_radians, target[1] * d3_radians); - }; - function d3_geo_interpolate(x0, y0, x1, y1) { - var cy0 = Math.cos(y0), sy0 = Math.sin(y0), cy1 = Math.cos(y1), sy1 = Math.sin(y1), kx0 = cy0 * Math.cos(x0), ky0 = cy0 * Math.sin(x0), kx1 = cy1 * Math.cos(x1), ky1 = cy1 * Math.sin(x1), d = 2 * Math.asin(Math.sqrt(d3_haversin(y1 - y0) + cy0 * cy1 * d3_haversin(x1 - x0))), k = 1 / Math.sin(d); - var interpolate = d ? function(t) { - var B = Math.sin(t *= d) * k, A = Math.sin(d - t) * k, x = A * kx0 + B * kx1, y = A * ky0 + B * ky1, z = A * sy0 + B * sy1; - return [ Math.atan2(y, x) * d3_degrees, Math.atan2(z, Math.sqrt(x * x + y * y)) * d3_degrees ]; - } : function() { - return [ x0 * d3_degrees, y0 * d3_degrees ]; - }; - interpolate.distance = d; - return interpolate; - } - d3.geo.length = function(object) { - d3_geo_lengthSum = 0; - d3.geo.stream(object, d3_geo_length); - return d3_geo_lengthSum; - }; - var d3_geo_lengthSum; - var d3_geo_length = { - sphere: d3_noop, - point: d3_noop, - lineStart: d3_geo_lengthLineStart, - lineEnd: d3_noop, - polygonStart: d3_noop, - polygonEnd: d3_noop - }; - function d3_geo_lengthLineStart() { - var λ0, sinφ0, cosφ0; - d3_geo_length.point = function(λ, φ) { - λ0 = λ * d3_radians, sinφ0 = Math.sin(φ *= d3_radians), cosφ0 = Math.cos(φ); - d3_geo_length.point = nextPoint; - }; - d3_geo_length.lineEnd = function() { - d3_geo_length.point = d3_geo_length.lineEnd = d3_noop; - }; - function nextPoint(λ, φ) { - var sinφ = Math.sin(φ *= d3_radians), cosφ = Math.cos(φ), t = abs((λ *= d3_radians) - λ0), cosΔλ = Math.cos(t); - d3_geo_lengthSum += Math.atan2(Math.sqrt((t = cosφ * Math.sin(t)) * t + (t = cosφ0 * sinφ - sinφ0 * cosφ * cosΔλ) * t), sinφ0 * sinφ + cosφ0 * cosφ * cosΔλ); - λ0 = λ, sinφ0 = sinφ, cosφ0 = cosφ; - } - } - function d3_geo_azimuthal(scale, angle) { - function azimuthal(λ, φ) { - var cosλ = Math.cos(λ), cosφ = Math.cos(φ), k = scale(cosλ * cosφ); - return [ k * cosφ * Math.sin(λ), k * Math.sin(φ) ]; - } - azimuthal.invert = function(x, y) { - var ρ = Math.sqrt(x * x + y * y), c = angle(ρ), sinc = Math.sin(c), cosc = Math.cos(c); - return [ Math.atan2(x * sinc, ρ * cosc), Math.asin(ρ && y * sinc / ρ) ]; - }; - return azimuthal; - } - var d3_geo_azimuthalEqualArea = d3_geo_azimuthal(function(cosλcosφ) { - return Math.sqrt(2 / (1 + cosλcosφ)); - }, function(ρ) { - return 2 * Math.asin(ρ / 2); - }); - (d3.geo.azimuthalEqualArea = function() { - return d3_geo_projection(d3_geo_azimuthalEqualArea); - }).raw = d3_geo_azimuthalEqualArea; - var d3_geo_azimuthalEquidistant = d3_geo_azimuthal(function(cosλcosφ) { - var c = Math.acos(cosλcosφ); - return c && c / Math.sin(c); - }, d3_identity); - (d3.geo.azimuthalEquidistant = function() { - return d3_geo_projection(d3_geo_azimuthalEquidistant); - }).raw = d3_geo_azimuthalEquidistant; - function d3_geo_conicConformal(φ0, φ1) { - var cosφ0 = Math.cos(φ0), t = function(φ) { - return Math.tan(π / 4 + φ / 2); - }, n = φ0 === φ1 ? Math.sin(φ0) : Math.log(cosφ0 / Math.cos(φ1)) / Math.log(t(φ1) / t(φ0)), F = cosφ0 * Math.pow(t(φ0), n) / n; - if (!n) return d3_geo_mercator; - function forward(λ, φ) { - if (F > 0) { - if (φ < -halfπ + ε) φ = -halfπ + ε; - } else { - if (φ > halfπ - ε) φ = halfπ - ε; - } - var ρ = F / Math.pow(t(φ), n); - return [ ρ * Math.sin(n * λ), F - ρ * Math.cos(n * λ) ]; - } - forward.invert = function(x, y) { - var ρ0_y = F - y, ρ = d3_sgn(n) * Math.sqrt(x * x + ρ0_y * ρ0_y); - return [ Math.atan2(x, ρ0_y) / n, 2 * Math.atan(Math.pow(F / ρ, 1 / n)) - halfπ ]; - }; - return forward; - } - (d3.geo.conicConformal = function() { - return d3_geo_conic(d3_geo_conicConformal); - }).raw = d3_geo_conicConformal; - function d3_geo_conicEquidistant(φ0, φ1) { - var cosφ0 = Math.cos(φ0), n = φ0 === φ1 ? Math.sin(φ0) : (cosφ0 - Math.cos(φ1)) / (φ1 - φ0), G = cosφ0 / n + φ0; - if (abs(n) < ε) return d3_geo_equirectangular; - function forward(λ, φ) { - var ρ = G - φ; - return [ ρ * Math.sin(n * λ), G - ρ * Math.cos(n * λ) ]; - } - forward.invert = function(x, y) { - var ρ0_y = G - y; - return [ Math.atan2(x, ρ0_y) / n, G - d3_sgn(n) * Math.sqrt(x * x + ρ0_y * ρ0_y) ]; - }; - return forward; - } - (d3.geo.conicEquidistant = function() { - return d3_geo_conic(d3_geo_conicEquidistant); - }).raw = d3_geo_conicEquidistant; - var d3_geo_gnomonic = d3_geo_azimuthal(function(cosλcosφ) { - return 1 / cosλcosφ; - }, Math.atan); - (d3.geo.gnomonic = function() { - return d3_geo_projection(d3_geo_gnomonic); - }).raw = d3_geo_gnomonic; - function d3_geo_mercator(λ, φ) { - return [ λ, Math.log(Math.tan(π / 4 + φ / 2)) ]; - } - d3_geo_mercator.invert = function(x, y) { - return [ x, 2 * Math.atan(Math.exp(y)) - halfπ ]; - }; - function d3_geo_mercatorProjection(project) { - var m = d3_geo_projection(project), scale = m.scale, translate = m.translate, clipExtent = m.clipExtent, clipAuto; - m.scale = function() { - var v = scale.apply(m, arguments); - return v === m ? clipAuto ? m.clipExtent(null) : m : v; - }; - m.translate = function() { - var v = translate.apply(m, arguments); - return v === m ? clipAuto ? m.clipExtent(null) : m : v; - }; - m.clipExtent = function(_) { - var v = clipExtent.apply(m, arguments); - if (v === m) { - if (clipAuto = _ == null) { - var k = π * scale(), t = translate(); - clipExtent([ [ t[0] - k, t[1] - k ], [ t[0] + k, t[1] + k ] ]); - } - } else if (clipAuto) { - v = null; - } - return v; - }; - return m.clipExtent(null); - } - (d3.geo.mercator = function() { - return d3_geo_mercatorProjection(d3_geo_mercator); - }).raw = d3_geo_mercator; - var d3_geo_orthographic = d3_geo_azimuthal(function() { - return 1; - }, Math.asin); - (d3.geo.orthographic = function() { - return d3_geo_projection(d3_geo_orthographic); - }).raw = d3_geo_orthographic; - var d3_geo_stereographic = d3_geo_azimuthal(function(cosλcosφ) { - return 1 / (1 + cosλcosφ); - }, function(ρ) { - return 2 * Math.atan(ρ); - }); - (d3.geo.stereographic = function() { - return d3_geo_projection(d3_geo_stereographic); - }).raw = d3_geo_stereographic; - function d3_geo_transverseMercator(λ, φ) { - return [ Math.log(Math.tan(π / 4 + φ / 2)), -λ ]; - } - d3_geo_transverseMercator.invert = function(x, y) { - return [ -y, 2 * Math.atan(Math.exp(x)) - halfπ ]; - }; - (d3.geo.transverseMercator = function() { - var projection = d3_geo_mercatorProjection(d3_geo_transverseMercator), center = projection.center, rotate = projection.rotate; - projection.center = function(_) { - return _ ? center([ -_[1], _[0] ]) : (_ = center(), [ _[1], -_[0] ]); - }; - projection.rotate = function(_) { - return _ ? rotate([ _[0], _[1], _.length > 2 ? _[2] + 90 : 90 ]) : (_ = rotate(), - [ _[0], _[1], _[2] - 90 ]); - }; - return rotate([ 0, 0, 90 ]); - }).raw = d3_geo_transverseMercator; - d3.geom = {}; - function d3_geom_pointX(d) { - return d[0]; - } - function d3_geom_pointY(d) { - return d[1]; - } - d3.geom.hull = function(vertices) { - var x = d3_geom_pointX, y = d3_geom_pointY; - if (arguments.length) return hull(vertices); - function hull(data) { - if (data.length < 3) return []; - var fx = d3_functor(x), fy = d3_functor(y), i, n = data.length, points = [], flippedPoints = []; - for (i = 0; i < n; i++) { - points.push([ +fx.call(this, data[i], i), +fy.call(this, data[i], i), i ]); - } - points.sort(d3_geom_hullOrder); - for (i = 0; i < n; i++) flippedPoints.push([ points[i][0], -points[i][1] ]); - var upper = d3_geom_hullUpper(points), lower = d3_geom_hullUpper(flippedPoints); - var skipLeft = lower[0] === upper[0], skipRight = lower[lower.length - 1] === upper[upper.length - 1], polygon = []; - for (i = upper.length - 1; i >= 0; --i) polygon.push(data[points[upper[i]][2]]); - for (i = +skipLeft; i < lower.length - skipRight; ++i) polygon.push(data[points[lower[i]][2]]); - return polygon; - } - hull.x = function(_) { - return arguments.length ? (x = _, hull) : x; - }; - hull.y = function(_) { - return arguments.length ? (y = _, hull) : y; - }; - return hull; - }; - function d3_geom_hullUpper(points) { - var n = points.length, hull = [ 0, 1 ], hs = 2; - for (var i = 2; i < n; i++) { - while (hs > 1 && d3_cross2d(points[hull[hs - 2]], points[hull[hs - 1]], points[i]) <= 0) --hs; - hull[hs++] = i; - } - return hull.slice(0, hs); - } - function d3_geom_hullOrder(a, b) { - return a[0] - b[0] || a[1] - b[1]; - } - d3.geom.polygon = function(coordinates) { - d3_subclass(coordinates, d3_geom_polygonPrototype); - return coordinates; - }; - var d3_geom_polygonPrototype = d3.geom.polygon.prototype = []; - d3_geom_polygonPrototype.area = function() { - var i = -1, n = this.length, a, b = this[n - 1], area = 0; - while (++i < n) { - a = b; - b = this[i]; - area += a[1] * b[0] - a[0] * b[1]; - } - return area * .5; - }; - d3_geom_polygonPrototype.centroid = function(k) { - var i = -1, n = this.length, x = 0, y = 0, a, b = this[n - 1], c; - if (!arguments.length) k = -1 / (6 * this.area()); - while (++i < n) { - a = b; - b = this[i]; - c = a[0] * b[1] - b[0] * a[1]; - x += (a[0] + b[0]) * c; - y += (a[1] + b[1]) * c; - } - return [ x * k, y * k ]; - }; - d3_geom_polygonPrototype.clip = function(subject) { - var input, closed = d3_geom_polygonClosed(subject), i = -1, n = this.length - d3_geom_polygonClosed(this), j, m, a = this[n - 1], b, c, d; - while (++i < n) { - input = subject.slice(); - subject.length = 0; - b = this[i]; - c = input[(m = input.length - closed) - 1]; - j = -1; - while (++j < m) { - d = input[j]; - if (d3_geom_polygonInside(d, a, b)) { - if (!d3_geom_polygonInside(c, a, b)) { - subject.push(d3_geom_polygonIntersect(c, d, a, b)); - } - subject.push(d); - } else if (d3_geom_polygonInside(c, a, b)) { - subject.push(d3_geom_polygonIntersect(c, d, a, b)); - } - c = d; - } - if (closed) subject.push(subject[0]); - a = b; - } - return subject; - }; - function d3_geom_polygonInside(p, a, b) { - return (b[0] - a[0]) * (p[1] - a[1]) < (b[1] - a[1]) * (p[0] - a[0]); - } - function d3_geom_polygonIntersect(c, d, a, b) { - var x1 = c[0], x3 = a[0], x21 = d[0] - x1, x43 = b[0] - x3, y1 = c[1], y3 = a[1], y21 = d[1] - y1, y43 = b[1] - y3, ua = (x43 * (y1 - y3) - y43 * (x1 - x3)) / (y43 * x21 - x43 * y21); - return [ x1 + ua * x21, y1 + ua * y21 ]; - } - function d3_geom_polygonClosed(coordinates) { - var a = coordinates[0], b = coordinates[coordinates.length - 1]; - return !(a[0] - b[0] || a[1] - b[1]); - } - var d3_geom_voronoiEdges, d3_geom_voronoiCells, d3_geom_voronoiBeaches, d3_geom_voronoiBeachPool = [], d3_geom_voronoiFirstCircle, d3_geom_voronoiCircles, d3_geom_voronoiCirclePool = []; - function d3_geom_voronoiBeach() { - d3_geom_voronoiRedBlackNode(this); - this.edge = this.site = this.circle = null; - } - function d3_geom_voronoiCreateBeach(site) { - var beach = d3_geom_voronoiBeachPool.pop() || new d3_geom_voronoiBeach(); - beach.site = site; - return beach; - } - function d3_geom_voronoiDetachBeach(beach) { - d3_geom_voronoiDetachCircle(beach); - d3_geom_voronoiBeaches.remove(beach); - d3_geom_voronoiBeachPool.push(beach); - d3_geom_voronoiRedBlackNode(beach); - } - function d3_geom_voronoiRemoveBeach(beach) { - var circle = beach.circle, x = circle.x, y = circle.cy, vertex = { - x: x, - y: y - }, previous = beach.P, next = beach.N, disappearing = [ beach ]; - d3_geom_voronoiDetachBeach(beach); - var lArc = previous; - while (lArc.circle && abs(x - lArc.circle.x) < ε && abs(y - lArc.circle.cy) < ε) { - previous = lArc.P; - disappearing.unshift(lArc); - d3_geom_voronoiDetachBeach(lArc); - lArc = previous; - } - disappearing.unshift(lArc); - d3_geom_voronoiDetachCircle(lArc); - var rArc = next; - while (rArc.circle && abs(x - rArc.circle.x) < ε && abs(y - rArc.circle.cy) < ε) { - next = rArc.N; - disappearing.push(rArc); - d3_geom_voronoiDetachBeach(rArc); - rArc = next; - } - disappearing.push(rArc); - d3_geom_voronoiDetachCircle(rArc); - var nArcs = disappearing.length, iArc; - for (iArc = 1; iArc < nArcs; ++iArc) { - rArc = disappearing[iArc]; - lArc = disappearing[iArc - 1]; - d3_geom_voronoiSetEdgeEnd(rArc.edge, lArc.site, rArc.site, vertex); - } - lArc = disappearing[0]; - rArc = disappearing[nArcs - 1]; - rArc.edge = d3_geom_voronoiCreateEdge(lArc.site, rArc.site, null, vertex); - d3_geom_voronoiAttachCircle(lArc); - d3_geom_voronoiAttachCircle(rArc); - } - function d3_geom_voronoiAddBeach(site) { - var x = site.x, directrix = site.y, lArc, rArc, dxl, dxr, node = d3_geom_voronoiBeaches._; - while (node) { - dxl = d3_geom_voronoiLeftBreakPoint(node, directrix) - x; - if (dxl > ε) node = node.L; else { - dxr = x - d3_geom_voronoiRightBreakPoint(node, directrix); - if (dxr > ε) { - if (!node.R) { - lArc = node; - break; - } - node = node.R; - } else { - if (dxl > -ε) { - lArc = node.P; - rArc = node; - } else if (dxr > -ε) { - lArc = node; - rArc = node.N; - } else { - lArc = rArc = node; - } - break; - } - } - } - var newArc = d3_geom_voronoiCreateBeach(site); - d3_geom_voronoiBeaches.insert(lArc, newArc); - if (!lArc && !rArc) return; - if (lArc === rArc) { - d3_geom_voronoiDetachCircle(lArc); - rArc = d3_geom_voronoiCreateBeach(lArc.site); - d3_geom_voronoiBeaches.insert(newArc, rArc); - newArc.edge = rArc.edge = d3_geom_voronoiCreateEdge(lArc.site, newArc.site); - d3_geom_voronoiAttachCircle(lArc); - d3_geom_voronoiAttachCircle(rArc); - return; - } - if (!rArc) { - newArc.edge = d3_geom_voronoiCreateEdge(lArc.site, newArc.site); - return; - } - d3_geom_voronoiDetachCircle(lArc); - d3_geom_voronoiDetachCircle(rArc); - var lSite = lArc.site, ax = lSite.x, ay = lSite.y, bx = site.x - ax, by = site.y - ay, rSite = rArc.site, cx = rSite.x - ax, cy = rSite.y - ay, d = 2 * (bx * cy - by * cx), hb = bx * bx + by * by, hc = cx * cx + cy * cy, vertex = { - x: (cy * hb - by * hc) / d + ax, - y: (bx * hc - cx * hb) / d + ay - }; - d3_geom_voronoiSetEdgeEnd(rArc.edge, lSite, rSite, vertex); - newArc.edge = d3_geom_voronoiCreateEdge(lSite, site, null, vertex); - rArc.edge = d3_geom_voronoiCreateEdge(site, rSite, null, vertex); - d3_geom_voronoiAttachCircle(lArc); - d3_geom_voronoiAttachCircle(rArc); - } - function d3_geom_voronoiLeftBreakPoint(arc, directrix) { - var site = arc.site, rfocx = site.x, rfocy = site.y, pby2 = rfocy - directrix; - if (!pby2) return rfocx; - var lArc = arc.P; - if (!lArc) return -Infinity; - site = lArc.site; - var lfocx = site.x, lfocy = site.y, plby2 = lfocy - directrix; - if (!plby2) return lfocx; - var hl = lfocx - rfocx, aby2 = 1 / pby2 - 1 / plby2, b = hl / plby2; - if (aby2) return (-b + Math.sqrt(b * b - 2 * aby2 * (hl * hl / (-2 * plby2) - lfocy + plby2 / 2 + rfocy - pby2 / 2))) / aby2 + rfocx; - return (rfocx + lfocx) / 2; - } - function d3_geom_voronoiRightBreakPoint(arc, directrix) { - var rArc = arc.N; - if (rArc) return d3_geom_voronoiLeftBreakPoint(rArc, directrix); - var site = arc.site; - return site.y === directrix ? site.x : Infinity; - } - function d3_geom_voronoiCell(site) { - this.site = site; - this.edges = []; - } - d3_geom_voronoiCell.prototype.prepare = function() { - var halfEdges = this.edges, iHalfEdge = halfEdges.length, edge; - while (iHalfEdge--) { - edge = halfEdges[iHalfEdge].edge; - if (!edge.b || !edge.a) halfEdges.splice(iHalfEdge, 1); - } - halfEdges.sort(d3_geom_voronoiHalfEdgeOrder); - return halfEdges.length; - }; - function d3_geom_voronoiCloseCells(extent) { - var x0 = extent[0][0], x1 = extent[1][0], y0 = extent[0][1], y1 = extent[1][1], x2, y2, x3, y3, cells = d3_geom_voronoiCells, iCell = cells.length, cell, iHalfEdge, halfEdges, nHalfEdges, start, end; - while (iCell--) { - cell = cells[iCell]; - if (!cell || !cell.prepare()) continue; - halfEdges = cell.edges; - nHalfEdges = halfEdges.length; - iHalfEdge = 0; - while (iHalfEdge < nHalfEdges) { - end = halfEdges[iHalfEdge].end(), x3 = end.x, y3 = end.y; - start = halfEdges[++iHalfEdge % nHalfEdges].start(), x2 = start.x, y2 = start.y; - if (abs(x3 - x2) > ε || abs(y3 - y2) > ε) { - halfEdges.splice(iHalfEdge, 0, new d3_geom_voronoiHalfEdge(d3_geom_voronoiCreateBorderEdge(cell.site, end, abs(x3 - x0) < ε && y1 - y3 > ε ? { - x: x0, - y: abs(x2 - x0) < ε ? y2 : y1 - } : abs(y3 - y1) < ε && x1 - x3 > ε ? { - x: abs(y2 - y1) < ε ? x2 : x1, - y: y1 - } : abs(x3 - x1) < ε && y3 - y0 > ε ? { - x: x1, - y: abs(x2 - x1) < ε ? y2 : y0 - } : abs(y3 - y0) < ε && x3 - x0 > ε ? { - x: abs(y2 - y0) < ε ? x2 : x0, - y: y0 - } : null), cell.site, null)); - ++nHalfEdges; - } - } - } - } - function d3_geom_voronoiHalfEdgeOrder(a, b) { - return b.angle - a.angle; - } - function d3_geom_voronoiCircle() { - d3_geom_voronoiRedBlackNode(this); - this.x = this.y = this.arc = this.site = this.cy = null; - } - function d3_geom_voronoiAttachCircle(arc) { - var lArc = arc.P, rArc = arc.N; - if (!lArc || !rArc) return; - var lSite = lArc.site, cSite = arc.site, rSite = rArc.site; - if (lSite === rSite) return; - var bx = cSite.x, by = cSite.y, ax = lSite.x - bx, ay = lSite.y - by, cx = rSite.x - bx, cy = rSite.y - by; - var d = 2 * (ax * cy - ay * cx); - if (d >= -ε2) return; - var ha = ax * ax + ay * ay, hc = cx * cx + cy * cy, x = (cy * ha - ay * hc) / d, y = (ax * hc - cx * ha) / d, cy = y + by; - var circle = d3_geom_voronoiCirclePool.pop() || new d3_geom_voronoiCircle(); - circle.arc = arc; - circle.site = cSite; - circle.x = x + bx; - circle.y = cy + Math.sqrt(x * x + y * y); - circle.cy = cy; - arc.circle = circle; - var before = null, node = d3_geom_voronoiCircles._; - while (node) { - if (circle.y < node.y || circle.y === node.y && circle.x <= node.x) { - if (node.L) node = node.L; else { - before = node.P; - break; - } - } else { - if (node.R) node = node.R; else { - before = node; - break; - } - } - } - d3_geom_voronoiCircles.insert(before, circle); - if (!before) d3_geom_voronoiFirstCircle = circle; - } - function d3_geom_voronoiDetachCircle(arc) { - var circle = arc.circle; - if (circle) { - if (!circle.P) d3_geom_voronoiFirstCircle = circle.N; - d3_geom_voronoiCircles.remove(circle); - d3_geom_voronoiCirclePool.push(circle); - d3_geom_voronoiRedBlackNode(circle); - arc.circle = null; - } - } - function d3_geom_voronoiClipEdges(extent) { - var edges = d3_geom_voronoiEdges, clip = d3_geom_clipLine(extent[0][0], extent[0][1], extent[1][0], extent[1][1]), i = edges.length, e; - while (i--) { - e = edges[i]; - if (!d3_geom_voronoiConnectEdge(e, extent) || !clip(e) || abs(e.a.x - e.b.x) < ε && abs(e.a.y - e.b.y) < ε) { - e.a = e.b = null; - edges.splice(i, 1); - } - } - } - function d3_geom_voronoiConnectEdge(edge, extent) { - var vb = edge.b; - if (vb) return true; - var va = edge.a, x0 = extent[0][0], x1 = extent[1][0], y0 = extent[0][1], y1 = extent[1][1], lSite = edge.l, rSite = edge.r, lx = lSite.x, ly = lSite.y, rx = rSite.x, ry = rSite.y, fx = (lx + rx) / 2, fy = (ly + ry) / 2, fm, fb; - if (ry === ly) { - if (fx < x0 || fx >= x1) return; - if (lx > rx) { - if (!va) va = { - x: fx, - y: y0 - }; else if (va.y >= y1) return; - vb = { - x: fx, - y: y1 - }; - } else { - if (!va) va = { - x: fx, - y: y1 - }; else if (va.y < y0) return; - vb = { - x: fx, - y: y0 - }; - } - } else { - fm = (lx - rx) / (ry - ly); - fb = fy - fm * fx; - if (fm < -1 || fm > 1) { - if (lx > rx) { - if (!va) va = { - x: (y0 - fb) / fm, - y: y0 - }; else if (va.y >= y1) return; - vb = { - x: (y1 - fb) / fm, - y: y1 - }; - } else { - if (!va) va = { - x: (y1 - fb) / fm, - y: y1 - }; else if (va.y < y0) return; - vb = { - x: (y0 - fb) / fm, - y: y0 - }; - } - } else { - if (ly < ry) { - if (!va) va = { - x: x0, - y: fm * x0 + fb - }; else if (va.x >= x1) return; - vb = { - x: x1, - y: fm * x1 + fb - }; - } else { - if (!va) va = { - x: x1, - y: fm * x1 + fb - }; else if (va.x < x0) return; - vb = { - x: x0, - y: fm * x0 + fb - }; - } - } - } - edge.a = va; - edge.b = vb; - return true; - } - function d3_geom_voronoiEdge(lSite, rSite) { - this.l = lSite; - this.r = rSite; - this.a = this.b = null; - } - function d3_geom_voronoiCreateEdge(lSite, rSite, va, vb) { - var edge = new d3_geom_voronoiEdge(lSite, rSite); - d3_geom_voronoiEdges.push(edge); - if (va) d3_geom_voronoiSetEdgeEnd(edge, lSite, rSite, va); - if (vb) d3_geom_voronoiSetEdgeEnd(edge, rSite, lSite, vb); - d3_geom_voronoiCells[lSite.i].edges.push(new d3_geom_voronoiHalfEdge(edge, lSite, rSite)); - d3_geom_voronoiCells[rSite.i].edges.push(new d3_geom_voronoiHalfEdge(edge, rSite, lSite)); - return edge; - } - function d3_geom_voronoiCreateBorderEdge(lSite, va, vb) { - var edge = new d3_geom_voronoiEdge(lSite, null); - edge.a = va; - edge.b = vb; - d3_geom_voronoiEdges.push(edge); - return edge; - } - function d3_geom_voronoiSetEdgeEnd(edge, lSite, rSite, vertex) { - if (!edge.a && !edge.b) { - edge.a = vertex; - edge.l = lSite; - edge.r = rSite; - } else if (edge.l === rSite) { - edge.b = vertex; - } else { - edge.a = vertex; - } - } - function d3_geom_voronoiHalfEdge(edge, lSite, rSite) { - var va = edge.a, vb = edge.b; - this.edge = edge; - this.site = lSite; - this.angle = rSite ? Math.atan2(rSite.y - lSite.y, rSite.x - lSite.x) : edge.l === lSite ? Math.atan2(vb.x - va.x, va.y - vb.y) : Math.atan2(va.x - vb.x, vb.y - va.y); - } - d3_geom_voronoiHalfEdge.prototype = { - start: function() { - return this.edge.l === this.site ? this.edge.a : this.edge.b; - }, - end: function() { - return this.edge.l === this.site ? this.edge.b : this.edge.a; - } - }; - function d3_geom_voronoiRedBlackTree() { - this._ = null; - } - function d3_geom_voronoiRedBlackNode(node) { - node.U = node.C = node.L = node.R = node.P = node.N = null; - } - d3_geom_voronoiRedBlackTree.prototype = { - insert: function(after, node) { - var parent, grandpa, uncle; - if (after) { - node.P = after; - node.N = after.N; - if (after.N) after.N.P = node; - after.N = node; - if (after.R) { - after = after.R; - while (after.L) after = after.L; - after.L = node; - } else { - after.R = node; - } - parent = after; - } else if (this._) { - after = d3_geom_voronoiRedBlackFirst(this._); - node.P = null; - node.N = after; - after.P = after.L = node; - parent = after; - } else { - node.P = node.N = null; - this._ = node; - parent = null; - } - node.L = node.R = null; - node.U = parent; - node.C = true; - after = node; - while (parent && parent.C) { - grandpa = parent.U; - if (parent === grandpa.L) { - uncle = grandpa.R; - if (uncle && uncle.C) { - parent.C = uncle.C = false; - grandpa.C = true; - after = grandpa; - } else { - if (after === parent.R) { - d3_geom_voronoiRedBlackRotateLeft(this, parent); - after = parent; - parent = after.U; - } - parent.C = false; - grandpa.C = true; - d3_geom_voronoiRedBlackRotateRight(this, grandpa); - } - } else { - uncle = grandpa.L; - if (uncle && uncle.C) { - parent.C = uncle.C = false; - grandpa.C = true; - after = grandpa; - } else { - if (after === parent.L) { - d3_geom_voronoiRedBlackRotateRight(this, parent); - after = parent; - parent = after.U; - } - parent.C = false; - grandpa.C = true; - d3_geom_voronoiRedBlackRotateLeft(this, grandpa); - } - } - parent = after.U; - } - this._.C = false; - }, - remove: function(node) { - if (node.N) node.N.P = node.P; - if (node.P) node.P.N = node.N; - node.N = node.P = null; - var parent = node.U, sibling, left = node.L, right = node.R, next, red; - if (!left) next = right; else if (!right) next = left; else next = d3_geom_voronoiRedBlackFirst(right); - if (parent) { - if (parent.L === node) parent.L = next; else parent.R = next; - } else { - this._ = next; - } - if (left && right) { - red = next.C; - next.C = node.C; - next.L = left; - left.U = next; - if (next !== right) { - parent = next.U; - next.U = node.U; - node = next.R; - parent.L = node; - next.R = right; - right.U = next; - } else { - next.U = parent; - parent = next; - node = next.R; - } - } else { - red = node.C; - node = next; - } - if (node) node.U = parent; - if (red) return; - if (node && node.C) { - node.C = false; - return; - } - do { - if (node === this._) break; - if (node === parent.L) { - sibling = parent.R; - if (sibling.C) { - sibling.C = false; - parent.C = true; - d3_geom_voronoiRedBlackRotateLeft(this, parent); - sibling = parent.R; - } - if (sibling.L && sibling.L.C || sibling.R && sibling.R.C) { - if (!sibling.R || !sibling.R.C) { - sibling.L.C = false; - sibling.C = true; - d3_geom_voronoiRedBlackRotateRight(this, sibling); - sibling = parent.R; - } - sibling.C = parent.C; - parent.C = sibling.R.C = false; - d3_geom_voronoiRedBlackRotateLeft(this, parent); - node = this._; - break; - } - } else { - sibling = parent.L; - if (sibling.C) { - sibling.C = false; - parent.C = true; - d3_geom_voronoiRedBlackRotateRight(this, parent); - sibling = parent.L; - } - if (sibling.L && sibling.L.C || sibling.R && sibling.R.C) { - if (!sibling.L || !sibling.L.C) { - sibling.R.C = false; - sibling.C = true; - d3_geom_voronoiRedBlackRotateLeft(this, sibling); - sibling = parent.L; - } - sibling.C = parent.C; - parent.C = sibling.L.C = false; - d3_geom_voronoiRedBlackRotateRight(this, parent); - node = this._; - break; - } - } - sibling.C = true; - node = parent; - parent = parent.U; - } while (!node.C); - if (node) node.C = false; - } - }; - function d3_geom_voronoiRedBlackRotateLeft(tree, node) { - var p = node, q = node.R, parent = p.U; - if (parent) { - if (parent.L === p) parent.L = q; else parent.R = q; - } else { - tree._ = q; - } - q.U = parent; - p.U = q; - p.R = q.L; - if (p.R) p.R.U = p; - q.L = p; - } - function d3_geom_voronoiRedBlackRotateRight(tree, node) { - var p = node, q = node.L, parent = p.U; - if (parent) { - if (parent.L === p) parent.L = q; else parent.R = q; - } else { - tree._ = q; - } - q.U = parent; - p.U = q; - p.L = q.R; - if (p.L) p.L.U = p; - q.R = p; - } - function d3_geom_voronoiRedBlackFirst(node) { - while (node.L) node = node.L; - return node; - } - function d3_geom_voronoi(sites, bbox) { - var site = sites.sort(d3_geom_voronoiVertexOrder).pop(), x0, y0, circle; - d3_geom_voronoiEdges = []; - d3_geom_voronoiCells = new Array(sites.length); - d3_geom_voronoiBeaches = new d3_geom_voronoiRedBlackTree(); - d3_geom_voronoiCircles = new d3_geom_voronoiRedBlackTree(); - while (true) { - circle = d3_geom_voronoiFirstCircle; - if (site && (!circle || site.y < circle.y || site.y === circle.y && site.x < circle.x)) { - if (site.x !== x0 || site.y !== y0) { - d3_geom_voronoiCells[site.i] = new d3_geom_voronoiCell(site); - d3_geom_voronoiAddBeach(site); - x0 = site.x, y0 = site.y; - } - site = sites.pop(); - } else if (circle) { - d3_geom_voronoiRemoveBeach(circle.arc); - } else { - break; - } - } - if (bbox) d3_geom_voronoiClipEdges(bbox), d3_geom_voronoiCloseCells(bbox); - var diagram = { - cells: d3_geom_voronoiCells, - edges: d3_geom_voronoiEdges - }; - d3_geom_voronoiBeaches = d3_geom_voronoiCircles = d3_geom_voronoiEdges = d3_geom_voronoiCells = null; - return diagram; - } - function d3_geom_voronoiVertexOrder(a, b) { - return b.y - a.y || b.x - a.x; - } - d3.geom.voronoi = function(points) { - var x = d3_geom_pointX, y = d3_geom_pointY, fx = x, fy = y, clipExtent = d3_geom_voronoiClipExtent; - if (points) return voronoi(points); - function voronoi(data) { - var polygons = new Array(data.length), x0 = clipExtent[0][0], y0 = clipExtent[0][1], x1 = clipExtent[1][0], y1 = clipExtent[1][1]; - d3_geom_voronoi(sites(data), clipExtent).cells.forEach(function(cell, i) { - var edges = cell.edges, site = cell.site, polygon = polygons[i] = edges.length ? edges.map(function(e) { - var s = e.start(); - return [ s.x, s.y ]; - }) : site.x >= x0 && site.x <= x1 && site.y >= y0 && site.y <= y1 ? [ [ x0, y1 ], [ x1, y1 ], [ x1, y0 ], [ x0, y0 ] ] : []; - polygon.point = data[i]; - }); - return polygons; - } - function sites(data) { - return data.map(function(d, i) { - return { - x: Math.round(fx(d, i) / ε) * ε, - y: Math.round(fy(d, i) / ε) * ε, - i: i - }; - }); - } - voronoi.links = function(data) { - return d3_geom_voronoi(sites(data)).edges.filter(function(edge) { - return edge.l && edge.r; - }).map(function(edge) { - return { - source: data[edge.l.i], - target: data[edge.r.i] - }; - }); - }; - voronoi.triangles = function(data) { - var triangles = []; - d3_geom_voronoi(sites(data)).cells.forEach(function(cell, i) { - var site = cell.site, edges = cell.edges.sort(d3_geom_voronoiHalfEdgeOrder), j = -1, m = edges.length, e0, s0, e1 = edges[m - 1].edge, s1 = e1.l === site ? e1.r : e1.l; - while (++j < m) { - e0 = e1; - s0 = s1; - e1 = edges[j].edge; - s1 = e1.l === site ? e1.r : e1.l; - if (i < s0.i && i < s1.i && d3_geom_voronoiTriangleArea(site, s0, s1) < 0) { - triangles.push([ data[i], data[s0.i], data[s1.i] ]); - } - } - }); - return triangles; - }; - voronoi.x = function(_) { - return arguments.length ? (fx = d3_functor(x = _), voronoi) : x; - }; - voronoi.y = function(_) { - return arguments.length ? (fy = d3_functor(y = _), voronoi) : y; - }; - voronoi.clipExtent = function(_) { - if (!arguments.length) return clipExtent === d3_geom_voronoiClipExtent ? null : clipExtent; - clipExtent = _ == null ? d3_geom_voronoiClipExtent : _; - return voronoi; - }; - voronoi.size = function(_) { - if (!arguments.length) return clipExtent === d3_geom_voronoiClipExtent ? null : clipExtent && clipExtent[1]; - return voronoi.clipExtent(_ && [ [ 0, 0 ], _ ]); - }; - return voronoi; - }; - var d3_geom_voronoiClipExtent = [ [ -1e6, -1e6 ], [ 1e6, 1e6 ] ]; - function d3_geom_voronoiTriangleArea(a, b, c) { - return (a.x - c.x) * (b.y - a.y) - (a.x - b.x) * (c.y - a.y); - } - d3.geom.delaunay = function(vertices) { - return d3.geom.voronoi().triangles(vertices); - }; - d3.geom.quadtree = function(points, x1, y1, x2, y2) { - var x = d3_geom_pointX, y = d3_geom_pointY, compat; - if (compat = arguments.length) { - x = d3_geom_quadtreeCompatX; - y = d3_geom_quadtreeCompatY; - if (compat === 3) { - y2 = y1; - x2 = x1; - y1 = x1 = 0; - } - return quadtree(points); - } - function quadtree(data) { - var d, fx = d3_functor(x), fy = d3_functor(y), xs, ys, i, n, x1_, y1_, x2_, y2_; - if (x1 != null) { - x1_ = x1, y1_ = y1, x2_ = x2, y2_ = y2; - } else { - x2_ = y2_ = -(x1_ = y1_ = Infinity); - xs = [], ys = []; - n = data.length; - if (compat) for (i = 0; i < n; ++i) { - d = data[i]; - if (d.x < x1_) x1_ = d.x; - if (d.y < y1_) y1_ = d.y; - if (d.x > x2_) x2_ = d.x; - if (d.y > y2_) y2_ = d.y; - xs.push(d.x); - ys.push(d.y); - } else for (i = 0; i < n; ++i) { - var x_ = +fx(d = data[i], i), y_ = +fy(d, i); - if (x_ < x1_) x1_ = x_; - if (y_ < y1_) y1_ = y_; - if (x_ > x2_) x2_ = x_; - if (y_ > y2_) y2_ = y_; - xs.push(x_); - ys.push(y_); - } - } - var dx = x2_ - x1_, dy = y2_ - y1_; - if (dx > dy) y2_ = y1_ + dx; else x2_ = x1_ + dy; - function insert(n, d, x, y, x1, y1, x2, y2) { - if (isNaN(x) || isNaN(y)) return; - if (n.leaf) { - var nx = n.x, ny = n.y; - if (nx != null) { - if (abs(nx - x) + abs(ny - y) < .01) { - insertChild(n, d, x, y, x1, y1, x2, y2); - } else { - var nPoint = n.point; - n.x = n.y = n.point = null; - insertChild(n, nPoint, nx, ny, x1, y1, x2, y2); - insertChild(n, d, x, y, x1, y1, x2, y2); - } - } else { - n.x = x, n.y = y, n.point = d; - } - } else { - insertChild(n, d, x, y, x1, y1, x2, y2); - } - } - function insertChild(n, d, x, y, x1, y1, x2, y2) { - var xm = (x1 + x2) * .5, ym = (y1 + y2) * .5, right = x >= xm, below = y >= ym, i = below << 1 | right; - n.leaf = false; - n = n.nodes[i] || (n.nodes[i] = d3_geom_quadtreeNode()); - if (right) x1 = xm; else x2 = xm; - if (below) y1 = ym; else y2 = ym; - insert(n, d, x, y, x1, y1, x2, y2); - } - var root = d3_geom_quadtreeNode(); - root.add = function(d) { - insert(root, d, +fx(d, ++i), +fy(d, i), x1_, y1_, x2_, y2_); - }; - root.visit = function(f) { - d3_geom_quadtreeVisit(f, root, x1_, y1_, x2_, y2_); - }; - root.find = function(point) { - return d3_geom_quadtreeFind(root, point[0], point[1], x1_, y1_, x2_, y2_); - }; - i = -1; - if (x1 == null) { - while (++i < n) { - insert(root, data[i], xs[i], ys[i], x1_, y1_, x2_, y2_); - } - --i; - } else data.forEach(root.add); - xs = ys = data = d = null; - return root; - } - quadtree.x = function(_) { - return arguments.length ? (x = _, quadtree) : x; - }; - quadtree.y = function(_) { - return arguments.length ? (y = _, quadtree) : y; - }; - quadtree.extent = function(_) { - if (!arguments.length) return x1 == null ? null : [ [ x1, y1 ], [ x2, y2 ] ]; - if (_ == null) x1 = y1 = x2 = y2 = null; else x1 = +_[0][0], y1 = +_[0][1], x2 = +_[1][0], - y2 = +_[1][1]; - return quadtree; - }; - quadtree.size = function(_) { - if (!arguments.length) return x1 == null ? null : [ x2 - x1, y2 - y1 ]; - if (_ == null) x1 = y1 = x2 = y2 = null; else x1 = y1 = 0, x2 = +_[0], y2 = +_[1]; - return quadtree; - }; - return quadtree; - }; - function d3_geom_quadtreeCompatX(d) { - return d.x; - } - function d3_geom_quadtreeCompatY(d) { - return d.y; - } - function d3_geom_quadtreeNode() { - return { - leaf: true, - nodes: [], - point: null, - x: null, - y: null - }; - } - function d3_geom_quadtreeVisit(f, node, x1, y1, x2, y2) { - if (!f(node, x1, y1, x2, y2)) { - var sx = (x1 + x2) * .5, sy = (y1 + y2) * .5, children = node.nodes; - if (children[0]) d3_geom_quadtreeVisit(f, children[0], x1, y1, sx, sy); - if (children[1]) d3_geom_quadtreeVisit(f, children[1], sx, y1, x2, sy); - if (children[2]) d3_geom_quadtreeVisit(f, children[2], x1, sy, sx, y2); - if (children[3]) d3_geom_quadtreeVisit(f, children[3], sx, sy, x2, y2); - } - } - function d3_geom_quadtreeFind(root, x, y, x0, y0, x3, y3) { - var minDistance2 = Infinity, closestPoint; - (function find(node, x1, y1, x2, y2) { - if (x1 > x3 || y1 > y3 || x2 < x0 || y2 < y0) return; - if (point = node.point) { - var point, dx = x - point[0], dy = y - point[1], distance2 = dx * dx + dy * dy; - if (distance2 < minDistance2) { - var distance = Math.sqrt(minDistance2 = distance2); - x0 = x - distance, y0 = y - distance; - x3 = x + distance, y3 = y + distance; - closestPoint = point; - } - } - var children = node.nodes, xm = (x1 + x2) * .5, ym = (y1 + y2) * .5, right = x >= xm, below = y >= ym; - for (var i = below << 1 | right, j = i + 4; i < j; ++i) { - if (node = children[i & 3]) switch (i & 3) { - case 0: - find(node, x1, y1, xm, ym); - break; - - case 1: - find(node, xm, y1, x2, ym); - break; - - case 2: - find(node, x1, ym, xm, y2); - break; - - case 3: - find(node, xm, ym, x2, y2); - break; - } - } - })(root, x0, y0, x3, y3); - return closestPoint; - } - d3.interpolateRgb = d3_interpolateRgb; - function d3_interpolateRgb(a, b) { - a = d3.rgb(a); - b = d3.rgb(b); - var ar = a.r, ag = a.g, ab = a.b, br = b.r - ar, bg = b.g - ag, bb = b.b - ab; - return function(t) { - return "#" + d3_rgb_hex(Math.round(ar + br * t)) + d3_rgb_hex(Math.round(ag + bg * t)) + d3_rgb_hex(Math.round(ab + bb * t)); - }; - } - d3.interpolateObject = d3_interpolateObject; - function d3_interpolateObject(a, b) { - var i = {}, c = {}, k; - for (k in a) { - if (k in b) { - i[k] = d3_interpolate(a[k], b[k]); - } else { - c[k] = a[k]; - } - } - for (k in b) { - if (!(k in a)) { - c[k] = b[k]; - } - } - return function(t) { - for (k in i) c[k] = i[k](t); - return c; - }; - } - d3.interpolateNumber = d3_interpolateNumber; - function d3_interpolateNumber(a, b) { - a = +a, b = +b; - return function(t) { - return a * (1 - t) + b * t; - }; - } - d3.interpolateString = d3_interpolateString; - function d3_interpolateString(a, b) { - var bi = d3_interpolate_numberA.lastIndex = d3_interpolate_numberB.lastIndex = 0, am, bm, bs, i = -1, s = [], q = []; - a = a + "", b = b + ""; - while ((am = d3_interpolate_numberA.exec(a)) && (bm = d3_interpolate_numberB.exec(b))) { - if ((bs = bm.index) > bi) { - bs = b.slice(bi, bs); - if (s[i]) s[i] += bs; else s[++i] = bs; - } - if ((am = am[0]) === (bm = bm[0])) { - if (s[i]) s[i] += bm; else s[++i] = bm; - } else { - s[++i] = null; - q.push({ - i: i, - x: d3_interpolateNumber(am, bm) - }); - } - bi = d3_interpolate_numberB.lastIndex; - } - if (bi < b.length) { - bs = b.slice(bi); - if (s[i]) s[i] += bs; else s[++i] = bs; - } - return s.length < 2 ? q[0] ? (b = q[0].x, function(t) { - return b(t) + ""; - }) : function() { - return b; - } : (b = q.length, function(t) { - for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t); - return s.join(""); - }); - } - var d3_interpolate_numberA = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, d3_interpolate_numberB = new RegExp(d3_interpolate_numberA.source, "g"); - d3.interpolate = d3_interpolate; - function d3_interpolate(a, b) { - var i = d3.interpolators.length, f; - while (--i >= 0 && !(f = d3.interpolators[i](a, b))) ; - return f; - } - d3.interpolators = [ function(a, b) { - var t = typeof b; - return (t === "string" ? d3_rgb_names.has(b) || /^(#|rgb\(|hsl\()/.test(b) ? d3_interpolateRgb : d3_interpolateString : b instanceof d3_color ? d3_interpolateRgb : Array.isArray(b) ? d3_interpolateArray : t === "object" && isNaN(b) ? d3_interpolateObject : d3_interpolateNumber)(a, b); - } ]; - d3.interpolateArray = d3_interpolateArray; - function d3_interpolateArray(a, b) { - var x = [], c = [], na = a.length, nb = b.length, n0 = Math.min(a.length, b.length), i; - for (i = 0; i < n0; ++i) x.push(d3_interpolate(a[i], b[i])); - for (;i < na; ++i) c[i] = a[i]; - for (;i < nb; ++i) c[i] = b[i]; - return function(t) { - for (i = 0; i < n0; ++i) c[i] = x[i](t); - return c; - }; - } - var d3_ease_default = function() { - return d3_identity; - }; - var d3_ease = d3.map({ - linear: d3_ease_default, - poly: d3_ease_poly, - quad: function() { - return d3_ease_quad; - }, - cubic: function() { - return d3_ease_cubic; - }, - sin: function() { - return d3_ease_sin; - }, - exp: function() { - return d3_ease_exp; - }, - circle: function() { - return d3_ease_circle; - }, - elastic: d3_ease_elastic, - back: d3_ease_back, - bounce: function() { - return d3_ease_bounce; - } - }); - var d3_ease_mode = d3.map({ - "in": d3_identity, - out: d3_ease_reverse, - "in-out": d3_ease_reflect, - "out-in": function(f) { - return d3_ease_reflect(d3_ease_reverse(f)); - } - }); - d3.ease = function(name) { - var i = name.indexOf("-"), t = i >= 0 ? name.slice(0, i) : name, m = i >= 0 ? name.slice(i + 1) : "in"; - t = d3_ease.get(t) || d3_ease_default; - m = d3_ease_mode.get(m) || d3_identity; - return d3_ease_clamp(m(t.apply(null, d3_arraySlice.call(arguments, 1)))); - }; - function d3_ease_clamp(f) { - return function(t) { - return t <= 0 ? 0 : t >= 1 ? 1 : f(t); - }; - } - function d3_ease_reverse(f) { - return function(t) { - return 1 - f(1 - t); - }; - } - function d3_ease_reflect(f) { - return function(t) { - return .5 * (t < .5 ? f(2 * t) : 2 - f(2 - 2 * t)); - }; - } - function d3_ease_quad(t) { - return t * t; - } - function d3_ease_cubic(t) { - return t * t * t; - } - function d3_ease_cubicInOut(t) { - if (t <= 0) return 0; - if (t >= 1) return 1; - var t2 = t * t, t3 = t2 * t; - return 4 * (t < .5 ? t3 : 3 * (t - t2) + t3 - .75); - } - function d3_ease_poly(e) { - return function(t) { - return Math.pow(t, e); - }; - } - function d3_ease_sin(t) { - return 1 - Math.cos(t * halfπ); - } - function d3_ease_exp(t) { - return Math.pow(2, 10 * (t - 1)); - } - function d3_ease_circle(t) { - return 1 - Math.sqrt(1 - t * t); - } - function d3_ease_elastic(a, p) { - var s; - if (arguments.length < 2) p = .45; - if (arguments.length) s = p / τ * Math.asin(1 / a); else a = 1, s = p / 4; - return function(t) { - return 1 + a * Math.pow(2, -10 * t) * Math.sin((t - s) * τ / p); - }; - } - function d3_ease_back(s) { - if (!s) s = 1.70158; - return function(t) { - return t * t * ((s + 1) * t - s); - }; - } - function d3_ease_bounce(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; - } - d3.interpolateHcl = d3_interpolateHcl; - function d3_interpolateHcl(a, b) { - a = d3.hcl(a); - b = d3.hcl(b); - var ah = a.h, ac = a.c, al = a.l, bh = b.h - ah, bc = b.c - ac, bl = b.l - al; - if (isNaN(bc)) bc = 0, ac = isNaN(ac) ? b.c : ac; - if (isNaN(bh)) bh = 0, ah = isNaN(ah) ? b.h : ah; else if (bh > 180) bh -= 360; else if (bh < -180) bh += 360; - return function(t) { - return d3_hcl_lab(ah + bh * t, ac + bc * t, al + bl * t) + ""; - }; - } - d3.interpolateHsl = d3_interpolateHsl; - function d3_interpolateHsl(a, b) { - a = d3.hsl(a); - b = d3.hsl(b); - var ah = a.h, as = a.s, al = a.l, bh = b.h - ah, bs = b.s - as, bl = b.l - al; - if (isNaN(bs)) bs = 0, as = isNaN(as) ? b.s : as; - if (isNaN(bh)) bh = 0, ah = isNaN(ah) ? b.h : ah; else if (bh > 180) bh -= 360; else if (bh < -180) bh += 360; - return function(t) { - return d3_hsl_rgb(ah + bh * t, as + bs * t, al + bl * t) + ""; - }; - } - d3.interpolateLab = d3_interpolateLab; - function d3_interpolateLab(a, b) { - a = d3.lab(a); - b = d3.lab(b); - var al = a.l, aa = a.a, ab = a.b, bl = b.l - al, ba = b.a - aa, bb = b.b - ab; - return function(t) { - return d3_lab_rgb(al + bl * t, aa + ba * t, ab + bb * t) + ""; - }; - } - d3.interpolateRound = d3_interpolateRound; - function d3_interpolateRound(a, b) { - b -= a; - return function(t) { - return Math.round(a + b * t); - }; - } - d3.transform = function(string) { - var g = d3_document.createElementNS(d3.ns.prefix.svg, "g"); - return (d3.transform = function(string) { - if (string != null) { - g.setAttribute("transform", string); - var t = g.transform.baseVal.consolidate(); - } - return new d3_transform(t ? t.matrix : d3_transformIdentity); - })(string); - }; - function d3_transform(m) { - var r0 = [ m.a, m.b ], r1 = [ m.c, m.d ], kx = d3_transformNormalize(r0), kz = d3_transformDot(r0, r1), ky = d3_transformNormalize(d3_transformCombine(r1, r0, -kz)) || 0; - if (r0[0] * r1[1] < r1[0] * r0[1]) { - r0[0] *= -1; - r0[1] *= -1; - kx *= -1; - kz *= -1; - } - this.rotate = (kx ? Math.atan2(r0[1], r0[0]) : Math.atan2(-r1[0], r1[1])) * d3_degrees; - this.translate = [ m.e, m.f ]; - this.scale = [ kx, ky ]; - this.skew = ky ? Math.atan2(kz, ky) * d3_degrees : 0; - } - d3_transform.prototype.toString = function() { - return "translate(" + this.translate + ")rotate(" + this.rotate + ")skewX(" + this.skew + ")scale(" + this.scale + ")"; - }; - function d3_transformDot(a, b) { - return a[0] * b[0] + a[1] * b[1]; - } - function d3_transformNormalize(a) { - var k = Math.sqrt(d3_transformDot(a, a)); - if (k) { - a[0] /= k; - a[1] /= k; - } - return k; - } - function d3_transformCombine(a, b, k) { - a[0] += k * b[0]; - a[1] += k * b[1]; - return a; - } - var d3_transformIdentity = { - a: 1, - b: 0, - c: 0, - d: 1, - e: 0, - f: 0 - }; - d3.interpolateTransform = d3_interpolateTransform; - function d3_interpolateTransform(a, b) { - var s = [], q = [], n, A = d3.transform(a), B = d3.transform(b), ta = A.translate, tb = B.translate, ra = A.rotate, rb = B.rotate, wa = A.skew, wb = B.skew, ka = A.scale, kb = B.scale; - if (ta[0] != tb[0] || ta[1] != tb[1]) { - s.push("translate(", null, ",", null, ")"); - q.push({ - i: 1, - x: d3_interpolateNumber(ta[0], tb[0]) - }, { - i: 3, - x: d3_interpolateNumber(ta[1], tb[1]) - }); - } else if (tb[0] || tb[1]) { - s.push("translate(" + tb + ")"); - } else { - s.push(""); - } - if (ra != rb) { - if (ra - rb > 180) rb += 360; else if (rb - ra > 180) ra += 360; - q.push({ - i: s.push(s.pop() + "rotate(", null, ")") - 2, - x: d3_interpolateNumber(ra, rb) - }); - } else if (rb) { - s.push(s.pop() + "rotate(" + rb + ")"); - } - if (wa != wb) { - q.push({ - i: s.push(s.pop() + "skewX(", null, ")") - 2, - x: d3_interpolateNumber(wa, wb) - }); - } else if (wb) { - s.push(s.pop() + "skewX(" + wb + ")"); - } - if (ka[0] != kb[0] || ka[1] != kb[1]) { - n = s.push(s.pop() + "scale(", null, ",", null, ")"); - q.push({ - i: n - 4, - x: d3_interpolateNumber(ka[0], kb[0]) - }, { - i: n - 2, - x: d3_interpolateNumber(ka[1], kb[1]) - }); - } else if (kb[0] != 1 || kb[1] != 1) { - s.push(s.pop() + "scale(" + kb + ")"); - } - n = q.length; - return function(t) { - var i = -1, o; - while (++i < n) s[(o = q[i]).i] = o.x(t); - return s.join(""); - }; - } - function d3_uninterpolateNumber(a, b) { - b = (b -= a = +a) || 1 / b; - return function(x) { - return (x - a) / b; - }; - } - function d3_uninterpolateClamp(a, b) { - b = (b -= a = +a) || 1 / b; - return function(x) { - return Math.max(0, Math.min(1, (x - a) / b)); - }; - } - d3.layout = {}; - d3.layout.bundle = function() { - return function(links) { - var paths = [], i = -1, n = links.length; - while (++i < n) paths.push(d3_layout_bundlePath(links[i])); - return paths; - }; - }; - function d3_layout_bundlePath(link) { - var start = link.source, end = link.target, lca = d3_layout_bundleLeastCommonAncestor(start, end), points = [ start ]; - while (start !== lca) { - start = start.parent; - points.push(start); - } - var k = points.length; - while (end !== lca) { - points.splice(k, 0, end); - end = end.parent; - } - return points; - } - function d3_layout_bundleAncestors(node) { - var ancestors = [], parent = node.parent; - while (parent != null) { - ancestors.push(node); - node = parent; - parent = parent.parent; - } - ancestors.push(node); - return ancestors; - } - function d3_layout_bundleLeastCommonAncestor(a, b) { - if (a === b) return a; - var aNodes = d3_layout_bundleAncestors(a), bNodes = d3_layout_bundleAncestors(b), aNode = aNodes.pop(), bNode = bNodes.pop(), sharedNode = null; - while (aNode === bNode) { - sharedNode = aNode; - aNode = aNodes.pop(); - bNode = bNodes.pop(); - } - return sharedNode; - } - d3.layout.chord = function() { - var chord = {}, chords, groups, matrix, n, padding = 0, sortGroups, sortSubgroups, sortChords; - function relayout() { - var subgroups = {}, groupSums = [], groupIndex = d3.range(n), subgroupIndex = [], k, x, x0, i, j; - chords = []; - groups = []; - k = 0, i = -1; - while (++i < n) { - x = 0, j = -1; - while (++j < n) { - x += matrix[i][j]; - } - groupSums.push(x); - subgroupIndex.push(d3.range(n)); - k += x; - } - if (sortGroups) { - groupIndex.sort(function(a, b) { - return sortGroups(groupSums[a], groupSums[b]); - }); - } - if (sortSubgroups) { - subgroupIndex.forEach(function(d, i) { - d.sort(function(a, b) { - return sortSubgroups(matrix[i][a], matrix[i][b]); - }); - }); - } - k = (τ - padding * n) / k; - x = 0, i = -1; - while (++i < n) { - x0 = x, j = -1; - while (++j < n) { - var di = groupIndex[i], dj = subgroupIndex[di][j], v = matrix[di][dj], a0 = x, a1 = x += v * k; - subgroups[di + "-" + dj] = { - index: di, - subindex: dj, - startAngle: a0, - endAngle: a1, - value: v - }; - } - groups[di] = { - index: di, - startAngle: x0, - endAngle: x, - value: (x - x0) / k - }; - x += padding; - } - i = -1; - while (++i < n) { - j = i - 1; - while (++j < n) { - var source = subgroups[i + "-" + j], target = subgroups[j + "-" + i]; - if (source.value || target.value) { - chords.push(source.value < target.value ? { - source: target, - target: source - } : { - source: source, - target: target - }); - } - } - } - if (sortChords) resort(); - } - function resort() { - chords.sort(function(a, b) { - return sortChords((a.source.value + a.target.value) / 2, (b.source.value + b.target.value) / 2); - }); - } - chord.matrix = function(x) { - if (!arguments.length) return matrix; - n = (matrix = x) && matrix.length; - chords = groups = null; - return chord; - }; - chord.padding = function(x) { - if (!arguments.length) return padding; - padding = x; - chords = groups = null; - return chord; - }; - chord.sortGroups = function(x) { - if (!arguments.length) return sortGroups; - sortGroups = x; - chords = groups = null; - return chord; - }; - chord.sortSubgroups = function(x) { - if (!arguments.length) return sortSubgroups; - sortSubgroups = x; - chords = null; - return chord; - }; - chord.sortChords = function(x) { - if (!arguments.length) return sortChords; - sortChords = x; - if (chords) resort(); - return chord; - }; - chord.chords = function() { - if (!chords) relayout(); - return chords; - }; - chord.groups = function() { - if (!groups) relayout(); - return groups; - }; - return chord; - }; - d3.layout.force = function() { - var force = {}, event = d3.dispatch("start", "tick", "end"), size = [ 1, 1 ], drag, alpha, friction = .9, linkDistance = d3_layout_forceLinkDistance, linkStrength = d3_layout_forceLinkStrength, charge = -30, chargeDistance2 = d3_layout_forceChargeDistance2, gravity = .1, theta2 = .64, nodes = [], links = [], distances, strengths, charges; - function repulse(node) { - return function(quad, x1, _, x2) { - if (quad.point !== node) { - var dx = quad.cx - node.x, dy = quad.cy - node.y, dw = x2 - x1, dn = dx * dx + dy * dy; - if (dw * dw / theta2 < dn) { - if (dn < chargeDistance2) { - var k = quad.charge / dn; - node.px -= dx * k; - node.py -= dy * k; - } - return true; - } - if (quad.point && dn && dn < chargeDistance2) { - var k = quad.pointCharge / dn; - node.px -= dx * k; - node.py -= dy * k; - } - } - return !quad.charge; - }; - } - force.tick = function() { - if ((alpha *= .99) < .005) { - event.end({ - type: "end", - alpha: alpha = 0 - }); - return true; - } - var n = nodes.length, m = links.length, q, i, o, s, t, l, k, x, y; - for (i = 0; i < m; ++i) { - o = links[i]; - s = o.source; - t = o.target; - x = t.x - s.x; - y = t.y - s.y; - if (l = x * x + y * y) { - l = alpha * strengths[i] * ((l = Math.sqrt(l)) - distances[i]) / l; - x *= l; - y *= l; - t.x -= x * (k = s.weight / (t.weight + s.weight)); - t.y -= y * k; - s.x += x * (k = 1 - k); - s.y += y * k; - } - } - if (k = alpha * gravity) { - x = size[0] / 2; - y = size[1] / 2; - i = -1; - if (k) while (++i < n) { - o = nodes[i]; - o.x += (x - o.x) * k; - o.y += (y - o.y) * k; - } - } - if (charge) { - d3_layout_forceAccumulate(q = d3.geom.quadtree(nodes), alpha, charges); - i = -1; - while (++i < n) { - if (!(o = nodes[i]).fixed) { - q.visit(repulse(o)); - } - } - } - i = -1; - while (++i < n) { - o = nodes[i]; - if (o.fixed) { - o.x = o.px; - o.y = o.py; - } else { - o.x -= (o.px - (o.px = o.x)) * friction; - o.y -= (o.py - (o.py = o.y)) * friction; - } - } - event.tick({ - type: "tick", - alpha: alpha - }); - }; - force.nodes = function(x) { - if (!arguments.length) return nodes; - nodes = x; - return force; - }; - force.links = function(x) { - if (!arguments.length) return links; - links = x; - return force; - }; - force.size = function(x) { - if (!arguments.length) return size; - size = x; - return force; - }; - force.linkDistance = function(x) { - if (!arguments.length) return linkDistance; - linkDistance = typeof x === "function" ? x : +x; - return force; - }; - force.distance = force.linkDistance; - force.linkStrength = function(x) { - if (!arguments.length) return linkStrength; - linkStrength = typeof x === "function" ? x : +x; - return force; - }; - force.friction = function(x) { - if (!arguments.length) return friction; - friction = +x; - return force; - }; - force.charge = function(x) { - if (!arguments.length) return charge; - charge = typeof x === "function" ? x : +x; - return force; - }; - force.chargeDistance = function(x) { - if (!arguments.length) return Math.sqrt(chargeDistance2); - chargeDistance2 = x * x; - return force; - }; - force.gravity = function(x) { - if (!arguments.length) return gravity; - gravity = +x; - return force; - }; - force.theta = function(x) { - if (!arguments.length) return Math.sqrt(theta2); - theta2 = x * x; - return force; - }; - force.alpha = function(x) { - if (!arguments.length) return alpha; - x = +x; - if (alpha) { - if (x > 0) alpha = x; else alpha = 0; - } else if (x > 0) { - event.start({ - type: "start", - alpha: alpha = x - }); - d3.timer(force.tick); - } - return force; - }; - force.start = function() { - var i, n = nodes.length, m = links.length, w = size[0], h = size[1], neighbors, o; - for (i = 0; i < n; ++i) { - (o = nodes[i]).index = i; - o.weight = 0; - } - for (i = 0; i < m; ++i) { - o = links[i]; - if (typeof o.source == "number") o.source = nodes[o.source]; - if (typeof o.target == "number") o.target = nodes[o.target]; - ++o.source.weight; - ++o.target.weight; - } - for (i = 0; i < n; ++i) { - o = nodes[i]; - if (isNaN(o.x)) o.x = position("x", w); - if (isNaN(o.y)) o.y = position("y", h); - if (isNaN(o.px)) o.px = o.x; - if (isNaN(o.py)) o.py = o.y; - } - distances = []; - if (typeof linkDistance === "function") for (i = 0; i < m; ++i) distances[i] = +linkDistance.call(this, links[i], i); else for (i = 0; i < m; ++i) distances[i] = linkDistance; - strengths = []; - if (typeof linkStrength === "function") for (i = 0; i < m; ++i) strengths[i] = +linkStrength.call(this, links[i], i); else for (i = 0; i < m; ++i) strengths[i] = linkStrength; - charges = []; - if (typeof charge === "function") for (i = 0; i < n; ++i) charges[i] = +charge.call(this, nodes[i], i); else for (i = 0; i < n; ++i) charges[i] = charge; - function position(dimension, size) { - if (!neighbors) { - neighbors = new Array(n); - for (j = 0; j < n; ++j) { - neighbors[j] = []; - } - for (j = 0; j < m; ++j) { - var o = links[j]; - neighbors[o.source.index].push(o.target); - neighbors[o.target.index].push(o.source); - } - } - var candidates = neighbors[i], j = -1, m = candidates.length, x; - while (++j < m) if (!isNaN(x = candidates[j][dimension])) return x; - return Math.random() * size; - } - return force.resume(); - }; - force.resume = function() { - return force.alpha(.1); - }; - force.stop = function() { - return force.alpha(0); - }; - force.drag = function() { - if (!drag) drag = d3.behavior.drag().origin(d3_identity).on("dragstart.force", d3_layout_forceDragstart).on("drag.force", dragmove).on("dragend.force", d3_layout_forceDragend); - if (!arguments.length) return drag; - this.on("mouseover.force", d3_layout_forceMouseover).on("mouseout.force", d3_layout_forceMouseout).call(drag); - }; - function dragmove(d) { - d.px = d3.event.x, d.py = d3.event.y; - force.resume(); - } - return d3.rebind(force, event, "on"); - }; - function d3_layout_forceDragstart(d) { - d.fixed |= 2; - } - function d3_layout_forceDragend(d) { - d.fixed &= ~6; - } - function d3_layout_forceMouseover(d) { - d.fixed |= 4; - d.px = d.x, d.py = d.y; - } - function d3_layout_forceMouseout(d) { - d.fixed &= ~4; - } - function d3_layout_forceAccumulate(quad, alpha, charges) { - var cx = 0, cy = 0; - quad.charge = 0; - if (!quad.leaf) { - var nodes = quad.nodes, n = nodes.length, i = -1, c; - while (++i < n) { - c = nodes[i]; - if (c == null) continue; - d3_layout_forceAccumulate(c, alpha, charges); - quad.charge += c.charge; - cx += c.charge * c.cx; - cy += c.charge * c.cy; - } - } - if (quad.point) { - if (!quad.leaf) { - quad.point.x += Math.random() - .5; - quad.point.y += Math.random() - .5; - } - var k = alpha * charges[quad.point.index]; - quad.charge += quad.pointCharge = k; - cx += k * quad.point.x; - cy += k * quad.point.y; - } - quad.cx = cx / quad.charge; - quad.cy = cy / quad.charge; - } - var d3_layout_forceLinkDistance = 20, d3_layout_forceLinkStrength = 1, d3_layout_forceChargeDistance2 = Infinity; - d3.layout.hierarchy = function() { - var sort = d3_layout_hierarchySort, children = d3_layout_hierarchyChildren, value = d3_layout_hierarchyValue; - function hierarchy(root) { - var stack = [ root ], nodes = [], node; - root.depth = 0; - while ((node = stack.pop()) != null) { - nodes.push(node); - if ((childs = children.call(hierarchy, node, node.depth)) && (n = childs.length)) { - var n, childs, child; - while (--n >= 0) { - stack.push(child = childs[n]); - child.parent = node; - child.depth = node.depth + 1; - } - if (value) node.value = 0; - node.children = childs; - } else { - if (value) node.value = +value.call(hierarchy, node, node.depth) || 0; - delete node.children; - } - } - d3_layout_hierarchyVisitAfter(root, function(node) { - var childs, parent; - if (sort && (childs = node.children)) childs.sort(sort); - if (value && (parent = node.parent)) parent.value += node.value; - }); - return nodes; - } - hierarchy.sort = function(x) { - if (!arguments.length) return sort; - sort = x; - return hierarchy; - }; - hierarchy.children = function(x) { - if (!arguments.length) return children; - children = x; - return hierarchy; - }; - hierarchy.value = function(x) { - if (!arguments.length) return value; - value = x; - return hierarchy; - }; - hierarchy.revalue = function(root) { - if (value) { - d3_layout_hierarchyVisitBefore(root, function(node) { - if (node.children) node.value = 0; - }); - d3_layout_hierarchyVisitAfter(root, function(node) { - var parent; - if (!node.children) node.value = +value.call(hierarchy, node, node.depth) || 0; - if (parent = node.parent) parent.value += node.value; - }); - } - return root; - }; - return hierarchy; - }; - function d3_layout_hierarchyRebind(object, hierarchy) { - d3.rebind(object, hierarchy, "sort", "children", "value"); - object.nodes = object; - object.links = d3_layout_hierarchyLinks; - return object; - } - function d3_layout_hierarchyVisitBefore(node, callback) { - var nodes = [ node ]; - while ((node = nodes.pop()) != null) { - callback(node); - if ((children = node.children) && (n = children.length)) { - var n, children; - while (--n >= 0) nodes.push(children[n]); - } - } - } - function d3_layout_hierarchyVisitAfter(node, callback) { - var nodes = [ node ], nodes2 = []; - while ((node = nodes.pop()) != null) { - nodes2.push(node); - if ((children = node.children) && (n = children.length)) { - var i = -1, n, children; - while (++i < n) nodes.push(children[i]); - } - } - while ((node = nodes2.pop()) != null) { - callback(node); - } - } - function d3_layout_hierarchyChildren(d) { - return d.children; - } - function d3_layout_hierarchyValue(d) { - return d.value; - } - function d3_layout_hierarchySort(a, b) { - return b.value - a.value; - } - function d3_layout_hierarchyLinks(nodes) { - return d3.merge(nodes.map(function(parent) { - return (parent.children || []).map(function(child) { - return { - source: parent, - target: child - }; - }); - })); - } - d3.layout.partition = function() { - var hierarchy = d3.layout.hierarchy(), size = [ 1, 1 ]; - function position(node, x, dx, dy) { - var children = node.children; - node.x = x; - node.y = node.depth * dy; - node.dx = dx; - node.dy = dy; - if (children && (n = children.length)) { - var i = -1, n, c, d; - dx = node.value ? dx / node.value : 0; - while (++i < n) { - position(c = children[i], x, d = c.value * dx, dy); - x += d; - } - } - } - function depth(node) { - var children = node.children, d = 0; - if (children && (n = children.length)) { - var i = -1, n; - while (++i < n) d = Math.max(d, depth(children[i])); - } - return 1 + d; - } - function partition(d, i) { - var nodes = hierarchy.call(this, d, i); - position(nodes[0], 0, size[0], size[1] / depth(nodes[0])); - return nodes; - } - partition.size = function(x) { - if (!arguments.length) return size; - size = x; - return partition; - }; - return d3_layout_hierarchyRebind(partition, hierarchy); - }; - d3.layout.pie = function() { - var value = Number, sort = d3_layout_pieSortByValue, startAngle = 0, endAngle = τ, padAngle = 0; - function pie(data) { - var n = data.length, values = data.map(function(d, i) { - return +value.call(pie, d, i); - }), a = +(typeof startAngle === "function" ? startAngle.apply(this, arguments) : startAngle), da = (typeof endAngle === "function" ? endAngle.apply(this, arguments) : endAngle) - a, p = Math.min(Math.abs(da) / n, +(typeof padAngle === "function" ? padAngle.apply(this, arguments) : padAngle)), pa = p * (da < 0 ? -1 : 1), k = (da - n * pa) / d3.sum(values), index = d3.range(n), arcs = [], v; - if (sort != null) index.sort(sort === d3_layout_pieSortByValue ? function(i, j) { - return values[j] - values[i]; - } : function(i, j) { - return sort(data[i], data[j]); - }); - index.forEach(function(i) { - arcs[i] = { - data: data[i], - value: v = values[i], - startAngle: a, - endAngle: a += v * k + pa, - padAngle: p - }; - }); - return arcs; - } - pie.value = function(_) { - if (!arguments.length) return value; - value = _; - return pie; - }; - pie.sort = function(_) { - if (!arguments.length) return sort; - sort = _; - return pie; - }; - pie.startAngle = function(_) { - if (!arguments.length) return startAngle; - startAngle = _; - return pie; - }; - pie.endAngle = function(_) { - if (!arguments.length) return endAngle; - endAngle = _; - return pie; - }; - pie.padAngle = function(_) { - if (!arguments.length) return padAngle; - padAngle = _; - return pie; - }; - return pie; - }; - var d3_layout_pieSortByValue = {}; - d3.layout.stack = function() { - var values = d3_identity, order = d3_layout_stackOrderDefault, offset = d3_layout_stackOffsetZero, out = d3_layout_stackOut, x = d3_layout_stackX, y = d3_layout_stackY; - function stack(data, index) { - if (!(n = data.length)) return data; - var series = data.map(function(d, i) { - return values.call(stack, d, i); - }); - var points = series.map(function(d) { - return d.map(function(v, i) { - return [ x.call(stack, v, i), y.call(stack, v, i) ]; - }); - }); - var orders = order.call(stack, points, index); - series = d3.permute(series, orders); - points = d3.permute(points, orders); - var offsets = offset.call(stack, points, index); - var m = series[0].length, n, i, j, o; - for (j = 0; j < m; ++j) { - out.call(stack, series[0][j], o = offsets[j], points[0][j][1]); - for (i = 1; i < n; ++i) { - out.call(stack, series[i][j], o += points[i - 1][j][1], points[i][j][1]); - } - } - return data; - } - stack.values = function(x) { - if (!arguments.length) return values; - values = x; - return stack; - }; - stack.order = function(x) { - if (!arguments.length) return order; - order = typeof x === "function" ? x : d3_layout_stackOrders.get(x) || d3_layout_stackOrderDefault; - return stack; - }; - stack.offset = function(x) { - if (!arguments.length) return offset; - offset = typeof x === "function" ? x : d3_layout_stackOffsets.get(x) || d3_layout_stackOffsetZero; - return stack; - }; - stack.x = function(z) { - if (!arguments.length) return x; - x = z; - return stack; - }; - stack.y = function(z) { - if (!arguments.length) return y; - y = z; - return stack; - }; - stack.out = function(z) { - if (!arguments.length) return out; - out = z; - return stack; - }; - return stack; - }; - function d3_layout_stackX(d) { - return d.x; - } - function d3_layout_stackY(d) { - return d.y; - } - function d3_layout_stackOut(d, y0, y) { - d.y0 = y0; - d.y = y; - } - var d3_layout_stackOrders = d3.map({ - "inside-out": function(data) { - var n = data.length, i, j, max = data.map(d3_layout_stackMaxIndex), sums = data.map(d3_layout_stackReduceSum), index = d3.range(n).sort(function(a, b) { - return max[a] - max[b]; - }), top = 0, bottom = 0, tops = [], bottoms = []; - for (i = 0; i < n; ++i) { - j = index[i]; - if (top < bottom) { - top += sums[j]; - tops.push(j); - } else { - bottom += sums[j]; - bottoms.push(j); - } - } - return bottoms.reverse().concat(tops); - }, - reverse: function(data) { - return d3.range(data.length).reverse(); - }, - "default": d3_layout_stackOrderDefault - }); - var d3_layout_stackOffsets = d3.map({ - silhouette: function(data) { - var n = data.length, m = data[0].length, sums = [], max = 0, i, j, o, y0 = []; - for (j = 0; j < m; ++j) { - for (i = 0, o = 0; i < n; i++) o += data[i][j][1]; - if (o > max) max = o; - sums.push(o); - } - for (j = 0; j < m; ++j) { - y0[j] = (max - sums[j]) / 2; - } - return y0; - }, - wiggle: function(data) { - var n = data.length, x = data[0], m = x.length, i, j, k, s1, s2, s3, dx, o, o0, y0 = []; - y0[0] = o = o0 = 0; - for (j = 1; j < m; ++j) { - for (i = 0, s1 = 0; i < n; ++i) s1 += data[i][j][1]; - for (i = 0, s2 = 0, dx = x[j][0] - x[j - 1][0]; i < n; ++i) { - for (k = 0, s3 = (data[i][j][1] - data[i][j - 1][1]) / (2 * dx); k < i; ++k) { - s3 += (data[k][j][1] - data[k][j - 1][1]) / dx; - } - s2 += s3 * data[i][j][1]; - } - y0[j] = o -= s1 ? s2 / s1 * dx : 0; - if (o < o0) o0 = o; - } - for (j = 0; j < m; ++j) y0[j] -= o0; - return y0; - }, - expand: function(data) { - var n = data.length, m = data[0].length, k = 1 / n, i, j, o, y0 = []; - for (j = 0; j < m; ++j) { - for (i = 0, o = 0; i < n; i++) o += data[i][j][1]; - if (o) for (i = 0; i < n; i++) data[i][j][1] /= o; else for (i = 0; i < n; i++) data[i][j][1] = k; - } - for (j = 0; j < m; ++j) y0[j] = 0; - return y0; - }, - zero: d3_layout_stackOffsetZero - }); - function d3_layout_stackOrderDefault(data) { - return d3.range(data.length); - } - function d3_layout_stackOffsetZero(data) { - var j = -1, m = data[0].length, y0 = []; - while (++j < m) y0[j] = 0; - return y0; - } - function d3_layout_stackMaxIndex(array) { - var i = 1, j = 0, v = array[0][1], k, n = array.length; - for (;i < n; ++i) { - if ((k = array[i][1]) > v) { - j = i; - v = k; - } - } - return j; - } - function d3_layout_stackReduceSum(d) { - return d.reduce(d3_layout_stackSum, 0); - } - function d3_layout_stackSum(p, d) { - return p + d[1]; - } - d3.layout.histogram = function() { - var frequency = true, valuer = Number, ranger = d3_layout_histogramRange, binner = d3_layout_histogramBinSturges; - function histogram(data, i) { - var bins = [], values = data.map(valuer, this), range = ranger.call(this, values, i), thresholds = binner.call(this, range, values, i), bin, i = -1, n = values.length, m = thresholds.length - 1, k = frequency ? 1 : 1 / n, x; - while (++i < m) { - bin = bins[i] = []; - bin.dx = thresholds[i + 1] - (bin.x = thresholds[i]); - bin.y = 0; - } - if (m > 0) { - i = -1; - while (++i < n) { - x = values[i]; - if (x >= range[0] && x <= range[1]) { - bin = bins[d3.bisect(thresholds, x, 1, m) - 1]; - bin.y += k; - bin.push(data[i]); - } - } - } - return bins; - } - histogram.value = function(x) { - if (!arguments.length) return valuer; - valuer = x; - return histogram; - }; - histogram.range = function(x) { - if (!arguments.length) return ranger; - ranger = d3_functor(x); - return histogram; - }; - histogram.bins = function(x) { - if (!arguments.length) return binner; - binner = typeof x === "number" ? function(range) { - return d3_layout_histogramBinFixed(range, x); - } : d3_functor(x); - return histogram; - }; - histogram.frequency = function(x) { - if (!arguments.length) return frequency; - frequency = !!x; - return histogram; - }; - return histogram; - }; - function d3_layout_histogramBinSturges(range, values) { - return d3_layout_histogramBinFixed(range, Math.ceil(Math.log(values.length) / Math.LN2 + 1)); - } - function d3_layout_histogramBinFixed(range, n) { - var x = -1, b = +range[0], m = (range[1] - b) / n, f = []; - while (++x <= n) f[x] = m * x + b; - return f; - } - function d3_layout_histogramRange(values) { - return [ d3.min(values), d3.max(values) ]; - } - d3.layout.pack = function() { - var hierarchy = d3.layout.hierarchy().sort(d3_layout_packSort), padding = 0, size = [ 1, 1 ], radius; - function pack(d, i) { - var nodes = hierarchy.call(this, d, i), root = nodes[0], w = size[0], h = size[1], r = radius == null ? Math.sqrt : typeof radius === "function" ? radius : function() { - return radius; - }; - root.x = root.y = 0; - d3_layout_hierarchyVisitAfter(root, function(d) { - d.r = +r(d.value); - }); - d3_layout_hierarchyVisitAfter(root, d3_layout_packSiblings); - if (padding) { - var dr = padding * (radius ? 1 : Math.max(2 * root.r / w, 2 * root.r / h)) / 2; - d3_layout_hierarchyVisitAfter(root, function(d) { - d.r += dr; - }); - d3_layout_hierarchyVisitAfter(root, d3_layout_packSiblings); - d3_layout_hierarchyVisitAfter(root, function(d) { - d.r -= dr; - }); - } - d3_layout_packTransform(root, w / 2, h / 2, radius ? 1 : 1 / Math.max(2 * root.r / w, 2 * root.r / h)); - return nodes; - } - pack.size = function(_) { - if (!arguments.length) return size; - size = _; - return pack; - }; - pack.radius = function(_) { - if (!arguments.length) return radius; - radius = _ == null || typeof _ === "function" ? _ : +_; - return pack; - }; - pack.padding = function(_) { - if (!arguments.length) return padding; - padding = +_; - return pack; - }; - return d3_layout_hierarchyRebind(pack, hierarchy); - }; - function d3_layout_packSort(a, b) { - return a.value - b.value; - } - function d3_layout_packInsert(a, b) { - var c = a._pack_next; - a._pack_next = b; - b._pack_prev = a; - b._pack_next = c; - c._pack_prev = b; - } - function d3_layout_packSplice(a, b) { - a._pack_next = b; - b._pack_prev = a; - } - function d3_layout_packIntersects(a, b) { - var dx = b.x - a.x, dy = b.y - a.y, dr = a.r + b.r; - return .999 * dr * dr > dx * dx + dy * dy; - } - function d3_layout_packSiblings(node) { - if (!(nodes = node.children) || !(n = nodes.length)) return; - var nodes, xMin = Infinity, xMax = -Infinity, yMin = Infinity, yMax = -Infinity, a, b, c, i, j, k, n; - function bound(node) { - xMin = Math.min(node.x - node.r, xMin); - xMax = Math.max(node.x + node.r, xMax); - yMin = Math.min(node.y - node.r, yMin); - yMax = Math.max(node.y + node.r, yMax); - } - nodes.forEach(d3_layout_packLink); - a = nodes[0]; - a.x = -a.r; - a.y = 0; - bound(a); - if (n > 1) { - b = nodes[1]; - b.x = b.r; - b.y = 0; - bound(b); - if (n > 2) { - c = nodes[2]; - d3_layout_packPlace(a, b, c); - bound(c); - d3_layout_packInsert(a, c); - a._pack_prev = c; - d3_layout_packInsert(c, b); - b = a._pack_next; - for (i = 3; i < n; i++) { - d3_layout_packPlace(a, b, c = nodes[i]); - var isect = 0, s1 = 1, s2 = 1; - for (j = b._pack_next; j !== b; j = j._pack_next, s1++) { - if (d3_layout_packIntersects(j, c)) { - isect = 1; - break; - } - } - if (isect == 1) { - for (k = a._pack_prev; k !== j._pack_prev; k = k._pack_prev, s2++) { - if (d3_layout_packIntersects(k, c)) { - break; - } - } - } - if (isect) { - if (s1 < s2 || s1 == s2 && b.r < a.r) d3_layout_packSplice(a, b = j); else d3_layout_packSplice(a = k, b); - i--; - } else { - d3_layout_packInsert(a, c); - b = c; - bound(c); - } - } - } - } - var cx = (xMin + xMax) / 2, cy = (yMin + yMax) / 2, cr = 0; - for (i = 0; i < n; i++) { - c = nodes[i]; - c.x -= cx; - c.y -= cy; - cr = Math.max(cr, c.r + Math.sqrt(c.x * c.x + c.y * c.y)); - } - node.r = cr; - nodes.forEach(d3_layout_packUnlink); - } - function d3_layout_packLink(node) { - node._pack_next = node._pack_prev = node; - } - function d3_layout_packUnlink(node) { - delete node._pack_next; - delete node._pack_prev; - } - function d3_layout_packTransform(node, x, y, k) { - var children = node.children; - node.x = x += k * node.x; - node.y = y += k * node.y; - node.r *= k; - if (children) { - var i = -1, n = children.length; - while (++i < n) d3_layout_packTransform(children[i], x, y, k); - } - } - function d3_layout_packPlace(a, b, c) { - var db = a.r + c.r, dx = b.x - a.x, dy = b.y - a.y; - if (db && (dx || dy)) { - var da = b.r + c.r, dc = dx * dx + dy * dy; - da *= da; - db *= db; - var x = .5 + (db - da) / (2 * dc), y = Math.sqrt(Math.max(0, 2 * da * (db + dc) - (db -= dc) * db - da * da)) / (2 * dc); - c.x = a.x + x * dx + y * dy; - c.y = a.y + x * dy - y * dx; - } else { - c.x = a.x + db; - c.y = a.y; - } - } - d3.layout.tree = function() { - var hierarchy = d3.layout.hierarchy().sort(null).value(null), separation = d3_layout_treeSeparation, size = [ 1, 1 ], nodeSize = null; - function tree(d, i) { - var nodes = hierarchy.call(this, d, i), root0 = nodes[0], root1 = wrapTree(root0); - d3_layout_hierarchyVisitAfter(root1, firstWalk), root1.parent.m = -root1.z; - d3_layout_hierarchyVisitBefore(root1, secondWalk); - if (nodeSize) d3_layout_hierarchyVisitBefore(root0, sizeNode); else { - var left = root0, right = root0, bottom = root0; - d3_layout_hierarchyVisitBefore(root0, function(node) { - if (node.x < left.x) left = node; - if (node.x > right.x) right = node; - if (node.depth > bottom.depth) bottom = node; - }); - var tx = separation(left, right) / 2 - left.x, kx = size[0] / (right.x + separation(right, left) / 2 + tx), ky = size[1] / (bottom.depth || 1); - d3_layout_hierarchyVisitBefore(root0, function(node) { - node.x = (node.x + tx) * kx; - node.y = node.depth * ky; - }); - } - return nodes; - } - function wrapTree(root0) { - var root1 = { - A: null, - children: [ root0 ] - }, queue = [ root1 ], node1; - while ((node1 = queue.pop()) != null) { - for (var children = node1.children, child, i = 0, n = children.length; i < n; ++i) { - queue.push((children[i] = child = { - _: children[i], - parent: node1, - children: (child = children[i].children) && child.slice() || [], - A: null, - a: null, - z: 0, - m: 0, - c: 0, - s: 0, - t: null, - i: i - }).a = child); - } - } - return root1.children[0]; - } - function firstWalk(v) { - var children = v.children, siblings = v.parent.children, w = v.i ? siblings[v.i - 1] : null; - if (children.length) { - d3_layout_treeShift(v); - var midpoint = (children[0].z + children[children.length - 1].z) / 2; - if (w) { - v.z = w.z + separation(v._, w._); - v.m = v.z - midpoint; - } else { - v.z = midpoint; - } - } else if (w) { - v.z = w.z + separation(v._, w._); - } - v.parent.A = apportion(v, w, v.parent.A || siblings[0]); - } - function secondWalk(v) { - v._.x = v.z + v.parent.m; - v.m += v.parent.m; - } - function apportion(v, w, ancestor) { - if (w) { - var vip = v, vop = v, vim = w, vom = vip.parent.children[0], sip = vip.m, sop = vop.m, sim = vim.m, som = vom.m, shift; - while (vim = d3_layout_treeRight(vim), vip = d3_layout_treeLeft(vip), vim && vip) { - vom = d3_layout_treeLeft(vom); - vop = d3_layout_treeRight(vop); - vop.a = v; - shift = vim.z + sim - vip.z - sip + separation(vim._, vip._); - if (shift > 0) { - d3_layout_treeMove(d3_layout_treeAncestor(vim, v, ancestor), v, shift); - sip += shift; - sop += shift; - } - sim += vim.m; - sip += vip.m; - som += vom.m; - sop += vop.m; - } - if (vim && !d3_layout_treeRight(vop)) { - vop.t = vim; - vop.m += sim - sop; - } - if (vip && !d3_layout_treeLeft(vom)) { - vom.t = vip; - vom.m += sip - som; - ancestor = v; - } - } - return ancestor; - } - function sizeNode(node) { - node.x *= size[0]; - node.y = node.depth * size[1]; - } - tree.separation = function(x) { - if (!arguments.length) return separation; - separation = x; - return tree; - }; - tree.size = function(x) { - if (!arguments.length) return nodeSize ? null : size; - nodeSize = (size = x) == null ? sizeNode : null; - return tree; - }; - tree.nodeSize = function(x) { - if (!arguments.length) return nodeSize ? size : null; - nodeSize = (size = x) == null ? null : sizeNode; - return tree; - }; - return d3_layout_hierarchyRebind(tree, hierarchy); - }; - function d3_layout_treeSeparation(a, b) { - return a.parent == b.parent ? 1 : 2; - } - function d3_layout_treeLeft(v) { - var children = v.children; - return children.length ? children[0] : v.t; - } - function d3_layout_treeRight(v) { - var children = v.children, n; - return (n = children.length) ? children[n - 1] : v.t; - } - function d3_layout_treeMove(wm, wp, shift) { - var change = shift / (wp.i - wm.i); - wp.c -= change; - wp.s += shift; - wm.c += change; - wp.z += shift; - wp.m += shift; - } - function d3_layout_treeShift(v) { - var shift = 0, change = 0, children = v.children, i = children.length, w; - while (--i >= 0) { - w = children[i]; - w.z += shift; - w.m += shift; - shift += w.s + (change += w.c); - } - } - function d3_layout_treeAncestor(vim, v, ancestor) { - return vim.a.parent === v.parent ? vim.a : ancestor; - } - d3.layout.cluster = function() { - var hierarchy = d3.layout.hierarchy().sort(null).value(null), separation = d3_layout_treeSeparation, size = [ 1, 1 ], nodeSize = false; - function cluster(d, i) { - var nodes = hierarchy.call(this, d, i), root = nodes[0], previousNode, x = 0; - d3_layout_hierarchyVisitAfter(root, function(node) { - var children = node.children; - if (children && children.length) { - node.x = d3_layout_clusterX(children); - node.y = d3_layout_clusterY(children); - } else { - node.x = previousNode ? x += separation(node, previousNode) : 0; - node.y = 0; - previousNode = node; - } - }); - var left = d3_layout_clusterLeft(root), right = d3_layout_clusterRight(root), x0 = left.x - separation(left, right) / 2, x1 = right.x + separation(right, left) / 2; - d3_layout_hierarchyVisitAfter(root, nodeSize ? function(node) { - node.x = (node.x - root.x) * size[0]; - node.y = (root.y - node.y) * size[1]; - } : function(node) { - node.x = (node.x - x0) / (x1 - x0) * size[0]; - node.y = (1 - (root.y ? node.y / root.y : 1)) * size[1]; - }); - return nodes; - } - cluster.separation = function(x) { - if (!arguments.length) return separation; - separation = x; - return cluster; - }; - cluster.size = function(x) { - if (!arguments.length) return nodeSize ? null : size; - nodeSize = (size = x) == null; - return cluster; - }; - cluster.nodeSize = function(x) { - if (!arguments.length) return nodeSize ? size : null; - nodeSize = (size = x) != null; - return cluster; - }; - return d3_layout_hierarchyRebind(cluster, hierarchy); - }; - function d3_layout_clusterY(children) { - return 1 + d3.max(children, function(child) { - return child.y; - }); - } - function d3_layout_clusterX(children) { - return children.reduce(function(x, child) { - return x + child.x; - }, 0) / children.length; - } - function d3_layout_clusterLeft(node) { - var children = node.children; - return children && children.length ? d3_layout_clusterLeft(children[0]) : node; - } - function d3_layout_clusterRight(node) { - var children = node.children, n; - return children && (n = children.length) ? d3_layout_clusterRight(children[n - 1]) : node; - } - d3.layout.treemap = function() { - var hierarchy = d3.layout.hierarchy(), round = Math.round, size = [ 1, 1 ], padding = null, pad = d3_layout_treemapPadNull, sticky = false, stickies, mode = "squarify", ratio = .5 * (1 + Math.sqrt(5)); - function scale(children, k) { - var i = -1, n = children.length, child, area; - while (++i < n) { - area = (child = children[i]).value * (k < 0 ? 0 : k); - child.area = isNaN(area) || area <= 0 ? 0 : area; - } - } - function squarify(node) { - var children = node.children; - if (children && children.length) { - var rect = pad(node), row = [], remaining = children.slice(), child, best = Infinity, score, u = mode === "slice" ? rect.dx : mode === "dice" ? rect.dy : mode === "slice-dice" ? node.depth & 1 ? rect.dy : rect.dx : Math.min(rect.dx, rect.dy), n; - scale(remaining, rect.dx * rect.dy / node.value); - row.area = 0; - while ((n = remaining.length) > 0) { - row.push(child = remaining[n - 1]); - row.area += child.area; - if (mode !== "squarify" || (score = worst(row, u)) <= best) { - remaining.pop(); - best = score; - } else { - row.area -= row.pop().area; - position(row, u, rect, false); - u = Math.min(rect.dx, rect.dy); - row.length = row.area = 0; - best = Infinity; - } - } - if (row.length) { - position(row, u, rect, true); - row.length = row.area = 0; - } - children.forEach(squarify); - } - } - function stickify(node) { - var children = node.children; - if (children && children.length) { - var rect = pad(node), remaining = children.slice(), child, row = []; - scale(remaining, rect.dx * rect.dy / node.value); - row.area = 0; - while (child = remaining.pop()) { - row.push(child); - row.area += child.area; - if (child.z != null) { - position(row, child.z ? rect.dx : rect.dy, rect, !remaining.length); - row.length = row.area = 0; - } - } - children.forEach(stickify); - } - } - function worst(row, u) { - var s = row.area, r, rmax = 0, rmin = Infinity, i = -1, n = row.length; - while (++i < n) { - if (!(r = row[i].area)) continue; - if (r < rmin) rmin = r; - if (r > rmax) rmax = r; - } - s *= s; - u *= u; - return s ? Math.max(u * rmax * ratio / s, s / (u * rmin * ratio)) : Infinity; - } - function position(row, u, rect, flush) { - var i = -1, n = row.length, x = rect.x, y = rect.y, v = u ? round(row.area / u) : 0, o; - if (u == rect.dx) { - if (flush || v > rect.dy) v = rect.dy; - while (++i < n) { - o = row[i]; - o.x = x; - o.y = y; - o.dy = v; - x += o.dx = Math.min(rect.x + rect.dx - x, v ? round(o.area / v) : 0); - } - o.z = true; - o.dx += rect.x + rect.dx - x; - rect.y += v; - rect.dy -= v; - } else { - if (flush || v > rect.dx) v = rect.dx; - while (++i < n) { - o = row[i]; - o.x = x; - o.y = y; - o.dx = v; - y += o.dy = Math.min(rect.y + rect.dy - y, v ? round(o.area / v) : 0); - } - o.z = false; - o.dy += rect.y + rect.dy - y; - rect.x += v; - rect.dx -= v; - } - } - function treemap(d) { - var nodes = stickies || hierarchy(d), root = nodes[0]; - root.x = 0; - root.y = 0; - root.dx = size[0]; - root.dy = size[1]; - if (stickies) hierarchy.revalue(root); - scale([ root ], root.dx * root.dy / root.value); - (stickies ? stickify : squarify)(root); - if (sticky) stickies = nodes; - return nodes; - } - treemap.size = function(x) { - if (!arguments.length) return size; - size = x; - return treemap; - }; - treemap.padding = function(x) { - if (!arguments.length) return padding; - function padFunction(node) { - var p = x.call(treemap, node, node.depth); - return p == null ? d3_layout_treemapPadNull(node) : d3_layout_treemapPad(node, typeof p === "number" ? [ p, p, p, p ] : p); - } - function padConstant(node) { - return d3_layout_treemapPad(node, x); - } - var type; - pad = (padding = x) == null ? d3_layout_treemapPadNull : (type = typeof x) === "function" ? padFunction : type === "number" ? (x = [ x, x, x, x ], - padConstant) : padConstant; - return treemap; - }; - treemap.round = function(x) { - if (!arguments.length) return round != Number; - round = x ? Math.round : Number; - return treemap; - }; - treemap.sticky = function(x) { - if (!arguments.length) return sticky; - sticky = x; - stickies = null; - return treemap; - }; - treemap.ratio = function(x) { - if (!arguments.length) return ratio; - ratio = x; - return treemap; - }; - treemap.mode = function(x) { - if (!arguments.length) return mode; - mode = x + ""; - return treemap; - }; - return d3_layout_hierarchyRebind(treemap, hierarchy); - }; - function d3_layout_treemapPadNull(node) { - return { - x: node.x, - y: node.y, - dx: node.dx, - dy: node.dy - }; - } - function d3_layout_treemapPad(node, padding) { - var x = node.x + padding[3], y = node.y + padding[0], dx = node.dx - padding[1] - padding[3], dy = node.dy - padding[0] - padding[2]; - if (dx < 0) { - x += dx / 2; - dx = 0; - } - if (dy < 0) { - y += dy / 2; - dy = 0; - } - return { - x: x, - y: y, - dx: dx, - dy: dy - }; - } - d3.random = { - normal: function(µ, σ) { - var n = arguments.length; - if (n < 2) σ = 1; - if (n < 1) µ = 0; - return function() { - var x, y, r; - do { - x = Math.random() * 2 - 1; - y = Math.random() * 2 - 1; - r = x * x + y * y; - } while (!r || r > 1); - return µ + σ * x * Math.sqrt(-2 * Math.log(r) / r); - }; - }, - logNormal: function() { - var random = d3.random.normal.apply(d3, arguments); - return function() { - return Math.exp(random()); - }; - }, - bates: function(m) { - var random = d3.random.irwinHall(m); - return function() { - return random() / m; - }; - }, - irwinHall: function(m) { - return function() { - for (var s = 0, j = 0; j < m; j++) s += Math.random(); - return s; - }; - } - }; - d3.scale = {}; - function d3_scaleExtent(domain) { - var start = domain[0], stop = domain[domain.length - 1]; - return start < stop ? [ start, stop ] : [ stop, start ]; - } - function d3_scaleRange(scale) { - return scale.rangeExtent ? scale.rangeExtent() : d3_scaleExtent(scale.range()); - } - function d3_scale_bilinear(domain, range, uninterpolate, interpolate) { - var u = uninterpolate(domain[0], domain[1]), i = interpolate(range[0], range[1]); - return function(x) { - return i(u(x)); - }; - } - function d3_scale_nice(domain, nice) { - var i0 = 0, i1 = domain.length - 1, x0 = domain[i0], x1 = domain[i1], dx; - if (x1 < x0) { - dx = i0, i0 = i1, i1 = dx; - dx = x0, x0 = x1, x1 = dx; - } - domain[i0] = nice.floor(x0); - domain[i1] = nice.ceil(x1); - return domain; - } - function d3_scale_niceStep(step) { - return step ? { - floor: function(x) { - return Math.floor(x / step) * step; - }, - ceil: function(x) { - return Math.ceil(x / step) * step; - } - } : d3_scale_niceIdentity; - } - var d3_scale_niceIdentity = { - floor: d3_identity, - ceil: d3_identity - }; - function d3_scale_polylinear(domain, range, uninterpolate, interpolate) { - var u = [], i = [], j = 0, k = Math.min(domain.length, range.length) - 1; - if (domain[k] < domain[0]) { - domain = domain.slice().reverse(); - range = range.slice().reverse(); - } - while (++j <= k) { - u.push(uninterpolate(domain[j - 1], domain[j])); - i.push(interpolate(range[j - 1], range[j])); - } - return function(x) { - var j = d3.bisect(domain, x, 1, k) - 1; - return i[j](u[j](x)); - }; - } - d3.scale.linear = function() { - return d3_scale_linear([ 0, 1 ], [ 0, 1 ], d3_interpolate, false); - }; - function d3_scale_linear(domain, range, interpolate, clamp) { - var output, input; - function rescale() { - var linear = Math.min(domain.length, range.length) > 2 ? d3_scale_polylinear : d3_scale_bilinear, uninterpolate = clamp ? d3_uninterpolateClamp : d3_uninterpolateNumber; - output = linear(domain, range, uninterpolate, interpolate); - input = linear(range, domain, uninterpolate, d3_interpolate); - return scale; - } - function scale(x) { - return output(x); - } - scale.invert = function(y) { - return input(y); - }; - scale.domain = function(x) { - if (!arguments.length) return domain; - domain = x.map(Number); - return rescale(); - }; - scale.range = function(x) { - if (!arguments.length) return range; - range = x; - return rescale(); - }; - scale.rangeRound = function(x) { - return scale.range(x).interpolate(d3_interpolateRound); - }; - scale.clamp = function(x) { - if (!arguments.length) return clamp; - clamp = x; - return rescale(); - }; - scale.interpolate = function(x) { - if (!arguments.length) return interpolate; - interpolate = x; - return rescale(); - }; - scale.ticks = function(m) { - return d3_scale_linearTicks(domain, m); - }; - scale.tickFormat = function(m, format) { - return d3_scale_linearTickFormat(domain, m, format); - }; - scale.nice = function(m) { - d3_scale_linearNice(domain, m); - return rescale(); - }; - scale.copy = function() { - return d3_scale_linear(domain, range, interpolate, clamp); - }; - return rescale(); - } - function d3_scale_linearRebind(scale, linear) { - return d3.rebind(scale, linear, "range", "rangeRound", "interpolate", "clamp"); - } - function d3_scale_linearNice(domain, m) { - return d3_scale_nice(domain, d3_scale_niceStep(d3_scale_linearTickRange(domain, m)[2])); - } - function d3_scale_linearTickRange(domain, m) { - if (m == null) m = 10; - var extent = d3_scaleExtent(domain), span = extent[1] - extent[0], step = Math.pow(10, Math.floor(Math.log(span / m) / Math.LN10)), err = m / span * step; - if (err <= .15) step *= 10; else if (err <= .35) step *= 5; else if (err <= .75) step *= 2; - extent[0] = Math.ceil(extent[0] / step) * step; - extent[1] = Math.floor(extent[1] / step) * step + step * .5; - extent[2] = step; - return extent; - } - function d3_scale_linearTicks(domain, m) { - return d3.range.apply(d3, d3_scale_linearTickRange(domain, m)); - } - function d3_scale_linearTickFormat(domain, m, format) { - var range = d3_scale_linearTickRange(domain, m); - if (format) { - var match = d3_format_re.exec(format); - match.shift(); - if (match[8] === "s") { - var prefix = d3.formatPrefix(Math.max(abs(range[0]), abs(range[1]))); - if (!match[7]) match[7] = "." + d3_scale_linearPrecision(prefix.scale(range[2])); - match[8] = "f"; - format = d3.format(match.join("")); - return function(d) { - return format(prefix.scale(d)) + prefix.symbol; - }; - } - if (!match[7]) match[7] = "." + d3_scale_linearFormatPrecision(match[8], range); - format = match.join(""); - } else { - format = ",." + d3_scale_linearPrecision(range[2]) + "f"; - } - return d3.format(format); - } - var d3_scale_linearFormatSignificant = { - s: 1, - g: 1, - p: 1, - r: 1, - e: 1 - }; - function d3_scale_linearPrecision(value) { - return -Math.floor(Math.log(value) / Math.LN10 + .01); - } - function d3_scale_linearFormatPrecision(type, range) { - var p = d3_scale_linearPrecision(range[2]); - return type in d3_scale_linearFormatSignificant ? Math.abs(p - d3_scale_linearPrecision(Math.max(abs(range[0]), abs(range[1])))) + +(type !== "e") : p - (type === "%") * 2; - } - d3.scale.log = function() { - return d3_scale_log(d3.scale.linear().domain([ 0, 1 ]), 10, true, [ 1, 10 ]); - }; - function d3_scale_log(linear, base, positive, domain) { - function log(x) { - return (positive ? Math.log(x < 0 ? 0 : x) : -Math.log(x > 0 ? 0 : -x)) / Math.log(base); - } - function pow(x) { - return positive ? Math.pow(base, x) : -Math.pow(base, -x); - } - function scale(x) { - return linear(log(x)); - } - scale.invert = function(x) { - return pow(linear.invert(x)); - }; - scale.domain = function(x) { - if (!arguments.length) return domain; - positive = x[0] >= 0; - linear.domain((domain = x.map(Number)).map(log)); - return scale; - }; - scale.base = function(_) { - if (!arguments.length) return base; - base = +_; - linear.domain(domain.map(log)); - return scale; - }; - scale.nice = function() { - var niced = d3_scale_nice(domain.map(log), positive ? Math : d3_scale_logNiceNegative); - linear.domain(niced); - domain = niced.map(pow); - return scale; - }; - scale.ticks = function() { - var extent = d3_scaleExtent(domain), ticks = [], u = extent[0], v = extent[1], i = Math.floor(log(u)), j = Math.ceil(log(v)), n = base % 1 ? 2 : base; - if (isFinite(j - i)) { - if (positive) { - for (;i < j; i++) for (var k = 1; k < n; k++) ticks.push(pow(i) * k); - ticks.push(pow(i)); - } else { - ticks.push(pow(i)); - for (;i++ < j; ) for (var k = n - 1; k > 0; k--) ticks.push(pow(i) * k); - } - for (i = 0; ticks[i] < u; i++) {} - for (j = ticks.length; ticks[j - 1] > v; j--) {} - ticks = ticks.slice(i, j); - } - return ticks; - }; - scale.tickFormat = function(n, format) { - if (!arguments.length) return d3_scale_logFormat; - if (arguments.length < 2) format = d3_scale_logFormat; else if (typeof format !== "function") format = d3.format(format); - var k = Math.max(.1, n / scale.ticks().length), f = positive ? (e = 1e-12, Math.ceil) : (e = -1e-12, - Math.floor), e; - return function(d) { - return d / pow(f(log(d) + e)) <= k ? format(d) : ""; - }; - }; - scale.copy = function() { - return d3_scale_log(linear.copy(), base, positive, domain); - }; - return d3_scale_linearRebind(scale, linear); - } - var d3_scale_logFormat = d3.format(".0e"), d3_scale_logNiceNegative = { - floor: function(x) { - return -Math.ceil(-x); - }, - ceil: function(x) { - return -Math.floor(-x); - } - }; - d3.scale.pow = function() { - return d3_scale_pow(d3.scale.linear(), 1, [ 0, 1 ]); - }; - function d3_scale_pow(linear, exponent, domain) { - var powp = d3_scale_powPow(exponent), powb = d3_scale_powPow(1 / exponent); - function scale(x) { - return linear(powp(x)); - } - scale.invert = function(x) { - return powb(linear.invert(x)); - }; - scale.domain = function(x) { - if (!arguments.length) return domain; - linear.domain((domain = x.map(Number)).map(powp)); - return scale; - }; - scale.ticks = function(m) { - return d3_scale_linearTicks(domain, m); - }; - scale.tickFormat = function(m, format) { - return d3_scale_linearTickFormat(domain, m, format); - }; - scale.nice = function(m) { - return scale.domain(d3_scale_linearNice(domain, m)); - }; - scale.exponent = function(x) { - if (!arguments.length) return exponent; - powp = d3_scale_powPow(exponent = x); - powb = d3_scale_powPow(1 / exponent); - linear.domain(domain.map(powp)); - return scale; - }; - scale.copy = function() { - return d3_scale_pow(linear.copy(), exponent, domain); - }; - return d3_scale_linearRebind(scale, linear); - } - function d3_scale_powPow(e) { - return function(x) { - return x < 0 ? -Math.pow(-x, e) : Math.pow(x, e); - }; - } - d3.scale.sqrt = function() { - return d3.scale.pow().exponent(.5); - }; - d3.scale.ordinal = function() { - return d3_scale_ordinal([], { - t: "range", - a: [ [] ] - }); - }; - function d3_scale_ordinal(domain, ranger) { - var index, range, rangeBand; - function scale(x) { - return range[((index.get(x) || (ranger.t === "range" ? index.set(x, domain.push(x)) : NaN)) - 1) % range.length]; - } - function steps(start, step) { - return d3.range(domain.length).map(function(i) { - return start + step * i; - }); - } - scale.domain = function(x) { - if (!arguments.length) return domain; - domain = []; - index = new d3_Map(); - var i = -1, n = x.length, xi; - while (++i < n) if (!index.has(xi = x[i])) index.set(xi, domain.push(xi)); - return scale[ranger.t].apply(scale, ranger.a); - }; - scale.range = function(x) { - if (!arguments.length) return range; - range = x; - rangeBand = 0; - ranger = { - t: "range", - a: arguments - }; - return scale; - }; - scale.rangePoints = function(x, padding) { - if (arguments.length < 2) padding = 0; - var start = x[0], stop = x[1], step = domain.length < 2 ? (start = (start + stop) / 2, - 0) : (stop - start) / (domain.length - 1 + padding); - range = steps(start + step * padding / 2, step); - rangeBand = 0; - ranger = { - t: "rangePoints", - a: arguments - }; - return scale; - }; - scale.rangeRoundPoints = function(x, padding) { - if (arguments.length < 2) padding = 0; - var start = x[0], stop = x[1], step = domain.length < 2 ? (start = stop = Math.round((start + stop) / 2), - 0) : (stop - start) / (domain.length - 1 + padding) | 0; - range = steps(start + Math.round(step * padding / 2 + (stop - start - (domain.length - 1 + padding) * step) / 2), step); - rangeBand = 0; - ranger = { - t: "rangeRoundPoints", - a: arguments - }; - return scale; - }; - scale.rangeBands = function(x, padding, outerPadding) { - if (arguments.length < 2) padding = 0; - if (arguments.length < 3) outerPadding = padding; - var reverse = x[1] < x[0], start = x[reverse - 0], stop = x[1 - reverse], step = (stop - start) / (domain.length - padding + 2 * outerPadding); - range = steps(start + step * outerPadding, step); - if (reverse) range.reverse(); - rangeBand = step * (1 - padding); - ranger = { - t: "rangeBands", - a: arguments - }; - return scale; - }; - scale.rangeRoundBands = function(x, padding, outerPadding) { - if (arguments.length < 2) padding = 0; - if (arguments.length < 3) outerPadding = padding; - var reverse = x[1] < x[0], start = x[reverse - 0], stop = x[1 - reverse], step = Math.floor((stop - start) / (domain.length - padding + 2 * outerPadding)); - range = steps(start + Math.round((stop - start - (domain.length - padding) * step) / 2), step); - if (reverse) range.reverse(); - rangeBand = Math.round(step * (1 - padding)); - ranger = { - t: "rangeRoundBands", - a: arguments - }; - return scale; - }; - scale.rangeBand = function() { - return rangeBand; - }; - scale.rangeExtent = function() { - return d3_scaleExtent(ranger.a[0]); - }; - scale.copy = function() { - return d3_scale_ordinal(domain, ranger); - }; - return scale.domain(domain); - } - d3.scale.category10 = function() { - return d3.scale.ordinal().range(d3_category10); - }; - d3.scale.category20 = function() { - return d3.scale.ordinal().range(d3_category20); - }; - d3.scale.category20b = function() { - return d3.scale.ordinal().range(d3_category20b); - }; - d3.scale.category20c = function() { - return d3.scale.ordinal().range(d3_category20c); - }; - var d3_category10 = [ 2062260, 16744206, 2924588, 14034728, 9725885, 9197131, 14907330, 8355711, 12369186, 1556175 ].map(d3_rgbString); - var d3_category20 = [ 2062260, 11454440, 16744206, 16759672, 2924588, 10018698, 14034728, 16750742, 9725885, 12955861, 9197131, 12885140, 14907330, 16234194, 8355711, 13092807, 12369186, 14408589, 1556175, 10410725 ].map(d3_rgbString); - var d3_category20b = [ 3750777, 5395619, 7040719, 10264286, 6519097, 9216594, 11915115, 13556636, 9202993, 12426809, 15186514, 15190932, 8666169, 11356490, 14049643, 15177372, 8077683, 10834324, 13528509, 14589654 ].map(d3_rgbString); - var d3_category20c = [ 3244733, 7057110, 10406625, 13032431, 15095053, 16616764, 16625259, 16634018, 3253076, 7652470, 10607003, 13101504, 7695281, 10394312, 12369372, 14342891, 6513507, 9868950, 12434877, 14277081 ].map(d3_rgbString); - d3.scale.quantile = function() { - return d3_scale_quantile([], []); - }; - function d3_scale_quantile(domain, range) { - var thresholds; - function rescale() { - var k = 0, q = range.length; - thresholds = []; - while (++k < q) thresholds[k - 1] = d3.quantile(domain, k / q); - return scale; - } - function scale(x) { - if (!isNaN(x = +x)) return range[d3.bisect(thresholds, x)]; - } - scale.domain = function(x) { - if (!arguments.length) return domain; - domain = x.map(d3_number).filter(d3_numeric).sort(d3_ascending); - return rescale(); - }; - scale.range = function(x) { - if (!arguments.length) return range; - range = x; - return rescale(); - }; - scale.quantiles = function() { - return thresholds; - }; - scale.invertExtent = function(y) { - y = range.indexOf(y); - return y < 0 ? [ NaN, NaN ] : [ y > 0 ? thresholds[y - 1] : domain[0], y < thresholds.length ? thresholds[y] : domain[domain.length - 1] ]; - }; - scale.copy = function() { - return d3_scale_quantile(domain, range); - }; - return rescale(); - } - d3.scale.quantize = function() { - return d3_scale_quantize(0, 1, [ 0, 1 ]); - }; - function d3_scale_quantize(x0, x1, range) { - var kx, i; - function scale(x) { - return range[Math.max(0, Math.min(i, Math.floor(kx * (x - x0))))]; - } - function rescale() { - kx = range.length / (x1 - x0); - i = range.length - 1; - return scale; - } - scale.domain = function(x) { - if (!arguments.length) return [ x0, x1 ]; - x0 = +x[0]; - x1 = +x[x.length - 1]; - return rescale(); - }; - scale.range = function(x) { - if (!arguments.length) return range; - range = x; - return rescale(); - }; - scale.invertExtent = function(y) { - y = range.indexOf(y); - y = y < 0 ? NaN : y / kx + x0; - return [ y, y + 1 / kx ]; - }; - scale.copy = function() { - return d3_scale_quantize(x0, x1, range); - }; - return rescale(); - } - d3.scale.threshold = function() { - return d3_scale_threshold([ .5 ], [ 0, 1 ]); - }; - function d3_scale_threshold(domain, range) { - function scale(x) { - if (x <= x) return range[d3.bisect(domain, x)]; - } - scale.domain = function(_) { - if (!arguments.length) return domain; - domain = _; - return scale; - }; - scale.range = function(_) { - if (!arguments.length) return range; - range = _; - return scale; - }; - scale.invertExtent = function(y) { - y = range.indexOf(y); - return [ domain[y - 1], domain[y] ]; - }; - scale.copy = function() { - return d3_scale_threshold(domain, range); - }; - return scale; - } - d3.scale.identity = function() { - return d3_scale_identity([ 0, 1 ]); - }; - function d3_scale_identity(domain) { - function identity(x) { - return +x; - } - identity.invert = identity; - identity.domain = identity.range = function(x) { - if (!arguments.length) return domain; - domain = x.map(identity); - return identity; - }; - identity.ticks = function(m) { - return d3_scale_linearTicks(domain, m); - }; - identity.tickFormat = function(m, format) { - return d3_scale_linearTickFormat(domain, m, format); - }; - identity.copy = function() { - return d3_scale_identity(domain); - }; - return identity; - } - d3.svg = {}; - function d3_zero() { - return 0; - } - d3.svg.arc = function() { - var innerRadius = d3_svg_arcInnerRadius, outerRadius = d3_svg_arcOuterRadius, cornerRadius = d3_zero, padRadius = d3_svg_arcAuto, startAngle = d3_svg_arcStartAngle, endAngle = d3_svg_arcEndAngle, padAngle = d3_svg_arcPadAngle; - function arc() { - var r0 = Math.max(0, +innerRadius.apply(this, arguments)), r1 = Math.max(0, +outerRadius.apply(this, arguments)), a0 = startAngle.apply(this, arguments) - halfπ, a1 = endAngle.apply(this, arguments) - halfπ, da = Math.abs(a1 - a0), cw = a0 > a1 ? 0 : 1; - if (r1 < r0) rc = r1, r1 = r0, r0 = rc; - if (da >= τε) return circleSegment(r1, cw) + (r0 ? circleSegment(r0, 1 - cw) : "") + "Z"; - var rc, cr, rp, ap, p0 = 0, p1 = 0, x0, y0, x1, y1, x2, y2, x3, y3, path = []; - if (ap = (+padAngle.apply(this, arguments) || 0) / 2) { - rp = padRadius === d3_svg_arcAuto ? Math.sqrt(r0 * r0 + r1 * r1) : +padRadius.apply(this, arguments); - if (!cw) p1 *= -1; - if (r1) p1 = d3_asin(rp / r1 * Math.sin(ap)); - if (r0) p0 = d3_asin(rp / r0 * Math.sin(ap)); - } - if (r1) { - x0 = r1 * Math.cos(a0 + p1); - y0 = r1 * Math.sin(a0 + p1); - x1 = r1 * Math.cos(a1 - p1); - y1 = r1 * Math.sin(a1 - p1); - var l1 = Math.abs(a1 - a0 - 2 * p1) <= π ? 0 : 1; - if (p1 && d3_svg_arcSweep(x0, y0, x1, y1) === cw ^ l1) { - var h1 = (a0 + a1) / 2; - x0 = r1 * Math.cos(h1); - y0 = r1 * Math.sin(h1); - x1 = y1 = null; - } - } else { - x0 = y0 = 0; - } - if (r0) { - x2 = r0 * Math.cos(a1 - p0); - y2 = r0 * Math.sin(a1 - p0); - x3 = r0 * Math.cos(a0 + p0); - y3 = r0 * Math.sin(a0 + p0); - var l0 = Math.abs(a0 - a1 + 2 * p0) <= π ? 0 : 1; - if (p0 && d3_svg_arcSweep(x2, y2, x3, y3) === 1 - cw ^ l0) { - var h0 = (a0 + a1) / 2; - x2 = r0 * Math.cos(h0); - y2 = r0 * Math.sin(h0); - x3 = y3 = null; - } - } else { - x2 = y2 = 0; - } - if ((rc = Math.min(Math.abs(r1 - r0) / 2, +cornerRadius.apply(this, arguments))) > .001) { - cr = r0 < r1 ^ cw ? 0 : 1; - var oc = x3 == null ? [ x2, y2 ] : x1 == null ? [ x0, y0 ] : d3_geom_polygonIntersect([ x0, y0 ], [ x3, y3 ], [ x1, y1 ], [ x2, y2 ]), ax = x0 - oc[0], ay = y0 - oc[1], bx = x1 - oc[0], by = y1 - oc[1], kc = 1 / Math.sin(Math.acos((ax * bx + ay * by) / (Math.sqrt(ax * ax + ay * ay) * Math.sqrt(bx * bx + by * by))) / 2), lc = Math.sqrt(oc[0] * oc[0] + oc[1] * oc[1]); - if (x1 != null) { - var rc1 = Math.min(rc, (r1 - lc) / (kc + 1)), t30 = d3_svg_arcCornerTangents(x3 == null ? [ x2, y2 ] : [ x3, y3 ], [ x0, y0 ], r1, rc1, cw), t12 = d3_svg_arcCornerTangents([ x1, y1 ], [ x2, y2 ], r1, rc1, cw); - if (rc === rc1) { - path.push("M", t30[0], "A", rc1, ",", rc1, " 0 0,", cr, " ", t30[1], "A", r1, ",", r1, " 0 ", 1 - cw ^ d3_svg_arcSweep(t30[1][0], t30[1][1], t12[1][0], t12[1][1]), ",", cw, " ", t12[1], "A", rc1, ",", rc1, " 0 0,", cr, " ", t12[0]); - } else { - path.push("M", t30[0], "A", rc1, ",", rc1, " 0 1,", cr, " ", t12[0]); - } - } else { - path.push("M", x0, ",", y0); - } - if (x3 != null) { - var rc0 = Math.min(rc, (r0 - lc) / (kc - 1)), t03 = d3_svg_arcCornerTangents([ x0, y0 ], [ x3, y3 ], r0, -rc0, cw), t21 = d3_svg_arcCornerTangents([ x2, y2 ], x1 == null ? [ x0, y0 ] : [ x1, y1 ], r0, -rc0, cw); - if (rc === rc0) { - path.push("L", t21[0], "A", rc0, ",", rc0, " 0 0,", cr, " ", t21[1], "A", r0, ",", r0, " 0 ", cw ^ d3_svg_arcSweep(t21[1][0], t21[1][1], t03[1][0], t03[1][1]), ",", 1 - cw, " ", t03[1], "A", rc0, ",", rc0, " 0 0,", cr, " ", t03[0]); - } else { - path.push("L", t21[0], "A", rc0, ",", rc0, " 0 0,", cr, " ", t03[0]); - } - } else { - path.push("L", x2, ",", y2); - } - } else { - path.push("M", x0, ",", y0); - if (x1 != null) path.push("A", r1, ",", r1, " 0 ", l1, ",", cw, " ", x1, ",", y1); - path.push("L", x2, ",", y2); - if (x3 != null) path.push("A", r0, ",", r0, " 0 ", l0, ",", 1 - cw, " ", x3, ",", y3); - } - path.push("Z"); - return path.join(""); - } - function circleSegment(r1, cw) { - return "M0," + r1 + "A" + r1 + "," + r1 + " 0 1," + cw + " 0," + -r1 + "A" + r1 + "," + r1 + " 0 1," + cw + " 0," + r1; - } - arc.innerRadius = function(v) { - if (!arguments.length) return innerRadius; - innerRadius = d3_functor(v); - return arc; - }; - arc.outerRadius = function(v) { - if (!arguments.length) return outerRadius; - outerRadius = d3_functor(v); - return arc; - }; - arc.cornerRadius = function(v) { - if (!arguments.length) return cornerRadius; - cornerRadius = d3_functor(v); - return arc; - }; - arc.padRadius = function(v) { - if (!arguments.length) return padRadius; - padRadius = v == d3_svg_arcAuto ? d3_svg_arcAuto : d3_functor(v); - return arc; - }; - arc.startAngle = function(v) { - if (!arguments.length) return startAngle; - startAngle = d3_functor(v); - return arc; - }; - arc.endAngle = function(v) { - if (!arguments.length) return endAngle; - endAngle = d3_functor(v); - return arc; - }; - arc.padAngle = function(v) { - if (!arguments.length) return padAngle; - padAngle = d3_functor(v); - return arc; - }; - arc.centroid = function() { - var r = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2, a = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - halfπ; - return [ Math.cos(a) * r, Math.sin(a) * r ]; - }; - return arc; - }; - var d3_svg_arcAuto = "auto"; - function d3_svg_arcInnerRadius(d) { - return d.innerRadius; - } - function d3_svg_arcOuterRadius(d) { - return d.outerRadius; - } - function d3_svg_arcStartAngle(d) { - return d.startAngle; - } - function d3_svg_arcEndAngle(d) { - return d.endAngle; - } - function d3_svg_arcPadAngle(d) { - return d && d.padAngle; - } - function d3_svg_arcSweep(x0, y0, x1, y1) { - return (x0 - x1) * y0 - (y0 - y1) * x0 > 0 ? 0 : 1; - } - function d3_svg_arcCornerTangents(p0, p1, r1, rc, cw) { - var x01 = p0[0] - p1[0], y01 = p0[1] - p1[1], lo = (cw ? rc : -rc) / Math.sqrt(x01 * x01 + y01 * y01), ox = lo * y01, oy = -lo * x01, x1 = p0[0] + ox, y1 = p0[1] + oy, x2 = p1[0] + ox, y2 = p1[1] + oy, x3 = (x1 + x2) / 2, y3 = (y1 + y2) / 2, dx = x2 - x1, dy = y2 - y1, d2 = dx * dx + dy * dy, r = r1 - rc, D = x1 * y2 - x2 * y1, d = (dy < 0 ? -1 : 1) * Math.sqrt(r * r * d2 - D * D), cx0 = (D * dy - dx * d) / d2, cy0 = (-D * dx - dy * d) / d2, cx1 = (D * dy + dx * d) / d2, cy1 = (-D * dx + dy * d) / d2, dx0 = cx0 - x3, dy0 = cy0 - y3, dx1 = cx1 - x3, dy1 = cy1 - y3; - if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) cx0 = cx1, cy0 = cy1; - return [ [ cx0 - ox, cy0 - oy ], [ cx0 * r1 / r, cy0 * r1 / r ] ]; - } - function d3_svg_line(projection) { - var x = d3_geom_pointX, y = d3_geom_pointY, defined = d3_true, interpolate = d3_svg_lineLinear, interpolateKey = interpolate.key, tension = .7; - function line(data) { - var segments = [], points = [], i = -1, n = data.length, d, fx = d3_functor(x), fy = d3_functor(y); - function segment() { - segments.push("M", interpolate(projection(points), tension)); - } - while (++i < n) { - if (defined.call(this, d = data[i], i)) { - points.push([ +fx.call(this, d, i), +fy.call(this, d, i) ]); - } else if (points.length) { - segment(); - points = []; - } - } - if (points.length) segment(); - return segments.length ? segments.join("") : null; - } - line.x = function(_) { - if (!arguments.length) return x; - x = _; - return line; - }; - line.y = function(_) { - if (!arguments.length) return y; - y = _; - return line; - }; - line.defined = function(_) { - if (!arguments.length) return defined; - defined = _; - return line; - }; - line.interpolate = function(_) { - if (!arguments.length) return interpolateKey; - if (typeof _ === "function") interpolateKey = interpolate = _; else interpolateKey = (interpolate = d3_svg_lineInterpolators.get(_) || d3_svg_lineLinear).key; - return line; - }; - line.tension = function(_) { - if (!arguments.length) return tension; - tension = _; - return line; - }; - return line; - } - d3.svg.line = function() { - return d3_svg_line(d3_identity); - }; - var d3_svg_lineInterpolators = d3.map({ - linear: d3_svg_lineLinear, - "linear-closed": d3_svg_lineLinearClosed, - step: d3_svg_lineStep, - "step-before": d3_svg_lineStepBefore, - "step-after": d3_svg_lineStepAfter, - basis: d3_svg_lineBasis, - "basis-open": d3_svg_lineBasisOpen, - "basis-closed": d3_svg_lineBasisClosed, - bundle: d3_svg_lineBundle, - cardinal: d3_svg_lineCardinal, - "cardinal-open": d3_svg_lineCardinalOpen, - "cardinal-closed": d3_svg_lineCardinalClosed, - monotone: d3_svg_lineMonotone - }); - d3_svg_lineInterpolators.forEach(function(key, value) { - value.key = key; - value.closed = /-closed$/.test(key); - }); - function d3_svg_lineLinear(points) { - return points.join("L"); - } - function d3_svg_lineLinearClosed(points) { - return d3_svg_lineLinear(points) + "Z"; - } - function d3_svg_lineStep(points) { - var i = 0, n = points.length, p = points[0], path = [ p[0], ",", p[1] ]; - while (++i < n) path.push("H", (p[0] + (p = points[i])[0]) / 2, "V", p[1]); - if (n > 1) path.push("H", p[0]); - return path.join(""); - } - function d3_svg_lineStepBefore(points) { - var i = 0, n = points.length, p = points[0], path = [ p[0], ",", p[1] ]; - while (++i < n) path.push("V", (p = points[i])[1], "H", p[0]); - return path.join(""); - } - function d3_svg_lineStepAfter(points) { - var i = 0, n = points.length, p = points[0], path = [ p[0], ",", p[1] ]; - while (++i < n) path.push("H", (p = points[i])[0], "V", p[1]); - return path.join(""); - } - function d3_svg_lineCardinalOpen(points, tension) { - return points.length < 4 ? d3_svg_lineLinear(points) : points[1] + d3_svg_lineHermite(points.slice(1, -1), d3_svg_lineCardinalTangents(points, tension)); - } - function d3_svg_lineCardinalClosed(points, tension) { - return points.length < 3 ? d3_svg_lineLinear(points) : points[0] + d3_svg_lineHermite((points.push(points[0]), - points), d3_svg_lineCardinalTangents([ points[points.length - 2] ].concat(points, [ points[1] ]), tension)); - } - function d3_svg_lineCardinal(points, tension) { - return points.length < 3 ? d3_svg_lineLinear(points) : points[0] + d3_svg_lineHermite(points, d3_svg_lineCardinalTangents(points, tension)); - } - function d3_svg_lineHermite(points, tangents) { - if (tangents.length < 1 || points.length != tangents.length && points.length != tangents.length + 2) { - return d3_svg_lineLinear(points); - } - var quad = points.length != tangents.length, path = "", p0 = points[0], p = points[1], t0 = tangents[0], t = t0, pi = 1; - if (quad) { - path += "Q" + (p[0] - t0[0] * 2 / 3) + "," + (p[1] - t0[1] * 2 / 3) + "," + p[0] + "," + p[1]; - p0 = points[1]; - pi = 2; - } - if (tangents.length > 1) { - t = tangents[1]; - p = points[pi]; - pi++; - path += "C" + (p0[0] + t0[0]) + "," + (p0[1] + t0[1]) + "," + (p[0] - t[0]) + "," + (p[1] - t[1]) + "," + p[0] + "," + p[1]; - for (var i = 2; i < tangents.length; i++, pi++) { - p = points[pi]; - t = tangents[i]; - path += "S" + (p[0] - t[0]) + "," + (p[1] - t[1]) + "," + p[0] + "," + p[1]; - } - } - if (quad) { - var lp = points[pi]; - path += "Q" + (p[0] + t[0] * 2 / 3) + "," + (p[1] + t[1] * 2 / 3) + "," + lp[0] + "," + lp[1]; - } - return path; - } - function d3_svg_lineCardinalTangents(points, tension) { - var tangents = [], a = (1 - tension) / 2, p0, p1 = points[0], p2 = points[1], i = 1, n = points.length; - while (++i < n) { - p0 = p1; - p1 = p2; - p2 = points[i]; - tangents.push([ a * (p2[0] - p0[0]), a * (p2[1] - p0[1]) ]); - } - return tangents; - } - function d3_svg_lineBasis(points) { - if (points.length < 3) return d3_svg_lineLinear(points); - var i = 1, n = points.length, pi = points[0], x0 = pi[0], y0 = pi[1], px = [ x0, x0, x0, (pi = points[1])[0] ], py = [ y0, y0, y0, pi[1] ], path = [ x0, ",", y0, "L", d3_svg_lineDot4(d3_svg_lineBasisBezier3, px), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier3, py) ]; - points.push(points[n - 1]); - while (++i <= n) { - pi = points[i]; - px.shift(); - px.push(pi[0]); - py.shift(); - py.push(pi[1]); - d3_svg_lineBasisBezier(path, px, py); - } - points.pop(); - path.push("L", pi); - return path.join(""); - } - function d3_svg_lineBasisOpen(points) { - if (points.length < 4) return d3_svg_lineLinear(points); - var path = [], i = -1, n = points.length, pi, px = [ 0 ], py = [ 0 ]; - while (++i < 3) { - pi = points[i]; - px.push(pi[0]); - py.push(pi[1]); - } - path.push(d3_svg_lineDot4(d3_svg_lineBasisBezier3, px) + "," + d3_svg_lineDot4(d3_svg_lineBasisBezier3, py)); - --i; - while (++i < n) { - pi = points[i]; - px.shift(); - px.push(pi[0]); - py.shift(); - py.push(pi[1]); - d3_svg_lineBasisBezier(path, px, py); - } - return path.join(""); - } - function d3_svg_lineBasisClosed(points) { - var path, i = -1, n = points.length, m = n + 4, pi, px = [], py = []; - while (++i < 4) { - pi = points[i % n]; - px.push(pi[0]); - py.push(pi[1]); - } - path = [ d3_svg_lineDot4(d3_svg_lineBasisBezier3, px), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier3, py) ]; - --i; - while (++i < m) { - pi = points[i % n]; - px.shift(); - px.push(pi[0]); - py.shift(); - py.push(pi[1]); - d3_svg_lineBasisBezier(path, px, py); - } - return path.join(""); - } - function d3_svg_lineBundle(points, tension) { - var n = points.length - 1; - if (n) { - var x0 = points[0][0], y0 = points[0][1], dx = points[n][0] - x0, dy = points[n][1] - y0, i = -1, p, t; - while (++i <= n) { - p = points[i]; - t = i / n; - p[0] = tension * p[0] + (1 - tension) * (x0 + t * dx); - p[1] = tension * p[1] + (1 - tension) * (y0 + t * dy); - } - } - return d3_svg_lineBasis(points); - } - function d3_svg_lineDot4(a, b) { - return a[0] * b[0] + a[1] * b[1] + a[2] * b[2] + a[3] * b[3]; - } - var d3_svg_lineBasisBezier1 = [ 0, 2 / 3, 1 / 3, 0 ], d3_svg_lineBasisBezier2 = [ 0, 1 / 3, 2 / 3, 0 ], d3_svg_lineBasisBezier3 = [ 0, 1 / 6, 2 / 3, 1 / 6 ]; - function d3_svg_lineBasisBezier(path, x, y) { - path.push("C", d3_svg_lineDot4(d3_svg_lineBasisBezier1, x), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier1, y), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier2, x), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier2, y), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier3, x), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier3, y)); - } - function d3_svg_lineSlope(p0, p1) { - return (p1[1] - p0[1]) / (p1[0] - p0[0]); - } - function d3_svg_lineFiniteDifferences(points) { - var i = 0, j = points.length - 1, m = [], p0 = points[0], p1 = points[1], d = m[0] = d3_svg_lineSlope(p0, p1); - while (++i < j) { - m[i] = (d + (d = d3_svg_lineSlope(p0 = p1, p1 = points[i + 1]))) / 2; - } - m[i] = d; - return m; - } - function d3_svg_lineMonotoneTangents(points) { - var tangents = [], d, a, b, s, m = d3_svg_lineFiniteDifferences(points), i = -1, j = points.length - 1; - while (++i < j) { - d = d3_svg_lineSlope(points[i], points[i + 1]); - if (abs(d) < ε) { - m[i] = m[i + 1] = 0; - } else { - a = m[i] / d; - b = m[i + 1] / d; - s = a * a + b * b; - if (s > 9) { - s = d * 3 / Math.sqrt(s); - m[i] = s * a; - m[i + 1] = s * b; - } - } - } - i = -1; - while (++i <= j) { - s = (points[Math.min(j, i + 1)][0] - points[Math.max(0, i - 1)][0]) / (6 * (1 + m[i] * m[i])); - tangents.push([ s || 0, m[i] * s || 0 ]); - } - return tangents; - } - function d3_svg_lineMonotone(points) { - return points.length < 3 ? d3_svg_lineLinear(points) : points[0] + d3_svg_lineHermite(points, d3_svg_lineMonotoneTangents(points)); - } - d3.svg.line.radial = function() { - var line = d3_svg_line(d3_svg_lineRadial); - line.radius = line.x, delete line.x; - line.angle = line.y, delete line.y; - return line; - }; - function d3_svg_lineRadial(points) { - var point, i = -1, n = points.length, r, a; - while (++i < n) { - point = points[i]; - r = point[0]; - a = point[1] - halfπ; - point[0] = r * Math.cos(a); - point[1] = r * Math.sin(a); - } - return points; - } - function d3_svg_area(projection) { - var x0 = d3_geom_pointX, x1 = d3_geom_pointX, y0 = 0, y1 = d3_geom_pointY, defined = d3_true, interpolate = d3_svg_lineLinear, interpolateKey = interpolate.key, interpolateReverse = interpolate, L = "L", tension = .7; - function area(data) { - var segments = [], points0 = [], points1 = [], i = -1, n = data.length, d, fx0 = d3_functor(x0), fy0 = d3_functor(y0), fx1 = x0 === x1 ? function() { - return x; - } : d3_functor(x1), fy1 = y0 === y1 ? function() { - return y; - } : d3_functor(y1), x, y; - function segment() { - segments.push("M", interpolate(projection(points1), tension), L, interpolateReverse(projection(points0.reverse()), tension), "Z"); - } - while (++i < n) { - if (defined.call(this, d = data[i], i)) { - points0.push([ x = +fx0.call(this, d, i), y = +fy0.call(this, d, i) ]); - points1.push([ +fx1.call(this, d, i), +fy1.call(this, d, i) ]); - } else if (points0.length) { - segment(); - points0 = []; - points1 = []; - } - } - if (points0.length) segment(); - return segments.length ? segments.join("") : null; - } - area.x = function(_) { - if (!arguments.length) return x1; - x0 = x1 = _; - return area; - }; - area.x0 = function(_) { - if (!arguments.length) return x0; - x0 = _; - return area; - }; - area.x1 = function(_) { - if (!arguments.length) return x1; - x1 = _; - return area; - }; - area.y = function(_) { - if (!arguments.length) return y1; - y0 = y1 = _; - return area; - }; - area.y0 = function(_) { - if (!arguments.length) return y0; - y0 = _; - return area; - }; - area.y1 = function(_) { - if (!arguments.length) return y1; - y1 = _; - return area; - }; - area.defined = function(_) { - if (!arguments.length) return defined; - defined = _; - return area; - }; - area.interpolate = function(_) { - if (!arguments.length) return interpolateKey; - if (typeof _ === "function") interpolateKey = interpolate = _; else interpolateKey = (interpolate = d3_svg_lineInterpolators.get(_) || d3_svg_lineLinear).key; - interpolateReverse = interpolate.reverse || interpolate; - L = interpolate.closed ? "M" : "L"; - return area; - }; - area.tension = function(_) { - if (!arguments.length) return tension; - tension = _; - return area; - }; - return area; - } - d3_svg_lineStepBefore.reverse = d3_svg_lineStepAfter; - d3_svg_lineStepAfter.reverse = d3_svg_lineStepBefore; - d3.svg.area = function() { - return d3_svg_area(d3_identity); - }; - d3.svg.area.radial = function() { - var area = d3_svg_area(d3_svg_lineRadial); - area.radius = area.x, delete area.x; - area.innerRadius = area.x0, delete area.x0; - area.outerRadius = area.x1, delete area.x1; - area.angle = area.y, delete area.y; - area.startAngle = area.y0, delete area.y0; - area.endAngle = area.y1, delete area.y1; - return area; - }; - d3.svg.chord = function() { - var source = d3_source, target = d3_target, radius = d3_svg_chordRadius, startAngle = d3_svg_arcStartAngle, endAngle = d3_svg_arcEndAngle; - function chord(d, i) { - var s = subgroup(this, source, d, i), t = subgroup(this, target, d, i); - return "M" + s.p0 + arc(s.r, s.p1, s.a1 - s.a0) + (equals(s, t) ? curve(s.r, s.p1, s.r, s.p0) : curve(s.r, s.p1, t.r, t.p0) + arc(t.r, t.p1, t.a1 - t.a0) + curve(t.r, t.p1, s.r, s.p0)) + "Z"; - } - function subgroup(self, f, d, i) { - var subgroup = f.call(self, d, i), r = radius.call(self, subgroup, i), a0 = startAngle.call(self, subgroup, i) - halfπ, a1 = endAngle.call(self, subgroup, i) - halfπ; - return { - r: r, - a0: a0, - a1: a1, - p0: [ r * Math.cos(a0), r * Math.sin(a0) ], - p1: [ r * Math.cos(a1), r * Math.sin(a1) ] - }; - } - function equals(a, b) { - return a.a0 == b.a0 && a.a1 == b.a1; - } - function arc(r, p, a) { - return "A" + r + "," + r + " 0 " + +(a > π) + ",1 " + p; - } - function curve(r0, p0, r1, p1) { - return "Q 0,0 " + p1; - } - chord.radius = function(v) { - if (!arguments.length) return radius; - radius = d3_functor(v); - return chord; - }; - chord.source = function(v) { - if (!arguments.length) return source; - source = d3_functor(v); - return chord; - }; - chord.target = function(v) { - if (!arguments.length) return target; - target = d3_functor(v); - return chord; - }; - chord.startAngle = function(v) { - if (!arguments.length) return startAngle; - startAngle = d3_functor(v); - return chord; - }; - chord.endAngle = function(v) { - if (!arguments.length) return endAngle; - endAngle = d3_functor(v); - return chord; - }; - return chord; - }; - function d3_svg_chordRadius(d) { - return d.radius; - } - d3.svg.diagonal = function() { - var source = d3_source, target = d3_target, projection = d3_svg_diagonalProjection; - function diagonal(d, i) { - var p0 = source.call(this, d, i), p3 = target.call(this, d, i), m = (p0.y + p3.y) / 2, p = [ p0, { - x: p0.x, - y: m - }, { - x: p3.x, - y: m - }, p3 ]; - p = p.map(projection); - return "M" + p[0] + "C" + p[1] + " " + p[2] + " " + p[3]; - } - diagonal.source = function(x) { - if (!arguments.length) return source; - source = d3_functor(x); - return diagonal; - }; - diagonal.target = function(x) { - if (!arguments.length) return target; - target = d3_functor(x); - return diagonal; - }; - diagonal.projection = function(x) { - if (!arguments.length) return projection; - projection = x; - return diagonal; - }; - return diagonal; - }; - function d3_svg_diagonalProjection(d) { - return [ d.x, d.y ]; - } - d3.svg.diagonal.radial = function() { - var diagonal = d3.svg.diagonal(), projection = d3_svg_diagonalProjection, projection_ = diagonal.projection; - diagonal.projection = function(x) { - return arguments.length ? projection_(d3_svg_diagonalRadialProjection(projection = x)) : projection; - }; - return diagonal; - }; - function d3_svg_diagonalRadialProjection(projection) { - return function() { - var d = projection.apply(this, arguments), r = d[0], a = d[1] - halfπ; - return [ r * Math.cos(a), r * Math.sin(a) ]; - }; - } - d3.svg.symbol = function() { - var type = d3_svg_symbolType, size = d3_svg_symbolSize; - function symbol(d, i) { - return (d3_svg_symbols.get(type.call(this, d, i)) || d3_svg_symbolCircle)(size.call(this, d, i)); - } - symbol.type = function(x) { - if (!arguments.length) return type; - type = d3_functor(x); - return symbol; - }; - symbol.size = function(x) { - if (!arguments.length) return size; - size = d3_functor(x); - return symbol; - }; - return symbol; - }; - function d3_svg_symbolSize() { - return 64; - } - function d3_svg_symbolType() { - return "circle"; - } - function d3_svg_symbolCircle(size) { - var r = Math.sqrt(size / π); - return "M0," + r + "A" + r + "," + r + " 0 1,1 0," + -r + "A" + r + "," + r + " 0 1,1 0," + r + "Z"; - } - var d3_svg_symbols = d3.map({ - circle: d3_svg_symbolCircle, - cross: function(size) { - var r = Math.sqrt(size / 5) / 2; - return "M" + -3 * r + "," + -r + "H" + -r + "V" + -3 * r + "H" + r + "V" + -r + "H" + 3 * r + "V" + r + "H" + r + "V" + 3 * r + "H" + -r + "V" + r + "H" + -3 * r + "Z"; - }, - diamond: function(size) { - var ry = Math.sqrt(size / (2 * d3_svg_symbolTan30)), rx = ry * d3_svg_symbolTan30; - return "M0," + -ry + "L" + rx + ",0" + " 0," + ry + " " + -rx + ",0" + "Z"; - }, - square: function(size) { - var r = Math.sqrt(size) / 2; - return "M" + -r + "," + -r + "L" + r + "," + -r + " " + r + "," + r + " " + -r + "," + r + "Z"; - }, - "triangle-down": function(size) { - var rx = Math.sqrt(size / d3_svg_symbolSqrt3), ry = rx * d3_svg_symbolSqrt3 / 2; - return "M0," + ry + "L" + rx + "," + -ry + " " + -rx + "," + -ry + "Z"; - }, - "triangle-up": function(size) { - var rx = Math.sqrt(size / d3_svg_symbolSqrt3), ry = rx * d3_svg_symbolSqrt3 / 2; - return "M0," + -ry + "L" + rx + "," + ry + " " + -rx + "," + ry + "Z"; - } - }); - d3.svg.symbolTypes = d3_svg_symbols.keys(); - var d3_svg_symbolSqrt3 = Math.sqrt(3), d3_svg_symbolTan30 = Math.tan(30 * d3_radians); - d3_selectionPrototype.transition = function(name) { - var id = d3_transitionInheritId || ++d3_transitionId, ns = d3_transitionNamespace(name), subgroups = [], subgroup, node, transition = d3_transitionInherit || { - time: Date.now(), - ease: d3_ease_cubicInOut, - delay: 0, - duration: 250 - }; - for (var j = -1, m = this.length; ++j < m; ) { - subgroups.push(subgroup = []); - for (var group = this[j], i = -1, n = group.length; ++i < n; ) { - if (node = group[i]) d3_transitionNode(node, i, ns, id, transition); - subgroup.push(node); - } - } - return d3_transition(subgroups, ns, id); - }; - d3_selectionPrototype.interrupt = function(name) { - return this.each(name == null ? d3_selection_interrupt : d3_selection_interruptNS(d3_transitionNamespace(name))); - }; - var d3_selection_interrupt = d3_selection_interruptNS(d3_transitionNamespace()); - function d3_selection_interruptNS(ns) { - return function() { - var lock, active; - if ((lock = this[ns]) && (active = lock[lock.active])) { - if (--lock.count) { - delete lock[lock.active]; - lock.active += .5; - } else { - delete this[ns]; - } - active.event && active.event.interrupt.call(this, this.__data__, active.index); - } - }; - } - function d3_transition(groups, ns, id) { - d3_subclass(groups, d3_transitionPrototype); - groups.namespace = ns; - groups.id = id; - return groups; - } - var d3_transitionPrototype = [], d3_transitionId = 0, d3_transitionInheritId, d3_transitionInherit; - d3_transitionPrototype.call = d3_selectionPrototype.call; - d3_transitionPrototype.empty = d3_selectionPrototype.empty; - d3_transitionPrototype.node = d3_selectionPrototype.node; - d3_transitionPrototype.size = d3_selectionPrototype.size; - d3.transition = function(selection, name) { - return selection && selection.transition ? d3_transitionInheritId ? selection.transition(name) : selection : d3_selectionRoot.transition(selection); - }; - d3.transition.prototype = d3_transitionPrototype; - d3_transitionPrototype.select = function(selector) { - var id = this.id, ns = this.namespace, subgroups = [], subgroup, subnode, node; - selector = d3_selection_selector(selector); - for (var j = -1, m = this.length; ++j < m; ) { - subgroups.push(subgroup = []); - for (var group = this[j], i = -1, n = group.length; ++i < n; ) { - if ((node = group[i]) && (subnode = selector.call(node, node.__data__, i, j))) { - if ("__data__" in node) subnode.__data__ = node.__data__; - d3_transitionNode(subnode, i, ns, id, node[ns][id]); - subgroup.push(subnode); - } else { - subgroup.push(null); - } - } - } - return d3_transition(subgroups, ns, id); - }; - d3_transitionPrototype.selectAll = function(selector) { - var id = this.id, ns = this.namespace, subgroups = [], subgroup, subnodes, node, subnode, transition; - selector = d3_selection_selectorAll(selector); - for (var j = -1, m = this.length; ++j < m; ) { - for (var group = this[j], i = -1, n = group.length; ++i < n; ) { - if (node = group[i]) { - transition = node[ns][id]; - subnodes = selector.call(node, node.__data__, i, j); - subgroups.push(subgroup = []); - for (var k = -1, o = subnodes.length; ++k < o; ) { - if (subnode = subnodes[k]) d3_transitionNode(subnode, k, ns, id, transition); - subgroup.push(subnode); - } - } - } - } - return d3_transition(subgroups, ns, id); - }; - d3_transitionPrototype.filter = function(filter) { - var subgroups = [], subgroup, group, node; - if (typeof filter !== "function") filter = d3_selection_filter(filter); - for (var j = 0, m = this.length; j < m; j++) { - subgroups.push(subgroup = []); - for (var group = this[j], i = 0, n = group.length; i < n; i++) { - if ((node = group[i]) && filter.call(node, node.__data__, i, j)) { - subgroup.push(node); - } - } - } - return d3_transition(subgroups, this.namespace, this.id); - }; - d3_transitionPrototype.tween = function(name, tween) { - var id = this.id, ns = this.namespace; - if (arguments.length < 2) return this.node()[ns][id].tween.get(name); - return d3_selection_each(this, tween == null ? function(node) { - node[ns][id].tween.remove(name); - } : function(node) { - node[ns][id].tween.set(name, tween); - }); - }; - function d3_transition_tween(groups, name, value, tween) { - var id = groups.id, ns = groups.namespace; - return d3_selection_each(groups, typeof value === "function" ? function(node, i, j) { - node[ns][id].tween.set(name, tween(value.call(node, node.__data__, i, j))); - } : (value = tween(value), function(node) { - node[ns][id].tween.set(name, value); - })); - } - d3_transitionPrototype.attr = function(nameNS, value) { - if (arguments.length < 2) { - for (value in nameNS) this.attr(value, nameNS[value]); - return this; - } - var interpolate = nameNS == "transform" ? d3_interpolateTransform : d3_interpolate, name = d3.ns.qualify(nameNS); - function attrNull() { - this.removeAttribute(name); - } - function attrNullNS() { - this.removeAttributeNS(name.space, name.local); - } - function attrTween(b) { - return b == null ? attrNull : (b += "", function() { - var a = this.getAttribute(name), i; - return a !== b && (i = interpolate(a, b), function(t) { - this.setAttribute(name, i(t)); - }); - }); - } - function attrTweenNS(b) { - return b == null ? attrNullNS : (b += "", function() { - var a = this.getAttributeNS(name.space, name.local), i; - return a !== b && (i = interpolate(a, b), function(t) { - this.setAttributeNS(name.space, name.local, i(t)); - }); - }); - } - return d3_transition_tween(this, "attr." + nameNS, value, name.local ? attrTweenNS : attrTween); - }; - d3_transitionPrototype.attrTween = function(nameNS, tween) { - var name = d3.ns.qualify(nameNS); - function attrTween(d, i) { - var f = tween.call(this, d, i, this.getAttribute(name)); - return f && function(t) { - this.setAttribute(name, f(t)); - }; - } - function attrTweenNS(d, i) { - var f = tween.call(this, d, i, this.getAttributeNS(name.space, name.local)); - return f && function(t) { - this.setAttributeNS(name.space, name.local, f(t)); - }; - } - return this.tween("attr." + nameNS, name.local ? attrTweenNS : attrTween); - }; - d3_transitionPrototype.style = function(name, value, priority) { - var n = arguments.length; - if (n < 3) { - if (typeof name !== "string") { - if (n < 2) value = ""; - for (priority in name) this.style(priority, name[priority], value); - return this; - } - priority = ""; - } - function styleNull() { - this.style.removeProperty(name); - } - function styleString(b) { - return b == null ? styleNull : (b += "", function() { - var a = d3_window.getComputedStyle(this, null).getPropertyValue(name), i; - return a !== b && (i = d3_interpolate(a, b), function(t) { - this.style.setProperty(name, i(t), priority); - }); - }); - } - return d3_transition_tween(this, "style." + name, value, styleString); - }; - d3_transitionPrototype.styleTween = function(name, tween, priority) { - if (arguments.length < 3) priority = ""; - function styleTween(d, i) { - var f = tween.call(this, d, i, d3_window.getComputedStyle(this, null).getPropertyValue(name)); - return f && function(t) { - this.style.setProperty(name, f(t), priority); - }; - } - return this.tween("style." + name, styleTween); - }; - d3_transitionPrototype.text = function(value) { - return d3_transition_tween(this, "text", value, d3_transition_text); - }; - function d3_transition_text(b) { - if (b == null) b = ""; - return function() { - this.textContent = b; - }; - } - d3_transitionPrototype.remove = function() { - var ns = this.namespace; - return this.each("end.transition", function() { - var p; - if (this[ns].count < 2 && (p = this.parentNode)) p.removeChild(this); - }); - }; - d3_transitionPrototype.ease = function(value) { - var id = this.id, ns = this.namespace; - if (arguments.length < 1) return this.node()[ns][id].ease; - if (typeof value !== "function") value = d3.ease.apply(d3, arguments); - return d3_selection_each(this, function(node) { - node[ns][id].ease = value; - }); - }; - d3_transitionPrototype.delay = function(value) { - var id = this.id, ns = this.namespace; - if (arguments.length < 1) return this.node()[ns][id].delay; - return d3_selection_each(this, typeof value === "function" ? function(node, i, j) { - node[ns][id].delay = +value.call(node, node.__data__, i, j); - } : (value = +value, function(node) { - node[ns][id].delay = value; - })); - }; - d3_transitionPrototype.duration = function(value) { - var id = this.id, ns = this.namespace; - if (arguments.length < 1) return this.node()[ns][id].duration; - return d3_selection_each(this, typeof value === "function" ? function(node, i, j) { - node[ns][id].duration = Math.max(1, value.call(node, node.__data__, i, j)); - } : (value = Math.max(1, value), function(node) { - node[ns][id].duration = value; - })); - }; - d3_transitionPrototype.each = function(type, listener) { - var id = this.id, ns = this.namespace; - if (arguments.length < 2) { - var inherit = d3_transitionInherit, inheritId = d3_transitionInheritId; - try { - d3_transitionInheritId = id; - d3_selection_each(this, function(node, i, j) { - d3_transitionInherit = node[ns][id]; - type.call(node, node.__data__, i, j); - }); - } finally { - d3_transitionInherit = inherit; - d3_transitionInheritId = inheritId; - } - } else { - d3_selection_each(this, function(node) { - var transition = node[ns][id]; - (transition.event || (transition.event = d3.dispatch("start", "end", "interrupt"))).on(type, listener); - }); - } - return this; - }; - d3_transitionPrototype.transition = function() { - var id0 = this.id, id1 = ++d3_transitionId, ns = this.namespace, subgroups = [], subgroup, group, node, transition; - for (var j = 0, m = this.length; j < m; j++) { - subgroups.push(subgroup = []); - for (var group = this[j], i = 0, n = group.length; i < n; i++) { - if (node = group[i]) { - transition = node[ns][id0]; - d3_transitionNode(node, i, ns, id1, { - time: transition.time, - ease: transition.ease, - delay: transition.delay + transition.duration, - duration: transition.duration - }); - } - subgroup.push(node); - } - } - return d3_transition(subgroups, ns, id1); - }; - function d3_transitionNamespace(name) { - return name == null ? "__transition__" : "__transition_" + name + "__"; - } - function d3_transitionNode(node, i, ns, id, inherit) { - var lock = node[ns] || (node[ns] = { - active: 0, - count: 0 - }), transition = lock[id]; - if (!transition) { - var time = inherit.time; - transition = lock[id] = { - tween: new d3_Map(), - time: time, - delay: inherit.delay, - duration: inherit.duration, - ease: inherit.ease, - index: i - }; - inherit = null; - ++lock.count; - d3.timer(function(elapsed) { - var delay = transition.delay, duration, ease, timer = d3_timer_active, tweened = []; - timer.t = delay + time; - if (delay <= elapsed) return start(elapsed - delay); - timer.c = start; - function start(elapsed) { - if (lock.active > id) return stop(); - var active = lock[lock.active]; - if (active) { - --lock.count; - delete lock[lock.active]; - active.event && active.event.interrupt.call(node, node.__data__, active.index); - } - lock.active = id; - transition.event && transition.event.start.call(node, node.__data__, i); - transition.tween.forEach(function(key, value) { - if (value = value.call(node, node.__data__, i)) { - tweened.push(value); - } - }); - ease = transition.ease; - duration = transition.duration; - d3.timer(function() { - timer.c = tick(elapsed || 1) ? d3_true : tick; - return 1; - }, 0, time); - } - function tick(elapsed) { - if (lock.active !== id) return 1; - var t = elapsed / duration, e = ease(t), n = tweened.length; - while (n > 0) { - tweened[--n].call(node, e); - } - if (t >= 1) { - transition.event && transition.event.end.call(node, node.__data__, i); - return stop(); - } - } - function stop() { - if (--lock.count) delete lock[id]; else delete node[ns]; - return 1; - } - }, 0, time); - } - } - d3.svg.axis = function() { - var scale = d3.scale.linear(), orient = d3_svg_axisDefaultOrient, innerTickSize = 6, outerTickSize = 6, tickPadding = 3, tickArguments_ = [ 10 ], tickValues = null, tickFormat_; - function axis(g) { - g.each(function() { - var g = d3.select(this); - var scale0 = this.__chart__ || scale, scale1 = this.__chart__ = scale.copy(); - var ticks = tickValues == null ? scale1.ticks ? scale1.ticks.apply(scale1, tickArguments_) : scale1.domain() : tickValues, tickFormat = tickFormat_ == null ? scale1.tickFormat ? scale1.tickFormat.apply(scale1, tickArguments_) : d3_identity : tickFormat_, tick = g.selectAll(".tick").data(ticks, scale1), tickEnter = tick.enter().insert("g", ".domain").attr("class", "tick").style("opacity", ε), tickExit = d3.transition(tick.exit()).style("opacity", ε).remove(), tickUpdate = d3.transition(tick.order()).style("opacity", 1), tickSpacing = Math.max(innerTickSize, 0) + tickPadding, tickTransform; - var range = d3_scaleRange(scale1), path = g.selectAll(".domain").data([ 0 ]), pathUpdate = (path.enter().append("path").attr("class", "domain"), - d3.transition(path)); - tickEnter.append("line"); - tickEnter.append("text"); - var lineEnter = tickEnter.select("line"), lineUpdate = tickUpdate.select("line"), text = tick.select("text").text(tickFormat), textEnter = tickEnter.select("text"), textUpdate = tickUpdate.select("text"), sign = orient === "top" || orient === "left" ? -1 : 1, x1, x2, y1, y2; - if (orient === "bottom" || orient === "top") { - tickTransform = d3_svg_axisX, x1 = "x", y1 = "y", x2 = "x2", y2 = "y2"; - text.attr("dy", sign < 0 ? "0em" : ".71em").style("text-anchor", "middle"); - pathUpdate.attr("d", "M" + range[0] + "," + sign * outerTickSize + "V0H" + range[1] + "V" + sign * outerTickSize); - } else { - tickTransform = d3_svg_axisY, x1 = "y", y1 = "x", x2 = "y2", y2 = "x2"; - text.attr("dy", ".32em").style("text-anchor", sign < 0 ? "end" : "start"); - pathUpdate.attr("d", "M" + sign * outerTickSize + "," + range[0] + "H0V" + range[1] + "H" + sign * outerTickSize); - } - lineEnter.attr(y2, sign * innerTickSize); - textEnter.attr(y1, sign * tickSpacing); - lineUpdate.attr(x2, 0).attr(y2, sign * innerTickSize); - textUpdate.attr(x1, 0).attr(y1, sign * tickSpacing); - if (scale1.rangeBand) { - var x = scale1, dx = x.rangeBand() / 2; - scale0 = scale1 = function(d) { - return x(d) + dx; - }; - } else if (scale0.rangeBand) { - scale0 = scale1; - } else { - tickExit.call(tickTransform, scale1, scale0); - } - tickEnter.call(tickTransform, scale0, scale1); - tickUpdate.call(tickTransform, scale1, scale1); - }); - } - axis.scale = function(x) { - if (!arguments.length) return scale; - scale = x; - return axis; - }; - axis.orient = function(x) { - if (!arguments.length) return orient; - orient = x in d3_svg_axisOrients ? x + "" : d3_svg_axisDefaultOrient; - return axis; - }; - axis.ticks = function() { - if (!arguments.length) return tickArguments_; - tickArguments_ = arguments; - return axis; - }; - axis.tickValues = function(x) { - if (!arguments.length) return tickValues; - tickValues = x; - return axis; - }; - axis.tickFormat = function(x) { - if (!arguments.length) return tickFormat_; - tickFormat_ = x; - return axis; - }; - axis.tickSize = function(x) { - var n = arguments.length; - if (!n) return innerTickSize; - innerTickSize = +x; - outerTickSize = +arguments[n - 1]; - return axis; - }; - axis.innerTickSize = function(x) { - if (!arguments.length) return innerTickSize; - innerTickSize = +x; - return axis; - }; - axis.outerTickSize = function(x) { - if (!arguments.length) return outerTickSize; - outerTickSize = +x; - return axis; - }; - axis.tickPadding = function(x) { - if (!arguments.length) return tickPadding; - tickPadding = +x; - return axis; - }; - axis.tickSubdivide = function() { - return arguments.length && axis; - }; - return axis; - }; - var d3_svg_axisDefaultOrient = "bottom", d3_svg_axisOrients = { - top: 1, - right: 1, - bottom: 1, - left: 1 - }; - function d3_svg_axisX(selection, x0, x1) { - selection.attr("transform", function(d) { - var v0 = x0(d); - return "translate(" + (isFinite(v0) ? v0 : x1(d)) + ",0)"; - }); - } - function d3_svg_axisY(selection, y0, y1) { - selection.attr("transform", function(d) { - var v0 = y0(d); - return "translate(0," + (isFinite(v0) ? v0 : y1(d)) + ")"; - }); - } - d3.svg.brush = function() { - var event = d3_eventDispatch(brush, "brushstart", "brush", "brushend"), x = null, y = null, xExtent = [ 0, 0 ], yExtent = [ 0, 0 ], xExtentDomain, yExtentDomain, xClamp = true, yClamp = true, resizes = d3_svg_brushResizes[0]; - function brush(g) { - g.each(function() { - var g = d3.select(this).style("pointer-events", "all").style("-webkit-tap-highlight-color", "rgba(0,0,0,0)").on("mousedown.brush", brushstart).on("touchstart.brush", brushstart); - var background = g.selectAll(".background").data([ 0 ]); - background.enter().append("rect").attr("class", "background").style("visibility", "hidden").style("cursor", "crosshair"); - g.selectAll(".extent").data([ 0 ]).enter().append("rect").attr("class", "extent").style("cursor", "move"); - var resize = g.selectAll(".resize").data(resizes, d3_identity); - resize.exit().remove(); - resize.enter().append("g").attr("class", function(d) { - return "resize " + d; - }).style("cursor", function(d) { - return d3_svg_brushCursor[d]; - }).append("rect").attr("x", function(d) { - return /[ew]$/.test(d) ? -3 : null; - }).attr("y", function(d) { - return /^[ns]/.test(d) ? -3 : null; - }).attr("width", 6).attr("height", 6).style("visibility", "hidden"); - resize.style("display", brush.empty() ? "none" : null); - var gUpdate = d3.transition(g), backgroundUpdate = d3.transition(background), range; - if (x) { - range = d3_scaleRange(x); - backgroundUpdate.attr("x", range[0]).attr("width", range[1] - range[0]); - redrawX(gUpdate); - } - if (y) { - range = d3_scaleRange(y); - backgroundUpdate.attr("y", range[0]).attr("height", range[1] - range[0]); - redrawY(gUpdate); - } - redraw(gUpdate); - }); - } - brush.event = function(g) { - g.each(function() { - var event_ = event.of(this, arguments), extent1 = { - x: xExtent, - y: yExtent, - i: xExtentDomain, - j: yExtentDomain - }, extent0 = this.__chart__ || extent1; - this.__chart__ = extent1; - if (d3_transitionInheritId) { - d3.select(this).transition().each("start.brush", function() { - xExtentDomain = extent0.i; - yExtentDomain = extent0.j; - xExtent = extent0.x; - yExtent = extent0.y; - event_({ - type: "brushstart" - }); - }).tween("brush:brush", function() { - var xi = d3_interpolateArray(xExtent, extent1.x), yi = d3_interpolateArray(yExtent, extent1.y); - xExtentDomain = yExtentDomain = null; - return function(t) { - xExtent = extent1.x = xi(t); - yExtent = extent1.y = yi(t); - event_({ - type: "brush", - mode: "resize" - }); - }; - }).each("end.brush", function() { - xExtentDomain = extent1.i; - yExtentDomain = extent1.j; - event_({ - type: "brush", - mode: "resize" - }); - event_({ - type: "brushend" - }); - }); - } else { - event_({ - type: "brushstart" - }); - event_({ - type: "brush", - mode: "resize" - }); - event_({ - type: "brushend" - }); - } - }); - }; - function redraw(g) { - g.selectAll(".resize").attr("transform", function(d) { - return "translate(" + xExtent[+/e$/.test(d)] + "," + yExtent[+/^s/.test(d)] + ")"; - }); - } - function redrawX(g) { - g.select(".extent").attr("x", xExtent[0]); - g.selectAll(".extent,.n>rect,.s>rect").attr("width", xExtent[1] - xExtent[0]); - } - function redrawY(g) { - g.select(".extent").attr("y", yExtent[0]); - g.selectAll(".extent,.e>rect,.w>rect").attr("height", yExtent[1] - yExtent[0]); - } - function brushstart() { - var target = this, eventTarget = d3.select(d3.event.target), event_ = event.of(target, arguments), g = d3.select(target), resizing = eventTarget.datum(), resizingX = !/^(n|s)$/.test(resizing) && x, resizingY = !/^(e|w)$/.test(resizing) && y, dragging = eventTarget.classed("extent"), dragRestore = d3_event_dragSuppress(), center, origin = d3.mouse(target), offset; - var w = d3.select(d3_window).on("keydown.brush", keydown).on("keyup.brush", keyup); - if (d3.event.changedTouches) { - w.on("touchmove.brush", brushmove).on("touchend.brush", brushend); - } else { - w.on("mousemove.brush", brushmove).on("mouseup.brush", brushend); - } - g.interrupt().selectAll("*").interrupt(); - if (dragging) { - origin[0] = xExtent[0] - origin[0]; - origin[1] = yExtent[0] - origin[1]; - } else if (resizing) { - var ex = +/w$/.test(resizing), ey = +/^n/.test(resizing); - offset = [ xExtent[1 - ex] - origin[0], yExtent[1 - ey] - origin[1] ]; - origin[0] = xExtent[ex]; - origin[1] = yExtent[ey]; - } else if (d3.event.altKey) center = origin.slice(); - g.style("pointer-events", "none").selectAll(".resize").style("display", null); - d3.select("body").style("cursor", eventTarget.style("cursor")); - event_({ - type: "brushstart" - }); - brushmove(); - function keydown() { - if (d3.event.keyCode == 32) { - if (!dragging) { - center = null; - origin[0] -= xExtent[1]; - origin[1] -= yExtent[1]; - dragging = 2; - } - d3_eventPreventDefault(); - } - } - function keyup() { - if (d3.event.keyCode == 32 && dragging == 2) { - origin[0] += xExtent[1]; - origin[1] += yExtent[1]; - dragging = 0; - d3_eventPreventDefault(); - } - } - function brushmove() { - var point = d3.mouse(target), moved = false; - if (offset) { - point[0] += offset[0]; - point[1] += offset[1]; - } - if (!dragging) { - if (d3.event.altKey) { - if (!center) center = [ (xExtent[0] + xExtent[1]) / 2, (yExtent[0] + yExtent[1]) / 2 ]; - origin[0] = xExtent[+(point[0] < center[0])]; - origin[1] = yExtent[+(point[1] < center[1])]; - } else center = null; - } - if (resizingX && move1(point, x, 0)) { - redrawX(g); - moved = true; - } - if (resizingY && move1(point, y, 1)) { - redrawY(g); - moved = true; - } - if (moved) { - redraw(g); - event_({ - type: "brush", - mode: dragging ? "move" : "resize" - }); - } - } - function move1(point, scale, i) { - var range = d3_scaleRange(scale), r0 = range[0], r1 = range[1], position = origin[i], extent = i ? yExtent : xExtent, size = extent[1] - extent[0], min, max; - if (dragging) { - r0 -= position; - r1 -= size + position; - } - min = (i ? yClamp : xClamp) ? Math.max(r0, Math.min(r1, point[i])) : point[i]; - if (dragging) { - max = (min += position) + size; - } else { - if (center) position = Math.max(r0, Math.min(r1, 2 * center[i] - min)); - if (position < min) { - max = min; - min = position; - } else { - max = position; - } - } - if (extent[0] != min || extent[1] != max) { - if (i) yExtentDomain = null; else xExtentDomain = null; - extent[0] = min; - extent[1] = max; - return true; - } - } - function brushend() { - brushmove(); - g.style("pointer-events", "all").selectAll(".resize").style("display", brush.empty() ? "none" : null); - d3.select("body").style("cursor", null); - w.on("mousemove.brush", null).on("mouseup.brush", null).on("touchmove.brush", null).on("touchend.brush", null).on("keydown.brush", null).on("keyup.brush", null); - dragRestore(); - event_({ - type: "brushend" - }); - } - } - brush.x = function(z) { - if (!arguments.length) return x; - x = z; - resizes = d3_svg_brushResizes[!x << 1 | !y]; - return brush; - }; - brush.y = function(z) { - if (!arguments.length) return y; - y = z; - resizes = d3_svg_brushResizes[!x << 1 | !y]; - return brush; - }; - brush.clamp = function(z) { - if (!arguments.length) return x && y ? [ xClamp, yClamp ] : x ? xClamp : y ? yClamp : null; - if (x && y) xClamp = !!z[0], yClamp = !!z[1]; else if (x) xClamp = !!z; else if (y) yClamp = !!z; - return brush; - }; - brush.extent = function(z) { - var x0, x1, y0, y1, t; - if (!arguments.length) { - if (x) { - if (xExtentDomain) { - x0 = xExtentDomain[0], x1 = xExtentDomain[1]; - } else { - x0 = xExtent[0], x1 = xExtent[1]; - if (x.invert) x0 = x.invert(x0), x1 = x.invert(x1); - if (x1 < x0) t = x0, x0 = x1, x1 = t; - } - } - if (y) { - if (yExtentDomain) { - y0 = yExtentDomain[0], y1 = yExtentDomain[1]; - } else { - y0 = yExtent[0], y1 = yExtent[1]; - if (y.invert) y0 = y.invert(y0), y1 = y.invert(y1); - if (y1 < y0) t = y0, y0 = y1, y1 = t; - } - } - return x && y ? [ [ x0, y0 ], [ x1, y1 ] ] : x ? [ x0, x1 ] : y && [ y0, y1 ]; - } - if (x) { - x0 = z[0], x1 = z[1]; - if (y) x0 = x0[0], x1 = x1[0]; - xExtentDomain = [ x0, x1 ]; - if (x.invert) x0 = x(x0), x1 = x(x1); - if (x1 < x0) t = x0, x0 = x1, x1 = t; - if (x0 != xExtent[0] || x1 != xExtent[1]) xExtent = [ x0, x1 ]; - } - if (y) { - y0 = z[0], y1 = z[1]; - if (x) y0 = y0[1], y1 = y1[1]; - yExtentDomain = [ y0, y1 ]; - if (y.invert) y0 = y(y0), y1 = y(y1); - if (y1 < y0) t = y0, y0 = y1, y1 = t; - if (y0 != yExtent[0] || y1 != yExtent[1]) yExtent = [ y0, y1 ]; - } - return brush; - }; - brush.clear = function() { - if (!brush.empty()) { - xExtent = [ 0, 0 ], yExtent = [ 0, 0 ]; - xExtentDomain = yExtentDomain = null; - } - return brush; - }; - brush.empty = function() { - return !!x && xExtent[0] == xExtent[1] || !!y && yExtent[0] == yExtent[1]; - }; - return d3.rebind(brush, event, "on"); - }; - var d3_svg_brushCursor = { - n: "ns-resize", - e: "ew-resize", - s: "ns-resize", - w: "ew-resize", - nw: "nwse-resize", - ne: "nesw-resize", - se: "nwse-resize", - sw: "nesw-resize" - }; - var d3_svg_brushResizes = [ [ "n", "e", "s", "w", "nw", "ne", "se", "sw" ], [ "e", "w" ], [ "n", "s" ], [] ]; - var d3_time_format = d3_time.format = d3_locale_enUS.timeFormat; - var d3_time_formatUtc = d3_time_format.utc; - var d3_time_formatIso = d3_time_formatUtc("%Y-%m-%dT%H:%M:%S.%LZ"); - d3_time_format.iso = Date.prototype.toISOString && +new Date("2000-01-01T00:00:00.000Z") ? d3_time_formatIsoNative : d3_time_formatIso; - function d3_time_formatIsoNative(date) { - return date.toISOString(); - } - d3_time_formatIsoNative.parse = function(string) { - var date = new Date(string); - return isNaN(date) ? null : date; - }; - d3_time_formatIsoNative.toString = d3_time_formatIso.toString; - d3_time.second = d3_time_interval(function(date) { - return new d3_date(Math.floor(date / 1e3) * 1e3); - }, function(date, offset) { - date.setTime(date.getTime() + Math.floor(offset) * 1e3); - }, function(date) { - return date.getSeconds(); - }); - d3_time.seconds = d3_time.second.range; - d3_time.seconds.utc = d3_time.second.utc.range; - d3_time.minute = d3_time_interval(function(date) { - return new d3_date(Math.floor(date / 6e4) * 6e4); - }, function(date, offset) { - date.setTime(date.getTime() + Math.floor(offset) * 6e4); - }, function(date) { - return date.getMinutes(); - }); - d3_time.minutes = d3_time.minute.range; - d3_time.minutes.utc = d3_time.minute.utc.range; - d3_time.hour = d3_time_interval(function(date) { - var timezone = date.getTimezoneOffset() / 60; - return new d3_date((Math.floor(date / 36e5 - timezone) + timezone) * 36e5); - }, function(date, offset) { - date.setTime(date.getTime() + Math.floor(offset) * 36e5); - }, function(date) { - return date.getHours(); - }); - d3_time.hours = d3_time.hour.range; - d3_time.hours.utc = d3_time.hour.utc.range; - d3_time.month = d3_time_interval(function(date) { - date = d3_time.day(date); - date.setDate(1); - return date; - }, function(date, offset) { - date.setMonth(date.getMonth() + offset); - }, function(date) { - return date.getMonth(); - }); - d3_time.months = d3_time.month.range; - d3_time.months.utc = d3_time.month.utc.range; - function d3_time_scale(linear, methods, format) { - function scale(x) { - return linear(x); - } - scale.invert = function(x) { - return d3_time_scaleDate(linear.invert(x)); - }; - scale.domain = function(x) { - if (!arguments.length) return linear.domain().map(d3_time_scaleDate); - linear.domain(x); - return scale; - }; - function tickMethod(extent, count) { - var span = extent[1] - extent[0], target = span / count, i = d3.bisect(d3_time_scaleSteps, target); - return i == d3_time_scaleSteps.length ? [ methods.year, d3_scale_linearTickRange(extent.map(function(d) { - return d / 31536e6; - }), count)[2] ] : !i ? [ d3_time_scaleMilliseconds, d3_scale_linearTickRange(extent, count)[2] ] : methods[target / d3_time_scaleSteps[i - 1] < d3_time_scaleSteps[i] / target ? i - 1 : i]; - } - scale.nice = function(interval, skip) { - var domain = scale.domain(), extent = d3_scaleExtent(domain), method = interval == null ? tickMethod(extent, 10) : typeof interval === "number" && tickMethod(extent, interval); - if (method) interval = method[0], skip = method[1]; - function skipped(date) { - return !isNaN(date) && !interval.range(date, d3_time_scaleDate(+date + 1), skip).length; - } - return scale.domain(d3_scale_nice(domain, skip > 1 ? { - floor: function(date) { - while (skipped(date = interval.floor(date))) date = d3_time_scaleDate(date - 1); - return date; - }, - ceil: function(date) { - while (skipped(date = interval.ceil(date))) date = d3_time_scaleDate(+date + 1); - return date; - } - } : interval)); - }; - scale.ticks = function(interval, skip) { - var extent = d3_scaleExtent(scale.domain()), method = interval == null ? tickMethod(extent, 10) : typeof interval === "number" ? tickMethod(extent, interval) : !interval.range && [ { - range: interval - }, skip ]; - if (method) interval = method[0], skip = method[1]; - return interval.range(extent[0], d3_time_scaleDate(+extent[1] + 1), skip < 1 ? 1 : skip); - }; - scale.tickFormat = function() { - return format; - }; - scale.copy = function() { - return d3_time_scale(linear.copy(), methods, format); - }; - return d3_scale_linearRebind(scale, linear); - } - function d3_time_scaleDate(t) { - return new Date(t); - } - var d3_time_scaleSteps = [ 1e3, 5e3, 15e3, 3e4, 6e4, 3e5, 9e5, 18e5, 36e5, 108e5, 216e5, 432e5, 864e5, 1728e5, 6048e5, 2592e6, 7776e6, 31536e6 ]; - var d3_time_scaleLocalMethods = [ [ d3_time.second, 1 ], [ d3_time.second, 5 ], [ d3_time.second, 15 ], [ d3_time.second, 30 ], [ d3_time.minute, 1 ], [ d3_time.minute, 5 ], [ d3_time.minute, 15 ], [ d3_time.minute, 30 ], [ d3_time.hour, 1 ], [ d3_time.hour, 3 ], [ d3_time.hour, 6 ], [ d3_time.hour, 12 ], [ d3_time.day, 1 ], [ d3_time.day, 2 ], [ d3_time.week, 1 ], [ d3_time.month, 1 ], [ d3_time.month, 3 ], [ d3_time.year, 1 ] ]; - var d3_time_scaleLocalFormat = d3_time_format.multi([ [ ".%L", function(d) { - return d.getMilliseconds(); - } ], [ ":%S", function(d) { - return d.getSeconds(); - } ], [ "%I:%M", function(d) { - return d.getMinutes(); - } ], [ "%I %p", function(d) { - return d.getHours(); - } ], [ "%a %d", function(d) { - return d.getDay() && d.getDate() != 1; - } ], [ "%b %d", function(d) { - return d.getDate() != 1; - } ], [ "%B", function(d) { - return d.getMonth(); - } ], [ "%Y", d3_true ] ]); - var d3_time_scaleMilliseconds = { - range: function(start, stop, step) { - return d3.range(Math.ceil(start / step) * step, +stop, step).map(d3_time_scaleDate); - }, - floor: d3_identity, - ceil: d3_identity - }; - d3_time_scaleLocalMethods.year = d3_time.year; - d3_time.scale = function() { - return d3_time_scale(d3.scale.linear(), d3_time_scaleLocalMethods, d3_time_scaleLocalFormat); - }; - var d3_time_scaleUtcMethods = d3_time_scaleLocalMethods.map(function(m) { - return [ m[0].utc, m[1] ]; - }); - var d3_time_scaleUtcFormat = d3_time_formatUtc.multi([ [ ".%L", function(d) { - return d.getUTCMilliseconds(); - } ], [ ":%S", function(d) { - return d.getUTCSeconds(); - } ], [ "%I:%M", function(d) { - return d.getUTCMinutes(); - } ], [ "%I %p", function(d) { - return d.getUTCHours(); - } ], [ "%a %d", function(d) { - return d.getUTCDay() && d.getUTCDate() != 1; - } ], [ "%b %d", function(d) { - return d.getUTCDate() != 1; - } ], [ "%B", function(d) { - return d.getUTCMonth(); - } ], [ "%Y", d3_true ] ]); - d3_time_scaleUtcMethods.year = d3_time.year.utc; - d3_time.scale.utc = function() { - return d3_time_scale(d3.scale.linear(), d3_time_scaleUtcMethods, d3_time_scaleUtcFormat); - }; - d3.text = d3_xhrType(function(request) { - return request.responseText; - }); - d3.json = function(url, callback) { - return d3_xhr(url, "application/json", d3_json, callback); - }; - function d3_json(request) { - return JSON.parse(request.responseText); - } - d3.html = function(url, callback) { - return d3_xhr(url, "text/html", d3_html, callback); - }; - function d3_html(request) { - var range = d3_document.createRange(); - range.selectNode(d3_document.body); - return range.createContextualFragment(request.responseText); - } - d3.xml = d3_xhrType(function(request) { - return request.responseXML; - }); - if (typeof define === "function" && define.amd) define(d3); else if (typeof module === "object" && module.exports) module.exports = d3; - this.d3 = d3; -}(); \ No newline at end of file diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.realtime.analytics-view/public/js/device-stats.js b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.realtime.analytics-view/public/js/device-stats.js index 4c9f5a2ef7..2745819ff7 100644 --- a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.realtime.analytics-view/public/js/device-stats.js +++ b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.realtime.analytics-view/public/js/device-stats.js @@ -303,4 +303,8 @@ function disconnect() { ws.close(); ws = null; } +} + +function initMap() { + } \ No newline at end of file diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.realtime.analytics-view/public/js/rickshaw.min.js b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.realtime.analytics-view/public/js/rickshaw.min.js deleted file mode 100644 index be060e0b87..0000000000 --- a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.realtime.analytics-view/public/js/rickshaw.min.js +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. 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(root,factory){if(typeof define==="function"&&define.amd){define(["d3.min"],function(d3){return root.Rickshaw=factory(d3)})}else if(typeof exports==="object"){module.exports=factory(require("d3"))}else{root.Rickshaw=factory(d3)}})(this,function(d3){var Rickshaw={namespace:function(namespace,obj){var parts=namespace.split(".");var parent=Rickshaw;for(var i=1,length=parts.length;i0){var x=s.data[0].x;var y=s.data[0].y;if(typeof x!="number"||typeof y!="number"&&y!==null){throw"x and y properties of points should be numbers instead of "+typeof x+" and "+typeof y}}if(s.data.length>=3){if(s.data[2].xthis.window.xMax)isInRange=false;return isInRange}return true};this.onUpdate=function(callback){this.updateCallbacks.push(callback)};this.onConfigure=function(callback){this.configureCallbacks.push(callback)};this.registerRenderer=function(renderer){this._renderers=this._renderers||{};this._renderers[renderer.name]=renderer};this.configure=function(args){this.config=this.config||{};if(args.width||args.height){this.setSize(args)}Rickshaw.keys(this.defaults).forEach(function(k){this.config[k]=k in args?args[k]:k in this?this[k]:this.defaults[k]},this);Rickshaw.keys(this.config).forEach(function(k){this[k]=this.config[k]},this);if("stack"in args)args.unstack=!args.stack;var renderer=args.renderer||this.renderer&&this.renderer.name||"stack";this.setRenderer(renderer,args);this.configureCallbacks.forEach(function(callback){callback(args)})};this.setRenderer=function(r,args){if(typeof r=="function"){this.renderer=new r({graph:self});this.registerRenderer(this.renderer)}else{if(!this._renderers[r]){throw"couldn't find renderer "+r}this.renderer=this._renderers[r]}if(typeof args=="object"){this.renderer.configure(args)}};this.setSize=function(args){args=args||{};if(typeof window!==undefined){var style=window.getComputedStyle(this.element,null);var elementWidth=parseInt(style.getPropertyValue("width"),10);var elementHeight=parseInt(style.getPropertyValue("height"),10)}this.width=args.width||elementWidth||400;this.height=args.height||elementHeight||250;this.vis&&this.vis.attr("width",this.width).attr("height",this.height)};this.initialize(args)};Rickshaw.namespace("Rickshaw.Fixtures.Color");Rickshaw.Fixtures.Color=function(){this.schemes={};this.schemes.spectrum14=["#ecb796","#dc8f70","#b2a470","#92875a","#716c49","#d2ed82","#bbe468","#a1d05d","#e7cbe6","#d8aad6","#a888c2","#9dc2d3","#649eb9","#387aa3"].reverse();this.schemes.spectrum2000=["#57306f","#514c76","#646583","#738394","#6b9c7d","#84b665","#a7ca50","#bfe746","#e2f528","#fff726","#ecdd00","#d4b11d","#de8800","#de4800","#c91515","#9a0000","#7b0429","#580839","#31082b"];this.schemes.spectrum2001=["#2f243f","#3c2c55","#4a3768","#565270","#6b6b7c","#72957f","#86ad6e","#a1bc5e","#b8d954","#d3e04e","#ccad2a","#cc8412","#c1521d","#ad3821","#8a1010","#681717","#531e1e","#3d1818","#320a1b"];this.schemes.classic9=["#423d4f","#4a6860","#848f39","#a2b73c","#ddcb53","#c5a32f","#7d5836","#963b20","#7c2626","#491d37","#2f254a"].reverse();this.schemes.httpStatus={503:"#ea5029",502:"#d23f14",500:"#bf3613",410:"#efacea",409:"#e291dc",403:"#f457e8",408:"#e121d2",401:"#b92dae",405:"#f47ceb",404:"#a82a9f",400:"#b263c6",301:"#6fa024",302:"#87c32b",307:"#a0d84c",304:"#28b55c",200:"#1a4f74",206:"#27839f",201:"#52adc9",202:"#7c979f",203:"#a5b8bd",204:"#c1cdd1"};this.schemes.colorwheel=["#b5b6a9","#858772","#785f43","#96557e","#4682b4","#65b9ac","#73c03a","#cb513a"].reverse();this.schemes.cool=["#5e9d2f","#73c03a","#4682b4","#7bc3b8","#a9884e","#c1b266","#a47493","#c09fb5"];this.schemes.munin=["#00cc00","#0066b3","#ff8000","#ffcc00","#330099","#990099","#ccff00","#ff0000","#808080","#008f00","#00487d","#b35a00","#b38f00","#6b006b","#8fb300","#b30000","#bebebe","#80ff80","#80c9ff","#ffc080","#ffe680","#aa80ff","#ee00cc","#ff8080","#666600","#ffbfff","#00ffcc","#cc6699","#999900"]};Rickshaw.namespace("Rickshaw.Fixtures.RandomData");Rickshaw.Fixtures.RandomData=function(timeInterval){var addData;timeInterval=timeInterval||1;var lastRandomValue=200;var timeBase=Math.floor((new Date).getTime()/1e3);this.addData=function(data){var randomValue=Math.random()*100+15+lastRandomValue;var index=data[0].length;var counter=1;data.forEach(function(series){var randomVariance=Math.random()*20;var v=randomValue/25+counter++ +(Math.cos(index*counter*11/960)+2)*15+(Math.cos(index/7)+2)*7+(Math.cos(index/17)+2)*1;series.push({x:index*timeInterval+timeBase,y:v+randomVariance})});lastRandomValue=randomValue*.85};this.removeData=function(data){data.forEach(function(series){series.shift()});timeBase+=timeInterval}};Rickshaw.namespace("Rickshaw.Fixtures.Time");Rickshaw.Fixtures.Time=function(){var self=this;this.months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];this.units=[{name:"decade",seconds:86400*365.25*10,formatter:function(d){return parseInt(d.getUTCFullYear()/10,10)*10}},{name:"year",seconds:86400*365.25,formatter:function(d){return d.getUTCFullYear()}},{name:"month",seconds:86400*30.5,formatter:function(d){return self.months[d.getUTCMonth()]}},{name:"week",seconds:86400*7,formatter:function(d){return self.formatDate(d)}},{name:"day",seconds:86400,formatter:function(d){return d.getUTCDate()}},{name:"6 hour",seconds:3600*6,formatter:function(d){return self.formatTime(d)}},{name:"hour",seconds:3600,formatter:function(d){return self.formatTime(d)}},{name:"15 minute",seconds:60*15,formatter:function(d){return self.formatTime(d)}},{name:"minute",seconds:60,formatter:function(d){return d.getUTCMinutes()}},{name:"15 second",seconds:15,formatter:function(d){return d.getUTCSeconds()+"s"}},{name:"second",seconds:1,formatter:function(d){return d.getUTCSeconds()+"s"}},{name:"decisecond",seconds:1/10,formatter:function(d){return d.getUTCMilliseconds()+"ms"}},{name:"centisecond",seconds:1/100,formatter:function(d){return d.getUTCMilliseconds()+"ms"}}];this.unit=function(unitName){return this.units.filter(function(unit){return unitName==unit.name}).shift()};this.formatDate=function(d){return d3.time.format("%b %e")(d)};this.formatTime=function(d){return d.toUTCString().match(/(\d+:\d+):/)[1]};this.ceil=function(time,unit){var date,floor,year;if(unit.name=="month"){date=new Date(time*1e3);floor=Date.UTC(date.getUTCFullYear(),date.getUTCMonth())/1e3;if(floor==time)return time;year=date.getUTCFullYear();var month=date.getUTCMonth();if(month==11){month=0;year=year+1}else{month+=1}return Date.UTC(year,month)/1e3}if(unit.name=="year"){date=new Date(time*1e3);floor=Date.UTC(date.getUTCFullYear(),0)/1e3;if(floor==time)return time;year=date.getUTCFullYear()+1;return Date.UTC(year,0)/1e3}return Math.ceil(time/unit.seconds)*unit.seconds}};Rickshaw.namespace("Rickshaw.Fixtures.Time.Local");Rickshaw.Fixtures.Time.Local=function(){var self=this;this.months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];this.units=[{name:"decade",seconds:86400*365.25*10,formatter:function(d){return parseInt(d.getFullYear()/10,10)*10}},{name:"year",seconds:86400*365.25,formatter:function(d){return d.getFullYear()}},{name:"month",seconds:86400*30.5,formatter:function(d){return self.months[d.getMonth()]}},{name:"week",seconds:86400*7,formatter:function(d){return self.formatDate(d)}},{name:"day",seconds:86400,formatter:function(d){return d.getDate()}},{name:"6 hour",seconds:3600*6,formatter:function(d){return self.formatTime(d)}},{name:"hour",seconds:3600,formatter:function(d){return self.formatTime(d)}},{name:"15 minute",seconds:60*15,formatter:function(d){return self.formatTime(d)}},{name:"minute",seconds:60,formatter:function(d){return d.getMinutes()}},{name:"15 second",seconds:15,formatter:function(d){return d.getSeconds()+"s"}},{name:"second",seconds:1,formatter:function(d){return d.getSeconds()+"s"}},{name:"decisecond",seconds:1/10,formatter:function(d){return d.getMilliseconds()+"ms"}},{name:"centisecond",seconds:1/100,formatter:function(d){return d.getMilliseconds()+"ms"}}];this.unit=function(unitName){return this.units.filter(function(unit){return unitName==unit.name}).shift()};this.formatDate=function(d){return d3.time.format("%b %e")(d)};this.formatTime=function(d){return d.toString().match(/(\d+:\d+):/)[1]};this.ceil=function(time,unit){var date,floor,year;if(unit.name=="day"){var nearFuture=new Date((time+unit.seconds-1)*1e3);var rounded=new Date(0);rounded.setMilliseconds(0);rounded.setSeconds(0);rounded.setMinutes(0);rounded.setHours(0);rounded.setDate(nearFuture.getDate());rounded.setMonth(nearFuture.getMonth());rounded.setFullYear(nearFuture.getFullYear());return rounded.getTime()/1e3}if(unit.name=="month"){date=new Date(time*1e3);floor=new Date(date.getFullYear(),date.getMonth()).getTime()/1e3;if(floor==time)return time;year=date.getFullYear();var month=date.getMonth();if(month==11){month=0;year=year+1}else{month+=1}return new Date(year,month).getTime()/1e3}if(unit.name=="year"){date=new Date(time*1e3);floor=new Date(date.getUTCFullYear(),0).getTime()/1e3;if(floor==time)return time;year=date.getFullYear()+1;return new Date(year,0).getTime()/1e3}return Math.ceil(time/unit.seconds)*unit.seconds}};Rickshaw.namespace("Rickshaw.Fixtures.Number");Rickshaw.Fixtures.Number.formatKMBT=function(y){var abs_y=Math.abs(y);if(abs_y>=1e12){return y/1e12+"T"}else if(abs_y>=1e9){return y/1e9+"B"}else if(abs_y>=1e6){return y/1e6+"M"}else if(abs_y>=1e3){return y/1e3+"K"}else if(abs_y<1&&y>0){return y.toFixed(2)}else if(abs_y===0){return""}else{return y}};Rickshaw.Fixtures.Number.formatBase1024KMGTP=function(y){var abs_y=Math.abs(y);if(abs_y>=0x4000000000000){return y/0x4000000000000+"P"}else if(abs_y>=1099511627776){return y/1099511627776+"T"}else if(abs_y>=1073741824){return y/1073741824+"G"}else if(abs_y>=1048576){return y/1048576+"M"}else if(abs_y>=1024){return y/1024+"K"}else if(abs_y<1&&y>0){return y.toFixed(2)}else if(abs_y===0){return""}else{return y}};Rickshaw.namespace("Rickshaw.Color.Palette");Rickshaw.Color.Palette=function(args){var color=new Rickshaw.Fixtures.Color;args=args||{};this.schemes={};this.scheme=color.schemes[args.scheme]||args.scheme||color.schemes.colorwheel;this.runningIndex=0;this.generatorIndex=0;if(args.interpolatedStopCount){var schemeCount=this.scheme.length-1;var i,j,scheme=[];for(i=0;iself.graph.x.range()[1]){if(annotation.element){annotation.line.classList.add("offscreen");annotation.element.style.display="none"}annotation.boxes.forEach(function(box){if(box.rangeElement)box.rangeElement.classList.add("offscreen")});return}if(!annotation.element){var element=annotation.element=document.createElement("div");element.classList.add("annotation");this.elements.timeline.appendChild(element);element.addEventListener("click",function(e){element.classList.toggle("active");annotation.line.classList.toggle("active");annotation.boxes.forEach(function(box){if(box.rangeElement)box.rangeElement.classList.toggle("active")})},false)}annotation.element.style.left=left+"px";annotation.element.style.display="block";annotation.boxes.forEach(function(box){var element=box.element;if(!element){element=box.element=document.createElement("div");element.classList.add("content");element.innerHTML=box.content;annotation.element.appendChild(element);annotation.line=document.createElement("div");annotation.line.classList.add("annotation_line");self.graph.element.appendChild(annotation.line);if(box.end){box.rangeElement=document.createElement("div");box.rangeElement.classList.add("annotation_range");self.graph.element.appendChild(box.rangeElement)}}if(box.end){var annotationRangeStart=left;var annotationRangeEnd=Math.min(self.graph.x(box.end),self.graph.x.range()[1]);if(annotationRangeStart>annotationRangeEnd){annotationRangeEnd=left;annotationRangeStart=Math.max(self.graph.x(box.end),self.graph.x.range()[0])}var annotationRangeWidth=annotationRangeEnd-annotationRangeStart;box.rangeElement.style.left=annotationRangeStart+"px";box.rangeElement.style.width=annotationRangeWidth+"px";box.rangeElement.classList.remove("offscreen")}annotation.line.classList.remove("offscreen");annotation.line.style.left=left+"px"})},this)};this.graph.onUpdate(function(){self.update()})};Rickshaw.namespace("Rickshaw.Graph.Axis.Time");Rickshaw.Graph.Axis.Time=function(args){var self=this;this.graph=args.graph;this.elements=[];this.ticksTreatment=args.ticksTreatment||"plain";this.fixedTimeUnit=args.timeUnit;var time=args.timeFixture||new Rickshaw.Fixtures.Time;this.appropriateTimeUnit=function(){var unit;var units=time.units;var domain=this.graph.x.domain();var rangeSeconds=domain[1]-domain[0];units.forEach(function(u){if(Math.floor(rangeSeconds/u.seconds)>=2){unit=unit||u}});return unit||time.units[time.units.length-1]};this.tickOffsets=function(){var domain=this.graph.x.domain();var unit=this.fixedTimeUnit||this.appropriateTimeUnit();var count=Math.ceil((domain[1]-domain[0])/unit.seconds);var runningTick=domain[0];var offsets=[];for(var i=0;iself.graph.x.range()[1])return;var element=document.createElement("div");element.style.left=self.graph.x(o.value)+"px";element.classList.add("x_tick");element.classList.add(self.ticksTreatment);var title=document.createElement("div");title.classList.add("title");title.innerHTML=o.unit.formatter(new Date(o.value*1e3));element.appendChild(title);self.graph.element.appendChild(element);self.elements.push(element)})};this.graph.onUpdate(function(){self.render()})};Rickshaw.namespace("Rickshaw.Graph.Axis.X");Rickshaw.Graph.Axis.X=function(args){var self=this;var berthRate=.1;this.initialize=function(args){this.graph=args.graph;this.orientation=args.orientation||"top";this.pixelsPerTick=args.pixelsPerTick||75;if(args.ticks)this.staticTicks=args.ticks;if(args.tickValues)this.tickValues=args.tickValues;this.tickSize=args.tickSize||4;this.ticksTreatment=args.ticksTreatment||"plain";if(args.element){this.element=args.element;this._discoverSize(args.element,args);this.vis=d3.select(args.element).append("svg:svg").attr("height",this.height).attr("width",this.width).attr("class","rickshaw_graph x_axis_d3");this.element=this.vis[0][0];this.element.style.position="relative";this.setSize({width:args.width,height:args.height})}else{this.vis=this.graph.vis}this.graph.onUpdate(function(){self.render()})};this.setSize=function(args){args=args||{};if(!this.element)return;this._discoverSize(this.element.parentNode,args);this.vis.attr("height",this.height).attr("width",this.width*(1+berthRate));var berth=Math.floor(this.width*berthRate/2);this.element.style.left=-1*berth+"px"};this.render=function(){if(this._renderWidth!==undefined&&this.graph.width!==this._renderWidth)this.setSize({auto:true});var axis=d3.svg.axis().scale(this.graph.x).orient(this.orientation);axis.tickFormat(args.tickFormat||function(x){return x});if(this.tickValues)axis.tickValues(this.tickValues);this.ticks=this.staticTicks||Math.floor(this.graph.width/this.pixelsPerTick);var berth=Math.floor(this.width*berthRate/2)||0;var transform;if(this.orientation=="top"){var yOffset=this.height||this.graph.height;transform="translate("+berth+","+yOffset+")"}else{transform="translate("+berth+", 0)"}if(this.element){this.vis.selectAll("*").remove()}this.vis.append("svg:g").attr("class",["x_ticks_d3",this.ticksTreatment].join(" ")).attr("transform",transform).call(axis.ticks(this.ticks).tickSubdivide(0).tickSize(this.tickSize));var gridSize=(this.orientation=="bottom"?1:-1)*this.graph.height;this.graph.vis.append("svg:g").attr("class","x_grid_d3").call(axis.ticks(this.ticks).tickSubdivide(0).tickSize(gridSize)).selectAll("text").each(function(){this.parentNode.setAttribute("data-x-value",this.textContent)});this._renderHeight=this.graph.height};this._discoverSize=function(element,args){if(typeof window!=="undefined"){var style=window.getComputedStyle(element,null);var elementHeight=parseInt(style.getPropertyValue("height"),10);if(!args.auto){var elementWidth=parseInt(style.getPropertyValue("width"),10)}}this.width=(args.width||elementWidth||this.graph.width)*(1+berthRate);this.height=args.height||elementHeight||40};this.initialize(args)};Rickshaw.namespace("Rickshaw.Graph.Axis.Y");Rickshaw.Graph.Axis.Y=Rickshaw.Class.create({initialize:function(args){this.graph=args.graph;this.orientation=args.orientation||"right";this.pixelsPerTick=args.pixelsPerTick||75;if(args.ticks)this.staticTicks=args.ticks;if(args.tickValues)this.tickValues=args.tickValues;this.tickSize=args.tickSize||4;this.ticksTreatment=args.ticksTreatment||"plain";this.tickFormat=args.tickFormat||function(y){return y};this.berthRate=.1;if(args.element){this.element=args.element;this.vis=d3.select(args.element).append("svg:svg").attr("class","rickshaw_graph y_axis");this.element=this.vis[0][0];this.element.style.position="relative";this.setSize({width:args.width,height:args.height})}else{this.vis=this.graph.vis}var self=this;this.graph.onUpdate(function(){self.render()})},setSize:function(args){args=args||{};if(!this.element)return;if(typeof window!=="undefined"){var style=window.getComputedStyle(this.element.parentNode,null);var elementWidth=parseInt(style.getPropertyValue("width"),10);if(!args.auto){var elementHeight=parseInt(style.getPropertyValue("height"),10)}}this.width=args.width||elementWidth||this.graph.width*this.berthRate;this.height=args.height||elementHeight||this.graph.height;this.vis.attr("width",this.width).attr("height",this.height*(1+this.berthRate));var berth=this.height*this.berthRate;if(this.orientation=="left"){this.element.style.top=-1*berth+"px"}},render:function(){if(this._renderHeight!==undefined&&this.graph.height!==this._renderHeight)this.setSize({auto:true});this.ticks=this.staticTicks||Math.floor(this.graph.height/this.pixelsPerTick);var axis=this._drawAxis(this.graph.y);this._drawGrid(axis);this._renderHeight=this.graph.height},_drawAxis:function(scale){var axis=d3.svg.axis().scale(scale).orient(this.orientation);axis.tickFormat(this.tickFormat);if(this.tickValues)axis.tickValues(this.tickValues);if(this.orientation=="left"){var berth=this.height*this.berthRate;var transform="translate("+this.width+", "+berth+")"}if(this.element){this.vis.selectAll("*").remove()}this.vis.append("svg:g").attr("class",["y_ticks",this.ticksTreatment].join(" ")).attr("transform",transform).call(axis.ticks(this.ticks).tickSubdivide(0).tickSize(this.tickSize));return axis},_drawGrid:function(axis){var gridSize=(this.orientation=="right"?1:-1)*this.graph.width;this.graph.vis.append("svg:g").attr("class","y_grid").call(axis.ticks(this.ticks).tickSubdivide(0).tickSize(gridSize)).selectAll("text").each(function(){this.parentNode.setAttribute("data-y-value",this.textContent) -})}});Rickshaw.namespace("Rickshaw.Graph.Axis.Y.Scaled");Rickshaw.Graph.Axis.Y.Scaled=Rickshaw.Class.create(Rickshaw.Graph.Axis.Y,{initialize:function($super,args){if(typeof args.scale==="undefined"){throw new Error("Scaled requires scale")}this.scale=args.scale;if(typeof args.grid==="undefined"){this.grid=true}else{this.grid=args.grid}$super(args)},_drawAxis:function($super,scale){var domain=this.scale.domain();var renderDomain=this.graph.renderer.domain().y;var extents=[Math.min.apply(Math,domain),Math.max.apply(Math,domain)];var extentMap=d3.scale.linear().domain([0,1]).range(extents);var adjExtents=[extentMap(renderDomain[0]),extentMap(renderDomain[1])];var adjustment=d3.scale.linear().domain(extents).range(adjExtents);var adjustedScale=this.scale.copy().domain(domain.map(adjustment)).range(scale.range());return $super(adjustedScale)},_drawGrid:function($super,axis){if(this.grid){$super(axis)}}});Rickshaw.namespace("Rickshaw.Graph.Behavior.Series.Highlight");Rickshaw.Graph.Behavior.Series.Highlight=function(args){this.graph=args.graph;this.legend=args.legend;var self=this;var colorSafe={};var activeLine=null;var disabledColor=args.disabledColor||function(seriesColor){return d3.interpolateRgb(seriesColor,d3.rgb("#d8d8d8"))(.8).toString()};this.addHighlightEvents=function(l){l.element.addEventListener("mouseover",function(e){if(activeLine)return;else activeLine=l;self.legend.lines.forEach(function(line){if(l===line){if(self.graph.renderer.unstack&&(line.series.renderer?line.series.renderer.unstack:true)){var seriesIndex=self.graph.series.indexOf(line.series);line.originalIndex=seriesIndex;var series=self.graph.series.splice(seriesIndex,1)[0];self.graph.series.push(series)}return}colorSafe[line.series.name]=colorSafe[line.series.name]||line.series.color;line.series.color=disabledColor(line.series.color)});self.graph.update()},false);l.element.addEventListener("mouseout",function(e){if(!activeLine)return;else activeLine=null;self.legend.lines.forEach(function(line){if(l===line&&line.hasOwnProperty("originalIndex")){var series=self.graph.series.pop();self.graph.series.splice(line.originalIndex,0,series);delete line.originalIndex}if(colorSafe[line.series.name]){line.series.color=colorSafe[line.series.name]}});self.graph.update()},false)};if(this.legend){this.legend.lines.forEach(function(l){self.addHighlightEvents(l)})}};Rickshaw.namespace("Rickshaw.Graph.Behavior.Series.Order");Rickshaw.Graph.Behavior.Series.Order=function(args){this.graph=args.graph;this.legend=args.legend;var self=this;if(typeof window.jQuery=="undefined"){throw"couldn't find jQuery at window.jQuery"}if(typeof window.jQuery.ui=="undefined"){throw"couldn't find jQuery UI at window.jQuery.ui"}jQuery(function(){jQuery(self.legend.list).sortable({containment:"parent",tolerance:"pointer",update:function(event,ui){var series=[];jQuery(self.legend.list).find("li").each(function(index,item){if(!item.series)return;series.push(item.series)});for(var i=self.graph.series.length-1;i>=0;i--){self.graph.series[i]=series.shift()}self.graph.update()}});jQuery(self.legend.list).disableSelection()});this.graph.onUpdate(function(){var h=window.getComputedStyle(self.legend.element).height;self.legend.element.style.height=h})};Rickshaw.namespace("Rickshaw.Graph.Behavior.Series.Toggle");Rickshaw.Graph.Behavior.Series.Toggle=function(args){this.graph=args.graph;this.legend=args.legend;var self=this;this.addAnchor=function(line){var anchor=document.createElement("a");anchor.innerHTML="✔";anchor.classList.add("action");line.element.insertBefore(anchor,line.element.firstChild);anchor.onclick=function(e){if(line.series.disabled){line.series.enable();line.element.classList.remove("disabled")}else{if(this.graph.series.filter(function(s){return!s.disabled}).length<=1)return;line.series.disable();line.element.classList.add("disabled")}self.graph.update()}.bind(this);var label=line.element.getElementsByTagName("span")[0];label.onclick=function(e){var disableAllOtherLines=line.series.disabled;if(!disableAllOtherLines){for(var i=0;idomainX){dataIndex=Math.abs(domainX-data[i].x)0){alignables.forEach(function(el){el.classList.remove("left");el.classList.add("right")});var rightAlignError=this._calcLayoutError(alignables);if(rightAlignError>leftAlignError){alignables.forEach(function(el){el.classList.remove("right");el.classList.add("left")})}}if(typeof this.onRender=="function"){this.onRender(args)}},_calcLayoutError:function(alignables){var parentRect=this.element.parentNode.getBoundingClientRect();var error=0;var alignRight=alignables.forEach(function(el){var rect=el.getBoundingClientRect();if(!rect.width){return}if(rect.right>parentRect.right){error+=rect.right-parentRect.right}if(rect.left=self.previewWidth){frameAfterDrag[0]-=frameAfterDrag[1]-self.previewWidth;frameAfterDrag[1]=self.previewWidth}}self.graphs.forEach(function(graph){var domainScale=d3.scale.linear().interpolate(d3.interpolateNumber).domain([0,self.previewWidth]).range(graph.dataDomain());var windowAfterDrag=[domainScale(frameAfterDrag[0]),domainScale(frameAfterDrag[1])];self.slideCallbacks.forEach(function(callback){callback(graph,windowAfterDrag[0],windowAfterDrag[1])});if(frameAfterDrag[0]===0){windowAfterDrag[0]=undefined}if(frameAfterDrag[1]===self.previewWidth){windowAfterDrag[1]=undefined}graph.window.xMin=windowAfterDrag[0];graph.window.xMax=windowAfterDrag[1];graph.update()})}function onMousedown(){drag.target=d3.event.target;drag.start=self._getClientXFromEvent(d3.event,drag);self.frameBeforeDrag=self.currentFrame.slice();d3.event.preventDefault?d3.event.preventDefault():d3.event.returnValue=false;d3.select(document).on("mousemove.rickshaw_range_slider_preview",onMousemove);d3.select(document).on("mouseup.rickshaw_range_slider_preview",onMouseup);d3.select(document).on("touchmove.rickshaw_range_slider_preview",onMousemove);d3.select(document).on("touchend.rickshaw_range_slider_preview",onMouseup);d3.select(document).on("touchcancel.rickshaw_range_slider_preview",onMouseup)}function onMousedownLeftHandle(datum,index){drag.left=true;onMousedown()}function onMousedownRightHandle(datum,index){drag.right=true;onMousedown()}function onMousedownMiddleHandle(datum,index){drag.left=true;drag.right=true;drag.rigid=true;onMousedown()}function onMouseup(datum,index){d3.select(document).on("mousemove.rickshaw_range_slider_preview",null);d3.select(document).on("mouseup.rickshaw_range_slider_preview",null);d3.select(document).on("touchmove.rickshaw_range_slider_preview",null);d3.select(document).on("touchend.rickshaw_range_slider_preview",null);d3.select(document).on("touchcancel.rickshaw_range_slider_preview",null);delete self.frameBeforeDrag;drag.left=false;drag.right=false;drag.rigid=false}element.select("rect.left_handle").on("mousedown",onMousedownLeftHandle);element.select("rect.right_handle").on("mousedown",onMousedownRightHandle);element.select("rect.middle_handle").on("mousedown",onMousedownMiddleHandle);element.select("rect.left_handle").on("touchstart",onMousedownLeftHandle);element.select("rect.right_handle").on("touchstart",onMousedownRightHandle);element.select("rect.middle_handle").on("touchstart",onMousedownMiddleHandle)},_getClientXFromEvent:function(event,drag){switch(event.type){case"touchstart":case"touchmove":var touchList=event.changedTouches;var touch=null;for(var touchIndex=0;touchIndexyMax)yMax=y});if(!series.length)return;if(series[0].xxMax)xMax=series[series.length-1].x});xMin-=(xMax-xMin)*this.padding.left;xMax+=(xMax-xMin)*this.padding.right;yMin=this.graph.min==="auto"?yMin:this.graph.min||0;yMax=this.graph.max===undefined?yMax:this.graph.max;if(this.graph.min==="auto"||yMin<0){yMin-=(yMax-yMin)*this.padding.bottom}if(this.graph.max===undefined){yMax+=(yMax-yMin)*this.padding.top}return{x:[xMin,xMax],y:[yMin,yMax]}},render:function(args){args=args||{};var graph=this.graph;var series=args.series||graph.series;var vis=args.vis||graph.vis;vis.selectAll("*").remove();var data=series.filter(function(s){return!s.disabled}).map(function(s){return s.stack});var pathNodes=vis.selectAll("path.path").data(data).enter().append("svg:path").classed("path",true).attr("d",this.seriesPathFactory());if(this.stroke){var strokeNodes=vis.selectAll("path.stroke").data(data).enter().append("svg:path").classed("stroke",true).attr("d",this.seriesStrokeFactory())}var i=0;series.forEach(function(series){if(series.disabled)return;series.path=pathNodes[0][i];if(this.stroke)series.stroke=strokeNodes[0][i];this._styleSeries(series);i++},this)},_styleSeries:function(series){var fill=this.fill?series.color:"none";var stroke=this.stroke?series.color:"none";series.path.setAttribute("fill",fill);series.path.setAttribute("stroke",stroke);series.path.setAttribute("stroke-width",this.strokeWidth);if(series.className){d3.select(series.path).classed(series.className,true)}if(series.className&&this.stroke){d3.select(series.stroke).classed(series.className,true)}},configure:function(args){args=args||{};Rickshaw.keys(this.defaults()).forEach(function(key){if(!args.hasOwnProperty(key)){this[key]=this[key]||this.graph[key]||this.defaults()[key];return}if(typeof this.defaults()[key]=="object"){Rickshaw.keys(this.defaults()[key]).forEach(function(k){this[key][k]=args[key][k]!==undefined?args[key][k]:this[key][k]!==undefined?this[key][k]:this.defaults()[key][k]},this)}else{this[key]=args[key]!==undefined?args[key]:this[key]!==undefined?this[key]:this.graph[key]!==undefined?this.graph[key]:this.defaults()[key]}},this)},setStrokeWidth:function(strokeWidth){if(strokeWidth!==undefined){this.strokeWidth=strokeWidth}},setTension:function(tension){if(tension!==undefined){this.tension=tension}}});Rickshaw.namespace("Rickshaw.Graph.Renderer.Line");Rickshaw.Graph.Renderer.Line=Rickshaw.Class.create(Rickshaw.Graph.Renderer,{name:"line",defaults:function($super){return Rickshaw.extend($super(),{unstack:true,fill:false,stroke:true})},seriesPathFactory:function(){var graph=this.graph;var factory=d3.svg.line().x(function(d){return graph.x(d.x)}).y(function(d){return graph.y(d.y)}).interpolate(this.graph.interpolation).tension(this.tension);factory.defined&&factory.defined(function(d){return d.y!==null});return factory}});Rickshaw.namespace("Rickshaw.Graph.Renderer.Stack");Rickshaw.Graph.Renderer.Stack=Rickshaw.Class.create(Rickshaw.Graph.Renderer,{name:"stack",defaults:function($super){return Rickshaw.extend($super(),{fill:true,stroke:false,unstack:false})},seriesPathFactory:function(){var graph=this.graph;var factory=d3.svg.area().x(function(d){return graph.x(d.x)}).y0(function(d){return graph.y(d.y0)}).y1(function(d){return graph.y(d.y+d.y0)}).interpolate(this.graph.interpolation).tension(this.tension);factory.defined&&factory.defined(function(d){return d.y!==null});return factory}});Rickshaw.namespace("Rickshaw.Graph.Renderer.Bar");Rickshaw.Graph.Renderer.Bar=Rickshaw.Class.create(Rickshaw.Graph.Renderer,{name:"bar",defaults:function($super){var defaults=Rickshaw.extend($super(),{gapSize:.05,unstack:false});delete defaults.tension;return defaults},initialize:function($super,args){args=args||{};this.gapSize=args.gapSize||this.gapSize;$super(args)},domain:function($super){var domain=$super();var frequentInterval=this._frequentInterval(this.graph.stackedData.slice(-1).shift());domain.x[1]+=Number(frequentInterval.magnitude);return domain},barWidth:function(series){var frequentInterval=this._frequentInterval(series.stack);var barWidth=this.graph.x.magnitude(frequentInterval.magnitude)*(1-this.gapSize);return barWidth},render:function(args){args=args||{};var graph=this.graph;var series=args.series||graph.series;var vis=args.vis||graph.vis;vis.selectAll("*").remove();var barWidth=this.barWidth(series.active()[0]);var barXOffset=0;var activeSeriesCount=series.filter(function(s){return!s.disabled}).length;var seriesBarWidth=this.unstack?barWidth/activeSeriesCount:barWidth;var transform=function(d){var matrix=[1,0,0,d.y<0?-1:1,0,d.y<0?graph.y.magnitude(Math.abs(d.y))*2:0];return"matrix("+matrix.join(",")+")"};series.forEach(function(series){if(series.disabled)return;var barWidth=this.barWidth(series);var nodes=vis.selectAll("path").data(series.stack.filter(function(d){return d.y!==null})).enter().append("svg:rect").attr("x",function(d){return graph.x(d.x)+barXOffset}).attr("y",function(d){return graph.y(d.y0+Math.abs(d.y))*(d.y<0?-1:1)}).attr("width",seriesBarWidth).attr("height",function(d){return graph.y.magnitude(Math.abs(d.y))}).attr("transform",transform);Array.prototype.forEach.call(nodes[0],function(n){n.setAttribute("fill",series.color)});if(this.unstack)barXOffset+=seriesBarWidth},this)},_frequentInterval:function(data){var intervalCounts={};for(var i=0;i0){this[0].data.forEach(function(plot){item.data.push({x:plot.x,y:0})})}else if(item.data.length===0){item.data.push({x:this.timeBase-(this.timeInterval||0),y:0})}this.push(item);if(this.legend){this.legend.addLine(this.itemByName(item.name))}},addData:function(data,x){var index=this.getIndex();Rickshaw.keys(data).forEach(function(name){if(!this.itemByName(name)){this.addItem({name:name})}},this);this.forEach(function(item){item.data.push({x:x||(index*this.timeInterval||1)+this.timeBase,y:data[item.name]||0})},this)},getIndex:function(){return this[0]&&this[0].data&&this[0].data.length?this[0].data.length:0},itemByName:function(name){for(var i=0;i1;i--){this.currentSize+=1;this.currentIndex+=1;this.forEach(function(item){item.data.unshift({x:((i-1)*this.timeInterval||1)+this.timeBase,y:0,i:i})},this)}}},addData:function($super,data,x){$super(data,x);this.currentSize+=1;this.currentIndex+=1;if(this.maxDataPoints!==undefined){while(this.currentSize>this.maxDataPoints){this.dropData()}}},dropData:function(){this.forEach(function(item){item.data.splice(0,1)});this.currentSize-=1},getIndex:function(){return this.currentIndex}});return Rickshaw}); \ No newline at end of file diff --git a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.analytics-view/analytics-view.hbs b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.analytics-view/analytics-view.hbs index 627fa4cbd2..34e83580d3 100644 --- a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.analytics-view/analytics-view.hbs +++ b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.analytics-view/analytics-view.hbs @@ -1,19 +1,20 @@ - -
+

Temperature

-
+
-
-
+
+
-
-
-
+
+
+
{{#zone "bottomJs"}} - {{js "js/devicetype-graph.js"}} + {{js "js/arduino.js"}} {{/zone}} diff --git a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.analytics-view/analytics-view.js b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.analytics-view/analytics-view.js index 1d5edffade..39359c2ea3 100644 --- a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.analytics-view/analytics-view.js +++ b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.analytics-view/analytics-view.js @@ -17,6 +17,8 @@ */ function onRequest(context) { + var devicemgtProps = require('/app/conf/devicemgt-props.js').config(); + var devices = context.unit.params.devices; var deviceType = context.uriParams.deviceType; var deviceId = request.getParameter("deviceId"); @@ -30,7 +32,10 @@ function onRequest(context) { var deviceModule = require("/app/modules/device.js").deviceModule; var device = deviceModule.viewDevice(deviceType, deviceId); if (device && device.status != "error") { - return {"device": device, "backendApiUri" : devicemgtProps["httpsURL"] + "/arduino/device/stats/" + deviceId}; + return { + "device": device, + "backendApiUri": devicemgtProps["httpsURL"] + "/arduino/device/stats/" + deviceId + }; } else { response.sendError(404, "Device Id " + deviceId + " of type " + deviceType + " cannot be found!"); exit(); diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.virtual_firealarm.analytics-view/public/js/devicetype-graph.js b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.analytics-view/public/js/arduino.js old mode 100755 new mode 100644 similarity index 83% rename from components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.virtual_firealarm.analytics-view/public/js/devicetype-graph.js rename to components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.analytics-view/public/js/arduino.js index 295427daec..4359dc60f6 --- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.virtual_firealarm.analytics-view/public/js/devicetype-graph.js +++ b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.analytics-view/public/js/arduino.js @@ -18,22 +18,21 @@ var palette = new Rickshaw.Color.Palette({scheme: "classic9"}); -function drawGraph_virtual_firealarm(from, to) { - $("#y_axis").html(""); - $("#smoother").html(""); - $("#legend").html(""); - $("#chart").html(""); - $("#x_axis").html(""); - $("#slider").html(""); - - var devices = $("#details").data("devices"); - +function drawGraph_arduino(from, to) { + $("#y_axis-temperature").html(""); + $("#smoother-temperature").html(""); + $("#legend-temperature").html(""); + $("#chart-temperature").html(""); + $("#x_axis-temperature").html(""); + $("#slider-temperature").html(""); + + var devices = $("#arduino-details").data("devices"); var tzOffset = new Date().getTimezoneOffset() * 60; - var chartWrapperElmId = "#div-chart"; + var chartWrapperElmId = "#arduino-div-chart"; var graphWidth = $(chartWrapperElmId).width() - 50; var graphConfig = { - element: document.getElementById("chart"), + element: document.getElementById("chart-temperature"), width: graphWidth, height: 400, strokeWidth: 2, @@ -66,10 +65,10 @@ function drawGraph_virtual_firealarm(from, to) { x: parseInt(new Date().getTime() / 1000), y: 0 }], - 'name': $("#details").data("devicename") + 'name': $("#arduino-details").data("devicename") }); } - + var graph = new Rickshaw.Graph(graphConfig); graph.render(); @@ -83,7 +82,7 @@ function drawGraph_virtual_firealarm(from, to) { var yAxis = new Rickshaw.Graph.Axis.Y({ graph: graph, orientation: 'left', - element: document.getElementById("y_axis"), + element: document.getElementById("y_axis-temperature"), width: 40, height: 410 }); @@ -92,12 +91,12 @@ function drawGraph_virtual_firealarm(from, to) { var slider = new Rickshaw.Graph.RangeSlider.Preview({ graph: graph, - element: document.getElementById("slider") + element: document.getElementById("slider-temperature") }); var legend = new Rickshaw.Graph.Legend({ graph: graph, - element: document.getElementById('legend') + element: document.getElementById('legend-temperature') }); var hoverDetail = new Rickshaw.Graph.HoverDetail({ @@ -131,7 +130,7 @@ function drawGraph_virtual_firealarm(from, to) { if (devices) { getData(); } else { - var backendApiUrl = $("#chart").data("backend-api-url") + "?from=" + from + "&to=" + to; + var backendApiUrl = $("#arduino-div-chart").data("backend-api-url") + "?from=" + from + "&to=" + to; var successCallback = function (data) { if (data) { drawLineGraph(JSON.parse(data)); @@ -146,7 +145,7 @@ function drawGraph_virtual_firealarm(from, to) { if (deviceIndex >= devices.length) { return; } - var backendApiUrl = $("#chart").data("backend-api-url") + devices[deviceIndex].deviceIdentifier + var backendApiUrl = $("#arduino-div-chart").data("backend-api-url") + devices[deviceIndex].deviceIdentifier + "?from=" + from + "&to=" + to; var successCallback = function (data) { if (data) { diff --git a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.realtime.analytics-view/analytics-view.hbs b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.realtime.analytics-view/analytics-view.hbs index 9d2f07c780..656ad5fc36 100644 --- a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.realtime.analytics-view/analytics-view.hbs +++ b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.realtime.analytics-view/analytics-view.hbs @@ -1,6 +1,5 @@ -{{#zone "topCss"}} - {{css "css/graph.css"}} -{{/zone}} +{{unit "cdmf.unit.lib.rickshaw-graph"}} +
Temperature
@@ -21,8 +20,6 @@ {{#zone "bottomJs"}} - {{js "js/d3.min.js"}} - {{js "js/rickshaw.min.js"}} {{js "js/moment.min.js"}} {{js "js/socket.io.min.js"}} {{js "js/device-stats.js"}} diff --git a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.realtime.analytics-view/public/css/graph.css b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.realtime.analytics-view/public/css/graph.css deleted file mode 100644 index 7d0c9bba1d..0000000000 --- a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.realtime.analytics-view/public/css/graph.css +++ /dev/null @@ -1,471 +0,0 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. 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. - */ - -/* graph */ - -.rickshaw_graph { - position: relative; -} - -.rickshaw_graph svg { - display: block; - overflow: hidden; -} - -/* ticks */ - -.rickshaw_graph .x_tick { - position: absolute; - top: 0; - bottom: 0; - width: 0; - border-left: 1px dotted rgba(0, 0, 0, 0.2); - pointer-events: none; -} - -.rickshaw_graph .x_tick .title { - position: absolute; - font-size: 12px; - font-family: Arial, sans-serif; - opacity: 0.5; - white-space: nowrap; - margin-left: 3px; - bottom: -20px; - height: auto; - border-bottom: none; -} - -/* annotations */ - -.rickshaw_annotation_timeline { - height: 1px; - border-top: 1px solid #e0e0e0; - margin-top: 10px; - position: relative; -} - -.rickshaw_annotation_timeline .annotation { - position: absolute; - height: 6px; - width: 6px; - margin-left: -2px; - top: -3px; - border-radius: 5px; - background-color: rgba(0, 0, 0, 0.25); -} - -.rickshaw_graph .annotation_line { - position: absolute; - top: 0; - bottom: -6px; - width: 0; - border-left: 2px solid rgba(0, 0, 0, 0.3); - display: none; -} - -.rickshaw_graph .annotation_line.active { - display: block; -} - -.rickshaw_graph .annotation_range { - background: rgba(0, 0, 0, 0.1); - display: none; - position: absolute; - top: 0; - bottom: -6px; -} - -.rickshaw_graph .annotation_range.active { - display: block; -} - -.rickshaw_graph .annotation_range.active.offscreen { - display: none; -} - -.rickshaw_annotation_timeline .annotation .content { - background: white; - color: black; - opacity: 0.9; - box-shadow: 0 0 2px rgba(0, 0, 0, 0.8); - border-radius: 3px; - position: relative; - z-index: 20; - font-size: 12px; - padding: 6px 8px 8px; - top: 18px; - left: -11px; - width: 160px; - display: none; - cursor: pointer; -} - -.rickshaw_annotation_timeline .annotation .content:before { - content: "\25b2"; - position: absolute; - top: -11px; - color: white; - text-shadow: 0 -1px 1px rgba(0, 0, 0, 0.8); -} - -.rickshaw_annotation_timeline .annotation.active, -.rickshaw_annotation_timeline .annotation:hover { - background-color: rgba(0, 0, 0, 0.8); - cursor: none; -} - -.rickshaw_annotation_timeline .annotation .content:hover { - z-index: 50; -} - -.rickshaw_annotation_timeline .annotation.active .content { - display: block; -} - -.rickshaw_annotation_timeline .annotation:hover .content { - display: block; - z-index: 50; -} - -.rickshaw_graph .y_axis, -.rickshaw_graph .x_axis_d3 { - fill: none; -} - -.rickshaw_graph .y_ticks .tick line, -.rickshaw_graph .x_ticks_d3 .tick { - stroke: rgba(0, 0, 0, 0.16); - stroke-width: 2px; - shape-rendering: crisp-edges; - pointer-events: none; -} - -.rickshaw_graph .y_grid .tick, -.rickshaw_graph .x_grid_d3 .tick { - z-index: -1; - stroke: rgba(0, 0, 0, 0.20); - stroke-width: 1px; - stroke-dasharray: 1 1; -} - -.rickshaw_graph .y_grid .tick[data-y-value="0"] { - stroke-dasharray: 1 0; -} - -.rickshaw_graph .y_grid path, -.rickshaw_graph .x_grid_d3 path { - fill: none; - stroke: none; -} - -.rickshaw_graph .y_ticks path, -.rickshaw_graph .x_ticks_d3 path { - fill: none; - stroke: #808080; -} - -.rickshaw_graph .y_ticks text, -.rickshaw_graph .x_ticks_d3 text { - opacity: 0.5; - font-size: 12px; - pointer-events: none; -} - -.rickshaw_graph .x_tick.glow .title, -.rickshaw_graph .y_ticks.glow text { - fill: black; - color: black; - text-shadow: -1px 1px 0 rgba(255, 255, 255, 0.1), - 1px -1px 0 rgba(255, 255, 255, 0.1), - 1px 1px 0 rgba(255, 255, 255, 0.1), - 0 1px 0 rgba(255, 255, 255, 0.1), - 0 -1px 0 rgba(255, 255, 255, 0.1), - 1px 0 0 rgba(255, 255, 255, 0.1), - -1px 0 0 rgba(255, 255, 255, 0.1), - -1px -1px 0 rgba(255, 255, 255, 0.1); -} - -.rickshaw_graph .x_tick.inverse .title, -.rickshaw_graph .y_ticks.inverse text { - fill: white; - color: white; - text-shadow: -1px 1px 0 rgba(0, 0, 0, 0.8), - 1px -1px 0 rgba(0, 0, 0, 0.8), - 1px 1px 0 rgba(0, 0, 0, 0.8), - 0 1px 0 rgba(0, 0, 0, 0.8), - 0 -1px 0 rgba(0, 0, 0, 0.8), - 1px 0 0 rgba(0, 0, 0, 0.8), - -1px 0 0 rgba(0, 0, 0, 0.8), - -1px -1px 0 rgba(0, 0, 0, 0.8); -} - -.custom_rickshaw_graph { - position: relative; - left: 40px; -} - -.custom_y_axis { - position: absolute; - width: 40px; - margin-top: -20px; -} - -.custom_slider { - left: 40px; -} - -.custom_x_axis { - position: relative; - left: 40px; - height: 30px; - width: 97%; - top: 20px; - text-align: right; -} - -.chartWrapper { - padding-top: 50px; -} - -/*detail*/ - -.rickshaw_graph .detail { - pointer-events: none; - position: absolute; - top: 0; - z-index: 2; - background: rgba(0, 0, 0, 0.1); - bottom: 0; - width: 1px; - transition: opacity 0.25s linear; - -moz-transition: opacity 0.25s linear; - -o-transition: opacity 0.25s linear; - -webkit-transition: opacity 0.25s linear; -} - -.rickshaw_graph .detail.inactive { - opacity: 0; -} - -.rickshaw_graph .detail .item.active { - opacity: 1; -} - -.rickshaw_graph .detail .x_label { - font-family: Arial, sans-serif; - border-radius: 3px; - padding: 6px; - opacity: 0.5; - border: 1px solid #e0e0e0; - font-size: 12px; - position: absolute; - background: white; - white-space: nowrap; -} - -.rickshaw_graph .detail .x_label.left { - left: 0; -} - -.rickshaw_graph .detail .x_label.right { - right: 0; -} - -.rickshaw_graph .detail .item { - position: absolute; - z-index: 2; - border-radius: 3px; - padding: 0.25em; - font-size: 12px; - font-family: Arial, sans-serif; - opacity: 0; - background: rgba(0, 0, 0, 0.4); - color: white; - border: 1px solid rgba(0, 0, 0, 0.4); - margin-left: 1em; - margin-right: 1em; - margin-top: -1em; - white-space: nowrap; -} - -.rickshaw_graph .detail .item.left { - left: 0; -} - -.rickshaw_graph .detail .item.right { - right: 0; -} - -.rickshaw_graph .detail .item.active { - opacity: 1; - background: rgba(0, 0, 0, 0.8); -} - -.rickshaw_graph .detail .item:after { - position: absolute; - display: block; - width: 0; - height: 0; - - content: ""; - - border: 5px solid transparent; -} - -.rickshaw_graph .detail .item.left:after { - top: 1em; - left: -5px; - margin-top: -5px; - border-right-color: rgba(0, 0, 0, 0.8); - border-left-width: 0; -} - -.rickshaw_graph .detail .item.right:after { - top: 1em; - right: -5px; - margin-top: -5px; - border-left-color: rgba(0, 0, 0, 0.8); - border-right-width: 0; -} - -.rickshaw_graph .detail .dot { - width: 4px; - height: 4px; - margin-left: -3px; - margin-top: -3.5px; - border-radius: 5px; - position: absolute; - box-shadow: 0 0 2px rgba(0, 0, 0, 0.6); - box-sizing: content-box; - -moz-box-sizing: content-box; - background: white; - border-width: 2px; - border-style: solid; - display: none; - background-clip: padding-box; -} - -.rickshaw_graph .detail .dot.active { - display: block; -} - -/*legend*/ -.rickshaw_legend { - font-family: Arial; - font-size: 12px; - color: white; - background: #404040; - display: inline-block; - padding: 12px 5px; - border-radius: 2px; - position: relative; - float: right; -} - -.rickshaw_legend:hover { - z-index: 10; -} - -.rickshaw_legend .swatch { - width: 10px; - height: 10px; - border: 1px solid rgba(0, 0, 0, 0.2); -} - -.rickshaw_legend .line { - clear: both; - line-height: 140%; - padding-right: 15px; -} - -.rickshaw_legend .line .swatch { - display: inline-block; - margin-right: 3px; - border-radius: 2px; -} - -.rickshaw_legend .label { - margin: 0; - white-space: nowrap; - display: inline; - font-size: inherit; - background-color: transparent; - color: inherit; - font-weight: normal; - line-height: normal; - padding: 0; - text-shadow: none; -} - -.rickshaw_legend .action:hover { - opacity: 0.6; -} - -.rickshaw_legend .action { - margin-right: 0.2em; - opacity: 0.2; - cursor: pointer; - font-size: 14px; -} - -.rickshaw_legend .line.disabled { - opacity: 0.4; -} - -.rickshaw_legend ul { - list-style-type: none; - padding: 0; - margin: 2px; - cursor: pointer; -} - -.rickshaw_legend li { - padding: 0 0 0 2px; - min-width: 80px; - white-space: nowrap; -} - -.rickshaw_legend li:hover { - background: rgba(255, 255, 255, 0.08); - border-radius: 3px; -} - -.rickshaw_legend li:active { - background: rgba(255, 255, 255, 0.2); - border-radius: 3px; -} - -.legend { - display: inline-block; - position: relative; - left: 8px; -} - -.legend_container { - float: right; - padding-right: 10px; - width: 0; - z-index: 1; - position: relative; - opacity: 0.7; -} - -.spaced { - margin-top: 20px !important; -} - diff --git a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.realtime.analytics-view/public/js/d3.min.js b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.realtime.analytics-view/public/js/d3.min.js deleted file mode 100644 index 71f9715eec..0000000000 --- a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.realtime.analytics-view/public/js/d3.min.js +++ /dev/null @@ -1,9488 +0,0 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. 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() { - var d3 = { - version: "3.5.2" - }; - if (!Date.now) Date.now = function() { - return +new Date(); - }; - var d3_arraySlice = [].slice, d3_array = function(list) { - return d3_arraySlice.call(list); - }; - var d3_document = document, d3_documentElement = d3_document.documentElement, d3_window = window; - try { - d3_array(d3_documentElement.childNodes)[0].nodeType; - } catch (e) { - d3_array = function(list) { - var i = list.length, array = new Array(i); - while (i--) array[i] = list[i]; - return array; - }; - } - try { - d3_document.createElement("div").style.setProperty("opacity", 0, ""); - } catch (error) { - var d3_element_prototype = d3_window.Element.prototype, d3_element_setAttribute = d3_element_prototype.setAttribute, d3_element_setAttributeNS = d3_element_prototype.setAttributeNS, d3_style_prototype = d3_window.CSSStyleDeclaration.prototype, d3_style_setProperty = d3_style_prototype.setProperty; - d3_element_prototype.setAttribute = function(name, value) { - d3_element_setAttribute.call(this, name, value + ""); - }; - d3_element_prototype.setAttributeNS = function(space, local, value) { - d3_element_setAttributeNS.call(this, space, local, value + ""); - }; - d3_style_prototype.setProperty = function(name, value, priority) { - d3_style_setProperty.call(this, name, value + "", priority); - }; - } - d3.ascending = d3_ascending; - function d3_ascending(a, b) { - return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN; - } - d3.descending = function(a, b) { - return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN; - }; - d3.min = function(array, f) { - var i = -1, n = array.length, a, b; - if (arguments.length === 1) { - while (++i < n) if ((b = array[i]) != null && b >= b) { - a = b; - break; - } - while (++i < n) if ((b = array[i]) != null && a > b) a = b; - } else { - while (++i < n) if ((b = f.call(array, array[i], i)) != null && b >= b) { - a = b; - break; - } - while (++i < n) if ((b = f.call(array, array[i], i)) != null && a > b) a = b; - } - return a; - }; - d3.max = function(array, f) { - var i = -1, n = array.length, a, b; - if (arguments.length === 1) { - while (++i < n) if ((b = array[i]) != null && b >= b) { - a = b; - break; - } - while (++i < n) if ((b = array[i]) != null && b > a) a = b; - } else { - while (++i < n) if ((b = f.call(array, array[i], i)) != null && b >= b) { - a = b; - break; - } - while (++i < n) if ((b = f.call(array, array[i], i)) != null && b > a) a = b; - } - return a; - }; - d3.extent = function(array, f) { - var i = -1, n = array.length, a, b, c; - if (arguments.length === 1) { - while (++i < n) if ((b = array[i]) != null && b >= b) { - a = c = b; - break; - } - while (++i < n) if ((b = array[i]) != null) { - if (a > b) a = b; - if (c < b) c = b; - } - } else { - while (++i < n) if ((b = f.call(array, array[i], i)) != null && b >= b) { - a = c = b; - break; - } - while (++i < n) if ((b = f.call(array, array[i], i)) != null) { - if (a > b) a = b; - if (c < b) c = b; - } - } - return [ a, c ]; - }; - function d3_number(x) { - return x === null ? NaN : +x; - } - function d3_numeric(x) { - return !isNaN(x); - } - d3.sum = function(array, f) { - var s = 0, n = array.length, a, i = -1; - if (arguments.length === 1) { - while (++i < n) if (d3_numeric(a = +array[i])) s += a; - } else { - while (++i < n) if (d3_numeric(a = +f.call(array, array[i], i))) s += a; - } - return s; - }; - d3.mean = function(array, f) { - var s = 0, n = array.length, a, i = -1, j = n; - if (arguments.length === 1) { - while (++i < n) if (d3_numeric(a = d3_number(array[i]))) s += a; else --j; - } else { - while (++i < n) if (d3_numeric(a = d3_number(f.call(array, array[i], i)))) s += a; else --j; - } - if (j) return s / j; - }; - d3.quantile = function(values, p) { - var H = (values.length - 1) * p + 1, h = Math.floor(H), v = +values[h - 1], e = H - h; - return e ? v + e * (values[h] - v) : v; - }; - d3.median = function(array, f) { - var numbers = [], n = array.length, a, i = -1; - if (arguments.length === 1) { - while (++i < n) if (d3_numeric(a = d3_number(array[i]))) numbers.push(a); - } else { - while (++i < n) if (d3_numeric(a = d3_number(f.call(array, array[i], i)))) numbers.push(a); - } - if (numbers.length) return d3.quantile(numbers.sort(d3_ascending), .5); - }; - d3.variance = function(array, f) { - var n = array.length, m = 0, a, d, s = 0, i = -1, j = 0; - if (arguments.length === 1) { - while (++i < n) { - if (d3_numeric(a = d3_number(array[i]))) { - d = a - m; - m += d / ++j; - s += d * (a - m); - } - } - } else { - while (++i < n) { - if (d3_numeric(a = d3_number(f.call(array, array[i], i)))) { - d = a - m; - m += d / ++j; - s += d * (a - m); - } - } - } - if (j > 1) return s / (j - 1); - }; - d3.deviation = function() { - var v = d3.variance.apply(this, arguments); - return v ? Math.sqrt(v) : v; - }; - function d3_bisector(compare) { - return { - left: function(a, x, lo, hi) { - if (arguments.length < 3) lo = 0; - if (arguments.length < 4) hi = a.length; - while (lo < hi) { - var mid = lo + hi >>> 1; - if (compare(a[mid], x) < 0) lo = mid + 1; else hi = mid; - } - return lo; - }, - right: function(a, x, lo, hi) { - if (arguments.length < 3) lo = 0; - if (arguments.length < 4) hi = a.length; - while (lo < hi) { - var mid = lo + hi >>> 1; - if (compare(a[mid], x) > 0) hi = mid; else lo = mid + 1; - } - return lo; - } - }; - } - var d3_bisect = d3_bisector(d3_ascending); - d3.bisectLeft = d3_bisect.left; - d3.bisect = d3.bisectRight = d3_bisect.right; - d3.bisector = function(f) { - return d3_bisector(f.length === 1 ? function(d, x) { - return d3_ascending(f(d), x); - } : f); - }; - d3.shuffle = function(array, i0, i1) { - if ((m = arguments.length) < 3) { - i1 = array.length; - if (m < 2) i0 = 0; - } - var m = i1 - i0, t, i; - while (m) { - i = Math.random() * m-- | 0; - t = array[m + i0], array[m + i0] = array[i + i0], array[i + i0] = t; - } - return array; - }; - d3.permute = function(array, indexes) { - var i = indexes.length, permutes = new Array(i); - while (i--) permutes[i] = array[indexes[i]]; - return permutes; - }; - d3.pairs = function(array) { - var i = 0, n = array.length - 1, p0, p1 = array[0], pairs = new Array(n < 0 ? 0 : n); - while (i < n) pairs[i] = [ p0 = p1, p1 = array[++i] ]; - return pairs; - }; - d3.zip = function() { - if (!(n = arguments.length)) return []; - for (var i = -1, m = d3.min(arguments, d3_zipLength), zips = new Array(m); ++i < m; ) { - for (var j = -1, n, zip = zips[i] = new Array(n); ++j < n; ) { - zip[j] = arguments[j][i]; - } - } - return zips; - }; - function d3_zipLength(d) { - return d.length; - } - d3.transpose = function(matrix) { - return d3.zip.apply(d3, matrix); - }; - d3.keys = function(map) { - var keys = []; - for (var key in map) keys.push(key); - return keys; - }; - d3.values = function(map) { - var values = []; - for (var key in map) values.push(map[key]); - return values; - }; - d3.entries = function(map) { - var entries = []; - for (var key in map) entries.push({ - key: key, - value: map[key] - }); - return entries; - }; - d3.merge = function(arrays) { - var n = arrays.length, m, i = -1, j = 0, merged, array; - while (++i < n) j += arrays[i].length; - merged = new Array(j); - while (--n >= 0) { - array = arrays[n]; - m = array.length; - while (--m >= 0) { - merged[--j] = array[m]; - } - } - return merged; - }; - var abs = Math.abs; - d3.range = function(start, stop, step) { - if (arguments.length < 3) { - step = 1; - if (arguments.length < 2) { - stop = start; - start = 0; - } - } - if ((stop - start) / step === Infinity) throw new Error("infinite range"); - var range = [], k = d3_range_integerScale(abs(step)), i = -1, j; - start *= k, stop *= k, step *= k; - if (step < 0) while ((j = start + step * ++i) > stop) range.push(j / k); else while ((j = start + step * ++i) < stop) range.push(j / k); - return range; - }; - function d3_range_integerScale(x) { - var k = 1; - while (x * k % 1) k *= 10; - return k; - } - function d3_class(ctor, properties) { - for (var key in properties) { - Object.defineProperty(ctor.prototype, key, { - value: properties[key], - enumerable: false - }); - } - } - d3.map = function(object, f) { - var map = new d3_Map(); - if (object instanceof d3_Map) { - object.forEach(function(key, value) { - map.set(key, value); - }); - } else if (Array.isArray(object)) { - var i = -1, n = object.length, o; - if (arguments.length === 1) while (++i < n) map.set(i, object[i]); else while (++i < n) map.set(f.call(object, o = object[i], i), o); - } else { - for (var key in object) map.set(key, object[key]); - } - return map; - }; - function d3_Map() { - this._ = Object.create(null); - } - var d3_map_proto = "__proto__", d3_map_zero = "\x00"; - d3_class(d3_Map, { - has: d3_map_has, - get: function(key) { - return this._[d3_map_escape(key)]; - }, - set: function(key, value) { - return this._[d3_map_escape(key)] = value; - }, - remove: d3_map_remove, - keys: d3_map_keys, - values: function() { - var values = []; - for (var key in this._) values.push(this._[key]); - return values; - }, - entries: function() { - var entries = []; - for (var key in this._) entries.push({ - key: d3_map_unescape(key), - value: this._[key] - }); - return entries; - }, - size: d3_map_size, - empty: d3_map_empty, - forEach: function(f) { - for (var key in this._) f.call(this, d3_map_unescape(key), this._[key]); - } - }); - function d3_map_escape(key) { - return (key += "") === d3_map_proto || key[0] === d3_map_zero ? d3_map_zero + key : key; - } - function d3_map_unescape(key) { - return (key += "")[0] === d3_map_zero ? key.slice(1) : key; - } - function d3_map_has(key) { - return d3_map_escape(key) in this._; - } - function d3_map_remove(key) { - return (key = d3_map_escape(key)) in this._ && delete this._[key]; - } - function d3_map_keys() { - var keys = []; - for (var key in this._) keys.push(d3_map_unescape(key)); - return keys; - } - function d3_map_size() { - var size = 0; - for (var key in this._) ++size; - return size; - } - function d3_map_empty() { - for (var key in this._) return false; - return true; - } - d3.nest = function() { - var nest = {}, keys = [], sortKeys = [], sortValues, rollup; - function map(mapType, array, depth) { - if (depth >= keys.length) return rollup ? rollup.call(nest, array) : sortValues ? array.sort(sortValues) : array; - var i = -1, n = array.length, key = keys[depth++], keyValue, object, setter, valuesByKey = new d3_Map(), values; - while (++i < n) { - if (values = valuesByKey.get(keyValue = key(object = array[i]))) { - values.push(object); - } else { - valuesByKey.set(keyValue, [ object ]); - } - } - if (mapType) { - object = mapType(); - setter = function(keyValue, values) { - object.set(keyValue, map(mapType, values, depth)); - }; - } else { - object = {}; - setter = function(keyValue, values) { - object[keyValue] = map(mapType, values, depth); - }; - } - valuesByKey.forEach(setter); - return object; - } - function entries(map, depth) { - if (depth >= keys.length) return map; - var array = [], sortKey = sortKeys[depth++]; - map.forEach(function(key, keyMap) { - array.push({ - key: key, - values: entries(keyMap, depth) - }); - }); - return sortKey ? array.sort(function(a, b) { - return sortKey(a.key, b.key); - }) : array; - } - nest.map = function(array, mapType) { - return map(mapType, array, 0); - }; - nest.entries = function(array) { - return entries(map(d3.map, array, 0), 0); - }; - nest.key = function(d) { - keys.push(d); - return nest; - }; - nest.sortKeys = function(order) { - sortKeys[keys.length - 1] = order; - return nest; - }; - nest.sortValues = function(order) { - sortValues = order; - return nest; - }; - nest.rollup = function(f) { - rollup = f; - return nest; - }; - return nest; - }; - d3.set = function(array) { - var set = new d3_Set(); - if (array) for (var i = 0, n = array.length; i < n; ++i) set.add(array[i]); - return set; - }; - function d3_Set() { - this._ = Object.create(null); - } - d3_class(d3_Set, { - has: d3_map_has, - add: function(key) { - this._[d3_map_escape(key += "")] = true; - return key; - }, - remove: d3_map_remove, - values: d3_map_keys, - size: d3_map_size, - empty: d3_map_empty, - forEach: function(f) { - for (var key in this._) f.call(this, d3_map_unescape(key)); - } - }); - d3.behavior = {}; - d3.rebind = function(target, source) { - var i = 1, n = arguments.length, method; - while (++i < n) target[method = arguments[i]] = d3_rebind(target, source, source[method]); - return target; - }; - function d3_rebind(target, source, method) { - return function() { - var value = method.apply(source, arguments); - return value === source ? target : value; - }; - } - function d3_vendorSymbol(object, name) { - if (name in object) return name; - name = name.charAt(0).toUpperCase() + name.slice(1); - for (var i = 0, n = d3_vendorPrefixes.length; i < n; ++i) { - var prefixName = d3_vendorPrefixes[i] + name; - if (prefixName in object) return prefixName; - } - } - var d3_vendorPrefixes = [ "webkit", "ms", "moz", "Moz", "o", "O" ]; - function d3_noop() {} - d3.dispatch = function() { - var dispatch = new d3_dispatch(), i = -1, n = arguments.length; - while (++i < n) dispatch[arguments[i]] = d3_dispatch_event(dispatch); - return dispatch; - }; - function d3_dispatch() {} - d3_dispatch.prototype.on = function(type, listener) { - var i = type.indexOf("."), name = ""; - if (i >= 0) { - name = type.slice(i + 1); - type = type.slice(0, i); - } - if (type) return arguments.length < 2 ? this[type].on(name) : this[type].on(name, listener); - if (arguments.length === 2) { - if (listener == null) for (type in this) { - if (this.hasOwnProperty(type)) this[type].on(name, null); - } - return this; - } - }; - function d3_dispatch_event(dispatch) { - var listeners = [], listenerByName = new d3_Map(); - function event() { - var z = listeners, i = -1, n = z.length, l; - while (++i < n) if (l = z[i].on) l.apply(this, arguments); - return dispatch; - } - event.on = function(name, listener) { - var l = listenerByName.get(name), i; - if (arguments.length < 2) return l && l.on; - if (l) { - l.on = null; - listeners = listeners.slice(0, i = listeners.indexOf(l)).concat(listeners.slice(i + 1)); - listenerByName.remove(name); - } - if (listener) listeners.push(listenerByName.set(name, { - on: listener - })); - return dispatch; - }; - return event; - } - d3.event = null; - function d3_eventPreventDefault() { - d3.event.preventDefault(); - } - function d3_eventSource() { - var e = d3.event, s; - while (s = e.sourceEvent) e = s; - return e; - } - function d3_eventDispatch(target) { - var dispatch = new d3_dispatch(), i = 0, n = arguments.length; - while (++i < n) dispatch[arguments[i]] = d3_dispatch_event(dispatch); - dispatch.of = function(thiz, argumentz) { - return function(e1) { - try { - var e0 = e1.sourceEvent = d3.event; - e1.target = target; - d3.event = e1; - dispatch[e1.type].apply(thiz, argumentz); - } finally { - d3.event = e0; - } - }; - }; - return dispatch; - } - d3.requote = function(s) { - return s.replace(d3_requote_re, "\\$&"); - }; - var d3_requote_re = /[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g; - var d3_subclass = {}.__proto__ ? function(object, prototype) { - object.__proto__ = prototype; - } : function(object, prototype) { - for (var property in prototype) object[property] = prototype[property]; - }; - function d3_selection(groups) { - d3_subclass(groups, d3_selectionPrototype); - return groups; - } - var d3_select = function(s, n) { - return n.querySelector(s); - }, d3_selectAll = function(s, n) { - return n.querySelectorAll(s); - }, d3_selectMatcher = d3_documentElement.matches || d3_documentElement[d3_vendorSymbol(d3_documentElement, "matchesSelector")], d3_selectMatches = function(n, s) { - return d3_selectMatcher.call(n, s); - }; - if (typeof Sizzle === "function") { - d3_select = function(s, n) { - return Sizzle(s, n)[0] || null; - }; - d3_selectAll = Sizzle; - d3_selectMatches = Sizzle.matchesSelector; - } - d3.selection = function() { - return d3_selectionRoot; - }; - var d3_selectionPrototype = d3.selection.prototype = []; - d3_selectionPrototype.select = function(selector) { - var subgroups = [], subgroup, subnode, group, node; - selector = d3_selection_selector(selector); - for (var j = -1, m = this.length; ++j < m; ) { - subgroups.push(subgroup = []); - subgroup.parentNode = (group = this[j]).parentNode; - for (var i = -1, n = group.length; ++i < n; ) { - if (node = group[i]) { - subgroup.push(subnode = selector.call(node, node.__data__, i, j)); - if (subnode && "__data__" in node) subnode.__data__ = node.__data__; - } else { - subgroup.push(null); - } - } - } - return d3_selection(subgroups); - }; - function d3_selection_selector(selector) { - return typeof selector === "function" ? selector : function() { - return d3_select(selector, this); - }; - } - d3_selectionPrototype.selectAll = function(selector) { - var subgroups = [], subgroup, node; - selector = d3_selection_selectorAll(selector); - for (var j = -1, m = this.length; ++j < m; ) { - for (var group = this[j], i = -1, n = group.length; ++i < n; ) { - if (node = group[i]) { - subgroups.push(subgroup = d3_array(selector.call(node, node.__data__, i, j))); - subgroup.parentNode = node; - } - } - } - return d3_selection(subgroups); - }; - function d3_selection_selectorAll(selector) { - return typeof selector === "function" ? selector : function() { - return d3_selectAll(selector, this); - }; - } - var d3_nsPrefix = { - svg: "http://www.w3.org/2000/svg", - xhtml: "http://www.w3.org/1999/xhtml", - xlink: "http://www.w3.org/1999/xlink", - xml: "http://www.w3.org/XML/1998/namespace", - xmlns: "http://www.w3.org/2000/xmlns/" - }; - d3.ns = { - prefix: d3_nsPrefix, - qualify: function(name) { - var i = name.indexOf(":"), prefix = name; - if (i >= 0) { - prefix = name.slice(0, i); - name = name.slice(i + 1); - } - return d3_nsPrefix.hasOwnProperty(prefix) ? { - space: d3_nsPrefix[prefix], - local: name - } : name; - } - }; - d3_selectionPrototype.attr = function(name, value) { - if (arguments.length < 2) { - if (typeof name === "string") { - var node = this.node(); - name = d3.ns.qualify(name); - return name.local ? node.getAttributeNS(name.space, name.local) : node.getAttribute(name); - } - for (value in name) this.each(d3_selection_attr(value, name[value])); - return this; - } - return this.each(d3_selection_attr(name, value)); - }; - function d3_selection_attr(name, value) { - name = d3.ns.qualify(name); - function attrNull() { - this.removeAttribute(name); - } - function attrNullNS() { - this.removeAttributeNS(name.space, name.local); - } - function attrConstant() { - this.setAttribute(name, value); - } - function attrConstantNS() { - this.setAttributeNS(name.space, name.local, value); - } - function attrFunction() { - var x = value.apply(this, arguments); - if (x == null) this.removeAttribute(name); else this.setAttribute(name, x); - } - function attrFunctionNS() { - var x = value.apply(this, arguments); - if (x == null) this.removeAttributeNS(name.space, name.local); else this.setAttributeNS(name.space, name.local, x); - } - return value == null ? name.local ? attrNullNS : attrNull : typeof value === "function" ? name.local ? attrFunctionNS : attrFunction : name.local ? attrConstantNS : attrConstant; - } - function d3_collapse(s) { - return s.trim().replace(/\s+/g, " "); - } - d3_selectionPrototype.classed = function(name, value) { - if (arguments.length < 2) { - if (typeof name === "string") { - var node = this.node(), n = (name = d3_selection_classes(name)).length, i = -1; - if (value = node.classList) { - while (++i < n) if (!value.contains(name[i])) return false; - } else { - value = node.getAttribute("class"); - while (++i < n) if (!d3_selection_classedRe(name[i]).test(value)) return false; - } - return true; - } - for (value in name) this.each(d3_selection_classed(value, name[value])); - return this; - } - return this.each(d3_selection_classed(name, value)); - }; - function d3_selection_classedRe(name) { - return new RegExp("(?:^|\\s+)" + d3.requote(name) + "(?:\\s+|$)", "g"); - } - function d3_selection_classes(name) { - return (name + "").trim().split(/^|\s+/); - } - function d3_selection_classed(name, value) { - name = d3_selection_classes(name).map(d3_selection_classedName); - var n = name.length; - function classedConstant() { - var i = -1; - while (++i < n) name[i](this, value); - } - function classedFunction() { - var i = -1, x = value.apply(this, arguments); - while (++i < n) name[i](this, x); - } - return typeof value === "function" ? classedFunction : classedConstant; - } - function d3_selection_classedName(name) { - var re = d3_selection_classedRe(name); - return function(node, value) { - if (c = node.classList) return value ? c.add(name) : c.remove(name); - var c = node.getAttribute("class") || ""; - if (value) { - re.lastIndex = 0; - if (!re.test(c)) node.setAttribute("class", d3_collapse(c + " " + name)); - } else { - node.setAttribute("class", d3_collapse(c.replace(re, " "))); - } - }; - } - d3_selectionPrototype.style = function(name, value, priority) { - var n = arguments.length; - if (n < 3) { - if (typeof name !== "string") { - if (n < 2) value = ""; - for (priority in name) this.each(d3_selection_style(priority, name[priority], value)); - return this; - } - if (n < 2) return d3_window.getComputedStyle(this.node(), null).getPropertyValue(name); - priority = ""; - } - return this.each(d3_selection_style(name, value, priority)); - }; - function d3_selection_style(name, value, priority) { - function styleNull() { - this.style.removeProperty(name); - } - function styleConstant() { - this.style.setProperty(name, value, priority); - } - function styleFunction() { - var x = value.apply(this, arguments); - if (x == null) this.style.removeProperty(name); else this.style.setProperty(name, x, priority); - } - return value == null ? styleNull : typeof value === "function" ? styleFunction : styleConstant; - } - d3_selectionPrototype.property = function(name, value) { - if (arguments.length < 2) { - if (typeof name === "string") return this.node()[name]; - for (value in name) this.each(d3_selection_property(value, name[value])); - return this; - } - return this.each(d3_selection_property(name, value)); - }; - function d3_selection_property(name, value) { - function propertyNull() { - delete this[name]; - } - function propertyConstant() { - this[name] = value; - } - function propertyFunction() { - var x = value.apply(this, arguments); - if (x == null) delete this[name]; else this[name] = x; - } - return value == null ? propertyNull : typeof value === "function" ? propertyFunction : propertyConstant; - } - d3_selectionPrototype.text = function(value) { - return arguments.length ? this.each(typeof value === "function" ? function() { - var v = value.apply(this, arguments); - this.textContent = v == null ? "" : v; - } : value == null ? function() { - this.textContent = ""; - } : function() { - this.textContent = value; - }) : this.node().textContent; - }; - d3_selectionPrototype.html = function(value) { - return arguments.length ? this.each(typeof value === "function" ? function() { - var v = value.apply(this, arguments); - this.innerHTML = v == null ? "" : v; - } : value == null ? function() { - this.innerHTML = ""; - } : function() { - this.innerHTML = value; - }) : this.node().innerHTML; - }; - d3_selectionPrototype.append = function(name) { - name = d3_selection_creator(name); - return this.select(function() { - return this.appendChild(name.apply(this, arguments)); - }); - }; - function d3_selection_creator(name) { - return typeof name === "function" ? name : (name = d3.ns.qualify(name)).local ? function() { - return this.ownerDocument.createElementNS(name.space, name.local); - } : function() { - return this.ownerDocument.createElementNS(this.namespaceURI, name); - }; - } - d3_selectionPrototype.insert = function(name, before) { - name = d3_selection_creator(name); - before = d3_selection_selector(before); - return this.select(function() { - return this.insertBefore(name.apply(this, arguments), before.apply(this, arguments) || null); - }); - }; - d3_selectionPrototype.remove = function() { - return this.each(d3_selectionRemove); - }; - function d3_selectionRemove() { - var parent = this.parentNode; - if (parent) parent.removeChild(this); - } - d3_selectionPrototype.data = function(value, key) { - var i = -1, n = this.length, group, node; - if (!arguments.length) { - value = new Array(n = (group = this[0]).length); - while (++i < n) { - if (node = group[i]) { - value[i] = node.__data__; - } - } - return value; - } - function bind(group, groupData) { - var i, n = group.length, m = groupData.length, n0 = Math.min(n, m), updateNodes = new Array(m), enterNodes = new Array(m), exitNodes = new Array(n), node, nodeData; - if (key) { - var nodeByKeyValue = new d3_Map(), keyValues = new Array(n), keyValue; - for (i = -1; ++i < n; ) { - if (nodeByKeyValue.has(keyValue = key.call(node = group[i], node.__data__, i))) { - exitNodes[i] = node; - } else { - nodeByKeyValue.set(keyValue, node); - } - keyValues[i] = keyValue; - } - for (i = -1; ++i < m; ) { - if (!(node = nodeByKeyValue.get(keyValue = key.call(groupData, nodeData = groupData[i], i)))) { - enterNodes[i] = d3_selection_dataNode(nodeData); - } else if (node !== true) { - updateNodes[i] = node; - node.__data__ = nodeData; - } - nodeByKeyValue.set(keyValue, true); - } - for (i = -1; ++i < n; ) { - if (nodeByKeyValue.get(keyValues[i]) !== true) { - exitNodes[i] = group[i]; - } - } - } else { - for (i = -1; ++i < n0; ) { - node = group[i]; - nodeData = groupData[i]; - if (node) { - node.__data__ = nodeData; - updateNodes[i] = node; - } else { - enterNodes[i] = d3_selection_dataNode(nodeData); - } - } - for (;i < m; ++i) { - enterNodes[i] = d3_selection_dataNode(groupData[i]); - } - for (;i < n; ++i) { - exitNodes[i] = group[i]; - } - } - enterNodes.update = updateNodes; - enterNodes.parentNode = updateNodes.parentNode = exitNodes.parentNode = group.parentNode; - enter.push(enterNodes); - update.push(updateNodes); - exit.push(exitNodes); - } - var enter = d3_selection_enter([]), update = d3_selection([]), exit = d3_selection([]); - if (typeof value === "function") { - while (++i < n) { - bind(group = this[i], value.call(group, group.parentNode.__data__, i)); - } - } else { - while (++i < n) { - bind(group = this[i], value); - } - } - update.enter = function() { - return enter; - }; - update.exit = function() { - return exit; - }; - return update; - }; - function d3_selection_dataNode(data) { - return { - __data__: data - }; - } - d3_selectionPrototype.datum = function(value) { - return arguments.length ? this.property("__data__", value) : this.property("__data__"); - }; - d3_selectionPrototype.filter = function(filter) { - var subgroups = [], subgroup, group, node; - if (typeof filter !== "function") filter = d3_selection_filter(filter); - for (var j = 0, m = this.length; j < m; j++) { - subgroups.push(subgroup = []); - subgroup.parentNode = (group = this[j]).parentNode; - for (var i = 0, n = group.length; i < n; i++) { - if ((node = group[i]) && filter.call(node, node.__data__, i, j)) { - subgroup.push(node); - } - } - } - return d3_selection(subgroups); - }; - function d3_selection_filter(selector) { - return function() { - return d3_selectMatches(this, selector); - }; - } - d3_selectionPrototype.order = function() { - for (var j = -1, m = this.length; ++j < m; ) { - for (var group = this[j], i = group.length - 1, next = group[i], node; --i >= 0; ) { - if (node = group[i]) { - if (next && next !== node.nextSibling) next.parentNode.insertBefore(node, next); - next = node; - } - } - } - return this; - }; - d3_selectionPrototype.sort = function(comparator) { - comparator = d3_selection_sortComparator.apply(this, arguments); - for (var j = -1, m = this.length; ++j < m; ) this[j].sort(comparator); - return this.order(); - }; - function d3_selection_sortComparator(comparator) { - if (!arguments.length) comparator = d3_ascending; - return function(a, b) { - return a && b ? comparator(a.__data__, b.__data__) : !a - !b; - }; - } - d3_selectionPrototype.each = function(callback) { - return d3_selection_each(this, function(node, i, j) { - callback.call(node, node.__data__, i, j); - }); - }; - function d3_selection_each(groups, callback) { - for (var j = 0, m = groups.length; j < m; j++) { - for (var group = groups[j], i = 0, n = group.length, node; i < n; i++) { - if (node = group[i]) callback(node, i, j); - } - } - return groups; - } - d3_selectionPrototype.call = function(callback) { - var args = d3_array(arguments); - callback.apply(args[0] = this, args); - return this; - }; - d3_selectionPrototype.empty = function() { - return !this.node(); - }; - d3_selectionPrototype.node = function() { - for (var j = 0, m = this.length; j < m; j++) { - for (var group = this[j], i = 0, n = group.length; i < n; i++) { - var node = group[i]; - if (node) return node; - } - } - return null; - }; - d3_selectionPrototype.size = function() { - var n = 0; - d3_selection_each(this, function() { - ++n; - }); - return n; - }; - function d3_selection_enter(selection) { - d3_subclass(selection, d3_selection_enterPrototype); - return selection; - } - var d3_selection_enterPrototype = []; - d3.selection.enter = d3_selection_enter; - d3.selection.enter.prototype = d3_selection_enterPrototype; - d3_selection_enterPrototype.append = d3_selectionPrototype.append; - d3_selection_enterPrototype.empty = d3_selectionPrototype.empty; - d3_selection_enterPrototype.node = d3_selectionPrototype.node; - d3_selection_enterPrototype.call = d3_selectionPrototype.call; - d3_selection_enterPrototype.size = d3_selectionPrototype.size; - d3_selection_enterPrototype.select = function(selector) { - var subgroups = [], subgroup, subnode, upgroup, group, node; - for (var j = -1, m = this.length; ++j < m; ) { - upgroup = (group = this[j]).update; - subgroups.push(subgroup = []); - subgroup.parentNode = group.parentNode; - for (var i = -1, n = group.length; ++i < n; ) { - if (node = group[i]) { - subgroup.push(upgroup[i] = subnode = selector.call(group.parentNode, node.__data__, i, j)); - subnode.__data__ = node.__data__; - } else { - subgroup.push(null); - } - } - } - return d3_selection(subgroups); - }; - d3_selection_enterPrototype.insert = function(name, before) { - if (arguments.length < 2) before = d3_selection_enterInsertBefore(this); - return d3_selectionPrototype.insert.call(this, name, before); - }; - function d3_selection_enterInsertBefore(enter) { - var i0, j0; - return function(d, i, j) { - var group = enter[j].update, n = group.length, node; - if (j != j0) j0 = j, i0 = 0; - if (i >= i0) i0 = i + 1; - while (!(node = group[i0]) && ++i0 < n) ; - return node; - }; - } - d3.select = function(node) { - var group = [ typeof node === "string" ? d3_select(node, d3_document) : node ]; - group.parentNode = d3_documentElement; - return d3_selection([ group ]); - }; - d3.selectAll = function(nodes) { - var group = d3_array(typeof nodes === "string" ? d3_selectAll(nodes, d3_document) : nodes); - group.parentNode = d3_documentElement; - return d3_selection([ group ]); - }; - var d3_selectionRoot = d3.select(d3_documentElement); - d3_selectionPrototype.on = function(type, listener, capture) { - var n = arguments.length; - if (n < 3) { - if (typeof type !== "string") { - if (n < 2) listener = false; - for (capture in type) this.each(d3_selection_on(capture, type[capture], listener)); - return this; - } - if (n < 2) return (n = this.node()["__on" + type]) && n._; - capture = false; - } - return this.each(d3_selection_on(type, listener, capture)); - }; - function d3_selection_on(type, listener, capture) { - var name = "__on" + type, i = type.indexOf("."), wrap = d3_selection_onListener; - if (i > 0) type = type.slice(0, i); - var filter = d3_selection_onFilters.get(type); - if (filter) type = filter, wrap = d3_selection_onFilter; - function onRemove() { - var l = this[name]; - if (l) { - this.removeEventListener(type, l, l.$); - delete this[name]; - } - } - function onAdd() { - var l = wrap(listener, d3_array(arguments)); - onRemove.call(this); - this.addEventListener(type, this[name] = l, l.$ = capture); - l._ = listener; - } - function removeAll() { - var re = new RegExp("^__on([^.]+)" + d3.requote(type) + "$"), match; - for (var name in this) { - if (match = name.match(re)) { - var l = this[name]; - this.removeEventListener(match[1], l, l.$); - delete this[name]; - } - } - } - return i ? listener ? onAdd : onRemove : listener ? d3_noop : removeAll; - } - var d3_selection_onFilters = d3.map({ - mouseenter: "mouseover", - mouseleave: "mouseout" - }); - d3_selection_onFilters.forEach(function(k) { - if ("on" + k in d3_document) d3_selection_onFilters.remove(k); - }); - function d3_selection_onListener(listener, argumentz) { - return function(e) { - var o = d3.event; - d3.event = e; - argumentz[0] = this.__data__; - try { - listener.apply(this, argumentz); - } finally { - d3.event = o; - } - }; - } - function d3_selection_onFilter(listener, argumentz) { - var l = d3_selection_onListener(listener, argumentz); - return function(e) { - var target = this, related = e.relatedTarget; - if (!related || related !== target && !(related.compareDocumentPosition(target) & 8)) { - l.call(target, e); - } - }; - } - var d3_event_dragSelect = "onselectstart" in d3_document ? null : d3_vendorSymbol(d3_documentElement.style, "userSelect"), d3_event_dragId = 0; - function d3_event_dragSuppress() { - var name = ".dragsuppress-" + ++d3_event_dragId, click = "click" + name, w = d3.select(d3_window).on("touchmove" + name, d3_eventPreventDefault).on("dragstart" + name, d3_eventPreventDefault).on("selectstart" + name, d3_eventPreventDefault); - if (d3_event_dragSelect) { - var style = d3_documentElement.style, select = style[d3_event_dragSelect]; - style[d3_event_dragSelect] = "none"; - } - return function(suppressClick) { - w.on(name, null); - if (d3_event_dragSelect) style[d3_event_dragSelect] = select; - if (suppressClick) { - var off = function() { - w.on(click, null); - }; - w.on(click, function() { - d3_eventPreventDefault(); - off(); - }, true); - setTimeout(off, 0); - } - }; - } - d3.mouse = function(container) { - return d3_mousePoint(container, d3_eventSource()); - }; - var d3_mouse_bug44083 = /WebKit/.test(d3_window.navigator.userAgent) ? -1 : 0; - function d3_mousePoint(container, e) { - if (e.changedTouches) e = e.changedTouches[0]; - var svg = container.ownerSVGElement || container; - if (svg.createSVGPoint) { - var point = svg.createSVGPoint(); - if (d3_mouse_bug44083 < 0 && (d3_window.scrollX || d3_window.scrollY)) { - svg = d3.select("body").append("svg").style({ - position: "absolute", - top: 0, - left: 0, - margin: 0, - padding: 0, - border: "none" - }, "important"); - var ctm = svg[0][0].getScreenCTM(); - d3_mouse_bug44083 = !(ctm.f || ctm.e); - svg.remove(); - } - if (d3_mouse_bug44083) point.x = e.pageX, point.y = e.pageY; else point.x = e.clientX, - point.y = e.clientY; - point = point.matrixTransform(container.getScreenCTM().inverse()); - return [ point.x, point.y ]; - } - var rect = container.getBoundingClientRect(); - return [ e.clientX - rect.left - container.clientLeft, e.clientY - rect.top - container.clientTop ]; - } - d3.touch = function(container, touches, identifier) { - if (arguments.length < 3) identifier = touches, touches = d3_eventSource().changedTouches; - if (touches) for (var i = 0, n = touches.length, touch; i < n; ++i) { - if ((touch = touches[i]).identifier === identifier) { - return d3_mousePoint(container, touch); - } - } - }; - d3.behavior.drag = function() { - var event = d3_eventDispatch(drag, "drag", "dragstart", "dragend"), origin = null, mousedown = dragstart(d3_noop, d3.mouse, d3_behavior_dragMouseSubject, "mousemove", "mouseup"), touchstart = dragstart(d3_behavior_dragTouchId, d3.touch, d3_behavior_dragTouchSubject, "touchmove", "touchend"); - function drag() { - this.on("mousedown.drag", mousedown).on("touchstart.drag", touchstart); - } - function dragstart(id, position, subject, move, end) { - return function() { - var that = this, target = d3.event.target, parent = that.parentNode, dispatch = event.of(that, arguments), dragged = 0, dragId = id(), dragName = ".drag" + (dragId == null ? "" : "-" + dragId), dragOffset, dragSubject = d3.select(subject()).on(move + dragName, moved).on(end + dragName, ended), dragRestore = d3_event_dragSuppress(), position0 = position(parent, dragId); - if (origin) { - dragOffset = origin.apply(that, arguments); - dragOffset = [ dragOffset.x - position0[0], dragOffset.y - position0[1] ]; - } else { - dragOffset = [ 0, 0 ]; - } - dispatch({ - type: "dragstart" - }); - function moved() { - var position1 = position(parent, dragId), dx, dy; - if (!position1) return; - dx = position1[0] - position0[0]; - dy = position1[1] - position0[1]; - dragged |= dx | dy; - position0 = position1; - dispatch({ - type: "drag", - x: position1[0] + dragOffset[0], - y: position1[1] + dragOffset[1], - dx: dx, - dy: dy - }); - } - function ended() { - if (!position(parent, dragId)) return; - dragSubject.on(move + dragName, null).on(end + dragName, null); - dragRestore(dragged && d3.event.target === target); - dispatch({ - type: "dragend" - }); - } - }; - } - drag.origin = function(x) { - if (!arguments.length) return origin; - origin = x; - return drag; - }; - return d3.rebind(drag, event, "on"); - }; - function d3_behavior_dragTouchId() { - return d3.event.changedTouches[0].identifier; - } - function d3_behavior_dragTouchSubject() { - return d3.event.target; - } - function d3_behavior_dragMouseSubject() { - return d3_window; - } - d3.touches = function(container, touches) { - if (arguments.length < 2) touches = d3_eventSource().touches; - return touches ? d3_array(touches).map(function(touch) { - var point = d3_mousePoint(container, touch); - point.identifier = touch.identifier; - return point; - }) : []; - }; - var ε = 1e-6, ε2 = ε * ε, π = Math.PI, τ = 2 * π, τε = τ - ε, halfπ = π / 2, d3_radians = π / 180, d3_degrees = 180 / π; - function d3_sgn(x) { - return x > 0 ? 1 : x < 0 ? -1 : 0; - } - function d3_cross2d(a, b, c) { - return (b[0] - a[0]) * (c[1] - a[1]) - (b[1] - a[1]) * (c[0] - a[0]); - } - function d3_acos(x) { - return x > 1 ? 0 : x < -1 ? π : Math.acos(x); - } - function d3_asin(x) { - return x > 1 ? halfπ : x < -1 ? -halfπ : Math.asin(x); - } - function d3_sinh(x) { - return ((x = Math.exp(x)) - 1 / x) / 2; - } - function d3_cosh(x) { - return ((x = Math.exp(x)) + 1 / x) / 2; - } - function d3_tanh(x) { - return ((x = Math.exp(2 * x)) - 1) / (x + 1); - } - function d3_haversin(x) { - return (x = Math.sin(x / 2)) * x; - } - var ρ = Math.SQRT2, ρ2 = 2, ρ4 = 4; - d3.interpolateZoom = function(p0, p1) { - var ux0 = p0[0], uy0 = p0[1], w0 = p0[2], ux1 = p1[0], uy1 = p1[1], w1 = p1[2]; - var dx = ux1 - ux0, dy = uy1 - uy0, d2 = dx * dx + dy * dy, d1 = Math.sqrt(d2), b0 = (w1 * w1 - w0 * w0 + ρ4 * d2) / (2 * w0 * ρ2 * d1), b1 = (w1 * w1 - w0 * w0 - ρ4 * d2) / (2 * w1 * ρ2 * d1), r0 = Math.log(Math.sqrt(b0 * b0 + 1) - b0), r1 = Math.log(Math.sqrt(b1 * b1 + 1) - b1), dr = r1 - r0, S = (dr || Math.log(w1 / w0)) / ρ; - function interpolate(t) { - var s = t * S; - if (dr) { - var coshr0 = d3_cosh(r0), u = w0 / (ρ2 * d1) * (coshr0 * d3_tanh(ρ * s + r0) - d3_sinh(r0)); - return [ ux0 + u * dx, uy0 + u * dy, w0 * coshr0 / d3_cosh(ρ * s + r0) ]; - } - return [ ux0 + t * dx, uy0 + t * dy, w0 * Math.exp(ρ * s) ]; - } - interpolate.duration = S * 1e3; - return interpolate; - }; - d3.behavior.zoom = function() { - var view = { - x: 0, - y: 0, - k: 1 - }, translate0, center0, center, size = [ 960, 500 ], scaleExtent = d3_behavior_zoomInfinity, duration = 250, zooming = 0, mousedown = "mousedown.zoom", mousemove = "mousemove.zoom", mouseup = "mouseup.zoom", mousewheelTimer, touchstart = "touchstart.zoom", touchtime, event = d3_eventDispatch(zoom, "zoomstart", "zoom", "zoomend"), x0, x1, y0, y1; - function zoom(g) { - g.on(mousedown, mousedowned).on(d3_behavior_zoomWheel + ".zoom", mousewheeled).on("dblclick.zoom", dblclicked).on(touchstart, touchstarted); - } - zoom.event = function(g) { - g.each(function() { - var dispatch = event.of(this, arguments), view1 = view; - if (d3_transitionInheritId) { - d3.select(this).transition().each("start.zoom", function() { - view = this.__chart__ || { - x: 0, - y: 0, - k: 1 - }; - zoomstarted(dispatch); - }).tween("zoom:zoom", function() { - var dx = size[0], dy = size[1], cx = center0 ? center0[0] : dx / 2, cy = center0 ? center0[1] : dy / 2, i = d3.interpolateZoom([ (cx - view.x) / view.k, (cy - view.y) / view.k, dx / view.k ], [ (cx - view1.x) / view1.k, (cy - view1.y) / view1.k, dx / view1.k ]); - return function(t) { - var l = i(t), k = dx / l[2]; - this.__chart__ = view = { - x: cx - l[0] * k, - y: cy - l[1] * k, - k: k - }; - zoomed(dispatch); - }; - }).each("interrupt.zoom", function() { - zoomended(dispatch); - }).each("end.zoom", function() { - zoomended(dispatch); - }); - } else { - this.__chart__ = view; - zoomstarted(dispatch); - zoomed(dispatch); - zoomended(dispatch); - } - }); - }; - zoom.translate = function(_) { - if (!arguments.length) return [ view.x, view.y ]; - view = { - x: +_[0], - y: +_[1], - k: view.k - }; - rescale(); - return zoom; - }; - zoom.scale = function(_) { - if (!arguments.length) return view.k; - view = { - x: view.x, - y: view.y, - k: +_ - }; - rescale(); - return zoom; - }; - zoom.scaleExtent = function(_) { - if (!arguments.length) return scaleExtent; - scaleExtent = _ == null ? d3_behavior_zoomInfinity : [ +_[0], +_[1] ]; - return zoom; - }; - zoom.center = function(_) { - if (!arguments.length) return center; - center = _ && [ +_[0], +_[1] ]; - return zoom; - }; - zoom.size = function(_) { - if (!arguments.length) return size; - size = _ && [ +_[0], +_[1] ]; - return zoom; - }; - zoom.duration = function(_) { - if (!arguments.length) return duration; - duration = +_; - return zoom; - }; - zoom.x = function(z) { - if (!arguments.length) return x1; - x1 = z; - x0 = z.copy(); - view = { - x: 0, - y: 0, - k: 1 - }; - return zoom; - }; - zoom.y = function(z) { - if (!arguments.length) return y1; - y1 = z; - y0 = z.copy(); - view = { - x: 0, - y: 0, - k: 1 - }; - return zoom; - }; - function location(p) { - return [ (p[0] - view.x) / view.k, (p[1] - view.y) / view.k ]; - } - function point(l) { - return [ l[0] * view.k + view.x, l[1] * view.k + view.y ]; - } - function scaleTo(s) { - view.k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], s)); - } - function translateTo(p, l) { - l = point(l); - view.x += p[0] - l[0]; - view.y += p[1] - l[1]; - } - function zoomTo(that, p, l, k) { - that.__chart__ = { - x: view.x, - y: view.y, - k: view.k - }; - scaleTo(Math.pow(2, k)); - translateTo(center0 = p, l); - that = d3.select(that); - if (duration > 0) that = that.transition().duration(duration); - that.call(zoom.event); - } - function rescale() { - if (x1) x1.domain(x0.range().map(function(x) { - return (x - view.x) / view.k; - }).map(x0.invert)); - if (y1) y1.domain(y0.range().map(function(y) { - return (y - view.y) / view.k; - }).map(y0.invert)); - } - function zoomstarted(dispatch) { - if (!zooming++) dispatch({ - type: "zoomstart" - }); - } - function zoomed(dispatch) { - rescale(); - dispatch({ - type: "zoom", - scale: view.k, - translate: [ view.x, view.y ] - }); - } - function zoomended(dispatch) { - if (!--zooming) dispatch({ - type: "zoomend" - }); - center0 = null; - } - function mousedowned() { - var that = this, target = d3.event.target, dispatch = event.of(that, arguments), dragged = 0, subject = d3.select(d3_window).on(mousemove, moved).on(mouseup, ended), location0 = location(d3.mouse(that)), dragRestore = d3_event_dragSuppress(); - d3_selection_interrupt.call(that); - zoomstarted(dispatch); - function moved() { - dragged = 1; - translateTo(d3.mouse(that), location0); - zoomed(dispatch); - } - function ended() { - subject.on(mousemove, null).on(mouseup, null); - dragRestore(dragged && d3.event.target === target); - zoomended(dispatch); - } - } - function touchstarted() { - var that = this, dispatch = event.of(that, arguments), locations0 = {}, distance0 = 0, scale0, zoomName = ".zoom-" + d3.event.changedTouches[0].identifier, touchmove = "touchmove" + zoomName, touchend = "touchend" + zoomName, targets = [], subject = d3.select(that), dragRestore = d3_event_dragSuppress(); - started(); - zoomstarted(dispatch); - subject.on(mousedown, null).on(touchstart, started); - function relocate() { - var touches = d3.touches(that); - scale0 = view.k; - touches.forEach(function(t) { - if (t.identifier in locations0) locations0[t.identifier] = location(t); - }); - return touches; - } - function started() { - var target = d3.event.target; - d3.select(target).on(touchmove, moved).on(touchend, ended); - targets.push(target); - var changed = d3.event.changedTouches; - for (var i = 0, n = changed.length; i < n; ++i) { - locations0[changed[i].identifier] = null; - } - var touches = relocate(), now = Date.now(); - if (touches.length === 1) { - if (now - touchtime < 500) { - var p = touches[0]; - zoomTo(that, p, locations0[p.identifier], Math.floor(Math.log(view.k) / Math.LN2) + 1); - d3_eventPreventDefault(); - } - touchtime = now; - } else if (touches.length > 1) { - var p = touches[0], q = touches[1], dx = p[0] - q[0], dy = p[1] - q[1]; - distance0 = dx * dx + dy * dy; - } - } - function moved() { - var touches = d3.touches(that), p0, l0, p1, l1; - d3_selection_interrupt.call(that); - for (var i = 0, n = touches.length; i < n; ++i, l1 = null) { - p1 = touches[i]; - if (l1 = locations0[p1.identifier]) { - if (l0) break; - p0 = p1, l0 = l1; - } - } - if (l1) { - var distance1 = (distance1 = p1[0] - p0[0]) * distance1 + (distance1 = p1[1] - p0[1]) * distance1, scale1 = distance0 && Math.sqrt(distance1 / distance0); - p0 = [ (p0[0] + p1[0]) / 2, (p0[1] + p1[1]) / 2 ]; - l0 = [ (l0[0] + l1[0]) / 2, (l0[1] + l1[1]) / 2 ]; - scaleTo(scale1 * scale0); - } - touchtime = null; - translateTo(p0, l0); - zoomed(dispatch); - } - function ended() { - if (d3.event.touches.length) { - var changed = d3.event.changedTouches; - for (var i = 0, n = changed.length; i < n; ++i) { - delete locations0[changed[i].identifier]; - } - for (var identifier in locations0) { - return void relocate(); - } - } - d3.selectAll(targets).on(zoomName, null); - subject.on(mousedown, mousedowned).on(touchstart, touchstarted); - dragRestore(); - zoomended(dispatch); - } - } - function mousewheeled() { - var dispatch = event.of(this, arguments); - if (mousewheelTimer) clearTimeout(mousewheelTimer); else translate0 = location(center0 = center || d3.mouse(this)), - d3_selection_interrupt.call(this), zoomstarted(dispatch); - mousewheelTimer = setTimeout(function() { - mousewheelTimer = null; - zoomended(dispatch); - }, 50); - d3_eventPreventDefault(); - scaleTo(Math.pow(2, d3_behavior_zoomDelta() * .002) * view.k); - translateTo(center0, translate0); - zoomed(dispatch); - } - function dblclicked() { - var p = d3.mouse(this), k = Math.log(view.k) / Math.LN2; - zoomTo(this, p, location(p), d3.event.shiftKey ? Math.ceil(k) - 1 : Math.floor(k) + 1); - } - return d3.rebind(zoom, event, "on"); - }; - var d3_behavior_zoomInfinity = [ 0, Infinity ]; - var d3_behavior_zoomDelta, d3_behavior_zoomWheel = "onwheel" in d3_document ? (d3_behavior_zoomDelta = function() { - return -d3.event.deltaY * (d3.event.deltaMode ? 120 : 1); - }, "wheel") : "onmousewheel" in d3_document ? (d3_behavior_zoomDelta = function() { - return d3.event.wheelDelta; - }, "mousewheel") : (d3_behavior_zoomDelta = function() { - return -d3.event.detail; - }, "MozMousePixelScroll"); - d3.color = d3_color; - function d3_color() {} - d3_color.prototype.toString = function() { - return this.rgb() + ""; - }; - d3.hsl = d3_hsl; - function d3_hsl(h, s, l) { - return this instanceof d3_hsl ? void (this.h = +h, this.s = +s, this.l = +l) : arguments.length < 2 ? h instanceof d3_hsl ? new d3_hsl(h.h, h.s, h.l) : d3_rgb_parse("" + h, d3_rgb_hsl, d3_hsl) : new d3_hsl(h, s, l); - } - var d3_hslPrototype = d3_hsl.prototype = new d3_color(); - d3_hslPrototype.brighter = function(k) { - k = Math.pow(.7, arguments.length ? k : 1); - return new d3_hsl(this.h, this.s, this.l / k); - }; - d3_hslPrototype.darker = function(k) { - k = Math.pow(.7, arguments.length ? k : 1); - return new d3_hsl(this.h, this.s, k * this.l); - }; - d3_hslPrototype.rgb = function() { - return d3_hsl_rgb(this.h, this.s, this.l); - }; - function d3_hsl_rgb(h, s, l) { - var m1, m2; - h = isNaN(h) ? 0 : (h %= 360) < 0 ? h + 360 : h; - s = isNaN(s) ? 0 : s < 0 ? 0 : s > 1 ? 1 : s; - l = l < 0 ? 0 : l > 1 ? 1 : l; - m2 = l <= .5 ? l * (1 + s) : l + s - l * s; - m1 = 2 * l - m2; - function v(h) { - if (h > 360) h -= 360; else if (h < 0) h += 360; - if (h < 60) return m1 + (m2 - m1) * h / 60; - if (h < 180) return m2; - if (h < 240) return m1 + (m2 - m1) * (240 - h) / 60; - return m1; - } - function vv(h) { - return Math.round(v(h) * 255); - } - return new d3_rgb(vv(h + 120), vv(h), vv(h - 120)); - } - d3.hcl = d3_hcl; - function d3_hcl(h, c, l) { - return this instanceof d3_hcl ? void (this.h = +h, this.c = +c, this.l = +l) : arguments.length < 2 ? h instanceof d3_hcl ? new d3_hcl(h.h, h.c, h.l) : h instanceof d3_lab ? d3_lab_hcl(h.l, h.a, h.b) : d3_lab_hcl((h = d3_rgb_lab((h = d3.rgb(h)).r, h.g, h.b)).l, h.a, h.b) : new d3_hcl(h, c, l); - } - var d3_hclPrototype = d3_hcl.prototype = new d3_color(); - d3_hclPrototype.brighter = function(k) { - return new d3_hcl(this.h, this.c, Math.min(100, this.l + d3_lab_K * (arguments.length ? k : 1))); - }; - d3_hclPrototype.darker = function(k) { - return new d3_hcl(this.h, this.c, Math.max(0, this.l - d3_lab_K * (arguments.length ? k : 1))); - }; - d3_hclPrototype.rgb = function() { - return d3_hcl_lab(this.h, this.c, this.l).rgb(); - }; - function d3_hcl_lab(h, c, l) { - if (isNaN(h)) h = 0; - if (isNaN(c)) c = 0; - return new d3_lab(l, Math.cos(h *= d3_radians) * c, Math.sin(h) * c); - } - d3.lab = d3_lab; - function d3_lab(l, a, b) { - return this instanceof d3_lab ? void (this.l = +l, this.a = +a, this.b = +b) : arguments.length < 2 ? l instanceof d3_lab ? new d3_lab(l.l, l.a, l.b) : l instanceof d3_hcl ? d3_hcl_lab(l.h, l.c, l.l) : d3_rgb_lab((l = d3_rgb(l)).r, l.g, l.b) : new d3_lab(l, a, b); - } - var d3_lab_K = 18; - var d3_lab_X = .95047, d3_lab_Y = 1, d3_lab_Z = 1.08883; - var d3_labPrototype = d3_lab.prototype = new d3_color(); - d3_labPrototype.brighter = function(k) { - return new d3_lab(Math.min(100, this.l + d3_lab_K * (arguments.length ? k : 1)), this.a, this.b); - }; - d3_labPrototype.darker = function(k) { - return new d3_lab(Math.max(0, this.l - d3_lab_K * (arguments.length ? k : 1)), this.a, this.b); - }; - d3_labPrototype.rgb = function() { - return d3_lab_rgb(this.l, this.a, this.b); - }; - function d3_lab_rgb(l, a, b) { - var y = (l + 16) / 116, x = y + a / 500, z = y - b / 200; - x = d3_lab_xyz(x) * d3_lab_X; - y = d3_lab_xyz(y) * d3_lab_Y; - z = d3_lab_xyz(z) * d3_lab_Z; - return new d3_rgb(d3_xyz_rgb(3.2404542 * x - 1.5371385 * y - .4985314 * z), d3_xyz_rgb(-.969266 * x + 1.8760108 * y + .041556 * z), d3_xyz_rgb(.0556434 * x - .2040259 * y + 1.0572252 * z)); - } - function d3_lab_hcl(l, a, b) { - return l > 0 ? new d3_hcl(Math.atan2(b, a) * d3_degrees, Math.sqrt(a * a + b * b), l) : new d3_hcl(NaN, NaN, l); - } - function d3_lab_xyz(x) { - return x > .206893034 ? x * x * x : (x - 4 / 29) / 7.787037; - } - function d3_xyz_lab(x) { - return x > .008856 ? Math.pow(x, 1 / 3) : 7.787037 * x + 4 / 29; - } - function d3_xyz_rgb(r) { - return Math.round(255 * (r <= .00304 ? 12.92 * r : 1.055 * Math.pow(r, 1 / 2.4) - .055)); - } - d3.rgb = d3_rgb; - function d3_rgb(r, g, b) { - return this instanceof d3_rgb ? void (this.r = ~~r, this.g = ~~g, this.b = ~~b) : arguments.length < 2 ? r instanceof d3_rgb ? new d3_rgb(r.r, r.g, r.b) : d3_rgb_parse("" + r, d3_rgb, d3_hsl_rgb) : new d3_rgb(r, g, b); - } - function d3_rgbNumber(value) { - return new d3_rgb(value >> 16, value >> 8 & 255, value & 255); - } - function d3_rgbString(value) { - return d3_rgbNumber(value) + ""; - } - var d3_rgbPrototype = d3_rgb.prototype = new d3_color(); - d3_rgbPrototype.brighter = function(k) { - k = Math.pow(.7, arguments.length ? k : 1); - var r = this.r, g = this.g, b = this.b, i = 30; - if (!r && !g && !b) return new d3_rgb(i, i, i); - if (r && r < i) r = i; - if (g && g < i) g = i; - if (b && b < i) b = i; - return new d3_rgb(Math.min(255, r / k), Math.min(255, g / k), Math.min(255, b / k)); - }; - d3_rgbPrototype.darker = function(k) { - k = Math.pow(.7, arguments.length ? k : 1); - return new d3_rgb(k * this.r, k * this.g, k * this.b); - }; - d3_rgbPrototype.hsl = function() { - return d3_rgb_hsl(this.r, this.g, this.b); - }; - d3_rgbPrototype.toString = function() { - return "#" + d3_rgb_hex(this.r) + d3_rgb_hex(this.g) + d3_rgb_hex(this.b); - }; - function d3_rgb_hex(v) { - return v < 16 ? "0" + Math.max(0, v).toString(16) : Math.min(255, v).toString(16); - } - function d3_rgb_parse(format, rgb, hsl) { - var r = 0, g = 0, b = 0, m1, m2, color; - m1 = /([a-z]+)\((.*)\)/i.exec(format); - if (m1) { - m2 = m1[2].split(","); - switch (m1[1]) { - case "hsl": - { - return hsl(parseFloat(m2[0]), parseFloat(m2[1]) / 100, parseFloat(m2[2]) / 100); - } - - case "rgb": - { - return rgb(d3_rgb_parseNumber(m2[0]), d3_rgb_parseNumber(m2[1]), d3_rgb_parseNumber(m2[2])); - } - } - } - if (color = d3_rgb_names.get(format)) return rgb(color.r, color.g, color.b); - if (format != null && format.charAt(0) === "#" && !isNaN(color = parseInt(format.slice(1), 16))) { - if (format.length === 4) { - r = (color & 3840) >> 4; - r = r >> 4 | r; - g = color & 240; - g = g >> 4 | g; - b = color & 15; - b = b << 4 | b; - } else if (format.length === 7) { - r = (color & 16711680) >> 16; - g = (color & 65280) >> 8; - b = color & 255; - } - } - return rgb(r, g, b); - } - function d3_rgb_hsl(r, g, b) { - var min = Math.min(r /= 255, g /= 255, b /= 255), max = Math.max(r, g, b), d = max - min, h, s, l = (max + min) / 2; - if (d) { - s = l < .5 ? d / (max + min) : d / (2 - max - min); - if (r == max) h = (g - b) / d + (g < b ? 6 : 0); else if (g == max) h = (b - r) / d + 2; else h = (r - g) / d + 4; - h *= 60; - } else { - h = NaN; - s = l > 0 && l < 1 ? 0 : h; - } - return new d3_hsl(h, s, l); - } - function d3_rgb_lab(r, g, b) { - r = d3_rgb_xyz(r); - g = d3_rgb_xyz(g); - b = d3_rgb_xyz(b); - var x = d3_xyz_lab((.4124564 * r + .3575761 * g + .1804375 * b) / d3_lab_X), y = d3_xyz_lab((.2126729 * r + .7151522 * g + .072175 * b) / d3_lab_Y), z = d3_xyz_lab((.0193339 * r + .119192 * g + .9503041 * b) / d3_lab_Z); - return d3_lab(116 * y - 16, 500 * (x - y), 200 * (y - z)); - } - function d3_rgb_xyz(r) { - return (r /= 255) <= .04045 ? r / 12.92 : Math.pow((r + .055) / 1.055, 2.4); - } - function d3_rgb_parseNumber(c) { - var f = parseFloat(c); - return c.charAt(c.length - 1) === "%" ? Math.round(f * 2.55) : f; - } - var d3_rgb_names = d3.map({ - aliceblue: 15792383, - antiquewhite: 16444375, - aqua: 65535, - aquamarine: 8388564, - azure: 15794175, - beige: 16119260, - bisque: 16770244, - black: 0, - blanchedalmond: 16772045, - blue: 255, - blueviolet: 9055202, - brown: 10824234, - burlywood: 14596231, - cadetblue: 6266528, - chartreuse: 8388352, - chocolate: 13789470, - coral: 16744272, - cornflowerblue: 6591981, - cornsilk: 16775388, - crimson: 14423100, - cyan: 65535, - darkblue: 139, - darkcyan: 35723, - darkgoldenrod: 12092939, - darkgray: 11119017, - darkgreen: 25600, - darkgrey: 11119017, - darkkhaki: 12433259, - darkmagenta: 9109643, - darkolivegreen: 5597999, - darkorange: 16747520, - darkorchid: 10040012, - darkred: 9109504, - darksalmon: 15308410, - darkseagreen: 9419919, - darkslateblue: 4734347, - darkslategray: 3100495, - darkslategrey: 3100495, - darkturquoise: 52945, - darkviolet: 9699539, - deeppink: 16716947, - deepskyblue: 49151, - dimgray: 6908265, - dimgrey: 6908265, - dodgerblue: 2003199, - firebrick: 11674146, - floralwhite: 16775920, - forestgreen: 2263842, - fuchsia: 16711935, - gainsboro: 14474460, - ghostwhite: 16316671, - gold: 16766720, - goldenrod: 14329120, - gray: 8421504, - green: 32768, - greenyellow: 11403055, - grey: 8421504, - honeydew: 15794160, - hotpink: 16738740, - indianred: 13458524, - indigo: 4915330, - ivory: 16777200, - khaki: 15787660, - lavender: 15132410, - lavenderblush: 16773365, - lawngreen: 8190976, - lemonchiffon: 16775885, - lightblue: 11393254, - lightcoral: 15761536, - lightcyan: 14745599, - lightgoldenrodyellow: 16448210, - lightgray: 13882323, - lightgreen: 9498256, - lightgrey: 13882323, - lightpink: 16758465, - lightsalmon: 16752762, - lightseagreen: 2142890, - lightskyblue: 8900346, - lightslategray: 7833753, - lightslategrey: 7833753, - lightsteelblue: 11584734, - lightyellow: 16777184, - lime: 65280, - limegreen: 3329330, - linen: 16445670, - magenta: 16711935, - maroon: 8388608, - mediumaquamarine: 6737322, - mediumblue: 205, - mediumorchid: 12211667, - mediumpurple: 9662683, - mediumseagreen: 3978097, - mediumslateblue: 8087790, - mediumspringgreen: 64154, - mediumturquoise: 4772300, - mediumvioletred: 13047173, - midnightblue: 1644912, - mintcream: 16121850, - mistyrose: 16770273, - moccasin: 16770229, - navajowhite: 16768685, - navy: 128, - oldlace: 16643558, - olive: 8421376, - olivedrab: 7048739, - orange: 16753920, - orangered: 16729344, - orchid: 14315734, - palegoldenrod: 15657130, - palegreen: 10025880, - paleturquoise: 11529966, - palevioletred: 14381203, - papayawhip: 16773077, - peachpuff: 16767673, - peru: 13468991, - pink: 16761035, - plum: 14524637, - powderblue: 11591910, - purple: 8388736, - red: 16711680, - rosybrown: 12357519, - royalblue: 4286945, - saddlebrown: 9127187, - salmon: 16416882, - sandybrown: 16032864, - seagreen: 3050327, - seashell: 16774638, - sienna: 10506797, - silver: 12632256, - skyblue: 8900331, - slateblue: 6970061, - slategray: 7372944, - slategrey: 7372944, - snow: 16775930, - springgreen: 65407, - steelblue: 4620980, - tan: 13808780, - teal: 32896, - thistle: 14204888, - tomato: 16737095, - turquoise: 4251856, - violet: 15631086, - wheat: 16113331, - white: 16777215, - whitesmoke: 16119285, - yellow: 16776960, - yellowgreen: 10145074 - }); - d3_rgb_names.forEach(function(key, value) { - d3_rgb_names.set(key, d3_rgbNumber(value)); - }); - function d3_functor(v) { - return typeof v === "function" ? v : function() { - return v; - }; - } - d3.functor = d3_functor; - function d3_identity(d) { - return d; - } - d3.xhr = d3_xhrType(d3_identity); - function d3_xhrType(response) { - return function(url, mimeType, callback) { - if (arguments.length === 2 && typeof mimeType === "function") callback = mimeType, - mimeType = null; - return d3_xhr(url, mimeType, response, callback); - }; - } - function d3_xhr(url, mimeType, response, callback) { - var xhr = {}, dispatch = d3.dispatch("beforesend", "progress", "load", "error"), headers = {}, request = new XMLHttpRequest(), responseType = null; - if (d3_window.XDomainRequest && !("withCredentials" in request) && /^(http(s)?:)?\/\//.test(url)) request = new XDomainRequest(); - "onload" in request ? request.onload = request.onerror = respond : request.onreadystatechange = function() { - request.readyState > 3 && respond(); - }; - function respond() { - var status = request.status, result; - if (!status && d3_xhrHasResponse(request) || status >= 200 && status < 300 || status === 304) { - try { - result = response.call(xhr, request); - } catch (e) { - dispatch.error.call(xhr, e); - return; - } - dispatch.load.call(xhr, result); - } else { - dispatch.error.call(xhr, request); - } - } - request.onprogress = function(event) { - var o = d3.event; - d3.event = event; - try { - dispatch.progress.call(xhr, request); - } finally { - d3.event = o; - } - }; - xhr.header = function(name, value) { - name = (name + "").toLowerCase(); - if (arguments.length < 2) return headers[name]; - if (value == null) delete headers[name]; else headers[name] = value + ""; - return xhr; - }; - xhr.mimeType = function(value) { - if (!arguments.length) return mimeType; - mimeType = value == null ? null : value + ""; - return xhr; - }; - xhr.responseType = function(value) { - if (!arguments.length) return responseType; - responseType = value; - return xhr; - }; - xhr.response = function(value) { - response = value; - return xhr; - }; - [ "get", "post" ].forEach(function(method) { - xhr[method] = function() { - return xhr.send.apply(xhr, [ method ].concat(d3_array(arguments))); - }; - }); - xhr.send = function(method, data, callback) { - if (arguments.length === 2 && typeof data === "function") callback = data, data = null; - request.open(method, url, true); - if (mimeType != null && !("accept" in headers)) headers["accept"] = mimeType + ",*/*"; - if (request.setRequestHeader) for (var name in headers) request.setRequestHeader(name, headers[name]); - if (mimeType != null && request.overrideMimeType) request.overrideMimeType(mimeType); - if (responseType != null) request.responseType = responseType; - if (callback != null) xhr.on("error", callback).on("load", function(request) { - callback(null, request); - }); - dispatch.beforesend.call(xhr, request); - request.send(data == null ? null : data); - return xhr; - }; - xhr.abort = function() { - request.abort(); - return xhr; - }; - d3.rebind(xhr, dispatch, "on"); - return callback == null ? xhr : xhr.get(d3_xhr_fixCallback(callback)); - } - function d3_xhr_fixCallback(callback) { - return callback.length === 1 ? function(error, request) { - callback(error == null ? request : null); - } : callback; - } - function d3_xhrHasResponse(request) { - var type = request.responseType; - return type && type !== "text" ? request.response : request.responseText; - } - d3.dsv = function(delimiter, mimeType) { - var reFormat = new RegExp('["' + delimiter + "\n]"), delimiterCode = delimiter.charCodeAt(0); - function dsv(url, row, callback) { - if (arguments.length < 3) callback = row, row = null; - var xhr = d3_xhr(url, mimeType, row == null ? response : typedResponse(row), callback); - xhr.row = function(_) { - return arguments.length ? xhr.response((row = _) == null ? response : typedResponse(_)) : row; - }; - return xhr; - } - function response(request) { - return dsv.parse(request.responseText); - } - function typedResponse(f) { - return function(request) { - return dsv.parse(request.responseText, f); - }; - } - dsv.parse = function(text, f) { - var o; - return dsv.parseRows(text, function(row, i) { - if (o) return o(row, i - 1); - var a = new Function("d", "return {" + row.map(function(name, i) { - return JSON.stringify(name) + ": d[" + i + "]"; - }).join(",") + "}"); - o = f ? function(row, i) { - return f(a(row), i); - } : a; - }); - }; - dsv.parseRows = function(text, f) { - var EOL = {}, EOF = {}, rows = [], N = text.length, I = 0, n = 0, t, eol; - function token() { - if (I >= N) return EOF; - if (eol) return eol = false, EOL; - var j = I; - if (text.charCodeAt(j) === 34) { - var i = j; - while (i++ < N) { - if (text.charCodeAt(i) === 34) { - if (text.charCodeAt(i + 1) !== 34) break; - ++i; - } - } - I = i + 2; - var c = text.charCodeAt(i + 1); - if (c === 13) { - eol = true; - if (text.charCodeAt(i + 2) === 10) ++I; - } else if (c === 10) { - eol = true; - } - return text.slice(j + 1, i).replace(/""/g, '"'); - } - while (I < N) { - var c = text.charCodeAt(I++), k = 1; - if (c === 10) eol = true; else if (c === 13) { - eol = true; - if (text.charCodeAt(I) === 10) ++I, ++k; - } else if (c !== delimiterCode) continue; - return text.slice(j, I - k); - } - return text.slice(j); - } - while ((t = token()) !== EOF) { - var a = []; - while (t !== EOL && t !== EOF) { - a.push(t); - t = token(); - } - if (f && (a = f(a, n++)) == null) continue; - rows.push(a); - } - return rows; - }; - dsv.format = function(rows) { - if (Array.isArray(rows[0])) return dsv.formatRows(rows); - var fieldSet = new d3_Set(), fields = []; - rows.forEach(function(row) { - for (var field in row) { - if (!fieldSet.has(field)) { - fields.push(fieldSet.add(field)); - } - } - }); - return [ fields.map(formatValue).join(delimiter) ].concat(rows.map(function(row) { - return fields.map(function(field) { - return formatValue(row[field]); - }).join(delimiter); - })).join("\n"); - }; - dsv.formatRows = function(rows) { - return rows.map(formatRow).join("\n"); - }; - function formatRow(row) { - return row.map(formatValue).join(delimiter); - } - function formatValue(text) { - return reFormat.test(text) ? '"' + text.replace(/\"/g, '""') + '"' : text; - } - return dsv; - }; - d3.csv = d3.dsv(",", "text/csv"); - d3.tsv = d3.dsv(" ", "text/tab-separated-values"); - var d3_timer_queueHead, d3_timer_queueTail, d3_timer_interval, d3_timer_timeout, d3_timer_active, d3_timer_frame = d3_window[d3_vendorSymbol(d3_window, "requestAnimationFrame")] || function(callback) { - setTimeout(callback, 17); - }; - d3.timer = function(callback, delay, then) { - var n = arguments.length; - if (n < 2) delay = 0; - if (n < 3) then = Date.now(); - var time = then + delay, timer = { - c: callback, - t: time, - f: false, - n: null - }; - if (d3_timer_queueTail) d3_timer_queueTail.n = timer; else d3_timer_queueHead = timer; - d3_timer_queueTail = timer; - if (!d3_timer_interval) { - d3_timer_timeout = clearTimeout(d3_timer_timeout); - d3_timer_interval = 1; - d3_timer_frame(d3_timer_step); - } - }; - function d3_timer_step() { - var now = d3_timer_mark(), delay = d3_timer_sweep() - now; - if (delay > 24) { - if (isFinite(delay)) { - clearTimeout(d3_timer_timeout); - d3_timer_timeout = setTimeout(d3_timer_step, delay); - } - d3_timer_interval = 0; - } else { - d3_timer_interval = 1; - d3_timer_frame(d3_timer_step); - } - } - d3.timer.flush = function() { - d3_timer_mark(); - d3_timer_sweep(); - }; - function d3_timer_mark() { - var now = Date.now(); - d3_timer_active = d3_timer_queueHead; - while (d3_timer_active) { - if (now >= d3_timer_active.t) d3_timer_active.f = d3_timer_active.c(now - d3_timer_active.t); - d3_timer_active = d3_timer_active.n; - } - return now; - } - function d3_timer_sweep() { - var t0, t1 = d3_timer_queueHead, time = Infinity; - while (t1) { - if (t1.f) { - t1 = t0 ? t0.n = t1.n : d3_timer_queueHead = t1.n; - } else { - if (t1.t < time) time = t1.t; - t1 = (t0 = t1).n; - } - } - d3_timer_queueTail = t0; - return time; - } - function d3_format_precision(x, p) { - return p - (x ? Math.ceil(Math.log(x) / Math.LN10) : 1); - } - d3.round = function(x, n) { - return n ? Math.round(x * (n = Math.pow(10, n))) / n : Math.round(x); - }; - var d3_formatPrefixes = [ "y", "z", "a", "f", "p", "n", "µ", "m", "", "k", "M", "G", "T", "P", "E", "Z", "Y" ].map(d3_formatPrefix); - d3.formatPrefix = function(value, precision) { - var i = 0; - if (value) { - if (value < 0) value *= -1; - if (precision) value = d3.round(value, d3_format_precision(value, precision)); - i = 1 + Math.floor(1e-12 + Math.log(value) / Math.LN10); - i = Math.max(-24, Math.min(24, Math.floor((i - 1) / 3) * 3)); - } - return d3_formatPrefixes[8 + i / 3]; - }; - function d3_formatPrefix(d, i) { - var k = Math.pow(10, abs(8 - i) * 3); - return { - scale: i > 8 ? function(d) { - return d / k; - } : function(d) { - return d * k; - }, - symbol: d - }; - } - function d3_locale_numberFormat(locale) { - var locale_decimal = locale.decimal, locale_thousands = locale.thousands, locale_grouping = locale.grouping, locale_currency = locale.currency, formatGroup = locale_grouping && locale_thousands ? function(value, width) { - var i = value.length, t = [], j = 0, g = locale_grouping[0], length = 0; - while (i > 0 && g > 0) { - if (length + g + 1 > width) g = Math.max(1, width - length); - t.push(value.substring(i -= g, i + g)); - if ((length += g + 1) > width) break; - g = locale_grouping[j = (j + 1) % locale_grouping.length]; - } - return t.reverse().join(locale_thousands); - } : d3_identity; - return function(specifier) { - var match = d3_format_re.exec(specifier), fill = match[1] || " ", align = match[2] || ">", sign = match[3] || "-", symbol = match[4] || "", zfill = match[5], width = +match[6], comma = match[7], precision = match[8], type = match[9], scale = 1, prefix = "", suffix = "", integer = false, exponent = true; - if (precision) precision = +precision.substring(1); - if (zfill || fill === "0" && align === "=") { - zfill = fill = "0"; - align = "="; - } - switch (type) { - case "n": - comma = true; - type = "g"; - break; - - case "%": - scale = 100; - suffix = "%"; - type = "f"; - break; - - case "p": - scale = 100; - suffix = "%"; - type = "r"; - break; - - case "b": - case "o": - case "x": - case "X": - if (symbol === "#") prefix = "0" + type.toLowerCase(); - - case "c": - exponent = false; - - case "d": - integer = true; - precision = 0; - break; - - case "s": - scale = -1; - type = "r"; - break; - } - if (symbol === "$") prefix = locale_currency[0], suffix = locale_currency[1]; - if (type == "r" && !precision) type = "g"; - if (precision != null) { - if (type == "g") precision = Math.max(1, Math.min(21, precision)); else if (type == "e" || type == "f") precision = Math.max(0, Math.min(20, precision)); - } - type = d3_format_types.get(type) || d3_format_typeDefault; - var zcomma = zfill && comma; - return function(value) { - var fullSuffix = suffix; - if (integer && value % 1) return ""; - var negative = value < 0 || value === 0 && 1 / value < 0 ? (value = -value, "-") : sign === "-" ? "" : sign; - if (scale < 0) { - var unit = d3.formatPrefix(value, precision); - value = unit.scale(value); - fullSuffix = unit.symbol + suffix; - } else { - value *= scale; - } - value = type(value, precision); - var i = value.lastIndexOf("."), before, after; - if (i < 0) { - var j = exponent ? value.lastIndexOf("e") : -1; - if (j < 0) before = value, after = ""; else before = value.substring(0, j), after = value.substring(j); - } else { - before = value.substring(0, i); - after = locale_decimal + value.substring(i + 1); - } - if (!zfill && comma) before = formatGroup(before, Infinity); - var length = prefix.length + before.length + after.length + (zcomma ? 0 : negative.length), padding = length < width ? new Array(length = width - length + 1).join(fill) : ""; - if (zcomma) before = formatGroup(padding + before, padding.length ? width - after.length : Infinity); - negative += prefix; - value = before + after; - return (align === "<" ? negative + value + padding : align === ">" ? padding + negative + value : align === "^" ? padding.substring(0, length >>= 1) + negative + value + padding.substring(length) : negative + (zcomma ? value : padding + value)) + fullSuffix; - }; - }; - } - var d3_format_re = /(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i; - var d3_format_types = d3.map({ - b: function(x) { - return x.toString(2); - }, - c: function(x) { - return String.fromCharCode(x); - }, - o: function(x) { - return x.toString(8); - }, - x: function(x) { - return x.toString(16); - }, - X: function(x) { - return x.toString(16).toUpperCase(); - }, - g: function(x, p) { - return x.toPrecision(p); - }, - e: function(x, p) { - return x.toExponential(p); - }, - f: function(x, p) { - return x.toFixed(p); - }, - r: function(x, p) { - return (x = d3.round(x, d3_format_precision(x, p))).toFixed(Math.max(0, Math.min(20, d3_format_precision(x * (1 + 1e-15), p)))); - } - }); - function d3_format_typeDefault(x) { - return x + ""; - } - var d3_time = d3.time = {}, d3_date = Date; - function d3_date_utc() { - this._ = new Date(arguments.length > 1 ? Date.UTC.apply(this, arguments) : arguments[0]); - } - d3_date_utc.prototype = { - getDate: function() { - return this._.getUTCDate(); - }, - getDay: function() { - return this._.getUTCDay(); - }, - getFullYear: function() { - return this._.getUTCFullYear(); - }, - getHours: function() { - return this._.getUTCHours(); - }, - getMilliseconds: function() { - return this._.getUTCMilliseconds(); - }, - getMinutes: function() { - return this._.getUTCMinutes(); - }, - getMonth: function() { - return this._.getUTCMonth(); - }, - getSeconds: function() { - return this._.getUTCSeconds(); - }, - getTime: function() { - return this._.getTime(); - }, - getTimezoneOffset: function() { - return 0; - }, - valueOf: function() { - return this._.valueOf(); - }, - setDate: function() { - d3_time_prototype.setUTCDate.apply(this._, arguments); - }, - setDay: function() { - d3_time_prototype.setUTCDay.apply(this._, arguments); - }, - setFullYear: function() { - d3_time_prototype.setUTCFullYear.apply(this._, arguments); - }, - setHours: function() { - d3_time_prototype.setUTCHours.apply(this._, arguments); - }, - setMilliseconds: function() { - d3_time_prototype.setUTCMilliseconds.apply(this._, arguments); - }, - setMinutes: function() { - d3_time_prototype.setUTCMinutes.apply(this._, arguments); - }, - setMonth: function() { - d3_time_prototype.setUTCMonth.apply(this._, arguments); - }, - setSeconds: function() { - d3_time_prototype.setUTCSeconds.apply(this._, arguments); - }, - setTime: function() { - d3_time_prototype.setTime.apply(this._, arguments); - } - }; - var d3_time_prototype = Date.prototype; - function d3_time_interval(local, step, number) { - function round(date) { - var d0 = local(date), d1 = offset(d0, 1); - return date - d0 < d1 - date ? d0 : d1; - } - function ceil(date) { - step(date = local(new d3_date(date - 1)), 1); - return date; - } - function offset(date, k) { - step(date = new d3_date(+date), k); - return date; - } - function range(t0, t1, dt) { - var time = ceil(t0), times = []; - if (dt > 1) { - while (time < t1) { - if (!(number(time) % dt)) times.push(new Date(+time)); - step(time, 1); - } - } else { - while (time < t1) times.push(new Date(+time)), step(time, 1); - } - return times; - } - function range_utc(t0, t1, dt) { - try { - d3_date = d3_date_utc; - var utc = new d3_date_utc(); - utc._ = t0; - return range(utc, t1, dt); - } finally { - d3_date = Date; - } - } - local.floor = local; - local.round = round; - local.ceil = ceil; - local.offset = offset; - local.range = range; - var utc = local.utc = d3_time_interval_utc(local); - utc.floor = utc; - utc.round = d3_time_interval_utc(round); - utc.ceil = d3_time_interval_utc(ceil); - utc.offset = d3_time_interval_utc(offset); - utc.range = range_utc; - return local; - } - function d3_time_interval_utc(method) { - return function(date, k) { - try { - d3_date = d3_date_utc; - var utc = new d3_date_utc(); - utc._ = date; - return method(utc, k)._; - } finally { - d3_date = Date; - } - }; - } - d3_time.year = d3_time_interval(function(date) { - date = d3_time.day(date); - date.setMonth(0, 1); - return date; - }, function(date, offset) { - date.setFullYear(date.getFullYear() + offset); - }, function(date) { - return date.getFullYear(); - }); - d3_time.years = d3_time.year.range; - d3_time.years.utc = d3_time.year.utc.range; - d3_time.day = d3_time_interval(function(date) { - var day = new d3_date(2e3, 0); - day.setFullYear(date.getFullYear(), date.getMonth(), date.getDate()); - return day; - }, function(date, offset) { - date.setDate(date.getDate() + offset); - }, function(date) { - return date.getDate() - 1; - }); - d3_time.days = d3_time.day.range; - d3_time.days.utc = d3_time.day.utc.range; - d3_time.dayOfYear = function(date) { - var year = d3_time.year(date); - return Math.floor((date - year - (date.getTimezoneOffset() - year.getTimezoneOffset()) * 6e4) / 864e5); - }; - [ "sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday" ].forEach(function(day, i) { - i = 7 - i; - var interval = d3_time[day] = d3_time_interval(function(date) { - (date = d3_time.day(date)).setDate(date.getDate() - (date.getDay() + i) % 7); - return date; - }, function(date, offset) { - date.setDate(date.getDate() + Math.floor(offset) * 7); - }, function(date) { - var day = d3_time.year(date).getDay(); - return Math.floor((d3_time.dayOfYear(date) + (day + i) % 7) / 7) - (day !== i); - }); - d3_time[day + "s"] = interval.range; - d3_time[day + "s"].utc = interval.utc.range; - d3_time[day + "OfYear"] = function(date) { - var day = d3_time.year(date).getDay(); - return Math.floor((d3_time.dayOfYear(date) + (day + i) % 7) / 7); - }; - }); - d3_time.week = d3_time.sunday; - d3_time.weeks = d3_time.sunday.range; - d3_time.weeks.utc = d3_time.sunday.utc.range; - d3_time.weekOfYear = d3_time.sundayOfYear; - function d3_locale_timeFormat(locale) { - var locale_dateTime = locale.dateTime, locale_date = locale.date, locale_time = locale.time, locale_periods = locale.periods, locale_days = locale.days, locale_shortDays = locale.shortDays, locale_months = locale.months, locale_shortMonths = locale.shortMonths; - function d3_time_format(template) { - var n = template.length; - function format(date) { - var string = [], i = -1, j = 0, c, p, f; - while (++i < n) { - if (template.charCodeAt(i) === 37) { - string.push(template.slice(j, i)); - if ((p = d3_time_formatPads[c = template.charAt(++i)]) != null) c = template.charAt(++i); - if (f = d3_time_formats[c]) c = f(date, p == null ? c === "e" ? " " : "0" : p); - string.push(c); - j = i + 1; - } - } - string.push(template.slice(j, i)); - return string.join(""); - } - format.parse = function(string) { - var d = { - y: 1900, - m: 0, - d: 1, - H: 0, - M: 0, - S: 0, - L: 0, - Z: null - }, i = d3_time_parse(d, template, string, 0); - if (i != string.length) return null; - if ("p" in d) d.H = d.H % 12 + d.p * 12; - var localZ = d.Z != null && d3_date !== d3_date_utc, date = new (localZ ? d3_date_utc : d3_date)(); - if ("j" in d) date.setFullYear(d.y, 0, d.j); else if ("w" in d && ("W" in d || "U" in d)) { - date.setFullYear(d.y, 0, 1); - date.setFullYear(d.y, 0, "W" in d ? (d.w + 6) % 7 + d.W * 7 - (date.getDay() + 5) % 7 : d.w + d.U * 7 - (date.getDay() + 6) % 7); - } else date.setFullYear(d.y, d.m, d.d); - date.setHours(d.H + (d.Z / 100 | 0), d.M + d.Z % 100, d.S, d.L); - return localZ ? date._ : date; - }; - format.toString = function() { - return template; - }; - return format; - } - function d3_time_parse(date, template, string, j) { - var c, p, t, i = 0, n = template.length, m = string.length; - while (i < n) { - if (j >= m) return -1; - c = template.charCodeAt(i++); - if (c === 37) { - t = template.charAt(i++); - p = d3_time_parsers[t in d3_time_formatPads ? template.charAt(i++) : t]; - if (!p || (j = p(date, string, j)) < 0) return -1; - } else if (c != string.charCodeAt(j++)) { - return -1; - } - } - return j; - } - d3_time_format.utc = function(template) { - var local = d3_time_format(template); - function format(date) { - try { - d3_date = d3_date_utc; - var utc = new d3_date(); - utc._ = date; - return local(utc); - } finally { - d3_date = Date; - } - } - format.parse = function(string) { - try { - d3_date = d3_date_utc; - var date = local.parse(string); - return date && date._; - } finally { - d3_date = Date; - } - }; - format.toString = local.toString; - return format; - }; - d3_time_format.multi = d3_time_format.utc.multi = d3_time_formatMulti; - var d3_time_periodLookup = d3.map(), d3_time_dayRe = d3_time_formatRe(locale_days), d3_time_dayLookup = d3_time_formatLookup(locale_days), d3_time_dayAbbrevRe = d3_time_formatRe(locale_shortDays), d3_time_dayAbbrevLookup = d3_time_formatLookup(locale_shortDays), d3_time_monthRe = d3_time_formatRe(locale_months), d3_time_monthLookup = d3_time_formatLookup(locale_months), d3_time_monthAbbrevRe = d3_time_formatRe(locale_shortMonths), d3_time_monthAbbrevLookup = d3_time_formatLookup(locale_shortMonths); - locale_periods.forEach(function(p, i) { - d3_time_periodLookup.set(p.toLowerCase(), i); - }); - var d3_time_formats = { - a: function(d) { - return locale_shortDays[d.getDay()]; - }, - A: function(d) { - return locale_days[d.getDay()]; - }, - b: function(d) { - return locale_shortMonths[d.getMonth()]; - }, - B: function(d) { - return locale_months[d.getMonth()]; - }, - c: d3_time_format(locale_dateTime), - d: function(d, p) { - return d3_time_formatPad(d.getDate(), p, 2); - }, - e: function(d, p) { - return d3_time_formatPad(d.getDate(), p, 2); - }, - H: function(d, p) { - return d3_time_formatPad(d.getHours(), p, 2); - }, - I: function(d, p) { - return d3_time_formatPad(d.getHours() % 12 || 12, p, 2); - }, - j: function(d, p) { - return d3_time_formatPad(1 + d3_time.dayOfYear(d), p, 3); - }, - L: function(d, p) { - return d3_time_formatPad(d.getMilliseconds(), p, 3); - }, - m: function(d, p) { - return d3_time_formatPad(d.getMonth() + 1, p, 2); - }, - M: function(d, p) { - return d3_time_formatPad(d.getMinutes(), p, 2); - }, - p: function(d) { - return locale_periods[+(d.getHours() >= 12)]; - }, - S: function(d, p) { - return d3_time_formatPad(d.getSeconds(), p, 2); - }, - U: function(d, p) { - return d3_time_formatPad(d3_time.sundayOfYear(d), p, 2); - }, - w: function(d) { - return d.getDay(); - }, - W: function(d, p) { - return d3_time_formatPad(d3_time.mondayOfYear(d), p, 2); - }, - x: d3_time_format(locale_date), - X: d3_time_format(locale_time), - y: function(d, p) { - return d3_time_formatPad(d.getFullYear() % 100, p, 2); - }, - Y: function(d, p) { - return d3_time_formatPad(d.getFullYear() % 1e4, p, 4); - }, - Z: d3_time_zone, - "%": function() { - return "%"; - } - }; - var d3_time_parsers = { - a: d3_time_parseWeekdayAbbrev, - A: d3_time_parseWeekday, - b: d3_time_parseMonthAbbrev, - B: d3_time_parseMonth, - c: d3_time_parseLocaleFull, - d: d3_time_parseDay, - e: d3_time_parseDay, - H: d3_time_parseHour24, - I: d3_time_parseHour24, - j: d3_time_parseDayOfYear, - L: d3_time_parseMilliseconds, - m: d3_time_parseMonthNumber, - M: d3_time_parseMinutes, - p: d3_time_parseAmPm, - S: d3_time_parseSeconds, - U: d3_time_parseWeekNumberSunday, - w: d3_time_parseWeekdayNumber, - W: d3_time_parseWeekNumberMonday, - x: d3_time_parseLocaleDate, - X: d3_time_parseLocaleTime, - y: d3_time_parseYear, - Y: d3_time_parseFullYear, - Z: d3_time_parseZone, - "%": d3_time_parseLiteralPercent - }; - function d3_time_parseWeekdayAbbrev(date, string, i) { - d3_time_dayAbbrevRe.lastIndex = 0; - var n = d3_time_dayAbbrevRe.exec(string.slice(i)); - return n ? (date.w = d3_time_dayAbbrevLookup.get(n[0].toLowerCase()), i + n[0].length) : -1; - } - function d3_time_parseWeekday(date, string, i) { - d3_time_dayRe.lastIndex = 0; - var n = d3_time_dayRe.exec(string.slice(i)); - return n ? (date.w = d3_time_dayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1; - } - function d3_time_parseMonthAbbrev(date, string, i) { - d3_time_monthAbbrevRe.lastIndex = 0; - var n = d3_time_monthAbbrevRe.exec(string.slice(i)); - return n ? (date.m = d3_time_monthAbbrevLookup.get(n[0].toLowerCase()), i + n[0].length) : -1; - } - function d3_time_parseMonth(date, string, i) { - d3_time_monthRe.lastIndex = 0; - var n = d3_time_monthRe.exec(string.slice(i)); - return n ? (date.m = d3_time_monthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1; - } - function d3_time_parseLocaleFull(date, string, i) { - return d3_time_parse(date, d3_time_formats.c.toString(), string, i); - } - function d3_time_parseLocaleDate(date, string, i) { - return d3_time_parse(date, d3_time_formats.x.toString(), string, i); - } - function d3_time_parseLocaleTime(date, string, i) { - return d3_time_parse(date, d3_time_formats.X.toString(), string, i); - } - function d3_time_parseAmPm(date, string, i) { - var n = d3_time_periodLookup.get(string.slice(i, i += 2).toLowerCase()); - return n == null ? -1 : (date.p = n, i); - } - return d3_time_format; - } - var d3_time_formatPads = { - "-": "", - _: " ", - "0": "0" - }, d3_time_numberRe = /^\s*\d+/, d3_time_percentRe = /^%/; - function d3_time_formatPad(value, fill, width) { - var sign = value < 0 ? "-" : "", string = (sign ? -value : value) + "", length = string.length; - return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string); - } - function d3_time_formatRe(names) { - return new RegExp("^(?:" + names.map(d3.requote).join("|") + ")", "i"); - } - function d3_time_formatLookup(names) { - var map = new d3_Map(), i = -1, n = names.length; - while (++i < n) map.set(names[i].toLowerCase(), i); - return map; - } - function d3_time_parseWeekdayNumber(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 1)); - return n ? (date.w = +n[0], i + n[0].length) : -1; - } - function d3_time_parseWeekNumberSunday(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i)); - return n ? (date.U = +n[0], i + n[0].length) : -1; - } - function d3_time_parseWeekNumberMonday(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i)); - return n ? (date.W = +n[0], i + n[0].length) : -1; - } - function d3_time_parseFullYear(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 4)); - return n ? (date.y = +n[0], i + n[0].length) : -1; - } - function d3_time_parseYear(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 2)); - return n ? (date.y = d3_time_expandYear(+n[0]), i + n[0].length) : -1; - } - function d3_time_parseZone(date, string, i) { - return /^[+-]\d{4}$/.test(string = string.slice(i, i + 5)) ? (date.Z = -string, - i + 5) : -1; - } - function d3_time_expandYear(d) { - return d + (d > 68 ? 1900 : 2e3); - } - function d3_time_parseMonthNumber(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 2)); - return n ? (date.m = n[0] - 1, i + n[0].length) : -1; - } - function d3_time_parseDay(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 2)); - return n ? (date.d = +n[0], i + n[0].length) : -1; - } - function d3_time_parseDayOfYear(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 3)); - return n ? (date.j = +n[0], i + n[0].length) : -1; - } - function d3_time_parseHour24(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 2)); - return n ? (date.H = +n[0], i + n[0].length) : -1; - } - function d3_time_parseMinutes(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 2)); - return n ? (date.M = +n[0], i + n[0].length) : -1; - } - function d3_time_parseSeconds(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 2)); - return n ? (date.S = +n[0], i + n[0].length) : -1; - } - function d3_time_parseMilliseconds(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 3)); - return n ? (date.L = +n[0], i + n[0].length) : -1; - } - function d3_time_zone(d) { - var z = d.getTimezoneOffset(), zs = z > 0 ? "-" : "+", zh = abs(z) / 60 | 0, zm = abs(z) % 60; - return zs + d3_time_formatPad(zh, "0", 2) + d3_time_formatPad(zm, "0", 2); - } - function d3_time_parseLiteralPercent(date, string, i) { - d3_time_percentRe.lastIndex = 0; - var n = d3_time_percentRe.exec(string.slice(i, i + 1)); - return n ? i + n[0].length : -1; - } - function d3_time_formatMulti(formats) { - var n = formats.length, i = -1; - while (++i < n) formats[i][0] = this(formats[i][0]); - return function(date) { - var i = 0, f = formats[i]; - while (!f[1](date)) f = formats[++i]; - return f[0](date); - }; - } - d3.locale = function(locale) { - return { - numberFormat: d3_locale_numberFormat(locale), - timeFormat: d3_locale_timeFormat(locale) - }; - }; - var d3_locale_enUS = d3.locale({ - decimal: ".", - thousands: ",", - grouping: [ 3 ], - currency: [ "$", "" ], - dateTime: "%a %b %e %X %Y", - date: "%m/%d/%Y", - time: "%H:%M:%S", - periods: [ "AM", "PM" ], - days: [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ], - shortDays: [ "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" ], - months: [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ], - shortMonths: [ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" ] - }); - d3.format = d3_locale_enUS.numberFormat; - d3.geo = {}; - function d3_adder() {} - d3_adder.prototype = { - s: 0, - t: 0, - add: function(y) { - d3_adderSum(y, this.t, d3_adderTemp); - d3_adderSum(d3_adderTemp.s, this.s, this); - if (this.s) this.t += d3_adderTemp.t; else this.s = d3_adderTemp.t; - }, - reset: function() { - this.s = this.t = 0; - }, - valueOf: function() { - return this.s; - } - }; - var d3_adderTemp = new d3_adder(); - function d3_adderSum(a, b, o) { - var x = o.s = a + b, bv = x - a, av = x - bv; - o.t = a - av + (b - bv); - } - d3.geo.stream = function(object, listener) { - if (object && d3_geo_streamObjectType.hasOwnProperty(object.type)) { - d3_geo_streamObjectType[object.type](object, listener); - } else { - d3_geo_streamGeometry(object, listener); - } - }; - function d3_geo_streamGeometry(geometry, listener) { - if (geometry && d3_geo_streamGeometryType.hasOwnProperty(geometry.type)) { - d3_geo_streamGeometryType[geometry.type](geometry, listener); - } - } - var d3_geo_streamObjectType = { - Feature: function(feature, listener) { - d3_geo_streamGeometry(feature.geometry, listener); - }, - FeatureCollection: function(object, listener) { - var features = object.features, i = -1, n = features.length; - while (++i < n) d3_geo_streamGeometry(features[i].geometry, listener); - } - }; - var d3_geo_streamGeometryType = { - Sphere: function(object, listener) { - listener.sphere(); - }, - Point: function(object, listener) { - object = object.coordinates; - listener.point(object[0], object[1], object[2]); - }, - MultiPoint: function(object, listener) { - var coordinates = object.coordinates, i = -1, n = coordinates.length; - while (++i < n) object = coordinates[i], listener.point(object[0], object[1], object[2]); - }, - LineString: function(object, listener) { - d3_geo_streamLine(object.coordinates, listener, 0); - }, - MultiLineString: function(object, listener) { - var coordinates = object.coordinates, i = -1, n = coordinates.length; - while (++i < n) d3_geo_streamLine(coordinates[i], listener, 0); - }, - Polygon: function(object, listener) { - d3_geo_streamPolygon(object.coordinates, listener); - }, - MultiPolygon: function(object, listener) { - var coordinates = object.coordinates, i = -1, n = coordinates.length; - while (++i < n) d3_geo_streamPolygon(coordinates[i], listener); - }, - GeometryCollection: function(object, listener) { - var geometries = object.geometries, i = -1, n = geometries.length; - while (++i < n) d3_geo_streamGeometry(geometries[i], listener); - } - }; - function d3_geo_streamLine(coordinates, listener, closed) { - var i = -1, n = coordinates.length - closed, coordinate; - listener.lineStart(); - while (++i < n) coordinate = coordinates[i], listener.point(coordinate[0], coordinate[1], coordinate[2]); - listener.lineEnd(); - } - function d3_geo_streamPolygon(coordinates, listener) { - var i = -1, n = coordinates.length; - listener.polygonStart(); - while (++i < n) d3_geo_streamLine(coordinates[i], listener, 1); - listener.polygonEnd(); - } - d3.geo.area = function(object) { - d3_geo_areaSum = 0; - d3.geo.stream(object, d3_geo_area); - return d3_geo_areaSum; - }; - var d3_geo_areaSum, d3_geo_areaRingSum = new d3_adder(); - var d3_geo_area = { - sphere: function() { - d3_geo_areaSum += 4 * π; - }, - point: d3_noop, - lineStart: d3_noop, - lineEnd: d3_noop, - polygonStart: function() { - d3_geo_areaRingSum.reset(); - d3_geo_area.lineStart = d3_geo_areaRingStart; - }, - polygonEnd: function() { - var area = 2 * d3_geo_areaRingSum; - d3_geo_areaSum += area < 0 ? 4 * π + area : area; - d3_geo_area.lineStart = d3_geo_area.lineEnd = d3_geo_area.point = d3_noop; - } - }; - function d3_geo_areaRingStart() { - var λ00, φ00, λ0, cosφ0, sinφ0; - d3_geo_area.point = function(λ, φ) { - d3_geo_area.point = nextPoint; - λ0 = (λ00 = λ) * d3_radians, cosφ0 = Math.cos(φ = (φ00 = φ) * d3_radians / 2 + π / 4), - sinφ0 = Math.sin(φ); - }; - function nextPoint(λ, φ) { - λ *= d3_radians; - φ = φ * d3_radians / 2 + π / 4; - var dλ = λ - λ0, sdλ = dλ >= 0 ? 1 : -1, adλ = sdλ * dλ, cosφ = Math.cos(φ), sinφ = Math.sin(φ), k = sinφ0 * sinφ, u = cosφ0 * cosφ + k * Math.cos(adλ), v = k * sdλ * Math.sin(adλ); - d3_geo_areaRingSum.add(Math.atan2(v, u)); - λ0 = λ, cosφ0 = cosφ, sinφ0 = sinφ; - } - d3_geo_area.lineEnd = function() { - nextPoint(λ00, φ00); - }; - } - function d3_geo_cartesian(spherical) { - var λ = spherical[0], φ = spherical[1], cosφ = Math.cos(φ); - return [ cosφ * Math.cos(λ), cosφ * Math.sin(λ), Math.sin(φ) ]; - } - function d3_geo_cartesianDot(a, b) { - return a[0] * b[0] + a[1] * b[1] + a[2] * b[2]; - } - function d3_geo_cartesianCross(a, b) { - return [ a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0] ]; - } - function d3_geo_cartesianAdd(a, b) { - a[0] += b[0]; - a[1] += b[1]; - a[2] += b[2]; - } - function d3_geo_cartesianScale(vector, k) { - return [ vector[0] * k, vector[1] * k, vector[2] * k ]; - } - function d3_geo_cartesianNormalize(d) { - var l = Math.sqrt(d[0] * d[0] + d[1] * d[1] + d[2] * d[2]); - d[0] /= l; - d[1] /= l; - d[2] /= l; - } - function d3_geo_spherical(cartesian) { - return [ Math.atan2(cartesian[1], cartesian[0]), d3_asin(cartesian[2]) ]; - } - function d3_geo_sphericalEqual(a, b) { - return abs(a[0] - b[0]) < ε && abs(a[1] - b[1]) < ε; - } - d3.geo.bounds = function() { - var λ0, φ0, λ1, φ1, λ_, λ__, φ__, p0, dλSum, ranges, range; - var bound = { - point: point, - lineStart: lineStart, - lineEnd: lineEnd, - polygonStart: function() { - bound.point = ringPoint; - bound.lineStart = ringStart; - bound.lineEnd = ringEnd; - dλSum = 0; - d3_geo_area.polygonStart(); - }, - polygonEnd: function() { - d3_geo_area.polygonEnd(); - bound.point = point; - bound.lineStart = lineStart; - bound.lineEnd = lineEnd; - if (d3_geo_areaRingSum < 0) λ0 = -(λ1 = 180), φ0 = -(φ1 = 90); else if (dλSum > ε) φ1 = 90; else if (dλSum < -ε) φ0 = -90; - range[0] = λ0, range[1] = λ1; - } - }; - function point(λ, φ) { - ranges.push(range = [ λ0 = λ, λ1 = λ ]); - if (φ < φ0) φ0 = φ; - if (φ > φ1) φ1 = φ; - } - function linePoint(λ, φ) { - var p = d3_geo_cartesian([ λ * d3_radians, φ * d3_radians ]); - if (p0) { - var normal = d3_geo_cartesianCross(p0, p), equatorial = [ normal[1], -normal[0], 0 ], inflection = d3_geo_cartesianCross(equatorial, normal); - d3_geo_cartesianNormalize(inflection); - inflection = d3_geo_spherical(inflection); - var dλ = λ - λ_, s = dλ > 0 ? 1 : -1, λi = inflection[0] * d3_degrees * s, antimeridian = abs(dλ) > 180; - if (antimeridian ^ (s * λ_ < λi && λi < s * λ)) { - var φi = inflection[1] * d3_degrees; - if (φi > φ1) φ1 = φi; - } else if (λi = (λi + 360) % 360 - 180, antimeridian ^ (s * λ_ < λi && λi < s * λ)) { - var φi = -inflection[1] * d3_degrees; - if (φi < φ0) φ0 = φi; - } else { - if (φ < φ0) φ0 = φ; - if (φ > φ1) φ1 = φ; - } - if (antimeridian) { - if (λ < λ_) { - if (angle(λ0, λ) > angle(λ0, λ1)) λ1 = λ; - } else { - if (angle(λ, λ1) > angle(λ0, λ1)) λ0 = λ; - } - } else { - if (λ1 >= λ0) { - if (λ < λ0) λ0 = λ; - if (λ > λ1) λ1 = λ; - } else { - if (λ > λ_) { - if (angle(λ0, λ) > angle(λ0, λ1)) λ1 = λ; - } else { - if (angle(λ, λ1) > angle(λ0, λ1)) λ0 = λ; - } - } - } - } else { - point(λ, φ); - } - p0 = p, λ_ = λ; - } - function lineStart() { - bound.point = linePoint; - } - function lineEnd() { - range[0] = λ0, range[1] = λ1; - bound.point = point; - p0 = null; - } - function ringPoint(λ, φ) { - if (p0) { - var dλ = λ - λ_; - dλSum += abs(dλ) > 180 ? dλ + (dλ > 0 ? 360 : -360) : dλ; - } else λ__ = λ, φ__ = φ; - d3_geo_area.point(λ, φ); - linePoint(λ, φ); - } - function ringStart() { - d3_geo_area.lineStart(); - } - function ringEnd() { - ringPoint(λ__, φ__); - d3_geo_area.lineEnd(); - if (abs(dλSum) > ε) λ0 = -(λ1 = 180); - range[0] = λ0, range[1] = λ1; - p0 = null; - } - function angle(λ0, λ1) { - return (λ1 -= λ0) < 0 ? λ1 + 360 : λ1; - } - function compareRanges(a, b) { - return a[0] - b[0]; - } - function withinRange(x, range) { - return range[0] <= range[1] ? range[0] <= x && x <= range[1] : x < range[0] || range[1] < x; - } - return function(feature) { - φ1 = λ1 = -(λ0 = φ0 = Infinity); - ranges = []; - d3.geo.stream(feature, bound); - var n = ranges.length; - if (n) { - ranges.sort(compareRanges); - for (var i = 1, a = ranges[0], b, merged = [ a ]; i < n; ++i) { - b = ranges[i]; - if (withinRange(b[0], a) || withinRange(b[1], a)) { - if (angle(a[0], b[1]) > angle(a[0], a[1])) a[1] = b[1]; - if (angle(b[0], a[1]) > angle(a[0], a[1])) a[0] = b[0]; - } else { - merged.push(a = b); - } - } - var best = -Infinity, dλ; - for (var n = merged.length - 1, i = 0, a = merged[n], b; i <= n; a = b, ++i) { - b = merged[i]; - if ((dλ = angle(a[1], b[0])) > best) best = dλ, λ0 = b[0], λ1 = a[1]; - } - } - ranges = range = null; - return λ0 === Infinity || φ0 === Infinity ? [ [ NaN, NaN ], [ NaN, NaN ] ] : [ [ λ0, φ0 ], [ λ1, φ1 ] ]; - }; - }(); - d3.geo.centroid = function(object) { - d3_geo_centroidW0 = d3_geo_centroidW1 = d3_geo_centroidX0 = d3_geo_centroidY0 = d3_geo_centroidZ0 = d3_geo_centroidX1 = d3_geo_centroidY1 = d3_geo_centroidZ1 = d3_geo_centroidX2 = d3_geo_centroidY2 = d3_geo_centroidZ2 = 0; - d3.geo.stream(object, d3_geo_centroid); - var x = d3_geo_centroidX2, y = d3_geo_centroidY2, z = d3_geo_centroidZ2, m = x * x + y * y + z * z; - if (m < ε2) { - x = d3_geo_centroidX1, y = d3_geo_centroidY1, z = d3_geo_centroidZ1; - if (d3_geo_centroidW1 < ε) x = d3_geo_centroidX0, y = d3_geo_centroidY0, z = d3_geo_centroidZ0; - m = x * x + y * y + z * z; - if (m < ε2) return [ NaN, NaN ]; - } - return [ Math.atan2(y, x) * d3_degrees, d3_asin(z / Math.sqrt(m)) * d3_degrees ]; - }; - var d3_geo_centroidW0, d3_geo_centroidW1, d3_geo_centroidX0, d3_geo_centroidY0, d3_geo_centroidZ0, d3_geo_centroidX1, d3_geo_centroidY1, d3_geo_centroidZ1, d3_geo_centroidX2, d3_geo_centroidY2, d3_geo_centroidZ2; - var d3_geo_centroid = { - sphere: d3_noop, - point: d3_geo_centroidPoint, - lineStart: d3_geo_centroidLineStart, - lineEnd: d3_geo_centroidLineEnd, - polygonStart: function() { - d3_geo_centroid.lineStart = d3_geo_centroidRingStart; - }, - polygonEnd: function() { - d3_geo_centroid.lineStart = d3_geo_centroidLineStart; - } - }; - function d3_geo_centroidPoint(λ, φ) { - λ *= d3_radians; - var cosφ = Math.cos(φ *= d3_radians); - d3_geo_centroidPointXYZ(cosφ * Math.cos(λ), cosφ * Math.sin(λ), Math.sin(φ)); - } - function d3_geo_centroidPointXYZ(x, y, z) { - ++d3_geo_centroidW0; - d3_geo_centroidX0 += (x - d3_geo_centroidX0) / d3_geo_centroidW0; - d3_geo_centroidY0 += (y - d3_geo_centroidY0) / d3_geo_centroidW0; - d3_geo_centroidZ0 += (z - d3_geo_centroidZ0) / d3_geo_centroidW0; - } - function d3_geo_centroidLineStart() { - var x0, y0, z0; - d3_geo_centroid.point = function(λ, φ) { - λ *= d3_radians; - var cosφ = Math.cos(φ *= d3_radians); - x0 = cosφ * Math.cos(λ); - y0 = cosφ * Math.sin(λ); - z0 = Math.sin(φ); - d3_geo_centroid.point = nextPoint; - d3_geo_centroidPointXYZ(x0, y0, z0); - }; - function nextPoint(λ, φ) { - λ *= d3_radians; - var cosφ = Math.cos(φ *= d3_radians), x = cosφ * Math.cos(λ), y = cosφ * Math.sin(λ), z = Math.sin(φ), w = Math.atan2(Math.sqrt((w = y0 * z - z0 * y) * w + (w = z0 * x - x0 * z) * w + (w = x0 * y - y0 * x) * w), x0 * x + y0 * y + z0 * z); - d3_geo_centroidW1 += w; - d3_geo_centroidX1 += w * (x0 + (x0 = x)); - d3_geo_centroidY1 += w * (y0 + (y0 = y)); - d3_geo_centroidZ1 += w * (z0 + (z0 = z)); - d3_geo_centroidPointXYZ(x0, y0, z0); - } - } - function d3_geo_centroidLineEnd() { - d3_geo_centroid.point = d3_geo_centroidPoint; - } - function d3_geo_centroidRingStart() { - var λ00, φ00, x0, y0, z0; - d3_geo_centroid.point = function(λ, φ) { - λ00 = λ, φ00 = φ; - d3_geo_centroid.point = nextPoint; - λ *= d3_radians; - var cosφ = Math.cos(φ *= d3_radians); - x0 = cosφ * Math.cos(λ); - y0 = cosφ * Math.sin(λ); - z0 = Math.sin(φ); - d3_geo_centroidPointXYZ(x0, y0, z0); - }; - d3_geo_centroid.lineEnd = function() { - nextPoint(λ00, φ00); - d3_geo_centroid.lineEnd = d3_geo_centroidLineEnd; - d3_geo_centroid.point = d3_geo_centroidPoint; - }; - function nextPoint(λ, φ) { - λ *= d3_radians; - var cosφ = Math.cos(φ *= d3_radians), x = cosφ * Math.cos(λ), y = cosφ * Math.sin(λ), z = Math.sin(φ), cx = y0 * z - z0 * y, cy = z0 * x - x0 * z, cz = x0 * y - y0 * x, m = Math.sqrt(cx * cx + cy * cy + cz * cz), u = x0 * x + y0 * y + z0 * z, v = m && -d3_acos(u) / m, w = Math.atan2(m, u); - d3_geo_centroidX2 += v * cx; - d3_geo_centroidY2 += v * cy; - d3_geo_centroidZ2 += v * cz; - d3_geo_centroidW1 += w; - d3_geo_centroidX1 += w * (x0 + (x0 = x)); - d3_geo_centroidY1 += w * (y0 + (y0 = y)); - d3_geo_centroidZ1 += w * (z0 + (z0 = z)); - d3_geo_centroidPointXYZ(x0, y0, z0); - } - } - function d3_geo_compose(a, b) { - function compose(x, y) { - return x = a(x, y), b(x[0], x[1]); - } - if (a.invert && b.invert) compose.invert = function(x, y) { - return x = b.invert(x, y), x && a.invert(x[0], x[1]); - }; - return compose; - } - function d3_true() { - return true; - } - function d3_geo_clipPolygon(segments, compare, clipStartInside, interpolate, listener) { - var subject = [], clip = []; - segments.forEach(function(segment) { - if ((n = segment.length - 1) <= 0) return; - var n, p0 = segment[0], p1 = segment[n]; - if (d3_geo_sphericalEqual(p0, p1)) { - listener.lineStart(); - for (var i = 0; i < n; ++i) listener.point((p0 = segment[i])[0], p0[1]); - listener.lineEnd(); - return; - } - var a = new d3_geo_clipPolygonIntersection(p0, segment, null, true), b = new d3_geo_clipPolygonIntersection(p0, null, a, false); - a.o = b; - subject.push(a); - clip.push(b); - a = new d3_geo_clipPolygonIntersection(p1, segment, null, false); - b = new d3_geo_clipPolygonIntersection(p1, null, a, true); - a.o = b; - subject.push(a); - clip.push(b); - }); - clip.sort(compare); - d3_geo_clipPolygonLinkCircular(subject); - d3_geo_clipPolygonLinkCircular(clip); - if (!subject.length) return; - for (var i = 0, entry = clipStartInside, n = clip.length; i < n; ++i) { - clip[i].e = entry = !entry; - } - var start = subject[0], points, point; - while (1) { - var current = start, isSubject = true; - while (current.v) if ((current = current.n) === start) return; - points = current.z; - listener.lineStart(); - do { - current.v = current.o.v = true; - if (current.e) { - if (isSubject) { - for (var i = 0, n = points.length; i < n; ++i) listener.point((point = points[i])[0], point[1]); - } else { - interpolate(current.x, current.n.x, 1, listener); - } - current = current.n; - } else { - if (isSubject) { - points = current.p.z; - for (var i = points.length - 1; i >= 0; --i) listener.point((point = points[i])[0], point[1]); - } else { - interpolate(current.x, current.p.x, -1, listener); - } - current = current.p; - } - current = current.o; - points = current.z; - isSubject = !isSubject; - } while (!current.v); - listener.lineEnd(); - } - } - function d3_geo_clipPolygonLinkCircular(array) { - if (!(n = array.length)) return; - var n, i = 0, a = array[0], b; - while (++i < n) { - a.n = b = array[i]; - b.p = a; - a = b; - } - a.n = b = array[0]; - b.p = a; - } - function d3_geo_clipPolygonIntersection(point, points, other, entry) { - this.x = point; - this.z = points; - this.o = other; - this.e = entry; - this.v = false; - this.n = this.p = null; - } - function d3_geo_clip(pointVisible, clipLine, interpolate, clipStart) { - return function(rotate, listener) { - var line = clipLine(listener), rotatedClipStart = rotate.invert(clipStart[0], clipStart[1]); - var clip = { - point: point, - lineStart: lineStart, - lineEnd: lineEnd, - polygonStart: function() { - clip.point = pointRing; - clip.lineStart = ringStart; - clip.lineEnd = ringEnd; - segments = []; - polygon = []; - }, - polygonEnd: function() { - clip.point = point; - clip.lineStart = lineStart; - clip.lineEnd = lineEnd; - segments = d3.merge(segments); - var clipStartInside = d3_geo_pointInPolygon(rotatedClipStart, polygon); - if (segments.length) { - if (!polygonStarted) listener.polygonStart(), polygonStarted = true; - d3_geo_clipPolygon(segments, d3_geo_clipSort, clipStartInside, interpolate, listener); - } else if (clipStartInside) { - if (!polygonStarted) listener.polygonStart(), polygonStarted = true; - listener.lineStart(); - interpolate(null, null, 1, listener); - listener.lineEnd(); - } - if (polygonStarted) listener.polygonEnd(), polygonStarted = false; - segments = polygon = null; - }, - sphere: function() { - listener.polygonStart(); - listener.lineStart(); - interpolate(null, null, 1, listener); - listener.lineEnd(); - listener.polygonEnd(); - } - }; - function point(λ, φ) { - var point = rotate(λ, φ); - if (pointVisible(λ = point[0], φ = point[1])) listener.point(λ, φ); - } - function pointLine(λ, φ) { - var point = rotate(λ, φ); - line.point(point[0], point[1]); - } - function lineStart() { - clip.point = pointLine; - line.lineStart(); - } - function lineEnd() { - clip.point = point; - line.lineEnd(); - } - var segments; - var buffer = d3_geo_clipBufferListener(), ringListener = clipLine(buffer), polygonStarted = false, polygon, ring; - function pointRing(λ, φ) { - ring.push([ λ, φ ]); - var point = rotate(λ, φ); - ringListener.point(point[0], point[1]); - } - function ringStart() { - ringListener.lineStart(); - ring = []; - } - function ringEnd() { - pointRing(ring[0][0], ring[0][1]); - ringListener.lineEnd(); - var clean = ringListener.clean(), ringSegments = buffer.buffer(), segment, n = ringSegments.length; - ring.pop(); - polygon.push(ring); - ring = null; - if (!n) return; - if (clean & 1) { - segment = ringSegments[0]; - var n = segment.length - 1, i = -1, point; - if (n > 0) { - if (!polygonStarted) listener.polygonStart(), polygonStarted = true; - listener.lineStart(); - while (++i < n) listener.point((point = segment[i])[0], point[1]); - listener.lineEnd(); - } - return; - } - if (n > 1 && clean & 2) ringSegments.push(ringSegments.pop().concat(ringSegments.shift())); - segments.push(ringSegments.filter(d3_geo_clipSegmentLength1)); - } - return clip; - }; - } - function d3_geo_clipSegmentLength1(segment) { - return segment.length > 1; - } - function d3_geo_clipBufferListener() { - var lines = [], line; - return { - lineStart: function() { - lines.push(line = []); - }, - point: function(λ, φ) { - line.push([ λ, φ ]); - }, - lineEnd: d3_noop, - buffer: function() { - var buffer = lines; - lines = []; - line = null; - return buffer; - }, - rejoin: function() { - if (lines.length > 1) lines.push(lines.pop().concat(lines.shift())); - } - }; - } - function d3_geo_clipSort(a, b) { - return ((a = a.x)[0] < 0 ? a[1] - halfπ - ε : halfπ - a[1]) - ((b = b.x)[0] < 0 ? b[1] - halfπ - ε : halfπ - b[1]); - } - var d3_geo_clipAntimeridian = d3_geo_clip(d3_true, d3_geo_clipAntimeridianLine, d3_geo_clipAntimeridianInterpolate, [ -π, -π / 2 ]); - function d3_geo_clipAntimeridianLine(listener) { - var λ0 = NaN, φ0 = NaN, sλ0 = NaN, clean; - return { - lineStart: function() { - listener.lineStart(); - clean = 1; - }, - point: function(λ1, φ1) { - var sλ1 = λ1 > 0 ? π : -π, dλ = abs(λ1 - λ0); - if (abs(dλ - π) < ε) { - listener.point(λ0, φ0 = (φ0 + φ1) / 2 > 0 ? halfπ : -halfπ); - listener.point(sλ0, φ0); - listener.lineEnd(); - listener.lineStart(); - listener.point(sλ1, φ0); - listener.point(λ1, φ0); - clean = 0; - } else if (sλ0 !== sλ1 && dλ >= π) { - if (abs(λ0 - sλ0) < ε) λ0 -= sλ0 * ε; - if (abs(λ1 - sλ1) < ε) λ1 -= sλ1 * ε; - φ0 = d3_geo_clipAntimeridianIntersect(λ0, φ0, λ1, φ1); - listener.point(sλ0, φ0); - listener.lineEnd(); - listener.lineStart(); - listener.point(sλ1, φ0); - clean = 0; - } - listener.point(λ0 = λ1, φ0 = φ1); - sλ0 = sλ1; - }, - lineEnd: function() { - listener.lineEnd(); - λ0 = φ0 = NaN; - }, - clean: function() { - return 2 - clean; - } - }; - } - function d3_geo_clipAntimeridianIntersect(λ0, φ0, λ1, φ1) { - var cosφ0, cosφ1, sinλ0_λ1 = Math.sin(λ0 - λ1); - return abs(sinλ0_λ1) > ε ? Math.atan((Math.sin(φ0) * (cosφ1 = Math.cos(φ1)) * Math.sin(λ1) - Math.sin(φ1) * (cosφ0 = Math.cos(φ0)) * Math.sin(λ0)) / (cosφ0 * cosφ1 * sinλ0_λ1)) : (φ0 + φ1) / 2; - } - function d3_geo_clipAntimeridianInterpolate(from, to, direction, listener) { - var φ; - if (from == null) { - φ = direction * halfπ; - listener.point(-π, φ); - listener.point(0, φ); - listener.point(π, φ); - listener.point(π, 0); - listener.point(π, -φ); - listener.point(0, -φ); - listener.point(-π, -φ); - listener.point(-π, 0); - listener.point(-π, φ); - } else if (abs(from[0] - to[0]) > ε) { - var s = from[0] < to[0] ? π : -π; - φ = direction * s / 2; - listener.point(-s, φ); - listener.point(0, φ); - listener.point(s, φ); - } else { - listener.point(to[0], to[1]); - } - } - function d3_geo_pointInPolygon(point, polygon) { - var meridian = point[0], parallel = point[1], meridianNormal = [ Math.sin(meridian), -Math.cos(meridian), 0 ], polarAngle = 0, winding = 0; - d3_geo_areaRingSum.reset(); - for (var i = 0, n = polygon.length; i < n; ++i) { - var ring = polygon[i], m = ring.length; - if (!m) continue; - var point0 = ring[0], λ0 = point0[0], φ0 = point0[1] / 2 + π / 4, sinφ0 = Math.sin(φ0), cosφ0 = Math.cos(φ0), j = 1; - while (true) { - if (j === m) j = 0; - point = ring[j]; - var λ = point[0], φ = point[1] / 2 + π / 4, sinφ = Math.sin(φ), cosφ = Math.cos(φ), dλ = λ - λ0, sdλ = dλ >= 0 ? 1 : -1, adλ = sdλ * dλ, antimeridian = adλ > π, k = sinφ0 * sinφ; - d3_geo_areaRingSum.add(Math.atan2(k * sdλ * Math.sin(adλ), cosφ0 * cosφ + k * Math.cos(adλ))); - polarAngle += antimeridian ? dλ + sdλ * τ : dλ; - if (antimeridian ^ λ0 >= meridian ^ λ >= meridian) { - var arc = d3_geo_cartesianCross(d3_geo_cartesian(point0), d3_geo_cartesian(point)); - d3_geo_cartesianNormalize(arc); - var intersection = d3_geo_cartesianCross(meridianNormal, arc); - d3_geo_cartesianNormalize(intersection); - var φarc = (antimeridian ^ dλ >= 0 ? -1 : 1) * d3_asin(intersection[2]); - if (parallel > φarc || parallel === φarc && (arc[0] || arc[1])) { - winding += antimeridian ^ dλ >= 0 ? 1 : -1; - } - } - if (!j++) break; - λ0 = λ, sinφ0 = sinφ, cosφ0 = cosφ, point0 = point; - } - } - return (polarAngle < -ε || polarAngle < ε && d3_geo_areaRingSum < 0) ^ winding & 1; - } - function d3_geo_clipCircle(radius) { - var cr = Math.cos(radius), smallRadius = cr > 0, notHemisphere = abs(cr) > ε, interpolate = d3_geo_circleInterpolate(radius, 6 * d3_radians); - return d3_geo_clip(visible, clipLine, interpolate, smallRadius ? [ 0, -radius ] : [ -π, radius - π ]); - function visible(λ, φ) { - return Math.cos(λ) * Math.cos(φ) > cr; - } - function clipLine(listener) { - var point0, c0, v0, v00, clean; - return { - lineStart: function() { - v00 = v0 = false; - clean = 1; - }, - point: function(λ, φ) { - var point1 = [ λ, φ ], point2, v = visible(λ, φ), c = smallRadius ? v ? 0 : code(λ, φ) : v ? code(λ + (λ < 0 ? π : -π), φ) : 0; - if (!point0 && (v00 = v0 = v)) listener.lineStart(); - if (v !== v0) { - point2 = intersect(point0, point1); - if (d3_geo_sphericalEqual(point0, point2) || d3_geo_sphericalEqual(point1, point2)) { - point1[0] += ε; - point1[1] += ε; - v = visible(point1[0], point1[1]); - } - } - if (v !== v0) { - clean = 0; - if (v) { - listener.lineStart(); - point2 = intersect(point1, point0); - listener.point(point2[0], point2[1]); - } else { - point2 = intersect(point0, point1); - listener.point(point2[0], point2[1]); - listener.lineEnd(); - } - point0 = point2; - } else if (notHemisphere && point0 && smallRadius ^ v) { - var t; - if (!(c & c0) && (t = intersect(point1, point0, true))) { - clean = 0; - if (smallRadius) { - listener.lineStart(); - listener.point(t[0][0], t[0][1]); - listener.point(t[1][0], t[1][1]); - listener.lineEnd(); - } else { - listener.point(t[1][0], t[1][1]); - listener.lineEnd(); - listener.lineStart(); - listener.point(t[0][0], t[0][1]); - } - } - } - if (v && (!point0 || !d3_geo_sphericalEqual(point0, point1))) { - listener.point(point1[0], point1[1]); - } - point0 = point1, v0 = v, c0 = c; - }, - lineEnd: function() { - if (v0) listener.lineEnd(); - point0 = null; - }, - clean: function() { - return clean | (v00 && v0) << 1; - } - }; - } - function intersect(a, b, two) { - var pa = d3_geo_cartesian(a), pb = d3_geo_cartesian(b); - var n1 = [ 1, 0, 0 ], n2 = d3_geo_cartesianCross(pa, pb), n2n2 = d3_geo_cartesianDot(n2, n2), n1n2 = n2[0], determinant = n2n2 - n1n2 * n1n2; - if (!determinant) return !two && a; - var c1 = cr * n2n2 / determinant, c2 = -cr * n1n2 / determinant, n1xn2 = d3_geo_cartesianCross(n1, n2), A = d3_geo_cartesianScale(n1, c1), B = d3_geo_cartesianScale(n2, c2); - d3_geo_cartesianAdd(A, B); - var u = n1xn2, w = d3_geo_cartesianDot(A, u), uu = d3_geo_cartesianDot(u, u), t2 = w * w - uu * (d3_geo_cartesianDot(A, A) - 1); - if (t2 < 0) return; - var t = Math.sqrt(t2), q = d3_geo_cartesianScale(u, (-w - t) / uu); - d3_geo_cartesianAdd(q, A); - q = d3_geo_spherical(q); - if (!two) return q; - var λ0 = a[0], λ1 = b[0], φ0 = a[1], φ1 = b[1], z; - if (λ1 < λ0) z = λ0, λ0 = λ1, λ1 = z; - var δλ = λ1 - λ0, polar = abs(δλ - π) < ε, meridian = polar || δλ < ε; - if (!polar && φ1 < φ0) z = φ0, φ0 = φ1, φ1 = z; - if (meridian ? polar ? φ0 + φ1 > 0 ^ q[1] < (abs(q[0] - λ0) < ε ? φ0 : φ1) : φ0 <= q[1] && q[1] <= φ1 : δλ > π ^ (λ0 <= q[0] && q[0] <= λ1)) { - var q1 = d3_geo_cartesianScale(u, (-w + t) / uu); - d3_geo_cartesianAdd(q1, A); - return [ q, d3_geo_spherical(q1) ]; - } - } - function code(λ, φ) { - var r = smallRadius ? radius : π - radius, code = 0; - if (λ < -r) code |= 1; else if (λ > r) code |= 2; - if (φ < -r) code |= 4; else if (φ > r) code |= 8; - return code; - } - } - function d3_geom_clipLine(x0, y0, x1, y1) { - return function(line) { - var a = line.a, b = line.b, ax = a.x, ay = a.y, bx = b.x, by = b.y, t0 = 0, t1 = 1, dx = bx - ax, dy = by - ay, r; - r = x0 - ax; - if (!dx && r > 0) return; - r /= dx; - if (dx < 0) { - if (r < t0) return; - if (r < t1) t1 = r; - } else if (dx > 0) { - if (r > t1) return; - if (r > t0) t0 = r; - } - r = x1 - ax; - if (!dx && r < 0) return; - r /= dx; - if (dx < 0) { - if (r > t1) return; - if (r > t0) t0 = r; - } else if (dx > 0) { - if (r < t0) return; - if (r < t1) t1 = r; - } - r = y0 - ay; - if (!dy && r > 0) return; - r /= dy; - if (dy < 0) { - if (r < t0) return; - if (r < t1) t1 = r; - } else if (dy > 0) { - if (r > t1) return; - if (r > t0) t0 = r; - } - r = y1 - ay; - if (!dy && r < 0) return; - r /= dy; - if (dy < 0) { - if (r > t1) return; - if (r > t0) t0 = r; - } else if (dy > 0) { - if (r < t0) return; - if (r < t1) t1 = r; - } - if (t0 > 0) line.a = { - x: ax + t0 * dx, - y: ay + t0 * dy - }; - if (t1 < 1) line.b = { - x: ax + t1 * dx, - y: ay + t1 * dy - }; - return line; - }; - } - var d3_geo_clipExtentMAX = 1e9; - d3.geo.clipExtent = function() { - var x0, y0, x1, y1, stream, clip, clipExtent = { - stream: function(output) { - if (stream) stream.valid = false; - stream = clip(output); - stream.valid = true; - return stream; - }, - extent: function(_) { - if (!arguments.length) return [ [ x0, y0 ], [ x1, y1 ] ]; - clip = d3_geo_clipExtent(x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1]); - if (stream) stream.valid = false, stream = null; - return clipExtent; - } - }; - return clipExtent.extent([ [ 0, 0 ], [ 960, 500 ] ]); - }; - function d3_geo_clipExtent(x0, y0, x1, y1) { - return function(listener) { - var listener_ = listener, bufferListener = d3_geo_clipBufferListener(), clipLine = d3_geom_clipLine(x0, y0, x1, y1), segments, polygon, ring; - var clip = { - point: point, - lineStart: lineStart, - lineEnd: lineEnd, - polygonStart: function() { - listener = bufferListener; - segments = []; - polygon = []; - clean = true; - }, - polygonEnd: function() { - listener = listener_; - segments = d3.merge(segments); - var clipStartInside = insidePolygon([ x0, y1 ]), inside = clean && clipStartInside, visible = segments.length; - if (inside || visible) { - listener.polygonStart(); - if (inside) { - listener.lineStart(); - interpolate(null, null, 1, listener); - listener.lineEnd(); - } - if (visible) { - d3_geo_clipPolygon(segments, compare, clipStartInside, interpolate, listener); - } - listener.polygonEnd(); - } - segments = polygon = ring = null; - } - }; - function insidePolygon(p) { - var wn = 0, n = polygon.length, y = p[1]; - for (var i = 0; i < n; ++i) { - for (var j = 1, v = polygon[i], m = v.length, a = v[0], b; j < m; ++j) { - b = v[j]; - if (a[1] <= y) { - if (b[1] > y && d3_cross2d(a, b, p) > 0) ++wn; - } else { - if (b[1] <= y && d3_cross2d(a, b, p) < 0) --wn; - } - a = b; - } - } - return wn !== 0; - } - function interpolate(from, to, direction, listener) { - var a = 0, a1 = 0; - if (from == null || (a = corner(from, direction)) !== (a1 = corner(to, direction)) || comparePoints(from, to) < 0 ^ direction > 0) { - do { - listener.point(a === 0 || a === 3 ? x0 : x1, a > 1 ? y1 : y0); - } while ((a = (a + direction + 4) % 4) !== a1); - } else { - listener.point(to[0], to[1]); - } - } - function pointVisible(x, y) { - return x0 <= x && x <= x1 && y0 <= y && y <= y1; - } - function point(x, y) { - if (pointVisible(x, y)) listener.point(x, y); - } - var x__, y__, v__, x_, y_, v_, first, clean; - function lineStart() { - clip.point = linePoint; - if (polygon) polygon.push(ring = []); - first = true; - v_ = false; - x_ = y_ = NaN; - } - function lineEnd() { - if (segments) { - linePoint(x__, y__); - if (v__ && v_) bufferListener.rejoin(); - segments.push(bufferListener.buffer()); - } - clip.point = point; - if (v_) listener.lineEnd(); - } - function linePoint(x, y) { - x = Math.max(-d3_geo_clipExtentMAX, Math.min(d3_geo_clipExtentMAX, x)); - y = Math.max(-d3_geo_clipExtentMAX, Math.min(d3_geo_clipExtentMAX, y)); - var v = pointVisible(x, y); - if (polygon) ring.push([ x, y ]); - if (first) { - x__ = x, y__ = y, v__ = v; - first = false; - if (v) { - listener.lineStart(); - listener.point(x, y); - } - } else { - if (v && v_) listener.point(x, y); else { - var l = { - a: { - x: x_, - y: y_ - }, - b: { - x: x, - y: y - } - }; - if (clipLine(l)) { - if (!v_) { - listener.lineStart(); - listener.point(l.a.x, l.a.y); - } - listener.point(l.b.x, l.b.y); - if (!v) listener.lineEnd(); - clean = false; - } else if (v) { - listener.lineStart(); - listener.point(x, y); - clean = false; - } - } - } - x_ = x, y_ = y, v_ = v; - } - return clip; - }; - function corner(p, direction) { - return abs(p[0] - x0) < ε ? direction > 0 ? 0 : 3 : abs(p[0] - x1) < ε ? direction > 0 ? 2 : 1 : abs(p[1] - y0) < ε ? direction > 0 ? 1 : 0 : direction > 0 ? 3 : 2; - } - function compare(a, b) { - return comparePoints(a.x, b.x); - } - function comparePoints(a, b) { - var ca = corner(a, 1), cb = corner(b, 1); - return ca !== cb ? ca - cb : ca === 0 ? b[1] - a[1] : ca === 1 ? a[0] - b[0] : ca === 2 ? a[1] - b[1] : b[0] - a[0]; - } - } - function d3_geo_conic(projectAt) { - var φ0 = 0, φ1 = π / 3, m = d3_geo_projectionMutator(projectAt), p = m(φ0, φ1); - p.parallels = function(_) { - if (!arguments.length) return [ φ0 / π * 180, φ1 / π * 180 ]; - return m(φ0 = _[0] * π / 180, φ1 = _[1] * π / 180); - }; - return p; - } - function d3_geo_conicEqualArea(φ0, φ1) { - var sinφ0 = Math.sin(φ0), n = (sinφ0 + Math.sin(φ1)) / 2, C = 1 + sinφ0 * (2 * n - sinφ0), ρ0 = Math.sqrt(C) / n; - function forward(λ, φ) { - var ρ = Math.sqrt(C - 2 * n * Math.sin(φ)) / n; - return [ ρ * Math.sin(λ *= n), ρ0 - ρ * Math.cos(λ) ]; - } - forward.invert = function(x, y) { - var ρ0_y = ρ0 - y; - return [ Math.atan2(x, ρ0_y) / n, d3_asin((C - (x * x + ρ0_y * ρ0_y) * n * n) / (2 * n)) ]; - }; - return forward; - } - (d3.geo.conicEqualArea = function() { - return d3_geo_conic(d3_geo_conicEqualArea); - }).raw = d3_geo_conicEqualArea; - d3.geo.albers = function() { - return d3.geo.conicEqualArea().rotate([ 96, 0 ]).center([ -.6, 38.7 ]).parallels([ 29.5, 45.5 ]).scale(1070); - }; - d3.geo.albersUsa = function() { - var lower48 = d3.geo.albers(); - var alaska = d3.geo.conicEqualArea().rotate([ 154, 0 ]).center([ -2, 58.5 ]).parallels([ 55, 65 ]); - var hawaii = d3.geo.conicEqualArea().rotate([ 157, 0 ]).center([ -3, 19.9 ]).parallels([ 8, 18 ]); - var point, pointStream = { - point: function(x, y) { - point = [ x, y ]; - } - }, lower48Point, alaskaPoint, hawaiiPoint; - function albersUsa(coordinates) { - var x = coordinates[0], y = coordinates[1]; - point = null; - (lower48Point(x, y), point) || (alaskaPoint(x, y), point) || hawaiiPoint(x, y); - return point; - } - albersUsa.invert = function(coordinates) { - var k = lower48.scale(), t = lower48.translate(), x = (coordinates[0] - t[0]) / k, y = (coordinates[1] - t[1]) / k; - return (y >= .12 && y < .234 && x >= -.425 && x < -.214 ? alaska : y >= .166 && y < .234 && x >= -.214 && x < -.115 ? hawaii : lower48).invert(coordinates); - }; - albersUsa.stream = function(stream) { - var lower48Stream = lower48.stream(stream), alaskaStream = alaska.stream(stream), hawaiiStream = hawaii.stream(stream); - return { - point: function(x, y) { - lower48Stream.point(x, y); - alaskaStream.point(x, y); - hawaiiStream.point(x, y); - }, - sphere: function() { - lower48Stream.sphere(); - alaskaStream.sphere(); - hawaiiStream.sphere(); - }, - lineStart: function() { - lower48Stream.lineStart(); - alaskaStream.lineStart(); - hawaiiStream.lineStart(); - }, - lineEnd: function() { - lower48Stream.lineEnd(); - alaskaStream.lineEnd(); - hawaiiStream.lineEnd(); - }, - polygonStart: function() { - lower48Stream.polygonStart(); - alaskaStream.polygonStart(); - hawaiiStream.polygonStart(); - }, - polygonEnd: function() { - lower48Stream.polygonEnd(); - alaskaStream.polygonEnd(); - hawaiiStream.polygonEnd(); - } - }; - }; - albersUsa.precision = function(_) { - if (!arguments.length) return lower48.precision(); - lower48.precision(_); - alaska.precision(_); - hawaii.precision(_); - return albersUsa; - }; - albersUsa.scale = function(_) { - if (!arguments.length) return lower48.scale(); - lower48.scale(_); - alaska.scale(_ * .35); - hawaii.scale(_); - return albersUsa.translate(lower48.translate()); - }; - albersUsa.translate = function(_) { - if (!arguments.length) return lower48.translate(); - var k = lower48.scale(), x = +_[0], y = +_[1]; - lower48Point = lower48.translate(_).clipExtent([ [ x - .455 * k, y - .238 * k ], [ x + .455 * k, y + .238 * k ] ]).stream(pointStream).point; - alaskaPoint = alaska.translate([ x - .307 * k, y + .201 * k ]).clipExtent([ [ x - .425 * k + ε, y + .12 * k + ε ], [ x - .214 * k - ε, y + .234 * k - ε ] ]).stream(pointStream).point; - hawaiiPoint = hawaii.translate([ x - .205 * k, y + .212 * k ]).clipExtent([ [ x - .214 * k + ε, y + .166 * k + ε ], [ x - .115 * k - ε, y + .234 * k - ε ] ]).stream(pointStream).point; - return albersUsa; - }; - return albersUsa.scale(1070); - }; - var d3_geo_pathAreaSum, d3_geo_pathAreaPolygon, d3_geo_pathArea = { - point: d3_noop, - lineStart: d3_noop, - lineEnd: d3_noop, - polygonStart: function() { - d3_geo_pathAreaPolygon = 0; - d3_geo_pathArea.lineStart = d3_geo_pathAreaRingStart; - }, - polygonEnd: function() { - d3_geo_pathArea.lineStart = d3_geo_pathArea.lineEnd = d3_geo_pathArea.point = d3_noop; - d3_geo_pathAreaSum += abs(d3_geo_pathAreaPolygon / 2); - } - }; - function d3_geo_pathAreaRingStart() { - var x00, y00, x0, y0; - d3_geo_pathArea.point = function(x, y) { - d3_geo_pathArea.point = nextPoint; - x00 = x0 = x, y00 = y0 = y; - }; - function nextPoint(x, y) { - d3_geo_pathAreaPolygon += y0 * x - x0 * y; - x0 = x, y0 = y; - } - d3_geo_pathArea.lineEnd = function() { - nextPoint(x00, y00); - }; - } - var d3_geo_pathBoundsX0, d3_geo_pathBoundsY0, d3_geo_pathBoundsX1, d3_geo_pathBoundsY1; - var d3_geo_pathBounds = { - point: d3_geo_pathBoundsPoint, - lineStart: d3_noop, - lineEnd: d3_noop, - polygonStart: d3_noop, - polygonEnd: d3_noop - }; - function d3_geo_pathBoundsPoint(x, y) { - if (x < d3_geo_pathBoundsX0) d3_geo_pathBoundsX0 = x; - if (x > d3_geo_pathBoundsX1) d3_geo_pathBoundsX1 = x; - if (y < d3_geo_pathBoundsY0) d3_geo_pathBoundsY0 = y; - if (y > d3_geo_pathBoundsY1) d3_geo_pathBoundsY1 = y; - } - function d3_geo_pathBuffer() { - var pointCircle = d3_geo_pathBufferCircle(4.5), buffer = []; - var stream = { - point: point, - lineStart: function() { - stream.point = pointLineStart; - }, - lineEnd: lineEnd, - polygonStart: function() { - stream.lineEnd = lineEndPolygon; - }, - polygonEnd: function() { - stream.lineEnd = lineEnd; - stream.point = point; - }, - pointRadius: function(_) { - pointCircle = d3_geo_pathBufferCircle(_); - return stream; - }, - result: function() { - if (buffer.length) { - var result = buffer.join(""); - buffer = []; - return result; - } - } - }; - function point(x, y) { - buffer.push("M", x, ",", y, pointCircle); - } - function pointLineStart(x, y) { - buffer.push("M", x, ",", y); - stream.point = pointLine; - } - function pointLine(x, y) { - buffer.push("L", x, ",", y); - } - function lineEnd() { - stream.point = point; - } - function lineEndPolygon() { - buffer.push("Z"); - } - return stream; - } - function d3_geo_pathBufferCircle(radius) { - return "m0," + radius + "a" + radius + "," + radius + " 0 1,1 0," + -2 * radius + "a" + radius + "," + radius + " 0 1,1 0," + 2 * radius + "z"; - } - var d3_geo_pathCentroid = { - point: d3_geo_pathCentroidPoint, - lineStart: d3_geo_pathCentroidLineStart, - lineEnd: d3_geo_pathCentroidLineEnd, - polygonStart: function() { - d3_geo_pathCentroid.lineStart = d3_geo_pathCentroidRingStart; - }, - polygonEnd: function() { - d3_geo_pathCentroid.point = d3_geo_pathCentroidPoint; - d3_geo_pathCentroid.lineStart = d3_geo_pathCentroidLineStart; - d3_geo_pathCentroid.lineEnd = d3_geo_pathCentroidLineEnd; - } - }; - function d3_geo_pathCentroidPoint(x, y) { - d3_geo_centroidX0 += x; - d3_geo_centroidY0 += y; - ++d3_geo_centroidZ0; - } - function d3_geo_pathCentroidLineStart() { - var x0, y0; - d3_geo_pathCentroid.point = function(x, y) { - d3_geo_pathCentroid.point = nextPoint; - d3_geo_pathCentroidPoint(x0 = x, y0 = y); - }; - function nextPoint(x, y) { - var dx = x - x0, dy = y - y0, z = Math.sqrt(dx * dx + dy * dy); - d3_geo_centroidX1 += z * (x0 + x) / 2; - d3_geo_centroidY1 += z * (y0 + y) / 2; - d3_geo_centroidZ1 += z; - d3_geo_pathCentroidPoint(x0 = x, y0 = y); - } - } - function d3_geo_pathCentroidLineEnd() { - d3_geo_pathCentroid.point = d3_geo_pathCentroidPoint; - } - function d3_geo_pathCentroidRingStart() { - var x00, y00, x0, y0; - d3_geo_pathCentroid.point = function(x, y) { - d3_geo_pathCentroid.point = nextPoint; - d3_geo_pathCentroidPoint(x00 = x0 = x, y00 = y0 = y); - }; - function nextPoint(x, y) { - var dx = x - x0, dy = y - y0, z = Math.sqrt(dx * dx + dy * dy); - d3_geo_centroidX1 += z * (x0 + x) / 2; - d3_geo_centroidY1 += z * (y0 + y) / 2; - d3_geo_centroidZ1 += z; - z = y0 * x - x0 * y; - d3_geo_centroidX2 += z * (x0 + x); - d3_geo_centroidY2 += z * (y0 + y); - d3_geo_centroidZ2 += z * 3; - d3_geo_pathCentroidPoint(x0 = x, y0 = y); - } - d3_geo_pathCentroid.lineEnd = function() { - nextPoint(x00, y00); - }; - } - function d3_geo_pathContext(context) { - var pointRadius = 4.5; - var stream = { - point: point, - lineStart: function() { - stream.point = pointLineStart; - }, - lineEnd: lineEnd, - polygonStart: function() { - stream.lineEnd = lineEndPolygon; - }, - polygonEnd: function() { - stream.lineEnd = lineEnd; - stream.point = point; - }, - pointRadius: function(_) { - pointRadius = _; - return stream; - }, - result: d3_noop - }; - function point(x, y) { - context.moveTo(x + pointRadius, y); - context.arc(x, y, pointRadius, 0, τ); - } - function pointLineStart(x, y) { - context.moveTo(x, y); - stream.point = pointLine; - } - function pointLine(x, y) { - context.lineTo(x, y); - } - function lineEnd() { - stream.point = point; - } - function lineEndPolygon() { - context.closePath(); - } - return stream; - } - function d3_geo_resample(project) { - var δ2 = .5, cosMinDistance = Math.cos(30 * d3_radians), maxDepth = 16; - function resample(stream) { - return (maxDepth ? resampleRecursive : resampleNone)(stream); - } - function resampleNone(stream) { - return d3_geo_transformPoint(stream, function(x, y) { - x = project(x, y); - stream.point(x[0], x[1]); - }); - } - function resampleRecursive(stream) { - var λ00, φ00, x00, y00, a00, b00, c00, λ0, x0, y0, a0, b0, c0; - var resample = { - point: point, - lineStart: lineStart, - lineEnd: lineEnd, - polygonStart: function() { - stream.polygonStart(); - resample.lineStart = ringStart; - }, - polygonEnd: function() { - stream.polygonEnd(); - resample.lineStart = lineStart; - } - }; - function point(x, y) { - x = project(x, y); - stream.point(x[0], x[1]); - } - function lineStart() { - x0 = NaN; - resample.point = linePoint; - stream.lineStart(); - } - function linePoint(λ, φ) { - var c = d3_geo_cartesian([ λ, φ ]), p = project(λ, φ); - resampleLineTo(x0, y0, λ0, a0, b0, c0, x0 = p[0], y0 = p[1], λ0 = λ, a0 = c[0], b0 = c[1], c0 = c[2], maxDepth, stream); - stream.point(x0, y0); - } - function lineEnd() { - resample.point = point; - stream.lineEnd(); - } - function ringStart() { - lineStart(); - resample.point = ringPoint; - resample.lineEnd = ringEnd; - } - function ringPoint(λ, φ) { - linePoint(λ00 = λ, φ00 = φ), x00 = x0, y00 = y0, a00 = a0, b00 = b0, c00 = c0; - resample.point = linePoint; - } - function ringEnd() { - resampleLineTo(x0, y0, λ0, a0, b0, c0, x00, y00, λ00, a00, b00, c00, maxDepth, stream); - resample.lineEnd = lineEnd; - lineEnd(); - } - return resample; - } - function resampleLineTo(x0, y0, λ0, a0, b0, c0, x1, y1, λ1, a1, b1, c1, depth, stream) { - var dx = x1 - x0, dy = y1 - y0, d2 = dx * dx + dy * dy; - if (d2 > 4 * δ2 && depth--) { - var a = a0 + a1, b = b0 + b1, c = c0 + c1, m = Math.sqrt(a * a + b * b + c * c), φ2 = Math.asin(c /= m), λ2 = abs(abs(c) - 1) < ε || abs(λ0 - λ1) < ε ? (λ0 + λ1) / 2 : Math.atan2(b, a), p = project(λ2, φ2), x2 = p[0], y2 = p[1], dx2 = x2 - x0, dy2 = y2 - y0, dz = dy * dx2 - dx * dy2; - if (dz * dz / d2 > δ2 || abs((dx * dx2 + dy * dy2) / d2 - .5) > .3 || a0 * a1 + b0 * b1 + c0 * c1 < cosMinDistance) { - resampleLineTo(x0, y0, λ0, a0, b0, c0, x2, y2, λ2, a /= m, b /= m, c, depth, stream); - stream.point(x2, y2); - resampleLineTo(x2, y2, λ2, a, b, c, x1, y1, λ1, a1, b1, c1, depth, stream); - } - } - } - resample.precision = function(_) { - if (!arguments.length) return Math.sqrt(δ2); - maxDepth = (δ2 = _ * _) > 0 && 16; - return resample; - }; - return resample; - } - d3.geo.path = function() { - var pointRadius = 4.5, projection, context, projectStream, contextStream, cacheStream; - function path(object) { - if (object) { - if (typeof pointRadius === "function") contextStream.pointRadius(+pointRadius.apply(this, arguments)); - if (!cacheStream || !cacheStream.valid) cacheStream = projectStream(contextStream); - d3.geo.stream(object, cacheStream); - } - return contextStream.result(); - } - path.area = function(object) { - d3_geo_pathAreaSum = 0; - d3.geo.stream(object, projectStream(d3_geo_pathArea)); - return d3_geo_pathAreaSum; - }; - path.centroid = function(object) { - d3_geo_centroidX0 = d3_geo_centroidY0 = d3_geo_centroidZ0 = d3_geo_centroidX1 = d3_geo_centroidY1 = d3_geo_centroidZ1 = d3_geo_centroidX2 = d3_geo_centroidY2 = d3_geo_centroidZ2 = 0; - d3.geo.stream(object, projectStream(d3_geo_pathCentroid)); - return d3_geo_centroidZ2 ? [ d3_geo_centroidX2 / d3_geo_centroidZ2, d3_geo_centroidY2 / d3_geo_centroidZ2 ] : d3_geo_centroidZ1 ? [ d3_geo_centroidX1 / d3_geo_centroidZ1, d3_geo_centroidY1 / d3_geo_centroidZ1 ] : d3_geo_centroidZ0 ? [ d3_geo_centroidX0 / d3_geo_centroidZ0, d3_geo_centroidY0 / d3_geo_centroidZ0 ] : [ NaN, NaN ]; - }; - path.bounds = function(object) { - d3_geo_pathBoundsX1 = d3_geo_pathBoundsY1 = -(d3_geo_pathBoundsX0 = d3_geo_pathBoundsY0 = Infinity); - d3.geo.stream(object, projectStream(d3_geo_pathBounds)); - return [ [ d3_geo_pathBoundsX0, d3_geo_pathBoundsY0 ], [ d3_geo_pathBoundsX1, d3_geo_pathBoundsY1 ] ]; - }; - path.projection = function(_) { - if (!arguments.length) return projection; - projectStream = (projection = _) ? _.stream || d3_geo_pathProjectStream(_) : d3_identity; - return reset(); - }; - path.context = function(_) { - if (!arguments.length) return context; - contextStream = (context = _) == null ? new d3_geo_pathBuffer() : new d3_geo_pathContext(_); - if (typeof pointRadius !== "function") contextStream.pointRadius(pointRadius); - return reset(); - }; - path.pointRadius = function(_) { - if (!arguments.length) return pointRadius; - pointRadius = typeof _ === "function" ? _ : (contextStream.pointRadius(+_), +_); - return path; - }; - function reset() { - cacheStream = null; - return path; - } - return path.projection(d3.geo.albersUsa()).context(null); - }; - function d3_geo_pathProjectStream(project) { - var resample = d3_geo_resample(function(x, y) { - return project([ x * d3_degrees, y * d3_degrees ]); - }); - return function(stream) { - return d3_geo_projectionRadians(resample(stream)); - }; - } - d3.geo.transform = function(methods) { - return { - stream: function(stream) { - var transform = new d3_geo_transform(stream); - for (var k in methods) transform[k] = methods[k]; - return transform; - } - }; - }; - function d3_geo_transform(stream) { - this.stream = stream; - } - d3_geo_transform.prototype = { - point: function(x, y) { - this.stream.point(x, y); - }, - sphere: function() { - this.stream.sphere(); - }, - lineStart: function() { - this.stream.lineStart(); - }, - lineEnd: function() { - this.stream.lineEnd(); - }, - polygonStart: function() { - this.stream.polygonStart(); - }, - polygonEnd: function() { - this.stream.polygonEnd(); - } - }; - function d3_geo_transformPoint(stream, point) { - return { - point: point, - sphere: function() { - stream.sphere(); - }, - lineStart: function() { - stream.lineStart(); - }, - lineEnd: function() { - stream.lineEnd(); - }, - polygonStart: function() { - stream.polygonStart(); - }, - polygonEnd: function() { - stream.polygonEnd(); - } - }; - } - d3.geo.projection = d3_geo_projection; - d3.geo.projectionMutator = d3_geo_projectionMutator; - function d3_geo_projection(project) { - return d3_geo_projectionMutator(function() { - return project; - })(); - } - function d3_geo_projectionMutator(projectAt) { - var project, rotate, projectRotate, projectResample = d3_geo_resample(function(x, y) { - x = project(x, y); - return [ x[0] * k + δx, δy - x[1] * k ]; - }), k = 150, x = 480, y = 250, λ = 0, φ = 0, δλ = 0, δφ = 0, δγ = 0, δx, δy, preclip = d3_geo_clipAntimeridian, postclip = d3_identity, clipAngle = null, clipExtent = null, stream; - function projection(point) { - point = projectRotate(point[0] * d3_radians, point[1] * d3_radians); - return [ point[0] * k + δx, δy - point[1] * k ]; - } - function invert(point) { - point = projectRotate.invert((point[0] - δx) / k, (δy - point[1]) / k); - return point && [ point[0] * d3_degrees, point[1] * d3_degrees ]; - } - projection.stream = function(output) { - if (stream) stream.valid = false; - stream = d3_geo_projectionRadians(preclip(rotate, projectResample(postclip(output)))); - stream.valid = true; - return stream; - }; - projection.clipAngle = function(_) { - if (!arguments.length) return clipAngle; - preclip = _ == null ? (clipAngle = _, d3_geo_clipAntimeridian) : d3_geo_clipCircle((clipAngle = +_) * d3_radians); - return invalidate(); - }; - projection.clipExtent = function(_) { - if (!arguments.length) return clipExtent; - clipExtent = _; - postclip = _ ? d3_geo_clipExtent(_[0][0], _[0][1], _[1][0], _[1][1]) : d3_identity; - return invalidate(); - }; - projection.scale = function(_) { - if (!arguments.length) return k; - k = +_; - return reset(); - }; - projection.translate = function(_) { - if (!arguments.length) return [ x, y ]; - x = +_[0]; - y = +_[1]; - return reset(); - }; - projection.center = function(_) { - if (!arguments.length) return [ λ * d3_degrees, φ * d3_degrees ]; - λ = _[0] % 360 * d3_radians; - φ = _[1] % 360 * d3_radians; - return reset(); - }; - projection.rotate = function(_) { - if (!arguments.length) return [ δλ * d3_degrees, δφ * d3_degrees, δγ * d3_degrees ]; - δλ = _[0] % 360 * d3_radians; - δφ = _[1] % 360 * d3_radians; - δγ = _.length > 2 ? _[2] % 360 * d3_radians : 0; - return reset(); - }; - d3.rebind(projection, projectResample, "precision"); - function reset() { - projectRotate = d3_geo_compose(rotate = d3_geo_rotation(δλ, δφ, δγ), project); - var center = project(λ, φ); - δx = x - center[0] * k; - δy = y + center[1] * k; - return invalidate(); - } - function invalidate() { - if (stream) stream.valid = false, stream = null; - return projection; - } - return function() { - project = projectAt.apply(this, arguments); - projection.invert = project.invert && invert; - return reset(); - }; - } - function d3_geo_projectionRadians(stream) { - return d3_geo_transformPoint(stream, function(x, y) { - stream.point(x * d3_radians, y * d3_radians); - }); - } - function d3_geo_equirectangular(λ, φ) { - return [ λ, φ ]; - } - (d3.geo.equirectangular = function() { - return d3_geo_projection(d3_geo_equirectangular); - }).raw = d3_geo_equirectangular.invert = d3_geo_equirectangular; - d3.geo.rotation = function(rotate) { - rotate = d3_geo_rotation(rotate[0] % 360 * d3_radians, rotate[1] * d3_radians, rotate.length > 2 ? rotate[2] * d3_radians : 0); - function forward(coordinates) { - coordinates = rotate(coordinates[0] * d3_radians, coordinates[1] * d3_radians); - return coordinates[0] *= d3_degrees, coordinates[1] *= d3_degrees, coordinates; - } - forward.invert = function(coordinates) { - coordinates = rotate.invert(coordinates[0] * d3_radians, coordinates[1] * d3_radians); - return coordinates[0] *= d3_degrees, coordinates[1] *= d3_degrees, coordinates; - }; - return forward; - }; - function d3_geo_identityRotation(λ, φ) { - return [ λ > π ? λ - τ : λ < -π ? λ + τ : λ, φ ]; - } - d3_geo_identityRotation.invert = d3_geo_equirectangular; - function d3_geo_rotation(δλ, δφ, δγ) { - return δλ ? δφ || δγ ? d3_geo_compose(d3_geo_rotationλ(δλ), d3_geo_rotationφγ(δφ, δγ)) : d3_geo_rotationλ(δλ) : δφ || δγ ? d3_geo_rotationφγ(δφ, δγ) : d3_geo_identityRotation; - } - function d3_geo_forwardRotationλ(δλ) { - return function(λ, φ) { - return λ += δλ, [ λ > π ? λ - τ : λ < -π ? λ + τ : λ, φ ]; - }; - } - function d3_geo_rotationλ(δλ) { - var rotation = d3_geo_forwardRotationλ(δλ); - rotation.invert = d3_geo_forwardRotationλ(-δλ); - return rotation; - } - function d3_geo_rotationφγ(δφ, δγ) { - var cosδφ = Math.cos(δφ), sinδφ = Math.sin(δφ), cosδγ = Math.cos(δγ), sinδγ = Math.sin(δγ); - function rotation(λ, φ) { - var cosφ = Math.cos(φ), x = Math.cos(λ) * cosφ, y = Math.sin(λ) * cosφ, z = Math.sin(φ), k = z * cosδφ + x * sinδφ; - return [ Math.atan2(y * cosδγ - k * sinδγ, x * cosδφ - z * sinδφ), d3_asin(k * cosδγ + y * sinδγ) ]; - } - rotation.invert = function(λ, φ) { - var cosφ = Math.cos(φ), x = Math.cos(λ) * cosφ, y = Math.sin(λ) * cosφ, z = Math.sin(φ), k = z * cosδγ - y * sinδγ; - return [ Math.atan2(y * cosδγ + z * sinδγ, x * cosδφ + k * sinδφ), d3_asin(k * cosδφ - x * sinδφ) ]; - }; - return rotation; - } - d3.geo.circle = function() { - var origin = [ 0, 0 ], angle, precision = 6, interpolate; - function circle() { - var center = typeof origin === "function" ? origin.apply(this, arguments) : origin, rotate = d3_geo_rotation(-center[0] * d3_radians, -center[1] * d3_radians, 0).invert, ring = []; - interpolate(null, null, 1, { - point: function(x, y) { - ring.push(x = rotate(x, y)); - x[0] *= d3_degrees, x[1] *= d3_degrees; - } - }); - return { - type: "Polygon", - coordinates: [ ring ] - }; - } - circle.origin = function(x) { - if (!arguments.length) return origin; - origin = x; - return circle; - }; - circle.angle = function(x) { - if (!arguments.length) return angle; - interpolate = d3_geo_circleInterpolate((angle = +x) * d3_radians, precision * d3_radians); - return circle; - }; - circle.precision = function(_) { - if (!arguments.length) return precision; - interpolate = d3_geo_circleInterpolate(angle * d3_radians, (precision = +_) * d3_radians); - return circle; - }; - return circle.angle(90); - }; - function d3_geo_circleInterpolate(radius, precision) { - var cr = Math.cos(radius), sr = Math.sin(radius); - return function(from, to, direction, listener) { - var step = direction * precision; - if (from != null) { - from = d3_geo_circleAngle(cr, from); - to = d3_geo_circleAngle(cr, to); - if (direction > 0 ? from < to : from > to) from += direction * τ; - } else { - from = radius + direction * τ; - to = radius - .5 * step; - } - for (var point, t = from; direction > 0 ? t > to : t < to; t -= step) { - listener.point((point = d3_geo_spherical([ cr, -sr * Math.cos(t), -sr * Math.sin(t) ]))[0], point[1]); - } - }; - } - function d3_geo_circleAngle(cr, point) { - var a = d3_geo_cartesian(point); - a[0] -= cr; - d3_geo_cartesianNormalize(a); - var angle = d3_acos(-a[1]); - return ((-a[2] < 0 ? -angle : angle) + 2 * Math.PI - ε) % (2 * Math.PI); - } - d3.geo.distance = function(a, b) { - var Δλ = (b[0] - a[0]) * d3_radians, φ0 = a[1] * d3_radians, φ1 = b[1] * d3_radians, sinΔλ = Math.sin(Δλ), cosΔλ = Math.cos(Δλ), sinφ0 = Math.sin(φ0), cosφ0 = Math.cos(φ0), sinφ1 = Math.sin(φ1), cosφ1 = Math.cos(φ1), t; - return Math.atan2(Math.sqrt((t = cosφ1 * sinΔλ) * t + (t = cosφ0 * sinφ1 - sinφ0 * cosφ1 * cosΔλ) * t), sinφ0 * sinφ1 + cosφ0 * cosφ1 * cosΔλ); - }; - d3.geo.graticule = function() { - var x1, x0, X1, X0, y1, y0, Y1, Y0, dx = 10, dy = dx, DX = 90, DY = 360, x, y, X, Y, precision = 2.5; - function graticule() { - return { - type: "MultiLineString", - coordinates: lines() - }; - } - function lines() { - return d3.range(Math.ceil(X0 / DX) * DX, X1, DX).map(X).concat(d3.range(Math.ceil(Y0 / DY) * DY, Y1, DY).map(Y)).concat(d3.range(Math.ceil(x0 / dx) * dx, x1, dx).filter(function(x) { - return abs(x % DX) > ε; - }).map(x)).concat(d3.range(Math.ceil(y0 / dy) * dy, y1, dy).filter(function(y) { - return abs(y % DY) > ε; - }).map(y)); - } - graticule.lines = function() { - return lines().map(function(coordinates) { - return { - type: "LineString", - coordinates: coordinates - }; - }); - }; - graticule.outline = function() { - return { - type: "Polygon", - coordinates: [ X(X0).concat(Y(Y1).slice(1), X(X1).reverse().slice(1), Y(Y0).reverse().slice(1)) ] - }; - }; - graticule.extent = function(_) { - if (!arguments.length) return graticule.minorExtent(); - return graticule.majorExtent(_).minorExtent(_); - }; - graticule.majorExtent = function(_) { - if (!arguments.length) return [ [ X0, Y0 ], [ X1, Y1 ] ]; - X0 = +_[0][0], X1 = +_[1][0]; - Y0 = +_[0][1], Y1 = +_[1][1]; - if (X0 > X1) _ = X0, X0 = X1, X1 = _; - if (Y0 > Y1) _ = Y0, Y0 = Y1, Y1 = _; - return graticule.precision(precision); - }; - graticule.minorExtent = function(_) { - if (!arguments.length) return [ [ x0, y0 ], [ x1, y1 ] ]; - x0 = +_[0][0], x1 = +_[1][0]; - y0 = +_[0][1], y1 = +_[1][1]; - if (x0 > x1) _ = x0, x0 = x1, x1 = _; - if (y0 > y1) _ = y0, y0 = y1, y1 = _; - return graticule.precision(precision); - }; - graticule.step = function(_) { - if (!arguments.length) return graticule.minorStep(); - return graticule.majorStep(_).minorStep(_); - }; - graticule.majorStep = function(_) { - if (!arguments.length) return [ DX, DY ]; - DX = +_[0], DY = +_[1]; - return graticule; - }; - graticule.minorStep = function(_) { - if (!arguments.length) return [ dx, dy ]; - dx = +_[0], dy = +_[1]; - return graticule; - }; - graticule.precision = function(_) { - if (!arguments.length) return precision; - precision = +_; - x = d3_geo_graticuleX(y0, y1, 90); - y = d3_geo_graticuleY(x0, x1, precision); - X = d3_geo_graticuleX(Y0, Y1, 90); - Y = d3_geo_graticuleY(X0, X1, precision); - return graticule; - }; - return graticule.majorExtent([ [ -180, -90 + ε ], [ 180, 90 - ε ] ]).minorExtent([ [ -180, -80 - ε ], [ 180, 80 + ε ] ]); - }; - function d3_geo_graticuleX(y0, y1, dy) { - var y = d3.range(y0, y1 - ε, dy).concat(y1); - return function(x) { - return y.map(function(y) { - return [ x, y ]; - }); - }; - } - function d3_geo_graticuleY(x0, x1, dx) { - var x = d3.range(x0, x1 - ε, dx).concat(x1); - return function(y) { - return x.map(function(x) { - return [ x, y ]; - }); - }; - } - function d3_source(d) { - return d.source; - } - function d3_target(d) { - return d.target; - } - d3.geo.greatArc = function() { - var source = d3_source, source_, target = d3_target, target_; - function greatArc() { - return { - type: "LineString", - coordinates: [ source_ || source.apply(this, arguments), target_ || target.apply(this, arguments) ] - }; - } - greatArc.distance = function() { - return d3.geo.distance(source_ || source.apply(this, arguments), target_ || target.apply(this, arguments)); - }; - greatArc.source = function(_) { - if (!arguments.length) return source; - source = _, source_ = typeof _ === "function" ? null : _; - return greatArc; - }; - greatArc.target = function(_) { - if (!arguments.length) return target; - target = _, target_ = typeof _ === "function" ? null : _; - return greatArc; - }; - greatArc.precision = function() { - return arguments.length ? greatArc : 0; - }; - return greatArc; - }; - d3.geo.interpolate = function(source, target) { - return d3_geo_interpolate(source[0] * d3_radians, source[1] * d3_radians, target[0] * d3_radians, target[1] * d3_radians); - }; - function d3_geo_interpolate(x0, y0, x1, y1) { - var cy0 = Math.cos(y0), sy0 = Math.sin(y0), cy1 = Math.cos(y1), sy1 = Math.sin(y1), kx0 = cy0 * Math.cos(x0), ky0 = cy0 * Math.sin(x0), kx1 = cy1 * Math.cos(x1), ky1 = cy1 * Math.sin(x1), d = 2 * Math.asin(Math.sqrt(d3_haversin(y1 - y0) + cy0 * cy1 * d3_haversin(x1 - x0))), k = 1 / Math.sin(d); - var interpolate = d ? function(t) { - var B = Math.sin(t *= d) * k, A = Math.sin(d - t) * k, x = A * kx0 + B * kx1, y = A * ky0 + B * ky1, z = A * sy0 + B * sy1; - return [ Math.atan2(y, x) * d3_degrees, Math.atan2(z, Math.sqrt(x * x + y * y)) * d3_degrees ]; - } : function() { - return [ x0 * d3_degrees, y0 * d3_degrees ]; - }; - interpolate.distance = d; - return interpolate; - } - d3.geo.length = function(object) { - d3_geo_lengthSum = 0; - d3.geo.stream(object, d3_geo_length); - return d3_geo_lengthSum; - }; - var d3_geo_lengthSum; - var d3_geo_length = { - sphere: d3_noop, - point: d3_noop, - lineStart: d3_geo_lengthLineStart, - lineEnd: d3_noop, - polygonStart: d3_noop, - polygonEnd: d3_noop - }; - function d3_geo_lengthLineStart() { - var λ0, sinφ0, cosφ0; - d3_geo_length.point = function(λ, φ) { - λ0 = λ * d3_radians, sinφ0 = Math.sin(φ *= d3_radians), cosφ0 = Math.cos(φ); - d3_geo_length.point = nextPoint; - }; - d3_geo_length.lineEnd = function() { - d3_geo_length.point = d3_geo_length.lineEnd = d3_noop; - }; - function nextPoint(λ, φ) { - var sinφ = Math.sin(φ *= d3_radians), cosφ = Math.cos(φ), t = abs((λ *= d3_radians) - λ0), cosΔλ = Math.cos(t); - d3_geo_lengthSum += Math.atan2(Math.sqrt((t = cosφ * Math.sin(t)) * t + (t = cosφ0 * sinφ - sinφ0 * cosφ * cosΔλ) * t), sinφ0 * sinφ + cosφ0 * cosφ * cosΔλ); - λ0 = λ, sinφ0 = sinφ, cosφ0 = cosφ; - } - } - function d3_geo_azimuthal(scale, angle) { - function azimuthal(λ, φ) { - var cosλ = Math.cos(λ), cosφ = Math.cos(φ), k = scale(cosλ * cosφ); - return [ k * cosφ * Math.sin(λ), k * Math.sin(φ) ]; - } - azimuthal.invert = function(x, y) { - var ρ = Math.sqrt(x * x + y * y), c = angle(ρ), sinc = Math.sin(c), cosc = Math.cos(c); - return [ Math.atan2(x * sinc, ρ * cosc), Math.asin(ρ && y * sinc / ρ) ]; - }; - return azimuthal; - } - var d3_geo_azimuthalEqualArea = d3_geo_azimuthal(function(cosλcosφ) { - return Math.sqrt(2 / (1 + cosλcosφ)); - }, function(ρ) { - return 2 * Math.asin(ρ / 2); - }); - (d3.geo.azimuthalEqualArea = function() { - return d3_geo_projection(d3_geo_azimuthalEqualArea); - }).raw = d3_geo_azimuthalEqualArea; - var d3_geo_azimuthalEquidistant = d3_geo_azimuthal(function(cosλcosφ) { - var c = Math.acos(cosλcosφ); - return c && c / Math.sin(c); - }, d3_identity); - (d3.geo.azimuthalEquidistant = function() { - return d3_geo_projection(d3_geo_azimuthalEquidistant); - }).raw = d3_geo_azimuthalEquidistant; - function d3_geo_conicConformal(φ0, φ1) { - var cosφ0 = Math.cos(φ0), t = function(φ) { - return Math.tan(π / 4 + φ / 2); - }, n = φ0 === φ1 ? Math.sin(φ0) : Math.log(cosφ0 / Math.cos(φ1)) / Math.log(t(φ1) / t(φ0)), F = cosφ0 * Math.pow(t(φ0), n) / n; - if (!n) return d3_geo_mercator; - function forward(λ, φ) { - if (F > 0) { - if (φ < -halfπ + ε) φ = -halfπ + ε; - } else { - if (φ > halfπ - ε) φ = halfπ - ε; - } - var ρ = F / Math.pow(t(φ), n); - return [ ρ * Math.sin(n * λ), F - ρ * Math.cos(n * λ) ]; - } - forward.invert = function(x, y) { - var ρ0_y = F - y, ρ = d3_sgn(n) * Math.sqrt(x * x + ρ0_y * ρ0_y); - return [ Math.atan2(x, ρ0_y) / n, 2 * Math.atan(Math.pow(F / ρ, 1 / n)) - halfπ ]; - }; - return forward; - } - (d3.geo.conicConformal = function() { - return d3_geo_conic(d3_geo_conicConformal); - }).raw = d3_geo_conicConformal; - function d3_geo_conicEquidistant(φ0, φ1) { - var cosφ0 = Math.cos(φ0), n = φ0 === φ1 ? Math.sin(φ0) : (cosφ0 - Math.cos(φ1)) / (φ1 - φ0), G = cosφ0 / n + φ0; - if (abs(n) < ε) return d3_geo_equirectangular; - function forward(λ, φ) { - var ρ = G - φ; - return [ ρ * Math.sin(n * λ), G - ρ * Math.cos(n * λ) ]; - } - forward.invert = function(x, y) { - var ρ0_y = G - y; - return [ Math.atan2(x, ρ0_y) / n, G - d3_sgn(n) * Math.sqrt(x * x + ρ0_y * ρ0_y) ]; - }; - return forward; - } - (d3.geo.conicEquidistant = function() { - return d3_geo_conic(d3_geo_conicEquidistant); - }).raw = d3_geo_conicEquidistant; - var d3_geo_gnomonic = d3_geo_azimuthal(function(cosλcosφ) { - return 1 / cosλcosφ; - }, Math.atan); - (d3.geo.gnomonic = function() { - return d3_geo_projection(d3_geo_gnomonic); - }).raw = d3_geo_gnomonic; - function d3_geo_mercator(λ, φ) { - return [ λ, Math.log(Math.tan(π / 4 + φ / 2)) ]; - } - d3_geo_mercator.invert = function(x, y) { - return [ x, 2 * Math.atan(Math.exp(y)) - halfπ ]; - }; - function d3_geo_mercatorProjection(project) { - var m = d3_geo_projection(project), scale = m.scale, translate = m.translate, clipExtent = m.clipExtent, clipAuto; - m.scale = function() { - var v = scale.apply(m, arguments); - return v === m ? clipAuto ? m.clipExtent(null) : m : v; - }; - m.translate = function() { - var v = translate.apply(m, arguments); - return v === m ? clipAuto ? m.clipExtent(null) : m : v; - }; - m.clipExtent = function(_) { - var v = clipExtent.apply(m, arguments); - if (v === m) { - if (clipAuto = _ == null) { - var k = π * scale(), t = translate(); - clipExtent([ [ t[0] - k, t[1] - k ], [ t[0] + k, t[1] + k ] ]); - } - } else if (clipAuto) { - v = null; - } - return v; - }; - return m.clipExtent(null); - } - (d3.geo.mercator = function() { - return d3_geo_mercatorProjection(d3_geo_mercator); - }).raw = d3_geo_mercator; - var d3_geo_orthographic = d3_geo_azimuthal(function() { - return 1; - }, Math.asin); - (d3.geo.orthographic = function() { - return d3_geo_projection(d3_geo_orthographic); - }).raw = d3_geo_orthographic; - var d3_geo_stereographic = d3_geo_azimuthal(function(cosλcosφ) { - return 1 / (1 + cosλcosφ); - }, function(ρ) { - return 2 * Math.atan(ρ); - }); - (d3.geo.stereographic = function() { - return d3_geo_projection(d3_geo_stereographic); - }).raw = d3_geo_stereographic; - function d3_geo_transverseMercator(λ, φ) { - return [ Math.log(Math.tan(π / 4 + φ / 2)), -λ ]; - } - d3_geo_transverseMercator.invert = function(x, y) { - return [ -y, 2 * Math.atan(Math.exp(x)) - halfπ ]; - }; - (d3.geo.transverseMercator = function() { - var projection = d3_geo_mercatorProjection(d3_geo_transverseMercator), center = projection.center, rotate = projection.rotate; - projection.center = function(_) { - return _ ? center([ -_[1], _[0] ]) : (_ = center(), [ _[1], -_[0] ]); - }; - projection.rotate = function(_) { - return _ ? rotate([ _[0], _[1], _.length > 2 ? _[2] + 90 : 90 ]) : (_ = rotate(), - [ _[0], _[1], _[2] - 90 ]); - }; - return rotate([ 0, 0, 90 ]); - }).raw = d3_geo_transverseMercator; - d3.geom = {}; - function d3_geom_pointX(d) { - return d[0]; - } - function d3_geom_pointY(d) { - return d[1]; - } - d3.geom.hull = function(vertices) { - var x = d3_geom_pointX, y = d3_geom_pointY; - if (arguments.length) return hull(vertices); - function hull(data) { - if (data.length < 3) return []; - var fx = d3_functor(x), fy = d3_functor(y), i, n = data.length, points = [], flippedPoints = []; - for (i = 0; i < n; i++) { - points.push([ +fx.call(this, data[i], i), +fy.call(this, data[i], i), i ]); - } - points.sort(d3_geom_hullOrder); - for (i = 0; i < n; i++) flippedPoints.push([ points[i][0], -points[i][1] ]); - var upper = d3_geom_hullUpper(points), lower = d3_geom_hullUpper(flippedPoints); - var skipLeft = lower[0] === upper[0], skipRight = lower[lower.length - 1] === upper[upper.length - 1], polygon = []; - for (i = upper.length - 1; i >= 0; --i) polygon.push(data[points[upper[i]][2]]); - for (i = +skipLeft; i < lower.length - skipRight; ++i) polygon.push(data[points[lower[i]][2]]); - return polygon; - } - hull.x = function(_) { - return arguments.length ? (x = _, hull) : x; - }; - hull.y = function(_) { - return arguments.length ? (y = _, hull) : y; - }; - return hull; - }; - function d3_geom_hullUpper(points) { - var n = points.length, hull = [ 0, 1 ], hs = 2; - for (var i = 2; i < n; i++) { - while (hs > 1 && d3_cross2d(points[hull[hs - 2]], points[hull[hs - 1]], points[i]) <= 0) --hs; - hull[hs++] = i; - } - return hull.slice(0, hs); - } - function d3_geom_hullOrder(a, b) { - return a[0] - b[0] || a[1] - b[1]; - } - d3.geom.polygon = function(coordinates) { - d3_subclass(coordinates, d3_geom_polygonPrototype); - return coordinates; - }; - var d3_geom_polygonPrototype = d3.geom.polygon.prototype = []; - d3_geom_polygonPrototype.area = function() { - var i = -1, n = this.length, a, b = this[n - 1], area = 0; - while (++i < n) { - a = b; - b = this[i]; - area += a[1] * b[0] - a[0] * b[1]; - } - return area * .5; - }; - d3_geom_polygonPrototype.centroid = function(k) { - var i = -1, n = this.length, x = 0, y = 0, a, b = this[n - 1], c; - if (!arguments.length) k = -1 / (6 * this.area()); - while (++i < n) { - a = b; - b = this[i]; - c = a[0] * b[1] - b[0] * a[1]; - x += (a[0] + b[0]) * c; - y += (a[1] + b[1]) * c; - } - return [ x * k, y * k ]; - }; - d3_geom_polygonPrototype.clip = function(subject) { - var input, closed = d3_geom_polygonClosed(subject), i = -1, n = this.length - d3_geom_polygonClosed(this), j, m, a = this[n - 1], b, c, d; - while (++i < n) { - input = subject.slice(); - subject.length = 0; - b = this[i]; - c = input[(m = input.length - closed) - 1]; - j = -1; - while (++j < m) { - d = input[j]; - if (d3_geom_polygonInside(d, a, b)) { - if (!d3_geom_polygonInside(c, a, b)) { - subject.push(d3_geom_polygonIntersect(c, d, a, b)); - } - subject.push(d); - } else if (d3_geom_polygonInside(c, a, b)) { - subject.push(d3_geom_polygonIntersect(c, d, a, b)); - } - c = d; - } - if (closed) subject.push(subject[0]); - a = b; - } - return subject; - }; - function d3_geom_polygonInside(p, a, b) { - return (b[0] - a[0]) * (p[1] - a[1]) < (b[1] - a[1]) * (p[0] - a[0]); - } - function d3_geom_polygonIntersect(c, d, a, b) { - var x1 = c[0], x3 = a[0], x21 = d[0] - x1, x43 = b[0] - x3, y1 = c[1], y3 = a[1], y21 = d[1] - y1, y43 = b[1] - y3, ua = (x43 * (y1 - y3) - y43 * (x1 - x3)) / (y43 * x21 - x43 * y21); - return [ x1 + ua * x21, y1 + ua * y21 ]; - } - function d3_geom_polygonClosed(coordinates) { - var a = coordinates[0], b = coordinates[coordinates.length - 1]; - return !(a[0] - b[0] || a[1] - b[1]); - } - var d3_geom_voronoiEdges, d3_geom_voronoiCells, d3_geom_voronoiBeaches, d3_geom_voronoiBeachPool = [], d3_geom_voronoiFirstCircle, d3_geom_voronoiCircles, d3_geom_voronoiCirclePool = []; - function d3_geom_voronoiBeach() { - d3_geom_voronoiRedBlackNode(this); - this.edge = this.site = this.circle = null; - } - function d3_geom_voronoiCreateBeach(site) { - var beach = d3_geom_voronoiBeachPool.pop() || new d3_geom_voronoiBeach(); - beach.site = site; - return beach; - } - function d3_geom_voronoiDetachBeach(beach) { - d3_geom_voronoiDetachCircle(beach); - d3_geom_voronoiBeaches.remove(beach); - d3_geom_voronoiBeachPool.push(beach); - d3_geom_voronoiRedBlackNode(beach); - } - function d3_geom_voronoiRemoveBeach(beach) { - var circle = beach.circle, x = circle.x, y = circle.cy, vertex = { - x: x, - y: y - }, previous = beach.P, next = beach.N, disappearing = [ beach ]; - d3_geom_voronoiDetachBeach(beach); - var lArc = previous; - while (lArc.circle && abs(x - lArc.circle.x) < ε && abs(y - lArc.circle.cy) < ε) { - previous = lArc.P; - disappearing.unshift(lArc); - d3_geom_voronoiDetachBeach(lArc); - lArc = previous; - } - disappearing.unshift(lArc); - d3_geom_voronoiDetachCircle(lArc); - var rArc = next; - while (rArc.circle && abs(x - rArc.circle.x) < ε && abs(y - rArc.circle.cy) < ε) { - next = rArc.N; - disappearing.push(rArc); - d3_geom_voronoiDetachBeach(rArc); - rArc = next; - } - disappearing.push(rArc); - d3_geom_voronoiDetachCircle(rArc); - var nArcs = disappearing.length, iArc; - for (iArc = 1; iArc < nArcs; ++iArc) { - rArc = disappearing[iArc]; - lArc = disappearing[iArc - 1]; - d3_geom_voronoiSetEdgeEnd(rArc.edge, lArc.site, rArc.site, vertex); - } - lArc = disappearing[0]; - rArc = disappearing[nArcs - 1]; - rArc.edge = d3_geom_voronoiCreateEdge(lArc.site, rArc.site, null, vertex); - d3_geom_voronoiAttachCircle(lArc); - d3_geom_voronoiAttachCircle(rArc); - } - function d3_geom_voronoiAddBeach(site) { - var x = site.x, directrix = site.y, lArc, rArc, dxl, dxr, node = d3_geom_voronoiBeaches._; - while (node) { - dxl = d3_geom_voronoiLeftBreakPoint(node, directrix) - x; - if (dxl > ε) node = node.L; else { - dxr = x - d3_geom_voronoiRightBreakPoint(node, directrix); - if (dxr > ε) { - if (!node.R) { - lArc = node; - break; - } - node = node.R; - } else { - if (dxl > -ε) { - lArc = node.P; - rArc = node; - } else if (dxr > -ε) { - lArc = node; - rArc = node.N; - } else { - lArc = rArc = node; - } - break; - } - } - } - var newArc = d3_geom_voronoiCreateBeach(site); - d3_geom_voronoiBeaches.insert(lArc, newArc); - if (!lArc && !rArc) return; - if (lArc === rArc) { - d3_geom_voronoiDetachCircle(lArc); - rArc = d3_geom_voronoiCreateBeach(lArc.site); - d3_geom_voronoiBeaches.insert(newArc, rArc); - newArc.edge = rArc.edge = d3_geom_voronoiCreateEdge(lArc.site, newArc.site); - d3_geom_voronoiAttachCircle(lArc); - d3_geom_voronoiAttachCircle(rArc); - return; - } - if (!rArc) { - newArc.edge = d3_geom_voronoiCreateEdge(lArc.site, newArc.site); - return; - } - d3_geom_voronoiDetachCircle(lArc); - d3_geom_voronoiDetachCircle(rArc); - var lSite = lArc.site, ax = lSite.x, ay = lSite.y, bx = site.x - ax, by = site.y - ay, rSite = rArc.site, cx = rSite.x - ax, cy = rSite.y - ay, d = 2 * (bx * cy - by * cx), hb = bx * bx + by * by, hc = cx * cx + cy * cy, vertex = { - x: (cy * hb - by * hc) / d + ax, - y: (bx * hc - cx * hb) / d + ay - }; - d3_geom_voronoiSetEdgeEnd(rArc.edge, lSite, rSite, vertex); - newArc.edge = d3_geom_voronoiCreateEdge(lSite, site, null, vertex); - rArc.edge = d3_geom_voronoiCreateEdge(site, rSite, null, vertex); - d3_geom_voronoiAttachCircle(lArc); - d3_geom_voronoiAttachCircle(rArc); - } - function d3_geom_voronoiLeftBreakPoint(arc, directrix) { - var site = arc.site, rfocx = site.x, rfocy = site.y, pby2 = rfocy - directrix; - if (!pby2) return rfocx; - var lArc = arc.P; - if (!lArc) return -Infinity; - site = lArc.site; - var lfocx = site.x, lfocy = site.y, plby2 = lfocy - directrix; - if (!plby2) return lfocx; - var hl = lfocx - rfocx, aby2 = 1 / pby2 - 1 / plby2, b = hl / plby2; - if (aby2) return (-b + Math.sqrt(b * b - 2 * aby2 * (hl * hl / (-2 * plby2) - lfocy + plby2 / 2 + rfocy - pby2 / 2))) / aby2 + rfocx; - return (rfocx + lfocx) / 2; - } - function d3_geom_voronoiRightBreakPoint(arc, directrix) { - var rArc = arc.N; - if (rArc) return d3_geom_voronoiLeftBreakPoint(rArc, directrix); - var site = arc.site; - return site.y === directrix ? site.x : Infinity; - } - function d3_geom_voronoiCell(site) { - this.site = site; - this.edges = []; - } - d3_geom_voronoiCell.prototype.prepare = function() { - var halfEdges = this.edges, iHalfEdge = halfEdges.length, edge; - while (iHalfEdge--) { - edge = halfEdges[iHalfEdge].edge; - if (!edge.b || !edge.a) halfEdges.splice(iHalfEdge, 1); - } - halfEdges.sort(d3_geom_voronoiHalfEdgeOrder); - return halfEdges.length; - }; - function d3_geom_voronoiCloseCells(extent) { - var x0 = extent[0][0], x1 = extent[1][0], y0 = extent[0][1], y1 = extent[1][1], x2, y2, x3, y3, cells = d3_geom_voronoiCells, iCell = cells.length, cell, iHalfEdge, halfEdges, nHalfEdges, start, end; - while (iCell--) { - cell = cells[iCell]; - if (!cell || !cell.prepare()) continue; - halfEdges = cell.edges; - nHalfEdges = halfEdges.length; - iHalfEdge = 0; - while (iHalfEdge < nHalfEdges) { - end = halfEdges[iHalfEdge].end(), x3 = end.x, y3 = end.y; - start = halfEdges[++iHalfEdge % nHalfEdges].start(), x2 = start.x, y2 = start.y; - if (abs(x3 - x2) > ε || abs(y3 - y2) > ε) { - halfEdges.splice(iHalfEdge, 0, new d3_geom_voronoiHalfEdge(d3_geom_voronoiCreateBorderEdge(cell.site, end, abs(x3 - x0) < ε && y1 - y3 > ε ? { - x: x0, - y: abs(x2 - x0) < ε ? y2 : y1 - } : abs(y3 - y1) < ε && x1 - x3 > ε ? { - x: abs(y2 - y1) < ε ? x2 : x1, - y: y1 - } : abs(x3 - x1) < ε && y3 - y0 > ε ? { - x: x1, - y: abs(x2 - x1) < ε ? y2 : y0 - } : abs(y3 - y0) < ε && x3 - x0 > ε ? { - x: abs(y2 - y0) < ε ? x2 : x0, - y: y0 - } : null), cell.site, null)); - ++nHalfEdges; - } - } - } - } - function d3_geom_voronoiHalfEdgeOrder(a, b) { - return b.angle - a.angle; - } - function d3_geom_voronoiCircle() { - d3_geom_voronoiRedBlackNode(this); - this.x = this.y = this.arc = this.site = this.cy = null; - } - function d3_geom_voronoiAttachCircle(arc) { - var lArc = arc.P, rArc = arc.N; - if (!lArc || !rArc) return; - var lSite = lArc.site, cSite = arc.site, rSite = rArc.site; - if (lSite === rSite) return; - var bx = cSite.x, by = cSite.y, ax = lSite.x - bx, ay = lSite.y - by, cx = rSite.x - bx, cy = rSite.y - by; - var d = 2 * (ax * cy - ay * cx); - if (d >= -ε2) return; - var ha = ax * ax + ay * ay, hc = cx * cx + cy * cy, x = (cy * ha - ay * hc) / d, y = (ax * hc - cx * ha) / d, cy = y + by; - var circle = d3_geom_voronoiCirclePool.pop() || new d3_geom_voronoiCircle(); - circle.arc = arc; - circle.site = cSite; - circle.x = x + bx; - circle.y = cy + Math.sqrt(x * x + y * y); - circle.cy = cy; - arc.circle = circle; - var before = null, node = d3_geom_voronoiCircles._; - while (node) { - if (circle.y < node.y || circle.y === node.y && circle.x <= node.x) { - if (node.L) node = node.L; else { - before = node.P; - break; - } - } else { - if (node.R) node = node.R; else { - before = node; - break; - } - } - } - d3_geom_voronoiCircles.insert(before, circle); - if (!before) d3_geom_voronoiFirstCircle = circle; - } - function d3_geom_voronoiDetachCircle(arc) { - var circle = arc.circle; - if (circle) { - if (!circle.P) d3_geom_voronoiFirstCircle = circle.N; - d3_geom_voronoiCircles.remove(circle); - d3_geom_voronoiCirclePool.push(circle); - d3_geom_voronoiRedBlackNode(circle); - arc.circle = null; - } - } - function d3_geom_voronoiClipEdges(extent) { - var edges = d3_geom_voronoiEdges, clip = d3_geom_clipLine(extent[0][0], extent[0][1], extent[1][0], extent[1][1]), i = edges.length, e; - while (i--) { - e = edges[i]; - if (!d3_geom_voronoiConnectEdge(e, extent) || !clip(e) || abs(e.a.x - e.b.x) < ε && abs(e.a.y - e.b.y) < ε) { - e.a = e.b = null; - edges.splice(i, 1); - } - } - } - function d3_geom_voronoiConnectEdge(edge, extent) { - var vb = edge.b; - if (vb) return true; - var va = edge.a, x0 = extent[0][0], x1 = extent[1][0], y0 = extent[0][1], y1 = extent[1][1], lSite = edge.l, rSite = edge.r, lx = lSite.x, ly = lSite.y, rx = rSite.x, ry = rSite.y, fx = (lx + rx) / 2, fy = (ly + ry) / 2, fm, fb; - if (ry === ly) { - if (fx < x0 || fx >= x1) return; - if (lx > rx) { - if (!va) va = { - x: fx, - y: y0 - }; else if (va.y >= y1) return; - vb = { - x: fx, - y: y1 - }; - } else { - if (!va) va = { - x: fx, - y: y1 - }; else if (va.y < y0) return; - vb = { - x: fx, - y: y0 - }; - } - } else { - fm = (lx - rx) / (ry - ly); - fb = fy - fm * fx; - if (fm < -1 || fm > 1) { - if (lx > rx) { - if (!va) va = { - x: (y0 - fb) / fm, - y: y0 - }; else if (va.y >= y1) return; - vb = { - x: (y1 - fb) / fm, - y: y1 - }; - } else { - if (!va) va = { - x: (y1 - fb) / fm, - y: y1 - }; else if (va.y < y0) return; - vb = { - x: (y0 - fb) / fm, - y: y0 - }; - } - } else { - if (ly < ry) { - if (!va) va = { - x: x0, - y: fm * x0 + fb - }; else if (va.x >= x1) return; - vb = { - x: x1, - y: fm * x1 + fb - }; - } else { - if (!va) va = { - x: x1, - y: fm * x1 + fb - }; else if (va.x < x0) return; - vb = { - x: x0, - y: fm * x0 + fb - }; - } - } - } - edge.a = va; - edge.b = vb; - return true; - } - function d3_geom_voronoiEdge(lSite, rSite) { - this.l = lSite; - this.r = rSite; - this.a = this.b = null; - } - function d3_geom_voronoiCreateEdge(lSite, rSite, va, vb) { - var edge = new d3_geom_voronoiEdge(lSite, rSite); - d3_geom_voronoiEdges.push(edge); - if (va) d3_geom_voronoiSetEdgeEnd(edge, lSite, rSite, va); - if (vb) d3_geom_voronoiSetEdgeEnd(edge, rSite, lSite, vb); - d3_geom_voronoiCells[lSite.i].edges.push(new d3_geom_voronoiHalfEdge(edge, lSite, rSite)); - d3_geom_voronoiCells[rSite.i].edges.push(new d3_geom_voronoiHalfEdge(edge, rSite, lSite)); - return edge; - } - function d3_geom_voronoiCreateBorderEdge(lSite, va, vb) { - var edge = new d3_geom_voronoiEdge(lSite, null); - edge.a = va; - edge.b = vb; - d3_geom_voronoiEdges.push(edge); - return edge; - } - function d3_geom_voronoiSetEdgeEnd(edge, lSite, rSite, vertex) { - if (!edge.a && !edge.b) { - edge.a = vertex; - edge.l = lSite; - edge.r = rSite; - } else if (edge.l === rSite) { - edge.b = vertex; - } else { - edge.a = vertex; - } - } - function d3_geom_voronoiHalfEdge(edge, lSite, rSite) { - var va = edge.a, vb = edge.b; - this.edge = edge; - this.site = lSite; - this.angle = rSite ? Math.atan2(rSite.y - lSite.y, rSite.x - lSite.x) : edge.l === lSite ? Math.atan2(vb.x - va.x, va.y - vb.y) : Math.atan2(va.x - vb.x, vb.y - va.y); - } - d3_geom_voronoiHalfEdge.prototype = { - start: function() { - return this.edge.l === this.site ? this.edge.a : this.edge.b; - }, - end: function() { - return this.edge.l === this.site ? this.edge.b : this.edge.a; - } - }; - function d3_geom_voronoiRedBlackTree() { - this._ = null; - } - function d3_geom_voronoiRedBlackNode(node) { - node.U = node.C = node.L = node.R = node.P = node.N = null; - } - d3_geom_voronoiRedBlackTree.prototype = { - insert: function(after, node) { - var parent, grandpa, uncle; - if (after) { - node.P = after; - node.N = after.N; - if (after.N) after.N.P = node; - after.N = node; - if (after.R) { - after = after.R; - while (after.L) after = after.L; - after.L = node; - } else { - after.R = node; - } - parent = after; - } else if (this._) { - after = d3_geom_voronoiRedBlackFirst(this._); - node.P = null; - node.N = after; - after.P = after.L = node; - parent = after; - } else { - node.P = node.N = null; - this._ = node; - parent = null; - } - node.L = node.R = null; - node.U = parent; - node.C = true; - after = node; - while (parent && parent.C) { - grandpa = parent.U; - if (parent === grandpa.L) { - uncle = grandpa.R; - if (uncle && uncle.C) { - parent.C = uncle.C = false; - grandpa.C = true; - after = grandpa; - } else { - if (after === parent.R) { - d3_geom_voronoiRedBlackRotateLeft(this, parent); - after = parent; - parent = after.U; - } - parent.C = false; - grandpa.C = true; - d3_geom_voronoiRedBlackRotateRight(this, grandpa); - } - } else { - uncle = grandpa.L; - if (uncle && uncle.C) { - parent.C = uncle.C = false; - grandpa.C = true; - after = grandpa; - } else { - if (after === parent.L) { - d3_geom_voronoiRedBlackRotateRight(this, parent); - after = parent; - parent = after.U; - } - parent.C = false; - grandpa.C = true; - d3_geom_voronoiRedBlackRotateLeft(this, grandpa); - } - } - parent = after.U; - } - this._.C = false; - }, - remove: function(node) { - if (node.N) node.N.P = node.P; - if (node.P) node.P.N = node.N; - node.N = node.P = null; - var parent = node.U, sibling, left = node.L, right = node.R, next, red; - if (!left) next = right; else if (!right) next = left; else next = d3_geom_voronoiRedBlackFirst(right); - if (parent) { - if (parent.L === node) parent.L = next; else parent.R = next; - } else { - this._ = next; - } - if (left && right) { - red = next.C; - next.C = node.C; - next.L = left; - left.U = next; - if (next !== right) { - parent = next.U; - next.U = node.U; - node = next.R; - parent.L = node; - next.R = right; - right.U = next; - } else { - next.U = parent; - parent = next; - node = next.R; - } - } else { - red = node.C; - node = next; - } - if (node) node.U = parent; - if (red) return; - if (node && node.C) { - node.C = false; - return; - } - do { - if (node === this._) break; - if (node === parent.L) { - sibling = parent.R; - if (sibling.C) { - sibling.C = false; - parent.C = true; - d3_geom_voronoiRedBlackRotateLeft(this, parent); - sibling = parent.R; - } - if (sibling.L && sibling.L.C || sibling.R && sibling.R.C) { - if (!sibling.R || !sibling.R.C) { - sibling.L.C = false; - sibling.C = true; - d3_geom_voronoiRedBlackRotateRight(this, sibling); - sibling = parent.R; - } - sibling.C = parent.C; - parent.C = sibling.R.C = false; - d3_geom_voronoiRedBlackRotateLeft(this, parent); - node = this._; - break; - } - } else { - sibling = parent.L; - if (sibling.C) { - sibling.C = false; - parent.C = true; - d3_geom_voronoiRedBlackRotateRight(this, parent); - sibling = parent.L; - } - if (sibling.L && sibling.L.C || sibling.R && sibling.R.C) { - if (!sibling.L || !sibling.L.C) { - sibling.R.C = false; - sibling.C = true; - d3_geom_voronoiRedBlackRotateLeft(this, sibling); - sibling = parent.L; - } - sibling.C = parent.C; - parent.C = sibling.L.C = false; - d3_geom_voronoiRedBlackRotateRight(this, parent); - node = this._; - break; - } - } - sibling.C = true; - node = parent; - parent = parent.U; - } while (!node.C); - if (node) node.C = false; - } - }; - function d3_geom_voronoiRedBlackRotateLeft(tree, node) { - var p = node, q = node.R, parent = p.U; - if (parent) { - if (parent.L === p) parent.L = q; else parent.R = q; - } else { - tree._ = q; - } - q.U = parent; - p.U = q; - p.R = q.L; - if (p.R) p.R.U = p; - q.L = p; - } - function d3_geom_voronoiRedBlackRotateRight(tree, node) { - var p = node, q = node.L, parent = p.U; - if (parent) { - if (parent.L === p) parent.L = q; else parent.R = q; - } else { - tree._ = q; - } - q.U = parent; - p.U = q; - p.L = q.R; - if (p.L) p.L.U = p; - q.R = p; - } - function d3_geom_voronoiRedBlackFirst(node) { - while (node.L) node = node.L; - return node; - } - function d3_geom_voronoi(sites, bbox) { - var site = sites.sort(d3_geom_voronoiVertexOrder).pop(), x0, y0, circle; - d3_geom_voronoiEdges = []; - d3_geom_voronoiCells = new Array(sites.length); - d3_geom_voronoiBeaches = new d3_geom_voronoiRedBlackTree(); - d3_geom_voronoiCircles = new d3_geom_voronoiRedBlackTree(); - while (true) { - circle = d3_geom_voronoiFirstCircle; - if (site && (!circle || site.y < circle.y || site.y === circle.y && site.x < circle.x)) { - if (site.x !== x0 || site.y !== y0) { - d3_geom_voronoiCells[site.i] = new d3_geom_voronoiCell(site); - d3_geom_voronoiAddBeach(site); - x0 = site.x, y0 = site.y; - } - site = sites.pop(); - } else if (circle) { - d3_geom_voronoiRemoveBeach(circle.arc); - } else { - break; - } - } - if (bbox) d3_geom_voronoiClipEdges(bbox), d3_geom_voronoiCloseCells(bbox); - var diagram = { - cells: d3_geom_voronoiCells, - edges: d3_geom_voronoiEdges - }; - d3_geom_voronoiBeaches = d3_geom_voronoiCircles = d3_geom_voronoiEdges = d3_geom_voronoiCells = null; - return diagram; - } - function d3_geom_voronoiVertexOrder(a, b) { - return b.y - a.y || b.x - a.x; - } - d3.geom.voronoi = function(points) { - var x = d3_geom_pointX, y = d3_geom_pointY, fx = x, fy = y, clipExtent = d3_geom_voronoiClipExtent; - if (points) return voronoi(points); - function voronoi(data) { - var polygons = new Array(data.length), x0 = clipExtent[0][0], y0 = clipExtent[0][1], x1 = clipExtent[1][0], y1 = clipExtent[1][1]; - d3_geom_voronoi(sites(data), clipExtent).cells.forEach(function(cell, i) { - var edges = cell.edges, site = cell.site, polygon = polygons[i] = edges.length ? edges.map(function(e) { - var s = e.start(); - return [ s.x, s.y ]; - }) : site.x >= x0 && site.x <= x1 && site.y >= y0 && site.y <= y1 ? [ [ x0, y1 ], [ x1, y1 ], [ x1, y0 ], [ x0, y0 ] ] : []; - polygon.point = data[i]; - }); - return polygons; - } - function sites(data) { - return data.map(function(d, i) { - return { - x: Math.round(fx(d, i) / ε) * ε, - y: Math.round(fy(d, i) / ε) * ε, - i: i - }; - }); - } - voronoi.links = function(data) { - return d3_geom_voronoi(sites(data)).edges.filter(function(edge) { - return edge.l && edge.r; - }).map(function(edge) { - return { - source: data[edge.l.i], - target: data[edge.r.i] - }; - }); - }; - voronoi.triangles = function(data) { - var triangles = []; - d3_geom_voronoi(sites(data)).cells.forEach(function(cell, i) { - var site = cell.site, edges = cell.edges.sort(d3_geom_voronoiHalfEdgeOrder), j = -1, m = edges.length, e0, s0, e1 = edges[m - 1].edge, s1 = e1.l === site ? e1.r : e1.l; - while (++j < m) { - e0 = e1; - s0 = s1; - e1 = edges[j].edge; - s1 = e1.l === site ? e1.r : e1.l; - if (i < s0.i && i < s1.i && d3_geom_voronoiTriangleArea(site, s0, s1) < 0) { - triangles.push([ data[i], data[s0.i], data[s1.i] ]); - } - } - }); - return triangles; - }; - voronoi.x = function(_) { - return arguments.length ? (fx = d3_functor(x = _), voronoi) : x; - }; - voronoi.y = function(_) { - return arguments.length ? (fy = d3_functor(y = _), voronoi) : y; - }; - voronoi.clipExtent = function(_) { - if (!arguments.length) return clipExtent === d3_geom_voronoiClipExtent ? null : clipExtent; - clipExtent = _ == null ? d3_geom_voronoiClipExtent : _; - return voronoi; - }; - voronoi.size = function(_) { - if (!arguments.length) return clipExtent === d3_geom_voronoiClipExtent ? null : clipExtent && clipExtent[1]; - return voronoi.clipExtent(_ && [ [ 0, 0 ], _ ]); - }; - return voronoi; - }; - var d3_geom_voronoiClipExtent = [ [ -1e6, -1e6 ], [ 1e6, 1e6 ] ]; - function d3_geom_voronoiTriangleArea(a, b, c) { - return (a.x - c.x) * (b.y - a.y) - (a.x - b.x) * (c.y - a.y); - } - d3.geom.delaunay = function(vertices) { - return d3.geom.voronoi().triangles(vertices); - }; - d3.geom.quadtree = function(points, x1, y1, x2, y2) { - var x = d3_geom_pointX, y = d3_geom_pointY, compat; - if (compat = arguments.length) { - x = d3_geom_quadtreeCompatX; - y = d3_geom_quadtreeCompatY; - if (compat === 3) { - y2 = y1; - x2 = x1; - y1 = x1 = 0; - } - return quadtree(points); - } - function quadtree(data) { - var d, fx = d3_functor(x), fy = d3_functor(y), xs, ys, i, n, x1_, y1_, x2_, y2_; - if (x1 != null) { - x1_ = x1, y1_ = y1, x2_ = x2, y2_ = y2; - } else { - x2_ = y2_ = -(x1_ = y1_ = Infinity); - xs = [], ys = []; - n = data.length; - if (compat) for (i = 0; i < n; ++i) { - d = data[i]; - if (d.x < x1_) x1_ = d.x; - if (d.y < y1_) y1_ = d.y; - if (d.x > x2_) x2_ = d.x; - if (d.y > y2_) y2_ = d.y; - xs.push(d.x); - ys.push(d.y); - } else for (i = 0; i < n; ++i) { - var x_ = +fx(d = data[i], i), y_ = +fy(d, i); - if (x_ < x1_) x1_ = x_; - if (y_ < y1_) y1_ = y_; - if (x_ > x2_) x2_ = x_; - if (y_ > y2_) y2_ = y_; - xs.push(x_); - ys.push(y_); - } - } - var dx = x2_ - x1_, dy = y2_ - y1_; - if (dx > dy) y2_ = y1_ + dx; else x2_ = x1_ + dy; - function insert(n, d, x, y, x1, y1, x2, y2) { - if (isNaN(x) || isNaN(y)) return; - if (n.leaf) { - var nx = n.x, ny = n.y; - if (nx != null) { - if (abs(nx - x) + abs(ny - y) < .01) { - insertChild(n, d, x, y, x1, y1, x2, y2); - } else { - var nPoint = n.point; - n.x = n.y = n.point = null; - insertChild(n, nPoint, nx, ny, x1, y1, x2, y2); - insertChild(n, d, x, y, x1, y1, x2, y2); - } - } else { - n.x = x, n.y = y, n.point = d; - } - } else { - insertChild(n, d, x, y, x1, y1, x2, y2); - } - } - function insertChild(n, d, x, y, x1, y1, x2, y2) { - var xm = (x1 + x2) * .5, ym = (y1 + y2) * .5, right = x >= xm, below = y >= ym, i = below << 1 | right; - n.leaf = false; - n = n.nodes[i] || (n.nodes[i] = d3_geom_quadtreeNode()); - if (right) x1 = xm; else x2 = xm; - if (below) y1 = ym; else y2 = ym; - insert(n, d, x, y, x1, y1, x2, y2); - } - var root = d3_geom_quadtreeNode(); - root.add = function(d) { - insert(root, d, +fx(d, ++i), +fy(d, i), x1_, y1_, x2_, y2_); - }; - root.visit = function(f) { - d3_geom_quadtreeVisit(f, root, x1_, y1_, x2_, y2_); - }; - root.find = function(point) { - return d3_geom_quadtreeFind(root, point[0], point[1], x1_, y1_, x2_, y2_); - }; - i = -1; - if (x1 == null) { - while (++i < n) { - insert(root, data[i], xs[i], ys[i], x1_, y1_, x2_, y2_); - } - --i; - } else data.forEach(root.add); - xs = ys = data = d = null; - return root; - } - quadtree.x = function(_) { - return arguments.length ? (x = _, quadtree) : x; - }; - quadtree.y = function(_) { - return arguments.length ? (y = _, quadtree) : y; - }; - quadtree.extent = function(_) { - if (!arguments.length) return x1 == null ? null : [ [ x1, y1 ], [ x2, y2 ] ]; - if (_ == null) x1 = y1 = x2 = y2 = null; else x1 = +_[0][0], y1 = +_[0][1], x2 = +_[1][0], - y2 = +_[1][1]; - return quadtree; - }; - quadtree.size = function(_) { - if (!arguments.length) return x1 == null ? null : [ x2 - x1, y2 - y1 ]; - if (_ == null) x1 = y1 = x2 = y2 = null; else x1 = y1 = 0, x2 = +_[0], y2 = +_[1]; - return quadtree; - }; - return quadtree; - }; - function d3_geom_quadtreeCompatX(d) { - return d.x; - } - function d3_geom_quadtreeCompatY(d) { - return d.y; - } - function d3_geom_quadtreeNode() { - return { - leaf: true, - nodes: [], - point: null, - x: null, - y: null - }; - } - function d3_geom_quadtreeVisit(f, node, x1, y1, x2, y2) { - if (!f(node, x1, y1, x2, y2)) { - var sx = (x1 + x2) * .5, sy = (y1 + y2) * .5, children = node.nodes; - if (children[0]) d3_geom_quadtreeVisit(f, children[0], x1, y1, sx, sy); - if (children[1]) d3_geom_quadtreeVisit(f, children[1], sx, y1, x2, sy); - if (children[2]) d3_geom_quadtreeVisit(f, children[2], x1, sy, sx, y2); - if (children[3]) d3_geom_quadtreeVisit(f, children[3], sx, sy, x2, y2); - } - } - function d3_geom_quadtreeFind(root, x, y, x0, y0, x3, y3) { - var minDistance2 = Infinity, closestPoint; - (function find(node, x1, y1, x2, y2) { - if (x1 > x3 || y1 > y3 || x2 < x0 || y2 < y0) return; - if (point = node.point) { - var point, dx = x - point[0], dy = y - point[1], distance2 = dx * dx + dy * dy; - if (distance2 < minDistance2) { - var distance = Math.sqrt(minDistance2 = distance2); - x0 = x - distance, y0 = y - distance; - x3 = x + distance, y3 = y + distance; - closestPoint = point; - } - } - var children = node.nodes, xm = (x1 + x2) * .5, ym = (y1 + y2) * .5, right = x >= xm, below = y >= ym; - for (var i = below << 1 | right, j = i + 4; i < j; ++i) { - if (node = children[i & 3]) switch (i & 3) { - case 0: - find(node, x1, y1, xm, ym); - break; - - case 1: - find(node, xm, y1, x2, ym); - break; - - case 2: - find(node, x1, ym, xm, y2); - break; - - case 3: - find(node, xm, ym, x2, y2); - break; - } - } - })(root, x0, y0, x3, y3); - return closestPoint; - } - d3.interpolateRgb = d3_interpolateRgb; - function d3_interpolateRgb(a, b) { - a = d3.rgb(a); - b = d3.rgb(b); - var ar = a.r, ag = a.g, ab = a.b, br = b.r - ar, bg = b.g - ag, bb = b.b - ab; - return function(t) { - return "#" + d3_rgb_hex(Math.round(ar + br * t)) + d3_rgb_hex(Math.round(ag + bg * t)) + d3_rgb_hex(Math.round(ab + bb * t)); - }; - } - d3.interpolateObject = d3_interpolateObject; - function d3_interpolateObject(a, b) { - var i = {}, c = {}, k; - for (k in a) { - if (k in b) { - i[k] = d3_interpolate(a[k], b[k]); - } else { - c[k] = a[k]; - } - } - for (k in b) { - if (!(k in a)) { - c[k] = b[k]; - } - } - return function(t) { - for (k in i) c[k] = i[k](t); - return c; - }; - } - d3.interpolateNumber = d3_interpolateNumber; - function d3_interpolateNumber(a, b) { - a = +a, b = +b; - return function(t) { - return a * (1 - t) + b * t; - }; - } - d3.interpolateString = d3_interpolateString; - function d3_interpolateString(a, b) { - var bi = d3_interpolate_numberA.lastIndex = d3_interpolate_numberB.lastIndex = 0, am, bm, bs, i = -1, s = [], q = []; - a = a + "", b = b + ""; - while ((am = d3_interpolate_numberA.exec(a)) && (bm = d3_interpolate_numberB.exec(b))) { - if ((bs = bm.index) > bi) { - bs = b.slice(bi, bs); - if (s[i]) s[i] += bs; else s[++i] = bs; - } - if ((am = am[0]) === (bm = bm[0])) { - if (s[i]) s[i] += bm; else s[++i] = bm; - } else { - s[++i] = null; - q.push({ - i: i, - x: d3_interpolateNumber(am, bm) - }); - } - bi = d3_interpolate_numberB.lastIndex; - } - if (bi < b.length) { - bs = b.slice(bi); - if (s[i]) s[i] += bs; else s[++i] = bs; - } - return s.length < 2 ? q[0] ? (b = q[0].x, function(t) { - return b(t) + ""; - }) : function() { - return b; - } : (b = q.length, function(t) { - for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t); - return s.join(""); - }); - } - var d3_interpolate_numberA = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, d3_interpolate_numberB = new RegExp(d3_interpolate_numberA.source, "g"); - d3.interpolate = d3_interpolate; - function d3_interpolate(a, b) { - var i = d3.interpolators.length, f; - while (--i >= 0 && !(f = d3.interpolators[i](a, b))) ; - return f; - } - d3.interpolators = [ function(a, b) { - var t = typeof b; - return (t === "string" ? d3_rgb_names.has(b) || /^(#|rgb\(|hsl\()/.test(b) ? d3_interpolateRgb : d3_interpolateString : b instanceof d3_color ? d3_interpolateRgb : Array.isArray(b) ? d3_interpolateArray : t === "object" && isNaN(b) ? d3_interpolateObject : d3_interpolateNumber)(a, b); - } ]; - d3.interpolateArray = d3_interpolateArray; - function d3_interpolateArray(a, b) { - var x = [], c = [], na = a.length, nb = b.length, n0 = Math.min(a.length, b.length), i; - for (i = 0; i < n0; ++i) x.push(d3_interpolate(a[i], b[i])); - for (;i < na; ++i) c[i] = a[i]; - for (;i < nb; ++i) c[i] = b[i]; - return function(t) { - for (i = 0; i < n0; ++i) c[i] = x[i](t); - return c; - }; - } - var d3_ease_default = function() { - return d3_identity; - }; - var d3_ease = d3.map({ - linear: d3_ease_default, - poly: d3_ease_poly, - quad: function() { - return d3_ease_quad; - }, - cubic: function() { - return d3_ease_cubic; - }, - sin: function() { - return d3_ease_sin; - }, - exp: function() { - return d3_ease_exp; - }, - circle: function() { - return d3_ease_circle; - }, - elastic: d3_ease_elastic, - back: d3_ease_back, - bounce: function() { - return d3_ease_bounce; - } - }); - var d3_ease_mode = d3.map({ - "in": d3_identity, - out: d3_ease_reverse, - "in-out": d3_ease_reflect, - "out-in": function(f) { - return d3_ease_reflect(d3_ease_reverse(f)); - } - }); - d3.ease = function(name) { - var i = name.indexOf("-"), t = i >= 0 ? name.slice(0, i) : name, m = i >= 0 ? name.slice(i + 1) : "in"; - t = d3_ease.get(t) || d3_ease_default; - m = d3_ease_mode.get(m) || d3_identity; - return d3_ease_clamp(m(t.apply(null, d3_arraySlice.call(arguments, 1)))); - }; - function d3_ease_clamp(f) { - return function(t) { - return t <= 0 ? 0 : t >= 1 ? 1 : f(t); - }; - } - function d3_ease_reverse(f) { - return function(t) { - return 1 - f(1 - t); - }; - } - function d3_ease_reflect(f) { - return function(t) { - return .5 * (t < .5 ? f(2 * t) : 2 - f(2 - 2 * t)); - }; - } - function d3_ease_quad(t) { - return t * t; - } - function d3_ease_cubic(t) { - return t * t * t; - } - function d3_ease_cubicInOut(t) { - if (t <= 0) return 0; - if (t >= 1) return 1; - var t2 = t * t, t3 = t2 * t; - return 4 * (t < .5 ? t3 : 3 * (t - t2) + t3 - .75); - } - function d3_ease_poly(e) { - return function(t) { - return Math.pow(t, e); - }; - } - function d3_ease_sin(t) { - return 1 - Math.cos(t * halfπ); - } - function d3_ease_exp(t) { - return Math.pow(2, 10 * (t - 1)); - } - function d3_ease_circle(t) { - return 1 - Math.sqrt(1 - t * t); - } - function d3_ease_elastic(a, p) { - var s; - if (arguments.length < 2) p = .45; - if (arguments.length) s = p / τ * Math.asin(1 / a); else a = 1, s = p / 4; - return function(t) { - return 1 + a * Math.pow(2, -10 * t) * Math.sin((t - s) * τ / p); - }; - } - function d3_ease_back(s) { - if (!s) s = 1.70158; - return function(t) { - return t * t * ((s + 1) * t - s); - }; - } - function d3_ease_bounce(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; - } - d3.interpolateHcl = d3_interpolateHcl; - function d3_interpolateHcl(a, b) { - a = d3.hcl(a); - b = d3.hcl(b); - var ah = a.h, ac = a.c, al = a.l, bh = b.h - ah, bc = b.c - ac, bl = b.l - al; - if (isNaN(bc)) bc = 0, ac = isNaN(ac) ? b.c : ac; - if (isNaN(bh)) bh = 0, ah = isNaN(ah) ? b.h : ah; else if (bh > 180) bh -= 360; else if (bh < -180) bh += 360; - return function(t) { - return d3_hcl_lab(ah + bh * t, ac + bc * t, al + bl * t) + ""; - }; - } - d3.interpolateHsl = d3_interpolateHsl; - function d3_interpolateHsl(a, b) { - a = d3.hsl(a); - b = d3.hsl(b); - var ah = a.h, as = a.s, al = a.l, bh = b.h - ah, bs = b.s - as, bl = b.l - al; - if (isNaN(bs)) bs = 0, as = isNaN(as) ? b.s : as; - if (isNaN(bh)) bh = 0, ah = isNaN(ah) ? b.h : ah; else if (bh > 180) bh -= 360; else if (bh < -180) bh += 360; - return function(t) { - return d3_hsl_rgb(ah + bh * t, as + bs * t, al + bl * t) + ""; - }; - } - d3.interpolateLab = d3_interpolateLab; - function d3_interpolateLab(a, b) { - a = d3.lab(a); - b = d3.lab(b); - var al = a.l, aa = a.a, ab = a.b, bl = b.l - al, ba = b.a - aa, bb = b.b - ab; - return function(t) { - return d3_lab_rgb(al + bl * t, aa + ba * t, ab + bb * t) + ""; - }; - } - d3.interpolateRound = d3_interpolateRound; - function d3_interpolateRound(a, b) { - b -= a; - return function(t) { - return Math.round(a + b * t); - }; - } - d3.transform = function(string) { - var g = d3_document.createElementNS(d3.ns.prefix.svg, "g"); - return (d3.transform = function(string) { - if (string != null) { - g.setAttribute("transform", string); - var t = g.transform.baseVal.consolidate(); - } - return new d3_transform(t ? t.matrix : d3_transformIdentity); - })(string); - }; - function d3_transform(m) { - var r0 = [ m.a, m.b ], r1 = [ m.c, m.d ], kx = d3_transformNormalize(r0), kz = d3_transformDot(r0, r1), ky = d3_transformNormalize(d3_transformCombine(r1, r0, -kz)) || 0; - if (r0[0] * r1[1] < r1[0] * r0[1]) { - r0[0] *= -1; - r0[1] *= -1; - kx *= -1; - kz *= -1; - } - this.rotate = (kx ? Math.atan2(r0[1], r0[0]) : Math.atan2(-r1[0], r1[1])) * d3_degrees; - this.translate = [ m.e, m.f ]; - this.scale = [ kx, ky ]; - this.skew = ky ? Math.atan2(kz, ky) * d3_degrees : 0; - } - d3_transform.prototype.toString = function() { - return "translate(" + this.translate + ")rotate(" + this.rotate + ")skewX(" + this.skew + ")scale(" + this.scale + ")"; - }; - function d3_transformDot(a, b) { - return a[0] * b[0] + a[1] * b[1]; - } - function d3_transformNormalize(a) { - var k = Math.sqrt(d3_transformDot(a, a)); - if (k) { - a[0] /= k; - a[1] /= k; - } - return k; - } - function d3_transformCombine(a, b, k) { - a[0] += k * b[0]; - a[1] += k * b[1]; - return a; - } - var d3_transformIdentity = { - a: 1, - b: 0, - c: 0, - d: 1, - e: 0, - f: 0 - }; - d3.interpolateTransform = d3_interpolateTransform; - function d3_interpolateTransform(a, b) { - var s = [], q = [], n, A = d3.transform(a), B = d3.transform(b), ta = A.translate, tb = B.translate, ra = A.rotate, rb = B.rotate, wa = A.skew, wb = B.skew, ka = A.scale, kb = B.scale; - if (ta[0] != tb[0] || ta[1] != tb[1]) { - s.push("translate(", null, ",", null, ")"); - q.push({ - i: 1, - x: d3_interpolateNumber(ta[0], tb[0]) - }, { - i: 3, - x: d3_interpolateNumber(ta[1], tb[1]) - }); - } else if (tb[0] || tb[1]) { - s.push("translate(" + tb + ")"); - } else { - s.push(""); - } - if (ra != rb) { - if (ra - rb > 180) rb += 360; else if (rb - ra > 180) ra += 360; - q.push({ - i: s.push(s.pop() + "rotate(", null, ")") - 2, - x: d3_interpolateNumber(ra, rb) - }); - } else if (rb) { - s.push(s.pop() + "rotate(" + rb + ")"); - } - if (wa != wb) { - q.push({ - i: s.push(s.pop() + "skewX(", null, ")") - 2, - x: d3_interpolateNumber(wa, wb) - }); - } else if (wb) { - s.push(s.pop() + "skewX(" + wb + ")"); - } - if (ka[0] != kb[0] || ka[1] != kb[1]) { - n = s.push(s.pop() + "scale(", null, ",", null, ")"); - q.push({ - i: n - 4, - x: d3_interpolateNumber(ka[0], kb[0]) - }, { - i: n - 2, - x: d3_interpolateNumber(ka[1], kb[1]) - }); - } else if (kb[0] != 1 || kb[1] != 1) { - s.push(s.pop() + "scale(" + kb + ")"); - } - n = q.length; - return function(t) { - var i = -1, o; - while (++i < n) s[(o = q[i]).i] = o.x(t); - return s.join(""); - }; - } - function d3_uninterpolateNumber(a, b) { - b = (b -= a = +a) || 1 / b; - return function(x) { - return (x - a) / b; - }; - } - function d3_uninterpolateClamp(a, b) { - b = (b -= a = +a) || 1 / b; - return function(x) { - return Math.max(0, Math.min(1, (x - a) / b)); - }; - } - d3.layout = {}; - d3.layout.bundle = function() { - return function(links) { - var paths = [], i = -1, n = links.length; - while (++i < n) paths.push(d3_layout_bundlePath(links[i])); - return paths; - }; - }; - function d3_layout_bundlePath(link) { - var start = link.source, end = link.target, lca = d3_layout_bundleLeastCommonAncestor(start, end), points = [ start ]; - while (start !== lca) { - start = start.parent; - points.push(start); - } - var k = points.length; - while (end !== lca) { - points.splice(k, 0, end); - end = end.parent; - } - return points; - } - function d3_layout_bundleAncestors(node) { - var ancestors = [], parent = node.parent; - while (parent != null) { - ancestors.push(node); - node = parent; - parent = parent.parent; - } - ancestors.push(node); - return ancestors; - } - function d3_layout_bundleLeastCommonAncestor(a, b) { - if (a === b) return a; - var aNodes = d3_layout_bundleAncestors(a), bNodes = d3_layout_bundleAncestors(b), aNode = aNodes.pop(), bNode = bNodes.pop(), sharedNode = null; - while (aNode === bNode) { - sharedNode = aNode; - aNode = aNodes.pop(); - bNode = bNodes.pop(); - } - return sharedNode; - } - d3.layout.chord = function() { - var chord = {}, chords, groups, matrix, n, padding = 0, sortGroups, sortSubgroups, sortChords; - function relayout() { - var subgroups = {}, groupSums = [], groupIndex = d3.range(n), subgroupIndex = [], k, x, x0, i, j; - chords = []; - groups = []; - k = 0, i = -1; - while (++i < n) { - x = 0, j = -1; - while (++j < n) { - x += matrix[i][j]; - } - groupSums.push(x); - subgroupIndex.push(d3.range(n)); - k += x; - } - if (sortGroups) { - groupIndex.sort(function(a, b) { - return sortGroups(groupSums[a], groupSums[b]); - }); - } - if (sortSubgroups) { - subgroupIndex.forEach(function(d, i) { - d.sort(function(a, b) { - return sortSubgroups(matrix[i][a], matrix[i][b]); - }); - }); - } - k = (τ - padding * n) / k; - x = 0, i = -1; - while (++i < n) { - x0 = x, j = -1; - while (++j < n) { - var di = groupIndex[i], dj = subgroupIndex[di][j], v = matrix[di][dj], a0 = x, a1 = x += v * k; - subgroups[di + "-" + dj] = { - index: di, - subindex: dj, - startAngle: a0, - endAngle: a1, - value: v - }; - } - groups[di] = { - index: di, - startAngle: x0, - endAngle: x, - value: (x - x0) / k - }; - x += padding; - } - i = -1; - while (++i < n) { - j = i - 1; - while (++j < n) { - var source = subgroups[i + "-" + j], target = subgroups[j + "-" + i]; - if (source.value || target.value) { - chords.push(source.value < target.value ? { - source: target, - target: source - } : { - source: source, - target: target - }); - } - } - } - if (sortChords) resort(); - } - function resort() { - chords.sort(function(a, b) { - return sortChords((a.source.value + a.target.value) / 2, (b.source.value + b.target.value) / 2); - }); - } - chord.matrix = function(x) { - if (!arguments.length) return matrix; - n = (matrix = x) && matrix.length; - chords = groups = null; - return chord; - }; - chord.padding = function(x) { - if (!arguments.length) return padding; - padding = x; - chords = groups = null; - return chord; - }; - chord.sortGroups = function(x) { - if (!arguments.length) return sortGroups; - sortGroups = x; - chords = groups = null; - return chord; - }; - chord.sortSubgroups = function(x) { - if (!arguments.length) return sortSubgroups; - sortSubgroups = x; - chords = null; - return chord; - }; - chord.sortChords = function(x) { - if (!arguments.length) return sortChords; - sortChords = x; - if (chords) resort(); - return chord; - }; - chord.chords = function() { - if (!chords) relayout(); - return chords; - }; - chord.groups = function() { - if (!groups) relayout(); - return groups; - }; - return chord; - }; - d3.layout.force = function() { - var force = {}, event = d3.dispatch("start", "tick", "end"), size = [ 1, 1 ], drag, alpha, friction = .9, linkDistance = d3_layout_forceLinkDistance, linkStrength = d3_layout_forceLinkStrength, charge = -30, chargeDistance2 = d3_layout_forceChargeDistance2, gravity = .1, theta2 = .64, nodes = [], links = [], distances, strengths, charges; - function repulse(node) { - return function(quad, x1, _, x2) { - if (quad.point !== node) { - var dx = quad.cx - node.x, dy = quad.cy - node.y, dw = x2 - x1, dn = dx * dx + dy * dy; - if (dw * dw / theta2 < dn) { - if (dn < chargeDistance2) { - var k = quad.charge / dn; - node.px -= dx * k; - node.py -= dy * k; - } - return true; - } - if (quad.point && dn && dn < chargeDistance2) { - var k = quad.pointCharge / dn; - node.px -= dx * k; - node.py -= dy * k; - } - } - return !quad.charge; - }; - } - force.tick = function() { - if ((alpha *= .99) < .005) { - event.end({ - type: "end", - alpha: alpha = 0 - }); - return true; - } - var n = nodes.length, m = links.length, q, i, o, s, t, l, k, x, y; - for (i = 0; i < m; ++i) { - o = links[i]; - s = o.source; - t = o.target; - x = t.x - s.x; - y = t.y - s.y; - if (l = x * x + y * y) { - l = alpha * strengths[i] * ((l = Math.sqrt(l)) - distances[i]) / l; - x *= l; - y *= l; - t.x -= x * (k = s.weight / (t.weight + s.weight)); - t.y -= y * k; - s.x += x * (k = 1 - k); - s.y += y * k; - } - } - if (k = alpha * gravity) { - x = size[0] / 2; - y = size[1] / 2; - i = -1; - if (k) while (++i < n) { - o = nodes[i]; - o.x += (x - o.x) * k; - o.y += (y - o.y) * k; - } - } - if (charge) { - d3_layout_forceAccumulate(q = d3.geom.quadtree(nodes), alpha, charges); - i = -1; - while (++i < n) { - if (!(o = nodes[i]).fixed) { - q.visit(repulse(o)); - } - } - } - i = -1; - while (++i < n) { - o = nodes[i]; - if (o.fixed) { - o.x = o.px; - o.y = o.py; - } else { - o.x -= (o.px - (o.px = o.x)) * friction; - o.y -= (o.py - (o.py = o.y)) * friction; - } - } - event.tick({ - type: "tick", - alpha: alpha - }); - }; - force.nodes = function(x) { - if (!arguments.length) return nodes; - nodes = x; - return force; - }; - force.links = function(x) { - if (!arguments.length) return links; - links = x; - return force; - }; - force.size = function(x) { - if (!arguments.length) return size; - size = x; - return force; - }; - force.linkDistance = function(x) { - if (!arguments.length) return linkDistance; - linkDistance = typeof x === "function" ? x : +x; - return force; - }; - force.distance = force.linkDistance; - force.linkStrength = function(x) { - if (!arguments.length) return linkStrength; - linkStrength = typeof x === "function" ? x : +x; - return force; - }; - force.friction = function(x) { - if (!arguments.length) return friction; - friction = +x; - return force; - }; - force.charge = function(x) { - if (!arguments.length) return charge; - charge = typeof x === "function" ? x : +x; - return force; - }; - force.chargeDistance = function(x) { - if (!arguments.length) return Math.sqrt(chargeDistance2); - chargeDistance2 = x * x; - return force; - }; - force.gravity = function(x) { - if (!arguments.length) return gravity; - gravity = +x; - return force; - }; - force.theta = function(x) { - if (!arguments.length) return Math.sqrt(theta2); - theta2 = x * x; - return force; - }; - force.alpha = function(x) { - if (!arguments.length) return alpha; - x = +x; - if (alpha) { - if (x > 0) alpha = x; else alpha = 0; - } else if (x > 0) { - event.start({ - type: "start", - alpha: alpha = x - }); - d3.timer(force.tick); - } - return force; - }; - force.start = function() { - var i, n = nodes.length, m = links.length, w = size[0], h = size[1], neighbors, o; - for (i = 0; i < n; ++i) { - (o = nodes[i]).index = i; - o.weight = 0; - } - for (i = 0; i < m; ++i) { - o = links[i]; - if (typeof o.source == "number") o.source = nodes[o.source]; - if (typeof o.target == "number") o.target = nodes[o.target]; - ++o.source.weight; - ++o.target.weight; - } - for (i = 0; i < n; ++i) { - o = nodes[i]; - if (isNaN(o.x)) o.x = position("x", w); - if (isNaN(o.y)) o.y = position("y", h); - if (isNaN(o.px)) o.px = o.x; - if (isNaN(o.py)) o.py = o.y; - } - distances = []; - if (typeof linkDistance === "function") for (i = 0; i < m; ++i) distances[i] = +linkDistance.call(this, links[i], i); else for (i = 0; i < m; ++i) distances[i] = linkDistance; - strengths = []; - if (typeof linkStrength === "function") for (i = 0; i < m; ++i) strengths[i] = +linkStrength.call(this, links[i], i); else for (i = 0; i < m; ++i) strengths[i] = linkStrength; - charges = []; - if (typeof charge === "function") for (i = 0; i < n; ++i) charges[i] = +charge.call(this, nodes[i], i); else for (i = 0; i < n; ++i) charges[i] = charge; - function position(dimension, size) { - if (!neighbors) { - neighbors = new Array(n); - for (j = 0; j < n; ++j) { - neighbors[j] = []; - } - for (j = 0; j < m; ++j) { - var o = links[j]; - neighbors[o.source.index].push(o.target); - neighbors[o.target.index].push(o.source); - } - } - var candidates = neighbors[i], j = -1, m = candidates.length, x; - while (++j < m) if (!isNaN(x = candidates[j][dimension])) return x; - return Math.random() * size; - } - return force.resume(); - }; - force.resume = function() { - return force.alpha(.1); - }; - force.stop = function() { - return force.alpha(0); - }; - force.drag = function() { - if (!drag) drag = d3.behavior.drag().origin(d3_identity).on("dragstart.force", d3_layout_forceDragstart).on("drag.force", dragmove).on("dragend.force", d3_layout_forceDragend); - if (!arguments.length) return drag; - this.on("mouseover.force", d3_layout_forceMouseover).on("mouseout.force", d3_layout_forceMouseout).call(drag); - }; - function dragmove(d) { - d.px = d3.event.x, d.py = d3.event.y; - force.resume(); - } - return d3.rebind(force, event, "on"); - }; - function d3_layout_forceDragstart(d) { - d.fixed |= 2; - } - function d3_layout_forceDragend(d) { - d.fixed &= ~6; - } - function d3_layout_forceMouseover(d) { - d.fixed |= 4; - d.px = d.x, d.py = d.y; - } - function d3_layout_forceMouseout(d) { - d.fixed &= ~4; - } - function d3_layout_forceAccumulate(quad, alpha, charges) { - var cx = 0, cy = 0; - quad.charge = 0; - if (!quad.leaf) { - var nodes = quad.nodes, n = nodes.length, i = -1, c; - while (++i < n) { - c = nodes[i]; - if (c == null) continue; - d3_layout_forceAccumulate(c, alpha, charges); - quad.charge += c.charge; - cx += c.charge * c.cx; - cy += c.charge * c.cy; - } - } - if (quad.point) { - if (!quad.leaf) { - quad.point.x += Math.random() - .5; - quad.point.y += Math.random() - .5; - } - var k = alpha * charges[quad.point.index]; - quad.charge += quad.pointCharge = k; - cx += k * quad.point.x; - cy += k * quad.point.y; - } - quad.cx = cx / quad.charge; - quad.cy = cy / quad.charge; - } - var d3_layout_forceLinkDistance = 20, d3_layout_forceLinkStrength = 1, d3_layout_forceChargeDistance2 = Infinity; - d3.layout.hierarchy = function() { - var sort = d3_layout_hierarchySort, children = d3_layout_hierarchyChildren, value = d3_layout_hierarchyValue; - function hierarchy(root) { - var stack = [ root ], nodes = [], node; - root.depth = 0; - while ((node = stack.pop()) != null) { - nodes.push(node); - if ((childs = children.call(hierarchy, node, node.depth)) && (n = childs.length)) { - var n, childs, child; - while (--n >= 0) { - stack.push(child = childs[n]); - child.parent = node; - child.depth = node.depth + 1; - } - if (value) node.value = 0; - node.children = childs; - } else { - if (value) node.value = +value.call(hierarchy, node, node.depth) || 0; - delete node.children; - } - } - d3_layout_hierarchyVisitAfter(root, function(node) { - var childs, parent; - if (sort && (childs = node.children)) childs.sort(sort); - if (value && (parent = node.parent)) parent.value += node.value; - }); - return nodes; - } - hierarchy.sort = function(x) { - if (!arguments.length) return sort; - sort = x; - return hierarchy; - }; - hierarchy.children = function(x) { - if (!arguments.length) return children; - children = x; - return hierarchy; - }; - hierarchy.value = function(x) { - if (!arguments.length) return value; - value = x; - return hierarchy; - }; - hierarchy.revalue = function(root) { - if (value) { - d3_layout_hierarchyVisitBefore(root, function(node) { - if (node.children) node.value = 0; - }); - d3_layout_hierarchyVisitAfter(root, function(node) { - var parent; - if (!node.children) node.value = +value.call(hierarchy, node, node.depth) || 0; - if (parent = node.parent) parent.value += node.value; - }); - } - return root; - }; - return hierarchy; - }; - function d3_layout_hierarchyRebind(object, hierarchy) { - d3.rebind(object, hierarchy, "sort", "children", "value"); - object.nodes = object; - object.links = d3_layout_hierarchyLinks; - return object; - } - function d3_layout_hierarchyVisitBefore(node, callback) { - var nodes = [ node ]; - while ((node = nodes.pop()) != null) { - callback(node); - if ((children = node.children) && (n = children.length)) { - var n, children; - while (--n >= 0) nodes.push(children[n]); - } - } - } - function d3_layout_hierarchyVisitAfter(node, callback) { - var nodes = [ node ], nodes2 = []; - while ((node = nodes.pop()) != null) { - nodes2.push(node); - if ((children = node.children) && (n = children.length)) { - var i = -1, n, children; - while (++i < n) nodes.push(children[i]); - } - } - while ((node = nodes2.pop()) != null) { - callback(node); - } - } - function d3_layout_hierarchyChildren(d) { - return d.children; - } - function d3_layout_hierarchyValue(d) { - return d.value; - } - function d3_layout_hierarchySort(a, b) { - return b.value - a.value; - } - function d3_layout_hierarchyLinks(nodes) { - return d3.merge(nodes.map(function(parent) { - return (parent.children || []).map(function(child) { - return { - source: parent, - target: child - }; - }); - })); - } - d3.layout.partition = function() { - var hierarchy = d3.layout.hierarchy(), size = [ 1, 1 ]; - function position(node, x, dx, dy) { - var children = node.children; - node.x = x; - node.y = node.depth * dy; - node.dx = dx; - node.dy = dy; - if (children && (n = children.length)) { - var i = -1, n, c, d; - dx = node.value ? dx / node.value : 0; - while (++i < n) { - position(c = children[i], x, d = c.value * dx, dy); - x += d; - } - } - } - function depth(node) { - var children = node.children, d = 0; - if (children && (n = children.length)) { - var i = -1, n; - while (++i < n) d = Math.max(d, depth(children[i])); - } - return 1 + d; - } - function partition(d, i) { - var nodes = hierarchy.call(this, d, i); - position(nodes[0], 0, size[0], size[1] / depth(nodes[0])); - return nodes; - } - partition.size = function(x) { - if (!arguments.length) return size; - size = x; - return partition; - }; - return d3_layout_hierarchyRebind(partition, hierarchy); - }; - d3.layout.pie = function() { - var value = Number, sort = d3_layout_pieSortByValue, startAngle = 0, endAngle = τ, padAngle = 0; - function pie(data) { - var n = data.length, values = data.map(function(d, i) { - return +value.call(pie, d, i); - }), a = +(typeof startAngle === "function" ? startAngle.apply(this, arguments) : startAngle), da = (typeof endAngle === "function" ? endAngle.apply(this, arguments) : endAngle) - a, p = Math.min(Math.abs(da) / n, +(typeof padAngle === "function" ? padAngle.apply(this, arguments) : padAngle)), pa = p * (da < 0 ? -1 : 1), k = (da - n * pa) / d3.sum(values), index = d3.range(n), arcs = [], v; - if (sort != null) index.sort(sort === d3_layout_pieSortByValue ? function(i, j) { - return values[j] - values[i]; - } : function(i, j) { - return sort(data[i], data[j]); - }); - index.forEach(function(i) { - arcs[i] = { - data: data[i], - value: v = values[i], - startAngle: a, - endAngle: a += v * k + pa, - padAngle: p - }; - }); - return arcs; - } - pie.value = function(_) { - if (!arguments.length) return value; - value = _; - return pie; - }; - pie.sort = function(_) { - if (!arguments.length) return sort; - sort = _; - return pie; - }; - pie.startAngle = function(_) { - if (!arguments.length) return startAngle; - startAngle = _; - return pie; - }; - pie.endAngle = function(_) { - if (!arguments.length) return endAngle; - endAngle = _; - return pie; - }; - pie.padAngle = function(_) { - if (!arguments.length) return padAngle; - padAngle = _; - return pie; - }; - return pie; - }; - var d3_layout_pieSortByValue = {}; - d3.layout.stack = function() { - var values = d3_identity, order = d3_layout_stackOrderDefault, offset = d3_layout_stackOffsetZero, out = d3_layout_stackOut, x = d3_layout_stackX, y = d3_layout_stackY; - function stack(data, index) { - if (!(n = data.length)) return data; - var series = data.map(function(d, i) { - return values.call(stack, d, i); - }); - var points = series.map(function(d) { - return d.map(function(v, i) { - return [ x.call(stack, v, i), y.call(stack, v, i) ]; - }); - }); - var orders = order.call(stack, points, index); - series = d3.permute(series, orders); - points = d3.permute(points, orders); - var offsets = offset.call(stack, points, index); - var m = series[0].length, n, i, j, o; - for (j = 0; j < m; ++j) { - out.call(stack, series[0][j], o = offsets[j], points[0][j][1]); - for (i = 1; i < n; ++i) { - out.call(stack, series[i][j], o += points[i - 1][j][1], points[i][j][1]); - } - } - return data; - } - stack.values = function(x) { - if (!arguments.length) return values; - values = x; - return stack; - }; - stack.order = function(x) { - if (!arguments.length) return order; - order = typeof x === "function" ? x : d3_layout_stackOrders.get(x) || d3_layout_stackOrderDefault; - return stack; - }; - stack.offset = function(x) { - if (!arguments.length) return offset; - offset = typeof x === "function" ? x : d3_layout_stackOffsets.get(x) || d3_layout_stackOffsetZero; - return stack; - }; - stack.x = function(z) { - if (!arguments.length) return x; - x = z; - return stack; - }; - stack.y = function(z) { - if (!arguments.length) return y; - y = z; - return stack; - }; - stack.out = function(z) { - if (!arguments.length) return out; - out = z; - return stack; - }; - return stack; - }; - function d3_layout_stackX(d) { - return d.x; - } - function d3_layout_stackY(d) { - return d.y; - } - function d3_layout_stackOut(d, y0, y) { - d.y0 = y0; - d.y = y; - } - var d3_layout_stackOrders = d3.map({ - "inside-out": function(data) { - var n = data.length, i, j, max = data.map(d3_layout_stackMaxIndex), sums = data.map(d3_layout_stackReduceSum), index = d3.range(n).sort(function(a, b) { - return max[a] - max[b]; - }), top = 0, bottom = 0, tops = [], bottoms = []; - for (i = 0; i < n; ++i) { - j = index[i]; - if (top < bottom) { - top += sums[j]; - tops.push(j); - } else { - bottom += sums[j]; - bottoms.push(j); - } - } - return bottoms.reverse().concat(tops); - }, - reverse: function(data) { - return d3.range(data.length).reverse(); - }, - "default": d3_layout_stackOrderDefault - }); - var d3_layout_stackOffsets = d3.map({ - silhouette: function(data) { - var n = data.length, m = data[0].length, sums = [], max = 0, i, j, o, y0 = []; - for (j = 0; j < m; ++j) { - for (i = 0, o = 0; i < n; i++) o += data[i][j][1]; - if (o > max) max = o; - sums.push(o); - } - for (j = 0; j < m; ++j) { - y0[j] = (max - sums[j]) / 2; - } - return y0; - }, - wiggle: function(data) { - var n = data.length, x = data[0], m = x.length, i, j, k, s1, s2, s3, dx, o, o0, y0 = []; - y0[0] = o = o0 = 0; - for (j = 1; j < m; ++j) { - for (i = 0, s1 = 0; i < n; ++i) s1 += data[i][j][1]; - for (i = 0, s2 = 0, dx = x[j][0] - x[j - 1][0]; i < n; ++i) { - for (k = 0, s3 = (data[i][j][1] - data[i][j - 1][1]) / (2 * dx); k < i; ++k) { - s3 += (data[k][j][1] - data[k][j - 1][1]) / dx; - } - s2 += s3 * data[i][j][1]; - } - y0[j] = o -= s1 ? s2 / s1 * dx : 0; - if (o < o0) o0 = o; - } - for (j = 0; j < m; ++j) y0[j] -= o0; - return y0; - }, - expand: function(data) { - var n = data.length, m = data[0].length, k = 1 / n, i, j, o, y0 = []; - for (j = 0; j < m; ++j) { - for (i = 0, o = 0; i < n; i++) o += data[i][j][1]; - if (o) for (i = 0; i < n; i++) data[i][j][1] /= o; else for (i = 0; i < n; i++) data[i][j][1] = k; - } - for (j = 0; j < m; ++j) y0[j] = 0; - return y0; - }, - zero: d3_layout_stackOffsetZero - }); - function d3_layout_stackOrderDefault(data) { - return d3.range(data.length); - } - function d3_layout_stackOffsetZero(data) { - var j = -1, m = data[0].length, y0 = []; - while (++j < m) y0[j] = 0; - return y0; - } - function d3_layout_stackMaxIndex(array) { - var i = 1, j = 0, v = array[0][1], k, n = array.length; - for (;i < n; ++i) { - if ((k = array[i][1]) > v) { - j = i; - v = k; - } - } - return j; - } - function d3_layout_stackReduceSum(d) { - return d.reduce(d3_layout_stackSum, 0); - } - function d3_layout_stackSum(p, d) { - return p + d[1]; - } - d3.layout.histogram = function() { - var frequency = true, valuer = Number, ranger = d3_layout_histogramRange, binner = d3_layout_histogramBinSturges; - function histogram(data, i) { - var bins = [], values = data.map(valuer, this), range = ranger.call(this, values, i), thresholds = binner.call(this, range, values, i), bin, i = -1, n = values.length, m = thresholds.length - 1, k = frequency ? 1 : 1 / n, x; - while (++i < m) { - bin = bins[i] = []; - bin.dx = thresholds[i + 1] - (bin.x = thresholds[i]); - bin.y = 0; - } - if (m > 0) { - i = -1; - while (++i < n) { - x = values[i]; - if (x >= range[0] && x <= range[1]) { - bin = bins[d3.bisect(thresholds, x, 1, m) - 1]; - bin.y += k; - bin.push(data[i]); - } - } - } - return bins; - } - histogram.value = function(x) { - if (!arguments.length) return valuer; - valuer = x; - return histogram; - }; - histogram.range = function(x) { - if (!arguments.length) return ranger; - ranger = d3_functor(x); - return histogram; - }; - histogram.bins = function(x) { - if (!arguments.length) return binner; - binner = typeof x === "number" ? function(range) { - return d3_layout_histogramBinFixed(range, x); - } : d3_functor(x); - return histogram; - }; - histogram.frequency = function(x) { - if (!arguments.length) return frequency; - frequency = !!x; - return histogram; - }; - return histogram; - }; - function d3_layout_histogramBinSturges(range, values) { - return d3_layout_histogramBinFixed(range, Math.ceil(Math.log(values.length) / Math.LN2 + 1)); - } - function d3_layout_histogramBinFixed(range, n) { - var x = -1, b = +range[0], m = (range[1] - b) / n, f = []; - while (++x <= n) f[x] = m * x + b; - return f; - } - function d3_layout_histogramRange(values) { - return [ d3.min(values), d3.max(values) ]; - } - d3.layout.pack = function() { - var hierarchy = d3.layout.hierarchy().sort(d3_layout_packSort), padding = 0, size = [ 1, 1 ], radius; - function pack(d, i) { - var nodes = hierarchy.call(this, d, i), root = nodes[0], w = size[0], h = size[1], r = radius == null ? Math.sqrt : typeof radius === "function" ? radius : function() { - return radius; - }; - root.x = root.y = 0; - d3_layout_hierarchyVisitAfter(root, function(d) { - d.r = +r(d.value); - }); - d3_layout_hierarchyVisitAfter(root, d3_layout_packSiblings); - if (padding) { - var dr = padding * (radius ? 1 : Math.max(2 * root.r / w, 2 * root.r / h)) / 2; - d3_layout_hierarchyVisitAfter(root, function(d) { - d.r += dr; - }); - d3_layout_hierarchyVisitAfter(root, d3_layout_packSiblings); - d3_layout_hierarchyVisitAfter(root, function(d) { - d.r -= dr; - }); - } - d3_layout_packTransform(root, w / 2, h / 2, radius ? 1 : 1 / Math.max(2 * root.r / w, 2 * root.r / h)); - return nodes; - } - pack.size = function(_) { - if (!arguments.length) return size; - size = _; - return pack; - }; - pack.radius = function(_) { - if (!arguments.length) return radius; - radius = _ == null || typeof _ === "function" ? _ : +_; - return pack; - }; - pack.padding = function(_) { - if (!arguments.length) return padding; - padding = +_; - return pack; - }; - return d3_layout_hierarchyRebind(pack, hierarchy); - }; - function d3_layout_packSort(a, b) { - return a.value - b.value; - } - function d3_layout_packInsert(a, b) { - var c = a._pack_next; - a._pack_next = b; - b._pack_prev = a; - b._pack_next = c; - c._pack_prev = b; - } - function d3_layout_packSplice(a, b) { - a._pack_next = b; - b._pack_prev = a; - } - function d3_layout_packIntersects(a, b) { - var dx = b.x - a.x, dy = b.y - a.y, dr = a.r + b.r; - return .999 * dr * dr > dx * dx + dy * dy; - } - function d3_layout_packSiblings(node) { - if (!(nodes = node.children) || !(n = nodes.length)) return; - var nodes, xMin = Infinity, xMax = -Infinity, yMin = Infinity, yMax = -Infinity, a, b, c, i, j, k, n; - function bound(node) { - xMin = Math.min(node.x - node.r, xMin); - xMax = Math.max(node.x + node.r, xMax); - yMin = Math.min(node.y - node.r, yMin); - yMax = Math.max(node.y + node.r, yMax); - } - nodes.forEach(d3_layout_packLink); - a = nodes[0]; - a.x = -a.r; - a.y = 0; - bound(a); - if (n > 1) { - b = nodes[1]; - b.x = b.r; - b.y = 0; - bound(b); - if (n > 2) { - c = nodes[2]; - d3_layout_packPlace(a, b, c); - bound(c); - d3_layout_packInsert(a, c); - a._pack_prev = c; - d3_layout_packInsert(c, b); - b = a._pack_next; - for (i = 3; i < n; i++) { - d3_layout_packPlace(a, b, c = nodes[i]); - var isect = 0, s1 = 1, s2 = 1; - for (j = b._pack_next; j !== b; j = j._pack_next, s1++) { - if (d3_layout_packIntersects(j, c)) { - isect = 1; - break; - } - } - if (isect == 1) { - for (k = a._pack_prev; k !== j._pack_prev; k = k._pack_prev, s2++) { - if (d3_layout_packIntersects(k, c)) { - break; - } - } - } - if (isect) { - if (s1 < s2 || s1 == s2 && b.r < a.r) d3_layout_packSplice(a, b = j); else d3_layout_packSplice(a = k, b); - i--; - } else { - d3_layout_packInsert(a, c); - b = c; - bound(c); - } - } - } - } - var cx = (xMin + xMax) / 2, cy = (yMin + yMax) / 2, cr = 0; - for (i = 0; i < n; i++) { - c = nodes[i]; - c.x -= cx; - c.y -= cy; - cr = Math.max(cr, c.r + Math.sqrt(c.x * c.x + c.y * c.y)); - } - node.r = cr; - nodes.forEach(d3_layout_packUnlink); - } - function d3_layout_packLink(node) { - node._pack_next = node._pack_prev = node; - } - function d3_layout_packUnlink(node) { - delete node._pack_next; - delete node._pack_prev; - } - function d3_layout_packTransform(node, x, y, k) { - var children = node.children; - node.x = x += k * node.x; - node.y = y += k * node.y; - node.r *= k; - if (children) { - var i = -1, n = children.length; - while (++i < n) d3_layout_packTransform(children[i], x, y, k); - } - } - function d3_layout_packPlace(a, b, c) { - var db = a.r + c.r, dx = b.x - a.x, dy = b.y - a.y; - if (db && (dx || dy)) { - var da = b.r + c.r, dc = dx * dx + dy * dy; - da *= da; - db *= db; - var x = .5 + (db - da) / (2 * dc), y = Math.sqrt(Math.max(0, 2 * da * (db + dc) - (db -= dc) * db - da * da)) / (2 * dc); - c.x = a.x + x * dx + y * dy; - c.y = a.y + x * dy - y * dx; - } else { - c.x = a.x + db; - c.y = a.y; - } - } - d3.layout.tree = function() { - var hierarchy = d3.layout.hierarchy().sort(null).value(null), separation = d3_layout_treeSeparation, size = [ 1, 1 ], nodeSize = null; - function tree(d, i) { - var nodes = hierarchy.call(this, d, i), root0 = nodes[0], root1 = wrapTree(root0); - d3_layout_hierarchyVisitAfter(root1, firstWalk), root1.parent.m = -root1.z; - d3_layout_hierarchyVisitBefore(root1, secondWalk); - if (nodeSize) d3_layout_hierarchyVisitBefore(root0, sizeNode); else { - var left = root0, right = root0, bottom = root0; - d3_layout_hierarchyVisitBefore(root0, function(node) { - if (node.x < left.x) left = node; - if (node.x > right.x) right = node; - if (node.depth > bottom.depth) bottom = node; - }); - var tx = separation(left, right) / 2 - left.x, kx = size[0] / (right.x + separation(right, left) / 2 + tx), ky = size[1] / (bottom.depth || 1); - d3_layout_hierarchyVisitBefore(root0, function(node) { - node.x = (node.x + tx) * kx; - node.y = node.depth * ky; - }); - } - return nodes; - } - function wrapTree(root0) { - var root1 = { - A: null, - children: [ root0 ] - }, queue = [ root1 ], node1; - while ((node1 = queue.pop()) != null) { - for (var children = node1.children, child, i = 0, n = children.length; i < n; ++i) { - queue.push((children[i] = child = { - _: children[i], - parent: node1, - children: (child = children[i].children) && child.slice() || [], - A: null, - a: null, - z: 0, - m: 0, - c: 0, - s: 0, - t: null, - i: i - }).a = child); - } - } - return root1.children[0]; - } - function firstWalk(v) { - var children = v.children, siblings = v.parent.children, w = v.i ? siblings[v.i - 1] : null; - if (children.length) { - d3_layout_treeShift(v); - var midpoint = (children[0].z + children[children.length - 1].z) / 2; - if (w) { - v.z = w.z + separation(v._, w._); - v.m = v.z - midpoint; - } else { - v.z = midpoint; - } - } else if (w) { - v.z = w.z + separation(v._, w._); - } - v.parent.A = apportion(v, w, v.parent.A || siblings[0]); - } - function secondWalk(v) { - v._.x = v.z + v.parent.m; - v.m += v.parent.m; - } - function apportion(v, w, ancestor) { - if (w) { - var vip = v, vop = v, vim = w, vom = vip.parent.children[0], sip = vip.m, sop = vop.m, sim = vim.m, som = vom.m, shift; - while (vim = d3_layout_treeRight(vim), vip = d3_layout_treeLeft(vip), vim && vip) { - vom = d3_layout_treeLeft(vom); - vop = d3_layout_treeRight(vop); - vop.a = v; - shift = vim.z + sim - vip.z - sip + separation(vim._, vip._); - if (shift > 0) { - d3_layout_treeMove(d3_layout_treeAncestor(vim, v, ancestor), v, shift); - sip += shift; - sop += shift; - } - sim += vim.m; - sip += vip.m; - som += vom.m; - sop += vop.m; - } - if (vim && !d3_layout_treeRight(vop)) { - vop.t = vim; - vop.m += sim - sop; - } - if (vip && !d3_layout_treeLeft(vom)) { - vom.t = vip; - vom.m += sip - som; - ancestor = v; - } - } - return ancestor; - } - function sizeNode(node) { - node.x *= size[0]; - node.y = node.depth * size[1]; - } - tree.separation = function(x) { - if (!arguments.length) return separation; - separation = x; - return tree; - }; - tree.size = function(x) { - if (!arguments.length) return nodeSize ? null : size; - nodeSize = (size = x) == null ? sizeNode : null; - return tree; - }; - tree.nodeSize = function(x) { - if (!arguments.length) return nodeSize ? size : null; - nodeSize = (size = x) == null ? null : sizeNode; - return tree; - }; - return d3_layout_hierarchyRebind(tree, hierarchy); - }; - function d3_layout_treeSeparation(a, b) { - return a.parent == b.parent ? 1 : 2; - } - function d3_layout_treeLeft(v) { - var children = v.children; - return children.length ? children[0] : v.t; - } - function d3_layout_treeRight(v) { - var children = v.children, n; - return (n = children.length) ? children[n - 1] : v.t; - } - function d3_layout_treeMove(wm, wp, shift) { - var change = shift / (wp.i - wm.i); - wp.c -= change; - wp.s += shift; - wm.c += change; - wp.z += shift; - wp.m += shift; - } - function d3_layout_treeShift(v) { - var shift = 0, change = 0, children = v.children, i = children.length, w; - while (--i >= 0) { - w = children[i]; - w.z += shift; - w.m += shift; - shift += w.s + (change += w.c); - } - } - function d3_layout_treeAncestor(vim, v, ancestor) { - return vim.a.parent === v.parent ? vim.a : ancestor; - } - d3.layout.cluster = function() { - var hierarchy = d3.layout.hierarchy().sort(null).value(null), separation = d3_layout_treeSeparation, size = [ 1, 1 ], nodeSize = false; - function cluster(d, i) { - var nodes = hierarchy.call(this, d, i), root = nodes[0], previousNode, x = 0; - d3_layout_hierarchyVisitAfter(root, function(node) { - var children = node.children; - if (children && children.length) { - node.x = d3_layout_clusterX(children); - node.y = d3_layout_clusterY(children); - } else { - node.x = previousNode ? x += separation(node, previousNode) : 0; - node.y = 0; - previousNode = node; - } - }); - var left = d3_layout_clusterLeft(root), right = d3_layout_clusterRight(root), x0 = left.x - separation(left, right) / 2, x1 = right.x + separation(right, left) / 2; - d3_layout_hierarchyVisitAfter(root, nodeSize ? function(node) { - node.x = (node.x - root.x) * size[0]; - node.y = (root.y - node.y) * size[1]; - } : function(node) { - node.x = (node.x - x0) / (x1 - x0) * size[0]; - node.y = (1 - (root.y ? node.y / root.y : 1)) * size[1]; - }); - return nodes; - } - cluster.separation = function(x) { - if (!arguments.length) return separation; - separation = x; - return cluster; - }; - cluster.size = function(x) { - if (!arguments.length) return nodeSize ? null : size; - nodeSize = (size = x) == null; - return cluster; - }; - cluster.nodeSize = function(x) { - if (!arguments.length) return nodeSize ? size : null; - nodeSize = (size = x) != null; - return cluster; - }; - return d3_layout_hierarchyRebind(cluster, hierarchy); - }; - function d3_layout_clusterY(children) { - return 1 + d3.max(children, function(child) { - return child.y; - }); - } - function d3_layout_clusterX(children) { - return children.reduce(function(x, child) { - return x + child.x; - }, 0) / children.length; - } - function d3_layout_clusterLeft(node) { - var children = node.children; - return children && children.length ? d3_layout_clusterLeft(children[0]) : node; - } - function d3_layout_clusterRight(node) { - var children = node.children, n; - return children && (n = children.length) ? d3_layout_clusterRight(children[n - 1]) : node; - } - d3.layout.treemap = function() { - var hierarchy = d3.layout.hierarchy(), round = Math.round, size = [ 1, 1 ], padding = null, pad = d3_layout_treemapPadNull, sticky = false, stickies, mode = "squarify", ratio = .5 * (1 + Math.sqrt(5)); - function scale(children, k) { - var i = -1, n = children.length, child, area; - while (++i < n) { - area = (child = children[i]).value * (k < 0 ? 0 : k); - child.area = isNaN(area) || area <= 0 ? 0 : area; - } - } - function squarify(node) { - var children = node.children; - if (children && children.length) { - var rect = pad(node), row = [], remaining = children.slice(), child, best = Infinity, score, u = mode === "slice" ? rect.dx : mode === "dice" ? rect.dy : mode === "slice-dice" ? node.depth & 1 ? rect.dy : rect.dx : Math.min(rect.dx, rect.dy), n; - scale(remaining, rect.dx * rect.dy / node.value); - row.area = 0; - while ((n = remaining.length) > 0) { - row.push(child = remaining[n - 1]); - row.area += child.area; - if (mode !== "squarify" || (score = worst(row, u)) <= best) { - remaining.pop(); - best = score; - } else { - row.area -= row.pop().area; - position(row, u, rect, false); - u = Math.min(rect.dx, rect.dy); - row.length = row.area = 0; - best = Infinity; - } - } - if (row.length) { - position(row, u, rect, true); - row.length = row.area = 0; - } - children.forEach(squarify); - } - } - function stickify(node) { - var children = node.children; - if (children && children.length) { - var rect = pad(node), remaining = children.slice(), child, row = []; - scale(remaining, rect.dx * rect.dy / node.value); - row.area = 0; - while (child = remaining.pop()) { - row.push(child); - row.area += child.area; - if (child.z != null) { - position(row, child.z ? rect.dx : rect.dy, rect, !remaining.length); - row.length = row.area = 0; - } - } - children.forEach(stickify); - } - } - function worst(row, u) { - var s = row.area, r, rmax = 0, rmin = Infinity, i = -1, n = row.length; - while (++i < n) { - if (!(r = row[i].area)) continue; - if (r < rmin) rmin = r; - if (r > rmax) rmax = r; - } - s *= s; - u *= u; - return s ? Math.max(u * rmax * ratio / s, s / (u * rmin * ratio)) : Infinity; - } - function position(row, u, rect, flush) { - var i = -1, n = row.length, x = rect.x, y = rect.y, v = u ? round(row.area / u) : 0, o; - if (u == rect.dx) { - if (flush || v > rect.dy) v = rect.dy; - while (++i < n) { - o = row[i]; - o.x = x; - o.y = y; - o.dy = v; - x += o.dx = Math.min(rect.x + rect.dx - x, v ? round(o.area / v) : 0); - } - o.z = true; - o.dx += rect.x + rect.dx - x; - rect.y += v; - rect.dy -= v; - } else { - if (flush || v > rect.dx) v = rect.dx; - while (++i < n) { - o = row[i]; - o.x = x; - o.y = y; - o.dx = v; - y += o.dy = Math.min(rect.y + rect.dy - y, v ? round(o.area / v) : 0); - } - o.z = false; - o.dy += rect.y + rect.dy - y; - rect.x += v; - rect.dx -= v; - } - } - function treemap(d) { - var nodes = stickies || hierarchy(d), root = nodes[0]; - root.x = 0; - root.y = 0; - root.dx = size[0]; - root.dy = size[1]; - if (stickies) hierarchy.revalue(root); - scale([ root ], root.dx * root.dy / root.value); - (stickies ? stickify : squarify)(root); - if (sticky) stickies = nodes; - return nodes; - } - treemap.size = function(x) { - if (!arguments.length) return size; - size = x; - return treemap; - }; - treemap.padding = function(x) { - if (!arguments.length) return padding; - function padFunction(node) { - var p = x.call(treemap, node, node.depth); - return p == null ? d3_layout_treemapPadNull(node) : d3_layout_treemapPad(node, typeof p === "number" ? [ p, p, p, p ] : p); - } - function padConstant(node) { - return d3_layout_treemapPad(node, x); - } - var type; - pad = (padding = x) == null ? d3_layout_treemapPadNull : (type = typeof x) === "function" ? padFunction : type === "number" ? (x = [ x, x, x, x ], - padConstant) : padConstant; - return treemap; - }; - treemap.round = function(x) { - if (!arguments.length) return round != Number; - round = x ? Math.round : Number; - return treemap; - }; - treemap.sticky = function(x) { - if (!arguments.length) return sticky; - sticky = x; - stickies = null; - return treemap; - }; - treemap.ratio = function(x) { - if (!arguments.length) return ratio; - ratio = x; - return treemap; - }; - treemap.mode = function(x) { - if (!arguments.length) return mode; - mode = x + ""; - return treemap; - }; - return d3_layout_hierarchyRebind(treemap, hierarchy); - }; - function d3_layout_treemapPadNull(node) { - return { - x: node.x, - y: node.y, - dx: node.dx, - dy: node.dy - }; - } - function d3_layout_treemapPad(node, padding) { - var x = node.x + padding[3], y = node.y + padding[0], dx = node.dx - padding[1] - padding[3], dy = node.dy - padding[0] - padding[2]; - if (dx < 0) { - x += dx / 2; - dx = 0; - } - if (dy < 0) { - y += dy / 2; - dy = 0; - } - return { - x: x, - y: y, - dx: dx, - dy: dy - }; - } - d3.random = { - normal: function(µ, σ) { - var n = arguments.length; - if (n < 2) σ = 1; - if (n < 1) µ = 0; - return function() { - var x, y, r; - do { - x = Math.random() * 2 - 1; - y = Math.random() * 2 - 1; - r = x * x + y * y; - } while (!r || r > 1); - return µ + σ * x * Math.sqrt(-2 * Math.log(r) / r); - }; - }, - logNormal: function() { - var random = d3.random.normal.apply(d3, arguments); - return function() { - return Math.exp(random()); - }; - }, - bates: function(m) { - var random = d3.random.irwinHall(m); - return function() { - return random() / m; - }; - }, - irwinHall: function(m) { - return function() { - for (var s = 0, j = 0; j < m; j++) s += Math.random(); - return s; - }; - } - }; - d3.scale = {}; - function d3_scaleExtent(domain) { - var start = domain[0], stop = domain[domain.length - 1]; - return start < stop ? [ start, stop ] : [ stop, start ]; - } - function d3_scaleRange(scale) { - return scale.rangeExtent ? scale.rangeExtent() : d3_scaleExtent(scale.range()); - } - function d3_scale_bilinear(domain, range, uninterpolate, interpolate) { - var u = uninterpolate(domain[0], domain[1]), i = interpolate(range[0], range[1]); - return function(x) { - return i(u(x)); - }; - } - function d3_scale_nice(domain, nice) { - var i0 = 0, i1 = domain.length - 1, x0 = domain[i0], x1 = domain[i1], dx; - if (x1 < x0) { - dx = i0, i0 = i1, i1 = dx; - dx = x0, x0 = x1, x1 = dx; - } - domain[i0] = nice.floor(x0); - domain[i1] = nice.ceil(x1); - return domain; - } - function d3_scale_niceStep(step) { - return step ? { - floor: function(x) { - return Math.floor(x / step) * step; - }, - ceil: function(x) { - return Math.ceil(x / step) * step; - } - } : d3_scale_niceIdentity; - } - var d3_scale_niceIdentity = { - floor: d3_identity, - ceil: d3_identity - }; - function d3_scale_polylinear(domain, range, uninterpolate, interpolate) { - var u = [], i = [], j = 0, k = Math.min(domain.length, range.length) - 1; - if (domain[k] < domain[0]) { - domain = domain.slice().reverse(); - range = range.slice().reverse(); - } - while (++j <= k) { - u.push(uninterpolate(domain[j - 1], domain[j])); - i.push(interpolate(range[j - 1], range[j])); - } - return function(x) { - var j = d3.bisect(domain, x, 1, k) - 1; - return i[j](u[j](x)); - }; - } - d3.scale.linear = function() { - return d3_scale_linear([ 0, 1 ], [ 0, 1 ], d3_interpolate, false); - }; - function d3_scale_linear(domain, range, interpolate, clamp) { - var output, input; - function rescale() { - var linear = Math.min(domain.length, range.length) > 2 ? d3_scale_polylinear : d3_scale_bilinear, uninterpolate = clamp ? d3_uninterpolateClamp : d3_uninterpolateNumber; - output = linear(domain, range, uninterpolate, interpolate); - input = linear(range, domain, uninterpolate, d3_interpolate); - return scale; - } - function scale(x) { - return output(x); - } - scale.invert = function(y) { - return input(y); - }; - scale.domain = function(x) { - if (!arguments.length) return domain; - domain = x.map(Number); - return rescale(); - }; - scale.range = function(x) { - if (!arguments.length) return range; - range = x; - return rescale(); - }; - scale.rangeRound = function(x) { - return scale.range(x).interpolate(d3_interpolateRound); - }; - scale.clamp = function(x) { - if (!arguments.length) return clamp; - clamp = x; - return rescale(); - }; - scale.interpolate = function(x) { - if (!arguments.length) return interpolate; - interpolate = x; - return rescale(); - }; - scale.ticks = function(m) { - return d3_scale_linearTicks(domain, m); - }; - scale.tickFormat = function(m, format) { - return d3_scale_linearTickFormat(domain, m, format); - }; - scale.nice = function(m) { - d3_scale_linearNice(domain, m); - return rescale(); - }; - scale.copy = function() { - return d3_scale_linear(domain, range, interpolate, clamp); - }; - return rescale(); - } - function d3_scale_linearRebind(scale, linear) { - return d3.rebind(scale, linear, "range", "rangeRound", "interpolate", "clamp"); - } - function d3_scale_linearNice(domain, m) { - return d3_scale_nice(domain, d3_scale_niceStep(d3_scale_linearTickRange(domain, m)[2])); - } - function d3_scale_linearTickRange(domain, m) { - if (m == null) m = 10; - var extent = d3_scaleExtent(domain), span = extent[1] - extent[0], step = Math.pow(10, Math.floor(Math.log(span / m) / Math.LN10)), err = m / span * step; - if (err <= .15) step *= 10; else if (err <= .35) step *= 5; else if (err <= .75) step *= 2; - extent[0] = Math.ceil(extent[0] / step) * step; - extent[1] = Math.floor(extent[1] / step) * step + step * .5; - extent[2] = step; - return extent; - } - function d3_scale_linearTicks(domain, m) { - return d3.range.apply(d3, d3_scale_linearTickRange(domain, m)); - } - function d3_scale_linearTickFormat(domain, m, format) { - var range = d3_scale_linearTickRange(domain, m); - if (format) { - var match = d3_format_re.exec(format); - match.shift(); - if (match[8] === "s") { - var prefix = d3.formatPrefix(Math.max(abs(range[0]), abs(range[1]))); - if (!match[7]) match[7] = "." + d3_scale_linearPrecision(prefix.scale(range[2])); - match[8] = "f"; - format = d3.format(match.join("")); - return function(d) { - return format(prefix.scale(d)) + prefix.symbol; - }; - } - if (!match[7]) match[7] = "." + d3_scale_linearFormatPrecision(match[8], range); - format = match.join(""); - } else { - format = ",." + d3_scale_linearPrecision(range[2]) + "f"; - } - return d3.format(format); - } - var d3_scale_linearFormatSignificant = { - s: 1, - g: 1, - p: 1, - r: 1, - e: 1 - }; - function d3_scale_linearPrecision(value) { - return -Math.floor(Math.log(value) / Math.LN10 + .01); - } - function d3_scale_linearFormatPrecision(type, range) { - var p = d3_scale_linearPrecision(range[2]); - return type in d3_scale_linearFormatSignificant ? Math.abs(p - d3_scale_linearPrecision(Math.max(abs(range[0]), abs(range[1])))) + +(type !== "e") : p - (type === "%") * 2; - } - d3.scale.log = function() { - return d3_scale_log(d3.scale.linear().domain([ 0, 1 ]), 10, true, [ 1, 10 ]); - }; - function d3_scale_log(linear, base, positive, domain) { - function log(x) { - return (positive ? Math.log(x < 0 ? 0 : x) : -Math.log(x > 0 ? 0 : -x)) / Math.log(base); - } - function pow(x) { - return positive ? Math.pow(base, x) : -Math.pow(base, -x); - } - function scale(x) { - return linear(log(x)); - } - scale.invert = function(x) { - return pow(linear.invert(x)); - }; - scale.domain = function(x) { - if (!arguments.length) return domain; - positive = x[0] >= 0; - linear.domain((domain = x.map(Number)).map(log)); - return scale; - }; - scale.base = function(_) { - if (!arguments.length) return base; - base = +_; - linear.domain(domain.map(log)); - return scale; - }; - scale.nice = function() { - var niced = d3_scale_nice(domain.map(log), positive ? Math : d3_scale_logNiceNegative); - linear.domain(niced); - domain = niced.map(pow); - return scale; - }; - scale.ticks = function() { - var extent = d3_scaleExtent(domain), ticks = [], u = extent[0], v = extent[1], i = Math.floor(log(u)), j = Math.ceil(log(v)), n = base % 1 ? 2 : base; - if (isFinite(j - i)) { - if (positive) { - for (;i < j; i++) for (var k = 1; k < n; k++) ticks.push(pow(i) * k); - ticks.push(pow(i)); - } else { - ticks.push(pow(i)); - for (;i++ < j; ) for (var k = n - 1; k > 0; k--) ticks.push(pow(i) * k); - } - for (i = 0; ticks[i] < u; i++) {} - for (j = ticks.length; ticks[j - 1] > v; j--) {} - ticks = ticks.slice(i, j); - } - return ticks; - }; - scale.tickFormat = function(n, format) { - if (!arguments.length) return d3_scale_logFormat; - if (arguments.length < 2) format = d3_scale_logFormat; else if (typeof format !== "function") format = d3.format(format); - var k = Math.max(.1, n / scale.ticks().length), f = positive ? (e = 1e-12, Math.ceil) : (e = -1e-12, - Math.floor), e; - return function(d) { - return d / pow(f(log(d) + e)) <= k ? format(d) : ""; - }; - }; - scale.copy = function() { - return d3_scale_log(linear.copy(), base, positive, domain); - }; - return d3_scale_linearRebind(scale, linear); - } - var d3_scale_logFormat = d3.format(".0e"), d3_scale_logNiceNegative = { - floor: function(x) { - return -Math.ceil(-x); - }, - ceil: function(x) { - return -Math.floor(-x); - } - }; - d3.scale.pow = function() { - return d3_scale_pow(d3.scale.linear(), 1, [ 0, 1 ]); - }; - function d3_scale_pow(linear, exponent, domain) { - var powp = d3_scale_powPow(exponent), powb = d3_scale_powPow(1 / exponent); - function scale(x) { - return linear(powp(x)); - } - scale.invert = function(x) { - return powb(linear.invert(x)); - }; - scale.domain = function(x) { - if (!arguments.length) return domain; - linear.domain((domain = x.map(Number)).map(powp)); - return scale; - }; - scale.ticks = function(m) { - return d3_scale_linearTicks(domain, m); - }; - scale.tickFormat = function(m, format) { - return d3_scale_linearTickFormat(domain, m, format); - }; - scale.nice = function(m) { - return scale.domain(d3_scale_linearNice(domain, m)); - }; - scale.exponent = function(x) { - if (!arguments.length) return exponent; - powp = d3_scale_powPow(exponent = x); - powb = d3_scale_powPow(1 / exponent); - linear.domain(domain.map(powp)); - return scale; - }; - scale.copy = function() { - return d3_scale_pow(linear.copy(), exponent, domain); - }; - return d3_scale_linearRebind(scale, linear); - } - function d3_scale_powPow(e) { - return function(x) { - return x < 0 ? -Math.pow(-x, e) : Math.pow(x, e); - }; - } - d3.scale.sqrt = function() { - return d3.scale.pow().exponent(.5); - }; - d3.scale.ordinal = function() { - return d3_scale_ordinal([], { - t: "range", - a: [ [] ] - }); - }; - function d3_scale_ordinal(domain, ranger) { - var index, range, rangeBand; - function scale(x) { - return range[((index.get(x) || (ranger.t === "range" ? index.set(x, domain.push(x)) : NaN)) - 1) % range.length]; - } - function steps(start, step) { - return d3.range(domain.length).map(function(i) { - return start + step * i; - }); - } - scale.domain = function(x) { - if (!arguments.length) return domain; - domain = []; - index = new d3_Map(); - var i = -1, n = x.length, xi; - while (++i < n) if (!index.has(xi = x[i])) index.set(xi, domain.push(xi)); - return scale[ranger.t].apply(scale, ranger.a); - }; - scale.range = function(x) { - if (!arguments.length) return range; - range = x; - rangeBand = 0; - ranger = { - t: "range", - a: arguments - }; - return scale; - }; - scale.rangePoints = function(x, padding) { - if (arguments.length < 2) padding = 0; - var start = x[0], stop = x[1], step = domain.length < 2 ? (start = (start + stop) / 2, - 0) : (stop - start) / (domain.length - 1 + padding); - range = steps(start + step * padding / 2, step); - rangeBand = 0; - ranger = { - t: "rangePoints", - a: arguments - }; - return scale; - }; - scale.rangeRoundPoints = function(x, padding) { - if (arguments.length < 2) padding = 0; - var start = x[0], stop = x[1], step = domain.length < 2 ? (start = stop = Math.round((start + stop) / 2), - 0) : (stop - start) / (domain.length - 1 + padding) | 0; - range = steps(start + Math.round(step * padding / 2 + (stop - start - (domain.length - 1 + padding) * step) / 2), step); - rangeBand = 0; - ranger = { - t: "rangeRoundPoints", - a: arguments - }; - return scale; - }; - scale.rangeBands = function(x, padding, outerPadding) { - if (arguments.length < 2) padding = 0; - if (arguments.length < 3) outerPadding = padding; - var reverse = x[1] < x[0], start = x[reverse - 0], stop = x[1 - reverse], step = (stop - start) / (domain.length - padding + 2 * outerPadding); - range = steps(start + step * outerPadding, step); - if (reverse) range.reverse(); - rangeBand = step * (1 - padding); - ranger = { - t: "rangeBands", - a: arguments - }; - return scale; - }; - scale.rangeRoundBands = function(x, padding, outerPadding) { - if (arguments.length < 2) padding = 0; - if (arguments.length < 3) outerPadding = padding; - var reverse = x[1] < x[0], start = x[reverse - 0], stop = x[1 - reverse], step = Math.floor((stop - start) / (domain.length - padding + 2 * outerPadding)); - range = steps(start + Math.round((stop - start - (domain.length - padding) * step) / 2), step); - if (reverse) range.reverse(); - rangeBand = Math.round(step * (1 - padding)); - ranger = { - t: "rangeRoundBands", - a: arguments - }; - return scale; - }; - scale.rangeBand = function() { - return rangeBand; - }; - scale.rangeExtent = function() { - return d3_scaleExtent(ranger.a[0]); - }; - scale.copy = function() { - return d3_scale_ordinal(domain, ranger); - }; - return scale.domain(domain); - } - d3.scale.category10 = function() { - return d3.scale.ordinal().range(d3_category10); - }; - d3.scale.category20 = function() { - return d3.scale.ordinal().range(d3_category20); - }; - d3.scale.category20b = function() { - return d3.scale.ordinal().range(d3_category20b); - }; - d3.scale.category20c = function() { - return d3.scale.ordinal().range(d3_category20c); - }; - var d3_category10 = [ 2062260, 16744206, 2924588, 14034728, 9725885, 9197131, 14907330, 8355711, 12369186, 1556175 ].map(d3_rgbString); - var d3_category20 = [ 2062260, 11454440, 16744206, 16759672, 2924588, 10018698, 14034728, 16750742, 9725885, 12955861, 9197131, 12885140, 14907330, 16234194, 8355711, 13092807, 12369186, 14408589, 1556175, 10410725 ].map(d3_rgbString); - var d3_category20b = [ 3750777, 5395619, 7040719, 10264286, 6519097, 9216594, 11915115, 13556636, 9202993, 12426809, 15186514, 15190932, 8666169, 11356490, 14049643, 15177372, 8077683, 10834324, 13528509, 14589654 ].map(d3_rgbString); - var d3_category20c = [ 3244733, 7057110, 10406625, 13032431, 15095053, 16616764, 16625259, 16634018, 3253076, 7652470, 10607003, 13101504, 7695281, 10394312, 12369372, 14342891, 6513507, 9868950, 12434877, 14277081 ].map(d3_rgbString); - d3.scale.quantile = function() { - return d3_scale_quantile([], []); - }; - function d3_scale_quantile(domain, range) { - var thresholds; - function rescale() { - var k = 0, q = range.length; - thresholds = []; - while (++k < q) thresholds[k - 1] = d3.quantile(domain, k / q); - return scale; - } - function scale(x) { - if (!isNaN(x = +x)) return range[d3.bisect(thresholds, x)]; - } - scale.domain = function(x) { - if (!arguments.length) return domain; - domain = x.map(d3_number).filter(d3_numeric).sort(d3_ascending); - return rescale(); - }; - scale.range = function(x) { - if (!arguments.length) return range; - range = x; - return rescale(); - }; - scale.quantiles = function() { - return thresholds; - }; - scale.invertExtent = function(y) { - y = range.indexOf(y); - return y < 0 ? [ NaN, NaN ] : [ y > 0 ? thresholds[y - 1] : domain[0], y < thresholds.length ? thresholds[y] : domain[domain.length - 1] ]; - }; - scale.copy = function() { - return d3_scale_quantile(domain, range); - }; - return rescale(); - } - d3.scale.quantize = function() { - return d3_scale_quantize(0, 1, [ 0, 1 ]); - }; - function d3_scale_quantize(x0, x1, range) { - var kx, i; - function scale(x) { - return range[Math.max(0, Math.min(i, Math.floor(kx * (x - x0))))]; - } - function rescale() { - kx = range.length / (x1 - x0); - i = range.length - 1; - return scale; - } - scale.domain = function(x) { - if (!arguments.length) return [ x0, x1 ]; - x0 = +x[0]; - x1 = +x[x.length - 1]; - return rescale(); - }; - scale.range = function(x) { - if (!arguments.length) return range; - range = x; - return rescale(); - }; - scale.invertExtent = function(y) { - y = range.indexOf(y); - y = y < 0 ? NaN : y / kx + x0; - return [ y, y + 1 / kx ]; - }; - scale.copy = function() { - return d3_scale_quantize(x0, x1, range); - }; - return rescale(); - } - d3.scale.threshold = function() { - return d3_scale_threshold([ .5 ], [ 0, 1 ]); - }; - function d3_scale_threshold(domain, range) { - function scale(x) { - if (x <= x) return range[d3.bisect(domain, x)]; - } - scale.domain = function(_) { - if (!arguments.length) return domain; - domain = _; - return scale; - }; - scale.range = function(_) { - if (!arguments.length) return range; - range = _; - return scale; - }; - scale.invertExtent = function(y) { - y = range.indexOf(y); - return [ domain[y - 1], domain[y] ]; - }; - scale.copy = function() { - return d3_scale_threshold(domain, range); - }; - return scale; - } - d3.scale.identity = function() { - return d3_scale_identity([ 0, 1 ]); - }; - function d3_scale_identity(domain) { - function identity(x) { - return +x; - } - identity.invert = identity; - identity.domain = identity.range = function(x) { - if (!arguments.length) return domain; - domain = x.map(identity); - return identity; - }; - identity.ticks = function(m) { - return d3_scale_linearTicks(domain, m); - }; - identity.tickFormat = function(m, format) { - return d3_scale_linearTickFormat(domain, m, format); - }; - identity.copy = function() { - return d3_scale_identity(domain); - }; - return identity; - } - d3.svg = {}; - function d3_zero() { - return 0; - } - d3.svg.arc = function() { - var innerRadius = d3_svg_arcInnerRadius, outerRadius = d3_svg_arcOuterRadius, cornerRadius = d3_zero, padRadius = d3_svg_arcAuto, startAngle = d3_svg_arcStartAngle, endAngle = d3_svg_arcEndAngle, padAngle = d3_svg_arcPadAngle; - function arc() { - var r0 = Math.max(0, +innerRadius.apply(this, arguments)), r1 = Math.max(0, +outerRadius.apply(this, arguments)), a0 = startAngle.apply(this, arguments) - halfπ, a1 = endAngle.apply(this, arguments) - halfπ, da = Math.abs(a1 - a0), cw = a0 > a1 ? 0 : 1; - if (r1 < r0) rc = r1, r1 = r0, r0 = rc; - if (da >= τε) return circleSegment(r1, cw) + (r0 ? circleSegment(r0, 1 - cw) : "") + "Z"; - var rc, cr, rp, ap, p0 = 0, p1 = 0, x0, y0, x1, y1, x2, y2, x3, y3, path = []; - if (ap = (+padAngle.apply(this, arguments) || 0) / 2) { - rp = padRadius === d3_svg_arcAuto ? Math.sqrt(r0 * r0 + r1 * r1) : +padRadius.apply(this, arguments); - if (!cw) p1 *= -1; - if (r1) p1 = d3_asin(rp / r1 * Math.sin(ap)); - if (r0) p0 = d3_asin(rp / r0 * Math.sin(ap)); - } - if (r1) { - x0 = r1 * Math.cos(a0 + p1); - y0 = r1 * Math.sin(a0 + p1); - x1 = r1 * Math.cos(a1 - p1); - y1 = r1 * Math.sin(a1 - p1); - var l1 = Math.abs(a1 - a0 - 2 * p1) <= π ? 0 : 1; - if (p1 && d3_svg_arcSweep(x0, y0, x1, y1) === cw ^ l1) { - var h1 = (a0 + a1) / 2; - x0 = r1 * Math.cos(h1); - y0 = r1 * Math.sin(h1); - x1 = y1 = null; - } - } else { - x0 = y0 = 0; - } - if (r0) { - x2 = r0 * Math.cos(a1 - p0); - y2 = r0 * Math.sin(a1 - p0); - x3 = r0 * Math.cos(a0 + p0); - y3 = r0 * Math.sin(a0 + p0); - var l0 = Math.abs(a0 - a1 + 2 * p0) <= π ? 0 : 1; - if (p0 && d3_svg_arcSweep(x2, y2, x3, y3) === 1 - cw ^ l0) { - var h0 = (a0 + a1) / 2; - x2 = r0 * Math.cos(h0); - y2 = r0 * Math.sin(h0); - x3 = y3 = null; - } - } else { - x2 = y2 = 0; - } - if ((rc = Math.min(Math.abs(r1 - r0) / 2, +cornerRadius.apply(this, arguments))) > .001) { - cr = r0 < r1 ^ cw ? 0 : 1; - var oc = x3 == null ? [ x2, y2 ] : x1 == null ? [ x0, y0 ] : d3_geom_polygonIntersect([ x0, y0 ], [ x3, y3 ], [ x1, y1 ], [ x2, y2 ]), ax = x0 - oc[0], ay = y0 - oc[1], bx = x1 - oc[0], by = y1 - oc[1], kc = 1 / Math.sin(Math.acos((ax * bx + ay * by) / (Math.sqrt(ax * ax + ay * ay) * Math.sqrt(bx * bx + by * by))) / 2), lc = Math.sqrt(oc[0] * oc[0] + oc[1] * oc[1]); - if (x1 != null) { - var rc1 = Math.min(rc, (r1 - lc) / (kc + 1)), t30 = d3_svg_arcCornerTangents(x3 == null ? [ x2, y2 ] : [ x3, y3 ], [ x0, y0 ], r1, rc1, cw), t12 = d3_svg_arcCornerTangents([ x1, y1 ], [ x2, y2 ], r1, rc1, cw); - if (rc === rc1) { - path.push("M", t30[0], "A", rc1, ",", rc1, " 0 0,", cr, " ", t30[1], "A", r1, ",", r1, " 0 ", 1 - cw ^ d3_svg_arcSweep(t30[1][0], t30[1][1], t12[1][0], t12[1][1]), ",", cw, " ", t12[1], "A", rc1, ",", rc1, " 0 0,", cr, " ", t12[0]); - } else { - path.push("M", t30[0], "A", rc1, ",", rc1, " 0 1,", cr, " ", t12[0]); - } - } else { - path.push("M", x0, ",", y0); - } - if (x3 != null) { - var rc0 = Math.min(rc, (r0 - lc) / (kc - 1)), t03 = d3_svg_arcCornerTangents([ x0, y0 ], [ x3, y3 ], r0, -rc0, cw), t21 = d3_svg_arcCornerTangents([ x2, y2 ], x1 == null ? [ x0, y0 ] : [ x1, y1 ], r0, -rc0, cw); - if (rc === rc0) { - path.push("L", t21[0], "A", rc0, ",", rc0, " 0 0,", cr, " ", t21[1], "A", r0, ",", r0, " 0 ", cw ^ d3_svg_arcSweep(t21[1][0], t21[1][1], t03[1][0], t03[1][1]), ",", 1 - cw, " ", t03[1], "A", rc0, ",", rc0, " 0 0,", cr, " ", t03[0]); - } else { - path.push("L", t21[0], "A", rc0, ",", rc0, " 0 0,", cr, " ", t03[0]); - } - } else { - path.push("L", x2, ",", y2); - } - } else { - path.push("M", x0, ",", y0); - if (x1 != null) path.push("A", r1, ",", r1, " 0 ", l1, ",", cw, " ", x1, ",", y1); - path.push("L", x2, ",", y2); - if (x3 != null) path.push("A", r0, ",", r0, " 0 ", l0, ",", 1 - cw, " ", x3, ",", y3); - } - path.push("Z"); - return path.join(""); - } - function circleSegment(r1, cw) { - return "M0," + r1 + "A" + r1 + "," + r1 + " 0 1," + cw + " 0," + -r1 + "A" + r1 + "," + r1 + " 0 1," + cw + " 0," + r1; - } - arc.innerRadius = function(v) { - if (!arguments.length) return innerRadius; - innerRadius = d3_functor(v); - return arc; - }; - arc.outerRadius = function(v) { - if (!arguments.length) return outerRadius; - outerRadius = d3_functor(v); - return arc; - }; - arc.cornerRadius = function(v) { - if (!arguments.length) return cornerRadius; - cornerRadius = d3_functor(v); - return arc; - }; - arc.padRadius = function(v) { - if (!arguments.length) return padRadius; - padRadius = v == d3_svg_arcAuto ? d3_svg_arcAuto : d3_functor(v); - return arc; - }; - arc.startAngle = function(v) { - if (!arguments.length) return startAngle; - startAngle = d3_functor(v); - return arc; - }; - arc.endAngle = function(v) { - if (!arguments.length) return endAngle; - endAngle = d3_functor(v); - return arc; - }; - arc.padAngle = function(v) { - if (!arguments.length) return padAngle; - padAngle = d3_functor(v); - return arc; - }; - arc.centroid = function() { - var r = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2, a = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - halfπ; - return [ Math.cos(a) * r, Math.sin(a) * r ]; - }; - return arc; - }; - var d3_svg_arcAuto = "auto"; - function d3_svg_arcInnerRadius(d) { - return d.innerRadius; - } - function d3_svg_arcOuterRadius(d) { - return d.outerRadius; - } - function d3_svg_arcStartAngle(d) { - return d.startAngle; - } - function d3_svg_arcEndAngle(d) { - return d.endAngle; - } - function d3_svg_arcPadAngle(d) { - return d && d.padAngle; - } - function d3_svg_arcSweep(x0, y0, x1, y1) { - return (x0 - x1) * y0 - (y0 - y1) * x0 > 0 ? 0 : 1; - } - function d3_svg_arcCornerTangents(p0, p1, r1, rc, cw) { - var x01 = p0[0] - p1[0], y01 = p0[1] - p1[1], lo = (cw ? rc : -rc) / Math.sqrt(x01 * x01 + y01 * y01), ox = lo * y01, oy = -lo * x01, x1 = p0[0] + ox, y1 = p0[1] + oy, x2 = p1[0] + ox, y2 = p1[1] + oy, x3 = (x1 + x2) / 2, y3 = (y1 + y2) / 2, dx = x2 - x1, dy = y2 - y1, d2 = dx * dx + dy * dy, r = r1 - rc, D = x1 * y2 - x2 * y1, d = (dy < 0 ? -1 : 1) * Math.sqrt(r * r * d2 - D * D), cx0 = (D * dy - dx * d) / d2, cy0 = (-D * dx - dy * d) / d2, cx1 = (D * dy + dx * d) / d2, cy1 = (-D * dx + dy * d) / d2, dx0 = cx0 - x3, dy0 = cy0 - y3, dx1 = cx1 - x3, dy1 = cy1 - y3; - if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) cx0 = cx1, cy0 = cy1; - return [ [ cx0 - ox, cy0 - oy ], [ cx0 * r1 / r, cy0 * r1 / r ] ]; - } - function d3_svg_line(projection) { - var x = d3_geom_pointX, y = d3_geom_pointY, defined = d3_true, interpolate = d3_svg_lineLinear, interpolateKey = interpolate.key, tension = .7; - function line(data) { - var segments = [], points = [], i = -1, n = data.length, d, fx = d3_functor(x), fy = d3_functor(y); - function segment() { - segments.push("M", interpolate(projection(points), tension)); - } - while (++i < n) { - if (defined.call(this, d = data[i], i)) { - points.push([ +fx.call(this, d, i), +fy.call(this, d, i) ]); - } else if (points.length) { - segment(); - points = []; - } - } - if (points.length) segment(); - return segments.length ? segments.join("") : null; - } - line.x = function(_) { - if (!arguments.length) return x; - x = _; - return line; - }; - line.y = function(_) { - if (!arguments.length) return y; - y = _; - return line; - }; - line.defined = function(_) { - if (!arguments.length) return defined; - defined = _; - return line; - }; - line.interpolate = function(_) { - if (!arguments.length) return interpolateKey; - if (typeof _ === "function") interpolateKey = interpolate = _; else interpolateKey = (interpolate = d3_svg_lineInterpolators.get(_) || d3_svg_lineLinear).key; - return line; - }; - line.tension = function(_) { - if (!arguments.length) return tension; - tension = _; - return line; - }; - return line; - } - d3.svg.line = function() { - return d3_svg_line(d3_identity); - }; - var d3_svg_lineInterpolators = d3.map({ - linear: d3_svg_lineLinear, - "linear-closed": d3_svg_lineLinearClosed, - step: d3_svg_lineStep, - "step-before": d3_svg_lineStepBefore, - "step-after": d3_svg_lineStepAfter, - basis: d3_svg_lineBasis, - "basis-open": d3_svg_lineBasisOpen, - "basis-closed": d3_svg_lineBasisClosed, - bundle: d3_svg_lineBundle, - cardinal: d3_svg_lineCardinal, - "cardinal-open": d3_svg_lineCardinalOpen, - "cardinal-closed": d3_svg_lineCardinalClosed, - monotone: d3_svg_lineMonotone - }); - d3_svg_lineInterpolators.forEach(function(key, value) { - value.key = key; - value.closed = /-closed$/.test(key); - }); - function d3_svg_lineLinear(points) { - return points.join("L"); - } - function d3_svg_lineLinearClosed(points) { - return d3_svg_lineLinear(points) + "Z"; - } - function d3_svg_lineStep(points) { - var i = 0, n = points.length, p = points[0], path = [ p[0], ",", p[1] ]; - while (++i < n) path.push("H", (p[0] + (p = points[i])[0]) / 2, "V", p[1]); - if (n > 1) path.push("H", p[0]); - return path.join(""); - } - function d3_svg_lineStepBefore(points) { - var i = 0, n = points.length, p = points[0], path = [ p[0], ",", p[1] ]; - while (++i < n) path.push("V", (p = points[i])[1], "H", p[0]); - return path.join(""); - } - function d3_svg_lineStepAfter(points) { - var i = 0, n = points.length, p = points[0], path = [ p[0], ",", p[1] ]; - while (++i < n) path.push("H", (p = points[i])[0], "V", p[1]); - return path.join(""); - } - function d3_svg_lineCardinalOpen(points, tension) { - return points.length < 4 ? d3_svg_lineLinear(points) : points[1] + d3_svg_lineHermite(points.slice(1, -1), d3_svg_lineCardinalTangents(points, tension)); - } - function d3_svg_lineCardinalClosed(points, tension) { - return points.length < 3 ? d3_svg_lineLinear(points) : points[0] + d3_svg_lineHermite((points.push(points[0]), - points), d3_svg_lineCardinalTangents([ points[points.length - 2] ].concat(points, [ points[1] ]), tension)); - } - function d3_svg_lineCardinal(points, tension) { - return points.length < 3 ? d3_svg_lineLinear(points) : points[0] + d3_svg_lineHermite(points, d3_svg_lineCardinalTangents(points, tension)); - } - function d3_svg_lineHermite(points, tangents) { - if (tangents.length < 1 || points.length != tangents.length && points.length != tangents.length + 2) { - return d3_svg_lineLinear(points); - } - var quad = points.length != tangents.length, path = "", p0 = points[0], p = points[1], t0 = tangents[0], t = t0, pi = 1; - if (quad) { - path += "Q" + (p[0] - t0[0] * 2 / 3) + "," + (p[1] - t0[1] * 2 / 3) + "," + p[0] + "," + p[1]; - p0 = points[1]; - pi = 2; - } - if (tangents.length > 1) { - t = tangents[1]; - p = points[pi]; - pi++; - path += "C" + (p0[0] + t0[0]) + "," + (p0[1] + t0[1]) + "," + (p[0] - t[0]) + "," + (p[1] - t[1]) + "," + p[0] + "," + p[1]; - for (var i = 2; i < tangents.length; i++, pi++) { - p = points[pi]; - t = tangents[i]; - path += "S" + (p[0] - t[0]) + "," + (p[1] - t[1]) + "," + p[0] + "," + p[1]; - } - } - if (quad) { - var lp = points[pi]; - path += "Q" + (p[0] + t[0] * 2 / 3) + "," + (p[1] + t[1] * 2 / 3) + "," + lp[0] + "," + lp[1]; - } - return path; - } - function d3_svg_lineCardinalTangents(points, tension) { - var tangents = [], a = (1 - tension) / 2, p0, p1 = points[0], p2 = points[1], i = 1, n = points.length; - while (++i < n) { - p0 = p1; - p1 = p2; - p2 = points[i]; - tangents.push([ a * (p2[0] - p0[0]), a * (p2[1] - p0[1]) ]); - } - return tangents; - } - function d3_svg_lineBasis(points) { - if (points.length < 3) return d3_svg_lineLinear(points); - var i = 1, n = points.length, pi = points[0], x0 = pi[0], y0 = pi[1], px = [ x0, x0, x0, (pi = points[1])[0] ], py = [ y0, y0, y0, pi[1] ], path = [ x0, ",", y0, "L", d3_svg_lineDot4(d3_svg_lineBasisBezier3, px), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier3, py) ]; - points.push(points[n - 1]); - while (++i <= n) { - pi = points[i]; - px.shift(); - px.push(pi[0]); - py.shift(); - py.push(pi[1]); - d3_svg_lineBasisBezier(path, px, py); - } - points.pop(); - path.push("L", pi); - return path.join(""); - } - function d3_svg_lineBasisOpen(points) { - if (points.length < 4) return d3_svg_lineLinear(points); - var path = [], i = -1, n = points.length, pi, px = [ 0 ], py = [ 0 ]; - while (++i < 3) { - pi = points[i]; - px.push(pi[0]); - py.push(pi[1]); - } - path.push(d3_svg_lineDot4(d3_svg_lineBasisBezier3, px) + "," + d3_svg_lineDot4(d3_svg_lineBasisBezier3, py)); - --i; - while (++i < n) { - pi = points[i]; - px.shift(); - px.push(pi[0]); - py.shift(); - py.push(pi[1]); - d3_svg_lineBasisBezier(path, px, py); - } - return path.join(""); - } - function d3_svg_lineBasisClosed(points) { - var path, i = -1, n = points.length, m = n + 4, pi, px = [], py = []; - while (++i < 4) { - pi = points[i % n]; - px.push(pi[0]); - py.push(pi[1]); - } - path = [ d3_svg_lineDot4(d3_svg_lineBasisBezier3, px), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier3, py) ]; - --i; - while (++i < m) { - pi = points[i % n]; - px.shift(); - px.push(pi[0]); - py.shift(); - py.push(pi[1]); - d3_svg_lineBasisBezier(path, px, py); - } - return path.join(""); - } - function d3_svg_lineBundle(points, tension) { - var n = points.length - 1; - if (n) { - var x0 = points[0][0], y0 = points[0][1], dx = points[n][0] - x0, dy = points[n][1] - y0, i = -1, p, t; - while (++i <= n) { - p = points[i]; - t = i / n; - p[0] = tension * p[0] + (1 - tension) * (x0 + t * dx); - p[1] = tension * p[1] + (1 - tension) * (y0 + t * dy); - } - } - return d3_svg_lineBasis(points); - } - function d3_svg_lineDot4(a, b) { - return a[0] * b[0] + a[1] * b[1] + a[2] * b[2] + a[3] * b[3]; - } - var d3_svg_lineBasisBezier1 = [ 0, 2 / 3, 1 / 3, 0 ], d3_svg_lineBasisBezier2 = [ 0, 1 / 3, 2 / 3, 0 ], d3_svg_lineBasisBezier3 = [ 0, 1 / 6, 2 / 3, 1 / 6 ]; - function d3_svg_lineBasisBezier(path, x, y) { - path.push("C", d3_svg_lineDot4(d3_svg_lineBasisBezier1, x), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier1, y), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier2, x), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier2, y), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier3, x), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier3, y)); - } - function d3_svg_lineSlope(p0, p1) { - return (p1[1] - p0[1]) / (p1[0] - p0[0]); - } - function d3_svg_lineFiniteDifferences(points) { - var i = 0, j = points.length - 1, m = [], p0 = points[0], p1 = points[1], d = m[0] = d3_svg_lineSlope(p0, p1); - while (++i < j) { - m[i] = (d + (d = d3_svg_lineSlope(p0 = p1, p1 = points[i + 1]))) / 2; - } - m[i] = d; - return m; - } - function d3_svg_lineMonotoneTangents(points) { - var tangents = [], d, a, b, s, m = d3_svg_lineFiniteDifferences(points), i = -1, j = points.length - 1; - while (++i < j) { - d = d3_svg_lineSlope(points[i], points[i + 1]); - if (abs(d) < ε) { - m[i] = m[i + 1] = 0; - } else { - a = m[i] / d; - b = m[i + 1] / d; - s = a * a + b * b; - if (s > 9) { - s = d * 3 / Math.sqrt(s); - m[i] = s * a; - m[i + 1] = s * b; - } - } - } - i = -1; - while (++i <= j) { - s = (points[Math.min(j, i + 1)][0] - points[Math.max(0, i - 1)][0]) / (6 * (1 + m[i] * m[i])); - tangents.push([ s || 0, m[i] * s || 0 ]); - } - return tangents; - } - function d3_svg_lineMonotone(points) { - return points.length < 3 ? d3_svg_lineLinear(points) : points[0] + d3_svg_lineHermite(points, d3_svg_lineMonotoneTangents(points)); - } - d3.svg.line.radial = function() { - var line = d3_svg_line(d3_svg_lineRadial); - line.radius = line.x, delete line.x; - line.angle = line.y, delete line.y; - return line; - }; - function d3_svg_lineRadial(points) { - var point, i = -1, n = points.length, r, a; - while (++i < n) { - point = points[i]; - r = point[0]; - a = point[1] - halfπ; - point[0] = r * Math.cos(a); - point[1] = r * Math.sin(a); - } - return points; - } - function d3_svg_area(projection) { - var x0 = d3_geom_pointX, x1 = d3_geom_pointX, y0 = 0, y1 = d3_geom_pointY, defined = d3_true, interpolate = d3_svg_lineLinear, interpolateKey = interpolate.key, interpolateReverse = interpolate, L = "L", tension = .7; - function area(data) { - var segments = [], points0 = [], points1 = [], i = -1, n = data.length, d, fx0 = d3_functor(x0), fy0 = d3_functor(y0), fx1 = x0 === x1 ? function() { - return x; - } : d3_functor(x1), fy1 = y0 === y1 ? function() { - return y; - } : d3_functor(y1), x, y; - function segment() { - segments.push("M", interpolate(projection(points1), tension), L, interpolateReverse(projection(points0.reverse()), tension), "Z"); - } - while (++i < n) { - if (defined.call(this, d = data[i], i)) { - points0.push([ x = +fx0.call(this, d, i), y = +fy0.call(this, d, i) ]); - points1.push([ +fx1.call(this, d, i), +fy1.call(this, d, i) ]); - } else if (points0.length) { - segment(); - points0 = []; - points1 = []; - } - } - if (points0.length) segment(); - return segments.length ? segments.join("") : null; - } - area.x = function(_) { - if (!arguments.length) return x1; - x0 = x1 = _; - return area; - }; - area.x0 = function(_) { - if (!arguments.length) return x0; - x0 = _; - return area; - }; - area.x1 = function(_) { - if (!arguments.length) return x1; - x1 = _; - return area; - }; - area.y = function(_) { - if (!arguments.length) return y1; - y0 = y1 = _; - return area; - }; - area.y0 = function(_) { - if (!arguments.length) return y0; - y0 = _; - return area; - }; - area.y1 = function(_) { - if (!arguments.length) return y1; - y1 = _; - return area; - }; - area.defined = function(_) { - if (!arguments.length) return defined; - defined = _; - return area; - }; - area.interpolate = function(_) { - if (!arguments.length) return interpolateKey; - if (typeof _ === "function") interpolateKey = interpolate = _; else interpolateKey = (interpolate = d3_svg_lineInterpolators.get(_) || d3_svg_lineLinear).key; - interpolateReverse = interpolate.reverse || interpolate; - L = interpolate.closed ? "M" : "L"; - return area; - }; - area.tension = function(_) { - if (!arguments.length) return tension; - tension = _; - return area; - }; - return area; - } - d3_svg_lineStepBefore.reverse = d3_svg_lineStepAfter; - d3_svg_lineStepAfter.reverse = d3_svg_lineStepBefore; - d3.svg.area = function() { - return d3_svg_area(d3_identity); - }; - d3.svg.area.radial = function() { - var area = d3_svg_area(d3_svg_lineRadial); - area.radius = area.x, delete area.x; - area.innerRadius = area.x0, delete area.x0; - area.outerRadius = area.x1, delete area.x1; - area.angle = area.y, delete area.y; - area.startAngle = area.y0, delete area.y0; - area.endAngle = area.y1, delete area.y1; - return area; - }; - d3.svg.chord = function() { - var source = d3_source, target = d3_target, radius = d3_svg_chordRadius, startAngle = d3_svg_arcStartAngle, endAngle = d3_svg_arcEndAngle; - function chord(d, i) { - var s = subgroup(this, source, d, i), t = subgroup(this, target, d, i); - return "M" + s.p0 + arc(s.r, s.p1, s.a1 - s.a0) + (equals(s, t) ? curve(s.r, s.p1, s.r, s.p0) : curve(s.r, s.p1, t.r, t.p0) + arc(t.r, t.p1, t.a1 - t.a0) + curve(t.r, t.p1, s.r, s.p0)) + "Z"; - } - function subgroup(self, f, d, i) { - var subgroup = f.call(self, d, i), r = radius.call(self, subgroup, i), a0 = startAngle.call(self, subgroup, i) - halfπ, a1 = endAngle.call(self, subgroup, i) - halfπ; - return { - r: r, - a0: a0, - a1: a1, - p0: [ r * Math.cos(a0), r * Math.sin(a0) ], - p1: [ r * Math.cos(a1), r * Math.sin(a1) ] - }; - } - function equals(a, b) { - return a.a0 == b.a0 && a.a1 == b.a1; - } - function arc(r, p, a) { - return "A" + r + "," + r + " 0 " + +(a > π) + ",1 " + p; - } - function curve(r0, p0, r1, p1) { - return "Q 0,0 " + p1; - } - chord.radius = function(v) { - if (!arguments.length) return radius; - radius = d3_functor(v); - return chord; - }; - chord.source = function(v) { - if (!arguments.length) return source; - source = d3_functor(v); - return chord; - }; - chord.target = function(v) { - if (!arguments.length) return target; - target = d3_functor(v); - return chord; - }; - chord.startAngle = function(v) { - if (!arguments.length) return startAngle; - startAngle = d3_functor(v); - return chord; - }; - chord.endAngle = function(v) { - if (!arguments.length) return endAngle; - endAngle = d3_functor(v); - return chord; - }; - return chord; - }; - function d3_svg_chordRadius(d) { - return d.radius; - } - d3.svg.diagonal = function() { - var source = d3_source, target = d3_target, projection = d3_svg_diagonalProjection; - function diagonal(d, i) { - var p0 = source.call(this, d, i), p3 = target.call(this, d, i), m = (p0.y + p3.y) / 2, p = [ p0, { - x: p0.x, - y: m - }, { - x: p3.x, - y: m - }, p3 ]; - p = p.map(projection); - return "M" + p[0] + "C" + p[1] + " " + p[2] + " " + p[3]; - } - diagonal.source = function(x) { - if (!arguments.length) return source; - source = d3_functor(x); - return diagonal; - }; - diagonal.target = function(x) { - if (!arguments.length) return target; - target = d3_functor(x); - return diagonal; - }; - diagonal.projection = function(x) { - if (!arguments.length) return projection; - projection = x; - return diagonal; - }; - return diagonal; - }; - function d3_svg_diagonalProjection(d) { - return [ d.x, d.y ]; - } - d3.svg.diagonal.radial = function() { - var diagonal = d3.svg.diagonal(), projection = d3_svg_diagonalProjection, projection_ = diagonal.projection; - diagonal.projection = function(x) { - return arguments.length ? projection_(d3_svg_diagonalRadialProjection(projection = x)) : projection; - }; - return diagonal; - }; - function d3_svg_diagonalRadialProjection(projection) { - return function() { - var d = projection.apply(this, arguments), r = d[0], a = d[1] - halfπ; - return [ r * Math.cos(a), r * Math.sin(a) ]; - }; - } - d3.svg.symbol = function() { - var type = d3_svg_symbolType, size = d3_svg_symbolSize; - function symbol(d, i) { - return (d3_svg_symbols.get(type.call(this, d, i)) || d3_svg_symbolCircle)(size.call(this, d, i)); - } - symbol.type = function(x) { - if (!arguments.length) return type; - type = d3_functor(x); - return symbol; - }; - symbol.size = function(x) { - if (!arguments.length) return size; - size = d3_functor(x); - return symbol; - }; - return symbol; - }; - function d3_svg_symbolSize() { - return 64; - } - function d3_svg_symbolType() { - return "circle"; - } - function d3_svg_symbolCircle(size) { - var r = Math.sqrt(size / π); - return "M0," + r + "A" + r + "," + r + " 0 1,1 0," + -r + "A" + r + "," + r + " 0 1,1 0," + r + "Z"; - } - var d3_svg_symbols = d3.map({ - circle: d3_svg_symbolCircle, - cross: function(size) { - var r = Math.sqrt(size / 5) / 2; - return "M" + -3 * r + "," + -r + "H" + -r + "V" + -3 * r + "H" + r + "V" + -r + "H" + 3 * r + "V" + r + "H" + r + "V" + 3 * r + "H" + -r + "V" + r + "H" + -3 * r + "Z"; - }, - diamond: function(size) { - var ry = Math.sqrt(size / (2 * d3_svg_symbolTan30)), rx = ry * d3_svg_symbolTan30; - return "M0," + -ry + "L" + rx + ",0" + " 0," + ry + " " + -rx + ",0" + "Z"; - }, - square: function(size) { - var r = Math.sqrt(size) / 2; - return "M" + -r + "," + -r + "L" + r + "," + -r + " " + r + "," + r + " " + -r + "," + r + "Z"; - }, - "triangle-down": function(size) { - var rx = Math.sqrt(size / d3_svg_symbolSqrt3), ry = rx * d3_svg_symbolSqrt3 / 2; - return "M0," + ry + "L" + rx + "," + -ry + " " + -rx + "," + -ry + "Z"; - }, - "triangle-up": function(size) { - var rx = Math.sqrt(size / d3_svg_symbolSqrt3), ry = rx * d3_svg_symbolSqrt3 / 2; - return "M0," + -ry + "L" + rx + "," + ry + " " + -rx + "," + ry + "Z"; - } - }); - d3.svg.symbolTypes = d3_svg_symbols.keys(); - var d3_svg_symbolSqrt3 = Math.sqrt(3), d3_svg_symbolTan30 = Math.tan(30 * d3_radians); - d3_selectionPrototype.transition = function(name) { - var id = d3_transitionInheritId || ++d3_transitionId, ns = d3_transitionNamespace(name), subgroups = [], subgroup, node, transition = d3_transitionInherit || { - time: Date.now(), - ease: d3_ease_cubicInOut, - delay: 0, - duration: 250 - }; - for (var j = -1, m = this.length; ++j < m; ) { - subgroups.push(subgroup = []); - for (var group = this[j], i = -1, n = group.length; ++i < n; ) { - if (node = group[i]) d3_transitionNode(node, i, ns, id, transition); - subgroup.push(node); - } - } - return d3_transition(subgroups, ns, id); - }; - d3_selectionPrototype.interrupt = function(name) { - return this.each(name == null ? d3_selection_interrupt : d3_selection_interruptNS(d3_transitionNamespace(name))); - }; - var d3_selection_interrupt = d3_selection_interruptNS(d3_transitionNamespace()); - function d3_selection_interruptNS(ns) { - return function() { - var lock, active; - if ((lock = this[ns]) && (active = lock[lock.active])) { - if (--lock.count) { - delete lock[lock.active]; - lock.active += .5; - } else { - delete this[ns]; - } - active.event && active.event.interrupt.call(this, this.__data__, active.index); - } - }; - } - function d3_transition(groups, ns, id) { - d3_subclass(groups, d3_transitionPrototype); - groups.namespace = ns; - groups.id = id; - return groups; - } - var d3_transitionPrototype = [], d3_transitionId = 0, d3_transitionInheritId, d3_transitionInherit; - d3_transitionPrototype.call = d3_selectionPrototype.call; - d3_transitionPrototype.empty = d3_selectionPrototype.empty; - d3_transitionPrototype.node = d3_selectionPrototype.node; - d3_transitionPrototype.size = d3_selectionPrototype.size; - d3.transition = function(selection, name) { - return selection && selection.transition ? d3_transitionInheritId ? selection.transition(name) : selection : d3_selectionRoot.transition(selection); - }; - d3.transition.prototype = d3_transitionPrototype; - d3_transitionPrototype.select = function(selector) { - var id = this.id, ns = this.namespace, subgroups = [], subgroup, subnode, node; - selector = d3_selection_selector(selector); - for (var j = -1, m = this.length; ++j < m; ) { - subgroups.push(subgroup = []); - for (var group = this[j], i = -1, n = group.length; ++i < n; ) { - if ((node = group[i]) && (subnode = selector.call(node, node.__data__, i, j))) { - if ("__data__" in node) subnode.__data__ = node.__data__; - d3_transitionNode(subnode, i, ns, id, node[ns][id]); - subgroup.push(subnode); - } else { - subgroup.push(null); - } - } - } - return d3_transition(subgroups, ns, id); - }; - d3_transitionPrototype.selectAll = function(selector) { - var id = this.id, ns = this.namespace, subgroups = [], subgroup, subnodes, node, subnode, transition; - selector = d3_selection_selectorAll(selector); - for (var j = -1, m = this.length; ++j < m; ) { - for (var group = this[j], i = -1, n = group.length; ++i < n; ) { - if (node = group[i]) { - transition = node[ns][id]; - subnodes = selector.call(node, node.__data__, i, j); - subgroups.push(subgroup = []); - for (var k = -1, o = subnodes.length; ++k < o; ) { - if (subnode = subnodes[k]) d3_transitionNode(subnode, k, ns, id, transition); - subgroup.push(subnode); - } - } - } - } - return d3_transition(subgroups, ns, id); - }; - d3_transitionPrototype.filter = function(filter) { - var subgroups = [], subgroup, group, node; - if (typeof filter !== "function") filter = d3_selection_filter(filter); - for (var j = 0, m = this.length; j < m; j++) { - subgroups.push(subgroup = []); - for (var group = this[j], i = 0, n = group.length; i < n; i++) { - if ((node = group[i]) && filter.call(node, node.__data__, i, j)) { - subgroup.push(node); - } - } - } - return d3_transition(subgroups, this.namespace, this.id); - }; - d3_transitionPrototype.tween = function(name, tween) { - var id = this.id, ns = this.namespace; - if (arguments.length < 2) return this.node()[ns][id].tween.get(name); - return d3_selection_each(this, tween == null ? function(node) { - node[ns][id].tween.remove(name); - } : function(node) { - node[ns][id].tween.set(name, tween); - }); - }; - function d3_transition_tween(groups, name, value, tween) { - var id = groups.id, ns = groups.namespace; - return d3_selection_each(groups, typeof value === "function" ? function(node, i, j) { - node[ns][id].tween.set(name, tween(value.call(node, node.__data__, i, j))); - } : (value = tween(value), function(node) { - node[ns][id].tween.set(name, value); - })); - } - d3_transitionPrototype.attr = function(nameNS, value) { - if (arguments.length < 2) { - for (value in nameNS) this.attr(value, nameNS[value]); - return this; - } - var interpolate = nameNS == "transform" ? d3_interpolateTransform : d3_interpolate, name = d3.ns.qualify(nameNS); - function attrNull() { - this.removeAttribute(name); - } - function attrNullNS() { - this.removeAttributeNS(name.space, name.local); - } - function attrTween(b) { - return b == null ? attrNull : (b += "", function() { - var a = this.getAttribute(name), i; - return a !== b && (i = interpolate(a, b), function(t) { - this.setAttribute(name, i(t)); - }); - }); - } - function attrTweenNS(b) { - return b == null ? attrNullNS : (b += "", function() { - var a = this.getAttributeNS(name.space, name.local), i; - return a !== b && (i = interpolate(a, b), function(t) { - this.setAttributeNS(name.space, name.local, i(t)); - }); - }); - } - return d3_transition_tween(this, "attr." + nameNS, value, name.local ? attrTweenNS : attrTween); - }; - d3_transitionPrototype.attrTween = function(nameNS, tween) { - var name = d3.ns.qualify(nameNS); - function attrTween(d, i) { - var f = tween.call(this, d, i, this.getAttribute(name)); - return f && function(t) { - this.setAttribute(name, f(t)); - }; - } - function attrTweenNS(d, i) { - var f = tween.call(this, d, i, this.getAttributeNS(name.space, name.local)); - return f && function(t) { - this.setAttributeNS(name.space, name.local, f(t)); - }; - } - return this.tween("attr." + nameNS, name.local ? attrTweenNS : attrTween); - }; - d3_transitionPrototype.style = function(name, value, priority) { - var n = arguments.length; - if (n < 3) { - if (typeof name !== "string") { - if (n < 2) value = ""; - for (priority in name) this.style(priority, name[priority], value); - return this; - } - priority = ""; - } - function styleNull() { - this.style.removeProperty(name); - } - function styleString(b) { - return b == null ? styleNull : (b += "", function() { - var a = d3_window.getComputedStyle(this, null).getPropertyValue(name), i; - return a !== b && (i = d3_interpolate(a, b), function(t) { - this.style.setProperty(name, i(t), priority); - }); - }); - } - return d3_transition_tween(this, "style." + name, value, styleString); - }; - d3_transitionPrototype.styleTween = function(name, tween, priority) { - if (arguments.length < 3) priority = ""; - function styleTween(d, i) { - var f = tween.call(this, d, i, d3_window.getComputedStyle(this, null).getPropertyValue(name)); - return f && function(t) { - this.style.setProperty(name, f(t), priority); - }; - } - return this.tween("style." + name, styleTween); - }; - d3_transitionPrototype.text = function(value) { - return d3_transition_tween(this, "text", value, d3_transition_text); - }; - function d3_transition_text(b) { - if (b == null) b = ""; - return function() { - this.textContent = b; - }; - } - d3_transitionPrototype.remove = function() { - var ns = this.namespace; - return this.each("end.transition", function() { - var p; - if (this[ns].count < 2 && (p = this.parentNode)) p.removeChild(this); - }); - }; - d3_transitionPrototype.ease = function(value) { - var id = this.id, ns = this.namespace; - if (arguments.length < 1) return this.node()[ns][id].ease; - if (typeof value !== "function") value = d3.ease.apply(d3, arguments); - return d3_selection_each(this, function(node) { - node[ns][id].ease = value; - }); - }; - d3_transitionPrototype.delay = function(value) { - var id = this.id, ns = this.namespace; - if (arguments.length < 1) return this.node()[ns][id].delay; - return d3_selection_each(this, typeof value === "function" ? function(node, i, j) { - node[ns][id].delay = +value.call(node, node.__data__, i, j); - } : (value = +value, function(node) { - node[ns][id].delay = value; - })); - }; - d3_transitionPrototype.duration = function(value) { - var id = this.id, ns = this.namespace; - if (arguments.length < 1) return this.node()[ns][id].duration; - return d3_selection_each(this, typeof value === "function" ? function(node, i, j) { - node[ns][id].duration = Math.max(1, value.call(node, node.__data__, i, j)); - } : (value = Math.max(1, value), function(node) { - node[ns][id].duration = value; - })); - }; - d3_transitionPrototype.each = function(type, listener) { - var id = this.id, ns = this.namespace; - if (arguments.length < 2) { - var inherit = d3_transitionInherit, inheritId = d3_transitionInheritId; - try { - d3_transitionInheritId = id; - d3_selection_each(this, function(node, i, j) { - d3_transitionInherit = node[ns][id]; - type.call(node, node.__data__, i, j); - }); - } finally { - d3_transitionInherit = inherit; - d3_transitionInheritId = inheritId; - } - } else { - d3_selection_each(this, function(node) { - var transition = node[ns][id]; - (transition.event || (transition.event = d3.dispatch("start", "end", "interrupt"))).on(type, listener); - }); - } - return this; - }; - d3_transitionPrototype.transition = function() { - var id0 = this.id, id1 = ++d3_transitionId, ns = this.namespace, subgroups = [], subgroup, group, node, transition; - for (var j = 0, m = this.length; j < m; j++) { - subgroups.push(subgroup = []); - for (var group = this[j], i = 0, n = group.length; i < n; i++) { - if (node = group[i]) { - transition = node[ns][id0]; - d3_transitionNode(node, i, ns, id1, { - time: transition.time, - ease: transition.ease, - delay: transition.delay + transition.duration, - duration: transition.duration - }); - } - subgroup.push(node); - } - } - return d3_transition(subgroups, ns, id1); - }; - function d3_transitionNamespace(name) { - return name == null ? "__transition__" : "__transition_" + name + "__"; - } - function d3_transitionNode(node, i, ns, id, inherit) { - var lock = node[ns] || (node[ns] = { - active: 0, - count: 0 - }), transition = lock[id]; - if (!transition) { - var time = inherit.time; - transition = lock[id] = { - tween: new d3_Map(), - time: time, - delay: inherit.delay, - duration: inherit.duration, - ease: inherit.ease, - index: i - }; - inherit = null; - ++lock.count; - d3.timer(function(elapsed) { - var delay = transition.delay, duration, ease, timer = d3_timer_active, tweened = []; - timer.t = delay + time; - if (delay <= elapsed) return start(elapsed - delay); - timer.c = start; - function start(elapsed) { - if (lock.active > id) return stop(); - var active = lock[lock.active]; - if (active) { - --lock.count; - delete lock[lock.active]; - active.event && active.event.interrupt.call(node, node.__data__, active.index); - } - lock.active = id; - transition.event && transition.event.start.call(node, node.__data__, i); - transition.tween.forEach(function(key, value) { - if (value = value.call(node, node.__data__, i)) { - tweened.push(value); - } - }); - ease = transition.ease; - duration = transition.duration; - d3.timer(function() { - timer.c = tick(elapsed || 1) ? d3_true : tick; - return 1; - }, 0, time); - } - function tick(elapsed) { - if (lock.active !== id) return 1; - var t = elapsed / duration, e = ease(t), n = tweened.length; - while (n > 0) { - tweened[--n].call(node, e); - } - if (t >= 1) { - transition.event && transition.event.end.call(node, node.__data__, i); - return stop(); - } - } - function stop() { - if (--lock.count) delete lock[id]; else delete node[ns]; - return 1; - } - }, 0, time); - } - } - d3.svg.axis = function() { - var scale = d3.scale.linear(), orient = d3_svg_axisDefaultOrient, innerTickSize = 6, outerTickSize = 6, tickPadding = 3, tickArguments_ = [ 10 ], tickValues = null, tickFormat_; - function axis(g) { - g.each(function() { - var g = d3.select(this); - var scale0 = this.__chart__ || scale, scale1 = this.__chart__ = scale.copy(); - var ticks = tickValues == null ? scale1.ticks ? scale1.ticks.apply(scale1, tickArguments_) : scale1.domain() : tickValues, tickFormat = tickFormat_ == null ? scale1.tickFormat ? scale1.tickFormat.apply(scale1, tickArguments_) : d3_identity : tickFormat_, tick = g.selectAll(".tick").data(ticks, scale1), tickEnter = tick.enter().insert("g", ".domain").attr("class", "tick").style("opacity", ε), tickExit = d3.transition(tick.exit()).style("opacity", ε).remove(), tickUpdate = d3.transition(tick.order()).style("opacity", 1), tickSpacing = Math.max(innerTickSize, 0) + tickPadding, tickTransform; - var range = d3_scaleRange(scale1), path = g.selectAll(".domain").data([ 0 ]), pathUpdate = (path.enter().append("path").attr("class", "domain"), - d3.transition(path)); - tickEnter.append("line"); - tickEnter.append("text"); - var lineEnter = tickEnter.select("line"), lineUpdate = tickUpdate.select("line"), text = tick.select("text").text(tickFormat), textEnter = tickEnter.select("text"), textUpdate = tickUpdate.select("text"), sign = orient === "top" || orient === "left" ? -1 : 1, x1, x2, y1, y2; - if (orient === "bottom" || orient === "top") { - tickTransform = d3_svg_axisX, x1 = "x", y1 = "y", x2 = "x2", y2 = "y2"; - text.attr("dy", sign < 0 ? "0em" : ".71em").style("text-anchor", "middle"); - pathUpdate.attr("d", "M" + range[0] + "," + sign * outerTickSize + "V0H" + range[1] + "V" + sign * outerTickSize); - } else { - tickTransform = d3_svg_axisY, x1 = "y", y1 = "x", x2 = "y2", y2 = "x2"; - text.attr("dy", ".32em").style("text-anchor", sign < 0 ? "end" : "start"); - pathUpdate.attr("d", "M" + sign * outerTickSize + "," + range[0] + "H0V" + range[1] + "H" + sign * outerTickSize); - } - lineEnter.attr(y2, sign * innerTickSize); - textEnter.attr(y1, sign * tickSpacing); - lineUpdate.attr(x2, 0).attr(y2, sign * innerTickSize); - textUpdate.attr(x1, 0).attr(y1, sign * tickSpacing); - if (scale1.rangeBand) { - var x = scale1, dx = x.rangeBand() / 2; - scale0 = scale1 = function(d) { - return x(d) + dx; - }; - } else if (scale0.rangeBand) { - scale0 = scale1; - } else { - tickExit.call(tickTransform, scale1, scale0); - } - tickEnter.call(tickTransform, scale0, scale1); - tickUpdate.call(tickTransform, scale1, scale1); - }); - } - axis.scale = function(x) { - if (!arguments.length) return scale; - scale = x; - return axis; - }; - axis.orient = function(x) { - if (!arguments.length) return orient; - orient = x in d3_svg_axisOrients ? x + "" : d3_svg_axisDefaultOrient; - return axis; - }; - axis.ticks = function() { - if (!arguments.length) return tickArguments_; - tickArguments_ = arguments; - return axis; - }; - axis.tickValues = function(x) { - if (!arguments.length) return tickValues; - tickValues = x; - return axis; - }; - axis.tickFormat = function(x) { - if (!arguments.length) return tickFormat_; - tickFormat_ = x; - return axis; - }; - axis.tickSize = function(x) { - var n = arguments.length; - if (!n) return innerTickSize; - innerTickSize = +x; - outerTickSize = +arguments[n - 1]; - return axis; - }; - axis.innerTickSize = function(x) { - if (!arguments.length) return innerTickSize; - innerTickSize = +x; - return axis; - }; - axis.outerTickSize = function(x) { - if (!arguments.length) return outerTickSize; - outerTickSize = +x; - return axis; - }; - axis.tickPadding = function(x) { - if (!arguments.length) return tickPadding; - tickPadding = +x; - return axis; - }; - axis.tickSubdivide = function() { - return arguments.length && axis; - }; - return axis; - }; - var d3_svg_axisDefaultOrient = "bottom", d3_svg_axisOrients = { - top: 1, - right: 1, - bottom: 1, - left: 1 - }; - function d3_svg_axisX(selection, x0, x1) { - selection.attr("transform", function(d) { - var v0 = x0(d); - return "translate(" + (isFinite(v0) ? v0 : x1(d)) + ",0)"; - }); - } - function d3_svg_axisY(selection, y0, y1) { - selection.attr("transform", function(d) { - var v0 = y0(d); - return "translate(0," + (isFinite(v0) ? v0 : y1(d)) + ")"; - }); - } - d3.svg.brush = function() { - var event = d3_eventDispatch(brush, "brushstart", "brush", "brushend"), x = null, y = null, xExtent = [ 0, 0 ], yExtent = [ 0, 0 ], xExtentDomain, yExtentDomain, xClamp = true, yClamp = true, resizes = d3_svg_brushResizes[0]; - function brush(g) { - g.each(function() { - var g = d3.select(this).style("pointer-events", "all").style("-webkit-tap-highlight-color", "rgba(0,0,0,0)").on("mousedown.brush", brushstart).on("touchstart.brush", brushstart); - var background = g.selectAll(".background").data([ 0 ]); - background.enter().append("rect").attr("class", "background").style("visibility", "hidden").style("cursor", "crosshair"); - g.selectAll(".extent").data([ 0 ]).enter().append("rect").attr("class", "extent").style("cursor", "move"); - var resize = g.selectAll(".resize").data(resizes, d3_identity); - resize.exit().remove(); - resize.enter().append("g").attr("class", function(d) { - return "resize " + d; - }).style("cursor", function(d) { - return d3_svg_brushCursor[d]; - }).append("rect").attr("x", function(d) { - return /[ew]$/.test(d) ? -3 : null; - }).attr("y", function(d) { - return /^[ns]/.test(d) ? -3 : null; - }).attr("width", 6).attr("height", 6).style("visibility", "hidden"); - resize.style("display", brush.empty() ? "none" : null); - var gUpdate = d3.transition(g), backgroundUpdate = d3.transition(background), range; - if (x) { - range = d3_scaleRange(x); - backgroundUpdate.attr("x", range[0]).attr("width", range[1] - range[0]); - redrawX(gUpdate); - } - if (y) { - range = d3_scaleRange(y); - backgroundUpdate.attr("y", range[0]).attr("height", range[1] - range[0]); - redrawY(gUpdate); - } - redraw(gUpdate); - }); - } - brush.event = function(g) { - g.each(function() { - var event_ = event.of(this, arguments), extent1 = { - x: xExtent, - y: yExtent, - i: xExtentDomain, - j: yExtentDomain - }, extent0 = this.__chart__ || extent1; - this.__chart__ = extent1; - if (d3_transitionInheritId) { - d3.select(this).transition().each("start.brush", function() { - xExtentDomain = extent0.i; - yExtentDomain = extent0.j; - xExtent = extent0.x; - yExtent = extent0.y; - event_({ - type: "brushstart" - }); - }).tween("brush:brush", function() { - var xi = d3_interpolateArray(xExtent, extent1.x), yi = d3_interpolateArray(yExtent, extent1.y); - xExtentDomain = yExtentDomain = null; - return function(t) { - xExtent = extent1.x = xi(t); - yExtent = extent1.y = yi(t); - event_({ - type: "brush", - mode: "resize" - }); - }; - }).each("end.brush", function() { - xExtentDomain = extent1.i; - yExtentDomain = extent1.j; - event_({ - type: "brush", - mode: "resize" - }); - event_({ - type: "brushend" - }); - }); - } else { - event_({ - type: "brushstart" - }); - event_({ - type: "brush", - mode: "resize" - }); - event_({ - type: "brushend" - }); - } - }); - }; - function redraw(g) { - g.selectAll(".resize").attr("transform", function(d) { - return "translate(" + xExtent[+/e$/.test(d)] + "," + yExtent[+/^s/.test(d)] + ")"; - }); - } - function redrawX(g) { - g.select(".extent").attr("x", xExtent[0]); - g.selectAll(".extent,.n>rect,.s>rect").attr("width", xExtent[1] - xExtent[0]); - } - function redrawY(g) { - g.select(".extent").attr("y", yExtent[0]); - g.selectAll(".extent,.e>rect,.w>rect").attr("height", yExtent[1] - yExtent[0]); - } - function brushstart() { - var target = this, eventTarget = d3.select(d3.event.target), event_ = event.of(target, arguments), g = d3.select(target), resizing = eventTarget.datum(), resizingX = !/^(n|s)$/.test(resizing) && x, resizingY = !/^(e|w)$/.test(resizing) && y, dragging = eventTarget.classed("extent"), dragRestore = d3_event_dragSuppress(), center, origin = d3.mouse(target), offset; - var w = d3.select(d3_window).on("keydown.brush", keydown).on("keyup.brush", keyup); - if (d3.event.changedTouches) { - w.on("touchmove.brush", brushmove).on("touchend.brush", brushend); - } else { - w.on("mousemove.brush", brushmove).on("mouseup.brush", brushend); - } - g.interrupt().selectAll("*").interrupt(); - if (dragging) { - origin[0] = xExtent[0] - origin[0]; - origin[1] = yExtent[0] - origin[1]; - } else if (resizing) { - var ex = +/w$/.test(resizing), ey = +/^n/.test(resizing); - offset = [ xExtent[1 - ex] - origin[0], yExtent[1 - ey] - origin[1] ]; - origin[0] = xExtent[ex]; - origin[1] = yExtent[ey]; - } else if (d3.event.altKey) center = origin.slice(); - g.style("pointer-events", "none").selectAll(".resize").style("display", null); - d3.select("body").style("cursor", eventTarget.style("cursor")); - event_({ - type: "brushstart" - }); - brushmove(); - function keydown() { - if (d3.event.keyCode == 32) { - if (!dragging) { - center = null; - origin[0] -= xExtent[1]; - origin[1] -= yExtent[1]; - dragging = 2; - } - d3_eventPreventDefault(); - } - } - function keyup() { - if (d3.event.keyCode == 32 && dragging == 2) { - origin[0] += xExtent[1]; - origin[1] += yExtent[1]; - dragging = 0; - d3_eventPreventDefault(); - } - } - function brushmove() { - var point = d3.mouse(target), moved = false; - if (offset) { - point[0] += offset[0]; - point[1] += offset[1]; - } - if (!dragging) { - if (d3.event.altKey) { - if (!center) center = [ (xExtent[0] + xExtent[1]) / 2, (yExtent[0] + yExtent[1]) / 2 ]; - origin[0] = xExtent[+(point[0] < center[0])]; - origin[1] = yExtent[+(point[1] < center[1])]; - } else center = null; - } - if (resizingX && move1(point, x, 0)) { - redrawX(g); - moved = true; - } - if (resizingY && move1(point, y, 1)) { - redrawY(g); - moved = true; - } - if (moved) { - redraw(g); - event_({ - type: "brush", - mode: dragging ? "move" : "resize" - }); - } - } - function move1(point, scale, i) { - var range = d3_scaleRange(scale), r0 = range[0], r1 = range[1], position = origin[i], extent = i ? yExtent : xExtent, size = extent[1] - extent[0], min, max; - if (dragging) { - r0 -= position; - r1 -= size + position; - } - min = (i ? yClamp : xClamp) ? Math.max(r0, Math.min(r1, point[i])) : point[i]; - if (dragging) { - max = (min += position) + size; - } else { - if (center) position = Math.max(r0, Math.min(r1, 2 * center[i] - min)); - if (position < min) { - max = min; - min = position; - } else { - max = position; - } - } - if (extent[0] != min || extent[1] != max) { - if (i) yExtentDomain = null; else xExtentDomain = null; - extent[0] = min; - extent[1] = max; - return true; - } - } - function brushend() { - brushmove(); - g.style("pointer-events", "all").selectAll(".resize").style("display", brush.empty() ? "none" : null); - d3.select("body").style("cursor", null); - w.on("mousemove.brush", null).on("mouseup.brush", null).on("touchmove.brush", null).on("touchend.brush", null).on("keydown.brush", null).on("keyup.brush", null); - dragRestore(); - event_({ - type: "brushend" - }); - } - } - brush.x = function(z) { - if (!arguments.length) return x; - x = z; - resizes = d3_svg_brushResizes[!x << 1 | !y]; - return brush; - }; - brush.y = function(z) { - if (!arguments.length) return y; - y = z; - resizes = d3_svg_brushResizes[!x << 1 | !y]; - return brush; - }; - brush.clamp = function(z) { - if (!arguments.length) return x && y ? [ xClamp, yClamp ] : x ? xClamp : y ? yClamp : null; - if (x && y) xClamp = !!z[0], yClamp = !!z[1]; else if (x) xClamp = !!z; else if (y) yClamp = !!z; - return brush; - }; - brush.extent = function(z) { - var x0, x1, y0, y1, t; - if (!arguments.length) { - if (x) { - if (xExtentDomain) { - x0 = xExtentDomain[0], x1 = xExtentDomain[1]; - } else { - x0 = xExtent[0], x1 = xExtent[1]; - if (x.invert) x0 = x.invert(x0), x1 = x.invert(x1); - if (x1 < x0) t = x0, x0 = x1, x1 = t; - } - } - if (y) { - if (yExtentDomain) { - y0 = yExtentDomain[0], y1 = yExtentDomain[1]; - } else { - y0 = yExtent[0], y1 = yExtent[1]; - if (y.invert) y0 = y.invert(y0), y1 = y.invert(y1); - if (y1 < y0) t = y0, y0 = y1, y1 = t; - } - } - return x && y ? [ [ x0, y0 ], [ x1, y1 ] ] : x ? [ x0, x1 ] : y && [ y0, y1 ]; - } - if (x) { - x0 = z[0], x1 = z[1]; - if (y) x0 = x0[0], x1 = x1[0]; - xExtentDomain = [ x0, x1 ]; - if (x.invert) x0 = x(x0), x1 = x(x1); - if (x1 < x0) t = x0, x0 = x1, x1 = t; - if (x0 != xExtent[0] || x1 != xExtent[1]) xExtent = [ x0, x1 ]; - } - if (y) { - y0 = z[0], y1 = z[1]; - if (x) y0 = y0[1], y1 = y1[1]; - yExtentDomain = [ y0, y1 ]; - if (y.invert) y0 = y(y0), y1 = y(y1); - if (y1 < y0) t = y0, y0 = y1, y1 = t; - if (y0 != yExtent[0] || y1 != yExtent[1]) yExtent = [ y0, y1 ]; - } - return brush; - }; - brush.clear = function() { - if (!brush.empty()) { - xExtent = [ 0, 0 ], yExtent = [ 0, 0 ]; - xExtentDomain = yExtentDomain = null; - } - return brush; - }; - brush.empty = function() { - return !!x && xExtent[0] == xExtent[1] || !!y && yExtent[0] == yExtent[1]; - }; - return d3.rebind(brush, event, "on"); - }; - var d3_svg_brushCursor = { - n: "ns-resize", - e: "ew-resize", - s: "ns-resize", - w: "ew-resize", - nw: "nwse-resize", - ne: "nesw-resize", - se: "nwse-resize", - sw: "nesw-resize" - }; - var d3_svg_brushResizes = [ [ "n", "e", "s", "w", "nw", "ne", "se", "sw" ], [ "e", "w" ], [ "n", "s" ], [] ]; - var d3_time_format = d3_time.format = d3_locale_enUS.timeFormat; - var d3_time_formatUtc = d3_time_format.utc; - var d3_time_formatIso = d3_time_formatUtc("%Y-%m-%dT%H:%M:%S.%LZ"); - d3_time_format.iso = Date.prototype.toISOString && +new Date("2000-01-01T00:00:00.000Z") ? d3_time_formatIsoNative : d3_time_formatIso; - function d3_time_formatIsoNative(date) { - return date.toISOString(); - } - d3_time_formatIsoNative.parse = function(string) { - var date = new Date(string); - return isNaN(date) ? null : date; - }; - d3_time_formatIsoNative.toString = d3_time_formatIso.toString; - d3_time.second = d3_time_interval(function(date) { - return new d3_date(Math.floor(date / 1e3) * 1e3); - }, function(date, offset) { - date.setTime(date.getTime() + Math.floor(offset) * 1e3); - }, function(date) { - return date.getSeconds(); - }); - d3_time.seconds = d3_time.second.range; - d3_time.seconds.utc = d3_time.second.utc.range; - d3_time.minute = d3_time_interval(function(date) { - return new d3_date(Math.floor(date / 6e4) * 6e4); - }, function(date, offset) { - date.setTime(date.getTime() + Math.floor(offset) * 6e4); - }, function(date) { - return date.getMinutes(); - }); - d3_time.minutes = d3_time.minute.range; - d3_time.minutes.utc = d3_time.minute.utc.range; - d3_time.hour = d3_time_interval(function(date) { - var timezone = date.getTimezoneOffset() / 60; - return new d3_date((Math.floor(date / 36e5 - timezone) + timezone) * 36e5); - }, function(date, offset) { - date.setTime(date.getTime() + Math.floor(offset) * 36e5); - }, function(date) { - return date.getHours(); - }); - d3_time.hours = d3_time.hour.range; - d3_time.hours.utc = d3_time.hour.utc.range; - d3_time.month = d3_time_interval(function(date) { - date = d3_time.day(date); - date.setDate(1); - return date; - }, function(date, offset) { - date.setMonth(date.getMonth() + offset); - }, function(date) { - return date.getMonth(); - }); - d3_time.months = d3_time.month.range; - d3_time.months.utc = d3_time.month.utc.range; - function d3_time_scale(linear, methods, format) { - function scale(x) { - return linear(x); - } - scale.invert = function(x) { - return d3_time_scaleDate(linear.invert(x)); - }; - scale.domain = function(x) { - if (!arguments.length) return linear.domain().map(d3_time_scaleDate); - linear.domain(x); - return scale; - }; - function tickMethod(extent, count) { - var span = extent[1] - extent[0], target = span / count, i = d3.bisect(d3_time_scaleSteps, target); - return i == d3_time_scaleSteps.length ? [ methods.year, d3_scale_linearTickRange(extent.map(function(d) { - return d / 31536e6; - }), count)[2] ] : !i ? [ d3_time_scaleMilliseconds, d3_scale_linearTickRange(extent, count)[2] ] : methods[target / d3_time_scaleSteps[i - 1] < d3_time_scaleSteps[i] / target ? i - 1 : i]; - } - scale.nice = function(interval, skip) { - var domain = scale.domain(), extent = d3_scaleExtent(domain), method = interval == null ? tickMethod(extent, 10) : typeof interval === "number" && tickMethod(extent, interval); - if (method) interval = method[0], skip = method[1]; - function skipped(date) { - return !isNaN(date) && !interval.range(date, d3_time_scaleDate(+date + 1), skip).length; - } - return scale.domain(d3_scale_nice(domain, skip > 1 ? { - floor: function(date) { - while (skipped(date = interval.floor(date))) date = d3_time_scaleDate(date - 1); - return date; - }, - ceil: function(date) { - while (skipped(date = interval.ceil(date))) date = d3_time_scaleDate(+date + 1); - return date; - } - } : interval)); - }; - scale.ticks = function(interval, skip) { - var extent = d3_scaleExtent(scale.domain()), method = interval == null ? tickMethod(extent, 10) : typeof interval === "number" ? tickMethod(extent, interval) : !interval.range && [ { - range: interval - }, skip ]; - if (method) interval = method[0], skip = method[1]; - return interval.range(extent[0], d3_time_scaleDate(+extent[1] + 1), skip < 1 ? 1 : skip); - }; - scale.tickFormat = function() { - return format; - }; - scale.copy = function() { - return d3_time_scale(linear.copy(), methods, format); - }; - return d3_scale_linearRebind(scale, linear); - } - function d3_time_scaleDate(t) { - return new Date(t); - } - var d3_time_scaleSteps = [ 1e3, 5e3, 15e3, 3e4, 6e4, 3e5, 9e5, 18e5, 36e5, 108e5, 216e5, 432e5, 864e5, 1728e5, 6048e5, 2592e6, 7776e6, 31536e6 ]; - var d3_time_scaleLocalMethods = [ [ d3_time.second, 1 ], [ d3_time.second, 5 ], [ d3_time.second, 15 ], [ d3_time.second, 30 ], [ d3_time.minute, 1 ], [ d3_time.minute, 5 ], [ d3_time.minute, 15 ], [ d3_time.minute, 30 ], [ d3_time.hour, 1 ], [ d3_time.hour, 3 ], [ d3_time.hour, 6 ], [ d3_time.hour, 12 ], [ d3_time.day, 1 ], [ d3_time.day, 2 ], [ d3_time.week, 1 ], [ d3_time.month, 1 ], [ d3_time.month, 3 ], [ d3_time.year, 1 ] ]; - var d3_time_scaleLocalFormat = d3_time_format.multi([ [ ".%L", function(d) { - return d.getMilliseconds(); - } ], [ ":%S", function(d) { - return d.getSeconds(); - } ], [ "%I:%M", function(d) { - return d.getMinutes(); - } ], [ "%I %p", function(d) { - return d.getHours(); - } ], [ "%a %d", function(d) { - return d.getDay() && d.getDate() != 1; - } ], [ "%b %d", function(d) { - return d.getDate() != 1; - } ], [ "%B", function(d) { - return d.getMonth(); - } ], [ "%Y", d3_true ] ]); - var d3_time_scaleMilliseconds = { - range: function(start, stop, step) { - return d3.range(Math.ceil(start / step) * step, +stop, step).map(d3_time_scaleDate); - }, - floor: d3_identity, - ceil: d3_identity - }; - d3_time_scaleLocalMethods.year = d3_time.year; - d3_time.scale = function() { - return d3_time_scale(d3.scale.linear(), d3_time_scaleLocalMethods, d3_time_scaleLocalFormat); - }; - var d3_time_scaleUtcMethods = d3_time_scaleLocalMethods.map(function(m) { - return [ m[0].utc, m[1] ]; - }); - var d3_time_scaleUtcFormat = d3_time_formatUtc.multi([ [ ".%L", function(d) { - return d.getUTCMilliseconds(); - } ], [ ":%S", function(d) { - return d.getUTCSeconds(); - } ], [ "%I:%M", function(d) { - return d.getUTCMinutes(); - } ], [ "%I %p", function(d) { - return d.getUTCHours(); - } ], [ "%a %d", function(d) { - return d.getUTCDay() && d.getUTCDate() != 1; - } ], [ "%b %d", function(d) { - return d.getUTCDate() != 1; - } ], [ "%B", function(d) { - return d.getUTCMonth(); - } ], [ "%Y", d3_true ] ]); - d3_time_scaleUtcMethods.year = d3_time.year.utc; - d3_time.scale.utc = function() { - return d3_time_scale(d3.scale.linear(), d3_time_scaleUtcMethods, d3_time_scaleUtcFormat); - }; - d3.text = d3_xhrType(function(request) { - return request.responseText; - }); - d3.json = function(url, callback) { - return d3_xhr(url, "application/json", d3_json, callback); - }; - function d3_json(request) { - return JSON.parse(request.responseText); - } - d3.html = function(url, callback) { - return d3_xhr(url, "text/html", d3_html, callback); - }; - function d3_html(request) { - var range = d3_document.createRange(); - range.selectNode(d3_document.body); - return range.createContextualFragment(request.responseText); - } - d3.xml = d3_xhrType(function(request) { - return request.responseXML; - }); - if (typeof define === "function" && define.amd) define(d3); else if (typeof module === "object" && module.exports) module.exports = d3; - this.d3 = d3; -}(); \ No newline at end of file diff --git a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.realtime.analytics-view/public/js/rickshaw.min.js b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.realtime.analytics-view/public/js/rickshaw.min.js deleted file mode 100644 index be060e0b87..0000000000 --- a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.realtime.analytics-view/public/js/rickshaw.min.js +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. 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(root,factory){if(typeof define==="function"&&define.amd){define(["d3.min"],function(d3){return root.Rickshaw=factory(d3)})}else if(typeof exports==="object"){module.exports=factory(require("d3"))}else{root.Rickshaw=factory(d3)}})(this,function(d3){var Rickshaw={namespace:function(namespace,obj){var parts=namespace.split(".");var parent=Rickshaw;for(var i=1,length=parts.length;i0){var x=s.data[0].x;var y=s.data[0].y;if(typeof x!="number"||typeof y!="number"&&y!==null){throw"x and y properties of points should be numbers instead of "+typeof x+" and "+typeof y}}if(s.data.length>=3){if(s.data[2].xthis.window.xMax)isInRange=false;return isInRange}return true};this.onUpdate=function(callback){this.updateCallbacks.push(callback)};this.onConfigure=function(callback){this.configureCallbacks.push(callback)};this.registerRenderer=function(renderer){this._renderers=this._renderers||{};this._renderers[renderer.name]=renderer};this.configure=function(args){this.config=this.config||{};if(args.width||args.height){this.setSize(args)}Rickshaw.keys(this.defaults).forEach(function(k){this.config[k]=k in args?args[k]:k in this?this[k]:this.defaults[k]},this);Rickshaw.keys(this.config).forEach(function(k){this[k]=this.config[k]},this);if("stack"in args)args.unstack=!args.stack;var renderer=args.renderer||this.renderer&&this.renderer.name||"stack";this.setRenderer(renderer,args);this.configureCallbacks.forEach(function(callback){callback(args)})};this.setRenderer=function(r,args){if(typeof r=="function"){this.renderer=new r({graph:self});this.registerRenderer(this.renderer)}else{if(!this._renderers[r]){throw"couldn't find renderer "+r}this.renderer=this._renderers[r]}if(typeof args=="object"){this.renderer.configure(args)}};this.setSize=function(args){args=args||{};if(typeof window!==undefined){var style=window.getComputedStyle(this.element,null);var elementWidth=parseInt(style.getPropertyValue("width"),10);var elementHeight=parseInt(style.getPropertyValue("height"),10)}this.width=args.width||elementWidth||400;this.height=args.height||elementHeight||250;this.vis&&this.vis.attr("width",this.width).attr("height",this.height)};this.initialize(args)};Rickshaw.namespace("Rickshaw.Fixtures.Color");Rickshaw.Fixtures.Color=function(){this.schemes={};this.schemes.spectrum14=["#ecb796","#dc8f70","#b2a470","#92875a","#716c49","#d2ed82","#bbe468","#a1d05d","#e7cbe6","#d8aad6","#a888c2","#9dc2d3","#649eb9","#387aa3"].reverse();this.schemes.spectrum2000=["#57306f","#514c76","#646583","#738394","#6b9c7d","#84b665","#a7ca50","#bfe746","#e2f528","#fff726","#ecdd00","#d4b11d","#de8800","#de4800","#c91515","#9a0000","#7b0429","#580839","#31082b"];this.schemes.spectrum2001=["#2f243f","#3c2c55","#4a3768","#565270","#6b6b7c","#72957f","#86ad6e","#a1bc5e","#b8d954","#d3e04e","#ccad2a","#cc8412","#c1521d","#ad3821","#8a1010","#681717","#531e1e","#3d1818","#320a1b"];this.schemes.classic9=["#423d4f","#4a6860","#848f39","#a2b73c","#ddcb53","#c5a32f","#7d5836","#963b20","#7c2626","#491d37","#2f254a"].reverse();this.schemes.httpStatus={503:"#ea5029",502:"#d23f14",500:"#bf3613",410:"#efacea",409:"#e291dc",403:"#f457e8",408:"#e121d2",401:"#b92dae",405:"#f47ceb",404:"#a82a9f",400:"#b263c6",301:"#6fa024",302:"#87c32b",307:"#a0d84c",304:"#28b55c",200:"#1a4f74",206:"#27839f",201:"#52adc9",202:"#7c979f",203:"#a5b8bd",204:"#c1cdd1"};this.schemes.colorwheel=["#b5b6a9","#858772","#785f43","#96557e","#4682b4","#65b9ac","#73c03a","#cb513a"].reverse();this.schemes.cool=["#5e9d2f","#73c03a","#4682b4","#7bc3b8","#a9884e","#c1b266","#a47493","#c09fb5"];this.schemes.munin=["#00cc00","#0066b3","#ff8000","#ffcc00","#330099","#990099","#ccff00","#ff0000","#808080","#008f00","#00487d","#b35a00","#b38f00","#6b006b","#8fb300","#b30000","#bebebe","#80ff80","#80c9ff","#ffc080","#ffe680","#aa80ff","#ee00cc","#ff8080","#666600","#ffbfff","#00ffcc","#cc6699","#999900"]};Rickshaw.namespace("Rickshaw.Fixtures.RandomData");Rickshaw.Fixtures.RandomData=function(timeInterval){var addData;timeInterval=timeInterval||1;var lastRandomValue=200;var timeBase=Math.floor((new Date).getTime()/1e3);this.addData=function(data){var randomValue=Math.random()*100+15+lastRandomValue;var index=data[0].length;var counter=1;data.forEach(function(series){var randomVariance=Math.random()*20;var v=randomValue/25+counter++ +(Math.cos(index*counter*11/960)+2)*15+(Math.cos(index/7)+2)*7+(Math.cos(index/17)+2)*1;series.push({x:index*timeInterval+timeBase,y:v+randomVariance})});lastRandomValue=randomValue*.85};this.removeData=function(data){data.forEach(function(series){series.shift()});timeBase+=timeInterval}};Rickshaw.namespace("Rickshaw.Fixtures.Time");Rickshaw.Fixtures.Time=function(){var self=this;this.months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];this.units=[{name:"decade",seconds:86400*365.25*10,formatter:function(d){return parseInt(d.getUTCFullYear()/10,10)*10}},{name:"year",seconds:86400*365.25,formatter:function(d){return d.getUTCFullYear()}},{name:"month",seconds:86400*30.5,formatter:function(d){return self.months[d.getUTCMonth()]}},{name:"week",seconds:86400*7,formatter:function(d){return self.formatDate(d)}},{name:"day",seconds:86400,formatter:function(d){return d.getUTCDate()}},{name:"6 hour",seconds:3600*6,formatter:function(d){return self.formatTime(d)}},{name:"hour",seconds:3600,formatter:function(d){return self.formatTime(d)}},{name:"15 minute",seconds:60*15,formatter:function(d){return self.formatTime(d)}},{name:"minute",seconds:60,formatter:function(d){return d.getUTCMinutes()}},{name:"15 second",seconds:15,formatter:function(d){return d.getUTCSeconds()+"s"}},{name:"second",seconds:1,formatter:function(d){return d.getUTCSeconds()+"s"}},{name:"decisecond",seconds:1/10,formatter:function(d){return d.getUTCMilliseconds()+"ms"}},{name:"centisecond",seconds:1/100,formatter:function(d){return d.getUTCMilliseconds()+"ms"}}];this.unit=function(unitName){return this.units.filter(function(unit){return unitName==unit.name}).shift()};this.formatDate=function(d){return d3.time.format("%b %e")(d)};this.formatTime=function(d){return d.toUTCString().match(/(\d+:\d+):/)[1]};this.ceil=function(time,unit){var date,floor,year;if(unit.name=="month"){date=new Date(time*1e3);floor=Date.UTC(date.getUTCFullYear(),date.getUTCMonth())/1e3;if(floor==time)return time;year=date.getUTCFullYear();var month=date.getUTCMonth();if(month==11){month=0;year=year+1}else{month+=1}return Date.UTC(year,month)/1e3}if(unit.name=="year"){date=new Date(time*1e3);floor=Date.UTC(date.getUTCFullYear(),0)/1e3;if(floor==time)return time;year=date.getUTCFullYear()+1;return Date.UTC(year,0)/1e3}return Math.ceil(time/unit.seconds)*unit.seconds}};Rickshaw.namespace("Rickshaw.Fixtures.Time.Local");Rickshaw.Fixtures.Time.Local=function(){var self=this;this.months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];this.units=[{name:"decade",seconds:86400*365.25*10,formatter:function(d){return parseInt(d.getFullYear()/10,10)*10}},{name:"year",seconds:86400*365.25,formatter:function(d){return d.getFullYear()}},{name:"month",seconds:86400*30.5,formatter:function(d){return self.months[d.getMonth()]}},{name:"week",seconds:86400*7,formatter:function(d){return self.formatDate(d)}},{name:"day",seconds:86400,formatter:function(d){return d.getDate()}},{name:"6 hour",seconds:3600*6,formatter:function(d){return self.formatTime(d)}},{name:"hour",seconds:3600,formatter:function(d){return self.formatTime(d)}},{name:"15 minute",seconds:60*15,formatter:function(d){return self.formatTime(d)}},{name:"minute",seconds:60,formatter:function(d){return d.getMinutes()}},{name:"15 second",seconds:15,formatter:function(d){return d.getSeconds()+"s"}},{name:"second",seconds:1,formatter:function(d){return d.getSeconds()+"s"}},{name:"decisecond",seconds:1/10,formatter:function(d){return d.getMilliseconds()+"ms"}},{name:"centisecond",seconds:1/100,formatter:function(d){return d.getMilliseconds()+"ms"}}];this.unit=function(unitName){return this.units.filter(function(unit){return unitName==unit.name}).shift()};this.formatDate=function(d){return d3.time.format("%b %e")(d)};this.formatTime=function(d){return d.toString().match(/(\d+:\d+):/)[1]};this.ceil=function(time,unit){var date,floor,year;if(unit.name=="day"){var nearFuture=new Date((time+unit.seconds-1)*1e3);var rounded=new Date(0);rounded.setMilliseconds(0);rounded.setSeconds(0);rounded.setMinutes(0);rounded.setHours(0);rounded.setDate(nearFuture.getDate());rounded.setMonth(nearFuture.getMonth());rounded.setFullYear(nearFuture.getFullYear());return rounded.getTime()/1e3}if(unit.name=="month"){date=new Date(time*1e3);floor=new Date(date.getFullYear(),date.getMonth()).getTime()/1e3;if(floor==time)return time;year=date.getFullYear();var month=date.getMonth();if(month==11){month=0;year=year+1}else{month+=1}return new Date(year,month).getTime()/1e3}if(unit.name=="year"){date=new Date(time*1e3);floor=new Date(date.getUTCFullYear(),0).getTime()/1e3;if(floor==time)return time;year=date.getFullYear()+1;return new Date(year,0).getTime()/1e3}return Math.ceil(time/unit.seconds)*unit.seconds}};Rickshaw.namespace("Rickshaw.Fixtures.Number");Rickshaw.Fixtures.Number.formatKMBT=function(y){var abs_y=Math.abs(y);if(abs_y>=1e12){return y/1e12+"T"}else if(abs_y>=1e9){return y/1e9+"B"}else if(abs_y>=1e6){return y/1e6+"M"}else if(abs_y>=1e3){return y/1e3+"K"}else if(abs_y<1&&y>0){return y.toFixed(2)}else if(abs_y===0){return""}else{return y}};Rickshaw.Fixtures.Number.formatBase1024KMGTP=function(y){var abs_y=Math.abs(y);if(abs_y>=0x4000000000000){return y/0x4000000000000+"P"}else if(abs_y>=1099511627776){return y/1099511627776+"T"}else if(abs_y>=1073741824){return y/1073741824+"G"}else if(abs_y>=1048576){return y/1048576+"M"}else if(abs_y>=1024){return y/1024+"K"}else if(abs_y<1&&y>0){return y.toFixed(2)}else if(abs_y===0){return""}else{return y}};Rickshaw.namespace("Rickshaw.Color.Palette");Rickshaw.Color.Palette=function(args){var color=new Rickshaw.Fixtures.Color;args=args||{};this.schemes={};this.scheme=color.schemes[args.scheme]||args.scheme||color.schemes.colorwheel;this.runningIndex=0;this.generatorIndex=0;if(args.interpolatedStopCount){var schemeCount=this.scheme.length-1;var i,j,scheme=[];for(i=0;iself.graph.x.range()[1]){if(annotation.element){annotation.line.classList.add("offscreen");annotation.element.style.display="none"}annotation.boxes.forEach(function(box){if(box.rangeElement)box.rangeElement.classList.add("offscreen")});return}if(!annotation.element){var element=annotation.element=document.createElement("div");element.classList.add("annotation");this.elements.timeline.appendChild(element);element.addEventListener("click",function(e){element.classList.toggle("active");annotation.line.classList.toggle("active");annotation.boxes.forEach(function(box){if(box.rangeElement)box.rangeElement.classList.toggle("active")})},false)}annotation.element.style.left=left+"px";annotation.element.style.display="block";annotation.boxes.forEach(function(box){var element=box.element;if(!element){element=box.element=document.createElement("div");element.classList.add("content");element.innerHTML=box.content;annotation.element.appendChild(element);annotation.line=document.createElement("div");annotation.line.classList.add("annotation_line");self.graph.element.appendChild(annotation.line);if(box.end){box.rangeElement=document.createElement("div");box.rangeElement.classList.add("annotation_range");self.graph.element.appendChild(box.rangeElement)}}if(box.end){var annotationRangeStart=left;var annotationRangeEnd=Math.min(self.graph.x(box.end),self.graph.x.range()[1]);if(annotationRangeStart>annotationRangeEnd){annotationRangeEnd=left;annotationRangeStart=Math.max(self.graph.x(box.end),self.graph.x.range()[0])}var annotationRangeWidth=annotationRangeEnd-annotationRangeStart;box.rangeElement.style.left=annotationRangeStart+"px";box.rangeElement.style.width=annotationRangeWidth+"px";box.rangeElement.classList.remove("offscreen")}annotation.line.classList.remove("offscreen");annotation.line.style.left=left+"px"})},this)};this.graph.onUpdate(function(){self.update()})};Rickshaw.namespace("Rickshaw.Graph.Axis.Time");Rickshaw.Graph.Axis.Time=function(args){var self=this;this.graph=args.graph;this.elements=[];this.ticksTreatment=args.ticksTreatment||"plain";this.fixedTimeUnit=args.timeUnit;var time=args.timeFixture||new Rickshaw.Fixtures.Time;this.appropriateTimeUnit=function(){var unit;var units=time.units;var domain=this.graph.x.domain();var rangeSeconds=domain[1]-domain[0];units.forEach(function(u){if(Math.floor(rangeSeconds/u.seconds)>=2){unit=unit||u}});return unit||time.units[time.units.length-1]};this.tickOffsets=function(){var domain=this.graph.x.domain();var unit=this.fixedTimeUnit||this.appropriateTimeUnit();var count=Math.ceil((domain[1]-domain[0])/unit.seconds);var runningTick=domain[0];var offsets=[];for(var i=0;iself.graph.x.range()[1])return;var element=document.createElement("div");element.style.left=self.graph.x(o.value)+"px";element.classList.add("x_tick");element.classList.add(self.ticksTreatment);var title=document.createElement("div");title.classList.add("title");title.innerHTML=o.unit.formatter(new Date(o.value*1e3));element.appendChild(title);self.graph.element.appendChild(element);self.elements.push(element)})};this.graph.onUpdate(function(){self.render()})};Rickshaw.namespace("Rickshaw.Graph.Axis.X");Rickshaw.Graph.Axis.X=function(args){var self=this;var berthRate=.1;this.initialize=function(args){this.graph=args.graph;this.orientation=args.orientation||"top";this.pixelsPerTick=args.pixelsPerTick||75;if(args.ticks)this.staticTicks=args.ticks;if(args.tickValues)this.tickValues=args.tickValues;this.tickSize=args.tickSize||4;this.ticksTreatment=args.ticksTreatment||"plain";if(args.element){this.element=args.element;this._discoverSize(args.element,args);this.vis=d3.select(args.element).append("svg:svg").attr("height",this.height).attr("width",this.width).attr("class","rickshaw_graph x_axis_d3");this.element=this.vis[0][0];this.element.style.position="relative";this.setSize({width:args.width,height:args.height})}else{this.vis=this.graph.vis}this.graph.onUpdate(function(){self.render()})};this.setSize=function(args){args=args||{};if(!this.element)return;this._discoverSize(this.element.parentNode,args);this.vis.attr("height",this.height).attr("width",this.width*(1+berthRate));var berth=Math.floor(this.width*berthRate/2);this.element.style.left=-1*berth+"px"};this.render=function(){if(this._renderWidth!==undefined&&this.graph.width!==this._renderWidth)this.setSize({auto:true});var axis=d3.svg.axis().scale(this.graph.x).orient(this.orientation);axis.tickFormat(args.tickFormat||function(x){return x});if(this.tickValues)axis.tickValues(this.tickValues);this.ticks=this.staticTicks||Math.floor(this.graph.width/this.pixelsPerTick);var berth=Math.floor(this.width*berthRate/2)||0;var transform;if(this.orientation=="top"){var yOffset=this.height||this.graph.height;transform="translate("+berth+","+yOffset+")"}else{transform="translate("+berth+", 0)"}if(this.element){this.vis.selectAll("*").remove()}this.vis.append("svg:g").attr("class",["x_ticks_d3",this.ticksTreatment].join(" ")).attr("transform",transform).call(axis.ticks(this.ticks).tickSubdivide(0).tickSize(this.tickSize));var gridSize=(this.orientation=="bottom"?1:-1)*this.graph.height;this.graph.vis.append("svg:g").attr("class","x_grid_d3").call(axis.ticks(this.ticks).tickSubdivide(0).tickSize(gridSize)).selectAll("text").each(function(){this.parentNode.setAttribute("data-x-value",this.textContent)});this._renderHeight=this.graph.height};this._discoverSize=function(element,args){if(typeof window!=="undefined"){var style=window.getComputedStyle(element,null);var elementHeight=parseInt(style.getPropertyValue("height"),10);if(!args.auto){var elementWidth=parseInt(style.getPropertyValue("width"),10)}}this.width=(args.width||elementWidth||this.graph.width)*(1+berthRate);this.height=args.height||elementHeight||40};this.initialize(args)};Rickshaw.namespace("Rickshaw.Graph.Axis.Y");Rickshaw.Graph.Axis.Y=Rickshaw.Class.create({initialize:function(args){this.graph=args.graph;this.orientation=args.orientation||"right";this.pixelsPerTick=args.pixelsPerTick||75;if(args.ticks)this.staticTicks=args.ticks;if(args.tickValues)this.tickValues=args.tickValues;this.tickSize=args.tickSize||4;this.ticksTreatment=args.ticksTreatment||"plain";this.tickFormat=args.tickFormat||function(y){return y};this.berthRate=.1;if(args.element){this.element=args.element;this.vis=d3.select(args.element).append("svg:svg").attr("class","rickshaw_graph y_axis");this.element=this.vis[0][0];this.element.style.position="relative";this.setSize({width:args.width,height:args.height})}else{this.vis=this.graph.vis}var self=this;this.graph.onUpdate(function(){self.render()})},setSize:function(args){args=args||{};if(!this.element)return;if(typeof window!=="undefined"){var style=window.getComputedStyle(this.element.parentNode,null);var elementWidth=parseInt(style.getPropertyValue("width"),10);if(!args.auto){var elementHeight=parseInt(style.getPropertyValue("height"),10)}}this.width=args.width||elementWidth||this.graph.width*this.berthRate;this.height=args.height||elementHeight||this.graph.height;this.vis.attr("width",this.width).attr("height",this.height*(1+this.berthRate));var berth=this.height*this.berthRate;if(this.orientation=="left"){this.element.style.top=-1*berth+"px"}},render:function(){if(this._renderHeight!==undefined&&this.graph.height!==this._renderHeight)this.setSize({auto:true});this.ticks=this.staticTicks||Math.floor(this.graph.height/this.pixelsPerTick);var axis=this._drawAxis(this.graph.y);this._drawGrid(axis);this._renderHeight=this.graph.height},_drawAxis:function(scale){var axis=d3.svg.axis().scale(scale).orient(this.orientation);axis.tickFormat(this.tickFormat);if(this.tickValues)axis.tickValues(this.tickValues);if(this.orientation=="left"){var berth=this.height*this.berthRate;var transform="translate("+this.width+", "+berth+")"}if(this.element){this.vis.selectAll("*").remove()}this.vis.append("svg:g").attr("class",["y_ticks",this.ticksTreatment].join(" ")).attr("transform",transform).call(axis.ticks(this.ticks).tickSubdivide(0).tickSize(this.tickSize));return axis},_drawGrid:function(axis){var gridSize=(this.orientation=="right"?1:-1)*this.graph.width;this.graph.vis.append("svg:g").attr("class","y_grid").call(axis.ticks(this.ticks).tickSubdivide(0).tickSize(gridSize)).selectAll("text").each(function(){this.parentNode.setAttribute("data-y-value",this.textContent) -})}});Rickshaw.namespace("Rickshaw.Graph.Axis.Y.Scaled");Rickshaw.Graph.Axis.Y.Scaled=Rickshaw.Class.create(Rickshaw.Graph.Axis.Y,{initialize:function($super,args){if(typeof args.scale==="undefined"){throw new Error("Scaled requires scale")}this.scale=args.scale;if(typeof args.grid==="undefined"){this.grid=true}else{this.grid=args.grid}$super(args)},_drawAxis:function($super,scale){var domain=this.scale.domain();var renderDomain=this.graph.renderer.domain().y;var extents=[Math.min.apply(Math,domain),Math.max.apply(Math,domain)];var extentMap=d3.scale.linear().domain([0,1]).range(extents);var adjExtents=[extentMap(renderDomain[0]),extentMap(renderDomain[1])];var adjustment=d3.scale.linear().domain(extents).range(adjExtents);var adjustedScale=this.scale.copy().domain(domain.map(adjustment)).range(scale.range());return $super(adjustedScale)},_drawGrid:function($super,axis){if(this.grid){$super(axis)}}});Rickshaw.namespace("Rickshaw.Graph.Behavior.Series.Highlight");Rickshaw.Graph.Behavior.Series.Highlight=function(args){this.graph=args.graph;this.legend=args.legend;var self=this;var colorSafe={};var activeLine=null;var disabledColor=args.disabledColor||function(seriesColor){return d3.interpolateRgb(seriesColor,d3.rgb("#d8d8d8"))(.8).toString()};this.addHighlightEvents=function(l){l.element.addEventListener("mouseover",function(e){if(activeLine)return;else activeLine=l;self.legend.lines.forEach(function(line){if(l===line){if(self.graph.renderer.unstack&&(line.series.renderer?line.series.renderer.unstack:true)){var seriesIndex=self.graph.series.indexOf(line.series);line.originalIndex=seriesIndex;var series=self.graph.series.splice(seriesIndex,1)[0];self.graph.series.push(series)}return}colorSafe[line.series.name]=colorSafe[line.series.name]||line.series.color;line.series.color=disabledColor(line.series.color)});self.graph.update()},false);l.element.addEventListener("mouseout",function(e){if(!activeLine)return;else activeLine=null;self.legend.lines.forEach(function(line){if(l===line&&line.hasOwnProperty("originalIndex")){var series=self.graph.series.pop();self.graph.series.splice(line.originalIndex,0,series);delete line.originalIndex}if(colorSafe[line.series.name]){line.series.color=colorSafe[line.series.name]}});self.graph.update()},false)};if(this.legend){this.legend.lines.forEach(function(l){self.addHighlightEvents(l)})}};Rickshaw.namespace("Rickshaw.Graph.Behavior.Series.Order");Rickshaw.Graph.Behavior.Series.Order=function(args){this.graph=args.graph;this.legend=args.legend;var self=this;if(typeof window.jQuery=="undefined"){throw"couldn't find jQuery at window.jQuery"}if(typeof window.jQuery.ui=="undefined"){throw"couldn't find jQuery UI at window.jQuery.ui"}jQuery(function(){jQuery(self.legend.list).sortable({containment:"parent",tolerance:"pointer",update:function(event,ui){var series=[];jQuery(self.legend.list).find("li").each(function(index,item){if(!item.series)return;series.push(item.series)});for(var i=self.graph.series.length-1;i>=0;i--){self.graph.series[i]=series.shift()}self.graph.update()}});jQuery(self.legend.list).disableSelection()});this.graph.onUpdate(function(){var h=window.getComputedStyle(self.legend.element).height;self.legend.element.style.height=h})};Rickshaw.namespace("Rickshaw.Graph.Behavior.Series.Toggle");Rickshaw.Graph.Behavior.Series.Toggle=function(args){this.graph=args.graph;this.legend=args.legend;var self=this;this.addAnchor=function(line){var anchor=document.createElement("a");anchor.innerHTML="✔";anchor.classList.add("action");line.element.insertBefore(anchor,line.element.firstChild);anchor.onclick=function(e){if(line.series.disabled){line.series.enable();line.element.classList.remove("disabled")}else{if(this.graph.series.filter(function(s){return!s.disabled}).length<=1)return;line.series.disable();line.element.classList.add("disabled")}self.graph.update()}.bind(this);var label=line.element.getElementsByTagName("span")[0];label.onclick=function(e){var disableAllOtherLines=line.series.disabled;if(!disableAllOtherLines){for(var i=0;idomainX){dataIndex=Math.abs(domainX-data[i].x)0){alignables.forEach(function(el){el.classList.remove("left");el.classList.add("right")});var rightAlignError=this._calcLayoutError(alignables);if(rightAlignError>leftAlignError){alignables.forEach(function(el){el.classList.remove("right");el.classList.add("left")})}}if(typeof this.onRender=="function"){this.onRender(args)}},_calcLayoutError:function(alignables){var parentRect=this.element.parentNode.getBoundingClientRect();var error=0;var alignRight=alignables.forEach(function(el){var rect=el.getBoundingClientRect();if(!rect.width){return}if(rect.right>parentRect.right){error+=rect.right-parentRect.right}if(rect.left=self.previewWidth){frameAfterDrag[0]-=frameAfterDrag[1]-self.previewWidth;frameAfterDrag[1]=self.previewWidth}}self.graphs.forEach(function(graph){var domainScale=d3.scale.linear().interpolate(d3.interpolateNumber).domain([0,self.previewWidth]).range(graph.dataDomain());var windowAfterDrag=[domainScale(frameAfterDrag[0]),domainScale(frameAfterDrag[1])];self.slideCallbacks.forEach(function(callback){callback(graph,windowAfterDrag[0],windowAfterDrag[1])});if(frameAfterDrag[0]===0){windowAfterDrag[0]=undefined}if(frameAfterDrag[1]===self.previewWidth){windowAfterDrag[1]=undefined}graph.window.xMin=windowAfterDrag[0];graph.window.xMax=windowAfterDrag[1];graph.update()})}function onMousedown(){drag.target=d3.event.target;drag.start=self._getClientXFromEvent(d3.event,drag);self.frameBeforeDrag=self.currentFrame.slice();d3.event.preventDefault?d3.event.preventDefault():d3.event.returnValue=false;d3.select(document).on("mousemove.rickshaw_range_slider_preview",onMousemove);d3.select(document).on("mouseup.rickshaw_range_slider_preview",onMouseup);d3.select(document).on("touchmove.rickshaw_range_slider_preview",onMousemove);d3.select(document).on("touchend.rickshaw_range_slider_preview",onMouseup);d3.select(document).on("touchcancel.rickshaw_range_slider_preview",onMouseup)}function onMousedownLeftHandle(datum,index){drag.left=true;onMousedown()}function onMousedownRightHandle(datum,index){drag.right=true;onMousedown()}function onMousedownMiddleHandle(datum,index){drag.left=true;drag.right=true;drag.rigid=true;onMousedown()}function onMouseup(datum,index){d3.select(document).on("mousemove.rickshaw_range_slider_preview",null);d3.select(document).on("mouseup.rickshaw_range_slider_preview",null);d3.select(document).on("touchmove.rickshaw_range_slider_preview",null);d3.select(document).on("touchend.rickshaw_range_slider_preview",null);d3.select(document).on("touchcancel.rickshaw_range_slider_preview",null);delete self.frameBeforeDrag;drag.left=false;drag.right=false;drag.rigid=false}element.select("rect.left_handle").on("mousedown",onMousedownLeftHandle);element.select("rect.right_handle").on("mousedown",onMousedownRightHandle);element.select("rect.middle_handle").on("mousedown",onMousedownMiddleHandle);element.select("rect.left_handle").on("touchstart",onMousedownLeftHandle);element.select("rect.right_handle").on("touchstart",onMousedownRightHandle);element.select("rect.middle_handle").on("touchstart",onMousedownMiddleHandle)},_getClientXFromEvent:function(event,drag){switch(event.type){case"touchstart":case"touchmove":var touchList=event.changedTouches;var touch=null;for(var touchIndex=0;touchIndexyMax)yMax=y});if(!series.length)return;if(series[0].xxMax)xMax=series[series.length-1].x});xMin-=(xMax-xMin)*this.padding.left;xMax+=(xMax-xMin)*this.padding.right;yMin=this.graph.min==="auto"?yMin:this.graph.min||0;yMax=this.graph.max===undefined?yMax:this.graph.max;if(this.graph.min==="auto"||yMin<0){yMin-=(yMax-yMin)*this.padding.bottom}if(this.graph.max===undefined){yMax+=(yMax-yMin)*this.padding.top}return{x:[xMin,xMax],y:[yMin,yMax]}},render:function(args){args=args||{};var graph=this.graph;var series=args.series||graph.series;var vis=args.vis||graph.vis;vis.selectAll("*").remove();var data=series.filter(function(s){return!s.disabled}).map(function(s){return s.stack});var pathNodes=vis.selectAll("path.path").data(data).enter().append("svg:path").classed("path",true).attr("d",this.seriesPathFactory());if(this.stroke){var strokeNodes=vis.selectAll("path.stroke").data(data).enter().append("svg:path").classed("stroke",true).attr("d",this.seriesStrokeFactory())}var i=0;series.forEach(function(series){if(series.disabled)return;series.path=pathNodes[0][i];if(this.stroke)series.stroke=strokeNodes[0][i];this._styleSeries(series);i++},this)},_styleSeries:function(series){var fill=this.fill?series.color:"none";var stroke=this.stroke?series.color:"none";series.path.setAttribute("fill",fill);series.path.setAttribute("stroke",stroke);series.path.setAttribute("stroke-width",this.strokeWidth);if(series.className){d3.select(series.path).classed(series.className,true)}if(series.className&&this.stroke){d3.select(series.stroke).classed(series.className,true)}},configure:function(args){args=args||{};Rickshaw.keys(this.defaults()).forEach(function(key){if(!args.hasOwnProperty(key)){this[key]=this[key]||this.graph[key]||this.defaults()[key];return}if(typeof this.defaults()[key]=="object"){Rickshaw.keys(this.defaults()[key]).forEach(function(k){this[key][k]=args[key][k]!==undefined?args[key][k]:this[key][k]!==undefined?this[key][k]:this.defaults()[key][k]},this)}else{this[key]=args[key]!==undefined?args[key]:this[key]!==undefined?this[key]:this.graph[key]!==undefined?this.graph[key]:this.defaults()[key]}},this)},setStrokeWidth:function(strokeWidth){if(strokeWidth!==undefined){this.strokeWidth=strokeWidth}},setTension:function(tension){if(tension!==undefined){this.tension=tension}}});Rickshaw.namespace("Rickshaw.Graph.Renderer.Line");Rickshaw.Graph.Renderer.Line=Rickshaw.Class.create(Rickshaw.Graph.Renderer,{name:"line",defaults:function($super){return Rickshaw.extend($super(),{unstack:true,fill:false,stroke:true})},seriesPathFactory:function(){var graph=this.graph;var factory=d3.svg.line().x(function(d){return graph.x(d.x)}).y(function(d){return graph.y(d.y)}).interpolate(this.graph.interpolation).tension(this.tension);factory.defined&&factory.defined(function(d){return d.y!==null});return factory}});Rickshaw.namespace("Rickshaw.Graph.Renderer.Stack");Rickshaw.Graph.Renderer.Stack=Rickshaw.Class.create(Rickshaw.Graph.Renderer,{name:"stack",defaults:function($super){return Rickshaw.extend($super(),{fill:true,stroke:false,unstack:false})},seriesPathFactory:function(){var graph=this.graph;var factory=d3.svg.area().x(function(d){return graph.x(d.x)}).y0(function(d){return graph.y(d.y0)}).y1(function(d){return graph.y(d.y+d.y0)}).interpolate(this.graph.interpolation).tension(this.tension);factory.defined&&factory.defined(function(d){return d.y!==null});return factory}});Rickshaw.namespace("Rickshaw.Graph.Renderer.Bar");Rickshaw.Graph.Renderer.Bar=Rickshaw.Class.create(Rickshaw.Graph.Renderer,{name:"bar",defaults:function($super){var defaults=Rickshaw.extend($super(),{gapSize:.05,unstack:false});delete defaults.tension;return defaults},initialize:function($super,args){args=args||{};this.gapSize=args.gapSize||this.gapSize;$super(args)},domain:function($super){var domain=$super();var frequentInterval=this._frequentInterval(this.graph.stackedData.slice(-1).shift());domain.x[1]+=Number(frequentInterval.magnitude);return domain},barWidth:function(series){var frequentInterval=this._frequentInterval(series.stack);var barWidth=this.graph.x.magnitude(frequentInterval.magnitude)*(1-this.gapSize);return barWidth},render:function(args){args=args||{};var graph=this.graph;var series=args.series||graph.series;var vis=args.vis||graph.vis;vis.selectAll("*").remove();var barWidth=this.barWidth(series.active()[0]);var barXOffset=0;var activeSeriesCount=series.filter(function(s){return!s.disabled}).length;var seriesBarWidth=this.unstack?barWidth/activeSeriesCount:barWidth;var transform=function(d){var matrix=[1,0,0,d.y<0?-1:1,0,d.y<0?graph.y.magnitude(Math.abs(d.y))*2:0];return"matrix("+matrix.join(",")+")"};series.forEach(function(series){if(series.disabled)return;var barWidth=this.barWidth(series);var nodes=vis.selectAll("path").data(series.stack.filter(function(d){return d.y!==null})).enter().append("svg:rect").attr("x",function(d){return graph.x(d.x)+barXOffset}).attr("y",function(d){return graph.y(d.y0+Math.abs(d.y))*(d.y<0?-1:1)}).attr("width",seriesBarWidth).attr("height",function(d){return graph.y.magnitude(Math.abs(d.y))}).attr("transform",transform);Array.prototype.forEach.call(nodes[0],function(n){n.setAttribute("fill",series.color)});if(this.unstack)barXOffset+=seriesBarWidth},this)},_frequentInterval:function(data){var intervalCounts={};for(var i=0;i0){this[0].data.forEach(function(plot){item.data.push({x:plot.x,y:0})})}else if(item.data.length===0){item.data.push({x:this.timeBase-(this.timeInterval||0),y:0})}this.push(item);if(this.legend){this.legend.addLine(this.itemByName(item.name))}},addData:function(data,x){var index=this.getIndex();Rickshaw.keys(data).forEach(function(name){if(!this.itemByName(name)){this.addItem({name:name})}},this);this.forEach(function(item){item.data.push({x:x||(index*this.timeInterval||1)+this.timeBase,y:data[item.name]||0})},this)},getIndex:function(){return this[0]&&this[0].data&&this[0].data.length?this[0].data.length:0},itemByName:function(name){for(var i=0;i1;i--){this.currentSize+=1;this.currentIndex+=1;this.forEach(function(item){item.data.unshift({x:((i-1)*this.timeInterval||1)+this.timeBase,y:0,i:i})},this)}}},addData:function($super,data,x){$super(data,x);this.currentSize+=1;this.currentIndex+=1;if(this.maxDataPoints!==undefined){while(this.currentSize>this.maxDataPoints){this.dropData()}}},dropData:function(){this.forEach(function(item){item.data.splice(0,1)});this.currentSize-=1},getIndex:function(){return this.currentIndex}});return Rickshaw}); \ No newline at end of file diff --git a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.analytics-view/analytics-view.hbs b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.analytics-view/analytics-view.hbs index 6a28c72cf2..f63e350851 100644 --- a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.analytics-view/analytics-view.hbs +++ b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.analytics-view/analytics-view.hbs @@ -1,25 +1,20 @@ -{{#zone "topCss"}} - {{css "css/graph.css"}} -{{/zone}} - -
+
- Temperature -
+

Temperature

+
-
-
+
+
-
-
-
+
+
+
{{#zone "bottomJs"}} - {{js "js/d3.min.js"}} - {{js "js/rickshaw.min.js"}} - {{js "js/moment.min.js"}} - {{js "js/devicetype-graph.js"}} + {{js "js/raspberrypi.js"}} {{/zone}} diff --git a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.analytics-view/analytics-view.js b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.analytics-view/analytics-view.js index 215bb7df1e..7cae7a141b 100644 --- a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.analytics-view/analytics-view.js +++ b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.analytics-view/analytics-view.js @@ -17,14 +17,25 @@ */ function onRequest(context) { + var devicemgtProps = require('/app/conf/devicemgt-props.js').config(); + + var devices = context.unit.params.devices; var deviceType = context.uriParams.deviceType; var deviceId = request.getParameter("deviceId"); - if (deviceType != null && deviceType != undefined && deviceId != null && deviceId != undefined) { + if (devices) { + return { + "devices": stringify(devices), + "backendApiUri": devicemgtProps["httpsURL"] + "/raspberrypi/device/stats/" + }; + } else if (deviceType != null && deviceType != undefined && deviceId != null && deviceId != undefined) { var deviceModule = require("/app/modules/device.js").deviceModule; var device = deviceModule.viewDevice(deviceType, deviceId); if (device && device.status != "error") { - return {"device": device, "backendApiUri" : devicemgtProps["httpsURL"] + "/raspberrypi/device/stats/" + deviceId}; + return { + "device": device, + "backendApiUri": devicemgtProps["httpsURL"] + "/raspberrypi/device/stats/" + deviceId + }; } else { response.sendError(404, "Device Id " + deviceId + " of type " + deviceType + " cannot be found!"); exit(); diff --git a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.analytics-view/public/css/graph.css b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.analytics-view/public/css/graph.css deleted file mode 100644 index 9f357f2fa5..0000000000 --- a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.analytics-view/public/css/graph.css +++ /dev/null @@ -1,470 +0,0 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. 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. - */ - -/* graph */ - -.rickshaw_graph { - position: relative; -} - -.rickshaw_graph svg { - display: block; - overflow: hidden; -} - -/* ticks */ - -.rickshaw_graph .x_tick { - position: absolute; - top: 0; - bottom: 0; - width: 0; - border-left: 1px dotted rgba(0, 0, 0, 0.2); - pointer-events: none; -} - -.rickshaw_graph .x_tick .title { - position: absolute; - font-size: 12px; - font-family: Arial, sans-serif; - opacity: 0.5; - white-space: nowrap; - margin-left: 3px; - bottom: -20px; - height: auto; - border-bottom: none; -} - -/* annotations */ - -.rickshaw_annotation_timeline { - height: 1px; - border-top: 1px solid #e0e0e0; - margin-top: 10px; - position: relative; -} - -.rickshaw_annotation_timeline .annotation { - position: absolute; - height: 6px; - width: 6px; - margin-left: -2px; - top: -3px; - border-radius: 5px; - background-color: rgba(0, 0, 0, 0.25); -} - -.rickshaw_graph .annotation_line { - position: absolute; - top: 0; - bottom: -6px; - width: 0; - border-left: 2px solid rgba(0, 0, 0, 0.3); - display: none; -} - -.rickshaw_graph .annotation_line.active { - display: block; -} - -.rickshaw_graph .annotation_range { - background: rgba(0, 0, 0, 0.1); - display: none; - position: absolute; - top: 0; - bottom: -6px; -} - -.rickshaw_graph .annotation_range.active { - display: block; -} - -.rickshaw_graph .annotation_range.active.offscreen { - display: none; -} - -.rickshaw_annotation_timeline .annotation .content { - background: white; - color: black; - opacity: 0.9; - box-shadow: 0 0 2px rgba(0, 0, 0, 0.8); - border-radius: 3px; - position: relative; - z-index: 20; - font-size: 12px; - padding: 6px 8px 8px; - top: 18px; - left: -11px; - width: 160px; - display: none; - cursor: pointer; -} - -.rickshaw_annotation_timeline .annotation .content:before { - content: "\25b2"; - position: absolute; - top: -11px; - color: white; - text-shadow: 0 -1px 1px rgba(0, 0, 0, 0.8); -} - -.rickshaw_annotation_timeline .annotation.active, -.rickshaw_annotation_timeline .annotation:hover { - background-color: rgba(0, 0, 0, 0.8); - cursor: none; -} - -.rickshaw_annotation_timeline .annotation .content:hover { - z-index: 50; -} - -.rickshaw_annotation_timeline .annotation.active .content { - display: block; -} - -.rickshaw_annotation_timeline .annotation:hover .content { - display: block; - z-index: 50; -} - -.rickshaw_graph .y_axis, -.rickshaw_graph .x_axis_d3 { - fill: none; -} - -.rickshaw_graph .y_ticks .tick line, -.rickshaw_graph .x_ticks_d3 .tick { - stroke: rgba(0, 0, 0, 0.16); - stroke-width: 2px; - shape-rendering: crisp-edges; - pointer-events: none; -} - -.rickshaw_graph .y_grid .tick, -.rickshaw_graph .x_grid_d3 .tick { - z-index: -1; - stroke: rgba(0, 0, 0, 0.20); - stroke-width: 1px; - stroke-dasharray: 1 1; -} - -.rickshaw_graph .y_grid .tick[data-y-value="0"] { - stroke-dasharray: 1 0; -} - -.rickshaw_graph .y_grid path, -.rickshaw_graph .x_grid_d3 path { - fill: none; - stroke: none; -} - -.rickshaw_graph .y_ticks path, -.rickshaw_graph .x_ticks_d3 path { - fill: none; - stroke: #808080; -} - -.rickshaw_graph .y_ticks text, -.rickshaw_graph .x_ticks_d3 text { - opacity: 0.5; - font-size: 12px; - pointer-events: none; -} - -.rickshaw_graph .x_tick.glow .title, -.rickshaw_graph .y_ticks.glow text { - fill: black; - color: black; - text-shadow: -1px 1px 0 rgba(255, 255, 255, 0.1), - 1px -1px 0 rgba(255, 255, 255, 0.1), - 1px 1px 0 rgba(255, 255, 255, 0.1), - 0 1px 0 rgba(255, 255, 255, 0.1), - 0 -1px 0 rgba(255, 255, 255, 0.1), - 1px 0 0 rgba(255, 255, 255, 0.1), - -1px 0 0 rgba(255, 255, 255, 0.1), - -1px -1px 0 rgba(255, 255, 255, 0.1); -} - -.rickshaw_graph .x_tick.inverse .title, -.rickshaw_graph .y_ticks.inverse text { - fill: white; - color: white; - text-shadow: -1px 1px 0 rgba(0, 0, 0, 0.8), - 1px -1px 0 rgba(0, 0, 0, 0.8), - 1px 1px 0 rgba(0, 0, 0, 0.8), - 0 1px 0 rgba(0, 0, 0, 0.8), - 0 -1px 0 rgba(0, 0, 0, 0.8), - 1px 0 0 rgba(0, 0, 0, 0.8), - -1px 0 0 rgba(0, 0, 0, 0.8), - -1px -1px 0 rgba(0, 0, 0, 0.8); -} - -.custom_rickshaw_graph { - position: relative; - left: 40px; -} - -.custom_y_axis { - position: absolute; - width: 40px; -} - -.custom_slider { - left: 40px; -} - -.custom_x_axis { - position: relative; - left: 40px; - height: 30px; - width: 97%; - top: 20px; - text-align: right; -} - -.chartWrapper { - padding-top: 50px; -} - -/*detail*/ - -.rickshaw_graph .detail { - pointer-events: none; - position: absolute; - top: 0; - z-index: 2; - background: rgba(0, 0, 0, 0.1); - bottom: 0; - width: 1px; - transition: opacity 0.25s linear; - -moz-transition: opacity 0.25s linear; - -o-transition: opacity 0.25s linear; - -webkit-transition: opacity 0.25s linear; -} - -.rickshaw_graph .detail.inactive { - opacity: 0; -} - -.rickshaw_graph .detail .item.active { - opacity: 1; -} - -.rickshaw_graph .detail .x_label { - font-family: Arial, sans-serif; - border-radius: 3px; - padding: 6px; - opacity: 0.5; - border: 1px solid #e0e0e0; - font-size: 12px; - position: absolute; - background: white; - white-space: nowrap; -} - -.rickshaw_graph .detail .x_label.left { - left: 0; -} - -.rickshaw_graph .detail .x_label.right { - right: 0; -} - -.rickshaw_graph .detail .item { - position: absolute; - z-index: 2; - border-radius: 3px; - padding: 0.25em; - font-size: 12px; - font-family: Arial, sans-serif; - opacity: 0; - background: rgba(0, 0, 0, 0.4); - color: white; - border: 1px solid rgba(0, 0, 0, 0.4); - margin-left: 1em; - margin-right: 1em; - margin-top: -1em; - white-space: nowrap; -} - -.rickshaw_graph .detail .item.left { - left: 0; -} - -.rickshaw_graph .detail .item.right { - right: 0; -} - -.rickshaw_graph .detail .item.active { - opacity: 1; - background: rgba(0, 0, 0, 0.8); -} - -.rickshaw_graph .detail .item:after { - position: absolute; - display: block; - width: 0; - height: 0; - - content: ""; - - border: 5px solid transparent; -} - -.rickshaw_graph .detail .item.left:after { - top: 1em; - left: -5px; - margin-top: -5px; - border-right-color: rgba(0, 0, 0, 0.8); - border-left-width: 0; -} - -.rickshaw_graph .detail .item.right:after { - top: 1em; - right: -5px; - margin-top: -5px; - border-left-color: rgba(0, 0, 0, 0.8); - border-right-width: 0; -} - -.rickshaw_graph .detail .dot { - width: 4px; - height: 4px; - margin-left: -3px; - margin-top: -3.5px; - border-radius: 5px; - position: absolute; - box-shadow: 0 0 2px rgba(0, 0, 0, 0.6); - box-sizing: content-box; - -moz-box-sizing: content-box; - background: white; - border-width: 2px; - border-style: solid; - display: none; - background-clip: padding-box; -} - -.rickshaw_graph .detail .dot.active { - display: block; -} - -/*legend*/ -.rickshaw_legend { - font-family: Arial; - font-size: 12px; - color: white; - background: #404040; - display: inline-block; - padding: 12px 5px; - border-radius: 2px; - position: relative; - float: right; -} - -.rickshaw_legend:hover { - z-index: 10; -} - -.rickshaw_legend .swatch { - width: 10px; - height: 10px; - border: 1px solid rgba(0, 0, 0, 0.2); -} - -.rickshaw_legend .line { - clear: both; - line-height: 140%; - padding-right: 15px; -} - -.rickshaw_legend .line .swatch { - display: inline-block; - margin-right: 3px; - border-radius: 2px; -} - -.rickshaw_legend .label { - margin: 0; - white-space: nowrap; - display: inline; - font-size: inherit; - background-color: transparent; - color: inherit; - font-weight: normal; - line-height: normal; - padding: 0; - text-shadow: none; -} - -.rickshaw_legend .action:hover { - opacity: 0.6; -} - -.rickshaw_legend .action { - margin-right: 0.2em; - opacity: 0.2; - cursor: pointer; - font-size: 14px; -} - -.rickshaw_legend .line.disabled { - opacity: 0.4; -} - -.rickshaw_legend ul { - list-style-type: none; - padding: 0; - margin: 2px; - cursor: pointer; -} - -.rickshaw_legend li { - padding: 0 0 0 2px; - min-width: 80px; - white-space: nowrap; -} - -.rickshaw_legend li:hover { - background: rgba(255, 255, 255, 0.08); - border-radius: 3px; -} - -.rickshaw_legend li:active { - background: rgba(255, 255, 255, 0.2); - border-radius: 3px; -} - -.legend { - display: inline-block; - position: relative; - left: 8px; -} - -.legend_container { - float: right; - padding-right: 10px; - width: 0; - z-index: 1; - position: relative; - opacity: 0.7; -} - -.spaced { - margin-top: 20px !important; -} - diff --git a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.analytics-view/public/js/d3.min.js b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.analytics-view/public/js/d3.min.js deleted file mode 100644 index 71f9715eec..0000000000 --- a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.analytics-view/public/js/d3.min.js +++ /dev/null @@ -1,9488 +0,0 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. 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() { - var d3 = { - version: "3.5.2" - }; - if (!Date.now) Date.now = function() { - return +new Date(); - }; - var d3_arraySlice = [].slice, d3_array = function(list) { - return d3_arraySlice.call(list); - }; - var d3_document = document, d3_documentElement = d3_document.documentElement, d3_window = window; - try { - d3_array(d3_documentElement.childNodes)[0].nodeType; - } catch (e) { - d3_array = function(list) { - var i = list.length, array = new Array(i); - while (i--) array[i] = list[i]; - return array; - }; - } - try { - d3_document.createElement("div").style.setProperty("opacity", 0, ""); - } catch (error) { - var d3_element_prototype = d3_window.Element.prototype, d3_element_setAttribute = d3_element_prototype.setAttribute, d3_element_setAttributeNS = d3_element_prototype.setAttributeNS, d3_style_prototype = d3_window.CSSStyleDeclaration.prototype, d3_style_setProperty = d3_style_prototype.setProperty; - d3_element_prototype.setAttribute = function(name, value) { - d3_element_setAttribute.call(this, name, value + ""); - }; - d3_element_prototype.setAttributeNS = function(space, local, value) { - d3_element_setAttributeNS.call(this, space, local, value + ""); - }; - d3_style_prototype.setProperty = function(name, value, priority) { - d3_style_setProperty.call(this, name, value + "", priority); - }; - } - d3.ascending = d3_ascending; - function d3_ascending(a, b) { - return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN; - } - d3.descending = function(a, b) { - return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN; - }; - d3.min = function(array, f) { - var i = -1, n = array.length, a, b; - if (arguments.length === 1) { - while (++i < n) if ((b = array[i]) != null && b >= b) { - a = b; - break; - } - while (++i < n) if ((b = array[i]) != null && a > b) a = b; - } else { - while (++i < n) if ((b = f.call(array, array[i], i)) != null && b >= b) { - a = b; - break; - } - while (++i < n) if ((b = f.call(array, array[i], i)) != null && a > b) a = b; - } - return a; - }; - d3.max = function(array, f) { - var i = -1, n = array.length, a, b; - if (arguments.length === 1) { - while (++i < n) if ((b = array[i]) != null && b >= b) { - a = b; - break; - } - while (++i < n) if ((b = array[i]) != null && b > a) a = b; - } else { - while (++i < n) if ((b = f.call(array, array[i], i)) != null && b >= b) { - a = b; - break; - } - while (++i < n) if ((b = f.call(array, array[i], i)) != null && b > a) a = b; - } - return a; - }; - d3.extent = function(array, f) { - var i = -1, n = array.length, a, b, c; - if (arguments.length === 1) { - while (++i < n) if ((b = array[i]) != null && b >= b) { - a = c = b; - break; - } - while (++i < n) if ((b = array[i]) != null) { - if (a > b) a = b; - if (c < b) c = b; - } - } else { - while (++i < n) if ((b = f.call(array, array[i], i)) != null && b >= b) { - a = c = b; - break; - } - while (++i < n) if ((b = f.call(array, array[i], i)) != null) { - if (a > b) a = b; - if (c < b) c = b; - } - } - return [ a, c ]; - }; - function d3_number(x) { - return x === null ? NaN : +x; - } - function d3_numeric(x) { - return !isNaN(x); - } - d3.sum = function(array, f) { - var s = 0, n = array.length, a, i = -1; - if (arguments.length === 1) { - while (++i < n) if (d3_numeric(a = +array[i])) s += a; - } else { - while (++i < n) if (d3_numeric(a = +f.call(array, array[i], i))) s += a; - } - return s; - }; - d3.mean = function(array, f) { - var s = 0, n = array.length, a, i = -1, j = n; - if (arguments.length === 1) { - while (++i < n) if (d3_numeric(a = d3_number(array[i]))) s += a; else --j; - } else { - while (++i < n) if (d3_numeric(a = d3_number(f.call(array, array[i], i)))) s += a; else --j; - } - if (j) return s / j; - }; - d3.quantile = function(values, p) { - var H = (values.length - 1) * p + 1, h = Math.floor(H), v = +values[h - 1], e = H - h; - return e ? v + e * (values[h] - v) : v; - }; - d3.median = function(array, f) { - var numbers = [], n = array.length, a, i = -1; - if (arguments.length === 1) { - while (++i < n) if (d3_numeric(a = d3_number(array[i]))) numbers.push(a); - } else { - while (++i < n) if (d3_numeric(a = d3_number(f.call(array, array[i], i)))) numbers.push(a); - } - if (numbers.length) return d3.quantile(numbers.sort(d3_ascending), .5); - }; - d3.variance = function(array, f) { - var n = array.length, m = 0, a, d, s = 0, i = -1, j = 0; - if (arguments.length === 1) { - while (++i < n) { - if (d3_numeric(a = d3_number(array[i]))) { - d = a - m; - m += d / ++j; - s += d * (a - m); - } - } - } else { - while (++i < n) { - if (d3_numeric(a = d3_number(f.call(array, array[i], i)))) { - d = a - m; - m += d / ++j; - s += d * (a - m); - } - } - } - if (j > 1) return s / (j - 1); - }; - d3.deviation = function() { - var v = d3.variance.apply(this, arguments); - return v ? Math.sqrt(v) : v; - }; - function d3_bisector(compare) { - return { - left: function(a, x, lo, hi) { - if (arguments.length < 3) lo = 0; - if (arguments.length < 4) hi = a.length; - while (lo < hi) { - var mid = lo + hi >>> 1; - if (compare(a[mid], x) < 0) lo = mid + 1; else hi = mid; - } - return lo; - }, - right: function(a, x, lo, hi) { - if (arguments.length < 3) lo = 0; - if (arguments.length < 4) hi = a.length; - while (lo < hi) { - var mid = lo + hi >>> 1; - if (compare(a[mid], x) > 0) hi = mid; else lo = mid + 1; - } - return lo; - } - }; - } - var d3_bisect = d3_bisector(d3_ascending); - d3.bisectLeft = d3_bisect.left; - d3.bisect = d3.bisectRight = d3_bisect.right; - d3.bisector = function(f) { - return d3_bisector(f.length === 1 ? function(d, x) { - return d3_ascending(f(d), x); - } : f); - }; - d3.shuffle = function(array, i0, i1) { - if ((m = arguments.length) < 3) { - i1 = array.length; - if (m < 2) i0 = 0; - } - var m = i1 - i0, t, i; - while (m) { - i = Math.random() * m-- | 0; - t = array[m + i0], array[m + i0] = array[i + i0], array[i + i0] = t; - } - return array; - }; - d3.permute = function(array, indexes) { - var i = indexes.length, permutes = new Array(i); - while (i--) permutes[i] = array[indexes[i]]; - return permutes; - }; - d3.pairs = function(array) { - var i = 0, n = array.length - 1, p0, p1 = array[0], pairs = new Array(n < 0 ? 0 : n); - while (i < n) pairs[i] = [ p0 = p1, p1 = array[++i] ]; - return pairs; - }; - d3.zip = function() { - if (!(n = arguments.length)) return []; - for (var i = -1, m = d3.min(arguments, d3_zipLength), zips = new Array(m); ++i < m; ) { - for (var j = -1, n, zip = zips[i] = new Array(n); ++j < n; ) { - zip[j] = arguments[j][i]; - } - } - return zips; - }; - function d3_zipLength(d) { - return d.length; - } - d3.transpose = function(matrix) { - return d3.zip.apply(d3, matrix); - }; - d3.keys = function(map) { - var keys = []; - for (var key in map) keys.push(key); - return keys; - }; - d3.values = function(map) { - var values = []; - for (var key in map) values.push(map[key]); - return values; - }; - d3.entries = function(map) { - var entries = []; - for (var key in map) entries.push({ - key: key, - value: map[key] - }); - return entries; - }; - d3.merge = function(arrays) { - var n = arrays.length, m, i = -1, j = 0, merged, array; - while (++i < n) j += arrays[i].length; - merged = new Array(j); - while (--n >= 0) { - array = arrays[n]; - m = array.length; - while (--m >= 0) { - merged[--j] = array[m]; - } - } - return merged; - }; - var abs = Math.abs; - d3.range = function(start, stop, step) { - if (arguments.length < 3) { - step = 1; - if (arguments.length < 2) { - stop = start; - start = 0; - } - } - if ((stop - start) / step === Infinity) throw new Error("infinite range"); - var range = [], k = d3_range_integerScale(abs(step)), i = -1, j; - start *= k, stop *= k, step *= k; - if (step < 0) while ((j = start + step * ++i) > stop) range.push(j / k); else while ((j = start + step * ++i) < stop) range.push(j / k); - return range; - }; - function d3_range_integerScale(x) { - var k = 1; - while (x * k % 1) k *= 10; - return k; - } - function d3_class(ctor, properties) { - for (var key in properties) { - Object.defineProperty(ctor.prototype, key, { - value: properties[key], - enumerable: false - }); - } - } - d3.map = function(object, f) { - var map = new d3_Map(); - if (object instanceof d3_Map) { - object.forEach(function(key, value) { - map.set(key, value); - }); - } else if (Array.isArray(object)) { - var i = -1, n = object.length, o; - if (arguments.length === 1) while (++i < n) map.set(i, object[i]); else while (++i < n) map.set(f.call(object, o = object[i], i), o); - } else { - for (var key in object) map.set(key, object[key]); - } - return map; - }; - function d3_Map() { - this._ = Object.create(null); - } - var d3_map_proto = "__proto__", d3_map_zero = "\x00"; - d3_class(d3_Map, { - has: d3_map_has, - get: function(key) { - return this._[d3_map_escape(key)]; - }, - set: function(key, value) { - return this._[d3_map_escape(key)] = value; - }, - remove: d3_map_remove, - keys: d3_map_keys, - values: function() { - var values = []; - for (var key in this._) values.push(this._[key]); - return values; - }, - entries: function() { - var entries = []; - for (var key in this._) entries.push({ - key: d3_map_unescape(key), - value: this._[key] - }); - return entries; - }, - size: d3_map_size, - empty: d3_map_empty, - forEach: function(f) { - for (var key in this._) f.call(this, d3_map_unescape(key), this._[key]); - } - }); - function d3_map_escape(key) { - return (key += "") === d3_map_proto || key[0] === d3_map_zero ? d3_map_zero + key : key; - } - function d3_map_unescape(key) { - return (key += "")[0] === d3_map_zero ? key.slice(1) : key; - } - function d3_map_has(key) { - return d3_map_escape(key) in this._; - } - function d3_map_remove(key) { - return (key = d3_map_escape(key)) in this._ && delete this._[key]; - } - function d3_map_keys() { - var keys = []; - for (var key in this._) keys.push(d3_map_unescape(key)); - return keys; - } - function d3_map_size() { - var size = 0; - for (var key in this._) ++size; - return size; - } - function d3_map_empty() { - for (var key in this._) return false; - return true; - } - d3.nest = function() { - var nest = {}, keys = [], sortKeys = [], sortValues, rollup; - function map(mapType, array, depth) { - if (depth >= keys.length) return rollup ? rollup.call(nest, array) : sortValues ? array.sort(sortValues) : array; - var i = -1, n = array.length, key = keys[depth++], keyValue, object, setter, valuesByKey = new d3_Map(), values; - while (++i < n) { - if (values = valuesByKey.get(keyValue = key(object = array[i]))) { - values.push(object); - } else { - valuesByKey.set(keyValue, [ object ]); - } - } - if (mapType) { - object = mapType(); - setter = function(keyValue, values) { - object.set(keyValue, map(mapType, values, depth)); - }; - } else { - object = {}; - setter = function(keyValue, values) { - object[keyValue] = map(mapType, values, depth); - }; - } - valuesByKey.forEach(setter); - return object; - } - function entries(map, depth) { - if (depth >= keys.length) return map; - var array = [], sortKey = sortKeys[depth++]; - map.forEach(function(key, keyMap) { - array.push({ - key: key, - values: entries(keyMap, depth) - }); - }); - return sortKey ? array.sort(function(a, b) { - return sortKey(a.key, b.key); - }) : array; - } - nest.map = function(array, mapType) { - return map(mapType, array, 0); - }; - nest.entries = function(array) { - return entries(map(d3.map, array, 0), 0); - }; - nest.key = function(d) { - keys.push(d); - return nest; - }; - nest.sortKeys = function(order) { - sortKeys[keys.length - 1] = order; - return nest; - }; - nest.sortValues = function(order) { - sortValues = order; - return nest; - }; - nest.rollup = function(f) { - rollup = f; - return nest; - }; - return nest; - }; - d3.set = function(array) { - var set = new d3_Set(); - if (array) for (var i = 0, n = array.length; i < n; ++i) set.add(array[i]); - return set; - }; - function d3_Set() { - this._ = Object.create(null); - } - d3_class(d3_Set, { - has: d3_map_has, - add: function(key) { - this._[d3_map_escape(key += "")] = true; - return key; - }, - remove: d3_map_remove, - values: d3_map_keys, - size: d3_map_size, - empty: d3_map_empty, - forEach: function(f) { - for (var key in this._) f.call(this, d3_map_unescape(key)); - } - }); - d3.behavior = {}; - d3.rebind = function(target, source) { - var i = 1, n = arguments.length, method; - while (++i < n) target[method = arguments[i]] = d3_rebind(target, source, source[method]); - return target; - }; - function d3_rebind(target, source, method) { - return function() { - var value = method.apply(source, arguments); - return value === source ? target : value; - }; - } - function d3_vendorSymbol(object, name) { - if (name in object) return name; - name = name.charAt(0).toUpperCase() + name.slice(1); - for (var i = 0, n = d3_vendorPrefixes.length; i < n; ++i) { - var prefixName = d3_vendorPrefixes[i] + name; - if (prefixName in object) return prefixName; - } - } - var d3_vendorPrefixes = [ "webkit", "ms", "moz", "Moz", "o", "O" ]; - function d3_noop() {} - d3.dispatch = function() { - var dispatch = new d3_dispatch(), i = -1, n = arguments.length; - while (++i < n) dispatch[arguments[i]] = d3_dispatch_event(dispatch); - return dispatch; - }; - function d3_dispatch() {} - d3_dispatch.prototype.on = function(type, listener) { - var i = type.indexOf("."), name = ""; - if (i >= 0) { - name = type.slice(i + 1); - type = type.slice(0, i); - } - if (type) return arguments.length < 2 ? this[type].on(name) : this[type].on(name, listener); - if (arguments.length === 2) { - if (listener == null) for (type in this) { - if (this.hasOwnProperty(type)) this[type].on(name, null); - } - return this; - } - }; - function d3_dispatch_event(dispatch) { - var listeners = [], listenerByName = new d3_Map(); - function event() { - var z = listeners, i = -1, n = z.length, l; - while (++i < n) if (l = z[i].on) l.apply(this, arguments); - return dispatch; - } - event.on = function(name, listener) { - var l = listenerByName.get(name), i; - if (arguments.length < 2) return l && l.on; - if (l) { - l.on = null; - listeners = listeners.slice(0, i = listeners.indexOf(l)).concat(listeners.slice(i + 1)); - listenerByName.remove(name); - } - if (listener) listeners.push(listenerByName.set(name, { - on: listener - })); - return dispatch; - }; - return event; - } - d3.event = null; - function d3_eventPreventDefault() { - d3.event.preventDefault(); - } - function d3_eventSource() { - var e = d3.event, s; - while (s = e.sourceEvent) e = s; - return e; - } - function d3_eventDispatch(target) { - var dispatch = new d3_dispatch(), i = 0, n = arguments.length; - while (++i < n) dispatch[arguments[i]] = d3_dispatch_event(dispatch); - dispatch.of = function(thiz, argumentz) { - return function(e1) { - try { - var e0 = e1.sourceEvent = d3.event; - e1.target = target; - d3.event = e1; - dispatch[e1.type].apply(thiz, argumentz); - } finally { - d3.event = e0; - } - }; - }; - return dispatch; - } - d3.requote = function(s) { - return s.replace(d3_requote_re, "\\$&"); - }; - var d3_requote_re = /[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g; - var d3_subclass = {}.__proto__ ? function(object, prototype) { - object.__proto__ = prototype; - } : function(object, prototype) { - for (var property in prototype) object[property] = prototype[property]; - }; - function d3_selection(groups) { - d3_subclass(groups, d3_selectionPrototype); - return groups; - } - var d3_select = function(s, n) { - return n.querySelector(s); - }, d3_selectAll = function(s, n) { - return n.querySelectorAll(s); - }, d3_selectMatcher = d3_documentElement.matches || d3_documentElement[d3_vendorSymbol(d3_documentElement, "matchesSelector")], d3_selectMatches = function(n, s) { - return d3_selectMatcher.call(n, s); - }; - if (typeof Sizzle === "function") { - d3_select = function(s, n) { - return Sizzle(s, n)[0] || null; - }; - d3_selectAll = Sizzle; - d3_selectMatches = Sizzle.matchesSelector; - } - d3.selection = function() { - return d3_selectionRoot; - }; - var d3_selectionPrototype = d3.selection.prototype = []; - d3_selectionPrototype.select = function(selector) { - var subgroups = [], subgroup, subnode, group, node; - selector = d3_selection_selector(selector); - for (var j = -1, m = this.length; ++j < m; ) { - subgroups.push(subgroup = []); - subgroup.parentNode = (group = this[j]).parentNode; - for (var i = -1, n = group.length; ++i < n; ) { - if (node = group[i]) { - subgroup.push(subnode = selector.call(node, node.__data__, i, j)); - if (subnode && "__data__" in node) subnode.__data__ = node.__data__; - } else { - subgroup.push(null); - } - } - } - return d3_selection(subgroups); - }; - function d3_selection_selector(selector) { - return typeof selector === "function" ? selector : function() { - return d3_select(selector, this); - }; - } - d3_selectionPrototype.selectAll = function(selector) { - var subgroups = [], subgroup, node; - selector = d3_selection_selectorAll(selector); - for (var j = -1, m = this.length; ++j < m; ) { - for (var group = this[j], i = -1, n = group.length; ++i < n; ) { - if (node = group[i]) { - subgroups.push(subgroup = d3_array(selector.call(node, node.__data__, i, j))); - subgroup.parentNode = node; - } - } - } - return d3_selection(subgroups); - }; - function d3_selection_selectorAll(selector) { - return typeof selector === "function" ? selector : function() { - return d3_selectAll(selector, this); - }; - } - var d3_nsPrefix = { - svg: "http://www.w3.org/2000/svg", - xhtml: "http://www.w3.org/1999/xhtml", - xlink: "http://www.w3.org/1999/xlink", - xml: "http://www.w3.org/XML/1998/namespace", - xmlns: "http://www.w3.org/2000/xmlns/" - }; - d3.ns = { - prefix: d3_nsPrefix, - qualify: function(name) { - var i = name.indexOf(":"), prefix = name; - if (i >= 0) { - prefix = name.slice(0, i); - name = name.slice(i + 1); - } - return d3_nsPrefix.hasOwnProperty(prefix) ? { - space: d3_nsPrefix[prefix], - local: name - } : name; - } - }; - d3_selectionPrototype.attr = function(name, value) { - if (arguments.length < 2) { - if (typeof name === "string") { - var node = this.node(); - name = d3.ns.qualify(name); - return name.local ? node.getAttributeNS(name.space, name.local) : node.getAttribute(name); - } - for (value in name) this.each(d3_selection_attr(value, name[value])); - return this; - } - return this.each(d3_selection_attr(name, value)); - }; - function d3_selection_attr(name, value) { - name = d3.ns.qualify(name); - function attrNull() { - this.removeAttribute(name); - } - function attrNullNS() { - this.removeAttributeNS(name.space, name.local); - } - function attrConstant() { - this.setAttribute(name, value); - } - function attrConstantNS() { - this.setAttributeNS(name.space, name.local, value); - } - function attrFunction() { - var x = value.apply(this, arguments); - if (x == null) this.removeAttribute(name); else this.setAttribute(name, x); - } - function attrFunctionNS() { - var x = value.apply(this, arguments); - if (x == null) this.removeAttributeNS(name.space, name.local); else this.setAttributeNS(name.space, name.local, x); - } - return value == null ? name.local ? attrNullNS : attrNull : typeof value === "function" ? name.local ? attrFunctionNS : attrFunction : name.local ? attrConstantNS : attrConstant; - } - function d3_collapse(s) { - return s.trim().replace(/\s+/g, " "); - } - d3_selectionPrototype.classed = function(name, value) { - if (arguments.length < 2) { - if (typeof name === "string") { - var node = this.node(), n = (name = d3_selection_classes(name)).length, i = -1; - if (value = node.classList) { - while (++i < n) if (!value.contains(name[i])) return false; - } else { - value = node.getAttribute("class"); - while (++i < n) if (!d3_selection_classedRe(name[i]).test(value)) return false; - } - return true; - } - for (value in name) this.each(d3_selection_classed(value, name[value])); - return this; - } - return this.each(d3_selection_classed(name, value)); - }; - function d3_selection_classedRe(name) { - return new RegExp("(?:^|\\s+)" + d3.requote(name) + "(?:\\s+|$)", "g"); - } - function d3_selection_classes(name) { - return (name + "").trim().split(/^|\s+/); - } - function d3_selection_classed(name, value) { - name = d3_selection_classes(name).map(d3_selection_classedName); - var n = name.length; - function classedConstant() { - var i = -1; - while (++i < n) name[i](this, value); - } - function classedFunction() { - var i = -1, x = value.apply(this, arguments); - while (++i < n) name[i](this, x); - } - return typeof value === "function" ? classedFunction : classedConstant; - } - function d3_selection_classedName(name) { - var re = d3_selection_classedRe(name); - return function(node, value) { - if (c = node.classList) return value ? c.add(name) : c.remove(name); - var c = node.getAttribute("class") || ""; - if (value) { - re.lastIndex = 0; - if (!re.test(c)) node.setAttribute("class", d3_collapse(c + " " + name)); - } else { - node.setAttribute("class", d3_collapse(c.replace(re, " "))); - } - }; - } - d3_selectionPrototype.style = function(name, value, priority) { - var n = arguments.length; - if (n < 3) { - if (typeof name !== "string") { - if (n < 2) value = ""; - for (priority in name) this.each(d3_selection_style(priority, name[priority], value)); - return this; - } - if (n < 2) return d3_window.getComputedStyle(this.node(), null).getPropertyValue(name); - priority = ""; - } - return this.each(d3_selection_style(name, value, priority)); - }; - function d3_selection_style(name, value, priority) { - function styleNull() { - this.style.removeProperty(name); - } - function styleConstant() { - this.style.setProperty(name, value, priority); - } - function styleFunction() { - var x = value.apply(this, arguments); - if (x == null) this.style.removeProperty(name); else this.style.setProperty(name, x, priority); - } - return value == null ? styleNull : typeof value === "function" ? styleFunction : styleConstant; - } - d3_selectionPrototype.property = function(name, value) { - if (arguments.length < 2) { - if (typeof name === "string") return this.node()[name]; - for (value in name) this.each(d3_selection_property(value, name[value])); - return this; - } - return this.each(d3_selection_property(name, value)); - }; - function d3_selection_property(name, value) { - function propertyNull() { - delete this[name]; - } - function propertyConstant() { - this[name] = value; - } - function propertyFunction() { - var x = value.apply(this, arguments); - if (x == null) delete this[name]; else this[name] = x; - } - return value == null ? propertyNull : typeof value === "function" ? propertyFunction : propertyConstant; - } - d3_selectionPrototype.text = function(value) { - return arguments.length ? this.each(typeof value === "function" ? function() { - var v = value.apply(this, arguments); - this.textContent = v == null ? "" : v; - } : value == null ? function() { - this.textContent = ""; - } : function() { - this.textContent = value; - }) : this.node().textContent; - }; - d3_selectionPrototype.html = function(value) { - return arguments.length ? this.each(typeof value === "function" ? function() { - var v = value.apply(this, arguments); - this.innerHTML = v == null ? "" : v; - } : value == null ? function() { - this.innerHTML = ""; - } : function() { - this.innerHTML = value; - }) : this.node().innerHTML; - }; - d3_selectionPrototype.append = function(name) { - name = d3_selection_creator(name); - return this.select(function() { - return this.appendChild(name.apply(this, arguments)); - }); - }; - function d3_selection_creator(name) { - return typeof name === "function" ? name : (name = d3.ns.qualify(name)).local ? function() { - return this.ownerDocument.createElementNS(name.space, name.local); - } : function() { - return this.ownerDocument.createElementNS(this.namespaceURI, name); - }; - } - d3_selectionPrototype.insert = function(name, before) { - name = d3_selection_creator(name); - before = d3_selection_selector(before); - return this.select(function() { - return this.insertBefore(name.apply(this, arguments), before.apply(this, arguments) || null); - }); - }; - d3_selectionPrototype.remove = function() { - return this.each(d3_selectionRemove); - }; - function d3_selectionRemove() { - var parent = this.parentNode; - if (parent) parent.removeChild(this); - } - d3_selectionPrototype.data = function(value, key) { - var i = -1, n = this.length, group, node; - if (!arguments.length) { - value = new Array(n = (group = this[0]).length); - while (++i < n) { - if (node = group[i]) { - value[i] = node.__data__; - } - } - return value; - } - function bind(group, groupData) { - var i, n = group.length, m = groupData.length, n0 = Math.min(n, m), updateNodes = new Array(m), enterNodes = new Array(m), exitNodes = new Array(n), node, nodeData; - if (key) { - var nodeByKeyValue = new d3_Map(), keyValues = new Array(n), keyValue; - for (i = -1; ++i < n; ) { - if (nodeByKeyValue.has(keyValue = key.call(node = group[i], node.__data__, i))) { - exitNodes[i] = node; - } else { - nodeByKeyValue.set(keyValue, node); - } - keyValues[i] = keyValue; - } - for (i = -1; ++i < m; ) { - if (!(node = nodeByKeyValue.get(keyValue = key.call(groupData, nodeData = groupData[i], i)))) { - enterNodes[i] = d3_selection_dataNode(nodeData); - } else if (node !== true) { - updateNodes[i] = node; - node.__data__ = nodeData; - } - nodeByKeyValue.set(keyValue, true); - } - for (i = -1; ++i < n; ) { - if (nodeByKeyValue.get(keyValues[i]) !== true) { - exitNodes[i] = group[i]; - } - } - } else { - for (i = -1; ++i < n0; ) { - node = group[i]; - nodeData = groupData[i]; - if (node) { - node.__data__ = nodeData; - updateNodes[i] = node; - } else { - enterNodes[i] = d3_selection_dataNode(nodeData); - } - } - for (;i < m; ++i) { - enterNodes[i] = d3_selection_dataNode(groupData[i]); - } - for (;i < n; ++i) { - exitNodes[i] = group[i]; - } - } - enterNodes.update = updateNodes; - enterNodes.parentNode = updateNodes.parentNode = exitNodes.parentNode = group.parentNode; - enter.push(enterNodes); - update.push(updateNodes); - exit.push(exitNodes); - } - var enter = d3_selection_enter([]), update = d3_selection([]), exit = d3_selection([]); - if (typeof value === "function") { - while (++i < n) { - bind(group = this[i], value.call(group, group.parentNode.__data__, i)); - } - } else { - while (++i < n) { - bind(group = this[i], value); - } - } - update.enter = function() { - return enter; - }; - update.exit = function() { - return exit; - }; - return update; - }; - function d3_selection_dataNode(data) { - return { - __data__: data - }; - } - d3_selectionPrototype.datum = function(value) { - return arguments.length ? this.property("__data__", value) : this.property("__data__"); - }; - d3_selectionPrototype.filter = function(filter) { - var subgroups = [], subgroup, group, node; - if (typeof filter !== "function") filter = d3_selection_filter(filter); - for (var j = 0, m = this.length; j < m; j++) { - subgroups.push(subgroup = []); - subgroup.parentNode = (group = this[j]).parentNode; - for (var i = 0, n = group.length; i < n; i++) { - if ((node = group[i]) && filter.call(node, node.__data__, i, j)) { - subgroup.push(node); - } - } - } - return d3_selection(subgroups); - }; - function d3_selection_filter(selector) { - return function() { - return d3_selectMatches(this, selector); - }; - } - d3_selectionPrototype.order = function() { - for (var j = -1, m = this.length; ++j < m; ) { - for (var group = this[j], i = group.length - 1, next = group[i], node; --i >= 0; ) { - if (node = group[i]) { - if (next && next !== node.nextSibling) next.parentNode.insertBefore(node, next); - next = node; - } - } - } - return this; - }; - d3_selectionPrototype.sort = function(comparator) { - comparator = d3_selection_sortComparator.apply(this, arguments); - for (var j = -1, m = this.length; ++j < m; ) this[j].sort(comparator); - return this.order(); - }; - function d3_selection_sortComparator(comparator) { - if (!arguments.length) comparator = d3_ascending; - return function(a, b) { - return a && b ? comparator(a.__data__, b.__data__) : !a - !b; - }; - } - d3_selectionPrototype.each = function(callback) { - return d3_selection_each(this, function(node, i, j) { - callback.call(node, node.__data__, i, j); - }); - }; - function d3_selection_each(groups, callback) { - for (var j = 0, m = groups.length; j < m; j++) { - for (var group = groups[j], i = 0, n = group.length, node; i < n; i++) { - if (node = group[i]) callback(node, i, j); - } - } - return groups; - } - d3_selectionPrototype.call = function(callback) { - var args = d3_array(arguments); - callback.apply(args[0] = this, args); - return this; - }; - d3_selectionPrototype.empty = function() { - return !this.node(); - }; - d3_selectionPrototype.node = function() { - for (var j = 0, m = this.length; j < m; j++) { - for (var group = this[j], i = 0, n = group.length; i < n; i++) { - var node = group[i]; - if (node) return node; - } - } - return null; - }; - d3_selectionPrototype.size = function() { - var n = 0; - d3_selection_each(this, function() { - ++n; - }); - return n; - }; - function d3_selection_enter(selection) { - d3_subclass(selection, d3_selection_enterPrototype); - return selection; - } - var d3_selection_enterPrototype = []; - d3.selection.enter = d3_selection_enter; - d3.selection.enter.prototype = d3_selection_enterPrototype; - d3_selection_enterPrototype.append = d3_selectionPrototype.append; - d3_selection_enterPrototype.empty = d3_selectionPrototype.empty; - d3_selection_enterPrototype.node = d3_selectionPrototype.node; - d3_selection_enterPrototype.call = d3_selectionPrototype.call; - d3_selection_enterPrototype.size = d3_selectionPrototype.size; - d3_selection_enterPrototype.select = function(selector) { - var subgroups = [], subgroup, subnode, upgroup, group, node; - for (var j = -1, m = this.length; ++j < m; ) { - upgroup = (group = this[j]).update; - subgroups.push(subgroup = []); - subgroup.parentNode = group.parentNode; - for (var i = -1, n = group.length; ++i < n; ) { - if (node = group[i]) { - subgroup.push(upgroup[i] = subnode = selector.call(group.parentNode, node.__data__, i, j)); - subnode.__data__ = node.__data__; - } else { - subgroup.push(null); - } - } - } - return d3_selection(subgroups); - }; - d3_selection_enterPrototype.insert = function(name, before) { - if (arguments.length < 2) before = d3_selection_enterInsertBefore(this); - return d3_selectionPrototype.insert.call(this, name, before); - }; - function d3_selection_enterInsertBefore(enter) { - var i0, j0; - return function(d, i, j) { - var group = enter[j].update, n = group.length, node; - if (j != j0) j0 = j, i0 = 0; - if (i >= i0) i0 = i + 1; - while (!(node = group[i0]) && ++i0 < n) ; - return node; - }; - } - d3.select = function(node) { - var group = [ typeof node === "string" ? d3_select(node, d3_document) : node ]; - group.parentNode = d3_documentElement; - return d3_selection([ group ]); - }; - d3.selectAll = function(nodes) { - var group = d3_array(typeof nodes === "string" ? d3_selectAll(nodes, d3_document) : nodes); - group.parentNode = d3_documentElement; - return d3_selection([ group ]); - }; - var d3_selectionRoot = d3.select(d3_documentElement); - d3_selectionPrototype.on = function(type, listener, capture) { - var n = arguments.length; - if (n < 3) { - if (typeof type !== "string") { - if (n < 2) listener = false; - for (capture in type) this.each(d3_selection_on(capture, type[capture], listener)); - return this; - } - if (n < 2) return (n = this.node()["__on" + type]) && n._; - capture = false; - } - return this.each(d3_selection_on(type, listener, capture)); - }; - function d3_selection_on(type, listener, capture) { - var name = "__on" + type, i = type.indexOf("."), wrap = d3_selection_onListener; - if (i > 0) type = type.slice(0, i); - var filter = d3_selection_onFilters.get(type); - if (filter) type = filter, wrap = d3_selection_onFilter; - function onRemove() { - var l = this[name]; - if (l) { - this.removeEventListener(type, l, l.$); - delete this[name]; - } - } - function onAdd() { - var l = wrap(listener, d3_array(arguments)); - onRemove.call(this); - this.addEventListener(type, this[name] = l, l.$ = capture); - l._ = listener; - } - function removeAll() { - var re = new RegExp("^__on([^.]+)" + d3.requote(type) + "$"), match; - for (var name in this) { - if (match = name.match(re)) { - var l = this[name]; - this.removeEventListener(match[1], l, l.$); - delete this[name]; - } - } - } - return i ? listener ? onAdd : onRemove : listener ? d3_noop : removeAll; - } - var d3_selection_onFilters = d3.map({ - mouseenter: "mouseover", - mouseleave: "mouseout" - }); - d3_selection_onFilters.forEach(function(k) { - if ("on" + k in d3_document) d3_selection_onFilters.remove(k); - }); - function d3_selection_onListener(listener, argumentz) { - return function(e) { - var o = d3.event; - d3.event = e; - argumentz[0] = this.__data__; - try { - listener.apply(this, argumentz); - } finally { - d3.event = o; - } - }; - } - function d3_selection_onFilter(listener, argumentz) { - var l = d3_selection_onListener(listener, argumentz); - return function(e) { - var target = this, related = e.relatedTarget; - if (!related || related !== target && !(related.compareDocumentPosition(target) & 8)) { - l.call(target, e); - } - }; - } - var d3_event_dragSelect = "onselectstart" in d3_document ? null : d3_vendorSymbol(d3_documentElement.style, "userSelect"), d3_event_dragId = 0; - function d3_event_dragSuppress() { - var name = ".dragsuppress-" + ++d3_event_dragId, click = "click" + name, w = d3.select(d3_window).on("touchmove" + name, d3_eventPreventDefault).on("dragstart" + name, d3_eventPreventDefault).on("selectstart" + name, d3_eventPreventDefault); - if (d3_event_dragSelect) { - var style = d3_documentElement.style, select = style[d3_event_dragSelect]; - style[d3_event_dragSelect] = "none"; - } - return function(suppressClick) { - w.on(name, null); - if (d3_event_dragSelect) style[d3_event_dragSelect] = select; - if (suppressClick) { - var off = function() { - w.on(click, null); - }; - w.on(click, function() { - d3_eventPreventDefault(); - off(); - }, true); - setTimeout(off, 0); - } - }; - } - d3.mouse = function(container) { - return d3_mousePoint(container, d3_eventSource()); - }; - var d3_mouse_bug44083 = /WebKit/.test(d3_window.navigator.userAgent) ? -1 : 0; - function d3_mousePoint(container, e) { - if (e.changedTouches) e = e.changedTouches[0]; - var svg = container.ownerSVGElement || container; - if (svg.createSVGPoint) { - var point = svg.createSVGPoint(); - if (d3_mouse_bug44083 < 0 && (d3_window.scrollX || d3_window.scrollY)) { - svg = d3.select("body").append("svg").style({ - position: "absolute", - top: 0, - left: 0, - margin: 0, - padding: 0, - border: "none" - }, "important"); - var ctm = svg[0][0].getScreenCTM(); - d3_mouse_bug44083 = !(ctm.f || ctm.e); - svg.remove(); - } - if (d3_mouse_bug44083) point.x = e.pageX, point.y = e.pageY; else point.x = e.clientX, - point.y = e.clientY; - point = point.matrixTransform(container.getScreenCTM().inverse()); - return [ point.x, point.y ]; - } - var rect = container.getBoundingClientRect(); - return [ e.clientX - rect.left - container.clientLeft, e.clientY - rect.top - container.clientTop ]; - } - d3.touch = function(container, touches, identifier) { - if (arguments.length < 3) identifier = touches, touches = d3_eventSource().changedTouches; - if (touches) for (var i = 0, n = touches.length, touch; i < n; ++i) { - if ((touch = touches[i]).identifier === identifier) { - return d3_mousePoint(container, touch); - } - } - }; - d3.behavior.drag = function() { - var event = d3_eventDispatch(drag, "drag", "dragstart", "dragend"), origin = null, mousedown = dragstart(d3_noop, d3.mouse, d3_behavior_dragMouseSubject, "mousemove", "mouseup"), touchstart = dragstart(d3_behavior_dragTouchId, d3.touch, d3_behavior_dragTouchSubject, "touchmove", "touchend"); - function drag() { - this.on("mousedown.drag", mousedown).on("touchstart.drag", touchstart); - } - function dragstart(id, position, subject, move, end) { - return function() { - var that = this, target = d3.event.target, parent = that.parentNode, dispatch = event.of(that, arguments), dragged = 0, dragId = id(), dragName = ".drag" + (dragId == null ? "" : "-" + dragId), dragOffset, dragSubject = d3.select(subject()).on(move + dragName, moved).on(end + dragName, ended), dragRestore = d3_event_dragSuppress(), position0 = position(parent, dragId); - if (origin) { - dragOffset = origin.apply(that, arguments); - dragOffset = [ dragOffset.x - position0[0], dragOffset.y - position0[1] ]; - } else { - dragOffset = [ 0, 0 ]; - } - dispatch({ - type: "dragstart" - }); - function moved() { - var position1 = position(parent, dragId), dx, dy; - if (!position1) return; - dx = position1[0] - position0[0]; - dy = position1[1] - position0[1]; - dragged |= dx | dy; - position0 = position1; - dispatch({ - type: "drag", - x: position1[0] + dragOffset[0], - y: position1[1] + dragOffset[1], - dx: dx, - dy: dy - }); - } - function ended() { - if (!position(parent, dragId)) return; - dragSubject.on(move + dragName, null).on(end + dragName, null); - dragRestore(dragged && d3.event.target === target); - dispatch({ - type: "dragend" - }); - } - }; - } - drag.origin = function(x) { - if (!arguments.length) return origin; - origin = x; - return drag; - }; - return d3.rebind(drag, event, "on"); - }; - function d3_behavior_dragTouchId() { - return d3.event.changedTouches[0].identifier; - } - function d3_behavior_dragTouchSubject() { - return d3.event.target; - } - function d3_behavior_dragMouseSubject() { - return d3_window; - } - d3.touches = function(container, touches) { - if (arguments.length < 2) touches = d3_eventSource().touches; - return touches ? d3_array(touches).map(function(touch) { - var point = d3_mousePoint(container, touch); - point.identifier = touch.identifier; - return point; - }) : []; - }; - var ε = 1e-6, ε2 = ε * ε, π = Math.PI, τ = 2 * π, τε = τ - ε, halfπ = π / 2, d3_radians = π / 180, d3_degrees = 180 / π; - function d3_sgn(x) { - return x > 0 ? 1 : x < 0 ? -1 : 0; - } - function d3_cross2d(a, b, c) { - return (b[0] - a[0]) * (c[1] - a[1]) - (b[1] - a[1]) * (c[0] - a[0]); - } - function d3_acos(x) { - return x > 1 ? 0 : x < -1 ? π : Math.acos(x); - } - function d3_asin(x) { - return x > 1 ? halfπ : x < -1 ? -halfπ : Math.asin(x); - } - function d3_sinh(x) { - return ((x = Math.exp(x)) - 1 / x) / 2; - } - function d3_cosh(x) { - return ((x = Math.exp(x)) + 1 / x) / 2; - } - function d3_tanh(x) { - return ((x = Math.exp(2 * x)) - 1) / (x + 1); - } - function d3_haversin(x) { - return (x = Math.sin(x / 2)) * x; - } - var ρ = Math.SQRT2, ρ2 = 2, ρ4 = 4; - d3.interpolateZoom = function(p0, p1) { - var ux0 = p0[0], uy0 = p0[1], w0 = p0[2], ux1 = p1[0], uy1 = p1[1], w1 = p1[2]; - var dx = ux1 - ux0, dy = uy1 - uy0, d2 = dx * dx + dy * dy, d1 = Math.sqrt(d2), b0 = (w1 * w1 - w0 * w0 + ρ4 * d2) / (2 * w0 * ρ2 * d1), b1 = (w1 * w1 - w0 * w0 - ρ4 * d2) / (2 * w1 * ρ2 * d1), r0 = Math.log(Math.sqrt(b0 * b0 + 1) - b0), r1 = Math.log(Math.sqrt(b1 * b1 + 1) - b1), dr = r1 - r0, S = (dr || Math.log(w1 / w0)) / ρ; - function interpolate(t) { - var s = t * S; - if (dr) { - var coshr0 = d3_cosh(r0), u = w0 / (ρ2 * d1) * (coshr0 * d3_tanh(ρ * s + r0) - d3_sinh(r0)); - return [ ux0 + u * dx, uy0 + u * dy, w0 * coshr0 / d3_cosh(ρ * s + r0) ]; - } - return [ ux0 + t * dx, uy0 + t * dy, w0 * Math.exp(ρ * s) ]; - } - interpolate.duration = S * 1e3; - return interpolate; - }; - d3.behavior.zoom = function() { - var view = { - x: 0, - y: 0, - k: 1 - }, translate0, center0, center, size = [ 960, 500 ], scaleExtent = d3_behavior_zoomInfinity, duration = 250, zooming = 0, mousedown = "mousedown.zoom", mousemove = "mousemove.zoom", mouseup = "mouseup.zoom", mousewheelTimer, touchstart = "touchstart.zoom", touchtime, event = d3_eventDispatch(zoom, "zoomstart", "zoom", "zoomend"), x0, x1, y0, y1; - function zoom(g) { - g.on(mousedown, mousedowned).on(d3_behavior_zoomWheel + ".zoom", mousewheeled).on("dblclick.zoom", dblclicked).on(touchstart, touchstarted); - } - zoom.event = function(g) { - g.each(function() { - var dispatch = event.of(this, arguments), view1 = view; - if (d3_transitionInheritId) { - d3.select(this).transition().each("start.zoom", function() { - view = this.__chart__ || { - x: 0, - y: 0, - k: 1 - }; - zoomstarted(dispatch); - }).tween("zoom:zoom", function() { - var dx = size[0], dy = size[1], cx = center0 ? center0[0] : dx / 2, cy = center0 ? center0[1] : dy / 2, i = d3.interpolateZoom([ (cx - view.x) / view.k, (cy - view.y) / view.k, dx / view.k ], [ (cx - view1.x) / view1.k, (cy - view1.y) / view1.k, dx / view1.k ]); - return function(t) { - var l = i(t), k = dx / l[2]; - this.__chart__ = view = { - x: cx - l[0] * k, - y: cy - l[1] * k, - k: k - }; - zoomed(dispatch); - }; - }).each("interrupt.zoom", function() { - zoomended(dispatch); - }).each("end.zoom", function() { - zoomended(dispatch); - }); - } else { - this.__chart__ = view; - zoomstarted(dispatch); - zoomed(dispatch); - zoomended(dispatch); - } - }); - }; - zoom.translate = function(_) { - if (!arguments.length) return [ view.x, view.y ]; - view = { - x: +_[0], - y: +_[1], - k: view.k - }; - rescale(); - return zoom; - }; - zoom.scale = function(_) { - if (!arguments.length) return view.k; - view = { - x: view.x, - y: view.y, - k: +_ - }; - rescale(); - return zoom; - }; - zoom.scaleExtent = function(_) { - if (!arguments.length) return scaleExtent; - scaleExtent = _ == null ? d3_behavior_zoomInfinity : [ +_[0], +_[1] ]; - return zoom; - }; - zoom.center = function(_) { - if (!arguments.length) return center; - center = _ && [ +_[0], +_[1] ]; - return zoom; - }; - zoom.size = function(_) { - if (!arguments.length) return size; - size = _ && [ +_[0], +_[1] ]; - return zoom; - }; - zoom.duration = function(_) { - if (!arguments.length) return duration; - duration = +_; - return zoom; - }; - zoom.x = function(z) { - if (!arguments.length) return x1; - x1 = z; - x0 = z.copy(); - view = { - x: 0, - y: 0, - k: 1 - }; - return zoom; - }; - zoom.y = function(z) { - if (!arguments.length) return y1; - y1 = z; - y0 = z.copy(); - view = { - x: 0, - y: 0, - k: 1 - }; - return zoom; - }; - function location(p) { - return [ (p[0] - view.x) / view.k, (p[1] - view.y) / view.k ]; - } - function point(l) { - return [ l[0] * view.k + view.x, l[1] * view.k + view.y ]; - } - function scaleTo(s) { - view.k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], s)); - } - function translateTo(p, l) { - l = point(l); - view.x += p[0] - l[0]; - view.y += p[1] - l[1]; - } - function zoomTo(that, p, l, k) { - that.__chart__ = { - x: view.x, - y: view.y, - k: view.k - }; - scaleTo(Math.pow(2, k)); - translateTo(center0 = p, l); - that = d3.select(that); - if (duration > 0) that = that.transition().duration(duration); - that.call(zoom.event); - } - function rescale() { - if (x1) x1.domain(x0.range().map(function(x) { - return (x - view.x) / view.k; - }).map(x0.invert)); - if (y1) y1.domain(y0.range().map(function(y) { - return (y - view.y) / view.k; - }).map(y0.invert)); - } - function zoomstarted(dispatch) { - if (!zooming++) dispatch({ - type: "zoomstart" - }); - } - function zoomed(dispatch) { - rescale(); - dispatch({ - type: "zoom", - scale: view.k, - translate: [ view.x, view.y ] - }); - } - function zoomended(dispatch) { - if (!--zooming) dispatch({ - type: "zoomend" - }); - center0 = null; - } - function mousedowned() { - var that = this, target = d3.event.target, dispatch = event.of(that, arguments), dragged = 0, subject = d3.select(d3_window).on(mousemove, moved).on(mouseup, ended), location0 = location(d3.mouse(that)), dragRestore = d3_event_dragSuppress(); - d3_selection_interrupt.call(that); - zoomstarted(dispatch); - function moved() { - dragged = 1; - translateTo(d3.mouse(that), location0); - zoomed(dispatch); - } - function ended() { - subject.on(mousemove, null).on(mouseup, null); - dragRestore(dragged && d3.event.target === target); - zoomended(dispatch); - } - } - function touchstarted() { - var that = this, dispatch = event.of(that, arguments), locations0 = {}, distance0 = 0, scale0, zoomName = ".zoom-" + d3.event.changedTouches[0].identifier, touchmove = "touchmove" + zoomName, touchend = "touchend" + zoomName, targets = [], subject = d3.select(that), dragRestore = d3_event_dragSuppress(); - started(); - zoomstarted(dispatch); - subject.on(mousedown, null).on(touchstart, started); - function relocate() { - var touches = d3.touches(that); - scale0 = view.k; - touches.forEach(function(t) { - if (t.identifier in locations0) locations0[t.identifier] = location(t); - }); - return touches; - } - function started() { - var target = d3.event.target; - d3.select(target).on(touchmove, moved).on(touchend, ended); - targets.push(target); - var changed = d3.event.changedTouches; - for (var i = 0, n = changed.length; i < n; ++i) { - locations0[changed[i].identifier] = null; - } - var touches = relocate(), now = Date.now(); - if (touches.length === 1) { - if (now - touchtime < 500) { - var p = touches[0]; - zoomTo(that, p, locations0[p.identifier], Math.floor(Math.log(view.k) / Math.LN2) + 1); - d3_eventPreventDefault(); - } - touchtime = now; - } else if (touches.length > 1) { - var p = touches[0], q = touches[1], dx = p[0] - q[0], dy = p[1] - q[1]; - distance0 = dx * dx + dy * dy; - } - } - function moved() { - var touches = d3.touches(that), p0, l0, p1, l1; - d3_selection_interrupt.call(that); - for (var i = 0, n = touches.length; i < n; ++i, l1 = null) { - p1 = touches[i]; - if (l1 = locations0[p1.identifier]) { - if (l0) break; - p0 = p1, l0 = l1; - } - } - if (l1) { - var distance1 = (distance1 = p1[0] - p0[0]) * distance1 + (distance1 = p1[1] - p0[1]) * distance1, scale1 = distance0 && Math.sqrt(distance1 / distance0); - p0 = [ (p0[0] + p1[0]) / 2, (p0[1] + p1[1]) / 2 ]; - l0 = [ (l0[0] + l1[0]) / 2, (l0[1] + l1[1]) / 2 ]; - scaleTo(scale1 * scale0); - } - touchtime = null; - translateTo(p0, l0); - zoomed(dispatch); - } - function ended() { - if (d3.event.touches.length) { - var changed = d3.event.changedTouches; - for (var i = 0, n = changed.length; i < n; ++i) { - delete locations0[changed[i].identifier]; - } - for (var identifier in locations0) { - return void relocate(); - } - } - d3.selectAll(targets).on(zoomName, null); - subject.on(mousedown, mousedowned).on(touchstart, touchstarted); - dragRestore(); - zoomended(dispatch); - } - } - function mousewheeled() { - var dispatch = event.of(this, arguments); - if (mousewheelTimer) clearTimeout(mousewheelTimer); else translate0 = location(center0 = center || d3.mouse(this)), - d3_selection_interrupt.call(this), zoomstarted(dispatch); - mousewheelTimer = setTimeout(function() { - mousewheelTimer = null; - zoomended(dispatch); - }, 50); - d3_eventPreventDefault(); - scaleTo(Math.pow(2, d3_behavior_zoomDelta() * .002) * view.k); - translateTo(center0, translate0); - zoomed(dispatch); - } - function dblclicked() { - var p = d3.mouse(this), k = Math.log(view.k) / Math.LN2; - zoomTo(this, p, location(p), d3.event.shiftKey ? Math.ceil(k) - 1 : Math.floor(k) + 1); - } - return d3.rebind(zoom, event, "on"); - }; - var d3_behavior_zoomInfinity = [ 0, Infinity ]; - var d3_behavior_zoomDelta, d3_behavior_zoomWheel = "onwheel" in d3_document ? (d3_behavior_zoomDelta = function() { - return -d3.event.deltaY * (d3.event.deltaMode ? 120 : 1); - }, "wheel") : "onmousewheel" in d3_document ? (d3_behavior_zoomDelta = function() { - return d3.event.wheelDelta; - }, "mousewheel") : (d3_behavior_zoomDelta = function() { - return -d3.event.detail; - }, "MozMousePixelScroll"); - d3.color = d3_color; - function d3_color() {} - d3_color.prototype.toString = function() { - return this.rgb() + ""; - }; - d3.hsl = d3_hsl; - function d3_hsl(h, s, l) { - return this instanceof d3_hsl ? void (this.h = +h, this.s = +s, this.l = +l) : arguments.length < 2 ? h instanceof d3_hsl ? new d3_hsl(h.h, h.s, h.l) : d3_rgb_parse("" + h, d3_rgb_hsl, d3_hsl) : new d3_hsl(h, s, l); - } - var d3_hslPrototype = d3_hsl.prototype = new d3_color(); - d3_hslPrototype.brighter = function(k) { - k = Math.pow(.7, arguments.length ? k : 1); - return new d3_hsl(this.h, this.s, this.l / k); - }; - d3_hslPrototype.darker = function(k) { - k = Math.pow(.7, arguments.length ? k : 1); - return new d3_hsl(this.h, this.s, k * this.l); - }; - d3_hslPrototype.rgb = function() { - return d3_hsl_rgb(this.h, this.s, this.l); - }; - function d3_hsl_rgb(h, s, l) { - var m1, m2; - h = isNaN(h) ? 0 : (h %= 360) < 0 ? h + 360 : h; - s = isNaN(s) ? 0 : s < 0 ? 0 : s > 1 ? 1 : s; - l = l < 0 ? 0 : l > 1 ? 1 : l; - m2 = l <= .5 ? l * (1 + s) : l + s - l * s; - m1 = 2 * l - m2; - function v(h) { - if (h > 360) h -= 360; else if (h < 0) h += 360; - if (h < 60) return m1 + (m2 - m1) * h / 60; - if (h < 180) return m2; - if (h < 240) return m1 + (m2 - m1) * (240 - h) / 60; - return m1; - } - function vv(h) { - return Math.round(v(h) * 255); - } - return new d3_rgb(vv(h + 120), vv(h), vv(h - 120)); - } - d3.hcl = d3_hcl; - function d3_hcl(h, c, l) { - return this instanceof d3_hcl ? void (this.h = +h, this.c = +c, this.l = +l) : arguments.length < 2 ? h instanceof d3_hcl ? new d3_hcl(h.h, h.c, h.l) : h instanceof d3_lab ? d3_lab_hcl(h.l, h.a, h.b) : d3_lab_hcl((h = d3_rgb_lab((h = d3.rgb(h)).r, h.g, h.b)).l, h.a, h.b) : new d3_hcl(h, c, l); - } - var d3_hclPrototype = d3_hcl.prototype = new d3_color(); - d3_hclPrototype.brighter = function(k) { - return new d3_hcl(this.h, this.c, Math.min(100, this.l + d3_lab_K * (arguments.length ? k : 1))); - }; - d3_hclPrototype.darker = function(k) { - return new d3_hcl(this.h, this.c, Math.max(0, this.l - d3_lab_K * (arguments.length ? k : 1))); - }; - d3_hclPrototype.rgb = function() { - return d3_hcl_lab(this.h, this.c, this.l).rgb(); - }; - function d3_hcl_lab(h, c, l) { - if (isNaN(h)) h = 0; - if (isNaN(c)) c = 0; - return new d3_lab(l, Math.cos(h *= d3_radians) * c, Math.sin(h) * c); - } - d3.lab = d3_lab; - function d3_lab(l, a, b) { - return this instanceof d3_lab ? void (this.l = +l, this.a = +a, this.b = +b) : arguments.length < 2 ? l instanceof d3_lab ? new d3_lab(l.l, l.a, l.b) : l instanceof d3_hcl ? d3_hcl_lab(l.h, l.c, l.l) : d3_rgb_lab((l = d3_rgb(l)).r, l.g, l.b) : new d3_lab(l, a, b); - } - var d3_lab_K = 18; - var d3_lab_X = .95047, d3_lab_Y = 1, d3_lab_Z = 1.08883; - var d3_labPrototype = d3_lab.prototype = new d3_color(); - d3_labPrototype.brighter = function(k) { - return new d3_lab(Math.min(100, this.l + d3_lab_K * (arguments.length ? k : 1)), this.a, this.b); - }; - d3_labPrototype.darker = function(k) { - return new d3_lab(Math.max(0, this.l - d3_lab_K * (arguments.length ? k : 1)), this.a, this.b); - }; - d3_labPrototype.rgb = function() { - return d3_lab_rgb(this.l, this.a, this.b); - }; - function d3_lab_rgb(l, a, b) { - var y = (l + 16) / 116, x = y + a / 500, z = y - b / 200; - x = d3_lab_xyz(x) * d3_lab_X; - y = d3_lab_xyz(y) * d3_lab_Y; - z = d3_lab_xyz(z) * d3_lab_Z; - return new d3_rgb(d3_xyz_rgb(3.2404542 * x - 1.5371385 * y - .4985314 * z), d3_xyz_rgb(-.969266 * x + 1.8760108 * y + .041556 * z), d3_xyz_rgb(.0556434 * x - .2040259 * y + 1.0572252 * z)); - } - function d3_lab_hcl(l, a, b) { - return l > 0 ? new d3_hcl(Math.atan2(b, a) * d3_degrees, Math.sqrt(a * a + b * b), l) : new d3_hcl(NaN, NaN, l); - } - function d3_lab_xyz(x) { - return x > .206893034 ? x * x * x : (x - 4 / 29) / 7.787037; - } - function d3_xyz_lab(x) { - return x > .008856 ? Math.pow(x, 1 / 3) : 7.787037 * x + 4 / 29; - } - function d3_xyz_rgb(r) { - return Math.round(255 * (r <= .00304 ? 12.92 * r : 1.055 * Math.pow(r, 1 / 2.4) - .055)); - } - d3.rgb = d3_rgb; - function d3_rgb(r, g, b) { - return this instanceof d3_rgb ? void (this.r = ~~r, this.g = ~~g, this.b = ~~b) : arguments.length < 2 ? r instanceof d3_rgb ? new d3_rgb(r.r, r.g, r.b) : d3_rgb_parse("" + r, d3_rgb, d3_hsl_rgb) : new d3_rgb(r, g, b); - } - function d3_rgbNumber(value) { - return new d3_rgb(value >> 16, value >> 8 & 255, value & 255); - } - function d3_rgbString(value) { - return d3_rgbNumber(value) + ""; - } - var d3_rgbPrototype = d3_rgb.prototype = new d3_color(); - d3_rgbPrototype.brighter = function(k) { - k = Math.pow(.7, arguments.length ? k : 1); - var r = this.r, g = this.g, b = this.b, i = 30; - if (!r && !g && !b) return new d3_rgb(i, i, i); - if (r && r < i) r = i; - if (g && g < i) g = i; - if (b && b < i) b = i; - return new d3_rgb(Math.min(255, r / k), Math.min(255, g / k), Math.min(255, b / k)); - }; - d3_rgbPrototype.darker = function(k) { - k = Math.pow(.7, arguments.length ? k : 1); - return new d3_rgb(k * this.r, k * this.g, k * this.b); - }; - d3_rgbPrototype.hsl = function() { - return d3_rgb_hsl(this.r, this.g, this.b); - }; - d3_rgbPrototype.toString = function() { - return "#" + d3_rgb_hex(this.r) + d3_rgb_hex(this.g) + d3_rgb_hex(this.b); - }; - function d3_rgb_hex(v) { - return v < 16 ? "0" + Math.max(0, v).toString(16) : Math.min(255, v).toString(16); - } - function d3_rgb_parse(format, rgb, hsl) { - var r = 0, g = 0, b = 0, m1, m2, color; - m1 = /([a-z]+)\((.*)\)/i.exec(format); - if (m1) { - m2 = m1[2].split(","); - switch (m1[1]) { - case "hsl": - { - return hsl(parseFloat(m2[0]), parseFloat(m2[1]) / 100, parseFloat(m2[2]) / 100); - } - - case "rgb": - { - return rgb(d3_rgb_parseNumber(m2[0]), d3_rgb_parseNumber(m2[1]), d3_rgb_parseNumber(m2[2])); - } - } - } - if (color = d3_rgb_names.get(format)) return rgb(color.r, color.g, color.b); - if (format != null && format.charAt(0) === "#" && !isNaN(color = parseInt(format.slice(1), 16))) { - if (format.length === 4) { - r = (color & 3840) >> 4; - r = r >> 4 | r; - g = color & 240; - g = g >> 4 | g; - b = color & 15; - b = b << 4 | b; - } else if (format.length === 7) { - r = (color & 16711680) >> 16; - g = (color & 65280) >> 8; - b = color & 255; - } - } - return rgb(r, g, b); - } - function d3_rgb_hsl(r, g, b) { - var min = Math.min(r /= 255, g /= 255, b /= 255), max = Math.max(r, g, b), d = max - min, h, s, l = (max + min) / 2; - if (d) { - s = l < .5 ? d / (max + min) : d / (2 - max - min); - if (r == max) h = (g - b) / d + (g < b ? 6 : 0); else if (g == max) h = (b - r) / d + 2; else h = (r - g) / d + 4; - h *= 60; - } else { - h = NaN; - s = l > 0 && l < 1 ? 0 : h; - } - return new d3_hsl(h, s, l); - } - function d3_rgb_lab(r, g, b) { - r = d3_rgb_xyz(r); - g = d3_rgb_xyz(g); - b = d3_rgb_xyz(b); - var x = d3_xyz_lab((.4124564 * r + .3575761 * g + .1804375 * b) / d3_lab_X), y = d3_xyz_lab((.2126729 * r + .7151522 * g + .072175 * b) / d3_lab_Y), z = d3_xyz_lab((.0193339 * r + .119192 * g + .9503041 * b) / d3_lab_Z); - return d3_lab(116 * y - 16, 500 * (x - y), 200 * (y - z)); - } - function d3_rgb_xyz(r) { - return (r /= 255) <= .04045 ? r / 12.92 : Math.pow((r + .055) / 1.055, 2.4); - } - function d3_rgb_parseNumber(c) { - var f = parseFloat(c); - return c.charAt(c.length - 1) === "%" ? Math.round(f * 2.55) : f; - } - var d3_rgb_names = d3.map({ - aliceblue: 15792383, - antiquewhite: 16444375, - aqua: 65535, - aquamarine: 8388564, - azure: 15794175, - beige: 16119260, - bisque: 16770244, - black: 0, - blanchedalmond: 16772045, - blue: 255, - blueviolet: 9055202, - brown: 10824234, - burlywood: 14596231, - cadetblue: 6266528, - chartreuse: 8388352, - chocolate: 13789470, - coral: 16744272, - cornflowerblue: 6591981, - cornsilk: 16775388, - crimson: 14423100, - cyan: 65535, - darkblue: 139, - darkcyan: 35723, - darkgoldenrod: 12092939, - darkgray: 11119017, - darkgreen: 25600, - darkgrey: 11119017, - darkkhaki: 12433259, - darkmagenta: 9109643, - darkolivegreen: 5597999, - darkorange: 16747520, - darkorchid: 10040012, - darkred: 9109504, - darksalmon: 15308410, - darkseagreen: 9419919, - darkslateblue: 4734347, - darkslategray: 3100495, - darkslategrey: 3100495, - darkturquoise: 52945, - darkviolet: 9699539, - deeppink: 16716947, - deepskyblue: 49151, - dimgray: 6908265, - dimgrey: 6908265, - dodgerblue: 2003199, - firebrick: 11674146, - floralwhite: 16775920, - forestgreen: 2263842, - fuchsia: 16711935, - gainsboro: 14474460, - ghostwhite: 16316671, - gold: 16766720, - goldenrod: 14329120, - gray: 8421504, - green: 32768, - greenyellow: 11403055, - grey: 8421504, - honeydew: 15794160, - hotpink: 16738740, - indianred: 13458524, - indigo: 4915330, - ivory: 16777200, - khaki: 15787660, - lavender: 15132410, - lavenderblush: 16773365, - lawngreen: 8190976, - lemonchiffon: 16775885, - lightblue: 11393254, - lightcoral: 15761536, - lightcyan: 14745599, - lightgoldenrodyellow: 16448210, - lightgray: 13882323, - lightgreen: 9498256, - lightgrey: 13882323, - lightpink: 16758465, - lightsalmon: 16752762, - lightseagreen: 2142890, - lightskyblue: 8900346, - lightslategray: 7833753, - lightslategrey: 7833753, - lightsteelblue: 11584734, - lightyellow: 16777184, - lime: 65280, - limegreen: 3329330, - linen: 16445670, - magenta: 16711935, - maroon: 8388608, - mediumaquamarine: 6737322, - mediumblue: 205, - mediumorchid: 12211667, - mediumpurple: 9662683, - mediumseagreen: 3978097, - mediumslateblue: 8087790, - mediumspringgreen: 64154, - mediumturquoise: 4772300, - mediumvioletred: 13047173, - midnightblue: 1644912, - mintcream: 16121850, - mistyrose: 16770273, - moccasin: 16770229, - navajowhite: 16768685, - navy: 128, - oldlace: 16643558, - olive: 8421376, - olivedrab: 7048739, - orange: 16753920, - orangered: 16729344, - orchid: 14315734, - palegoldenrod: 15657130, - palegreen: 10025880, - paleturquoise: 11529966, - palevioletred: 14381203, - papayawhip: 16773077, - peachpuff: 16767673, - peru: 13468991, - pink: 16761035, - plum: 14524637, - powderblue: 11591910, - purple: 8388736, - red: 16711680, - rosybrown: 12357519, - royalblue: 4286945, - saddlebrown: 9127187, - salmon: 16416882, - sandybrown: 16032864, - seagreen: 3050327, - seashell: 16774638, - sienna: 10506797, - silver: 12632256, - skyblue: 8900331, - slateblue: 6970061, - slategray: 7372944, - slategrey: 7372944, - snow: 16775930, - springgreen: 65407, - steelblue: 4620980, - tan: 13808780, - teal: 32896, - thistle: 14204888, - tomato: 16737095, - turquoise: 4251856, - violet: 15631086, - wheat: 16113331, - white: 16777215, - whitesmoke: 16119285, - yellow: 16776960, - yellowgreen: 10145074 - }); - d3_rgb_names.forEach(function(key, value) { - d3_rgb_names.set(key, d3_rgbNumber(value)); - }); - function d3_functor(v) { - return typeof v === "function" ? v : function() { - return v; - }; - } - d3.functor = d3_functor; - function d3_identity(d) { - return d; - } - d3.xhr = d3_xhrType(d3_identity); - function d3_xhrType(response) { - return function(url, mimeType, callback) { - if (arguments.length === 2 && typeof mimeType === "function") callback = mimeType, - mimeType = null; - return d3_xhr(url, mimeType, response, callback); - }; - } - function d3_xhr(url, mimeType, response, callback) { - var xhr = {}, dispatch = d3.dispatch("beforesend", "progress", "load", "error"), headers = {}, request = new XMLHttpRequest(), responseType = null; - if (d3_window.XDomainRequest && !("withCredentials" in request) && /^(http(s)?:)?\/\//.test(url)) request = new XDomainRequest(); - "onload" in request ? request.onload = request.onerror = respond : request.onreadystatechange = function() { - request.readyState > 3 && respond(); - }; - function respond() { - var status = request.status, result; - if (!status && d3_xhrHasResponse(request) || status >= 200 && status < 300 || status === 304) { - try { - result = response.call(xhr, request); - } catch (e) { - dispatch.error.call(xhr, e); - return; - } - dispatch.load.call(xhr, result); - } else { - dispatch.error.call(xhr, request); - } - } - request.onprogress = function(event) { - var o = d3.event; - d3.event = event; - try { - dispatch.progress.call(xhr, request); - } finally { - d3.event = o; - } - }; - xhr.header = function(name, value) { - name = (name + "").toLowerCase(); - if (arguments.length < 2) return headers[name]; - if (value == null) delete headers[name]; else headers[name] = value + ""; - return xhr; - }; - xhr.mimeType = function(value) { - if (!arguments.length) return mimeType; - mimeType = value == null ? null : value + ""; - return xhr; - }; - xhr.responseType = function(value) { - if (!arguments.length) return responseType; - responseType = value; - return xhr; - }; - xhr.response = function(value) { - response = value; - return xhr; - }; - [ "get", "post" ].forEach(function(method) { - xhr[method] = function() { - return xhr.send.apply(xhr, [ method ].concat(d3_array(arguments))); - }; - }); - xhr.send = function(method, data, callback) { - if (arguments.length === 2 && typeof data === "function") callback = data, data = null; - request.open(method, url, true); - if (mimeType != null && !("accept" in headers)) headers["accept"] = mimeType + ",*/*"; - if (request.setRequestHeader) for (var name in headers) request.setRequestHeader(name, headers[name]); - if (mimeType != null && request.overrideMimeType) request.overrideMimeType(mimeType); - if (responseType != null) request.responseType = responseType; - if (callback != null) xhr.on("error", callback).on("load", function(request) { - callback(null, request); - }); - dispatch.beforesend.call(xhr, request); - request.send(data == null ? null : data); - return xhr; - }; - xhr.abort = function() { - request.abort(); - return xhr; - }; - d3.rebind(xhr, dispatch, "on"); - return callback == null ? xhr : xhr.get(d3_xhr_fixCallback(callback)); - } - function d3_xhr_fixCallback(callback) { - return callback.length === 1 ? function(error, request) { - callback(error == null ? request : null); - } : callback; - } - function d3_xhrHasResponse(request) { - var type = request.responseType; - return type && type !== "text" ? request.response : request.responseText; - } - d3.dsv = function(delimiter, mimeType) { - var reFormat = new RegExp('["' + delimiter + "\n]"), delimiterCode = delimiter.charCodeAt(0); - function dsv(url, row, callback) { - if (arguments.length < 3) callback = row, row = null; - var xhr = d3_xhr(url, mimeType, row == null ? response : typedResponse(row), callback); - xhr.row = function(_) { - return arguments.length ? xhr.response((row = _) == null ? response : typedResponse(_)) : row; - }; - return xhr; - } - function response(request) { - return dsv.parse(request.responseText); - } - function typedResponse(f) { - return function(request) { - return dsv.parse(request.responseText, f); - }; - } - dsv.parse = function(text, f) { - var o; - return dsv.parseRows(text, function(row, i) { - if (o) return o(row, i - 1); - var a = new Function("d", "return {" + row.map(function(name, i) { - return JSON.stringify(name) + ": d[" + i + "]"; - }).join(",") + "}"); - o = f ? function(row, i) { - return f(a(row), i); - } : a; - }); - }; - dsv.parseRows = function(text, f) { - var EOL = {}, EOF = {}, rows = [], N = text.length, I = 0, n = 0, t, eol; - function token() { - if (I >= N) return EOF; - if (eol) return eol = false, EOL; - var j = I; - if (text.charCodeAt(j) === 34) { - var i = j; - while (i++ < N) { - if (text.charCodeAt(i) === 34) { - if (text.charCodeAt(i + 1) !== 34) break; - ++i; - } - } - I = i + 2; - var c = text.charCodeAt(i + 1); - if (c === 13) { - eol = true; - if (text.charCodeAt(i + 2) === 10) ++I; - } else if (c === 10) { - eol = true; - } - return text.slice(j + 1, i).replace(/""/g, '"'); - } - while (I < N) { - var c = text.charCodeAt(I++), k = 1; - if (c === 10) eol = true; else if (c === 13) { - eol = true; - if (text.charCodeAt(I) === 10) ++I, ++k; - } else if (c !== delimiterCode) continue; - return text.slice(j, I - k); - } - return text.slice(j); - } - while ((t = token()) !== EOF) { - var a = []; - while (t !== EOL && t !== EOF) { - a.push(t); - t = token(); - } - if (f && (a = f(a, n++)) == null) continue; - rows.push(a); - } - return rows; - }; - dsv.format = function(rows) { - if (Array.isArray(rows[0])) return dsv.formatRows(rows); - var fieldSet = new d3_Set(), fields = []; - rows.forEach(function(row) { - for (var field in row) { - if (!fieldSet.has(field)) { - fields.push(fieldSet.add(field)); - } - } - }); - return [ fields.map(formatValue).join(delimiter) ].concat(rows.map(function(row) { - return fields.map(function(field) { - return formatValue(row[field]); - }).join(delimiter); - })).join("\n"); - }; - dsv.formatRows = function(rows) { - return rows.map(formatRow).join("\n"); - }; - function formatRow(row) { - return row.map(formatValue).join(delimiter); - } - function formatValue(text) { - return reFormat.test(text) ? '"' + text.replace(/\"/g, '""') + '"' : text; - } - return dsv; - }; - d3.csv = d3.dsv(",", "text/csv"); - d3.tsv = d3.dsv(" ", "text/tab-separated-values"); - var d3_timer_queueHead, d3_timer_queueTail, d3_timer_interval, d3_timer_timeout, d3_timer_active, d3_timer_frame = d3_window[d3_vendorSymbol(d3_window, "requestAnimationFrame")] || function(callback) { - setTimeout(callback, 17); - }; - d3.timer = function(callback, delay, then) { - var n = arguments.length; - if (n < 2) delay = 0; - if (n < 3) then = Date.now(); - var time = then + delay, timer = { - c: callback, - t: time, - f: false, - n: null - }; - if (d3_timer_queueTail) d3_timer_queueTail.n = timer; else d3_timer_queueHead = timer; - d3_timer_queueTail = timer; - if (!d3_timer_interval) { - d3_timer_timeout = clearTimeout(d3_timer_timeout); - d3_timer_interval = 1; - d3_timer_frame(d3_timer_step); - } - }; - function d3_timer_step() { - var now = d3_timer_mark(), delay = d3_timer_sweep() - now; - if (delay > 24) { - if (isFinite(delay)) { - clearTimeout(d3_timer_timeout); - d3_timer_timeout = setTimeout(d3_timer_step, delay); - } - d3_timer_interval = 0; - } else { - d3_timer_interval = 1; - d3_timer_frame(d3_timer_step); - } - } - d3.timer.flush = function() { - d3_timer_mark(); - d3_timer_sweep(); - }; - function d3_timer_mark() { - var now = Date.now(); - d3_timer_active = d3_timer_queueHead; - while (d3_timer_active) { - if (now >= d3_timer_active.t) d3_timer_active.f = d3_timer_active.c(now - d3_timer_active.t); - d3_timer_active = d3_timer_active.n; - } - return now; - } - function d3_timer_sweep() { - var t0, t1 = d3_timer_queueHead, time = Infinity; - while (t1) { - if (t1.f) { - t1 = t0 ? t0.n = t1.n : d3_timer_queueHead = t1.n; - } else { - if (t1.t < time) time = t1.t; - t1 = (t0 = t1).n; - } - } - d3_timer_queueTail = t0; - return time; - } - function d3_format_precision(x, p) { - return p - (x ? Math.ceil(Math.log(x) / Math.LN10) : 1); - } - d3.round = function(x, n) { - return n ? Math.round(x * (n = Math.pow(10, n))) / n : Math.round(x); - }; - var d3_formatPrefixes = [ "y", "z", "a", "f", "p", "n", "µ", "m", "", "k", "M", "G", "T", "P", "E", "Z", "Y" ].map(d3_formatPrefix); - d3.formatPrefix = function(value, precision) { - var i = 0; - if (value) { - if (value < 0) value *= -1; - if (precision) value = d3.round(value, d3_format_precision(value, precision)); - i = 1 + Math.floor(1e-12 + Math.log(value) / Math.LN10); - i = Math.max(-24, Math.min(24, Math.floor((i - 1) / 3) * 3)); - } - return d3_formatPrefixes[8 + i / 3]; - }; - function d3_formatPrefix(d, i) { - var k = Math.pow(10, abs(8 - i) * 3); - return { - scale: i > 8 ? function(d) { - return d / k; - } : function(d) { - return d * k; - }, - symbol: d - }; - } - function d3_locale_numberFormat(locale) { - var locale_decimal = locale.decimal, locale_thousands = locale.thousands, locale_grouping = locale.grouping, locale_currency = locale.currency, formatGroup = locale_grouping && locale_thousands ? function(value, width) { - var i = value.length, t = [], j = 0, g = locale_grouping[0], length = 0; - while (i > 0 && g > 0) { - if (length + g + 1 > width) g = Math.max(1, width - length); - t.push(value.substring(i -= g, i + g)); - if ((length += g + 1) > width) break; - g = locale_grouping[j = (j + 1) % locale_grouping.length]; - } - return t.reverse().join(locale_thousands); - } : d3_identity; - return function(specifier) { - var match = d3_format_re.exec(specifier), fill = match[1] || " ", align = match[2] || ">", sign = match[3] || "-", symbol = match[4] || "", zfill = match[5], width = +match[6], comma = match[7], precision = match[8], type = match[9], scale = 1, prefix = "", suffix = "", integer = false, exponent = true; - if (precision) precision = +precision.substring(1); - if (zfill || fill === "0" && align === "=") { - zfill = fill = "0"; - align = "="; - } - switch (type) { - case "n": - comma = true; - type = "g"; - break; - - case "%": - scale = 100; - suffix = "%"; - type = "f"; - break; - - case "p": - scale = 100; - suffix = "%"; - type = "r"; - break; - - case "b": - case "o": - case "x": - case "X": - if (symbol === "#") prefix = "0" + type.toLowerCase(); - - case "c": - exponent = false; - - case "d": - integer = true; - precision = 0; - break; - - case "s": - scale = -1; - type = "r"; - break; - } - if (symbol === "$") prefix = locale_currency[0], suffix = locale_currency[1]; - if (type == "r" && !precision) type = "g"; - if (precision != null) { - if (type == "g") precision = Math.max(1, Math.min(21, precision)); else if (type == "e" || type == "f") precision = Math.max(0, Math.min(20, precision)); - } - type = d3_format_types.get(type) || d3_format_typeDefault; - var zcomma = zfill && comma; - return function(value) { - var fullSuffix = suffix; - if (integer && value % 1) return ""; - var negative = value < 0 || value === 0 && 1 / value < 0 ? (value = -value, "-") : sign === "-" ? "" : sign; - if (scale < 0) { - var unit = d3.formatPrefix(value, precision); - value = unit.scale(value); - fullSuffix = unit.symbol + suffix; - } else { - value *= scale; - } - value = type(value, precision); - var i = value.lastIndexOf("."), before, after; - if (i < 0) { - var j = exponent ? value.lastIndexOf("e") : -1; - if (j < 0) before = value, after = ""; else before = value.substring(0, j), after = value.substring(j); - } else { - before = value.substring(0, i); - after = locale_decimal + value.substring(i + 1); - } - if (!zfill && comma) before = formatGroup(before, Infinity); - var length = prefix.length + before.length + after.length + (zcomma ? 0 : negative.length), padding = length < width ? new Array(length = width - length + 1).join(fill) : ""; - if (zcomma) before = formatGroup(padding + before, padding.length ? width - after.length : Infinity); - negative += prefix; - value = before + after; - return (align === "<" ? negative + value + padding : align === ">" ? padding + negative + value : align === "^" ? padding.substring(0, length >>= 1) + negative + value + padding.substring(length) : negative + (zcomma ? value : padding + value)) + fullSuffix; - }; - }; - } - var d3_format_re = /(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i; - var d3_format_types = d3.map({ - b: function(x) { - return x.toString(2); - }, - c: function(x) { - return String.fromCharCode(x); - }, - o: function(x) { - return x.toString(8); - }, - x: function(x) { - return x.toString(16); - }, - X: function(x) { - return x.toString(16).toUpperCase(); - }, - g: function(x, p) { - return x.toPrecision(p); - }, - e: function(x, p) { - return x.toExponential(p); - }, - f: function(x, p) { - return x.toFixed(p); - }, - r: function(x, p) { - return (x = d3.round(x, d3_format_precision(x, p))).toFixed(Math.max(0, Math.min(20, d3_format_precision(x * (1 + 1e-15), p)))); - } - }); - function d3_format_typeDefault(x) { - return x + ""; - } - var d3_time = d3.time = {}, d3_date = Date; - function d3_date_utc() { - this._ = new Date(arguments.length > 1 ? Date.UTC.apply(this, arguments) : arguments[0]); - } - d3_date_utc.prototype = { - getDate: function() { - return this._.getUTCDate(); - }, - getDay: function() { - return this._.getUTCDay(); - }, - getFullYear: function() { - return this._.getUTCFullYear(); - }, - getHours: function() { - return this._.getUTCHours(); - }, - getMilliseconds: function() { - return this._.getUTCMilliseconds(); - }, - getMinutes: function() { - return this._.getUTCMinutes(); - }, - getMonth: function() { - return this._.getUTCMonth(); - }, - getSeconds: function() { - return this._.getUTCSeconds(); - }, - getTime: function() { - return this._.getTime(); - }, - getTimezoneOffset: function() { - return 0; - }, - valueOf: function() { - return this._.valueOf(); - }, - setDate: function() { - d3_time_prototype.setUTCDate.apply(this._, arguments); - }, - setDay: function() { - d3_time_prototype.setUTCDay.apply(this._, arguments); - }, - setFullYear: function() { - d3_time_prototype.setUTCFullYear.apply(this._, arguments); - }, - setHours: function() { - d3_time_prototype.setUTCHours.apply(this._, arguments); - }, - setMilliseconds: function() { - d3_time_prototype.setUTCMilliseconds.apply(this._, arguments); - }, - setMinutes: function() { - d3_time_prototype.setUTCMinutes.apply(this._, arguments); - }, - setMonth: function() { - d3_time_prototype.setUTCMonth.apply(this._, arguments); - }, - setSeconds: function() { - d3_time_prototype.setUTCSeconds.apply(this._, arguments); - }, - setTime: function() { - d3_time_prototype.setTime.apply(this._, arguments); - } - }; - var d3_time_prototype = Date.prototype; - function d3_time_interval(local, step, number) { - function round(date) { - var d0 = local(date), d1 = offset(d0, 1); - return date - d0 < d1 - date ? d0 : d1; - } - function ceil(date) { - step(date = local(new d3_date(date - 1)), 1); - return date; - } - function offset(date, k) { - step(date = new d3_date(+date), k); - return date; - } - function range(t0, t1, dt) { - var time = ceil(t0), times = []; - if (dt > 1) { - while (time < t1) { - if (!(number(time) % dt)) times.push(new Date(+time)); - step(time, 1); - } - } else { - while (time < t1) times.push(new Date(+time)), step(time, 1); - } - return times; - } - function range_utc(t0, t1, dt) { - try { - d3_date = d3_date_utc; - var utc = new d3_date_utc(); - utc._ = t0; - return range(utc, t1, dt); - } finally { - d3_date = Date; - } - } - local.floor = local; - local.round = round; - local.ceil = ceil; - local.offset = offset; - local.range = range; - var utc = local.utc = d3_time_interval_utc(local); - utc.floor = utc; - utc.round = d3_time_interval_utc(round); - utc.ceil = d3_time_interval_utc(ceil); - utc.offset = d3_time_interval_utc(offset); - utc.range = range_utc; - return local; - } - function d3_time_interval_utc(method) { - return function(date, k) { - try { - d3_date = d3_date_utc; - var utc = new d3_date_utc(); - utc._ = date; - return method(utc, k)._; - } finally { - d3_date = Date; - } - }; - } - d3_time.year = d3_time_interval(function(date) { - date = d3_time.day(date); - date.setMonth(0, 1); - return date; - }, function(date, offset) { - date.setFullYear(date.getFullYear() + offset); - }, function(date) { - return date.getFullYear(); - }); - d3_time.years = d3_time.year.range; - d3_time.years.utc = d3_time.year.utc.range; - d3_time.day = d3_time_interval(function(date) { - var day = new d3_date(2e3, 0); - day.setFullYear(date.getFullYear(), date.getMonth(), date.getDate()); - return day; - }, function(date, offset) { - date.setDate(date.getDate() + offset); - }, function(date) { - return date.getDate() - 1; - }); - d3_time.days = d3_time.day.range; - d3_time.days.utc = d3_time.day.utc.range; - d3_time.dayOfYear = function(date) { - var year = d3_time.year(date); - return Math.floor((date - year - (date.getTimezoneOffset() - year.getTimezoneOffset()) * 6e4) / 864e5); - }; - [ "sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday" ].forEach(function(day, i) { - i = 7 - i; - var interval = d3_time[day] = d3_time_interval(function(date) { - (date = d3_time.day(date)).setDate(date.getDate() - (date.getDay() + i) % 7); - return date; - }, function(date, offset) { - date.setDate(date.getDate() + Math.floor(offset) * 7); - }, function(date) { - var day = d3_time.year(date).getDay(); - return Math.floor((d3_time.dayOfYear(date) + (day + i) % 7) / 7) - (day !== i); - }); - d3_time[day + "s"] = interval.range; - d3_time[day + "s"].utc = interval.utc.range; - d3_time[day + "OfYear"] = function(date) { - var day = d3_time.year(date).getDay(); - return Math.floor((d3_time.dayOfYear(date) + (day + i) % 7) / 7); - }; - }); - d3_time.week = d3_time.sunday; - d3_time.weeks = d3_time.sunday.range; - d3_time.weeks.utc = d3_time.sunday.utc.range; - d3_time.weekOfYear = d3_time.sundayOfYear; - function d3_locale_timeFormat(locale) { - var locale_dateTime = locale.dateTime, locale_date = locale.date, locale_time = locale.time, locale_periods = locale.periods, locale_days = locale.days, locale_shortDays = locale.shortDays, locale_months = locale.months, locale_shortMonths = locale.shortMonths; - function d3_time_format(template) { - var n = template.length; - function format(date) { - var string = [], i = -1, j = 0, c, p, f; - while (++i < n) { - if (template.charCodeAt(i) === 37) { - string.push(template.slice(j, i)); - if ((p = d3_time_formatPads[c = template.charAt(++i)]) != null) c = template.charAt(++i); - if (f = d3_time_formats[c]) c = f(date, p == null ? c === "e" ? " " : "0" : p); - string.push(c); - j = i + 1; - } - } - string.push(template.slice(j, i)); - return string.join(""); - } - format.parse = function(string) { - var d = { - y: 1900, - m: 0, - d: 1, - H: 0, - M: 0, - S: 0, - L: 0, - Z: null - }, i = d3_time_parse(d, template, string, 0); - if (i != string.length) return null; - if ("p" in d) d.H = d.H % 12 + d.p * 12; - var localZ = d.Z != null && d3_date !== d3_date_utc, date = new (localZ ? d3_date_utc : d3_date)(); - if ("j" in d) date.setFullYear(d.y, 0, d.j); else if ("w" in d && ("W" in d || "U" in d)) { - date.setFullYear(d.y, 0, 1); - date.setFullYear(d.y, 0, "W" in d ? (d.w + 6) % 7 + d.W * 7 - (date.getDay() + 5) % 7 : d.w + d.U * 7 - (date.getDay() + 6) % 7); - } else date.setFullYear(d.y, d.m, d.d); - date.setHours(d.H + (d.Z / 100 | 0), d.M + d.Z % 100, d.S, d.L); - return localZ ? date._ : date; - }; - format.toString = function() { - return template; - }; - return format; - } - function d3_time_parse(date, template, string, j) { - var c, p, t, i = 0, n = template.length, m = string.length; - while (i < n) { - if (j >= m) return -1; - c = template.charCodeAt(i++); - if (c === 37) { - t = template.charAt(i++); - p = d3_time_parsers[t in d3_time_formatPads ? template.charAt(i++) : t]; - if (!p || (j = p(date, string, j)) < 0) return -1; - } else if (c != string.charCodeAt(j++)) { - return -1; - } - } - return j; - } - d3_time_format.utc = function(template) { - var local = d3_time_format(template); - function format(date) { - try { - d3_date = d3_date_utc; - var utc = new d3_date(); - utc._ = date; - return local(utc); - } finally { - d3_date = Date; - } - } - format.parse = function(string) { - try { - d3_date = d3_date_utc; - var date = local.parse(string); - return date && date._; - } finally { - d3_date = Date; - } - }; - format.toString = local.toString; - return format; - }; - d3_time_format.multi = d3_time_format.utc.multi = d3_time_formatMulti; - var d3_time_periodLookup = d3.map(), d3_time_dayRe = d3_time_formatRe(locale_days), d3_time_dayLookup = d3_time_formatLookup(locale_days), d3_time_dayAbbrevRe = d3_time_formatRe(locale_shortDays), d3_time_dayAbbrevLookup = d3_time_formatLookup(locale_shortDays), d3_time_monthRe = d3_time_formatRe(locale_months), d3_time_monthLookup = d3_time_formatLookup(locale_months), d3_time_monthAbbrevRe = d3_time_formatRe(locale_shortMonths), d3_time_monthAbbrevLookup = d3_time_formatLookup(locale_shortMonths); - locale_periods.forEach(function(p, i) { - d3_time_periodLookup.set(p.toLowerCase(), i); - }); - var d3_time_formats = { - a: function(d) { - return locale_shortDays[d.getDay()]; - }, - A: function(d) { - return locale_days[d.getDay()]; - }, - b: function(d) { - return locale_shortMonths[d.getMonth()]; - }, - B: function(d) { - return locale_months[d.getMonth()]; - }, - c: d3_time_format(locale_dateTime), - d: function(d, p) { - return d3_time_formatPad(d.getDate(), p, 2); - }, - e: function(d, p) { - return d3_time_formatPad(d.getDate(), p, 2); - }, - H: function(d, p) { - return d3_time_formatPad(d.getHours(), p, 2); - }, - I: function(d, p) { - return d3_time_formatPad(d.getHours() % 12 || 12, p, 2); - }, - j: function(d, p) { - return d3_time_formatPad(1 + d3_time.dayOfYear(d), p, 3); - }, - L: function(d, p) { - return d3_time_formatPad(d.getMilliseconds(), p, 3); - }, - m: function(d, p) { - return d3_time_formatPad(d.getMonth() + 1, p, 2); - }, - M: function(d, p) { - return d3_time_formatPad(d.getMinutes(), p, 2); - }, - p: function(d) { - return locale_periods[+(d.getHours() >= 12)]; - }, - S: function(d, p) { - return d3_time_formatPad(d.getSeconds(), p, 2); - }, - U: function(d, p) { - return d3_time_formatPad(d3_time.sundayOfYear(d), p, 2); - }, - w: function(d) { - return d.getDay(); - }, - W: function(d, p) { - return d3_time_formatPad(d3_time.mondayOfYear(d), p, 2); - }, - x: d3_time_format(locale_date), - X: d3_time_format(locale_time), - y: function(d, p) { - return d3_time_formatPad(d.getFullYear() % 100, p, 2); - }, - Y: function(d, p) { - return d3_time_formatPad(d.getFullYear() % 1e4, p, 4); - }, - Z: d3_time_zone, - "%": function() { - return "%"; - } - }; - var d3_time_parsers = { - a: d3_time_parseWeekdayAbbrev, - A: d3_time_parseWeekday, - b: d3_time_parseMonthAbbrev, - B: d3_time_parseMonth, - c: d3_time_parseLocaleFull, - d: d3_time_parseDay, - e: d3_time_parseDay, - H: d3_time_parseHour24, - I: d3_time_parseHour24, - j: d3_time_parseDayOfYear, - L: d3_time_parseMilliseconds, - m: d3_time_parseMonthNumber, - M: d3_time_parseMinutes, - p: d3_time_parseAmPm, - S: d3_time_parseSeconds, - U: d3_time_parseWeekNumberSunday, - w: d3_time_parseWeekdayNumber, - W: d3_time_parseWeekNumberMonday, - x: d3_time_parseLocaleDate, - X: d3_time_parseLocaleTime, - y: d3_time_parseYear, - Y: d3_time_parseFullYear, - Z: d3_time_parseZone, - "%": d3_time_parseLiteralPercent - }; - function d3_time_parseWeekdayAbbrev(date, string, i) { - d3_time_dayAbbrevRe.lastIndex = 0; - var n = d3_time_dayAbbrevRe.exec(string.slice(i)); - return n ? (date.w = d3_time_dayAbbrevLookup.get(n[0].toLowerCase()), i + n[0].length) : -1; - } - function d3_time_parseWeekday(date, string, i) { - d3_time_dayRe.lastIndex = 0; - var n = d3_time_dayRe.exec(string.slice(i)); - return n ? (date.w = d3_time_dayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1; - } - function d3_time_parseMonthAbbrev(date, string, i) { - d3_time_monthAbbrevRe.lastIndex = 0; - var n = d3_time_monthAbbrevRe.exec(string.slice(i)); - return n ? (date.m = d3_time_monthAbbrevLookup.get(n[0].toLowerCase()), i + n[0].length) : -1; - } - function d3_time_parseMonth(date, string, i) { - d3_time_monthRe.lastIndex = 0; - var n = d3_time_monthRe.exec(string.slice(i)); - return n ? (date.m = d3_time_monthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1; - } - function d3_time_parseLocaleFull(date, string, i) { - return d3_time_parse(date, d3_time_formats.c.toString(), string, i); - } - function d3_time_parseLocaleDate(date, string, i) { - return d3_time_parse(date, d3_time_formats.x.toString(), string, i); - } - function d3_time_parseLocaleTime(date, string, i) { - return d3_time_parse(date, d3_time_formats.X.toString(), string, i); - } - function d3_time_parseAmPm(date, string, i) { - var n = d3_time_periodLookup.get(string.slice(i, i += 2).toLowerCase()); - return n == null ? -1 : (date.p = n, i); - } - return d3_time_format; - } - var d3_time_formatPads = { - "-": "", - _: " ", - "0": "0" - }, d3_time_numberRe = /^\s*\d+/, d3_time_percentRe = /^%/; - function d3_time_formatPad(value, fill, width) { - var sign = value < 0 ? "-" : "", string = (sign ? -value : value) + "", length = string.length; - return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string); - } - function d3_time_formatRe(names) { - return new RegExp("^(?:" + names.map(d3.requote).join("|") + ")", "i"); - } - function d3_time_formatLookup(names) { - var map = new d3_Map(), i = -1, n = names.length; - while (++i < n) map.set(names[i].toLowerCase(), i); - return map; - } - function d3_time_parseWeekdayNumber(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 1)); - return n ? (date.w = +n[0], i + n[0].length) : -1; - } - function d3_time_parseWeekNumberSunday(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i)); - return n ? (date.U = +n[0], i + n[0].length) : -1; - } - function d3_time_parseWeekNumberMonday(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i)); - return n ? (date.W = +n[0], i + n[0].length) : -1; - } - function d3_time_parseFullYear(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 4)); - return n ? (date.y = +n[0], i + n[0].length) : -1; - } - function d3_time_parseYear(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 2)); - return n ? (date.y = d3_time_expandYear(+n[0]), i + n[0].length) : -1; - } - function d3_time_parseZone(date, string, i) { - return /^[+-]\d{4}$/.test(string = string.slice(i, i + 5)) ? (date.Z = -string, - i + 5) : -1; - } - function d3_time_expandYear(d) { - return d + (d > 68 ? 1900 : 2e3); - } - function d3_time_parseMonthNumber(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 2)); - return n ? (date.m = n[0] - 1, i + n[0].length) : -1; - } - function d3_time_parseDay(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 2)); - return n ? (date.d = +n[0], i + n[0].length) : -1; - } - function d3_time_parseDayOfYear(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 3)); - return n ? (date.j = +n[0], i + n[0].length) : -1; - } - function d3_time_parseHour24(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 2)); - return n ? (date.H = +n[0], i + n[0].length) : -1; - } - function d3_time_parseMinutes(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 2)); - return n ? (date.M = +n[0], i + n[0].length) : -1; - } - function d3_time_parseSeconds(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 2)); - return n ? (date.S = +n[0], i + n[0].length) : -1; - } - function d3_time_parseMilliseconds(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 3)); - return n ? (date.L = +n[0], i + n[0].length) : -1; - } - function d3_time_zone(d) { - var z = d.getTimezoneOffset(), zs = z > 0 ? "-" : "+", zh = abs(z) / 60 | 0, zm = abs(z) % 60; - return zs + d3_time_formatPad(zh, "0", 2) + d3_time_formatPad(zm, "0", 2); - } - function d3_time_parseLiteralPercent(date, string, i) { - d3_time_percentRe.lastIndex = 0; - var n = d3_time_percentRe.exec(string.slice(i, i + 1)); - return n ? i + n[0].length : -1; - } - function d3_time_formatMulti(formats) { - var n = formats.length, i = -1; - while (++i < n) formats[i][0] = this(formats[i][0]); - return function(date) { - var i = 0, f = formats[i]; - while (!f[1](date)) f = formats[++i]; - return f[0](date); - }; - } - d3.locale = function(locale) { - return { - numberFormat: d3_locale_numberFormat(locale), - timeFormat: d3_locale_timeFormat(locale) - }; - }; - var d3_locale_enUS = d3.locale({ - decimal: ".", - thousands: ",", - grouping: [ 3 ], - currency: [ "$", "" ], - dateTime: "%a %b %e %X %Y", - date: "%m/%d/%Y", - time: "%H:%M:%S", - periods: [ "AM", "PM" ], - days: [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ], - shortDays: [ "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" ], - months: [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ], - shortMonths: [ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" ] - }); - d3.format = d3_locale_enUS.numberFormat; - d3.geo = {}; - function d3_adder() {} - d3_adder.prototype = { - s: 0, - t: 0, - add: function(y) { - d3_adderSum(y, this.t, d3_adderTemp); - d3_adderSum(d3_adderTemp.s, this.s, this); - if (this.s) this.t += d3_adderTemp.t; else this.s = d3_adderTemp.t; - }, - reset: function() { - this.s = this.t = 0; - }, - valueOf: function() { - return this.s; - } - }; - var d3_adderTemp = new d3_adder(); - function d3_adderSum(a, b, o) { - var x = o.s = a + b, bv = x - a, av = x - bv; - o.t = a - av + (b - bv); - } - d3.geo.stream = function(object, listener) { - if (object && d3_geo_streamObjectType.hasOwnProperty(object.type)) { - d3_geo_streamObjectType[object.type](object, listener); - } else { - d3_geo_streamGeometry(object, listener); - } - }; - function d3_geo_streamGeometry(geometry, listener) { - if (geometry && d3_geo_streamGeometryType.hasOwnProperty(geometry.type)) { - d3_geo_streamGeometryType[geometry.type](geometry, listener); - } - } - var d3_geo_streamObjectType = { - Feature: function(feature, listener) { - d3_geo_streamGeometry(feature.geometry, listener); - }, - FeatureCollection: function(object, listener) { - var features = object.features, i = -1, n = features.length; - while (++i < n) d3_geo_streamGeometry(features[i].geometry, listener); - } - }; - var d3_geo_streamGeometryType = { - Sphere: function(object, listener) { - listener.sphere(); - }, - Point: function(object, listener) { - object = object.coordinates; - listener.point(object[0], object[1], object[2]); - }, - MultiPoint: function(object, listener) { - var coordinates = object.coordinates, i = -1, n = coordinates.length; - while (++i < n) object = coordinates[i], listener.point(object[0], object[1], object[2]); - }, - LineString: function(object, listener) { - d3_geo_streamLine(object.coordinates, listener, 0); - }, - MultiLineString: function(object, listener) { - var coordinates = object.coordinates, i = -1, n = coordinates.length; - while (++i < n) d3_geo_streamLine(coordinates[i], listener, 0); - }, - Polygon: function(object, listener) { - d3_geo_streamPolygon(object.coordinates, listener); - }, - MultiPolygon: function(object, listener) { - var coordinates = object.coordinates, i = -1, n = coordinates.length; - while (++i < n) d3_geo_streamPolygon(coordinates[i], listener); - }, - GeometryCollection: function(object, listener) { - var geometries = object.geometries, i = -1, n = geometries.length; - while (++i < n) d3_geo_streamGeometry(geometries[i], listener); - } - }; - function d3_geo_streamLine(coordinates, listener, closed) { - var i = -1, n = coordinates.length - closed, coordinate; - listener.lineStart(); - while (++i < n) coordinate = coordinates[i], listener.point(coordinate[0], coordinate[1], coordinate[2]); - listener.lineEnd(); - } - function d3_geo_streamPolygon(coordinates, listener) { - var i = -1, n = coordinates.length; - listener.polygonStart(); - while (++i < n) d3_geo_streamLine(coordinates[i], listener, 1); - listener.polygonEnd(); - } - d3.geo.area = function(object) { - d3_geo_areaSum = 0; - d3.geo.stream(object, d3_geo_area); - return d3_geo_areaSum; - }; - var d3_geo_areaSum, d3_geo_areaRingSum = new d3_adder(); - var d3_geo_area = { - sphere: function() { - d3_geo_areaSum += 4 * π; - }, - point: d3_noop, - lineStart: d3_noop, - lineEnd: d3_noop, - polygonStart: function() { - d3_geo_areaRingSum.reset(); - d3_geo_area.lineStart = d3_geo_areaRingStart; - }, - polygonEnd: function() { - var area = 2 * d3_geo_areaRingSum; - d3_geo_areaSum += area < 0 ? 4 * π + area : area; - d3_geo_area.lineStart = d3_geo_area.lineEnd = d3_geo_area.point = d3_noop; - } - }; - function d3_geo_areaRingStart() { - var λ00, φ00, λ0, cosφ0, sinφ0; - d3_geo_area.point = function(λ, φ) { - d3_geo_area.point = nextPoint; - λ0 = (λ00 = λ) * d3_radians, cosφ0 = Math.cos(φ = (φ00 = φ) * d3_radians / 2 + π / 4), - sinφ0 = Math.sin(φ); - }; - function nextPoint(λ, φ) { - λ *= d3_radians; - φ = φ * d3_radians / 2 + π / 4; - var dλ = λ - λ0, sdλ = dλ >= 0 ? 1 : -1, adλ = sdλ * dλ, cosφ = Math.cos(φ), sinφ = Math.sin(φ), k = sinφ0 * sinφ, u = cosφ0 * cosφ + k * Math.cos(adλ), v = k * sdλ * Math.sin(adλ); - d3_geo_areaRingSum.add(Math.atan2(v, u)); - λ0 = λ, cosφ0 = cosφ, sinφ0 = sinφ; - } - d3_geo_area.lineEnd = function() { - nextPoint(λ00, φ00); - }; - } - function d3_geo_cartesian(spherical) { - var λ = spherical[0], φ = spherical[1], cosφ = Math.cos(φ); - return [ cosφ * Math.cos(λ), cosφ * Math.sin(λ), Math.sin(φ) ]; - } - function d3_geo_cartesianDot(a, b) { - return a[0] * b[0] + a[1] * b[1] + a[2] * b[2]; - } - function d3_geo_cartesianCross(a, b) { - return [ a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0] ]; - } - function d3_geo_cartesianAdd(a, b) { - a[0] += b[0]; - a[1] += b[1]; - a[2] += b[2]; - } - function d3_geo_cartesianScale(vector, k) { - return [ vector[0] * k, vector[1] * k, vector[2] * k ]; - } - function d3_geo_cartesianNormalize(d) { - var l = Math.sqrt(d[0] * d[0] + d[1] * d[1] + d[2] * d[2]); - d[0] /= l; - d[1] /= l; - d[2] /= l; - } - function d3_geo_spherical(cartesian) { - return [ Math.atan2(cartesian[1], cartesian[0]), d3_asin(cartesian[2]) ]; - } - function d3_geo_sphericalEqual(a, b) { - return abs(a[0] - b[0]) < ε && abs(a[1] - b[1]) < ε; - } - d3.geo.bounds = function() { - var λ0, φ0, λ1, φ1, λ_, λ__, φ__, p0, dλSum, ranges, range; - var bound = { - point: point, - lineStart: lineStart, - lineEnd: lineEnd, - polygonStart: function() { - bound.point = ringPoint; - bound.lineStart = ringStart; - bound.lineEnd = ringEnd; - dλSum = 0; - d3_geo_area.polygonStart(); - }, - polygonEnd: function() { - d3_geo_area.polygonEnd(); - bound.point = point; - bound.lineStart = lineStart; - bound.lineEnd = lineEnd; - if (d3_geo_areaRingSum < 0) λ0 = -(λ1 = 180), φ0 = -(φ1 = 90); else if (dλSum > ε) φ1 = 90; else if (dλSum < -ε) φ0 = -90; - range[0] = λ0, range[1] = λ1; - } - }; - function point(λ, φ) { - ranges.push(range = [ λ0 = λ, λ1 = λ ]); - if (φ < φ0) φ0 = φ; - if (φ > φ1) φ1 = φ; - } - function linePoint(λ, φ) { - var p = d3_geo_cartesian([ λ * d3_radians, φ * d3_radians ]); - if (p0) { - var normal = d3_geo_cartesianCross(p0, p), equatorial = [ normal[1], -normal[0], 0 ], inflection = d3_geo_cartesianCross(equatorial, normal); - d3_geo_cartesianNormalize(inflection); - inflection = d3_geo_spherical(inflection); - var dλ = λ - λ_, s = dλ > 0 ? 1 : -1, λi = inflection[0] * d3_degrees * s, antimeridian = abs(dλ) > 180; - if (antimeridian ^ (s * λ_ < λi && λi < s * λ)) { - var φi = inflection[1] * d3_degrees; - if (φi > φ1) φ1 = φi; - } else if (λi = (λi + 360) % 360 - 180, antimeridian ^ (s * λ_ < λi && λi < s * λ)) { - var φi = -inflection[1] * d3_degrees; - if (φi < φ0) φ0 = φi; - } else { - if (φ < φ0) φ0 = φ; - if (φ > φ1) φ1 = φ; - } - if (antimeridian) { - if (λ < λ_) { - if (angle(λ0, λ) > angle(λ0, λ1)) λ1 = λ; - } else { - if (angle(λ, λ1) > angle(λ0, λ1)) λ0 = λ; - } - } else { - if (λ1 >= λ0) { - if (λ < λ0) λ0 = λ; - if (λ > λ1) λ1 = λ; - } else { - if (λ > λ_) { - if (angle(λ0, λ) > angle(λ0, λ1)) λ1 = λ; - } else { - if (angle(λ, λ1) > angle(λ0, λ1)) λ0 = λ; - } - } - } - } else { - point(λ, φ); - } - p0 = p, λ_ = λ; - } - function lineStart() { - bound.point = linePoint; - } - function lineEnd() { - range[0] = λ0, range[1] = λ1; - bound.point = point; - p0 = null; - } - function ringPoint(λ, φ) { - if (p0) { - var dλ = λ - λ_; - dλSum += abs(dλ) > 180 ? dλ + (dλ > 0 ? 360 : -360) : dλ; - } else λ__ = λ, φ__ = φ; - d3_geo_area.point(λ, φ); - linePoint(λ, φ); - } - function ringStart() { - d3_geo_area.lineStart(); - } - function ringEnd() { - ringPoint(λ__, φ__); - d3_geo_area.lineEnd(); - if (abs(dλSum) > ε) λ0 = -(λ1 = 180); - range[0] = λ0, range[1] = λ1; - p0 = null; - } - function angle(λ0, λ1) { - return (λ1 -= λ0) < 0 ? λ1 + 360 : λ1; - } - function compareRanges(a, b) { - return a[0] - b[0]; - } - function withinRange(x, range) { - return range[0] <= range[1] ? range[0] <= x && x <= range[1] : x < range[0] || range[1] < x; - } - return function(feature) { - φ1 = λ1 = -(λ0 = φ0 = Infinity); - ranges = []; - d3.geo.stream(feature, bound); - var n = ranges.length; - if (n) { - ranges.sort(compareRanges); - for (var i = 1, a = ranges[0], b, merged = [ a ]; i < n; ++i) { - b = ranges[i]; - if (withinRange(b[0], a) || withinRange(b[1], a)) { - if (angle(a[0], b[1]) > angle(a[0], a[1])) a[1] = b[1]; - if (angle(b[0], a[1]) > angle(a[0], a[1])) a[0] = b[0]; - } else { - merged.push(a = b); - } - } - var best = -Infinity, dλ; - for (var n = merged.length - 1, i = 0, a = merged[n], b; i <= n; a = b, ++i) { - b = merged[i]; - if ((dλ = angle(a[1], b[0])) > best) best = dλ, λ0 = b[0], λ1 = a[1]; - } - } - ranges = range = null; - return λ0 === Infinity || φ0 === Infinity ? [ [ NaN, NaN ], [ NaN, NaN ] ] : [ [ λ0, φ0 ], [ λ1, φ1 ] ]; - }; - }(); - d3.geo.centroid = function(object) { - d3_geo_centroidW0 = d3_geo_centroidW1 = d3_geo_centroidX0 = d3_geo_centroidY0 = d3_geo_centroidZ0 = d3_geo_centroidX1 = d3_geo_centroidY1 = d3_geo_centroidZ1 = d3_geo_centroidX2 = d3_geo_centroidY2 = d3_geo_centroidZ2 = 0; - d3.geo.stream(object, d3_geo_centroid); - var x = d3_geo_centroidX2, y = d3_geo_centroidY2, z = d3_geo_centroidZ2, m = x * x + y * y + z * z; - if (m < ε2) { - x = d3_geo_centroidX1, y = d3_geo_centroidY1, z = d3_geo_centroidZ1; - if (d3_geo_centroidW1 < ε) x = d3_geo_centroidX0, y = d3_geo_centroidY0, z = d3_geo_centroidZ0; - m = x * x + y * y + z * z; - if (m < ε2) return [ NaN, NaN ]; - } - return [ Math.atan2(y, x) * d3_degrees, d3_asin(z / Math.sqrt(m)) * d3_degrees ]; - }; - var d3_geo_centroidW0, d3_geo_centroidW1, d3_geo_centroidX0, d3_geo_centroidY0, d3_geo_centroidZ0, d3_geo_centroidX1, d3_geo_centroidY1, d3_geo_centroidZ1, d3_geo_centroidX2, d3_geo_centroidY2, d3_geo_centroidZ2; - var d3_geo_centroid = { - sphere: d3_noop, - point: d3_geo_centroidPoint, - lineStart: d3_geo_centroidLineStart, - lineEnd: d3_geo_centroidLineEnd, - polygonStart: function() { - d3_geo_centroid.lineStart = d3_geo_centroidRingStart; - }, - polygonEnd: function() { - d3_geo_centroid.lineStart = d3_geo_centroidLineStart; - } - }; - function d3_geo_centroidPoint(λ, φ) { - λ *= d3_radians; - var cosφ = Math.cos(φ *= d3_radians); - d3_geo_centroidPointXYZ(cosφ * Math.cos(λ), cosφ * Math.sin(λ), Math.sin(φ)); - } - function d3_geo_centroidPointXYZ(x, y, z) { - ++d3_geo_centroidW0; - d3_geo_centroidX0 += (x - d3_geo_centroidX0) / d3_geo_centroidW0; - d3_geo_centroidY0 += (y - d3_geo_centroidY0) / d3_geo_centroidW0; - d3_geo_centroidZ0 += (z - d3_geo_centroidZ0) / d3_geo_centroidW0; - } - function d3_geo_centroidLineStart() { - var x0, y0, z0; - d3_geo_centroid.point = function(λ, φ) { - λ *= d3_radians; - var cosφ = Math.cos(φ *= d3_radians); - x0 = cosφ * Math.cos(λ); - y0 = cosφ * Math.sin(λ); - z0 = Math.sin(φ); - d3_geo_centroid.point = nextPoint; - d3_geo_centroidPointXYZ(x0, y0, z0); - }; - function nextPoint(λ, φ) { - λ *= d3_radians; - var cosφ = Math.cos(φ *= d3_radians), x = cosφ * Math.cos(λ), y = cosφ * Math.sin(λ), z = Math.sin(φ), w = Math.atan2(Math.sqrt((w = y0 * z - z0 * y) * w + (w = z0 * x - x0 * z) * w + (w = x0 * y - y0 * x) * w), x0 * x + y0 * y + z0 * z); - d3_geo_centroidW1 += w; - d3_geo_centroidX1 += w * (x0 + (x0 = x)); - d3_geo_centroidY1 += w * (y0 + (y0 = y)); - d3_geo_centroidZ1 += w * (z0 + (z0 = z)); - d3_geo_centroidPointXYZ(x0, y0, z0); - } - } - function d3_geo_centroidLineEnd() { - d3_geo_centroid.point = d3_geo_centroidPoint; - } - function d3_geo_centroidRingStart() { - var λ00, φ00, x0, y0, z0; - d3_geo_centroid.point = function(λ, φ) { - λ00 = λ, φ00 = φ; - d3_geo_centroid.point = nextPoint; - λ *= d3_radians; - var cosφ = Math.cos(φ *= d3_radians); - x0 = cosφ * Math.cos(λ); - y0 = cosφ * Math.sin(λ); - z0 = Math.sin(φ); - d3_geo_centroidPointXYZ(x0, y0, z0); - }; - d3_geo_centroid.lineEnd = function() { - nextPoint(λ00, φ00); - d3_geo_centroid.lineEnd = d3_geo_centroidLineEnd; - d3_geo_centroid.point = d3_geo_centroidPoint; - }; - function nextPoint(λ, φ) { - λ *= d3_radians; - var cosφ = Math.cos(φ *= d3_radians), x = cosφ * Math.cos(λ), y = cosφ * Math.sin(λ), z = Math.sin(φ), cx = y0 * z - z0 * y, cy = z0 * x - x0 * z, cz = x0 * y - y0 * x, m = Math.sqrt(cx * cx + cy * cy + cz * cz), u = x0 * x + y0 * y + z0 * z, v = m && -d3_acos(u) / m, w = Math.atan2(m, u); - d3_geo_centroidX2 += v * cx; - d3_geo_centroidY2 += v * cy; - d3_geo_centroidZ2 += v * cz; - d3_geo_centroidW1 += w; - d3_geo_centroidX1 += w * (x0 + (x0 = x)); - d3_geo_centroidY1 += w * (y0 + (y0 = y)); - d3_geo_centroidZ1 += w * (z0 + (z0 = z)); - d3_geo_centroidPointXYZ(x0, y0, z0); - } - } - function d3_geo_compose(a, b) { - function compose(x, y) { - return x = a(x, y), b(x[0], x[1]); - } - if (a.invert && b.invert) compose.invert = function(x, y) { - return x = b.invert(x, y), x && a.invert(x[0], x[1]); - }; - return compose; - } - function d3_true() { - return true; - } - function d3_geo_clipPolygon(segments, compare, clipStartInside, interpolate, listener) { - var subject = [], clip = []; - segments.forEach(function(segment) { - if ((n = segment.length - 1) <= 0) return; - var n, p0 = segment[0], p1 = segment[n]; - if (d3_geo_sphericalEqual(p0, p1)) { - listener.lineStart(); - for (var i = 0; i < n; ++i) listener.point((p0 = segment[i])[0], p0[1]); - listener.lineEnd(); - return; - } - var a = new d3_geo_clipPolygonIntersection(p0, segment, null, true), b = new d3_geo_clipPolygonIntersection(p0, null, a, false); - a.o = b; - subject.push(a); - clip.push(b); - a = new d3_geo_clipPolygonIntersection(p1, segment, null, false); - b = new d3_geo_clipPolygonIntersection(p1, null, a, true); - a.o = b; - subject.push(a); - clip.push(b); - }); - clip.sort(compare); - d3_geo_clipPolygonLinkCircular(subject); - d3_geo_clipPolygonLinkCircular(clip); - if (!subject.length) return; - for (var i = 0, entry = clipStartInside, n = clip.length; i < n; ++i) { - clip[i].e = entry = !entry; - } - var start = subject[0], points, point; - while (1) { - var current = start, isSubject = true; - while (current.v) if ((current = current.n) === start) return; - points = current.z; - listener.lineStart(); - do { - current.v = current.o.v = true; - if (current.e) { - if (isSubject) { - for (var i = 0, n = points.length; i < n; ++i) listener.point((point = points[i])[0], point[1]); - } else { - interpolate(current.x, current.n.x, 1, listener); - } - current = current.n; - } else { - if (isSubject) { - points = current.p.z; - for (var i = points.length - 1; i >= 0; --i) listener.point((point = points[i])[0], point[1]); - } else { - interpolate(current.x, current.p.x, -1, listener); - } - current = current.p; - } - current = current.o; - points = current.z; - isSubject = !isSubject; - } while (!current.v); - listener.lineEnd(); - } - } - function d3_geo_clipPolygonLinkCircular(array) { - if (!(n = array.length)) return; - var n, i = 0, a = array[0], b; - while (++i < n) { - a.n = b = array[i]; - b.p = a; - a = b; - } - a.n = b = array[0]; - b.p = a; - } - function d3_geo_clipPolygonIntersection(point, points, other, entry) { - this.x = point; - this.z = points; - this.o = other; - this.e = entry; - this.v = false; - this.n = this.p = null; - } - function d3_geo_clip(pointVisible, clipLine, interpolate, clipStart) { - return function(rotate, listener) { - var line = clipLine(listener), rotatedClipStart = rotate.invert(clipStart[0], clipStart[1]); - var clip = { - point: point, - lineStart: lineStart, - lineEnd: lineEnd, - polygonStart: function() { - clip.point = pointRing; - clip.lineStart = ringStart; - clip.lineEnd = ringEnd; - segments = []; - polygon = []; - }, - polygonEnd: function() { - clip.point = point; - clip.lineStart = lineStart; - clip.lineEnd = lineEnd; - segments = d3.merge(segments); - var clipStartInside = d3_geo_pointInPolygon(rotatedClipStart, polygon); - if (segments.length) { - if (!polygonStarted) listener.polygonStart(), polygonStarted = true; - d3_geo_clipPolygon(segments, d3_geo_clipSort, clipStartInside, interpolate, listener); - } else if (clipStartInside) { - if (!polygonStarted) listener.polygonStart(), polygonStarted = true; - listener.lineStart(); - interpolate(null, null, 1, listener); - listener.lineEnd(); - } - if (polygonStarted) listener.polygonEnd(), polygonStarted = false; - segments = polygon = null; - }, - sphere: function() { - listener.polygonStart(); - listener.lineStart(); - interpolate(null, null, 1, listener); - listener.lineEnd(); - listener.polygonEnd(); - } - }; - function point(λ, φ) { - var point = rotate(λ, φ); - if (pointVisible(λ = point[0], φ = point[1])) listener.point(λ, φ); - } - function pointLine(λ, φ) { - var point = rotate(λ, φ); - line.point(point[0], point[1]); - } - function lineStart() { - clip.point = pointLine; - line.lineStart(); - } - function lineEnd() { - clip.point = point; - line.lineEnd(); - } - var segments; - var buffer = d3_geo_clipBufferListener(), ringListener = clipLine(buffer), polygonStarted = false, polygon, ring; - function pointRing(λ, φ) { - ring.push([ λ, φ ]); - var point = rotate(λ, φ); - ringListener.point(point[0], point[1]); - } - function ringStart() { - ringListener.lineStart(); - ring = []; - } - function ringEnd() { - pointRing(ring[0][0], ring[0][1]); - ringListener.lineEnd(); - var clean = ringListener.clean(), ringSegments = buffer.buffer(), segment, n = ringSegments.length; - ring.pop(); - polygon.push(ring); - ring = null; - if (!n) return; - if (clean & 1) { - segment = ringSegments[0]; - var n = segment.length - 1, i = -1, point; - if (n > 0) { - if (!polygonStarted) listener.polygonStart(), polygonStarted = true; - listener.lineStart(); - while (++i < n) listener.point((point = segment[i])[0], point[1]); - listener.lineEnd(); - } - return; - } - if (n > 1 && clean & 2) ringSegments.push(ringSegments.pop().concat(ringSegments.shift())); - segments.push(ringSegments.filter(d3_geo_clipSegmentLength1)); - } - return clip; - }; - } - function d3_geo_clipSegmentLength1(segment) { - return segment.length > 1; - } - function d3_geo_clipBufferListener() { - var lines = [], line; - return { - lineStart: function() { - lines.push(line = []); - }, - point: function(λ, φ) { - line.push([ λ, φ ]); - }, - lineEnd: d3_noop, - buffer: function() { - var buffer = lines; - lines = []; - line = null; - return buffer; - }, - rejoin: function() { - if (lines.length > 1) lines.push(lines.pop().concat(lines.shift())); - } - }; - } - function d3_geo_clipSort(a, b) { - return ((a = a.x)[0] < 0 ? a[1] - halfπ - ε : halfπ - a[1]) - ((b = b.x)[0] < 0 ? b[1] - halfπ - ε : halfπ - b[1]); - } - var d3_geo_clipAntimeridian = d3_geo_clip(d3_true, d3_geo_clipAntimeridianLine, d3_geo_clipAntimeridianInterpolate, [ -π, -π / 2 ]); - function d3_geo_clipAntimeridianLine(listener) { - var λ0 = NaN, φ0 = NaN, sλ0 = NaN, clean; - return { - lineStart: function() { - listener.lineStart(); - clean = 1; - }, - point: function(λ1, φ1) { - var sλ1 = λ1 > 0 ? π : -π, dλ = abs(λ1 - λ0); - if (abs(dλ - π) < ε) { - listener.point(λ0, φ0 = (φ0 + φ1) / 2 > 0 ? halfπ : -halfπ); - listener.point(sλ0, φ0); - listener.lineEnd(); - listener.lineStart(); - listener.point(sλ1, φ0); - listener.point(λ1, φ0); - clean = 0; - } else if (sλ0 !== sλ1 && dλ >= π) { - if (abs(λ0 - sλ0) < ε) λ0 -= sλ0 * ε; - if (abs(λ1 - sλ1) < ε) λ1 -= sλ1 * ε; - φ0 = d3_geo_clipAntimeridianIntersect(λ0, φ0, λ1, φ1); - listener.point(sλ0, φ0); - listener.lineEnd(); - listener.lineStart(); - listener.point(sλ1, φ0); - clean = 0; - } - listener.point(λ0 = λ1, φ0 = φ1); - sλ0 = sλ1; - }, - lineEnd: function() { - listener.lineEnd(); - λ0 = φ0 = NaN; - }, - clean: function() { - return 2 - clean; - } - }; - } - function d3_geo_clipAntimeridianIntersect(λ0, φ0, λ1, φ1) { - var cosφ0, cosφ1, sinλ0_λ1 = Math.sin(λ0 - λ1); - return abs(sinλ0_λ1) > ε ? Math.atan((Math.sin(φ0) * (cosφ1 = Math.cos(φ1)) * Math.sin(λ1) - Math.sin(φ1) * (cosφ0 = Math.cos(φ0)) * Math.sin(λ0)) / (cosφ0 * cosφ1 * sinλ0_λ1)) : (φ0 + φ1) / 2; - } - function d3_geo_clipAntimeridianInterpolate(from, to, direction, listener) { - var φ; - if (from == null) { - φ = direction * halfπ; - listener.point(-π, φ); - listener.point(0, φ); - listener.point(π, φ); - listener.point(π, 0); - listener.point(π, -φ); - listener.point(0, -φ); - listener.point(-π, -φ); - listener.point(-π, 0); - listener.point(-π, φ); - } else if (abs(from[0] - to[0]) > ε) { - var s = from[0] < to[0] ? π : -π; - φ = direction * s / 2; - listener.point(-s, φ); - listener.point(0, φ); - listener.point(s, φ); - } else { - listener.point(to[0], to[1]); - } - } - function d3_geo_pointInPolygon(point, polygon) { - var meridian = point[0], parallel = point[1], meridianNormal = [ Math.sin(meridian), -Math.cos(meridian), 0 ], polarAngle = 0, winding = 0; - d3_geo_areaRingSum.reset(); - for (var i = 0, n = polygon.length; i < n; ++i) { - var ring = polygon[i], m = ring.length; - if (!m) continue; - var point0 = ring[0], λ0 = point0[0], φ0 = point0[1] / 2 + π / 4, sinφ0 = Math.sin(φ0), cosφ0 = Math.cos(φ0), j = 1; - while (true) { - if (j === m) j = 0; - point = ring[j]; - var λ = point[0], φ = point[1] / 2 + π / 4, sinφ = Math.sin(φ), cosφ = Math.cos(φ), dλ = λ - λ0, sdλ = dλ >= 0 ? 1 : -1, adλ = sdλ * dλ, antimeridian = adλ > π, k = sinφ0 * sinφ; - d3_geo_areaRingSum.add(Math.atan2(k * sdλ * Math.sin(adλ), cosφ0 * cosφ + k * Math.cos(adλ))); - polarAngle += antimeridian ? dλ + sdλ * τ : dλ; - if (antimeridian ^ λ0 >= meridian ^ λ >= meridian) { - var arc = d3_geo_cartesianCross(d3_geo_cartesian(point0), d3_geo_cartesian(point)); - d3_geo_cartesianNormalize(arc); - var intersection = d3_geo_cartesianCross(meridianNormal, arc); - d3_geo_cartesianNormalize(intersection); - var φarc = (antimeridian ^ dλ >= 0 ? -1 : 1) * d3_asin(intersection[2]); - if (parallel > φarc || parallel === φarc && (arc[0] || arc[1])) { - winding += antimeridian ^ dλ >= 0 ? 1 : -1; - } - } - if (!j++) break; - λ0 = λ, sinφ0 = sinφ, cosφ0 = cosφ, point0 = point; - } - } - return (polarAngle < -ε || polarAngle < ε && d3_geo_areaRingSum < 0) ^ winding & 1; - } - function d3_geo_clipCircle(radius) { - var cr = Math.cos(radius), smallRadius = cr > 0, notHemisphere = abs(cr) > ε, interpolate = d3_geo_circleInterpolate(radius, 6 * d3_radians); - return d3_geo_clip(visible, clipLine, interpolate, smallRadius ? [ 0, -radius ] : [ -π, radius - π ]); - function visible(λ, φ) { - return Math.cos(λ) * Math.cos(φ) > cr; - } - function clipLine(listener) { - var point0, c0, v0, v00, clean; - return { - lineStart: function() { - v00 = v0 = false; - clean = 1; - }, - point: function(λ, φ) { - var point1 = [ λ, φ ], point2, v = visible(λ, φ), c = smallRadius ? v ? 0 : code(λ, φ) : v ? code(λ + (λ < 0 ? π : -π), φ) : 0; - if (!point0 && (v00 = v0 = v)) listener.lineStart(); - if (v !== v0) { - point2 = intersect(point0, point1); - if (d3_geo_sphericalEqual(point0, point2) || d3_geo_sphericalEqual(point1, point2)) { - point1[0] += ε; - point1[1] += ε; - v = visible(point1[0], point1[1]); - } - } - if (v !== v0) { - clean = 0; - if (v) { - listener.lineStart(); - point2 = intersect(point1, point0); - listener.point(point2[0], point2[1]); - } else { - point2 = intersect(point0, point1); - listener.point(point2[0], point2[1]); - listener.lineEnd(); - } - point0 = point2; - } else if (notHemisphere && point0 && smallRadius ^ v) { - var t; - if (!(c & c0) && (t = intersect(point1, point0, true))) { - clean = 0; - if (smallRadius) { - listener.lineStart(); - listener.point(t[0][0], t[0][1]); - listener.point(t[1][0], t[1][1]); - listener.lineEnd(); - } else { - listener.point(t[1][0], t[1][1]); - listener.lineEnd(); - listener.lineStart(); - listener.point(t[0][0], t[0][1]); - } - } - } - if (v && (!point0 || !d3_geo_sphericalEqual(point0, point1))) { - listener.point(point1[0], point1[1]); - } - point0 = point1, v0 = v, c0 = c; - }, - lineEnd: function() { - if (v0) listener.lineEnd(); - point0 = null; - }, - clean: function() { - return clean | (v00 && v0) << 1; - } - }; - } - function intersect(a, b, two) { - var pa = d3_geo_cartesian(a), pb = d3_geo_cartesian(b); - var n1 = [ 1, 0, 0 ], n2 = d3_geo_cartesianCross(pa, pb), n2n2 = d3_geo_cartesianDot(n2, n2), n1n2 = n2[0], determinant = n2n2 - n1n2 * n1n2; - if (!determinant) return !two && a; - var c1 = cr * n2n2 / determinant, c2 = -cr * n1n2 / determinant, n1xn2 = d3_geo_cartesianCross(n1, n2), A = d3_geo_cartesianScale(n1, c1), B = d3_geo_cartesianScale(n2, c2); - d3_geo_cartesianAdd(A, B); - var u = n1xn2, w = d3_geo_cartesianDot(A, u), uu = d3_geo_cartesianDot(u, u), t2 = w * w - uu * (d3_geo_cartesianDot(A, A) - 1); - if (t2 < 0) return; - var t = Math.sqrt(t2), q = d3_geo_cartesianScale(u, (-w - t) / uu); - d3_geo_cartesianAdd(q, A); - q = d3_geo_spherical(q); - if (!two) return q; - var λ0 = a[0], λ1 = b[0], φ0 = a[1], φ1 = b[1], z; - if (λ1 < λ0) z = λ0, λ0 = λ1, λ1 = z; - var δλ = λ1 - λ0, polar = abs(δλ - π) < ε, meridian = polar || δλ < ε; - if (!polar && φ1 < φ0) z = φ0, φ0 = φ1, φ1 = z; - if (meridian ? polar ? φ0 + φ1 > 0 ^ q[1] < (abs(q[0] - λ0) < ε ? φ0 : φ1) : φ0 <= q[1] && q[1] <= φ1 : δλ > π ^ (λ0 <= q[0] && q[0] <= λ1)) { - var q1 = d3_geo_cartesianScale(u, (-w + t) / uu); - d3_geo_cartesianAdd(q1, A); - return [ q, d3_geo_spherical(q1) ]; - } - } - function code(λ, φ) { - var r = smallRadius ? radius : π - radius, code = 0; - if (λ < -r) code |= 1; else if (λ > r) code |= 2; - if (φ < -r) code |= 4; else if (φ > r) code |= 8; - return code; - } - } - function d3_geom_clipLine(x0, y0, x1, y1) { - return function(line) { - var a = line.a, b = line.b, ax = a.x, ay = a.y, bx = b.x, by = b.y, t0 = 0, t1 = 1, dx = bx - ax, dy = by - ay, r; - r = x0 - ax; - if (!dx && r > 0) return; - r /= dx; - if (dx < 0) { - if (r < t0) return; - if (r < t1) t1 = r; - } else if (dx > 0) { - if (r > t1) return; - if (r > t0) t0 = r; - } - r = x1 - ax; - if (!dx && r < 0) return; - r /= dx; - if (dx < 0) { - if (r > t1) return; - if (r > t0) t0 = r; - } else if (dx > 0) { - if (r < t0) return; - if (r < t1) t1 = r; - } - r = y0 - ay; - if (!dy && r > 0) return; - r /= dy; - if (dy < 0) { - if (r < t0) return; - if (r < t1) t1 = r; - } else if (dy > 0) { - if (r > t1) return; - if (r > t0) t0 = r; - } - r = y1 - ay; - if (!dy && r < 0) return; - r /= dy; - if (dy < 0) { - if (r > t1) return; - if (r > t0) t0 = r; - } else if (dy > 0) { - if (r < t0) return; - if (r < t1) t1 = r; - } - if (t0 > 0) line.a = { - x: ax + t0 * dx, - y: ay + t0 * dy - }; - if (t1 < 1) line.b = { - x: ax + t1 * dx, - y: ay + t1 * dy - }; - return line; - }; - } - var d3_geo_clipExtentMAX = 1e9; - d3.geo.clipExtent = function() { - var x0, y0, x1, y1, stream, clip, clipExtent = { - stream: function(output) { - if (stream) stream.valid = false; - stream = clip(output); - stream.valid = true; - return stream; - }, - extent: function(_) { - if (!arguments.length) return [ [ x0, y0 ], [ x1, y1 ] ]; - clip = d3_geo_clipExtent(x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1]); - if (stream) stream.valid = false, stream = null; - return clipExtent; - } - }; - return clipExtent.extent([ [ 0, 0 ], [ 960, 500 ] ]); - }; - function d3_geo_clipExtent(x0, y0, x1, y1) { - return function(listener) { - var listener_ = listener, bufferListener = d3_geo_clipBufferListener(), clipLine = d3_geom_clipLine(x0, y0, x1, y1), segments, polygon, ring; - var clip = { - point: point, - lineStart: lineStart, - lineEnd: lineEnd, - polygonStart: function() { - listener = bufferListener; - segments = []; - polygon = []; - clean = true; - }, - polygonEnd: function() { - listener = listener_; - segments = d3.merge(segments); - var clipStartInside = insidePolygon([ x0, y1 ]), inside = clean && clipStartInside, visible = segments.length; - if (inside || visible) { - listener.polygonStart(); - if (inside) { - listener.lineStart(); - interpolate(null, null, 1, listener); - listener.lineEnd(); - } - if (visible) { - d3_geo_clipPolygon(segments, compare, clipStartInside, interpolate, listener); - } - listener.polygonEnd(); - } - segments = polygon = ring = null; - } - }; - function insidePolygon(p) { - var wn = 0, n = polygon.length, y = p[1]; - for (var i = 0; i < n; ++i) { - for (var j = 1, v = polygon[i], m = v.length, a = v[0], b; j < m; ++j) { - b = v[j]; - if (a[1] <= y) { - if (b[1] > y && d3_cross2d(a, b, p) > 0) ++wn; - } else { - if (b[1] <= y && d3_cross2d(a, b, p) < 0) --wn; - } - a = b; - } - } - return wn !== 0; - } - function interpolate(from, to, direction, listener) { - var a = 0, a1 = 0; - if (from == null || (a = corner(from, direction)) !== (a1 = corner(to, direction)) || comparePoints(from, to) < 0 ^ direction > 0) { - do { - listener.point(a === 0 || a === 3 ? x0 : x1, a > 1 ? y1 : y0); - } while ((a = (a + direction + 4) % 4) !== a1); - } else { - listener.point(to[0], to[1]); - } - } - function pointVisible(x, y) { - return x0 <= x && x <= x1 && y0 <= y && y <= y1; - } - function point(x, y) { - if (pointVisible(x, y)) listener.point(x, y); - } - var x__, y__, v__, x_, y_, v_, first, clean; - function lineStart() { - clip.point = linePoint; - if (polygon) polygon.push(ring = []); - first = true; - v_ = false; - x_ = y_ = NaN; - } - function lineEnd() { - if (segments) { - linePoint(x__, y__); - if (v__ && v_) bufferListener.rejoin(); - segments.push(bufferListener.buffer()); - } - clip.point = point; - if (v_) listener.lineEnd(); - } - function linePoint(x, y) { - x = Math.max(-d3_geo_clipExtentMAX, Math.min(d3_geo_clipExtentMAX, x)); - y = Math.max(-d3_geo_clipExtentMAX, Math.min(d3_geo_clipExtentMAX, y)); - var v = pointVisible(x, y); - if (polygon) ring.push([ x, y ]); - if (first) { - x__ = x, y__ = y, v__ = v; - first = false; - if (v) { - listener.lineStart(); - listener.point(x, y); - } - } else { - if (v && v_) listener.point(x, y); else { - var l = { - a: { - x: x_, - y: y_ - }, - b: { - x: x, - y: y - } - }; - if (clipLine(l)) { - if (!v_) { - listener.lineStart(); - listener.point(l.a.x, l.a.y); - } - listener.point(l.b.x, l.b.y); - if (!v) listener.lineEnd(); - clean = false; - } else if (v) { - listener.lineStart(); - listener.point(x, y); - clean = false; - } - } - } - x_ = x, y_ = y, v_ = v; - } - return clip; - }; - function corner(p, direction) { - return abs(p[0] - x0) < ε ? direction > 0 ? 0 : 3 : abs(p[0] - x1) < ε ? direction > 0 ? 2 : 1 : abs(p[1] - y0) < ε ? direction > 0 ? 1 : 0 : direction > 0 ? 3 : 2; - } - function compare(a, b) { - return comparePoints(a.x, b.x); - } - function comparePoints(a, b) { - var ca = corner(a, 1), cb = corner(b, 1); - return ca !== cb ? ca - cb : ca === 0 ? b[1] - a[1] : ca === 1 ? a[0] - b[0] : ca === 2 ? a[1] - b[1] : b[0] - a[0]; - } - } - function d3_geo_conic(projectAt) { - var φ0 = 0, φ1 = π / 3, m = d3_geo_projectionMutator(projectAt), p = m(φ0, φ1); - p.parallels = function(_) { - if (!arguments.length) return [ φ0 / π * 180, φ1 / π * 180 ]; - return m(φ0 = _[0] * π / 180, φ1 = _[1] * π / 180); - }; - return p; - } - function d3_geo_conicEqualArea(φ0, φ1) { - var sinφ0 = Math.sin(φ0), n = (sinφ0 + Math.sin(φ1)) / 2, C = 1 + sinφ0 * (2 * n - sinφ0), ρ0 = Math.sqrt(C) / n; - function forward(λ, φ) { - var ρ = Math.sqrt(C - 2 * n * Math.sin(φ)) / n; - return [ ρ * Math.sin(λ *= n), ρ0 - ρ * Math.cos(λ) ]; - } - forward.invert = function(x, y) { - var ρ0_y = ρ0 - y; - return [ Math.atan2(x, ρ0_y) / n, d3_asin((C - (x * x + ρ0_y * ρ0_y) * n * n) / (2 * n)) ]; - }; - return forward; - } - (d3.geo.conicEqualArea = function() { - return d3_geo_conic(d3_geo_conicEqualArea); - }).raw = d3_geo_conicEqualArea; - d3.geo.albers = function() { - return d3.geo.conicEqualArea().rotate([ 96, 0 ]).center([ -.6, 38.7 ]).parallels([ 29.5, 45.5 ]).scale(1070); - }; - d3.geo.albersUsa = function() { - var lower48 = d3.geo.albers(); - var alaska = d3.geo.conicEqualArea().rotate([ 154, 0 ]).center([ -2, 58.5 ]).parallels([ 55, 65 ]); - var hawaii = d3.geo.conicEqualArea().rotate([ 157, 0 ]).center([ -3, 19.9 ]).parallels([ 8, 18 ]); - var point, pointStream = { - point: function(x, y) { - point = [ x, y ]; - } - }, lower48Point, alaskaPoint, hawaiiPoint; - function albersUsa(coordinates) { - var x = coordinates[0], y = coordinates[1]; - point = null; - (lower48Point(x, y), point) || (alaskaPoint(x, y), point) || hawaiiPoint(x, y); - return point; - } - albersUsa.invert = function(coordinates) { - var k = lower48.scale(), t = lower48.translate(), x = (coordinates[0] - t[0]) / k, y = (coordinates[1] - t[1]) / k; - return (y >= .12 && y < .234 && x >= -.425 && x < -.214 ? alaska : y >= .166 && y < .234 && x >= -.214 && x < -.115 ? hawaii : lower48).invert(coordinates); - }; - albersUsa.stream = function(stream) { - var lower48Stream = lower48.stream(stream), alaskaStream = alaska.stream(stream), hawaiiStream = hawaii.stream(stream); - return { - point: function(x, y) { - lower48Stream.point(x, y); - alaskaStream.point(x, y); - hawaiiStream.point(x, y); - }, - sphere: function() { - lower48Stream.sphere(); - alaskaStream.sphere(); - hawaiiStream.sphere(); - }, - lineStart: function() { - lower48Stream.lineStart(); - alaskaStream.lineStart(); - hawaiiStream.lineStart(); - }, - lineEnd: function() { - lower48Stream.lineEnd(); - alaskaStream.lineEnd(); - hawaiiStream.lineEnd(); - }, - polygonStart: function() { - lower48Stream.polygonStart(); - alaskaStream.polygonStart(); - hawaiiStream.polygonStart(); - }, - polygonEnd: function() { - lower48Stream.polygonEnd(); - alaskaStream.polygonEnd(); - hawaiiStream.polygonEnd(); - } - }; - }; - albersUsa.precision = function(_) { - if (!arguments.length) return lower48.precision(); - lower48.precision(_); - alaska.precision(_); - hawaii.precision(_); - return albersUsa; - }; - albersUsa.scale = function(_) { - if (!arguments.length) return lower48.scale(); - lower48.scale(_); - alaska.scale(_ * .35); - hawaii.scale(_); - return albersUsa.translate(lower48.translate()); - }; - albersUsa.translate = function(_) { - if (!arguments.length) return lower48.translate(); - var k = lower48.scale(), x = +_[0], y = +_[1]; - lower48Point = lower48.translate(_).clipExtent([ [ x - .455 * k, y - .238 * k ], [ x + .455 * k, y + .238 * k ] ]).stream(pointStream).point; - alaskaPoint = alaska.translate([ x - .307 * k, y + .201 * k ]).clipExtent([ [ x - .425 * k + ε, y + .12 * k + ε ], [ x - .214 * k - ε, y + .234 * k - ε ] ]).stream(pointStream).point; - hawaiiPoint = hawaii.translate([ x - .205 * k, y + .212 * k ]).clipExtent([ [ x - .214 * k + ε, y + .166 * k + ε ], [ x - .115 * k - ε, y + .234 * k - ε ] ]).stream(pointStream).point; - return albersUsa; - }; - return albersUsa.scale(1070); - }; - var d3_geo_pathAreaSum, d3_geo_pathAreaPolygon, d3_geo_pathArea = { - point: d3_noop, - lineStart: d3_noop, - lineEnd: d3_noop, - polygonStart: function() { - d3_geo_pathAreaPolygon = 0; - d3_geo_pathArea.lineStart = d3_geo_pathAreaRingStart; - }, - polygonEnd: function() { - d3_geo_pathArea.lineStart = d3_geo_pathArea.lineEnd = d3_geo_pathArea.point = d3_noop; - d3_geo_pathAreaSum += abs(d3_geo_pathAreaPolygon / 2); - } - }; - function d3_geo_pathAreaRingStart() { - var x00, y00, x0, y0; - d3_geo_pathArea.point = function(x, y) { - d3_geo_pathArea.point = nextPoint; - x00 = x0 = x, y00 = y0 = y; - }; - function nextPoint(x, y) { - d3_geo_pathAreaPolygon += y0 * x - x0 * y; - x0 = x, y0 = y; - } - d3_geo_pathArea.lineEnd = function() { - nextPoint(x00, y00); - }; - } - var d3_geo_pathBoundsX0, d3_geo_pathBoundsY0, d3_geo_pathBoundsX1, d3_geo_pathBoundsY1; - var d3_geo_pathBounds = { - point: d3_geo_pathBoundsPoint, - lineStart: d3_noop, - lineEnd: d3_noop, - polygonStart: d3_noop, - polygonEnd: d3_noop - }; - function d3_geo_pathBoundsPoint(x, y) { - if (x < d3_geo_pathBoundsX0) d3_geo_pathBoundsX0 = x; - if (x > d3_geo_pathBoundsX1) d3_geo_pathBoundsX1 = x; - if (y < d3_geo_pathBoundsY0) d3_geo_pathBoundsY0 = y; - if (y > d3_geo_pathBoundsY1) d3_geo_pathBoundsY1 = y; - } - function d3_geo_pathBuffer() { - var pointCircle = d3_geo_pathBufferCircle(4.5), buffer = []; - var stream = { - point: point, - lineStart: function() { - stream.point = pointLineStart; - }, - lineEnd: lineEnd, - polygonStart: function() { - stream.lineEnd = lineEndPolygon; - }, - polygonEnd: function() { - stream.lineEnd = lineEnd; - stream.point = point; - }, - pointRadius: function(_) { - pointCircle = d3_geo_pathBufferCircle(_); - return stream; - }, - result: function() { - if (buffer.length) { - var result = buffer.join(""); - buffer = []; - return result; - } - } - }; - function point(x, y) { - buffer.push("M", x, ",", y, pointCircle); - } - function pointLineStart(x, y) { - buffer.push("M", x, ",", y); - stream.point = pointLine; - } - function pointLine(x, y) { - buffer.push("L", x, ",", y); - } - function lineEnd() { - stream.point = point; - } - function lineEndPolygon() { - buffer.push("Z"); - } - return stream; - } - function d3_geo_pathBufferCircle(radius) { - return "m0," + radius + "a" + radius + "," + radius + " 0 1,1 0," + -2 * radius + "a" + radius + "," + radius + " 0 1,1 0," + 2 * radius + "z"; - } - var d3_geo_pathCentroid = { - point: d3_geo_pathCentroidPoint, - lineStart: d3_geo_pathCentroidLineStart, - lineEnd: d3_geo_pathCentroidLineEnd, - polygonStart: function() { - d3_geo_pathCentroid.lineStart = d3_geo_pathCentroidRingStart; - }, - polygonEnd: function() { - d3_geo_pathCentroid.point = d3_geo_pathCentroidPoint; - d3_geo_pathCentroid.lineStart = d3_geo_pathCentroidLineStart; - d3_geo_pathCentroid.lineEnd = d3_geo_pathCentroidLineEnd; - } - }; - function d3_geo_pathCentroidPoint(x, y) { - d3_geo_centroidX0 += x; - d3_geo_centroidY0 += y; - ++d3_geo_centroidZ0; - } - function d3_geo_pathCentroidLineStart() { - var x0, y0; - d3_geo_pathCentroid.point = function(x, y) { - d3_geo_pathCentroid.point = nextPoint; - d3_geo_pathCentroidPoint(x0 = x, y0 = y); - }; - function nextPoint(x, y) { - var dx = x - x0, dy = y - y0, z = Math.sqrt(dx * dx + dy * dy); - d3_geo_centroidX1 += z * (x0 + x) / 2; - d3_geo_centroidY1 += z * (y0 + y) / 2; - d3_geo_centroidZ1 += z; - d3_geo_pathCentroidPoint(x0 = x, y0 = y); - } - } - function d3_geo_pathCentroidLineEnd() { - d3_geo_pathCentroid.point = d3_geo_pathCentroidPoint; - } - function d3_geo_pathCentroidRingStart() { - var x00, y00, x0, y0; - d3_geo_pathCentroid.point = function(x, y) { - d3_geo_pathCentroid.point = nextPoint; - d3_geo_pathCentroidPoint(x00 = x0 = x, y00 = y0 = y); - }; - function nextPoint(x, y) { - var dx = x - x0, dy = y - y0, z = Math.sqrt(dx * dx + dy * dy); - d3_geo_centroidX1 += z * (x0 + x) / 2; - d3_geo_centroidY1 += z * (y0 + y) / 2; - d3_geo_centroidZ1 += z; - z = y0 * x - x0 * y; - d3_geo_centroidX2 += z * (x0 + x); - d3_geo_centroidY2 += z * (y0 + y); - d3_geo_centroidZ2 += z * 3; - d3_geo_pathCentroidPoint(x0 = x, y0 = y); - } - d3_geo_pathCentroid.lineEnd = function() { - nextPoint(x00, y00); - }; - } - function d3_geo_pathContext(context) { - var pointRadius = 4.5; - var stream = { - point: point, - lineStart: function() { - stream.point = pointLineStart; - }, - lineEnd: lineEnd, - polygonStart: function() { - stream.lineEnd = lineEndPolygon; - }, - polygonEnd: function() { - stream.lineEnd = lineEnd; - stream.point = point; - }, - pointRadius: function(_) { - pointRadius = _; - return stream; - }, - result: d3_noop - }; - function point(x, y) { - context.moveTo(x + pointRadius, y); - context.arc(x, y, pointRadius, 0, τ); - } - function pointLineStart(x, y) { - context.moveTo(x, y); - stream.point = pointLine; - } - function pointLine(x, y) { - context.lineTo(x, y); - } - function lineEnd() { - stream.point = point; - } - function lineEndPolygon() { - context.closePath(); - } - return stream; - } - function d3_geo_resample(project) { - var δ2 = .5, cosMinDistance = Math.cos(30 * d3_radians), maxDepth = 16; - function resample(stream) { - return (maxDepth ? resampleRecursive : resampleNone)(stream); - } - function resampleNone(stream) { - return d3_geo_transformPoint(stream, function(x, y) { - x = project(x, y); - stream.point(x[0], x[1]); - }); - } - function resampleRecursive(stream) { - var λ00, φ00, x00, y00, a00, b00, c00, λ0, x0, y0, a0, b0, c0; - var resample = { - point: point, - lineStart: lineStart, - lineEnd: lineEnd, - polygonStart: function() { - stream.polygonStart(); - resample.lineStart = ringStart; - }, - polygonEnd: function() { - stream.polygonEnd(); - resample.lineStart = lineStart; - } - }; - function point(x, y) { - x = project(x, y); - stream.point(x[0], x[1]); - } - function lineStart() { - x0 = NaN; - resample.point = linePoint; - stream.lineStart(); - } - function linePoint(λ, φ) { - var c = d3_geo_cartesian([ λ, φ ]), p = project(λ, φ); - resampleLineTo(x0, y0, λ0, a0, b0, c0, x0 = p[0], y0 = p[1], λ0 = λ, a0 = c[0], b0 = c[1], c0 = c[2], maxDepth, stream); - stream.point(x0, y0); - } - function lineEnd() { - resample.point = point; - stream.lineEnd(); - } - function ringStart() { - lineStart(); - resample.point = ringPoint; - resample.lineEnd = ringEnd; - } - function ringPoint(λ, φ) { - linePoint(λ00 = λ, φ00 = φ), x00 = x0, y00 = y0, a00 = a0, b00 = b0, c00 = c0; - resample.point = linePoint; - } - function ringEnd() { - resampleLineTo(x0, y0, λ0, a0, b0, c0, x00, y00, λ00, a00, b00, c00, maxDepth, stream); - resample.lineEnd = lineEnd; - lineEnd(); - } - return resample; - } - function resampleLineTo(x0, y0, λ0, a0, b0, c0, x1, y1, λ1, a1, b1, c1, depth, stream) { - var dx = x1 - x0, dy = y1 - y0, d2 = dx * dx + dy * dy; - if (d2 > 4 * δ2 && depth--) { - var a = a0 + a1, b = b0 + b1, c = c0 + c1, m = Math.sqrt(a * a + b * b + c * c), φ2 = Math.asin(c /= m), λ2 = abs(abs(c) - 1) < ε || abs(λ0 - λ1) < ε ? (λ0 + λ1) / 2 : Math.atan2(b, a), p = project(λ2, φ2), x2 = p[0], y2 = p[1], dx2 = x2 - x0, dy2 = y2 - y0, dz = dy * dx2 - dx * dy2; - if (dz * dz / d2 > δ2 || abs((dx * dx2 + dy * dy2) / d2 - .5) > .3 || a0 * a1 + b0 * b1 + c0 * c1 < cosMinDistance) { - resampleLineTo(x0, y0, λ0, a0, b0, c0, x2, y2, λ2, a /= m, b /= m, c, depth, stream); - stream.point(x2, y2); - resampleLineTo(x2, y2, λ2, a, b, c, x1, y1, λ1, a1, b1, c1, depth, stream); - } - } - } - resample.precision = function(_) { - if (!arguments.length) return Math.sqrt(δ2); - maxDepth = (δ2 = _ * _) > 0 && 16; - return resample; - }; - return resample; - } - d3.geo.path = function() { - var pointRadius = 4.5, projection, context, projectStream, contextStream, cacheStream; - function path(object) { - if (object) { - if (typeof pointRadius === "function") contextStream.pointRadius(+pointRadius.apply(this, arguments)); - if (!cacheStream || !cacheStream.valid) cacheStream = projectStream(contextStream); - d3.geo.stream(object, cacheStream); - } - return contextStream.result(); - } - path.area = function(object) { - d3_geo_pathAreaSum = 0; - d3.geo.stream(object, projectStream(d3_geo_pathArea)); - return d3_geo_pathAreaSum; - }; - path.centroid = function(object) { - d3_geo_centroidX0 = d3_geo_centroidY0 = d3_geo_centroidZ0 = d3_geo_centroidX1 = d3_geo_centroidY1 = d3_geo_centroidZ1 = d3_geo_centroidX2 = d3_geo_centroidY2 = d3_geo_centroidZ2 = 0; - d3.geo.stream(object, projectStream(d3_geo_pathCentroid)); - return d3_geo_centroidZ2 ? [ d3_geo_centroidX2 / d3_geo_centroidZ2, d3_geo_centroidY2 / d3_geo_centroidZ2 ] : d3_geo_centroidZ1 ? [ d3_geo_centroidX1 / d3_geo_centroidZ1, d3_geo_centroidY1 / d3_geo_centroidZ1 ] : d3_geo_centroidZ0 ? [ d3_geo_centroidX0 / d3_geo_centroidZ0, d3_geo_centroidY0 / d3_geo_centroidZ0 ] : [ NaN, NaN ]; - }; - path.bounds = function(object) { - d3_geo_pathBoundsX1 = d3_geo_pathBoundsY1 = -(d3_geo_pathBoundsX0 = d3_geo_pathBoundsY0 = Infinity); - d3.geo.stream(object, projectStream(d3_geo_pathBounds)); - return [ [ d3_geo_pathBoundsX0, d3_geo_pathBoundsY0 ], [ d3_geo_pathBoundsX1, d3_geo_pathBoundsY1 ] ]; - }; - path.projection = function(_) { - if (!arguments.length) return projection; - projectStream = (projection = _) ? _.stream || d3_geo_pathProjectStream(_) : d3_identity; - return reset(); - }; - path.context = function(_) { - if (!arguments.length) return context; - contextStream = (context = _) == null ? new d3_geo_pathBuffer() : new d3_geo_pathContext(_); - if (typeof pointRadius !== "function") contextStream.pointRadius(pointRadius); - return reset(); - }; - path.pointRadius = function(_) { - if (!arguments.length) return pointRadius; - pointRadius = typeof _ === "function" ? _ : (contextStream.pointRadius(+_), +_); - return path; - }; - function reset() { - cacheStream = null; - return path; - } - return path.projection(d3.geo.albersUsa()).context(null); - }; - function d3_geo_pathProjectStream(project) { - var resample = d3_geo_resample(function(x, y) { - return project([ x * d3_degrees, y * d3_degrees ]); - }); - return function(stream) { - return d3_geo_projectionRadians(resample(stream)); - }; - } - d3.geo.transform = function(methods) { - return { - stream: function(stream) { - var transform = new d3_geo_transform(stream); - for (var k in methods) transform[k] = methods[k]; - return transform; - } - }; - }; - function d3_geo_transform(stream) { - this.stream = stream; - } - d3_geo_transform.prototype = { - point: function(x, y) { - this.stream.point(x, y); - }, - sphere: function() { - this.stream.sphere(); - }, - lineStart: function() { - this.stream.lineStart(); - }, - lineEnd: function() { - this.stream.lineEnd(); - }, - polygonStart: function() { - this.stream.polygonStart(); - }, - polygonEnd: function() { - this.stream.polygonEnd(); - } - }; - function d3_geo_transformPoint(stream, point) { - return { - point: point, - sphere: function() { - stream.sphere(); - }, - lineStart: function() { - stream.lineStart(); - }, - lineEnd: function() { - stream.lineEnd(); - }, - polygonStart: function() { - stream.polygonStart(); - }, - polygonEnd: function() { - stream.polygonEnd(); - } - }; - } - d3.geo.projection = d3_geo_projection; - d3.geo.projectionMutator = d3_geo_projectionMutator; - function d3_geo_projection(project) { - return d3_geo_projectionMutator(function() { - return project; - })(); - } - function d3_geo_projectionMutator(projectAt) { - var project, rotate, projectRotate, projectResample = d3_geo_resample(function(x, y) { - x = project(x, y); - return [ x[0] * k + δx, δy - x[1] * k ]; - }), k = 150, x = 480, y = 250, λ = 0, φ = 0, δλ = 0, δφ = 0, δγ = 0, δx, δy, preclip = d3_geo_clipAntimeridian, postclip = d3_identity, clipAngle = null, clipExtent = null, stream; - function projection(point) { - point = projectRotate(point[0] * d3_radians, point[1] * d3_radians); - return [ point[0] * k + δx, δy - point[1] * k ]; - } - function invert(point) { - point = projectRotate.invert((point[0] - δx) / k, (δy - point[1]) / k); - return point && [ point[0] * d3_degrees, point[1] * d3_degrees ]; - } - projection.stream = function(output) { - if (stream) stream.valid = false; - stream = d3_geo_projectionRadians(preclip(rotate, projectResample(postclip(output)))); - stream.valid = true; - return stream; - }; - projection.clipAngle = function(_) { - if (!arguments.length) return clipAngle; - preclip = _ == null ? (clipAngle = _, d3_geo_clipAntimeridian) : d3_geo_clipCircle((clipAngle = +_) * d3_radians); - return invalidate(); - }; - projection.clipExtent = function(_) { - if (!arguments.length) return clipExtent; - clipExtent = _; - postclip = _ ? d3_geo_clipExtent(_[0][0], _[0][1], _[1][0], _[1][1]) : d3_identity; - return invalidate(); - }; - projection.scale = function(_) { - if (!arguments.length) return k; - k = +_; - return reset(); - }; - projection.translate = function(_) { - if (!arguments.length) return [ x, y ]; - x = +_[0]; - y = +_[1]; - return reset(); - }; - projection.center = function(_) { - if (!arguments.length) return [ λ * d3_degrees, φ * d3_degrees ]; - λ = _[0] % 360 * d3_radians; - φ = _[1] % 360 * d3_radians; - return reset(); - }; - projection.rotate = function(_) { - if (!arguments.length) return [ δλ * d3_degrees, δφ * d3_degrees, δγ * d3_degrees ]; - δλ = _[0] % 360 * d3_radians; - δφ = _[1] % 360 * d3_radians; - δγ = _.length > 2 ? _[2] % 360 * d3_radians : 0; - return reset(); - }; - d3.rebind(projection, projectResample, "precision"); - function reset() { - projectRotate = d3_geo_compose(rotate = d3_geo_rotation(δλ, δφ, δγ), project); - var center = project(λ, φ); - δx = x - center[0] * k; - δy = y + center[1] * k; - return invalidate(); - } - function invalidate() { - if (stream) stream.valid = false, stream = null; - return projection; - } - return function() { - project = projectAt.apply(this, arguments); - projection.invert = project.invert && invert; - return reset(); - }; - } - function d3_geo_projectionRadians(stream) { - return d3_geo_transformPoint(stream, function(x, y) { - stream.point(x * d3_radians, y * d3_radians); - }); - } - function d3_geo_equirectangular(λ, φ) { - return [ λ, φ ]; - } - (d3.geo.equirectangular = function() { - return d3_geo_projection(d3_geo_equirectangular); - }).raw = d3_geo_equirectangular.invert = d3_geo_equirectangular; - d3.geo.rotation = function(rotate) { - rotate = d3_geo_rotation(rotate[0] % 360 * d3_radians, rotate[1] * d3_radians, rotate.length > 2 ? rotate[2] * d3_radians : 0); - function forward(coordinates) { - coordinates = rotate(coordinates[0] * d3_radians, coordinates[1] * d3_radians); - return coordinates[0] *= d3_degrees, coordinates[1] *= d3_degrees, coordinates; - } - forward.invert = function(coordinates) { - coordinates = rotate.invert(coordinates[0] * d3_radians, coordinates[1] * d3_radians); - return coordinates[0] *= d3_degrees, coordinates[1] *= d3_degrees, coordinates; - }; - return forward; - }; - function d3_geo_identityRotation(λ, φ) { - return [ λ > π ? λ - τ : λ < -π ? λ + τ : λ, φ ]; - } - d3_geo_identityRotation.invert = d3_geo_equirectangular; - function d3_geo_rotation(δλ, δφ, δγ) { - return δλ ? δφ || δγ ? d3_geo_compose(d3_geo_rotationλ(δλ), d3_geo_rotationφγ(δφ, δγ)) : d3_geo_rotationλ(δλ) : δφ || δγ ? d3_geo_rotationφγ(δφ, δγ) : d3_geo_identityRotation; - } - function d3_geo_forwardRotationλ(δλ) { - return function(λ, φ) { - return λ += δλ, [ λ > π ? λ - τ : λ < -π ? λ + τ : λ, φ ]; - }; - } - function d3_geo_rotationλ(δλ) { - var rotation = d3_geo_forwardRotationλ(δλ); - rotation.invert = d3_geo_forwardRotationλ(-δλ); - return rotation; - } - function d3_geo_rotationφγ(δφ, δγ) { - var cosδφ = Math.cos(δφ), sinδφ = Math.sin(δφ), cosδγ = Math.cos(δγ), sinδγ = Math.sin(δγ); - function rotation(λ, φ) { - var cosφ = Math.cos(φ), x = Math.cos(λ) * cosφ, y = Math.sin(λ) * cosφ, z = Math.sin(φ), k = z * cosδφ + x * sinδφ; - return [ Math.atan2(y * cosδγ - k * sinδγ, x * cosδφ - z * sinδφ), d3_asin(k * cosδγ + y * sinδγ) ]; - } - rotation.invert = function(λ, φ) { - var cosφ = Math.cos(φ), x = Math.cos(λ) * cosφ, y = Math.sin(λ) * cosφ, z = Math.sin(φ), k = z * cosδγ - y * sinδγ; - return [ Math.atan2(y * cosδγ + z * sinδγ, x * cosδφ + k * sinδφ), d3_asin(k * cosδφ - x * sinδφ) ]; - }; - return rotation; - } - d3.geo.circle = function() { - var origin = [ 0, 0 ], angle, precision = 6, interpolate; - function circle() { - var center = typeof origin === "function" ? origin.apply(this, arguments) : origin, rotate = d3_geo_rotation(-center[0] * d3_radians, -center[1] * d3_radians, 0).invert, ring = []; - interpolate(null, null, 1, { - point: function(x, y) { - ring.push(x = rotate(x, y)); - x[0] *= d3_degrees, x[1] *= d3_degrees; - } - }); - return { - type: "Polygon", - coordinates: [ ring ] - }; - } - circle.origin = function(x) { - if (!arguments.length) return origin; - origin = x; - return circle; - }; - circle.angle = function(x) { - if (!arguments.length) return angle; - interpolate = d3_geo_circleInterpolate((angle = +x) * d3_radians, precision * d3_radians); - return circle; - }; - circle.precision = function(_) { - if (!arguments.length) return precision; - interpolate = d3_geo_circleInterpolate(angle * d3_radians, (precision = +_) * d3_radians); - return circle; - }; - return circle.angle(90); - }; - function d3_geo_circleInterpolate(radius, precision) { - var cr = Math.cos(radius), sr = Math.sin(radius); - return function(from, to, direction, listener) { - var step = direction * precision; - if (from != null) { - from = d3_geo_circleAngle(cr, from); - to = d3_geo_circleAngle(cr, to); - if (direction > 0 ? from < to : from > to) from += direction * τ; - } else { - from = radius + direction * τ; - to = radius - .5 * step; - } - for (var point, t = from; direction > 0 ? t > to : t < to; t -= step) { - listener.point((point = d3_geo_spherical([ cr, -sr * Math.cos(t), -sr * Math.sin(t) ]))[0], point[1]); - } - }; - } - function d3_geo_circleAngle(cr, point) { - var a = d3_geo_cartesian(point); - a[0] -= cr; - d3_geo_cartesianNormalize(a); - var angle = d3_acos(-a[1]); - return ((-a[2] < 0 ? -angle : angle) + 2 * Math.PI - ε) % (2 * Math.PI); - } - d3.geo.distance = function(a, b) { - var Δλ = (b[0] - a[0]) * d3_radians, φ0 = a[1] * d3_radians, φ1 = b[1] * d3_radians, sinΔλ = Math.sin(Δλ), cosΔλ = Math.cos(Δλ), sinφ0 = Math.sin(φ0), cosφ0 = Math.cos(φ0), sinφ1 = Math.sin(φ1), cosφ1 = Math.cos(φ1), t; - return Math.atan2(Math.sqrt((t = cosφ1 * sinΔλ) * t + (t = cosφ0 * sinφ1 - sinφ0 * cosφ1 * cosΔλ) * t), sinφ0 * sinφ1 + cosφ0 * cosφ1 * cosΔλ); - }; - d3.geo.graticule = function() { - var x1, x0, X1, X0, y1, y0, Y1, Y0, dx = 10, dy = dx, DX = 90, DY = 360, x, y, X, Y, precision = 2.5; - function graticule() { - return { - type: "MultiLineString", - coordinates: lines() - }; - } - function lines() { - return d3.range(Math.ceil(X0 / DX) * DX, X1, DX).map(X).concat(d3.range(Math.ceil(Y0 / DY) * DY, Y1, DY).map(Y)).concat(d3.range(Math.ceil(x0 / dx) * dx, x1, dx).filter(function(x) { - return abs(x % DX) > ε; - }).map(x)).concat(d3.range(Math.ceil(y0 / dy) * dy, y1, dy).filter(function(y) { - return abs(y % DY) > ε; - }).map(y)); - } - graticule.lines = function() { - return lines().map(function(coordinates) { - return { - type: "LineString", - coordinates: coordinates - }; - }); - }; - graticule.outline = function() { - return { - type: "Polygon", - coordinates: [ X(X0).concat(Y(Y1).slice(1), X(X1).reverse().slice(1), Y(Y0).reverse().slice(1)) ] - }; - }; - graticule.extent = function(_) { - if (!arguments.length) return graticule.minorExtent(); - return graticule.majorExtent(_).minorExtent(_); - }; - graticule.majorExtent = function(_) { - if (!arguments.length) return [ [ X0, Y0 ], [ X1, Y1 ] ]; - X0 = +_[0][0], X1 = +_[1][0]; - Y0 = +_[0][1], Y1 = +_[1][1]; - if (X0 > X1) _ = X0, X0 = X1, X1 = _; - if (Y0 > Y1) _ = Y0, Y0 = Y1, Y1 = _; - return graticule.precision(precision); - }; - graticule.minorExtent = function(_) { - if (!arguments.length) return [ [ x0, y0 ], [ x1, y1 ] ]; - x0 = +_[0][0], x1 = +_[1][0]; - y0 = +_[0][1], y1 = +_[1][1]; - if (x0 > x1) _ = x0, x0 = x1, x1 = _; - if (y0 > y1) _ = y0, y0 = y1, y1 = _; - return graticule.precision(precision); - }; - graticule.step = function(_) { - if (!arguments.length) return graticule.minorStep(); - return graticule.majorStep(_).minorStep(_); - }; - graticule.majorStep = function(_) { - if (!arguments.length) return [ DX, DY ]; - DX = +_[0], DY = +_[1]; - return graticule; - }; - graticule.minorStep = function(_) { - if (!arguments.length) return [ dx, dy ]; - dx = +_[0], dy = +_[1]; - return graticule; - }; - graticule.precision = function(_) { - if (!arguments.length) return precision; - precision = +_; - x = d3_geo_graticuleX(y0, y1, 90); - y = d3_geo_graticuleY(x0, x1, precision); - X = d3_geo_graticuleX(Y0, Y1, 90); - Y = d3_geo_graticuleY(X0, X1, precision); - return graticule; - }; - return graticule.majorExtent([ [ -180, -90 + ε ], [ 180, 90 - ε ] ]).minorExtent([ [ -180, -80 - ε ], [ 180, 80 + ε ] ]); - }; - function d3_geo_graticuleX(y0, y1, dy) { - var y = d3.range(y0, y1 - ε, dy).concat(y1); - return function(x) { - return y.map(function(y) { - return [ x, y ]; - }); - }; - } - function d3_geo_graticuleY(x0, x1, dx) { - var x = d3.range(x0, x1 - ε, dx).concat(x1); - return function(y) { - return x.map(function(x) { - return [ x, y ]; - }); - }; - } - function d3_source(d) { - return d.source; - } - function d3_target(d) { - return d.target; - } - d3.geo.greatArc = function() { - var source = d3_source, source_, target = d3_target, target_; - function greatArc() { - return { - type: "LineString", - coordinates: [ source_ || source.apply(this, arguments), target_ || target.apply(this, arguments) ] - }; - } - greatArc.distance = function() { - return d3.geo.distance(source_ || source.apply(this, arguments), target_ || target.apply(this, arguments)); - }; - greatArc.source = function(_) { - if (!arguments.length) return source; - source = _, source_ = typeof _ === "function" ? null : _; - return greatArc; - }; - greatArc.target = function(_) { - if (!arguments.length) return target; - target = _, target_ = typeof _ === "function" ? null : _; - return greatArc; - }; - greatArc.precision = function() { - return arguments.length ? greatArc : 0; - }; - return greatArc; - }; - d3.geo.interpolate = function(source, target) { - return d3_geo_interpolate(source[0] * d3_radians, source[1] * d3_radians, target[0] * d3_radians, target[1] * d3_radians); - }; - function d3_geo_interpolate(x0, y0, x1, y1) { - var cy0 = Math.cos(y0), sy0 = Math.sin(y0), cy1 = Math.cos(y1), sy1 = Math.sin(y1), kx0 = cy0 * Math.cos(x0), ky0 = cy0 * Math.sin(x0), kx1 = cy1 * Math.cos(x1), ky1 = cy1 * Math.sin(x1), d = 2 * Math.asin(Math.sqrt(d3_haversin(y1 - y0) + cy0 * cy1 * d3_haversin(x1 - x0))), k = 1 / Math.sin(d); - var interpolate = d ? function(t) { - var B = Math.sin(t *= d) * k, A = Math.sin(d - t) * k, x = A * kx0 + B * kx1, y = A * ky0 + B * ky1, z = A * sy0 + B * sy1; - return [ Math.atan2(y, x) * d3_degrees, Math.atan2(z, Math.sqrt(x * x + y * y)) * d3_degrees ]; - } : function() { - return [ x0 * d3_degrees, y0 * d3_degrees ]; - }; - interpolate.distance = d; - return interpolate; - } - d3.geo.length = function(object) { - d3_geo_lengthSum = 0; - d3.geo.stream(object, d3_geo_length); - return d3_geo_lengthSum; - }; - var d3_geo_lengthSum; - var d3_geo_length = { - sphere: d3_noop, - point: d3_noop, - lineStart: d3_geo_lengthLineStart, - lineEnd: d3_noop, - polygonStart: d3_noop, - polygonEnd: d3_noop - }; - function d3_geo_lengthLineStart() { - var λ0, sinφ0, cosφ0; - d3_geo_length.point = function(λ, φ) { - λ0 = λ * d3_radians, sinφ0 = Math.sin(φ *= d3_radians), cosφ0 = Math.cos(φ); - d3_geo_length.point = nextPoint; - }; - d3_geo_length.lineEnd = function() { - d3_geo_length.point = d3_geo_length.lineEnd = d3_noop; - }; - function nextPoint(λ, φ) { - var sinφ = Math.sin(φ *= d3_radians), cosφ = Math.cos(φ), t = abs((λ *= d3_radians) - λ0), cosΔλ = Math.cos(t); - d3_geo_lengthSum += Math.atan2(Math.sqrt((t = cosφ * Math.sin(t)) * t + (t = cosφ0 * sinφ - sinφ0 * cosφ * cosΔλ) * t), sinφ0 * sinφ + cosφ0 * cosφ * cosΔλ); - λ0 = λ, sinφ0 = sinφ, cosφ0 = cosφ; - } - } - function d3_geo_azimuthal(scale, angle) { - function azimuthal(λ, φ) { - var cosλ = Math.cos(λ), cosφ = Math.cos(φ), k = scale(cosλ * cosφ); - return [ k * cosφ * Math.sin(λ), k * Math.sin(φ) ]; - } - azimuthal.invert = function(x, y) { - var ρ = Math.sqrt(x * x + y * y), c = angle(ρ), sinc = Math.sin(c), cosc = Math.cos(c); - return [ Math.atan2(x * sinc, ρ * cosc), Math.asin(ρ && y * sinc / ρ) ]; - }; - return azimuthal; - } - var d3_geo_azimuthalEqualArea = d3_geo_azimuthal(function(cosλcosφ) { - return Math.sqrt(2 / (1 + cosλcosφ)); - }, function(ρ) { - return 2 * Math.asin(ρ / 2); - }); - (d3.geo.azimuthalEqualArea = function() { - return d3_geo_projection(d3_geo_azimuthalEqualArea); - }).raw = d3_geo_azimuthalEqualArea; - var d3_geo_azimuthalEquidistant = d3_geo_azimuthal(function(cosλcosφ) { - var c = Math.acos(cosλcosφ); - return c && c / Math.sin(c); - }, d3_identity); - (d3.geo.azimuthalEquidistant = function() { - return d3_geo_projection(d3_geo_azimuthalEquidistant); - }).raw = d3_geo_azimuthalEquidistant; - function d3_geo_conicConformal(φ0, φ1) { - var cosφ0 = Math.cos(φ0), t = function(φ) { - return Math.tan(π / 4 + φ / 2); - }, n = φ0 === φ1 ? Math.sin(φ0) : Math.log(cosφ0 / Math.cos(φ1)) / Math.log(t(φ1) / t(φ0)), F = cosφ0 * Math.pow(t(φ0), n) / n; - if (!n) return d3_geo_mercator; - function forward(λ, φ) { - if (F > 0) { - if (φ < -halfπ + ε) φ = -halfπ + ε; - } else { - if (φ > halfπ - ε) φ = halfπ - ε; - } - var ρ = F / Math.pow(t(φ), n); - return [ ρ * Math.sin(n * λ), F - ρ * Math.cos(n * λ) ]; - } - forward.invert = function(x, y) { - var ρ0_y = F - y, ρ = d3_sgn(n) * Math.sqrt(x * x + ρ0_y * ρ0_y); - return [ Math.atan2(x, ρ0_y) / n, 2 * Math.atan(Math.pow(F / ρ, 1 / n)) - halfπ ]; - }; - return forward; - } - (d3.geo.conicConformal = function() { - return d3_geo_conic(d3_geo_conicConformal); - }).raw = d3_geo_conicConformal; - function d3_geo_conicEquidistant(φ0, φ1) { - var cosφ0 = Math.cos(φ0), n = φ0 === φ1 ? Math.sin(φ0) : (cosφ0 - Math.cos(φ1)) / (φ1 - φ0), G = cosφ0 / n + φ0; - if (abs(n) < ε) return d3_geo_equirectangular; - function forward(λ, φ) { - var ρ = G - φ; - return [ ρ * Math.sin(n * λ), G - ρ * Math.cos(n * λ) ]; - } - forward.invert = function(x, y) { - var ρ0_y = G - y; - return [ Math.atan2(x, ρ0_y) / n, G - d3_sgn(n) * Math.sqrt(x * x + ρ0_y * ρ0_y) ]; - }; - return forward; - } - (d3.geo.conicEquidistant = function() { - return d3_geo_conic(d3_geo_conicEquidistant); - }).raw = d3_geo_conicEquidistant; - var d3_geo_gnomonic = d3_geo_azimuthal(function(cosλcosφ) { - return 1 / cosλcosφ; - }, Math.atan); - (d3.geo.gnomonic = function() { - return d3_geo_projection(d3_geo_gnomonic); - }).raw = d3_geo_gnomonic; - function d3_geo_mercator(λ, φ) { - return [ λ, Math.log(Math.tan(π / 4 + φ / 2)) ]; - } - d3_geo_mercator.invert = function(x, y) { - return [ x, 2 * Math.atan(Math.exp(y)) - halfπ ]; - }; - function d3_geo_mercatorProjection(project) { - var m = d3_geo_projection(project), scale = m.scale, translate = m.translate, clipExtent = m.clipExtent, clipAuto; - m.scale = function() { - var v = scale.apply(m, arguments); - return v === m ? clipAuto ? m.clipExtent(null) : m : v; - }; - m.translate = function() { - var v = translate.apply(m, arguments); - return v === m ? clipAuto ? m.clipExtent(null) : m : v; - }; - m.clipExtent = function(_) { - var v = clipExtent.apply(m, arguments); - if (v === m) { - if (clipAuto = _ == null) { - var k = π * scale(), t = translate(); - clipExtent([ [ t[0] - k, t[1] - k ], [ t[0] + k, t[1] + k ] ]); - } - } else if (clipAuto) { - v = null; - } - return v; - }; - return m.clipExtent(null); - } - (d3.geo.mercator = function() { - return d3_geo_mercatorProjection(d3_geo_mercator); - }).raw = d3_geo_mercator; - var d3_geo_orthographic = d3_geo_azimuthal(function() { - return 1; - }, Math.asin); - (d3.geo.orthographic = function() { - return d3_geo_projection(d3_geo_orthographic); - }).raw = d3_geo_orthographic; - var d3_geo_stereographic = d3_geo_azimuthal(function(cosλcosφ) { - return 1 / (1 + cosλcosφ); - }, function(ρ) { - return 2 * Math.atan(ρ); - }); - (d3.geo.stereographic = function() { - return d3_geo_projection(d3_geo_stereographic); - }).raw = d3_geo_stereographic; - function d3_geo_transverseMercator(λ, φ) { - return [ Math.log(Math.tan(π / 4 + φ / 2)), -λ ]; - } - d3_geo_transverseMercator.invert = function(x, y) { - return [ -y, 2 * Math.atan(Math.exp(x)) - halfπ ]; - }; - (d3.geo.transverseMercator = function() { - var projection = d3_geo_mercatorProjection(d3_geo_transverseMercator), center = projection.center, rotate = projection.rotate; - projection.center = function(_) { - return _ ? center([ -_[1], _[0] ]) : (_ = center(), [ _[1], -_[0] ]); - }; - projection.rotate = function(_) { - return _ ? rotate([ _[0], _[1], _.length > 2 ? _[2] + 90 : 90 ]) : (_ = rotate(), - [ _[0], _[1], _[2] - 90 ]); - }; - return rotate([ 0, 0, 90 ]); - }).raw = d3_geo_transverseMercator; - d3.geom = {}; - function d3_geom_pointX(d) { - return d[0]; - } - function d3_geom_pointY(d) { - return d[1]; - } - d3.geom.hull = function(vertices) { - var x = d3_geom_pointX, y = d3_geom_pointY; - if (arguments.length) return hull(vertices); - function hull(data) { - if (data.length < 3) return []; - var fx = d3_functor(x), fy = d3_functor(y), i, n = data.length, points = [], flippedPoints = []; - for (i = 0; i < n; i++) { - points.push([ +fx.call(this, data[i], i), +fy.call(this, data[i], i), i ]); - } - points.sort(d3_geom_hullOrder); - for (i = 0; i < n; i++) flippedPoints.push([ points[i][0], -points[i][1] ]); - var upper = d3_geom_hullUpper(points), lower = d3_geom_hullUpper(flippedPoints); - var skipLeft = lower[0] === upper[0], skipRight = lower[lower.length - 1] === upper[upper.length - 1], polygon = []; - for (i = upper.length - 1; i >= 0; --i) polygon.push(data[points[upper[i]][2]]); - for (i = +skipLeft; i < lower.length - skipRight; ++i) polygon.push(data[points[lower[i]][2]]); - return polygon; - } - hull.x = function(_) { - return arguments.length ? (x = _, hull) : x; - }; - hull.y = function(_) { - return arguments.length ? (y = _, hull) : y; - }; - return hull; - }; - function d3_geom_hullUpper(points) { - var n = points.length, hull = [ 0, 1 ], hs = 2; - for (var i = 2; i < n; i++) { - while (hs > 1 && d3_cross2d(points[hull[hs - 2]], points[hull[hs - 1]], points[i]) <= 0) --hs; - hull[hs++] = i; - } - return hull.slice(0, hs); - } - function d3_geom_hullOrder(a, b) { - return a[0] - b[0] || a[1] - b[1]; - } - d3.geom.polygon = function(coordinates) { - d3_subclass(coordinates, d3_geom_polygonPrototype); - return coordinates; - }; - var d3_geom_polygonPrototype = d3.geom.polygon.prototype = []; - d3_geom_polygonPrototype.area = function() { - var i = -1, n = this.length, a, b = this[n - 1], area = 0; - while (++i < n) { - a = b; - b = this[i]; - area += a[1] * b[0] - a[0] * b[1]; - } - return area * .5; - }; - d3_geom_polygonPrototype.centroid = function(k) { - var i = -1, n = this.length, x = 0, y = 0, a, b = this[n - 1], c; - if (!arguments.length) k = -1 / (6 * this.area()); - while (++i < n) { - a = b; - b = this[i]; - c = a[0] * b[1] - b[0] * a[1]; - x += (a[0] + b[0]) * c; - y += (a[1] + b[1]) * c; - } - return [ x * k, y * k ]; - }; - d3_geom_polygonPrototype.clip = function(subject) { - var input, closed = d3_geom_polygonClosed(subject), i = -1, n = this.length - d3_geom_polygonClosed(this), j, m, a = this[n - 1], b, c, d; - while (++i < n) { - input = subject.slice(); - subject.length = 0; - b = this[i]; - c = input[(m = input.length - closed) - 1]; - j = -1; - while (++j < m) { - d = input[j]; - if (d3_geom_polygonInside(d, a, b)) { - if (!d3_geom_polygonInside(c, a, b)) { - subject.push(d3_geom_polygonIntersect(c, d, a, b)); - } - subject.push(d); - } else if (d3_geom_polygonInside(c, a, b)) { - subject.push(d3_geom_polygonIntersect(c, d, a, b)); - } - c = d; - } - if (closed) subject.push(subject[0]); - a = b; - } - return subject; - }; - function d3_geom_polygonInside(p, a, b) { - return (b[0] - a[0]) * (p[1] - a[1]) < (b[1] - a[1]) * (p[0] - a[0]); - } - function d3_geom_polygonIntersect(c, d, a, b) { - var x1 = c[0], x3 = a[0], x21 = d[0] - x1, x43 = b[0] - x3, y1 = c[1], y3 = a[1], y21 = d[1] - y1, y43 = b[1] - y3, ua = (x43 * (y1 - y3) - y43 * (x1 - x3)) / (y43 * x21 - x43 * y21); - return [ x1 + ua * x21, y1 + ua * y21 ]; - } - function d3_geom_polygonClosed(coordinates) { - var a = coordinates[0], b = coordinates[coordinates.length - 1]; - return !(a[0] - b[0] || a[1] - b[1]); - } - var d3_geom_voronoiEdges, d3_geom_voronoiCells, d3_geom_voronoiBeaches, d3_geom_voronoiBeachPool = [], d3_geom_voronoiFirstCircle, d3_geom_voronoiCircles, d3_geom_voronoiCirclePool = []; - function d3_geom_voronoiBeach() { - d3_geom_voronoiRedBlackNode(this); - this.edge = this.site = this.circle = null; - } - function d3_geom_voronoiCreateBeach(site) { - var beach = d3_geom_voronoiBeachPool.pop() || new d3_geom_voronoiBeach(); - beach.site = site; - return beach; - } - function d3_geom_voronoiDetachBeach(beach) { - d3_geom_voronoiDetachCircle(beach); - d3_geom_voronoiBeaches.remove(beach); - d3_geom_voronoiBeachPool.push(beach); - d3_geom_voronoiRedBlackNode(beach); - } - function d3_geom_voronoiRemoveBeach(beach) { - var circle = beach.circle, x = circle.x, y = circle.cy, vertex = { - x: x, - y: y - }, previous = beach.P, next = beach.N, disappearing = [ beach ]; - d3_geom_voronoiDetachBeach(beach); - var lArc = previous; - while (lArc.circle && abs(x - lArc.circle.x) < ε && abs(y - lArc.circle.cy) < ε) { - previous = lArc.P; - disappearing.unshift(lArc); - d3_geom_voronoiDetachBeach(lArc); - lArc = previous; - } - disappearing.unshift(lArc); - d3_geom_voronoiDetachCircle(lArc); - var rArc = next; - while (rArc.circle && abs(x - rArc.circle.x) < ε && abs(y - rArc.circle.cy) < ε) { - next = rArc.N; - disappearing.push(rArc); - d3_geom_voronoiDetachBeach(rArc); - rArc = next; - } - disappearing.push(rArc); - d3_geom_voronoiDetachCircle(rArc); - var nArcs = disappearing.length, iArc; - for (iArc = 1; iArc < nArcs; ++iArc) { - rArc = disappearing[iArc]; - lArc = disappearing[iArc - 1]; - d3_geom_voronoiSetEdgeEnd(rArc.edge, lArc.site, rArc.site, vertex); - } - lArc = disappearing[0]; - rArc = disappearing[nArcs - 1]; - rArc.edge = d3_geom_voronoiCreateEdge(lArc.site, rArc.site, null, vertex); - d3_geom_voronoiAttachCircle(lArc); - d3_geom_voronoiAttachCircle(rArc); - } - function d3_geom_voronoiAddBeach(site) { - var x = site.x, directrix = site.y, lArc, rArc, dxl, dxr, node = d3_geom_voronoiBeaches._; - while (node) { - dxl = d3_geom_voronoiLeftBreakPoint(node, directrix) - x; - if (dxl > ε) node = node.L; else { - dxr = x - d3_geom_voronoiRightBreakPoint(node, directrix); - if (dxr > ε) { - if (!node.R) { - lArc = node; - break; - } - node = node.R; - } else { - if (dxl > -ε) { - lArc = node.P; - rArc = node; - } else if (dxr > -ε) { - lArc = node; - rArc = node.N; - } else { - lArc = rArc = node; - } - break; - } - } - } - var newArc = d3_geom_voronoiCreateBeach(site); - d3_geom_voronoiBeaches.insert(lArc, newArc); - if (!lArc && !rArc) return; - if (lArc === rArc) { - d3_geom_voronoiDetachCircle(lArc); - rArc = d3_geom_voronoiCreateBeach(lArc.site); - d3_geom_voronoiBeaches.insert(newArc, rArc); - newArc.edge = rArc.edge = d3_geom_voronoiCreateEdge(lArc.site, newArc.site); - d3_geom_voronoiAttachCircle(lArc); - d3_geom_voronoiAttachCircle(rArc); - return; - } - if (!rArc) { - newArc.edge = d3_geom_voronoiCreateEdge(lArc.site, newArc.site); - return; - } - d3_geom_voronoiDetachCircle(lArc); - d3_geom_voronoiDetachCircle(rArc); - var lSite = lArc.site, ax = lSite.x, ay = lSite.y, bx = site.x - ax, by = site.y - ay, rSite = rArc.site, cx = rSite.x - ax, cy = rSite.y - ay, d = 2 * (bx * cy - by * cx), hb = bx * bx + by * by, hc = cx * cx + cy * cy, vertex = { - x: (cy * hb - by * hc) / d + ax, - y: (bx * hc - cx * hb) / d + ay - }; - d3_geom_voronoiSetEdgeEnd(rArc.edge, lSite, rSite, vertex); - newArc.edge = d3_geom_voronoiCreateEdge(lSite, site, null, vertex); - rArc.edge = d3_geom_voronoiCreateEdge(site, rSite, null, vertex); - d3_geom_voronoiAttachCircle(lArc); - d3_geom_voronoiAttachCircle(rArc); - } - function d3_geom_voronoiLeftBreakPoint(arc, directrix) { - var site = arc.site, rfocx = site.x, rfocy = site.y, pby2 = rfocy - directrix; - if (!pby2) return rfocx; - var lArc = arc.P; - if (!lArc) return -Infinity; - site = lArc.site; - var lfocx = site.x, lfocy = site.y, plby2 = lfocy - directrix; - if (!plby2) return lfocx; - var hl = lfocx - rfocx, aby2 = 1 / pby2 - 1 / plby2, b = hl / plby2; - if (aby2) return (-b + Math.sqrt(b * b - 2 * aby2 * (hl * hl / (-2 * plby2) - lfocy + plby2 / 2 + rfocy - pby2 / 2))) / aby2 + rfocx; - return (rfocx + lfocx) / 2; - } - function d3_geom_voronoiRightBreakPoint(arc, directrix) { - var rArc = arc.N; - if (rArc) return d3_geom_voronoiLeftBreakPoint(rArc, directrix); - var site = arc.site; - return site.y === directrix ? site.x : Infinity; - } - function d3_geom_voronoiCell(site) { - this.site = site; - this.edges = []; - } - d3_geom_voronoiCell.prototype.prepare = function() { - var halfEdges = this.edges, iHalfEdge = halfEdges.length, edge; - while (iHalfEdge--) { - edge = halfEdges[iHalfEdge].edge; - if (!edge.b || !edge.a) halfEdges.splice(iHalfEdge, 1); - } - halfEdges.sort(d3_geom_voronoiHalfEdgeOrder); - return halfEdges.length; - }; - function d3_geom_voronoiCloseCells(extent) { - var x0 = extent[0][0], x1 = extent[1][0], y0 = extent[0][1], y1 = extent[1][1], x2, y2, x3, y3, cells = d3_geom_voronoiCells, iCell = cells.length, cell, iHalfEdge, halfEdges, nHalfEdges, start, end; - while (iCell--) { - cell = cells[iCell]; - if (!cell || !cell.prepare()) continue; - halfEdges = cell.edges; - nHalfEdges = halfEdges.length; - iHalfEdge = 0; - while (iHalfEdge < nHalfEdges) { - end = halfEdges[iHalfEdge].end(), x3 = end.x, y3 = end.y; - start = halfEdges[++iHalfEdge % nHalfEdges].start(), x2 = start.x, y2 = start.y; - if (abs(x3 - x2) > ε || abs(y3 - y2) > ε) { - halfEdges.splice(iHalfEdge, 0, new d3_geom_voronoiHalfEdge(d3_geom_voronoiCreateBorderEdge(cell.site, end, abs(x3 - x0) < ε && y1 - y3 > ε ? { - x: x0, - y: abs(x2 - x0) < ε ? y2 : y1 - } : abs(y3 - y1) < ε && x1 - x3 > ε ? { - x: abs(y2 - y1) < ε ? x2 : x1, - y: y1 - } : abs(x3 - x1) < ε && y3 - y0 > ε ? { - x: x1, - y: abs(x2 - x1) < ε ? y2 : y0 - } : abs(y3 - y0) < ε && x3 - x0 > ε ? { - x: abs(y2 - y0) < ε ? x2 : x0, - y: y0 - } : null), cell.site, null)); - ++nHalfEdges; - } - } - } - } - function d3_geom_voronoiHalfEdgeOrder(a, b) { - return b.angle - a.angle; - } - function d3_geom_voronoiCircle() { - d3_geom_voronoiRedBlackNode(this); - this.x = this.y = this.arc = this.site = this.cy = null; - } - function d3_geom_voronoiAttachCircle(arc) { - var lArc = arc.P, rArc = arc.N; - if (!lArc || !rArc) return; - var lSite = lArc.site, cSite = arc.site, rSite = rArc.site; - if (lSite === rSite) return; - var bx = cSite.x, by = cSite.y, ax = lSite.x - bx, ay = lSite.y - by, cx = rSite.x - bx, cy = rSite.y - by; - var d = 2 * (ax * cy - ay * cx); - if (d >= -ε2) return; - var ha = ax * ax + ay * ay, hc = cx * cx + cy * cy, x = (cy * ha - ay * hc) / d, y = (ax * hc - cx * ha) / d, cy = y + by; - var circle = d3_geom_voronoiCirclePool.pop() || new d3_geom_voronoiCircle(); - circle.arc = arc; - circle.site = cSite; - circle.x = x + bx; - circle.y = cy + Math.sqrt(x * x + y * y); - circle.cy = cy; - arc.circle = circle; - var before = null, node = d3_geom_voronoiCircles._; - while (node) { - if (circle.y < node.y || circle.y === node.y && circle.x <= node.x) { - if (node.L) node = node.L; else { - before = node.P; - break; - } - } else { - if (node.R) node = node.R; else { - before = node; - break; - } - } - } - d3_geom_voronoiCircles.insert(before, circle); - if (!before) d3_geom_voronoiFirstCircle = circle; - } - function d3_geom_voronoiDetachCircle(arc) { - var circle = arc.circle; - if (circle) { - if (!circle.P) d3_geom_voronoiFirstCircle = circle.N; - d3_geom_voronoiCircles.remove(circle); - d3_geom_voronoiCirclePool.push(circle); - d3_geom_voronoiRedBlackNode(circle); - arc.circle = null; - } - } - function d3_geom_voronoiClipEdges(extent) { - var edges = d3_geom_voronoiEdges, clip = d3_geom_clipLine(extent[0][0], extent[0][1], extent[1][0], extent[1][1]), i = edges.length, e; - while (i--) { - e = edges[i]; - if (!d3_geom_voronoiConnectEdge(e, extent) || !clip(e) || abs(e.a.x - e.b.x) < ε && abs(e.a.y - e.b.y) < ε) { - e.a = e.b = null; - edges.splice(i, 1); - } - } - } - function d3_geom_voronoiConnectEdge(edge, extent) { - var vb = edge.b; - if (vb) return true; - var va = edge.a, x0 = extent[0][0], x1 = extent[1][0], y0 = extent[0][1], y1 = extent[1][1], lSite = edge.l, rSite = edge.r, lx = lSite.x, ly = lSite.y, rx = rSite.x, ry = rSite.y, fx = (lx + rx) / 2, fy = (ly + ry) / 2, fm, fb; - if (ry === ly) { - if (fx < x0 || fx >= x1) return; - if (lx > rx) { - if (!va) va = { - x: fx, - y: y0 - }; else if (va.y >= y1) return; - vb = { - x: fx, - y: y1 - }; - } else { - if (!va) va = { - x: fx, - y: y1 - }; else if (va.y < y0) return; - vb = { - x: fx, - y: y0 - }; - } - } else { - fm = (lx - rx) / (ry - ly); - fb = fy - fm * fx; - if (fm < -1 || fm > 1) { - if (lx > rx) { - if (!va) va = { - x: (y0 - fb) / fm, - y: y0 - }; else if (va.y >= y1) return; - vb = { - x: (y1 - fb) / fm, - y: y1 - }; - } else { - if (!va) va = { - x: (y1 - fb) / fm, - y: y1 - }; else if (va.y < y0) return; - vb = { - x: (y0 - fb) / fm, - y: y0 - }; - } - } else { - if (ly < ry) { - if (!va) va = { - x: x0, - y: fm * x0 + fb - }; else if (va.x >= x1) return; - vb = { - x: x1, - y: fm * x1 + fb - }; - } else { - if (!va) va = { - x: x1, - y: fm * x1 + fb - }; else if (va.x < x0) return; - vb = { - x: x0, - y: fm * x0 + fb - }; - } - } - } - edge.a = va; - edge.b = vb; - return true; - } - function d3_geom_voronoiEdge(lSite, rSite) { - this.l = lSite; - this.r = rSite; - this.a = this.b = null; - } - function d3_geom_voronoiCreateEdge(lSite, rSite, va, vb) { - var edge = new d3_geom_voronoiEdge(lSite, rSite); - d3_geom_voronoiEdges.push(edge); - if (va) d3_geom_voronoiSetEdgeEnd(edge, lSite, rSite, va); - if (vb) d3_geom_voronoiSetEdgeEnd(edge, rSite, lSite, vb); - d3_geom_voronoiCells[lSite.i].edges.push(new d3_geom_voronoiHalfEdge(edge, lSite, rSite)); - d3_geom_voronoiCells[rSite.i].edges.push(new d3_geom_voronoiHalfEdge(edge, rSite, lSite)); - return edge; - } - function d3_geom_voronoiCreateBorderEdge(lSite, va, vb) { - var edge = new d3_geom_voronoiEdge(lSite, null); - edge.a = va; - edge.b = vb; - d3_geom_voronoiEdges.push(edge); - return edge; - } - function d3_geom_voronoiSetEdgeEnd(edge, lSite, rSite, vertex) { - if (!edge.a && !edge.b) { - edge.a = vertex; - edge.l = lSite; - edge.r = rSite; - } else if (edge.l === rSite) { - edge.b = vertex; - } else { - edge.a = vertex; - } - } - function d3_geom_voronoiHalfEdge(edge, lSite, rSite) { - var va = edge.a, vb = edge.b; - this.edge = edge; - this.site = lSite; - this.angle = rSite ? Math.atan2(rSite.y - lSite.y, rSite.x - lSite.x) : edge.l === lSite ? Math.atan2(vb.x - va.x, va.y - vb.y) : Math.atan2(va.x - vb.x, vb.y - va.y); - } - d3_geom_voronoiHalfEdge.prototype = { - start: function() { - return this.edge.l === this.site ? this.edge.a : this.edge.b; - }, - end: function() { - return this.edge.l === this.site ? this.edge.b : this.edge.a; - } - }; - function d3_geom_voronoiRedBlackTree() { - this._ = null; - } - function d3_geom_voronoiRedBlackNode(node) { - node.U = node.C = node.L = node.R = node.P = node.N = null; - } - d3_geom_voronoiRedBlackTree.prototype = { - insert: function(after, node) { - var parent, grandpa, uncle; - if (after) { - node.P = after; - node.N = after.N; - if (after.N) after.N.P = node; - after.N = node; - if (after.R) { - after = after.R; - while (after.L) after = after.L; - after.L = node; - } else { - after.R = node; - } - parent = after; - } else if (this._) { - after = d3_geom_voronoiRedBlackFirst(this._); - node.P = null; - node.N = after; - after.P = after.L = node; - parent = after; - } else { - node.P = node.N = null; - this._ = node; - parent = null; - } - node.L = node.R = null; - node.U = parent; - node.C = true; - after = node; - while (parent && parent.C) { - grandpa = parent.U; - if (parent === grandpa.L) { - uncle = grandpa.R; - if (uncle && uncle.C) { - parent.C = uncle.C = false; - grandpa.C = true; - after = grandpa; - } else { - if (after === parent.R) { - d3_geom_voronoiRedBlackRotateLeft(this, parent); - after = parent; - parent = after.U; - } - parent.C = false; - grandpa.C = true; - d3_geom_voronoiRedBlackRotateRight(this, grandpa); - } - } else { - uncle = grandpa.L; - if (uncle && uncle.C) { - parent.C = uncle.C = false; - grandpa.C = true; - after = grandpa; - } else { - if (after === parent.L) { - d3_geom_voronoiRedBlackRotateRight(this, parent); - after = parent; - parent = after.U; - } - parent.C = false; - grandpa.C = true; - d3_geom_voronoiRedBlackRotateLeft(this, grandpa); - } - } - parent = after.U; - } - this._.C = false; - }, - remove: function(node) { - if (node.N) node.N.P = node.P; - if (node.P) node.P.N = node.N; - node.N = node.P = null; - var parent = node.U, sibling, left = node.L, right = node.R, next, red; - if (!left) next = right; else if (!right) next = left; else next = d3_geom_voronoiRedBlackFirst(right); - if (parent) { - if (parent.L === node) parent.L = next; else parent.R = next; - } else { - this._ = next; - } - if (left && right) { - red = next.C; - next.C = node.C; - next.L = left; - left.U = next; - if (next !== right) { - parent = next.U; - next.U = node.U; - node = next.R; - parent.L = node; - next.R = right; - right.U = next; - } else { - next.U = parent; - parent = next; - node = next.R; - } - } else { - red = node.C; - node = next; - } - if (node) node.U = parent; - if (red) return; - if (node && node.C) { - node.C = false; - return; - } - do { - if (node === this._) break; - if (node === parent.L) { - sibling = parent.R; - if (sibling.C) { - sibling.C = false; - parent.C = true; - d3_geom_voronoiRedBlackRotateLeft(this, parent); - sibling = parent.R; - } - if (sibling.L && sibling.L.C || sibling.R && sibling.R.C) { - if (!sibling.R || !sibling.R.C) { - sibling.L.C = false; - sibling.C = true; - d3_geom_voronoiRedBlackRotateRight(this, sibling); - sibling = parent.R; - } - sibling.C = parent.C; - parent.C = sibling.R.C = false; - d3_geom_voronoiRedBlackRotateLeft(this, parent); - node = this._; - break; - } - } else { - sibling = parent.L; - if (sibling.C) { - sibling.C = false; - parent.C = true; - d3_geom_voronoiRedBlackRotateRight(this, parent); - sibling = parent.L; - } - if (sibling.L && sibling.L.C || sibling.R && sibling.R.C) { - if (!sibling.L || !sibling.L.C) { - sibling.R.C = false; - sibling.C = true; - d3_geom_voronoiRedBlackRotateLeft(this, sibling); - sibling = parent.L; - } - sibling.C = parent.C; - parent.C = sibling.L.C = false; - d3_geom_voronoiRedBlackRotateRight(this, parent); - node = this._; - break; - } - } - sibling.C = true; - node = parent; - parent = parent.U; - } while (!node.C); - if (node) node.C = false; - } - }; - function d3_geom_voronoiRedBlackRotateLeft(tree, node) { - var p = node, q = node.R, parent = p.U; - if (parent) { - if (parent.L === p) parent.L = q; else parent.R = q; - } else { - tree._ = q; - } - q.U = parent; - p.U = q; - p.R = q.L; - if (p.R) p.R.U = p; - q.L = p; - } - function d3_geom_voronoiRedBlackRotateRight(tree, node) { - var p = node, q = node.L, parent = p.U; - if (parent) { - if (parent.L === p) parent.L = q; else parent.R = q; - } else { - tree._ = q; - } - q.U = parent; - p.U = q; - p.L = q.R; - if (p.L) p.L.U = p; - q.R = p; - } - function d3_geom_voronoiRedBlackFirst(node) { - while (node.L) node = node.L; - return node; - } - function d3_geom_voronoi(sites, bbox) { - var site = sites.sort(d3_geom_voronoiVertexOrder).pop(), x0, y0, circle; - d3_geom_voronoiEdges = []; - d3_geom_voronoiCells = new Array(sites.length); - d3_geom_voronoiBeaches = new d3_geom_voronoiRedBlackTree(); - d3_geom_voronoiCircles = new d3_geom_voronoiRedBlackTree(); - while (true) { - circle = d3_geom_voronoiFirstCircle; - if (site && (!circle || site.y < circle.y || site.y === circle.y && site.x < circle.x)) { - if (site.x !== x0 || site.y !== y0) { - d3_geom_voronoiCells[site.i] = new d3_geom_voronoiCell(site); - d3_geom_voronoiAddBeach(site); - x0 = site.x, y0 = site.y; - } - site = sites.pop(); - } else if (circle) { - d3_geom_voronoiRemoveBeach(circle.arc); - } else { - break; - } - } - if (bbox) d3_geom_voronoiClipEdges(bbox), d3_geom_voronoiCloseCells(bbox); - var diagram = { - cells: d3_geom_voronoiCells, - edges: d3_geom_voronoiEdges - }; - d3_geom_voronoiBeaches = d3_geom_voronoiCircles = d3_geom_voronoiEdges = d3_geom_voronoiCells = null; - return diagram; - } - function d3_geom_voronoiVertexOrder(a, b) { - return b.y - a.y || b.x - a.x; - } - d3.geom.voronoi = function(points) { - var x = d3_geom_pointX, y = d3_geom_pointY, fx = x, fy = y, clipExtent = d3_geom_voronoiClipExtent; - if (points) return voronoi(points); - function voronoi(data) { - var polygons = new Array(data.length), x0 = clipExtent[0][0], y0 = clipExtent[0][1], x1 = clipExtent[1][0], y1 = clipExtent[1][1]; - d3_geom_voronoi(sites(data), clipExtent).cells.forEach(function(cell, i) { - var edges = cell.edges, site = cell.site, polygon = polygons[i] = edges.length ? edges.map(function(e) { - var s = e.start(); - return [ s.x, s.y ]; - }) : site.x >= x0 && site.x <= x1 && site.y >= y0 && site.y <= y1 ? [ [ x0, y1 ], [ x1, y1 ], [ x1, y0 ], [ x0, y0 ] ] : []; - polygon.point = data[i]; - }); - return polygons; - } - function sites(data) { - return data.map(function(d, i) { - return { - x: Math.round(fx(d, i) / ε) * ε, - y: Math.round(fy(d, i) / ε) * ε, - i: i - }; - }); - } - voronoi.links = function(data) { - return d3_geom_voronoi(sites(data)).edges.filter(function(edge) { - return edge.l && edge.r; - }).map(function(edge) { - return { - source: data[edge.l.i], - target: data[edge.r.i] - }; - }); - }; - voronoi.triangles = function(data) { - var triangles = []; - d3_geom_voronoi(sites(data)).cells.forEach(function(cell, i) { - var site = cell.site, edges = cell.edges.sort(d3_geom_voronoiHalfEdgeOrder), j = -1, m = edges.length, e0, s0, e1 = edges[m - 1].edge, s1 = e1.l === site ? e1.r : e1.l; - while (++j < m) { - e0 = e1; - s0 = s1; - e1 = edges[j].edge; - s1 = e1.l === site ? e1.r : e1.l; - if (i < s0.i && i < s1.i && d3_geom_voronoiTriangleArea(site, s0, s1) < 0) { - triangles.push([ data[i], data[s0.i], data[s1.i] ]); - } - } - }); - return triangles; - }; - voronoi.x = function(_) { - return arguments.length ? (fx = d3_functor(x = _), voronoi) : x; - }; - voronoi.y = function(_) { - return arguments.length ? (fy = d3_functor(y = _), voronoi) : y; - }; - voronoi.clipExtent = function(_) { - if (!arguments.length) return clipExtent === d3_geom_voronoiClipExtent ? null : clipExtent; - clipExtent = _ == null ? d3_geom_voronoiClipExtent : _; - return voronoi; - }; - voronoi.size = function(_) { - if (!arguments.length) return clipExtent === d3_geom_voronoiClipExtent ? null : clipExtent && clipExtent[1]; - return voronoi.clipExtent(_ && [ [ 0, 0 ], _ ]); - }; - return voronoi; - }; - var d3_geom_voronoiClipExtent = [ [ -1e6, -1e6 ], [ 1e6, 1e6 ] ]; - function d3_geom_voronoiTriangleArea(a, b, c) { - return (a.x - c.x) * (b.y - a.y) - (a.x - b.x) * (c.y - a.y); - } - d3.geom.delaunay = function(vertices) { - return d3.geom.voronoi().triangles(vertices); - }; - d3.geom.quadtree = function(points, x1, y1, x2, y2) { - var x = d3_geom_pointX, y = d3_geom_pointY, compat; - if (compat = arguments.length) { - x = d3_geom_quadtreeCompatX; - y = d3_geom_quadtreeCompatY; - if (compat === 3) { - y2 = y1; - x2 = x1; - y1 = x1 = 0; - } - return quadtree(points); - } - function quadtree(data) { - var d, fx = d3_functor(x), fy = d3_functor(y), xs, ys, i, n, x1_, y1_, x2_, y2_; - if (x1 != null) { - x1_ = x1, y1_ = y1, x2_ = x2, y2_ = y2; - } else { - x2_ = y2_ = -(x1_ = y1_ = Infinity); - xs = [], ys = []; - n = data.length; - if (compat) for (i = 0; i < n; ++i) { - d = data[i]; - if (d.x < x1_) x1_ = d.x; - if (d.y < y1_) y1_ = d.y; - if (d.x > x2_) x2_ = d.x; - if (d.y > y2_) y2_ = d.y; - xs.push(d.x); - ys.push(d.y); - } else for (i = 0; i < n; ++i) { - var x_ = +fx(d = data[i], i), y_ = +fy(d, i); - if (x_ < x1_) x1_ = x_; - if (y_ < y1_) y1_ = y_; - if (x_ > x2_) x2_ = x_; - if (y_ > y2_) y2_ = y_; - xs.push(x_); - ys.push(y_); - } - } - var dx = x2_ - x1_, dy = y2_ - y1_; - if (dx > dy) y2_ = y1_ + dx; else x2_ = x1_ + dy; - function insert(n, d, x, y, x1, y1, x2, y2) { - if (isNaN(x) || isNaN(y)) return; - if (n.leaf) { - var nx = n.x, ny = n.y; - if (nx != null) { - if (abs(nx - x) + abs(ny - y) < .01) { - insertChild(n, d, x, y, x1, y1, x2, y2); - } else { - var nPoint = n.point; - n.x = n.y = n.point = null; - insertChild(n, nPoint, nx, ny, x1, y1, x2, y2); - insertChild(n, d, x, y, x1, y1, x2, y2); - } - } else { - n.x = x, n.y = y, n.point = d; - } - } else { - insertChild(n, d, x, y, x1, y1, x2, y2); - } - } - function insertChild(n, d, x, y, x1, y1, x2, y2) { - var xm = (x1 + x2) * .5, ym = (y1 + y2) * .5, right = x >= xm, below = y >= ym, i = below << 1 | right; - n.leaf = false; - n = n.nodes[i] || (n.nodes[i] = d3_geom_quadtreeNode()); - if (right) x1 = xm; else x2 = xm; - if (below) y1 = ym; else y2 = ym; - insert(n, d, x, y, x1, y1, x2, y2); - } - var root = d3_geom_quadtreeNode(); - root.add = function(d) { - insert(root, d, +fx(d, ++i), +fy(d, i), x1_, y1_, x2_, y2_); - }; - root.visit = function(f) { - d3_geom_quadtreeVisit(f, root, x1_, y1_, x2_, y2_); - }; - root.find = function(point) { - return d3_geom_quadtreeFind(root, point[0], point[1], x1_, y1_, x2_, y2_); - }; - i = -1; - if (x1 == null) { - while (++i < n) { - insert(root, data[i], xs[i], ys[i], x1_, y1_, x2_, y2_); - } - --i; - } else data.forEach(root.add); - xs = ys = data = d = null; - return root; - } - quadtree.x = function(_) { - return arguments.length ? (x = _, quadtree) : x; - }; - quadtree.y = function(_) { - return arguments.length ? (y = _, quadtree) : y; - }; - quadtree.extent = function(_) { - if (!arguments.length) return x1 == null ? null : [ [ x1, y1 ], [ x2, y2 ] ]; - if (_ == null) x1 = y1 = x2 = y2 = null; else x1 = +_[0][0], y1 = +_[0][1], x2 = +_[1][0], - y2 = +_[1][1]; - return quadtree; - }; - quadtree.size = function(_) { - if (!arguments.length) return x1 == null ? null : [ x2 - x1, y2 - y1 ]; - if (_ == null) x1 = y1 = x2 = y2 = null; else x1 = y1 = 0, x2 = +_[0], y2 = +_[1]; - return quadtree; - }; - return quadtree; - }; - function d3_geom_quadtreeCompatX(d) { - return d.x; - } - function d3_geom_quadtreeCompatY(d) { - return d.y; - } - function d3_geom_quadtreeNode() { - return { - leaf: true, - nodes: [], - point: null, - x: null, - y: null - }; - } - function d3_geom_quadtreeVisit(f, node, x1, y1, x2, y2) { - if (!f(node, x1, y1, x2, y2)) { - var sx = (x1 + x2) * .5, sy = (y1 + y2) * .5, children = node.nodes; - if (children[0]) d3_geom_quadtreeVisit(f, children[0], x1, y1, sx, sy); - if (children[1]) d3_geom_quadtreeVisit(f, children[1], sx, y1, x2, sy); - if (children[2]) d3_geom_quadtreeVisit(f, children[2], x1, sy, sx, y2); - if (children[3]) d3_geom_quadtreeVisit(f, children[3], sx, sy, x2, y2); - } - } - function d3_geom_quadtreeFind(root, x, y, x0, y0, x3, y3) { - var minDistance2 = Infinity, closestPoint; - (function find(node, x1, y1, x2, y2) { - if (x1 > x3 || y1 > y3 || x2 < x0 || y2 < y0) return; - if (point = node.point) { - var point, dx = x - point[0], dy = y - point[1], distance2 = dx * dx + dy * dy; - if (distance2 < minDistance2) { - var distance = Math.sqrt(minDistance2 = distance2); - x0 = x - distance, y0 = y - distance; - x3 = x + distance, y3 = y + distance; - closestPoint = point; - } - } - var children = node.nodes, xm = (x1 + x2) * .5, ym = (y1 + y2) * .5, right = x >= xm, below = y >= ym; - for (var i = below << 1 | right, j = i + 4; i < j; ++i) { - if (node = children[i & 3]) switch (i & 3) { - case 0: - find(node, x1, y1, xm, ym); - break; - - case 1: - find(node, xm, y1, x2, ym); - break; - - case 2: - find(node, x1, ym, xm, y2); - break; - - case 3: - find(node, xm, ym, x2, y2); - break; - } - } - })(root, x0, y0, x3, y3); - return closestPoint; - } - d3.interpolateRgb = d3_interpolateRgb; - function d3_interpolateRgb(a, b) { - a = d3.rgb(a); - b = d3.rgb(b); - var ar = a.r, ag = a.g, ab = a.b, br = b.r - ar, bg = b.g - ag, bb = b.b - ab; - return function(t) { - return "#" + d3_rgb_hex(Math.round(ar + br * t)) + d3_rgb_hex(Math.round(ag + bg * t)) + d3_rgb_hex(Math.round(ab + bb * t)); - }; - } - d3.interpolateObject = d3_interpolateObject; - function d3_interpolateObject(a, b) { - var i = {}, c = {}, k; - for (k in a) { - if (k in b) { - i[k] = d3_interpolate(a[k], b[k]); - } else { - c[k] = a[k]; - } - } - for (k in b) { - if (!(k in a)) { - c[k] = b[k]; - } - } - return function(t) { - for (k in i) c[k] = i[k](t); - return c; - }; - } - d3.interpolateNumber = d3_interpolateNumber; - function d3_interpolateNumber(a, b) { - a = +a, b = +b; - return function(t) { - return a * (1 - t) + b * t; - }; - } - d3.interpolateString = d3_interpolateString; - function d3_interpolateString(a, b) { - var bi = d3_interpolate_numberA.lastIndex = d3_interpolate_numberB.lastIndex = 0, am, bm, bs, i = -1, s = [], q = []; - a = a + "", b = b + ""; - while ((am = d3_interpolate_numberA.exec(a)) && (bm = d3_interpolate_numberB.exec(b))) { - if ((bs = bm.index) > bi) { - bs = b.slice(bi, bs); - if (s[i]) s[i] += bs; else s[++i] = bs; - } - if ((am = am[0]) === (bm = bm[0])) { - if (s[i]) s[i] += bm; else s[++i] = bm; - } else { - s[++i] = null; - q.push({ - i: i, - x: d3_interpolateNumber(am, bm) - }); - } - bi = d3_interpolate_numberB.lastIndex; - } - if (bi < b.length) { - bs = b.slice(bi); - if (s[i]) s[i] += bs; else s[++i] = bs; - } - return s.length < 2 ? q[0] ? (b = q[0].x, function(t) { - return b(t) + ""; - }) : function() { - return b; - } : (b = q.length, function(t) { - for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t); - return s.join(""); - }); - } - var d3_interpolate_numberA = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, d3_interpolate_numberB = new RegExp(d3_interpolate_numberA.source, "g"); - d3.interpolate = d3_interpolate; - function d3_interpolate(a, b) { - var i = d3.interpolators.length, f; - while (--i >= 0 && !(f = d3.interpolators[i](a, b))) ; - return f; - } - d3.interpolators = [ function(a, b) { - var t = typeof b; - return (t === "string" ? d3_rgb_names.has(b) || /^(#|rgb\(|hsl\()/.test(b) ? d3_interpolateRgb : d3_interpolateString : b instanceof d3_color ? d3_interpolateRgb : Array.isArray(b) ? d3_interpolateArray : t === "object" && isNaN(b) ? d3_interpolateObject : d3_interpolateNumber)(a, b); - } ]; - d3.interpolateArray = d3_interpolateArray; - function d3_interpolateArray(a, b) { - var x = [], c = [], na = a.length, nb = b.length, n0 = Math.min(a.length, b.length), i; - for (i = 0; i < n0; ++i) x.push(d3_interpolate(a[i], b[i])); - for (;i < na; ++i) c[i] = a[i]; - for (;i < nb; ++i) c[i] = b[i]; - return function(t) { - for (i = 0; i < n0; ++i) c[i] = x[i](t); - return c; - }; - } - var d3_ease_default = function() { - return d3_identity; - }; - var d3_ease = d3.map({ - linear: d3_ease_default, - poly: d3_ease_poly, - quad: function() { - return d3_ease_quad; - }, - cubic: function() { - return d3_ease_cubic; - }, - sin: function() { - return d3_ease_sin; - }, - exp: function() { - return d3_ease_exp; - }, - circle: function() { - return d3_ease_circle; - }, - elastic: d3_ease_elastic, - back: d3_ease_back, - bounce: function() { - return d3_ease_bounce; - } - }); - var d3_ease_mode = d3.map({ - "in": d3_identity, - out: d3_ease_reverse, - "in-out": d3_ease_reflect, - "out-in": function(f) { - return d3_ease_reflect(d3_ease_reverse(f)); - } - }); - d3.ease = function(name) { - var i = name.indexOf("-"), t = i >= 0 ? name.slice(0, i) : name, m = i >= 0 ? name.slice(i + 1) : "in"; - t = d3_ease.get(t) || d3_ease_default; - m = d3_ease_mode.get(m) || d3_identity; - return d3_ease_clamp(m(t.apply(null, d3_arraySlice.call(arguments, 1)))); - }; - function d3_ease_clamp(f) { - return function(t) { - return t <= 0 ? 0 : t >= 1 ? 1 : f(t); - }; - } - function d3_ease_reverse(f) { - return function(t) { - return 1 - f(1 - t); - }; - } - function d3_ease_reflect(f) { - return function(t) { - return .5 * (t < .5 ? f(2 * t) : 2 - f(2 - 2 * t)); - }; - } - function d3_ease_quad(t) { - return t * t; - } - function d3_ease_cubic(t) { - return t * t * t; - } - function d3_ease_cubicInOut(t) { - if (t <= 0) return 0; - if (t >= 1) return 1; - var t2 = t * t, t3 = t2 * t; - return 4 * (t < .5 ? t3 : 3 * (t - t2) + t3 - .75); - } - function d3_ease_poly(e) { - return function(t) { - return Math.pow(t, e); - }; - } - function d3_ease_sin(t) { - return 1 - Math.cos(t * halfπ); - } - function d3_ease_exp(t) { - return Math.pow(2, 10 * (t - 1)); - } - function d3_ease_circle(t) { - return 1 - Math.sqrt(1 - t * t); - } - function d3_ease_elastic(a, p) { - var s; - if (arguments.length < 2) p = .45; - if (arguments.length) s = p / τ * Math.asin(1 / a); else a = 1, s = p / 4; - return function(t) { - return 1 + a * Math.pow(2, -10 * t) * Math.sin((t - s) * τ / p); - }; - } - function d3_ease_back(s) { - if (!s) s = 1.70158; - return function(t) { - return t * t * ((s + 1) * t - s); - }; - } - function d3_ease_bounce(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; - } - d3.interpolateHcl = d3_interpolateHcl; - function d3_interpolateHcl(a, b) { - a = d3.hcl(a); - b = d3.hcl(b); - var ah = a.h, ac = a.c, al = a.l, bh = b.h - ah, bc = b.c - ac, bl = b.l - al; - if (isNaN(bc)) bc = 0, ac = isNaN(ac) ? b.c : ac; - if (isNaN(bh)) bh = 0, ah = isNaN(ah) ? b.h : ah; else if (bh > 180) bh -= 360; else if (bh < -180) bh += 360; - return function(t) { - return d3_hcl_lab(ah + bh * t, ac + bc * t, al + bl * t) + ""; - }; - } - d3.interpolateHsl = d3_interpolateHsl; - function d3_interpolateHsl(a, b) { - a = d3.hsl(a); - b = d3.hsl(b); - var ah = a.h, as = a.s, al = a.l, bh = b.h - ah, bs = b.s - as, bl = b.l - al; - if (isNaN(bs)) bs = 0, as = isNaN(as) ? b.s : as; - if (isNaN(bh)) bh = 0, ah = isNaN(ah) ? b.h : ah; else if (bh > 180) bh -= 360; else if (bh < -180) bh += 360; - return function(t) { - return d3_hsl_rgb(ah + bh * t, as + bs * t, al + bl * t) + ""; - }; - } - d3.interpolateLab = d3_interpolateLab; - function d3_interpolateLab(a, b) { - a = d3.lab(a); - b = d3.lab(b); - var al = a.l, aa = a.a, ab = a.b, bl = b.l - al, ba = b.a - aa, bb = b.b - ab; - return function(t) { - return d3_lab_rgb(al + bl * t, aa + ba * t, ab + bb * t) + ""; - }; - } - d3.interpolateRound = d3_interpolateRound; - function d3_interpolateRound(a, b) { - b -= a; - return function(t) { - return Math.round(a + b * t); - }; - } - d3.transform = function(string) { - var g = d3_document.createElementNS(d3.ns.prefix.svg, "g"); - return (d3.transform = function(string) { - if (string != null) { - g.setAttribute("transform", string); - var t = g.transform.baseVal.consolidate(); - } - return new d3_transform(t ? t.matrix : d3_transformIdentity); - })(string); - }; - function d3_transform(m) { - var r0 = [ m.a, m.b ], r1 = [ m.c, m.d ], kx = d3_transformNormalize(r0), kz = d3_transformDot(r0, r1), ky = d3_transformNormalize(d3_transformCombine(r1, r0, -kz)) || 0; - if (r0[0] * r1[1] < r1[0] * r0[1]) { - r0[0] *= -1; - r0[1] *= -1; - kx *= -1; - kz *= -1; - } - this.rotate = (kx ? Math.atan2(r0[1], r0[0]) : Math.atan2(-r1[0], r1[1])) * d3_degrees; - this.translate = [ m.e, m.f ]; - this.scale = [ kx, ky ]; - this.skew = ky ? Math.atan2(kz, ky) * d3_degrees : 0; - } - d3_transform.prototype.toString = function() { - return "translate(" + this.translate + ")rotate(" + this.rotate + ")skewX(" + this.skew + ")scale(" + this.scale + ")"; - }; - function d3_transformDot(a, b) { - return a[0] * b[0] + a[1] * b[1]; - } - function d3_transformNormalize(a) { - var k = Math.sqrt(d3_transformDot(a, a)); - if (k) { - a[0] /= k; - a[1] /= k; - } - return k; - } - function d3_transformCombine(a, b, k) { - a[0] += k * b[0]; - a[1] += k * b[1]; - return a; - } - var d3_transformIdentity = { - a: 1, - b: 0, - c: 0, - d: 1, - e: 0, - f: 0 - }; - d3.interpolateTransform = d3_interpolateTransform; - function d3_interpolateTransform(a, b) { - var s = [], q = [], n, A = d3.transform(a), B = d3.transform(b), ta = A.translate, tb = B.translate, ra = A.rotate, rb = B.rotate, wa = A.skew, wb = B.skew, ka = A.scale, kb = B.scale; - if (ta[0] != tb[0] || ta[1] != tb[1]) { - s.push("translate(", null, ",", null, ")"); - q.push({ - i: 1, - x: d3_interpolateNumber(ta[0], tb[0]) - }, { - i: 3, - x: d3_interpolateNumber(ta[1], tb[1]) - }); - } else if (tb[0] || tb[1]) { - s.push("translate(" + tb + ")"); - } else { - s.push(""); - } - if (ra != rb) { - if (ra - rb > 180) rb += 360; else if (rb - ra > 180) ra += 360; - q.push({ - i: s.push(s.pop() + "rotate(", null, ")") - 2, - x: d3_interpolateNumber(ra, rb) - }); - } else if (rb) { - s.push(s.pop() + "rotate(" + rb + ")"); - } - if (wa != wb) { - q.push({ - i: s.push(s.pop() + "skewX(", null, ")") - 2, - x: d3_interpolateNumber(wa, wb) - }); - } else if (wb) { - s.push(s.pop() + "skewX(" + wb + ")"); - } - if (ka[0] != kb[0] || ka[1] != kb[1]) { - n = s.push(s.pop() + "scale(", null, ",", null, ")"); - q.push({ - i: n - 4, - x: d3_interpolateNumber(ka[0], kb[0]) - }, { - i: n - 2, - x: d3_interpolateNumber(ka[1], kb[1]) - }); - } else if (kb[0] != 1 || kb[1] != 1) { - s.push(s.pop() + "scale(" + kb + ")"); - } - n = q.length; - return function(t) { - var i = -1, o; - while (++i < n) s[(o = q[i]).i] = o.x(t); - return s.join(""); - }; - } - function d3_uninterpolateNumber(a, b) { - b = (b -= a = +a) || 1 / b; - return function(x) { - return (x - a) / b; - }; - } - function d3_uninterpolateClamp(a, b) { - b = (b -= a = +a) || 1 / b; - return function(x) { - return Math.max(0, Math.min(1, (x - a) / b)); - }; - } - d3.layout = {}; - d3.layout.bundle = function() { - return function(links) { - var paths = [], i = -1, n = links.length; - while (++i < n) paths.push(d3_layout_bundlePath(links[i])); - return paths; - }; - }; - function d3_layout_bundlePath(link) { - var start = link.source, end = link.target, lca = d3_layout_bundleLeastCommonAncestor(start, end), points = [ start ]; - while (start !== lca) { - start = start.parent; - points.push(start); - } - var k = points.length; - while (end !== lca) { - points.splice(k, 0, end); - end = end.parent; - } - return points; - } - function d3_layout_bundleAncestors(node) { - var ancestors = [], parent = node.parent; - while (parent != null) { - ancestors.push(node); - node = parent; - parent = parent.parent; - } - ancestors.push(node); - return ancestors; - } - function d3_layout_bundleLeastCommonAncestor(a, b) { - if (a === b) return a; - var aNodes = d3_layout_bundleAncestors(a), bNodes = d3_layout_bundleAncestors(b), aNode = aNodes.pop(), bNode = bNodes.pop(), sharedNode = null; - while (aNode === bNode) { - sharedNode = aNode; - aNode = aNodes.pop(); - bNode = bNodes.pop(); - } - return sharedNode; - } - d3.layout.chord = function() { - var chord = {}, chords, groups, matrix, n, padding = 0, sortGroups, sortSubgroups, sortChords; - function relayout() { - var subgroups = {}, groupSums = [], groupIndex = d3.range(n), subgroupIndex = [], k, x, x0, i, j; - chords = []; - groups = []; - k = 0, i = -1; - while (++i < n) { - x = 0, j = -1; - while (++j < n) { - x += matrix[i][j]; - } - groupSums.push(x); - subgroupIndex.push(d3.range(n)); - k += x; - } - if (sortGroups) { - groupIndex.sort(function(a, b) { - return sortGroups(groupSums[a], groupSums[b]); - }); - } - if (sortSubgroups) { - subgroupIndex.forEach(function(d, i) { - d.sort(function(a, b) { - return sortSubgroups(matrix[i][a], matrix[i][b]); - }); - }); - } - k = (τ - padding * n) / k; - x = 0, i = -1; - while (++i < n) { - x0 = x, j = -1; - while (++j < n) { - var di = groupIndex[i], dj = subgroupIndex[di][j], v = matrix[di][dj], a0 = x, a1 = x += v * k; - subgroups[di + "-" + dj] = { - index: di, - subindex: dj, - startAngle: a0, - endAngle: a1, - value: v - }; - } - groups[di] = { - index: di, - startAngle: x0, - endAngle: x, - value: (x - x0) / k - }; - x += padding; - } - i = -1; - while (++i < n) { - j = i - 1; - while (++j < n) { - var source = subgroups[i + "-" + j], target = subgroups[j + "-" + i]; - if (source.value || target.value) { - chords.push(source.value < target.value ? { - source: target, - target: source - } : { - source: source, - target: target - }); - } - } - } - if (sortChords) resort(); - } - function resort() { - chords.sort(function(a, b) { - return sortChords((a.source.value + a.target.value) / 2, (b.source.value + b.target.value) / 2); - }); - } - chord.matrix = function(x) { - if (!arguments.length) return matrix; - n = (matrix = x) && matrix.length; - chords = groups = null; - return chord; - }; - chord.padding = function(x) { - if (!arguments.length) return padding; - padding = x; - chords = groups = null; - return chord; - }; - chord.sortGroups = function(x) { - if (!arguments.length) return sortGroups; - sortGroups = x; - chords = groups = null; - return chord; - }; - chord.sortSubgroups = function(x) { - if (!arguments.length) return sortSubgroups; - sortSubgroups = x; - chords = null; - return chord; - }; - chord.sortChords = function(x) { - if (!arguments.length) return sortChords; - sortChords = x; - if (chords) resort(); - return chord; - }; - chord.chords = function() { - if (!chords) relayout(); - return chords; - }; - chord.groups = function() { - if (!groups) relayout(); - return groups; - }; - return chord; - }; - d3.layout.force = function() { - var force = {}, event = d3.dispatch("start", "tick", "end"), size = [ 1, 1 ], drag, alpha, friction = .9, linkDistance = d3_layout_forceLinkDistance, linkStrength = d3_layout_forceLinkStrength, charge = -30, chargeDistance2 = d3_layout_forceChargeDistance2, gravity = .1, theta2 = .64, nodes = [], links = [], distances, strengths, charges; - function repulse(node) { - return function(quad, x1, _, x2) { - if (quad.point !== node) { - var dx = quad.cx - node.x, dy = quad.cy - node.y, dw = x2 - x1, dn = dx * dx + dy * dy; - if (dw * dw / theta2 < dn) { - if (dn < chargeDistance2) { - var k = quad.charge / dn; - node.px -= dx * k; - node.py -= dy * k; - } - return true; - } - if (quad.point && dn && dn < chargeDistance2) { - var k = quad.pointCharge / dn; - node.px -= dx * k; - node.py -= dy * k; - } - } - return !quad.charge; - }; - } - force.tick = function() { - if ((alpha *= .99) < .005) { - event.end({ - type: "end", - alpha: alpha = 0 - }); - return true; - } - var n = nodes.length, m = links.length, q, i, o, s, t, l, k, x, y; - for (i = 0; i < m; ++i) { - o = links[i]; - s = o.source; - t = o.target; - x = t.x - s.x; - y = t.y - s.y; - if (l = x * x + y * y) { - l = alpha * strengths[i] * ((l = Math.sqrt(l)) - distances[i]) / l; - x *= l; - y *= l; - t.x -= x * (k = s.weight / (t.weight + s.weight)); - t.y -= y * k; - s.x += x * (k = 1 - k); - s.y += y * k; - } - } - if (k = alpha * gravity) { - x = size[0] / 2; - y = size[1] / 2; - i = -1; - if (k) while (++i < n) { - o = nodes[i]; - o.x += (x - o.x) * k; - o.y += (y - o.y) * k; - } - } - if (charge) { - d3_layout_forceAccumulate(q = d3.geom.quadtree(nodes), alpha, charges); - i = -1; - while (++i < n) { - if (!(o = nodes[i]).fixed) { - q.visit(repulse(o)); - } - } - } - i = -1; - while (++i < n) { - o = nodes[i]; - if (o.fixed) { - o.x = o.px; - o.y = o.py; - } else { - o.x -= (o.px - (o.px = o.x)) * friction; - o.y -= (o.py - (o.py = o.y)) * friction; - } - } - event.tick({ - type: "tick", - alpha: alpha - }); - }; - force.nodes = function(x) { - if (!arguments.length) return nodes; - nodes = x; - return force; - }; - force.links = function(x) { - if (!arguments.length) return links; - links = x; - return force; - }; - force.size = function(x) { - if (!arguments.length) return size; - size = x; - return force; - }; - force.linkDistance = function(x) { - if (!arguments.length) return linkDistance; - linkDistance = typeof x === "function" ? x : +x; - return force; - }; - force.distance = force.linkDistance; - force.linkStrength = function(x) { - if (!arguments.length) return linkStrength; - linkStrength = typeof x === "function" ? x : +x; - return force; - }; - force.friction = function(x) { - if (!arguments.length) return friction; - friction = +x; - return force; - }; - force.charge = function(x) { - if (!arguments.length) return charge; - charge = typeof x === "function" ? x : +x; - return force; - }; - force.chargeDistance = function(x) { - if (!arguments.length) return Math.sqrt(chargeDistance2); - chargeDistance2 = x * x; - return force; - }; - force.gravity = function(x) { - if (!arguments.length) return gravity; - gravity = +x; - return force; - }; - force.theta = function(x) { - if (!arguments.length) return Math.sqrt(theta2); - theta2 = x * x; - return force; - }; - force.alpha = function(x) { - if (!arguments.length) return alpha; - x = +x; - if (alpha) { - if (x > 0) alpha = x; else alpha = 0; - } else if (x > 0) { - event.start({ - type: "start", - alpha: alpha = x - }); - d3.timer(force.tick); - } - return force; - }; - force.start = function() { - var i, n = nodes.length, m = links.length, w = size[0], h = size[1], neighbors, o; - for (i = 0; i < n; ++i) { - (o = nodes[i]).index = i; - o.weight = 0; - } - for (i = 0; i < m; ++i) { - o = links[i]; - if (typeof o.source == "number") o.source = nodes[o.source]; - if (typeof o.target == "number") o.target = nodes[o.target]; - ++o.source.weight; - ++o.target.weight; - } - for (i = 0; i < n; ++i) { - o = nodes[i]; - if (isNaN(o.x)) o.x = position("x", w); - if (isNaN(o.y)) o.y = position("y", h); - if (isNaN(o.px)) o.px = o.x; - if (isNaN(o.py)) o.py = o.y; - } - distances = []; - if (typeof linkDistance === "function") for (i = 0; i < m; ++i) distances[i] = +linkDistance.call(this, links[i], i); else for (i = 0; i < m; ++i) distances[i] = linkDistance; - strengths = []; - if (typeof linkStrength === "function") for (i = 0; i < m; ++i) strengths[i] = +linkStrength.call(this, links[i], i); else for (i = 0; i < m; ++i) strengths[i] = linkStrength; - charges = []; - if (typeof charge === "function") for (i = 0; i < n; ++i) charges[i] = +charge.call(this, nodes[i], i); else for (i = 0; i < n; ++i) charges[i] = charge; - function position(dimension, size) { - if (!neighbors) { - neighbors = new Array(n); - for (j = 0; j < n; ++j) { - neighbors[j] = []; - } - for (j = 0; j < m; ++j) { - var o = links[j]; - neighbors[o.source.index].push(o.target); - neighbors[o.target.index].push(o.source); - } - } - var candidates = neighbors[i], j = -1, m = candidates.length, x; - while (++j < m) if (!isNaN(x = candidates[j][dimension])) return x; - return Math.random() * size; - } - return force.resume(); - }; - force.resume = function() { - return force.alpha(.1); - }; - force.stop = function() { - return force.alpha(0); - }; - force.drag = function() { - if (!drag) drag = d3.behavior.drag().origin(d3_identity).on("dragstart.force", d3_layout_forceDragstart).on("drag.force", dragmove).on("dragend.force", d3_layout_forceDragend); - if (!arguments.length) return drag; - this.on("mouseover.force", d3_layout_forceMouseover).on("mouseout.force", d3_layout_forceMouseout).call(drag); - }; - function dragmove(d) { - d.px = d3.event.x, d.py = d3.event.y; - force.resume(); - } - return d3.rebind(force, event, "on"); - }; - function d3_layout_forceDragstart(d) { - d.fixed |= 2; - } - function d3_layout_forceDragend(d) { - d.fixed &= ~6; - } - function d3_layout_forceMouseover(d) { - d.fixed |= 4; - d.px = d.x, d.py = d.y; - } - function d3_layout_forceMouseout(d) { - d.fixed &= ~4; - } - function d3_layout_forceAccumulate(quad, alpha, charges) { - var cx = 0, cy = 0; - quad.charge = 0; - if (!quad.leaf) { - var nodes = quad.nodes, n = nodes.length, i = -1, c; - while (++i < n) { - c = nodes[i]; - if (c == null) continue; - d3_layout_forceAccumulate(c, alpha, charges); - quad.charge += c.charge; - cx += c.charge * c.cx; - cy += c.charge * c.cy; - } - } - if (quad.point) { - if (!quad.leaf) { - quad.point.x += Math.random() - .5; - quad.point.y += Math.random() - .5; - } - var k = alpha * charges[quad.point.index]; - quad.charge += quad.pointCharge = k; - cx += k * quad.point.x; - cy += k * quad.point.y; - } - quad.cx = cx / quad.charge; - quad.cy = cy / quad.charge; - } - var d3_layout_forceLinkDistance = 20, d3_layout_forceLinkStrength = 1, d3_layout_forceChargeDistance2 = Infinity; - d3.layout.hierarchy = function() { - var sort = d3_layout_hierarchySort, children = d3_layout_hierarchyChildren, value = d3_layout_hierarchyValue; - function hierarchy(root) { - var stack = [ root ], nodes = [], node; - root.depth = 0; - while ((node = stack.pop()) != null) { - nodes.push(node); - if ((childs = children.call(hierarchy, node, node.depth)) && (n = childs.length)) { - var n, childs, child; - while (--n >= 0) { - stack.push(child = childs[n]); - child.parent = node; - child.depth = node.depth + 1; - } - if (value) node.value = 0; - node.children = childs; - } else { - if (value) node.value = +value.call(hierarchy, node, node.depth) || 0; - delete node.children; - } - } - d3_layout_hierarchyVisitAfter(root, function(node) { - var childs, parent; - if (sort && (childs = node.children)) childs.sort(sort); - if (value && (parent = node.parent)) parent.value += node.value; - }); - return nodes; - } - hierarchy.sort = function(x) { - if (!arguments.length) return sort; - sort = x; - return hierarchy; - }; - hierarchy.children = function(x) { - if (!arguments.length) return children; - children = x; - return hierarchy; - }; - hierarchy.value = function(x) { - if (!arguments.length) return value; - value = x; - return hierarchy; - }; - hierarchy.revalue = function(root) { - if (value) { - d3_layout_hierarchyVisitBefore(root, function(node) { - if (node.children) node.value = 0; - }); - d3_layout_hierarchyVisitAfter(root, function(node) { - var parent; - if (!node.children) node.value = +value.call(hierarchy, node, node.depth) || 0; - if (parent = node.parent) parent.value += node.value; - }); - } - return root; - }; - return hierarchy; - }; - function d3_layout_hierarchyRebind(object, hierarchy) { - d3.rebind(object, hierarchy, "sort", "children", "value"); - object.nodes = object; - object.links = d3_layout_hierarchyLinks; - return object; - } - function d3_layout_hierarchyVisitBefore(node, callback) { - var nodes = [ node ]; - while ((node = nodes.pop()) != null) { - callback(node); - if ((children = node.children) && (n = children.length)) { - var n, children; - while (--n >= 0) nodes.push(children[n]); - } - } - } - function d3_layout_hierarchyVisitAfter(node, callback) { - var nodes = [ node ], nodes2 = []; - while ((node = nodes.pop()) != null) { - nodes2.push(node); - if ((children = node.children) && (n = children.length)) { - var i = -1, n, children; - while (++i < n) nodes.push(children[i]); - } - } - while ((node = nodes2.pop()) != null) { - callback(node); - } - } - function d3_layout_hierarchyChildren(d) { - return d.children; - } - function d3_layout_hierarchyValue(d) { - return d.value; - } - function d3_layout_hierarchySort(a, b) { - return b.value - a.value; - } - function d3_layout_hierarchyLinks(nodes) { - return d3.merge(nodes.map(function(parent) { - return (parent.children || []).map(function(child) { - return { - source: parent, - target: child - }; - }); - })); - } - d3.layout.partition = function() { - var hierarchy = d3.layout.hierarchy(), size = [ 1, 1 ]; - function position(node, x, dx, dy) { - var children = node.children; - node.x = x; - node.y = node.depth * dy; - node.dx = dx; - node.dy = dy; - if (children && (n = children.length)) { - var i = -1, n, c, d; - dx = node.value ? dx / node.value : 0; - while (++i < n) { - position(c = children[i], x, d = c.value * dx, dy); - x += d; - } - } - } - function depth(node) { - var children = node.children, d = 0; - if (children && (n = children.length)) { - var i = -1, n; - while (++i < n) d = Math.max(d, depth(children[i])); - } - return 1 + d; - } - function partition(d, i) { - var nodes = hierarchy.call(this, d, i); - position(nodes[0], 0, size[0], size[1] / depth(nodes[0])); - return nodes; - } - partition.size = function(x) { - if (!arguments.length) return size; - size = x; - return partition; - }; - return d3_layout_hierarchyRebind(partition, hierarchy); - }; - d3.layout.pie = function() { - var value = Number, sort = d3_layout_pieSortByValue, startAngle = 0, endAngle = τ, padAngle = 0; - function pie(data) { - var n = data.length, values = data.map(function(d, i) { - return +value.call(pie, d, i); - }), a = +(typeof startAngle === "function" ? startAngle.apply(this, arguments) : startAngle), da = (typeof endAngle === "function" ? endAngle.apply(this, arguments) : endAngle) - a, p = Math.min(Math.abs(da) / n, +(typeof padAngle === "function" ? padAngle.apply(this, arguments) : padAngle)), pa = p * (da < 0 ? -1 : 1), k = (da - n * pa) / d3.sum(values), index = d3.range(n), arcs = [], v; - if (sort != null) index.sort(sort === d3_layout_pieSortByValue ? function(i, j) { - return values[j] - values[i]; - } : function(i, j) { - return sort(data[i], data[j]); - }); - index.forEach(function(i) { - arcs[i] = { - data: data[i], - value: v = values[i], - startAngle: a, - endAngle: a += v * k + pa, - padAngle: p - }; - }); - return arcs; - } - pie.value = function(_) { - if (!arguments.length) return value; - value = _; - return pie; - }; - pie.sort = function(_) { - if (!arguments.length) return sort; - sort = _; - return pie; - }; - pie.startAngle = function(_) { - if (!arguments.length) return startAngle; - startAngle = _; - return pie; - }; - pie.endAngle = function(_) { - if (!arguments.length) return endAngle; - endAngle = _; - return pie; - }; - pie.padAngle = function(_) { - if (!arguments.length) return padAngle; - padAngle = _; - return pie; - }; - return pie; - }; - var d3_layout_pieSortByValue = {}; - d3.layout.stack = function() { - var values = d3_identity, order = d3_layout_stackOrderDefault, offset = d3_layout_stackOffsetZero, out = d3_layout_stackOut, x = d3_layout_stackX, y = d3_layout_stackY; - function stack(data, index) { - if (!(n = data.length)) return data; - var series = data.map(function(d, i) { - return values.call(stack, d, i); - }); - var points = series.map(function(d) { - return d.map(function(v, i) { - return [ x.call(stack, v, i), y.call(stack, v, i) ]; - }); - }); - var orders = order.call(stack, points, index); - series = d3.permute(series, orders); - points = d3.permute(points, orders); - var offsets = offset.call(stack, points, index); - var m = series[0].length, n, i, j, o; - for (j = 0; j < m; ++j) { - out.call(stack, series[0][j], o = offsets[j], points[0][j][1]); - for (i = 1; i < n; ++i) { - out.call(stack, series[i][j], o += points[i - 1][j][1], points[i][j][1]); - } - } - return data; - } - stack.values = function(x) { - if (!arguments.length) return values; - values = x; - return stack; - }; - stack.order = function(x) { - if (!arguments.length) return order; - order = typeof x === "function" ? x : d3_layout_stackOrders.get(x) || d3_layout_stackOrderDefault; - return stack; - }; - stack.offset = function(x) { - if (!arguments.length) return offset; - offset = typeof x === "function" ? x : d3_layout_stackOffsets.get(x) || d3_layout_stackOffsetZero; - return stack; - }; - stack.x = function(z) { - if (!arguments.length) return x; - x = z; - return stack; - }; - stack.y = function(z) { - if (!arguments.length) return y; - y = z; - return stack; - }; - stack.out = function(z) { - if (!arguments.length) return out; - out = z; - return stack; - }; - return stack; - }; - function d3_layout_stackX(d) { - return d.x; - } - function d3_layout_stackY(d) { - return d.y; - } - function d3_layout_stackOut(d, y0, y) { - d.y0 = y0; - d.y = y; - } - var d3_layout_stackOrders = d3.map({ - "inside-out": function(data) { - var n = data.length, i, j, max = data.map(d3_layout_stackMaxIndex), sums = data.map(d3_layout_stackReduceSum), index = d3.range(n).sort(function(a, b) { - return max[a] - max[b]; - }), top = 0, bottom = 0, tops = [], bottoms = []; - for (i = 0; i < n; ++i) { - j = index[i]; - if (top < bottom) { - top += sums[j]; - tops.push(j); - } else { - bottom += sums[j]; - bottoms.push(j); - } - } - return bottoms.reverse().concat(tops); - }, - reverse: function(data) { - return d3.range(data.length).reverse(); - }, - "default": d3_layout_stackOrderDefault - }); - var d3_layout_stackOffsets = d3.map({ - silhouette: function(data) { - var n = data.length, m = data[0].length, sums = [], max = 0, i, j, o, y0 = []; - for (j = 0; j < m; ++j) { - for (i = 0, o = 0; i < n; i++) o += data[i][j][1]; - if (o > max) max = o; - sums.push(o); - } - for (j = 0; j < m; ++j) { - y0[j] = (max - sums[j]) / 2; - } - return y0; - }, - wiggle: function(data) { - var n = data.length, x = data[0], m = x.length, i, j, k, s1, s2, s3, dx, o, o0, y0 = []; - y0[0] = o = o0 = 0; - for (j = 1; j < m; ++j) { - for (i = 0, s1 = 0; i < n; ++i) s1 += data[i][j][1]; - for (i = 0, s2 = 0, dx = x[j][0] - x[j - 1][0]; i < n; ++i) { - for (k = 0, s3 = (data[i][j][1] - data[i][j - 1][1]) / (2 * dx); k < i; ++k) { - s3 += (data[k][j][1] - data[k][j - 1][1]) / dx; - } - s2 += s3 * data[i][j][1]; - } - y0[j] = o -= s1 ? s2 / s1 * dx : 0; - if (o < o0) o0 = o; - } - for (j = 0; j < m; ++j) y0[j] -= o0; - return y0; - }, - expand: function(data) { - var n = data.length, m = data[0].length, k = 1 / n, i, j, o, y0 = []; - for (j = 0; j < m; ++j) { - for (i = 0, o = 0; i < n; i++) o += data[i][j][1]; - if (o) for (i = 0; i < n; i++) data[i][j][1] /= o; else for (i = 0; i < n; i++) data[i][j][1] = k; - } - for (j = 0; j < m; ++j) y0[j] = 0; - return y0; - }, - zero: d3_layout_stackOffsetZero - }); - function d3_layout_stackOrderDefault(data) { - return d3.range(data.length); - } - function d3_layout_stackOffsetZero(data) { - var j = -1, m = data[0].length, y0 = []; - while (++j < m) y0[j] = 0; - return y0; - } - function d3_layout_stackMaxIndex(array) { - var i = 1, j = 0, v = array[0][1], k, n = array.length; - for (;i < n; ++i) { - if ((k = array[i][1]) > v) { - j = i; - v = k; - } - } - return j; - } - function d3_layout_stackReduceSum(d) { - return d.reduce(d3_layout_stackSum, 0); - } - function d3_layout_stackSum(p, d) { - return p + d[1]; - } - d3.layout.histogram = function() { - var frequency = true, valuer = Number, ranger = d3_layout_histogramRange, binner = d3_layout_histogramBinSturges; - function histogram(data, i) { - var bins = [], values = data.map(valuer, this), range = ranger.call(this, values, i), thresholds = binner.call(this, range, values, i), bin, i = -1, n = values.length, m = thresholds.length - 1, k = frequency ? 1 : 1 / n, x; - while (++i < m) { - bin = bins[i] = []; - bin.dx = thresholds[i + 1] - (bin.x = thresholds[i]); - bin.y = 0; - } - if (m > 0) { - i = -1; - while (++i < n) { - x = values[i]; - if (x >= range[0] && x <= range[1]) { - bin = bins[d3.bisect(thresholds, x, 1, m) - 1]; - bin.y += k; - bin.push(data[i]); - } - } - } - return bins; - } - histogram.value = function(x) { - if (!arguments.length) return valuer; - valuer = x; - return histogram; - }; - histogram.range = function(x) { - if (!arguments.length) return ranger; - ranger = d3_functor(x); - return histogram; - }; - histogram.bins = function(x) { - if (!arguments.length) return binner; - binner = typeof x === "number" ? function(range) { - return d3_layout_histogramBinFixed(range, x); - } : d3_functor(x); - return histogram; - }; - histogram.frequency = function(x) { - if (!arguments.length) return frequency; - frequency = !!x; - return histogram; - }; - return histogram; - }; - function d3_layout_histogramBinSturges(range, values) { - return d3_layout_histogramBinFixed(range, Math.ceil(Math.log(values.length) / Math.LN2 + 1)); - } - function d3_layout_histogramBinFixed(range, n) { - var x = -1, b = +range[0], m = (range[1] - b) / n, f = []; - while (++x <= n) f[x] = m * x + b; - return f; - } - function d3_layout_histogramRange(values) { - return [ d3.min(values), d3.max(values) ]; - } - d3.layout.pack = function() { - var hierarchy = d3.layout.hierarchy().sort(d3_layout_packSort), padding = 0, size = [ 1, 1 ], radius; - function pack(d, i) { - var nodes = hierarchy.call(this, d, i), root = nodes[0], w = size[0], h = size[1], r = radius == null ? Math.sqrt : typeof radius === "function" ? radius : function() { - return radius; - }; - root.x = root.y = 0; - d3_layout_hierarchyVisitAfter(root, function(d) { - d.r = +r(d.value); - }); - d3_layout_hierarchyVisitAfter(root, d3_layout_packSiblings); - if (padding) { - var dr = padding * (radius ? 1 : Math.max(2 * root.r / w, 2 * root.r / h)) / 2; - d3_layout_hierarchyVisitAfter(root, function(d) { - d.r += dr; - }); - d3_layout_hierarchyVisitAfter(root, d3_layout_packSiblings); - d3_layout_hierarchyVisitAfter(root, function(d) { - d.r -= dr; - }); - } - d3_layout_packTransform(root, w / 2, h / 2, radius ? 1 : 1 / Math.max(2 * root.r / w, 2 * root.r / h)); - return nodes; - } - pack.size = function(_) { - if (!arguments.length) return size; - size = _; - return pack; - }; - pack.radius = function(_) { - if (!arguments.length) return radius; - radius = _ == null || typeof _ === "function" ? _ : +_; - return pack; - }; - pack.padding = function(_) { - if (!arguments.length) return padding; - padding = +_; - return pack; - }; - return d3_layout_hierarchyRebind(pack, hierarchy); - }; - function d3_layout_packSort(a, b) { - return a.value - b.value; - } - function d3_layout_packInsert(a, b) { - var c = a._pack_next; - a._pack_next = b; - b._pack_prev = a; - b._pack_next = c; - c._pack_prev = b; - } - function d3_layout_packSplice(a, b) { - a._pack_next = b; - b._pack_prev = a; - } - function d3_layout_packIntersects(a, b) { - var dx = b.x - a.x, dy = b.y - a.y, dr = a.r + b.r; - return .999 * dr * dr > dx * dx + dy * dy; - } - function d3_layout_packSiblings(node) { - if (!(nodes = node.children) || !(n = nodes.length)) return; - var nodes, xMin = Infinity, xMax = -Infinity, yMin = Infinity, yMax = -Infinity, a, b, c, i, j, k, n; - function bound(node) { - xMin = Math.min(node.x - node.r, xMin); - xMax = Math.max(node.x + node.r, xMax); - yMin = Math.min(node.y - node.r, yMin); - yMax = Math.max(node.y + node.r, yMax); - } - nodes.forEach(d3_layout_packLink); - a = nodes[0]; - a.x = -a.r; - a.y = 0; - bound(a); - if (n > 1) { - b = nodes[1]; - b.x = b.r; - b.y = 0; - bound(b); - if (n > 2) { - c = nodes[2]; - d3_layout_packPlace(a, b, c); - bound(c); - d3_layout_packInsert(a, c); - a._pack_prev = c; - d3_layout_packInsert(c, b); - b = a._pack_next; - for (i = 3; i < n; i++) { - d3_layout_packPlace(a, b, c = nodes[i]); - var isect = 0, s1 = 1, s2 = 1; - for (j = b._pack_next; j !== b; j = j._pack_next, s1++) { - if (d3_layout_packIntersects(j, c)) { - isect = 1; - break; - } - } - if (isect == 1) { - for (k = a._pack_prev; k !== j._pack_prev; k = k._pack_prev, s2++) { - if (d3_layout_packIntersects(k, c)) { - break; - } - } - } - if (isect) { - if (s1 < s2 || s1 == s2 && b.r < a.r) d3_layout_packSplice(a, b = j); else d3_layout_packSplice(a = k, b); - i--; - } else { - d3_layout_packInsert(a, c); - b = c; - bound(c); - } - } - } - } - var cx = (xMin + xMax) / 2, cy = (yMin + yMax) / 2, cr = 0; - for (i = 0; i < n; i++) { - c = nodes[i]; - c.x -= cx; - c.y -= cy; - cr = Math.max(cr, c.r + Math.sqrt(c.x * c.x + c.y * c.y)); - } - node.r = cr; - nodes.forEach(d3_layout_packUnlink); - } - function d3_layout_packLink(node) { - node._pack_next = node._pack_prev = node; - } - function d3_layout_packUnlink(node) { - delete node._pack_next; - delete node._pack_prev; - } - function d3_layout_packTransform(node, x, y, k) { - var children = node.children; - node.x = x += k * node.x; - node.y = y += k * node.y; - node.r *= k; - if (children) { - var i = -1, n = children.length; - while (++i < n) d3_layout_packTransform(children[i], x, y, k); - } - } - function d3_layout_packPlace(a, b, c) { - var db = a.r + c.r, dx = b.x - a.x, dy = b.y - a.y; - if (db && (dx || dy)) { - var da = b.r + c.r, dc = dx * dx + dy * dy; - da *= da; - db *= db; - var x = .5 + (db - da) / (2 * dc), y = Math.sqrt(Math.max(0, 2 * da * (db + dc) - (db -= dc) * db - da * da)) / (2 * dc); - c.x = a.x + x * dx + y * dy; - c.y = a.y + x * dy - y * dx; - } else { - c.x = a.x + db; - c.y = a.y; - } - } - d3.layout.tree = function() { - var hierarchy = d3.layout.hierarchy().sort(null).value(null), separation = d3_layout_treeSeparation, size = [ 1, 1 ], nodeSize = null; - function tree(d, i) { - var nodes = hierarchy.call(this, d, i), root0 = nodes[0], root1 = wrapTree(root0); - d3_layout_hierarchyVisitAfter(root1, firstWalk), root1.parent.m = -root1.z; - d3_layout_hierarchyVisitBefore(root1, secondWalk); - if (nodeSize) d3_layout_hierarchyVisitBefore(root0, sizeNode); else { - var left = root0, right = root0, bottom = root0; - d3_layout_hierarchyVisitBefore(root0, function(node) { - if (node.x < left.x) left = node; - if (node.x > right.x) right = node; - if (node.depth > bottom.depth) bottom = node; - }); - var tx = separation(left, right) / 2 - left.x, kx = size[0] / (right.x + separation(right, left) / 2 + tx), ky = size[1] / (bottom.depth || 1); - d3_layout_hierarchyVisitBefore(root0, function(node) { - node.x = (node.x + tx) * kx; - node.y = node.depth * ky; - }); - } - return nodes; - } - function wrapTree(root0) { - var root1 = { - A: null, - children: [ root0 ] - }, queue = [ root1 ], node1; - while ((node1 = queue.pop()) != null) { - for (var children = node1.children, child, i = 0, n = children.length; i < n; ++i) { - queue.push((children[i] = child = { - _: children[i], - parent: node1, - children: (child = children[i].children) && child.slice() || [], - A: null, - a: null, - z: 0, - m: 0, - c: 0, - s: 0, - t: null, - i: i - }).a = child); - } - } - return root1.children[0]; - } - function firstWalk(v) { - var children = v.children, siblings = v.parent.children, w = v.i ? siblings[v.i - 1] : null; - if (children.length) { - d3_layout_treeShift(v); - var midpoint = (children[0].z + children[children.length - 1].z) / 2; - if (w) { - v.z = w.z + separation(v._, w._); - v.m = v.z - midpoint; - } else { - v.z = midpoint; - } - } else if (w) { - v.z = w.z + separation(v._, w._); - } - v.parent.A = apportion(v, w, v.parent.A || siblings[0]); - } - function secondWalk(v) { - v._.x = v.z + v.parent.m; - v.m += v.parent.m; - } - function apportion(v, w, ancestor) { - if (w) { - var vip = v, vop = v, vim = w, vom = vip.parent.children[0], sip = vip.m, sop = vop.m, sim = vim.m, som = vom.m, shift; - while (vim = d3_layout_treeRight(vim), vip = d3_layout_treeLeft(vip), vim && vip) { - vom = d3_layout_treeLeft(vom); - vop = d3_layout_treeRight(vop); - vop.a = v; - shift = vim.z + sim - vip.z - sip + separation(vim._, vip._); - if (shift > 0) { - d3_layout_treeMove(d3_layout_treeAncestor(vim, v, ancestor), v, shift); - sip += shift; - sop += shift; - } - sim += vim.m; - sip += vip.m; - som += vom.m; - sop += vop.m; - } - if (vim && !d3_layout_treeRight(vop)) { - vop.t = vim; - vop.m += sim - sop; - } - if (vip && !d3_layout_treeLeft(vom)) { - vom.t = vip; - vom.m += sip - som; - ancestor = v; - } - } - return ancestor; - } - function sizeNode(node) { - node.x *= size[0]; - node.y = node.depth * size[1]; - } - tree.separation = function(x) { - if (!arguments.length) return separation; - separation = x; - return tree; - }; - tree.size = function(x) { - if (!arguments.length) return nodeSize ? null : size; - nodeSize = (size = x) == null ? sizeNode : null; - return tree; - }; - tree.nodeSize = function(x) { - if (!arguments.length) return nodeSize ? size : null; - nodeSize = (size = x) == null ? null : sizeNode; - return tree; - }; - return d3_layout_hierarchyRebind(tree, hierarchy); - }; - function d3_layout_treeSeparation(a, b) { - return a.parent == b.parent ? 1 : 2; - } - function d3_layout_treeLeft(v) { - var children = v.children; - return children.length ? children[0] : v.t; - } - function d3_layout_treeRight(v) { - var children = v.children, n; - return (n = children.length) ? children[n - 1] : v.t; - } - function d3_layout_treeMove(wm, wp, shift) { - var change = shift / (wp.i - wm.i); - wp.c -= change; - wp.s += shift; - wm.c += change; - wp.z += shift; - wp.m += shift; - } - function d3_layout_treeShift(v) { - var shift = 0, change = 0, children = v.children, i = children.length, w; - while (--i >= 0) { - w = children[i]; - w.z += shift; - w.m += shift; - shift += w.s + (change += w.c); - } - } - function d3_layout_treeAncestor(vim, v, ancestor) { - return vim.a.parent === v.parent ? vim.a : ancestor; - } - d3.layout.cluster = function() { - var hierarchy = d3.layout.hierarchy().sort(null).value(null), separation = d3_layout_treeSeparation, size = [ 1, 1 ], nodeSize = false; - function cluster(d, i) { - var nodes = hierarchy.call(this, d, i), root = nodes[0], previousNode, x = 0; - d3_layout_hierarchyVisitAfter(root, function(node) { - var children = node.children; - if (children && children.length) { - node.x = d3_layout_clusterX(children); - node.y = d3_layout_clusterY(children); - } else { - node.x = previousNode ? x += separation(node, previousNode) : 0; - node.y = 0; - previousNode = node; - } - }); - var left = d3_layout_clusterLeft(root), right = d3_layout_clusterRight(root), x0 = left.x - separation(left, right) / 2, x1 = right.x + separation(right, left) / 2; - d3_layout_hierarchyVisitAfter(root, nodeSize ? function(node) { - node.x = (node.x - root.x) * size[0]; - node.y = (root.y - node.y) * size[1]; - } : function(node) { - node.x = (node.x - x0) / (x1 - x0) * size[0]; - node.y = (1 - (root.y ? node.y / root.y : 1)) * size[1]; - }); - return nodes; - } - cluster.separation = function(x) { - if (!arguments.length) return separation; - separation = x; - return cluster; - }; - cluster.size = function(x) { - if (!arguments.length) return nodeSize ? null : size; - nodeSize = (size = x) == null; - return cluster; - }; - cluster.nodeSize = function(x) { - if (!arguments.length) return nodeSize ? size : null; - nodeSize = (size = x) != null; - return cluster; - }; - return d3_layout_hierarchyRebind(cluster, hierarchy); - }; - function d3_layout_clusterY(children) { - return 1 + d3.max(children, function(child) { - return child.y; - }); - } - function d3_layout_clusterX(children) { - return children.reduce(function(x, child) { - return x + child.x; - }, 0) / children.length; - } - function d3_layout_clusterLeft(node) { - var children = node.children; - return children && children.length ? d3_layout_clusterLeft(children[0]) : node; - } - function d3_layout_clusterRight(node) { - var children = node.children, n; - return children && (n = children.length) ? d3_layout_clusterRight(children[n - 1]) : node; - } - d3.layout.treemap = function() { - var hierarchy = d3.layout.hierarchy(), round = Math.round, size = [ 1, 1 ], padding = null, pad = d3_layout_treemapPadNull, sticky = false, stickies, mode = "squarify", ratio = .5 * (1 + Math.sqrt(5)); - function scale(children, k) { - var i = -1, n = children.length, child, area; - while (++i < n) { - area = (child = children[i]).value * (k < 0 ? 0 : k); - child.area = isNaN(area) || area <= 0 ? 0 : area; - } - } - function squarify(node) { - var children = node.children; - if (children && children.length) { - var rect = pad(node), row = [], remaining = children.slice(), child, best = Infinity, score, u = mode === "slice" ? rect.dx : mode === "dice" ? rect.dy : mode === "slice-dice" ? node.depth & 1 ? rect.dy : rect.dx : Math.min(rect.dx, rect.dy), n; - scale(remaining, rect.dx * rect.dy / node.value); - row.area = 0; - while ((n = remaining.length) > 0) { - row.push(child = remaining[n - 1]); - row.area += child.area; - if (mode !== "squarify" || (score = worst(row, u)) <= best) { - remaining.pop(); - best = score; - } else { - row.area -= row.pop().area; - position(row, u, rect, false); - u = Math.min(rect.dx, rect.dy); - row.length = row.area = 0; - best = Infinity; - } - } - if (row.length) { - position(row, u, rect, true); - row.length = row.area = 0; - } - children.forEach(squarify); - } - } - function stickify(node) { - var children = node.children; - if (children && children.length) { - var rect = pad(node), remaining = children.slice(), child, row = []; - scale(remaining, rect.dx * rect.dy / node.value); - row.area = 0; - while (child = remaining.pop()) { - row.push(child); - row.area += child.area; - if (child.z != null) { - position(row, child.z ? rect.dx : rect.dy, rect, !remaining.length); - row.length = row.area = 0; - } - } - children.forEach(stickify); - } - } - function worst(row, u) { - var s = row.area, r, rmax = 0, rmin = Infinity, i = -1, n = row.length; - while (++i < n) { - if (!(r = row[i].area)) continue; - if (r < rmin) rmin = r; - if (r > rmax) rmax = r; - } - s *= s; - u *= u; - return s ? Math.max(u * rmax * ratio / s, s / (u * rmin * ratio)) : Infinity; - } - function position(row, u, rect, flush) { - var i = -1, n = row.length, x = rect.x, y = rect.y, v = u ? round(row.area / u) : 0, o; - if (u == rect.dx) { - if (flush || v > rect.dy) v = rect.dy; - while (++i < n) { - o = row[i]; - o.x = x; - o.y = y; - o.dy = v; - x += o.dx = Math.min(rect.x + rect.dx - x, v ? round(o.area / v) : 0); - } - o.z = true; - o.dx += rect.x + rect.dx - x; - rect.y += v; - rect.dy -= v; - } else { - if (flush || v > rect.dx) v = rect.dx; - while (++i < n) { - o = row[i]; - o.x = x; - o.y = y; - o.dx = v; - y += o.dy = Math.min(rect.y + rect.dy - y, v ? round(o.area / v) : 0); - } - o.z = false; - o.dy += rect.y + rect.dy - y; - rect.x += v; - rect.dx -= v; - } - } - function treemap(d) { - var nodes = stickies || hierarchy(d), root = nodes[0]; - root.x = 0; - root.y = 0; - root.dx = size[0]; - root.dy = size[1]; - if (stickies) hierarchy.revalue(root); - scale([ root ], root.dx * root.dy / root.value); - (stickies ? stickify : squarify)(root); - if (sticky) stickies = nodes; - return nodes; - } - treemap.size = function(x) { - if (!arguments.length) return size; - size = x; - return treemap; - }; - treemap.padding = function(x) { - if (!arguments.length) return padding; - function padFunction(node) { - var p = x.call(treemap, node, node.depth); - return p == null ? d3_layout_treemapPadNull(node) : d3_layout_treemapPad(node, typeof p === "number" ? [ p, p, p, p ] : p); - } - function padConstant(node) { - return d3_layout_treemapPad(node, x); - } - var type; - pad = (padding = x) == null ? d3_layout_treemapPadNull : (type = typeof x) === "function" ? padFunction : type === "number" ? (x = [ x, x, x, x ], - padConstant) : padConstant; - return treemap; - }; - treemap.round = function(x) { - if (!arguments.length) return round != Number; - round = x ? Math.round : Number; - return treemap; - }; - treemap.sticky = function(x) { - if (!arguments.length) return sticky; - sticky = x; - stickies = null; - return treemap; - }; - treemap.ratio = function(x) { - if (!arguments.length) return ratio; - ratio = x; - return treemap; - }; - treemap.mode = function(x) { - if (!arguments.length) return mode; - mode = x + ""; - return treemap; - }; - return d3_layout_hierarchyRebind(treemap, hierarchy); - }; - function d3_layout_treemapPadNull(node) { - return { - x: node.x, - y: node.y, - dx: node.dx, - dy: node.dy - }; - } - function d3_layout_treemapPad(node, padding) { - var x = node.x + padding[3], y = node.y + padding[0], dx = node.dx - padding[1] - padding[3], dy = node.dy - padding[0] - padding[2]; - if (dx < 0) { - x += dx / 2; - dx = 0; - } - if (dy < 0) { - y += dy / 2; - dy = 0; - } - return { - x: x, - y: y, - dx: dx, - dy: dy - }; - } - d3.random = { - normal: function(µ, σ) { - var n = arguments.length; - if (n < 2) σ = 1; - if (n < 1) µ = 0; - return function() { - var x, y, r; - do { - x = Math.random() * 2 - 1; - y = Math.random() * 2 - 1; - r = x * x + y * y; - } while (!r || r > 1); - return µ + σ * x * Math.sqrt(-2 * Math.log(r) / r); - }; - }, - logNormal: function() { - var random = d3.random.normal.apply(d3, arguments); - return function() { - return Math.exp(random()); - }; - }, - bates: function(m) { - var random = d3.random.irwinHall(m); - return function() { - return random() / m; - }; - }, - irwinHall: function(m) { - return function() { - for (var s = 0, j = 0; j < m; j++) s += Math.random(); - return s; - }; - } - }; - d3.scale = {}; - function d3_scaleExtent(domain) { - var start = domain[0], stop = domain[domain.length - 1]; - return start < stop ? [ start, stop ] : [ stop, start ]; - } - function d3_scaleRange(scale) { - return scale.rangeExtent ? scale.rangeExtent() : d3_scaleExtent(scale.range()); - } - function d3_scale_bilinear(domain, range, uninterpolate, interpolate) { - var u = uninterpolate(domain[0], domain[1]), i = interpolate(range[0], range[1]); - return function(x) { - return i(u(x)); - }; - } - function d3_scale_nice(domain, nice) { - var i0 = 0, i1 = domain.length - 1, x0 = domain[i0], x1 = domain[i1], dx; - if (x1 < x0) { - dx = i0, i0 = i1, i1 = dx; - dx = x0, x0 = x1, x1 = dx; - } - domain[i0] = nice.floor(x0); - domain[i1] = nice.ceil(x1); - return domain; - } - function d3_scale_niceStep(step) { - return step ? { - floor: function(x) { - return Math.floor(x / step) * step; - }, - ceil: function(x) { - return Math.ceil(x / step) * step; - } - } : d3_scale_niceIdentity; - } - var d3_scale_niceIdentity = { - floor: d3_identity, - ceil: d3_identity - }; - function d3_scale_polylinear(domain, range, uninterpolate, interpolate) { - var u = [], i = [], j = 0, k = Math.min(domain.length, range.length) - 1; - if (domain[k] < domain[0]) { - domain = domain.slice().reverse(); - range = range.slice().reverse(); - } - while (++j <= k) { - u.push(uninterpolate(domain[j - 1], domain[j])); - i.push(interpolate(range[j - 1], range[j])); - } - return function(x) { - var j = d3.bisect(domain, x, 1, k) - 1; - return i[j](u[j](x)); - }; - } - d3.scale.linear = function() { - return d3_scale_linear([ 0, 1 ], [ 0, 1 ], d3_interpolate, false); - }; - function d3_scale_linear(domain, range, interpolate, clamp) { - var output, input; - function rescale() { - var linear = Math.min(domain.length, range.length) > 2 ? d3_scale_polylinear : d3_scale_bilinear, uninterpolate = clamp ? d3_uninterpolateClamp : d3_uninterpolateNumber; - output = linear(domain, range, uninterpolate, interpolate); - input = linear(range, domain, uninterpolate, d3_interpolate); - return scale; - } - function scale(x) { - return output(x); - } - scale.invert = function(y) { - return input(y); - }; - scale.domain = function(x) { - if (!arguments.length) return domain; - domain = x.map(Number); - return rescale(); - }; - scale.range = function(x) { - if (!arguments.length) return range; - range = x; - return rescale(); - }; - scale.rangeRound = function(x) { - return scale.range(x).interpolate(d3_interpolateRound); - }; - scale.clamp = function(x) { - if (!arguments.length) return clamp; - clamp = x; - return rescale(); - }; - scale.interpolate = function(x) { - if (!arguments.length) return interpolate; - interpolate = x; - return rescale(); - }; - scale.ticks = function(m) { - return d3_scale_linearTicks(domain, m); - }; - scale.tickFormat = function(m, format) { - return d3_scale_linearTickFormat(domain, m, format); - }; - scale.nice = function(m) { - d3_scale_linearNice(domain, m); - return rescale(); - }; - scale.copy = function() { - return d3_scale_linear(domain, range, interpolate, clamp); - }; - return rescale(); - } - function d3_scale_linearRebind(scale, linear) { - return d3.rebind(scale, linear, "range", "rangeRound", "interpolate", "clamp"); - } - function d3_scale_linearNice(domain, m) { - return d3_scale_nice(domain, d3_scale_niceStep(d3_scale_linearTickRange(domain, m)[2])); - } - function d3_scale_linearTickRange(domain, m) { - if (m == null) m = 10; - var extent = d3_scaleExtent(domain), span = extent[1] - extent[0], step = Math.pow(10, Math.floor(Math.log(span / m) / Math.LN10)), err = m / span * step; - if (err <= .15) step *= 10; else if (err <= .35) step *= 5; else if (err <= .75) step *= 2; - extent[0] = Math.ceil(extent[0] / step) * step; - extent[1] = Math.floor(extent[1] / step) * step + step * .5; - extent[2] = step; - return extent; - } - function d3_scale_linearTicks(domain, m) { - return d3.range.apply(d3, d3_scale_linearTickRange(domain, m)); - } - function d3_scale_linearTickFormat(domain, m, format) { - var range = d3_scale_linearTickRange(domain, m); - if (format) { - var match = d3_format_re.exec(format); - match.shift(); - if (match[8] === "s") { - var prefix = d3.formatPrefix(Math.max(abs(range[0]), abs(range[1]))); - if (!match[7]) match[7] = "." + d3_scale_linearPrecision(prefix.scale(range[2])); - match[8] = "f"; - format = d3.format(match.join("")); - return function(d) { - return format(prefix.scale(d)) + prefix.symbol; - }; - } - if (!match[7]) match[7] = "." + d3_scale_linearFormatPrecision(match[8], range); - format = match.join(""); - } else { - format = ",." + d3_scale_linearPrecision(range[2]) + "f"; - } - return d3.format(format); - } - var d3_scale_linearFormatSignificant = { - s: 1, - g: 1, - p: 1, - r: 1, - e: 1 - }; - function d3_scale_linearPrecision(value) { - return -Math.floor(Math.log(value) / Math.LN10 + .01); - } - function d3_scale_linearFormatPrecision(type, range) { - var p = d3_scale_linearPrecision(range[2]); - return type in d3_scale_linearFormatSignificant ? Math.abs(p - d3_scale_linearPrecision(Math.max(abs(range[0]), abs(range[1])))) + +(type !== "e") : p - (type === "%") * 2; - } - d3.scale.log = function() { - return d3_scale_log(d3.scale.linear().domain([ 0, 1 ]), 10, true, [ 1, 10 ]); - }; - function d3_scale_log(linear, base, positive, domain) { - function log(x) { - return (positive ? Math.log(x < 0 ? 0 : x) : -Math.log(x > 0 ? 0 : -x)) / Math.log(base); - } - function pow(x) { - return positive ? Math.pow(base, x) : -Math.pow(base, -x); - } - function scale(x) { - return linear(log(x)); - } - scale.invert = function(x) { - return pow(linear.invert(x)); - }; - scale.domain = function(x) { - if (!arguments.length) return domain; - positive = x[0] >= 0; - linear.domain((domain = x.map(Number)).map(log)); - return scale; - }; - scale.base = function(_) { - if (!arguments.length) return base; - base = +_; - linear.domain(domain.map(log)); - return scale; - }; - scale.nice = function() { - var niced = d3_scale_nice(domain.map(log), positive ? Math : d3_scale_logNiceNegative); - linear.domain(niced); - domain = niced.map(pow); - return scale; - }; - scale.ticks = function() { - var extent = d3_scaleExtent(domain), ticks = [], u = extent[0], v = extent[1], i = Math.floor(log(u)), j = Math.ceil(log(v)), n = base % 1 ? 2 : base; - if (isFinite(j - i)) { - if (positive) { - for (;i < j; i++) for (var k = 1; k < n; k++) ticks.push(pow(i) * k); - ticks.push(pow(i)); - } else { - ticks.push(pow(i)); - for (;i++ < j; ) for (var k = n - 1; k > 0; k--) ticks.push(pow(i) * k); - } - for (i = 0; ticks[i] < u; i++) {} - for (j = ticks.length; ticks[j - 1] > v; j--) {} - ticks = ticks.slice(i, j); - } - return ticks; - }; - scale.tickFormat = function(n, format) { - if (!arguments.length) return d3_scale_logFormat; - if (arguments.length < 2) format = d3_scale_logFormat; else if (typeof format !== "function") format = d3.format(format); - var k = Math.max(.1, n / scale.ticks().length), f = positive ? (e = 1e-12, Math.ceil) : (e = -1e-12, - Math.floor), e; - return function(d) { - return d / pow(f(log(d) + e)) <= k ? format(d) : ""; - }; - }; - scale.copy = function() { - return d3_scale_log(linear.copy(), base, positive, domain); - }; - return d3_scale_linearRebind(scale, linear); - } - var d3_scale_logFormat = d3.format(".0e"), d3_scale_logNiceNegative = { - floor: function(x) { - return -Math.ceil(-x); - }, - ceil: function(x) { - return -Math.floor(-x); - } - }; - d3.scale.pow = function() { - return d3_scale_pow(d3.scale.linear(), 1, [ 0, 1 ]); - }; - function d3_scale_pow(linear, exponent, domain) { - var powp = d3_scale_powPow(exponent), powb = d3_scale_powPow(1 / exponent); - function scale(x) { - return linear(powp(x)); - } - scale.invert = function(x) { - return powb(linear.invert(x)); - }; - scale.domain = function(x) { - if (!arguments.length) return domain; - linear.domain((domain = x.map(Number)).map(powp)); - return scale; - }; - scale.ticks = function(m) { - return d3_scale_linearTicks(domain, m); - }; - scale.tickFormat = function(m, format) { - return d3_scale_linearTickFormat(domain, m, format); - }; - scale.nice = function(m) { - return scale.domain(d3_scale_linearNice(domain, m)); - }; - scale.exponent = function(x) { - if (!arguments.length) return exponent; - powp = d3_scale_powPow(exponent = x); - powb = d3_scale_powPow(1 / exponent); - linear.domain(domain.map(powp)); - return scale; - }; - scale.copy = function() { - return d3_scale_pow(linear.copy(), exponent, domain); - }; - return d3_scale_linearRebind(scale, linear); - } - function d3_scale_powPow(e) { - return function(x) { - return x < 0 ? -Math.pow(-x, e) : Math.pow(x, e); - }; - } - d3.scale.sqrt = function() { - return d3.scale.pow().exponent(.5); - }; - d3.scale.ordinal = function() { - return d3_scale_ordinal([], { - t: "range", - a: [ [] ] - }); - }; - function d3_scale_ordinal(domain, ranger) { - var index, range, rangeBand; - function scale(x) { - return range[((index.get(x) || (ranger.t === "range" ? index.set(x, domain.push(x)) : NaN)) - 1) % range.length]; - } - function steps(start, step) { - return d3.range(domain.length).map(function(i) { - return start + step * i; - }); - } - scale.domain = function(x) { - if (!arguments.length) return domain; - domain = []; - index = new d3_Map(); - var i = -1, n = x.length, xi; - while (++i < n) if (!index.has(xi = x[i])) index.set(xi, domain.push(xi)); - return scale[ranger.t].apply(scale, ranger.a); - }; - scale.range = function(x) { - if (!arguments.length) return range; - range = x; - rangeBand = 0; - ranger = { - t: "range", - a: arguments - }; - return scale; - }; - scale.rangePoints = function(x, padding) { - if (arguments.length < 2) padding = 0; - var start = x[0], stop = x[1], step = domain.length < 2 ? (start = (start + stop) / 2, - 0) : (stop - start) / (domain.length - 1 + padding); - range = steps(start + step * padding / 2, step); - rangeBand = 0; - ranger = { - t: "rangePoints", - a: arguments - }; - return scale; - }; - scale.rangeRoundPoints = function(x, padding) { - if (arguments.length < 2) padding = 0; - var start = x[0], stop = x[1], step = domain.length < 2 ? (start = stop = Math.round((start + stop) / 2), - 0) : (stop - start) / (domain.length - 1 + padding) | 0; - range = steps(start + Math.round(step * padding / 2 + (stop - start - (domain.length - 1 + padding) * step) / 2), step); - rangeBand = 0; - ranger = { - t: "rangeRoundPoints", - a: arguments - }; - return scale; - }; - scale.rangeBands = function(x, padding, outerPadding) { - if (arguments.length < 2) padding = 0; - if (arguments.length < 3) outerPadding = padding; - var reverse = x[1] < x[0], start = x[reverse - 0], stop = x[1 - reverse], step = (stop - start) / (domain.length - padding + 2 * outerPadding); - range = steps(start + step * outerPadding, step); - if (reverse) range.reverse(); - rangeBand = step * (1 - padding); - ranger = { - t: "rangeBands", - a: arguments - }; - return scale; - }; - scale.rangeRoundBands = function(x, padding, outerPadding) { - if (arguments.length < 2) padding = 0; - if (arguments.length < 3) outerPadding = padding; - var reverse = x[1] < x[0], start = x[reverse - 0], stop = x[1 - reverse], step = Math.floor((stop - start) / (domain.length - padding + 2 * outerPadding)); - range = steps(start + Math.round((stop - start - (domain.length - padding) * step) / 2), step); - if (reverse) range.reverse(); - rangeBand = Math.round(step * (1 - padding)); - ranger = { - t: "rangeRoundBands", - a: arguments - }; - return scale; - }; - scale.rangeBand = function() { - return rangeBand; - }; - scale.rangeExtent = function() { - return d3_scaleExtent(ranger.a[0]); - }; - scale.copy = function() { - return d3_scale_ordinal(domain, ranger); - }; - return scale.domain(domain); - } - d3.scale.category10 = function() { - return d3.scale.ordinal().range(d3_category10); - }; - d3.scale.category20 = function() { - return d3.scale.ordinal().range(d3_category20); - }; - d3.scale.category20b = function() { - return d3.scale.ordinal().range(d3_category20b); - }; - d3.scale.category20c = function() { - return d3.scale.ordinal().range(d3_category20c); - }; - var d3_category10 = [ 2062260, 16744206, 2924588, 14034728, 9725885, 9197131, 14907330, 8355711, 12369186, 1556175 ].map(d3_rgbString); - var d3_category20 = [ 2062260, 11454440, 16744206, 16759672, 2924588, 10018698, 14034728, 16750742, 9725885, 12955861, 9197131, 12885140, 14907330, 16234194, 8355711, 13092807, 12369186, 14408589, 1556175, 10410725 ].map(d3_rgbString); - var d3_category20b = [ 3750777, 5395619, 7040719, 10264286, 6519097, 9216594, 11915115, 13556636, 9202993, 12426809, 15186514, 15190932, 8666169, 11356490, 14049643, 15177372, 8077683, 10834324, 13528509, 14589654 ].map(d3_rgbString); - var d3_category20c = [ 3244733, 7057110, 10406625, 13032431, 15095053, 16616764, 16625259, 16634018, 3253076, 7652470, 10607003, 13101504, 7695281, 10394312, 12369372, 14342891, 6513507, 9868950, 12434877, 14277081 ].map(d3_rgbString); - d3.scale.quantile = function() { - return d3_scale_quantile([], []); - }; - function d3_scale_quantile(domain, range) { - var thresholds; - function rescale() { - var k = 0, q = range.length; - thresholds = []; - while (++k < q) thresholds[k - 1] = d3.quantile(domain, k / q); - return scale; - } - function scale(x) { - if (!isNaN(x = +x)) return range[d3.bisect(thresholds, x)]; - } - scale.domain = function(x) { - if (!arguments.length) return domain; - domain = x.map(d3_number).filter(d3_numeric).sort(d3_ascending); - return rescale(); - }; - scale.range = function(x) { - if (!arguments.length) return range; - range = x; - return rescale(); - }; - scale.quantiles = function() { - return thresholds; - }; - scale.invertExtent = function(y) { - y = range.indexOf(y); - return y < 0 ? [ NaN, NaN ] : [ y > 0 ? thresholds[y - 1] : domain[0], y < thresholds.length ? thresholds[y] : domain[domain.length - 1] ]; - }; - scale.copy = function() { - return d3_scale_quantile(domain, range); - }; - return rescale(); - } - d3.scale.quantize = function() { - return d3_scale_quantize(0, 1, [ 0, 1 ]); - }; - function d3_scale_quantize(x0, x1, range) { - var kx, i; - function scale(x) { - return range[Math.max(0, Math.min(i, Math.floor(kx * (x - x0))))]; - } - function rescale() { - kx = range.length / (x1 - x0); - i = range.length - 1; - return scale; - } - scale.domain = function(x) { - if (!arguments.length) return [ x0, x1 ]; - x0 = +x[0]; - x1 = +x[x.length - 1]; - return rescale(); - }; - scale.range = function(x) { - if (!arguments.length) return range; - range = x; - return rescale(); - }; - scale.invertExtent = function(y) { - y = range.indexOf(y); - y = y < 0 ? NaN : y / kx + x0; - return [ y, y + 1 / kx ]; - }; - scale.copy = function() { - return d3_scale_quantize(x0, x1, range); - }; - return rescale(); - } - d3.scale.threshold = function() { - return d3_scale_threshold([ .5 ], [ 0, 1 ]); - }; - function d3_scale_threshold(domain, range) { - function scale(x) { - if (x <= x) return range[d3.bisect(domain, x)]; - } - scale.domain = function(_) { - if (!arguments.length) return domain; - domain = _; - return scale; - }; - scale.range = function(_) { - if (!arguments.length) return range; - range = _; - return scale; - }; - scale.invertExtent = function(y) { - y = range.indexOf(y); - return [ domain[y - 1], domain[y] ]; - }; - scale.copy = function() { - return d3_scale_threshold(domain, range); - }; - return scale; - } - d3.scale.identity = function() { - return d3_scale_identity([ 0, 1 ]); - }; - function d3_scale_identity(domain) { - function identity(x) { - return +x; - } - identity.invert = identity; - identity.domain = identity.range = function(x) { - if (!arguments.length) return domain; - domain = x.map(identity); - return identity; - }; - identity.ticks = function(m) { - return d3_scale_linearTicks(domain, m); - }; - identity.tickFormat = function(m, format) { - return d3_scale_linearTickFormat(domain, m, format); - }; - identity.copy = function() { - return d3_scale_identity(domain); - }; - return identity; - } - d3.svg = {}; - function d3_zero() { - return 0; - } - d3.svg.arc = function() { - var innerRadius = d3_svg_arcInnerRadius, outerRadius = d3_svg_arcOuterRadius, cornerRadius = d3_zero, padRadius = d3_svg_arcAuto, startAngle = d3_svg_arcStartAngle, endAngle = d3_svg_arcEndAngle, padAngle = d3_svg_arcPadAngle; - function arc() { - var r0 = Math.max(0, +innerRadius.apply(this, arguments)), r1 = Math.max(0, +outerRadius.apply(this, arguments)), a0 = startAngle.apply(this, arguments) - halfπ, a1 = endAngle.apply(this, arguments) - halfπ, da = Math.abs(a1 - a0), cw = a0 > a1 ? 0 : 1; - if (r1 < r0) rc = r1, r1 = r0, r0 = rc; - if (da >= τε) return circleSegment(r1, cw) + (r0 ? circleSegment(r0, 1 - cw) : "") + "Z"; - var rc, cr, rp, ap, p0 = 0, p1 = 0, x0, y0, x1, y1, x2, y2, x3, y3, path = []; - if (ap = (+padAngle.apply(this, arguments) || 0) / 2) { - rp = padRadius === d3_svg_arcAuto ? Math.sqrt(r0 * r0 + r1 * r1) : +padRadius.apply(this, arguments); - if (!cw) p1 *= -1; - if (r1) p1 = d3_asin(rp / r1 * Math.sin(ap)); - if (r0) p0 = d3_asin(rp / r0 * Math.sin(ap)); - } - if (r1) { - x0 = r1 * Math.cos(a0 + p1); - y0 = r1 * Math.sin(a0 + p1); - x1 = r1 * Math.cos(a1 - p1); - y1 = r1 * Math.sin(a1 - p1); - var l1 = Math.abs(a1 - a0 - 2 * p1) <= π ? 0 : 1; - if (p1 && d3_svg_arcSweep(x0, y0, x1, y1) === cw ^ l1) { - var h1 = (a0 + a1) / 2; - x0 = r1 * Math.cos(h1); - y0 = r1 * Math.sin(h1); - x1 = y1 = null; - } - } else { - x0 = y0 = 0; - } - if (r0) { - x2 = r0 * Math.cos(a1 - p0); - y2 = r0 * Math.sin(a1 - p0); - x3 = r0 * Math.cos(a0 + p0); - y3 = r0 * Math.sin(a0 + p0); - var l0 = Math.abs(a0 - a1 + 2 * p0) <= π ? 0 : 1; - if (p0 && d3_svg_arcSweep(x2, y2, x3, y3) === 1 - cw ^ l0) { - var h0 = (a0 + a1) / 2; - x2 = r0 * Math.cos(h0); - y2 = r0 * Math.sin(h0); - x3 = y3 = null; - } - } else { - x2 = y2 = 0; - } - if ((rc = Math.min(Math.abs(r1 - r0) / 2, +cornerRadius.apply(this, arguments))) > .001) { - cr = r0 < r1 ^ cw ? 0 : 1; - var oc = x3 == null ? [ x2, y2 ] : x1 == null ? [ x0, y0 ] : d3_geom_polygonIntersect([ x0, y0 ], [ x3, y3 ], [ x1, y1 ], [ x2, y2 ]), ax = x0 - oc[0], ay = y0 - oc[1], bx = x1 - oc[0], by = y1 - oc[1], kc = 1 / Math.sin(Math.acos((ax * bx + ay * by) / (Math.sqrt(ax * ax + ay * ay) * Math.sqrt(bx * bx + by * by))) / 2), lc = Math.sqrt(oc[0] * oc[0] + oc[1] * oc[1]); - if (x1 != null) { - var rc1 = Math.min(rc, (r1 - lc) / (kc + 1)), t30 = d3_svg_arcCornerTangents(x3 == null ? [ x2, y2 ] : [ x3, y3 ], [ x0, y0 ], r1, rc1, cw), t12 = d3_svg_arcCornerTangents([ x1, y1 ], [ x2, y2 ], r1, rc1, cw); - if (rc === rc1) { - path.push("M", t30[0], "A", rc1, ",", rc1, " 0 0,", cr, " ", t30[1], "A", r1, ",", r1, " 0 ", 1 - cw ^ d3_svg_arcSweep(t30[1][0], t30[1][1], t12[1][0], t12[1][1]), ",", cw, " ", t12[1], "A", rc1, ",", rc1, " 0 0,", cr, " ", t12[0]); - } else { - path.push("M", t30[0], "A", rc1, ",", rc1, " 0 1,", cr, " ", t12[0]); - } - } else { - path.push("M", x0, ",", y0); - } - if (x3 != null) { - var rc0 = Math.min(rc, (r0 - lc) / (kc - 1)), t03 = d3_svg_arcCornerTangents([ x0, y0 ], [ x3, y3 ], r0, -rc0, cw), t21 = d3_svg_arcCornerTangents([ x2, y2 ], x1 == null ? [ x0, y0 ] : [ x1, y1 ], r0, -rc0, cw); - if (rc === rc0) { - path.push("L", t21[0], "A", rc0, ",", rc0, " 0 0,", cr, " ", t21[1], "A", r0, ",", r0, " 0 ", cw ^ d3_svg_arcSweep(t21[1][0], t21[1][1], t03[1][0], t03[1][1]), ",", 1 - cw, " ", t03[1], "A", rc0, ",", rc0, " 0 0,", cr, " ", t03[0]); - } else { - path.push("L", t21[0], "A", rc0, ",", rc0, " 0 0,", cr, " ", t03[0]); - } - } else { - path.push("L", x2, ",", y2); - } - } else { - path.push("M", x0, ",", y0); - if (x1 != null) path.push("A", r1, ",", r1, " 0 ", l1, ",", cw, " ", x1, ",", y1); - path.push("L", x2, ",", y2); - if (x3 != null) path.push("A", r0, ",", r0, " 0 ", l0, ",", 1 - cw, " ", x3, ",", y3); - } - path.push("Z"); - return path.join(""); - } - function circleSegment(r1, cw) { - return "M0," + r1 + "A" + r1 + "," + r1 + " 0 1," + cw + " 0," + -r1 + "A" + r1 + "," + r1 + " 0 1," + cw + " 0," + r1; - } - arc.innerRadius = function(v) { - if (!arguments.length) return innerRadius; - innerRadius = d3_functor(v); - return arc; - }; - arc.outerRadius = function(v) { - if (!arguments.length) return outerRadius; - outerRadius = d3_functor(v); - return arc; - }; - arc.cornerRadius = function(v) { - if (!arguments.length) return cornerRadius; - cornerRadius = d3_functor(v); - return arc; - }; - arc.padRadius = function(v) { - if (!arguments.length) return padRadius; - padRadius = v == d3_svg_arcAuto ? d3_svg_arcAuto : d3_functor(v); - return arc; - }; - arc.startAngle = function(v) { - if (!arguments.length) return startAngle; - startAngle = d3_functor(v); - return arc; - }; - arc.endAngle = function(v) { - if (!arguments.length) return endAngle; - endAngle = d3_functor(v); - return arc; - }; - arc.padAngle = function(v) { - if (!arguments.length) return padAngle; - padAngle = d3_functor(v); - return arc; - }; - arc.centroid = function() { - var r = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2, a = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - halfπ; - return [ Math.cos(a) * r, Math.sin(a) * r ]; - }; - return arc; - }; - var d3_svg_arcAuto = "auto"; - function d3_svg_arcInnerRadius(d) { - return d.innerRadius; - } - function d3_svg_arcOuterRadius(d) { - return d.outerRadius; - } - function d3_svg_arcStartAngle(d) { - return d.startAngle; - } - function d3_svg_arcEndAngle(d) { - return d.endAngle; - } - function d3_svg_arcPadAngle(d) { - return d && d.padAngle; - } - function d3_svg_arcSweep(x0, y0, x1, y1) { - return (x0 - x1) * y0 - (y0 - y1) * x0 > 0 ? 0 : 1; - } - function d3_svg_arcCornerTangents(p0, p1, r1, rc, cw) { - var x01 = p0[0] - p1[0], y01 = p0[1] - p1[1], lo = (cw ? rc : -rc) / Math.sqrt(x01 * x01 + y01 * y01), ox = lo * y01, oy = -lo * x01, x1 = p0[0] + ox, y1 = p0[1] + oy, x2 = p1[0] + ox, y2 = p1[1] + oy, x3 = (x1 + x2) / 2, y3 = (y1 + y2) / 2, dx = x2 - x1, dy = y2 - y1, d2 = dx * dx + dy * dy, r = r1 - rc, D = x1 * y2 - x2 * y1, d = (dy < 0 ? -1 : 1) * Math.sqrt(r * r * d2 - D * D), cx0 = (D * dy - dx * d) / d2, cy0 = (-D * dx - dy * d) / d2, cx1 = (D * dy + dx * d) / d2, cy1 = (-D * dx + dy * d) / d2, dx0 = cx0 - x3, dy0 = cy0 - y3, dx1 = cx1 - x3, dy1 = cy1 - y3; - if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) cx0 = cx1, cy0 = cy1; - return [ [ cx0 - ox, cy0 - oy ], [ cx0 * r1 / r, cy0 * r1 / r ] ]; - } - function d3_svg_line(projection) { - var x = d3_geom_pointX, y = d3_geom_pointY, defined = d3_true, interpolate = d3_svg_lineLinear, interpolateKey = interpolate.key, tension = .7; - function line(data) { - var segments = [], points = [], i = -1, n = data.length, d, fx = d3_functor(x), fy = d3_functor(y); - function segment() { - segments.push("M", interpolate(projection(points), tension)); - } - while (++i < n) { - if (defined.call(this, d = data[i], i)) { - points.push([ +fx.call(this, d, i), +fy.call(this, d, i) ]); - } else if (points.length) { - segment(); - points = []; - } - } - if (points.length) segment(); - return segments.length ? segments.join("") : null; - } - line.x = function(_) { - if (!arguments.length) return x; - x = _; - return line; - }; - line.y = function(_) { - if (!arguments.length) return y; - y = _; - return line; - }; - line.defined = function(_) { - if (!arguments.length) return defined; - defined = _; - return line; - }; - line.interpolate = function(_) { - if (!arguments.length) return interpolateKey; - if (typeof _ === "function") interpolateKey = interpolate = _; else interpolateKey = (interpolate = d3_svg_lineInterpolators.get(_) || d3_svg_lineLinear).key; - return line; - }; - line.tension = function(_) { - if (!arguments.length) return tension; - tension = _; - return line; - }; - return line; - } - d3.svg.line = function() { - return d3_svg_line(d3_identity); - }; - var d3_svg_lineInterpolators = d3.map({ - linear: d3_svg_lineLinear, - "linear-closed": d3_svg_lineLinearClosed, - step: d3_svg_lineStep, - "step-before": d3_svg_lineStepBefore, - "step-after": d3_svg_lineStepAfter, - basis: d3_svg_lineBasis, - "basis-open": d3_svg_lineBasisOpen, - "basis-closed": d3_svg_lineBasisClosed, - bundle: d3_svg_lineBundle, - cardinal: d3_svg_lineCardinal, - "cardinal-open": d3_svg_lineCardinalOpen, - "cardinal-closed": d3_svg_lineCardinalClosed, - monotone: d3_svg_lineMonotone - }); - d3_svg_lineInterpolators.forEach(function(key, value) { - value.key = key; - value.closed = /-closed$/.test(key); - }); - function d3_svg_lineLinear(points) { - return points.join("L"); - } - function d3_svg_lineLinearClosed(points) { - return d3_svg_lineLinear(points) + "Z"; - } - function d3_svg_lineStep(points) { - var i = 0, n = points.length, p = points[0], path = [ p[0], ",", p[1] ]; - while (++i < n) path.push("H", (p[0] + (p = points[i])[0]) / 2, "V", p[1]); - if (n > 1) path.push("H", p[0]); - return path.join(""); - } - function d3_svg_lineStepBefore(points) { - var i = 0, n = points.length, p = points[0], path = [ p[0], ",", p[1] ]; - while (++i < n) path.push("V", (p = points[i])[1], "H", p[0]); - return path.join(""); - } - function d3_svg_lineStepAfter(points) { - var i = 0, n = points.length, p = points[0], path = [ p[0], ",", p[1] ]; - while (++i < n) path.push("H", (p = points[i])[0], "V", p[1]); - return path.join(""); - } - function d3_svg_lineCardinalOpen(points, tension) { - return points.length < 4 ? d3_svg_lineLinear(points) : points[1] + d3_svg_lineHermite(points.slice(1, -1), d3_svg_lineCardinalTangents(points, tension)); - } - function d3_svg_lineCardinalClosed(points, tension) { - return points.length < 3 ? d3_svg_lineLinear(points) : points[0] + d3_svg_lineHermite((points.push(points[0]), - points), d3_svg_lineCardinalTangents([ points[points.length - 2] ].concat(points, [ points[1] ]), tension)); - } - function d3_svg_lineCardinal(points, tension) { - return points.length < 3 ? d3_svg_lineLinear(points) : points[0] + d3_svg_lineHermite(points, d3_svg_lineCardinalTangents(points, tension)); - } - function d3_svg_lineHermite(points, tangents) { - if (tangents.length < 1 || points.length != tangents.length && points.length != tangents.length + 2) { - return d3_svg_lineLinear(points); - } - var quad = points.length != tangents.length, path = "", p0 = points[0], p = points[1], t0 = tangents[0], t = t0, pi = 1; - if (quad) { - path += "Q" + (p[0] - t0[0] * 2 / 3) + "," + (p[1] - t0[1] * 2 / 3) + "," + p[0] + "," + p[1]; - p0 = points[1]; - pi = 2; - } - if (tangents.length > 1) { - t = tangents[1]; - p = points[pi]; - pi++; - path += "C" + (p0[0] + t0[0]) + "," + (p0[1] + t0[1]) + "," + (p[0] - t[0]) + "," + (p[1] - t[1]) + "," + p[0] + "," + p[1]; - for (var i = 2; i < tangents.length; i++, pi++) { - p = points[pi]; - t = tangents[i]; - path += "S" + (p[0] - t[0]) + "," + (p[1] - t[1]) + "," + p[0] + "," + p[1]; - } - } - if (quad) { - var lp = points[pi]; - path += "Q" + (p[0] + t[0] * 2 / 3) + "," + (p[1] + t[1] * 2 / 3) + "," + lp[0] + "," + lp[1]; - } - return path; - } - function d3_svg_lineCardinalTangents(points, tension) { - var tangents = [], a = (1 - tension) / 2, p0, p1 = points[0], p2 = points[1], i = 1, n = points.length; - while (++i < n) { - p0 = p1; - p1 = p2; - p2 = points[i]; - tangents.push([ a * (p2[0] - p0[0]), a * (p2[1] - p0[1]) ]); - } - return tangents; - } - function d3_svg_lineBasis(points) { - if (points.length < 3) return d3_svg_lineLinear(points); - var i = 1, n = points.length, pi = points[0], x0 = pi[0], y0 = pi[1], px = [ x0, x0, x0, (pi = points[1])[0] ], py = [ y0, y0, y0, pi[1] ], path = [ x0, ",", y0, "L", d3_svg_lineDot4(d3_svg_lineBasisBezier3, px), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier3, py) ]; - points.push(points[n - 1]); - while (++i <= n) { - pi = points[i]; - px.shift(); - px.push(pi[0]); - py.shift(); - py.push(pi[1]); - d3_svg_lineBasisBezier(path, px, py); - } - points.pop(); - path.push("L", pi); - return path.join(""); - } - function d3_svg_lineBasisOpen(points) { - if (points.length < 4) return d3_svg_lineLinear(points); - var path = [], i = -1, n = points.length, pi, px = [ 0 ], py = [ 0 ]; - while (++i < 3) { - pi = points[i]; - px.push(pi[0]); - py.push(pi[1]); - } - path.push(d3_svg_lineDot4(d3_svg_lineBasisBezier3, px) + "," + d3_svg_lineDot4(d3_svg_lineBasisBezier3, py)); - --i; - while (++i < n) { - pi = points[i]; - px.shift(); - px.push(pi[0]); - py.shift(); - py.push(pi[1]); - d3_svg_lineBasisBezier(path, px, py); - } - return path.join(""); - } - function d3_svg_lineBasisClosed(points) { - var path, i = -1, n = points.length, m = n + 4, pi, px = [], py = []; - while (++i < 4) { - pi = points[i % n]; - px.push(pi[0]); - py.push(pi[1]); - } - path = [ d3_svg_lineDot4(d3_svg_lineBasisBezier3, px), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier3, py) ]; - --i; - while (++i < m) { - pi = points[i % n]; - px.shift(); - px.push(pi[0]); - py.shift(); - py.push(pi[1]); - d3_svg_lineBasisBezier(path, px, py); - } - return path.join(""); - } - function d3_svg_lineBundle(points, tension) { - var n = points.length - 1; - if (n) { - var x0 = points[0][0], y0 = points[0][1], dx = points[n][0] - x0, dy = points[n][1] - y0, i = -1, p, t; - while (++i <= n) { - p = points[i]; - t = i / n; - p[0] = tension * p[0] + (1 - tension) * (x0 + t * dx); - p[1] = tension * p[1] + (1 - tension) * (y0 + t * dy); - } - } - return d3_svg_lineBasis(points); - } - function d3_svg_lineDot4(a, b) { - return a[0] * b[0] + a[1] * b[1] + a[2] * b[2] + a[3] * b[3]; - } - var d3_svg_lineBasisBezier1 = [ 0, 2 / 3, 1 / 3, 0 ], d3_svg_lineBasisBezier2 = [ 0, 1 / 3, 2 / 3, 0 ], d3_svg_lineBasisBezier3 = [ 0, 1 / 6, 2 / 3, 1 / 6 ]; - function d3_svg_lineBasisBezier(path, x, y) { - path.push("C", d3_svg_lineDot4(d3_svg_lineBasisBezier1, x), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier1, y), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier2, x), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier2, y), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier3, x), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier3, y)); - } - function d3_svg_lineSlope(p0, p1) { - return (p1[1] - p0[1]) / (p1[0] - p0[0]); - } - function d3_svg_lineFiniteDifferences(points) { - var i = 0, j = points.length - 1, m = [], p0 = points[0], p1 = points[1], d = m[0] = d3_svg_lineSlope(p0, p1); - while (++i < j) { - m[i] = (d + (d = d3_svg_lineSlope(p0 = p1, p1 = points[i + 1]))) / 2; - } - m[i] = d; - return m; - } - function d3_svg_lineMonotoneTangents(points) { - var tangents = [], d, a, b, s, m = d3_svg_lineFiniteDifferences(points), i = -1, j = points.length - 1; - while (++i < j) { - d = d3_svg_lineSlope(points[i], points[i + 1]); - if (abs(d) < ε) { - m[i] = m[i + 1] = 0; - } else { - a = m[i] / d; - b = m[i + 1] / d; - s = a * a + b * b; - if (s > 9) { - s = d * 3 / Math.sqrt(s); - m[i] = s * a; - m[i + 1] = s * b; - } - } - } - i = -1; - while (++i <= j) { - s = (points[Math.min(j, i + 1)][0] - points[Math.max(0, i - 1)][0]) / (6 * (1 + m[i] * m[i])); - tangents.push([ s || 0, m[i] * s || 0 ]); - } - return tangents; - } - function d3_svg_lineMonotone(points) { - return points.length < 3 ? d3_svg_lineLinear(points) : points[0] + d3_svg_lineHermite(points, d3_svg_lineMonotoneTangents(points)); - } - d3.svg.line.radial = function() { - var line = d3_svg_line(d3_svg_lineRadial); - line.radius = line.x, delete line.x; - line.angle = line.y, delete line.y; - return line; - }; - function d3_svg_lineRadial(points) { - var point, i = -1, n = points.length, r, a; - while (++i < n) { - point = points[i]; - r = point[0]; - a = point[1] - halfπ; - point[0] = r * Math.cos(a); - point[1] = r * Math.sin(a); - } - return points; - } - function d3_svg_area(projection) { - var x0 = d3_geom_pointX, x1 = d3_geom_pointX, y0 = 0, y1 = d3_geom_pointY, defined = d3_true, interpolate = d3_svg_lineLinear, interpolateKey = interpolate.key, interpolateReverse = interpolate, L = "L", tension = .7; - function area(data) { - var segments = [], points0 = [], points1 = [], i = -1, n = data.length, d, fx0 = d3_functor(x0), fy0 = d3_functor(y0), fx1 = x0 === x1 ? function() { - return x; - } : d3_functor(x1), fy1 = y0 === y1 ? function() { - return y; - } : d3_functor(y1), x, y; - function segment() { - segments.push("M", interpolate(projection(points1), tension), L, interpolateReverse(projection(points0.reverse()), tension), "Z"); - } - while (++i < n) { - if (defined.call(this, d = data[i], i)) { - points0.push([ x = +fx0.call(this, d, i), y = +fy0.call(this, d, i) ]); - points1.push([ +fx1.call(this, d, i), +fy1.call(this, d, i) ]); - } else if (points0.length) { - segment(); - points0 = []; - points1 = []; - } - } - if (points0.length) segment(); - return segments.length ? segments.join("") : null; - } - area.x = function(_) { - if (!arguments.length) return x1; - x0 = x1 = _; - return area; - }; - area.x0 = function(_) { - if (!arguments.length) return x0; - x0 = _; - return area; - }; - area.x1 = function(_) { - if (!arguments.length) return x1; - x1 = _; - return area; - }; - area.y = function(_) { - if (!arguments.length) return y1; - y0 = y1 = _; - return area; - }; - area.y0 = function(_) { - if (!arguments.length) return y0; - y0 = _; - return area; - }; - area.y1 = function(_) { - if (!arguments.length) return y1; - y1 = _; - return area; - }; - area.defined = function(_) { - if (!arguments.length) return defined; - defined = _; - return area; - }; - area.interpolate = function(_) { - if (!arguments.length) return interpolateKey; - if (typeof _ === "function") interpolateKey = interpolate = _; else interpolateKey = (interpolate = d3_svg_lineInterpolators.get(_) || d3_svg_lineLinear).key; - interpolateReverse = interpolate.reverse || interpolate; - L = interpolate.closed ? "M" : "L"; - return area; - }; - area.tension = function(_) { - if (!arguments.length) return tension; - tension = _; - return area; - }; - return area; - } - d3_svg_lineStepBefore.reverse = d3_svg_lineStepAfter; - d3_svg_lineStepAfter.reverse = d3_svg_lineStepBefore; - d3.svg.area = function() { - return d3_svg_area(d3_identity); - }; - d3.svg.area.radial = function() { - var area = d3_svg_area(d3_svg_lineRadial); - area.radius = area.x, delete area.x; - area.innerRadius = area.x0, delete area.x0; - area.outerRadius = area.x1, delete area.x1; - area.angle = area.y, delete area.y; - area.startAngle = area.y0, delete area.y0; - area.endAngle = area.y1, delete area.y1; - return area; - }; - d3.svg.chord = function() { - var source = d3_source, target = d3_target, radius = d3_svg_chordRadius, startAngle = d3_svg_arcStartAngle, endAngle = d3_svg_arcEndAngle; - function chord(d, i) { - var s = subgroup(this, source, d, i), t = subgroup(this, target, d, i); - return "M" + s.p0 + arc(s.r, s.p1, s.a1 - s.a0) + (equals(s, t) ? curve(s.r, s.p1, s.r, s.p0) : curve(s.r, s.p1, t.r, t.p0) + arc(t.r, t.p1, t.a1 - t.a0) + curve(t.r, t.p1, s.r, s.p0)) + "Z"; - } - function subgroup(self, f, d, i) { - var subgroup = f.call(self, d, i), r = radius.call(self, subgroup, i), a0 = startAngle.call(self, subgroup, i) - halfπ, a1 = endAngle.call(self, subgroup, i) - halfπ; - return { - r: r, - a0: a0, - a1: a1, - p0: [ r * Math.cos(a0), r * Math.sin(a0) ], - p1: [ r * Math.cos(a1), r * Math.sin(a1) ] - }; - } - function equals(a, b) { - return a.a0 == b.a0 && a.a1 == b.a1; - } - function arc(r, p, a) { - return "A" + r + "," + r + " 0 " + +(a > π) + ",1 " + p; - } - function curve(r0, p0, r1, p1) { - return "Q 0,0 " + p1; - } - chord.radius = function(v) { - if (!arguments.length) return radius; - radius = d3_functor(v); - return chord; - }; - chord.source = function(v) { - if (!arguments.length) return source; - source = d3_functor(v); - return chord; - }; - chord.target = function(v) { - if (!arguments.length) return target; - target = d3_functor(v); - return chord; - }; - chord.startAngle = function(v) { - if (!arguments.length) return startAngle; - startAngle = d3_functor(v); - return chord; - }; - chord.endAngle = function(v) { - if (!arguments.length) return endAngle; - endAngle = d3_functor(v); - return chord; - }; - return chord; - }; - function d3_svg_chordRadius(d) { - return d.radius; - } - d3.svg.diagonal = function() { - var source = d3_source, target = d3_target, projection = d3_svg_diagonalProjection; - function diagonal(d, i) { - var p0 = source.call(this, d, i), p3 = target.call(this, d, i), m = (p0.y + p3.y) / 2, p = [ p0, { - x: p0.x, - y: m - }, { - x: p3.x, - y: m - }, p3 ]; - p = p.map(projection); - return "M" + p[0] + "C" + p[1] + " " + p[2] + " " + p[3]; - } - diagonal.source = function(x) { - if (!arguments.length) return source; - source = d3_functor(x); - return diagonal; - }; - diagonal.target = function(x) { - if (!arguments.length) return target; - target = d3_functor(x); - return diagonal; - }; - diagonal.projection = function(x) { - if (!arguments.length) return projection; - projection = x; - return diagonal; - }; - return diagonal; - }; - function d3_svg_diagonalProjection(d) { - return [ d.x, d.y ]; - } - d3.svg.diagonal.radial = function() { - var diagonal = d3.svg.diagonal(), projection = d3_svg_diagonalProjection, projection_ = diagonal.projection; - diagonal.projection = function(x) { - return arguments.length ? projection_(d3_svg_diagonalRadialProjection(projection = x)) : projection; - }; - return diagonal; - }; - function d3_svg_diagonalRadialProjection(projection) { - return function() { - var d = projection.apply(this, arguments), r = d[0], a = d[1] - halfπ; - return [ r * Math.cos(a), r * Math.sin(a) ]; - }; - } - d3.svg.symbol = function() { - var type = d3_svg_symbolType, size = d3_svg_symbolSize; - function symbol(d, i) { - return (d3_svg_symbols.get(type.call(this, d, i)) || d3_svg_symbolCircle)(size.call(this, d, i)); - } - symbol.type = function(x) { - if (!arguments.length) return type; - type = d3_functor(x); - return symbol; - }; - symbol.size = function(x) { - if (!arguments.length) return size; - size = d3_functor(x); - return symbol; - }; - return symbol; - }; - function d3_svg_symbolSize() { - return 64; - } - function d3_svg_symbolType() { - return "circle"; - } - function d3_svg_symbolCircle(size) { - var r = Math.sqrt(size / π); - return "M0," + r + "A" + r + "," + r + " 0 1,1 0," + -r + "A" + r + "," + r + " 0 1,1 0," + r + "Z"; - } - var d3_svg_symbols = d3.map({ - circle: d3_svg_symbolCircle, - cross: function(size) { - var r = Math.sqrt(size / 5) / 2; - return "M" + -3 * r + "," + -r + "H" + -r + "V" + -3 * r + "H" + r + "V" + -r + "H" + 3 * r + "V" + r + "H" + r + "V" + 3 * r + "H" + -r + "V" + r + "H" + -3 * r + "Z"; - }, - diamond: function(size) { - var ry = Math.sqrt(size / (2 * d3_svg_symbolTan30)), rx = ry * d3_svg_symbolTan30; - return "M0," + -ry + "L" + rx + ",0" + " 0," + ry + " " + -rx + ",0" + "Z"; - }, - square: function(size) { - var r = Math.sqrt(size) / 2; - return "M" + -r + "," + -r + "L" + r + "," + -r + " " + r + "," + r + " " + -r + "," + r + "Z"; - }, - "triangle-down": function(size) { - var rx = Math.sqrt(size / d3_svg_symbolSqrt3), ry = rx * d3_svg_symbolSqrt3 / 2; - return "M0," + ry + "L" + rx + "," + -ry + " " + -rx + "," + -ry + "Z"; - }, - "triangle-up": function(size) { - var rx = Math.sqrt(size / d3_svg_symbolSqrt3), ry = rx * d3_svg_symbolSqrt3 / 2; - return "M0," + -ry + "L" + rx + "," + ry + " " + -rx + "," + ry + "Z"; - } - }); - d3.svg.symbolTypes = d3_svg_symbols.keys(); - var d3_svg_symbolSqrt3 = Math.sqrt(3), d3_svg_symbolTan30 = Math.tan(30 * d3_radians); - d3_selectionPrototype.transition = function(name) { - var id = d3_transitionInheritId || ++d3_transitionId, ns = d3_transitionNamespace(name), subgroups = [], subgroup, node, transition = d3_transitionInherit || { - time: Date.now(), - ease: d3_ease_cubicInOut, - delay: 0, - duration: 250 - }; - for (var j = -1, m = this.length; ++j < m; ) { - subgroups.push(subgroup = []); - for (var group = this[j], i = -1, n = group.length; ++i < n; ) { - if (node = group[i]) d3_transitionNode(node, i, ns, id, transition); - subgroup.push(node); - } - } - return d3_transition(subgroups, ns, id); - }; - d3_selectionPrototype.interrupt = function(name) { - return this.each(name == null ? d3_selection_interrupt : d3_selection_interruptNS(d3_transitionNamespace(name))); - }; - var d3_selection_interrupt = d3_selection_interruptNS(d3_transitionNamespace()); - function d3_selection_interruptNS(ns) { - return function() { - var lock, active; - if ((lock = this[ns]) && (active = lock[lock.active])) { - if (--lock.count) { - delete lock[lock.active]; - lock.active += .5; - } else { - delete this[ns]; - } - active.event && active.event.interrupt.call(this, this.__data__, active.index); - } - }; - } - function d3_transition(groups, ns, id) { - d3_subclass(groups, d3_transitionPrototype); - groups.namespace = ns; - groups.id = id; - return groups; - } - var d3_transitionPrototype = [], d3_transitionId = 0, d3_transitionInheritId, d3_transitionInherit; - d3_transitionPrototype.call = d3_selectionPrototype.call; - d3_transitionPrototype.empty = d3_selectionPrototype.empty; - d3_transitionPrototype.node = d3_selectionPrototype.node; - d3_transitionPrototype.size = d3_selectionPrototype.size; - d3.transition = function(selection, name) { - return selection && selection.transition ? d3_transitionInheritId ? selection.transition(name) : selection : d3_selectionRoot.transition(selection); - }; - d3.transition.prototype = d3_transitionPrototype; - d3_transitionPrototype.select = function(selector) { - var id = this.id, ns = this.namespace, subgroups = [], subgroup, subnode, node; - selector = d3_selection_selector(selector); - for (var j = -1, m = this.length; ++j < m; ) { - subgroups.push(subgroup = []); - for (var group = this[j], i = -1, n = group.length; ++i < n; ) { - if ((node = group[i]) && (subnode = selector.call(node, node.__data__, i, j))) { - if ("__data__" in node) subnode.__data__ = node.__data__; - d3_transitionNode(subnode, i, ns, id, node[ns][id]); - subgroup.push(subnode); - } else { - subgroup.push(null); - } - } - } - return d3_transition(subgroups, ns, id); - }; - d3_transitionPrototype.selectAll = function(selector) { - var id = this.id, ns = this.namespace, subgroups = [], subgroup, subnodes, node, subnode, transition; - selector = d3_selection_selectorAll(selector); - for (var j = -1, m = this.length; ++j < m; ) { - for (var group = this[j], i = -1, n = group.length; ++i < n; ) { - if (node = group[i]) { - transition = node[ns][id]; - subnodes = selector.call(node, node.__data__, i, j); - subgroups.push(subgroup = []); - for (var k = -1, o = subnodes.length; ++k < o; ) { - if (subnode = subnodes[k]) d3_transitionNode(subnode, k, ns, id, transition); - subgroup.push(subnode); - } - } - } - } - return d3_transition(subgroups, ns, id); - }; - d3_transitionPrototype.filter = function(filter) { - var subgroups = [], subgroup, group, node; - if (typeof filter !== "function") filter = d3_selection_filter(filter); - for (var j = 0, m = this.length; j < m; j++) { - subgroups.push(subgroup = []); - for (var group = this[j], i = 0, n = group.length; i < n; i++) { - if ((node = group[i]) && filter.call(node, node.__data__, i, j)) { - subgroup.push(node); - } - } - } - return d3_transition(subgroups, this.namespace, this.id); - }; - d3_transitionPrototype.tween = function(name, tween) { - var id = this.id, ns = this.namespace; - if (arguments.length < 2) return this.node()[ns][id].tween.get(name); - return d3_selection_each(this, tween == null ? function(node) { - node[ns][id].tween.remove(name); - } : function(node) { - node[ns][id].tween.set(name, tween); - }); - }; - function d3_transition_tween(groups, name, value, tween) { - var id = groups.id, ns = groups.namespace; - return d3_selection_each(groups, typeof value === "function" ? function(node, i, j) { - node[ns][id].tween.set(name, tween(value.call(node, node.__data__, i, j))); - } : (value = tween(value), function(node) { - node[ns][id].tween.set(name, value); - })); - } - d3_transitionPrototype.attr = function(nameNS, value) { - if (arguments.length < 2) { - for (value in nameNS) this.attr(value, nameNS[value]); - return this; - } - var interpolate = nameNS == "transform" ? d3_interpolateTransform : d3_interpolate, name = d3.ns.qualify(nameNS); - function attrNull() { - this.removeAttribute(name); - } - function attrNullNS() { - this.removeAttributeNS(name.space, name.local); - } - function attrTween(b) { - return b == null ? attrNull : (b += "", function() { - var a = this.getAttribute(name), i; - return a !== b && (i = interpolate(a, b), function(t) { - this.setAttribute(name, i(t)); - }); - }); - } - function attrTweenNS(b) { - return b == null ? attrNullNS : (b += "", function() { - var a = this.getAttributeNS(name.space, name.local), i; - return a !== b && (i = interpolate(a, b), function(t) { - this.setAttributeNS(name.space, name.local, i(t)); - }); - }); - } - return d3_transition_tween(this, "attr." + nameNS, value, name.local ? attrTweenNS : attrTween); - }; - d3_transitionPrototype.attrTween = function(nameNS, tween) { - var name = d3.ns.qualify(nameNS); - function attrTween(d, i) { - var f = tween.call(this, d, i, this.getAttribute(name)); - return f && function(t) { - this.setAttribute(name, f(t)); - }; - } - function attrTweenNS(d, i) { - var f = tween.call(this, d, i, this.getAttributeNS(name.space, name.local)); - return f && function(t) { - this.setAttributeNS(name.space, name.local, f(t)); - }; - } - return this.tween("attr." + nameNS, name.local ? attrTweenNS : attrTween); - }; - d3_transitionPrototype.style = function(name, value, priority) { - var n = arguments.length; - if (n < 3) { - if (typeof name !== "string") { - if (n < 2) value = ""; - for (priority in name) this.style(priority, name[priority], value); - return this; - } - priority = ""; - } - function styleNull() { - this.style.removeProperty(name); - } - function styleString(b) { - return b == null ? styleNull : (b += "", function() { - var a = d3_window.getComputedStyle(this, null).getPropertyValue(name), i; - return a !== b && (i = d3_interpolate(a, b), function(t) { - this.style.setProperty(name, i(t), priority); - }); - }); - } - return d3_transition_tween(this, "style." + name, value, styleString); - }; - d3_transitionPrototype.styleTween = function(name, tween, priority) { - if (arguments.length < 3) priority = ""; - function styleTween(d, i) { - var f = tween.call(this, d, i, d3_window.getComputedStyle(this, null).getPropertyValue(name)); - return f && function(t) { - this.style.setProperty(name, f(t), priority); - }; - } - return this.tween("style." + name, styleTween); - }; - d3_transitionPrototype.text = function(value) { - return d3_transition_tween(this, "text", value, d3_transition_text); - }; - function d3_transition_text(b) { - if (b == null) b = ""; - return function() { - this.textContent = b; - }; - } - d3_transitionPrototype.remove = function() { - var ns = this.namespace; - return this.each("end.transition", function() { - var p; - if (this[ns].count < 2 && (p = this.parentNode)) p.removeChild(this); - }); - }; - d3_transitionPrototype.ease = function(value) { - var id = this.id, ns = this.namespace; - if (arguments.length < 1) return this.node()[ns][id].ease; - if (typeof value !== "function") value = d3.ease.apply(d3, arguments); - return d3_selection_each(this, function(node) { - node[ns][id].ease = value; - }); - }; - d3_transitionPrototype.delay = function(value) { - var id = this.id, ns = this.namespace; - if (arguments.length < 1) return this.node()[ns][id].delay; - return d3_selection_each(this, typeof value === "function" ? function(node, i, j) { - node[ns][id].delay = +value.call(node, node.__data__, i, j); - } : (value = +value, function(node) { - node[ns][id].delay = value; - })); - }; - d3_transitionPrototype.duration = function(value) { - var id = this.id, ns = this.namespace; - if (arguments.length < 1) return this.node()[ns][id].duration; - return d3_selection_each(this, typeof value === "function" ? function(node, i, j) { - node[ns][id].duration = Math.max(1, value.call(node, node.__data__, i, j)); - } : (value = Math.max(1, value), function(node) { - node[ns][id].duration = value; - })); - }; - d3_transitionPrototype.each = function(type, listener) { - var id = this.id, ns = this.namespace; - if (arguments.length < 2) { - var inherit = d3_transitionInherit, inheritId = d3_transitionInheritId; - try { - d3_transitionInheritId = id; - d3_selection_each(this, function(node, i, j) { - d3_transitionInherit = node[ns][id]; - type.call(node, node.__data__, i, j); - }); - } finally { - d3_transitionInherit = inherit; - d3_transitionInheritId = inheritId; - } - } else { - d3_selection_each(this, function(node) { - var transition = node[ns][id]; - (transition.event || (transition.event = d3.dispatch("start", "end", "interrupt"))).on(type, listener); - }); - } - return this; - }; - d3_transitionPrototype.transition = function() { - var id0 = this.id, id1 = ++d3_transitionId, ns = this.namespace, subgroups = [], subgroup, group, node, transition; - for (var j = 0, m = this.length; j < m; j++) { - subgroups.push(subgroup = []); - for (var group = this[j], i = 0, n = group.length; i < n; i++) { - if (node = group[i]) { - transition = node[ns][id0]; - d3_transitionNode(node, i, ns, id1, { - time: transition.time, - ease: transition.ease, - delay: transition.delay + transition.duration, - duration: transition.duration - }); - } - subgroup.push(node); - } - } - return d3_transition(subgroups, ns, id1); - }; - function d3_transitionNamespace(name) { - return name == null ? "__transition__" : "__transition_" + name + "__"; - } - function d3_transitionNode(node, i, ns, id, inherit) { - var lock = node[ns] || (node[ns] = { - active: 0, - count: 0 - }), transition = lock[id]; - if (!transition) { - var time = inherit.time; - transition = lock[id] = { - tween: new d3_Map(), - time: time, - delay: inherit.delay, - duration: inherit.duration, - ease: inherit.ease, - index: i - }; - inherit = null; - ++lock.count; - d3.timer(function(elapsed) { - var delay = transition.delay, duration, ease, timer = d3_timer_active, tweened = []; - timer.t = delay + time; - if (delay <= elapsed) return start(elapsed - delay); - timer.c = start; - function start(elapsed) { - if (lock.active > id) return stop(); - var active = lock[lock.active]; - if (active) { - --lock.count; - delete lock[lock.active]; - active.event && active.event.interrupt.call(node, node.__data__, active.index); - } - lock.active = id; - transition.event && transition.event.start.call(node, node.__data__, i); - transition.tween.forEach(function(key, value) { - if (value = value.call(node, node.__data__, i)) { - tweened.push(value); - } - }); - ease = transition.ease; - duration = transition.duration; - d3.timer(function() { - timer.c = tick(elapsed || 1) ? d3_true : tick; - return 1; - }, 0, time); - } - function tick(elapsed) { - if (lock.active !== id) return 1; - var t = elapsed / duration, e = ease(t), n = tweened.length; - while (n > 0) { - tweened[--n].call(node, e); - } - if (t >= 1) { - transition.event && transition.event.end.call(node, node.__data__, i); - return stop(); - } - } - function stop() { - if (--lock.count) delete lock[id]; else delete node[ns]; - return 1; - } - }, 0, time); - } - } - d3.svg.axis = function() { - var scale = d3.scale.linear(), orient = d3_svg_axisDefaultOrient, innerTickSize = 6, outerTickSize = 6, tickPadding = 3, tickArguments_ = [ 10 ], tickValues = null, tickFormat_; - function axis(g) { - g.each(function() { - var g = d3.select(this); - var scale0 = this.__chart__ || scale, scale1 = this.__chart__ = scale.copy(); - var ticks = tickValues == null ? scale1.ticks ? scale1.ticks.apply(scale1, tickArguments_) : scale1.domain() : tickValues, tickFormat = tickFormat_ == null ? scale1.tickFormat ? scale1.tickFormat.apply(scale1, tickArguments_) : d3_identity : tickFormat_, tick = g.selectAll(".tick").data(ticks, scale1), tickEnter = tick.enter().insert("g", ".domain").attr("class", "tick").style("opacity", ε), tickExit = d3.transition(tick.exit()).style("opacity", ε).remove(), tickUpdate = d3.transition(tick.order()).style("opacity", 1), tickSpacing = Math.max(innerTickSize, 0) + tickPadding, tickTransform; - var range = d3_scaleRange(scale1), path = g.selectAll(".domain").data([ 0 ]), pathUpdate = (path.enter().append("path").attr("class", "domain"), - d3.transition(path)); - tickEnter.append("line"); - tickEnter.append("text"); - var lineEnter = tickEnter.select("line"), lineUpdate = tickUpdate.select("line"), text = tick.select("text").text(tickFormat), textEnter = tickEnter.select("text"), textUpdate = tickUpdate.select("text"), sign = orient === "top" || orient === "left" ? -1 : 1, x1, x2, y1, y2; - if (orient === "bottom" || orient === "top") { - tickTransform = d3_svg_axisX, x1 = "x", y1 = "y", x2 = "x2", y2 = "y2"; - text.attr("dy", sign < 0 ? "0em" : ".71em").style("text-anchor", "middle"); - pathUpdate.attr("d", "M" + range[0] + "," + sign * outerTickSize + "V0H" + range[1] + "V" + sign * outerTickSize); - } else { - tickTransform = d3_svg_axisY, x1 = "y", y1 = "x", x2 = "y2", y2 = "x2"; - text.attr("dy", ".32em").style("text-anchor", sign < 0 ? "end" : "start"); - pathUpdate.attr("d", "M" + sign * outerTickSize + "," + range[0] + "H0V" + range[1] + "H" + sign * outerTickSize); - } - lineEnter.attr(y2, sign * innerTickSize); - textEnter.attr(y1, sign * tickSpacing); - lineUpdate.attr(x2, 0).attr(y2, sign * innerTickSize); - textUpdate.attr(x1, 0).attr(y1, sign * tickSpacing); - if (scale1.rangeBand) { - var x = scale1, dx = x.rangeBand() / 2; - scale0 = scale1 = function(d) { - return x(d) + dx; - }; - } else if (scale0.rangeBand) { - scale0 = scale1; - } else { - tickExit.call(tickTransform, scale1, scale0); - } - tickEnter.call(tickTransform, scale0, scale1); - tickUpdate.call(tickTransform, scale1, scale1); - }); - } - axis.scale = function(x) { - if (!arguments.length) return scale; - scale = x; - return axis; - }; - axis.orient = function(x) { - if (!arguments.length) return orient; - orient = x in d3_svg_axisOrients ? x + "" : d3_svg_axisDefaultOrient; - return axis; - }; - axis.ticks = function() { - if (!arguments.length) return tickArguments_; - tickArguments_ = arguments; - return axis; - }; - axis.tickValues = function(x) { - if (!arguments.length) return tickValues; - tickValues = x; - return axis; - }; - axis.tickFormat = function(x) { - if (!arguments.length) return tickFormat_; - tickFormat_ = x; - return axis; - }; - axis.tickSize = function(x) { - var n = arguments.length; - if (!n) return innerTickSize; - innerTickSize = +x; - outerTickSize = +arguments[n - 1]; - return axis; - }; - axis.innerTickSize = function(x) { - if (!arguments.length) return innerTickSize; - innerTickSize = +x; - return axis; - }; - axis.outerTickSize = function(x) { - if (!arguments.length) return outerTickSize; - outerTickSize = +x; - return axis; - }; - axis.tickPadding = function(x) { - if (!arguments.length) return tickPadding; - tickPadding = +x; - return axis; - }; - axis.tickSubdivide = function() { - return arguments.length && axis; - }; - return axis; - }; - var d3_svg_axisDefaultOrient = "bottom", d3_svg_axisOrients = { - top: 1, - right: 1, - bottom: 1, - left: 1 - }; - function d3_svg_axisX(selection, x0, x1) { - selection.attr("transform", function(d) { - var v0 = x0(d); - return "translate(" + (isFinite(v0) ? v0 : x1(d)) + ",0)"; - }); - } - function d3_svg_axisY(selection, y0, y1) { - selection.attr("transform", function(d) { - var v0 = y0(d); - return "translate(0," + (isFinite(v0) ? v0 : y1(d)) + ")"; - }); - } - d3.svg.brush = function() { - var event = d3_eventDispatch(brush, "brushstart", "brush", "brushend"), x = null, y = null, xExtent = [ 0, 0 ], yExtent = [ 0, 0 ], xExtentDomain, yExtentDomain, xClamp = true, yClamp = true, resizes = d3_svg_brushResizes[0]; - function brush(g) { - g.each(function() { - var g = d3.select(this).style("pointer-events", "all").style("-webkit-tap-highlight-color", "rgba(0,0,0,0)").on("mousedown.brush", brushstart).on("touchstart.brush", brushstart); - var background = g.selectAll(".background").data([ 0 ]); - background.enter().append("rect").attr("class", "background").style("visibility", "hidden").style("cursor", "crosshair"); - g.selectAll(".extent").data([ 0 ]).enter().append("rect").attr("class", "extent").style("cursor", "move"); - var resize = g.selectAll(".resize").data(resizes, d3_identity); - resize.exit().remove(); - resize.enter().append("g").attr("class", function(d) { - return "resize " + d; - }).style("cursor", function(d) { - return d3_svg_brushCursor[d]; - }).append("rect").attr("x", function(d) { - return /[ew]$/.test(d) ? -3 : null; - }).attr("y", function(d) { - return /^[ns]/.test(d) ? -3 : null; - }).attr("width", 6).attr("height", 6).style("visibility", "hidden"); - resize.style("display", brush.empty() ? "none" : null); - var gUpdate = d3.transition(g), backgroundUpdate = d3.transition(background), range; - if (x) { - range = d3_scaleRange(x); - backgroundUpdate.attr("x", range[0]).attr("width", range[1] - range[0]); - redrawX(gUpdate); - } - if (y) { - range = d3_scaleRange(y); - backgroundUpdate.attr("y", range[0]).attr("height", range[1] - range[0]); - redrawY(gUpdate); - } - redraw(gUpdate); - }); - } - brush.event = function(g) { - g.each(function() { - var event_ = event.of(this, arguments), extent1 = { - x: xExtent, - y: yExtent, - i: xExtentDomain, - j: yExtentDomain - }, extent0 = this.__chart__ || extent1; - this.__chart__ = extent1; - if (d3_transitionInheritId) { - d3.select(this).transition().each("start.brush", function() { - xExtentDomain = extent0.i; - yExtentDomain = extent0.j; - xExtent = extent0.x; - yExtent = extent0.y; - event_({ - type: "brushstart" - }); - }).tween("brush:brush", function() { - var xi = d3_interpolateArray(xExtent, extent1.x), yi = d3_interpolateArray(yExtent, extent1.y); - xExtentDomain = yExtentDomain = null; - return function(t) { - xExtent = extent1.x = xi(t); - yExtent = extent1.y = yi(t); - event_({ - type: "brush", - mode: "resize" - }); - }; - }).each("end.brush", function() { - xExtentDomain = extent1.i; - yExtentDomain = extent1.j; - event_({ - type: "brush", - mode: "resize" - }); - event_({ - type: "brushend" - }); - }); - } else { - event_({ - type: "brushstart" - }); - event_({ - type: "brush", - mode: "resize" - }); - event_({ - type: "brushend" - }); - } - }); - }; - function redraw(g) { - g.selectAll(".resize").attr("transform", function(d) { - return "translate(" + xExtent[+/e$/.test(d)] + "," + yExtent[+/^s/.test(d)] + ")"; - }); - } - function redrawX(g) { - g.select(".extent").attr("x", xExtent[0]); - g.selectAll(".extent,.n>rect,.s>rect").attr("width", xExtent[1] - xExtent[0]); - } - function redrawY(g) { - g.select(".extent").attr("y", yExtent[0]); - g.selectAll(".extent,.e>rect,.w>rect").attr("height", yExtent[1] - yExtent[0]); - } - function brushstart() { - var target = this, eventTarget = d3.select(d3.event.target), event_ = event.of(target, arguments), g = d3.select(target), resizing = eventTarget.datum(), resizingX = !/^(n|s)$/.test(resizing) && x, resizingY = !/^(e|w)$/.test(resizing) && y, dragging = eventTarget.classed("extent"), dragRestore = d3_event_dragSuppress(), center, origin = d3.mouse(target), offset; - var w = d3.select(d3_window).on("keydown.brush", keydown).on("keyup.brush", keyup); - if (d3.event.changedTouches) { - w.on("touchmove.brush", brushmove).on("touchend.brush", brushend); - } else { - w.on("mousemove.brush", brushmove).on("mouseup.brush", brushend); - } - g.interrupt().selectAll("*").interrupt(); - if (dragging) { - origin[0] = xExtent[0] - origin[0]; - origin[1] = yExtent[0] - origin[1]; - } else if (resizing) { - var ex = +/w$/.test(resizing), ey = +/^n/.test(resizing); - offset = [ xExtent[1 - ex] - origin[0], yExtent[1 - ey] - origin[1] ]; - origin[0] = xExtent[ex]; - origin[1] = yExtent[ey]; - } else if (d3.event.altKey) center = origin.slice(); - g.style("pointer-events", "none").selectAll(".resize").style("display", null); - d3.select("body").style("cursor", eventTarget.style("cursor")); - event_({ - type: "brushstart" - }); - brushmove(); - function keydown() { - if (d3.event.keyCode == 32) { - if (!dragging) { - center = null; - origin[0] -= xExtent[1]; - origin[1] -= yExtent[1]; - dragging = 2; - } - d3_eventPreventDefault(); - } - } - function keyup() { - if (d3.event.keyCode == 32 && dragging == 2) { - origin[0] += xExtent[1]; - origin[1] += yExtent[1]; - dragging = 0; - d3_eventPreventDefault(); - } - } - function brushmove() { - var point = d3.mouse(target), moved = false; - if (offset) { - point[0] += offset[0]; - point[1] += offset[1]; - } - if (!dragging) { - if (d3.event.altKey) { - if (!center) center = [ (xExtent[0] + xExtent[1]) / 2, (yExtent[0] + yExtent[1]) / 2 ]; - origin[0] = xExtent[+(point[0] < center[0])]; - origin[1] = yExtent[+(point[1] < center[1])]; - } else center = null; - } - if (resizingX && move1(point, x, 0)) { - redrawX(g); - moved = true; - } - if (resizingY && move1(point, y, 1)) { - redrawY(g); - moved = true; - } - if (moved) { - redraw(g); - event_({ - type: "brush", - mode: dragging ? "move" : "resize" - }); - } - } - function move1(point, scale, i) { - var range = d3_scaleRange(scale), r0 = range[0], r1 = range[1], position = origin[i], extent = i ? yExtent : xExtent, size = extent[1] - extent[0], min, max; - if (dragging) { - r0 -= position; - r1 -= size + position; - } - min = (i ? yClamp : xClamp) ? Math.max(r0, Math.min(r1, point[i])) : point[i]; - if (dragging) { - max = (min += position) + size; - } else { - if (center) position = Math.max(r0, Math.min(r1, 2 * center[i] - min)); - if (position < min) { - max = min; - min = position; - } else { - max = position; - } - } - if (extent[0] != min || extent[1] != max) { - if (i) yExtentDomain = null; else xExtentDomain = null; - extent[0] = min; - extent[1] = max; - return true; - } - } - function brushend() { - brushmove(); - g.style("pointer-events", "all").selectAll(".resize").style("display", brush.empty() ? "none" : null); - d3.select("body").style("cursor", null); - w.on("mousemove.brush", null).on("mouseup.brush", null).on("touchmove.brush", null).on("touchend.brush", null).on("keydown.brush", null).on("keyup.brush", null); - dragRestore(); - event_({ - type: "brushend" - }); - } - } - brush.x = function(z) { - if (!arguments.length) return x; - x = z; - resizes = d3_svg_brushResizes[!x << 1 | !y]; - return brush; - }; - brush.y = function(z) { - if (!arguments.length) return y; - y = z; - resizes = d3_svg_brushResizes[!x << 1 | !y]; - return brush; - }; - brush.clamp = function(z) { - if (!arguments.length) return x && y ? [ xClamp, yClamp ] : x ? xClamp : y ? yClamp : null; - if (x && y) xClamp = !!z[0], yClamp = !!z[1]; else if (x) xClamp = !!z; else if (y) yClamp = !!z; - return brush; - }; - brush.extent = function(z) { - var x0, x1, y0, y1, t; - if (!arguments.length) { - if (x) { - if (xExtentDomain) { - x0 = xExtentDomain[0], x1 = xExtentDomain[1]; - } else { - x0 = xExtent[0], x1 = xExtent[1]; - if (x.invert) x0 = x.invert(x0), x1 = x.invert(x1); - if (x1 < x0) t = x0, x0 = x1, x1 = t; - } - } - if (y) { - if (yExtentDomain) { - y0 = yExtentDomain[0], y1 = yExtentDomain[1]; - } else { - y0 = yExtent[0], y1 = yExtent[1]; - if (y.invert) y0 = y.invert(y0), y1 = y.invert(y1); - if (y1 < y0) t = y0, y0 = y1, y1 = t; - } - } - return x && y ? [ [ x0, y0 ], [ x1, y1 ] ] : x ? [ x0, x1 ] : y && [ y0, y1 ]; - } - if (x) { - x0 = z[0], x1 = z[1]; - if (y) x0 = x0[0], x1 = x1[0]; - xExtentDomain = [ x0, x1 ]; - if (x.invert) x0 = x(x0), x1 = x(x1); - if (x1 < x0) t = x0, x0 = x1, x1 = t; - if (x0 != xExtent[0] || x1 != xExtent[1]) xExtent = [ x0, x1 ]; - } - if (y) { - y0 = z[0], y1 = z[1]; - if (x) y0 = y0[1], y1 = y1[1]; - yExtentDomain = [ y0, y1 ]; - if (y.invert) y0 = y(y0), y1 = y(y1); - if (y1 < y0) t = y0, y0 = y1, y1 = t; - if (y0 != yExtent[0] || y1 != yExtent[1]) yExtent = [ y0, y1 ]; - } - return brush; - }; - brush.clear = function() { - if (!brush.empty()) { - xExtent = [ 0, 0 ], yExtent = [ 0, 0 ]; - xExtentDomain = yExtentDomain = null; - } - return brush; - }; - brush.empty = function() { - return !!x && xExtent[0] == xExtent[1] || !!y && yExtent[0] == yExtent[1]; - }; - return d3.rebind(brush, event, "on"); - }; - var d3_svg_brushCursor = { - n: "ns-resize", - e: "ew-resize", - s: "ns-resize", - w: "ew-resize", - nw: "nwse-resize", - ne: "nesw-resize", - se: "nwse-resize", - sw: "nesw-resize" - }; - var d3_svg_brushResizes = [ [ "n", "e", "s", "w", "nw", "ne", "se", "sw" ], [ "e", "w" ], [ "n", "s" ], [] ]; - var d3_time_format = d3_time.format = d3_locale_enUS.timeFormat; - var d3_time_formatUtc = d3_time_format.utc; - var d3_time_formatIso = d3_time_formatUtc("%Y-%m-%dT%H:%M:%S.%LZ"); - d3_time_format.iso = Date.prototype.toISOString && +new Date("2000-01-01T00:00:00.000Z") ? d3_time_formatIsoNative : d3_time_formatIso; - function d3_time_formatIsoNative(date) { - return date.toISOString(); - } - d3_time_formatIsoNative.parse = function(string) { - var date = new Date(string); - return isNaN(date) ? null : date; - }; - d3_time_formatIsoNative.toString = d3_time_formatIso.toString; - d3_time.second = d3_time_interval(function(date) { - return new d3_date(Math.floor(date / 1e3) * 1e3); - }, function(date, offset) { - date.setTime(date.getTime() + Math.floor(offset) * 1e3); - }, function(date) { - return date.getSeconds(); - }); - d3_time.seconds = d3_time.second.range; - d3_time.seconds.utc = d3_time.second.utc.range; - d3_time.minute = d3_time_interval(function(date) { - return new d3_date(Math.floor(date / 6e4) * 6e4); - }, function(date, offset) { - date.setTime(date.getTime() + Math.floor(offset) * 6e4); - }, function(date) { - return date.getMinutes(); - }); - d3_time.minutes = d3_time.minute.range; - d3_time.minutes.utc = d3_time.minute.utc.range; - d3_time.hour = d3_time_interval(function(date) { - var timezone = date.getTimezoneOffset() / 60; - return new d3_date((Math.floor(date / 36e5 - timezone) + timezone) * 36e5); - }, function(date, offset) { - date.setTime(date.getTime() + Math.floor(offset) * 36e5); - }, function(date) { - return date.getHours(); - }); - d3_time.hours = d3_time.hour.range; - d3_time.hours.utc = d3_time.hour.utc.range; - d3_time.month = d3_time_interval(function(date) { - date = d3_time.day(date); - date.setDate(1); - return date; - }, function(date, offset) { - date.setMonth(date.getMonth() + offset); - }, function(date) { - return date.getMonth(); - }); - d3_time.months = d3_time.month.range; - d3_time.months.utc = d3_time.month.utc.range; - function d3_time_scale(linear, methods, format) { - function scale(x) { - return linear(x); - } - scale.invert = function(x) { - return d3_time_scaleDate(linear.invert(x)); - }; - scale.domain = function(x) { - if (!arguments.length) return linear.domain().map(d3_time_scaleDate); - linear.domain(x); - return scale; - }; - function tickMethod(extent, count) { - var span = extent[1] - extent[0], target = span / count, i = d3.bisect(d3_time_scaleSteps, target); - return i == d3_time_scaleSteps.length ? [ methods.year, d3_scale_linearTickRange(extent.map(function(d) { - return d / 31536e6; - }), count)[2] ] : !i ? [ d3_time_scaleMilliseconds, d3_scale_linearTickRange(extent, count)[2] ] : methods[target / d3_time_scaleSteps[i - 1] < d3_time_scaleSteps[i] / target ? i - 1 : i]; - } - scale.nice = function(interval, skip) { - var domain = scale.domain(), extent = d3_scaleExtent(domain), method = interval == null ? tickMethod(extent, 10) : typeof interval === "number" && tickMethod(extent, interval); - if (method) interval = method[0], skip = method[1]; - function skipped(date) { - return !isNaN(date) && !interval.range(date, d3_time_scaleDate(+date + 1), skip).length; - } - return scale.domain(d3_scale_nice(domain, skip > 1 ? { - floor: function(date) { - while (skipped(date = interval.floor(date))) date = d3_time_scaleDate(date - 1); - return date; - }, - ceil: function(date) { - while (skipped(date = interval.ceil(date))) date = d3_time_scaleDate(+date + 1); - return date; - } - } : interval)); - }; - scale.ticks = function(interval, skip) { - var extent = d3_scaleExtent(scale.domain()), method = interval == null ? tickMethod(extent, 10) : typeof interval === "number" ? tickMethod(extent, interval) : !interval.range && [ { - range: interval - }, skip ]; - if (method) interval = method[0], skip = method[1]; - return interval.range(extent[0], d3_time_scaleDate(+extent[1] + 1), skip < 1 ? 1 : skip); - }; - scale.tickFormat = function() { - return format; - }; - scale.copy = function() { - return d3_time_scale(linear.copy(), methods, format); - }; - return d3_scale_linearRebind(scale, linear); - } - function d3_time_scaleDate(t) { - return new Date(t); - } - var d3_time_scaleSteps = [ 1e3, 5e3, 15e3, 3e4, 6e4, 3e5, 9e5, 18e5, 36e5, 108e5, 216e5, 432e5, 864e5, 1728e5, 6048e5, 2592e6, 7776e6, 31536e6 ]; - var d3_time_scaleLocalMethods = [ [ d3_time.second, 1 ], [ d3_time.second, 5 ], [ d3_time.second, 15 ], [ d3_time.second, 30 ], [ d3_time.minute, 1 ], [ d3_time.minute, 5 ], [ d3_time.minute, 15 ], [ d3_time.minute, 30 ], [ d3_time.hour, 1 ], [ d3_time.hour, 3 ], [ d3_time.hour, 6 ], [ d3_time.hour, 12 ], [ d3_time.day, 1 ], [ d3_time.day, 2 ], [ d3_time.week, 1 ], [ d3_time.month, 1 ], [ d3_time.month, 3 ], [ d3_time.year, 1 ] ]; - var d3_time_scaleLocalFormat = d3_time_format.multi([ [ ".%L", function(d) { - return d.getMilliseconds(); - } ], [ ":%S", function(d) { - return d.getSeconds(); - } ], [ "%I:%M", function(d) { - return d.getMinutes(); - } ], [ "%I %p", function(d) { - return d.getHours(); - } ], [ "%a %d", function(d) { - return d.getDay() && d.getDate() != 1; - } ], [ "%b %d", function(d) { - return d.getDate() != 1; - } ], [ "%B", function(d) { - return d.getMonth(); - } ], [ "%Y", d3_true ] ]); - var d3_time_scaleMilliseconds = { - range: function(start, stop, step) { - return d3.range(Math.ceil(start / step) * step, +stop, step).map(d3_time_scaleDate); - }, - floor: d3_identity, - ceil: d3_identity - }; - d3_time_scaleLocalMethods.year = d3_time.year; - d3_time.scale = function() { - return d3_time_scale(d3.scale.linear(), d3_time_scaleLocalMethods, d3_time_scaleLocalFormat); - }; - var d3_time_scaleUtcMethods = d3_time_scaleLocalMethods.map(function(m) { - return [ m[0].utc, m[1] ]; - }); - var d3_time_scaleUtcFormat = d3_time_formatUtc.multi([ [ ".%L", function(d) { - return d.getUTCMilliseconds(); - } ], [ ":%S", function(d) { - return d.getUTCSeconds(); - } ], [ "%I:%M", function(d) { - return d.getUTCMinutes(); - } ], [ "%I %p", function(d) { - return d.getUTCHours(); - } ], [ "%a %d", function(d) { - return d.getUTCDay() && d.getUTCDate() != 1; - } ], [ "%b %d", function(d) { - return d.getUTCDate() != 1; - } ], [ "%B", function(d) { - return d.getUTCMonth(); - } ], [ "%Y", d3_true ] ]); - d3_time_scaleUtcMethods.year = d3_time.year.utc; - d3_time.scale.utc = function() { - return d3_time_scale(d3.scale.linear(), d3_time_scaleUtcMethods, d3_time_scaleUtcFormat); - }; - d3.text = d3_xhrType(function(request) { - return request.responseText; - }); - d3.json = function(url, callback) { - return d3_xhr(url, "application/json", d3_json, callback); - }; - function d3_json(request) { - return JSON.parse(request.responseText); - } - d3.html = function(url, callback) { - return d3_xhr(url, "text/html", d3_html, callback); - }; - function d3_html(request) { - var range = d3_document.createRange(); - range.selectNode(d3_document.body); - return range.createContextualFragment(request.responseText); - } - d3.xml = d3_xhrType(function(request) { - return request.responseXML; - }); - if (typeof define === "function" && define.amd) define(d3); else if (typeof module === "object" && module.exports) module.exports = d3; - this.d3 = d3; -}(); \ No newline at end of file diff --git a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.analytics-view/public/js/devicetype-graph.js b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.analytics-view/public/js/devicetype-graph.js deleted file mode 100644 index 7764601293..0000000000 --- a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.analytics-view/public/js/devicetype-graph.js +++ /dev/null @@ -1,155 +0,0 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. 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. - */ - -var palette = new Rickshaw.Color.Palette({scheme: "classic9"}); - -function drawGraph_raspberrypi(from, to) { - var backendApiUrl = $("#chart").data("backend-api-url") + "?from=" + from + "&to=" + to; - - var successCallback = function (data) { - if (data) { - drawLineGraph(JSON.parse(data)); - } - }; - invokerUtil.get(backendApiUrl, successCallback, function (message) { - console.log(message); - }); -} - -function drawLineGraph(data) { - var chartWrapperElmId = "#div-chart"; - var graphWidth = $(chartWrapperElmId).width() - 50; - if (data.length == 0 || data.length == undefined) { - $("#chart").html("
No data available..."); - return; - } - $("#chart").empty(); - var graphConfig = { - element: document.getElementById("chart"), - width: graphWidth, - height: 400, - strokeWidth: 2, - renderer: 'line', - interpolation: "linear", - unstack: true, - stack: false, - xScale: d3.time.scale(), - padding: {top: 0.2, left: 0.02, right: 0.02, bottom: 0.2}, - series: [] - }; - - var tzOffset = new Date().getTimezoneOffset() * 60; - - var min = Number.MAX_VALUE; - var max = Number.MIN_VALUE; - var range_min = 99999, range_max = 0; - var max_val = parseInt(data[0].values.temperature); - var min_val = max_val; - var chartData = []; - for (var i = 0; i < data.length; i++) { - var y_val = parseInt(data[i].values.temperature); - if (y_val > max_val) { - max_val = y_val; - } else if (y_val < min_val) { - min_val = y_val; - } - chartData.push( - { - x: parseInt(data[i].values.time) - tzOffset, - y: y_val - } - ); - } - if (range_max < max_val) { - range_max = max_val; - } - if (range_min > min_val) { - range_min = min_val; - } - graphConfig['series'].push( - { - 'color': palette.color(), - 'data': chartData, - 'name': $("#details").data("devicename"), - 'scale': d3.scale.linear().domain([Math.min(min, min_val), Math.max(max, max_val)]) - .nice() - } - ); - - if (graphConfig['series'].length == 0) { - $(chartWrapperElmId).html("No data available..."); - return; - } - - var graph = new Rickshaw.Graph(graphConfig); - - graph.render(); - - var xAxis = new Rickshaw.Graph.Axis.Time({ - graph: graph - }); - - xAxis.render(); - - var yAxis = new Rickshaw.Graph.Axis.Y.Scaled({ - graph: graph, - orientation: 'left', - element: document.getElementById("y_axis"), - width: 40, - height: 410, - 'scale': d3.scale.linear().domain([Math.min(min, range_min), Math.max(max, range_max)]).nice() - }); - - yAxis.render(); - - var slider = new Rickshaw.Graph.RangeSlider.Preview({ - graph: graph, - element: document.getElementById("slider") - }); - - var legend = new Rickshaw.Graph.Legend({ - graph: graph, - element: document.getElementById('legend') - }); - - var hoverDetail = new Rickshaw.Graph.HoverDetail({ - graph: graph, - formatter: function (series, x, y) { - var date = '' + - moment((x + tzOffset) * 1000).format('Do MMM YYYY h:mm:ss a') + ''; - var swatch = ''; - return swatch + series.name + ": " + parseInt(y) + '
' + date; - } - }); - - var shelving = new Rickshaw.Graph.Behavior.Series.Toggle({ - graph: graph, - legend: legend - }); - - var order = new Rickshaw.Graph.Behavior.Series.Order({ - graph: graph, - legend: legend - }); - - var highlighter = new Rickshaw.Graph.Behavior.Series.Highlight({ - graph: graph, - legend: legend - }); -} diff --git a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.analytics-view/public/js/moment.min.js b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.analytics-view/public/js/moment.min.js deleted file mode 100644 index 78e5aaadc7..0000000000 --- a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.analytics-view/public/js/moment.min.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. 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. - */ - -//! moment.js -//! version : 2.10.2 -//! authors : Tim Wood, Iskren Chernev, Moment.js contributors -//! license : MIT -//! momentjs.com -!function(a,b){"object"==typeof exports&&"undefined"!=typeof module?module.exports=b():"function"==typeof define&&define.amd?define(b):a.moment=b()}(this,function(){"use strict";function a(){return Ac.apply(null,arguments)}function b(a){Ac=a}function c(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1}}function d(a){return"[object Array]"===Object.prototype.toString.call(a)}function e(a){return"[object Date]"===Object.prototype.toString.call(a)||a instanceof Date}function f(a,b){var c,d=[];for(c=0;c0)for(c in Cc)d=Cc[c],e=b[d],"undefined"!=typeof e&&(a[d]=e);return a}function m(b){l(this,b),this._d=new Date(+b._d),Dc===!1&&(Dc=!0,a.updateOffset(this),Dc=!1)}function n(a){return a instanceof m||null!=a&&g(a,"_isAMomentObject")}function o(a){var b=+a,c=0;return 0!==b&&isFinite(b)&&(c=b>=0?Math.floor(b):Math.ceil(b)),c}function p(a,b,c){var d,e=Math.min(a.length,b.length),f=Math.abs(a.length-b.length),g=0;for(d=0;e>d;d++)(c&&a[d]!==b[d]||!c&&o(a[d])!==o(b[d]))&&g++;return g+f}function q(){}function r(a){return a?a.toLowerCase().replace("_","-"):a}function s(a){for(var b,c,d,e,f=0;f0;){if(d=t(e.slice(0,b).join("-")))return d;if(c&&c.length>=b&&p(e,c,!0)>=b-1)break;b--}f++}return null}function t(a){var b=null;if(!Ec[a]&&"undefined"!=typeof module&&module&&module.exports)try{b=Bc._abbr,require("./locale/"+a),u(b)}catch(c){}return Ec[a]}function u(a,b){var c;return a&&(c="undefined"==typeof b?w(a):v(a,b),c&&(Bc=c)),Bc._abbr}function v(a,b){return null!==b?(b.abbr=a,Ec[a]||(Ec[a]=new q),Ec[a].set(b),u(a),Ec[a]):(delete Ec[a],null)}function w(a){var b;if(a&&a._locale&&a._locale._abbr&&(a=a._locale._abbr),!a)return Bc;if(!d(a)){if(b=t(a))return b;a=[a]}return s(a)}function x(a,b){var c=a.toLowerCase();Fc[c]=Fc[c+"s"]=Fc[b]=a}function y(a){return"string"==typeof a?Fc[a]||Fc[a.toLowerCase()]:void 0}function z(a){var b,c,d={};for(c in a)g(a,c)&&(b=y(c),b&&(d[b]=a[c]));return d}function A(b,c){return function(d){return null!=d?(C(this,b,d),a.updateOffset(this,c),this):B(this,b)}}function B(a,b){return a._d["get"+(a._isUTC?"UTC":"")+b]()}function C(a,b,c){return a._d["set"+(a._isUTC?"UTC":"")+b](c)}function D(a,b){var c;if("object"==typeof a)for(c in a)this.set(c,a[c]);else if(a=y(a),"function"==typeof this[a])return this[a](b);return this}function E(a,b,c){for(var d=""+Math.abs(a),e=a>=0;d.lengthb;b++)d[b]=Jc[d[b]]?Jc[d[b]]:G(d[b]);return function(e){var f="";for(b=0;c>b;b++)f+=d[b]instanceof Function?d[b].call(e,a):d[b];return f}}function I(a,b){return a.isValid()?(b=J(b,a.localeData()),Ic[b]||(Ic[b]=H(b)),Ic[b](a)):a.localeData().invalidDate()}function J(a,b){function c(a){return b.longDateFormat(a)||a}var d=5;for(Hc.lastIndex=0;d>=0&&Hc.test(a);)a=a.replace(Hc,c),Hc.lastIndex=0,d-=1;return a}function K(a,b,c){Yc[a]="function"==typeof b?b:function(a){return a&&c?c:b}}function L(a,b){return g(Yc,a)?Yc[a](b._strict,b._locale):new RegExp(M(a))}function M(a){return a.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(a,b,c,d,e){return b||c||d||e}).replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function N(a,b){var c,d=b;for("string"==typeof a&&(a=[a]),"number"==typeof b&&(d=function(a,c){c[b]=o(a)}),c=0;cd;d++){if(e=i([2e3,d]),c&&!this._longMonthsParse[d]&&(this._longMonthsParse[d]=new RegExp("^"+this.months(e,"").replace(".","")+"$","i"),this._shortMonthsParse[d]=new RegExp("^"+this.monthsShort(e,"").replace(".","")+"$","i")),c||this._monthsParse[d]||(f="^"+this.months(e,"")+"|^"+this.monthsShort(e,""),this._monthsParse[d]=new RegExp(f.replace(".",""),"i")),c&&"MMMM"===b&&this._longMonthsParse[d].test(a))return d;if(c&&"MMM"===b&&this._shortMonthsParse[d].test(a))return d;if(!c&&this._monthsParse[d].test(a))return d}}function U(a,b){var c;return"string"==typeof b&&(b=a.localeData().monthsParse(b),"number"!=typeof b)?a:(c=Math.min(a.date(),Q(a.year(),b)),a._d["set"+(a._isUTC?"UTC":"")+"Month"](b,c),a)}function V(b){return null!=b?(U(this,b),a.updateOffset(this,!0),this):B(this,"Month")}function W(){return Q(this.year(),this.month())}function X(a){var b,c=a._a;return c&&-2===a._pf.overflow&&(b=c[_c]<0||c[_c]>11?_c:c[ad]<1||c[ad]>Q(c[$c],c[_c])?ad:c[bd]<0||c[bd]>24||24===c[bd]&&(0!==c[cd]||0!==c[dd]||0!==c[ed])?bd:c[cd]<0||c[cd]>59?cd:c[dd]<0||c[dd]>59?dd:c[ed]<0||c[ed]>999?ed:-1,a._pf._overflowDayOfYear&&($c>b||b>ad)&&(b=ad),a._pf.overflow=b),a}function Y(b){a.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+b)}function Z(a,b){var c=!0;return h(function(){return c&&(Y(a),c=!1),b.apply(this,arguments)},b)}function $(a,b){hd[a]||(Y(b),hd[a]=!0)}function _(a){var b,c,d=a._i,e=id.exec(d);if(e){for(a._pf.iso=!0,b=0,c=jd.length;c>b;b++)if(jd[b][1].exec(d)){a._f=jd[b][0]+(e[6]||" ");break}for(b=0,c=kd.length;c>b;b++)if(kd[b][1].exec(d)){a._f+=kd[b][0];break}d.match(Vc)&&(a._f+="Z"),sa(a)}else a._isValid=!1}function aa(b){var c=ld.exec(b._i);return null!==c?void(b._d=new Date(+c[1])):(_(b),void(b._isValid===!1&&(delete b._isValid,a.createFromInputFallback(b))))}function ba(a,b,c,d,e,f,g){var h=new Date(a,b,c,d,e,f,g);return 1970>a&&h.setFullYear(a),h}function ca(a){var b=new Date(Date.UTC.apply(null,arguments));return 1970>a&&b.setUTCFullYear(a),b}function da(a){return ea(a)?366:365}function ea(a){return a%4===0&&a%100!==0||a%400===0}function fa(){return ea(this.year())}function ga(a,b,c){var d,e=c-b,f=c-a.day();return f>e&&(f-=7),e-7>f&&(f+=7),d=za(a).add(f,"d"),{week:Math.ceil(d.dayOfYear()/7),year:d.year()}}function ha(a){return ga(a,this._week.dow,this._week.doy).week}function ia(){return this._week.dow}function ja(){return this._week.doy}function ka(a){var b=this.localeData().week(this);return null==a?b:this.add(7*(a-b),"d")}function la(a){var b=ga(this,1,4).week;return null==a?b:this.add(7*(a-b),"d")}function ma(a,b,c,d,e){var f,g,h=ca(a,0,1).getUTCDay();return h=0===h?7:h,c=null!=c?c:e,f=e-h+(h>d?7:0)-(e>h?7:0),g=7*(b-1)+(c-e)+f+1,{year:g>0?a:a-1,dayOfYear:g>0?g:da(a-1)+g}}function na(a){var b=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==a?b:this.add(a-b,"d")}function oa(a,b,c){return null!=a?a:null!=b?b:c}function pa(a){var b=new Date;return a._useUTC?[b.getUTCFullYear(),b.getUTCMonth(),b.getUTCDate()]:[b.getFullYear(),b.getMonth(),b.getDate()]}function qa(a){var b,c,d,e,f=[];if(!a._d){for(d=pa(a),a._w&&null==a._a[ad]&&null==a._a[_c]&&ra(a),a._dayOfYear&&(e=oa(a._a[$c],d[$c]),a._dayOfYear>da(e)&&(a._pf._overflowDayOfYear=!0),c=ca(e,0,a._dayOfYear),a._a[_c]=c.getUTCMonth(),a._a[ad]=c.getUTCDate()),b=0;3>b&&null==a._a[b];++b)a._a[b]=f[b]=d[b];for(;7>b;b++)a._a[b]=f[b]=null==a._a[b]?2===b?1:0:a._a[b];24===a._a[bd]&&0===a._a[cd]&&0===a._a[dd]&&0===a._a[ed]&&(a._nextDay=!0,a._a[bd]=0),a._d=(a._useUTC?ca:ba).apply(null,f),null!=a._tzm&&a._d.setUTCMinutes(a._d.getUTCMinutes()-a._tzm),a._nextDay&&(a._a[bd]=24)}}function ra(a){var b,c,d,e,f,g,h;b=a._w,null!=b.GG||null!=b.W||null!=b.E?(f=1,g=4,c=oa(b.GG,a._a[$c],ga(za(),1,4).year),d=oa(b.W,1),e=oa(b.E,1)):(f=a._locale._week.dow,g=a._locale._week.doy,c=oa(b.gg,a._a[$c],ga(za(),f,g).year),d=oa(b.w,1),null!=b.d?(e=b.d,f>e&&++d):e=null!=b.e?b.e+f:f),h=ma(c,d,e,g,f),a._a[$c]=h.year,a._dayOfYear=h.dayOfYear}function sa(b){if(b._f===a.ISO_8601)return void _(b);b._a=[],b._pf.empty=!0;var c,d,e,f,g,h=""+b._i,i=h.length,j=0;for(e=J(b._f,b._locale).match(Gc)||[],c=0;c0&&b._pf.unusedInput.push(g),h=h.slice(h.indexOf(d)+d.length),j+=d.length),Jc[f]?(d?b._pf.empty=!1:b._pf.unusedTokens.push(f),P(f,d,b)):b._strict&&!d&&b._pf.unusedTokens.push(f);b._pf.charsLeftOver=i-j,h.length>0&&b._pf.unusedInput.push(h),b._pf.bigHour===!0&&b._a[bd]<=12&&(b._pf.bigHour=void 0),b._a[bd]=ta(b._locale,b._a[bd],b._meridiem),qa(b),X(b)}function ta(a,b,c){var d;return null==c?b:null!=a.meridiemHour?a.meridiemHour(b,c):null!=a.isPM?(d=a.isPM(c),d&&12>b&&(b+=12),d||12!==b||(b=0),b):b}function ua(a){var b,d,e,f,g;if(0===a._f.length)return a._pf.invalidFormat=!0,void(a._d=new Date(0/0));for(f=0;fg)&&(e=g,d=b));h(a,d||b)}function va(a){if(!a._d){var b=z(a._i);a._a=[b.year,b.month,b.day||b.date,b.hour,b.minute,b.second,b.millisecond],qa(a)}}function wa(a){var b,c=a._i,e=a._f;return a._locale=a._locale||w(a._l),null===c||void 0===e&&""===c?k({nullInput:!0}):("string"==typeof c&&(a._i=c=a._locale.preparse(c)),n(c)?new m(X(c)):(d(e)?ua(a):e?sa(a):xa(a),b=new m(X(a)),b._nextDay&&(b.add(1,"d"),b._nextDay=void 0),b))}function xa(b){var c=b._i;void 0===c?b._d=new Date:e(c)?b._d=new Date(+c):"string"==typeof c?aa(b):d(c)?(b._a=f(c.slice(0),function(a){return parseInt(a,10)}),qa(b)):"object"==typeof c?va(b):"number"==typeof c?b._d=new Date(c):a.createFromInputFallback(b)}function ya(a,b,d,e,f){var g={};return"boolean"==typeof d&&(e=d,d=void 0),g._isAMomentObject=!0,g._useUTC=g._isUTC=f,g._l=d,g._i=a,g._f=b,g._strict=e,g._pf=c(),wa(g)}function za(a,b,c,d){return ya(a,b,c,d,!1)}function Aa(a,b){var c,e;if(1===b.length&&d(b[0])&&(b=b[0]),!b.length)return za();for(c=b[0],e=1;ea&&(a=-a,c="-"),c+E(~~(a/60),2)+b+E(~~a%60,2)})}function Ga(a){var b=(a||"").match(Vc)||[],c=b[b.length-1]||[],d=(c+"").match(qd)||["-",0,0],e=+(60*d[1])+o(d[2]);return"+"===d[0]?e:-e}function Ha(b,c){var d,f;return c._isUTC?(d=c.clone(),f=(n(b)||e(b)?+b:+za(b))-+d,d._d.setTime(+d._d+f),a.updateOffset(d,!1),d):za(b).local();return c._isUTC?za(b).zone(c._offset||0):za(b).local()}function Ia(a){return 15*-Math.round(a._d.getTimezoneOffset()/15)}function Ja(b,c){var d,e=this._offset||0;return null!=b?("string"==typeof b&&(b=Ga(b)),Math.abs(b)<16&&(b=60*b),!this._isUTC&&c&&(d=Ia(this)),this._offset=b,this._isUTC=!0,null!=d&&this.add(d,"m"),e!==b&&(!c||this._changeInProgress?Za(this,Ua(b-e,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,a.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?e:Ia(this)}function Ka(a,b){return null!=a?("string"!=typeof a&&(a=-a),this.utcOffset(a,b),this):-this.utcOffset()}function La(a){return this.utcOffset(0,a)}function Ma(a){return this._isUTC&&(this.utcOffset(0,a),this._isUTC=!1,a&&this.subtract(Ia(this),"m")),this}function Na(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(Ga(this._i)),this}function Oa(a){return a=a?za(a).utcOffset():0,(this.utcOffset()-a)%60===0}function Pa(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Qa(){if(this._a){var a=this._isUTC?i(this._a):za(this._a);return this.isValid()&&p(this._a,a.toArray())>0}return!1}function Ra(){return!this._isUTC}function Sa(){return this._isUTC}function Ta(){return this._isUTC&&0===this._offset}function Ua(a,b){var c,d,e,f=a,h=null;return Ea(a)?f={ms:a._milliseconds,d:a._days,M:a._months}:"number"==typeof a?(f={},b?f[b]=a:f.milliseconds=a):(h=rd.exec(a))?(c="-"===h[1]?-1:1,f={y:0,d:o(h[ad])*c,h:o(h[bd])*c,m:o(h[cd])*c,s:o(h[dd])*c,ms:o(h[ed])*c}):(h=sd.exec(a))?(c="-"===h[1]?-1:1,f={y:Va(h[2],c),M:Va(h[3],c),d:Va(h[4],c),h:Va(h[5],c),m:Va(h[6],c),s:Va(h[7],c),w:Va(h[8],c)}):null==f?f={}:"object"==typeof f&&("from"in f||"to"in f)&&(e=Xa(za(f.from),za(f.to)),f={},f.ms=e.milliseconds,f.M=e.months),d=new Da(f),Ea(a)&&g(a,"_locale")&&(d._locale=a._locale),d}function Va(a,b){var c=a&&parseFloat(a.replace(",","."));return(isNaN(c)?0:c)*b}function Wa(a,b){var c={milliseconds:0,months:0};return c.months=b.month()-a.month()+12*(b.year()-a.year()),a.clone().add(c.months,"M").isAfter(b)&&--c.months,c.milliseconds=+b-+a.clone().add(c.months,"M"),c}function Xa(a,b){var c;return b=Ha(b,a),a.isBefore(b)?c=Wa(a,b):(c=Wa(b,a),c.milliseconds=-c.milliseconds,c.months=-c.months),c}function Ya(a,b){return function(c,d){var e,f;return null===d||isNaN(+d)||($(b,"moment()."+b+"(period, number) is deprecated. Please use moment()."+b+"(number, period)."),f=c,c=d,d=f),c="string"==typeof c?+c:c,e=Ua(c,d),Za(this,e,a),this}}function Za(b,c,d,e){var f=c._milliseconds,g=c._days,h=c._months;e=null==e?!0:e,f&&b._d.setTime(+b._d+f*d),g&&C(b,"Date",B(b,"Date")+g*d),h&&U(b,B(b,"Month")+h*d),e&&a.updateOffset(b,g||h)}function $a(a){var b=a||za(),c=Ha(b,this).startOf("day"),d=this.diff(c,"days",!0),e=-6>d?"sameElse":-1>d?"lastWeek":0>d?"lastDay":1>d?"sameDay":2>d?"nextDay":7>d?"nextWeek":"sameElse";return this.format(this.localeData().calendar(e,this,za(b)))}function _a(){return new m(this)}function ab(a,b){var c;return b=y("undefined"!=typeof b?b:"millisecond"),"millisecond"===b?(a=n(a)?a:za(a),+this>+a):(c=n(a)?+a:+za(a),c<+this.clone().startOf(b))}function bb(a,b){var c;return b=y("undefined"!=typeof b?b:"millisecond"),"millisecond"===b?(a=n(a)?a:za(a),+a>+this):(c=n(a)?+a:+za(a),+this.clone().endOf(b)a?Math.ceil(a):Math.floor(a)}function fb(a,b,c){var d,e,f=Ha(a,this),g=6e4*(f.utcOffset()-this.utcOffset());return b=y(b),"year"===b||"month"===b||"quarter"===b?(e=gb(this,f),"quarter"===b?e/=3:"year"===b&&(e/=12)):(d=this-f,e="second"===b?d/1e3:"minute"===b?d/6e4:"hour"===b?d/36e5:"day"===b?(d-g)/864e5:"week"===b?(d-g)/6048e5:d),c?e:eb(e)}function gb(a,b){var c,d,e=12*(b.year()-a.year())+(b.month()-a.month()),f=a.clone().add(e,"months");return 0>b-f?(c=a.clone().add(e-1,"months"),d=(b-f)/(f-c)):(c=a.clone().add(e+1,"months"),d=(b-f)/(c-f)),-(e+d)}function hb(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function ib(){var a=this.clone().utc();return 0b;b++)if(this._weekdaysParse[b]||(c=za([2e3,1]).day(b),d="^"+this.weekdays(c,"")+"|^"+this.weekdaysShort(c,"")+"|^"+this.weekdaysMin(c,""),this._weekdaysParse[b]=new RegExp(d.replace(".",""),"i")),this._weekdaysParse[b].test(a))return b}function Jb(a){var b=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=a?(a=Eb(a,this.localeData()),this.add(a-b,"d")):b}function Kb(a){var b=(this.day()+7-this.localeData()._week.dow)%7;return null==a?b:this.add(a-b,"d")}function Lb(a){return null==a?this.day()||7:this.day(this.day()%7?a:a-7)}function Mb(a,b){F(a,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),b)})}function Nb(a,b){return b._meridiemParse}function Ob(a){return"p"===(a+"").toLowerCase().charAt(0)}function Pb(a,b,c){return a>11?c?"pm":"PM":c?"am":"AM"}function Qb(a){F(0,[a,3],0,"millisecond")}function Rb(){return this._isUTC?"UTC":""}function Sb(){return this._isUTC?"Coordinated Universal Time":""}function Tb(a){return za(1e3*a)}function Ub(){return za.apply(null,arguments).parseZone()}function Vb(a,b,c){var d=this._calendar[a];return"function"==typeof d?d.call(b,c):d}function Wb(a){var b=this._longDateFormat[a];return!b&&this._longDateFormat[a.toUpperCase()]&&(b=this._longDateFormat[a.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(a){return a.slice(1)}),this._longDateFormat[a]=b),b}function Xb(){return this._invalidDate}function Yb(a){return this._ordinal.replace("%d",a)}function Zb(a){return a}function $b(a,b,c,d){var e=this._relativeTime[c];return"function"==typeof e?e(a,b,c,d):e.replace(/%d/i,a)}function _b(a,b){var c=this._relativeTime[a>0?"future":"past"];return"function"==typeof c?c(b):c.replace(/%s/i,b)}function ac(a){var b,c;for(c in a)b=a[c],"function"==typeof b?this[c]=b:this["_"+c]=b;this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function bc(a,b,c,d){var e=w(),f=i().set(d,b);return e[c](f,a)}function cc(a,b,c,d,e){if("number"==typeof a&&(b=a,a=void 0),a=a||"",null!=b)return bc(a,b,c,e);var f,g=[];for(f=0;d>f;f++)g[f]=bc(a,f,c,e);return g}function dc(a,b){return cc(a,b,"months",12,"month")}function ec(a,b){return cc(a,b,"monthsShort",12,"month")}function fc(a,b){return cc(a,b,"weekdays",7,"day")}function gc(a,b){return cc(a,b,"weekdaysShort",7,"day")}function hc(a,b){return cc(a,b,"weekdaysMin",7,"day")}function ic(){var a=this._data;return this._milliseconds=Od(this._milliseconds),this._days=Od(this._days),this._months=Od(this._months),a.milliseconds=Od(a.milliseconds),a.seconds=Od(a.seconds),a.minutes=Od(a.minutes),a.hours=Od(a.hours),a.months=Od(a.months),a.years=Od(a.years),this}function jc(a,b,c,d){var e=Ua(b,c);return a._milliseconds+=d*e._milliseconds,a._days+=d*e._days,a._months+=d*e._months,a._bubble()}function kc(a,b){return jc(this,a,b,1)}function lc(a,b){return jc(this,a,b,-1)}function mc(){var a,b,c,d=this._milliseconds,e=this._days,f=this._months,g=this._data,h=0;return g.milliseconds=d%1e3,a=eb(d/1e3),g.seconds=a%60,b=eb(a/60),g.minutes=b%60,c=eb(b/60),g.hours=c%24,e+=eb(c/24),h=eb(nc(e)),e-=eb(oc(h)),f+=eb(e/30),e%=30,h+=eb(f/12),f%=12,g.days=e,g.months=f,g.years=h,this}function nc(a){return 400*a/146097}function oc(a){return 146097*a/400}function pc(a){var b,c,d=this._milliseconds;if(a=y(a),"month"===a||"year"===a)return b=this._days+d/864e5,c=this._months+12*nc(b),"month"===a?c:c/12;switch(b=this._days+Math.round(oc(this._months/12)),a){case"week":return b/7+d/6048e5;case"day":return b+d/864e5;case"hour":return 24*b+d/36e5;case"minute":return 24*b*60+d/6e4;case"second":return 24*b*60*60+d/1e3;case"millisecond":return Math.floor(24*b*60*60*1e3)+d;default:throw new Error("Unknown unit "+a)}}function qc(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*o(this._months/12)}function rc(a){return function(){return this.as(a)}}function sc(a){return a=y(a),this[a+"s"]()}function tc(a){return function(){return this._data[a]}}function uc(){return eb(this.days()/7)}function vc(a,b,c,d,e){return e.relativeTime(b||1,!!c,a,d)}function wc(a,b,c){var d=Ua(a).abs(),e=ce(d.as("s")),f=ce(d.as("m")),g=ce(d.as("h")),h=ce(d.as("d")),i=ce(d.as("M")),j=ce(d.as("y")),k=e0,k[4]=c,vc.apply(null,k)}function xc(a,b){return void 0===de[a]?!1:void 0===b?de[a]:(de[a]=b,!0)}function yc(a){var b=this.localeData(),c=wc(this,!a,b);return a&&(c=b.pastFuture(+this,c)),b.postformat(c)}function zc(){var a=ee(this.years()),b=ee(this.months()),c=ee(this.days()),d=ee(this.hours()),e=ee(this.minutes()),f=ee(this.seconds()+this.milliseconds()/1e3),g=this.asSeconds();return g?(0>g?"-":"")+"P"+(a?a+"Y":"")+(b?b+"M":"")+(c?c+"D":"")+(d||e||f?"T":"")+(d?d+"H":"")+(e?e+"M":"")+(f?f+"S":""):"P0D"}var Ac,Bc,Cc=a.momentProperties=[],Dc=!1,Ec={},Fc={},Gc=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|x|X|zz?|ZZ?|.)/g,Hc=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Ic={},Jc={},Kc=/\d/,Lc=/\d\d/,Mc=/\d{3}/,Nc=/\d{4}/,Oc=/[+-]?\d{6}/,Pc=/\d\d?/,Qc=/\d{1,3}/,Rc=/\d{1,4}/,Sc=/[+-]?\d{1,6}/,Tc=/\d+/,Uc=/[+-]?\d+/,Vc=/Z|[+-]\d\d:?\d\d/gi,Wc=/[+-]?\d+(\.\d{1,3})?/,Xc=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,Yc={},Zc={},$c=0,_c=1,ad=2,bd=3,cd=4,dd=5,ed=6;F("M",["MM",2],"Mo",function(){return this.month()+1}),F("MMM",0,0,function(a){return this.localeData().monthsShort(this,a)}),F("MMMM",0,0,function(a){return this.localeData().months(this,a)}),x("month","M"),K("M",Pc),K("MM",Pc,Lc),K("MMM",Xc),K("MMMM",Xc),N(["M","MM"],function(a,b){b[_c]=o(a)-1}),N(["MMM","MMMM"],function(a,b,c,d){var e=c._locale.monthsParse(a,d,c._strict);null!=e?b[_c]=e:c._pf.invalidMonth=a});var fd="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),gd="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),hd={};a.suppressDeprecationWarnings=!1;var id=/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,jd=[["YYYYYY-MM-DD",/[+-]\d{6}-\d{2}-\d{2}/],["YYYY-MM-DD",/\d{4}-\d{2}-\d{2}/],["GGGG-[W]WW-E",/\d{4}-W\d{2}-\d/],["GGGG-[W]WW",/\d{4}-W\d{2}/],["YYYY-DDD",/\d{4}-\d{3}/]],kd=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],ld=/^\/?Date\((\-?\d+)/i;a.createFromInputFallback=Z("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(a){a._d=new Date(a._i+(a._useUTC?" UTC":""))}),F(0,["YY",2],0,function(){return this.year()%100}),F(0,["YYYY",4],0,"year"),F(0,["YYYYY",5],0,"year"),F(0,["YYYYYY",6,!0],0,"year"),x("year","y"),K("Y",Uc),K("YY",Pc,Lc),K("YYYY",Rc,Nc),K("YYYYY",Sc,Oc),K("YYYYYY",Sc,Oc),N(["YYYY","YYYYY","YYYYYY"],$c),N("YY",function(b,c){c[$c]=a.parseTwoDigitYear(b)}),a.parseTwoDigitYear=function(a){return o(a)+(o(a)>68?1900:2e3)};var md=A("FullYear",!1);F("w",["ww",2],"wo","week"),F("W",["WW",2],"Wo","isoWeek"),x("week","w"),x("isoWeek","W"),K("w",Pc),K("ww",Pc,Lc),K("W",Pc),K("WW",Pc,Lc),O(["w","ww","W","WW"],function(a,b,c,d){b[d.substr(0,1)]=o(a)});var nd={dow:0,doy:6};F("DDD",["DDDD",3],"DDDo","dayOfYear"),x("dayOfYear","DDD"),K("DDD",Qc),K("DDDD",Mc),N(["DDD","DDDD"],function(a,b,c){c._dayOfYear=o(a)}),a.ISO_8601=function(){};var od=Z("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(){var a=za.apply(null,arguments);return this>a?this:a}),pd=Z("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(){var a=za.apply(null,arguments);return a>this?this:a});Fa("Z",":"),Fa("ZZ",""),K("Z",Vc),K("ZZ",Vc),N(["Z","ZZ"],function(a,b,c){c._useUTC=!0,c._tzm=Ga(a)});var qd=/([\+\-]|\d\d)/gi;a.updateOffset=function(){};var rd=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,sd=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/;Ua.fn=Da.prototype;var td=Ya(1,"add"),ud=Ya(-1,"subtract");a.defaultFormat="YYYY-MM-DDTHH:mm:ssZ";var vd=Z("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(a){return void 0===a?this.localeData():this.locale(a)});F(0,["gg",2],0,function(){return this.weekYear()%100}),F(0,["GG",2],0,function(){return this.isoWeekYear()%100}),xb("gggg","weekYear"),xb("ggggg","weekYear"),xb("GGGG","isoWeekYear"),xb("GGGGG","isoWeekYear"),x("weekYear","gg"),x("isoWeekYear","GG"),K("G",Uc),K("g",Uc),K("GG",Pc,Lc),K("gg",Pc,Lc),K("GGGG",Rc,Nc),K("gggg",Rc,Nc),K("GGGGG",Sc,Oc),K("ggggg",Sc,Oc),O(["gggg","ggggg","GGGG","GGGGG"],function(a,b,c,d){b[d.substr(0,2)]=o(a)}),O(["gg","GG"],function(b,c,d,e){c[e]=a.parseTwoDigitYear(b)}),F("Q",0,0,"quarter"),x("quarter","Q"),K("Q",Kc),N("Q",function(a,b){b[_c]=3*(o(a)-1)}),F("D",["DD",2],"Do","date"),x("date","D"),K("D",Pc),K("DD",Pc,Lc),K("Do",function(a,b){return a?b._ordinalParse:b._ordinalParseLenient}),N(["D","DD"],ad),N("Do",function(a,b){b[ad]=o(a.match(Pc)[0],10)});var wd=A("Date",!0);F("d",0,"do","day"),F("dd",0,0,function(a){return this.localeData().weekdaysMin(this,a)}),F("ddd",0,0,function(a){return this.localeData().weekdaysShort(this,a)}),F("dddd",0,0,function(a){return this.localeData().weekdays(this,a)}),F("e",0,0,"weekday"),F("E",0,0,"isoWeekday"),x("day","d"),x("weekday","e"),x("isoWeekday","E"),K("d",Pc),K("e",Pc),K("E",Pc),K("dd",Xc),K("ddd",Xc),K("dddd",Xc),O(["dd","ddd","dddd"],function(a,b,c){var d=c._locale.weekdaysParse(a);null!=d?b.d=d:c._pf.invalidWeekday=a}),O(["d","e","E"],function(a,b,c,d){b[d]=o(a)});var xd="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),yd="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),zd="Su_Mo_Tu_We_Th_Fr_Sa".split("_");F("H",["HH",2],0,"hour"),F("h",["hh",2],0,function(){return this.hours()%12||12}),Mb("a",!0),Mb("A",!1),x("hour","h"),K("a",Nb),K("A",Nb),K("H",Pc),K("h",Pc),K("HH",Pc,Lc),K("hh",Pc,Lc),N(["H","HH"],bd),N(["a","A"],function(a,b,c){c._isPm=c._locale.isPM(a),c._meridiem=a}),N(["h","hh"],function(a,b,c){b[bd]=o(a),c._pf.bigHour=!0});var Ad=/[ap]\.?m?\.?/i,Bd=A("Hours",!0);F("m",["mm",2],0,"minute"),x("minute","m"),K("m",Pc),K("mm",Pc,Lc),N(["m","mm"],cd);var Cd=A("Minutes",!1);F("s",["ss",2],0,"second"),x("second","s"),K("s",Pc),K("ss",Pc,Lc),N(["s","ss"],dd);var Dd=A("Seconds",!1);F("S",0,0,function(){return~~(this.millisecond()/100)}),F(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),Qb("SSS"),Qb("SSSS"),x("millisecond","ms"),K("S",Qc,Kc),K("SS",Qc,Lc),K("SSS",Qc,Mc),K("SSSS",Tc),N(["S","SS","SSS","SSSS"],function(a,b){b[ed]=o(1e3*("0."+a))});var Ed=A("Milliseconds",!1);F("z",0,0,"zoneAbbr"),F("zz",0,0,"zoneName");var Fd=m.prototype;Fd.add=td,Fd.calendar=$a,Fd.clone=_a,Fd.diff=fb,Fd.endOf=pb,Fd.format=jb,Fd.from=kb,Fd.fromNow=lb,Fd.get=D,Fd.invalidAt=wb,Fd.isAfter=ab,Fd.isBefore=bb,Fd.isBetween=cb,Fd.isSame=db,Fd.isValid=ub,Fd.lang=vd,Fd.locale=mb,Fd.localeData=nb,Fd.max=pd,Fd.min=od,Fd.parsingFlags=vb,Fd.set=D,Fd.startOf=ob,Fd.subtract=ud,Fd.toArray=tb,Fd.toDate=sb,Fd.toISOString=ib,Fd.toJSON=ib,Fd.toString=hb,Fd.unix=rb,Fd.valueOf=qb,Fd.year=md,Fd.isLeapYear=fa,Fd.weekYear=zb,Fd.isoWeekYear=Ab,Fd.quarter=Fd.quarters=Db,Fd.month=V,Fd.daysInMonth=W,Fd.week=Fd.weeks=ka,Fd.isoWeek=Fd.isoWeeks=la,Fd.weeksInYear=Cb,Fd.isoWeeksInYear=Bb,Fd.date=wd,Fd.day=Fd.days=Jb,Fd.weekday=Kb,Fd.isoWeekday=Lb,Fd.dayOfYear=na,Fd.hour=Fd.hours=Bd,Fd.minute=Fd.minutes=Cd,Fd.second=Fd.seconds=Dd,Fd.millisecond=Fd.milliseconds=Ed,Fd.utcOffset=Ja,Fd.utc=La,Fd.local=Ma,Fd.parseZone=Na,Fd.hasAlignedHourOffset=Oa,Fd.isDST=Pa,Fd.isDSTShifted=Qa,Fd.isLocal=Ra,Fd.isUtcOffset=Sa,Fd.isUtc=Ta,Fd.isUTC=Ta,Fd.zoneAbbr=Rb,Fd.zoneName=Sb,Fd.dates=Z("dates accessor is deprecated. Use date instead.",wd),Fd.months=Z("months accessor is deprecated. Use month instead",V),Fd.years=Z("years accessor is deprecated. Use year instead",md),Fd.zone=Z("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",Ka);var Gd=Fd,Hd={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},Id={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY LT",LLLL:"dddd, MMMM D, YYYY LT"},Jd="Invalid date",Kd="%d",Ld=/\d{1,2}/,Md={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},Nd=q.prototype;Nd._calendar=Hd,Nd.calendar=Vb,Nd._longDateFormat=Id,Nd.longDateFormat=Wb,Nd._invalidDate=Jd,Nd.invalidDate=Xb,Nd._ordinal=Kd,Nd.ordinal=Yb,Nd._ordinalParse=Ld, -Nd.preparse=Zb,Nd.postformat=Zb,Nd._relativeTime=Md,Nd.relativeTime=$b,Nd.pastFuture=_b,Nd.set=ac,Nd.months=R,Nd._months=fd,Nd.monthsShort=S,Nd._monthsShort=gd,Nd.monthsParse=T,Nd.week=ha,Nd._week=nd,Nd.firstDayOfYear=ja,Nd.firstDayOfWeek=ia,Nd.weekdays=Fb,Nd._weekdays=xd,Nd.weekdaysMin=Hb,Nd._weekdaysMin=zd,Nd.weekdaysShort=Gb,Nd._weekdaysShort=yd,Nd.weekdaysParse=Ib,Nd.isPM=Ob,Nd._meridiemParse=Ad,Nd.meridiem=Pb,u("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(a){var b=a%10,c=1===o(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c}}),a.lang=Z("moment.lang is deprecated. Use moment.locale instead.",u),a.langData=Z("moment.langData is deprecated. Use moment.localeData instead.",w);var Od=Math.abs,Pd=rc("ms"),Qd=rc("s"),Rd=rc("m"),Sd=rc("h"),Td=rc("d"),Ud=rc("w"),Vd=rc("M"),Wd=rc("y"),Xd=tc("milliseconds"),Yd=tc("seconds"),Zd=tc("minutes"),$d=tc("hours"),_d=tc("days"),ae=tc("months"),be=tc("years"),ce=Math.round,de={s:45,m:45,h:22,d:26,M:11},ee=Math.abs,fe=Da.prototype;fe.abs=ic,fe.add=kc,fe.subtract=lc,fe.as=pc,fe.asMilliseconds=Pd,fe.asSeconds=Qd,fe.asMinutes=Rd,fe.asHours=Sd,fe.asDays=Td,fe.asWeeks=Ud,fe.asMonths=Vd,fe.asYears=Wd,fe.valueOf=qc,fe._bubble=mc,fe.get=sc,fe.milliseconds=Xd,fe.seconds=Yd,fe.minutes=Zd,fe.hours=$d,fe.days=_d,fe.weeks=uc,fe.months=ae,fe.years=be,fe.humanize=yc,fe.toISOString=zc,fe.toString=zc,fe.toJSON=zc,fe.locale=mb,fe.localeData=nb,fe.toIsoString=Z("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",zc),fe.lang=vd,F("X",0,0,"unix"),F("x",0,0,"valueOf"),K("x",Uc),K("X",Wc),N("X",function(a,b,c){c._d=new Date(1e3*parseFloat(a,10))}),N("x",function(a,b,c){c._d=new Date(o(a))}),a.version="2.10.2",b(za),a.fn=Gd,a.min=Ba,a.max=Ca,a.utc=i,a.unix=Tb,a.months=dc,a.isDate=e,a.locale=u,a.invalid=k,a.duration=Ua,a.isMoment=n,a.weekdays=fc,a.parseZone=Ub,a.localeData=w,a.isDuration=Ea,a.monthsShort=ec,a.weekdaysMin=hc,a.defineLocale=v,a.weekdaysShort=gc,a.normalizeUnits=y,a.relativeTimeThreshold=xc;var ge=a;return ge}); \ No newline at end of file diff --git a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.analytics-view/public/js/devicetype-graph.js b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.analytics-view/public/js/raspberrypi.js similarity index 70% rename from components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.analytics-view/public/js/devicetype-graph.js rename to components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.analytics-view/public/js/raspberrypi.js index 2df4208afc..3b23f1179e 100644 --- a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.analytics-view/public/js/devicetype-graph.js +++ b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.analytics-view/public/js/raspberrypi.js @@ -18,22 +18,21 @@ var palette = new Rickshaw.Color.Palette({scheme: "classic9"}); -function drawGraph_arduino(from, to) { - $("#y_axis").html(""); - $("#smoother").html(""); - $("#legend").html(""); - $("#chart").html(""); - $("#x_axis").html(""); - $("#slider").html(""); - - var devices = $("#details").data("devices"); - +function drawGraph_raspberrypi(from, to) { + $("#y_axis-temperature").html(""); + $("#smoother-temperature").html(""); + $("#legend-temperature").html(""); + $("#chart-temperature").html(""); + $("#x_axis-temperature").html(""); + $("#slider-temperature").html(""); + + var devices = $("#raspberrypi-details").data("devices"); var tzOffset = new Date().getTimezoneOffset() * 60; - var chartWrapperElmId = "#div-chart"; + var chartWrapperElmId = "#raspberrypi-div-chart"; var graphWidth = $(chartWrapperElmId).width() - 50; var graphConfig = { - element: document.getElementById("chart"), + element: document.getElementById("chart-temperature"), width: graphWidth, height: 400, strokeWidth: 2, @@ -49,25 +48,25 @@ function drawGraph_arduino(from, to) { if (devices) { for (var i = 0; i < devices.length; i++) { graphConfig['series'].push( + { + 'color': palette.color(), + 'data': [{ + x: parseInt(new Date().getTime() / 1000), + y: 0 + }], + 'name': devices[i].name + }); + } + } else { + graphConfig['series'].push( { 'color': palette.color(), 'data': [{ x: parseInt(new Date().getTime() / 1000), y: 0 }], - 'name': devices[i].name + 'name': $("#raspberrypi-details").data("devicename") }); - } - } else { - graphConfig['series'].push( - { - 'color': palette.color(), - 'data': [{ - x: parseInt(new Date().getTime() / 1000), - y: 0 - }], - 'name': $("#details").data("devicename") - }); } var graph = new Rickshaw.Graph(graphConfig); @@ -83,7 +82,7 @@ function drawGraph_arduino(from, to) { var yAxis = new Rickshaw.Graph.Axis.Y({ graph: graph, orientation: 'left', - element: document.getElementById("y_axis"), + element: document.getElementById("y_axis-temperature"), width: 40, height: 410 }); @@ -92,21 +91,21 @@ function drawGraph_arduino(from, to) { var slider = new Rickshaw.Graph.RangeSlider.Preview({ graph: graph, - element: document.getElementById("slider") + element: document.getElementById("slider-temperature") }); var legend = new Rickshaw.Graph.Legend({ graph: graph, - element: document.getElementById('legend') + element: document.getElementById('legend-temperature') }); var hoverDetail = new Rickshaw.Graph.HoverDetail({ graph: graph, formatter: function (series, x, y) { var date = '' + - moment((x + tzOffset) * 1000).format('Do MMM YYYY h:mm:ss a') + ''; + moment((x + tzOffset) * 1000).format('Do MMM YYYY h:mm:ss a') + ''; var swatch = ''; + series.color + '">'; return swatch + series.name + ": " + parseInt(y) + '
' + date; } }); @@ -131,7 +130,7 @@ function drawGraph_arduino(from, to) { if (devices) { getData(); } else { - var backendApiUrl = $("#chart").data("backend-api-url") + "?from=" + from + "&to=" + to; + var backendApiUrl = $("#raspberrypi-div-chart").data("backend-api-url") + "?from=" + from + "&to=" + to; var successCallback = function (data) { if (data) { drawLineGraph(JSON.parse(data)); @@ -146,8 +145,8 @@ function drawGraph_arduino(from, to) { if (deviceIndex >= devices.length) { return; } - var backendApiUrl = $("#chart").data("backend-api-url") + devices[deviceIndex].deviceIdentifier - + "?from=" + from + "&to=" + to; + var backendApiUrl = $("#raspberrypi-div-chart").data("backend-api-url") + devices[deviceIndex].deviceIdentifier + + "?from=" + from + "&to=" + to; var successCallback = function (data) { if (data) { drawLineGraph(JSON.parse(data)); @@ -170,10 +169,10 @@ function drawGraph_arduino(from, to) { var chartData = []; for (var i = 0; i < data.length; i++) { chartData.push( - { - x: parseInt(data[i].values.time) - tzOffset, - y: parseInt(data[i].values.temperature) - } + { + x: parseInt(data[i].values.time) - tzOffset, + y: parseInt(data[i].values.temperature) + } ); } diff --git a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.analytics-view/public/js/rickshaw.min.js b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.analytics-view/public/js/rickshaw.min.js deleted file mode 100644 index be060e0b87..0000000000 --- a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.analytics-view/public/js/rickshaw.min.js +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. 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(root,factory){if(typeof define==="function"&&define.amd){define(["d3.min"],function(d3){return root.Rickshaw=factory(d3)})}else if(typeof exports==="object"){module.exports=factory(require("d3"))}else{root.Rickshaw=factory(d3)}})(this,function(d3){var Rickshaw={namespace:function(namespace,obj){var parts=namespace.split(".");var parent=Rickshaw;for(var i=1,length=parts.length;i0){var x=s.data[0].x;var y=s.data[0].y;if(typeof x!="number"||typeof y!="number"&&y!==null){throw"x and y properties of points should be numbers instead of "+typeof x+" and "+typeof y}}if(s.data.length>=3){if(s.data[2].xthis.window.xMax)isInRange=false;return isInRange}return true};this.onUpdate=function(callback){this.updateCallbacks.push(callback)};this.onConfigure=function(callback){this.configureCallbacks.push(callback)};this.registerRenderer=function(renderer){this._renderers=this._renderers||{};this._renderers[renderer.name]=renderer};this.configure=function(args){this.config=this.config||{};if(args.width||args.height){this.setSize(args)}Rickshaw.keys(this.defaults).forEach(function(k){this.config[k]=k in args?args[k]:k in this?this[k]:this.defaults[k]},this);Rickshaw.keys(this.config).forEach(function(k){this[k]=this.config[k]},this);if("stack"in args)args.unstack=!args.stack;var renderer=args.renderer||this.renderer&&this.renderer.name||"stack";this.setRenderer(renderer,args);this.configureCallbacks.forEach(function(callback){callback(args)})};this.setRenderer=function(r,args){if(typeof r=="function"){this.renderer=new r({graph:self});this.registerRenderer(this.renderer)}else{if(!this._renderers[r]){throw"couldn't find renderer "+r}this.renderer=this._renderers[r]}if(typeof args=="object"){this.renderer.configure(args)}};this.setSize=function(args){args=args||{};if(typeof window!==undefined){var style=window.getComputedStyle(this.element,null);var elementWidth=parseInt(style.getPropertyValue("width"),10);var elementHeight=parseInt(style.getPropertyValue("height"),10)}this.width=args.width||elementWidth||400;this.height=args.height||elementHeight||250;this.vis&&this.vis.attr("width",this.width).attr("height",this.height)};this.initialize(args)};Rickshaw.namespace("Rickshaw.Fixtures.Color");Rickshaw.Fixtures.Color=function(){this.schemes={};this.schemes.spectrum14=["#ecb796","#dc8f70","#b2a470","#92875a","#716c49","#d2ed82","#bbe468","#a1d05d","#e7cbe6","#d8aad6","#a888c2","#9dc2d3","#649eb9","#387aa3"].reverse();this.schemes.spectrum2000=["#57306f","#514c76","#646583","#738394","#6b9c7d","#84b665","#a7ca50","#bfe746","#e2f528","#fff726","#ecdd00","#d4b11d","#de8800","#de4800","#c91515","#9a0000","#7b0429","#580839","#31082b"];this.schemes.spectrum2001=["#2f243f","#3c2c55","#4a3768","#565270","#6b6b7c","#72957f","#86ad6e","#a1bc5e","#b8d954","#d3e04e","#ccad2a","#cc8412","#c1521d","#ad3821","#8a1010","#681717","#531e1e","#3d1818","#320a1b"];this.schemes.classic9=["#423d4f","#4a6860","#848f39","#a2b73c","#ddcb53","#c5a32f","#7d5836","#963b20","#7c2626","#491d37","#2f254a"].reverse();this.schemes.httpStatus={503:"#ea5029",502:"#d23f14",500:"#bf3613",410:"#efacea",409:"#e291dc",403:"#f457e8",408:"#e121d2",401:"#b92dae",405:"#f47ceb",404:"#a82a9f",400:"#b263c6",301:"#6fa024",302:"#87c32b",307:"#a0d84c",304:"#28b55c",200:"#1a4f74",206:"#27839f",201:"#52adc9",202:"#7c979f",203:"#a5b8bd",204:"#c1cdd1"};this.schemes.colorwheel=["#b5b6a9","#858772","#785f43","#96557e","#4682b4","#65b9ac","#73c03a","#cb513a"].reverse();this.schemes.cool=["#5e9d2f","#73c03a","#4682b4","#7bc3b8","#a9884e","#c1b266","#a47493","#c09fb5"];this.schemes.munin=["#00cc00","#0066b3","#ff8000","#ffcc00","#330099","#990099","#ccff00","#ff0000","#808080","#008f00","#00487d","#b35a00","#b38f00","#6b006b","#8fb300","#b30000","#bebebe","#80ff80","#80c9ff","#ffc080","#ffe680","#aa80ff","#ee00cc","#ff8080","#666600","#ffbfff","#00ffcc","#cc6699","#999900"]};Rickshaw.namespace("Rickshaw.Fixtures.RandomData");Rickshaw.Fixtures.RandomData=function(timeInterval){var addData;timeInterval=timeInterval||1;var lastRandomValue=200;var timeBase=Math.floor((new Date).getTime()/1e3);this.addData=function(data){var randomValue=Math.random()*100+15+lastRandomValue;var index=data[0].length;var counter=1;data.forEach(function(series){var randomVariance=Math.random()*20;var v=randomValue/25+counter++ +(Math.cos(index*counter*11/960)+2)*15+(Math.cos(index/7)+2)*7+(Math.cos(index/17)+2)*1;series.push({x:index*timeInterval+timeBase,y:v+randomVariance})});lastRandomValue=randomValue*.85};this.removeData=function(data){data.forEach(function(series){series.shift()});timeBase+=timeInterval}};Rickshaw.namespace("Rickshaw.Fixtures.Time");Rickshaw.Fixtures.Time=function(){var self=this;this.months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];this.units=[{name:"decade",seconds:86400*365.25*10,formatter:function(d){return parseInt(d.getUTCFullYear()/10,10)*10}},{name:"year",seconds:86400*365.25,formatter:function(d){return d.getUTCFullYear()}},{name:"month",seconds:86400*30.5,formatter:function(d){return self.months[d.getUTCMonth()]}},{name:"week",seconds:86400*7,formatter:function(d){return self.formatDate(d)}},{name:"day",seconds:86400,formatter:function(d){return d.getUTCDate()}},{name:"6 hour",seconds:3600*6,formatter:function(d){return self.formatTime(d)}},{name:"hour",seconds:3600,formatter:function(d){return self.formatTime(d)}},{name:"15 minute",seconds:60*15,formatter:function(d){return self.formatTime(d)}},{name:"minute",seconds:60,formatter:function(d){return d.getUTCMinutes()}},{name:"15 second",seconds:15,formatter:function(d){return d.getUTCSeconds()+"s"}},{name:"second",seconds:1,formatter:function(d){return d.getUTCSeconds()+"s"}},{name:"decisecond",seconds:1/10,formatter:function(d){return d.getUTCMilliseconds()+"ms"}},{name:"centisecond",seconds:1/100,formatter:function(d){return d.getUTCMilliseconds()+"ms"}}];this.unit=function(unitName){return this.units.filter(function(unit){return unitName==unit.name}).shift()};this.formatDate=function(d){return d3.time.format("%b %e")(d)};this.formatTime=function(d){return d.toUTCString().match(/(\d+:\d+):/)[1]};this.ceil=function(time,unit){var date,floor,year;if(unit.name=="month"){date=new Date(time*1e3);floor=Date.UTC(date.getUTCFullYear(),date.getUTCMonth())/1e3;if(floor==time)return time;year=date.getUTCFullYear();var month=date.getUTCMonth();if(month==11){month=0;year=year+1}else{month+=1}return Date.UTC(year,month)/1e3}if(unit.name=="year"){date=new Date(time*1e3);floor=Date.UTC(date.getUTCFullYear(),0)/1e3;if(floor==time)return time;year=date.getUTCFullYear()+1;return Date.UTC(year,0)/1e3}return Math.ceil(time/unit.seconds)*unit.seconds}};Rickshaw.namespace("Rickshaw.Fixtures.Time.Local");Rickshaw.Fixtures.Time.Local=function(){var self=this;this.months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];this.units=[{name:"decade",seconds:86400*365.25*10,formatter:function(d){return parseInt(d.getFullYear()/10,10)*10}},{name:"year",seconds:86400*365.25,formatter:function(d){return d.getFullYear()}},{name:"month",seconds:86400*30.5,formatter:function(d){return self.months[d.getMonth()]}},{name:"week",seconds:86400*7,formatter:function(d){return self.formatDate(d)}},{name:"day",seconds:86400,formatter:function(d){return d.getDate()}},{name:"6 hour",seconds:3600*6,formatter:function(d){return self.formatTime(d)}},{name:"hour",seconds:3600,formatter:function(d){return self.formatTime(d)}},{name:"15 minute",seconds:60*15,formatter:function(d){return self.formatTime(d)}},{name:"minute",seconds:60,formatter:function(d){return d.getMinutes()}},{name:"15 second",seconds:15,formatter:function(d){return d.getSeconds()+"s"}},{name:"second",seconds:1,formatter:function(d){return d.getSeconds()+"s"}},{name:"decisecond",seconds:1/10,formatter:function(d){return d.getMilliseconds()+"ms"}},{name:"centisecond",seconds:1/100,formatter:function(d){return d.getMilliseconds()+"ms"}}];this.unit=function(unitName){return this.units.filter(function(unit){return unitName==unit.name}).shift()};this.formatDate=function(d){return d3.time.format("%b %e")(d)};this.formatTime=function(d){return d.toString().match(/(\d+:\d+):/)[1]};this.ceil=function(time,unit){var date,floor,year;if(unit.name=="day"){var nearFuture=new Date((time+unit.seconds-1)*1e3);var rounded=new Date(0);rounded.setMilliseconds(0);rounded.setSeconds(0);rounded.setMinutes(0);rounded.setHours(0);rounded.setDate(nearFuture.getDate());rounded.setMonth(nearFuture.getMonth());rounded.setFullYear(nearFuture.getFullYear());return rounded.getTime()/1e3}if(unit.name=="month"){date=new Date(time*1e3);floor=new Date(date.getFullYear(),date.getMonth()).getTime()/1e3;if(floor==time)return time;year=date.getFullYear();var month=date.getMonth();if(month==11){month=0;year=year+1}else{month+=1}return new Date(year,month).getTime()/1e3}if(unit.name=="year"){date=new Date(time*1e3);floor=new Date(date.getUTCFullYear(),0).getTime()/1e3;if(floor==time)return time;year=date.getFullYear()+1;return new Date(year,0).getTime()/1e3}return Math.ceil(time/unit.seconds)*unit.seconds}};Rickshaw.namespace("Rickshaw.Fixtures.Number");Rickshaw.Fixtures.Number.formatKMBT=function(y){var abs_y=Math.abs(y);if(abs_y>=1e12){return y/1e12+"T"}else if(abs_y>=1e9){return y/1e9+"B"}else if(abs_y>=1e6){return y/1e6+"M"}else if(abs_y>=1e3){return y/1e3+"K"}else if(abs_y<1&&y>0){return y.toFixed(2)}else if(abs_y===0){return""}else{return y}};Rickshaw.Fixtures.Number.formatBase1024KMGTP=function(y){var abs_y=Math.abs(y);if(abs_y>=0x4000000000000){return y/0x4000000000000+"P"}else if(abs_y>=1099511627776){return y/1099511627776+"T"}else if(abs_y>=1073741824){return y/1073741824+"G"}else if(abs_y>=1048576){return y/1048576+"M"}else if(abs_y>=1024){return y/1024+"K"}else if(abs_y<1&&y>0){return y.toFixed(2)}else if(abs_y===0){return""}else{return y}};Rickshaw.namespace("Rickshaw.Color.Palette");Rickshaw.Color.Palette=function(args){var color=new Rickshaw.Fixtures.Color;args=args||{};this.schemes={};this.scheme=color.schemes[args.scheme]||args.scheme||color.schemes.colorwheel;this.runningIndex=0;this.generatorIndex=0;if(args.interpolatedStopCount){var schemeCount=this.scheme.length-1;var i,j,scheme=[];for(i=0;iself.graph.x.range()[1]){if(annotation.element){annotation.line.classList.add("offscreen");annotation.element.style.display="none"}annotation.boxes.forEach(function(box){if(box.rangeElement)box.rangeElement.classList.add("offscreen")});return}if(!annotation.element){var element=annotation.element=document.createElement("div");element.classList.add("annotation");this.elements.timeline.appendChild(element);element.addEventListener("click",function(e){element.classList.toggle("active");annotation.line.classList.toggle("active");annotation.boxes.forEach(function(box){if(box.rangeElement)box.rangeElement.classList.toggle("active")})},false)}annotation.element.style.left=left+"px";annotation.element.style.display="block";annotation.boxes.forEach(function(box){var element=box.element;if(!element){element=box.element=document.createElement("div");element.classList.add("content");element.innerHTML=box.content;annotation.element.appendChild(element);annotation.line=document.createElement("div");annotation.line.classList.add("annotation_line");self.graph.element.appendChild(annotation.line);if(box.end){box.rangeElement=document.createElement("div");box.rangeElement.classList.add("annotation_range");self.graph.element.appendChild(box.rangeElement)}}if(box.end){var annotationRangeStart=left;var annotationRangeEnd=Math.min(self.graph.x(box.end),self.graph.x.range()[1]);if(annotationRangeStart>annotationRangeEnd){annotationRangeEnd=left;annotationRangeStart=Math.max(self.graph.x(box.end),self.graph.x.range()[0])}var annotationRangeWidth=annotationRangeEnd-annotationRangeStart;box.rangeElement.style.left=annotationRangeStart+"px";box.rangeElement.style.width=annotationRangeWidth+"px";box.rangeElement.classList.remove("offscreen")}annotation.line.classList.remove("offscreen");annotation.line.style.left=left+"px"})},this)};this.graph.onUpdate(function(){self.update()})};Rickshaw.namespace("Rickshaw.Graph.Axis.Time");Rickshaw.Graph.Axis.Time=function(args){var self=this;this.graph=args.graph;this.elements=[];this.ticksTreatment=args.ticksTreatment||"plain";this.fixedTimeUnit=args.timeUnit;var time=args.timeFixture||new Rickshaw.Fixtures.Time;this.appropriateTimeUnit=function(){var unit;var units=time.units;var domain=this.graph.x.domain();var rangeSeconds=domain[1]-domain[0];units.forEach(function(u){if(Math.floor(rangeSeconds/u.seconds)>=2){unit=unit||u}});return unit||time.units[time.units.length-1]};this.tickOffsets=function(){var domain=this.graph.x.domain();var unit=this.fixedTimeUnit||this.appropriateTimeUnit();var count=Math.ceil((domain[1]-domain[0])/unit.seconds);var runningTick=domain[0];var offsets=[];for(var i=0;iself.graph.x.range()[1])return;var element=document.createElement("div");element.style.left=self.graph.x(o.value)+"px";element.classList.add("x_tick");element.classList.add(self.ticksTreatment);var title=document.createElement("div");title.classList.add("title");title.innerHTML=o.unit.formatter(new Date(o.value*1e3));element.appendChild(title);self.graph.element.appendChild(element);self.elements.push(element)})};this.graph.onUpdate(function(){self.render()})};Rickshaw.namespace("Rickshaw.Graph.Axis.X");Rickshaw.Graph.Axis.X=function(args){var self=this;var berthRate=.1;this.initialize=function(args){this.graph=args.graph;this.orientation=args.orientation||"top";this.pixelsPerTick=args.pixelsPerTick||75;if(args.ticks)this.staticTicks=args.ticks;if(args.tickValues)this.tickValues=args.tickValues;this.tickSize=args.tickSize||4;this.ticksTreatment=args.ticksTreatment||"plain";if(args.element){this.element=args.element;this._discoverSize(args.element,args);this.vis=d3.select(args.element).append("svg:svg").attr("height",this.height).attr("width",this.width).attr("class","rickshaw_graph x_axis_d3");this.element=this.vis[0][0];this.element.style.position="relative";this.setSize({width:args.width,height:args.height})}else{this.vis=this.graph.vis}this.graph.onUpdate(function(){self.render()})};this.setSize=function(args){args=args||{};if(!this.element)return;this._discoverSize(this.element.parentNode,args);this.vis.attr("height",this.height).attr("width",this.width*(1+berthRate));var berth=Math.floor(this.width*berthRate/2);this.element.style.left=-1*berth+"px"};this.render=function(){if(this._renderWidth!==undefined&&this.graph.width!==this._renderWidth)this.setSize({auto:true});var axis=d3.svg.axis().scale(this.graph.x).orient(this.orientation);axis.tickFormat(args.tickFormat||function(x){return x});if(this.tickValues)axis.tickValues(this.tickValues);this.ticks=this.staticTicks||Math.floor(this.graph.width/this.pixelsPerTick);var berth=Math.floor(this.width*berthRate/2)||0;var transform;if(this.orientation=="top"){var yOffset=this.height||this.graph.height;transform="translate("+berth+","+yOffset+")"}else{transform="translate("+berth+", 0)"}if(this.element){this.vis.selectAll("*").remove()}this.vis.append("svg:g").attr("class",["x_ticks_d3",this.ticksTreatment].join(" ")).attr("transform",transform).call(axis.ticks(this.ticks).tickSubdivide(0).tickSize(this.tickSize));var gridSize=(this.orientation=="bottom"?1:-1)*this.graph.height;this.graph.vis.append("svg:g").attr("class","x_grid_d3").call(axis.ticks(this.ticks).tickSubdivide(0).tickSize(gridSize)).selectAll("text").each(function(){this.parentNode.setAttribute("data-x-value",this.textContent)});this._renderHeight=this.graph.height};this._discoverSize=function(element,args){if(typeof window!=="undefined"){var style=window.getComputedStyle(element,null);var elementHeight=parseInt(style.getPropertyValue("height"),10);if(!args.auto){var elementWidth=parseInt(style.getPropertyValue("width"),10)}}this.width=(args.width||elementWidth||this.graph.width)*(1+berthRate);this.height=args.height||elementHeight||40};this.initialize(args)};Rickshaw.namespace("Rickshaw.Graph.Axis.Y");Rickshaw.Graph.Axis.Y=Rickshaw.Class.create({initialize:function(args){this.graph=args.graph;this.orientation=args.orientation||"right";this.pixelsPerTick=args.pixelsPerTick||75;if(args.ticks)this.staticTicks=args.ticks;if(args.tickValues)this.tickValues=args.tickValues;this.tickSize=args.tickSize||4;this.ticksTreatment=args.ticksTreatment||"plain";this.tickFormat=args.tickFormat||function(y){return y};this.berthRate=.1;if(args.element){this.element=args.element;this.vis=d3.select(args.element).append("svg:svg").attr("class","rickshaw_graph y_axis");this.element=this.vis[0][0];this.element.style.position="relative";this.setSize({width:args.width,height:args.height})}else{this.vis=this.graph.vis}var self=this;this.graph.onUpdate(function(){self.render()})},setSize:function(args){args=args||{};if(!this.element)return;if(typeof window!=="undefined"){var style=window.getComputedStyle(this.element.parentNode,null);var elementWidth=parseInt(style.getPropertyValue("width"),10);if(!args.auto){var elementHeight=parseInt(style.getPropertyValue("height"),10)}}this.width=args.width||elementWidth||this.graph.width*this.berthRate;this.height=args.height||elementHeight||this.graph.height;this.vis.attr("width",this.width).attr("height",this.height*(1+this.berthRate));var berth=this.height*this.berthRate;if(this.orientation=="left"){this.element.style.top=-1*berth+"px"}},render:function(){if(this._renderHeight!==undefined&&this.graph.height!==this._renderHeight)this.setSize({auto:true});this.ticks=this.staticTicks||Math.floor(this.graph.height/this.pixelsPerTick);var axis=this._drawAxis(this.graph.y);this._drawGrid(axis);this._renderHeight=this.graph.height},_drawAxis:function(scale){var axis=d3.svg.axis().scale(scale).orient(this.orientation);axis.tickFormat(this.tickFormat);if(this.tickValues)axis.tickValues(this.tickValues);if(this.orientation=="left"){var berth=this.height*this.berthRate;var transform="translate("+this.width+", "+berth+")"}if(this.element){this.vis.selectAll("*").remove()}this.vis.append("svg:g").attr("class",["y_ticks",this.ticksTreatment].join(" ")).attr("transform",transform).call(axis.ticks(this.ticks).tickSubdivide(0).tickSize(this.tickSize));return axis},_drawGrid:function(axis){var gridSize=(this.orientation=="right"?1:-1)*this.graph.width;this.graph.vis.append("svg:g").attr("class","y_grid").call(axis.ticks(this.ticks).tickSubdivide(0).tickSize(gridSize)).selectAll("text").each(function(){this.parentNode.setAttribute("data-y-value",this.textContent) -})}});Rickshaw.namespace("Rickshaw.Graph.Axis.Y.Scaled");Rickshaw.Graph.Axis.Y.Scaled=Rickshaw.Class.create(Rickshaw.Graph.Axis.Y,{initialize:function($super,args){if(typeof args.scale==="undefined"){throw new Error("Scaled requires scale")}this.scale=args.scale;if(typeof args.grid==="undefined"){this.grid=true}else{this.grid=args.grid}$super(args)},_drawAxis:function($super,scale){var domain=this.scale.domain();var renderDomain=this.graph.renderer.domain().y;var extents=[Math.min.apply(Math,domain),Math.max.apply(Math,domain)];var extentMap=d3.scale.linear().domain([0,1]).range(extents);var adjExtents=[extentMap(renderDomain[0]),extentMap(renderDomain[1])];var adjustment=d3.scale.linear().domain(extents).range(adjExtents);var adjustedScale=this.scale.copy().domain(domain.map(adjustment)).range(scale.range());return $super(adjustedScale)},_drawGrid:function($super,axis){if(this.grid){$super(axis)}}});Rickshaw.namespace("Rickshaw.Graph.Behavior.Series.Highlight");Rickshaw.Graph.Behavior.Series.Highlight=function(args){this.graph=args.graph;this.legend=args.legend;var self=this;var colorSafe={};var activeLine=null;var disabledColor=args.disabledColor||function(seriesColor){return d3.interpolateRgb(seriesColor,d3.rgb("#d8d8d8"))(.8).toString()};this.addHighlightEvents=function(l){l.element.addEventListener("mouseover",function(e){if(activeLine)return;else activeLine=l;self.legend.lines.forEach(function(line){if(l===line){if(self.graph.renderer.unstack&&(line.series.renderer?line.series.renderer.unstack:true)){var seriesIndex=self.graph.series.indexOf(line.series);line.originalIndex=seriesIndex;var series=self.graph.series.splice(seriesIndex,1)[0];self.graph.series.push(series)}return}colorSafe[line.series.name]=colorSafe[line.series.name]||line.series.color;line.series.color=disabledColor(line.series.color)});self.graph.update()},false);l.element.addEventListener("mouseout",function(e){if(!activeLine)return;else activeLine=null;self.legend.lines.forEach(function(line){if(l===line&&line.hasOwnProperty("originalIndex")){var series=self.graph.series.pop();self.graph.series.splice(line.originalIndex,0,series);delete line.originalIndex}if(colorSafe[line.series.name]){line.series.color=colorSafe[line.series.name]}});self.graph.update()},false)};if(this.legend){this.legend.lines.forEach(function(l){self.addHighlightEvents(l)})}};Rickshaw.namespace("Rickshaw.Graph.Behavior.Series.Order");Rickshaw.Graph.Behavior.Series.Order=function(args){this.graph=args.graph;this.legend=args.legend;var self=this;if(typeof window.jQuery=="undefined"){throw"couldn't find jQuery at window.jQuery"}if(typeof window.jQuery.ui=="undefined"){throw"couldn't find jQuery UI at window.jQuery.ui"}jQuery(function(){jQuery(self.legend.list).sortable({containment:"parent",tolerance:"pointer",update:function(event,ui){var series=[];jQuery(self.legend.list).find("li").each(function(index,item){if(!item.series)return;series.push(item.series)});for(var i=self.graph.series.length-1;i>=0;i--){self.graph.series[i]=series.shift()}self.graph.update()}});jQuery(self.legend.list).disableSelection()});this.graph.onUpdate(function(){var h=window.getComputedStyle(self.legend.element).height;self.legend.element.style.height=h})};Rickshaw.namespace("Rickshaw.Graph.Behavior.Series.Toggle");Rickshaw.Graph.Behavior.Series.Toggle=function(args){this.graph=args.graph;this.legend=args.legend;var self=this;this.addAnchor=function(line){var anchor=document.createElement("a");anchor.innerHTML="✔";anchor.classList.add("action");line.element.insertBefore(anchor,line.element.firstChild);anchor.onclick=function(e){if(line.series.disabled){line.series.enable();line.element.classList.remove("disabled")}else{if(this.graph.series.filter(function(s){return!s.disabled}).length<=1)return;line.series.disable();line.element.classList.add("disabled")}self.graph.update()}.bind(this);var label=line.element.getElementsByTagName("span")[0];label.onclick=function(e){var disableAllOtherLines=line.series.disabled;if(!disableAllOtherLines){for(var i=0;idomainX){dataIndex=Math.abs(domainX-data[i].x)0){alignables.forEach(function(el){el.classList.remove("left");el.classList.add("right")});var rightAlignError=this._calcLayoutError(alignables);if(rightAlignError>leftAlignError){alignables.forEach(function(el){el.classList.remove("right");el.classList.add("left")})}}if(typeof this.onRender=="function"){this.onRender(args)}},_calcLayoutError:function(alignables){var parentRect=this.element.parentNode.getBoundingClientRect();var error=0;var alignRight=alignables.forEach(function(el){var rect=el.getBoundingClientRect();if(!rect.width){return}if(rect.right>parentRect.right){error+=rect.right-parentRect.right}if(rect.left=self.previewWidth){frameAfterDrag[0]-=frameAfterDrag[1]-self.previewWidth;frameAfterDrag[1]=self.previewWidth}}self.graphs.forEach(function(graph){var domainScale=d3.scale.linear().interpolate(d3.interpolateNumber).domain([0,self.previewWidth]).range(graph.dataDomain());var windowAfterDrag=[domainScale(frameAfterDrag[0]),domainScale(frameAfterDrag[1])];self.slideCallbacks.forEach(function(callback){callback(graph,windowAfterDrag[0],windowAfterDrag[1])});if(frameAfterDrag[0]===0){windowAfterDrag[0]=undefined}if(frameAfterDrag[1]===self.previewWidth){windowAfterDrag[1]=undefined}graph.window.xMin=windowAfterDrag[0];graph.window.xMax=windowAfterDrag[1];graph.update()})}function onMousedown(){drag.target=d3.event.target;drag.start=self._getClientXFromEvent(d3.event,drag);self.frameBeforeDrag=self.currentFrame.slice();d3.event.preventDefault?d3.event.preventDefault():d3.event.returnValue=false;d3.select(document).on("mousemove.rickshaw_range_slider_preview",onMousemove);d3.select(document).on("mouseup.rickshaw_range_slider_preview",onMouseup);d3.select(document).on("touchmove.rickshaw_range_slider_preview",onMousemove);d3.select(document).on("touchend.rickshaw_range_slider_preview",onMouseup);d3.select(document).on("touchcancel.rickshaw_range_slider_preview",onMouseup)}function onMousedownLeftHandle(datum,index){drag.left=true;onMousedown()}function onMousedownRightHandle(datum,index){drag.right=true;onMousedown()}function onMousedownMiddleHandle(datum,index){drag.left=true;drag.right=true;drag.rigid=true;onMousedown()}function onMouseup(datum,index){d3.select(document).on("mousemove.rickshaw_range_slider_preview",null);d3.select(document).on("mouseup.rickshaw_range_slider_preview",null);d3.select(document).on("touchmove.rickshaw_range_slider_preview",null);d3.select(document).on("touchend.rickshaw_range_slider_preview",null);d3.select(document).on("touchcancel.rickshaw_range_slider_preview",null);delete self.frameBeforeDrag;drag.left=false;drag.right=false;drag.rigid=false}element.select("rect.left_handle").on("mousedown",onMousedownLeftHandle);element.select("rect.right_handle").on("mousedown",onMousedownRightHandle);element.select("rect.middle_handle").on("mousedown",onMousedownMiddleHandle);element.select("rect.left_handle").on("touchstart",onMousedownLeftHandle);element.select("rect.right_handle").on("touchstart",onMousedownRightHandle);element.select("rect.middle_handle").on("touchstart",onMousedownMiddleHandle)},_getClientXFromEvent:function(event,drag){switch(event.type){case"touchstart":case"touchmove":var touchList=event.changedTouches;var touch=null;for(var touchIndex=0;touchIndexyMax)yMax=y});if(!series.length)return;if(series[0].xxMax)xMax=series[series.length-1].x});xMin-=(xMax-xMin)*this.padding.left;xMax+=(xMax-xMin)*this.padding.right;yMin=this.graph.min==="auto"?yMin:this.graph.min||0;yMax=this.graph.max===undefined?yMax:this.graph.max;if(this.graph.min==="auto"||yMin<0){yMin-=(yMax-yMin)*this.padding.bottom}if(this.graph.max===undefined){yMax+=(yMax-yMin)*this.padding.top}return{x:[xMin,xMax],y:[yMin,yMax]}},render:function(args){args=args||{};var graph=this.graph;var series=args.series||graph.series;var vis=args.vis||graph.vis;vis.selectAll("*").remove();var data=series.filter(function(s){return!s.disabled}).map(function(s){return s.stack});var pathNodes=vis.selectAll("path.path").data(data).enter().append("svg:path").classed("path",true).attr("d",this.seriesPathFactory());if(this.stroke){var strokeNodes=vis.selectAll("path.stroke").data(data).enter().append("svg:path").classed("stroke",true).attr("d",this.seriesStrokeFactory())}var i=0;series.forEach(function(series){if(series.disabled)return;series.path=pathNodes[0][i];if(this.stroke)series.stroke=strokeNodes[0][i];this._styleSeries(series);i++},this)},_styleSeries:function(series){var fill=this.fill?series.color:"none";var stroke=this.stroke?series.color:"none";series.path.setAttribute("fill",fill);series.path.setAttribute("stroke",stroke);series.path.setAttribute("stroke-width",this.strokeWidth);if(series.className){d3.select(series.path).classed(series.className,true)}if(series.className&&this.stroke){d3.select(series.stroke).classed(series.className,true)}},configure:function(args){args=args||{};Rickshaw.keys(this.defaults()).forEach(function(key){if(!args.hasOwnProperty(key)){this[key]=this[key]||this.graph[key]||this.defaults()[key];return}if(typeof this.defaults()[key]=="object"){Rickshaw.keys(this.defaults()[key]).forEach(function(k){this[key][k]=args[key][k]!==undefined?args[key][k]:this[key][k]!==undefined?this[key][k]:this.defaults()[key][k]},this)}else{this[key]=args[key]!==undefined?args[key]:this[key]!==undefined?this[key]:this.graph[key]!==undefined?this.graph[key]:this.defaults()[key]}},this)},setStrokeWidth:function(strokeWidth){if(strokeWidth!==undefined){this.strokeWidth=strokeWidth}},setTension:function(tension){if(tension!==undefined){this.tension=tension}}});Rickshaw.namespace("Rickshaw.Graph.Renderer.Line");Rickshaw.Graph.Renderer.Line=Rickshaw.Class.create(Rickshaw.Graph.Renderer,{name:"line",defaults:function($super){return Rickshaw.extend($super(),{unstack:true,fill:false,stroke:true})},seriesPathFactory:function(){var graph=this.graph;var factory=d3.svg.line().x(function(d){return graph.x(d.x)}).y(function(d){return graph.y(d.y)}).interpolate(this.graph.interpolation).tension(this.tension);factory.defined&&factory.defined(function(d){return d.y!==null});return factory}});Rickshaw.namespace("Rickshaw.Graph.Renderer.Stack");Rickshaw.Graph.Renderer.Stack=Rickshaw.Class.create(Rickshaw.Graph.Renderer,{name:"stack",defaults:function($super){return Rickshaw.extend($super(),{fill:true,stroke:false,unstack:false})},seriesPathFactory:function(){var graph=this.graph;var factory=d3.svg.area().x(function(d){return graph.x(d.x)}).y0(function(d){return graph.y(d.y0)}).y1(function(d){return graph.y(d.y+d.y0)}).interpolate(this.graph.interpolation).tension(this.tension);factory.defined&&factory.defined(function(d){return d.y!==null});return factory}});Rickshaw.namespace("Rickshaw.Graph.Renderer.Bar");Rickshaw.Graph.Renderer.Bar=Rickshaw.Class.create(Rickshaw.Graph.Renderer,{name:"bar",defaults:function($super){var defaults=Rickshaw.extend($super(),{gapSize:.05,unstack:false});delete defaults.tension;return defaults},initialize:function($super,args){args=args||{};this.gapSize=args.gapSize||this.gapSize;$super(args)},domain:function($super){var domain=$super();var frequentInterval=this._frequentInterval(this.graph.stackedData.slice(-1).shift());domain.x[1]+=Number(frequentInterval.magnitude);return domain},barWidth:function(series){var frequentInterval=this._frequentInterval(series.stack);var barWidth=this.graph.x.magnitude(frequentInterval.magnitude)*(1-this.gapSize);return barWidth},render:function(args){args=args||{};var graph=this.graph;var series=args.series||graph.series;var vis=args.vis||graph.vis;vis.selectAll("*").remove();var barWidth=this.barWidth(series.active()[0]);var barXOffset=0;var activeSeriesCount=series.filter(function(s){return!s.disabled}).length;var seriesBarWidth=this.unstack?barWidth/activeSeriesCount:barWidth;var transform=function(d){var matrix=[1,0,0,d.y<0?-1:1,0,d.y<0?graph.y.magnitude(Math.abs(d.y))*2:0];return"matrix("+matrix.join(",")+")"};series.forEach(function(series){if(series.disabled)return;var barWidth=this.barWidth(series);var nodes=vis.selectAll("path").data(series.stack.filter(function(d){return d.y!==null})).enter().append("svg:rect").attr("x",function(d){return graph.x(d.x)+barXOffset}).attr("y",function(d){return graph.y(d.y0+Math.abs(d.y))*(d.y<0?-1:1)}).attr("width",seriesBarWidth).attr("height",function(d){return graph.y.magnitude(Math.abs(d.y))}).attr("transform",transform);Array.prototype.forEach.call(nodes[0],function(n){n.setAttribute("fill",series.color)});if(this.unstack)barXOffset+=seriesBarWidth},this)},_frequentInterval:function(data){var intervalCounts={};for(var i=0;i0){this[0].data.forEach(function(plot){item.data.push({x:plot.x,y:0})})}else if(item.data.length===0){item.data.push({x:this.timeBase-(this.timeInterval||0),y:0})}this.push(item);if(this.legend){this.legend.addLine(this.itemByName(item.name))}},addData:function(data,x){var index=this.getIndex();Rickshaw.keys(data).forEach(function(name){if(!this.itemByName(name)){this.addItem({name:name})}},this);this.forEach(function(item){item.data.push({x:x||(index*this.timeInterval||1)+this.timeBase,y:data[item.name]||0})},this)},getIndex:function(){return this[0]&&this[0].data&&this[0].data.length?this[0].data.length:0},itemByName:function(name){for(var i=0;i1;i--){this.currentSize+=1;this.currentIndex+=1;this.forEach(function(item){item.data.unshift({x:((i-1)*this.timeInterval||1)+this.timeBase,y:0,i:i})},this)}}},addData:function($super,data,x){$super(data,x);this.currentSize+=1;this.currentIndex+=1;if(this.maxDataPoints!==undefined){while(this.currentSize>this.maxDataPoints){this.dropData()}}},dropData:function(){this.forEach(function(item){item.data.splice(0,1)});this.currentSize-=1},getIndex:function(){return this.currentIndex}});return Rickshaw}); \ No newline at end of file diff --git a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.realtime.analytics-view/analytics-view.hbs b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.realtime.analytics-view/analytics-view.hbs index 9d2f07c780..656ad5fc36 100644 --- a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.realtime.analytics-view/analytics-view.hbs +++ b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.realtime.analytics-view/analytics-view.hbs @@ -1,6 +1,5 @@ -{{#zone "topCss"}} - {{css "css/graph.css"}} -{{/zone}} +{{unit "cdmf.unit.lib.rickshaw-graph"}} +
Temperature
@@ -21,8 +20,6 @@ {{#zone "bottomJs"}} - {{js "js/d3.min.js"}} - {{js "js/rickshaw.min.js"}} {{js "js/moment.min.js"}} {{js "js/socket.io.min.js"}} {{js "js/device-stats.js"}} diff --git a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.realtime.analytics-view/public/css/graph.css b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.realtime.analytics-view/public/css/graph.css deleted file mode 100644 index 7d0c9bba1d..0000000000 --- a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.realtime.analytics-view/public/css/graph.css +++ /dev/null @@ -1,471 +0,0 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. 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. - */ - -/* graph */ - -.rickshaw_graph { - position: relative; -} - -.rickshaw_graph svg { - display: block; - overflow: hidden; -} - -/* ticks */ - -.rickshaw_graph .x_tick { - position: absolute; - top: 0; - bottom: 0; - width: 0; - border-left: 1px dotted rgba(0, 0, 0, 0.2); - pointer-events: none; -} - -.rickshaw_graph .x_tick .title { - position: absolute; - font-size: 12px; - font-family: Arial, sans-serif; - opacity: 0.5; - white-space: nowrap; - margin-left: 3px; - bottom: -20px; - height: auto; - border-bottom: none; -} - -/* annotations */ - -.rickshaw_annotation_timeline { - height: 1px; - border-top: 1px solid #e0e0e0; - margin-top: 10px; - position: relative; -} - -.rickshaw_annotation_timeline .annotation { - position: absolute; - height: 6px; - width: 6px; - margin-left: -2px; - top: -3px; - border-radius: 5px; - background-color: rgba(0, 0, 0, 0.25); -} - -.rickshaw_graph .annotation_line { - position: absolute; - top: 0; - bottom: -6px; - width: 0; - border-left: 2px solid rgba(0, 0, 0, 0.3); - display: none; -} - -.rickshaw_graph .annotation_line.active { - display: block; -} - -.rickshaw_graph .annotation_range { - background: rgba(0, 0, 0, 0.1); - display: none; - position: absolute; - top: 0; - bottom: -6px; -} - -.rickshaw_graph .annotation_range.active { - display: block; -} - -.rickshaw_graph .annotation_range.active.offscreen { - display: none; -} - -.rickshaw_annotation_timeline .annotation .content { - background: white; - color: black; - opacity: 0.9; - box-shadow: 0 0 2px rgba(0, 0, 0, 0.8); - border-radius: 3px; - position: relative; - z-index: 20; - font-size: 12px; - padding: 6px 8px 8px; - top: 18px; - left: -11px; - width: 160px; - display: none; - cursor: pointer; -} - -.rickshaw_annotation_timeline .annotation .content:before { - content: "\25b2"; - position: absolute; - top: -11px; - color: white; - text-shadow: 0 -1px 1px rgba(0, 0, 0, 0.8); -} - -.rickshaw_annotation_timeline .annotation.active, -.rickshaw_annotation_timeline .annotation:hover { - background-color: rgba(0, 0, 0, 0.8); - cursor: none; -} - -.rickshaw_annotation_timeline .annotation .content:hover { - z-index: 50; -} - -.rickshaw_annotation_timeline .annotation.active .content { - display: block; -} - -.rickshaw_annotation_timeline .annotation:hover .content { - display: block; - z-index: 50; -} - -.rickshaw_graph .y_axis, -.rickshaw_graph .x_axis_d3 { - fill: none; -} - -.rickshaw_graph .y_ticks .tick line, -.rickshaw_graph .x_ticks_d3 .tick { - stroke: rgba(0, 0, 0, 0.16); - stroke-width: 2px; - shape-rendering: crisp-edges; - pointer-events: none; -} - -.rickshaw_graph .y_grid .tick, -.rickshaw_graph .x_grid_d3 .tick { - z-index: -1; - stroke: rgba(0, 0, 0, 0.20); - stroke-width: 1px; - stroke-dasharray: 1 1; -} - -.rickshaw_graph .y_grid .tick[data-y-value="0"] { - stroke-dasharray: 1 0; -} - -.rickshaw_graph .y_grid path, -.rickshaw_graph .x_grid_d3 path { - fill: none; - stroke: none; -} - -.rickshaw_graph .y_ticks path, -.rickshaw_graph .x_ticks_d3 path { - fill: none; - stroke: #808080; -} - -.rickshaw_graph .y_ticks text, -.rickshaw_graph .x_ticks_d3 text { - opacity: 0.5; - font-size: 12px; - pointer-events: none; -} - -.rickshaw_graph .x_tick.glow .title, -.rickshaw_graph .y_ticks.glow text { - fill: black; - color: black; - text-shadow: -1px 1px 0 rgba(255, 255, 255, 0.1), - 1px -1px 0 rgba(255, 255, 255, 0.1), - 1px 1px 0 rgba(255, 255, 255, 0.1), - 0 1px 0 rgba(255, 255, 255, 0.1), - 0 -1px 0 rgba(255, 255, 255, 0.1), - 1px 0 0 rgba(255, 255, 255, 0.1), - -1px 0 0 rgba(255, 255, 255, 0.1), - -1px -1px 0 rgba(255, 255, 255, 0.1); -} - -.rickshaw_graph .x_tick.inverse .title, -.rickshaw_graph .y_ticks.inverse text { - fill: white; - color: white; - text-shadow: -1px 1px 0 rgba(0, 0, 0, 0.8), - 1px -1px 0 rgba(0, 0, 0, 0.8), - 1px 1px 0 rgba(0, 0, 0, 0.8), - 0 1px 0 rgba(0, 0, 0, 0.8), - 0 -1px 0 rgba(0, 0, 0, 0.8), - 1px 0 0 rgba(0, 0, 0, 0.8), - -1px 0 0 rgba(0, 0, 0, 0.8), - -1px -1px 0 rgba(0, 0, 0, 0.8); -} - -.custom_rickshaw_graph { - position: relative; - left: 40px; -} - -.custom_y_axis { - position: absolute; - width: 40px; - margin-top: -20px; -} - -.custom_slider { - left: 40px; -} - -.custom_x_axis { - position: relative; - left: 40px; - height: 30px; - width: 97%; - top: 20px; - text-align: right; -} - -.chartWrapper { - padding-top: 50px; -} - -/*detail*/ - -.rickshaw_graph .detail { - pointer-events: none; - position: absolute; - top: 0; - z-index: 2; - background: rgba(0, 0, 0, 0.1); - bottom: 0; - width: 1px; - transition: opacity 0.25s linear; - -moz-transition: opacity 0.25s linear; - -o-transition: opacity 0.25s linear; - -webkit-transition: opacity 0.25s linear; -} - -.rickshaw_graph .detail.inactive { - opacity: 0; -} - -.rickshaw_graph .detail .item.active { - opacity: 1; -} - -.rickshaw_graph .detail .x_label { - font-family: Arial, sans-serif; - border-radius: 3px; - padding: 6px; - opacity: 0.5; - border: 1px solid #e0e0e0; - font-size: 12px; - position: absolute; - background: white; - white-space: nowrap; -} - -.rickshaw_graph .detail .x_label.left { - left: 0; -} - -.rickshaw_graph .detail .x_label.right { - right: 0; -} - -.rickshaw_graph .detail .item { - position: absolute; - z-index: 2; - border-radius: 3px; - padding: 0.25em; - font-size: 12px; - font-family: Arial, sans-serif; - opacity: 0; - background: rgba(0, 0, 0, 0.4); - color: white; - border: 1px solid rgba(0, 0, 0, 0.4); - margin-left: 1em; - margin-right: 1em; - margin-top: -1em; - white-space: nowrap; -} - -.rickshaw_graph .detail .item.left { - left: 0; -} - -.rickshaw_graph .detail .item.right { - right: 0; -} - -.rickshaw_graph .detail .item.active { - opacity: 1; - background: rgba(0, 0, 0, 0.8); -} - -.rickshaw_graph .detail .item:after { - position: absolute; - display: block; - width: 0; - height: 0; - - content: ""; - - border: 5px solid transparent; -} - -.rickshaw_graph .detail .item.left:after { - top: 1em; - left: -5px; - margin-top: -5px; - border-right-color: rgba(0, 0, 0, 0.8); - border-left-width: 0; -} - -.rickshaw_graph .detail .item.right:after { - top: 1em; - right: -5px; - margin-top: -5px; - border-left-color: rgba(0, 0, 0, 0.8); - border-right-width: 0; -} - -.rickshaw_graph .detail .dot { - width: 4px; - height: 4px; - margin-left: -3px; - margin-top: -3.5px; - border-radius: 5px; - position: absolute; - box-shadow: 0 0 2px rgba(0, 0, 0, 0.6); - box-sizing: content-box; - -moz-box-sizing: content-box; - background: white; - border-width: 2px; - border-style: solid; - display: none; - background-clip: padding-box; -} - -.rickshaw_graph .detail .dot.active { - display: block; -} - -/*legend*/ -.rickshaw_legend { - font-family: Arial; - font-size: 12px; - color: white; - background: #404040; - display: inline-block; - padding: 12px 5px; - border-radius: 2px; - position: relative; - float: right; -} - -.rickshaw_legend:hover { - z-index: 10; -} - -.rickshaw_legend .swatch { - width: 10px; - height: 10px; - border: 1px solid rgba(0, 0, 0, 0.2); -} - -.rickshaw_legend .line { - clear: both; - line-height: 140%; - padding-right: 15px; -} - -.rickshaw_legend .line .swatch { - display: inline-block; - margin-right: 3px; - border-radius: 2px; -} - -.rickshaw_legend .label { - margin: 0; - white-space: nowrap; - display: inline; - font-size: inherit; - background-color: transparent; - color: inherit; - font-weight: normal; - line-height: normal; - padding: 0; - text-shadow: none; -} - -.rickshaw_legend .action:hover { - opacity: 0.6; -} - -.rickshaw_legend .action { - margin-right: 0.2em; - opacity: 0.2; - cursor: pointer; - font-size: 14px; -} - -.rickshaw_legend .line.disabled { - opacity: 0.4; -} - -.rickshaw_legend ul { - list-style-type: none; - padding: 0; - margin: 2px; - cursor: pointer; -} - -.rickshaw_legend li { - padding: 0 0 0 2px; - min-width: 80px; - white-space: nowrap; -} - -.rickshaw_legend li:hover { - background: rgba(255, 255, 255, 0.08); - border-radius: 3px; -} - -.rickshaw_legend li:active { - background: rgba(255, 255, 255, 0.2); - border-radius: 3px; -} - -.legend { - display: inline-block; - position: relative; - left: 8px; -} - -.legend_container { - float: right; - padding-right: 10px; - width: 0; - z-index: 1; - position: relative; - opacity: 0.7; -} - -.spaced { - margin-top: 20px !important; -} - diff --git a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.realtime.analytics-view/public/js/d3.min.js b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.realtime.analytics-view/public/js/d3.min.js deleted file mode 100644 index 71f9715eec..0000000000 --- a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.realtime.analytics-view/public/js/d3.min.js +++ /dev/null @@ -1,9488 +0,0 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. 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() { - var d3 = { - version: "3.5.2" - }; - if (!Date.now) Date.now = function() { - return +new Date(); - }; - var d3_arraySlice = [].slice, d3_array = function(list) { - return d3_arraySlice.call(list); - }; - var d3_document = document, d3_documentElement = d3_document.documentElement, d3_window = window; - try { - d3_array(d3_documentElement.childNodes)[0].nodeType; - } catch (e) { - d3_array = function(list) { - var i = list.length, array = new Array(i); - while (i--) array[i] = list[i]; - return array; - }; - } - try { - d3_document.createElement("div").style.setProperty("opacity", 0, ""); - } catch (error) { - var d3_element_prototype = d3_window.Element.prototype, d3_element_setAttribute = d3_element_prototype.setAttribute, d3_element_setAttributeNS = d3_element_prototype.setAttributeNS, d3_style_prototype = d3_window.CSSStyleDeclaration.prototype, d3_style_setProperty = d3_style_prototype.setProperty; - d3_element_prototype.setAttribute = function(name, value) { - d3_element_setAttribute.call(this, name, value + ""); - }; - d3_element_prototype.setAttributeNS = function(space, local, value) { - d3_element_setAttributeNS.call(this, space, local, value + ""); - }; - d3_style_prototype.setProperty = function(name, value, priority) { - d3_style_setProperty.call(this, name, value + "", priority); - }; - } - d3.ascending = d3_ascending; - function d3_ascending(a, b) { - return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN; - } - d3.descending = function(a, b) { - return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN; - }; - d3.min = function(array, f) { - var i = -1, n = array.length, a, b; - if (arguments.length === 1) { - while (++i < n) if ((b = array[i]) != null && b >= b) { - a = b; - break; - } - while (++i < n) if ((b = array[i]) != null && a > b) a = b; - } else { - while (++i < n) if ((b = f.call(array, array[i], i)) != null && b >= b) { - a = b; - break; - } - while (++i < n) if ((b = f.call(array, array[i], i)) != null && a > b) a = b; - } - return a; - }; - d3.max = function(array, f) { - var i = -1, n = array.length, a, b; - if (arguments.length === 1) { - while (++i < n) if ((b = array[i]) != null && b >= b) { - a = b; - break; - } - while (++i < n) if ((b = array[i]) != null && b > a) a = b; - } else { - while (++i < n) if ((b = f.call(array, array[i], i)) != null && b >= b) { - a = b; - break; - } - while (++i < n) if ((b = f.call(array, array[i], i)) != null && b > a) a = b; - } - return a; - }; - d3.extent = function(array, f) { - var i = -1, n = array.length, a, b, c; - if (arguments.length === 1) { - while (++i < n) if ((b = array[i]) != null && b >= b) { - a = c = b; - break; - } - while (++i < n) if ((b = array[i]) != null) { - if (a > b) a = b; - if (c < b) c = b; - } - } else { - while (++i < n) if ((b = f.call(array, array[i], i)) != null && b >= b) { - a = c = b; - break; - } - while (++i < n) if ((b = f.call(array, array[i], i)) != null) { - if (a > b) a = b; - if (c < b) c = b; - } - } - return [ a, c ]; - }; - function d3_number(x) { - return x === null ? NaN : +x; - } - function d3_numeric(x) { - return !isNaN(x); - } - d3.sum = function(array, f) { - var s = 0, n = array.length, a, i = -1; - if (arguments.length === 1) { - while (++i < n) if (d3_numeric(a = +array[i])) s += a; - } else { - while (++i < n) if (d3_numeric(a = +f.call(array, array[i], i))) s += a; - } - return s; - }; - d3.mean = function(array, f) { - var s = 0, n = array.length, a, i = -1, j = n; - if (arguments.length === 1) { - while (++i < n) if (d3_numeric(a = d3_number(array[i]))) s += a; else --j; - } else { - while (++i < n) if (d3_numeric(a = d3_number(f.call(array, array[i], i)))) s += a; else --j; - } - if (j) return s / j; - }; - d3.quantile = function(values, p) { - var H = (values.length - 1) * p + 1, h = Math.floor(H), v = +values[h - 1], e = H - h; - return e ? v + e * (values[h] - v) : v; - }; - d3.median = function(array, f) { - var numbers = [], n = array.length, a, i = -1; - if (arguments.length === 1) { - while (++i < n) if (d3_numeric(a = d3_number(array[i]))) numbers.push(a); - } else { - while (++i < n) if (d3_numeric(a = d3_number(f.call(array, array[i], i)))) numbers.push(a); - } - if (numbers.length) return d3.quantile(numbers.sort(d3_ascending), .5); - }; - d3.variance = function(array, f) { - var n = array.length, m = 0, a, d, s = 0, i = -1, j = 0; - if (arguments.length === 1) { - while (++i < n) { - if (d3_numeric(a = d3_number(array[i]))) { - d = a - m; - m += d / ++j; - s += d * (a - m); - } - } - } else { - while (++i < n) { - if (d3_numeric(a = d3_number(f.call(array, array[i], i)))) { - d = a - m; - m += d / ++j; - s += d * (a - m); - } - } - } - if (j > 1) return s / (j - 1); - }; - d3.deviation = function() { - var v = d3.variance.apply(this, arguments); - return v ? Math.sqrt(v) : v; - }; - function d3_bisector(compare) { - return { - left: function(a, x, lo, hi) { - if (arguments.length < 3) lo = 0; - if (arguments.length < 4) hi = a.length; - while (lo < hi) { - var mid = lo + hi >>> 1; - if (compare(a[mid], x) < 0) lo = mid + 1; else hi = mid; - } - return lo; - }, - right: function(a, x, lo, hi) { - if (arguments.length < 3) lo = 0; - if (arguments.length < 4) hi = a.length; - while (lo < hi) { - var mid = lo + hi >>> 1; - if (compare(a[mid], x) > 0) hi = mid; else lo = mid + 1; - } - return lo; - } - }; - } - var d3_bisect = d3_bisector(d3_ascending); - d3.bisectLeft = d3_bisect.left; - d3.bisect = d3.bisectRight = d3_bisect.right; - d3.bisector = function(f) { - return d3_bisector(f.length === 1 ? function(d, x) { - return d3_ascending(f(d), x); - } : f); - }; - d3.shuffle = function(array, i0, i1) { - if ((m = arguments.length) < 3) { - i1 = array.length; - if (m < 2) i0 = 0; - } - var m = i1 - i0, t, i; - while (m) { - i = Math.random() * m-- | 0; - t = array[m + i0], array[m + i0] = array[i + i0], array[i + i0] = t; - } - return array; - }; - d3.permute = function(array, indexes) { - var i = indexes.length, permutes = new Array(i); - while (i--) permutes[i] = array[indexes[i]]; - return permutes; - }; - d3.pairs = function(array) { - var i = 0, n = array.length - 1, p0, p1 = array[0], pairs = new Array(n < 0 ? 0 : n); - while (i < n) pairs[i] = [ p0 = p1, p1 = array[++i] ]; - return pairs; - }; - d3.zip = function() { - if (!(n = arguments.length)) return []; - for (var i = -1, m = d3.min(arguments, d3_zipLength), zips = new Array(m); ++i < m; ) { - for (var j = -1, n, zip = zips[i] = new Array(n); ++j < n; ) { - zip[j] = arguments[j][i]; - } - } - return zips; - }; - function d3_zipLength(d) { - return d.length; - } - d3.transpose = function(matrix) { - return d3.zip.apply(d3, matrix); - }; - d3.keys = function(map) { - var keys = []; - for (var key in map) keys.push(key); - return keys; - }; - d3.values = function(map) { - var values = []; - for (var key in map) values.push(map[key]); - return values; - }; - d3.entries = function(map) { - var entries = []; - for (var key in map) entries.push({ - key: key, - value: map[key] - }); - return entries; - }; - d3.merge = function(arrays) { - var n = arrays.length, m, i = -1, j = 0, merged, array; - while (++i < n) j += arrays[i].length; - merged = new Array(j); - while (--n >= 0) { - array = arrays[n]; - m = array.length; - while (--m >= 0) { - merged[--j] = array[m]; - } - } - return merged; - }; - var abs = Math.abs; - d3.range = function(start, stop, step) { - if (arguments.length < 3) { - step = 1; - if (arguments.length < 2) { - stop = start; - start = 0; - } - } - if ((stop - start) / step === Infinity) throw new Error("infinite range"); - var range = [], k = d3_range_integerScale(abs(step)), i = -1, j; - start *= k, stop *= k, step *= k; - if (step < 0) while ((j = start + step * ++i) > stop) range.push(j / k); else while ((j = start + step * ++i) < stop) range.push(j / k); - return range; - }; - function d3_range_integerScale(x) { - var k = 1; - while (x * k % 1) k *= 10; - return k; - } - function d3_class(ctor, properties) { - for (var key in properties) { - Object.defineProperty(ctor.prototype, key, { - value: properties[key], - enumerable: false - }); - } - } - d3.map = function(object, f) { - var map = new d3_Map(); - if (object instanceof d3_Map) { - object.forEach(function(key, value) { - map.set(key, value); - }); - } else if (Array.isArray(object)) { - var i = -1, n = object.length, o; - if (arguments.length === 1) while (++i < n) map.set(i, object[i]); else while (++i < n) map.set(f.call(object, o = object[i], i), o); - } else { - for (var key in object) map.set(key, object[key]); - } - return map; - }; - function d3_Map() { - this._ = Object.create(null); - } - var d3_map_proto = "__proto__", d3_map_zero = "\x00"; - d3_class(d3_Map, { - has: d3_map_has, - get: function(key) { - return this._[d3_map_escape(key)]; - }, - set: function(key, value) { - return this._[d3_map_escape(key)] = value; - }, - remove: d3_map_remove, - keys: d3_map_keys, - values: function() { - var values = []; - for (var key in this._) values.push(this._[key]); - return values; - }, - entries: function() { - var entries = []; - for (var key in this._) entries.push({ - key: d3_map_unescape(key), - value: this._[key] - }); - return entries; - }, - size: d3_map_size, - empty: d3_map_empty, - forEach: function(f) { - for (var key in this._) f.call(this, d3_map_unescape(key), this._[key]); - } - }); - function d3_map_escape(key) { - return (key += "") === d3_map_proto || key[0] === d3_map_zero ? d3_map_zero + key : key; - } - function d3_map_unescape(key) { - return (key += "")[0] === d3_map_zero ? key.slice(1) : key; - } - function d3_map_has(key) { - return d3_map_escape(key) in this._; - } - function d3_map_remove(key) { - return (key = d3_map_escape(key)) in this._ && delete this._[key]; - } - function d3_map_keys() { - var keys = []; - for (var key in this._) keys.push(d3_map_unescape(key)); - return keys; - } - function d3_map_size() { - var size = 0; - for (var key in this._) ++size; - return size; - } - function d3_map_empty() { - for (var key in this._) return false; - return true; - } - d3.nest = function() { - var nest = {}, keys = [], sortKeys = [], sortValues, rollup; - function map(mapType, array, depth) { - if (depth >= keys.length) return rollup ? rollup.call(nest, array) : sortValues ? array.sort(sortValues) : array; - var i = -1, n = array.length, key = keys[depth++], keyValue, object, setter, valuesByKey = new d3_Map(), values; - while (++i < n) { - if (values = valuesByKey.get(keyValue = key(object = array[i]))) { - values.push(object); - } else { - valuesByKey.set(keyValue, [ object ]); - } - } - if (mapType) { - object = mapType(); - setter = function(keyValue, values) { - object.set(keyValue, map(mapType, values, depth)); - }; - } else { - object = {}; - setter = function(keyValue, values) { - object[keyValue] = map(mapType, values, depth); - }; - } - valuesByKey.forEach(setter); - return object; - } - function entries(map, depth) { - if (depth >= keys.length) return map; - var array = [], sortKey = sortKeys[depth++]; - map.forEach(function(key, keyMap) { - array.push({ - key: key, - values: entries(keyMap, depth) - }); - }); - return sortKey ? array.sort(function(a, b) { - return sortKey(a.key, b.key); - }) : array; - } - nest.map = function(array, mapType) { - return map(mapType, array, 0); - }; - nest.entries = function(array) { - return entries(map(d3.map, array, 0), 0); - }; - nest.key = function(d) { - keys.push(d); - return nest; - }; - nest.sortKeys = function(order) { - sortKeys[keys.length - 1] = order; - return nest; - }; - nest.sortValues = function(order) { - sortValues = order; - return nest; - }; - nest.rollup = function(f) { - rollup = f; - return nest; - }; - return nest; - }; - d3.set = function(array) { - var set = new d3_Set(); - if (array) for (var i = 0, n = array.length; i < n; ++i) set.add(array[i]); - return set; - }; - function d3_Set() { - this._ = Object.create(null); - } - d3_class(d3_Set, { - has: d3_map_has, - add: function(key) { - this._[d3_map_escape(key += "")] = true; - return key; - }, - remove: d3_map_remove, - values: d3_map_keys, - size: d3_map_size, - empty: d3_map_empty, - forEach: function(f) { - for (var key in this._) f.call(this, d3_map_unescape(key)); - } - }); - d3.behavior = {}; - d3.rebind = function(target, source) { - var i = 1, n = arguments.length, method; - while (++i < n) target[method = arguments[i]] = d3_rebind(target, source, source[method]); - return target; - }; - function d3_rebind(target, source, method) { - return function() { - var value = method.apply(source, arguments); - return value === source ? target : value; - }; - } - function d3_vendorSymbol(object, name) { - if (name in object) return name; - name = name.charAt(0).toUpperCase() + name.slice(1); - for (var i = 0, n = d3_vendorPrefixes.length; i < n; ++i) { - var prefixName = d3_vendorPrefixes[i] + name; - if (prefixName in object) return prefixName; - } - } - var d3_vendorPrefixes = [ "webkit", "ms", "moz", "Moz", "o", "O" ]; - function d3_noop() {} - d3.dispatch = function() { - var dispatch = new d3_dispatch(), i = -1, n = arguments.length; - while (++i < n) dispatch[arguments[i]] = d3_dispatch_event(dispatch); - return dispatch; - }; - function d3_dispatch() {} - d3_dispatch.prototype.on = function(type, listener) { - var i = type.indexOf("."), name = ""; - if (i >= 0) { - name = type.slice(i + 1); - type = type.slice(0, i); - } - if (type) return arguments.length < 2 ? this[type].on(name) : this[type].on(name, listener); - if (arguments.length === 2) { - if (listener == null) for (type in this) { - if (this.hasOwnProperty(type)) this[type].on(name, null); - } - return this; - } - }; - function d3_dispatch_event(dispatch) { - var listeners = [], listenerByName = new d3_Map(); - function event() { - var z = listeners, i = -1, n = z.length, l; - while (++i < n) if (l = z[i].on) l.apply(this, arguments); - return dispatch; - } - event.on = function(name, listener) { - var l = listenerByName.get(name), i; - if (arguments.length < 2) return l && l.on; - if (l) { - l.on = null; - listeners = listeners.slice(0, i = listeners.indexOf(l)).concat(listeners.slice(i + 1)); - listenerByName.remove(name); - } - if (listener) listeners.push(listenerByName.set(name, { - on: listener - })); - return dispatch; - }; - return event; - } - d3.event = null; - function d3_eventPreventDefault() { - d3.event.preventDefault(); - } - function d3_eventSource() { - var e = d3.event, s; - while (s = e.sourceEvent) e = s; - return e; - } - function d3_eventDispatch(target) { - var dispatch = new d3_dispatch(), i = 0, n = arguments.length; - while (++i < n) dispatch[arguments[i]] = d3_dispatch_event(dispatch); - dispatch.of = function(thiz, argumentz) { - return function(e1) { - try { - var e0 = e1.sourceEvent = d3.event; - e1.target = target; - d3.event = e1; - dispatch[e1.type].apply(thiz, argumentz); - } finally { - d3.event = e0; - } - }; - }; - return dispatch; - } - d3.requote = function(s) { - return s.replace(d3_requote_re, "\\$&"); - }; - var d3_requote_re = /[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g; - var d3_subclass = {}.__proto__ ? function(object, prototype) { - object.__proto__ = prototype; - } : function(object, prototype) { - for (var property in prototype) object[property] = prototype[property]; - }; - function d3_selection(groups) { - d3_subclass(groups, d3_selectionPrototype); - return groups; - } - var d3_select = function(s, n) { - return n.querySelector(s); - }, d3_selectAll = function(s, n) { - return n.querySelectorAll(s); - }, d3_selectMatcher = d3_documentElement.matches || d3_documentElement[d3_vendorSymbol(d3_documentElement, "matchesSelector")], d3_selectMatches = function(n, s) { - return d3_selectMatcher.call(n, s); - }; - if (typeof Sizzle === "function") { - d3_select = function(s, n) { - return Sizzle(s, n)[0] || null; - }; - d3_selectAll = Sizzle; - d3_selectMatches = Sizzle.matchesSelector; - } - d3.selection = function() { - return d3_selectionRoot; - }; - var d3_selectionPrototype = d3.selection.prototype = []; - d3_selectionPrototype.select = function(selector) { - var subgroups = [], subgroup, subnode, group, node; - selector = d3_selection_selector(selector); - for (var j = -1, m = this.length; ++j < m; ) { - subgroups.push(subgroup = []); - subgroup.parentNode = (group = this[j]).parentNode; - for (var i = -1, n = group.length; ++i < n; ) { - if (node = group[i]) { - subgroup.push(subnode = selector.call(node, node.__data__, i, j)); - if (subnode && "__data__" in node) subnode.__data__ = node.__data__; - } else { - subgroup.push(null); - } - } - } - return d3_selection(subgroups); - }; - function d3_selection_selector(selector) { - return typeof selector === "function" ? selector : function() { - return d3_select(selector, this); - }; - } - d3_selectionPrototype.selectAll = function(selector) { - var subgroups = [], subgroup, node; - selector = d3_selection_selectorAll(selector); - for (var j = -1, m = this.length; ++j < m; ) { - for (var group = this[j], i = -1, n = group.length; ++i < n; ) { - if (node = group[i]) { - subgroups.push(subgroup = d3_array(selector.call(node, node.__data__, i, j))); - subgroup.parentNode = node; - } - } - } - return d3_selection(subgroups); - }; - function d3_selection_selectorAll(selector) { - return typeof selector === "function" ? selector : function() { - return d3_selectAll(selector, this); - }; - } - var d3_nsPrefix = { - svg: "http://www.w3.org/2000/svg", - xhtml: "http://www.w3.org/1999/xhtml", - xlink: "http://www.w3.org/1999/xlink", - xml: "http://www.w3.org/XML/1998/namespace", - xmlns: "http://www.w3.org/2000/xmlns/" - }; - d3.ns = { - prefix: d3_nsPrefix, - qualify: function(name) { - var i = name.indexOf(":"), prefix = name; - if (i >= 0) { - prefix = name.slice(0, i); - name = name.slice(i + 1); - } - return d3_nsPrefix.hasOwnProperty(prefix) ? { - space: d3_nsPrefix[prefix], - local: name - } : name; - } - }; - d3_selectionPrototype.attr = function(name, value) { - if (arguments.length < 2) { - if (typeof name === "string") { - var node = this.node(); - name = d3.ns.qualify(name); - return name.local ? node.getAttributeNS(name.space, name.local) : node.getAttribute(name); - } - for (value in name) this.each(d3_selection_attr(value, name[value])); - return this; - } - return this.each(d3_selection_attr(name, value)); - }; - function d3_selection_attr(name, value) { - name = d3.ns.qualify(name); - function attrNull() { - this.removeAttribute(name); - } - function attrNullNS() { - this.removeAttributeNS(name.space, name.local); - } - function attrConstant() { - this.setAttribute(name, value); - } - function attrConstantNS() { - this.setAttributeNS(name.space, name.local, value); - } - function attrFunction() { - var x = value.apply(this, arguments); - if (x == null) this.removeAttribute(name); else this.setAttribute(name, x); - } - function attrFunctionNS() { - var x = value.apply(this, arguments); - if (x == null) this.removeAttributeNS(name.space, name.local); else this.setAttributeNS(name.space, name.local, x); - } - return value == null ? name.local ? attrNullNS : attrNull : typeof value === "function" ? name.local ? attrFunctionNS : attrFunction : name.local ? attrConstantNS : attrConstant; - } - function d3_collapse(s) { - return s.trim().replace(/\s+/g, " "); - } - d3_selectionPrototype.classed = function(name, value) { - if (arguments.length < 2) { - if (typeof name === "string") { - var node = this.node(), n = (name = d3_selection_classes(name)).length, i = -1; - if (value = node.classList) { - while (++i < n) if (!value.contains(name[i])) return false; - } else { - value = node.getAttribute("class"); - while (++i < n) if (!d3_selection_classedRe(name[i]).test(value)) return false; - } - return true; - } - for (value in name) this.each(d3_selection_classed(value, name[value])); - return this; - } - return this.each(d3_selection_classed(name, value)); - }; - function d3_selection_classedRe(name) { - return new RegExp("(?:^|\\s+)" + d3.requote(name) + "(?:\\s+|$)", "g"); - } - function d3_selection_classes(name) { - return (name + "").trim().split(/^|\s+/); - } - function d3_selection_classed(name, value) { - name = d3_selection_classes(name).map(d3_selection_classedName); - var n = name.length; - function classedConstant() { - var i = -1; - while (++i < n) name[i](this, value); - } - function classedFunction() { - var i = -1, x = value.apply(this, arguments); - while (++i < n) name[i](this, x); - } - return typeof value === "function" ? classedFunction : classedConstant; - } - function d3_selection_classedName(name) { - var re = d3_selection_classedRe(name); - return function(node, value) { - if (c = node.classList) return value ? c.add(name) : c.remove(name); - var c = node.getAttribute("class") || ""; - if (value) { - re.lastIndex = 0; - if (!re.test(c)) node.setAttribute("class", d3_collapse(c + " " + name)); - } else { - node.setAttribute("class", d3_collapse(c.replace(re, " "))); - } - }; - } - d3_selectionPrototype.style = function(name, value, priority) { - var n = arguments.length; - if (n < 3) { - if (typeof name !== "string") { - if (n < 2) value = ""; - for (priority in name) this.each(d3_selection_style(priority, name[priority], value)); - return this; - } - if (n < 2) return d3_window.getComputedStyle(this.node(), null).getPropertyValue(name); - priority = ""; - } - return this.each(d3_selection_style(name, value, priority)); - }; - function d3_selection_style(name, value, priority) { - function styleNull() { - this.style.removeProperty(name); - } - function styleConstant() { - this.style.setProperty(name, value, priority); - } - function styleFunction() { - var x = value.apply(this, arguments); - if (x == null) this.style.removeProperty(name); else this.style.setProperty(name, x, priority); - } - return value == null ? styleNull : typeof value === "function" ? styleFunction : styleConstant; - } - d3_selectionPrototype.property = function(name, value) { - if (arguments.length < 2) { - if (typeof name === "string") return this.node()[name]; - for (value in name) this.each(d3_selection_property(value, name[value])); - return this; - } - return this.each(d3_selection_property(name, value)); - }; - function d3_selection_property(name, value) { - function propertyNull() { - delete this[name]; - } - function propertyConstant() { - this[name] = value; - } - function propertyFunction() { - var x = value.apply(this, arguments); - if (x == null) delete this[name]; else this[name] = x; - } - return value == null ? propertyNull : typeof value === "function" ? propertyFunction : propertyConstant; - } - d3_selectionPrototype.text = function(value) { - return arguments.length ? this.each(typeof value === "function" ? function() { - var v = value.apply(this, arguments); - this.textContent = v == null ? "" : v; - } : value == null ? function() { - this.textContent = ""; - } : function() { - this.textContent = value; - }) : this.node().textContent; - }; - d3_selectionPrototype.html = function(value) { - return arguments.length ? this.each(typeof value === "function" ? function() { - var v = value.apply(this, arguments); - this.innerHTML = v == null ? "" : v; - } : value == null ? function() { - this.innerHTML = ""; - } : function() { - this.innerHTML = value; - }) : this.node().innerHTML; - }; - d3_selectionPrototype.append = function(name) { - name = d3_selection_creator(name); - return this.select(function() { - return this.appendChild(name.apply(this, arguments)); - }); - }; - function d3_selection_creator(name) { - return typeof name === "function" ? name : (name = d3.ns.qualify(name)).local ? function() { - return this.ownerDocument.createElementNS(name.space, name.local); - } : function() { - return this.ownerDocument.createElementNS(this.namespaceURI, name); - }; - } - d3_selectionPrototype.insert = function(name, before) { - name = d3_selection_creator(name); - before = d3_selection_selector(before); - return this.select(function() { - return this.insertBefore(name.apply(this, arguments), before.apply(this, arguments) || null); - }); - }; - d3_selectionPrototype.remove = function() { - return this.each(d3_selectionRemove); - }; - function d3_selectionRemove() { - var parent = this.parentNode; - if (parent) parent.removeChild(this); - } - d3_selectionPrototype.data = function(value, key) { - var i = -1, n = this.length, group, node; - if (!arguments.length) { - value = new Array(n = (group = this[0]).length); - while (++i < n) { - if (node = group[i]) { - value[i] = node.__data__; - } - } - return value; - } - function bind(group, groupData) { - var i, n = group.length, m = groupData.length, n0 = Math.min(n, m), updateNodes = new Array(m), enterNodes = new Array(m), exitNodes = new Array(n), node, nodeData; - if (key) { - var nodeByKeyValue = new d3_Map(), keyValues = new Array(n), keyValue; - for (i = -1; ++i < n; ) { - if (nodeByKeyValue.has(keyValue = key.call(node = group[i], node.__data__, i))) { - exitNodes[i] = node; - } else { - nodeByKeyValue.set(keyValue, node); - } - keyValues[i] = keyValue; - } - for (i = -1; ++i < m; ) { - if (!(node = nodeByKeyValue.get(keyValue = key.call(groupData, nodeData = groupData[i], i)))) { - enterNodes[i] = d3_selection_dataNode(nodeData); - } else if (node !== true) { - updateNodes[i] = node; - node.__data__ = nodeData; - } - nodeByKeyValue.set(keyValue, true); - } - for (i = -1; ++i < n; ) { - if (nodeByKeyValue.get(keyValues[i]) !== true) { - exitNodes[i] = group[i]; - } - } - } else { - for (i = -1; ++i < n0; ) { - node = group[i]; - nodeData = groupData[i]; - if (node) { - node.__data__ = nodeData; - updateNodes[i] = node; - } else { - enterNodes[i] = d3_selection_dataNode(nodeData); - } - } - for (;i < m; ++i) { - enterNodes[i] = d3_selection_dataNode(groupData[i]); - } - for (;i < n; ++i) { - exitNodes[i] = group[i]; - } - } - enterNodes.update = updateNodes; - enterNodes.parentNode = updateNodes.parentNode = exitNodes.parentNode = group.parentNode; - enter.push(enterNodes); - update.push(updateNodes); - exit.push(exitNodes); - } - var enter = d3_selection_enter([]), update = d3_selection([]), exit = d3_selection([]); - if (typeof value === "function") { - while (++i < n) { - bind(group = this[i], value.call(group, group.parentNode.__data__, i)); - } - } else { - while (++i < n) { - bind(group = this[i], value); - } - } - update.enter = function() { - return enter; - }; - update.exit = function() { - return exit; - }; - return update; - }; - function d3_selection_dataNode(data) { - return { - __data__: data - }; - } - d3_selectionPrototype.datum = function(value) { - return arguments.length ? this.property("__data__", value) : this.property("__data__"); - }; - d3_selectionPrototype.filter = function(filter) { - var subgroups = [], subgroup, group, node; - if (typeof filter !== "function") filter = d3_selection_filter(filter); - for (var j = 0, m = this.length; j < m; j++) { - subgroups.push(subgroup = []); - subgroup.parentNode = (group = this[j]).parentNode; - for (var i = 0, n = group.length; i < n; i++) { - if ((node = group[i]) && filter.call(node, node.__data__, i, j)) { - subgroup.push(node); - } - } - } - return d3_selection(subgroups); - }; - function d3_selection_filter(selector) { - return function() { - return d3_selectMatches(this, selector); - }; - } - d3_selectionPrototype.order = function() { - for (var j = -1, m = this.length; ++j < m; ) { - for (var group = this[j], i = group.length - 1, next = group[i], node; --i >= 0; ) { - if (node = group[i]) { - if (next && next !== node.nextSibling) next.parentNode.insertBefore(node, next); - next = node; - } - } - } - return this; - }; - d3_selectionPrototype.sort = function(comparator) { - comparator = d3_selection_sortComparator.apply(this, arguments); - for (var j = -1, m = this.length; ++j < m; ) this[j].sort(comparator); - return this.order(); - }; - function d3_selection_sortComparator(comparator) { - if (!arguments.length) comparator = d3_ascending; - return function(a, b) { - return a && b ? comparator(a.__data__, b.__data__) : !a - !b; - }; - } - d3_selectionPrototype.each = function(callback) { - return d3_selection_each(this, function(node, i, j) { - callback.call(node, node.__data__, i, j); - }); - }; - function d3_selection_each(groups, callback) { - for (var j = 0, m = groups.length; j < m; j++) { - for (var group = groups[j], i = 0, n = group.length, node; i < n; i++) { - if (node = group[i]) callback(node, i, j); - } - } - return groups; - } - d3_selectionPrototype.call = function(callback) { - var args = d3_array(arguments); - callback.apply(args[0] = this, args); - return this; - }; - d3_selectionPrototype.empty = function() { - return !this.node(); - }; - d3_selectionPrototype.node = function() { - for (var j = 0, m = this.length; j < m; j++) { - for (var group = this[j], i = 0, n = group.length; i < n; i++) { - var node = group[i]; - if (node) return node; - } - } - return null; - }; - d3_selectionPrototype.size = function() { - var n = 0; - d3_selection_each(this, function() { - ++n; - }); - return n; - }; - function d3_selection_enter(selection) { - d3_subclass(selection, d3_selection_enterPrototype); - return selection; - } - var d3_selection_enterPrototype = []; - d3.selection.enter = d3_selection_enter; - d3.selection.enter.prototype = d3_selection_enterPrototype; - d3_selection_enterPrototype.append = d3_selectionPrototype.append; - d3_selection_enterPrototype.empty = d3_selectionPrototype.empty; - d3_selection_enterPrototype.node = d3_selectionPrototype.node; - d3_selection_enterPrototype.call = d3_selectionPrototype.call; - d3_selection_enterPrototype.size = d3_selectionPrototype.size; - d3_selection_enterPrototype.select = function(selector) { - var subgroups = [], subgroup, subnode, upgroup, group, node; - for (var j = -1, m = this.length; ++j < m; ) { - upgroup = (group = this[j]).update; - subgroups.push(subgroup = []); - subgroup.parentNode = group.parentNode; - for (var i = -1, n = group.length; ++i < n; ) { - if (node = group[i]) { - subgroup.push(upgroup[i] = subnode = selector.call(group.parentNode, node.__data__, i, j)); - subnode.__data__ = node.__data__; - } else { - subgroup.push(null); - } - } - } - return d3_selection(subgroups); - }; - d3_selection_enterPrototype.insert = function(name, before) { - if (arguments.length < 2) before = d3_selection_enterInsertBefore(this); - return d3_selectionPrototype.insert.call(this, name, before); - }; - function d3_selection_enterInsertBefore(enter) { - var i0, j0; - return function(d, i, j) { - var group = enter[j].update, n = group.length, node; - if (j != j0) j0 = j, i0 = 0; - if (i >= i0) i0 = i + 1; - while (!(node = group[i0]) && ++i0 < n) ; - return node; - }; - } - d3.select = function(node) { - var group = [ typeof node === "string" ? d3_select(node, d3_document) : node ]; - group.parentNode = d3_documentElement; - return d3_selection([ group ]); - }; - d3.selectAll = function(nodes) { - var group = d3_array(typeof nodes === "string" ? d3_selectAll(nodes, d3_document) : nodes); - group.parentNode = d3_documentElement; - return d3_selection([ group ]); - }; - var d3_selectionRoot = d3.select(d3_documentElement); - d3_selectionPrototype.on = function(type, listener, capture) { - var n = arguments.length; - if (n < 3) { - if (typeof type !== "string") { - if (n < 2) listener = false; - for (capture in type) this.each(d3_selection_on(capture, type[capture], listener)); - return this; - } - if (n < 2) return (n = this.node()["__on" + type]) && n._; - capture = false; - } - return this.each(d3_selection_on(type, listener, capture)); - }; - function d3_selection_on(type, listener, capture) { - var name = "__on" + type, i = type.indexOf("."), wrap = d3_selection_onListener; - if (i > 0) type = type.slice(0, i); - var filter = d3_selection_onFilters.get(type); - if (filter) type = filter, wrap = d3_selection_onFilter; - function onRemove() { - var l = this[name]; - if (l) { - this.removeEventListener(type, l, l.$); - delete this[name]; - } - } - function onAdd() { - var l = wrap(listener, d3_array(arguments)); - onRemove.call(this); - this.addEventListener(type, this[name] = l, l.$ = capture); - l._ = listener; - } - function removeAll() { - var re = new RegExp("^__on([^.]+)" + d3.requote(type) + "$"), match; - for (var name in this) { - if (match = name.match(re)) { - var l = this[name]; - this.removeEventListener(match[1], l, l.$); - delete this[name]; - } - } - } - return i ? listener ? onAdd : onRemove : listener ? d3_noop : removeAll; - } - var d3_selection_onFilters = d3.map({ - mouseenter: "mouseover", - mouseleave: "mouseout" - }); - d3_selection_onFilters.forEach(function(k) { - if ("on" + k in d3_document) d3_selection_onFilters.remove(k); - }); - function d3_selection_onListener(listener, argumentz) { - return function(e) { - var o = d3.event; - d3.event = e; - argumentz[0] = this.__data__; - try { - listener.apply(this, argumentz); - } finally { - d3.event = o; - } - }; - } - function d3_selection_onFilter(listener, argumentz) { - var l = d3_selection_onListener(listener, argumentz); - return function(e) { - var target = this, related = e.relatedTarget; - if (!related || related !== target && !(related.compareDocumentPosition(target) & 8)) { - l.call(target, e); - } - }; - } - var d3_event_dragSelect = "onselectstart" in d3_document ? null : d3_vendorSymbol(d3_documentElement.style, "userSelect"), d3_event_dragId = 0; - function d3_event_dragSuppress() { - var name = ".dragsuppress-" + ++d3_event_dragId, click = "click" + name, w = d3.select(d3_window).on("touchmove" + name, d3_eventPreventDefault).on("dragstart" + name, d3_eventPreventDefault).on("selectstart" + name, d3_eventPreventDefault); - if (d3_event_dragSelect) { - var style = d3_documentElement.style, select = style[d3_event_dragSelect]; - style[d3_event_dragSelect] = "none"; - } - return function(suppressClick) { - w.on(name, null); - if (d3_event_dragSelect) style[d3_event_dragSelect] = select; - if (suppressClick) { - var off = function() { - w.on(click, null); - }; - w.on(click, function() { - d3_eventPreventDefault(); - off(); - }, true); - setTimeout(off, 0); - } - }; - } - d3.mouse = function(container) { - return d3_mousePoint(container, d3_eventSource()); - }; - var d3_mouse_bug44083 = /WebKit/.test(d3_window.navigator.userAgent) ? -1 : 0; - function d3_mousePoint(container, e) { - if (e.changedTouches) e = e.changedTouches[0]; - var svg = container.ownerSVGElement || container; - if (svg.createSVGPoint) { - var point = svg.createSVGPoint(); - if (d3_mouse_bug44083 < 0 && (d3_window.scrollX || d3_window.scrollY)) { - svg = d3.select("body").append("svg").style({ - position: "absolute", - top: 0, - left: 0, - margin: 0, - padding: 0, - border: "none" - }, "important"); - var ctm = svg[0][0].getScreenCTM(); - d3_mouse_bug44083 = !(ctm.f || ctm.e); - svg.remove(); - } - if (d3_mouse_bug44083) point.x = e.pageX, point.y = e.pageY; else point.x = e.clientX, - point.y = e.clientY; - point = point.matrixTransform(container.getScreenCTM().inverse()); - return [ point.x, point.y ]; - } - var rect = container.getBoundingClientRect(); - return [ e.clientX - rect.left - container.clientLeft, e.clientY - rect.top - container.clientTop ]; - } - d3.touch = function(container, touches, identifier) { - if (arguments.length < 3) identifier = touches, touches = d3_eventSource().changedTouches; - if (touches) for (var i = 0, n = touches.length, touch; i < n; ++i) { - if ((touch = touches[i]).identifier === identifier) { - return d3_mousePoint(container, touch); - } - } - }; - d3.behavior.drag = function() { - var event = d3_eventDispatch(drag, "drag", "dragstart", "dragend"), origin = null, mousedown = dragstart(d3_noop, d3.mouse, d3_behavior_dragMouseSubject, "mousemove", "mouseup"), touchstart = dragstart(d3_behavior_dragTouchId, d3.touch, d3_behavior_dragTouchSubject, "touchmove", "touchend"); - function drag() { - this.on("mousedown.drag", mousedown).on("touchstart.drag", touchstart); - } - function dragstart(id, position, subject, move, end) { - return function() { - var that = this, target = d3.event.target, parent = that.parentNode, dispatch = event.of(that, arguments), dragged = 0, dragId = id(), dragName = ".drag" + (dragId == null ? "" : "-" + dragId), dragOffset, dragSubject = d3.select(subject()).on(move + dragName, moved).on(end + dragName, ended), dragRestore = d3_event_dragSuppress(), position0 = position(parent, dragId); - if (origin) { - dragOffset = origin.apply(that, arguments); - dragOffset = [ dragOffset.x - position0[0], dragOffset.y - position0[1] ]; - } else { - dragOffset = [ 0, 0 ]; - } - dispatch({ - type: "dragstart" - }); - function moved() { - var position1 = position(parent, dragId), dx, dy; - if (!position1) return; - dx = position1[0] - position0[0]; - dy = position1[1] - position0[1]; - dragged |= dx | dy; - position0 = position1; - dispatch({ - type: "drag", - x: position1[0] + dragOffset[0], - y: position1[1] + dragOffset[1], - dx: dx, - dy: dy - }); - } - function ended() { - if (!position(parent, dragId)) return; - dragSubject.on(move + dragName, null).on(end + dragName, null); - dragRestore(dragged && d3.event.target === target); - dispatch({ - type: "dragend" - }); - } - }; - } - drag.origin = function(x) { - if (!arguments.length) return origin; - origin = x; - return drag; - }; - return d3.rebind(drag, event, "on"); - }; - function d3_behavior_dragTouchId() { - return d3.event.changedTouches[0].identifier; - } - function d3_behavior_dragTouchSubject() { - return d3.event.target; - } - function d3_behavior_dragMouseSubject() { - return d3_window; - } - d3.touches = function(container, touches) { - if (arguments.length < 2) touches = d3_eventSource().touches; - return touches ? d3_array(touches).map(function(touch) { - var point = d3_mousePoint(container, touch); - point.identifier = touch.identifier; - return point; - }) : []; - }; - var ε = 1e-6, ε2 = ε * ε, π = Math.PI, τ = 2 * π, τε = τ - ε, halfπ = π / 2, d3_radians = π / 180, d3_degrees = 180 / π; - function d3_sgn(x) { - return x > 0 ? 1 : x < 0 ? -1 : 0; - } - function d3_cross2d(a, b, c) { - return (b[0] - a[0]) * (c[1] - a[1]) - (b[1] - a[1]) * (c[0] - a[0]); - } - function d3_acos(x) { - return x > 1 ? 0 : x < -1 ? π : Math.acos(x); - } - function d3_asin(x) { - return x > 1 ? halfπ : x < -1 ? -halfπ : Math.asin(x); - } - function d3_sinh(x) { - return ((x = Math.exp(x)) - 1 / x) / 2; - } - function d3_cosh(x) { - return ((x = Math.exp(x)) + 1 / x) / 2; - } - function d3_tanh(x) { - return ((x = Math.exp(2 * x)) - 1) / (x + 1); - } - function d3_haversin(x) { - return (x = Math.sin(x / 2)) * x; - } - var ρ = Math.SQRT2, ρ2 = 2, ρ4 = 4; - d3.interpolateZoom = function(p0, p1) { - var ux0 = p0[0], uy0 = p0[1], w0 = p0[2], ux1 = p1[0], uy1 = p1[1], w1 = p1[2]; - var dx = ux1 - ux0, dy = uy1 - uy0, d2 = dx * dx + dy * dy, d1 = Math.sqrt(d2), b0 = (w1 * w1 - w0 * w0 + ρ4 * d2) / (2 * w0 * ρ2 * d1), b1 = (w1 * w1 - w0 * w0 - ρ4 * d2) / (2 * w1 * ρ2 * d1), r0 = Math.log(Math.sqrt(b0 * b0 + 1) - b0), r1 = Math.log(Math.sqrt(b1 * b1 + 1) - b1), dr = r1 - r0, S = (dr || Math.log(w1 / w0)) / ρ; - function interpolate(t) { - var s = t * S; - if (dr) { - var coshr0 = d3_cosh(r0), u = w0 / (ρ2 * d1) * (coshr0 * d3_tanh(ρ * s + r0) - d3_sinh(r0)); - return [ ux0 + u * dx, uy0 + u * dy, w0 * coshr0 / d3_cosh(ρ * s + r0) ]; - } - return [ ux0 + t * dx, uy0 + t * dy, w0 * Math.exp(ρ * s) ]; - } - interpolate.duration = S * 1e3; - return interpolate; - }; - d3.behavior.zoom = function() { - var view = { - x: 0, - y: 0, - k: 1 - }, translate0, center0, center, size = [ 960, 500 ], scaleExtent = d3_behavior_zoomInfinity, duration = 250, zooming = 0, mousedown = "mousedown.zoom", mousemove = "mousemove.zoom", mouseup = "mouseup.zoom", mousewheelTimer, touchstart = "touchstart.zoom", touchtime, event = d3_eventDispatch(zoom, "zoomstart", "zoom", "zoomend"), x0, x1, y0, y1; - function zoom(g) { - g.on(mousedown, mousedowned).on(d3_behavior_zoomWheel + ".zoom", mousewheeled).on("dblclick.zoom", dblclicked).on(touchstart, touchstarted); - } - zoom.event = function(g) { - g.each(function() { - var dispatch = event.of(this, arguments), view1 = view; - if (d3_transitionInheritId) { - d3.select(this).transition().each("start.zoom", function() { - view = this.__chart__ || { - x: 0, - y: 0, - k: 1 - }; - zoomstarted(dispatch); - }).tween("zoom:zoom", function() { - var dx = size[0], dy = size[1], cx = center0 ? center0[0] : dx / 2, cy = center0 ? center0[1] : dy / 2, i = d3.interpolateZoom([ (cx - view.x) / view.k, (cy - view.y) / view.k, dx / view.k ], [ (cx - view1.x) / view1.k, (cy - view1.y) / view1.k, dx / view1.k ]); - return function(t) { - var l = i(t), k = dx / l[2]; - this.__chart__ = view = { - x: cx - l[0] * k, - y: cy - l[1] * k, - k: k - }; - zoomed(dispatch); - }; - }).each("interrupt.zoom", function() { - zoomended(dispatch); - }).each("end.zoom", function() { - zoomended(dispatch); - }); - } else { - this.__chart__ = view; - zoomstarted(dispatch); - zoomed(dispatch); - zoomended(dispatch); - } - }); - }; - zoom.translate = function(_) { - if (!arguments.length) return [ view.x, view.y ]; - view = { - x: +_[0], - y: +_[1], - k: view.k - }; - rescale(); - return zoom; - }; - zoom.scale = function(_) { - if (!arguments.length) return view.k; - view = { - x: view.x, - y: view.y, - k: +_ - }; - rescale(); - return zoom; - }; - zoom.scaleExtent = function(_) { - if (!arguments.length) return scaleExtent; - scaleExtent = _ == null ? d3_behavior_zoomInfinity : [ +_[0], +_[1] ]; - return zoom; - }; - zoom.center = function(_) { - if (!arguments.length) return center; - center = _ && [ +_[0], +_[1] ]; - return zoom; - }; - zoom.size = function(_) { - if (!arguments.length) return size; - size = _ && [ +_[0], +_[1] ]; - return zoom; - }; - zoom.duration = function(_) { - if (!arguments.length) return duration; - duration = +_; - return zoom; - }; - zoom.x = function(z) { - if (!arguments.length) return x1; - x1 = z; - x0 = z.copy(); - view = { - x: 0, - y: 0, - k: 1 - }; - return zoom; - }; - zoom.y = function(z) { - if (!arguments.length) return y1; - y1 = z; - y0 = z.copy(); - view = { - x: 0, - y: 0, - k: 1 - }; - return zoom; - }; - function location(p) { - return [ (p[0] - view.x) / view.k, (p[1] - view.y) / view.k ]; - } - function point(l) { - return [ l[0] * view.k + view.x, l[1] * view.k + view.y ]; - } - function scaleTo(s) { - view.k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], s)); - } - function translateTo(p, l) { - l = point(l); - view.x += p[0] - l[0]; - view.y += p[1] - l[1]; - } - function zoomTo(that, p, l, k) { - that.__chart__ = { - x: view.x, - y: view.y, - k: view.k - }; - scaleTo(Math.pow(2, k)); - translateTo(center0 = p, l); - that = d3.select(that); - if (duration > 0) that = that.transition().duration(duration); - that.call(zoom.event); - } - function rescale() { - if (x1) x1.domain(x0.range().map(function(x) { - return (x - view.x) / view.k; - }).map(x0.invert)); - if (y1) y1.domain(y0.range().map(function(y) { - return (y - view.y) / view.k; - }).map(y0.invert)); - } - function zoomstarted(dispatch) { - if (!zooming++) dispatch({ - type: "zoomstart" - }); - } - function zoomed(dispatch) { - rescale(); - dispatch({ - type: "zoom", - scale: view.k, - translate: [ view.x, view.y ] - }); - } - function zoomended(dispatch) { - if (!--zooming) dispatch({ - type: "zoomend" - }); - center0 = null; - } - function mousedowned() { - var that = this, target = d3.event.target, dispatch = event.of(that, arguments), dragged = 0, subject = d3.select(d3_window).on(mousemove, moved).on(mouseup, ended), location0 = location(d3.mouse(that)), dragRestore = d3_event_dragSuppress(); - d3_selection_interrupt.call(that); - zoomstarted(dispatch); - function moved() { - dragged = 1; - translateTo(d3.mouse(that), location0); - zoomed(dispatch); - } - function ended() { - subject.on(mousemove, null).on(mouseup, null); - dragRestore(dragged && d3.event.target === target); - zoomended(dispatch); - } - } - function touchstarted() { - var that = this, dispatch = event.of(that, arguments), locations0 = {}, distance0 = 0, scale0, zoomName = ".zoom-" + d3.event.changedTouches[0].identifier, touchmove = "touchmove" + zoomName, touchend = "touchend" + zoomName, targets = [], subject = d3.select(that), dragRestore = d3_event_dragSuppress(); - started(); - zoomstarted(dispatch); - subject.on(mousedown, null).on(touchstart, started); - function relocate() { - var touches = d3.touches(that); - scale0 = view.k; - touches.forEach(function(t) { - if (t.identifier in locations0) locations0[t.identifier] = location(t); - }); - return touches; - } - function started() { - var target = d3.event.target; - d3.select(target).on(touchmove, moved).on(touchend, ended); - targets.push(target); - var changed = d3.event.changedTouches; - for (var i = 0, n = changed.length; i < n; ++i) { - locations0[changed[i].identifier] = null; - } - var touches = relocate(), now = Date.now(); - if (touches.length === 1) { - if (now - touchtime < 500) { - var p = touches[0]; - zoomTo(that, p, locations0[p.identifier], Math.floor(Math.log(view.k) / Math.LN2) + 1); - d3_eventPreventDefault(); - } - touchtime = now; - } else if (touches.length > 1) { - var p = touches[0], q = touches[1], dx = p[0] - q[0], dy = p[1] - q[1]; - distance0 = dx * dx + dy * dy; - } - } - function moved() { - var touches = d3.touches(that), p0, l0, p1, l1; - d3_selection_interrupt.call(that); - for (var i = 0, n = touches.length; i < n; ++i, l1 = null) { - p1 = touches[i]; - if (l1 = locations0[p1.identifier]) { - if (l0) break; - p0 = p1, l0 = l1; - } - } - if (l1) { - var distance1 = (distance1 = p1[0] - p0[0]) * distance1 + (distance1 = p1[1] - p0[1]) * distance1, scale1 = distance0 && Math.sqrt(distance1 / distance0); - p0 = [ (p0[0] + p1[0]) / 2, (p0[1] + p1[1]) / 2 ]; - l0 = [ (l0[0] + l1[0]) / 2, (l0[1] + l1[1]) / 2 ]; - scaleTo(scale1 * scale0); - } - touchtime = null; - translateTo(p0, l0); - zoomed(dispatch); - } - function ended() { - if (d3.event.touches.length) { - var changed = d3.event.changedTouches; - for (var i = 0, n = changed.length; i < n; ++i) { - delete locations0[changed[i].identifier]; - } - for (var identifier in locations0) { - return void relocate(); - } - } - d3.selectAll(targets).on(zoomName, null); - subject.on(mousedown, mousedowned).on(touchstart, touchstarted); - dragRestore(); - zoomended(dispatch); - } - } - function mousewheeled() { - var dispatch = event.of(this, arguments); - if (mousewheelTimer) clearTimeout(mousewheelTimer); else translate0 = location(center0 = center || d3.mouse(this)), - d3_selection_interrupt.call(this), zoomstarted(dispatch); - mousewheelTimer = setTimeout(function() { - mousewheelTimer = null; - zoomended(dispatch); - }, 50); - d3_eventPreventDefault(); - scaleTo(Math.pow(2, d3_behavior_zoomDelta() * .002) * view.k); - translateTo(center0, translate0); - zoomed(dispatch); - } - function dblclicked() { - var p = d3.mouse(this), k = Math.log(view.k) / Math.LN2; - zoomTo(this, p, location(p), d3.event.shiftKey ? Math.ceil(k) - 1 : Math.floor(k) + 1); - } - return d3.rebind(zoom, event, "on"); - }; - var d3_behavior_zoomInfinity = [ 0, Infinity ]; - var d3_behavior_zoomDelta, d3_behavior_zoomWheel = "onwheel" in d3_document ? (d3_behavior_zoomDelta = function() { - return -d3.event.deltaY * (d3.event.deltaMode ? 120 : 1); - }, "wheel") : "onmousewheel" in d3_document ? (d3_behavior_zoomDelta = function() { - return d3.event.wheelDelta; - }, "mousewheel") : (d3_behavior_zoomDelta = function() { - return -d3.event.detail; - }, "MozMousePixelScroll"); - d3.color = d3_color; - function d3_color() {} - d3_color.prototype.toString = function() { - return this.rgb() + ""; - }; - d3.hsl = d3_hsl; - function d3_hsl(h, s, l) { - return this instanceof d3_hsl ? void (this.h = +h, this.s = +s, this.l = +l) : arguments.length < 2 ? h instanceof d3_hsl ? new d3_hsl(h.h, h.s, h.l) : d3_rgb_parse("" + h, d3_rgb_hsl, d3_hsl) : new d3_hsl(h, s, l); - } - var d3_hslPrototype = d3_hsl.prototype = new d3_color(); - d3_hslPrototype.brighter = function(k) { - k = Math.pow(.7, arguments.length ? k : 1); - return new d3_hsl(this.h, this.s, this.l / k); - }; - d3_hslPrototype.darker = function(k) { - k = Math.pow(.7, arguments.length ? k : 1); - return new d3_hsl(this.h, this.s, k * this.l); - }; - d3_hslPrototype.rgb = function() { - return d3_hsl_rgb(this.h, this.s, this.l); - }; - function d3_hsl_rgb(h, s, l) { - var m1, m2; - h = isNaN(h) ? 0 : (h %= 360) < 0 ? h + 360 : h; - s = isNaN(s) ? 0 : s < 0 ? 0 : s > 1 ? 1 : s; - l = l < 0 ? 0 : l > 1 ? 1 : l; - m2 = l <= .5 ? l * (1 + s) : l + s - l * s; - m1 = 2 * l - m2; - function v(h) { - if (h > 360) h -= 360; else if (h < 0) h += 360; - if (h < 60) return m1 + (m2 - m1) * h / 60; - if (h < 180) return m2; - if (h < 240) return m1 + (m2 - m1) * (240 - h) / 60; - return m1; - } - function vv(h) { - return Math.round(v(h) * 255); - } - return new d3_rgb(vv(h + 120), vv(h), vv(h - 120)); - } - d3.hcl = d3_hcl; - function d3_hcl(h, c, l) { - return this instanceof d3_hcl ? void (this.h = +h, this.c = +c, this.l = +l) : arguments.length < 2 ? h instanceof d3_hcl ? new d3_hcl(h.h, h.c, h.l) : h instanceof d3_lab ? d3_lab_hcl(h.l, h.a, h.b) : d3_lab_hcl((h = d3_rgb_lab((h = d3.rgb(h)).r, h.g, h.b)).l, h.a, h.b) : new d3_hcl(h, c, l); - } - var d3_hclPrototype = d3_hcl.prototype = new d3_color(); - d3_hclPrototype.brighter = function(k) { - return new d3_hcl(this.h, this.c, Math.min(100, this.l + d3_lab_K * (arguments.length ? k : 1))); - }; - d3_hclPrototype.darker = function(k) { - return new d3_hcl(this.h, this.c, Math.max(0, this.l - d3_lab_K * (arguments.length ? k : 1))); - }; - d3_hclPrototype.rgb = function() { - return d3_hcl_lab(this.h, this.c, this.l).rgb(); - }; - function d3_hcl_lab(h, c, l) { - if (isNaN(h)) h = 0; - if (isNaN(c)) c = 0; - return new d3_lab(l, Math.cos(h *= d3_radians) * c, Math.sin(h) * c); - } - d3.lab = d3_lab; - function d3_lab(l, a, b) { - return this instanceof d3_lab ? void (this.l = +l, this.a = +a, this.b = +b) : arguments.length < 2 ? l instanceof d3_lab ? new d3_lab(l.l, l.a, l.b) : l instanceof d3_hcl ? d3_hcl_lab(l.h, l.c, l.l) : d3_rgb_lab((l = d3_rgb(l)).r, l.g, l.b) : new d3_lab(l, a, b); - } - var d3_lab_K = 18; - var d3_lab_X = .95047, d3_lab_Y = 1, d3_lab_Z = 1.08883; - var d3_labPrototype = d3_lab.prototype = new d3_color(); - d3_labPrototype.brighter = function(k) { - return new d3_lab(Math.min(100, this.l + d3_lab_K * (arguments.length ? k : 1)), this.a, this.b); - }; - d3_labPrototype.darker = function(k) { - return new d3_lab(Math.max(0, this.l - d3_lab_K * (arguments.length ? k : 1)), this.a, this.b); - }; - d3_labPrototype.rgb = function() { - return d3_lab_rgb(this.l, this.a, this.b); - }; - function d3_lab_rgb(l, a, b) { - var y = (l + 16) / 116, x = y + a / 500, z = y - b / 200; - x = d3_lab_xyz(x) * d3_lab_X; - y = d3_lab_xyz(y) * d3_lab_Y; - z = d3_lab_xyz(z) * d3_lab_Z; - return new d3_rgb(d3_xyz_rgb(3.2404542 * x - 1.5371385 * y - .4985314 * z), d3_xyz_rgb(-.969266 * x + 1.8760108 * y + .041556 * z), d3_xyz_rgb(.0556434 * x - .2040259 * y + 1.0572252 * z)); - } - function d3_lab_hcl(l, a, b) { - return l > 0 ? new d3_hcl(Math.atan2(b, a) * d3_degrees, Math.sqrt(a * a + b * b), l) : new d3_hcl(NaN, NaN, l); - } - function d3_lab_xyz(x) { - return x > .206893034 ? x * x * x : (x - 4 / 29) / 7.787037; - } - function d3_xyz_lab(x) { - return x > .008856 ? Math.pow(x, 1 / 3) : 7.787037 * x + 4 / 29; - } - function d3_xyz_rgb(r) { - return Math.round(255 * (r <= .00304 ? 12.92 * r : 1.055 * Math.pow(r, 1 / 2.4) - .055)); - } - d3.rgb = d3_rgb; - function d3_rgb(r, g, b) { - return this instanceof d3_rgb ? void (this.r = ~~r, this.g = ~~g, this.b = ~~b) : arguments.length < 2 ? r instanceof d3_rgb ? new d3_rgb(r.r, r.g, r.b) : d3_rgb_parse("" + r, d3_rgb, d3_hsl_rgb) : new d3_rgb(r, g, b); - } - function d3_rgbNumber(value) { - return new d3_rgb(value >> 16, value >> 8 & 255, value & 255); - } - function d3_rgbString(value) { - return d3_rgbNumber(value) + ""; - } - var d3_rgbPrototype = d3_rgb.prototype = new d3_color(); - d3_rgbPrototype.brighter = function(k) { - k = Math.pow(.7, arguments.length ? k : 1); - var r = this.r, g = this.g, b = this.b, i = 30; - if (!r && !g && !b) return new d3_rgb(i, i, i); - if (r && r < i) r = i; - if (g && g < i) g = i; - if (b && b < i) b = i; - return new d3_rgb(Math.min(255, r / k), Math.min(255, g / k), Math.min(255, b / k)); - }; - d3_rgbPrototype.darker = function(k) { - k = Math.pow(.7, arguments.length ? k : 1); - return new d3_rgb(k * this.r, k * this.g, k * this.b); - }; - d3_rgbPrototype.hsl = function() { - return d3_rgb_hsl(this.r, this.g, this.b); - }; - d3_rgbPrototype.toString = function() { - return "#" + d3_rgb_hex(this.r) + d3_rgb_hex(this.g) + d3_rgb_hex(this.b); - }; - function d3_rgb_hex(v) { - return v < 16 ? "0" + Math.max(0, v).toString(16) : Math.min(255, v).toString(16); - } - function d3_rgb_parse(format, rgb, hsl) { - var r = 0, g = 0, b = 0, m1, m2, color; - m1 = /([a-z]+)\((.*)\)/i.exec(format); - if (m1) { - m2 = m1[2].split(","); - switch (m1[1]) { - case "hsl": - { - return hsl(parseFloat(m2[0]), parseFloat(m2[1]) / 100, parseFloat(m2[2]) / 100); - } - - case "rgb": - { - return rgb(d3_rgb_parseNumber(m2[0]), d3_rgb_parseNumber(m2[1]), d3_rgb_parseNumber(m2[2])); - } - } - } - if (color = d3_rgb_names.get(format)) return rgb(color.r, color.g, color.b); - if (format != null && format.charAt(0) === "#" && !isNaN(color = parseInt(format.slice(1), 16))) { - if (format.length === 4) { - r = (color & 3840) >> 4; - r = r >> 4 | r; - g = color & 240; - g = g >> 4 | g; - b = color & 15; - b = b << 4 | b; - } else if (format.length === 7) { - r = (color & 16711680) >> 16; - g = (color & 65280) >> 8; - b = color & 255; - } - } - return rgb(r, g, b); - } - function d3_rgb_hsl(r, g, b) { - var min = Math.min(r /= 255, g /= 255, b /= 255), max = Math.max(r, g, b), d = max - min, h, s, l = (max + min) / 2; - if (d) { - s = l < .5 ? d / (max + min) : d / (2 - max - min); - if (r == max) h = (g - b) / d + (g < b ? 6 : 0); else if (g == max) h = (b - r) / d + 2; else h = (r - g) / d + 4; - h *= 60; - } else { - h = NaN; - s = l > 0 && l < 1 ? 0 : h; - } - return new d3_hsl(h, s, l); - } - function d3_rgb_lab(r, g, b) { - r = d3_rgb_xyz(r); - g = d3_rgb_xyz(g); - b = d3_rgb_xyz(b); - var x = d3_xyz_lab((.4124564 * r + .3575761 * g + .1804375 * b) / d3_lab_X), y = d3_xyz_lab((.2126729 * r + .7151522 * g + .072175 * b) / d3_lab_Y), z = d3_xyz_lab((.0193339 * r + .119192 * g + .9503041 * b) / d3_lab_Z); - return d3_lab(116 * y - 16, 500 * (x - y), 200 * (y - z)); - } - function d3_rgb_xyz(r) { - return (r /= 255) <= .04045 ? r / 12.92 : Math.pow((r + .055) / 1.055, 2.4); - } - function d3_rgb_parseNumber(c) { - var f = parseFloat(c); - return c.charAt(c.length - 1) === "%" ? Math.round(f * 2.55) : f; - } - var d3_rgb_names = d3.map({ - aliceblue: 15792383, - antiquewhite: 16444375, - aqua: 65535, - aquamarine: 8388564, - azure: 15794175, - beige: 16119260, - bisque: 16770244, - black: 0, - blanchedalmond: 16772045, - blue: 255, - blueviolet: 9055202, - brown: 10824234, - burlywood: 14596231, - cadetblue: 6266528, - chartreuse: 8388352, - chocolate: 13789470, - coral: 16744272, - cornflowerblue: 6591981, - cornsilk: 16775388, - crimson: 14423100, - cyan: 65535, - darkblue: 139, - darkcyan: 35723, - darkgoldenrod: 12092939, - darkgray: 11119017, - darkgreen: 25600, - darkgrey: 11119017, - darkkhaki: 12433259, - darkmagenta: 9109643, - darkolivegreen: 5597999, - darkorange: 16747520, - darkorchid: 10040012, - darkred: 9109504, - darksalmon: 15308410, - darkseagreen: 9419919, - darkslateblue: 4734347, - darkslategray: 3100495, - darkslategrey: 3100495, - darkturquoise: 52945, - darkviolet: 9699539, - deeppink: 16716947, - deepskyblue: 49151, - dimgray: 6908265, - dimgrey: 6908265, - dodgerblue: 2003199, - firebrick: 11674146, - floralwhite: 16775920, - forestgreen: 2263842, - fuchsia: 16711935, - gainsboro: 14474460, - ghostwhite: 16316671, - gold: 16766720, - goldenrod: 14329120, - gray: 8421504, - green: 32768, - greenyellow: 11403055, - grey: 8421504, - honeydew: 15794160, - hotpink: 16738740, - indianred: 13458524, - indigo: 4915330, - ivory: 16777200, - khaki: 15787660, - lavender: 15132410, - lavenderblush: 16773365, - lawngreen: 8190976, - lemonchiffon: 16775885, - lightblue: 11393254, - lightcoral: 15761536, - lightcyan: 14745599, - lightgoldenrodyellow: 16448210, - lightgray: 13882323, - lightgreen: 9498256, - lightgrey: 13882323, - lightpink: 16758465, - lightsalmon: 16752762, - lightseagreen: 2142890, - lightskyblue: 8900346, - lightslategray: 7833753, - lightslategrey: 7833753, - lightsteelblue: 11584734, - lightyellow: 16777184, - lime: 65280, - limegreen: 3329330, - linen: 16445670, - magenta: 16711935, - maroon: 8388608, - mediumaquamarine: 6737322, - mediumblue: 205, - mediumorchid: 12211667, - mediumpurple: 9662683, - mediumseagreen: 3978097, - mediumslateblue: 8087790, - mediumspringgreen: 64154, - mediumturquoise: 4772300, - mediumvioletred: 13047173, - midnightblue: 1644912, - mintcream: 16121850, - mistyrose: 16770273, - moccasin: 16770229, - navajowhite: 16768685, - navy: 128, - oldlace: 16643558, - olive: 8421376, - olivedrab: 7048739, - orange: 16753920, - orangered: 16729344, - orchid: 14315734, - palegoldenrod: 15657130, - palegreen: 10025880, - paleturquoise: 11529966, - palevioletred: 14381203, - papayawhip: 16773077, - peachpuff: 16767673, - peru: 13468991, - pink: 16761035, - plum: 14524637, - powderblue: 11591910, - purple: 8388736, - red: 16711680, - rosybrown: 12357519, - royalblue: 4286945, - saddlebrown: 9127187, - salmon: 16416882, - sandybrown: 16032864, - seagreen: 3050327, - seashell: 16774638, - sienna: 10506797, - silver: 12632256, - skyblue: 8900331, - slateblue: 6970061, - slategray: 7372944, - slategrey: 7372944, - snow: 16775930, - springgreen: 65407, - steelblue: 4620980, - tan: 13808780, - teal: 32896, - thistle: 14204888, - tomato: 16737095, - turquoise: 4251856, - violet: 15631086, - wheat: 16113331, - white: 16777215, - whitesmoke: 16119285, - yellow: 16776960, - yellowgreen: 10145074 - }); - d3_rgb_names.forEach(function(key, value) { - d3_rgb_names.set(key, d3_rgbNumber(value)); - }); - function d3_functor(v) { - return typeof v === "function" ? v : function() { - return v; - }; - } - d3.functor = d3_functor; - function d3_identity(d) { - return d; - } - d3.xhr = d3_xhrType(d3_identity); - function d3_xhrType(response) { - return function(url, mimeType, callback) { - if (arguments.length === 2 && typeof mimeType === "function") callback = mimeType, - mimeType = null; - return d3_xhr(url, mimeType, response, callback); - }; - } - function d3_xhr(url, mimeType, response, callback) { - var xhr = {}, dispatch = d3.dispatch("beforesend", "progress", "load", "error"), headers = {}, request = new XMLHttpRequest(), responseType = null; - if (d3_window.XDomainRequest && !("withCredentials" in request) && /^(http(s)?:)?\/\//.test(url)) request = new XDomainRequest(); - "onload" in request ? request.onload = request.onerror = respond : request.onreadystatechange = function() { - request.readyState > 3 && respond(); - }; - function respond() { - var status = request.status, result; - if (!status && d3_xhrHasResponse(request) || status >= 200 && status < 300 || status === 304) { - try { - result = response.call(xhr, request); - } catch (e) { - dispatch.error.call(xhr, e); - return; - } - dispatch.load.call(xhr, result); - } else { - dispatch.error.call(xhr, request); - } - } - request.onprogress = function(event) { - var o = d3.event; - d3.event = event; - try { - dispatch.progress.call(xhr, request); - } finally { - d3.event = o; - } - }; - xhr.header = function(name, value) { - name = (name + "").toLowerCase(); - if (arguments.length < 2) return headers[name]; - if (value == null) delete headers[name]; else headers[name] = value + ""; - return xhr; - }; - xhr.mimeType = function(value) { - if (!arguments.length) return mimeType; - mimeType = value == null ? null : value + ""; - return xhr; - }; - xhr.responseType = function(value) { - if (!arguments.length) return responseType; - responseType = value; - return xhr; - }; - xhr.response = function(value) { - response = value; - return xhr; - }; - [ "get", "post" ].forEach(function(method) { - xhr[method] = function() { - return xhr.send.apply(xhr, [ method ].concat(d3_array(arguments))); - }; - }); - xhr.send = function(method, data, callback) { - if (arguments.length === 2 && typeof data === "function") callback = data, data = null; - request.open(method, url, true); - if (mimeType != null && !("accept" in headers)) headers["accept"] = mimeType + ",*/*"; - if (request.setRequestHeader) for (var name in headers) request.setRequestHeader(name, headers[name]); - if (mimeType != null && request.overrideMimeType) request.overrideMimeType(mimeType); - if (responseType != null) request.responseType = responseType; - if (callback != null) xhr.on("error", callback).on("load", function(request) { - callback(null, request); - }); - dispatch.beforesend.call(xhr, request); - request.send(data == null ? null : data); - return xhr; - }; - xhr.abort = function() { - request.abort(); - return xhr; - }; - d3.rebind(xhr, dispatch, "on"); - return callback == null ? xhr : xhr.get(d3_xhr_fixCallback(callback)); - } - function d3_xhr_fixCallback(callback) { - return callback.length === 1 ? function(error, request) { - callback(error == null ? request : null); - } : callback; - } - function d3_xhrHasResponse(request) { - var type = request.responseType; - return type && type !== "text" ? request.response : request.responseText; - } - d3.dsv = function(delimiter, mimeType) { - var reFormat = new RegExp('["' + delimiter + "\n]"), delimiterCode = delimiter.charCodeAt(0); - function dsv(url, row, callback) { - if (arguments.length < 3) callback = row, row = null; - var xhr = d3_xhr(url, mimeType, row == null ? response : typedResponse(row), callback); - xhr.row = function(_) { - return arguments.length ? xhr.response((row = _) == null ? response : typedResponse(_)) : row; - }; - return xhr; - } - function response(request) { - return dsv.parse(request.responseText); - } - function typedResponse(f) { - return function(request) { - return dsv.parse(request.responseText, f); - }; - } - dsv.parse = function(text, f) { - var o; - return dsv.parseRows(text, function(row, i) { - if (o) return o(row, i - 1); - var a = new Function("d", "return {" + row.map(function(name, i) { - return JSON.stringify(name) + ": d[" + i + "]"; - }).join(",") + "}"); - o = f ? function(row, i) { - return f(a(row), i); - } : a; - }); - }; - dsv.parseRows = function(text, f) { - var EOL = {}, EOF = {}, rows = [], N = text.length, I = 0, n = 0, t, eol; - function token() { - if (I >= N) return EOF; - if (eol) return eol = false, EOL; - var j = I; - if (text.charCodeAt(j) === 34) { - var i = j; - while (i++ < N) { - if (text.charCodeAt(i) === 34) { - if (text.charCodeAt(i + 1) !== 34) break; - ++i; - } - } - I = i + 2; - var c = text.charCodeAt(i + 1); - if (c === 13) { - eol = true; - if (text.charCodeAt(i + 2) === 10) ++I; - } else if (c === 10) { - eol = true; - } - return text.slice(j + 1, i).replace(/""/g, '"'); - } - while (I < N) { - var c = text.charCodeAt(I++), k = 1; - if (c === 10) eol = true; else if (c === 13) { - eol = true; - if (text.charCodeAt(I) === 10) ++I, ++k; - } else if (c !== delimiterCode) continue; - return text.slice(j, I - k); - } - return text.slice(j); - } - while ((t = token()) !== EOF) { - var a = []; - while (t !== EOL && t !== EOF) { - a.push(t); - t = token(); - } - if (f && (a = f(a, n++)) == null) continue; - rows.push(a); - } - return rows; - }; - dsv.format = function(rows) { - if (Array.isArray(rows[0])) return dsv.formatRows(rows); - var fieldSet = new d3_Set(), fields = []; - rows.forEach(function(row) { - for (var field in row) { - if (!fieldSet.has(field)) { - fields.push(fieldSet.add(field)); - } - } - }); - return [ fields.map(formatValue).join(delimiter) ].concat(rows.map(function(row) { - return fields.map(function(field) { - return formatValue(row[field]); - }).join(delimiter); - })).join("\n"); - }; - dsv.formatRows = function(rows) { - return rows.map(formatRow).join("\n"); - }; - function formatRow(row) { - return row.map(formatValue).join(delimiter); - } - function formatValue(text) { - return reFormat.test(text) ? '"' + text.replace(/\"/g, '""') + '"' : text; - } - return dsv; - }; - d3.csv = d3.dsv(",", "text/csv"); - d3.tsv = d3.dsv(" ", "text/tab-separated-values"); - var d3_timer_queueHead, d3_timer_queueTail, d3_timer_interval, d3_timer_timeout, d3_timer_active, d3_timer_frame = d3_window[d3_vendorSymbol(d3_window, "requestAnimationFrame")] || function(callback) { - setTimeout(callback, 17); - }; - d3.timer = function(callback, delay, then) { - var n = arguments.length; - if (n < 2) delay = 0; - if (n < 3) then = Date.now(); - var time = then + delay, timer = { - c: callback, - t: time, - f: false, - n: null - }; - if (d3_timer_queueTail) d3_timer_queueTail.n = timer; else d3_timer_queueHead = timer; - d3_timer_queueTail = timer; - if (!d3_timer_interval) { - d3_timer_timeout = clearTimeout(d3_timer_timeout); - d3_timer_interval = 1; - d3_timer_frame(d3_timer_step); - } - }; - function d3_timer_step() { - var now = d3_timer_mark(), delay = d3_timer_sweep() - now; - if (delay > 24) { - if (isFinite(delay)) { - clearTimeout(d3_timer_timeout); - d3_timer_timeout = setTimeout(d3_timer_step, delay); - } - d3_timer_interval = 0; - } else { - d3_timer_interval = 1; - d3_timer_frame(d3_timer_step); - } - } - d3.timer.flush = function() { - d3_timer_mark(); - d3_timer_sweep(); - }; - function d3_timer_mark() { - var now = Date.now(); - d3_timer_active = d3_timer_queueHead; - while (d3_timer_active) { - if (now >= d3_timer_active.t) d3_timer_active.f = d3_timer_active.c(now - d3_timer_active.t); - d3_timer_active = d3_timer_active.n; - } - return now; - } - function d3_timer_sweep() { - var t0, t1 = d3_timer_queueHead, time = Infinity; - while (t1) { - if (t1.f) { - t1 = t0 ? t0.n = t1.n : d3_timer_queueHead = t1.n; - } else { - if (t1.t < time) time = t1.t; - t1 = (t0 = t1).n; - } - } - d3_timer_queueTail = t0; - return time; - } - function d3_format_precision(x, p) { - return p - (x ? Math.ceil(Math.log(x) / Math.LN10) : 1); - } - d3.round = function(x, n) { - return n ? Math.round(x * (n = Math.pow(10, n))) / n : Math.round(x); - }; - var d3_formatPrefixes = [ "y", "z", "a", "f", "p", "n", "µ", "m", "", "k", "M", "G", "T", "P", "E", "Z", "Y" ].map(d3_formatPrefix); - d3.formatPrefix = function(value, precision) { - var i = 0; - if (value) { - if (value < 0) value *= -1; - if (precision) value = d3.round(value, d3_format_precision(value, precision)); - i = 1 + Math.floor(1e-12 + Math.log(value) / Math.LN10); - i = Math.max(-24, Math.min(24, Math.floor((i - 1) / 3) * 3)); - } - return d3_formatPrefixes[8 + i / 3]; - }; - function d3_formatPrefix(d, i) { - var k = Math.pow(10, abs(8 - i) * 3); - return { - scale: i > 8 ? function(d) { - return d / k; - } : function(d) { - return d * k; - }, - symbol: d - }; - } - function d3_locale_numberFormat(locale) { - var locale_decimal = locale.decimal, locale_thousands = locale.thousands, locale_grouping = locale.grouping, locale_currency = locale.currency, formatGroup = locale_grouping && locale_thousands ? function(value, width) { - var i = value.length, t = [], j = 0, g = locale_grouping[0], length = 0; - while (i > 0 && g > 0) { - if (length + g + 1 > width) g = Math.max(1, width - length); - t.push(value.substring(i -= g, i + g)); - if ((length += g + 1) > width) break; - g = locale_grouping[j = (j + 1) % locale_grouping.length]; - } - return t.reverse().join(locale_thousands); - } : d3_identity; - return function(specifier) { - var match = d3_format_re.exec(specifier), fill = match[1] || " ", align = match[2] || ">", sign = match[3] || "-", symbol = match[4] || "", zfill = match[5], width = +match[6], comma = match[7], precision = match[8], type = match[9], scale = 1, prefix = "", suffix = "", integer = false, exponent = true; - if (precision) precision = +precision.substring(1); - if (zfill || fill === "0" && align === "=") { - zfill = fill = "0"; - align = "="; - } - switch (type) { - case "n": - comma = true; - type = "g"; - break; - - case "%": - scale = 100; - suffix = "%"; - type = "f"; - break; - - case "p": - scale = 100; - suffix = "%"; - type = "r"; - break; - - case "b": - case "o": - case "x": - case "X": - if (symbol === "#") prefix = "0" + type.toLowerCase(); - - case "c": - exponent = false; - - case "d": - integer = true; - precision = 0; - break; - - case "s": - scale = -1; - type = "r"; - break; - } - if (symbol === "$") prefix = locale_currency[0], suffix = locale_currency[1]; - if (type == "r" && !precision) type = "g"; - if (precision != null) { - if (type == "g") precision = Math.max(1, Math.min(21, precision)); else if (type == "e" || type == "f") precision = Math.max(0, Math.min(20, precision)); - } - type = d3_format_types.get(type) || d3_format_typeDefault; - var zcomma = zfill && comma; - return function(value) { - var fullSuffix = suffix; - if (integer && value % 1) return ""; - var negative = value < 0 || value === 0 && 1 / value < 0 ? (value = -value, "-") : sign === "-" ? "" : sign; - if (scale < 0) { - var unit = d3.formatPrefix(value, precision); - value = unit.scale(value); - fullSuffix = unit.symbol + suffix; - } else { - value *= scale; - } - value = type(value, precision); - var i = value.lastIndexOf("."), before, after; - if (i < 0) { - var j = exponent ? value.lastIndexOf("e") : -1; - if (j < 0) before = value, after = ""; else before = value.substring(0, j), after = value.substring(j); - } else { - before = value.substring(0, i); - after = locale_decimal + value.substring(i + 1); - } - if (!zfill && comma) before = formatGroup(before, Infinity); - var length = prefix.length + before.length + after.length + (zcomma ? 0 : negative.length), padding = length < width ? new Array(length = width - length + 1).join(fill) : ""; - if (zcomma) before = formatGroup(padding + before, padding.length ? width - after.length : Infinity); - negative += prefix; - value = before + after; - return (align === "<" ? negative + value + padding : align === ">" ? padding + negative + value : align === "^" ? padding.substring(0, length >>= 1) + negative + value + padding.substring(length) : negative + (zcomma ? value : padding + value)) + fullSuffix; - }; - }; - } - var d3_format_re = /(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i; - var d3_format_types = d3.map({ - b: function(x) { - return x.toString(2); - }, - c: function(x) { - return String.fromCharCode(x); - }, - o: function(x) { - return x.toString(8); - }, - x: function(x) { - return x.toString(16); - }, - X: function(x) { - return x.toString(16).toUpperCase(); - }, - g: function(x, p) { - return x.toPrecision(p); - }, - e: function(x, p) { - return x.toExponential(p); - }, - f: function(x, p) { - return x.toFixed(p); - }, - r: function(x, p) { - return (x = d3.round(x, d3_format_precision(x, p))).toFixed(Math.max(0, Math.min(20, d3_format_precision(x * (1 + 1e-15), p)))); - } - }); - function d3_format_typeDefault(x) { - return x + ""; - } - var d3_time = d3.time = {}, d3_date = Date; - function d3_date_utc() { - this._ = new Date(arguments.length > 1 ? Date.UTC.apply(this, arguments) : arguments[0]); - } - d3_date_utc.prototype = { - getDate: function() { - return this._.getUTCDate(); - }, - getDay: function() { - return this._.getUTCDay(); - }, - getFullYear: function() { - return this._.getUTCFullYear(); - }, - getHours: function() { - return this._.getUTCHours(); - }, - getMilliseconds: function() { - return this._.getUTCMilliseconds(); - }, - getMinutes: function() { - return this._.getUTCMinutes(); - }, - getMonth: function() { - return this._.getUTCMonth(); - }, - getSeconds: function() { - return this._.getUTCSeconds(); - }, - getTime: function() { - return this._.getTime(); - }, - getTimezoneOffset: function() { - return 0; - }, - valueOf: function() { - return this._.valueOf(); - }, - setDate: function() { - d3_time_prototype.setUTCDate.apply(this._, arguments); - }, - setDay: function() { - d3_time_prototype.setUTCDay.apply(this._, arguments); - }, - setFullYear: function() { - d3_time_prototype.setUTCFullYear.apply(this._, arguments); - }, - setHours: function() { - d3_time_prototype.setUTCHours.apply(this._, arguments); - }, - setMilliseconds: function() { - d3_time_prototype.setUTCMilliseconds.apply(this._, arguments); - }, - setMinutes: function() { - d3_time_prototype.setUTCMinutes.apply(this._, arguments); - }, - setMonth: function() { - d3_time_prototype.setUTCMonth.apply(this._, arguments); - }, - setSeconds: function() { - d3_time_prototype.setUTCSeconds.apply(this._, arguments); - }, - setTime: function() { - d3_time_prototype.setTime.apply(this._, arguments); - } - }; - var d3_time_prototype = Date.prototype; - function d3_time_interval(local, step, number) { - function round(date) { - var d0 = local(date), d1 = offset(d0, 1); - return date - d0 < d1 - date ? d0 : d1; - } - function ceil(date) { - step(date = local(new d3_date(date - 1)), 1); - return date; - } - function offset(date, k) { - step(date = new d3_date(+date), k); - return date; - } - function range(t0, t1, dt) { - var time = ceil(t0), times = []; - if (dt > 1) { - while (time < t1) { - if (!(number(time) % dt)) times.push(new Date(+time)); - step(time, 1); - } - } else { - while (time < t1) times.push(new Date(+time)), step(time, 1); - } - return times; - } - function range_utc(t0, t1, dt) { - try { - d3_date = d3_date_utc; - var utc = new d3_date_utc(); - utc._ = t0; - return range(utc, t1, dt); - } finally { - d3_date = Date; - } - } - local.floor = local; - local.round = round; - local.ceil = ceil; - local.offset = offset; - local.range = range; - var utc = local.utc = d3_time_interval_utc(local); - utc.floor = utc; - utc.round = d3_time_interval_utc(round); - utc.ceil = d3_time_interval_utc(ceil); - utc.offset = d3_time_interval_utc(offset); - utc.range = range_utc; - return local; - } - function d3_time_interval_utc(method) { - return function(date, k) { - try { - d3_date = d3_date_utc; - var utc = new d3_date_utc(); - utc._ = date; - return method(utc, k)._; - } finally { - d3_date = Date; - } - }; - } - d3_time.year = d3_time_interval(function(date) { - date = d3_time.day(date); - date.setMonth(0, 1); - return date; - }, function(date, offset) { - date.setFullYear(date.getFullYear() + offset); - }, function(date) { - return date.getFullYear(); - }); - d3_time.years = d3_time.year.range; - d3_time.years.utc = d3_time.year.utc.range; - d3_time.day = d3_time_interval(function(date) { - var day = new d3_date(2e3, 0); - day.setFullYear(date.getFullYear(), date.getMonth(), date.getDate()); - return day; - }, function(date, offset) { - date.setDate(date.getDate() + offset); - }, function(date) { - return date.getDate() - 1; - }); - d3_time.days = d3_time.day.range; - d3_time.days.utc = d3_time.day.utc.range; - d3_time.dayOfYear = function(date) { - var year = d3_time.year(date); - return Math.floor((date - year - (date.getTimezoneOffset() - year.getTimezoneOffset()) * 6e4) / 864e5); - }; - [ "sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday" ].forEach(function(day, i) { - i = 7 - i; - var interval = d3_time[day] = d3_time_interval(function(date) { - (date = d3_time.day(date)).setDate(date.getDate() - (date.getDay() + i) % 7); - return date; - }, function(date, offset) { - date.setDate(date.getDate() + Math.floor(offset) * 7); - }, function(date) { - var day = d3_time.year(date).getDay(); - return Math.floor((d3_time.dayOfYear(date) + (day + i) % 7) / 7) - (day !== i); - }); - d3_time[day + "s"] = interval.range; - d3_time[day + "s"].utc = interval.utc.range; - d3_time[day + "OfYear"] = function(date) { - var day = d3_time.year(date).getDay(); - return Math.floor((d3_time.dayOfYear(date) + (day + i) % 7) / 7); - }; - }); - d3_time.week = d3_time.sunday; - d3_time.weeks = d3_time.sunday.range; - d3_time.weeks.utc = d3_time.sunday.utc.range; - d3_time.weekOfYear = d3_time.sundayOfYear; - function d3_locale_timeFormat(locale) { - var locale_dateTime = locale.dateTime, locale_date = locale.date, locale_time = locale.time, locale_periods = locale.periods, locale_days = locale.days, locale_shortDays = locale.shortDays, locale_months = locale.months, locale_shortMonths = locale.shortMonths; - function d3_time_format(template) { - var n = template.length; - function format(date) { - var string = [], i = -1, j = 0, c, p, f; - while (++i < n) { - if (template.charCodeAt(i) === 37) { - string.push(template.slice(j, i)); - if ((p = d3_time_formatPads[c = template.charAt(++i)]) != null) c = template.charAt(++i); - if (f = d3_time_formats[c]) c = f(date, p == null ? c === "e" ? " " : "0" : p); - string.push(c); - j = i + 1; - } - } - string.push(template.slice(j, i)); - return string.join(""); - } - format.parse = function(string) { - var d = { - y: 1900, - m: 0, - d: 1, - H: 0, - M: 0, - S: 0, - L: 0, - Z: null - }, i = d3_time_parse(d, template, string, 0); - if (i != string.length) return null; - if ("p" in d) d.H = d.H % 12 + d.p * 12; - var localZ = d.Z != null && d3_date !== d3_date_utc, date = new (localZ ? d3_date_utc : d3_date)(); - if ("j" in d) date.setFullYear(d.y, 0, d.j); else if ("w" in d && ("W" in d || "U" in d)) { - date.setFullYear(d.y, 0, 1); - date.setFullYear(d.y, 0, "W" in d ? (d.w + 6) % 7 + d.W * 7 - (date.getDay() + 5) % 7 : d.w + d.U * 7 - (date.getDay() + 6) % 7); - } else date.setFullYear(d.y, d.m, d.d); - date.setHours(d.H + (d.Z / 100 | 0), d.M + d.Z % 100, d.S, d.L); - return localZ ? date._ : date; - }; - format.toString = function() { - return template; - }; - return format; - } - function d3_time_parse(date, template, string, j) { - var c, p, t, i = 0, n = template.length, m = string.length; - while (i < n) { - if (j >= m) return -1; - c = template.charCodeAt(i++); - if (c === 37) { - t = template.charAt(i++); - p = d3_time_parsers[t in d3_time_formatPads ? template.charAt(i++) : t]; - if (!p || (j = p(date, string, j)) < 0) return -1; - } else if (c != string.charCodeAt(j++)) { - return -1; - } - } - return j; - } - d3_time_format.utc = function(template) { - var local = d3_time_format(template); - function format(date) { - try { - d3_date = d3_date_utc; - var utc = new d3_date(); - utc._ = date; - return local(utc); - } finally { - d3_date = Date; - } - } - format.parse = function(string) { - try { - d3_date = d3_date_utc; - var date = local.parse(string); - return date && date._; - } finally { - d3_date = Date; - } - }; - format.toString = local.toString; - return format; - }; - d3_time_format.multi = d3_time_format.utc.multi = d3_time_formatMulti; - var d3_time_periodLookup = d3.map(), d3_time_dayRe = d3_time_formatRe(locale_days), d3_time_dayLookup = d3_time_formatLookup(locale_days), d3_time_dayAbbrevRe = d3_time_formatRe(locale_shortDays), d3_time_dayAbbrevLookup = d3_time_formatLookup(locale_shortDays), d3_time_monthRe = d3_time_formatRe(locale_months), d3_time_monthLookup = d3_time_formatLookup(locale_months), d3_time_monthAbbrevRe = d3_time_formatRe(locale_shortMonths), d3_time_monthAbbrevLookup = d3_time_formatLookup(locale_shortMonths); - locale_periods.forEach(function(p, i) { - d3_time_periodLookup.set(p.toLowerCase(), i); - }); - var d3_time_formats = { - a: function(d) { - return locale_shortDays[d.getDay()]; - }, - A: function(d) { - return locale_days[d.getDay()]; - }, - b: function(d) { - return locale_shortMonths[d.getMonth()]; - }, - B: function(d) { - return locale_months[d.getMonth()]; - }, - c: d3_time_format(locale_dateTime), - d: function(d, p) { - return d3_time_formatPad(d.getDate(), p, 2); - }, - e: function(d, p) { - return d3_time_formatPad(d.getDate(), p, 2); - }, - H: function(d, p) { - return d3_time_formatPad(d.getHours(), p, 2); - }, - I: function(d, p) { - return d3_time_formatPad(d.getHours() % 12 || 12, p, 2); - }, - j: function(d, p) { - return d3_time_formatPad(1 + d3_time.dayOfYear(d), p, 3); - }, - L: function(d, p) { - return d3_time_formatPad(d.getMilliseconds(), p, 3); - }, - m: function(d, p) { - return d3_time_formatPad(d.getMonth() + 1, p, 2); - }, - M: function(d, p) { - return d3_time_formatPad(d.getMinutes(), p, 2); - }, - p: function(d) { - return locale_periods[+(d.getHours() >= 12)]; - }, - S: function(d, p) { - return d3_time_formatPad(d.getSeconds(), p, 2); - }, - U: function(d, p) { - return d3_time_formatPad(d3_time.sundayOfYear(d), p, 2); - }, - w: function(d) { - return d.getDay(); - }, - W: function(d, p) { - return d3_time_formatPad(d3_time.mondayOfYear(d), p, 2); - }, - x: d3_time_format(locale_date), - X: d3_time_format(locale_time), - y: function(d, p) { - return d3_time_formatPad(d.getFullYear() % 100, p, 2); - }, - Y: function(d, p) { - return d3_time_formatPad(d.getFullYear() % 1e4, p, 4); - }, - Z: d3_time_zone, - "%": function() { - return "%"; - } - }; - var d3_time_parsers = { - a: d3_time_parseWeekdayAbbrev, - A: d3_time_parseWeekday, - b: d3_time_parseMonthAbbrev, - B: d3_time_parseMonth, - c: d3_time_parseLocaleFull, - d: d3_time_parseDay, - e: d3_time_parseDay, - H: d3_time_parseHour24, - I: d3_time_parseHour24, - j: d3_time_parseDayOfYear, - L: d3_time_parseMilliseconds, - m: d3_time_parseMonthNumber, - M: d3_time_parseMinutes, - p: d3_time_parseAmPm, - S: d3_time_parseSeconds, - U: d3_time_parseWeekNumberSunday, - w: d3_time_parseWeekdayNumber, - W: d3_time_parseWeekNumberMonday, - x: d3_time_parseLocaleDate, - X: d3_time_parseLocaleTime, - y: d3_time_parseYear, - Y: d3_time_parseFullYear, - Z: d3_time_parseZone, - "%": d3_time_parseLiteralPercent - }; - function d3_time_parseWeekdayAbbrev(date, string, i) { - d3_time_dayAbbrevRe.lastIndex = 0; - var n = d3_time_dayAbbrevRe.exec(string.slice(i)); - return n ? (date.w = d3_time_dayAbbrevLookup.get(n[0].toLowerCase()), i + n[0].length) : -1; - } - function d3_time_parseWeekday(date, string, i) { - d3_time_dayRe.lastIndex = 0; - var n = d3_time_dayRe.exec(string.slice(i)); - return n ? (date.w = d3_time_dayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1; - } - function d3_time_parseMonthAbbrev(date, string, i) { - d3_time_monthAbbrevRe.lastIndex = 0; - var n = d3_time_monthAbbrevRe.exec(string.slice(i)); - return n ? (date.m = d3_time_monthAbbrevLookup.get(n[0].toLowerCase()), i + n[0].length) : -1; - } - function d3_time_parseMonth(date, string, i) { - d3_time_monthRe.lastIndex = 0; - var n = d3_time_monthRe.exec(string.slice(i)); - return n ? (date.m = d3_time_monthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1; - } - function d3_time_parseLocaleFull(date, string, i) { - return d3_time_parse(date, d3_time_formats.c.toString(), string, i); - } - function d3_time_parseLocaleDate(date, string, i) { - return d3_time_parse(date, d3_time_formats.x.toString(), string, i); - } - function d3_time_parseLocaleTime(date, string, i) { - return d3_time_parse(date, d3_time_formats.X.toString(), string, i); - } - function d3_time_parseAmPm(date, string, i) { - var n = d3_time_periodLookup.get(string.slice(i, i += 2).toLowerCase()); - return n == null ? -1 : (date.p = n, i); - } - return d3_time_format; - } - var d3_time_formatPads = { - "-": "", - _: " ", - "0": "0" - }, d3_time_numberRe = /^\s*\d+/, d3_time_percentRe = /^%/; - function d3_time_formatPad(value, fill, width) { - var sign = value < 0 ? "-" : "", string = (sign ? -value : value) + "", length = string.length; - return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string); - } - function d3_time_formatRe(names) { - return new RegExp("^(?:" + names.map(d3.requote).join("|") + ")", "i"); - } - function d3_time_formatLookup(names) { - var map = new d3_Map(), i = -1, n = names.length; - while (++i < n) map.set(names[i].toLowerCase(), i); - return map; - } - function d3_time_parseWeekdayNumber(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 1)); - return n ? (date.w = +n[0], i + n[0].length) : -1; - } - function d3_time_parseWeekNumberSunday(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i)); - return n ? (date.U = +n[0], i + n[0].length) : -1; - } - function d3_time_parseWeekNumberMonday(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i)); - return n ? (date.W = +n[0], i + n[0].length) : -1; - } - function d3_time_parseFullYear(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 4)); - return n ? (date.y = +n[0], i + n[0].length) : -1; - } - function d3_time_parseYear(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 2)); - return n ? (date.y = d3_time_expandYear(+n[0]), i + n[0].length) : -1; - } - function d3_time_parseZone(date, string, i) { - return /^[+-]\d{4}$/.test(string = string.slice(i, i + 5)) ? (date.Z = -string, - i + 5) : -1; - } - function d3_time_expandYear(d) { - return d + (d > 68 ? 1900 : 2e3); - } - function d3_time_parseMonthNumber(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 2)); - return n ? (date.m = n[0] - 1, i + n[0].length) : -1; - } - function d3_time_parseDay(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 2)); - return n ? (date.d = +n[0], i + n[0].length) : -1; - } - function d3_time_parseDayOfYear(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 3)); - return n ? (date.j = +n[0], i + n[0].length) : -1; - } - function d3_time_parseHour24(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 2)); - return n ? (date.H = +n[0], i + n[0].length) : -1; - } - function d3_time_parseMinutes(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 2)); - return n ? (date.M = +n[0], i + n[0].length) : -1; - } - function d3_time_parseSeconds(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 2)); - return n ? (date.S = +n[0], i + n[0].length) : -1; - } - function d3_time_parseMilliseconds(date, string, i) { - d3_time_numberRe.lastIndex = 0; - var n = d3_time_numberRe.exec(string.slice(i, i + 3)); - return n ? (date.L = +n[0], i + n[0].length) : -1; - } - function d3_time_zone(d) { - var z = d.getTimezoneOffset(), zs = z > 0 ? "-" : "+", zh = abs(z) / 60 | 0, zm = abs(z) % 60; - return zs + d3_time_formatPad(zh, "0", 2) + d3_time_formatPad(zm, "0", 2); - } - function d3_time_parseLiteralPercent(date, string, i) { - d3_time_percentRe.lastIndex = 0; - var n = d3_time_percentRe.exec(string.slice(i, i + 1)); - return n ? i + n[0].length : -1; - } - function d3_time_formatMulti(formats) { - var n = formats.length, i = -1; - while (++i < n) formats[i][0] = this(formats[i][0]); - return function(date) { - var i = 0, f = formats[i]; - while (!f[1](date)) f = formats[++i]; - return f[0](date); - }; - } - d3.locale = function(locale) { - return { - numberFormat: d3_locale_numberFormat(locale), - timeFormat: d3_locale_timeFormat(locale) - }; - }; - var d3_locale_enUS = d3.locale({ - decimal: ".", - thousands: ",", - grouping: [ 3 ], - currency: [ "$", "" ], - dateTime: "%a %b %e %X %Y", - date: "%m/%d/%Y", - time: "%H:%M:%S", - periods: [ "AM", "PM" ], - days: [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ], - shortDays: [ "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" ], - months: [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ], - shortMonths: [ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" ] - }); - d3.format = d3_locale_enUS.numberFormat; - d3.geo = {}; - function d3_adder() {} - d3_adder.prototype = { - s: 0, - t: 0, - add: function(y) { - d3_adderSum(y, this.t, d3_adderTemp); - d3_adderSum(d3_adderTemp.s, this.s, this); - if (this.s) this.t += d3_adderTemp.t; else this.s = d3_adderTemp.t; - }, - reset: function() { - this.s = this.t = 0; - }, - valueOf: function() { - return this.s; - } - }; - var d3_adderTemp = new d3_adder(); - function d3_adderSum(a, b, o) { - var x = o.s = a + b, bv = x - a, av = x - bv; - o.t = a - av + (b - bv); - } - d3.geo.stream = function(object, listener) { - if (object && d3_geo_streamObjectType.hasOwnProperty(object.type)) { - d3_geo_streamObjectType[object.type](object, listener); - } else { - d3_geo_streamGeometry(object, listener); - } - }; - function d3_geo_streamGeometry(geometry, listener) { - if (geometry && d3_geo_streamGeometryType.hasOwnProperty(geometry.type)) { - d3_geo_streamGeometryType[geometry.type](geometry, listener); - } - } - var d3_geo_streamObjectType = { - Feature: function(feature, listener) { - d3_geo_streamGeometry(feature.geometry, listener); - }, - FeatureCollection: function(object, listener) { - var features = object.features, i = -1, n = features.length; - while (++i < n) d3_geo_streamGeometry(features[i].geometry, listener); - } - }; - var d3_geo_streamGeometryType = { - Sphere: function(object, listener) { - listener.sphere(); - }, - Point: function(object, listener) { - object = object.coordinates; - listener.point(object[0], object[1], object[2]); - }, - MultiPoint: function(object, listener) { - var coordinates = object.coordinates, i = -1, n = coordinates.length; - while (++i < n) object = coordinates[i], listener.point(object[0], object[1], object[2]); - }, - LineString: function(object, listener) { - d3_geo_streamLine(object.coordinates, listener, 0); - }, - MultiLineString: function(object, listener) { - var coordinates = object.coordinates, i = -1, n = coordinates.length; - while (++i < n) d3_geo_streamLine(coordinates[i], listener, 0); - }, - Polygon: function(object, listener) { - d3_geo_streamPolygon(object.coordinates, listener); - }, - MultiPolygon: function(object, listener) { - var coordinates = object.coordinates, i = -1, n = coordinates.length; - while (++i < n) d3_geo_streamPolygon(coordinates[i], listener); - }, - GeometryCollection: function(object, listener) { - var geometries = object.geometries, i = -1, n = geometries.length; - while (++i < n) d3_geo_streamGeometry(geometries[i], listener); - } - }; - function d3_geo_streamLine(coordinates, listener, closed) { - var i = -1, n = coordinates.length - closed, coordinate; - listener.lineStart(); - while (++i < n) coordinate = coordinates[i], listener.point(coordinate[0], coordinate[1], coordinate[2]); - listener.lineEnd(); - } - function d3_geo_streamPolygon(coordinates, listener) { - var i = -1, n = coordinates.length; - listener.polygonStart(); - while (++i < n) d3_geo_streamLine(coordinates[i], listener, 1); - listener.polygonEnd(); - } - d3.geo.area = function(object) { - d3_geo_areaSum = 0; - d3.geo.stream(object, d3_geo_area); - return d3_geo_areaSum; - }; - var d3_geo_areaSum, d3_geo_areaRingSum = new d3_adder(); - var d3_geo_area = { - sphere: function() { - d3_geo_areaSum += 4 * π; - }, - point: d3_noop, - lineStart: d3_noop, - lineEnd: d3_noop, - polygonStart: function() { - d3_geo_areaRingSum.reset(); - d3_geo_area.lineStart = d3_geo_areaRingStart; - }, - polygonEnd: function() { - var area = 2 * d3_geo_areaRingSum; - d3_geo_areaSum += area < 0 ? 4 * π + area : area; - d3_geo_area.lineStart = d3_geo_area.lineEnd = d3_geo_area.point = d3_noop; - } - }; - function d3_geo_areaRingStart() { - var λ00, φ00, λ0, cosφ0, sinφ0; - d3_geo_area.point = function(λ, φ) { - d3_geo_area.point = nextPoint; - λ0 = (λ00 = λ) * d3_radians, cosφ0 = Math.cos(φ = (φ00 = φ) * d3_radians / 2 + π / 4), - sinφ0 = Math.sin(φ); - }; - function nextPoint(λ, φ) { - λ *= d3_radians; - φ = φ * d3_radians / 2 + π / 4; - var dλ = λ - λ0, sdλ = dλ >= 0 ? 1 : -1, adλ = sdλ * dλ, cosφ = Math.cos(φ), sinφ = Math.sin(φ), k = sinφ0 * sinφ, u = cosφ0 * cosφ + k * Math.cos(adλ), v = k * sdλ * Math.sin(adλ); - d3_geo_areaRingSum.add(Math.atan2(v, u)); - λ0 = λ, cosφ0 = cosφ, sinφ0 = sinφ; - } - d3_geo_area.lineEnd = function() { - nextPoint(λ00, φ00); - }; - } - function d3_geo_cartesian(spherical) { - var λ = spherical[0], φ = spherical[1], cosφ = Math.cos(φ); - return [ cosφ * Math.cos(λ), cosφ * Math.sin(λ), Math.sin(φ) ]; - } - function d3_geo_cartesianDot(a, b) { - return a[0] * b[0] + a[1] * b[1] + a[2] * b[2]; - } - function d3_geo_cartesianCross(a, b) { - return [ a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0] ]; - } - function d3_geo_cartesianAdd(a, b) { - a[0] += b[0]; - a[1] += b[1]; - a[2] += b[2]; - } - function d3_geo_cartesianScale(vector, k) { - return [ vector[0] * k, vector[1] * k, vector[2] * k ]; - } - function d3_geo_cartesianNormalize(d) { - var l = Math.sqrt(d[0] * d[0] + d[1] * d[1] + d[2] * d[2]); - d[0] /= l; - d[1] /= l; - d[2] /= l; - } - function d3_geo_spherical(cartesian) { - return [ Math.atan2(cartesian[1], cartesian[0]), d3_asin(cartesian[2]) ]; - } - function d3_geo_sphericalEqual(a, b) { - return abs(a[0] - b[0]) < ε && abs(a[1] - b[1]) < ε; - } - d3.geo.bounds = function() { - var λ0, φ0, λ1, φ1, λ_, λ__, φ__, p0, dλSum, ranges, range; - var bound = { - point: point, - lineStart: lineStart, - lineEnd: lineEnd, - polygonStart: function() { - bound.point = ringPoint; - bound.lineStart = ringStart; - bound.lineEnd = ringEnd; - dλSum = 0; - d3_geo_area.polygonStart(); - }, - polygonEnd: function() { - d3_geo_area.polygonEnd(); - bound.point = point; - bound.lineStart = lineStart; - bound.lineEnd = lineEnd; - if (d3_geo_areaRingSum < 0) λ0 = -(λ1 = 180), φ0 = -(φ1 = 90); else if (dλSum > ε) φ1 = 90; else if (dλSum < -ε) φ0 = -90; - range[0] = λ0, range[1] = λ1; - } - }; - function point(λ, φ) { - ranges.push(range = [ λ0 = λ, λ1 = λ ]); - if (φ < φ0) φ0 = φ; - if (φ > φ1) φ1 = φ; - } - function linePoint(λ, φ) { - var p = d3_geo_cartesian([ λ * d3_radians, φ * d3_radians ]); - if (p0) { - var normal = d3_geo_cartesianCross(p0, p), equatorial = [ normal[1], -normal[0], 0 ], inflection = d3_geo_cartesianCross(equatorial, normal); - d3_geo_cartesianNormalize(inflection); - inflection = d3_geo_spherical(inflection); - var dλ = λ - λ_, s = dλ > 0 ? 1 : -1, λi = inflection[0] * d3_degrees * s, antimeridian = abs(dλ) > 180; - if (antimeridian ^ (s * λ_ < λi && λi < s * λ)) { - var φi = inflection[1] * d3_degrees; - if (φi > φ1) φ1 = φi; - } else if (λi = (λi + 360) % 360 - 180, antimeridian ^ (s * λ_ < λi && λi < s * λ)) { - var φi = -inflection[1] * d3_degrees; - if (φi < φ0) φ0 = φi; - } else { - if (φ < φ0) φ0 = φ; - if (φ > φ1) φ1 = φ; - } - if (antimeridian) { - if (λ < λ_) { - if (angle(λ0, λ) > angle(λ0, λ1)) λ1 = λ; - } else { - if (angle(λ, λ1) > angle(λ0, λ1)) λ0 = λ; - } - } else { - if (λ1 >= λ0) { - if (λ < λ0) λ0 = λ; - if (λ > λ1) λ1 = λ; - } else { - if (λ > λ_) { - if (angle(λ0, λ) > angle(λ0, λ1)) λ1 = λ; - } else { - if (angle(λ, λ1) > angle(λ0, λ1)) λ0 = λ; - } - } - } - } else { - point(λ, φ); - } - p0 = p, λ_ = λ; - } - function lineStart() { - bound.point = linePoint; - } - function lineEnd() { - range[0] = λ0, range[1] = λ1; - bound.point = point; - p0 = null; - } - function ringPoint(λ, φ) { - if (p0) { - var dλ = λ - λ_; - dλSum += abs(dλ) > 180 ? dλ + (dλ > 0 ? 360 : -360) : dλ; - } else λ__ = λ, φ__ = φ; - d3_geo_area.point(λ, φ); - linePoint(λ, φ); - } - function ringStart() { - d3_geo_area.lineStart(); - } - function ringEnd() { - ringPoint(λ__, φ__); - d3_geo_area.lineEnd(); - if (abs(dλSum) > ε) λ0 = -(λ1 = 180); - range[0] = λ0, range[1] = λ1; - p0 = null; - } - function angle(λ0, λ1) { - return (λ1 -= λ0) < 0 ? λ1 + 360 : λ1; - } - function compareRanges(a, b) { - return a[0] - b[0]; - } - function withinRange(x, range) { - return range[0] <= range[1] ? range[0] <= x && x <= range[1] : x < range[0] || range[1] < x; - } - return function(feature) { - φ1 = λ1 = -(λ0 = φ0 = Infinity); - ranges = []; - d3.geo.stream(feature, bound); - var n = ranges.length; - if (n) { - ranges.sort(compareRanges); - for (var i = 1, a = ranges[0], b, merged = [ a ]; i < n; ++i) { - b = ranges[i]; - if (withinRange(b[0], a) || withinRange(b[1], a)) { - if (angle(a[0], b[1]) > angle(a[0], a[1])) a[1] = b[1]; - if (angle(b[0], a[1]) > angle(a[0], a[1])) a[0] = b[0]; - } else { - merged.push(a = b); - } - } - var best = -Infinity, dλ; - for (var n = merged.length - 1, i = 0, a = merged[n], b; i <= n; a = b, ++i) { - b = merged[i]; - if ((dλ = angle(a[1], b[0])) > best) best = dλ, λ0 = b[0], λ1 = a[1]; - } - } - ranges = range = null; - return λ0 === Infinity || φ0 === Infinity ? [ [ NaN, NaN ], [ NaN, NaN ] ] : [ [ λ0, φ0 ], [ λ1, φ1 ] ]; - }; - }(); - d3.geo.centroid = function(object) { - d3_geo_centroidW0 = d3_geo_centroidW1 = d3_geo_centroidX0 = d3_geo_centroidY0 = d3_geo_centroidZ0 = d3_geo_centroidX1 = d3_geo_centroidY1 = d3_geo_centroidZ1 = d3_geo_centroidX2 = d3_geo_centroidY2 = d3_geo_centroidZ2 = 0; - d3.geo.stream(object, d3_geo_centroid); - var x = d3_geo_centroidX2, y = d3_geo_centroidY2, z = d3_geo_centroidZ2, m = x * x + y * y + z * z; - if (m < ε2) { - x = d3_geo_centroidX1, y = d3_geo_centroidY1, z = d3_geo_centroidZ1; - if (d3_geo_centroidW1 < ε) x = d3_geo_centroidX0, y = d3_geo_centroidY0, z = d3_geo_centroidZ0; - m = x * x + y * y + z * z; - if (m < ε2) return [ NaN, NaN ]; - } - return [ Math.atan2(y, x) * d3_degrees, d3_asin(z / Math.sqrt(m)) * d3_degrees ]; - }; - var d3_geo_centroidW0, d3_geo_centroidW1, d3_geo_centroidX0, d3_geo_centroidY0, d3_geo_centroidZ0, d3_geo_centroidX1, d3_geo_centroidY1, d3_geo_centroidZ1, d3_geo_centroidX2, d3_geo_centroidY2, d3_geo_centroidZ2; - var d3_geo_centroid = { - sphere: d3_noop, - point: d3_geo_centroidPoint, - lineStart: d3_geo_centroidLineStart, - lineEnd: d3_geo_centroidLineEnd, - polygonStart: function() { - d3_geo_centroid.lineStart = d3_geo_centroidRingStart; - }, - polygonEnd: function() { - d3_geo_centroid.lineStart = d3_geo_centroidLineStart; - } - }; - function d3_geo_centroidPoint(λ, φ) { - λ *= d3_radians; - var cosφ = Math.cos(φ *= d3_radians); - d3_geo_centroidPointXYZ(cosφ * Math.cos(λ), cosφ * Math.sin(λ), Math.sin(φ)); - } - function d3_geo_centroidPointXYZ(x, y, z) { - ++d3_geo_centroidW0; - d3_geo_centroidX0 += (x - d3_geo_centroidX0) / d3_geo_centroidW0; - d3_geo_centroidY0 += (y - d3_geo_centroidY0) / d3_geo_centroidW0; - d3_geo_centroidZ0 += (z - d3_geo_centroidZ0) / d3_geo_centroidW0; - } - function d3_geo_centroidLineStart() { - var x0, y0, z0; - d3_geo_centroid.point = function(λ, φ) { - λ *= d3_radians; - var cosφ = Math.cos(φ *= d3_radians); - x0 = cosφ * Math.cos(λ); - y0 = cosφ * Math.sin(λ); - z0 = Math.sin(φ); - d3_geo_centroid.point = nextPoint; - d3_geo_centroidPointXYZ(x0, y0, z0); - }; - function nextPoint(λ, φ) { - λ *= d3_radians; - var cosφ = Math.cos(φ *= d3_radians), x = cosφ * Math.cos(λ), y = cosφ * Math.sin(λ), z = Math.sin(φ), w = Math.atan2(Math.sqrt((w = y0 * z - z0 * y) * w + (w = z0 * x - x0 * z) * w + (w = x0 * y - y0 * x) * w), x0 * x + y0 * y + z0 * z); - d3_geo_centroidW1 += w; - d3_geo_centroidX1 += w * (x0 + (x0 = x)); - d3_geo_centroidY1 += w * (y0 + (y0 = y)); - d3_geo_centroidZ1 += w * (z0 + (z0 = z)); - d3_geo_centroidPointXYZ(x0, y0, z0); - } - } - function d3_geo_centroidLineEnd() { - d3_geo_centroid.point = d3_geo_centroidPoint; - } - function d3_geo_centroidRingStart() { - var λ00, φ00, x0, y0, z0; - d3_geo_centroid.point = function(λ, φ) { - λ00 = λ, φ00 = φ; - d3_geo_centroid.point = nextPoint; - λ *= d3_radians; - var cosφ = Math.cos(φ *= d3_radians); - x0 = cosφ * Math.cos(λ); - y0 = cosφ * Math.sin(λ); - z0 = Math.sin(φ); - d3_geo_centroidPointXYZ(x0, y0, z0); - }; - d3_geo_centroid.lineEnd = function() { - nextPoint(λ00, φ00); - d3_geo_centroid.lineEnd = d3_geo_centroidLineEnd; - d3_geo_centroid.point = d3_geo_centroidPoint; - }; - function nextPoint(λ, φ) { - λ *= d3_radians; - var cosφ = Math.cos(φ *= d3_radians), x = cosφ * Math.cos(λ), y = cosφ * Math.sin(λ), z = Math.sin(φ), cx = y0 * z - z0 * y, cy = z0 * x - x0 * z, cz = x0 * y - y0 * x, m = Math.sqrt(cx * cx + cy * cy + cz * cz), u = x0 * x + y0 * y + z0 * z, v = m && -d3_acos(u) / m, w = Math.atan2(m, u); - d3_geo_centroidX2 += v * cx; - d3_geo_centroidY2 += v * cy; - d3_geo_centroidZ2 += v * cz; - d3_geo_centroidW1 += w; - d3_geo_centroidX1 += w * (x0 + (x0 = x)); - d3_geo_centroidY1 += w * (y0 + (y0 = y)); - d3_geo_centroidZ1 += w * (z0 + (z0 = z)); - d3_geo_centroidPointXYZ(x0, y0, z0); - } - } - function d3_geo_compose(a, b) { - function compose(x, y) { - return x = a(x, y), b(x[0], x[1]); - } - if (a.invert && b.invert) compose.invert = function(x, y) { - return x = b.invert(x, y), x && a.invert(x[0], x[1]); - }; - return compose; - } - function d3_true() { - return true; - } - function d3_geo_clipPolygon(segments, compare, clipStartInside, interpolate, listener) { - var subject = [], clip = []; - segments.forEach(function(segment) { - if ((n = segment.length - 1) <= 0) return; - var n, p0 = segment[0], p1 = segment[n]; - if (d3_geo_sphericalEqual(p0, p1)) { - listener.lineStart(); - for (var i = 0; i < n; ++i) listener.point((p0 = segment[i])[0], p0[1]); - listener.lineEnd(); - return; - } - var a = new d3_geo_clipPolygonIntersection(p0, segment, null, true), b = new d3_geo_clipPolygonIntersection(p0, null, a, false); - a.o = b; - subject.push(a); - clip.push(b); - a = new d3_geo_clipPolygonIntersection(p1, segment, null, false); - b = new d3_geo_clipPolygonIntersection(p1, null, a, true); - a.o = b; - subject.push(a); - clip.push(b); - }); - clip.sort(compare); - d3_geo_clipPolygonLinkCircular(subject); - d3_geo_clipPolygonLinkCircular(clip); - if (!subject.length) return; - for (var i = 0, entry = clipStartInside, n = clip.length; i < n; ++i) { - clip[i].e = entry = !entry; - } - var start = subject[0], points, point; - while (1) { - var current = start, isSubject = true; - while (current.v) if ((current = current.n) === start) return; - points = current.z; - listener.lineStart(); - do { - current.v = current.o.v = true; - if (current.e) { - if (isSubject) { - for (var i = 0, n = points.length; i < n; ++i) listener.point((point = points[i])[0], point[1]); - } else { - interpolate(current.x, current.n.x, 1, listener); - } - current = current.n; - } else { - if (isSubject) { - points = current.p.z; - for (var i = points.length - 1; i >= 0; --i) listener.point((point = points[i])[0], point[1]); - } else { - interpolate(current.x, current.p.x, -1, listener); - } - current = current.p; - } - current = current.o; - points = current.z; - isSubject = !isSubject; - } while (!current.v); - listener.lineEnd(); - } - } - function d3_geo_clipPolygonLinkCircular(array) { - if (!(n = array.length)) return; - var n, i = 0, a = array[0], b; - while (++i < n) { - a.n = b = array[i]; - b.p = a; - a = b; - } - a.n = b = array[0]; - b.p = a; - } - function d3_geo_clipPolygonIntersection(point, points, other, entry) { - this.x = point; - this.z = points; - this.o = other; - this.e = entry; - this.v = false; - this.n = this.p = null; - } - function d3_geo_clip(pointVisible, clipLine, interpolate, clipStart) { - return function(rotate, listener) { - var line = clipLine(listener), rotatedClipStart = rotate.invert(clipStart[0], clipStart[1]); - var clip = { - point: point, - lineStart: lineStart, - lineEnd: lineEnd, - polygonStart: function() { - clip.point = pointRing; - clip.lineStart = ringStart; - clip.lineEnd = ringEnd; - segments = []; - polygon = []; - }, - polygonEnd: function() { - clip.point = point; - clip.lineStart = lineStart; - clip.lineEnd = lineEnd; - segments = d3.merge(segments); - var clipStartInside = d3_geo_pointInPolygon(rotatedClipStart, polygon); - if (segments.length) { - if (!polygonStarted) listener.polygonStart(), polygonStarted = true; - d3_geo_clipPolygon(segments, d3_geo_clipSort, clipStartInside, interpolate, listener); - } else if (clipStartInside) { - if (!polygonStarted) listener.polygonStart(), polygonStarted = true; - listener.lineStart(); - interpolate(null, null, 1, listener); - listener.lineEnd(); - } - if (polygonStarted) listener.polygonEnd(), polygonStarted = false; - segments = polygon = null; - }, - sphere: function() { - listener.polygonStart(); - listener.lineStart(); - interpolate(null, null, 1, listener); - listener.lineEnd(); - listener.polygonEnd(); - } - }; - function point(λ, φ) { - var point = rotate(λ, φ); - if (pointVisible(λ = point[0], φ = point[1])) listener.point(λ, φ); - } - function pointLine(λ, φ) { - var point = rotate(λ, φ); - line.point(point[0], point[1]); - } - function lineStart() { - clip.point = pointLine; - line.lineStart(); - } - function lineEnd() { - clip.point = point; - line.lineEnd(); - } - var segments; - var buffer = d3_geo_clipBufferListener(), ringListener = clipLine(buffer), polygonStarted = false, polygon, ring; - function pointRing(λ, φ) { - ring.push([ λ, φ ]); - var point = rotate(λ, φ); - ringListener.point(point[0], point[1]); - } - function ringStart() { - ringListener.lineStart(); - ring = []; - } - function ringEnd() { - pointRing(ring[0][0], ring[0][1]); - ringListener.lineEnd(); - var clean = ringListener.clean(), ringSegments = buffer.buffer(), segment, n = ringSegments.length; - ring.pop(); - polygon.push(ring); - ring = null; - if (!n) return; - if (clean & 1) { - segment = ringSegments[0]; - var n = segment.length - 1, i = -1, point; - if (n > 0) { - if (!polygonStarted) listener.polygonStart(), polygonStarted = true; - listener.lineStart(); - while (++i < n) listener.point((point = segment[i])[0], point[1]); - listener.lineEnd(); - } - return; - } - if (n > 1 && clean & 2) ringSegments.push(ringSegments.pop().concat(ringSegments.shift())); - segments.push(ringSegments.filter(d3_geo_clipSegmentLength1)); - } - return clip; - }; - } - function d3_geo_clipSegmentLength1(segment) { - return segment.length > 1; - } - function d3_geo_clipBufferListener() { - var lines = [], line; - return { - lineStart: function() { - lines.push(line = []); - }, - point: function(λ, φ) { - line.push([ λ, φ ]); - }, - lineEnd: d3_noop, - buffer: function() { - var buffer = lines; - lines = []; - line = null; - return buffer; - }, - rejoin: function() { - if (lines.length > 1) lines.push(lines.pop().concat(lines.shift())); - } - }; - } - function d3_geo_clipSort(a, b) { - return ((a = a.x)[0] < 0 ? a[1] - halfπ - ε : halfπ - a[1]) - ((b = b.x)[0] < 0 ? b[1] - halfπ - ε : halfπ - b[1]); - } - var d3_geo_clipAntimeridian = d3_geo_clip(d3_true, d3_geo_clipAntimeridianLine, d3_geo_clipAntimeridianInterpolate, [ -π, -π / 2 ]); - function d3_geo_clipAntimeridianLine(listener) { - var λ0 = NaN, φ0 = NaN, sλ0 = NaN, clean; - return { - lineStart: function() { - listener.lineStart(); - clean = 1; - }, - point: function(λ1, φ1) { - var sλ1 = λ1 > 0 ? π : -π, dλ = abs(λ1 - λ0); - if (abs(dλ - π) < ε) { - listener.point(λ0, φ0 = (φ0 + φ1) / 2 > 0 ? halfπ : -halfπ); - listener.point(sλ0, φ0); - listener.lineEnd(); - listener.lineStart(); - listener.point(sλ1, φ0); - listener.point(λ1, φ0); - clean = 0; - } else if (sλ0 !== sλ1 && dλ >= π) { - if (abs(λ0 - sλ0) < ε) λ0 -= sλ0 * ε; - if (abs(λ1 - sλ1) < ε) λ1 -= sλ1 * ε; - φ0 = d3_geo_clipAntimeridianIntersect(λ0, φ0, λ1, φ1); - listener.point(sλ0, φ0); - listener.lineEnd(); - listener.lineStart(); - listener.point(sλ1, φ0); - clean = 0; - } - listener.point(λ0 = λ1, φ0 = φ1); - sλ0 = sλ1; - }, - lineEnd: function() { - listener.lineEnd(); - λ0 = φ0 = NaN; - }, - clean: function() { - return 2 - clean; - } - }; - } - function d3_geo_clipAntimeridianIntersect(λ0, φ0, λ1, φ1) { - var cosφ0, cosφ1, sinλ0_λ1 = Math.sin(λ0 - λ1); - return abs(sinλ0_λ1) > ε ? Math.atan((Math.sin(φ0) * (cosφ1 = Math.cos(φ1)) * Math.sin(λ1) - Math.sin(φ1) * (cosφ0 = Math.cos(φ0)) * Math.sin(λ0)) / (cosφ0 * cosφ1 * sinλ0_λ1)) : (φ0 + φ1) / 2; - } - function d3_geo_clipAntimeridianInterpolate(from, to, direction, listener) { - var φ; - if (from == null) { - φ = direction * halfπ; - listener.point(-π, φ); - listener.point(0, φ); - listener.point(π, φ); - listener.point(π, 0); - listener.point(π, -φ); - listener.point(0, -φ); - listener.point(-π, -φ); - listener.point(-π, 0); - listener.point(-π, φ); - } else if (abs(from[0] - to[0]) > ε) { - var s = from[0] < to[0] ? π : -π; - φ = direction * s / 2; - listener.point(-s, φ); - listener.point(0, φ); - listener.point(s, φ); - } else { - listener.point(to[0], to[1]); - } - } - function d3_geo_pointInPolygon(point, polygon) { - var meridian = point[0], parallel = point[1], meridianNormal = [ Math.sin(meridian), -Math.cos(meridian), 0 ], polarAngle = 0, winding = 0; - d3_geo_areaRingSum.reset(); - for (var i = 0, n = polygon.length; i < n; ++i) { - var ring = polygon[i], m = ring.length; - if (!m) continue; - var point0 = ring[0], λ0 = point0[0], φ0 = point0[1] / 2 + π / 4, sinφ0 = Math.sin(φ0), cosφ0 = Math.cos(φ0), j = 1; - while (true) { - if (j === m) j = 0; - point = ring[j]; - var λ = point[0], φ = point[1] / 2 + π / 4, sinφ = Math.sin(φ), cosφ = Math.cos(φ), dλ = λ - λ0, sdλ = dλ >= 0 ? 1 : -1, adλ = sdλ * dλ, antimeridian = adλ > π, k = sinφ0 * sinφ; - d3_geo_areaRingSum.add(Math.atan2(k * sdλ * Math.sin(adλ), cosφ0 * cosφ + k * Math.cos(adλ))); - polarAngle += antimeridian ? dλ + sdλ * τ : dλ; - if (antimeridian ^ λ0 >= meridian ^ λ >= meridian) { - var arc = d3_geo_cartesianCross(d3_geo_cartesian(point0), d3_geo_cartesian(point)); - d3_geo_cartesianNormalize(arc); - var intersection = d3_geo_cartesianCross(meridianNormal, arc); - d3_geo_cartesianNormalize(intersection); - var φarc = (antimeridian ^ dλ >= 0 ? -1 : 1) * d3_asin(intersection[2]); - if (parallel > φarc || parallel === φarc && (arc[0] || arc[1])) { - winding += antimeridian ^ dλ >= 0 ? 1 : -1; - } - } - if (!j++) break; - λ0 = λ, sinφ0 = sinφ, cosφ0 = cosφ, point0 = point; - } - } - return (polarAngle < -ε || polarAngle < ε && d3_geo_areaRingSum < 0) ^ winding & 1; - } - function d3_geo_clipCircle(radius) { - var cr = Math.cos(radius), smallRadius = cr > 0, notHemisphere = abs(cr) > ε, interpolate = d3_geo_circleInterpolate(radius, 6 * d3_radians); - return d3_geo_clip(visible, clipLine, interpolate, smallRadius ? [ 0, -radius ] : [ -π, radius - π ]); - function visible(λ, φ) { - return Math.cos(λ) * Math.cos(φ) > cr; - } - function clipLine(listener) { - var point0, c0, v0, v00, clean; - return { - lineStart: function() { - v00 = v0 = false; - clean = 1; - }, - point: function(λ, φ) { - var point1 = [ λ, φ ], point2, v = visible(λ, φ), c = smallRadius ? v ? 0 : code(λ, φ) : v ? code(λ + (λ < 0 ? π : -π), φ) : 0; - if (!point0 && (v00 = v0 = v)) listener.lineStart(); - if (v !== v0) { - point2 = intersect(point0, point1); - if (d3_geo_sphericalEqual(point0, point2) || d3_geo_sphericalEqual(point1, point2)) { - point1[0] += ε; - point1[1] += ε; - v = visible(point1[0], point1[1]); - } - } - if (v !== v0) { - clean = 0; - if (v) { - listener.lineStart(); - point2 = intersect(point1, point0); - listener.point(point2[0], point2[1]); - } else { - point2 = intersect(point0, point1); - listener.point(point2[0], point2[1]); - listener.lineEnd(); - } - point0 = point2; - } else if (notHemisphere && point0 && smallRadius ^ v) { - var t; - if (!(c & c0) && (t = intersect(point1, point0, true))) { - clean = 0; - if (smallRadius) { - listener.lineStart(); - listener.point(t[0][0], t[0][1]); - listener.point(t[1][0], t[1][1]); - listener.lineEnd(); - } else { - listener.point(t[1][0], t[1][1]); - listener.lineEnd(); - listener.lineStart(); - listener.point(t[0][0], t[0][1]); - } - } - } - if (v && (!point0 || !d3_geo_sphericalEqual(point0, point1))) { - listener.point(point1[0], point1[1]); - } - point0 = point1, v0 = v, c0 = c; - }, - lineEnd: function() { - if (v0) listener.lineEnd(); - point0 = null; - }, - clean: function() { - return clean | (v00 && v0) << 1; - } - }; - } - function intersect(a, b, two) { - var pa = d3_geo_cartesian(a), pb = d3_geo_cartesian(b); - var n1 = [ 1, 0, 0 ], n2 = d3_geo_cartesianCross(pa, pb), n2n2 = d3_geo_cartesianDot(n2, n2), n1n2 = n2[0], determinant = n2n2 - n1n2 * n1n2; - if (!determinant) return !two && a; - var c1 = cr * n2n2 / determinant, c2 = -cr * n1n2 / determinant, n1xn2 = d3_geo_cartesianCross(n1, n2), A = d3_geo_cartesianScale(n1, c1), B = d3_geo_cartesianScale(n2, c2); - d3_geo_cartesianAdd(A, B); - var u = n1xn2, w = d3_geo_cartesianDot(A, u), uu = d3_geo_cartesianDot(u, u), t2 = w * w - uu * (d3_geo_cartesianDot(A, A) - 1); - if (t2 < 0) return; - var t = Math.sqrt(t2), q = d3_geo_cartesianScale(u, (-w - t) / uu); - d3_geo_cartesianAdd(q, A); - q = d3_geo_spherical(q); - if (!two) return q; - var λ0 = a[0], λ1 = b[0], φ0 = a[1], φ1 = b[1], z; - if (λ1 < λ0) z = λ0, λ0 = λ1, λ1 = z; - var δλ = λ1 - λ0, polar = abs(δλ - π) < ε, meridian = polar || δλ < ε; - if (!polar && φ1 < φ0) z = φ0, φ0 = φ1, φ1 = z; - if (meridian ? polar ? φ0 + φ1 > 0 ^ q[1] < (abs(q[0] - λ0) < ε ? φ0 : φ1) : φ0 <= q[1] && q[1] <= φ1 : δλ > π ^ (λ0 <= q[0] && q[0] <= λ1)) { - var q1 = d3_geo_cartesianScale(u, (-w + t) / uu); - d3_geo_cartesianAdd(q1, A); - return [ q, d3_geo_spherical(q1) ]; - } - } - function code(λ, φ) { - var r = smallRadius ? radius : π - radius, code = 0; - if (λ < -r) code |= 1; else if (λ > r) code |= 2; - if (φ < -r) code |= 4; else if (φ > r) code |= 8; - return code; - } - } - function d3_geom_clipLine(x0, y0, x1, y1) { - return function(line) { - var a = line.a, b = line.b, ax = a.x, ay = a.y, bx = b.x, by = b.y, t0 = 0, t1 = 1, dx = bx - ax, dy = by - ay, r; - r = x0 - ax; - if (!dx && r > 0) return; - r /= dx; - if (dx < 0) { - if (r < t0) return; - if (r < t1) t1 = r; - } else if (dx > 0) { - if (r > t1) return; - if (r > t0) t0 = r; - } - r = x1 - ax; - if (!dx && r < 0) return; - r /= dx; - if (dx < 0) { - if (r > t1) return; - if (r > t0) t0 = r; - } else if (dx > 0) { - if (r < t0) return; - if (r < t1) t1 = r; - } - r = y0 - ay; - if (!dy && r > 0) return; - r /= dy; - if (dy < 0) { - if (r < t0) return; - if (r < t1) t1 = r; - } else if (dy > 0) { - if (r > t1) return; - if (r > t0) t0 = r; - } - r = y1 - ay; - if (!dy && r < 0) return; - r /= dy; - if (dy < 0) { - if (r > t1) return; - if (r > t0) t0 = r; - } else if (dy > 0) { - if (r < t0) return; - if (r < t1) t1 = r; - } - if (t0 > 0) line.a = { - x: ax + t0 * dx, - y: ay + t0 * dy - }; - if (t1 < 1) line.b = { - x: ax + t1 * dx, - y: ay + t1 * dy - }; - return line; - }; - } - var d3_geo_clipExtentMAX = 1e9; - d3.geo.clipExtent = function() { - var x0, y0, x1, y1, stream, clip, clipExtent = { - stream: function(output) { - if (stream) stream.valid = false; - stream = clip(output); - stream.valid = true; - return stream; - }, - extent: function(_) { - if (!arguments.length) return [ [ x0, y0 ], [ x1, y1 ] ]; - clip = d3_geo_clipExtent(x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1]); - if (stream) stream.valid = false, stream = null; - return clipExtent; - } - }; - return clipExtent.extent([ [ 0, 0 ], [ 960, 500 ] ]); - }; - function d3_geo_clipExtent(x0, y0, x1, y1) { - return function(listener) { - var listener_ = listener, bufferListener = d3_geo_clipBufferListener(), clipLine = d3_geom_clipLine(x0, y0, x1, y1), segments, polygon, ring; - var clip = { - point: point, - lineStart: lineStart, - lineEnd: lineEnd, - polygonStart: function() { - listener = bufferListener; - segments = []; - polygon = []; - clean = true; - }, - polygonEnd: function() { - listener = listener_; - segments = d3.merge(segments); - var clipStartInside = insidePolygon([ x0, y1 ]), inside = clean && clipStartInside, visible = segments.length; - if (inside || visible) { - listener.polygonStart(); - if (inside) { - listener.lineStart(); - interpolate(null, null, 1, listener); - listener.lineEnd(); - } - if (visible) { - d3_geo_clipPolygon(segments, compare, clipStartInside, interpolate, listener); - } - listener.polygonEnd(); - } - segments = polygon = ring = null; - } - }; - function insidePolygon(p) { - var wn = 0, n = polygon.length, y = p[1]; - for (var i = 0; i < n; ++i) { - for (var j = 1, v = polygon[i], m = v.length, a = v[0], b; j < m; ++j) { - b = v[j]; - if (a[1] <= y) { - if (b[1] > y && d3_cross2d(a, b, p) > 0) ++wn; - } else { - if (b[1] <= y && d3_cross2d(a, b, p) < 0) --wn; - } - a = b; - } - } - return wn !== 0; - } - function interpolate(from, to, direction, listener) { - var a = 0, a1 = 0; - if (from == null || (a = corner(from, direction)) !== (a1 = corner(to, direction)) || comparePoints(from, to) < 0 ^ direction > 0) { - do { - listener.point(a === 0 || a === 3 ? x0 : x1, a > 1 ? y1 : y0); - } while ((a = (a + direction + 4) % 4) !== a1); - } else { - listener.point(to[0], to[1]); - } - } - function pointVisible(x, y) { - return x0 <= x && x <= x1 && y0 <= y && y <= y1; - } - function point(x, y) { - if (pointVisible(x, y)) listener.point(x, y); - } - var x__, y__, v__, x_, y_, v_, first, clean; - function lineStart() { - clip.point = linePoint; - if (polygon) polygon.push(ring = []); - first = true; - v_ = false; - x_ = y_ = NaN; - } - function lineEnd() { - if (segments) { - linePoint(x__, y__); - if (v__ && v_) bufferListener.rejoin(); - segments.push(bufferListener.buffer()); - } - clip.point = point; - if (v_) listener.lineEnd(); - } - function linePoint(x, y) { - x = Math.max(-d3_geo_clipExtentMAX, Math.min(d3_geo_clipExtentMAX, x)); - y = Math.max(-d3_geo_clipExtentMAX, Math.min(d3_geo_clipExtentMAX, y)); - var v = pointVisible(x, y); - if (polygon) ring.push([ x, y ]); - if (first) { - x__ = x, y__ = y, v__ = v; - first = false; - if (v) { - listener.lineStart(); - listener.point(x, y); - } - } else { - if (v && v_) listener.point(x, y); else { - var l = { - a: { - x: x_, - y: y_ - }, - b: { - x: x, - y: y - } - }; - if (clipLine(l)) { - if (!v_) { - listener.lineStart(); - listener.point(l.a.x, l.a.y); - } - listener.point(l.b.x, l.b.y); - if (!v) listener.lineEnd(); - clean = false; - } else if (v) { - listener.lineStart(); - listener.point(x, y); - clean = false; - } - } - } - x_ = x, y_ = y, v_ = v; - } - return clip; - }; - function corner(p, direction) { - return abs(p[0] - x0) < ε ? direction > 0 ? 0 : 3 : abs(p[0] - x1) < ε ? direction > 0 ? 2 : 1 : abs(p[1] - y0) < ε ? direction > 0 ? 1 : 0 : direction > 0 ? 3 : 2; - } - function compare(a, b) { - return comparePoints(a.x, b.x); - } - function comparePoints(a, b) { - var ca = corner(a, 1), cb = corner(b, 1); - return ca !== cb ? ca - cb : ca === 0 ? b[1] - a[1] : ca === 1 ? a[0] - b[0] : ca === 2 ? a[1] - b[1] : b[0] - a[0]; - } - } - function d3_geo_conic(projectAt) { - var φ0 = 0, φ1 = π / 3, m = d3_geo_projectionMutator(projectAt), p = m(φ0, φ1); - p.parallels = function(_) { - if (!arguments.length) return [ φ0 / π * 180, φ1 / π * 180 ]; - return m(φ0 = _[0] * π / 180, φ1 = _[1] * π / 180); - }; - return p; - } - function d3_geo_conicEqualArea(φ0, φ1) { - var sinφ0 = Math.sin(φ0), n = (sinφ0 + Math.sin(φ1)) / 2, C = 1 + sinφ0 * (2 * n - sinφ0), ρ0 = Math.sqrt(C) / n; - function forward(λ, φ) { - var ρ = Math.sqrt(C - 2 * n * Math.sin(φ)) / n; - return [ ρ * Math.sin(λ *= n), ρ0 - ρ * Math.cos(λ) ]; - } - forward.invert = function(x, y) { - var ρ0_y = ρ0 - y; - return [ Math.atan2(x, ρ0_y) / n, d3_asin((C - (x * x + ρ0_y * ρ0_y) * n * n) / (2 * n)) ]; - }; - return forward; - } - (d3.geo.conicEqualArea = function() { - return d3_geo_conic(d3_geo_conicEqualArea); - }).raw = d3_geo_conicEqualArea; - d3.geo.albers = function() { - return d3.geo.conicEqualArea().rotate([ 96, 0 ]).center([ -.6, 38.7 ]).parallels([ 29.5, 45.5 ]).scale(1070); - }; - d3.geo.albersUsa = function() { - var lower48 = d3.geo.albers(); - var alaska = d3.geo.conicEqualArea().rotate([ 154, 0 ]).center([ -2, 58.5 ]).parallels([ 55, 65 ]); - var hawaii = d3.geo.conicEqualArea().rotate([ 157, 0 ]).center([ -3, 19.9 ]).parallels([ 8, 18 ]); - var point, pointStream = { - point: function(x, y) { - point = [ x, y ]; - } - }, lower48Point, alaskaPoint, hawaiiPoint; - function albersUsa(coordinates) { - var x = coordinates[0], y = coordinates[1]; - point = null; - (lower48Point(x, y), point) || (alaskaPoint(x, y), point) || hawaiiPoint(x, y); - return point; - } - albersUsa.invert = function(coordinates) { - var k = lower48.scale(), t = lower48.translate(), x = (coordinates[0] - t[0]) / k, y = (coordinates[1] - t[1]) / k; - return (y >= .12 && y < .234 && x >= -.425 && x < -.214 ? alaska : y >= .166 && y < .234 && x >= -.214 && x < -.115 ? hawaii : lower48).invert(coordinates); - }; - albersUsa.stream = function(stream) { - var lower48Stream = lower48.stream(stream), alaskaStream = alaska.stream(stream), hawaiiStream = hawaii.stream(stream); - return { - point: function(x, y) { - lower48Stream.point(x, y); - alaskaStream.point(x, y); - hawaiiStream.point(x, y); - }, - sphere: function() { - lower48Stream.sphere(); - alaskaStream.sphere(); - hawaiiStream.sphere(); - }, - lineStart: function() { - lower48Stream.lineStart(); - alaskaStream.lineStart(); - hawaiiStream.lineStart(); - }, - lineEnd: function() { - lower48Stream.lineEnd(); - alaskaStream.lineEnd(); - hawaiiStream.lineEnd(); - }, - polygonStart: function() { - lower48Stream.polygonStart(); - alaskaStream.polygonStart(); - hawaiiStream.polygonStart(); - }, - polygonEnd: function() { - lower48Stream.polygonEnd(); - alaskaStream.polygonEnd(); - hawaiiStream.polygonEnd(); - } - }; - }; - albersUsa.precision = function(_) { - if (!arguments.length) return lower48.precision(); - lower48.precision(_); - alaska.precision(_); - hawaii.precision(_); - return albersUsa; - }; - albersUsa.scale = function(_) { - if (!arguments.length) return lower48.scale(); - lower48.scale(_); - alaska.scale(_ * .35); - hawaii.scale(_); - return albersUsa.translate(lower48.translate()); - }; - albersUsa.translate = function(_) { - if (!arguments.length) return lower48.translate(); - var k = lower48.scale(), x = +_[0], y = +_[1]; - lower48Point = lower48.translate(_).clipExtent([ [ x - .455 * k, y - .238 * k ], [ x + .455 * k, y + .238 * k ] ]).stream(pointStream).point; - alaskaPoint = alaska.translate([ x - .307 * k, y + .201 * k ]).clipExtent([ [ x - .425 * k + ε, y + .12 * k + ε ], [ x - .214 * k - ε, y + .234 * k - ε ] ]).stream(pointStream).point; - hawaiiPoint = hawaii.translate([ x - .205 * k, y + .212 * k ]).clipExtent([ [ x - .214 * k + ε, y + .166 * k + ε ], [ x - .115 * k - ε, y + .234 * k - ε ] ]).stream(pointStream).point; - return albersUsa; - }; - return albersUsa.scale(1070); - }; - var d3_geo_pathAreaSum, d3_geo_pathAreaPolygon, d3_geo_pathArea = { - point: d3_noop, - lineStart: d3_noop, - lineEnd: d3_noop, - polygonStart: function() { - d3_geo_pathAreaPolygon = 0; - d3_geo_pathArea.lineStart = d3_geo_pathAreaRingStart; - }, - polygonEnd: function() { - d3_geo_pathArea.lineStart = d3_geo_pathArea.lineEnd = d3_geo_pathArea.point = d3_noop; - d3_geo_pathAreaSum += abs(d3_geo_pathAreaPolygon / 2); - } - }; - function d3_geo_pathAreaRingStart() { - var x00, y00, x0, y0; - d3_geo_pathArea.point = function(x, y) { - d3_geo_pathArea.point = nextPoint; - x00 = x0 = x, y00 = y0 = y; - }; - function nextPoint(x, y) { - d3_geo_pathAreaPolygon += y0 * x - x0 * y; - x0 = x, y0 = y; - } - d3_geo_pathArea.lineEnd = function() { - nextPoint(x00, y00); - }; - } - var d3_geo_pathBoundsX0, d3_geo_pathBoundsY0, d3_geo_pathBoundsX1, d3_geo_pathBoundsY1; - var d3_geo_pathBounds = { - point: d3_geo_pathBoundsPoint, - lineStart: d3_noop, - lineEnd: d3_noop, - polygonStart: d3_noop, - polygonEnd: d3_noop - }; - function d3_geo_pathBoundsPoint(x, y) { - if (x < d3_geo_pathBoundsX0) d3_geo_pathBoundsX0 = x; - if (x > d3_geo_pathBoundsX1) d3_geo_pathBoundsX1 = x; - if (y < d3_geo_pathBoundsY0) d3_geo_pathBoundsY0 = y; - if (y > d3_geo_pathBoundsY1) d3_geo_pathBoundsY1 = y; - } - function d3_geo_pathBuffer() { - var pointCircle = d3_geo_pathBufferCircle(4.5), buffer = []; - var stream = { - point: point, - lineStart: function() { - stream.point = pointLineStart; - }, - lineEnd: lineEnd, - polygonStart: function() { - stream.lineEnd = lineEndPolygon; - }, - polygonEnd: function() { - stream.lineEnd = lineEnd; - stream.point = point; - }, - pointRadius: function(_) { - pointCircle = d3_geo_pathBufferCircle(_); - return stream; - }, - result: function() { - if (buffer.length) { - var result = buffer.join(""); - buffer = []; - return result; - } - } - }; - function point(x, y) { - buffer.push("M", x, ",", y, pointCircle); - } - function pointLineStart(x, y) { - buffer.push("M", x, ",", y); - stream.point = pointLine; - } - function pointLine(x, y) { - buffer.push("L", x, ",", y); - } - function lineEnd() { - stream.point = point; - } - function lineEndPolygon() { - buffer.push("Z"); - } - return stream; - } - function d3_geo_pathBufferCircle(radius) { - return "m0," + radius + "a" + radius + "," + radius + " 0 1,1 0," + -2 * radius + "a" + radius + "," + radius + " 0 1,1 0," + 2 * radius + "z"; - } - var d3_geo_pathCentroid = { - point: d3_geo_pathCentroidPoint, - lineStart: d3_geo_pathCentroidLineStart, - lineEnd: d3_geo_pathCentroidLineEnd, - polygonStart: function() { - d3_geo_pathCentroid.lineStart = d3_geo_pathCentroidRingStart; - }, - polygonEnd: function() { - d3_geo_pathCentroid.point = d3_geo_pathCentroidPoint; - d3_geo_pathCentroid.lineStart = d3_geo_pathCentroidLineStart; - d3_geo_pathCentroid.lineEnd = d3_geo_pathCentroidLineEnd; - } - }; - function d3_geo_pathCentroidPoint(x, y) { - d3_geo_centroidX0 += x; - d3_geo_centroidY0 += y; - ++d3_geo_centroidZ0; - } - function d3_geo_pathCentroidLineStart() { - var x0, y0; - d3_geo_pathCentroid.point = function(x, y) { - d3_geo_pathCentroid.point = nextPoint; - d3_geo_pathCentroidPoint(x0 = x, y0 = y); - }; - function nextPoint(x, y) { - var dx = x - x0, dy = y - y0, z = Math.sqrt(dx * dx + dy * dy); - d3_geo_centroidX1 += z * (x0 + x) / 2; - d3_geo_centroidY1 += z * (y0 + y) / 2; - d3_geo_centroidZ1 += z; - d3_geo_pathCentroidPoint(x0 = x, y0 = y); - } - } - function d3_geo_pathCentroidLineEnd() { - d3_geo_pathCentroid.point = d3_geo_pathCentroidPoint; - } - function d3_geo_pathCentroidRingStart() { - var x00, y00, x0, y0; - d3_geo_pathCentroid.point = function(x, y) { - d3_geo_pathCentroid.point = nextPoint; - d3_geo_pathCentroidPoint(x00 = x0 = x, y00 = y0 = y); - }; - function nextPoint(x, y) { - var dx = x - x0, dy = y - y0, z = Math.sqrt(dx * dx + dy * dy); - d3_geo_centroidX1 += z * (x0 + x) / 2; - d3_geo_centroidY1 += z * (y0 + y) / 2; - d3_geo_centroidZ1 += z; - z = y0 * x - x0 * y; - d3_geo_centroidX2 += z * (x0 + x); - d3_geo_centroidY2 += z * (y0 + y); - d3_geo_centroidZ2 += z * 3; - d3_geo_pathCentroidPoint(x0 = x, y0 = y); - } - d3_geo_pathCentroid.lineEnd = function() { - nextPoint(x00, y00); - }; - } - function d3_geo_pathContext(context) { - var pointRadius = 4.5; - var stream = { - point: point, - lineStart: function() { - stream.point = pointLineStart; - }, - lineEnd: lineEnd, - polygonStart: function() { - stream.lineEnd = lineEndPolygon; - }, - polygonEnd: function() { - stream.lineEnd = lineEnd; - stream.point = point; - }, - pointRadius: function(_) { - pointRadius = _; - return stream; - }, - result: d3_noop - }; - function point(x, y) { - context.moveTo(x + pointRadius, y); - context.arc(x, y, pointRadius, 0, τ); - } - function pointLineStart(x, y) { - context.moveTo(x, y); - stream.point = pointLine; - } - function pointLine(x, y) { - context.lineTo(x, y); - } - function lineEnd() { - stream.point = point; - } - function lineEndPolygon() { - context.closePath(); - } - return stream; - } - function d3_geo_resample(project) { - var δ2 = .5, cosMinDistance = Math.cos(30 * d3_radians), maxDepth = 16; - function resample(stream) { - return (maxDepth ? resampleRecursive : resampleNone)(stream); - } - function resampleNone(stream) { - return d3_geo_transformPoint(stream, function(x, y) { - x = project(x, y); - stream.point(x[0], x[1]); - }); - } - function resampleRecursive(stream) { - var λ00, φ00, x00, y00, a00, b00, c00, λ0, x0, y0, a0, b0, c0; - var resample = { - point: point, - lineStart: lineStart, - lineEnd: lineEnd, - polygonStart: function() { - stream.polygonStart(); - resample.lineStart = ringStart; - }, - polygonEnd: function() { - stream.polygonEnd(); - resample.lineStart = lineStart; - } - }; - function point(x, y) { - x = project(x, y); - stream.point(x[0], x[1]); - } - function lineStart() { - x0 = NaN; - resample.point = linePoint; - stream.lineStart(); - } - function linePoint(λ, φ) { - var c = d3_geo_cartesian([ λ, φ ]), p = project(λ, φ); - resampleLineTo(x0, y0, λ0, a0, b0, c0, x0 = p[0], y0 = p[1], λ0 = λ, a0 = c[0], b0 = c[1], c0 = c[2], maxDepth, stream); - stream.point(x0, y0); - } - function lineEnd() { - resample.point = point; - stream.lineEnd(); - } - function ringStart() { - lineStart(); - resample.point = ringPoint; - resample.lineEnd = ringEnd; - } - function ringPoint(λ, φ) { - linePoint(λ00 = λ, φ00 = φ), x00 = x0, y00 = y0, a00 = a0, b00 = b0, c00 = c0; - resample.point = linePoint; - } - function ringEnd() { - resampleLineTo(x0, y0, λ0, a0, b0, c0, x00, y00, λ00, a00, b00, c00, maxDepth, stream); - resample.lineEnd = lineEnd; - lineEnd(); - } - return resample; - } - function resampleLineTo(x0, y0, λ0, a0, b0, c0, x1, y1, λ1, a1, b1, c1, depth, stream) { - var dx = x1 - x0, dy = y1 - y0, d2 = dx * dx + dy * dy; - if (d2 > 4 * δ2 && depth--) { - var a = a0 + a1, b = b0 + b1, c = c0 + c1, m = Math.sqrt(a * a + b * b + c * c), φ2 = Math.asin(c /= m), λ2 = abs(abs(c) - 1) < ε || abs(λ0 - λ1) < ε ? (λ0 + λ1) / 2 : Math.atan2(b, a), p = project(λ2, φ2), x2 = p[0], y2 = p[1], dx2 = x2 - x0, dy2 = y2 - y0, dz = dy * dx2 - dx * dy2; - if (dz * dz / d2 > δ2 || abs((dx * dx2 + dy * dy2) / d2 - .5) > .3 || a0 * a1 + b0 * b1 + c0 * c1 < cosMinDistance) { - resampleLineTo(x0, y0, λ0, a0, b0, c0, x2, y2, λ2, a /= m, b /= m, c, depth, stream); - stream.point(x2, y2); - resampleLineTo(x2, y2, λ2, a, b, c, x1, y1, λ1, a1, b1, c1, depth, stream); - } - } - } - resample.precision = function(_) { - if (!arguments.length) return Math.sqrt(δ2); - maxDepth = (δ2 = _ * _) > 0 && 16; - return resample; - }; - return resample; - } - d3.geo.path = function() { - var pointRadius = 4.5, projection, context, projectStream, contextStream, cacheStream; - function path(object) { - if (object) { - if (typeof pointRadius === "function") contextStream.pointRadius(+pointRadius.apply(this, arguments)); - if (!cacheStream || !cacheStream.valid) cacheStream = projectStream(contextStream); - d3.geo.stream(object, cacheStream); - } - return contextStream.result(); - } - path.area = function(object) { - d3_geo_pathAreaSum = 0; - d3.geo.stream(object, projectStream(d3_geo_pathArea)); - return d3_geo_pathAreaSum; - }; - path.centroid = function(object) { - d3_geo_centroidX0 = d3_geo_centroidY0 = d3_geo_centroidZ0 = d3_geo_centroidX1 = d3_geo_centroidY1 = d3_geo_centroidZ1 = d3_geo_centroidX2 = d3_geo_centroidY2 = d3_geo_centroidZ2 = 0; - d3.geo.stream(object, projectStream(d3_geo_pathCentroid)); - return d3_geo_centroidZ2 ? [ d3_geo_centroidX2 / d3_geo_centroidZ2, d3_geo_centroidY2 / d3_geo_centroidZ2 ] : d3_geo_centroidZ1 ? [ d3_geo_centroidX1 / d3_geo_centroidZ1, d3_geo_centroidY1 / d3_geo_centroidZ1 ] : d3_geo_centroidZ0 ? [ d3_geo_centroidX0 / d3_geo_centroidZ0, d3_geo_centroidY0 / d3_geo_centroidZ0 ] : [ NaN, NaN ]; - }; - path.bounds = function(object) { - d3_geo_pathBoundsX1 = d3_geo_pathBoundsY1 = -(d3_geo_pathBoundsX0 = d3_geo_pathBoundsY0 = Infinity); - d3.geo.stream(object, projectStream(d3_geo_pathBounds)); - return [ [ d3_geo_pathBoundsX0, d3_geo_pathBoundsY0 ], [ d3_geo_pathBoundsX1, d3_geo_pathBoundsY1 ] ]; - }; - path.projection = function(_) { - if (!arguments.length) return projection; - projectStream = (projection = _) ? _.stream || d3_geo_pathProjectStream(_) : d3_identity; - return reset(); - }; - path.context = function(_) { - if (!arguments.length) return context; - contextStream = (context = _) == null ? new d3_geo_pathBuffer() : new d3_geo_pathContext(_); - if (typeof pointRadius !== "function") contextStream.pointRadius(pointRadius); - return reset(); - }; - path.pointRadius = function(_) { - if (!arguments.length) return pointRadius; - pointRadius = typeof _ === "function" ? _ : (contextStream.pointRadius(+_), +_); - return path; - }; - function reset() { - cacheStream = null; - return path; - } - return path.projection(d3.geo.albersUsa()).context(null); - }; - function d3_geo_pathProjectStream(project) { - var resample = d3_geo_resample(function(x, y) { - return project([ x * d3_degrees, y * d3_degrees ]); - }); - return function(stream) { - return d3_geo_projectionRadians(resample(stream)); - }; - } - d3.geo.transform = function(methods) { - return { - stream: function(stream) { - var transform = new d3_geo_transform(stream); - for (var k in methods) transform[k] = methods[k]; - return transform; - } - }; - }; - function d3_geo_transform(stream) { - this.stream = stream; - } - d3_geo_transform.prototype = { - point: function(x, y) { - this.stream.point(x, y); - }, - sphere: function() { - this.stream.sphere(); - }, - lineStart: function() { - this.stream.lineStart(); - }, - lineEnd: function() { - this.stream.lineEnd(); - }, - polygonStart: function() { - this.stream.polygonStart(); - }, - polygonEnd: function() { - this.stream.polygonEnd(); - } - }; - function d3_geo_transformPoint(stream, point) { - return { - point: point, - sphere: function() { - stream.sphere(); - }, - lineStart: function() { - stream.lineStart(); - }, - lineEnd: function() { - stream.lineEnd(); - }, - polygonStart: function() { - stream.polygonStart(); - }, - polygonEnd: function() { - stream.polygonEnd(); - } - }; - } - d3.geo.projection = d3_geo_projection; - d3.geo.projectionMutator = d3_geo_projectionMutator; - function d3_geo_projection(project) { - return d3_geo_projectionMutator(function() { - return project; - })(); - } - function d3_geo_projectionMutator(projectAt) { - var project, rotate, projectRotate, projectResample = d3_geo_resample(function(x, y) { - x = project(x, y); - return [ x[0] * k + δx, δy - x[1] * k ]; - }), k = 150, x = 480, y = 250, λ = 0, φ = 0, δλ = 0, δφ = 0, δγ = 0, δx, δy, preclip = d3_geo_clipAntimeridian, postclip = d3_identity, clipAngle = null, clipExtent = null, stream; - function projection(point) { - point = projectRotate(point[0] * d3_radians, point[1] * d3_radians); - return [ point[0] * k + δx, δy - point[1] * k ]; - } - function invert(point) { - point = projectRotate.invert((point[0] - δx) / k, (δy - point[1]) / k); - return point && [ point[0] * d3_degrees, point[1] * d3_degrees ]; - } - projection.stream = function(output) { - if (stream) stream.valid = false; - stream = d3_geo_projectionRadians(preclip(rotate, projectResample(postclip(output)))); - stream.valid = true; - return stream; - }; - projection.clipAngle = function(_) { - if (!arguments.length) return clipAngle; - preclip = _ == null ? (clipAngle = _, d3_geo_clipAntimeridian) : d3_geo_clipCircle((clipAngle = +_) * d3_radians); - return invalidate(); - }; - projection.clipExtent = function(_) { - if (!arguments.length) return clipExtent; - clipExtent = _; - postclip = _ ? d3_geo_clipExtent(_[0][0], _[0][1], _[1][0], _[1][1]) : d3_identity; - return invalidate(); - }; - projection.scale = function(_) { - if (!arguments.length) return k; - k = +_; - return reset(); - }; - projection.translate = function(_) { - if (!arguments.length) return [ x, y ]; - x = +_[0]; - y = +_[1]; - return reset(); - }; - projection.center = function(_) { - if (!arguments.length) return [ λ * d3_degrees, φ * d3_degrees ]; - λ = _[0] % 360 * d3_radians; - φ = _[1] % 360 * d3_radians; - return reset(); - }; - projection.rotate = function(_) { - if (!arguments.length) return [ δλ * d3_degrees, δφ * d3_degrees, δγ * d3_degrees ]; - δλ = _[0] % 360 * d3_radians; - δφ = _[1] % 360 * d3_radians; - δγ = _.length > 2 ? _[2] % 360 * d3_radians : 0; - return reset(); - }; - d3.rebind(projection, projectResample, "precision"); - function reset() { - projectRotate = d3_geo_compose(rotate = d3_geo_rotation(δλ, δφ, δγ), project); - var center = project(λ, φ); - δx = x - center[0] * k; - δy = y + center[1] * k; - return invalidate(); - } - function invalidate() { - if (stream) stream.valid = false, stream = null; - return projection; - } - return function() { - project = projectAt.apply(this, arguments); - projection.invert = project.invert && invert; - return reset(); - }; - } - function d3_geo_projectionRadians(stream) { - return d3_geo_transformPoint(stream, function(x, y) { - stream.point(x * d3_radians, y * d3_radians); - }); - } - function d3_geo_equirectangular(λ, φ) { - return [ λ, φ ]; - } - (d3.geo.equirectangular = function() { - return d3_geo_projection(d3_geo_equirectangular); - }).raw = d3_geo_equirectangular.invert = d3_geo_equirectangular; - d3.geo.rotation = function(rotate) { - rotate = d3_geo_rotation(rotate[0] % 360 * d3_radians, rotate[1] * d3_radians, rotate.length > 2 ? rotate[2] * d3_radians : 0); - function forward(coordinates) { - coordinates = rotate(coordinates[0] * d3_radians, coordinates[1] * d3_radians); - return coordinates[0] *= d3_degrees, coordinates[1] *= d3_degrees, coordinates; - } - forward.invert = function(coordinates) { - coordinates = rotate.invert(coordinates[0] * d3_radians, coordinates[1] * d3_radians); - return coordinates[0] *= d3_degrees, coordinates[1] *= d3_degrees, coordinates; - }; - return forward; - }; - function d3_geo_identityRotation(λ, φ) { - return [ λ > π ? λ - τ : λ < -π ? λ + τ : λ, φ ]; - } - d3_geo_identityRotation.invert = d3_geo_equirectangular; - function d3_geo_rotation(δλ, δφ, δγ) { - return δλ ? δφ || δγ ? d3_geo_compose(d3_geo_rotationλ(δλ), d3_geo_rotationφγ(δφ, δγ)) : d3_geo_rotationλ(δλ) : δφ || δγ ? d3_geo_rotationφγ(δφ, δγ) : d3_geo_identityRotation; - } - function d3_geo_forwardRotationλ(δλ) { - return function(λ, φ) { - return λ += δλ, [ λ > π ? λ - τ : λ < -π ? λ + τ : λ, φ ]; - }; - } - function d3_geo_rotationλ(δλ) { - var rotation = d3_geo_forwardRotationλ(δλ); - rotation.invert = d3_geo_forwardRotationλ(-δλ); - return rotation; - } - function d3_geo_rotationφγ(δφ, δγ) { - var cosδφ = Math.cos(δφ), sinδφ = Math.sin(δφ), cosδγ = Math.cos(δγ), sinδγ = Math.sin(δγ); - function rotation(λ, φ) { - var cosφ = Math.cos(φ), x = Math.cos(λ) * cosφ, y = Math.sin(λ) * cosφ, z = Math.sin(φ), k = z * cosδφ + x * sinδφ; - return [ Math.atan2(y * cosδγ - k * sinδγ, x * cosδφ - z * sinδφ), d3_asin(k * cosδγ + y * sinδγ) ]; - } - rotation.invert = function(λ, φ) { - var cosφ = Math.cos(φ), x = Math.cos(λ) * cosφ, y = Math.sin(λ) * cosφ, z = Math.sin(φ), k = z * cosδγ - y * sinδγ; - return [ Math.atan2(y * cosδγ + z * sinδγ, x * cosδφ + k * sinδφ), d3_asin(k * cosδφ - x * sinδφ) ]; - }; - return rotation; - } - d3.geo.circle = function() { - var origin = [ 0, 0 ], angle, precision = 6, interpolate; - function circle() { - var center = typeof origin === "function" ? origin.apply(this, arguments) : origin, rotate = d3_geo_rotation(-center[0] * d3_radians, -center[1] * d3_radians, 0).invert, ring = []; - interpolate(null, null, 1, { - point: function(x, y) { - ring.push(x = rotate(x, y)); - x[0] *= d3_degrees, x[1] *= d3_degrees; - } - }); - return { - type: "Polygon", - coordinates: [ ring ] - }; - } - circle.origin = function(x) { - if (!arguments.length) return origin; - origin = x; - return circle; - }; - circle.angle = function(x) { - if (!arguments.length) return angle; - interpolate = d3_geo_circleInterpolate((angle = +x) * d3_radians, precision * d3_radians); - return circle; - }; - circle.precision = function(_) { - if (!arguments.length) return precision; - interpolate = d3_geo_circleInterpolate(angle * d3_radians, (precision = +_) * d3_radians); - return circle; - }; - return circle.angle(90); - }; - function d3_geo_circleInterpolate(radius, precision) { - var cr = Math.cos(radius), sr = Math.sin(radius); - return function(from, to, direction, listener) { - var step = direction * precision; - if (from != null) { - from = d3_geo_circleAngle(cr, from); - to = d3_geo_circleAngle(cr, to); - if (direction > 0 ? from < to : from > to) from += direction * τ; - } else { - from = radius + direction * τ; - to = radius - .5 * step; - } - for (var point, t = from; direction > 0 ? t > to : t < to; t -= step) { - listener.point((point = d3_geo_spherical([ cr, -sr * Math.cos(t), -sr * Math.sin(t) ]))[0], point[1]); - } - }; - } - function d3_geo_circleAngle(cr, point) { - var a = d3_geo_cartesian(point); - a[0] -= cr; - d3_geo_cartesianNormalize(a); - var angle = d3_acos(-a[1]); - return ((-a[2] < 0 ? -angle : angle) + 2 * Math.PI - ε) % (2 * Math.PI); - } - d3.geo.distance = function(a, b) { - var Δλ = (b[0] - a[0]) * d3_radians, φ0 = a[1] * d3_radians, φ1 = b[1] * d3_radians, sinΔλ = Math.sin(Δλ), cosΔλ = Math.cos(Δλ), sinφ0 = Math.sin(φ0), cosφ0 = Math.cos(φ0), sinφ1 = Math.sin(φ1), cosφ1 = Math.cos(φ1), t; - return Math.atan2(Math.sqrt((t = cosφ1 * sinΔλ) * t + (t = cosφ0 * sinφ1 - sinφ0 * cosφ1 * cosΔλ) * t), sinφ0 * sinφ1 + cosφ0 * cosφ1 * cosΔλ); - }; - d3.geo.graticule = function() { - var x1, x0, X1, X0, y1, y0, Y1, Y0, dx = 10, dy = dx, DX = 90, DY = 360, x, y, X, Y, precision = 2.5; - function graticule() { - return { - type: "MultiLineString", - coordinates: lines() - }; - } - function lines() { - return d3.range(Math.ceil(X0 / DX) * DX, X1, DX).map(X).concat(d3.range(Math.ceil(Y0 / DY) * DY, Y1, DY).map(Y)).concat(d3.range(Math.ceil(x0 / dx) * dx, x1, dx).filter(function(x) { - return abs(x % DX) > ε; - }).map(x)).concat(d3.range(Math.ceil(y0 / dy) * dy, y1, dy).filter(function(y) { - return abs(y % DY) > ε; - }).map(y)); - } - graticule.lines = function() { - return lines().map(function(coordinates) { - return { - type: "LineString", - coordinates: coordinates - }; - }); - }; - graticule.outline = function() { - return { - type: "Polygon", - coordinates: [ X(X0).concat(Y(Y1).slice(1), X(X1).reverse().slice(1), Y(Y0).reverse().slice(1)) ] - }; - }; - graticule.extent = function(_) { - if (!arguments.length) return graticule.minorExtent(); - return graticule.majorExtent(_).minorExtent(_); - }; - graticule.majorExtent = function(_) { - if (!arguments.length) return [ [ X0, Y0 ], [ X1, Y1 ] ]; - X0 = +_[0][0], X1 = +_[1][0]; - Y0 = +_[0][1], Y1 = +_[1][1]; - if (X0 > X1) _ = X0, X0 = X1, X1 = _; - if (Y0 > Y1) _ = Y0, Y0 = Y1, Y1 = _; - return graticule.precision(precision); - }; - graticule.minorExtent = function(_) { - if (!arguments.length) return [ [ x0, y0 ], [ x1, y1 ] ]; - x0 = +_[0][0], x1 = +_[1][0]; - y0 = +_[0][1], y1 = +_[1][1]; - if (x0 > x1) _ = x0, x0 = x1, x1 = _; - if (y0 > y1) _ = y0, y0 = y1, y1 = _; - return graticule.precision(precision); - }; - graticule.step = function(_) { - if (!arguments.length) return graticule.minorStep(); - return graticule.majorStep(_).minorStep(_); - }; - graticule.majorStep = function(_) { - if (!arguments.length) return [ DX, DY ]; - DX = +_[0], DY = +_[1]; - return graticule; - }; - graticule.minorStep = function(_) { - if (!arguments.length) return [ dx, dy ]; - dx = +_[0], dy = +_[1]; - return graticule; - }; - graticule.precision = function(_) { - if (!arguments.length) return precision; - precision = +_; - x = d3_geo_graticuleX(y0, y1, 90); - y = d3_geo_graticuleY(x0, x1, precision); - X = d3_geo_graticuleX(Y0, Y1, 90); - Y = d3_geo_graticuleY(X0, X1, precision); - return graticule; - }; - return graticule.majorExtent([ [ -180, -90 + ε ], [ 180, 90 - ε ] ]).minorExtent([ [ -180, -80 - ε ], [ 180, 80 + ε ] ]); - }; - function d3_geo_graticuleX(y0, y1, dy) { - var y = d3.range(y0, y1 - ε, dy).concat(y1); - return function(x) { - return y.map(function(y) { - return [ x, y ]; - }); - }; - } - function d3_geo_graticuleY(x0, x1, dx) { - var x = d3.range(x0, x1 - ε, dx).concat(x1); - return function(y) { - return x.map(function(x) { - return [ x, y ]; - }); - }; - } - function d3_source(d) { - return d.source; - } - function d3_target(d) { - return d.target; - } - d3.geo.greatArc = function() { - var source = d3_source, source_, target = d3_target, target_; - function greatArc() { - return { - type: "LineString", - coordinates: [ source_ || source.apply(this, arguments), target_ || target.apply(this, arguments) ] - }; - } - greatArc.distance = function() { - return d3.geo.distance(source_ || source.apply(this, arguments), target_ || target.apply(this, arguments)); - }; - greatArc.source = function(_) { - if (!arguments.length) return source; - source = _, source_ = typeof _ === "function" ? null : _; - return greatArc; - }; - greatArc.target = function(_) { - if (!arguments.length) return target; - target = _, target_ = typeof _ === "function" ? null : _; - return greatArc; - }; - greatArc.precision = function() { - return arguments.length ? greatArc : 0; - }; - return greatArc; - }; - d3.geo.interpolate = function(source, target) { - return d3_geo_interpolate(source[0] * d3_radians, source[1] * d3_radians, target[0] * d3_radians, target[1] * d3_radians); - }; - function d3_geo_interpolate(x0, y0, x1, y1) { - var cy0 = Math.cos(y0), sy0 = Math.sin(y0), cy1 = Math.cos(y1), sy1 = Math.sin(y1), kx0 = cy0 * Math.cos(x0), ky0 = cy0 * Math.sin(x0), kx1 = cy1 * Math.cos(x1), ky1 = cy1 * Math.sin(x1), d = 2 * Math.asin(Math.sqrt(d3_haversin(y1 - y0) + cy0 * cy1 * d3_haversin(x1 - x0))), k = 1 / Math.sin(d); - var interpolate = d ? function(t) { - var B = Math.sin(t *= d) * k, A = Math.sin(d - t) * k, x = A * kx0 + B * kx1, y = A * ky0 + B * ky1, z = A * sy0 + B * sy1; - return [ Math.atan2(y, x) * d3_degrees, Math.atan2(z, Math.sqrt(x * x + y * y)) * d3_degrees ]; - } : function() { - return [ x0 * d3_degrees, y0 * d3_degrees ]; - }; - interpolate.distance = d; - return interpolate; - } - d3.geo.length = function(object) { - d3_geo_lengthSum = 0; - d3.geo.stream(object, d3_geo_length); - return d3_geo_lengthSum; - }; - var d3_geo_lengthSum; - var d3_geo_length = { - sphere: d3_noop, - point: d3_noop, - lineStart: d3_geo_lengthLineStart, - lineEnd: d3_noop, - polygonStart: d3_noop, - polygonEnd: d3_noop - }; - function d3_geo_lengthLineStart() { - var λ0, sinφ0, cosφ0; - d3_geo_length.point = function(λ, φ) { - λ0 = λ * d3_radians, sinφ0 = Math.sin(φ *= d3_radians), cosφ0 = Math.cos(φ); - d3_geo_length.point = nextPoint; - }; - d3_geo_length.lineEnd = function() { - d3_geo_length.point = d3_geo_length.lineEnd = d3_noop; - }; - function nextPoint(λ, φ) { - var sinφ = Math.sin(φ *= d3_radians), cosφ = Math.cos(φ), t = abs((λ *= d3_radians) - λ0), cosΔλ = Math.cos(t); - d3_geo_lengthSum += Math.atan2(Math.sqrt((t = cosφ * Math.sin(t)) * t + (t = cosφ0 * sinφ - sinφ0 * cosφ * cosΔλ) * t), sinφ0 * sinφ + cosφ0 * cosφ * cosΔλ); - λ0 = λ, sinφ0 = sinφ, cosφ0 = cosφ; - } - } - function d3_geo_azimuthal(scale, angle) { - function azimuthal(λ, φ) { - var cosλ = Math.cos(λ), cosφ = Math.cos(φ), k = scale(cosλ * cosφ); - return [ k * cosφ * Math.sin(λ), k * Math.sin(φ) ]; - } - azimuthal.invert = function(x, y) { - var ρ = Math.sqrt(x * x + y * y), c = angle(ρ), sinc = Math.sin(c), cosc = Math.cos(c); - return [ Math.atan2(x * sinc, ρ * cosc), Math.asin(ρ && y * sinc / ρ) ]; - }; - return azimuthal; - } - var d3_geo_azimuthalEqualArea = d3_geo_azimuthal(function(cosλcosφ) { - return Math.sqrt(2 / (1 + cosλcosφ)); - }, function(ρ) { - return 2 * Math.asin(ρ / 2); - }); - (d3.geo.azimuthalEqualArea = function() { - return d3_geo_projection(d3_geo_azimuthalEqualArea); - }).raw = d3_geo_azimuthalEqualArea; - var d3_geo_azimuthalEquidistant = d3_geo_azimuthal(function(cosλcosφ) { - var c = Math.acos(cosλcosφ); - return c && c / Math.sin(c); - }, d3_identity); - (d3.geo.azimuthalEquidistant = function() { - return d3_geo_projection(d3_geo_azimuthalEquidistant); - }).raw = d3_geo_azimuthalEquidistant; - function d3_geo_conicConformal(φ0, φ1) { - var cosφ0 = Math.cos(φ0), t = function(φ) { - return Math.tan(π / 4 + φ / 2); - }, n = φ0 === φ1 ? Math.sin(φ0) : Math.log(cosφ0 / Math.cos(φ1)) / Math.log(t(φ1) / t(φ0)), F = cosφ0 * Math.pow(t(φ0), n) / n; - if (!n) return d3_geo_mercator; - function forward(λ, φ) { - if (F > 0) { - if (φ < -halfπ + ε) φ = -halfπ + ε; - } else { - if (φ > halfπ - ε) φ = halfπ - ε; - } - var ρ = F / Math.pow(t(φ), n); - return [ ρ * Math.sin(n * λ), F - ρ * Math.cos(n * λ) ]; - } - forward.invert = function(x, y) { - var ρ0_y = F - y, ρ = d3_sgn(n) * Math.sqrt(x * x + ρ0_y * ρ0_y); - return [ Math.atan2(x, ρ0_y) / n, 2 * Math.atan(Math.pow(F / ρ, 1 / n)) - halfπ ]; - }; - return forward; - } - (d3.geo.conicConformal = function() { - return d3_geo_conic(d3_geo_conicConformal); - }).raw = d3_geo_conicConformal; - function d3_geo_conicEquidistant(φ0, φ1) { - var cosφ0 = Math.cos(φ0), n = φ0 === φ1 ? Math.sin(φ0) : (cosφ0 - Math.cos(φ1)) / (φ1 - φ0), G = cosφ0 / n + φ0; - if (abs(n) < ε) return d3_geo_equirectangular; - function forward(λ, φ) { - var ρ = G - φ; - return [ ρ * Math.sin(n * λ), G - ρ * Math.cos(n * λ) ]; - } - forward.invert = function(x, y) { - var ρ0_y = G - y; - return [ Math.atan2(x, ρ0_y) / n, G - d3_sgn(n) * Math.sqrt(x * x + ρ0_y * ρ0_y) ]; - }; - return forward; - } - (d3.geo.conicEquidistant = function() { - return d3_geo_conic(d3_geo_conicEquidistant); - }).raw = d3_geo_conicEquidistant; - var d3_geo_gnomonic = d3_geo_azimuthal(function(cosλcosφ) { - return 1 / cosλcosφ; - }, Math.atan); - (d3.geo.gnomonic = function() { - return d3_geo_projection(d3_geo_gnomonic); - }).raw = d3_geo_gnomonic; - function d3_geo_mercator(λ, φ) { - return [ λ, Math.log(Math.tan(π / 4 + φ / 2)) ]; - } - d3_geo_mercator.invert = function(x, y) { - return [ x, 2 * Math.atan(Math.exp(y)) - halfπ ]; - }; - function d3_geo_mercatorProjection(project) { - var m = d3_geo_projection(project), scale = m.scale, translate = m.translate, clipExtent = m.clipExtent, clipAuto; - m.scale = function() { - var v = scale.apply(m, arguments); - return v === m ? clipAuto ? m.clipExtent(null) : m : v; - }; - m.translate = function() { - var v = translate.apply(m, arguments); - return v === m ? clipAuto ? m.clipExtent(null) : m : v; - }; - m.clipExtent = function(_) { - var v = clipExtent.apply(m, arguments); - if (v === m) { - if (clipAuto = _ == null) { - var k = π * scale(), t = translate(); - clipExtent([ [ t[0] - k, t[1] - k ], [ t[0] + k, t[1] + k ] ]); - } - } else if (clipAuto) { - v = null; - } - return v; - }; - return m.clipExtent(null); - } - (d3.geo.mercator = function() { - return d3_geo_mercatorProjection(d3_geo_mercator); - }).raw = d3_geo_mercator; - var d3_geo_orthographic = d3_geo_azimuthal(function() { - return 1; - }, Math.asin); - (d3.geo.orthographic = function() { - return d3_geo_projection(d3_geo_orthographic); - }).raw = d3_geo_orthographic; - var d3_geo_stereographic = d3_geo_azimuthal(function(cosλcosφ) { - return 1 / (1 + cosλcosφ); - }, function(ρ) { - return 2 * Math.atan(ρ); - }); - (d3.geo.stereographic = function() { - return d3_geo_projection(d3_geo_stereographic); - }).raw = d3_geo_stereographic; - function d3_geo_transverseMercator(λ, φ) { - return [ Math.log(Math.tan(π / 4 + φ / 2)), -λ ]; - } - d3_geo_transverseMercator.invert = function(x, y) { - return [ -y, 2 * Math.atan(Math.exp(x)) - halfπ ]; - }; - (d3.geo.transverseMercator = function() { - var projection = d3_geo_mercatorProjection(d3_geo_transverseMercator), center = projection.center, rotate = projection.rotate; - projection.center = function(_) { - return _ ? center([ -_[1], _[0] ]) : (_ = center(), [ _[1], -_[0] ]); - }; - projection.rotate = function(_) { - return _ ? rotate([ _[0], _[1], _.length > 2 ? _[2] + 90 : 90 ]) : (_ = rotate(), - [ _[0], _[1], _[2] - 90 ]); - }; - return rotate([ 0, 0, 90 ]); - }).raw = d3_geo_transverseMercator; - d3.geom = {}; - function d3_geom_pointX(d) { - return d[0]; - } - function d3_geom_pointY(d) { - return d[1]; - } - d3.geom.hull = function(vertices) { - var x = d3_geom_pointX, y = d3_geom_pointY; - if (arguments.length) return hull(vertices); - function hull(data) { - if (data.length < 3) return []; - var fx = d3_functor(x), fy = d3_functor(y), i, n = data.length, points = [], flippedPoints = []; - for (i = 0; i < n; i++) { - points.push([ +fx.call(this, data[i], i), +fy.call(this, data[i], i), i ]); - } - points.sort(d3_geom_hullOrder); - for (i = 0; i < n; i++) flippedPoints.push([ points[i][0], -points[i][1] ]); - var upper = d3_geom_hullUpper(points), lower = d3_geom_hullUpper(flippedPoints); - var skipLeft = lower[0] === upper[0], skipRight = lower[lower.length - 1] === upper[upper.length - 1], polygon = []; - for (i = upper.length - 1; i >= 0; --i) polygon.push(data[points[upper[i]][2]]); - for (i = +skipLeft; i < lower.length - skipRight; ++i) polygon.push(data[points[lower[i]][2]]); - return polygon; - } - hull.x = function(_) { - return arguments.length ? (x = _, hull) : x; - }; - hull.y = function(_) { - return arguments.length ? (y = _, hull) : y; - }; - return hull; - }; - function d3_geom_hullUpper(points) { - var n = points.length, hull = [ 0, 1 ], hs = 2; - for (var i = 2; i < n; i++) { - while (hs > 1 && d3_cross2d(points[hull[hs - 2]], points[hull[hs - 1]], points[i]) <= 0) --hs; - hull[hs++] = i; - } - return hull.slice(0, hs); - } - function d3_geom_hullOrder(a, b) { - return a[0] - b[0] || a[1] - b[1]; - } - d3.geom.polygon = function(coordinates) { - d3_subclass(coordinates, d3_geom_polygonPrototype); - return coordinates; - }; - var d3_geom_polygonPrototype = d3.geom.polygon.prototype = []; - d3_geom_polygonPrototype.area = function() { - var i = -1, n = this.length, a, b = this[n - 1], area = 0; - while (++i < n) { - a = b; - b = this[i]; - area += a[1] * b[0] - a[0] * b[1]; - } - return area * .5; - }; - d3_geom_polygonPrototype.centroid = function(k) { - var i = -1, n = this.length, x = 0, y = 0, a, b = this[n - 1], c; - if (!arguments.length) k = -1 / (6 * this.area()); - while (++i < n) { - a = b; - b = this[i]; - c = a[0] * b[1] - b[0] * a[1]; - x += (a[0] + b[0]) * c; - y += (a[1] + b[1]) * c; - } - return [ x * k, y * k ]; - }; - d3_geom_polygonPrototype.clip = function(subject) { - var input, closed = d3_geom_polygonClosed(subject), i = -1, n = this.length - d3_geom_polygonClosed(this), j, m, a = this[n - 1], b, c, d; - while (++i < n) { - input = subject.slice(); - subject.length = 0; - b = this[i]; - c = input[(m = input.length - closed) - 1]; - j = -1; - while (++j < m) { - d = input[j]; - if (d3_geom_polygonInside(d, a, b)) { - if (!d3_geom_polygonInside(c, a, b)) { - subject.push(d3_geom_polygonIntersect(c, d, a, b)); - } - subject.push(d); - } else if (d3_geom_polygonInside(c, a, b)) { - subject.push(d3_geom_polygonIntersect(c, d, a, b)); - } - c = d; - } - if (closed) subject.push(subject[0]); - a = b; - } - return subject; - }; - function d3_geom_polygonInside(p, a, b) { - return (b[0] - a[0]) * (p[1] - a[1]) < (b[1] - a[1]) * (p[0] - a[0]); - } - function d3_geom_polygonIntersect(c, d, a, b) { - var x1 = c[0], x3 = a[0], x21 = d[0] - x1, x43 = b[0] - x3, y1 = c[1], y3 = a[1], y21 = d[1] - y1, y43 = b[1] - y3, ua = (x43 * (y1 - y3) - y43 * (x1 - x3)) / (y43 * x21 - x43 * y21); - return [ x1 + ua * x21, y1 + ua * y21 ]; - } - function d3_geom_polygonClosed(coordinates) { - var a = coordinates[0], b = coordinates[coordinates.length - 1]; - return !(a[0] - b[0] || a[1] - b[1]); - } - var d3_geom_voronoiEdges, d3_geom_voronoiCells, d3_geom_voronoiBeaches, d3_geom_voronoiBeachPool = [], d3_geom_voronoiFirstCircle, d3_geom_voronoiCircles, d3_geom_voronoiCirclePool = []; - function d3_geom_voronoiBeach() { - d3_geom_voronoiRedBlackNode(this); - this.edge = this.site = this.circle = null; - } - function d3_geom_voronoiCreateBeach(site) { - var beach = d3_geom_voronoiBeachPool.pop() || new d3_geom_voronoiBeach(); - beach.site = site; - return beach; - } - function d3_geom_voronoiDetachBeach(beach) { - d3_geom_voronoiDetachCircle(beach); - d3_geom_voronoiBeaches.remove(beach); - d3_geom_voronoiBeachPool.push(beach); - d3_geom_voronoiRedBlackNode(beach); - } - function d3_geom_voronoiRemoveBeach(beach) { - var circle = beach.circle, x = circle.x, y = circle.cy, vertex = { - x: x, - y: y - }, previous = beach.P, next = beach.N, disappearing = [ beach ]; - d3_geom_voronoiDetachBeach(beach); - var lArc = previous; - while (lArc.circle && abs(x - lArc.circle.x) < ε && abs(y - lArc.circle.cy) < ε) { - previous = lArc.P; - disappearing.unshift(lArc); - d3_geom_voronoiDetachBeach(lArc); - lArc = previous; - } - disappearing.unshift(lArc); - d3_geom_voronoiDetachCircle(lArc); - var rArc = next; - while (rArc.circle && abs(x - rArc.circle.x) < ε && abs(y - rArc.circle.cy) < ε) { - next = rArc.N; - disappearing.push(rArc); - d3_geom_voronoiDetachBeach(rArc); - rArc = next; - } - disappearing.push(rArc); - d3_geom_voronoiDetachCircle(rArc); - var nArcs = disappearing.length, iArc; - for (iArc = 1; iArc < nArcs; ++iArc) { - rArc = disappearing[iArc]; - lArc = disappearing[iArc - 1]; - d3_geom_voronoiSetEdgeEnd(rArc.edge, lArc.site, rArc.site, vertex); - } - lArc = disappearing[0]; - rArc = disappearing[nArcs - 1]; - rArc.edge = d3_geom_voronoiCreateEdge(lArc.site, rArc.site, null, vertex); - d3_geom_voronoiAttachCircle(lArc); - d3_geom_voronoiAttachCircle(rArc); - } - function d3_geom_voronoiAddBeach(site) { - var x = site.x, directrix = site.y, lArc, rArc, dxl, dxr, node = d3_geom_voronoiBeaches._; - while (node) { - dxl = d3_geom_voronoiLeftBreakPoint(node, directrix) - x; - if (dxl > ε) node = node.L; else { - dxr = x - d3_geom_voronoiRightBreakPoint(node, directrix); - if (dxr > ε) { - if (!node.R) { - lArc = node; - break; - } - node = node.R; - } else { - if (dxl > -ε) { - lArc = node.P; - rArc = node; - } else if (dxr > -ε) { - lArc = node; - rArc = node.N; - } else { - lArc = rArc = node; - } - break; - } - } - } - var newArc = d3_geom_voronoiCreateBeach(site); - d3_geom_voronoiBeaches.insert(lArc, newArc); - if (!lArc && !rArc) return; - if (lArc === rArc) { - d3_geom_voronoiDetachCircle(lArc); - rArc = d3_geom_voronoiCreateBeach(lArc.site); - d3_geom_voronoiBeaches.insert(newArc, rArc); - newArc.edge = rArc.edge = d3_geom_voronoiCreateEdge(lArc.site, newArc.site); - d3_geom_voronoiAttachCircle(lArc); - d3_geom_voronoiAttachCircle(rArc); - return; - } - if (!rArc) { - newArc.edge = d3_geom_voronoiCreateEdge(lArc.site, newArc.site); - return; - } - d3_geom_voronoiDetachCircle(lArc); - d3_geom_voronoiDetachCircle(rArc); - var lSite = lArc.site, ax = lSite.x, ay = lSite.y, bx = site.x - ax, by = site.y - ay, rSite = rArc.site, cx = rSite.x - ax, cy = rSite.y - ay, d = 2 * (bx * cy - by * cx), hb = bx * bx + by * by, hc = cx * cx + cy * cy, vertex = { - x: (cy * hb - by * hc) / d + ax, - y: (bx * hc - cx * hb) / d + ay - }; - d3_geom_voronoiSetEdgeEnd(rArc.edge, lSite, rSite, vertex); - newArc.edge = d3_geom_voronoiCreateEdge(lSite, site, null, vertex); - rArc.edge = d3_geom_voronoiCreateEdge(site, rSite, null, vertex); - d3_geom_voronoiAttachCircle(lArc); - d3_geom_voronoiAttachCircle(rArc); - } - function d3_geom_voronoiLeftBreakPoint(arc, directrix) { - var site = arc.site, rfocx = site.x, rfocy = site.y, pby2 = rfocy - directrix; - if (!pby2) return rfocx; - var lArc = arc.P; - if (!lArc) return -Infinity; - site = lArc.site; - var lfocx = site.x, lfocy = site.y, plby2 = lfocy - directrix; - if (!plby2) return lfocx; - var hl = lfocx - rfocx, aby2 = 1 / pby2 - 1 / plby2, b = hl / plby2; - if (aby2) return (-b + Math.sqrt(b * b - 2 * aby2 * (hl * hl / (-2 * plby2) - lfocy + plby2 / 2 + rfocy - pby2 / 2))) / aby2 + rfocx; - return (rfocx + lfocx) / 2; - } - function d3_geom_voronoiRightBreakPoint(arc, directrix) { - var rArc = arc.N; - if (rArc) return d3_geom_voronoiLeftBreakPoint(rArc, directrix); - var site = arc.site; - return site.y === directrix ? site.x : Infinity; - } - function d3_geom_voronoiCell(site) { - this.site = site; - this.edges = []; - } - d3_geom_voronoiCell.prototype.prepare = function() { - var halfEdges = this.edges, iHalfEdge = halfEdges.length, edge; - while (iHalfEdge--) { - edge = halfEdges[iHalfEdge].edge; - if (!edge.b || !edge.a) halfEdges.splice(iHalfEdge, 1); - } - halfEdges.sort(d3_geom_voronoiHalfEdgeOrder); - return halfEdges.length; - }; - function d3_geom_voronoiCloseCells(extent) { - var x0 = extent[0][0], x1 = extent[1][0], y0 = extent[0][1], y1 = extent[1][1], x2, y2, x3, y3, cells = d3_geom_voronoiCells, iCell = cells.length, cell, iHalfEdge, halfEdges, nHalfEdges, start, end; - while (iCell--) { - cell = cells[iCell]; - if (!cell || !cell.prepare()) continue; - halfEdges = cell.edges; - nHalfEdges = halfEdges.length; - iHalfEdge = 0; - while (iHalfEdge < nHalfEdges) { - end = halfEdges[iHalfEdge].end(), x3 = end.x, y3 = end.y; - start = halfEdges[++iHalfEdge % nHalfEdges].start(), x2 = start.x, y2 = start.y; - if (abs(x3 - x2) > ε || abs(y3 - y2) > ε) { - halfEdges.splice(iHalfEdge, 0, new d3_geom_voronoiHalfEdge(d3_geom_voronoiCreateBorderEdge(cell.site, end, abs(x3 - x0) < ε && y1 - y3 > ε ? { - x: x0, - y: abs(x2 - x0) < ε ? y2 : y1 - } : abs(y3 - y1) < ε && x1 - x3 > ε ? { - x: abs(y2 - y1) < ε ? x2 : x1, - y: y1 - } : abs(x3 - x1) < ε && y3 - y0 > ε ? { - x: x1, - y: abs(x2 - x1) < ε ? y2 : y0 - } : abs(y3 - y0) < ε && x3 - x0 > ε ? { - x: abs(y2 - y0) < ε ? x2 : x0, - y: y0 - } : null), cell.site, null)); - ++nHalfEdges; - } - } - } - } - function d3_geom_voronoiHalfEdgeOrder(a, b) { - return b.angle - a.angle; - } - function d3_geom_voronoiCircle() { - d3_geom_voronoiRedBlackNode(this); - this.x = this.y = this.arc = this.site = this.cy = null; - } - function d3_geom_voronoiAttachCircle(arc) { - var lArc = arc.P, rArc = arc.N; - if (!lArc || !rArc) return; - var lSite = lArc.site, cSite = arc.site, rSite = rArc.site; - if (lSite === rSite) return; - var bx = cSite.x, by = cSite.y, ax = lSite.x - bx, ay = lSite.y - by, cx = rSite.x - bx, cy = rSite.y - by; - var d = 2 * (ax * cy - ay * cx); - if (d >= -ε2) return; - var ha = ax * ax + ay * ay, hc = cx * cx + cy * cy, x = (cy * ha - ay * hc) / d, y = (ax * hc - cx * ha) / d, cy = y + by; - var circle = d3_geom_voronoiCirclePool.pop() || new d3_geom_voronoiCircle(); - circle.arc = arc; - circle.site = cSite; - circle.x = x + bx; - circle.y = cy + Math.sqrt(x * x + y * y); - circle.cy = cy; - arc.circle = circle; - var before = null, node = d3_geom_voronoiCircles._; - while (node) { - if (circle.y < node.y || circle.y === node.y && circle.x <= node.x) { - if (node.L) node = node.L; else { - before = node.P; - break; - } - } else { - if (node.R) node = node.R; else { - before = node; - break; - } - } - } - d3_geom_voronoiCircles.insert(before, circle); - if (!before) d3_geom_voronoiFirstCircle = circle; - } - function d3_geom_voronoiDetachCircle(arc) { - var circle = arc.circle; - if (circle) { - if (!circle.P) d3_geom_voronoiFirstCircle = circle.N; - d3_geom_voronoiCircles.remove(circle); - d3_geom_voronoiCirclePool.push(circle); - d3_geom_voronoiRedBlackNode(circle); - arc.circle = null; - } - } - function d3_geom_voronoiClipEdges(extent) { - var edges = d3_geom_voronoiEdges, clip = d3_geom_clipLine(extent[0][0], extent[0][1], extent[1][0], extent[1][1]), i = edges.length, e; - while (i--) { - e = edges[i]; - if (!d3_geom_voronoiConnectEdge(e, extent) || !clip(e) || abs(e.a.x - e.b.x) < ε && abs(e.a.y - e.b.y) < ε) { - e.a = e.b = null; - edges.splice(i, 1); - } - } - } - function d3_geom_voronoiConnectEdge(edge, extent) { - var vb = edge.b; - if (vb) return true; - var va = edge.a, x0 = extent[0][0], x1 = extent[1][0], y0 = extent[0][1], y1 = extent[1][1], lSite = edge.l, rSite = edge.r, lx = lSite.x, ly = lSite.y, rx = rSite.x, ry = rSite.y, fx = (lx + rx) / 2, fy = (ly + ry) / 2, fm, fb; - if (ry === ly) { - if (fx < x0 || fx >= x1) return; - if (lx > rx) { - if (!va) va = { - x: fx, - y: y0 - }; else if (va.y >= y1) return; - vb = { - x: fx, - y: y1 - }; - } else { - if (!va) va = { - x: fx, - y: y1 - }; else if (va.y < y0) return; - vb = { - x: fx, - y: y0 - }; - } - } else { - fm = (lx - rx) / (ry - ly); - fb = fy - fm * fx; - if (fm < -1 || fm > 1) { - if (lx > rx) { - if (!va) va = { - x: (y0 - fb) / fm, - y: y0 - }; else if (va.y >= y1) return; - vb = { - x: (y1 - fb) / fm, - y: y1 - }; - } else { - if (!va) va = { - x: (y1 - fb) / fm, - y: y1 - }; else if (va.y < y0) return; - vb = { - x: (y0 - fb) / fm, - y: y0 - }; - } - } else { - if (ly < ry) { - if (!va) va = { - x: x0, - y: fm * x0 + fb - }; else if (va.x >= x1) return; - vb = { - x: x1, - y: fm * x1 + fb - }; - } else { - if (!va) va = { - x: x1, - y: fm * x1 + fb - }; else if (va.x < x0) return; - vb = { - x: x0, - y: fm * x0 + fb - }; - } - } - } - edge.a = va; - edge.b = vb; - return true; - } - function d3_geom_voronoiEdge(lSite, rSite) { - this.l = lSite; - this.r = rSite; - this.a = this.b = null; - } - function d3_geom_voronoiCreateEdge(lSite, rSite, va, vb) { - var edge = new d3_geom_voronoiEdge(lSite, rSite); - d3_geom_voronoiEdges.push(edge); - if (va) d3_geom_voronoiSetEdgeEnd(edge, lSite, rSite, va); - if (vb) d3_geom_voronoiSetEdgeEnd(edge, rSite, lSite, vb); - d3_geom_voronoiCells[lSite.i].edges.push(new d3_geom_voronoiHalfEdge(edge, lSite, rSite)); - d3_geom_voronoiCells[rSite.i].edges.push(new d3_geom_voronoiHalfEdge(edge, rSite, lSite)); - return edge; - } - function d3_geom_voronoiCreateBorderEdge(lSite, va, vb) { - var edge = new d3_geom_voronoiEdge(lSite, null); - edge.a = va; - edge.b = vb; - d3_geom_voronoiEdges.push(edge); - return edge; - } - function d3_geom_voronoiSetEdgeEnd(edge, lSite, rSite, vertex) { - if (!edge.a && !edge.b) { - edge.a = vertex; - edge.l = lSite; - edge.r = rSite; - } else if (edge.l === rSite) { - edge.b = vertex; - } else { - edge.a = vertex; - } - } - function d3_geom_voronoiHalfEdge(edge, lSite, rSite) { - var va = edge.a, vb = edge.b; - this.edge = edge; - this.site = lSite; - this.angle = rSite ? Math.atan2(rSite.y - lSite.y, rSite.x - lSite.x) : edge.l === lSite ? Math.atan2(vb.x - va.x, va.y - vb.y) : Math.atan2(va.x - vb.x, vb.y - va.y); - } - d3_geom_voronoiHalfEdge.prototype = { - start: function() { - return this.edge.l === this.site ? this.edge.a : this.edge.b; - }, - end: function() { - return this.edge.l === this.site ? this.edge.b : this.edge.a; - } - }; - function d3_geom_voronoiRedBlackTree() { - this._ = null; - } - function d3_geom_voronoiRedBlackNode(node) { - node.U = node.C = node.L = node.R = node.P = node.N = null; - } - d3_geom_voronoiRedBlackTree.prototype = { - insert: function(after, node) { - var parent, grandpa, uncle; - if (after) { - node.P = after; - node.N = after.N; - if (after.N) after.N.P = node; - after.N = node; - if (after.R) { - after = after.R; - while (after.L) after = after.L; - after.L = node; - } else { - after.R = node; - } - parent = after; - } else if (this._) { - after = d3_geom_voronoiRedBlackFirst(this._); - node.P = null; - node.N = after; - after.P = after.L = node; - parent = after; - } else { - node.P = node.N = null; - this._ = node; - parent = null; - } - node.L = node.R = null; - node.U = parent; - node.C = true; - after = node; - while (parent && parent.C) { - grandpa = parent.U; - if (parent === grandpa.L) { - uncle = grandpa.R; - if (uncle && uncle.C) { - parent.C = uncle.C = false; - grandpa.C = true; - after = grandpa; - } else { - if (after === parent.R) { - d3_geom_voronoiRedBlackRotateLeft(this, parent); - after = parent; - parent = after.U; - } - parent.C = false; - grandpa.C = true; - d3_geom_voronoiRedBlackRotateRight(this, grandpa); - } - } else { - uncle = grandpa.L; - if (uncle && uncle.C) { - parent.C = uncle.C = false; - grandpa.C = true; - after = grandpa; - } else { - if (after === parent.L) { - d3_geom_voronoiRedBlackRotateRight(this, parent); - after = parent; - parent = after.U; - } - parent.C = false; - grandpa.C = true; - d3_geom_voronoiRedBlackRotateLeft(this, grandpa); - } - } - parent = after.U; - } - this._.C = false; - }, - remove: function(node) { - if (node.N) node.N.P = node.P; - if (node.P) node.P.N = node.N; - node.N = node.P = null; - var parent = node.U, sibling, left = node.L, right = node.R, next, red; - if (!left) next = right; else if (!right) next = left; else next = d3_geom_voronoiRedBlackFirst(right); - if (parent) { - if (parent.L === node) parent.L = next; else parent.R = next; - } else { - this._ = next; - } - if (left && right) { - red = next.C; - next.C = node.C; - next.L = left; - left.U = next; - if (next !== right) { - parent = next.U; - next.U = node.U; - node = next.R; - parent.L = node; - next.R = right; - right.U = next; - } else { - next.U = parent; - parent = next; - node = next.R; - } - } else { - red = node.C; - node = next; - } - if (node) node.U = parent; - if (red) return; - if (node && node.C) { - node.C = false; - return; - } - do { - if (node === this._) break; - if (node === parent.L) { - sibling = parent.R; - if (sibling.C) { - sibling.C = false; - parent.C = true; - d3_geom_voronoiRedBlackRotateLeft(this, parent); - sibling = parent.R; - } - if (sibling.L && sibling.L.C || sibling.R && sibling.R.C) { - if (!sibling.R || !sibling.R.C) { - sibling.L.C = false; - sibling.C = true; - d3_geom_voronoiRedBlackRotateRight(this, sibling); - sibling = parent.R; - } - sibling.C = parent.C; - parent.C = sibling.R.C = false; - d3_geom_voronoiRedBlackRotateLeft(this, parent); - node = this._; - break; - } - } else { - sibling = parent.L; - if (sibling.C) { - sibling.C = false; - parent.C = true; - d3_geom_voronoiRedBlackRotateRight(this, parent); - sibling = parent.L; - } - if (sibling.L && sibling.L.C || sibling.R && sibling.R.C) { - if (!sibling.L || !sibling.L.C) { - sibling.R.C = false; - sibling.C = true; - d3_geom_voronoiRedBlackRotateLeft(this, sibling); - sibling = parent.L; - } - sibling.C = parent.C; - parent.C = sibling.L.C = false; - d3_geom_voronoiRedBlackRotateRight(this, parent); - node = this._; - break; - } - } - sibling.C = true; - node = parent; - parent = parent.U; - } while (!node.C); - if (node) node.C = false; - } - }; - function d3_geom_voronoiRedBlackRotateLeft(tree, node) { - var p = node, q = node.R, parent = p.U; - if (parent) { - if (parent.L === p) parent.L = q; else parent.R = q; - } else { - tree._ = q; - } - q.U = parent; - p.U = q; - p.R = q.L; - if (p.R) p.R.U = p; - q.L = p; - } - function d3_geom_voronoiRedBlackRotateRight(tree, node) { - var p = node, q = node.L, parent = p.U; - if (parent) { - if (parent.L === p) parent.L = q; else parent.R = q; - } else { - tree._ = q; - } - q.U = parent; - p.U = q; - p.L = q.R; - if (p.L) p.L.U = p; - q.R = p; - } - function d3_geom_voronoiRedBlackFirst(node) { - while (node.L) node = node.L; - return node; - } - function d3_geom_voronoi(sites, bbox) { - var site = sites.sort(d3_geom_voronoiVertexOrder).pop(), x0, y0, circle; - d3_geom_voronoiEdges = []; - d3_geom_voronoiCells = new Array(sites.length); - d3_geom_voronoiBeaches = new d3_geom_voronoiRedBlackTree(); - d3_geom_voronoiCircles = new d3_geom_voronoiRedBlackTree(); - while (true) { - circle = d3_geom_voronoiFirstCircle; - if (site && (!circle || site.y < circle.y || site.y === circle.y && site.x < circle.x)) { - if (site.x !== x0 || site.y !== y0) { - d3_geom_voronoiCells[site.i] = new d3_geom_voronoiCell(site); - d3_geom_voronoiAddBeach(site); - x0 = site.x, y0 = site.y; - } - site = sites.pop(); - } else if (circle) { - d3_geom_voronoiRemoveBeach(circle.arc); - } else { - break; - } - } - if (bbox) d3_geom_voronoiClipEdges(bbox), d3_geom_voronoiCloseCells(bbox); - var diagram = { - cells: d3_geom_voronoiCells, - edges: d3_geom_voronoiEdges - }; - d3_geom_voronoiBeaches = d3_geom_voronoiCircles = d3_geom_voronoiEdges = d3_geom_voronoiCells = null; - return diagram; - } - function d3_geom_voronoiVertexOrder(a, b) { - return b.y - a.y || b.x - a.x; - } - d3.geom.voronoi = function(points) { - var x = d3_geom_pointX, y = d3_geom_pointY, fx = x, fy = y, clipExtent = d3_geom_voronoiClipExtent; - if (points) return voronoi(points); - function voronoi(data) { - var polygons = new Array(data.length), x0 = clipExtent[0][0], y0 = clipExtent[0][1], x1 = clipExtent[1][0], y1 = clipExtent[1][1]; - d3_geom_voronoi(sites(data), clipExtent).cells.forEach(function(cell, i) { - var edges = cell.edges, site = cell.site, polygon = polygons[i] = edges.length ? edges.map(function(e) { - var s = e.start(); - return [ s.x, s.y ]; - }) : site.x >= x0 && site.x <= x1 && site.y >= y0 && site.y <= y1 ? [ [ x0, y1 ], [ x1, y1 ], [ x1, y0 ], [ x0, y0 ] ] : []; - polygon.point = data[i]; - }); - return polygons; - } - function sites(data) { - return data.map(function(d, i) { - return { - x: Math.round(fx(d, i) / ε) * ε, - y: Math.round(fy(d, i) / ε) * ε, - i: i - }; - }); - } - voronoi.links = function(data) { - return d3_geom_voronoi(sites(data)).edges.filter(function(edge) { - return edge.l && edge.r; - }).map(function(edge) { - return { - source: data[edge.l.i], - target: data[edge.r.i] - }; - }); - }; - voronoi.triangles = function(data) { - var triangles = []; - d3_geom_voronoi(sites(data)).cells.forEach(function(cell, i) { - var site = cell.site, edges = cell.edges.sort(d3_geom_voronoiHalfEdgeOrder), j = -1, m = edges.length, e0, s0, e1 = edges[m - 1].edge, s1 = e1.l === site ? e1.r : e1.l; - while (++j < m) { - e0 = e1; - s0 = s1; - e1 = edges[j].edge; - s1 = e1.l === site ? e1.r : e1.l; - if (i < s0.i && i < s1.i && d3_geom_voronoiTriangleArea(site, s0, s1) < 0) { - triangles.push([ data[i], data[s0.i], data[s1.i] ]); - } - } - }); - return triangles; - }; - voronoi.x = function(_) { - return arguments.length ? (fx = d3_functor(x = _), voronoi) : x; - }; - voronoi.y = function(_) { - return arguments.length ? (fy = d3_functor(y = _), voronoi) : y; - }; - voronoi.clipExtent = function(_) { - if (!arguments.length) return clipExtent === d3_geom_voronoiClipExtent ? null : clipExtent; - clipExtent = _ == null ? d3_geom_voronoiClipExtent : _; - return voronoi; - }; - voronoi.size = function(_) { - if (!arguments.length) return clipExtent === d3_geom_voronoiClipExtent ? null : clipExtent && clipExtent[1]; - return voronoi.clipExtent(_ && [ [ 0, 0 ], _ ]); - }; - return voronoi; - }; - var d3_geom_voronoiClipExtent = [ [ -1e6, -1e6 ], [ 1e6, 1e6 ] ]; - function d3_geom_voronoiTriangleArea(a, b, c) { - return (a.x - c.x) * (b.y - a.y) - (a.x - b.x) * (c.y - a.y); - } - d3.geom.delaunay = function(vertices) { - return d3.geom.voronoi().triangles(vertices); - }; - d3.geom.quadtree = function(points, x1, y1, x2, y2) { - var x = d3_geom_pointX, y = d3_geom_pointY, compat; - if (compat = arguments.length) { - x = d3_geom_quadtreeCompatX; - y = d3_geom_quadtreeCompatY; - if (compat === 3) { - y2 = y1; - x2 = x1; - y1 = x1 = 0; - } - return quadtree(points); - } - function quadtree(data) { - var d, fx = d3_functor(x), fy = d3_functor(y), xs, ys, i, n, x1_, y1_, x2_, y2_; - if (x1 != null) { - x1_ = x1, y1_ = y1, x2_ = x2, y2_ = y2; - } else { - x2_ = y2_ = -(x1_ = y1_ = Infinity); - xs = [], ys = []; - n = data.length; - if (compat) for (i = 0; i < n; ++i) { - d = data[i]; - if (d.x < x1_) x1_ = d.x; - if (d.y < y1_) y1_ = d.y; - if (d.x > x2_) x2_ = d.x; - if (d.y > y2_) y2_ = d.y; - xs.push(d.x); - ys.push(d.y); - } else for (i = 0; i < n; ++i) { - var x_ = +fx(d = data[i], i), y_ = +fy(d, i); - if (x_ < x1_) x1_ = x_; - if (y_ < y1_) y1_ = y_; - if (x_ > x2_) x2_ = x_; - if (y_ > y2_) y2_ = y_; - xs.push(x_); - ys.push(y_); - } - } - var dx = x2_ - x1_, dy = y2_ - y1_; - if (dx > dy) y2_ = y1_ + dx; else x2_ = x1_ + dy; - function insert(n, d, x, y, x1, y1, x2, y2) { - if (isNaN(x) || isNaN(y)) return; - if (n.leaf) { - var nx = n.x, ny = n.y; - if (nx != null) { - if (abs(nx - x) + abs(ny - y) < .01) { - insertChild(n, d, x, y, x1, y1, x2, y2); - } else { - var nPoint = n.point; - n.x = n.y = n.point = null; - insertChild(n, nPoint, nx, ny, x1, y1, x2, y2); - insertChild(n, d, x, y, x1, y1, x2, y2); - } - } else { - n.x = x, n.y = y, n.point = d; - } - } else { - insertChild(n, d, x, y, x1, y1, x2, y2); - } - } - function insertChild(n, d, x, y, x1, y1, x2, y2) { - var xm = (x1 + x2) * .5, ym = (y1 + y2) * .5, right = x >= xm, below = y >= ym, i = below << 1 | right; - n.leaf = false; - n = n.nodes[i] || (n.nodes[i] = d3_geom_quadtreeNode()); - if (right) x1 = xm; else x2 = xm; - if (below) y1 = ym; else y2 = ym; - insert(n, d, x, y, x1, y1, x2, y2); - } - var root = d3_geom_quadtreeNode(); - root.add = function(d) { - insert(root, d, +fx(d, ++i), +fy(d, i), x1_, y1_, x2_, y2_); - }; - root.visit = function(f) { - d3_geom_quadtreeVisit(f, root, x1_, y1_, x2_, y2_); - }; - root.find = function(point) { - return d3_geom_quadtreeFind(root, point[0], point[1], x1_, y1_, x2_, y2_); - }; - i = -1; - if (x1 == null) { - while (++i < n) { - insert(root, data[i], xs[i], ys[i], x1_, y1_, x2_, y2_); - } - --i; - } else data.forEach(root.add); - xs = ys = data = d = null; - return root; - } - quadtree.x = function(_) { - return arguments.length ? (x = _, quadtree) : x; - }; - quadtree.y = function(_) { - return arguments.length ? (y = _, quadtree) : y; - }; - quadtree.extent = function(_) { - if (!arguments.length) return x1 == null ? null : [ [ x1, y1 ], [ x2, y2 ] ]; - if (_ == null) x1 = y1 = x2 = y2 = null; else x1 = +_[0][0], y1 = +_[0][1], x2 = +_[1][0], - y2 = +_[1][1]; - return quadtree; - }; - quadtree.size = function(_) { - if (!arguments.length) return x1 == null ? null : [ x2 - x1, y2 - y1 ]; - if (_ == null) x1 = y1 = x2 = y2 = null; else x1 = y1 = 0, x2 = +_[0], y2 = +_[1]; - return quadtree; - }; - return quadtree; - }; - function d3_geom_quadtreeCompatX(d) { - return d.x; - } - function d3_geom_quadtreeCompatY(d) { - return d.y; - } - function d3_geom_quadtreeNode() { - return { - leaf: true, - nodes: [], - point: null, - x: null, - y: null - }; - } - function d3_geom_quadtreeVisit(f, node, x1, y1, x2, y2) { - if (!f(node, x1, y1, x2, y2)) { - var sx = (x1 + x2) * .5, sy = (y1 + y2) * .5, children = node.nodes; - if (children[0]) d3_geom_quadtreeVisit(f, children[0], x1, y1, sx, sy); - if (children[1]) d3_geom_quadtreeVisit(f, children[1], sx, y1, x2, sy); - if (children[2]) d3_geom_quadtreeVisit(f, children[2], x1, sy, sx, y2); - if (children[3]) d3_geom_quadtreeVisit(f, children[3], sx, sy, x2, y2); - } - } - function d3_geom_quadtreeFind(root, x, y, x0, y0, x3, y3) { - var minDistance2 = Infinity, closestPoint; - (function find(node, x1, y1, x2, y2) { - if (x1 > x3 || y1 > y3 || x2 < x0 || y2 < y0) return; - if (point = node.point) { - var point, dx = x - point[0], dy = y - point[1], distance2 = dx * dx + dy * dy; - if (distance2 < minDistance2) { - var distance = Math.sqrt(minDistance2 = distance2); - x0 = x - distance, y0 = y - distance; - x3 = x + distance, y3 = y + distance; - closestPoint = point; - } - } - var children = node.nodes, xm = (x1 + x2) * .5, ym = (y1 + y2) * .5, right = x >= xm, below = y >= ym; - for (var i = below << 1 | right, j = i + 4; i < j; ++i) { - if (node = children[i & 3]) switch (i & 3) { - case 0: - find(node, x1, y1, xm, ym); - break; - - case 1: - find(node, xm, y1, x2, ym); - break; - - case 2: - find(node, x1, ym, xm, y2); - break; - - case 3: - find(node, xm, ym, x2, y2); - break; - } - } - })(root, x0, y0, x3, y3); - return closestPoint; - } - d3.interpolateRgb = d3_interpolateRgb; - function d3_interpolateRgb(a, b) { - a = d3.rgb(a); - b = d3.rgb(b); - var ar = a.r, ag = a.g, ab = a.b, br = b.r - ar, bg = b.g - ag, bb = b.b - ab; - return function(t) { - return "#" + d3_rgb_hex(Math.round(ar + br * t)) + d3_rgb_hex(Math.round(ag + bg * t)) + d3_rgb_hex(Math.round(ab + bb * t)); - }; - } - d3.interpolateObject = d3_interpolateObject; - function d3_interpolateObject(a, b) { - var i = {}, c = {}, k; - for (k in a) { - if (k in b) { - i[k] = d3_interpolate(a[k], b[k]); - } else { - c[k] = a[k]; - } - } - for (k in b) { - if (!(k in a)) { - c[k] = b[k]; - } - } - return function(t) { - for (k in i) c[k] = i[k](t); - return c; - }; - } - d3.interpolateNumber = d3_interpolateNumber; - function d3_interpolateNumber(a, b) { - a = +a, b = +b; - return function(t) { - return a * (1 - t) + b * t; - }; - } - d3.interpolateString = d3_interpolateString; - function d3_interpolateString(a, b) { - var bi = d3_interpolate_numberA.lastIndex = d3_interpolate_numberB.lastIndex = 0, am, bm, bs, i = -1, s = [], q = []; - a = a + "", b = b + ""; - while ((am = d3_interpolate_numberA.exec(a)) && (bm = d3_interpolate_numberB.exec(b))) { - if ((bs = bm.index) > bi) { - bs = b.slice(bi, bs); - if (s[i]) s[i] += bs; else s[++i] = bs; - } - if ((am = am[0]) === (bm = bm[0])) { - if (s[i]) s[i] += bm; else s[++i] = bm; - } else { - s[++i] = null; - q.push({ - i: i, - x: d3_interpolateNumber(am, bm) - }); - } - bi = d3_interpolate_numberB.lastIndex; - } - if (bi < b.length) { - bs = b.slice(bi); - if (s[i]) s[i] += bs; else s[++i] = bs; - } - return s.length < 2 ? q[0] ? (b = q[0].x, function(t) { - return b(t) + ""; - }) : function() { - return b; - } : (b = q.length, function(t) { - for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t); - return s.join(""); - }); - } - var d3_interpolate_numberA = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, d3_interpolate_numberB = new RegExp(d3_interpolate_numberA.source, "g"); - d3.interpolate = d3_interpolate; - function d3_interpolate(a, b) { - var i = d3.interpolators.length, f; - while (--i >= 0 && !(f = d3.interpolators[i](a, b))) ; - return f; - } - d3.interpolators = [ function(a, b) { - var t = typeof b; - return (t === "string" ? d3_rgb_names.has(b) || /^(#|rgb\(|hsl\()/.test(b) ? d3_interpolateRgb : d3_interpolateString : b instanceof d3_color ? d3_interpolateRgb : Array.isArray(b) ? d3_interpolateArray : t === "object" && isNaN(b) ? d3_interpolateObject : d3_interpolateNumber)(a, b); - } ]; - d3.interpolateArray = d3_interpolateArray; - function d3_interpolateArray(a, b) { - var x = [], c = [], na = a.length, nb = b.length, n0 = Math.min(a.length, b.length), i; - for (i = 0; i < n0; ++i) x.push(d3_interpolate(a[i], b[i])); - for (;i < na; ++i) c[i] = a[i]; - for (;i < nb; ++i) c[i] = b[i]; - return function(t) { - for (i = 0; i < n0; ++i) c[i] = x[i](t); - return c; - }; - } - var d3_ease_default = function() { - return d3_identity; - }; - var d3_ease = d3.map({ - linear: d3_ease_default, - poly: d3_ease_poly, - quad: function() { - return d3_ease_quad; - }, - cubic: function() { - return d3_ease_cubic; - }, - sin: function() { - return d3_ease_sin; - }, - exp: function() { - return d3_ease_exp; - }, - circle: function() { - return d3_ease_circle; - }, - elastic: d3_ease_elastic, - back: d3_ease_back, - bounce: function() { - return d3_ease_bounce; - } - }); - var d3_ease_mode = d3.map({ - "in": d3_identity, - out: d3_ease_reverse, - "in-out": d3_ease_reflect, - "out-in": function(f) { - return d3_ease_reflect(d3_ease_reverse(f)); - } - }); - d3.ease = function(name) { - var i = name.indexOf("-"), t = i >= 0 ? name.slice(0, i) : name, m = i >= 0 ? name.slice(i + 1) : "in"; - t = d3_ease.get(t) || d3_ease_default; - m = d3_ease_mode.get(m) || d3_identity; - return d3_ease_clamp(m(t.apply(null, d3_arraySlice.call(arguments, 1)))); - }; - function d3_ease_clamp(f) { - return function(t) { - return t <= 0 ? 0 : t >= 1 ? 1 : f(t); - }; - } - function d3_ease_reverse(f) { - return function(t) { - return 1 - f(1 - t); - }; - } - function d3_ease_reflect(f) { - return function(t) { - return .5 * (t < .5 ? f(2 * t) : 2 - f(2 - 2 * t)); - }; - } - function d3_ease_quad(t) { - return t * t; - } - function d3_ease_cubic(t) { - return t * t * t; - } - function d3_ease_cubicInOut(t) { - if (t <= 0) return 0; - if (t >= 1) return 1; - var t2 = t * t, t3 = t2 * t; - return 4 * (t < .5 ? t3 : 3 * (t - t2) + t3 - .75); - } - function d3_ease_poly(e) { - return function(t) { - return Math.pow(t, e); - }; - } - function d3_ease_sin(t) { - return 1 - Math.cos(t * halfπ); - } - function d3_ease_exp(t) { - return Math.pow(2, 10 * (t - 1)); - } - function d3_ease_circle(t) { - return 1 - Math.sqrt(1 - t * t); - } - function d3_ease_elastic(a, p) { - var s; - if (arguments.length < 2) p = .45; - if (arguments.length) s = p / τ * Math.asin(1 / a); else a = 1, s = p / 4; - return function(t) { - return 1 + a * Math.pow(2, -10 * t) * Math.sin((t - s) * τ / p); - }; - } - function d3_ease_back(s) { - if (!s) s = 1.70158; - return function(t) { - return t * t * ((s + 1) * t - s); - }; - } - function d3_ease_bounce(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; - } - d3.interpolateHcl = d3_interpolateHcl; - function d3_interpolateHcl(a, b) { - a = d3.hcl(a); - b = d3.hcl(b); - var ah = a.h, ac = a.c, al = a.l, bh = b.h - ah, bc = b.c - ac, bl = b.l - al; - if (isNaN(bc)) bc = 0, ac = isNaN(ac) ? b.c : ac; - if (isNaN(bh)) bh = 0, ah = isNaN(ah) ? b.h : ah; else if (bh > 180) bh -= 360; else if (bh < -180) bh += 360; - return function(t) { - return d3_hcl_lab(ah + bh * t, ac + bc * t, al + bl * t) + ""; - }; - } - d3.interpolateHsl = d3_interpolateHsl; - function d3_interpolateHsl(a, b) { - a = d3.hsl(a); - b = d3.hsl(b); - var ah = a.h, as = a.s, al = a.l, bh = b.h - ah, bs = b.s - as, bl = b.l - al; - if (isNaN(bs)) bs = 0, as = isNaN(as) ? b.s : as; - if (isNaN(bh)) bh = 0, ah = isNaN(ah) ? b.h : ah; else if (bh > 180) bh -= 360; else if (bh < -180) bh += 360; - return function(t) { - return d3_hsl_rgb(ah + bh * t, as + bs * t, al + bl * t) + ""; - }; - } - d3.interpolateLab = d3_interpolateLab; - function d3_interpolateLab(a, b) { - a = d3.lab(a); - b = d3.lab(b); - var al = a.l, aa = a.a, ab = a.b, bl = b.l - al, ba = b.a - aa, bb = b.b - ab; - return function(t) { - return d3_lab_rgb(al + bl * t, aa + ba * t, ab + bb * t) + ""; - }; - } - d3.interpolateRound = d3_interpolateRound; - function d3_interpolateRound(a, b) { - b -= a; - return function(t) { - return Math.round(a + b * t); - }; - } - d3.transform = function(string) { - var g = d3_document.createElementNS(d3.ns.prefix.svg, "g"); - return (d3.transform = function(string) { - if (string != null) { - g.setAttribute("transform", string); - var t = g.transform.baseVal.consolidate(); - } - return new d3_transform(t ? t.matrix : d3_transformIdentity); - })(string); - }; - function d3_transform(m) { - var r0 = [ m.a, m.b ], r1 = [ m.c, m.d ], kx = d3_transformNormalize(r0), kz = d3_transformDot(r0, r1), ky = d3_transformNormalize(d3_transformCombine(r1, r0, -kz)) || 0; - if (r0[0] * r1[1] < r1[0] * r0[1]) { - r0[0] *= -1; - r0[1] *= -1; - kx *= -1; - kz *= -1; - } - this.rotate = (kx ? Math.atan2(r0[1], r0[0]) : Math.atan2(-r1[0], r1[1])) * d3_degrees; - this.translate = [ m.e, m.f ]; - this.scale = [ kx, ky ]; - this.skew = ky ? Math.atan2(kz, ky) * d3_degrees : 0; - } - d3_transform.prototype.toString = function() { - return "translate(" + this.translate + ")rotate(" + this.rotate + ")skewX(" + this.skew + ")scale(" + this.scale + ")"; - }; - function d3_transformDot(a, b) { - return a[0] * b[0] + a[1] * b[1]; - } - function d3_transformNormalize(a) { - var k = Math.sqrt(d3_transformDot(a, a)); - if (k) { - a[0] /= k; - a[1] /= k; - } - return k; - } - function d3_transformCombine(a, b, k) { - a[0] += k * b[0]; - a[1] += k * b[1]; - return a; - } - var d3_transformIdentity = { - a: 1, - b: 0, - c: 0, - d: 1, - e: 0, - f: 0 - }; - d3.interpolateTransform = d3_interpolateTransform; - function d3_interpolateTransform(a, b) { - var s = [], q = [], n, A = d3.transform(a), B = d3.transform(b), ta = A.translate, tb = B.translate, ra = A.rotate, rb = B.rotate, wa = A.skew, wb = B.skew, ka = A.scale, kb = B.scale; - if (ta[0] != tb[0] || ta[1] != tb[1]) { - s.push("translate(", null, ",", null, ")"); - q.push({ - i: 1, - x: d3_interpolateNumber(ta[0], tb[0]) - }, { - i: 3, - x: d3_interpolateNumber(ta[1], tb[1]) - }); - } else if (tb[0] || tb[1]) { - s.push("translate(" + tb + ")"); - } else { - s.push(""); - } - if (ra != rb) { - if (ra - rb > 180) rb += 360; else if (rb - ra > 180) ra += 360; - q.push({ - i: s.push(s.pop() + "rotate(", null, ")") - 2, - x: d3_interpolateNumber(ra, rb) - }); - } else if (rb) { - s.push(s.pop() + "rotate(" + rb + ")"); - } - if (wa != wb) { - q.push({ - i: s.push(s.pop() + "skewX(", null, ")") - 2, - x: d3_interpolateNumber(wa, wb) - }); - } else if (wb) { - s.push(s.pop() + "skewX(" + wb + ")"); - } - if (ka[0] != kb[0] || ka[1] != kb[1]) { - n = s.push(s.pop() + "scale(", null, ",", null, ")"); - q.push({ - i: n - 4, - x: d3_interpolateNumber(ka[0], kb[0]) - }, { - i: n - 2, - x: d3_interpolateNumber(ka[1], kb[1]) - }); - } else if (kb[0] != 1 || kb[1] != 1) { - s.push(s.pop() + "scale(" + kb + ")"); - } - n = q.length; - return function(t) { - var i = -1, o; - while (++i < n) s[(o = q[i]).i] = o.x(t); - return s.join(""); - }; - } - function d3_uninterpolateNumber(a, b) { - b = (b -= a = +a) || 1 / b; - return function(x) { - return (x - a) / b; - }; - } - function d3_uninterpolateClamp(a, b) { - b = (b -= a = +a) || 1 / b; - return function(x) { - return Math.max(0, Math.min(1, (x - a) / b)); - }; - } - d3.layout = {}; - d3.layout.bundle = function() { - return function(links) { - var paths = [], i = -1, n = links.length; - while (++i < n) paths.push(d3_layout_bundlePath(links[i])); - return paths; - }; - }; - function d3_layout_bundlePath(link) { - var start = link.source, end = link.target, lca = d3_layout_bundleLeastCommonAncestor(start, end), points = [ start ]; - while (start !== lca) { - start = start.parent; - points.push(start); - } - var k = points.length; - while (end !== lca) { - points.splice(k, 0, end); - end = end.parent; - } - return points; - } - function d3_layout_bundleAncestors(node) { - var ancestors = [], parent = node.parent; - while (parent != null) { - ancestors.push(node); - node = parent; - parent = parent.parent; - } - ancestors.push(node); - return ancestors; - } - function d3_layout_bundleLeastCommonAncestor(a, b) { - if (a === b) return a; - var aNodes = d3_layout_bundleAncestors(a), bNodes = d3_layout_bundleAncestors(b), aNode = aNodes.pop(), bNode = bNodes.pop(), sharedNode = null; - while (aNode === bNode) { - sharedNode = aNode; - aNode = aNodes.pop(); - bNode = bNodes.pop(); - } - return sharedNode; - } - d3.layout.chord = function() { - var chord = {}, chords, groups, matrix, n, padding = 0, sortGroups, sortSubgroups, sortChords; - function relayout() { - var subgroups = {}, groupSums = [], groupIndex = d3.range(n), subgroupIndex = [], k, x, x0, i, j; - chords = []; - groups = []; - k = 0, i = -1; - while (++i < n) { - x = 0, j = -1; - while (++j < n) { - x += matrix[i][j]; - } - groupSums.push(x); - subgroupIndex.push(d3.range(n)); - k += x; - } - if (sortGroups) { - groupIndex.sort(function(a, b) { - return sortGroups(groupSums[a], groupSums[b]); - }); - } - if (sortSubgroups) { - subgroupIndex.forEach(function(d, i) { - d.sort(function(a, b) { - return sortSubgroups(matrix[i][a], matrix[i][b]); - }); - }); - } - k = (τ - padding * n) / k; - x = 0, i = -1; - while (++i < n) { - x0 = x, j = -1; - while (++j < n) { - var di = groupIndex[i], dj = subgroupIndex[di][j], v = matrix[di][dj], a0 = x, a1 = x += v * k; - subgroups[di + "-" + dj] = { - index: di, - subindex: dj, - startAngle: a0, - endAngle: a1, - value: v - }; - } - groups[di] = { - index: di, - startAngle: x0, - endAngle: x, - value: (x - x0) / k - }; - x += padding; - } - i = -1; - while (++i < n) { - j = i - 1; - while (++j < n) { - var source = subgroups[i + "-" + j], target = subgroups[j + "-" + i]; - if (source.value || target.value) { - chords.push(source.value < target.value ? { - source: target, - target: source - } : { - source: source, - target: target - }); - } - } - } - if (sortChords) resort(); - } - function resort() { - chords.sort(function(a, b) { - return sortChords((a.source.value + a.target.value) / 2, (b.source.value + b.target.value) / 2); - }); - } - chord.matrix = function(x) { - if (!arguments.length) return matrix; - n = (matrix = x) && matrix.length; - chords = groups = null; - return chord; - }; - chord.padding = function(x) { - if (!arguments.length) return padding; - padding = x; - chords = groups = null; - return chord; - }; - chord.sortGroups = function(x) { - if (!arguments.length) return sortGroups; - sortGroups = x; - chords = groups = null; - return chord; - }; - chord.sortSubgroups = function(x) { - if (!arguments.length) return sortSubgroups; - sortSubgroups = x; - chords = null; - return chord; - }; - chord.sortChords = function(x) { - if (!arguments.length) return sortChords; - sortChords = x; - if (chords) resort(); - return chord; - }; - chord.chords = function() { - if (!chords) relayout(); - return chords; - }; - chord.groups = function() { - if (!groups) relayout(); - return groups; - }; - return chord; - }; - d3.layout.force = function() { - var force = {}, event = d3.dispatch("start", "tick", "end"), size = [ 1, 1 ], drag, alpha, friction = .9, linkDistance = d3_layout_forceLinkDistance, linkStrength = d3_layout_forceLinkStrength, charge = -30, chargeDistance2 = d3_layout_forceChargeDistance2, gravity = .1, theta2 = .64, nodes = [], links = [], distances, strengths, charges; - function repulse(node) { - return function(quad, x1, _, x2) { - if (quad.point !== node) { - var dx = quad.cx - node.x, dy = quad.cy - node.y, dw = x2 - x1, dn = dx * dx + dy * dy; - if (dw * dw / theta2 < dn) { - if (dn < chargeDistance2) { - var k = quad.charge / dn; - node.px -= dx * k; - node.py -= dy * k; - } - return true; - } - if (quad.point && dn && dn < chargeDistance2) { - var k = quad.pointCharge / dn; - node.px -= dx * k; - node.py -= dy * k; - } - } - return !quad.charge; - }; - } - force.tick = function() { - if ((alpha *= .99) < .005) { - event.end({ - type: "end", - alpha: alpha = 0 - }); - return true; - } - var n = nodes.length, m = links.length, q, i, o, s, t, l, k, x, y; - for (i = 0; i < m; ++i) { - o = links[i]; - s = o.source; - t = o.target; - x = t.x - s.x; - y = t.y - s.y; - if (l = x * x + y * y) { - l = alpha * strengths[i] * ((l = Math.sqrt(l)) - distances[i]) / l; - x *= l; - y *= l; - t.x -= x * (k = s.weight / (t.weight + s.weight)); - t.y -= y * k; - s.x += x * (k = 1 - k); - s.y += y * k; - } - } - if (k = alpha * gravity) { - x = size[0] / 2; - y = size[1] / 2; - i = -1; - if (k) while (++i < n) { - o = nodes[i]; - o.x += (x - o.x) * k; - o.y += (y - o.y) * k; - } - } - if (charge) { - d3_layout_forceAccumulate(q = d3.geom.quadtree(nodes), alpha, charges); - i = -1; - while (++i < n) { - if (!(o = nodes[i]).fixed) { - q.visit(repulse(o)); - } - } - } - i = -1; - while (++i < n) { - o = nodes[i]; - if (o.fixed) { - o.x = o.px; - o.y = o.py; - } else { - o.x -= (o.px - (o.px = o.x)) * friction; - o.y -= (o.py - (o.py = o.y)) * friction; - } - } - event.tick({ - type: "tick", - alpha: alpha - }); - }; - force.nodes = function(x) { - if (!arguments.length) return nodes; - nodes = x; - return force; - }; - force.links = function(x) { - if (!arguments.length) return links; - links = x; - return force; - }; - force.size = function(x) { - if (!arguments.length) return size; - size = x; - return force; - }; - force.linkDistance = function(x) { - if (!arguments.length) return linkDistance; - linkDistance = typeof x === "function" ? x : +x; - return force; - }; - force.distance = force.linkDistance; - force.linkStrength = function(x) { - if (!arguments.length) return linkStrength; - linkStrength = typeof x === "function" ? x : +x; - return force; - }; - force.friction = function(x) { - if (!arguments.length) return friction; - friction = +x; - return force; - }; - force.charge = function(x) { - if (!arguments.length) return charge; - charge = typeof x === "function" ? x : +x; - return force; - }; - force.chargeDistance = function(x) { - if (!arguments.length) return Math.sqrt(chargeDistance2); - chargeDistance2 = x * x; - return force; - }; - force.gravity = function(x) { - if (!arguments.length) return gravity; - gravity = +x; - return force; - }; - force.theta = function(x) { - if (!arguments.length) return Math.sqrt(theta2); - theta2 = x * x; - return force; - }; - force.alpha = function(x) { - if (!arguments.length) return alpha; - x = +x; - if (alpha) { - if (x > 0) alpha = x; else alpha = 0; - } else if (x > 0) { - event.start({ - type: "start", - alpha: alpha = x - }); - d3.timer(force.tick); - } - return force; - }; - force.start = function() { - var i, n = nodes.length, m = links.length, w = size[0], h = size[1], neighbors, o; - for (i = 0; i < n; ++i) { - (o = nodes[i]).index = i; - o.weight = 0; - } - for (i = 0; i < m; ++i) { - o = links[i]; - if (typeof o.source == "number") o.source = nodes[o.source]; - if (typeof o.target == "number") o.target = nodes[o.target]; - ++o.source.weight; - ++o.target.weight; - } - for (i = 0; i < n; ++i) { - o = nodes[i]; - if (isNaN(o.x)) o.x = position("x", w); - if (isNaN(o.y)) o.y = position("y", h); - if (isNaN(o.px)) o.px = o.x; - if (isNaN(o.py)) o.py = o.y; - } - distances = []; - if (typeof linkDistance === "function") for (i = 0; i < m; ++i) distances[i] = +linkDistance.call(this, links[i], i); else for (i = 0; i < m; ++i) distances[i] = linkDistance; - strengths = []; - if (typeof linkStrength === "function") for (i = 0; i < m; ++i) strengths[i] = +linkStrength.call(this, links[i], i); else for (i = 0; i < m; ++i) strengths[i] = linkStrength; - charges = []; - if (typeof charge === "function") for (i = 0; i < n; ++i) charges[i] = +charge.call(this, nodes[i], i); else for (i = 0; i < n; ++i) charges[i] = charge; - function position(dimension, size) { - if (!neighbors) { - neighbors = new Array(n); - for (j = 0; j < n; ++j) { - neighbors[j] = []; - } - for (j = 0; j < m; ++j) { - var o = links[j]; - neighbors[o.source.index].push(o.target); - neighbors[o.target.index].push(o.source); - } - } - var candidates = neighbors[i], j = -1, m = candidates.length, x; - while (++j < m) if (!isNaN(x = candidates[j][dimension])) return x; - return Math.random() * size; - } - return force.resume(); - }; - force.resume = function() { - return force.alpha(.1); - }; - force.stop = function() { - return force.alpha(0); - }; - force.drag = function() { - if (!drag) drag = d3.behavior.drag().origin(d3_identity).on("dragstart.force", d3_layout_forceDragstart).on("drag.force", dragmove).on("dragend.force", d3_layout_forceDragend); - if (!arguments.length) return drag; - this.on("mouseover.force", d3_layout_forceMouseover).on("mouseout.force", d3_layout_forceMouseout).call(drag); - }; - function dragmove(d) { - d.px = d3.event.x, d.py = d3.event.y; - force.resume(); - } - return d3.rebind(force, event, "on"); - }; - function d3_layout_forceDragstart(d) { - d.fixed |= 2; - } - function d3_layout_forceDragend(d) { - d.fixed &= ~6; - } - function d3_layout_forceMouseover(d) { - d.fixed |= 4; - d.px = d.x, d.py = d.y; - } - function d3_layout_forceMouseout(d) { - d.fixed &= ~4; - } - function d3_layout_forceAccumulate(quad, alpha, charges) { - var cx = 0, cy = 0; - quad.charge = 0; - if (!quad.leaf) { - var nodes = quad.nodes, n = nodes.length, i = -1, c; - while (++i < n) { - c = nodes[i]; - if (c == null) continue; - d3_layout_forceAccumulate(c, alpha, charges); - quad.charge += c.charge; - cx += c.charge * c.cx; - cy += c.charge * c.cy; - } - } - if (quad.point) { - if (!quad.leaf) { - quad.point.x += Math.random() - .5; - quad.point.y += Math.random() - .5; - } - var k = alpha * charges[quad.point.index]; - quad.charge += quad.pointCharge = k; - cx += k * quad.point.x; - cy += k * quad.point.y; - } - quad.cx = cx / quad.charge; - quad.cy = cy / quad.charge; - } - var d3_layout_forceLinkDistance = 20, d3_layout_forceLinkStrength = 1, d3_layout_forceChargeDistance2 = Infinity; - d3.layout.hierarchy = function() { - var sort = d3_layout_hierarchySort, children = d3_layout_hierarchyChildren, value = d3_layout_hierarchyValue; - function hierarchy(root) { - var stack = [ root ], nodes = [], node; - root.depth = 0; - while ((node = stack.pop()) != null) { - nodes.push(node); - if ((childs = children.call(hierarchy, node, node.depth)) && (n = childs.length)) { - var n, childs, child; - while (--n >= 0) { - stack.push(child = childs[n]); - child.parent = node; - child.depth = node.depth + 1; - } - if (value) node.value = 0; - node.children = childs; - } else { - if (value) node.value = +value.call(hierarchy, node, node.depth) || 0; - delete node.children; - } - } - d3_layout_hierarchyVisitAfter(root, function(node) { - var childs, parent; - if (sort && (childs = node.children)) childs.sort(sort); - if (value && (parent = node.parent)) parent.value += node.value; - }); - return nodes; - } - hierarchy.sort = function(x) { - if (!arguments.length) return sort; - sort = x; - return hierarchy; - }; - hierarchy.children = function(x) { - if (!arguments.length) return children; - children = x; - return hierarchy; - }; - hierarchy.value = function(x) { - if (!arguments.length) return value; - value = x; - return hierarchy; - }; - hierarchy.revalue = function(root) { - if (value) { - d3_layout_hierarchyVisitBefore(root, function(node) { - if (node.children) node.value = 0; - }); - d3_layout_hierarchyVisitAfter(root, function(node) { - var parent; - if (!node.children) node.value = +value.call(hierarchy, node, node.depth) || 0; - if (parent = node.parent) parent.value += node.value; - }); - } - return root; - }; - return hierarchy; - }; - function d3_layout_hierarchyRebind(object, hierarchy) { - d3.rebind(object, hierarchy, "sort", "children", "value"); - object.nodes = object; - object.links = d3_layout_hierarchyLinks; - return object; - } - function d3_layout_hierarchyVisitBefore(node, callback) { - var nodes = [ node ]; - while ((node = nodes.pop()) != null) { - callback(node); - if ((children = node.children) && (n = children.length)) { - var n, children; - while (--n >= 0) nodes.push(children[n]); - } - } - } - function d3_layout_hierarchyVisitAfter(node, callback) { - var nodes = [ node ], nodes2 = []; - while ((node = nodes.pop()) != null) { - nodes2.push(node); - if ((children = node.children) && (n = children.length)) { - var i = -1, n, children; - while (++i < n) nodes.push(children[i]); - } - } - while ((node = nodes2.pop()) != null) { - callback(node); - } - } - function d3_layout_hierarchyChildren(d) { - return d.children; - } - function d3_layout_hierarchyValue(d) { - return d.value; - } - function d3_layout_hierarchySort(a, b) { - return b.value - a.value; - } - function d3_layout_hierarchyLinks(nodes) { - return d3.merge(nodes.map(function(parent) { - return (parent.children || []).map(function(child) { - return { - source: parent, - target: child - }; - }); - })); - } - d3.layout.partition = function() { - var hierarchy = d3.layout.hierarchy(), size = [ 1, 1 ]; - function position(node, x, dx, dy) { - var children = node.children; - node.x = x; - node.y = node.depth * dy; - node.dx = dx; - node.dy = dy; - if (children && (n = children.length)) { - var i = -1, n, c, d; - dx = node.value ? dx / node.value : 0; - while (++i < n) { - position(c = children[i], x, d = c.value * dx, dy); - x += d; - } - } - } - function depth(node) { - var children = node.children, d = 0; - if (children && (n = children.length)) { - var i = -1, n; - while (++i < n) d = Math.max(d, depth(children[i])); - } - return 1 + d; - } - function partition(d, i) { - var nodes = hierarchy.call(this, d, i); - position(nodes[0], 0, size[0], size[1] / depth(nodes[0])); - return nodes; - } - partition.size = function(x) { - if (!arguments.length) return size; - size = x; - return partition; - }; - return d3_layout_hierarchyRebind(partition, hierarchy); - }; - d3.layout.pie = function() { - var value = Number, sort = d3_layout_pieSortByValue, startAngle = 0, endAngle = τ, padAngle = 0; - function pie(data) { - var n = data.length, values = data.map(function(d, i) { - return +value.call(pie, d, i); - }), a = +(typeof startAngle === "function" ? startAngle.apply(this, arguments) : startAngle), da = (typeof endAngle === "function" ? endAngle.apply(this, arguments) : endAngle) - a, p = Math.min(Math.abs(da) / n, +(typeof padAngle === "function" ? padAngle.apply(this, arguments) : padAngle)), pa = p * (da < 0 ? -1 : 1), k = (da - n * pa) / d3.sum(values), index = d3.range(n), arcs = [], v; - if (sort != null) index.sort(sort === d3_layout_pieSortByValue ? function(i, j) { - return values[j] - values[i]; - } : function(i, j) { - return sort(data[i], data[j]); - }); - index.forEach(function(i) { - arcs[i] = { - data: data[i], - value: v = values[i], - startAngle: a, - endAngle: a += v * k + pa, - padAngle: p - }; - }); - return arcs; - } - pie.value = function(_) { - if (!arguments.length) return value; - value = _; - return pie; - }; - pie.sort = function(_) { - if (!arguments.length) return sort; - sort = _; - return pie; - }; - pie.startAngle = function(_) { - if (!arguments.length) return startAngle; - startAngle = _; - return pie; - }; - pie.endAngle = function(_) { - if (!arguments.length) return endAngle; - endAngle = _; - return pie; - }; - pie.padAngle = function(_) { - if (!arguments.length) return padAngle; - padAngle = _; - return pie; - }; - return pie; - }; - var d3_layout_pieSortByValue = {}; - d3.layout.stack = function() { - var values = d3_identity, order = d3_layout_stackOrderDefault, offset = d3_layout_stackOffsetZero, out = d3_layout_stackOut, x = d3_layout_stackX, y = d3_layout_stackY; - function stack(data, index) { - if (!(n = data.length)) return data; - var series = data.map(function(d, i) { - return values.call(stack, d, i); - }); - var points = series.map(function(d) { - return d.map(function(v, i) { - return [ x.call(stack, v, i), y.call(stack, v, i) ]; - }); - }); - var orders = order.call(stack, points, index); - series = d3.permute(series, orders); - points = d3.permute(points, orders); - var offsets = offset.call(stack, points, index); - var m = series[0].length, n, i, j, o; - for (j = 0; j < m; ++j) { - out.call(stack, series[0][j], o = offsets[j], points[0][j][1]); - for (i = 1; i < n; ++i) { - out.call(stack, series[i][j], o += points[i - 1][j][1], points[i][j][1]); - } - } - return data; - } - stack.values = function(x) { - if (!arguments.length) return values; - values = x; - return stack; - }; - stack.order = function(x) { - if (!arguments.length) return order; - order = typeof x === "function" ? x : d3_layout_stackOrders.get(x) || d3_layout_stackOrderDefault; - return stack; - }; - stack.offset = function(x) { - if (!arguments.length) return offset; - offset = typeof x === "function" ? x : d3_layout_stackOffsets.get(x) || d3_layout_stackOffsetZero; - return stack; - }; - stack.x = function(z) { - if (!arguments.length) return x; - x = z; - return stack; - }; - stack.y = function(z) { - if (!arguments.length) return y; - y = z; - return stack; - }; - stack.out = function(z) { - if (!arguments.length) return out; - out = z; - return stack; - }; - return stack; - }; - function d3_layout_stackX(d) { - return d.x; - } - function d3_layout_stackY(d) { - return d.y; - } - function d3_layout_stackOut(d, y0, y) { - d.y0 = y0; - d.y = y; - } - var d3_layout_stackOrders = d3.map({ - "inside-out": function(data) { - var n = data.length, i, j, max = data.map(d3_layout_stackMaxIndex), sums = data.map(d3_layout_stackReduceSum), index = d3.range(n).sort(function(a, b) { - return max[a] - max[b]; - }), top = 0, bottom = 0, tops = [], bottoms = []; - for (i = 0; i < n; ++i) { - j = index[i]; - if (top < bottom) { - top += sums[j]; - tops.push(j); - } else { - bottom += sums[j]; - bottoms.push(j); - } - } - return bottoms.reverse().concat(tops); - }, - reverse: function(data) { - return d3.range(data.length).reverse(); - }, - "default": d3_layout_stackOrderDefault - }); - var d3_layout_stackOffsets = d3.map({ - silhouette: function(data) { - var n = data.length, m = data[0].length, sums = [], max = 0, i, j, o, y0 = []; - for (j = 0; j < m; ++j) { - for (i = 0, o = 0; i < n; i++) o += data[i][j][1]; - if (o > max) max = o; - sums.push(o); - } - for (j = 0; j < m; ++j) { - y0[j] = (max - sums[j]) / 2; - } - return y0; - }, - wiggle: function(data) { - var n = data.length, x = data[0], m = x.length, i, j, k, s1, s2, s3, dx, o, o0, y0 = []; - y0[0] = o = o0 = 0; - for (j = 1; j < m; ++j) { - for (i = 0, s1 = 0; i < n; ++i) s1 += data[i][j][1]; - for (i = 0, s2 = 0, dx = x[j][0] - x[j - 1][0]; i < n; ++i) { - for (k = 0, s3 = (data[i][j][1] - data[i][j - 1][1]) / (2 * dx); k < i; ++k) { - s3 += (data[k][j][1] - data[k][j - 1][1]) / dx; - } - s2 += s3 * data[i][j][1]; - } - y0[j] = o -= s1 ? s2 / s1 * dx : 0; - if (o < o0) o0 = o; - } - for (j = 0; j < m; ++j) y0[j] -= o0; - return y0; - }, - expand: function(data) { - var n = data.length, m = data[0].length, k = 1 / n, i, j, o, y0 = []; - for (j = 0; j < m; ++j) { - for (i = 0, o = 0; i < n; i++) o += data[i][j][1]; - if (o) for (i = 0; i < n; i++) data[i][j][1] /= o; else for (i = 0; i < n; i++) data[i][j][1] = k; - } - for (j = 0; j < m; ++j) y0[j] = 0; - return y0; - }, - zero: d3_layout_stackOffsetZero - }); - function d3_layout_stackOrderDefault(data) { - return d3.range(data.length); - } - function d3_layout_stackOffsetZero(data) { - var j = -1, m = data[0].length, y0 = []; - while (++j < m) y0[j] = 0; - return y0; - } - function d3_layout_stackMaxIndex(array) { - var i = 1, j = 0, v = array[0][1], k, n = array.length; - for (;i < n; ++i) { - if ((k = array[i][1]) > v) { - j = i; - v = k; - } - } - return j; - } - function d3_layout_stackReduceSum(d) { - return d.reduce(d3_layout_stackSum, 0); - } - function d3_layout_stackSum(p, d) { - return p + d[1]; - } - d3.layout.histogram = function() { - var frequency = true, valuer = Number, ranger = d3_layout_histogramRange, binner = d3_layout_histogramBinSturges; - function histogram(data, i) { - var bins = [], values = data.map(valuer, this), range = ranger.call(this, values, i), thresholds = binner.call(this, range, values, i), bin, i = -1, n = values.length, m = thresholds.length - 1, k = frequency ? 1 : 1 / n, x; - while (++i < m) { - bin = bins[i] = []; - bin.dx = thresholds[i + 1] - (bin.x = thresholds[i]); - bin.y = 0; - } - if (m > 0) { - i = -1; - while (++i < n) { - x = values[i]; - if (x >= range[0] && x <= range[1]) { - bin = bins[d3.bisect(thresholds, x, 1, m) - 1]; - bin.y += k; - bin.push(data[i]); - } - } - } - return bins; - } - histogram.value = function(x) { - if (!arguments.length) return valuer; - valuer = x; - return histogram; - }; - histogram.range = function(x) { - if (!arguments.length) return ranger; - ranger = d3_functor(x); - return histogram; - }; - histogram.bins = function(x) { - if (!arguments.length) return binner; - binner = typeof x === "number" ? function(range) { - return d3_layout_histogramBinFixed(range, x); - } : d3_functor(x); - return histogram; - }; - histogram.frequency = function(x) { - if (!arguments.length) return frequency; - frequency = !!x; - return histogram; - }; - return histogram; - }; - function d3_layout_histogramBinSturges(range, values) { - return d3_layout_histogramBinFixed(range, Math.ceil(Math.log(values.length) / Math.LN2 + 1)); - } - function d3_layout_histogramBinFixed(range, n) { - var x = -1, b = +range[0], m = (range[1] - b) / n, f = []; - while (++x <= n) f[x] = m * x + b; - return f; - } - function d3_layout_histogramRange(values) { - return [ d3.min(values), d3.max(values) ]; - } - d3.layout.pack = function() { - var hierarchy = d3.layout.hierarchy().sort(d3_layout_packSort), padding = 0, size = [ 1, 1 ], radius; - function pack(d, i) { - var nodes = hierarchy.call(this, d, i), root = nodes[0], w = size[0], h = size[1], r = radius == null ? Math.sqrt : typeof radius === "function" ? radius : function() { - return radius; - }; - root.x = root.y = 0; - d3_layout_hierarchyVisitAfter(root, function(d) { - d.r = +r(d.value); - }); - d3_layout_hierarchyVisitAfter(root, d3_layout_packSiblings); - if (padding) { - var dr = padding * (radius ? 1 : Math.max(2 * root.r / w, 2 * root.r / h)) / 2; - d3_layout_hierarchyVisitAfter(root, function(d) { - d.r += dr; - }); - d3_layout_hierarchyVisitAfter(root, d3_layout_packSiblings); - d3_layout_hierarchyVisitAfter(root, function(d) { - d.r -= dr; - }); - } - d3_layout_packTransform(root, w / 2, h / 2, radius ? 1 : 1 / Math.max(2 * root.r / w, 2 * root.r / h)); - return nodes; - } - pack.size = function(_) { - if (!arguments.length) return size; - size = _; - return pack; - }; - pack.radius = function(_) { - if (!arguments.length) return radius; - radius = _ == null || typeof _ === "function" ? _ : +_; - return pack; - }; - pack.padding = function(_) { - if (!arguments.length) return padding; - padding = +_; - return pack; - }; - return d3_layout_hierarchyRebind(pack, hierarchy); - }; - function d3_layout_packSort(a, b) { - return a.value - b.value; - } - function d3_layout_packInsert(a, b) { - var c = a._pack_next; - a._pack_next = b; - b._pack_prev = a; - b._pack_next = c; - c._pack_prev = b; - } - function d3_layout_packSplice(a, b) { - a._pack_next = b; - b._pack_prev = a; - } - function d3_layout_packIntersects(a, b) { - var dx = b.x - a.x, dy = b.y - a.y, dr = a.r + b.r; - return .999 * dr * dr > dx * dx + dy * dy; - } - function d3_layout_packSiblings(node) { - if (!(nodes = node.children) || !(n = nodes.length)) return; - var nodes, xMin = Infinity, xMax = -Infinity, yMin = Infinity, yMax = -Infinity, a, b, c, i, j, k, n; - function bound(node) { - xMin = Math.min(node.x - node.r, xMin); - xMax = Math.max(node.x + node.r, xMax); - yMin = Math.min(node.y - node.r, yMin); - yMax = Math.max(node.y + node.r, yMax); - } - nodes.forEach(d3_layout_packLink); - a = nodes[0]; - a.x = -a.r; - a.y = 0; - bound(a); - if (n > 1) { - b = nodes[1]; - b.x = b.r; - b.y = 0; - bound(b); - if (n > 2) { - c = nodes[2]; - d3_layout_packPlace(a, b, c); - bound(c); - d3_layout_packInsert(a, c); - a._pack_prev = c; - d3_layout_packInsert(c, b); - b = a._pack_next; - for (i = 3; i < n; i++) { - d3_layout_packPlace(a, b, c = nodes[i]); - var isect = 0, s1 = 1, s2 = 1; - for (j = b._pack_next; j !== b; j = j._pack_next, s1++) { - if (d3_layout_packIntersects(j, c)) { - isect = 1; - break; - } - } - if (isect == 1) { - for (k = a._pack_prev; k !== j._pack_prev; k = k._pack_prev, s2++) { - if (d3_layout_packIntersects(k, c)) { - break; - } - } - } - if (isect) { - if (s1 < s2 || s1 == s2 && b.r < a.r) d3_layout_packSplice(a, b = j); else d3_layout_packSplice(a = k, b); - i--; - } else { - d3_layout_packInsert(a, c); - b = c; - bound(c); - } - } - } - } - var cx = (xMin + xMax) / 2, cy = (yMin + yMax) / 2, cr = 0; - for (i = 0; i < n; i++) { - c = nodes[i]; - c.x -= cx; - c.y -= cy; - cr = Math.max(cr, c.r + Math.sqrt(c.x * c.x + c.y * c.y)); - } - node.r = cr; - nodes.forEach(d3_layout_packUnlink); - } - function d3_layout_packLink(node) { - node._pack_next = node._pack_prev = node; - } - function d3_layout_packUnlink(node) { - delete node._pack_next; - delete node._pack_prev; - } - function d3_layout_packTransform(node, x, y, k) { - var children = node.children; - node.x = x += k * node.x; - node.y = y += k * node.y; - node.r *= k; - if (children) { - var i = -1, n = children.length; - while (++i < n) d3_layout_packTransform(children[i], x, y, k); - } - } - function d3_layout_packPlace(a, b, c) { - var db = a.r + c.r, dx = b.x - a.x, dy = b.y - a.y; - if (db && (dx || dy)) { - var da = b.r + c.r, dc = dx * dx + dy * dy; - da *= da; - db *= db; - var x = .5 + (db - da) / (2 * dc), y = Math.sqrt(Math.max(0, 2 * da * (db + dc) - (db -= dc) * db - da * da)) / (2 * dc); - c.x = a.x + x * dx + y * dy; - c.y = a.y + x * dy - y * dx; - } else { - c.x = a.x + db; - c.y = a.y; - } - } - d3.layout.tree = function() { - var hierarchy = d3.layout.hierarchy().sort(null).value(null), separation = d3_layout_treeSeparation, size = [ 1, 1 ], nodeSize = null; - function tree(d, i) { - var nodes = hierarchy.call(this, d, i), root0 = nodes[0], root1 = wrapTree(root0); - d3_layout_hierarchyVisitAfter(root1, firstWalk), root1.parent.m = -root1.z; - d3_layout_hierarchyVisitBefore(root1, secondWalk); - if (nodeSize) d3_layout_hierarchyVisitBefore(root0, sizeNode); else { - var left = root0, right = root0, bottom = root0; - d3_layout_hierarchyVisitBefore(root0, function(node) { - if (node.x < left.x) left = node; - if (node.x > right.x) right = node; - if (node.depth > bottom.depth) bottom = node; - }); - var tx = separation(left, right) / 2 - left.x, kx = size[0] / (right.x + separation(right, left) / 2 + tx), ky = size[1] / (bottom.depth || 1); - d3_layout_hierarchyVisitBefore(root0, function(node) { - node.x = (node.x + tx) * kx; - node.y = node.depth * ky; - }); - } - return nodes; - } - function wrapTree(root0) { - var root1 = { - A: null, - children: [ root0 ] - }, queue = [ root1 ], node1; - while ((node1 = queue.pop()) != null) { - for (var children = node1.children, child, i = 0, n = children.length; i < n; ++i) { - queue.push((children[i] = child = { - _: children[i], - parent: node1, - children: (child = children[i].children) && child.slice() || [], - A: null, - a: null, - z: 0, - m: 0, - c: 0, - s: 0, - t: null, - i: i - }).a = child); - } - } - return root1.children[0]; - } - function firstWalk(v) { - var children = v.children, siblings = v.parent.children, w = v.i ? siblings[v.i - 1] : null; - if (children.length) { - d3_layout_treeShift(v); - var midpoint = (children[0].z + children[children.length - 1].z) / 2; - if (w) { - v.z = w.z + separation(v._, w._); - v.m = v.z - midpoint; - } else { - v.z = midpoint; - } - } else if (w) { - v.z = w.z + separation(v._, w._); - } - v.parent.A = apportion(v, w, v.parent.A || siblings[0]); - } - function secondWalk(v) { - v._.x = v.z + v.parent.m; - v.m += v.parent.m; - } - function apportion(v, w, ancestor) { - if (w) { - var vip = v, vop = v, vim = w, vom = vip.parent.children[0], sip = vip.m, sop = vop.m, sim = vim.m, som = vom.m, shift; - while (vim = d3_layout_treeRight(vim), vip = d3_layout_treeLeft(vip), vim && vip) { - vom = d3_layout_treeLeft(vom); - vop = d3_layout_treeRight(vop); - vop.a = v; - shift = vim.z + sim - vip.z - sip + separation(vim._, vip._); - if (shift > 0) { - d3_layout_treeMove(d3_layout_treeAncestor(vim, v, ancestor), v, shift); - sip += shift; - sop += shift; - } - sim += vim.m; - sip += vip.m; - som += vom.m; - sop += vop.m; - } - if (vim && !d3_layout_treeRight(vop)) { - vop.t = vim; - vop.m += sim - sop; - } - if (vip && !d3_layout_treeLeft(vom)) { - vom.t = vip; - vom.m += sip - som; - ancestor = v; - } - } - return ancestor; - } - function sizeNode(node) { - node.x *= size[0]; - node.y = node.depth * size[1]; - } - tree.separation = function(x) { - if (!arguments.length) return separation; - separation = x; - return tree; - }; - tree.size = function(x) { - if (!arguments.length) return nodeSize ? null : size; - nodeSize = (size = x) == null ? sizeNode : null; - return tree; - }; - tree.nodeSize = function(x) { - if (!arguments.length) return nodeSize ? size : null; - nodeSize = (size = x) == null ? null : sizeNode; - return tree; - }; - return d3_layout_hierarchyRebind(tree, hierarchy); - }; - function d3_layout_treeSeparation(a, b) { - return a.parent == b.parent ? 1 : 2; - } - function d3_layout_treeLeft(v) { - var children = v.children; - return children.length ? children[0] : v.t; - } - function d3_layout_treeRight(v) { - var children = v.children, n; - return (n = children.length) ? children[n - 1] : v.t; - } - function d3_layout_treeMove(wm, wp, shift) { - var change = shift / (wp.i - wm.i); - wp.c -= change; - wp.s += shift; - wm.c += change; - wp.z += shift; - wp.m += shift; - } - function d3_layout_treeShift(v) { - var shift = 0, change = 0, children = v.children, i = children.length, w; - while (--i >= 0) { - w = children[i]; - w.z += shift; - w.m += shift; - shift += w.s + (change += w.c); - } - } - function d3_layout_treeAncestor(vim, v, ancestor) { - return vim.a.parent === v.parent ? vim.a : ancestor; - } - d3.layout.cluster = function() { - var hierarchy = d3.layout.hierarchy().sort(null).value(null), separation = d3_layout_treeSeparation, size = [ 1, 1 ], nodeSize = false; - function cluster(d, i) { - var nodes = hierarchy.call(this, d, i), root = nodes[0], previousNode, x = 0; - d3_layout_hierarchyVisitAfter(root, function(node) { - var children = node.children; - if (children && children.length) { - node.x = d3_layout_clusterX(children); - node.y = d3_layout_clusterY(children); - } else { - node.x = previousNode ? x += separation(node, previousNode) : 0; - node.y = 0; - previousNode = node; - } - }); - var left = d3_layout_clusterLeft(root), right = d3_layout_clusterRight(root), x0 = left.x - separation(left, right) / 2, x1 = right.x + separation(right, left) / 2; - d3_layout_hierarchyVisitAfter(root, nodeSize ? function(node) { - node.x = (node.x - root.x) * size[0]; - node.y = (root.y - node.y) * size[1]; - } : function(node) { - node.x = (node.x - x0) / (x1 - x0) * size[0]; - node.y = (1 - (root.y ? node.y / root.y : 1)) * size[1]; - }); - return nodes; - } - cluster.separation = function(x) { - if (!arguments.length) return separation; - separation = x; - return cluster; - }; - cluster.size = function(x) { - if (!arguments.length) return nodeSize ? null : size; - nodeSize = (size = x) == null; - return cluster; - }; - cluster.nodeSize = function(x) { - if (!arguments.length) return nodeSize ? size : null; - nodeSize = (size = x) != null; - return cluster; - }; - return d3_layout_hierarchyRebind(cluster, hierarchy); - }; - function d3_layout_clusterY(children) { - return 1 + d3.max(children, function(child) { - return child.y; - }); - } - function d3_layout_clusterX(children) { - return children.reduce(function(x, child) { - return x + child.x; - }, 0) / children.length; - } - function d3_layout_clusterLeft(node) { - var children = node.children; - return children && children.length ? d3_layout_clusterLeft(children[0]) : node; - } - function d3_layout_clusterRight(node) { - var children = node.children, n; - return children && (n = children.length) ? d3_layout_clusterRight(children[n - 1]) : node; - } - d3.layout.treemap = function() { - var hierarchy = d3.layout.hierarchy(), round = Math.round, size = [ 1, 1 ], padding = null, pad = d3_layout_treemapPadNull, sticky = false, stickies, mode = "squarify", ratio = .5 * (1 + Math.sqrt(5)); - function scale(children, k) { - var i = -1, n = children.length, child, area; - while (++i < n) { - area = (child = children[i]).value * (k < 0 ? 0 : k); - child.area = isNaN(area) || area <= 0 ? 0 : area; - } - } - function squarify(node) { - var children = node.children; - if (children && children.length) { - var rect = pad(node), row = [], remaining = children.slice(), child, best = Infinity, score, u = mode === "slice" ? rect.dx : mode === "dice" ? rect.dy : mode === "slice-dice" ? node.depth & 1 ? rect.dy : rect.dx : Math.min(rect.dx, rect.dy), n; - scale(remaining, rect.dx * rect.dy / node.value); - row.area = 0; - while ((n = remaining.length) > 0) { - row.push(child = remaining[n - 1]); - row.area += child.area; - if (mode !== "squarify" || (score = worst(row, u)) <= best) { - remaining.pop(); - best = score; - } else { - row.area -= row.pop().area; - position(row, u, rect, false); - u = Math.min(rect.dx, rect.dy); - row.length = row.area = 0; - best = Infinity; - } - } - if (row.length) { - position(row, u, rect, true); - row.length = row.area = 0; - } - children.forEach(squarify); - } - } - function stickify(node) { - var children = node.children; - if (children && children.length) { - var rect = pad(node), remaining = children.slice(), child, row = []; - scale(remaining, rect.dx * rect.dy / node.value); - row.area = 0; - while (child = remaining.pop()) { - row.push(child); - row.area += child.area; - if (child.z != null) { - position(row, child.z ? rect.dx : rect.dy, rect, !remaining.length); - row.length = row.area = 0; - } - } - children.forEach(stickify); - } - } - function worst(row, u) { - var s = row.area, r, rmax = 0, rmin = Infinity, i = -1, n = row.length; - while (++i < n) { - if (!(r = row[i].area)) continue; - if (r < rmin) rmin = r; - if (r > rmax) rmax = r; - } - s *= s; - u *= u; - return s ? Math.max(u * rmax * ratio / s, s / (u * rmin * ratio)) : Infinity; - } - function position(row, u, rect, flush) { - var i = -1, n = row.length, x = rect.x, y = rect.y, v = u ? round(row.area / u) : 0, o; - if (u == rect.dx) { - if (flush || v > rect.dy) v = rect.dy; - while (++i < n) { - o = row[i]; - o.x = x; - o.y = y; - o.dy = v; - x += o.dx = Math.min(rect.x + rect.dx - x, v ? round(o.area / v) : 0); - } - o.z = true; - o.dx += rect.x + rect.dx - x; - rect.y += v; - rect.dy -= v; - } else { - if (flush || v > rect.dx) v = rect.dx; - while (++i < n) { - o = row[i]; - o.x = x; - o.y = y; - o.dx = v; - y += o.dy = Math.min(rect.y + rect.dy - y, v ? round(o.area / v) : 0); - } - o.z = false; - o.dy += rect.y + rect.dy - y; - rect.x += v; - rect.dx -= v; - } - } - function treemap(d) { - var nodes = stickies || hierarchy(d), root = nodes[0]; - root.x = 0; - root.y = 0; - root.dx = size[0]; - root.dy = size[1]; - if (stickies) hierarchy.revalue(root); - scale([ root ], root.dx * root.dy / root.value); - (stickies ? stickify : squarify)(root); - if (sticky) stickies = nodes; - return nodes; - } - treemap.size = function(x) { - if (!arguments.length) return size; - size = x; - return treemap; - }; - treemap.padding = function(x) { - if (!arguments.length) return padding; - function padFunction(node) { - var p = x.call(treemap, node, node.depth); - return p == null ? d3_layout_treemapPadNull(node) : d3_layout_treemapPad(node, typeof p === "number" ? [ p, p, p, p ] : p); - } - function padConstant(node) { - return d3_layout_treemapPad(node, x); - } - var type; - pad = (padding = x) == null ? d3_layout_treemapPadNull : (type = typeof x) === "function" ? padFunction : type === "number" ? (x = [ x, x, x, x ], - padConstant) : padConstant; - return treemap; - }; - treemap.round = function(x) { - if (!arguments.length) return round != Number; - round = x ? Math.round : Number; - return treemap; - }; - treemap.sticky = function(x) { - if (!arguments.length) return sticky; - sticky = x; - stickies = null; - return treemap; - }; - treemap.ratio = function(x) { - if (!arguments.length) return ratio; - ratio = x; - return treemap; - }; - treemap.mode = function(x) { - if (!arguments.length) return mode; - mode = x + ""; - return treemap; - }; - return d3_layout_hierarchyRebind(treemap, hierarchy); - }; - function d3_layout_treemapPadNull(node) { - return { - x: node.x, - y: node.y, - dx: node.dx, - dy: node.dy - }; - } - function d3_layout_treemapPad(node, padding) { - var x = node.x + padding[3], y = node.y + padding[0], dx = node.dx - padding[1] - padding[3], dy = node.dy - padding[0] - padding[2]; - if (dx < 0) { - x += dx / 2; - dx = 0; - } - if (dy < 0) { - y += dy / 2; - dy = 0; - } - return { - x: x, - y: y, - dx: dx, - dy: dy - }; - } - d3.random = { - normal: function(µ, σ) { - var n = arguments.length; - if (n < 2) σ = 1; - if (n < 1) µ = 0; - return function() { - var x, y, r; - do { - x = Math.random() * 2 - 1; - y = Math.random() * 2 - 1; - r = x * x + y * y; - } while (!r || r > 1); - return µ + σ * x * Math.sqrt(-2 * Math.log(r) / r); - }; - }, - logNormal: function() { - var random = d3.random.normal.apply(d3, arguments); - return function() { - return Math.exp(random()); - }; - }, - bates: function(m) { - var random = d3.random.irwinHall(m); - return function() { - return random() / m; - }; - }, - irwinHall: function(m) { - return function() { - for (var s = 0, j = 0; j < m; j++) s += Math.random(); - return s; - }; - } - }; - d3.scale = {}; - function d3_scaleExtent(domain) { - var start = domain[0], stop = domain[domain.length - 1]; - return start < stop ? [ start, stop ] : [ stop, start ]; - } - function d3_scaleRange(scale) { - return scale.rangeExtent ? scale.rangeExtent() : d3_scaleExtent(scale.range()); - } - function d3_scale_bilinear(domain, range, uninterpolate, interpolate) { - var u = uninterpolate(domain[0], domain[1]), i = interpolate(range[0], range[1]); - return function(x) { - return i(u(x)); - }; - } - function d3_scale_nice(domain, nice) { - var i0 = 0, i1 = domain.length - 1, x0 = domain[i0], x1 = domain[i1], dx; - if (x1 < x0) { - dx = i0, i0 = i1, i1 = dx; - dx = x0, x0 = x1, x1 = dx; - } - domain[i0] = nice.floor(x0); - domain[i1] = nice.ceil(x1); - return domain; - } - function d3_scale_niceStep(step) { - return step ? { - floor: function(x) { - return Math.floor(x / step) * step; - }, - ceil: function(x) { - return Math.ceil(x / step) * step; - } - } : d3_scale_niceIdentity; - } - var d3_scale_niceIdentity = { - floor: d3_identity, - ceil: d3_identity - }; - function d3_scale_polylinear(domain, range, uninterpolate, interpolate) { - var u = [], i = [], j = 0, k = Math.min(domain.length, range.length) - 1; - if (domain[k] < domain[0]) { - domain = domain.slice().reverse(); - range = range.slice().reverse(); - } - while (++j <= k) { - u.push(uninterpolate(domain[j - 1], domain[j])); - i.push(interpolate(range[j - 1], range[j])); - } - return function(x) { - var j = d3.bisect(domain, x, 1, k) - 1; - return i[j](u[j](x)); - }; - } - d3.scale.linear = function() { - return d3_scale_linear([ 0, 1 ], [ 0, 1 ], d3_interpolate, false); - }; - function d3_scale_linear(domain, range, interpolate, clamp) { - var output, input; - function rescale() { - var linear = Math.min(domain.length, range.length) > 2 ? d3_scale_polylinear : d3_scale_bilinear, uninterpolate = clamp ? d3_uninterpolateClamp : d3_uninterpolateNumber; - output = linear(domain, range, uninterpolate, interpolate); - input = linear(range, domain, uninterpolate, d3_interpolate); - return scale; - } - function scale(x) { - return output(x); - } - scale.invert = function(y) { - return input(y); - }; - scale.domain = function(x) { - if (!arguments.length) return domain; - domain = x.map(Number); - return rescale(); - }; - scale.range = function(x) { - if (!arguments.length) return range; - range = x; - return rescale(); - }; - scale.rangeRound = function(x) { - return scale.range(x).interpolate(d3_interpolateRound); - }; - scale.clamp = function(x) { - if (!arguments.length) return clamp; - clamp = x; - return rescale(); - }; - scale.interpolate = function(x) { - if (!arguments.length) return interpolate; - interpolate = x; - return rescale(); - }; - scale.ticks = function(m) { - return d3_scale_linearTicks(domain, m); - }; - scale.tickFormat = function(m, format) { - return d3_scale_linearTickFormat(domain, m, format); - }; - scale.nice = function(m) { - d3_scale_linearNice(domain, m); - return rescale(); - }; - scale.copy = function() { - return d3_scale_linear(domain, range, interpolate, clamp); - }; - return rescale(); - } - function d3_scale_linearRebind(scale, linear) { - return d3.rebind(scale, linear, "range", "rangeRound", "interpolate", "clamp"); - } - function d3_scale_linearNice(domain, m) { - return d3_scale_nice(domain, d3_scale_niceStep(d3_scale_linearTickRange(domain, m)[2])); - } - function d3_scale_linearTickRange(domain, m) { - if (m == null) m = 10; - var extent = d3_scaleExtent(domain), span = extent[1] - extent[0], step = Math.pow(10, Math.floor(Math.log(span / m) / Math.LN10)), err = m / span * step; - if (err <= .15) step *= 10; else if (err <= .35) step *= 5; else if (err <= .75) step *= 2; - extent[0] = Math.ceil(extent[0] / step) * step; - extent[1] = Math.floor(extent[1] / step) * step + step * .5; - extent[2] = step; - return extent; - } - function d3_scale_linearTicks(domain, m) { - return d3.range.apply(d3, d3_scale_linearTickRange(domain, m)); - } - function d3_scale_linearTickFormat(domain, m, format) { - var range = d3_scale_linearTickRange(domain, m); - if (format) { - var match = d3_format_re.exec(format); - match.shift(); - if (match[8] === "s") { - var prefix = d3.formatPrefix(Math.max(abs(range[0]), abs(range[1]))); - if (!match[7]) match[7] = "." + d3_scale_linearPrecision(prefix.scale(range[2])); - match[8] = "f"; - format = d3.format(match.join("")); - return function(d) { - return format(prefix.scale(d)) + prefix.symbol; - }; - } - if (!match[7]) match[7] = "." + d3_scale_linearFormatPrecision(match[8], range); - format = match.join(""); - } else { - format = ",." + d3_scale_linearPrecision(range[2]) + "f"; - } - return d3.format(format); - } - var d3_scale_linearFormatSignificant = { - s: 1, - g: 1, - p: 1, - r: 1, - e: 1 - }; - function d3_scale_linearPrecision(value) { - return -Math.floor(Math.log(value) / Math.LN10 + .01); - } - function d3_scale_linearFormatPrecision(type, range) { - var p = d3_scale_linearPrecision(range[2]); - return type in d3_scale_linearFormatSignificant ? Math.abs(p - d3_scale_linearPrecision(Math.max(abs(range[0]), abs(range[1])))) + +(type !== "e") : p - (type === "%") * 2; - } - d3.scale.log = function() { - return d3_scale_log(d3.scale.linear().domain([ 0, 1 ]), 10, true, [ 1, 10 ]); - }; - function d3_scale_log(linear, base, positive, domain) { - function log(x) { - return (positive ? Math.log(x < 0 ? 0 : x) : -Math.log(x > 0 ? 0 : -x)) / Math.log(base); - } - function pow(x) { - return positive ? Math.pow(base, x) : -Math.pow(base, -x); - } - function scale(x) { - return linear(log(x)); - } - scale.invert = function(x) { - return pow(linear.invert(x)); - }; - scale.domain = function(x) { - if (!arguments.length) return domain; - positive = x[0] >= 0; - linear.domain((domain = x.map(Number)).map(log)); - return scale; - }; - scale.base = function(_) { - if (!arguments.length) return base; - base = +_; - linear.domain(domain.map(log)); - return scale; - }; - scale.nice = function() { - var niced = d3_scale_nice(domain.map(log), positive ? Math : d3_scale_logNiceNegative); - linear.domain(niced); - domain = niced.map(pow); - return scale; - }; - scale.ticks = function() { - var extent = d3_scaleExtent(domain), ticks = [], u = extent[0], v = extent[1], i = Math.floor(log(u)), j = Math.ceil(log(v)), n = base % 1 ? 2 : base; - if (isFinite(j - i)) { - if (positive) { - for (;i < j; i++) for (var k = 1; k < n; k++) ticks.push(pow(i) * k); - ticks.push(pow(i)); - } else { - ticks.push(pow(i)); - for (;i++ < j; ) for (var k = n - 1; k > 0; k--) ticks.push(pow(i) * k); - } - for (i = 0; ticks[i] < u; i++) {} - for (j = ticks.length; ticks[j - 1] > v; j--) {} - ticks = ticks.slice(i, j); - } - return ticks; - }; - scale.tickFormat = function(n, format) { - if (!arguments.length) return d3_scale_logFormat; - if (arguments.length < 2) format = d3_scale_logFormat; else if (typeof format !== "function") format = d3.format(format); - var k = Math.max(.1, n / scale.ticks().length), f = positive ? (e = 1e-12, Math.ceil) : (e = -1e-12, - Math.floor), e; - return function(d) { - return d / pow(f(log(d) + e)) <= k ? format(d) : ""; - }; - }; - scale.copy = function() { - return d3_scale_log(linear.copy(), base, positive, domain); - }; - return d3_scale_linearRebind(scale, linear); - } - var d3_scale_logFormat = d3.format(".0e"), d3_scale_logNiceNegative = { - floor: function(x) { - return -Math.ceil(-x); - }, - ceil: function(x) { - return -Math.floor(-x); - } - }; - d3.scale.pow = function() { - return d3_scale_pow(d3.scale.linear(), 1, [ 0, 1 ]); - }; - function d3_scale_pow(linear, exponent, domain) { - var powp = d3_scale_powPow(exponent), powb = d3_scale_powPow(1 / exponent); - function scale(x) { - return linear(powp(x)); - } - scale.invert = function(x) { - return powb(linear.invert(x)); - }; - scale.domain = function(x) { - if (!arguments.length) return domain; - linear.domain((domain = x.map(Number)).map(powp)); - return scale; - }; - scale.ticks = function(m) { - return d3_scale_linearTicks(domain, m); - }; - scale.tickFormat = function(m, format) { - return d3_scale_linearTickFormat(domain, m, format); - }; - scale.nice = function(m) { - return scale.domain(d3_scale_linearNice(domain, m)); - }; - scale.exponent = function(x) { - if (!arguments.length) return exponent; - powp = d3_scale_powPow(exponent = x); - powb = d3_scale_powPow(1 / exponent); - linear.domain(domain.map(powp)); - return scale; - }; - scale.copy = function() { - return d3_scale_pow(linear.copy(), exponent, domain); - }; - return d3_scale_linearRebind(scale, linear); - } - function d3_scale_powPow(e) { - return function(x) { - return x < 0 ? -Math.pow(-x, e) : Math.pow(x, e); - }; - } - d3.scale.sqrt = function() { - return d3.scale.pow().exponent(.5); - }; - d3.scale.ordinal = function() { - return d3_scale_ordinal([], { - t: "range", - a: [ [] ] - }); - }; - function d3_scale_ordinal(domain, ranger) { - var index, range, rangeBand; - function scale(x) { - return range[((index.get(x) || (ranger.t === "range" ? index.set(x, domain.push(x)) : NaN)) - 1) % range.length]; - } - function steps(start, step) { - return d3.range(domain.length).map(function(i) { - return start + step * i; - }); - } - scale.domain = function(x) { - if (!arguments.length) return domain; - domain = []; - index = new d3_Map(); - var i = -1, n = x.length, xi; - while (++i < n) if (!index.has(xi = x[i])) index.set(xi, domain.push(xi)); - return scale[ranger.t].apply(scale, ranger.a); - }; - scale.range = function(x) { - if (!arguments.length) return range; - range = x; - rangeBand = 0; - ranger = { - t: "range", - a: arguments - }; - return scale; - }; - scale.rangePoints = function(x, padding) { - if (arguments.length < 2) padding = 0; - var start = x[0], stop = x[1], step = domain.length < 2 ? (start = (start + stop) / 2, - 0) : (stop - start) / (domain.length - 1 + padding); - range = steps(start + step * padding / 2, step); - rangeBand = 0; - ranger = { - t: "rangePoints", - a: arguments - }; - return scale; - }; - scale.rangeRoundPoints = function(x, padding) { - if (arguments.length < 2) padding = 0; - var start = x[0], stop = x[1], step = domain.length < 2 ? (start = stop = Math.round((start + stop) / 2), - 0) : (stop - start) / (domain.length - 1 + padding) | 0; - range = steps(start + Math.round(step * padding / 2 + (stop - start - (domain.length - 1 + padding) * step) / 2), step); - rangeBand = 0; - ranger = { - t: "rangeRoundPoints", - a: arguments - }; - return scale; - }; - scale.rangeBands = function(x, padding, outerPadding) { - if (arguments.length < 2) padding = 0; - if (arguments.length < 3) outerPadding = padding; - var reverse = x[1] < x[0], start = x[reverse - 0], stop = x[1 - reverse], step = (stop - start) / (domain.length - padding + 2 * outerPadding); - range = steps(start + step * outerPadding, step); - if (reverse) range.reverse(); - rangeBand = step * (1 - padding); - ranger = { - t: "rangeBands", - a: arguments - }; - return scale; - }; - scale.rangeRoundBands = function(x, padding, outerPadding) { - if (arguments.length < 2) padding = 0; - if (arguments.length < 3) outerPadding = padding; - var reverse = x[1] < x[0], start = x[reverse - 0], stop = x[1 - reverse], step = Math.floor((stop - start) / (domain.length - padding + 2 * outerPadding)); - range = steps(start + Math.round((stop - start - (domain.length - padding) * step) / 2), step); - if (reverse) range.reverse(); - rangeBand = Math.round(step * (1 - padding)); - ranger = { - t: "rangeRoundBands", - a: arguments - }; - return scale; - }; - scale.rangeBand = function() { - return rangeBand; - }; - scale.rangeExtent = function() { - return d3_scaleExtent(ranger.a[0]); - }; - scale.copy = function() { - return d3_scale_ordinal(domain, ranger); - }; - return scale.domain(domain); - } - d3.scale.category10 = function() { - return d3.scale.ordinal().range(d3_category10); - }; - d3.scale.category20 = function() { - return d3.scale.ordinal().range(d3_category20); - }; - d3.scale.category20b = function() { - return d3.scale.ordinal().range(d3_category20b); - }; - d3.scale.category20c = function() { - return d3.scale.ordinal().range(d3_category20c); - }; - var d3_category10 = [ 2062260, 16744206, 2924588, 14034728, 9725885, 9197131, 14907330, 8355711, 12369186, 1556175 ].map(d3_rgbString); - var d3_category20 = [ 2062260, 11454440, 16744206, 16759672, 2924588, 10018698, 14034728, 16750742, 9725885, 12955861, 9197131, 12885140, 14907330, 16234194, 8355711, 13092807, 12369186, 14408589, 1556175, 10410725 ].map(d3_rgbString); - var d3_category20b = [ 3750777, 5395619, 7040719, 10264286, 6519097, 9216594, 11915115, 13556636, 9202993, 12426809, 15186514, 15190932, 8666169, 11356490, 14049643, 15177372, 8077683, 10834324, 13528509, 14589654 ].map(d3_rgbString); - var d3_category20c = [ 3244733, 7057110, 10406625, 13032431, 15095053, 16616764, 16625259, 16634018, 3253076, 7652470, 10607003, 13101504, 7695281, 10394312, 12369372, 14342891, 6513507, 9868950, 12434877, 14277081 ].map(d3_rgbString); - d3.scale.quantile = function() { - return d3_scale_quantile([], []); - }; - function d3_scale_quantile(domain, range) { - var thresholds; - function rescale() { - var k = 0, q = range.length; - thresholds = []; - while (++k < q) thresholds[k - 1] = d3.quantile(domain, k / q); - return scale; - } - function scale(x) { - if (!isNaN(x = +x)) return range[d3.bisect(thresholds, x)]; - } - scale.domain = function(x) { - if (!arguments.length) return domain; - domain = x.map(d3_number).filter(d3_numeric).sort(d3_ascending); - return rescale(); - }; - scale.range = function(x) { - if (!arguments.length) return range; - range = x; - return rescale(); - }; - scale.quantiles = function() { - return thresholds; - }; - scale.invertExtent = function(y) { - y = range.indexOf(y); - return y < 0 ? [ NaN, NaN ] : [ y > 0 ? thresholds[y - 1] : domain[0], y < thresholds.length ? thresholds[y] : domain[domain.length - 1] ]; - }; - scale.copy = function() { - return d3_scale_quantile(domain, range); - }; - return rescale(); - } - d3.scale.quantize = function() { - return d3_scale_quantize(0, 1, [ 0, 1 ]); - }; - function d3_scale_quantize(x0, x1, range) { - var kx, i; - function scale(x) { - return range[Math.max(0, Math.min(i, Math.floor(kx * (x - x0))))]; - } - function rescale() { - kx = range.length / (x1 - x0); - i = range.length - 1; - return scale; - } - scale.domain = function(x) { - if (!arguments.length) return [ x0, x1 ]; - x0 = +x[0]; - x1 = +x[x.length - 1]; - return rescale(); - }; - scale.range = function(x) { - if (!arguments.length) return range; - range = x; - return rescale(); - }; - scale.invertExtent = function(y) { - y = range.indexOf(y); - y = y < 0 ? NaN : y / kx + x0; - return [ y, y + 1 / kx ]; - }; - scale.copy = function() { - return d3_scale_quantize(x0, x1, range); - }; - return rescale(); - } - d3.scale.threshold = function() { - return d3_scale_threshold([ .5 ], [ 0, 1 ]); - }; - function d3_scale_threshold(domain, range) { - function scale(x) { - if (x <= x) return range[d3.bisect(domain, x)]; - } - scale.domain = function(_) { - if (!arguments.length) return domain; - domain = _; - return scale; - }; - scale.range = function(_) { - if (!arguments.length) return range; - range = _; - return scale; - }; - scale.invertExtent = function(y) { - y = range.indexOf(y); - return [ domain[y - 1], domain[y] ]; - }; - scale.copy = function() { - return d3_scale_threshold(domain, range); - }; - return scale; - } - d3.scale.identity = function() { - return d3_scale_identity([ 0, 1 ]); - }; - function d3_scale_identity(domain) { - function identity(x) { - return +x; - } - identity.invert = identity; - identity.domain = identity.range = function(x) { - if (!arguments.length) return domain; - domain = x.map(identity); - return identity; - }; - identity.ticks = function(m) { - return d3_scale_linearTicks(domain, m); - }; - identity.tickFormat = function(m, format) { - return d3_scale_linearTickFormat(domain, m, format); - }; - identity.copy = function() { - return d3_scale_identity(domain); - }; - return identity; - } - d3.svg = {}; - function d3_zero() { - return 0; - } - d3.svg.arc = function() { - var innerRadius = d3_svg_arcInnerRadius, outerRadius = d3_svg_arcOuterRadius, cornerRadius = d3_zero, padRadius = d3_svg_arcAuto, startAngle = d3_svg_arcStartAngle, endAngle = d3_svg_arcEndAngle, padAngle = d3_svg_arcPadAngle; - function arc() { - var r0 = Math.max(0, +innerRadius.apply(this, arguments)), r1 = Math.max(0, +outerRadius.apply(this, arguments)), a0 = startAngle.apply(this, arguments) - halfπ, a1 = endAngle.apply(this, arguments) - halfπ, da = Math.abs(a1 - a0), cw = a0 > a1 ? 0 : 1; - if (r1 < r0) rc = r1, r1 = r0, r0 = rc; - if (da >= τε) return circleSegment(r1, cw) + (r0 ? circleSegment(r0, 1 - cw) : "") + "Z"; - var rc, cr, rp, ap, p0 = 0, p1 = 0, x0, y0, x1, y1, x2, y2, x3, y3, path = []; - if (ap = (+padAngle.apply(this, arguments) || 0) / 2) { - rp = padRadius === d3_svg_arcAuto ? Math.sqrt(r0 * r0 + r1 * r1) : +padRadius.apply(this, arguments); - if (!cw) p1 *= -1; - if (r1) p1 = d3_asin(rp / r1 * Math.sin(ap)); - if (r0) p0 = d3_asin(rp / r0 * Math.sin(ap)); - } - if (r1) { - x0 = r1 * Math.cos(a0 + p1); - y0 = r1 * Math.sin(a0 + p1); - x1 = r1 * Math.cos(a1 - p1); - y1 = r1 * Math.sin(a1 - p1); - var l1 = Math.abs(a1 - a0 - 2 * p1) <= π ? 0 : 1; - if (p1 && d3_svg_arcSweep(x0, y0, x1, y1) === cw ^ l1) { - var h1 = (a0 + a1) / 2; - x0 = r1 * Math.cos(h1); - y0 = r1 * Math.sin(h1); - x1 = y1 = null; - } - } else { - x0 = y0 = 0; - } - if (r0) { - x2 = r0 * Math.cos(a1 - p0); - y2 = r0 * Math.sin(a1 - p0); - x3 = r0 * Math.cos(a0 + p0); - y3 = r0 * Math.sin(a0 + p0); - var l0 = Math.abs(a0 - a1 + 2 * p0) <= π ? 0 : 1; - if (p0 && d3_svg_arcSweep(x2, y2, x3, y3) === 1 - cw ^ l0) { - var h0 = (a0 + a1) / 2; - x2 = r0 * Math.cos(h0); - y2 = r0 * Math.sin(h0); - x3 = y3 = null; - } - } else { - x2 = y2 = 0; - } - if ((rc = Math.min(Math.abs(r1 - r0) / 2, +cornerRadius.apply(this, arguments))) > .001) { - cr = r0 < r1 ^ cw ? 0 : 1; - var oc = x3 == null ? [ x2, y2 ] : x1 == null ? [ x0, y0 ] : d3_geom_polygonIntersect([ x0, y0 ], [ x3, y3 ], [ x1, y1 ], [ x2, y2 ]), ax = x0 - oc[0], ay = y0 - oc[1], bx = x1 - oc[0], by = y1 - oc[1], kc = 1 / Math.sin(Math.acos((ax * bx + ay * by) / (Math.sqrt(ax * ax + ay * ay) * Math.sqrt(bx * bx + by * by))) / 2), lc = Math.sqrt(oc[0] * oc[0] + oc[1] * oc[1]); - if (x1 != null) { - var rc1 = Math.min(rc, (r1 - lc) / (kc + 1)), t30 = d3_svg_arcCornerTangents(x3 == null ? [ x2, y2 ] : [ x3, y3 ], [ x0, y0 ], r1, rc1, cw), t12 = d3_svg_arcCornerTangents([ x1, y1 ], [ x2, y2 ], r1, rc1, cw); - if (rc === rc1) { - path.push("M", t30[0], "A", rc1, ",", rc1, " 0 0,", cr, " ", t30[1], "A", r1, ",", r1, " 0 ", 1 - cw ^ d3_svg_arcSweep(t30[1][0], t30[1][1], t12[1][0], t12[1][1]), ",", cw, " ", t12[1], "A", rc1, ",", rc1, " 0 0,", cr, " ", t12[0]); - } else { - path.push("M", t30[0], "A", rc1, ",", rc1, " 0 1,", cr, " ", t12[0]); - } - } else { - path.push("M", x0, ",", y0); - } - if (x3 != null) { - var rc0 = Math.min(rc, (r0 - lc) / (kc - 1)), t03 = d3_svg_arcCornerTangents([ x0, y0 ], [ x3, y3 ], r0, -rc0, cw), t21 = d3_svg_arcCornerTangents([ x2, y2 ], x1 == null ? [ x0, y0 ] : [ x1, y1 ], r0, -rc0, cw); - if (rc === rc0) { - path.push("L", t21[0], "A", rc0, ",", rc0, " 0 0,", cr, " ", t21[1], "A", r0, ",", r0, " 0 ", cw ^ d3_svg_arcSweep(t21[1][0], t21[1][1], t03[1][0], t03[1][1]), ",", 1 - cw, " ", t03[1], "A", rc0, ",", rc0, " 0 0,", cr, " ", t03[0]); - } else { - path.push("L", t21[0], "A", rc0, ",", rc0, " 0 0,", cr, " ", t03[0]); - } - } else { - path.push("L", x2, ",", y2); - } - } else { - path.push("M", x0, ",", y0); - if (x1 != null) path.push("A", r1, ",", r1, " 0 ", l1, ",", cw, " ", x1, ",", y1); - path.push("L", x2, ",", y2); - if (x3 != null) path.push("A", r0, ",", r0, " 0 ", l0, ",", 1 - cw, " ", x3, ",", y3); - } - path.push("Z"); - return path.join(""); - } - function circleSegment(r1, cw) { - return "M0," + r1 + "A" + r1 + "," + r1 + " 0 1," + cw + " 0," + -r1 + "A" + r1 + "," + r1 + " 0 1," + cw + " 0," + r1; - } - arc.innerRadius = function(v) { - if (!arguments.length) return innerRadius; - innerRadius = d3_functor(v); - return arc; - }; - arc.outerRadius = function(v) { - if (!arguments.length) return outerRadius; - outerRadius = d3_functor(v); - return arc; - }; - arc.cornerRadius = function(v) { - if (!arguments.length) return cornerRadius; - cornerRadius = d3_functor(v); - return arc; - }; - arc.padRadius = function(v) { - if (!arguments.length) return padRadius; - padRadius = v == d3_svg_arcAuto ? d3_svg_arcAuto : d3_functor(v); - return arc; - }; - arc.startAngle = function(v) { - if (!arguments.length) return startAngle; - startAngle = d3_functor(v); - return arc; - }; - arc.endAngle = function(v) { - if (!arguments.length) return endAngle; - endAngle = d3_functor(v); - return arc; - }; - arc.padAngle = function(v) { - if (!arguments.length) return padAngle; - padAngle = d3_functor(v); - return arc; - }; - arc.centroid = function() { - var r = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2, a = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - halfπ; - return [ Math.cos(a) * r, Math.sin(a) * r ]; - }; - return arc; - }; - var d3_svg_arcAuto = "auto"; - function d3_svg_arcInnerRadius(d) { - return d.innerRadius; - } - function d3_svg_arcOuterRadius(d) { - return d.outerRadius; - } - function d3_svg_arcStartAngle(d) { - return d.startAngle; - } - function d3_svg_arcEndAngle(d) { - return d.endAngle; - } - function d3_svg_arcPadAngle(d) { - return d && d.padAngle; - } - function d3_svg_arcSweep(x0, y0, x1, y1) { - return (x0 - x1) * y0 - (y0 - y1) * x0 > 0 ? 0 : 1; - } - function d3_svg_arcCornerTangents(p0, p1, r1, rc, cw) { - var x01 = p0[0] - p1[0], y01 = p0[1] - p1[1], lo = (cw ? rc : -rc) / Math.sqrt(x01 * x01 + y01 * y01), ox = lo * y01, oy = -lo * x01, x1 = p0[0] + ox, y1 = p0[1] + oy, x2 = p1[0] + ox, y2 = p1[1] + oy, x3 = (x1 + x2) / 2, y3 = (y1 + y2) / 2, dx = x2 - x1, dy = y2 - y1, d2 = dx * dx + dy * dy, r = r1 - rc, D = x1 * y2 - x2 * y1, d = (dy < 0 ? -1 : 1) * Math.sqrt(r * r * d2 - D * D), cx0 = (D * dy - dx * d) / d2, cy0 = (-D * dx - dy * d) / d2, cx1 = (D * dy + dx * d) / d2, cy1 = (-D * dx + dy * d) / d2, dx0 = cx0 - x3, dy0 = cy0 - y3, dx1 = cx1 - x3, dy1 = cy1 - y3; - if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) cx0 = cx1, cy0 = cy1; - return [ [ cx0 - ox, cy0 - oy ], [ cx0 * r1 / r, cy0 * r1 / r ] ]; - } - function d3_svg_line(projection) { - var x = d3_geom_pointX, y = d3_geom_pointY, defined = d3_true, interpolate = d3_svg_lineLinear, interpolateKey = interpolate.key, tension = .7; - function line(data) { - var segments = [], points = [], i = -1, n = data.length, d, fx = d3_functor(x), fy = d3_functor(y); - function segment() { - segments.push("M", interpolate(projection(points), tension)); - } - while (++i < n) { - if (defined.call(this, d = data[i], i)) { - points.push([ +fx.call(this, d, i), +fy.call(this, d, i) ]); - } else if (points.length) { - segment(); - points = []; - } - } - if (points.length) segment(); - return segments.length ? segments.join("") : null; - } - line.x = function(_) { - if (!arguments.length) return x; - x = _; - return line; - }; - line.y = function(_) { - if (!arguments.length) return y; - y = _; - return line; - }; - line.defined = function(_) { - if (!arguments.length) return defined; - defined = _; - return line; - }; - line.interpolate = function(_) { - if (!arguments.length) return interpolateKey; - if (typeof _ === "function") interpolateKey = interpolate = _; else interpolateKey = (interpolate = d3_svg_lineInterpolators.get(_) || d3_svg_lineLinear).key; - return line; - }; - line.tension = function(_) { - if (!arguments.length) return tension; - tension = _; - return line; - }; - return line; - } - d3.svg.line = function() { - return d3_svg_line(d3_identity); - }; - var d3_svg_lineInterpolators = d3.map({ - linear: d3_svg_lineLinear, - "linear-closed": d3_svg_lineLinearClosed, - step: d3_svg_lineStep, - "step-before": d3_svg_lineStepBefore, - "step-after": d3_svg_lineStepAfter, - basis: d3_svg_lineBasis, - "basis-open": d3_svg_lineBasisOpen, - "basis-closed": d3_svg_lineBasisClosed, - bundle: d3_svg_lineBundle, - cardinal: d3_svg_lineCardinal, - "cardinal-open": d3_svg_lineCardinalOpen, - "cardinal-closed": d3_svg_lineCardinalClosed, - monotone: d3_svg_lineMonotone - }); - d3_svg_lineInterpolators.forEach(function(key, value) { - value.key = key; - value.closed = /-closed$/.test(key); - }); - function d3_svg_lineLinear(points) { - return points.join("L"); - } - function d3_svg_lineLinearClosed(points) { - return d3_svg_lineLinear(points) + "Z"; - } - function d3_svg_lineStep(points) { - var i = 0, n = points.length, p = points[0], path = [ p[0], ",", p[1] ]; - while (++i < n) path.push("H", (p[0] + (p = points[i])[0]) / 2, "V", p[1]); - if (n > 1) path.push("H", p[0]); - return path.join(""); - } - function d3_svg_lineStepBefore(points) { - var i = 0, n = points.length, p = points[0], path = [ p[0], ",", p[1] ]; - while (++i < n) path.push("V", (p = points[i])[1], "H", p[0]); - return path.join(""); - } - function d3_svg_lineStepAfter(points) { - var i = 0, n = points.length, p = points[0], path = [ p[0], ",", p[1] ]; - while (++i < n) path.push("H", (p = points[i])[0], "V", p[1]); - return path.join(""); - } - function d3_svg_lineCardinalOpen(points, tension) { - return points.length < 4 ? d3_svg_lineLinear(points) : points[1] + d3_svg_lineHermite(points.slice(1, -1), d3_svg_lineCardinalTangents(points, tension)); - } - function d3_svg_lineCardinalClosed(points, tension) { - return points.length < 3 ? d3_svg_lineLinear(points) : points[0] + d3_svg_lineHermite((points.push(points[0]), - points), d3_svg_lineCardinalTangents([ points[points.length - 2] ].concat(points, [ points[1] ]), tension)); - } - function d3_svg_lineCardinal(points, tension) { - return points.length < 3 ? d3_svg_lineLinear(points) : points[0] + d3_svg_lineHermite(points, d3_svg_lineCardinalTangents(points, tension)); - } - function d3_svg_lineHermite(points, tangents) { - if (tangents.length < 1 || points.length != tangents.length && points.length != tangents.length + 2) { - return d3_svg_lineLinear(points); - } - var quad = points.length != tangents.length, path = "", p0 = points[0], p = points[1], t0 = tangents[0], t = t0, pi = 1; - if (quad) { - path += "Q" + (p[0] - t0[0] * 2 / 3) + "," + (p[1] - t0[1] * 2 / 3) + "," + p[0] + "," + p[1]; - p0 = points[1]; - pi = 2; - } - if (tangents.length > 1) { - t = tangents[1]; - p = points[pi]; - pi++; - path += "C" + (p0[0] + t0[0]) + "," + (p0[1] + t0[1]) + "," + (p[0] - t[0]) + "," + (p[1] - t[1]) + "," + p[0] + "," + p[1]; - for (var i = 2; i < tangents.length; i++, pi++) { - p = points[pi]; - t = tangents[i]; - path += "S" + (p[0] - t[0]) + "," + (p[1] - t[1]) + "," + p[0] + "," + p[1]; - } - } - if (quad) { - var lp = points[pi]; - path += "Q" + (p[0] + t[0] * 2 / 3) + "," + (p[1] + t[1] * 2 / 3) + "," + lp[0] + "," + lp[1]; - } - return path; - } - function d3_svg_lineCardinalTangents(points, tension) { - var tangents = [], a = (1 - tension) / 2, p0, p1 = points[0], p2 = points[1], i = 1, n = points.length; - while (++i < n) { - p0 = p1; - p1 = p2; - p2 = points[i]; - tangents.push([ a * (p2[0] - p0[0]), a * (p2[1] - p0[1]) ]); - } - return tangents; - } - function d3_svg_lineBasis(points) { - if (points.length < 3) return d3_svg_lineLinear(points); - var i = 1, n = points.length, pi = points[0], x0 = pi[0], y0 = pi[1], px = [ x0, x0, x0, (pi = points[1])[0] ], py = [ y0, y0, y0, pi[1] ], path = [ x0, ",", y0, "L", d3_svg_lineDot4(d3_svg_lineBasisBezier3, px), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier3, py) ]; - points.push(points[n - 1]); - while (++i <= n) { - pi = points[i]; - px.shift(); - px.push(pi[0]); - py.shift(); - py.push(pi[1]); - d3_svg_lineBasisBezier(path, px, py); - } - points.pop(); - path.push("L", pi); - return path.join(""); - } - function d3_svg_lineBasisOpen(points) { - if (points.length < 4) return d3_svg_lineLinear(points); - var path = [], i = -1, n = points.length, pi, px = [ 0 ], py = [ 0 ]; - while (++i < 3) { - pi = points[i]; - px.push(pi[0]); - py.push(pi[1]); - } - path.push(d3_svg_lineDot4(d3_svg_lineBasisBezier3, px) + "," + d3_svg_lineDot4(d3_svg_lineBasisBezier3, py)); - --i; - while (++i < n) { - pi = points[i]; - px.shift(); - px.push(pi[0]); - py.shift(); - py.push(pi[1]); - d3_svg_lineBasisBezier(path, px, py); - } - return path.join(""); - } - function d3_svg_lineBasisClosed(points) { - var path, i = -1, n = points.length, m = n + 4, pi, px = [], py = []; - while (++i < 4) { - pi = points[i % n]; - px.push(pi[0]); - py.push(pi[1]); - } - path = [ d3_svg_lineDot4(d3_svg_lineBasisBezier3, px), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier3, py) ]; - --i; - while (++i < m) { - pi = points[i % n]; - px.shift(); - px.push(pi[0]); - py.shift(); - py.push(pi[1]); - d3_svg_lineBasisBezier(path, px, py); - } - return path.join(""); - } - function d3_svg_lineBundle(points, tension) { - var n = points.length - 1; - if (n) { - var x0 = points[0][0], y0 = points[0][1], dx = points[n][0] - x0, dy = points[n][1] - y0, i = -1, p, t; - while (++i <= n) { - p = points[i]; - t = i / n; - p[0] = tension * p[0] + (1 - tension) * (x0 + t * dx); - p[1] = tension * p[1] + (1 - tension) * (y0 + t * dy); - } - } - return d3_svg_lineBasis(points); - } - function d3_svg_lineDot4(a, b) { - return a[0] * b[0] + a[1] * b[1] + a[2] * b[2] + a[3] * b[3]; - } - var d3_svg_lineBasisBezier1 = [ 0, 2 / 3, 1 / 3, 0 ], d3_svg_lineBasisBezier2 = [ 0, 1 / 3, 2 / 3, 0 ], d3_svg_lineBasisBezier3 = [ 0, 1 / 6, 2 / 3, 1 / 6 ]; - function d3_svg_lineBasisBezier(path, x, y) { - path.push("C", d3_svg_lineDot4(d3_svg_lineBasisBezier1, x), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier1, y), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier2, x), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier2, y), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier3, x), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier3, y)); - } - function d3_svg_lineSlope(p0, p1) { - return (p1[1] - p0[1]) / (p1[0] - p0[0]); - } - function d3_svg_lineFiniteDifferences(points) { - var i = 0, j = points.length - 1, m = [], p0 = points[0], p1 = points[1], d = m[0] = d3_svg_lineSlope(p0, p1); - while (++i < j) { - m[i] = (d + (d = d3_svg_lineSlope(p0 = p1, p1 = points[i + 1]))) / 2; - } - m[i] = d; - return m; - } - function d3_svg_lineMonotoneTangents(points) { - var tangents = [], d, a, b, s, m = d3_svg_lineFiniteDifferences(points), i = -1, j = points.length - 1; - while (++i < j) { - d = d3_svg_lineSlope(points[i], points[i + 1]); - if (abs(d) < ε) { - m[i] = m[i + 1] = 0; - } else { - a = m[i] / d; - b = m[i + 1] / d; - s = a * a + b * b; - if (s > 9) { - s = d * 3 / Math.sqrt(s); - m[i] = s * a; - m[i + 1] = s * b; - } - } - } - i = -1; - while (++i <= j) { - s = (points[Math.min(j, i + 1)][0] - points[Math.max(0, i - 1)][0]) / (6 * (1 + m[i] * m[i])); - tangents.push([ s || 0, m[i] * s || 0 ]); - } - return tangents; - } - function d3_svg_lineMonotone(points) { - return points.length < 3 ? d3_svg_lineLinear(points) : points[0] + d3_svg_lineHermite(points, d3_svg_lineMonotoneTangents(points)); - } - d3.svg.line.radial = function() { - var line = d3_svg_line(d3_svg_lineRadial); - line.radius = line.x, delete line.x; - line.angle = line.y, delete line.y; - return line; - }; - function d3_svg_lineRadial(points) { - var point, i = -1, n = points.length, r, a; - while (++i < n) { - point = points[i]; - r = point[0]; - a = point[1] - halfπ; - point[0] = r * Math.cos(a); - point[1] = r * Math.sin(a); - } - return points; - } - function d3_svg_area(projection) { - var x0 = d3_geom_pointX, x1 = d3_geom_pointX, y0 = 0, y1 = d3_geom_pointY, defined = d3_true, interpolate = d3_svg_lineLinear, interpolateKey = interpolate.key, interpolateReverse = interpolate, L = "L", tension = .7; - function area(data) { - var segments = [], points0 = [], points1 = [], i = -1, n = data.length, d, fx0 = d3_functor(x0), fy0 = d3_functor(y0), fx1 = x0 === x1 ? function() { - return x; - } : d3_functor(x1), fy1 = y0 === y1 ? function() { - return y; - } : d3_functor(y1), x, y; - function segment() { - segments.push("M", interpolate(projection(points1), tension), L, interpolateReverse(projection(points0.reverse()), tension), "Z"); - } - while (++i < n) { - if (defined.call(this, d = data[i], i)) { - points0.push([ x = +fx0.call(this, d, i), y = +fy0.call(this, d, i) ]); - points1.push([ +fx1.call(this, d, i), +fy1.call(this, d, i) ]); - } else if (points0.length) { - segment(); - points0 = []; - points1 = []; - } - } - if (points0.length) segment(); - return segments.length ? segments.join("") : null; - } - area.x = function(_) { - if (!arguments.length) return x1; - x0 = x1 = _; - return area; - }; - area.x0 = function(_) { - if (!arguments.length) return x0; - x0 = _; - return area; - }; - area.x1 = function(_) { - if (!arguments.length) return x1; - x1 = _; - return area; - }; - area.y = function(_) { - if (!arguments.length) return y1; - y0 = y1 = _; - return area; - }; - area.y0 = function(_) { - if (!arguments.length) return y0; - y0 = _; - return area; - }; - area.y1 = function(_) { - if (!arguments.length) return y1; - y1 = _; - return area; - }; - area.defined = function(_) { - if (!arguments.length) return defined; - defined = _; - return area; - }; - area.interpolate = function(_) { - if (!arguments.length) return interpolateKey; - if (typeof _ === "function") interpolateKey = interpolate = _; else interpolateKey = (interpolate = d3_svg_lineInterpolators.get(_) || d3_svg_lineLinear).key; - interpolateReverse = interpolate.reverse || interpolate; - L = interpolate.closed ? "M" : "L"; - return area; - }; - area.tension = function(_) { - if (!arguments.length) return tension; - tension = _; - return area; - }; - return area; - } - d3_svg_lineStepBefore.reverse = d3_svg_lineStepAfter; - d3_svg_lineStepAfter.reverse = d3_svg_lineStepBefore; - d3.svg.area = function() { - return d3_svg_area(d3_identity); - }; - d3.svg.area.radial = function() { - var area = d3_svg_area(d3_svg_lineRadial); - area.radius = area.x, delete area.x; - area.innerRadius = area.x0, delete area.x0; - area.outerRadius = area.x1, delete area.x1; - area.angle = area.y, delete area.y; - area.startAngle = area.y0, delete area.y0; - area.endAngle = area.y1, delete area.y1; - return area; - }; - d3.svg.chord = function() { - var source = d3_source, target = d3_target, radius = d3_svg_chordRadius, startAngle = d3_svg_arcStartAngle, endAngle = d3_svg_arcEndAngle; - function chord(d, i) { - var s = subgroup(this, source, d, i), t = subgroup(this, target, d, i); - return "M" + s.p0 + arc(s.r, s.p1, s.a1 - s.a0) + (equals(s, t) ? curve(s.r, s.p1, s.r, s.p0) : curve(s.r, s.p1, t.r, t.p0) + arc(t.r, t.p1, t.a1 - t.a0) + curve(t.r, t.p1, s.r, s.p0)) + "Z"; - } - function subgroup(self, f, d, i) { - var subgroup = f.call(self, d, i), r = radius.call(self, subgroup, i), a0 = startAngle.call(self, subgroup, i) - halfπ, a1 = endAngle.call(self, subgroup, i) - halfπ; - return { - r: r, - a0: a0, - a1: a1, - p0: [ r * Math.cos(a0), r * Math.sin(a0) ], - p1: [ r * Math.cos(a1), r * Math.sin(a1) ] - }; - } - function equals(a, b) { - return a.a0 == b.a0 && a.a1 == b.a1; - } - function arc(r, p, a) { - return "A" + r + "," + r + " 0 " + +(a > π) + ",1 " + p; - } - function curve(r0, p0, r1, p1) { - return "Q 0,0 " + p1; - } - chord.radius = function(v) { - if (!arguments.length) return radius; - radius = d3_functor(v); - return chord; - }; - chord.source = function(v) { - if (!arguments.length) return source; - source = d3_functor(v); - return chord; - }; - chord.target = function(v) { - if (!arguments.length) return target; - target = d3_functor(v); - return chord; - }; - chord.startAngle = function(v) { - if (!arguments.length) return startAngle; - startAngle = d3_functor(v); - return chord; - }; - chord.endAngle = function(v) { - if (!arguments.length) return endAngle; - endAngle = d3_functor(v); - return chord; - }; - return chord; - }; - function d3_svg_chordRadius(d) { - return d.radius; - } - d3.svg.diagonal = function() { - var source = d3_source, target = d3_target, projection = d3_svg_diagonalProjection; - function diagonal(d, i) { - var p0 = source.call(this, d, i), p3 = target.call(this, d, i), m = (p0.y + p3.y) / 2, p = [ p0, { - x: p0.x, - y: m - }, { - x: p3.x, - y: m - }, p3 ]; - p = p.map(projection); - return "M" + p[0] + "C" + p[1] + " " + p[2] + " " + p[3]; - } - diagonal.source = function(x) { - if (!arguments.length) return source; - source = d3_functor(x); - return diagonal; - }; - diagonal.target = function(x) { - if (!arguments.length) return target; - target = d3_functor(x); - return diagonal; - }; - diagonal.projection = function(x) { - if (!arguments.length) return projection; - projection = x; - return diagonal; - }; - return diagonal; - }; - function d3_svg_diagonalProjection(d) { - return [ d.x, d.y ]; - } - d3.svg.diagonal.radial = function() { - var diagonal = d3.svg.diagonal(), projection = d3_svg_diagonalProjection, projection_ = diagonal.projection; - diagonal.projection = function(x) { - return arguments.length ? projection_(d3_svg_diagonalRadialProjection(projection = x)) : projection; - }; - return diagonal; - }; - function d3_svg_diagonalRadialProjection(projection) { - return function() { - var d = projection.apply(this, arguments), r = d[0], a = d[1] - halfπ; - return [ r * Math.cos(a), r * Math.sin(a) ]; - }; - } - d3.svg.symbol = function() { - var type = d3_svg_symbolType, size = d3_svg_symbolSize; - function symbol(d, i) { - return (d3_svg_symbols.get(type.call(this, d, i)) || d3_svg_symbolCircle)(size.call(this, d, i)); - } - symbol.type = function(x) { - if (!arguments.length) return type; - type = d3_functor(x); - return symbol; - }; - symbol.size = function(x) { - if (!arguments.length) return size; - size = d3_functor(x); - return symbol; - }; - return symbol; - }; - function d3_svg_symbolSize() { - return 64; - } - function d3_svg_symbolType() { - return "circle"; - } - function d3_svg_symbolCircle(size) { - var r = Math.sqrt(size / π); - return "M0," + r + "A" + r + "," + r + " 0 1,1 0," + -r + "A" + r + "," + r + " 0 1,1 0," + r + "Z"; - } - var d3_svg_symbols = d3.map({ - circle: d3_svg_symbolCircle, - cross: function(size) { - var r = Math.sqrt(size / 5) / 2; - return "M" + -3 * r + "," + -r + "H" + -r + "V" + -3 * r + "H" + r + "V" + -r + "H" + 3 * r + "V" + r + "H" + r + "V" + 3 * r + "H" + -r + "V" + r + "H" + -3 * r + "Z"; - }, - diamond: function(size) { - var ry = Math.sqrt(size / (2 * d3_svg_symbolTan30)), rx = ry * d3_svg_symbolTan30; - return "M0," + -ry + "L" + rx + ",0" + " 0," + ry + " " + -rx + ",0" + "Z"; - }, - square: function(size) { - var r = Math.sqrt(size) / 2; - return "M" + -r + "," + -r + "L" + r + "," + -r + " " + r + "," + r + " " + -r + "," + r + "Z"; - }, - "triangle-down": function(size) { - var rx = Math.sqrt(size / d3_svg_symbolSqrt3), ry = rx * d3_svg_symbolSqrt3 / 2; - return "M0," + ry + "L" + rx + "," + -ry + " " + -rx + "," + -ry + "Z"; - }, - "triangle-up": function(size) { - var rx = Math.sqrt(size / d3_svg_symbolSqrt3), ry = rx * d3_svg_symbolSqrt3 / 2; - return "M0," + -ry + "L" + rx + "," + ry + " " + -rx + "," + ry + "Z"; - } - }); - d3.svg.symbolTypes = d3_svg_symbols.keys(); - var d3_svg_symbolSqrt3 = Math.sqrt(3), d3_svg_symbolTan30 = Math.tan(30 * d3_radians); - d3_selectionPrototype.transition = function(name) { - var id = d3_transitionInheritId || ++d3_transitionId, ns = d3_transitionNamespace(name), subgroups = [], subgroup, node, transition = d3_transitionInherit || { - time: Date.now(), - ease: d3_ease_cubicInOut, - delay: 0, - duration: 250 - }; - for (var j = -1, m = this.length; ++j < m; ) { - subgroups.push(subgroup = []); - for (var group = this[j], i = -1, n = group.length; ++i < n; ) { - if (node = group[i]) d3_transitionNode(node, i, ns, id, transition); - subgroup.push(node); - } - } - return d3_transition(subgroups, ns, id); - }; - d3_selectionPrototype.interrupt = function(name) { - return this.each(name == null ? d3_selection_interrupt : d3_selection_interruptNS(d3_transitionNamespace(name))); - }; - var d3_selection_interrupt = d3_selection_interruptNS(d3_transitionNamespace()); - function d3_selection_interruptNS(ns) { - return function() { - var lock, active; - if ((lock = this[ns]) && (active = lock[lock.active])) { - if (--lock.count) { - delete lock[lock.active]; - lock.active += .5; - } else { - delete this[ns]; - } - active.event && active.event.interrupt.call(this, this.__data__, active.index); - } - }; - } - function d3_transition(groups, ns, id) { - d3_subclass(groups, d3_transitionPrototype); - groups.namespace = ns; - groups.id = id; - return groups; - } - var d3_transitionPrototype = [], d3_transitionId = 0, d3_transitionInheritId, d3_transitionInherit; - d3_transitionPrototype.call = d3_selectionPrototype.call; - d3_transitionPrototype.empty = d3_selectionPrototype.empty; - d3_transitionPrototype.node = d3_selectionPrototype.node; - d3_transitionPrototype.size = d3_selectionPrototype.size; - d3.transition = function(selection, name) { - return selection && selection.transition ? d3_transitionInheritId ? selection.transition(name) : selection : d3_selectionRoot.transition(selection); - }; - d3.transition.prototype = d3_transitionPrototype; - d3_transitionPrototype.select = function(selector) { - var id = this.id, ns = this.namespace, subgroups = [], subgroup, subnode, node; - selector = d3_selection_selector(selector); - for (var j = -1, m = this.length; ++j < m; ) { - subgroups.push(subgroup = []); - for (var group = this[j], i = -1, n = group.length; ++i < n; ) { - if ((node = group[i]) && (subnode = selector.call(node, node.__data__, i, j))) { - if ("__data__" in node) subnode.__data__ = node.__data__; - d3_transitionNode(subnode, i, ns, id, node[ns][id]); - subgroup.push(subnode); - } else { - subgroup.push(null); - } - } - } - return d3_transition(subgroups, ns, id); - }; - d3_transitionPrototype.selectAll = function(selector) { - var id = this.id, ns = this.namespace, subgroups = [], subgroup, subnodes, node, subnode, transition; - selector = d3_selection_selectorAll(selector); - for (var j = -1, m = this.length; ++j < m; ) { - for (var group = this[j], i = -1, n = group.length; ++i < n; ) { - if (node = group[i]) { - transition = node[ns][id]; - subnodes = selector.call(node, node.__data__, i, j); - subgroups.push(subgroup = []); - for (var k = -1, o = subnodes.length; ++k < o; ) { - if (subnode = subnodes[k]) d3_transitionNode(subnode, k, ns, id, transition); - subgroup.push(subnode); - } - } - } - } - return d3_transition(subgroups, ns, id); - }; - d3_transitionPrototype.filter = function(filter) { - var subgroups = [], subgroup, group, node; - if (typeof filter !== "function") filter = d3_selection_filter(filter); - for (var j = 0, m = this.length; j < m; j++) { - subgroups.push(subgroup = []); - for (var group = this[j], i = 0, n = group.length; i < n; i++) { - if ((node = group[i]) && filter.call(node, node.__data__, i, j)) { - subgroup.push(node); - } - } - } - return d3_transition(subgroups, this.namespace, this.id); - }; - d3_transitionPrototype.tween = function(name, tween) { - var id = this.id, ns = this.namespace; - if (arguments.length < 2) return this.node()[ns][id].tween.get(name); - return d3_selection_each(this, tween == null ? function(node) { - node[ns][id].tween.remove(name); - } : function(node) { - node[ns][id].tween.set(name, tween); - }); - }; - function d3_transition_tween(groups, name, value, tween) { - var id = groups.id, ns = groups.namespace; - return d3_selection_each(groups, typeof value === "function" ? function(node, i, j) { - node[ns][id].tween.set(name, tween(value.call(node, node.__data__, i, j))); - } : (value = tween(value), function(node) { - node[ns][id].tween.set(name, value); - })); - } - d3_transitionPrototype.attr = function(nameNS, value) { - if (arguments.length < 2) { - for (value in nameNS) this.attr(value, nameNS[value]); - return this; - } - var interpolate = nameNS == "transform" ? d3_interpolateTransform : d3_interpolate, name = d3.ns.qualify(nameNS); - function attrNull() { - this.removeAttribute(name); - } - function attrNullNS() { - this.removeAttributeNS(name.space, name.local); - } - function attrTween(b) { - return b == null ? attrNull : (b += "", function() { - var a = this.getAttribute(name), i; - return a !== b && (i = interpolate(a, b), function(t) { - this.setAttribute(name, i(t)); - }); - }); - } - function attrTweenNS(b) { - return b == null ? attrNullNS : (b += "", function() { - var a = this.getAttributeNS(name.space, name.local), i; - return a !== b && (i = interpolate(a, b), function(t) { - this.setAttributeNS(name.space, name.local, i(t)); - }); - }); - } - return d3_transition_tween(this, "attr." + nameNS, value, name.local ? attrTweenNS : attrTween); - }; - d3_transitionPrototype.attrTween = function(nameNS, tween) { - var name = d3.ns.qualify(nameNS); - function attrTween(d, i) { - var f = tween.call(this, d, i, this.getAttribute(name)); - return f && function(t) { - this.setAttribute(name, f(t)); - }; - } - function attrTweenNS(d, i) { - var f = tween.call(this, d, i, this.getAttributeNS(name.space, name.local)); - return f && function(t) { - this.setAttributeNS(name.space, name.local, f(t)); - }; - } - return this.tween("attr." + nameNS, name.local ? attrTweenNS : attrTween); - }; - d3_transitionPrototype.style = function(name, value, priority) { - var n = arguments.length; - if (n < 3) { - if (typeof name !== "string") { - if (n < 2) value = ""; - for (priority in name) this.style(priority, name[priority], value); - return this; - } - priority = ""; - } - function styleNull() { - this.style.removeProperty(name); - } - function styleString(b) { - return b == null ? styleNull : (b += "", function() { - var a = d3_window.getComputedStyle(this, null).getPropertyValue(name), i; - return a !== b && (i = d3_interpolate(a, b), function(t) { - this.style.setProperty(name, i(t), priority); - }); - }); - } - return d3_transition_tween(this, "style." + name, value, styleString); - }; - d3_transitionPrototype.styleTween = function(name, tween, priority) { - if (arguments.length < 3) priority = ""; - function styleTween(d, i) { - var f = tween.call(this, d, i, d3_window.getComputedStyle(this, null).getPropertyValue(name)); - return f && function(t) { - this.style.setProperty(name, f(t), priority); - }; - } - return this.tween("style." + name, styleTween); - }; - d3_transitionPrototype.text = function(value) { - return d3_transition_tween(this, "text", value, d3_transition_text); - }; - function d3_transition_text(b) { - if (b == null) b = ""; - return function() { - this.textContent = b; - }; - } - d3_transitionPrototype.remove = function() { - var ns = this.namespace; - return this.each("end.transition", function() { - var p; - if (this[ns].count < 2 && (p = this.parentNode)) p.removeChild(this); - }); - }; - d3_transitionPrototype.ease = function(value) { - var id = this.id, ns = this.namespace; - if (arguments.length < 1) return this.node()[ns][id].ease; - if (typeof value !== "function") value = d3.ease.apply(d3, arguments); - return d3_selection_each(this, function(node) { - node[ns][id].ease = value; - }); - }; - d3_transitionPrototype.delay = function(value) { - var id = this.id, ns = this.namespace; - if (arguments.length < 1) return this.node()[ns][id].delay; - return d3_selection_each(this, typeof value === "function" ? function(node, i, j) { - node[ns][id].delay = +value.call(node, node.__data__, i, j); - } : (value = +value, function(node) { - node[ns][id].delay = value; - })); - }; - d3_transitionPrototype.duration = function(value) { - var id = this.id, ns = this.namespace; - if (arguments.length < 1) return this.node()[ns][id].duration; - return d3_selection_each(this, typeof value === "function" ? function(node, i, j) { - node[ns][id].duration = Math.max(1, value.call(node, node.__data__, i, j)); - } : (value = Math.max(1, value), function(node) { - node[ns][id].duration = value; - })); - }; - d3_transitionPrototype.each = function(type, listener) { - var id = this.id, ns = this.namespace; - if (arguments.length < 2) { - var inherit = d3_transitionInherit, inheritId = d3_transitionInheritId; - try { - d3_transitionInheritId = id; - d3_selection_each(this, function(node, i, j) { - d3_transitionInherit = node[ns][id]; - type.call(node, node.__data__, i, j); - }); - } finally { - d3_transitionInherit = inherit; - d3_transitionInheritId = inheritId; - } - } else { - d3_selection_each(this, function(node) { - var transition = node[ns][id]; - (transition.event || (transition.event = d3.dispatch("start", "end", "interrupt"))).on(type, listener); - }); - } - return this; - }; - d3_transitionPrototype.transition = function() { - var id0 = this.id, id1 = ++d3_transitionId, ns = this.namespace, subgroups = [], subgroup, group, node, transition; - for (var j = 0, m = this.length; j < m; j++) { - subgroups.push(subgroup = []); - for (var group = this[j], i = 0, n = group.length; i < n; i++) { - if (node = group[i]) { - transition = node[ns][id0]; - d3_transitionNode(node, i, ns, id1, { - time: transition.time, - ease: transition.ease, - delay: transition.delay + transition.duration, - duration: transition.duration - }); - } - subgroup.push(node); - } - } - return d3_transition(subgroups, ns, id1); - }; - function d3_transitionNamespace(name) { - return name == null ? "__transition__" : "__transition_" + name + "__"; - } - function d3_transitionNode(node, i, ns, id, inherit) { - var lock = node[ns] || (node[ns] = { - active: 0, - count: 0 - }), transition = lock[id]; - if (!transition) { - var time = inherit.time; - transition = lock[id] = { - tween: new d3_Map(), - time: time, - delay: inherit.delay, - duration: inherit.duration, - ease: inherit.ease, - index: i - }; - inherit = null; - ++lock.count; - d3.timer(function(elapsed) { - var delay = transition.delay, duration, ease, timer = d3_timer_active, tweened = []; - timer.t = delay + time; - if (delay <= elapsed) return start(elapsed - delay); - timer.c = start; - function start(elapsed) { - if (lock.active > id) return stop(); - var active = lock[lock.active]; - if (active) { - --lock.count; - delete lock[lock.active]; - active.event && active.event.interrupt.call(node, node.__data__, active.index); - } - lock.active = id; - transition.event && transition.event.start.call(node, node.__data__, i); - transition.tween.forEach(function(key, value) { - if (value = value.call(node, node.__data__, i)) { - tweened.push(value); - } - }); - ease = transition.ease; - duration = transition.duration; - d3.timer(function() { - timer.c = tick(elapsed || 1) ? d3_true : tick; - return 1; - }, 0, time); - } - function tick(elapsed) { - if (lock.active !== id) return 1; - var t = elapsed / duration, e = ease(t), n = tweened.length; - while (n > 0) { - tweened[--n].call(node, e); - } - if (t >= 1) { - transition.event && transition.event.end.call(node, node.__data__, i); - return stop(); - } - } - function stop() { - if (--lock.count) delete lock[id]; else delete node[ns]; - return 1; - } - }, 0, time); - } - } - d3.svg.axis = function() { - var scale = d3.scale.linear(), orient = d3_svg_axisDefaultOrient, innerTickSize = 6, outerTickSize = 6, tickPadding = 3, tickArguments_ = [ 10 ], tickValues = null, tickFormat_; - function axis(g) { - g.each(function() { - var g = d3.select(this); - var scale0 = this.__chart__ || scale, scale1 = this.__chart__ = scale.copy(); - var ticks = tickValues == null ? scale1.ticks ? scale1.ticks.apply(scale1, tickArguments_) : scale1.domain() : tickValues, tickFormat = tickFormat_ == null ? scale1.tickFormat ? scale1.tickFormat.apply(scale1, tickArguments_) : d3_identity : tickFormat_, tick = g.selectAll(".tick").data(ticks, scale1), tickEnter = tick.enter().insert("g", ".domain").attr("class", "tick").style("opacity", ε), tickExit = d3.transition(tick.exit()).style("opacity", ε).remove(), tickUpdate = d3.transition(tick.order()).style("opacity", 1), tickSpacing = Math.max(innerTickSize, 0) + tickPadding, tickTransform; - var range = d3_scaleRange(scale1), path = g.selectAll(".domain").data([ 0 ]), pathUpdate = (path.enter().append("path").attr("class", "domain"), - d3.transition(path)); - tickEnter.append("line"); - tickEnter.append("text"); - var lineEnter = tickEnter.select("line"), lineUpdate = tickUpdate.select("line"), text = tick.select("text").text(tickFormat), textEnter = tickEnter.select("text"), textUpdate = tickUpdate.select("text"), sign = orient === "top" || orient === "left" ? -1 : 1, x1, x2, y1, y2; - if (orient === "bottom" || orient === "top") { - tickTransform = d3_svg_axisX, x1 = "x", y1 = "y", x2 = "x2", y2 = "y2"; - text.attr("dy", sign < 0 ? "0em" : ".71em").style("text-anchor", "middle"); - pathUpdate.attr("d", "M" + range[0] + "," + sign * outerTickSize + "V0H" + range[1] + "V" + sign * outerTickSize); - } else { - tickTransform = d3_svg_axisY, x1 = "y", y1 = "x", x2 = "y2", y2 = "x2"; - text.attr("dy", ".32em").style("text-anchor", sign < 0 ? "end" : "start"); - pathUpdate.attr("d", "M" + sign * outerTickSize + "," + range[0] + "H0V" + range[1] + "H" + sign * outerTickSize); - } - lineEnter.attr(y2, sign * innerTickSize); - textEnter.attr(y1, sign * tickSpacing); - lineUpdate.attr(x2, 0).attr(y2, sign * innerTickSize); - textUpdate.attr(x1, 0).attr(y1, sign * tickSpacing); - if (scale1.rangeBand) { - var x = scale1, dx = x.rangeBand() / 2; - scale0 = scale1 = function(d) { - return x(d) + dx; - }; - } else if (scale0.rangeBand) { - scale0 = scale1; - } else { - tickExit.call(tickTransform, scale1, scale0); - } - tickEnter.call(tickTransform, scale0, scale1); - tickUpdate.call(tickTransform, scale1, scale1); - }); - } - axis.scale = function(x) { - if (!arguments.length) return scale; - scale = x; - return axis; - }; - axis.orient = function(x) { - if (!arguments.length) return orient; - orient = x in d3_svg_axisOrients ? x + "" : d3_svg_axisDefaultOrient; - return axis; - }; - axis.ticks = function() { - if (!arguments.length) return tickArguments_; - tickArguments_ = arguments; - return axis; - }; - axis.tickValues = function(x) { - if (!arguments.length) return tickValues; - tickValues = x; - return axis; - }; - axis.tickFormat = function(x) { - if (!arguments.length) return tickFormat_; - tickFormat_ = x; - return axis; - }; - axis.tickSize = function(x) { - var n = arguments.length; - if (!n) return innerTickSize; - innerTickSize = +x; - outerTickSize = +arguments[n - 1]; - return axis; - }; - axis.innerTickSize = function(x) { - if (!arguments.length) return innerTickSize; - innerTickSize = +x; - return axis; - }; - axis.outerTickSize = function(x) { - if (!arguments.length) return outerTickSize; - outerTickSize = +x; - return axis; - }; - axis.tickPadding = function(x) { - if (!arguments.length) return tickPadding; - tickPadding = +x; - return axis; - }; - axis.tickSubdivide = function() { - return arguments.length && axis; - }; - return axis; - }; - var d3_svg_axisDefaultOrient = "bottom", d3_svg_axisOrients = { - top: 1, - right: 1, - bottom: 1, - left: 1 - }; - function d3_svg_axisX(selection, x0, x1) { - selection.attr("transform", function(d) { - var v0 = x0(d); - return "translate(" + (isFinite(v0) ? v0 : x1(d)) + ",0)"; - }); - } - function d3_svg_axisY(selection, y0, y1) { - selection.attr("transform", function(d) { - var v0 = y0(d); - return "translate(0," + (isFinite(v0) ? v0 : y1(d)) + ")"; - }); - } - d3.svg.brush = function() { - var event = d3_eventDispatch(brush, "brushstart", "brush", "brushend"), x = null, y = null, xExtent = [ 0, 0 ], yExtent = [ 0, 0 ], xExtentDomain, yExtentDomain, xClamp = true, yClamp = true, resizes = d3_svg_brushResizes[0]; - function brush(g) { - g.each(function() { - var g = d3.select(this).style("pointer-events", "all").style("-webkit-tap-highlight-color", "rgba(0,0,0,0)").on("mousedown.brush", brushstart).on("touchstart.brush", brushstart); - var background = g.selectAll(".background").data([ 0 ]); - background.enter().append("rect").attr("class", "background").style("visibility", "hidden").style("cursor", "crosshair"); - g.selectAll(".extent").data([ 0 ]).enter().append("rect").attr("class", "extent").style("cursor", "move"); - var resize = g.selectAll(".resize").data(resizes, d3_identity); - resize.exit().remove(); - resize.enter().append("g").attr("class", function(d) { - return "resize " + d; - }).style("cursor", function(d) { - return d3_svg_brushCursor[d]; - }).append("rect").attr("x", function(d) { - return /[ew]$/.test(d) ? -3 : null; - }).attr("y", function(d) { - return /^[ns]/.test(d) ? -3 : null; - }).attr("width", 6).attr("height", 6).style("visibility", "hidden"); - resize.style("display", brush.empty() ? "none" : null); - var gUpdate = d3.transition(g), backgroundUpdate = d3.transition(background), range; - if (x) { - range = d3_scaleRange(x); - backgroundUpdate.attr("x", range[0]).attr("width", range[1] - range[0]); - redrawX(gUpdate); - } - if (y) { - range = d3_scaleRange(y); - backgroundUpdate.attr("y", range[0]).attr("height", range[1] - range[0]); - redrawY(gUpdate); - } - redraw(gUpdate); - }); - } - brush.event = function(g) { - g.each(function() { - var event_ = event.of(this, arguments), extent1 = { - x: xExtent, - y: yExtent, - i: xExtentDomain, - j: yExtentDomain - }, extent0 = this.__chart__ || extent1; - this.__chart__ = extent1; - if (d3_transitionInheritId) { - d3.select(this).transition().each("start.brush", function() { - xExtentDomain = extent0.i; - yExtentDomain = extent0.j; - xExtent = extent0.x; - yExtent = extent0.y; - event_({ - type: "brushstart" - }); - }).tween("brush:brush", function() { - var xi = d3_interpolateArray(xExtent, extent1.x), yi = d3_interpolateArray(yExtent, extent1.y); - xExtentDomain = yExtentDomain = null; - return function(t) { - xExtent = extent1.x = xi(t); - yExtent = extent1.y = yi(t); - event_({ - type: "brush", - mode: "resize" - }); - }; - }).each("end.brush", function() { - xExtentDomain = extent1.i; - yExtentDomain = extent1.j; - event_({ - type: "brush", - mode: "resize" - }); - event_({ - type: "brushend" - }); - }); - } else { - event_({ - type: "brushstart" - }); - event_({ - type: "brush", - mode: "resize" - }); - event_({ - type: "brushend" - }); - } - }); - }; - function redraw(g) { - g.selectAll(".resize").attr("transform", function(d) { - return "translate(" + xExtent[+/e$/.test(d)] + "," + yExtent[+/^s/.test(d)] + ")"; - }); - } - function redrawX(g) { - g.select(".extent").attr("x", xExtent[0]); - g.selectAll(".extent,.n>rect,.s>rect").attr("width", xExtent[1] - xExtent[0]); - } - function redrawY(g) { - g.select(".extent").attr("y", yExtent[0]); - g.selectAll(".extent,.e>rect,.w>rect").attr("height", yExtent[1] - yExtent[0]); - } - function brushstart() { - var target = this, eventTarget = d3.select(d3.event.target), event_ = event.of(target, arguments), g = d3.select(target), resizing = eventTarget.datum(), resizingX = !/^(n|s)$/.test(resizing) && x, resizingY = !/^(e|w)$/.test(resizing) && y, dragging = eventTarget.classed("extent"), dragRestore = d3_event_dragSuppress(), center, origin = d3.mouse(target), offset; - var w = d3.select(d3_window).on("keydown.brush", keydown).on("keyup.brush", keyup); - if (d3.event.changedTouches) { - w.on("touchmove.brush", brushmove).on("touchend.brush", brushend); - } else { - w.on("mousemove.brush", brushmove).on("mouseup.brush", brushend); - } - g.interrupt().selectAll("*").interrupt(); - if (dragging) { - origin[0] = xExtent[0] - origin[0]; - origin[1] = yExtent[0] - origin[1]; - } else if (resizing) { - var ex = +/w$/.test(resizing), ey = +/^n/.test(resizing); - offset = [ xExtent[1 - ex] - origin[0], yExtent[1 - ey] - origin[1] ]; - origin[0] = xExtent[ex]; - origin[1] = yExtent[ey]; - } else if (d3.event.altKey) center = origin.slice(); - g.style("pointer-events", "none").selectAll(".resize").style("display", null); - d3.select("body").style("cursor", eventTarget.style("cursor")); - event_({ - type: "brushstart" - }); - brushmove(); - function keydown() { - if (d3.event.keyCode == 32) { - if (!dragging) { - center = null; - origin[0] -= xExtent[1]; - origin[1] -= yExtent[1]; - dragging = 2; - } - d3_eventPreventDefault(); - } - } - function keyup() { - if (d3.event.keyCode == 32 && dragging == 2) { - origin[0] += xExtent[1]; - origin[1] += yExtent[1]; - dragging = 0; - d3_eventPreventDefault(); - } - } - function brushmove() { - var point = d3.mouse(target), moved = false; - if (offset) { - point[0] += offset[0]; - point[1] += offset[1]; - } - if (!dragging) { - if (d3.event.altKey) { - if (!center) center = [ (xExtent[0] + xExtent[1]) / 2, (yExtent[0] + yExtent[1]) / 2 ]; - origin[0] = xExtent[+(point[0] < center[0])]; - origin[1] = yExtent[+(point[1] < center[1])]; - } else center = null; - } - if (resizingX && move1(point, x, 0)) { - redrawX(g); - moved = true; - } - if (resizingY && move1(point, y, 1)) { - redrawY(g); - moved = true; - } - if (moved) { - redraw(g); - event_({ - type: "brush", - mode: dragging ? "move" : "resize" - }); - } - } - function move1(point, scale, i) { - var range = d3_scaleRange(scale), r0 = range[0], r1 = range[1], position = origin[i], extent = i ? yExtent : xExtent, size = extent[1] - extent[0], min, max; - if (dragging) { - r0 -= position; - r1 -= size + position; - } - min = (i ? yClamp : xClamp) ? Math.max(r0, Math.min(r1, point[i])) : point[i]; - if (dragging) { - max = (min += position) + size; - } else { - if (center) position = Math.max(r0, Math.min(r1, 2 * center[i] - min)); - if (position < min) { - max = min; - min = position; - } else { - max = position; - } - } - if (extent[0] != min || extent[1] != max) { - if (i) yExtentDomain = null; else xExtentDomain = null; - extent[0] = min; - extent[1] = max; - return true; - } - } - function brushend() { - brushmove(); - g.style("pointer-events", "all").selectAll(".resize").style("display", brush.empty() ? "none" : null); - d3.select("body").style("cursor", null); - w.on("mousemove.brush", null).on("mouseup.brush", null).on("touchmove.brush", null).on("touchend.brush", null).on("keydown.brush", null).on("keyup.brush", null); - dragRestore(); - event_({ - type: "brushend" - }); - } - } - brush.x = function(z) { - if (!arguments.length) return x; - x = z; - resizes = d3_svg_brushResizes[!x << 1 | !y]; - return brush; - }; - brush.y = function(z) { - if (!arguments.length) return y; - y = z; - resizes = d3_svg_brushResizes[!x << 1 | !y]; - return brush; - }; - brush.clamp = function(z) { - if (!arguments.length) return x && y ? [ xClamp, yClamp ] : x ? xClamp : y ? yClamp : null; - if (x && y) xClamp = !!z[0], yClamp = !!z[1]; else if (x) xClamp = !!z; else if (y) yClamp = !!z; - return brush; - }; - brush.extent = function(z) { - var x0, x1, y0, y1, t; - if (!arguments.length) { - if (x) { - if (xExtentDomain) { - x0 = xExtentDomain[0], x1 = xExtentDomain[1]; - } else { - x0 = xExtent[0], x1 = xExtent[1]; - if (x.invert) x0 = x.invert(x0), x1 = x.invert(x1); - if (x1 < x0) t = x0, x0 = x1, x1 = t; - } - } - if (y) { - if (yExtentDomain) { - y0 = yExtentDomain[0], y1 = yExtentDomain[1]; - } else { - y0 = yExtent[0], y1 = yExtent[1]; - if (y.invert) y0 = y.invert(y0), y1 = y.invert(y1); - if (y1 < y0) t = y0, y0 = y1, y1 = t; - } - } - return x && y ? [ [ x0, y0 ], [ x1, y1 ] ] : x ? [ x0, x1 ] : y && [ y0, y1 ]; - } - if (x) { - x0 = z[0], x1 = z[1]; - if (y) x0 = x0[0], x1 = x1[0]; - xExtentDomain = [ x0, x1 ]; - if (x.invert) x0 = x(x0), x1 = x(x1); - if (x1 < x0) t = x0, x0 = x1, x1 = t; - if (x0 != xExtent[0] || x1 != xExtent[1]) xExtent = [ x0, x1 ]; - } - if (y) { - y0 = z[0], y1 = z[1]; - if (x) y0 = y0[1], y1 = y1[1]; - yExtentDomain = [ y0, y1 ]; - if (y.invert) y0 = y(y0), y1 = y(y1); - if (y1 < y0) t = y0, y0 = y1, y1 = t; - if (y0 != yExtent[0] || y1 != yExtent[1]) yExtent = [ y0, y1 ]; - } - return brush; - }; - brush.clear = function() { - if (!brush.empty()) { - xExtent = [ 0, 0 ], yExtent = [ 0, 0 ]; - xExtentDomain = yExtentDomain = null; - } - return brush; - }; - brush.empty = function() { - return !!x && xExtent[0] == xExtent[1] || !!y && yExtent[0] == yExtent[1]; - }; - return d3.rebind(brush, event, "on"); - }; - var d3_svg_brushCursor = { - n: "ns-resize", - e: "ew-resize", - s: "ns-resize", - w: "ew-resize", - nw: "nwse-resize", - ne: "nesw-resize", - se: "nwse-resize", - sw: "nesw-resize" - }; - var d3_svg_brushResizes = [ [ "n", "e", "s", "w", "nw", "ne", "se", "sw" ], [ "e", "w" ], [ "n", "s" ], [] ]; - var d3_time_format = d3_time.format = d3_locale_enUS.timeFormat; - var d3_time_formatUtc = d3_time_format.utc; - var d3_time_formatIso = d3_time_formatUtc("%Y-%m-%dT%H:%M:%S.%LZ"); - d3_time_format.iso = Date.prototype.toISOString && +new Date("2000-01-01T00:00:00.000Z") ? d3_time_formatIsoNative : d3_time_formatIso; - function d3_time_formatIsoNative(date) { - return date.toISOString(); - } - d3_time_formatIsoNative.parse = function(string) { - var date = new Date(string); - return isNaN(date) ? null : date; - }; - d3_time_formatIsoNative.toString = d3_time_formatIso.toString; - d3_time.second = d3_time_interval(function(date) { - return new d3_date(Math.floor(date / 1e3) * 1e3); - }, function(date, offset) { - date.setTime(date.getTime() + Math.floor(offset) * 1e3); - }, function(date) { - return date.getSeconds(); - }); - d3_time.seconds = d3_time.second.range; - d3_time.seconds.utc = d3_time.second.utc.range; - d3_time.minute = d3_time_interval(function(date) { - return new d3_date(Math.floor(date / 6e4) * 6e4); - }, function(date, offset) { - date.setTime(date.getTime() + Math.floor(offset) * 6e4); - }, function(date) { - return date.getMinutes(); - }); - d3_time.minutes = d3_time.minute.range; - d3_time.minutes.utc = d3_time.minute.utc.range; - d3_time.hour = d3_time_interval(function(date) { - var timezone = date.getTimezoneOffset() / 60; - return new d3_date((Math.floor(date / 36e5 - timezone) + timezone) * 36e5); - }, function(date, offset) { - date.setTime(date.getTime() + Math.floor(offset) * 36e5); - }, function(date) { - return date.getHours(); - }); - d3_time.hours = d3_time.hour.range; - d3_time.hours.utc = d3_time.hour.utc.range; - d3_time.month = d3_time_interval(function(date) { - date = d3_time.day(date); - date.setDate(1); - return date; - }, function(date, offset) { - date.setMonth(date.getMonth() + offset); - }, function(date) { - return date.getMonth(); - }); - d3_time.months = d3_time.month.range; - d3_time.months.utc = d3_time.month.utc.range; - function d3_time_scale(linear, methods, format) { - function scale(x) { - return linear(x); - } - scale.invert = function(x) { - return d3_time_scaleDate(linear.invert(x)); - }; - scale.domain = function(x) { - if (!arguments.length) return linear.domain().map(d3_time_scaleDate); - linear.domain(x); - return scale; - }; - function tickMethod(extent, count) { - var span = extent[1] - extent[0], target = span / count, i = d3.bisect(d3_time_scaleSteps, target); - return i == d3_time_scaleSteps.length ? [ methods.year, d3_scale_linearTickRange(extent.map(function(d) { - return d / 31536e6; - }), count)[2] ] : !i ? [ d3_time_scaleMilliseconds, d3_scale_linearTickRange(extent, count)[2] ] : methods[target / d3_time_scaleSteps[i - 1] < d3_time_scaleSteps[i] / target ? i - 1 : i]; - } - scale.nice = function(interval, skip) { - var domain = scale.domain(), extent = d3_scaleExtent(domain), method = interval == null ? tickMethod(extent, 10) : typeof interval === "number" && tickMethod(extent, interval); - if (method) interval = method[0], skip = method[1]; - function skipped(date) { - return !isNaN(date) && !interval.range(date, d3_time_scaleDate(+date + 1), skip).length; - } - return scale.domain(d3_scale_nice(domain, skip > 1 ? { - floor: function(date) { - while (skipped(date = interval.floor(date))) date = d3_time_scaleDate(date - 1); - return date; - }, - ceil: function(date) { - while (skipped(date = interval.ceil(date))) date = d3_time_scaleDate(+date + 1); - return date; - } - } : interval)); - }; - scale.ticks = function(interval, skip) { - var extent = d3_scaleExtent(scale.domain()), method = interval == null ? tickMethod(extent, 10) : typeof interval === "number" ? tickMethod(extent, interval) : !interval.range && [ { - range: interval - }, skip ]; - if (method) interval = method[0], skip = method[1]; - return interval.range(extent[0], d3_time_scaleDate(+extent[1] + 1), skip < 1 ? 1 : skip); - }; - scale.tickFormat = function() { - return format; - }; - scale.copy = function() { - return d3_time_scale(linear.copy(), methods, format); - }; - return d3_scale_linearRebind(scale, linear); - } - function d3_time_scaleDate(t) { - return new Date(t); - } - var d3_time_scaleSteps = [ 1e3, 5e3, 15e3, 3e4, 6e4, 3e5, 9e5, 18e5, 36e5, 108e5, 216e5, 432e5, 864e5, 1728e5, 6048e5, 2592e6, 7776e6, 31536e6 ]; - var d3_time_scaleLocalMethods = [ [ d3_time.second, 1 ], [ d3_time.second, 5 ], [ d3_time.second, 15 ], [ d3_time.second, 30 ], [ d3_time.minute, 1 ], [ d3_time.minute, 5 ], [ d3_time.minute, 15 ], [ d3_time.minute, 30 ], [ d3_time.hour, 1 ], [ d3_time.hour, 3 ], [ d3_time.hour, 6 ], [ d3_time.hour, 12 ], [ d3_time.day, 1 ], [ d3_time.day, 2 ], [ d3_time.week, 1 ], [ d3_time.month, 1 ], [ d3_time.month, 3 ], [ d3_time.year, 1 ] ]; - var d3_time_scaleLocalFormat = d3_time_format.multi([ [ ".%L", function(d) { - return d.getMilliseconds(); - } ], [ ":%S", function(d) { - return d.getSeconds(); - } ], [ "%I:%M", function(d) { - return d.getMinutes(); - } ], [ "%I %p", function(d) { - return d.getHours(); - } ], [ "%a %d", function(d) { - return d.getDay() && d.getDate() != 1; - } ], [ "%b %d", function(d) { - return d.getDate() != 1; - } ], [ "%B", function(d) { - return d.getMonth(); - } ], [ "%Y", d3_true ] ]); - var d3_time_scaleMilliseconds = { - range: function(start, stop, step) { - return d3.range(Math.ceil(start / step) * step, +stop, step).map(d3_time_scaleDate); - }, - floor: d3_identity, - ceil: d3_identity - }; - d3_time_scaleLocalMethods.year = d3_time.year; - d3_time.scale = function() { - return d3_time_scale(d3.scale.linear(), d3_time_scaleLocalMethods, d3_time_scaleLocalFormat); - }; - var d3_time_scaleUtcMethods = d3_time_scaleLocalMethods.map(function(m) { - return [ m[0].utc, m[1] ]; - }); - var d3_time_scaleUtcFormat = d3_time_formatUtc.multi([ [ ".%L", function(d) { - return d.getUTCMilliseconds(); - } ], [ ":%S", function(d) { - return d.getUTCSeconds(); - } ], [ "%I:%M", function(d) { - return d.getUTCMinutes(); - } ], [ "%I %p", function(d) { - return d.getUTCHours(); - } ], [ "%a %d", function(d) { - return d.getUTCDay() && d.getUTCDate() != 1; - } ], [ "%b %d", function(d) { - return d.getUTCDate() != 1; - } ], [ "%B", function(d) { - return d.getUTCMonth(); - } ], [ "%Y", d3_true ] ]); - d3_time_scaleUtcMethods.year = d3_time.year.utc; - d3_time.scale.utc = function() { - return d3_time_scale(d3.scale.linear(), d3_time_scaleUtcMethods, d3_time_scaleUtcFormat); - }; - d3.text = d3_xhrType(function(request) { - return request.responseText; - }); - d3.json = function(url, callback) { - return d3_xhr(url, "application/json", d3_json, callback); - }; - function d3_json(request) { - return JSON.parse(request.responseText); - } - d3.html = function(url, callback) { - return d3_xhr(url, "text/html", d3_html, callback); - }; - function d3_html(request) { - var range = d3_document.createRange(); - range.selectNode(d3_document.body); - return range.createContextualFragment(request.responseText); - } - d3.xml = d3_xhrType(function(request) { - return request.responseXML; - }); - if (typeof define === "function" && define.amd) define(d3); else if (typeof module === "object" && module.exports) module.exports = d3; - this.d3 = d3; -}(); \ No newline at end of file diff --git a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.realtime.analytics-view/public/js/rickshaw.min.js b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.realtime.analytics-view/public/js/rickshaw.min.js deleted file mode 100644 index be060e0b87..0000000000 --- a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.realtime.analytics-view/public/js/rickshaw.min.js +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. 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(root,factory){if(typeof define==="function"&&define.amd){define(["d3.min"],function(d3){return root.Rickshaw=factory(d3)})}else if(typeof exports==="object"){module.exports=factory(require("d3"))}else{root.Rickshaw=factory(d3)}})(this,function(d3){var Rickshaw={namespace:function(namespace,obj){var parts=namespace.split(".");var parent=Rickshaw;for(var i=1,length=parts.length;i0){var x=s.data[0].x;var y=s.data[0].y;if(typeof x!="number"||typeof y!="number"&&y!==null){throw"x and y properties of points should be numbers instead of "+typeof x+" and "+typeof y}}if(s.data.length>=3){if(s.data[2].xthis.window.xMax)isInRange=false;return isInRange}return true};this.onUpdate=function(callback){this.updateCallbacks.push(callback)};this.onConfigure=function(callback){this.configureCallbacks.push(callback)};this.registerRenderer=function(renderer){this._renderers=this._renderers||{};this._renderers[renderer.name]=renderer};this.configure=function(args){this.config=this.config||{};if(args.width||args.height){this.setSize(args)}Rickshaw.keys(this.defaults).forEach(function(k){this.config[k]=k in args?args[k]:k in this?this[k]:this.defaults[k]},this);Rickshaw.keys(this.config).forEach(function(k){this[k]=this.config[k]},this);if("stack"in args)args.unstack=!args.stack;var renderer=args.renderer||this.renderer&&this.renderer.name||"stack";this.setRenderer(renderer,args);this.configureCallbacks.forEach(function(callback){callback(args)})};this.setRenderer=function(r,args){if(typeof r=="function"){this.renderer=new r({graph:self});this.registerRenderer(this.renderer)}else{if(!this._renderers[r]){throw"couldn't find renderer "+r}this.renderer=this._renderers[r]}if(typeof args=="object"){this.renderer.configure(args)}};this.setSize=function(args){args=args||{};if(typeof window!==undefined){var style=window.getComputedStyle(this.element,null);var elementWidth=parseInt(style.getPropertyValue("width"),10);var elementHeight=parseInt(style.getPropertyValue("height"),10)}this.width=args.width||elementWidth||400;this.height=args.height||elementHeight||250;this.vis&&this.vis.attr("width",this.width).attr("height",this.height)};this.initialize(args)};Rickshaw.namespace("Rickshaw.Fixtures.Color");Rickshaw.Fixtures.Color=function(){this.schemes={};this.schemes.spectrum14=["#ecb796","#dc8f70","#b2a470","#92875a","#716c49","#d2ed82","#bbe468","#a1d05d","#e7cbe6","#d8aad6","#a888c2","#9dc2d3","#649eb9","#387aa3"].reverse();this.schemes.spectrum2000=["#57306f","#514c76","#646583","#738394","#6b9c7d","#84b665","#a7ca50","#bfe746","#e2f528","#fff726","#ecdd00","#d4b11d","#de8800","#de4800","#c91515","#9a0000","#7b0429","#580839","#31082b"];this.schemes.spectrum2001=["#2f243f","#3c2c55","#4a3768","#565270","#6b6b7c","#72957f","#86ad6e","#a1bc5e","#b8d954","#d3e04e","#ccad2a","#cc8412","#c1521d","#ad3821","#8a1010","#681717","#531e1e","#3d1818","#320a1b"];this.schemes.classic9=["#423d4f","#4a6860","#848f39","#a2b73c","#ddcb53","#c5a32f","#7d5836","#963b20","#7c2626","#491d37","#2f254a"].reverse();this.schemes.httpStatus={503:"#ea5029",502:"#d23f14",500:"#bf3613",410:"#efacea",409:"#e291dc",403:"#f457e8",408:"#e121d2",401:"#b92dae",405:"#f47ceb",404:"#a82a9f",400:"#b263c6",301:"#6fa024",302:"#87c32b",307:"#a0d84c",304:"#28b55c",200:"#1a4f74",206:"#27839f",201:"#52adc9",202:"#7c979f",203:"#a5b8bd",204:"#c1cdd1"};this.schemes.colorwheel=["#b5b6a9","#858772","#785f43","#96557e","#4682b4","#65b9ac","#73c03a","#cb513a"].reverse();this.schemes.cool=["#5e9d2f","#73c03a","#4682b4","#7bc3b8","#a9884e","#c1b266","#a47493","#c09fb5"];this.schemes.munin=["#00cc00","#0066b3","#ff8000","#ffcc00","#330099","#990099","#ccff00","#ff0000","#808080","#008f00","#00487d","#b35a00","#b38f00","#6b006b","#8fb300","#b30000","#bebebe","#80ff80","#80c9ff","#ffc080","#ffe680","#aa80ff","#ee00cc","#ff8080","#666600","#ffbfff","#00ffcc","#cc6699","#999900"]};Rickshaw.namespace("Rickshaw.Fixtures.RandomData");Rickshaw.Fixtures.RandomData=function(timeInterval){var addData;timeInterval=timeInterval||1;var lastRandomValue=200;var timeBase=Math.floor((new Date).getTime()/1e3);this.addData=function(data){var randomValue=Math.random()*100+15+lastRandomValue;var index=data[0].length;var counter=1;data.forEach(function(series){var randomVariance=Math.random()*20;var v=randomValue/25+counter++ +(Math.cos(index*counter*11/960)+2)*15+(Math.cos(index/7)+2)*7+(Math.cos(index/17)+2)*1;series.push({x:index*timeInterval+timeBase,y:v+randomVariance})});lastRandomValue=randomValue*.85};this.removeData=function(data){data.forEach(function(series){series.shift()});timeBase+=timeInterval}};Rickshaw.namespace("Rickshaw.Fixtures.Time");Rickshaw.Fixtures.Time=function(){var self=this;this.months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];this.units=[{name:"decade",seconds:86400*365.25*10,formatter:function(d){return parseInt(d.getUTCFullYear()/10,10)*10}},{name:"year",seconds:86400*365.25,formatter:function(d){return d.getUTCFullYear()}},{name:"month",seconds:86400*30.5,formatter:function(d){return self.months[d.getUTCMonth()]}},{name:"week",seconds:86400*7,formatter:function(d){return self.formatDate(d)}},{name:"day",seconds:86400,formatter:function(d){return d.getUTCDate()}},{name:"6 hour",seconds:3600*6,formatter:function(d){return self.formatTime(d)}},{name:"hour",seconds:3600,formatter:function(d){return self.formatTime(d)}},{name:"15 minute",seconds:60*15,formatter:function(d){return self.formatTime(d)}},{name:"minute",seconds:60,formatter:function(d){return d.getUTCMinutes()}},{name:"15 second",seconds:15,formatter:function(d){return d.getUTCSeconds()+"s"}},{name:"second",seconds:1,formatter:function(d){return d.getUTCSeconds()+"s"}},{name:"decisecond",seconds:1/10,formatter:function(d){return d.getUTCMilliseconds()+"ms"}},{name:"centisecond",seconds:1/100,formatter:function(d){return d.getUTCMilliseconds()+"ms"}}];this.unit=function(unitName){return this.units.filter(function(unit){return unitName==unit.name}).shift()};this.formatDate=function(d){return d3.time.format("%b %e")(d)};this.formatTime=function(d){return d.toUTCString().match(/(\d+:\d+):/)[1]};this.ceil=function(time,unit){var date,floor,year;if(unit.name=="month"){date=new Date(time*1e3);floor=Date.UTC(date.getUTCFullYear(),date.getUTCMonth())/1e3;if(floor==time)return time;year=date.getUTCFullYear();var month=date.getUTCMonth();if(month==11){month=0;year=year+1}else{month+=1}return Date.UTC(year,month)/1e3}if(unit.name=="year"){date=new Date(time*1e3);floor=Date.UTC(date.getUTCFullYear(),0)/1e3;if(floor==time)return time;year=date.getUTCFullYear()+1;return Date.UTC(year,0)/1e3}return Math.ceil(time/unit.seconds)*unit.seconds}};Rickshaw.namespace("Rickshaw.Fixtures.Time.Local");Rickshaw.Fixtures.Time.Local=function(){var self=this;this.months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];this.units=[{name:"decade",seconds:86400*365.25*10,formatter:function(d){return parseInt(d.getFullYear()/10,10)*10}},{name:"year",seconds:86400*365.25,formatter:function(d){return d.getFullYear()}},{name:"month",seconds:86400*30.5,formatter:function(d){return self.months[d.getMonth()]}},{name:"week",seconds:86400*7,formatter:function(d){return self.formatDate(d)}},{name:"day",seconds:86400,formatter:function(d){return d.getDate()}},{name:"6 hour",seconds:3600*6,formatter:function(d){return self.formatTime(d)}},{name:"hour",seconds:3600,formatter:function(d){return self.formatTime(d)}},{name:"15 minute",seconds:60*15,formatter:function(d){return self.formatTime(d)}},{name:"minute",seconds:60,formatter:function(d){return d.getMinutes()}},{name:"15 second",seconds:15,formatter:function(d){return d.getSeconds()+"s"}},{name:"second",seconds:1,formatter:function(d){return d.getSeconds()+"s"}},{name:"decisecond",seconds:1/10,formatter:function(d){return d.getMilliseconds()+"ms"}},{name:"centisecond",seconds:1/100,formatter:function(d){return d.getMilliseconds()+"ms"}}];this.unit=function(unitName){return this.units.filter(function(unit){return unitName==unit.name}).shift()};this.formatDate=function(d){return d3.time.format("%b %e")(d)};this.formatTime=function(d){return d.toString().match(/(\d+:\d+):/)[1]};this.ceil=function(time,unit){var date,floor,year;if(unit.name=="day"){var nearFuture=new Date((time+unit.seconds-1)*1e3);var rounded=new Date(0);rounded.setMilliseconds(0);rounded.setSeconds(0);rounded.setMinutes(0);rounded.setHours(0);rounded.setDate(nearFuture.getDate());rounded.setMonth(nearFuture.getMonth());rounded.setFullYear(nearFuture.getFullYear());return rounded.getTime()/1e3}if(unit.name=="month"){date=new Date(time*1e3);floor=new Date(date.getFullYear(),date.getMonth()).getTime()/1e3;if(floor==time)return time;year=date.getFullYear();var month=date.getMonth();if(month==11){month=0;year=year+1}else{month+=1}return new Date(year,month).getTime()/1e3}if(unit.name=="year"){date=new Date(time*1e3);floor=new Date(date.getUTCFullYear(),0).getTime()/1e3;if(floor==time)return time;year=date.getFullYear()+1;return new Date(year,0).getTime()/1e3}return Math.ceil(time/unit.seconds)*unit.seconds}};Rickshaw.namespace("Rickshaw.Fixtures.Number");Rickshaw.Fixtures.Number.formatKMBT=function(y){var abs_y=Math.abs(y);if(abs_y>=1e12){return y/1e12+"T"}else if(abs_y>=1e9){return y/1e9+"B"}else if(abs_y>=1e6){return y/1e6+"M"}else if(abs_y>=1e3){return y/1e3+"K"}else if(abs_y<1&&y>0){return y.toFixed(2)}else if(abs_y===0){return""}else{return y}};Rickshaw.Fixtures.Number.formatBase1024KMGTP=function(y){var abs_y=Math.abs(y);if(abs_y>=0x4000000000000){return y/0x4000000000000+"P"}else if(abs_y>=1099511627776){return y/1099511627776+"T"}else if(abs_y>=1073741824){return y/1073741824+"G"}else if(abs_y>=1048576){return y/1048576+"M"}else if(abs_y>=1024){return y/1024+"K"}else if(abs_y<1&&y>0){return y.toFixed(2)}else if(abs_y===0){return""}else{return y}};Rickshaw.namespace("Rickshaw.Color.Palette");Rickshaw.Color.Palette=function(args){var color=new Rickshaw.Fixtures.Color;args=args||{};this.schemes={};this.scheme=color.schemes[args.scheme]||args.scheme||color.schemes.colorwheel;this.runningIndex=0;this.generatorIndex=0;if(args.interpolatedStopCount){var schemeCount=this.scheme.length-1;var i,j,scheme=[];for(i=0;iself.graph.x.range()[1]){if(annotation.element){annotation.line.classList.add("offscreen");annotation.element.style.display="none"}annotation.boxes.forEach(function(box){if(box.rangeElement)box.rangeElement.classList.add("offscreen")});return}if(!annotation.element){var element=annotation.element=document.createElement("div");element.classList.add("annotation");this.elements.timeline.appendChild(element);element.addEventListener("click",function(e){element.classList.toggle("active");annotation.line.classList.toggle("active");annotation.boxes.forEach(function(box){if(box.rangeElement)box.rangeElement.classList.toggle("active")})},false)}annotation.element.style.left=left+"px";annotation.element.style.display="block";annotation.boxes.forEach(function(box){var element=box.element;if(!element){element=box.element=document.createElement("div");element.classList.add("content");element.innerHTML=box.content;annotation.element.appendChild(element);annotation.line=document.createElement("div");annotation.line.classList.add("annotation_line");self.graph.element.appendChild(annotation.line);if(box.end){box.rangeElement=document.createElement("div");box.rangeElement.classList.add("annotation_range");self.graph.element.appendChild(box.rangeElement)}}if(box.end){var annotationRangeStart=left;var annotationRangeEnd=Math.min(self.graph.x(box.end),self.graph.x.range()[1]);if(annotationRangeStart>annotationRangeEnd){annotationRangeEnd=left;annotationRangeStart=Math.max(self.graph.x(box.end),self.graph.x.range()[0])}var annotationRangeWidth=annotationRangeEnd-annotationRangeStart;box.rangeElement.style.left=annotationRangeStart+"px";box.rangeElement.style.width=annotationRangeWidth+"px";box.rangeElement.classList.remove("offscreen")}annotation.line.classList.remove("offscreen");annotation.line.style.left=left+"px"})},this)};this.graph.onUpdate(function(){self.update()})};Rickshaw.namespace("Rickshaw.Graph.Axis.Time");Rickshaw.Graph.Axis.Time=function(args){var self=this;this.graph=args.graph;this.elements=[];this.ticksTreatment=args.ticksTreatment||"plain";this.fixedTimeUnit=args.timeUnit;var time=args.timeFixture||new Rickshaw.Fixtures.Time;this.appropriateTimeUnit=function(){var unit;var units=time.units;var domain=this.graph.x.domain();var rangeSeconds=domain[1]-domain[0];units.forEach(function(u){if(Math.floor(rangeSeconds/u.seconds)>=2){unit=unit||u}});return unit||time.units[time.units.length-1]};this.tickOffsets=function(){var domain=this.graph.x.domain();var unit=this.fixedTimeUnit||this.appropriateTimeUnit();var count=Math.ceil((domain[1]-domain[0])/unit.seconds);var runningTick=domain[0];var offsets=[];for(var i=0;iself.graph.x.range()[1])return;var element=document.createElement("div");element.style.left=self.graph.x(o.value)+"px";element.classList.add("x_tick");element.classList.add(self.ticksTreatment);var title=document.createElement("div");title.classList.add("title");title.innerHTML=o.unit.formatter(new Date(o.value*1e3));element.appendChild(title);self.graph.element.appendChild(element);self.elements.push(element)})};this.graph.onUpdate(function(){self.render()})};Rickshaw.namespace("Rickshaw.Graph.Axis.X");Rickshaw.Graph.Axis.X=function(args){var self=this;var berthRate=.1;this.initialize=function(args){this.graph=args.graph;this.orientation=args.orientation||"top";this.pixelsPerTick=args.pixelsPerTick||75;if(args.ticks)this.staticTicks=args.ticks;if(args.tickValues)this.tickValues=args.tickValues;this.tickSize=args.tickSize||4;this.ticksTreatment=args.ticksTreatment||"plain";if(args.element){this.element=args.element;this._discoverSize(args.element,args);this.vis=d3.select(args.element).append("svg:svg").attr("height",this.height).attr("width",this.width).attr("class","rickshaw_graph x_axis_d3");this.element=this.vis[0][0];this.element.style.position="relative";this.setSize({width:args.width,height:args.height})}else{this.vis=this.graph.vis}this.graph.onUpdate(function(){self.render()})};this.setSize=function(args){args=args||{};if(!this.element)return;this._discoverSize(this.element.parentNode,args);this.vis.attr("height",this.height).attr("width",this.width*(1+berthRate));var berth=Math.floor(this.width*berthRate/2);this.element.style.left=-1*berth+"px"};this.render=function(){if(this._renderWidth!==undefined&&this.graph.width!==this._renderWidth)this.setSize({auto:true});var axis=d3.svg.axis().scale(this.graph.x).orient(this.orientation);axis.tickFormat(args.tickFormat||function(x){return x});if(this.tickValues)axis.tickValues(this.tickValues);this.ticks=this.staticTicks||Math.floor(this.graph.width/this.pixelsPerTick);var berth=Math.floor(this.width*berthRate/2)||0;var transform;if(this.orientation=="top"){var yOffset=this.height||this.graph.height;transform="translate("+berth+","+yOffset+")"}else{transform="translate("+berth+", 0)"}if(this.element){this.vis.selectAll("*").remove()}this.vis.append("svg:g").attr("class",["x_ticks_d3",this.ticksTreatment].join(" ")).attr("transform",transform).call(axis.ticks(this.ticks).tickSubdivide(0).tickSize(this.tickSize));var gridSize=(this.orientation=="bottom"?1:-1)*this.graph.height;this.graph.vis.append("svg:g").attr("class","x_grid_d3").call(axis.ticks(this.ticks).tickSubdivide(0).tickSize(gridSize)).selectAll("text").each(function(){this.parentNode.setAttribute("data-x-value",this.textContent)});this._renderHeight=this.graph.height};this._discoverSize=function(element,args){if(typeof window!=="undefined"){var style=window.getComputedStyle(element,null);var elementHeight=parseInt(style.getPropertyValue("height"),10);if(!args.auto){var elementWidth=parseInt(style.getPropertyValue("width"),10)}}this.width=(args.width||elementWidth||this.graph.width)*(1+berthRate);this.height=args.height||elementHeight||40};this.initialize(args)};Rickshaw.namespace("Rickshaw.Graph.Axis.Y");Rickshaw.Graph.Axis.Y=Rickshaw.Class.create({initialize:function(args){this.graph=args.graph;this.orientation=args.orientation||"right";this.pixelsPerTick=args.pixelsPerTick||75;if(args.ticks)this.staticTicks=args.ticks;if(args.tickValues)this.tickValues=args.tickValues;this.tickSize=args.tickSize||4;this.ticksTreatment=args.ticksTreatment||"plain";this.tickFormat=args.tickFormat||function(y){return y};this.berthRate=.1;if(args.element){this.element=args.element;this.vis=d3.select(args.element).append("svg:svg").attr("class","rickshaw_graph y_axis");this.element=this.vis[0][0];this.element.style.position="relative";this.setSize({width:args.width,height:args.height})}else{this.vis=this.graph.vis}var self=this;this.graph.onUpdate(function(){self.render()})},setSize:function(args){args=args||{};if(!this.element)return;if(typeof window!=="undefined"){var style=window.getComputedStyle(this.element.parentNode,null);var elementWidth=parseInt(style.getPropertyValue("width"),10);if(!args.auto){var elementHeight=parseInt(style.getPropertyValue("height"),10)}}this.width=args.width||elementWidth||this.graph.width*this.berthRate;this.height=args.height||elementHeight||this.graph.height;this.vis.attr("width",this.width).attr("height",this.height*(1+this.berthRate));var berth=this.height*this.berthRate;if(this.orientation=="left"){this.element.style.top=-1*berth+"px"}},render:function(){if(this._renderHeight!==undefined&&this.graph.height!==this._renderHeight)this.setSize({auto:true});this.ticks=this.staticTicks||Math.floor(this.graph.height/this.pixelsPerTick);var axis=this._drawAxis(this.graph.y);this._drawGrid(axis);this._renderHeight=this.graph.height},_drawAxis:function(scale){var axis=d3.svg.axis().scale(scale).orient(this.orientation);axis.tickFormat(this.tickFormat);if(this.tickValues)axis.tickValues(this.tickValues);if(this.orientation=="left"){var berth=this.height*this.berthRate;var transform="translate("+this.width+", "+berth+")"}if(this.element){this.vis.selectAll("*").remove()}this.vis.append("svg:g").attr("class",["y_ticks",this.ticksTreatment].join(" ")).attr("transform",transform).call(axis.ticks(this.ticks).tickSubdivide(0).tickSize(this.tickSize));return axis},_drawGrid:function(axis){var gridSize=(this.orientation=="right"?1:-1)*this.graph.width;this.graph.vis.append("svg:g").attr("class","y_grid").call(axis.ticks(this.ticks).tickSubdivide(0).tickSize(gridSize)).selectAll("text").each(function(){this.parentNode.setAttribute("data-y-value",this.textContent) -})}});Rickshaw.namespace("Rickshaw.Graph.Axis.Y.Scaled");Rickshaw.Graph.Axis.Y.Scaled=Rickshaw.Class.create(Rickshaw.Graph.Axis.Y,{initialize:function($super,args){if(typeof args.scale==="undefined"){throw new Error("Scaled requires scale")}this.scale=args.scale;if(typeof args.grid==="undefined"){this.grid=true}else{this.grid=args.grid}$super(args)},_drawAxis:function($super,scale){var domain=this.scale.domain();var renderDomain=this.graph.renderer.domain().y;var extents=[Math.min.apply(Math,domain),Math.max.apply(Math,domain)];var extentMap=d3.scale.linear().domain([0,1]).range(extents);var adjExtents=[extentMap(renderDomain[0]),extentMap(renderDomain[1])];var adjustment=d3.scale.linear().domain(extents).range(adjExtents);var adjustedScale=this.scale.copy().domain(domain.map(adjustment)).range(scale.range());return $super(adjustedScale)},_drawGrid:function($super,axis){if(this.grid){$super(axis)}}});Rickshaw.namespace("Rickshaw.Graph.Behavior.Series.Highlight");Rickshaw.Graph.Behavior.Series.Highlight=function(args){this.graph=args.graph;this.legend=args.legend;var self=this;var colorSafe={};var activeLine=null;var disabledColor=args.disabledColor||function(seriesColor){return d3.interpolateRgb(seriesColor,d3.rgb("#d8d8d8"))(.8).toString()};this.addHighlightEvents=function(l){l.element.addEventListener("mouseover",function(e){if(activeLine)return;else activeLine=l;self.legend.lines.forEach(function(line){if(l===line){if(self.graph.renderer.unstack&&(line.series.renderer?line.series.renderer.unstack:true)){var seriesIndex=self.graph.series.indexOf(line.series);line.originalIndex=seriesIndex;var series=self.graph.series.splice(seriesIndex,1)[0];self.graph.series.push(series)}return}colorSafe[line.series.name]=colorSafe[line.series.name]||line.series.color;line.series.color=disabledColor(line.series.color)});self.graph.update()},false);l.element.addEventListener("mouseout",function(e){if(!activeLine)return;else activeLine=null;self.legend.lines.forEach(function(line){if(l===line&&line.hasOwnProperty("originalIndex")){var series=self.graph.series.pop();self.graph.series.splice(line.originalIndex,0,series);delete line.originalIndex}if(colorSafe[line.series.name]){line.series.color=colorSafe[line.series.name]}});self.graph.update()},false)};if(this.legend){this.legend.lines.forEach(function(l){self.addHighlightEvents(l)})}};Rickshaw.namespace("Rickshaw.Graph.Behavior.Series.Order");Rickshaw.Graph.Behavior.Series.Order=function(args){this.graph=args.graph;this.legend=args.legend;var self=this;if(typeof window.jQuery=="undefined"){throw"couldn't find jQuery at window.jQuery"}if(typeof window.jQuery.ui=="undefined"){throw"couldn't find jQuery UI at window.jQuery.ui"}jQuery(function(){jQuery(self.legend.list).sortable({containment:"parent",tolerance:"pointer",update:function(event,ui){var series=[];jQuery(self.legend.list).find("li").each(function(index,item){if(!item.series)return;series.push(item.series)});for(var i=self.graph.series.length-1;i>=0;i--){self.graph.series[i]=series.shift()}self.graph.update()}});jQuery(self.legend.list).disableSelection()});this.graph.onUpdate(function(){var h=window.getComputedStyle(self.legend.element).height;self.legend.element.style.height=h})};Rickshaw.namespace("Rickshaw.Graph.Behavior.Series.Toggle");Rickshaw.Graph.Behavior.Series.Toggle=function(args){this.graph=args.graph;this.legend=args.legend;var self=this;this.addAnchor=function(line){var anchor=document.createElement("a");anchor.innerHTML="✔";anchor.classList.add("action");line.element.insertBefore(anchor,line.element.firstChild);anchor.onclick=function(e){if(line.series.disabled){line.series.enable();line.element.classList.remove("disabled")}else{if(this.graph.series.filter(function(s){return!s.disabled}).length<=1)return;line.series.disable();line.element.classList.add("disabled")}self.graph.update()}.bind(this);var label=line.element.getElementsByTagName("span")[0];label.onclick=function(e){var disableAllOtherLines=line.series.disabled;if(!disableAllOtherLines){for(var i=0;idomainX){dataIndex=Math.abs(domainX-data[i].x)0){alignables.forEach(function(el){el.classList.remove("left");el.classList.add("right")});var rightAlignError=this._calcLayoutError(alignables);if(rightAlignError>leftAlignError){alignables.forEach(function(el){el.classList.remove("right");el.classList.add("left")})}}if(typeof this.onRender=="function"){this.onRender(args)}},_calcLayoutError:function(alignables){var parentRect=this.element.parentNode.getBoundingClientRect();var error=0;var alignRight=alignables.forEach(function(el){var rect=el.getBoundingClientRect();if(!rect.width){return}if(rect.right>parentRect.right){error+=rect.right-parentRect.right}if(rect.left=self.previewWidth){frameAfterDrag[0]-=frameAfterDrag[1]-self.previewWidth;frameAfterDrag[1]=self.previewWidth}}self.graphs.forEach(function(graph){var domainScale=d3.scale.linear().interpolate(d3.interpolateNumber).domain([0,self.previewWidth]).range(graph.dataDomain());var windowAfterDrag=[domainScale(frameAfterDrag[0]),domainScale(frameAfterDrag[1])];self.slideCallbacks.forEach(function(callback){callback(graph,windowAfterDrag[0],windowAfterDrag[1])});if(frameAfterDrag[0]===0){windowAfterDrag[0]=undefined}if(frameAfterDrag[1]===self.previewWidth){windowAfterDrag[1]=undefined}graph.window.xMin=windowAfterDrag[0];graph.window.xMax=windowAfterDrag[1];graph.update()})}function onMousedown(){drag.target=d3.event.target;drag.start=self._getClientXFromEvent(d3.event,drag);self.frameBeforeDrag=self.currentFrame.slice();d3.event.preventDefault?d3.event.preventDefault():d3.event.returnValue=false;d3.select(document).on("mousemove.rickshaw_range_slider_preview",onMousemove);d3.select(document).on("mouseup.rickshaw_range_slider_preview",onMouseup);d3.select(document).on("touchmove.rickshaw_range_slider_preview",onMousemove);d3.select(document).on("touchend.rickshaw_range_slider_preview",onMouseup);d3.select(document).on("touchcancel.rickshaw_range_slider_preview",onMouseup)}function onMousedownLeftHandle(datum,index){drag.left=true;onMousedown()}function onMousedownRightHandle(datum,index){drag.right=true;onMousedown()}function onMousedownMiddleHandle(datum,index){drag.left=true;drag.right=true;drag.rigid=true;onMousedown()}function onMouseup(datum,index){d3.select(document).on("mousemove.rickshaw_range_slider_preview",null);d3.select(document).on("mouseup.rickshaw_range_slider_preview",null);d3.select(document).on("touchmove.rickshaw_range_slider_preview",null);d3.select(document).on("touchend.rickshaw_range_slider_preview",null);d3.select(document).on("touchcancel.rickshaw_range_slider_preview",null);delete self.frameBeforeDrag;drag.left=false;drag.right=false;drag.rigid=false}element.select("rect.left_handle").on("mousedown",onMousedownLeftHandle);element.select("rect.right_handle").on("mousedown",onMousedownRightHandle);element.select("rect.middle_handle").on("mousedown",onMousedownMiddleHandle);element.select("rect.left_handle").on("touchstart",onMousedownLeftHandle);element.select("rect.right_handle").on("touchstart",onMousedownRightHandle);element.select("rect.middle_handle").on("touchstart",onMousedownMiddleHandle)},_getClientXFromEvent:function(event,drag){switch(event.type){case"touchstart":case"touchmove":var touchList=event.changedTouches;var touch=null;for(var touchIndex=0;touchIndexyMax)yMax=y});if(!series.length)return;if(series[0].xxMax)xMax=series[series.length-1].x});xMin-=(xMax-xMin)*this.padding.left;xMax+=(xMax-xMin)*this.padding.right;yMin=this.graph.min==="auto"?yMin:this.graph.min||0;yMax=this.graph.max===undefined?yMax:this.graph.max;if(this.graph.min==="auto"||yMin<0){yMin-=(yMax-yMin)*this.padding.bottom}if(this.graph.max===undefined){yMax+=(yMax-yMin)*this.padding.top}return{x:[xMin,xMax],y:[yMin,yMax]}},render:function(args){args=args||{};var graph=this.graph;var series=args.series||graph.series;var vis=args.vis||graph.vis;vis.selectAll("*").remove();var data=series.filter(function(s){return!s.disabled}).map(function(s){return s.stack});var pathNodes=vis.selectAll("path.path").data(data).enter().append("svg:path").classed("path",true).attr("d",this.seriesPathFactory());if(this.stroke){var strokeNodes=vis.selectAll("path.stroke").data(data).enter().append("svg:path").classed("stroke",true).attr("d",this.seriesStrokeFactory())}var i=0;series.forEach(function(series){if(series.disabled)return;series.path=pathNodes[0][i];if(this.stroke)series.stroke=strokeNodes[0][i];this._styleSeries(series);i++},this)},_styleSeries:function(series){var fill=this.fill?series.color:"none";var stroke=this.stroke?series.color:"none";series.path.setAttribute("fill",fill);series.path.setAttribute("stroke",stroke);series.path.setAttribute("stroke-width",this.strokeWidth);if(series.className){d3.select(series.path).classed(series.className,true)}if(series.className&&this.stroke){d3.select(series.stroke).classed(series.className,true)}},configure:function(args){args=args||{};Rickshaw.keys(this.defaults()).forEach(function(key){if(!args.hasOwnProperty(key)){this[key]=this[key]||this.graph[key]||this.defaults()[key];return}if(typeof this.defaults()[key]=="object"){Rickshaw.keys(this.defaults()[key]).forEach(function(k){this[key][k]=args[key][k]!==undefined?args[key][k]:this[key][k]!==undefined?this[key][k]:this.defaults()[key][k]},this)}else{this[key]=args[key]!==undefined?args[key]:this[key]!==undefined?this[key]:this.graph[key]!==undefined?this.graph[key]:this.defaults()[key]}},this)},setStrokeWidth:function(strokeWidth){if(strokeWidth!==undefined){this.strokeWidth=strokeWidth}},setTension:function(tension){if(tension!==undefined){this.tension=tension}}});Rickshaw.namespace("Rickshaw.Graph.Renderer.Line");Rickshaw.Graph.Renderer.Line=Rickshaw.Class.create(Rickshaw.Graph.Renderer,{name:"line",defaults:function($super){return Rickshaw.extend($super(),{unstack:true,fill:false,stroke:true})},seriesPathFactory:function(){var graph=this.graph;var factory=d3.svg.line().x(function(d){return graph.x(d.x)}).y(function(d){return graph.y(d.y)}).interpolate(this.graph.interpolation).tension(this.tension);factory.defined&&factory.defined(function(d){return d.y!==null});return factory}});Rickshaw.namespace("Rickshaw.Graph.Renderer.Stack");Rickshaw.Graph.Renderer.Stack=Rickshaw.Class.create(Rickshaw.Graph.Renderer,{name:"stack",defaults:function($super){return Rickshaw.extend($super(),{fill:true,stroke:false,unstack:false})},seriesPathFactory:function(){var graph=this.graph;var factory=d3.svg.area().x(function(d){return graph.x(d.x)}).y0(function(d){return graph.y(d.y0)}).y1(function(d){return graph.y(d.y+d.y0)}).interpolate(this.graph.interpolation).tension(this.tension);factory.defined&&factory.defined(function(d){return d.y!==null});return factory}});Rickshaw.namespace("Rickshaw.Graph.Renderer.Bar");Rickshaw.Graph.Renderer.Bar=Rickshaw.Class.create(Rickshaw.Graph.Renderer,{name:"bar",defaults:function($super){var defaults=Rickshaw.extend($super(),{gapSize:.05,unstack:false});delete defaults.tension;return defaults},initialize:function($super,args){args=args||{};this.gapSize=args.gapSize||this.gapSize;$super(args)},domain:function($super){var domain=$super();var frequentInterval=this._frequentInterval(this.graph.stackedData.slice(-1).shift());domain.x[1]+=Number(frequentInterval.magnitude);return domain},barWidth:function(series){var frequentInterval=this._frequentInterval(series.stack);var barWidth=this.graph.x.magnitude(frequentInterval.magnitude)*(1-this.gapSize);return barWidth},render:function(args){args=args||{};var graph=this.graph;var series=args.series||graph.series;var vis=args.vis||graph.vis;vis.selectAll("*").remove();var barWidth=this.barWidth(series.active()[0]);var barXOffset=0;var activeSeriesCount=series.filter(function(s){return!s.disabled}).length;var seriesBarWidth=this.unstack?barWidth/activeSeriesCount:barWidth;var transform=function(d){var matrix=[1,0,0,d.y<0?-1:1,0,d.y<0?graph.y.magnitude(Math.abs(d.y))*2:0];return"matrix("+matrix.join(",")+")"};series.forEach(function(series){if(series.disabled)return;var barWidth=this.barWidth(series);var nodes=vis.selectAll("path").data(series.stack.filter(function(d){return d.y!==null})).enter().append("svg:rect").attr("x",function(d){return graph.x(d.x)+barXOffset}).attr("y",function(d){return graph.y(d.y0+Math.abs(d.y))*(d.y<0?-1:1)}).attr("width",seriesBarWidth).attr("height",function(d){return graph.y.magnitude(Math.abs(d.y))}).attr("transform",transform);Array.prototype.forEach.call(nodes[0],function(n){n.setAttribute("fill",series.color)});if(this.unstack)barXOffset+=seriesBarWidth},this)},_frequentInterval:function(data){var intervalCounts={};for(var i=0;i0){this[0].data.forEach(function(plot){item.data.push({x:plot.x,y:0})})}else if(item.data.length===0){item.data.push({x:this.timeBase-(this.timeInterval||0),y:0})}this.push(item);if(this.legend){this.legend.addLine(this.itemByName(item.name))}},addData:function(data,x){var index=this.getIndex();Rickshaw.keys(data).forEach(function(name){if(!this.itemByName(name)){this.addItem({name:name})}},this);this.forEach(function(item){item.data.push({x:x||(index*this.timeInterval||1)+this.timeBase,y:data[item.name]||0})},this)},getIndex:function(){return this[0]&&this[0].data&&this[0].data.length?this[0].data.length:0},itemByName:function(name){for(var i=0;i1;i--){this.currentSize+=1;this.currentIndex+=1;this.forEach(function(item){item.data.unshift({x:((i-1)*this.timeInterval||1)+this.timeBase,y:0,i:i})},this)}}},addData:function($super,data,x){$super(data,x);this.currentSize+=1;this.currentIndex+=1;if(this.maxDataPoints!==undefined){while(this.currentSize>this.maxDataPoints){this.dropData()}}},dropData:function(){this.forEach(function(item){item.data.splice(0,1)});this.currentSize-=1},getIndex:function(){return this.currentIndex}});return Rickshaw}); \ No newline at end of file diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.virtual_firealarm.analytics-view/analytics-view.hbs b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.virtual_firealarm.analytics-view/analytics-view.hbs old mode 100755 new mode 100644 index 627fa4cbd2..202e3ec457 --- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.virtual_firealarm.analytics-view/analytics-view.hbs +++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.virtual_firealarm.analytics-view/analytics-view.hbs @@ -1,19 +1,20 @@ - -
+

Temperature

-
+
-
-
+
+
-
-
-
+
+
+
{{#zone "bottomJs"}} - {{js "js/devicetype-graph.js"}} + {{js "js/virtual_firealarm.js"}} {{/zone}} diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.virtual_firealarm.analytics-view/analytics-view.js b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.virtual_firealarm.analytics-view/analytics-view.js old mode 100755 new mode 100644 index c4facc0623..631d6b0f79 --- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.virtual_firealarm.analytics-view/analytics-view.js +++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.virtual_firealarm.analytics-view/analytics-view.js @@ -17,6 +17,8 @@ */ function onRequest(context) { + var devicemgtProps = require('/app/conf/devicemgt-props.js').config(); + var devices = context.unit.params.devices; var deviceType = context.uriParams.deviceType; var deviceId = request.getParameter("deviceId"); diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.virtual_firealarm.analytics-view/public/js/virtual_firealarm.js b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.virtual_firealarm.analytics-view/public/js/virtual_firealarm.js new file mode 100644 index 0000000000..a1b3853948 --- /dev/null +++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.virtual_firealarm.analytics-view/public/js/virtual_firealarm.js @@ -0,0 +1,182 @@ +/* + * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * + * WSO2 Inc. 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. + */ + +var palette = new Rickshaw.Color.Palette({scheme: "classic9"}); + +function drawGraph_virtual_firealarm(from, to) { + $("#y_axis-temperature").html(""); + $("#smoother-temperature").html(""); + $("#legend-temperature").html(""); + $("#chart-temperature").html(""); + $("#x_axis-temperature").html(""); + $("#slider-temperature").html(""); + + var devices = $("#virtual_firealarm-details").data("devices"); + var tzOffset = new Date().getTimezoneOffset() * 60; + + var chartWrapperElmId = "#virtual_firealarm-div-chart"; + var graphWidth = $(chartWrapperElmId).width() - 50; + var graphConfig = { + element: document.getElementById("chart-temperature"), + width: graphWidth, + height: 400, + strokeWidth: 2, + renderer: 'line', + interpolation: "linear", + unstack: true, + stack: false, + xScale: d3.time.scale(), + padding: {top: 0.2, left: 0.02, right: 0.02, bottom: 0.2}, + series: [] + }; + + if (devices) { + for (var i = 0; i < devices.length; i++) { + graphConfig['series'].push( + { + 'color': palette.color(), + 'data': [{ + x: parseInt(new Date().getTime() / 1000), + y: 0 + }], + 'name': devices[i].name + }); + } + } else { + graphConfig['series'].push( + { + 'color': palette.color(), + 'data': [{ + x: parseInt(new Date().getTime() / 1000), + y: 0 + }], + 'name': $("#virtual_firealarm-details").data("devicename") + }); + } + + var graph = new Rickshaw.Graph(graphConfig); + + graph.render(); + + var xAxis = new Rickshaw.Graph.Axis.Time({ + graph: graph + }); + + xAxis.render(); + + var yAxis = new Rickshaw.Graph.Axis.Y({ + graph: graph, + orientation: 'left', + element: document.getElementById("y_axis-temperature"), + width: 40, + height: 410 + }); + + yAxis.render(); + + var slider = new Rickshaw.Graph.RangeSlider.Preview({ + graph: graph, + element: document.getElementById("slider-temperature") + }); + + var legend = new Rickshaw.Graph.Legend({ + graph: graph, + element: document.getElementById('legend-temperature') + }); + + var hoverDetail = new Rickshaw.Graph.HoverDetail({ + graph: graph, + formatter: function (series, x, y) { + var date = '' + + moment((x + tzOffset) * 1000).format('Do MMM YYYY h:mm:ss a') + ''; + var swatch = ''; + return swatch + series.name + ": " + parseInt(y) + '
' + date; + } + }); + + var shelving = new Rickshaw.Graph.Behavior.Series.Toggle({ + graph: graph, + legend: legend + }); + + var order = new Rickshaw.Graph.Behavior.Series.Order({ + graph: graph, + legend: legend + }); + + var highlighter = new Rickshaw.Graph.Behavior.Series.Highlight({ + graph: graph, + legend: legend + }); + + var deviceIndex = 0; + + if (devices) { + getData(); + } else { + var backendApiUrl = $("#virtual_firealarm-div-chart").data("backend-api-url") + "?from=" + from + "&to=" + to; + var successCallback = function (data) { + if (data) { + drawLineGraph(JSON.parse(data)); + } + }; + invokerUtil.get(backendApiUrl, successCallback, function (message) { + console.log(message); + }); + } + + function getData() { + if (deviceIndex >= devices.length) { + return; + } + var backendApiUrl = $("#virtual_firealarm-div-chart").data("backend-api-url") + devices[deviceIndex].deviceIdentifier + + "?from=" + from + "&to=" + to; + var successCallback = function (data) { + if (data) { + drawLineGraph(JSON.parse(data)); + } + deviceIndex++; + getData(); + }; + invokerUtil.get(backendApiUrl, successCallback, function (message) { + console.log(message); + deviceIndex++; + getData(); + }); + } + + function drawLineGraph(data) { + if (data.length === 0 || data.length === undefined) { + return; + } + + var chartData = []; + for (var i = 0; i < data.length; i++) { + chartData.push( + { + x: parseInt(data[i].values.time) - tzOffset, + y: parseInt(data[i].values.temperature) + } + ); + } + + graphConfig.series[deviceIndex].data = chartData; + graph.update(); + } +} From 6348ca31a3a3ae4a14afd9490df65100c89e3cbb Mon Sep 17 00:00:00 2001 From: Sumedha Rubasinghe Date: Sun, 15 May 2016 13:19:38 +0530 Subject: [PATCH 20/21] removed unwanted text --- .../cdmf.unit.device.type.arduino.type-view/type-view.hbs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.type-view/type-view.hbs b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.type-view/type-view.hbs index 1d34030f0d..07de4a5d04 100644 --- a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.type-view/type-view.hbs +++ b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.type-view/type-view.hbs @@ -332,5 +332,4 @@ //showPopup(); } -{{/zone}} -Status API Training Shop Blog About Pricing +{{/zone}} \ No newline at end of file From 67831883fb698817082bf73c51a6aa8aa9f4a4f3 Mon Sep 17 00:00:00 2001 From: ayyoob Date: Sun, 15 May 2016 17:45:53 +0530 Subject: [PATCH 21/21] refactored apis --- .../util/dto/AndroidSenseManagerService.java | 2 +- .../impl/AndroidSenseManagerService.java | 56 ---- .../impl/AndroidSenseManagerServiceImpl.java | 181 ----------- ...rService.java => AndroidSenseService.java} | 15 +- ...Impl.java => AndroidSenseServiceImpl.java} | 60 +++- .../src/main/webapp/META-INF/permissions.xml | 23 +- .../src/main/webapp/WEB-INF/cxf-servlet.xml | 6 +- .../public/asset/androidsense.apk | Bin 2067842 -> 2067874 bytes .../impl/ArduinoControllerServiceImpl.java | 150 --------- .../service/impl/ArduinoManagerService.java | 63 ---- ...rollerService.java => ArduinoService.java} | 15 +- ...rviceImpl.java => ArduinoServiceImpl.java} | 169 +++++----- .../src/main/webapp/META-INF/permissions.xml | 23 +- .../src/main/webapp/WEB-INF/cxf-servlet.xml | 7 +- .../private/config.json | 2 +- .../RaspberryPiControllerServiceImpl.java | 109 ------- .../impl/RaspberryPiManagerService.java | 66 ---- ...erService.java => RaspberryPiService.java} | 16 +- ...eImpl.java => RaspberryPiServiceImpl.java} | 146 ++++----- .../src/main/webapp/META-INF/permissions.xml | 23 +- .../src/main/webapp/WEB-INF/cxf-servlet.xml | 7 +- .../private/config.json | 2 +- .../impl/VirtualFireAlarmManagerService.java | 65 ---- .../VirtualFireAlarmManagerServiceImpl.java | 294 ------------------ ...vice.java => VirtualFireAlarmService.java} | 12 +- ....java => VirtualFireAlarmServiceImpl.java} | 144 ++++++++- .../src/main/webapp/META-INF/permissions.xml | 46 +-- .../src/main/webapp/WEB-INF/cxf-servlet.xml | 7 +- .../private/config.json | 2 +- 29 files changed, 424 insertions(+), 1287 deletions(-) delete mode 100644 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/AndroidSenseManagerService.java delete mode 100644 components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/AndroidSenseManagerServiceImpl.java rename components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/{AndroidSenseControllerService.java => AndroidSenseService.java} (77%) rename components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/{AndroidSenseControllerServiceImpl.java => AndroidSenseServiceImpl.java} (73%) delete mode 100644 components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/ArduinoControllerServiceImpl.java delete mode 100644 components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/ArduinoManagerService.java rename components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/{ArduinoControllerService.java => ArduinoService.java} (73%) rename components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/{ArduinoManagerServiceImpl.java => ArduinoServiceImpl.java} (57%) delete mode 100644 components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/RaspberryPiControllerServiceImpl.java delete mode 100644 components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/RaspberryPiManagerService.java rename components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/{RaspberryPiControllerService.java => RaspberryPiService.java} (73%) rename components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/{RaspberryPiManagerServiceImpl.java => RaspberryPiServiceImpl.java} (65%) delete mode 100644 components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/VirtualFireAlarmManagerService.java delete mode 100644 components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/VirtualFireAlarmManagerServiceImpl.java rename components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/{VirtualFireAlarmControllerService.java => VirtualFireAlarmService.java} (88%) rename components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/{VirtualFireAlarmControllerServiceImpl.java => VirtualFireAlarmServiceImpl.java} (58%) diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/dto/AndroidSenseManagerService.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/dto/AndroidSenseManagerService.java index 86f58a142c..6bdd63c135 100755 --- a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/dto/AndroidSenseManagerService.java +++ b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.agent/app/src/main/java/org/wso2/carbon/iot/android/sense/util/dto/AndroidSenseManagerService.java @@ -24,7 +24,7 @@ import javax.ws.rs.QueryParam; */ public interface AndroidSenseManagerService { - @Path("/enrollment/devices/{device_id}") + @Path("/device/{device_id}/register") @POST AndroidConfiguration register(@PathParam("device_id") String deviceId, @QueryParam("deviceName") String deviceName); } diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/AndroidSenseManagerService.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/AndroidSenseManagerService.java deleted file mode 100644 index 68e48074ac..0000000000 --- a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/AndroidSenseManagerService.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. 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. - */ - -package org.wso2.carbon.device.mgt.iot.androidsense.service.impl; - -import org.wso2.carbon.apimgt.annotations.api.API; -import org.wso2.carbon.device.mgt.extensions.feature.mgt.annotations.DeviceType; -import javax.ws.rs.Consumes; -import javax.ws.rs.DELETE; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.Response; -@Path("enrollment") -@API(name = "android_sense_mgt", version = "1.0.0", context = "/android_sense_mgt", tags = {"android_sense"}) -public interface AndroidSenseManagerService { - - @Path("/devices/{device_id}") - @POST - Response register(@PathParam("device_id") String deviceId, @QueryParam("deviceName") String deviceName); - - @Path("/devices/{device_id}") - @DELETE - Response removeDevice(@PathParam("device_id") String deviceId); - - @Path("/devices/{device_id}") - @PUT - Response updateDevice(@PathParam("device_id") String deviceId, @QueryParam("name") String name); - - @Path("/devices/{device_id}") - @GET - @Consumes("application/json") - @Produces("application/json") - Response getDevice(@PathParam("device_id") String deviceId); - -} - diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/AndroidSenseManagerServiceImpl.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/AndroidSenseManagerServiceImpl.java deleted file mode 100644 index 5e109aaf7d..0000000000 --- a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/AndroidSenseManagerServiceImpl.java +++ /dev/null @@ -1,181 +0,0 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. 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. - */ - -package org.wso2.carbon.device.mgt.iot.androidsense.service.impl; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.wso2.carbon.device.mgt.common.Device; -import org.wso2.carbon.device.mgt.common.DeviceIdentifier; -import org.wso2.carbon.device.mgt.common.DeviceManagementException; -import org.wso2.carbon.device.mgt.common.EnrolmentInfo; -import org.wso2.carbon.device.mgt.common.authorization.DeviceAccessAuthorizationException; -import org.wso2.carbon.device.mgt.common.group.mgt.DeviceGroupConstants; -import org.wso2.carbon.device.mgt.iot.androidsense.plugin.mqtt.MqttConfig; -import org.wso2.carbon.device.mgt.iot.androidsense.service.impl.util.APIUtil; -import org.wso2.carbon.device.mgt.iot.androidsense.plugin.constants.AndroidSenseConstants; -import org.wso2.carbon.device.mgt.iot.androidsense.service.impl.util.AndroidConfiguration; -import org.wso2.carbon.device.mgt.iot.androidsense.service.impl.util.Constants; -import org.wso2.carbon.device.mgt.iot.util.Utils; - -import javax.ws.rs.Consumes; -import javax.ws.rs.DELETE; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.Response; -import java.util.Date; - -@Path("enrollment") -public class AndroidSenseManagerServiceImpl implements AndroidSenseManagerService { - - private static Log log = LogFactory.getLog(AndroidSenseManagerServiceImpl.class); - - @Path("/devices/{device_id}") - @POST - public Response register(@PathParam("device_id") String deviceId, @QueryParam("deviceName") String deviceName) { - DeviceIdentifier deviceIdentifier = new DeviceIdentifier(); - deviceIdentifier.setId(deviceId); - deviceIdentifier.setType(AndroidSenseConstants.DEVICE_TYPE); - try { - if (APIUtil.getDeviceManagementService().isEnrolled(deviceIdentifier)) { - AndroidConfiguration androidConfiguration = new AndroidConfiguration(); - androidConfiguration.setTenantDomain(APIUtil.getAuthenticatedUserTenantDomain()); - String mqttEndpoint = MqttConfig.getInstance().getBrokerEndpoint(); - if (mqttEndpoint.contains(Constants.LOCALHOST)) { - mqttEndpoint = mqttEndpoint.replace(Constants.LOCALHOST, Utils.getServerUrl()); - } - androidConfiguration.setMqttEndpoint(mqttEndpoint); - return Response.status(Response.Status.ACCEPTED.getStatusCode()).entity(androidConfiguration.toString()) - .build(); - } - Device device = new Device(); - device.setDeviceIdentifier(deviceId); - EnrolmentInfo enrolmentInfo = new EnrolmentInfo(); - enrolmentInfo.setDateOfEnrolment(new Date().getTime()); - enrolmentInfo.setDateOfLastUpdate(new Date().getTime()); - enrolmentInfo.setStatus(EnrolmentInfo.Status.ACTIVE); - device.setName(deviceName); - device.setType(AndroidSenseConstants.DEVICE_TYPE); - enrolmentInfo.setOwner(APIUtil.getAuthenticatedUser()); - enrolmentInfo.setOwnership(EnrolmentInfo.OwnerShip.BYOD); - device.setEnrolmentInfo(enrolmentInfo); - boolean added = APIUtil.getDeviceManagementService().enrollDevice(device); - if (added) { - AndroidConfiguration androidConfiguration = new AndroidConfiguration(); - androidConfiguration.setTenantDomain(APIUtil.getAuthenticatedUserTenantDomain()); - String mqttEndpoint = MqttConfig.getInstance().getBrokerEndpoint(); - if (mqttEndpoint.contains(Constants.LOCALHOST)) { - mqttEndpoint = mqttEndpoint.replace(Constants.LOCALHOST, Utils.getServerUrl()); - } - androidConfiguration.setMqttEndpoint(mqttEndpoint); - return Response.ok(androidConfiguration.toString()).build(); - } else { - return Response.status(Response.Status.NOT_ACCEPTABLE.getStatusCode()).entity(false).build(); - } - } catch (DeviceManagementException e) { - log.error(e.getErrorMessage(), e); - return Response.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()).entity(false).build(); - } - } - - @Path("/devices/{device_id}") - @DELETE - public Response removeDevice(@PathParam("device_id") String deviceId) { - DeviceIdentifier deviceIdentifier = new DeviceIdentifier(); - deviceIdentifier.setId(deviceId); - deviceIdentifier.setType(AndroidSenseConstants.DEVICE_TYPE); - try { - if (!APIUtil.getDeviceAccessAuthorizationService().isUserAuthorized(deviceIdentifier, DeviceGroupConstants. - Permissions.DEFAULT_ADMIN_PERMISSIONS)) { - return Response.status(Response.Status.UNAUTHORIZED.getStatusCode()).build(); - } - boolean removed = APIUtil.getDeviceManagementService().disenrollDevice(deviceIdentifier); - if (removed) { - return Response.ok().build(); - } else { - return Response.status(Response.Status.NOT_ACCEPTABLE.getStatusCode()).build(); - } - } catch (DeviceManagementException e) { - log.error(e.getErrorMessage(), e); - return Response.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()).build(); - } catch (DeviceAccessAuthorizationException e) { - log.error(e.getErrorMessage(), e); - return Response.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()).build(); - } - } - - @Path("/devices/{device_id}") - @PUT - public Response updateDevice(@PathParam("device_id") String deviceId, @QueryParam("name") String name) { - DeviceIdentifier deviceIdentifier = new DeviceIdentifier(); - deviceIdentifier.setId(deviceId); - deviceIdentifier.setType(AndroidSenseConstants.DEVICE_TYPE); - try { - if (!APIUtil.getDeviceAccessAuthorizationService().isUserAuthorized(deviceIdentifier, DeviceGroupConstants. - Permissions.DEFAULT_ADMIN_PERMISSIONS)) { - return Response.status(Response.Status.UNAUTHORIZED.getStatusCode()).build(); - } - Device device = APIUtil.getDeviceManagementService().getDevice(deviceIdentifier); - device.setDeviceIdentifier(deviceId); - device.getEnrolmentInfo().setDateOfLastUpdate(new Date().getTime()); - device.setName(name); - device.setType(AndroidSenseConstants.DEVICE_TYPE); - boolean updated = APIUtil.getDeviceManagementService().modifyEnrollment(device); - if (updated) { - return Response.ok().build(); - } else { - return Response.status(Response.Status.NOT_ACCEPTABLE.getStatusCode()).build(); - } - } catch (DeviceManagementException e) { - log.error(e.getErrorMessage(), e); - return Response.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()).build(); - } catch (DeviceAccessAuthorizationException e) { - log.error(e.getErrorMessage(), e); - return Response.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()).build(); - } - } - - @Path("/devices/{device_id}") - @GET - @Consumes("application/json") - @Produces("application/json") - public Response getDevice(@PathParam("device_id") String deviceId) { - DeviceIdentifier deviceIdentifier = new DeviceIdentifier(); - deviceIdentifier.setId(deviceId); - deviceIdentifier.setType(AndroidSenseConstants.DEVICE_TYPE); - try { - if (!APIUtil.getDeviceAccessAuthorizationService().isUserAuthorized(deviceIdentifier)) { - return Response.status(Response.Status.UNAUTHORIZED.getStatusCode()).build(); - } - Device device = APIUtil.getDeviceManagementService().getDevice(deviceIdentifier); - return Response.ok().entity(device).build(); - } catch (DeviceManagementException e) { - log.error(e.getErrorMessage(), e); - return Response.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()).build(); - } catch (DeviceAccessAuthorizationException e) { - log.error(e.getErrorMessage(), e); - return Response.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()).build(); - } - } - -} diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/AndroidSenseControllerService.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/AndroidSenseService.java similarity index 77% rename from components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/AndroidSenseControllerService.java rename to components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/AndroidSenseService.java index 2b11cc8631..8ba820d180 100644 --- a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/AndroidSenseControllerService.java +++ b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/AndroidSenseService.java @@ -19,6 +19,7 @@ package org.wso2.carbon.device.mgt.iot.androidsense.service.impl; import org.wso2.carbon.apimgt.annotations.api.API; +import org.wso2.carbon.apimgt.annotations.api.Permission; import org.wso2.carbon.device.mgt.extensions.feature.mgt.annotations.DeviceType; import org.wso2.carbon.device.mgt.extensions.feature.mgt.annotations.Feature; import javax.ws.rs.Consumes; @@ -33,7 +34,7 @@ import javax.ws.rs.core.Response; @DeviceType(value = "android_sense") @API(name = "android_sense", version = "1.0.0", context = "/android_sense", tags = {"android_sense"}) -public interface AndroidSenseControllerService { +public interface AndroidSenseService { /** * End point to send the key words to the device @@ -44,6 +45,7 @@ public interface AndroidSenseControllerService { @Path("device/{deviceId}/words") @POST @Feature(code = "keywords", name = "Add Keywords", description = "Send keywords to the device") + @Permission(scope = "android_sense_user", permissions = {"/permission/admin/device-mgt/user/operations"}) Response sendKeyWords(@PathParam("deviceId") String deviceId, @QueryParam("keywords") String keywords); /** @@ -55,11 +57,13 @@ public interface AndroidSenseControllerService { @Path("device/{deviceId}/words/threshold") @POST @Feature(code = "threshold", name = "Add a Threshold", description = "Set a threshold for word in the device") + @Permission(scope = "android_sense_user", permissions = {"/permission/admin/device-mgt/user/operations"}) Response sendThreshold(@PathParam("deviceId") String deviceId, @QueryParam("threshold") String threshold); @Path("device/{deviceId}/words") @DELETE @Feature(code = "remove", name = "Remove Keywords", description = "Remove the keywords") + @Permission(scope = "android_sense_user", permissions = {"/permission/admin/device-mgt/user/operations"}) Response removeKeyWords(@PathParam("deviceId") String deviceId, @QueryParam("words") String words); /** @@ -68,9 +72,18 @@ public interface AndroidSenseControllerService { @Path("stats/{deviceId}/sensors/{sensorName}") @GET @Consumes("application/json") + @Permission(scope = "android_sense_user", permissions = {"/permission/admin/device-mgt/user/stats"}) @Produces("application/json") Response getAndroidSenseDeviceStats(@PathParam("deviceId") String deviceId, @PathParam("sensorName") String sensor, @QueryParam("from") long from, @QueryParam("to") long to); + /** + * Enroll devices. + */ + @Path("device/{device_id}/register") + @POST + @Permission(scope = "android_sense_user", permissions = {"/permission/admin/device-mgt/user/devices"}) + Response register(@PathParam("device_id") String deviceId, @QueryParam("deviceName") String deviceName); + } diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/AndroidSenseControllerServiceImpl.java b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/AndroidSenseServiceImpl.java similarity index 73% rename from components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/AndroidSenseControllerServiceImpl.java rename to components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/AndroidSenseServiceImpl.java index b3e4488353..15ec090c19 100644 --- a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/AndroidSenseControllerServiceImpl.java +++ b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/java/org/wso2/carbon/device/mgt/iot/androidsense/service/impl/AndroidSenseServiceImpl.java @@ -23,12 +23,19 @@ import org.apache.commons.logging.LogFactory; import org.wso2.carbon.analytics.dataservice.commons.SORT; import org.wso2.carbon.analytics.dataservice.commons.SortByField; import org.wso2.carbon.analytics.datasource.commons.exception.AnalyticsException; +import org.wso2.carbon.device.mgt.common.Device; import org.wso2.carbon.device.mgt.common.DeviceIdentifier; +import org.wso2.carbon.device.mgt.common.DeviceManagementException; +import org.wso2.carbon.device.mgt.common.EnrolmentInfo; import org.wso2.carbon.device.mgt.common.authorization.DeviceAccessAuthorizationException; import org.wso2.carbon.device.mgt.common.group.mgt.DeviceGroupConstants; +import org.wso2.carbon.device.mgt.iot.androidsense.plugin.mqtt.MqttConfig; import org.wso2.carbon.device.mgt.iot.androidsense.service.impl.util.APIUtil; +import org.wso2.carbon.device.mgt.iot.androidsense.service.impl.util.AndroidConfiguration; +import org.wso2.carbon.device.mgt.iot.androidsense.service.impl.util.Constants; import org.wso2.carbon.device.mgt.iot.androidsense.service.impl.util.SensorRecord; import org.wso2.carbon.device.mgt.iot.androidsense.plugin.constants.AndroidSenseConstants; +import org.wso2.carbon.device.mgt.iot.util.Utils; import javax.ws.rs.Consumes; import javax.ws.rs.DELETE; @@ -40,6 +47,7 @@ import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import javax.ws.rs.core.Response; import java.util.ArrayList; +import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -47,9 +55,9 @@ import java.util.Map; /** * The api for */ -public class AndroidSenseControllerServiceImpl implements AndroidSenseControllerService { +public class AndroidSenseServiceImpl implements AndroidSenseService { - private static Log log = LogFactory.getLog(AndroidSenseControllerServiceImpl.class); + private static Log log = LogFactory.getLog(AndroidSenseServiceImpl.class); @Path("device/{deviceId}/words") @POST @@ -198,4 +206,52 @@ public class AndroidSenseControllerServiceImpl implements AndroidSenseController return sensorEventTableName; } + @Path("device/{device_id}/register") + @POST + public Response register(@PathParam("device_id") String deviceId, @QueryParam("deviceName") String deviceName) { + DeviceIdentifier deviceIdentifier = new DeviceIdentifier(); + deviceIdentifier.setId(deviceId); + deviceIdentifier.setType(AndroidSenseConstants.DEVICE_TYPE); + try { + if (APIUtil.getDeviceManagementService().isEnrolled(deviceIdentifier)) { + AndroidConfiguration androidConfiguration = new AndroidConfiguration(); + androidConfiguration.setTenantDomain(APIUtil.getAuthenticatedUserTenantDomain()); + String mqttEndpoint = MqttConfig.getInstance().getBrokerEndpoint(); + if (mqttEndpoint.contains(Constants.LOCALHOST)) { + mqttEndpoint = mqttEndpoint.replace(Constants.LOCALHOST, Utils.getServerUrl()); + } + androidConfiguration.setMqttEndpoint(mqttEndpoint); + return Response.status(Response.Status.ACCEPTED.getStatusCode()).entity(androidConfiguration.toString()) + .build(); + } + Device device = new Device(); + device.setDeviceIdentifier(deviceId); + EnrolmentInfo enrolmentInfo = new EnrolmentInfo(); + enrolmentInfo.setDateOfEnrolment(new Date().getTime()); + enrolmentInfo.setDateOfLastUpdate(new Date().getTime()); + enrolmentInfo.setStatus(EnrolmentInfo.Status.ACTIVE); + device.setName(deviceName); + device.setType(AndroidSenseConstants.DEVICE_TYPE); + enrolmentInfo.setOwner(APIUtil.getAuthenticatedUser()); + enrolmentInfo.setOwnership(EnrolmentInfo.OwnerShip.BYOD); + device.setEnrolmentInfo(enrolmentInfo); + boolean added = APIUtil.getDeviceManagementService().enrollDevice(device); + if (added) { + AndroidConfiguration androidConfiguration = new AndroidConfiguration(); + androidConfiguration.setTenantDomain(APIUtil.getAuthenticatedUserTenantDomain()); + String mqttEndpoint = MqttConfig.getInstance().getBrokerEndpoint(); + if (mqttEndpoint.contains(Constants.LOCALHOST)) { + mqttEndpoint = mqttEndpoint.replace(Constants.LOCALHOST, Utils.getServerUrl()); + } + androidConfiguration.setMqttEndpoint(mqttEndpoint); + return Response.ok(androidConfiguration.toString()).build(); + } else { + return Response.status(Response.Status.NOT_ACCEPTABLE.getStatusCode()).entity(false).build(); + } + } catch (DeviceManagementException e) { + log.error(e.getErrorMessage(), e); + return Response.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()).entity(false).build(); + } + } + } diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/webapp/META-INF/permissions.xml b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/webapp/META-INF/permissions.xml index 26e63ecaf5..d4d5b3b7e6 100644 --- a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/webapp/META-INF/permissions.xml +++ b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/webapp/META-INF/permissions.xml @@ -56,33 +56,12 @@ GET android_sense_device - - Get device - /device-mgt/user/devices/list - /enrollment/devices/* - GET - android_sense_user - Add device /device-mgt/user/devices - /enrollment/devices/* + /device/*/register POST android_sense_user - - Remove device - /device-mgt/user/devices/remove - /enrollment/devices/* - DELETE - android_sense_user - - - Update device - /device-mgt/user/devices/update - /enrollment/devices/* - PUT - android_sense_user - diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/webapp/WEB-INF/cxf-servlet.xml b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/webapp/WEB-INF/cxf-servlet.xml index 2eee6325ff..c82a0fc58c 100644 --- a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/webapp/WEB-INF/cxf-servlet.xml +++ b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.api/src/main/webapp/WEB-INF/cxf-servlet.xml @@ -24,11 +24,9 @@ - + - diff --git a/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.type-view/public/asset/androidsense.apk b/components/iot-plugins/androidsense-plugin/org.wso2.carbon.device.mgt.iot.androidsense.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.android_sense.type-view/public/asset/androidsense.apk index fb49b9ceeba5f34afc28900483525b2a1d8094f5..37a03c22bbf0c6a0681a37d0ffa01af016df8844 100644 GIT binary patch delta 1443397 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

~x&eyQEEF`u`bix|F0|zOSsiBfXJ+i3mui&c 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%0ATwTE}p(n0H_#hHFfoX9@9s=1=n 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�&&t)OEaw{} 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®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

%q+#=|Z0d(kJrTP$my^|gB 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ΕPd(e2(Y0d-mHf0TF7fV!OH;Cqn3 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

=F7zL%`$*W$H8G{(^gES2;SFVP~s@>~3C+@!l zFp?>*+mSX$2e=?PG_s`P< zl!YvPFA6kHU?@Hjc}wM&_B-wG9@jhKo*Vc5aP$FKq1kW0#7m9$i{k36=IocJ4%nX$ z`|4KgGt+&pwqpHBH%Gvy?c1YPATns5jPSGHSd&MTBZ*O)<)AEiI>%~y@G&Fw6)TS0 zLbphcSIYNP8p@XbMQc8BAWU4z9R zRYt?bM9*CzN}YAu3m=4N#~%Z>rDmoC{3hwO4?;#NDFpO6^~eL#t;ZyOB4$5i!qn-T(|e z+hw#YQoFm@_lIRv_CbB79(|tNBo4|G!B0_Uip-C3lJ!o;Mm(g6@}Vv5&oqJB4fW?- zhV(_8ci&HH$%hCojU98Ghm0~$>GTgL9oc!X35M#w*a*4nV&+9`+<5$y70lJfe6&I#cD=M^GUWdIWs8c5Vu9f@qGqLwsy76a*7!TsqyFZE`}= zD>A%Nc2}YMsCQp*Jo1148sK2zFYb03h(v#l!TY12#2TWeK zI^u8}oRnl2hWA&a4RPnf*6Pu@kT_nTJ~Qn2be5!He9hwa5M6h(?VsB|U=PcmvH#=E zD?AMI*?n24>q@c{_WdQ<0Z;48j{EZ3EuYQS22m&|nr&=i=KW7r5t6~BOvIDlv0i%7 z+0K!i-rtFt?u3{m;jl8mn2wam->s|*1KdIZpGDPv6GKk)f&Z)r5@NtFtUz~WOIPHU zHSTqbVtIg$l&28}6a(%tUhl7O6oF^mT3ZEHmE0V6B<%qW^Ovvj{5xf>7San`>F1BM z*-c;g`E>{h&y(fv#(!O6(3z*{n{vroW?!f4VFh&g9as~H-rmV|>66ZLw#c2N+3NkL zFf4FF_di>9uY|Vpal8uv^CvyX_UOWpojWhg^tr)*UA+V^n~9xTh&>`+fc%Na1Ho(0 zFOO{_m**Vqp1%s#N#vP?nF%IF2329MCspKfMBUBF5iN!h>MaKv4!b7L+r3vIRm(_?`YO7#+UD#6Jdg~ zrJf47G>&WyP8>_6p0ae^Mo581gcJkIDoP=^#l84YrkB`=aP_1q1ktIN^m7@4BjY+m zvpOv)!*3rC#cHs*laK0xD6?zr4=nt z9z1c5F?weLGn7k{*sR8K&s;T{*qzGWw+R_^DeAQ2Kmvhumm^E3qYUt_QNBpNKR2GP zBOjI5>3_9ifdddaSKd9IEIRf-mesMLIwTH|BfIfz()6k@ju8O-cRCrf6sXXFH>1y*VKDSLJPWC ze|{qb+zT?05`w09e3=ju)Y#7zRK7TQF)D`TIX`2E|FFSa zGkR1UH2xXZNA&mx zIK+tYwO7J@aEZu8ohi*_mh}c+zu1V0`?P_K!xyX4h$hadha@B}CXxy_^6%=McR-PC(Xal znQ&#%2(SRe`Z_~usZTzTI~BnjFq8RddwtvNApn7tHS;!S+~-Z`jtCEw;vL+)JbPgF zKp&@ZT1I1kyY-|mRtbPsL^C388U94jAtDP{(5i}h$~SO- z$bO~5-X2o~E)XMorg8@tRq`%okLaLgbqJd1*dvr6?uNb-@{!7Gb1RJzvh>27aPlSm z7)mGDWQXVHH%Z*e;$ii`K7@`WQ2hgo>J8pg#B=Cq7M>O@rUlUtWITaPxngPU|7tpurB18Rv;>gR8vnoh`Ui-VT#WM+upLVxm%Km&Tp0l8L{^Yu` z<;8dW8P7>g�=7q2Zp#^G?h&qBjbtEbY`hWZpq2TK!qbiu67tq_fXdWZ`G_} zug21gcfN4$R~rOdubo}KWmvE@uLbTfYxMrZu2ar}zixsAe6{5KuG!oFrLKSm+@-sp zWsZbxHBz{Is9sJNzI3QiP9w8&Nu?IwVMgAip};X(D1Xa28wyS%SqN?QIN`|=$)F|` z7ZBcQJI*|Mp3DQ@qA}7tBoFcu$Pt7+c!_{=Ms)tzLI(%6_+Y=anxxMPi=NweB z?5Xs^PZuCK`0e4zGw1b*6CgD3+R*Xz`wew&< zPgeNN8a5^M+9&s1gGYiZnOT1c%zh;CkE2B0V0#iYEuPG<4Do#J6UcJr_*K(;Kn#{$W8OFUwdO}t2*SOsyU2;@;v9-g-dOPR%u&1E=;=BkuW@j z_xhfRHb1}8t%69DY=JZ=fZl6<%JTD+&G3uoKU zke)(2alg8UYd`2_Zj zQBu?RE{CzzDkUzH&w=H3lUY{ui_~(A!T#Q&ZMO8J0 zR%rfNmkWBta(N42>}bc?w!$)QS<=G;sfBnCJa^hVTA<$Vd`%d3$Rn(+J=2#%YHN4l zE?SC-_3)JL={exs0%*)!;sXeAmjdG*=wr7Q6(!U%6? zS`=f2UICH+l3cqG<#-W*zk4&^@Cfe?-LVhZ+7*m(sShM}F??gVt!CD1jz7w5y( zc})daV)|EYC5wY~H14)Ff>jWwy2LW!)Gh}ZAkFeXP;dWu`wH!qG2F=f8iUI|VJcoC z?4Qhz&wZ#xfJj7fQxW-dsCQb=H3~jYZWUK4!jZ`o%hNtMF?nB)SkJ_-d}5!-WyE&SrM*Pd)Ln8zq9VTCqi*wg}%0KA6(9;w^hi>+`vLH>Eo|=q1>3J zxQ4=K09_seyu4fjhQBP@+pBN!$cCg!0Ge~+`37Y7ZxEcmb@I}__oR2kPMQMMlMJ`P z;XYCHrvzfNX0%Q`UpJy%LEf=nrau<=%h09y6}ejclkPj!4HJ+tTaqF~*EtOu>ysvID}4%d zdW{unw1mlg%xtFUQiYe~#8+XzIU@J4gq@yhAXB>)`N%!aoumgIzJ3GrL{4kl>L%%KqWXK4U*zNiV)0;Cd z+q z0h$6xmtT>7Rh(ZHsRo3cwHYry*^Pvy|2M|@tx`%ztx?z zP|LXKJyZKMQ6?5h1v$j~ZqPqA{L08nVtwu5!OJ@0Tj$EJZ`C<;OQJ7A#~F6?4?^W8 zBu3D*OC+z=!pNgN3mYP~24J{hiXZDBg(H*cIsf*Hn-9T_ zB89`uQvD3aV^!yj<4TpH*GSsLLOb47-)faUE^@IWBsflSSvIn9c7TKrW6D@e$5hCThRjmTnwf+mEZJD>GiIMqVT%wmlgw3QF6$eo z@PYci;)h}t)0Um-x*+*9-}}-!^!qm;AawB2h82=yb%nX7�ZJlVA-O`g- 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

`hgLfwF)lWtUtL)* z(LKfL37z97P3SzLYQj?Da(8N#6YO^<{TN`;v&>q>1nO^p2cCE{Df2m4nkH{D52j3R zgjA;7=$41djY;j^ZkgUlYcK28Ad|xlt!6@Ns1_is?H=myc6m_Pd9LiX`)L1Fu$KE( zteRlgrQc_UPf81afYVi*I&lJ??GC7&@RnoxZ+#Tv%V;^PyK%2glV0SfzF+jAf7Cx= zsMI5W8mb6?p+C^S`;zJ|b`pGNQkCH?OYYa4^XbWz4Q#zf?;iuW=-b?wRWX6yK-icI z(C+KT9c3+u-c=PMZXC>$SSojEtPwD6+bv?4W**BKrrA!BL(cF@4w$YY?6%53V=3&8 zdptST5}knOY)Z-FO3={@lu|G?N)iy7jNjiqzB{RZ9x;`AS9r>p1z~F0RPZd|^|yx|{iLrDdi0 zZ#^ZS$s#zWdL*C)RiU)N{2HeFz6FwV)SH^oR=y$2x8WLp|dx{l(!M_M0$%9AwdCjRwBNI#%Sm+`O9Li#SzJ3Z2; zA$_wLQ$5muLi%T#bT$9_Jf#0ilYU{s)ZYVoeTUFH^svvbgYpep{yp6;YxD$e_f^Z# z^V01;s6}7}e3d|tp`QlkSv-cG#buO6`qkg@o_}y&jQXeTS3l<=U$Bsm>3yJ*zHaD$ z{d=$2c4|E+anid(oWt(QzDjpx1%G=ie<*)@&*X3B-A3lPs-9r?!TSt^pGbMS(Ez>c z0G<$oQA6Jkg(_kN6c2O+$k=i>^-rO|xTz*6Jy9?V(#q~ckaGhU}xzAcyAm)pSbiPnHJgtE7nSi6M7iJ8n z8>GD&c%tU2wYPS{TG=TDohqqnD5o(=?NjO-smBGqV~imkJ+%{zc{OxSE2F%B9(u{) zr#3N)YRm)PrafNoAc_NhA=BGs3Eo8fe7D<#@+$PeL-_5`|E_S`n--|oPuN;@Z`(Ym znFDGD<Ks+REl)~DUns&6y)03Bz0g{}7A z3TjP1#=r0Wc0b1dGwkT4JhBrO)~l!FdUPAa_Q4~9DBN|*wbCfo=S{8J=5v4)mz8DeHHAPRn4CMV_1B4 zBYWo5(`Q?51ACHbxw6WUFlfaDYfH>=n0LE3DadR^A#m%@xM%;8WuG54m=%aOnppVN`amNJJ z)0=sIst(OF*Ua;Os4DzFBM#>A@c!sJ70iwQCj#f&G3(TIKPwCtn0s3*_;R1hKO zalYHc`S?O&vs*qO+O9Ph#)!B#ne~TrB#(<8Ul?7ieJrI`6g;P%)i4Xr5_G$h93n<9_)YO#Hs{>u!1tytLD zQ@>v$Yx%u314VfLDH*@EC=^YqYpP|EV>=(WU*wN}zFr)%`S10N5^�E3d!||3_MQ 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඙Wv10k^WU=41}ZtM z!oq4+z?7>|2TqOsFc5!vUOgKs8S@^5z62=aS@Pa^Uux6K$z`iXJyj;CGciC@!>e3Q zKLpXOX2Fa-wU+Z*?4`jk{IJbbOy1rL`7K1unDkt%Qbw;hPAODhm2Y5EKEb76)A%ta zD4&Dv^s!o=pC!6-Dde?Vrj`BQ=Vzs^cGNGA<8PPp_-20Y=0$%~dKB?e05)FskHuaF zy=c6JE(O)t&()99-72kvVyQMi!+yqjxF-8*wie`^U>#NGVVmr=xe?1Q&MerUf%#WO zdBCgx-w%@C9r8#-{P(zI@dogVtNZ%=5}9}^hITDHdx zWT@_m5WutoiPI0E4G04MIFI1rnQWTY{IJW++#m|8IxT%O#cI*nCg^54Lqo1;-UK+N%Cn!P@d;K8nL_Fcdg59dxK`Y}|aY^d$$o4|*%-uA$ zsdiG^nfQN5D?}VcFYJ0Am`PQrU4KaeLt_8;1ADaV+thxx0M~@6yOfn>yfe6*l}++G>sEx-loWq}p>>&#AIeY{JKIk?8udd2J9&ft zyJ@)ErrXjKyuiquh7~yF?oPoU0I@};EG zj z8}UWicTInaWt6mU`c*tOEbm2B$p87l|9^ixJl6k}P?_w>Hq)o_AK8|u-lk1CrFIdH{%8I^V6ew7z7hnYZke51Ef!ck)3Nwhf8-BS9zVvLR*uo zY2Pv{>}Hy;@Q0Aforaq!!Y#G4GIsgZJb0(>>|Q&N4dvbcUQS}`mrU+pnZPWKU`>DX zV$MMv%w6_h;K4SQUn!X;TE>aG=ghTrth16j-387pO8u9+}@{nxCY`WMXdufkP0xcU9pG^}I8oPNtjskiAb*+>H| zVo&XP{2-aBG6RxwYW+tt?SX$x_CL?&KWn)kzmxPsR6{O0wGU^qJ7|~i{q%1% z%!tZtx(wgFbs*d#{?`9knC*1`=|2|cKXn)OKmHQ-!N_=hko*&-x#tVNBi^<7Y&PFa zH-Ajm#wN?C5A)~Qq;WbX6Iq~b|4SCKgHC0UO6g^?G9S;$j?Bc6n>U`G4a$EhCO{}7 zMP|_ne*##UnVMiZExkNeaXw1GR;@8@;lXpvlIweuQOAuQsu!2ez3uIwb|WkL8@+@M zxr@9m8nqtDAclMoZ(=y9!D;{4e372{*9=CLH56OnhSd&A{cW$~%Cv!NNkthBVjeSi zjE$uPMR1%l0Tk$PI|Q5I#tVN51yN+&?E5xMA8!d>OGXPc%@m|Subc@XMT3cL%FacC z5(QJ!>2bu&S-S&We*yZY|DgMWPllkOBZUNNIsO~7Us@yA4Icv$uvKe23j9lExA4oU z3G~RBt*vs={KDttNH;!(LFOIY(ESb||&o^#pA7Q+C*ml!%G#7GNT~r4&di z3sf?eIfMK(3*COx8`6Ju6^Q*q683PvKA`RAAQ8ro>2Xc%X&_GqW4uhFg0~MQ_G#(8 z+nI!V>8oj|S~|=y!ukX+1w;)dQ`RJ7BsK^K@P#Bgq5nAXqPpPf`)ODW&+7+YknoA9 zg0}{}aiXLm0@#UKV%)qNAj7>|d3D23S9Asm(VO21*!M6qq; zfO&;t%S7C!S$A0`@~GvKiquQ5g)my9iAq9~*aR}!a9v`wnjbm z>EBH&j${T5fP6I_CEPz+8b7>YmebUzscQ<(3`QL0I-QYula-DXBwD9DK)%MDuy=oQVZa0H2m|Epi}ZjF0z3=jTZb8dgI;3d z?|)lI`9ZLO*;=04nWXLVpC0g*U#z}&B@TuyHd)fH;2(J#*Yjy%dQ#Bqe19J8R9map# zlRoxSzuy~rL+MzednQjvXz4w4AnJqj5>g%AF;LIRg5U~Bf`6yOrI(MB4|*dF?_*q6 zTBq?}ax?_{jrcX{76lX-ybTv532P^QO3b4O2`&gdhL0MfGxSU%OYdN;I|zkYIoH9O zqPd^z>^jgo@SnfG_uA{{XoE6$!`pw(`M@X#h5@DdZ_(FBE-bx4jzwpP#u!W>dwVct zipzZ0dIM*)uMz{##8ml?uP0+-WWKz24|Q=OqI&I*GjWW&WfGB9?S7nzqcNQF(V@GJ zXJV=ftfa)$b5~8_{+b$JU1@zcC8lvNArtY!4T@TGf_Qk@nEs;l*95&WX7?;DO4})UQ?*u%4o`(lUyk;X4{#if!3wg`f`XxOX)-X^O z83|>!^-L8-LfNaoWg~whAr;qIWDp4M!0_bpC^Z9Ekc=_D3;puSd6B;AYA9~H{b69* zrXj_hDp(=D!BZ@0X`*Y>ED|VmVF8w-eQzhrdksxDrdWy$@)W9Y`rb8zp;Wyeq-J2- zmC(!6)3yqY5bbh$TGqHvQWFFhl7zOSlxt>v4qmit$m zCOn*r)bEUXuibySL#dzwHltcr)K}d1nA7`;%q~H_Jhmc{BYg5saM?{5SEJ{ek!HH7rDy^LrGH zc0Hlk7C*oe-=WxxS%~)7-J>Y!uM!YjVBY74L)>zUN5GxIE_{=}t9ad*hB_H{0?Z$# zV7h~yzRrJj8t!&)VANn*Ww$XVE*&b2*ga>UP=A_&x;q){(6)K1`u4yO@1^7n;_=Si z(XpphneMzEDb$-YP$xSR*LM~Ak5kY`9<)W;4+Map7S|t|;xiTZo!d=|JD!Z*=(sH6 z@9uV%yWZY%v0lZEI2vz`Jd0u=h%H`>kJ90E&QO1NS0(JV=Z*0mzG0ND-0zgmUP;pT zqqr4Yj(iQPVh3A#a>AJ&#m}#FM{*k%751<5(5);$xiUB9-8sKsfzxN;Djn^Nc~wTz%GRiD+c}s)J^^f>(SUC`(NJJ|9ESc>|x0eImP-eA2%DFXFs{ z$ASL}&hz(Iz&Fg(Y92UCykq{Ld1`j-@2L-qku2GrT^C(^fmXPmk%1h!*-xnj!9nR1 zNSfS#R`p;Q$$G8Nb@mP~{dL5FU5^G+^&o%v;1h?u77u`(T*NJQurSpuGJ}b1?9zdx zQ=Fr%W7uSyCPTRxrNv;o*wp-?CrGO!rd4}My`TK!0#owDAM+rYWXzue@SO|jevW8yP zhgY$OTY!r+M+)vMe<^p+HG6*@cYeT~@L)ImkH747c%^9e%(>;~9*jJ7@Tocn3(UKV z=Ph?QUz_eKI7oIY2g~m6!LqxDY3qLvjGf%Bo+Aq~iyG*{fLCc=UX785Sy8Z(e!2-h zmJPeW?cN?}{SnpZ*}SYsTD1lX23CIIw9%;+8bRvlz#DfjEggGKL=0eI4k`*zl;`4c zfGy5sC0)}^Ws=TI60pGLmXqDxOq3#w^?oLz7tR|ax+eu)ckGGlRVaLfkHdfEGf^|x zIJ=b2vJJCf7Ym<@QH$GJCPu@acK%feF8x;g3K{w7Oh8R+W2V_u3RN*F?hl;3o(Q*% zty8A z!y{<8V+0@U?(ADR1;YHXTNt_M;~`RCVH~ZDCUj7nPYd0ZkALnt?`?R|qi?%E?e@k# z{@v^OzUvD}6X@aRx8MH5`k-okSj}69s`+7^ttLEuRLwW6)9_E*ZZ*rbjrNOjrC7)}i`I#1zWKD&Y_Hdw?NYVTdSxB1 z=Iy8L`)lQvEq?z>zky?`u-R_p;YBU$EIgH(<$R@GuECE+y^?R$oA`Qo!Aq>!%W`$A z+HTbAm9|~}qhwtIP#b?LRDND=y=oWgTeViZSX$3-Ra(}Sn6j-}rCcqyN=55)Dy=j& z^H>S^*=k``ZR;35tySuUr~Hc3^!%z-vfHhCdu?kSS_Qv>f$g$&6n_`;wR){w$XBfM z^thRC+NEb(*nI6uskYJDm{2hEoqlxvQ=TrP#-)NR>yA1+e zDWRb1ux5cFAoSaJ$)? z^=1o%gucQq7faZ~wOR?}xA?UEywtQ2mFm{YueDpHm%x9qT!TKPUTM`EW$JSNQ1K}r zRtqrtia*1Tl66@&aC@@^{R${8=u~)ddA$XUWg!x_apXZ|6^t+mcp(IA)$47$ny*w4 z9oxS3s!<9?_)!Le0N3g-YSz^%v>yu0TE6gftI=LBLqou)lxp;O=VWmRepbRUdxq)< ze4_>i5RQN5GZIJ@0b#Adt74!f5Q_5#v{<%ffr;J#rPVAw3#y?(?M6@y25+rJUkE@H z#3&RbXEVy6St`TcyqSMNt|YLvza-tj$gRl+}O+g3$r}toH6h@%t+n4bl>di*v#(x9r*bUW&|J?O&k8}wVyymS0qXXIk8`P@5L zV2W=m7juAlj4<~&`W)Eb!DqQ%^+peJoR%_Y_g#0GBj>a%swz65F`xs_TBa!&>SHMz|I&jxdJ_jd|{w$ff@U}UfHUmio;jc zt1w84TwZ|EdX*Ncpt_GD2!?*ES$_qim(W4yqH2H_2M==Oe~z%yb6h=Nrk^iM1sH@i zR%^|A9_)1+R<$Rva2nc#C0IA{3NL(9vTtgBNEe)E~pg&aKE5~gC&0flpNy{)kRcG)brd# z_EXUCuo%SEtSEyD^E*+s*SADRvwp|rO*1bVT!29Fl93-kq%{H(8UV2&(Uj*Un8AU+ z`CJ$xEHC}_;v+t;q5yt^|E}<#yHEl6Q*NO33_?&PQwQ253S{g5GcEx|eujR*Yz32f zum-#m2SsBEbUS}qLe9>>9eaB&X6!m%b$SCH{XG0GR-OK~H`;?iJecfZLcbg(%gbE{ zJB&QLU6o>0X8K{uk0_Zq{1ar`_qpT@0QD3;>P@}R?@cJB4~V!k48MO1Ndwj=IVl@E$r*H32jO{1 zk&21I>!813A_-bxi02_i-Gk3WC||-`{`jIs?Gs+I&*QM9}!zbjSfDV`sd}MHdK$bEmTdat5>F zcCSCiv|oSlg=1=OIa$nvH3T9OtnBV_Z zY*~KTTe&0WF%yCM=0XgRXh0UCCDd7$sQ|`EXVibAxmd47F1}E!#!smftTR~sn}E1sXaLNA?*oUM~;*&R$Mf(J9X;e*WNc0zkl<3d4X znhBVO0I2uWSp;yj2 zpuP4%i@jEzp_i6BzMQuNoTTNX{v`4OO3;fDry@Nc0+b7O=oO;i$(q(X2yZ)_LW8D> zpuPeuQ)AF&E2w&mQpzDnCD(!y(O^!0xa+)j$Gwid3k!tKgp_dzNp-i*S}%iMj+TGO z{y!Tj>A_kr=m=dZu10`{P~;-T!gNxVk5&UldcOyfAEgb;)42%7xHrbzHsawhg>-RE z7WeH^4ufy^cfEIcpA(_5U^KkpWXNOAx*Y<*R67t8=foF_Q|NeD48ngM_*foQ8U@SC z^$^sDDHu)3+<4dRjdI?*K@LO5d@z3^5OIW2o#Vg`16b4bH4Q*XZMeG6Q5Ol#NW%-o z3THk3#YA7rN7WL$6d}3>x@TvES=X#@qA1>|_n$ByJN;sh#F$&$!0AC7YD~V1MJR(@ z6?;C3T^g@d*Bf-9Ln-qnDSUs_@>dkv z5L~H-}>mW8Kbe8+r#tm!@ir_Y_%G>Jwotr<<_yQ z9v~+0fY zX~=UH{gelb z@U2AO;f(i!>tLIb6`+5&41VQc5hBop@XTU+N#c8Nae>-JmN1~8%X5~zi7wP!_@2nO z(I?%J1S39R-<{dupa=vBF;cR73v4(p2y*Tot@hrR2Pz->$9O?1s0K_GG@x)h%;}c9 z2D5<)lJ+iTMpCm!m-A}oFi|xaVDW`-S~kfJ9-^BNxq4oDBDaeWb~KolN2-)dPo~|${x!4 z`!K_Csv~KhnfV=|6-|KD#9C5EjZ(+C6q}q;E-ZpPNg;^a8Ot?XBuS&xNQtQ_;uJ(5;qF*8WZG?WHOBiE7}X5qR;DCG@Iclaki8GG0&eb7>9 zI+5Y`Wny|ADIcMvInt^`FmcFLrP**DCi0s*E*@(GO(_-8jWC8E#ki#~uyjqra%b>fq44<;r|pSkUkw+Ge?%tB+{9`d%48-^NNKM^h>%IS^X?nvtk)(UJa z?SMrE)|tYF)|w1&e2+?doEtlDpju8&T%SP(nM}tov+n1JcF%QunEl0D1~BV^sR~cs z@h&zBV8DU|%(ubK|8z%QPz&tRau-JGKF3J+UiW|cAn59fh?7-1v1q&M;sVgd`!?9% zom~=#Bh`I%|0XD^{pUkRM)F%9)U1zc%X#a=THgA&mamqq)A%p#(AL+UlnNLmwQe1$ zTZ8 zqF#S1S%+yKc+JMmr}Ow5UJYhatJDSt?R>MDe`Q0hv<F0X6makZ!;m_Ju zrNYRKX8Aepe|%J{H>_i|daIo;6iSU2?Oq?H=jULY(c|a%xL)6?6|FDur`)}^a`@E1 zaI#XdjiCzl!j`R~+i=7BQmu}a$2gUi2o--R+4TzU;X&&`Sq)f-kIy%3tR;tm(k}|| z#1`Oqjgt6XueGo>PQY({|K7%m(*8=mWqk@iDIDk%{81!!6b5S@qF*ohZ@Gq_qykQC zqNCo&H*vpH^J17>nKuvdLD{Fo7$0qH#kO7>EWuCaUlea(os+-Xd=@+R@FwmKI!jKc?yjdEM9n%WXir1b=|D86Ug^6qemHXj!;0n2sfU?~i`}Tjnk3L26 zRruCd37C7%`xm6&FN6@FgWmG>DVIYf?9~z8$g82kkgw))OfmXJTCjN58&egcjZyIW z-YDEAS8v2{#(twjbbBG#VI6Uh$?g7x4olK0j3rDW zG9qB5{HIj~4mSqWNZ+dk^ft;z?%gh|)zMXg(Kzn=AqN#<8xOty{+@p~!poYOW*0p= z=u5i{>^O0*xJ^v6@<91`IdMsnbsK(jZbRYL2#hm)134CGwGJj1y~4UVor14u3ee91 zI_Ke|OBW=r^(Y>$@%Sk>piNW)bxj|P)t*8=-gSeDbIW@J5LC6f4`PVcdhQ+j6s4RB zcY}`(W$RaXLA%#|&i#LcT|kZNmIa7S)1QEIu19H|z^I0g{?@m?L`v#kJ)R&3e0w|i zxY@|TbS1G6^&6M6nH#0Oilx1s-WVSHeeWIlsd|G6tS6wktZ%S* zNJ*0Hx+anEJu73I2l5V zxW084fZNzR@bZ5h^nVRSc)%@+2L#h#r#Dy!gd&!2_eTEsmQ^4kc7)`3HMY#2JRzPB zlp4TALc|e94T9n$f)fJ$p)|#HYOp}nAdJdnY|IiB)2H{ycf2i@F~psnY}aV?^+=Xr z)zj^AkRm$9>@n0`-n}MwSzzhe03o9^+N3oeW+L}7L7;y)S`Di|645vAJ}9b??f_%S z%k_o114~an6bLi8mm7%rgB`+z{SF2ON(-xjT)FF8-%ZCv8;kIAHT2PS-r!~dOBBs- z+GzW{#$G&(h{T^Gx8runU5vdCUwaJ~qMJQTdqO)Q=!iZKm?M$%J>dI*`&3f}!7GJa zUdQrDk9&VKGJ;sCkv7G;0G3h&>p1bUnW5o=Ou&T7m~RHSsYM(>P)QxfINz=B0nQ>s zFVZ9rNx6x|C5`x%+E^4Xy#1ae6J_zHGurW^BmIk-NBahH2Ii-tyG{Eb(by{(*7YGL z?nU)uJ8xauZqvS*5kE$MFsiq%TbPV|8Ps$F0mgrYZ7|XYH+NwGbaugF>EIB%&OjMq zHYUgT4HU$|O&mmBXVewY>(-xf&@!~t0EFiH1L5w^VH6dg_Pizc3Sf<0f6?YuY!#MS z^0bJJqU507v!2H>hegSve7_WY$MAW*0S+t@Iv9HW9_TkPu`t#{J8@kW)0vMwHmG4- zlCXcZ!6pUa0ISLAJEI^XSo*20J#$lfKu87@uxwUyu&(I@Li^%*;JhCD_+tW+_{m-=*+r*xWKpg2 zQJ7rtMG7zy==Ri7v4p-HEe*u!YP7IKtsyo)qQ#L7l3Wxg6uojiic#*k1@zR~Fc^Q| z^*X|JeJ%zOm)ck3;Zwd)#!B6uR(J;%FtLTSn*S=fOpVq!1g(LRc&PTl=`;=@+&oE) zg6O;}@d!_Q+>X!>j4OMt{g?xXRSR_LJ z63g{XyIYA^@ls`Qjn?`>ZVPAg%SnG&6i7#f`*g$Yk>K~AFpGim&OL$Gw1TA#XbXe} z>RSd!$)yiX);Ac5ve4vueYD>DRHEp*TxcC7OpdoGqqR?u+T=e7)U;KhQZWA5;36-9 zR*r@?De4<&ACnKCLQS9!Nchy%;;?`Jo?jho2A{-7`88r|3qj#{Y9b3Z-!6aSBeYr1 zyxvtRLYguRGvY!NCZmJ7gf@Froe;tsfzr=Lpm43ug~7fwg9wg22sVxp34eoLh=8CG zKB!w4Q zy}`#0zYsqp%SJn2ELxxA-&TJsU)ZFd#S;AlqV{IFSfU@~^u@wv2@hylhv{ddg6GOk z2frWSiUa!U5fRZTj6?NiVY6iO-*OQepjo7&h7FbSVC@y1TDH#Cn|Pjwz4jIOK)aA{ zl&mv4xKVGmn)z}IzRR{gskboa#fSAR`1-BZ1M3vjttpTD=PNI83*&!F9adhKUVZ_w zt&@6rt@Iqv>(yV_Ps{x0m337tV$c`#t^beQ4ICcd`rqSmr*D1hnJ6B)V2KRmju_}V zI-4afuGZbw4(&i0R^J{)(6aFdOOh+hk~Sx!Vt+|14GZc?E?b-61qwp$HCK%AMhghp z1wnHe-V=Xr5}o6M@V*ejc{vflF;{{(P6v&!gsEa)txqGem zlnfsXNgGH&ut^bH{WCg-UP+eTuuuSc1A{Ung4XCe`?#uVcs}L13snTVrZGZy-8%)k zNT8v^J&L;yx;#2`VcBHbO&`%h}&SdH75gdP*^ts%02`d6pAeOdOvO_;fE>c;cbK?3fF%CqklMF z^Sr)VA6$Rtm@ua=LRyXR;ZH@t7?6#6@~#isVm!lU8QuV|O+bh1U|m5Ez~G0j72o(E zbO`YV%xR*CkCEUBFYBm;QHVKHV*sU}n+(iG{Gefd+Q=84;(7H8;s@?;ua{r8pX8tC zU$$RXE7liSQfkqrzHNQf$QP}XG9v-T7qltL;&XpI+FmW;miQ6+DR%CUbJ8r8;mW$$ z$b-34X&3S~=I?>O)e=7e@8Y_3xPd2RIoZQUjZzh=C{Ed4Y2d+SJYLI3X4lKjDxT%1 z3R{=;(q^epDnAbj&+CO42_g$VX>4NcKb1*#K2v#hE~;~`GH^k~2b@+#BA*AQtT!El`R{- z6<;9gNgZ-lJvN&4Y6E&;4Gr1|c&$_c>-CiOk(^Yci1oHx(6R8Z5Mum^t@e44#N#yn ztV0J8F}kOK@?3+mvSFSkPJz-UV;K5K!L@%}G@|fyP`K4B3*aHqPe(CGri2j}blm+) z@Tf)qVEhM$s$7&2HKiJc-{|2qCuLCpI!>V+h$zBkP5_`z=@?`{&`|}!R3I=SrE2p6{NwaP1kQii8PBB|3Mk;mzy##Renxh1;wSmQ;JzMO-h zph4s_XUv11;cW^Ljwp<4oB#t`2%mHp>PZBQgh3{jyaZB_W&DT}2CU(SAc6X$uumC= z2YDFjeh9$E53M!2y%DZXI=BOmD%*d_;ap1iV1$O~gykNBszYO^!v*MKJ0AliH`uwD z0$>HBL^))jH3n{9IC1&B&LsjF!6|BnKSgDBAGEe=;p=qVSDwef`HHsUF*FEWxfK2Y zO8pkdRd6o&yM~I2xOO`TqS)rCNyXw@zXy0YMf7{@&F06BQf~4?4{fB9s#`e%h@*m|nNU+t=e6sZ%j&`8rb^KnCSnM})BITj34J(xau&cHmwZsVhwdRqWraeTup=S zB4Z3yf@zcqK;U#f#{h8%NXtafaQu$bH&U0v5S6F%uhCC3tZsa7j;%d;A_~7c35jY0 zD3=k1yjnw#(kU1x)Z+`ay@;>kF@n#y6hb9egUzENxiHi)GD)D6C!S?d*=NB~{Yeb@yB}fMHptp%tCc8xZsv zSj_C4LVJGaj`sR1@$i2bs(T4k_aanZ$mJuB6lh-YL=#5t-}J=+z(`jRQ=$n~Qn47Q zUp8PBBd71HW2YZCVBrH34gBj%sq`p$hqk4N|Bf-x?kFup z)Z})C9>a0w#|Vnkp$J)3&-!;>3PJS^n4_wU)Z00FjLxm63C@2(cfrb)fGuy*+0`7< zU``>JeK6wP{18M=@??H9xvWji&~{#XZ{c4)7ko}bH#RXNaQy?1Yo+vw*EE0%6dfW= zi|o9pBY7m`!#r2xCbZ5?-Z#p1J=fP)z`=RZp+^TOeP}tbusj&?WPPkVJv>$TSp&~= zV9FEx<>Rpg7_EQNlb4s^X|IQFJM!lmYnq%{7PF`ErNXF7N08yiJwfl%Lnlva5NO0V z4vxt%NH|y{aBAJt8W^{@gj5AU{T$mBSggT32lg2stS}BITF+$Z>mDmi+Ft@j9&SF} zqU1gga(n9d9-Ax}Os4jtd}?~$fq#&i7hyfXY z;|%t{(ZA+qJl=H!vM(cqr zgpU$=>NtB`Zq0QDa!t+dY!38{VNB6%6cxt84%P-rRB)??k{nNVw>HTg1#oxLk=in+ z9%CnAn0l|syg#siit&e_t92U=j1*D&0JLH#K@et72Xzde0F#IECOrBRlymS|XXS4* zzT%>CFo5#!3Nud{LwZrdCdpNW#3C3zq!{bJI4z;;6kezXD+ARVf;yWg!WCw47~--9 z!t;Z|UQuc%u8`JkidT>lOQ8q*O=|Pzlq{nS7wL`BVft==)M-=F#KAhX%}p}GKZPML zA8AFqGs1A`$*7kbDvQde2G@|}>5%tAPL7(}&d21VAH4iMYSDe`6a2Xk#u%T9MDe8< zTndr|P9Hq8jy%&g(vCdaDp78`YPn?{f3{UF*@aS&R_@tWy@iQ9OO>MV5?*9bOiY;d z$urMx-{wDmclghW^$R(uaU(vozSXSAU_w%f1a4VhD?;4Q54-`qdZOjel0pg0-2f5b zoQ^jzEiP?LXt*t~0f(##jjF9F2Y z7@VNL>`mlTM8`A;9vwQRJvT~C%yWu3m`S*O7d>2m(A@I*Ug-H}@%)8&-Yj8O>m%Zc zJcuXMLyOWO7Oj&4B3?$$DFJG2LjSh68f{ALda79{P@+I~vk|*%%~HNdiK|I+prqQc zF>S7XAn+0)QAAsNi!vIt>e3DMIhB!XD@Q+tKbFw>P#E*0gIk0_nVPLH;kQj81jQ0& zo5V|hAGT`2@x1GLxyZGduONe0W)8-SF^Gi46nLb~--p}i$Ef96gK#g@X$hK;wmko9)GgCvdY1Am0IMOT?%S{%4 z1RPfDb@3mJH;qnSG2|&aBBs_prY>G;t*Zz}cX`}QK^h#+18?MPADlc2u zZkYW3d8tkP0nmH}^CCZIue$vd>nAWksX(pTL6y#^qOF<@AH^qY4~YOC_}eJqaaI|{ zbE=6Kp4csDxhv%con zapUXz=6WG_=jWA`+}j@dW_p-k8Dk;9)aA96Je_X+I1QEKu91Kbuly8;O#VYQa82x+ zaoBq*k16{d)p`K>X}y5h+PriWK)z(~1>ZfqB9BMjaiVEbv4}47g^ax4tam^XQN7GMz?R`!M>8T!@&by-5 znV?$?lY0n@2%yRxata#X!ShH0;;-FYbfW zv4oZvV}_nZ6f`8HRnFi$9J3QdXWiDKaQN(4uppxR1)vW_+AlEiwXl9RU(G9Ih0k}| zt+--M5qI^hh?EZUVe2`&>2S)QFpZa*H^Dj)-0-Tv5iEV=^S?o?F)fFGkH>0wX^e-? z=pH*)xFKo#iL>eXAe3%rzteYNZGv1xWEFILILHcmPlAHu&z}cNg43q=UkZi0O@~+C zy6bLlXP~--JOZsa%JJ+LHm;xZJ< zu+{CMj~`|gDhd*m!(w!QZ!)0BOXzVi(DC@$1m)*f&Vg3l(Z;0Frr%Qwoo3dLdE zxerP^AQ0;=4H5~szZ5A9JlJ1F%0iLWpCJMW$^+~N{*?pE0e|A>Xos^Ad#6K8Q(ft62#Jc@Pep@MDT}0ehIq#SURolxjhL6jVSo^fgPj*Bx9J zr_EG)4oaE^Lj2m;Ot@v;N?;Pd`EU#SK;bJnBnV!4jR9Y(feGs3M(DQR8M!X5Phhb1 zas8L$7gHWA!MzLEBX6Iw$Ku;*ON!%0y6(VQ3FB*r`;utR3mQMz6HsjmlUzw2TUY7% zaHQeUZ1PvCaGuM59QBC5W0GbEg<<{sqllL5avrRIPWFZv)Z^}>7fm}^Hu5~20|j!R z0gf|BWdP%M(V;r!Ds|t3Bt9TT%0+w>#z@tt$~X$u*bqM>%Zz;17ei2OF1i#dDtCO9 zVe70a6An^254rvj6r%Q7^e9u(f+q6u$Sf|OI}XaO+=lyqluI5EXZRsiu?)lm&eHqV z8<2Vdt$Z_&?nP`+c%a`!+B_a%w*v^fD&!~nf(m4PKW?JZJ<^13k@77_Qqt*DqZPe zdgL6vpVM!DGFiTBj{9=MiSzohgPwv2wC$p04etfU>W#HMBi@GtbEZvXv9SSSB|TN`5?f?oq`?gz+hc|NsZbj{W@^^+)%gD6Jku`bo?NDQM>Bw&^P=z z8^2uy^PuRx8%%G}5HdBr7^QeYUJ+TzZ?rjp zP8=WkCaHvO{LDAd$(1v3UY7Bu(pI^mVVu%`G5EK2R=~J-ip~7S23^QyfXhX^AI<>L zO_j6)#7ihCTa$DX9v45*3DYj-U%~flfX(_=6KbMCs^uCiF|E(-QmM^nX@H=@4iLLk zvoV9zg)jsi8?+uh6_lu`!Sf7LNyo%3Bqiv4vw(v!LqPOw0`3KT6JCOuZ;Dt|zRK2r z22r9qfLxUt)wLu9Gh`q$e;9;u*Du=ufMbJrjtm`aYrIxqF%|~*yv}3_PT?=8$Ats+uFMu|PeI2%ctN|w% z+L^fbg9w_?7v2E0@&iq}a@~3eFP<&)Si~ z3v}IKDxlC@keYHH+P<7eFrm`z$LEb(Y1hiNBIy_#8cHu~e)p%C&G0PLTnp}$aB@NY^b zC~xCBYXG0rU)jLoDfGS$Ciyc#Vvf>5lmrh%@@xny(gvP0z;tov8aErmi+D2On0VO8 zS4;RT3pb0^GN?a(P_>i*P=#xC?Bp*5pjt6=T*BBlNam= zfaR_Td;&bExBwUjcE$EOZ``q1v>0obvofb9$V@?G(yZWALgV67`h!~x^n>;R)t%Hd zMvqW|h$8=jAH->1@kGu3%DTi)t)`{~Y+){7DI4je zdd6vb6G7($=xMos(GWYSbZy?HC|uozcO_cJSGdu=a-vf5Dm+p9R&%Q)i=-?c!pCxf z{{r8W{8#UjQv$?0QJgdMvZyt*yXiyh3_}T@zX>E?o5!`W+`87uR)Wy>L5Zer_}=}jX%5zcB8e4!bea!5uOvz zHt5w-6|@I`jGO{)HRG;O0c|d@(F!yIOD(Z&cS!6Q9pS%pAP9S@$rdN*A1p^ZJ+QH zdus!hi0ACB2A>ZGQm!{o9ZukH~)#8E`y}>)~s$c^OcP{dn6p~9peTNCaLA+mKPAOL$ zuP(Y{@+BHaBa#vHINhaLXngry92OtUusgdh%;#dKa3pf_oj~xOlYi&Pdlb*vol$R( z5439u$*jxqaB(CkzOap%2*>N*$Q5zJ=Q%`wTDj+yNB#&GtoNNA-}*jCmP%;_cRhd1 zn@JeMs-MXMvFI5037$5eMWC++Q&+TIi3PX$&PnU`w9@u#`7ENmTi($6njL{TU!B%} z_A&pak7u{WxsmrSXZ?_jf|>5$(M6KtuH>I$aQ}tgNP$YZ=oR)U#@4SUfB_d|lRqB( zmW`qSrci{yq3l^#6U)U&3l%G=IUiF(BxfQ8v5Zt$_!Z5|ta3Yhoe5=l)9V*pakb~l zBjItxlt-1)?Ocv2Rmq^WdbT^5V}ksD+h=vCx3||D6IkaYGNqCyc@uLypVSI>Ji^zj zjkm#37=(FOvq=85*v~vh&!e#W@iyG9Yp9qe81s6rW!k@f`kJDcArBNtl zwCTMQno+OBTd&vQ_BtbP{17)Uh!_Cdb#wLct~&xFiH}9$2kvlEJq|F{gL{vEapHp< zM?Uyie|)A*pBJ!3bEIA+Fk|udirDp*i4#E6i(ffk@H)v5_!iE=g-0Inq7?D69A*AI z`v0-^X5DQa$-3aSHBl5vanL+MvSdkRiZh}Mt$yl<{tNxo&;4+Jf51KWe|3Bjk;C5DAn7{oDiN6xk-2lu$jlf@s*cr# zzab`wL*D_;Z4bhlS4%8EVcxW-1Z`~A+9^W7MRtOkP*J~R5w9aB-hG3ix`Cx+LnME- zDW+cBQ8NeB=R5{^R^>+-@UHqHEJDJ6G7(i1Ptp*yIZ1;+vxj&=iLgO`eaV)Z+{%() zb^u>aWm3S%!C5g87{(31;F?A_XF8keMuWOl3;hvs(>zLNJy2gwAbB*|+WJPOuaz>a zL&`&ODa%5nshWOGUR^}k-UHYDFJ5tF%eU(66&eq|=wbt3s8W~qQ73K>ZuP-qG*GE6-d!53{1F1wJ>&{6xP|j6!Bk>q1#uNFEK0K!j?%rw{CsU z#Mp?sPsM&Z%FrzsGqn6bORe5zaqWETFlk%qy21GBB({!5r6q}21A=|ZIj1bvZog3h zc2X(qV}_t2%aq%xIxEa#jx%^~GsK1q8*7cOPreU_X%U;Q`De0!zizVkwE4tpGgi57 zmu9x%25F9Udu?4fY5KFt67w>ikVLpDILx8sTj3c(&_?$+?j#lJiAAHwX{9-Vntf~U z_^F}oR`+mY-k%;xKZVWaQxSfgrhWxcKH-p6g=Q=Ul3QZ(sl$fH*CT4*LmDI?@W0sphn(gm}4x;g9@9lAs%CpGm~dwK=R~L%r+~a> zRgZuCBq;nBa$*Tpm(^X#D!&8K#2WLTNuzU9N`Nl55~j4H-!j76(d zXLyo65??caO!LkVo>EMPvgjqnu*H67AWNW z*}(waDn;nK4m!j-ErDd)^uJnNn|{{~3uoi=$=S35_H~r6)Az@$|~qb-&NgWMoWIr7n&=IcQe zZ`A{~=5%`yos5C2X|(z-p~06zq)iBXWeC({J$pGKHu~LuXkB@`?Au~@ftpR6P>xvy z!)OoDcr3qc1@F5OF|lA$J2dq8a<;`DGs2DPC)#%TIwbeFS%u?7qt@_*vicoPFOm*_ z7Op6;&$cnaMKd7@zt3hrY2B%X%G+cJ8kg87LNjV9@3>+)lyfCkngySOfDwnCw6U&n zCqgCYsxe5pRke!LCAN_ZM3zH?vq1N7V&PxD6*^Vw)@f1b)>GV;F;h#J1+iQ0jK{t|`)IeG+F{K;+J`Xe^@1s7d?5jj zZ8O%vIkG}ahB;wEi`R(kGNe69xMu4=x)ZFo)9quAZW6+0ni87tG=}PZo2nf{ytHBr zsT~!Jp=;R4Y4=aNO3MY`8cbnkjm}1}=>Dy*`U3-7Q0ib!AB+Z}HvZ6Zbcj%Ykg6>^ z`%!R$ZCt`!6KAnGIDCuUx(lgK!B9zktKw&k(JJ{JWY^ilrknPj;9Q0Kliy8~l=>$t z6HxP}#ua+A!z0~eQpXHz*Y<8F+YGxP5*+TW1dR6z&q9J?b(2gNW=OC<<9$v-{-8GH zvRY=BC7!OW0XGh)b2?V(Xk5U5zHdf>7!y8hwf{W+ilc{N1odg=ObHruw8!Je7GQ#- z7yuSDOw-`0@oPn4F+=JN`YQ_5n*e)CzDn@TMurjJoH|q%JtkN)fwI^EfHS7Sjv26Bz6!iMx_t^)+UpOupJrW=xsO zBE8=<6YEo>9jdu%^ZH~`0A;L`%vbG739vCP?D66wgy`1xb-YdZG1IUf$Z{sQWFl^d z7TST>7OgLt$o<~I4wut^;o|-16HCTlO@hITfFbyh`cTY~m4K2Vq(CX;9`&UoptRom}GaKK#WW8G~7iF)x0D`)9(-V7u*BkqZS zeNhg+EWZp+mGg7>Gap={KafmRX^NHn#;d|=Z~;&?^D7a^(I9ev3i9=1^ry0rUw93H zrSj`wq|6fGkXeD)1!548DGBy6;;##MnumNL%=4~oECyFH!KGjna3~T>YWmlBRqh3K2(7~Z#wO5q3@s{ z9WK9K+bqGPY>@`RYc`m%zP47Req37Eq)rL0iB*pb?SxZ*Wk~6=TJ{M3Lh7jUY6b0L zVp~)m2qdBX3A$?PdV|9(f5b+2MUYgyd|wybT5(N`18h)fRFvm-21+`ZQ&NG}P#`MX zm*t-+`ZGGO$bU-IsL~RP#*1`$?Gk6Gwi)k3}t%1dG6b$o&+wSnbjJmGta*HAQ1gK+(`i zBGfK18wkCX#`z`>`wGMMd1$z0Kv~(X4<*(C`0O>ALY1p~!QB*0nm6AimTRX6U!D(r zf`(jkVT;8*Y$s|iwd52%?vu5!H6^~*V#i7}8ax;=7X0jWGX>;cP{#!{dlE>~q6U3G ziB6h-i&UB$Ng8e|gS(r7<90Lzcaj7pF)_I)YRCNE!hNs zEO(-Vm9XBZ7Ej^#@gWtL;P3jExS2SxnXvSgxUe+QmrasRNNdmQ3}b(Jn{MNL8Yy^r?36 zwGZjF2G(`T6Lqwz1|HCD8IuZBf$Vl6D`D&xbK^NU$v+J#qX zQ&KRCR*#z4<|4rj9Q3lj3A_yp&+0b2uf>m5tF`uDB-oDD!Z9vMsQk^!33BlgV1k@xDpPpZ9>~X zlGsrrNnqhilZYv_8ytQ`%-`mQCsoYSuD1r@L{e7D_{!BqKKMFc0`I#{ooCFeU2xtV zmb4tKf+G|w%#NCExc(kEd(^@EL1c?p?m6J!t`2=O5?BMS&D)tJ&c0E2pO#{lshjE zuV^XQEau^&f!0K%fJ(*MJL@lh&183~T-~ACRd;ebVKZv&u^$k!p;w!WOeu9$~^trXZCttXOT zc9fFhV zZbDDXYiAkEAb0vx3dXD?+AqT+3j3ZIPaHgE@@#RRgp3cq40|_v8OSEr$J5T!(K$(o zJ{zRLDS6yWX}n0!WH>N9K{I+o|O6PqwzMM!3}4Ou2{o8+|aWpr?-v$ z@{gyn<(oNqTB-PdpZ{P2`=u8rONi~=Rc-E{NMyhG><=WC%Ki99Q`m2Pdt6FmeTR?O z$F_QUefR?jj+--@Kpqs1SQwQKcvg{6NewQ4x@8x`xUtu&;2E~sj+sdk148o571oI( z%1p7;>A*x+Hj9%kc=w37BnUwzYLD`H`ixV=m|VegZFD3P$hK;}C&<%oknortW$ z9NRZ1qlL)Z>`60**vd&WE@y6IedeA_FY)-v?BIbGqU=n4deRh9ru16vKidgAeD??n z_H=Mm7V>62FpI->xLYM=E@UH=0o? zfWE?}ptd>pF;DxjA*Qyu%Kj=7n_{i+r-_hpie?mXClbyjEk`0B=mZK<(3Oqn9yyCa z`0X=f*0^BGgnaa55~$~w1nkX@HNBXDnKcKi{V*4Qz`<0`Xcjz*b1E&W5B9lg6H+>d zEJ9w*8Sw-*vB`4jag_TMS_y82=j<$d6bG;I0qvTXQHyUCa#i#AfTSwv-iy`fDIE$~ zNS8>QcbL!J;Q#!Bvx2+28Xpv?xV|SxNZ;W;p7m=~i1JZvq|IZ_o9f1L<`84@(|#qd z7wY+cNiX*A<(7eOG z>rf81MXh}2-*V4_zXIKj+Krl6nq1i|m2<0WWv)#XEz~-s3N`DsYNzg7Q-1u_H&2Lt z-&c=W4TzoAxGx%3<`nHCf-&$^XA2peVP|81w6J9Q9HRv;+ZUPTu(-y9eVQGC^zyiM zq{p+1jP)dk1mKnOW(rW@pBhV>Xw~{`NYcuj35O7=Fg&-i2`c$!*y#>RUa?n3m(v7N zo3Ap#+#=})=_itsKRgQS%76bTGOfjtS-HC0%O+cm(&NA*@sZjGRRdUTu(|`!2p^7r zjX!Z8m_&1DHLzVX?hmom3{b98pY5XDQFqjk&3(8j}yereni>s_v!CQY17{k z&O~s@@9;H?WR<9m;oSvw$46n5r?#l;S$N@T5=B{I@l@O1xioG8I^2GlZf8j_ngd0!SAIh=h5A3^q)--SDJ1CgDzF@!s?*?k}DeZ#?176b>7ECQyyOl`@W&D$oka3l-tr%(uE zJA)lw()Gh-RO{kn__I&k71nr1@|y{oLcH9J#9xAG7SCRT;cOB!aVP53MWxPvZ!;a} zI}D;Z=i~0DaH}j*{xLDs@Ac92x}9qCsBG4wxRK80Qi?{P6FxN2k{(Eo(Yn&r_Cq>G zMxPUvW1!snyH?S>YnblfwpoJ3fuwM&5W8=h7G#8qelTNL?ec-S5BZwb{U+~Y*ZPr~ z=cI>$pTuhC&{WQcF@tc+gUfY)KpAp}nv-JdJg!7px)avTQ_F;pO{}GL* zFp4UshDI?3Pam!wA39`Rk+uxjsPrL88zQVX_@Lk|2vbRntiLH>Vz1ec4#IrA*|u+0 zhFgHb2F>b5&0DP<(Je=$8*AQ8M>AA_?OPRZd$^3M-9HkY;4%i#$PgZXM58@f40pSJ zO|xh=^wExq+R$go0Hs!`S*JArO5<7u`Gz_Z({xGCYT5AR(qFc23LxP znvpMQ?j41d&VQUm;$Ojk+xwe`$5G0?O=hY2Tdvd|4Np67LfEojOVP-eHam8_>Wii` zJ?{7XWP&Eq@4DHgx%m`Wk2_`#`dDxY2AxQ}-1r>UWoE5Ze~UVUv5i(_d2$cSV_%XE zLUPLMKGGZmBwaR&Q%(7()yO)6HC$3e?BuatmoUoiELu#X zW%*s4Dq`+P>Z}=mlndq*rMA5K-6MCb^9$>4Hy5!wcO3l0iPLsBzUAszYYlSSM5mIZ zF^b1e{z&pTBl*%FO1{?el~ar?0%h|T&Ze7eTr);?LN-2<-LP1s*uxaxXLfp`$^#pA zVXMyGq;puuI}tPExu{m_Ve^3_6$|axz8b?NxOXXW74fZqsMV*>c?pQlI;%>xtjxk? zK&f~K?Su{%<)T;TpSuYSoJk-G2i3jMnI{`%n04ZG0a0VmVcd&&)Yd5r%~jlN9=1bK z*;IwWvU&w|yN>(ZcsWw-GP$cqX`^fXnyB*!%wQT=xG_U+aMZe!8u(5f)Ndv zK9!hVO3bCbfQ_uGaad!>W$@dp@JkAoI|4&|Jqv1UBF`FWMe6Hm#6hEFIXgww z?VUb&(yGz@K74ko3(b1iVVh7!bK4@Ujz0E5v-NaB-*59}#QTkzi~{W5sjeeR*+N)= z?Swe*iqFcOhU}d3oMKIK?sh%f6mY7>MjeTN<)MMq*rTnb7`1RPrz6Sfa;JxPUgzbW ztrX!Q1ME-jm(QOcKQaE=Vq$BE`+`RvKS@Vj4DRr%FCN@JwH%{oUWI1-B&;h-Y}u}; z|KzMqHF@}G)N|Xxw=MxVKD-D;yE)M~hbgb8JJ8Y3$uW+0uU?xb^=a0wIa6i@^;i6V z(}1C;R-K=c`0)$3QeuFS847-Xc^Ky&Q-R%v#!oJSc|!95p^sHUg4=i`IY0fxD>{3= zv*{kie)JvHhSSEraVgpi)Ls-%HahsQHAycEC{v~L<~H;P@T6Ed(2h5+po1(Q zaC!TAiUiP=_ZASc;bvKJ@UZDDZ!>#^>n^?(OdBE_2HIFLqA-Tu7n{Ku*!NzNpHgsY zb7ejl*6h4G0#)H}ZvYaM3`FE9*&CSFz4rSi^AKb8;-ookIi>tK}Csq;|`%AY#mv z!wZQTp1-xZ`fei+lkb&Wh+d6f@#~MM~6#E+(yh z#fLcEDJjL$zisAKp<+XIO)#W5jrypDO9ORX9oz<-{S0s)iN7eg_7)AF3810I;z~UQ z5PT%D!-u6`aBdemapHh3V$T}_f`_F1DhdwZLjYBInEROXRd)d!OAEg)uzQMoAd_*o z!F5KFlN!_1s}FqB>2XAE|5TFFfD9 z0uSLhnCpOx;gqz$<%>Z1wqu6@sLZdeRGxd`Sugy8t5?zLRc!TtDqKBOrSfBthY}B8 z>BwD3Cv4LWE*q$B@-dq>qK*8;4^JWF;AqtSAF}9Qh(`go6{NvI(e#4+<>s$M*O2P~ z0nKc(co2&72(Bj{iGh!rm~h2KLA9IP@yvZZbP1{~%9LX<5*1I$8Gp|YjwTC5C;6tM z+G(`v&NdT$Ex6-4agL58^#Ufery=4VA-R<>Y}!G=W-T*O5Jz>X8;fD#_nc=+7iZv zn4UN1Cp1-DK2FN#F-;W@4jwpnQ0-t$JfcO>pLZNBKGR(f)0X!hzx5vl-}wZch=$j}OHfcNQgiR}?T(Wglle+V zeJ@oP5bCY_eXz&Gm4EBT$-@{^JV_JlNvNi;&|;F6Ms(x%UMP2xe6R(tD%w#Uc8RG? zoaMT9l@^P~&prp=I9fe_9YIWOhecA1w#DiY8!$G12;*GfUSIMmkKll3z;T ziMgkv%Y96m1QZ>p=Dx62dALRkm)J6&asE=G+XL zO8oYJlCoBm&wW3IF$kNwAb1WMb?)7N2;J#H2#`vyQh^N!WzYWMB-7F?gVMwRz2qg_ z5UDwg)TwB~5fpR_q;8FS4Y5zD=kv!Ha86~9FEF^n(cKQdxlnrg9p-WawuEVqdra)S zhj;H4+H3cGZ0wth#{^*#`T&UQVvDwapZ~vqzSwM;!?H1;Y^Gbxj|yf}K(lp3-sGhf zS9MF55e*e1l2~&7Tc!c~<$R%7A%4}JQ$!Kh}PrdX1mT})SI0~;;4Jg0n%>H3FF=lUT$L9d6`qa!`xr1Mz;Ka zZ@It9at`L>Z@KNKQSPr1+t?Gxdtw2pQJ?1buq_QC%=S-45po{J&*Q1Yu#)c83*@Mfe;OUH1zD7MFR$W+oSl!DRoe z4#pEOXx5JiM0xh}5@S0-8f5zn8pff2_4HeKiKaqr5buE4#;;V&`QX&s`62}tD6qhP z3WQuJ0JcccMLN9GpT))HWeVu2dPD7&F03)XYGDWcwC@fGug{60YC2o^3 zbpdUyTZx7{=7gF?nsN|lbI1p7&cCMf8T>}REuiF7KK@(ezgqw^K#&C#5mqFq3I+Zh zl3xm)H=zQJfr9-{5)_57h|qZx(p-wDF#l?H6et)_QPOX5{Ef5;G67UG0Pwv0n(r02 zm~4w9TO4__jAFfcv;3xr|55LMx(H|YhJaLC4i~u>@c~4ny2XNgy!eLy3Y}6=>@5Fq zRf@%;LG!2S@1*BnZ+)Zi7IrQseAwoEk^0sL(J6Ifsf;3VHMRN_%fRYz6AqavQ0e5I`QSq~X_*=jLE@Ck9 z&z3;>>qQj(}Iz<;g1f{ zYsJl#C2Nc?KVKq$04;f!Qi$ckFYp?if^IAo^X0-@?Cop3x39fhDwb&V!atN|3mZC5 zK53Dyf-HAZxh+`d&W-`$0|u)>!h+VeV12b@+6T z{e(Osj`$i=7!%zI2ap*UJisp1nskn{`e2U-kXe%!mU2>m4MP9sIo7%|z)1AfK^_^# z7~vis$2lH51Ieg-tI=!{6Z#hKV8$QVq{hGk8j~Lewtavz2#z2>QQJbK_{Q6?8P(`~ z#FkN$hVj43#HGxFq%(Mnhta4dR&F#xC6s`vio_fw?Q{OkbM_7MY!ycz9-YG4qSxa$#$d` zQf>*tGbrP?$GrjA$ z0ocqsSPz%3tlrGKl?0~d`(zR;K3V%=JY{b7!<_*jo_ykEPJA+Wxn$rcrv!yU8wM29gxtxZ0 ztAr1B3eFiA@m1P~0Q6=W>d)&N*+@=!JB`bj`B`Yukxpan_~DKheVxS2R|>mFd@m`Z^!O-} zgvt8MlF5BmGRsjAZooGLBwvDAQLO0gh!VBV6ZkX44(gUI_NgOdAb66Q=3}+lsOQ9I ztPzlv`Q`Z_m`cX=1vLqD?sDtWMp-CPv#%HGGPE;D)O#&247~hEVSEpyHtx39M0^SwXTZTF3LXa7jgHFsJl zI^ABinTPy48fqmx*zp!QMh?0~9d;fZP$d(_sB*qj9ejb+=Q?(K==1&{v`sjv!Of`k zPaDv2tsffvIF%TrOOH7od@pPgu*yLa}V4;JoNpI^0*{iT3#+J6d;1~<-6Cx>34;Ntzhb1VG#!D*YgWM z=U*+!UE_^+h2=tJu~1qsQo_zRlAi&6o-gMomaBLf;k2Ta@z#Ayk@wLgYHe zOjK`ZM_6V@ZCVBwIkxo6!qU3Pw_Hq1`CNauQ7E%mi;;MNfCgKgA2Fy^T)U2HOl`#G zBnnfoDinl-PT-_ua)#Ac#=$6jshnR~FHzfhD5}}(3R{jZEC#n72BJObgbzHl1A}Na zzq(dhqIxfuY$j?;Hl4{;K`*U;te1aHl-M9vH&;rPO~^f|@YT(JgfpZ%EJ(fvzwE-0 zP^su``iKGJCfw9sVj{!CIh9OSYpcaygYy#J$iEBjOHc)|mWoR&rpfJFiOE!L%j4VB z{~HDOaV_omyLa!N=6kdTw4j>V4H;5_*c;wi7I1et0?6{(#tIvSz5K3!+F*xPcp&Mp ze%SQ%G?lOVAr4%)>y&ORy zRt%_njwE46BgfG2$@TVsAQ~|V`RGV=g$)GoPVn{7ghs8MMs+qFXYwEunbLX>9`;jZ zD3Q~|N|R}wZVW)6S-&2PtN41i_Xp5bJUz}o9ZyqX-NdjSJRL}z`T5&}$W<$|4~-vI zGu3{>-Z&q94!${#a>FUbW;9NUSZ%)bH;%YR&38J{r*gChkDd>IGiaQmt1$*g>v^9o zF`cRz(@5-=xQX`laTGe;rcXv^ZSg%imR=|6%n1o?&W}%$fNTHkq?CUwZ=N~NPD*L> z{_5xyGJKw%fXG`>zC8)KU00qQNzDcoO=16Z1ZjG$`DPGp)`~NTICEqV8l1(XD*wQ4 zGv*9z?gJ-;Q=EQ(avX(g&wB$%OIGbYcs__kU2d9!9l7ivAj-ADoxwER z0{v^hYn`tK<6OJk$|lm%XJDO|vW#`Z!&W?l7X78%Fg6G>Hc+oi9v*@8y5U+snU2bP zgD|d%zd4q~`_fkfi8sMY!Af&Iqtuy3L9Y!m`Is@IjozGpE)!16-?pt9=AWhgxux6>&qHA8Bd z9%pt`6WmTAQWhDfS<&CWIDr^*)yn1(7tSY8sBhqmH~vmd)v+QFt|=}Oq`AoFXldxX zGACGpiS@OA)6XD3D8a7CVp(%}s@#v~vXIz+)~RQqQI(FpA?Z>YxB7&kIPbiDNkDMJ z>6CY|&h$g|@>5XK=m|H0{Rr>eJ`5c$xz9jjn6TdIyrYo3OldO&>i^V zm*CDXE5%ox5OQMG7BzJUv3*a!={)?sz1mpYTn~m2q|@GtgjVRpN+ILr?7}YxO{*vR z#jnAazrF}g{aPvpr+@wR*IY34t06r7YxN)s=6;QOcBD|p45x{xg!d zLea@os}r~#o3_iB8l`wlv#uV-HMD)J`^4CKglPmbUO2OknHq_UPqXpmKJ7!Ky;1j! zbW#?N^xkiJW19XzG2v10#a8g;)|24O7P}08I<*ClKwD1$%+tSl`nN#;7K77UOB-tx zS|&8)(&!If%eNpRLJ$rXi$s7B`xV+^JPT9F)B5n15zyHR&TffR4hV`&fM@ls!W;Zy zaFJ6N8Clc_r(+?3Q;=l(a_bHKLj+<+TSYDxOTq9D3dRW`6otQq;M|r<1D)Ao!IZOq zTO#~&PJWBQkOqpuc@rv9!A(#TZgF;R_^*KIJM=M>UT9bZihr0EA~{j|sC#|CZ?=m3aG2aCMuNoM7)G?1(`K(dfCqUDSa-Lks52s;8&(KqlmWTyS$R z&0KIJiQEVeB1pZ`);SkkcQ~DaGvZZnE_mord$d&VH)`=rT}=Yc7~6nz!K5Q=h25FW zPGgR0Y++G6Gv9-(@mz2%0bM7qE^JC3UJ0qisSJ21+<^M?T#$D-mCc^1GY2s9iTQyU zpZ|Gao-`knXbGwF(mEIXbX*pHeOyo?`OD*yC;6X5+Q0`;&x{A_2I+k7uzdM$YShCkqoGi{a15*_v=m2VAz-P?`F9s6(16MW@JH-F| z2NHoRun8XyOqiGnb0;D5vQH#l$V_Zz6dNM9ce&aW5B$qr8h(RX-eiJ*3xG~5A0M`A z@Zj@6?Agx+vze(_9BGCXBRs1kQvA7K=D0N0;iV>cd_)2{*cr;Bij!?LVlMdCBhtj; z`cjIeelT@pSbvOjLGho0k5!w9MM@G&QT8;_rCP3WGZy(Dk4m-5hdDaP(s8A39J-^HimojOnf3pR<>+ZyQ zv!R2~FUQ|bl*QombD8PQm#x+4b=A#I_W#ULiS-&Jk-+0tyzzT=J2^ttYgdAeVT3Uf zm&nKsYH%O5=wJpepu^7RgXYX{H1UYlo2iNj0p=rEKU~NzhFv=9K5$R{Je*IId;vPx z#Q0#Jmh@g(VF}qAO91H3U%hsj!m@I?#|PA46Ch^HN2HV;zo#Qkp5{< zD&i(Co*i(S`oCZ~AC1SUWzQ zodX3JOv9ZO#*x(>f40km^!Ja)X6W>GeO=lk=95kNhFBE&%FMB}E6h*Y%pV`0AgcGk zT>bS}O1Tr24?I{5cdIZz%r=^iSb9>a#X8GL`mL1NSjU$#y~9yyTlEL|ZnyK#r$%2h ztNh1O+lyb>d}3ym^Z$GUc;N1+QoWN&dnyQ}r1A?iw zvp-rK&N88QbdpYQ*mY{gN{Zq|WgT|E;*)&6KL>EV)i!haCr|750j(1ad969gr1vtB zcOV)NbHS@Wf0Ax}?ai9`xN1y2C^lLjLSm5q_b>kc$?31({4;$aHNyGwU;m56ILTV{ zo8_3n*<(n1Of>VS|Akz5Yzq7cHZqY5>`(BfU6-xw_#LA~rwZH*ukz{Q#mVSVIwUyh zu58xHr0DcX)*X|wl(D`(KT+zEztC-*C<(6&rmWtVf2-{WeWot?tbfuxu`#c;nuq+3 zP>zyW8?Nm5KHy&V%~l@4gxW-W0`_cM&jpvai@PCiyNeM_sy--&AH(KcaB*9%YZ}pv z+z3rBPk&2gywvK+NjnK*!YLmrJWeW8 z^B|p~e>FUM;!AJo96yKG7YFjV0kD-R=az&RJ(@_|hnMby|cx-;9Vedgz*e>iS}@z6W+x!`shS?=`g6}pH16wlCd z$On=Yqluf1UWJ}y^r0c#ejl2SC2i`LQ190tELRU2%|qLRN73@?8+G<(!dkP@j>DOD zbw8S+Fs|4AVDkgHNbrWg|K_ z2g>qXFt+WjyY!{WZQmZU7+Mspwn5sqO7~{8_-C0*%uXELdM|qd)#$e|`Fo z_f+y~*ob=XgR9$c;Aw4EMJ>}i7l0_SzW;lgQdL;wn<4QrGb{NS2~-=t3)!QDZaWq7gf9oSrjoeIuZs(Mi!T(m*qS*R)m=pFQ$ ztkrx0z9D;ZVh>JNs`Yws6Mx;B6&H3_qpm*qAiKIq*{n1^7g}*}nE`IaQ1Cc|_1*+i z7T>jyIJkwFf63uxe-Q_F(pbIhmMX--1n>qXALN2D%cg)~3*b(ma3?wtffy;>D_&Q% zRXDj^Gl22ZPsmx-e05wvi0C&iI7loNB*YqzgHesKsB#=!M|6!{dvzN1&}&}#^m?;e z3-`rx0GHMimmHV4S6ZRywdI;!>smTI*om4LMfEygHB_64e_JH!SjD8Tn52LX=^e^2 z)Gf+~Qz@Fwb!##grGP(&6=KjZED$Enbcsz>%GPQ~c<2eqrIgH z5954XsDs|z8w6J?)y&IiG`!cG)N!rDrO(i?Yw%vkec?b{&eoyyKHAoV<;;uk8wmGl z>#(rbiaOP%e zkp*Kmb&0K}qACp6=&(i$GBr62&l_xLaYO;k^`WL3gE`cK%nE_@h?8p6YzFJq?mk3U zZ0^Lo+007&QKxHTVzP)!P8@Jd%Mse2B8UD6KU1l8fA*fq&vW^im7f=AfX<$bVuoc-YB7t_`n4P=F1$zV((+_3L1^UG(p;}T%b_Z%o zScT>+Q5v0n7d2Xr@?7vVV1Wh+0PFM-;>fs|lRiWkeJ)1KcS{J$^*V;nj=Mq9(h`8l zsB8`B_%~<=9HDTl+BuZ5a|W?GN=iR;!eAY)e_$#R&ByRigQ5r!w=`lpidvCjLU6vK zR;**rwu`lONA_J~HHw;xZ*gLpg5pdDS#aPrG61oEfGnxtE5agkmK@bxU`J{thb9!| zf3Uc~y++lbQJMGV5z-P!MnY_3f*aAKy+^$y=E(5^|K#F3dBYy{xV*6*_6QJd|z}L8+QlfS5am6?Rh(XRI<3+*9mhc;)h}egw;-Ax74k(q7^cZTKZYta2Z zeBaBlUx=knCkfzFnY5Pxcs`hSRg7D@DHHOC<){J5wl!j+e_T#ZOZDhVu@EvB zwLG2~LPb17;kJyZ_F*~VS&4~9sn|0NSSakSvuLXXM6Kz2=gc$(cWS~3?U+)izf`Py zejH2UxC3bsrxcRN=~4!87L%T#xYJ0TP%RF}c-bG_{52nSlVVaKrqRILk19-8GDA}G z3Sf!_-$gF7YX;iae`F?09WX-`y(l$^sDoq6XAFLShS?J1zNE#^dZsvfT@vz{(ZPJK zx@Im>CTviLeI4ULXJ0ZWz(4cG)9ZBRn=pbi>cZ%=Ur1#U#2P#!O; zCb}3VZheP1jC-On6Vij~h>7dT)Wl${!O}`+q3{wfg{<}Bf5@RJ=3+ciMommsNJJr$ zuRGj?MxCEPOQCzonF=0Ysb=_*R3e=PE($PZnZ`Ndc{mib*-A$%v==t9n{lZwY82`j z%9M)3Zap1NC8F9!1_-Vi7kj*Hjww)Ruu4k2WIVIjtT(&6KUQXw(HGPLeiYBoNs8}i zK(T*xWQC9Me|oOP9IZ_zS#?B^go?n;67Q4h?cHkijv#iSqA?O@!(OoLpukVJi_ zEI3tQ0qU{YL~$cj58E(HS)!%+plY`*8o)SxkMNK2e{p=a!Xi{$c7Rq3;dGMB7*i9y5IGu^nR; zY7+DQUCs3jpkByaOQO7cn_7M6z(}StiKa&d3^ry`l=m;?i3O-f%Z*k&>)LOK za0lGfG$CMmjmpkXEQS*#aIei(IHc?wHUEO}f0_Yu>3qy+B^1wGvW#Cc(Zp1qG*E9Q zj~EzF zazIu5tN0;AJ92N2(4nq4A@N=dda6Y@QQ8X(Dn`+VUYkGJ<9(F65W!fJ$Mc6g#7vl3 ze;_Jww40At!SLeRh`x_AbUcehpWC|4P9V&OWcyS!#2~g9iVzN;W_7wk04H%;sH9^Gs6<8CRqj*Y14b)q ziewp*3)D8d<^yLdyL#T)mFFpC_=Y9Uf1B4i38RnYc*m^@DDR1HGwB@hqxhb`j{B&w^xf>f)t%g%!0)CZ+h6Y%r`C34(a?2BuE}+f07g% zACePx+#_Q|;=@bn8FRx!(kxEk?j&)2pStVejm!1~fi%eCK#t183X3zYAjc^fqQr6r zQ1S`wN&?0Q3+}Hw33&ej=>p^R8Fo}7I&>8$478MtH*6RWELX|4&~Cx->ji^{kQ z7h1SLrkzY6x;f~jnO4&m+SO_%f8IKIUbJY6#@L5>D)I9f+am^tymzQM$$d0sLsNxk z7oN>b2{mq94{APUoNHr9J{!c!!4{96WdtN1BDE?TQPfQx!T~O^qei&9xTx_oLDcEy zo9+E7ZO|O=*5A}WB*uPC+fVOK7-EV0uXGfp4_c|?{I1!Tc>$0;`I>{Ke|GCBhryQx zD2*>K53^c(4Eu~h?O*lCKxxGL%wfP;iZY3#3fJgZB09^fUMKGIc%olBw#>r;;dv>i zY+#AYy`${n#$I<(LSh9oJw1VF;&vX{L@*mZF2C-v05t@}C@-p{3s!xZ5@Q-Dl-7Ry z;n{P^!Nn{8Kv@{F-bDKufBKE(h3C&_Ur5;ws)kD+s;D3mlHrP9x7;%n3vrW-AFUQ( z#ITR?Pu@PBPH|jCSqvXKEI@u5lCZE3lN^?fbirPW>@p{>tiO=6p)(YZ!t#)C4tjNwgjs?=g)j!3J67sK(*+SVMee&oRVZFCPO8z5cA;Rt zVy&~bgHOhYyme9c z@KvQOAjlrai^ZQkSAJsxG&>7tT$1 zWto17Z@k73^fr}?$v9Rf0`OEgQ~3Z) zr5^EPX6QwZp$k+N>oNmEDli-d#p>&ZX3+sn8Y6gnQ2i}3{u5~%Kd62PjgF<TO#4~kLmDvN7;&YM4psv#B z%+HO39-dzGagy(K(Y%KkevWB6e^)sORcPxVAyH4XVP`KP4Nonr!j9BzY737u;DvBV z13a`Ea0%9A2{4Jek%nk2##02}B*WwEZt}n0S zqav7~m6*YTX@D{XM!ooML|-;hJG>mgs8Ts1JKiFD=CVkm7C^{$sE@$(H9E!H#o?+% zaT*m473UXtiXu8(HoIjnlDp@`AtmZG_8Qn6h{VJ0rC2KRiPWzPf3I+j@Dzs zM2#Sc`z8yvQ{nV#A=WTn5pkd(=7q^sy6neX;tK+nd(2B-q>n@bo9fr;W#9;q45jq>o(Z;nsbg(#9!P&06JA` zqKTHiH>1)~bK=2g)P$I$M{C)3W}=T6xCliwN)OOse-hGLGc3-~o3<7MxTH~=$IFxr zvYe&J7F?*b-GVsfMU18bdffuc(b8wWDoH`r^rU`Gb)4G1tP2ZOT~5N>jepy!VThta z+rFpid*X-%iFR8%!GvA3aTQ+}wE#U=dQqS8I?ISy>FJQn50p|3d2&BpX?MAVy?7tz z1z}wBe*$i_`mVt8|=95oH z#UqhUy(SLZV9a^Q+XN~Bj5!C5xv*ZT+qjXMe`J7@n!Mxy-j;l&;TB zZ>P&Z-hzfB| ze2T_<4p&b2;Jp=IPE6PN-FnGq*Cl?023TnZ>N;f4ZN8ZnaC|(46)^QZy#LuDGUBUoQ#Se+_XTo zTpZTd+F)iy0<>e^U1~sMLnz!15u|n9~ltLyLl6s0sgLo~8BJ%`qf;?9#Tndd3_KO<#q~`$8e`A!P zI#-EVM3&Y;38;t~o3jCsMJM!Qu_s4i!*VBih5#&59}AC)ANS}pL~%K}UN9jr{UavA z4=v|SEM}_Tomj2Uxgcv_WZ+UITShklbppy$Nd#ZgQY*)ON`fgEy9^tyIPu;I7tY5< zYR}2WVw}4y?E9DZeK$I3kxmGoe_G-T4vrDzA|gQGLu6a@5=iTs$n!*O)=%1D@if1% zmTmM3>*QR0pcSO^bI1A~n`iPk{Y)OGpUGprU8Y3lW=8^|h7yB0HutJjKjyM{JknT0 zM~v|ge0Ig)Fj2J+jW*w^EJOzfRY>^*vVa(d;5mtI;6n&R%?Mnq4bLJ=e-l}*@-?l* zDL2$q!^rDA$8gi9Iq3A4h-w*lkr#gCJ1q*W;X@jj)%@R;*7$rp>c?iaZolSNilzWW z(5kkn=3Txkpz=_2{Tv=*Gmm9caJ#Nv`wnXWJO>RuT%pD0s>mGgshD^%7yfZnA~@HI z`lyY{{F+}la6mO}vXj2=g*>kC7jHxOtZT0e z>1#%*jHuav9h+3=vtZZE4PIt1ARc|9MQd$IkbJD<=Rm5I#+f52@$KrAz*eJDuePt( z;|93d5a7sCu=Gm(h$x_YV7%}@@N%zej%44|Vb3fptCFSMk1f3bvVo?a_?Y8$IKV_L!{ z^h79@*wG&Ej`@VREw!A0!TC~6BqD-8#J%;>?4D^=DiMo5rG%)F1H@W}O%C26Rg>|(>t;~Dpfm@FiO**7W?esKR|?t9KNWL~V;AZS%wFL0F04b2@y z-ez>ua0N3*PR%0~nMEDFPkeG;wWD-kHwe8&Zdv1Tt?8KRs$ zhlOR*7D&Lf3A9z#*WK4N8y1w(qR91dfi=-RfId5U5ZIQQ@Bwm-tX~${lVoWGrlry5 zG>?driDP5CfW(n}e@ zSz7S>p`7t-W&%5GvHPUjzyr-@z;NakSnGFM(mu%x+ZWZ~%j$FbHyfO*F0fJC;7qlE zpHtP!GyHiToTfj|_^*U#`R@z<`yK!Np8x*9fB(#Xf8@V^K?Y1d%Nfja2D1Wr0VMzV ze-3}X$DbeY=g;`_BmVq_N`?~dP-Le{CEKYsVoJPIZBcpYZyg#f8p!wRjc7Tl^@M`9 zt?Euq=X-FA!j zT-guVm%XKXG=NSY&>Z3Q6d{Bq>fo>Ae;_vyg?EF>Z#%(sn&NYt+JT4^#)~mQ`P$%P z7~Db2>=YX7gZ}%hpVe?fAjd8~U zYUsF1Q+&oJW*ED+hX7CC%z2Pa#*O2so*qSId()Epm7}Gw$5l23yOKsK{6QLS^Y!aK z!dRfeb1mGy~c0TV=mND{CCe zTcjnf)T^Bj!Sg?oqRHRq-rea^nOK;kiHT`TaK#|m-j{>lO2WHQ1>JxRf8p7)XGdXa ztGi*aW?5%U%(t-idmUobqm1tfe9-s$vGl$B4%;=WQzhEn^*6A4nKUh*+_V*0U$dgv2KljV4Y~Xs^0ITvMYUZBUKu+=w{{hAcL+yw>zM!(K_l4 z93vcF+1ZndrSP&oY6kZPe-XIW<2^u(ap|lz&M4{Rw*YPZ+bIf6FVzNF>~&2(? z(Ic$MTDSfvSHR-oQ+k$Jp8$L3{GTriVe|(Qqc?={S3314x)4~f&LEod{`?P?1Tr0MWim?*3_x`LG6 zw#Mv5f$AnPZSgLWMpx=+yA3 z@(&rKG(tX^WUL^nwGwQD4-Y%;*l?ih!d1nx-9>-F_{t!ngM$WkuWEX4?4WO_VSSRCi{NWjAZuQ8Ho0#4zEA;2EPUR zpTBI8yEt2hl2Vo~%Xl5Ri(R**P@v%F7L$wnvSUn{>DY-r%h*aGF{ix@``FoQ87Sr| zWT?m@>y}>-X^7W9goo7Utx#ve0fZ^ITNKC(5)TX18*AOo0 zMTZyZ<}nZOxuJWO#QXZ34}mHoD9fZa3Gr{u!_-dlf9(m0r7`aGQ73b|I~ebEgfOKz zGeFfo#W>JmDhylRm5WFXPIx$ZFqghhfcQ`b15(~WDwy=hy5fXf2A3``W{YzZDz3~z z*-Cmrsc`0y)1i^> z4Jw~Ne>%W$Eiz&S&uIT#S`JDTRK zN5cKy!A|O8#h^N=J5}xs+-^ZEjy-^+P6a7kIwktI#u_|6?zY9@;*A=lepq?#GR{KJ z4o2(UQQ{!!(6y?J&?LL+@Wy)G^J6JykEM8VEX8-JvxcL9x*pcAbo*L@Cgd^(wgU9x ze|rb1UiHyn9|zG1Q7# zR`D!FR;r)n7e+7WcTMuHTy>4jo|3AJk?z-4Le_Wgk z8<1npK~)mIe0IW|80bR87;zWUZ*%+Ak6})%3Fmx6ncwE34pKI(+=99{%Q;6%;sw$3 zaE7y~(@DlLBg?(mm(?0IbgdSQ!mU>`q|JqGN?c4tE1%PV!!+O@w3iT|mEKk_r=hZy zo)!OMlBnI)XEfuV?CK!LWs`zfe+^^2?AAIFM5P4=c{y=SCXhIO@QlWShMxK1SxfPp zI$A@H;5iXraA6-Y>ktX51ZLL9%=(xYKIVmw`Oe3D=VQM2F+cc`KPMwznjd}4k3Qxv zgfW$$wH5PAJnPqZ_SthU?DCoQYd@Pv?$>elJMVKZY)&t{FTC)2<2wuef6k-$&ZGF= zLcjMYzV}M`y+{3nh5q1C|KL&l*+T#9QT*AX_|Zat^eBGxDE?xhe{oe8tDPDVt%ZwT zgrytDJOIQ&Mcuk>sFl4>;oj0MF3)wpm(;ydomwlk_ z(aLbh1>%r+!KGymc1qz%e~SYD^Z&)VT>C&Pcdf}dR$)N3IPk9eAuPfU{3-aXp{dx- zclMC7yRZ*xS%%IE=gR>4eTEXU$rRd9$8FF^vpC42T%2HKPzWxr=Pi#(46i|~;}l!o z523|rfh^YPXiCIncT3$v+Kq)M@)oeBD5vYQM}z=aPipmyN-Ldj4HPc z8iN%h`p`}H7@}_le-OqOGa7XKu}HLkp7zyhM+E(n7>KENOi!$^oqRiRZa655R{8CI zHHBO3R6j8jbHzhM?L!N{?7@58EOOYJws0^1b=-|wgjXmY&hPjxSqgR2;YxfK%{QA_ zIkFJ~i@5F~F!;R|xagtMUw9Ypl$d?A8EMC@#CxWzRJ3W-e~-oHgT|g*Mzb0ezYh6x z$JriE##LHWfIOrwy09Rp9H7(=Yf#6in-u(be$$gAa1Yrk#d9eoqa*SO7dTu^C&* zflDbsCGPfif6O%UWeMcuYCjD7B_^}jn8Pxqj2nA+iM5$)T(nZmLLZwsK-*nuAJX%@ zn9;B~Z_hfiIegUR?jw&~D6~k-TVW_dYe+#y?njy;{2U8`;3R;PXnJwkFf0*KRnq>4 zF2|4=3(~+JS+ta87nt-~22h6VsKxMdJYu4}!`qnXf2W$*T3ecA%s$jc?Ahk79gsGl zw@vUJM=RLZ#}HKN(qy-@MKsJXzvrWYMb9@Y`?MX(w^<8qt91TZzd?5+dfGBmmjNI&HD1;PiNc z{^W2~m#cQW)!P2c9I-<6I{jRMH)QWDW-LlyO~I`O&KM9LANiGyD+|cwk)0VkI%IUI zDL^E~E^Ux_kk_-!m(`Ha5*xJ$XNiJf4B~+*PYk2RZ;%)4MdMHfjPVnAtt^v zC^Rn)MpNpi6N)KyeFYurj{lSYa!!1=V{LnP7-_rNcq`l2l(A-MdzX+qQr zf3WeL;OEDT2kb(ZCeNH?8oSd&Bw?l*Ra&YySg{MU6OC)Mq>yxp z=6!R%Rucpw3tqS!36W}<@Yq&%cF6eTe`cT>`4b>aadU`IV%H@ELxUlY^pEPc3+y+c z@boGdQy18^cU5Gcha>{q&DO&=4~JLHXs6n=(+y=c&4s!2nr#};)PAkT4Mr`{_UY>e zt&mvVHekS~&dr?gjgCR@j6aUDL-C#HvpIbr3f-@SEzr?~+i`Aq-wU~*ogr+Af5KIk zZb=su!VQg4hMiWRhK)zr)AoI*`e8BWo-|=Kk%q+ljUp6CK@E=u%|qB)K%X&+)kZm> zO?|_QthMs>`a5bo;Vx<4^Klz&Tfsx;66g}nV$=|<_NNr6TM_0A7eg3#7sHbba}x%A zZ5HiO_SbIK8XjdCOHZK|2Y0eje??dxXh&_Xe&UoP-_iYRNSwbHTHMkc@=YV5fmW!l zJZ3SDR(|io3RD|>5Vxc5d=y}NYzJH`3a=QGc%vNu+$|V+c0Y<$MC{t~f-N~h$pf=O z+5ZU}v_`m)=NhgQu=dLwq#onRm)fpwGs^A=dd#$FNvU&=kBKRi08^Phe;tS_N9MdN zcgw66G<{<7(&Eq0pYx)=#z#!2`qh!We(`r4Z{MypaE?OzKlpeGY_-3(6z zgppWJTkaYYpdCIKHS3gte@?h`g)cD7nDp@?W(J~h{|(Q_G!6OJ)8{hxV`9c4WW-OT zcYOuJL^S4=p5oLaup)P!W4zU1RS;u>X1hdFm-P9iuIA^2Ea8*je+EOc`5!J=ZwDh+ zN+Mxi7Pz2?v03X;mvVK7lh7~2&T|-=*a}84=J{U^4`=|vkPQ#2iwtU2TiwNoIr}RN z_}n)mPzrdu*Xd8^oJ9QblN>F{&9I)U!el{CWZoV>k?%*MQq0AQ_)2S(gT30m+w{s- zCWyzfi<;tdS;3AQe@=2z0e-)MXwy^2q3l8`JnIAT%!pk zR97!&L1mh8%Rkk?WBhrNYs5L4V>xSJCf8`?@^VCB@;RUU+nlUy+%xg*cRct}TMQgte{87M?+{1vTqi^#qde^1 z&iF`W-qHMrH;NcGAf{8ZBN{+5=1ACi5FH5X9j*gJba;q%k${|GyWVBf7z}qJ^1lvYw%}U;alBlKB-R=vkRj=(~YP*U8{C>qSo}MIGUY~I(rs>wSy#0 zTApvRDu@W1%UE~?e<8wuUGtC&%tg(sbltdz5n3N&f9~V~Df2zu`D$|y)>rl+4byDw z(Wzmf*Xg_#ofHEChm-=*X7*7*7a4?J=mY2xoNCsH5BR6s;GchlRPiS6Uz*Ll9ZX5S z`gQ`>$9CULqZ6J96UZbZu8IcKFsTnx!!(y#ECfk&tJ$P;R#V*^fY^66AJcekHnE+= z`3_&2e}he?nl;yUnOK|(5RUmr>Qj~iVD0t`{KHoVU?dQ+TYy~UO(+m{$c(D8fDXH1 z0)P{^0wmD_`%+hsWWJiTwJdZS3FCGQV!l8j*BJ6HLuY!3F|sjBh^HL1Ex6I5PYWt) z!A(RATPI|1zrtpWFwB^dzr-=Nx7vm?87RPGe|Z6Pm2C>co`9rTV;RM^e#CNlf-Gr< zl9U;TViaT5RQVMAiSt=zL5P4C?7_uo%rSP;ehA!DbE;cz0HeiVCvrdAkBvcmTv(@G&^!l*;=40Ahza$RgY?ali^|ztF ze-V|6e=%wg8VniI0M<1z`*WIpBP!291ceVOHUR|9o5ZQ=0ahjmyI_+zQ{^+t*(!7R z)R+mOlM51ky$1mk#Tg?P!xG)VAxP=o?uj6ZM6j{pBMtsYqskv?RI&2Xs0NTN7vLwB zpDv?NO<85B`y}v`SJjunU9l;g@rPXr2OkbceYIYHbosZjCYd7M8J#-N8*wgZaFg>3ymzOqvtt`CGf3Ln; zS`5C=CPPg&R`bP5eto@ISl~~VD*3nhLNPyIT%!H#4l1g3b9#yqiQmeabY}PCZ zfJI0IK>=W?IBT}Byad23CL&T9FPS7z5B;(~WVX%LY)udI(6hF0{Z>8yYtQ$cbKE^L zlah8HGUJ@jJv=--{O;%Sw^7O%5ov!tVOVw76Tow3Y0Fd@6?QXl<^RjsyEVtL9BG0O zFSr&8g*(Y}gIa2J_x6abL$x%Twxz9s=a7duO%fCV9v*5QUcR9OWA$Hw-h zf5=SR>S1KI^U%9yZS&A?RR6E_?{oKv$O5RfT{EE4-6JzHA~G%>9)3~nwUL+MGZ}Dy zXU>Rr6iwFAcA)68geKeL0aDAMAfqD|guukUkKkMOFoL~c@3PmgbkS70NfJK`1SuvY zgiqiQCdew2WECJblkbFN*{*S)H$FP$i&jEPq_qPrvP;IPF9z_1Z;=&E>PQw&8>Jff zJ;D=3y#=B!-&l9T{xHX}m#tcJMjniRtUTD4t77YVz#IA?@iw*enGg8)3H+7=MI#3U zqt8zQ$+qp$>3W^qPiq`^<+zs}jp0PiH~OrY33A8-EKd-2R34L(0;_f}Nl2uf8rmXB zQ`^XPLfP*gYA=d-j2E2H!%1p9WbLFFeWNb~N~I^{dl|!I!uP_&s=02d6XZpICD+w3 zXv9R+j!WY`+&M=yOw@`7^$SH!Lo6Z4>&=4Beb;FP%x*!O<*FUxok@C7V7@z<5?vy! zO(q4-r$G%{j-a5@OKKH#R@NG*i*eT*)WGW6v$6tG&9N2G*ROVxM4nBiiO;NQs7Pjg zmgiHU-?t*owBrr)EzwdWDc>@GO@a+iRq)+35Kj0S;sZW>+I{e=U)!;u5q|lbzi$$L z_2q-a5>p6<%_$bzAf80dDmu_J1%ZUAc&zsDlSVsRlQ&#h0`E=Uk)*AKG~Gk0Kv>Hy zJZ-8$PeK%c2RU^oL88JXRBI<~&zGF8hLg4D^M2n&B0y?0U}d|@edhmv3Z4LUe&mLB$hBYSqwjH0YX(ONl_VA@l? z%3R;_irrP>w@bk&YgRm}LM#PZ;wr@C5A6VI|5|P0D%V|U61gtk4K(xR$Q2Auo{~KE z@uh%U#IIH$?3rbPU^0P6xxI=MIKhk$dCsE4a(qb6emTOa0)ddi?q6UUky;)jN;)io zMjG}NtTh#Nr?NW*l-IMqK&J> zz%v`Gedn4aZMRQjiaJv-a@X{i<#VHvD*FvnSzK?>>(nzg4QQgGN(jIh6V>MCUIT5! zIE)XD+>pn7p-12IcP5E}wfHoqT;r(sqp6(5@5auL(^Z&a z?DzY8badKK#!!+Uo3UGI=#td{QbRI&6H#L7sOfH?UJ)X6LXz`O_X0%~{L)3>&UI;A z3hrK)q6@<2bxBwjz+-`}pVjNO&QAh)kRi2BObOO?7o6rC*%nB!CGjZ!6(BUQ69gp2T(nlnEusDAV<^ot&m^Zh79l@U2SOPsNS#~IT6uEbW6kQB0 zdYVpItB$@Ngnpsjpb?0I#X5yoVE}7Dl)o(&!JV(|23Bub+!tb;>cyz*b(zM<01nR_rN^*Zpsl9yk1m34-WiOwS)G58) zmSu^99&NI`D1r+Oj=JI4YcsCH0O?E+Y{~;gO>x#6XgIc?AUjjC+#qYvawo~UviGdH zzhqY!4;Y}+=lul(a5$IdIvITd372F$883fmyY^5Bok&tKJxghn9Xnn#l=c_N1BpXk zrHtakdN#P`Xv4|bic=GRQcF(ro*K&9lv7@fHy(0JIz`KA!N*;|IBf1rP?{EZO!+>7 zZzK4-2-a3ajRR_DicF2NTUR7rQoo{0{Em-ROVOw$2S2SS>rHCH;B#!cIK(^`NP?3;4nvT}nvR zlNxg<#r+i!cE7q{@ zi$2rdGVN_h1MPRb!-YSHEMb4$w4-R!k~dC{_&nVWR7%3`?yLL!cNDtbi2RrUh%_5tLzgPN8j zV6+DHL7y&!0aT1wD%@vJxmCF}czRhSC`LL_p2dA~0+4{pH3zQ{`m zY|>T~6CJx$i@1NgnG^F+GfMzx8VX5wL)`!k^^6E`qWu6=MmZG+6?64`6zaXk6uXqR z9}c7ojO2eTA7so9bmM;nH4ENv76N#1ks_BV@`H53A99@e%da`ZGl9y~k4~pFt4pPTM zyJ;3E*7vD7KuY|vfY*i2OlG#5r^2O8pLW$2MXw0N`}!^3ODs{uzl4vIsSTq-LP+0M z>Utlq1^vx>Zg;yG#HgubqqS1J;KqMh+H<@x>P!mn?co#`2P&VVY zf70j{pr%0*7D)(k2c!qo8fqOt(;t01Ax+?_#1nA~uAqc*q^yy`?}-yncY020;IW zLA=bTcs2`29bpn;Q1v-NR0PNS63=;>e`c=pRsxuKd=;9EhapFFO~&pvfF9Pr8bTN3 zsOyHT-)A~xYZWxl5z?rm1kEWEn=W8}#E)LcUhwVS?h7j}DhsDQjmBJ7;$A{RhV(CU zCCC@bU=BBC2%c2TKpj9t|Dhzol>_clZBqhfJ5I!1w$2fu-Z<(NKfGeY%zXSAe`abv zH7f@~T>n(5q-B7bEh~m_%xK<~fVt7A_AjNm4}H`>wMAw?zoAXU^$VUV8KC_iL*_*l zOU~C+Wuq(3D~%`oXfgnaKnLGuchD7vF43T9lgOqIjp%XfS$`Vq>6U$-sM2skAS({*7}LS&WCdce81~;1Q(MOY)Ts_96D_@ zDDjK78+08Arb36#uIg;eJ?d#K1=NmN`8ujlelWIKB0^QB)s84K-Ye;q1f1QwuaCJ(#ULK3);!-qgfX+xRgVEu;6e&8|*CK&JPdy4k zwGxRKas5=fbm2>JqgJ18OOIj86H>iQU_6~~JG49eT{f&VMcqUL`t7(o^qzmZ2U|pi zkO>wtc*oZ(N8EW9z5Ff#eO>k|`GD9SNRe;`72*&flPoP`i;<7CSg3;#wP_ z*7Tv$hh>*Q-LKB^5ywN>_sO1AGP*$K7hm%C0SG_HlaTmK-8em!|6DT6duY}Ly*|3! z9^msE;z~n`dneN|WKSq^OOTA2W&f}x%`MkpzHLpcB+Icyf7F`;`DeRj3{!`=wjB~} zEmk9GP*ja^lc1~3;!Ms&yUf@oXv{i-sc!$NtTGs~H~~OTid~}QC#Oh0IhEbJs@V~P z0ap#dz@lNhW%fwE=pCSaeCA07<LRHn!gj? zM5mIQr#botf1S$US3Zo)Ika5*oG4t4XEqTck+Gcd3gzxv_0kN@ld7{`NjCJ-e;)W5Asv@1s@fCshRw$C{^-y zchizKe;P;{j$3v7ub+;~6NUlXlgUBYjQj7p=Ur*x_w?a$^Yp_XO8ow-{{AraqkQT{ z{!{t?a_VOO<*x;JApgIdn#t{OawUforiKRrxuGj}cQgFt_$j7t$xj8a#?Kh|zyBY( zTn_X8)NTBB^^)l&pPEzQ3MPJ1{`60{ThpOqe=(gO7U2AE$OOEQA0700W`?O=`hwhw z+2=NXyL!p=lIw-J9U+_rdX7w})`4d9ic-sXlUq*pmxLV2S|kIQTP~MrT>kV=cE_Lo zNh^1hpYw+Eu3j>|=u_uX2FbL-eV8!v=*xQ=Fx+$Fs=g#hdN$D8TnwI5=@%B^crO)z zfAtwvt0Rp8D*$lbU@H2V4EO*(y7WkdGfKN;neeHOq>wjc#lM;N&;xo8e8akB$g#JnaYh^*$k`*z;@2J3E4p|VsZ3YR5GD}oE{+~)JB_afx|N_XV5 z0F{x+&GoG0N5Y0)w~o5ymhAbr4zsNif7?}g8orfymX!C01@|&Xr%eB;tVioGfYRGrOeRZby)mf<*yhk{c8~L#$e;>c9 zszT@#z}(D_YoQBsl%JH+T9DtUmSh0&on*mRypMrMA&=CP*KI^6qj1S{>Y4?J3uy2!bJ^m~+%kn^|V z?}tC&QlWPggD!uWJiyqHUmd=)0J-=OQj=^znBC-?8T1u5gv*ZN0n-F=e-bw1wxib+ zyh_R-g+)Iv(9hBGB_Ab6#nR=IG2`{A!a1~qH0xvXd#pdKPrhG!GTG}DKq`j2JTFNJ46@We( z%6BPYQ!f3i-0MO-!Vy11e}}Me9+{W2Lm_j^SAU0a8M$%tl6b(=R`QYwa&XABf%{>R z(i{xcl-MD;MW~2QbI!LMqISQn_8#Dt!|FoSJ*8REKg**&-g?xhM_mK9>#4f|yfRHL zT9PdCI2CR?>WXNNhlS%)qwqsram(b-yR2xVGNDmlq$M!Be?d>9dCig|zG67x zRrkHg^_}2;078CtM&B}26SYy)wWWY+-Y>vVi@O=XU25qEwOeW69{K=dQ*`voK3r1> zwX78FN=lkh66QStMo>j4(NpdE;y1Cqjl5 zI%IjNZO}4;VxKx@@w>Srj)v=&8VI*Rz*Gw*4TwM4w}tD>3xn4{DUD2#ZTxN@mqbe$ zBLePRmuX8GM*+^4u}c|a0mGLSOc|65qv`@554f#o@rE6jv`iT^0VKESOd0e60`6p& z-%c5ze{Ubkhp#Z5ECP`U$h!1=9(4RgnV^Ck&T|z-{pWgQAg=M?nuimrwspcR7Mmt*vz{LGZ0JRUV zr4y@CAx=YS`AR2nAgaGu3VZ9Ir)-)hyd&z}f32jL+1;(CH21~yS(8|?t>Cdm_0ZA& zL2(f!Co8pV0K}<~82|e3c_T<__9cj9bHYp*6c^u0V^ck2*+wG-9*~OL`6HTtJgT1O z2qtbd^w2ai&C|{MbY7!X@$GPpN~yCTuoTM*;dUwV2|A7B{3ug>Bl;GWc6yYb2rDn` zf7eH`1rzQy@0OP2feewW3QVN%k7Nr0ttFY|15DL6jVb&ngW?mOuTI9bvPE-wF!e)L z!@NhCPmPcZs__rFbhqI1j%lka3}h9^0Q*Z?mQXtc75xg}bN(`utCA>MR-OR+z4e06j3&*ERe~O2deP8?`HssouGm`p z@bS?8;5tf=VuKRF9-N7IYrm@b2?=Q3RVOvWhMtHX=wUPZG(C>qY^2Hp@YEC_?o1}Q zzd8)-nDQ)_Qc)R70i&0lQ5m6sw)^k9mm%QBZAlmpSlh9Bf(5T%!`6jv3bb(^7Xt(i z6TtFo1Ed%o>NQxMp^J<*eOxkr753LPygn;!T&O;*z!x&#_1U9kUj`v7qIM=ooNVx7 z2!fb}ub+1bv-P8ukDm42n@G}avZnD3dIZtG+)-I?4}CRKv3ubcHU7|lRHWJ0#G7_i~1nru0yzc z^q+w2l>9an3(gr`I|@R;Tl_x3zInOlA55xc0pQK@U@mv{Zgf&p>|S!nA6s!kVgk6- zpy`PJ26KQ+AE(`tT6LR$Ai;hugwe7$Tum@l(-|g6S8N;L7HA8G`-1lk4b8X{-pXrb z=~c%$Dm~T7y7JVFNC4X8E){;N%2%Hfn$&8czUmgN)?MqpCQB`WCVa ziXP_ct{WOtdI}HV3tSWLw(o@Ze6LSo%Z1}p^iD!Tcx2p7Bc44Qve9yg+*H&O~QM3E+;)xEw*hefp-mW(7 zGgv7dbqATZyGGlk1g5swt^3bV4-e!@vq_z4j5O+F7ze~Q(P+P6(tO?wMd4}v+Dh;Zt-Jy>^ zI>hEW0HzTh`7qKtNQ9=95wTEv#cE!MU}(WvJj&2q%<+_(HNLQJE#FP|2#hBLmq;wA1{ccc!Ik+4d-N&` z!WZeiFS;+#XjqhdiNf^q0>?!9aZoGig~5h@6{+qp$qO!Hr4f4Wf5-%bck)RykYMwT z6mCe9W(pzY+6o8OPP(gwfKyQY>MQ~b%Ig>nFRD_VZ0_I?!2)oBJkpsu^13@z zmSYwu$L$;;U$1QRNW03`&K5kmW4Dwht=PBK-~{=SZJN((cXNez?BWQ)PC2AXF~XKM zfGfY+PX2DBpi@9if74m^^{Yw7BsiI`Ux_#l*@oxJe0TsX@5A#TnG+(Zj@h{ol<5_q zOgCf^c2otzs<3EOSr@@eP6K^cp%jc>s^F9WYQM%+#9(kDvZ7#e=e<|tWGU@UQMlun4{Ze>k z`PR};C*quV9;--^DTvaIq^k-stB+LD^4s@R2WUCui_I&_hUI3&?BE=>02r}0&`ujf z;ERJUw!%hqDX+t9WhY9t1wkS7L9XnlI3XLZBoxed7N`TU1M#E1+_xiN#uTFe>J zoN(gd)BHHdux5Z`DO)t)XiV45D-jL*oH^2bY#OM6f1fm)_a(CtPQG-n#<^KE=`4-X z^}FZQH#9Y)l4(ts)2y!a)4igqWJaExPf>lJEfpTrn4|DoIB{lq@WO;qbt|ZOf}`ws z+-HMw2IY%sR*Nmyq9a=9mZM`Ex^6PHN>GL>Y+}4@>rT{(&dD2jJt1nhc-VoS^>)i| zzkAN2e_WQMQwH5e3Dw9z-n*}+>$roS7F~Qq74FvqG-t#4ATlRme>g6Wx+do!i>PMb zcO8?}(6j}UCZ_g)9!N(kDfH#&@=muGODPEt+%-btpU(4LL(({lf*tjNt5o4le6BL5 zY)cL$8zT^QhvuGm7rJXC@w>gwYMAqa<<;2#;?R)W+)s&?BZT1&STCNn?Ijy{9sC{U+;j+w$gA ze>MwyY9DKuTFc7Ecq1$3QFqvLN6_s^;-_5Csg#wMUuXSMch?yUDJi%dC93; zxp3xq^--7SGxd?uPWhYjw_-ZZLvBK4L`WHqC#3Ly`X?l1Jg=Bh04Ekm`}h9}?eZGR zn{`2Eu%PyCO~uWc$2fICrO#RqMx{`-e;y=F1IlZ=8cuCUUhUR$MD15X%(>=kP`FuM z=qtw|&CPSi_MZ3FdijA=90bj{7ab7j{seotTZpcSTSr~KiYH9+%Y&|Zq%|9{W}^@P zO)vjlFaIYm)Hufx65@8qPk+){;kH`^PyzpD&O@tFcE;aAdL(=pfC=Ftb4rM=yt%5kshjHt31*^D=Pv<6~ZUa^H0tKay-h`3Bej5m0@M z6Uw+dRvCiear;GCb})})?$IT9%h7#RcF-s=%zH;Qe*sZ5ckE--R2I9%pv=g9Xp{Je61HHiJ+A}}XRI*w zt=Qd1GzJ-|F~~@bK}Ko}GBRV35$2Ck1@=Skmq%~sW{fi8aq8&9ACd6ke~%bzBOZX# z=;XGWoZQHvayf=x_qfdX3*xyDVdj%lc~ovc?{Zc-*O}~`hr8tDZ=zf?@>A-8_BoH8 z&tcbc?v^j-ZuxSqmM`aS`Eu^XkSCZgRVB|kpfBVfQ--;=xvA~>1MPJ_{CAwN%P)%d z;g8TBossLXtCOBom#5b^fASCix7>~C@|OH^?Bi|I_(gSp^ls|LyY5u$or-LJenhhb z$DnI-2!-97@4AwM{Pg&H#$TDH<+nVWnwHC`IsMlFf3F>n^8VCn0Pn~6 z3`>#tHN-(v8*--jeDC^n7T``ZZ4{mSZhb5zyP_tj5Y^|x5zgd7Xw!W+OPa5P~)(qY4t?n3KA!1H{X5ux3j4qNsFBQ?bNNaZdYo3 zCi~g59&`}r&$4V_$`o^isT8psz#Z4aS_~w*d1?bS2VRt~0RN@}c)}H+e}(uoLAL(Oe=+@gPnG8{zvS-&{yvn#W|!NwUPgG;rD?&=3TRrDXDR}o znm*%+CJ8hqnmw~4&Z(udiNns#2|^Hkcg`mL;2=AwrZPJX#Y%|110}LG4n%W1AdnAt z6zciOP-!Q_?fyySFa|VQ6L473@iul6Jh%te=Bydyf99;|l1FdTx9f;)Iiy>UFb}-% z#Uu_XJ~|reE#pHCN`hwJXDM{?7vOcxV;_OI#c^n?sfQK3e&GQgFDx0raRi>HZ3MUW zoi`kYKplh0IMDmRtWmTe+W4GhZk)-`KZ8-9{7P4u#V;jNH_u=be1^5?#+l3sXR!HP z=H_n;e;bu8d1&k5*3@53kc2Owl}=5$K)2t&+%iKuUMP9IaVC3@GgzdZ$y9Mx<88I@ z0B6FPpMCfP?0avVfsK%#lC(b#2GX#&@bM4-I`yOe)Q$d6<^N0he<1(AoSNw$bY+tx ztA77L2DH$Gi|Nx8YJnG53Lyd>)&TICeeP3ZK6Xn8fBF{`pav|rEa3N1c0_B9 zB_hz@ad(t`Ka!bKXe={%CxC8cFayfh&~F5Qb6V3qWrjOt^dqvW1e$OK4+jfMR3jd~ ze^Pa50hucwSs#JXInzKG2HH}=qY$U)d8FAZ*9ebC%~vqjmkdo!2%1MdoepM{Q0x1G z^$VZ)?YP^+hg3)%TCt8Mx?}8Z;2e79@5^uuK!VgN0c7qs0Ui`yubc4bx`dr>oy5kN zh0uHi8@86(dV8!M#V9s5XE7Zm#b`%i~?Jcjn%cicS6 z@Sx;xd6{ntt19-1U#CdVp9?{b*8&drdhVOp?h4+SEDPPVS)vP%@STAlbhUlfe;TMy zw^sRs!|YTDFrP8Pktum`4*l^25!Dgs!bHt%UvRI?M1v}^(CACGd?T`uR=7Af$ z+-HP?a%|em;KNCxCL|yp3Ykvv+5|!EZ#PM0*wvwGQ`tQH=|>V&Ui`7ty`qb4#g$Z( zmvM>t>|?3A-mF=&*2quzSTW^+0ofue&;jM5B&toVLx_|$=LiNzUpl;ScJhO+-^b8@ zf|H7V|HB_7wGaqq`+b=0_bd6tvZs`9CBL?+3g@$PZ1ck+=`prBQ1fpx2Uzz)>jd3_ zSmt-kf=o`ZL#RxosYXfdbwE+Wd_D+Ynli^2^v$?S&+byDFF*_OMI2B}cvxD(4c{02 zuzjBHtA*RVUTNMs(>JG$Z3FzY^rrBCi88V)Dv$BkEALbDI`=VpozuQ2wUQhy+Ol8S`x``P; zdfUl%*?W~8axoNcWFVb~IiHxC2_PF1lF`Y|Zj`0rF6EDx9NIdTNfW;E`a$BQ`K&}j z*lRC?rj7WOv;YdU2vU9GsI>cu`O2CnsDABd36EeJAkcpGEu<{yNGHc=rRly(Qx^4_ zmZ>3!nN@eP3k0qQ(z5_n`4^Bf{nG%+dh%+E+yXJo|1$5aB}iUV)n1y759am) zW&UU3aFJ>+^MIaIL+Co(HCQzd=%&VZEo~%q;ptE}E4)=k>l3J43;*PQ$F4FLc92v< zBW-7I_cy=(#g`~RbvEXVRSk5V28k{O`?5irg9(DUk%L#jo3QG*4HF$s8Sl-u8g+di z?5v5n)4Lme%yt7~z;5;-?(f&&4o3ovFd2_z_MMmQbzY(qewo17oS)18rM#2+LO1$9 z$O9k#6(3H1k;RAqN#uWjBDz8`b))!O`In7-@nCAch?Y_d5q?Odc7A-LxZc_MC)d+; zQkk)HGrS|jf9*ur0+uEeTT>S!1(wR~h;lvqG{r;gAK#3u7O6!R6#!%$H;AeOvTQWE z#-{!A)Vh&&{8;E2`Mg#_uBX-vYjPByUPq0wZHmM@<4S_~B-KetXj;6bgretI384P~G;Uc{K9?@5t_`^^R?O#u*YaBAr3OoGuczA^t z`g1$dIQ1v`GMbpC7z+qQ<$`2u7Yl}M z^40Bjfv|sHC`39@I?PeS^EF;8&cwKSpliim()Y0;YJO{o$~UF9X1)q~jMa9xn2h`r zT5mB)!e&ZQ=dxRhn$Hs{dtbI7$D+N@#7a_5Z@71z`MVGA!pir+Y2#NmE7 z!p*|U-Xs{uLYl6RPCgTBl-WfrL5dY5t z&^X+H_D_Xzr9#6z-BqgodOO1EyHRnsgyhDoLmGA1jWS1yhW9KcEr;(-QaIvO27dhU zG&t;jMweq~8Br(O>i2-l?<1GiE(g#^EFQ2l=r4ahp2Z?{V!-S?5aNU`r4%BW zi{v?O!2GA3zD7w$l*;N`PA08nt zszvEqG=hK4m@Pw{u~E#X>WG-TJ)_t$d=bS}@}b~9iku`wB=TCwkRmVHRzjFQXA1LB zI0s-rVdr$A4j)>2H5;vaim5fctsGFH!GvaaJ}#^A$tem9EIA;UDa>=k3IQ7=x_?JE zxBZO1iIrXpM7(2|t2A*jP&Ke=K*^eP0_tX4?MQ#&18WH$eg4J*L`gMDni9#deAcA- zDXY({i%GJq*sUT7+=gCiSjk1yx}V;Z+0K8uun?_!{nCL44*b%AzsIMgNS#*0Sf3Y^ zVERRhs6Cd#H5;fX@=?@No;M0jhX4;M1bI@AWQF<1(5VIwr(%nm54+Qgg$O@nr3~58 zd<}n7Pkn{U1Xdj~iH|xF4#c>5X*yqOhV6!tp@G@8*jTyw@W^5wu>h3n&7NnD5WcAFBZ`XJ}=@MxIl$OoiIY81}JyT!lf3z*;;kTq%_8( z8}U_k>=|8*Os-`nII5rR7#M-I1c^&uJE4DKSqvG#M3m)%I0SAH5r^5(J^DP;xomlY zhQn6VwMWu97@8;Do-t=qGkQ9}uHB%Ac#DD>`eaGb5X%b>jfd)V0gxW2F9D>0!}jEB zAY6%D%_oNZ0$&uS8#y5~4IAfAuiPNxJftp%)G*sFI>|XtLm^F9<-j#3`O%AN9XWqh z)n6P#_1POkx_S?A%ogBP$1P^7uc%7Y1D}v5tpTLK2_0;6^M!G!Hv5mGkx?HsS8v+EF+IXSREnyR{yn{dZ3 zEW?nJr{qwzU8v`DUza-Sx1XGb4wzM=__RXja*IlglMK=Qs_Nq-{;Wu1`M69znHqg* z-6$qv{@Akr$@TP|LK#{Q{)zt0aYxbqy-2_Eq7_e5KO-hIFxn37Xn*QxG`D~Mb0v;< zaW-FeIu+EorC4)P!}cZI7+3wDrlg<^_S6GUnYZgzzblP|!{U%L!kVdut#lWvbX_v; zDFR1Q>L)2VsrWRc0k!mGb7GQFNTwr(3dtN6nBh(U-4+17im_rW?)iK{<2yRxoKg6D z2j0q7Hbh-jL3%GJ&EcJ~^_N&u4CC_0Ai(7MIxjjpC2w50#o~+=(Q6dyVv;+8>Lpmp zr}`+8Mcz{<3#oereBr!DxkBRd4V^dd=?L9E7INbe8OL-vCGDQqX$;6Wr&(zvaI63! z6W?){ac&to0aKT&ZW-hOr#)4qaNsW3ru3!L) z*tDkU(TUV&)Uc5*2+HH*V>%}y@(moJ=<$3j5Wq++6Kn7YnqkUc&nX4VsDi2sQoy;C z#K3dzl06jiJiv2P87rvS&c_U98{9R!*Cs2`9lnO--+Sk+f*ybB@M{a~ z3Sb+hSDt+MJM#r=9Q|k7>ejoPhN779qH~FA4-t%C~=gtUY~8u}1BHYF%au)rXPZV(fp~11Yn6LwuB> zdO1Zg4G)Q*6&B6p`oJU|PY#sZ1yutVi-rTmwL-UF{@%j4T;eCSo=nw-rmy%b(;InM-E7@Ay$tQeIYC4k4-Nl{Ymgyl1*l8-h8# z$_K{FAmdIH3y41!_Pu|wT^0#pLXxt=HKfP+Euzbi*}@NlmmP}TXx&MPWAq)UEy##D z%G5>LuEq?~1!B`u)OC6qs9h7N>T|?ZMhBgWzL!%>m#l>%F|Axpkf_gEgkic+xL_Rd zUK51#>!i?pd6M!FEfOrJq#wak^a3xg@D1b#jh0JZf@KbFGL3)lTq_#5nO7Y#R>&RH%A*=1a03f4eSW{b}K)R^`jsq~S<^ZHj(LQk73zVXN%@;V#b z(}jAinbRvB)fG+mm_@Qtyjg-l2c~{+Xvbxm#pz1FU;1ViDVmBo@_->-nz~SC4HZQC*788UP8*(


zQozhf(jo|1vh%pc6RFIl*H9CeiA+`{S7{5W^v6OZqcDFl#IZC1n6njLnvsa-NHf;# z>6Pfdcdyc-l>6yKQmBBXWvD<~Ie&O<^T_4Ej z!W9ZNoK1j)t<4P4Ku7t$#Ecx#2S69hO$vjk&L=)o<_McS$bF}<)6NowyXUzm(9=iN zesMLz(Q$w4O(;U%k{^g0bwZ}h6_dQ85YK#KuxT`DFEDqjXa#y}DS|iF7Qm`Jd1)){ z&P13(P&7*5Gc#G3F8o|0e32kBUWznbRXUMiL!lihWFeAAT#~yp8NtmdJ!*M6f>y(U zz+4eDx^5Q~C$G!pn!sO+PS&tqYmQ=*QM>c%C8vKruh6x=pCr6x1E{)Xs@5~Fm`Pa! z{E!81hEbX+f+|q33s?*wU3;_x>Jp`$(wB5R&NXP(0BG3mSTLLkm8VZa0<=S}XoxlD z#ZQZ!tI<}B^TLdJO{%a!5D{JbWMD{^lT=fnk^WsLTG3KRo+$2I7yn|;$mf|pHW|i2 zzE6KM+JZFrM4*ACNYTE#O2S0Mfq4-1G#B4C@%)Y)gOq2Ws%JaF12;=3v#P2&?gVeV zZNg@TD-$YSdd2N6vVMLzOx!@?G1{Q&$-B&-J0JDDDoL-7j*^E_uHYPWx=``+qF()o z4P|tDBk3RJYf%@y#tMLDQ@O7dWflawAVhy2)Wx%QbN_=VQPW!D7Na z>w;o_>>V}OHVXK1zN%u_F4V^}BP_vH9`PW149Ht)l4o=Z5NE9gqYzmq@{h1(@dGz- zuy-Qaw>&|U94XIef2V;dxTTsWSxs$M6?V_ax&dn`(I(gwdut`K7bs$!&88ycg!PRVo_0HgE;!8&X~eD<;55y=~>gL zb%6v!R)|ar7oNHCs$`-(d?(V}!j%-8Gpf>f*msn<+FefTZ3w(YFK%Z0b5O`pnmb*p<&g<}BC>pvs=X zrc-vy=Qk9GEWJ@iJ{A0>5Q_m)iRr;QUt|tF3hT&Z&a`AeDeDLicbpt3QY77D*a<~+`+E#Vp^=>Lw0{ib(C@Cm4bzg zoS3OX=!`N~1kH$!fyO{pA(2rl130-NI=yCtl;gO}>8qlzZlWe)*J)b%@Vx+D&HPT$ zoXt}m{?r5hbfMZUXgn22w;Zy$!LXX(s0;UcyhlMC+|3jw>yT!UiKd^aeFWp~3Z?ui z>#Gqn(n~!(GCRm+P?~?eWgetBF!IubF($KJ0txyWgD}$zfkIX2m69tILdb3onD*9o z09CS=;FRmF1HZQWDmhT3(dhsGc0qZ@8ZZ5zeWA)1^4TMQn9T6E3-zMK3nt7L-Sb2R zaTYi^35As3ipmCjKLere?DMph5@oBgVz~lfrelqKQhd zeEZp-Nt7K{mYLN z5&WlNnummM`qg3A3>`wkJxTBoNS71x25FD-y7feJa&Ug2ehQ-#o;zmB~Efe{F;dJz(>rDGl zVx6BRON=blRIypd&q0TKHJ#0_v?yvCot-tlnDA}a)L*DqGLa5A$jWOK>f21R&;k@= z?he4!xifz(OF>6tvq)k9$F&B`3Y9-}Dc&7I&tHG1sJp;UaLkuleAs5olX%n<@3c?u zD;+eWnn@V%n}IfAA$nKsu&y)a-ze;yEI2MzbHSxz;`nkq{+_!kL%qag^7ZR~36k5#<$k3agq( zo20~Ugv6R}R7Y@+E?JuB6;8gOqqa896y^kvfa;?u5JFCOCI}BT)5vfv7|QK~Bc|Jq z&|vvdKIoR(G6AcJsyAZWhf)(=s9AOvHkW@=8a>Z)Eshl@JQ~Ul`KVh{eq=O{n&P-^ z!KH3lHQ-kDWzIMuvLqtBkn3pyM$6h7XdW3fN~M$wk=^Eav9l2A-cdtlsewNH32H3_ z*EQ(?Q&!XhC`}hSJlc86$yU} zxr5>SV?B@>lJ(8PP4}+wxy=N!4R{|o&8KQJrwFFc@L4-XbV41Tq57;;z_xen)A(A6 zkmox8B7p|=b0Wf|Q7m9PpVdHRN%YI>tg$0yq!vmZM$BEsP+Nb99$@G7raLTE6fa3?$G%*|(9-%orkV!HN&r() zn$sG3D15upr8l9U8D?iag1&Pvn+XE`Ua(@oNr6Dwe_2Afm)1PDSOZlf7t5jUtL$RoK2g4uh_2LhG? z_ugdymc})}wE0POK5iFgpQwLYn#;JtX(TvR3bCYb7-`7*WfSUyox-Ath5oSQ6t|aH zD3X9L)Uer$@O8u6nM@W7-k!_|e$ zVv6CUQB8-h^IbDngb-<~0uK6@%@2+Sfi4&~$r_ZaFjaQdV^}YOW;=fZjYc`QMcH!} zjM+CRklIZbD!9PstYLVAg(0*GKDbK#YZeq84l%O=Xfk}CJ)KN*S6gg5k!mJj%vEDo z^XmdmB$FQ0ZO);GybDuWbnrewc*sma@lIjzLw-d=d`=;$;an$>$h&DfOVgNuoY!Po zCho@@^NQN}#w)yknHPUGxi-5y=^y!E(9hhFhhjktF7K);o}a(+fVk}dy2u$@>#yxh zO>T_xc0c=Eb|~7nEfjlQ9Axc7yKq&I^DNk5`&YY4M5~dSI^bMTl0IeW(&NGsu%x7* zWhNh~Nr2}V^#rq|*I3L|C8*N66YoW$eUrp>rly$#F~Yr6u-Sic8k8Vl#vn5%TxO;2 zvP=@YAqm6oAho_S^%c^eW;79^L8wZT+J-ofWQqD|7Zur6!+lRvCVokgdV84Z!4e4& z{Y7;X+XZ{v`j!z?i*nI0V;fctZMtMOVzQtrAxNK6&Sb$bTemF&=ujI)#f6P1>XI2Z z467Az9K*?_Lqis`?`%>#A~eHZYT^$=vC!en z(}^lkuEzw7IVZ0~vW1HsvgwT$1h|31DaoH+i*(tSI(2`p2s(3%0p#k9igR8xorwg~ zGcpjWVLavA%NX@6dg^xyxR@^l34YyEix=-wpW=p~>K@{Mg>w=~-Ra53C2HS*;-8ae zN>WDhPhmb?ogkRDdXxCd&P0^@*u5+*7=h2M7@~(YdPBQ#>kfus}tHCTfirvHR*f z5)mWNG=OrrbB;-N-U1M2kM?%;M5iIqNhlv(KF`?Os`s^-Vr~|xvQy(+jU7-L;Vd8M zDNwNALmvIepDrk-Hhk?OgnKo0VB(wu2t+pl^6u+{!Oj-2S_SVnPe_g779xyorgkm7 zkAQ#g9i?c4>(l^C6~9SHbhZ|h z!U(GK$s`~I)F5Ct|K037m z?d9VdUeLAKvH=GK+BNU@%>WO(<6epCBFbBkS z{hv1s)7K{syZB#Eqm}LP$K0L>`Uv*^IU=0;7YPOqcAltmuTl=`75db3}W--ZLu)PlKT}BG{gl15^RJ6tX^)?c~3EKH0I$gww!+;_66Dr z=`menM%+F9L<$;rPVv07q-2-FR|npgul5ClPf=k;I;?;bow)5Z^VT#A+zu;f$%8gM zA(Ho*^S~A6W(w1~m^I)ba|84>+3QPI3V1a3Z5hSQ6BILX&sXYDOKC3O`u+;#Ez3cQ z7qo^aWOXsu;#C!h(dppBAcTKoAZGTa>qLTnX`ZQv@Q#t8!T!kRUr_WU-F6co>_GK4 zXA1*^7-)?kMiIw`Ezk2xmCV1iNA;|%w(>mh%ICQdwg5>$w!aBTs@M{?%vu6Hbz%u- zl|bFY!z*ZCKcIMAAtqBczt(}a4WmdO;>C^@v zLM~sjWO9Z1jglT1i55961z!)LQq5vD`sKz1A?n4)$#$VgI__u1pY@*7VREXEFiVP5 z3>_IzX_@N~TQA&Fw;_tqcT!9Ky;a9YAiP(rYYfXsCjzZIPVmf#*YrS_9CtO(MJH$h zYMNV z2FEbp@CCJB4E$iY1>~8>ahV0ifp@dmhkLI5D!Rv%=B&!`5{1PC zp}BKJmGQM3^eFbN-!S0hPVwT3QDjO^Y-%FST;XAga+*wRi7eeLGfwDKQxkC5CLo%aDZ{rbrlYkAGQLx8ZQ3T4PHpPLtcN$0NtpWy~ zxAFT>MzyX+lsLbZ+Df)%rJhqeAUsQ=k>XW#@XIg{M130QtwUQFpQ`)}6of`H`41!4 znrk@Y^|%!aJH@qsCT@$^OkviAouG`&j>scL_aLE`+0r?jVA6KFdXTExeq8My7kD+t z+U-IGaBfkzqv%F0(7P%6RU)J7+E=K5O|c0d}|aY**_*$OG^oVLRFX5;+iezV$smWl43wO z6#^0jC(0z7v~D%Ud}C@)zR3<7Pf96hdlAENI>C-={f3~UurfhVk%Q7$?_0%pgRZcg z(8-{~l?gXqQl~fFIyE|eW4a;EOV1Z?G|=6+klfy!R??}QPe?=s?F7Mkxm;ZFYdlk! z+0wcJYCf8O9G6e%_4$1hhSM!0t59LhFdiun)xOCCt~l$I;#I>la*S_= zUCK#14kgATMoHhK6piYM(kX6w{)!E!ZWQ0k|65taWuG-GKP9Be(!2&8TqN*i0{JlFvkLBYYl2{7?$?mX9!KoR5XLA?D_ zrAl9ahzvkXokc2_AeM<-b}3uzE7|Zyb{T1Q^jY@jC+4A3#u|w(#3TZqSpiqwP)zoZ zj5%*;*hbi6Lv%rSwCE1D4-u&G$ihs5KndrPL&9m2fFup02S|f@O4k`YmYJoi3WJ!5 z(_<8HOWnb@ub*jvKIv8i8z2CKre@c@f_Ddhdt@;f*CEMfr{rCsgcgFX&;dHHSDwBo z4Fi(bU@VWv2YRrsKnx&=I)H~(mDW~~?l9(xu(xOj&|Rbx52w<^Ugj67vYPBbItgO2 zvx~4Bk(UoSLWgIRH={Dcvq#x+MF&sR>MazuP1M58^FuYYhd%q|ap^NU|xOaD(FqyH+U_p)qo zFvUJlG40*R)5KHot(;Uj4e( zHor)M8sOVqe5Jc61!PZV#6Gsp3TSXgi$JmSFv2c_q;CSR}pMnT4q73)<6Zl&`Cp)gZ;On~u-1`PZ?_1vOcEtQ{4SP#GKG0coy-=sJ z!{K-^+BtSDF?rxBQ!}qpCnY z{~PF|t)VcKCnZAbZguOes?4@z|8|sZ*;2CgSKH5??Y=qqYWMl`$1nEx{)&OQGv(pdEHliel~&B=SYk2cil2aROTDSq1<<9tpDxeu$$L1V;q7-I~;~+3DPQu zL%Zo_adarp^#thsN~<8RJi>=QGZoi6HCj|XcP1t35W(dd8~z0lL!|V=4fGXKSD+s;#y2vpcN@0&Oftiv8NjcoIV^y? zZFbvyLgtUuAbW11NNn!;tacsN;h=_~TYg7a0FUwLKsA9^hv|!3t@%{%r$SAB_6Em#ieSg6jSU5V$kUTX|1vA$5?euNojUs=g1ekGjLu{e{!M;x^ndCf*Vh zz9e!m%eWO+VKi_8B5CB6^1>Z!3v_@z4+;wpiFvu*mmZH99DmzbMGcMy^Bs^NS?ty$ zt@(^l$eT$)%D_#V$7JNIex#7si|qYgrfT=f+lKvcTR=BNK~a$b??KsB`HhY{Sn9z1 zNmG>H^Y<-(*>Gjfr_G0w0->Hx2wB`N=-;Eoi%YohJfpM9TL+Lo;|lqQG%!Scl%i8t zD2Mskn6rOQLw_}VYXVyX<1V-U3NMkJ2p+^vMH@NnS*8isyeTi4Bu&h@N@3lsFAz3G z!D%AstN9Q3`S<@SkDv8&2sCg($u*$T&7u!o(f+_K_JlB!?p+8_bn%0G*xQQ_e~{k_ zasj$9xm92%H;dm#Id>BkTn9gQs_JFW70FBp@RH&m$`*T+p~iVbOxTO$Pn8_wjWr(H znoNC`mrjrw76IdzWsn&%0WO!AkQr}(?XUKCzT4Sy4 zvH9?E*`oosw71X_Cv}2J8UqWl;yisNmUvo8pe+SLMpOdSa zRU-Lag>oLmD2z32T#ugQl*Nt_NF(?>nkmL3vqKw?0%1h<7XWQU6cC>2IKPnMk1^4X zWum=NfFrp~^sg=(+_kjCkLu z`eMdKAUf+um@|lyRjG`1wl~zWp3CPGkeWz()kSkok*~AksSO2PZ#kG#&X(P>q8fm- z><}o}vPYLw9feHNATua(0|i4wno5KEdIOv@k|O|h$|Znq-F__4!71H{bNdUXLiTW2 zg}9-EGH`OssWMHUB&2hHV<8V}Gw?&^2j`3cTdD?5_Idz^D0^s3i1u5NF08EVza~j`BL_Y6P4bsXdhISvVq1G@Zj{1*_m@X9x5{EFOzStsfgGlN}swup+UEhE6YFpNTR|ng#UTweK0*AhpmqGKH zd%+`g*{!Lan33*gK9bY!qi-L7wf|?c`j0Uy)x+12?v`0?&-S+d8qd_@L*lZ%l%6gR zGWv&t7FZded+^YI1ht@^1_pTi^-c(k8&T&h^yIz=cvz;o31I$UwkC_V`cf+YdX9K zAJTl$pvB(1cF7#zf=k6LKpr>Cw|@T!U+6s!uh6RRA7N!s4JHcDa5E$FF^5NED8llN zC?X`{dqp6B>U7-V*@2J`;cjXetkMk2&h*4vq91D0n zRCfVwL!j};2(pS}(Ln7q>;(XZ<{V-m!mtnh?uvn5tBgjI+0=T(=x`ydhE(jbW+xQR z!I^1wG{&CYp`abjtY?7)N~ZbY zSgHQs_;Bd2=xxsi?1Rr)nCGfaps|36Q(It$pe)v?vYIX79nb3%rI3ZjO_XoV8c-{V zhLNRzYtgag6*MgZe5*;HfE%O*Uv$waI_aFz-ZQ2mdJ4U%u%DulqyDEgDqd*AQD?Pj z67*w+UD#rRJl8_e*$+H3<%g82%#^C@#|i?d+4JZJC&p6%Mfh4%Ou?srg|D!5Zu zzxmCt{?oyiteeta*W2|`o@7Y{6^n-SscQELO|FyE$G$c zQAF~-0`y8{0BeQ9n+X9S?oQeS$Hk%5l^M%tVirE3y)GFF$!1$#?}cTQ-{;T18D=Myd^1F*%OK)l@>~AaSnMwV zUhu1!qt+Inpvcf6R#pA1Ytm-kiTx4^ePPFW3UVrMDJUK3QO@=R#?F2*@}p$lu3M+Y z0P0al>8>C337^%NtA_$Xx4rP->?{v|r=1yvO3f2`mU{ORP&)V?!69p3UxG>F>j?HV zQxl3aQw9Oxi(f*?75g4Ghk7@9V`g@xdfXXh`dV5X_&2?<81M?xcwi}j`xUhkW|T0n z$E$&R{3)9`nHCGc?{y^IERQqcs=;sLIJ?Y$5bR7Q)iX%^Ztz5LdZE~Z;{5OEB90kF}%C|28|XokG;vBm!QIVB)lr8>KP`u{&e%!?=4 z&~ut8E7g!+G=N z4|Z*H_;o%+Ko7V)3q;R40omGr0%0z4zFjg-m^=Y*X(~0|G>r$@7j5aut8Oo3ifH;C zUIwo6LaJ|d!LM-32_9#ughO1eIc7gD1h@US^Mr(A&gzAt>U_*y!LTeyO-t6aw3 z+&xD52jMOu%GRh4BCe{pzoLkIw&&sCZ(V5bvlE$E_M|>VHoX6?dk%qri!5s!>9IK` z3V_m!@1%5%Dq|^|X$qsuSi;>jVaIxkCN^}Ub2{y2I4dYXXle$A`< z@zpCS-TL#rls3!;>TgiFub+H8ZR@WyoR$2;*3_pTze!U6B2C2s{kYqod=1qYpkO1r zRTi}7z87M7>zy*9MtWL*sV7{5+HoxV(kL?t@JLPTrRR_GW0@IKXW6UeHNLVxPl*S8 zD1fM(!bCTpeJtHY7HM*-7QsqQCLPgphu_hB7&~@p9u<&$(MTGZto7h9Khd0~e)j)z z!+}b-Cdwb~V-*fhrarkoS!3aRB=OG{0FvB;qr`;fi$8PUDA)OaYNQ`>x>UF2b9&wG z_xas%&|^njZ9`oXc1>|}!tZz8X;4!y#ag4wc;bsKjI41CFSe#nR@^*Ms~0sHU=p^xN$EDw&)GUZTfnYAII z-oWqHUmx#deNgsN~x5(k#qo z6@T_>YNZMxDz?j>xy3Y^TUh@;l)XuJ97mEaisFDN2h89kN|0*o+g-dx*3fnIUY++q zk(AIae-bPLEQ$3Nc@micFbkO(sfb8`(Bf_ShrGqTo4f4O=k9u^>i_lZ`^?PUBLS*Z zi_9=H_wexW@WI^N1}ocSFLv+YW51Wi(5~WUE%LPkZ=_jeKFUu9LV2qJZ?ETrKK=^) zolAyO`Q)cB((|~vwLsV_jkFp_&+X)LJ5XL_eLOsZ5D>`T02x$ZS~7!$t^zbIYyc7ta-b!}A+~G^h-H?caHN3*n~_t_3k^myC|ZSP z4S`^hMo&E`%QcH~4c|dPg>(e;fqwD~FxYGg^4u-mmWWUmw?S~md}0;Eng;IzDYBpu zf8e^4+a7<>fRe?!+5*6_=AvW`X{PFlGziSl1hYah6lMah+~NR&WPWr63Zkw6zhPFD z=K#>7Y(N*VlM+CEZUBH72UqH%3Scsjd}yz^?oiacmT7y~|C;}A`2Uvw=$n`$(Bk9W zqppmdu@oereCwmRd)Oepj|o|0;M+6qLVA%gT%!))EUp zi?GyANOVV$;IFbt*41*IWG)gDiZXLGQu&l`fp?RI`J(O47&1i}y_b?1&_=@f7CiiMi9 zd52h0o&@cc7*QHfhYxk@gEZ+W_zW4Z}I_cw%sQ zroO=t^?lnVEq2}#!g7a0f2VBc^?2ewdM?w|+1r-U-&JY+9ySig0AH0*5~*Z{rv3~9 zEjmATl06~3rMXw9dihqsYq~Wdn|a#~WhDV;;xj`Gkr@(ew&^7Q^rU_gf2e9X`64P+ zbW82MvYuHUHN8!-Pj?3WKm6()>#0W2x{2S0a-%wv;&YPkQlopXS)wu|d@Z1S1CyrS z48-)sTY;)}pYm$3zejM{&C88EtDvEU{?D-eM~UD_Wj&HGGtb-}4xRyt=V&SaRm^7zEz*pSq4aNH*P zbTa5^)DtbsTYvpK`FjJM$q4^K#$ll^vc$dG(B>Zm zlaFD!6gSJkl<(17e?NY2`U{uIZ&|Dvh%MRK^v)K@Q6?qdYOlomcaBw?#o@_L{)zD_#7Zz^uqNXclc1$~jO4}G{LUO0x^0n~sst-KcAO_QU;5KRuM zI}M_ev^UBu&3(?HFAMs5f=@y~A0R`;6-OP4OME-8MUcZRe{y9+xmKjpl+RHNPhCX~ zcLo$Uz%zlByP|=BVsoQ}B$hTyNbpa0JVz*TUGcqf8ZljIV05sdzzf=@Gx^5x8ycc5 zOXU2ytRe+hj_0$k5%ASq$?Bg2`038`yvU#_Hr}bu^PL_VWC!Yo<&NA<$$ROp1Rmfm zo~I_Gn*o3Nf3DlBOro_0YA|B-xqdd9FIq97$(O#Jhd6)Q!<}WvhpeY4*RDk*rhEDv zC4|1+R+`6m$HxJV<yUXP)O$|NEGFijb&QLFMs zAZs{eUyh?~J4Ed{!!0I(7?P9%PHXq0oTv|)Pv15ynX!n|)1Atnh`&sZ zs?A^8>@B{zTQNLLSF1*NJwCBg*8-(Xcr%jByIb5qzN&`tz#{1^IOMLkvAnT*_caLX z#Y$d}M2qKKF;OF13`?suR6+>H#XH>sf6WvHWjV*Avh4IQ*D_%J;DxT!B=2lM7rtYC z&8vSPzGv#u58wV zB4g%d%n8}qvX>PjU0(tf?(%ZlvL^itaVX4+ZPhUknaGwUg`?es-6s8O8{iTkf5*Wv zGN#&9w%OZ8oZUOFkY2?N;k;UJv%+%qLf5Y_>c)dE`Q=~Bom~hGe4C`y8GpiG=tQSd z?PzaXnyV5d| zj-S;5#azQu6ym|?(R7zQ%qG*tYaA!3BW~U3u%;AqSukh39B~t%Z!3C9?$cDd?$aH! zjoy}G&V3|pqJlFnSNvij0$YgShfFXyOg6&xX>`L0sRVo7i3h<8J!?Ule=-72mIh7T zQ>t_!Q0$B+Vc6UmrDfi9O6_ysb*hIZNjRgAXVWhA?Ia7OLsyN#P|3?l(sOt~j!#Fx zcEu}>`nZye9jXs65&)|p`<#rEfac>IPbzgCyOu*AVKR3!pY%q3DH_ISZTx%u z6U2$gLsWB_kKPyId@ZK9AAm)W5KT&|Vvu@GY&*I?ttON$3C<)9jG}~;L1j^3LS>>e zXsEefb!o4jhzMgaMcab#I#xTT=RN9f5Fklq*7-Ls{%pY zhetr_F*l{?p(8WF1xoOfwV)Kp))a7mCerT0nqA8w)h*y)Nj?b8$9}=fPCw7o3z6Hj zxvC#@KTh)E;(@#ZaweJ=3ncK+!DGgQ1Rd462YGSwAnOeWlQMfS>AuY$2rS?70SuPU ze*NINTz1QgaqlydfB$BF=tLJUxgDmr<6r-c{N!zF>KOc$NC~-*uZc#y|gEH&G>A6`6nV)1L1=dFg(I{_sO@@-d=5kNo!E|IphH4!(R* zv)lW@cOHKBvVP|;fAF2uoPYE~vyX@619>MIBXhs`d+rI&e~-TSp?8(C2S?0pw2B6Z zFx_!iA^$&rXi4XTBIEE&XTv}I-FNG}YPbKb29q{Ak+J*WUk+aV=AXaJ8K(9(Kky#S z?ytFtyWS3tP@5`q3()&@D#Qi7Q)ytc8oh($a)KG^7-se88J2VxNm!t}#k71-j`Q;) z8Nm;PuX`ZVf2*XO|GM{}pN}3;`>c@{gCNqnAqZ!@!3i`%2_PWJvH{pjF9N0|6_a09 zg_2CmLmjF{8hKiY;9z@ypejWA?JTId(X6`yZc&3mL9by(rv-&PrhpnML$Q!F*SL#Se`nk+@iy?&ob_K$g)tvuWrBhg z^%2W1L9i3$0Dn1%Ir3C;e}xb&OS~|a=>|bsaY`l3k)Ni6OORRsbk_!kQB|q5Y&3dZ zB=}|CGYFq_*&#UaBWw(VrKpO|wH!zOQ&$tcjveAn`5QuaY+BO7`8xRH8}j!^il0{W z@r0Wye+!y14{(aU!|RvbveIOA7uOWfk6CeqFs*_D$Wru>ijvKmIiIRGVACK$@lb2x zwZf)js_J^H0=UB$wHHAlF7Gj@WX%upQq|#8>8w-Q$_5RkX%!(0rX^5^k`gcl?G)=A zvEWXjaX$hmbli1>_V{Cd@UVtG;6c_W8y*bSUt z%0LQo_{SIK8*?+#5~pVENHt}SfCqnOH$nSaFK>ipl#5JfNqm!Amq=!Z_Pg9{eEvyI ze>a5j8bG_#yXD=L`y$2Q%Pn`Tr|(%YXfUgSj6~ z=B`ctQGO5Q_h@e3oW9SS+55u8&7<96`+}SQElkWb_S&R7w~CeXGb;2SP@jLUZELAp z+B6JT2Y(6j>D=uEJIr033hvp`e6o=UQj65rFqG=`%aa(g&l9-0Y8s;ZD#ui!=Qq*2`veLSOZb06?dwH= zEP_Ohnz0PfgRV_zpFIY*$1J8VIthnpcwBP8#!MD-bHWzqrNpz}=0M;cN{|6l;7U#q zneA>)bj!+1!a1x@T*(S-fZ7z-e`)3vnlvqKjK(kUc9<->?@(Wb9$(;Qh4;A#s_UN# zO$&L$XjkrEbtpJMU2;mPrH#ymp2DiGOxXMl5mtizi>!5x6DrbK45 z;_VcBSuu_egDGn5XAxbbVS1H4B?U8tlF*wnNMr^vRl0kfrz!}e-I~7GlzksV98!n z`f^~8GmH@@=1J+>wXg@d#|ZlCXxB)kJ-B#oF;x~6<#JY29cU8o4JKXhH8|g#$b2EY z#QxkrI3&yrPh>k4L!peMdMCzCJlRm%rYTG*?e$i<2ID zWdGP5#YnBP>{QxF{&_;A#yCVhX5TU~mB}swRs~i-FM^MOO`tWwHsX~pfoj%m0HHh% zHg5rXv~*NrK+wZ#8bLbgIli4@Hj6Ad`YzlUX2tnQmP12re_>)f;JXvo|G4a_sWnM; zLu784Q57*=saY~@C$|%7YH83kx}JiqIOYmbYk|Nw#bfUU(iMu~cVpru-EObGX>r`H zp*8jDT8jEunYiAI>MXCjMg(25cYz8WZmVbhm+MAwavM(&?L`o)`JDzx1 ziN#+eQQK$*67?axUYC#dy=z>mlAT@$48D{n8fZkuU_o!ih<-J}gjiN;U5MQt27a)W zYglqu*8oKrToy;(A({4tD87^;uT72xrbtX+@SF5;e|`;4OD8Zd;`Y5U(UHpI>=hvU z*vWQvC~wRVsF}SyiIRHWktcV|TQrdClT%D7;8mj8#@_x`Ftp4txRTAvf7in zLKZU|fY&uIR@;-S^|M+|hXM{}(lECUr&K$;HW|qeGcc=ieIi`swMi~b0A-0iHJDf- zlDM^9f0&pHw59m+4jhDPU|(@=LI&qPZf&C=n#TF^plhWUCG&-_ngP4u*`u^riKSZpcl-UoID9ea$89sxD!M{y0G91` z7b-BBiE4trqDTy(vmOXh_}U6In!C0G zs=|dW#mf*GT-{YIl8giI`HA{*#>24edbl8I5GA;}c*&|pjnNMct7(KKuiv(Ge}q*= zxZnlg83jNJV823Ysmx}0rIi4h7<_|-LRR*kj1TksOCnwW2pk9Mi53mOw6 zs*a#%e1o&#`3#Rdb1@ykQaYUg+T5`Bh1_2EEjllt{4;K=@p@;8w>*|WCtn7*fEuX9 z_X7x3x_*#Su{`RwwH(r8k1atvI#OLSL=ad}2SYOTT8{I3%{=EoaX!!dfwAje5GYjVbbJoK9;A2~llzFh7bp-=*L z@W!s4_cF5X8W|{x>h>*~#+@rt%=g;;OG)MamyEL+%70fQgH+5E+39wK$!#xs1elNu zv0yyc#V?Pjuh?*Wx7X806XEen$SaF3U1mCtnuoj=U)E7NE($sIc*KzSdX6Q{Fh60Og9%-?&hzqA+bJ}2(gdaK-w0KCFCX%&oe{Tiz*6mA8{Bl_$JPY0_L&DTv(D^k_KfxomNPXbCBt0+gPuIg(MW9i+CA zf_ERo-OMCpa6zKurWG#V$??gcCli$Ly}RQJ69Yi+M~d)@!I% zWBW3V&$)LsJ-*5xr+Jn2UmrgEJs)kx3=M+rV;7oHG%t|F4hj}37Oz)eN!6#QAQ3=K zY6kou)3?%?mjb*Ve-od7ZE_~RbNRiK-*^9W?nmFuUHj&t{2s~g*Yf*~{9e!9_~vMO zEdN94VmH2li>QC=-$0+{o2j7FZh!73{vYb)kzRg1w}1<@9_9fY=1P}^O)fgyEh&W4 ztp$S95db}6x%myP23B}Uw(m_PxT|tvcBG*QoF{=VbVQF(9J3}{BF+hKnV`=Zvk>{l(oMBS*4SgLKZ}1PVjgcfWJj1p&FLy(o>3{t zPl`rDhxsNLk|;Zz{U&jO@Q~U7$P&1><8h!#0c0;LlJ37 zakS%2b|+L^F1w|*Zo^RavU%-say{3zQm;JE`H^fXi=W8vm-3S?Q=pZktIQXjFZW-3 zK6j(&yn27g|401))7(WgXdKRUQ=Cf+Tx0~L6^iV5n7u<8D?rLYe=3bkZ{KSP!Rmi5 z&o6PNbB5=`kEzv5vU*5z&-y{Z38!P8ywh<9|C1qgI*!!)Mzs&$dyCO`#F#x8LyJtF zbbf{Rsk|km;VT3vUD9i3I>CEMvE3d|Nfn9HiL`2f&wMtSXXK?L4B&KvkWZvjnc>n# z7qtx6gj2d%bo+x`W;I+?DOWeN^Pqpg=e}N5D7sw0N!{r6>%Awq6Plqnpg@4!WUtzK z4cp=+#bMgsP*CYNd73(R9oFko!udn~Ka&2{)u=N~0N_1T16we2$1c#5tT&`rbE(cb zoK`~+hdb$*P>P1+3u&@}Q>U&12eWq|VRNveNZh9(^;Mp0kQr3sV9G?p)J=asFg!2R zP1(t&L)@_iEM%u{%C({=t<~$HNv_GzyH+4E(>>#Ap&oIRfJnuZ3y9@9=r=i1lO9jDAXs|tg+9df7%;7T1YW1*okff5S27b&A$-C@d5G?UdW zPvi%SuGCWUw2Tiv&`^%?F-8F6XB5n1n2x^cLW|s~Q2mPVtCw578Bqb3m#w`SBY*a1 zp3Ko?v|C2Qpq0)Ty`$W<1lrU;9rtn?7wAnbOY7^YthDP0jX$EdYq@rHWi`-dc>`5T zBH{-;%UA}kXB(*d=#qE17KsxNxr?Grm2?dt;tCvGjC(qXpe_*aH1w*b@#_hqYeiY3 zxv6C{p_Ptx1}uXG3wyDtSB4APj}E0K^17NFue&qV8guhvy}8bfh_M7?^U^2 zvLrai3849qZw10(_ek4UQEjhZ)$w2a!_J_rJI~ueKvz98Ri9z?JNDeIp}pj86&_h> zsC0W|m@ilAc!?fWBM5^X^jX&}Ek=S4H1|cJ+DlG@h;py*b?~rfD>Zbt(tjRsX4>RU zMO2s5iwZLNmgD&db}}mwRZYbYl%TFV_pLdi_gPCNi@vJJ7i7wOIRu5FAF&*o*+oLl zIF^Z;(J{Q?GiIcbsZSK)-SE1K?J2(l0@jkKqSAI^y{(_8Vb|@(7f}DPCA{?4cmc;H zRB7@y*spmaPgf^Ro%N?3y?>H=j=BTG7{%4oYaahX@?B4cPraFk-wJ8!#VsU+I;Vb6 zLh8r$)Wpq6$a34Vs7)T!IvMb+U-}1|ed4NE$-!K)cw2ebn&%CBF2>2IV# z5oGDM$O_>D*0iN;ZeX~@0LCsN2)%(<-h<2#sFh-&ta;gMU82W>&pWn1eKXwyk>sQzI_J@Cjs{;F~V#6*G2Q!C;E8sQ6)y(iu!1EIjP~*>3$jK?tlr{tD&n2D zX#{nTwU%O9_IgUPUG5#Dr4FIZO52~tlc6O;I+4!ix~UF)7J0$BHy?6Q7Zu2wg-?FT zoqyBlYCqjl%oHXu%o0@DJE{h5)Dm83prmyrzR>W&Fc~0|2Y;IDGh!lMuahW0*;Lw$ zOH8ZHOVb}}D5^`&h9i^>n$roZ?_r)l?~X5EaWN?Q)jqU@_c_F}(q50VcN4P5Pxqf; zO05(1J=p+To_0Eh17-jID@y(<8x;N5pB?BD7X*yO`3%8JuLsRqJPf4$QpTF;}1{+t)9@mw1IFKUi1G!0I0k&5JRg%6p>{VWmD`MJIU%k!7 z&*;ro(LwbVTVbmY(5J$PUFbIC^S|OQm$r# ze196=g6|DG12Xpn@&)hdB3WCc=nfv!P|=${`Slafi&LV#O28n=!be8h_!_ z9aUP{`7!(UOcI=cT%7_BOOkT`QVK*aJ0-YcN&fkzir6Xk+-xk_Xup(^MxI9whXY7=M6(U=C)K#qKb?%Oa=m7(yK`m z4UE!65VT8|o*o>QgIlfwz z+Vg}}l10F|Uu2pVdP2FRFhqCj3hDuLJe3E{CnvzcuIoB%lNMkcRH&ez07N>_wV)K6y(HT3Qty${O+HE+Iw-}ZE$MOt>3Ec)Ch?!=_TlJ>2Om{pR%wF!vNBjrN zDgVEmsK7x$@KYY7nQ5QVf}Ls9zfRLEY_WnB%{Qfu1T#_ZB4G7T<$q9VL>dDCQgb*! z2iZiLMS(6CIeAIwuxLhhp>;qUfiV+P$*0X1xf&Q3?x|2D(a&Et!BZ|7YCr}S@8o?Uv8OwxJDm`DQ)43(RB3Uw? zYwwafp$-IsD*HFApkslOf(L<`ClwAeyjn|7QHcnG)=B650LdK9m z`$@1NJL5;Lv7N|I8IDmV3k7z58A9G}2T~a}8(8ccLPwBxW4orZf1T-q*NStg&Uq!k zw*q|kA4B~A@8R5!WQ>;oD8FCI@1gu2%{6WJsLar+VX%o*>wmI!r?BfQZOv%ZTUOGh zkxJcBoA>ILQ_WJ%QF1W1%H4h+2FXK)Q}3RXW*#Pwgy&4|-6y#o-fxwUr5|FuG0{PC z$o9KY!qMWqdF5M`t2#J7%youql?)`A^|b=`O1I8P=RteyQpq+z6W??GW(DdAvnGFIt8tE`_3l_6&DD?j>OEiJN*Ms1O1*eoFr zl}W_>PJG!t%7$}4DXogBO|%Q{U#feya_;{36!j@l>f!-IuZF`HbMfvE;EXQ_QD;e(9GmP_)Sbi)sRQJp_BijJ|l=pGB9GH^8 zos?eRd2FRgk@;T-d1i~SR?_1QBPnW(Nonw|3L@&b@U80Rcmw$CCWaL@2ebfndvZs? ztM(>0k<@?Js`f86H>=vOztu8n3STRQ5iO6fu=ND!{Zh)KO7bQzp9>2sGjCv~mPn=P z%RIrarR(te_`)b}j6w#55S1#WyY{*=@Qw!-dkC-ElZg^q!Fcjp+$Td3%1Wyaxz?Dx zo>6>yeT5x>^d=)8WW(c_$@Y90S}@!JdDKO1aHW5+Y13d?i=IGzP4`8XgUsNL!a6NP zb+^m8$yDewWKX77^Mj&@I~b-bH)-A+enZNhtjk|yve?aAq==?o-A|!odQ_#@lMI`V z3r{p*|B_-*jWrPd4;l)ZLt;S&qkXt+u-j#|P!@vEr_@%jyJI^wSv1$I7c5F3_4wIT z#8iJ#472d@OQox7dTBvx)5=g4k!FH?UBljZM%%=j^H&~AOHCHt87y0bkU5H}p;Yf| zI*AGs%ZjO%Y-y3|4S3^u-{>n^UUf}bnqyKXz401kg}*GV$jV*?rnc;#%0NPIP|r+l zy$1R2vf?~cYecy8jIieeAL$uWm@b2w2CILdprx2k{~tIy(G}mkT9yoXDgF8CROtn! zE)Z7SORU3>PyD&+^C`k=XkZoT9Ce{Rw;Zs-OX(cx*~+S+J$NVU993iaR7%PEgQ}y> zxBQ-yoH^`ivdui{4A2DrvcEhoVMHK}y^u<({I_PB`!A3}ArdO(l#(EpaF-(itPO*Xbif5AMBX z?+f?-xSpq^mGo?;+nT9s&Z83J;ZNR|@|YoLhKyYt^I#%gjPbi1(k>lQ3V?r>9YxU3 zayA%P+bK5hha6#oUw4Y0^HF-aR;R(5yAeqh2B9MI31Xn_K%|Xt(@}oUkf`gLeZk~5 z0ohen0~!=80!96&2Q;)%9^NwqQD1f3x5-|gyigm05{w7RI<`2OC`;A$k(RTM=IqiV z{DC`$_oeOf>a+BZuBN{p_jG?(j@OXSUF6+pNqXYzC6RYFn9o~}aEw~6G-pdJyLwVqIKG!Z=9O7H zm0_Z=+c=V15vIEsMcsdH$}k#ZM#k&@9!_MggGCY)a1m=Bow9 zplhXhHtPnDgLM*z+LDvloCe}NXFbK#=+GYmTB)a1Nv_frsMCL3DmY0gy1luTQ1(ZI zs&bj(c9QTCntN|eRV2`Di7qh+W=IE6lG(mQeqGXPFVLS{jJu;j4#5B8Ryj0GMZ{v`!Tv_1$pT7`$7Nb%$!@Rj zc19a0cm&ogfPNJuVt){`bA#xb=UUc(a&1oP7MK1>smaH4LfvKG>> zAO+Q^CznW{?qGWmBS;P)45e(+9K*Zk&i`X)00R#OEDohGqOP961{x>zts1Is$TMy- zjm(u#J^0WQ`+CIOduwP&ienuNQJbYl-U`%%URQs^cWZYE35>X!!+{o0S|CT5O^|tT z(7OmKOlwJw19}41TAL$AmfY`~&p#SI>S1I{6I_pe9;kHgWxamZos`-r(P5aIqpT_! zXOrf4{zIqCc!M?L4KFA^e^z9SbfmUnA36DzY6)Dr@0MqP5d#l0ES~8i6Cl=Ib12Fc zww!--l*yJbctGcfr3#H-P|F`wa50L z8xCJR7$SGyn`E7BTn%=IgRWy2YKh{QTBzuBF`39HJIp64&WyW8q^RF=jr5|Fp&g!) zADW@52{UM>wN`2lSx?TN$TnrHTJJ5VsY`zi-Vih(nJBEeYKrR&C+PD57A2_FfdG{$ z?3$&r^h>)*72Dn^DzzWNS*;mW-HMYDY8lA`4%JW{+*_Av@UmSeC(`be9D?uG$p|V! zzVyihg{xSDsKs(&$svFA znC{GYuesD~6E5hpz&7x1jdFbjyTY? z4(qi9rQxHy!ETT~u(IZyjg`~Q>skQAN4gzIbi}N}czR?*W*)EeJCoEP$(EINf(O2-;H-bpoq%TjeG8VZq4@0aCc)t2c;@sgF@oA zqh=8DbI0RaE)%&gl*vl^p=XRr4E#EFcz;zol^i_%C*PlL{wB1x5ahXd$- zZ*#-ll!jSH)(2TcxG&k7P1AoFcXO7^^XZRfsUAAg70Bxu@U>|0&51cHd0b>UYH_V%W-q9>nIyAWIoU{$;~=WP#L_0 z`YI?~dKyXa1MT6iXn3>B^}T&nJ`VV# z=$EzN8QU=daZ`VG%Xp&WbQvD>iW(`UH7axJKSL_NB&+;dq`24Ody#~8(O%~z z+^Hwx0iJZXp2U9ZX}4qAYuFE+3ydGLR>#1x)}FB3HX@evM8@LHsK zS7-a>s%)p9y6B$BgAf2ML?vt*Jse;WJF)#giiZK@Yn)PrJuIjm&1j#xL3fPGh+HZj z^S4_INkOuZkaFSW!D6fg(!tvs=PzDYENv7#TJ8q0k@0w7Hc@2c0fc1x^|+lr^8HzfQAYGO-)Z`9LakA zxYuLfA@W%QALeYdr=z0`f;jUQLPk_gXPXYihXH?ME|y{y+>UT9n)cc(U8g7dmC7Cu zyW>-xNZipB`^M98pM2=S`CyX80G*n02!=y%u?W)liBRi0aUB(Q-|L>71WDqHOa?u5 zl(U&)wOxCl?y1C24>eXC^0yBJKkjDv!Re=A!zumrZlze<7~e|C3=?U)WIp#D1V0}r zR9%1lo@GO{=2T-(JI%B1Y4$iD>haJT3Hm-YO|*(Wm`43YPl_%i`3PBA)wtXcd<6#R zGlCRjp)MMMu&49BB0-q89Z2fa#pzptp7m2dkbzuU(M4J9+qYWS84m=1c~$di-(&(j zUBLLX9WZl>Nc>%WdS5c)iFQN*amx5*Hnzgv*>`UkHW+86=R7d0up0V??*f#9t^=2& z2qhjh2r?K=N07*+)|;BaT;PimN#V`}|(5=8yy zr8Xwj^T9YY+N$DcNDsUnDIwQNq(zky+hl0|cYEWg)TG^}PAlzELVV>eua=ym6RFHY zGAVyZsB&9^gNd|5m5AkTGyRNm80_8Mr#GM&$gGuvmF{wJwi&Kqqpj_qJELp$z zi)<>dYZ^A3t`V$%dsaHTr$%bBQB#K*3Lns`SDP?5rVNgyct3NI&pL78gBkooUbJWGrLGh z^z*Mm9;~5iTHFQOI8p2*){e48`3wJZfZ_W zyr)F!(D;O3<6~z#&aFtRy9V~mc{y7po)Bh96por|<^I@?Vghwrsf-(T*qubj{iH)6 z?^a~dtvQosy`V$~+v0?e4f#1Fy?OWp3%EGa|GW2GxzHo7=JbM24r??jrZHD z={vpd*tE`nAx_&t48EQ2PALq!q&~10zjPZ$(A|&}xPqDXx^li)Ws(eonas-j&Ag+& z&E@j-*{+0LPrGMnSFT6ehpyN-{a6!bKE=%4A2ZV*J=Ez{Uv;~lW#(&{Q}~&Ip_ATB zmr;e<`m1S|;n9E^wOwjmeZT0aY$ic=*Ry{2Z+pUBrLuHbQIr~JACdMN@=}ausPNzr zx<51SLWUqO@bqP-Ln2!le3F|LPzCmNcbF9d^i=%oW;$4m!U1A~j%eL+uX?4GX`mZa z24*!#mz2gpApwk={0*fAxp7#3_m{xm8HNGbmq*|kHU|zdFmlfd| zCVzb8JEq$Sk+w+Vel(M=r5I<}Qu1F+wy~t>Xj1v>3TQ`;iqxdIN}}XGqHg@3c;X>1 z;Lh1+_AmAvozk_x{9pd@Sx?`^x{BGou z*cn=??yP3(Er){Dx}dUd(`qFhPk)S2#((iuUUf%QF$t<6YesxM38W>GD)Z%Hpn87> zdMTo2+o*n8v`sv?iLG%^uQb9Tm?g?6QnAIWESu4%V2xdtqyFYqm+Mt6MqevZTm!16 zoBApV(NEVQ7{h+~wtE`fD`S#4=xUrSU7XXtA8oP@f&;OD z1)1!DdK3%b8w2URt5vF(!;$Wz1AiJ7!h`Ss%nDlz#C=c#yM*^5>C1FrS4vpWTLSDJ4s8VE)aOo3YBvk{Ui5O zA9!aRa*{BuLmj-oApkH+I1Rb+FYGdrw_|_LNWg!}lbrKYtm6Kke_xyt$Jf z?;KHQVdod4?mMCWgMN104r^BJr>VC0<_tk6JgfhCYBp$JM!x-wUVproX&T6-eQboi z%RM@pzacbC!g*7we@c~UHvk2K@GJIh^K&)rj_O19ZS(WeJj(Dj=>95|bhiTaOIKfx zs9S+Akov7IsWd_Gm>f2au-h!6od+9~zEgYNXGZd(Z!ZaunKAbzjboy=_$lSsj`>}^ z3^wlc;%~6}QD%2n?|r(SC0u(3G_Z$87YX%{y?;knB0`UZ&MFR+whqLbXLn zfDW-%5~zm2a}3|^MVB3pZ4Tq+EKxk7eDM-BJoT=o7S$Dcx-Cyrmjo-0y6*0#6HM{P z{a+fDd6pe>exmX%RR}(;eKc1Ij`@+;4&dW%k-W^ktLae*^nZ%PFbl4w>1yw^eTk$+ z-MK^$rD!cFO;`z_+3e_T(Lkr<8H^;2tyv1;osGfvrOI?_i?ZNbj z$AAXA2NJ?qGw&+=dT>QNPRmCR$=eFcW~#36)lhoHea)Q&xk8CHP12@XH>%Vmu+Us@ zf_Sp@^LD_=DTPBO5|>Yz-uE`(I|-nu_*o!v-s9^h7>%zVRmH`@Fd zktlCpB0av)^EZA*9(bgEi`^bF=HL*mr36>`iuF)PM7u1Miazaf`p3gmj-BM?Obtu=7Tkj6z3&ip*wt$O$+E(sVNAOq)z&l zfR$GYx_@A|5~Q}h@~0e}X6Ij9h2LQv>$%P zs2SAGueN4}gvUNt@}Q?IFArhT$eDaQa60u53`+Q%x0IsC6sn4#LY8kO!N zEr0l{i6mWcS8KG;`=hw|>si8^S;C(=rOrliRc_yE0p6fH)YwVuDM{V4=!aDU#g}Ly znQ2dyw+v>~0Gz#DGJMY_M*$Dam7^;8g~=Yh^7X)l*jtRmNbf4juXKYemDdyZ&z)5> zCoSuNbTBOuDIrUyp>3@<(kZBkmJ^>KhqlNzKp{94?uGx->EN}Ul zJYj6E(6Fk!{~QuyOYN(d9okj17Q!{lhpnrqx?qs}bp+o;@Xry{EzGRJ(po}OuSGSI z4Gvasa0DSZzjBb8tHL*Zm#!FElN`{xp`FSZdMe{JR`@O+!p?_j= z?O!xfX|)Rp|E-4Z$g2r!xg*=<>G+qyX=s0k{+2guc~yVcKEP!Tc6ufG(;ZWM-s$d) zv-6!gbNJx$4Lj$uQIh&(h%Vk8qR(G|4ScY(TVy*I`E;kqrf}i7Q@xcO_C-{h(2B6n z!-gK_=%|`GA99c`l_8k!S^#UdeSb=#^$osAGmxNt+6b7;%Sif)V#5OjXtGGD{0PeV zwH#6DjNa7LFyw>DY}Kj zVEC%&%JLI;n>U2^HUHmmdT^EDD*EhMRW#{Y=q*?jg`@}eHwoK#gm<9D7;v?Z1Zht2qO0{u`OX(!5g!f6Fw7Vajm zm2c;+mv6g5f7^ZZ+uzCUyncZITmt_3_rD=Yu1@;x!$%~^)k%I;v1DD2*i_sml=T!d z)^t0iMYA302?-rSUMtExaDS{RM!~+7w3U#Og4zig5+|b%4pyedqjs$MU8f|q!6>kOK3Mxd2Bo**JO=?Ky!^q=dGqc zcsCmILlitVNQISi_iN~<<+wW$X14nDNX>RWc~9~nu?G6-_vMKvFMnI*d(4MZvaPbS zq>{ZM(hlqyuxd!@x|P8Wt458i*8TS+gs4nua>))|&~()6nYzk0(j+0t=Yb7ulb79o zzfe#4#AH~Ld2bWN=1+riEECr?Y_W7fanm7-;$fJ2vo*vbF0Gcc0_6o#sQUFbpAP#{ z6LSn^9i(M+PBqw66Mt22Z7K-09ZuU)+~MU1ic`i$mdi98+*(poRfTcxuA&s}x{PFh z{A{Rlf2Q&9qfe=Q}KtLUPgDD(xEZ?GtcYEE4Xk1e+l#H8$vzD2+Yqv-G4!+a-n;(OeOAZ#oWt- z;n7+G-?=V$XHir#WiK+9B(gSMA&lp_>#$#{xT5(Bub9v}*ADO?*Z4Syh1qx<3AQax()nK&7`1_I$! zLr;ns%X?#HLD86Ca0@4ziwdD3W{zlVq+1?N54RMi>6CDb{hoXcPLAtkIJ)^$l$wyn zz}*T~Je8 zJ!O1q2!C-AonD$E&@5oRR7XfEydVf&dsqqxsNH}&j8YRBXir*Oz{BoID7I|`FLRlA z{z4}?!cyt8L5_&yiU)7Z`Y8H{FG^}P>Maw*(WK4|-wvTfPI3M{?4ISHX9eQv_T=@4 zSq46KDDyM=vx=V@4xXNWv^8~?c zW2wMGk5eA0)==0q{40Eh3^++HO6_>p%ORFi9KmG;!jG;ftTuDyF4mFcL{45K!5&}K zaoNypmsg+Ptr;D)Y*5EseeBE-I)gE^hdZP0 zyMN9(dCrZH<0v&hy-YN2^5d(M;JU6;DCfK$vSdM?9B<3uYNS)DjJ5MNveAu@WiU?4 zh*eE!gR#+?fre3jFJKcLzG?Y)E+w9sG$LuH*`&^+p_$xy4hnN_)lk+^^R3qtN|g{B zm&w`^qFT*T8IEq}%e;q3N{ezml`0gZoPTl?P&?7RQGzYpF706GjMiGglld0toJVRw zz!yq8@m(|klR`N7od=j9b}7I80xvSDv<)zmX5_Oo3tj_1uu;b~g2;NEXzpI(NwPFW za)cbP!Mg#KOoLd5HKmG1hDnql*G#GHMYk`j&O|^?Zp&&Sc9fr?j)dJ8q@_L1hJR$A z0D~3gRkiChL%}`U7U6QwnE9vh+R6AQb}rB|;N{?5HpCQ;bMFoO56ZW-D9v(9);*nK zu9;*#X@2=P>9;_9SgW*Xi$0SZiY>rI&8R0?)`OQWUOR;pB2|iEPr@q7k@`` zUzrgf&V3|*4`l3Fm?0a`54yt>92LDC$rLFW4h!MD-scZ~x%7?FBbEC^ zu`DFFua)Pco0b(Cq6B|Ze)m76reH-X$Yv_@yj;;WUj~JPs*CV@{oS%R7?^)-S*HKx zVE=^_U3Cl7+g*vUe$$&2J%30|aoOpPce-rxm4N5EL!KvLSNajJZdD!;cC1@71o&X2 zd_LyXDNx2yLV((5iaz6!E8Lshsndm@2z!s^GAM*d=M8WavaLsA;?#{a@}X^mnV;-> zf^(NhysRDUTWngSJhsy46UJVM)-ftB1!|jbeyV~7uCkFPIFR|L>VH8knJh{SBFEIc zH?{p0(b7MV4Ez1`dwg!sQ6EWt%k_mT&)U~AmCgksdwr|6j?+bhE2|^t0xd>m((z^B z9bDC@ftj_=8j+eucP$9=#kutLYe6Do?gDaPqBXALjbz zM$aeqb=+m7eQtA;2v85$tf^GIrQ`D}>5|9Oq1RS3=wf0pM1ME-T)@)(?2CMD*EiOS z>5qj#VfBF*7tRGMj=BQaniHbSfK?|YO6^ABElZBQv6|5zI48?Whkup*f%jCI58bu$ zlB(DuNeI8B5CX!jIP@IjpDZW{oh}%mPL~l{>)a>3ZVOy(1)vA~~oh&+Tnu1S}2vhL(i0jGJjCsL7nz<=L2IWIC%W-oNPd=lr!22qVP75Zqj? zK-f?^y?+Pcg$fQt$ck_lMD#FMf+rv5+{v>>Zct=NkZY^`iJ+6c;W2e?f(n;>tXy}cH#|m9RyE8xPc)R$=}HE9 z>FH6)SA*Y3E8L%6}B6sZf>G*8PC+=Wb5zY`mRCEiv_ls<{Ky zvm_;(HM4`I!P;*%OQqpTFY!1lMhZub9~j};06TuFGbQY!r&_cLEZB*6&_)@9?1hrU zFx@bMDVYf)cbE%5YPzz=Bue%}f;HvYapLpW;^22Sg|TmNnYF%x3cc-G2i8>%Rk)|G)nGw{t&| z*R1|ge!r66L-{?LTa;Pj6+>ZPlR5Z$)jgVP$zQT!Hmg(xeZ??!GmMp;1WGiksG7bc zu=VMi0>YNPx}>STo{}s#Zhy2HyCGn3B1gpg`9ftH>v*L1_SFd6&}l^qq>U>P)v71y z?Ad}UzYAXmRaAtJYP@*x0R*dfo7oXlC93kwsmg@{Bu5I0hSP)_f)3b3(Auit;90)G z$=rSUyA;KCCogs~1{sjjPju@bfLdVTZdt@{AU642yONFS?zBJ1>3>xREq$8RLN4|3 zoH70;bMuud>NoVNn@~e^8C+I`hX_rFxdd7Yrz5*XrRbJGAxhie;KV?2TR!|gv%56J zx3!jN_R)@TSJFzcuj}X=G!4=IDY}M%?!CaCa%c`8=C%#bZOE37FT8z~KJgb)=03uR zv21nJ#lwmYRta{W9)F7~9C|U3HxBUQ$r`zdf4GvW2T2B1dD3gukz_rRp?Y0rHT+G4 z)|VefMAmydmM$n8r5jZ??D9Y3|A7Cw)FLsGSOhYp8y7%%(S>^kb*?K#!!Kl&+EA>d z7>;;uKu%)DxE7J_qV#5muW86jopo$bY~;42~TfLSd=}a3Iw) z_XLh=#v9ncBYSBbxD7CIPrnS@88^Tx8@s{dwI%%j_qUa->dOSBN#td35k4FDA4s<- z@pQb2G}N<=Y5=|3wGH*sO*`%$(k^%;cMcb(Qol^E`@9;OFZnSZ^G5e0grubOIu!|A8eRPBx3 zr_>rxyF(eu$MVDa@D`CXD?~~SBAz8dP48x2z=5>Y&58y=3%o!;t^hUD7b~CTT7>#; zAfO2a9H|2u9A9{fJYmo~9b*r918UlHzoxRbs)+66#iE(dpZLmjL3t%|+SP3N49c%@H8fsRsU)nAAcAw&P z1dicken#9jD7NbC9UqvKgLVjvi_>Dh5Dj6Q=zd}1Zy@Sao^&`F`K&uFwc?gEU#S(< zO|qKujd3w{WSNMCGOubTR+`T`_bL%{xNZxpQh&(iEhz#eH3gF_uE$%|%(e8v+N;+H z>l*25z6nWLL8YXoT#HKKG6={V$r2uekw=(;U>8PjIhd zu+m#p!5W#*C}L}w9L>0#jjP0M?HO5{mV^gtm0(5W57k%FcwPjxecBP`4&kT7DI~*= zC;}yS6>@=$LKyveHjuMUsWvyImD&kB+O=vVl^bakK|ty-MLy^VeEewgIY-E7a(|es za_zNhEI)kz{CB^R=F1Z?(@nwpSSxZg#khZ%%U8@*VWDNf7uj$E4`G7hU>+)uWx!Mm zyk(dTD@lAjpaU)KnzCYorA9V|^a1mNLVvQMS0ye~=0v!`Nc8!b%2G=}Xq1AxRI6OC z@h-kBGC~WQY;A4|(Hjn_6D-x4Wq)#hI?xjH2@82LI2kaBK#3&iX&~w884nVw{Mmq8 z;+&z1^o8XCpAYk+?l5tDjjDW}%j6?-9MTH}79Vus;T|z1`2t^L@2mtV7qM9IXbp9O zWOJ@_hN;g?M%w_`uKFF;tNfDde$e1*^uv%)eKbQ-4G;w)5R8+UFWfx7JI9Rlr+Co85WBCF{W^IxSg2W>WAe z$fKjO!s;RUF;wt<)f35*0WynzP|X_uD&wj1Q_E5h^pLd~P$XW*vEY{c=`8!0!^EtE z)>E>rN{ggnr2wSbE`U^YAa(L%E9uCSJyoWne+>=OK_b;)32}S0fPd4(>{w~0XR#VU z*_1Jq70TP6R`v3hancyL4!~om?_J26nL}I9wMdEmghC?Uh!hmSp1%hy{+U*;nW{vg`(|fD(>7!%x zg=z2Yvn=b=aVu@MKB+t|9C(ltA&R1rj7_LZ%yTfL$PA#`3d%Awk-j%UqZCk&+~CDj z7C!4%v;|<=soaQ5kki%7(KRi|1A(wFH3@p(SSIFMwSqon!GBKzf&;M1PFD|PV*^Fv zF&~X!1-!_D%LftCO;zwx-wGh5SIvm#rQJm1fPRWVoaq7BWEa9nRzubYry5qs!1#*| z!=O?VPG^^^^>V;I~uk z@kK55O)d4!On>U1YpH*hRDFes8VYczYjqfUaV>!1%xkN<+OU6?tY4I2mZbX?N2o?7 zT>ha>#tmSHy3XKpWVEc1Qf7_*Z&c75S;hb3i!_J_DDt6rGL19(A*Bcf$B^7K#d=Uo z$I9}{XPK51`3TF1nK@CfL`8v}6iz=Wc84c<#Bfr8Dt{;zT<|QDVj&eGtbY9>{_?z^ zCfgEQTp07jLAq7PWh$mRh`iVZtd>y43+nZd1S>Mx1{W8HzQ)6g0fGM9hgZ`*OoGe@ zm^>M`N?-^RD@Y?DQWOw^ZfRZlgJx(o6=-^jzY+d0TBj2(X4683%d|M1JyW|@ok{8$ zurtrROY z8{7maMD3!6LM}KFL^UQ>1L$!mm@}x$5Jt}2*x<5og}Hi4q0-DDy(xPmNClz--8d;x7GWYdIN1dJzHt0|@q+A8Df z?xilP%=vn#GpiMSXe=mdtsua!^zD;q9-5`HEQdK_sVfvVAcFm=D>u-mK#JKH{8N`A zGlBa0f_>dc@V)!8<$Y^poi#QioYaE_!`Fwob8*ynkb=UohCZjzOR3+qd}!B4TG?{9 z)PD*n=DM)RGvMI)R&M_m?|coT<$Cqqe_+e^-T#K%<-7j`_@AfzAMt<8f8_q_zYF-+ ze?R5_i2q~$7jr+F&Rv`K<`$+snV?|+EWmgFF`m0IJ;6!A6y{~urh~bqX>en5O-AUo zsXQ775;vwpNxdfH^_mRV52my*+NtuL34e50K=SLsCCsjSK_Ach`zbC^` zLvOXF<0Bb$&X)rP!>SE6w=s2_#{)IrW4st4N}Xlk_TNZd$NgO1WSp7NA3%*NI`>Bb z-%WVXx0Atd$WD>L{^HD3#bnpeqh{C+jKNIE`A<82p+o3da94?W1u6zY&i*e{2!C-z zWTwLaw{CfTioMWOwzN_MIBb|(7X-Y68Lv@na8qbGKEha-2D#-_K9I(}oNF5ZT}aqO zI(}$pfi1^v;d7MktrH~5MZE++6_XN#WfDf}N!ArUaeF!*(Pt|@4eY4hg>6bFx4V*3 zp6jbkWD&1LHkTKH245eEmt5hjf`4|5C!iT1(pUyXV;AZj3J3n+?qymGf|8`^sptL? zJyF+^V0C?v#iZLY32Of_&Q1FK@QhC)Er~zI4R;7amfRPflF&lFjmxwWVC!yvvEYEvv{}NpLbeIH6jkJSoc#Mx_{u&Ix_aCsAG>q~bCx2v3Lv*!} zeqiQAG8WODkvC}92@;R1frQz1+mP8gc78fO$4J@G>+ZOJ7^VD8C92UsM)bLQL5X02 zPDBs`a67`aWqC8wlSi*css((y2HmjfBsAH=)Qn+QrZLv9T2fDaBRoGZ+ik<$4CnnICN9<-WV1!qG0O3uhN42|C6{;dyk+*!RE#rO3eN&|3gN7x^C@aIgZlp&&1fwOM3#`Hi zLAN*Dn7CQ>I!9+|OMgm`G36C9pX{|*sdsBhWi4&l(vr^1ql0muU*&EjX&sVJvJum~ z&&2X@q7`7cx{9#Lul#8$*<(P_Z6}!s&p)U2z1co-Dp! z>Ex|&BQ}fTqB6opgiDM89BG*V`TA6L*30te)6@<4%mjHTpMRnl;#}@sC&#d2{DFc z1Ng*3@GJ@Pcpxi5kNHwxcf{$BMD3NA1@~y>w<25*euGTU%(?!Cz@O8-mT>k53dp!F zvrFNiS?M&`sein*5b(88+pw2j6hsvTaRZK?zw%}6z7P&z&M!lK%m~IW5;GJT`Xz^w z+2E|CDCKA%s5-QK&N54a76bE574GY&N0B##Fyeo~+7%D_gMuYQ7OgQ&+z~PpHOL4V z%UXhaamEtgq#*msY89pf&ivdPJ(%Yuv+KaF*eHQ{uewr?s`vl1_vZ0Y71`o= zE%$b3Uw|M1I-rg+zLy&mce@+WaeN~kaAsiU4IM`ZBtQp9FoC2y49X(u1Q1*x0Yq67 zKt&;hO@B5etcoK0t^zu)qu@MeaOHc>sk+@AmifNl_w)O+Z_;(EPHm^QQ>RXys%s6W z;Q<{DK!s3cBM04qR!m>*%8pX~6JXfv_AQHmI6$C)V$>*zH7bCe158>6j;e%cl{)iE z%3O{@oOwADvipFhdkjEWp+zDu_ zTMR^be*nNrpgkDB=&z5YU35og68h;Yzm&Z+Fc5{dXn)l1h;5Y%?;ld^M4!N5+%Zlh zIDd^himbjG#!{6%qVw9q3C)tF041dZmGYWRR}nl=5eF?fxEP|&!6~S|kc~1PsBX$h zQ1(HCRG#Y8sXidA04){eGb6x=jF)gPjC|xFvxQUL3P+$|Aog~#3>y|nhY%Qq2j%Wj zC;BviHl}GWjw(+b9ib8pvd=YB$RUA&Fn?fFTI4;Xq--P&Vh6gQGZUtC)f!y`mqyOw z=;>&3(>JFV{s(3NiBcuDG6#!LEWJ04-(p{~|%BD^WrjXpp{y1eql4x%76a zXh|EH%~n#}4$O-SIBCi_rzu%exHfKdh{<3+op3#H(CO26Y}-_?!b3n^)J7X!z=qpOB>;I=XcXcL0Fskq-{q9CMk1F(fN#8k@9Fc>_ty?(tQo>oT zZyHV_i#`xX_WMw)(Y66kgbYKH?bdX0R7>%EB7v|c>NM`hbDOpe@}+tl6%o{{+)g`rtaJBao zvBuUp-Jh-bEnN~@|3jhkC;jfH-+uir(^-{0So&*q3PL&mWLx^#7Jon1S~2wX{xJ=V zyabVXdk+FpEw#_ImiJd2DOzmg)t-S4kz%_Q<7&IqJfBz|* zS#apI(RO4$qaX9JLtytq`$(}@LsHT@+bOCs>4WQedBM$uP zOL@zC!6Rwm+Ia>YcTvSr~AzyXz4 z%A?naE4x;!M7uspLspWSDX_XVpTM?udpTV;4vYc5%Sh@5%OYBH<1(#{f};vr$Ud1h zP+{^w*@GkcKZa`P=pxxXWuop%PEuCV98WDLb#&V4AesP9I@gv-Hl^6E(NB*7(S(>0 z1JK8IVj!d@On+{rp46(Gu8q@5a_Z{c6a}+a`pPvzC5%)iA}%My)ER%YDGe4%@sSd0 zzDI^A6-B}TWt;Z7vvT562$3>HlqvPHz9sh6t=Msu><{J_Wx*S6P(!a6*NrX>wD&cY zAUL{rSsoP};x=syCoJb+Hbx~V0K9gMBPi2kANx~(H{y^s%{%9FH`5tL^)R8$bnGm zk%i@GEkOebI1-5F`DiR-_6AAeeS7fZkwDR3lKK;ON$e;G`!>1f6A z`e3OVqy&iGO#Vjx)m{IjGKJf*WlBk|ursX%iFfM^ji)cs=-e{i zqu6g+#A10ZLkuh#1wGVyY!q&qVnDj3E1EX5T81wSpgw5lF8`s})2>};R_#wYVMP>Q zHh;LVmOdd@t}s zWYK@SzhwYOAONldk}FU|q`#qLs)M*`^ori!m`rY^tOHdO{q#cy*<-it6BUHM*h|*P z`FrJ3mo};leqV^kCW%ibxB5t9#ClJ$-nr7gbkvxveM|5ploAbS-#^gptz<>LS8%1Pcl7geZ7%|#%mlx6cvUPMtI+ny&>r@!VpM?y895S92n@8{ z_Z4b)YDJ4{D0GhZL+uY#{k2#BqLR|f!2`wkS(+F)b!HX(QZR*1sc7*<59PAYr>lRM z7XvAtMzVK_I#rphoQjDyD)5G`>(EpL4wkq$op)A&a5W9YNeQ{w4Jw$L$nR1>;DoR| z-fM8<+P=l=8g}R9f>O8fUNan3{T@+Dnb&mwC8R$HT2upWVC^vKJ$TCv41~V1Umom0 zKG4tA*_+sfbQ#NO=?P=5rGLju{9}K=`;|0P+~9 zfPjNGy`^6nyM_QG)ZXB~jZ`|g>{oba3F@dS04ir?My$AHMbgz&0@)%vjb2oOmxXR( z`!CIez_wls0V&5>u#L1MTnm zk~0WhP;J-&Nx;iE5Nc~vc2JIC!%$ot)99#wr9*1EkP_pdkqa)I-eW3B1tC$0qKvjH z627>9>?S`opRUl>QM)Q!qyT^ab@BIhDB%_jsU0muL*${<$p;LJ-Lg-KdO&SZl|}nY zl5!5Dqe!+rsD=O%ExaY?3PXUp+5=^mpxX-JFjQl^Uuz9((e)@l_0ep?5pTC2R7mU! zx|BvA^-tg%=r~q>Ny*UuL-5Q31?g3Y%z}#C3&=ZN52bxb$VFWZ2r7Se1f{I3!rI*{ z0bNQ?W82h?&B_CJBPsvhB~YJGtHbSEA5OS#XwOJaaAXLiVDk*%5vTFs~_OUK?TVNmiMm!3M=b8g}m9BPaEp6p0 zDN!G&$+TUOvoET>5u|^WuWUG>(g&v2;r&(SSNQaMTC888PVX{beQ%@S7xgOYEb8n@ zYi)%xL@T7tWq^7f=o9^J15FuyE_;bKk(xd+SN>*bKynPSX+?Ej0o6HtW^YZ(F|~z@8-3Rz+->fATt7th-t5if?DcR zQz@1FPuU`Elhx8~e?N}8aX=q4aiW7ZKegqe*${WCH04ci=`M=|P-h+oDim>74@m?} zJ%M7aHIuA8Xyj(v4y|o7EShqpo43_~i+fW?8-CfYA}V05UojjQG1@XiQ=i;IE6kdx zu9cwe{Q-S#`%QldwRE!W#$c%xExy@CDd?RvNNruso(`sV1Z)Qp0+YVY1XKxMz@-lW zR-iPbg&|oHXi3Si!v4h?oMMAXOqCXO(Jbe(-LS;!{L6@j`VBgAB)GnGGF`bbunKS$ z0TgY628VxX``37}DYMSr|Bs(Kv+N^e20x_It|oZ49v>`|g7% ztVMvxi7!WmT2QFU#d9ZmV3hv%l~(3yQGc~l9d)bI2Nl$|qXuCoEWzzKAPZ3vkW_zB zR?_X!{-pzmvVeUUYMY9Rk&FjfR?w=bsIc%u@K^dY7BhqQp@y3?Xy3>cR6Dwkpzid+ zzAbOiOAHRQ4;YBxAaLS6ZR!SAG>m^>2_)wT;;jOM!G*d_U_#9pLEKAs2DLOhB^Xo} z=oStP23c}2_+ati5@;pm=%a4s2L}%^5xR*PA;La{*oUInhY0)h&_zg!P=AQgKTrlC z`VR*bWC-t948csC7>eQ_0<1!X&^KiW<=bEkEWuYPioZk1goa8W1eVAM5%yFejlB_q zhb5tD_3C8}9LPFG?OpnI`OR#qkesd3{gIibMs2Z zE19f>5<6jOP%;9)cT@>Jl?Vk3AI*%>*OiTz92goH0dto%7#bjd=DF~j2fz8u(L8?u z)uL#gKM;)olVA)ab10d>r-NCn98l|E(&Zq{^NaA9V)K0R8QQ!Q?G#w2SB!S7cJPMi z4m6vW!t4rurRXfBoFT!|LP!_@WrYYpOBq6(WYJ;hu66J#w2t`<3r1obq)(6lg75`Fc=JN|ErJk>iqQZoZ(f%o85%7d!h@+0hrCo< zEFF$UF#?Lo59@rXUFS=w&cUw~mundsB7ga1_`L$ZWe{%}3{fyBv1MwI!n>GEY_nyU z4+KMumf09BE7efMWtrUrmgx*266xzSzdD?1=T)rkSFyTz^K0;HgddEm=2h@p4gRaK zHdkYHtX9>r8f$+w7IrlR;LYpc_d5JG0EFs}O1uFp4bSz0LBLAJQ8OGHUT&RG_9ZBD zY@IN&1P|;PXenhTy#namHg{y9enW+Ag;BP31w>sj9F1a^F&Y{h21c+o?yUxwQW_d1 z1XXKDwU>Ju8XW;Omzf$GK>@Xw+Zq~e0YH~Y8yfC^*pGub(^xVZ9nd(OismUYUrIys z>2x#?kojc>n*T%QvP?7^$y`n5>tvoL^JE+593s9IGeqkdB6)_ms;4->Dn!=`u@hd` zRfyaQ(YZq0T_IlJGsF!Q;$v1NX7LJ92fwe_4AG@ZTw5XbLEyy@;1ImO2I$olqQeZ4 zJwteZXNdIx-vP0H2KZdCPln8HuM#z)N-Rs7A)3JX1$b}y(+u&Ft3>B2ad#CUz}uyX8>#?>4*><lIzxzziPGBX7 zTZV`SUBMiP5HfS5tU;59L+9E-OcP^&@(h_;e;iVP9Hj%&SeYE~$;77*^L42Ki)Upt z<;bLG4)b&E!ZPK#!w`W>=ht)LZODXm2Oy$PCO>-^vkrIS4l`L)R@`Tap?giInP4WG zNoI=3?&*_8<8%lc4q6s>Wrd5HL}_lfa1Pr=O*I#r$}f!#hxl&pH&}D&_gQ;??&J>1 zH`npWZJVV4#F~Up%7u-9V0fD;OzCG&Qsf%J>o;?-e8c&tXV5a$hRoC!pJbFk;Oh4E zdC=`7KwqfXyOBFxwil%R=7-!AIc_n~WgW02e`PLj6t%THJLAclOpYKi?J!@K2ANyi z#GozgIm-TBJG1@h^my1Sl0!LvoUVXf4k+@KN^+qWmc-+Q_F6Cbv6GOF#om*tNRut`+e9Oj$MP_x$C@oG!0Vil$TCgbLe#SKM2jI8uv0hVPX)`YKs{gvKD>^~5poA`@E;dQHeS?YxpG#F&r*jF>% z>{|KCA%5VAg;khumsrO)rex4yZ_fvZA8O<~9KXC>I&Ym>z_vRvgI!Mk)Ikip-KjBu z*U6!a#zMAH$dx*zClIKA?Z{qt@?D3~#Wp*|!qKZHqTTNYpMO%3p}2ruiCeUCv+t!; zka?#NIMglLx}hP&!Vyr%uG@PARGo&4B!6=oH;0C2|J558T`y_vW??^x}hg>)zZ0us%43c z-27@nrna`bH&if<{UzG6f6=v354{{y@pOez&50ZsQY`+6Mm5`Bx;@o5%w!_uaxk`p z^IZ#gl;l94Rw2U%-`vcbvOc+EipfRL<>2>17x;*)GP2K*YOzNm##fwUcVz$20esvr z#og^4f-LzC!5-0n*j?$p8V6c|=#VRhxN@ZV))qoW5*^fN2c+@lLcT>TmV8gCnI{EQ zn^}-AM)vD&!XOtZ{T$pO^17J}ou%lqUQQ^7{gG0)HyGu>z3jAp47LhL{^vADKt-C2{DaxVGKxUGy)%^y@;U*-33-1a94552W zfaqGY$nS-J_^{)gf4?64V~vN+l>ETs*un3F>Jz2zph&Lh3Z&v0z_r4XiL0CW<&f|7=%Zf9_nRC5s@qg@n3-|8x|GCCmd|0PoozpT8RFg7xEzKjbhp|Khep=iIzt5tQVNl)Fa0 zHS)bJG(*WBW^>~dj#w}asCsybFRJhbtzf`-Vb0v(00=SbD2ImSbK$iFYa4(LR`1}8 z(GjkH@rXxUH6r!v8Zq>1k+F!qC-`{4DHo{0>`IvUQ%%;P6Ab7RSoA!}fW8{MRYo)X z4h%iy&t}`P8~UK`o&rm*=zz>ykt-NN4k6)RFiG;vbm`m%^SQTobr2F5F`T!}$PfD2 z-=$%bY(<^&*2AMm3`aNr&hd?8@cQ*`TpDSq$jB<1TTk*|Oxjtw_p#{F^?H$+;l zKiD-;*&s#u82@LR=DaY^Xl076`Q3$o2o=}C@*KRn`()87m(3P5IpxdbsW2J&@?_Ha z7a&dGH~w~p8+p>4^bt3nmx+tVoNE`d0@C@G_20yN~?R`7}GFKn_KaJ z0Ah|LE**x$>?~4Tj>LM0lP5V6L^e*o#Me`oIY{;+WPgv$Ed+TPO`een{bVXP&d=vC z{?2UYbD@Ly*&>d!g45NkW{K+XOs|Lil~2bm=ply4yYE#XD?%S=KiU_HinI86{sb{)D5UPDow!qYL+W>Iq^kfaT`(bcj)03?y zu6!Sv%T50BNF)F|P5xvP&2^=Esw3{TY~osV~5PTr7WF z4ixJqQ-WQbS9TGu2~Vn##;ZV<3u+2#>*~DTr->{Z;(pgHNW1PcB}_+s^|aGBI)7fl zY6tvZzMql28OMdk7YGJl4f;i;E6k<|9CQECQ}|s-az7u>zf0)^Snh&%%rw9^R7B_K z{5p}IYqGq~meurEF}SCLdBwjG*|%$WqqMj%na9BjSQT_v zm#_Kmyli9!klOhy$v!Qg!UF}C*JSJm#0LU+v)KVdPwDS-8gzGinw$RoP#6g7L|Q;( zWHdbl+(IxH<`enyW7|vL90P@eFzhICFMXrNMK$rhp?HEbb`F1|v9yPOqAf7gv;<~% zA2ES@QhmN^EJA@Aj5aiku!lUXS-=$5V!(8d;cp~OU-_!;>H|`|JR2CbyJ0pSSs^lD zYV-wpRwloy)t`NJY@-lsPw}^~{{u;{76#BipnPwv<(t>S@Ixl|6@!K%49Zmo--$B= zj;3W}pk94LttL;cm+g^%?X<&gjzs^KVx?g$j5Nj2k!I=;P3&KS15w1V z!-(XRh}s4G)OJARK48*LTc^EjSfoEfWeE65_Ie64*!rXVJ+b3joYl6a(C}#i+m*(* zm(mOf3Wf5y}0dvB_m$XUD@mVD|>BB zmFV?x<>fpVXUIhr3^>imUoPtMH1gd)|FXW*(;Vn~ zY9oL16hFL?@2$OTu=D8-zwnuATUt~9-_{zl$BrAWW4j}c0&tDbv?s1y@hA7q-EQu7>ljv*X)lrbDiH9L zL)BzeJ*lSJx81`QWD*I=6>Fc+L9VZ0FWJE5HZZS(HQ2y^CL8!46>MBEA{Ziwptxq~==z(WWP|FrtLG;~Kvx&lRctya)?C#OkAwMdl(==DH|>Jl{~5BytB> z?6p?>Y$48w-;wC>?N*YC{xPiW*^{l1BzoDIR#+d9pws35UHf`3TSH;rBXbP~V&}+y z2E@k<+<>)Q;|_RT-QJf6fi9)H4`^myhNrO zdSA{pzRsdFmpw&-tyTNg6c-uhaWOW|%IIa7e$sou4$s|Iue#wQdSSjT=TfHzvVUy0h- zuf&{^s$!h>`1I}kFVNPrOSTK%p|vl_ev1jVCXuuJCa_^4{~n8oVhawPg|&?Z3Rtv% za|dTn6DRYWgZ)&C2O#Z)x}r{T^@V9$aOp zF6{CI?DfWK?}N4MXG20>laKQyz+(k}UT@FN8WI-pn;ZG2M%A}|eC%AifTt7ihW<|M zZ9{CS{A7&N?T5Axqrnbe3aTf5Z@w0IVUMb>XCE0CNhP3y8rVyQ-O+Nr&Ef8_W*pnZ z%?4>S!cgBY*-Oa(=SW$*72beD_4Sq)SbSzmG2GP!#<=uI{zfA=1K3_2*cS$W|6m=h zG_aCI+Rv<#$Z?u@o4dv8$1AKNsDRzG`0~_!tUDsuT{qs9-eFuq2b#sz{OUBI`mkJ^ zGW7FQzel80v1Q~ZI`b}D{Lobk zc^%+C3gB~(VOI>*vMo5EYuPdq3^kFt7rjp1-GS}r0+J!o4m-&OBtmvr`_-J_%hJMr zk=9d;boo4NoSHcf`-a@^oU?@ zAYYTBNF($eRRMq3bwK-=TyMd-ydkTrn8YhsdtHO=qxCh7mT5qLOrg8MqRWdb%SW)l zQW7MfW@meqX4R{~5V!-X0mW)noLAv&m2W2jQ-T+9BU&z5)d@ac`u*$yM5Z^Rc0_Yg z%Y318uo1L71GGs%isL0jhNW~QL{@Rp2FQD*yH6kIc@uBUhw*twv zycXLdDDCloB_6haN{;)5+MYNh)H+E)cvku&+0E=zgOCC$LrHlgYdpfAl|eQoNid+a zE=z>mU9B5osu`cuqOQj$Me8!wJ~mmvI`<56CDoSYWuGMhNf|2Tx?ND*FyIQlCd|PQ z!sMA5VaZ=u4L(2$c}AAWJ=s7DY4U;}V>QX5elw0lSEY1+YB^fs@gooc+G)oToWIT8 z@M^H6m~;r(gsfa?%m$0EUOMItt(SgJ;6;&IrN<$wjEcaEhu(ndv~v&o=M91MC4dpnt=zTNA2b|yQMbn(>T z^{^F5(U}8(_qF}53;85e=_MU=PI5Cx8Vl#g2;O;1!MkSyWOGwkijBa|toHaEEFevw zNKdC(x8DbKYWn}o7AIkCF2TJ)-lk1^=oHT-sWrcc%}i1?E9hwO*$KY6ZktYYg<5!UUTx}xM9X-IaQZK z;FnGv@T8M}Q>TGDooW};V&k2h*8LW%wo^RsRKh_FxF-QRRrzcR;jsd%cZHPd_^hrzE05Kp*g8bwvZsMz`N-fjOloyu^LUosINi9LWXzcfZIV*qUF=r~ zs$a{YeMhGodA z9mwVan`eOS(}OTY)&+?9)9%g18!B+RQW3UsTudLHNO1}@t$Rd~I=9#34T_X4!TOL= zOsIy%%9B{N4QER5ij?MP2IIJXX)eyvK2PxO~-JSBs2A+g}OS4bA6Q zwZ0odtyu*_*)RFhjl80^8kHKR;YwQ1WPtU1bKo7EncqW{y0CkH+=#v6S8O(y+e={_ zyp1!vKk#4&wwE?4as7UtYU=PMdlX*ZDan9OF;7cmRA6D(hG%3JV5)4X;OEA|Sn-K# zhX9rA74QfAqAkx!6ORoEv&n)_cmmtLsVPv9&)a3?K^6Gf1U6%n6yxUt`Gmla*&AgK17RS&0mT3~xW@yONtC&uZGNe_d5hhKlr=M* zXJ!WMeJYIaWsgR*U-EGETH|4V`duNZqfRCef85mVT^_X%L*?Zs zD9g58#1oc(plEdrw0xjiX+wJ1YTy~5)BRcm-6;4Ay4gp9|1cgU!jgSkvM|eUp=^0P zkfuO^NbV^rh728AJj~>NF}xp}Ecpr?$s)}yM&^1+b~w@vbAw{ckd7+L5gSr(TUOYX zO}2&F!KEEn>-Tl~eS>~m`i<&ftYb{f093?vRHSQv7)d+Pyc5}6YJ`QtNi^BnXbKc;0acuyRocX}a)F0r7BrdAA4Z7y+ z&@m><&XN4Wm(UW_s!i@ILZK=&oRYc#4ldx~Af)x6gel_uvnSgv7c}JkZ<0J%@cx* zek8f-FlbgoG&b>RZI9h$$bI|yvu$hLI9dkd9_Dw=;IaKKboZAGgTAvr8Wg<@9y`5@22yMa?gO2_Wv z^&5!!AWb3LFf*LYKfSHj&5V1@3t;{|;t` z19E&md)A)-mLtWs5BXB;iO_oIAn$1A;U|Glok`;=U_kO89Mw5cTAvVEIL8%#UaYHK zJXZ{2?AlAwVmDlr7P|!#y2CEtzQhDu_a8NXaHU%33l(fN%oR<%*177JwY8O@gQm&$ zC7E`p11PMhZDM-}r=`g>?*&7^Qjr2GS5kiDuoMrohU@)+2t-ZFf3dd%=&6Ul0J~Xi zpUBsvh8on>qBXc5CO53-pG&KM$y?{Ev7ow)MVq;qV;a&#i^UDobQq{%X*kUK7A{{) z7p$PzihE53v?44dM^By1o4^T!3&uW@I9x$FxJXm<4!o6b2NkxrO4NSXT&1_bx6`(y zgi?GdbEK27mF5dj7QbIQs4$R#QzoE~kKd93t^|h@3i_`nNlYiUj_2Qh${S6A!5j%b zOB4nFRL@ zOa~UjQl;^*gil3f(Q<7rGOFzwKeXZ3WtyDqld_`rsw}oOl4NWuMJDTisAID8DMkxA7q0c! z*6*vYr=M-{g$wlme*NC(N4xslhalcA!^f{qhZp+_y6qa$_fF-nqUPollec$pUkFy^ zSUdY^PxlKlUn598F5Z0}{{Y~U{K#Ij+0=~hllcN^q&-U^8=QO&&Na=nbGkg$Q_H?W z(S+}2;JtjjQ-;-l%+^u(3&~2{izx$~Eg?Q_13_m~-mj;q(i*Bv@WAr9%9dbsnBy1a8aue+7+pXacRotEAV)rbu$6OrZim#VEP8M$1Z>h@oe=49?514(?~bi&dy)J zo=#VF=fRmnl?aRTbjyGRfKWq=9Csz@brahwb=3sD+HXe+-;3-D`@ps=GKe(zsx9_E zNyJ}S?5SkF^Ek;)F4&-VBcPQI{_YG~RW(1v-j@Ov<0NLs^GB^Zu=R$bpT6pb4s4r) zFQbZou`WEszK$d@&%w8CCpnSDUWq`TO0jJ(MQraHqP_}wE=->tckrDrqP|{%=U-f&|7O>?H7pGV1$Nbctq zqg;W}ei5u4i)TgrUZI_io{f{OGQRMSg8gdg7xm})76Rs=EJVM zb-Jz8ZBq^3=jF=n4Aa2Mdw$Gl3QJgALWx|I%wj zFDXCY#OG)Er1|Cvdb2rW;qCXpUk{o#ff?|N-}Hl(Ww6F$`8^(w*CX2GIyf*H4%x|n zlwgWfmnlVluDJSZ_JhfHqh6!Wvix3FW44?jhJ~B_fWBnm*^o^bW(a@S?+fqq1MT;R zc}_a}7%3(Uu>(!~ykw^x5@vywhxoP%+@!_D{Q|zgup-O*4w^O}B|?5<2dkd#bf}rb zXNL}WuwU2l81jd^?9j1H3s299blx$44VtE2vPD%mL2_5-WQZ}}!Rv{lH)3Ojy?9Pd zkqJNhfm7Fah3YH4Hnvv2r4+v2=XFqDY&x(BoA_%PT-R~xB*i; z9T2Ysj3+y2s`dH)f-28!aU_k+bPQ0>cBe@*xfiS;7lvkL1q`vIihrNA=}zDlcW#H2 zdMQTLlIGtQ@S1Ec^a-Ga-946nG^oXV?R$78+1+m() zZq)KdF`&g}5>?otw0quCmHM@Eog?)Pc0o$DOc{qsUI5NUyQeGnv;-v-c{Ty1BCde{ z0GpklbOK(`@1>+WxFjsZqAwWf*8cMA^$96?Z>ut9=!dR37QEt^4(VEBWRCw#ILW#RbSn z>(ilLouoIKMg(-xdpvDGxZn1||cv#rph!o2JbO1qHgqVMXAE{F7|4&!(X@cT$Y{_V<{=;@KHKtH>9gX$5#z#^F31&PpS{-p4z%0%D1|4GF+PZ}$TJOqy?! zUy3Ow_{(V?&n&-xWXmV=$!P&n<>%7Dtl(lTG@GKaa&0AYcIfH1=1=GMmKGg{N*@qE2a8CbNL*lU)|(>z zPVpM7%o&wLj6x9u%oPn)Nbtk{vph*kbR_`XgLrRo}p7i{zMl4^aAvXBlgK!H^IBAUDw>x9=b~Q|t5K zq%=P(pQx`1NGx6xvz7T?_n;o{*J3G;3isvC9m5j#t>c^-iQ7H|%HMn^wt)jsn}XVH z#?iOcvf10>0tMZmv{2Fj;roNsC(E==7;0>zqUg*kewk{s=^t@iY6_gv^-WQ zaIMLIvthx?zTg5kat-sH<2us-7 zp}6eSIL@HV?92wh!pN{o*y_wUWwA?WwEePHS+3HBccyVEg(@@5gjf`1b5h|gOD3P* zfELk_w?o0c;*fEK=d*hxR0R~~t#K_X7XD59SGHbMj62UA9!#O=9zp+s}118Are$2Rib z?O_`D1Susm9McYRMe*x&v|r%{=M|&P5-PjePLf?1^9S}yG*|KMCjLj5BVfAd6VQpV z*ED)iEw7&By)AxomWRE?1pr??NfNZVml;t`tH%crLv%fkq_wsgLqCcmk}gI~mv zhuP<8M#TO4cv|8GfD3^2e)AwF-5l~=n)0w{c|L0^PD&v^Ex=v4Z)MKe%BN)WG}G+B z=A`pwln9$h7uM7}6^BsZ7HRH(U{~u#kzUa??6-n!K?*+-bmrdJ9+t65;>i_!6K=6t z*v!eX7}m4x$%G259g;L6zQ49-8--?5pPfnR`=mJ=;V?TnAOPia+5CJezq{_X^8;RK4y-XKeZzQfBTR!E zpb@NJpfZo-(+5w^wx@nvuQv~}2C5;jPlN z9(Ix=!IA7pY4+vd;fSMLK*(cA0BOJZUK$bisjGN0-0auPp6fa|VA!26|GfOO^7qS6 zRjFMkQqjmsI$sV{3Vn{2pE-)OjzYYE%N@~{hk2T0XNTV?iu%Fm$tDF3+*%#YuEtzC zx!Dqb?mRpEWbt$F^DT$@$HixgKPtxVipraZc^>jr&@aqrkWXT~yMpKHSWjS}UOozq z{ton<{Spb@O_mq6-|V}WNE zsnfgx>HOEAnXno)F>#+vgjonODKZ=i3)*JwYC0SyceT^{^P^okG6DC~g5I3}G!yWA z4D})p>i7@(Iy(qx{Y}UpOYG75nhN0Z1a8jWDMq^qCx{Nrn6Ss0ym*{3JjFc75id|g&^(Bt*xnF5BZDiBth$H5D3F}VoY z2#hwF=XPB|C?BFp4n;?rI*R{?5j@>a=4spVFYZv)t=N(e2hl{Iqsf-_4>n!^CC9Rz ztyOItIG}0fc;2$PfRq8X(T!DYIAhv>D9>TCziPyT`u(g;M5fx7*|w$DwxF_(aJgA- z3(cZpaco2lN~3^CvsJ^+5y8{t<*K}L?FYcG20HYB1zlHSV_e&YcVLSR(J*Rjoz{1n zV{qVgT_WhdG1S#!4T9Lv+e4LBt$!bDl>Aio)M)XGVq*qz|TDyLm`Xp zm1dad;5nD`EBR5*E}*<3V2GN3C!TNnx?B8bmFVZPc-sua`Rz7XD!qP}-{4i?x7v;O z8tGCxzS+kAv>14shEewhc&ApqV2S0p;9z0gVP0dh2E&{%7eX$=n~Wq$KK_1JeVBL5 zsAX#eZPU0!dOuN?8}0;sblo_9+6Z?t86MOubFt4O^@OGUhW(GKAavA!vqoL(_3Teb zC;uw8vWmbMJmBfCW<^@$xK-)j3??W0Or0rMB8}=N=4Ukoq+BxU91I`ll#Luqjj}u4 zogBJ5nW{VSMWb-D2GF_J8hH;+#n68`DUproFr9be2}uVKB8L-oOjURA?a%RdU=sxY ze6`|FXt1MxCmjX%!L*EjLOF5-1E#6L^GfdwYz&b+?GqZf$VVZZ` zV;aDVykFMaU(33PH$rMQzf1g7qHwx48@!3+MM^P|{ZpAnL#ODn*fZ7#|ruN9cUpJ`4szCoc5tgN zq#ZWD{P*-Kb#mKe~ePygDTy2GQ|i zjxv>*`py?rKBwiV#rCP}gX|^S0!t&b_`E?pmAx9NL$DzP3oM1+sgNhgzBBmqhpDG7 z*S9qV@hJCyd9}jAZMn2s+{Yz_3@Z=_u=&ct&eP^*l@o~J@1dI(NseNWV2%=x%(()* z@gjJ$hAZ`x-DGYdbFCwyDH0~FnE6?FWQy1=RDtFXW;-~nPAS-P4s}ALzQI@1(ORW; zUcphs4w3(dq;PVG%-v)*p-Ei-{4Dk+foO}%)^>I{<9vF+aFd07%Tc?ezL9U;AG!K- zRjS21WqN>C;{BWC;YTL$@CXV47~gC0B$MSi7%n2BU?@m~mkm%FA45DIQJHINSvJ*? z90(o%Nhj^Oy5UDAtAlF}JhMfZ`V)@Ne6BL;y@cv%kB3sMe?NM@xp4E^>GV;1!k<@XB!r-#(dyXnQ=qQ1GlD zkaPf&epCiDlRB}lxUG|$L%RdhXxkjK3sada(Ta2j#Rxi5&zVhn<`~fOuR`TJ9Ff5ylQ{&6znLK;m#k45AAe+i_zKnsV&OKm7UUTFdMgq-ZC^%;H(Q^fqMhV4E0D#?X@^Zg-(}D$4931dNQjT{vj}+Y}CDbhtxw zwxB11t23#m;+INN8VngMFv2u`=`eW5bP>u$Y5e(eVnA$3c0Q{mmv2%UI{{ypt5O;) ze>^I1`zT&E=#uzXD*)XwD$>55$zCPfPT^+f%>Q57_8QZSY0q&EF@6JYTBWKAsQ1^| z9`=KI5fHcv_AFj#vIlPwfpPHVA^xnH_xpkz;QDAleb8nq5u{4DgA?HI?bvxCF$VP) zsL{V;96Ys2$MM3jQ~^eRC7=QHkzJruf2Ahwtw-OT^!sX9slTGLcNa(la(~WjpbhN* zZjkJ|nS6jX883Q;Iy5a$zBFlz8%90ts1`{%4Rx(@fMGlWJtn-&5*0ne`{3^w5k~0a z&<7xW5{!5ERr_kf?3|QmPx1}B_{Lr8QVl4_!8UmF3rXaGvJjwNidW{V>la=fe@~mn z@?VYcz6sX^?64FN`U@2L!|ITZryB^NDzMW8()HW~Zn8Pj1h1uU=uE2>0W&C!)fHy8 z_eUaomk7yyot>laB9Hcg1lFO4<*`J! z+yJW*DlYlpe$mdB0CraBYxxjh$TvbWvtH~KqgJTSyx1`eVF&OPuo@Ywe_9ul>c0Bs zef16DeGNd@)ct{WZX;qdXB916i+Ky@@|MmQTRNwU*o4`s7Nzpt+X3~QVgod`48NzP z@6Ror<7v4WQ!U1>1^fkb;q|0NYO#fa#Z))xU08UBdn^iG;MiJ(LUoOQ@QYgG_1KiK zLv7xMr^5U|Gh#iWt>O2xe`&l$i^ZVktM;&B!ITO_sbVu8_CoI*#2yg;coL7z z8+R&U&n;rspXc{icDK?brE`6B4&g7@Cx;Oc7DL>jO3|jm5~(X$o_+6)pj{QQu4HPq zM{Bv|S$=SJ4+o-wcm9WYX6hYE=gl-cO5x36uz^Z0f8kr@V^v(d(#+>h zAax}vW{&0a&9EU~oxs1(T6ZUk1f|a*3q1B&jDSzE^8Q8&cX74q_5;(3aZXG5v{E-U-+;9nERomlM4c1E@#bSF_^6W!hw)1Xx3xNDBt}y2 zn2}?oEo&whV39;ve*|PIpbg8VYchP6sH_m9-1_SUsb-pJ>vkkK5*+x&@*z`i9^RrrkI1>ctRX66LvUs8p)VSUXMJP(f~PTiAvrf%}jxr zAtmQ>uj^38Z>Czo>D^B?Ro@6Hr*+H`Lvq;+p=u-G#cPFMe^GZ18N#kwJ@U3Np_ z33zCf2knN8R=Y!21s?S=o92O6z2}B|0%BA@)4US}U!s*8wFvN5JD3A*BN^#k>J}sR z1oGTC=IYILKvtkvEp59GdF~0&yB!+tOv^Vo2`wh|7Adfr5Tn#IJ0&Zi1$rymZq>Gz z+6K`ko;$)9e`m2e+F$%qiVu$H!M)gQB>MGrc5Oe^>-SNZeYS$(A*qIpTD~nd2LOAu zT2xlCKg05U)+{k{2J5GE8~drfO4bh@XQWF1C3DU7KTN}kmZ zmoQR5q?nYAh+jY?@6Gr63SiY%BSu%THwBAL@}Lmk!0P`*i+q;y7Ga)g8Rbb$-L><7 zIFGs`9SD2h!GA0Gpr|o6h0`s=5vTEdKXu_9ER-T;ig*ORp-bIDN{;Xtjjvp&LezH` znYp6Wh3w*q)BFQ&dHlcP?b1E4u=$;!^Ox8gm1=yz*BwX{n>y-V>sEa!QJ54@KIA}s zq@)CV0lyVd&QgLj7wO(em^~nsl}B5wKl&O9e7drQM}P13FohFm-yt?0>)bMU%OIyK zHE-`_-Ne)l{9ELWi`)A(ckE-=iW86G_J4^fvmG+nnf)$?QF;O;hGAfp=oG%?X2bbU z#iX@LuL0tx;=MDdZ>x2J0@F2~ZI!*f9mLZj2o)dNY$a`ENV#n~H#{<7)edfWrTNr+ zZk&~T;eQCjFCF_9LceOAArtYEcQ4R=eMJ*po51PXe6thoJeuMfcQ6I+jsf`9LEhveyw1n36jQrPu{8)`PB!YKB>|nagv{QoKB!-fU8dJST!YD~+!1YMbdGgRv4x ziA@0F*E28)kBJ{45!1M%To#CI+_wh0I&TdgwB$cFax+h|2AIi;@}>M4gXa6Mv9d`c zY!xKc!&&GZRaJa^F?|(AVTu}5M~YFGWm*~`f8xW%C>X&z{w{ZCW`nrgrJ2tQKmso# z4^*>PV^zw=i3;p|*!{2ri!gWNr5q?!LqWjN9j%1mkF|a9cH&@Bgs&9`IFES-|)$Gn0^zN#p(wiXf5~IjTr`3C#u}ib^ve*eIch6d@3bic+O05Wt27 zR74bA{^y)~XWqOJ_rKro`=Y!#_snf`%em*?dy2QcTN-v&e=7@-p(4E3py_)Pc4{mH zMAG{INc$4_D2lA{I=Xvu%uFrsgEba%g9I-uXTyWcJobgxgL6Alds zlOP}n>2QeXl7v&v0r3VBKsgiw2#ObXxCFef6;NE(RrtU6s(TVx{f^(CW4gM!y1I^6 zuikt04g*j;e;Ip=&&O(L35&+Wd0ArUX!Z{}Zu(poJ1R*vCX%S?#2$A2rYMA?k+H33 zyc++vJ~~53!AgL#OL&6qxq>%sQmpOEDI}_ju(wpgM5_dqct1tijWx2<$<)`$)YD$I z6MUpP@j1CyV6#)iL2|`{v7!5lVact0io2BqHk7zwf2%G1oX(_%J})k!-;QGP;sDs+ zXK2VWsO`qZN!w%wzE>{OUP75g)&oblzEa9X!_nF_fZGTl2i!(1nTb2iZBoEat{F8MwyWzf@@%tPcyP`3jxHC30D|pBY-w~xVF-_N#C>) zdb3P@e`tihO{PpAp)ZHYgx?-A`!(ROMa2N#YF(XuBfJbtru&t!DpR1sY?qX`*i}h# zuh66RfbTD55utobVt{B0B?|+&Vn1RE@i<&ClKkjUL7`PB;>GMnB@Vv5)lfYrOG%i1 zq13~GVvdWz=xWnKG1f$(KY8!Es`XVnM?Qv!f4s3s1g2x>R<1>25%wjQ>M5{Bjc8zk zbvw!{fFrZeD*&L@bye`2w!TU)km*m1#Uwdsou=YgL_>keJJ)nI;1}9GDMoeZ-nv6%UK4_QL2vpAq?ezLCG>Snz zf72E@b&ZXNZ?Eoabm-FD_#Kz^ajU+X7q(A+=$CcgcN!a;8=ISixyE}22;MbjcvxI& z%s?YGK-)F)m65NG+>M|Pf7o68B)SkZEuNdnhSMR89Vt^$$0^mIJmD=NE1crm`g+F^ z8Fi<{$WVP_nN!6cQ|38ru6zAlQ2Dd1fAZ`Yg+D~qAeqc_*lH;m389->bMdt5S%b>1 zGpIVJoNZPqL_u`@SQYrpNWNAe#eqX;_|D!O4;yz@_UUGd-lyBm7(AD=i9RK9^R;Qy zBPwrJYu-i4UO&XOSd8_-Ly;S5*d*Zs^$gb|-T<*@TuHcpPZ1~Y5#iAry6sJ?Z=Jf83Ro>%e$Vlzb6t-P!l&$Jj>Bn{o2$V|es?q?!L? zEy=zkrgeWlTjCQ??dI)tqU$(O_AHRs2l$ckfXy@40F&`2$&T0`2g+d5SK`idk|oq- zwri3+HXehandWO9E_=>+8ZU8Ah<)g8LH3ZUu?`I)DzBB;I4no+`g?%qf9L894UR=s zs0*Y3i#;wpw>7^ZF4B;tky3V?P9thGb<#jXFd$k=o2=bkgwbyOcOh|Yi5O7QY@=NG z^c=4B0|MNdYO9lze!xGXAB0B7oQAu=ZKfzIVM{b1i7!P1o;x5PB0dZSa8JmJ_H%;( zSmd?>ssc*08Fn)Kfte}U|tI0A{!2_tm2LGuuEam0!uZ!|2#ug&IJnNFk$*#(+( z+xZFG>T(CAQiHA}rT|?p9^l2|!SNySEr93b@g*1MoRk5aYct-t(ja+jY z9hqJO2|JpQ#*DEV4`oRGAse2jG)?3h@02Ms4)23RcBafZ2Wyvif6bKHUmn79GGF6F zb-<8y3<0dkX>3Y3XZRIaQ9#NU55P0@@6cY)3BcFTGZha!1kLes}cRNF4@V~qib0+h9MK+?!*0*VaBZp zd~(0wu!?-4a#P_`YfP`b?bz1VzRG*aIB*f6T;u(vFF$8s$gzJ0hx} zzPY}l}zU=e1l?;v02J~OvoLTuueZ6OOc`B1}Z?AH9FQ+ zrcRSoI1kv@f7SIg7j@%Q(1%l;*Nvkf-^r{dF4o?Q7#Kre5cSWV;Q9p@7btl++r{Pd zZG7^(d?AW#+=iY*Dcwht`O82hi3?*(#9>|{t{rXGno~^l!f^3z{&GM`>>BKN++pve zYDcQyUx$eLuj5D)>cCy7!1nfC8ows5PZr`Qrwa5{e1vAd|slXq!ly3yG%8rdVQPlEJBkLp@yLyNO1=ur+m z*2P0H^@lYW6d1$JwbUPWMw3UXfv9g;1CLCR6%v&&`MPrEAkmpaBdnPFwK=2&Xqh}S zM~V-|f9fN3;YbZQca0l{U`I7w^~)Q==4M!`2k$}zdI*2DQ~0aDa~D+WyEqtydlv=+ z$)8#SSgt~*FM`WSner_#45wsT{kwpWfIRg1)}z?ZsWP2v%aq!T z5$NIK;SqW@vgRzIhA&hPJ^K4>eh$cD?Yz3`dzaAF*r%@It=ar5lsL{C_f;ND{|dNR z4*i*8(x32U{y}$Y+H()`RS$X)2vd+Y^#J+1ef$79HT!fd44M3VtX>+swPU?Zg(;}D zf7q7vqyl20;w8|Si+zd$^?LMX%O;~kAarXB)oKy;daA?`pp^kw?UAv1JdA&x?q6I7Y(nMup8?k`=G+e>y=WRu&f2pqMG+l{K{YrG2qC}@@uIN;d=rodj1yq-G zj)sC$;kj-z{3teU^OT)c5L9^vM_!6X1tDMOeEC(D==4 zZJPLGj9N-rXww=~OSoJu;RMc=wjAe5bC)xA638A})ZLW3T3Xn9biT3LS8Tx$e{Ei* zyuvCc$K)i^Atx)f7ZV zjV60U@`u(CeblH4g?4bdf7zNO!=cg0>&cP-6zJ3X@jMG2wO3=`L5+PDj(rnvmnGZL z;Pd>9*^W%1;qTZE+N4Br9jLwS%Z(0e9mhz4XPJ7+DeQl{<`=v&fTd8rqee7Mx!9xE zY@-7Zy)>de7*Tp{kIZ;zGc1`KEEz!T9h2EF191ziyG&o*L;|Drf0Uhbz|HobZo;i4 zHG!g1nL7_9Ihk9DgiUox*kCIWt305II|tCoOBM#Ct@c=_rCOInmb)y zC+F!|cZyl#`?7f&?DOu}hD_A&o-q1M-iluApN4>uBG7*r)F6gnqnr+q3?&=hvkr(z|UQ`qx9ezsmESNhxle04tle>YTUoakkIX7H^<?o*%}Ei*$nr(I)yujNpT=p|e090Y%&}9?uEqF3`Gwg5EC!_yksa@O&*D9$$aSX1d=pX$T%w%qySn=Z$HV~@~ zs*#V8uhr>1f5Lu=c8ZGzy*>)M2rn5?!@vWp?RQ^sx?-%(Is%7JF34`wsNB-&5iiK4Y79EOv+$yq)O*4V!Xj{kl2JDl@%S-sIpk;|4o{((Aphtt&A0lOz z=ul$~f3$i>(8nhXhTmYKGbC!IcohZ7K&`TTJTDw*h!s2+o^}lB!V)=k7E4ggAqyBf ztIV1Lf2TD^q5jMhqF)Gd@UQ5+tlVNVIF<}X;uyzIg{@5=AgV(=J6nvd0h&oWKWfGf zzOseyS5f!&8*WTLWnc0*hauZCX7@=HrY{~}e)PX+^xciO&p1 ztOz?sffIY?1AVm|B|$)Pe;Gi@P2h2s!jn@D@0#trucuftgTOe^h@k~4bvxc$HzMNqA@Y!!;Ur{m_ZK0cxLq2L+f^#sIeS7A8wM$VlopV-dmM}ahCy4~H2xzUyVEx3Il&(~On-y(f>2;#p)oK4MGT%lV<@1&+1YLUD^Q@GGCrH^ zQ-*su_Yvjhs-J+J8OenI6kEqoq6|07jPwJ-#Qz9uB&TW|o^!=fY-;)cVmR6nQ$^E~2OsOMim=xH@e8 zhID@~cnZYdcb7s)}IDOcHv*rZzfcHN~oHNxJY-I{Ole6c6lF z$^aE2cY$Uv^g+uih2{7XR)1xCS*2FI8Y6NpL^%I7`t+=VGLr+eufvcK-U8gb<|O|^ zbXyEMusPC6GdW`TFe}CnbAy8`tAJDZH4RyEzwG6Hop}GcZ zT=lr>2kJ$zrh1&nu6rOp2W=nxbt1iPI`DpVqJ5ns4vwu8U3f{5XXZ|!|Lr>P_8B6$ z74JkgzbXhh(ayZ5LETT65lyqCS*Y!`Pyvat`TDt!obDg5a@F0CSUZ3Lp zuS--wI|*ey6CU(gq^t>6aXw!~Y5NJ^dmmo^gMUViyOkflAFsc3%~jYdJSq6VBZNy& znPb2vY$0*;27k`KX>p^xdnuUK35O{)TmTC;k1R6|avBe-B5X#{XkN7s8%L8(OZg}8 z^CkNc{QjIhjAZ1(M!pwG%PAUPIck0G=^uxAmn@Af9&x_ig&)~vIKTZ42K0}55cbAR3kj`NAfNgj!d5oox^7OscO zOUunM(J#;oJ1y2i9RnEt!UqIARE_T)oWsv-`HWj@UdtBm#BjavAvhVb~YW*#%-uu_aTsP2}ft51_0C z)`rNdvsbXu{_klNJHMAdaxZX;tAIn!n2uC@+(2(8hMHe2VsPh=?rOTCF#83HprGE@^ zhxe$rBEVwkM6yn$KA>7YXP@+aJw<-Q5*i@T;<<*gkIg=?ClPoA$cmW<`SXFeEBZbv z5Qi3T^O$w`8)1J_ncGz+O#Rk-(Jb%C2Cgr69B13M+UK1_q8^g9K>j?6Jbz&VHp+HE zKy+x~`KM49kv_PqAW;Ec5;kh zk@HdF|EyY8!{vjUp~W;8K*_9J%^yoI1-^a)>Jah9rG!L{uaEM@xe-h1FC2nI?XPuY z-9O!m;4N+_5&t$o2l@tOx_`QLyCHj6hE6`d`$>&PtW?(u3X9+&rdm20pDlu!f5&j-`~sf`9D67gbPfg5Pnp zfwIEvPEKZDkh;rdVZyZKiVSr1a(NvNiH7$o>GxaP4;t_A?WE|f9PKOy4Mo- zdb4}2<6d;wnaR{>TD?Q*_csCvb{Zyjo1)#>{q*23_y9p4a93-Y2|SsOu>lg&u=v%Z z8d}GLNku-!D*5_4Dt|PMD?#cup_~^pV3S+;%Jlb(HTmi~K09|tf46IeOylk&ifoJZ z{jOJpO;Zlw`2!PSy_t@t0e|;(?p8GBRHs40Re;7w3sB+)GRu~_MmiPhBXal>)}s+5OOuQ$jVg^`R3MV@3lkC7be@ zTLh^3@9s-^Tqz4fZKj)t9W%28n3fJ&LuiT#b^@$U!6`S}G3viO^@#SE~@OgrKXgk5qv ztdB^{0XDeh6}~t<0pqrxLsorUgN4u`U99#@odxBaCJTdu<{obq1j|{zC|S}_*Ruz z<+f&-RAakdD%<9bJNc}@(Xe&d>8O;-`TJdcFc|LB(gkhexpxG@cd*ALMvQdrs+0`x zg78EJ9)Fxnl%B}I%lRjj{Ja<^%xbfBRXf?QAz0jGcF$9s4#zn%RaLsZVZBB+ylBX zG#z8n2%d*BQDZQa#T?%1Ej-4r&BE+!vVYkMqtyunTWYAIN=QCwxW@0O+U%x2f|Yfa zC{7b&X{j=pPa>baYJar( zTw^1B@1YdsFg>O9*afoGB78K3uNXq^!~fdAA8x<>r)5%qrU3}4A}Q-@_~CX3`$_+r zSNPxZtVB76R%@mcaKrVzmbSVXT4irL*(|CCixDNdp)?SH^4&F=x3uH=86q44JX#(y z3{-Tnft7Q@eb6{d+*4d2eJ?j~Cx4e;(GGZCF}hgy70A?<$9OGdWn)%Vv7TBWQzp&h zZ@1%DWIEy4kMxxKaIa2S9a%c0v&Gmw5v{qO9Y-mtclXR%k{Suvg^n7!CGgt0;?AD_$*wfoSLDL|lp znpavN{WFgOb0|il!IEEWVSgdfKV+mB{$|mw2D1ueaMHW{vpimu4P*WLVm*jYElqcU zp_e6!O5n*Kiz_VYduc7eg(Gr3i#B-OP!m&>8IFm;F#B#)SAV?}iv}&u-7C{DWawTQ zKre$anK}c(1?W^nZ%HFAzaEJ8>co~}Z-G}jQ^;PEq)Zu#SfX>W7=ILs)=Ke3<>7Rm zl`Z9$mAAwt`@FJ$v=lb()0O?prAEO|&E6P+yGiOWf5+0Jrc2=H>@igxkRZ(-E#k1J zB%PB-BBsU`0wcc-9o;V-)Yhwqc(Celx>ZDna@7=cvyUz!$|jdh(o{v;I~QEfzNQ;X z1r@^DCrXv^hQ?RmSAVQ-IHh(JH3d{#qQLqsXaYfjs_jFK*AehpS7I#b2-JO6@SVy>M%Ru2x9ps&93L?YI(h-9Q4uDkaI)7P2=4jYX8Q_a6@|(k=YBbyJJ^~0(iRMDKR{1+@qZCkV zNr`U)M2bHTb^!EY+35=o^QVJ6L)S%zknWdIc1J)AgMHHQCwOMoa;epB;{ORl{S81g zuIWXCeqZGndVf`-zwS49CoCxbt1o*h8GklpN`2{iu9p=^c6t=r&H){Znis};(#IFC zki8{WG?D_9SmePzVOFp6?Nzv7S^au`B0bSyCK@7ahQXJva{c@~ZHRyFF3YLk(;-v0C%J=47>tpvuY;^m;_+ zT26CpeJ8e1$|Hx|I^EstF@r0X>yz|VCVFFe&1iccK?opjP2IST0ay;#Uj7>hMqS-qNm6y?!i7* zt`gdoJ@VaUZ$uVEaVTv|AN=mp!e4xe-zLvVlYhrGx?@F^1YJdGDL3v?`mW?L;4IK2 zZ|nTyajhjw>>|^O{mkO++KCaN-_)}=(3qd*L)FBNqKYa2RNK7sG8wJCZT3f4^s>Bq zpBhW|cDLT9nZ*{2`k?cH8U5=ewCYUW94Ypo=rNJ7wgIh&P&*2BPk8~7pIuDW0<|TF zDt~w~0xZ>Z9||Gbd=hZT3uwH4s*ug|W*eVqz#z;D91bJQ{q_4Ed;}k8m#nH325_`) zik+}GZWs^anKpAaH~PuIBQUIX52tpT)ZQ9z6iH+HWUd#<)a8r0ezo*ZSc`-?9@S&# zOp#qIeX|=NPo~VFOK`!<+$c8-k;5P}LVw3Hg15zul&Ikoxhha{Pz)|Mf~JuIWlCfN-Uvm4+rB5#sx@2Ezkk^uWiD>xG>y_Qnp6BqDFS)iKcqs)r+2@w>B;?@Xozb=o?1zgkGuCSJ)Ml%MY(-GM)^!juqmQ$bDQ(w= zZN^IL$yEnzFP2#jI6>#4GGrM%Ie#?GQ}ID{3HobqJ2I2C%NFq?L|3%U`M_xVhBeKq z{Ufjgr7$(DPUl~bYcmt!%a>^cHb(Sp2WwT+|8+4ps8XiceGe{Ts1lcOH}=y1`Hej( zm%*@Eo-j+xW*eP`$60 z>nc=*wQ6Kd>atv2o>Z6l>VL9WU0O}Gn`H`_gq@Mbz6InfA>(=S2%){I;$lCGc-pq5 ze;P{EoB|p6`w6Z$k1=`Y3`=IB_la#+s6fe3Dt)S3N^YOkT1rQ+6i<-4L3-4ZLA2Z{ zl)f)kp_3iQmT6Pmw^F}e?Y@<1I#(cDU`ECI@ga)6Z75^ETYv)BP=7ytsNpvP%_4xO zhVcENhBVTfMGoFdJsmiZ;7~NIXlB2>?9dx%11B; z!`>>FFH!7T%Q)SPlp+^`LL}fjmg0ePX|#7T7FJgn<@?L0b!0usNiUw5hx(W9mGZM0 z{KecVsl$xT&JCAIAAhjyCm~GzEyAzK6d9vEQLVCS zEL101V__K$De=U)q`B{_t`_%=Ms?s2`>6{%y^^qVOA?~R(2_XdKiIVrLll($HJ9B@ zQnf{AL%Q&dpdaSQW@MN394RzbZ^gR)1fp-zxHJfXi1g&J$+L z>18{;2Nn)w4+n zwN$A+WEj~z1@`FnAzQ?XIhIe+ z(?oGG2DO1fn7@m{AB%0fU_x`U;_>+X04nF_;p%CQ^ik&4yr<4-plfn5Hh}vY@HB!3 z7h&r;WMO+nP1E&B+17NaJ_;ZJUnbmHNya+l4@wj1A%9r?nySxJ_lSCP7K^g}s(tlk zG0A3a;^WL-NMMVRc-FgHC?&ZvbwXQ>Kf{%rgI;&4SWi9+MbD>AKrV{pM@N(@G2crp z_7Z1_g&FSNjdZV7?)5XSRA=1VS}q_#N|6{c3DT#kNqt6AQau=lH?xP$C9|BrbGfjQ zPpO`S<$vySt9jC^?>R5g;3fVYD}9z+;+0C3oQ9zySfusAG@;J0@i15=CU`kDUZRg% z-!JerRl^_MtRK18|HMZRV!O)RoHwW+TQ>4<)RFZOYJBVcey&kJTXSCU+I@nHmRFRI zsB$;!Meo@*8YvY;U{|uoLcVYaURb?R`AiUaM1SetyvM~G_q|UC;xN&jn6IRlvhp+4 zX*>zf$$)@R)-TXA);s7Y6(#bebaYaT9`HwmOv`j;MWXP(mxVgqWRF~oB3|pZe2YzT zT_o3_*noG)knFXcKtspaT*cYWZNu3vASJIQn#=gF@DfjHZL9#y{nxQ3^=?y}ch|Yx zaDPO~)ra^be>@?@V~2R_iA6%0klh^(1B`D{u?}8B{=OM~Kb$?m4+Mbp`$os`?!dv) zsdE^3b0twFgi{I>G%2PTZQ8?XJw5s9UZUAc%)F%F%k=Ub`Xz}hd%-Q(`hf)oKe$ds zonP9TJnmD2c+%I__&`tcw{eGOWyR1AjelxIyOuj*Y-@^oYkP{){!o1^W2Z=}@viP3 z#+=e!R`NsLJ&Z}_6f$3NRXzQwE&VME;d?#AtQLN53`#`AwgY@xJ~aN=$glE>)Hqva zcgqX||x+fDv%F?xMChuIoZF()5DOkab54c18uNx!T+MA=VC2p^`an=w$mZ-3^_)8-F_5#+gOH?*f4-ZU#R6T}c}9rqtZQ6*#zsN~8pU z`sPTzLh?N@I!@TK;U5k6m%@GPJEsInI^E%yy)OS(#U^O~Q!)I<7JX-Jg{oMElyA21 zfzzyds?|nGM&)4d8*D1QJNkP*;l2|_^7QGi9!wM6^@Rsv9fKs%N9 zLq{nvN@1%P?CcW`^D$ccBY}`&M{M0OfosPIv9KDWkz2$dU_~9%bRq>2D^kF2f`MB*M1N^_T@NeB-JW1T z)(-g->#4grPIYZ{GPgniLprsZR7`P2jZWT=aa|=m$dg%4YjRp^vP2bh;*!k-%Fmnv z2>s`m<;{k?5y>|ixCTig80h|YeBMw`4Q+U`)c9oTudN?@n3AOZ#s;}9R0`4aS__ro z{a@Ute{io0J>L&6x__!mE4+-Q^yZe0E}^0_DH_PL-rYL)5FQ2bp%~lb9%^3P2Kd)Q zS~q%X4#i?biO49fa1XKTqcICt4te3KbFckXe0KaL6}-)y9LVWSC-@ryI~MjV3wua* zcp`r;P%Sk&;ExTolw28EpO(e^m4JD3l{FCkX{sfp0U69hW`Br`#5HuXl3ZF-kRk9` zrwAL!UnM{JY!c_YRqB3zRGHzN<$RaQTA|K=gO=mPm;X5#7#bK1AQB@NzU90_rZWr) z=UKTObyi?7)M*5gOner9o17m13gsAggf7pO`dRDa%r)TU$#D0KX?c$Jq>YzSAwTg8|@O20QLg+vnr!IS!-$vy*&PJ)3L zbP>1Rdg#@YtD#pHt8BK3=$#iecO%}Ux!Z2D=5EBvoQ+iSNs{5SXEaYaf;Ce9^IFnW zf*Q$8cZ2Kc!b*(Y)GD{I+#N0+MS;eDD9RpV)Kpm2?0;7ZWmt1Mv0M4%dq}aOD@!_i zwn(KDtF+k--&f_$t#$l=x90f2w5Eq*p;eWUWR*9!sd9y?(sI#kbR;yP@&>U1;_0zRM!@>Ar9NpcakHo&F0KgaLGj0sfzBNG1H&HX%Cmo1`qlthp4Y}B zFB0oI&wuqtyX#t+G^RH3hk0a_7X%xfM4*pb^lRC|ZL52|Oxd!RKf)UT?GGCg=c#%M zFg%Emi`A!U+)rWDk0xHjtCHWUmttiN+U$-5DgkvsUD3j#z#_{d z>|)?DPuCGP!;7**x(ecs649;1WM=}cp>}?tuv2|)gst#`>HMrj^eV9|Rv%O@Z^ds* zL~#j*JXg>Amxv#fphAf1$D^&zsOz~m-6g^*x#dalooh!Mpo2oPB% z06||HPyyky2Q70mnB3O@4d8&8~p!{dlu*O?^;a0we+XnoP>dOBD-~ zu$7SeNOI4Q=w(WkeQR?W-QdH6BQ2(CWwt*syg~N6804*{Sl^Ptrz&;S- z$$P)0;D((tW9&1$J-^tyT^~TLhCA|ORT#Dkuv3!?-L# zeJ(Cs9<;d!8eB^prYqS$=rc2^C4Zl#U*_&nwxg-PU3NmDm?^VSp}#_=y;7;y%D@Tq zk{g7ns+S$Gx8*XwVGTK%L2$Qa-ilTHtGsgAarG+l>XW;7G0a+EO@HYpSHzuxOGjVH zr^e`}*&UjfLzJ>5)Ayqip%R{nF{4F!3Cd1&zn-b*=$%g*{w}&7M$zz#_J1LiuNs*~ zj?vk%q(M4}=(x8~rox0&$o4ey_5Ey_m6!!x=q`!|^pHBtkuxy1cc1vpG6X|CA~FX9 z5N2f(Tsn|p%ZyK}^_XZEA_=kQ?E?K=v=MIWq;Z`bP5&lv^uEIBSj@zTc_!PlSWz>Jq`Psh8~865pd8? zE>>u~f&I%+D^U8WcVSBgaga-;@7=p#Wen&qvXx-kVU$*4T=2{$)5R9 zgf04nMAtR!Semh;a(^YDr^k;VMqiA+Jsa3OUlPN^CeanO^Z*`CRez$d(|2r0U%%ue ziagUc+h_8^@|qP#&}V5oLLkLTc;E3=a+6wEixT#*ylOX^7&XVMZP~?zlq(2Q_UyG} z070l+UOVkLxxDYRVLn{D%g&1y6SC6@Qe4Ni<|kr|@&esS?+l|#^3hHJ5b+{sUxf_O z5S8=XY(PUiI|#$v;eY8G82{@>>m5v4GzFWp-|U`{1?X5CCJ9D%1z^%3Kv1u3G7pEg zLgphrcOHk4%G2{}6LVopEqF*Q7+(iaS!BzrmmR?=Iiz3B zvokBCiAN$U>ScH{T<^4H?vZM}{*1g1y>IW?6Q&v#ll=HP5ib@Q=+gJP3L|96jMpl) zvU+*t*1ZT|Jb#ocv)-)Kx7$VzET;6gp!rws*RxDs(EhAZlrRcxBNM$77E~-ZEh8A+ zX5>{E`HuMgR`gbjW2YAxS;m!6S)fEJ* z-DUfQ-wC6)5;&Fvs`S9omPH6OJU0X5a!hX&zpl}X!ZI}P63__(G}=ZH4`rF6vIfSY z2>5P2WE7b)|6zY@#{mT0JO#R)(WSUGg`hLe9p;6Y0} znfU=hOVBJ5>1&|*1uON;gpp?(olDOe`PjCKRoa6&%)gQCNwNL_Z=)FfZ?c!qWCqC12M9^CW{d} z(!llwQ~-EPf1P%@GIXqWC$^*wyuj@wq~eg9dRHn_V~2OmGTD2aAH5%F%Rparc5B*0 z?O&J}i;#cJY)v*Tpw3Y(yPwtFjIy}_z8qdIF(pH^6047*1|Xhv0Bh#wUvF?VuF&3< zw6CHjTN2>&Pbm2;zGKIu=(2OM(#PFNq`)#Ib6t_5jL3;&b;{UUPZZl$GpW_3Oa#d9 z?PGWPO|-z-mV%m6$!Ba^I=#ECP4JeN(@E!(L7{&)0v6k?O6+b^;*E3?7`&aT!V~^v zpn1Byk!?=(Jfe7slW3M}Ra;f;6G#J`2fd~x3 z^mM*!KRPIs29<G&GH05rEGy~|$8n?QxsHld?9Zs=M* z=Z1e)#G2BmLYN7mK7I9IaR(k4zIV4?YKN^V$EunQr2G6qNL9Bz@N#-NT@~LW{@j#0Car*eO;r*_|Kq=wz0t5QQ3;~LO;DS9fZR;&%s zgslyU&Dazk&PZ z4V0WDUkP7cQY@OyUgb%K{9uwr1AgrtWtvTrz`o)i<4Vk)VbdHa(u?Eqcy*Qdkc|$P zyUr7=a5O%!S@JKJ@R{vx*2e|h@4J#0udvKov=J8Qf5?>cqkggJqTSTk=r|(tM3cR? z6bRC>==&$|5IWK79+T-c4g8T{=^TIQuWjHngTg642t@9Phze$)E^>s0$+YyijRLP_5CuV zX$kCxNR|sdgI|%YOf>K+o(0NyJF8yd#`*@sliG0J;D9gzu71vkjvH#|o_gNO0# zEI=(E#et?5Zw$lTpN`NXfSe{%9Hv!^6;r+mXo~1mo$rXmM7V@>CP-rfago?KK6Eu5 znhVsFs1g}(>3m>?l&eNTjYDHm;?-JRSLUIs*|xeB{d$ReMzf=JIKABRFYOeVhQ;zvDwL|yJJr5cxh`EW@U0X=$0e#}E zBX5l{3@T5`<}utjcVPT&_PEAZt8#N(D?yX3*7%bzDZEsVl${wxJ-ik@c|1zv;8;=H z?$16E-p3Dk4T`X{Zof>n6NaTPaA`Y9VM%+Dl#BE?Nk7}S7Bzn~oqpZ=MNE-VcS>CQ z7Abf(+#c?7zzW}LU1ePr>%Av_rmQ(?i9gm@ryjD(A7k^$)6uIh40*#QbD4>ol<%70_X-OohxgZ1jTleEoX9YCWI1UMUQy zabTzJ~&`YQa37#(tK`paHY&zdP1n+w#%q5$aw-ZArjXo_w1!Wb3rD6;6I z6fAiBZUX)oP=u&Iw0G#_?4cFJ<-VO-H_Im{i&f|FU zf3SsP7y|7WUL`*O7m6p`(n6=&Z@>kED^J7&)yE~@dW3(~j(661$1VnEe-+}zque>D z96&$a!Y6USsu5H^DFWtZR0*0>C`=Jy`&4gBdhC&G@_lFW;Nwl}5v9bDGQ}7R8+0l8 z+f9F%7l}sDwvaT=hbRRq!0p`{fEniK_DZ5YDm!JkVSxqq9%#|e4pQ8)b9B*9A4Jq5 zKRSrQ3g2Gr(R7)zuZ54Zt9unl|Joynh=R}4C9s|@>1*KPBpT@N>@l7TrKPm74#LOO=*Nny{Yv^sxF?gf~?j6IHXgmEVxX+){tKx<%xy^BU* z_U#=Vb*PeHr!UWNX!|}OmG^iGw@tsFs;!uQo9VZfewWejYXl@w{77@87h9OZ*G*Kr z%Brzn<=JIysgL+SfZ-GzG+Smh9>MMAPT;H6xTWEM+0y^%K@?!7e?plVZ?#~l1dM+! z0$AkaDHsq8!(1Q#gKp@lrADebFd+kH4=N>09Y5y)l0mVNd~*1>l`y&56Zhx|>BA^Y z%_{s7&&n9+YV>8sMBk9-Qd@b@6}bbH!)>6pG8P)CA}|;>_W%Ha#!k83Vk0s3VT#AN z#vCc21z)wZVSd)F$Hc7!LnA|dkeGjnN%lz-Uz)pzJz-oP!XsKB`Q8nrOS^9a>dQ#q zx+4Hpz~|GNN~{EU^r6Tdq3j+7Ub9_j6B&IKprNjo_-)9eObnk0_SJojhK|vyL?Fc5 zXBvh@GDqD=7!vw|VJO-3R@U0GrdU(EONrA{8rvgNj|0FBmnnN%(C29Tc9MVZTZPAP zv3q1%(-D-uXiCPalS-ydG2qA96*}7{eP5{+@i8_njEDIuC1#h=pB;1rKwSlI^?GHt9E8pN5H*byTMdqieC{sS&4XI{D4aXmNlEOI-vSt zDr6Zi$TZ_-q$_4&j?|8{(E5Ko4Cu`4Bl(6Z%`S|SRe)xjrD9YuHjyJmh|NU2C!a!mJi5;n7rZX{OZye(`B?A|Hml@;*5qfn7vM2w z@lZtUf3i_KWuSQjOz_t@s*U!|w$uT?q2L{GoQ@}L8-Qpv*GJSTJ2ihtW$`X6EqCy%KO>$b%24DC* zv+UhLB1zmsKDc!mxqW}0`@m$5D!DP}#UHQl%(ezSX8B=?9hvcB zBjUC)M+P@HV*bEh30C3u^?R?a`~EwAfnq2vW%~*KaQhuUMHgqZEiChe ztNC;3R;^uy_Wzh`HOAxh$=70Kkbg|omdwPw2Ryl+6rWR=J?u0PCOc+vy$`gQBU%yF z#q2pha80Xh93@GwTNDflR@Z7T@K*yahdlf8 z><3|nSC7;OWLAi_IyB{Z#MWfI+$KPQjM9Q>HwW!bupMvi5sa!ff5rITZYA9OQYh& zHbun6;^=bhJBojsV(h3qxruK%$q#PgZ`H$l7)KWY^VL9H%6~3Ky3lwZTPZbcb4>cM z%_htY%xrxFl8gLNct4}$7P^zM!bnboB-U+6bvYWZE| zdA1(|RLpSM751hYW7~z}`i4$y7ZF)a-dT4&QekD1DbGAn^0mY2q;ewj9G;Z33UYDp z9+H1AbziiQc<)2nqm;DVYblWPm!pz}0&@rEsmgC$9c+nq@%JP$yZCg zLmkmC?T|1G%a97s>0dqatGpGZKuOyAMU!W?Z}Y?3Wi$gH*qU=vX1~2yxz;|8S5sa+ z?J&hBX|GUh=S;o5*=)4uowM}zrH;IQ!V$GN7Z1lv@!TV{N_;DaL*arfdDT?(Quu$o zB?}eeDMG{ppZ(|udZAt^Q?|~KAv;xrpWCJ*w9aBsqHArZ$~5F2pJ~N z&Vzpf_Shg^bKpt=*{*hs>nkWwMe%LMRTv-Rx*PTDj6$QRR(6@M#(?ML;vnc05gA38}$vQEP7`3C4~T@595<&z>VsqEccCE6+9=Ol*S!( z5NgX#1f$2q=JB`%ai_}<0n4J#V&%%&i|Xpjuv zKkrYhu)PR8#oviIV%^!%0ADqd=+-qpab(odQAi#B!w|8BTnp2 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∓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 A&;S4c delta 1442510 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%0D2EHzXc>?j;Yd3UNc9P}b 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 gw5CDsDFRdA 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�WK{uh4uy2e!oI6>} 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�!FSP*;B;@a9~0vvp4UO_p}P)}~!UZ&|GVf4mCYVMy59 z`gWDF^^>qtO$;BuDKIQAA(7%mq5AnZT9Mj?@a%wR8$5qw)nE8qE8hAWD-Q3L(iXp} zan|g3TL*l1SXMTEpEWza@J9H)(Xw*!J2rc6^Uc_45nYn z{BUDmQAdA`!wRce+&Ma4ClW0HvI$M zXNm6|>5zLDe7EGI$vfh|CVlRRCl%^Y4^<51KKd_~T}*h+^Tfbj6#1mkgSMEfs%n`x zqOmEwjn7M_b5j++r+$Ip;TOl??VEnQMIUX`&zr9>`gliDgLpSn(z@a}a-dQ_n!oVI z{YgeLmkSzeSe$11f4|VnBj+dhsTkBb&p~;;i}m#sW4GZq6s&(Cyf?KZjdc4Ipgf}S zbjU+VDU1N(86>Qlq+_J5YO91Nxt&PWeJ!2(y)j7 zAaW1#J`u2JJda$IIG!vrAP2xTQvYQ#ULKj^Qg1PH7-W0`shyH=_JA(+A|LDb07G3{eQu8 z{IJ~oF+XP)CV(a3T0LMvR|A^52hYYh{!DKFn2)c~XT$YXd~}v6>f9O#TZ}Z)Y+}8; zH6Te{d0T^$+@S`7wjavLoZomMsmSm#&v{QlzB;PVe;d|T8juX7Ta%8^sb!0bm|Uj^ z(tTSl>A-j(&YCCIvtEdk_sQrj zk>B`FfB4>LT>p(Voyjff<7SE*hT55jX@vXZI^z>QM(!pmjTipL+A1l=hmtgDI;GN? z)Tef<#DRxAa4)_(5dMdf;^Jni$@H#BNw33AZwBDba^rWn=?S!^NgxBJ}Cu7Zl4po$y#Ay?BY{l#=$Ywz7);`{ht{?AL7NQ z9!Yr8O2MRo=ssMV7Q98eiJ!)6P>Mc})HQ#%pEz)j)HO1v26&@61mhLsZXU-` zfBVKgr{*RL@iYDS7X7@q?AwGVtrUFfkA6nne!XtDIEQY>3sCC5loC>ifQC|`a|(bj zGK3V53_BQVD#kelH(C5GgS`V!Bfm`yj2qpbY%6WMxqc}&`j02C*zL?SJ1y_Iyd}Gx z`S@>B&eL7Ln~%TG(V=8LbH85;e1v`<``Ny)>I#2s4|v zhv!J`O4xTgS*%`Jg&wk2S{TwmS6VsJJHuP6e^#Ym(@bvlK-bt|Up3*Q?q+hEe}#Q( z4rzyxXA}0XqyqY~c3hi)QQ*m-|F39Np>E#kf&NH9IS+VuJ?m>FdKqn}*EyW5vXcJ9 z-r1cx=XUlVHtcrxA8xg>gs*9o%0__yn88L0SoihfWj4Vrs2FCIXy4zgGQgbSiOhI^DfJl zAxz20%TWV)VZTo3E%a6ll}WRFy9mvM&>#<8Lq|EGe-NQr5Sj*|CZSIxf8*XELJbHF z@z9r&aqna+b&tc0`7W`laXUT(4fGHA3^vd^@R`;?@5E=Qnf%`3XX;f}wu#;1jIUU$ zyT_WVthVZWcYD_Cvi3N0<%>OY<%?71%0u@!bLHPdyZy14D?gqxSN`4}M|a$vqB|mc zoHlz;N}G-DaoX%^D^rvSf7a8J_juOAWy7$^CAeyl(OUf=TNAy{;*fEE2CuKvT2U+&>!PQd|rBITrW(!cpld&K#Ey+wbd3hf}D zVs}b8Yt^?w`0ahxl3H<>%-342Ow?+s80evYw zECpQXi&hxq5g|`Pjrg0W5q}jm;RUf8^>?uv^$&M7>Ywgv)XVPf-SeK^yO+d!0N!5| z>s8OOI>YPJb9?ytbF5EA%G?pJSSazpL@x0<^Hop%dd*Y6f6^xQuV3oKWc~6_9Jqdc z>(;MUPyK35sb9*cPW^fg>enTrem$8|zXG2+_3M?C{xws?jp?siee0GJcgUxXUU=1V z>J6_LMq_?aeC~sSJ>Kj&__PUk9_WCggXMD=_D2dDX>`BC~eZz_=Z&<~(c_eo2>+t?Myhq6F zWp7)v)wiueSy3xxyivGyqMxKG_#`AvVa9wcCr`%35UIV#> z`JSQ2YTmG(g#WKwUHa_FZ(GaYYxd-~;MoPGjd-}Dg8C);X>z^mR-jYG=Gu1$!*mwG zxv37lfAURZd9NI|kp2jOY>09Qv}T#V#jH0hTrEP_EXjerE?{B$LpD>?oqiqW?MMyp z)1zX%pp)naN&WQ*@bXX}{nd_|0<_f?On+^%IOGk5K}wp*dI8zMA*Ib^qkydEkg{g- z9|3ufL&}>;w}AXxLH%_F(={Im*z33!E@1x_f3SBH)L$I-zJR^0aQ(%h8w3=!TEK;V zB%uFDNB;>9^h3~UX`t1f0Cg zya(a^L!sf`6Jrjp<2HQi)p4lbu6Fg?7HjT^%^n@M{nMn5TRMP_`?*KQU3Cl{H)yY; zf8*LcI<7rM#|_)-=(zWwmb3^R_f(3Gv-dhWZgYx`i|%!F+?HeNxWc_o8{6XQIQ%Z( z+u#0S5n8Hbv=&@D5%*wrSsd~sok5gl^09#IR2c+DB-;h#mmvmGo5@ZAc__#rS~J-p zAUjmtg8`V-Otvxmho_+~>=Je1V^J5je~Y@XQ`ChWZe7?W%5-ar{llca1Mjm;b7jBC zBl|@uvj4s-`>i1RONH#84ta5A?{(J3FV|Z2?M(ZBW+nIK&fUxXHuHP^@cy!c7S@}3 z{eWfk)agCqYoC?DJeo0IIC~v`EW97sXVohQt$OKzRVVjY$@?^avX}3>aoY6;f8b>U zUibjaKzC1+nP1}`D`|K8E5JX2t>YE2drZU9RfMm2X8^1aU_OA2BhfFygojWP?cp}5 z82=84kN4Y$1C=DK1#!Q_UqFm6aQ!&Qyjm%wyj>=lDz1F~0Maj8l17XZirZCEyaaeY zJK9T|qDRU)dJ;xfX-zsoyd1>qfA~02vSeqXn^GD*RNS79_siD=Nt$#5o4*$NB>w~- z-dj4Z2Jg;_z7-I6&ixyBn#ab8m5u0;+?GLSD>^$%lnp$g?ye<9ZuxXSF|xaT{zOal z#f_K6yCpwcpIy#;jP06OOK7xoNHGyG5?02M;_7T-E0=4itMQh=7PA_{e?n@T{^>+q zC2pFeX;`@m@H0v2kaRK-?dZFFT`KyfmtuqZnZ>C@Kg4wx?pHGRvr;mi z`B24NF^^?1rO0EvjYQsL;H?07lYvq}P2)5PcZaGWEaXGp@a{^aIzOHzf2?UFq%`Xq*1oM8`K*fLVGI za`9)}?`VtOI}z_hDP976$-tK!m-ktMTPeQupoRI2FWYC~jdwf*ett9$& zykMV|Lvi&a55@zyf18w!w>m>Q=ywvzG=VAM{j>dd#p09qS$$la% z&5)o>=s^p=i!6|#9zCo{Xjkg=g~RsoF*x#!>t*95Zl@3jeT=?S9UU1Jv=Pqkz=ph_ z1Wd8=gYdpS!HV~Zd(t7SlJsAztK7%eGI-i5IYsL4CvWmT=d1&!8|ss8|Mkw9B2A=u z$^hYKxjY@Pe+G(w&OWEC4yLSa{LqE(6L8Mo{C$qU=iq$D_dR}JywCMvUri>VmwLk1 zATZ8Pgv@yyJUa<KUVE)9k3YtH_i_Ds zsh-BHq3~>D4m;5yPx7%fH6K1@EUOBb9oZ808I5e5e?OVEBSUc8(pUu24?}MdWc}e} zlB3LJaKO_SvYdqEwXodKW?ZLs>-zN|F zcSz&`e{s>{npX!L-pB7CjOmB1F|0=CkPDS8_`g09J(5FYU-au7GSWs{YUh3#mGHAM zAdfq?5>*qf_L+oYF3x^L7S=Q^M!q z0daQYM1XyUVbhIrW27<2P;7Dqj83OohGg`%f6g8>NuS(Ij#?bLB{xSJyRdZ*Ku0t~ z!ExwqX*p8y!q&3^IR+Yj8p(5!wc!P%q`1>%&T#8!Fp)?|Fng8^RMf zN7)FyffAdK;lCAQ_yilnH_&hJ>Bq7B5qDlkZD(Gm+R1sH&rZ(k6gxSu)5Lokyi4L8 z`V&dE`P|@ZrgzfV4kRH(P}Y~SIh-LIf7v)gSnRJ1)R6jy479Ym(t(Td$h;3vpFWW!_`+$(?gQwp}Mh>^eEuu2)9b zl|Hong1Mj1ve7;_2UKLeYTC&?u+R59dtk$D=L`;(@z?wL9)58N*XQvJdidCG zxU>{z6HSvWF}8E;jV%bT{-5oQmufK?_=($gaji{aGVl_Q!23z?4t&IO;e9ZP%aD&a z=3}(5NrrKg4Ec>)F04|1e+BK4UvkR6w8yE7W=dT=#f4ib@JT&R9ko;H&=eOQNrBIB z;kgX%+*$km9zOSu7XZIv42)&tSZc?LY`e>f6-Df|@IM#cpVYnk%d>l&@!<%Yj}J%K zVm?5s1{mL++vC{S4!6B_mCoGmhdtb9HO}{w;|<1#$pel# z9QqBH!Lkn%e}m)-NQ>SwNfxsowyVrmPGN>qG{WXHoa8F1qrcjFob{L+v{wDs)!067 zwv&6xKkXTKEOb?m80YAj0u%IEPjY-2TH`{2#oQ%u1hx38 zyKH>-lc2wJxsR|@o;%UA3_>NeisYCO+MCb{wT5KO)o#p^7Y{I!1z#Z9UTzMI=5O0{22{_t-7fTdVXUyxj;xe_Hg{suiZmH&tQ35Z!?s;QX!(XrjM^`1wc& zy_K9EjL!o)4M1o9J$7sLKO6L-EP&sl88qH-pBoqC;_2h$&512pNe68{kJBxiqk2vl7)Pv4?6mq<`pRLyE2c5N(HMV!{#5o6ef7ZeN z=Ky~LbD-H)Yr%i2asQ&r=8#|pgUHRm1&8#GW)P*BJSrg1S#$^7%f%iTxI_S&;e&d-3{3c}{ zu<)QW4|oV<)F$Qu&#`$xx|l0pe-1ctKn{n3#P}v0gxOYL2{HUR>RJhBFt|qEtUhix zz|U%oOlu1@tB=|I^mPNgHE569Gc-+Jarv2=D)ZCVku{4#hKv^HrSmm1GtI~0Uxihh z7$?lsd}>&oE8d!Y>wxw;+gcE5S`=b$=d_)3Rpa&7h3OJfy4ob`2X7%^f9-ivyclM} z_Dsn~*$zYR`oTQ_-vV$b-JpFZk;XtJU}g+(pE5w0NE@o@3av+4mHq+Mqt=a@$t@i>6y{X!bp0 zNAALqr|q`7s~T5!pcF7{f62PA8i3eDof#sbunMCgEuGBN2umfbjb`u7Z zMnJsvr!@}V$BFj{yhjAxXYI%>$1atyW)r7e!rEN%?uYjV@g9KpcJUs9_XXm;h0Iia zf`^5Km*`*Y$jU`fPo991eZofBuOm=n{th#G`0m!^f|;_avDCkSe_8v2()oj&ka^vH zIXKg=YT~=b`DWOkCdYt!Z|WE@9kv$GL+=T&KZ65H>X3EHK! zKqXT&iBxKS)*}RYKe``tkKb32DO4iksRj93Bp~?zcj7-)vF2~}s|wV9KMzO9hki9P z35jmF@dWYqPI8>uf7F|_#V^NkeNQH|(I@OF*hhVnY`>QXyaw_ZwBNa+{kDbh=WXYg zxp22Wi!xWL5*VLNshPYzu-B1ec9{muRIU) zrXCoH#myINf1|L)3{274{>t;VcOCkui~ph*KdZ$|6ZkLM-g|O|Sd?^@h?!EQCvrs|&cfA{H!oUzZ}Q^r1LxbT0bz+;D; z^{#)2H3`nwxrg{(SB0$ex>0bTx(IC);N2;~Ea1@Vi>@&x4%Cl=gCfq0wv#KPPn_12 zI4^nPyyT|SH_p#f;=JtP?Pc33oxZ&NA|=i%o^)Pu zF+OK^6CUDwEMd8T(S%;${0Qjl`s#P>IQ$G6mgbUKQ2gx6nk9?3LVUwJGJK5VSAfp< z*&0m&_H9!ZlQ6{|Z0MB1WV~+@d@T}RVVWT2f7#>6R-*VD=)df(5>fC35f4SkhZ4z5 zLe@`75RRwx!&5wXExI)Y?He*Fevc&le{}nbvv_#4$0yF|_Z$*u%k&!yXJNl*W(rGj zLXI2~eus4A7*81))eZD@mb!E9$e4u?Ox=Z?pXpgQ4Silp(8pS~L^csplB+?DcEoSIft;eHaAgnoV({*-2%(h09YbZ28e( ztNDjUnDd&QFt^2%nRg&>(s1c!O*7FRf5aIdO$XY&s9)}S$L4odt<#J^t2uZ|2dM`b zw}ikOK@F`%&&6|zKI?2+QkvUMx@CT%6UI-JmV^UWld{eTDY*bGOTH&C4XxX+(G^3_ z4EVH?+%!U$)7tn0?|{x6Hsz=6R9y;{<+LQaspNwDQYg@$gagE1+G&z*%}=)mK&ZOm zw&%%;+kmE@)(({3hXFci!);4Aj>f3opB=!mDCvY+5MZ^S({kvAHr%#F&>M&vrubnX zkV>&O`VXM95to6y4;z2ja9hvu(+;JkU2@^z@5EsqX;0AQ(F61+d1PLK*5;9^34%9Q zvw7alUzC!UnQdU0#L0WMUniszYNoCKT?>PvTP$J!VHh>NXSdVA010J?(Uxj8 z8UA)!*_e&D6NF0dUkupUY&^XLYD;OXj!el?rHZUMq&wiJo-luTilWNnm5W5$@7n$> z&IjJx-CB@UQ$T}h9a*6?Yl~!H3&>)(ZI|ok6Mz72rYlKVBM?r4U;Tjl4O zIbI%_B1^RO+{~JjWW0IQWLUH*y1rjLD9;r+X9hKYx6gk^OQr@1T@`5A|B( zSf)PT>mzpeSI)i|;)DdHtoeO?#5!ZAeP3}~zIYArN{6s#Z1M+oH`M34+7E0To2=Ip zBv$hQz~8sgi#zhD;M!*m(l(e^9n6a&Y?O|ECC(rbtFWcotSQo+Jy3=FCOIt5ITvD@ zHi>@~f_#cTV0)?MDo9bq5QMayeO03sj}?Akcg?GV|M(UwN^$|X^D=3?5csIho?p`x zq+Xd?hX;_CK8Q&*DAoi=9p?MPgF(RYHst3d5^Do~+8IB}Ql*e8{wf*-=m++)WnDFO z@Kl!R3Z}1-rOLCDmnwgmJ{U4yNc~C``Wt_4gLDc8&tDoygHR>#0ylFuym}@EO?^X=&cH zNNEt#P*@sYmIu)X2c#jF%3mfr)POug^)vhGLP)DqQnd^hUO)AuM?-$d`#WJs*GSRGJb!kWQof)15X=R}M1VJ2EBm&0#(^u7tXp zsUaQaBZFJg$`!zuA(a+o6GK71rZMa3F{HS9I9f1s3u70%w8%`_F)Nj%tXhR<0V%D{ zBFK#j-2C#?=o?|>WT3D|+=dL?{e!)2ZPVY!)mJV0mvkli48Ox2d7jLkFq(e{-mBnu zD&h9K$p7@O1^*hz!H@iFpizazct8G6?Z^MA9&CsIQODq41O9(C{doNEoDVqu@4`RV z$&}pkHDBkk>C4coe*(2Qi=u`62sQ&4#U}YaQEsZ|j@dO|yL!oLD>%7EqI{pj$LuaC zdFX4dw;A2)J&jf^(zWSb@RffHUzh@QQ|O-t>o2}86;^&9NM1YH!4R$kkAI#oLHmk+ z*(=rq?i%MaX`NxFa0fB#37gWVc= zyF*sB((Dq_KOMg}oxh~u4>}QA>wk%Hk2gliAZ)o6(rt;K6-QUnsnOr_J0kG!(r-%1 z^(d<;GbEqdO{BNWPd%6XMBk@VhTjo^bw*)l5CWu3M>&tHLH|oj4PC;vrjRrV z*TvIB|M%=Se2ur81ix%6D5zP5xY;MDI&cU!uq=b z;tv7_vV+x=Gsy+P?KX@%A?^jikL)2qvLh{ySQiFAwg(44kuQG?eqx`1UGkC(gFE02 zd$|jP+w7r1-WxsxBjD!XE;}5&D>L%o!ccQ?tLJ^QZD@uP4nmJ`@9CsFs1)3IS0#FK z@Ebk`T{97&zJeQ9S1Ki>(pN-`fT6OGKjuS-T5#jt4M1_0Kd9leJ58gr0>L!#F3png zeX~7_VEASpPC0+f35VLDU^ztBQ-Aa&IyCw=j^m>*u-@!3&TAX+x&>zc_=S694e-^F zw%MMMmL{)w_RO>(-z_>24yKXFgFPW5EhqFR>5Nb?%{Vb9^f-STlN0LZZ{u@9U-7q@ zIU&Ey-s*EgVgB~xoX}wY_OqPOO!gK|^OKy=T=5=&_ltkTdl25&Fo( z{xxp;*ShI1bJM?0a?-zEa?)QeIqCmGN~V8)NxEutQ%hTEw=?k zJJWgOW4loH!>9p$$c0I95%jru;)5E+_b5a*!uLS;{(GXR(a$uYCsusR$3a_&0+=do zkhj>~kmP@K==aaW_M=K12HG276ksl%gOe%Yc$L$8wI99BjNS~uo#oQo%;*7(&T{EN znF}1G=jbut5pHX?h5Doh1?rvz@rXikuFx%O6ur@@8ZBpGRKhT+Zy3H~_zb9bE2bbU zQ+DXbj_@_F{`56QV;1R8-5cViJ&RH1`U1=9PN09i6n!}Pv&kSISyFtipDew;t$ISu z;s=7hOkcMI{gv-za;7g3{Mj$)=<|Ks?b35ck+AO*x%AvY@PyWQZipaWx6faI*1CZp z9ZlCnx3v{i)T{~ygVC?wTlR_k?$l4@wdW%2W`MO7l<}~==ledgOU^BZnGBvpz^}FE za@cG}7%9^qq8Wf+z6vJD4ZE#c34^ zTG9U?KZqawBq@`!qXWyNs*g-&eMgzxIA@keCY1xoq*Cx&{y)oP)_0OgxsXY@o6bNo zndQo)(v^uW&JMp0GWj{qt3cZq213E{fjNI<9_W00uL}6dvRB&*PN~_Qi6a-({s^xO z3?mJJUACB8NCu(3rDhiC&Xg&G!x#eK0bHfakkJZ>_C|Z?r0C{uIg^G1Q0oF2nOD9} zC($q3%+i`ofZKH^{c;}kFg)Gi1oZcjdC&{pp@f3?eD1W{gQ4KE`?1_V(UjApdmMl4 z34xCiNiL%gEqfsx_(U%0%w#m)%LbXv0Gat|fXAgZ(H^WFTUFp{WrmpRUYaN+ttbaS z$iW}nE)^ZeTceaNq>9+~Hd{7OMTKA(%; z4k62yW10R_RYpU81@;6#ife^nEqnQSs%)9%EKL*ILrAo@P2V^l$NkZL4i6^*Eu3SYK-gJXfK4EoY?K4?g)h8Oa+%qt zSJ!Y$r#5pJh66ZUa5%RVxC!} zGy6QgHc|!fOlBi_HlD>I@tS{6Z9@{4%W_L~`czt!rC?vdZT`*xd>q#;ESNLDNefYo zM~@TF;j;naF?&vPT8-t(nulHFhMnq$IW~q1ov`ZZHCAmX#fEnYg!Q%cz0L!3%JP>0 z!}(d<`V`k&rZRrny9Mvb{r^>f$L!9`Pwg8ETg=c@UF`dFS=}jQ9WQ_Q)aIu>@eU2l zYqgc(;rTwm<9F&o8W3vMX1Fw-fH1#H!8Tko6chzec294ePxgERZu)TIoSG*41tAeE@ zcJnuOm6A^4Hy?tqZ|wNWLw4H_u4;@AuImI|es|c8bsn}$m(C&a&adoBT1{v{sTpQ| zH|KPIZR4FIt@=eZ0fKm~1#LA${jGYd`0k>0@ISg4X~l1b_)32ki=RUfJ|1f2oZkWs z$)S-+5i5SnA;?X5ejL{X_i$=;9YE(<{FEM>2SXO8ki zl7uxkh8gVpk{2d3824h#VEi<^+-knrP((&aPW`!%mI*tE^MX0Fb|gPXI*N@eF}wxB zYX$ExKU8C9ePQ?II6u#u@_d%^f)s8pW3ZXh|5vV)`e1)K@Rh;p{Z~-$(^$R#%EnqF z5oeWK5w^CgDA(PFWMst)j@Wn?XGC8Zs)u*{ZmGVcMmAu)q;p#@grT2M)ZOW#O|J$T z2ZgUcofw~EZDVV7K4Wm{#gNiV(Qi&k(@2M!7P9UuUko+4x~1lUe|7zZK6=i|Z|w^8 z*96zU&$)l)TYHud#v#7*;H~uUud)_50BJy$zvmWc-@X+DYx;DbPub%04Z#$;HHA)B zRc-x(1lgjh`no0ol{`?t3zZ${O5#(o^};+-se@;>FOeXmeAY5jz9g4)`s6gP-`-DL z-@I7k{J0V)zH_vmetvsft1qnyG!61mvUXOtB-3nkPD-|aswCLegrm%$43JHPtXC5< z@=@~QY2-$h+s=@b7Q5vOyX&Po_)lNTBMphzO3)~`eq(o1RWqiQ&hwL2^T#zqneFH7 z1dZguXvdMt`Z)bgN<~kV3P6S+H+f`Hf)-&(+~~t{Kq(;)B~9Z29(@FU4>`79 z8vrA6u^Qlvgtj zNqYj`#vGhkfU_Ly7Gb+ul9}SW@Mjs$2_P&TDdmK6Sn7W|D4Vc7I;j@vZG@RbA9_>s zj!kcWztcw1Zg1Ra|6AN=zH2^=e))*ro*egFAUWfIo-5e6#~E{6Dmi10%iJ+XK(zVG zA*>L~PBYZ_wQ{6F9!p}^s*x%g`ZoBEFH<71>(od~wLQP~?7HjKNcbQ(qj5*@U+5k;5oKbi_~4OMXD(7JpM%Vug<;5_duFx>ys^G{f|{^5rfv% zXpxeCQjKI&wqH7^nAr5ZVDcnIj?67xV5}&iT!?!jA|&O=Es{6PmlC$xeHUjXB&=6> zo5>&;!)CMNs-3{t7D)I7M$7?`3leu*C zNL?*RryA?L$@HpUjDubT8ZWT@l~@DFL>dKuC9$|>F$rq11~n3!?~9Za0lfyGHy`LV za(YEm>zdR^SXx3#M@1kMLguTHZbhbbfU%YvvX=~z#7(U(;N&JpG(dF3{vjZglsvI$b zSmrY>GSu!2nNg|2-M6l1V8*M`6@fDYirPstGoXHI{{ zFhaL8%cBkx=8tG)LtM)vMMHWY28e5Oqo{N-ok+JwpGI7kl149p?{|geQHN`Pd6cB* zS{`wFn1a`iM^O&1%iRxf_U>IKMD{{Op9TrKLve5@1C5Tc54kD`__+gF?;@;kHU7Nte%3ezL?B^i6UI_N zVMI960b{c|Gb{45S#>7Rv5<~WtlgIbox%KkJN65pub-G)DFw*f!nBBC))k~j@Q&H_ zlM|#;I+B=MkQRx4?%1533UTvA+^v%0cjHw%@labQ7)2jpaeG;xkU)qZ`bZzlK5l>! zK=fmP!w3!GyAnBMrzGHi8~q}!A3|EVE@w^OT|gmN{=_B>HBy zd^CY6q!STKVzC-Uthctwnm=3l+q3&gac#Q8h0M~L$GM0;2Xp0rXNiO@AGtl6;Q#sl zxrt|Y@NP4<=g;@PJ0QPrpnmYzldx7v!fF8t`)smM-%uT3egV*z*CTe8v`~K^AtWsC zPZSrF_rr+p7Z`F_c{Wj0i_k7Rx}zW7#w6a~l6Y_T!~3U`Vw?G^8hFz2RD?VemVZWy z3r~Q)`Io674;7t%h5JEQLMTGk+R=L%_0`2o2f$v5XH|;|6;ixZV6R~Rf7u{CY8Rcg zJWqeub3bTV7w7Akod5Sf5DO%2?gx;~l(5x>OIcxVWx|ZMs2) z8mMAyw$cZG{V!n2MMW3_rQ6F+9`71NR5nj52YOT4p7(V%nIx3aAl+pZ=Z}UGTVqMg zX7-^fetWeE<6whG6k!W%VeX>Y(i$z^n-PhBo*9XMrAK0i!;#q6S&=#4gd&on6Tg~8 z76-4JERih9_TQt$4`+ZTU54qTwM);}hDj)03Ibk#2=LVPHGZO9gFbUZAU#~uJRf+w z7}q@3V!R`GN;}x1-&=+D9AjymS(*GUm?OWK(Q0Nj7Q##*{%B^TQaXX31YQdqJq8>- zo)uvyfopB~e2BjW;zJ1+44E&}EIGCoFdoZ_lopO==Y%n>_+t?BaezOO6%nU|x7+gX zwfN(I5cUM*bsdC13E@v=MLfJg?fE166%Q=dE<`=~u4YF6NhF!AH|avBq={bzvxVYy zYYpV{VSes@N{e}Y&8f`qBArG)7(tr^AQ{T(SiA8SvKj8U+)*b0=X zkC$njj8c%V=;L$R(;^iLp1r=^iayjp{$NFqBw=@0(R&)mo#)N!PlzPXNf(JQo7|zbnk#CYGgugQ$^c>R z`7OV*Zh40mw@!$7ODA!}AV! zJ_FBtBXRR#Nb4?mJ_gU#0DlVL_rUW}cp^PqcR}7(`}tUHi{_Wx^s{UIplfY%pJqsr z_C=vB)K4RWdP1G5=BG;+`_HU@MQ1Wj{Y~AC|1s16Z)Zrb^<8nhJU#5e6Mo3Oc`wM2}Df_mTa= zR(lJiQ!UbwNPPrS83C!}LMkI4V&l@MBe7PH97rM73Q`2Apk%f{QPi1#>);)J*1E`6 zN@# z-K!XDcr?TvzP6K#2X=G3VPv%dA_fMDn5kZ znOnTWupZtG1!K3JdsX9qsUu>Ik4Czd)xm$X8*%O@s|fJ*f|%76!8^QeA$T^5NSQS0 zCvbXzm+4j_Nnu*e*U4)#X&9PX8NQzt{TkjC_C7Cq$Y_fmbnJcSLEN*k&JJlc=hQv` zwITl7ha=rSS)SsPeCUIVmSifiTR@tsEN=mQ-J$r@ZlA)!D}23wiP$Y5-<8iWU4EM? ztFc?3i9EF!v0}G86In(4m~*HX>_$5gt2@!HC`$B;*i9h&Tb_#Wb#Q!#Qlvf^VI_mo z$eddqid6XUj=QVr>Y!y*8&gu91 zaGHhRl%;yfak<_;FxP`T@sE>(O`Jxim?w@6mXSuzf93yw#(!=f{!j3v&+;O%_m<=4 z<->vVa-xUUAP=qMTjl2Jw=7q;dUIu`=IY0T zNO4uz<)*dzyxLbU!Tk|P{gwf9v>9_0z#OggYL(loJuRsPWZ-pGuF@bi}u+=}RUH(8&$yCr@Y>LlMyX7Fo zjAS+<+{b@F-1#>sB-SqouIf&aRT7Vb4wU?K3XBMU(I=lFXUZio7c|1rZ>dhB(Y*mN zjyV(Jq7UxaQs|4W>56QXBwB8bgzu*!Sjy19N^7mHgi45ko>!n((#mv$#kkgpE$xb2 zn>|GR-EH`{d(scj@C1uPwp+5FZQ9f!?VCMg`dG$1Uh%vVP8%uE`yo8 zN!CCmS~jJt_9IEAZTiKv-1Czn{E#mTi8XD*CiiRD1GUCtwdlzx>Faw%h|h0h)ptbV zMNh*VWc31mF84kyX50}eHu1i~u+(}&xrttX`Kt+z9somO*adejFckE|@7R$%2=s=r zIY^!LXC`U%KF0cTJ`#|zKd->uBoq7G zmdrG{>u6-(q7cICGdQ(6AMlyslh}L4I!@7fWCSpCj zB_o4I_Voywj|rZ6ss;^b=p?dtQOHo~HKilZC*2t;Xskd6uE0P~4Sg@Giy5jkO$la< zkr(0FsW;2FDuQ3$ZMtd_9Eq$>ZaQ23DIpv#+1x}Ix{nr!Sl)B zd!rk?@a{~ApBczxU-=%azaJY5z9jc+q9@J+MQ!IL?2P3>JCm=AWRe{HPoZ|H1>QoL zXqRv`JahEfk{31{pZb;T8$FC1C8IL9zh&n8j?GQDPH@gr#nQ{jbbJ=6?G>vcwXOB8w6?}p#d@J$s^T4Q5ET`?TNM#O zyf(k*IcLsZlA!JT{p$^%WoDj#Ip;Z-Ip;ag^PJ~APXTT>9}w>`c*(YFM3kqAAZ(1Xx-{u3Uwlqn2kCJ z7w~yN7KOPW)4TW5TtD7JZDdhQ`Xo7Z=`E-)7CJ6vwegY)-%P2*gZ&-@ejRbgT--C| z63<+WYR++~l5D?>so{-^{Th?MH3zJrCF)$Ipf(y{_y@-TZ#C?H=a}<9VG%K3Ay%Ua zpX^`e=OdoSL>sIV3VgPVDrq4uZ6!X?$mRQ{Ip7z3cUt1v${KV}6=Lr*L^a#liedcwF9KP8r*WFDT2~ufI%4 zZGRm84=}9j=VN||N8zcwKZ<1-7DCn|M27eEO}!;#rsxs2OJeo-2H z^Ai|_iU=!&tW?M?!r)-)LX-nVCI{jv2$U0fE+86>m+@Q@&4qq7-x|zDk4e~Gzihvj zx1WEe%$40_qYlUATHn6vQ_1Sn0rG-^BMV^1{%>`wWObVZ7-ZlMVInskKBS(nw+OEd zX5$?RdmYq&a{#qZ%$D0z-b{{W^_+?$f9>7-s^=KDo}=^iyn)tPr1y9HZ*?By)_HWk z&ezlWi}e2XA@zT$MHm>&rjKRye~wu%WBudhu1%?jMoHC-*-hsJiP7A63Vbn-Uz@4= zy)!kxFBAVk;^b9+Plc!PFD1D*nP?_)vg-HPdk~U;F;7XH3{>CVfpqPOQlx8(5+xwV zIJZGhs35zDf;v+bM9+Z?qk;^h3M$GlPn_dZTU3x??u2@)Aj5b(s{L4txN$JG z9(qBOrEQufu2xiSKviH~P)rKN^gLox_JK)Zn67UTuN%yMFP)fsKh*FKIlt@WoQABo z%H8vSyvXaWE@%8Ba;z9t6!#5!;hUzq)>{}=)P0tnrHoevvZB-~H>v8r!hLp8Bc8xqaoFLr`2QtSDFB-DM?}raM8HKfjf)#?(!V3zX9^> zN9`x?06x8%Wb{)hhueZ@@BtPCzBy~oPXyq98>~#|gzKz$nU6yLYFcJ0aVM;El9Xz_ z=UYq8+w8yX*4NShVX^oxtPhx9JmA;KRTf6cxW%%+;r5;%l`}g!)I7S}xNw`koknx# zb^5ft+4U`#O5DThl<2os3!?Px_44spw|X-GGWrkcDx1-N z&!y6Jjq?5^JTq%8+u=uVJQ~Im&@hgO2G^wKQH{~5wYLCoy)_T1OReoMhD^mL!k=d2 zlfa*j#wUqCoq$gwe>xqXWcR63)yQg%2>mVnb|Lmk7{`U_dd>+ z$)H32Y1ums!TvyVdATb_!W(}zk?Q+SypU=^-%z}~zK@Jp-`D@E`o2CweZ5qFYfi{6 zxBt1`{voSFe8fsi4_j&ZQ7f%HXmxn*w>s1ZtPbs81-kp{3RWMkyWebe=nsK>`Vw3p z0XcoZO6w29^;Nh&3fC9l`XIc24&L7n*XQB-09?1i^qqZ4b6A$Htp_~wu6WKyF@o!qGEc6GoEtP!) zt}j_m7WxI+=47F7plwd}LAbsE@1c*NZK*8u6SOUr{TE!fQmw@6*5bg+@Ouq@FIp^a zEIX^*2X$D7b*Ndi{$;C0MUBOuV9i;y{&n~126#%X-;BCDp#!d|^)Fd}mn(kNS^uil zuBu8*ts~C*0c)G)*XC-fvS|HlZq7eLPE3_7RTWGTSc!OGB@(8t@{{e7EaLMeurf_u z)kPNH{W{ca(fSwN-0Nt$&$;D3XCa1}qN==T4nnWR;NA09rS>1vyy`%b>WB8iGfVqC zq4eePdR?0@q(+Z-bdTXupFwk{*?$PPorX-L=)iy@yrAr*^F0YT3WW+D@7J$3bif z+9WEjT=^;V@ga1r*#_&^1XvTl0uJ>TJp{h*HVdH{b9GOY;0QH;1oXX(V>#7&pLLs# zU*6b>-?5Cal)vhUy6e;;bBl$iOe@JokP>eKT7%#E70ce5$BD67R359yV0?05$pB2~ zS7ceX+D`KuLX%KW4wF5?i-|#kyl#^aB-><3J4^wXyFbj}qxJ#!4TEo&1#zw<%9MBB zR3R!Zzt?6k*&-%?1E)^@3jD_739}wO#@(uBolS6Wf9Zp?$U__jX`5X;EF<3JjgU#+ ziIk`4S7%D7J=8=afci?cSLp2Xyh!;5#5z;Z1jL*jWq*#C@p-1GiP_X9gze~!znwT? zt)JNM6M@kZgZh^sIX&H}#&_%KE+3+&TV>?+bbogBbQijRdOFT`tTy<$4H%)q%Yq=f zT125%*x*kGUU2skDPLo-^Lx$(FIZIqp1U)48A|G+=dGrmN|5FxB}VWBMoPZVYN}F+ zF}h*pmxDs9kfP`3cL-s77x!iRsljZ;d&x5i?u#7vsIb0Y7;LW?BhUOv9T0tk)^(@( zt?Tdi8;UT0N*FEd*XO;!<;l3dQLNG!)i=Ibq;F*X zQd{ZTV~d8+Q4f^7eyim~2e@W2`l^L`MHB8`aPK02=s7G?X6+8pIO0M!&=vF7@n9h znvB%Kp}pWV0-vyvVSkQd9{@T~*go`)_o9eakEalp?s=N7vhqK)Euv6Kn)PGZJMnp| zFikNo_Rb+MSiJ24!h2*2(5^mV4UCJzTGO(BVNDP#0aukMtf{Q5!d3*m>(oMA&|-{` zM%S1xNa35L*AP>y@3VM0xRzk#3;QR1!WB@OPqa5;6i#~!e*1}J#vtbI(6+km*zD%i zsn@;+{l@anLT7g+si}Ib4E42@#9xWN{zL)21kxxtl{HoCr2IP<8?a!1 zD@A%Pt#YMs4!!n?72O7@GxGFHs^W6f3l{o9LpwIBf>AC*VB7`zy)LF{_NP35brnCa z3G*-KA3Gfwpt)Zz+K&lWHM>5IU$qKx-VZomrRiU@%3L34$oDo?F`08w!z)Fa)Ha|x zF^o`R{vxpuZS&&4NyK~5=4(|#5-Nm$O!SwDg&@b+yHOTmxYAW@&1P|_7j+h6T!G&5 z+L|WXq;ZZ;U}cdIcZA};G?87)aC-oEV@C;n59^hTkdD%Z>v>f|<7F}vjg+)O7I=#N(kR12mT=;bPg>g7~dK6VWg1}sDUCe_3l2=6zmL|TdoZ_4{kBZ$!T_*4N;^-W7F(05PmOi2;k z{8GQUO(g1irmNe@@&UxV-Yn05^`%kGbrsK1T?LQtykE7eKUDB5uEI!JeZb?2g2(9t zo>TUS+dZyJJ@`y25`PGFL@ae>WqqQJa&?0qW1_L2p%}B9&K`%lweO=2wM3ce zDbZ%CCEiT@%EYmK$cX`eL}~iHN;1*kCQecS^Ip`9+h5?!y4w$JxPi7oac;miDB^Yn z+E9&_kujx~I5%J$6p;6~4x+^RcfU`GDVvMye*@NEaeMImg#HAS@-JHdF8hA?ZOG5v z`J?!Fd!tAK~d>GnJA+F329P`(UUbhiAfEF^F&TU4?%&B1^1FGP3wHUuMd#6(o%W1^wc z>2ki%T#9_%D8{R!<>WgS+G3-Xbi)dXRKV&?VP=@ZRs)_nk|H%W>>flMQ?k1Toz{0O z`$O)teZwej+xZtYtKXVH-|U}Td7qRIjdJZN3eKl|gi>OE^keAd9l#augx@Z!k|5Xp z&xAz%Kxs7ZCdg|S*#7OdIzk`AsJnrVx>le$ivu57>F{1F9r@7esM}+8*gLJj{9gSI zsE1GJ2z-WT^9DNtpI99echOaNhlTM?*y{21C}zvFsC$PMlMjS)?oL3zRV{|+pv1iX zow~MDzA2D@>iO8hG97C53u~*)*48N?Q>D81Sm^z$1FlZ@UaMV}OJedEg7-;DE~%g? zQaztpQ=H9%S^Z%sBNM+X(YMwoXUy9Z?Zj7NKenBe2tn}{)#?5aF#r#COQJze1>UkS z67$qn4?zB&@QC(Hm?A04B-Oo(%Jk3=atGYoPkLN`o!YF?Om1sY{7}+g65)g&M!bYp z3ya>i>^(3?zVf*8{)v!w4)u@mDa@frp}Y?egraO7hxdD})q*TLsdp@l9qU9tWb(h9 zibCrayoK^V+~Jqqh4Mem`76kYv#pwRk{bi5de)0Ng`qB>8)n6$@XZafIQo%gKbE?$p7p1`t6GmhJ#%ln+A&gdu+N*qKF&}7uIG;9+X1oy2D?>1LITt`{e)6G}x)6GM z)hjbW(OtU%v!-TB%NaBgI%LY&&qOu9NY|_zO6@nAT;7H9;%``Z57e0lR7O zihBB~`tHH;B7SYGH})Ua8NYFd2_;8Av#_42DAXU?kb-aBVeYaxR{KSUmD#YPt{#1V z3)j-IR!OGQvjj~3-2-)f9s8)%`5M05j&Jr@i@*8Es`ST+^(6El zq^R@*@BSq8;MX6*{S4Ca^(U4wZt>SRpPetDrk{UkS!c7f+x@D*(+>F6K}?IitP-EU zfpa}a(TJZh1=)8QG_!RrS?LMD?WwnrYqDd{Jo|fg5AdUU* z@*D#5^_~BvJX*uYI`+Uff%boDrM}){H9Yu(!Jz*>+x>|0CjmFHQYt z4_&+PzNYLqgu@Yb0EPWp%)wyoDurv-yrXL?sq+(;iV$+`eoR(+gNWt*;x;0x>qWSi z`o)y~iFJor6mNJxE+_1zasrQyd;5M&UUPlpimCZKfyOiiO3BL-3E-ME3i@d^k(j1# zH)@n{&F8jzFYm{6^Qi?pEn&rfYNBdQVhQ9G0&{=|TrEI8^f~)kOn`h9e*`oX zqz8?y9XCH=e}-T8CHOMVYWTVuQChSEiR;&kG~RCzgZf841D;k3CF&f1!6!88DtZ_b z8Xw&~Xm55_e`swN6rtTigcgrZ>G_RM__dh!*r2oIZ7VzfZ;5sE`GG-owR(;4H{l`S zg+9-1s5#T@J9(e~a17_6c3S1`nG#%O&l|(&=XkA%!d$eIQke-F(jWCa;WwPx!2H(g zT-u2~Y^!tr9IJBQ_nusTS-Xn(wFg}IB7H{=j^F*!G5otflwjx6kPC41-M|HXGq_0q z2(DiY;&ayg7w&J8#el*7nDb}PkNIx?Y|sCZKf}MRxpwWbSR4|@gS|0^@j(2{j1cM& zNvJG0H+GI;wz!SP@VLaEyEq+P2o>_Y-{i_7p~5~CYl_oze`RWaP4kFxeEk5YaeNET z+f>xB{n?DZD}lbbT1McVM?o4Zx37fzr8K^=ei8LPW(ueKS_B^n3K#im#7D|7>I!&u!^?EyR7;3tl#lNMwHfwGl zvA-YGF#gbJwe-_}{1HljmJ?ryJsI?=3`>_>UkbJCw@GC`4!^pb{WcQz6WulH^cu!@ z81ZaWo5}o#aK8JTn&wo)KwczVF*AL+yg7AngelO`RYinx!+lX=FBhXGlqZNmT4FNv@2)7L?&1QpTOR zGW4P{s)m(Oo-3njNE!I|y!#C-lf}#9@U3nibwa<-q&xiicW>wNtSHK}BbTQvmq&JW zKzrSH4)kUcGL#j(6UXv*Rk?S3&!B89?*ohU`j?aaLiuxRm2N(RU&N^StZ9fCK4Es(yUPX{ZSWg8hLGxW{KauT&|%C*jJD^PyUh$y8ki zdMg93JC3H$nBM@mYY9+FeN71WBF2We|2*uM6yD00w3?4~kf?;p8k>Bvr zwi8*$$W{`Kq{Z&={{*pj<XfAxr)4!o^#1a(oZgQOaruVY z>WyXVb4Iu5R~r*Tdj)JA)eyk55ujrMqq2zxNNqKtvV!_uKbGlS4AP;G4|M=`2S#W{ zmzEK_(qdE$d?w5C^~8LCaodIE@^V0m>10dC75ZhFI1~M{ zXs&K@)HrsI-f6@6ol1-iT>@M&o(jx@v^7o8=^KRiE;zTlr=fpTstsCbbin_&jXqRG zP6)@AOzhXW&LuXE>s&UdS$*kDT<4;Hp}Y^h>EoE}SV?XtRl-wG&YNMhW#eZplLA3< zh0ot+E38fzeTk#-v~2$2rf}qBY}& zu2F3K|8X3XXHaL<8gk6TU}W?HeeVd&4s`_LxxS;ZR3YtDEPvr)A=GaNr7xhDPwtUO z8X(U686l%`@j}1?PZ{$E08cG{oE-|t{fQ2^8dAr?cqkxlmqY>W-zuf|q^5fGvhbdi zHT7B5#4n{6&VUlDfnS+gzjqMV0{c_uYXHaCv*X;eYhw(bb60z)MFR;Et{8J#qxNH| zyJm(C*2a_6-xHyxOJP1L(?a&1)cTpB7}`$W)fVbC&+Tb}wD!O8X|-2>m3pJ+_nhGc z$o7mraaIY;iKaDf&H+Qlnw<>kox2W$^2Va&j zXZ2T6DePnCt{I`!KjI;b&3yAL`>#yrjP02+zL`vReU&9b9X*MVv!pF#$m#C3P^xQY z$k^S{Ju`&U8wLm+QnY$Jdpv z@ysU65L5NgKLUERz|-H8W>u1OLwhLQFe~Ilp_cXdeWnC7w0<)8gSQ;YR+o5azKm;& z&zV0?6euZ;{sYo$F1Y}r7&jUTOD(5cV9i;^fF7UctfHM-F47qncq)E`+bjyYMjx+Xd|wufRKpq@8EjbXhDdam|4H_ZxVO$%0^G`z(W6`s_MP1dr9>S&9@FA+*7+TaJHEio&! zsI@i3yb)K-0{%8WgME9L%OU*s@LW-#FIX|bwJ+9x@hhVqnax^(l;z4jYXaka5m!Li zE(yYFQIIGFZSW90afHuE^-QF%2`EA0bm58#?p{8O2blM5Yz4%$aq35FMhI56&k41R z#PoMV`j&mt|2*w?oEenuHaF*LI z@j8^%y1owFvhZ5&`T*f)oU0&>PIYjpz|0VT`f73lP!|C`5;*~=hw#lH5L%8NDctC$lGo-)-t&b?Z49XurlrJ0D98_ zv?W~+1cqJrvYb5*{noQ87(13J{!dE(dCXPdk3R!*s>#PUE6qn zz|V2VUHolB%23=gxIc8vzqpq3{Au_K*!yXtE!0s7c&ZX1{0=;yKnmr>-hy(|4Y_vJ zL%CDfYFJ!mM?K?%xNrOOYuR3L$EuTA5SWlVmxG)nTJOzPc&_l2Atv+|mcD5>*I0~tc ze5Cg#P)Ok2`gQwVKBn)gb^X%1e(Eb+9-HoMx?`}0{CiTbe%~?{hkB0NW)_R=AxP8c z@}~+xFZCK+(Fbf3t_cE;vtF`d25Q983l0zAzDuXLV^X0{?yE}jKD23WIb)uGQsh%R zV@A3fi2X95{jAcsW9L^_=jNtBUaw_5^a}l%PW-B+bf)n5b+1*)gvWdm$or6XDasED ztAhe-#m%)?2Rv<1S^z+f(8H8l^IuF`JfuErd4KD2Fw>_d<{V;g_;TGhhEtZ%TD^=31fhi%ODb4LFK^U$uB;YyYB)LtWBCJymo zE*g~?eI-rZ8(q=WAfx8A|NdWvPp(7wNa`w^Gpe#0tS z9$gt_)R87g9po`2v>XAM14drR^@ALxF(EPD-TBoA!4LUIKePjN4_VW-w~>t&BVtq= zQj0f6Fm9ih_`N(5<1}&*(9}7w!faT!8a7Jp*DmuSEGh%; z)iedlh`U2GBn}`@W9emC@(m~$;f+~g<66V?xR01zmc7zfBRow#XQ9@e&(9}K*A`fh z&MMTs(ET2h>rxIc(uKcnHV=u9$@GVBnR#6}hwUhWF`rwXn@nbZH!2M=NFGsZghjR4 z=)tpeaXCqb7~};Hg-FZEypUm90(|t zsRbB~83$N<&D*<}kA_FoLOP_oX*vO8MqiO-_8;TFG{PJ{M;ROH@IDte#Hz2|-17~p+!_KGK2VdnE{8 z65#y&GjyzFbl+U!?nTJ%ckBr;o&(E6p1(0FkqR-FBU(Ct*OdICy_fH8oSVb>97|!2 zKi+if$?fS@L7HDvT|>+Zyyln+uX))PFM5Zo^=|RnUznGj?u*G2Nl;$pE2P=;J$c$o z&$D^(JR6NgnxolQNJHr}?rWiMI`ucT;_1F|@@8*C8^#H|^LWwqn5T}h|2a7lIv-?*Sz`oHflG!#jB2) zNX{P2#J@URvi$<`U%XFW8v32g$XwI?PMX`N+ab+Fnr7)jl~VR+W-0lS#hADs_V7>A zigc@JcSz<65x-=AoFAJV!Q!#W;Y)|Wd7P9}gG>$%lADV5KF50V`n(uiq39>Krp72RxKRB@^3>Y&R*MIUoQl0SF$0_%5Ekoooxl8cJ!_n9`_m+9|> z@2<~(#Ut#~K00Kd_8-CFd!8G49rf4Rg@SlU_-;$?-7D=w*O>Q);G%m}1u%}oV-3g8 z(~q`>MiDyG;(irxg1%eRP3YRlc;v+v+g~W$kH}bzCc664ogMm`P~m>Y z=~j_GmA+3Kmxl`XHZQPvjH}`_9hGa`{UxS8#5`G1&+8y$sg# zGH=%Wntq*h=(14ZKFB(Y)8@;H)|0>H;FlM{|88-abd4*MvOc)Wg{K9MpTY0X!7nd@ zZ?w2vv8I5JCu9@Amr(t8kmMsiI14WinT@CWTBPapzE(Qjr$&*J#QEJK0M7&5q>zh$ z^-w7t2;*}Z+-3A%7Q~0Bl+rHTS$J8fMVdgL+UOHY!Jg4iG0#uqL;#P8<+}5M*bk)^ zt_dA1X#}shrvXyIJC)K5HtX=7&C~qL$?rm)_!Gp589j3} z@`Z*m7dn|iwLCPKhbnn!!(6(HhSCLp{62x-TZE3M68OK0UKM)Q3iV%-a7pzf_#FVh zg9_H)($G*^M(D3P#OxOFY}Yo`P*g*$RIAiced<}WagXC~A=I%ltDTyVtG^VPg+hAD zeW7&I-Jx{zU7_^Ue}opdtPjP!AX_(V2*s2VxZV>o#Eyo00Y^HvA!L7+(Qlc5j?}tE ztAO5qc)CLUc$UEZui-u&h4ev8Z@-t(e~&4JPLTu~0_YKXFwhv-ISAi=2Gt4vJHHQo za)^zuPN;1~!5&3#h{u+>(wEUo@SM1ijT+s$RF_M0elE>!Sb@H5XK6Of!8AP1@1^c{ zb>er2um!l5If;8hjSXeccUUujRznhO42*}iY@3cW=_yPH_5aF!`!&@6gTdnbI|i}k zgxIgfg!cwf*5owhfe@!bRUpmPFCzu~`KA!tYf9<&g2Y`$_ZjaEIr`n97P_~HwOl>D zcyIB|5a-+QE%)!5pX<9qoCe$-Dx_^fxG>*ea`|{%a6QcQ4;lT!*=WmuST2;pyf}L{ zJL`8U^n0=kN3p#d;XfP>e~*1bDl?0l%azxvDtNy)gk2d7W3eUf4Na07C|6&O>(FeO zI0>xN@2BG|#dEXl`6>F0nu$*7t3YEEdZ+c?(4w~Wp%(G2L8lFRN!&)S*h?a@Uoz@3 zg%Ge`VE%9jVKTqs`l(}ox-5Yl8+PqF^i{JZs$aoKgNORqeSI(o-C2mm>Dds<#J99JIL=akn3FG;iWFNH!zN)A zF}DxKx<05)*LJrQ>U)5D704ku-tfLK)7@g(0<|;t(LTa8d4>7=9_ZswE5y7mc_7T^ z9Mjq2?(WZKvlX1_WPX z(8u%8U>^Ed9{PWOqRSpv?i~$vLmOSA$p|so_g#>5NqIK9Wj4ybkA@heE=VCD;Xdv{ zrUfWOUQRZ;kT`=V%gJLQBW{sLK|X%em5(2%@-em*?Z>elaD|kQ6v)fr$jI{Y0TC`Q zzgr+Lzgr|PH%GX<{0Q{WX|BBdsGr-8;aob@O@nLAzt!x2g1R|+#d7kY%il0>8*P!i zjTdqfAAwB$aVRZ)5K7BCLS;GsgB=leCd)BD3ORv~LTDM+DSQU6z)?IUoE*$U7;U8leOg>6|qXhe$nIZnVuVQ z&yK`D4mHkyhjAujyPQ_2QQHS0C$S@xT?lOqtFrwm&-3dD+ap2GzMaZvAt(M(s8Px1 z{kSOa{6JyeYjfp&Fs!_f^W~)q^ZY%+?Db*_v@yOT6eFV{AKu}4oE3We3>Fb}M+on! zS9){*Zk^hxd^A{$|ASC=5#VnC{I9Dn{*8bi<6g&qJb-^b;x8c;3f>_e55@DvU{C-& zDZsN3@HiiYVjgOGsk?wb^uTpb z2>mmER;UKCcL${pRA=Sx5SH83u1>Z0V7iQXV|$E7(%3QBDNPP%%!PAWC@!??Z=0i` z6=tOYvg;2!E=l-B(>lr9BIyLN8FH<7k~gEjeyoV{IpDq20lbf~cl5apo*yWchLyd( zna)4dD}P?*6s+6vI=*i2F5=zWbMQSy@OgEAZk$+vW1L6KS7?jMeJiBun4Ik_!T06F z>DmRW#~xTcc8Ao}YOi|!O3#HI$YVH5_Am>OC6Hq2o=|4N#T{pA_U=q{6<&8TI)`KB z#5%TqB9;3{?G)aglufOgqX(Ch!4QMIm4p0;Lh#9iClcne5{>U%m$M(7ziLiEVloAP zqaSD1<>ezhnDsvzNwGUNKpw=X|h+z50)4ySv zbk82H$iETVlf%<*tz&k~*rpgzPQ)97FOPLY`h)q|ZX^j;48i91-X7X}yHp*=52t1C z)G^zU;xAbZbPe$$Jv0>jCQhpycG|?SlaRvnyCB8dg{hDx&8N9O8noZ%ct3N0=R`iQ z1bKyUb|K^qSLDk7W>`8gpDvY8r`W8XjOJonD=E#z-YcUJ-d?<-&&~$@lR<`6EGnJS z|2Mgge3b3RX_bOx2XYCpQvY@i@&sxaA-K0!BjVo01mHONJ5RXKzIL3Qx4r%CoPcY0 z$#f85yKwErxH5F#Q1FM-VoA7vEN2HY)n;=6eQvr@^a%T&Y8d^i>`=L1(0Xc7}j%gg(Psd7s!lm@~3m_fr zau$??9q0*s6F~n9kLBmk4{Sa!ON!>@X*syR2>wHx&$*Hj=iGTVr_)dqcQBxZj66ZP&gN>W%cMhQ>W-ZPhsy5n&98m;%Re{>|P&*6L3OJ4H{}{+RQV z583XSM$-pxO9^U_kt;#G$eHLQ4R0#ka{O~EQ3tU%?~4F%K##xTZJX)7e;Ia#)~%u_ zuI%I$Jcg?iz%j&QyEYcU{o!G8USG@WGd{BU8l<}A0Iwy|?*;9XIIo4{9BWPIiz>1< zV*dZwF7GM9ypve}@tpLms>t%PZxj_E?_SQ|mrrbVeKzk@v-&M_=s6FdI-kJPU+I$$ zPanh6pXgJ0IIl+^HF4v<4^ysPeHcWIBU@6nBgZnZY0+n{~L5f4M#i@hm4thmH9b zc@pHhqryzCJ2uSZx?{pjuIs?7(kUE`SIDs_oNw>d6GxWsZl1{HJ3-6KcY;Jz_z7#G>{*pKDJV+H;26o~QhUdzLRv z9J(*W^1e2a+o&8^+N;lZZB&k@>#Uzz2ov(=M0OsT%Oy);4P6pWODBcX^0IJRIWe5} zEDxvE&Tv}m4yV06;k56BaJr-`oImek?$2nFY3}qQhpn2me`KdOV_v-^N_o?aesqt> zPG0*m=Hi|PNWtuR*c#KkKVN&66s@SY<0 zu{rp%BKVU1xsLG!x_)&+UlzV!k;`{t5&VoCe0dT4+#LL*BKS}C=WFf>MQbjO99(OE zw!bU$+}{;$e=G%h=noQ2a~@b4b{%B%JH^XE85gr5fGiL$5ig z?{e-x!L7G*e<#rJyAJo4qD{)Tl*j9jWxbp$Yg@joe+P2)Uoy1*-_aiw=W~Vi=RC`% z{kgsIl5nrto-*lv^2WpY9v&}yAXoO%!m|I1Z$Zm`cBH<07jPa#adx^mTS{?9>0gKY z=_;tvUc|oJO8lk&Rp0UQw&cp&oG)*0t_|J)?e{OlIWSWHsgsKPPuxfUl~3YjFWXny z-`0OGe~i?BwK<$8ep`F?h4aOca2}Myx%|8OXe6AQ3vuEuF5+yT#B3IaVpPI@WdB2YcYk0vqQ znIWi4+duAuiQV0+dVzwbpn0BU!Q+`VeG;?i{76(?ESq(?@!OY zf9G`m!AWd=cJ#h*ph#-UuLT=(Y0lhdnx}JVPTyym7jkLN*k_uTb7{^RmWH=!TTz?N z7}n-@ir$}~x+H zcDl|CJ3VKG*>}(5`_E8(qL1P;DZbM=e?FmB*u?O0T-|*m;wzgxw0{1A`kle?0Wb4x zzJA|=Z^AHqFMJ3?gL+R^0)QhSsb5It2{rv{{Sb)$LDt2^;-7e=?cLe}#15r$7gO=F$PU7cX|{z$%~vKM&{qA(S4#$N$CqoFhgq z&CmClW^^vi&-OWw#vM>NPc9xdj{-&Se?IJer0D(6a__ml{iFk!f3ujvJu#GexhDpv z^g~7w7N@4S76shv6wN!1MD0 zJZ}`#=VDeLsX}1uikEy3@SI22oZyVYJ<_Yfo%j^`_ z^3b+CRLw(Ed8n9&cIKgjfgE&29{NoVS}AHI5C6IV?j=QgwL9VW2K-)xf8R#<-2=bB z!tWaRUB>rt1MVK~cy|wX42}I(LaJ%ZsuCCzae6JKaa3^6_b4j=QN1>m0=>c|)jxn= zFZ@o0-)ZnW9e!uR?}zX^2Yx@wt?e@DI)Lp3_mYdI7k-1k!Z(1Q@D8--C({eR0Ycx+ zLxXwf+j(e19{N@u+BSUme;R&Uyl$JS+&0y^``G*Q^L0??X85(h?_l^H>h8cYZXXjRc z%iI)pqK}5t=A+?7(I>)-%_rdcI9wkOJNT}CQ+S0rc^RHCd^+5#e+TB#(@^Hqkn0h6 zHr?k(;Q2|w@+4fJh3m6$eFm=2!1ZCcJ`7l&0<2HL^G0~y2-nBp`dB!xXIOgxqp36k zJM}E?Dao3T_2|U@GN)S^mgWmz);xu#QCvO7T?a5<*$&hSPmLiSqcv-8?9o|G;g^YS z>WRwOLVD5*t{FX+f5cNhE6f9y>4e+cVVRE|z|YLr&13p5*JsZGJm&M0RPP%kD)j1$ z^b0{hzz<_9n-o_m8Ze2h#);q+bVW=*g>L z{y~(^Nk3!+6pULLHB9QUBvWPp?n<=-$G0(1u0*Pe896N{rDlbqradU)=-mH1x2bxjy*O z!-7Wq-dgX0e_BRwOL{4M=b$m#>3=4SDT3a14ex=zg|g9^M|h#ee@|WtWdupJ=KSr^ zuyZ?%fjgcIFS_%ouzFjccE?=gGz`^#gyj4WEIE+d)EJsm4|y6M0UH1PxzRuc(Fuzw zzYNm6k8Rqt5o&!1-9syXT#if9NXwU$n~XVPMQ}O=1YsEF%BB39}Xz$ z2cCB9K`vbcs*n3gEs~G=HLDRO9Kb!2rLBjkr~K(9eYV-YWhb zauDOK(*mp};$ua5X6N!e8!ju*KQB0Fs0^X7Gd2ggdml2%!A>3l_TvH=-#1xvP=4Qp zr@MKCbQ?xU_rwTgY#$---h+nk*ND+PjPsn;(UE!1Ex;LU8IkAQG9u5pWkjBH%ZNPZ zf0hw>&MhPIoLffZIk)VC=iKuDE1pwzZMw%s^Lt%50zZe*`DwUA+7s@OcZbu;XW_JG zZK zL&rrq9r~<@zI8|We!^$rmJ#;mPjdTqg?>$sNd4e!^sg|l#XTEn>qdXpymcP)f1kkY zM$UBW+(~W=b_#zB(x@n@{&@+#EN35iUbNUg@*DVGUxU2;6@0HR;X9SMywn;h9 z8}e!RSreh2on6TDjfLk!pnvM836traA-7AC?Dmd?<3Y-Cl!o44OF+HRv zBd4Ywz~39`d3cj3a!em`%@|3m{KY5*fZ-K`E#?E58mq zr+pPp^?e!69@Rh3au6rCKblj|?UW#8E2M0LlnF?=uz%kCK;BMiK|Ql4O~tHsP$CNf1Y$nJ-0#qYJ@zzlwupyALR0UJuFYYX3S2O_shB8*)Ic! z{kQ$X*VAk2hn|7)(0P1gef|s>r*j+XxvxQ`TZW$8zXanoRg3W%MgskM=?&?)96?E~ zlKTFjvRYh;6#919Snt|90ynv#U8ZMUFp}gtxc5`8Fr(km&Q3<6eAslQ2$ImMB1veGCnpKPwUbIfHwk&^h}uI*$oEP`Qqt*C zJ`I2?G7UW_KA2~{K$ zP0i8-e`!mpAKop;e|KdXLHO9?%S!!KD}@d1Rm4};Qua2yzZLHBeI>kKFiR`*m$a0e zO)$M#c8@n!b_xlWZB`3okpHNR#~Y_uL8dFGameo?xj5vx_~Sdb^ctVkITh5Unz7fs4RMSX+gfnyVQbrye=5~e@R2{Iq_ZX|H;cxQgzxLwra_`#s6cuHD%AX zjw^p&)nKj3#$TN`|37}YMLumX|80(J*JZynk(@kO=K7uZ9X(g1ke4Z~@DWM4sCohX z&KKdo4I(LVweBx8@R-q=_?CIA*5T>qa-z0Y2&H0Bf7z^J9q|-6)}<#@raFCPypSBqp2XQdKBP15y(T2(7g(pH#d$)7N&`E1YiK$D&ybXLlc z=A32M3-*)1&AiR_9hpy)i>keZ`7^_RV;h-{&RM8L#sdX;Y2JnOgeH0=RE-MJNdaE{ zIm-J?e?!Ycd^VrzIiKzu!RT>Q0$&(^abC|Vpo5soVYz@_%G1!#9DRNqo+n85X6DL5m4kc`-RV3^TH;*%YG_)l{?W2!x_fk4|cY6u&GcgspqKDjj zq|*1&`xey$-}bY4`wx6~e~v1;ecoCX=L@WL3WsLn@621f-tTF+ z6L{~FF;6GWbLA{{u2m(O1s~44vc#|0?_~7LX0fyS0G&TDZ|&UxeI=tW$GWL2%%_h( zm3le34eEj%-1_#Fw0=-0z}p6RgUYWon)7fhIX1s(rF~C{yK8h8wDlaftt!=Z{1eYZ zf5_<7FBAWG-WluY>3dkS7}SB3_qg|7QtQ3bn~DFMrm{c6zF}`h6ZO(s=^ig&Jx=0j zrF$XmC-cs@4$^MP#CNf~=dc%9t_Y59^YU4T)0K~MrH8_pmOGU>fd&U~uC66_0nSm! z5ss7m18{yc?~JPf(_b?29qjJraq@tQe?8)*{%|hsa&j&Dbl!eg*DEsd4_K{#lb8KR zPjPLLrQAMZkn4PKE;Vo)RP=0T!ptzwUKXYN`wJ@CfATZ;p(%`C2oj(|1sbc53(nl1 zLeJdiHA_3&*%^9|i{k*maj5I(LZQCx?!pxpX8l-L=>c!SO21Rfuk@#Mr;1kYf1T~P zau3b%$#>@9a?#8w+#Ue-O8b-^JtZhF+U1cjvq*v|RMN{qnpNl@3f{l7?Q$ zRG>$U8rBngkK)$(e%?-?Y^;4)#^!l}1m5FZdxgRabz84YVP{BK-~DhIv!!78woh^W zm;k;Mad7~?2FKN50oP{;c^mLAbGR5?0}3W^8xhi!_uquyFfAhKAmc!S? z(B@xGj^tvCekVh|tE9BG5;93q> z%+Ko{YvQuCAL_n)0h6tN-j$Cn%KBsmq`REP@G^gLk*`J0keKg#q=x)#GJ1HbQRZ1$ zv!~mkdfm%#gcSIFxv;c z-;k0XQ8Fr%swe>u)xChm^U1`kl5!tXI-HBlM_gq=j7ncKfBQy-CjoAn%&q)!+=}kr z2|EpN|Ky=30P;2}dNVr{9V7=ppTlhIgqhd{v#_T;qOR=o7)c(Rh}mpRXf8e*X~KLD z!h8=z^0paMn|U9bMSXl|4jw3ix8~r%2($fW?QCymdchiDcF>4gBJ>w=5@rPDbEDFU z2P5e9wT7G+e@GJOMbk+H=(}EXayL6^hiN#4uy=4;Hn+K$mU-PZXge&MA1dL7;Gq_;*6GPr)<$HNy8>hrN+;X1Fn8sE49X;nYyZJgt2+ zO@(vHezQg(UN#mo`pTq-X&>aICMuce+3tMc{j{<s zAut-7u9?Rf`9X4MoDrVyiV^bt9$-^wzV0N82QwM&d)#}JLp$Aj?Bg!?z6S1>xc61) z_sP9Sp80t99(m^DlERR)JgWO0uW4rUt%iKA83C&T#*K)*E7RT;M8m)nmLB&B`&ogn zQ%C13f9Ag>m;bAMPbXa6H#dr2L|2zV#Apl8ID8D<9KjD6h-uH#?Lb@ zf1k?yni_(WYK;WUCg^j#YZpbKu~Q=D0`=p#Cn&D+75Xy$aarD%W-RF`^0RrqFvQQM zgqpnu^zuR16)g8cD7T%SkGdw=2U62ENoKvEuwFQtwm>1+1LaD-$K=8u8zHUz?~!^4 z)&-VcEKV;9_H(pHJ~sB)Pw}{Z|D4L!e|kKHh+jDsh)3?w%X9k!8>e!=AI(}e`iG<` zRJf}j@D=V@F;dNzLQqdzE>wzs!k%X=6+YF9TUilsgtf?iG9XIm(IGj7)=IGK9Tgs-!T!?Y_U|1nZrsEQCjnTZ zO+ppHyLQM|D*_JD3w?hGa49~if3XSA2-4PlWQg`xs=J@F9dI<$_W7u9)*4y&a?h)a z7EX_#Z-tDW=%!v0;X9(Q^OO^hTrNuTHX;hnLMTs=NW)S#V@6Sb3MJ^VJ2C(t6Zd1V zhbyFP{HkP+0i5wyn!6+BiLt$fjCo`7)SOIME@t8fBwKq7!~P0*v_-ckf2BVAOD(6z zI={NKfR^na<2+4kq|irQ)Wy9>hc*y;Mmb5(T0mQfdjg9=?63UpT#Ch*Pcx)SCB*0L zSl1Rw!LL`p8Erm<0k1IFu`V9j?uD5#=4Ij)DX*lV{X+@NPP7?;aqeyL9ztzKV8(iC zJ@6eoy9YDopOPn0&yLq5e~%?Tb(^dT?OsuC@lGJyy(-|_CVO2-HDM)e^LmBVvR50> zG%+x7%4J>>m^k3|${3&XH!${+iYO0wWdV3wul->9+8L3Kn-c|c+%+-oyY4TPpID(A z%knau>u=C)b5MbKvWCr*9)h)92Q4xL!*JHX*jmyg))BmGmpvkmf6o}mKXk_LjtQfP zYtQDv5zs}sE}(vES^?W1lXIZ8hL+Sks{J0$v021^D<*_V&{I`X7>{OsARlKYhW0rc zf3DGfC=8E5)36L<(BLZ3LCPpS#Bs1Q#?A<#j;~V|CpFGSU4_#PG`SUN0k+Q|xF0o& zAQUJ7iQ!pzHv4fmf9lgr^x9;zigWx2Kr>L1Yt|O^OphRqazwS=9>~+*0}gieKG0)* zR5NsS5`Fp}jJ^%J=v*W?7x6x+N&sWM5&>Eb&vF^eI_QT2$(Z$n=e;mbtp4H6yGgS1n zS}Pp~>4Bf$g|?w){gp13D}Mpn8&zf}6qJc1S7lXy2%A@xF!C+3({BhhqHh{THa041 z#KR)=E>I&*OVYdg8u7XX^sco=ykI)LTTmmenM&`L)`;yaZ*Pq_V+r0ZC#eXxIi)_S z4sm_*3(Sg`mAl!WHWx)Y0!K#{2abuPt%Z@rAtzGkuXD~JOi$M$mVX27cU;=Pbpf;6 zxX;(C-*h}k+9Kyc(ueSK6Pf6SWFQx_5ZA_T{%(FI{%kT3g-yL8o2 zk;1$`&f|^$)6L7v{KdDFc{zU<&zH%0?`sa>y4{Wl>TA<2-Qv!q-S6s7=){_R<|m zJpW>p*qaQmvw!`lNQ+R8HpXxlsA;+x%RCCWH$jUDqls`aEAiJ@qMENw#%xYqLiJql zA2%8)&h0=41$(<8*msW;D%^5QN*c#`S-AmLuKllZf+r8HccK3XlHUTif7$$Qy)kf9_O87BP-SG=M&aD27jy14fA#O9AwYe^5+Kjd>wyo zW6#&{=M;Osnm%`cgn1*}O(faDydU=04|V;P5ht(+`-WhA6x4j=)4YACs~-niWGn^g zOK2H(o{8Gr7N+YRo{sN7eR8PlFQy**BWvE9Oi*fdx0WOrVbkx*zh6SSGqG+}hO(B( zzQsQ|CV%2w1ho`Bz83L&Bz4izkvlvso+OEtV1yH+szpxGShUpNIP-a~HufC`tL?N@ zidvCOOLf4vZLDk|Luc3Ty?lmrs;Nl3s`~hIjd~g>oMmk09W55Z){HQ-uvYeZ!Lk2? zdwlhj2K;rfr9>sE3y+T6sdT{q*dFYGwe-9m^nZZj@!7x2@6mKmV|+b7r;xYY zi;jVNc?EtY)=lH`()WsV!?)(($43hH#O|2JeHpQm$Pm3Gx0k$U8ef}^k8r<5<*uDJ z;`!IKyzWPY{#+VK2bM;h`Xz8(5^>-@pnqG!PJcSk6|sbO;o2D~^es6st=M)F@{5pH z>WZXgOzCrZrajZ#*n&1z1@izTQhEvJxOOP0`m->0SvfO9Fssc%WrU8(5gWEIE>_AA&c9!mEcrhhk+ zRxH1pmhVFhD~FX2oMZP=_TI&1z-l)$d6|ONv#eHGEnlntVYSNUYc&KDO3zhm?X9@p zFiY=VsM9StUTR=)Ofa<)=fM7&Rt89Uxs%BNq-Ia*rcXi5)n@;Ns%eTnmG@`>?&Ptv0Z z_H+4?_6+7zZlQYl8qapqsIyK-O+A%0DCQAL^W{s!wu~b~F}eAH9xXcJ2h>VdCGAjt zCVJu#(>=6>Z)c*ZBVI4_lm8AwEQeucQgSiC`s(^!d;$9TS{jGZ*$%xtrhn=3KfpQz z{p%5wnCE1;hgO%ueJSe9pdWT-^lz4wQfo1!)8l6NDaSsKe&KJZwENU_l^`})i4?4r zfbtK>TIj11ZJBzbk2=@=HF`!sS&oChQap3oVVzxQLsO8 z)Ffq5LVVb#I^7M)W7v$PdVkdI>Ml*vi6&Q&m7doCW?w~H1ZiTzuE8O-^wkLP9o^kG zSE8q-7?s~$c11-w-P?qDG=s%na;{!N?T zYz%N2*RXayn`@U;*s5!=RRV7njEzqR-4-b=Wn&;W?SHvNs3gJ_EviBGRcm3j{i2}S zA7jmc-Ig&PA3x{#<$nyWhdo5gny*lvk*`aGGYZ$+bmf`QqyK6b>8Z~%B0Q=~T0bk2 zKMPnEXFAhG@iRdF8c#aO52-xLeLmI@CAU}MB+iO(o7Up}3MYOhtVDR05!aP5ad-dJ zbAp=H`=$XjTX1qwoqPoInaO|m%h`(tftu+KtgRF@eJT0NK?heww;3& z)aoaHzU`D&?&sjwbY7c7&hBBEr?v8L#LDDji~FlRtCjmPNNTCTuOit+Jx4^VDssL) zf7)6cyMO9R7~8+2^N;aLYuq+*Uh;b2CI1lVsJbSSuD&{A#drAA`c;uiVv;7=L!%yE z7eT(`E8wMnLAmGaB1j*6?jFIdfNvS|4L92GpuFyNqj@;z{~_W&OK9opv^UK0qg9ul zK#e){+<2O%MtZ}vX0jC>ZTymo40swaje?xG!hc{Y&i)43FV=~et5Z6Q(v5~9Ot1Wp zm~dyti<~~z)qEYTrA7Nz?r&qDmD_1u6@jrQ;+n$ue%@|nyd*}qYe4=7I6z3H%5c3d z5|gV*Ds^pStt^o>f+#l_LDI3{+DOW|CNdz)gB@@^RNjx2OPD%i{)*bV#{M5~Zvr1x zb$>mM-}m0^nM~fi1k@p#nF%CsCN7hN;6z130s+JzNghZDWMHx=ibDb+fQq}|Qmxjy zRIOEO6_>iAR%@+w-?gr2-BA<~ai>&e{^#7~y*HC!+wb@L`@?7Q-aGf)eLMHuvp9-~ z9b=;7tE|zE;TIymMA5fc<6w_Qp&K*ZV}C@hs^~Ws%v9?-!&g-VD7A}yQ)%KH&Ttx1 zGu83AIO9#6860PkiDSx!G>Y};D!Lwtd(EkhY_Do-hq5XM5iD!HvNx?c>|X6xS467o z)cwgjiY%esO@shFiTvJ~Q|R8VP_E7g=mYn2hOZG;<6qLdU#c0hn^-Ic)4Ab%HGe42 z!C21pH5Ey@9G<^}XP7>X?rSQH+LJ4c9(YbZts>Jfx4E(jITx#Eoj{ZJyx-Z*_B{ zC6k2f%8k&T%OjoY%{JM?uNv+Ck~+1UD{y_e(d1KNem^z}TL$YZm|cQG*nfe3q$|(* z3WR3DKXF?IqCH(r+(v8lP0&s^RxC>_niz3(j=u$3Zhb{kg4F?@8P(B;r+V}=yS{?2 z-*lz2*6*1fqvmF4=fRl~hrZqJV=3Gu+V94k_8ZqEY}`Ul)W$95q)^$~`Vs8^#sR;? ztX}~cAlLVjoclMHf`fkPJAZ||S#^`(7eO5(P{(i&YFd)c@GZPNj1N4aN$4EkRAKiM zb6At;=Nl^q)RrE5KjXj2O~Yk}W;EG-SK0X~8!CjJGvc*1<@y!eP+{4o=x!2g=!Ock z9)UgQ7!YvQ_qj-5VZh^2@pQ@q#fAq=AR;jWLp54$v+`gGd+66GjiK9mpb!W;Z!C=aZq zrH;<{i7igs4gRUHPt?fl27esA*;?9b5cCe-22}E;Gn+}!W$|yeH8J{ecso8((WyNN zJMdGcei@Z5oXmA`tAC$>5(oR3L>sJ3)lXHR-<3(!&+-#6)}NqtL{8F1S$mAbYuSY4@0Vz4QtuI&`&ZipzFTvwx#X0%QVDd8F~(UGvRx0g^a?O)k-_L>IZP)ekNTIyHe6`(vz$u^F$ z5HPZUp>HoG+c|6zz}!ay?Bi16gjhbBQmN!D=nrq1siLe^I;Fy#MU&v$H~* zBHE|CK(tTNY@gqm?Xz*jR@pgXs|=7?M^Y{S{{YvLWq+5ZjNE>%DNKJSE$yW3S53!$ zH5pKkJW{4JP{Edy$_r{WY?t3byL>te+U5IF>32Q`J0D=R2>ZNLN^-o}09%i3`eCWG zk>kw;*kcIW2yOSeHD9Ms+1-4VD?2quWoNNcDefbY7CU;1m{&_-UO6iJjiDoPUdff# zyb}E8lYgd&xecK?b6crIn>dr40UBo1VE9OL8}g7Oj;ntr^2#=T?mAdVRj)9YFTRd-}!42WqZafTds|+J%6EW@EgHK7ea^I=tAhGJR4pA)3S-V z{1TL{BX2GrQd#UQAYwKzH&?qspP0?RHD~jXPpo$5vbWi#t_#>(Z>j4{_O_zbbqake zc6vyu>k|I%h4&};yAR%<9C2khr1Iabm)_=lnTJJaNI{*|cIzfO}a{HwB3-hGkW&3_iG%jfzS?g5qh!=+?7|0=80?=K}6@UNOm{jO4S z3jc~#>bI1VA^ufSsb6182KiUCQvYo!`F}0{I=E85w3M95zxJ)ve_2W{;a_!?`q`!A z3H}wT)K4oVPr{cMzDg@&zP%%1>%6sD@DXl{yr_lYOGM{bqEROQ5{fU-V#fjePe#mCj3xAmG z{}xTszwz;O)<8P@QaS&Ox(@Ym6n7%x(4@La8fk_(V|hZ3_gqRTHAt8FJKrua3n?b% zRq4h1hp)0U{9DbbZx#7G{~zab*uTwZ<_P%+-qSu)**&7BVSSyH2ci)^D-=wLeB&-dXvcrWQNxrdK>wjBK*0+lDl|+u5%I*LM)PZg$tN0tPb5)4vi=SX+ z`N`D7kjWp0Z4ODj z2la<%wT`B?491Zltn>d|(4RQm!f+f-F`B6j+E?BB_FRllvmwVZxft)3$$v4=vIbYn zvdd9>l*w>oIj^3|_I_4QPfj`Wb6spp^KCbl>*s3nRW>B`nKenuTe4;H5#D7DPj}EV zd|<6p8>i-ud-EJTRrtw1s+IZ4-qI!Kos~bDD(qLyX^o7aqk-vvZKgA~6?G>D)Hi#G z?LHLK*)dhoe?SC2wU(`l5h{6k7Ki6IhvVp_+VD%KS$1L(|4EMX1K>Z)-+zSn=lT1;Y->qu+VHg>=gj`o zn2fTKaO&)=Z(4%{2tuRMV;d-kf1fT^>ZoW{@7VSh|R=<~9e{fSxa z)j*+q(aWrZ-RIH27HxdQ&&7kBP`}R}PxRlMY2v)^)Ts^{JTvMyz4_;T;ghFx8rM6E z06yAJiXi^Cc;b|hmn>0#qj_8a$?|!>WSST+U$e0g-lI*}gBNvKZmSFB8RgaEYqK7~ zoUyoO8n>mUiZ&?9seg~Y)0!8jPs^Vdgi1K9o5t3b0dn2pcDgB|r|~Dv8JAJ7IowV+ zA#|PvjatyT7PQ8Kc399x3wo3VZ5!F*Dg2%hv{sPQT7{g}@^brIPHuk-Y63LZB=|MK zZwmaT!f!gUd=Z~N&C<*L9O_rD2TY#(ucqb7AB@wP?c{R3Q-2<-2TVUdH&0{hLx}e0 ztv$>q@vL@PvT*L_Y2mC==-huk2T#bxJ~EB_7ags+Yj1&F#Z_P6AkvWjBXTJV=uI%y zTJ_dkPT^m=?<$iY^BC*L=|*gvj{EB6#OJB^(9jQz^0B(HeykojEt0I+lfvG>8=lv) z%?^cNNHfrdwSNYe!}}J(pA=&}I9>3jAYIeL6r>fr!<3D}GLN3l{Kr{3lSX8mZs|x~ zFIgUwFg8l$v5@oS;o6hLv=cREy5%=;L3^Yr!21^aD>%J5FxeEGsKfP0l>+>Bk9e-{3U<#eief5CJr@w8w;IDt- z?hju+J%LiItqa;^!{W_8JDu_DW~(th$A8~+!E=o3_WQxtOn6le{4Eo{Zw~xD6TY7w zwDreF0H2ko!`c?L`k+e3(;e%9<3$fhMtDD1En+Z=f8B{NiH0w*g~xT&Cd>_=YWCpl zNDR_lnt#`un5wBI`WmKTe!VO7WVcLbvQ4uW#`M~Ll--Y#Cq2fZD&0u$ryJdI-RRv{ zmj+qSxn1aE&_gL#LjF0O>4z~Hqt5bLSf6ein+aFUpjL{*2kZ04*6E$&4$(U+s`Yv| zoO0cBdpj%Zp&a98u#?FiP|8~PE}p?`4ezfT@P9+EVhp|)hfmbecenl}h8htTLOrl1 z4xh46Vi@{%i*6`CoYzaOgVZ$WrwMw#9p4E$LM=PK9&XPnaX6PNQH((-i^EUcHT9^A zHHi6^&cK~BC}Wthq8j3-rWkm~wLLuc8#mQcm%nlAUxvr7^wm3JBRoHPH-G>2OENq?Nu>$2acUNe(EN{vf`i zd|wH@?HV^Mzawq=iSwk$=aSv#!|EEEA*^rVH?3{MuEQHf`4!aQa@WMjnk>Wg&A{8X zf$;j&BuYPi<90X3NG2=#W5wa7ztHfN(|;MIRRFz(u#+LImCIQgr|l0d+A-x?D*Xc^ z1`rr*0m6XJ#1p{v(`BxEEH%|DW2kjrrq%33i#6@~_cV@L-sYn=U(T8`z@<3`)GMZ= z21ZgDZHtAnFw5I7m!YSx9dte4j(LvP@m544`o>IRu>Eou%$l!>srT|UlzB1E|9{^7 z^`x^8p4B+JTCok0;&58}NkA))75YiASKj3@ddI`c24m65?qQsy6CkKZdPgf-ZmDbh zD4Pl2-WsMd*~hdGIqBK|JC?`A|1J-yOuFx9^2j2M%=6fVG<8lMLT(!SW$cUzG|9d4GNO`#6`@5aWHA>4jI*nScHgrO}oX>3#-XFQ7i-eJt&nt&9eH57!+xmex(@ z{R&!IH!bZ3Prb_^8tj{>`}Pc;1pqROXwci8M7kS&5A!~Um~PS^UeI%ZP>|S*ndeKp&a|AdS4xJr<3x5L@TaW8cDrxJgIkKy?<)OyZYG! z2kQfgi&I_+XI)hu{FfA-bp0`F^kXYeHZH`q#@9fwjn+Xr?u!OpFJdcQiS2O(w!$+o z3!laIf-jf;42#)FW9pmgeR~u1YdyOk(hr}X^3vJv68XCFd;4hG+kaY#{)Cz02iU{V z0#5xQF(;QE!S7cV;tqoCYV@!%h@4X#gAPmg%8_)aLidV}!AyAG6qQQI^tU%l`ZgB# z(%r;;C2Q$z-RHqsg_1Vfs9Ixt7E?-yloWll(EYsS2&Ox1%z~Z6__@^U$Ox&!dWSY} zj%)8#^sQP+?Iirl;D6Ug+SuAjA7+!}eaQO^$Q#pmD{B}D*u7v}IM}#wkWPRg6vxGQ zqCXWd$L3}zTZ)g(dfy&&wCqJk%lzx@Y&Yrt2P5GPGpF~=k?^7=6V=l)fq%46JzF{s+75*C1GI$9 zPQyU000g0U_D#ESUB1VYB%cd^xWeAK6qVQJ=#L*$Aaum>#y3}ge5s{B4$oo=+dhI$ z`IB6yT*#1}(<08J)b=)QsR*aX-NJrN3zKw_bWIeVd{2{%Mp&bp>h%7G z``XnSym#m&c7NHDhg-Ov&~{j<9XHaIx(V7A?TWkTUUCiHKln{9?D2kalPj0Wufq)a zSG!CY4_fe=zi44+RZPP%qAb^;Hdz2jLw&g&Wx48Q7r!GxOUHkwu%x^h+W#9KUdY2U z>Xvqi@+y|LmlOTfjJgxPXV<`9B)VP_c(qXNO(lf4rx#Q8QmW_+phb4IPX!pxz{`pLNGAM7`+@X(7k)pG^x*32=<`_p z040lvet+Pl*@C5U;#inZhEX5&$SN`eMf-$dc$$_ z2WW?vd4Cnsvh5E~pRfGpe^84MH_`OqT`dQ=dm+1%_%msS4$r6`wIdf+b7$0V;SJj% zL}ot?JE3<5l=@2wOL`N;cp7QKj}hC4qgp~A27e6?Ouza8zdPwZ7uJkxrw`EhXTm!% zRzPjstFS)j({_UTIM&emobNQAX7!oxr4-5o8Ff3)=j|-ZXH#B2_tSjz=Q8To95cvE z^m!iUpBd(T8TE@i%n$M~|HLq_vvL=hyUG20t3A%n{#<*+$f_)dd1B<0EcTf}^s^XW z0)NMD^^p_EGCp<->|@t$jom{>8oP94WYn$gIJ=YR!}}(rq)(et4|yd$A40y@O!x4% z#NKt$k$Bbg%W2=doUM1m=ytQwjkM0L_OYKz~Yjo$rM@hpAm(ICr^WKX;b_Jyr$ zHymdOas2vgtEBz=iixi<8GzH36oJ;5-6xS%(g6VV2Ukhg^ad$Kz8R=&UoaVDb$^Gx zE+{Ktb%$OHVwzZAsX*Tvl?nFs3XbCm^8J;rUjQVn6u;=-ki2Knefyq z&0fWYEqD>}t7R&*psN2&DMERr*ld;p`BYwt^I6uT77$)SZ&Gzrd#zZ?E67HtOOod3 zkJ(!^89ag{15-$}h_ymdPJ0hZj(@(~GHAPPiAbrI&$Lf@w2Vy zgSa$r$9P@;5O3B)&=%!=#ncKfeqTdk#E}(uN$<^KG6G3gm|&@>6qAG&%25iyC3ZMy zCFZ+jb35~m6YpWtusBvn^|_n@#;f~C62914xvvI(PlS2x39#dk2c$4+1Ai@WAKN|w z?dsCMi|OAb^zRVIy^-kKGvO69{z~}UuMV`k zxHZ{KVpaPDY4<7mb5hKxKhhoD=mCnrc{`;Dm@QDW&$624a02}8>^?}>O6K>}=m8tA zYhEjty{0@F-pYAylRfqKyF)2qz((d7IVN$i=2k{m8`ZGKaKB^tZq(p-UNnW>Iqt}sutb`|^li+a6!o#%%I=Xf>N)L5 zzelB=KJKeWM*n3I5`Q%9#Xh&2c05S8bXZsjldeZ5koFgaalxUA}8m~Xs-Dc)Ajk4hwJn8X}WcHJ+4j293P=GJGr;=GaEuO;hWl-r|w(vL_+lM z#8^43jh(Zt{xfP?U``bD^#Ya~G})SKJo;c_p;zK+jt<2oCPG3f|8gWL_!29q%ME$z(94YWAg z|B|4^CDu~o=?ua*YWww57WQ#=_N2r0+4A9fZG_>`&^Hm9lwQx8F<)Zx$tcTpdK=So zHu{gyYds1H0wws0#~5hQjpZ}+*@M&d*()H;p=rAN^nW4udc4DM>t9&$uQTJf*yArd zVtD-1?D54O_z1+W!1)}RrlYk7Bf?sN+Leu9E8Nyju8O_TFWH&WSlwQ<|7v`l^&{j($3k}i=S5v930~vy3KzMYP+y0J5x`Na6jMN&dVK{3Hf?pq?G_2R1Gw9rGzj;ZP9UerSHKb z^iFu%_nJlR+-9SCce|8lGrGTB=uX}UqxVuMTP0t^T;vo8n@iWQ6*+5I7p!6Mlg@$_ zXj#r0hS0MuXw-t9VL@vw=$RI@(SokEplufPbPJl^{cV3b{QlzQeyd9Oy?Pm62jhGl ztmEro178PSu=X7RznSox1-~}<8SrENt=O7=7PJNWPS9p(2Wc^FPt6^5Z1RMhdynf+ z%r^}8V#iXQL6$@)#Ix9OJcm>UD8#$iaU6&2bWw8>>DMivftyUdL&SNW z@uVrn|e$Z1IzbbJM&kmP16q4 zD$vqzlzi&}TGj=thT%Jz&1IhBW;UVz@>LQ2};jwliAxqT0V)sp(V|FIbFBLW7ZsN-`d97w>e|YZHTcp2xIL8KGxpx+v$J5A!yIj^`L)E zA1P?$?gwY+OkN3pV+=4fzb9aNa#C0&A=O zzRljYS@tt>_LF8q=xISbb=y%wHqd|6$;t_j&b8}tQTy43DGQU>U|4pius&S|vzsRL z@6OWs%>fZoJ00p;DD4AAHJ5u~rCn}tJuOv}Xgd(v4l0v1a&iw;sH;^|L*ZWYd5M{J4reA+Uo?4v<>`5@c)U>;r>4nI^6#!LfymseQvt2ApHK4>{)Lf!SzE%jf7=3)I<}EXzuj zj9NYVx25tmK9roPpd7w!)Y1of+|)lQmCv<>ybmEaK!|C@O4461l}~@MVZ4Z(bigQ( z(SmvnVmw|dFSlVllub(?SLqMrLhlCXM^*am*Z|CyfP?cAQI{F*TOVp`o5tDsZNv73 zsT`h3d~P6(BH&#n{EHm;3KRY%g|ji{Bfpr<{EG~b{d4H&J7A2#Pg(*L?Y=qmGeR>K zG-^SYTF@E`+HXM{E$Dyo7L<;$0ix&Re>>z4KWQ=GRpjK4&|@rU)Pf#sL2E4N(H6AP zg7#U^wx6ZcH^A>k_+0_N^Wk@@829`0aUbL3ek>pNWqjO+$aGHQ8}zAC9zX&7KbAgS zWCfoeK9~=uN$}?k{BsumS%-hl!9VBWpY!q0FY(Vs_~&BggB^eS@M`G4^Kkr6)h1}; zv=U8;l5yUUq&WK%#~-CCi-{a#kWX9`;#f=+4%x{d&c(#RAzzkJh-)!%a>y|e3UMzc zE)H1|(b_0XUQFB^RuR?G0_NecJAuv%NJvGloYem^ta6(nWn#IwxFTLc`X`h zoYzi6{bjbGp`=(wJ(1H;@B8g*^&_)KUaKRqH2&;*c0ztTma~FKEvR$YT8&W0u(cYY z(*I9uwUb+oe`4dNiIo`M z?-#ltb#nx78+s&om^X>`>fzm}iN`XD6^EBlyB829L2pUWTLgM55#w`(@r93^!~CfZ z5R$Vd?+0TUe$r7emUkUujpYII;vsgteE|=C(hPsVd;Spnm`CVz3mUbclPze?h~xML zF@_7t-hAxpeC*cRc*Td=$FEKAV9^{)@8AO{;}NlddCuvZlgIapS^7Fl=j8hNni=a< zXU2?hJ3QOr*$U5Ac(%Z^1)j6uIV%=0?N+Xt!)+x_YUh2}9<%h7OX0gEhWs*PQd>;$ z5YvB9x~O!J*Jzv>L+i9M9ZRjT{&r7C!~v%QNW*BvbeLXqdGrJSvhW^UulWPN{-Jfw zxpa=OJHpZ;)Nfuju>*t8`6Q)Z&IOe2xn;CCbPI?NJ;{Ky>mhbDYh4t%Q#Z_R;!Yr@-d;JZwCd(19d6*!9NSsDog%3nF`-lsfbaqEqk zb?&-WE$CbeT4O;wENG(zoozw?pYHR5#}S#!bP5HJBOU83 zUIa7!tLaR8?&>MbW^PZ+P}2b4L@j?Vb*c+v0n;z{0lcl;v(S=0v02rp=kf2u61S>P zPV-g5e#))mlPlmWDy_}&+`Yj++;jJtIXkI)M9R`QlhkuJ%mL!1_p%0*Q{!?+ z9%(Nk%OT=XM!~uLR~>4NzaY7%K~O8qQ^35F7f|2NlStILF2|a4Yq_w_JScyC+*U%h z5QH`7rKT-(Cf&4%uEuVPb3DhX%(3o#FNIx8hTBkoj#_&5pw@W!MJ!DLE0tEL`3I$q zm~&CG$VJl5d6C+bkICy4^~CCn93)*dJCb&$VmO+Lh|e|I>2y^&&qYZG>7nLPRI5N` zF`VgG+BI=pCj8U%UaAcYu?v5zV^K%FmxW^;uAAb7I(VEV#N*nFcs!$s$2*#Me0z`~ z-|KT7Jf(#(4^SnU@Iu5^lWGxRKF}eCjCvSr4p(Kg{`2l!BQM6u7$cYra?7h>X9r48 z2OYeHoubb&iAy?WN&dq6LYTXy`fWHO3MsGuSKUrpt3PB1)RifK73zP#(@F=W$9Zjk zlf_!;muRK*d68BcBPV8w#OU35=$8)dPb0sL%k|@0um#4-Q(c>`Q|wB`?S4`!E|gO@yy&aeSWFtS}5sW?hs31HKstl`lKE6$JI2s z;n_8=w&@7KK}pLXRq0E&aO1?3p3>!`kX{<@IzTJxLMz&3yPf4|$gk2wS-<|kAl z3p<#dnvDAE4l0WcbiR}7dlgEVh6_829e!E=7vs|i|43dNkLIL~k#*fq>tM7Otd<=S z;mzz0iMB*HXJ|WhCvTx^$7g*noQKJa*>{;o<8bd>eI!vQC&ly-amRkxJWku@^)|ER)UV#$ z!F+9rJlf|mzP-rfWvY$7k5t5SvGVY8TLKc9JCBXU5!x;MJlB7J+r5txwAGFJbtOSF zjr53Vtp9(n(pWY;4f($<$4Mim@t>7L%3oyz60PREt8`OeE? zmY?j`<}rE|@5wYW&~W5D*+A$TNBFW>t()lx&-EIMeiJj&SHz6&%VS2*l`&}rOGW4i zv$%Sv@WY!MV|MRlG4#XB@+GF;|AC#kHaBmAy04E}b^%)Q!v6^2x7yC=$J)XrGCO=* zY`%Ybo9%qRywiTZpD*1;&q3_pnof2OOOxNnf;N7^87BPt9QZk%>|Sty96!(6;~0Chm2eLZ2OQ0jI`>)4e7(D zM1DRG5id5MtywHyw-s+U^_VhW)T8%5uE&D;q8>-@wjP3idD8scbIo0`&XT)fZ9H%h z)n8ZdfcNo>*xBZGc(3E{cgC!J{c>KX*?`S>40pordPB3E=fl_ZDK%gC_qaV)8}@(j zc*FgB+-Xa<{y#|fff3TR+fFIqI*8BAXF8HtXD>nRA0JTu1L`UBTtESLTyk%0qsy7? zxb&V_`K*uqsBr=mtP3?xY<}xpNmqqUcM|nY!ngxD${gQ84^3F)0GzhV?ulKZxZF|q zB5yNnT&R=6^g-Ts_cyGbx2~tfO%#9qjm`@$`vVsUnXt6CKYa2$)n*UAd4agczBg86(}kO{fXg9BM%xCUjV3N) zo;L4^-P6=eWQE-vX2K`TTS#x}oWzjsj_ErLau@U$`j-?T|IE^m&#bh2^3s1kbT?_A zxZAW(+-=%t=B0huZqhz!w`rfW+q8e1mv+N$(q6OMwATzvTdd1}SzxzQtikO1N32tO zGiJ9_{Ne&(%l%Cl>x~n`bhf<}V|To4zk6c=v-7M4=U4v&=41)Im!U}P}0!sE1lxz~<8H<0ej2Sg=Q9gOZ(7zIU=ywaazoPJ4fL#u|#y?_6pU<9k z8GNI4fs#X+wTeQDBW(R9;oAgH7CRRl}jB(wR2gIurM^s^QR5=@c7ot%4f(0jF(F8LJ@y6D*pyr?v42}p{ER)g%9|x@GBsEOJ4XgTlkd_{#jnQ%a;B% z5Z<^TH++RH{?!n^cV76AE&O*7p2!Oyw1xi`!hLz+%WdITLHG`{d=`B@qbvVR&DQ-{ zU5xg{l!U&voth8Y#%0&Aamm{LXn^g0gj2{fjO^d#{JGp1c6Z)iLoX`6GN?M86it?e;`})s=s~VgD}c z67=seabY73zpsDlVsjpD_45}H>hby4-2N!qrntqcP3ljaw?I|& zZ!jhOOR+ZG-Nnwonvm{+wPql3`2tnWrK$hi#dIgoM|LT>Y*>D!2BF~Ijj&{En77&+dF7M+QQ|bK^}kl0@|D&78>E9e=Q~D1!jt^ z9J&Fu>1d9(!@lrGi%<4p7o*uUL4m46@lJJRTq7OosSvmXJQ?s6>fMK;6Z>t z4DfYv1E9;)cYByr2jC{oj_cd<@7*@&c8LSW2oiq>A-Rw2&RVQ>&hJj;p7YnnJLR+E zoyxj+r{mmsr}Lb+rE_tHS=V)Op=*jX@7Vy~hxtHTbZ)#}Dj{woN*;i-_S(3SK09u7 zuZs`4CUwEAp*o$@x*VwW0k|2psS9a#eT&HB1~ZSd9!aeH)DRJL;oITtxM|mHr_Aj;|2@Ul zKD^_94Ct9#VBLGjTPj`V>kr@ErNY{GYus*c{Ed|GL&{H>Qor$TSB+}-iMT11Ym@LU z=&w7Vzixy6x;@Th6)~-B%CepJZkOf57R!GXTqt~T+!@ceM|Ni%p_V-|7hfOuUdZT2 z!?+DXKkS+UZ@0&jjxzepsK0M^&>QVN(5oKGcpx--WNUjXd)^1tH8rPxfsS#@kZkD??KA^5Bq0QMwB$B|;iN!Y%oIwB$lm%7-HT28w0P$iuBw7sf ztK>T0kd*EzA)!%IDh6fhiM<5-6=IJP-=R@sW$_N_0O2_(FXka}NrdpcazeM8p@Y&I z`W%v<>@Fsi#hNQpUw7#Y(yVH(RnmV)C|_LQA)|>w{uuW_dFzY!hY}VP3`tvhi}_vE zXy`2n1*}Z?{jNKR9iP45756|bn@1_GLFMZ%Rw|5HLbccLkT$wplKyyZJk(ns+jj@? z6(@^d$?DsAI~JA|Vmq$wE+qb9jNy@r36295#_CxJbwm!=+;unZmu>bq+^m08A9kHe zHoD!C{vGSPmAvo9WIct@cQnOQFs?J{ET%V9uR*@`#b{~klo50KB|^2N_F&fP%ZbJJ zWVIqzi`!`}lEpf)e-BD`HW$;>ST2RMcB8FUGF$9++G3)WGKun(TIes*Tvl#4X6jrg zW$it+O8O9=#l_g#!Qzr+u!eu+_TGN~w)c`naT57b}6QyPno4bG5t(5RvvH-$< zLH!`WnxUZ1@&{cm`h}WL%c(7am)&TkJSZF8cgE3P8$Qwg`*LbW2__J zyc4U=GX1hfDpJ3<#Dg44_2P*UVHn6+C=WhHZ4a??+hcyT(JuD!t&7;+C-(9CU?2Y* zQ2g7v@ci-+-_@@%clCQIBrR>O5|Fz&WUC3;z#*TTkbB}{&S2Z`Sj6s9H3fHi2ej&Y z-eO55#c~hnPZWPHROQZwzd#y~dHcf$rW#0R!-Mh8ra!~)fwmdCJEPdhkvl7xkolx{jpGk~M84}(+qCFQW z<)F6BE4oI}K8(PLswOgS*o}E(h5g3dnR8>lOxfLyIo^L^5i@oD@1i`-P#%MpXH-G$ zr~)`i-y2WM_r?bj%ezL&SPt}GZrJu5^GvB5MgE>_lxuG zacObBeJF0%-yBG@b5~f!(}R@^X5-*hQZi{>so({};}Vj%|OaZCq_0%`e4 zWFIByD3te6D*3s;jIKpdYFib@-Ysb+n-abR>fi)w^O7f zQ%go(^B~mU&5C>Zo(f2_)iReXVjG=+v1)U z!yaBi{O)=$tYXf4=xTLTo{Y*IQt86;0s5FheY&q6i3T>?f(YHaGTP?p%JG+@p z50PerNK>k9^^mB{pp8Ivl*+Dx+DHM+onS%jIBKb^3q7{z-;~NbeJmuvL%w7oo9TZX zbHdvPg5HYtusgSmdMW2yxoOWvs83%kHNNRTi1JP8Vf(!%FH`^4L)S6bsf(Sco%Zg6 zFkSHid@nc(a34h6xaQXO(mbWEYkaj!pe>bq<3T0u+FZrH?vCp_)2^-jYeQWBI_>(L zf87(;w?@f*Q0t!-JWPyxafc{c=%RmCLSJ^*EAM1c!p%?b=U{zMSHQd9g=IRE2j!a_D)UytVcYm`(_UJoHU8;XA_EN1;r*})`XK`g zXOXn$zIbVXwZUz~7f1$rnam;Na?QDZKZY?Y zX631e1AbQ|qa9GQYZ{3LV7-4TV(V2A390XS@zhyF{6)B1`G{W?-ywBhBHkklWtE*( zSqM9;vRG^A6IZoeq%shx)bA``^_X9C)D7O5Z4Sr|ECoHKK`*~A`2#Hhk7J|5A?aUg zf#!fKpp`Wjxr%Vl`>exOkPd;0%l*pl4SKZW+}P z%J?Fd@qpT0&te&!UYawM^wD}Zocsc8WZy<&WDk~BB9ywugJ~CKeSEAx**k$;!2DS_ z(f`k{x;^wXRz%kZ>I(=)&4DlracyXVXHdZvfnixI!WpP5tFV9Ba0U&lq89YL@IFxq zQww?>R1)B2w}5M7$2SFN$YQ=exf3`F_r$g0d8CNkR5}S)mURewv{YduljX3dnZx+* zLXiVa2ggYgW892u4~_c=fm@$j>fZ=>dF^9VE2f^FRUh+X%dgWR=Gnqta8Vz#52!ho zsUJ}-vU>NPBD*sDRVD}DWm_qvW!mZ=|Nn1pU#tzQ9|fGAv^pw`LsEG7Cm@>9z7TwMi1T}N38#j9%OgjtNWNw z!=z^l0AlM=@^~ir3@9E&S<}+#|#YYYx(p}AP zE)Ulsb%!ONLc_|G$9x!9!Ck0j45?+iNWnDYT;_5-z~_yQjbPW>BkrhKnY_))WS zY=h=q!N+}E?uz^E61w!*-e2?yKE^;|SvPBAaX$a4Px#G+9Z(G{6!N(k&vCTrp8)0p zOI6%+`Hz3*{!VDW)ktiAS0#qScqC(v=4A?dx@w4J0|3MJJ(}yT!-=69b*=zM&cm5( z#;+I_fA+BW6~p{w9e=do7d!}5!9l5TUc0Oi=_iits&V+a|4bHk-qAwmW$#oYKiRb5 z`4Q%;BITxYyP3}NVd*^nAEYDB##?wgnFcKtsmXs0`_T+5Hp9Gp{Ej|m0=bd-icoMx zWBwZsAd%B*CJjF={yJhmExK|}i`%8$ofexV58yddqi7q_Gb^l1i)cW#pP_!K?OoB8doW*7g@YnJe)dZ9P;i*Xg~T?cO$Snb<=43h_moK~&@ zok4%<)Bvn=9`qjvXU00%BU%)h*+BgU`>wYVcMWSCUVDr<`_jEHXRHgHJBHy@*yaP9 zbALUCjU^L@JtZ8!)>vY=FYXrC8h2jqYvjFS_+7ISC4cd1PU@Lx{E+L{T}%$Oh&brl z^EKcd&Hd(4&bKdeP2__bwJBc&5F^)=%U}96PvoY$%L_>}@p*8S#hSMe*|X8(k@RnI?bKZEzqvQLr?}r3 z^4!boC+1jkv6y3fnR86+g)<=RWNvE%cf#6bDDxXmKjcly$Se3&x0_mA*Vx_!V|9NS z{r15(8@tP>6xcj71q)|Cl5bI;X>By|n`AfTy`G2u5Nww9cM!|6{_#ECBUsaq$`5;a zZVK+zZ3>Rp6*9KoJqV?~KQiH07#CFCV1vC(VeZlT1)1lrC6*ti}^nJ!m*4eH>m9BDneg39+(w=m=%R= zRuqy@fX#|+aC#V&&O=KS0r4FQJV@+eL0cHk3e;-DS@AZh^t;bNn$b)A{-pm9!r#3} z>%r31L%KW~~XkA$UU{)4HiqR9mXwvL2ka2&#ftAkD?1#fP zACE7hZTrNgt|>lhr+=$Qa}xb;BISBNw5vbpAC$IsX=qjb2TNX{`#2#-@IYMn^~QZ- z@o`MwzTV*=ZX@VOI-Q&bP*CTP%bXuy;=#%o~(j6Rk6YoQ#`jI%j(@Q)8 z>2|_bTQ#Ju)}v&Pd`F}MzJid_5!A~%^C^n)|8*QYKXsNvj4+FVzHshTJK)RG>u@f~ zwcGG$JYbHaq9uQ&#wbgpz!CXr0FOMa=6UurnHZlc?~b0B2= z5_YeZQK!+n%_w;k=0zga0PD%YDXO8Oj!!YKEnX`0G>WF<1#WpB*My*Rx8+M8M)L80Yi(w|^Qo_TaR<}|6`Wl575~C4Y=#Z2_`4T^L z$qGs{X2KJI4#zN!?&t{Bzq86RxP;jpN1NOI>T$i2Ew3V4FN3z$(%#6wFE2oo4lI+* zy>17gl!t%H0#Yx(lC{&|6JvHgbeYoL7Yw7ltz67?X^F7I@o2o3<`R|IU1EeV-BP9v zaq|*37dxdV;vMpn@lNIOxL6OoJgvKzaR1K5nxl4=LW-26$48Ko!V|bL^hCU-7gB4| zza3Do@4?f4+t8B&_L)Z7Ry-N6o3%M>tau#OrQd(!Szf}Y2kE{D_e}alQbHMeH;g#E zBifOLxX;<-7?*IpGEod_R;AJf@)O?vhK7_}9h6Z{5^1)3j^}cCj>s&_g5wG*6}VBs+tNSK zQBfv;;YS~iU-&1YFFI{t*2z6nA}ub-5daLvuw=hcj4sKhg|zU+u3e zD1G8SBdG8mc3>VjmofdZ%*T-5-BhN0;m3cJk6GU0Rb1GI7fCXiD1DqAXg#^dqv-F` zetk7Rm5olBmej~eX`<{T18pKT{Sl!ra!`ipPem2hwhF-;z)bkf-gc676`}VadY=ZZ z3{8ry+(ak^wIisAvGa?J*h`+`@^DY06ncu#QG`%y-?`YteVXGw1-R2G?$dFETDX5# zn7Gey+@}F|7R7xgj!+BtS`+tKj{6MY9z}7VjU&{;U2oz($8nzp+%AgyTpXbm?(HV- z^Bng%!0n~D&&LsJ;ofWFzQA#x2izqT_k}n@E&kVEGIm{>PVGf1G5k_o_~yWWZ)Diq zY74&?lGIW2QXF}jR$Y{(!) z{5Suin^_Rq0rX%1_dhx0ybR{C-qS|;lUuVP=fFJlUEfAyYb50SZh`fUzU+U$H@}n4 zSF&1({*qWTj#$cdjASf}ljg+A!n~qES!67OL{E@E&@vEuPTlu#OtXn%ZO>|&{<%nV z@lq!5fu27|+qj%sAU~egA}<96)`udQ*{a7jJ9DYHyRPp+FPgQdLXWzFF3lmGRwp69 zZCuYDP@e(yShRDY)Yf@{b{>C2kj`6&r`oOP%l0Cfc&KbtxEofCOv93%LC-}l$&*Q( z(9^@DL*L@kPcHpsAq%l-spY@*{FIc#AN_2pu$k}^^{0*=BVnJW{tD5nB)%j4AkNFK zev8-o%M?2=3tCO>XZ8TJXh?df1>2&8^1(s``vQBvR9fz zvCQjx_&oZi|DZ|eYhC0y-j?S@DeH_*eKPbj8Fx{B%r!xC9Ziys0wQQm%ta+kyIMfb zqY!-uEYKT%<#$=>5Ced#%>^o76hcyX zsuk*i&~sAEE95s>TN{56eJgJRBJ2ZWzN@V=g)hnLzf=3!*bGT?d$Dyi1;;h!IHdz~ zl*}B@O)c$omd?Mx)^dYPs)9s+vQf!!SBgg0>hwQ>p+XV2w9v*)S#&7#r&JA+tPl@xu z3;p6eP}q$W)Ze)*J+-;sFL>pDhx5ciz4`W_-|A=d3=6NL;YnCc*>?^7evM=yj`k(C zfs^wU-s@-dwLKo?Cwy6ylh;7_8(KpOYpCrFH%SfXyIPd}OSA0z(6Ya5)9KhD${v0> zetvZ(oa|LefLMQJ*wruYI9`Ud>mlucsSi{zAnsLOfxYE-DU_glEpF-P1qYZu50gnN zB}zd^YB>ybkOmUJPpQ;e;H&XcB98!nB`$1e!5LInON5I3gVSP;t}slHQNM?k=X!&rzF58=VRNwWpi7C+J@ly7ZrbwlT|i!>Ge- zyyi;=xKEAnD{(p|;Mt$JE>*)dM$o3iI$uco+=I56n7)UId!rfmRUY@%5#w&N#TEPJ z{R6rCrjLL3_agw`58G^1&5#GEE*B|vT;{87re1};1wc(--FpnR6tpwDEPNHbXVi6g zUqFBYmg=g3Hbbk84Sz^2o6BgkjCuivI}kQFSAWNv7bVM>uak^=VYkF(fkNcwx}ew_ zIizj^rt)hWq_jc*0`;*h2wA9q3@gYcH@9DtSjK;NmZ&|n!KW2x!q>qX93X|T(_V`_ z0;OL0S9Y2DDCJ4z%lE$Qv1ECV@9Ckky!#VNmX}JeI>mR$d6i;??aA*pN0$4w?EG9g z%46z}OJpvTcRszZyCv02?fH!RS{J z-@SkQ;}Y2ldjM-ZOdfI|{3z^4nykMTxA6$7ZF0q@L%o*LyH1o!tA!cEZC=BQj}mF9 z-8P!m`x9y(SN{&B%$U~QM^*Y4D2Zm_+{SP=q10L}vrwWw$~1M}L^(8;ej80+e+i|{ z7^IY1eAk~usWb*Tp5Z){&%;Ss+!7}HZR3B_Jn*wRSQ1@zZh-n;jb}`S@yhF9q#dmE z;_05s=(P*^b!BT+PzfnaM$dv$89jx`=vh!Iqo*(#Jqt=@^b{teXF;iqp2B4GEGU)H zQ<#jN1*I~23X{>Zpj1XrVKRCal*;JIoUgASUtbY?{bIZu2Z~YAFEjc2GTx@+ctU^6 z*65vAz{BNN_%OvX`3hg9990-!U&c9-xURcNu2fd?IdYnfuYVH!)=JiV`D7WtPlM6@ zIgH`e-ADuDdNrWlm}1(ZH&I^Tfchrqw(Q8} `yPr`H?RG{L%COSBlsk{^`ahUQ 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 GZg&&~?=RR?^+ZkrGfcdIa3wdcjrqgXZ)$Dvb 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�CQ91(x9bz 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%0A&YtR-(T`Oy}5s8^f;*3S6w#iezaBxa$sF~ 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%0D_ZdpaCR1ob9k)Rv&Eg=7a&dx{K_R%fp0_+E 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 Ab(}o#|Jc)wn93YgwLnlqOb47 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

ZU)Xm4P;Vxs+4lkiZpWPhQ|3y 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 z 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

xI;2QM)oipz!`Q8U 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

w-tf^(maiGPV40$YxS043D> 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�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]!0 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 internalControlsQueue = new HashMap<>(); - - @Override - @Path("device/{deviceId}/bulb") - @POST - public Response switchBulb(@PathParam("deviceId") String deviceId, @QueryParam("state") String state) { - try { - if (!APIUtil.getDeviceAccessAuthorizationService().isUserAuthorized(new DeviceIdentifier(deviceId, - ArduinoConstants.DEVICE_TYPE), DeviceGroupConstants.Permissions.DEFAULT_OPERATOR_PERMISSIONS)) { - return Response.status(Response.Status.UNAUTHORIZED.getStatusCode()).build(); - } - LinkedList deviceControlList = internalControlsQueue.get(deviceId); - String operation = "BULB:" + state.toUpperCase(); - if (deviceControlList == null) { - deviceControlList = new LinkedList<>(); - deviceControlList.add(operation); - internalControlsQueue.put(deviceId, deviceControlList); - } else { - deviceControlList.add(operation); - } - return Response.status(Response.Status.OK.getStatusCode()).build(); - } catch (DeviceAccessAuthorizationException e) { - log.error(e.getErrorMessage(), e); - return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build(); - } - } - - @Override - @Path("device/{deviceId}/controls") - @GET - public Response readControls(@PathParam("deviceId") String deviceId) { - try { - if (!APIUtil.getDeviceAccessAuthorizationService().isUserAuthorized(new DeviceIdentifier(deviceId, - ArduinoConstants.DEVICE_TYPE), DeviceGroupConstants.Permissions.DEFAULT_OPERATOR_PERMISSIONS)) { - return Response.status(Response.Status.UNAUTHORIZED.getStatusCode()).build(); - } - String result; - LinkedList deviceControlList = internalControlsQueue.get(deviceId); - String owner = PrivilegedCarbonContext.getThreadLocalCarbonContext().getUsername(); - if (deviceControlList == null) { - result = "No controls have been set for device " + deviceId + " of owner " + owner; - if (log.isDebugEnabled()) { - log.debug(result); - } - return Response.status(Response.Status.CONFLICT.getStatusCode()).entity(result).build(); - } else { - try { - result = deviceControlList.remove(); - if (log.isDebugEnabled()) { - log.debug(result); - } - return Response.status(Response.Status.ACCEPTED.getStatusCode()).entity(result).build(); - } catch (NoSuchElementException ex) { - result = "There are no more controls for device " + deviceId + " of owner " + owner; - if (log.isDebugEnabled()) { - log.debug(result); - } - return Response.status(Response.Status.NO_CONTENT.getStatusCode()).entity(result).build(); - } - } - } catch (DeviceAccessAuthorizationException e) { - log.error(e.getErrorMessage(), e); - return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build(); - } - } - - @Override - @Path("device/stats/{deviceId}") - @GET - @Consumes("application/json") - @Produces("application/json") - public Response getArduinoTemperatureStats(@PathParam("deviceId") String deviceId, @QueryParam("from") long from, - @QueryParam("to") long to) { - try { - if (!APIUtil.getDeviceAccessAuthorizationService().isUserAuthorized(new DeviceIdentifier(deviceId, - ArduinoConstants.DEVICE_TYPE), DeviceGroupConstants.Permissions.DEFAULT_STATS_MONITOR_PERMISSIONS)) { - return Response.status(Response.Status.UNAUTHORIZED.getStatusCode()).build(); - } - String fromDate = String.valueOf(from); - String toDate = String.valueOf(to); - String query = "deviceId:" + deviceId + " AND deviceType:" + - ArduinoConstants.DEVICE_TYPE + " AND time : [" + fromDate + " TO " + toDate + "]"; - String sensorTableName = ArduinoConstants.TEMPERATURE_EVENT_TABLE; - try { - List sortByFields = new ArrayList<>(); - SortByField sortByField = new SortByField("time", SORT.ASC, false); - sortByFields.add(sortByField); - List sensorRecords = APIUtil.getAllEventsForDevice(sensorTableName, query, sortByFields); - return Response.status(Response.Status.OK.getStatusCode()).entity(sensorRecords).build(); - } catch (AnalyticsException e) { - String errorMsg = "Error on retrieving stats on table " + sensorTableName + " with query " + query; - log.error(errorMsg); - return Response.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()).entity(errorMsg).build(); - } - } catch (DeviceAccessAuthorizationException e) { - log.error(e.getErrorMessage(), e); - return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build(); - } - } - -} diff --git a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/ArduinoManagerService.java b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/ArduinoManagerService.java deleted file mode 100644 index d161127ac7..0000000000 --- a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/ArduinoManagerService.java +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. 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. - */ - -package org.wso2.carbon.device.mgt.iot.arduino.service.impl; - -import org.wso2.carbon.apimgt.annotations.api.API; -import org.wso2.carbon.device.mgt.extensions.feature.mgt.annotations.DeviceType; - -import javax.ws.rs.Consumes; -import javax.ws.rs.DELETE; -import javax.ws.rs.GET; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; - -@Path("enrollment") -@API(name = "arduino_mgt", version = "1.0.0", context = "/arduino_mgt", tags = {"arduino"}) -public interface ArduinoManagerService { - - @Path("devices/{device_id}") - @PUT - Response updateDevice(@PathParam("device_id") String deviceId, @QueryParam("name") String name); - - @Path("devices/{device_id}") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - Response getDevice(@PathParam("device_id") String deviceId); - - @Path("devices/{device_id}") - @DELETE - Response removeDevice(@PathParam("device_id") String deviceId); - - @Path("devices") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - Response getArduinoDevices(); - - @Path("devices/download") - @GET - @Produces("application/octet-stream") - Response downloadSketch(@QueryParam("deviceName") String customDeviceName); -} diff --git a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/ArduinoControllerService.java b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/ArduinoService.java similarity index 73% rename from components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/ArduinoControllerService.java rename to components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/ArduinoService.java index d0986ee866..afe0c89b1a 100644 --- a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/ArduinoControllerService.java +++ b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/ArduinoService.java @@ -19,6 +19,7 @@ package org.wso2.carbon.device.mgt.iot.arduino.service.impl; import org.wso2.carbon.apimgt.annotations.api.API; +import org.wso2.carbon.apimgt.annotations.api.Permission; import org.wso2.carbon.device.mgt.extensions.feature.mgt.annotations.DeviceType; import org.wso2.carbon.device.mgt.extensions.feature.mgt.annotations.Feature; import javax.ws.rs.Consumes; @@ -32,15 +33,17 @@ import javax.ws.rs.core.Response; @API(name = "arduino", version = "1.0.0", context = "/arduino", tags = {"arduino"}) @DeviceType(value = "arduino") -public interface ArduinoControllerService { +public interface ArduinoService { @Path("device/{deviceId}/bulb") @POST @Feature(code = "bulb", name = "Control Bulb", description = "Control Bulb on Arduino Uno") + @Permission(scope = "arduino_user", permissions = {"/permission/admin/device-mgt/user/operations"}) Response switchBulb(@PathParam("deviceId") String deviceId, @QueryParam("state") String state); @Path("device/{deviceId}/controls") @GET + @Permission(scope = "arduino_device", permissions = {"/permission/admin/device-mgt/user/operations"}) Response readControls(@PathParam("deviceId") String deviceId); /** @@ -50,7 +53,17 @@ public interface ArduinoControllerService { @GET @Consumes("application/json") @Produces("application/json") + @Permission(scope = "arduino_user", permissions = {"/permission/admin/device-mgt/user/stats"}) Response getArduinoTemperatureStats(@PathParam("deviceId") String deviceId, @QueryParam("from") long from, @QueryParam("to") long to); + /** + * download device agent + */ + @Path("device/download") + @GET + @Produces("application/octet-stream") + @Permission(scope = "arduino_user", permissions = {"/permission/admin/device-mgt/user/devices"}) + Response downloadSketch(@QueryParam("deviceName") String customDeviceName); + } diff --git a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/ArduinoManagerServiceImpl.java b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/ArduinoServiceImpl.java similarity index 57% rename from components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/ArduinoManagerServiceImpl.java rename to components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/ArduinoServiceImpl.java index 2b1268e9ea..8bd141809c 100644 --- a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/ArduinoManagerServiceImpl.java +++ b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/ArduinoServiceImpl.java @@ -21,6 +21,9 @@ package org.wso2.carbon.device.mgt.iot.arduino.service.impl; import org.apache.commons.io.FileUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.wso2.carbon.analytics.dataservice.commons.SORT; +import org.wso2.carbon.analytics.dataservice.commons.SortByField; +import org.wso2.carbon.analytics.datasource.commons.exception.AnalyticsException; import org.wso2.carbon.apimgt.application.extension.APIManagementProviderService; import org.wso2.carbon.apimgt.application.extension.dto.ApiApplicationKey; import org.wso2.carbon.apimgt.application.extension.exception.APIManagerException; @@ -29,6 +32,9 @@ import org.wso2.carbon.device.mgt.common.Device; import org.wso2.carbon.device.mgt.common.DeviceIdentifier; import org.wso2.carbon.device.mgt.common.DeviceManagementException; import org.wso2.carbon.device.mgt.common.EnrolmentInfo; +import org.wso2.carbon.device.mgt.common.authorization.DeviceAccessAuthorizationException; +import org.wso2.carbon.device.mgt.common.group.mgt.DeviceGroupConstants; +import org.wso2.carbon.device.mgt.iot.arduino.service.impl.dto.SensorRecord; import org.wso2.carbon.device.mgt.iot.arduino.service.impl.util.APIUtil; import org.wso2.carbon.device.mgt.iot.arduino.plugin.constants.ArduinoConstants; import org.wso2.carbon.device.mgt.iot.arduino.service.impl.util.ZipUtil; @@ -39,115 +45,132 @@ import org.wso2.carbon.identity.jwt.client.extension.exception.JWTClientExceptio import org.wso2.carbon.user.api.UserStoreException; import javax.ws.rs.Consumes; -import javax.ws.rs.DELETE; import javax.ws.rs.GET; -import javax.ws.rs.PUT; +import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; -import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import java.io.IOException; import java.nio.ByteBuffer; import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Date; +import java.util.HashMap; +import java.util.LinkedList; import java.util.List; +import java.util.Map; +import java.util.NoSuchElementException; import java.util.UUID; -@Path("enrollment") -public class ArduinoManagerServiceImpl implements ArduinoManagerService { +public class ArduinoServiceImpl implements ArduinoService { + private static Log log = LogFactory.getLog(ArduinoServiceImpl.class); + private static Map> internalControlsQueue = new HashMap<>(); private static final String KEY_TYPE = "PRODUCTION"; private static ApiApplicationKey apiApplicationKey; - private static Log log = LogFactory.getLog(ArduinoManagerServiceImpl.class); @Override - @Path("devices/{device_id}") - @DELETE - public Response removeDevice(@PathParam("device_id") String deviceId) { - DeviceIdentifier deviceIdentifier = new DeviceIdentifier(); - deviceIdentifier.setId(deviceId); - deviceIdentifier.setType(ArduinoConstants.DEVICE_TYPE); + @Path("device/{deviceId}/bulb") + @POST + public Response switchBulb(@PathParam("deviceId") String deviceId, @QueryParam("state") String state) { try { - boolean removed = APIUtil.getDeviceManagementService().disenrollDevice(deviceIdentifier); - if (removed) { - return Response.status(Response.Status.OK.getStatusCode()).entity(true).build(); - } else { - return Response.status(Response.Status.NOT_ACCEPTABLE.getStatusCode()).build(); + if (!APIUtil.getDeviceAccessAuthorizationService().isUserAuthorized(new DeviceIdentifier(deviceId, + ArduinoConstants.DEVICE_TYPE), DeviceGroupConstants.Permissions.DEFAULT_OPERATOR_PERMISSIONS)) { + return Response.status(Response.Status.UNAUTHORIZED.getStatusCode()).build(); } - } catch (DeviceManagementException e) { - return Response.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()).build(); - } - } - - @Override - @Path("devices/{device_id}") - @PUT - public Response updateDevice(@PathParam("device_id") String deviceId, @QueryParam("name") String name) { - DeviceIdentifier deviceIdentifier = new DeviceIdentifier(); - deviceIdentifier.setId(deviceId); - deviceIdentifier.setType(ArduinoConstants.DEVICE_TYPE); - try { - Device device = APIUtil.getDeviceManagementService().getDevice(deviceIdentifier); - device.setDeviceIdentifier(deviceId); - device.getEnrolmentInfo().setDateOfLastUpdate(new Date().getTime()); - device.setName(name); - device.setType(ArduinoConstants.DEVICE_TYPE); - boolean updated = APIUtil.getDeviceManagementService().modifyEnrollment(device); - if (updated) { - return Response.status(Response.Status.OK.getStatusCode()).entity(true).build(); + LinkedList deviceControlList = internalControlsQueue.get(deviceId); + String operation = "BULB:" + state.toUpperCase(); + if (deviceControlList == null) { + deviceControlList = new LinkedList<>(); + deviceControlList.add(operation); + internalControlsQueue.put(deviceId, deviceControlList); } else { - return Response.status(Response.Status.NOT_ACCEPTABLE.getStatusCode()).build(); + deviceControlList.add(operation); } - } catch (DeviceManagementException e) { - return Response.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()).build(); + return Response.status(Response.Status.OK.getStatusCode()).build(); + } catch (DeviceAccessAuthorizationException e) { + log.error(e.getErrorMessage(), e); + return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build(); } } @Override - @Path("devices/{device_id}") + @Path("device/{deviceId}/controls") @GET - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - public Response getDevice(@PathParam("device_id") String deviceId) { - DeviceIdentifier deviceIdentifier = new DeviceIdentifier(); - deviceIdentifier.setId(deviceId); - deviceIdentifier.setType(ArduinoConstants.DEVICE_TYPE); + public Response readControls(@PathParam("deviceId") String deviceId) { try { - Device device = APIUtil.getDeviceManagementService().getDevice(deviceIdentifier); - return Response.status(Response.Status.OK.getStatusCode()).entity(device).build(); - } catch (DeviceManagementException e) { - return Response.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()).build(); + if (!APIUtil.getDeviceAccessAuthorizationService().isUserAuthorized(new DeviceIdentifier(deviceId, + ArduinoConstants.DEVICE_TYPE), DeviceGroupConstants.Permissions.DEFAULT_OPERATOR_PERMISSIONS)) { + return Response.status(Response.Status.UNAUTHORIZED.getStatusCode()).build(); + } + String result; + LinkedList deviceControlList = internalControlsQueue.get(deviceId); + String owner = PrivilegedCarbonContext.getThreadLocalCarbonContext().getUsername(); + if (deviceControlList == null) { + result = "No controls have been set for device " + deviceId + " of owner " + owner; + if (log.isDebugEnabled()) { + log.debug(result); + } + return Response.status(Response.Status.CONFLICT.getStatusCode()).entity(result).build(); + } else { + try { + result = deviceControlList.remove(); + if (log.isDebugEnabled()) { + log.debug(result); + } + return Response.status(Response.Status.ACCEPTED.getStatusCode()).entity(result).build(); + } catch (NoSuchElementException ex) { + result = "There are no more controls for device " + deviceId + " of owner " + owner; + if (log.isDebugEnabled()) { + log.debug(result); + } + return Response.status(Response.Status.NO_CONTENT.getStatusCode()).entity(result).build(); + } + } + } catch (DeviceAccessAuthorizationException e) { + log.error(e.getErrorMessage(), e); + return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build(); } } @Override - @Path("devices") + @Path("device/stats/{deviceId}") @GET - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - public Response getArduinoDevices() { + @Consumes("application/json") + @Produces("application/json") + public Response getArduinoTemperatureStats(@PathParam("deviceId") String deviceId, @QueryParam("from") long from, + @QueryParam("to") long to) { try { - List userDevices = APIUtil.getDeviceManagementService().getDevicesOfUser( - APIUtil.getAuthenticatedUser()); - ArrayList userDevicesforArduino = new ArrayList<>(); - for (Device device : userDevices) { - if (device.getType().equals(ArduinoConstants.DEVICE_TYPE) && - device.getEnrolmentInfo().getStatus().equals(EnrolmentInfo.Status.ACTIVE)) { - userDevicesforArduino.add(device); - } + if (!APIUtil.getDeviceAccessAuthorizationService().isUserAuthorized(new DeviceIdentifier(deviceId, + ArduinoConstants.DEVICE_TYPE), DeviceGroupConstants.Permissions.DEFAULT_STATS_MONITOR_PERMISSIONS)) { + return Response.status(Response.Status.UNAUTHORIZED.getStatusCode()).build(); } - Device[] devices = userDevicesforArduino.toArray(new Device[]{}); - return Response.status(Response.Status.OK.getStatusCode()).entity(devices).build(); - } catch (DeviceManagementException e) { - return Response.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()).entity(true).build(); + String fromDate = String.valueOf(from); + String toDate = String.valueOf(to); + String query = "deviceId:" + deviceId + " AND deviceType:" + + ArduinoConstants.DEVICE_TYPE + " AND time : [" + fromDate + " TO " + toDate + "]"; + String sensorTableName = ArduinoConstants.TEMPERATURE_EVENT_TABLE; + try { + List sortByFields = new ArrayList<>(); + SortByField sortByField = new SortByField("time", SORT.ASC, false); + sortByFields.add(sortByField); + List sensorRecords = APIUtil.getAllEventsForDevice(sensorTableName, query, sortByFields); + return Response.status(Response.Status.OK.getStatusCode()).entity(sensorRecords).build(); + } catch (AnalyticsException e) { + String errorMsg = "Error on retrieving stats on table " + sensorTableName + " with query " + query; + log.error(errorMsg); + return Response.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()).entity(errorMsg).build(); + } + } catch (DeviceAccessAuthorizationException e) { + log.error(e.getErrorMessage(), e); + return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build(); } } @Override - @Path("/devices/download") + @Path("/device/download") @GET @Produces("application/zip") public Response downloadSketch(@QueryParam("deviceName") String deviceName) { @@ -197,7 +220,7 @@ public class ArduinoManagerServiceImpl implements ArduinoManagerService { ArduinoConstants.DEVICE_TYPE, tags, KEY_TYPE, applicationUsername, true); } JWTClient jwtClient = APIUtil.getJWTClientManagerService().getJWTClient(); - String scopes = "device_type_" + ArduinoConstants.DEVICE_TYPE + " device_" + deviceId; + String scopes = "arduino_device device_type_" + ArduinoConstants.DEVICE_TYPE + " device_" + deviceId; AccessTokenInfo accessTokenInfo = jwtClient.getAccessToken(apiApplicationKey.getConsumerKey(), apiApplicationKey.getConsumerSecret(), owner, scopes); //create token @@ -210,9 +233,8 @@ public class ArduinoManagerServiceImpl implements ArduinoManagerService { throw new DeviceManagementException(msg); } ZipUtil ziputil = new ZipUtil(); - ZipArchive zipFile = ziputil.createZipFile(owner, APIUtil.getTenantDomainOftheUser(), - ArduinoConstants.DEVICE_TYPE, deviceId, deviceName, accessToken, refreshToken); - return zipFile; + return ziputil.createZipFile(owner, APIUtil.getTenantDomainOftheUser(), + ArduinoConstants.DEVICE_TYPE, deviceId, deviceName, accessToken, refreshToken); } private static String shortUUID() { @@ -245,5 +267,4 @@ public class ArduinoManagerServiceImpl implements ArduinoManagerService { return false; } } - } diff --git a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/webapp/META-INF/permissions.xml b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/webapp/META-INF/permissions.xml index 4966eba2e2..eb8e9f67fd 100644 --- a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/webapp/META-INF/permissions.xml +++ b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/webapp/META-INF/permissions.xml @@ -50,33 +50,12 @@ GET arduino_device - - Get device - /device-mgt/user/devices/list - /enrollment/devices/* - GET - arduino_user - - - Remove device - /device-mgt/user/devices/remove - /enrollment/devices/* - DELETE - arduino_user - Download device /device-mgt/user/devices - /enrollment/devices/download + /device/download GET arduino_user - - Update device - /device-mgt/user/devices/update - /enrollment/devices/* - PUT - arduino_user - diff --git a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/webapp/WEB-INF/cxf-servlet.xml b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/webapp/WEB-INF/cxf-servlet.xml index c902d3024a..a5b895b00b 100644 --- a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/webapp/WEB-INF/cxf-servlet.xml +++ b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/webapp/WEB-INF/cxf-servlet.xml @@ -25,11 +25,8 @@ - - - + diff --git a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.type-view/private/config.json b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.type-view/private/config.json index 73294d4ecc..e85ea2bc62 100644 --- a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.type-view/private/config.json +++ b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.type-view/private/config.json @@ -2,6 +2,6 @@ "deviceType": { "label": "Arduino", "category": "iot", - "downloadAgentUri": "arduino/enrollment/devices/download" + "downloadAgentUri": "arduino/device/download" } } \ No newline at end of file diff --git a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/RaspberryPiControllerServiceImpl.java b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/RaspberryPiControllerServiceImpl.java deleted file mode 100644 index d4a8f747cc..0000000000 --- a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/RaspberryPiControllerServiceImpl.java +++ /dev/null @@ -1,109 +0,0 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. 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. - */ - -package org.wso2.carbon.device.mgt.iot.raspberrypi.service.impl; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.wso2.carbon.analytics.dataservice.commons.SORT; -import org.wso2.carbon.analytics.dataservice.commons.SortByField; -import org.wso2.carbon.analytics.datasource.commons.exception.AnalyticsException; -import org.wso2.carbon.device.mgt.common.DeviceIdentifier; -import org.wso2.carbon.device.mgt.common.authorization.DeviceAccessAuthorizationException; -import org.wso2.carbon.device.mgt.common.group.mgt.DeviceGroupConstants; -import org.wso2.carbon.device.mgt.iot.raspberrypi.service.impl.dto.SensorRecord; -import org.wso2.carbon.device.mgt.iot.raspberrypi.service.impl.util.APIUtil; -import org.wso2.carbon.device.mgt.iot.raspberrypi.plugin.constants.RaspberrypiConstants; - -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.Response; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -public class RaspberryPiControllerServiceImpl implements RaspberryPiControllerService { - - private static Log log = LogFactory.getLog(RaspberryPiControllerServiceImpl.class); - - @Path("device/{deviceId}/bulb") - @POST - public Response switchBulb(@PathParam("deviceId") String deviceId, @QueryParam("state") String state) { - try { - if (!APIUtil.getDeviceAccessAuthorizationService().isUserAuthorized(new DeviceIdentifier(deviceId, - RaspberrypiConstants.DEVICE_TYPE), DeviceGroupConstants.Permissions.DEFAULT_OPERATOR_PERMISSIONS)) { - return Response.status(Response.Status.UNAUTHORIZED.getStatusCode()).build(); - } - String switchToState = state.toUpperCase(); - if (!switchToState.equals(RaspberrypiConstants.STATE_ON) && !switchToState.equals( - RaspberrypiConstants.STATE_OFF)) { - log.error("The requested state change shoud be either - 'ON' or 'OFF'"); - return Response.status(Response.Status.BAD_REQUEST.getStatusCode()).build(); - } - String actualMessage = RaspberrypiConstants.BULB_CONTEXT + ":" + state; - Map dynamicProperties = new HashMap<>(); - String publishTopic = APIUtil.getTenantDomainOftheUser() + "/" - + RaspberrypiConstants.DEVICE_TYPE + "/" + deviceId; - dynamicProperties.put(RaspberrypiConstants.ADAPTER_TOPIC_PROPERTY, publishTopic); - APIUtil.getOutputEventAdapterService().publish(RaspberrypiConstants.MQTT_ADAPTER_NAME, - dynamicProperties, actualMessage); - return Response.ok().build(); - } catch (DeviceAccessAuthorizationException e) { - log.error(e.getErrorMessage(), e); - return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build(); - } - } - - @Path("device/stats/{deviceId}") - @GET - @Consumes("application/json") - @Produces("application/json") - public Response getRaspberryPiTemperatureStats(@PathParam("deviceId") String deviceId, - @QueryParam("from") long from, @QueryParam("to") long to) { - String fromDate = String.valueOf(from); - String toDate = String.valueOf(to); - String query = "deviceId:" + deviceId + " AND deviceType:" + - RaspberrypiConstants.DEVICE_TYPE + " AND time : [" + fromDate + " TO " + toDate + "]"; - String sensorTableName = RaspberrypiConstants.TEMPERATURE_EVENT_TABLE; - try { - if (!APIUtil.getDeviceAccessAuthorizationService().isUserAuthorized(new DeviceIdentifier(deviceId, - RaspberrypiConstants.DEVICE_TYPE), DeviceGroupConstants.Permissions.DEFAULT_STATS_MONITOR_PERMISSIONS)) { - return Response.status(Response.Status.UNAUTHORIZED.getStatusCode()).build(); - } - List sortByFields = new ArrayList<>(); - SortByField sortByField = new SortByField("time", SORT.ASC, false); - sortByFields.add(sortByField); - List sensorRecords = APIUtil.getAllEventsForDevice(sensorTableName, query, sortByFields); - return Response.status(Response.Status.OK.getStatusCode()).entity(sensorRecords).build(); - } catch (AnalyticsException e) { - String errorMsg = "Error on retrieving stats on table " + sensorTableName + " with query " + query; - log.error(errorMsg); - return Response.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()).entity(errorMsg).build(); - } catch (DeviceAccessAuthorizationException e) { - log.error(e.getErrorMessage(), e); - return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build(); - } - } - -} diff --git a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/RaspberryPiManagerService.java b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/RaspberryPiManagerService.java deleted file mode 100644 index 07c4bc2131..0000000000 --- a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/RaspberryPiManagerService.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. 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. - */ - -package org.wso2.carbon.device.mgt.iot.raspberrypi.service.impl; - -import org.wso2.carbon.apimgt.annotations.api.API; -import org.wso2.carbon.device.mgt.extensions.feature.mgt.annotations.DeviceType; - -import javax.ws.rs.Consumes; -import javax.ws.rs.DELETE; -import javax.ws.rs.GET; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; - -@Path("enrollment") -@API(name = "raspberrypi_mgt", version = "1.0.0", context = "/raspberrypi_mgt", tags = {"raspberrypi"}) -@DeviceType(value = "raspberrypi") -public interface RaspberryPiManagerService { - - @Path("devices/{device_id}") - @DELETE - Response removeDevice(@PathParam("device_id") String deviceId); - - @Path("devices/{device_id}") - @PUT - Response updateDevice(@PathParam("device_id") String deviceId, - @QueryParam("name") String name); - - @Path("devices/{device_id}") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - Response getDevice(@PathParam("device_id") String deviceId); - - @Path("devices") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - Response getRaspberrypiDevices(); - - @Path("devicesg/download") - @GET - @Produces(MediaType.APPLICATION_JSON) - Response downloadSketch(@QueryParam("deviceName") String deviceName, @QueryParam("sketch_type") String sketchType); - -} diff --git a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/RaspberryPiControllerService.java b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/RaspberryPiService.java similarity index 73% rename from components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/RaspberryPiControllerService.java rename to components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/RaspberryPiService.java index c32353a2b1..299f7be26f 100644 --- a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/RaspberryPiControllerService.java +++ b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/RaspberryPiService.java @@ -19,25 +19,27 @@ package org.wso2.carbon.device.mgt.iot.raspberrypi.service.impl; import org.wso2.carbon.apimgt.annotations.api.API; +import org.wso2.carbon.apimgt.annotations.api.Permission; import org.wso2.carbon.device.mgt.extensions.feature.mgt.annotations.DeviceType; import org.wso2.carbon.device.mgt.extensions.feature.mgt.annotations.Feature; import javax.ws.rs.Consumes; -import javax.ws.rs.FormParam; import javax.ws.rs.GET; import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; +import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; @API(name = "raspberrypi", version = "1.0.0", context = "/raspberrypi", tags = {"raspberrypi"}) @DeviceType(value = "raspberrypi") -public interface RaspberryPiControllerService { +public interface RaspberryPiService { @Path("device/{deviceId}/bulb") @POST @Feature(code = "bulb", name = "Bulb On / Off", description = "Switch on/off Raspberry Pi agent's bulb. (On / Off)") + @Permission(scope = "raspberrypi_user", permissions = {"/permission/admin/device-mgt/user/operations"}) Response switchBulb(@PathParam("deviceId") String deviceId, @QueryParam("state") String state); /** @@ -47,7 +49,17 @@ public interface RaspberryPiControllerService { @GET @Consumes("application/json") @Produces("application/json") + @Permission(scope = "raspberrypi_user", permissions = {"/permission/admin/device-mgt/user/stats"}) Response getRaspberryPiTemperatureStats(@PathParam("deviceId") String deviceId, @QueryParam("from") long from, @QueryParam("to") long to); + /** + * download the agent. + */ + @Path("device/download") + @GET + @Produces(MediaType.APPLICATION_JSON) + @Permission(scope = "raspberrypi_user", permissions = {"/permission/admin/device-mgt/user/devices"}) + Response downloadSketch(@QueryParam("deviceName") String deviceName, @QueryParam("sketch_type") String sketchType); + } diff --git a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/RaspberryPiManagerServiceImpl.java b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/RaspberryPiServiceImpl.java similarity index 65% rename from components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/RaspberryPiManagerServiceImpl.java rename to components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/RaspberryPiServiceImpl.java index 35fa4ad196..49073cb022 100644 --- a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/RaspberryPiManagerServiceImpl.java +++ b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/java/org/wso2/carbon/device/mgt/iot/raspberrypi/service/impl/RaspberryPiServiceImpl.java @@ -21,6 +21,9 @@ package org.wso2.carbon.device.mgt.iot.raspberrypi.service.impl; import org.apache.commons.io.FileUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.wso2.carbon.analytics.dataservice.commons.SORT; +import org.wso2.carbon.analytics.dataservice.commons.SortByField; +import org.wso2.carbon.analytics.datasource.commons.exception.AnalyticsException; import org.wso2.carbon.apimgt.application.extension.APIManagementProviderService; import org.wso2.carbon.apimgt.application.extension.dto.ApiApplicationKey; import org.wso2.carbon.apimgt.application.extension.exception.APIManagerException; @@ -29,8 +32,11 @@ import org.wso2.carbon.device.mgt.common.Device; import org.wso2.carbon.device.mgt.common.DeviceIdentifier; import org.wso2.carbon.device.mgt.common.DeviceManagementException; import org.wso2.carbon.device.mgt.common.EnrolmentInfo; -import org.wso2.carbon.device.mgt.iot.raspberrypi.plugin.constants.RaspberrypiConstants; +import org.wso2.carbon.device.mgt.common.authorization.DeviceAccessAuthorizationException; +import org.wso2.carbon.device.mgt.common.group.mgt.DeviceGroupConstants; +import org.wso2.carbon.device.mgt.iot.raspberrypi.service.impl.dto.SensorRecord; import org.wso2.carbon.device.mgt.iot.raspberrypi.service.impl.util.APIUtil; +import org.wso2.carbon.device.mgt.iot.raspberrypi.plugin.constants.RaspberrypiConstants; import org.wso2.carbon.device.mgt.iot.raspberrypi.service.impl.util.ZipUtil; import org.wso2.carbon.device.mgt.iot.util.ZipArchive; import org.wso2.carbon.identity.jwt.client.extension.JWTClient; @@ -39,118 +45,90 @@ import org.wso2.carbon.identity.jwt.client.extension.exception.JWTClientExceptio import org.wso2.carbon.user.api.UserStoreException; import javax.ws.rs.Consumes; -import javax.ws.rs.DELETE; import javax.ws.rs.GET; -import javax.ws.rs.PUT; +import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; -import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import java.io.IOException; import java.nio.ByteBuffer; import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Date; +import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.UUID; -@Path("enrollment") -public class RaspberryPiManagerServiceImpl implements RaspberryPiManagerService { +public class RaspberryPiServiceImpl implements RaspberryPiService { - private static Log log = LogFactory.getLog(RaspberryPiManagerServiceImpl.class); + private static Log log = LogFactory.getLog(RaspberryPiServiceImpl.class); private static final String KEY_TYPE = "PRODUCTION"; private static ApiApplicationKey apiApplicationKey; - @Override - @Path("devices/{device_id}") - @DELETE - public Response removeDevice(@PathParam("device_id") String deviceId) { + @Path("device/{deviceId}/bulb") + @POST + public Response switchBulb(@PathParam("deviceId") String deviceId, @QueryParam("state") String state) { try { - DeviceIdentifier deviceIdentifier = new DeviceIdentifier(); - deviceIdentifier.setId(deviceId); - deviceIdentifier.setType(RaspberrypiConstants.DEVICE_TYPE); - boolean removed = APIUtil.getDeviceManagementService().disenrollDevice( - deviceIdentifier); - if (removed) { - return Response.ok().build(); - } else { - return Response.status(Response.Status.NOT_ACCEPTABLE.getStatusCode()).build(); + if (!APIUtil.getDeviceAccessAuthorizationService().isUserAuthorized(new DeviceIdentifier(deviceId, + RaspberrypiConstants.DEVICE_TYPE), DeviceGroupConstants.Permissions.DEFAULT_OPERATOR_PERMISSIONS)) { + return Response.status(Response.Status.UNAUTHORIZED.getStatusCode()).build(); } - } catch (DeviceManagementException e) { - return Response.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()).build(); - } - } - - @Override - @Path("devices/{device_id}") - @PUT - public Response updateDevice(@PathParam("device_id") String deviceId, @QueryParam("name") String name) { - DeviceIdentifier deviceIdentifier = new DeviceIdentifier(); - deviceIdentifier.setId(deviceId); - deviceIdentifier.setType(RaspberrypiConstants.DEVICE_TYPE); - try { - Device device = APIUtil.getDeviceManagementService().getDevice(deviceIdentifier); - device.setDeviceIdentifier(deviceId); - device.getEnrolmentInfo().setDateOfLastUpdate(new Date().getTime()); - device.setName(name); - device.setType(RaspberrypiConstants.DEVICE_TYPE); - boolean updated = APIUtil.getDeviceManagementService().modifyEnrollment(device); - if (updated) { - return Response.ok().build(); - } else { - return Response.status(Response.Status.NOT_ACCEPTABLE.getStatusCode()).build(); + String switchToState = state.toUpperCase(); + if (!switchToState.equals(RaspberrypiConstants.STATE_ON) && !switchToState.equals( + RaspberrypiConstants.STATE_OFF)) { + log.error("The requested state change shoud be either - 'ON' or 'OFF'"); + return Response.status(Response.Status.BAD_REQUEST.getStatusCode()).build(); } - } catch (DeviceManagementException e) { - log.error(e.getErrorMessage()); - return Response.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()).build(); + String actualMessage = RaspberrypiConstants.BULB_CONTEXT + ":" + state; + Map dynamicProperties = new HashMap<>(); + String publishTopic = APIUtil.getTenantDomainOftheUser() + "/" + + RaspberrypiConstants.DEVICE_TYPE + "/" + deviceId; + dynamicProperties.put(RaspberrypiConstants.ADAPTER_TOPIC_PROPERTY, publishTopic); + APIUtil.getOutputEventAdapterService().publish(RaspberrypiConstants.MQTT_ADAPTER_NAME, + dynamicProperties, actualMessage); + return Response.ok().build(); + } catch (DeviceAccessAuthorizationException e) { + log.error(e.getErrorMessage(), e); + return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build(); } } - @Override - @Path("devices/{device_id}") + @Path("device/stats/{deviceId}") @GET - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - public Response getDevice(@PathParam("device_id") String deviceId) { - DeviceIdentifier deviceIdentifier = new DeviceIdentifier(); - deviceIdentifier.setId(deviceId); - deviceIdentifier.setType(RaspberrypiConstants.DEVICE_TYPE); + @Consumes("application/json") + @Produces("application/json") + public Response getRaspberryPiTemperatureStats(@PathParam("deviceId") String deviceId, + @QueryParam("from") long from, @QueryParam("to") long to) { + String fromDate = String.valueOf(from); + String toDate = String.valueOf(to); + String query = "deviceId:" + deviceId + " AND deviceType:" + + RaspberrypiConstants.DEVICE_TYPE + " AND time : [" + fromDate + " TO " + toDate + "]"; + String sensorTableName = RaspberrypiConstants.TEMPERATURE_EVENT_TABLE; try { - Device device = APIUtil.getDeviceManagementService().getDevice(deviceIdentifier); - return Response.ok().entity(device).build(); - } catch (DeviceManagementException ex) { - log.error("Error occurred while retrieving device with Id " + deviceId + "\n" + ex); - return Response.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()).build(); - } - } - - @Override - @Path("devices") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - public Response getRaspberrypiDevices() { - try { - List userDevices = APIUtil.getDeviceManagementService().getDevicesOfUser( - APIUtil.getAuthenticatedUser()); - ArrayList usersRaspberrypiDevices = new ArrayList<>(); - for (Device device : userDevices) { - if (device.getType().equals(RaspberrypiConstants.DEVICE_TYPE) && - device.getEnrolmentInfo().getStatus().equals(EnrolmentInfo.Status.ACTIVE)) { - usersRaspberrypiDevices.add(device); - } + if (!APIUtil.getDeviceAccessAuthorizationService().isUserAuthorized(new DeviceIdentifier(deviceId, + RaspberrypiConstants.DEVICE_TYPE), DeviceGroupConstants.Permissions.DEFAULT_STATS_MONITOR_PERMISSIONS)) { + return Response.status(Response.Status.UNAUTHORIZED.getStatusCode()).build(); } - Device[] devices = usersRaspberrypiDevices.toArray(new Device[]{}); - return Response.ok().entity(devices).build(); - } catch (DeviceManagementException e) { - return Response.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()).build(); + List sortByFields = new ArrayList<>(); + SortByField sortByField = new SortByField("time", SORT.ASC, false); + sortByFields.add(sortByField); + List sensorRecords = APIUtil.getAllEventsForDevice(sensorTableName, query, sortByFields); + return Response.status(Response.Status.OK.getStatusCode()).entity(sensorRecords).build(); + } catch (AnalyticsException e) { + String errorMsg = "Error on retrieving stats on table " + sensorTableName + " with query " + query; + log.error(errorMsg); + return Response.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()).entity(errorMsg).build(); + } catch (DeviceAccessAuthorizationException e) { + log.error(e.getErrorMessage(), e); + return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build(); } } @Override - @Path("devices/download") + @Path("device/download") @GET @Produces("application/zip") public Response downloadSketch(@QueryParam("deviceName") String deviceName, @QueryParam("sketchType") String sketchType) { @@ -234,9 +212,8 @@ public class RaspberryPiManagerServiceImpl implements RaspberryPiManagerService throw new DeviceManagementException(msg); } ZipUtil ziputil = new ZipUtil(); - ZipArchive zipFile = ziputil.createZipFile(owner, APIUtil.getTenantDomainOftheUser(), sketchType, + return ziputil.createZipFile(owner, APIUtil.getTenantDomainOftheUser(), sketchType, deviceId, deviceName, accessToken, refreshToken); - return zipFile; } private static String shortUUID() { @@ -244,5 +221,4 @@ public class RaspberryPiManagerServiceImpl implements RaspberryPiManagerService long l = ByteBuffer.wrap(uuid.toString().getBytes(StandardCharsets.UTF_8)).getLong(); return Long.toString(l, Character.MAX_RADIX); } - } diff --git a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/webapp/META-INF/permissions.xml b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/webapp/META-INF/permissions.xml index 6813569dd2..be74ef64dc 100644 --- a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/webapp/META-INF/permissions.xml +++ b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/webapp/META-INF/permissions.xml @@ -36,34 +36,13 @@ GET raspberrypi_user - - Remove device - /device-mgt/user/devices/remove - /enrollment/devices/* - DELETE - raspberrypi_user - Download device /device-mgt/user/devices - /enrollment/devices/download + /device/download GET raspberrypi_user - - Update device - /device-mgt/user/devices/update - /enrollment/devices/* - POST - raspberrypi_user - - - Get Devices - /device-mgt/user/devices/list - /enrollment/devices - GET - raspberrypi_user - Control Bulb /device-mgt/user/operations diff --git a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/webapp/WEB-INF/cxf-servlet.xml b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/webapp/WEB-INF/cxf-servlet.xml index 7272253227..abb72753d1 100644 --- a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/webapp/WEB-INF/cxf-servlet.xml +++ b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.api/src/main/webapp/WEB-INF/cxf-servlet.xml @@ -27,11 +27,8 @@ - - - + diff --git a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.type-view/private/config.json b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.type-view/private/config.json index 99f710bd89..f19ba03414 100644 --- a/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.type-view/private/config.json +++ b/components/iot-plugins/raspberrypi-plugin/org.wso2.carbon.device.mgt.iot.raspberrypi.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.raspberrypi.type-view/private/config.json @@ -2,6 +2,6 @@ "deviceType": { "label": "Raspberry Pi", "category": "iot", - "downloadAgentUri": "raspberrypi/enrollment/devices/download" + "downloadAgentUri": "raspberrypi/device/download" } } \ No newline at end of file diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/VirtualFireAlarmManagerService.java b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/VirtualFireAlarmManagerService.java deleted file mode 100644 index 7b5bdaf097..0000000000 --- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/VirtualFireAlarmManagerService.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. 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. - */ - -package org.wso2.carbon.device.mgt.iot.virtualfirealarm.service.impl; - -import org.wso2.carbon.apimgt.annotations.api.API; -import org.wso2.carbon.device.mgt.extensions.feature.mgt.annotations.DeviceType; - -import javax.ws.rs.Consumes; -import javax.ws.rs.DELETE; -import javax.ws.rs.GET; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; - -@Path("enrollment") -@API(name = "virtual_firealarm_mgt", version = "1.0.0", context = "/virtual_firealarm_mgt", tags = {"virtual_firealarm"}) -public interface VirtualFireAlarmManagerService { - - @Path("/devices/{device_id}") - @DELETE - Response removeDevice(@PathParam("device_id") String deviceId); - - - @Path("/devices/{device_id}") - @PUT - Response updateDevice(@PathParam("device_id") String deviceId, @QueryParam("name") String name); - - @Path("/devices/{device_id}") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - Response getDevice(@PathParam("device_id") String deviceId); - - @Path("/devices") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - Response getFirealarmDevices(); - - @Path("/devices/download") - @GET - @Produces("application/zip") - Response downloadSketch(@QueryParam("deviceName") String deviceName, @QueryParam("sketchType") String sketchType); - -} \ No newline at end of file diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/VirtualFireAlarmManagerServiceImpl.java b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/VirtualFireAlarmManagerServiceImpl.java deleted file mode 100644 index 17e1a46110..0000000000 --- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/VirtualFireAlarmManagerServiceImpl.java +++ /dev/null @@ -1,294 +0,0 @@ -/* - * Copyright (c) 2016, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. - * - * WSO2 Inc. 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. - */ - -package org.wso2.carbon.device.mgt.iot.virtualfirealarm.service.impl; - -import org.apache.commons.io.FileUtils; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.wso2.carbon.apimgt.application.extension.APIManagementProviderService; -import org.wso2.carbon.apimgt.application.extension.dto.ApiApplicationKey; -import org.wso2.carbon.apimgt.application.extension.exception.APIManagerException; -import org.wso2.carbon.context.PrivilegedCarbonContext; -import org.wso2.carbon.device.mgt.common.Device; -import org.wso2.carbon.device.mgt.common.DeviceIdentifier; -import org.wso2.carbon.device.mgt.common.DeviceManagementException; -import org.wso2.carbon.device.mgt.common.EnrolmentInfo; -import org.wso2.carbon.device.mgt.common.authorization.DeviceAccessAuthorizationException; -import org.wso2.carbon.device.mgt.common.group.mgt.DeviceGroupConstants; -import org.wso2.carbon.device.mgt.iot.util.ZipArchive; -import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.constants.VirtualFireAlarmConstants; -import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.exception.VirtualFirealarmDeviceMgtPluginException; -import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.xmpp.XmppAccount; -import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.xmpp.XmppConfig; -import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.xmpp.XmppServerClient; -import org.wso2.carbon.device.mgt.iot.virtualfirealarm.service.impl.util.APIUtil; -import org.wso2.carbon.device.mgt.iot.virtualfirealarm.service.impl.util.ZipUtil; -import org.wso2.carbon.identity.jwt.client.extension.JWTClient; -import org.wso2.carbon.identity.jwt.client.extension.dto.AccessTokenInfo; -import org.wso2.carbon.identity.jwt.client.extension.exception.JWTClientException; -import org.wso2.carbon.user.api.UserStoreException; - -import javax.ws.rs.Consumes; -import javax.ws.rs.DELETE; -import javax.ws.rs.GET; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; -import java.io.IOException; -import java.nio.ByteBuffer; -import java.nio.charset.StandardCharsets; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.UUID; - -@Path("enrollment") -public class VirtualFireAlarmManagerServiceImpl implements VirtualFireAlarmManagerService { - - private static final String KEY_TYPE = "PRODUCTION"; - private static ApiApplicationKey apiApplicationKey; - private static Log log = LogFactory.getLog(VirtualFireAlarmManagerServiceImpl.class); - - @Path("/devices/{device_id}") - @DELETE - public Response removeDevice(@PathParam("device_id") String deviceId) { - try { - DeviceIdentifier deviceIdentifier = new DeviceIdentifier(); - deviceIdentifier.setId(deviceId); - deviceIdentifier.setType(VirtualFireAlarmConstants.DEVICE_TYPE); - if (!APIUtil.getDeviceAccessAuthorizationService().isUserAuthorized(deviceIdentifier, DeviceGroupConstants. - Permissions.DEFAULT_ADMIN_PERMISSIONS)) { - return Response.status(Response.Status.UNAUTHORIZED.getStatusCode()).build(); - } - boolean removed = APIUtil.getDeviceManagementService().disenrollDevice( - deviceIdentifier); - if (removed) { - return Response.ok().build(); - } else { - return Response.status(Response.Status.NOT_ACCEPTABLE.getStatusCode()).build(); - } - } catch (DeviceManagementException e) { - log.error(e.getErrorMessage(), e); - return Response.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()).build(); - } catch (DeviceAccessAuthorizationException e) { - log.error(e.getErrorMessage(), e); - return Response.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()).build(); - } - } - - @Path("/devices/{device_id}") - @PUT - public Response updateDevice(@PathParam("device_id") String deviceId, @QueryParam("name") String name) { - try { - DeviceIdentifier deviceIdentifier = new DeviceIdentifier(); - deviceIdentifier.setId(deviceId); - deviceIdentifier.setType(VirtualFireAlarmConstants.DEVICE_TYPE); - if (!APIUtil.getDeviceAccessAuthorizationService().isUserAuthorized(deviceIdentifier, DeviceGroupConstants. - Permissions.DEFAULT_ADMIN_PERMISSIONS)) { - return Response.status(Response.Status.UNAUTHORIZED.getStatusCode()).build(); - } - Device device = APIUtil.getDeviceManagementService().getDevice(deviceIdentifier); - device.setDeviceIdentifier(deviceId); - device.getEnrolmentInfo().setDateOfLastUpdate(new Date().getTime()); - device.setName(name); - device.setType(VirtualFireAlarmConstants.DEVICE_TYPE); - boolean updated = APIUtil.getDeviceManagementService().modifyEnrollment(device); - if (updated) { - return Response.ok().build(); - } else { - return Response.status(Response.Status.NOT_ACCEPTABLE.getStatusCode()).build(); - } - } catch (DeviceManagementException e) { - log.error(e.getErrorMessage(), e); - return Response.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()).build(); - } catch (DeviceAccessAuthorizationException e) { - log.error(e.getErrorMessage(), e); - return Response.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()).build(); - } - } - - @Path("/devices/{device_id}") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - public Response getDevice(@PathParam("device_id") String deviceId) { - try { - DeviceIdentifier deviceIdentifier = new DeviceIdentifier(); - deviceIdentifier.setId(deviceId); - deviceIdentifier.setType(VirtualFireAlarmConstants.DEVICE_TYPE); - if (!APIUtil.getDeviceAccessAuthorizationService().isUserAuthorized(deviceIdentifier)) { - return Response.status(Response.Status.UNAUTHORIZED.getStatusCode()).build(); - } - Device device = APIUtil.getDeviceManagementService().getDevice(deviceIdentifier); - return Response.ok().entity(device).build(); - } catch (DeviceManagementException e) { - log.error(e.getErrorMessage(), e); - return Response.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()).build(); - } catch (DeviceAccessAuthorizationException e) { - log.error(e.getErrorMessage(), e); - return Response.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()).build(); - } - } - - @Path("/devices") - @GET - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - public Response getFirealarmDevices() { - try { - List userDevices = - APIUtil.getDeviceManagementService().getDevicesOfUser(APIUtil.getAuthenticatedUser()); - ArrayList userDevicesforFirealarm = new ArrayList<>(); - for (Device device : userDevices) { - if (device.getType().equals(VirtualFireAlarmConstants.DEVICE_TYPE) && - device.getEnrolmentInfo().getStatus().equals(EnrolmentInfo.Status.ACTIVE)) { - userDevicesforFirealarm.add(device); - } - } - Device[] devices = userDevicesforFirealarm.toArray(new Device[]{}); - return Response.ok().entity(devices).build(); - } catch (DeviceManagementException e) { - log.error(e.getErrorMessage(), e); - return Response.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode()).build(); - } - } - - @Path("/devices/download") - @GET - @Produces("application/zip") - public Response downloadSketch(@QueryParam("deviceName") String deviceName, - @QueryParam("sketchType") String sketchType) { - try { - ZipArchive zipFile = createDownloadFile(APIUtil.getAuthenticatedUser(), deviceName, sketchType); - Response.ResponseBuilder response = Response.ok(FileUtils.readFileToByteArray(zipFile.getZipFile())); - response.status(Response.Status.OK); - response.type("application/zip"); - response.header("Content-Disposition", "attachment; filename=\"" + zipFile.getFileName() + "\""); - Response resp = response.build(); - zipFile.getZipFile().delete(); - return resp; - } catch (IllegalArgumentException ex) { - return Response.status(400).entity(ex.getMessage()).build();//bad request - } catch (DeviceManagementException ex) { - log.error(ex.getMessage(), ex); - return Response.status(500).entity(ex.getMessage()).build(); - } catch (JWTClientException ex) { - log.error(ex.getMessage(), ex); - return Response.status(500).entity(ex.getMessage()).build(); - } catch (APIManagerException ex) { - log.error(ex.getMessage(), ex); - return Response.status(500).entity(ex.getMessage()).build(); - } catch (IOException ex) { - log.error(ex.getMessage(), ex); - return Response.status(500).entity(ex.getMessage()).build(); - } catch (UserStoreException ex) { - log.error(ex.getMessage(), ex); - return Response.status(500).entity(ex.getMessage()).build(); - } catch (VirtualFirealarmDeviceMgtPluginException ex) { - log.error(ex.getMessage(), ex); - return Response.status(500).entity(ex.getMessage()).build(); - } - } - - private boolean register(String deviceId, String name) { - try { - DeviceIdentifier deviceIdentifier = new DeviceIdentifier(); - deviceIdentifier.setId(deviceId); - deviceIdentifier.setType(VirtualFireAlarmConstants.DEVICE_TYPE); - if (APIUtil.getDeviceManagementService().isEnrolled(deviceIdentifier)) { - return false; - } - Device device = new Device(); - device.setDeviceIdentifier(deviceId); - EnrolmentInfo enrolmentInfo = new EnrolmentInfo(); - enrolmentInfo.setDateOfEnrolment(new Date().getTime()); - enrolmentInfo.setDateOfLastUpdate(new Date().getTime()); - enrolmentInfo.setStatus(EnrolmentInfo.Status.ACTIVE); - enrolmentInfo.setOwnership(EnrolmentInfo.OwnerShip.BYOD); - device.setName(name); - device.setType(VirtualFireAlarmConstants.DEVICE_TYPE); - enrolmentInfo.setOwner(APIUtil.getAuthenticatedUser()); - device.setEnrolmentInfo(enrolmentInfo); - return APIUtil.getDeviceManagementService().enrollDevice(device); - } catch (DeviceManagementException e) { - log.error(e.getMessage(), e); - return false; - } - } - - private ZipArchive createDownloadFile(String owner, String deviceName, String sketchType) - throws DeviceManagementException, APIManagerException, JWTClientException, - UserStoreException, VirtualFirealarmDeviceMgtPluginException { - //create new device id - String deviceId = shortUUID(); - if (apiApplicationKey == null) { - String applicationUsername = - PrivilegedCarbonContext.getThreadLocalCarbonContext().getUserRealm().getRealmConfiguration() - .getAdminUserName(); - APIManagementProviderService apiManagementProviderService = APIUtil.getAPIManagementProviderService(); - String[] tags = {VirtualFireAlarmConstants.DEVICE_TYPE}; - apiApplicationKey = apiManagementProviderService.generateAndRetrieveApplicationKeys( - VirtualFireAlarmConstants.DEVICE_TYPE, tags, KEY_TYPE, applicationUsername, true); - } - JWTClient jwtClient = APIUtil.getJWTClientManagerService().getJWTClient(); - String scopes = "device_type_" + VirtualFireAlarmConstants.DEVICE_TYPE + " device_" + deviceId; - AccessTokenInfo accessTokenInfo = jwtClient.getAccessToken(apiApplicationKey.getConsumerKey(), - apiApplicationKey.getConsumerSecret(), owner, - scopes); - String accessToken = accessTokenInfo.getAccessToken(); - String refreshToken = accessTokenInfo.getRefreshToken(); - //adding registering data - XmppAccount newXmppAccount = new XmppAccount(); - newXmppAccount.setAccountName(deviceId); - newXmppAccount.setUsername(deviceId); - newXmppAccount.setPassword(accessToken); - newXmppAccount.setEmail(deviceId + "@" + APIUtil.getTenantDomainOftheUser()); - XmppServerClient xmppServerClient = new XmppServerClient(); - boolean status; - if (XmppConfig.getInstance().isEnabled()) { - status = xmppServerClient.createAccount(newXmppAccount); - if (!status) { - String msg = "XMPP Account was not created for device - " + deviceId + " of owner - " + owner + - ".XMPP might have been disabled in org.wso2.carbon.device.mgt.iot" + - ".common.config.server.configs"; - throw new DeviceManagementException(msg); - } - } - status = register(deviceId, deviceName); - if (!status) { - String msg = "Error occurred while registering the device with " + "id: " + deviceId + " owner:" + owner; - throw new DeviceManagementException(msg); - } - ZipUtil ziputil = new ZipUtil(); - ZipArchive zipFile = ziputil.createZipFile(owner, APIUtil.getTenantDomainOftheUser(), sketchType, deviceId, - deviceName, accessToken, refreshToken); - return zipFile; - } - - private static String shortUUID() { - UUID uuid = UUID.randomUUID(); - long l = ByteBuffer.wrap(uuid.toString().getBytes(StandardCharsets.UTF_8)).getLong(); - return Long.toString(l, Character.MAX_RADIX); - } - -} diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/VirtualFireAlarmControllerService.java b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/VirtualFireAlarmService.java similarity index 88% rename from components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/VirtualFireAlarmControllerService.java rename to components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/VirtualFireAlarmService.java index 0417bcbad8..5e235b872f 100644 --- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/VirtualFireAlarmControllerService.java +++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/VirtualFireAlarmService.java @@ -35,7 +35,7 @@ import javax.ws.rs.core.Response; */ @API(name = "virtual_firealarm", version = "1.0.0", context = "/virtual_firealarm", tags = {"virtual_firealarm"}) @DeviceType(value = "virtual_firealarm") -public interface VirtualFireAlarmControllerService { +public interface VirtualFireAlarmService { /** * This is an API called/used from within the Server(Front-End) or by a device Owner. It sends a control command to @@ -49,7 +49,7 @@ public interface VirtualFireAlarmControllerService { */ @POST @Path("device/{deviceId}/buzz") - @Permission(scope = "virtual_firealarm_user", permissions = {"device-mgt/virtual_firealarm/user"}) + @Permission(scope = "virtual_firealarm_user", permissions = {"/permission/admin/device-mgt/user/operations"}) @Feature(code = "buzz", name = "Buzzer On / Off", description = "Switch on/off Virtual Fire Alarm Buzzer. (On / Off)") Response switchBuzzer(@PathParam("deviceId") String deviceId, @QueryParam("protocol") String protocol, @FormParam("state") String state); @@ -60,10 +60,16 @@ public interface VirtualFireAlarmControllerService { */ @Path("device/stats/{deviceId}") @GET - @Permission(scope = "virtual_firealarm_user", permissions = {"device-mgt/virtual_firealarm/user"}) + @Permission(scope = "virtual_firealarm_user", permissions = {"/permission/admin/device-mgt/user/stats"}) @Consumes("application/json") @Produces("application/json") Response getVirtualFirealarmStats(@PathParam("deviceId") String deviceId, @QueryParam("from") long from, @QueryParam("to") long to); + @Path("device/download") + @GET + @Produces("application/zip") + @Permission(scope = "virtual_firealarm_user", permissions = {"/permission/admin/device-mgt/user/devices"}) + Response downloadSketch(@QueryParam("deviceName") String deviceName, @QueryParam("sketchType") String sketchType); + } diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/VirtualFireAlarmControllerServiceImpl.java b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/VirtualFireAlarmServiceImpl.java similarity index 58% rename from components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/VirtualFireAlarmControllerServiceImpl.java rename to components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/VirtualFireAlarmServiceImpl.java index e4a8aa55f6..0548ff9d6a 100644 --- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/VirtualFireAlarmControllerServiceImpl.java +++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/java/org/wso2/carbon/device/mgt/iot/virtualfirealarm/service/impl/VirtualFireAlarmServiceImpl.java @@ -18,21 +18,38 @@ package org.wso2.carbon.device.mgt.iot.virtualfirealarm.service.impl; +import org.apache.commons.io.FileUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.wso2.carbon.analytics.dataservice.commons.SORT; import org.wso2.carbon.analytics.dataservice.commons.SortByField; import org.wso2.carbon.analytics.datasource.commons.exception.AnalyticsException; +import org.wso2.carbon.apimgt.application.extension.APIManagementProviderService; +import org.wso2.carbon.apimgt.application.extension.dto.ApiApplicationKey; +import org.wso2.carbon.apimgt.application.extension.exception.APIManagerException; +import org.wso2.carbon.context.PrivilegedCarbonContext; +import org.wso2.carbon.device.mgt.common.Device; import org.wso2.carbon.device.mgt.common.DeviceIdentifier; +import org.wso2.carbon.device.mgt.common.DeviceManagementException; +import org.wso2.carbon.device.mgt.common.EnrolmentInfo; import org.wso2.carbon.device.mgt.common.authorization.DeviceAccessAuthorizationException; import org.wso2.carbon.device.mgt.common.group.mgt.DeviceGroupConstants; +import org.wso2.carbon.device.mgt.iot.util.ZipArchive; import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.constants.VirtualFireAlarmConstants; +import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.exception.VirtualFirealarmDeviceMgtPluginException; import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.impl.util.VirtualFirealarmSecurityManager; +import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.xmpp.XmppAccount; import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.xmpp.XmppConfig; +import org.wso2.carbon.device.mgt.iot.virtualfirealarm.plugin.xmpp.XmppServerClient; import org.wso2.carbon.device.mgt.iot.virtualfirealarm.service.impl.dto.SensorRecord; import org.wso2.carbon.device.mgt.iot.virtualfirealarm.service.impl.exception.VirtualFireAlarmException; import org.wso2.carbon.device.mgt.iot.virtualfirealarm.service.impl.util.APIUtil; import org.wso2.carbon.device.mgt.iot.virtualfirealarm.service.impl.util.VirtualFireAlarmServiceUtils; +import org.wso2.carbon.device.mgt.iot.virtualfirealarm.service.impl.util.ZipUtil; +import org.wso2.carbon.identity.jwt.client.extension.JWTClient; +import org.wso2.carbon.identity.jwt.client.extension.dto.AccessTokenInfo; +import org.wso2.carbon.identity.jwt.client.extension.exception.JWTClientException; +import org.wso2.carbon.user.api.UserStoreException; import javax.ws.rs.Consumes; import javax.ws.rs.FormParam; @@ -44,16 +61,23 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import javax.ws.rs.core.Response; +import java.io.IOException; +import java.nio.ByteBuffer; +import java.nio.charset.StandardCharsets; import java.security.PrivateKey; import java.util.ArrayList; +import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.UUID; -public class VirtualFireAlarmControllerServiceImpl implements VirtualFireAlarmControllerService { +public class VirtualFireAlarmServiceImpl implements VirtualFireAlarmService { private static final String XMPP_PROTOCOL = "XMPP"; - private static Log log = LogFactory.getLog(VirtualFireAlarmControllerServiceImpl.class); + private static final String KEY_TYPE = "PRODUCTION"; + private static ApiApplicationKey apiApplicationKey; + private static Log log = LogFactory.getLog(VirtualFireAlarmServiceImpl.class); @POST @Path("device/{deviceId}/buzz") @@ -192,4 +216,120 @@ public class VirtualFireAlarmControllerServiceImpl implements VirtualFireAlarmCo } } + @Path("device/download") + @GET + @Produces("application/zip") + public Response downloadSketch(@QueryParam("deviceName") String deviceName, + @QueryParam("sketchType") String sketchType) { + try { + ZipArchive zipFile = createDownloadFile(APIUtil.getAuthenticatedUser(), deviceName, sketchType); + Response.ResponseBuilder response = Response.ok(FileUtils.readFileToByteArray(zipFile.getZipFile())); + response.status(Response.Status.OK); + response.type("application/zip"); + response.header("Content-Disposition", "attachment; filename=\"" + zipFile.getFileName() + "\""); + Response resp = response.build(); + zipFile.getZipFile().delete(); + return resp; + } catch (IllegalArgumentException ex) { + return Response.status(400).entity(ex.getMessage()).build();//bad request + } catch (DeviceManagementException ex) { + log.error(ex.getMessage(), ex); + return Response.status(500).entity(ex.getMessage()).build(); + } catch (JWTClientException ex) { + log.error(ex.getMessage(), ex); + return Response.status(500).entity(ex.getMessage()).build(); + } catch (APIManagerException ex) { + log.error(ex.getMessage(), ex); + return Response.status(500).entity(ex.getMessage()).build(); + } catch (IOException ex) { + log.error(ex.getMessage(), ex); + return Response.status(500).entity(ex.getMessage()).build(); + } catch (UserStoreException ex) { + log.error(ex.getMessage(), ex); + return Response.status(500).entity(ex.getMessage()).build(); + } catch (VirtualFirealarmDeviceMgtPluginException ex) { + log.error(ex.getMessage(), ex); + return Response.status(500).entity(ex.getMessage()).build(); + } + } + + private boolean register(String deviceId, String name) { + try { + DeviceIdentifier deviceIdentifier = new DeviceIdentifier(); + deviceIdentifier.setId(deviceId); + deviceIdentifier.setType(VirtualFireAlarmConstants.DEVICE_TYPE); + if (APIUtil.getDeviceManagementService().isEnrolled(deviceIdentifier)) { + return false; + } + Device device = new Device(); + device.setDeviceIdentifier(deviceId); + EnrolmentInfo enrolmentInfo = new EnrolmentInfo(); + enrolmentInfo.setDateOfEnrolment(new Date().getTime()); + enrolmentInfo.setDateOfLastUpdate(new Date().getTime()); + enrolmentInfo.setStatus(EnrolmentInfo.Status.ACTIVE); + enrolmentInfo.setOwnership(EnrolmentInfo.OwnerShip.BYOD); + device.setName(name); + device.setType(VirtualFireAlarmConstants.DEVICE_TYPE); + enrolmentInfo.setOwner(APIUtil.getAuthenticatedUser()); + device.setEnrolmentInfo(enrolmentInfo); + return APIUtil.getDeviceManagementService().enrollDevice(device); + } catch (DeviceManagementException e) { + log.error(e.getMessage(), e); + return false; + } + } + + private ZipArchive createDownloadFile(String owner, String deviceName, String sketchType) + throws DeviceManagementException, APIManagerException, JWTClientException, + UserStoreException, VirtualFirealarmDeviceMgtPluginException { + //create new device id + String deviceId = shortUUID(); + if (apiApplicationKey == null) { + String applicationUsername = + PrivilegedCarbonContext.getThreadLocalCarbonContext().getUserRealm().getRealmConfiguration() + .getAdminUserName(); + APIManagementProviderService apiManagementProviderService = APIUtil.getAPIManagementProviderService(); + String[] tags = {VirtualFireAlarmConstants.DEVICE_TYPE}; + apiApplicationKey = apiManagementProviderService.generateAndRetrieveApplicationKeys( + VirtualFireAlarmConstants.DEVICE_TYPE, tags, KEY_TYPE, applicationUsername, true); + } + JWTClient jwtClient = APIUtil.getJWTClientManagerService().getJWTClient(); + String scopes = "device_type_" + VirtualFireAlarmConstants.DEVICE_TYPE + " device_" + deviceId; + AccessTokenInfo accessTokenInfo = jwtClient.getAccessToken(apiApplicationKey.getConsumerKey(), + apiApplicationKey.getConsumerSecret(), owner, + scopes); + String accessToken = accessTokenInfo.getAccessToken(); + String refreshToken = accessTokenInfo.getRefreshToken(); + //adding registering data + XmppAccount newXmppAccount = new XmppAccount(); + newXmppAccount.setAccountName(deviceId); + newXmppAccount.setUsername(deviceId); + newXmppAccount.setPassword(accessToken); + newXmppAccount.setEmail(deviceId + "@" + APIUtil.getTenantDomainOftheUser()); + boolean status; + if (XmppConfig.getInstance().isEnabled()) { + status = XmppServerClient.createAccount(newXmppAccount); + if (!status) { + String msg = "XMPP Account was not created for device - " + deviceId + " of owner - " + owner + + ".XMPP might have been disabled in org.wso2.carbon.device.mgt.iot" + + ".common.config.server.configs"; + throw new DeviceManagementException(msg); + } + } + status = register(deviceId, deviceName); + if (!status) { + String msg = "Error occurred while registering the device with " + "id: " + deviceId + " owner:" + owner; + throw new DeviceManagementException(msg); + } + ZipUtil ziputil = new ZipUtil(); + return ziputil.createZipFile(owner, APIUtil.getTenantDomainOftheUser(), sketchType, deviceId, + deviceName, accessToken, refreshToken); + } + + private static String shortUUID() { + UUID uuid = UUID.randomUUID(); + long l = ByteBuffer.wrap(uuid.toString().getBytes(StandardCharsets.UTF_8)).getLong(); + return Long.toString(l, Character.MAX_RADIX); + } + } diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/webapp/META-INF/permissions.xml b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/webapp/META-INF/permissions.xml index 8b8957385b..8c18f748ec 100644 --- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/webapp/META-INF/permissions.xml +++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/webapp/META-INF/permissions.xml @@ -28,48 +28,13 @@ - - Get device - /device-mgt/user/devices/list - /enrollment/devices/* - GET - virtual_firealarm_user - - - Remove device - /device-mgt/user/devices/remove - /enrollment/devices/* - DELETE - virtual_firealarm_user - Download device - /device-mgt/virtual_firealarm/user - /enrollment/devices/download + /device-mgt/user/devices + /device/download GET virtual_firealarm_user - - Update device - /device-mgt/user/devices/update - /enrollment/devices/* - POST - virtual_firealarm_user - - - Get Devices - /device-mgt/user/devices/list - /enrollment/devices - GET - virtual_firealarm_user - - - Register Device - /device-mgt/user/operations - /device/register/*/*/* - POST - virtual_firealarm_device - Control Buzz /device-mgt/user/operations @@ -77,13 +42,6 @@ POST virtual_firealarm_user - - Push Temperature - /device-mgt/user/stats - /device/temperature - POST - virtual_firealarm_device - Get Stats /device-mgt/user/stats diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/webapp/WEB-INF/cxf-servlet.xml b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/webapp/WEB-INF/cxf-servlet.xml index dd9427cea0..37a69c2682 100644 --- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/webapp/WEB-INF/cxf-servlet.xml +++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.api/src/main/webapp/WEB-INF/cxf-servlet.xml @@ -25,11 +25,8 @@ - - - + diff --git a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.virtual_firealarm.type-view/private/config.json b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.virtual_firealarm.type-view/private/config.json index b8435cd39b..e149dddb78 100644 --- a/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.virtual_firealarm.type-view/private/config.json +++ b/components/iot-plugins/virtual-fire-alarm-plugin/org.wso2.carbon.device.mgt.iot.virtualfirealarm.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.virtual_firealarm.type-view/private/config.json @@ -2,6 +2,6 @@ "deviceType": { "label": "Virtual Firealarm", "category": "virtual", - "downloadAgentUri": "virtual_firealarm/enrollment/devices/download" + "downloadAgentUri": "virtual_firealarm/device/download" } } \ No newline at end of file

hxoEZ^Q~*|W~d)R4qIE;D-Ane!s^>Qw7}2MIE{ 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 YLU5TlfDW6V7;YE`u;Js9p%3N%0LOTy5&!@I diff --git a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/ArduinoManagerServiceImpl.java b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/ArduinoManagerServiceImpl.java index 65fdd4ef9d..2b1268e9ea 100644 --- a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/ArduinoManagerServiceImpl.java +++ b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/ArduinoManagerServiceImpl.java @@ -188,9 +188,8 @@ public class ArduinoManagerServiceImpl implements ArduinoManagerService { } //create new device id String deviceId = shortUUID(); - String applicationUsername = - PrivilegedCarbonContext.getThreadLocalCarbonContext().getUserRealm().getRealmConfiguration() - .getAdminUserName(); + String applicationUsername = PrivilegedCarbonContext.getThreadLocalCarbonContext().getUserRealm() + .getRealmConfiguration().getAdminUserName(); if (apiApplicationKey == null) { APIManagementProviderService apiManagementProviderService = APIUtil.getAPIManagementProviderService(); String[] tags = {ArduinoConstants.DEVICE_TYPE}; @@ -213,7 +212,6 @@ public class ArduinoManagerServiceImpl implements ArduinoManagerService { ZipUtil ziputil = new ZipUtil(); ZipArchive zipFile = ziputil.createZipFile(owner, APIUtil.getTenantDomainOftheUser(), ArduinoConstants.DEVICE_TYPE, deviceId, deviceName, accessToken, refreshToken); - zipFile.setDeviceId(deviceId); return zipFile; } diff --git a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/util/ZipUtil.java b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/util/ZipUtil.java index 31bb0807c1..9f3dca2690 100644 --- a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/util/ZipUtil.java +++ b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.api/src/main/java/org/wso2/carbon/device/mgt/iot/arduino/service/impl/util/ZipUtil.java @@ -18,10 +18,9 @@ package org.wso2.carbon.device.mgt.iot.arduino.service.impl.util; +import org.wso2.carbon.base.MultitenantConstants; import org.wso2.carbon.device.mgt.common.DeviceManagementException; -import org.wso2.carbon.device.mgt.iot.exception.IoTException; -import org.wso2.carbon.device.mgt.iot.util.IoTUtil; -import org.wso2.carbon.device.mgt.iot.util.IotDeviceManagementUtil; +import org.wso2.carbon.device.mgt.iot.util.Utils; import org.wso2.carbon.device.mgt.iot.util.ZipArchive; import org.wso2.carbon.utils.CarbonUtils; @@ -35,13 +34,8 @@ import java.util.Map; */ public class ZipUtil { - private static final String HTTPS_PORT_PROPERTY = "httpsPort"; private static final String HTTP_PORT_PROPERTY = "httpPort"; - private static final String LOCALHOST = "localhost"; - private static final String HTTPS_PROTOCOL_APPENDER = "https://"; - private static final String HTTP_PROTOCOL_APPENDER = "http://"; - public ZipArchive createZipFile(String owner, String tenantDomain, String deviceType, String deviceId, String deviceName, String token, String refreshToken) throws DeviceManagementException { @@ -53,29 +47,27 @@ public class ZipUtil { String iotServerIP; try { - iotServerIP = IoTUtil.getHostName(); - String httpsServerPort = System.getProperty(HTTPS_PORT_PROPERTY); + iotServerIP = Utils.getHostName(); String httpServerPort = System.getProperty(HTTP_PORT_PROPERTY); - String httpsServerEP = HTTPS_PROTOCOL_APPENDER + iotServerIP + ":" + httpsServerPort; - String httpServerEP = HTTP_PROTOCOL_APPENDER + iotServerIP + ":" + httpServerPort; - String apimEndpoint = httpsServerEP; Map contextParams = new HashMap<>(); - contextParams.put("TENANT_DOMAIN", APIUtil.getTenantDomainOftheUser()); + + if (APIUtil.getTenantDomainOftheUser().equals(MultitenantConstants.SUPER_TENANT_DOMAIN_NAME)) { + contextParams.put("TENANT_DOMAIN", ""); + } else { + contextParams.put("TENANT_DOMAIN", "/t/" + tenantDomain); + } contextParams.put("DEVICE_OWNER", owner); contextParams.put("DEVICE_ID", deviceId); contextParams.put("DEVICE_NAME", deviceName); - contextParams.put("HTTPS_EP", httpsServerEP); - contextParams.put("HTTP_EP", httpServerEP); - contextParams.put("APIM_EP", apimEndpoint); + contextParams.put("SERVER_EP_IP", iotServerIP.replace('.', ',')); + contextParams.put("SERVER_EP_PORT", httpServerPort); contextParams.put("DEVICE_TOKEN", token); contextParams.put("DEVICE_REFRESH_TOKEN", refreshToken); ZipArchive zipFile; - zipFile = IotDeviceManagementUtil.getSketchArchive(archivesPath, templateSketchPath, contextParams); + zipFile = Utils.getSketchArchive(archivesPath, templateSketchPath, contextParams, deviceName); return zipFile; - } catch (IoTException e) { - throw new DeviceManagementException(e.getMessage()); } catch (IOException e) { throw new DeviceManagementException("Zip File Creation Failed", e); } diff --git a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.analytics-view/analytics-view.hbs b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.analytics-view/analytics-view.hbs index 6a28c72cf2..627fa4cbd2 100644 --- a/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.analytics-view/analytics-view.hbs +++ b/components/iot-plugins/arduino-plugin/org.wso2.carbon.device.mgt.iot.arduino.ui/src/main/resources/jaggeryapps/devicemgt/app/units/cdmf.unit.device.type.arduino.analytics-view/analytics-view.hbs @@ -1,11 +1,8 @@ -{{#zone "topCss"}} - {{css "css/graph.css"}} -{{/zone}} -

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⋙}YkNOoF=-B7Z2Qg7TNDOuPj9zE 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%0DIOulEINZhD>^1ryPw&l|E;H(gKr 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�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ℜP*6#H)t>RfwhhpMaI}F@A17ZvIBubjPhK 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 kmb%BAu6t?|HBqugcQGVzKFy9ZiJhKmAy?& zLbTH2$_o?H3xgX2RBd&)(C4>Cr`^$3ugdE3uSPuc*^-qQ=_lD}E0+BV7texDDtI{!NEK?nSS7mUCIw+Ryjmtm|<(D!w+cj8zW`#!3c;vwQ= zlgvl`J@izve-jT_8g%&WbVE3&v-U|roiJHYr`y{&@wjQyOPR!Y4mwwaRjd_2M(`^V z6a5H3l%@v4QKkR`V#t62mY#PlImKSaGL*20couwmbA_B&Ivn?~JSElMr5@^GKx<=% zZ!IIL@NJ<;+!M?d!8^f{fp|NktaT;`4@psnZXBF)f6ro(Ix%2&9td$lmr@Fm%ti7X zH(-9=TIgaG;?~X;!Hw4)SGg2Mr@`?eOHHAKc`?Om+4*W1k!!cb>&3M`t2T?|_&N=b z(DH=7eKwt9RndCC!q;%;3ix8-ygSXq=)D15!orY!uz+=0GuvLBnCI z>DnXd91P9VZqJxAsTn;TVApQYL%c;n4SlktXo%&7hsHy7x&TOz)0Y5Jz+rpxH4v^u zuI3X%et|Cv(~X=Enud+@r&n%}aUN2aLu#097oFssr=gIht8(C)ll3)mKy{>VZ$llhy!I;Di#iEu5ku$TWA%Y~j{0GcE)QMaYI& z)bttPb!Fd4fQMR|+Gj7Y1w=ifvve`(7b9Js>DWeF99^#6pww(Z;LQQPWYpjvblC_f zE=9)io_!x2{xXh0QWlEDug-0?e+!xB1v5+<;&+~ys@Zi2%bXloAWc=>$W6H87nWg2 z$y0Ku+Ah>{y01$e_1jNQLkG;NQG8mVbGbz&#z}_gepU7H5r0-Bv3y)6pG=Luv~Cm= zF@J2?|Kxi5cA*Td2meI>=D4G1|6ZhDdC`iesh<%O8W?SxcC%{5gEsHIVJ6$*J%vMH>X)?Byg+%Ars$r zPp`~&f)@RP%pwu-?(r=Y3f%U*Q{=wS0S};Gr4EbsGx&~?>00YAf6S(*v+GPIcS3Sz z3*KsBJis%H(gdck?Zm*7IHO?Oq?HMRuJJ~bnW$!k^wg{EP?%&5Pv#yaD4QaAySuc| z1Z$DD*RKY9zaPW+N(PB6iR>2Nr^s8>iqWt${c0LOqC;XzkvGf!FN~ITqSn~^r*I%p z^&txe*;sFVB>gsme`-_C7V3(S%_AEgXcNg%)E#QrNEZa<$?-9r z6A}3aj!^V?z7+^yq?U;_cm&Nb<*(EY=RO-{2Wq-m%0%qsN9z1KFE($ZD6r@0^g-^I1zQR;hLfo z`f2k@)mRKg^r$B}73 zSifJLAamcdHbK;#%gO{517#!98hRq}-pJxDH)tF;pEgL7Vx3szAe4vKl~yE633wA- zu(+-Pe;Ibxp1!46qjo^GE;EJd!$@y2cI|+ zgfJmVS>YPem5%C)rhCjH*{I$w zaBL=D`6F&IC1*cZYdZw?6Bb;8*Qsirf1nMa-a081H>CSY-so|=7$hCA+%ngGn%3NOt_#B-z>Yxe9)blZrVvaO;?pp zB-l`BM+#Yp;e`8NY@_ifVxC!yCC!> z9glMjnl%6#w%ZmAXF}!alaK)IkSiKujd}6YV*8f`br~W7+m|SH88QoY@W9Oy%B-qt zj@y@Ibr~N4_Lqfq8Fd0|H<$c%86XX4UNS<7XF$R(ey;dOmnn7`Eq`Q(P66VqwO|w? z>qPz$wk&?&1`hU4B>R>pXp$pkhxT_Gn1WlXd6L!Cc2!~bjI0~5mJ)4(O|iFDB71=% z#@TEtLSE=~o@6)61Yr(Y!KTgs9KJBLat87xY|Z<`fOs;%bC97i7dsQC^NU6aLgJmK zdHjMAY&qL$8okdO0aKgm+lAVy@sgZ`0CfTF95LEe-!6>B#l@BX+r*-x!Ul2lO`S1? zamtG^M$%5xsC9t^Lsp1P3Kw?VcvUh{9=;Q4ZsAIb%^6i`JnXzuPgNGT6PGD>87Y5n zCzwID6gJi8nZi8U-Y&TEF7guW3floS!$QGN@)CPkJ44-p?b{qLb}$?GDd&(;wP0w5 z7gU2pe&`kII23xuQlTQDz>+Q(FiL1JHS;9FcjkyWT$nbbc{u^)t1;udnL_gdNa}49 zeM^wQrmhpC&wO2oUHKej&VsD~s_cImY&vDPe11c5$kH2SLzL;cAciB58n&m)y(e{&DlKF;ZHr_PZz4)g2q#Ubju-|8w{%nj=FHK z$9ojS!QD(@vJPnmnP~c%+D9<%u29Oavc4KIBfZqqBeR2C2Bq0s=0S=BBQH%DV=~(% zkf5(I2s6D9C{%@BDY-%+gzSIjfN5`S2T&z@2~N4*I`C_|uaW~r8jb${Zx@tjtntzh z+83&PA)h_+hsg|oyHGD$ykNq7(LGO85NCmtlTb+ct*C6kH{LB^d@nuqXxt|^e`021 zP%A`IqdTJ0fVg*ALJt+7MG=!K6O)dH&ywurNLCl-n}zFMYcZ3>qM3i7e#VPNV1kPb zdbAUqacU;DF_~yn!l&2M?G*LOQ>rY4)+GI{u_m~Wy5AE;Uun`=ax~I~o}J7G5Q^7; zWmZ`y;H+nmE3Y)jud4TyMKq%+5H*Exi=d!_(%St`$rBYL-K#iUzIaup7O5Q&OtVVu z;_w8bEF8J%TZ;N>HKTu2$P-`4kTh56({Sm!i}l;1rxdC)WD4Dh0+F<%_1jgzHDyZZ zZ)!F>Qv|ME0V;GLKVn>*KPg;?E1IYT%eSBXnMB!Pg_+=sKXc#9YS!3z{oo<8u4tO339RhLt$e$>rkw{&x2@Nl6s$-SnKolJkfLc(75u)1hY%y*dr z9c^EILsADxjhmGs_a+^8x17}PK*4bCir_yD(>x@6)2|M@X6O(S?n#1&K)RfeH%NPw z*R3Z?4IyG0FS&M4)|Ld>K_$ln;j3>3aN^~7&GoA#QuGVk<}ReHOUgBJlZ|W1HCu3U zzPqP1EVj-SH}ZdBZ<)yd3#X$OU1!>d66^dlSz=_Vri#rvehxa^tLbcZrA1NG=fg%+R~b9Vr)&Yk&VSqeHDn?(`>IIcBdR;c`;OY!ay zdj2{^-34}nW4_el!!}!<#G{^gr+so?>7W_aOu~5I477g<3(>o3hjpDX|3+cwWWjN% znhP!!6UX0+fxvx9JD_UAugPe7vN)RD?+#3HW!dn{cm}i5B$+a;(SpD?jlH$tn4b9p z8Rl>q5al!SgxUL$ySSTT`;|{M*kHGdCPTICcyu+j;3T|nB|%)sy;$fH5ZDEv#?p0& zgeXB2&b)tAkE6WSysFqUiYTwRQ&`nR+9V}*BP7;*qdJ0ne96*8uW<4O9ksP-rZ6XX z1XLeQfe>=KGeLN$nMQ_V!BB1=95LN?ga*rx@_^gYD2dnL-Bx6(Y ztKDHq6X>Z62SNTM37ESU6xU#9s7P4I9Sr9m>w(metZx=>x_5=oZ6=Uy!27^yK2w`H zMKFJThR@nDq7&-y4Ap0)0=B(lpT^fpggn>z7YQ_|pA!)#jbZ`Y`K$&iOQK(1Z-o{C zhGd^p@$b+=!|dD)5KJ`cl2UZCM2f08FglbjXPR#(P+t$sA+=EQFkz2ko^ z7^VTT3{kgF$p3v)#?%HW!DotBM@PtXrGO=Bb1K^;jf{_-E1Rk7JQDi5?-}2iFxZ^R zCqNMTa2w4Ci?~50K_1CH5X|0VJ`k`Jxc4ptur#g#rp-^P^KrW{`$W~!T*ehnBf+Us zh$Vf)NJG{yn@}I@6c$Y^^oJ#qx#1R`H!F{NjvxEs~ z#p#J^C?9V)@?%pJ)rcRBfCnaR8Llo|7E=r-jcPi4o$s2tB7{g=6>!kMY<_Sw2z0@? zN!FlTg{iWu9>aPOG}{qqG|IUx%AT`e%)UW^)NZ;^!392N4Z|BO453x)2?VBX7 zGd0Z|h!O6kg3XT8pacOk2AMhGGAnhLWs=wpNf>qqsr8kquaN#MqlteI4MJ6#)HcL< zBums!yQs*n8t!|VGVx1_)Q^Ul9xRan(O*`<32vjC@b2hK0xXtSoF;=^1%CK4i$3g6J ziuqA?I5cE2`_3k{BSJImr6&F`6bl{BJe{Z#<$6rOm~-+ff-c+WtX0T87~3x zm(GD1YyqRUJAxVG0Ro=Tmmq{0iy>|P1w~KNZ8rhJHdJqOwlFY=fz}9O6me|W@;t9p z$^1)~%!C;we4A}Gk<(J}^$;r6ELNjmZcGrOUVNNv7mB3gepdWh?RJBkF?bMTBEf2Q6M)oH4&S432Fu;1VwtbnFlw0{lXuoS7j`QC4E z4D$_NQ2WKe4~APnc07*DEHDndo5eodbM05rJ*G5gbw;~IKVz78h>V884K>p*oSJw* zYAlm@Y;eUH?rIUHiKzL>Td%msCH0DL+;%}3e@<|WE6pz~eBYd@sC2xgG>a*+tXS%c zMH&inQI*&&D-s;#R9b!W3*<0msGSI#TbLQ8eDAAcs+nZkT)8) zJBhqOQxjFUCZP_Ly>ZPIx)&aj8BKZ{kJy_8Y{-m)JMKGBP_Nj}+a5gj!}x=Wv2a+v(~-s%rajwR>FP)f{WL z3l+e*MctC((RtB432M9EA-t1Bl3XT5Ifcdps{Zr2!WKNRS+nQ#=I*wlD}?OWepu2G)xxG29q*FPckcbM}34--)f1&t-1Phv8&2IQzL)>EvWUw*YgT?rNRy>`4LZ0;f8fgm{z0-N zY*W;&Lik3|@_1}93k>cSln&@QHcNBBRF-|apfyB`7vJum7w~= z45ydNAVO9eNga~x5Y{{gbRipxx3rX?#_Re%WAym&^RzB^oZ=hZ#0C~A4NuuZfDRP3 zr{n8BQ@XNsPxDc&0tEf!f3?1UcQ`ohTH%FNi4Sjrf`fk(VB*!>d9ERWBF5K)c>AYH zmA()efS5XqR4zd*6S?eCw%Av);f?Gv((LH7?9WflL#K>25?zQ%1U$0>uDYR^>>n9( z-q5g(u*Zhzg79e39XvWjpvEH$GYJAEoJ$S~r%3{mG>je~4eBXfe`oMSW|poh3}Plu zk5RxabqC+R-q8Sk(yazIKmZ0!&8~X|?+*6JVlb{llFfF>yFv*q1YMy6bY8DKeNh?) zB(K3(9*+<7U|oS2KoE5R53MS#ts>oF%oSm8(GH-yNGBdnrHQ@FFH~hU*@1Kt#A0U` zVK*W#A992a&nRz3e`SVekF(>74xj{fLtcE@;o07JFrd>+JXu3iP<~}jXM{Ex-LUX& z@nUUly+aNy0a9Y};fO_;sNH43wJ~glTP=p z?^LY3lh&jglN9T4)1aSlI9#awbFK(xrwaf_GT9Au2wr%w7Zk5)k1B0`0i(V8b**iF zkpwlsx4ZaCe|J#|$ezrIeQcc-(BO_1E15L)bfbHRXxj=Hj`MN~-n$ox+ana-L!lQi zdDYr45I*jkg&+`_T0J@LN8T9Ly8VdtSep!d&;X4A}Z#A8!4E#R?|CctnE+gkF(K zwFG0lf$qiYGP8C<&(nz*IVDDz!Fm{XXb$NA-}Cn^?{+(4ez%6bB_1E>EV^E(Q`zBg zJQ!^sf4i2LJaYLwo#8r82os46w9CCPW@}q>3ZWimTiva{F01nAwVhl3&DK#>AfNvY z^wHK(7|N3pp>?;q^;T78Te5#U%C>AN+4`$TJ3G5?4!+ub{`|>{{k^|pVD3zLdIotN zaOM3Q)LvfqRiB?tAoV%YBK%#q%n_COMsXBQZyW2fJ?gkA_VWw>v5qBS~7(6nSnTYtp1eYv<|+OChMUbAKjvubY< zFfF91ze_O$^Fo*FZqW>D>v@`1Id?^(P9FsA6c#YouAc?)KWz28<;hrh!v7%M_^5&? zcuQ9Cty0?69>;x{vH>4-gMgCg5V~yOe*`n>&-l&woAVd@#EfRAi+a`L!P?PX3(PF{ zmVAz*0E(x2(G)~*xyFWn0mKj~y>J74h13=3M~v}}OzYi-Ek2XXaA*ebD{2l4;BK4U zHlL9BBQ?mLTPPBndp@gOhjlopA?TLh5taaK$g&~bP2=*YEKQvOt2QX6UocO^e>Y@+ z86*YWe?P)<%Jnf9 zAV0znMt$B(R+3pkb^ikh+!^MryeGAgI>^;m4G>k|hu6p5Ve05a1=n zKa}?n6MYgf1fHj#v5xqv^AN!lb>acJ3hbejwJtklj%v?il#O4+fdq*a$Gd% zYmvTprBX60HEv!F}8DYxTy zglFcJ!d|iw;l@+w0_aOsZ%luxyw(QLsjN%|*sekR)WL61e^^ypK=?GR)SoG^dgSTS zpXo174`^3lE~b75_NySV5ZZo)8*!z_ZWJ2G3$?5yoY-U%S1DRVs4gCn7u9>&$OwKs ztctBiU+r&yx4r-N;Hy_p9_>H*`X9EmEKIzP_Ug&r>*o`+z5Pe8_OH-(U%n*mE@-3b zx>t29=_)0@9L6c}B{vF8L<0=o0mkh>#_dY+`_bqzj?ITp%9rzz87~1Lmm`uHD;GOx z4*r~6)vOZ9?<$n@AVy)VY2$kIG?!(P88v@*s9kXhKXEM5W#CdTUzbPzXzoVro|t^7ZbfBDd5_iXAGxtH7c{ZcOvrsi>Z_>fz#IlzxEv23*f zx?}&TPk=pTkS>pwNM@P`LoG|xMP}8oZ!$>QOgGbsdns`SL{xJTfV-WjwG=Aa-&Z*4f@r%X%)KPe5uS=~WlaIYqwCj;A&hbiL(Z zPB~k4%Zh3M(y~LKV9Op~PIVMANrTLw$PE+>5osz7>gx?~&Pa{`)G3z$x^?@pKnJIE zBhKwFmL8PrMZ7m3g2HI z$=oW7sf@c`w*;60%rG(m!2;tO{BC`_xBFs?ybU6$AE~DB)}#9Vn^%uy4S03%=+&!7 zZ@0jqZ{=mseCA&82wiq-YCC46yP1#VwEOtmCtvOV*{uF!%u4m}HKe;`R@<|^t-r=I z_4tsuY%is!%Y%&mp`Zm;2IzktJTyTqsHXwKxER;kY>4zsY9%Gv*;Jb}ddH%SYKeH_ zhmJ3*-E6*{V3Yz759QF8?qy}~xvv2?%M7E$V}=WgDHG}mLd0%V7Pn40>3>e%I=WvU z-#5U(;{RgurqrX{$1>t-HsLwyv*f003iB5q zN&Z+_KK7ap@4<&OUo>d3_pV(s2e{x;F$<8#&GN0^KgJh&kHagp>ifr78B~Lb!ZX~= zhF?JL%+LX;MXdn(PTEY9x*yx z2&*9#yR6v>g>!IbS{;qCXE%8&OB<@cM8sm7Q7IJ!cO4=_<9&Y;T?}tR*4j=gY7?H3 zWEy;FeLAc2x;emGXD|2IAy`YU?d&VYUJIScb#)d@5f5OHb?%n+2t8dX-aCA{N#eWDby z(71{6tyu$VCDDH{vUDvvw!DI-MSyQL=@W2+wBU;_Iz=a)GunH`R76jqHx>3%G;-Ac zv_{1XZ8++zHcf(l%&-evOpxbVC_4LrXQup+Qk9ufb^TaD05y9a{ourS3ZMvIYl*_bZ`PF|q_>y%~+UxpJeU#@~B&Cdwzx;K22k^()BxT3TVU*wKJ1>hv z7*GfZ+olD*nmmd~-dBKLsSIGPP$2=KkIjPm<@=a;gV894#xm+Y4r z%n6@U0TAXKWt5X`th42^)J#?9MF%u z{mIu*jR6WavRh?AYwmj?mbcz1BWk3lm3qP@s2#_$FO4#j0FTtPUV8p0KbDy>b(Xza zUgInK^OShdhXRPoDNJhbZesg;XYR3@MP+f>ytGW&PNjeYylw2Jvd5CXukL}_lr!|#H5Zk%o?y)Oj&I2*_?gow@%epJ;R(+1(eZW5aLFgm-AIpQ| zvrIYET4rrXs5kJt_1A|yrr0u}T>Upwf2;Jd9-GRCr;Oiq#aOd-g?Eo7w;ZY*zsrVI z?GNl8zkan{`vY9B7b09cVmcLN;%i8MTHpt%oKBvCo%ivBZ+R)ehkx!1ghSx+!ygI$ z8^C`9H}OZ(Rg(FXns?byJdI|#?_8m((~1gjMv9-sEh+k1{@i*VLR9RI`{owYXl`L`Wt;59?mc|$_tF^JRotva zzINb^G^@-<`N=>iZ#CfU^?cCBe_w&WbIEWjpZxSidLB2o76^N#kyZogxt&~Y2g-hS z0#T*qjHT&8o;>IDyZW*G`c8c47iIpw_2U^IiGRcO`_2o`Dd)Pu5Ivnbc_9RyTJM?fFwe<#lXgUzNO z&)w2(i3nwJ8w6*}CsskMY49$PA`2P;t~I(21W>t9(06oeEbOAdl0o3OP0ElsLr7o%fCIiWb_L}Ps zMa^rOwuk+%`TvIhZ~2eDe~CE)Ek52o>dM#|OF;t4w?3M?hYjNUn2T?8%EU$&w@rSGJLYIe0&(85c^==DM`3i&=AQyiE9#Qm^TD363U9T?#|S^Dj52C&ExDS{M%h_* z3Sz1{4CF%~3^7u7f9^PzPVqLcSg1LhcZe0`Nzh)25v2ij_)xcA*hO@6yknp^bI4q2 zOdlDC>N-OKoT9f4@b2F*ob!$+2A5~*8w^q3w_Va==Pe;DcR2KS%649lC+?%?GF_d$ zZ5jPtmB#O3<8Tb{RS6}LN@i&4&mhpE^J6F36T(}Xdv&Upe{Ti6rdt!TnYZmwRuXU~ zJ~PA+nIW-en@;jiPwFRus+N;4qEbb-)ZQ!WndMQ_+Z6kBXVCw{uimkqY6PvD_-!aR zsxv7*C;2Wly7!tTDnr880?IcqY3j{DOkcbesA@+Jlp}l7AvnIygGs$m+1eh%Lc1lN zt$SNE+w3;Ce-TL7`3M4e9EcuX8NDwcYUZ+$P~s63i05PU8n}_DtrPPa#huNQe*a{0 zwJ1dx83_)%Zk>A+r<+c`zM?aW5w^Sba1MuMC21T{g*~izJFf-O5;mA~c8ixVdC8D| zN*5aoZsM~75h&E9{jt)#&tz8zEr%9BIJPg&;h9msf0wRxxJe;%UpIHl2~eoZi*9jY zUv?b{Rozrwo~;G|C_kB{+clKaj6Ax>v4pQ?^^iHyznW1JU-C0Voh_t&xj!59GzhTX zzXfWgb9UlPhM6mmPaKX7Neu_bZK6*ngPuk`(Xu>FO}OhW$+O;Xl!HVONq{r7sm8kX z*T0j$e>c#XjPNgH92WW_OWdmsZT>+p`52Zs{rRv?scMy!cTAC&fY%wrVA>2WsQ%r1Sfx;%1GMjJ8_P7wP)Y zhg;%>W4Ika4Or94YvJ8AIXVo{ z#JBTW1UbwiS4Na;MLJFS9L4a|Rn%~2Kyd>+6Ii(`8VD#hH%driX|sd`|8&Q5gc8>k z-y5e9)0GBB2OA2!plv#nZydj&A=DzgT^QS%BS$2HLdWv%GT0~;Hr_WJB=-X|jd3<+#9N<_^?Rz$rVr$4P#V&6r_+Dzh zl`vdRGM;>6mI6z!8&rvq_lr){YE^92e+|1cM&67mnzl(8DMDsKd`hC}w{ING*D)SffkViJfUnOb6s;J>ZoJAIr$ zN#}!~2=qXiCaLB~MU7E78uDV2hU7dE>qAsyn8alJ(oI8^Sy%;DV9Itg`UOxB0*UpP z(4!eDe`cApF0~y~YHes`geY14xetV5s*+c%N%vza2{Uhz+>AA9CUpa;X|)&*ip0vc z1}(*&zRP3+&pc6s+hF>!2%Aj6jG@^!au2hau(@mbZ0t?UHAYG~->q4yE)(rQR(v(! z-mQO}P~OY%^ENe3vv08;h%KRJ!M6kq*xRzw7cz_6=XyybgBIea_q~CgvEzK=VzEE2zJsy zOnc)fg)Qek3W-q4y`s~x7)I?N07VCv$eR)s=^Ss13aZdVA(u#$b3X%#B6IGqUd(KP ze}kBR$Md~62Oo0|Q3IMPvNynBq^^7VwqePPMVy}QRQ^Q#RdQ5q{?cY|@y*?e;bFR3 zHNxxhiIut*C}qN%k!0T8;s$cR8pZ>Qq_g0VyWYm~#_HYIAgmWFc|8&>o^!=SjchS2 zt=3QpAsiR)bPF_76qMy0kIJ&s!(7XNfAxbGx=xe4vjJWBj`cOS0!>=67s$*?rv=dm zVLQ;Yk2Qe13TTUnd9@>#eMR_O7F!PyqOVaC4XHsHsQJ0FSqqAcnU^sqWM|7>R*ZCg z2~@bt%W2D+^e@DrFe|oI$2?>rTb2}#b`y4+^sjAzOMn~)!^oIwSJ`H78*z5;f4D+= z6*q+QYQ4=0%hd~Azrv^+54z-+e=T=*AvEx9l2T{<34fszol3ozfO6i@VuBxhXXqkH z3untk=l9r=+yjNP_!ZLQyH_OouJ%?)n~|GsgoL;*-~)!3${ZPjVRDPiM-p5aJ@2Ym z%X(WfzFQhSG#MK+(WCjbYm@&De~$v|1TXZg1!>9%I9VDrbx*0%g+Q@0f1ZS4b7z#6 zdDAJi&wbaa9-1WKj6R-CyVSRnER+siH3mZ^FDFUQ;Q={59Rb@FuQ=-CN-}n+KDMW(d#v zdLvmpzJ`_0`ow7LEXaqeZiptP&7$X;*YgREHYSxiV^|dk>OMRIe^QURDMb$*nF%gX zf}gAfr9if(fcrC%b{E#{S`Mjh0S8O+L1;eq3to2md8S^7+@{S{{h<4Ck{1^b)D`IZl0uzdFG2hZiQTV9NNpOO4G z^Ft@Pc*X57y&eDhe{bX`ZzC0XpygvVF8|(}lqLJ^555V{2!=|3-)+IG)UW@p+pIDE z`R}@kD&eZg{DYtNeDBFC_bc>=A9|CI5%qcGxBvc!-hOcK<%^o#-VeU>@UvI-JAe6u z@1*AZqaT`mJS-o`JINTC`_12TPjG(p#Sgu!ls!0NZlhH+e?Wxkj=Ku^|M^2pIv*4n zhhI7y{^9SwTjy1~{ckmxw9$!--3R}2u>YHX{xWBn+TZ-Zdo;Vh<|giXJ2*mZs?04w z@7Jji7xYf0fz4|44wB0WW~gJB)uU%v(p@BBf$kR5@@j!x5V4PPjl9PH5JBue~6U{3RcudEV~53PLu=u#Yjl4qwz> z1ckV~$DoomKg3H_hfk%mPH8I}G?b=Qge;hrKpjd-z!bDotaHSIJB7ym2%yk$*Ad#| zkNLsF8up0K=Gitb)@W@aCf4D3^;F%k%9SQ%1t5U=YwDNqsu>o4vVl3`s446=REnW- zw*)K){h$|7s+kdTnEK|89JXOMaDFKRDahd;Uzl&q%}7g}nzbXSKxnH}2iaqY*kSJKRB+Fh=97(_VTn`iZU>b^l*lUk&{hM`oiU!KH}eV)M0RnrjNS2?BEt&x5H%7eTVug^!NfdEBum+pt}B<(6o>@ zjCSSzRfmED)Fr2sTH455=qaq~%7o3|5Mec#&|7JTv=P9>3)hCC!(%cB?kQ7$pxDel!xRy0PQU9p8LL+inuNsmnf5IFA>k)tM zTZKlXX(3qs+jWl-DY=|!I zI{8nkzaw0ZD+6E_tEI)1f0m|{sw&6E2fBCg^7p^{)kD4&ah!A*Ojf}&?mzqN;loG2 zwsIb4Z@XuMTt7mI1xxBUfKlwK63F|hzn`^PijIjA-6gY!S*`SD^L@`2)_SRd$Rc5~ zHH28dRsc253sD?^Pe&xI&JZ5i&8qE6komNhue#OS5Qtcd4silCe{&c}3YP3Or7s8e zIKvomVxE+~T?>1VdyJsJj&_Yy+JlSd7E@(GQ7&gS)qy7Q-eA)8UW4<^iOd(WOYG16 zgG0j1@I_$e^foqteN%F&r;Kq{wUvV|x6%?E_%f@L2+)?6Xu6 zV)`*E0bPbBFRoE0f2kK#0|YPx&@g~A#}{U{zoR^dk5e*aTV=Y$IOz5~ya~1`x{QVDlEB zM@vT~1_V8f4)0${g2C@np%@oH$>)! z8C4O}m6|2fc5*wRrj`axqw6Wyies)2wH63`Q#|%wAYGvtem5pw((U%@n-<6I8d_7Y zuBE7tm5J-UsLt|w9aqOdPLsW5c$g`0ts1H>f#}rQD0>_L@Goo4>RE%%WT;P63yYb8 zMwnBgcAU4xe^pvdx9e$%YLkCHRTy$D#b%&lX!$32rM>A%Ci}vIPNZbAx#NkKm00{m z619z1AWvj2P-@C@8D%t6Ez~D=HqJc(a3>NfOjObSrOo(Nr)`i&ZVc-W_xrQZo zbq!F2!DVse9g=BZh~i5r^4jEBV2Z>92ER!k=hxu0e{=%#B5vOs6CJ5M&RzlX5eeR7Iv?Nk>X0AsC)Y-1+PPSIA<9 z1Ms@$#cF$UwSHF1=}^GIOd96a;go7;*Cr$RVFqSZu1|!Eyf(?D37{;orv?)%L=v~Q z3lnpJf7Ud>qzQ&Wcr;19GI_#l>?iWSwOUHL!m(&~1zmOxDx zeas}7@W}L*V0$B)`@P*C`1Q6?G*dNkMW|Dr|$;ntO_s}?pEKwtAOOY z#5%0cQa;^bDHL$wM)elB;ZQo*Zh|;LbIT>wf4(Il9JDMGRTn=?gwdfUVdV37DwvmKuc3CSx^0wCEdH{qSrL2ewW%+@j{NWE-^U$uujox+9ZG z4%Q)P*-yghIo6^zNB7)%4fQs`jczbE>$sV_ZadY(?U`ulqggtfSL>Pf_hg{rfn{iV ze+KoJH;KVn1$3?SqGY}hRx@B1JbRQDE3s6||8Bn@7>6$g{kUyLT18h#4ZyP9?n0%A z3Dl7&*%XOi2${KS_{$_>-zt(`q;5o3KuNP~&k+2H_a{`2gl5=#YidS@+Yy$DIj=m9 zJzA+^a6o?Q3aUx`aD?2u4*M-D$|b?=f6CFWl?NTp^cgy#nae62#J50)Cqs_dMC2zu z>>Ps$jNG-!L@L8bJvg)i_{CQgjWh*}4`~P{YoeNVn3^h^iy# z8Q zlbutAjk#i-ez!R7!~lK>s(A0}G>s*<<%#uswl9%2`zKDPuO9PsGIQ^bzdw%_G?U3x zjb}>w$=}GNMcqU$b_Ylip$NPd!02@`kkmIAPBpP0N?pZ z>=NA-VqBgPkXmanHvj7ckNNS&)o_fSGRScf&6=DsAP@bf$w$tQkS~|}Mkthk9lWt? z=e>-qyG90zqPmwBP2*=G3@OUNUl|`2>GaX0GLtcw7>nI%;g`9dkVn}>F$C6^q-?yXc@H532uAXg}pD@nB zgsxlXd3mbs6q-3{e}Yo>Z-lD6mk;^X&WKw$a)-X?mchmynirUeF8Gvp7yS6|E|M4y z(x%gKrr-VNgyGm%xWKb4?qSu#Wf``ytIYUJRTwz0T$^BB!J)PMJ$*MRfT3GVkHC@2 z+ewwm6JDh>X)dZ1MDA&NG#vC?wzxpFgcMEzO3&6D$*9&2e^T2>!Ml&)Ze|iPxFFGS z(+ZdG z&^QvjM6BT^5JU-uEJ-+{P>u3!m7DXU>o^XVma5>CZ4p;?<0YJj>*BEtP`$7!Sv3$= zCN$104xmnpe|2bchF~G3!&y2Ym0imhs3?5aER9K`y#QqIc=w2`*SsCLZ|D^+77ur2)d75XhzYzKo&bFSg2UMUV$Z5pQ3_9e*iV98SsNl-%4X%3h;XTO?>{f z$(j7l<@Zj0-~G?IAAK`-?VE@4dnCVK%kMYxdp&pKo1^Km{12sz-S`GBqON}feVT8k zf=;{rxtsWZsFz22`SsiaF3@_I2XL4xT^2UE=xn#75Kgxi2u?=;^oZr=H?$g9;U(F= zH(o5j{e2%$jV8I48Vif;z`G45r+8D?v z=C#Mk^<39Vz4AQgN3x|Xej>kL%1^pXfmV{PGGBDQeEH(@xf?}i{~`Y$@&8YAOGW3P z$|jwM-3T5 zuo7xj^7Jji;hCm$COhz9N2bhCKE7bKd~_r=m>y%_y9#_<=3^N~9UksW4ro=7F2f4Hk{AomYCli{?GQda=W(s1Mzk$eM&AsV3# z24%4=1C$;f~Wm$Ti$8@E#8Dg*-|2 z@#~O%{Cb?g-$u9>D>3fxh9U(X<6VeA4y8;;i54cU$WBy4!SFIZOSS-LM~CHUe?NAN z4WNC-_3))n@hi{${QEMEW_6}vN04WFksWdXZeXk`1tGhhE#F@?+o)15!RxiowA;~@K z2L&gbj(PG<#~u7nhScdeQtunpK78*jM&A)*_FxPxGI`SZ72c=vmXL<8e-NN_Nw1yh z1n(uqc6&S}RU}R)(y9SI^Vwvck(Z7zfYS*=K9NpkhD#e=)G}NXPU&XR?GJL9)o@Xz zT;0&lg94xXdR3w5aselGqt~zZp5RVshTebz0dkYQYU?#@ifCi$ zuS*H%5BdK{`d3$@&NKmlfA>%gY{ASOyFgE}-jH6+r8?(uS`9%Q?xbTvDH@V5q{#+O zow^Df%-(^7&B2Nyai50N{XEwoGpNMDl!=C^n|@$;UZ|V0lTC-XV+&ZwPTiDiMNe9* z*F%$Blc9I5Kw_qQ#??YS2GbD|_is075VnN>UkG#fPx4*@+TrX1e_;d$CNS<7`Jk^y zAx%;yb}+I6?6Gv^;=;lukf3_D26OwcNEo3UT7Y7N7uLX3QwTzFs_l^S%$7-*{R;(o z-Zgg@;CoI(x35TpmN!e@>qmPj;@~z7ux$)6uw#VC`YFV%2cYMV_hfPc@J&^HH7HzB zOJCbIBpVUlcX_(je<9hOY}9eB!5WD*H3&WyTHKmuuaLC6?xm%x5vEh!fN+b-T*l(9 z8Z0jaXMUWogkmh>bB$}vcZT3xA1>^m-uHT34o=4E9$W8o3QxE7E13dF0C!96FNUz# zZcyrfs?*R2JR#~(T`kOUDq2jPO^rQSBAe>Nt-AtUE7`w*|FR_-z% z*Kk$B2)0=$?gUk@u92*3;TP&G6hH?JUprjz#Q`9eQ@Q?GVT*KiCE-%td{t`s&HWPnoN;~0-+0T@ODP>qsFSy98fvT-PzC`iAZe8kae~i%f{n8BylQN^2&AlZp-?Djlm<#T zaKAlE3D!loLW;i9OZT}Q63mx>NZ9rSjeZ)OO*WlQ2W+7Z;YmAAnRQkb25&p$P!qtF zI$p*?e?w&gB@}WmQbxJD!<3siov;86SM0p&a95i~z>ZD454E9eve> z7P(WQ`W4~*9=KwnsyZfJ@pzzXEQuEwVDMRu*8L0BrDmMRNJjv(oDCU?k)h#Rj_Itu z8c+|zE`w3s&1@I|cItP(v9*51iA2fArv$E9e~Qb5X!ooe>9bd_LzF4c2Fapj^XKW2 zwGmg1Xp1gRB#nZ};In*kF>^QUv-e)kJei}(Xt#`pK`WgxdPliy3ACwyI_~8(F3_7= zme$u(S!vf18h=D@*K+OZ%4(p^@&>AwM8pqxmaz<6&o)r^(IxM2EfOalau-FLD(M

d)c|D$Q>h~nn{!w4Xdv-dbbBWJZyX4RXrid&+^U8niqkG1} z-5AAn!*e_f44M_F^WTF%+UF~RznJ4ST2C%;``U*~5Z54yHX-#DAJOtEs!AR-e^3^6 zvY08IPu*p|a7vz0h*d6RP8F=LIQ;BCcELPy@r2+kBO=TUm^iMHx}CV0cf`P5z;#=) z4*X2|Q`_$xh?q7=fOM3P@)<(%;S5|_gWyEgjYJD_66t13VtM;*O7KJW$54wL7cJJ; z=ug>dtCuZ9JT)20oCNxVYKX{mlNnU#t$sMa4D_2e#);**6e^(0Cz(n&2!Yat&VdMH zOn9na-+Cmt0HJ=&ur?PJ+zjW*i7?f8`41xwpCa<1ZQJPP87jtP5Hw1)ukcCeiJ@|i z9^;JJ7yUcbxy0K|4w$KRNv7G6pR8nG;5?A15$=T4kpl)pao~L+cz-|yzUC34r$uO*BkXV-;z9!x5m+U zBQ7vEN_Cu+;KlTazhvJt)PB0=RGMDqkbX*!!9$^A_r=N*{S{t+MIC(hzC3Cse$|E|un*NJyBPlrWu8Utp;H&sc$P ztM+2W0T9{lm|}QMV68!8n~cJ7Pi9F)OZW3?mQ;Id6P8r{6W1YUydp;+lVvEeFA#sb zc=Z#LkoimEHqrCg|6}PYpxSu8ZUVvGod$Pzx8lW}VnvHXfuijOcXugP++7OA3I&Q& zw765CIK|;hfB)|s!k*1eHj|mzdGFnO-%RJ(&K1i*v52EXgCX?P z%T}8*ggi`TT7~RV$`4E_eEoVmuiUCxC%CYySv0=(nmB3&!EC7RP%TUWjTPp7IW#=N z0<5w&HR}ryp41OdJ{2q_#9WYyGsQ0~Tr~U`F+3vNRe5Il`7dX;ZP}0* z3^!y`9Ix!$2Jz@hZm1Ds$mD%33;9~+HZRE!`%sihs30qiU-w7x8^S9T%^Ey@E_rbN2ujCksf4F2P5Tu@5iskn*-VN#1)H{7AI>KVmp4JQ>l!`7K6<0JgYQJ@N z%(byx<8Y6eb$?+J%#&-9!?Y)5`te+iF;C&MnB2~RWbi8lUTCiTAXru!JpupiHqu~u z;)rV@8{-eI&S6z5ZzK+=s8fvIV`T&P=+J;%PeC)|3qK?hM_y*Y@3e&He!moqp;NHQ>)- zuNJ8ih^!|d6BlF&NbjqNJg4-%HeVDWSg`+bXStvHMSDCivfH?8n`5_2Wrw!x7>5H3 z>V6?$wleOxv$SS8?5MOMiVj9K+eLEUF|QuE}BdNr~$Uaxa^vSQ?$`@*(bEDErRhiSjhJq(0(YL!uuoSv zyrg!VYr?drZu_8zOA9khipv-7=?^z2g`wyzB*>n$VGAqomX_E(NSygz$JwZm^k+JW zu%#TQvazHAH6%B*@C6dO{ORLC8z{@y;!4in(e?Lv^r2@+uGhIQ#nzr0h3<&hY`eMN zV(`c4U^18OqW@sP1y93l_^tmvcAKOsl}dQBn{hn!r(i88mJ%cUnFjGdohx8{;j0Sw z6sib=hRh~DfBr}T9}M<=_sgZH%r|`AXs$J1nF7{5LTPr=;Y5~NmO=xcC!A`l@?7FhMB>Lca+SkX&!BkJ9=V4BUxU!Lq$wOl9mg33>`kX zY_D`dFRaf<^oPPnxfRC5QK9$KE8De#hjz1@3Ew*B$tdr-9On%NJ7;+?_ze`%kcprZ z_%~bWqwzvn^-f!_pd)0cMJz)?xDb4pJ8SI~NPMxRkU=J2*C`zODoB=$TTSka@K3;A zwgklj*OTl?(hZ1pK(cysU93sGy61v{$fpT1`%|HAw1);4!Mewqp$%jwR-2LxaO#OG z<@taq+LSncnYlkvrMZ-%j#5DsQGgR4lC=#2HVPl?S*C8NNsyhnqWn2k8ca%usTa8o zEuac#lNq@PG=*I3^feAlIS|MW9eZgEBSA$(gNhMwq?r21kXr_j5ZD^XUv!NA94IDH z7A4niue2QP80BXZQtBMhv8Xy6XfWbJzh9Lf$<@RAm_FR-^Wl#oZU>c~Gq6|vaMSTY zJ^K$Aw&)pW7;p~r79abL3hKAL_#yGgsmzC~*bR zI@pC~YLar*Y@mHV2L^CzTw?3S$t8fQ4v4m*|4K z#;QxQKSreg5cA=y8y(C*1VUi+7G@wacymd6T3Ukoq>1Y|U*01ZN+Z{C24O}Zko9~a z<%ObKgDNrpI~?K*HI8-;_LIt^ffBO#s0+Nc@9f2F11p zSK>4x;36l%;L=aI_fef9YC*rIcj9Q~gnC~{wjuskb5+tGh&0m3ukH)z z*5UItfG~uRhDg-r=7Tu(1zTG0->*HCfk5Cj;FiawTaP?NTKW)z4WGbb!q>5VaLyuK zucN0EcuuSm-OKteB~_DjwMs}aA|JUs!DKz}AY>p}#Ytn34q-9Q4ZNR_i#{`(|9cz< zd7Aj4?=bHWO136Z{#6Vq!zw`1s|#4ObHMm2{C4WzFlykPYCVA_Dr(+(ZuluU{2kf@;96Dg}QJ?)c)3)&Z!a!QPTNg7M_IzxmOk)KThQQ=?ob7=qfa@OMq zaYkot(C%*&LM>{Hz(UQf?(ub?R6lDZDusVP8NMsE zrLy$+xa_f-F8!+A2Bda~ThCgk==aNk_Up_U(?F($>+YL<<^BtC)W{2@fen&+!@b%o zT*CAFwxq?e5&qdR5=n!#lMlm|2ailBzkQ)(9p|FemJt#zsOzn;%uX&66BFQS`o-@2P@h6x!3suHF5LhRCh zzAG+Nax*O-BG49MO$mCo4TV~}=yA(*sYTch(JaUbo~g?Nz24zYC4kd_MQ?I7Gw$-W zvTcC0*(T1Aj6;nsT2i?-3*@`rF2?kYip*(DEjy98B?G}UZM!j}uKF!3lTn{n-a?y! zqi8GyvhG+;n9-5yl*y7B#LCx(Od5g?5ArC!W|=%EVwniXr?GJzF@;J3ixP4J(8eC!;xRshrx;z z`c1i|D0w=9y<${{fkeyj!ZIkkCrNeK_8i*m1(~-EVvxq377S|pl!WQ5xCxOz1<`oq zYZsrspnrV?Ew&Xih@2SICFag_Lcc~5jWMh0_n+LK1mAG!0jxw_BSkWoyq4|Sk+pSD z?H*qu8W4*-kDbo;fM4u1)>>IVTE@;d*UJzKsnGjknGvaeuTF~8hk~D;46(gJXo64> zJ?NrZ#px?M0eYE+b6{V?ExraT z9n%i5(_qm9CwiUikB^4(RfHoBLj67H_u^?Z;C5UQC8D$ z#8l?GXO<}BzLk4g;jrGSrF>^K;c!9@&T${dEafNnjH`*lwENi5NNDjw4i&L5avg;i z=D|*b9_V7kcI>#P8)0v2_%Dm~iYm zBnXBXK|BP5LJ=(~tfg@i!0w{hU@~009t>QFwRDp#928&tp|_T!^VJG+Ok`hsK-mlA z{23C1wi>)?pB`8d&F98NiTNaaR3*EVhv6*+nNsf`ZrR<;L1~}T7XToQOKlTK%cWS7 z&f*85xEZ!dJ;*mO(u7Y&q2(^WBbZ9Q=+WI2!dP0q_U~oR($!tf%jX&mlfT^kU2z^~ zQNXD!gD1RfTXTAXIr&p8n!BQ)o@7MujL#d*V{U*0e&eMoiljX_Uab zzM2BvUfX=DP9%Um%!ZzE$XCyK`Gw8KrK-(OMa$zHg8?qz3B?J|QN?Ny4*4ftEE&BPzY zv5jP9tQ)#9(S@qwL!#HN&~Qqt`<<5lbmWlk`3uIGxzzbjKi)*g>pgRFw<^ksTdv*N z-Pb0?tWoSWQK@{NF;>t4)DF$5+jG@ocb~DgHiHrTnL0;hJsB+v<=Mq|X$)Ww_UgW9 z@2L;qC0@^8HhL-ZFGerzp6({48Cx<+?myT{>nax94@rWFK>j=U;#f<+#mVz%F|e?C4?AG+$VZ4e)y1*(hYUz2x4x)HN=MRd<52p-J_JtyqQ8e5l@Nf1e@W1=vC;a-uZNCM{jnTX(aFZa6$)$i~H*%ivFi^&H#VM%ar8&@fwuMXEEGs@z{0g00yKH-<*j zP$uZdR4yO^TVL|YOmE=Lu}El?3JvnCXA}*30h69rQ&OnT{vK?HTy#(1R`PzcMw%Yj;{l`2}Q=ZvFJ~K`@H|1B2?%L5lj*0+Vp<4PC?mg&bqL+G36&eu7@wIb&qDieOxXVy z6M?5mhyIOSdV+ru5_sD1zq2BD2+6;&fIrs)1&)#^Ats?t0RQzcnuE!${?;&pECfD( zL_(NwGs<>rf6IK|#I*(;(uaU)lV{$}qHN>_N%L2_w^;hOr=;fUT8TL6=V>=GN7@HO zR=Sg~2Kj*O*gTzf)X{_^li}N(AQmRKC&TRm#1^dp29g=FGUZAilhszHCt@PYS|@Z_ z7-oL20Wb{d%+Ak@imFxbmmUe-@07Z{H&uktM2l+RF3kj4e5&axuXncW=o8rgi`S zJ*4EuSrwTaIR*+S;r(vmDQeIncvPnn@-yJdBgkKp%66}^R9C7KBbb3$^SBWSFu1FrS70RD>MDOZ5U4iIYy{**YxAJ`=??hwu>8rP@ zhnm$tv}7Ue!x-kvc?OnipAI6+&hJK|rUWwV<|_whCV!>BdjUR@3>nTgxe!QS{v%-C zUQcW8esA++qbIXbCWCXaGOjgx$r>cJW6xY_r^e)Fn>$M9q~s@1{Ym3iszNB*$!@}HM+!q34kSo#swW;b_7 zaCu*B%AL0uyvx>37@_ehO^ftj&tFdTsO#-*)sWB`vApNb1ut^5N(1f5oeRwmBhCkl z#=9%E--C%xo6M_8i|+1CYf&`<%Q4X9M8j6IJK`KRx2w7UhV^hwahza97*6N|^l z2v&T*UO|(DBG7-{hEff0HCCxDBr+&~Y5L*|r%BkqKfxCqlQk+2N#3tW_b0#pnL zXi&KyfgZHQ(w3_Y0JYC>U&GAz#{k*JhFCO;1gA!q_MJ%$GhsZ*0Jg5twr8EE{*y|-SR`v-aa3 zAy-zg$D954@Dz<+I!%4W^Fcrvclb?ohU>N+f zYD*GT(=gP8FM}g{;)TttgUmj8I5nzaSZ$io7@x0!SrSL1G>p*VZ^$M=ntu7}bG&Pa zm=^Guxw!C&%j+rshGO8y8ynTjHuocNtzuq1xmuoK3S@Nb-&CFi%Ouv8SBHZ7;Z>v1 ziM>~^bYHUdz0H{e>Wq!z25SVv&ERX;0k2TlIHdH`X&Fr5aN zy1JBI3ZHZNIKim%Y|y%6<d^r?5IH6WnzwLtjO%c>PLIkluR<{)FTuAF^F}eOrPhl^B`b1SFtzfqT=_f z$ex^wVbzp;74S5IXbM`z5iKC=Bj23gaE}LGUw&0X)6>{&JWLA-Wq_d~5Za>)x>NLm zZ{VW`!oEaaorSwWO9rbuNR)v_E~bG;3~^ zOJ(V87x_tWm(O8X&z}sjrpvwY_N@ z2KdY#4@5B(E11579T;7EkIMg!w)6dc@1bzSZv3%=f^Z`6{eS%8E`RQxMD))wvh5fT zTVaOGYj$|g>MAfK>qVGAU!T%0KBQM*Ks=H}(}a}6>#dss?F3F8yJ!=}>>c#QLW7EE zq%+pg2+&``TRtj?%{jmdD#+5?Joep^p(RUaUMd1#kKIzzM z*F(Fxnsoe)Jt5@A$OFQ$1deYrA^nVVnplXt$`Bk}#8eu5cpyZ zveJ}F@NoDamYb57bn@Zk{?MGm|3E%RF`Ec@-2&Xt+O3#e_P4Dp!s4l$&ia&_X1CGC z$plnr?5p1deGSG%DN>guPH={(8pLX*WQ8U*{d@!B9%uA{^-xCj9F}RJ<@yQ?z`dbi zCk#}5CYnE0nTtIL7>*e~x>3oz@w7QBdS~z(MAGL78;%;X5YkN4!y}2d6AUBI5!k6k zJptb#Vvr@A46c$r1Am{5KvJr$8P*YQ$?pMg&5@hj$T )xgrpxYlmoVH@xK@i#w? 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�^hPc6F7rF4x5LDqqFeN-@&A@`;CIz$ZKE zeUT<98Q!l71xgw}Tu?j{k*Ir@V98T6xfW~ z?F{3D7D$bmrKHw*R05hstG6U3F}}aviDJPG`tIgWs%badm|+wEsf~nhSZR??jRdynQV_9ZXjIU7(;BuV zNA|L2hrN;_S4Ii4$CzrAowoPJe|R%Hhdsq@oo){zcF)SkF?j=v4iJuCsTQ;@8zjhVEjN8$hXZYk@n0o5x!R%+u&>4VaepdghT+CE0C36{hXFIYG${8LKmu647u6i z$YI*R;F^FYCSh{9MTWw{{+2(eAePkTxiDopM2J#B_z0d=PR~C@fVG^|w}ucOYZHQI6zMC zcGK@Iju+SHwUrBUB;3g>J;h`bvsGj5$v1fR3FUn~%8H}~UOd{Vf7?r>yP4z6G`D_N zmVG^ON>Hf3a`GeA;g<#$-rM-VI|DHTT38EN()OW5i=hodkzt3-eM9S(I+URga5+46 z5Yk&ld$wb>-K~{!a$w-=sg@bT*Twf=#!s}&*d9rD5`H#D-yGX>32QxvPn=%BwfG)- z1I3LWO2)EO%>q#^^B)r0sr0F;)ps{C9eyhd*+*o36Yd#;=VH{~B6^Uw?QSUk zKzG=|in12d@}#6)n%ASz|3(yV8v@lJ3RNNFHunThy~i(EGNXBiLsVZhJ-J-U^9Cd0 z@j>P~X?MYpeB>k9Huak^K>iHNDq_+v8PdVRG1KFQ9oiXw#SpO0&0Z!e66&GQ3J$`r z5JRKQo}h(}(l>$d)1g>&>^iO$_z7FMGAhamR_*lM2k>?AX-!;do64nc zP94lx!?A? zYIFOqnDPSyzlphqZn;Y(iB~m>#COHKBU3?sGpDI>PR#EnpbA4d661njMCuP*>UXo2 zXtmMnIMXqn6;;^o#@H2$x5lsRvp!q=xObKBPfOX@O2d_uEGn_!*lu1Y5x zl7Ticz$|L#q%oJ>bv3R8*zyQzv??y2gBFA;hweMlM`9Bf;3@G2V$!1Nqd9+;Uf0x6 z13J7T0>{g*3O6nGrs$ffkO;RT^akqk+?lReqzO4A=%n^I3JC^M%%p1z_I0rWBX9>2 z%*3XMVu06IU`H7-%|ob5J>atn!qgnxkiPnYyf|gc0(Yv%-a`??)&4_K*~?T-e_}8Y zy6x^rdpSs-f3iaBdV|vY1;H`BmJnx6ysM<(p-E2Mr+rw#(Yb8CPoUo>v$iP6kAq%M zT_D}ZMI2y;i{_$HjQSgA9&^yd-EEfK76vNTaI^ofF5%m9?yfy z=CB&^d;nWEiItJ62TT*ZMo#z8pkA`zDvVeE5!g~XiX+IXhZauvZ41SH?+ZdD({~hF zje^a3DmpCC*h>(6{7RwkeMnDGh92e*+oW$E_&jb3R+27fE=??U>H^2>CEkpC?^RXcmL)4Oh_Ox3qbyMoee3SDtkeR}q?0CNPp7(_2I$ZA1V(xX1ncIV>}x0e{Qe%zHZ>UNm#7vO76RZz^q)h znQ);bV}NneO)$+qd9a-V(DzKUJTwSl9JpAz_P|ORI~ag#7n4eI>nX z=fQq>+76Qa2NVdxaA`}r2L?fK{g-Eun->s46nsR4+T%v1L9jnJH`IM=_}~wC>aW(A zl(S=Tov%c7YubkLanB2YSgjRX(rf!lA7rC7DNAY$w;oTG%B<#Y9pcBv;V*0U%lGzd z?$vV7w3OCI` z`-69A#0VB;cwnNBf=I5|O zEmlqS)KtT;M|W0D3Jz8R=wfIDkiOSvV8TL?8vRVg!Kz#$AbuDlLmAi%cI5B`)i3zT z1gkF1Uq8FT5@51Q$2-F09z~H7f*0tFl+f(ZdxVs5@KYjYN^JZ%vGacs{ZrvHA@ZV{ zrte69u&1*@Ln!286xt%T+<3?Kp$-dU^pD-cjEF1a=FkBG_iuLSC<+X~2=a6K1cr)Vg}p|MqZ9 zFKGLmRoVpnru-(tu9I#wojh`QdU^L`K`^`f9KGDp08#+OYUiN>c*6GDh8(k25KodY zq&({O3Y8{L{_`<4;bA!YoNBhJp6;#ie!r7riOR&G@mNstx!up9ga?7D109t1kG6)``& z0Ir~D!5b|P`)lWgB<-h2gz@^KYC{{$(Ar(^gfYQUZQ69UD}lO1TCw`-0gitNDKOUm z9?bXCE&$IbujkOVT`GoVMUh&5C`y{Hi^2^%-9=*Y^P2he)P7yU#>+u5#7#p4tq7@n z8|y0zy(qb?jG&2+3wwO>QAgTVq5jrHq?;XU-Czf2U#24OT0^0O_N7PMcMW9UoJaZT#zth?{wD%WH?y z_P%`=#ppb>$Xx!6v9Yey?ZtbPCa_kqK)+QX*Hc%VdhGqVu~#ULd|g5s!qkxb15~FT zYj9MN3MK1vM{O>iBO4@^->ek3ne*qg;g|5G!jB_|jg*iVu%gf%EWaL|--Ql7?CWYJ z1LRf8Mk>zpZ+$XiuqUTUl$~ruLjfMK68$10raRKG`E4$PHG z4R}Lf*)r_sk^Clj)9pt03jG#7@1CKMM4_j+Me%#oE@>LH3@dg>o~hS&`Ks>Y$t)|3 z(`#hOLM@Y!L5jEFXGA0;gX`wW6RO-U+d!#EwR8DPv4gDVGK=?VCjsjLw~z4NK-8O1 zoje~FsGYl((uv*WiJAkMbR_8hSx9ST@;H6W=#ErRHzrEEjowtFMIy5RF_S-6Hy+n@ zto_0@m7&+WeQ}(w6rms&xE+$29@c%a7&K_D_3{IA)=h&eu5~HESYA3}5pNjc7JG7l zZsO||ujF~E?Y^TdeQ8Bz?LiKtI)hQdx$Zsxoh7@=JRQZfI+6FQm1V)FP0Tpee60~% zOiT=ht{L8G-pgDX+gLNmi>G;i+h2)dI1}lfek7#EKx5XGChiH!b_!u+3|@qveTdP6 z8|^W-#YHsG-}d|S^%u+J;cjDf%1N{~!+f9q?DbwvQh2@;1aJDEK?>+ISoBlJf!8x7 znfkGihlm?PIc4_lRX5eMZe~oh&3#a0-*VpET?N~3;iRqTJ0%i`Hd0lz{vE3JfBY~> zv2YCk>uh;sR0nS@QA%Bh1Vqqvg&KoMXG+EP&r=HFVuU#wDgY5k;IooX?`eZy$%0_9 zz+p+%ygS;vpSDG_A~m}SRZ9L$x&`5$iziAwW-yeSr9wgKO2FXV<9ewe=) zAxCxr5Aj;-0*?{*Ozt;?wYv8vmCezDp86)+L;~gEt5bPh2qvy@_zC8jCFGO+NfciE za>+4FLUK6XO`12GjVeyD@IBjr{BT0X_aCA@5&hP|=4Cl3PgO~ilRxp^niZkuQ43%a zDifQSe#j(tpiJnq&wPE2h}ig@m6a7^fbYcPvL)H zqWBq!?{=p8z|>?WPs#fdqVrJ+_~ThZ*BFHs>?l+ZgD~HGl}TL9puqT36k^!I-rJbF8H?x! zA38@|!RD9~Y)&(ZfExpcC|2o?ui=Al9>R{Dfjfx!i6&4z0{6m+=#!WqXT1x$tAWKI zj7ivOG@po*p>nJDf~I8>*^ zU**U)m==6zKi$*Rx$`yc!s~p=JVdmjkP%HOVx3@l$!vP1{T)a>o?qQ}Yt|&{+xs%( z8xzrdW;lHAYKL;$P%t!-))d}S%)$J&vv{YWpYT@IfqfoL{9nhmEqbJ>+FA0)Cqq;M z>^G?WBvs6=Ba#Y0=3?XH9JJMoq9?36x-aY!)v~Wu!mMwiFE9PqpQQ9HzPY}(;3E`F zj>=cn4*><1J9k~2`!v~+DH$FqyxnC%75YM1@u5$#N!(laP3ZANi_v*VF$fdpcfmV+ z6v#{)^7Yf;+?i!cEsD#h!h!Qo!t;$7pe;$^`|KDZ8V00sviW&Jb(}gM3`H)FCm9m8 zo9*5hO;ANG}(M>elcqV1&MuE&9BHg!U zO4ROZtPI{?<$P0d5%o;R@DZeNI>c4Lo3YxAof-@?`$h8MfVv9HFJ4t7$dN^tGBlHy z5tQ`+0N)bM9~U(TrXxE}pi1{8A)|R1mAn}jR=!6s4+#hCv$plcK4E=U@Co#ubE~rH zmXXSViMzF>I}^^qK@pY=v#i;M_uZi6NkRUFz`sE*oU)#ZR39y48ke@(hg_Y~pNgLf zl86vf*6{~n@q<(syvbjlvY(_h4??!dQkns@O)AW_4|1IMGFV9xCnddtiS)9;Z(IPu z6!%wURGcZ^Gsy0g9CswCpS}TS-8UO`JIEYN3j%Ycr;ELZ3Jmc`I&&ZicHV9@9?99| zf{0iM*>=x#E54}v%gY9TtDUdY5ccdycxm-s(Io3?gVqR(JZ{i+x}Yw}HNj3oF$S>q zhd`@ElF%|HjYqfKU6I&?oX;91k6OgsCDAIAX|4#Nu?tMIp-d9-35I+Tt)Kh|(tZ>6 zFizUh-|2`W#-xUic7`q`OPCr2E8-aPrHu1S#yQ6J)PKS4Nyc@c)O_>Tko64RF8{9X zu0r8e16>263F+b!%9X~Vh;DTwYa);%^GEk%V6R?vhc9tn(`sb19nPH3c?P#kfl zur-&7)(0U$lIOxCmPmfMQPhZh2KdnHG;!0j+7b0X5xs7Ah?X>`&`|xZL=jV)@?=RmU!#$gs9lvNdydpEK z^fwFbt|0cpu9_A)@1-m4X_a9frodZ_MklxZ`#>wW3-4 zgj+|%3uXiPp<`09cpZ$wN0uCWaxLO2RbM8Ja3r1NA3LQS{t`9$CPx9Q=3Xns=Gcf> z_AEN?l>zcOS_t29w}XEx!?{E`TCxmk8)Fa>(1ZD+5e_+=lzCeM3jiP4e2jWv>=wu;Nu(&r9S-gc&b zmOM_1aG!MQWOMCZs-y>6{nl^N+P>wbn^$8Ra!btdwR>J;1gSb%=3{->$Q5zdzpwmz zV-HW*l~S8;&D=CoPSp`!oiA6mgcRpZS+AR$6BmMoeOEg+J>Sa#LyB6>&7MCLjp<{( zq(qT)iAqTGxh(e-Cu{}L^}WZp(?3u9$20LOP$UsG*jbHmR=K#^@d&X~TkPwVPp8z48i7JjE-F?ODnygt&i#1kR zM?zgMlsJLdIvJc*b`)AV_rrI3QD}lg`b#T0iO$LBW(V5ljy$WQwrL0y4E@CTDI7Tg zaNI|!ygwP%alix}XklCO8_1svQ;xgVw6C1f%>=fZgOq{oOOg22r!alN6Gq%r4SB*H zjmkOhEX5-sHK~X1v&7v!-(lx7WN)`6OGmy{rsc}lci2)2%RK8d{UJS~1CeWQ8xOgc z6e?-8?z z3R(z*J#>3Neb?N1{yLLLaE<0(fKw;cpfxcbb0LtVK~Pr2rgDA@8&O!nKxCD>LTM(n zZ}~g?<=sjjV(cHs!L+zLyAGP=t}+H`S;KjNd3Xuo>y+c(-l(0ub3DG;20063Bt9*< zV;d8%SiqW`$&KG?)I0U)#Aba&j zr|E-9C6$6!IvU|nd&RLm_q`>DSK={l&{Y{ooH#1LB*W zZo(z76jQ@PDBAW)YY0UeS}x-b+_-9H7HJVF7Aa4)?$m1b73OhVS}Mv?TAOPEJi83D zj^pAWt8g;pG)pwYkZoh6rjF$K(>{BpU*8ed$c>MJEae{$K417@|B8e6p+L6X@8u!+ z;Y_aHXD!!6K~&fl_X>X){9q{Z$ikO}MIh*cM0d~!m2V<%OM@LAKQarg+}ua&r*$2$ z4dv9L^RLiiHAfl@k6~=rQP|P|+;2*;5)VbDc|N`-zVcu(ky~Xgjn^z=o7*)UuHq{g zRA=`5R-mj_x}^DAQ?8L*Yni`Hy;=T{E0L6cnJ3e4MuwzG-cD0}m3c0(!f{vJ*rwRw zAw_7|w(z_r?B`Z^lE zR7|Kh;~2PNyNqqN2*S85E%g#t`gZoU30L_2PkalHOoy!-xUC>GboeBUQK50wY^Ry> zvM#T~%DuAj)MjCU>dc+K4ZPySUcE`iVolc$Ys;d|TLz(0sl0ND{7 zM9!l|C+Dx*PH9I2zbST2JH0CM zFp=M<(sAvLae?(3%<)%C=k(+*N78o5XI8ID#}z#OA_CnSClqyFKriYW#(eQUriD{( zm_YxkdEm%e_zSXQnBDUMp|gk=Oh(nGU8)8lEiiY>WByh5k3<81g%KCQtEsn`uzIRQ zDH+=8Zd7uMAJi>L<>*bx=Bk`2w@KzEPMK-x&WRA7uNind9gQ!&R`+;m?=IQZSn4W` zR#zxiyA(epk+UTxfHcmp(TE4{@fxBWt-Vujy2|%mkKHoaeyMLg9HTmoyk!sAIBTEJ@YZCV_lnWHZ0zRt$P@7+FoA#=N4^*7q?ZMTri z5r^lNMbTl9mzDpHU*U5)_le%|?_}GeGghW#Fe#8WE{aHqU$0hw@j>V~fS}lFPp^FhDaOZ2hL(xcviKl^ZA88JtnYzbVTJNY83I>&|~E{`!>M% zeckZJ+ie@;$tcqqae0hYd$}HI8M-kdniF`A#&7b700>~1AyGHV#~9MU1sn|!BUX(c z2YkTHh0`GV)Py!ojZ=tF<0N4zK$&_naWfiCa$xjo*-4B%0l_n?C8t3qW|c*jJ|$RA zOq@Dg?Hm!i@u-Ma_!RfxBZ-d&;h)BH&30C~u+P~gi8O`ZdxIJ>$H#d~_)e#8BD05m zC<$FrV*s#77a6pnvfooEtOsUq<8Nzo^z)(`sjx@C#M8KS7$vvzp31nTy1n^wgEo|S z({XU4Ax0@PpgBGIeGfX^u^|Jm!a{QI@kk=ql-aYZ{EqN?VAf5!@IkpLJ9&0d?)#R7 zfC@#`eXRMfVJ-4m!{TL`N<0Y=bOkH5F)Z8t0AQyy$SdtA`fDk%&QwLt*Zm;fJMhv_ z+Gw~lqxMfD7)$jk9!AX&!vg({OJ4CzZb?&ct@X!loBl*b76)H@Z2UMbXfDI3N{_e3tCeNRz{A+LB1%?O}#LosyX}3 zfUAW16R+kde}Efyky*2+9}Ucg{5=1hK1K;rNzJ<6CovOu%?UIAU^!<6E6a2> zcr_gMk6DB5Ky}b!Dy~|wf1y`%Lhafg6l6T_T6J?hj&W`NjN4_QI2xDeT9{s-Zq(Jp z?WYF+#g13?cFk%rpNmjTez;Y`)8bQb*jvp=MM0ZexvC%Vif6AW>O9WidTOZBlO<=b zBMbZ3N%HV23t1`Z60WkZ%r(RbClqK^Xt0k|HQZ9rq{2LDY3ep)W!WgAeZEujug+D(saGsbhc6GV?K_RKy0P!KC;V6y!1@&_;HDUA6kil-Ji;z12-XrKYJ3Hhn4 zLoD~?)ax0woB{APzY?GpWl%W$nm)JDvCxjWiuQEeu+^FtuH5>rX_E~o=N^2Sm3GiV z?jxa?ugp6lVRlN0K%dyJah$8rH+*AR+Iq27e9XMIb@Hk`@w8fwP2Z+S(|v9`&L$7L9vh`bfO2?|wV12% z&`ssvwU94T`*LIqOUNg{@3JatB2QXcZW>g5t;W4fh3NBC;QAt}vvJs~>8!!6m)9Js!ki+wgIK<|VP zdybVgAoLKmR9d&a#r(}bIzsp+$~P?{>QrrNM`$$5%AveNd+`qu>QpC1$3|?B^@al> z#qvV#QEDIsr5rk)W>B`g%imMohDeG<&3xrfP8V0Y2T>Vd$9Gu18_R<=QE@($Sz|X7 zGRDlNqOBb*F?vpUsQWtAE&PLI=kwdAZN1fu$FIw0uiJEt9w@3Bnl|sE7#TEN4ViZM zqP+yQ@INfq+E-Vw$)x^0z%pVf5GdQ0gz*gF_>%Frgi|}!>17)@agNLnDl<-QD<;k0 zU&=M+pNOyo`EQ<@a|jdOHk0&|-hwf^i4*1o#Ngh1oxggyms|StS-Q@%@2vuM)9+I! zy>LvRWoaTU*E2)jLkG@W>(J7-3{{8ERR_qn(huU67;d9Xn&f)}SjTdwJ5fP?n{F~n zkvsa~YS>2c@86mnr3A)Uzk1($^okPXMPu&vL}IN11ki*Q1B=%22E^339=C96ly%(k z;xocC{!_FNZ%dBBQx4>lj|*Tc-!fvA0p+6SIe1hI%O}k9VyrO-=5L>XB~hA82aEMP z0jx5_rR7rAiDmvAdi&!Qrp%fETK-jPIJ6#4bsR)rQ!=`V468oAX}f)E}fO7`@mV{t`xUkQa~y41;jiEe1Qj{yf>)*5I#_Yll&lD zt1;oJ*uG9UHZ|_QmbjE8YsMM-HL*zfa29wN0%bOOPfGaIo~v3eBuyy9vGc+|x2oMJ>hrhH z{8Bmc-uPDMT!L4+l*x;IzDb)814dK+y6=;J89&%YF3UeXz}C$DnK2O_zWq+18JJ-l ziv8(7?HYgo(?8lP<$a`JMOJQRc^g&Qf~^3nV_JBwkH8XMjRcm9e;!J7br@9UB;&xm$r1 zqt2m4UI)A)MyW70X^}q|fm?%!UZBxdgAWNd-#eP?ju<6oCVVIx)s-mw?&!FO3NURMjD5mO z5j?8l+|XUOEvfQ5+1zRi%o%;?%PeBx{4>FDJsUO=)aGbjT;$K|DJ=MdVPuL~Rz?zi ze*C914m{$(UVP~T@Zqr{t|cs zFfVBL7ciMkQIGev-iso51dvUedTPII{_D%OrnjtS(wld`V6UGV?8!WZ9^Um543e%_ zCL~q!MYUWB;GI@XyWa_d74G_sFYN%QYs#50X;MzqC$8UKFyn9wAKL;NGyC9j8edgiReX!;7R@OWe9+G#fnz2F49O4q?VPG^o+@=E{RJ0K8Xu55INbZN=MiCu9 z6zJ0>rp9)gf9%~sTVRF26ignQaPKSG1{ zZ^!KcC@)dUGyE|9fnj}wIoUS(TH!&^2IcD--FC$`;3&Tebb{9%4F`{huH?7*1ZdrP zxM?O=5o+-{A8m?xbW}yR^9}yF{(i8@Cf&i)?i1>@L-BjSeaokBt3RExxMOP|oh*7` zbALM9OQ0YuCDg?O?x$kR1PO9~kO}+D{sqFE&0haoM^Q7g1qs_UcXeW_Tv~TfJxkD9 z6lwhiu$!|SXtXa1kvY5A5es}=@sT!prVENljev90Xcsr(&^0tldwnXN-FB)slp|%b zJEJ?(Mg-`MDIaZ)I3_me#=+5kF7~dxt4m5-8^~H_9$}ZWm%aG8j~1whKAAIE(EhFb z$I)aN`t99}L&5IJ@@2zr1`{0(=iD9Q&nPioz`m6{dr7Ne&Y`|dx6nH1vx$n8=lDZJ zQWjmRLXQx*Es>mRiqd?Uuaz+4pM#4u?&|Q@FjA)3G^-#uOugb2#eVppV#a!~{NTyfBstBYpy_cT za&|NmS0w=zbH6KOkOPu)vyHu-V{%W;(GH!*c==c^SRT(;xdP2$4 z+zIDfk>8ClA0lvqCb_OY4E{|gUEi{EckeuWspmbl+IVa`8*Xf8W81cEn-guav2ELSHnzF3ZTp+| z`&UiZbj@_#o|^8y_uO;O^LsYk9tCW;3aXu00vvS_^AeFoDEIXezavvLm`iw>m-+NG zz9Nsdg300_e)CzkOdl1_ZFTGA2rTsboc;oG9QZ@c3^cw=9~t$&0L%Ltc6S;d%MP0f zBa5vvVKqA6SvH}5(#&gqdMyGg#?T$EB1eL$y6c1&6)avz#+Xu2A27jC(tWAI@OdB` z60n5H4ZjP=JzW5Q8{E6j_Y5ra_aBbh&fazTZ8HV7*sr~&GSr!A!*7c^`Mvbv)r={6 z%6{2gW;_(6$k3|j0`5mbc|^4pTsQrc?sEiF{}VvDCxAo!C$I%Sr`86t5|A455VCNa zpbLQLwNhM0l>fLCDXb58MFEF&SfF6U?kU4~3%+seE-mMSGTPym5-C3#ti4)ptd=!f zY*sy*5#~}{n*QT@Bu&RZDzwHex%Jqbdo=fX6#*#?0Pq#a3P_;-Cfh3ZyKv&@E8o;ny z%102#6zJd=aRU0^`S`_H{sgcA@e=eM{}WER{(a)3RF+RDV%HC z`BuF59Yp4;>?$?)DB8mST)RbokScEzrLIL1}OhW13UcbMEsxsscnk=R_BFz??3yeO3Z@*Gfj@x@aI`cI5JD zGeT*o$yjQROTL&!e8lbC`^N#nCQ!XV>?ns3Lg}9Qut9d4oDH_^I+l>RrB@tgf#M3^ zaAjYZld-g^;4w4I(diSQpGEr03s1guB$CwIDXu^#G7f0C+KFwNkFeiF(O%Ol##E0G zpU?gC*6{brI@m$YLx8>^qTXQBjtxS?qY;#tMsHy%@j8JKKcS(edC#R5{d0ZUX8nG zk8a&xm8*bvG@k^`^{XotK&_XD2VPXh?ew?a8Xn6d(o=8e`w5S>7YAQNB=0rhtrcL; zYd5`}@q~1hn7gNR{VgXY*)!OVF$HuFxVo+mWL8l~LOLl*N{VCyv3!!(rTfr|z?y0j zM*>l}Q4kw6YT{zwFe>=*KEJd{V#GU%G-m3MAOKM1GowU@j}dsEMhugX2a`3DUbb{^ zV0c}KdF`Zd=J`DSe4r_hv?IOX83#7RmUx%GdjWdMKgYM{NADS=4*o9H5JV@LRq(ej zHDB3~OAcjF@V04^cLvvd4HpV$b;jMLt611@Y##kTiVT-TWpBeNWJ>DuE9{Q$bJlY+ z;DoE{7C)L_L1sF#fe#xZAD#``04bNAviZ$GC2r5x7)gk@0IMR9gE$tL@7XARhCoN)K z-x(o8O4-_Trpmx-XcuFyp<-0FWz;qH<%-Mlr`AtcoNk7tmvC!|3`u;I> zl0*N;%UZ{Hw8%j3XBnDR7`0A{a*NPzJX3j^MpI0X{ZO8I~aH;4+-s?L=GYxS2(UH!eoIos~ z7u13~7)Uh=7TFn=Dk!R>_Q_Fav>k$Vb?f83NU$1_cw1&ab&6Z&bMzomBo%1XC zNYR;LDt%>ubb&8}`s}ity{L=N*_v3WeyDSsHMPfLY40N2EVs7k_4pZZ@!72VJY5Rg zSDzQ=!z8RCo`)IeVTAl1z4e~+%EaS3g#CmcFRW$!cy{+ZNlm8h%lDCS`1FYX-i&qk zb2h9BP5+og8c_K~|-Y^<#yD!RvXCL@wZYJGeK6F#G#DtF201 zZ!Ge@$Ss<41xAu0$2#+>6I0z+z$r~NVdnY*SJhZ+QeM(h`$fIS~DW)Ix0Y}+YqYVl03=k{5u!GutN!WpV( z%$7~ck&@bFPbjc2QNiMWMp_qd;ajtydnMRJuW{?(U@_BgGt7mN#J^To9=WXf^5p z)<3PyB;FHf0n!Ts_EUWG3E77viW zROH;pp|zvU&Y;t8GpKnU!Mho*-vldN6ut#x99SWS(!q}D0_|G-1CX_|61VpYs6&qmzpLP&WH;|)PQ~jYfLky7;$b{Ar+;I1Qx zsVYswwe~H56_pzlzY=npoedUa+1GFp|0g&6f0-zodd>fkcwjYd59otH!)73Go)4B7 zG@=i4_&^9KoU#Eg@9R|p5*p-We;URbUZP@vZe%K9QGr}z{XnAAQ9_Xfmq_{x;@9Ri}0@}@97%K|8r~W9~wCsX&zAg)!iIKZtGoUX3@24oh)mb5Op}B;R95O^Gu^pZeNnrKvKv58#BSAhNF?bgB z4^W^0)>vW;!FFU60l14lG6ptIoMx^J{tN_^!IDspc|+`ZOn6n^9N7~QLCDgSvh{I`)>FMF?B#anuK70{bJuBjRE;{=UX)n zdRM24y%iD{g$lO7qfak|6s2<{2%OF=5HAEMS-pn8K!$)s@se~LMA6s(K>`Po5*uph zCEUJ~oYV!!1CWsB1X1o|wuZT8MBE)n`_EAvzb=ZfU*0hYW)x&%L}Zo645qV3$u{c0 z6qOw%>nPZ|W>6nHQhpx~p%U={N|KN#SUE9Eyt*9PfzTwEXyv0U1t@39toMJG$2k!o zhAwluDBv+xFTfF`6xrxG@3aZu69_Ye>pLt#ivxHh&atD5o6j>HK28cJ0)eTGW608d zr}>z~$Sf|FGrHP5sr}SlDPEqR5o2Bt1TS5qk4U@zPsYt*a?3oXV`Ng*gRg2?HeYeY zXxM4Bdnx5@2SGn4C~uX{eri9W2NQnv*?RdB#h6)lMveCWJYz49*ngy^G;j)vOajJ1 z@qnT6dIlx=s=d{Z@$mPss!Wm}dfXudfnjy$j0BV?dcQ<#5rYp{V2=WA+KGu@zCV|3 zjJeLdWP|We2;oh^L>_7%z8en(e6K2x`jCmb9XOQU_hLBxzE^FOv9HU^sRnz5AE}6u zWRTOYoxAiU0a+h4}rs{q=S36;IV%Io}LG={;p#VM93giIs*nwt|u zWbB6e-4Ws^K52s#)1XB6+0ohpvF&$k=(b9UclteC(nC%4p1-zEMG8!|`30Y*7}VHnIHY8vy&c ze0okbusjaWnB~NPtIwaV%cFa`_!nAR*#l-bn`y9&d?@(GN7$Mh zGA3VMII>lCvBq>==(95m?Wi{S$y?cqB~A3jlH8gSTGT4UP^?dML*2t&+fy_VFlbfl z%rL#|K4WvJa^5iUIaV;~9MzZO04zm$PVru_>xKH9vpxRm8Z`b3%&wPn<~w!s6p0E8 zXUxp4w|1v{vaJ{CA8FUtw_GHh4XDtDD=hlj^xMqH`A(I89{H=ZHI`PA4yuxO>N+Jb z9EOxqj|k{-ZQ+hPwI!ohae8^wI&_%dO((t4HF|sf7LL1nux?)F>duW72XrvztsT#c z3+X`^U?l~b=mUdqPis;zdLXD`x47~DrSDz$K3+ViQujoa(;b4w8^kayeZ6(HK~0`) zk+o>^j}>dR=@t?5kABvXX=Mu0GFvO1fQ~X(rP>-uEUCa7VG3&i`=osh-_K)j zz@D2=1$Ut%g1P#fk0%i^nSUjNxZ&#)yXvQ-HB15@2XwAepo*A;p zB@U*_{NXEBrJv3=&W~JbX$Lloeptqi57s-JZ}LWV*UahL<2~Aq7`o3w#cj_`yvM3+ z#hvz={(`!WCsq_VkvgEin>1mAJgn^T3%y_&SLBR027C_Sk+&i zT7?as9<-=q5hmf!HTR>keIgI9`jf_qE3k1Cti;vVkFN`fLxOuMc=`-ka>? z%e}p=#K|R3w6r|mp|2ZwZYzA_F-Q+vaY^%_$q7CKzJT56QilqR>%UtCVR{WdK&7(# zE#f2FWT`bEXa2AL6(@AUe6DB1b4!?yYxl)6?}yxd9S6`n;_SppQcEmvj|}NCCViom zi`OeV%!g~~DtW@fZZPxcwnFl&Zrp~i0RK6DOUlKxg8&teS&eHOLrlSUp~*bP`}p9` zykdUB0wDeDQh+J#OpimNGLkU)Vrw5ElRo-4$b=MB<@k4rmd}$4d7qy$EKKeNy%a%t z;_Be3{!<@XQe)6VyS_>DY51W7|B8Y&5^oRdv>$oDQ$9(-UJ;G_tMGMQyEEP7SVQ)B zz40+lW27d%Yzst=6nF1J;F>=&!Oc`raaj{Ui7B zT@1;B2=OIMuhrJgQK6kj>7*Fu+H-izYht}TJ)A+4)WRF%m{a2KRoo`~h z4wwGMxgJw$E59asQ(ncY)|DQ)(^mtV^!Hgc$CQ}653^lXX%1AcLHhNx59$3X`wu-H zLclB?3MAx?r{rg!IWCP0v?#CyG!*gh5)~~J9t}(cHFt*Q2EdlI%@mU1QdATIA#S%b z;*c((){>KUq$bf5FH-7rILaq|mkeZCCZRv&cM+0Mfvj5={V!GKOD74ootDolA`^L` zYD*A_ZE5i1J!S1nJ$t)S{&g5h?+mbH?UHc!5<1$P<0P_{X-I`flWENwaOFKtAz6JDeqz0+$hGZK4whNJP=+6RRp?)&^tbf2at^gCCr;?V%D2BNGpJ0Zul=D zq&D+>5k;{0wImRKWbyzPBt$T=o$N?t&*M2Z!^e5BIH;%B2gHLwA5c#dc_f+RWafiJU_e?1nvgL9_5m;=2+n<(1%7!5 z9}-d^F(x8rddpZnAhMwJnPc;M9!> z1v;Vc8$~Gv`LNFLHEyL(;K2PYj2E9m(wB@X<|7VB>k8-K0l?J`J^jq(`c_QY`-kq3 z9;=qJ$81fR9daqs8H;^4n)XA^$?!dmgc!uQk2SR8e~9M`Rmdt6Na`Je=lm>{%;{b; z?z}VD=yydmj;n#9Sih?=Ui}@guUjH#kFT_GTmpqL${OG?rTwS36{b!fVc4s2qk)bn zU_fIgF@RyFV51O-sE~Jm*f*n(1JSW_#<9<_w6Zj&oSNI^TFPmoiMP4Cj|Xteai6@H zw!gl*xVVxP$oGDF;A7=$>|F4f&f#nI;^gr`s*pgTkxV9r3CaVKw*LP$HxJz5mPF@< zncvu+IfkpY>zpxoHh8|SSb6-?-#)(u`0#zyd?aj(-2QS=SI=R4$XVRWkUg*IH76Kr zeR-j5j2=D6FH9X3j4X)=@Pm`h>W3Rysn~BMZb=e5xyC)f#4ZE4#2oM2G%ouXvp^&Rw7qwxu1^dW_tx8N3iS&M}S)U|Ii* zn+8RUylPQUDCkR3VT;?HWWw%JWk68x=BtZ}sX6COg z*j#(rwg84hk%%QB1m z8M^2Ry}ipD)UlA8D>jtJG$6YsW~GQBRa1->b9zRDu6AZ+lu1xRx^IbX!F4ChPC8Nx z<%rwBD#09UMfC)sPLTfU6L-M1REv`acpx4@Q&kJOAU>~UQSvVK$c9qV0bF!+!?gYw zY6sHnYzI^XU?^@eEt=M|*^Xq!PFAnKUXjiW=T~^x?kl>8nC;KLu&iAbuv9HkO>WRF z4RaL6>ePw1^g|Kj48WoBs(r7o1-1l(6ZxneNbG`b>n6oIadot)95g##e`j?YWk!FK{dEe}WeGKHn9crY) zd$wlTn1U*?n~T|fK;?nVJQuExf_@x0*fBG;ASR4KUlOQVpFU1S#sVZhKXyHS0N74X zNIY~!z%dIHxFpyUi7GLYX&}pvHxVnWXds&+6tBiCXB1V0M(|uMp#C5pbwffPbjqw ztYb8)Do^OH@*oozGA?5U(T!YOo9Z!BqqBz;)e3u67(0_vgDHiy^)kJqy!a7yLNTvd zns2);H~Xl&F^a|2xV8UW4tJD6Q!|VLfxDcnlstiXGj~b;&}k5xBG!pVombdW`65C% z%`}d=(w3Goz{?1$VG1|Y;2W~uYrru^03lWvdEjlEX%!21gFEnA=8ggPNSk(K9&NQv z6i#On4_d&a#qP((zvdJh^HZjclr?%VyxV!BL^2pu*T;kb%CJ82wJG z8kS1~Amzb96lf9z*fi$hjezrZ&Lzq4=eb>y7QuV4lLT&C}7yM0)I?o1Pw7d;J+n}r8rW0R^oVq*&@+5p_T zstp~pZ1dYQ0&6SxlXMwK(eqeAEae+YFs|m|D+I3B>w@q3eN{fNiwH^{9RooV{Fki27Cbz}yR$DXc-Cru%9-(%Ls^8g0oS)gl9+RfmNSQqzf)WLoPd+3o{0ILu|O_1zc!ZR5@e2N1Rp>cqdc{W z?XcsTkOhK9$>`)RORP)i{^#Amd6G-b;1DEDucK!n4dV~{UtZYAt!1Oeux8|@(vYFg zERR*|AE9!7{o6|J?P#-l`Xqcb^r$)!GGUd&A1tt3!C))S4<XJ73$pg1< zl!2^lUHbA;#bcp_;T)cT&mI7W_FdI4%pWxdocR*YOO7(ZKFxjgQ2XR3*@jfS8yh@? zgkSn_$frmnpDgp6d)%;?D>9Vbs7fO7yPiQVr$0XePyjb>cUa#}$g2?IP6@+p%4`O(96-^3&)bea8H{%r z62i5SJATq6XrG@Ziah-MH5{A-#HLn=JnUX+{Pl(7hj+lQX;7~w9S{akF`>H%Vt`xQ z&_xdvCX6mo&ug6TpaIdA1Q$O}%<(D2?{%0>+!(+t?}t^gc$uq3o7(HuIK;z=ld8w( z3*Hgf2(_KatwQCuc{04IHRTEeHtS*YGnJYbMjBE=jllUS}!;l(24Oty0~X#OP#XQQ0|) z^;+UXKk(@Fu5VlnX>4HS>^x-Zi!5oFt2b@k6dY1rU<1cNtQ>g!x05Q+Sjm2Jh{!fQ zaMw!I1aJsWd54V*BB&py7usYm@E;Ro^)>A)7cQPX${0QKu7a8#!)L)4EiZyeQPByK zZeG4%{j*mC@cm%m(@fIXveX)W6WOfdtW%5~?0@R;=L($aY14b0ptCm!?146XL=!Tk z{-H(lsDa`PJ;$`8#juYGb@rpScTUH>)54+4D7rrUzs)wX8_?QoXn+I2>v;fe1J>$Amp+PRZGvNDNANHz&BpWoX>`?+JPu{xOX}E7Dm(* ze`1#@PT`)#KKs|N6@*brTzx(i0Z6p=jrJ%A!#dyYyyrVx#e7G zbFN1_frY2Y$wyaw0^4Ea`S>LE1!S_L@U6GzRBCI<{z`9Ssppicr)WIy)nh*m6byE< zwohBUtWCnY;o5FQ<>u1UXQqWH{nSnBiH` zy*0nU@;;*LjCHGi%lhbJfkn9QGo;K$ooF{wn|B#~G&|;gp%Wx1ugFDubFiLDIKZPn znDOxXRCl>me$yO)IQ5TOmxV_*r#LnhOfT)|Q_@fMD8dwzd({U3G z@In)Gpl3?>`J`^u#P((v>CC-#RVf_Pnn_2WQZ4W`s8AQ15qoyDZFE1!>~Jqp2o3yM3b8rPV0X5_oNahwl&9GUagN_>4 z+Y{?}>+2zhyt4&Uh0?AC0U^?;NE!MN}r9^?Woa#Bg2o9JP9O1@Fa=Y6N?i% zD@+L+Vi%0t75D7jVVgfxW4FsLCH7BiuKHi(E&uWP73H^E${%2)TPxzSywk1U+rB!z zU#}eF7uolj`bQALVtsrXC{W}6Megt<@PPrut+FVQFv@r+|6cHBoYo`@dh5%40S_Ds z6M^rU;xfTzlbN|p5`|kukQ0_dBu{wSbNS1sVi0sKPdPk#uEm8_>>B55XZZ=0NF2yT-Osby}aC~IcO zJFZ8p;!VC_?1^y8Y2$I{ENh4lcqsmWdgXcIyJv|DBR%Dy4>JCIy!*2--*Fw$MA*Yp zAZ1o7S$ala&mr(@TW59;+Llqv*eAXsNnTBYEsYlD_f<-w?6|uN<2|D_-V-RfUiYvIe$qMzrDDJ9TFN|8AGsLT)D&D^ z(E4#3q~919hAW$jA&zR80RUXOxYthiCHfXl{wCVUJJ|P%wmPAh_e_T`Xxf@yEuQ(6 zg_trwvdc1i!f<^D-0~k&WAreok~8W|!X2%F`PqiH*ed9T_Q+}fpogDhRp-!O_PCX+ z!eKMjgjOd$lFTj?_?>j|1^%8FTgs6aSKn?K%Jh4?gznO$_YA$jtpj=xxv%EI=D&WX z{oH((sPGtyiStY9cPT4WB~nA%BTlApzrx53*UVbe5or&c`M#PELPOSs{#%F#))%ck4vJ@*RBwmZiSW zv6hkgLA_QYgiQw)^8(h}nWWbmU*4i}ynjd2Q20)NKu(n8@*06FD{Q3k*9;UO)|IhN zsQD=AB;gADxP-@>+Jc3Vun6S(Q1N($0N*!FMqo6iIn|z2Z4iY5lO^v=4bYnJ#h8q{ zGBXTvg~p|rFf}B1sR7G2Vrqz~PON{7iVcvO?+#>-tBE#@a0S>GsF||Eaknsi%WHf3 zH)UiE0sM*RNjK>~NRv(5@>eEv|4nXZKC0YDCB94%KldDXJk?t6_6VcSl9Y&vMJ3u?TwjD3|ad+#gsu)Ri&UzV@3wDzR?iUKeHeU6a+T2xKoeS9s!J#5W zWczUxfGJ&WoGqTQkXD+EkcIG4F;Ra1+n2;5^nnw(MoV+{I(X&QSe(# z>!nHhtSyINMp{=0|VAB zs1i$Wp>g7@zj|reyXTsQ6owA~XoTppJ(AheAyy9%7o&7Za*Z%U+sMb6E;nP{$nrFO88*skvIS@(J<51av-P~bb_iXAKYR?m< zL0c@wb#GBIig7Gk!t3@T*3~Ya^bkqIlIS9ZC3Q@Pd(5To zxB@%yjD33)9F=`|hF09iw7=3dzY_kDmIW2+}8`7;qB}}u0*dz<)OKpTsXBdZb z1G6L!5b;q2t)Ja8I11(=kA9hNF|Y7CfXh;a4~Vy@bH>Svp@P=3SpOH_mj#PGppTv# zwKa2UYEYmVl5Z8n-!o?;5wqW`CQsF(vhL*l-y&frHSbgAI>qY<8N$h0&99@4}%aZv3W1psIHl-#3kAbOIVTJE-3L)-qW6G(y+<6 zaO8uwG7W>K@5hlN$sUFscDw{C1Kg?}7J<{z9mH9;#FBWid8f!i(aZ3F)YbrUH8nWc&-Lv?@xRR7P%Cu8D1pv zbc%^03*gUT)1u&m$5AL5V>vxF=LLRh*l6){e~jc*e-NjkD+|3b=vN|F-L$U2d*_UI z@B7WobJP(sC+*0M2|1$9SC!=Bk|d@026_erJ9_>xsj=-3|}SMWq}0 zS4LF$#>L=wm)6uA+8)8W&A0lGUalC8qLnD6<^WlpZ9{!uK038ZSVg%~%JI*kCJ z70=bh_P>})^g&%tTJii z=;Kdt)Y1ZMM(aob^;#V^)iBlL-H;*<+Yz8Q_J_`>+L`Du9N4(~F;1ZIhd9K&2iNe@>?7jcmD*@l>=F|JqnPNtzv*M~G) z6VfUup7`k`HDdCS6U}kJ~OtUO7tw+Nwsqy z=c*(mbToe16spametkK~?NsCcvhX&V>`#{bzzfxvlsMeZIlN%3hWsKo$@MV1O`HB~ zFPm@fI!A07nLg{;0v@X;dL7{9j@4C`?k_6O9#Lve$1-wiPu1dQnmzgP3zy|Is<(Vr z_u!rZx3DRAeCqPWK{54ciC}8KCu4CVo9CI;<;y9O!+w-S^(BExIcg0TYc7JaHm^;cHwMAIfX)h)i+ZO6j`uN!3dQVsl%aAR32_U+bQwepRE?)JujI8 zJR=GJ7LBIis07q}==`O!RPqyHTO_GPzXq9CP0#-;e}mMFpZ1 zPU4+Rn-R<(VT#4DEOx&qTx{io)L0zhg7LvK8%s4Gty&U86d|iQo$F@}^IoKT( zgQMLq|C@x%GnwXCoYL4*b!_X2T|W9q5_vAY1COlIkdMBU%=4;0m-@R=oNc{M9O?Lz0>nm+B*tn!^F;t7u*2DFJ6S_+% zlOm3}Ev;~#8|)@0=+D>cXCMCoVw4gw<1>BRM!>yDO}k_hrA81LG+4xsMro|9T)S=Y zzMXBd+6Prn2H)=oa?L4oSx#^uJZI^W0Cs>FYf}d9bLiz1n4l|>}pm~^t^A6U5C+V||i6^iIT3S&> zi+a0~EmZU9w+vZX$dkB}bVp!trQ=$}V4$pOeBi%nu$!4czV4E(*Izk7>YiFL zRX;Fl**D}tTE@bai4O%Rnl=0b4ITCXQrGcg9SLpSWCb}-&iYpT@_oVUie|0D-Q7LT z+|fvCXHpn9vYQq*^IwdG8;h?NCtBzT)%3@qllK$Ji;HQRewp$SSg+x~Zt<$^RgINf z_A?V4el8e=+CaUP|F~mZm+$?!3IAlT8ez1uDYkWoiq8G}g<%d5cA6|0YWxe4PI~FG zDw02DT7PwDvP?dA_9M%My!hwUwc`8HNvg=f(ciQk-=sgVQ+Ir)(-Si^I_^jg<2q$N zmzp8|FTYEVc9;>hmGq15HR8YN?mMwp%*~kZD1Up6GvAZ{7344jQt`fj+37vI)4PyZ%nW@; z<$->2im^@q8tu2AO&65egst&qiNvwNHPRYoH8{oIGr9T8NAO0fe{j~WDdp3a@O0+e zqw)4Ty|zo?_@0bs(fa_NJf1Oq@pZXpo^i&vCz#tn)l>;#N>HQR6`H?!Dqh3(eD?3W z?&qXeSjR670Q<<+kf2!~x6A&MhHa*S*9+rlC4T5^Jkrvtu>g=%kQLb~)UeWSl7%{} z&7B{6MOQGd<=WF<_fFQIp9o_iZ*8()yE=SZ?zKX#r9=<93n3uSpx`o>yWH;HZG3KA zBQ1Z_G~`kuA}3mNpoMg=)m=@lUoU4~)Ax$R4taVDxaYl@KG%NgG0q%+&;_+q`@Ilf z>5SUWo9bF~K--c&ncNkn3z?7HekVrQbA3K=2C}8kl#2W)QFCH6tt<4^;K+ZMT0_!X zS#(b%{Pla1sJG<)xb|o7r*{|}G2oH=&PQNYy~v=Re&HIIic~|X4Zj_Zqm9h|jF8A{ zs3o)=P|(V)igTK-vmq-~+3a*w*CKd#EXAAfLM4WcQXzhJ0POIplS)eh;d!lcY{-EW_Qu4F@YVaOTMI zPzavp2$D+`=V7M8OAG!11p4eOEnhbMq($5uWXU2ZPBg* zxV)+d7^nUk;+QKxVvI9UEV7D2}YO`h}A-b+n)=UF3pflM&nx8+u=4!|*O@ zK6a*iaQf7^==%iAc8K%j791mHOWgctLB<=4R3%B(dd{YWH1Y;RPKYFip+D2At&eU2 z>L1q4Um*uU#@x8k-!g|XY5^2+G32`Td`C!4Q$JQaf?xe)T)#Z!jzq5#oS%y20k+Bg z+?cTQge)CF*}8w(mpB22Hqrve)Tm)Ms^uQ!ohbTaS`?Q*r~P4|Er5giss2!56hgK8 z9%nt>0D9E^%ZIUW!7yXuwUrI0rja_;pxPO&P|ZlQyc>Jjw%m`DI)6qNtXc;D7g2dD z`cjkZq)JwR_g7vRcGPqja2j6;a5FIdSyVOmm{$DY?Ycz>I*9L3X#Hjhj#?uP=W9nq|~! ziefu$=DAVU9sG)X%TRMDAjo;7np$M}f)i~miQGbfzu}#}L>X%ZD1;-~HlW=miz$3N zbMlo>k#|IDz)z$@S{amj;_yk3pvUDKA}AgC{kJ9g+;iMT8}DL@YpKGm0pDcHW}`OL%#ym19F{dpR&Dio z*RsfQ_8E2NH(%*LK#Tk|-nPh$Fr-oCHHl{X=m4q%{W1IInb`xkSMbx;0fk>=rfYFa zu;zq^qC~+sXzz%^pZ5#tJ%9R%;C-oI#dn4}F{BBpgRCrQ?(dwq19>Q=7AWJ)3DO|K zL(R$sdq3EbdTZHb?JJ{4rye)b$TFVSV+czpTmIBF==Z=00#xRhsWg8~L}bsWupf!G z`QU5f&Zw?%>O0|wNi{OqonuGdM62uVKS2JBUngy#=~OhTk4%v@B^TbPmf z3GpXVk{E<@ZCp8hoDhYfkLK|Fv#l^N1gB9T1s(Y&i)X#$`y@$~+Px#gaF-LW4+!&9 z5GiX=*HsZ?13;H3hlj`APY&zh#BSof(EC-?w9+`wgoX{&ek=?xnX~;uB-PL2M+yKnemA+yLc-Fi)I%|IgfN90wjCnG1yB>@{Dr-XphW`iKaF*o2`xTK zf}0kroc@}HGr`xAuFoXDxlMJ5ZD^alIk_^m_AA%k$Nhmq|5>*TaXcKq5f%@JB*`Ow zI@QLfCHR#j(zPdQ)F~6FdPDE_%*ukKax1yqCBVi0r%h?Q2VGXw{!1!W)EMAjJC)DP zahkdp4N%d`Oj_!Ms3sG9b(ddXB0IWaBq*hjSzA>G(ovvtkER%w8g;R_WR&$LW*b4$ zHA6e-__iF*Thp`NPgy_LZOq8hzMW67Ell{1G$k0uVxTa3(GtJx7qg2A>Jipn- z2h|Xr~yH}JH`t^A+-GpqkCpZ#%;P3E)-_E_L#{}qw?nXgkUccIQLJt6sQ{!4n8 z190AL2am}jqdqpO?n>L9JRp-Iti7e_ul(myK3R%v zA1}wtC2-lH=Ge{cupBWQ`2?={_yfhnO~CsY_{B4*I;y~E6?FNFGCpa8Y$(#HKY{W3 zwW3t_z)%6^w~;$h)5FW9Snc{z@AQ-caY+lja=}LdriI2# zbNt%-n&nF*w|#WYA+P$2_DM?9=n}4ERzWvXz49<|6}Y!7>@+k}Ty@PnMw!xoMivzg zV%0jC@*B2Is?Pfan@CdFJGz{C0r0=6I4Q@&70TgMJ}^rX&F1|w)#G4U06N!og)iSu z*HJ2k0)<^35ALmmPDV;3xk_U^lXB`(GkU-j?DZL%{f0^=y4k!-ML&i@@+awnX}GK3 zDB96b8{;ox=^Y!Ir=PK8*>~--__!>>fRZt^(}viQ zi#R7133aLK(c7+4cv;}T#s&9~sKg?NB{gIDzZ@@x9#UOqR08mJOZiP6yMDef{!_n}icJKpo(E~5GpQ1dET<4p@p5&81j@f0X}SP40K;jkj9 zK~{dc#h1!o!w_!k*}iu8x@tV{wW+pY*YVk#XdGp8D3K;1$h~LB&1TYnWarV{PcAOr zpmw644p&x)T!^l-LDS3$NlTKje3F&m_!K28cx2fI7cn1^yoTGs6ff zBNMN!AL?icsi{eAm)`yJK(-o;uX3cau<)?*{fAUN#c%UUQW9H4`y^KzSM>hrDH!ar zS@qc-07+wp(e|Hzw$(MQuaz)PNj!pWSyk?L{=Mokn*FVLSXqkG}qiEwLwsC`ha z%+=q%;C|!KIROY#(~dAs`9QH64G+oEcp!)67ece@xZFeUJz|Qtz-1t3{a|Hv31=o! zdBJL;HTaUBJEHtdz8Ud9t|$fmD*I&jmtSkscQqM>E^c>LRpR?LymsUaT_HC`B{9ba z;${6GNmm&aN7Hl@l0XO++#x`4_u#>TyE_E8;4Xu^hTyUgTsOEwaCi5xxU;w{?8ozd zfA;il_0-wvnbXyM@9nCAOyg&~{tYLeHXAGY)o=30=mRj8GzyekHrAa)Y&IY`pH>cXSQ|(_VJIvzAoBB&!~9Vd{Bp*ak_jJ=x-~hw#}O~3UT7DMVdcf z!+w`^zAYQXV{5`?*Wti?)3fpsw2Y4D5fGO>y^#a39)dI)jyCG&N0=7$#w>)k z;@HzH_o|Q|!p{t{Lf1GxFjudU+`pCb#7J9b+*yAiQBb4oMs@Tr{zZboPA$Vt25V~!{7-12#7rFZu7gM+(>Q8y%_*Y)08 zGE{8xd}ko1BxxUbI1A=8u@xUYRdw5q`Ln)DNWYm9p{y!1L6>?+kY7QcSi|tG)sfdD z9HsG7tV=1GW--d9Bdw|$V1TOh_626T3FxzC(J@#eWLa(Jlgc zkvAYQ_IvP!gV+}(ntYaZ5QcZd--cnl*^e=S&Gr%CQv|=qzgAeIz$sEY619>oQ|vl! ze9#oO@%?9AncXyaOiUF6C~&8$_GjmFI;-pRSnc7`5J2@970SyNZAZ$Pf^ja3{@m|7 z9x8=0sB9>kzI8^S-+|gM$1=A<(iEn1VT7MKc7yTJ=#!c`oAaBijkiLLUmf1buUnvb zeD%ORe*PG<_D1fu3)ml2ycV!H+gIfNQQ-@BcZK--O>-7uZ`kw)A=B<>y}}b9bWchW zFu$Qx`#A2!4-J9LDw2R_y2_Nt1=>|Jqr5Sb(uQVrjJuE?b^}VAv)dwxMiVq@*uY7= z(jFI>c#~6T-v$@E71z&4vkCzAt)bIb`??6kALKqZu)d2n11t#j^cAa&$CI<~I*iEu zmUzM&MO~>78WAI}wr;|?D7Qz(WO;}Ww@Igr-Rrr&SH9P11MC!Nt0Lw|eVea^=97}& zKTG4zPqSWd97c!f7$J%!i`tqqADveOGpDrlu->-vWs-kAa$Qnaz>{1TC5^kT=)uVQ zeWb(x#)KI~0ibbN^CQ}f+Yb^=%-{X@s1fqc1vAb)C&If$1=^m z!>G<>RLK-dw5HdVW&@jIT+TBuc*V1Uf%x%Ed@uP6&D;HNH#Ldv>Z^~QUyn_l8t1j2L8#}X>^W*`#^i5j z)Yb`(T_$v=>%Q_gdch-Jga`V?x*hu5kK<6bw_a<^vC1y@B(|5^^kN^!WGZp$9dj1S zfm7dN?`;v3!$A@Wm*gvhSNUcs6+b&}UpUGQ)9M$}1mXWllL(7FNw%*vg9rz0y?1h> z8IzRY&?gQ(s(iDXi+ma_R?bZDAjPx&9s}9o?^r$RVl2wBwj52S!{wJ{h*?BT5@F3< z$GEGc7V;DcMUq(@Q_^^O#X%XFF~IyYhA|-yOUnki78^-H$orJo%;kc^u&MxGrjTZB zp$>J{OunFyg6deevO>dZZ1YGPdmQ6#^E!}Bonf2<&o*~7MY{Zc`IDZt@)5G(kC9Zj z!Z>2xuusG_-7~gkkDXl;`I$@$kMo~au0<;?Jw;ia)%GUl&30(eX(uWb-2lYScJ{x9zm_E$Y0Bg%NqUOCs#nu4^+-bR+W}4Lhm1)>fP^rOXBxl znaRm(Z>Y|0`efVuAP|ww?RcM#2N@51toyqj3K~16YCSh$<>F4uY(*6D=1hMU`P4?2 zCd$*6?V+B!{4u4LF|mxBtp$kg6bw+5N*#Sk`rNINM+on&h!!Dob!u0ox9XdE-G`y; zV&+DIt%{wX{5iOar6T-cE%=f8o?*OBj##Bi#={c7<2&+^p6dI|Edv9FP`L0=Z-4)tNk|7!blGe}uj`A`wko##V}zs$8J)iJ^LpaE3|7_dX1{<5-R0z+Nc}f+1`0p*&NY6(PP%NJJ#pj6 zzBFk!eeLYZ`tN-ozOkTsKB?Aciz-VvwavUYtW|N`;I^j-|79JAdHDWa(;xzulgvU7 z+W2hGDo5E#Vxo2hSd3*VX-{XlFr{K35~BKxDe>7{|DJJj>aQ&DqAIeWW|jv-LaKg4 z4A%OhDb$_S%W}D!5K$}7rf+4PrH4?h8s_62YWYkS@rbrp3(yY3jJO$ohodItsb(wehs>*7kd0<@4hn75E(C) zK26p6hqG1z+)!+CVb_(QuJ z>ETa2>@!LlDNX5HOtRCw|1gsj7BwhIA(qhaJ%!&uizk2>?0A9GSUtn!kz#u;Xw~`m zd!ZQq*|X&ZwGcxpAA{Kg$2S!kitciJ$+gym!Ai_~oNyMS!65sml=}M9-S<0D-ppUt z7dSpSJ4i49=$3&SwCQ$?1ibrzISb)`4-Wx^3i#<$YV&<8P!4zF z(?~+o-v%oY;qMZrypjmtd}Q!fvuqoR@tXQ!-L1ie4AfuP z2?}*d#>hwvLxi@Kbv&0ZXyxolv549FG?ztGLoP z_cI*#Q2C#d9H*O2No#7?AC=6>U-n&T{UN}IkPG?ZpTWu+m7m*|Em-Yy^1>yfS5bFo zWX)(Ky=ji-WgX`wSQcEG{w05;hSMi!O4{x@ejJ)6*;UnZ#2n%F_`Uo z-BEnVw?lmAOvm2zj)BVgkXIeKEb6}NMX5u2DN0UAJ!9r3OkCaT*wm(mnxhKPi;Qsct%K^ajpikR!E4$ZNY?AF;AK&NNo~?;lboB5kmzspJ-2 z@>~ym_7EH7w*U@0ncl118t>Han4!QBs*b^Mp7ys(8IJ^-1nZjLrYSSp)15&hk*;7f zsh2@QcEbJXHQfs^Wi?D9ijy4{3W(R_C={?1qJz&f)9 zXb(XL?$!s`OOpwK^Z!i328XZBnN2u_RVrCXr>hHMADYxZy0lj zruT`=h+BV(IFU}qhDqL7Nq@*@bn2vyPC5T&|ud`$Xuf@`dN*`2nO+$Z18L5 z$Q%qaQXUblhSQWqsFQu^9W~2fB7+q73S@Ep;k!Zi2-{th&1s5k0PG8GSlGwh2vGkA z0CdqlW&X2pcn~QX&U@mmMXc}Wfx|Ink4ncP@}(INL?J zf;K;cHnS3PY61Ntvy?iJ>3;yAm+n{Z2^U-H6Z|HmMC%$c#PuzA(Oqeuz!g?PT9kL% zkd{FrmP4vo*+^Fd2o{1=842!y`AzUBe)@r59Ku0!&_lP@6`g^(rQCz*4Utr$tM6a) z%h!#Nj#{L8md%p`r$}w0pWqw$o8%>mX{X=;jC9&HfR|6uEXsBDJ8C*5N~0%ClR#Wo zZx`LWU!>&vYXmDnhrtTP=}UE92hg8V3KscDv^fE7iRV^*S&ymGX`#42KSfL(YCm^g zyBFvs(KY^UQh^650Yau4s+P=zHm~A%4iV=fPn<}a8D?PZBYNXu?-?8AJ@_Tx{|iTi zEjuX#P@_%hPs`enWYU^q|BZ-d&z8S&ZHAiXFR1e19!@KmOCT1Os^W9r)BKij{auwH zE5m5WoAIHww25}={n*el4yJ|qNvr*zv1y0LfAjUQ>%tHTSR0!pZz|4`4a<8fTPSPS zsvx7wB{IPz`y4ZE!KO8dAcu$oF;8|F@(vR#AXmtrP4CZ&8tv^yYw1`bWBz3P=j7qv z{1(ihi+!e2u_B4bvU_|{K5kTAsGxSWZRTS4pTCx;n!9mI1CL6QSK`9L=5WMBtlOq( z^_P(0#HFQ}vQZ0#b`cW0)<(t7Y=ec56+?A{Q%6vT-Rs=(9j>vt&{EGQ_3t0YbSfqG z0H=__eS~(J7QQcQ%NLKqkIf60%e~#YKHTXa4|G^l_ApJ{n7(iRrHm6G)EzC^{$7DD zch>%Z^7P$cm2~nY?1^;z8$dX=4=|TiUzIBfNj?8KDU17isa5^fmLC6+gF*8B4(egO zXJTb&P<=h!MGdMVa?1s?WgtmN4LBD|7w9sTX6#CqmZ_Mvw*W{rDHnBez0HGww>-7cL0xs01ZHZl)!UyPjVn$Ar|xARI4|?da2p z3EA@X(Q;06u7j9S`N%g3JY}BNl+a<_rUj_7Zt*nX#=dW|LGb1&#qmo;2kT}55;qRO>@WHLp zTa!8%q_MB~PfewQgCTKERQMA=@gOm z3|WS9OrE0qh1(rMCBE?tLX*To>g(d=_#&A<|8zaFb;@$647sUYdJ<%K{Jd-@b(iqf z1h79wpS8jDvJ0;B3J{`XM4AMj2Cse`oD~%+phvfs#h_0P($o*11plP~7;ZckQ$1W~ zd{*pums}y)%l|s^Gu_GE%U6icOJF`+Eb8BDN%bF zAuJK^$QHj}q-M{v@$K}tl&#OY%9^Xp_G+xE5#mzokTjyg9${6&scB38z@kd!mw1== zaYxx7emCbPFCw2xiScoB0i+JL3J%*7n>uS|yah6IxGQ$$cW+emDK)o@%+1+DZ<6#c z%%bW*kg0i(ao%$xb(LLz@lYiv5N&zEEteK~`b$*g9LP!hA5=O(IR24PcxzrM>)(i* z?yq+nnvz9d#yRi_g-7(;wP1WdJaEi+K;?pJWd*k+E{XInP%3a)7yMsDm2Vl};+(&@ zx(}?^+hswwt9*MOz33%mdV_L7zxEG%9eJ3<;2#4u>Dd%NhkS}#)8F-<<{Ykxnu*lY zevz7qm>l9MEKbY@7G-}Fb#!Gh?9`rqpxO!bgY}>z%Po#ml{r78k(HPRn1_#N9+?#S zWd?A=UUa+E*nn2^A8Dn?h9u+{4nSstdl9#-f7Vvtgqatq!BD3PZvQsMQQxDy{CfzT zKRn|FS>bqijTCbAtGVw*gyR?NHOQs&sk~s1<}!FpCJcqQ9C|!sTP&6ts6gm;JX9afgqc6%&pZIJlQ?s~=gsDdote2rXPEw9S{prMk!lUJO zI4DDqQ%w6pg!XSD%ShOYt9ly9)5l2A+|sd0yzH8ngot7i2x|&VNsOZ^5>DAimA(z) z=)8J4e`K1@ubIhVseFX!-y9hmO0ToopP=3=zmBdcS~Q4t;K-32lR!Vs8P`txpB_0e z4w`f~DoB8sIfI(|btxsuzQJiVB^#UOpr?dJjnd#HRjN>pfPtNal?q|l3+C^FH6bCe zRHa#_?rV^A1#Y$CEKfd{$PiNDeNxP{r_MwNTHTVGGb*C=nH79!rffKui5Ua3PbVy?`Q->N659&lo;}VlWVpOn__IiLKFR|z1AQVFlED`lzpT_V&}9iR z{WD6z+C?F`$m)5o~<6PDfft3 z4_c@rS9_FH@JU(*+b%1WJUJZA6!mBL@%wo)Kkd!->*^WKl$w8_)O0Cv^%s0uS}3sc!FOe=5R)^AhQlUt0o)-R8% z3K$Ugbo*zi4w zk?-e?U}0G3T_+A)3(`sT9Cz1R?~C@+p>R7oU&MJ9o^!X?XX+0;>%u(x;0ny(dJ8Qb z7#fs{dgIMwuti}?W_=tq8LCAOB^z>)g;_(Jb)PL{c;%LZ1%+k@F0(NKO&A~43%b__ z*FSvLtKK^61uzCish;#HUMfsp_{zY@qu^9f)(CjbT`JiDZU5HiU4sKBFC7>o#0VFj zaTgdrI?yQx1t@fs4XK z<_~L(&%pI?rTQkrdcFX^&J?b?r}*jqVD_il;Nf?0Jy?S7GtCg(1sN^|W9@^>!r%Z7{N-3Y^Yca@oE7@gK^fZ9i-Etv@@x<7 z^fI$o#1$xx1hK3?4mt%~Lo*gR#9UkN66^1PWKTlIP%k2Cr~E#F-grzAP2X_O;yWkE zKs4ynI(3JdZ|YqnWDP*ODj5K04j0?mxf!g+gu{#ZY zC18k9;ywo~a@uwZ=lx!yVC%M4s~veU8MIdBh@-C07$@8poGwY-VuIMCox~mwu)=a;$9FQ2pjkY(}C{w?)8E2 z0a2I_1O>tx)v2CYyHQp-gl{g)TrUKJ`Vsh?n?og`XVIOM&t-Q%?`$FF@ubi|&n4Dx zgZ}Igi^?B}uH{{`SR8UHeiO(;dc7ifFo z5M*elzZmSCwm05a%y$4AA^`d*vV#oe%=svCiws3EdfLA1H3vU~Ca`_Dg#B~0H}3u$ zJfdqa$Qh5Ycg~$pY|UBLA`NmOC0KO-zyx;Z%-y~h zq&$`!5K;22gic-d!l(cHMdUxHcN@eaFQ4H5T%p^)Tv^=?gsykG-iqs=^`JCfcwVJ6WfLxT(>+zmhKt4%u4CrB}P{u+vli*aIE+` zqigunYY@A6!SG)E4f~KK@gtAsve!4%WBS&SBfp|6qR9bD&9AmcRQ5bi7tBLG2II@> za@ld$R}bbhezxRlXTstcKm1ijOn#O_OTnF)o$y}4?@yUU>q5e7rfzEqK+&0RX?SV% zM1U~df@u2666u&doQg&avafstZd#j$6W(u}@f5-V%S~WDgcmi<0FC3rShy8#vWk{$zNS1=j9HTc6r0)9?SLwZK#?y}Pz z>-RTtXALy=oq&vR=>ud|xgxY(B=sr`>7a(^G1EI!*#4o+#{csKJVo#>i*On)bY%IN z)cQe9rvsRK5V{DZ>8B7hgxJ-?j1pll4|qs(vILQ?ymW`tZ;3VOiulM#D8j+NgDD?q zPn7|R?hDZ|`fHJF4!$x!u}0d}`F3%rLNbXvmL>;)*&7FKY>!G!HHRamqm&zxi|;)F z4e<5WJpbw99Xs)2&2;_(IP#Iv>;<45&3DbVOJ<6wEppB7C#^PFu_MU*NS=treN-uK z_{HognruQ!uVNwWvazIbya){(FRR>((Y|)qx zC%6IPhVY3ESSm<}m3#p&PUvRgED{cWfW3ysW%|%|AWLid`IYG%!~?z!UiVgPXU^xFt&kUiUHmkJm!$AM&)WSU;n+Va zJ0bVZ^e@xoLO%fHxrbul=OaLL-#X)WeYwko=QoErJVM3K+QM!xi?)#>qZ`n}@l2M8 z{o``DDM3kWUe3Z;{T(?&q!xLs3B=^NZ*+r>{tq`bRBbB$0dx!8E49@Wby9*xVs|MN zfVb8*#H9P&e>pU_zbEE@_6yJvzBI$_2yh)K0i#<#aEQ&TY!F^_Hv(fDbq%qG)8%8B z``r5iMP%a3B)jl?AG(!YZOTW8=A}_}5yew#T5+22@V&{}XPp3X!=zQvqsSi5wG}bd z#kG%{y{Y7L?XOb``=_t6jZYxCjnsxwO@rXsD{VC3`kr=SNqwEZBPam&{+4o$&6?wfkG?P}?ue-DJGPiqz^KM*7rLH*mJw9jFS<($?JC z%)qECMz%~h=0|TDgkTaynh^Q-(&*>k*ZT6_^oyeLeN+zryvp!l(|JuCs%>z4@c?Ou zG?SH&lzk#Q0%D`9s#+Lw=psHq5;uG_420HXTs=BFH^@7Eg_BObugeZK+~&%)z=rKa zNE59A0}~adX}_V^Bh}m6cg0X-mhGvN+DFGbAkw2^0L%jitLKm7SL_S z5{QZ`wfzJvZ&I2MU}%n^4Vx-#3`(!)^Z&-`aVEW_h94OA{gIk==Cmo#b0b?h*P=z% zG^^m!mKg?sH^$A{=oM*DPIlQj*6LCBtef#5DztMy>H~3dIDxk=Vi8;!00KJ4npY?O zdVKzwb*_NTIQtoLenHM%*fs8`B?`Elo7J9w1JBy;)xY3Bois{H0|ltNwqs#!9BJj; zDCH!q{KRni0wB3&)@8mv25-fbye8c-B{U;!} zuntk2zJ2gURyN0U)^k!@epG^P61%GFgAIy%5=WMtpet z9s5e&TFZLhZ9nbW9sGdPKZ>|>34h}LI^JG*&;E8Sv|;T2ZcDfWsCnan<0*`~ZgYA6 zNl7Hk#ohl$>ty=MpEb+|5=hasd;F=b()xSm4edw$rs^A+J0aZu<^zl72rd-sw4n|( z2p~VN8OFI}W_4r`glxa2F{%A%*Cdm+J#PP3oC3}E7X5NTG-2}{O;1mo_M`llH+Q7- z6X7_oeJNwAbemJgy(H1$JgCw$R-W+wJ&|tYl4$Z_D@RHMLn0_vVs% zEwiKs(JIhWG#J^0hv$V85yz2iLiaoNJC~DAYUuHrIFwa_d&Ebh&AK)z1b--#I{~lv z9x?2V+wd>P(zS+~9vqb1hl_sgSyK^dKk8_TaHB0o2*@87H|UMfoz+&*CJVx33fFW$ zocHb#{Af)1_ed)UCQ^)ksU|G)eYN_>YGFIX0`|2f=|LLbb$6u*aXy@rI0sb^oyQC&*v3`;pUcbi7dQ!Mvj% zx#frlEePMHyJo-T9$ggE8K@xBzgdzkwc`7!sxil_VWUg>uUHm0v`$yP0jCGZOw&YD zO!gj_?u}-VB+sMy1QnzDmAaVsGO zyC2o8DkIHZukLrH#eyMOs$Ut4yA5+kb(Lh%43QHTTL<$xzJdlQTalHIo=>N)hYQBS zCwlp-ywS0oIsL8ZQ-NxEf>5@9G5rqbeX2W3b04hj-uzg(`TQig!)LDqgy&N>ygT$| zIE=E^iy3Tu=SWJ@!{`|E<}4_^gJ9;>2BsthRCp^~oh(Zzr#C@qo(d_Na)7dF`17y5 z>*8{GF|Blu(1hSft}}iLx9l|kP2UB@w9Pku`29 z`dT`paW^jW(7B7qUZ8-#Y2Sa9fWX`sVa7rst0m}i(CEByXQ81I(rv!1Zq<&kjQ{5e zV9$i+g|%dx{Q7m=0;Gx}c9QOXOGvDwVVC?3A&C(892Z3Hkd|gjksec!_;tK&@XC_e z^NWcCel+{f$f#lWYRqTL->)C=0(fP-NY+1lV((|>P6{TO_I+oERNxugy%uUR`c-Wh zphHw3Y{C)uYtOi#E&VR;nwP}K!?|q{#YA82Us|_Y{#&79Py&$J4Cl`r`apMmdNnwv zG`{Q2pWDT+Q)i5`Mvc)R&z<~Qh^WB!$D6Z`pZ#(a}<-yWym;1C_5i+gET z`M^4t>g zFo3un1O_m-`LOImB4rl7Qd-yDgc4WYb}y;^9+1JWz*=E+Vj>IS;ghEB-bpTU812Bm z3A>r}K8QR0{Q6!g*s{9Kdl>B}>IRgK1aQ{siTmJ-lmmcW$5x!qEGQXCEwX8=Sjh4J zHt8zq+Y2l9HW4Z5D+ntlB*$L#=kvy`e)*Gc5w+OB{`od3QHn#D3&pCH*cv5)NWg_H zE4`Um_vCmOXUJ?FB_2~nE9g9{xe03^LH?T^c z#8ZNVUKSP^n&{#w=PxK}>d^c1%gwVRgb?o(h4?#MEa3O&VFyz^CYW%~8rZGloRSva%!w zQxllD4F4Blp?wynBmZ3_mAoOR*HymZUWdTk-gkEt3sZ|y$20y*4Nes`=+!DpH5!sA zvEijolk6+&Q=(&X1Ih;TdP$VkUwA6Mp);9YyJ5Z&Pt3P2WYIc9Fz0W__PHUPO=AfMA zHM~?=T=%8R(nR>otbu74Jc>p><wX3 z6@O5*1Pe*HARsFkzW>9QDS~18;|A?jXJWm;U@wvXj`@+e?A9*0hk1A|OZM>_ zHCbPc6OJ)xlbT}@B8V!BINC|}+pSwuihgz7pRGc8z}o{t-O=D#m_>0qpr)BReGP z!nM`SL8d6GCo5V`p)&h!0xNA=-D^xO7UsaF4-I6MeXA@IK5z4MU|hfCQc!4rk1H+8 zx%txU7*pUWc1T<+#{Tul4DrjkW6Lv%H?(QYe;P?=4Xis#Zj2L5ublgnt(Nk^8UNh$ zFP5M?KK5%Vk7bgFs0bo>Kd^sl=s82uwjfz8WZJQ}eVY?KutK@j(3fLqKlK1C;eno4 z8Wtbh?W?Elqm@XPMNTvZu7BtqU)S}m8+zhDE`J9lZ3yGX9~Jl`d4{SFgi%#fE#=CJ zNe^p-zMf*`HK+Px^*?`Zv6UT#TNIG%= zPIy8R)Rcja-ku%tP51sgyCZHZN}$o*#G7rEk`4%~S8&`TTAUW=JGa&L z^QNjtl)uD^oo?0AMRl~c%1653!&tYBb*5R4*v0^(wm6%%C49|mnmn>@@P{G-Ea!P) zt%1Wi?(kZ4G)?A1Aj4rK|DXww+=4lX?8p(yp)m*lSBb)8oc+BBW_=KZBlOi|iyBV^l}2VgR?n zP(|8Z962QJwazKK*PD>;7PL+=H^d0&a1*kfZ_$HK;tgmc;`~f7?OD! z%344oKA@e1TDuqK@4XdBITuuqyv;fwBl-85zJMFi|10yX{as0;+tUjZ%Ke_@4UUoDQY3kAs2?b5-I+Q3`SV?lGvNrGV&7 ztOua!%#Xr*ENVe^>dUaj*gj0uHLPzq}ToPwiPw(ObHFIjx=#Kc+>@<$w?x>s! zkMi&eL;?*Jr9!z30ZRo#3F%wHv3c-yQ=7t2`n!bGsyaQ(!WHS8i-;da!rF}h?vxAn zBTXH1{IE;zRd2q=Z+Ug6v?j56zVwty3T!rfMU@_Y5rl!l6BeBi;GAK5)OI{9M3+{#i4A8oRiau{^`(Nq`h z5T@g(8B{oEc|LmL+z58y4|iOFcG=RAJHM9wdB3b5zS`Xzhc-VGBnz@*UesO&bwmn3 z0)d^P4?W7XRIb#D3! zYGQ7LLKnw^uNkV}=6tPQ1es+#9wqhBq3w+#N!C$})qU-(d1fjim~D|c4&mL#QyRYG zd9PZO^=s>s{`<|Tt4My&#NlYCs8nnAE5K#gW%t#)`n7Z(@r}1Zs#TjN?79vUq!Mxx z^zSdbu}pAdmFcSANM)vbq8;^^F+zVqw;e4}WqK9S=SR#-q_FhJ4in$nIEt_i9R_YO zsP#K@6XG~mQbb$8n_4>1w8CL}5=xssmIEl!qw?Hq0<|}TG(%@2Xo8_THz)&d+R3Mc1joY@kfjrRQ42bXjGEN5r8gnzofR4S1&d>AZDLmp->PGW_lFITa~B>13pvOQI4;@z?mh zmGh=5j+Y*@uLI%VNbAmOseri;;dcub-fQODPh`t9=2a1gdMV~rbd$WLVHwRepbnX6 ztL7v_w?FAuKi(iIAa!4*bH>V+l~;db7~nhEAFM2Pe3T$CHdEoyvyYNTH#gm#Q%lRn zIuFn()-1N`FIFE0JKyyD)=5bPDn*1s!3Jsi#$MZ}U|%Po*r}$+vR5rzND5O*r;KJZ zMkZFcSxDVoFmB}aq=VS`T>c%7Gp#Ta8OwK=XOJn+KjPX!ZfXp)DYf)xK}D8NR;@oU ze`&l0*$LjMH}G_^Qz`2O=soDn%BGk&w`~@CA6;gEtG0Zd;JHrvsX1Z57nH3EQEvt> z0zZxsu;@!2ZAzpShLmak%`bVEb$YaC>)q^rv)1bI{9||P{IM5v2WI4J@ZYYN^-4#j zz9%ke<0rW|QVoWl3@hXjA9i?RJZj0;B2g!GxTzLPdyK1uWvcBuR?-)vq0SR`){3z8 z-ps#^@bpGv-JRK&i9i7$qzRNykY~^r8Q3X}RywiH?{oiIb^6Zo&O^Y9lA5wu;!DtQ ztZ(+iOWrR>#~KLcxOd!C!;yMX{229&EW=02oOT8+^1+j>8_=*P)gam0Di1oGvUtaS zmCx=M63q^>(+0nHSWeLKqc>-~FXmT#>wbQ}pfxWi(fMe#h0osbG!5CN zf|a#nG5XJSGcI;)T#-@|(8$st1?_!rwz%M9NTw$jD%iF?7Fe;k%EEoqj4nP4eC&-L z*~MPxo*O^XM;>q3)@)}Yc9=q%=t!}9zJAcFWE1H5!@8QDrD85~&o#2=?6=59Aa(R> zyHm!GQX%_H?I;_#n(}MNWe*m|dSnL*`pz9LhC*PH1% zo+#aDO!8ZD6n3q;MSS)7SBQ6;&6tQA3MZZXKjRtgOQ2vtVP9Xo%WGSF{XuU)y>JlF z1ah9=89n5~kFL(1SVu7Uv95U&{ORY`%rd0DVl*ks(O0R{H%XYY9`%I)ae!9g} zwGB(EQxt>q(kMV|Hixm)7#Z(`0B#ED(UF$DkZ;R_)+Pr3ScZGr)ck8uEV@Kqo&`+ z-n(%J3l1KLhUkw!%bWxIXy->#d*2FdO>1in-!{LcyQ>gHH2RGEQiS2{{bCsW%VQ($ zgt7&I=vYtF^C;*!kk-52rtfFYxsVupelYI8F}iaSqD1cG$Jr=Cbkx(i)JMM8voSsD z`RPz3kRSVzWKRmPvADrNn z(fwj4(A(D)X7aA;#NjF^jUx4-?wrNBq~0HF$X(~N)A20wW8L?OOG)`J@}?J6ts=1z z-V7!DwbQm`c2cArdryL*|Cy`_=Wcm-xJSlara2Ce(bK(LAH;yNZIy88GDOT^AF4Zc zx_1)qTJ;0EQf8|NwEhV_Ny@GC&a?qmcK)Cf$($qmR{yM8tyl`gd|S%EEEJ#eC8AHS zanf!2D&Sv;0~l5LsC!`u`E{husXqZOw!>~k62enpjT!>B`k79krH?OF-=?&H-eQM% zcsg-V@iH_r<(Fxmo_v^_+*PeVg)UmkemdoeL6IoD$*4M9=(rrU)q7birxV*?Aq#=(EWuS=i56uG z8Ue(-iFlqHk!Jxbxx9(<%2%ALvC0w&A${m_D$GQ@C=k5KY`S;*KUTdtLX?Uh@t6dW zy6x3b#=2`M1Tnfa?(JV z-rVv0x4U^GM*c3&*BGUIM>K+OzVaZt>^8naOB7&vMsh9aucSTT`L`U;wSSXedo^lG zdz5Zpdrd9N904Xssx2xj&u+9noMR(%(bS&H^FyIHgPPPi*#)Z7eklZK8v2Ix-|Gp& zlyiXWrC~3J`2nBQI_Gu&pRMq~r^i*z`BXd|*<>w;_UhzpT4Hg_N`yR}yKjoVD@?x3 zwCLO@;oH4|7Mr`kdaC286~Tq!3F*qh zy_|Ca(t_pEERFn(-d3Z!5qmJAkgxjfDFy9xqIM4*}r{Xd+Z}lLLzRc z3`K}b3bK=x+`zS^QGHEy+u*9iLxnnE^;tMbEK#nE)Try#6*8yJ&Y5n%pF4u^60Y^%Xq*&% zON&={sLM2YTlW`uZxxC;$)l$wut;z|Zi{R0YuGcTTn4{E+njMT>n z@M^4wHvdk$;phwWsAGRh$+nxecP`4I7f_feP@MCawT}mODj4Zl76`NUCL0G=c`zSY zgsOeI~O`JMNIpw$Qw~-f#BS-@>yn2Ukm(Ffg0eyJU>7 zXQ2&C_t?D!VK`k)J=FOKksv8El;G--W~k`QeDXFEf$+ib{{VPEhrbK6bCW!izMn|X zZr>+c^s}e{YOfOLX;tffs?E-iyI0z{j5H18mfK{seShY2_CMSDKF|1e8{<{u zh#*!IT)m7Xf`qyqA(c2JL=y*zGhzuj*v7_ng$Z~Z-w(X zZ3|&mo2z=|w;}VmEH+2&DZdS$$K|&!pZqq?O>?T+Q+}(Q$K|&L&<87 zf=sf%GMcTwfmhqfVr3XP2l~f8pj9vv2l9}27~~W9JnYOAA+By4^IYcCH7i^PJ@9(H zXS<&_kJ&BQ=Jk4~bw=8Px9gxszNr$QJ;_h!@o{^T?ti5l^SF2(;~yQk1g85CH|ZVb ztExa}G+Fb`+rOUI`)uwtJz)5LlUv>`dQU$uTjp^-dkd8Fy6Qa-e19ML|J4KIvf>l- z^0MMqHRkBy*f)Fu;*P?&&+w#Qz1%E3O7%iE)eAkwtc6hTQ+B)FBy9JD{|Mo29_u25 zU^psrjDM~IJkM81@+aD#S8?}LK~1sHByQ1iNiB`isqFBH59hJ-W*z1-cZapZJe9t8 zn5W=V=&-LCA{OE-d}CUqI|Dc2Q^?teRf&a(&lP7hf6eHsDkI9F=`K)9bKPRB4YKuuD{j{(tEijXp$17v&0KlAUb)dA2rt%1O^3A*R=c4P z!_Jvc1D38fX)jUvawFX<ytga}QEH&D+k#1Lme0pjfI zjus|95o!|$IB$61bZ#$mhtAKCP<_qm%+@(hUI4yUO?}G5#T?8Rzk`v}o-7TR;(r42 zupaT)>py)ulP8d0;aT2xn8~hDYe}~DK|MR|&p`jYD)h;dt-W8j;fLd1pfdRFnqBv2 zJu0Dh7Bht>%+3a^hx7=yxFPSI&UO9|`})ntZohfZXLIxU>3oj)r|Rv0-?;b>`S1ht zIsW@9^DWButo8X!kKR9U2I(kWo*sG&^|Y*%`kp;vltjF)b4*S=DUr~A5G#|rNeq=BF^E= zmS@LAljM?*PppyS!V<{gR&_4qupOW@o%Ir~HvY-!PXPUyUi2T~qtjoHAAhEKDU`V7 z-_ktp2WVafIo#DJ&9d_?>Vf8QluuiAvjx;}4+}i46a=igkeU_?2x^pZ6VdJmAx{{(pVGf2?ph`t|ut zkA?7@`8SntYbWzvRd75@;5fp5(Qdwh-}W2cKD+00dFy_lBT3sPm;BJzHi-Axe763j z^)w%&+#S!TNc7A~fK&x^!qz<3O)}AT!@3fl1tPv71bsjyfd?%T+LM1!V*wVQ*vn-$ zbAh9`_vD|m{s3tTM1PJG>l5c{io^M5Y5}(&e84AvS1;(Jp72$@XYLVis;`VEoHBmr z(80#=tOacC%)eo#>;c_Q!FNn*8d_?|&bK~g0UPUf9p?2E_9wAQtZ>4Q)Ba^ep=XPS zL!Vm?eeF-szly}aJ^l3Lob_i|a}>_Blmg;o_}$%12C^w>wvBYAxuYv zH6KO<@@%^v`(Z;>ik9M7pNVNvp_~`(#}OWvIw6l6)OyI{1(3E9U$}Dh0xswNrI%cN z(E{hpC0z}ed^HgJi_YZ#^I#494YXL)OrVQaSN;z;;6g^`YI!FDsuye;}dzBjbZ z*&Eshed>^E^*9^vu9aQ<9S;7EKJhh2E*ZR#=^8rB11iW*LiAtdF^Ot#9}aQYWML4G zhdF6G@oq*Ps86Ufz+2V!>OEjPE%%46?$7n0ZH#5>H^4co9{ zp);?Db{S9!x#KfiwoT8bcIY-d@v8{EzKQ~0{abDZ0B}M z)aq$%gRnXV8dKXS#a6GjW*UyD`@I?$vh@`EUVoTRispmXT-$W~ULf6Bk_WoOf#!3j zXL4x1gWY^jU+DN<>yfXHyNQr9=99*qO*5$V%&UmzRqW=qbfLFT^`=qv<>2pAJddvb zi#!xZV|WqdajdV+XVN^1q0Qm@SqFi8`dc62n72gp#&%>W213jZHwE_c0S@lBs^nPf z4u2IA?=foPz}ec9U#c~77E&eNhZaO!XgSO`@sh-RaziRkbA_unxNRZlr%(3cr*|!6 zei>}*N$7orbS^1RYBY@c#3Ie~=?(t8u(vMZ(S=@J0@JZPxzMlcds@$mPw5f5vrg@! z7CQVX8KLtP=b`T{;$^UyRG${o{c>Nzh{ASu7+%CdmV>~I*(BhPUBc*vMqA-ZI@K8Gv5Hk4qaLPZSv212aGZAEmKaes|q z*F2?T{!mt+Jizjnm?h~4*|z8PY#Y?H?OC6_%FHtyo>=x2Z3Qe%q_m)X@M;Oo0J)E{F%Em>s8{-&c;UIZzSqD5_jZ!hMYUhT))Y4sUSzcQcKsn108=?d?B z?nCR1#DRQ1>)m{wbM1pM=4WR(a(^Xl@529}y>Xr9=(-_oit$_9ZD05v6_5{wu=bUP zNzlIIpN6q`cV#P;-!-D9Z2K9#yiVaBo_1rHonq~;$t0VBkhs6Q-5RP5Cy7sZo4@SP z%iFpDG?&t1ho%^}lsn3yK(tq=|0D&{d zlX5yu^V(3AHT)r?ts3Mtb z_v@MKKiA7s0g|%E5r6yYuXN{>5zG?TL2uEOX2Q-Dq5iZcxZOFQnM>9N6(LT3CaBje zQ;ydNJ!gdeXMPSd+K;rWA#}zvr z>3gG6;%mMq+I1GQVP0h2TD^>9n)d4xQ3KcXxt^K3U#~O=Q&<<|ell?K5Xm%uq2FP3 ziHOl9acEb-Zu?SK+m|Ruih281%>SaZ*nS-9B5}5yr}2Gw*5|K3%lURC(J*T9UW?$q zy8&%d93(ZVD}SkHh8^%N%bojsju(aEu!a%5h&iU+U=1#v*)_=XqRdj`6rg z;S0(Gy!$KTob+tn7~R`wcI(;bcRpESQjX7I-}&{}F8pgBe7Xz&#s@#qg@5aV&(87n zXtz%%bAO79PYf@9iwhSFE;CUd+xiam3mWw`5bM^ zeX?aaKF4D|kF)RL=(ciJr`A)ialTV-w)AT~V|Bww3Q`)d><;T{&2;oE)K)9!*j`c^ zAEkMtZkWz*0`3SU1uSI=on;H$GA?z?_~v`d;D7Z0!AHMShP5cg=wH^0{u|xAzy034 z`P_4Nj?X>aKHI>Db6l<@hF3SV;|JUF>|V4y@6sX|-$#q)oMV0+aK|I=w6KA*ZY#+i z6Er%^n>3k@9P|Uo-m&%yE%74Yl^y2I3~JtjPnZvG#i!U|-iA-9W9Ah@0x`U`DQ9g0 z{C}Kzg@)Rlu;Z5=I6_KWT3GS6U_H zv;Z*zIqUN3lntxOVZ<+(q0P=f~GpX;gw~*7ZbIK1x{!d}wg#H0- ztJs%fD=l=^7T3_-0+el1n;;B14HKSLP`56?H(CvCoxNB!?8~8C8A`bv%e`*WdU%6! zWt~2;f30`kuBdJ!MRE}lLDE~Do3a5#VC>$A2b3`8FE$)=oK_|m47^de{UH% zAl^XHq})MoEofVbUKk^4F1bb9H1 z4R;iC$=^?EQ|-$Ua*c+0q-BHF)&3QODfA5g)sxyBsAja+T&Y#HfkXoIr{y4h=B!_6 zjU@Xk)yV!zfuC$7HrY_~Du1ZC4RuY+A9Q2bh8UJU@n+s8VQ_oiCgJy*-+uM*d|b^R zG-kib@3S}(;@-o!{^+}*y?WzKagk{TM3U_s15~|ENB3*m=_D@x0wmF&Xq{TNbChAj zFZy=$^IXlJw2}4A;y*)8QXrI@Ss`3`EqqysZIa%m_6XOMf}ge^EHqF-hcJf=WqzW;|U)I;WwCPZ5p;9{H7;<5QKL#&)f=z2SfNR7N+rW zgIR^NoA*PX^y;@4v~&IT`ua=6~Ife#kAu@|C^Kg^%>X z|K`FIKKM=-KEelo-GvYL!QXY^hx_1rTzIJu{)G!ag2Gkj+|0M_Om=Ix9@gqnqfj== zXg421-YVv5W@^Ilw4zWg#pN2exx{=1bo@ZNq^${JTK1+>ojGzGq&pdTd0>nXm7<@O zkC3SS?Q_VrpnoTu)J9ZxdcB<)1-)vPCOYS!qS0K<8(Ldw;=P=?gUUPY$p^GH3FaJg z3}6p6s>Gq(qlTD;Fv6N8w$@Ei3|#Nl(YLsCfzWPE(`M3Dt`nQA3yK1LgEg+mC`dMF z&4I*ixK73XF&pYIf%#G=ncBfdl@NyKAR|*Z(zqjrD}OR-*;_lxK&eY8N1V~ZK&SW6 zJvE4fx>!xn&k|o^s0bw8)x?49!H&oJYQ(kgW_p=+DEoN2M$RmOk^@kaB|sspF$8dxNE|w*st6|6G#R{3S zqitiu7Ju8pmj5Ax1OlOFan7NkO+rBKC%|m|vQU_KmG_N1JDC5{oV6TEv{S&rlexA` zfWDb$x1o*KE|B91-YV<9%kh`YZ6x*#2pyzt; zyHPvYK1-Zx$sX0{-hR#bnpK8<`eNwQb}R;8K1kxiM(9QL@ZGWiL1@mp6lHo>=QgC1 z>1uJUAkua4tpeQ#Cc#)&*$$K6qtVZ?-N&`x;hju(jb%$74`H>ghp?T@2S4Sx1%lzc zjeiu_Spa5>QRMQr@tu54jlJbG4dv}!8u#Jm*nfAj{Y<-_^&rX7a2GNN^dCGgQGQ~O zL<@6PqAE#T9n4n|M-Pnow04enc6;p<%L%2z3R9yqfO7)ptNgyks!nH(8)K!EQJwQ9 z0X4C>PT~4X{JXf5`|%xYL<`Ez2)xCODu2`!lg8xeSTR{Wr7?L#3}nbRF^te7Vu`Of zZNKkiX91#uhc>YyHh|FzrAPDn5RrMt|3Jf2{9glv*7qH+9p?R={QMyH?IrXMv0U)XsD%awtW6c6-e|TFP!uKB%PvX@42p zrd^Xr{*2$doovtY2lGhY3#o03jYL8@DC9@dfqZ^^U*JF|KSwvrpgWcD%$a9utglA* z;+`|_U*Ed@i;ZV?SK2QH?>>XFnBTXSFWoyw>5F^L*9;zA-1q!GaB*+>0cjb!nA>9i z5=Q3fbSy@kHadK<<2$?rb#jGjl7G(j=b#L2Zr8#jq;1)lGq=&Vivz0WXzyn(c74pHp^B6)EM?1xF2lF$n6F-bw&y2!=Fu}|S1)G1+S#Z$6-EW))=Tj|N$yde z&d-iVd109FOCkCh^6MCJyvXl~irLgK!@D-TdNDsU*RxMfcl#vvDXNRNUe-jy&LL7i zO^|jb-Fvf_Ko1Ng2|f`!0Dp5=yY+W%BS5gfEo)on%pYjE0_y>ws*c66og_h6U13HY z?8R;DJRqBG0*oK+6J{p-&!yYYQss4MR{(Vrir_iKK(9CW#DBO>>liIYoZ3P^ zzE8uu!qR~$90on&O=!2YTucz3%1bHMKFHI`qhmME7{{Vq@>ju3Y)48Yl6W;QPmfu`Ejr!Qgq;kb69cQjh>`0`k?g!A*!w47{oH01G~ z#(aP}=USIAeR$4%3BDEXXtbB0yjmfkH^&z=v{KAjoh8NeM1TI-SPq2m&<=O*sEK&a z@%;w!noRS$>oD}lg0o#*fH5TAa|Di|7|i-P>s|ONap7XA(>~$8C2UO) zH8W-XmC-`jwSV{;YjjxOp_c!U*UpRQ`KX)cxL$caxx}%&QOKa?j~5&FeY7b;fttIqzUX+;1`N0M%wB zZ>+u&WVPbpeAF!lPa<)N`Jh}&vTG;63giV64_t${NZNBR)X_`1&R{^$t1~!pDWCHv`*a44F1*?YpXrdrqb!Em=#wG*%dS zFO3x*j`%@03sWzR|H{vy>z6Y574X9%hcKg<1>G0?8yJ7_oi=yJZ6Jn+rL8{x-aM;XqZgNU}}EbSPU)+$2J-T;Y0X=#dG z4fGA7PoxD;A|WmI5_~@ePxS}vrI^E!)ql8t?r6ATNa|?pgQwFKBi;;mG0FR;$2!4! zSQhDd#d#vm*Eag)7tfDxj5ms-V&1#UUR}!ecI-MVp^VbVX|EDdXU<~ASL1rgu7lB3 z&qfnaUOxdicLB-NO`@Z%l%S;!`hRY>l%VbC%rkYBMq*#Pr2!;yfcr*~mNC9;S$_c) z$CzpjBLTHNSr8NgdLT*`)!bYitBJ5@ec~G~(-$vu&H`GuR>$ZFLf?;;&!%YDGXFT@ z=XQoKV|Ezq+>YIh{USr3Idfb!y$PcQ-$&8Da53IML*tU3xFcxXCcF`&8Tt-|l~b7A zitnSV@q2BlXQ7caWVhjaf_}X_?0=m7sw@^_>YS+u70fLV4(7}-zSH=fZv0Es1GVPx zftkzLUVi_;4iXg`nyQQ{y7#skPxv^}3;Gc#gq%3EicBDOQ?-G+QtkAOTeIUkp1ZQx zn{)1pT3k41ukeIMjm*zmyh~x2dN+%ur?3iP>d9Fql$dygmgAo6`n=nlFMsA~eNUco z;R+Z(`?a~mpLgN~LUnZ1XD-wo*9Q$Vs*F@qJxMEd(EIV8=3r2!XB?J7ow74v49!3) z7&McaXy87CDIyg2duYuO!;%2Qo&kLTZ}G%*C$h1JToJttvC&7rtj$IreoH(TXr|`O zssgE!<S9(u53JnPT<>3;>w7|+W_k1|*zDC;^?KwjLE>2>-{OlK>x;W{8DH;W+_<23y-V*A^Ti+8EB;|$e6m;kW4`#Z zV9)!@pYYOVrGl2{obL-+2tU)*>a$MgKymuE%L^7wlH!hhj2X$jUCRz1vz zzZKe(CBYbQ-wAXUM=17c453bjrIVKTO!pf|H;|^Q^rfq$>3IG7E%&y4I_UkL#ml*z zH`U00YnE<^n{F!fyXir%uffvg{Je3-$ci(Ko@aNDaMR8-I?W?|Y0KTTHl%GZxPJim zo&h&)1Ed`p^v2cs;(rppxZ{0sqntSA2OzWDv8fg5T~RO};Qnr0xD7_>;$Vy{5N1P9 zjtjR!xZMe(tqmU!bC>t_b%Q)$!E#53C!+Q@KrQ7qQ6D0?6W58u#g62PAnpQl9oGtn z#%40x=&Z>F%~ZrakFa4mzo+&hEO}uFn>+N&`Cz#$M!FJ(8vAb zU9y~=amKx0^g?Ngcv5T-N!1J>s(|OkI+EuEiIrC5WE}c`}Rh~=! zNE{)d&Rb@u=FA81P0Gjo9`l9TA0x8)8E*h}VAgbT1kl3epZk_GJ9E^SH;awX7cXvQ z{wUjlH>XLyZhth^+61vk-9`wX%&~#y^GKDT!nb1g;^FS~#o{KseONTvJ#5Vz+Beh+%q4!!{0 zizn#+`>C{d&n&uv>+_m?`n&-ye6Hc;b3;~e-)@XH>Z!v#&0yiHobahI-hLkRuG0@+ z!R7@lhxsgNa&Yqg<2Y{8#hvTm&g}!2jk!rHoI7a6xNxV?ZvFzW76>f{8-c~n2)qYI z++}pcwSUqPcsGPMIpM@X-oJmm!r#C7n3=VL@%CoY0%LvzU4wXaoY@t8ytNvg)p;g;8@NYTqStYboNTa=vcmj`4D1ti?X_r2cXv12XU+}hq|%2h!b}| zo-uaf5}(D%gAm@#!yoeU*7iXoy;pk$JA*u0h=0;kDlaDr;Qs_I@ofpI&=QAA$apPr zpoElbiO-3kF}LlnC2IXq{sXhqFuWl9CyDI&uigC1f@;=K~FMrV-3TP5No{{9cZ1P4zZc- z803BF4Yz+ThyHh4(DcYA82`R6{*S%l_ka1~Zx5P1`u8DU{FYwv(n@dq9lhdpU;LeJ zJnw(SD|`1pgqN)3e%zx(=pk>#-8ek)}_Wd=clofq)n7G z2evCnEwG)uSZS{WaWA01Vv=0Vr+?}CW$25F%X4d1`p-qJ1F3GU;W^*BlKXmGXV|f| z(9fO-di^(D(JTH*U;H0>#XseXzoA$B(?QcCZ{EI=%bV+gvJJg-r}w()H$eLJkp7vV z*M{Tam5%I4vg3blv?rezXF5IxqNFk=;cXMi3k;7h!Q{^j?%SE3f93rp*?&KTXFT}Y z`Sq1-{TP*_rrq*0kVgiFCJ?;uO(k~A&!N?0A&GjRJ&v&F{wj&yGd+v00n4Q_BG8)* zqkCz3^8%5c(P;UpaejH%;XCRxtrr?Q>bn9v>T}7-Vx^3lk%pEFj4D_`bd@q#v9$Ux z=shKutQIQ+i>w#KWkADt5r1uyqC(>NJpYWG&E<{@T{|J_=ksiCWBya1VQ|R1z8L1l zUFgP{&ffhI5SPXD#uy?B(IL?=ewhdvqQppv`p&%Qz|spo)}z58p`VcxLRv7FT-CBn z)0OP*-x&<&Z5O9G^wDTP&Trux7)s8XNZz0pGl#kz55&?i>1mL)T7Ro>FD*KvylGE& z&T6T;i+V9?sd|*&X>ch@z)JbcI#H)tvm$C*d9|BbGQRtJBk_`2ocNOQ{lk$b2$vR* zb>>lOuXQ#%#~wA&qgYfZ62p=pOos+pK(6-4>?_ai=^u*mX;;u_2Nsm zup@bGWxbF%5TSD**1xOxNXJeQ>DhKRlk>lyo+CW;{LZE4gnuBXqbHRiAC-Apgb=62 zF8w{^3mgodXq$Q|N$g=bB-CMDQ&~?E?;^cJ9eTar>+2u*Ue|iQ7dglOy@HONlYEY2 zE1^2If-yM|YFLgll^6{)%hwu3$}^%M;5}J&ZK!#AMQEoZntn@3?Lu27zOPns4!<}3 zD8kM*;@&_7et!i)b}T%OJBRz<;5g_bVggB0%o^H1INeR>^sUQjJBP1#aI+~ZTyI2N zKhe2!xX$EyBUdvuWYu$9eZ~{d^~NWsg)GS*zu_Fd7RUIbLtfp;)!sPkm=L=kgO$6* z8&`8|2=4^saWDDej-zqBjt9@_Tb3v1GTm&HT0Fyu2TDt`o-N`*E!DI7{YunFx=mr+qcYi?YUfLJKZC*Ilkh~^{>xwF!DA%cb?1d z0D4>KNG>F)0P0_t&@Zhzd*<2)BYdDB`keeXt)mx3M_D3VHPZVgq-+**B^{0C~l>3)7+ei6(RTKJ| zGt%T3`n2b6f%V3A9d~rL0A5EMrnm**cNz`Nw;6WJtwu-9rjVJ^WyC+y8$kg3!*!6#cI$Q>I@cOMc z&g<>>l=@gWkL@96quUJbr{{91-G97%0GV|-ois(zp7)-<33XV9_r~=wc^ zL%2SE*T~ay0>uB=Jy)7D>m0wT9~dPd)E@;r&Dh=OYjNL(lvBMt?KWVx88! z0JE4}8p@gbSbGRv#dC_PSa#xz%;vX^#tokuna%IObFX1#Pa|q@WfbG&$VQMI(HZHu+XbCNiq+t#(2^AReFw<^^ zNr`?#1a*v05j~9ezJCmcXNgXPJZwR0mcmXW9AkiPZk`b0OROpy8+Oe#1=@3TcfCALtSPP>=YB^YJ94P9`Uk zcnElib!J-d!0Ai0?uQdN?{+mvG2RFAHZz0rZOpHtlci`JqKo6 zd+@9Pg?-|@d3m<5y64^@lb4j$j_srMon+I!xm9|V7@$4|hmln}{#2nrh>1g_RXUW_ z2CFP#n6OIECCz{>B=+a;Hcap`lF?R_;d$BPSNHZojeqzPS2Ot`PWGc;oMb4R6nyuh ztmgbb5bil={Ae|wGuHX$j0QK267D%?oVuFN8K1$(l)^Y?s1eVdd#n9&l@`g{nJ!w* ze1h@$g!}2%B54Wl7lS8y|AA-D>K{n@>~79q?Z0o1+KH{^>qtz&ymoUsH?3y6mpHiz zX6G{pB7dFrk-X2k1*Bgj;+`8Jk{xgDl(^j4E$;$ z+1jCzW=Nf_sepIOc|Q`~)6RPpybpt4ED~{TC?8zS?<(p@CY@FdI(nb&5cdaM?@9Gg zk7WZF)0uC1sEXeEFa%FaOF8SB7KBrrs-ap&Xu~wg zCW<2kq9MekeL_6I_(p(~$fHLgkKlJ^ErDl=e73}4CGyXS8xK4Kb;j*UFUFs zi|K&I;P;dc6^;FA@yzwbE8X)&ku_}1*etR(uItgp^c)|wF~TVhv~e970&SbKE^Wab z@qd2MicvA~Eh}dT)ju678cOna^(LW=5)sGE=$4~N2~li(Q%EKmk93%?IH%|lQbL|1 zJZ^BWxc8kmJ2?qxO|~d*j^EDWsU||qD2lzy%_-r+K6Z1ci||~ZcJcZHY@8?8P=>`c zBnu#B48?wva9GlXz3swME^Ma@JKTl+-G7CR1X!7;qzaqIjBv4Ebg>U}VXwKcF)r+7 z7dE^{t|!dmG374yJ1+Kk7xs}0t8sF$lcf=Q^R$zbX7hF{1&kx_n^jBzeTu@57i;TXj(#snWm>nx5j!NsWbVJvVlDqW1pfHBC$m_3_gOa_c2XnzZQ z;P!zjP9Ml5$NKV}-M}%%Iv94c#D}rlrM|>1xz>kq$St|n#TezoSZ4ReC<2TjF2+c= zlp+U%$8@`6pxUMIhzMGpaE#-JvQdNZxWIUeK>0>3tVByhnZ7e`(5qUhPs`Z_hS_E( z2SGm7PClMJbD@FWI%v{!zk?zuX@B8+iExI*;m)2m;Uy3Hk4x5cvn{{oTDykLy^Ach zHP*wv?dNN_A7dQVN3@ELWoCh3n@BmHSVQU}I_@tdzKDWk!ROE4t>Jd7X2iQ6d)*p- z<}Dhja(t2Ed(J$8o;krg*E#M@E^eU*x3Cv3{@w1DR~+&B_qk^cyXVZd27g5u?=1_9 zAfZi+L{FriIsl$CWu0LZu$bEMrsl*b5R=$Xp|L#lAjlz!_bIesy!lQygMN+B*Yh+z z?$R_g;K zSPwFbbb)#&yK0c>_>pEhi+|4`k4aPxv1_nb%LJbV@ZW^?ib1d37|Qpo5;17FJqmgy z>t$c|>Sef&#gk`q>IX(JC%d*T(oi=#lB>BmY^Fd4gEFw3#M8WvQkQ$@qVM|!ySRU* zBO}d1zeu^MLcIotnWrO!CcfqSU;Vn+onOc+|2^$x|AuzTam`D@On*bh=^WI>?_Dg9 z^z+a;%%!u!L+1dO&I+KD=P}%^YuZ=W(QY19o;>1i9#xQsduL%6zjt|9nEAwhnEFTZ z?xjrZiIe<`!1r4?El0bwO!D=)AGz?!K6s{!_r)m@FRwVM7d?--^tfk5+_tNUcVf(E(b}s8;y3jb0 z#CG$OFz(5g8ZvLSO0*rAV%3e;D^c-1|to*uEk1Mt|IYYcLBUeckbSy<7jo zeC>6!3m@TwZ|P!drHt7>GP#fZ?se0R^ric=3m@ZyKjOlZKKKq7p7MQ{XS$dzTh2^{ znVY&Xqx%3)1C0vG_$q$`?IEJ&$^sDO3gXufJnr>yZWD9 z{(F1qeHT4&-G4hvzX#skm0#y^n6}oB%kRaGuFdQE`QBn|Eo<|f8D;&x<_}@qU*vaQ zm96c4zxHHbKCCZIU+eh8E|^n0Akt7X5I9%?nN#cMpLhd^pM%mBEIe~&*x-A1)IZ+Z z@xFWdsBgR;_2Tf>UU1e9XY@h)lJCi*Yi-}{`_r}lyMM&-?~*=f`_1>zaBUyBw|o!o zoj!V5yFR$qxx>wA*U=I5g*K;l^#7`j`x#za$|ri&nSJx;*7oj~ul4FvjOyKM+5F37 zL6tsprlr#xd6NTRE}s;xhZV#CXGS|;{C6|j@;+v?Tt7CWdCNcw36s~R7fp^=rd;>3YXD4DZc22 zG5s0WVHK}qHcWOc;;QtC^%h7}z%P}vYQr{ZfVV0E>McOMMOJT-lt`@J>`d=jt+0j` zOQe;=g+aaX>=)J>&+ew>As{=SSCO;6m5M3PDSx8nRpHr5kOu=agtu^w(*==H@^x4s z-uvb!tYbR2C}DLT1kd5LmJP8n@Koq&^r_)gfYm<8YM=ZjTowok_nQ4k{x0nq>zsMs z+sgEt=W3>fWA)63Ba>;G);T_oec$feu-iY(qd~^|Z~DjC-`hXDK1Oou`s$b8dCEQZ zzke+EoFC|y&KOJL7}E{!zW#aZxV_4c!a|Q0>kboNzudUaxxdWmmxnpu$Z)<<5GXj| zd;2NTz5SGri!0YL85`%?Dp(DnEP^W^oGY1q&5wJH7eTjtZMnJ6Zz$%+xcQU+vMpEr zn{UWyzxzMwv(^k~5nrDL5fNL0_gThApMP5C=))zu#;HXO)*=A4K(3kwE<2|_&sBlX z)%>vRkG?iBzJX*T^j=uXVNLq=*?Ytwbf2EL<7+^}(QZ5H9$v}bLY@{q@xN@*^ZpIj z-*}%s)sWBzocyS5B6bxPJP6B$Ck({q30?1yqR3jY!{iHN~anh zy9{+x-=$5oxCJ<$L1+D!Gw7Nhpv*l_ww~>SbeKPBVY>>^NW^o`&GcUJg%R)AwAZu! zf{c}jOhkVZuvRS*LIz)bW=o4BUVmS?r>*BcK!*9?^IiB*AH36r$9(W}T)5?CSjuUndkqyv^mn}y?_YpuK*tV|5` z#|wPgtgKZRiTE^OODg^ye&T)Jrq{1$y!!jvl69)Cu zahTWUltR3OGshfjh|_x9-+w`5!~bjjOLSkZ=KgT9DB}9}83JXD`hTnA!4homop58J zj5@lmzcy4TtS0SNODp<&e|>;Rd*MU@d-4dvdS<>~W@2&R`X>A}TnJ%;JKI`+~dUsQu2l_uZG5w$AteKK#|Zd+xrUdsahp>L`qdxMOV}VR26B zJxZ(OI=>^~?wtTD@PEG@_>KC%v;B-DzQ$07t@9I}#w4b72PNJYb`z;(GqJ?MtN#7W z?&WB6GsT|FvJ^qtrEgIp4QffVhMcbcDJ}G1qv?l|dF7}Qm#rh~x>_3(i z`wUX-`3=EWO0iq4nI_I74R9OObDM>Q;0!>E-GAcq+yrgE4&r@oTqF5-jJua0MFiuH zbyrZrVb=g`AAg6X+}{v7U6hewuUN3ppyX4CgjUxG=pjO9O4zGb%C{ipX?DuDEa>Zm zE|##DEZ8fMvd&I1d>G!V?m_Lc zHvTeohuzrX`EZi;>L_-fZuO}@2}9^qJLK!2Gy9Vu|9=mN840jHJk*!}e*pjgApZX$ z9duTIGJleP|F$El?x{+wimI-v#JxrC#8Y@!h&w>)A$|gXhtUQhvF+C3HomHv%fX5` z)KM8tEtv&+-m8k!FXODiB*N(`4MrosF($+sgA*#!LDOhJKADE6*h79{Z%**5>t_i& z<3b0@PX@;nzNgQI)3Ck_zk2c=p>g~A^3+6Vlz)!loUWdvkjpi;doC9*6|wEWIFY|$ z_&Cm$#gfh(FJb4}un&lYO|W5a*|0{=z3pk2`nf4%&bDIA;p5>{A8hyLbgMTA#~#sc zdh~l$^a#`BX&Yh%Aw9#@g`SZ)CtMVpZVrd@_#97Q>~vY%tYiK^j1BxQ@pJ2F?CTm% zC4Yf4uB2bk!H2kRmV9&H>=%0W-*a1`COs_}wtOK3`^e zF>lJ$p5!-XC0?FVJDRl4O6%v{?M^HCysBa14$P2pT@p)wcPax-G_RY3t~B zBqmbZbVX^qdcbUP&!fc}=$%;~M9#^$zR25j@fPcrb}DL_Sun$w8V9AGMOyiKb=m9H zO-%KSV0s+Pu{#VHgP{MNfILzt9e?>PrgC}^X@13un8E-072B31uDi2l3;nDbElQ>& z$B;S~dUn8+^ZddN_fP(@3Q|h)CmPa~A}sNXOpiQj-Lk`$> z+OedrmGk(Z^oWuf9}C1xv_tqqhm1>nmDjzVHCyoIr?7hNyAts>YRv#r27gU9-l9g0 zxA_8+jyZp}c;}(6Lu70fgST?+AQj&;KcH6-{+`LOJ7FY{3o|7-j-Z9e#DC>{FPHPk zOd{*d)8RxNYiElyVM?-r#MHdc(PI^Ey%0(h^G^av=rj91;yA6#wmBfy z(X;kC8ZXxor<6GBe|fgx%YO|}g1i-H6SM>@YN1dk`r4Cr5_JdO|JH1aUKX3e&H+e- zOfb&1?z5vc;X@832J-jYIv6L@FfD4H^9}LIY;iwMVU0xLc_Oi{xg-rqyluXnEoJtm z)SgRdC2}_9IZJO4w9OjzNH{@zlZMziL9|X5p%dV%odr{{=aS3(m4B{G@&W${T&XdW z)AGhzv^*@c(sa(Haf9GFHL$Z`y+p9T@FiA{AD~E=E3#G*(&fZxYrM?@$|-c;%03@| zgY0wK(Py;oh_3)|K#;#h9Lap2WgBX4kTR8~MP1ADS88v_^T`5M9isq-I7-CZum#>O z9(alN!u3BFF+#r|clQ=7>G*#Ddew>O<`&rhoSrS>GFG?&_NnjYdc_2eGAzQsMI@to!vz7XCEYv9#X zqj*S-?k4DcTVEV@$KBu4ESu?fll0_K!Stllg6YYp2GdQa2Qg>*qBDPjXd^<>4_DtH z=mJxW38YfY-LKLOz49J}Jl6_;I6bDY^8l}#Fl$0^!mP%id7W6JEu`VPalsnROD4=5 z2T+sqeW2~viG3r#eDKw9-Pw>b1Sw$+TnB4F8$j?Exn3GT$6EQ_JQs|rb}IkHQN@#^ zLWNPKFsk%80f$i)9y@1#KTsIbK`DaH|gM0dVaZjH%Euf{LCQ<8)9r)WY z(i^JLc6Q`jka!ZkRThy^iV8SPqzG^&Rs{d&_FTVl?!CwyF_w|=6m~v9Cd4LKyBOD^ zScQ6k6wn#_%n|R`oN>O7IqYN}Wy3GQ2{2a>`>)}cmvr>Q3(Xpvk&~niBa$m2s zy*wq^0w-wDw%L2~9AO7Ka(Ix-&0|MEsXYIf?((CQCF--iO$aNY{DvO8o{4t#Dx+UL}*Y@8!_O?m58Xiu-zr*Qjv6O40$iJxr!PrHosd`|t($u_*H0G^%GRbLeU zT|P(PZ5NYiK_`E%aP=IiqxpiLcCv9XYmTI0oFDA0+j;XGc}AS?I6p+bMRvXmf_XW4 zpQ?OB;)TPV^ zt+i#2nFwW0w97Q>n}U(A>&;2QuH|m9%WV!eDy>j%OP7Cgci81NL%Ge4w$_hp4c412 zj&h}aif86X`xI@^-V5zArN72Kb1XisYEHZ`Xp#~keF5JQnx-W|b7EW2oCGmV7Y6I& zLxOZLt(xjC4>;+Vf1lIU$MKsEnB_T`yf61d5_RE^=J)DkauJ_@qH31CAWC0>zkTp0 z*U+bPy4Qa>{%TJ5`f5MSk@{*bC2NcbIQ7-&T&YJeG|*Z1z&BUw9$a6bdr)lWIXTc- z_n^;Qse7O)SvDkqJz5mZw=q7q`!@EUE9_SZy@MulH=H~pHSv;~8A!9m!MtwUl3)`# zRFsdu7UGvWTd0SCeHc1d`geztl9Mz=HKBhT)KP(37jg?&zMW_MN;}8Qm1F6F zu{^tAEF0}{sqZqDP4-yMEEvn*+j-0`V>#6xOC82?EFa6eEjb8`zXIaN@H0E2U^`WU zx_xMkJDpq>M14KHV;YmI?C%t*B9u)?u5`q%aC|Qh=1W-X$km7ETJ3<8k_iLvMUJ+W z`W}DB_ZpmUBe56$-lws|r;<-Ff3A=-le#5b7lKINb!oONh+K$9wkp_Q^bJm6D=|} zLfg3|c;1H_@tsdmF9U8p7)5j7Jwen4(I|iR>^^uGuYuH_6&hX>g-LUyQTis{z(diX0E?L4@mZ{a9bituGVT4$s#BYXFXoCnE26~7b8d6sBf+e3Ns6I$^BM#G zUs_`n*r1>{cCV-9zESFF6)C8vH6?#gsHYXYQSQ~rUG{g68|D6^#5kvcHeM zQSR>m?B9#{{(dx=KWhfuDDJ?l(VB{pyx#5xOKytWFOhvQG65$JR%^rCQjFyNf1iG% z*n>`fVYEo{3z6=o6wuuy4{|!OrR!rG9K1eMn9sqsbawcf2y zLE3q|>?MD~#-*()*BlEfId)lqYmFJlv|NfFvQ(AmF>bNp-5T1P z#MN0or+(JnSZDn#TMx^4vAK@)Q_bcb!OG$@IbX8vxYyJ_V%UY}XPpbFX48KI14(`J)}WPB z!=7P^Ozna|%1lq%5e$1|sTpGl)PuI4q&&qh*4j0bPrxgC0Gv2mVVthPRsj~^)6)PK zaYuIHalROnr(u2NR?d6uj<<<6;sjmIchg{U9`ftp{ism%@EQ3Q>pG41x1Pi))6p01 zJnnaD$B=^JFa+0$57Lbsaw{oO!`zqWg+r1&9j0oYj;W|4ReA>W^4ceY_19rPE*w(F)1p-| zUg{{3UeE}IE!eu7Bu*O%SA?epN|dh&+FYV4dZla~$gOhIr0Rd8jl-c#ZYODqksUgc z^C1K+WjvH|I-VPsIvzt=;*xwm8$ggrQ3=xq-tj2sithgl9vJ~ZQ#^K(W(pn64|2fcV(L#kE zwHu+07jjz4ABKOT54mdtZf>z0Zn74!!_b0v)re7qhhc~H=w@de6EJV{%R3DLQKIf0eUo?BtDOn zOla8xXTwziH$_WUKHf`e<=N}k3h2f=ZxZ*@6n4o_$|-+OTMFb6Ub;!(xO%c2Zm1K34Z*N|9{zBXCGQg3 z!uj!dE?xy^pk*~n%unobA)5-n?Z!nz2RhzG>}GjhKOS__9-=qPdk|$h5;3_O%h(1t#ddhV%?OA$p|I7JyjjrvFl{AItB`aBr0u&s*m%@do*wCJ zPw>4n23mbx0Clt?Uk+j(z)T{12i_P^9Pg@8H+OH->#UpQJ9-zCJF8m06YyWd&GJs! z#qSgk5q4qEyIIit(sVbpe-GSrF9y@vOTo13`CxzA{X#IU?+rR_o^czwkY_fQHFI|m zZKMdU_vp*-fo=QHr>j16pw9ZBk@;7|5_^NI>)(xEpf^+e>;n{5l*98=HsOr{n|!x-^0(j zQ?7saJKCAiCUl;c`7*|FHAj)ezs#A>2UBjiC1$<=?b*!R^Fq*^^^)C=jB$DEbPKwd z?{Ew~Z-s8DmLbf)B`}?Pn3nUf#h!;(3g!Xhp1fJ`y-fBp+zYS|*emd=|F@8Tv%Yie zv4D7iyd1=I!e>N)=YQd5adxKZKVZK0!F+%H9p-C4%-5?hUw?!7`d2XR`DZZgJrGR$ zUJIuEuLqs>MsW@N3(B|x&tH$Z_#Xu`xR{uW_rb_8{%bDzyX-3u?GK_|9}K-398~QH``Y(X~(}o`CJd+B}q{3&i7oSO`a3=Z8S+l01Jt&;DDv~&4E`BX&Su}sq zBD88ajNX#hgB)txFL}eBZK+?l}R-V&t5xg*cX1RN=+qm#1cS`R;^pqn9IBtlG`JUq2gg0W77L5*!IH+)_}&K=l58 zY3mWNZp(ET0b@4I8878)?h^-Egy-2qw+Q*q8aT&OaD(Zav0W)Q@|R~3jio0L% zp=g-mjvPmHCQ96b9HH-YX@lriAuol}H*S6}Mu^e!q8nuz^=4rK^fI&n3b!Nb2v2FP z;{J8HRZ!?-Rpdu5JygMGWCwqYxR4&gl&vK3NiTSvBR^}=twL5#|EgSpF>{4UxeI>v zVp6WdufLR(`(b?jQ8|KvI4M!|eK>-Qc-#@<@stpcwT1nbOeu>XN@l(4P5I6$G4=d+2lN7rvk?Vz0%gW&{u!wcKAlT$3@zc z1KLi|jcG7KE?A#a%QYc&rCFnabI@GVmygC%Ft=hfg8T--wg1O?7CpR2M9W*kjl?Tr z(*haeu2fGlQlZ*NmAXf2R6}10*oyV$NEdaZ#{?biE489^exuH*XS`^hq&06(b+!q8 z*F15r0&ZVTId1lBKzM(M>H)ADJHhZZcvAtarju?RmU-Vi!3R$PmekI|ZItBso|sO0 zSX~F{8oBI(z6?iPf25qk|DP#WVYZ>gsF^_br<7hKuHWR&via4zWyf;?eo^t&lcZGf zRZaBiVRuAJ(SDHbC=&OGTpk|Vi=Zu@1rQ2&B1dG5#nnp@|5JaDAaR#S=MtVtA(-irnL)Q`?>Z1}b<GVF+{JTf6Ks z-nGk+zMb~UGA6zo)N|#uSl6$i3$&F}-5&;=_s#qByXSwud^%t9UuejwH}~y)r!JnL z+x&NaXWNJ9TcNL#Wfeu}b-^D(-wG8FF0;aUd*=QH-OGGN7D#*M{!qISEt0n3rM<`A z3xs??&N#lP6|gnNtE;vN~%BB;s`k57CW*G5B~rwIvK zIv8Q!$+CaXfU^4`{;drs*`$w}ZY<-JPPJr{embuE(hql6y2S4(xq5+EQyDfK?dS3` zB3x3pi2IDp8qYUV?j>5hmUZHbAj}4fo<(mg!ZCj+^fzxPaX+zLN8mcmA4jjZ@2Zm1@fFerNDMS{`+Ks ze0TiI6?X7yzg{49Le3=2v44M&Wf@H*=CA>aah`>ehB$Hvv-oaUHd|=fVE!hq^n)>& zgC2iq)U1&zs^ng(UA7(NlZzA>c|jK$4zJ#l8q|BNDXO>Zx>{%BLfN*Hikvje;Wqrl zB4*hw#+~Um#|Q} zG#Con{>3hX^u@>%o@j*3NfjZpsXP={_rQM|YA)h?%lJaABiV7M7rA0iTKNEXUw>)bM`C^>EulOaInwX2YQr%Iv_e znS-=&o}*l3MR+dU^nY$;9Fw0L&|PtIyi%VFh0OLy$h?$=%&Ec9biJtvy=3UEi7$WU zm_BTcX}d87&ZfMLhAj)_x(SBlxx@W^EfoF%BN~pR3;Ew;P6;`BG3NNt1aoMp(HsbW zXF^ORjQNXrN{=}ylpcRV$b{b&W`!MnhJ?=G}_cA+Fs@}y8b-Q(Ikyb=B% zw8L*HTF0gs!V=#}Iiar>+CEl8aeBOxt({mj&=mGjah=M!R2E5|`tkOx**Nzit8N9Q zf2u>=A1ST_dDb#(|Wz*Jl7Bk`lm*UK(*n4?TF2JuBgrZh)}2f5uEc4dDNo}cZ> zy+sDi%K~6IiA8c=ciQvH{d_Ev{K`RaAFbi*LB^#PNuAniYi-K?gzZIWK5gwHdFK4N zh&p&5*v?T_9mTNYvdNo@s1l}<=5y8}N%KjDoV5FMEO;Xw7;^GaCRz2E3|5b_%Z2+w zzU6w%F%j5#uUGfbMIm^AFOMDfN*Q|0EEVA~naZ;#J z-R*jVsG5*!6Km>Cz|n9;$+g1mRTT8&d6%=DYwUJbhn(+ zDLY?H!C1av!6(oY3*djV(+}Zrue1RH@Z%(pZyfaLgqL0Xw|bxWO}&4@f9nVBbEVXt zM0~#j-(f--hD;M6Blo!8(6nFhr3AZdAoSlwjl`EUCTt9eHYkf_+lCgj&A(XA|H&ce zS}I*^>FgMCCFSGF7t3|#>9WrH+vU|-V=DSOXt9{vMp_qYRECEps3Qv6amr#jMk5R0 zXW8vOrC@zFF3!(uqq2Y3CDw^Jf0`GIdr8LeU-hMexzE}4jS5L#6W1|ZZ29koHI-KP zyYN?>l3_)bKhsfuTG?-v|E#@7u%v~HrJTd5p-Q6&*3zjV{1&pUr@|Q%2{P;4;?-_ec&nOtv7Z*GC z%HImc>+klwo@wtD{P(sa58f(H9}FKa?#$m6?L2JdX=lSZCg40Heq1chT4^sje@l-J zr6a!!Iq!Vm5_x8i23+0ShG#a?YH{zDEU{$!XN(S+*FZeH&`@%{B7Qi~ZuD$3xL3Wy zfe5Q`p>=lin%{qgMk_9;@dU-ZW=zPuc5KMJ?yS(bnZFH9_iW_nwe0gTOT<{58~JU) zxi@%;TvKOR<0{ghyu{L7RK|qTbZp4^p8xFKSTrq>>#faNZ*3v`7V8ai7|Sf2PQ0BmkpAKVoA-ZsPY#8<>D?mafA0)Q-)$vU z+z^QSrxlm@D(~+A<3>Q79<<`#D|nBQ;Sl$e%=h;~e{i)B_oIy4UErmX41>5IWZX6p z=e6QahPdx!+=Fp)5`;gL;gxdz&05kuP4m_zlBQV~bmF;p*zl1-X4yx@fA?AQ+61LL zWeOg!<~4t3oEeld1@isAd5NV{&!)8^#|de_l>4C$aM~~B7~}CuyHN{!An|38)4CPD z7XAr&YY{K-mk?w9Kn3Mo^eyF{fr>ffm{7yj$H9s|7FOthP;T4}K_B43#`+qOYHPW- zMlo-l6l$2)95UxOh0FylkZKO3N_=LlPeQ7XJM@3Y%JrmT=K6*j+WP~RngA@dU&x$x zRH$M4(II`=W%_JrPU1Cr-usry_t8#xAH7tB0^?49YNgJ2g56S5+-a8Umn0e9bVTlwW9L!K!nEB zs)2ugG77d}xmrm^s|pp=A8vsd-te;C_JVp}@6xV66~zC;ZkJr2*DWnvpOWW2XQ`O~ zI2i!z=MOl&VS}8KqGr zW6XmRIsNkc4Ew#62Q^W|cgDDtAP;Unu0nqZEhFbx?>rp8-Am4bT5}|2qrbr zSCpf`Gx+tTf+v|_3yGUk%|f9WP*(ka^i zs^r-CpqQ~K5Xal`b-o?z>~_4=r5%4;3frML+acHI)3TJdjM;kPWW9)4?G?1#Gkf@9$ma}%fH zZNznl*wi3;$wD0|`5kME^sJulwZjp86mjbr)^5dCv|Jg0`5aZ%)Q2El0n2|7^7m=Vv8JF4IjG5y zHVN{sJ1@g7<0VSS!vL990P$R4wG$vE9P$mcBL@(_CsP~LCM`|O%FkK(?UFXIlhc$K zgb>&1ce}XDBT7vXzR;rt+6aGVT@mb^2u*oQNbJ^%0AM-2Bc9k(RUR)HMZ6vZUYRvy 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%0AK%FOqsM<>l$F)udV5GMjtM5aFn(3rXrn(| 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