diff --git a/h5p/h5plib/v124/joubel/core/fonts/h5p-core-23.eot b/h5p/h5plib/v124/joubel/core/fonts/h5p-core-23.eot deleted file mode 100644 index 0bd4becbb81..00000000000 Binary files a/h5p/h5plib/v124/joubel/core/fonts/h5p-core-23.eot and /dev/null differ diff --git a/h5p/h5plib/v124/joubel/core/fonts/h5p-core-23.svg b/h5p/h5plib/v124/joubel/core/fonts/h5p-core-23.svg deleted file mode 100644 index f1b88cbb14a..00000000000 --- a/h5p/h5plib/v124/joubel/core/fonts/h5p-core-23.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - -{ - "fontFamily": "h5p-core", - "description": "Font generated by IcoMoon.", - "majorVersion": 1, - "minorVersion": 1, - "version": "Version 1.1", - "fontId": "h5p-core", - "psName": "h5p-core", - "subFamily": "Regular", - "fullName": "h5p-core" -} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/h5p/h5plib/v124/joubel/core/fonts/h5p-core-23.ttf b/h5p/h5plib/v124/joubel/core/fonts/h5p-core-23.ttf deleted file mode 100644 index e793b63af33..00000000000 Binary files a/h5p/h5plib/v124/joubel/core/fonts/h5p-core-23.ttf and /dev/null differ diff --git a/h5p/h5plib/v124/joubel/core/fonts/h5p-core-23.woff b/h5p/h5plib/v124/joubel/core/fonts/h5p-core-23.woff deleted file mode 100644 index a2f93d0a212..00000000000 Binary files a/h5p/h5plib/v124/joubel/core/fonts/h5p-core-23.woff and /dev/null differ diff --git a/h5p/h5plib/v124/joubel/core/fonts/h5p-core-28.eot b/h5p/h5plib/v124/joubel/core/fonts/h5p-core-28.eot new file mode 100644 index 00000000000..4b2bf455c30 Binary files /dev/null and b/h5p/h5plib/v124/joubel/core/fonts/h5p-core-28.eot differ diff --git a/h5p/h5plib/v124/joubel/core/fonts/h5p-core-28.svg b/h5p/h5plib/v124/joubel/core/fonts/h5p-core-28.svg new file mode 100644 index 00000000000..7de618096b2 --- /dev/null +++ b/h5p/h5plib/v124/joubel/core/fonts/h5p-core-28.svg @@ -0,0 +1,114 @@ + + + + + + +{ + "fontFamily": "h5p-core-27", + "description": "Font generated by IcoMoon.", + "copyright": "H5P", + "majorVersion": 1, + "minorVersion": 1, + "version": "Version 1.1", + "fontId": "h5p-core-27", + "psName": "h5p-core-27", + "subFamily": "Regular", + "fullName": "h5p-core-27" +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/h5p/h5plib/v124/joubel/core/fonts/h5p-core-28.ttf b/h5p/h5plib/v124/joubel/core/fonts/h5p-core-28.ttf new file mode 100644 index 00000000000..520db3a9fa5 Binary files /dev/null and b/h5p/h5plib/v124/joubel/core/fonts/h5p-core-28.ttf differ diff --git a/h5p/h5plib/v124/joubel/core/fonts/h5p-core-28.woff b/h5p/h5plib/v124/joubel/core/fonts/h5p-core-28.woff new file mode 100644 index 00000000000..6ba910961f4 Binary files /dev/null and b/h5p/h5plib/v124/joubel/core/fonts/h5p-core-28.woff differ diff --git a/h5p/h5plib/v124/joubel/core/fonts/h5p-hub-publish.eot b/h5p/h5plib/v124/joubel/core/fonts/h5p-hub-publish.eot new file mode 100644 index 00000000000..6afdd28df2a Binary files /dev/null and b/h5p/h5plib/v124/joubel/core/fonts/h5p-hub-publish.eot differ diff --git a/h5p/h5plib/v124/joubel/core/fonts/h5p-hub-publish.svg b/h5p/h5plib/v124/joubel/core/fonts/h5p-hub-publish.svg new file mode 100644 index 00000000000..e32badd40c3 --- /dev/null +++ b/h5p/h5plib/v124/joubel/core/fonts/h5p-hub-publish.svg @@ -0,0 +1,38 @@ + + + + + + +{ + "fontFamily": "h5p-hub", + "description": "Font generated by IcoMoon.", + "majorVersion": 1, + "minorVersion": 3, + "version": "Version 1.3", + "fontId": "h5p-hub", + "psName": "h5p-hub", + "subFamily": "Regular", + "fullName": "h5p-hub" +} + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/h5p/h5plib/v124/joubel/core/fonts/h5p-hub-publish.ttf b/h5p/h5plib/v124/joubel/core/fonts/h5p-hub-publish.ttf new file mode 100644 index 00000000000..d1d40dd32e0 Binary files /dev/null and b/h5p/h5plib/v124/joubel/core/fonts/h5p-hub-publish.ttf differ diff --git a/h5p/h5plib/v124/joubel/core/fonts/h5p-hub-publish.woff b/h5p/h5plib/v124/joubel/core/fonts/h5p-hub-publish.woff new file mode 100644 index 00000000000..c0535345a51 Binary files /dev/null and b/h5p/h5plib/v124/joubel/core/fonts/h5p-hub-publish.woff differ diff --git a/h5p/h5plib/v124/joubel/core/h5p-default-storage.class.php b/h5p/h5plib/v124/joubel/core/h5p-default-storage.class.php index 44a75acd566..c58e2fe3908 100644 --- a/h5p/h5plib/v124/joubel/core/h5p-default-storage.class.php +++ b/h5p/h5plib/v124/joubel/core/h5p-default-storage.class.php @@ -1,7 +1,5 @@ path . '/libraries/' . H5PCore::libraryToString($library, TRUE); + $dest = $this->path . '/libraries/' . \H5PCore::libraryToString($library, TRUE); // Make sure destination dir doesn't exist - H5PCore::deleteFileTree($dest); + \H5PCore::deleteFileTree($dest); // Move library folder self::copyFileTree($library['uploadDirectory'], $dest); @@ -62,7 +60,7 @@ class H5PDefaultStorage implements H5PFileStorage { $dest = "{$this->path}/content/{$content['id']}"; // Remove any old content - H5PCore::deleteFileTree($dest); + \H5PCore::deleteFileTree($dest); self::copyFileTree($source, $dest); } @@ -74,7 +72,7 @@ class H5PDefaultStorage implements H5PFileStorage { * Content properties */ public function deleteContent($content) { - H5PCore::deleteFileTree("{$this->path}/content/{$content['id']}"); + \H5PCore::deleteFileTree("{$this->path}/content/{$content['id']}"); } /** @@ -135,7 +133,7 @@ class H5PDefaultStorage implements H5PFileStorage { * Folder that library resides in */ public function exportLibrary($library, $target, $developmentPath=NULL) { - $folder = H5PCore::libraryToString($library, TRUE); + $folder = \H5PCore::libraryToString($library, TRUE); $srcPath = ($developmentPath === NULL ? "/libraries/{$folder}" : $developmentPath); self::copyFileTree("{$this->path}{$srcPath}", "{$target}/{$folder}"); } diff --git a/h5p/h5plib/v124/joubel/core/h5p-development.class.php b/h5p/h5plib/v124/joubel/core/h5p-development.class.php index 4c7fc1f4c7e..cae5433c044 100644 --- a/h5p/h5plib/v124/joubel/core/h5p-development.class.php +++ b/h5p/h5plib/v124/joubel/core/h5p-development.class.php @@ -1,7 +1,5 @@ 'text', 'maxLength' => 255 ), + 'a11yTitle' => array( + 'type' => 'text', + 'maxLength' => 255, + ), 'authors' => array( 'type' => 'json' ), @@ -60,6 +61,7 @@ abstract class H5PMetadata { // Note: deliberatly creating JSON string "manually" to improve performance return '{"title":' . (isset($content->title) ? json_encode($content->title) : 'null') . + ',"a11yTitle":' . (isset($content->a11y_title) ? $content->a11y_title : 'null') . ',"authors":' . (isset($content->authors) ? $content->authors : 'null') . ',"source":' . (isset($content->source) ? '"' . $content->source . '"' : 'null') . ',"license":' . (isset($content->license) ? '"' . $content->license . '"' : 'null') . diff --git a/h5p/h5plib/v124/joubel/core/h5p.classes.php b/h5p/h5plib/v124/joubel/core/h5p.classes.php index 913fe0ca668..517eb1aeef8 100644 --- a/h5p/h5plib/v124/joubel/core/h5p.classes.php +++ b/h5p/h5plib/v124/joubel/core/h5p.classes.php @@ -1,9 +1,4 @@ h5pC->librariesJsonData as &$library) { if (!$library['saveDependencies']) { continue; @@ -1986,9 +2024,28 @@ abstract class H5PDisplayOptionBehaviour { const CONTROLLED_BY_PERMISSIONS = 4; } +abstract class H5PContentHubSyncStatus { + const NOT_SYNCED = 0; + const SYNCED = 1; + const WAITING = 2; + const FAILED = 3; +} + +abstract class H5PContentStatus { + const STATUS_UNPUBLISHED = 0; + const STATUS_DOWNLOADED = 1; + const STATUS_WAITING = 2; + const STATUS_FAILED_DOWNLOAD = 3; + const STATUS_FAILED_VALIDATION = 4; + const STATUS_SUSPENDED = 5; +} + abstract class H5PHubEndpoints { const CONTENT_TYPES = 'api.h5p.org/v1/content-types/'; const SITES = 'api.h5p.org/v1/sites'; + const METADATA = 'hub-api.h5p.org/v1/metadata'; + const CONTENT = 'hub-api.h5p.org/v1/contents'; + const REGISTER = 'hub-api.h5p.org/v1/accounts'; public static function createURL($endpoint) { $protocol = (extension_loaded('openssl') ? 'https' : 'http'); @@ -2062,7 +2119,7 @@ class H5PCore { * * @param H5PFrameworkInterface $H5PFramework * The frameworks implementation of the H5PFrameworkInterface - * @param string|H5PFileStorage $path H5P file storage directory or class. + * @param string|\H5PFileStorage $path H5P file storage directory or class. * @param string $url To file storage directory. * @param string $language code. Defaults to english. * @param boolean $export enabled? @@ -2070,7 +2127,7 @@ class H5PCore { public function __construct(H5PFrameworkInterface $H5PFramework, $path, $url, $language = 'en', $export = FALSE) { $this->h5pF = $H5PFramework; - $this->fs = ($path instanceof H5PFileStorage ? $path : new H5PDefaultStorage($path)); + $this->fs = ($path instanceof \H5PFileStorage ? $path : new \H5PDefaultStorage($path)); $this->url = $url; $this->exportEnabled = $export; @@ -2460,11 +2517,11 @@ class H5PCore { /** * Get the path to the dependency. * - * @param stdClass $dependency + * @param array $dependency * @return string */ - protected function getDependencyPath(array $dependency): string { - return H5PCore::libraryToString($dependency, TRUE); + protected function getDependencyPath(array $dependency) { + return 'libraries/' . H5PCore::libraryToString($dependency, TRUE); } private static function getDependenciesHash(&$dependencies) { @@ -2832,10 +2889,11 @@ class H5PCore { * implementation is responsible for invoking this, eg using cron * * @param bool $fetchingDisabled + * @param bool $onlyRegister Only register site with H5P.org * * @return bool|object Returns endpoint data if found, otherwise FALSE */ - public function fetchLibrariesMetadata($fetchingDisabled = FALSE) { + public function fetchLibrariesMetadata($fetchingDisabled = FALSE, $onlyRegister = false) { // Gather data $uuid = $this->h5pF->getOption('site_uuid', ''); $platform = $this->h5pF->getPlatformInfo(); @@ -2873,12 +2931,17 @@ class H5PCore { $this->h5pF->setInfoMessage( $this->h5pF->t('Your site was successfully registered with the H5P Hub.') ); + $uuid = $json->uuid; // TODO: Uncomment when key is once again available in H5P Settings // $this->h5pF->setInfoMessage( // $this->h5pF->t('You have been provided a unique key that identifies you with the Hub when receiving new updates. The key is available for viewing in the "H5P Settings" page.') // ); } + if ($onlyRegister) { + return $uuid; + } + if ($this->h5pF->getOption('send_usage_statistics', TRUE)) { $siteData = array_merge( $registrationData, @@ -3217,23 +3280,21 @@ class H5PCore { * @return string */ private static function hashToken($action, $time_factor) { - global $SESSION; - - if (!isset($SESSION->h5p_token)) { + if (!isset($_SESSION['h5p_token'])) { // Create an unique key which is used to create action tokens for this session. if (function_exists('random_bytes')) { - $SESSION->h5p_token = base64_encode(random_bytes(15)); + $_SESSION['h5p_token'] = base64_encode(random_bytes(15)); } else if (function_exists('openssl_random_pseudo_bytes')) { - $SESSION->h5p_token = base64_encode(openssl_random_pseudo_bytes(15)); + $_SESSION['h5p_token'] = base64_encode(openssl_random_pseudo_bytes(15)); } else { - $SESSION->h5p_token = uniqid('', TRUE); + $_SESSION['h5p_token'] = uniqid('', TRUE); } } // Create hash and return - return substr(hash('md5', $action . $time_factor . $SESSION->h5p_token), -16, 13); + return substr(hash('md5', $action . $time_factor . $_SESSION['h5p_token']), -16, 13); } /** @@ -3304,6 +3365,72 @@ class H5PCore { return $data; } + /** + * Update content hub metadata cache + */ + public function updateContentHubMetadataCache($lang = 'en') { + $url = H5PHubEndpoints::createURL(H5PHubEndpoints::METADATA); + $lastModified = $this->h5pF->getContentHubMetadataChecked($lang); + + $headers = array(); + if (!empty($lastModified)) { + $headers['If-Modified-Since'] = $lastModified; + } + $data = $this->h5pF->fetchExternalData("{$url}?lang={$lang}", NULL, TRUE, NULL, TRUE, $headers, NULL, 'GET'); + $lastChecked = new DateTime('now', new DateTimeZone('GMT')); + + if ($data['status'] !== 200 && $data['status'] !== 304) { + // If this was not a success, set the error message and return + $this->h5pF->setErrorMessage( + $this->h5pF->t('No metadata was received from the H5P Hub. Please try again later.') + ); + return null; + } + + // Update timestamp + $this->h5pF->setContentHubMetadataChecked($lastChecked->getTimestamp(), $lang); + + // Not modified + if ($data['status'] === 304) { + return null; + } + $this->h5pF->replaceContentHubMetadataCache($data['data'], $lang); + // TODO: If 200 should we have checked if it decodes? Or 'success'? Not sure if necessary though + return $data['data']; + } + + /** + * Get updated content hub metadata cache + * + * @param string $lang Language as ISO 639-1 code + * + * @return JsonSerializable|string + */ + public function getUpdatedContentHubMetadataCache($lang = 'en') { + $lastUpdate = $this->h5pF->getContentHubMetadataChecked($lang); + if (!$lastUpdate) { + return $this->updateContentHubMetadataCache($lang); + } + + $lastUpdate = new DateTime($lastUpdate); + $expirationTime = $lastUpdate->getTimestamp() + (60 * 60 * 24); // Check once per day + if (time() > $expirationTime) { + $update = $this->updateContentHubMetadataCache($lang); + if (!empty($update)) { + return $update; + } + } + + $storedCache = $this->h5pF->getContentHubMetadataCache($lang); + if (!$storedCache) { + // We don't have the value stored for some reason, reset last update and re-fetch + $this->h5pF->setContentHubMetadataChecked(null, $lang); + return $this->updateContentHubMetadataCache($lang); + } + + return $storedCache; + } + /** * Check if the current server setup is valid and set error messages * @@ -3512,8 +3639,473 @@ class H5PCore { 'offlineDialogRetryMessage' => $this->h5pF->t('Retrying in :num....'), 'offlineDialogRetryButtonLabel' => $this->h5pF->t('Retry now'), 'offlineSuccessfulSubmit' => $this->h5pF->t('Successfully submitted results.'), + 'mainTitle' => $this->h5pF->t('Sharing :title'), + 'editInfoTitle' => $this->h5pF->t('Edit info for :title'), + 'cancel' => $this->h5pF->t('Cancel'), + 'back' => $this->h5pF->t('Back'), + 'next' => $this->h5pF->t('Next'), + 'reviewInfo' => $this->h5pF->t('Review info'), + 'share' => $this->h5pF->t('Share'), + 'saveChanges' => $this->h5pF->t('Save changes'), + 'registerOnHub' => $this->h5pF->t('Register on the H5P Hub'), + 'updateRegistrationOnHub' => $this->h5pF->t('Save account settings'), + 'requiredInfo' => $this->h5pF->t('Required Info'), + 'optionalInfo' => $this->h5pF->t('Optional Info'), + 'reviewAndShare' => $this->h5pF->t('Review & Share'), + 'reviewAndSave' => $this->h5pF->t('Review & Save'), + 'shared' => $this->h5pF->t('Shared'), + 'currentStep' => $this->h5pF->t('Step :step of :total'), + 'sharingNote' => $this->h5pF->t('All content details can be edited after sharing'), + 'licenseDescription' => $this->h5pF->t('Select a license for your content'), + 'licenseVersion' => $this->h5pF->t('License Version'), + 'licenseVersionDescription' => $this->h5pF->t('Select a license version'), + 'disciplineLabel' => $this->h5pF->t('Disciplines'), + 'disciplineDescription' => $this->h5pF->t('You can select multiple disciplines'), + 'disciplineLimitReachedMessage' => $this->h5pF->t('You can select up to :numDisciplines disciplines'), + 'discipline' => array( + 'searchPlaceholder' => $this->h5pF->t('Type to search for disciplines'), + 'in' => $this->h5pF->t('in'), + 'dropdownButton' => $this->h5pF->t('Dropdown button'), + ), + 'removeChip' => $this->h5pF->t('Remove :chip from the list'), + 'keywordsPlaceholder' => $this->h5pF->t('Add keywords'), + 'keywords' => $this->h5pF->t('Keywords'), + 'keywordsDescription' => $this->h5pF->t('You can add multiple keywords separated by commas. Press "Enter" or "Add" to confirm keywords'), + 'altText' => $this->h5pF->t('Alt text'), + 'reviewMessage' => $this->h5pF->t('Please review the info below before you share'), + 'subContentWarning' => $this->h5pF->t('Sub-content (images, questions etc.) will be shared under :license unless otherwise specified in the authoring tool'), + 'disciplines' => $this->h5pF->t('Disciplines'), + 'shortDescription' => $this->h5pF->t('Short description'), + 'longDescription' => $this->h5pF->t('Long description'), + 'icon' => $this->h5pF->t('Icon'), + 'screenshots' => $this->h5pF->t('Screenshots'), + 'helpChoosingLicense' => $this->h5pF->t('Help me choose a license'), + 'shareFailed' => $this->h5pF->t('Share failed.'), + 'editingFailed' => $this->h5pF->t('Editing failed.'), + 'shareTryAgain' => $this->h5pF->t('Something went wrong, please try to share again.'), + 'pleaseWait' => $this->h5pF->t('Please wait...'), + 'language' => $this->h5pF->t('Language'), + 'level' => $this->h5pF->t('Level'), + 'shortDescriptionPlaceholder' => $this->h5pF->t('Short description of your content'), + 'longDescriptionPlaceholder' => $this->h5pF->t('Long description of your content'), + 'description' => $this->h5pF->t('Description'), + 'iconDescription' => $this->h5pF->t('640x480px. If not selected content will use category icon'), + 'screenshotsDescription' => $this->h5pF->t('Add up to five screenshots of your content'), + 'submitted' => $this->h5pF->t('Submitted!'), + 'isNowSubmitted' => $this->h5pF->t('Is now submitted to H5P Hub'), + 'changeHasBeenSubmitted' => $this->h5pF->t('A change has been submited for'), + 'contentAvailable' => $this->h5pF->t('Your content will normally be available in the Hub within one business day.'), + 'contentUpdateSoon' => $this->h5pF->t('Your content will update soon'), + 'contentLicenseTitle' => $this->h5pF->t('Content License Info'), + 'licenseDialogDescription' => $this->h5pF->t('Click on a specific license to get info about proper usage'), + 'publisherFieldTitle' => $this->h5pF->t('Publisher'), + 'publisherFieldDescription' => $this->h5pF->t('This will display as the "Publisher name" on shared content'), + 'emailAddress' => $this->h5pF->t('Email Address'), + 'publisherDescription' => $this->h5pF->t('Publisher description'), + 'publisherDescriptionText' => $this->h5pF->t('This will be displayed under "Publisher info" on shared content'), + 'contactPerson' => $this->h5pF->t('Contact Person'), + 'phone' => $this->h5pF->t('Phone'), + 'address' => $this->h5pF->t('Address'), + 'city' => $this->h5pF->t('City'), + 'zip' => $this->h5pF->t('Zip'), + 'country' => $this->h5pF->t('Country'), + 'logoUploadText' => $this->h5pF->t('Organization logo or avatar'), + 'acceptTerms' => $this->h5pF->t('I accept the terms of use'), + 'successfullyRegistred' => $this->h5pF->t('You have successfully registered an account on the H5P Hub'), + 'successfullyRegistredDescription' => $this->h5pF->t('You account details can be changed'), + 'successfullyUpdated' => $this->h5pF->t('Your H5P Hub account settings have successfully been changed'), + 'accountDetailsLinkText' => $this->h5pF->t('here'), + 'registrationTitle' => $this->h5pF->t('H5P Hub Registration'), + 'registrationFailed' => $this->h5pF->t('An error occurred'), + 'registrationFailedDescription' => $this->h5pF->t('We were not able to create an account at this point. Something went wrong. Try again later.'), + 'maxLength' => $this->h5pF->t(':length is the maximum number of characters'), + 'keywordExists' => $this->h5pF->t('Keyword already exists!'), + 'licenseDetails' => $this->h5pF->t('License details'), + 'remove' => $this->h5pF->t('Remove'), + 'removeImage' => $this->h5pF->t('Remove image'), + 'cancelPublishConfirmationDialogTitle' => $this->h5pF->t('Cancel sharing'), + 'cancelPublishConfirmationDialogDescription' => $this->h5pF->t('Are you sure you want to cancel the sharing process?'), + 'cancelPublishConfirmationDialogCancelButtonText' => $this->h5pF->t('No'), + 'cancelPublishConfirmationDialogConfirmButtonText' => $this->h5pF->t('Yes'), + 'add' => $this->h5pF->t('Add'), + 'age' => $this->h5pF->t('Typical age'), + 'ageDescription' => $this->h5pF->t('The target audience of this content. Possible input formats separated by commas: "1,34-45,-50,59-".'), + 'invalidAge' => $this->h5pF->t('Invalid input format for Typical age. Possible input formats separated by commas: "1, 34-45, -50, -59-".'), + 'contactPersonDescription' => $this->h5pF->t('H5P will reach out to the contact person in case there are any issues with the content shared by the publisher. The contact person\'s name or other information will not be published or shared with third parties'), + 'emailAddressDescription' => $this->h5pF->t('The email address will be used by H5P to reach out to the publisher in case of any issues with the content or in case the publisher needs to recover their account. It will not be published or shared with any third parties'), + 'copyrightWarning' => $this->h5pF->t('Copyrighted material cannot be shared in the H5P Content Hub. If the content is licensed with a OER friendly license like Creative Commons, please choose the appropriate license. If not this content cannot be shared.'), + 'keywordsExits' => $this->h5pF->t('Keywords already exists!'), + 'someKeywordsExits' => $this->h5pF->t('Some of these keywords already exist'), + ); } + + /** + * Publish content on the H5P Hub. + * + * @param bigint $id + * @return stdClass + */ + public function hubRetrieveContent($id) { + $headers = array( + 'Authorization' => $this->hubGetAuthorizationHeader(), + 'Accept' => 'application/json', + ); + + $response = $this->h5pF->fetchExternalData( + H5PHubEndpoints::createURL(H5PHubEndpoints::CONTENT . "/{$id}"), + NULL, TRUE, NULL, TRUE, $headers + ); + + if (empty($response['data'])) { + throw new Exception($this->h5pF->t('Unable to authorize with the H5P Hub. Please check your Hub registration and connection.')); + } + + if (isset($response['status']) && $response['status'] !== 200) { + if ($response['status'] === 404) { + $this->h5pF->setErrorMessage($this->h5pF->t('Content is not shared on the H5P OER Hub.')); + return NULL; + } + throw new Exception($this->h5pF->t('Connecting to the content hub failed, please try again later.')); + } + + $hub_content = json_decode($response['data'])->data; + $hub_content->id = "$hub_content->id"; + return $hub_content; + } + + /** + * Publish content on the H5P Hub. + * + * @param array $data Data from content publishing process + * @param array $files Files to upload with the content publish + * @param bigint $content_hub_id For updating existing content + * @return stdClass + */ + public function hubPublishContent($data, $files, $content_hub_id = NULL) { + $headers = array( + 'Authorization' => $this->hubGetAuthorizationHeader(), + 'Accept' => 'application/json', + ); + + $data['published'] = '1'; + $endpoint = H5PHubEndpoints::CONTENT; + if ($content_hub_id !== NULL) { + $endpoint .= "/{$content_hub_id}"; + $data['_method'] = 'PUT'; + } + + $response = $this->h5pF->fetchExternalData( + H5PHubEndpoints::createURL($endpoint), + $data, TRUE, NULL, TRUE, $headers, $files + ); + + if (empty($response['data']) || $response['status'] === 403) { + throw new Exception($this->h5pF->t('Unable to authorize with the H5P Hub. Please check your Hub registration and connection.')); + } + + if (isset($response['status']) && $response['status'] !== 200) { + throw new Exception($this->h5pF->t('Connecting to the content hub failed, please try again later.')); + } + + $result = json_decode($response['data']); + if (isset($result->success) && $result->success === TRUE) { + return $result; + } + elseif (!empty($result->errors)) { + // Relay any error messages + $e = new Exception($this->h5pF->t('Validation failed.')); + $e->errors = $result->errors; + throw $e; + } + } + + /** + * Creates the authorization header needed to access the private parts of + * the H5P Hub. + * + * @return string + */ + public function hubGetAuthorizationHeader() { + $site_uuid = $this->h5pF->getOption('site_uuid', ''); + $hub_secret = $this->h5pF->getOption('hub_secret', ''); + if (empty($site_uuid)) { + $this->h5pF->setErrorMessage($this->h5pF->t('Missing Site UUID. Please check your Hub registration.')); + } + elseif (empty($hub_secret)) { + $this->h5pF->setErrorMessage($this->h5pF->t('Missing Hub Secret. Please check your Hub registration.')); + } + return 'Basic ' . base64_encode("$site_uuid:$hub_secret"); + } + + /** + * Unpublish content from content hub + * + * @param integer $hubId Content hub id + * + * @return bool True if successful + */ + public function hubUnpublishContent($hubId) { + $headers = array( + 'Authorization' => $this->hubGetAuthorizationHeader(), + 'Accept' => 'application/json', + ); + + $url = H5PHubEndpoints::createURL(H5PHubEndpoints::CONTENT); + $response = $this->h5pF->fetchExternalData("{$url}/{$hubId}", array( + 'published' => '0', + ), true, null, true, $headers, array(), 'PUT'); + + // Remove shared status if successful + if (!empty($response) && $response['status'] === 200) { + $msg = $this->h5pF->t('Content successfully unpublished'); + $this->h5pF->setInfoMessage($msg); + + return true; + } + $msg = $this->h5pF->t('Content unpublish failed'); + $this->h5pF->setErrorMessage($msg); + + return false; + } + + /** + * Sync content with content hub + * + * @param integer $hubId Content hub id + * @param string $exportPath Export path where .h5p for content can be found + * + * @return bool + */ + public function hubSyncContent($hubId, $exportPath) { + $headers = array( + 'Authorization' => $this->hubGetAuthorizationHeader(), + 'Accept' => 'application/json', + ); + + $url = H5PHubEndpoints::createURL(H5PHubEndpoints::CONTENT); + $response = $this->h5pF->fetchExternalData("{$url}/{$hubId}", array( + 'download_url' => $exportPath, + 'resync' => '1', + ), true, null, true, $headers, array(), 'PUT'); + + if (!empty($response) && $response['status'] === 200) { + $msg = $this->h5pF->t('Content sync queued'); + $this->h5pF->setInfoMessage($msg); + return true; + } + + $msg = $this->h5pF->t('Content sync failed'); + $this->h5pF->setErrorMessage($msg); + return false; + } + + /** + * Fetch account info for our site from the content hub + * + * @return array|bool|string False if account is not setup, otherwise data + */ + public function hubAccountInfo() { + $siteUuid = $this->h5pF->getOption('site_uuid', null); + $secret = $this->h5pF->getOption('hub_secret', null); + if (empty($siteUuid) && !empty($secret)) { + $this->h5pF->setErrorMessage($this->h5pF->t('H5P Hub secret is set without a site uuid. This may be fixed by restoring the site uuid or removing the hub secret and registering a new account with the content hub.')); + throw new Exception('Hub secret not set'); + } + + if (empty($siteUuid) || empty($secret)) { + return false; + } + + $headers = array( + 'Authorization' => $this->hubGetAuthorizationHeader(), + 'Accept' => 'application/json', + ); + + $url = H5PHubEndpoints::createURL(H5PHubEndpoints::REGISTER); + $accountInfo = $this->h5pF->fetchExternalData("{$url}/{$siteUuid}", + null, true, null, true, $headers, array(), 'GET'); + + if ($accountInfo['status'] === 401) { + // Unauthenticated, invalid hub secret and site uuid combination + $this->h5pF->setErrorMessage($this->h5pF->t('Hub account authentication info is invalid. This may be fixed by an admin by restoring the hub secret or register a new account with the content hub.')); + return false; + } + + if ($accountInfo['status'] !== 200) { + return false; + } + + return json_decode($accountInfo['data'])->data; + } + + /** + * Register account + * + * @param array $formData Form data. Should include: name, email, description, + * contact_person, phone, address, city, zip, country, remove_logo + * @param object $logo Input image + * + * @return array + */ + public function hubRegisterAccount($formData, $logo) { + + $uuid = $this->h5pF->getOption('site_uuid', ''); + if (empty($uuid)) { + // Attempt to fetch a new site uuid + $uuid = $this->fetchLibrariesMetadata(false, true); + if (!$uuid) { + return [ + 'message' => $this->h5pF->t('Site is missing a unique site uuid and was unable to set a new one. The H5P Content Hub is disabled until this problem can be resolved. Please make sure the H5P Hub is enabled in the H5P settings and try again later.'), + 'status_code' => 403, + 'error_code' => 'MISSING_SITE_UUID', + 'success' => FALSE, + ]; + } + } + + $formData['site_uuid'] = $uuid; + + $headers = []; + $endpoint = H5PHubEndpoints::REGISTER; + // Update if already registered + $hasRegistered = $this->h5pF->getOption('hub_secret'); + if ($hasRegistered) { + $endpoint .= "/{$uuid}"; + $formData['_method'] = 'PUT'; + $headers = [ + 'Authorization' => $this->hubGetAuthorizationHeader(), + ]; + } + + $url = H5PHubEndpoints::createURL($endpoint); + $registration = $this->h5pF->fetchExternalData( + $url, + $formData, + NULL, + NULL, + TRUE, + $headers, + isset($logo) ? ['logo' => $logo] : [] + ); + + try { + $results = json_decode($registration['data']); + } catch (Exception $e) { + return [ + 'message' => 'Could not parse json response.', + 'status_code' => 424, + 'error_code' => 'COULD_NOT_PARSE_RESPONSE', + 'success' => FALSE, + ]; + } + + if (isset($results->errors->site_uuid)) { + return [ + 'message' => 'Site UUID is not unique. This must be fixed by an admin by restoring the hub secret or remove the site uuid and register as a new account with the content hub.', + 'status_code' => 403, + 'error_code' => 'SITE_UUID_NOT_UNIQUE', + 'success' => FALSE, + ]; + } + + if (isset($results->errors->logo)) { + return [ + 'message' => $results->errors->logo[0], + 'status_code' => 400, + 'success' => FALSE, + ]; + } + + if ( + !isset($results->success) + || $results->success === FALSE + || !$hasRegistered && !isset($results->account->secret) + || $registration['status'] !== 200 + ) { + return [ + 'message' => 'Registration failed.', + 'status_code' => 422, + 'error_code' => 'REGISTRATION_FAILED', + 'success' => FALSE, + ]; + } + + if (!$hasRegistered) { + $this->h5pF->setOption('hub_secret', $results->account->secret); + } + + return [ + 'message' => $this->h5pF->t('Account successfully registered.'), + 'status_code' => 200, + 'success' => TRUE, + ]; + } + + /** + * Get status of content from content hub + * + * @param string $hubContentId + * @param int $syncStatus + * + * @return false|int Returns a new H5PContentStatus if successful, else false + */ + public function getHubContentStatus($hubContentId, $syncStatus) { + $headers = array( + 'Authorization' => $this->hubGetAuthorizationHeader(), + 'Accept' => 'application/json', + ); + + $url = H5PHubEndpoints::createURL(H5PHubEndpoints::CONTENT); + $response = $this->h5pF->fetchExternalData("{$url}/{$hubContentId}/status", + null, true, null, true, $headers); + + if (isset($response['status']) && $response['status'] === 403) { + $msg = $this->h5pF->t('The request for content status was unauthorized. This could be because the content belongs to a different account, or your account is not setup properly.'); + $this->h5pF->setErrorMessage($msg); + return false; + } + if (empty($response) || $response['status'] !== 200) { + $msg = $this->h5pF->t('Could not get content hub sync status for content.'); + $this->h5pF->setErrorMessage($msg); + return false; + } + + $data = json_decode($response['data']); + + if (isset($data->messages)) { + // TODO: Is this the right place/way to display them? + + if (!empty($data->messages->info)) { + foreach ($data->messages->info as $info) { + $this->h5pF->setInfoMessage($info); + } + } + if (!empty($data->messages->error)) { + foreach ($data->messages->error as $error) { + $this->h5pF->setErrorMessage($error->message, $error->code); + } + } + } + + $contentStatus = intval($data->status); + // Content status updated + if ($contentStatus !== H5PContentStatus::STATUS_WAITING) { + $newState = H5PContentHubSyncStatus::SYNCED; + if ($contentStatus !== H5PContentStatus::STATUS_DOWNLOADED) { + $newState = H5PContentHubSyncStatus::FAILED; + } + else if (intval($syncStatus) !== $contentStatus) { + // Content status successfully transitioned to synced/downloaded + $successMsg = $this->h5pF->t('Content was successfully shared on the content hub.'); + $this->h5pF->setInfoMessage($successMsg); + } + + return $newState; + } + + return false; + } } /** @@ -4043,20 +4635,6 @@ class H5PContentValidator { } } } - if (!(isset($semantics->optional) && $semantics->optional)) { - if ($group === NULL) { - // Error no value. Errors aren't printed... - return; - } - foreach ($semantics->fields as $field) { - if (!(isset($field->optional) && $field->optional)) { - // Check if field is in group. - if (! property_exists($group, $field->name)) { - //$this->h5pF->setErrorMessage($this->h5pF->t('No value given for mandatory field ' . $field->name)); - } - } - } - } } /** @@ -4546,6 +5124,12 @@ class H5PContentValidator { 'label' => $this->h5pF->t('Title'), 'placeholder' => 'La Gioconda' ), + (object) array( + 'name' => 'a11yTitle', + 'type' => 'text', + 'label' => $this->h5pF->t('Assistive Technologies label'), + 'optional' => TRUE, + ), (object) array( 'name' => 'license', 'type' => 'select', diff --git a/h5p/h5plib/v124/joubel/core/images/h5p.svg b/h5p/h5plib/v124/joubel/core/images/h5p.svg index 9ef61ae8fb9..07191aa8b2a 100644 --- a/h5p/h5plib/v124/joubel/core/images/h5p.svg +++ b/h5p/h5plib/v124/joubel/core/images/h5p.svg @@ -2,7 +2,7 @@ + viewBox="0 0 345 150" enable-background="new 0 0 345 150" xml:space="preserve"> 1)for(var n=1;n=200&&e<300}};u.headers={common:{Accept:"application/json, text/plain, */*"}},r.forEach(["delete","get","head"],(function(e){u.headers[e]={}})),r.forEach(["post","put","patch"],(function(e){u.headers[e]=r.merge(o)})),e.exports=u}).call(this,n(6))},function(e,t,n){"use strict";var r=n(2),i=n(38),o=n(40),a=n(9),l=n(41),u=n(44),c=n(45),s=n(13);e.exports=function(e){return new Promise((function(t,n){var f=e.data,d=e.headers;r.isFormData(f)&&delete d["Content-Type"];var p=new XMLHttpRequest;if(e.auth){var h=e.auth.username||"",m=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";d.Authorization="Basic "+btoa(h+":"+m)}var v=l(e.baseURL,e.url);if(p.open(e.method.toUpperCase(),a(v,e.params,e.paramsSerializer),!0),p.timeout=e.timeout,p.onreadystatechange=function(){if(p&&4===p.readyState&&(0!==p.status||p.responseURL&&0===p.responseURL.indexOf("file:"))){var r="getAllResponseHeaders"in p?u(p.getAllResponseHeaders()):null,o={data:e.responseType&&"text"!==e.responseType?p.response:p.responseText,status:p.status,statusText:p.statusText,headers:r,config:e,request:p};i(t,n,o),p=null}},p.onabort=function(){p&&(n(s("Request aborted",e,"ECONNABORTED",p)),p=null)},p.onerror=function(){n(s("Network Error",e,null,p)),p=null},p.ontimeout=function(){var t="timeout of "+e.timeout+"ms exceeded";e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),n(s(t,e,"ECONNABORTED",p)),p=null},r.isStandardBrowserEnv()){var g=(e.withCredentials||c(v))&&e.xsrfCookieName?o.read(e.xsrfCookieName):void 0;g&&(d[e.xsrfHeaderName]=g)}if("setRequestHeader"in p&&r.forEach(d,(function(e,t){void 0===f&&"content-type"===t.toLowerCase()?delete d[t]:p.setRequestHeader(t,e)})),r.isUndefined(e.withCredentials)||(p.withCredentials=!!e.withCredentials),e.responseType)try{p.responseType=e.responseType}catch(t){if("json"!==e.responseType)throw t}"function"==typeof e.onDownloadProgress&&p.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&p.upload&&p.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then((function(e){p&&(p.abort(),n(e),p=null)})),f||(f=null),p.send(f)}))}},function(e,t,n){"use strict";var r=n(39);e.exports=function(e,t,n,i,o){var a=new Error(e);return r(a,t,n,i,o)}},function(e,t,n){"use strict";var r=n(2);e.exports=function(e,t){t=t||{};var n={},i=["url","method","data"],o=["headers","auth","proxy","params"],a=["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","timeoutMessage","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","decompress","maxContentLength","maxBodyLength","maxRedirects","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding"],l=["validateStatus"];function u(e,t){return r.isPlainObject(e)&&r.isPlainObject(t)?r.merge(e,t):r.isPlainObject(t)?r.merge({},t):r.isArray(t)?t.slice():t}function c(i){r.isUndefined(t[i])?r.isUndefined(e[i])||(n[i]=u(void 0,e[i])):n[i]=u(e[i],t[i])}r.forEach(i,(function(e){r.isUndefined(t[e])||(n[e]=u(void 0,t[e]))})),r.forEach(o,c),r.forEach(a,(function(i){r.isUndefined(t[i])?r.isUndefined(e[i])||(n[i]=u(void 0,e[i])):n[i]=u(void 0,t[i])})),r.forEach(l,(function(r){r in t?n[r]=u(e[r],t[r]):r in e&&(n[r]=u(void 0,e[r]))}));var s=i.concat(o).concat(a).concat(l),f=Object.keys(e).concat(Object.keys(t)).filter((function(e){return-1===s.indexOf(e)}));return r.forEach(f,c),n}},function(e,t,n){"use strict";function r(e){this.message=e}r.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},r.prototype.__CANCEL__=!0,e.exports=r},function(e,t,n){"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE){0;try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}}(),e.exports=n(20)},function(e,t,n){(function(t,n){ +/*! + * @overview es6-promise - a tiny implementation of Promises/A+. + * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald) + * @license Licensed under MIT license + * See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE + * @version v4.2.8+1e68dce6 + */var r;r=function(){"use strict";function e(e){return"function"==typeof e}var r=Array.isArray?Array.isArray:function(e){return"[object Array]"===Object.prototype.toString.call(e)},i=0,o=void 0,a=void 0,l=function(e,t){h[i]=e,h[i+1]=t,2===(i+=2)&&(a?a(m):w())},u="undefined"!=typeof window?window:void 0,c=u||{},s=c.MutationObserver||c.WebKitMutationObserver,f="undefined"==typeof self&&void 0!==t&&"[object process]"==={}.toString.call(t),d="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel;function p(){var e=setTimeout;return function(){return e(m,1)}}var h=new Array(1e3);function m(){for(var e=0;eO.length&&O.push(e)}function L(e,t,n){return null==e?0:function e(t,n,r,i){var l=typeof t;"undefined"!==l&&"boolean"!==l||(t=null);var u=!1;if(null===t)u=!0;else switch(l){case"string":case"number":u=!0;break;case"object":switch(t.$$typeof){case o:case a:u=!0}}if(u)return r(i,t,""===n?"."+I(t,0):n),1;if(u=0,n=""===n?".":n+":",Array.isArray(t))for(var c=0;c' + H5P.getHeadTags(contentId) + '
'); - this.contentDocument.close(); + const iframe = this; + const $iframe = H5P.jQuery(iframe); + + const contentId = $iframe.data('content-id'); + const contentData = H5PIntegration.contents['cid-' + contentId]; + const contentLanguage = contentData && contentData.metadata && contentData.metadata.defaultLanguage + ? contentData.metadata.defaultLanguage : 'en'; + + const writeDocument = function () { + iframe.contentDocument.open(); + iframe.contentDocument.write('' + H5P.getHeadTags(contentId) + '
'); + iframe.contentDocument.close(); + }; + + $iframe.addClass('h5p-initialized') + if (iframe.contentDocument === null) { + // In some Edge cases the iframe isn't always loaded when the page is ready. + $iframe.on('load', writeDocument); + $iframe.attr('src', 'about:blank'); + } + else { + writeDocument(); + } }); }; @@ -657,7 +676,7 @@ H5P.fullScreen = function ($element, instance, exitCallback, body, forceSemiFull }); if (H5P.fullScreenBrowserPrefix === '') { - $element[0].requestFullScreen(); + $element[0].requestFullscreen(); } else { var method = (H5P.fullScreenBrowserPrefix === 'ms' ? 'msRequestFullscreen' : H5P.fullScreenBrowserPrefix + 'RequestFullScreen'); diff --git a/h5p/h5plib/v124/joubel/core/js/jquery.js b/h5p/h5plib/v124/joubel/core/js/jquery.js index 2057286b55e..4f34d7590cc 100644 --- a/h5p/h5plib/v124/joubel/core/js/jquery.js +++ b/h5p/h5plib/v124/joubel/core/js/jquery.js @@ -1,13 +1,22 @@ -/*! jQuery v1.12.4 | (c) jQuery Foundation | jquery.org/license */ -!function(e,t){"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){var n=[],r=e.document,i=n.slice,o=n.concat,a=n.push,s=n.indexOf,u={},l=u.toString,c=u.hasOwnProperty,f={},d=function(e,t){return new d.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,h=/^-ms-/,g=/-([\da-z])/gi,m=function(e,t){return t.toUpperCase()};function v(e){var t=!!e&&"length"in e&&e.length,n=d.type(e);return"function"!==n&&!d.isWindow(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}d.fn=d.prototype={jquery:"1.12.4",constructor:d,selector:"",length:0,toArray:function(){return i.call(this)},get:function(e){return null!=e?e<0?this[e+this.length]:this[e]:i.call(this)},pushStack:function(e){var t=d.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e){return d.each(this,e)},map:function(e){return this.pushStack(d.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(i.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n=0},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},isPlainObject:function(e){var t;if(!e||"object"!==d.type(e)||e.nodeType||d.isWindow(e))return!1;try{if(e.constructor&&!c.call(e,"constructor")&&!c.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(e){return!1}if(!f.ownFirst)for(t in e)return c.call(e,t);for(t in e);return void 0===t||c.call(e,t)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?u[l.call(e)]||"object":typeof e},globalEval:function(t){t&&d.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(h,"ms-").replace(g,m)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t){var n,r=0;if(v(e))for(n=e.length;r+~]|"+O+")"+O+"*"),X=new RegExp("="+O+"*([^\\]'\"]*?)"+O+"*\\]","g"),U=new RegExp(B),V=new RegExp("^"+R+"$"),Y={ID:new RegExp("^#("+R+")"),CLASS:new RegExp("^\\.("+R+")"),TAG:new RegExp("^("+R+"|[*])"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+B),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+O+"*(even|odd|(([+-]|)(\\d*)n|)"+O+"*(?:([+-]|)"+O+"*(\\d+)|))"+O+"*\\)|)","i"),bool:new RegExp("^(?:"+M+")$","i"),needsContext:new RegExp("^"+O+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+O+"*((?:-\\d)?\\d*)"+O+"*\\)|)(?=[^-]|$)","i")},J=/^(?:input|select|textarea|button)$/i,G=/^h\d$/i,Q=/^[^{]+\{\s*\[native \w/,K=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,Z=/[+~]/,ee=/'|\\/g,te=new RegExp("\\\\([\\da-f]{1,6}"+O+"?|("+O+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=function(){d()};try{q.apply(j=_.call(w.childNodes),w.childNodes),j[w.childNodes.length].nodeType}catch(e){q={apply:j.length?function(e,t){H.apply(e,_.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function ie(e,t,r,i){var o,s,l,c,f,h,v,y,T=t&&t.ownerDocument,C=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==C&&9!==C&&11!==C)return r;if(!i&&((t?t.ownerDocument||t:w)!==p&&d(t),t=t||p,g)){if(11!==C&&(h=K.exec(e)))if(o=h[1]){if(9===C){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(T&&(l=T.getElementById(o))&&x(t,l)&&l.id===o)return r.push(l),r}else{if(h[2])return q.apply(r,t.getElementsByTagName(e)),r;if((o=h[3])&&n.getElementsByClassName&&t.getElementsByClassName)return q.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!k[e+" "]&&(!m||!m.test(e))){if(1!==C)T=t,y=e;else if("object"!==t.nodeName.toLowerCase()){for((c=t.getAttribute("id"))?c=c.replace(ee,"\\$&"):t.setAttribute("id",c=b),s=(v=a(e)).length,f=V.test(c)?"#"+c:"[id='"+c+"']";s--;)v[s]=f+" "+ge(v[s]);y=v.join(","),T=Z.test(e)&&pe(t.parentNode)||t}if(y)try{return q.apply(r,T.querySelectorAll(y)),r}catch(e){}finally{c===b&&t.removeAttribute("id")}}}return u(e.replace(I,"$1"),t,r,i)}function oe(){var e=[];return function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}}function ae(e){return e[b]=!0,e}function se(e){var t=p.createElement("div");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function ue(e,t){for(var n=e.split("|"),i=n.length;i--;)r.attrHandle[n[i]]=t}function le(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||A)-(~e.sourceIndex||A);if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function ce(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function fe(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function de(e){return ae(function(t){return t=+t,ae(function(n,r){for(var i,o=e([],n.length,t),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function pe(e){return e&&void 0!==e.getElementsByTagName&&e}for(t in n=ie.support={},o=ie.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},d=ie.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!==p&&9===a.nodeType&&a.documentElement?(h=(p=a).documentElement,g=!o(p),(i=p.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",re,!1):i.attachEvent&&i.attachEvent("onunload",re)),n.attributes=se(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=se(function(e){return e.appendChild(p.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=Q.test(p.getElementsByClassName),n.getById=se(function(e){return h.appendChild(e).id=b,!p.getElementsByName||!p.getElementsByName(b).length}),n.getById?(r.find.ID=function(e,t){if(void 0!==t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}},r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}}):(delete r.find.ID,r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}}),r.find.TAG=n.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&g)return t.getElementsByClassName(e)},v=[],m=[],(n.qsa=Q.test(p.querySelectorAll))&&(se(function(e){h.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&m.push("[*^$]="+O+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||m.push("\\["+O+"*(?:value|"+M+")"),e.querySelectorAll("[id~="+b+"-]").length||m.push("~="),e.querySelectorAll(":checked").length||m.push(":checked"),e.querySelectorAll("a#"+b+"+*").length||m.push(".#.+[+~]")}),se(function(e){var t=p.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&m.push("name"+O+"*[*^$|!~]?="),e.querySelectorAll(":enabled").length||m.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),m.push(",.*:")})),(n.matchesSelector=Q.test(y=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&se(function(e){n.disconnectedMatch=y.call(e,"div"),y.call(e,"[s!='']:x"),v.push("!=",B)}),m=m.length&&new RegExp(m.join("|")),v=v.length&&new RegExp(v.join("|")),t=Q.test(h.compareDocumentPosition),x=t||Q.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},S=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e===p||e.ownerDocument===w&&x(w,e)?-1:t===p||t.ownerDocument===w&&x(w,t)?1:c?F(c,e)-F(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===p?-1:t===p?1:i?-1:o?1:c?F(c,e)-F(c,t):0;if(i===o)return le(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;a[r]===s[r];)r++;return r?le(a[r],s[r]):a[r]===w?-1:s[r]===w?1:0},p):p},ie.matches=function(e,t){return ie(e,null,null,t)},ie.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&d(e),t=t.replace(X,"='$1']"),n.matchesSelector&&g&&!k[t+" "]&&(!v||!v.test(t))&&(!m||!m.test(t)))try{var r=y.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return ie(t,p,null,[e]).length>0},ie.contains=function(e,t){return(e.ownerDocument||e)!==p&&d(e),x(e,t)},ie.attr=function(e,t){(e.ownerDocument||e)!==p&&d(e);var i=r.attrHandle[t.toLowerCase()],o=i&&D.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},ie.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},ie.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(S),f){for(;t=e[o++];)t===e[o]&&(i=r.push(o));for(;i--;)e.splice(r[i],1)}return c=null,e},i=ie.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else for(;t=e[r++];)n+=i(t);return n},(r=ie.selectors={cacheLength:50,createPseudo:ae,match:Y,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||ie.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&ie.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return Y.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&U.test(n)&&(t=a(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+" "];return t||(t=new RegExp("(^|"+O+")"+e+"("+O+"|$)"))&&E(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=ie.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace(W," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,d,p,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,v=s&&t.nodeName.toLowerCase(),y=!u&&!s,x=!1;if(m){if(o){for(;g;){for(d=t;d=d[g];)if(s?d.nodeName.toLowerCase()===v:1===d.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&y){for(x=(p=(l=(c=(f=(d=m)[b]||(d[b]={}))[d.uniqueID]||(f[d.uniqueID]={}))[e]||[])[0]===T&&l[1])&&l[2],d=p&&m.childNodes[p];d=++p&&d&&d[g]||(x=p=0)||h.pop();)if(1===d.nodeType&&++x&&d===t){c[e]=[T,p,x];break}}else if(y&&(x=p=(l=(c=(f=(d=t)[b]||(d[b]={}))[d.uniqueID]||(f[d.uniqueID]={}))[e]||[])[0]===T&&l[1]),!1===x)for(;(d=++p&&d&&d[g]||(x=p=0)||h.pop())&&((s?d.nodeName.toLowerCase()!==v:1!==d.nodeType)||!++x||(y&&((c=(f=d[b]||(d[b]={}))[d.uniqueID]||(f[d.uniqueID]={}))[e]=[T,x]),d!==t)););return(x-=i)===r||x%r==0&&x/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||ie.error("unsupported pseudo: "+e);return i[b]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?ae(function(e,n){for(var r,o=i(e,t),a=o.length;a--;)e[r=F(e,o[a])]=!(n[r]=o[a])}):function(e){return i(e,0,n)}):i}},pseudos:{not:ae(function(e){var t=[],n=[],r=s(e.replace(I,"$1"));return r[b]?ae(function(e,t,n,i){for(var o,a=r(e,null,i,[]),s=e.length;s--;)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}}),has:ae(function(e){return function(t){return ie(e,t).length>0}}),contains:ae(function(e){return e=e.replace(te,ne),function(t){return(t.textContent||t.innerText||i(t)).indexOf(e)>-1}}),lang:ae(function(e){return V.test(e||"")||ie.error("unsupported lang: "+e),e=e.replace(te,ne).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return!1===e.disabled},disabled:function(e){return!0===e.disabled},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return G.test(e.nodeName)},input:function(e){return J.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:de(function(){return[0]}),last:de(function(e,t){return[t-1]}),eq:de(function(e,t,n){return[n<0?n+t:n]}),even:de(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:de(function(e,t,n){for(var r=n<0?n+t:n;++r1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function ye(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s-1&&(o[l]=!(a[l]=f))}}else v=ye(v===a?v.splice(h,v.length):v),i?i(null,a,v,u):q.apply(a,v)})}function be(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],s=a||r.relative[" "],u=a?1:0,c=me(function(e){return e===t},s,!0),f=me(function(e){return F(t,e)>-1},s,!0),d=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];u1&&ve(d),u>1&&ge(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace(I,"$1"),n,u0,i=e.length>0,o=function(o,a,s,u,c){var f,h,m,v=0,y="0",x=o&&[],b=[],w=l,C=o||i&&r.find.TAG("*",c),E=T+=null==w?1:Math.random()||.1,N=C.length;for(c&&(l=a===p||a||c);y!==N&&null!=(f=C[y]);y++){if(i&&f){for(h=0,a||f.ownerDocument===p||(d(f),s=!g);m=e[h++];)if(m(f,a||p,s)){u.push(f);break}c&&(T=E)}n&&((f=!m&&f)&&v--,o&&x.push(f))}if(v+=y,n&&y!==v){for(h=0;m=t[h++];)m(x,b,a,s);if(o){if(v>0)for(;y--;)x[y]||b[y]||(b[y]=L.call(u));b=ye(b)}q.apply(u,b),c&&!o&&b.length>0&&v+t.length>1&&ie.uniqueSort(u)}return c&&(T=E,l=w),x};return n?ae(o):o}(o,i))).selector=e}return s},u=ie.select=function(e,t,i,o){var u,l,c,f,d,p="function"==typeof e&&e,h=!o&&a(e=p.selector||e);if(i=i||[],1===h.length){if((l=h[0]=h[0].slice(0)).length>2&&"ID"===(c=l[0]).type&&n.getById&&9===t.nodeType&&g&&r.relative[l[1].type]){if(!(t=(r.find.ID(c.matches[0].replace(te,ne),t)||[])[0]))return i;p&&(t=t.parentNode),e=e.slice(l.shift().value.length)}for(u=Y.needsContext.test(e)?0:l.length;u--&&(c=l[u],!r.relative[f=c.type]);)if((d=r.find[f])&&(o=d(c.matches[0].replace(te,ne),Z.test(l[0].type)&&pe(t.parentNode)||t))){if(l.splice(u,1),!(e=o.length&&ge(l)))return q.apply(i,o),i;break}}return(p||s(e,h))(o,t,!g,i,!t||Z.test(e)&&pe(t.parentNode)||t),i},n.sortStable=b.split("").sort(S).join("")===b,n.detectDuplicates=!!f,d(),n.sortDetached=se(function(e){return 1&e.compareDocumentPosition(p.createElement("div"))}),se(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||ue("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&se(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||ue("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),se(function(e){return null==e.getAttribute("disabled")})||ue(M,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),ie}(e);d.find=y,d.expr=y.selectors,d.expr[":"]=d.expr.pseudos,d.uniqueSort=d.unique=y.uniqueSort,d.text=y.getText,d.isXMLDoc=y.isXML,d.contains=y.contains;var x=function(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&d(e).is(n))break;r.push(e)}return r},b=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},w=d.expr.match.needsContext,T=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,C=/^.[^:#\[\.,]*$/;function E(e,t,n){if(d.isFunction(t))return d.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return d.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(C.test(t))return d.filter(t,e,n);t=d.filter(t,e)}return d.grep(e,function(e){return d.inArray(e,t)>-1!==n})}d.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?d.find.matchesSelector(r,e)?[r]:[]:d.find.matches(e,d.grep(t,function(e){return 1===e.nodeType}))},d.fn.extend({find:function(e){var t,n=[],r=this,i=r.length;if("string"!=typeof e)return this.pushStack(d(e).filter(function(){for(t=0;t1?d.unique(n):n)).selector=this.selector?this.selector+" "+e:e,n},filter:function(e){return this.pushStack(E(this,e||[],!1))},not:function(e){return this.pushStack(E(this,e||[],!0))},is:function(e){return!!E(this,"string"==typeof e&&w.test(e)?d(e):e||[],!1).length}});var N,k=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/;(d.fn.init=function(e,t,n){var i,o;if(!e)return this;if(n=n||N,"string"==typeof e){if(!(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:k.exec(e))||!i[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(i[1]){if(t=t instanceof d?t[0]:t,d.merge(this,d.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:r,!0)),T.test(i[1])&&d.isPlainObject(t))for(i in t)d.isFunction(this[i])?this[i](t[i]):this.attr(i,t[i]);return this}if((o=r.getElementById(i[2]))&&o.parentNode){if(o.id!==i[2])return N.find(e);this.length=1,this[0]=o}return this.context=r,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):d.isFunction(e)?void 0!==n.ready?n.ready(e):e(d):(void 0!==e.selector&&(this.selector=e.selector,this.context=e.context),d.makeArray(e,this))}).prototype=d.fn,N=d(r);var S=/^(?:parents|prev(?:Until|All))/,A={children:!0,contents:!0,next:!0,prev:!0};function D(e,t){do{e=e[t]}while(e&&1!==e.nodeType);return e}d.fn.extend({has:function(e){var t,n=d(e,this),r=n.length;return this.filter(function(){for(t=0;t-1:1===n.nodeType&&d.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?d.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?d.inArray(this[0],d(e)):d.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(d.uniqueSort(d.merge(this.get(),d(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),d.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return x(e,"parentNode")},parentsUntil:function(e,t,n){return x(e,"parentNode",n)},next:function(e){return D(e,"nextSibling")},prev:function(e){return D(e,"previousSibling")},nextAll:function(e){return x(e,"nextSibling")},prevAll:function(e){return x(e,"previousSibling")},nextUntil:function(e,t,n){return x(e,"nextSibling",n)},prevUntil:function(e,t,n){return x(e,"previousSibling",n)},siblings:function(e){return b((e.parentNode||{}).firstChild,e)},children:function(e){return b(e.firstChild)},contents:function(e){return d.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:d.merge([],e.childNodes)}},function(e,t){d.fn[e]=function(n,r){var i=d.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=d.filter(r,i)),this.length>1&&(A[e]||(i=d.uniqueSort(i)),S.test(e)&&(i=i.reverse())),this.pushStack(i)}});var j,L,H=/\S+/g;function q(){r.addEventListener?(r.removeEventListener("DOMContentLoaded",_),e.removeEventListener("load",_)):(r.detachEvent("onreadystatechange",_),e.detachEvent("onload",_))}function _(){(r.addEventListener||"load"===e.event.type||"complete"===r.readyState)&&(q(),d.ready())}for(L in d.Callbacks=function(e){e="string"==typeof e?function(e){var t={};return d.each(e.match(H)||[],function(e,n){t[n]=!0}),t}(e):d.extend({},e);var t,n,r,i,o=[],a=[],s=-1,u=function(){for(i=e.once,r=t=!0;a.length;s=-1)for(n=a.shift();++s-1;)o.splice(n,1),n<=s&&s--}),this},has:function(e){return e?d.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=!0,n||l.disable(),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||u()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l},d.extend({Deferred:function(e){var t=[["resolve","done",d.Callbacks("once memory"),"resolved"],["reject","fail",d.Callbacks("once memory"),"rejected"],["notify","progress",d.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return d.Deferred(function(n){d.each(t,function(t,o){var a=d.isFunction(e[t])&&e[t];i[o[1]](function(){var e=a&&a.apply(this,arguments);e&&d.isFunction(e.promise)?e.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[o[0]+"With"](this===r?n.promise():this,a?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?d.extend(e,r):r}},i={};return r.pipe=r.then,d.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t,n,r,o=0,a=i.call(arguments),s=a.length,u=1!==s||e&&d.isFunction(e.promise)?s:0,l=1===u?e:d.Deferred(),c=function(e,n,r){return function(o){n[e]=this,r[e]=arguments.length>1?i.call(arguments):o,r===t?l.notifyWith(n,r):--u||l.resolveWith(n,r)}};if(s>1)for(t=new Array(s),n=new Array(s),r=new Array(s);o0||(j.resolveWith(r,[d]),d.fn.triggerHandler&&(d(r).triggerHandler("ready"),d(r).off("ready"))))}}),d.ready.promise=function(t){if(!j)if(j=d.Deferred(),"complete"===r.readyState||"loading"!==r.readyState&&!r.documentElement.doScroll)e.setTimeout(d.ready);else if(r.addEventListener)r.addEventListener("DOMContentLoaded",_),e.addEventListener("load",_);else{r.attachEvent("onreadystatechange",_),e.attachEvent("onload",_);var n=!1;try{n=null==e.frameElement&&r.documentElement}catch(e){}n&&n.doScroll&&function t(){if(!d.isReady){try{n.doScroll("left")}catch(n){return e.setTimeout(t,50)}q(),d.ready()}}()}return j.promise(t)},d.ready.promise(),d(f))break;f.ownFirst="0"===L,f.inlineBlockNeedsLayout=!1,d(function(){var e,t,n,i;(n=r.getElementsByTagName("body")[0])&&n.style&&(t=r.createElement("div"),(i=r.createElement("div")).style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",n.appendChild(i).appendChild(t),void 0!==t.style.zoom&&(t.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",f.inlineBlockNeedsLayout=e=3===t.offsetWidth,e&&(n.style.zoom=1)),n.removeChild(i))}),function(){var e=r.createElement("div");f.deleteExpando=!0;try{delete e.test}catch(e){f.deleteExpando=!1}e=null}();var F,M=function(e){var t=d.noData[(e.nodeName+" ").toLowerCase()],n=+e.nodeType||1;return(1===n||9===n)&&(!t||!0!==t&&e.getAttribute("classid")===t)},O=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,R=/([A-Z])/g;function P(e,t,n){if(void 0===n&&1===e.nodeType){var r="data-"+t.replace(R,"-$1").toLowerCase();if("string"==typeof(n=e.getAttribute(r))){try{n="true"===n||"false"!==n&&("null"===n?null:+n+""===n?+n:O.test(n)?d.parseJSON(n):n)}catch(e){}d.data(e,t,n)}else n=void 0}return n}function B(e){var t;for(t in e)if(("data"!==t||!d.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}function W(e,t,r,i){if(M(e)){var o,a,s=d.expando,u=e.nodeType,l=u?d.cache:e,c=u?e[s]:e[s]&&s;if(c&&l[c]&&(i||l[c].data)||void 0!==r||"string"!=typeof t)return c||(c=u?e[s]=n.pop()||d.guid++:s),l[c]||(l[c]=u?{}:{toJSON:d.noop}),"object"!=typeof t&&"function"!=typeof t||(i?l[c]=d.extend(l[c],t):l[c].data=d.extend(l[c].data,t)),a=l[c],i||(a.data||(a.data={}),a=a.data),void 0!==r&&(a[d.camelCase(t)]=r),"string"==typeof t?null==(o=a[t])&&(o=a[d.camelCase(t)]):o=a,o}}function I(e,t,n){if(M(e)){var r,i,o=e.nodeType,a=o?d.cache:e,s=o?e[d.expando]:d.expando;if(a[s]){if(t&&(r=n?a[s]:a[s].data)){i=(t=d.isArray(t)?t.concat(d.map(t,d.camelCase)):t in r?[t]:(t=d.camelCase(t))in r?[t]:t.split(" ")).length;for(;i--;)delete r[t[i]];if(n?!B(r):!d.isEmptyObject(r))return}(n||(delete a[s].data,B(a[s])))&&(o?d.cleanData([e],!0):f.deleteExpando||a!=a.window?delete a[s]:a[s]=void 0)}}}d.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(e){return!!(e=e.nodeType?d.cache[e[d.expando]]:e[d.expando])&&!B(e)},data:function(e,t,n){return W(e,t,n)},removeData:function(e,t){return I(e,t)},_data:function(e,t,n){return W(e,t,n,!0)},_removeData:function(e,t){return I(e,t,!0)}}),d.fn.extend({data:function(e,t){var n,r,i,o=this[0],a=o&&o.attributes;if(void 0===e){if(this.length&&(i=d.data(o),1===o.nodeType&&!d._data(o,"parsedAttrs"))){for(n=a.length;n--;)a[n]&&0===(r=a[n].name).indexOf("data-")&&P(o,r=d.camelCase(r.slice(5)),i[r]);d._data(o,"parsedAttrs",!0)}return i}return"object"==typeof e?this.each(function(){d.data(this,e)}):arguments.length>1?this.each(function(){d.data(this,e,t)}):o?P(o,e,d.data(o,e)):void 0},removeData:function(e){return this.each(function(){d.removeData(this,e)})}}),d.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=d._data(e,t),n&&(!r||d.isArray(n)?r=d._data(e,t,d.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=d.queue(e,t),r=n.length,i=n.shift(),o=d._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){d.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return d._data(e,n)||d._data(e,n,{empty:d.Callbacks("once memory").add(function(){d._removeData(e,t+"queue"),d._removeData(e,n)})})}}),d.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length
a",f.leadingWhitespace=3===Y.firstChild.nodeType,f.tbody=!Y.getElementsByTagName("tbody").length,f.htmlSerialize=!!Y.getElementsByTagName("link").length,f.html5Clone="<:nav>"!==r.createElement("nav").cloneNode(!0).outerHTML,G.type="checkbox",G.checked=!0,J.appendChild(G),f.appendChecked=G.checked,Y.innerHTML="",f.noCloneChecked=!!Y.cloneNode(!0).lastChild.defaultValue,J.appendChild(Y),(G=r.createElement("input")).setAttribute("type","radio"),G.setAttribute("checked","checked"),G.setAttribute("name","t"),Y.appendChild(G),f.checkClone=Y.cloneNode(!0).cloneNode(!0).lastChild.checked,f.noCloneEvent=!!Y.addEventListener,Y[d.expando]=1,f.attributes=!Y.getAttribute(d.expando);var ie={option:[1,""],legend:[1,"
","
"],area:[1,"",""],param:[1,"",""],thead:[1,"","
"],tr:[2,"","
"],col:[2,"","
"],td:[3,"","
"],_default:f.htmlSerialize?[0,"",""]:[1,"X
","
"]};function oe(e,t){var n,r,i=0,o=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):void 0;if(!o)for(o=[],n=e.childNodes||e;null!=(r=n[i]);i++)!t||d.nodeName(r,t)?o.push(r):d.merge(o,oe(r,t));return void 0===t||t&&d.nodeName(e,t)?d.merge([e],o):o}function ae(e,t){for(var n,r=0;null!=(n=e[r]);r++)d._data(n,"globalEval",!t||d._data(t[r],"globalEval"))}ie.optgroup=ie.option,ie.tbody=ie.tfoot=ie.colgroup=ie.caption=ie.thead,ie.th=ie.td;var se=/<|&#?\w+;/,ue=/"!==p[1]||ue.test(a)?0:u:u.firstChild)&&a.childNodes.length;o--;)d.nodeName(c=a.childNodes[o],"tbody")&&!c.childNodes.length&&a.removeChild(c);for(d.merge(m,u.childNodes),u.textContent="";u.firstChild;)u.removeChild(u.firstChild);u=g.lastChild}else m.push(t.createTextNode(a));for(u&&g.removeChild(u),f.appendChecked||d.grep(oe(m,"input"),le),v=0;a=m[v++];)if(r&&d.inArray(a,r)>-1)i&&i.push(a);else if(s=d.contains(a.ownerDocument,a),u=oe(g.appendChild(a),"script"),s&&ae(u),n)for(o=0;a=u[o++];)ee.test(a.type||"")&&n.push(a);return u=null,g}!function(){var t,n,i=r.createElement("div");for(t in{submit:!0,change:!0,focusin:!0})n="on"+t,(f[t]=n in e)||(i.setAttribute(n,"t"),f[t]=!1===i.attributes[n].expando);i=null}();var fe=/^(?:input|select|textarea)$/i,de=/^key/,pe=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,he=/^(?:focusinfocus|focusoutblur)$/,ge=/^([^.]*)(?:\.(.+)|)/;function me(){return!0}function ve(){return!1}function ye(){try{return r.activeElement}catch(e){}}function xe(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)xe(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=ve;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return d().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=d.guid++)),e.each(function(){d.event.add(this,t,i,r,n)})}d.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,h,g,m,v=d._data(e);if(v){for(n.handler&&(n=(u=n).handler,i=u.selector),n.guid||(n.guid=d.guid++),(a=v.events)||(a=v.events={}),(c=v.handle)||((c=v.handle=function(e){return void 0===d||e&&d.event.triggered===e.type?void 0:d.event.dispatch.apply(c.elem,arguments)}).elem=e),s=(t=(t||"").match(H)||[""]).length;s--;)h=m=(o=ge.exec(t[s])||[])[1],g=(o[2]||"").split(".").sort(),h&&(l=d.event.special[h]||{},h=(i?l.delegateType:l.bindType)||h,l=d.event.special[h]||{},f=d.extend({type:h,origType:m,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&d.expr.match.needsContext.test(i),namespace:g.join(".")},u),(p=a[h])||((p=a[h]=[]).delegateCount=0,l.setup&&!1!==l.setup.call(e,r,g,c)||(e.addEventListener?e.addEventListener(h,c,!1):e.attachEvent&&e.attachEvent("on"+h,c))),l.add&&(l.add.call(e,f),f.handler.guid||(f.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,f):p.push(f),d.event.global[h]=!0);e=null}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,h,g,m,v=d.hasData(e)&&d._data(e);if(v&&(c=v.events)){for(l=(t=(t||"").match(H)||[""]).length;l--;)if(h=m=(s=ge.exec(t[l])||[])[1],g=(s[2]||"").split(".").sort(),h){for(f=d.event.special[h]||{},p=c[h=(r?f.delegateType:f.bindType)||h]||[],s=s[2]&&new RegExp("(^|\\.)"+g.join("\\.(?:.*\\.|)")+"(\\.|$)"),u=o=p.length;o--;)a=p[o],!i&&m!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(p.splice(o,1),a.selector&&p.delegateCount--,f.remove&&f.remove.call(e,a));u&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,g,v.handle)||d.removeEvent(e,h,v.handle),delete c[h])}else for(h in c)d.event.remove(e,h+t[l],n,r,!0);d.isEmptyObject(c)&&(delete v.handle,d._removeData(e,"events"))}},trigger:function(t,n,i,o){var a,s,u,l,f,p,h,g=[i||r],m=c.call(t,"type")?t.type:t,v=c.call(t,"namespace")?t.namespace.split("."):[];if(u=p=i=i||r,3!==i.nodeType&&8!==i.nodeType&&!he.test(m+d.event.triggered)&&(m.indexOf(".")>-1&&(v=m.split("."),m=v.shift(),v.sort()),s=m.indexOf(":")<0&&"on"+m,(t=t[d.expando]?t:new d.Event(m,"object"==typeof t&&t)).isTrigger=o?2:3,t.namespace=v.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+v.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=i),n=null==n?[t]:d.makeArray(n,[t]),f=d.event.special[m]||{},o||!f.trigger||!1!==f.trigger.apply(i,n))){if(!o&&!f.noBubble&&!d.isWindow(i)){for(l=f.delegateType||m,he.test(l+m)||(u=u.parentNode);u;u=u.parentNode)g.push(u),p=u;p===(i.ownerDocument||r)&&g.push(p.defaultView||p.parentWindow||e)}for(h=0;(u=g[h++])&&!t.isPropagationStopped();)t.type=h>1?l:f.bindType||m,(a=(d._data(u,"events")||{})[t.type]&&d._data(u,"handle"))&&a.apply(u,n),(a=s&&u[s])&&a.apply&&M(u)&&(t.result=a.apply(u,n),!1===t.result&&t.preventDefault());if(t.type=m,!o&&!t.isDefaultPrevented()&&(!f._default||!1===f._default.apply(g.pop(),n))&&M(i)&&s&&i[m]&&!d.isWindow(i)){(p=i[s])&&(i[s]=null),d.event.triggered=m;try{i[m]()}catch(e){}d.event.triggered=void 0,p&&(i[s]=p)}return t.result}},dispatch:function(e){e=d.event.fix(e);var t,n,r,o,a,s,u=i.call(arguments),l=(d._data(this,"events")||{})[e.type]||[],c=d.event.special[e.type]||{};if(u[0]=e,e.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,e)){for(s=d.event.handlers.call(this,e,l),t=0;(o=s[t++])&&!e.isPropagationStopped();)for(e.currentTarget=o.elem,n=0;(a=o.handlers[n++])&&!e.isImmediatePropagationStopped();)e.rnamespace&&!e.rnamespace.test(a.namespace)||(e.handleObj=a,e.data=a.data,void 0!==(r=((d.event.special[a.origType]||{}).handle||a.handler).apply(o.elem,u))&&!1===(e.result=r)&&(e.preventDefault(),e.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,t){var n,r,i,o,a=[],s=t.delegateCount,u=e.target;if(s&&u.nodeType&&("click"!==e.type||isNaN(e.button)||e.button<1))for(;u!=this;u=u.parentNode||this)if(1===u.nodeType&&(!0!==u.disabled||"click"!==e.type)){for(r=[],n=0;n-1:d.find(i,this,null,[u]).length),r[i]&&r.push(o);r.length&&a.push({elem:u,handlers:r})}return s]","i"),Te=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,Ce=/\s*$/g,Se=re(r).appendChild(r.createElement("div"));function Ae(e,t){return d.nodeName(e,"table")&&d.nodeName(11!==t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function De(e){return e.type=(null!==d.find.attr(e,"type"))+"/"+e.type,e}function je(e){var t=Ne.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function Le(e,t){if(1===t.nodeType&&d.hasData(e)){var n,r,i,o=d._data(e),a=d._data(t,o),s=o.events;if(s)for(n in delete a.handle,a.events={},s)for(r=0,i=s[n].length;r1&&"string"==typeof m&&!f.checkClone&&Ee.test(m))return e.each(function(i){var o=e.eq(i);v&&(t[0]=m.call(this,i,o.html())),qe(o,t,n,r)});if(h&&(i=(c=ce(t,e[0].ownerDocument,!1,e,r)).firstChild,1===c.childNodes.length&&(c=i),i||r)){for(s=(u=d.map(oe(c,"script"),De)).length;p")},clone:function(e,t,n){var r,i,o,a,s,u=d.contains(e.ownerDocument,e);if(f.html5Clone||d.isXMLDoc(e)||!we.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Se.innerHTML=e.outerHTML,Se.removeChild(o=Se.firstChild)),!(f.noCloneEvent&&f.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||d.isXMLDoc(e)))for(r=oe(o),s=oe(e),a=0;null!=(i=s[a]);++a)r[a]&&He(i,r[a]);if(t)if(n)for(s=s||oe(e),r=r||oe(o),a=0;null!=(i=s[a]);a++)Le(i,r[a]);else Le(e,o);return(r=oe(o,"script")).length>0&&ae(r,!u&&oe(e,"script")),r=s=i=null,o},cleanData:function(e,t){for(var r,i,o,a,s=0,u=d.expando,l=d.cache,c=f.attributes,p=d.event.special;null!=(r=e[s]);s++)if((t||M(r))&&(a=(o=r[u])&&l[o])){if(a.events)for(i in a.events)p[i]?d.event.remove(r,i):d.removeEvent(r,i,a.handle);l[o]&&(delete l[o],c||void 0===r.removeAttribute?r[u]=void 0:r.removeAttribute(u),n.push(o))}}}),d.fn.extend({domManip:qe,detach:function(e){return _e(this,e,!0)},remove:function(e){return _e(this,e)},text:function(e){return Q(this,function(e){return void 0===e?d.text(this):this.empty().append((this[0]&&this[0].ownerDocument||r).createTextNode(e))},null,e,arguments.length)},append:function(){return qe(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Ae(this,e).appendChild(e)})},prepend:function(){return qe(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Ae(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return qe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return qe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++){for(1===e.nodeType&&d.cleanData(oe(e,!1));e.firstChild;)e.removeChild(e.firstChild);e.options&&d.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return d.clone(this,e,t)})},html:function(e){return Q(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e)return 1===t.nodeType?t.innerHTML.replace(be,""):void 0;if("string"==typeof e&&!Ce.test(e)&&(f.htmlSerialize||!we.test(e))&&(f.leadingWhitespace||!te.test(e))&&!ie[(Z.exec(e)||["",""])[1].toLowerCase()]){e=d.htmlPrefilter(e);try{for(;n")).appendTo(t.documentElement))[0].contentWindow||Fe[0].contentDocument).document).write(),t.close(),n=Oe(e,t),Fe.detach()),Me[e]=n),n}var Pe=/^margin/,Be=new RegExp("^("+$+")(?!px)[a-z%]+$","i"),We=function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];for(o in i=n.apply(e,r||[]),t)e.style[o]=a[o];return i},Ie=r.documentElement;!function(){var t,n,i,o,a,s,u=r.createElement("div"),l=r.createElement("div");function c(){var c,f,d=r.documentElement;d.appendChild(u),l.style.cssText="-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",t=i=s=!1,n=a=!0,e.getComputedStyle&&(f=e.getComputedStyle(l),t="1%"!==(f||{}).top,s="2px"===(f||{}).marginLeft,i="4px"===(f||{width:"4px"}).width,l.style.marginRight="50%",n="4px"===(f||{marginRight:"4px"}).marginRight,(c=l.appendChild(r.createElement("div"))).style.cssText=l.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",c.style.marginRight=c.style.width="0",l.style.width="1px",a=!parseFloat((e.getComputedStyle(c)||{}).marginRight),l.removeChild(c)),l.style.display="none",(o=0===l.getClientRects().length)&&(l.style.display="",l.innerHTML="
t
",l.childNodes[0].style.borderCollapse="separate",(c=l.getElementsByTagName("td"))[0].style.cssText="margin:0;border:0;padding:0;display:none",(o=0===c[0].offsetHeight)&&(c[0].style.display="",c[1].style.display="none",o=0===c[0].offsetHeight)),d.removeChild(u)}l.style&&(l.style.cssText="float:left;opacity:.5",f.opacity="0.5"===l.style.opacity,f.cssFloat=!!l.style.cssFloat,l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",f.clearCloneStyle="content-box"===l.style.backgroundClip,(u=r.createElement("div")).style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",l.innerHTML="",u.appendChild(l),f.boxSizing=""===l.style.boxSizing||""===l.style.MozBoxSizing||""===l.style.WebkitBoxSizing,d.extend(f,{reliableHiddenOffsets:function(){return null==t&&c(),o},boxSizingReliable:function(){return null==t&&c(),i},pixelMarginRight:function(){return null==t&&c(),n},pixelPosition:function(){return null==t&&c(),t},reliableMarginRight:function(){return null==t&&c(),a},reliableMarginLeft:function(){return null==t&&c(),s}}))}();var $e,ze,Xe=/^(top|right|bottom|left)$/;function Ue(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}e.getComputedStyle?($e=function(t){var n=t.ownerDocument.defaultView;return n&&n.opener||(n=e),n.getComputedStyle(t)},ze=function(e,t,n){var r,i,o,a,s=e.style;return""!==(a=(n=n||$e(e))?n.getPropertyValue(t)||n[t]:void 0)&&void 0!==a||d.contains(e.ownerDocument,e)||(a=d.style(e,t)),n&&!f.pixelMarginRight()&&Be.test(a)&&Pe.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o),void 0===a?a:a+""}):Ie.currentStyle&&($e=function(e){return e.currentStyle},ze=function(e,t,n){var r,i,o,a,s=e.style;return null==(a=(n=n||$e(e))?n[t]:void 0)&&s&&s[t]&&(a=s[t]),Be.test(a)&&!Xe.test(t)&&(r=s.left,(o=(i=e.runtimeStyle)&&i.left)&&(i.left=e.currentStyle.left),s.left="fontSize"===t?"1em":a,a=s.pixelLeft+"px",s.left=r,o&&(i.left=o)),void 0===a?a:a+""||"auto"});var Ve=/alpha\([^)]*\)/i,Ye=/opacity\s*=\s*([^)]*)/i,Je=/^(none|table(?!-c[ea]).+)/,Ge=new RegExp("^("+$+")(.*)$","i"),Qe={position:"absolute",visibility:"hidden",display:"block"},Ke={letterSpacing:"0",fontWeight:"400"},Ze=["Webkit","O","Moz","ms"],et=r.createElement("div").style;function tt(e){if(e in et)return e;for(var t=e.charAt(0).toUpperCase()+e.slice(1),n=Ze.length;n--;)if((e=Ze[n]+t)in et)return e}function nt(e,t){for(var n,r,i,o=[],a=0,s=e.length;a=1||""===t)&&""===d.trim(o.replace(Ve,""))&&n.removeAttribute&&(n.removeAttribute("filter"),""===t||r&&!r.filter)||(n.filter=Ve.test(o)?o.replace(Ve,i):o+" "+i)}}),d.cssHooks.marginRight=Ue(f.reliableMarginRight,function(e,t){if(t)return We(e,{display:"inline-block"},ze,[e,"marginRight"])}),d.cssHooks.marginLeft=Ue(f.reliableMarginLeft,function(e,t){if(t)return(parseFloat(ze(e,"marginLeft"))||(d.contains(e.ownerDocument,e)?e.getBoundingClientRect().left-We(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}):0))+"px"}),d.each({margin:"",padding:"",border:"Width"},function(e,t){d.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+X[r]+t]=o[r]||o[r-2]||o[0];return i}},Pe.test(e)||(d.cssHooks[e+t].set=rt)}),d.fn.extend({css:function(e,t){return Q(this,function(e,t,n){var r,i,o={},a=0;if(d.isArray(t)){for(r=$e(e),i=t.length;a1)},show:function(){return nt(this,!0)},hide:function(){return nt(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){U(this)?d(this).show():d(this).hide()})}}),d.Tween=at,at.prototype={constructor:at,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||d.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(d.cssNumber[n]?"":"px")},cur:function(){var e=at.propHooks[this.prop];return e&&e.get?e.get(this):at.propHooks._default.get(this)},run:function(e){var t,n=at.propHooks[this.prop];return this.options.duration?this.pos=t=d.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):at.propHooks._default.set(this),this}},at.prototype.init.prototype=at.prototype,at.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=d.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){d.fx.step[e.prop]?d.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[d.cssProps[e.prop]]&&!d.cssHooks[e.prop]?e.elem[e.prop]=e.now:d.style(e.elem,e.prop,e.now+e.unit)}}},at.propHooks.scrollTop=at.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},d.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},d.fx=at.prototype.init,d.fx.step={};var st,ut,lt=/^(?:toggle|show|hide)$/,ct=/queueHooks$/;function ft(){return e.setTimeout(function(){st=void 0}),st=d.now()}function dt(e,t){var n,r={height:e},i=0;for(t=t?1:0;i<4;i+=2-t)r["margin"+(n=X[i])]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}function pt(e,t,n){for(var r,i=(ht.tweeners[t]||[]).concat(ht.tweeners["*"]),o=0,a=i.length;o
a",e=n.getElementsByTagName("a")[0],t.setAttribute("type","checkbox"),n.appendChild(t),(e=n.getElementsByTagName("a")[0]).style.cssText="top:1px",f.getSetAttribute="t"!==n.className,f.style=/top/.test(e.getAttribute("style")),f.hrefNormalized="/a"===e.getAttribute("href"),f.checkOn=!!t.value,f.optSelected=o.selected,f.enctype=!!r.createElement("form").enctype,i.disabled=!0,f.optDisabled=!o.disabled,(t=r.createElement("input")).setAttribute("value",""),f.input=""===t.getAttribute("value"),t.value="t",t.setAttribute("type","radio"),f.radioValue="t"===t.value}();var gt=/\r/g,mt=/[\x20\t\r\n\f]+/g;d.fn.extend({val:function(e){var t,n,r,i=this[0];return arguments.length?(r=d.isFunction(e),this.each(function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,d(this).val()):e)?i="":"number"==typeof i?i+="":d.isArray(i)&&(i=d.map(i,function(e){return null==e?"":e+""})),(t=d.valHooks[this.type]||d.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))})):i?(t=d.valHooks[i.type]||d.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(gt,""):null==n?"":n:void 0}}),d.extend({valHooks:{option:{get:function(e){var t=d.find.attr(e,"value");return null!=t?t:d.trim(d.text(e)).replace(mt," ")}},select:{get:function(e){for(var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||i<0,a=o?null:[],s=o?i+1:r.length,u=i<0?s:o?i:0;u-1)try{r.selected=n=!0}catch(e){r.scrollHeight}else r.selected=!1;return n||(e.selectedIndex=-1),i}}}}),d.each(["radio","checkbox"],function(){d.valHooks[this]={set:function(e,t){if(d.isArray(t))return e.checked=d.inArray(d(e).val(),t)>-1}},f.checkOn||(d.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var vt,yt,xt=d.expr.attrHandle,bt=/^(?:checked|selected)$/i,wt=f.getSetAttribute,Tt=f.input;d.fn.extend({attr:function(e,t){return Q(this,d.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){d.removeAttr(this,e)})}}),d.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===e.getAttribute?d.prop(e,t,n):(1===o&&d.isXMLDoc(e)||(t=t.toLowerCase(),i=d.attrHooks[t]||(d.expr.match.bool.test(t)?yt:vt)),void 0!==n?null===n?void d.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=d.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!f.radioValue&&"radio"===t&&d.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(H);if(o&&1===e.nodeType)for(;n=o[i++];)r=d.propFix[n]||n,d.expr.match.bool.test(n)?Tt&&wt||!bt.test(n)?e[r]=!1:e[d.camelCase("default-"+n)]=e[r]=!1:d.attr(e,n,""),e.removeAttribute(wt?n:r)}}),yt={set:function(e,t,n){return!1===t?d.removeAttr(e,n):Tt&&wt||!bt.test(n)?e.setAttribute(!wt&&d.propFix[n]||n,n):e[d.camelCase("default-"+n)]=e[n]=!0,n}},d.each(d.expr.match.bool.source.match(/\w+/g),function(e,t){var n=xt[t]||d.find.attr;Tt&&wt||!bt.test(t)?xt[t]=function(e,t,r){var i,o;return r||(o=xt[t],xt[t]=i,i=null!=n(e,t,r)?t.toLowerCase():null,xt[t]=o),i}:xt[t]=function(e,t,n){if(!n)return e[d.camelCase("default-"+t)]?t.toLowerCase():null}}),Tt&&wt||(d.attrHooks.value={set:function(e,t,n){if(!d.nodeName(e,"input"))return vt&&vt.set(e,t,n);e.defaultValue=t}}),wt||(vt={set:function(e,t,n){var r=e.getAttributeNode(n);if(r||e.setAttributeNode(r=e.ownerDocument.createAttribute(n)),r.value=t+="","value"===n||t===e.getAttribute(n))return t}},xt.id=xt.name=xt.coords=function(e,t,n){var r;if(!n)return(r=e.getAttributeNode(t))&&""!==r.value?r.value:null},d.valHooks.button={get:function(e,t){var n=e.getAttributeNode(t);if(n&&n.specified)return n.value},set:vt.set},d.attrHooks.contenteditable={set:function(e,t,n){vt.set(e,""!==t&&t,n)}},d.each(["width","height"],function(e,t){d.attrHooks[t]={set:function(e,n){if(""===n)return e.setAttribute(t,"auto"),n}}})),f.style||(d.attrHooks.style={get:function(e){return e.style.cssText||void 0},set:function(e,t){return e.style.cssText=t+""}});var Ct=/^(?:input|select|textarea|button|object)$/i,Et=/^(?:a|area)$/i;d.fn.extend({prop:function(e,t){return Q(this,d.prop,e,t,arguments.length>1)},removeProp:function(e){return e=d.propFix[e]||e,this.each(function(){try{this[e]=void 0,delete this[e]}catch(e){}})}}),d.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&d.isXMLDoc(e)||(t=d.propFix[t]||t,i=d.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=d.find.attr(e,"tabindex");return t?parseInt(t,10):Ct.test(e.nodeName)||Et.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),f.hrefNormalized||d.each(["href","src"],function(e,t){d.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}}),f.optSelected||(d.propHooks.selected={get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),d.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){d.propFix[this.toLowerCase()]=this}),f.enctype||(d.propFix.enctype="encoding");var Nt=/[\t\r\n\f]/g;function kt(e){return d.attr(e,"class")||""}d.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,u=0;if(d.isFunction(e))return this.each(function(t){d(this).addClass(e.call(this,t,kt(this)))});if("string"==typeof e&&e)for(t=e.match(H)||[];n=this[u++];)if(i=kt(n),r=1===n.nodeType&&(" "+i+" ").replace(Nt," ")){for(a=0;o=t[a++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=d.trim(r))&&d.attr(n,"class",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,u=0;if(d.isFunction(e))return this.each(function(t){d(this).removeClass(e.call(this,t,kt(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof e&&e)for(t=e.match(H)||[];n=this[u++];)if(i=kt(n),r=1===n.nodeType&&(" "+i+" ").replace(Nt," ")){for(a=0;o=t[a++];)for(;r.indexOf(" "+o+" ")>-1;)r=r.replace(" "+o+" "," ");i!==(s=d.trim(r))&&d.attr(n,"class",s)}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):d.isFunction(e)?this.each(function(n){d(this).toggleClass(e.call(this,n,kt(this),t),t)}):this.each(function(){var t,r,i,o;if("string"===n)for(r=0,i=d(this),o=e.match(H)||[];t=o[r++];)i.hasClass(t)?i.removeClass(t):i.addClass(t);else void 0!==e&&"boolean"!==n||((t=kt(this))&&d._data(this,"__className__",t),d.attr(this,"class",t||!1===e?"":d._data(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+kt(n)+" ").replace(Nt," ").indexOf(t)>-1)return!0;return!1}}),d.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){d.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),d.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}});var St=e.location,At=d.now(),Dt=/\?/,jt=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;d.parseJSON=function(t){if(e.JSON&&e.JSON.parse)return e.JSON.parse(t+"");var n,r=null,i=d.trim(t+"");return i&&!d.trim(i.replace(jt,function(e,t,i,o){return n&&t&&(r=0),0===r?e:(n=i||t,r+=!o-!i,"")}))?Function("return "+i)():d.error("Invalid JSON: "+t)},d.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{e.DOMParser?n=(new e.DOMParser).parseFromString(t,"text/xml"):((n=new e.ActiveXObject("Microsoft.XMLDOM")).async="false",n.loadXML(t))}catch(e){n=void 0}return n&&n.documentElement&&!n.getElementsByTagName("parsererror").length||d.error("Invalid XML: "+t),n};var Lt=/#.*$/,Ht=/([?&])_=[^&]*/,qt=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,_t=/^(?:GET|HEAD)$/,Ft=/^\/\//,Mt=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Ot={},Rt={},Pt="*/".concat("*"),Bt=St.href,Wt=Mt.exec(Bt.toLowerCase())||[];function It(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(H)||[];if(d.isFunction(n))for(;r=o[i++];)"+"===r.charAt(0)?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function $t(e,t,n,r){var i={},o=e===Rt;function a(s){var u;return i[s]=!0,d.each(e[s]||[],function(e,s){var l=s(t,n,r);return"string"!=typeof l||o||i[l]?o?!(u=l):void 0:(t.dataTypes.unshift(l),a(l),!1)}),u}return a(t.dataTypes[0])||!i["*"]&&a("*")}function zt(e,t){var n,r,i=d.ajaxSettings.flatOptions||{};for(r in t)void 0!==t[r]&&((i[r]?e:n||(n={}))[r]=t[r]);return n&&d.extend(!0,e,n),e}function Xt(e){return e.style&&e.style.display||d.css(e,"display")}d.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Bt,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Wt[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Pt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":d.parseJSON,"text xml":d.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,d.ajaxSettings),t):zt(d.ajaxSettings,e)},ajaxPrefilter:It(Ot),ajaxTransport:It(Rt),ajax:function(t,n){"object"==typeof t&&(n=t,t=void 0),n=n||{};var r,i,o,a,s,u,l,c,f=d.ajaxSetup({},n),p=f.context||f,h=f.context&&(p.nodeType||p.jquery)?d(p):d.event,g=d.Deferred(),m=d.Callbacks("once memory"),v=f.statusCode||{},y={},x={},b=0,w="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(2===b){if(!c)for(c={};t=qt.exec(a);)c[t[1].toLowerCase()]=t[2];t=c[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===b?a:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return b||(e=x[n]=x[n]||e,y[e]=t),this},overrideMimeType:function(e){return b||(f.mimeType=e),this},statusCode:function(e){var t;if(e)if(b<2)for(t in e)v[t]=[v[t],e[t]];else T.always(e[T.status]);return this},abort:function(e){var t=e||w;return l&&l.abort(t),C(0,t),this}};if(g.promise(T).complete=m.add,T.success=T.done,T.error=T.fail,f.url=((t||f.url||Bt)+"").replace(Lt,"").replace(Ft,Wt[1]+"//"),f.type=n.method||n.type||f.method||f.type,f.dataTypes=d.trim(f.dataType||"*").toLowerCase().match(H)||[""],null==f.crossDomain&&(r=Mt.exec(f.url.toLowerCase()),f.crossDomain=!(!r||r[1]===Wt[1]&&r[2]===Wt[2]&&(r[3]||("http:"===r[1]?"80":"443"))===(Wt[3]||("http:"===Wt[1]?"80":"443")))),f.data&&f.processData&&"string"!=typeof f.data&&(f.data=d.param(f.data,f.traditional)),$t(Ot,f,n,T),2===b)return T;for(i in(u=d.event&&f.global)&&0==d.active++&&d.event.trigger("ajaxStart"),f.type=f.type.toUpperCase(),f.hasContent=!_t.test(f.type),o=f.url,f.hasContent||(f.data&&(o=f.url+=(Dt.test(o)?"&":"?")+f.data,delete f.data),!1===f.cache&&(f.url=Ht.test(o)?o.replace(Ht,"$1_="+At++):o+(Dt.test(o)?"&":"?")+"_="+At++)),f.ifModified&&(d.lastModified[o]&&T.setRequestHeader("If-Modified-Since",d.lastModified[o]),d.etag[o]&&T.setRequestHeader("If-None-Match",d.etag[o])),(f.data&&f.hasContent&&!1!==f.contentType||n.contentType)&&T.setRequestHeader("Content-Type",f.contentType),T.setRequestHeader("Accept",f.dataTypes[0]&&f.accepts[f.dataTypes[0]]?f.accepts[f.dataTypes[0]]+("*"!==f.dataTypes[0]?", "+Pt+"; q=0.01":""):f.accepts["*"]),f.headers)T.setRequestHeader(i,f.headers[i]);if(f.beforeSend&&(!1===f.beforeSend.call(p,T,f)||2===b))return T.abort();for(i in w="abort",{success:1,error:1,complete:1})T[i](f[i]);if(l=$t(Rt,f,n,T)){if(T.readyState=1,u&&h.trigger("ajaxSend",[T,f]),2===b)return T;f.async&&f.timeout>0&&(s=e.setTimeout(function(){T.abort("timeout")},f.timeout));try{b=1,l.send(y,C)}catch(e){if(!(b<2))throw e;C(-1,e)}}else C(-1,"No Transport");function C(t,n,r,i){var c,y,x,w,C,E=n;2!==b&&(b=2,s&&e.clearTimeout(s),l=void 0,a=i||"",T.readyState=t>0?4:0,c=t>=200&&t<300||304===t,r&&(w=function(e,t,n){for(var r,i,o,a,s=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===i&&(i=e.mimeType||t.getResponseHeader("Content-Type"));if(i)for(a in s)if(s[a]&&s[a].test(i)){u.unshift(a);break}if(u[0]in n)o=u[0];else{for(a in n){if(!u[0]||e.converters[a+" "+u[0]]){o=a;break}r||(r=a)}o=o||r}if(o)return o!==u[0]&&u.unshift(o),n[o]}(f,T,r)),w=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];for(o=c.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e.throws)t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(f,w,T,c),c?(f.ifModified&&((C=T.getResponseHeader("Last-Modified"))&&(d.lastModified[o]=C),(C=T.getResponseHeader("etag"))&&(d.etag[o]=C)),204===t||"HEAD"===f.type?E="nocontent":304===t?E="notmodified":(E=w.state,y=w.data,c=!(x=w.error))):(x=E,!t&&E||(E="error",t<0&&(t=0))),T.status=t,T.statusText=(n||E)+"",c?g.resolveWith(p,[y,E,T]):g.rejectWith(p,[T,E,x]),T.statusCode(v),v=void 0,u&&h.trigger(c?"ajaxSuccess":"ajaxError",[T,f,c?y:x]),m.fireWith(p,[T,E]),u&&(h.trigger("ajaxComplete",[T,f]),--d.active||d.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return d.get(e,t,n,"json")},getScript:function(e,t){return d.get(e,void 0,t,"script")}}),d.each(["get","post"],function(e,t){d[t]=function(e,n,r,i){return d.isFunction(n)&&(i=i||r,r=n,n=void 0),d.ajax(d.extend({url:e,type:t,dataType:i,data:n,success:r},d.isPlainObject(e)&&e))}}),d._evalUrl=function(e){return d.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,throws:!0})},d.fn.extend({wrapAll:function(e){if(d.isFunction(e))return this.each(function(t){d(this).wrapAll(e.call(this,t))});if(this[0]){var t=d(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstChild&&1===e.firstChild.nodeType;)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return d.isFunction(e)?this.each(function(t){d(this).wrapInner(e.call(this,t))}):this.each(function(){var t=d(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=d.isFunction(e);return this.each(function(n){d(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){d.nodeName(this,"body")||d(this).replaceWith(this.childNodes)}).end()}}),d.expr.filters.hidden=function(e){return f.reliableHiddenOffsets()?e.offsetWidth<=0&&e.offsetHeight<=0&&!e.getClientRects().length:function(e){if(!d.contains(e.ownerDocument||r,e))return!0;for(;e&&1===e.nodeType;){if("none"===Xt(e)||"hidden"===e.type)return!0;e=e.parentNode}return!1}(e)},d.expr.filters.visible=function(e){return!d.expr.filters.hidden(e)};var Ut=/%20/g,Vt=/\[\]$/,Yt=/\r?\n/g,Jt=/^(?:submit|button|image|reset|file)$/i,Gt=/^(?:input|select|textarea|keygen)/i;function Qt(e,t,n,r){var i;if(d.isArray(t))d.each(t,function(t,i){n||Vt.test(e)?r(e,i):Qt(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)});else if(n||"object"!==d.type(t))r(e,t);else for(i in t)Qt(e+"["+i+"]",t[i],n,r)}d.param=function(e,t){var n,r=[],i=function(e,t){t=d.isFunction(t)?t():null==t?"":t,r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(void 0===t&&(t=d.ajaxSettings&&d.ajaxSettings.traditional),d.isArray(e)||e.jquery&&!d.isPlainObject(e))d.each(e,function(){i(this.name,this.value)});else for(n in e)Qt(n,e[n],t,i);return r.join("&").replace(Ut,"+")},d.fn.extend({serialize:function(){return d.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=d.prop(this,"elements");return e?d.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!d(this).is(":disabled")&&Gt.test(this.nodeName)&&!Jt.test(e)&&(this.checked||!K.test(e))}).map(function(e,t){var n=d(this).val();return null==n?null:d.isArray(n)?d.map(n,function(e){return{name:t.name,value:e.replace(Yt,"\r\n")}}):{name:t.name,value:n.replace(Yt,"\r\n")}}).get()}}),d.ajaxSettings.xhr=void 0!==e.ActiveXObject?function(){return this.isLocal?nn():r.documentMode>8?tn():/^(get|post|head|put|delete|options)$/i.test(this.type)&&tn()||nn()}:tn;var Kt=0,Zt={},en=d.ajaxSettings.xhr();function tn(){try{return new e.XMLHttpRequest}catch(e){}}function nn(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(e){}}e.attachEvent&&e.attachEvent("onunload",function(){for(var e in Zt)Zt[e](void 0,!0)}),f.cors=!!en&&"withCredentials"in en,(en=f.ajax=!!en)&&d.ajaxTransport(function(t){var n;if(!t.crossDomain||f.cors)return{send:function(r,i){var o,a=t.xhr(),s=++Kt;if(a.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(o in t.xhrFields)a[o]=t.xhrFields[o];for(o in t.mimeType&&a.overrideMimeType&&a.overrideMimeType(t.mimeType),t.crossDomain||r["X-Requested-With"]||(r["X-Requested-With"]="XMLHttpRequest"),r)void 0!==r[o]&&a.setRequestHeader(o,r[o]+"");a.send(t.hasContent&&t.data||null),n=function(e,r){var o,u,l;if(n&&(r||4===a.readyState))if(delete Zt[s],n=void 0,a.onreadystatechange=d.noop,r)4!==a.readyState&&a.abort();else{l={},o=a.status,"string"==typeof a.responseText&&(l.text=a.responseText);try{u=a.statusText}catch(e){u=""}o||!t.isLocal||t.crossDomain?1223===o&&(o=204):o=l.text?200:404}l&&i(o,u,l,a.getAllResponseHeaders())},t.async?4===a.readyState?e.setTimeout(n):a.onreadystatechange=Zt[s]=n:n()},abort:function(){n&&n(void 0,!0)}}}),d.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return d.globalEval(e),e}}}),d.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),d.ajaxTransport("script",function(e){if(e.crossDomain){var t,n=r.head||d("head")[0]||r.documentElement;return{send:function(i,o){(t=r.createElement("script")).async=!0,e.scriptCharset&&(t.charset=e.scriptCharset),t.src=e.url,t.onload=t.onreadystatechange=function(e,n){(n||!t.readyState||/loaded|complete/.test(t.readyState))&&(t.onload=t.onreadystatechange=null,t.parentNode&&t.parentNode.removeChild(t),t=null,n||o(200,"success"))},n.insertBefore(t,n.firstChild)},abort:function(){t&&t.onload(void 0,!0)}}}});var rn=[],on=/(=)\?(?=&|$)|\?\?/;d.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=rn.pop()||d.expando+"_"+At++;return this[e]=!0,e}}),d.ajaxPrefilter("json jsonp",function(t,n,r){var i,o,a,s=!1!==t.jsonp&&(on.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&on.test(t.data)&&"data");if(s||"jsonp"===t.dataTypes[0])return i=t.jsonpCallback=d.isFunction(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,s?t[s]=t[s].replace(on,"$1"+i):!1!==t.jsonp&&(t.url+=(Dt.test(t.url)?"&":"?")+t.jsonp+"="+i),t.converters["script json"]=function(){return a||d.error(i+" was not called"),a[0]},t.dataTypes[0]="json",o=e[i],e[i]=function(){a=arguments},r.always(function(){void 0===o?d(e).removeProp(i):e[i]=o,t[i]&&(t.jsonpCallback=n.jsonpCallback,rn.push(i)),a&&d.isFunction(o)&&o(a[0]),a=o=void 0}),"script"}),d.parseHTML=function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||r;var i=T.exec(e),o=!n&&[];return i?[t.createElement(i[1])]:(i=ce([e],t,o),o&&o.length&&d(o).remove(),d.merge([],i.childNodes))};var an=d.fn.load;function sn(e){return d.isWindow(e)?e:9===e.nodeType&&(e.defaultView||e.parentWindow)}d.fn.load=function(e,t,n){if("string"!=typeof e&&an)return an.apply(this,arguments);var r,i,o,a=this,s=e.indexOf(" ");return s>-1&&(r=d.trim(e.slice(s,e.length)),e=e.slice(0,s)),d.isFunction(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),a.length>0&&d.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?d("
").append(d.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},d.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){d.fn[t]=function(e){return this.on(t,e)}}),d.expr.filters.animated=function(e){return d.grep(d.timers,function(t){return e===t.elem}).length},d.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=d.css(e,"position"),c=d(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=d.css(e,"top"),u=d.css(e,"left"),("absolute"===l||"fixed"===l)&&d.inArray("auto",[o,u])>-1?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),d.isFunction(t)&&(t=t.call(e,n,d.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},d.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){d.offset.setOffset(this,e,t)});var t,n,r={top:0,left:0},i=this[0],o=i&&i.ownerDocument;return o?(t=o.documentElement,d.contains(t,i)?(void 0!==i.getBoundingClientRect&&(r=i.getBoundingClientRect()),n=sn(o),{top:r.top+(n.pageYOffset||t.scrollTop)-(t.clientTop||0),left:r.left+(n.pageXOffset||t.scrollLeft)-(t.clientLeft||0)}):r):void 0},position:function(){if(this[0]){var e,t,n={top:0,left:0},r=this[0];return"fixed"===d.css(r,"position")?t=r.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),d.nodeName(e[0],"html")||(n=e.offset()),n.top+=d.css(e[0],"borderTopWidth",!0),n.left+=d.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-d.css(r,"marginTop",!0),left:t.left-n.left-d.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&!d.nodeName(e,"html")&&"static"===d.css(e,"position");)e=e.offsetParent;return e||Ie})}}),d.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n=/Y/.test(t);d.fn[e]=function(r){return Q(this,function(e,r,i){var o=sn(e);if(void 0===i)return o?t in o?o[t]:o.document.documentElement[r]:e[r];o?o.scrollTo(n?d(o).scrollLeft():i,n?i:d(o).scrollTop()):e[r]=i},e,r,arguments.length,null)}}),d.each(["top","left"],function(e,t){d.cssHooks[t]=Ue(f.pixelPosition,function(e,n){if(n)return n=ze(e,t),Be.test(n)?d(e).position()[t]+"px":n})}),d.each({Height:"height",Width:"width"},function(e,t){d.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){d.fn[r]=function(r,i){var o=arguments.length&&(n||"boolean"!=typeof r),a=n||(!0===r||!0===i?"margin":"border");return Q(this,function(t,n,r){var i;return d.isWindow(t)?t.document.documentElement["client"+e]:9===t.nodeType?(i=t.documentElement,Math.max(t.body["scroll"+e],i["scroll"+e],t.body["offset"+e],i["offset"+e],i["client"+e])):void 0===r?d.css(t,n,a):d.style(t,n,r,a)},t,o?r:void 0,o,null)}})}),d.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),d.fn.size=function(){return this.length},d.fn.andSelf=d.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return d});var un=e.jQuery,ln=e.$;return d.noConflict=function(t){return e.$===d&&(e.$=ln),t&&e.jQuery===d&&(e.jQuery=un),d},t||(e.jQuery=e.$=d),d}); - -// Snap this specific version of jQuery into H5P. jQuery.noConflict will -// revert the globals to what they were before this file was loaded. +/*! jQuery v3.5.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.5.1",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,j=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function qe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Le(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function He(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=$e(y.pixelPosition,function(e,t){if(t)return t=Be(e,n),Me.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0.h5p-hub-form-element:first-child,.h5p-hub-registration .h5p-hub-step-content>.h5p-hub-form-element:first-child{padding-top:0}.h5p-hub-publish .h5p-hub-step-content>.h5p-hub-form-element:last-child,.h5p-hub-registration .h5p-hub-step-content>.h5p-hub-form-element:last-child{padding-bottom:0} + +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ + +/* Document + ========================================================================== */ + +/** + * 1. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in iOS. + */ + +html { + line-height: 1.15; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ +} + +/* Sections + ========================================================================== */ + +/** + * Remove the margin in all browsers. + */ + +body { + margin: 0; +} + +/** + * Render the `main` element consistently in IE. + */ + +main { + display: block; +} + +/** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/* Grouping content + ========================================================================== */ + +/** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ + +hr { + box-sizing: content-box; /* 1 */ + height: 0; /* 1 */ + overflow: visible; /* 2 */ +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +pre { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/* Text-level semantics + ========================================================================== */ + +/** + * Remove the gray background on active links in IE 10. + */ + +a { + background-color: transparent; +} + +/** + * 1. Remove the bottom border in Chrome 57- + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. + */ + +abbr[title] { + border-bottom: none; /* 1 */ + text-decoration: underline; /* 2 */ + text-decoration: underline dotted; /* 2 */ +} + +/** + * Add the correct font weight in Chrome, Edge, and Safari. + */ + +b, +strong { + font-weight: bolder; +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +code, +kbd, +samp { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/** + * Add the correct font size in all browsers. + */ + +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* Embedded content + ========================================================================== */ + +/** + * Remove the border on images inside links in IE 10. + */ + +img { + border-style: none; +} + +/* Forms + ========================================================================== */ + +/** + * 1. Change the font styles in all browsers. + * 2. Remove the margin in Firefox and Safari. + */ + +button, +input, +optgroup, +select, +textarea { + font-family: inherit; /* 1 */ + font-size: 100%; /* 1 */ + line-height: 1.15; /* 1 */ + margin: 0; /* 2 */ +} + +/** + * Show the overflow in IE. + * 1. Show the overflow in Edge. + */ + +button, +input { /* 1 */ + overflow: visible; +} + +/** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ + +button, +select { /* 1 */ + text-transform: none; +} + +/** + * Correct the inability to style clickable types in iOS and Safari. + */ + +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +/** + * Remove the inner border and padding in Firefox. + */ + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; +} + +/** + * Restore the focus styles unset by the previous rule. + */ + +button:-moz-focusring, +[type="button"]:-moz-focusring, +[type="reset"]:-moz-focusring, +[type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText; +} + +/** + * Correct the padding in Firefox. + */ + +fieldset { + padding: 0.35em 0.75em 0.625em; +} + +/** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ + +legend { + box-sizing: border-box; /* 1 */ + color: inherit; /* 2 */ + display: table; /* 1 */ + max-width: 100%; /* 1 */ + padding: 0; /* 3 */ + white-space: normal; /* 1 */ +} + +/** + * Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ + +progress { + vertical-align: baseline; +} + +/** + * Remove the default vertical scrollbar in IE 10+. + */ + +textarea { + overflow: auto; +} + +/** + * 1. Add the correct box sizing in IE 10. + * 2. Remove the padding in IE 10. + */ + +[type="checkbox"], +[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ + +[type="search"] { + -webkit-appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ +} + +/** + * Remove the inner padding in Chrome and Safari on macOS. + */ + +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ + +::-webkit-file-upload-button { + -webkit-appearance: button; /* 1 */ + font: inherit; /* 2 */ +} + +/* Interactive + ========================================================================== */ + +/* + * Add the correct display in Edge, IE 10+, and Firefox. + */ + +details { + display: block; +} + +/* + * Add the correct display in all browsers. + */ + +summary { + display: list-item; +} + +/* Misc + ========================================================================== */ + +/** + * Add the correct display in IE 10+. + */ + +template { + display: none; +} + +/** + * Add the correct display in IE 10. + */ + +[hidden] { + display: none; +} + +@keyframes spinner{0%{transform:translate3d(-50%, -50%, 0) rotate(0deg)}100%{transform:translate3d(-50%, -50%, 0) rotate(360deg)}}.h5p-hub-publish,.h5p-hub-registration-wrapper{position:relative;margin:2em auto;max-width:1024px;border:1px solid #2c9586;border-radius:0.167em;box-sizing:border-box;box-shadow:0px 0px 20px rgba(0,0,0,0.1);font-family:Nunito, sans-serif;font-size:16px;padding-top:0.25em}.h5p-hub-publish .h5p-hub-header,.h5p-hub-registration-wrapper .h5p-hub-header{padding:1.5em;display:flex;align-items:center;width:100%;box-sizing:border-box;border-bottom:1px solid #d5d5d7;border-bottom-color:#e2e5ee}.h5p-hub-publish .h5p-hub-header .h5p-hub-title,.h5p-hub-registration-wrapper .h5p-hub-header .h5p-hub-title{font-size:1.458em;flex-grow:1;color:black;padding-left:1em}.h5p-hub-publish .h5p-hub-step-panel,.h5p-hub-registration-wrapper .h5p-hub-step-panel{margin:2em;border-radius:0.208em;border:1px solid #e2e5ee}.h5p-hub-publish .h5p-hub-step-title,.h5p-hub-registration-wrapper .h5p-hub-step-title{color:#1a1a1a;font-size:1.250em;font-weight:bold;border-bottom:1px solid #ccc;padding:1.2em 1.8em;line-height:normal;border-bottom-color:#e2e5ee}.h5p-hub-publish .h5p-hub-step-content,.h5p-hub-registration-wrapper .h5p-hub-step-content{padding:2em}.h5p-hub-publish .h5p-hub-footer,.h5p-hub-registration-wrapper .h5p-hub-footer{padding:0 2em 2em;width:100%;box-sizing:border-box;position:relative}.h5p-hub-publish .h5p-hub-footer .h5p-hub-navigation,.h5p-hub-registration-wrapper .h5p-hub-footer .h5p-hub-navigation{display:flex}.h5p-hub-publish .h5p-hub-footer .h5p-hub-navigation button,.h5p-hub-registration-wrapper .h5p-hub-footer .h5p-hub-navigation button{z-index:1}.h5p-hub-publish .h5p-hub-footer .h5p-hub-navigation button:before,.h5p-hub-registration-wrapper .h5p-hub-footer .h5p-hub-navigation button:before{font-family:'h5p';font-size:0.75em;content:"\e91a";transform:rotate(180deg);display:inline-block;margin-right:0.75em;line-height:1;position:relative;top:-0.1em}.h5p-hub-publish .h5p-hub-footer .h5p-hub-navigation .h5p-hub-back:before,.h5p-hub-registration-wrapper .h5p-hub-footer .h5p-hub-navigation .h5p-hub-back:before{transform:rotate(0)}.h5p-hub-publish .h5p-hub-footer .h5p-hub-navigation #h5p-hub-share-in-process::before,.h5p-hub-registration-wrapper .h5p-hub-footer .h5p-hub-navigation #h5p-hub-share-in-process::before{font-family:"h5p";font-size:0.75em;content:"\e928";animation:2s linear infinite spinner;top:0.5em;margin-left:0.55em}.h5p-hub-publish .h5p-hub-footer .h5p-hub-navigation .h5p-hub-next,.h5p-hub-registration-wrapper .h5p-hub-footer .h5p-hub-navigation .h5p-hub-next{margin-left:auto}.h5p-hub-publish .h5p-hub-tip-text-field,.h5p-hub-registration-wrapper .h5p-hub-tip-text-field{top:1.5em}.h5p-hub-publish .h5p-hub-hare-error,.h5p-hub-registration-wrapper .h5p-hub-hare-error{padding:0 2em 2em;text-align:end}.h5p-hub-publish .h5p-hub-bold,.h5p-hub-registration-wrapper .h5p-hub-bold{font-weight:bold}.h5p-hub-publish .h5p-hub-row,.h5p-hub-registration-wrapper .h5p-hub-row{display:flex;flex-wrap:wrap;margin-right:-1em}.h5p-hub-publish .h5p-hub-row .h5p-hub-form-element,.h5p-hub-registration-wrapper .h5p-hub-row .h5p-hub-form-element{flex-basis:100%;flex:1;min-width:17em;align-self:flex-end;border-right:1em solid #ffffff}@media (max-width: 576px){.h5p-hub-publish .h5p-hub-row .h5p-hub-form-element,.h5p-hub-registration-wrapper .h5p-hub-row .h5p-hub-form-element{min-width:calc(100% - 1em)}}.h5p-hub-publish .h5p-hub-columns,.h5p-hub-registration-wrapper .h5p-hub-columns{display:flex;margin-right:-1em}@media (max-width: 576px){.h5p-hub-publish .h5p-hub-columns,.h5p-hub-registration-wrapper .h5p-hub-columns{flex-wrap:wrap}}.h5p-hub-publish .h5p-hub-columns .h5p-hub-column,.h5p-hub-registration-wrapper .h5p-hub-columns .h5p-hub-column{width:50%;border-right:1em solid #ffffff}@media (max-width: 576px){.h5p-hub-publish .h5p-hub-columns .h5p-hub-column,.h5p-hub-registration-wrapper .h5p-hub-columns .h5p-hub-column{width:100%;margin-right:0}}.h5p-hub-publish .h5p-hub-sharing-note,.h5p-hub-registration-wrapper .h5p-hub-sharing-note{text-align:center;color:#707475;width:calc(100% - 4.9em);position:absolute;top:0.65em;box-sizing:border-box;padding:0 9em}.h5p-hub-publish .h5p-hub-sharing-note .h5p-hub-icon-info:before,.h5p-hub-registration-wrapper .h5p-hub-sharing-note .h5p-hub-icon-info:before{font-size:0.5em;display:inline-block;margin-right:1em;background:#d1d7e3;padding:0.4em;border-radius:50%;position:relative;top:-0.25em}.h5p-hub-publish .h5p-hub-sr-only,.h5p-hub-registration-wrapper .h5p-hub-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.h5p-hub-publish [class^="h5p-hub-icon-"],.h5p-hub-publish [class*=" h5p-hub-icon-"],.h5p-hub-registration-wrapper [class^="h5p-hub-icon-"],.h5p-hub-registration-wrapper [class*=" h5p-hub-icon-"]{font-family:'h5p' !important;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.h5p-hub-publish .h5p-hub-icon-dropdown:before,.h5p-hub-registration-wrapper .h5p-hub-icon-dropdown:before{content:"\e925"}.h5p-hub-publish .h5p-hub-icon-info:before,.h5p-hub-registration-wrapper .h5p-hub-icon-info:before{content:"\e93c"}.h5p-hub-publish .h5p-hub-icon-thick-arrow:before,.h5p-hub-registration-wrapper .h5p-hub-icon-thick-arrow:before{content:"\e91a"}.h5p-hub-publish .h5p-hub-icon-check:before,.h5p-hub-registration-wrapper .h5p-hub-icon-check:before{content:"\e933"}.h5p-hub-publish .h5p-hub-icon-close:before,.h5p-hub-registration-wrapper .h5p-hub-icon-close:before{content:"\e93a"}.h5p-hub-publish .h5p-hub-icon-plus:before,.h5p-hub-registration-wrapper .h5p-hub-icon-plus:before{content:"\e939"}.h5p-hub-publish button,.h5p-hub-registration-wrapper button{font-size:.917em;border-width:.125em;border-radius:.208em;padding:.833em 1.65em;background:#fff;color:#3c4859;font-family:Nunito, sans-serif;outline:none;transition:all 0.1s}.h5p-hub-publish button:hover,.h5p-hub-registration-wrapper button:hover{color:#3c4859;background:#e2e5ee;border-color:#e2e5ee}.h5p-hub-registration-wrapper{border:none}.h5p-hub-publish{border:1px solid #e2e5ee}.h5p-hub-share-error{margin:2em} + +.h5p-hub-registration .h5p-hub-message-header{font-weight:bold;font-size:1.042em;font-family:'Open Sans', sans-serif}.h5p-hub-registration .h5p-hub-message-description{margin-top:0.5em;font-size:0.833em;font-family:'Open Sans', sans-serif}.h5p-hub-registration .h5p-hub-message-description a{margin-left:0.3em;color:#000}.h5p-hub-registration .h5p-hub-email-address{display:flex;flex-direction:column;justify-content:flex-end}.h5p-hub-registration .h5p-hub-publisher-description{height:10em}.h5p-hub-registration .h5p-hub-logo-upload-text{font-size:0.917em;color:#707475;margin-bottom:1em;margin-top:0.5em}.h5p-hub-registration .h5p-hub-text-field{max-height:10em;margin-top:1.5em}.h5p-hub-registration .h5p-hub-checkbox{margin-top:1.5em;font-weight:normal;font-size:.917em}.h5p-hub-registration .h5p-hub-register-hub{margin-left:1em;border:2px solid #186df7;background-color:#186df7;color:#fff}.h5p-hub-registration .h5p-hub-register-hub[disabled]{color:#aac3ec;border-color:#aac3ec;background-color:white;pointer-events:none}.h5p-hub-registration .h5p-hub-register-hub:hover{background-color:#2e46a4;border-color:#2e46a4;color:white}.h5p-hub-registration .h5p-hub-footer{display:flex;justify-content:flex-end} + +.h5p-hub-publish .h5p-hub-image-preview,.h5p-hub-registration .h5p-hub-image-preview{width:4em;height:3em;display:inline-block;background-position:center;background-size:contain;background-repeat:no-repeat;background-color:#d0d0d1} + +.h5p-hub-publish .h5p-hub-image-upload-container,.h5p-hub-registration .h5p-hub-image-upload-container{width:4em;height:3em;margin-right:1em;position:relative;display:flex}.h5p-hub-publish .h5p-hub-image-upload-container .h5p-hub-icon-close,.h5p-hub-registration .h5p-hub-image-upload-container .h5p-hub-icon-close{cursor:pointer;font-size:1em;border:none;outline:none;position:absolute;right:0;padding:0}.h5p-hub-publish .h5p-hub-image-upload-container .h5p-hub-icon-close::before,.h5p-hub-registration .h5p-hub-image-upload-container .h5p-hub-icon-close::before{font-size:0.6em;padding:0.5em;line-height:1.1;color:#fff;background:#000;position:absolute;z-index:1;display:inline-block;right:-1.2em;top:-1.2em;border:3px solid #fff;border-radius:50%;cursor:pointer;transition:all 0.3s}.h5p-hub-publish .h5p-hub-image-upload-container .h5p-hub-icon-close:hover::before,.h5p-hub-registration .h5p-hub-image-upload-container .h5p-hub-icon-close:hover::before{background:#eee;color:#000}.h5p-hub-publish .h5p-hub-image-upload-container .h5p-hub-icon-close:focus::before,.h5p-hub-registration .h5p-hub-image-upload-container .h5p-hub-icon-close:focus::before{outline:#000;outline-style:auto}.h5p-hub-publish .h5p-hub-image-upload-container .h5p-hub-image-upload,.h5p-hub-registration .h5p-hub-image-upload-container .h5p-hub-image-upload{position:absolute;top:0;left:0;width:100%;height:100%;text-align:center;transition:all 0.3s;border:0.125em dashed #bebdcd;color:#bebdcd}.h5p-hub-publish .h5p-hub-image-upload-container .h5p-hub-image-upload input,.h5p-hub-registration .h5p-hub-image-upload-container .h5p-hub-image-upload input{position:absolute;left:0;top:0;width:100%;height:100%;cursor:pointer;opacity:0}.h5p-hub-publish .h5p-hub-image-upload-container .h5p-hub-image-upload input::-webkit-file-upload-button,.h5p-hub-registration .h5p-hub-image-upload-container .h5p-hub-image-upload input::-webkit-file-upload-button{visibility:hidden}.h5p-hub-publish .h5p-hub-image-upload-container .h5p-hub-image-upload:hover,.h5p-hub-registration .h5p-hub-image-upload-container .h5p-hub-image-upload:hover{color:#777;border-color:#777}.h5p-hub-publish .h5p-hub-image-upload-container .h5p-hub-image-upload:before,.h5p-hub-registration .h5p-hub-image-upload-container .h5p-hub-image-upload:before{content:"+";font-size:2em;display:inline-block;position:relative;top:50%;transform:translateY(-50%)}.h5p-hub-publish .h5p-hub-image-upload-container .h5p-hub-image-upload.h5p-hub-image-selected,.h5p-hub-registration .h5p-hub-image-upload-container .h5p-hub-image-upload.h5p-hub-image-selected{border-style:solid;border-radius:0.1em}.h5p-hub-publish .h5p-hub-image-upload-container .h5p-hub-image-upload.h5p-hub-image-selected:before,.h5p-hub-registration .h5p-hub-image-upload-container .h5p-hub-image-upload.h5p-hub-image-selected:before{display:none} + +.h5p-hub-registration .h5p-hub-text-field{padding:1.5em;overflow:hidden;overflow-y:scroll;border:1px solid #bebdcd;border-radius:0.208em}.h5p-hub-registration .h5p-hub-text-field::-webkit-scrollbar{background-color:rgba(105,117,133,0.25);width:0.333em;border-radius:5.45256em}.h5p-hub-registration .h5p-hub-text-field::-webkit-scrollbar-thumb{background-color:#697585;background-size:24px 100%;border-radius:5.45256em}.h5p-hub-registration .h5p-hub-text-field .h5p-hub-title{color:#1a1a1a;font-size:1.250em;margin-bottom:0.5em}.h5p-hub-registration .h5p-hub-text-field .h5p-hub-description{color:#707475;font-size:0.833em;margin-bottom:1.5em}.h5p-hub-registration .h5p-hub-text-field .h5p-hub-main-text{color:#707475;font-size:0.833em} + +.h5p-hub-registration .h5p-hub-checkbox{font-size:1.05em;padding:0.5em 0;font-weight:bold;display:flex;cursor:pointer;align-self:start;color:#4d5057;width:100%;position:relative}.h5p-hub-registration .h5p-hub-checkbox>input{visibility:hidden;position:absolute}.h5p-hub-registration .h5p-hub-checkbox:focus{box-shadow:0 0 0.4em 0.01em RGBA(26, 147, 244, 0.7);outline:none}.h5p-hub-registration .h5p-hub-checkbox .h5p-hub-icon:before{font-family:'h5p';content:'\e923';font-style:normal;font-weight:normal;font-size:1em;margin:0.4em 0.4em 0 0.4em;margin-right:1em}.h5p-hub-registration .h5p-hub-checkbox.h5p-hub-checked .h5p-hub-icon:before{content:'\e938';font-family:'h5p';font-style:normal;font-weight:normal;font-size:1em;margin:0.4em 0.4em 0 0.4em;margin-right:1em} + +.h5p-hub-publish .h5p-hub-message,.h5p-hub-registration .h5p-hub-message{font-size:1em;border-left:0.3em solid;padding:1em;margin:0.5em 0}.h5p-hub-publish .h5p-hub-message.h5p-hub-warning,.h5p-hub-registration .h5p-hub-message.h5p-hub-warning{border-color:#fdcc31;background:#fff8e0}.h5p-hub-publish .h5p-hub-message.h5p-hub-error,.h5p-hub-registration .h5p-hub-message.h5p-hub-error{border-color:#c1494b;background-color:#ece0e0;color:#c1494b}.h5p-hub-publish .h5p-hub-message.h5p-hub-success,.h5p-hub-registration .h5p-hub-message.h5p-hub-success{border-color:#03a953;background-color:#d9eae2} + diff --git a/h5p/h5plib/v124/joubel/core/styles/h5p-hub-sharing.css b/h5p/h5plib/v124/joubel/core/styles/h5p-hub-sharing.css new file mode 100644 index 00000000000..c8d4910c48f --- /dev/null +++ b/h5p/h5plib/v124/joubel/core/styles/h5p-hub-sharing.css @@ -0,0 +1,401 @@ +@import url(https://fonts.googleapis.com/css?family=Open+Sans); +.h5p-hub-publish button,.h5p-hub-registration button{font-family:"Open Sans", sans-serif;font-size:0.75em;background:transparent;padding:0.75em 2em;color:#757575;border-radius:3em;border:1px solid #d6d6d6;cursor:pointer;font-weight:bold}.h5p-hub-publish button:before,.h5p-hub-registration button:before{font-weight:normal}.h5p-hub-publish button:hover,.h5p-hub-registration button:hover{color:#5f5f5f;border-color:#5f5f5f}.h5p-hub-publish button.h5p-hub-contained.h5p-hub-green,.h5p-hub-registration button.h5p-hub-contained.h5p-hub-green{background-color:#186df7;color:#fff;border-color:#186df7}.h5p-hub-publish button.h5p-hub-contained.h5p-hub-green:hover,.h5p-hub-registration button.h5p-hub-contained.h5p-hub-green:hover{background-color:#2e46a4;border-color:#2e46a4}.h5p-hub-publish button.h5p-hub-outlined.h5p-hub-green,.h5p-hub-registration button.h5p-hub-outlined.h5p-hub-green{border-width:0.125em;background-color:white;border-color:#186df7;color:#186df7}.h5p-hub-publish button.h5p-hub-outlined.h5p-hub-green:hover,.h5p-hub-registration button.h5p-hub-outlined.h5p-hub-green:hover{background-color:#186df7;border-color:#186df7;color:#ffffff}.h5p-hub-publish button.h5p-hub-outlined.h5p-hub-green[disabled],.h5p-hub-registration button.h5p-hub-outlined.h5p-hub-green[disabled]{color:#aac3ec;border-color:#aac3ec;background-color:white;pointer-events:none}.h5p-hub-publish .h5p-hub-navigation button{padding:0.833em;max-width:10.5em} + +.h5p-hub-publish .h5p-hub-stepper{display:flex;width:100%;max-width:40em;align-items:center;flex-direction:row;margin:2em auto;padding:0 2em;box-sizing:border-box}.h5p-hub-publish .h5p-hub-step-connector{flex-grow:1;margin-left:-2em;margin-right:-2em;position:relative;top:-0.6em}.h5p-hub-publish .h5p-hub-step-connector-line{display:block;border-top-style:solid;border-top-width:1px;border-color:#d5d5d7} + +.h5p-hub-publish .h5p-hub-step{text-align:center;font-weight:bold}.h5p-hub-publish .h5p-hub-step .h5p-hub-step-icon{color:#303030;border-radius:50%;border:0.462em solid #e1e1e1;width:3.2em;height:3.2em;line-height:2.276;display:inline-block;z-index:1;position:relative;background:#fff;box-sizing:border-box}.h5p-hub-publish .h5p-hub-step .h5p-hub-step-icon .h5p-hub-icon-check{line-height:2.276}.h5p-hub-publish .h5p-hub-step .h5p-hub-step-label{color:#757575;margin-top:0.5em;min-width:8em}.h5p-hub-publish .h5p-hub-step.h5p-hub-active{color:#20d2b2}.h5p-hub-publish .h5p-hub-step.h5p-hub-active .h5p-hub-step-icon{border-color:#1886f7;color:#186df7}.h5p-hub-publish .h5p-hub-step.h5p-hub-completed .h5p-hub-step-icon{background:#186df7;border-color:#609bff;color:#fff} + +.h5p-hub-publish .h5p-hub-form-element,.h5p-hub-registration .h5p-hub-form-element{font-family:Nunito, sans-serif;font-size:16px;padding:1em 0}.h5p-hub-publish .h5p-hub-form-element label,.h5p-hub-registration .h5p-hub-form-element label{display:block;margin-bottom:0.4em;font-weight:bold}.h5p-hub-publish .h5p-hub-form-element.h5p-hub-mandatory label:after,.h5p-hub-registration .h5p-hub-form-element.h5p-hub-mandatory label:after{content:'*';color:#d11e15;position:relative;top:-0.2em}.h5p-hub-publish .h5p-hub-form-element input,.h5p-hub-registration .h5p-hub-form-element input{border-radius:0.208em;width:100%;box-sizing:border-box;line-height:normal}.h5p-hub-publish .h5p-hub-form-element input::placeholder,.h5p-hub-registration .h5p-hub-form-element input::placeholder{font-style:italic}.h5p-hub-publish .h5p-hub-form-element .h5p-hub-description,.h5p-hub-registration .h5p-hub-form-element .h5p-hub-description{font-size:0.833em;color:#707475;margin:0 0 1em 0}.h5p-hub-publish .h5p-hub-form-element textarea,.h5p-hub-registration .h5p-hub-form-element textarea{resize:none;width:100%;border-radius:0.208em;box-sizing:border-box;line-height:1.25em}.h5p-hub-publish .h5p-hub-form-element textarea::-webkit-scrollbar,.h5p-hub-registration .h5p-hub-form-element textarea::-webkit-scrollbar{background-color:rgba(105,117,133,0.25);width:0.333em;border-radius:5.45256em}.h5p-hub-publish .h5p-hub-form-element textarea::-webkit-scrollbar-thumb,.h5p-hub-registration .h5p-hub-form-element textarea::-webkit-scrollbar-thumb{background-color:#697585;background-size:24px 100%;border-radius:5.45256em}.h5p-hub-publish .h5p-hub-form-element textarea::placeholder,.h5p-hub-registration .h5p-hub-form-element textarea::placeholder{font-style:italic}.h5p-hub-publish .h5p-hub-form-element .h5p-hub-link-button,.h5p-hub-registration .h5p-hub-form-element .h5p-hub-link-button{border:none;text-decoration:underline;text-align:right;align-self:flex-start;color:#186df7;font-size:.917em;font-weight:normal;padding:0}.h5p-hub-publish .h5p-hub-form-element .h5p-hub-details-row,.h5p-hub-registration .h5p-hub-form-element .h5p-hub-details-row{display:flex;align-content:center;align-items:center;justify-content:space-between}.h5p-hub-publish .h5p-hub-form-element textarea,.h5p-hub-publish .h5p-hub-form-element input,.h5p-hub-publish .h5p-hub-form-element select,.h5p-hub-registration .h5p-hub-form-element textarea,.h5p-hub-registration .h5p-hub-form-element input,.h5p-hub-registration .h5p-hub-form-element select{padding:.958em;border:2px solid #e2e5ee;box-shadow:none;color:#3c4859;font-family:Nunito, sans-serif}.h5p-hub-publish .h5p-hub-form-element textarea:focus,.h5p-hub-publish .h5p-hub-form-element input:focus,.h5p-hub-publish .h5p-hub-form-element select:focus,.h5p-hub-registration .h5p-hub-form-element textarea:focus,.h5p-hub-registration .h5p-hub-form-element input:focus,.h5p-hub-registration .h5p-hub-form-element select:focus{border-color:#98cbe8;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(152,203,232,0.6);outline:none}.h5p-hub-publish .h5p-hub-step-content>.h5p-hub-form-element:first-child,.h5p-hub-registration .h5p-hub-step-content>.h5p-hub-form-element:first-child{padding-top:0}.h5p-hub-publish .h5p-hub-step-content>.h5p-hub-form-element:last-child,.h5p-hub-registration .h5p-hub-step-content>.h5p-hub-form-element:last-child{padding-bottom:0} + +.h5p-hub-publish select{font-size:0.917em;border-radius:0.208em;padding:0.833em 2.334em 0.833em 0.833em;color:#313131;background-color:#ffffff;font-family:"Open Sans", sans-serif;border:1px solid #bebdcd;width:100%;-webkit-appearance:none;-moz-appearance:none;line-height:1.5}.h5p-hub-publish select:disabled{background-color:#ededed}.h5p-hub-publish select:disabled::before{content:"-"}.h5p-hub-publish select::-ms-expand{display:none}.h5p-hub-publish div.h5p-hub-icon-arrow-down{position:relative;line-height:1.1em;pointer-events:none}.h5p-hub-publish div.h5p-hub-icon-arrow-down:before{content:"\e925";transform:rotate(90deg);position:absolute;right:1.5em;top:1.9em;font-size:0.6em} + +.h5p-hub-publish .h5p-hub-modal-content{z-index:2;background-color:#ffffff;opacity:1;position:relative;margin:2em 3em;border-radius:0.167em;max-height:calc(100% - 4em);overflow:auto}.h5p-hub-publish .h5p-hub-modal-overlay{position:absolute;top:0;left:0px;right:0px;bottom:0px;background-color:rgba(0,0,0,0.7);z-index:2} + +.h5p-hub-hidden-read{width:1px;height:1px;top:-1px;position:absolute;text-indent:1px;overflow:hidden} + +.h5p-hub-publish .h5p-hub-tip{position:relative;display:block}.h5p-hub-publish .h5p-hub-tip.h5p-hub-positioned{position:unset}.h5p-hub-publish .h5p-hub-tip.h5p-hub-bottom .h5p-hub-tip-wrapper{top:115%}.h5p-hub-publish .h5p-hub-tip.h5p-hub-bottom .h5p-hub-tip-wrapper .h5p-hub-arrow:after{top:-0.75em;border-bottom-color:black;border-top-color:transparent}.h5p-hub-publish .h5p-hub-tip.h5p-hub-left-aligned .h5p-hub-tip-wrapper{transform:none;top:-0.85em;right:0}.h5p-hub-publish .h5p-hub-tip.h5p-hub-left-aligned .h5p-hub-tip-wrapper .h5p-hub-tip{white-space:normal}.h5p-hub-publish .h5p-hub-tip.h5p-hub-left-aligned .h5p-hub-tip-wrapper .h5p-hub-arrow:after{left:auto;transform:none;right:1.3em}.h5p-hub-publish .h5p-hub-tip .h5p-hub-tip-wrapper{display:none;position:absolute;top:-3.5em;font-size:14px;font-weight:400;color:white;border-radius:0.4em;z-index:2}.h5p-hub-publish .h5p-hub-tip .h5p-hub-tip-wrapper.h5p-hub-tip-wrapper-enter-done,.h5p-hub-publish .h5p-hub-tip .h5p-hub-tip-wrapper.h5p-hub-tip-wrapper-enter,.h5p-hub-publish .h5p-hub-tip .h5p-hub-tip-wrapper.h5p-hub-tip-wrapper-enter-active,.h5p-hub-publish .h5p-hub-tip .h5p-hub-tip-wrapper.h5p-hub-tip-wrapper-exit,.h5p-hub-publish .h5p-hub-tip .h5p-hub-tip-wrapper.h5p-hub-tip-wrapper-exit-active{display:block}.h5p-hub-publish .h5p-hub-tip .h5p-hub-tip-wrapper.h5p-hub-tip-wrapper-enter{transform:translate(0, 30%);opacity:0}.h5p-hub-publish .h5p-hub-tip .h5p-hub-tip-wrapper.h5p-hub-tip-wrapper-enter-active{transform:translate(0, 0);opacity:1;transition:opacity 0.2s, transform 0.2s}.h5p-hub-publish .h5p-hub-tip .h5p-hub-tip-wrapper.h5p-hub-tip-wrapper-exit{transform:translate(0, 0);opacity:1}.h5p-hub-publish .h5p-hub-tip .h5p-hub-tip-wrapper.h5p-hub-tip-wrapper-exit-active{transform:translate(0, 30%);opacity:0;transition:opacity 0.2s, transform 0.2s}.h5p-hub-publish .h5p-hub-tip .h5p-hub-tip-wrapper .h5p-hub-tip{white-space:nowrap;background:black;padding:0.3em 1em;border-radius:0.4em}.h5p-hub-publish .h5p-hub-tip .h5p-hub-tip-wrapper .h5p-hub-arrow:after{content:" ";position:absolute;left:50%;transform:translateX(-50%);pointer-events:none;border:0.4em solid transparent;border-top-color:black} + +.h5p-hub-publish .h5p-hub-accordion-heading{display:flex;align-items:center}.h5p-hub-publish .h5p-hub-accordion-heading .h5p-hub-icon-dropdown{font-size:0.4em;color:#616161;display:inline-block;left:0;display:flex;padding:0.2em}.h5p-hub-publish .h5p-hub-accordion-heading .h5p-hub-icon-dropdown.h5p-hub-open{transform:rotate(90deg)}.h5p-hub-publish .h5p-hub-accordion-button{border:none;position:relative;padding:0.2em;width:100%;justify-self:start;display:flex}.h5p-hub-publish .h5p-hub-accordion-button .h5p-hub-accordion-header{border:none;text-align:left;color:#616161}.h5p-hub-publish .h5p-hub-panel-body{font-size:0.833em;margin:0.8em;margin-bottom:0;color:#707475;overflow:hidden} + +.h5p-hub-publish .h5p-hub-dialog-header{padding:1.708em 2.292em;border-bottom:1px solid #d5d5d7}.h5p-hub-publish .h5p-hub-dialog-header .h5p-hub-dialog-description{font-size:0.833em;color:#707475}.h5p-hub-publish .h5p-hub-dialog-content{padding:1.708em 2.292em}.h5p-hub-publish .h5p-hub-dialog-title{display:flex;justify-content:space-between}.h5p-hub-publish .h5p-hub-dialog-title span{font-size:1.458em;color:#1a1a1a;margin-bottom:0.2em}.h5p-hub-publish .h5p-hub-dialog-title button{max-height:2.77em} + +.h5p-hub-publish .h5p-hub-chips-list{display:flex;list-style:none;padding:0;flex-wrap:wrap;margin:0 0 0.5em}.h5p-hub-publish .h5p-hub-chips-list li{margin:0}.h5p-hub-publish .h5p-hub-chips-list li button{border-radius:0.125em;margin-right:0.5em;margin-top:0.5em;font-style:italic;color:#000000;display:flex;align-items:center;outline:none;border-color:#e2e5ee;padding:0.5em;font-size:0.85em}.h5p-hub-publish .h5p-hub-chips-list li button .h5p-hub-icon-close{font-size:0.8em;margin-left:2em}.h5p-hub-publish .h5p-hub-chips-list li button:focus{background-color:#e8e8e8;border-color:#dddee2}.h5p-hub-publish .h5p-hub-chips-list li button:hover{background-color:#f5f5f5;border-color:#dddee2} + +.h5p-hub-publish .h5p-hub-keywords-input-wrapper{display:flex;align-items:center;border-radius:2em}.h5p-hub-publish .h5p-hub-keywords-input-wrapper .h5p-hub-add-button{position:absolute;right:4.5em;border-radius:1.5em;padding:0.5em 1em;margin-right:0.5em}.h5p-hub-publish .h5p-hub-keywords-input-wrapper .h5p-hub-add-button:focus{border-color:#3ba0f2}.h5p-hub-publish .h5p-hub-keywords-input-wrapper .h5p-hub-add-button.disabled{cursor:default;color:#d6d6d6}.h5p-hub-publish .h5p-hub-keywords-input-wrapper .h5p-hub-add-button.disabled:hover{background-color:transparent}.h5p-hub-publish .h5p-hub-tip-keywords{top:2.5em} + +.h5p-hub-publish .h5p-hub-image-preview,.h5p-hub-registration .h5p-hub-image-preview{width:4em;height:3em;display:inline-block;background-position:center;background-size:contain;background-repeat:no-repeat;background-color:#d0d0d1} + +.h5p-hub-publish .h5p-hub-image-upload-container,.h5p-hub-registration .h5p-hub-image-upload-container{width:4em;height:3em;margin-right:1em;position:relative;display:flex}.h5p-hub-publish .h5p-hub-image-upload-container .h5p-hub-icon-close,.h5p-hub-registration .h5p-hub-image-upload-container .h5p-hub-icon-close{cursor:pointer;font-size:1em;border:none;outline:none;position:absolute;right:0;padding:0}.h5p-hub-publish .h5p-hub-image-upload-container .h5p-hub-icon-close::before,.h5p-hub-registration .h5p-hub-image-upload-container .h5p-hub-icon-close::before{font-size:0.6em;padding:0.5em;line-height:1.1;color:#fff;background:#000;position:absolute;z-index:1;display:inline-block;right:-1.2em;top:-1.2em;border:3px solid #fff;border-radius:50%;cursor:pointer;transition:all 0.3s}.h5p-hub-publish .h5p-hub-image-upload-container .h5p-hub-icon-close:hover::before,.h5p-hub-registration .h5p-hub-image-upload-container .h5p-hub-icon-close:hover::before{background:#eee;color:#000}.h5p-hub-publish .h5p-hub-image-upload-container .h5p-hub-icon-close:focus::before,.h5p-hub-registration .h5p-hub-image-upload-container .h5p-hub-icon-close:focus::before{outline:#000;outline-style:auto}.h5p-hub-publish .h5p-hub-image-upload-container .h5p-hub-image-upload,.h5p-hub-registration .h5p-hub-image-upload-container .h5p-hub-image-upload{position:absolute;top:0;left:0;width:100%;height:100%;text-align:center;transition:all 0.3s;border:0.125em dashed #bebdcd;color:#bebdcd}.h5p-hub-publish .h5p-hub-image-upload-container .h5p-hub-image-upload input,.h5p-hub-registration .h5p-hub-image-upload-container .h5p-hub-image-upload input{position:absolute;left:0;top:0;width:100%;height:100%;cursor:pointer;opacity:0}.h5p-hub-publish .h5p-hub-image-upload-container .h5p-hub-image-upload input::-webkit-file-upload-button,.h5p-hub-registration .h5p-hub-image-upload-container .h5p-hub-image-upload input::-webkit-file-upload-button{visibility:hidden}.h5p-hub-publish .h5p-hub-image-upload-container .h5p-hub-image-upload:hover,.h5p-hub-registration .h5p-hub-image-upload-container .h5p-hub-image-upload:hover{color:#777;border-color:#777}.h5p-hub-publish .h5p-hub-image-upload-container .h5p-hub-image-upload:before,.h5p-hub-registration .h5p-hub-image-upload-container .h5p-hub-image-upload:before{content:"+";font-size:2em;display:inline-block;position:relative;top:50%;transform:translateY(-50%)}.h5p-hub-publish .h5p-hub-image-upload-container .h5p-hub-image-upload.h5p-hub-image-selected,.h5p-hub-registration .h5p-hub-image-upload-container .h5p-hub-image-upload.h5p-hub-image-selected{border-style:solid;border-radius:0.1em}.h5p-hub-publish .h5p-hub-image-upload-container .h5p-hub-image-upload.h5p-hub-image-selected:before,.h5p-hub-registration .h5p-hub-image-upload-container .h5p-hub-image-upload.h5p-hub-image-selected:before{display:none} + +.h5p-hub-publish .h5p-hub-optional .h5p-hub-keywords .h5p-hub-form-element label{margin-bottom:0.708em}.h5p-hub-publish .h5p-hub-optional .h5p-hub-form-screenshots{display:flex;flex-wrap:wrap;flex-direction:column}.h5p-hub-publish .h5p-hub-optional .h5p-hub-form-screenshots .h5p-hub-image-upload-container{margin-top:0.4em}.h5p-hub-publish .h5p-hub-optional .h5p-hub-form-screenshots .h5p-hub-row{margin-top:0.5em}.h5p-hub-publish .h5p-hub-optional .h5p-hub-form-screenshots .h5p-hub-row .h5p-hub-form-element{padding:0}.h5p-hub-publish .h5p-hub-optional .h5p-hub-form-screenshots .h5p-hub-alt-text{padding:0.3em}.h5p-hub-publish .h5p-hub-optional .h5p-hub-optional-second-part{display:flex}@media (max-width: 576px){.h5p-hub-publish .h5p-hub-optional .h5p-hub-optional-second-part{flex-wrap:wrap}}.h5p-hub-publish .h5p-hub-optional #h5p-hub-form-long-description{height:10.458em}.h5p-hub-publish .h5p-hub-optional #h5p-hub-form-short-description{height:6.333em} + +.h5p-hub-publish .h5p-hub-discipline-element,.h5p-hub-registration .h5p-hub-discipline-element{font-size:1.05em;padding:0.5em 0;font-weight:bold;display:flex;cursor:pointer;align-self:start;color:#4d5057;width:100%;position:relative}.h5p-hub-publish .h5p-hub-discipline-element .h5p-hub-checkbox-error-tip,.h5p-hub-registration .h5p-hub-discipline-element .h5p-hub-checkbox-error-tip{top:5em;position:absolute;margin-left:2.5em;z-index:1}.h5p-hub-publish .h5p-hub-discipline-element:last-child .h5p-hub-checkbox-error-tip,.h5p-hub-registration .h5p-hub-discipline-element:last-child .h5p-hub-checkbox-error-tip{top:2.5em}.h5p-hub-publish .h5p-hub-discipline-element:focus,.h5p-hub-registration .h5p-hub-discipline-element:focus{box-shadow:0 0 0.4em 0.01em RGBA(26, 147, 244, 0.7);outline:none}.h5p-hub-publish .h5p-hub-discipline-element.h5p-hub-parent::after,.h5p-hub-registration .h5p-hub-discipline-element.h5p-hub-parent::after{font-family:'h5p';content:'\e58e';transform:rotate(90deg);font-style:normal;font-size:1.1em;display:inline-block;align-self:center}.h5p-hub-publish .h5p-hub-discipline-element .h5p-hub-content,.h5p-hub-registration .h5p-hub-discipline-element .h5p-hub-content{display:flex;align-items:center;margin-left:0.5em}.h5p-hub-publish .h5p-hub-discipline-element .h5p-hub-bold,.h5p-hub-registration .h5p-hub-discipline-element .h5p-hub-bold{font-weight:bold}.h5p-hub-publish .h5p-hub-discipline-element .h5p-hub-non-bold,.h5p-hub-registration .h5p-hub-discipline-element .h5p-hub-non-bold{font-weight:normal} + +.h5p-hub-publish .h5p-hub-checkbox-list{list-style:none;padding:0;background-color:#ffffff}.h5p-hub-publish .h5p-hub-checkbox-list.h5p-hub-animate-in-right{animation:move-from-right 0.35s}.h5p-hub-publish .h5p-hub-checkbox-list.h5p-hub-animate-in-left{animation:move-from-left 0.35s}@keyframes move-from-right{0%{opacity:0;transform:translateX(30%)}30%{opacity:0}100%{opacity:1;transform:translateX(0)}}@keyframes move-from-left{0%{opacity:0;transform:translateX(-10%)}30%{opacity:0}100%{opacity:1;transform:translateX(0)}} + +.h5p-hub-publish .h5p-hub-bottom-line{border-bottom:2px solid #697585}.h5p-hub-publish .h5p-hub-category-header{background-color:#f2f2f2;color:#313131;font-style:italic;padding:0 0 0 0.9em;font-size:0.81788em} + +.h5p-hub-publish .h5p-hub-search-button{width:100%;position:relative}.h5p-hub-publish .h5p-hub-search-button .h5p-hub-search-field{position:relative;display:flex;align-items:center;justify-content:space-between}.h5p-hub-publish .h5p-hub-search-button .h5p-hub-search-field::before{content:"\e926";font-family:"h5p";font-style:normal;font-size:1em;margin-left:1.25em;color:#b7b8ba;position:absolute}.h5p-hub-publish .h5p-hub-search-button .h5p-hub-search-field .h5p-hub-icon-arrow{margin:1em;font-size:1.30353em;cursor:pointer;color:#000000;transform:rotate(90deg)}.h5p-hub-publish .h5p-hub-search-button .h5p-hub-search-field .h5p-hub-icon-arrow::before{content:"\e925";font-family:"h5p";font-style:normal;font-size:0.6em}.h5p-hub-publish #h5p-hub-filter-search-bar{border:none;padding:0.833em;font-style:italic;width:100%;box-sizing:border-box;font-size:1.15em;padding-left:3.044em}.h5p-hub-publish #h5p-hub-filter-search-bar::placeholder{color:#b7b8ba}.h5p-hub-publish #h5p-hub-filter-search-bar:focus{border-color:#3ba0f2;background-color:#fff;outline:none} + +.h5p-hub-publish .h5p-hub-search-filter{position:relative;border-radius:0.208em;font-size:0.833em;border:2px solid #e2e5ee}.h5p-hub-publish .h5p-hub-search-filter .h5p-hub-clear-button{background:none;position:absolute;padding:1.6em;right:3.5em;color:#757575;border:none;top:50%;transform:translateY(-50%)}.h5p-hub-publish .h5p-hub-search-filter .h5p-hub-clear-button::before{content:"\e93a";font-family:"h5p";font-style:normal;font-size:1em}.h5p-hub-publish .h5p-hub-search-filter .h5p-hub-navigate-parent{font-size:1.25em;padding:0.3534em;display:flex;font-weight:bold;font-family:"Open Sans", sans-serif;border-top:1px solid #e6e6e8;align-items:center;border-bottom:solid 1px #e6e6e8}.h5p-hub-publish .h5p-hub-search-filter .h5p-hub-navigate-parent button{background-color:#ffffff;position:relative;font-style:normal;font-size:0.8em;align-self:center;border:none;padding:0.75em;margin-right:1em;border-radius:50%;width:2.75em;height:2.75em}.h5p-hub-publish .h5p-hub-search-filter .h5p-hub-navigate-parent button::before{content:"\e937";font-family:"h5p";transform:rotate(180deg);font-weight:normal;display:inline-block}.h5p-hub-publish .h5p-hub-search-filter .h5p-hub-navigate-parent button:hover{background-color:#dadada;cursor:pointer}.h5p-hub-publish .h5p-hub-search-filter .h5p-hub-checkbox-list{overflow:hidden;overflow-y:scroll;max-height:25em;margin:0}.h5p-hub-publish .h5p-hub-search-filter .h5p-hub-checkbox-list li{border-bottom:1px solid #e6e6e8;margin:0}.h5p-hub-publish .h5p-hub-search-filter .h5p-hub-checkbox-list li:last-child{border-bottom:none}.h5p-hub-publish .h5p-hub-search-filter .h5p-hub-checkbox-list li:first-child{border-top:1px solid #e6e6e8}.h5p-hub-publish .h5p-hub-search-filter .h5p-hub-checkbox-list li .h5p-hub-content{padding:0.3em}.h5p-hub-publish .h5p-hub-search-filter .h5p-hub-checkbox-list li .h5p-hub-content .h5p-hub-label-text{margin:0 0.2em 0 1em}.h5p-hub-publish .h5p-hub-search-filter .h5p-hub-checkbox-list li .h5p-hub-content button{border-radius:1.5em}.h5p-hub-publish .h5p-hub-search-filter .h5p-hub-checkbox-list li:focus{border-color:#3ba0f2;background-color:#fff;outline:none;box-shadow:none}.h5p-hub-publish .h5p-hub-search-filter .h5p-hub-checkbox-list li:hover{background-color:#f2f2f2}.h5p-hub-publish .h5p-hub-search-filter .h5p-hub-checkbox-list li.h5p-hub-highlighted{outline:1px solid #3ba0f2;outline-offset:-1px;background-color:#fff;box-shadow:none}.h5p-hub-publish .h5p-hub-search-filter .h5p-hub-checkbox-list li:hover{background-color:rgba(230,230,232,0.25)}.h5p-hub-publish .h5p-hub-search-filter .h5p-hub-checkbox-list::-webkit-scrollbar{background-color:rgba(105,117,133,0.25);width:0.54525em;border-radius:5.45256em}.h5p-hub-publish .h5p-hub-search-filter .h5p-hub-checkbox-list::-webkit-scrollbar-thumb{background-color:#697585;background-size:24px 100%;border-radius:5.45256em}.h5p-hub-publish .h5p-hub-search-filter .h5p-hub-publish .h5p-hub-form-element input{border:none} + +.h5p-hub-publish .h5p-hub-message,.h5p-hub-registration .h5p-hub-message{font-size:1em;border-left:0.3em solid;padding:1em;margin:0.5em 0}.h5p-hub-publish .h5p-hub-message.h5p-hub-warning,.h5p-hub-registration .h5p-hub-message.h5p-hub-warning{border-color:#fdcc31;background:#fff8e0}.h5p-hub-publish .h5p-hub-message.h5p-hub-error,.h5p-hub-registration .h5p-hub-message.h5p-hub-error{border-color:#c1494b;background-color:#ece0e0;color:#c1494b}.h5p-hub-publish .h5p-hub-message.h5p-hub-success,.h5p-hub-registration .h5p-hub-message.h5p-hub-success{border-color:#03a953;background-color:#d9eae2} + +.h5p-hub-publish .h5p-hub-step-content.h5p-hub-review .h5p-hub-review-header{margin-bottom:1em;color:#363636}.h5p-hub-publish .h5p-hub-step-content.h5p-hub-review dl{border-top:1px solid #d5d5d5;margin:1.25em 0 0 0}.h5p-hub-publish .h5p-hub-step-content.h5p-hub-review .h5p-hub-definition{border-bottom:1px solid #d5d5d5;display:flex;border-bottom-color:#e2e5ee}.h5p-hub-publish .h5p-hub-step-content.h5p-hub-review .h5p-hub-definition dt{width:25%;min-width:25%;background:#f4f5f9;display:inline-block;padding:0.5em 0 0.5em 1em}.h5p-hub-publish .h5p-hub-step-content.h5p-hub-review .h5p-hub-definition dd{color:#707475;display:inline-block;margin:0;padding:0.5em 0 0.5em 1em}.h5p-hub-publish .h5p-hub-step-content.h5p-hub-review .h5p-hub-definition .h5p-hub-img-alt{display:flex;align-items:center}.h5p-hub-publish .h5p-hub-step-content.h5p-hub-review .h5p-hub-definition .h5p-hub-screenshots{margin-bottom:0.2em}.h5p-hub-publish .h5p-hub-step-content.h5p-hub-review .h5p-hub-definition .h5p-hub-screenshots:last-child{margin-bottom:0}.h5p-hub-publish .h5p-hub-step-content.h5p-hub-review .h5p-hub-definition .h5p-hub-screenshots .h5p-hub-image-preview{font-size:0.75em;margin-right:0.5em} + +.h5p-hub-publish .h5p-hub-success-page{text-align:center}.h5p-hub-publish .h5p-hub-success-page .h5p-hub-step-icon-success{font-size:0.75em;border-radius:50%;border:0.462em solid #609bff;width:3.2em;height:3.2em;line-height:2.276;display:inline-block;box-sizing:border-box;margin-bottom:0.667em;background:#186df7;color:#fff}.h5p-hub-publish .h5p-hub-success-page .h5p-hub-submitted-text{margin-bottom:2.167em;font-size:0.75em;color:#186df7}.h5p-hub-publish .h5p-hub-success-page .h5p-hub-content-type{letter-spacing:0.146em;color:#303438;margin-bottom:0.7em}.h5p-hub-publish .h5p-hub-success-page .h5p-hub-title{font-size:1.75em;margin-bottom:0.5em;color:#1a1a1a}.h5p-hub-publish .h5p-hub-success-page .h5p-hub-title.h5p-hub-is-edit{margin-bottom:1.75em}.h5p-hub-publish .h5p-hub-success-page .h5p-hub-now-submitted-text{font-size:1.458em;margin-bottom:1.75em;color:#1a1a1a}.h5p-hub-publish .h5p-hub-success-page .h5p-hub-now-submitted-text.h5p-hub-is-edit{margin-bottom:.5em}.h5p-hub-publish .h5p-hub-success-page .h5p-hub-content-available{font-size:0.833em;color:#707475} + +.h5p-hub-publish .h5p-hub-cancel-publish-confirmation-modal{margin:2em auto;width:30em;max-width:90%}.h5p-hub-publish .h5p-hub-cancel-publish-confirmation-modal .h5p-hub-dialog-header{padding:1.708em 2.292em;border-bottom:1px solid #d5d5d7}.h5p-hub-publish .h5p-hub-cancel-publish-confirmation-modal .h5p-hub-dialog-header .h5p-hub-dialog-title{display:flex;justify-content:space-between}.h5p-hub-publish .h5p-hub-cancel-publish-confirmation-modal .h5p-hub-dialog-header .h5p-hub-dialog-title span{font-size:1.458em;color:#1a1a1a;margin-bottom:0.2em}.h5p-hub-publish .h5p-hub-cancel-publish-confirmation-modal .h5p-hub-dialog-content .h5p-hub-dialog-description{font-size:0.833em;color:#707475}.h5p-hub-publish .h5p-hub-cancel-publish-confirmation-modal .h5p-hub-dialog-content .h5p-hub-button-group{display:flex;justify-content:flex-end;margin-top:2em}.h5p-hub-publish .h5p-hub-cancel-publish-confirmation-modal .h5p-hub-dialog-content .h5p-hub-button-group button{margin-left:1em} + +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ + +/* Document + ========================================================================== */ + +/** + * 1. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in iOS. + */ + +html { + line-height: 1.15; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ +} + +/* Sections + ========================================================================== */ + +/** + * Remove the margin in all browsers. + */ + +body { + margin: 0; +} + +/** + * Render the `main` element consistently in IE. + */ + +main { + display: block; +} + +/** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/* Grouping content + ========================================================================== */ + +/** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ + +hr { + box-sizing: content-box; /* 1 */ + height: 0; /* 1 */ + overflow: visible; /* 2 */ +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +pre { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/* Text-level semantics + ========================================================================== */ + +/** + * Remove the gray background on active links in IE 10. + */ + +a { + background-color: transparent; +} + +/** + * 1. Remove the bottom border in Chrome 57- + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. + */ + +abbr[title] { + border-bottom: none; /* 1 */ + text-decoration: underline; /* 2 */ + text-decoration: underline dotted; /* 2 */ +} + +/** + * Add the correct font weight in Chrome, Edge, and Safari. + */ + +b, +strong { + font-weight: bolder; +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +code, +kbd, +samp { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/** + * Add the correct font size in all browsers. + */ + +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* Embedded content + ========================================================================== */ + +/** + * Remove the border on images inside links in IE 10. + */ + +img { + border-style: none; +} + +/* Forms + ========================================================================== */ + +/** + * 1. Change the font styles in all browsers. + * 2. Remove the margin in Firefox and Safari. + */ + +button, +input, +optgroup, +select, +textarea { + font-family: inherit; /* 1 */ + font-size: 100%; /* 1 */ + line-height: 1.15; /* 1 */ + margin: 0; /* 2 */ +} + +/** + * Show the overflow in IE. + * 1. Show the overflow in Edge. + */ + +button, +input { /* 1 */ + overflow: visible; +} + +/** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ + +button, +select { /* 1 */ + text-transform: none; +} + +/** + * Correct the inability to style clickable types in iOS and Safari. + */ + +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +/** + * Remove the inner border and padding in Firefox. + */ + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; +} + +/** + * Restore the focus styles unset by the previous rule. + */ + +button:-moz-focusring, +[type="button"]:-moz-focusring, +[type="reset"]:-moz-focusring, +[type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText; +} + +/** + * Correct the padding in Firefox. + */ + +fieldset { + padding: 0.35em 0.75em 0.625em; +} + +/** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ + +legend { + box-sizing: border-box; /* 1 */ + color: inherit; /* 2 */ + display: table; /* 1 */ + max-width: 100%; /* 1 */ + padding: 0; /* 3 */ + white-space: normal; /* 1 */ +} + +/** + * Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ + +progress { + vertical-align: baseline; +} + +/** + * Remove the default vertical scrollbar in IE 10+. + */ + +textarea { + overflow: auto; +} + +/** + * 1. Add the correct box sizing in IE 10. + * 2. Remove the padding in IE 10. + */ + +[type="checkbox"], +[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ + +[type="search"] { + -webkit-appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ +} + +/** + * Remove the inner padding in Chrome and Safari on macOS. + */ + +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ + +::-webkit-file-upload-button { + -webkit-appearance: button; /* 1 */ + font: inherit; /* 2 */ +} + +/* Interactive + ========================================================================== */ + +/* + * Add the correct display in Edge, IE 10+, and Firefox. + */ + +details { + display: block; +} + +/* + * Add the correct display in all browsers. + */ + +summary { + display: list-item; +} + +/* Misc + ========================================================================== */ + +/** + * Add the correct display in IE 10+. + */ + +template { + display: none; +} + +/** + * Add the correct display in IE 10. + */ + +[hidden] { + display: none; +} + +@keyframes spinner{0%{transform:translate3d(-50%, -50%, 0) rotate(0deg)}100%{transform:translate3d(-50%, -50%, 0) rotate(360deg)}}.h5p-hub-publish,.h5p-hub-registration-wrapper{position:relative;margin:2em auto;max-width:1024px;border:1px solid #2c9586;border-radius:0.167em;box-sizing:border-box;box-shadow:0px 0px 20px rgba(0,0,0,0.1);font-family:Nunito, sans-serif;font-size:16px;padding-top:0.25em}.h5p-hub-publish .h5p-hub-header,.h5p-hub-registration-wrapper .h5p-hub-header{padding:1.5em;display:flex;align-items:center;width:100%;box-sizing:border-box;border-bottom:1px solid #d5d5d7;border-bottom-color:#e2e5ee}.h5p-hub-publish .h5p-hub-header .h5p-hub-title,.h5p-hub-registration-wrapper .h5p-hub-header .h5p-hub-title{font-size:1.458em;flex-grow:1;color:black;padding-left:1em}.h5p-hub-publish .h5p-hub-step-panel,.h5p-hub-registration-wrapper .h5p-hub-step-panel{margin:2em;border-radius:0.208em;border:1px solid #e2e5ee}.h5p-hub-publish .h5p-hub-step-title,.h5p-hub-registration-wrapper .h5p-hub-step-title{color:#1a1a1a;font-size:1.250em;font-weight:bold;border-bottom:1px solid #ccc;padding:1.2em 1.8em;line-height:normal;border-bottom-color:#e2e5ee}.h5p-hub-publish .h5p-hub-step-content,.h5p-hub-registration-wrapper .h5p-hub-step-content{padding:2em}.h5p-hub-publish .h5p-hub-footer,.h5p-hub-registration-wrapper .h5p-hub-footer{padding:0 2em 2em;width:100%;box-sizing:border-box;position:relative}.h5p-hub-publish .h5p-hub-footer .h5p-hub-navigation,.h5p-hub-registration-wrapper .h5p-hub-footer .h5p-hub-navigation{display:flex}.h5p-hub-publish .h5p-hub-footer .h5p-hub-navigation button,.h5p-hub-registration-wrapper .h5p-hub-footer .h5p-hub-navigation button{z-index:1}.h5p-hub-publish .h5p-hub-footer .h5p-hub-navigation button:before,.h5p-hub-registration-wrapper .h5p-hub-footer .h5p-hub-navigation button:before{font-family:'h5p';font-size:0.75em;content:"\e91a";transform:rotate(180deg);display:inline-block;margin-right:0.75em;line-height:1;position:relative;top:-0.1em}.h5p-hub-publish .h5p-hub-footer .h5p-hub-navigation .h5p-hub-back:before,.h5p-hub-registration-wrapper .h5p-hub-footer .h5p-hub-navigation .h5p-hub-back:before{transform:rotate(0)}.h5p-hub-publish .h5p-hub-footer .h5p-hub-navigation #h5p-hub-share-in-process::before,.h5p-hub-registration-wrapper .h5p-hub-footer .h5p-hub-navigation #h5p-hub-share-in-process::before{font-family:"h5p";font-size:0.75em;content:"\e928";animation:2s linear infinite spinner;top:0.5em;margin-left:0.55em}.h5p-hub-publish .h5p-hub-footer .h5p-hub-navigation .h5p-hub-next,.h5p-hub-registration-wrapper .h5p-hub-footer .h5p-hub-navigation .h5p-hub-next{margin-left:auto}.h5p-hub-publish .h5p-hub-tip-text-field,.h5p-hub-registration-wrapper .h5p-hub-tip-text-field{top:1.5em}.h5p-hub-publish .h5p-hub-hare-error,.h5p-hub-registration-wrapper .h5p-hub-hare-error{padding:0 2em 2em;text-align:end}.h5p-hub-publish .h5p-hub-bold,.h5p-hub-registration-wrapper .h5p-hub-bold{font-weight:bold}.h5p-hub-publish .h5p-hub-row,.h5p-hub-registration-wrapper .h5p-hub-row{display:flex;flex-wrap:wrap;margin-right:-1em}.h5p-hub-publish .h5p-hub-row .h5p-hub-form-element,.h5p-hub-registration-wrapper .h5p-hub-row .h5p-hub-form-element{flex-basis:100%;flex:1;min-width:17em;align-self:flex-end;border-right:1em solid #ffffff}@media (max-width: 576px){.h5p-hub-publish .h5p-hub-row .h5p-hub-form-element,.h5p-hub-registration-wrapper .h5p-hub-row .h5p-hub-form-element{min-width:calc(100% - 1em)}}.h5p-hub-publish .h5p-hub-columns,.h5p-hub-registration-wrapper .h5p-hub-columns{display:flex;margin-right:-1em}@media (max-width: 576px){.h5p-hub-publish .h5p-hub-columns,.h5p-hub-registration-wrapper .h5p-hub-columns{flex-wrap:wrap}}.h5p-hub-publish .h5p-hub-columns .h5p-hub-column,.h5p-hub-registration-wrapper .h5p-hub-columns .h5p-hub-column{width:50%;border-right:1em solid #ffffff}@media (max-width: 576px){.h5p-hub-publish .h5p-hub-columns .h5p-hub-column,.h5p-hub-registration-wrapper .h5p-hub-columns .h5p-hub-column{width:100%;margin-right:0}}.h5p-hub-publish .h5p-hub-sharing-note,.h5p-hub-registration-wrapper .h5p-hub-sharing-note{text-align:center;color:#707475;width:calc(100% - 4.9em);position:absolute;top:0.65em;box-sizing:border-box;padding:0 9em}.h5p-hub-publish .h5p-hub-sharing-note .h5p-hub-icon-info:before,.h5p-hub-registration-wrapper .h5p-hub-sharing-note .h5p-hub-icon-info:before{font-size:0.5em;display:inline-block;margin-right:1em;background:#d1d7e3;padding:0.4em;border-radius:50%;position:relative;top:-0.25em}.h5p-hub-publish .h5p-hub-sr-only,.h5p-hub-registration-wrapper .h5p-hub-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.h5p-hub-publish [class^="h5p-hub-icon-"],.h5p-hub-publish [class*=" h5p-hub-icon-"],.h5p-hub-registration-wrapper [class^="h5p-hub-icon-"],.h5p-hub-registration-wrapper [class*=" h5p-hub-icon-"]{font-family:'h5p' !important;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.h5p-hub-publish .h5p-hub-icon-dropdown:before,.h5p-hub-registration-wrapper .h5p-hub-icon-dropdown:before{content:"\e925"}.h5p-hub-publish .h5p-hub-icon-info:before,.h5p-hub-registration-wrapper .h5p-hub-icon-info:before{content:"\e93c"}.h5p-hub-publish .h5p-hub-icon-thick-arrow:before,.h5p-hub-registration-wrapper .h5p-hub-icon-thick-arrow:before{content:"\e91a"}.h5p-hub-publish .h5p-hub-icon-check:before,.h5p-hub-registration-wrapper .h5p-hub-icon-check:before{content:"\e933"}.h5p-hub-publish .h5p-hub-icon-close:before,.h5p-hub-registration-wrapper .h5p-hub-icon-close:before{content:"\e93a"}.h5p-hub-publish .h5p-hub-icon-plus:before,.h5p-hub-registration-wrapper .h5p-hub-icon-plus:before{content:"\e939"}.h5p-hub-publish button,.h5p-hub-registration-wrapper button{font-size:.917em;border-width:.125em;border-radius:.208em;padding:.833em 1.65em;background:#fff;color:#3c4859;font-family:Nunito, sans-serif;outline:none;transition:all 0.1s}.h5p-hub-publish button:hover,.h5p-hub-registration-wrapper button:hover{color:#3c4859;background:#e2e5ee;border-color:#e2e5ee}.h5p-hub-registration-wrapper{border:none}.h5p-hub-publish{border:1px solid #e2e5ee}.h5p-hub-share-error{margin:2em} + diff --git a/h5p/h5plib/v124/joubel/core/styles/h5p.css b/h5p/h5plib/v124/joubel/core/styles/h5p.css index c8b9b85dccc..9eedeff1636 100644 --- a/h5p/h5plib/v124/joubel/core/styles/h5p.css +++ b/h5p/h5plib/v124/joubel/core/styles/h5p.css @@ -3,15 +3,27 @@ /* Custom H5P font to use for icons. */ @font-face { font-family: 'h5p'; - src: url('../fonts/h5p-core-23.eot?mz1lkp'); - src: url('../fonts/h5p-core-23.eot?mz1lkp#iefix') format('embedded-opentype'), - url('../fonts/h5p-core-23.ttf?mz1lkp') format('truetype'), - url('../fonts/h5p-core-23.woff?mz1lkp') format('woff'), - url('../fonts/h5p-core-23.svg?mz1lkp#h5p') format('svg'); + src: url('../fonts/h5p-core-28.eot?h1atjl'); + src: url('../fonts/h5p-core-28.eot?h1atjl#iefix') format('embedded-opentype'), + url('../fonts/h5p-core-28.ttf?h1atjl') format('truetype'), + url('../fonts/h5p-core-28.woff?h1atjl') format('woff'), + url('../fonts/h5p-core-28.svg?h1atjl#h5p-core-28') format('svg'); font-weight: normal; font-style: normal; } +@font-face { + font-family: 'h5p-hub-publish'; + src: url('../fonts/h5p-hub-publish.eot?wy8ylc'); + src: url('../fonts/h5p-hub-publish.eot?wy8ylc#iefix') format('embedded-opentype'), + url('../fonts/h5p-hub-publish.ttf?wy8ylc') format('truetype'), + url('../fonts/h5p-hub-publish.woff?wy8ylc') format('woff'), + url('../fonts/h5p-hub-publish.svg?wy8ylc#h5p-hub') format('svg'); + font-weight: normal; + font-style: normal; + font-display: block; +} + html.h5p-iframe, html.h5p-iframe > body { font-family: Sans-Serif; /* Use the browser's default sans-serif font. (Since Heletica doesn't look nice on Windows, and Arial on OS X.) */ width: 100%; @@ -199,13 +211,13 @@ div.h5p-fullscreen { background: none; padding: 0 0.75em 0 0.25em; vertical-align: top; - color: #999; + color: #707070; text-decoration: none; outline: none; line-height: 22px; } .h5p-actions > .h5p-button:hover { - color: #666; + color: #333; } .h5p-actions > .h5p-button:active, .h5p-actions > .h5p-button:focus, @@ -582,3 +594,30 @@ iframe.h5peditor-semi-fullscreen { .h5p-content.using-mouse *:not(textarea):focus { outline: none !important; } + +.h5p-content-hub-button:before { + font-family: "h5p"; + margin-right: 0.5em; + font-size: 0.7em; + line-height: 1; +} + +.h5p-content-hub-button.unpublish:before { + content: "\e916"; +} + +.h5p-content-hub-button.waiting:before, +.h5p-content-hub-button.sync:before { + content: "\e917"; +} + +.h5p-content-hub-button.waiting:before { + display: inline-block; + animation: rotate 2s linear infinite; +} + +@keyframes rotate { + to { + transform: rotate(360deg); + } +}