From bcac42df0832ccd53a41e2368e07bfe515d500d9 Mon Sep 17 00:00:00 2001 From: seif Date: Mon, 14 Mar 2022 18:51:46 +0100 Subject: [PATCH 001/340] rafactor cabri opensteam --- .gitignore | 5 +- classroom/assets/js/scripts/disconnect.js | 4 +- classroom/assets/js/utils/translate.js | 4 +- classroom/assets/lang/en/ns.json | 823 ++-- classroom/assets/lang/es/ns.json | 774 +++ classroom/assets/lang/fr/ns.json | 2915 +++++------ classroom/assets/lang/it/ns.json | 766 +++ classroom/assets/media/cabri-logo.png | Bin 15023 -> 0 bytes classroom/assets/media/cabri_logo.png | Bin 22552 -> 0 bytes classroom/assets/media/faq/image2.png | Bin 93360 -> 86852 bytes classroom/header.html | 1 + classroom/home.html | 7 +- classroom/login.html | 38 +- classroom/login.html.old | 445 ++ classroom/lti/auth.php | 6 +- classroom/lti/certs.php | 2 +- classroom/lti/contentitem.php | 3 +- classroom/lti/deeplink.php | 9 +- classroom/lti/ltilaunch.php | 2 +- classroom/lti/score.php | 12 +- classroom/lti/token.php | 6 +- composer.json | 3 +- package-lock.json | 5352 +-------------------- routing/Routing.php | 6 +- 24 files changed, 4060 insertions(+), 7123 deletions(-) create mode 100644 classroom/assets/lang/es/ns.json create mode 100644 classroom/assets/lang/it/ns.json delete mode 100644 classroom/assets/media/cabri-logo.png delete mode 100644 classroom/assets/media/cabri_logo.png create mode 100644 classroom/login.html.old diff --git a/.gitignore b/.gitignore index 2c3accc6..09506b86 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,8 @@ /vendor /node_modules -.env +.env composer.lock /plugins classroom/assets/plugins -/EmailTemplates \ No newline at end of file +/EmailTemplates +.idea/ diff --git a/classroom/assets/js/scripts/disconnect.js b/classroom/assets/js/scripts/disconnect.js index 5da57406..f1e09430 100644 --- a/classroom/assets/js/scripts/disconnect.js +++ b/classroom/assets/js/scripts/disconnect.js @@ -16,9 +16,9 @@ function goToDisconnect() { if (UserManager.getUser().isFromGar){ window.location = '/classroom/gar_user_disconnected.php'; } else { - window.location = '/classroom/'; + window.location = '/classroom/login.php'; } }).catch((e)=>{ console.log(e); }); -} \ No newline at end of file +} diff --git a/classroom/assets/js/utils/translate.js b/classroom/assets/js/utils/translate.js index 52f0f50b..00c4ff07 100644 --- a/classroom/assets/js/utils/translate.js +++ b/classroom/assets/js/utils/translate.js @@ -2,10 +2,10 @@ i18next.use(window.i18nextXHRBackend) .init({ debug: false, lng: getCookie('lng'), - whitelist: ['fr', 'en'], + whitelist: ['fr', 'en', 'es', 'it'], fallbackLng: 'fr', backend: { - loadPath: _PATH + 'assets/lang/{{lng}}/ns.json' + loadPath: _PATH + 'assets/lang/{{lng}}/ns.json?version=1.2' } }, (err, t) => { jqueryI18next.init(i18next, $, { diff --git a/classroom/assets/lang/en/ns.json b/classroom/assets/lang/en/ns.json index 2ccd6fea..d8c683fa 100644 --- a/classroom/assets/lang/en/ns.json +++ b/classroom/assets/lang/en/ns.json @@ -7,22 +7,26 @@ "hello1": "'Hello!'", "hello2": "Hello!", "title": "Manage your Classrooms
with Vittascience", - "neutralTitle": "Open STEAM LMS", + "neutralTitle": "OpenSTEAM LMS", + "cabriTitle": "Cabri.com", "subtitle": "Discover - Learn - Share", + "cabriSubtitle": "The platform to succeed in math and science", "login": "Log in", - "activities": "Easily create
your activities", - "attribute": "Assign them
to your students", - "visualize": "Visualize
their results", - "helpers": " By our side to accompany you.", - "student": "STUDENT", + "activities": "create easily
your activities", + "cabriActivities": "Create exercises
automatically in
a few minutes", + "attribute": "assign them
to your learners", + "cabriProgress": "Follow the progress
of your learners", + "visualize": "visualize
their results", + "cabriRessources": "Access a
variety of activities
and share your creations", + "student": "Student", "codeInput": " Enter your Classroom code", - "teacher": "TEACHER", + "teacher": "Teacher", "hasAccount": "Already have an account?", "gar": "Enjoy the Classroom module with ease using GAR.", "signup": "SIGN UP", "firstVisit": "First time? Please choose a username.", - "signin": "SIGN IN", - "registerLink": "Register", + "signin": "Sign in", + "registerLink": "Create an account", "hasReturned": "Back to this Classroom?", "forgot": "I forgot my password", "error": { @@ -49,7 +53,7 @@ } }, "register": { - "title": "Register", + "title": "Registration", "description": "Please complete the following fields to create your account.", "passwordConstraints": "Minimum 8 characters.", "createButton": "Register" @@ -66,39 +70,39 @@ "emailUpdateConfirmation": { "emailSubject": "Confirm my new email address", "bodyTitle": "Confirm my new email address", - "textBeforeLink": "If the button above does not work, copy and paste into your browser, the following link :" + "textBeforeLink": "If the above button does not work, copy and paste the following link into your browser:" } }, - "successPanel": "Congratulation, you succeed this activity !", - "failPanel": "The answer is wrong", - "toCorrectPanel": "The activity was send to your teacher,
who will correct it soon !", + "successPanel": "Well done, you did it!", + "failPanel": "The answer is not correct", + "toCorrectPanel": "The activity has been passed on to your teacher,
who will get back to you soon! ", "bank": { "helpTooltip": "The resource center contains numerous activities that you can use freely! Your teacher won't have access to your activities results" }, "help": { "student": { - "label": "Ask your teacher", - "question": "Write your questions...", + "label": "Contact your teacher", + "question": "Ask your questions...", "title": "Object" }, "teacher": { - "label": "Ask our team" + "label": "Contact your teacher" } }, "profil": { - "identity": "Firstname Surname ", - "class": "CLASSROOM : ", - "todo": "Activities
to do", - "done": "Activities
done", - "create": "Activities
create", - "correctionToDo": "Corrections
to do", + "identity": "First name Last name", + "class": "CLASS: ", + "todo": "Activities to do", + "done": "Activities carried out", + "create": "Activities created", + "correctionToDo": "Corrections to be made", "switchMode": "Switch to learner mode", "switchModeTeacher": "Back to teacher mode", "accountSettings": { "title": "My account", "firstname": "First name", - "lastname": "Last name", - "nickname": "Nickname", + "lastname": "Name", + "nickname": "Username", "email": "E-mail", "password": "Password", "confirmPassword": "Confirm password", @@ -110,76 +114,78 @@ "emptyTitle": "The title can not be empty", "activityRestricted": "You can not create more activities from this type", "shareProjectTeacher": "The project has been shared with your teacher", + "shareProjectTeacher": "The project was shared with your teacher", "addActivities": "The selected activities have been added to your list", - "addActivity": "The activity has beed added to your list", - "saveProject": "Did you saved your activity?", - "savedProject": "Your draft has been saved.", + "addActivity": "The activity has been added to your list", + "saveProject": "Have you thought about saving your activity?", + "savedProject": "The draft of your activity has been saved.", "deleteProject": "The project has been deleted.", - "shareProject": "The project has been shared.", - "corrections": "An exercise has been realized in your classes", + "shareProject": "The project was shared", + "corrections": "An exercise has been completed in your classes", "deleteAccount": "Are you sure you want to delete the learner's account?", "accountIsDelete": "The learner's account has been deleted", - "newPwd": "The learner's new password is {{pwd}} for {{pseudo}}", - "classCreatedButNotUsers": "The classroom {{classroomName}} has been created, but not the associated accounts (Your account does not allow you to have {{learnerNumber}} learners)", - "classUpdatedButNotUsers": "The classroom {{classroomName}} has been updated, but not the associated accounts (Your account does not allow you to have {{learnerNumber}} learners)", + "newPwd": "The new learner password {{pseudo}} is {{pwd}}", + "classCreatedButNotUsers": "The {{classroomName}} class has been created, but not the associated accounts (Your account does not allow you to have {{learnerNumber}} learners)", + "classUpdatedButNotUsers": "The {{classroomName}} class has been updated, but not the associated accounts (Your account does not allow you to have {{learnerNumber}} learners)", "usersNotAdded": "The learner could not be added (Your account does not allow you to have {{learnerNumber}} learners)", - "cantLoginLimitLearners": "You cannot join the class. Your teacher has reached his maximum number of learners.", - "cantLoginClassroomBlocked": "You cannot join the classroom, your teacher has locked access to it.", - "classNotCreated": "You cannot have more than {{classroomNumberLimit}} classroom(s).", - "attributeActivityUndone": "The activity has been unassigned", + "cantLoginLimitLearners": "You cannot join the class. Your teacher has reached the maximum number of learners.", + "cantLoginClassroomBlocked": "You can't join the class, your teacher has locked it.", + "classNotCreated": "You cannot have more than one class.", + "attributeActivityUndone": "The activity has been de-allocated", "pseudoUpdated": "The learner's new nickname is {{newPseudo}}", - "classroomDeleted": "The classroom {{classroomName}} has been deleted", - "classroomCreated": "The classroom {{classroomName}} has been created, as well as all associated accounts", - "classroomUpdated": "The classroom {{classroomName}} has been updated, along with all associated accounts", - "usersAdded": "Accounts have been created", - "usersAddedFromCsv": "The accounts were created from the csv file", - "activityDeleted": "The activity {{activityName}} has been removed", - "mustAttributeToStudent": "You must assign the activity to students", - "activityAttributed": "The activity {{activityTitle}} has been assigned to the listed learners", - "activityAttributionChanged": "The assignment of the activity {{activityTitle}} has been changed for the listed learners", + "classroomDeleted": "The {{classroomName}} class has been deleted", + "classroomCreated": "The {{classroomName}} class has been created, as well as all associated accounts", + "classroomUpdated": "The {{classroomName}} class has been updated, as well as all associated accounts", + "usersAdded": "The accounts have been created", + "usersAddedFromCsv": "The accounts were created according to the csv file", + "activityDeleted": "The {{activityName}} activity has been deleted", + "mustAttributeToStudent": "You must assign the activity to learners", + "activityAttributed": "The activity {{activityTitle}} has been assigned to the learners listed", + "activityAttributionChanged": "The {{activityTitle}} assignment has been changed for the learners listed", "activityCreated": "The activity {{activityTitle}} has been created", - "activityChanged": "Activity {{activityTitle}} has been changed", - "activityTitleMissing": "You must enter the title of the activity", + "activityChanged": "The {{activityTitle}} activity has been modified", + "activityTitleMissing": "You must fill in the title of the activity", + "activityPlayerMissing": "You must fill in the player URL", "CsvFileMissing": "You did not choose a csv file", - "errorWithCsv": "Error while opening csv file: {{error}}", - "cantGetPassword": "Error, you cannot see your password", + "errorWithCsv": "Error opening csv file : {{error}}", + "cantGetPassword": "Error, you can't see your password", "cantResetPassword": "Error, you cannot reset your password", "accountUpdated": "Your account has been updated", - "emailUpdated": "Please go to the confirmation link just communicated to you on the new e-mail address to finalize the update", - "firstNameTooShort": "The first name must be at least 2 characters long", - "lastNameTooShort": "The last name must be at least 2 characters long", + "emailUpdated": "Please go to the confirmation link that has just been sent to you on the new e-mail address to finalize the update", + "firstNameTooShort": "The first name must have at least 2 characters", + "lastNameTooShort": "The name must be at least 2 characters long", "pseudoTooShort": "The nickname must be at least 2 characters long", - "invalidEmail": "The entered email address is invalid", - "invalidPassword": "The entered password is invalid. It must be at least 8 characters long.", - "passwordAndConfirmMismatch": "Password and password confirmation are not the same!", - "unknownUser": "Error updating account: user does not exist!", - "passwordInvalid": "The password does not respect security constraints.", - "emailInvalid": "The email address sent is invalid", + "invalidEmail": "The e-mail address entered is invalid", + "invalidPassword": "The password entered is invalid. It must contain at least 8 characters.", + "passwordAndConfirmMismatch": "The password and the password confirmation are not identical!", + "unknownUser": "Error when updating the account: the user does not exist!", + "passwordInvalid": "The password does not respect the security constraints.", + "emailInvalid": "The e-mail address sent is invalid", "emailExists": "The email address is already assigned to another account", - "UserNotExists": "Error loading / reseting password: incorrect user!", - "RegularUserNotAllowed": "Error loading / reseting password: only learners can view / reset their password!", - "PasswordLengthInvalid": "Unable to retrieve password: wrong password!", - "accountCreated": "The account has been created. Please go to the confirmation link that has just been sent to you by e-mail to finalize the registration and be able to log in.", - "firstnameMissing": "You must enter your first name", - "surnameMissing": "You must enter your last name", - "pseudoMissing": "You must enter your nickname", - "emailMissing": "You must enter your email address", + "UserNotExists": "Error while loading/resetting password: Incorrect user!", + "RegularUserNotAllowed": "Error while loading / resetting password: only learners can display / reset their password!", + "PasswordLengthInvalid": "Unable to recover password: wrong password!", + "accountCreated": "The account has been created. Please go to the confirmation link that has just been sent to you by e-mail to finalize the registration and to be able to connect.", + "firstnameMissing": "You must fill in your first name", + "surnameMissing": "You must fill in your name", + "pseudoMissing": "You must redesignate your nickname", + "emailMissing": "You must fill in your e-mail address", "passwordMissing": "You must enter your password", - "passwordConfirmMissing": "You must enter the password confirmation", - "passwordsMismatch": "Password and confirmation are not the same", - "invalidUserId": "Error sending the message: your username is invalid", - "helpRequestFromTeacherSent": "Your message has been sent. We will get back to you as soon as possible.", - "subjectMissingTeacherHelpForm": "You must enter the subject of the message", + "passwordConfirmMissing": "You must fill in the password confirmation", + "passwordsMismatch": "Password and confirmation are not identical", + "invalidUserId": "Error when sending the message: your login is invalid", + "helpRequestFromTeacherSent": "Your message has been sent. We will reply as soon as possible.", + "subjectMissingTeacherHelpForm": "You must fill in the subject of the message", "messageMissingTeacherHelpForm": "You must enter your message", - "invalidUserIdTeacherHelpForm": "Error sending the message: your username is invalid", - "unknownUserTeacherHelpForm": "Error sending the message: your username does not correspond to any teacher account", + "invalidUserIdTeacherHelpForm": "Error when sending the message: your login is invalid", + "unknownUserTeacherHelpForm": "Error when sending the message: your login does not correspond to any teacher account", "helpRequestFromLearnerSent": "Your message has been sent to your teacher", - "subjectMissingLearnerHelpForm": "You must enter the subject of the message", - "messageMissingLearnerHelpForm": "You have to enter your message", - "invalidUserIdLearnerHelpForm": "Error sending the message: your username is invalid", - "unknownUserLearnerHelpForm": "Error sending the message: your username is unknown", - "unknownEmailLearnerHelpForm": "Error sending message: your teacher's email address is unknown", - "activityTitleInvalid": "The activity could not be created: invalid title", + "subjectMissingLearnerHelpForm": "You must fill in the subject of the message", + "messageMissingLearnerHelpForm": "You must type your message", + "invalidUserIdLearnerHelpForm": "Error when sending the message: your login is invalid", + "unknownUserLearnerHelpForm": "Error when sending the message: your username is unknown", + "unknownEmailLearnerHelpForm": "Error when sending the message: your teacher's email address is unknown", + "activityTitleInvalid": "Activity could not be created: invalid title", "activityContentInvalid": "Activity could not be created: invalid content", "activityIsFromClassroomInvalid": "Activity could not be created: context error", "activityUserIdInvalid": "Activity could not be created: invalid user", @@ -197,7 +203,7 @@ "backendReplyPseudoMissingInUsersArray" : "There is one or more error(s) in the student(s) name(s)", "invalidActivityId": "Error submitting job: Invalid activity ID!", "invalidCorrection": "Erreur submitting job: Invalid activity status!", - "currentPasswordDoesNotMatch": "The entered password is not correct!" + "generalBackendError": "An error has occurred, please try again later" }, "ids": { "classroom-dashboard-help-panel-teacher": "Help", @@ -208,13 +214,13 @@ "classroom-dashboard-activities-panel": "My activities", "classroom-dashboard-profil-panel": "Profile", "classroom-dashboard-help-panel": "Help", - "classroom-dashboard-activities-panel-library-teacher": "Resource center", - "classroom-dashboard-new-activity-panel": "Activity creation", + "classroom-dashboard-activities-panel-library-teacher": "Resource Bank", + "classroom-dashboard-new-activity-panel": "Creation of the activity", "classroom-dashboard-new-activity-panel2": "Intermediate", - "classroom-dashboard-new-activity-panel3": "Attribution", + "classroom-dashboard-new-activity-panel3": "Allocation", "classroom-table-panel-teacher": "Class {{name}}", "classroom-dashboard-sandbox-creation": "Interface selection", - "classroom-dashboard-ide-panel": "{{interface}} sandbox ", + "classroom-dashboard-ide-panel": "Sandbox {{interface}}", "classroom-dashboard-activity-panel": "Activity {{name}}" }, "displayCode": "Display the code", @@ -222,19 +228,19 @@ "activities": "Activities" }, "classes": { - "add": "Add a new classroom", + "add": "Add a class", "noClasses": "You don't have a class yet.", "createClassNow": "Start by creating a class now!", "form": { - "title": "Add a classroom", - "updateTitle": "Update classroom", - "name": "Classroom name", - "school": "School name", + "title": "Create a class", + "updateTitle": "Update classroom", + "name": "Name of the class", + "school": "Name of the establishment", "addStudent": "Add a learner", - "noStudent": "No learner yet in this classroom", - "isBlockedButton": "Limit to these learners, no one else will be able to join the classroom.", - "save": "Save the classroom", - "return": "Return to the classroom" + "noStudent": "No learners in this class yet", + "isBlockedButton": "Restrict to these learners, no one else will be able to join the class.", + "save": "Save the class", + "return": "Back to the classroom" }, "panel": { "seeActivity":"Open the activity", @@ -247,31 +253,35 @@ "delete": "Delete", "copyLink": "Copy the direct link", "learnerMode": "Learner mode", - "dueBy":"Due by", - "timePassed": "Time spent: " - } + "dueBy":"Due by" + + } }, "activities": { "title": "Activities", "save": "Save the draft ", "add": "Create an activity", + "addCabriExpress": "Create Express activity", + "addCabriGenius": "Create Smart activity", + "addOther": "Other type of activity", "new": "New", - "current": "In progress", + "current": "Pending correction", "waiting": "Not yet completed", - "done": "Done", - "todo": "To correct", - "anonymise": "Anonymise your learners list, allowing you to display it for everyone.", - "save-draft": "Save as a draft", + "done": "Completed", + "todo": "To be corrected", + "anonymise": "Anonymize your student list so that you can display the dashboard to your learners.", + "save-draft": "Save as draft", "validate": "Validate the activity", - "accept": "Very good proficiency", - "vgood": "Good proficiency", - "good": "Weak proficiency", - "refuse": "Insufficient proficiency", - "instruction": "Instructions", + "accept": "Very good control", + "vgood": "Satisfactory control", + "good": "Fragile control", + "refuse": "Insufficient mastery", + "instruction": "Instruction", "commentary": "Comment", - "sendResults": "Send the comment ", - "noSend": "This activity hasn't been returned", - "toSend": "Activity due by ", + "sendResults": "Send the comment to the learner ", + "noSend": "This activity has not been made", + "comments": "Enter your comments here", + "activitySubmited2": "Activity submitted on", "sentOn": "This activity was returned on ", "activityOfUser": "Activity of ", "userSentOn" : " sent on ", @@ -280,7 +290,7 @@ "comments": "Write your comments there", "return": "Return to the activities", "bilan": { - "title": "Bilan", + "title": "Balance sheet", "results": "Results", "noComment": "No comment yet" }, @@ -293,11 +303,33 @@ "3": "Title", "4": "Attribution", "title": { - "label": "Activity title", - "placeholder": "Part title" - }, + "label": "Title of the activity", + "labelCabri": "What is the title of the activity?", + "placeholder": "Title of the game", + "placeholderCabri": "Title of the activity" + }, + "iframe": { + "label": "What is the access URL?", + "placeholder": "Enter a URL" + }, + "notebookUpdateMessage": "Do not modify this section if you wish to keep the old activity book!", + "notebookUrl": { + "label": "Add a notebook URL", + "placeholder": "Notebook URL" + }, + "playerUrl": { + "label": "Add a player URL", + "placeholder": "Player URL" + }, + "player": { + "labelFileChooser": "Choose a file", + "fileUpload": "The file has been uploaded successfully", + "dragDrop": "Drag and drop" + }, + "nextButton": "Next", + "endButton": "Finish", "content": { - "label": "Activity content" + "label": "Content of the activity" }, "back": "Back", "validate": "Validate", @@ -312,42 +344,90 @@ "select1": "Select the learners", "select2": " selected.", "instructions": "Specific instructions for these learners", - "autocorrect": "This activity has automated correction, do you like to activate it ?", - "nature": "Can the student submit the activity multiple times?", - "dateBegin": "Begin date :", + "autocorrect": "This activity has auto-correction, do you want to activate it?", + "nature": "Can the student submit the activity more than once?", + "dateBegin": "Start Date:", "dateEnd": "End date :", "retroAttribution" : "This activity will be added for every new students" }, - "toCopy": "This code allow you to join the classroom at ease :", + "toCopy": "This code allows you to easily join your class", "copyLink": "The link to your class has been added to the clipboard", - "dateBefore": "To give back before", - "integrate": "Integrate in an activity", - "veryGoodProficiency": "Very good proficiency", - "goodProficiency": "Good proficiency", - "weakProficiency": "Weak proficiency", - "insufficientProficiency": "Insufficient proficiency", + "dateBefore": "To be returned before", + "dateBeforeAvailable": "Available until", + "integrate": "Integrate into an activity", + "veryGoodProficiency": "Very good control", + "goodProficiency": "Satisfactory control", + "weakProficiency": "Fragile control", + "insufficientProficiency": "Insufficient mastery", "addLearner": "Add a learner", "addLearners": "Add learners", "addActivity": "Add an activity", - "exportCsv": "Export csv" - }, + "exportCsv": "Export csv", + "players": { + "STANDARD": { + "title": "Standard", + "description": "The standard player will allow you to read all the activity books created with the Cabri authoring tool." + }, + "IMUSCICA": { + "title": "iMuSciCA", + "description": "The iMuSciCA player allows to read in the music studio all the activities realized with the Cabri authoring tool." + }, + "IFRAME": { + "title": "Autre", + "description": "Choose from a selection of readers to use in your activities with the Cabri authoring tool." + }, + "EXPRESS": { + "title": "Express", + "description": "Create an activity using dynamic geometry and algebra tools, scientific and graphing calculator, etc." + }, + "GENIUS": { + "title": "Smart", + "description": "Create an activity with the Express tools and add an automatic evaluation." + }, + "IFRAME-CABRI3D": { + "title": "Cabri 3D", + "description": "Create a dynamic space geometry exploration." + }, + "LTI-BLOCKLY": { + "title": "Cabri Blockly", + "description": "Add user actions to a Cabri activity, such as animations, locks,... visually programmed in the same spirit as with Scratch or Snap !" + } + }, + "tabs": { + "players": "Activity book", + "iframes": "Video and web page" + }, + "iframes": { + "IFRAME-VIDEO": { + "title": "Video", + "description": "Enter the URL of a video published on a hosting platform." + }, + "IFRAME-PAGE": { + "title": "Web page", + "description": "Enter the URL of the web page." + } + } + }, "filter": { - "desc": "Oldest to newest", - "asc": "Newest to oldest", - "placeholder": "Search..." + "desc": "From the least recent to the most recent", + "asc": "From most recent to least recent", + "cabriExpress": "Express activities", + "cabriGenius": "Smart activities", + "cabriVittascience": "Vittascience activities", + "iframe": "Other activities", + "placeholder": "Search for..." }, "sandbox": { "mine": "My projects", "shared": "Shared projects", "add": "Create a program", - "chooseInterface": "Select the interface where you want to create a program : ", + "chooseInterface": "Select the interface on which you want to create a program: ", "teacherSharedDescription": "Find here the programs shared by your learners.", - "studentSharedDescription": "Find here the programs shared by your teacher." + "studentSharedDescription": "Find here the programs shared by your teacher" }, "footer": { - "privacy": "Privacy policy ", - "cgu": "Terms of Service", - "legal": "Legal Notices", + "privacy": "Privacy Policy ", + "cgu": "Terms and conditions of use", "copyright": "" }, "teacherHelpPanel": { @@ -356,7 +436,7 @@ "objectPlaceholder": "Object", "messagePlaceholder": "Write your message here. (Maximum 800 characters)", "sendButton": "Send the message", - "fillInAllTheFields": "Fill in all the fields" + "fillInAllTheFields": "Fill in all fields" } }, "sandBoxCreationPanel": { @@ -372,60 +452,73 @@ } }, "modals": { + "addLtiActivityName": "What is the title of the activity ?", "addActivity": { "title": "Add an activity", "resourceBank": { - "title": "Browse the collaborative resource center", - "button": "Resource center " + "title": "Browse the collaborative resource bank", + "button": "Resource Bank " }, "orSeparator": "OR", "attributeActivity": { - "title": "Consult my existing activities", + "title": "View my existing activities", "button": "My activities " }, "createActivity": { "title": "Create a new activity", "button": "Create an activity " - } + }, + "next": "Next", + "limitTitle": "Exceeded limit", + "limitDescription": "The limit of the number of activities linked to this account has been reached.", + "upgradePlan": "Increase limit" + }, + "updateActivity": { + "title": "Update an activity" + }, + "deleteActivity": { + "title": "Delete activity", + "description": "Are you sure you want to delete the activity ?", + "confirm": "Confirm", + "cancel": "Cancel" }, "settingsTeacher": { - "title": "Account settings", + "title": "Account Settings", "lang": "Language", "description": "To change your password or other account settings", - "accessButton": "Access your profile ", + "accessButton": "Go to your profile", "password": "Password", - "passwordDescription": "Here is your password. Remember to memorize it, otherwise only your teacher will be able to give it back to you.", + "passwordDescription": "Here is your password. Remember it, otherwise only your teacher can give it back to you.", "resetPassword": "Reset" }, "addStudent": { "title": "Add students", "pseudo": "Pseudonym", - "addStudentButton": "Add student", + "addStudentButton": "Add learner", "addStudentByCsvButton": "Add a learner file (.csv)" }, "addStudentByCsv": { "title": "Add students with a .csv file", - "description": "You can add one or more learners at once by importing them from a .csv file. It is optionally possible to define the password for each of them. Here are the .csv template files: ", - "descriptionUpdate": "You can add one or more learners at once by importing them from a .csv file. WARNING : here, the passwords of the csv file aren't used ! Here is the .csv template file : ", + "description": "You can add one or more learners at once by importing them from a .csv file. It is optional to define the password for each of them. Here are the sample .csv files: ", "csvTemplate": "template file with password", "csvTemplateNoPassword": "template file without password", - "importStudentByCsvButton": "Importer learners" + "importStudentByCsvButton": "Import learners" }, "exportCsv": { "title": "Export in csv format", - "exportLearnersDescription": "Download the list of learners for this class as well as their password. The downloaded file is in .csv format.", + "exportLearnersDescription": "Download the list of learners for this class and their passwords. The downloaded file is in .csv format.", "exportLearners": "Download the list of learners", - "exportDashboardDescription": "Download the list of learners for this class as well as, for each of them, their assigned activities as well as the status of each activity (not yet carried out, to be corrected, completed). The downloaded file is in .csv format.", + "exportDashboardDescription": "Download the list of learners for this class and, for each of them, their assigned activities as well as the status of each activity (not yet done, to be corrected, completed). The downloaded file is in .csv format.", "exportDashboard": "Download the dashboard" }, "listClass": { - "title": "Switch in student mode", - "description": "You can easily test the interface as a learner, and return to your teacher profile at any time. Progress as a learner will be saved to the \"{{demoStudent}}\" account.", + "title": "Switch to learner mode", + "description": "You can easily test the interface as a learner and return to your teacher profile at any time. Your progress as a learner will be saved in your demostudent account.", "switchButton": "Switch to learner mode" }, "changePseudo": { - "title": "Change pseudo", - "description": "Change pseudo", + "title": "Change nickname", + "description": "Change nickname", "validateButton": "Validate" }, "attributeActivity": { @@ -433,223 +526,113 @@ }, "shareProject": { "title": "Share project" - }, - "profileUpdatePasswordConfirm": { - "title": "Password confirmation", - "description": "Please enter your current password to confirm changes to your profile!", - "placeholderInput": "Password", - "validateButton": "Validate" } } }, - "faqInfo": { - "1": { - "section_title": "General questions", - "question_list": { - "1": { - "title": "What is the Classroom module?", - "answer": "The Classroom module facilitates the allocation of educational content and the monitoring of learners. Teachers can use community contents, or create their own activities and share them." - }, - "2": { - "title": "Who uses the Classroom module?", - "answer": "In class as at home or in an extracurricular workshop, the classroom module is used by teachers (teachers, facilitators, trainers, etc.) and their learners (pupils, students, apprentices, etc.). The Class module has been designed for secondary level (~ 10 to 18 years old), but can be adapted to other contexts." - }, - "3": { - "title": "What is the nature of the support from the Ministry of National Education?", - "answer": "Vittascience is the winner of the Édu-up program to support the production of innovative digital resources. More details are available on the page dedicated to Edu-up ." - }, - "4": { - "title": "On which media can the Class module be used?", - "answer": "The classroom module works on computers, tablets and smartphones with most browsers and an internet connection." - }, - "5": { - "title": "Can we request a demonstration?", - "answer": "We regularly organize Class module presentation webinars, you can subscribe to the Vittascience Youtube channel to view the replay and see the next scheduled webinars. To book a video conference demonstration with one of our pedagogical representatives, contact us using this form ." - }, - "6": { - "title": "How do I report bugs and provide feedback on the Classroom module?", - "answer": "You can contact us on the Classroom module in the profile tab with the \"Help \" button." - }, - "7": { - "title": "Is the Class module available in multiple languages?", - "answer": "Yes, the Classroom module is currently available in French and English. To change the language, go to the profile tab, click on the Settings button, then select the language that suits you." - } - } - }, - "2": { - "3": { - "section_title": "Licenses and Authorizations", - "question_list": { - "1": { - "title": "Can we give a description or presentation of the Class module?", - "answer": "Yes, you can reuse the visuals for Classroom module to create a description, presentation, training, tutorial, course or other. If you wish to include images or activity content, please mention the author (see next question)." - }, - "2": { - "title": "Can we reuse the activities of the Vittascience community?", - "answer": "Yes, all activities visible in the Vittascience resource bank are under a Creative Commons license. Two cases are possible: " - }, - "3": { - "title": "Where can I find the source code for the Classroom module?", - "answer": "The source code for the Classroom module is not available at the moment. You can find many open-source modules of the Vittascience platform on the Vittascience GitHub folder , don't hesitate to contribute!" - } - } - }, - "section_title": "Accounts", - "question_list": { - "1": { - "title": "How to connect to the Classroom module?", - "answer": "It is possible to connect to the Classroom module in three ways: Respect for privacy is essential for Vittascience, for Find out more on the page dedicated to the protection of personal data ." - }, - "2": { - "title": "Can I use Vittascience without an account?", - "answer": "Without an account, it is possible to use the Schedule page and access Vittascience Educational Resources. However, you will need an account to complete classroom activities, save your achievements, and share your content. Your learners do not need to create a Vittascience account if you invite them via the Classroom module." - }, - "3": { - "title": "How to create an account?", - "answer": "Just click \"Subscribe\" on the Classroom module home page. You will need to choose the offer that suits you and provide some information." - }, - "4": { - "title": "What is a teacher account?", - "answer": "Any Vittascience account created from an email address or from the GAR can be used as a teacher account. A teacher account has features for creating learner accounts, organizing activities and exchanging comments with his learners." - }, - "5": { - "title": "What is a learner account?", - "answer": "A learner account allows you to carry out activities requested by teachers, explore Vittascience programming interfaces and share your own achievements. Only a pseudonym is required for the creation of a learner account. A 4-digit code is automatically generated to secure learner access, only the teacher can modify it." - }, - "6": { - "title": "Forgot username or password?", - "answer": "If you have a Vittascience (teacher) account, you can receive a password recovery email via this link. As a learner, you must ask your teacher to reset your 4-digit code." - }, - "7": { - "title": "How do I change my password or other account settings?", - "answer": "To change password or other settings, go to your profile page. In the case of GAR, the settings are those of your ENT." - } - } - }, - "3": { - "section_title": "Licenses and authorizations", - "question_list": { - "1": { - "title": "Can I make my own description or presentation of the Classroom module?", - "answer": "Yes, you may reuse the visuals for the Classroom module to create your own description, presentation, training module, tutorial, course or other content. If you wish to include activity content or images, please mention the author (see next question)." - }, - "2": { - "title": "Can I reuse the activities of the Vittascience community?", - "answer": "Yes, all activities visible in the Vittascience resource bank are under a Creative Commons license. Two cases are possible:" - }, - "3": { - "title": "Where can I find the Classroom module source code?", - "answer": "The source code of the Classroom module is not currently available. You can find many open-source modules of the Vittascience platform on the Vittascience Github repository. Feel free to contribute!" - } - } - }, - "title": "Frequently Asked Questions", - "hint": "Cannot find the answer to your question?Contact us through this form." - }, "login_popup": { "title": "Login", "details": "Enter your login details to access your account.", "form": { - "addressmail": "E-mail address", + "addressmail": "Email address", "addressmail_placeholder": "exemple@domaine.com", "password": "Password", "password_placeholder": "Your password.", "forgot_password": "I forgot my password.", "btn_connect": "Log in" }, - "success": "Authentication was successful. Redirection...", - "error": "Error. Please verify your login details.", + "success": "The authentication was successful. Redirection...", + "error": "Error. Please check your login details.", "mailSuccess": "An activation email has been sent to your email address.", "mailError": "An error has occurred. Please verify your email address.", "userNotFound": "No linked user found with this mail.", "inactiveAccount": "Your account is not active, click on the button just below to send a new validation mail.", "accountDeactivated": "Your account has been deactivated, contact an administrator if the problem persists.", - "errorBeta": "You must be a beta tester to access this functionality.Contact the Vittascience team to find out more." + "errorBeta": "You must be a beta tester to access this feature. Contact the Vittascience team to learn more." }, "signup-popup": { "title": "Registration", "notice": "Please complete the following fields to create your Vittascience account.", "firstName": "First name", - "lastName": "Last name", - "mail": "e-mail address", - "telephone": "Phone number", + "lastName": "Name", + "mail": "Email address", + "telephone": "Phone", "password": "Password", "passwordConfirmed": "Confirmation", "firstNamePlaceholder": "Your first name.", - "lastNamePlaceholder": "Your last name.", - "mailPlaceholder": "A confirmation email will be sent.", - "telephonePlaceholder": "Your phone number (optional).", - "passwordPlaceholder": "Minimum 8 characters. Uppercase, lowercase and numbers.", + "lastNamePlaceholder": "Your name.", + "mailPlaceholder": "A confirmation email will be sent to you.", + "telephonePlaceholder": "Your telephone number (optional).", + "passwordPlaceholder": "Minimum 8 characters. Upper case, lower case and numbers.", "passwordConfirmedPlaceholder": "Repeat your password a second time.", - "mandatory": "Fields marked with a * are mandatory.", + "mandatory": "Fields marked with a * are required.", "submit": "Confirm", "back": "Back", "title2nd": "Please provide us with some additional information", "areYou": "Are you...", - "member": "Individual?", + "member": "An individual?", "teacher": "A teacher?", - "teacher-grade": "Level of education", + "teacher-grade": "Level of training", "grades": { - "primary": "Primary school", - "middle": "Middle school", - "high": "High school", - "highbis": "Professionnal high school", + "primary": "Primary", + "middle": "College", + "high": "High School", + "highbis": "Professional High School", "higher": "Post-BAC" }, "establishement": "Institution", - "establishementPlaceholder": "Search by institution name or city.", - "subject": "Subject", + "establishementPlaceholder": "Search by school name or city.", + "subject": "Subject taught", "bio": "Mini-bio", - "bioPlaceholder": "Tell us a little about yourself, other users of the site will be able to find out a little more about your journey :) Maximum 800 characters.", + "bioPlaceholder": "Tell us a little bit about yourself, so other users of the site can know a little more about your background :) Maximum 800 characters.", "profilPicture": "Profile picture (optional)", - "allowPictures": "Accepted formats: jpeg, jpg, png. Max. 10MB", - "allowPublicName": "Do you agree that your first and last name are public on the site?", + "allowPictures": "Accepted formats: jpeg, jpg, png. Max. 10Mb", + "allowPublicName": "Do you accept that your name and surname are public on the site?", "allowNewsletter": "Would you like to receive our newsletter by email?", - "allowAlertMessage": "Would you like to receive email alerts when you receive new messages on the website?", - "allowMessageReceive": "Would you like to be able to be contacted by other users of the site?", + "allowAlertMessage": "Would you like to receive e-mail alerts when new messages are received on the site?", + "allowMessageReceive": "Would you like to be contacted by other users of the site?", "eighteenConfirm": "I confirm that I am over 18 years old (article 1124 of the civil code)", - "confirmCGU": "By validating this form, you accept the general conditions of use.", + "confirmCGU": "By validating this form, you agree to the Terms and Conditions.", "concernedAboutPrivacy": "Vittascience places the security and confidentiality of its users' personal data at the heart of its concerns. Discover our personal data protection policy", "errors": { - "mailUsed": "The e-mail {{ mail }} is already in use. Please choose another one.", + "mailUsed": "The mail {{ mail }} is already in use. Please choose another one.", "mailUsedServer": "The email address provided already exists.", - "lastName": "The provided last name is incorrect.", - "firstName": "The provided first name is incorrect.", + "lastName": "The name provided is incorrect.", + "firstName": "The first name provided is incorrect.", "mailInvalid": "The email address is invalid.", - "passwordInvalid": "The password does not respect security constraints.", + "passwordInvalid": "The password does not respect the security constraints.", "biographyInvalid": "The biography is incorrect.", "telephoneInvalid": "The phone number is incorrect.", - "profilPictureInvalid": "The provided profile photo does not follow the format indicated.", - "establishementIncorrect": "The institution name is incorrect.", - "gradeIncorrect": "The level of education is incorrect.", - "subjectIncorrect": "The name of the taucht subject is incorrect." + "profilPictureInvalid": "The profile photo provided does not respect the format indicated.", + "establishementIncorrect": "The establishment name is incorrect.", + "gradeIncorrect": "The level of teaching is incorrect.", + "subjectIncorrect": "The name of the subject taught is incorrect." }, "success": { - "main": "Your registration has been successfully registered! A confirmation link has been sent to you at {{mail}}", - "notice": "You must access this link before you can connect. If you cannot find the corresponding email, please check your spam folder." + "main": "Your registration has been successfully registered! A confirmation link has been sent to you at {mail }}.", + "notice": "You must access this link before you can log in. If you cannot find the email in question, please check your spam folder." } }, "switchAccessibility": { "title": "Accessibility", "theme": "Theme", - "light_theme": "Light theme", + "light_theme": "Clear theme", "dark_theme": "Dark theme", - "font": "Fonts", + "font": "Police", "basic_font": "Basic", - "know_more": "Know more" + "know_more": "Read more" }, "words": { "send": "send", - "settings": "settings", - "disconnect": "disconnect", + "settings": "parameters", + "disconnect": "disconnection", "help": "help", "duplicate": "duplicate", "delete": "delete", - "attribute": "attribute", - "modify": "modify", + "attribute": "allocate", + "modify": "edit", "optional": "optional", "evaluation": "evaluation", - "exercise": "exercice", + "exercise": "exercise", "return": "return", "anonymize": "anonymize", "days": "days", @@ -662,7 +645,229 @@ "yes": "Yes", "no": "No" }, - "manager": { + "faqTeacherNeutral": { + "title": "FAQ", + "1": { + "section_title": "Activities", + "question_list": { + "1": { + "title": "What is the purpose of the My Activities tab?", + "answer": "In the My Activities tab, you will be able to:
  1. Create your own activities.
  2. Then assign them to your learners!
" + }, + "2": { + "title": "What is an activity?", + "answer": "An activity is interactive content created from Cabri Express, Cabri Smart or an existing Cabri notebook." + }, + "3": { + "title": "How to create or modify an activity?", + "answer": "

You can easily create or edit activities.

To edit an activity, go to the My Activities tab and click on the icon for your activity and then click Edit. Don't forget to save your changes.

" + }, + "4": { + "title": "How do I assign an activity?", + "answer": "To assign an activity, you have three options:
  1. Either go to the My Activities tab and click on the icon for your activity and then click on Assign. Then, all you have to do is follow the steps.
  2. This Assign option is also available in the activity itself once opened.
  3. Then, you go to the My Classes tab and click on a class. Once you get to the class dashboard, you simply click the \"Add Activity\" button.
" + }, + "5": { + "title": "How to test an activity?", + "answer": "To test an activity, you have two options:
  1. Either go to Profile and click on the \"Switch to Learner Mode\" button and then select the class you want to be in. You will find yourself on the fictitious account of a learner called \"demostudent\", you will be able to discover the \"Learner\" interface and perform the activities you have assigned.
  2. Or go to My classes in the dashboard of a class, you will then be able to place yourself in the skin of the learner demostudent. To do this, click on the icon, you will have the opportunity to become a learner in the class and try out the activities.
To return to the \"Teacher\" mode, simply go to the Profile tab of the demostudent account and click on \"Return to Teacher Mode.\"" + }, + "6": { + "title": "How do you remove an activity allocation without removing the activity?", + "answer": "To remove an activity's assignment, go to the Class tab, open the dashboard for one of the classes, then click on the activity (the icon becomes when you hover over it) and then on Edit Assignment. All you have to do now is change the settings, select or deselect learners." + } + } + }, + "2": { + "section_title": "Class", + "question_list": { + "1": { + "title": "What is the purpose of the My Classes tab?", + "answer": "In the My Classes tab, you will be able to:
  1. Create your own classes and add learners
  2. Correct your learners' responses to activities,
  3. and track their progress.
" + }, + "2": { + "title": "How do I add my learners to my class?", + "answer": "You have several options:
  1. In class, you can project the code to the board. To do this, go to your classroom and click on the button to enlarge the code below:
    Your learners will just have to register or log into the site by entering the code. They will also be able to write down this code to log in at home.
  2. You can also create learners with the \"Add Learner\" button and then send them their password individually, this is visible on the Classroom Dashboard below:
" + }, + "3": { + "title": "Can a learner be in two different classes?", + "answer": "No, this is not currently possible." + }, + "4": { + "title": "How do you block other learners from entering a class?", + "answer": "This option will be available soon! This will prevent learners from registering several times in the same class by mistake, and also prevent outsiders from entering the class without authorization." + }, + "5": { + "title": "How do I assign an activity?", + "answer": "

You can assign an activity to all the classes you've created or just to a specific learner.

To assign an activity, you have three options:

  1. Either go to the My Activities tab and click on the icon for your activity and then click Assign. Then, all you have to do is follow the steps.
  2. This Assign option is also available in the activity itself once opened.
  3. Then, you go to the My Classes tab and click on a class. Once you get to the class dashboard, you simply click the \"Add Activity\" button.
" + }, + "6": { + "title": "Can we go back on the allocation of an activity?", + "answer": "To go back to assigning an activity, go to the Class tab, open the dashboard for one of the classes, then click on the activity (the icon becomes when you hover over it) and then on Edit Assignment. All you have to do now is change the settings, select or deselect learners." + }, + "7": { + "title": "How are activities evaluated?", + "answer": "The assessments are:

Once the learner has completed his activity, he has the possibility to start it again if the teacher has selected the \"Exercise\" mode when assigning. In the \"Assessment\" mode, the student cannot restart once the activity has been validated.

To view the results, simply go to the Class Dashboard.

An uncorrected activity is symbolized by a pencil in the Dashboard. To correct it, click on the pencil, then simply assess and comment on the learner's work.

" + }, + "8": { + "title": "How do we know when learners have completed their activities?", + "answer": "When a learner has completed their activity, you will receive an email notification.
This setting will be adjustable in the future, for now it is not configurable." + }, + "9": { + "title": "How to change the name of a class?", + "answer": "To change the name of your class, you'll need to click on the icon from the My Classes tab, and then on edit. You will then just have to change its name." + }, + "10": { + "title": "How do I remove a learner from a class?", + "answer": "

To delete a learner, simply click the icon next to the learner's name on the Class Dashboard.

Beware, this action is irreversible and closes the learner's account.

" + }, + "11": { + "title": "What is the purpose of the anonymize button in the Dashboard?", + "answer": "This button replaces learners' names with numbers. This allows you to project students' results on the board anonymously so as not to stigmatize certain students." + } + } + }, + "3": { + "section_title": "Profile", + "question_list": { + "1": { + "title": "What is the purpose of the Profile tab?", + "answer": "In the Profile tab, you will be able to:
  1. Manage your account settings,
  2. View your statistics,
  3. and exchange messages with your learners as well as the Cabrilog team if you need help.
" + }, + "2": { + "title": "How do I change my password or other account settings?", + "answer": "To change your password or other settings, go to the Profile tab. In the case of GAR, the settings are those of your ENT." + }, + "3": { + "title": "How do you change the language?", + "answer": "The Classroom module is currently available in English and French. To change the language, go to the profile tab, click on the \"Settings\" button, then select the language you want." + }, + "4": { + "title": "What is learner mode?", + "answer": "

In your profile, you can click the \"Switch to Learner Mode\" button. After choosing a class, you will be taken to a fictitious learner's account called \"demostudent\", where you can discover the Learner interface and perform the activities you have assigned.

To return to the \"Teacher\" mode, just go to the Profile tab of the demostudent account and click on \"Return to Teacher Mode\".

" + } + } + }, + "4": { + "section_title": "General Questions", + "question_list": { + "1": { + "title": "On which media is the class module compatible?", + "answer": "

The interfaces work without installation, on computer, tablet and smartphone! Updates are automatic and your programs are backed up in the cloud.

To take full advantage of all the features, we recommend using Chrome or Firefox.

" + }, + "2": { + "title": "How to create a shortcut to access the Classroom module?", + "answer": "

You have the option of putting an icon on the computer desktop to quickly access the Classroom module. To do this:

On Windows and Mac:

  1. Open the page: classroom/, then reduce the size of the browser window so that you can see the desktop next to it.
  2. In your web browser, use your mouse to select the symbol to the left of the address and, without releasing your click, drag the pointer to the Desktop. Release to create the shortcut.
  3. The shortcut is created. You'll just have to double-click it to open the linked web page.

On Android with Chrome:

  1. Open the page:classroom/, then press the menu button, then select \"Add to Home Screen\".
  2. Name the page and press \"Add\".
  3. The shortcut is created. You will only have to double-click on it to open the linked web page.

On Android with Firefox:

  1. Open the page:classroom/, then press the menu button, then press Page.
  2. Tap Add shortcut to page.
  3. The shortcut is created on the home screen. You'll just have to click on it to open the linked web page.

On iOS with Safari:

  1. Open the page:classroom/, then tap the Share icon.
  2. Select on the home screen, then tap Add.
  3. The shortcut is created on the home screen. You will just have to click on it to open the linked web page.

You can find more tutorials on the internet to create a desktop shortcut.

" + } + } + }, + "5": { + "section_title": "Technical problem", + "question_list": { + "1": { + "title": "I have a bug, what can I do?", + "answer": "When a bug occurs, the first thing to do is to try to refresh the page. If the bug persists, you can contact us in the Profile tab with the \"Help\" button." + }, + "2": { + "title": "How do I report bugs and give feedback?", + "answer": "If the bug persists, you can contact us in the profile tab with the \"Help\" button.
To give us feedback, you can also contact us in the Profile tab with the \"Help\" button." + } + } + }, + "6": { + "section_title": "Licences and permits", + "question_list": { + "1": { + "title": "Can we make a description or presentation of the Class module?", + "answer": "Yes, you can reuse the visuals for the Classroom module to create a description, presentation, training, tutorial, course or other. If you want to include images or activity content, please mention the author (see next question)." + }, + "2": { + "title": "Where can I find the source code of the Class module?", + "answer": "The source code of the Class module is available on the OpenSTEAM-LMS git repository, feel free to contribute!" + } + } + } + }, + "faqStudentNeutral": { + "title": "FAQ", + "1": { + "section_title": "Activities", + "question_list": { + "1": { + "title": "What is the purpose of the My Activities tab?", + "answer": "In the My Activities tab, you'll be able to:
  1. Complete new activities from your teachers.
  2. Save the ones you haven't finished yet.
  3. And review the ones you've done!\"
" + }, + "2": { + "title": "What is an activity?", + "answer": "An activity is interactive content created with Cabri Express or Cabri Author." + } + } + }, + "2": { + "section_title": "Call for help", + "question_list": { + "1": { + "title": "What is the purpose of the Call for Help tab?", + "answer": "In the Call for Help tab, you'll be able to:
  1. Request help from your teachers at any time,
  2. Consult frequently asked questions.
You'll be able to track your message exchange in the Profile tab." + } + } + }, + "3": { + "section_title": "Profile", + "question_list": { + "1": { + "title": "What is the purpose of the Profile tab?", + "answer": "In the Profile tab, you'll be able to:
  1. Manage your account settings,
  2. View your statistics,
  3. and exchange messages with your teachers.
" + }, + "2": { + "title": "How do I change my password or other account settings?", + "answer": "To change your password or other settings, go to the Profile tab." + }, + "3": { + "title": "How do you change the language?", + "answer": "The Classroom module is currently available in English and French. To change the language, go to the profile tab, click on the \"Settings\" button, and then select the language you want." + } + } + }, + "4": { + "section_title": "General Questions", + "question_list": { + "1": { + "title": "How do I get started with the Classroom module?", + "answer": "At any time, you can access general help by clicking on the icon in the upper right to get a handle on the Class module." + }, + "2": { + "title": "On which media is the class module compatible?", + "answer": "

The interfaces work without installation, on computer, tablet and smartphone! Updates are automatic and your programs are saved in the cloud.

To take full advantage of all the features, we recommend using Chrome or Firefox.

" + }, + "3": { + "title": "How to create a shortcut to access the Classroom module?", + "answer": "

You have the option of putting an icon on the computer desktop to quickly access the Classroom module. To do this:

On Windows and Mac:

  1. Open the page: /classroom/, then reduce the size of the browser window so that you can see the desktop next to it.
  2. In your web browser, select the symbol to the left of the address with your mouse and, without releasing your click, drag the pointer to the Desktop. Release to create the shortcut.
  3. The shortcut is created. You'll just have to double-click it to open the linked web page.

On Android with Chrome:

  1. Open the page: /classroom/, then press the menu button, then select \"Add to Home Screen\".
  2. Name the page and press \"Add\".
  3. The shortcut is created. You'll just have to double-click it to open the linked web page.

On Android with Firefox:

  1. Open the page: /classroom/, then tap the menu button, then tap Page.
  2. Tap Add shortcut to page.
  3. The shortcut is created on the home screen. You'll just have to click on it to open the linked web page.

On iOS with Safari:

  1. Open the page:/classroom/, then tap the Share icon.
  2. Select on the home screen, then tap Add.
  3. The shortcut is created on the home screen. You'll just have to click on it to open the linked web page.

You can find more tutorials on the Internet to create a desktop shortcut.

" + } + } + }, + "5": { + "section_title": "Technical problem", + "question_list": { + "1": { + "title": "I have a bug, what can I do?", + "answer": "When a bug occurs, the first thing to do is to try to refresh the page. If the bug persists, you can contact your teacher in the Call for help tab." + }, + "2": { + "title": "How do I report bugs and give feedback?", + "answer": "

If the bug persists, you can contact your teacher in the Help tab.

To give feedback to your teaching, you can also contact him/her in the Help tab.

" + } + } + }, + "6": { + "section_title": "Licences and permits", + "question_list": { + "1": { + "title": "Where can I find the source code of the Class module?", + "answer": "The source code of the Class module is available on the OpenSTEAM-LMS git repository, feel free to contribute!" + } + } + } + }, + "manager": { "profil": { "manager": "Switch to manager", "groupAdmin": "Switch to group administrator", @@ -1135,4 +1340,4 @@ "description": "Activity description *", "content": "Activity content *" } -} \ No newline at end of file +} diff --git a/classroom/assets/lang/es/ns.json b/classroom/assets/lang/es/ns.json new file mode 100644 index 00000000..3aafdab5 --- /dev/null +++ b/classroom/assets/lang/es/ns.json @@ -0,0 +1,774 @@ +{ + "classroom": { + "login": { + "noClass": "El código introducido no corresponde a ninguna clase", + "hello1": "'¡Buen día!'", + "hello2": "¡Buen día!", + "neutralTitle": "OpenSTEAM LMS", + "cabriTitle": "Cabri.com", + "subtitle": "Descubrir-Aprender-Compartir", + "cabriSubtitle": "La plataforma para tener éxito en matemática y ciencias", + "login": "Conectarse", + "activities": "Cree fácilmente
sus actividades", + "cabriActivities": "Cree ejercicios
automáticamente en
minutos", + "attribute": "asígneselos a sus estudiantes", + "cabriProgress": "Siga los progresos
de sus alumnos", + "visualize": "visualice
sus resultados", + "cabriRessources": "Acceda a una
base de actividades
variadas y comparta
sus creaciones", + "student": "ALUMNO", + "codeInput": "Ingrese aquí su código de clase", + "teacher": "PROFESOR", + "hasAccount": "¿Ya tiene una cuenta ?", + "gar": "Disfrute con facilidad el módulo aula usando el GAR.
La conexión al GAR todavía no está disponible, estará lista pronto.", + "signup": "INSCRIBIRSE", + "firstVisit": "¿Primera visita? Por favor, elija un nombre de usuario.", + "signin": "CONECTARSE", + "registerLink": "Cree una cuenta", + "hasReturned": "¿De regreso a ésta clase?", + "forgot": "He olvidado mi contraseña", + "error": { + "used": "Ese alias ya se ha utilizado, debe elegir otro", + "badInput": "Su alias o contraseña es errónea." + }, + "register": { + "title": "Inscripción", + "description": "Le agradecemos que complete los siguientes campos para crear su cuenta.", + "passwordConstraints": "Mínimo 8 caracteres", + "createButton": "Inscripción" + } + }, + "register": { + "accountConfirmationEmail": { + "emailSubject": "Activar mi cuenta", + "bodyTitle": "Activar mi cuenta", + "textBeforeLink": "Si el botón anterior no funciona, copie y pegue el siguiente enlace en su navegador:" + } + }, + "updateUserInfos": { + "emailUpdateConfirmation": { + "emailSubject": "Confirmar mi nuevo correo.", + "bodyTitle": "Confirmar mi nueva dirección electrónica", + "textBeforeLink": "Si el botón anterior no funciona, copie y pegue el siguiente enlace en su navegador:" + } + }, + "successPanel": "¡Bien hecho, lo has conseguido!", + "failPanel": "La respuesta no es correcta", + "toCorrectPanel": "La actividad ha sido enviada a tu profesor,
que se pondrá en contacto contigo ¡en breve! ", + "help": { + "student": { + "label": "Contacta a tu profesor", + "question": "Haz tus preguntas...", + "title": "Objeto" + }, + "teacher": { + "label": "Contacta a tu profesor" + } + }, + "profil": { + "identity": "Nombre Apellido", + "class": "CLASE : ", + "todo": "Actividades
para hacer", + "done": "Actividades
realizadas", + "create": "Actividades
creadas", + "correctionToDo": "Correcciones
a hacer", + "switchMode": "Pasar al modo alumno", + "switchModeTeacher": "Volver al modo profesor", + "accountSettings": { + "title": "Mi cuenta", + "firstname": "Nombre", + "lastname": "Apellido", + "nickname": "Nombre de usuario", + "email": "Correo electrónico", + "password": "Contraseña", + "confirmPassword": "Confirmar contraseña", + "updateButton": "Actualizar" + } + }, + "notif": { + "shareProjectTeacher": "El proyecto ha sido compartido con tu profesor", + "addActivities": "Las actividades seleccionadas se han agregado a tu lista", + "addActivity": "La actividad ha sido agregada a tu lista", + "saveProject": "¿Haz pensado guardar tu actividad?", + "savedProject": "El cuaderno de tu actividad ha sido guardado.", + "deleteProject": "El proyecto ha sido eliminado", + "shareProject": "El proyecto ha sido compartido", + "corrections": "Un ejercicio ha sido devuelto a sus clases", + "deleteAccount": "¿Está seguro de querer suprimir la cuenta del alumno?", + "accountIsDelete": "La cuenta del alumno ha sido suprimida", + "newPwd": "La nueva contraseña del alumno {{pseudo}} es {{pwd}}", + "classCreatedButNotUsers": "La clase {{classroomName}} ha sido creada correctamente, pero no las cuentas asociadas (Tu cuenta no te permite tener {{learnerNumber}} alumnos)", + "classUpdatedButNotUsers": "La clase {{classroomName}} ha sido actualizada, pero no las cuentas asociadas (Su cuenta no le permite tener {{learnerNumber}} alumnos)", + "usersNotAdded": "El alumno no ha podido ser agregado (Tu cuenta no te permite tener {{learnerNumber}} alumnos)", + "cantLoginLimitLearners": "No puedes unirte a la clase. Tu profesor ha alcanzado su número máximo de alumnos", + "cantLoginClassroomBlocked": "No puedes unirte a la clase, tu profesor ha bloqueado el acceso.", + "classNotCreated": "No puede tener más de una clase.", + "attributeActivityUndone": "La asignación de la actividad ha sido anulada", + "pseudoUpdated": "El nuevo alias del alumno es {{newPseudo}}", + "classroomDeleted": "La clase {{classroomName}} ha sido eliminada", + "classroomCreated": "La clase {{classroomName}} ha sido creada, así como todas las cuentas asociadas", + "classroomUpdated": "La clase {{classroomName}} ha sido actualizada, así como todas las cuentas asociadas", + "usersAdded": "Las cuentas han sido creadas", + "usersAddedFromCsv": "Las cuentas han sido creadas por medio del archivo csv", + "activityDeleted": "La actividad {{activityName}} ha sido suprimida", + "mustAttributeToStudent": "Debes seleccionar a los alumnos", + "activityAttributed": "La actividad {{activityTitle}} ha sido asignada a los alumnos inscriptos", + "activityAttributionChanged": "La asignación de la actividad {{activityTitle}} se ha modificado para los alumnos inscriptos", + "activityCreated": "La actividad {{activityTitle}} ha sido creada", + "activityChanged": "La actividad {{activityTitle}} ha sido modificada", + "activityTitleMissing": "Debes ingresar el título de la actividad", + "activityPlayerMissing": "Debes completar la url del jugador", + "CsvFileMissing": "No has elegido el archivo csv", + "errorWithCsv": "Error al abrir el archivo csv : {{error}}", + "cantGetPassword": "Error, no puede ver su contraseña", + "cantResetPassword": "Error, no puede reiniciar su contraseña", + "accountUpdated": "Su cuenta ha sido actualizada", + "emailUpdated": "Vaya al enlace de confirmación que se le acaba de enviar a la nueva dirección de correo electrónico para finalizar la actualización", + "firstNameTooShort": "El nombre debe contener al menos 2 caracteres", + "lastNameTooShort": "El apellido debe contener al menos 2 caracteres", + "pseudoTooShort": "El alias debe contener al menos 2 caracteres", + "invalidEmail": "La dirección electrónica dada no es válida", + "invalidPassword": "La contraseña dada no es válida. Debe contener al menos 8 caracteres.", + "passwordAndConfirmMismatch": "¡La contraseña y su confirmación no son idénticas!", + "unknownUser": "Error de actualización de la cuenta: ¡El usuario no existe!", + "passwordInvalid": "La contraseña no respeta las restricciones de seguridad", + "emailInvalid": "La dirección de correo enviada no es válida", + "emailExists": "La dirección de correo ya ha sido atribuida a otra cuenta", + "UserNotExists": "Error al cargar / reiniciar la contraseña: ¡Usuario incorrecto!", + "RegularUserNotAllowed": "Error al cargar / reiniciar la contraseña: sólo los alumnos pueden etiquetar / reiniciar su propia contraseña", + "PasswordLengthInvalid": "Es imposible recuperar la contraseña: ¡Contraseña errónea!", + "accountCreated": "La cuenta ha sido creada. Vaya al enlace de confirmación que se le acaba de enviar por correo electrónico para finalizar el registro y poder conectarse.", + "firstnameMissing": "Debe introducir su nombre", + "surnameMissing": "Debe introducir su apellido", + "pseudoMissing": "Debe introducir su alias", + "emailMissing": "Debe introducir su correo electrónico", + "passwordMissing": "Debe introducir su contraseña", + "passwordConfirmMissing": "Debe confirmar su contraseña", + "passwordsMismatch": "La contraseñas y la confirmación no coinciden", + "invalidUserId": "Error al enviar el mensaje: su identificación no es válida", + "helpRequestFromTeacherSent": "Su mensaje ha sido enviado con éxito. Le responderemos lo más rápido posible.", + "subjectMissingTeacherHelpForm": "Debe ingresar el asunto del mensaje", + "messageMissingTeacherHelpForm": "Debe ingresar su mensaje", + "invalidUserIdTeacherHelpForm": "Error al enviar su mensaje: su identificación no es válida", + "unknownUserTeacherHelpForm": "Error al enviar su mensaje: su identificación no corresponde a ninguna cuenta de profesor", + "helpRequestFromLearnerSent": "Tu mensaje se ha enviado correctamente a tu profesor", + "subjectMissingLearnerHelpForm": "Debes ingresar el asunto del mensaje", + "messageMissingLearnerHelpForm": "Debes ingresar tu mensaje", + "invalidUserIdLearnerHelpForm": "Error al enviar el mensaje: tu identificación no es válida", + "unknownUserLearnerHelpForm": "Error al enviar el mensaje: tu identificación es desconocida", + "unknownEmailLearnerHelpForm": "Error al enviar el mensaje: el correo electrónico de tu profesor es desconocido", + "activityTitleInvalid": "La actividad no pudo ser creada: título no válido", + "activityContentInvalid": "La actividad no pudo ser creada: contenido no válido", + "activityIsFromClassroomInvalid": "La actividad no pudo ser creada: error de contexto", + "activityUserIdInvalid": "La actividad no pudo ser creada: usuario no válido", + "generalBackendError": "Ha ocurrido un error, inténtalo de nuevo más tarde" + }, + "ids": { + "classroom-dashboard-help-panel-teacher": "Ayuda", + "classroom-dashboard-activities-panel-teacher": "Mis actividades", + "classroom-dashboard-classes-panel-teacher": "Mis clases", + "classroom-dashboard-sandbox-panel": "Cajón de arena", + "classroom-dashboard-profil-panel-teacher": "Perfil", + "classroom-dashboard-activities-panel": "Mis actividades", + "classroom-dashboard-profil-panel": "Perfil", + "classroom-dashboard-help-panel": "Ayuda", + "classroom-dashboard-activities-panel-library-teacher": "Banco de recursos", + "classroom-dashboard-new-activity-panel": "Creación de la actividad", + "classroom-dashboard-new-activity-panel2": "Intermediario", + "classroom-dashboard-new-activity-panel3": "Asignación", + "classroom-table-panel-teacher": "Clase", + "classroom-dashboard-sandbox-creation": "Selección de la interfaz", + "classroom-dashboard-ide-panel": "Caja de arena {{interface}}", + "classroom-dashboard-activity-panel": "Actividad {{name}}" + }, + "navbar": { + "activities": "Actividades" + }, + "classes": { + "add": "Agregar una clase", + "form": { + "title": "Crear una clase", + "name": "Nombre de la clase", + "school": "Nombre de la institución", + "addStudent": "Agregar un alumno", + "noStudent": "Aún no hay alumnos en esta clase", + "isBlockedButton": "Límitado a estos alumnos, nadie más podrá unirse a la clase", + "save": "Grabar la clase", + "return": "Regresar a la clase" + }, + "copyDirectLink": "Copiar enlace directo" + }, + "activities": { + "title": "Actividades", + "save": "Guardar el cuaderno", + "add": "Crear una actividad", + "addCabriExpress": "Crear actividad Express", + "addCabriGenius": "Crear actividad Smart", + "addOther": "Otro tipo de actividades", + "new": "Nuevos", + "current": "En espera de corrección", + "waiting": "Sin realizar aún", + "done": "Terminados", + "todo": "Para corregir", + "anonymise": "Proteja la lista de sus alumnos con otros nombres para que pueda mostrar el panel a sus alumnos", + "save-draft": "Guardar como borrador", + "validate": "Validar la actividad", + "accept": "Alta competencia", + "vgood": "Competencia satisfactoria", + "good": "Competencia frágil", + "refuse": "Competencia insuficiente", + "instruction": "Consigna", + "commentary": "Comentario", + "sendResults": "Enviar el comentario al alumno", + "noSend": "Ésta actividad no ha sido retroalimentada", + "comments": "Ingrese sus observaciones", + "teacherComments": "Comentarios del profesor", + "activitySubmited": "La actividad de $1 entregada el $2", + "bilan": { + "title": "Balance", + "results": "Resultados", + "grade": "Calificación" + }, + "form": { + "1": "Creación de la actividad", + "2": "Asignación", + "title": { + "label": "Título de la actividad", + "labelCabri": "¿Cuál es el título de la actividad?", + "placeholder": "Titulo del tema", + "placeholderCabri": "Título de la actividad" + }, + "iframe": { + "label": "¿Cuál es la URL de acceso?", + "placeholder": "Introduzca una URL" + }, + "notebookUpdateMessage": "No edite esta sección si desea conservar el antiguo libro de actividades.", + "notebookUrl": { + "label": "Añadir la URL de un cuaderno ", + "placeholder": "URL del cuaderno" + }, + "playerUrl": { + "label": "Añadir una URL de jugador", + "placeholder": "URL del jugador" + }, + "player": { + "labelFileChooser": "Elija un archivo", + "fileUpload": "El archivo se ha cargado correctamente", + "dragDrop": "Arrastrar y soltar" + }, + "nextButton": "Siguiente", + "endButton": "Acabado", + "content": { + "label": "Contenido de la actividad" + }, + "button": "Guardar y validar", + "success": "¡Bravo, ha creado una actividad!", + "attribute": "Asignar ahora la actividad", + "attribute2": "Asignar la actividad", + "return": "Regresar a Mis actividades", + "hint": "Siempre puede asignar más tarde ésta actividad desde el tablero", + "modify": "Modificar la actividad", + "select1": "Seleccionar los alumnos", + "select2": " seleccionados", + "instructions": "Consigna específica para éstos alumnos.", + "autocorrect": "Ésta actividad posee corrección automática ¿Desea activarla?", + "nature": "¿El alumno puede enviar la actividad varias veces?", + "dateBegin": "Fecha de inicio", + "dateEnd": "Fecha de término:" + }, + "toCopy": "Este código facilita unirse a su clase", + "copyLink": "El enlace a su clase se ha agregado al portapapeles", + "dateBefore": "Para ser devuelto antes de", + "dateBeforeAvailable": "Disponible hasta", + "integrate": "Integrar dentro de una actividad", + "veryGoodProficiency": "Alta competencia", + "goodProficiency": "Competencia satisfactoria", + "weakProficiency": "Competencia frágil", + "insufficientProficiency": "Competencia insuficiente", + "addLearner": "Agregar un alumno", + "exportCsv": "Exportar csv", + "players": { + "STANDARD": { + "title": "Standard", + "description": "El lector estándar le permitirá leer en línea todos los libros de actividades producidos con la herramienta de autoría Cabri." + }, + "IMUSCICA": { + "title": "iMuSciCA", + "description": "El reproductor iMuSciCA permite reproducir en el estudio musical todas las actividades realizadas con la herramienta de autoría Cabri." + }, + "IFRAME": { + "title": "Autre", + "description": "Elija entre una selección de lectores para utilizar en sus actividades con la herramienta de autoría Cabri." + }, + "EXPRESS": { + "title": "Express", + "description": "Crear una actividad utilizando herramientas de geometría dinámica y álgebra, calculadora científica y gráfica, etc." + }, + "GENIUS": { + "title": "Smart", + "description": "Cree una actividad con las herramientas Express y añada una evaluación automática." + }, + "IFRAME-CABRI3D": { + "title": "Cabri 3D", + "description": "Crear una exploración dinámica de la geometría del espacio." + }, + "LTI-BLOCKLY": { + "title": "Cabri Blockly", + "description": "¡Añada acciones del usuario a una actividad Cabri, como animaciones, cierres, etc., programadas visualmente con el mismo espíritu que con Scratch o Snap!" + } + }, + "tabs": { + "players": "Libro de actividades", + "iframes": "Vídeo y página web" + }, + "iframes": { + "IFRAME-VIDEO": { + "title": "Vídeo", + "description": "Introduzca la URL de un vídeo publicado en una plataforma de alojamiento." + }, + "IFRAME-PAGE": { + "title": "Página web", + "description": "Introduzca la URL de la página web." + } + }, + "displayActivity": "Mostrar la actividad", + "modifyActivity": "Modifica la actividad", + "modifyActivityAttribution": "Modificar la atribución", + "removeActivityAttribution": "Eliminar la atribución" + }, + "filter": { + "desc": "Del menos al más reciente", + "asc": "Del más al menos reciente", + "cabriExpress": "Sólo actividades de Cabri Express", + "cabriGenius": "Sólo actividades de Cabri Smart", + "cabriVittascience": "Sólo actividades de Vittascience", + "iframe": "Sólo otros tipos de actividades", + "placeholder": "Buscar..." + }, + "sandbox": { + "mine": "Mis proyectos", + "shared": "Proyectos compartidos", + "add": "Crear un programa", + "chooseInterface": "Seleccionar una interfaz en la cual desea crear un programa: ", + "teacherSharedDescription": "Encuentre aquí los programas compartidos por sus alumnos", + "studentSharedDescription": "Encuentra aquí los programas compartidos por tu profesor" + }, + "footer": { + "privacy": "Política de confidencialidad", + "cgu": "Condiciones
generales de uso", + "copyright": "copyright" + }, + "teacherHelpPanel": { + "contactForm": { + "title": "Contáctenos", + "objectPlaceholder": "Objeto", + "messagePlaceholder": "Escriba su mensaje aquí. (Máximo de 800 caracteres)", + "sendButton": "Enviar el mensaje", + "fillInAllTheFields": "Complete todos los campos" + } + }, + "modals": { + "addLtiActivityName": "¿Cuál es el título de la actividad?", + "addActivity": { + "title": "Agregar una actividad", + "resourceBank": { + "title": "Navegar en la banca de recursos colaborativos", + "button": "Banca de recursos" + }, + "orSeparator": "O", + "attributeActivity": { + "title": "Consultar mis actividades existentes", + "button": "Mis actividades" + }, + "createActivity": { + "title": "Crear una nueva actividad", + "button": "Crear una actividad" + }, + "next": "Siguiente", + "limitTitle": "Límite excedido", + "limitDescription": "Se alcanzó el límite de la cantidad de actividades vinculadas a esta cuenta.", + "upgradePlan": "Aumentar el límite" + }, + "updateActivity": { + "title": "Modificar una actividad" + }, + "deleteActivity": { + "title": "Eliminar una actividad", + "description": "¿Estás seguro de que deseas eliminar la actividad?", + "confirm": "Confirmar", + "cancel": "Anular" + }, + "settingsTeacher": { + "title": "Parámetros de la cuenta", + "lang": "Idioma", + "description": "Para cambiar su contraseña u otros parámetros de su cuenta", + "accessButton": "Acceder a su perfil", + "password": "Contraseña", + "passwordDescription": "He aquí tu contraseña. Recuerda memorizarla, de lo contrario sólo tu profesor puede devolvértela.", + "resetPassword": "Reiniciar" + }, + "addStudent": { + "title": "Agregar estudiantes", + "pseudo": "Seudónimo", + "addStudentButton": "Agregar alumno", + "addStudentByCsvButton": "Agregar un archivo de alumnos (.csv)" + }, + "addStudentByCsv": { + "title": "Agregar estudiantes con un archivo .csv", + "description": "Puede agregar uno o más alumnos a la vez importándolos desde un archivo .csv. Opcionalmente es posible definir la contraseña para cada uno de ellos. Aquí están los archivos modelo .csv :", + "csvTemplate": "archivo modelo con contraseña", + "csvTemplateNoPassword": "archivo modelo sin contraseña", + "importStudentByCsvButton": "Importar alumnos" + }, + "exportCsv": { + "title": "Exportar en formato csv", + "exportLearnersDescription": "Descargar la lista de alumnos para ésta clase así como las contraseñas. El archivo descargado está en formato .csv.", + "exportLearners": "Descargar la lista de alumnos", + "exportDashboardDescription": "Descarga la lista de alumnos de esta clase así como, para cada uno de ellos, sus actividades asignadas y el estatus de cada actividad (aún no realizada, por corregir, finalizada). El archivo descargado está en formato .csv", + "exportDashboard": "Descarga el tablero de control" + }, + "listClass": { + "title": "Cambiar a modo alumno", + "description": "Puede probar fácilmente la interfaz como alumno y volver a su perfil de profesor en cualquier momento. El progreso como alumno se guardará en la cuenta de demostudent.\n\n", + "switchButton": "Cambiar a modo alumno" + }, + "changePseudo": { + "title": "Modificar el alias", + "description": "Modificar el seudónimo", + "validateButton": "Validar" + } + } + }, + "login_popup": { + "title": "Login", + "details": "Ingrese sus datos de identificción para acceder a su cuenta", + "form": { + "addressmail": "Dirección de correo", + "addressmail_placeholder": "ejemplo@dominio.com", + "password": "Contraseña", + "password_placeholder": "Su contraseña", + "forgot_password": "He olvidado mi contraseña", + "btn_connect": "Conectarse" + }, + "success": "Identidad confirmada. Redirigiendo...", + "error": "Error. Verifique sus datos de inicio", + "errorBeta": "Debe ser un verificador beta para acceder a esta función. Póngase en contacto con el equipo de Vittascience para obtener más información" + }, + "signup-popup": { + "title": "Inscripción", + "notice": "Complete los siguientes campos para crear su cuenta Vittascience", + "firstName": "Nombre", + "lastName": "Apellido", + "mail": "Dirección de correo", + "telephone": "Teléfono", + "password": "Contraseña", + "passwordConfirmed": "Confirmación", + "firstNamePlaceholder": "Su nombre.", + "lastNamePlaceholder": "Su apellido.", + "mailPlaceholder": "Le será enviado un mail de confirmación.", + "telephonePlaceholder": "Su número de teléfono (optativo).", + "passwordPlaceholder": "Mínimo 8 caracteres. Mayúsculas, minúsculas y cifras.", + "passwordConfirmedPlaceholder": "Repetir su contraseña una segunda vez.", + "mandatory": "Los campos marcados por un * son obligatorios.", + "submit": "Confirmar", + "back": "Regresar", + "title2nd": "Gracias por brindarnos información adicional", + "areYou": "¿Es usted?", + "member": "¿Un particular?", + "teacher": "¿Un profesor?", + "teacher-grade": "Nivel de formación", + "grades": { + "primary": "Primaria", + "middle": "Escuela intermedia", + "high": "Secundaria", + "highbis": "Secundaria Profesional", + "higher": "" + }, + "establishement": "Establecimiento", + "establishementPlaceholder": "Busque por nombre de establecimiento o ciudad.", + "subject": "Asignatura enseñada", + "bio": "Mini-bio", + "bioPlaceholder": "Cuéntenos un poco de usted, los otros usuarios del sitio podrán conocer un poco más sobre su trayectoria :) Máximo 800 caracteres.", + "profilPicture": "Foto de perfil (optativo)", + "allowPictures": "Formatos aceptados: jpeg, jpg, png. Max. 10Mb", + "allowPublicName": "¿Acepta que su apellido y nombre sea publicado en este sitio?", + "allowNewsletter": "¿Le gustaría recibir nuestro boletín de noticias por correo electrónico?", + "allowAlertMessage": "¿Le gustaría recibir alertas en su correo electrónico cuando reciba nuevos mensajes en el sitio?", + "allowMessageReceive": "¿Les gustaría ser contactado por los otros usuarios del sitio? ", + "eighteenConfirm": "Confirmo tener más de 18 años (artículo 1124 del código civil)", + "confirmCGU": "Al validar este formulario, acepta las condiciones generales de uso", + "concernedAboutPrivacy": "Vittascience coloca la seguridad y confidencialidad de los datos personales de sus usuarios en el centro de sus preocupaciones. Descubranuestra política de protección de los datos personales", + "errors": { + "mailUsed": "El correo {{ mail }} ya fue utilizado. Por favor elija otro.", + "mailUsedServer": "La dirección de correo electrónico dada ya existe.", + "lastName": "El apellido dado es incorrecto.", + "firstName": "El nombre dado es incorrecto.", + "mailInvalid": "La dirección de correo electrónico es inválida.", + "passwordInvalid": "La contraseña no respeta las exigencias de seguridad.", + "biographyInvalid": "La biografía es incorrecta.", + "telephoneInvalid": "El número telefónico es incorrecto.", + "profilPictureInvalid": "La foto de perfil proporcionada no cumple con el formato indicado.", + "establishementIncorrect": "El nombre del establecimiento es incorrecto.", + "gradeIncorrect": "El nivel de enseñanza es incorrecto.", + "subjectIncorrect": "El nombre de la asignatura enseñada es incorrecto." + }, + "success": { + "main": "¡Su inscripción ha sido registrada con éxito! Se le ha enviado un enlace de conformación a la dirección {{ mail }}", + "notice": "Debe acceder a este enlace antes de poder conectarse. Si no encuentra el correo en cuestión, verifique en su carpeta de correo no deseado." + } + }, + "switchAccessibility": { + "title": "Accesibilidad", + "theme": "Tema", + "light_theme": "Tema claro", + "dark_theme": "Tema oscuro", + "font": "Policía", + "basic_font": "Básico", + "know_more": "Más información" + }, + "words": { + "send": "enviar", + "settings": "parámetros", + "disconnect": "desconexión", + "help": "ayuda", + "duplicate": "duplicar", + "delete": "eliminar", + "attribute": "asignar", + "modify": "modificar", + "optional": "opcional", + "evaluation": "evaluación", + "exercise": "ejercicio", + "return": "regresar", + "anonymize": "dar anonimato", + "days": "días", + "hours": "horas", + "minutes": "minutos", + "seconds": "segundos", + "confirm": "confirmar", + "username": "alias", + "password": "contraseña", + "yes": "Si", + "no": "No" + }, + "faqTeacherNeutral": { + "title": "FAQ", + "1": { + "section_title": "Actividades", + "question_list": { + "1": { + "title": "¿Para qué sirve la pestaña Mis actividades?", + "answer": "En la pestaña Mis actividades, Usted podrá :
  1. Crear sus propias actividades.
  2. Y entonces ¡asignarlos a sus alumnos!
" + }, + "2": { + "title": "¿Que es una actividad?", + "answer": "Una actividad es un contenido interactivo creado a partir de Cabri Express, Cabri Smart o un cuaderno Cabri ya existente." + }, + "3": { + "title": "¿Cómo crear o modificar una actividad?", + "answer": "

Usted puede crear fácilmente o modificar las actividades. \n

Para modificar una actividad, vaya a la pestaña Mis actividades y haga clic en el ícono de su actividad y haga clic en Modificar. No olvide guardar sus modificaciones.

" + }, + "4": { + "title": "¿Cómo asignar una actividad?", + "answer": "Para asignar una actividad, cuenta con tres opciones::
  1. Vaya a la pestaña Mis actividades y haga clic en el icono de su actividad y luego haga clic en Asignar. Enseguida, sólo siga los pasos.
  2. Esta opción de Asignar también está disponible en la propia actividad una vez abierta.
  3. De lo contrario, vaya a la pestaña Mis clases y haga clic en una clase. Una vez en el panel de control del aula, todo lo que tiene que hacer es hacer clic en el botón \"Agregar una actividad\".
abierta." + }, + "5": { + "title": "¿Cómo probar una actividad?", + "answer": "Para probar una actividad, tiene dos opciones:
  1. Vaya a Perfil y haga clic en el botón \"Cambiar al modo de alumno\" y luego seleccione la clase en la que se desea colocar. Termina en la cuenta ficticia de un alumno llamado \"demostudent\", donde puede descubrir la interfaz \"Alumno\" y llevar a cabo las actividades que ha asignado.
  2. Vaya a Mis clases en el panel de control de la clase, luego podrá ponerse en el papel del alumno demostudent. Para hacer esto, haga clic en el ícono , tendrá la oportunidad de convertirse en un alumno de la clase y probar las actividades.
Para volver al modo \"Profesor\", simplemente vaya a la pestaña Perfil de la cuenta de demostudent y haga clic en \"Volver al modo profesor\"." + }, + "6": { + "title": "¿Como eliminar la asignación de una actividad sin eliminar la actividad?", + "answer": "Para suprimir la asignación de una actividad, ir a la pestaña Clase, abrir el panel de control de una clase, después haga un clic en la actividad(el icono se convierte en cuando se pasa por debajo) después sobre Modificar la asignación. Solo tiene que cambiar la configuración, seleccionar o anular la selección de los alumnos." + } + } + }, + "2": { + "section_title": "Clase", + "question_list": { + "1": { + "title": "¿Para qué sirve la pestaña Mis clases?", + "answer": "En la pestaña Mis clases, va a poder:
  1. Crear sus propias clases y agregar alumnos
  2. Corregir las respuestas de las actividades de sus alumnos,
  3. y seguir su progreso.
" + }, + "2": { + "title": "¿Cómo agregar mis alumnos a mi clase?", + "answer": "Tiene varias opciones:
  1. En clase, puedeproyectar el código en el tablero.Para hacer esto, vaya a su clase y haga clic sobre el botón para ampliar el código de aquí debajo:
    Sus alumnos solo tendrán que registrarse o conectarse al sitio ingresando el código. Igualmente ellos podrán anotar este código para conectarse desde sus casas.
  2. También puede crear alumnos con el botón\" Agregar un alumno\" y luegocomunicarle su contraseña individualmente , esto es visible en el Panel de control de la clase a continuación :
" + }, + "3": { + "title": "¿Un alumno puede encontrarse en dos clases diferentes?", + "answer": "No, esto no es posible actualmente." + }, + "4": { + "title": "¿Como impedir la llegada de otros alumnos en una clase?", + "answer": "¡Esta opción estará disponible pronto! En especial evitará que los alumnos se inscriban varias veces en una misma clase por error, e igualmente evitará que personas externas entren en la clase sin autorización." + }, + "5": { + "title": "¿Cómo asignar una actividad?", + "answer": "

Usted podrá atribuir una actividad a toda la clase que haya creado o solamente a un alumno en particular.

Para asignar una actividad, usted tiene tres opciones :

  1. O bien, va a la pestaña Mis actividades y hace clic en el icono de su actividad y después hace clic en Asignar. Luego, solo debe seguir los pasos.
  2. Esta opción de Asignar también está disponible en la propia actividad una vez abierta.
  3. De lo contrario, va a la pestaña Mis clases y hace clic en una clase. Una vez en el panel de control del aula, todo lo que tiene que hacer es hacer clic en el botón \"Agregar una actividad\".
" + }, + "6": { + "title": "¿Se puede volver sobre la asignación de una actividad?", + "answer": "Para volver sobre la asignación de una actividad, vaya a la pestaña Clase, abra el panel de control de una clase, después haga un clic sobre la actividad (el ícono se convierte cuando pasa sobre él) después sobre Modificar la asignación. Solo tiene que cambiar la configuración, seleccionar o anular la selección de los alumnos." + }, + "7": { + "title": "¿Cómo se hace la evaluación de las actividades?", + "answer": "Las evaluaciones son:
  • manualmente en 4 niveles: Muy buen dominio; Aprendizaje suficiente; Aprendizaje débil y Aprendizaje insuficiente
  • Automático en 2 niveles: Aprendizaje muy bueno y Aprendizaje bajo.
    Este tipo de evaluación permite al alumno obtener su corrección de inmediato y que el maestro se beneficie de un ahorro significativo de tiempo.

Una vez que el alumno ha terminado su actividad, puede comenzar de nuevo si el profesor ha seleccionado el modo \"Ejercicio\" en la asignación. En el modo \"Evaluación\", el alumno no puede comenzar de nuevo una vez que la actividad ha sido validada.

Para ver los resultados, simplemente vaya al Panel de control de la clase.

Se simboliza una actividad no corregida con un lápiz en el Tablero de control. Para corregirla, haga clic en el lápiz, luego solo tiene que evaluar y comentar el trabajo del alumno.

" + }, + "8": { + "title": "¿Cómo se sabe cuándo los estudiantes han terminado sus actividades?", + "answer": "Cunado un estudiante haya terminado su actividad, usted recibirá unna notificación por correo electrónico.
Este parámetro será ajustable en el futuro, por el momento no es configurable." + }, + "9": { + "title": "¿Cómo modificar el nombre de una clase?", + "answer": "Para cambiar el nombre ded una clase, hace falta hacer un clic sobre el ícono desde la pestaña Mis clases, luego en modificar. No tendrá más que cambiar el nombre." + }, + "10": { + "title": "¿Cómo suprimir un alumno de una clase?", + "answer": "

Para suprimir un alumno, es suficiente hacer un clic sobre el ícono junto al nombre del alumno en el Tablero de control de la clase.

Atención, esta acción es irreversible y cierra la cuenta del alumno.

" + }, + "11": { + "title": "¿Para que sirve el botón anonimizar en el Tablero de control?", + "answer": "Este botón reemplaza el nombre de los estudiantes por números. Esto permite que los resultados de los alumnos se proyecten en el tablero anónimamente para no estigmatizar a ciertos alumnos." + } + } + }, + "3": { + "section_title": "Perfil", + "question_list": { + "1": { + "title": "¿Para qué sirve la pestaña Perfil?", + "answer": "En la pestaña Perfil, podrá :
  1. Administrar la configuración de su cuenta ,
  2. Ver sus estadísticas,
  3. e intercambiar mensajes con sus alumnos, así como con el equipo de Cabrilog si tiene necesita ayuda.
" + }, + "2": { + "title": "¿Cómo cambiar la contraseña u otras configuraciones de la cuenta?", + "answer": "Para cambiar la contraseña u otras configuraciones, vaya a la pestaña Perfil. En el caso de GAR, los parámetros son los de su ENT." + }, + "3": { + "title": "¿Cómo se cambia el idioma?", + "answer": "El módulo Clase está actualmente disponible en francés e inglés. Para cambiar el idioma, vaya a la pestaña perfil, haga un clic sobre el botón \"Configuración\", después seleccione el idioma que más le convenga." + }, + "4": { + "title": "¿Qué significa el modo alumno?", + "answer": "

En su perfil, usted puede hacer un clic sobre el botón \"Pasar al modo alumno\". Después de haber elegido una clase, se encontrará en la cuenta ficticia de un alumno llamado \"demostudent\", donde puede descubrir la interface Alumno y realizar las actividades que usted ha asignado.

Para volver al modo \"Profesor\", es suficiente ir a la pestaña Perfil de la cuenta demostudent y hacer un clic sobre \"Volver al modo profesor\".

" + } + } + }, + "4": { + "section_title": "Preguntas generales", + "question_list": { + "1": { + "title": "¿En qué soporte es compatible el módulo clase?", + "answer": "

¡Las interfaces funcionan sin instalación, en la computadora, tableta y teléfonos inteligentes! Las actualizaciones son automáticas y sus programas son guardados en la nube.

Para aprovechar al máximo las funcionalidades, le aconsejamos utilizar Chrome o Firefox.

" + }, + "2": { + "title": "¿Cómo crear un acceso directo para acceder al módulo Clase?", + "answer": "

Usted tiene posibilidades de poner un ícono sobre el escritorio de la computadora para acceder rápidamente al módulo Clase. Para hacerlo :

en Windows y en Mac:

  1. Abra la página : clase/, después reduzca el tamaño de la ventana del navegador para poder ver el escritorio al costado.
  2. En el navegador Web seleccione con el mouse el símbolo situado a la izquierda de la dirección y, sin soltar, deslice el puntero hasta Escritorio. Suelte para crear el acceso directo.
  3. El acceso está creado. Solo tiene que hace doble clic en él para abrir la página web vinculada..

.

En Android con Chrome :

  1. Abra la página: clase/, luego seleccione el botón del menú, después elija \"Agregar a la pantalla de inicio\".
  2. Nombre la página y seleccione \"Agregar\".
  3. El acceso está creado. Solo tiene que hacer doble clic sobre para abrir la página web vinculada

En Android con Firefox :

  1. Abra la página: clase/,luego seleccione el botón del menú, después elija Página.
  2. Seleccione Agregar un acceso directo a la página.
  3. El acceso directo está creado en la pantalla de inicio. Solo tiene que hacer un clic sobre él para abrir la página web vinculada.

En iOS con Safari :

  1. Abra la página : clase/, luego presione el ícono Compartir.
  2. Seleccione la pantalla de inicio, después elija Agregar
  3. El acceso directo está creado en la página de inicio. Solo tiene que hacer clic para abrir la página web vinculada.

Usted puede encontrar otros tutoriales en Internet para crear un acceso directo en la pantalla de inicio.

" + } + } + }, + "5": { + "section_title": "Problema técnico", + "question_list": { + "1": { + "title": "Tengo un error ¿Qué debo hacer?", + "answer": "Cuando comente un error lo primero que debe hacer es intentar actualizar la página. Si el error persiste, puede contactarnos en a pestaña Perfil con el botón \"Ayuda\"." + }, + "2": { + "title": "¿Cómo informo los errores y proporciono mis comentarios?", + "answer": "Si el error persiste, puede contactarnos en la pestaña perfil con el botón \"Ayuda\".
Para hacernos comentarios, igualmente puede contactarnos en la pestaña Perfil con el botón \"Ayuda\"" + } + } + }, + "6": { + "section_title": "Licencias y autorizaciones", + "question_list": { + "1": { + "title": "¿Se puede hacer una descripción o presentación del módulo Clase?", + "answer": "Sí, puede reutilizar los elementos visuales del módulo Clase para crear una descripción, presentación, capacitación, tutorial, curso u otro. Si desea incluir imágenes o contenidos de actividades, mencione al autor (ver pregunta siguiente)." + }, + "2": { + "title": "¿Dónde se puede encontrar el código fuente del módulo Clase?", + "answer": "El código fuente del módulo Clase está disponible en href=\"https://github.com/Cabri/OpenSTEAM-LMS/\" target=\"_href\">repository git OpenSTEAM-LMS.¡No dude en contribuir!" + } + } + } + }, + "faqStudentNeutral": { + "title": "FAQ", + "1": { + "section_title": "Actividades", + "question_list": { + "1": { + "title": "¿Para qué sirve la pestaña Mis actividades?", + "answer": "En la pestaña Mis actividades, tu puedes :
  1. Realizar nuevas actividades para tus profesores.
  2. Guardar aquellas que todavía no hayas terminado.
  3. ¡Y revisar aquellas que ya hayas hecho!
" + }, + "2": { + "title": "¿Qué es una actividad?", + "answer": "Una actividad es un contenido interactivo creado a partir de Cabri Express o Cabri autor." + } + } + }, + "2": { + "section_title": "Llamar por ayuda", + "question_list": { + "1": { + "title": "¿Para qué sirve la pestaña Llamar por ayuda?", + "answer": "En la pestaña Llamar por ayuda, podrás :
  1. Pedir ayuda a tus profesores en cualquier momento,
  2. Consultar las preguntas frecuentes.
Podrás seguir el intercambio de tus mensajes en la pestaña Perfil. " + } + } + }, + "3": { + "section_title": "Perfil", + "question_list": { + "1": { + "title": "¿Para qué sirve la pestaña Perfil?", + "answer": "En la pestaña perfil, podrás:
  1. Administrar la configuración de tu cuenta,
  2. Ver tus estadísticas,
  3. e intercambiar mensajes con tus profesores.
" + }, + "2": { + "title": "¿Cómo cambio mi contraseña u otras configuraciones de mi cuenta?", + "answer": "Para cambiar la contraseña u otras configuraciones, vas a la pestaña Perfil." + }, + "3": { + "title": "¿Cómo se cambia el idioma?", + "answer": "El módulo Clase está actualmente disponible en francés e inglés. Para cambiar el idioma, vas a la pestaña perfil, haces un clic sobre el botón \"Configuración\", después selecciona el idioma que más te convenga. " + } + } + }, + "4": { + "section_title": "Preguntas generales", + "question_list": { + "1": { + "title": "¿Cómo empiezo con el módulo Clase?", + "answer": "En cualquier momento, puedes acceder a la ayuda general haciendo clic en el íconoen la parte superior derecha para comenzar con el módulo Clase." + }, + "2": { + "title": "¿En qué soporte es compatible el módulo clase?", + "answer": "

¡Las interfaces funcionan sin instalación, en la computadora, tableta y teléfonos inteligentes! Las actualizaciones son automáticas y sus programas son guardados en la nube.

Para aprovechar al máximo las funcionalidades, te aconsejamos utilizar Chrome o Firefox.

" + }, + "3": { + "title": "¿Cómo crear un acceso directo para acceder al módulo Clase?", + "answer": "

Tienes la posibilidades de poner un ícono sobre el escritorio de la computadora para acceder rápidamente al módulo Clase. Para hacerlo :

en Windows y en Mac:

  1. Abre la página : clase/, después reduce el tamaño de la ventana del navegador para poder ver el escritorio al costado.
  2. En el navegador Web selecciona con el mouse el símbolo situado a la izquierda de la dirección y, sin soltar, desliza el puntero hasta Escritorio. Suelta para crear el acceso directo.
  3. El acceso está creado. Solo tendrás que hace doble clic en él para abrir la página web vinculada..

.

En Android con Chrome :

  1. Abre la página: clase/, luego selecciona el botón del menú, después elige \"Agregar a la pantalla de inicio\".
  2. Nombra la página y selecciona \"Agregar\".
  3. El acceso está creado. Solo tendrás que hacer doble clic sobre él para abrir la página web vinculada

En Android con Firefox :

  1. Abre la página: clase/,luego selecciona el botón del menú, después elige Página.
  2. Selecciona Agregar un acceso directo a la página.
  3. El acceso directo está creado en la pantalla de inicio. Solo tendrás que hacer un clic sobre él para abrir la página web vinculada.

En iOS con Safari :

  1. Abre la página : clase/, luego presiona el ícono Compartir.
  2. Selecciona la pantalla de inicio, después elige Agregar
  3. El acceso directo está creado en la página de inicio. Solo tendrás que hacer clic para abrir la página web vinculada.

Podrás encontrar otros tutoriales en Internet para crear un acceso directo en la pantalla de inicio.

" + } + } + }, + "5": { + "section_title": "Problema técnico", + "question_list": { + "1": { + "title": "Tengo un error ¿Qué debo hacer?", + "answer": "Cuando comentes un error lo primero que debes hacer es intentar actualizar la página. Si el error persiste, puedes contactar a tu profesor en la pestaña \"Llamar por ayuda \"." + }, + "2": { + "title": "¿Cómo informo los errores y proporciono mis comentarios?", + "answer": "Si el error persiste, puedes contactar a tu profesor en la pestaña Ayuda.


Para hacer comentarios a tu profesor, igualmente puedes contactarlo en la pestaña Ayuda.

" + } + } + }, + "6": { + "section_title": "Licencias y autorizaciones", + "question_list": { + "1": { + "title": "¿Dónde puedo encontrar el código fuente del módulo Clase?", + "answer": "El código fuente del módulo Clase está disponible en le repository git OpenSTEAM-LMS¡No dudes en contribuir!" + } + } + } + } +} diff --git a/classroom/assets/lang/fr/ns.json b/classroom/assets/lang/fr/ns.json index 0d0bf28e..2467e6af 100644 --- a/classroom/assets/lang/fr/ns.json +++ b/classroom/assets/lang/fr/ns.json @@ -1,241 +1,248 @@ { - "classroom": { - "login": { - "noClass": "Le code entré ne correspond à aucune classe.", - "countdown1": "Le module de gestion de classe est actuellement en version bêta. Si vous souhaitez l’essayer, veuillez contacter l’équipe Vittascience.", - "countdown2": "Sortie officielle dans", - "hello1": "'Bonjour!'", - "hello2": "Bonjour!", - "title": "Gérez vos classes
avec Vittascience", - "neutralTitle": "Open STEAM LMS", - "subtitle": "Découvrir - Apprendre - Partager", - "login": "Se connecter", - "activities": "Créez facilement
vos activités", - "attribute": "Attribuez les
à vos apprenants", - "visualize": "Visualisez
leurs résultats", - "helpers": " A nos côtés pour vous accompagner.", - "student": "APPRENANT", - "codeInput": " Rentrez ici votre code classe", - "teacher": "ENSEIGNANT", - "hasAccount": "Vous avez déja un compte ?", - "gar": "Profitez du module classe en toute simplicité à l'aide du GAR.", - "signup": "S'INSCRIRE", - "firstVisit": "Première viste ? Veuillez choisir un identifiant.", - "signin": "SE CONNECTER", - "registerLink": "S'inscrire", - "hasReturned": "De retour dans cette classe ?", - "forgot": "J'ai oublié mon mot de passe", - "error": { - "used": "Ce pseudo est déja utilisé, veuillez en choisir un autre", - "badInput": "Votre pseudo ou mot de passe est erroné." - }, - "suscribe": { - "title": "s'abonner", - "content": "Le module de gestion de classe est accessible gratuitement en version d'essai. Bénéficiez de l'intégralité des fonctionnalités avec l'abonnement Vittascience Premium. Retrouvez tous les avantages et détails de l'offre Vittascience Premium à l'aide du bouton ci-dessous.", - "premium": "Découvrir Vittascience Premium" - }, - "carousel": { - "activities": { - "title": "Créez facilementvos activités", - "content": "L'éditeur d'activité permet de créer du contenu pédagogique en toute simplicité, en incluant du texte, des images, des vidéos, des interfaces de programmation Vittascience, des présentations Genially et bien d'autres outils.

Parcourez la banque de ressources collaboratives Vittascience, qui regroupe plusieurs centaines d'activités libres et réutilisables. Si l'auteur de la ressourcel'autorise, vous pouvez même apporter des modifications pour adapter le contenu à vos apprenants !" - }, - "attribute": { - "title": "Attribuez les à vos apprenants", - "content": "Une fois vos activités créées, vous pouvez les attribuer à vos apprenants. Il est possible d'attribuer individuellement ou bien à des groupes entiers, par exemple une classe ou un club scientifique.

Les apprenants peuvent se connecter en toute sécurité à l'aide d'un code classe, d'un lien, d'un QRcode ou du GAR, et réaliser les activités qui leurs ont été attribuées." - }, - "visualize": { - "title": "Visualisez leurs résultats", - "content": "Le tableau de bord permet de suivre la progression des apprenants à mesure qu'ils avancent dans les activités et parcours. Retrouvez le travail de vos apprenants en un clic avec possibilité de commenter le rendu.

Grâce au système de correction automatique pour blocs et Python, le tableau de bord se remplit directement avec les résultats des élèves. Identifiez rapidement les apprenants en difficulté et gagnez un temps précieux pour les accompagner." - } - }, - "register": { - "title": "Inscription", - "description": "Merci de compléter les champs suivants pour créer votre compte.", - "passwordConstraints": "Minimum 8 caractères.", - "createButton": "Inscription" - } - }, - "register": { - "accountConfirmationEmail": { - "emailSubject": "Activer mon compte", - "bodyTitle": "Activer mon compte", - "textBeforeLink": "Si le bouton ci-dessus ne fonctionne pas, copiez et collez dans votre navigateur, le lien suivant :" - } - }, - "updateUserInfos": { - "emailUpdateConfirmation": { - "emailSubject": "Confirmez ma nouvelle adresse email", - "bodyTitle": "Confirmez ma nouvelle adresse email", - "textBeforeLink": "Si le bouton ci-dessus ne fonctionne pas, copiez et collez dans votre navigateur, le lien suivant :" - } - }, - "successPanel": "Bravo, tu as réussi cette activité !", - "failPanel": "La réponse n'est pas correcte", - "toCorrectPanel": "L'activité à été transmise à ton enseignant,
qui reviendra vers toi bientôt !", - "bank": { - "helpTooltip": "La banque de ressource contient de nombreuses activités sur lesquelles tu peux t'entraîner en autonomie ! Ton enseignant n'aura pas accès aux résultats de ces activités." - }, - "help": { - "student": { - "label": "Contacte ton enseignant", - "question": "Pose tes questions...", - "title": "Objet" - }, - "teacher": { - "label": "Contacte ton enseignant" - } - }, - "profil": { - "identity": "Prénom Nom", - "class": "CLASSE : ", - "todo": "Activités
à faire", - "done": "Activités
réalisées", - "create": "Activités
crées", - "correctionToDo": "Corrections
à faire", - "switchMode": "Passer en mode apprenant", - "switchModeTeacher": "Retour au mode enseignant", - "accountSettings": { - "title": "Mon compte", - "firstname": "Prénom", - "lastname": "Nom", - "nickname": "Pseudo", - "email": "E-mail", - "password": "Mot de passe", - "confirmPassword": "Confirmer le mot de passe", - "updateButton": "Mettre à jour" - } - }, - "notif": { - "emptyContent": "Le contenu ne peut pas être vide.", - "emptyTitle": "Le titre ne peut pas être vide.", - "activityRestricted": "Vous ne pouvez pas créer plus d'activité de ce type.", - "shareProjectTeacher": "Le projet a été partagé avec votre enseignant", - "addActivities": "Les activités sélectionnées ont été ajoutées à votre liste", - "addActivity": "L'activité a été ajoutée à votre liste", - "saveProject": "Avez vous pensé à sauver votre activité?", - "savedProject": "Le brouillon de votre activité a été sauvé.", - "deleteProject": "Le projet a été supprimé.", - "shareProject": "Le projet a été partagé", - "corrections": "Un exercice a été rendu dans vos classes", - "deleteAccount": "Etes vous sur de vouloir supprimer le compte de l'apprenant?", - "accountIsDelete": "Le compte de l'apprenant a été supprimé", - "newPwd": "Le nouveau mot de passe de l'apprenant {{pseudo}} est {{pwd}}", - "classCreatedButNotUsers": "La classe {{classroomName}} a bien été crée, mais pas les comptes associés (Votre compte ne vous permet pas d'avoir {{learnerNumber}} apprenants)", - "classUpdatedButNotUsers": "La classe {{classroomName}} a bien été mise à jour, mais pas les comptes associés (Votre compte ne vous permet pas d'avoir {{learnerNumber}} apprenants)", - "usersNotAdded": "L'apprenant n'a pas pu être ajouté (Votre compte ne vous permet pas d'avoir {{learnerNumber}} apprenants)", - "cantLoginLimitLearners": "Vous ne pouvez pas rejoindre la classe. Votre professeur a atteint son nombre maximum d'apprenants.", - "cantLoginClassroomBlocked": "Vous ne pouvez pas rejoindre la classe, votre professeur en a verrouillé l'accès.", - "classNotCreated": "Vous ne pouvez pas avoir plus de {{classroomNumberLimit}} classe(s).", - "attributeActivityUndone": "L'activité a été désattribuée", - "pseudoUpdated": "Le nouveau pseudo de l'apprenant est {{newPseudo}}", - "classroomDeleted": "La classe {{classroomName}} a été supprimée", - "classroomCreated": "La classe {{classroomName}} a été créée, ainsi que tous les comptes associés", - "classroomUpdated": "La classe {{classroomName}} a été mise à jour, ainsi que tous les comptes associés", - "usersAdded": "Les comptes ont été créés", - "usersAddedFromCsv": "Les comptes ont été créés d'après le fichier csv", - "activityDeleted": "L'activité {{activityName}} a été supprimée", - "mustAttributeToStudent": "Vous devez attribuer l'activité à des étudiants", - "activityAttributed": "L'activité {{activityTitle}} a été attribuée aux apprenants listés", - "activityAttributionChanged": "L'attribution de l'activité {{activityTitle}} a été modifiée pour les apprenants listés", - "activityCreated": "L'activité {{activityTitle}} a été créée", - "activityChanged": "L'activité {{activityTitle}} a été modifiée", - "activityTitleMissing": "Vous devez renseigner le titre de l'activité", - "CsvFileMissing": "Vous n'avez pas choisi de fichier csv", - "errorWithCsv": "Erreur lors de l'ouverture du fichier csv : {{error}}", - "cantGetPassword": "Erreur, vous ne pouvez pas voir votre mot de passe", - "cantResetPassword": "Erreur, vous ne pouvez pas réinitialiser votre mot de passe", - "accountUpdated": "Votre compte a été mis à jour", - "emailUpdated": "Veuillez vous rendre sur le lien de confirmation qui vient de vous être communiqué sur la nouvelle adresse e-mail pour en finaliser la mise à jour", - "firstNameTooShort": "Le prénom doit au moins comporter 2 caractères", - "lastNameTooShort": "Le nom doit au moins comporter 2 caractères", - "pseudoTooShort": "Le pseudo doit au moins comporter 2 caractères", - "invalidEmail": "L'adresse e-mail saisie est invalide", - "invalidPassword": "Le mot de passe saisi est invalide. Il doit comporter au moins 8 caractères.", - "passwordAndConfirmMismatch": "Le mot de passe et la confirmation du mot de passe ne sont pas identiques !", - "unknownUser": "Erreur lors de la mise à jour du compte : l'utilisateur n'existe pas !", - "passwordInvalid": "Le mot de passe ne respecte pas les contraintes de sécurité.", - "emailInvalid": "L'adresse e-mail envoyée est invalide", - "emailExists": "L'adresse e-mail est déjà attribuée à un autre compte", - "UserNotExists": "Erreur lors du chargement / de la réinitialisation du mot de passe : utilisateur incorrect !", - "RegularUserNotAllowed": "Erreur lors du chargement / de la réinitialisation du mot de passe : seul les apprenants peuvent afficher / réinitialiser leur mot de passe !", - "PasswordLengthInvalid": "Impossible de récupérer le mot de passe : mot de passe erroné !", - "accountCreated": "Le compte a été créé. Veuillez vous rendre sur le lien de confirmation qui vient de vous être communiqué par e-mail pour finaliser l'inscription et pouvoir vous connecter.", - "firstnameMissing": "Vous devez renseigner votre prénom", - "surnameMissing": "Vous devez renseigner votre nom", - "pseudoMissing": "Vous devez renseigner votre pseudo", - "emailMissing": "Vous devez renseigner votre adresse e-mail", - "passwordMissing": "Vous devez renseigner votre mot de passe", - "passwordConfirmMissing": "Vous devez renseigner la confirmation du mot de passe", - "passwordsMismatch": "Le mot de passe et la confirmation ne sont pas identiques", - "invalidUserId": "Erreur lors de l'envoi du message : votre identifiant est invalide", - "helpRequestFromTeacherSent": "Votre message a bien été envoyé. Nous vous répondons au plus vite.", - "subjectMissingTeacherHelpForm": "Vous devez renseigner l'objet du message", - "messageMissingTeacherHelpForm": "Vous devez saisir votre message", - "invalidUserIdTeacherHelpForm": "Erreur lors de l'envoi du message : votre identifiant est invalide", - "unknownUserTeacherHelpForm": "Erreur lors de l'envoi du message : votre identifiant ne correspond à aucun compte enseignant", - "helpRequestFromLearnerSent": "Ton message a bien été envoyé à ton enseignant", - "subjectMissingLearnerHelpForm": "Tu dois renseigner l'objet du message", - "messageMissingLearnerHelpForm": "Tu dois saisir ton message", - "invalidUserIdLearnerHelpForm": "Erreur lors de l'envoi du message : ton identifiant est invalide", - "unknownUserLearnerHelpForm": "Erreur lors de l'envoi du message : ton identifiant est inconnu", - "unknownEmailLearnerHelpForm": "Erreur lors de l'envoi du message : l'adresse e-mail de ton enseignant est inconnue", - "activityTitleInvalid": "L'activité n'a pas pu être créée : titre invalide", - "activityContentInvalid": "L'activité n'a pas pu être créée : contenu invalide", - "activityIsFromClassroomInvalid": "L'activité n'a pas pu être créée : erreur de contexte", - "activityUserIdInvalid": "L'activité n'a pas pu être créée : utilisateur invalide", - "personalLimitationsReached": "Vous avez atteint votre nombre maximum d'apprenants ({{max}} maximum)", - "groupLimitationsGroup": "Votre groupe ne peut plus accueillir d'apprenants", - "groupLimitationsTeacher": "Vous avez atteint la limite d'apprenants que votre groupe vous octroie", - "bothLimitationsReached": "Vous avez atteint les limitations d'apprenants que vous et votre groupe pouvez avoir. ({{maxG}} maximum par groupe, {{maxP}} maximum personnel)", - "ClassroomNameInvalid": "Le nom de la classe est requis", - "reservedNickname": "Le nom : \"{{reservedNickname}}\" ne peut être attribué.", - "invalidLink": "Le lien que vous avez entrer n'est pas valide", - "noUser" : "Vous devez renseigner un élève", - "noUserUsername" : "Vous devez rentrer un nom d'utilisateur", - "pseudoMissingInCsvFile" : "Certains élèves n'ont pu être ajouter car leur pseudo était manquant", - "backendReplyPseudoMissingInCsv" : "Vérifier le fichier CSV : ligne vide ou pseudo manquant", - "backendReplyPseudoMissingInUsersArray" : "Il y a une erreur dans un ou plusieurs nom d'apprenant(s)", - "invalidActivityId": "Erreur lors de la soumission du travail : identifiant d'activité non valide !", - "invalidCorrection": "Erreur lors de la soumission du travail : statut d'activité non valide !", - "currentPasswordDoesNotMatch": "Le mot de passe saisi n'est pas correct !" - }, - "ids": { - "classroom-dashboard-help-panel-teacher": "Aide", - "classroom-dashboard-activities-panel-teacher": "Mes activités", - "classroom-dashboard-classes-panel-teacher": "Mes classes", - "classroom-dashboard-sandbox-panel": "Bac à sable", - "classroom-dashboard-profil-panel-teacher": "Profil", - "classroom-dashboard-activities-panel": "Mes activités", - "classroom-dashboard-profil-panel": "Profil", - "classroom-dashboard-help-panel": "Aide", - "classroom-dashboard-activities-panel-library-teacher": "Banque de ressources", - "classroom-dashboard-new-activity-panel": "Création de l'activité", - "classroom-dashboard-new-activity-panel2": "Intermédiaire", - "classroom-dashboard-new-activity-panel3": "Attribution", - "classroom-table-panel-teacher": "Classe {{name}}", - "classroom-dashboard-sandbox-creation": "Sélection de l'interface", - "classroom-dashboard-ide-panel": "Bac à sable {{interface}}", - "classroom-dashboard-activity-panel": "Activité {{name}}" - }, - "displayCode": "Projeter le code", - "navbar": { - "activities": "Activités" - }, - "classes": { - "add": "Ajouter une classe", + "classroom": { + "login": { + "noClass": "Le code entré ne correspond à aucune classe.", + "countdown1": "Le module de gestion de classe est actuellement en version bêta. Si vous souhaitez l’essayer, veuillez contacter l’équipe Vittascience.", + "countdown2": "Sortie officielle dans", + "hello1": "'Bonjour !'", + "hello2": "Bonjour !", + "title": "Gérez vos classes
avec Vittascience", + "neutralTitle": "OpenSTEAM LMS", + "cabriTitle": "Cabri.com", + "subtitle": "Découvrir - Apprendre - Partager", + "cabriSubtitle": "La plateforme pour réussir en maths et sciences", + "login": "Se connecter", + "activities": "créez facilement
vos activités", + "cabriActivities": "Créez des exercices
automatiquement en
quelques minutes", + "attribute": "attribuez-les
à vos apprenants", + "cabriProgress": "Suivez les progrès
de vos élèves", + "visualize": "visualisez
leurs résultats", + "cabriRessources": "Accédez à une
banque d'activités
variées et partagez
vos créations", + "student": "APPRENANT", + "codeInput": " Rentrez ici votre code classe", + "teacher": "ENSEIGNANT", + "hasAccount": "Vous avez déja un compte ?", + "gar": "Profitez de la plateforme Cabri en toute simplicité à l'aide du GAR.
Le raccordement au GAR n’est pas encore finalisé, il sera prêt prochainement.", + "signup": "S'INSCRIRE", + "firstVisit": "Première visite ? Veuillez choisir un identifiant.", + "signin": "SE CONNECTER", + "registerLink": "Créer un compte", + "hasReturned": "De retour dans cette classe ?", + "forgot": "J'ai oublié mon mot de passe", + "error": { + "used": "Ce pseudo est déja utilisé, veuillez en choisir un autre.", + "badInput": "Votre pseudo ou mot de passe est erroné." + }, + "suscribe": { + "title": "s'abonner", + "content": "Le module de gestion de classe est accessible gratuitement en version d'essai. Bénéficiez de l'intégralité des fonctionnalités avec l'abonnement Vittascience Premium. Retrouvez tous les avantages et détails de l'offre Vittascience Premium à l'aide du bouton ci-dessous.", + "premium": "Découvrir Vittascience Premium" + }, + "carousel": { + "activities": { + "title": "créez facilement vos activités", + "content": "L'éditeur d'activité permet de créer du contenu pédagogique en toute simplicité, en incluant du texte, des images, des vidéos, des interfaces de programmation Vittascience, des présentations Genially et bien d'autres outils.

Parcourez la banque de ressources collaboratives Vittascience qui regroupe plusieurs centaines d'activités libres et réutilisables. Si l'auteur de la ressource l'autorise, vous pouvez même apporter des modifications pour adapter le contenu à vos apprenants !" + }, + "attribute": { + "title": "attribuez-les à vos apprenants", + "content": "Une fois vos activités créées, vous pouvez les attribuer à vos apprenants. Il est possible d'attribuer individuellement ou bien à des groupes entiers, par exemple une classe ou un club scientifique.

Les apprenants peuvent se connecter en toute sécurité à l'aide d'un code classe, d'un lien, d'un QRcode ou du GAR, et réaliser les activités qui leurs ont été attribuées." + }, + "visualize": { + "title": "visualisez leurs résultats", + "content": "Le tableau de bord permet de suivre la progression des apprenants à mesure qu'ils avancent dans les activités et parcours. Retrouvez le travail de vos apprenants en un clic avec la possibilité de commenter le rendu.

Grâce au système de correction automatique pour blocs et Python, le tableau de bord se remplit directement avec les résultats des élèves. Identifiez rapidement les apprenants en difficulté et gagnez un temps précieux pour les accompagner." + } + }, + "register": { + "title": "Inscription", + "description": "Merci de compléter les champs suivants pour créer votre compte.", + "passwordConstraints": "Minimum 8 caractères.", + "createButton": "Inscription" + } + }, + "register": { + "accountConfirmationEmail": { + "emailSubject": "Activer mon compte", + "bodyTitle": "Activer mon compte", + "textBeforeLink": "Si le bouton ci-dessus ne fonctionne pas, copiez et collez le lien suivant dans votre navigateur :" + } + }, + "updateUserInfos": { + "emailUpdateConfirmation": { + "emailSubject": "Confirmez ma nouvelle adresse e-mail", + "bodyTitle": "Confirmez ma nouvelle adresse e-mail", + "textBeforeLink": "Si le bouton ci-dessus ne fonctionne pas, copiez et collez le lien suivant dans votre navigateur :" + } + }, + "successPanel": "Bravo, tu as réussi cette activité !", + "failPanel": "La réponse n'est pas correcte.", + "toCorrectPanel": "L'activité à été transmise à ton enseignant,
qui reviendra vers toi bientôt ! ", + "bank": { + "helpTooltip": "La banque de ressource contient de nombreuses activités sur lesquelles tu peux t'entraîner en autonomie ! Ton enseignant n'aura pas accès aux résultats de ces activités." + }, + "help": { + "student": { + "label": "Contacte ton enseignant", + "question": "Pose tes questions...", + "title": "Objet" + }, + "teacher": { + "label": "Contacte ton enseignant" + } + }, + "profil": { + "identity": "Prénom Nom", + "class": "CLASSE : ", + "todo": "Activités
à faire", + "done": "Activités
réalisées", + "create": "Activités
créées", + "correctionToDo": "Corrections
à faire", + "switchMode": "Passer en mode apprenant", + "switchModeTeacher": "Retour au mode enseignant", + "accountSettings": { + "title": "Mon compte", + "firstname": "Prénom", + "lastname": "Nom", + "nickname": "Pseudo", + "email": "E-mail", + "password": "Mot de passe", + "confirmPassword": "Confirmer le mot de passe", + "updateButton": "Mettre à jour" + } + }, + "notif": { + "emptyContent": "Le contenu ne peut pas être vide.", + "emptyTitle": "Le titre ne peut pas être vide.", + "activityRestricted": "Vous ne pouvez pas créer plus d'activité de ce type.", + "shareProjectTeacher": "Le projet a été partagé avec votre enseignant.", + "addActivities": "Les activités sélectionnées ont été ajoutées à votre liste.", + "addActivity": "L'activité a été ajoutée à votre liste.", + "saveProject": "Avez-vous pensé à sauver votre activité ?", + "savedProject": "Le brouillon de votre activité a été sauvé.", + "deleteProject": "Le projet a été supprimé.", + "shareProject": "Le projet a été partagé.", + "corrections": "Un exercice a été rendu dans vos classes.", + "deleteAccount": "Êtes-vous sûr de vouloir supprimer le compte de l'apprenant ?", + "accountIsDelete": "Le compte de l'apprenant a été supprimé.", + "newPwd": "Le nouveau mot de passe de l'apprenant {{pseudo}} est {{pwd}}", + "classCreatedButNotUsers": "La classe {{classroomName}} a bien été créée, mais pas les comptes associés (Votre compte ne vous permet pas d'avoir {{learnerNumber}} apprenants.)", + "classUpdatedButNotUsers": "La classe {{classroomName}} a bien été mise à jour, mais pas les comptes associés (Votre compte ne vous permet pas d'avoir {{learnerNumber}} apprenants.)", + "usersNotAdded": "L'apprenant n'a pas pu être ajouté (Votre compte ne vous permet pas d'avoir {{learnerNumber}} apprenants.)", + "cantLoginLimitLearners": "Vous ne pouvez pas rejoindre la classe. Votre professeur a atteint son nombre maximum d'apprenants.", + "cantLoginClassroomBlocked": "Vous ne pouvez pas rejoindre la classe, votre professeur en a verrouillé l'accès.", + "classNotCreated": "Vous ne pouvez pas avoir plus d'une classe.", + "attributeActivityUndone": "L'activité a été désattribuée.", + "pseudoUpdated": "Le nouveau pseudo de l'apprenant est {{newPseudo}}", + "classroomDeleted": "La classe {{classroomName}} a été supprimée.", + "classroomCreated": "La classe {{classroomName}} a été créée, ainsi que tous les comptes associés.", + "classroomUpdated": "La classe {{classroomName}} a été mise à jour, ainsi que tous les comptes associés.", + "usersAdded": "Les comptes ont été créés.", + "usersAddedFromCsv": "Les comptes ont été créés d'après le fichier csv.", + "activityDeleted": "L'activité {{activityName}} a été supprimée.", + "mustAttributeToStudent": "Vous devez sélectionner des apprenants.", + "activityAttributed": "L'activité {{activityTitle}} a été attribuée aux apprenants listés.", + "activityAttributionChanged": "L'attribution de l'activité {{activityTitle}} a été modifiée pour les apprenants listés.", + "activityCreated": "L'activité {{activityTitle}} a été créée.", + "activityChanged": "L'activité {{activityTitle}} a été modifiée.", + "activityTitleMissing": "Vous devez renseigner le titre de l'activité.", + "activityPlayerMissing": "Vous devez renseigner une URL player.", + "CsvFileMissing": "Vous n'avez pas choisi de fichier csv.", + "errorWithCsv": "Erreur lors de l'ouverture du fichier csv : {{error}}", + "cantGetPassword": "Erreur, vous ne pouvez pas voir votre mot de passe.", + "cantResetPassword": "Erreur, vous ne pouvez pas réinitialiser votre mot de passe.", + "accountUpdated": "Votre compte a été mis à jour.", + "emailUpdated": "Veuillez vous rendre sur le lien de confirmation qui vient de vous être communiqué sur la nouvelle adresse e-mail pour en finaliser la mise à jour.", + "firstNameTooShort": "Le prénom doit comporter au moins 2 caractères.", + "lastNameTooShort": "Le nom doit comporter au moins 2 caractères.", + "pseudoTooShort": "Le pseudo doit comporter au moins 2 caractères.", + "invalidEmail": "L'adresse e-mail saisie est invalide.", + "invalidPassword": "Le mot de passe saisi est invalide. Il doit comporter au moins 8 caractères.", + "passwordAndConfirmMismatch": "Le mot de passe et la confirmation du mot de passe ne sont pas identiques !", + "unknownUser": "Erreur lors de la mise à jour du compte : l'utilisateur n'existe pas !", + "passwordInvalid": "Le mot de passe ne respecte pas les contraintes de sécurité.", + "emailInvalid": "L'adresse e-mail envoyée est invalide.", + "emailExists": "L'adresse e-mail est déjà attribuée à un autre compte.", + "UserNotExists": "Erreur lors du chargement / de la réinitialisation du mot de passe : utilisateur incorrect !", + "RegularUserNotAllowed": "Erreur lors du chargement / de la réinitialisation du mot de passe : seul les apprenants peuvent afficher / réinitialiser leur mot de passe !", + "PasswordLengthInvalid": "Impossible de récupérer le mot de passe : mot de passe erroné !", + "accountCreated": "Le compte a été créé. Veuillez vous rendre sur le lien de confirmation qui vient de vous être communiqué par e-mail pour finaliser l'inscription et pouvoir vous connecter.", + "firstnameMissing": "Vous devez renseigner votre prénom.", + "surnameMissing": "Vous devez renseigner votre nom.", + "pseudoMissing": "Vous devez renseigner votre pseudo.", + "emailMissing": "Vous devez renseigner votre adresse e-mail.", + "passwordMissing": "Vous devez renseigner votre mot de passe.", + "passwordConfirmMissing": "Vous devez renseigner la confirmation du mot de passe.", + "passwordsMismatch": "Le mot de passe et la confirmation ne sont pas identiques.", + "invalidUserId": "Erreur lors de l'envoi du message : votre identifiant est invalide.", + "helpRequestFromTeacherSent": "Votre message a bien été envoyé. Nous vous répondons au plus vite.", + "subjectMissingTeacherHelpForm": "Vous devez renseigner l'objet du message.", + "messageMissingTeacherHelpForm": "Vous devez saisir votre message.", + "invalidUserIdTeacherHelpForm": "Erreur lors de l'envoi du message : votre identifiant est invalide.", + "unknownUserTeacherHelpForm": "Erreur lors de l'envoi du message : votre identifiant ne correspond à aucun compte enseignant.", + "helpRequestFromLearnerSent": "Ton message a bien été envoyé à ton enseignant.", + "subjectMissingLearnerHelpForm": "Tu dois renseigner l'objet du message.", + "messageMissingLearnerHelpForm": "Tu dois saisir ton message.", + "invalidUserIdLearnerHelpForm": "Erreur lors de l'envoi du message : ton identifiant est invalide.", + "unknownUserLearnerHelpForm": "Erreur lors de l'envoi du message : ton identifiant est inconnu.", + "unknownEmailLearnerHelpForm": "Erreur lors de l'envoi du message : l'adresse e-mail de ton enseignant est inconnue.", + "activityTitleInvalid": "L'activité n'a pas pu être créée : titre invalide.", + "activityContentInvalid": "L'activité n'a pas pu être créée : contenu invalide.", + "activityIsFromClassroomInvalid": "L'activité n'a pas pu être créée : erreur de contexte.", + "activityUserIdInvalid": "L'activité n'a pas pu être créée : utilisateur invalide.", + "personalLimitationsReached": "Vous avez atteint votre nombre maximum d'apprenants.", + "groupLimitationsGroup": "Votre groupe ne peut plus accueillir d'apprenants.", + "groupLimitationsTeacher": "Vous avez atteint la limite d'apprenants que votre groupe vous octroie.", + "bothLimitationsReached": "Vous avez atteint les limitations d'apprenants que vous et votre groupe pouvez avoir.", + "ClassroomNameInvalid": "Le nom de la classe est requis.", + "reservedNickname": "Le nom : \"{{reservedNickname}}\" ne peut être attribué.", + "invalidLink": "Le lien que vous avez entré n'est pas valide.", + "invalidUrl": "Entrer le lien d'une page web ou d'une vidéo.", + "addFile": "Ajouter un lien de cahier ou un fichier est nécessaire.", + "noUser" : "Vous devez renseigner un élève.", + "noUserUsername" : "Vous devez rentrer un nom d'utilisateur.", + "pseudoMissingInCsvFile" : "Certains élèves n'ont pas pu être ajoutés car leur pseudo était manquant.", + "backendReplyPseudoMissingInCsv" : "Vérifier le fichier CSV : ligne vide ou pseudo manquant.", + "backendReplyPseudoMissingInUsersArray" : "Il y a une erreur dans un ou plusieurs nom(s) d'apprenant(s).", + "generalBackendError": "Une erreur s'est produite, veuillez réessayer ultérieurement.", + "invalidActivityId": "Erreur lors de la soumission du travail : identifiant d'activité non valide !", + "invalidCorrection": "Erreur lors de la soumission du travail : statut d'activité non valide !" + }, + "ids": { + "classroom-dashboard-help-panel-teacher": "Aide", + "classroom-dashboard-activities-panel-teacher": "Mes activités", + "classroom-dashboard-classes-panel-teacher": "Mes classes", + "classroom-dashboard-sandbox-panel": "Bac à sable", + "classroom-dashboard-profil-panel-teacher": "Profil", + "classroom-dashboard-activities-panel": "Mes activités", + "classroom-dashboard-profil-panel": "Profil", + "classroom-dashboard-help-panel": "Aide", + "classroom-dashboard-activities-panel-library-teacher": "Banque de ressources", + "classroom-dashboard-new-activity-panel": "Création de l'activité", + "classroom-dashboard-new-activity-panel2": "Intermédiaire", + "classroom-dashboard-new-activity-panel3": "Attribution", + "classroom-table-panel-teacher": "Classe {{name}}", + "classroom-dashboard-sandbox-creation": "Sélection de l'interface", + "classroom-dashboard-ide-panel": "Bac à sable {{interface}}", + "classroom-dashboard-activity-panel": "Activité {{name}}" + }, + "displayCode": "Projeter le code", + "navbar": { + "activities": "Activités" + }, + "classes": { + "add": "Ajouter une classe", "noClasses": "Vous n'avez pas encore de classe.", "createClassNow": "Commencez par créer une classe dès maintenant !", - "form": { - "title": "Créer une classe", - "name": "Nom de la classe", - "updateTitle": "Modifier une classe", - "school": "Nom de l'établissement", - "addStudent": "Ajouter un apprenant", - "noStudent": "Pas encore d'apprenants dans cette classe", - "isBlockedButton": "Limiter à ces apprenants, personne d'autre ne pourra rejoindre la classe.", - "save": "Sauvegarder la classe", - "return": "Retour à la classe" - }, + "form": { + "title": "Créer une classe", + "name": "Nom de la classe", + "updateTitle": "Modifier une classe", + "school": "Nom de l'établissement", + "addStudent": "Ajouter un apprenant", + "noStudent": "Pas encore d'apprenants dans cette classe", + "isBlockedButton": "Limiter à ces apprenants, personne d'autre ne pourra rejoindre la classe.", + "save": "Sauvegarder la classe", + "return": "Retour à la classe" + }, "panel": { "seeActivity":"Voir l'activité", "editActivity":"Modifier l'activité", @@ -247,1001 +254,1092 @@ "delete": "Supprimer", "copyLink": "Copier le lien direct", "learnerMode": "Mode apprenant", - "dueBy": "À rendre avant le", - "timePassed": "Temps passé : " - } - }, - "activities": { - "title": "Activités", - "save": "Sauver le brouillon ", - "add": "Créer une activité", - "new": "Nouveaux", - "current": "En attente de correction", - "waiting": "Pas encore réalisé", - "done": "Terminés", - "todo": "A corriger", - "anonymise": "Anonymiser la liste de vos élèves afin de pouvoir afficher le tableau de bord à vos apprenants.", - "save-draft": "Sauvegarder en tant que brouillon", - "validate": "Valider l'activité", - "accept": "Très bonne maîtrise", - "vgood": "Maîtrise satisfaisante", - "good": "Maîtrise fragile", - "refuse": "Maîtrise insuffisante", - "instruction": "Consigne", - "commentary": "Commentaire", - "sendResults": "Envoyer le commentaire ", - "noSend": "Cette activité n'a pas été rendue", - "toSend": "Activité à rendre pour le ", - "sentOn": "Cette activité a été rendue le ", - "activityOfUser": "Activité de ", - "userSentOn" : " rendue le ", - "yourAnswer": "Votre réponse", - "studentAnswer": "Réponse de l'apprenant", - "comments": "Entrez ici vos remarques", - "return": "Retour aux activités", - "bilan": { - "title": "Bilan", - "results": "Résultats", - "noComment": "Aucun commentaire" - }, - "applist":{ - "selectApp":"Sélectionnez l'application avec laquelle vous souhaitez créer une activité", - "apps":{ - "reading":{ - "title": "Multimédia", - "desc": "Cette activité permet de visualiser des textes, images, vidéos, PDF, ainsi que des outils externes." - }, - "quiz":{ - "title": "QCM", - "desc": "Cette activité permet d'évaluer les connaissances à l'aide de question à choix multiples ou simples." - }, - "free":{ - "title": "Réponse libre", - "desc": "Cette activité permet aux élèves de répondre à un énoncé par écrit." - }, - "fillIn":{ - "title": "Texte à trous", - "desc": "Cette activité permet d'évaluer les connaissances en remplissant des cases vides." - }, - "dragAndDrop":{ - "title": "Glisser-Déposer", - "desc": "Cette activité permet de glisser et déposer des mots dans différents espaces vides." - } - } - }, - "form": { - "1": "Application", - "2": "Contenu", - "3": "Titre", - "4": "Attribution", - "title": { - "label": "Titre de l'activité", - "placeholder": "Titre de la partie" - }, - "content": { - "label": "Contenu de l'activité" - }, - "back": "Retour", - "validate": "Valider", - "buttonContinue": "Sauvegarder et continuer", - "button": "Sauvegarder et Valider", - "success": "Bravo, vous avez créé une activité !", - "attribute": "Attribuer l'activité dès maintenant", - "attribute2": "Attribuer l'activité ", - "return": "Retourner à Mes activités", - "hint": "Vous pourrez toujours attribuer plus tard cette activité depuis le tableau de bord.", - "modify": "Modifier l'activité", - "select1": "Sélectionner les apprenants", - "select2": " sélectionnés.", - "instructions": "Consigne spécifique pour ces apprenants", - "autocorrect": "Cette activité dispose de correction automatique, souhaitez-vous l'activer ?", - "nature": "L’élève peut-il soumettre plusieurs fois l’activité ?", - "dateBegin": "Date de début :", - "dateEnd": "Date de fin :", - "retroAttribution" : "Cette activité sera attribuée aux nouveaux apprenants" - }, - "toCopy": "Ce code permet de rejoindre en toute simplicité votre classe", - "copyLink": "Le lien vers votre classe a été ajouté au presse-papier", - "dateBefore": "A rendre avant le", - "integrate": "Intégrer dans une activité", - "veryGoodProficiency": "Très bonne maîtrise", - "goodProficiency": "Maîtrise satisfaisante", - "weakProficiency": "Maîtrise fragile", - "insufficientProficiency": "Maîtrise insuffisante", - "addLearner": "Ajouter un apprenant", - "addLearners": "Ajouter des apprenants", - "addActivity": "Ajouter une activité", - "exportCsv": "Exporter csv" - }, - "filter": { - "desc": "Date croissante", - "asc": "Date décroissante", - "placeholder": "Recherche..." - }, - "sandbox": { - "mine": "Mes projets", - "shared": "Projets partagés", - "add": "Créer un programme", - "chooseInterface": "Sélectionnez l'interface sur laquelle vous souhaitez créer un programme : ", - "teacherSharedDescription": "Retrouvez ici les programmes partagés par vos élèves.", - "studentSharedDescription": "Retrouvez ici les programmes partagés par votre enseignant" - }, - "footer": { - "privacy": "Politique de confidentialité ", - "legal": "Mentions Légales", - "cgu": "Conditions générales d'utilisation", - "copyright": "" - }, - "teacherHelpPanel": { - "contactForm": { - "title": "Nous contacter", - "objectPlaceholder": "Objet", - "messagePlaceholder": "Écrivez votre message ici. (Maximum 800 caractères)", - "sendButton": "Envoyer le message", - "fillInAllTheFields": "Complétez tous les champs" - } - }, - "sandBoxCreationPanel": { - "title": "Sélectionnez l'interface sur laquelle vous souhaitez créer un programme", - "knowMoreButton": "En savoir plus sur les interfaces", - "interfacesDescription": { - "arduino": "Interface de programmation pour la carte Arduino", - "microbit": "Interface de programmation pour la carte Micro:bit", - "python": "Interface de programmation pour Python 3 pensée pour l’éducation", - "texas-instruments": "Interface de programmation pour la calculatrice avec la carte micro:bit", - "esp32": "Interface de programmation pour les cartes ESP32 (Wemos D1R32, NodeMCU, Huzzah32, …)", - "quickpi": "Interface de programmation pour la carte Quick-Pi" - } - }, - "modals": { - "addActivity": { - "title": "Ajouter une activité", - "resourceBank": { - "title": "Parcourir la banque de ressources collaborative", - "button": "Banque de ressources " - }, - "orSeparator": "OU", - "attributeActivity": { - "title": "Consulter mes activités existantes", - "button": "Mes activités " - }, - "createActivity": { - "title": "Créer une nouvelle activité", - "button": "Créer une activité " - } - }, - "settingsTeacher": { - "title": "Paramètres du compte", - "lang": "Langue", - "description": "Pour modifier votre mot de passe ou d'autres paramètres de votre compte", - "accessButton": "Accéder à votre profil", - "password": "Mot de passe", - "passwordDescription": "Voici ton mot de passe. Pense à le mémoriser, autrement seul ton professeur pourra te le redonner.", - "resetPassword": "Réinitialiser" + "dueBy":"À rendre avant le" }, - "addStudent": { - "title": "Ajouter des étudiants", - "pseudo": "Pseudonyme", - "addStudentButton": "Ajouter l'apprenant", - "addStudentByCsvButton": "Ajouter un fichier d'apprenants (.csv)" - }, - "addStudentByCsv": { - "title": "Ajouter des étudiants avec un fichier .csv", - "description": "Vous pouvez ajouter un ou plusieurs apprenants d'un seul coup en les important depuis un fichier .csv. Il est facultativement possible de définir le mot de passe pour chacun d'entre eux. Voici les fichiers .csv modèles : ", - "descriptionUpdate": "Vous pouvez ajouter un ou plusieurs apprenants d'un seul coup en les important depuis un fichier .csv. ATTENTION : ici, les mots de passe du fichier csv ne sont pas pris en compte ! Voici le fichier .csv modèle : ", - "csvTemplate": "fichier modèle avec mot de passe", - "csvTemplateNoPassword": "fichier modèle sans mot de passe", - "importStudentByCsvButton": "Importer les apprenants" - }, - "exportCsv": { - "title": "Exporter au format csv", - "exportLearnersDescription": "Télécharcher la liste des apprenants pour cette classe ainsi que leur mot de passe. Le fichier téléchargé est au format .csv.", - "exportLearners": "Télécharger la liste des apprenants", - "exportDashboardDescription": "Télécharger la liste des apprenants pour cette classe ainsi que, pour chacun d'entre eux, leur activités attribuées ainsi que l'état de chaque activité (pas encore réalisée, à corriger, complétée). Le fichier téléchargé est au format .csv.", - "exportDashboard": "Télécharger le tableau de bord" - }, - "listClass": { - "title": "Passer en mode apprenant", - "description": "Vous pouvez tester en toute simplicité l'interface en tant qu'apprenant, et revenir à tout moment à votre profil d'enseignant. La progression en tant qu'apprenant sera sauvegardée sur le compte \"{{demoStudent}}\".", - "switchButton": "Passer en mode apprenant" - }, - "changePseudo": { - "title": "Modifier le pseudo", - "description": "Modifier le pseudo", - "validateButton": "Valider" + "copyDirectLink": "Copier le lien direct" + }, + "activities": { + "title": "Activités", + "save": "Sauver le brouillon ", + "add": "Créer une activité", + "addCabriExpress": "Créer activité Express", + "addCabriGenius": "Créer activité Smart", + "addOther": "Autre type d'activité", + "new": "Nouveaux", + "current": "En attente de correction", + "waiting": "Pas encore réalisée", + "done": "Terminés", + "todo": "À corriger", + "anonymise": "Anonymiser la liste de vos élèves afin de pouvoir afficher le tableau de bord à vos apprenants.", + "save-draft": "Sauvegarder en tant que brouillon", + "validate": "Valider l'activité", + "accept": "Très bonne maîtrise", + "vgood": "Maîtrise satisfaisante", + "good": "Maîtrise fragile", + "refuse": "Maîtrise insuffisante", + "instruction": "Consigne", + "commentary": "Commentaire", + "sendResults": "Envoyer", + "noSend": "Cette activité n'a pas été rendue", + "toSend": "Activité à rendre pour le ", + "sentOn": "Cette activité a été rendue le ", + "activityOfUser": "Activité de ", + "userSentOn" : " rendue le ", + "yourAnswer": "Votre réponse", + "studentAnswer": "Réponse de l'apprenant", + "comments": "Entrez ici vos remarques", + "return": "Retour aux activités", + "teacherComments": "Remarques de l'enseignant", + "activitySubmited": "Activité de $1 rendue le $2", + "bilan": { + "title": "Bilan", + "results": "Résultats", + "noComment": "Aucun commentaire", + "grade": "Note" + }, + "applist":{ + "selectApp":"Sélectionnez l'application avec laquelle vous souhaitez créer une activité", + "apps":{ + "reading":{ + "title": "Multimédia", + "desc": "Cette activité permet de visualiser des textes, images, vidéos, PDF, ainsi que des outils externes." + }, + "quiz":{ + "title": "QCM", + "desc": "Cette activité permet d'évaluer les connaissances à l'aide de question à choix multiples ou simples." + }, + "free":{ + "title": "Réponse libre", + "desc": "Cette activité permet aux élèves de répondre à un énoncé par écrit." + }, + "fillIn":{ + "title": "Texte à trous", + "desc": "Cette activité permet d'évaluer les connaissances en remplissant des cases vides." + }, + "dragAndDrop":{ + "title": "Glisser-Déposer", + "desc": "Cette activité permet de glisser et déposer des mots dans différents espaces vides." + } + } + }, + "form": { + "1": "Application", + "2": "Contenu", + "3": "Titre", + "4": "Attribution", + "title": { + "label": "Titre de l'activité", + "labelCabri": "Quel est le titre de l'activité ?", + "placeholder": "Titre", + "placeholderCabri": "Titre de l'activité" + }, + "iframe": { + "label": "Quelle est l'URL d'accès ?", + "placeholder": "Entrer une URL" + }, + "notebookUpdateMessage": "Ne pas modifier cette section si vous souhaitez garder l'ancien cahier d'activité !", + "notebookUrl": { + "label": "Ajouter une URL de cahier", + "placeholder": "URL de cahier" + }, + "playerUrl": { + "label": "Ajouter une URL de player", + "placeholder": "URL de player" + }, + "player": { + "labelFileChooser": "Choisir un fichier", + "fileUpload": "Le fichier a bien été chargé", + "dragDrop": "Glissez-déposer" + }, + "nextButton": "Suivant", + "endButton": "Terminer", + "content": { + "label": "Contenu de l'activité" + }, + "back": "Retour", + "validate": "Valider", + "buttonContinue": "Sauvegarder et continuer", + "button": "Sauvegarder et Valider", + "success": "Bravo, vous avez créé une activité !", + "attribute": "Attribuer l'activité dès maintenant", + "attribute2": "Attribuer l'activité ", + "return": "Retourner à Mes activités", + "hint": "Vous pourrez toujours attribuer plus tard cette activité depuis le tableau de bord.", + "modify": "Modifier l'activité", + "select1": "Sélectionner les apprenants", + "select2": " sélectionnés.", + "instructions": "Consigne spécifique pour ces apprenants", + "autocorrect": "Cette activité dispose de correction automatique, souhaitez-vous l'activer ?", + "nature": "L’élève peut-il soumettre plusieurs fois l’activité ?", + "dateBegin": "Date de début :", + "dateEnd": "Date de fin :", + "retroAttribution" : "Cette activité sera attribuée aux nouveaux apprenants" + }, + "toCopy": "Ce code permet de rejoindre en toute simplicité votre classe", + "copyLink": "Le lien vers votre classe a été ajouté au presse-papier", + "dateBefore": "À rendre avant le", + "dateBeforeAvailable": "Disponible jusqu'au", + "integrate": "Intégrer dans une activité", + "veryGoodProficiency": "Très bonne maîtrise", + "goodProficiency": "Maîtrise satisfaisante", + "weakProficiency": "Maîtrise fragile", + "insufficientProficiency": "Maîtrise insuffisante", + "addLearner": "Ajouter un apprenant", + "exportCsv": "Exporter csv", + "players": { + "STANDARD": { + "title": "Standard", + "description": "Utiliser le lecteur standard permet de lire en ligne tous les cahiers d’activités réalisés grâce à l’outil auteur Cabri." + }, + "IMUSCICA": { + "title": "iMuSciCA", + "description": "Utiliser le lecteur iMuSciCA permet de lire dans le studio musical toutes les activités réalisées grâce à l’outil auteur Cabri." + }, + "IFRAME": { + "title": "Autre", + "description": "Choisir parmi une sélection de lecteurs pour utiliser les activités réalisées avec l’outil auteur Cabri." + }, + "EXPRESS": { + "title": "Express", + "description": "Créer une activité grâce aux outils de géométrie dynamique et d’algèbre, à la calculatrice scientifique et graphique, etc." + }, + "GENIUS": { + "title": "Smart", + "description": "Créer une activité grâce aux outils Express et ajouter une évaluation automatique." + }, + "IFRAME-CABRI3D": { + "title": "Cabri 3D", + "description": "Créer une exploration de géométrie dynamique dans l'espace." + }, + "LTI-BLOCKLY": { + "title": "Cabri Blockly", + "description": "Ajouter à une activité Cabri des actions utilisateurs, comme des animations, des verrouillages,...programmées visuellement dans le même esprit qu'avec Scratch ou Snap!" + } + }, + "tabs": { + "players": "Cahier d'activité", + "iframes": "Vidéo et page Internet" + }, + "iframes": { + "IFRAME-VIDEO": { + "title": "Vidéo", + "description": "Entrer l’URL d’une vidéo publiée sur une plateforme d'hébergement." + }, + "IFRAME-PAGE": { + "title": "Page Internet", + "description": "Entrer l’URL de la page Internet." + } + }, + "displayActivity": "Voir l'activité", + "modifyActivity": "Modifier l'activité", + "modifyActivityAttribution": "Modifier l'attribution", + "removeActivityAttribution": "Retirer l'attribution " + }, + "filter": { + "desc": "Date croissante", + "asc": "Date décroissante", + + "cabriExpress": "Activités Express", + "cabriGenius": "Activités Smart", + "cabriVittascience": "Activités Vittascience", + "iframe": "Autres activités", + "placeholder": "Recherche..." + }, + "sandbox": { + "mine": "Mes projets", + "shared": "Projets partagés", + "add": "Créer un programme", + "chooseInterface": "Sélectionnez l'interface sur laquelle vous souhaitez créer un programme : ", + "teacherSharedDescription": "Retrouvez ici les programmes partagés par vos élèves.", + "studentSharedDescription": "Retrouvez ici les programmes partagés par votre enseignant." + }, + "footer": { + "privacy": "Politique de confidentialité ", + "legal": "Mentions légales", + "cgu": "Conditions
générales d'utilisation", + "copyright": "" + }, + "teacherHelpPanel": { + "contactForm": { + "title": "Nous contacter", + "objectPlaceholder": "Objet", + "messagePlaceholder": "Écrivez votre message ici (maximum 800 caractères).", + "sendButton": "Envoyer le message", + "fillInAllTheFields": "Complétez tous les champs" + } + }, + "sandBoxCreationPanel": { + "title": "Sélectionnez l'interface sur laquelle vous souhaitez créer un programme", + "knowMoreButton": "En savoir plus sur les interfaces", + "interfacesDescription": { + "arduino": "Interface de programmation pour la carte Arduino", + "microbit": "Interface de programmation pour la carte micro:bit", + "python": "Interface de programmation pour Python 3 pensée pour l’éducation", + "texas-instruments": "Interface de programmation pour la calculatrice avec la carte micro:bit", + "esp32": "Interface de programmation pour les cartes ESP32 (Wemos D1R32, NodeMCU, Huzzah32, …)", + "quickpi": "Interface de programmation pour la carte Quick-Pi" + } + }, + "modals": { + "addLtiActivityName": "Quel est le titre de l'activité ?", + "addActivity": { + "title": "Ajouter une activité", + "resourceBank": { + "title": "Parcourir la banque de ressources collaborative", + "button": "Banque de ressources " + }, + "orSeparator": "OU", + "attributeActivity": { + "title": "Sélectionner des apprenants", + "button": "Mes activités " + }, + "shareProject": { + "title": "Partager le projet" + }, + "createActivity": { + "title": "Créer une nouvelle activité", + "button": "Créer une activité " + }, + "next": "Suivant", + "limitTitle": "Limite dépassée", + "limitDescription": "Limite du nombre d'activités atteinte pour ce compte.", + "upgradePlan": "Augmenter la limite" + }, + "updateActivity": { + "title": "Modifier une activité" + }, + "deleteActivity": { + "title": "Supprimer une activité", + "description": "Êtes-vous sûr de vouloir supprimer l'activité ?", + "confirm": "Confirmer", + "cancel": "Annuler" + }, + "settingsTeacher": { + "title": "Paramètres du compte", + "lang": "Langue", + "description": "Pour modifier son mot de passe ou d'autres paramètres de son compte", + "accessButton": "Accéder à son profil", + "password": "Mot de passe", + "passwordDescription": "Voici ton mot de passe. Pense à le mémoriser, autrement, seul ton professeur pourra te le redonner.", + "resetPassword": "Réinitialiser" + }, + "addStudent": { + "title": "Ajouter des apprenants", + "pseudo": "Pseudonyme", + "addStudentButton": "Ajouter l'apprenant", + "addStudentByCsvButton": "Ajouter un fichier d'apprenants (.csv)" + }, + "addStudentByCsv": { + "title": "Ajouter des apprenants avec un fichier .csv", + "description": "Vous pouvez ajouter un ou plusieurs apprenants d'un seul coup en les important depuis un fichier .csv. Il est facultativement possible de définir le mot de passe pour chacun d'entre eux. Voici les fichiers .csv modèles : ", + "csvTemplate": "fichier modèle avec mot de passe", + "csvTemplateNoPassword": "fichier modèle sans mot de passe", + "importStudentByCsvButton": "Importer les apprenants" + }, + "exportCsv": { + "title": "Exporter au format csv", + "exportLearnersDescription": "Télécharcher la liste des apprenants pour cette classe ainsi que leur mot de passe. Le fichier téléchargé est au format .csv.", + "exportLearners": "Télécharger la liste des apprenants", + "exportDashboardDescription": "Télécharger la liste des apprenants pour cette classe ainsi que, pour chacun d'entre eux, leurs activités attribuées ainsi que l'état de chaque activité (pas encore réalisée, à corriger, complétée). Le fichier téléchargé est au format .csv.", + "exportDashboard": "Télécharger le tableau de bord" + }, + "listClass": { + "title": "Passer en mode apprenant", + "description": "Vous pouvez tester en toute simplicité l'interface en tant qu'apprenant et revenir à tout moment à votre profil d'enseignant. La progression en tant qu'apprenant sera sauvegardée sur le compte \"{{demoStudent}}\".", + "switchButton": "Passer en mode apprenant" + }, + "changePseudo": { + "title": "Modifier le pseudo", + "description": "Modifier le pseudo", + "validateButton": "Valider" }, "attributeActivity": { "title": "Attribuer l'activité" }, "shareProject": { "title": "Partager le projet" - }, - "profileUpdatePasswordConfirm": { - "title": "Confirmation du mot de passe", - "description": "Veuillez saisir votre mot de passe actuel afin de valider les modifications de votre profil !", - "placeholderInput": "Mot de passe", - "validateButton": "Valider" - } - } - }, - "faqInfo": { - "1": { - "section_title": "Questions générales", - "question_list": { - "1": { - "title": "Qu’est-ce que le module Classe ?", - "answer": "Le module Classe facilite l'attribution de contenus pédagogiques et le suivi des apprenants. Les enseignants peuvent utiliser les contenus de la communauté, ou bien créer leurs propres activités et les partager." - }, - "2": { - "title": "Qui utilise le module Classe ?", - "answer": "En cours comme à la maison ou en atelier périscolaire, le module classe est utilisé par des enseignants (professeurs, animateurs, formateurs, etc.) et leurs apprenants (élèves, étudiants, apprentis, etc.). Le module Classe a été pensé pour le niveau secondaire (~10 à 18 ans), mais peut s'adapter à d'autres contextes." - }, - "3": { - "title": "Quelle est la nature du soutien du Ministère de l'Éducation Nationale ?", - "answer": "Vittascience est lauréate du dispositif Édu-up de soutien à la production de ressources numériques innovantes. Plus de détails sont disponibles sur la page dédiée à Édu-up." - }, - "4": { - "title": "Sur quels supports peut-on utiliser le module Classe ?", - "answer": "Le module classe fonctionne sur ordinateurs, tablettes et smartphones avec la plupart des navigateurs et une connexion internet." - }, - "5": { - "title": "Peut-on demander une démonstration ?", - "answer": "Nous organisons régulièrement des webinaires de présentation du module Classe, vous pouvez vous abonner à la chaîne Youtube de Vittascience pour visionner les replay et voir les prochains webinaires prévus. Pour réserver une démonstration en visioconférence avec l’un de nos délégués pédagogiques, contactez-nous via ce formulaire." - }, - "6": { - "title": "Comment signaler des bugs et faire part de mes commentaires sur le module Classe ?", - "answer": "Vous pouvez nous contacter sur le module Classe dans l’onglet profil avec le bouton \"Aide\"." - }, - "7": { - "title": "Est-ce que le module Classe est disponible en plusieurs langues ?", - "answer": "Oui, le module Classe est actuellement disponible en français et en anglais. Pour changer de langue, allez dans l'onglet profil, cliquez sur le bouton Paramètres, puis sélectionnez la langue qui vous convient." - } - } - }, - "2": { - "3": { - "section_title": "Licences et autorisations", - "question_list": { - "1": { - "title": "Peut-on faire une description ou présentation du module Classe ?", - "answer": "Oui, vous pouvez réutiliser les visuels pour module Classe pour créer une description, présentation, formation, tutoriel, cours ou autre. Si vous souhaitez inclure des images ou contenus d'activités, veuillez mentionner l'auteur (voir question suivante)." - }, - "2": { - "title": "Peut-on réutiliser les activités de la communauté Vittascience ?", - "answer": "Oui, toutes les activités visibles dans la banque de ressources Vittascience sont sous licence Creative Commons. Deux cas sont possibles :
  • CC BY-NC-SA : l'auteur souhaite que le contenu soit partagé dans un usage non-commercial uniquement et à condition de mentionner son nom. Le contenu peut être modifié.
  • CC BY-NC-ND : l'auteur souhaite que le contenu soit partagé dans un usage non-commercial uniquement et à condition de mentionner son nom. Le contenu ne peut pas être modifié.
" - }, - "3": { - "title": "Où peut-on trouver le code source du module Classe ?", - "answer": "Le code source du module Classe n'est pas disponible pour le moment. Vous pouvez retrouver de nombreux modules open-source de la plateforme Vittascience sur le dossier GitHub de Vittascience, n'hésitez pas à contribuer !" - } - } - }, - "section_title": "Comptes", - "question_list": { - "1": { - "title": "Comment se connecter au module Classe ?", - "answer": "Il est possible de se connecter au module Classe de trois façons :
  • Code classe : permet aux apprenants de s'inscrire ou se connecter rapidement avec seulement un pseudonyme (sans renseigner d'adresse courriel). Un code classe est généré automatiquement pour chaque classe créée par l'enseignant.
  • Compte Vittascience : permet à l'enseignant de se connecter grâce à un compte Vittascience (adresse courriel et mot de passe). Cette méthode est réservée aux enseignants et ne convient pas aux apprenants (RGPD).
  • Compte GAR : le gestionnaire d’accès aux ressources (« GAR ») a pour objectif de simplifier et sécuriser les accès authentifiés entre les usagers des ENT et leurs ressources numériques. Plus de renseignements sont disponibles sur la page accéder à Vittascience par le GAR.
Le respect de la vie privée est primordial pour Vittascience, pour en savoir plus retrouvez la page dédiée à la protection des données personnelles." - }, - "2": { - "title": "Peut-on utiliser Vittascience sans compte ?", - "answer": "Sans compte, il est possible d’utiliser la page Programmer et d'accéder aux Ressources pédagogiques de Vittascience. Cependant, vous aurez besoin d’un compte pour réaliser des activités de classe, sauvegarder vos réalisations et partager vos contenus. Vos apprenants n'ont pas besoin de créer de compte Vittascience si vous les invitez via le module Classe." - }, - "3": { - "title": "Comment créer un compte ?", - "answer": "Cliquez simplement sur « S’abonner » de la page d’accueil du module Classe. Vous devrez choisir l’offre qui vous correspond et fournir quelques informations.
  • Si vous avez opté pour l’offre gratuite, un e-mail vous sera envoyé pour confirmer votre compte. Cliquez simplement sur le lien pour confirmer votre compte. Une fois votre compte confirmé, vous pourrez explorer l’interface, créer vos activités et les partager.
  • Si vous avez opté pour une offre payante, vous pourrez procéder à la création d’un devis pour votre établissement ou à son achat, puis votre compte sera activé.
" - }, - "4": { - "title": "Qu’est-ce qu’un compte enseignant ?", - "answer": "Tout compte Vittascience créé à partir d'une adresse courriel ou du GAR peut être utilisé comme compte enseignant. Un compte enseignant possède des fonctionnalités pour créer des comptes apprenants, organiser les activités et échanger des commentaires avec ses apprenants." - }, - "5": { - "title": "Qu’est-ce qu’un compte apprenant ?", - "answer": "Un compte apprenant permet de réaliser les activités demandées par des enseignants, d’explorer les interfaces de programmation Vittascience et de partager ses propres réalisations. Seul un pseudonyme est requis pour la création d'un compte apprenant. Un code à 4 chiffres est généré automatiquement pour sécuriser l'accès des apprenants, seul l'enseignant peut modifier celui-ci." - }, - "6": { - "title": "Nom d’utilisateur ou mot de passe oublié ?", - "answer": "Si vous avez un compte Vittascience (enseignant), vous pouvez recevoir un courriel de récupération de mot de passe via ce lien. En tant qu'apprenant, vous devez demander à votre enseignant de réinitialiser votre code à 4 chiffres." - }, - "7": { - "title": "Comment changer de mot de passe ou d’autres paramètres de compte ?", - "answer": "Pour changer de mot de passe ou d’autres paramètres, allez sur votre page profil. Dans le cas du GAR, les paramètres sont ceux de votre ENT." - } - } - }, - "3": { - "section_title": "Licences et autorisations", - "question_list": { - "1": { - "title": "Peut-on faire une description ou présentation du module Classe ?", - "answer": "Oui, vous pouvez réutiliser les visuels pour module Classe pour créer une description, présentation, formation, tutoriel, cours ou autre. Si vous souhaitez inclure des images ou contenus d'activités, veuillez mentionner l'auteur (voir question suivante)." - }, - "2": { - "title": "Peut-on réutiliser les activités de la communauté Vittascience ?", - "answer": "Oui, toutes les activités visibles dans la banque de ressources Vittascience sont sous licence Creative Commons. Deux cas sont possibles :
  • CC BY-NC-SA : l'auteur souhaite que le contenu soit partagé dans un usage non-commercial uniquement et à condition de mentionner son nom. Le contenu peut être modifié.
  • CC BY-NC-ND : l'auteur souhaite que le contenu soit partagé dans un usage non-commercial uniquement et à condition de mentionner son nom. Le contenu ne peut pas être modifié.
" - }, - "3": { - "title": "Où peut-on trouver le code source du module Classe ?", - "answer": "Le code source du module Classe n'est pas disponible pour le moment. Vous pouvez retrouver de nombreux modules open-source de la plateforme Vittascience sur le dossier GitHub de Vittascience, n'hésitez pas à contribuer !" - } - } - }, - "title": "FAQ", - "hint": "Vous ne trouvez pas la réponse à votre question ? Contactez-nous via ce formulaire." - }, - "faqInfoNeutral": { - "1": { - "section_title": "Questions générales", - "question_list": { - "1": { - "title": "Qu’est-ce que le module Classe ?", - "answer": "Le module Classe facilite l'attribution de contenus pédagogiques et le suivi des apprenants. Les enseignants peuvent utiliser les contenus de la communauté, ou bien créer leurs propres activités et les partager." - }, - "2": { - "title": "Qui utilise le module Classe ?", - "answer": "En cours comme à la maison ou en atelier périscolaire, le module classe est utilisé par des enseignants (professeurs, animateurs, formateurs, etc.) et leurs apprenants (élèves, étudiants, apprentis, etc.). Le module Classe a été pensé pour le niveau secondaire (~10 à 18 ans), mais peut s'adapter à d'autres contextes." - }, - "3": { - "title": "Sur quels supports peut-on utiliser le module Classe ?", - "answer": "Le module classe fonctionne sur ordinateurs, tablettes et smartphones avec la plupart des navigateurs et une connexion internet." - }, - "4": { - "title": "Comment signaler des bugs et faire part de mes commentaires sur le module Classe ?", - "answer": "Vous pouvez nous contacter sur le module Classe dans l’onglet profil avec le bouton \"Aide\"." - }, - "5": { - "title": "Est-ce que le module Classe est disponible en plusieurs langues ?", - "answer": "Oui, le module Classe est actuellement disponible en français et en anglais. Pour changer de langue, allez dans l'onglet profil, cliquez sur le bouton Paramètres, puis sélectionnez la langue qui vous convient." - } - } - }, - "2": { - "section_title": "Comptes", - "question_list": { - "1": { - "title": "Comment se connecter au module Classe ?", - "answer": "Il est possible de se connecter au module Classe de trois façons :
  • Code classe : permet aux apprenants de s'inscrire ou se connecter rapidement avec seulement un pseudonyme (sans renseigner d'adresse courriel). Un code classe est généré automatiquement pour chaque classe créée par l'enseignant.
  • Compte Open STEAM LMS : permet à l'enseignant de se connecter grâce à un compte Open STEAM LMS (adresse courriel et mot de passe). Cette méthode est réservée aux enseignants et ne convient pas aux apprenants (RGPD).
  • Compte GAR : le gestionnaire d’accès aux ressources (« GAR ») a pour objectif de simplifier et sécuriser les accès authentifiés entre les usagers des ENT et leurs ressources numériques. Plus de renseignements sont disponibles sur la page accéder à Open STEAM LMS par le GAR.
Le respect de la vie privée est primordial pour Open STEAM LMS, pour en savoir plus retrouvez la page dédiée à la protection des données personnelles." - }, - "2": { - "title": "Comment créer un compte ?", - "answer": "Cliquez simplement sur « Créer un compte » de la page d’accueil du module Classe. Vous devrez fournir quelques informations. Un e-mail vous sera envoyé pour confirmer votre compte. Cliquez simplement sur le lien pour confirmer votre compte. Une fois votre compte confirmé, vous pourrez explorer l’interface, créer vos activités et les partager." - }, - "3": { - "title": "Qu’est-ce qu’un compte enseignant ?", - "answer": "Tout compte Open STEAM LMS créé à partir d'une adresse courriel ou du GAR peut être utilisé comme compte enseignant. Un compte enseignant possède des fonctionnalités pour créer des comptes apprenants, organiser les activités et échanger des commentaires avec ses apprenants." - }, - "4": { - "title": "Qu’est-ce qu’un compte apprenant ?", - "answer": "Un compte apprenant permet de réaliser les activités demandées par des enseignants et de partager ses propres réalisations. Seul un pseudonyme est requis pour la création d'un compte apprenant. Un code à 4 chiffres est généré automatiquement pour sécuriser l'accès des apprenants, seul l'enseignant peut modifier manuellement celui-ci. L'apprenant peut toutefois effectuer une réinitialisation pour en obtenir un nouveau." - }, - "5": { - "title": "Nom d’utilisateur ou mot de passe oublié ?", - "answer": "Si vous avez un compte Open STEAM LMS (enseignant), vous pouvez recevoir un courriel de récupération de mot de passe via ce lien. En tant qu'apprenant, vous devez demander à votre enseignant de réinitialiser votre code à 4 chiffres." - }, - "6": { - "title": "Comment changer de mot de passe ou d’autres paramètres de compte ?", - "answer": "Pour changer de mot de passe ou d’autres paramètres, allez sur votre panel \"profil\" puis cliquez sur \"paramètres\" et enfin sur \"Accéder à votre profil\". Dans le cas du GAR, les paramètres sont ceux de votre ENT." - } - } - }, - "3": { - "section_title": "Licences et autorisations", - "question_list": { - "1": { - "title": "Peut-on faire une description ou présentation du module Classe ?", - "answer": "Oui, vous pouvez réutiliser les visuels pour module Classe pour créer une description, présentation, formation, tutoriel, cours ou autre. Si vous souhaitez inclure des images ou contenus d'activités, veuillez mentionner l'auteur (voir question suivante)." - }, - "2": { - "title": "Où peut-on trouver le code source du module Classe ?", - "answer": "Le code source du module Classe Open STEAM LMS est disponible sur le repo git associé, n'hésitez pas à contribuer !" - } - } - }, - "title": "FAQ", - "hint": "Vous ne trouvez pas la réponse à votre question ? Contactez-nous via ce formulaire." - }, - "faqTeacherNeutral": { - "title": "FAQ", - "1": { - "section_title": "Activités", - "question_list": { - "1": { - "title": "À quoi sert l’onglet Mes activités ?", - "answer": "Dans l’onglet Mes activités, vous allez pouvoir :
  1. Créer vos propres activités et parcours,
  2. Puis les attribuer à vos apprenants !
" - }, - "2": { - "title": "Qu’est-ce qu’une activité ?", - "answer": "Une activité est un contenu interactif qui peut mêler du texte, des images, des vidéos, des PDF ainsi que des outils externes comme Genially et bien d'autres.
Le format d'affichage est basé sur les technologies du Web (HTML), ce qui permet de s'adapter à toute taille d'écran et de profiter d'options d'accessibilité avancées (police, couleurs, taille...)." - }, - "3": { - "title": "Comment créer ou modifier une activité ?", - "answer": "

Le format de sauvegarde des activités s'appelle BBcode, un langage très simple à manipuler, qu'on retrouve également sur des sites comme WordPress. Vous pouvez donc facilement créer ou modifier des activités.

Pour modifier une activité, rendez-vous dans l’onglet Mes activités et cliquez sur l’icône de votre activité puis cliquez sur Modifier. N’oubliez pas de sauvegarder vos modifications.

" - }, - "4": { - "title": "Comment attribuer une activité ?", - "answer": "Pour attribuer une activité, vous avez trois options :
  1. Soit, vous vous rendez dans l’onglet Mes activités et cliquez sur l’icône de votre activité puis cliquez sur Attribuer. Ensuite, vous n’aurez plus qu’à suivre les étapes.
  2. Cette option Attribuer est également disponible dans l’activité elle-même une fois ouverte.
  3. Sinon, vous allez dans l’onglet Mes classes et cliquez sur une classe. Une fois arrivé sur le tableau de bord de la classe, vous n’avez plus qu’à cliquer sur le bouton “Ajouter une activité”.
" - }, - "5": { - "title": "Comment tester une activité ?", - "answer": "Pour tester une activité, vous avez deux options :
  1. Soit aller dans Profil et cliquer sur le bouton “Passer en mode apprenant” puis sélectionner la classe dans laquelle vous souhaitez vous placer. Vous vous retrouvez sur le compte fictif d’un apprenant appelé \"{{demoStudent}}\", vous pourrez y découvrir l’interface “Apprenant” et réaliser les activités que vous avez attribuées.
  2. Soit aller sur Mes classes dans le tableau de bord d’une classe, vous pourrez alors vous placer dans la peau de l’apprenant \"{{demoStudent}}\". Pour cela, cliquer sur l’icône , vous aurez la possibilité de devenir un apprenant de la classe et d’essayer les activités.
Pour revenir au mode “Enseignant”, il suffit d’aller dans l’onglet Profil du compte \"{{demoStudent}}\" et de cliquer sur “Retourner au mode enseignant”" - }, - "6": { - "title": "Comment supprimer l’attribution d’une activité sans supprimer l’activité ?", - "answer": "Pour supprimer l’attribution d’une activité, aller dans l’onglet Classe, ouvrir le tableau de bord d’une des classes, puis cliquez sur l’activité (l’icône devient quand on passe dessus) puis sur Modifier l’attribution. Vous n’avez plus qu’à modifier les paramètres, sélectionner ou désélectionner les apprenants." - } - } - }, - "2": { - "section_title": "Classe", - "question_list": { - "1": { - "title": "À quoi sert l’onglet Mes classes ?", - "answer": "Dans l’onglet Mes Classes, vous allez pouvoir :
  1. Créer vos propres classes et ajouter des apprenants
  2. Corriger les réponses de vos apprenants aux activités,
  3. et suivre leur progression.
" - }, - "2": { - "title": "Comment ajouter mes apprenants à ma classe ?", - "answer": "Plusieurs options s’offrent à vous :
  1. En classe, vous pouvez projeter le code au tableau. Pour cela, rendez-vous dans votre classe et cliquez sur le bouton agrandir le code ci-dessous :
    Vos apprenants n’auront plus qu’à s'inscrire ou se connecter sur le site en rentrant le code. Ils pourront également noter ce code pour se connecter chez eux.
  2. Vous pouvez également créer des apprenants avec le bouton “Ajouter un apprenant” et ensuite leur communiquer leur mot de passe individuellement, celui-ci est visible sur le Tableau de bord de la classe ci-dessous :
" - }, - "3": { - "title": "Un apprenant peut-il se trouver dans deux classes différentes ?", - "answer": "Non, ce n’est actuellement pas possible." - }, - "4": { - "title": "Comment bloquer l’arrivée d’autres apprenants dans une classe ?", - "answer": "Cette option sera bientôt disponible ! Cela permettra notamment d’éviter que les apprenants s'inscrivent plusieurs fois dans une même classe par erreur, et également d’éviter que des personnes externes entrent dans la classe sans autorisation." - }, - "5": { - "title": "Comment attribuer une activité ?", - "answer": "

Vous pouvez attribuer une activité à toutes les classes que vous avez créées ou seulement à un apprenant en particulier.

Pour attribuer une activité, vous avez trois options :

  1. Soit, vous vous rendez dans l’onglet Mes activités et cliquez sur l’icône de votre activité puis cliquez sur Attribuer. Ensuite, vous n’aurez plus qu’à suivre les étapes.
  2. Cette option Attribuer est également disponible dans l’activité elle-même une fois ouverte.
  3. Sinon, vous allez dans l’onglet Mes classes et cliquez sur une classe. Une fois arrivé sur le tableau de bord de la classe, vous n’avez plus qu’à cliquer sur le bouton “Ajouter une activité”.
" - }, - "6": { - "title": "Peut-on revenir sur l'attribution d’une activité ?", - "answer": "Pour revenir sur l’attribution d’une activité, aller dans l’onglet Classe, ouvrir la tableau de bord d’une des classes, puis cliquez sur l’activité (l’icône devient quand on passe dessus) puis sur Modifier l’attribution. Vous n’avez plus qu’à modifier les paramètres, sélectionner ou désélectionner les apprenants." - }, - "7": { - "title": "Comment l’évaluation des activités se fait-elle ?", - "answer": "Les évaluations sont :
  • soit manuellement sur 4 niveaux : Très bonne maîtrise ; Maîtrise suffisante ; Maîtrise faible et Maîtrise insuffisante
  • Soit automatique sur 2 niveaux : Très bonne maîtrise et Maîtrise faible.
    Ce type d’évaluation permet à l’apprenant d’obtenir sa correction immédiatement et pour l’enseignant de bénéficier d’un gain de temps non négligeable.

Une fois que l’apprenant a terminé son activité, il a la possibilité de la recommencer si l’enseignant a sélectionné le mode “Exercice” lors de l’attribution. Dans le mode “Évaluation”, l’élève ne peut pas recommencer une fois l’activité validée.

Pour visualiser les résultats, il vous suffit de vous rendre dans le Tableau de bord de la classe.

Une activité non corrigée est symbolisée par un crayon dans le Tableau de bord. Pour la corriger, cliquer sur le crayon, ensuite il vous suffit d’évaluer et commenter le travail de l’apprenant.
Pour aller plus vite, vous avez également la possibilité d’enregistrer vocalement votre commentaire grâce au microphone.

" - }, - "8": { - "title": "Comment sait-on lorsque les apprenants ont terminé leurs activités ?", - "answer": "Lorsqu’un apprenant a terminé son activité, vous recevrez une notification par e-mail.
Ce paramètre sera ajustable à l’avenir, pour l’instant ce n’est pas paramétrable." - }, - "9": { - "title": "Comment modifier le nom d’une classe ?", - "answer": "Pour changer le nom de votre classe, il faudra cliquer sur l’icône depuis l’onglet Mes classes, puis sur modifier. Vous n’aurez plus qu’à changer son nom." - }, - "10": { - "title": "Comment supprimer un apprenant d’une classe ?", - "answer": "

Pour supprimer un apprenant, il suffit de cliquer sur l’icône à côté du nom de l’apprenant sur le Tableau de bord de la classe.

Attention, cette action est irréversible et clôture le compte de l’apprenant.

" - }, - "11": { - "title": "À quoi sert le bouton anonymiser dans le Tableau de bord ?", - "answer": "Ce bouton remplace le nom des apprenants par des numéros. Cela permet de projeter les résultats des élèves au tableau anonymement pour ne pas stigmatiser certains élèves." - } - } - }, - "3": { - "section_title": "Profil", - "question_list": { - "1": { - "title": "À quoi sert l’onglet Profil ?", - "answer": "Dans l’onglet Profil, vous allez pouvoir :
  1. Gérer vos paramètres de compte,
  2. Visualiser vos statistiques,
  3. et échanger des messages avec vos apprenants ainsi que l’équipe Vittascience si vous avez besoin d’aide.
" - }, - "2": { - "title": "Comment changer de mot de passe ou d’autres paramètres de compte ?", - "answer": "Pour changer de mot de passe ou d’autres paramètres, allez sur l’onglet Profil. Dans le cas du GAR, les paramètres sont ceux de votre ENT." - }, - "3": { - "title": "Comment change-t-on la langue ?", - "answer": "Le module Classe est actuellement disponible en français et en anglais. Pour changer de langue, allez dans l'onglet profil, cliquez sur le bouton “Paramètres”, puis sélectionnez la langue qui vous convient." - }, - "4": { - "title": "Qu’est-ce que le mode apprenant ?", - "answer": "

Dans votre profil, vous pouvez cliquer sur le bouton “Passer en mode apprenant”. Après avoir choisi une classe, vous vous retrouvez sur le compte fictif d’un apprenant appelé \"{{demoStudent}}\", dans lequel vous pourrez découvrir l’interface Apprenant et réaliser les activités que vous avez attribuées.

Pour revenir au mode “Enseignant”, il suffit d’aller dans l’onglet Profil du compte \"{{demoStudent}}\" et de cliquer sur “Retourner au mode enseignant”.

" - } - } - }, - "4": { - "section_title": "Questions générales", - "question_list": { - "1": { - "title": "Sur quel support le module classe est-il compatible ?", - "answer": "

Les interfaces fonctionnent sans installation, sur ordinateur, tablette et smartphone ! Les mises à jour sont automatiques et vos programmes sont sauvegardés dans le cloud.

Pour profiter pleinement de toutes les fonctionnalités, nous vous conseillons d’utiliser Chrome ou Firefox.

" - }, - "2": { - "title": "Comment créer un raccourci pour accéder au module Classe ?", - "answer": "

Vous avez la possibilité de mettre une icône sur le bureau de l'ordinateur pour accéder rapidement au module Classe. Pour cela :

Sur Windows et sur Mac:

  1. Ouvrez la page : classroom/, puis réduisez la taille de la fenêtre du navigateur afin de voir le bureau à côté.
  2. Dans votre navigateur Web, sélectionnez à la souris le symbole situé à gauche de l'adresse et, sans relâcher votre clic, faites glisser le pointeur jusqu'au Bureau. Relâchez pour créer le raccourci.
  3. Le raccourci est créé. Vous n’aurez plus qu’à double-cliquer dessus pour ouvrir la page web liée.

Sur Android avec Chrome :

  1. Ouvrez la page : classroom/, puis appuyez sur le bouton de menu, puis sélectionnez \"Ajouter à l'écran d'accueil\".
  2. Nommez la page et appuyez sur \"Ajouter\".
  3. Le raccourci est créé. Vous n’aurez plus qu’à double-cliquer dessus pour ouvrir la page web liée.

Sur Android avec Firefox :

  1. Ouvrez la page : classroom/, puis appuyez sur le bouton de menu, puis appuyez sur Page.
  2. Appuyez sur Ajouter un raccourci vers la page.
  3. Le raccourci est créé sur l’écran d’accueil. Vous n’aurez plus qu’à cliquer dessus pour ouvrir la page web liée.

Sur iOS avec Safari :

  1. Ouvrez la page : classroom/, puis touchez l'icône Partage.
  2. Sélectionnez sur l'écran d'accueil, puis appuyez sur Ajouter.
  3. Le raccourci est créé sur l’écran d’accueil. Vous n’aurez plus qu’à cliquer dessus pour ouvrir la page web liée.

Vous pourrez trouver d'autres tutoriels sur Internet pour créer un raccourci sur le bureau.

" - } } - }, - "5": { - "section_title": "Problème technique", - "question_list": { - "1": { - "title": "J’ai un bug, que faire ?", - "answer": "Lorsqu’un bug se produit, la première chose à faire est d'essayer de rafraîchir la page. Si le bug persiste, vous pouvez nous contacter dans l’onglet Profil avec le bouton “Aide”." - }, - "2": { - "title": "Comment signaler des bugs et faire part de mes commentaires ?", - "answer": "Si le bug persiste, vous pouvez nous contacter dans l’onglet profil avec le bouton “Aide”.
Pour nous faire des commentaires, vous pouvez également nous contacter dans l’onglet Profil avec le bouton “Aide”." - } - } - }, - "6": { - "section_title": "Licences et autorisations", - "question_list": { - "1": { - "title": "Peut-on faire une description ou présentation du module Classe ?", - "answer": "Oui, vous pouvez réutiliser les visuels pour module Classe pour créer une description, présentation, formation, tutoriel, cours ou autre. Si vous souhaitez inclure des images ou contenus d'activités, veuillez mentionner l'auteur (voir question suivante)." - }, - "2": { - "title": "Où peut-on trouver le code source du module Classe ?", - "answer": "Le code source du module Classe est disponible sur le repository git OpenSTEAM-LMS, n'hésitez pas à contribuer !" - } - } - } - }, - "faqStudentNeutral": { - "title": "FAQ", - "1": { - "section_title": "Activités", - "question_list": { - "1": { - "title": "À quoi sert l’onglet Mes activités ?", - "answer": "Dans l’onglet Mes Activités, tu vas pouvoir :
  1. Réaliser les nouvelles activités de tes enseignants.
  2. Sauvegarder celles que tu n’as pas encore terminées.
  3. Et revoir celles que tu as faites !
" - }, - "2": { - "title": "Qu’est-ce qu’une activité ?", - "answer": "Une activité est un contenu interactif qui peut mêler du texte, des images, des vidéos, des PDF ainsi que des outils externes comme Genially et bien d'autres.
Le format d'affichage est basé sur les technologies du Web (HTML), ce qui permet de s'adapter à toute taille d'écran et de profiter d'options d'accessibilité avancées (police, couleurs, taille...)." - } - } - }, - "2": { - "section_title": "Appel à l'aide", - "question_list": { - "1": { - "title": "À quoi sert l’onglet Appel à l’aide ?", - "answer": "Dans l’onglet Appel à l’aide, tu vas pouvoir :
  1. Demander de l’aide à tes enseignants à tout moment,
  2. Consulter les questions fréquemment posées.
Tu pourras suivre l’échange de tes messages dans l’onglet Profil." - } - } - }, - "3": { - "section_title": "Profil", - "question_list": { - "1": { - "title": "À quoi sert l’onglet Profil ?", - "answer": "Dans l’onglet Profil, tu vas pouvoir :
  1. Gérer tes paramètres de compte,
  2. Visualiser tes statistiques,
  3. et échanger des messages avec tes enseignants.
" - }, - "2": { - "title": "Comment changer de mot de passe ou d’autres paramètres de compte ?", - "answer": "Pour changer de mot de passe ou d’autres paramètres, vas sur l’onglet Profil." - }, - "3": { - "title": "Comment change-t-on la langue ?", - "answer": "Le module Classe est actuellement disponible en français et en anglais. Pour changer de langue, allez dans l'onglet profil, cliques sur le bouton “Paramètres”, puis sélectionnes la langue qui te convient." - } - } - }, - "4": { - "section_title": "Questions générales", - "question_list": { - "1": { - "title": "Comment prendre en main le module Classe ?", - "answer": "À tout moment, tu peux accéder à l’aide générale en cliquant sur l’icône en haut à droite pour prendre en main le module Classe." - }, - "2": { - "title": "Sur quel support le module classe est-il compatible ?", - "answer": "

Les interfaces fonctionnent sans installation, sur ordinateur, tablette et smartphone ! Les mises à jour sont automatiques et tes programmes sont sauvegardés dans le cloud.

Pour profiter pleinement de toutes les fonctionnalités, nous te conseillons d’utiliser Chrome ou Firefox.

" - }, - "3": { - "title": "Comment créer un raccourci pour accéder au module Classe ?", - "answer": "

Tu as la possibilité de mettre une icône sur le bureau de l'ordinateur pour accéder rapidement au module Classe. Pour cela :

Sur Windows et sur Mac:

  1. Ouvre la page : /classroom/, puis réduis la taille de la fenêtre du navigateur afin de voir le bureau à côté.
  2. Dans votre navigateur Web, sélectionne à la souris le symbole situé à gauche de l'adresse et, sans relâcher ton clic, faits glisser le pointeur jusqu'au Bureau. Relâche pour créer le raccourci.
  3. Le raccourci est créé. Tu n’auras plus qu’à double-cliquer dessus pour ouvrir la page web liée.

Sur Android avec Chrome :

  1. Ouvre la page : /classroom/, puis appuie sur le bouton de menu, puis sélectionne \"Ajouter à l'écran d'accueil\".
  2. Nomme la page et appuie sur \"Ajouter\".
  3. Le raccourci est créé. Tu n'auras plus qu’à double-cliquer dessus pour ouvrir la page web liée.

Sur Android avec Firefox :

  1. Ouvre la page : /classroom/, puis appuie sur le bouton de menu, puis appuie sur Page.
  2. Appuie sur Ajouter un raccourci vers la page.
  3. Le raccourci est créé sur l’écran d’accueil. Tu n'auras plus qu’à cliquer dessus pour ouvrir la page web liée.

Sur iOS avec Safari :

  1. Ouvre la page : /classroom/, puis touche l'icône Partage.
  2. Sélectionne sur l'écran d'accueil, puis appuie sur Ajouter.
  3. Le raccourci est créé sur l’écran d’accueil. Tu n'auras plus qu’à cliquer dessus pour ouvrir la page web liée.

Tu pourras trouver d'autres tutoriels sur Internet pour créer un raccourci sur le bureau.

" - } - } - }, - "5": { - "section_title": "Problème technique", - "question_list": { - "1": { - "title": "J’ai un bug, que faire ?", - "answer": "Lorsqu’un bug se produit, la première chose à faire est d'essayer de rafraîchir la page. Si le bug persiste, tu peux contacter ton enseignant dans l’onglet Appel à l’aide." - }, - "2": { - "title": "Comment signaler des bugs et faire part de mes commentaires ?", - "answer": "

Si le bug persiste, vous pouvez contacter votre enseignant dans l’onglet Appel à l’aide.

Pour faire des commentaires à ton enseignement, tu peux également le contacter dans l’onglet Appel à l’aide.

" - } - } - }, - "6": { - "section_title": "Licences et autorisations", - "question_list": { - "1": { - "title": "Où peut-on trouver le code source du module Classe ?", - "answer": "Le code source du module Classe est disponible sur le repository git OpenSTEAM-LMS, n'hésites pas à contribuer !" - } - } - } - }, - "login_popup": { - "title": "Login", - "details": "Entrez vos identifiants pour accéder à votre compte.", - "form": { - "addressmail": "Adresse mail", - "addressmail_placeholder": "exemple@domaine.com", - "password": "Mot de passe", - "password_placeholder": "Votre mot de passe.", - "forgot_password": "J'ai oublié mon mot de passe.", - "btn_connect": "Se connecter" - }, - "success": "L'authentification a réussi. Redirection...", - "error": "Erreur. Veuillez vérifier vos identifiants.", - "mailSuccess": "Un mail d'activation a été envoyé à votre adresse mail.", - "mailError": "Une erreur est survenue. Veuillez vérifier votre adresse mail.", + } + }, + "faqInfo": { + "1": { + "section_title": "Questions générales", + "question_list": { + "1": { + "title": "Qu’est-ce que la plateforme Cabri ?", + "answer": "La plateforme Cabri facilite l'attribution de contenus pédagogiques et le suivi des apprenants. Les enseignants peuvent utiliser les contenus de la communauté ou créer leurs propres activités et les partager." + }, + "2": { + "title": "Qui utilise la plateforme Cabri ?", + "answer": "En cours comme à la maison ou en atelier périscolaire, la plateforme Cabri est utilisée par des enseignants (professeurs, animateurs, formateurs, etc.) et leurs apprenants (élèves, étudiants, apprentis, etc.). La plateforme Cabri a été pensée pour le niveau secondaire (~10 à 18 ans), mais elle peut s'adapter à d'autres contextes." + }, + "3": { + "title": "Quelle est la nature du soutien du ministère de l'Éducation nationale ?", + "answer": "Vittascience est lauréate du dispositif Édu-up de soutien à la production de ressources numériques innovantes. Plus de détails sont disponibles sur la page dédiée à Édu-up." + }, + "4": { + "title": "Sur quels supports peut-on utiliser la plateforme Cabri ?", + "answer": "La plateforme Cabri fonctionne sur ordinateurs, tablettes et smartphones avec la plupart des navigateurs et une connexion Internet." + }, + "5": { + "title": "Peut-on demander une démonstration ?", + "answer": "Nous organisons régulièrement des webinaires de présentation de la plateforme Cabri ; vous pouvez vous abonner à la chaîne Youtube de Vittascience pour visionner les replay et voir les prochains webinaires prévus. Pour réserver une démonstration en visioconférence avec l’un de nos délégués pédagogiques, contactez-nous via ce formulaire." + }, + "6": { + "title": "Comment signaler des bugs et faire part de commentaires sur la plateforme Cabri ?", + "answer": "Vous pouvez nous contacter sur la plateforme Cabri dans l’onglet Profil avec le bouton Aide." + }, + "7": { + "title": "Est-ce que la plateforme Cabri est disponible en plusieurs langues ?", + "answer": "Oui, la plateforme Cabri est actuellement disponible en français et en anglais. Pour changer la langue, allez dans l'onglet Profil, cliquez sur le bouton Paramètres, puis sélectionnez la langue qui vous convient." + } + } + }, + "2": { + "3": { + "section_title": "Licences et autorisations", + "question_list": { + "1": { + "title": "Peut-on faire une description ou présentation de la plateforme Cabri ?", + "answer": "Oui, vous pouvez réutiliser les visuels de la plateforme Cabri pour créer des descriptions, présentations, formations, tutoriels, cours ou autres. Si vous souhaitez inclure des images ou contenus d'activités, veuillez mentionner l'auteur (voir question suivante)." + }, + "2": { + "title": "Peut-on réutiliser les activités de la communauté Vittascience ?", + "answer": "Oui, toutes les activités visibles dans la banque de ressources Vittascience sont sous licence Creative Commons. Deux cas sont possibles :
  • CC BY-NC-SA : l'auteur souhaite que le contenu soit partagé dans un usage non commercial uniquement et à condition de mentionner son nom. Le contenu peut être modifié.
  • CC BY-NC-ND : l'auteur souhaite que le contenu soit partagé dans un usage non commercial uniquement et à condition de mentionner son nom. Le contenu ne peut pas être modifié.
" + }, + "3": { + "title": "Où peut-on trouver le code source de la plateforme Cabri ?", + "answer": "Le code source de la plateforme Cabri n'est pas disponible pour le moment. Vous pouvez retrouver de nombreux modules open source de la plateforme Vittascience sur le dossier GitHub de Vittascience, n'hésitez pas à contribuer !" + } + } + }, + "section_title": "Comptes", + "question_list": { + "1": { + "title": "Comment se connecter à la plateforme Cabri ?", + "answer": "Il est possible de se connecter à la plateforme Cabri de trois façons :
  • Code classe : permet aux apprenants de s'inscrire ou se connecter rapidement avec seulement un pseudonyme (sans renseigner d'adresse e-mail). Un code classe est généré automatiquement pour chaque classe créée par l'enseignant.
  • Compte Vittascience : permet à l'enseignant de se connecter grâce à un compte Vittascience (adresse e-mail et mot de passe). Cette méthode est réservée aux enseignants et ne convient pas aux apprenants (RGPD).
  • Compte GAR : le gestionnaire d’accès aux ressources (GAR) a pour objectif de simplifier et sécuriser les accès authentifiés entre les usagers des ENT et leurs ressources numériques. Plus de renseignements sont disponibles sur la page accéder à Vittascience par le GAR.
Le respect de la vie privée est primordial pour Vittascience, pour en savoir plus, retrouvez la page dédiée à la protection des données personnelles." + }, + "2": { + "title": "Peut-on utiliser Vittascience sans compte ?", + "answer": "Sans compte, il est possible d’utiliser la page Programmer et d'accéder aux ressources pédagogiques de Vittascience. Cependant, vous aurez besoin d’un compte pour réaliser des activités de classe, sauvegarder vos réalisations et partager vos contenus. Vos apprenants n'ont pas besoin de créer de compte Vittascience si vous les invitez via la plateforme Cabri." + }, + "3": { + "title": "Comment créer un compte ?", + "answer": "Cliquez simplement sur S’abonner dans la page d’accueil de la plateforme Cabri, choisissez l’offre qui vous correspond et fournissez quelques informations.
  • Si vous optez pour l’offre gratuite, un lien vous est envoyé par e-mail, cliquez simplement sur ce lien pour confirmer votre compte. Une fois votre compte confirmé, vous pouvez explorer l’interface, créer vos activités et les partager.
  • Si vous optez pour une offre payante, effectuez la création d’un devis pour votre établissement ou un achat, puis votre compte sera activé.
" + }, + "4": { + "title": "Qu’est-ce qu’un compte enseignant ?", + "answer": "Tout compte Vittascience créé à partir d'une adresse e-mail ou du GAR peut être utilisé comme compte enseignant. Un compte enseignant possède des fonctionnalités pour créer des comptes apprenants, organiser les activités et échanger des commentaires avec ses apprenants." + }, + "5": { + "title": "Qu’est-ce qu’un compte apprenant ?", + "answer": "Un compte apprenant permet de réaliser les activités demandées par des enseignants, d’explorer les interfaces de programmation Vittascience et de partager ses propres réalisations. Seul un pseudonyme est requis pour la création d'un compte apprenant. Un code à 4 chiffres est généré automatiquement pour sécuriser l'accès des apprenants ; seul l'enseignant peut modifier celui-ci." + }, + "6": { + "title": "Nom d’utilisateur ou mot de passe oublié ?", + "answer": "Si vous avez un compte Vittascience (enseignant), vous pouvez recevoir un e-mail de récupération de mot de passe via ce lien. En tant qu'apprenant, vous devez demander à votre enseignant de réinitialiser votre code à 4 chiffres." + }, + "7": { + "title": "Comment changer de mot de passe ou d’autres paramètres de compte ?", + "answer": "Pour changer de mot de passe ou d’autres paramètres, allez sur votre page profil. Dans le cas du GAR, les paramètres sont ceux de votre ENT." + } + } + }, + "3": { + "section_title": "Licences et autorisations", + "question_list": { + "1": { + "title": "Peut-on faire une description ou présentation de la plateforme Cabri ?", + "answer": "Oui, vous pouvez réutiliser les visuels de la plateforme Cabri pour créer des descriptions, présentations, formations, tutoriels, cours ou autres. Si vous souhaitez inclure des images ou contenus d'activités, veuillez mentionner l'auteur (voir question suivante)." + }, + "2": { + "title": "Peut-on réutiliser les activités de la communauté Vittascience ?", + "answer": "Oui, toutes les activités visibles dans la banque de ressources Vittascience sont sous licence Creative Commons. Deux cas sont possibles :
  • CC BY-NC-SA : l'auteur souhaite que le contenu soit partagé dans un usage non commercial uniquement et à condition de mentionner son nom. Le contenu peut être modifié.
  • CC BY-NC-ND : l'auteur souhaite que le contenu soit partagé dans un usage non commercial uniquement et à condition de mentionner son nom. Le contenu ne peut pas être modifié.
" + }, + "3": { + "title": "Où peut-on trouver le code source de la plateforme Cabri ?", + "answer": "Le code source de la plateforme Cabri n'est pas disponible pour le moment. Vous pouvez retrouver de nombreux modules open source de la plateforme Vittascience sur le dossier GitHub de Vittascience, n'hésitez pas à contribuer !" + } + } + }, + "title": "Foire Aux Questions", + "hint": "Vous ne trouvez pas la réponse à votre question ? Contactez-nous via ce formulaire." + }, + "faqInfoNeutral": { + "1": { + "section_title": "Questions générales", + "question_list": { + "1": { + "title": "Qu’est-ce que la plateforme Cabri ?", + "answer": "La plateforme Cabri facilite l'attribution de contenus pédagogiques et le suivi des apprenants. Les enseignants peuvent utiliser les contenus de la communauté ou créer leurs propres activités et les partager." + }, + "2": { + "title": "Qui utilise la plateforme Cabri ?", + "answer": "En cours comme à la maison ou en atelier périscolaire, la plateforme Cabri est utilisée par des enseignants (professeurs, animateurs, formateurs, etc.) et leurs apprenants (élèves, étudiants, apprentis, etc.). La plateforme Cabri a été pensée pour le niveau secondaire (~10 à 18 ans), mais elle peut s'adapter à d'autres contextes." + }, + "3": { + "title": "Sur quels supports peut-on utiliser la plateforme Cabri ?", + "answer": "La plateforme Cabri fonctionne sur ordinateurs, tablettes et smartphones avec la plupart des navigateurs et une connexion Internet." + }, + "4": { + "title": "Comment signaler des bugs et faire part de commentaires sur la plateforme Cabri ?", + "answer": "Vous pouvez nous contacter sur la plateforme Cabri dans l’onglet Profil avec le bouton Aide." + }, + "5": { + "title": "Est-ce que la plateforme Cabri est disponible en plusieurs langues ?", + "answer": "Oui, la plateforme Cabri est actuellement disponible en français et en anglais. Pour changer la langue, allez dans l'onglet Profil, cliquez sur le bouton Paramètres, puis sélectionnez la langue qui vous convient." + } + } + }, + "2": { + "section_title": "Comptes", + "question_list": { + "1": { + "title": "Comment se connecter à la plateforme Cabri ?", + "answer": "Il est possible de se connecter à la plateforme Cabri de trois façons :
  • Code classe : permet aux apprenants de s'inscrire ou se connecter rapidement avec seulement un pseudonyme (sans renseigner d'adresse e-mail). Un code classe est généré automatiquement pour chaque classe créée par l'enseignant.
  • Compte Plateforme Cabri : permet à l'enseignant de se connecter grâce à un compte Plateforme Cabri (adresse e-mail et mot de passe). Cette méthode est réservée aux enseignants et ne convient pas aux apprenants (RGPD).
  • Compte GAR : le gestionnaire d’accès aux ressources (GAR) a pour objectif de simplifier et sécuriser les accès authentifiés entre les usagers des ENT et leurs ressources numériques. Plus de renseignements sont disponibles sur la page accéder à la plateforme Cabri par le GAR.
Le respect de la vie privée est primordial pour la plateforme Cabri, pour en savoir plus, retrouvez la page dédiée à la protection des données personnelles." + }, + "2": { + "title": "Comment créer un compte ?", + "answer": "Cliquez simplement sur Créer un compte dans la page d’accueil de la plateforme Cabri et fournssez quelques informations. Un lien vous est envoyé par e-mail, cliquez simplement sur ce lien pour confirmer votre compte. Une fois votre compte confirmé, vous pouvez explorer l’interface, créer vos activités et les partager." + }, + "3": { + "title": "Qu’est-ce qu’un compte enseignant ?", + "answer": "Tout compte Plateforme Cabri créé à partir d'une adresse e-mail ou du GAR peut être utilisé comme compte enseignant. Un compte enseignant possède des fonctionnalités pour créer des comptes apprenants, organiser les activités et échanger des commentaires avec ses apprenants." + }, + "4": { + "title": "Qu’est-ce qu’un compte apprenant ?", + "answer": "Un compte apprenant permet de réaliser les activités demandées par des enseignants et de partager ses propres réalisations. Seul un pseudonyme est requis pour la création d'un compte apprenant. Un code à 4 chiffres est généré automatiquement pour sécuriser l'accès des apprenants ; seul l'enseignant peut modifier manuellement celui-ci. L'apprenant peut toutefois effectuer une réinitialisation pour en obtenir un nouveau." + }, + "5": { + "title": "Nom d’utilisateur ou mot de passe oublié ?", + "answer": "Si vous avez un compte Plateforme Cabri (enseignant), vous pouvez recevoir un e-mail de récupération de mot de passe via ce lien. En tant qu'apprenant, vous devez demander à votre enseignant de réinitialiser votre code à 4 chiffres." + }, + "6": { + "title": "Comment changer de mot de passe ou d’autres paramètres de compte ?", + "answer": "Pour changer de mot de passe ou d’autres paramètres, allez sur votre panel Profil, cliquez sur Paramètres et enfin sur Accéder à son profil. Dans le cas du GAR, les paramètres sont ceux de votre ENT." + } + } + }, + "3": { + "section_title": "Licences et autorisations", + "question_list": { + "1": { + "title": "Peut-on faire une description ou présentation de la plateforme Cabri ?", + "answer": "Oui, vous pouvez réutiliser les visuels de la plateforme Cabri pour créer des descriptions, présentations, formations, tutoriels, cours ou autres. Si vous souhaitez inclure des images ou contenus d'activités, veuillez mentionner l'auteur (voir question suivante)." + }, + "2": { + "title": "Où peut-on trouver le code source de la plateforme Cabri ?", + "answer": "Le code source de la plateforme Cabri est disponible sur le repo git associé, n'hésitez pas à contribuer !" + } + } + }, + "title": "Foire Aux Questions", + "hint": "Vous ne trouvez pas la réponse à votre question ? Contactez-nous via ce formulaire." + }, + "faqTeacherNeutral": { + "title": "FAQ", + "1": { + "section_title": "Activités", + "question_list": { + "1": { + "title": "À quoi sert l’onglet Mes activités ?", + "answer": "Dans l’onglet Mes activités, vous pouvez :
  1. créer vos propres activités,
  2. puis les attribuer à vos apprenants !
" + }, + "2": { + "title": "Qu’est-ce qu’une activité ?", + "answer": "Une activité est un contenu interactif créé à partir de Cabri Express, Cabri Smart ou un cahier Cabri déjà existant." + }, + "3": { + "title": "Comment créer ou modifier une activité ?", + "answer": "

Vous pouvez facilement créer ou modifier des activités.

Pour modifier une activité, rendez-vous dans l’onglet Mes activités et cliquez sur l’icône de votre activité puis cliquez sur Modifier. N’oubliez pas de sauvegarder vos modifications.

" + }, + "4": { + "title": "Comment attribuer une activité ?", + "answer": "Pour attribuer une activité, vous avez trois options :
  1. Vous vous rendez dans l’onglet Mes activités et cliquez sur l’icône de votre activité puis cliquez sur Attribuer. Ensuite, vous n’aurez plus qu’à suivre les étapes.
  2. Cette option Attribuer est également disponible dans l’activité elle-même une fois ouverte.
  3. Vous allez dans l’onglet Mes classes et cliquez sur une classe. Une fois arrivé sur le tableau de bord de la classe, vous n’avez plus qu’à cliquer sur le bouton Ajouter une activité.
" + }, + "5": { + "title": "Comment tester une activité ?", + "answer": "Pour tester une activité, vous avez deux options :
  1. Aller dans Profil et cliquer sur le bouton Passer en mode apprenant, puis sélectionner la classe dans laquelle vous souhaitez vous placer. Vous êtes alors sur le compte fictif d’un apprenant appelé “demostudent”, vous pouvez y découvrir l’interface apprenant et réaliser les activités que vous avez attribuées,
  2. Aller sur Mes classes dans le tableau de bord d’une classe : vous pouvez alors vous placer dans la peau de l’apprenant demostudent. Cliquez sur l’icône , vous avez la possibilité de devenir un apprenant de la classe et d’essayer les activités.
Pour revenir au mode enseignant, allez dans l’onglet Profil du compte demostudent et cliquez sur Retourner au mode enseignant." + }, + "6": { + "title": "Comment supprimer l’attribution d’une activité sans supprimer l’activité ?", + "answer": "Pour supprimer l’attribution d’une activité, allez dans l’onglet Classe, ouvrez le tableau de bord d’une des classes, cliquez sur l’activité (l’icône devient quand on passe dessus), puis sur Modifier l’attribution. Vous pouvez alors modifier les paramètres, sélectionner ou désélectionner les apprenants." + } + } + }, + "2": { + "section_title": "Classe", + "question_list": { + "1": { + "title": "À quoi sert l’onglet Mes classes ?", + "answer": "Dans l’onglet Mes Classes, vous pouvez :
  1. créer vos propres classes et ajouter des apprenants,
  2. corriger les réponses aux activités de vos apprenants,
  3. suivre leur progression.
" + }, + "2": { + "title": "Comment ajouter des apprenants à ma classe ?", + "answer": "Plusieurs options s’offrent à vous :
  1. En classe, vous pouvez projeter le code au tableau. Pour cela, rendez-vous dans votre classe et cliquez sur le bouton Agrandir le code ci-dessous :
    Vos apprenants n’auront plus qu’à s'inscrire ou se connecter sur le site en rentrant le code. Ils pourront également noter ce code pour se connecter chez eux.
  2. Vous pouvez également créer des apprenants avec le bouton Ajouter un apprenant et leur communiquer leur mot de passe individuellement, celui-ci est visible sur le tableau de bord de la classe ci-dessous :
" + }, + "3": { + "title": "Un apprenant peut-il se trouver dans deux classes différentes ?", + "answer": "Non, ce n’est actuellement pas possible." + }, + "4": { + "title": "Comment bloquer l’arrivée d’autres apprenants dans une classe ?", + "answer": "Cette option sera bientôt disponible ! Cela permettra notamment d’éviter que les apprenants s'inscrivent plusieurs fois dans une même classe par erreur et que des personnes externes entrent dans la classe sans autorisation." + }, + "5": { + "title": "Comment attribuer une activité ?", + "answer": "

Vous pouvez attribuer une activité à toutes les classes que vous avez créées ou seulement à un apprenant en particulier.

Pour attribuer une activité, vous avez trois options :

  1. Vous vous rendez dans l’onglet Mes activités et cliquez sur l’icône de votre activité puis cliquez sur Attribuer. Ensuite, vous n’aurez plus qu’à suivre les étapes.
  2. Cette option Attribuer est également disponible dans l’activité elle-même une fois ouverte.
  3. Vous allez dans l’onglet Mes classes et cliquez sur une classe. Une fois arrivé sur le tableau de bord de la classe, vous n’avez plus qu’à cliquer sur le bouton Ajouter une activité.
" + }, + "6": { + "title": "Peut-on revenir sur l'attribution d’une activité ?", + "answer": "Pour revenir sur l’attribution d’une activité, allez dans l’onglet Classe, ouvrez le tableau de bord d’une des classes, cliquez sur l’activité (l’icône devient quand on passe dessus), puis sur Modifier l’attribution. Vous pouvez alors modifier les paramètres, sélectionner ou désélectionner les apprenants." + }, + "7": { + "title": "Comment l’évaluation des activités se fait-elle ?", + "answer": "Les évaluations sont :
  • soit manuelles sur 4 niveaux : Très bonne maîtrise ; Maîtrise suffisante ; Maîtrise faible et Maîtrise insuffisante,
  • soit automatiques sur 2 niveaux : Très bonne maîtrise et Maîtrise faible.
    Ce type d’évaluation permet à l’apprenant d’obtenir sa correction immédiatement et à l’enseignant de bénéficier d’un gain de temps non négligeable.

Une fois que l’apprenant a terminé son activité, il a la possibilité de la recommencer si l’enseignant a sélectionné le mode Exercice lors de l’attribution. Dans le mode Évaluation, l’élève ne peut pas recommencer une fois l’activité validée.

Pour visualiser les résultats, il vous suffit de vous rendre dans le tableau de bord de la classe.

Une activité non corrigée est symbolisée par un crayon dans le tableau de bord. Pour la corriger, cliquez sur le crayon, vous pouvez ensuite évaluer et commenter le travail de l’apprenant.

" + }, + "8": { + "title": "Comment sait-on lorsque les apprenants ont terminé leurs activités ?", + "answer": "Lorsqu’un apprenant a terminé son activité, vous recevez une notification par e-mail.
Ce paramètre sera ajustable à l’avenir, pour le moment, ce n’est pas paramétrable." + }, + "9": { + "title": "Comment modifier le nom d’une classe ?", + "answer": "Pour changer le nom de votre classe, cliquez sur l’icône depuis l’onglet Mes classes, puis sur Modifier. Vous pouvez alors changer son nom." + }, + "10": { + "title": "Comment supprimer un apprenant d’une classe ?", + "answer": "

Pour supprimer un apprenant, cliquez sur l’icône à côté du nom de l’apprenant sur le tableau de bord de la classe.

Attention, cette action est irréversible et clôture le compte de l’apprenant.

" + }, + "11": { + "title": "À quoi sert le bouton anonymiser dans le tableau de bord ?", + "answer": "Ce bouton remplace le nom des apprenants par des numéros. Cela permet de projeter les résultats des élèves au tableau anonymement pour ne pas stigmatiser certains élèves." + } + } + }, + "3": { + "section_title": "Profil", + "question_list": { + "1": { + "title": "À quoi sert l’onglet Profil ?", + "answer": "Dans l’onglet Profil, vous pouvez :
  1. gérer vos paramètres de compte,
  2. visualiser vos statistiques,
  3. et échanger des messages avec vos apprenants ainsi qu'avec l’équipe de Cabrilog si vous avez besoin d’aide.
" + }, + "2": { + "title": "Comment changer de mot de passe ou d’autres paramètres de compte ?", + "answer": "Pour changer de mot de passe ou d’autres paramètres, allez sur l’onglet Profil. Dans le cas du GAR, les paramètres sont ceux de votre ENT." + }, + "3": { + "title": "Comment changer la langue ?", + "answer": "La plateforme Cabri est actuellement disponible en français et en anglais. Pour changer la langue, allez dans l'onglet Profil, cliquez sur le bouton Paramètres, puis sélectionnez la langue qui vous convient." + }, + "4": { + "title": "Qu’est-ce que le mode apprenant ?", + "answer": "

Dans votre profil, vous pouvez cliquer sur le bouton Passer en mode apprenant. Après avoir choisi une classe, vous êtes sur le compte fictif d’un apprenant appelé “demostudent” dans lequel vous pouvez découvrir l’interface apprenant et réaliser les activités que vous avez attribuées.

Pour revenir au mode enseignant, allez dans l’onglet Profil du compte demostudent et cliquez sur Retourner au mode enseignant.

" + } + } + }, + "4": { + "section_title": "Questions générales", + "question_list": { + "1": { + "title": "Avec quel support la plateforme Cabri est-elle compatible ?", + "answer": "

Les interfaces fonctionnent sans installation, sur ordinateur, tablette et smartphone ! Les mises à jour sont automatiques et vos programmes sont sauvegardés dans le cloud.

Pour profiter pleinement de toutes les fonctionnalités, nous vous conseillons d’utiliser Chrome ou Firefox.

" + }, + "2": { + "title": "Comment créer un raccourci pour accéder à la plateforme Cabri ?", + "answer": "

Vous avez la possibilité de mettre une icône sur le bureau de l'ordinateur pour accéder rapidement à la plateforme Cabri. Pour cela :

Sur Windows et sur Mac :

  1. Ouvrez la page : classroom/, puis réduisez la taille de la fenêtre du navigateur afin de voir le bureau à côté.
  2. Dans votre navigateur web, sélectionnez à la souris le symbole situé à gauche de l'adresse et, sans relâcher votre clic, faites glisser le pointeur jusqu'au bureau. Relâchez pour créer le raccourci.
  3. Le raccourci est créé. Vous n’aurez plus qu’à double-cliquer dessus pour ouvrir la page web liée.

Sur Android avec Chrome :

  1. Ouvrez la page : classroom/, appuyez sur le bouton de menu, puis sélectionnez Ajouter à l'écran d'accueil.
  2. Nommez la page et appuyez sur Ajouter.
  3. Le raccourci est créé. Vous n’aurez plus qu’à double-cliquer dessus pour ouvrir la page web liée.

Sur Android avec Firefox :

  1. Ouvrez la page : classroom/, appuyez sur le bouton de menu, puis appuyez sur Page.
  2. Appuyez sur Ajouter un raccourci vers la page.
  3. Le raccourci est créé sur l’écran d’accueil. Vous n’aurez plus qu’à cliquer dessus pour ouvrir la page web liée.

Sur iOS avec Safari :

  1. Ouvrez la page : classroom/, puis touchez l'icône Partage.
  2. Sélectionnez sur l'écran d'accueil, puis appuyez sur Ajouter.
  3. Le raccourci est créé sur l’écran d’accueil. Vous n’aurez plus qu’à cliquer dessus pour ouvrir la page web liée.

Vous pourrez trouver d'autres tutoriels sur Internet pour créer un raccourci sur le bureau.

" + } + } + }, + "5": { + "section_title": "Problème technique", + "question_list": { + "1": { + "title": "J’ai un bug, que faire ?", + "answer": "Lorsqu’un bug se produit, la première chose à faire est d'essayer de rafraîchir la page. Si le bug persiste, vous pouvez nous contacter dans l’onglet Profil avec le bouton Aide." + }, + "2": { + "title": "Comment signaler des bugs et faire part de commentaires ?", + "answer": "Si le bug persiste, vous pouvez nous contacter dans l’onglet Profil avec le bouton Aide.
Pour nous faire des commentaires, vous pouvez également nous contacter dans l’onglet Profil avec le bouton Aide." + } + } + }, + "6": { + "section_title": "Licences et autorisations", + "question_list": { + "1": { + "title": "Peut-on faire une description ou présentation de la plateforme Cabri ?", + "answer": "Oui, vous pouvez réutiliser les visuels de la plateforme Cabri pour créer des descriptions, présentations, formations, tutoriels, cours ou autres. Si vous souhaitez inclure des images ou contenus d'activités, veuillez mentionner l'auteur (voir question suivante)." + }, + "2": { + "title": "Où peut-on trouver le code source de la plateforme Cabri  ?", + "answer": "Le code source de la plateforme Cabri est disponible sur le repository git OpenSTEAM-LMS, n'hésitez pas à contribuer !" + } + } + } + }, + "faqStudentNeutral": { + "title": "FAQ", + "1": { + "section_title": "Activités", + "question_list": { + "1": { + "title": "À quoi sert l’onglet Mes activités ?", + "answer": "Dans l’onglet Mes Activités, tu peux :
  1. réaliser les nouvelles activités de tes enseignants,
  2. sauvegarder celles que tu n’as pas encore terminées,
  3. revoir celles que tu as faites !
" + }, + "2": { + "title": "Qu’est-ce qu’une activité ?", + "answer": "Une activité est un contenu interactif qui peut mêler du texte, des images, des vidéos, des PDF ainsi que des outils externes comme Genially et bien d'autres.
Le format d'affichage est basé sur les technologies du web (HTML), ce qui permet de s'adapter à toute taille d'écran et de profiter d'options d'accessibilité avancées (police, couleurs, taille...)." + } + } + }, + "2": { + "section_title": "Appel à l'aide", + "question_list": { + "1": { + "title": "À quoi sert l’onglet Appel à l’aide ?", + "answer": "Dans l’onglet Appel à l’aide, tu peux :
  1. demander de l’aide à tes enseignants à tout moment,
  2. consulter les questions fréquemment posées.
Tu peux suivre l’échange de tes messages dans l’onglet Profil." + } + } + }, + "3": { + "section_title": "Profil", + "question_list": { + "1": { + "title": "À quoi sert l’onglet Profil ?", + "answer": "Dans l’onglet Profil, tu peux :
  1. gérer tes paramètres de compte,
  2. visualiser tes statistiques,
  3. échanger des messages avec tes enseignants.
" + }, + "2": { + "title": "Comment changer de mot de passe ou d’autres paramètres de compte ?", + "answer": "Pour changer de mot de passe ou d’autres paramètres, va sur l’onglet Profil." + }, + "3": { + "title": "Comment changer la langue ?", + "answer": "La plateforme Cabri est actuellement disponible en français et en anglais. Pour changer la langue, va dans l'onglet Profil, clique sur le bouton Paramètres, puis sélectionne la langue qui te convient." + } + } + }, + "4": { + "section_title": "Questions générales", + "question_list": { + "1": { + "title": "Comment prendre en main la plateforme Cabri ?", + "answer": "À tout moment, tu peux accéder à l’aide générale en cliquant sur l’icône en haut à droite pour prendre en main la plateforme Cabri." + }, + "2": { + "title": "Avec quel support la plateforme Cabri est-elle compatible ?", + "answer": "

Les interfaces fonctionnent sans installation, sur ordinateur, tablette et smartphone ! Les mises à jour sont automatiques et tes programmes sont sauvegardés dans le cloud.

Pour profiter pleinement de toutes les fonctionnalités, nous te conseillons d’utiliser Chrome ou Firefox.

" + }, + "3": { + "title": "Comment créer un raccourci pour accéder à la plateforme Cabri ?", + "answer": "

Tu as la possibilité de mettre une icône sur le bureau de l'ordinateur pour accéder rapidement à la plateforme Cabri. Pour cela :

Sur Windows et sur Mac :

  1. Ouvre la page : /classroom/, puis réduis la taille de la fenêtre du navigateur afin de voir le bureau à côté.
  2. Dans ton navigateur web, sélectionne à la souris le symbole situé à gauche de l'adresse et, sans relâcher ton clic, fais glisser le pointeur jusqu'au bureau. Relâche pour créer le raccourci.
  3. Le raccourci est créé. Tu n’auras plus qu’à double-cliquer dessus pour ouvrir la page web liée.

Sur Android avec Chrome :

  1. Ouvre la page : /classroom/, appuie sur le bouton de menu, puis sélectionne Ajouter à l'écran d'accueil.
  2. Nomme la page et appuie sur Ajouter.
  3. Le raccourci est créé. Tu n'auras plus qu’à double-cliquer dessus pour ouvrir la page web liée.

Sur Android avec Firefox :

  1. Ouvre la page : /classroom/, appuie sur le bouton de menu, puis appuie sur Page.
  2. Appuie sur Ajouter un raccourci vers la page.
  3. Le raccourci est créé sur l’écran d’accueil. Tu n'auras plus qu’à cliquer dessus pour ouvrir la page web liée.

Sur iOS avec Safari :

  1. Ouvre la page : /classroom/, puis touche l'icône Partage.
  2. Sélectionne sur l'écran d'accueil, puis appuie sur Ajouter.
  3. Le raccourci est créé sur l’écran d’accueil. Tu n'auras plus qu’à cliquer dessus pour ouvrir la page web liée.

Tu pourras trouver d'autres tutoriels sur Internet pour créer un raccourci sur le bureau.

" + } + } + }, + "5": { + "section_title": "Problème technique", + "question_list": { + "1": { + "title": "J’ai un bug, que faire ?", + "answer": "Lorsqu’un bug se produit, la première chose à faire est d'essayer de rafraîchir la page. Si le bug persiste, tu peux contacter ton enseignant dans l’onglet Appel à l’aide." + }, + "2": { + "title": "Comment signaler des bugs et faire part de commentaires ?", + "answer": "

Si le bug persiste, tu peux contacter ton enseignant dans l’onglet Aide.

Pour faire des commentaires à ton enseignant, tu peux également le contacter dans l’onglet Aide.

" + } + } + }, + "6": { + "section_title": "Licences et autorisations", + "question_list": { + "1": { + "title": "Où peut-on trouver le code source de la plateforme Cabri ?", + "answer": "Le code source de la plateforme Cabri est disponible sur le repository git OpenSTEAM-LMS, n'hésite pas à contribuer !" + } + } + } + }, + "login_popup": { + "title": "Login", + "details": "Entrez vos identifiants pour accéder à votre compte.", + "form": { + "addressmail": "Adresse e-mail", + "addressmail_placeholder": "exemple@domaine.com", + "password": "Mot de passe", + "password_placeholder": "Votre mot de passe.", + "forgot_password": "J'ai oublié mon mot de passe.", + "btn_connect": "Se connecter" + }, + "success": "L'authentification a réussi. Redirection...", + "error": "Erreur. Veuillez vérifier vos identifiants.", + "mailSuccess": "Un e-mail d'activation a été envoyé à votre adresse e-mail.", + "mailError": "Une erreur est survenue. Veuillez vérifier votre adresse e-mail.", "userNotFound": "Aucun utilisateur trouvé avec ces identifiants.", "accountDeactivated": "Votre compte a été désactivé, contactez un administrateur si le problème persiste.", - "inactiveAccount": "Votre compte n'est pas encore actif, cliquez sur le bouton ci dessous pour envoyer l'email de validation.", - "errorBeta": "Vous devez être bêta testeur pour accéder à cette fonctionalité. Contacter l'équipe Vittascience pour en savoir plus." - }, - "signup-popup": { - "title": "Inscription", - "notice": "Merci de compléter les champs suivants pour créer votre compte Vittascience.", - "firstName": "Prénom", - "lastName": "Nom", - "mail": "Adresse mail", - "telephone": "Téléphone", - "password": "Mot de passe", - "passwordConfirmed": "Confirmation", - "firstNamePlaceholder": "Votre prénom.", - "lastNamePlaceholder": "Votre nom.", - "mailPlaceholder": "Un mail de confirmation vous sera envoyé.", - "telephonePlaceholder": "Votre numéro de téléphone (falcultatif).", - "passwordPlaceholder": "Minimum 8 caractères. Majuscules, minuscules et chiffres.", - "passwordConfirmedPlaceholder": "Répéter votre mot de passe une seconde fois.", - "mandatory": "Les champs marqués par un * sont obligatoires.", - "submit": "Confirmer", - "back": "Retour", - "title2nd": "Merci de nous fournir quelques informations supplémentaires", - "areYou": "Êtes-vous...", - "member": "Un particulier ?", - "teacher": "Un professeur ?", - "teacher-grade": "Niveau de formation", - "grades": { - "primary": "Primaire", - "middle": "Collège", - "high": "Lycée", - "highbis": "Lycée Professionel", - "higher": "Post-BAC" - }, - "establishement": "Établissement", - "establishementPlaceholder": "Cherchez par nom d'établissement ou ville.", - "subject": "Matière enseignée", - "bio": "Mini-bio", - "bioPlaceholder": "Parlez-nous un peu de vous, les autres utilisateurs du site pourront ainsi en savoir un peu plus sur votre parcours :) Maximum 800 caractères.", - "profilPicture": "Photo de profil (facultatif)", - "allowPictures": "Formats acceptés: jpeg, jpg, png. Max. 10Mo", - "allowPublicName": "Acceptez-vous que votre nom et prénom soient publics sur le site ?", - "allowNewsletter": "Souhaitez-vous recevoir notre newsletter par mail ?", - "allowAlertMessage": "Souhaitez-vous recevoir des alertes par mail lors de la réception de nouveaux messages sur le site ?", - "allowMessageReceive": "Souhaitez-vous pouvoir être contacté par les autres utilisateurs du site ?", - "eighteenConfirm": "Je confirme avoir plus de 18 ans (article 1124 du code civil)", - "confirmCGU": "En validant ce formulaire, vous acceptez les conditions générales d'utilisation.", - "concernedAboutPrivacy": "Vittascience place la sécurité et la confidentialité des données personnelles de ses utilisateurs au coeur de ses préoccupations. Découvrez notre politique de protection des données personnelles", - "errors": { - "mailUsed": "Le mail {{ mail }} est déjà utilisé. Veuillez en choisir un autre.", - "mailUsedServer": "L'adresse email fournie existe déjà.", - "lastName": "Le nom fourni est incorrect.", - "firstName": "Le prénom fourni est incorrect.", - "mailInvalid": "L'adresse email est invalide.", - "passwordInvalid": "Le mot de passe ne respecte pas les contraintes de sécurité.", - "biographyInvalid": "La biographie est incorrecte.", - "telephoneInvalid": "Le numéro de téléphone est incorrect.", - "profilPictureInvalid": "La photo de profil fournie ne respecte pas le format indiqué.", - "establishementIncorrect": "Le nom d'établissement est incorrect.", - "gradeIncorrect": "Le niveau d'enseignement est incorrect.", - "subjectIncorrect": "Le nom de la matière enseignée est incorrect." - }, - "success": { - "main": "Votre inscription a été enregistrée avec succès ! Un lien de confirmation vous a été envoyé à l'adresse {{ mail }}", - "notice": "Vous devez obligatoirement accéder à ce lien avant de pouvoir vous connecter. Si vous ne trouvez pas le mail en question, veuillez vérifiez votre courrier indésirable." - } - }, - "switchAccessibility": { - "title": "Accessibilité", - "theme": "Thème", - "light_theme": "Thème clair", - "dark_theme": "Thème sombre", - "font": "Police", - "basic_font": "Basique", - "know_more": "En savoir plus" - }, - "words": { - "send": "envoyer", - "settings": "paramètres", - "disconnect": "déconnexion", - "help": "aide", - "duplicate": "dupliquer", - "delete": "supprimer", - "attribute": "attribuer", - "modify": "modifier", - "optional": "facultatif", - "evaluation": "evaluation", - "exercise": "exercice", - "return": "retour", - "anonymize": "anonymiser", - "days": "jours", - "hours": "heures", - "minutes": "minutes", - "seconds": "secondes", - "confirm": "confirmer", - "username": "pseudonyme", - "password": "Mot de passe", - "yes": "Oui", - "no": "Non" - }, - "manager": { - "profil": { - "manager": "Passer en mode manager", - "groupAdmin": "Passer en mode administrateur de groupe", - "bio": "Bio", - "group": "Groupe", - "apps": "Applications", - "personalApps": "Applications personnel", - "email": "E-mail *", - "nickname": "Pseudo", - "lastname": "Nom *", - "firstname": "Prénom *", - "phone": "Numéro de téléphone", - "grade": "Niveau de formation *", - "subject": "Matière enseignée *", - "school": "Établissement *", - "password": "Mot de passe *", - "confirmPassword": "Confirmer le mot de passe *", - "help": "Appel à l'aide", - "onlyVisibleGroupAdmin": "Uniquement visible par vous en tant qu'administrateur de groupe :", - "onlyVisiblemanager": "Uniquement visible par vous en tant que manager :" - }, - "account": { - "activate": { - "success": "Votre compte à bien été activé !", - "alreadyactive": "Votre compte est déjà actif.", - "noToken": "Aucun token n'est attaché à ce lien." - }, - "active": "Compte actif", - "registration": { - "success": "Inscription réussie !", - "emailSent": "Un e-mail vient de vous être envoyé, suivez le lien dans celui-ci pour activer votre compte et continuez votre liaison au groupe \"\"", - "accountPublic": "Acceptez-vous que votre nom et prénom soient publics sur le site ?", - "newsletter": "Souhaitez-vous recevoir notre newsletter par mail ?", - "mailAlert": "Souhaitez-vous recevoir des alertes par mail lors de la réception de nouveaux messages sur le site ?", - "allowContact": "Souhaitez-vous pouvoir être contacté par les autres utilisateurs du site ?", - "confirmAdult": "Je confirme avoir plus de 18 ans (article 1124 du code civil)*", - "disclaimerVittascience": "Vittascience place la sécurité et la confidentialité des données personnelles de ses utilisateurs au coeur de ses préoccupations. Découvrez notre politique de protection des données personnelles ", - "mandatory": "Les champs marqués par un * sont obligatoires.", - "cguVittascience": "En validant ce formulaire, vous acceptez les conditions générales d'utilisation.", - "cguOpenSteam": "En validant ce formulaire, vous acceptez les conditions générales d'utilisation.", - "description": "Merci de compléter les champs suivants pour créer votre compte.", - "title": "Inscription", - "registrationFinalizationSuccess": "Votre inscription à bien été finalisé, vous pouvez maintenant vous connectez", - "registrationFinalization": "Finaliser votre inscription", - "descriptionFinalization": "Merci de compléter les champs suivants pour finaliser votre inscription.", - "noTokenOrUserActive": "Token invalide ou utilisateur déjà actif", - "noToken": "Token manquant" - }, - "notAllowedUpdateUser": "Vous ne disposez pas des droits pour modifier cet utilisateur.", - "notAllowedDeleteGroup": "Vous ne disposez pas des droits pour supprimer ce groupe.", - "notAllowedDisableUser": "Vous ne disposez pas des droits pour désactiver cet utilisateur.", - "notAllowedDeleteUser": "Vous ne disposez pas des droits pour supprimer cet utilisateur.", - "passwordUpdatedMessage": "Votre mot de passe a été modifié avec succès", - "noUserFound": "Aucun utilisateur utilisant cette adresse n'a été trouvé.", - "noUserFoundToken": "Ce token ne correspond à aucun utilisateur.", - "missingData": "Il manque des informations pour finaliser l'opération.", + "inactiveAccount": "Votre compte n'est pas encore actif, cliquez sur le bouton ci-dessous pour envoyer l'e-mail de validation.", + "errorBeta": "Vous devez être bêta testeur pour accéder à cette fonctionalité. Contacter l'équipe Vittascience pour en savoir plus." + }, + "signup-popup": { + "title": "Inscription", + "notice": "Merci de compléter les champs suivants pour créer votre compte Vittascience.", + "firstName": "Prénom", + "lastName": "Nom", + "mail": "Adresse e-mail", + "telephone": "Téléphone", + "password": "Mot de passe", + "passwordConfirmed": "Confirmation", + "firstNamePlaceholder": "Votre prénom.", + "lastNamePlaceholder": "Votre nom.", + "mailPlaceholder": "Un e-mail de confirmation vous sera envoyé.", + "telephonePlaceholder": "Votre numéro de téléphone (falcultatif).", + "passwordPlaceholder": "Minimum 8 caractères. Majuscules, minuscules et chiffres.", + "passwordConfirmedPlaceholder": "Répéter votre mot de passe une seconde fois.", + "mandatory": "Les champs marqués par un * sont obligatoires.", + "submit": "Confirmer", + "back": "Retour", + "title2nd": "Merci de nous fournir quelques informations supplémentaires.", + "areYou": "Êtes-vous...", + "member": "Un particulier ?", + "teacher": "Un professeur ?", + "teacher-grade": "Niveau de formation", + "grades": { + "primary": "Primaire", + "middle": "Collège", + "high": "Lycée", + "highbis": "Lycée professionel", + "higher": "Post-BAC" + }, + "establishement": "Établissement", + "establishementPlaceholder": "Cherchez par nom d'établissement ou ville.", + "subject": "Matière enseignée", + "bio": "Mini-bio", + "bioPlaceholder": "Parlez-nous un peu de vous, les autres utilisateurs du site pourront ainsi en savoir un peu plus sur votre parcours :) Maximum 800 caractères.", + "profilPicture": "Photo de profil (facultatif)", + "allowPictures": "Formats acceptés : jpeg, jpg, png. Max. 10Mo", + "allowPublicName": "Acceptez-vous que vos nom et prénom soient publics sur le site ?", + "allowNewsletter": "Souhaitez-vous recevoir notre newsletter par e-mail ?", + "allowAlertMessage": "Souhaitez-vous recevoir des alertes par e-mail lors de la réception de nouveaux messages sur le site ?", + "allowMessageReceive": "Souhaitez-vous pouvoir être contacté par les autres utilisateurs du site ?", + "eighteenConfirm": "Je confirme avoir plus de 18 ans (art. 1124 du Code civil).", + "confirmCGU": "En validant ce formulaire, vous acceptez les conditions générales d'utilisation.", + "concernedAboutPrivacy": "Vittascience place la sécurité et la confidentialité des données personnelles de ses utilisateurs au cœur de ses préoccupations. Découvrez notre politique de protection des données personnelles.", + "errors": { + "mailUsed": "L'e-mail {{ mail }} est déjà utilisé. Veuillez en choisir un autre.", + "mailUsedServer": "L'adresse e-mail fournie existe déjà.", + "lastName": "Le nom fourni est incorrect.", + "firstName": "Le prénom fourni est incorrect.", + "mailInvalid": "L'adresse e-mail est invalide.", + "passwordInvalid": "Le mot de passe ne respecte pas les contraintes de sécurité.", + "biographyInvalid": "La biographie est incorrecte.", + "telephoneInvalid": "Le numéro de téléphone est incorrect.", + "profilPictureInvalid": "La photo de profil fournie ne respecte pas le format indiqué.", + "establishementIncorrect": "Le nom d'établissement est incorrect.", + "gradeIncorrect": "Le niveau d'enseignement est incorrect.", + "subjectIncorrect": "Le nom de la matière enseignée est incorrect." + }, + "success": { + "main": "Votre inscription a été enregistrée avec succès ! Un lien de confirmation vous a été envoyé à l'adresse {{ mail }}", + "notice": "Vous devez obligatoirement accéder à ce lien avant de pouvoir vous connecter. Si vous ne trouvez pas l'e-mail en question, veuillez vérifiez votre courrier indésirable." + } + }, + "switchAccessibility": { + "title": "Accessibilité", + "theme": "Thème", + "light_theme": "Thème clair", + "dark_theme": "Thème sombre", + "font": "Police", + "basic_font": "Basique", + "know_more": "En savoir plus" + }, + "words": { + "send": "envoyer", + "settings": "paramètres", + "disconnect": "déconnexion", + "help": "aide", + "duplicate": "dupliquer", + "delete": "supprimer", + "attribute": "attribuer", + "modify": "modifier", + "optional": "facultatif", + "evaluation": "evaluation", + "exercise": "exercice", + "return": "retour", + "anonymize": "anonymiser", + "days": "jours", + "hours": "heures", + "minutes": "minutes", + "seconds": "secondes", + "confirm": "confirmer", + "username": "pseudonyme", + "password": "Mot de passe", + "yes": "Oui", + "no": "Non" + }, + "manager": { + "profil": { + "manager": "Passer en mode manager", + "groupAdmin": "Passer en mode administrateur de groupe", + "bio": "Bio", + "group": "Groupe", + "apps": "Applications", + "personalApps": "Applications personnel", + "email": "E-mail *", + "nickname": "Pseudo", + "lastname": "Nom *", + "firstname": "Prénom *", + "phone": "Numéro de téléphone", + "grade": "Niveau de formation *", + "subject": "Matière enseignée *", + "school": "Établissement *", + "password": "Mot de passe *", + "confirmPassword": "Confirmer le mot de passe *", + "help": "Appel à l'aide", + "onlyVisibleGroupAdmin": "Uniquement visible par vous en tant qu'administrateur de groupe :", + "onlyVisiblemanager": "Uniquement visible par vous en tant que manager :" + }, + "account": { + "activate": { + "success": "Votre compte à bien été activé !", + "alreadyactive": "Votre compte est déjà actif.", + "noToken": "Aucun token n'est attaché à ce lien." + }, + "active": "Compte actif", + "registration": { + "success": "Inscription réussie !", + "emailSent": "Un e-mail vient de vous être envoyé, suivez le lien dans celui-ci pour activer votre compte et continuez votre liaison au groupe \"\"", + "accountPublic": "Acceptez-vous que vos nom et prénom soient publics sur le site ?", + "newsletter": "Souhaitez-vous recevoir notre newsletter par e-mail ?", + "mailAlert": "Souhaitez-vous recevoir des alertes par e-mail lors de la réception de nouveaux messages sur le site ?", + "allowContact": "Souhaitez-vous pouvoir être contacté par les autres utilisateurs du site ?", + "confirmAdult": "Je confirme avoir plus de 18 ans (art. 1124 du Code civil).*", + "disclaimerVittascience": "Vittascience place la sécurité et la confidentialité des données personnelles de ses utilisateurs au cœur de ses préoccupations. Découvrez notre politique de protection des données personnelles.", + "mandatory": "Les champs marqués par un * sont obligatoires.", + "cguVittascience": "En validant ce formulaire, vous acceptez les conditions générales d'utilisation.", + "cguOpenSteam": "En validant ce formulaire, vous acceptez les conditions générales d'utilisation.", + "description": "Merci de compléter les champs suivants pour créer votre compte.", + "title": "Inscription", + "registrationFinalizationSuccess": "Votre inscription a bien été finalisée, vous pouvez maintenant vous connectez.", + "registrationFinalization": "Finaliser votre inscription.", + "descriptionFinalization": "Merci de compléter les champs suivants pour finaliser votre inscription.", + "noTokenOrUserActive": "Token invalide ou utilisateur déjà actif.", + "noToken": "Token manquant" + }, + "notAllowedUpdateUser": "Vous ne disposez pas des droits pour modifier cet utilisateur.", + "notAllowedDeleteGroup": "Vous ne disposez pas des droits pour supprimer ce groupe.", + "notAllowedDisableUser": "Vous ne disposez pas des droits pour désactiver cet utilisateur.", + "notAllowedDeleteUser": "Vous ne disposez pas des droits pour supprimer cet utilisateur.", + "passwordUpdatedMessage": "Votre mot de passe a été modifié avec succès.", + "noUserFound": "Aucun utilisateur utilisant cette adresse n'a été trouvé.", + "noUserFoundToken": "Ce token ne correspond à aucun utilisateur.", + "missingData": "Il manque des informations pour finaliser l'opération.", "missingDataDate": "Il manque des informations de date pour finaliser l'opération.", - "errorSending": "Une erreur est survenue lors de l'envoie de l'e-mail", - "userNotFound": "Utilisateur introuvable et / ou déjà actif", - "userNotFoundId": "Utilisateur introuvable", - "errorActivation": "Une erreur est survenue lors de la l'activation.", - "notAllowedToCreateUserInThisGroup": "Vous n'êtes pas autorisé à créer un utilisateur dans ce groupe.", - "subscriptionOudated": "Votre application APPNAME a expiré le DATE. Pour plus d'informations contactez un administrateur." - }, - "users": { - "users": "Utilisateurs", - "add": "Ajouter un utilisateur", + "errorSending": "Une erreur est survenue lors de l'envoie de l'e-mail.", + "userNotFound": "Utilisateur introuvable et/ou déjà actif.", + "userNotFoundId": "Utilisateur introuvable", + "errorActivation": "Une erreur est survenue lors de la l'activation.", + "notAllowedToCreateUserInThisGroup": "Vous n'êtes pas autorisé à créer un utilisateur dans ce groupe.", + "subscriptionOudated": "Votre application APPNAME a expiré la DATE. Pour plus d'informations, contactez un administrateur." + }, + "users": { + "users": "Utilisateurs", + "add": "Ajouter un utilisateur", "activated": "Le compte a été activé avec succès.", "errorActivation": "Une erreur est survenue lors de l'activation du compte.", - "create": "Créer un utilisateur", - "delete": "Supprimer un utilisateur", - "deleteConfirmation": "Veuillez écrire \"supprimer\" dans le champ si dessous pour valider l'action.", - "deleteIntentionSA": "Vous vous apprêtez à supprimer l'utilisateur : ", - "disableIntention": "Vous vous apprêtez à désactiver l'utilisateur : ", - "deleteConfirmationTitle": "Confirmer la suppression", - "disableConfirmationTitle": "Confirmer la désactivation", - "update": "Modifier un utilisateur", - "updateAppUser": "Modifier les applications de l'utilisateur", - "updateApp": "Modifier les applications", - "disable": { - "message": "Veuillez écrire 'supprimer' dans le champ si dessous pour valider l'action.", - "intention": "Vous vous apprêtez à supprimer l'utilisateur : " - }, - "mail": { - "resetPassword": { - "subject": "Réinitialisation de votre mot de passe.", - "bodyTitle": "Réinitialisation du mot de passe.", - "textBeforeLink": "Si le bouton ci-dessus ne fonctionne pas, copiez et collez dans votre navigateur, le lien suivant :" - }, - "finalizeAccount": { - "title": "Finalisation d'inscription", - "subject": "Finalisation d'inscription", - "bodyTitle": "Finaliser votre inscription.", - "textBeforeLink": "Si le bouton ci-dessus ne fonctionne pas, copiez et collez dans votre navigateur, le lien suivant :" - } - }, - "showResetLinkTitle": "Réinitialisation de mot de passe.", - "showResetLink": "Lien de réinitialisation du mot de passe.", - "groupAdmin": "Administateur du groupe", - "admin": "Manager", - "teacher": "Enseignant", - "usersPerPage": "Utilisateurs par page", - "userDeleted": "Utilisateur supprimé.", - "userDisabled": "Utilisateur désactivé.", - "userCreated": "Utilisateur créé avec succès", - "userUpdated": "Utilisateur modifié avec succès", - "chooseNewPassword": "Choisissez votre nouveau mot de passe", - "passwordUpdate": "Votre mot de passe à été modifié", - "enterYourEmail": "Entrer votre adresse e-mail", - "sendResetMailDescription": "En cliquant sur envoyer un e-mail contenant un lien pour changer votre mot de passe vous sera envoyé.", - "yourMail": "Votre E-mail", - "emailSended": "Un E-mail contenant la procèdure à suivre vient de vous être envoyer", - "emailNotReceived": "Si vous n'avez pas reçu l'e-mail, cliquer sur recommencer (le mail peut mettre un petit peu de temps avant d'arriver)", - "mailSentToUser": "Un e-mail a été envoyé à l'utilisateur pour qu'il finalise son inscription", - "mailNotSentToUser": "l'e-mail de finalisation d'inscription n'a pas pu être envoyé à l'utilisateur", - "mailSentToUserReset": "Un e-mail a été envoyé à l'utilisateur pour qu'il change de mot de passe", - "mailNotSentToUserReset": "l'e-mail de changement de mot de passe n'a pas pu être envoyé à l'utilisateur", - "appsUpdated": "Les applications de l'utilisateur ont été mise à jour", - "updateAppModalTitle": "Application", - "teacherGrades": { - "0": "Primaire", - "1": "Collège", - "2": "Lycée", - "3": "Lycée Professionnel", - "4": "POST-BAC" - }, - "teacherSubjects": { - "0": { - "0": "Ecole élémentaire", - "1": "Autre (préciser dans la biographie)" - }, - "1": { - "0": "Education physique et sportive (EPS)", - "1": "Enseignement moral et civique", - "2": "Enseignements artistiques", - "3": "Français", - "4": "Histoire-géographie", - "5": "Langue vivante", - "6": "Mathématiques", - "7": "Physique-Chimie", - "8": "Sciences de la vie et de la Terre (SVT)", - "9": "Technologie", - "10": "Autre (préciser dans la biographie)" - }, - "2": { - "0": "Arts", - "1": "Arts du cirque", - "2": "Biologie Ecologie", - "3": "Biotechnologies", - "4": "Création et culture design", - "5": "Création et innovation technologiques (CIT)", - "6": "Ecologie-agronomie-territoires-développement durable", - "7": "Education physique et sportive (EPS)", - "8": "Enseignement moral et civique", - "9": "Enseignement scientifique", - "10": "Enseignement technologique transversal (ETT)", - "11": "Français", - "12": "Hippologie et équitation", - "13": "Histoire - Géographie", - "14": "Histoire-géographie, géopolitique et sciences politiques", - "15": "Humanités, littérature et philosophie", - "16": "Langues et cultures de l’Antiquité : latin ou grec", - "17": "Langues vivantes", - "18": "Langues, littératures et cultures étrangères et régionales", - "19": "Littérature et langues et cultures de l’Antiquité", - "20": "Management et gestion", - "21": "Mathématiques", - "22": "Numérique et sciences informatiques (NSI)", - "23": "Physique-chimie", - "24": "Principes fondamentaux de l’économie et de la gestion", - "25": "Santé et social", - "26": "Sciences de la vie et de la Terre (SVT)", - "27": "Sciences de l’ingénieur", - "28": "Sciences et laboratoire", - "29": "Sciences et techniques du théâtre, de la musique et de la danse (S2TMD)", - "30": "Sciences et technologies de laboratoire (STL)", - "31": "Sciences et technologies de l’hôtellerie et de la restauration (STHR)", - "32": "Sciences et technologies de l’industrie et du développement durable (STI2D)", - "33": "Sciences et technologies du design et des arts appliqués (STD2A)", - "34": "Sciences et technologies du management et de la gestion (STMG)", - "35": "Sciences numériques et technologie (SNT)", - "36": "Sciences économiques et sociales (SES)", - "37": "Autre (préciser dans la biographie)" - }, - "3": { - "0": "Arts appliqués et cultures artistiques", - "1": "Economie-Droit", - "2": "Economie-Gestion", - "3": "Education physique et sportive (EPS)", - "4": "Enseignement moral et civique", - "5": "Enseignement technologique transversal (ETT)", - "6": "Français", - "7": "Histoire-géographie", - "8": "Langues vivantes étrangères", - "9": "Mathématiques Physique-Chimie", - "10": "Prévention Santé Environnement", - "11": "Autre (préciser dans la biographie)" - }, - "4": { - "0": "Etudes supérieures", - "1": "Autre (préciser dans la biographie)" - } - } - }, - "group": { + "create": "Créer un utilisateur", + "delete": "Supprimer un utilisateur", + "deleteConfirmation": "Veuillez écrire \"supprimer\" dans le champ si dessous pour valider l'action.", + "deleteIntentionSA": "Vous vous apprêtez à supprimer l'utilisateur : ", + "disableIntention": "Vous vous apprêtez à désactiver l'utilisateur : ", + "deleteConfirmationTitle": "Confirmer la suppression", + "disableConfirmationTitle": "Confirmer la désactivation", + "update": "Modifier un utilisateur", + "updateAppUser": "Modifier les applications de l'utilisateur", + "updateApp": "Modifier les applications", + "disable": { + "message": "Veuillez écrire 'supprimer' dans le champ si dessous pour valider l'action.", + "intention": "Vous vous apprêtez à supprimer l'utilisateur : " + }, + "mail": { + "resetPassword": { + "subject": "Réinitialisation de votre mot de passe.", + "bodyTitle": "Réinitialisation du mot de passe.", + "textBeforeLink": "Si le bouton ci-dessus ne fonctionne pas, copiez et collez le lien suivant dans votre navigateur :" + }, + "finalizeAccount": { + "title": "Finalisation d'inscription", + "subject": "Finalisation d'inscription", + "bodyTitle": "Finaliser votre inscription.", + "textBeforeLink": "Si le bouton ci-dessus ne fonctionne pas, copiez et collez le lien suivant dans votre navigateur :" + } + }, + "showResetLinkTitle": "Réinitialisation de mot de passe.", + "showResetLink": "Lien de réinitialisation du mot de passe.", + "groupAdmin": "Administateur du groupe", + "admin": "Manager", + "teacher": "Enseignant", + "usersPerPage": "Utilisateurs par page", + "userDeleted": "Utilisateur supprimé.", + "userDisabled": "Utilisateur désactivé.", + "userCreated": "Utilisateur créé avec succès", + "userUpdated": "Utilisateur modifié avec succès", + "chooseNewPassword": "Choisissez votre nouveau mot de passe", + "passwordUpdate": "Votre mot de passe à été modifié", + "enterYourEmail": "Entrer votre adresse e-mail", + "sendResetMailDescription": "En cliquant sur Envoyer, un e-mail contenant un lien pour changer votre mot de passe vous sera envoyé.", + "yourMail": "Votre e-mail", + "emailSended": "Un e-mail contenant la procédure à suivre vient de vous être envoyé.", + "emailNotReceived": "Si vous n'avez pas reçu l'e-mail, cliquez sur Recommencer (léger temps d'attente possible).", + "mailSentToUser": "Un e-mail a été envoyé à l'utilisateur pour qu'il finalise son inscription.", + "mailNotSentToUser": "L'e-mail de finalisation d'inscription n'a pas pu être envoyé à l'utilisateur.", + "mailSentToUserReset": "Un e-mail a été envoyé à l'utilisateur pour qu'il change de mot de passe.", + "mailNotSentToUserReset": "L'e-mail de changement de mot de passe n'a pas pu être envoyé à l'utilisateur.", + "appsUpdated": "Les applications de l'utilisateur ont été mises à jour.", + "updateApps": "Modifier les applications", + "updateAppModalTitle": "Application", + "teacherGrades": { + "0": "Primaire", + "1": "Collège", + "2": "Lycée", + "3": "Lycée Professionnel", + "4": "POST-BAC" + }, + "teacherSubjects": { + "0": { + "0": "Ecole élémentaire", + "1": "Autre (préciser dans la biographie)" + }, + "1": { + "0": "Education physique et sportive (EPS)", + "1": "Enseignement moral et civique", + "2": "Enseignements artistiques", + "3": "Français", + "4": "Histoire-géographie", + "5": "Langue vivante", + "6": "Mathématiques", + "7": "Physique-Chimie", + "8": "Sciences de la vie et de la Terre (SVT)", + "9": "Technologie", + "10": "Autre (préciser dans la biographie)" + }, + "2": { + "0": "Arts", + "1": "Arts du cirque", + "2": "Biologie Ecologie", + "3": "Biotechnologies", + "4": "Création et culture design", + "5": "Création et innovation technologiques (CIT)", + "6": "Ecologie-agronomie-territoires-développement durable", + "7": "Education physique et sportive (EPS)", + "8": "Enseignement moral et civique", + "9": "Enseignement scientifique", + "10": "Enseignement technologique transversal (ETT)", + "11": "Français", + "12": "Hippologie et équitation", + "13": "Histoire-géographie", + "14": "Histoire-géographie, géopolitique et sciences politiques", + "15": "Humanités, littérature et philosophie", + "16": "Langues et cultures de l’Antiquité : latin ou grec", + "17": "Langues vivantes", + "18": "Langues, littératures et cultures étrangères et régionales", + "19": "Littérature et langues et cultures de l’Antiquité", + "20": "Management et gestion", + "21": "Mathématiques", + "22": "Numérique et sciences informatiques (NSI)", + "23": "Physique-chimie", + "24": "Principes fondamentaux de l’économie et de la gestion", + "25": "Santé et social", + "26": "Sciences de la vie et de la Terre (SVT)", + "27": "Sciences de l’ingénieur", + "28": "Sciences et laboratoire", + "29": "Sciences et techniques du théâtre, de la musique et de la danse (S2TMD)", + "30": "Sciences et technologies de laboratoire (STL)", + "31": "Sciences et technologies de l’hôtellerie et de la restauration (STHR)", + "32": "Sciences et technologies de l’industrie et du développement durable (STI2D)", + "33": "Sciences et technologies du design et des arts appliqués (STD2A)", + "34": "Sciences et technologies du management et de la gestion (STMG)", + "35": "Sciences numériques et technologie (SNT)", + "36": "Sciences économiques et sociales (SES)", + "37": "Autre (préciser dans la biographie)" + }, + "3": { + "0": "Arts appliqués et cultures artistiques", + "1": "Economie-Droit", + "2": "Economie-Gestion", + "3": "Education physique et sportive (EPS)", + "4": "Enseignement moral et civique", + "5": "Enseignement technologique transversal (ETT)", + "6": "Français", + "7": "Histoire-géographie", + "8": "Langues vivantes étrangères", + "9": "Mathématiques Physique-Chimie", + "10": "Prévention Santé Environnement", + "11": "Autre (préciser dans la biographie)" + }, + "4": { + "0": "Etudes supérieures", + "1": "Autre (préciser dans la biographie)" + } + } + }, + "group": { "generalInfo": "Informations générales", - "add": "Ajouter un groupe", - "create": "Créer un groupe", - "delete": "Supprimer un groupe", - "deleteIntention": "Vous vous apprêtez à supprimer le groupe : ", - "update": "Modifier un groupe", - "academy": "Académie", - "join": { - "firstVisit": "Première visite ?", - "signin": "Se connecter", - "signinSubtitle": "Entrez vos identifiants pour accèder à votre compte", - "addressMail": "Adresse mail", - "disclaimer": "En rejoignant ce groupe, vous autorisez l'admin du groupe à mofidier et / ou désactiver votre compte. Vous disposerez aussi des applications que le groupe possède.", - "lastStep": "Il ne reste plus qu'une étape ! Cliquez sur le bouton si dessous pour finaliser la liaison.", - "joinGroup": "Vous vous apprêtez à rejoindre le groupe \"\"", - "notfound": "Groupe introuvable !", - "notfoundDetails": "Nous ne trouvons aucun groupe lié au code .", - "clickToRedirectLogin": "Cliquez sur continuer pour être redirigé vers la page de connexion.", - "clickToRedirectHome": "Cliquez sur continuer pour être redirigé vers la page d'accueil.", - "invalidLink": "Lien invalide !", - "invalidFormatLink": "Le format du lien que vous avez entré ne correspond pas.", - "success": "Vous avez rejoint le groupe \"\" !", - "alreadyLinked": "Vous faites déjà partie de ce groupe.", - "error": "Une erreur est survenue lors de la liaison.", - "userNotFound": "L'utilisateur n'a pas été trouvé, vous pouvez cliquer sur continuer afin d'être redirigé vers la page de login.", - "contactAdmin": "Si le problème persiste contactez l'administration.", - "groupFull": "Le groupe que vous souhaitez rejoindre est complet.", - "onlyOneGroup": "Vous faites déjà partie d'un groupe, vous ne pouvez pas en rejoindre un autre", - "mail": { - "textBeforeName": "L'utilisateur : ", - "textAfterName": "a rejoint le groupe : ", - "emailSubject": "Un utilisateur à rejoint le groupe" - } - }, - "name": "Nom du groupe *", - "description": "Description du groupe *", - "link": "Lien du groupe", - "applications": "Application(s) du groupe", - "groupsPerPage": "Groupes par page", - "groupDeleted": "Groupe supprimé.", - "groupCreated": "Groupe créé avec succès", - "groupUpdated": "Groupe modifié avec succès", - "groupCreateFailed": "Le groupe n'a pas pu être créé, il manque des informations", - "showLinkTitle": "Lien du groupe", - "usersWithoutGroups": "Utilisateurs sans groupe", - "searchResult": "Résultat de la recherche", - "usersInactiveOrNoRegular": "Utilisateurs non regular", - "usersWithoutGroupsDescription": "Groupement d'utilisateurs n'étant liés à aucun groupe", - "usersInactiveOrNoRegularDescription": "Groupement non regular", - "groupDeleteError": "Le groupe n'a pas pu être supprimé.", - "groupFull": "Le groupe est complet.", - "groupFullAdminMessage": "Le groupe est complet, vous ne pouvez pas ajouter d'autres utilisateurs.", - "toManyStudentsFromTheTeacher": "Le professeur que vous souhaitez ajouter au groupe possède trop d'élève", - "toManyStudentsInGroup": "Le groupe ne peut pas accueillir autant d'apprenants, le professeur possède trop d'apprenants.", - "teachersPerGroup": "Enseignant par groupe", + "add": "Ajouter un groupe", + "create": "Créer un groupe", + "delete": "Supprimer un groupe", + "deleteIntention": "Vous vous apprêtez à supprimer le groupe : ", + "update": "Modifier un groupe", + "academy": "Académie", + "join": { + "firstVisit": "Première visite ?", + "signin": "Se connecter", + "signinSubtitle": "Entrez vos identifiants pour accèder à votre compte", + "addressMail": "Adresse e-mail", + "disclaimer": "En rejoignant ce groupe, vous autorisez l'admin du groupe à mofidier et/ou désactiver votre compte. Vous disposerez aussi des applications que le groupe possède.", + "lastStep": "Il ne reste plus qu'une étape ! Cliquez sur le bouton ci-dessous pour finaliser la liaison.", + "joinGroup": "Vous vous apprêtez à rejoindre le groupe \"\"", + "notfound": "Groupe introuvable !", + "notfoundDetails": "Nous ne trouvons aucun groupe lié au code .", + "clickToRedirectLogin": "Cliquez sur Continuer pour être redirigé vers la page de connexion.", + "clickToRedirectHome": "Cliquez sur Continuer pour être redirigé vers la page d'accueil.", + "invalidLink": "Lien invalide !", + "invalidFormatLink": "Le format du lien que vous avez entré ne correspond pas.", + "success": "Vous avez rejoint le groupe \"\" !", + "alreadyLinked": "Vous faites déjà partie de ce groupe.", + "error": "Une erreur est survenue lors de la liaison.", + "userNotFound": "L'utilisateur n'a pas été trouvé, vous pouvez cliquer sur Continuer afin d'être redirigé vers la page de login.", + "contactAdmin": "Si le problème persiste contactez l'administration.", + "groupFull": "Le groupe que vous souhaitez rejoindre est complet.", + "onlyOneGroup": "Vous faites déjà partie d'un groupe, vous ne pouvez pas en rejoindre un autre.", + "mail": { + "textBeforeName": "L'utilisateur : ", + "textAfterName": "a rejoint le groupe : ", + "emailSubject": "Un utilisateur à rejoint le groupe." + } + }, + "name": "Nom du groupe", + "description": "Description du groupe", + "link": "Lien du groupe", + "applications": "Application(s) du groupe", + "groupsPerPage": "Groupes par page", + "groupDeleted": "Groupe supprimé", + "groupCreated": "Groupe créé avec succès", + "groupUpdated": "Groupe modifié avec succès", + "groupCreateFailed": "Le groupe n'a pas pu être créé", + "showLinkTitle": "Lien du groupe", + "usersWithoutGroups": "Utilisateurs sans groupe", + "searchResult": "Résultat de la recherche", + "usersInactiveOrNoRegular": "Utilisateurs inactifs et non regular", + "usersWithoutGroupsDescription": "Groupement d'utilisateurs n'étant liés à aucun groupe", + "usersInactiveOrNoRegularDescription": "Groupement d'utilisateurs inactifs et/ou non regular", + "groupDeleteError": "Le groupe n'a pas pu être supprimé.", + "groupFull": "Le groupe est complet.", + "groupFullAdminMessage": "Le groupe est complet, vous ne pouvez pas ajouter d'autres utilisateurs.", + "toManyStudentsFromTheTeacher": "Le professeur que vous souhaitez ajouter au groupe possède trop d'élèves.", + "toManyStudentsInGroup": "Le groupe ne peut pas accueillir autant d'apprenants, le professeur possède trop d'apprenants.", + "teachersPerGroup": "Enseignant par groupe", "activitiesPerGroup": "Activité(s) par groupe", "activitiesPerTeacher": "Activité(s) par enseignant", - "studentsPerGroup": "Apprenants par groupe", - "studentsPerTeacher": "Apprenants par enseignant", + "studentsPerGroup": "Apprenants par groupe", + "studentsPerTeacher": "Apprenants par enseignant", "maxStudents": "Maximum d'apprenants", "maxActivities": "Maximum d'activités" }, @@ -1249,202 +1347,199 @@ "activeUsers": "Utilisateurs actifs", "inactiveUsers": "Utilisateurs inactifs" }, - "buttons": { - "continue": "Continuer", - "validate": "Valider", - "cancel": "Annuler", + "buttons": { + "continue": "Continuer", + "validate": "Valider", + "cancel": "Annuler", "activate": "Activer", - "finalize": "Finaliser", - "send": "Envoyer", - "login": "Se connecter", - "signup": "S'incrire", - "join": "Rejoindre", - "save": "Enregistrer", - "close": "Fermer", - "disable": "Désactiver", - "delete": "Supprimer", - "reset": "Réinitialiser", - "update": "Modifier", - "search": "Rechercher", - "restart": "Recommencer", - "copyLink": "Copier le lien", - "show": "Afficher", - "manage": "Gérer", - "user": { - "add": "Ajouter l'utilisateur", - "create": "Créer l'utilisateur", - "delete": "Supprimer l'utilisateur", - "update": "Modifier l'utilisateur", - "addGroup": "Ajouter un groupe", - "createA": "Créer un utilisateur", - "updateA": "Modifier un utilisateur", - "updateApp": "Modifier les applications" - }, - "group": { - "add": "Ajouter le groupe", - "create": "Créer le groupe", - "delete": "Supprimer le groupe", - "update": "Modifier le groupe", - "createA": "Créer un groupe", - "updateA": "Modifier un groupe" - } - }, - "sort": { - "user": { - "bylastname": "Trier par Nom", - "byfirstname": "Trier par Prénom" - }, - "group": { - "byname": "Trier par nom", - "bydesc": "Trier par description" - } - }, - "input": { - "placeholder": { - "delete": "supprimer" - }, - "writeDelete": "Vous devez écrire supprimer pour valider l'action.", - "writeDisable": "Vous devez écrire désactiver pour valider l'action." - }, - "table": { - "lastname": "Nom", - "firstname": "Prénom", - "applications": "Applications", - "group": "Groupe", - "description": "Description", + "finalize": "Finaliser", + "send": "Envoyer", + "login": "Se connecter", + "signup": "S'incrire", + "join": "Rejoindre", + "save": "Enregistrer", + "close": "Fermer", + "disable": "Désactiver", + "delete": "Supprimer", + "reset": "Réinitialiser", + "update": "Modifier", + "search": "Rechercher", + "restart": "Recommencer", + "copyLink": "Copier le lien", + "show": "Afficher", + "manage": "Gérer", + "user": { + "add": "Ajouter l'utilisateur", + "create": "Créer l'utilisateur", + "delete": "Supprimer l'utilisateur", + "update": "Modifier l'utilisateur", + "addGroup": "Ajouter un groupe", + "createA": "Créer un utilisateur", + "updateA": "Modifier un utilisateur", + "updateApp": "Modifier les applications" + }, + "group": { + "add": "Ajouter le groupe", + "create": "Créer le groupe", + "delete": "Supprimer le groupe", + "update": "Modifier le groupe", + "createA": "Créer un groupe", + "updateA": "Modifier un groupe" + } + }, + "sort": { + "user": { + "bylastname": "Trier par nom", + "byfirstname": "Trier par prénom" + }, + "group": { + "byname": "Trier par nom", + "bydesc": "Trier par description" + } + }, + "input": { + "placeholder": { + "delete": "supprimer" + }, + "writeDelete": "Vous devez écrire supprimer pour valider l'action.", + "writeDisable": "Vous devez écrire désactiver pour valider l'action." + }, + "table": { + "lastname": "Nom", + "firstname": "Prénom", + "applications": "Applications", + "group": "Groupe", + "description": "Description", "descriptionMandatory": "Description *", - "right": "Rôle", - "resetPassword": "Réinitialiser le mot de passe", - "link": "Lien", - "name": "Nom", + "right": "Rôle", + "resetPassword": "Réinitialiser le mot de passe", + "link": "Lien", + "name": "Nom", "nameMandatory": "Nom *", - "dateBegin": "Date début", - "dateEnd": "Date de fin", - "outDated": "Périmé", - "maxStudents": "Maximum d'apprenants", - "actualStudents": "Éleves actuels", - "maxTeachers": "Maximum d'enseignants", - "actualTeachers": "Enseignants actuels", - "maxStudentsPerTeachers": "Maximum d'apprenants par enseignant", - "maxStudentsPerTeacher": "Maximum d'apprenants par enseignant", - "activityType": "Type d'activité", - "maxActivitiesPerGroup": "Maximum d'activités par groupe", - "maxActivitiesPerTeacher": "Maximum d'activités par enseignant", - "monitoring": "Suveillance des applications", - "image": "Image", - "userNoRights": "Pas de droits assignés", - "userAdmin": "Administrateur", - "userTeacher": "Enseignant", - "restrictions": "Restrictions" - }, - "apps": { - "apps": "Applications", - "create": "Ajouter une application", - "updateSuccess": "Application modifiée avec succès", - "createSuccess": "Application créée avec succès", - "deleteSuccess": "Application supprimée avec succès", - "deleteIntention": "Vous vous apprêtez à supprimer l'application : ", - "outDatedApp": "L'application que vous souhaitez attribuer est périmé.", - "infoMaxStudentsPerTeachers": "Détermine le nombre d'apprenants qu'un enseignant faisant partie du groupe pourra avoir au maximum.", - "infoMaxStudentsPerGroups": "Détermine le nombre d'apprenants que le groupe pourra avoir au maximum (En additionnant le total d'apprenants des professeurs disposant de cette application)", - "infoMaxTeachers": "Détermine le nombre maximum de professeurs pouvant disposer de l'application dans ce groupe", - "usersLimitation": "Limitation d'apprenants par utilisateur", - "groupsLimitation": "Limitations de groupe", - "activitiesLimitation": "Limitations d'activité", - "defaultRestrictions": "Restrictions par défaut", - "ltiApps": "Applications LTI", - "clientId" : "Id client *", - "deploymentId" : "Id déploiement *", - "toolUrl" : "Url de l'outil *", - "publicKeySet" : "Clé publique *", - "loginUrl" : "Url de login *", - "redirectionUrl" : "Url de redirection *", - "deepLinkUrl" : "Url de deep link *", - "privateKey" : "Clé privée *" - }, - "activitiesRestrictions": { - "updateAll": "Modifier les restrictions", - "update": "Modifier une restriction", - "create": "Créer une restriction", - "delete": "Supprime une restriction", - "updateSuccess": "Restriction modifiée avec succès", - "createSuccess": "Restriction créée avec succès", - "deleteSuccess": "Restriction supprimée avec succès", - "deleteIntention": "Vous vous apprêtez à supprimer la restriction : ", - "restrictionType": "Type d'activité", - "maxActivity": "Maximum d'activité", - "closeDetail": "Fermer le détail", - "restrictions": "Restrictions d'activité", - "appRestricted" : "Créez plus d'activités !", - "appRestrictedUL1": "Vous avez atteint la limite de {{activities}} activités associés à votre compte.", - "appRestrictedUL2": "Pour ajouter des activités sumpplémentaires, veuillez prendre contact avec votre administrateur.", - "appRestrictedSubtitle2": "Un problème avec votre abonnement ?", - "appRestrictedSubtitle3": "Contacter le support", - "appRestrictedGarContent1": "Vous avez atteint la limite de {{activities}} activités associés à votre compte.", - "appRestrictedGarContent2": "Pour ajouter des activités sumpplémentaires, veuillez prendre contact avec le.la responsable d'affectation GAR de votre établissement." - }, - "defaultRestrictions": { - "update": "Modifier les restrictions par défaut", - "type": "Type d'activité", - "max": "Maximum", - "add": "Ajouter une restiction", - "updateUsersRestrictionsSuccess": "Restrictions utilisateur modifiées avec succès", - "updateGroupsRestrictionsSuccess": "Restrictions de groupe modifiées avec succès", - "updateActivitiesRestrictionsSuccess": "Restrictions d'activités modifiées avec succès", - "deleteActivitiesRestrictionsSuccess": "Restriction d'activité supprimée avec succès", - "getDefaultRestrictions": "Voir les restrictions par défaut", - "restrictionAlreadyExist": "La restriction existe déjà" - } - }, - "navbar": { - "items": { - "kits": "Matériel", - "community": { - "title": "Communauté", - "dropdown": { - "vittamap": "Vittamap", - "blog": "Blog", - "gallery": "Gallerie", - "about": "A propos" - } - }, - "tooltips": { - "backToHome": "Revenir à la page d'accueil", - "programming": "Coder avec Vittascience", - "resources": "Centre de ressources pédagogiques", - "classroom": "Gérez vos classes avec Vittascience", - "hardware": "Découvrir nos kits et produits" - }, - "programming": "Programmer", - "ressources": "Ressources", - "classroom": "Classe", - "accessibility": "Changez le thème et la police du site", - "lang": "Changer de langue", - "user_shortcuts": { - "welcome": "Bienvenue !", - "signup": "S'inscrire", - "login": "Se connecter", - "hello": "Bonjour", - "account": "Mon compte", - "disconnect": "Se déconnecter", - "willSignup": "Je m'inscris !", - "willSignin": "Je me connecte" - } - } - }, - "newActivities": { - "create": "Créer une nouvelle activité", - "delete": "Supprimer", - "addQuiz": "Ajouter une proposition", - "states": "Énoncé de l'activité *", - "cancel": "Annuler", - "autocorrect": "Correction automatique", - "correction": "Correction de l'activité", - "tolerance1": "Ajouter une tolérance d'erreur de", - "tolerance2": "caractère(s) sur l'ensemble de la réponse de l'élève.", - "hint": "Indice * : s'affiche si la réponse est fausse", - "title": "Titre de l'activité *", - "description": "Description de l'activité *", - "content": "Contenu de l'activité *" - } -} \ No newline at end of file + "dateBegin": "Date début", + "dateEnd": "Date de fin", + "outDated": "Périmé", + "maxStudents": "Maximum d'apprenants", + "actualStudents": "Éleves actuels", + "maxTeachers": "Maximum d'enseignants", + "actualTeachers": "Enseignants actuels", + "maxStudentsPerTeachers": "Maximum d'apprenants par enseignant", + "maxStudentsPerTeacher": "Maximum d'apprenants par enseignant", + "monitoring": "Suveillance des applications", + "image": "Image", + "userNoRights": "Pas de droits assignés", + "userAdmin": "Administrateur", + "userTeacher": "Enseignant", + "restrictions": "Restrictions" + }, + "apps": { + "apps": "Applications", + "create": "Créer une application", + "updateSuccess": "Application modifiée avec succès", + "createSuccess": "Application créée avec succès", + "deleteSuccess": "Application supprimée avec succès", + "deleteIntention": "Vous vous apprêtez à supprimer l'application : ", + "outDatedApp": "L'application que vous souhaitez attribuer est périmée.", + "infoMaxStudentsPerTeachers": "Détermine le nombre d'apprenants qu'un enseignant faisant partie du groupe pourra avoir au maximum.", + "infoMaxStudentsPerGroups": "Détermine le nombre d'apprenants que le groupe pourra avoir au maximum (en additionnant le total d'apprenants des professeurs disposant de cette application)", + "infoMaxTeachers": "Détermine le nombre maximum de professeurs pouvant disposer de l'application dans ce groupe", + "usersLimitation": "Limitation d'apprenants par utilisateur", + "groupsLimitation": "Limitations de groupe", + "activitiesLimitation": "Limitations d'activité", + "defaultRestrictions": "Restrictions par défaut", + "ltiApps": "Applications LTI", + "clientId" : "Id client *", + "deploymentId" : "Id déploiement *", + "toolUrl" : "Url de l'outil *", + "publicKeySet" : "Clé publique *", + "loginUrl" : "Url de login *", + "redirectionUrl" : "Url de redirection *", + "deepLinkUrl" : "Url de deep link *", + "privateKey" : "Clé privée *" + }, + "activitiesRestrictions": { + "updateAll": "Modifier les restrictions", + "update": "Modifier une restriction", + "create": "Créer une restriction", + "delete": "Supprime une restriction", + "updateSuccess": "Restriction modifiée avec succès", + "createSuccess": "Restriction créée avec succès", + "deleteSuccess": "Restriction supprimée avec succès", + "deleteIntention": "Vous vous apprêtez à supprimer la restriction : ", + "restrictionType": "Type d'activité", + "maxActivity": "Maximum d'activité", + "closeDetail": "Fermer le détail", + "restrictions": "Restrictions d'activité", + "appRestricted" : "Créez plus d'activités !", + "appRestrictedUL1": "Vous avez atteint la limite de {{activities}} activités associés à votre compte.", + "appRestrictedUL2": "Pour ajouter des activités sumpplémentaires, veuillez prendre contact avec votre administrateur.", + "appRestrictedSubtitle2": "Un problème avec votre abonnement ?", + "appRestrictedSubtitle3": "Contacter le support", + "appRestrictedGarContent1": "Vous avez atteint la limite de {{activities}} activités associés à votre compte.", + "appRestrictedGarContent2": "Pour ajouter des activités sumpplémentaires, veuillez prendre contact avec le.la responsable d'affectation GAR de votre établissement." + }, + "defaultRestrictions": { + "update": "Modifier les restrictions par défaut", + "type": "Type d'activité", + "max": "Maximum", + "add": "Ajouter une restiction", + "updateUsersRestrictionsSuccess": "Restrictions utilisateur modifiées avec succès", + "updateGroupsRestrictionsSuccess": "Restrictions de groupe modifiées avec succès", + "updateActivitiesRestrictionsSuccess": "Restrictions d'activités modifiées avec succès", + "deleteActivitiesRestrictionsSuccess": "Restriction d'activités supprimées avec succès", + "getDefaultRestrictions": "Voir les restrictions par défaut", + "restrictionAlreadyExist": "La restriction existe déjà" + } + }, + "navbar": { + "items": { + "kits": "Matériel", + "community": { + "title": "Communauté", + "dropdown": { + "vittamap": "Vittamap", + "blog": "Blog", + "gallery": "Gallerie", + "about": "A propos" + } + }, + "tooltips": { + "backToHome": "Revenir à la page d'accueil", + "programming": "Coder avec Vittascience", + "resources": "Centre de ressources pédagogiques", + "classroom": "Gérez vos classes avec Vittascience", + "hardware": "Découvrir nos kits et produits" + }, + "programming": "Programmer", + "ressources": "Ressources", + "classroom": "Classe", + "accessibility": "Changez le thème et la police du site", + "lang": "Changer de langue", + "user_shortcuts": { + "welcome": "Bienvenue !", + "signup": "S'inscrire", + "login": "Se connecter", + "hello": "Bonjour", + "account": "Mon compte", + "disconnect": "Se déconnecter", + "willSignup": "Je m'inscris !", + "willSignin": "Je me connecte" + } + } + }, + "newActivities": { + "create": "Créer une nouvelle activité", + "delete": "Supprimer", + "addQuiz": "Ajouter une proposition", + "states": "Énoncé de l'activité *", + "cancel": "Annuler", + "autocorrect": "Correction automatique", + "correction": "Correction de l'activité", + "tolerance1": "Ajouter une tolérance d'erreur de", + "tolerance2": "caractère(s) sur l'ensemble de la réponse de l'élève.", + "hint": "Indice * : s'affiche si la réponse est fausse", + "title": "Titre de l'activité *", + "description": "Description de l'activité *", + "content": "Contenu de l'activité *" + } +} diff --git a/classroom/assets/lang/it/ns.json b/classroom/assets/lang/it/ns.json new file mode 100644 index 00000000..9d316418 --- /dev/null +++ b/classroom/assets/lang/it/ns.json @@ -0,0 +1,766 @@ +{ + "classroom": { + "login": { + "noClass": "Il codice inserito non corrisponde a nessuna classe.", + "hello1": "Ciao!", + "hello2": "Ciao!", + "neutralTitle": "OpenSTEAM LMS", + "cabriTitle": "Cabri.com", + "subtitle": "Scoprire - Imparare - Condividere", + "cabriSubtitle": "La piattaforma per il successo in matematica e scienze", + "login": "Accedi", + "activities": "crea facilmente
le tue attività", + "cabriActivities": "Crea esercizi
automaticamente in
pochi minuti", + "attribute": "assegna i
ai tuoi studenti", + "cabriProgress": "Segui i progressi
dei tuoi studenti\n", + "visualize": "visualizza
i loro risultati", + "cabriRessources": "Accedi a una
vasta gamma di attività
e condividi le
tue creazioni", + "student": "STUDENTE", + "codeInput": "Inserisci qui il codice di classe", + "teacher": "INSEGNANTE", + "hasAccount": "Hai già un account?", + "gar": "Approfittate del modulo di classe con l'aiuto di GAR.
Il collegamento con il GAR non è ancora finalizzato, sarà pronto presto.", + "signup": "REGISTRARSI", + "firstVisit": "Prima visita? Si prega di scegliere un login.", + "signin": "COLLEGARSI", + "registerLink": "Creare un account", + "hasReturned": "Di ritorno in questa classe?", + "forgot": "Ho dimenticato la mia password", + "error": { + "used": "Questo nome utente è già in uso, per favore scegline un altro", + "badInput": "Il tuo nome utente o la tua password sono sbagliati." + }, + "register": { + "title": "Registrazione", + "description": "Completa i seguenti campi per creare il tuo account.\n", + "passwordConstraints": "Minimo 8 caratteri.", + "createButton": "Registrazione" + } + }, + "register": { + "accountConfirmationEmail": { + "emailSubject": "Attivare il mio account", + "bodyTitle": "Attivare il mio account", + "textBeforeLink": "Se il pulsante qui sopra non funziona, copia e incolla il seguente link nel tuo browser:" + } + }, + "updateUserInfos": { + "emailUpdateConfirmation": { + "emailSubject": "Conferma il mio nuovo indirizzo e-mail", + "bodyTitle": "Conferma il mio nuovo indirizzo e-mail", + "textBeforeLink": "Se il pulsante qui sopra non funziona, copia e incolla il seguente link nel tuo browser:" + } + }, + "successPanel": "Bene, ce l'hai fatta!", + "failPanel": "La risposta non è corretta", + "toCorrectPanel": "L'attività è stata trasmessa al tuo insegnante,
che ti risponderà presto! ", + "help": { + "student": { + "label": "Contatta il tuo insegnante", + "question": "Fai le tue domande...", + "title": "Oggetto" + }, + "teacher": { + "label": "Contatta il tuo insegnante" + } + }, + "profil": { + "identity": "Nome Cognome", + "class": "CLASSE : ", + "todo": "Attività da fare", + "done": "Attività svolte", + "create": "Attività create", + "correctionToDo": "Correzioni da fare", + "switchMode": "Passare alla modalità studente", + "switchModeTeacher": "Torna alla modalità insegnante", + "accountSettings": { + "title": "Il mio account", + "firstname": "Nome", + "lastname": "Cognome", + "nickname": "Nome utente", + "email": "E-mail", + "password": "Password", + "confirmPassword": "Conferma la password", + "updateButton": "Aggiornare" + } + }, + "notif": { + "shareProjectTeacher": "Il progetto è stato condiviso con il tuo insegnante", + "addActivities": "Le attività selezionate sono state aggiunte alla tua lista", + "addActivity": "L'attività è stata aggiunta alla tua lista", + "saveProject": "Hai pensato di salvare il tuo lavoro?", + "savedProject": "La bozza della tua attività è stata salvata.", + "deleteProject": "Il progetto è stato cancellato.", + "shareProject": "Il progetto è stato condiviso", + "corrections": "Nelle tue classi è stato fatto un esercizio", + "deleteAccount": "Sei sicuro di voler cancellare l'account dello studente?", + "accountIsDelete": "L'account dello studente è stato cancellato", + "newPwd": "La nuova password dello studente {{pseudo}} è {{pwd}}", + "classCreatedButNotUsers": "La classe {{nomeAula}} è stata creata, ma non gli account associati (Il tuo account non ti permette di avere studenti {{numero di studenti}})", + "classUpdatedButNotUsers": "La classe {{classroomName}} è stata aggiornata, ma non gli account associati (Il tuo account non ti permette di avere studenti {{learnerNumber}})", + "usersNotAdded": "Lo studente non è stato aggiunto (Il tuo account non ti permette di avere {{learnerNumber}} studenti)", + "cantLoginLimitLearners": "Non puoi unirti alla classe. Il tuo insegnante ha raggiunto il numero massimo di studenti.", + "cantLoginClassroomBlocked": "Non puoi unirti alla classe, il tuo insegnante l'ha bloccata.", + "classNotCreated": "Non puoi avere più di una classe.", + "attributeActivityUndone": "L'attività è stata disattribuita", + "pseudoUpdated": "Il nuovo nome utente dello studente è {{newPseudo}}", + "classroomDeleted": "La classe {{classroomName}} è stata cancellata", + "classroomCreated": "La classe {{nome dell'aula}} è stata creata, insieme a tutti gli account associati", + "classroomUpdated": "La classe {{classroomName}} è stata aggiornata, insieme a tutti gli account associati", + "usersAdded": "Gli account sono stati creati", + "usersAddedFromCsv": "Gli account sono stati creati secondo il file csv", + "activityDeleted": "L'attività {{attivitàNome}} è stata cancellata", + "mustAttributeToStudent": "Devi selezionare gli studenti", + "activityAttributed": "L'attività {{attivitàTitolo}} è stata assegnata agli studenti elencati", + "activityAttributionChanged": "L'assegnazione dell'attività {{attivitàTitolo}} è stata cambiata per gli studenti elencati", + "activityCreated": "L'attività {{attivitàTitolo}} è stata creata", + "activityChanged": "L'attività {{attivitàTitolo}} è stata modificata", + "activityTitleMissing": "Devi compilare il titolo dell'attività", + "activityPlayerMissing": "Devi compilare l'URL del giocatore", + "CsvFileMissing": "Non hai scelto un file csv", + "errorWithCsv": "Errore nell'apertura del file csv: {{errore}}", + "cantGetPassword": "Errore, non puoi vedere la tua password", + "cantResetPassword": "Errore, non è possibile reimpostare la password", + "accountUpdated": "Il tuo account è stato aggiornato", + "emailUpdated": "Vai al link di conferma del nuovo indirizzo e-mail per completare l'aggiornamento", + "firstNameTooShort": "Il nome deve essere lungo almeno 2 caratteri", + "lastNameTooShort": "Il cognome deve essere lungo almeno 2 caratteri", + "pseudoTooShort": "Il nome utente deve essere lungo almeno 2 caratteri", + "invalidEmail": "L'indirizzo e-mail inserito non è valido", + "invalidPassword": "La password inserita non è valida. Deve essere lungo almeno 8 caratteri.", + "passwordAndConfirmMismatch": "La password e la conferma della password non sono identiche!", + "unknownUser": "Errore durante l'aggiornamento dell'account: l'utente non esiste!", + "passwordInvalid": "La password non rispetta i vincoli di sicurezza.", + "emailInvalid": "L'indirizzo e-mail inviato non è valido", + "emailExists": "L'indirizzo e-mail è già assegnato a un altro account", + "UserNotExists": "Errore durante il caricamento/ripristino della password: utente sbagliato!", + "RegularUserNotAllowed": "Errore durante il caricamento/ripristino della password: solo gli studenti possono vedere/ripristinare la loro password!", + "PasswordLengthInvalid": "Impossibile recuperare la password: password sbagliata!", + "accountCreated": "L'account è stato creato. Vai al link di conferma che ti è stato inviato per e-mail per concludere la registrazione e poter accedere.", + "firstnameMissing": "Devi inserire il tuo nome", + "surnameMissing": "Devi inserire il tuo cognome", + "pseudoMissing": "Devi inserire il tuo nome utente", + "emailMissing": "Devi inserire il tuo indirizzo e-mail", + "passwordMissing": "Devi inserire la tua password", + "passwordConfirmMissing": "È necessario confermare la password", + "passwordsMismatch": "La password e la conferma non sono identiche", + "invalidUserId": "Errore durante l'invio del messaggio: il tuo login non è valido", + "helpRequestFromTeacherSent": "Il tuo messaggio è stato inviato. Vi risponderemo il più presto possibile.", + "subjectMissingTeacherHelpForm": "Devi compilare l'oggetto del messaggio", + "messageMissingTeacherHelpForm": "Devi inserire il tuo messaggio", + "invalidUserIdTeacherHelpForm": "Errore durante l'invio del messaggio: il tuo login non è valido", + "unknownUserTeacherHelpForm": "Errore durante l'invio del messaggio: il tuo login non corrisponde a nessun account dell'insegnante", + "helpRequestFromLearnerSent": "Il tuo messaggio è stato inviato al tuo insegnante", + "subjectMissingLearnerHelpForm": "Devi compilare l'oggetto del messaggio", + "messageMissingLearnerHelpForm": "Devi digitare il tuo messaggio", + "invalidUserIdLearnerHelpForm": "Errore durante l'invio del messaggio: il tuo login non è valido", + "unknownUserLearnerHelpForm": "Errore durante l'invio del messaggio: il tuo nome utente è sconosciuto", + "unknownEmailLearnerHelpForm": "Errore durante l'invio del messaggio: l'indirizzo e-mail del tuo insegnante è sconosciuto", + "activityTitleInvalid": "L'attività non può essere creata: titolo non valido", + "activityContentInvalid": "L'attività non può essere creata: contenuto non valido", + "activityIsFromClassroomInvalid": "L'attività non può essere creata: errore di contesto", + "activityUserIdInvalid": "L'attività non può essere creata: utente non valido", + "generalBackendError": "Si è verificato un errore, riprova più tardi" + }, + "ids": { + "classroom-dashboard-help-panel-teacher": "Aiuto", + "classroom-dashboard-activities-panel-teacher": "Le mie attività", + "classroom-dashboard-classes-panel-teacher": "Le mie classi", + "classroom-dashboard-sandbox-panel": "Sandbox", + "classroom-dashboard-profil-panel-teacher": "Profilo", + "classroom-dashboard-activities-panel": "Le mie attività", + "classroom-dashboard-profil-panel": "Profilo", + "classroom-dashboard-help-panel": "Aiuto", + "classroom-dashboard-activities-panel-library-teacher": "Banca delle risorse", + "classroom-dashboard-new-activity-panel": "Creazione dell'attività", + "classroom-dashboard-new-activity-panel2": "Intermedio", + "classroom-dashboard-new-activity-panel3": "Assegnazione", + "classroom-table-panel-teacher": "Classe {{nome}}", + "classroom-dashboard-sandbox-creation": "Selezione dell'interfaccia", + "classroom-dashboard-ide-panel": "Sandbox {{interfaccia}}", + "classroom-dashboard-activity-panel": "Attività {{nome}}" + }, + "navbar": { + "activities": "Attività" + }, + "classes": { + "add": "Aggiungere una classe", + "form": { + "title": "Creare una classe", + "name": "Nome della classe", + "school": "Nome dell'istituto", + "addStudent": "Aggiungere un allievo", + "noStudent": "Non ci sono ancora studenti in questa classe", + "isBlockedButton": "Limitare a questi studenti, nessun altro potrà unirsi alla classe.", + "save": "Salvare la classe", + "return": "Tornare in classe" + } + }, + "activities": { + "title": "Attività", + "save": "Salvare la bozza ", + "add": "Creare un'attività", + "addCabriExpress": "Creare un'attività Express", + "addCabriGenius": "Creare un'attività Smart", + "addOther": "Altro tipo di attività", + "new": "Nuovo", + "current": "In attesa di correzione", + "waiting": "Non ancora completato", + "done": "Completato", + "todo": "Da correggere", + "anonymise": "Anonimizza la tua lista di studenti in modo da poter mostrare il dashboard ai tuoi studenti", + "save-draft": "Salva come bozza", + "validate": "Convalidare l'attività", + "accept": "Molto buono", + "vgood": "Soddisfacente", + "good": "Fragile", + "refuse": "Insufficiente", + "instruction": "Consegna", + "commentary": "Commento", + "sendResults": "Invia il commento allo studente ", + "noSend": "Questa attività non è stata fatta", + "comments": "Inserisci i tuoi commenti qui", + "bilan": { + "title": "Bilancio", + "results": "Risultati" + }, + "form": { + "1": "Creazione dell'attività", + "2": "Assegnazione", + "title": { + "label": "Titolo dell'attività", + "labelCabri": "Qual è il titolo dell'attività?", + "placeholder": "Titolo del gioco", + "placeholderCabri": "Titolo dell'attività" + }, + "iframe": { + "label": "Qual è l'URL di accesso?", + "placeholder": "Inserisci un URL" + }, + "notebookUpdateMessage": "Non modificare questa sezione se vuoi mantenere il vecchio libro delle attività!", + "notebookUrl": { + "label": "Aggiungere l'URL di un notebook", + "placeholder": "URL del taccuino" + }, + "playerUrl": { + "label": "Aggiungere un URL del giocatore", + "placeholder": "URL del giocatore" + }, + "player": { + "labelFileChooser": "Scegliere un file", + "fileUpload": "Il file è stato caricato con successo", + "dragDrop": "Trascinare e rilasciare" + }, + "nextButton": "Prossimo", + "endButton": "Finitura", + "content": { + "label": "Contenuto dell'attività" + }, + "button": "Salvare e convalidare", + "success": "Congratulazioni, hai creato un'attività!", + "attribute": "Assegnare l'attività da ora", + "attribute2": "Attribuisci l'attività ", + "return": "Torna alle mie attività", + "hint": "Puoi sempre assegnare questa attività in seguito dalla dashboard.", + "modify": "Modificare l'attività", + "select1": "Selezione degli studenti", + "select2": " selezionati.", + "instructions": "Consegna specifica per questi studenti\n", + "autocorrect": "Questa attività dispone di una correzione automatica, vuoi attivarla?", + "nature": "Lo studente può presentare l'attività più di una volta?", + "dateBegin": "Data di inizio :", + "dateEnd": "Data di fine :" + }, + "toCopy": "Questo codice rende facile unirsi alla tua classe\n", + "copyLink": "Il link alla tua classe è stato aggiunto negli appunti\n", + "dateBefore": "Termine di scadenza della consegna", + "dateBeforeAvailable": "Disponibile fino a", + "integrate": "Integrare in un'attività", + "veryGoodProficiency": "Molto buono", + "goodProficiency": "Soddisfacente", + "weakProficiency": "Fragile", + "insufficientProficiency": "Insufficiente", + "addLearner": "Aggiungere uno studente", + "exportCsv": "Esportazione csv", + "players": { + "STANDARD": { + "title": "Standard", + "description": "Il lettore standard vi permetterà di leggere online tutti i libri di attività prodotti con lo strumento di authoring Cabri." + }, + "IMUSCICA": { + "title": "iMuSciCA", + "description": "Il lettore iMuSciCA permette di riprodurre nello studio musicale tutte le attività realizzate con lo strumento di authoring Cabri." + }, + "IFRAME": { + "title": "Autre", + "description": "Scegli tra una selezione di lettori da utilizzare nelle tue attività con lo strumento di authoring Cabri." + }, + "EXPRESS": { + "title": "Express", + "description": "Creare un'attività utilizzando strumenti dinamici di geometria e algebra, calcolatrice scientifica e grafica, ecc." + }, + "GENIUS": { + "title": "Smart", + "description": "Crea un'attività con gli strumenti Express e aggiungi una valutazione automatica." + }, + "IFRAME-CABRI3D": { + "title": "Cabri 3D", + "description": "Crea un'esplorazione dinamica della geometria dello spazio." + }, + "LTI-BLOCKLY": { + "title": "Cabri Blockly", + "description": "Aggiungere azioni dell'utente a un'attività di Cabri, come animazioni, chiusure, ecc., programmate visivamente con lo stesso spirito di Scratch o Snap!" + } + }, + "tabs": { + "players": "Libro di attività", + "iframes": "Video e pagina web" + }, + "iframes": { + "IFRAME-VIDEO": { + "title": "Video", + "description": "Inserisci l'URL di un video pubblicato su una piattaforma di hosting." + }, + "IFRAME-PAGE": { + "title": "Pagina web", + "description": "Inserisci l'URL della pagina web." + } + } + }, + "filter": { + "desc": "Dal meno recente al più recente", + "asc": "Dal più recente al meno recente", + "cabriExpress": "Solo attività di Cabri Express", + "cabriGenius": "Solo attività Cabri Smart", + "cabriVittascience": "Solo attività Vittascience", + "iframe": "Solo altri tipi di attività", + "placeholder": "Cerca..." + }, + "sandbox": { + "mine": "I miei progetti", + "shared": "Progetti condivisi", + "add": "Creare un programma", + "chooseInterface": "Selezionate l'interfaccia sulla quale volete creare un programma: ", + "teacherSharedDescription": "Trova qui i programmi condivisi dai tuoi studenti.", + "studentSharedDescription": "Trova qui i programmi condivisi dal tuo insegnante" + }, + "footer": { + "privacy": "Politica sulla privacy ", + "cgu": "Condizioni generali d'uso", + "copyright": "copyright" + }, + "teacherHelpPanel": { + "contactForm": { + "title": "Contattaci", + "objectPlaceholder": "Oggetto", + "messagePlaceholder": "Scrivi qui il tuo messaggio. (Massimo 800 caratteri)", + "sendButton": "Invia il messaggio", + "fillInAllTheFields": "Completa tutti i campi" + } + }, + "modals": { + "addLtiActivityName": "Qual è il titolo dell'attività?", + "addActivity": { + "title": "Aggiungere un'attività", + "resourceBank": { + "title": "Sfoglia la banca di risorse collaborative", + "button": "Banca delle risorse " + }, + "orSeparator": "O", + "attributeActivity": { + "title": "Visualizza le mie attività esistenti", + "button": "Le mie attività " + }, + "createActivity": { + "title": "Creare una nuova attività", + "button": "Creare un'attività " + }, + "next": "Prossimo", + "limitTitle": "Limite superato", + "limitDescription": "Il limite del numero di attività legate a questo conto è stato raggiunto.", + "upgradePlan": "Aumenta limite" + }, + "updateActivity": { + "title": "Aggiornare un'attività" + }, + "deleteActivity": { + "title": "Cancellare l'attività", + "description": "Sei sicuro di voler cancellare l'attività?", + "confirm": "Confermare", + "cancel": "Cancella" + }, + "settingsTeacher": { + "title": "Impostazioni dell'account", + "lang": "Lingua", + "description": "Per cambiare la tua password o altre impostazioni dell'account", + "accessButton": "Vai al tuo profilo", + "password": "Password", + "passwordDescription": "Ecco la tua password. Memorizzala, altrimenti solo il vostro insegnante potrà comunicartela.", + "resetPassword": "Azzerare" + }, + "addStudent": { + "title": "Aggiunta di studenti", + "pseudo": "Nome utente", + "addStudentButton": "Aggiungi lo studente", + "addStudentByCsvButton": "Aggiungere un file studente (.csv)" + }, + "addStudentByCsv": { + "title": "Aggiungere studenti con un file .csv", + "description": "Puoi aggiungere uno o più studenti in una volta importandoli da un file .csv. Opzionalmente, è possibile impostare la password per ciascuno di essi. Ecco i file .csv di esempio: ", + "csvTemplate": "file modello con password", + "csvTemplateNoPassword": "file modello senza password", + "importStudentByCsvButton": "Importare gli studenti" + }, + "exportCsv": { + "title": "Esportazione in formato csv", + "exportLearnersDescription": "Scarica la lista degli studenti di questa classe e le loro password. Il file scaricato è in formato .csv.", + "exportLearners": "Scarica l'elenco degli studenti", + "exportDashboardDescription": "Scarica la lista degli studenti per questa classe e, per ognuno di loro, le attività assegnate e lo stato di ogni attività (non ancora fatta, da correggere, completata). Il file scaricato è in formato .csv.", + "exportDashboard": "Scarica il pannello di controllo" + }, + "listClass": { + "title": "Passare alla modalità studente", + "description": "Puoi facilmente testare l'interfaccia come studente e tornare al tuo profilo di insegnante in qualsiasi momento. I tuoi progressi come studente saranno salvati nel tuo account demostudent.", + "switchButton": "Passare alla modalità studente" + }, + "changePseudo": { + "title": "Cambia il nome utente", + "description": "Cambia il nome utente", + "validateButton": "Convalidare" + } + } + }, + "login_popup": { + "title": "Accedi", + "details": "Inserisci i tuoi dati di accesso per accedere al tuo account.", + "form": { + "addressmail": "Indirizzo e-mail", + "addressmail_placeholder": "esempio@dominio.com", + "password": "Password", + "password_placeholder": "La tua password.", + "forgot_password": "Ho dimenticato la mia password.", + "btn_connect": "Entrare" + }, + "success": "L'autenticazione ha avuto successo. Reindirizzamento...", + "error": "Errore. Per favore controlla i tuoi dati di accesso.", + "errorBeta": "Devi essere un beta tester per accedere a questa funzione. Contatta il team Vittascience per saperne di più." + }, + "signup-popup": { + "title": "Registrazione", + "notice": "Completa i seguenti campi per creare il tuo account Vittascience.", + "firstName": "Nome", + "lastName": "Cognome", + "mail": "Indirizzo e-mail", + "telephone": "Telefono", + "password": "Password", + "passwordConfirmed": "Conferma", + "firstNamePlaceholder": "Il tuo nome.", + "lastNamePlaceholder": "Il tuo cognome.", + "mailPlaceholder": "Un'e-mail di conferma vi sarà inviata.", + "telephonePlaceholder": "Il tuo numero di telefono (opzionale).", + "passwordPlaceholder": "Minimo 8 caratteri. Maiuscole, minuscole e numeri.", + "passwordConfirmedPlaceholder": "Ripeti la tua password una seconda volta.", + "mandatory": "I campi segnati con un * sono obbligatori.", + "submit": "Confermare", + "back": "Indietro", + "title2nd": "Per favore, ci fornisca alcune informazioni aggiuntive", + "areYou": "Sei...", + "member": "Un particolare?", + "teacher": "Un insegnante?", + "teacher-grade": "Livello di formazione", + "grades": { + "primary": "scuola media", + "middle": "Collegio", + "high": "Scuola superiore", + "highbis": "Scuola professionale", + "higher": "Post-BAC" + }, + "establishement": "Stabilimento", + "establishementPlaceholder": "Cerca per nome della scuola o città.", + "subject": "Materia insegnata", + "bio": "Mini-bio", + "bioPlaceholder": "Parlaci un po' di te, in modo che gli altri utenti del sito possano conoscere meglio il tuo background :) Massimo 800 caratteri.", + "profilPicture": "Foto del profilo (opzionale)", + "allowPictures": "Formati accettati: jpeg, jpg, png. Max. 10Mb", + "allowPublicName": "Accettate che il vostro nome e cognome siano pubblici sul sito?", + "allowNewsletter": "Vuoi ricevere la nostra newsletter via e-mail?", + "allowAlertMessage": "Vuoi ricevere avvisi via e-mail quando ricevi nuovi messaggi sul sito?", + "allowMessageReceive": "Vuoi essere contattato da altri utenti del sito?", + "eighteenConfirm": "Confermo di avere più di 18 anni (articolo 1124 del codice civile)", + "confirmCGU": "Convalidando questo modulo, accetti i termini e condizioni d'uso.", + "concernedAboutPrivacy": "Vittascience pone la sicurezza e la riservatezza dei dati personali dei suoi utenti al centro delle sue preoccupazioni. Scopri la nostra politica di protezione dei dati personali", + "errors": { + "mailUsed": "La mail {{ mail }} è già in uso. Per favore, scegline un'altra.", + "mailUsedServer": "L'indirizzo e-mail fornito esiste già.", + "lastName": "Il cognome fornito non è corretto.", + "firstName": "Il nome fornito non è corretto.", + "mailInvalid": "L'indirizzo e-mail non è valido.", + "passwordInvalid": "La password non rispetta i vincoli di sicurezza.", + "biographyInvalid": "La biografia non è corretta.", + "telephoneInvalid": "Il numero di telefono non è corretto.", + "profilPictureInvalid": "La foto del profilo fornita non è conforme al formato specificato.", + "establishementIncorrect": "Il nome dell'istituto non è corretto.", + "gradeIncorrect": "Il livello di insegnamento non è corretto.", + "subjectIncorrect": "Il nome della materia insegnata non è corretto." + }, + "success": { + "main": "La tua registrazione è avvenuta con successo! Un link di conferma ti è stato inviato a {mail }}.", + "notice": "Devi accedere a questo link prima di poter effettuare il login. Se non riesci a trovare l'email in questione, controlla la tua cartella spam." + } + }, + "switchAccessibility": { + "title": "Accessibilità", + "theme": "Tema", + "light_theme": "Tema chiaro", + "dark_theme": "Tema scuro", + "font": "Polizia", + "basic_font": "Base", + "know_more": "Leggi di più" + }, + "words": { + "send": "inviare", + "settings": "parametri", + "disconnect": "disconnessione", + "help": "aiutare", + "duplicate": "duplicato", + "delete": "cancellare", + "attribute": "attribuire", + "modify": "modificare", + "optional": "opzionale", + "evaluation": "valutazione", + "exercise": "esercizio", + "return": "indietro", + "anonymize": "anonimizzare", + "days": "giorni", + "hours": "ore", + "minutes": "minuti", + "seconds": "secondi", + "confirm": "confermare", + "username": "nome utente", + "password": "Password", + "yes": "Sì", + "no": "No" + }, + "faqTeacherNeutral": { + "title": "FAQ", + "1": { + "section_title": "Attività", + "question_list": { + "1": { + "title": "Qual è lo scopo della scheda Le mie attività?", + "answer": "Nella scheda Le mie attività, sarai in grado di:
  1. Creare le tue attività.
  2. Poi assegnarle ai tuoi studenti!
" + }, + "2": { + "title": "Cos'è un'attività?", + "answer": "Un'attività è un contenuto interattivo creato da Cabri Express, Cabri Smart o da un quaderno Cabri esistente." + }, + "3": { + "title": "Come creare o modificare un'attività?", + "answer": "

Puoi creare o modificare facilmente le attività.

Per modificare un'attività, vai alla scheda Le mie attività e clicca sull'icona della tua attività e poi clicca su Modifica. Non dimenticare di salvare le tue modifiche.

" + }, + "4": { + "title": "Come assegnare un'attività?", + "answer": "Per assegnare un'attività, hai tre opzioni:
  1. O vai alla scheda Le mie attività e clicca sull'icona della tua attività e poi clicca su Assegna. Poi, dovrai solo seguire i passi.
  2. Questa opzione di assegnazione è disponibile anche nell'attività stessa una volta aperta.
  3. Oppure, vai alla scheda Le mie classi e clicca su una classe. Una volta arrivati al pannello di controllo della classe, tutto quello che devi fare è cliccare sul pulsante \"Aggiungi attività\".
" + }, + "5": { + "title": "Come testare un'attività?", + "answer": "Per testare un'attività, hai due opzioni:
  1. O vai su Profilo e clicca sul pulsante \"Passa alla modalità studente\" e poi seleziona la classe in cui vuoi stare. Vi troverete sull'account fittizio di un allievo chiamato \"demostudent\", potrete scoprire l'interfaccia \"Learner\" e svolgere le attività che avete assegnato.
  2. Oppure andate su Le mie classi nella dashboard di una classe, potrete allora mettervi nella pelle dell'allievo demostudent. Per fare questo, clicca sull'icona , avrai l'opportunità di diventare uno studente della classe e provare le attività.
Per tornare alla modalità \"Insegnante\", basta andare nella scheda Profilo dell'account demostudent e cliccare su \"Torna alla modalità insegnante\"." + }, + "6": { + "title": "Come rimuovere l'assegnazione di un'attività senza rimuovere l'attività?", + "answer": "Per rimuovere l'assegnazione di un'attività, vai alla scheda Classe, apri la dashboard di una delle classi, poi clicca sull'attività (l'icona diventa quando ci passi sopra il mouse) e poi su Modifica assegnazione. Tutto quello che devi fare ora è cambiare le impostazioni, selezionare o deselezionare gli studenti." + } + } + }, + "2": { + "section_title": "Classe", + "question_list": { + "1": { + "title": "Qual è lo scopo della scheda Le mie classi?", + "answer": "Nella scheda Le mie classi, sarai in grado di:
  1. Creare le tue classi e aggiungere studenti
  2. Correggere le risposte dei tuoi studenti alle attività,
  3. e monitorare i loro progressi.
" + }, + "2": { + "title": "Come posso aggiungere i miei studenti alla mia classe?", + "answer": "Ci sono diverse opzioni:
  1. In classe, puoi proiettare il codice sulla lavagna. Per farlo, vai nella tua classe e clicca sul pulsante per ingrandire il codice qui sotto:
    I tuoi studenti dovranno solo registrarsi o accedere al sito inserendo il codice. Saranno anche in grado di scrivere questo codice per accedere da casa.
  2. Puoi anche creare studenti con il pulsante \"Add Learner\" e poi inviare loro la loro password individualmente, questo è visibile sulla dashboard della classe qui sotto:
" + }, + "3": { + "title": "Uno studente può essere in due classi diverse?", + "answer": "No, questo non è attualmente possibile." + }, + "4": { + "title": "Come si fa a bloccare l'ingresso di altri studenti in una classe?", + "answer": "Questa opzione sarà presto disponibile! Questo impedirà agli studenti di iscriversi più volte alla stessa classe per errore e impedirà anche agli estranei di entrare nella classe senza permesso." + }, + "5": { + "title": "Come assegnare un'attività?", + "answer": "

Puoi assegnare un'attività a tutte le classi che hai creato o solo a un particolare studente.

Per assegnare un'attività, hai tre opzioni:

  1. O vai alla scheda Le mie attività e clicca sull'icona della tua attività e poi clicca su Assegna. Poi, dovrai solo seguire i passi.
  2. Questa opzione di assegnazione è disponibile anche nell'attività stessa una volta aperta.
  3. Oppure, vai alla scheda Le mie classi e clicca su una classe. Una volta arrivati al pannello di controllo della classe, tutto quello che devi fare è cliccare sul pulsante \"Aggiungi attività\".
" + }, + "6": { + "title": "Si può modificare l'assegnazione di un'attività?", + "answer": "Per modificare l'assegnazione di un'attività, vai alla scheda Classe, apri la dashboard di una delle classi, poi clicca sull'attività (l'icona diventa quando ci passi sopra) e poi su Modifica assegnazione. Tutto quello che devi fare ora è cambiare le impostazioni, selezionare o deselezionare gli studenti." + }, + "7": { + "title": "Come vengono valutate le attività?", + "answer": "Le valutazioni sono:
  • Manuale su 4 livelli: Molto buono; Sufficiente; debole e insufficiente
  • Automatico su 2 livelli: molto buono e debole.

Una volta che l'allievo ha completato la sua attività, ha la possibilità di ricominciarla se l'insegnante ha selezionato la modalità \"Esercizio\" al momento dell'assegnazione. Nella modalità \"Valutazione\", lo studente non può ricominciare una volta che l'attività è stata convalidata.

Per visualizzare i risultati, basta andare al Pannello di controllo della classe.

Un'attività non corretta è simboleggiata da una matita nel Pannello di controllo. Per correggerla clicca sulla matita, poi semplicemente valuta e commenta il lavoro dello studente.

" + }, + "8": { + "title": "Come fai a sapere quando gli studenti hanno completato le loro attività?", + "answer": "Quando un allievo ha completato la sua attività, riceverai una notifica via email.
Questa impostazione sarà regolabile in futuro, al momento non è configurabile." + }, + "9": { + "title": "Come cambiare il nome di una classe?", + "answer": "Per cambiare il nome della tua classe, dovrai cliccare sull'icona della scheda Le mie classi, poi su modifica. Tutto quello che devi fare è cambiarne il nome." + }, + "10": { + "title": "Come posso rimuovere uno studente da una classe?", + "answer": "

Per cancellare uno studente, basta cliccare sull'icona accanto al nome dello studente nel Pannello di controllo della classe.

Attenzione, questa azione è irreversibile e chiude l'account dello studente.

" + }, + "11": { + "title": "Qual è lo scopo del pulsante di anonimizzazione nel Dashboard?", + "answer": "Questo pulsante sostituisce i nomi degli studenti con dei numeri. Questo permette di proiettare i risultati degli studenti sulla lavagna in modo anonimo per non stigmatizzare alcuni studenti." + } + } + }, + "3": { + "section_title": "Profilo", + "question_list": { + "1": { + "title": "A cosa serve la scheda Profilo?", + "answer": "Nella scheda Profilo, potrai:
  1. gestire le impostazioni del tuo account,
  2. visualizzare le tue statistiche,
  3. e scambiare messaggi con i tuoi studenti e con il team di Cabrilog se hai bisogno di aiuto.
" + }, + "2": { + "title": "Come posso cambiare la mia password o altre impostazioni dell'account?", + "answer": "Per cambiare la tua password o altre impostazioni, vai alla scheda Profilo. Nel caso di GAR, le impostazioni sono quelle del vostro ENT." + }, + "3": { + "title": "Come si cambia la lingua?", + "answer": "Il modulo Classroom è attualmente disponibile in inglese e francese. Per cambiare la lingua, vai alla scheda del profilo, clicca su \"Impostazioni\" e seleziona la lingua che vuoi." + }, + "4": { + "title": "Cos'è la modalità studente?", + "answer": "

Nel tuo profilo, puoi cliccare sul pulsante \"Passa alla modalità studente\". Dopo aver scelto una classe, sarete portati a un account fittizio dello studente chiamato \"demostudent\", dove potrete scoprire l'interfaccia dello studente e svolgere le attività che avete assegnato

Per ritornare alla modalità \"Insegnante\", basta andare al menuProfilodell'account demostudent e clicca su \"Ritorno alla modalità insegnante\".

" + } + } + }, + "4": { + "section_title": "Domande generali", + "question_list": { + "1": { + "title": "Con quali supporti è compatibile il modulo di classe?", + "answer": "

Le interfacce funzionano senza installazione, su computer, tablet e smartphone! Gli aggiornamenti sono automatici e i vostri programmi sono salvati nel cloud.

Per approfittare al massimo di tutte le funzionalità, ti consigliamo di utilizzare Chrome o Firefox.

" + }, + "2": { + "title": "Come posso creare un collegamento per accedere al modulo Classroom?", + "answer": "

Hai la possibilità di mettere un'icona sul desktop del computer per accedere rapidamente al modulo Classroom. Per fare questo:

Su Windows e Mac:

  1. Apri la pagina: classroom/, poi riduci le dimensioni della finestra del browser in modo da poter vedere il desktop accanto ad essa.
  2. Nel tuo browser web, usa il mouse per selezionare il simbolo a sinistra dell'indirizzo e, senza rilasciare il click, trascina il puntatore sul Desktop. Rilascia per creare il collegamento.
  3. Il collegamento viene creato. Dovrai solo fare doppio clic su di esso per aprire la pagina web collegata.

Su Android con Chrome:

  1. Aprire la pagina:classroom/, poi premere il pulsante del menu, quindi selezionare \"Aggiungi alla schermata iniziale\".
  2. Nominare la pagina e premere \"Aggiungi\".
  3. Il collegamento viene creato. Dovrai solo fare doppio clic su di esso per aprire la pagina web collegata.

Su Android con Firefox:

  1. Aprire la pagina:classroom/, poi premere il pulsante del menu, quindi premere Page.
  2. Toccare Aggiungi collegamento alla pagina.
  3. Il collegamento viene creato nella schermata iniziale. Dovrai solo cliccarci sopra per aprire la pagina web collegata.

Su iOS con Safari:

  1. Apri la pagina:classroom/, poi tocca l'icona Condividi.
  2. Seleziona nella schermata iniziale, poi tocca Aggiungi.
  3. Il collegamento viene creato nella schermata iniziale. Dovrai solo cliccarci sopra per aprire la pagina web collegata.

Si possono trovare altri tutorial su internet per creare un collegamento sul desktop.

" + } + } + }, + "5": { + "section_title": "Problema tecnico", + "question_list": { + "1": { + "title": "Ho un bug, cosa devo fare?", + "answer": "Quando si verifica un bug, la prima cosa da fare è cercare di aggiornare la pagina. Se il bug persiste, puoi contattarci nella scheda Profilo con il pulsante \"Aiuto\"." + }, + "2": { + "title": "Come posso segnalare bug e dare feedback?", + "answer": "Se il bug persiste, puoi contattarci nella scheda del profilo con il pulsante \"Aiuto\".
Per darci un feedback, puoi anche contattarci nella scheda del profilo con il pulsante \"Aiuto\"." + } + } + }, + "6": { + "section_title": "Licenze e permessi", + "question_list": { + "1": { + "title": "Possiamo fare una descrizione o una presentazione del modulo Class?", + "answer": "Sì, puoi riutilizzare le immagini del modulo Classroom per creare una descrizione, una presentazione, una formazione, un tutorial, un corso o altro. Se vuoi includere immagini o contenuti di attività, menziona l'autore (vedi la prossima domanda)." + }, + "2": { + "title": "Dove posso trovare il codice sorgente del modulo Class?", + "answer": "Il codice sorgente del modulo Class è disponibile sul repository git OpenSTEAM-LMS, sentiti libero di contribuire!" + } + } + } + }, + "faqStudentNeutral": { + "title": "FAQ", + "1": { + "section_title": "Attività", + "question_list": { + "1": { + "title": "Qual è lo scopo della scheda Le mie attività?", + "answer": "Nella scheda Le mie attività, potrai:
  1. completare le nuove attività dei tuoi insegnanti.
  2. Salvare quelle che non hai ancora finito.
  3. E rivedere quelle che hai fatto!
" + }, + "2": { + "title": "Cos'è un'attività?", + "answer": "Un'attività è un contenuto interattivo creato da Cabri Express o un'attività esistente." + } + } + }, + "2": { + "section_title": "Chiama aiuto", + "question_list": { + "1": { + "title": "Qual è lo scopo della scheda Call for Help?", + "answer": "Nella scheda Chiamata d'aiuto, potrai:
  1. Richiedere aiuto ai tuoi insegnanti in qualsiasi momento,
  2. Consultare le domande frequenti.
Potrai seguire lo scambio dei tuoi messaggi nella scheda Profilo." + } + } + }, + "3": { + "section_title": "Profilo", + "question_list": { + "1": { + "title": "A cosa serve la scheda Profilo?", + "answer": "Nella scheda Profilo, potrai:
  1. gestire le impostazioni del tuo account,
  2. visualizzare le tue statistiche,
  3. e scambiare messaggi con i tuoi insegnanti.
" + }, + "2": { + "title": "Come posso cambiare la mia password o altre impostazioni dell'account?", + "answer": "Per cambiare la tua password o altre impostazioni, vai alla scheda Profilo." + }, + "3": { + "title": "Come si cambia la lingua?", + "answer": "Il modulo Classroom è attualmente disponibile in inglese e francese. Per cambiare la lingua, vai alla scheda del profilo, clicca sul pulsante \"Impostazioni\", poi seleziona la lingua che vuoi." + } + } + }, + "4": { + "section_title": "Domande generali", + "question_list": { + "1": { + "title": "Come usare il modulo Classroom?", + "answer": "In qualsiasi momento, puoi accedere all'aiuto generale cliccando sull'icona in alto a destra per iniziare il modulo Classroom." + }, + "2": { + "title": "Con quali supporti è compatibile il modulo di classe?", + "answer": "

Le interfacce funzionano senza installazione, su computer, tablet e smartphone! Gli aggiornamenti sono automatici e i vostri programmi sono salvati nel cloud.

Per approfittare al massimo di tutte le funzionalità, ti consigliamo di utilizzare Chrome o Firefox.

" + }, + "3": { + "title": "Come posso creare un collegamento per accedere al modulo Classroom?", + "answer": "

Potete mettere un'icona sul desktop per accedere rapidamente al modulo Classroom. Per farlo, cliccate sull'icona:

Su Windows e Mac:

  1. Aprire la pagina:/classroom/Poi riduci la dimensione della finestra del browser per vedere il desktop accanto ad essa.
  2. Nel tuo browser web, seleziona con il mouse il simbolo a sinistra dell'indirizzo e, senza rilasciare il clic, trascina il puntatore sul Desktop. Rilascia per creare il collegamento.
  3. Il collegamento viene creato. Ora devi solo fare doppio clic su di esso per aprire la pagina web collegata.

Su Android con Chrome :

  1. Aprire la pagina: /classroom/, poi premere il pulsante del menu, quindi selezionare \"Aggiungi alla schermata iniziale\".
  2. Dai un nome alla pagina e premi \"Aggiungi\".
  3. Il collegamento viene creato. Tutto quello che devi fare è un doppio clic su di esso per aprire la pagina web collegata.

Su Android con Firefox :

    1. Aprire la pagina: /classroom/, poi premere il pulsante del menu, quindi premere Page.
    2. Premere Aggiungi collegamento alla pagina.
    3. Il collegamento viene creato nella schermata iniziale. Basta cliccarci sopra per aprire la pagina web collegata.

    Su iOS con Safari :

    1. Abrire la pagina: /classroom/, quindi toccare l'icona Condividi.
    2. Selezionare dalla schermata iniziale, quindi premere Aggiungi.
    3. Il collegamento viene creato nella schermata iniziale. Basta cliccarci sopra per aprire la pagina web collegata.

    Puoi trovare altri tutorial su Internet per creare un collegamento sul desktop.

    \n" + } + } + }, + "5": { + "section_title": "Problema tecnico", + "question_list": { + "1": { + "title": "Ho un bug, cosa devo fare?", + "answer": "Quando si verifica un bug, la prima cosa da fare è cercare di aggiornare la pagina. Se il bug persiste, puoi contattare il tuo insegnante nella scheda Chiamata d'aiuto." + }, + "2": { + "title": "Come posso segnalare bug e dare feedback?", + "answer": "

    Se il bug persiste, puoi contattare il tuo insegnante nella scheda Aiuto.

    Per dare un feedback al tuo insegnante, puoi anche contattarlo nella scheda Aiuto.

    " + } + } + }, + "6": { + "section_title": "Licenze e permessi", + "question_list": { + "1": { + "title": "Dove posso trovare il codice sorgente del modulo Class?", + "answer": "Il codice sorgente del modulo Class è disponibile su il repository git di OpenSTEAM-LMS, sentiti libero di contribuire!" + } + } + } + } +} diff --git a/classroom/assets/media/cabri-logo.png b/classroom/assets/media/cabri-logo.png deleted file mode 100644 index 1b81a9ff97a12a1dc2ac694f5a1bd0162ae134c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15023 zcmZ9zQ;;q^6D~ToZQHhI-mz`2v2EM7%{8`dd)C;ty}$qFoZ9>1dAgJIMbb%Cs=Jd& zMR^H$7#tWNARu@tNipUBWXk^l1@Rxd@&PUXCxD%mB}9N~XYtPeYjBxrN}0*Y0nz-Y zLjeJYTLOXo&*VSg{0AT)kOGkZuP3Dd^#9lYH<;yL*#iW`LoOvItm*-L?F;RJK9*|d zx~uoeK#U{;(r`N(a7e#%0LL*p3NaR$E|n9>8YxGS%=!3mB8Rf$ZE#|`lb%V3AT>Vh zXmdCXW@9tv-7QoPug{bLpc6qs5yAcU+U3^wTUXuNnN(YQ(_=Bh(|Xpst+ukF=AZ9; zk)xs}BDC0`EMD&uGO?hzk$rs{_jP|*fcNb6QTl5W%HdAZ4Jy6Ne9Ogks&bc;KL_E_1$ z4_-ms`O&1)mbJ8KUI!}iuM%p+j6M6Q)RX&$SDk_7*K6)m1hO-v?ApU`>YF!=>OjTQ z6GlRXyU7Ds_jsDs!#%z|IBi-LL;wt~&lu7{1 z!n3{!X8@ zu0LezyBmsrTYh^k7YyzwEuO??S3$3lIx(D~?|C;r1A+P#Nd7q+1KpAWz`Q^=zwdGm z%~4$hVyP$J29{BKS)T9d;e0Ad5=s#@-5gp;V4%@WB8xCnLSv?P?=izrzLGQFds#SR zOZwiuKxh5mzUx&3zL^maIG*CZ!V#DvPvSs^|Ib98VeZoc2!{>L~o42itBo8SNG3{RN%_ zIuCY#w}FR_)vknN&bA0sG_-mIW`YD^`1!eKZ!mq8vCSE+l6W1()}4DP$BdL}6C|wEN>YtFuGt%Of=(ITKC!ua|1QU5nn~4M4b_IR zStfo*_RR@`#b#|6Z{vRJ*`gj}i zJzFAVA|nI&QuB8c(SIlf^qg9Ja!wBaJzrU5ONF-oYk;KwfnD9M|D zW#kQBk{^ClU@!1-y|JviKm<%kNg<7_Jm;kga$9!JZ`cwi9N4Hgkokv=OG%+bB6tG{ z?ennkvTNPhKW~BD|0^^B!4uDrt@1lHjqb6}r&Gb@?Udbo?Y{Nht5TEBSvgqi^M<{0 z>hO)f{*=tIwn`;I#`^Bl>-?mw^Sh*l-_PStyz%V>E{#~$CzssyZrp0?yUGDmE*hdZ zQOKt_IWZHh0k4!w;PxB9?1ddL9WHE?hNh^VD6!RVT5j_(s|7z;ejN5Dq&3CNnh{+8 zHn+Xb@p;Xy#*ne@UOHUy`@I?C=^qxb97xz3*pA=&)P19r>+VX2E8wu*%$z^J9G>63 z@N%8%xlUwj0W6^+vyGKZ{wzw<4ku8JPoPyt!+^^|21i3tmwZqLXP{8dtwpG;xIRFn z*w|X`ux-o&xUtjvI^0@bE5E~^8QOIIT3V))D^J^cTldwqwt%{U_SDKe()qeh9qmgG z&?5<>f>Y*uoccdM=5HRPH0OiBx(kcVr-^0HZ0eC*?`X8u99q~&c7B`l+Vv}b$x#T6 zMdPN^qg6sX`Ym7(bK+>ey_cCayuMkg0v~dt0J&{WhUQtHU`Waj%Lq{E@Dm{BL1%YO zlyqz9UU*)6KtHon4hm}Y)F1Dl%5q{?=ELRNFgkoH5GXWcqUwWXa1`DMfjkid2r#u% z^8j)1oVT^U=j4*{1I><`aZ~pX{$d})YyoE<y9m$ZZ+)oqrOO&@$GJGBBOeZi{W#~)z04TAtV$V zr`Ie~yLuchXJp3?SL;6a?rQ@=88)qH!T_lwmF~Y?HkI`{K_IY2N74g5d5IZR72(hA z+ep@aTVL$r&X?(oE?P5Yxobhu_Lq*Hf>hN>ALua%^j#db7m%%cjg(WKeWQ7Fsb>7d zn*`t%P(<{k%mM)ss{|Sf^4d|7jT=7g2JOtnXZawv;0{^`H3~tve-_Ccwh!I|bx0jW zM9syONksH~4nl`01Iz{Wc>DT4df?YCf1SUdqh^c|nz`FiQJ;)uJJ7}F;d`_wu8HrQ zlF#9}ia;q7YQv`<$|0-tSGR7y?tFra+j~dSk`u+NiQYng#y_q%OZhf4v|I$amae<~ zj=#7`cI>bUK>@l?6W!+hV_+PbQmiHU=$QIee-0Sg47K1VJro9g6qwe zOC_t;l;i~k$-~8hWH@Ez6u2?{?zJtf^Vm&|tTT}a;h1|9ja~3J|3F${h!rvVjKR-wJNstv!W*@jOg7W&NQX~rB2a#U%bwfg=B zzpBZXYb9VQYX?DytG9Ha2V~E2@@-?6_XBE+64JzQ$$rW|qeYS5Tnf@rP0`#-XGetm z+PwCyY@$!?JqMWf*O>kuzo;=^eBT5SonBpA1mLK`pj>g74qY4<&*l#H;Ja34wK8B9>+g}0SzoOEsKLkXB%fBzbW&txXUR0Z z$`5+_|F@KerM&NxZ^nHGtX4eN&1^`Yr|_96S%`X7YM4xj7oy$s$Cbvzv;51`Gt(eu z3Mc8Vkw2pRP#=DV#%hbnNq=IIB2Fczs4j4OC##bW^QB;^*y?UjdnFtka_wz7zwd{N z@fIqr&CFC5QU$uDhsl&Y6(ZdYRZnkg?r$)h9i9dQCi^+e8nx-rHr3aKVv$DzR8c=q zOH?OgDSU7CArZFjqwx(i*uUGtX{zXR<7sAc{ z;I5I@yzl4Lk&TU17=$Agx@-Jib&GIPn9)EYB_)CN{ri|omr9o;GmUl2BH)VK z%muFGJ99Lzvi3E-})64h^AJTvILi*i~3*@J89m7a{x)p%(8)Xx83G* z2^_#4-TO)cLff<)>icGxGj8AmKhoXYw8P`4)?myCuHT;Ckva4?BoooW5>n&j=!&MT zuBrGUEWqdm@r8}fv2?zpSw?J0eP``P+W+V(pQ5if8Bnh#RDRu1zx~&e$$Wn(|KBaS zo|JC8Yd7IOW*?&ZZt%t(FX|e11=lpt-o`;ABuMxbOI!`|nWFAmsKm%^AQ~+QOhW$) zwrCz@W~nhptEi0U<_S;C+-qx(zemHQFQ;^J#DEO3cYC`O0 zY|41cjAwmIz*|Z_y5Sl?kbxxKwnY7}v$GK4BJ5KV+@l%b$=$1y zHmk9p1^oC78go27Dan3ZUhXl+(W%9m|Ef-W|b)TM^RYQW6fQ}H+EJPAurmfuFL`1(3 zhFs8p!IX!Im|stn7sYCtx7%~vn;yIv_jyhZP9+vsBNCdhY?e?eC|IxEAWM zhb6Ey=Hpu|rlD|jq;$p+cE!Id%cXA0>Z%oj_|4^o!y^MK1azpe!U)kIg2G6DZ?~zQ zT?t{|P;hDd-DDYPMYel1W|E}DOw`nF;Q(m``Fj0KJ_U)VMuefVy4DW0WsbHCq$pJB zwr?zZR3Ts=` zbQ2Izj9;7_3$R)Tef|1zlf(+va`k;iVL3V3`AcnW?mpnCG`H$`*<<~ti>vb&w%>Qc z8$v^1{6Lsk5#)uoA1YO2vZ&^&4;;7n89KF?h-k8m$x9qD$JF0q|Jy(3^*@3q13`bF z(pV+Xn>h^^?+SQ~IpWtYADNHJAYlu0x1Rqp=HjMU1R1pd0Rj*8;RYVjqF+EtO-Syc zEoCBn!m7*&Q8tTlQpl}Cg`Ap=B7+n$!BWR71YS9YB}AHE*ro^I*PQE*Y%SRE*|Xq_ zPFzf={tD@FM`j4N*9x(PAR+I=WF4dohmH)Q&4bgv>^J?vi?V=x+na|^?);@k6w~Lj zx;;;n<_MCFcK3bE&fQ;>U-nLiC}0}F<0m%pK`jPD8xXbKDL4ja9m>L!&#N2h1nOnqlMVD6!vGnF4^OKcextMOFKZN%uhGa8l= zazu`?h=7={#+XLWFr?-RG;GggX5+z0NzFl9_<%B$FIw90KdDy=b9C|U$+Ihm<<+A; zHFzImT*F?Y+`LcPQ{xqNG1Jz+P3XUxy0mHY2BWFPGEx@KAX$4fa& zfNIkmX2>G7>emYp)2*8XHEBG0&M1V-@eSC^!wB(vA5BYN2|3UXV%A}f9EWD}7#ZyNqOBO%PX+&4!W4<>%Ks{z{x5h18=l|S&@&(s4_03PkYcMc4XBI@o zKT8paW?ifV=R`sl`P1@L(m!3S8Qopsqk7DvmuJ+WLT(1_-7WAU96Mve*jo`UpD=9# zQE?6FD%06=g^@ha2;)X~E9Ohyt6_g} zY8_o#k37BEjXnV7nl zK-w5>OB8fA-l2U@OhP|r!tdY`N0$_6zkoEgPdLDj0(5#oGjuMGm3mQLZFQt>b%*^O zzTWA2fIVMiIb6_O3{!C$Jykcl+A)`n#!io!jJ8w+=LcJ5zL#R{O;}rlahsldsA}Vx z`@<`rYZcgj*ou{?47-ZH?tF!Yp)w**FfK-je^|Ik9L3tex6fANWgbZ)kh|ZroEt`3 zBYpL3q3j-%S6Z_5vP7BobAC(EFEBDxr8k7mfAhK#S1baCTC?sS=vRzZMiKEw#OT|M zNCrs^`7iu0-Hw0~g$_O(cvLswk8wC9>0m)oZzOGY|C*bYSoJqc*jKEAJe(FjY{2Ak zKs))B!!S=P@f$+*XPDfi+RF=Oev{m6^XLCaz zH%$|<0hhWTs^)w2e0t3zOHu*j$Sf50`tRhz(t%)u#}_tGSV|aviIa-T(T>{>Hp3MT zn6dX(MDNpNthbpVXYf81LQ^#I5Is)ebT~&3k^|_gke#el?t0d8A(~KXXy@<9MYfNAkO#O>7o3FFo?= z^*YlO`#F(O4+lgl$GTP_!?-{AvXx`6tph1 zfgT>B^_*V9+t%mI@LOM6pGwqAI|KU|p`IUyI~VcpAs>*#w&|c~BxfYpgB6ozwOd4YUuP$b&6Rx2V%C7m9V~#o_?^Tz=HrgYOQ8ZomTEXaG!Yidaj9$|iZ$@CT=b}m{ zi}TEfyDMnp(tX1X4=fl2MkmrB=khS)d++nWR6yE?udZq;`iEDg&$lz1YJNZh*u7ds z+<4X|k7U!9POF|pOU*l8ehOws$-k2qVF+aLVv~5`CD0ml37e5{t)}=B1}0ULUwG2I zwghx{?t2AE0=!-nJq0MXf8BX;Vro2U^}Vszz(xxpj2GPuSt??k(~`npQTw&z!D$*#vi zo8nFSJWEa(k1jS;(2nuY1sA)9$)lVdYY%|FVJdVck^mO1mTRnq(o;&rbugYF>Br<~==%}otVJYhb1OzkU$P)8v78Xuh|8E)kFUMT5r#7`EDFZ60Um{~OcBQ(K;CjPJTbw5@pMM%z4UKX z8N^9#NbWh*m25*mlrHq=R-{?XNzi~;+?$kED4UY(oMduqomUK#AeUBAtGla-3?^W{ z9VhB=aYuDye%&7Cs{j-40A#4Zk~A4r7X7{>HeTQvlnj1bQZ$7*E4>)=Lb&C=^2Ga% zq7un{Ve!6-Cvau`568zm1ZubLTYOEPKlD0RqJbA*oZD3pHjdA?46z0`;_UNIrLyCf zE<4Z}#(xRW@rRFcysv1X12E7|6%g^joj+)W>l|`X%B$d;T~WoysYL{}cnQ*ak%lm< zl|lLaoxI42ijms_=7x8|(Y|cMUp{8Xp%e_f-wN(u2a&(S;?m>`Da_iICJ@Vc{GAxm3uZtE)NK%HGFDnv7rNB z*+Pl9en9;=UN{}LJmQu6W!l(F$I$<*Y@GOEx7cwg*)C<7Wl+Uzt-Am#a=&3Rm!dsW zng-FCY69-fPj&r%2APqGdd+wjJxMV4TZP6zAVUX7f0UNCNJe&|27T5O@stC}+bzN* zL!hFYj2l7vhn{kdje!`GMh_}ta!yi7DM!4`X-qNF0(&Axg0Q)rAeaEyOIZE`Mf7jj znsyR7K;^J42hw;KnSsOtfE$NrliW!rkmJPRSCYG-K&EzrQEp+~C?`djQwoEL>zx?y zL)Vy0(Lm-cA-1yN`tV!IQ>&v-hMY{wGEu?|L4I70EVK<|M|_9^nL(ISQ+ zF4r4H`5s!_UhcSQ8V0sWL4*ltunQhMw1mrd-qk*Bm|{k~2$ups)!hrsg@HMDAfc^> zz_4-2NY{g%v0SE@167dBgACWmFeadc38j!CtCOxflLrtOC$mcMqCf3*j)tHO`}Km6 zF}zvn+2ppYFzw19LTs$$Mq)v?5CX}4xP?%ZploX$tyQ>r$eD`%;C^Q;p z);{Lq5yoq-(2Mhxg9fqTJCZ`C!hEZuM{7bMPEDk=wsK+{Od%uee+Wpi*@CkTxSdb( zSJBZ!cftlFxhBUlxY5G?Izv}joP%jTt-wYzDN7}H${~<&E%nEazeq$^R5R`Pcy;=- z5<8_{rq5!^Yj*I?SF&*{QX2DlQIUd6#2`2@I-!S;(9pjvXm*SCU;;=dBDnUPX>qfG zRB@Mq#4Lp*U;sYp92qn?dyggKIl=UjOdEklT+un(AC=qrIo+Oz58&TuPh+n+E!m6z zs$vHu3L`)A$hyi`5YKpMcVI0pP0}%)H6}fusM^{(oudW!6f?qVxns#T z{R0`(?fA^TWE{zQR0O9v2=nM9f(K4sn*Fm-m498Z5 z46+{*X<_9NG(>Nz^#p2b9>9E7&+XgG%{4n<41?Q}mPaV4q5AFch;?vc^v^}iILeU5(k5O1T{R-68|%wAv2S)S<-ZEnp8I3OO1&Uc$qa%mNSB{6(J!guQ5+`*vqoa{WP5f&Cb+6sM4 zSLvR^^Y3uLMyT2O(x!i>DqFD5J&&z&4(Hm|26e5jBAN%n-{)rSI_l}*UiNhYG4f32 zhf=v~&2@G;ngKZ~XODw!LE^v}a~$b*L4(`!$j^)_rnUETjOPXK@fyD7yo;2 z5$?ms>xD2(NU99m$U+LUwm%%+Kt$`tL&tekwMbntLGC0+JUiy5K8_#BAz|0-z|;hu23R7TFI3rB z=kwSTG#LPNGw8lz@2hnaUu{7Q*c1VPcUIG$&j$nnQunGG_)V<{`fY}=bq=&^OHJ_d zjxpbw$PZGudg>wUG|WprWo&G;y-f@Q;CQ_~Udob86ELj8M2Y=bN)BA< z5ngB7%kd(}&-BwmX~uZChSA&`z8tNJ=cGLx@UymXt%jD0t&aRll8@Nu#s`YiF>8#W z^rTZ%6~F`L_=;TR0}r_o@;T$nz$WC8y&XLfXR@OXU(rb60|mIXKTq6F9`Z#=`b)SS zmPaO9F|nsR%zkBJ{a_6wne*)!E_(WdvX*Cs60_>k^(>l9=u3w)cXbX`{FnGw1--t< zgBj11#l546gxIIx%kHn!ZTJFmt*7qYIM89-qr-)o6lM^FrP9li^s^e=oXieko8#EXp`uoq$LeB(}qm&_su}95p)?~ z{qNQVI_MhepoXVn&>TE45UAIt0PY`)1!C!#4=0o~ZIH40PdXa>StX_EfWheAAteG^ zxzkPNGf~kaliWay-iHb+9+Ak(O}5v60Vjo|KaSfi#1gKFd~vrtq}1{k=AoijBvI_k zkoTnm_ZUKR0b}inW>^5-yh22?xXd@K%&glWst>Fk!OPztXStW>euW! zyw?BD^X>*&tm7?~O^yibNc%jhC+O_-I1KnaW{!YcK@ei5+az zaVect+e-se9nK4aOCD0@U>qfoMJ28y*vo>euSTip=(6WJq`$Ks3GZj)2@1T58Z42aZ{RVzyq7BFcZ&u}Tq{IYA6%y)KVS6;z=FMzAlS(mX6iTt5rOXFl#@?c>NO=C(} zd96$9s8q_BcNjRzVwXun_Mvx(BW}Ll>gb>Aht8`cg&PTXKqbtJO_=KcyN8PY+@yPl z3ldy+d6#ZEehJ`uQ1rB%YgAJOYqY$3@-BNn)kZ1VScjAOTY+ZH-gcJ3u9Bfd5vdy< za0n@(gY}(nC>iKpA}?W(gDHV89MIZoX5>s#G+YJiuAf#RQlWs3ckc>>xyD1Zw<@fw z@(U~Rpm%w>K$$Bd+-1qpWrM5W*1GqJAc68ESz=+OiWN!Y=s^CG!*7k5`iwaDdlxWX zOEtvDENXvOzPR8pyU_%=eC8}LdI)Ozn7dEXQV^h~oB2LnQv2O*3+3EK!vAinw3yD> z!Vp4;d7FPk@)qpN%FI<j~wCKHc za}XpNi1NIXvkGcH1K9OgfzY@A=((f{6sO+<6l7XSn`Zs45XjWd7Tqjl4}r|>Loom+ zgJanql>&vV?=epD>rPau=~yQ?5Sd2hmR&_5UUH{RfsDxhnv)QtH)Wp`Ehw5bU`Wx- zX8$2YwLw-T#9)@#3D(zZI~x=!ti zw>?$P3a+|T;+HW4H>@r-FX?nCwe|IwS6zKzls7gCkK@M=-tqM+)6b7b2wW#Eej{{aq|}m zEtbsM)`Qf3Y9=4?Oqjx9ss>*H+6g?V=c@+n!U3KUb?i;y!n$q}vC?@0Wx;Pn&G#Bp zm*6S)W<(|gJKCwFDAp<8SDb41t<12V#K%s=iz-SXO3a7vNV>)UGq#YMR!B@Q(SJYU zUJDE@sjtUxrK&$q8X~5VSK~#{k4a3L1CCW-S`r zEuvR#Jpv<`J%%1N84?T`tSsSo0qpI5dh}$9C4%=#e#ZMKOl;qElGP8sa*PJkzEy#I zVHW18p&!#awhEqoSa*Imy@2}H6%R+7fR2aU9 zCk%s4#^X+^sml!QI9E~88L(-qAErXWJDU%`T-z=)-6x(VDNPJShuLgOF(OBX@N$na zahy#>3eM34Ogm1jj8VK*U3`2b)RUyRs1Yojb25p+z~k1E(FrzDmWY|CuNMYg!oh-L z8Cil@=#8oMn6&#@vG!T&R zLPqYj;1$YwSk(zUYAiPKXcGb+%2}V1E{%8v8;M6u2DCRdni2#lNrV4UWKJMr(qnxD zD7j^EMQb)c-s#WNr-de(H4oDRw2^G1uk5!Qy!?KNJ-|W%;8ea#6p;OBSWDJQ3=jPu z8AgzetIv+e8U($HNY^|9>wi@iX#EUYnLE&<7cgrKHf|U$;mtoS`K$ zf1mS%hAg6x;_l!MT3V~?IQ-%!6M2v$Z}F%tdtkb-jpvAHUR3LRGrp%I;bQ#FYt(Ha z)3AdykEZR)uqElN3;bl1q%?4P=hW9nd*hU>mm67Wgd(S9ucC2PTP!$v#6pv~Yp&@< zKyhFHyhM?^7_U8`lN{R$rbh@mi78sH4h5*IgPTf0QHtzsm;PctaJrb0rpYb#zu zZuDysjOY&W8=%b=744Of`qg@P2R|Ssp)gBDQz^g3iD$;+<(7c*k!3Mp&FU;JQ_LEn zVTB`1{l3o~_3Zictk$B>v~A(Ei!nJ4uOHtJ4px0z9X1vXVC)H96e<*fE=QuuHy9#s z>b>M1JVvJ%MiV+f!Xw+*mZ9W2oGB6^ucE=_&|+0)0>Rn4B_!duUkY0G?29inStR~K zis=pRi;|r81HWe*vpTQIE5#eRu`PSNZVyfnzfvWyTDzo*zCq=eK8gE7IAaWXRFhl` z5d~Rch~#1O>p&o9bUd(}iyryP*yh%20IuymXn&~ajq=Z z$u?&5&}oLX93ZhQJ!|@YfinfKS2V=7B2gb`rTkyCu*BMk5OukVB^l0Qpbt!pf>QaE zi!6i1e3yv+?T_bLw8K%zkM5yS|ErR=`{*7I`x}+=G~4SJkdy;0MB)yD@6zFeXs_Qf zKKJ55F8%O0QNcpp6?0Vf;#O!Jf{YAIL~Y-L&BQ03M7dv#SUQL;rJV_3P)6&oPQ)#2 z8QAAQRrDib?LjJD#a5eC((=XlNhBI%`l(1h?AL>vlS(S(v?!TxIs_Eba-r4EbZ2-T z9wHz{SZW!7OAGyhYLd+W#FQhCAq$2gTF4z;-n)4WYVPIS*>uO6t$|S}(xCDbVCB3d z!eEM@db(xs+nFy*SVhx3p9G6_G>{G`KI-o?bQGO()t#^;l@S|jPxhTNgvckgTlZ;} zZ_{_zBhp*^gbX2_JcVG9@DQmzpBYC|2MWAN*dK?hAI{|_b%E3064uSU!SSN52rlXQ za_Tca+dBr+5vfFOvJZ;9luZGWg%boRBHXF3xGPhuP7&z9&f$uBtPsniTZ1L|Yfb=K zq;c0)SuFbJ_l8;1t8R3j9nm#7$F7~|%AEF(D7)Pb9etC!W&Mt z5*xmYZm)Ky2TQ@_O22!>&?0_Pzuck`F=fk;;9HL zss(100AvT6m^SK_OsHlZG5T?a?+%8`O0lNScO-B6EPZ-te7~R)sPsn56r{n3zNrO1q4+=xdNbD}H+*DhCF<$Gt@S2He!}TFF2?ukk^ToiJqj_8)ObFo32wvBwNlcB%tVfKEi1- z`nDaKZ(mEsJ~F{(c^@LXkTnY+>Qm&-ZG!EEtuJY9Tl(-i=f|jce*VYAzVAS#QAzw_ z2sFYPn_a(?;Pjub!NJ!Tezf?+jC={WT9j0PTg|^E`h$2vSTcuM8X(*zFh4}T^B|RF zAT(E;EF>&-6lf*J!p5EMo3vhJLo)2du)OzL(NLBb#coSUX9R|L-TU zJ!hQ(BaeD;aKgA=LEriME91{NCCOpO>5-{rsl+DstkwCSaH-Psmrck(DYJgTnl?mG zXg@H=u{dJ1(cPV^V7?3r!?OORVfvo){dcv_m~K+f7-+>BA-#bscZTV4e~Z8_nLmVI zlG-)YKU9bO4p)nt+u(wP_=y-`Uf?*$p57-ju%8IE*q%lF>yz+$u_b|r&s_wnFmebx z%WV78bLmlTRB@x91MiUBQX2!f9OFR3L%oMo)PdfAIu;)rySbE_hEMWrN*ESrUW1e>ur%l%%-25F_w$beW#x-Twr0 ze3ptgWMP6+(PizAij-e6QxD0AZlK9cW1N-bBTkWfsJ`wj)b0a-qf)zkCvv{I@azJ} z(;g?wEDl)HT$)Kn*}Sq1jf1r>slRm?e`w^L*re{ zGaFe95sw5(ZBmMTE3PVDpn$ZqR^kYR(|2D-@$_P6suYErx+wJXfw-^X%~B7#H*x{skUGosZ-d-CF_I zZjXdIH*|Pp%P@aC)m$(e2N;LmYVns(mRe{S;xskkInJnjENi+R?wvZ!FvzO*tHT|P z&P2m}CBs8f;@;De!ceW+Jr)(AW+~n{zq4_QDndfI#lGRnqH|S%&jzx#bn)R4`2OBC zDTE@7VWn9AVHm!e!o9hl!)NS*wD85FjbFz)8bLQJw{X!3sBTwvcbUK*!CL(`8>0HW z7U`L(0FFZ3^gWwKr>K75Nn4aYVp-B1wqoHXeN-wA|lNL8}?EcM&#a@$I%S)DpJ?EsRVs4 z0)-v3&bqynf=}JWs_TrKC~s?evx!rC{1$X5|HO*RNY=OEOOVAMo z_3W^7r+9rGnof)yHmb~DEzHaDikoYOA+evrmpSDV%)92H2uNbAxSV_(oBYMOIV0RF ze9u|P3LPQfqBS9LK^eid<;Wpk48vbo5H&Zd`6m7{uwQrCyd@T|Z81dc#9pt=_5Q}D z?T&RlRf2N198sSxCe2_C-faL?HIPd=jZgo9@LKV0|0CC^ zm2$3`#hvyY{TUVW9V2ASr=ez@es)x&1tvXs`)sXoKeoHk?djZ~5%!mc14u#PP#=#2 zploK?VF3~i&xJtH!q>LVY}f zS_6FA3+>FXq3QE|g%=fNCMLzy4Qe1TZ9ZvV5B)KBqp9uzL4;j$ z^AmDGpl(; ziZ|mO3tJFG`?eUlI5Mx=8)Kb)#|he{Nga8HcOy5pfpgWIxCe9vX=e?=Kn4nOo|cds zOfOEf`vax^I2;CWb`an*dc7x$pYnkWnd7h6WIrExp%7JYbS8)&8g71mI zMNs-;kq+=raHuHKj~$AJqTO}1*uU!0K{pi%bBp0Eh`HJ9P~p_VOxX@)c%yl$0Y59z z-BM{kB>=z*kIE-kpB-dv>0!1Y-Y~u27p)-k(m%ubZOi+t#6TVp9<)~Az9)3Rv@y|( zZMuCP6s^Vb3_E=d4J=_JWS;}m0fn8@e#kBpL%JqiO~MHw>(+2;0G|l->)wLgQe8@R zA&dG!kzfUp?`Z*$3`+5np{*2mi>ny&xRzC)M^`Uvv+v{=p+Twqc_-6U-SD~W*HFC8 zHq;*1m~+2i+t<3pV0nw#!o0yz|<3s>Tz%1nOxk%x=WVF?cr2z6`wIYT={|5s* B3Z(!5 diff --git a/classroom/assets/media/cabri_logo.png b/classroom/assets/media/cabri_logo.png deleted file mode 100644 index afaa3fd3efa0768bedc7c143a24c8e51d8552696..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22552 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

    YCzYrlucOYOs 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 bUMcIlw38xY7lCaD{8KrjsrXdh*!TYcvaM<5 literal 93360 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 diff --git a/classroom/header.html b/classroom/header.html index 569886b2..eefd3e3f 100644 --- a/classroom/header.html +++ b/classroom/header.html @@ -22,6 +22,7 @@ + diff --git a/classroom/home.html b/classroom/home.html index 4b136faf..8b7724f3 100644 --- a/classroom/home.html +++ b/classroom/home.html @@ -1,7 +1,6 @@ - + - @@ -1833,9 +1832,9 @@

    - + + - \ No newline at end of file diff --git a/classroom/login.html b/classroom/login.html index 1234994e..3079b863 100644 --- a/classroom/login.html +++ b/classroom/login.html @@ -1,28 +1,8 @@
    -
    +
    -
    - afficher - - - - - - - - -
    - print() -

    @@ -229,31 +209,31 @@

    -
    +
    -
    +
    -
    +
    -
    +
    -
    +
    @@ -326,7 +306,7 @@

    <


    - +

    @@ -339,11 +319,11 @@

    <
    -
    +

    -

    \ No newline at end of file +
    diff --git a/classroom/Views/header.html b/classroom/Views/header.html index 50870f61..a55931c0 100644 --- a/classroom/Views/header.html +++ b/classroom/Views/header.html @@ -1,8 +1,8 @@ - + - + - \ No newline at end of file + diff --git a/classroom/Views/home_footer.html b/classroom/Views/home_footer.html index 4d9e9469..979dbd48 100644 --- a/classroom/Views/home_footer.html +++ b/classroom/Views/home_footer.html @@ -1,12 +1,12 @@
    - - - + - + - - - - - + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - + + + + - - - + + + - - + + - - - + + + - + - \ No newline at end of file + diff --git a/classroom/Views/login_by_link.html b/classroom/Views/login_by_link.html index ab0e0240..0b0203c3 100644 --- a/classroom/Views/login_by_link.html +++ b/classroom/Views/login_by_link.html @@ -5,7 +5,7 @@

    Première viste ? Veuillez choisir un identifiant.

    - +
    @@ -19,11 +19,11 @@

    De retour dans cette classe ?

    - +

    - +

    @@ -37,4 +37,4 @@
    -

    \ No newline at end of file +
    diff --git a/classroom/Views/login_selection.html b/classroom/Views/login_selection.html index 955a66e5..8130ab18 100644 --- a/classroom/Views/login_selection.html +++ b/classroom/Views/login_selection.html @@ -4,7 +4,7 @@

    - +
    @@ -19,10 +19,10 @@

    - Logo GAR + Logo GAR Profitez du mode classe en toute simplicité à l'aide du GAR.
    Cliquez ici pour en savoir plus.
    -
    \ No newline at end of file + diff --git a/classroom/Views/managerProfilePanel.html b/classroom/Views/managerProfilePanel.html index ddc4cbff..84ff47ab 100644 --- a/classroom/Views/managerProfilePanel.html +++ b/classroom/Views/managerProfilePanel.html @@ -1,7 +1,7 @@ - \ No newline at end of file + diff --git a/classroom/Views/sidebar_groupadmin.html b/classroom/Views/sidebar_groupadmin.html index c99cd6fc..ed6b8d2a 100644 --- a/classroom/Views/sidebar_groupadmin.html +++ b/classroom/Views/sidebar_groupadmin.html @@ -4,25 +4,25 @@
    - Icône classe + Icône classe Utilisateurs
    - Icône classe + Icône classe Applications
    - Icône Appel à l'aide + Icône Appel à l'aide Appel à l'aide
    - Photo de profil + Photo de profil
    - \ No newline at end of file + diff --git a/classroom/Views/sidebar_manager.html b/classroom/Views/sidebar_manager.html index ed89607e..2e9fce23 100644 --- a/classroom/Views/sidebar_manager.html +++ b/classroom/Views/sidebar_manager.html @@ -4,19 +4,19 @@
    - Icône classe + Icône classe Utilisateurs
    - Icône Apps + Icône Apps Applications
    - Photo de profil + Photo de profil
    - \ No newline at end of file + diff --git a/classroom/Views/sidebar_student.html b/classroom/Views/sidebar_student.html index d4476f65..1609c054 100644 --- a/classroom/Views/sidebar_student.html +++ b/classroom/Views/sidebar_student.html @@ -2,19 +2,19 @@
    \ No newline at end of file +
    diff --git a/classroom/Views/sidebar_teacher.html b/classroom/Views/sidebar_teacher.html index 3a2465f3..707a7288 100644 --- a/classroom/Views/sidebar_teacher.html +++ b/classroom/Views/sidebar_teacher.html @@ -2,14 +2,14 @@
    - Icône activités + Icône activités
    - Icône classe + Icône classe
    Photo de profil + class="user-picture" src="assets/media/profile_picture.svg?version=1.2.7c" alt="Photo de profil">
    - \ No newline at end of file + diff --git a/classroom/Views/studentActivitiesPanel.html b/classroom/Views/studentActivitiesPanel.html index 6b66e4b2..d91d3a92 100644 --- a/classroom/Views/studentActivitiesPanel.html +++ b/classroom/Views/studentActivitiesPanel.html @@ -7,7 +7,7 @@

    - +
    @@ -16,7 +16,7 @@

    Brouillons

    - +
    @@ -25,7 +25,7 @@

    - +
    @@ -43,7 +43,7 @@

    - +

    @@ -72,9 +72,9 @@

    - +
    - @@ -120,7 +120,7 @@

    diff --git a/classroom/assets/js/constants/modals.js b/classroom/assets/js/constants/modals.js index c5071159..fec29d23 100644 --- a/classroom/assets/js/constants/modals.js +++ b/classroom/assets/js/constants/modals.js @@ -1,5 +1,5 @@ const BASE_STUDENT_FORM = `
    - +
    `; @@ -20,12 +20,12 @@ const classroomModals = { content: `

    - - + - .


    `, @@ -41,7 +41,7 @@ const classroomModals = {

    .


    `, @@ -57,7 +57,7 @@ const classroomModals = {

    .


    `, @@ -74,7 +74,7 @@ const classroomModals = {

    @@ -97,10 +97,10 @@ const classroomModals = { }, content: `

    Langue

    - flag - flag - flag - flag + flag + flag + flag + flag

    Mot de passe

    @@ -108,7 +108,7 @@ const classroomModals = {
    - + `, footer: `` }, @@ -121,7 +121,7 @@ const classroomModals = { /*

    Choisir une image de profil



    - +

    Notifications mail



    @@ -130,10 +130,10 @@ const classroomModals = { content: `

    Langue

    - flag - flag - flag - flag + flag + flag + flag + flag

    Pour modifier votre mot de passe ou d'autres paramètres de votre compte

    @@ -144,7 +144,7 @@ const classroomModals = { - +
    - +
    @@ -395,12 +395,12 @@ const classroomModals = {
    - +
    - +
    @@ -409,7 +409,7 @@ const classroomModals = {
    - +
    @@ -418,7 +418,7 @@ const classroomModals = {
    - + - +
    - +
    - +
    @@ -456,11 +456,11 @@ const classroomModals = {
    - +
    - +
    - +
    @@ -483,7 +483,7 @@ const classroomModals = {
    - +
    `, footer: `` @@ -510,7 +510,7 @@ const classroomModals = { - +
    @@ -521,12 +521,12 @@ const classroomModals = {
    - +
    - +
    @@ -534,7 +534,7 @@ const classroomModals = { Compte actif
    - +
    - +
    @@ -551,7 +551,7 @@ const classroomModals = {
    - + - - + +
    - +
    - +
    @@ -591,10 +591,10 @@ const classroomModals = {
    - +
    - + `, footer: `` }, @@ -619,7 +619,7 @@ const classroomModals = { - +
    @@ -630,12 +630,12 @@ const classroomModals = {
    - +
    - +
    @@ -656,7 +656,7 @@ const classroomModals = {
    - +
    @@ -664,7 +664,7 @@ const classroomModals = {
    - + `, footer: `` }, @@ -690,7 +690,7 @@ const classroomModals = { - +
    @@ -701,12 +701,12 @@ const classroomModals = {
    - +
    - +
    - +
    - +
    - +
    - +
    - + `, footer: `` }, @@ -1082,7 +1082,7 @@ const classroomModals = { }, content: `
    - +
    `, footer: `` @@ -1177,52 +1177,52 @@ const classroomModals = { - - + + - - + + @@ -1279,4 +1279,4 @@ const classroomModals = { `, footer: `` } -} \ No newline at end of file +} diff --git a/classroom/assets/js/lib/wysibb/README.md b/classroom/assets/js/lib/wysibb/README.md index 67bd3ffa..aa0fc844 100644 --- a/classroom/assets/js/lib/wysibb/README.md +++ b/classroom/assets/js/lib/wysibb/README.md @@ -1,15 +1,15 @@ #WysiBB - WYSIWYG BBcode editor WysiBB is a jQuery visual WYSIWYG editor for BBcode. -For more information please visit [wysibb.com](http://www.wysibb.com) +For more information please visit [wysibb.com](http://www.wysibb.com) ## Usage Include the JQuery and WysiBB files - - - + + + Activate WysiBB on an existing textarea @@ -38,17 +38,17 @@ WysiBB comes with all BBCodes by default (allButtons). You can configure BBCode ####Language -WysiBB comes in russian by default, but you can set a different language - +WysiBB comes in russian by default, but you can set a different language + ... - - - - + + + + ... - + - + + - - - + + - - - - - - - - - + + + + + + +
    -

    Place your Terms of Service here

    +

    Place your Terms of Service here

    - - - - - - - - + + + + + + + - \ No newline at end of file + diff --git a/classroom/confirm_account.html b/classroom/confirm_account.html index dfb3dbc5..822e3299 100644 --- a/classroom/confirm_account.html +++ b/classroom/confirm_account.html @@ -54,17 +54,17 @@

    - - - - + + + + - - - - - - \ No newline at end of file + + + + + + diff --git a/classroom/confirm_account.php b/classroom/confirm_account.php index 8ff0136c..e332387d 100644 --- a/classroom/confirm_account.php +++ b/classroom/confirm_account.php @@ -17,11 +17,11 @@ $page = isset($_GET['page']) ? htmlspecialchars($_GET['page']) : null; if (!$page) { - // Load env variables + // Load env variables $dotenv = Dotenv::createImmutable(__DIR__."/../"); $dotenv->safeLoad(); // bind and sanitize incoming token - $confirmToken = isset($_GET['token']) + $confirmToken = isset($_GET['token']) ? trim(htmlspecialchars(preg_replace('/<[^>]*>[^<]*<[^>]*>/', '',$_GET['token']))) : null; @@ -60,16 +60,16 @@ setcookie("accountActivationSucceded",true, strtotime("+1 minute")); $redirect = $confirm_account."success"; - + } - // redirect the user + // redirect the user return header("Location: $redirect"); } else { require_once(__DIR__ . "/header.html"); ?> - - - + + + - - - - - - - - + + + + + + + + + - \ No newline at end of file + diff --git a/classroom/gar_access.php b/classroom/gar_access.php index 76eb1b00..51e9566f 100644 --- a/classroom/gar_access.php +++ b/classroom/gar_access.php @@ -11,12 +11,12 @@ Vittascience - + - - + + - \ No newline at end of file + diff --git a/classroom/group_invitation.html b/classroom/group_invitation.html index 872d8ac7..7b098ab2 100644 --- a/classroom/group_invitation.html +++ b/classroom/group_invitation.html @@ -12,7 +12,7 @@
    - +
    - +
    - + @@ -40,7 +40,7 @@
    - + @@ -49,7 +49,7 @@
    - +
    - + @@ -312,7 +312,7 @@

    - @@ -335,7 +335,7 @@

    @@ -662,7 +662,7 @@

    - +

    - +
    @@ -719,10 +719,10 @@

    @@ -732,15 +732,15 @@

    - + + arb-folders +
    - +
    @@ -891,7 +891,7 @@

    @@ -914,7 +914,7 @@

    - +
    @@ -985,7 +985,7 @@

    FAQ

    @@ -1034,7 +1034,7 @@

    FAQ

    - +
    @@ -1339,7 +1339,7 @@

    Restrictions par defaut

    - +
    - +
    @@ -1659,40 +1659,40 @@ - - + + - - + + - - + + - - + +
    - +
    @@ -1772,7 +1772,7 @@

    1 Application

    - +
    @@ -1834,12 +1834,12 @@

    - - + - + - - - - - + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - + + + + - - - + + + - - + + - - - + + + - - - - - + + + + + - \ No newline at end of file + diff --git a/classroom/legal.php b/classroom/legal.php index 2dcec483..9d0f564c 100644 --- a/classroom/legal.php +++ b/classroom/legal.php @@ -6,41 +6,41 @@ Classroom CGU - - + + - - - + + + - - + - - - - - - - + + + + + + + - - - - - - - - + + + + + + + + - \ No newline at end of file + diff --git a/classroom/login.html b/classroom/login.html index c04f3088..1fd61c07 100644 --- a/classroom/login.html +++ b/classroom/login.html @@ -38,16 +38,16 @@

    -
    +
    -
    +
    - +
    -
    +
    @@ -68,7 +68,7 @@

    - +
    @@ -88,7 +88,7 @@

    - Logo GAR + Logo GAR
    @@ -110,7 +110,7 @@

    - +
    - +
    - + @@ -138,7 +138,7 @@

    - + @@ -147,7 +147,7 @@

    - +
    - + ",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ae(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ne(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)Ne(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=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n=void 0,r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n}else r&&(Q.set(this,i,k.event.trigger(k.extend(r.shift(),k.Event.prototype),r,this)),e.stopImmediatePropagation())}})):k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/\s*$/g;function Oe(e,t){return N(e,"table")&&N(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r").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 Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.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(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.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?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="
    ",2===Vt.childNodes.length),k.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=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.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,k.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)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.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"===k.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"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.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)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.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?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.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){k.fn[n]=function(e,t){return 0",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;o
    "),o=n.children()[0];return t("body").append(n),i=o.offsetWidth,n.css("overflow","scroll"),i===(s=o.offsetWidth)&&(s=n[0].clientWidth),n.remove(),e=i-s},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.width0?"right":"center",vertical:c<0?"top":h>0?"bottom":"middle"};di(s(h),s(c))?u.important="horizontal":u.important="vertical",e.using.call(this,t,u)}),a.offset(t.extend(D,{using:o}))})},t.ui.position={fit:{left:function(t,e){var s,n=e.within,o=n.isWindow?n.scrollLeft:n.offset.left,a=n.width,r=t.left-e.collisionPosition.marginLeft,h=o-r,l=r+e.collisionWidth-a-o;e.collisionWidth>a?h>0&&l<=0?(s=t.left+h+e.collisionWidth-a-o,t.left+=h-s):t.left=l>0&&h<=0?o:h>l?o+a-e.collisionWidth:o:h>0?t.left+=h:l>0?t.left-=l:t.left=i(t.left-r,t.left)},top:function(t,e){var s,n=e.within,o=n.isWindow?n.scrollTop:n.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,h=o-r,l=r+e.collisionHeight-a-o;e.collisionHeight>a?h>0&&l<=0?(s=t.top+h+e.collisionHeight-a-o,t.top+=h-s):t.top=l>0&&h<=0?o:h>l?o+a-e.collisionHeight:o:h>0?t.top+=h:l>0?t.top-=l:t.top=i(t.top-r,t.top)}},flip:{left:function(t,e){var i,n,o=e.within,a=o.offset.left+o.scrollLeft,r=o.width,h=o.isWindow?o.scrollLeft:o.offset.left,l=t.left-e.collisionPosition.marginLeft,c=l-h,u=l+e.collisionWidth-r-h,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];c<0?((i=t.left+d+p+f+e.collisionWidth-r-a)<0||i0&&((n=t.left-e.collisionPosition.marginLeft+d+p+f-h)>0||s(n)0&&((i=t.top-e.collisionPosition.marginTop+d+p+f-h)>0||s(i)")[0],c=t.each;function u(t,e,i){var s=r[e.type]||{};return null==t?i||!e.def?null:e.def:(t=s.floor?~~t:parseFloat(t),isNaN(t)?e.def:s.mod?(t+s.mod)%s.mod:0>t?0:s.max-1,c(a,function(t,e){e.cache="_"+t,e.props.alpha={idx:3,type:"percent",def:1}}),o.fn=t.extend(o.prototype,{parse:function(e,s,n,r){if(void 0===e)return this._rgba=[null,null,null,null],this;(e.jquery||e.nodeType)&&(e=t(e).css(s),s=void 0);var h=this,l=t.type(e),p=this._rgba=[];return void 0!==s&&(e=[e,s,n,r],l="array"),"string"===l?this.parse(d(e)||i._default):"array"===l?(c(a.rgba.props,function(t,i){p[i.idx]=u(e[i.idx],i)}),this):"object"===l?(c(a,e instanceof o?function(t,i){e[i.cache]&&(h[i.cache]=e[i.cache].slice())}:function(i,s){var n=s.cache;c(s.props,function(t,i){if(!h[n]&&s.to){if("alpha"===t||null==e[t])return;h[n]=s.to(h._rgba)}h[n][i.idx]=u(e[t],i,!0)}),h[n]&&t.inArray(null,h[n].slice(0,3))<0&&(h[n][3]=1,s.from&&(h._rgba=s.from(h[n])))}),this):void 0},is:function(t){var e=o(t),i=!0,s=this;return c(a,function(t,n){var o,a=e[n.cache];return a&&(o=s[n.cache]||n.to&&n.to(s._rgba)||[],c(n.props,function(t,e){if(null!=a[e.idx])return i=a[e.idx]===o[e.idx]})),i}),i},_space:function(){var t=[],e=this;return c(a,function(i,s){e[s.cache]&&t.push(i)}),t.pop()},transition:function(t,e){var i=o(t),s=i._space(),n=a[s],h=0===this.alpha()?o("transparent"):this,l=h[n.cache]||n.to(h._rgba),d=l.slice();return i=i[n.cache],c(n.props,function(t,s){var n=s.idx,o=l[n],a=i[n],h=r[s.type]||{};null!==a&&(null===o?d[n]=a:(h.mod&&(a-o>h.mod/2?o+=h.mod:o-a>h.mod/2&&(o-=h.mod)),d[n]=u((a-o)*e+o,s)))}),this[s](d)},blend:function(e){if(1===this._rgba[3])return this;var i=this._rgba.slice(),s=i.pop(),n=o(e)._rgba;return o(t.map(i,function(t,e){return(1-s)*n[e]+s*t}))},toRgbaString:function(){var e="rgba(",i=t.map(this._rgba,function(t,e){return null==t?e>2?1:0:t});return 1===i[3]&&(i.pop(),e="rgb("),e+i.join()+")"},toHslaString:function(){var e="hsla(",i=t.map(this.hsla(),function(t,e){return null==t&&(t=e>2?1:0),e&&e<3&&(t=Math.round(100*t)+"%"),t});return 1===i[3]&&(i.pop(),e="hsl("),e+i.join()+")"},toHexString:function(e){var i=this._rgba.slice(),s=i.pop();return e&&i.push(~~(255*s)),"#"+t.map(i,function(t){return 1===(t=(t||0).toString(16)).length?"0"+t:t}).join("")},toString:function(){return 0===this._rgba[3]?"transparent":this.toRgbaString()}}),o.fn.parse.prototype=o.fn,a.hsla.to=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e,i,s=t[0]/255,n=t[1]/255,o=t[2]/255,a=t[3],r=Math.max(s,n,o),h=Math.min(s,n,o),l=r-h,c=r+h,u=.5*c;return e=h===r?0:s===r?60*(n-o)/l+360:n===r?60*(o-s)/l+120:60*(s-n)/l+240,i=0===l?0:u<=.5?l/c:l/(2-c),[Math.round(e)%360,i,u,null==a?1:a]},a.hsla.from=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e=t[0]/360,i=t[1],s=t[2],n=t[3],o=s<=.5?s*(1+i):s+i-s*i,a=2*s-o;return[Math.round(255*p(a,o,e+1/3)),Math.round(255*p(a,o,e)),Math.round(255*p(a,o,e-1/3)),n]},c(a,function(e,i){var n=i.props,a=i.cache,r=i.to,h=i.from;o.fn[e]=function(e){if(r&&!this[a]&&(this[a]=r(this._rgba)),void 0===e)return this[a].slice();var i,s=t.type(e),l="array"===s||"object"===s?e:arguments,d=this[a].slice();return c(n,function(t,e){var i=l["object"===s?t:e.idx];null==i&&(i=d[e.idx]),d[e.idx]=u(i,e)}),h?((i=o(h(d)))[a]=d,i):o(d)},c(n,function(i,n){o.fn[i]||(o.fn[i]=function(o){var a,r=t.type(o),h="alpha"===i?this._hsla?"hsla":"rgba":e,l=this[h](),c=l[n.idx];return"undefined"===r?c:("function"===r&&(o=o.call(this,c),r=t.type(o)),null==o&&n.empty?this:("string"===r&&(a=s.exec(o))&&(o=c+parseFloat(a[2])*("+"===a[1]?1:-1)),l[n.idx]=o,this[h](l)))})})}),o.hook=function(e){var i=e.split(" ");c(i,function(e,i){t.cssHooks[i]={set:function(e,s){var n,a,r="";if("transparent"!==s&&("string"!==t.type(s)||(n=d(s)))){if(s=o(n||s),!h.rgba&&1!==s._rgba[3]){for(a="backgroundColor"===i?e.parentNode:e;(""===r||"transparent"===r)&&a&&a.style;)try{r=t.css(a,"backgroundColor"),a=a.parentNode}catch(t){}s=s.blend(r&&"transparent"!==r?r:"_default")}s=s.toRgbaString()}try{e.style[i]=s}catch(t){}}},t.fx.step[i]=function(e){e.colorInit||(e.start=o(e.elem,i),e.end=o(e.end),e.colorInit=!0),t.cssHooks[i].set(e.elem,e.start.transition(e.end,e.pos))}})},o.hook("backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor"),t.cssHooks.borderColor={expand:function(t){var e={};return c(["Top","Right","Bottom","Left"],function(i,s){e["border"+s+"Color"]=t}),e}},i=t.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"}}(r),function(){var e,i=["add","remove","toggle"],s={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};function n(e){var i,s,n=e.ownerDocument.defaultView?e.ownerDocument.defaultView.getComputedStyle(e,null):e.currentStyle,o={};if(n&&n.length&&n[0]&&n[n[0]])for(s=n.length;s--;)"string"==typeof n[i=n[s]]&&(o[t.camelCase(i)]=n[i]);else for(i in n)"string"==typeof n[i]&&(o[i]=n[i]);return o}t.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(e,i){t.fx.step[i]=function(t){("none"!==t.end&&!t.setAttr||1===t.pos&&!t.setAttr)&&(r.style(t.elem,i,t.end),t.setAttr=!0)}}),t.fn.addBack||(t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.effects.animateClass=function(e,o,a,r){var h=t.speed(o,a,r);return this.queue(function(){var o,a=t(this),r=a.attr("class")||"",l=h.children?a.find("*").addBack():a;l=l.map(function(){return{el:t(this),start:n(this)}}),(o=function(){t.each(i,function(t,i){e[i]&&a[i+"Class"](e[i])})})(),l=l.map(function(){return this.end=n(this.el[0]),this.diff=function(e,i){var n,o,a={};for(n in i)o=i[n],e[n]!==o&&(s[n]||!t.fx.step[n]&&isNaN(parseFloat(o))||(a[n]=o));return a}(this.start,this.end),this}),a.attr("class",r),l=l.map(function(){var e=this,i=t.Deferred(),s=t.extend({},h,{queue:!1,complete:function(){i.resolve(e)}});return this.el.animate(this.diff,s),i.promise()}),t.when.apply(t,l.get()).done(function(){o(),t.each(arguments,function(){var e=this.el;t.each(this.diff,function(t){e.css(t,"")})}),h.complete.call(a[0])})})},t.fn.extend({addClass:(e=t.fn.addClass,function(i,s,n,o){return s?t.effects.animateClass.call(this,{add:i},s,n,o):e.apply(this,arguments)}),removeClass:function(e){return function(i,s,n,o){return arguments.length>1?t.effects.animateClass.call(this,{remove:i},s,n,o):e.apply(this,arguments)}}(t.fn.removeClass),toggleClass:function(e){return function(i,s,n,o,a){return"boolean"==typeof s||void 0===s?n?t.effects.animateClass.call(this,s?{add:i}:{remove:i},n,o,a):e.apply(this,arguments):t.effects.animateClass.call(this,{toggle:i},s,n,o)}}(t.fn.toggleClass),switchClass:function(e,i,s,n,o){return t.effects.animateClass.call(this,{add:i,remove:e},s,n,o)}})}(),function(){var e;function i(e,i,s,n){return t.isPlainObject(e)&&(i=e,e=e.effect),e={effect:e},null==i&&(i={}),t.isFunction(i)&&(n=i,s=null,i={}),("number"==typeof i||t.fx.speeds[i])&&(n=s,s=i,i={}),t.isFunction(s)&&(n=s,s=null),i&&t.extend(e,i),s=s||i.duration,e.duration=t.fx.off?0:"number"==typeof s?s:s in t.fx.speeds?t.fx.speeds[s]:t.fx.speeds._default,e.complete=n||i.complete,e}function s(e){return!(e&&"number"!=typeof e&&!t.fx.speeds[e])||("string"==typeof e&&!t.effects.effect[e]||(!!t.isFunction(e)||"object"==typeof e&&!e.effect))}function n(t,e){var i=e.outerWidth(),s=e.outerHeight(),n=/^rect\((-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto)\)$/.exec(t)||["",0,i,s,0];return{top:parseFloat(n[1])||0,right:"auto"===n[2]?i:parseFloat(n[2]),bottom:"auto"===n[3]?s:parseFloat(n[3]),left:parseFloat(n[4])||0}}t.expr&&t.expr.filters&&t.expr.filters.animated&&(t.expr.filters.animated=(e=t.expr.filters.animated,function(i){return!!t(i).data(a)||e(i)})),!1!==t.uiBackCompat&&t.extend(t.effects,{save:function(t,e){for(var i=0,s=e.length;i
    ").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),n={width:e.width(),height:e.height()},o=document.activeElement;try{o.id}catch(t){o=document.body}return e.wrap(s),(e[0]===o||t.contains(e[0],o))&&t(o).trigger("focus"),s=e.parent(),"static"===e.css("position")?(s.css({position:"relative"}),e.css({position:"relative"})):(t.extend(i,{position:e.css("position"),zIndex:e.css("z-index")}),t.each(["top","left","bottom","right"],function(t,s){i[s]=e.css(s),isNaN(parseInt(i[s],10))&&(i[s]="auto")}),e.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),e.css(n),s.css(i).show()},removeWrapper:function(e){var i=document.activeElement;return e.parent().is(".ui-effects-wrapper")&&(e.parent().replaceWith(e),(e[0]===i||t.contains(e[0],i))&&t(i).trigger("focus")),e}}),t.extend(t.effects,{version:"1.12.1",define:function(e,i,s){return s||(s=i,i="effect"),t.effects.effect[e]=s,t.effects.effect[e].mode=i,s},scaledDimensions:function(t,e,i){if(0===e)return{height:0,width:0,outerHeight:0,outerWidth:0};var s="horizontal"!==i?(e||100)/100:1,n="vertical"!==i?(e||100)/100:1;return{height:t.height()*n,width:t.width()*s,outerHeight:t.outerHeight()*n,outerWidth:t.outerWidth()*s}},clipToBox:function(t){return{width:t.clip.right-t.clip.left,height:t.clip.bottom-t.clip.top,left:t.clip.left,top:t.clip.top}},unshift:function(t,e,i){var s=t.queue();e>1&&s.splice.apply(s,[1,0].concat(s.splice(e,i))),t.dequeue()},saveStyle:function(t){t.data("ui-effects-style",t[0].style.cssText)},restoreStyle:function(t){t[0].style.cssText=t.data("ui-effects-style")||"",t.removeData("ui-effects-style")},mode:function(t,e){var i=t.is(":hidden");return"toggle"===e&&(e=i?"show":"hide"),(i?"hide"===e:"show"===e)&&(e="none"),e},getBaseline:function(t,e){var i,s;switch(t[0]){case"top":i=0;break;case"middle":i=.5;break;case"bottom":i=1;break;default:i=t[0]/e.height}switch(t[1]){case"left":s=0;break;case"center":s=.5;break;case"right":s=1;break;default:s=t[1]/e.width}return{x:s,y:i}},createPlaceholder:function(e){var i,s=e.css("position"),n=e.position();return e.css({marginTop:e.css("marginTop"),marginBottom:e.css("marginBottom"),marginLeft:e.css("marginLeft"),marginRight:e.css("marginRight")}).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()),/^(static|relative)/.test(s)&&(s="absolute",i=t("<"+e[0].nodeName+">").insertAfter(e).css({display:/^(inline|ruby)/.test(e.css("display"))?"inline-block":"block",visibility:"hidden",marginTop:e.css("marginTop"),marginBottom:e.css("marginBottom"),marginLeft:e.css("marginLeft"),marginRight:e.css("marginRight"),float:e.css("float")}).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()).addClass("ui-effects-placeholder"),e.data("ui-effects-placeholder",i)),e.css({position:s,left:n.left,top:n.top}),i},removePlaceholder:function(t){var e="ui-effects-placeholder",i=t.data(e);i&&(i.remove(),t.removeData(e))},cleanUp:function(e){t.effects.restoreStyle(e),t.effects.removePlaceholder(e)},setTransition:function(e,i,s,n){return n=n||{},t.each(i,function(t,i){var o=e.cssUnit(i);o[0]>0&&(n[i]=o[0]*s+o[1])}),n}}),t.fn.extend({effect:function(){var e=i.apply(this,arguments),s=t.effects.effect[e.effect],n=s.mode,o=e.queue,r=o||"fx",h=e.complete,l=e.mode,c=[],u=function(e){var i=t(this),s=t.effects.mode(i,l)||n;i.data(a,!0),c.push(s),n&&("show"===s||s===n&&"hide"===s)&&i.show(),n&&"none"===s||t.effects.saveStyle(i),t.isFunction(e)&&e()};if(t.fx.off||!s)return l?this[l](e.duration,h):this.each(function(){h&&h.call(this)});function d(i){var o=t(this);function r(){t.isFunction(h)&&h.call(o[0]),t.isFunction(i)&&i()}e.mode=c.shift(),!1===t.uiBackCompat||n?"none"===e.mode?(o[l](),r()):s.call(o[0],e,function(){o.removeData(a),t.effects.cleanUp(o),"hide"===e.mode&&o.hide(),r()}):(o.is(":hidden")?"hide"===l:"show"===l)?(o[l](),r()):s.call(o[0],e,r)}return!1===o?this.each(u).each(d):this.queue(r,u).queue(r,d)},show:function(t){return function(e){if(s(e))return t.apply(this,arguments);var n=i.apply(this,arguments);return n.mode="show",this.effect.call(this,n)}}(t.fn.show),hide:function(t){return function(e){if(s(e))return t.apply(this,arguments);var n=i.apply(this,arguments);return n.mode="hide",this.effect.call(this,n)}}(t.fn.hide),toggle:function(t){return function(e){if(s(e)||"boolean"==typeof e)return t.apply(this,arguments);var n=i.apply(this,arguments);return n.mode="toggle",this.effect.call(this,n)}}(t.fn.toggle),cssUnit:function(e){var i=this.css(e),s=[];return t.each(["em","px","%","pt"],function(t,e){i.indexOf(e)>0&&(s=[parseFloat(i),e])}),s},cssClip:function(t){return t?this.css("clip","rect("+t.top+"px "+t.right+"px "+t.bottom+"px "+t.left+"px)"):n(this.css("clip"),this)},transfer:function(e,i){var s=t(this),n=t(e.to),o="fixed"===n.css("position"),a=t("body"),r=o?a.scrollTop():0,h=o?a.scrollLeft():0,l=n.offset(),c={top:l.top-r,left:l.left-h,height:n.innerHeight(),width:n.innerWidth()},u=s.offset(),d=t("
    ").appendTo("body").addClass(e.className).css({top:u.top-r,left:u.left-h,height:s.innerHeight(),width:s.innerWidth(),position:o?"fixed":"absolute"}).animate(c,e.duration,e.easing,function(){d.remove(),t.isFunction(i)&&i()})}}),t.fx.step.clip=function(e){e.clipInit||(e.start=t(e.elem).cssClip(),"string"==typeof e.end&&(e.end=n(e.end,e.elem)),e.clipInit=!0),t(e.elem).cssClip({top:e.pos*(e.end.top-e.start.top)+e.start.top,right:e.pos*(e.end.right-e.start.right)+e.start.right,bottom:e.pos*(e.end.bottom-e.start.bottom)+e.start.bottom,left:e.pos*(e.end.left-e.start.left)+e.start.left})}}(),o={},t.each(["Quad","Cubic","Quart","Quint","Expo"],function(t,e){o[e]=function(e){return Math.pow(e,t+2)}}),t.extend(o,{Sine:function(t){return 1-Math.cos(t*Math.PI/2)},Circ:function(t){return 1-Math.sqrt(1-t*t)},Elastic:function(t){return 0===t||1===t?t:-Math.pow(2,8*(t-1))*Math.sin((80*(t-1)-7.5)*Math.PI/15)},Back:function(t){return t*t*(3*t-2)},Bounce:function(t){for(var e,i=4;t<((e=Math.pow(2,--i))-1)/11;);return 1/Math.pow(4,3-i)-7.5625*Math.pow((3*e-2)/22-t,2)}}),t.each(o,function(e,i){t.easing["easeIn"+e]=i,t.easing["easeOut"+e]=function(t){return 1-i(1-t)},t.easing["easeInOut"+e]=function(t){return t<.5?i(2*t)/2:1-i(-2*t+2)/2}});t.effects,t.effects.define("blind","hide",function(e,i){var s={up:["bottom","top"],vertical:["bottom","top"],down:["top","bottom"],left:["right","left"],horizontal:["right","left"],right:["left","right"]},n=t(this),o=e.direction||"up",a=n.cssClip(),r={clip:t.extend({},a)},h=t.effects.createPlaceholder(n);r.clip[s[o][0]]=r.clip[s[o][1]],"show"===e.mode&&(n.cssClip(r.clip),h&&h.css(t.effects.clipToBox(r)),r.clip=a),h&&h.animate(t.effects.clipToBox(r),e.duration,e.easing),n.animate(r,{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("bounce",function(e,i){var s,n,o,a=t(this),r=e.mode,h="hide"===r,l="show"===r,c=e.direction||"up",u=e.distance,d=e.times||5,p=2*d+(l||h?1:0),f=e.duration/p,g=e.easing,m="up"===c||"down"===c?"top":"left",_="up"===c||"left"===c,v=0,b=a.queue().length;for(t.effects.createPlaceholder(a),o=a.css(m),u||(u=a["top"===m?"outerHeight":"outerWidth"]()/3),l&&((n={opacity:1})[m]=o,a.css("opacity",0).css(m,_?2*-u:2*u).animate(n,f,g)),h&&(u/=Math.pow(2,d-1)),(n={})[m]=o;v
    ").css({position:"absolute",visibility:"visible",left:-n*f,top:-s*g}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:f,height:g,left:o+(d?r*f:0),top:a+(d?h*g:0),opacity:d?0:1}).animate({left:o+(d?0:r*f),top:a+(d?0:h*g),opacity:d?1:0},e.duration||500,e.easing,_)}),t.effects.define("fade","toggle",function(e,i){var s="show"===e.mode;t(this).css("opacity",s?0:1).animate({opacity:s?1:0},{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("fold","hide",function(e,i){var s=t(this),n=e.mode,o="show"===n,a="hide"===n,r=e.size||15,h=/([0-9]+)%/.exec(r),l=!!e.horizFirst?["right","bottom"]:["bottom","right"],c=e.duration/2,u=t.effects.createPlaceholder(s),d=s.cssClip(),p={clip:t.extend({},d)},f={clip:t.extend({},d)},g=[d[l[0]],d[l[1]]],m=s.queue().length;h&&(r=parseInt(h[1],10)/100*g[a?0:1]),p.clip[l[0]]=r,f.clip[l[0]]=r,f.clip[l[1]]=0,o&&(s.cssClip(f.clip),u&&u.css(t.effects.clipToBox(f)),f.clip=d),s.queue(function(i){u&&u.animate(t.effects.clipToBox(p),c,e.easing).animate(t.effects.clipToBox(f),c,e.easing),i()}).animate(p,c,e.easing).animate(f,c,e.easing).queue(i),t.effects.unshift(s,m,4)}),t.effects.define("highlight","show",function(e,i){var s=t(this),n={backgroundColor:s.css("backgroundColor")};"hide"===e.mode&&(n.opacity=0),t.effects.saveStyle(s),s.css({backgroundImage:"none",backgroundColor:e.color||"#ffff99"}).animate(n,{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("size",function(e,i){var s,n,o,a=t(this),r=["fontSize"],h=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],l=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],c=e.mode,u="effect"!==c,d=e.scale||"both",p=e.origin||["middle","center"],f=a.css("position"),g=a.position(),m=t.effects.scaledDimensions(a),_=e.from||m,v=e.to||t.effects.scaledDimensions(a,0);t.effects.createPlaceholder(a),"show"===c&&(o=_,_=v,v=o),n={from:{y:_.height/m.height,x:_.width/m.width},to:{y:v.height/m.height,x:v.width/m.width}},"box"!==d&&"both"!==d||(n.from.y!==n.to.y&&(_=t.effects.setTransition(a,h,n.from.y,_),v=t.effects.setTransition(a,h,n.to.y,v)),n.from.x!==n.to.x&&(_=t.effects.setTransition(a,l,n.from.x,_),v=t.effects.setTransition(a,l,n.to.x,v))),"content"!==d&&"both"!==d||n.from.y!==n.to.y&&(_=t.effects.setTransition(a,r,n.from.y,_),v=t.effects.setTransition(a,r,n.to.y,v)),p&&(s=t.effects.getBaseline(p,m),_.top=(m.outerHeight-_.outerHeight)*s.y+g.top,_.left=(m.outerWidth-_.outerWidth)*s.x+g.left,v.top=(m.outerHeight-v.outerHeight)*s.y+g.top,v.left=(m.outerWidth-v.outerWidth)*s.x+g.left),a.css(_),"content"!==d&&"both"!==d||(h=h.concat(["marginTop","marginBottom"]).concat(r),l=l.concat(["marginLeft","marginRight"]),a.find("*[width]").each(function(){var i=t(this),s=t.effects.scaledDimensions(i),o={height:s.height*n.from.y,width:s.width*n.from.x,outerHeight:s.outerHeight*n.from.y,outerWidth:s.outerWidth*n.from.x},a={height:s.height*n.to.y,width:s.width*n.to.x,outerHeight:s.height*n.to.y,outerWidth:s.width*n.to.x};n.from.y!==n.to.y&&(o=t.effects.setTransition(i,h,n.from.y,o),a=t.effects.setTransition(i,h,n.to.y,a)),n.from.x!==n.to.x&&(o=t.effects.setTransition(i,l,n.from.x,o),a=t.effects.setTransition(i,l,n.to.x,a)),u&&t.effects.saveStyle(i),i.css(o),i.animate(a,e.duration,e.easing,function(){u&&t.effects.restoreStyle(i)})})),a.animate(v,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){var e=a.offset();0===v.opacity&&a.css("opacity",_.opacity),u||(a.css("position","static"===f?"relative":f).offset(e),t.effects.saveStyle(a)),i()}})}),t.effects.define("scale",function(e,i){var s=t(this),n=e.mode,o=parseInt(e.percent,10)||(0===parseInt(e.percent,10)?0:"effect"!==n?0:100),a=t.extend(!0,{from:t.effects.scaledDimensions(s),to:t.effects.scaledDimensions(s,o,e.direction||"both"),origin:e.origin||["middle","center"]},e);e.fade&&(a.from.opacity=1,a.to.opacity=0),t.effects.effect.size.call(this,a,i)}),t.effects.define("puff","hide",function(e,i){var s=t.extend(!0,{},e,{fade:!0,percent:parseInt(e.percent,10)||150});t.effects.effect.scale.call(this,s,i)}),t.effects.define("pulsate","show",function(e,i){var s=t(this),n=e.mode,o="show"===n,a=o||"hide"===n,r=2*(e.times||5)+(a?1:0),h=e.duration/r,l=0,c=1,u=s.queue().length;for(!o&&s.is(":visible")||(s.css("opacity",0).show(),l=1);c0&&o.is(":visible"))):(/^(input|select|textarea|button|object)$/.test(h)?(a=!e.disabled)&&(r=t(e).closest("fieldset")[0])&&(a=!r.disabled):a="a"===h&&e.href||i,a&&t(e).is(":visible")&&function(t){var e=t.css("visibility");for(;"inherit"===e;)t=t.parent(),e=t.css("visibility");return"hidden"!==e}(t(e)))},t.extend(t.expr[":"],{focusable:function(e){return t.ui.focusable(e,null!=t.attr(e,"tabindex"))}});t.ui.focusable,t.fn.form=function(){return"string"==typeof this[0].form?this.closest("form"):t(this[0].form)},t.ui.formResetMixin={_formResetHandler:function(){var e=t(this);setTimeout(function(){var i=e.data("ui-form-reset-instances");t.each(i,function(){this.refresh()})})},_bindFormResetHandler:function(){if(this.form=this.element.form(),this.form.length){var t=this.form.data("ui-form-reset-instances")||[];t.length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t)}},_unbindFormResetHandler:function(){if(this.form.length){var e=this.form.data("ui-form-reset-instances");e.splice(t.inArray(this,e),1),e.length?this.form.data("ui-form-reset-instances",e):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset")}}};"1.7"===t.fn.jquery.substring(0,3)&&(t.each(["Width","Height"],function(e,i){var s="Width"===i?["Left","Right"]:["Top","Bottom"],n=i.toLowerCase(),o={innerWidth:t.fn.innerWidth,innerHeight:t.fn.innerHeight,outerWidth:t.fn.outerWidth,outerHeight:t.fn.outerHeight};function a(e,i,n,o){return t.each(s,function(){i-=parseFloat(t.css(e,"padding"+this))||0,n&&(i-=parseFloat(t.css(e,"border"+this+"Width"))||0),o&&(i-=parseFloat(t.css(e,"margin"+this))||0)}),i}t.fn["inner"+i]=function(e){return void 0===e?o["inner"+i].call(this):this.each(function(){t(this).css(n,a(this,e)+"px")})},t.fn["outer"+i]=function(e,s){return"number"!=typeof e?o["outer"+i].call(this,e):this.each(function(){t(this).css(n,a(this,e,!0,s)+"px")})}}),t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))});var h,l;t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.ui.escapeSelector=(h=/([!"#$%&'()*+,.\/:;<=>?@[\]^`{|}~])/g,function(t){return t.replace(h,"\\$1")}),t.fn.labels=function(){var e,i,s,n,o;return this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(n=this.eq(0).parents("label"),(s=this.attr("id"))&&(o=(e=this.eq(0).parents().last()).add(e.length?e.siblings():this.siblings()),i="label[for='"+t.ui.escapeSelector(s)+"']",n=n.add(o.find(i).addBack(i))),this.pushStack(n))},t.fn.scrollParent=function(e){var i=this.css("position"),s="absolute"===i,n=e?/(auto|scroll|hidden)/:/(auto|scroll)/,o=this.parents().filter(function(){var e=t(this);return(!s||"static"!==e.css("position"))&&n.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))}).eq(0);return"fixed"!==i&&o.length?o:t(this[0].ownerDocument||document)},t.extend(t.expr[":"],{tabbable:function(e){var i=t.attr(e,"tabindex"),s=null!=i;return(!s||i>=0)&&t.ui.focusable(e,s)}}),t.fn.extend({uniqueId:(l=0,function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++l)})}),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.widget("ui.accordion",{version:"1.12.1",options:{active:0,animate:{},classes:{"ui-accordion-header":"ui-corner-top","ui-accordion-header-collapsed":"ui-corner-all","ui-accordion-content":"ui-corner-bottom"},collapsible:!1,event:"click",header:"> li > :first-child, > :not(li):even",heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},hideProps:{borderTopWidth:"hide",borderBottomWidth:"hide",paddingTop:"hide",paddingBottom:"hide",height:"hide"},showProps:{borderTopWidth:"show",borderBottomWidth:"show",paddingTop:"show",paddingBottom:"show",height:"show"},_create:function(){var e=this.options;this.prevShow=this.prevHide=t(),this._addClass("ui-accordion","ui-widget ui-helper-reset"),this.element.attr("role","tablist"),e.collapsible||!1!==e.active&&null!=e.active||(e.active=0),this._processPanels(),e.active<0&&(e.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():t()}},_createIcons:function(){var e,i,s=this.options.icons;s&&(e=t(""),this._addClass(e,"ui-accordion-header-icon","ui-icon "+s.header),e.prependTo(this.headers),i=this.active.children(".ui-accordion-header-icon"),this._removeClass(i,s.header)._addClass(i,null,s.activeHeader)._addClass(this.headers,"ui-accordion-icons"))},_destroyIcons:function(){this._removeClass(this.headers,"ui-accordion-icons"),this.headers.children(".ui-accordion-header-icon").remove()},_destroy:function(){var t;this.element.removeAttr("role"),this.headers.removeAttr("role aria-expanded aria-selected aria-controls tabIndex").removeUniqueId(),this._destroyIcons(),t=this.headers.next().css("display","").removeAttr("role aria-hidden aria-labelledby").removeUniqueId(),"content"!==this.options.heightStyle&&t.css("height","")},_setOption:function(t,e){"active"!==t?("event"===t&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(e)),this._super(t,e),"collapsible"!==t||e||!1!==this.options.active||this._activate(0),"icons"===t&&(this._destroyIcons(),e&&this._createIcons())):this._activate(e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t),this._toggleClass(null,"ui-state-disabled",!!t),this._toggleClass(this.headers.add(this.headers.next()),null,"ui-state-disabled",!!t)},_keydown:function(e){if(!e.altKey&&!e.ctrlKey){var i=t.ui.keyCode,s=this.headers.length,n=this.headers.index(e.target),o=!1;switch(e.keyCode){case i.RIGHT:case i.DOWN:o=this.headers[(n+1)%s];break;case i.LEFT:case i.UP:o=this.headers[(n-1+s)%s];break;case i.SPACE:case i.ENTER:this._eventHandler(e);break;case i.HOME:o=this.headers[0];break;case i.END:o=this.headers[s-1]}o&&(t(e.target).attr("tabIndex",-1),t(o).attr("tabIndex",0),t(o).trigger("focus"),e.preventDefault())}},_panelKeyDown:function(e){e.keyCode===t.ui.keyCode.UP&&e.ctrlKey&&t(e.currentTarget).prev().trigger("focus")},refresh:function(){var e=this.options;this._processPanels(),!1===e.active&&!0===e.collapsible||!this.headers.length?(e.active=!1,this.active=t()):!1===e.active?this._activate(0):this.active.length&&!t.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(e.active=!1,this.active=t()):this._activate(Math.max(0,e.active-1)):e.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){var t=this.headers,e=this.panels;this.headers=this.element.find(this.options.header),this._addClass(this.headers,"ui-accordion-header ui-accordion-header-collapsed","ui-state-default"),this.panels=this.headers.next().filter(":not(.ui-accordion-content-active)").hide(),this._addClass(this.panels,"ui-accordion-content","ui-helper-reset ui-widget-content"),e&&(this._off(t.not(this.headers)),this._off(e.not(this.panels)))},_refresh:function(){var e,i=this.options,s=i.heightStyle,n=this.element.parent();this.active=this._findActive(i.active),this._addClass(this.active,"ui-accordion-header-active","ui-state-active")._removeClass(this.active,"ui-accordion-header-collapsed"),this._addClass(this.active.next(),"ui-accordion-content-active"),this.active.next().show(),this.headers.attr("role","tab").each(function(){var e=t(this),i=e.uniqueId().attr("id"),s=e.next(),n=s.uniqueId().attr("id");e.attr("aria-controls",n),s.attr("aria-labelledby",i)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}).next().attr({"aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}).next().attr({"aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(i.event),"fill"===s?(e=n.height(),this.element.siblings(":visible").each(function(){var i=t(this),s=i.css("position");"absolute"!==s&&"fixed"!==s&&(e-=i.outerHeight(!0))}),this.headers.each(function(){e-=t(this).outerHeight(!0)}),this.headers.next().each(function(){t(this).height(Math.max(0,e-t(this).innerHeight()+t(this).height()))}).css("overflow","auto")):"auto"===s&&(e=0,this.headers.next().each(function(){var i=t(this).is(":visible");i||t(this).show(),e=Math.max(e,t(this).css("height","").height()),i||t(this).hide()}).height(e))},_activate:function(e){var i=this._findActive(e)[0];i!==this.active[0]&&(i=i||this.active[0],this._eventHandler({target:i,currentTarget:i,preventDefault:t.noop}))},_findActive:function(e){return"number"==typeof e?this.headers.eq(e):t()},_setupEvents:function(e){var i={keydown:"_keydown"};e&&t.each(e.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,i),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(e){var i,s,n=this.options,o=this.active,a=t(e.currentTarget),r=a[0]===o[0],h=r&&n.collapsible,l=h?t():a.next(),c=o.next(),u={oldHeader:o,oldPanel:c,newHeader:h?t():a,newPanel:l};e.preventDefault(),r&&!n.collapsible||!1===this._trigger("beforeActivate",e,u)||(n.active=!h&&this.headers.index(a),this.active=r?t():a,this._toggle(u),this._removeClass(o,"ui-accordion-header-active","ui-state-active"),n.icons&&(i=o.children(".ui-accordion-header-icon"),this._removeClass(i,null,n.icons.activeHeader)._addClass(i,null,n.icons.header)),r||(this._removeClass(a,"ui-accordion-header-collapsed")._addClass(a,"ui-accordion-header-active","ui-state-active"),n.icons&&(s=a.children(".ui-accordion-header-icon"),this._removeClass(s,null,n.icons.header)._addClass(s,null,n.icons.activeHeader)),this._addClass(a.next(),"ui-accordion-content-active")))},_toggle:function(e){var i=e.newPanel,s=this.prevShow.length?this.prevShow:e.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=i,this.prevHide=s,this.options.animate?this._animate(i,s,e):(s.hide(),i.show(),this._toggleComplete(e)),s.attr({"aria-hidden":"true"}),s.prev().attr({"aria-selected":"false","aria-expanded":"false"}),i.length&&s.length?s.prev().attr({tabIndex:-1,"aria-expanded":"false"}):i.length&&this.headers.filter(function(){return 0===parseInt(t(this).attr("tabIndex"),10)}).attr("tabIndex",-1),i.attr("aria-hidden","false").prev().attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_animate:function(t,e,i){var s,n,o,a=this,r=0,h=t.css("box-sizing"),l=t.length&&(!e.length||t.index()",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(t){t.preventDefault()},"click .ui-menu-item":function(e){var i=t(e.target),s=t(t.ui.safeActiveElement(this.document[0]));!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.select(e),e.isPropagationStopped()||(this.mouseHandled=!0),i.has(".ui-menu").length?this.expand(e):!this.element.is(":focus")&&s.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(e){if(!this.previousFilter){var i=t(e.target).closest(".ui-menu-item"),s=t(e.currentTarget);i[0]===s[0]&&(this._removeClass(s.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(e,s))}},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this.element.find(this.options.items).eq(0);e||this.focus(t,i)},blur:function(e){this._delay(function(){!t.contains(this.element[0],t.ui.safeActiveElement(this.document[0]))&&this.collapseAll(e)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){this._closeOnDocumentClick(t)&&this.collapseAll(t),this.mouseHandled=!1}})},_destroy:function(){var e=this.element.find(".ui-menu-item").removeAttr("role aria-disabled").children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),e.children().each(function(){var e=t(this);e.data("ui-menu-submenu-caret")&&e.remove()})},_keydown:function(e){var i,s,n,o,a=!0;switch(e.keyCode){case t.ui.keyCode.PAGE_UP:this.previousPage(e);break;case t.ui.keyCode.PAGE_DOWN:this.nextPage(e);break;case t.ui.keyCode.HOME:this._move("first","first",e);break;case t.ui.keyCode.END:this._move("last","last",e);break;case t.ui.keyCode.UP:this.previous(e);break;case t.ui.keyCode.DOWN:this.next(e);break;case t.ui.keyCode.LEFT:this.collapse(e);break;case t.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(e);break;case t.ui.keyCode.ENTER:case t.ui.keyCode.SPACE:this._activate(e);break;case t.ui.keyCode.ESCAPE:this.collapse(e);break;default:a=!1,s=this.previousFilter||"",o=!1,n=e.keyCode>=96&&e.keyCode<=105?(e.keyCode-96).toString():String.fromCharCode(e.keyCode),clearTimeout(this.filterTimer),n===s?o=!0:n=s+n,i=this._filterMenuItems(n),(i=o&&-1!==i.index(this.active.next())?this.active.nextAll(".ui-menu-item"):i).length||(n=String.fromCharCode(e.keyCode),i=this._filterMenuItems(n)),i.length?(this.focus(e,i),this.previousFilter=n,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}a&&e.preventDefault()},_activate:function(t){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var e,i,s,n,o=this,a=this.options.icons.submenu,r=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),i=r.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var e=t(this),i=e.prev(),s=t("").data("ui-menu-submenu-caret",!0);o._addClass(s,"ui-menu-icon","ui-icon "+a),i.attr("aria-haspopup","true").prepend(s),e.attr("aria-labelledby",i.attr("id"))}),this._addClass(i,"ui-menu","ui-widget ui-widget-content ui-front"),(e=r.add(this.element).find(this.options.items)).not(".ui-menu-item").each(function(){var e=t(this);o._isDivider(e)&&o._addClass(e,"ui-menu-divider","ui-widget-content")}),n=(s=e.not(".ui-menu-item, .ui-menu-divider")).children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(s,"ui-menu-item")._addClass(n,"ui-menu-item-wrapper"),e.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!t.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){if("icons"===t){var i=this.element.find(".ui-menu-icon");this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,e.submenu)}this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",String(t)),this._toggleClass(null,"ui-state-disabled",!!t)},focus:function(t,e){var i,s,n;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),s=this.active.children(".ui-menu-item-wrapper"),this._addClass(s,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",s.attr("id")),n=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(n,null,"ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),(i=e.children(".ui-menu")).length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(e){var i,s,n,o,a,r;this._hasScroll()&&(i=parseFloat(t.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(t.css(this.activeMenu[0],"paddingTop"))||0,n=e.offset().top-this.activeMenu.offset().top-i-s,o=this.activeMenu.scrollTop(),a=this.activeMenu.height(),r=e.outerHeight(),n<0?this.activeMenu.scrollTop(o+n):n+r>a&&this.activeMenu.scrollTop(o+n-a+r))},blur:function(t,e){e||clearTimeout(this.timer),this.active&&(this._removeClass(this.active.children(".ui-menu-item-wrapper"),null,"ui-state-active"),this._trigger("blur",t,{item:this.active}),this.active=null)},_startOpening:function(t){clearTimeout(this.timer),"true"===t.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(t)},this.delay))},_open:function(e){var i=t.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(e.parents(".ui-menu")).hide().attr("aria-hidden","true"),e.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(e,i){clearTimeout(this.timer),this.timer=this._delay(function(){var s=i?this.element:t(e&&e.target).closest(this.element.find(".ui-menu"));s.length||(s=this.element),this._close(s),this.blur(e),this._removeClass(s.find(".ui-state-active"),null,"ui-state-active"),this.activeMenu=s},this.delay)},_close:function(t){t||(t=this.active?this.active.parent():this.element),t.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false")},_closeOnDocumentClick:function(e){return!t(e.target).closest(".ui-menu").length},_isDivider:function(t){return!/[^\-\u2014\u2013\s]/.test(t.text())},collapse:function(t){var e=this.active&&this.active.parent().closest(".ui-menu-item",this.element);e&&e.length&&(this._close(),this.focus(t,e))},expand:function(t){var e=this.active&&this.active.children(".ui-menu ").find(this.options.items).first();e&&e.length&&(this._open(e.parent()),this._delay(function(){this.focus(t,e)}))},next:function(t){this._move("next","first",t)},previous:function(t){this._move("prev","last",t)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(t,e,i){var s;this.active&&(s="first"===t||"last"===t?this.active["first"===t?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[t+"All"](".ui-menu-item").eq(0)),s&&s.length&&this.active||(s=this.activeMenu.find(this.options.items)[e]()),this.focus(i,s)},nextPage:function(e){var i,s,n;this.active?this.isLastItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return(i=t(this)).offset().top-s-n<0}),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items)[this.active?"last":"first"]())):this.next(e)},previousPage:function(e){var i,s,n;this.active?this.isFirstItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return(i=t(this)).offset().top-s+n>0}),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items).first())):this.next(e)},_hasScroll:function(){return this.element.outerHeight()",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function(){var e,i,s,n=this.element[0].nodeName.toLowerCase(),o="textarea"===n,a="input"===n;this.isMultiLine=o||!a&&this._isContentEditable(this.element),this.valueMethod=this.element[o||a?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(n){if(this.element.prop("readOnly"))return e=!0,s=!0,void(i=!0);e=!1,s=!1,i=!1;var o=t.ui.keyCode;switch(n.keyCode){case o.PAGE_UP:e=!0,this._move("previousPage",n);break;case o.PAGE_DOWN:e=!0,this._move("nextPage",n);break;case o.UP:e=!0,this._keyEvent("previous",n);break;case o.DOWN:e=!0,this._keyEvent("next",n);break;case o.ENTER:this.menu.active&&(e=!0,n.preventDefault(),this.menu.select(n));break;case o.TAB:this.menu.active&&this.menu.select(n);break;case o.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(n),n.preventDefault());break;default:i=!0,this._searchTimeout(n)}},keypress:function(s){if(e)return e=!1,void(this.isMultiLine&&!this.menu.element.is(":visible")||s.preventDefault());if(!i){var n=t.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:this._move("previousPage",s);break;case n.PAGE_DOWN:this._move("nextPage",s);break;case n.UP:this._keyEvent("previous",s);break;case n.DOWN:this._keyEvent("next",s)}}},input:function(t){if(s)return s=!1,void t.preventDefault();this._searchTimeout(t)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(t){this.cancelBlur?delete this.cancelBlur:(clearTimeout(this.searching),this.close(t),this._change(t))}}),this._initSource(),this.menu=t("
      ").appendTo(this._appendTo()).menu({role:null}).hide().menu("instance"),this._addClass(this.menu.element,"ui-autocomplete","ui-front"),this._on(this.menu.element,{mousedown:function(e){e.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,this.element[0]!==t.ui.safeActiveElement(this.document[0])&&this.element.trigger("focus")})},menufocus:function(e,i){var s,n;if(this.isNewMenu&&(this.isNewMenu=!1,e.originalEvent&&/^mouse/.test(e.originalEvent.type)))return this.menu.blur(),void this.document.one("mousemove",function(){t(e.target).trigger(e.originalEvent)});n=i.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",e,{item:n})&&e.originalEvent&&/^key/.test(e.originalEvent.type)&&this._value(n.value),(s=i.item.attr("aria-label")||n.value)&&t.trim(s).length&&(this.liveRegion.children().hide(),t("
      ").text(s).appendTo(this.liveRegion))},menuselect:function(e,i){var s=i.item.data("ui-autocomplete-item"),n=this.previous;this.element[0]!==t.ui.safeActiveElement(this.document[0])&&(this.element.trigger("focus"),this.previous=n,this._delay(function(){this.previous=n,this.selectedItem=s})),!1!==this._trigger("select",e,{item:s})&&this._value(s.value),this.term=this._value(),this.close(e),this.selectedItem=s}}),this.liveRegion=t("
      ",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(t,e){this._super(t,e),"source"===t&&this._initSource(),"appendTo"===t&&this.menu.element.appendTo(this._appendTo()),"disabled"===t&&e&&this.xhr&&this.xhr.abort()},_isEventTargetInWidget:function(e){var i=this.menu.element[0];return e.target===this.element[0]||e.target===i||t.contains(i,e.target)},_closeOnClickOutside:function(t){this._isEventTargetInWidget(t)||this.close()},_appendTo:function(){var e=this.options.appendTo;return e&&(e=e.jquery||e.nodeType?t(e):this.document.find(e).eq(0)),e&&e[0]||(e=this.element.closest(".ui-front, dialog")),e.length||(e=this.document[0].body),e},_initSource:function(){var e,i,s=this;t.isArray(this.options.source)?(e=this.options.source,this.source=function(i,s){s(t.ui.autocomplete.filter(e,i.term))}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(e,n){s.xhr&&s.xhr.abort(),s.xhr=t.ajax({url:i,data:e,dataType:"json",success:function(t){n(t)},error:function(){n([])}})}):this.source=this.options.source},_searchTimeout:function(t){clearTimeout(this.searching),this.searching=this._delay(function(){var e=this.term===this._value(),i=this.menu.element.is(":visible"),s=t.altKey||t.ctrlKey||t.metaKey||t.shiftKey;e&&(!e||i||s)||(this.selectedItem=null,this.search(null,t))},this.options.delay)},search:function(t,e){return t=null!=t?t:this._value(),this.term=this._value(),t.length").append(t("
      ").text(i.label)).appendTo(e)},_move:function(t,e){if(this.menu.element.is(":visible"))return this.menu.isFirstItem()&&/^previous/.test(t)||this.menu.isLastItem()&&/^next/.test(t)?(this.isMultiLine||this._value(this.term),void this.menu.blur()):void this.menu[t](e);this.search(null,e)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(t,e){this.isMultiLine&&!this.menu.element.is(":visible")||(this._move(t,e),e.preventDefault())},_isContentEditable:function(t){if(!t.length)return!1;var e=t.prop("contentEditable");return"inherit"===e?this._isContentEditable(t.parent()):"true"===e}}),t.extend(t.ui.autocomplete,{escapeRegex:function(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(e,i){var s=new RegExp(t.ui.autocomplete.escapeRegex(i),"i");return t.grep(e,function(t){return s.test(t.label||t.value||t)})}}),t.widget("ui.autocomplete",t.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(t){return t+(t>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(e){var i;this._superApply(arguments),this.options.disabled||this.cancelSearch||(i=e&&e.length?this.options.messages.results(e.length):this.options.messages.noResults,this.liveRegion.children().hide(),t("
      ").text(i).appendTo(this.liveRegion))}});t.ui.autocomplete;var c=/ui-corner-([a-z]){2,6}/g;t.widget("ui.controlgroup",{version:"1.12.1",defaultElement:"
      ",options:{direction:"horizontal",disabled:null,onlyVisible:!0,items:{button:"input[type=button], input[type=submit], input[type=reset], button, a",controlgroupLabel:".ui-controlgroup-label",checkboxradio:"input[type='checkbox'], input[type='radio']",selectmenu:"select",spinner:".ui-spinner-input"}},_create:function(){this._enhance()},_enhance:function(){this.element.attr("role","toolbar"),this.refresh()},_destroy:function(){this._callChildMethod("destroy"),this.childWidgets.removeData("ui-controlgroup-data"),this.element.removeAttr("role"),this.options.items.controlgroupLabel&&this.element.find(this.options.items.controlgroupLabel).find(".ui-controlgroup-label-contents").contents().unwrap()},_initWidgets:function(){var e=this,i=[];t.each(this.options.items,function(s,n){var o,a={};if(n)return"controlgroupLabel"===s?((o=e.element.find(n)).each(function(){var e=t(this);e.children(".ui-controlgroup-label-contents").length||e.contents().wrapAll("")}),e._addClass(o,null,"ui-widget ui-widget-content ui-state-default"),void(i=i.concat(o.get()))):void(t.fn[s]&&(a=e["_"+s+"Options"]?e["_"+s+"Options"]("middle"):{classes:{}},e.element.find(n).each(function(){var n=t(this),o=n[s]("instance"),r=t.widget.extend({},a);if("button"!==s||!n.parent(".ui-spinner").length){o||(o=n[s]()[s]("instance")),o&&(r.classes=e._resolveClassesValues(r.classes,o)),n[s](r);var h=n[s]("widget");t.data(h[0],"ui-controlgroup-data",o||n[s]("instance")),i.push(h[0])}})))}),this.childWidgets=t(t.unique(i)),this._addClass(this.childWidgets,"ui-controlgroup-item")},_callChildMethod:function(e){this.childWidgets.each(function(){var i=t(this).data("ui-controlgroup-data");i&&i[e]&&i[e]()})},_updateCornerClass:function(t,e){var i=this._buildSimpleOptions(e,"label").classes.label;this._removeClass(t,null,"ui-corner-top ui-corner-bottom ui-corner-left ui-corner-right ui-corner-all"),this._addClass(t,null,i)},_buildSimpleOptions:function(t,e){var i="vertical"===this.options.direction,s={classes:{}};return s.classes[e]={middle:"",first:"ui-corner-"+(i?"top":"left"),last:"ui-corner-"+(i?"bottom":"right"),only:"ui-corner-all"}[t],s},_spinnerOptions:function(t){var e=this._buildSimpleOptions(t,"ui-spinner");return e.classes["ui-spinner-up"]="",e.classes["ui-spinner-down"]="",e},_buttonOptions:function(t){return this._buildSimpleOptions(t,"ui-button")},_checkboxradioOptions:function(t){return this._buildSimpleOptions(t,"ui-checkboxradio-label")},_selectmenuOptions:function(t){var e="vertical"===this.options.direction;return{width:!!e&&"auto",classes:{middle:{"ui-selectmenu-button-open":"","ui-selectmenu-button-closed":""},first:{"ui-selectmenu-button-open":"ui-corner-"+(e?"top":"tl"),"ui-selectmenu-button-closed":"ui-corner-"+(e?"top":"left")},last:{"ui-selectmenu-button-open":e?"":"ui-corner-tr","ui-selectmenu-button-closed":"ui-corner-"+(e?"bottom":"right")},only:{"ui-selectmenu-button-open":"ui-corner-top","ui-selectmenu-button-closed":"ui-corner-all"}}[t]}},_resolveClassesValues:function(e,i){var s={};return t.each(e,function(n){var o=i.options.classes[n]||"";o=t.trim(o.replace(c,"")),s[n]=(o+" "+e[n]).replace(/\s+/g," ")}),s},_setOption:function(t,e){"direction"===t&&this._removeClass("ui-controlgroup-"+this.options.direction),this._super(t,e),"disabled"!==t?this.refresh():this._callChildMethod(e?"disable":"enable")},refresh:function(){var e,i=this;this._addClass("ui-controlgroup ui-controlgroup-"+this.options.direction),"horizontal"===this.options.direction&&this._addClass(null,"ui-helper-clearfix"),this._initWidgets(),e=this.childWidgets,this.options.onlyVisible&&(e=e.filter(":visible")),e.length&&(t.each(["first","last"],function(t,s){var n=e[s]().data("ui-controlgroup-data");if(n&&i["_"+n.widgetName+"Options"]){var o=i["_"+n.widgetName+"Options"](1===e.length?"only":s);o.classes=i._resolveClassesValues(o.classes,n),n.element[n.widgetName](o)}else i._updateCornerClass(e[s](),s)}),this._callChildMethod("refresh"))}});t.widget("ui.checkboxradio",[t.ui.formResetMixin,{version:"1.12.1",options:{disabled:null,label:null,icon:!0,classes:{"ui-checkboxradio-label":"ui-corner-all","ui-checkboxradio-icon":"ui-corner-all"}},_getCreateOptions:function(){var e,i,s=this,n=this._super()||{};return this._readType(),i=this.element.labels(),this.label=t(i[i.length-1]),this.label.length||t.error("No label found for checkboxradio widget"),this.originalLabel="",this.label.contents().not(this.element[0]).each(function(){s.originalLabel+=3===this.nodeType?t(this).text():this.outerHTML}),this.originalLabel&&(n.label=this.originalLabel),null!=(e=this.element[0].disabled)&&(n.disabled=e),n},_create:function(){var t=this.element[0].checked;this._bindFormResetHandler(),null==this.options.disabled&&(this.options.disabled=this.element[0].disabled),this._setOption("disabled",this.options.disabled),this._addClass("ui-checkboxradio","ui-helper-hidden-accessible"),this._addClass(this.label,"ui-checkboxradio-label","ui-button ui-widget"),"radio"===this.type&&this._addClass(this.label,"ui-checkboxradio-radio-label"),this.options.label&&this.options.label!==this.originalLabel?this._updateLabel():this.originalLabel&&(this.options.label=this.originalLabel),this._enhance(),t&&(this._addClass(this.label,"ui-checkboxradio-checked","ui-state-active"),this.icon&&this._addClass(this.icon,null,"ui-state-hover")),this._on({change:"_toggleClasses",focus:function(){this._addClass(this.label,null,"ui-state-focus ui-visual-focus")},blur:function(){this._removeClass(this.label,null,"ui-state-focus ui-visual-focus")}})},_readType:function(){var e=this.element[0].nodeName.toLowerCase();this.type=this.element[0].type,"input"===e&&/radio|checkbox/.test(this.type)||t.error("Can't create checkboxradio on element.nodeName="+e+" and element.type="+this.type)},_enhance:function(){this._updateIcon(this.element[0].checked)},widget:function(){return this.label},_getRadioGroup:function(){var e=this.element[0].name,i="input[name='"+t.ui.escapeSelector(e)+"']";return e?(this.form.length?t(this.form[0].elements).filter(i):t(i).filter(function(){return 0===t(this).form().length})).not(this.element):t([])},_toggleClasses:function(){var e=this.element[0].checked;this._toggleClass(this.label,"ui-checkboxradio-checked","ui-state-active",e),this.options.icon&&"checkbox"===this.type&&this._toggleClass(this.icon,null,"ui-icon-check ui-state-checked",e)._toggleClass(this.icon,null,"ui-icon-blank",!e),"radio"===this.type&&this._getRadioGroup().each(function(){var e=t(this).checkboxradio("instance");e&&e._removeClass(e.label,"ui-checkboxradio-checked","ui-state-active")})},_destroy:function(){this._unbindFormResetHandler(),this.icon&&(this.icon.remove(),this.iconSpace.remove())},_setOption:function(t,e){if("label"!==t||e){if(this._super(t,e),"disabled"===t)return this._toggleClass(this.label,null,"ui-state-disabled",e),void(this.element[0].disabled=e);this.refresh()}},_updateIcon:function(e){var i="ui-icon ui-icon-background ";this.options.icon?(this.icon||(this.icon=t(""),this.iconSpace=t(" "),this._addClass(this.iconSpace,"ui-checkboxradio-icon-space")),"checkbox"===this.type?(i+=e?"ui-icon-check ui-state-checked":"ui-icon-blank",this._removeClass(this.icon,null,e?"ui-icon-blank":"ui-icon-check")):i+="ui-icon-blank",this._addClass(this.icon,"ui-checkboxradio-icon",i),e||this._removeClass(this.icon,null,"ui-icon-check ui-state-checked"),this.icon.prependTo(this.label).after(this.iconSpace)):void 0!==this.icon&&(this.icon.remove(),this.iconSpace.remove(),delete this.icon)},_updateLabel:function(){var t=this.label.contents().not(this.element[0]);this.icon&&(t=t.not(this.icon[0])),this.iconSpace&&(t=t.not(this.iconSpace[0])),t.remove(),this.label.append(this.options.label)},refresh:function(){var t=this.element[0].checked,e=this.element[0].disabled;this._updateIcon(t),this._toggleClass(this.label,"ui-checkboxradio-checked","ui-state-active",t),null!==this.options.label&&this._updateLabel(),e!==this.options.disabled&&this._setOptions({disabled:e})}}]);t.ui.checkboxradio;t.widget("ui.button",{version:"1.12.1",defaultElement:"").addClass(this._triggerClass).html(o?t("").attr({src:o,alt:n,title:n}):n)),e[r?"before":"after"](i.trigger),i.trigger.on("click",function(){return t.datepicker._datepickerShowing&&t.datepicker._lastInput===e[0]?t.datepicker._hideDatepicker():t.datepicker._datepickerShowing&&t.datepicker._lastInput!==e[0]?(t.datepicker._hideDatepicker(),t.datepicker._showDatepicker(e[0])):t.datepicker._showDatepicker(e[0]),!1}))},_autoSize:function(t){if(this._get(t,"autoSize")&&!t.inline){var e,i,s,n,o=new Date(2009,11,20),a=this._get(t,"dateFormat");a.match(/[DM]/)&&(e=function(t){for(i=0,s=0,n=0;ni&&(i=t[n].length,s=n);return s},o.setMonth(e(this._get(t,a.match(/MM/)?"monthNames":"monthNamesShort"))),o.setDate(e(this._get(t,a.match(/DD/)?"dayNames":"dayNamesShort"))+20-o.getDay())),t.input.attr("size",this._formatDate(t,o).length)}},_inlineDatepicker:function(e,i){var s=t(e);s.hasClass(this.markerClassName)||(s.addClass(this.markerClassName).append(i.dpDiv),t.data(e,"datepicker",i),this._setDate(i,this._getDefaultDate(i),!0),this._updateDatepicker(i),this._updateAlternate(i),i.settings.disabled&&this._disableDatepicker(e),i.dpDiv.css("display","block"))},_dialogDatepicker:function(e,i,s,n,o){var a,r,h,l,c,u=this._dialogInst;return u||(this.uuid+=1,a="dp"+this.uuid,this._dialogInput=t(""),this._dialogInput.on("keydown",this._doKeyDown),t("body").append(this._dialogInput),(u=this._dialogInst=this._newInst(this._dialogInput,!1)).settings={},t.data(this._dialogInput[0],"datepicker",u)),g(u.settings,n||{}),i=i&&i.constructor===Date?this._formatDate(u,i):i,this._dialogInput.val(i),this._pos=o?o.length?o:[o.pageX,o.pageY]:null,this._pos||(r=document.documentElement.clientWidth,h=document.documentElement.clientHeight,l=document.documentElement.scrollLeft||document.body.scrollLeft,c=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[r/2-100+l,h/2-150+c]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),u.settings.onSelect=s,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),t.blockUI&&t.blockUI(this.dpDiv),t.data(this._dialogInput[0],"datepicker",u),this},_destroyDatepicker:function(e){var i,s=t(e),n=t.data(e,"datepicker");s.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),t.removeData(e,"datepicker"),"input"===i?(n.append.remove(),n.trigger.remove(),s.removeClass(this.markerClassName).off("focus",this._showDatepicker).off("keydown",this._doKeyDown).off("keypress",this._doKeyPress).off("keyup",this._doKeyUp)):"div"!==i&&"span"!==i||s.removeClass(this.markerClassName).empty(),u===n&&(u=null))},_enableDatepicker:function(e){var i,s,n=t(e),o=t.data(e,"datepicker");n.hasClass(this.markerClassName)&&("input"===(i=e.nodeName.toLowerCase())?(e.disabled=!1,o.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):"div"!==i&&"span"!==i||((s=n.children("."+this._inlineClass)).children().removeClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=t.map(this._disabledInputs,function(t){return t===e?null:t}))},_disableDatepicker:function(e){var i,s,n=t(e),o=t.data(e,"datepicker");n.hasClass(this.markerClassName)&&("input"===(i=e.nodeName.toLowerCase())?(e.disabled=!0,o.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):"div"!==i&&"span"!==i||((s=n.children("."+this._inlineClass)).children().addClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=t.map(this._disabledInputs,function(t){return t===e?null:t}),this._disabledInputs[this._disabledInputs.length]=e)},_isDisabledDatepicker:function(t){if(!t)return!1;for(var e=0;e-1},_doKeyUp:function(e){var i=t.datepicker._getInst(e.target);if(i.input.val()!==i.lastVal)try{t.datepicker.parseDate(t.datepicker._get(i,"dateFormat"),i.input?i.input.val():null,t.datepicker._getFormatConfig(i))&&(t.datepicker._setDateFromField(i),t.datepicker._updateAlternate(i),t.datepicker._updateDatepicker(i))}catch(t){}return!0},_showDatepicker:function(e){var i,s,n,o,a,r,h;("input"!==(e=e.target||e).nodeName.toLowerCase()&&(e=t("input",e.parentNode)[0]),t.datepicker._isDisabledDatepicker(e)||t.datepicker._lastInput===e)||(i=t.datepicker._getInst(e),t.datepicker._curInst&&t.datepicker._curInst!==i&&(t.datepicker._curInst.dpDiv.stop(!0,!0),i&&t.datepicker._datepickerShowing&&t.datepicker._hideDatepicker(t.datepicker._curInst.input[0])),!1!==(n=(s=t.datepicker._get(i,"beforeShow"))?s.apply(e,[e,i]):{})&&(g(i.settings,n),i.lastVal=null,t.datepicker._lastInput=e,t.datepicker._setDateFromField(i),t.datepicker._inDialog&&(e.value=""),t.datepicker._pos||(t.datepicker._pos=t.datepicker._findPos(e),t.datepicker._pos[1]+=e.offsetHeight),o=!1,t(e).parents().each(function(){return!(o|="fixed"===t(this).css("position"))}),a={left:t.datepicker._pos[0],top:t.datepicker._pos[1]},t.datepicker._pos=null,i.dpDiv.empty(),i.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),t.datepicker._updateDatepicker(i),a=t.datepicker._checkOffset(i,a,o),i.dpDiv.css({position:t.datepicker._inDialog&&t.blockUI?"static":o?"fixed":"absolute",display:"none",left:a.left+"px",top:a.top+"px"}),i.inline||(r=t.datepicker._get(i,"showAnim"),h=t.datepicker._get(i,"duration"),i.dpDiv.css("z-index",function(t){for(var e,i;t.length&&t[0]!==document;){if(("absolute"===(e=t.css("position"))||"relative"===e||"fixed"===e)&&(i=parseInt(t.css("zIndex"),10),!isNaN(i)&&0!==i))return i;t=t.parent()}return 0}(t(e))+1),t.datepicker._datepickerShowing=!0,t.effects&&t.effects.effect[r]?i.dpDiv.show(r,t.datepicker._get(i,"showOptions"),h):i.dpDiv[r||"show"](r?h:null),t.datepicker._shouldFocusInput(i)&&i.input.trigger("focus"),t.datepicker._curInst=i)))},_updateDatepicker:function(e){this.maxRows=4,u=e,e.dpDiv.empty().append(this._generateHTML(e)),this._attachHandlers(e);var i,s=this._getNumberOfMonths(e),n=s[1],o=e.dpDiv.find("."+this._dayOverClass+" a");o.length>0&&f.apply(o.get(0)),e.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),n>1&&e.dpDiv.addClass("ui-datepicker-multi-"+n).css("width",17*n+"em"),e.dpDiv[(1!==s[0]||1!==s[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),e.dpDiv[(this._get(e,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),e===t.datepicker._curInst&&t.datepicker._datepickerShowing&&t.datepicker._shouldFocusInput(e)&&e.input.trigger("focus"),e.yearshtml&&(i=e.yearshtml,setTimeout(function(){i===e.yearshtml&&e.yearshtml&&e.dpDiv.find("select.ui-datepicker-year:first").replaceWith(e.yearshtml),i=e.yearshtml=null},0))},_shouldFocusInput:function(t){return t.input&&t.input.is(":visible")&&!t.input.is(":disabled")&&!t.input.is(":focus")},_checkOffset:function(e,i,s){var n=e.dpDiv.outerWidth(),o=e.dpDiv.outerHeight(),a=e.input?e.input.outerWidth():0,r=e.input?e.input.outerHeight():0,h=document.documentElement.clientWidth+(s?0:t(document).scrollLeft()),l=document.documentElement.clientHeight+(s?0:t(document).scrollTop());return i.left-=this._get(e,"isRTL")?n-a:0,i.left-=s&&i.left===e.input.offset().left?t(document).scrollLeft():0,i.top-=s&&i.top===e.input.offset().top+r?t(document).scrollTop():0,i.left-=Math.min(i.left,i.left+n>h&&h>n?Math.abs(i.left+n-h):0),i.top-=Math.min(i.top,i.top+o>l&&l>o?Math.abs(o+r):0),i},_findPos:function(e){for(var i,s=this._getInst(e),n=this._get(s,"isRTL");e&&("hidden"===e.type||1!==e.nodeType||t.expr.filters.hidden(e));)e=e[n?"previousSibling":"nextSibling"];return[(i=t(e).offset()).left,i.top]},_hideDatepicker:function(e){var i,s,n,o,a=this._curInst;!a||e&&a!==t.data(e,"datepicker")||this._datepickerShowing&&(i=this._get(a,"showAnim"),s=this._get(a,"duration"),n=function(){t.datepicker._tidyDialog(a)},t.effects&&(t.effects.effect[i]||t.effects[i])?a.dpDiv.hide(i,t.datepicker._get(a,"showOptions"),s,n):a.dpDiv["slideDown"===i?"slideUp":"fadeIn"===i?"fadeOut":"hide"](i?s:null,n),i||n(),this._datepickerShowing=!1,(o=this._get(a,"onClose"))&&o.apply(a.input?a.input[0]:null,[a.input?a.input.val():"",a]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),t.blockUI&&(t.unblockUI(),t("body").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(t){t.dpDiv.removeClass(this._dialogClass).off(".ui-datepicker-calendar")},_checkExternalClick:function(e){if(t.datepicker._curInst){var i=t(e.target),s=t.datepicker._getInst(i[0]);(i[0].id===t.datepicker._mainDivId||0!==i.parents("#"+t.datepicker._mainDivId).length||i.hasClass(t.datepicker.markerClassName)||i.closest("."+t.datepicker._triggerClass).length||!t.datepicker._datepickerShowing||t.datepicker._inDialog&&t.blockUI)&&(!i.hasClass(t.datepicker.markerClassName)||t.datepicker._curInst===s)||t.datepicker._hideDatepicker()}},_adjustDate:function(e,i,s){var n=t(e),o=this._getInst(n[0]);this._isDisabledDatepicker(n[0])||(this._adjustInstDate(o,i+("M"===s?this._get(o,"showCurrentAtPos"):0),s),this._updateDatepicker(o))},_gotoToday:function(e){var i,s=t(e),n=this._getInst(s[0]);this._get(n,"gotoCurrent")&&n.currentDay?(n.selectedDay=n.currentDay,n.drawMonth=n.selectedMonth=n.currentMonth,n.drawYear=n.selectedYear=n.currentYear):(i=new Date,n.selectedDay=i.getDate(),n.drawMonth=n.selectedMonth=i.getMonth(),n.drawYear=n.selectedYear=i.getFullYear()),this._notifyChange(n),this._adjustDate(s)},_selectMonthYear:function(e,i,s){var n=t(e),o=this._getInst(n[0]);o["selected"+("M"===s?"Month":"Year")]=o["draw"+("M"===s?"Month":"Year")]=parseInt(i.options[i.selectedIndex].value,10),this._notifyChange(o),this._adjustDate(n)},_selectDay:function(e,i,s,n){var o,a=t(e);t(n).hasClass(this._unselectableClass)||this._isDisabledDatepicker(a[0])||((o=this._getInst(a[0])).selectedDay=o.currentDay=t("a",n).html(),o.selectedMonth=o.currentMonth=i,o.selectedYear=o.currentYear=s,this._selectDate(e,this._formatDate(o,o.currentDay,o.currentMonth,o.currentYear)))},_clearDate:function(e){var i=t(e);this._selectDate(i,"")},_selectDate:function(e,i){var s,n=t(e),o=this._getInst(n[0]);i=null!=i?i:this._formatDate(o),o.input&&o.input.val(i),this._updateAlternate(o),(s=this._get(o,"onSelect"))?s.apply(o.input?o.input[0]:null,[i,o]):o.input&&o.input.trigger("change"),o.inline?this._updateDatepicker(o):(this._hideDatepicker(),this._lastInput=o.input[0],"object"!=typeof o.input[0]&&o.input.trigger("focus"),this._lastInput=null)},_updateAlternate:function(e){var i,s,n,o=this._get(e,"altField");o&&(i=this._get(e,"altFormat")||this._get(e,"dateFormat"),s=this._getDate(e),n=this.formatDate(i,s,this._getFormatConfig(e)),t(o).val(n))},noWeekends:function(t){var e=t.getDay();return[e>0&&e<6,""]},iso8601Week:function(t){var e,i=new Date(t.getTime());return i.setDate(i.getDate()+4-(i.getDay()||7)),e=i.getTime(),i.setMonth(0),i.setDate(1),Math.floor(Math.round((e-i)/864e5)/7)+1},parseDate:function(e,i,s){if(null==e||null==i)throw"Invalid arguments";if(""===(i="object"==typeof i?i.toString():i+""))return null;var n,o,a,r,h=0,l=(s?s.shortYearCutoff:null)||this._defaults.shortYearCutoff,c="string"!=typeof l?l:(new Date).getFullYear()%100+parseInt(l,10),u=(s?s.dayNamesShort:null)||this._defaults.dayNamesShort,d=(s?s.dayNames:null)||this._defaults.dayNames,p=(s?s.monthNamesShort:null)||this._defaults.monthNamesShort,f=(s?s.monthNames:null)||this._defaults.monthNames,g=-1,m=-1,_=-1,v=-1,b=!1,y=function(t){var i=n+1-1)for(m=1,_=v;;){if(_<=(o=this._getDaysInMonth(g,m-1)))break;m++,_-=o}if((r=this._daylightSavingAdjust(new Date(g,m-1,_))).getFullYear()!==g||r.getMonth()+1!==m||r.getDate()!==_)throw"Invalid date";return r},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*60*60*1e7,formatDate:function(t,e,i){if(!e)return"";var s,n=(i?i.dayNamesShort:null)||this._defaults.dayNamesShort,o=(i?i.dayNames:null)||this._defaults.dayNames,a=(i?i.monthNamesShort:null)||this._defaults.monthNamesShort,r=(i?i.monthNames:null)||this._defaults.monthNames,h=function(e){var i=s+112?t.getHours()+2:0),t):null},_setDate:function(t,e,i){var s=!e,n=t.selectedMonth,o=t.selectedYear,a=this._restrictMinMax(t,this._determineDate(t,e,new Date));t.selectedDay=t.currentDay=a.getDate(),t.drawMonth=t.selectedMonth=t.currentMonth=a.getMonth(),t.drawYear=t.selectedYear=t.currentYear=a.getFullYear(),n===t.selectedMonth&&o===t.selectedYear||i||this._notifyChange(t),this._adjustInstDate(t),t.input&&t.input.val(s?"":this._formatDate(t))},_getDate:function(t){return!t.currentYear||t.input&&""===t.input.val()?null:this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay))},_attachHandlers:function(e){var i=this._get(e,"stepMonths"),s="#"+e.id.replace(/\\\\/g,"\\");e.dpDiv.find("[data-handler]").map(function(){var e={prev:function(){t.datepicker._adjustDate(s,-i,"M")},next:function(){t.datepicker._adjustDate(s,+i,"M")},hide:function(){t.datepicker._hideDatepicker()},today:function(){t.datepicker._gotoToday(s)},selectDay:function(){return t.datepicker._selectDay(s,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return t.datepicker._selectMonthYear(s,this,"M"),!1},selectYear:function(){return t.datepicker._selectMonthYear(s,this,"Y"),!1}};t(this).on(this.getAttribute("data-event"),e[this.getAttribute("data-handler")])})},_generateHTML:function(t){var e,i,s,n,o,a,r,h,l,c,u,d,p,f,g,m,_,v,b,y,w,k,x,C,D,I,T,P,M,S,H,z,O,A,N,W,E,F,L,R=new Date,B=this._daylightSavingAdjust(new Date(R.getFullYear(),R.getMonth(),R.getDate())),Y=this._get(t,"isRTL"),j=this._get(t,"showButtonPanel"),q=this._get(t,"hideIfNoPrevNext"),K=this._get(t,"navigationAsDateFormat"),U=this._getNumberOfMonths(t),V=this._get(t,"showCurrentAtPos"),$=this._get(t,"stepMonths"),X=1!==U[0]||1!==U[1],G=this._daylightSavingAdjust(t.currentDay?new Date(t.currentYear,t.currentMonth,t.currentDay):new Date(9999,9,9)),Q=this._getMinMaxDate(t,"min"),J=this._getMinMaxDate(t,"max"),Z=t.drawMonth-V,tt=t.drawYear;if(Z<0&&(Z+=12,tt--),J)for(e=this._daylightSavingAdjust(new Date(J.getFullYear(),J.getMonth()-U[0]*U[1]+1,J.getDate())),e=Q&&ee;)--Z<0&&(Z=11,tt--);for(t.drawMonth=Z,t.drawYear=tt,i=this._get(t,"prevText"),i=K?this.formatDate(i,this._daylightSavingAdjust(new Date(tt,Z-$,1)),this._getFormatConfig(t)):i,s=this._canAdjustMonth(t,-1,tt,Z)?""+i+"":q?"":""+i+"",n=this._get(t,"nextText"),n=K?this.formatDate(n,this._daylightSavingAdjust(new Date(tt,Z+$,1)),this._getFormatConfig(t)):n,o=this._canAdjustMonth(t,1,tt,Z)?""+n+"":q?"":""+n+"",a=this._get(t,"currentText"),r=this._get(t,"gotoCurrent")&&t.currentDay?G:B,a=K?this.formatDate(a,r,this._getFormatConfig(t)):a,h=t.inline?"":"",l=j?"
      "+(Y?h:"")+(this._isInRange(t,r)?"":"")+(Y?"":h)+"
      ":"",c=parseInt(this._get(t,"firstDay"),10),c=isNaN(c)?0:c,u=this._get(t,"showWeek"),d=this._get(t,"dayNames"),p=this._get(t,"dayNamesMin"),f=this._get(t,"monthNames"),g=this._get(t,"monthNamesShort"),m=this._get(t,"beforeShowDay"),_=this._get(t,"showOtherMonths"),v=this._get(t,"selectOtherMonths"),b=this._getDefaultDate(t),y="",k=0;k1)switch(C){case 0:T+=" ui-datepicker-group-first",I=" ui-corner-"+(Y?"right":"left");break;case U[1]-1:T+=" ui-datepicker-group-last",I=" ui-corner-"+(Y?"left":"right");break;default:T+=" ui-datepicker-group-middle",I=""}T+="'>"}for(T+="
      "+(/all|left/.test(I)&&0===k?Y?o:s:"")+(/all|right/.test(I)&&0===k?Y?s:o:"")+this._generateMonthYearHeader(t,Z,tt,Q,J,k>0||C>0,f,g)+"
      ",P=u?"":"",w=0;w<7;w++)P+="";for(T+=P+"",S=this._getDaysInMonth(tt,Z),tt===t.selectedYear&&Z===t.selectedMonth&&(t.selectedDay=Math.min(t.selectedDay,S)),H=(this._getFirstDayOfMonth(tt,Z)-c+7)%7,z=Math.ceil((H+S)/7),O=X&&this.maxRows>z?this.maxRows:z,this.maxRows=O,A=this._daylightSavingAdjust(new Date(tt,Z,1-H)),N=0;N",W=u?"":"",w=0;w<7;w++)E=m?m.apply(t.input?t.input[0]:null,[A]):[!0,""],L=(F=A.getMonth()!==Z)&&!v||!E[0]||Q&&AJ,W+="",A.setDate(A.getDate()+1),A=this._daylightSavingAdjust(A);T+=W+""}++Z>11&&(Z=0,tt++),x+=T+="
      "+this._get(t,"weekHeader")+"=5?" class='ui-datepicker-week-end'":"")+">"+p[M]+"
      "+this._get(t,"calculateWeek")(A)+""+(F&&!_?" ":L?""+A.getDate()+"":""+A.getDate()+"")+"
      "+(X?"
      "+(U[0]>0&&C===U[1]-1?"
      ":""):"")}y+=x}return y+=l,t._keyEvent=!1,y},_generateMonthYearHeader:function(t,e,i,s,n,o,a,r){var h,l,c,u,d,p,f,g,m=this._get(t,"changeMonth"),_=this._get(t,"changeYear"),v=this._get(t,"showMonthAfterYear"),b="
      ",y="";if(o||!m)y+=""+a[e]+"";else{for(h=s&&s.getFullYear()===i,l=n&&n.getFullYear()===i,y+=""}if(v||(b+=y+(!o&&m&&_?"":" ")),!t.yearshtml)if(t.yearshtml="",o||!_)b+=""+i+"";else{for(u=this._get(t,"yearRange").split(":"),d=(new Date).getFullYear(),f=(p=function(t){var e=t.match(/c[+\-].*/)?i+parseInt(t.substring(1),10):t.match(/[+\-].*/)?d+parseInt(t,10):parseInt(t,10);return isNaN(e)?d:e})(u[0]),g=Math.max(f,p(u[1]||"")),f=s?Math.max(f,s.getFullYear()):f,g=n?Math.min(g,n.getFullYear()):g,t.yearshtml+="",b+=t.yearshtml,t.yearshtml=null}return b+=this._get(t,"yearSuffix"),v&&(b+=(!o&&m&&_?"":" ")+y),b+="
      "},_adjustInstDate:function(t,e,i){var s=t.selectedYear+("Y"===i?e:0),n=t.selectedMonth+("M"===i?e:0),o=Math.min(t.selectedDay,this._getDaysInMonth(s,n))+("D"===i?e:0),a=this._restrictMinMax(t,this._daylightSavingAdjust(new Date(s,n,o)));t.selectedDay=a.getDate(),t.drawMonth=t.selectedMonth=a.getMonth(),t.drawYear=t.selectedYear=a.getFullYear(),"M"!==i&&"Y"!==i||this._notifyChange(t)},_restrictMinMax:function(t,e){var i=this._getMinMaxDate(t,"min"),s=this._getMinMaxDate(t,"max"),n=i&&es?s:n},_notifyChange:function(t){var e=this._get(t,"onChangeMonthYear");e&&e.apply(t.input?t.input[0]:null,[t.selectedYear,t.selectedMonth+1,t])},_getNumberOfMonths:function(t){var e=this._get(t,"numberOfMonths");return null==e?[1,1]:"number"==typeof e?[1,e]:e},_getMinMaxDate:function(t,e){return this._determineDate(t,this._get(t,e+"Date"),null)},_getDaysInMonth:function(t,e){return 32-this._daylightSavingAdjust(new Date(t,e,32)).getDate()},_getFirstDayOfMonth:function(t,e){return new Date(t,e,1).getDay()},_canAdjustMonth:function(t,e,i,s){var n=this._getNumberOfMonths(t),o=this._daylightSavingAdjust(new Date(i,s+(e<0?e:n[0]*n[1]),1));return e<0&&o.setDate(this._getDaysInMonth(o.getFullYear(),o.getMonth())),this._isInRange(t,o)},_isInRange:function(t,e){var i,s,n=this._getMinMaxDate(t,"min"),o=this._getMinMaxDate(t,"max"),a=null,r=null,h=this._get(t,"yearRange");return h&&(i=h.split(":"),s=(new Date).getFullYear(),a=parseInt(i[0],10),r=parseInt(i[1],10),i[0].match(/[+\-].*/)&&(a+=s),i[1].match(/[+\-].*/)&&(r+=s)),(!n||e.getTime()>=n.getTime())&&(!o||e.getTime()<=o.getTime())&&(!a||e.getFullYear()>=a)&&(!r||e.getFullYear()<=r)},_getFormatConfig:function(t){var e=this._get(t,"shortYearCutoff");return{shortYearCutoff:e="string"!=typeof e?e:(new Date).getFullYear()%100+parseInt(e,10),dayNamesShort:this._get(t,"dayNamesShort"),dayNames:this._get(t,"dayNames"),monthNamesShort:this._get(t,"monthNamesShort"),monthNames:this._get(t,"monthNames")}},_formatDate:function(t,e,i,s){e||(t.currentDay=t.selectedDay,t.currentMonth=t.selectedMonth,t.currentYear=t.selectedYear);var n=e?"object"==typeof e?e:this._daylightSavingAdjust(new Date(s,i,e)):this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay));return this.formatDate(this._get(t,"dateFormat"),n,this._getFormatConfig(t))}}),t.fn.datepicker=function(e){if(!this.length)return this;t.datepicker.initialized||(t(document).on("mousedown",t.datepicker._checkExternalClick),t.datepicker.initialized=!0),0===t("#"+t.datepicker._mainDivId).length&&t("body").append(t.datepicker.dpDiv);var i=Array.prototype.slice.call(arguments,1);return"string"!=typeof e||"isDisabled"!==e&&"getDate"!==e&&"widget"!==e?"option"===e&&2===arguments.length&&"string"==typeof arguments[1]?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i)):this.each(function(){"string"==typeof e?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this].concat(i)):t.datepicker._attachDatepicker(this,e)}):t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i))},t.datepicker=new d,t.datepicker.initialized=!1,t.datepicker.uuid=(new Date).getTime(),t.datepicker.version="1.12.1";t.datepicker,t.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var m=!1;t(document).on("mouseup",function(){m=!1});t.widget("ui.mouse",{version:"1.12.1",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).on("click."+this.widgetName,function(i){if(!0===t.data(i.target,e.widgetName+".preventClickEvent"))return t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){if(!m){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),this._mouseDownEvent=e;var i=this,s=1===e.which,n=!("string"!=typeof this.options.cancel||!e.target.nodeName)&&t(e.target).closest(this.options.cancel).length;return!(s&&!n&&this._mouseCapture(e))||(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=!1!==this._mouseStart(e),!this._mouseStarted)?(e.preventDefault(),!0):(!0===t.data(e.target,this.widgetName+".preventClickEvent")&&t.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return i._mouseMove(t)},this._mouseUpDelegate=function(t){return i._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),m=!0,!0))}},_mouseMove:function(e){if(this._mouseMoved){if(t.ui.ie&&(!document.documentMode||document.documentMode<9)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=!1!==this._mouseStart(this._mouseDownEvent,e),this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,m=!1,e.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),t.ui.plugin={add:function(e,i,s){var n,o=t.ui[e].prototype;for(n in s)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([i,s[n]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;n0)&&(this.handle=this._getHandle(e),!!this.handle&&(this._blurActiveElement(e),this._blockFrames(!0===i.iframeFix?"iframe":i.iframeFix),!0))},_blockFrames:function(e){this.iframeBlocks=this.document.find(e).map(function(){var e=t(this);return t("
      ").css("position","absolute").appendTo(e.parent()).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()).offset(e.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_blurActiveElement:function(e){var i=t.ui.safeActiveElement(this.document[0]);t(e.target).closest(i).length||t.ui.safeBlur(i)},_mouseStart:function(e){var i=this.options;return this.helper=this._createHelper(e),this._addClass(this.helper,"ui-draggable-dragging"),this._cacheHelperProportions(),t.ui.ddmanager&&(t.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(!0),this.offsetParent=this.helper.offsetParent(),this.hasFixedAncestor=this.helper.parents().filter(function(){return"fixed"===t(this).css("position")}).length>0,this.positionAbs=this.element.offset(),this._refreshOffsets(e),this.originalPosition=this.position=this._generatePosition(e,!1),this.originalPageX=e.pageX,this.originalPageY=e.pageY,i.cursorAt&&this._adjustOffsetFromHelper(i.cursorAt),this._setContainment(),!1===this._trigger("start",e)?(this._clear(),!1):(this._cacheHelperProportions(),t.ui.ddmanager&&!i.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this._mouseDrag(e,!0),t.ui.ddmanager&&t.ui.ddmanager.dragStart(this,e),!0)},_refreshOffsets:function(t){this.offset={top:this.positionAbs.top-this.margins.top,left:this.positionAbs.left-this.margins.left,scroll:!1,parent:this._getParentOffset(),relative:this._getRelativeOffset()},this.offset.click={left:t.pageX-this.offset.left,top:t.pageY-this.offset.top}},_mouseDrag:function(e,i){if(this.hasFixedAncestor&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(e,!0),this.positionAbs=this._convertPositionTo("absolute"),!i){var s=this._uiHash();if(!1===this._trigger("drag",e,s))return this._mouseUp(new t.Event("mouseup",e)),!1;this.position=s.position}return this.helper[0].style.left=this.position.left+"px",this.helper[0].style.top=this.position.top+"px",t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),!1},_mouseStop:function(e){var i=this,s=!1;return t.ui.ddmanager&&!this.options.dropBehaviour&&(s=t.ui.ddmanager.drop(this,e)),this.dropped&&(s=this.dropped,this.dropped=!1),"invalid"===this.options.revert&&!s||"valid"===this.options.revert&&s||!0===this.options.revert||t.isFunction(this.options.revert)&&this.options.revert.call(this.element,s)?t(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){!1!==i._trigger("stop",e)&&i._clear()}):!1!==this._trigger("stop",e)&&this._clear(),!1},_mouseUp:function(e){return this._unblockFrames(),t.ui.ddmanager&&t.ui.ddmanager.dragStop(this,e),this.handleElement.is(e.target)&&this.element.trigger("focus"),t.ui.mouse.prototype._mouseUp.call(this,e)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp(new t.Event("mouseup",{target:this.element[0]})):this._clear(),this},_getHandle:function(e){return!this.options.handle||!!t(e.target).closest(this.element.find(this.options.handle)).length},_setHandleClassName:function(){this.handleElement=this.options.handle?this.element.find(this.options.handle):this.element,this._addClass(this.handleElement,"ui-draggable-handle")},_removeHandleClassName:function(){this._removeClass(this.handleElement,"ui-draggable-handle")},_createHelper:function(e){var i=this.options,s=t.isFunction(i.helper),n=s?t(i.helper.apply(this.element[0],[e])):"clone"===i.helper?this.element.clone().removeAttr("id"):this.element;return n.parents("body").length||n.appendTo("parent"===i.appendTo?this.element[0].parentNode:i.appendTo),s&&n[0]===this.element[0]&&this._setPositionRelative(),n[0]===this.element[0]||/(fixed|absolute)/.test(n.css("position"))||n.css("position","absolute"),n},_setPositionRelative:function(){/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative")},_adjustOffsetFromHelper:function(e){"string"==typeof e&&(e=e.split(" ")),t.isArray(e)&&(e={left:+e[0],top:+e[1]||0}),"left"in e&&(this.offset.click.left=e.left+this.margins.left),"right"in e&&(this.offset.click.left=this.helperProportions.width-e.right+this.margins.left),"top"in e&&(this.offset.click.top=e.top+this.margins.top),"bottom"in e&&(this.offset.click.top=this.helperProportions.height-e.bottom+this.margins.top)},_isRootNode:function(t){return/(html|body)/i.test(t.tagName)||t===this.document[0]},_getParentOffset:function(){var e=this.offsetParent.offset(),i=this.document[0];return"absolute"===this.cssPosition&&this.scrollParent[0]!==i&&t.contains(this.scrollParent[0],this.offsetParent[0])&&(e.left+=this.scrollParent.scrollLeft(),e.top+=this.scrollParent.scrollTop()),this._isRootNode(this.offsetParent[0])&&(e={top:0,left:0}),{top:e.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:e.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"!==this.cssPosition)return{top:0,left:0};var t=this.element.position(),e=this._isRootNode(this.scrollParent[0]);return{top:t.top-(parseInt(this.helper.css("top"),10)||0)+(e?0:this.scrollParent.scrollTop()),left:t.left-(parseInt(this.helper.css("left"),10)||0)+(e?0:this.scrollParent.scrollLeft())}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e,i,s,n=this.options,o=this.document[0];this.relativeContainer=null,n.containment?"window"!==n.containment?"document"!==n.containment?n.containment.constructor!==Array?("parent"===n.containment&&(n.containment=this.helper[0].parentNode),(s=(i=t(n.containment))[0])&&(e=/(scroll|auto)/.test(i.css("overflow")),this.containment=[(parseInt(i.css("borderLeftWidth"),10)||0)+(parseInt(i.css("paddingLeft"),10)||0),(parseInt(i.css("borderTopWidth"),10)||0)+(parseInt(i.css("paddingTop"),10)||0),(e?Math.max(s.scrollWidth,s.offsetWidth):s.offsetWidth)-(parseInt(i.css("borderRightWidth"),10)||0)-(parseInt(i.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(e?Math.max(s.scrollHeight,s.offsetHeight):s.offsetHeight)-(parseInt(i.css("borderBottomWidth"),10)||0)-(parseInt(i.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relativeContainer=i)):this.containment=n.containment:this.containment=[0,0,t(o).width()-this.helperProportions.width-this.margins.left,(t(o).height()||o.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]:this.containment=[t(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,t(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,t(window).scrollLeft()+t(window).width()-this.helperProportions.width-this.margins.left,t(window).scrollTop()+(t(window).height()||o.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]:this.containment=null},_convertPositionTo:function(t,e){e||(e=this.position);var i="absolute"===t?1:-1,s=this._isRootNode(this.scrollParent[0]);return{top:e.top+this.offset.relative.top*i+this.offset.parent.top*i-("fixed"===this.cssPosition?-this.offset.scroll.top:s?0:this.offset.scroll.top)*i,left:e.left+this.offset.relative.left*i+this.offset.parent.left*i-("fixed"===this.cssPosition?-this.offset.scroll.left:s?0:this.offset.scroll.left)*i}},_generatePosition:function(t,e){var i,s,n,o,a=this.options,r=this._isRootNode(this.scrollParent[0]),h=t.pageX,l=t.pageY;return r&&this.offset.scroll||(this.offset.scroll={top:this.scrollParent.scrollTop(),left:this.scrollParent.scrollLeft()}),e&&(this.containment&&(this.relativeContainer?(s=this.relativeContainer.offset(),i=[this.containment[0]+s.left,this.containment[1]+s.top,this.containment[2]+s.left,this.containment[3]+s.top]):i=this.containment,t.pageX-this.offset.click.lefti[2]&&(h=i[2]+this.offset.click.left),t.pageY-this.offset.click.top>i[3]&&(l=i[3]+this.offset.click.top)),a.grid&&(n=a.grid[1]?this.originalPageY+Math.round((l-this.originalPageY)/a.grid[1])*a.grid[1]:this.originalPageY,l=i?n-this.offset.click.top>=i[1]||n-this.offset.click.top>i[3]?n:n-this.offset.click.top>=i[1]?n-a.grid[1]:n+a.grid[1]:n,o=a.grid[0]?this.originalPageX+Math.round((h-this.originalPageX)/a.grid[0])*a.grid[0]:this.originalPageX,h=i?o-this.offset.click.left>=i[0]||o-this.offset.click.left>i[2]?o:o-this.offset.click.left>=i[0]?o-a.grid[0]:o+a.grid[0]:o),"y"===a.axis&&(h=this.originalPageX),"x"===a.axis&&(l=this.originalPageY)),{top:l-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.offset.scroll.top:r?0:this.offset.scroll.top),left:h-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.offset.scroll.left:r?0:this.offset.scroll.left)}},_clear:function(){this._removeClass(this.helper,"ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1,this.destroyOnClear&&this.destroy()},_trigger:function(e,i,s){return s=s||this._uiHash(),t.ui.plugin.call(this,e,[i,s,this],!0),/^(drag|start|stop)/.test(e)&&(this.positionAbs=this._convertPositionTo("absolute"),s.offset=this.positionAbs),t.Widget.prototype._trigger.call(this,e,i,s)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),t.ui.plugin.add("draggable","connectToSortable",{start:function(e,i,s){var n=t.extend({},i,{item:s.element});s.sortables=[],t(s.options.connectToSortable).each(function(){var i=t(this).sortable("instance");i&&!i.options.disabled&&(s.sortables.push(i),i.refreshPositions(),i._trigger("activate",e,n))})},stop:function(e,i,s){var n=t.extend({},i,{item:s.element});s.cancelHelperRemoval=!1,t.each(s.sortables,function(){this.isOver?(this.isOver=0,s.cancelHelperRemoval=!0,this.cancelHelperRemoval=!1,this._storedCSS={position:this.placeholder.css("position"),top:this.placeholder.css("top"),left:this.placeholder.css("left")},this._mouseStop(e),this.options.helper=this.options._helper):(this.cancelHelperRemoval=!0,this._trigger("deactivate",e,n))})},drag:function(e,i,s){t.each(s.sortables,function(){var n=!1,o=this;o.positionAbs=s.positionAbs,o.helperProportions=s.helperProportions,o.offset.click=s.offset.click,o._intersectsWith(o.containerCache)&&(n=!0,t.each(s.sortables,function(){return this.positionAbs=s.positionAbs,this.helperProportions=s.helperProportions,this.offset.click=s.offset.click,this!==o&&this._intersectsWith(this.containerCache)&&t.contains(o.element[0],this.element[0])&&(n=!1),n})),n?(o.isOver||(o.isOver=1,s._parent=i.helper.parent(),o.currentItem=i.helper.appendTo(o.element).data("ui-sortable-item",!0),o.options._helper=o.options.helper,o.options.helper=function(){return i.helper[0]},e.target=o.currentItem[0],o._mouseCapture(e,!0),o._mouseStart(e,!0,!0),o.offset.click.top=s.offset.click.top,o.offset.click.left=s.offset.click.left,o.offset.parent.left-=s.offset.parent.left-o.offset.parent.left,o.offset.parent.top-=s.offset.parent.top-o.offset.parent.top,s._trigger("toSortable",e),s.dropped=o.element,t.each(s.sortables,function(){this.refreshPositions()}),s.currentItem=s.element,o.fromOutside=s),o.currentItem&&(o._mouseDrag(e),i.position=o.position)):o.isOver&&(o.isOver=0,o.cancelHelperRemoval=!0,o.options._revert=o.options.revert,o.options.revert=!1,o._trigger("out",e,o._uiHash(o)),o._mouseStop(e,!0),o.options.revert=o.options._revert,o.options.helper=o.options._helper,o.placeholder&&o.placeholder.remove(),i.helper.appendTo(s._parent),s._refreshOffsets(e),i.position=s._generatePosition(e,!0),s._trigger("fromSortable",e),s.dropped=!1,t.each(s.sortables,function(){this.refreshPositions()}))})}}),t.ui.plugin.add("draggable","cursor",{start:function(e,i,s){var n=t("body"),o=s.options;n.css("cursor")&&(o._cursor=n.css("cursor")),n.css("cursor",o.cursor)},stop:function(e,i,s){var n=s.options;n._cursor&&t("body").css("cursor",n._cursor)}}),t.ui.plugin.add("draggable","opacity",{start:function(e,i,s){var n=t(i.helper),o=s.options;n.css("opacity")&&(o._opacity=n.css("opacity")),n.css("opacity",o.opacity)},stop:function(e,i,s){var n=s.options;n._opacity&&t(i.helper).css("opacity",n._opacity)}}),t.ui.plugin.add("draggable","scroll",{start:function(t,e,i){i.scrollParentNotHidden||(i.scrollParentNotHidden=i.helper.scrollParent(!1)),i.scrollParentNotHidden[0]!==i.document[0]&&"HTML"!==i.scrollParentNotHidden[0].tagName&&(i.overflowOffset=i.scrollParentNotHidden.offset())},drag:function(e,i,s){var n=s.options,o=!1,a=s.scrollParentNotHidden[0],r=s.document[0];a!==r&&"HTML"!==a.tagName?(n.axis&&"x"===n.axis||(s.overflowOffset.top+a.offsetHeight-e.pageY=0;d--)l=(h=s.snapElements[d].left-s.margins.left)+s.snapElements[d].width,u=(c=s.snapElements[d].top-s.margins.top)+s.snapElements[d].height,_l+g||bu+g||!t.contains(s.snapElements[d].item.ownerDocument,s.snapElements[d].item)?(s.snapElements[d].snapping&&s.options.snap.release&&s.options.snap.release.call(s.element,e,t.extend(s._uiHash(),{snapItem:s.snapElements[d].item})),s.snapElements[d].snapping=!1):("inner"!==f.snapMode&&(n=Math.abs(c-b)<=g,o=Math.abs(u-v)<=g,a=Math.abs(h-_)<=g,r=Math.abs(l-m)<=g,n&&(i.position.top=s._convertPositionTo("relative",{top:c-s.helperProportions.height,left:0}).top),o&&(i.position.top=s._convertPositionTo("relative",{top:u,left:0}).top),a&&(i.position.left=s._convertPositionTo("relative",{top:0,left:h-s.helperProportions.width}).left),r&&(i.position.left=s._convertPositionTo("relative",{top:0,left:l}).left)),p=n||o||a||r,"outer"!==f.snapMode&&(n=Math.abs(c-v)<=g,o=Math.abs(u-b)<=g,a=Math.abs(h-m)<=g,r=Math.abs(l-_)<=g,n&&(i.position.top=s._convertPositionTo("relative",{top:c,left:0}).top),o&&(i.position.top=s._convertPositionTo("relative",{top:u-s.helperProportions.height,left:0}).top),a&&(i.position.left=s._convertPositionTo("relative",{top:0,left:h}).left),r&&(i.position.left=s._convertPositionTo("relative",{top:0,left:l-s.helperProportions.width}).left)),!s.snapElements[d].snapping&&(n||o||a||r||p)&&s.options.snap.snap&&s.options.snap.snap.call(s.element,e,t.extend(s._uiHash(),{snapItem:s.snapElements[d].item})),s.snapElements[d].snapping=n||o||a||r||p)}}),t.ui.plugin.add("draggable","stack",{start:function(e,i,s){var n,o=s.options,a=t.makeArray(t(o.stack)).sort(function(e,i){return(parseInt(t(e).css("zIndex"),10)||0)-(parseInt(t(i).css("zIndex"),10)||0)});a.length&&(n=parseInt(t(a[0]).css("zIndex"),10)||0,t(a).each(function(e){t(this).css("zIndex",n+e)}),this.css("zIndex",n+a.length))}}),t.ui.plugin.add("draggable","zIndex",{start:function(e,i,s){var n=t(i.helper),o=s.options;n.css("zIndex")&&(o._zIndex=n.css("zIndex")),n.css("zIndex",o.zIndex)},stop:function(e,i,s){var n=s.options;n._zIndex&&t(i.helper).css("zIndex",n._zIndex)}});t.ui.draggable;t.widget("ui.resizable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(t){return parseFloat(t)||0},_isNumber:function(t){return!isNaN(parseFloat(t))},_hasScroll:function(e,i){if("hidden"===t(e).css("overflow"))return!1;var s,n=i&&"left"===i?"scrollLeft":"scrollTop";return e[n]>0||(e[n]=1,s=e[n]>0,e[n]=0,s)},_create:function(){var e,i=this.options,s=this;this._addClass("ui-resizable"),t.extend(this,{_aspectRatio:!!i.aspectRatio,aspectRatio:i.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:i.helper||i.ghost||i.animate?i.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(t("
      ").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,e={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(e),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(e),this._proportionallyResize()),this._setupHandles(),i.autoHide&&t(this.element).on("mouseenter",function(){i.disabled||(s._removeClass("ui-resizable-autohide"),s._handles.show())}).on("mouseleave",function(){i.disabled||s.resizing||(s._addClass("ui-resizable-autohide"),s._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy();var e,i=function(e){t(e).removeData("resizable").removeData("ui-resizable").off(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles()}},_setupHandles:function(){var e,i,s,n,o,a=this.options,r=this;if(this.handles=a.handles||(t(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=t(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),s=this.handles.split(","),this.handles={},i=0;i"),this._addClass(o,"ui-resizable-handle "+n),o.css({zIndex:a.zIndex}),this.handles[e]=".ui-resizable-"+e,this.element.append(o);this._renderAxis=function(e){var i,s,n,o;for(i in e=e||this.element,this.handles)this.handles[i].constructor===String?this.handles[i]=this.element.children(this.handles[i]).first().show():(this.handles[i].jquery||this.handles[i].nodeType)&&(this.handles[i]=t(this.handles[i]),this._on(this.handles[i],{mousedown:r._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(s=t(this.handles[i],this.element),o=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),e.css(n,o),this._proportionallyResize()),this._handles=this._handles.add(this.handles[i])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){r.resizing||(this.className&&(o=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),r.axis=o&&o[1]?o[1]:"se")}),a.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._handles.remove()},_mouseCapture:function(e){var i,s,n=!1;for(i in this.handles)((s=t(this.handles[i])[0])===e.target||t.contains(s,e.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(e){var i,s,n,o=this.options,a=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),s=this._num(this.helper.css("top")),o.containment&&(i+=t(o.containment).scrollLeft()||0,s+=t(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:s},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:a.width(),height:a.height()},this.originalSize=this._helper?{width:a.outerWidth(),height:a.outerHeight()}:{width:a.width(),height:a.height()},this.sizeDiff={width:a.outerWidth()-a.width(),height:a.outerHeight()-a.height()},this.originalPosition={left:i,top:s},this.originalMousePosition={left:e.pageX,top:e.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,n=t(".ui-resizable-"+this.axis).css("cursor"),t("body").css("cursor","auto"===n?this.axis+"-resize":n),this._addClass("ui-resizable-resizing"),this._propagate("start",e),!0},_mouseDrag:function(e){var i,s,n=this.originalMousePosition,o=this.axis,a=e.pageX-n.left||0,r=e.pageY-n.top||0,h=this._change[o];return this._updatePrevProperties(),!!h&&(i=h.apply(this,[e,a,r]),this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(i=this._updateRatio(i,e)),i=this._respectSize(i,e),this._updateCache(i),this._propagate("resize",e),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),t.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",e,this.ui()),this._applyChanges()),!1)},_mouseStop:function(e){this.resizing=!1;var i,s,n,o,a,r,h,l=this.options;return this._helper&&(n=(s=(i=this._proportionallyResizeElements).length&&/textarea/i.test(i[0].nodeName))&&this._hasScroll(i[0],"left")?0:this.sizeDiff.height,o=s?0:this.sizeDiff.width,a={width:this.helper.width()-o,height:this.helper.height()-n},r=parseFloat(this.element.css("left"))+(this.position.left-this.originalPosition.left)||null,h=parseFloat(this.element.css("top"))+(this.position.top-this.originalPosition.top)||null,l.animate||this.element.css(t.extend(a,{top:h,left:r})),this.helper.height(this.size.height),this.helper.width(this.size.width),this._helper&&!l.animate&&this._proportionallyResize()),t("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",e),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s,n,o,a=this.options;o={minWidth:this._isNumber(a.minWidth)?a.minWidth:0,maxWidth:this._isNumber(a.maxWidth)?a.maxWidth:1/0,minHeight:this._isNumber(a.minHeight)?a.minHeight:0,maxHeight:this._isNumber(a.maxHeight)?a.maxHeight:1/0},(this._aspectRatio||t)&&(e=o.minHeight*this.aspectRatio,s=o.minWidth/this.aspectRatio,i=o.maxHeight*this.aspectRatio,n=o.maxWidth/this.aspectRatio,e>o.minWidth&&(o.minWidth=e),s>o.minHeight&&(o.minHeight=s),it.width,a=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,r=this.originalPosition.left+this.originalSize.width,h=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),c=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),a&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=r-e.minWidth),s&&l&&(t.left=r-e.maxWidth),a&&c&&(t.top=h-e.minHeight),n&&c&&(t.top=h-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];e<4;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;e
      "),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize;return{left:this.originalPosition.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize;return{top:this.originalPosition.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},sw:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,i,s]))},ne:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},nw:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,i,s]))}},_propagate:function(e,i){t.ui.plugin.call(this,e,[i,this.ui()]),"resize"!==e&&this._trigger(e,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),t.ui.plugin.add("resizable","animate",{stop:function(e){var i=t(this).resizable("instance"),s=i.options,n=i._proportionallyResizeElements,o=n.length&&/textarea/i.test(n[0].nodeName),a=o&&i._hasScroll(n[0],"left")?0:i.sizeDiff.height,r=o?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-a},l=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,c=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(t.extend(h,c&&l?{top:c,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};n&&n.length&&t(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",e)}})}}),t.ui.plugin.add("resizable","containment",{start:function(){var e,i,s,n,o,a,r,h=t(this).resizable("instance"),l=h.options,c=h.element,u=l.containment,d=u instanceof t?u.get(0):/parent/.test(u)?c.parent().get(0):u;d&&(h.containerElement=t(d),/document/.test(u)||u===document?(h.containerOffset={left:0,top:0},h.containerPosition={left:0,top:0},h.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(e=t(d),i=[],t(["Top","Right","Left","Bottom"]).each(function(t,s){i[t]=h._num(e.css("padding"+s))}),h.containerOffset=e.offset(),h.containerPosition=e.position(),h.containerSize={height:e.innerHeight()-i[3],width:e.innerWidth()-i[1]},s=h.containerOffset,n=h.containerSize.height,o=h.containerSize.width,a=h._hasScroll(d,"left")?d.scrollWidth:o,r=h._hasScroll(d)?d.scrollHeight:n,h.parentData={element:d,left:s.left,top:s.top,width:a,height:r}))},resize:function(e){var i,s,n,o,a=t(this).resizable("instance"),r=a.options,h=a.containerOffset,l=a.position,c=a._aspectRatio||e.shiftKey,u={top:0,left:0},d=a.containerElement,p=!0;d[0]!==document&&/static/.test(d.css("position"))&&(u=h),l.left<(a._helper?h.left:0)&&(a.size.width=a.size.width+(a._helper?a.position.left-h.left:a.position.left-u.left),c&&(a.size.height=a.size.width/a.aspectRatio,p=!1),a.position.left=r.helper?h.left:0),l.top<(a._helper?h.top:0)&&(a.size.height=a.size.height+(a._helper?a.position.top-h.top:a.position.top),c&&(a.size.width=a.size.height*a.aspectRatio,p=!1),a.position.top=a._helper?h.top:0),n=a.containerElement.get(0)===a.element.parent().get(0),o=/relative|absolute/.test(a.containerElement.css("position")),n&&o?(a.offset.left=a.parentData.left+a.position.left,a.offset.top=a.parentData.top+a.position.top):(a.offset.left=a.element.offset().left,a.offset.top=a.element.offset().top),i=Math.abs(a.sizeDiff.width+(a._helper?a.offset.left-u.left:a.offset.left-h.left)),s=Math.abs(a.sizeDiff.height+(a._helper?a.offset.top-u.top:a.offset.top-h.top)),i+a.size.width>=a.parentData.width&&(a.size.width=a.parentData.width-i,c&&(a.size.height=a.size.width/a.aspectRatio,p=!1)),s+a.size.height>=a.parentData.height&&(a.size.height=a.parentData.height-s,c&&(a.size.width=a.size.height*a.aspectRatio,p=!1)),p||(a.position.left=a.prevPosition.left,a.position.top=a.prevPosition.top,a.size.width=a.prevSize.width,a.size.height=a.prevSize.height)},stop:function(){var e=t(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.containerPosition,o=e.containerElement,a=t(e.helper),r=a.offset(),h=a.outerWidth()-e.sizeDiff.width,l=a.outerHeight()-e.sizeDiff.height;e._helper&&!i.animate&&/relative/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l}),e._helper&&!i.animate&&/static/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),t.ui.plugin.add("resizable","alsoResize",{start:function(){var e=t(this).resizable("instance").options;t(e.alsoResize).each(function(){var e=t(this);e.data("ui-resizable-alsoresize",{width:parseFloat(e.width()),height:parseFloat(e.height()),left:parseFloat(e.css("left")),top:parseFloat(e.css("top"))})})},resize:function(e,i){var s=t(this).resizable("instance"),n=s.options,o=s.originalSize,a=s.originalPosition,r={height:s.size.height-o.height||0,width:s.size.width-o.width||0,top:s.position.top-a.top||0,left:s.position.left-a.left||0};t(n.alsoResize).each(function(){var e=t(this),s=t(this).data("ui-resizable-alsoresize"),n={},o=e.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];t.each(o,function(t,e){var i=(s[e]||0)+(r[e]||0);i&&i>=0&&(n[e]=i||null)}),e.css(n)})},stop:function(){t(this).removeData("ui-resizable-alsoresize")}}),t.ui.plugin.add("resizable","ghost",{start:function(){var e=t(this).resizable("instance"),i=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block",position:"relative",height:i.height,width:i.width,margin:0,left:0,top:0}),e._addClass(e.ghost,"ui-resizable-ghost"),!1!==t.uiBackCompat&&"string"==typeof e.options.ghost&&e.ghost.addClass(this.options.ghost),e.ghost.appendTo(e.helper)},resize:function(){var e=t(this).resizable("instance");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=t(this).resizable("instance");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),t.ui.plugin.add("resizable","grid",{resize:function(){var e,i=t(this).resizable("instance"),s=i.options,n=i.size,o=i.originalSize,a=i.originalPosition,r=i.axis,h="number"==typeof s.grid?[s.grid,s.grid]:s.grid,l=h[0]||1,c=h[1]||1,u=Math.round((n.width-o.width)/l)*l,d=Math.round((n.height-o.height)/c)*c,p=o.width+u,f=o.height+d,g=s.maxWidth&&s.maxWidthp,v=s.minHeight&&s.minHeight>f;s.grid=h,_&&(p+=l),v&&(f+=c),g&&(p-=l),m&&(f-=c),/^(se|s|e)$/.test(r)?(i.size.width=p,i.size.height=f):/^(ne)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.top=a.top-d):/^(sw)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.left=a.left-u):((f-c<=0||p-l<=0)&&(e=i._getPaddingPlusBorderDimensions(this)),f-c>0?(i.size.height=f,i.position.top=a.top-d):(f=c-e.height,i.size.height=f,i.position.top=a.top+o.height-f),p-l>0?(i.size.width=p,i.position.left=a.left-u):(p=l-e.width,i.size.width=p,i.position.left=a.left+o.width-p))}});t.ui.resizable;t.widget("ui.dialog",{version:"1.12.1",options:{appendTo:"body",autoOpen:!0,buttons:[],classes:{"ui-dialog":"ui-corner-all","ui-dialog-titlebar":"ui-corner-all"},closeOnEscape:!0,closeText:"Close",draggable:!0,hide:null,height:"auto",maxHeight:null,maxWidth:null,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",of:window,collision:"fit",using:function(e){var i=t(this).css(e).offset().top;i<0&&t(this).css("top",e.top-i)}},resizable:!0,show:null,title:null,width:300,beforeClose:null,close:null,drag:null,dragStart:null,dragStop:null,focus:null,open:null,resize:null,resizeStart:null,resizeStop:null},sizeRelatedOptions:{buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},resizableRelatedOptions:{maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0},_create:function(){this.originalCss={display:this.element[0].style.display,width:this.element[0].style.width,minHeight:this.element[0].style.minHeight,maxHeight:this.element[0].style.maxHeight,height:this.element[0].style.height},this.originalPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)},this.originalTitle=this.element.attr("title"),null==this.options.title&&null!=this.originalTitle&&(this.options.title=this.originalTitle),this.options.disabled&&(this.options.disabled=!1),this._createWrapper(),this.element.show().removeAttr("title").appendTo(this.uiDialog),this._addClass("ui-dialog-content","ui-widget-content"),this._createTitlebar(),this._createButtonPane(),this.options.draggable&&t.fn.draggable&&this._makeDraggable(),this.options.resizable&&t.fn.resizable&&this._makeResizable(),this._isOpen=!1,this._trackFocus()},_init:function(){this.options.autoOpen&&this.open()},_appendTo:function(){var e=this.options.appendTo;return e&&(e.jquery||e.nodeType)?t(e):this.document.find(e||"body").eq(0)},_destroy:function(){var t,e=this.originalPosition;this._untrackInstance(),this._destroyOverlay(),this.element.removeUniqueId().css(this.originalCss).detach(),this.uiDialog.remove(),this.originalTitle&&this.element.attr("title",this.originalTitle),(t=e.parent.children().eq(e.index)).length&&t[0]!==this.element[0]?t.before(this.element):e.parent.append(this.element)},widget:function(){return this.uiDialog},disable:t.noop,enable:t.noop,close:function(e){var i=this;this._isOpen&&!1!==this._trigger("beforeClose",e)&&(this._isOpen=!1,this._focusedElement=null,this._destroyOverlay(),this._untrackInstance(),this.opener.filter(":focusable").trigger("focus").length||t.ui.safeBlur(t.ui.safeActiveElement(this.document[0])),this._hide(this.uiDialog,this.options.hide,function(){i._trigger("close",e)}))},isOpen:function(){return this._isOpen},moveToTop:function(){this._moveToTop()},_moveToTop:function(e,i){var s=!1,n=this.uiDialog.siblings(".ui-front:visible").map(function(){return+t(this).css("z-index")}).get(),o=Math.max.apply(null,n);return o>=+this.uiDialog.css("z-index")&&(this.uiDialog.css("z-index",o+1),s=!0),s&&!i&&this._trigger("focus",e),s},open:function(){var e=this;this._isOpen?this._moveToTop()&&this._focusTabbable():(this._isOpen=!0,this.opener=t(t.ui.safeActiveElement(this.document[0])),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this.overlay&&this.overlay.css("z-index",this.uiDialog.css("z-index")-1),this._show(this.uiDialog,this.options.show,function(){e._focusTabbable(),e._trigger("focus")}),this._makeFocusTarget(),this._trigger("open"))},_focusTabbable:function(){var t=this._focusedElement;t||(t=this.element.find("[autofocus]")),t.length||(t=this.element.find(":tabbable")),t.length||(t=this.uiDialogButtonPane.find(":tabbable")),t.length||(t=this.uiDialogTitlebarClose.filter(":tabbable")),t.length||(t=this.uiDialog),t.eq(0).trigger("focus")},_keepFocus:function(e){function i(){var e=t.ui.safeActiveElement(this.document[0]);this.uiDialog[0]===e||t.contains(this.uiDialog[0],e)||this._focusTabbable()}e.preventDefault(),i.call(this),this._delay(i)},_createWrapper:function(){this.uiDialog=t("
      ").hide().attr({tabIndex:-1,role:"dialog"}).appendTo(this._appendTo()),this._addClass(this.uiDialog,"ui-dialog","ui-widget ui-widget-content ui-front"),this._on(this.uiDialog,{keydown:function(e){if(this.options.closeOnEscape&&!e.isDefaultPrevented()&&e.keyCode&&e.keyCode===t.ui.keyCode.ESCAPE)return e.preventDefault(),void this.close(e);if(e.keyCode===t.ui.keyCode.TAB&&!e.isDefaultPrevented()){var i=this.uiDialog.find(":tabbable"),s=i.filter(":first"),n=i.filter(":last");e.target!==n[0]&&e.target!==this.uiDialog[0]||e.shiftKey?e.target!==s[0]&&e.target!==this.uiDialog[0]||!e.shiftKey||(this._delay(function(){n.trigger("focus")}),e.preventDefault()):(this._delay(function(){s.trigger("focus")}),e.preventDefault())}},mousedown:function(t){this._moveToTop(t)&&this._focusTabbable()}}),this.element.find("[aria-describedby]").length||this.uiDialog.attr({"aria-describedby":this.element.uniqueId().attr("id")})},_createTitlebar:function(){var e;this.uiDialogTitlebar=t("
      "),this._addClass(this.uiDialogTitlebar,"ui-dialog-titlebar","ui-widget-header ui-helper-clearfix"),this._on(this.uiDialogTitlebar,{mousedown:function(e){t(e.target).closest(".ui-dialog-titlebar-close")||this.uiDialog.trigger("focus")}}),this.uiDialogTitlebarClose=t("").button({label:t("").text(this.options.closeText).html(),icon:"ui-icon-closethick",showLabel:!1}).appendTo(this.uiDialogTitlebar),this._addClass(this.uiDialogTitlebarClose,"ui-dialog-titlebar-close"),this._on(this.uiDialogTitlebarClose,{click:function(t){t.preventDefault(),this.close(t)}}),e=t("").uniqueId().prependTo(this.uiDialogTitlebar),this._addClass(e,"ui-dialog-title"),this._title(e),this.uiDialogTitlebar.prependTo(this.uiDialog),this.uiDialog.attr({"aria-labelledby":e.attr("id")})},_title:function(t){this.options.title?t.text(this.options.title):t.html(" ")},_createButtonPane:function(){this.uiDialogButtonPane=t("
      "),this._addClass(this.uiDialogButtonPane,"ui-dialog-buttonpane","ui-widget-content ui-helper-clearfix"),this.uiButtonSet=t("
      ").appendTo(this.uiDialogButtonPane),this._addClass(this.uiButtonSet,"ui-dialog-buttonset"),this._createButtons()},_createButtons:function(){var e=this,i=this.options.buttons;this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),t.isEmptyObject(i)||t.isArray(i)&&!i.length?this._removeClass(this.uiDialog,"ui-dialog-buttons"):(t.each(i,function(i,s){var n,o;s=t.isFunction(s)?{click:s,text:i}:s,s=t.extend({type:"button"},s),n=s.click,o={icon:s.icon,iconPosition:s.iconPosition,showLabel:s.showLabel,icons:s.icons,text:s.text},delete s.click,delete s.icon,delete s.iconPosition,delete s.showLabel,delete s.icons,"boolean"==typeof s.text&&delete s.text,t("",s).button(o).appendTo(e.uiButtonSet).on("click",function(){n.apply(e.element[0],arguments)})}),this._addClass(this.uiDialog,"ui-dialog-buttons"),this.uiDialogButtonPane.appendTo(this.uiDialog))},_makeDraggable:function(){var e=this,i=this.options;function s(t){return{position:t.position,offset:t.offset}}this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(i,n){e._addClass(t(this),"ui-dialog-dragging"),e._blockFrames(),e._trigger("dragStart",i,s(n))},drag:function(t,i){e._trigger("drag",t,s(i))},stop:function(n,o){var a=o.offset.left-e.document.scrollLeft(),r=o.offset.top-e.document.scrollTop();i.position={my:"left top",at:"left"+(a>=0?"+":"")+a+" top"+(r>=0?"+":"")+r,of:e.window},e._removeClass(t(this),"ui-dialog-dragging"),e._unblockFrames(),e._trigger("dragStop",n,s(o))}})},_makeResizable:function(){var e=this,i=this.options,s=i.resizable,n=this.uiDialog.css("position"),o="string"==typeof s?s:"n,e,s,w,se,sw,ne,nw";function a(t){return{originalPosition:t.originalPosition,originalSize:t.originalSize,position:t.position,size:t.size}}this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:i.maxWidth,maxHeight:i.maxHeight,minWidth:i.minWidth,minHeight:this._minHeight(),handles:o,start:function(i,s){e._addClass(t(this),"ui-dialog-resizing"),e._blockFrames(),e._trigger("resizeStart",i,a(s))},resize:function(t,i){e._trigger("resize",t,a(i))},stop:function(s,n){var o=e.uiDialog.offset(),r=o.left-e.document.scrollLeft(),h=o.top-e.document.scrollTop();i.height=e.uiDialog.height(),i.width=e.uiDialog.width(),i.position={my:"left top",at:"left"+(r>=0?"+":"")+r+" top"+(h>=0?"+":"")+h,of:e.window},e._removeClass(t(this),"ui-dialog-resizing"),e._unblockFrames(),e._trigger("resizeStop",s,a(n))}}).css("position",n)},_trackFocus:function(){this._on(this.widget(),{focusin:function(e){this._makeFocusTarget(),this._focusedElement=t(e.target)}})},_makeFocusTarget:function(){this._untrackInstance(),this._trackingInstances().unshift(this)},_untrackInstance:function(){var e=this._trackingInstances(),i=t.inArray(this,e);-1!==i&&e.splice(i,1)},_trackingInstances:function(){var t=this.document.data("ui-dialog-instances");return t||(t=[],this.document.data("ui-dialog-instances",t)),t},_minHeight:function(){var t=this.options;return"auto"===t.height?t.minHeight:Math.min(t.minHeight,t.height)},_position:function(){var t=this.uiDialog.is(":visible");t||this.uiDialog.show(),this.uiDialog.position(this.options.position),t||this.uiDialog.hide()},_setOptions:function(e){var i=this,s=!1,n={};t.each(e,function(t,e){i._setOption(t,e),t in i.sizeRelatedOptions&&(s=!0),t in i.resizableRelatedOptions&&(n[t]=e)}),s&&(this._size(),this._position()),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option",n)},_setOption:function(e,i){var s,n,o=this.uiDialog;"disabled"!==e&&(this._super(e,i),"appendTo"===e&&this.uiDialog.appendTo(this._appendTo()),"buttons"===e&&this._createButtons(),"closeText"===e&&this.uiDialogTitlebarClose.button({label:t("").text(""+this.options.closeText).html()}),"draggable"===e&&((s=o.is(":data(ui-draggable)"))&&!i&&o.draggable("destroy"),!s&&i&&this._makeDraggable()),"position"===e&&this._position(),"resizable"===e&&((n=o.is(":data(ui-resizable)"))&&!i&&o.resizable("destroy"),n&&"string"==typeof i&&o.resizable("option","handles",i),n||!1===i||this._makeResizable()),"title"===e&&this._title(this.uiDialogTitlebar.find(".ui-dialog-title")))},_size:function(){var t,e,i,s=this.options;this.element.show().css({width:"auto",minHeight:0,maxHeight:"none",height:0}),s.minWidth>s.width&&(s.width=s.minWidth),t=this.uiDialog.css({height:"auto",width:s.width}).outerHeight(),e=Math.max(0,s.minHeight-t),i="number"==typeof s.maxHeight?Math.max(0,s.maxHeight-t):"none","auto"===s.height?this.element.css({minHeight:e,maxHeight:i,height:"auto"}):this.element.height(Math.max(0,s.height-t)),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())},_blockFrames:function(){this.iframeBlocks=this.document.find("iframe").map(function(){var e=t(this);return t("
      ").css({position:"absolute",width:e.outerWidth(),height:e.outerHeight()}).appendTo(e.parent()).offset(e.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_allowInteraction:function(e){return!!t(e.target).closest(".ui-dialog").length||!!t(e.target).closest(".ui-datepicker").length},_createOverlay:function(){if(this.options.modal){var e=!0;this._delay(function(){e=!1}),this.document.data("ui-dialog-overlays")||this._on(this.document,{focusin:function(t){e||this._allowInteraction(t)||(t.preventDefault(),this._trackingInstances()[0]._focusTabbable())}}),this.overlay=t("
      ").appendTo(this._appendTo()),this._addClass(this.overlay,null,"ui-widget-overlay ui-front"),this._on(this.overlay,{mousedown:"_keepFocus"}),this.document.data("ui-dialog-overlays",(this.document.data("ui-dialog-overlays")||0)+1)}},_destroyOverlay:function(){if(this.options.modal&&this.overlay){var t=this.document.data("ui-dialog-overlays")-1;t?this.document.data("ui-dialog-overlays",t):(this._off(this.document,"focusin"),this.document.removeData("ui-dialog-overlays")),this.overlay.remove(),this.overlay=null}}}),!1!==t.uiBackCompat&&t.widget("ui.dialog",t.ui.dialog,{options:{dialogClass:""},_createWrapper:function(){this._super(),this.uiDialog.addClass(this.options.dialogClass)},_setOption:function(t,e){"dialogClass"===t&&this.uiDialog.removeClass(this.options.dialogClass).addClass(e),this._superApply(arguments)}});t.ui.dialog;t.widget("ui.droppable",{version:"1.12.1",widgetEventPrefix:"drop",options:{accept:"*",addClasses:!0,greedy:!1,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var e,i=this.options,s=i.accept;this.isover=!1,this.isout=!0,this.accept=t.isFunction(s)?s:function(t){return t.is(s)},this.proportions=function(){if(!arguments.length)return e||(e={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight});e=arguments[0]},this._addToManager(i.scope),i.addClasses&&this._addClass("ui-droppable")},_addToManager:function(e){t.ui.ddmanager.droppables[e]=t.ui.ddmanager.droppables[e]||[],t.ui.ddmanager.droppables[e].push(this)},_splice:function(t){for(var e=0;e=e&&t=c&&a<=d||h>=c&&h<=d||ad)&&(o>=l&&o<=u||r>=l&&r<=u||ou);default:return!1}}}();t.ui.ddmanager={current:null,droppables:{default:[]},prepareOffsets:function(e,i){var s,n,o=t.ui.ddmanager.droppables[e.options.scope]||[],a=i?i.type:null,r=(e.currentItem||e.element).find(":data(ui-droppable)").addBack();t:for(s=0;s").appendTo(this.element),this._addClass(this.valueDiv,"ui-progressbar-value","ui-widget-header"),this._refreshValue()},_destroy:function(){this.element.removeAttr("role aria-valuemin aria-valuemax aria-valuenow"),this.valueDiv.remove()},value:function(t){if(void 0===t)return this.options.value;this.options.value=this._constrainedValue(t),this._refreshValue()},_constrainedValue:function(t){return void 0===t&&(t=this.options.value),this.indeterminate=!1===t,"number"!=typeof t&&(t=0),!this.indeterminate&&Math.min(this.options.max,Math.max(this.min,t))},_setOptions:function(t){var e=t.value;delete t.value,this._super(t),this.options.value=this._constrainedValue(e),this._refreshValue()},_setOption:function(t,e){"max"===t&&(e=Math.max(this.min,e)),this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t),this._toggleClass(null,"ui-state-disabled",!!t)},_percentage:function(){return this.indeterminate?100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var e=this.options.value,i=this._percentage();this.valueDiv.toggle(this.indeterminate||e>this.min).width(i.toFixed(0)+"%"),this._toggleClass(this.valueDiv,"ui-progressbar-complete",null,e===this.options.max)._toggleClass("ui-progressbar-indeterminate",null,this.indeterminate),this.indeterminate?(this.element.removeAttr("aria-valuenow"),this.overlayDiv||(this.overlayDiv=t("
      ").appendTo(this.valueDiv),this._addClass(this.overlayDiv,"ui-progressbar-overlay"))):(this.element.attr({"aria-valuemax":this.options.max,"aria-valuenow":e}),this.overlayDiv&&(this.overlayDiv.remove(),this.overlayDiv=null)),this.oldValue!==e&&(this.oldValue=e,this._trigger("change")),e===this.options.max&&this._trigger("complete")}}),t.widget("ui.selectable",t.ui.mouse,{version:"1.12.1",options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch",selected:null,selecting:null,start:null,stop:null,unselected:null,unselecting:null},_create:function(){var e=this;this._addClass("ui-selectable"),this.dragged=!1,this.refresh=function(){e.elementPos=t(e.element[0]).offset(),e.selectees=t(e.options.filter,e.element[0]),e._addClass(e.selectees,"ui-selectee"),e.selectees.each(function(){var i=t(this),s=i.offset(),n={left:s.left-e.elementPos.left,top:s.top-e.elementPos.top};t.data(this,"selectable-item",{element:this,$element:i,left:n.left,top:n.top,right:n.left+i.outerWidth(),bottom:n.top+i.outerHeight(),startselected:!1,selected:i.hasClass("ui-selected"),selecting:i.hasClass("ui-selecting"),unselecting:i.hasClass("ui-unselecting")})})},this.refresh(),this._mouseInit(),this.helper=t("
      "),this._addClass(this.helper,"ui-selectable-helper")},_destroy:function(){this.selectees.removeData("selectable-item"),this._mouseDestroy()},_mouseStart:function(e){var i=this,s=this.options;this.opos=[e.pageX,e.pageY],this.elementPos=t(this.element[0]).offset(),this.options.disabled||(this.selectees=t(s.filter,this.element[0]),this._trigger("start",e),t(s.appendTo).append(this.helper),this.helper.css({left:e.pageX,top:e.pageY,width:0,height:0}),s.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var s=t.data(this,"selectable-item");s.startselected=!0,e.metaKey||e.ctrlKey||(i._removeClass(s.$element,"ui-selected"),s.selected=!1,i._addClass(s.$element,"ui-unselecting"),s.unselecting=!0,i._trigger("unselecting",e,{unselecting:s.element}))}),t(e.target).parents().addBack().each(function(){var s,n=t.data(this,"selectable-item");if(n)return s=!e.metaKey&&!e.ctrlKey||!n.$element.hasClass("ui-selected"),i._removeClass(n.$element,s?"ui-unselecting":"ui-selected")._addClass(n.$element,s?"ui-selecting":"ui-unselecting"),n.unselecting=!s,n.selecting=s,n.selected=s,s?i._trigger("selecting",e,{selecting:n.element}):i._trigger("unselecting",e,{unselecting:n.element}),!1}))},_mouseDrag:function(e){if(this.dragged=!0,!this.options.disabled){var i,s=this,n=this.options,o=this.opos[0],a=this.opos[1],r=e.pageX,h=e.pageY;return o>r&&(i=r,r=o,o=i),a>h&&(i=h,h=a,a=i),this.helper.css({left:o,top:a,width:r-o,height:h-a}),this.selectees.each(function(){var i=t.data(this,"selectable-item"),l=!1,c={};i&&i.element!==s.element[0]&&(c.left=i.left+s.elementPos.left,c.right=i.right+s.elementPos.left,c.top=i.top+s.elementPos.top,c.bottom=i.bottom+s.elementPos.top,"touch"===n.tolerance?l=!(c.left>r||c.righth||c.bottomo&&c.righta&&c.bottom",options:{appendTo:null,classes:{"ui-selectmenu-button-open":"ui-corner-top","ui-selectmenu-button-closed":"ui-corner-all"},disabled:null,icons:{button:"ui-icon-triangle-1-s"},position:{my:"left top",at:"left bottom",collision:"none"},width:!1,change:null,close:null,focus:null,open:null,select:null},_create:function(){var e=this.element.uniqueId().attr("id");this.ids={element:e,button:e+"-button",menu:e+"-menu"},this._drawButton(),this._drawMenu(),this._bindFormResetHandler(),this._rendered=!1,this.menuItems=t()},_drawButton:function(){var e,i=this,s=this._parseOption(this.element.find("option:selected"),this.element[0].selectedIndex);this.labels=this.element.labels().attr("for",this.ids.button),this._on(this.labels,{click:function(t){this.button.focus(),t.preventDefault()}}),this.element.hide(),this.button=t("",{tabindex:this.options.disabled?-1:0,id:this.ids.button,role:"combobox","aria-expanded":"false","aria-autocomplete":"list","aria-owns":this.ids.menu,"aria-haspopup":"true",title:this.element.attr("title")}).insertAfter(this.element),this._addClass(this.button,"ui-selectmenu-button ui-selectmenu-button-closed","ui-button ui-widget"),e=t("").appendTo(this.button),this._addClass(e,"ui-selectmenu-icon","ui-icon "+this.options.icons.button),this.buttonItem=this._renderButtonItem(s).appendTo(this.button),!1!==this.options.width&&this._resizeButton(),this._on(this.button,this._buttonEvents),this.button.one("focusin",function(){i._rendered||i._refreshMenu()})},_drawMenu:function(){var e=this;this.menu=t("
        ",{"aria-hidden":"true","aria-labelledby":this.ids.button,id:this.ids.menu}),this.menuWrap=t("
        ").append(this.menu),this._addClass(this.menuWrap,"ui-selectmenu-menu","ui-front"),this.menuWrap.appendTo(this._appendTo()),this.menuInstance=this.menu.menu({classes:{"ui-menu":"ui-corner-bottom"},role:"listbox",select:function(t,i){t.preventDefault(),e._setSelection(),e._select(i.item.data("ui-selectmenu-item"),t)},focus:function(t,i){var s=i.item.data("ui-selectmenu-item");null!=e.focusIndex&&s.index!==e.focusIndex&&(e._trigger("focus",t,{item:s}),e.isOpen||e._select(s,t)),e.focusIndex=s.index,e.button.attr("aria-activedescendant",e.menuItems.eq(s.index).attr("id"))}}).menu("instance"),this.menuInstance._off(this.menu,"mouseleave"),this.menuInstance._closeOnDocumentClick=function(){return!1},this.menuInstance._isDivider=function(){return!1}},refresh:function(){this._refreshMenu(),this.buttonItem.replaceWith(this.buttonItem=this._renderButtonItem(this._getSelectedItem().data("ui-selectmenu-item")||{})),null===this.options.width&&this._resizeButton()},_refreshMenu:function(){var t,e=this.element.find("option");this.menu.empty(),this._parseOptions(e),this._renderMenu(this.menu,this.items),this.menuInstance.refresh(),this.menuItems=this.menu.find("li").not(".ui-selectmenu-optgroup").find(".ui-menu-item-wrapper"),this._rendered=!0,e.length&&(t=this._getSelectedItem(),this.menuInstance.focus(null,t),this._setAria(t.data("ui-selectmenu-item")),this._setOption("disabled",this.element.prop("disabled")))},open:function(t){this.options.disabled||(this._rendered?(this._removeClass(this.menu.find(".ui-state-active"),null,"ui-state-active"),this.menuInstance.focus(null,this._getSelectedItem())):this._refreshMenu(),this.menuItems.length&&(this.isOpen=!0,this._toggleAttr(),this._resizeMenu(),this._position(),this._on(this.document,this._documentClick),this._trigger("open",t)))},_position:function(){this.menuWrap.position(t.extend({of:this.button},this.options.position))},close:function(t){this.isOpen&&(this.isOpen=!1,this._toggleAttr(),this.range=null,this._off(this.document),this._trigger("close",t))},widget:function(){return this.button},menuWidget:function(){return this.menu},_renderButtonItem:function(e){var i=t("");return this._setText(i,e.label),this._addClass(i,"ui-selectmenu-text"),i},_renderMenu:function(e,i){var s=this,n="";t.each(i,function(i,o){var a;o.optgroup!==n&&(a=t("
      • ",{text:o.optgroup}),s._addClass(a,"ui-selectmenu-optgroup","ui-menu-divider"+(o.element.parent("optgroup").prop("disabled")?" ui-state-disabled":"")),a.appendTo(e),n=o.optgroup),s._renderItemData(e,o)})},_renderItemData:function(t,e){return this._renderItem(t,e).data("ui-selectmenu-item",e)},_renderItem:function(e,i){var s=t("
      • "),n=t("
        ",{title:i.element.attr("title")});return i.disabled&&this._addClass(s,null,"ui-state-disabled"),this._setText(n,i.label),s.append(n).appendTo(e)},_setText:function(t,e){e?t.text(e):t.html(" ")},_move:function(t,e){var i,s,n=".ui-menu-item";this.isOpen?i=this.menuItems.eq(this.focusIndex).parent("li"):(i=this.menuItems.eq(this.element[0].selectedIndex).parent("li"),n+=":not(.ui-state-disabled)"),(s="first"===t||"last"===t?i["first"===t?"prevAll":"nextAll"](n).eq(-1):i[t+"All"](n).eq(0)).length&&this.menuInstance.focus(e,s)},_getSelectedItem:function(){return this.menuItems.eq(this.element[0].selectedIndex).parent("li")},_toggle:function(t){this[this.isOpen?"close":"open"](t)},_setSelection:function(){var t;this.range&&(window.getSelection?((t=window.getSelection()).removeAllRanges(),t.addRange(this.range)):this.range.select(),this.button.focus())},_documentClick:{mousedown:function(e){this.isOpen&&(t(e.target).closest(".ui-selectmenu-menu, #"+t.ui.escapeSelector(this.ids.button)).length||this.close(e))}},_buttonEvents:{mousedown:function(){var t;window.getSelection?(t=window.getSelection()).rangeCount&&(this.range=t.getRangeAt(0)):this.range=document.selection.createRange()},click:function(t){this._setSelection(),this._toggle(t)},keydown:function(e){var i=!0;switch(e.keyCode){case t.ui.keyCode.TAB:case t.ui.keyCode.ESCAPE:this.close(e),i=!1;break;case t.ui.keyCode.ENTER:this.isOpen&&this._selectFocusedItem(e);break;case t.ui.keyCode.UP:e.altKey?this._toggle(e):this._move("prev",e);break;case t.ui.keyCode.DOWN:e.altKey?this._toggle(e):this._move("next",e);break;case t.ui.keyCode.SPACE:this.isOpen?this._selectFocusedItem(e):this._toggle(e);break;case t.ui.keyCode.LEFT:this._move("prev",e);break;case t.ui.keyCode.RIGHT:this._move("next",e);break;case t.ui.keyCode.HOME:case t.ui.keyCode.PAGE_UP:this._move("first",e);break;case t.ui.keyCode.END:case t.ui.keyCode.PAGE_DOWN:this._move("last",e);break;default:this.menu.trigger(e),i=!1}i&&e.preventDefault()}},_selectFocusedItem:function(t){var e=this.menuItems.eq(this.focusIndex).parent("li");e.hasClass("ui-state-disabled")||this._select(e.data("ui-selectmenu-item"),t)},_select:function(t,e){var i=this.element[0].selectedIndex;this.element[0].selectedIndex=t.index,this.buttonItem.replaceWith(this.buttonItem=this._renderButtonItem(t)),this._setAria(t),this._trigger("select",e,{item:t}),t.index!==i&&this._trigger("change",e,{item:t}),this.close(e)},_setAria:function(t){var e=this.menuItems.eq(t.index).attr("id");this.button.attr({"aria-labelledby":e,"aria-activedescendant":e}),this.menu.attr("aria-activedescendant",e)},_setOption:function(t,e){if("icons"===t){var i=this.button.find("span.ui-icon");this._removeClass(i,null,this.options.icons.button)._addClass(i,null,e.button)}this._super(t,e),"appendTo"===t&&this.menuWrap.appendTo(this._appendTo()),"width"===t&&this._resizeButton()},_setOptionDisabled:function(t){this._super(t),this.menuInstance.option("disabled",t),this.button.attr("aria-disabled",t),this._toggleClass(this.button,null,"ui-state-disabled",t),this.element.prop("disabled",t),t?(this.button.attr("tabindex",-1),this.close()):this.button.attr("tabindex",0)},_appendTo:function(){var e=this.options.appendTo;return e&&(e=e.jquery||e.nodeType?t(e):this.document.find(e).eq(0)),e&&e[0]||(e=this.element.closest(".ui-front, dialog")),e.length||(e=this.document[0].body),e},_toggleAttr:function(){this.button.attr("aria-expanded",this.isOpen),this._removeClass(this.button,"ui-selectmenu-button-"+(this.isOpen?"closed":"open"))._addClass(this.button,"ui-selectmenu-button-"+(this.isOpen?"open":"closed"))._toggleClass(this.menuWrap,"ui-selectmenu-open",null,this.isOpen),this.menu.attr("aria-hidden",!this.isOpen)},_resizeButton:function(){var t=this.options.width;!1!==t?(null===t&&(t=this.element.show().outerWidth(),this.element.hide()),this.button.outerWidth(t)):this.button.css("width","")},_resizeMenu:function(){this.menu.outerWidth(Math.max(this.button.outerWidth(),this.menu.width("").outerWidth()+1))},_getCreateOptions:function(){var t=this._super();return t.disabled=this.element.prop("disabled"),t},_parseOptions:function(e){var i=this,s=[];e.each(function(e,n){s.push(i._parseOption(t(n),e))}),this.items=s},_parseOption:function(t,e){var i=t.parent("optgroup");return{element:t,index:e,value:t.val(),label:t.text(),optgroup:i.attr("label")||"",disabled:i.prop("disabled")||t.prop("disabled")}},_destroy:function(){this._unbindFormResetHandler(),this.menuWrap.remove(),this.button.remove(),this.element.show(),this.element.removeUniqueId(),this.labels.attr("for",this.ids.element)}}]),t.widget("ui.slider",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"slide",options:{animate:!1,classes:{"ui-slider":"ui-corner-all","ui-slider-handle":"ui-corner-all","ui-slider-range":"ui-corner-all ui-widget-header"},distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null},numPages:5,_create:function(){this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this._calculateNewMax(),this._addClass("ui-slider ui-slider-"+this.orientation,"ui-widget ui-widget-content"),this._refresh(),this._animateOff=!1},_refresh:function(){this._createRange(),this._createHandles(),this._setupEvents(),this._refreshValue()},_createHandles:function(){var e,i,s=this.options,n=this.element.find(".ui-slider-handle"),o=[];for(i=s.values&&s.values.length||1,n.length>i&&(n.slice(i).remove(),n=n.slice(0,i)),e=n.length;e");this.handles=n.add(t(o.join("")).appendTo(this.element)),this._addClass(this.handles,"ui-slider-handle","ui-state-default"),this.handle=this.handles.eq(0),this.handles.each(function(e){t(this).data("ui-slider-handle-index",e).attr("tabIndex",0)})},_createRange:function(){var e=this.options;e.range?(!0===e.range&&(e.values?e.values.length&&2!==e.values.length?e.values=[e.values[0],e.values[0]]:t.isArray(e.values)&&(e.values=e.values.slice(0)):e.values=[this._valueMin(),this._valueMin()]),this.range&&this.range.length?(this._removeClass(this.range,"ui-slider-range-min ui-slider-range-max"),this.range.css({left:"",bottom:""})):(this.range=t("
        ").appendTo(this.element),this._addClass(this.range,"ui-slider-range")),"min"!==e.range&&"max"!==e.range||this._addClass(this.range,"ui-slider-range-"+e.range)):(this.range&&this.range.remove(),this.range=null)},_setupEvents:function(){this._off(this.handles),this._on(this.handles,this._handleEvents),this._hoverable(this.handles),this._focusable(this.handles)},_destroy:function(){this.handles.remove(),this.range&&this.range.remove(),this._mouseDestroy()},_mouseCapture:function(e){var i,s,n,o,a,r,h,l=this,c=this.options;return!c.disabled&&(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),i={x:e.pageX,y:e.pageY},s=this._normValueFromMouse(i),n=this._valueMax()-this._valueMin()+1,this.handles.each(function(e){var i=Math.abs(s-l.values(e));(n>i||n===i&&(e===l._lastChangedValue||l.values(e)===c.min))&&(n=i,o=t(this),a=e)}),!1!==this._start(e,a)&&(this._mouseSliding=!0,this._handleIndex=a,this._addClass(o,null,"ui-state-active"),o.trigger("focus"),r=o.offset(),h=!t(e.target).parents().addBack().is(".ui-slider-handle"),this._clickOffset=h?{left:0,top:0}:{left:e.pageX-r.left-o.width()/2,top:e.pageY-r.top-o.height()/2-(parseInt(o.css("borderTopWidth"),10)||0)-(parseInt(o.css("borderBottomWidth"),10)||0)+(parseInt(o.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(e,a,s),this._animateOff=!0,!0))},_mouseStart:function(){return!0},_mouseDrag:function(t){var e={x:t.pageX,y:t.pageY},i=this._normValueFromMouse(e);return this._slide(t,this._handleIndex,i),!1},_mouseStop:function(t){return this._removeClass(this.handles,null,"ui-state-active"),this._mouseSliding=!1,this._stop(t,this._handleIndex),this._change(t,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation="vertical"===this.options.orientation?"vertical":"horizontal"},_normValueFromMouse:function(t){var e,i,s,n,o;return"horizontal"===this.orientation?(e=this.elementSize.width,i=t.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(e=this.elementSize.height,i=t.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),(s=i/e)>1&&(s=1),s<0&&(s=0),"vertical"===this.orientation&&(s=1-s),n=this._valueMax()-this._valueMin(),o=this._valueMin()+s*n,this._trimAlignValue(o)},_uiHash:function(t,e,i){var s={handle:this.handles[t],handleIndex:t,value:void 0!==e?e:this.value()};return this._hasMultipleValues()&&(s.value=void 0!==e?e:this.values(t),s.values=i||this.values()),s},_hasMultipleValues:function(){return this.options.values&&this.options.values.length},_start:function(t,e){return this._trigger("start",t,this._uiHash(e))},_slide:function(t,e,i){var s,n=this.value(),o=this.values();this._hasMultipleValues()&&(s=this.values(e?0:1),n=this.values(e),2===this.options.values.length&&!0===this.options.range&&(i=0===e?Math.min(s,i):Math.max(s,i)),o[e]=i),i!==n&&!1!==this._trigger("slide",t,this._uiHash(e,i,o))&&(this._hasMultipleValues()?this.values(e,i):this.value(i))},_stop:function(t,e){this._trigger("stop",t,this._uiHash(e))},_change:function(t,e){this._keySliding||this._mouseSliding||(this._lastChangedValue=e,this._trigger("change",t,this._uiHash(e)))},value:function(t){return arguments.length?(this.options.value=this._trimAlignValue(t),this._refreshValue(),void this._change(null,0)):this._value()},values:function(e,i){var s,n,o;if(arguments.length>1)return this.options.values[e]=this._trimAlignValue(i),this._refreshValue(),void this._change(null,e);if(!arguments.length)return this._values();if(!t.isArray(arguments[0]))return this._hasMultipleValues()?this._values(e):this.value();for(s=this.options.values,n=arguments[0],o=0;o=0;s--)this._change(null,s);this._animateOff=!1;break;case"step":case"min":case"max":this._animateOff=!0,this._calculateNewMax(),this._refreshValue(),this._animateOff=!1;break;case"range":this._animateOff=!0,this._refresh(),this._animateOff=!1}},_setOptionDisabled:function(t){this._super(t),this._toggleClass(null,"ui-state-disabled",!!t)},_value:function(){var t=this.options.value;return t=this._trimAlignValue(t)},_values:function(t){var e,i,s;if(arguments.length)return e=this.options.values[t],e=this._trimAlignValue(e);if(this._hasMultipleValues()){for(i=this.options.values.slice(),s=0;s=this._valueMax())return this._valueMax();var e=this.options.step>0?this.options.step:1,i=(t-this._valueMin())%e,s=t-i;return 2*Math.abs(i)>=e&&(s+=i>0?e:-e),parseFloat(s.toFixed(5))},_calculateNewMax:function(){var t=this.options.max,e=this._valueMin(),i=this.options.step;(t=Math.round((t-e)/i)*i+e)>this.options.max&&(t-=i),this.max=parseFloat(t.toFixed(this._precision()))},_precision:function(){var t=this._precisionOf(this.options.step);return null!==this.options.min&&(t=Math.max(t,this._precisionOf(this.options.min))),t},_precisionOf:function(t){var e=t.toString(),i=e.indexOf(".");return-1===i?0:e.length-i-1},_valueMin:function(){return this.options.min},_valueMax:function(){return this.max},_refreshRange:function(t){"vertical"===t&&this.range.css({width:"",left:""}),"horizontal"===t&&this.range.css({height:"",bottom:""})},_refreshValue:function(){var e,i,s,n,o,a=this.options.range,r=this.options,h=this,l=!this._animateOff&&r.animate,c={};this._hasMultipleValues()?this.handles.each(function(s){i=(h.values(s)-h._valueMin())/(h._valueMax()-h._valueMin())*100,c["horizontal"===h.orientation?"left":"bottom"]=i+"%",t(this).stop(1,1)[l?"animate":"css"](c,r.animate),!0===h.options.range&&("horizontal"===h.orientation?(0===s&&h.range.stop(1,1)[l?"animate":"css"]({left:i+"%"},r.animate),1===s&&h.range[l?"animate":"css"]({width:i-e+"%"},{queue:!1,duration:r.animate})):(0===s&&h.range.stop(1,1)[l?"animate":"css"]({bottom:i+"%"},r.animate),1===s&&h.range[l?"animate":"css"]({height:i-e+"%"},{queue:!1,duration:r.animate}))),e=i}):(s=this.value(),n=this._valueMin(),o=this._valueMax(),i=o!==n?(s-n)/(o-n)*100:0,c["horizontal"===this.orientation?"left":"bottom"]=i+"%",this.handle.stop(1,1)[l?"animate":"css"](c,r.animate),"min"===a&&"horizontal"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({width:i+"%"},r.animate),"max"===a&&"horizontal"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({width:100-i+"%"},r.animate),"min"===a&&"vertical"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({height:i+"%"},r.animate),"max"===a&&"vertical"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({height:100-i+"%"},r.animate))},_handleEvents:{keydown:function(e){var i,s,n,o=t(e.target).data("ui-slider-handle-index");switch(e.keyCode){case t.ui.keyCode.HOME:case t.ui.keyCode.END:case t.ui.keyCode.PAGE_UP:case t.ui.keyCode.PAGE_DOWN:case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(e.preventDefault(),!this._keySliding&&(this._keySliding=!0,this._addClass(t(e.target),null,"ui-state-active"),!1===this._start(e,o)))return}switch(n=this.options.step,i=s=this._hasMultipleValues()?this.values(o):this.value(),e.keyCode){case t.ui.keyCode.HOME:s=this._valueMin();break;case t.ui.keyCode.END:s=this._valueMax();break;case t.ui.keyCode.PAGE_UP:s=this._trimAlignValue(i+(this._valueMax()-this._valueMin())/this.numPages);break;case t.ui.keyCode.PAGE_DOWN:s=this._trimAlignValue(i-(this._valueMax()-this._valueMin())/this.numPages);break;case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:if(i===this._valueMax())return;s=this._trimAlignValue(i+n);break;case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(i===this._valueMin())return;s=this._trimAlignValue(i-n)}this._slide(e,o,s)},keyup:function(e){var i=t(e.target).data("ui-slider-handle-index");this._keySliding&&(this._keySliding=!1,this._stop(e,i),this._change(e,i),this._removeClass(t(e.target),null,"ui-state-active"))}}}),t.widget("ui.sortable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_isOverAxis:function(t,e,i){return t>=e&&t=0;t--)this.items[t].item.removeData(this.widgetName+"-item");return this},_mouseCapture:function(e,i){var s=null,n=!1,o=this;return!this.reverting&&(!this.options.disabled&&"static"!==this.options.type&&(this._refreshItems(e),t(e.target).parents().each(function(){if(t.data(this,o.widgetName+"-item")===o)return s=t(this),!1}),t.data(e.target,o.widgetName+"-item")===o&&(s=t(e.target)),!!s&&(!(this.options.handle&&!i&&(t(this.options.handle,s).find("*").addBack().each(function(){this===e.target&&(n=!0)}),!n))&&(this.currentItem=s,this._removeCurrentsFromItems(),!0))))},_mouseStart:function(e,i,s){var n,o,a=this.options;if(this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(e),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},t.extend(this.offset,{click:{left:e.pageX-this.offset.left,top:e.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(e),this.originalPageX=e.pageX,this.originalPageY=e.pageY,a.cursorAt&&this._adjustOffsetFromHelper(a.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),a.containment&&this._setContainment(),a.cursor&&"auto"!==a.cursor&&(o=this.document.find("body"),this.storedCursor=o.css("cursor"),o.css("cursor",a.cursor),this.storedStylesheet=t("").appendTo(o)),a.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",a.opacity)),a.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",a.zIndex)),this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",e,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!s)for(n=this.containers.length-1;n>=0;n--)this.containers[n]._trigger("activate",e,this._uiHash(this));return t.ui.ddmanager&&(t.ui.ddmanager.current=this),t.ui.ddmanager&&!a.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this.dragging=!0,this._addClass(this.helper,"ui-sortable-helper"),this._mouseDrag(e),!0},_mouseDrag:function(e){var i,s,n,o,a=this.options,r=!1;for(this.position=this._generatePosition(e),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll&&(this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-e.pageY=0;i--)if(n=(s=this.items[i]).item[0],(o=this._intersectsWithPointer(s))&&s.instance===this.currentContainer&&!(n===this.currentItem[0]||this.placeholder[1===o?"next":"prev"]()[0]===n||t.contains(this.placeholder[0],n)||"semi-dynamic"===this.options.type&&t.contains(this.element[0],n))){if(this.direction=1===o?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(s))break;this._rearrange(e,s),this._trigger("change",e,this._uiHash());break}return this._contactContainers(e),t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),this._trigger("sort",e,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(e,i){if(e){if(t.ui.ddmanager&&!this.options.dropBehaviour&&t.ui.ddmanager.drop(this,e),this.options.revert){var s=this,n=this.placeholder.offset(),o=this.options.axis,a={};o&&"x"!==o||(a.left=n.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollLeft)),o&&"y"!==o||(a.top=n.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,t(this.helper).animate(a,parseInt(this.options.revert,10)||500,function(){s._clear(e)})}else this._clear(e,i);return!1}},cancel:function(){if(this.dragging){this._mouseUp(new t.Event("mouseup",{target:null})),"original"===this.options.helper?(this.currentItem.css(this._storedCSS),this._removeClass(this.currentItem,"ui-sortable-helper")):this.currentItem.show();for(var e=this.containers.length-1;e>=0;e--)this.containers[e]._trigger("deactivate",null,this._uiHash(this)),this.containers[e].containerCache.over&&(this.containers[e]._trigger("out",null,this._uiHash(this)),this.containers[e].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),t.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?t(this.domPosition.prev).after(this.currentItem):t(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(e){var i=this._getItemsAsjQuery(e&&e.connected),s=[];return e=e||{},t(i).each(function(){var i=(t(e.item||this).attr(e.attribute||"id")||"").match(e.expression||/(.+)[\-=_](.+)/);i&&s.push((e.key||i[1]+"[]")+"="+(e.key&&e.expression?i[1]:i[2]))}),!s.length&&e.key&&s.push(e.key+"="),s.join("&")},toArray:function(e){var i=this._getItemsAsjQuery(e&&e.connected),s=[];return e=e||{},i.each(function(){s.push(t(e.item||this).attr(e.attribute||"id")||"")}),s},_intersectsWith:function(t){var e=this.positionAbs.left,i=e+this.helperProportions.width,s=this.positionAbs.top,n=s+this.helperProportions.height,o=t.left,a=o+t.width,r=t.top,h=r+t.height,l=this.offset.click.top,c=this.offset.click.left,u="x"===this.options.axis||s+l>r&&s+lo&&e+ct[this.floating?"width":"height"]?p:o0?"down":"up")},_getDragHorizontalDirection:function(){var t=this.positionAbs.left-this.lastPositionAbs.left;return 0!==t&&(t>0?"right":"left")},refresh:function(t){return this._refreshItems(t),this._setHandleClassName(),this.refreshPositions(),this},_connectWith:function(){var t=this.options;return t.connectWith.constructor===String?[t.connectWith]:t.connectWith},_getItemsAsjQuery:function(e){var i,s,n,o,a=[],r=[],h=this._connectWith();if(h&&e)for(i=h.length-1;i>=0;i--)for(s=(n=t(h[i],this.document[0])).length-1;s>=0;s--)(o=t.data(n[s],this.widgetFullName))&&o!==this&&!o.options.disabled&&r.push([t.isFunction(o.options.items)?o.options.items.call(o.element):t(o.options.items,o.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),o]);function l(){a.push(this)}for(r.push([t.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):t(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),i=r.length-1;i>=0;i--)r[i][0].each(l);return t(a)},_removeCurrentsFromItems:function(){var e=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=t.grep(this.items,function(t){for(var i=0;i=0;i--)for(s=(n=t(d[i],this.document[0])).length-1;s>=0;s--)(o=t.data(n[s],this.widgetFullName))&&o!==this&&!o.options.disabled&&(u.push([t.isFunction(o.options.items)?o.options.items.call(o.element[0],e,{item:this.currentItem}):t(o.options.items,o.element),o]),this.containers.push(o));for(i=u.length-1;i>=0;i--)for(a=u[i][1],s=0,l=(r=u[i][0]).length;s=0;i--)(s=this.items[i]).instance!==this.currentContainer&&this.currentContainer&&s.item[0]!==this.currentItem[0]||(n=this.options.toleranceElement?t(this.options.toleranceElement,s.item):s.item,e||(s.width=n.outerWidth(),s.height=n.outerHeight()),o=n.offset(),s.left=o.left,s.top=o.top);if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(i=this.containers.length-1;i>=0;i--)o=this.containers[i].element.offset(),this.containers[i].containerCache.left=o.left,this.containers[i].containerCache.top=o.top,this.containers[i].containerCache.width=this.containers[i].element.outerWidth(),this.containers[i].containerCache.height=this.containers[i].element.outerHeight();return this},_createPlaceholder:function(e){var i,s=(e=e||this).options;s.placeholder&&s.placeholder.constructor!==String||(i=s.placeholder,s.placeholder={element:function(){var s=e.currentItem[0].nodeName.toLowerCase(),n=t("<"+s+">",e.document[0]);return e._addClass(n,"ui-sortable-placeholder",i||e.currentItem[0].className)._removeClass(n,"ui-sortable-helper"),"tbody"===s?e._createTrPlaceholder(e.currentItem.find("tr").eq(0),t("",e.document[0]).appendTo(n)):"tr"===s?e._createTrPlaceholder(e.currentItem,n):"img"===s&&n.attr("src",e.currentItem.attr("src")),i||n.css("visibility","hidden"),n},update:function(t,n){i&&!s.forcePlaceholderSize||(n.height()||n.height(e.currentItem.innerHeight()-parseInt(e.currentItem.css("paddingTop")||0,10)-parseInt(e.currentItem.css("paddingBottom")||0,10)),n.width()||n.width(e.currentItem.innerWidth()-parseInt(e.currentItem.css("paddingLeft")||0,10)-parseInt(e.currentItem.css("paddingRight")||0,10)))}}),e.placeholder=t(s.placeholder.element.call(e.element,e.currentItem)),e.currentItem.after(e.placeholder),s.placeholder.update(e,e.placeholder)},_createTrPlaceholder:function(e,i){var s=this;e.children().each(function(){t(" ",s.document[0]).attr("colspan",t(this).attr("colspan")||1).appendTo(i)})},_contactContainers:function(e){var i,s,n,o,a,r,h,l,c,u,d=null,p=null;for(i=this.containers.length-1;i>=0;i--)if(!t.contains(this.currentItem[0],this.containers[i].element[0]))if(this._intersectsWith(this.containers[i].containerCache)){if(d&&t.contains(this.containers[i].element[0],d.element[0]))continue;d=this.containers[i],p=i}else this.containers[i].containerCache.over&&(this.containers[i]._trigger("out",e,this._uiHash(this)),this.containers[i].containerCache.over=0);if(d)if(1===this.containers.length)this.containers[p].containerCache.over||(this.containers[p]._trigger("over",e,this._uiHash(this)),this.containers[p].containerCache.over=1);else{for(n=1e4,o=null,a=(c=d.floating||this._isFloating(this.currentItem))?"left":"top",r=c?"width":"height",u=c?"pageX":"pageY",s=this.items.length-1;s>=0;s--)t.contains(this.containers[p].element[0],this.items[s].item[0])&&this.items[s].item[0]!==this.currentItem[0]&&(h=this.items[s].item.offset()[a],l=!1,e[u]-h>this.items[s][r]/2&&(l=!0),Math.abs(e[u]-h)this.containment[2]&&(o=this.containment[2]+this.offset.click.left),e.pageY-this.offset.click.top>this.containment[3]&&(a=this.containment[3]+this.offset.click.top)),n.grid&&(i=this.originalPageY+Math.round((a-this.originalPageY)/n.grid[1])*n.grid[1],a=this.containment?i-this.offset.click.top>=this.containment[1]&&i-this.offset.click.top<=this.containment[3]?i:i-this.offset.click.top>=this.containment[1]?i-n.grid[1]:i+n.grid[1]:i,s=this.originalPageX+Math.round((o-this.originalPageX)/n.grid[0])*n.grid[0],o=this.containment?s-this.offset.click.left>=this.containment[0]&&s-this.offset.click.left<=this.containment[2]?s:s-this.offset.click.left>=this.containment[0]?s-n.grid[0]:s+n.grid[0]:s)),{top:a-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():h?0:r.scrollTop()),left:o-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():h?0:r.scrollLeft())}},_rearrange:function(t,e,i,s){i?i[0].appendChild(this.placeholder[0]):e.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?e.item[0]:e.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var n=this.counter;this._delay(function(){n===this.counter&&this.refreshPositions(!s)})},_clear:function(t,e){this.reverting=!1;var i,s=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(i in this._storedCSS)"auto"!==this._storedCSS[i]&&"static"!==this._storedCSS[i]||(this._storedCSS[i]="");this.currentItem.css(this._storedCSS),this._removeClass(this.currentItem,"ui-sortable-helper")}else this.currentItem.show();function n(t,e,i){return function(s){i._trigger(t,s,e._uiHash(e))}}for(this.fromOutside&&!e&&s.push(function(t){this._trigger("receive",t,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||e||s.push(function(t){this._trigger("update",t,this._uiHash())}),this!==this.currentContainer&&(e||(s.push(function(t){this._trigger("remove",t,this._uiHash())}),s.push(function(t){return function(e){t._trigger("receive",e,this._uiHash(this))}}.call(this,this.currentContainer)),s.push(function(t){return function(e){t._trigger("update",e,this._uiHash(this))}}.call(this,this.currentContainer)))),i=this.containers.length-1;i>=0;i--)e||s.push(n("deactivate",this,this.containers[i])),this.containers[i].containerCache.over&&(s.push(n("out",this,this.containers[i])),this.containers[i].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,e||this._trigger("beforeStop",t,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.cancelHelperRemoval||(this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null),!e){for(i=0;i",widgetEventPrefix:"spin",options:{classes:{"ui-spinner":"ui-corner-all","ui-spinner-down":"ui-corner-br","ui-spinner-up":"ui-corner-tr"},culture:null,icons:{down:"ui-icon-triangle-1-s",up:"ui-icon-triangle-1-n"},incremental:!0,max:null,min:null,numberFormat:null,page:10,step:1,change:null,spin:null,start:null,stop:null},_create:function(){this._setOption("max",this.options.max),this._setOption("min",this.options.min),this._setOption("step",this.options.step),""!==this.value()&&this._value(this.element.val(),!0),this._draw(),this._on(this._events),this._refresh(),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_getCreateOptions:function(){var e=this._super(),i=this.element;return t.each(["min","max","step"],function(t,s){var n=i.attr(s);null!=n&&n.length&&(e[s]=n)}),e},_events:{keydown:function(t){this._start(t)&&this._keydown(t)&&t.preventDefault()},keyup:"_stop",focus:function(){this.previous=this.element.val()},blur:function(t){this.cancelBlur?delete this.cancelBlur:(this._stop(),this._refresh(),this.previous!==this.element.val()&&this._trigger("change",t))},mousewheel:function(t,e){if(e){if(!this.spinning&&!this._start(t))return!1;this._spin((e>0?1:-1)*this.options.step,t),clearTimeout(this.mousewheelTimer),this.mousewheelTimer=this._delay(function(){this.spinning&&this._stop(t)},100),t.preventDefault()}},"mousedown .ui-spinner-button":function(e){var i;function s(){this.element[0]===t.ui.safeActiveElement(this.document[0])||(this.element.trigger("focus"),this.previous=i,this._delay(function(){this.previous=i}))}i=this.element[0]===t.ui.safeActiveElement(this.document[0])?this.previous:this.element.val(),e.preventDefault(),s.call(this),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,s.call(this)}),!1!==this._start(e)&&this._repeat(null,t(e.currentTarget).hasClass("ui-spinner-up")?1:-1,e)},"mouseup .ui-spinner-button":"_stop","mouseenter .ui-spinner-button":function(e){if(t(e.currentTarget).hasClass("ui-state-active"))return!1!==this._start(e)&&void this._repeat(null,t(e.currentTarget).hasClass("ui-spinner-up")?1:-1,e)},"mouseleave .ui-spinner-button":"_stop"},_enhance:function(){this.uiSpinner=this.element.attr("autocomplete","off").wrap("").parent().append("")},_draw:function(){this._enhance(),this._addClass(this.uiSpinner,"ui-spinner","ui-widget ui-widget-content"),this._addClass("ui-spinner-input"),this.element.attr("role","spinbutton"),this.buttons=this.uiSpinner.children("a").attr("tabIndex",-1).attr("aria-hidden",!0).button({classes:{"ui-button":""}}),this._removeClass(this.buttons,"ui-corner-all"),this._addClass(this.buttons.first(),"ui-spinner-button ui-spinner-up"),this._addClass(this.buttons.last(),"ui-spinner-button ui-spinner-down"),this.buttons.first().button({icon:this.options.icons.up,showLabel:!1}),this.buttons.last().button({icon:this.options.icons.down,showLabel:!1}),this.buttons.height()>Math.ceil(.5*this.uiSpinner.height())&&this.uiSpinner.height()>0&&this.uiSpinner.height(this.uiSpinner.height())},_keydown:function(e){var i=this.options,s=t.ui.keyCode;switch(e.keyCode){case s.UP:return this._repeat(null,1,e),!0;case s.DOWN:return this._repeat(null,-1,e),!0;case s.PAGE_UP:return this._repeat(null,i.page,e),!0;case s.PAGE_DOWN:return this._repeat(null,-i.page,e),!0}return!1},_start:function(t){return!(!this.spinning&&!1===this._trigger("start",t))&&(this.counter||(this.counter=1),this.spinning=!0,!0)},_repeat:function(t,e,i){t=t||500,clearTimeout(this.timer),this.timer=this._delay(function(){this._repeat(40,e,i)},t),this._spin(e*this.options.step,i)},_spin:function(t,e){var i=this.value()||0;this.counter||(this.counter=1),i=this._adjustValue(i+t*this._increment(this.counter)),this.spinning&&!1===this._trigger("spin",e,{value:i})||(this._value(i),this.counter++)},_increment:function(e){var i=this.options.incremental;return i?t.isFunction(i)?i(e):Math.floor(e*e*e/5e4-e*e/500+17*e/200+1):1},_precision:function(){var t=this._precisionOf(this.options.step);return null!==this.options.min&&(t=Math.max(t,this._precisionOf(this.options.min))),t},_precisionOf:function(t){var e=t.toString(),i=e.indexOf(".");return-1===i?0:e.length-i-1},_adjustValue:function(t){var e,i,s=this.options;return i=t-(e=null!==s.min?s.min:0),t=e+(i=Math.round(i/s.step)*s.step),t=parseFloat(t.toFixed(this._precision())),null!==s.max&&t>s.max?s.max:null!==s.min&&t"},_buttonHtml:function(){return""}});var b;t.ui.spinner;t.widget("ui.tabs",{version:"1.12.1",delay:300,options:{active:null,classes:{"ui-tabs":"ui-corner-all","ui-tabs-nav":"ui-corner-all","ui-tabs-panel":"ui-corner-bottom","ui-tabs-tab":"ui-corner-top"},collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_isLocal:(b=/#.*$/,function(t){var e,i;e=t.href.replace(b,""),i=location.href.replace(b,"");try{e=decodeURIComponent(e)}catch(t){}try{i=decodeURIComponent(i)}catch(t){}return t.hash.length>1&&e===i}),_create:function(){var e=this,i=this.options;this.running=!1,this._addClass("ui-tabs","ui-widget ui-widget-content"),this._toggleClass("ui-tabs-collapsible",null,i.collapsible),this._processTabs(),i.active=this._initialActive(),t.isArray(i.disabled)&&(i.disabled=t.unique(i.disabled.concat(t.map(this.tabs.filter(".ui-state-disabled"),function(t){return e.tabs.index(t)}))).sort()),!1!==this.options.active&&this.anchors.length?this.active=this._findActive(i.active):this.active=t(),this._refresh(),this.active.length&&this.load(i.active)},_initialActive:function(){var e=this.options.active,i=this.options.collapsible,s=location.hash.substring(1);return null===e&&(s&&this.tabs.each(function(i,n){if(t(n).attr("aria-controls")===s)return e=i,!1}),null===e&&(e=this.tabs.index(this.tabs.filter(".ui-tabs-active"))),null!==e&&-1!==e||(e=!!this.tabs.length&&0)),!1!==e&&-1===(e=this.tabs.index(this.tabs.eq(e)))&&(e=!i&&0),!i&&!1===e&&this.anchors.length&&(e=0),e},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):t()}},_tabKeydown:function(e){var i=t(t.ui.safeActiveElement(this.document[0])).closest("li"),s=this.tabs.index(i),n=!0;if(!this._handlePageNav(e)){switch(e.keyCode){case t.ui.keyCode.RIGHT:case t.ui.keyCode.DOWN:s++;break;case t.ui.keyCode.UP:case t.ui.keyCode.LEFT:n=!1,s--;break;case t.ui.keyCode.END:s=this.anchors.length-1;break;case t.ui.keyCode.HOME:s=0;break;case t.ui.keyCode.SPACE:return e.preventDefault(),clearTimeout(this.activating),void this._activate(s);case t.ui.keyCode.ENTER:return e.preventDefault(),clearTimeout(this.activating),void this._activate(s!==this.options.active&&s);default:return}e.preventDefault(),clearTimeout(this.activating),s=this._focusNextTab(s,n),e.ctrlKey||e.metaKey||(i.attr("aria-selected","false"),this.tabs.eq(s).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",s)},this.delay))}},_panelKeydown:function(e){this._handlePageNav(e)||e.ctrlKey&&e.keyCode===t.ui.keyCode.UP&&(e.preventDefault(),this.active.trigger("focus"))},_handlePageNav:function(e){return e.altKey&&e.keyCode===t.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):e.altKey&&e.keyCode===t.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):void 0},_findNextTab:function(e,i){var s=this.tabs.length-1;for(;-1!==t.inArray((e>s&&(e=0),e<0&&(e=s),e),this.options.disabled);)e=i?e+1:e-1;return e},_focusNextTab:function(t,e){return t=this._findNextTab(t,e),this.tabs.eq(t).trigger("focus"),t},_setOption:function(t,e){"active"!==t?(this._super(t,e),"collapsible"===t&&(this._toggleClass("ui-tabs-collapsible",null,e),e||!1!==this.options.active||this._activate(0)),"event"===t&&this._setupEvents(e),"heightStyle"===t&&this._setupHeightStyle(e)):this._activate(e)},_sanitizeSelector:function(t){return t?t.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var e=this.options,i=this.tablist.children(":has(a[href])");e.disabled=t.map(i.filter(".ui-state-disabled"),function(t){return i.index(t)}),this._processTabs(),!1!==e.active&&this.anchors.length?this.active.length&&!t.contains(this.tablist[0],this.active[0])?this.tabs.length===e.disabled.length?(e.active=!1,this.active=t()):this._activate(this._findNextTab(Math.max(0,e.active-1),!1)):e.active=this.tabs.index(this.active):(e.active=!1,this.active=t()),this._refresh()},_refresh:function(){this._setOptionDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-hidden":"true"}),this.active.length?(this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}),this._addClass(this.active,"ui-tabs-active","ui-state-active"),this._getPanelForTab(this.active).show().attr({"aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var e=this,i=this.tabs,s=this.anchors,n=this.panels;this.tablist=this._getList().attr("role","tablist"),this._addClass(this.tablist,"ui-tabs-nav","ui-helper-reset ui-helper-clearfix ui-widget-header"),this.tablist.on("mousedown"+this.eventNamespace,"> li",function(e){t(this).is(".ui-state-disabled")&&e.preventDefault()}).on("focus"+this.eventNamespace,".ui-tabs-anchor",function(){t(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this.tabs=this.tablist.find("> li:has(a[href])").attr({role:"tab",tabIndex:-1}),this._addClass(this.tabs,"ui-tabs-tab","ui-state-default"),this.anchors=this.tabs.map(function(){return t("a",this)[0]}).attr({role:"presentation",tabIndex:-1}),this._addClass(this.anchors,"ui-tabs-anchor"),this.panels=t(),this.anchors.each(function(i,s){var n,o,a,r=t(s).uniqueId().attr("id"),h=t(s).closest("li"),l=h.attr("aria-controls");e._isLocal(s)?(a=(n=s.hash).substring(1),o=e.element.find(e._sanitizeSelector(n))):(n="#"+(a=h.attr("aria-controls")||t({}).uniqueId()[0].id),(o=e.element.find(n)).length||(o=e._createPanel(a)).insertAfter(e.panels[i-1]||e.tablist),o.attr("aria-live","polite")),o.length&&(e.panels=e.panels.add(o)),l&&h.data("ui-tabs-aria-controls",l),h.attr({"aria-controls":a,"aria-labelledby":r}),o.attr("aria-labelledby",r)}),this.panels.attr("role","tabpanel"),this._addClass(this.panels,"ui-tabs-panel","ui-widget-content"),i&&(this._off(i.not(this.tabs)),this._off(s.not(this.anchors)),this._off(n.not(this.panels)))},_getList:function(){return this.tablist||this.element.find("ol, ul").eq(0)},_createPanel:function(e){return t("
        ").attr("id",e).data("ui-tabs-destroy",!0)},_setOptionDisabled:function(e){var i,s,n;for(t.isArray(e)&&(e.length?e.length===this.anchors.length&&(e=!0):e=!1),n=0;s=this.tabs[n];n++)i=t(s),!0===e||-1!==t.inArray(n,e)?(i.attr("aria-disabled","true"),this._addClass(i,null,"ui-state-disabled")):(i.removeAttr("aria-disabled"),this._removeClass(i,null,"ui-state-disabled"));this.options.disabled=e,this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!0===e)},_setupEvents:function(e){var i={};e&&t.each(e.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(!0,this.anchors,{click:function(t){t.preventDefault()}}),this._on(this.anchors,i),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(e){var i,s=this.element.parent();"fill"===e?(i=s.height(),i-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var e=t(this),s=e.css("position");"absolute"!==s&&"fixed"!==s&&(i-=e.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){i-=t(this).outerHeight(!0)}),this.panels.each(function(){t(this).height(Math.max(0,i-t(this).innerHeight()+t(this).height()))}).css("overflow","auto")):"auto"===e&&(i=0,this.panels.each(function(){i=Math.max(i,t(this).height("").height())}).height(i))},_eventHandler:function(e){var i=this.options,s=this.active,n=t(e.currentTarget).closest("li"),o=n[0]===s[0],a=o&&i.collapsible,r=a?t():this._getPanelForTab(n),h=s.length?this._getPanelForTab(s):t(),l={oldTab:s,oldPanel:h,newTab:a?t():n,newPanel:r};e.preventDefault(),n.hasClass("ui-state-disabled")||n.hasClass("ui-tabs-loading")||this.running||o&&!i.collapsible||!1===this._trigger("beforeActivate",e,l)||(i.active=!a&&this.tabs.index(n),this.active=o?t():n,this.xhr&&this.xhr.abort(),h.length||r.length||t.error("jQuery UI Tabs: Mismatching fragment identifier."),r.length&&this.load(this.tabs.index(n),e),this._toggle(e,l))},_toggle:function(e,i){var s=this,n=i.newPanel,o=i.oldPanel;function a(){s.running=!1,s._trigger("activate",e,i)}function r(){s._addClass(i.newTab.closest("li"),"ui-tabs-active","ui-state-active"),n.length&&s.options.show?s._show(n,s.options.show,a):(n.show(),a())}this.running=!0,o.length&&this.options.hide?this._hide(o,this.options.hide,function(){s._removeClass(i.oldTab.closest("li"),"ui-tabs-active","ui-state-active"),r()}):(this._removeClass(i.oldTab.closest("li"),"ui-tabs-active","ui-state-active"),o.hide(),r()),o.attr("aria-hidden","true"),i.oldTab.attr({"aria-selected":"false","aria-expanded":"false"}),n.length&&o.length?i.oldTab.attr("tabIndex",-1):n.length&&this.tabs.filter(function(){return 0===t(this).attr("tabIndex")}).attr("tabIndex",-1),n.attr("aria-hidden","false"),i.newTab.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_activate:function(e){var i,s=this._findActive(e);s[0]!==this.active[0]&&(s.length||(s=this.active),i=s.find(".ui-tabs-anchor")[0],this._eventHandler({target:i,currentTarget:i,preventDefault:t.noop}))},_findActive:function(e){return!1===e?t():this.tabs.eq(e)},_getIndex:function(e){return"string"==typeof e&&(e=this.anchors.index(this.anchors.filter("[href$='"+t.ui.escapeSelector(e)+"']"))),e},_destroy:function(){this.xhr&&this.xhr.abort(),this.tablist.removeAttr("role").off(this.eventNamespace),this.anchors.removeAttr("role tabIndex").removeUniqueId(),this.tabs.add(this.panels).each(function(){t.data(this,"ui-tabs-destroy")?t(this).remove():t(this).removeAttr("role tabIndex aria-live aria-busy aria-selected aria-labelledby aria-hidden aria-expanded")}),this.tabs.each(function(){var e=t(this),i=e.data("ui-tabs-aria-controls");i?e.attr("aria-controls",i).removeData("ui-tabs-aria-controls"):e.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(e){var i=this.options.disabled;!1!==i&&(void 0===e?i=!1:(e=this._getIndex(e),i=t.isArray(i)?t.map(i,function(t){return t!==e?t:null}):t.map(this.tabs,function(t,i){return i!==e?i:null})),this._setOptionDisabled(i))},disable:function(e){var i=this.options.disabled;if(!0!==i){if(void 0===e)i=!0;else{if(e=this._getIndex(e),-1!==t.inArray(e,i))return;i=t.isArray(i)?t.merge([e],i).sort():[e]}this._setOptionDisabled(i)}},load:function(e,i){e=this._getIndex(e);var s=this,n=this.tabs.eq(e),o=n.find(".ui-tabs-anchor"),a=this._getPanelForTab(n),r={tab:n,panel:a},h=function(t,e){"abort"===e&&s.panels.stop(!1,!0),s._removeClass(n,"ui-tabs-loading"),a.removeAttr("aria-busy"),t===s.xhr&&delete s.xhr};this._isLocal(o[0])||(this.xhr=t.ajax(this._ajaxSettings(o,i,r)),this.xhr&&"canceled"!==this.xhr.statusText&&(this._addClass(n,"ui-tabs-loading"),a.attr("aria-busy","true"),this.xhr.done(function(t,e,n){setTimeout(function(){a.html(t),s._trigger("load",i,r),h(n,e)},1)}).fail(function(t,e){setTimeout(function(){h(t,e)},1)})))},_ajaxSettings:function(e,i,s){var n=this;return{url:e.attr("href").replace(/#.*$/,""),beforeSend:function(e,o){return n._trigger("beforeLoad",i,t.extend({jqXHR:e,ajaxSettings:o},s))}}},_getPanelForTab:function(e){var i=t(e).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+i))}}),!1!==t.uiBackCompat&&t.widget("ui.tabs",t.ui.tabs,{_processTabs:function(){this._superApply(arguments),this._addClass(this.tabs,"ui-tab")}});t.ui.tabs;t.widget("ui.tooltip",{version:"1.12.1",options:{classes:{"ui-tooltip":"ui-corner-all ui-widget-shadow"},content:function(){var e=t(this).attr("title")||"";return t("").text(e).html()},hide:!0,items:"[title]:not([disabled])",position:{my:"left top+15",at:"left bottom",collision:"flipfit flip"},show:!0,track:!1,close:null,open:null},_addDescribedBy:function(e,i){var s=(e.attr("aria-describedby")||"").split(/\s+/);s.push(i),e.data("ui-tooltip-id",i).attr("aria-describedby",t.trim(s.join(" ")))},_removeDescribedBy:function(e){var i=e.data("ui-tooltip-id"),s=(e.attr("aria-describedby")||"").split(/\s+/),n=t.inArray(i,s);-1!==n&&s.splice(n,1),e.removeData("ui-tooltip-id"),(s=t.trim(s.join(" ")))?e.attr("aria-describedby",s):e.removeAttr("aria-describedby")},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.liveRegion=t("
        ").attr({role:"log","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this.disabledTitles=t([])},_setOption:function(e,i){var s=this;this._super(e,i),"content"===e&&t.each(this.tooltips,function(t,e){s._updateContent(e.element)})},_setOptionDisabled:function(t){this[t?"_disable":"_enable"]()},_disable:function(){var e=this;t.each(this.tooltips,function(i,s){var n=t.Event("blur");n.target=n.currentTarget=s.element[0],e.close(n,!0)}),this.disabledTitles=this.disabledTitles.add(this.element.find(this.options.items).addBack().filter(function(){var e=t(this);if(e.is("[title]"))return e.data("ui-tooltip-title",e.attr("title")).removeAttr("title")}))},_enable:function(){this.disabledTitles.each(function(){var e=t(this);e.data("ui-tooltip-title")&&e.attr("title",e.data("ui-tooltip-title"))}),this.disabledTitles=t([])},open:function(e){var i=this,s=t(e?e.target:this.element).closest(this.options.items);s.length&&!s.data("ui-tooltip-id")&&(s.attr("title")&&s.data("ui-tooltip-title",s.attr("title")),s.data("ui-tooltip-open",!0),e&&"mouseover"===e.type&&s.parents().each(function(){var e,s=t(this);s.data("ui-tooltip-open")&&((e=t.Event("blur")).target=e.currentTarget=this,i.close(e,!0)),s.attr("title")&&(s.uniqueId(),i.parents[this.id]={element:this,title:s.attr("title")},s.attr("title",""))}),this._registerCloseHandlers(e,s),this._updateContent(s,e))},_updateContent:function(t,e){var i,s=this.options.content,n=this,o=e?e.type:null;if("string"==typeof s||s.nodeType||s.jquery)return this._open(e,t,s);(i=s.call(t[0],function(i){n._delay(function(){t.data("ui-tooltip-open")&&(e&&(e.type=o),this._open(e,t,i))})}))&&this._open(e,t,i)},_open:function(e,i,s){var n,o,a,r,h=t.extend({},this.options.position);function l(t){h.of=t,o.is(":hidden")||o.position(h)}s&&((n=this._find(i))?n.tooltip.find(".ui-tooltip-content").html(s):(i.is("[title]")&&(e&&"mouseover"===e.type?i.attr("title",""):i.removeAttr("title")),n=this._tooltip(i),o=n.tooltip,this._addDescribedBy(i,o.attr("id")),o.find(".ui-tooltip-content").html(s),this.liveRegion.children().hide(),(r=t("
        ").html(o.find(".ui-tooltip-content").html())).removeAttr("name").find("[name]").removeAttr("name"),r.removeAttr("id").find("[id]").removeAttr("id"),r.appendTo(this.liveRegion),this.options.track&&e&&/^mouse/.test(e.type)?(this._on(this.document,{mousemove:l}),l(e)):o.position(t.extend({of:i},this.options.position)),o.hide(),this._show(o,this.options.show),this.options.track&&this.options.show&&this.options.show.delay&&(a=this.delayedShow=setInterval(function(){o.is(":visible")&&(l(h.of),clearInterval(a))},t.fx.interval)),this._trigger("open",e,{tooltip:o})))},_registerCloseHandlers:function(e,i){var s={keyup:function(e){if(e.keyCode===t.ui.keyCode.ESCAPE){var s=t.Event(e);s.currentTarget=i[0],this.close(s,!0)}}};i[0]!==this.element[0]&&(s.remove=function(){this._removeTooltip(this._find(i).tooltip)}),e&&"mouseover"!==e.type||(s.mouseleave="close"),e&&"focusin"!==e.type||(s.focusout="close"),this._on(!0,i,s)},close:function(e){var i,s=this,n=t(e?e.currentTarget:this.element),o=this._find(n);o?(i=o.tooltip,o.closing||(clearInterval(this.delayedShow),n.data("ui-tooltip-title")&&!n.attr("title")&&n.attr("title",n.data("ui-tooltip-title")),this._removeDescribedBy(n),o.hiding=!0,i.stop(!0),this._hide(i,this.options.hide,function(){s._removeTooltip(t(this))}),n.removeData("ui-tooltip-open"),this._off(n,"mouseleave focusout keyup"),n[0]!==this.element[0]&&this._off(n,"remove"),this._off(this.document,"mousemove"),e&&"mouseleave"===e.type&&t.each(this.parents,function(e,i){t(i.element).attr("title",i.title),delete s.parents[e]}),o.closing=!0,this._trigger("close",e,{tooltip:i}),o.hiding||(o.closing=!1))):n.removeData("ui-tooltip-open")},_tooltip:function(e){var i=t("
        ").attr("role","tooltip"),s=t("
        ").appendTo(i),n=i.uniqueId().attr("id");return this._addClass(s,"ui-tooltip-content"),this._addClass(i,"ui-tooltip","ui-widget ui-widget-content"),i.appendTo(this._appendTo(e)),this.tooltips[n]={element:e,tooltip:i}},_find:function(t){var e=t.data("ui-tooltip-id");return e?this.tooltips[e]:null},_removeTooltip:function(t){t.remove(),delete this.tooltips[t.attr("id")]},_appendTo:function(t){var e=t.closest(".ui-front, dialog");return e.length||(e=this.document[0].body),e},_destroy:function(){var e=this;t.each(this.tooltips,function(i,s){var n=t.Event("blur"),o=s.element;n.target=n.currentTarget=o[0],e.close(n,!0),t("#"+i).remove(),o.data("ui-tooltip-title")&&(o.attr("title")||o.attr("title",o.data("ui-tooltip-title")),o.removeData("ui-tooltip-title"))}),this.liveRegion.remove()}}),!1!==t.uiBackCompat&&t.widget("ui.tooltip",t.ui.tooltip,{options:{tooltipClass:null},_tooltip:function(){var t=this._superApply(arguments);return this.options.tooltipClass&&t.tooltip.addClass(this.options.tooltipClass),t}});t.ui.tooltip}); \ No newline at end of file diff --git a/classroom/assets/js/lib/jquery-ui.js b/classroom/assets/js/lib/jquery-ui.js new file mode 100644 index 00000000..32d6b54b --- /dev/null +++ b/classroom/assets/js/lib/jquery-ui.js @@ -0,0 +1,13 @@ +/*! jQuery UI - v1.12.0 - 2016-07-08 +* http://jqueryui.com +* Includes: widget.js, position.js, data.js, disable-selection.js, effect.js, effects/effect-blind.js, effects/effect-bounce.js, effects/effect-clip.js, effects/effect-drop.js, effects/effect-explode.js, effects/effect-fade.js, effects/effect-fold.js, effects/effect-highlight.js, effects/effect-puff.js, effects/effect-pulsate.js, effects/effect-scale.js, effects/effect-shake.js, effects/effect-size.js, effects/effect-slide.js, effects/effect-transfer.js, focusable.js, form-reset-mixin.js, jquery-1-7.js, keycode.js, labels.js, scroll-parent.js, tabbable.js, unique-id.js, widgets/accordion.js, widgets/autocomplete.js, widgets/button.js, widgets/checkboxradio.js, widgets/controlgroup.js, widgets/datepicker.js, widgets/dialog.js, widgets/draggable.js, widgets/droppable.js, widgets/menu.js, widgets/mouse.js, widgets/progressbar.js, widgets/resizable.js, widgets/selectable.js, widgets/selectmenu.js, widgets/slider.js, widgets/sortable.js, widgets/spinner.js, widgets/tabs.js, widgets/tooltip.js +* Copyright jQuery Foundation and other contributors; Licensed MIT */ + +(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)})(function(t){function e(t){for(var e=t.css("visibility");"inherit"===e;)t=t.parent(),e=t.css("visibility");return"hidden"!==e}function i(t){for(var e,i;t.length&&t[0]!==document;){if(e=t.css("position"),("absolute"===e||"relative"===e||"fixed"===e)&&(i=parseInt(t.css("zIndex"),10),!isNaN(i)&&0!==i))return i;t=t.parent()}return 0}function s(){this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},t.extend(this._defaults,this.regional[""]),this.regional.en=t.extend(!0,{},this.regional[""]),this.regional["en-US"]=t.extend(!0,{},this.regional.en),this.dpDiv=n(t("
        "))}function n(e){var i="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return e.on("mouseout",i,function(){t(this).removeClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&t(this).removeClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&t(this).removeClass("ui-datepicker-next-hover")}).on("mouseover",i,o)}function o(){t.datepicker._isDisabledDatepicker(m.inline?m.dpDiv.parent()[0]:m.input[0])||(t(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),t(this).addClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&t(this).addClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&t(this).addClass("ui-datepicker-next-hover"))}function a(e,i){t.extend(e,i);for(var s in i)null==i[s]&&(e[s]=i[s]);return e}function r(t){return function(){var e=this.element.val();t.apply(this,arguments),this._refresh(),e!==this.element.val()&&this._trigger("change")}}t.ui=t.ui||{},t.ui.version="1.12.0";var h=0,l=Array.prototype.slice;t.cleanData=function(e){return function(i){var s,n,o;for(o=0;null!=(n=i[o]);o++)try{s=t._data(n,"events"),s&&s.remove&&t(n).triggerHandler("remove")}catch(a){}e(i)}}(t.cleanData),t.widget=function(e,i,s){var n,o,a,r={},h=e.split(".")[0];e=e.split(".")[1];var l=h+"-"+e;return s||(s=i,i=t.Widget),t.isArray(s)&&(s=t.extend.apply(null,[{}].concat(s))),t.expr[":"][l.toLowerCase()]=function(e){return!!t.data(e,l)},t[h]=t[h]||{},n=t[h][e],o=t[h][e]=function(t,e){return this._createWidget?(arguments.length&&this._createWidget(t,e),void 0):new o(t,e)},t.extend(o,n,{version:s.version,_proto:t.extend({},s),_childConstructors:[]}),a=new i,a.options=t.widget.extend({},a.options),t.each(s,function(e,s){return t.isFunction(s)?(r[e]=function(){function t(){return i.prototype[e].apply(this,arguments)}function n(t){return i.prototype[e].apply(this,t)}return function(){var e,i=this._super,o=this._superApply;return this._super=t,this._superApply=n,e=s.apply(this,arguments),this._super=i,this._superApply=o,e}}(),void 0):(r[e]=s,void 0)}),o.prototype=t.widget.extend(a,{widgetEventPrefix:n?a.widgetEventPrefix||e:e},r,{constructor:o,namespace:h,widgetName:e,widgetFullName:l}),n?(t.each(n._childConstructors,function(e,i){var s=i.prototype;t.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete n._childConstructors):i._childConstructors.push(o),t.widget.bridge(e,o),o},t.widget.extend=function(e){for(var i,s,n=l.call(arguments,1),o=0,a=n.length;a>o;o++)for(i in n[o])s=n[o][i],n[o].hasOwnProperty(i)&&void 0!==s&&(e[i]=t.isPlainObject(s)?t.isPlainObject(e[i])?t.widget.extend({},e[i],s):t.widget.extend({},s):s);return e},t.widget.bridge=function(e,i){var s=i.prototype.widgetFullName||e;t.fn[e]=function(n){var o="string"==typeof n,a=l.call(arguments,1),r=this;return o?this.each(function(){var i,o=t.data(this,s);return"instance"===n?(r=o,!1):o?t.isFunction(o[n])&&"_"!==n.charAt(0)?(i=o[n].apply(o,a),i!==o&&void 0!==i?(r=i&&i.jquery?r.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+n+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+n+"'")}):(a.length&&(n=t.widget.extend.apply(null,[n].concat(a))),this.each(function(){var e=t.data(this,s);e?(e.option(n||{}),e._init&&e._init()):t.data(this,s,new i(n,this))})),r}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"
        ",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,i){i=t(i||this.defaultElement||this)[0],this.element=t(i),this.uuid=h++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},i!==this&&(t.data(i,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===i&&this.destroy()}}),this.document=t(i.style?i.ownerDocument:i.document||i),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var h=s.match(/^([\w:-]*)\s*(.*)$/),l=h[1]+o.eventNamespace,c=h[2];c?n.on(l,c,r):i.on(l,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,function(){function e(t,e,i){return[parseFloat(t[0])*(p.test(t[0])?e/100:1),parseFloat(t[1])*(p.test(t[1])?i/100:1)]}function i(e,i){return parseInt(t.css(e,i),10)||0}function s(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}var n,o,a=Math.max,r=Math.abs,h=Math.round,l=/left|center|right/,c=/top|center|bottom/,u=/[\+\-]\d+(\.[\d]+)?%?/,d=/^\w+/,p=/%$/,f=t.fn.position;o=function(){var e=t("
        ").css("position","absolute").appendTo("body").offset({top:1.5,left:1.5}),i=1.5===e.offset().top;return e.remove(),o=function(){return i},i},t.position={scrollbarWidth:function(){if(void 0!==n)return n;var e,i,s=t("
        "),o=s.children()[0];return t("body").append(s),e=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,e===i&&(i=s[0].clientWidth),s.remove(),n=e-i},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.widthi?"left":e>0?"right":"center",vertical:0>o?"top":s>0?"bottom":"middle"};u>g&&g>r(e+i)&&(h.horizontal="center"),d>m&&m>r(s+o)&&(h.vertical="middle"),h.important=a(r(e),r(i))>a(r(s),r(o))?"horizontal":"vertical",n.using.call(this,t,h)}),c.offset(t.extend(T,{using:l}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,o=s.width,r=t.left-e.collisionPosition.marginLeft,h=n-r,l=r+e.collisionWidth-o-n;e.collisionWidth>o?h>0&&0>=l?(i=t.left+h+e.collisionWidth-o-n,t.left+=h-i):t.left=l>0&&0>=h?n:h>l?n+o-e.collisionWidth:n:h>0?t.left+=h:l>0?t.left-=l:t.left=a(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,o=e.within.height,r=t.top-e.collisionPosition.marginTop,h=n-r,l=r+e.collisionHeight-o-n;e.collisionHeight>o?h>0&&0>=l?(i=t.top+h+e.collisionHeight-o-n,t.top+=h-i):t.top=l>0&&0>=h?n:h>l?n+o-e.collisionHeight:n:h>0?t.top+=h:l>0?t.top-=l:t.top=a(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,a=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=t.left-e.collisionPosition.marginLeft,c=l-h,u=l+e.collisionWidth-a-h,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-a-o,(0>i||r(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-h,(s>0||u>r(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,a=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=t.top-e.collisionPosition.marginTop,c=l-h,u=l+e.collisionHeight-a-h,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,g=-2*e.offset[1];0>c?(s=t.top+p+f+g+e.collisionHeight-a-o,(0>s||r(c)>s)&&(t.top+=p+f+g)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+g-h,(i>0||u>r(i))&&(t.top+=p+f+g))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}}}(),t.ui.position,t.extend(t.expr[":"],{data:t.expr.createPseudo?t.expr.createPseudo(function(e){return function(i){return!!t.data(i,e)}}):function(e,i,s){return!!t.data(e,s[3])}}),t.fn.extend({disableSelection:function(){var t="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}}(),enableSelection:function(){return this.off(".ui-disableSelection")}});var c="ui-effects-",u="ui-effects-style",d="ui-effects-animated",p=t;t.effects={effect:{}},function(t,e){function i(t,e,i){var s=u[e.type]||{};return null==t?i||!e.def?null:e.def:(t=s.floor?~~t:parseFloat(t),isNaN(t)?e.def:s.mod?(t+s.mod)%s.mod:0>t?0:t>s.max?s.max:t)}function s(i){var s=l(),n=s._rgba=[];return i=i.toLowerCase(),f(h,function(t,o){var a,r=o.re.exec(i),h=r&&o.parse(r),l=o.space||"rgba";return h?(a=s[l](h),s[c[l].cache]=a[c[l].cache],n=s._rgba=a._rgba,!1):e}),n.length?("0,0,0,0"===n.join()&&t.extend(n,o.transparent),s):o[i]}function n(t,e,i){return i=(i+1)%1,1>6*i?t+6*(e-t)*i:1>2*i?e:2>3*i?t+6*(e-t)*(2/3-i):t}var o,a="backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",r=/^([\-+])=\s*(\d+\.?\d*)/,h=[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(t){return[t[1],t[2],t[3],t[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(t){return[2.55*t[1],2.55*t[2],2.55*t[3],t[4]]}},{re:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,parse:function(t){return[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)]}},{re:/#([a-f0-9])([a-f0-9])([a-f0-9])/,parse:function(t){return[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16)]}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,space:"hsla",parse:function(t){return[t[1],t[2]/100,t[3]/100,t[4]]}}],l=t.Color=function(e,i,s,n){return new t.Color.fn.parse(e,i,s,n)},c={rgba:{props:{red:{idx:0,type:"byte"},green:{idx:1,type:"byte"},blue:{idx:2,type:"byte"}}},hsla:{props:{hue:{idx:0,type:"degrees"},saturation:{idx:1,type:"percent"},lightness:{idx:2,type:"percent"}}}},u={"byte":{floor:!0,max:255},percent:{max:1},degrees:{mod:360,floor:!0}},d=l.support={},p=t("

        ")[0],f=t.each;p.style.cssText="background-color:rgba(1,1,1,.5)",d.rgba=p.style.backgroundColor.indexOf("rgba")>-1,f(c,function(t,e){e.cache="_"+t,e.props.alpha={idx:3,type:"percent",def:1}}),l.fn=t.extend(l.prototype,{parse:function(n,a,r,h){if(n===e)return this._rgba=[null,null,null,null],this;(n.jquery||n.nodeType)&&(n=t(n).css(a),a=e);var u=this,d=t.type(n),p=this._rgba=[];return a!==e&&(n=[n,a,r,h],d="array"),"string"===d?this.parse(s(n)||o._default):"array"===d?(f(c.rgba.props,function(t,e){p[e.idx]=i(n[e.idx],e)}),this):"object"===d?(n instanceof l?f(c,function(t,e){n[e.cache]&&(u[e.cache]=n[e.cache].slice())}):f(c,function(e,s){var o=s.cache;f(s.props,function(t,e){if(!u[o]&&s.to){if("alpha"===t||null==n[t])return;u[o]=s.to(u._rgba)}u[o][e.idx]=i(n[t],e,!0)}),u[o]&&0>t.inArray(null,u[o].slice(0,3))&&(u[o][3]=1,s.from&&(u._rgba=s.from(u[o])))}),this):e},is:function(t){var i=l(t),s=!0,n=this;return f(c,function(t,o){var a,r=i[o.cache];return r&&(a=n[o.cache]||o.to&&o.to(n._rgba)||[],f(o.props,function(t,i){return null!=r[i.idx]?s=r[i.idx]===a[i.idx]:e})),s}),s},_space:function(){var t=[],e=this;return f(c,function(i,s){e[s.cache]&&t.push(i)}),t.pop()},transition:function(t,e){var s=l(t),n=s._space(),o=c[n],a=0===this.alpha()?l("transparent"):this,r=a[o.cache]||o.to(a._rgba),h=r.slice();return s=s[o.cache],f(o.props,function(t,n){var o=n.idx,a=r[o],l=s[o],c=u[n.type]||{};null!==l&&(null===a?h[o]=l:(c.mod&&(l-a>c.mod/2?a+=c.mod:a-l>c.mod/2&&(a-=c.mod)),h[o]=i((l-a)*e+a,n)))}),this[n](h)},blend:function(e){if(1===this._rgba[3])return this;var i=this._rgba.slice(),s=i.pop(),n=l(e)._rgba;return l(t.map(i,function(t,e){return(1-s)*n[e]+s*t}))},toRgbaString:function(){var e="rgba(",i=t.map(this._rgba,function(t,e){return null==t?e>2?1:0:t});return 1===i[3]&&(i.pop(),e="rgb("),e+i.join()+")"},toHslaString:function(){var e="hsla(",i=t.map(this.hsla(),function(t,e){return null==t&&(t=e>2?1:0),e&&3>e&&(t=Math.round(100*t)+"%"),t});return 1===i[3]&&(i.pop(),e="hsl("),e+i.join()+")"},toHexString:function(e){var i=this._rgba.slice(),s=i.pop();return e&&i.push(~~(255*s)),"#"+t.map(i,function(t){return t=(t||0).toString(16),1===t.length?"0"+t:t}).join("")},toString:function(){return 0===this._rgba[3]?"transparent":this.toRgbaString()}}),l.fn.parse.prototype=l.fn,c.hsla.to=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e,i,s=t[0]/255,n=t[1]/255,o=t[2]/255,a=t[3],r=Math.max(s,n,o),h=Math.min(s,n,o),l=r-h,c=r+h,u=.5*c;return e=h===r?0:s===r?60*(n-o)/l+360:n===r?60*(o-s)/l+120:60*(s-n)/l+240,i=0===l?0:.5>=u?l/c:l/(2-c),[Math.round(e)%360,i,u,null==a?1:a]},c.hsla.from=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e=t[0]/360,i=t[1],s=t[2],o=t[3],a=.5>=s?s*(1+i):s+i-s*i,r=2*s-a;return[Math.round(255*n(r,a,e+1/3)),Math.round(255*n(r,a,e)),Math.round(255*n(r,a,e-1/3)),o]},f(c,function(s,n){var o=n.props,a=n.cache,h=n.to,c=n.from;l.fn[s]=function(s){if(h&&!this[a]&&(this[a]=h(this._rgba)),s===e)return this[a].slice();var n,r=t.type(s),u="array"===r||"object"===r?s:arguments,d=this[a].slice();return f(o,function(t,e){var s=u["object"===r?t:e.idx];null==s&&(s=d[e.idx]),d[e.idx]=i(s,e)}),c?(n=l(c(d)),n[a]=d,n):l(d)},f(o,function(e,i){l.fn[e]||(l.fn[e]=function(n){var o,a=t.type(n),h="alpha"===e?this._hsla?"hsla":"rgba":s,l=this[h](),c=l[i.idx];return"undefined"===a?c:("function"===a&&(n=n.call(this,c),a=t.type(n)),null==n&&i.empty?this:("string"===a&&(o=r.exec(n),o&&(n=c+parseFloat(o[2])*("+"===o[1]?1:-1))),l[i.idx]=n,this[h](l)))})})}),l.hook=function(e){var i=e.split(" ");f(i,function(e,i){t.cssHooks[i]={set:function(e,n){var o,a,r="";if("transparent"!==n&&("string"!==t.type(n)||(o=s(n)))){if(n=l(o||n),!d.rgba&&1!==n._rgba[3]){for(a="backgroundColor"===i?e.parentNode:e;(""===r||"transparent"===r)&&a&&a.style;)try{r=t.css(a,"backgroundColor"),a=a.parentNode}catch(h){}n=n.blend(r&&"transparent"!==r?r:"_default")}n=n.toRgbaString()}try{e.style[i]=n}catch(h){}}},t.fx.step[i]=function(e){e.colorInit||(e.start=l(e.elem,i),e.end=l(e.end),e.colorInit=!0),t.cssHooks[i].set(e.elem,e.start.transition(e.end,e.pos))}})},l.hook(a),t.cssHooks.borderColor={expand:function(t){var e={};return f(["Top","Right","Bottom","Left"],function(i,s){e["border"+s+"Color"]=t}),e}},o=t.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"}}(p),function(){function e(e){var i,s,n=e.ownerDocument.defaultView?e.ownerDocument.defaultView.getComputedStyle(e,null):e.currentStyle,o={};if(n&&n.length&&n[0]&&n[n[0]])for(s=n.length;s--;)i=n[s],"string"==typeof n[i]&&(o[t.camelCase(i)]=n[i]);else for(i in n)"string"==typeof n[i]&&(o[i]=n[i]);return o}function i(e,i){var s,o,a={};for(s in i)o=i[s],e[s]!==o&&(n[s]||(t.fx.step[s]||!isNaN(parseFloat(o)))&&(a[s]=o));return a}var s=["add","remove","toggle"],n={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};t.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(e,i){t.fx.step[i]=function(t){("none"!==t.end&&!t.setAttr||1===t.pos&&!t.setAttr)&&(p.style(t.elem,i,t.end),t.setAttr=!0)}}),t.fn.addBack||(t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.effects.animateClass=function(n,o,a,r){var h=t.speed(o,a,r);return this.queue(function(){var o,a=t(this),r=a.attr("class")||"",l=h.children?a.find("*").addBack():a;l=l.map(function(){var i=t(this);return{el:i,start:e(this)}}),o=function(){t.each(s,function(t,e){n[e]&&a[e+"Class"](n[e])})},o(),l=l.map(function(){return this.end=e(this.el[0]),this.diff=i(this.start,this.end),this}),a.attr("class",r),l=l.map(function(){var e=this,i=t.Deferred(),s=t.extend({},h,{queue:!1,complete:function(){i.resolve(e)}});return this.el.animate(this.diff,s),i.promise()}),t.when.apply(t,l.get()).done(function(){o(),t.each(arguments,function(){var e=this.el;t.each(this.diff,function(t){e.css(t,"")})}),h.complete.call(a[0])})})},t.fn.extend({addClass:function(e){return function(i,s,n,o){return s?t.effects.animateClass.call(this,{add:i},s,n,o):e.apply(this,arguments)}}(t.fn.addClass),removeClass:function(e){return function(i,s,n,o){return arguments.length>1?t.effects.animateClass.call(this,{remove:i},s,n,o):e.apply(this,arguments)}}(t.fn.removeClass),toggleClass:function(e){return function(i,s,n,o,a){return"boolean"==typeof s||void 0===s?n?t.effects.animateClass.call(this,s?{add:i}:{remove:i},n,o,a):e.apply(this,arguments):t.effects.animateClass.call(this,{toggle:i},s,n,o)}}(t.fn.toggleClass),switchClass:function(e,i,s,n,o){return t.effects.animateClass.call(this,{add:i,remove:e},s,n,o)}})}(),function(){function e(e,i,s,n){return t.isPlainObject(e)&&(i=e,e=e.effect),e={effect:e},null==i&&(i={}),t.isFunction(i)&&(n=i,s=null,i={}),("number"==typeof i||t.fx.speeds[i])&&(n=s,s=i,i={}),t.isFunction(s)&&(n=s,s=null),i&&t.extend(e,i),s=s||i.duration,e.duration=t.fx.off?0:"number"==typeof s?s:s in t.fx.speeds?t.fx.speeds[s]:t.fx.speeds._default,e.complete=n||i.complete,e}function i(e){return!e||"number"==typeof e||t.fx.speeds[e]?!0:"string"!=typeof e||t.effects.effect[e]?t.isFunction(e)?!0:"object"!=typeof e||e.effect?!1:!0:!0}function s(t,e){var i=e.outerWidth(),s=e.outerHeight(),n=/^rect\((-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto)\)$/,o=n.exec(t)||["",0,i,s,0];return{top:parseFloat(o[1])||0,right:"auto"===o[2]?i:parseFloat(o[2]),bottom:"auto"===o[3]?s:parseFloat(o[3]),left:parseFloat(o[4])||0}}t.expr&&t.expr.filters&&t.expr.filters.animated&&(t.expr.filters.animated=function(e){return function(i){return!!t(i).data(d)||e(i)}}(t.expr.filters.animated)),t.uiBackCompat!==!1&&t.extend(t.effects,{save:function(t,e){for(var i=0,s=e.length;s>i;i++)null!==e[i]&&t.data(c+e[i],t[0].style[e[i]])},restore:function(t,e){for(var i,s=0,n=e.length;n>s;s++)null!==e[s]&&(i=t.data(c+e[s]),t.css(e[s],i))},setMode:function(t,e){return"toggle"===e&&(e=t.is(":hidden")?"show":"hide"),e},createWrapper:function(e){if(e.parent().is(".ui-effects-wrapper"))return e.parent();var i={width:e.outerWidth(!0),height:e.outerHeight(!0),"float":e.css("float")},s=t("

        ").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),n={width:e.width(),height:e.height()},o=document.activeElement;try{o.id}catch(a){o=document.body}return e.wrap(s),(e[0]===o||t.contains(e[0],o))&&t(o).trigger("focus"),s=e.parent(),"static"===e.css("position")?(s.css({position:"relative"}),e.css({position:"relative"})):(t.extend(i,{position:e.css("position"),zIndex:e.css("z-index")}),t.each(["top","left","bottom","right"],function(t,s){i[s]=e.css(s),isNaN(parseInt(i[s],10))&&(i[s]="auto")}),e.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),e.css(n),s.css(i).show()},removeWrapper:function(e){var i=document.activeElement;return e.parent().is(".ui-effects-wrapper")&&(e.parent().replaceWith(e),(e[0]===i||t.contains(e[0],i))&&t(i).trigger("focus")),e}}),t.extend(t.effects,{version:"1.12.0",define:function(e,i,s){return s||(s=i,i="effect"),t.effects.effect[e]=s,t.effects.effect[e].mode=i,s},scaledDimensions:function(t,e,i){if(0===e)return{height:0,width:0,outerHeight:0,outerWidth:0};var s="horizontal"!==i?(e||100)/100:1,n="vertical"!==i?(e||100)/100:1;return{height:t.height()*n,width:t.width()*s,outerHeight:t.outerHeight()*n,outerWidth:t.outerWidth()*s}},clipToBox:function(t){return{width:t.clip.right-t.clip.left,height:t.clip.bottom-t.clip.top,left:t.clip.left,top:t.clip.top}},unshift:function(t,e,i){var s=t.queue();e>1&&s.splice.apply(s,[1,0].concat(s.splice(e,i))),t.dequeue()},saveStyle:function(t){t.data(u,t[0].style.cssText)},restoreStyle:function(t){t[0].style.cssText=t.data(u)||"",t.removeData(u)},mode:function(t,e){var i=t.is(":hidden");return"toggle"===e&&(e=i?"show":"hide"),(i?"hide"===e:"show"===e)&&(e="none"),e},getBaseline:function(t,e){var i,s;switch(t[0]){case"top":i=0;break;case"middle":i=.5;break;case"bottom":i=1;break;default:i=t[0]/e.height}switch(t[1]){case"left":s=0;break;case"center":s=.5;break;case"right":s=1;break;default:s=t[1]/e.width}return{x:s,y:i}},createPlaceholder:function(e){var i,s=e.css("position"),n=e.position();return e.css({marginTop:e.css("marginTop"),marginBottom:e.css("marginBottom"),marginLeft:e.css("marginLeft"),marginRight:e.css("marginRight")}).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()),/^(static|relative)/.test(s)&&(s="absolute",i=t("<"+e[0].nodeName+">").insertAfter(e).css({display:/^(inline|ruby)/.test(e.css("display"))?"inline-block":"block",visibility:"hidden",marginTop:e.css("marginTop"),marginBottom:e.css("marginBottom"),marginLeft:e.css("marginLeft"),marginRight:e.css("marginRight"),"float":e.css("float")}).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()).addClass("ui-effects-placeholder"),e.data(c+"placeholder",i)),e.css({position:s,left:n.left,top:n.top}),i},removePlaceholder:function(t){var e=c+"placeholder",i=t.data(e);i&&(i.remove(),t.removeData(e))},cleanUp:function(e){t.effects.restoreStyle(e),t.effects.removePlaceholder(e)},setTransition:function(e,i,s,n){return n=n||{},t.each(i,function(t,i){var o=e.cssUnit(i);o[0]>0&&(n[i]=o[0]*s+o[1])}),n}}),t.fn.extend({effect:function(){function i(e){function i(){r.removeData(d),t.effects.cleanUp(r),"hide"===s.mode&&r.hide(),a()}function a(){t.isFunction(h)&&h.call(r[0]),t.isFunction(e)&&e()}var r=t(this);s.mode=c.shift(),t.uiBackCompat===!1||o?"none"===s.mode?(r[l](),a()):n.call(r[0],s,i):(r.is(":hidden")?"hide"===l:"show"===l)?(r[l](),a()):n.call(r[0],s,a)}var s=e.apply(this,arguments),n=t.effects.effect[s.effect],o=n.mode,a=s.queue,r=a||"fx",h=s.complete,l=s.mode,c=[],u=function(e){var i=t(this),s=t.effects.mode(i,l)||o;i.data(d,!0),c.push(s),o&&("show"===s||s===o&&"hide"===s)&&i.show(),o&&"none"===s||t.effects.saveStyle(i),t.isFunction(e)&&e()};return t.fx.off||!n?l?this[l](s.duration,h):this.each(function(){h&&h.call(this)}):a===!1?this.each(u).each(i):this.queue(r,u).queue(r,i)},show:function(t){return function(s){if(i(s))return t.apply(this,arguments);var n=e.apply(this,arguments);return n.mode="show",this.effect.call(this,n)}}(t.fn.show),hide:function(t){return function(s){if(i(s))return t.apply(this,arguments); +var n=e.apply(this,arguments);return n.mode="hide",this.effect.call(this,n)}}(t.fn.hide),toggle:function(t){return function(s){if(i(s)||"boolean"==typeof s)return t.apply(this,arguments);var n=e.apply(this,arguments);return n.mode="toggle",this.effect.call(this,n)}}(t.fn.toggle),cssUnit:function(e){var i=this.css(e),s=[];return t.each(["em","px","%","pt"],function(t,e){i.indexOf(e)>0&&(s=[parseFloat(i),e])}),s},cssClip:function(t){return t?this.css("clip","rect("+t.top+"px "+t.right+"px "+t.bottom+"px "+t.left+"px)"):s(this.css("clip"),this)},transfer:function(e,i){var s=t(this),n=t(e.to),o="fixed"===n.css("position"),a=t("body"),r=o?a.scrollTop():0,h=o?a.scrollLeft():0,l=n.offset(),c={top:l.top-r,left:l.left-h,height:n.innerHeight(),width:n.innerWidth()},u=s.offset(),d=t("
        ").appendTo("body").addClass(e.className).css({top:u.top-r,left:u.left-h,height:s.innerHeight(),width:s.innerWidth(),position:o?"fixed":"absolute"}).animate(c,e.duration,e.easing,function(){d.remove(),t.isFunction(i)&&i()})}}),t.fx.step.clip=function(e){e.clipInit||(e.start=t(e.elem).cssClip(),"string"==typeof e.end&&(e.end=s(e.end,e.elem)),e.clipInit=!0),t(e.elem).cssClip({top:e.pos*(e.end.top-e.start.top)+e.start.top,right:e.pos*(e.end.right-e.start.right)+e.start.right,bottom:e.pos*(e.end.bottom-e.start.bottom)+e.start.bottom,left:e.pos*(e.end.left-e.start.left)+e.start.left})}}(),function(){var e={};t.each(["Quad","Cubic","Quart","Quint","Expo"],function(t,i){e[i]=function(e){return Math.pow(e,t+2)}}),t.extend(e,{Sine:function(t){return 1-Math.cos(t*Math.PI/2)},Circ:function(t){return 1-Math.sqrt(1-t*t)},Elastic:function(t){return 0===t||1===t?t:-Math.pow(2,8*(t-1))*Math.sin((80*(t-1)-7.5)*Math.PI/15)},Back:function(t){return t*t*(3*t-2)},Bounce:function(t){for(var e,i=4;((e=Math.pow(2,--i))-1)/11>t;);return 1/Math.pow(4,3-i)-7.5625*Math.pow((3*e-2)/22-t,2)}}),t.each(e,function(e,i){t.easing["easeIn"+e]=i,t.easing["easeOut"+e]=function(t){return 1-i(1-t)},t.easing["easeInOut"+e]=function(t){return.5>t?i(2*t)/2:1-i(-2*t+2)/2}})}();var f=t.effects;t.effects.define("blind","hide",function(e,i){var s={up:["bottom","top"],vertical:["bottom","top"],down:["top","bottom"],left:["right","left"],horizontal:["right","left"],right:["left","right"]},n=t(this),o=e.direction||"up",a=n.cssClip(),r={clip:t.extend({},a)},h=t.effects.createPlaceholder(n);r.clip[s[o][0]]=r.clip[s[o][1]],"show"===e.mode&&(n.cssClip(r.clip),h&&h.css(t.effects.clipToBox(r)),r.clip=a),h&&h.animate(t.effects.clipToBox(r),e.duration,e.easing),n.animate(r,{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("bounce",function(e,i){var s,n,o,a=t(this),r=e.mode,h="hide"===r,l="show"===r,c=e.direction||"up",u=e.distance,d=e.times||5,p=2*d+(l||h?1:0),f=e.duration/p,g=e.easing,m="up"===c||"down"===c?"top":"left",_="up"===c||"left"===c,v=0,b=a.queue().length;for(t.effects.createPlaceholder(a),o=a.css(m),u||(u=a["top"===m?"outerHeight":"outerWidth"]()/3),l&&(n={opacity:1},n[m]=o,a.css("opacity",0).css(m,_?2*-u:2*u).animate(n,f,g)),h&&(u/=Math.pow(2,d-1)),n={},n[m]=o;d>v;v++)s={},s[m]=(_?"-=":"+=")+u,a.animate(s,f,g).animate(n,f,g),u=h?2*u:u/2;h&&(s={opacity:0},s[m]=(_?"-=":"+=")+u,a.animate(s,f,g)),a.queue(i),t.effects.unshift(a,b,p+1)}),t.effects.define("clip","hide",function(e,i){var s,n={},o=t(this),a=e.direction||"vertical",r="both"===a,h=r||"horizontal"===a,l=r||"vertical"===a;s=o.cssClip(),n.clip={top:l?(s.bottom-s.top)/2:s.top,right:h?(s.right-s.left)/2:s.right,bottom:l?(s.bottom-s.top)/2:s.bottom,left:h?(s.right-s.left)/2:s.left},t.effects.createPlaceholder(o),"show"===e.mode&&(o.cssClip(n.clip),n.clip=s),o.animate(n,{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("drop","hide",function(e,i){var s,n=t(this),o=e.mode,a="show"===o,r=e.direction||"left",h="up"===r||"down"===r?"top":"left",l="up"===r||"left"===r?"-=":"+=",c="+="===l?"-=":"+=",u={opacity:0};t.effects.createPlaceholder(n),s=e.distance||n["top"===h?"outerHeight":"outerWidth"](!0)/2,u[h]=l+s,a&&(n.css(u),u[h]=c+s,u.opacity=1),n.animate(u,{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("explode","hide",function(e,i){function s(){b.push(this),b.length===u*d&&n()}function n(){p.css({visibility:"visible"}),t(b).remove(),i()}var o,a,r,h,l,c,u=e.pieces?Math.round(Math.sqrt(e.pieces)):3,d=u,p=t(this),f=e.mode,g="show"===f,m=p.show().css("visibility","hidden").offset(),_=Math.ceil(p.outerWidth()/d),v=Math.ceil(p.outerHeight()/u),b=[];for(o=0;u>o;o++)for(h=m.top+o*v,c=o-(u-1)/2,a=0;d>a;a++)r=m.left+a*_,l=a-(d-1)/2,p.clone().appendTo("body").wrap("
        ").css({position:"absolute",visibility:"visible",left:-a*_,top:-o*v}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:_,height:v,left:r+(g?l*_:0),top:h+(g?c*v:0),opacity:g?0:1}).animate({left:r+(g?0:l*_),top:h+(g?0:c*v),opacity:g?1:0},e.duration||500,e.easing,s)}),t.effects.define("fade","toggle",function(e,i){var s="show"===e.mode;t(this).css("opacity",s?0:1).animate({opacity:s?1:0},{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("fold","hide",function(e,i){var s=t(this),n=e.mode,o="show"===n,a="hide"===n,r=e.size||15,h=/([0-9]+)%/.exec(r),l=!!e.horizFirst,c=l?["right","bottom"]:["bottom","right"],u=e.duration/2,d=t.effects.createPlaceholder(s),p=s.cssClip(),f={clip:t.extend({},p)},g={clip:t.extend({},p)},m=[p[c[0]],p[c[1]]],_=s.queue().length;h&&(r=parseInt(h[1],10)/100*m[a?0:1]),f.clip[c[0]]=r,g.clip[c[0]]=r,g.clip[c[1]]=0,o&&(s.cssClip(g.clip),d&&d.css(t.effects.clipToBox(g)),g.clip=p),s.queue(function(i){d&&d.animate(t.effects.clipToBox(f),u,e.easing).animate(t.effects.clipToBox(g),u,e.easing),i()}).animate(f,u,e.easing).animate(g,u,e.easing).queue(i),t.effects.unshift(s,_,4)}),t.effects.define("highlight","show",function(e,i){var s=t(this),n={backgroundColor:s.css("backgroundColor")};"hide"===e.mode&&(n.opacity=0),t.effects.saveStyle(s),s.css({backgroundImage:"none",backgroundColor:e.color||"#ffff99"}).animate(n,{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("size",function(e,i){var s,n,o,a=t(this),r=["fontSize"],h=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],l=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],c=e.mode,u="effect"!==c,d=e.scale||"both",p=e.origin||["middle","center"],f=a.css("position"),g=a.position(),m=t.effects.scaledDimensions(a),_=e.from||m,v=e.to||t.effects.scaledDimensions(a,0);t.effects.createPlaceholder(a),"show"===c&&(o=_,_=v,v=o),n={from:{y:_.height/m.height,x:_.width/m.width},to:{y:v.height/m.height,x:v.width/m.width}},("box"===d||"both"===d)&&(n.from.y!==n.to.y&&(_=t.effects.setTransition(a,h,n.from.y,_),v=t.effects.setTransition(a,h,n.to.y,v)),n.from.x!==n.to.x&&(_=t.effects.setTransition(a,l,n.from.x,_),v=t.effects.setTransition(a,l,n.to.x,v))),("content"===d||"both"===d)&&n.from.y!==n.to.y&&(_=t.effects.setTransition(a,r,n.from.y,_),v=t.effects.setTransition(a,r,n.to.y,v)),p&&(s=t.effects.getBaseline(p,m),_.top=(m.outerHeight-_.outerHeight)*s.y+g.top,_.left=(m.outerWidth-_.outerWidth)*s.x+g.left,v.top=(m.outerHeight-v.outerHeight)*s.y+g.top,v.left=(m.outerWidth-v.outerWidth)*s.x+g.left),a.css(_),("content"===d||"both"===d)&&(h=h.concat(["marginTop","marginBottom"]).concat(r),l=l.concat(["marginLeft","marginRight"]),a.find("*[width]").each(function(){var i=t(this),s=t.effects.scaledDimensions(i),o={height:s.height*n.from.y,width:s.width*n.from.x,outerHeight:s.outerHeight*n.from.y,outerWidth:s.outerWidth*n.from.x},a={height:s.height*n.to.y,width:s.width*n.to.x,outerHeight:s.height*n.to.y,outerWidth:s.width*n.to.x};n.from.y!==n.to.y&&(o=t.effects.setTransition(i,h,n.from.y,o),a=t.effects.setTransition(i,h,n.to.y,a)),n.from.x!==n.to.x&&(o=t.effects.setTransition(i,l,n.from.x,o),a=t.effects.setTransition(i,l,n.to.x,a)),u&&t.effects.saveStyle(i),i.css(o),i.animate(a,e.duration,e.easing,function(){u&&t.effects.restoreStyle(i)})})),a.animate(v,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){var e=a.offset();0===v.opacity&&a.css("opacity",_.opacity),u||(a.css("position","static"===f?"relative":f).offset(e),t.effects.saveStyle(a)),i()}})}),t.effects.define("scale",function(e,i){var s=t(this),n=e.mode,o=parseInt(e.percent,10)||(0===parseInt(e.percent,10)?0:"effect"!==n?0:100),a=t.extend(!0,{from:t.effects.scaledDimensions(s),to:t.effects.scaledDimensions(s,o,e.direction||"both"),origin:e.origin||["middle","center"]},e);e.fade&&(a.from.opacity=1,a.to.opacity=0),t.effects.effect.size.call(this,a,i)}),t.effects.define("puff","hide",function(e,i){var s=t.extend(!0,{},e,{fade:!0,percent:parseInt(e.percent,10)||150});t.effects.effect.scale.call(this,s,i)}),t.effects.define("pulsate","show",function(e,i){var s=t(this),n=e.mode,o="show"===n,a="hide"===n,r=o||a,h=2*(e.times||5)+(r?1:0),l=e.duration/h,c=0,u=1,d=s.queue().length;for((o||!s.is(":visible"))&&(s.css("opacity",0).show(),c=1);h>u;u++)s.animate({opacity:c},l,e.easing),c=1-c;s.animate({opacity:c},l,e.easing),s.queue(i),t.effects.unshift(s,d,h+1)}),t.effects.define("shake",function(e,i){var s=1,n=t(this),o=e.direction||"left",a=e.distance||20,r=e.times||3,h=2*r+1,l=Math.round(e.duration/h),c="up"===o||"down"===o?"top":"left",u="up"===o||"left"===o,d={},p={},f={},g=n.queue().length;for(t.effects.createPlaceholder(n),d[c]=(u?"-=":"+=")+a,p[c]=(u?"+=":"-=")+2*a,f[c]=(u?"-=":"+=")+2*a,n.animate(d,l,e.easing);r>s;s++)n.animate(p,l,e.easing).animate(f,l,e.easing);n.animate(p,l,e.easing).animate(d,l/2,e.easing).queue(i),t.effects.unshift(n,g,h+1)}),t.effects.define("slide","show",function(e,i){var s,n,o=t(this),a={up:["bottom","top"],down:["top","bottom"],left:["right","left"],right:["left","right"]},r=e.mode,h=e.direction||"left",l="up"===h||"down"===h?"top":"left",c="up"===h||"left"===h,u=e.distance||o["top"===l?"outerHeight":"outerWidth"](!0),d={};t.effects.createPlaceholder(o),s=o.cssClip(),n=o.position()[l],d[l]=(c?-1:1)*u+n,d.clip=o.cssClip(),d.clip[a[h][1]]=d.clip[a[h][0]],"show"===r&&(o.cssClip(d.clip),o.css(l,d[l]),d.clip=s,d[l]=n),o.animate(d,{queue:!1,duration:e.duration,easing:e.easing,complete:i})});var f;t.uiBackCompat!==!1&&(f=t.effects.define("transfer",function(e,i){t(this).transfer(e,i)})),t.ui.focusable=function(i,s){var n,o,a,r,h,l=i.nodeName.toLowerCase();return"area"===l?(n=i.parentNode,o=n.name,i.href&&o&&"map"===n.nodeName.toLowerCase()?(a=t("img[usemap='#"+o+"']"),a.length>0&&a.is(":visible")):!1):(/^(input|select|textarea|button|object)$/.test(l)?(r=!i.disabled,r&&(h=t(i).closest("fieldset")[0],h&&(r=!h.disabled))):r="a"===l?i.href||s:s,r&&t(i).is(":visible")&&e(t(i)))},t.extend(t.expr[":"],{focusable:function(e){return t.ui.focusable(e,null!=t.attr(e,"tabindex"))}}),t.ui.focusable,t.fn.form=function(){return"string"==typeof this[0].form?this.closest("form"):t(this[0].form)},t.ui.formResetMixin={_formResetHandler:function(){var e=t(this);setTimeout(function(){var i=e.data("ui-form-reset-instances");t.each(i,function(){this.refresh()})})},_bindFormResetHandler:function(){if(this.form=this.element.form(),this.form.length){var t=this.form.data("ui-form-reset-instances")||[];t.length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t)}},_unbindFormResetHandler:function(){if(this.form.length){var e=this.form.data("ui-form-reset-instances");e.splice(t.inArray(this,e),1),e.length?this.form.data("ui-form-reset-instances",e):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset")}}},"1.7"===t.fn.jquery.substring(0,3)&&(t.each(["Width","Height"],function(e,i){function s(e,i,s,o){return t.each(n,function(){i-=parseFloat(t.css(e,"padding"+this))||0,s&&(i-=parseFloat(t.css(e,"border"+this+"Width"))||0),o&&(i-=parseFloat(t.css(e,"margin"+this))||0)}),i}var n="Width"===i?["Left","Right"]:["Top","Bottom"],o=i.toLowerCase(),a={innerWidth:t.fn.innerWidth,innerHeight:t.fn.innerHeight,outerWidth:t.fn.outerWidth,outerHeight:t.fn.outerHeight};t.fn["inner"+i]=function(e){return void 0===e?a["inner"+i].call(this):this.each(function(){t(this).css(o,s(this,e)+"px")})},t.fn["outer"+i]=function(e,n){return"number"!=typeof e?a["outer"+i].call(this,e):this.each(function(){t(this).css(o,s(this,e,!0,n)+"px")})}}),t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.ui.escapeSelector=function(){var t=/([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g;return function(e){return e.replace(t,"\\$1")}}(),t.fn.labels=function(){var e,i,s,n,o;return this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(n=this.eq(0).parents("label"),s=this.attr("id"),s&&(e=this.eq(0).parents().last(),o=e.add(e.length?e.siblings():this.siblings()),i="label[for='"+t.ui.escapeSelector(s)+"']",n=n.add(o.find(i).addBack(i))),this.pushStack(n))},t.fn.scrollParent=function(e){var i=this.css("position"),s="absolute"===i,n=e?/(auto|scroll|hidden)/:/(auto|scroll)/,o=this.parents().filter(function(){var e=t(this);return s&&"static"===e.css("position")?!1:n.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))}).eq(0);return"fixed"!==i&&o.length?o:t(this[0].ownerDocument||document)},t.extend(t.expr[":"],{tabbable:function(e){var i=t.attr(e,"tabindex"),s=null!=i;return(!s||i>=0)&&t.ui.focusable(e,s)}}),t.fn.extend({uniqueId:function(){var t=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.widget("ui.accordion",{version:"1.12.0",options:{active:0,animate:{},classes:{"ui-accordion-header":"ui-corner-top","ui-accordion-header-collapsed":"ui-corner-all","ui-accordion-content":"ui-corner-bottom"},collapsible:!1,event:"click",header:"> li > :first-child, > :not(li):even",heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},hideProps:{borderTopWidth:"hide",borderBottomWidth:"hide",paddingTop:"hide",paddingBottom:"hide",height:"hide"},showProps:{borderTopWidth:"show",borderBottomWidth:"show",paddingTop:"show",paddingBottom:"show",height:"show"},_create:function(){var e=this.options;this.prevShow=this.prevHide=t(),this._addClass("ui-accordion","ui-widget ui-helper-reset"),this.element.attr("role","tablist"),e.collapsible||e.active!==!1&&null!=e.active||(e.active=0),this._processPanels(),0>e.active&&(e.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():t()}},_createIcons:function(){var e,i,s=this.options.icons;s&&(e=t(""),this._addClass(e,"ui-accordion-header-icon","ui-icon "+s.header),e.prependTo(this.headers),i=this.active.children(".ui-accordion-header-icon"),this._removeClass(i,s.header)._addClass(i,null,s.activeHeader)._addClass(this.headers,"ui-accordion-icons"))},_destroyIcons:function(){this._removeClass(this.headers,"ui-accordion-icons"),this.headers.children(".ui-accordion-header-icon").remove()},_destroy:function(){var t;this.element.removeAttr("role"),this.headers.removeAttr("role aria-expanded aria-selected aria-controls tabIndex").removeUniqueId(),this._destroyIcons(),t=this.headers.next().css("display","").removeAttr("role aria-hidden aria-labelledby").removeUniqueId(),"content"!==this.options.heightStyle&&t.css("height","")},_setOption:function(t,e){return"active"===t?(this._activate(e),void 0):("event"===t&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(e)),this._super(t,e),"collapsible"!==t||e||this.options.active!==!1||this._activate(0),"icons"===t&&(this._destroyIcons(),e&&this._createIcons()),void 0)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t),this._toggleClass(null,"ui-state-disabled",!!t),this._toggleClass(this.headers.add(this.headers.next()),null,"ui-state-disabled",!!t)},_keydown:function(e){if(!e.altKey&&!e.ctrlKey){var i=t.ui.keyCode,s=this.headers.length,n=this.headers.index(e.target),o=!1;switch(e.keyCode){case i.RIGHT:case i.DOWN:o=this.headers[(n+1)%s];break;case i.LEFT:case i.UP:o=this.headers[(n-1+s)%s];break;case i.SPACE:case i.ENTER:this._eventHandler(e);break;case i.HOME:o=this.headers[0];break;case i.END:o=this.headers[s-1]}o&&(t(e.target).attr("tabIndex",-1),t(o).attr("tabIndex",0),t(o).trigger("focus"),e.preventDefault())}},_panelKeyDown:function(e){e.keyCode===t.ui.keyCode.UP&&e.ctrlKey&&t(e.currentTarget).prev().trigger("focus")},refresh:function(){var e=this.options;this._processPanels(),e.active===!1&&e.collapsible===!0||!this.headers.length?(e.active=!1,this.active=t()):e.active===!1?this._activate(0):this.active.length&&!t.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(e.active=!1,this.active=t()):this._activate(Math.max(0,e.active-1)):e.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){var t=this.headers,e=this.panels;this.headers=this.element.find(this.options.header),this._addClass(this.headers,"ui-accordion-header ui-accordion-header-collapsed","ui-state-default"),this.panels=this.headers.next().filter(":not(.ui-accordion-content-active)").hide(),this._addClass(this.panels,"ui-accordion-content","ui-helper-reset ui-widget-content"),e&&(this._off(t.not(this.headers)),this._off(e.not(this.panels)))},_refresh:function(){var e,i=this.options,s=i.heightStyle,n=this.element.parent();this.active=this._findActive(i.active),this._addClass(this.active,"ui-accordion-header-active","ui-state-active")._removeClass(this.active,"ui-accordion-header-collapsed"),this._addClass(this.active.next(),"ui-accordion-content-active"),this.active.next().show(),this.headers.attr("role","tab").each(function(){var e=t(this),i=e.uniqueId().attr("id"),s=e.next(),n=s.uniqueId().attr("id");e.attr("aria-controls",n),s.attr("aria-labelledby",i)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}).next().attr({"aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}).next().attr({"aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(i.event),"fill"===s?(e=n.height(),this.element.siblings(":visible").each(function(){var i=t(this),s=i.css("position");"absolute"!==s&&"fixed"!==s&&(e-=i.outerHeight(!0))}),this.headers.each(function(){e-=t(this).outerHeight(!0)}),this.headers.next().each(function(){t(this).height(Math.max(0,e-t(this).innerHeight()+t(this).height()))}).css("overflow","auto")):"auto"===s&&(e=0,this.headers.next().each(function(){var i=t(this).is(":visible");i||t(this).show(),e=Math.max(e,t(this).css("height","").height()),i||t(this).hide()}).height(e))},_activate:function(e){var i=this._findActive(e)[0];i!==this.active[0]&&(i=i||this.active[0],this._eventHandler({target:i,currentTarget:i,preventDefault:t.noop}))},_findActive:function(e){return"number"==typeof e?this.headers.eq(e):t()},_setupEvents:function(e){var i={keydown:"_keydown"};e&&t.each(e.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,i),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(e){var i,s,n=this.options,o=this.active,a=t(e.currentTarget),r=a[0]===o[0],h=r&&n.collapsible,l=h?t():a.next(),c=o.next(),u={oldHeader:o,oldPanel:c,newHeader:h?t():a,newPanel:l};e.preventDefault(),r&&!n.collapsible||this._trigger("beforeActivate",e,u)===!1||(n.active=h?!1:this.headers.index(a),this.active=r?t():a,this._toggle(u),this._removeClass(o,"ui-accordion-header-active","ui-state-active"),n.icons&&(i=o.children(".ui-accordion-header-icon"),this._removeClass(i,null,n.icons.activeHeader)._addClass(i,null,n.icons.header)),r||(this._removeClass(a,"ui-accordion-header-collapsed")._addClass(a,"ui-accordion-header-active","ui-state-active"),n.icons&&(s=a.children(".ui-accordion-header-icon"),this._removeClass(s,null,n.icons.header)._addClass(s,null,n.icons.activeHeader)),this._addClass(a.next(),"ui-accordion-content-active")))},_toggle:function(e){var i=e.newPanel,s=this.prevShow.length?this.prevShow:e.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=i,this.prevHide=s,this.options.animate?this._animate(i,s,e):(s.hide(),i.show(),this._toggleComplete(e)),s.attr({"aria-hidden":"true"}),s.prev().attr({"aria-selected":"false","aria-expanded":"false"}),i.length&&s.length?s.prev().attr({tabIndex:-1,"aria-expanded":"false"}):i.length&&this.headers.filter(function(){return 0===parseInt(t(this).attr("tabIndex"),10)}).attr("tabIndex",-1),i.attr("aria-hidden","false").prev().attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_animate:function(t,e,i){var s,n,o,a=this,r=0,h=t.css("box-sizing"),l=t.length&&(!e.length||t.index()",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(t){t.preventDefault()},"click .ui-menu-item":function(e){var i=t(e.target),s=t(t.ui.safeActiveElement(this.document[0]));!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.select(e),e.isPropagationStopped()||(this.mouseHandled=!0),i.has(".ui-menu").length?this.expand(e):!this.element.is(":focus")&&s.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(e){if(!this.previousFilter){var i=t(e.target).closest(".ui-menu-item"),s=t(e.currentTarget);i[0]===s[0]&&(this._removeClass(s.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(e,s))}},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this.element.find(this.options.items).eq(0);e||this.focus(t,i)},blur:function(e){this._delay(function(){var i=!t.contains(this.element[0],t.ui.safeActiveElement(this.document[0]));i&&this.collapseAll(e)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){this._closeOnDocumentClick(t)&&this.collapseAll(t),this.mouseHandled=!1}})},_destroy:function(){var e=this.element.find(".ui-menu-item").removeAttr("role aria-disabled"),i=e.children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),i.children().each(function(){var e=t(this);e.data("ui-menu-submenu-caret")&&e.remove()})},_keydown:function(e){var i,s,n,o,a=!0;switch(e.keyCode){case t.ui.keyCode.PAGE_UP:this.previousPage(e);break;case t.ui.keyCode.PAGE_DOWN:this.nextPage(e);break;case t.ui.keyCode.HOME:this._move("first","first",e);break;case t.ui.keyCode.END:this._move("last","last",e);break;case t.ui.keyCode.UP:this.previous(e);break;case t.ui.keyCode.DOWN:this.next(e);break;case t.ui.keyCode.LEFT:this.collapse(e);break;case t.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(e);break;case t.ui.keyCode.ENTER:case t.ui.keyCode.SPACE:this._activate(e);break;case t.ui.keyCode.ESCAPE:this.collapse(e);break;default:a=!1,s=this.previousFilter||"",n=String.fromCharCode(e.keyCode),o=!1,clearTimeout(this.filterTimer),n===s?o=!0:n=s+n,i=this._filterMenuItems(n),i=o&&-1!==i.index(this.active.next())?this.active.nextAll(".ui-menu-item"):i,i.length||(n=String.fromCharCode(e.keyCode),i=this._filterMenuItems(n)),i.length?(this.focus(e,i),this.previousFilter=n,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}a&&e.preventDefault()},_activate:function(t){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var e,i,s,n,o,a=this,r=this.options.icons.submenu,h=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),s=h.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var e=t(this),i=e.prev(),s=t("").data("ui-menu-submenu-caret",!0);a._addClass(s,"ui-menu-icon","ui-icon "+r),i.attr("aria-haspopup","true").prepend(s),e.attr("aria-labelledby",i.attr("id"))}),this._addClass(s,"ui-menu","ui-widget ui-widget-content ui-front"),e=h.add(this.element),i=e.find(this.options.items),i.not(".ui-menu-item").each(function(){var e=t(this);a._isDivider(e)&&a._addClass(e,"ui-menu-divider","ui-widget-content")}),n=i.not(".ui-menu-item, .ui-menu-divider"),o=n.children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(n,"ui-menu-item")._addClass(o,"ui-menu-item-wrapper"),i.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!t.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){if("icons"===t){var i=this.element.find(".ui-menu-icon");this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,e.submenu)}this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t+""),this._toggleClass(null,"ui-state-disabled",!!t)},focus:function(t,e){var i,s,n;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),s=this.active.children(".ui-menu-item-wrapper"),this._addClass(s,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",s.attr("id")),n=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(n,null,"ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),i=e.children(".ui-menu"),i.length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(e){var i,s,n,o,a,r;this._hasScroll()&&(i=parseFloat(t.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(t.css(this.activeMenu[0],"paddingTop"))||0,n=e.offset().top-this.activeMenu.offset().top-i-s,o=this.activeMenu.scrollTop(),a=this.activeMenu.height(),r=e.outerHeight(),0>n?this.activeMenu.scrollTop(o+n):n+r>a&&this.activeMenu.scrollTop(o+n-a+r))},blur:function(t,e){e||clearTimeout(this.timer),this.active&&(this._removeClass(this.active.children(".ui-menu-item-wrapper"),null,"ui-state-active"),this._trigger("blur",t,{item:this.active}),this.active=null)},_startOpening:function(t){clearTimeout(this.timer),"true"===t.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(t)},this.delay))},_open:function(e){var i=t.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(e.parents(".ui-menu")).hide().attr("aria-hidden","true"),e.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(e,i){clearTimeout(this.timer),this.timer=this._delay(function(){var s=i?this.element:t(e&&e.target).closest(this.element.find(".ui-menu"));s.length||(s=this.element),this._close(s),this.blur(e),this._removeClass(s.find(".ui-state-active"),null,"ui-state-active"),this.activeMenu=s},this.delay)},_close:function(t){t||(t=this.active?this.active.parent():this.element),t.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false")},_closeOnDocumentClick:function(e){return!t(e.target).closest(".ui-menu").length},_isDivider:function(t){return!/[^\-\u2014\u2013\s]/.test(t.text())},collapse:function(t){var e=this.active&&this.active.parent().closest(".ui-menu-item",this.element);e&&e.length&&(this._close(),this.focus(t,e))},expand:function(t){var e=this.active&&this.active.children(".ui-menu ").find(this.options.items).first();e&&e.length&&(this._open(e.parent()),this._delay(function(){this.focus(t,e)}))},next:function(t){this._move("next","first",t)},previous:function(t){this._move("prev","last",t)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(t,e,i){var s;this.active&&(s="first"===t||"last"===t?this.active["first"===t?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[t+"All"](".ui-menu-item").eq(0)),s&&s.length&&this.active||(s=this.activeMenu.find(this.options.items)[e]()),this.focus(i,s)},nextPage:function(e){var i,s,n;return this.active?(this.isLastItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return i=t(this),0>i.offset().top-s-n}),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items)[this.active?"last":"first"]())),void 0):(this.next(e),void 0)},previousPage:function(e){var i,s,n;return this.active?(this.isFirstItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return i=t(this),i.offset().top-s+n>0}),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items).first())),void 0):(this.next(e),void 0)},_hasScroll:function(){return this.element.outerHeight()",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function(){var e,i,s,n=this.element[0].nodeName.toLowerCase(),o="textarea"===n,a="input"===n;this.isMultiLine=o||!a&&this._isContentEditable(this.element),this.valueMethod=this.element[o||a?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(n){if(this.element.prop("readOnly"))return e=!0,s=!0,i=!0,void 0; +e=!1,s=!1,i=!1;var o=t.ui.keyCode;switch(n.keyCode){case o.PAGE_UP:e=!0,this._move("previousPage",n);break;case o.PAGE_DOWN:e=!0,this._move("nextPage",n);break;case o.UP:e=!0,this._keyEvent("previous",n);break;case o.DOWN:e=!0,this._keyEvent("next",n);break;case o.ENTER:this.menu.active&&(e=!0,n.preventDefault(),this.menu.select(n));break;case o.TAB:this.menu.active&&this.menu.select(n);break;case o.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(n),n.preventDefault());break;default:i=!0,this._searchTimeout(n)}},keypress:function(s){if(e)return e=!1,(!this.isMultiLine||this.menu.element.is(":visible"))&&s.preventDefault(),void 0;if(!i){var n=t.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:this._move("previousPage",s);break;case n.PAGE_DOWN:this._move("nextPage",s);break;case n.UP:this._keyEvent("previous",s);break;case n.DOWN:this._keyEvent("next",s)}}},input:function(t){return s?(s=!1,t.preventDefault(),void 0):(this._searchTimeout(t),void 0)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(t){return this.cancelBlur?(delete this.cancelBlur,void 0):(clearTimeout(this.searching),this.close(t),this._change(t),void 0)}}),this._initSource(),this.menu=t("
          ").appendTo(this._appendTo()).menu({role:null}).hide().menu("instance"),this._addClass(this.menu.element,"ui-autocomplete","ui-front"),this._on(this.menu.element,{mousedown:function(e){e.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,this.element[0]!==t.ui.safeActiveElement(this.document[0])&&this.element.trigger("focus")})},menufocus:function(e,i){var s,n;return this.isNewMenu&&(this.isNewMenu=!1,e.originalEvent&&/^mouse/.test(e.originalEvent.type))?(this.menu.blur(),this.document.one("mousemove",function(){t(e.target).trigger(e.originalEvent)}),void 0):(n=i.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",e,{item:n})&&e.originalEvent&&/^key/.test(e.originalEvent.type)&&this._value(n.value),s=i.item.attr("aria-label")||n.value,s&&t.trim(s).length&&(this.liveRegion.children().hide(),t("
          ").text(s).appendTo(this.liveRegion)),void 0)},menuselect:function(e,i){var s=i.item.data("ui-autocomplete-item"),n=this.previous;this.element[0]!==t.ui.safeActiveElement(this.document[0])&&(this.element.trigger("focus"),this.previous=n,this._delay(function(){this.previous=n,this.selectedItem=s})),!1!==this._trigger("select",e,{item:s})&&this._value(s.value),this.term=this._value(),this.close(e),this.selectedItem=s}}),this.liveRegion=t("
          ",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(t,e){this._super(t,e),"source"===t&&this._initSource(),"appendTo"===t&&this.menu.element.appendTo(this._appendTo()),"disabled"===t&&e&&this.xhr&&this.xhr.abort()},_isEventTargetInWidget:function(e){var i=this.menu.element[0];return e.target===this.element[0]||e.target===i||t.contains(i,e.target)},_closeOnClickOutside:function(t){this._isEventTargetInWidget(t)||this.close()},_appendTo:function(){var e=this.options.appendTo;return e&&(e=e.jquery||e.nodeType?t(e):this.document.find(e).eq(0)),e&&e[0]||(e=this.element.closest(".ui-front, dialog")),e.length||(e=this.document[0].body),e},_initSource:function(){var e,i,s=this;t.isArray(this.options.source)?(e=this.options.source,this.source=function(i,s){s(t.ui.autocomplete.filter(e,i.term))}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(e,n){s.xhr&&s.xhr.abort(),s.xhr=t.ajax({url:i,data:e,dataType:"json",success:function(t){n(t)},error:function(){n([])}})}):this.source=this.options.source},_searchTimeout:function(t){clearTimeout(this.searching),this.searching=this._delay(function(){var e=this.term===this._value(),i=this.menu.element.is(":visible"),s=t.altKey||t.ctrlKey||t.metaKey||t.shiftKey;(!e||e&&!i&&!s)&&(this.selectedItem=null,this.search(null,t))},this.options.delay)},search:function(t,e){return t=null!=t?t:this._value(),this.term=this._value(),t.length").append(t("
          ").text(i.label)).appendTo(e)},_move:function(t,e){return this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(t)||this.menu.isLastItem()&&/^next/.test(t)?(this.isMultiLine||this._value(this.term),this.menu.blur(),void 0):(this.menu[t](e),void 0):(this.search(null,e),void 0)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(t,e){(!this.isMultiLine||this.menu.element.is(":visible"))&&(this._move(t,e),e.preventDefault())},_isContentEditable:function(t){if(!t.length)return!1;var e=t.prop("contentEditable");return"inherit"===e?this._isContentEditable(t.parent()):"true"===e}}),t.extend(t.ui.autocomplete,{escapeRegex:function(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(e,i){var s=RegExp(t.ui.autocomplete.escapeRegex(i),"i");return t.grep(e,function(t){return s.test(t.label||t.value||t)})}}),t.widget("ui.autocomplete",t.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(t){return t+(t>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(e){var i;this._superApply(arguments),this.options.disabled||this.cancelSearch||(i=e&&e.length?this.options.messages.results(e.length):this.options.messages.noResults,this.liveRegion.children().hide(),t("
          ").text(i).appendTo(this.liveRegion))}}),t.ui.autocomplete;var g=/ui-corner-([a-z]){2,6}/g;t.widget("ui.controlgroup",{version:"1.12.0",defaultElement:"
          ",options:{direction:"horizontal",disabled:null,onlyVisible:!0,items:{button:"input[type=button], input[type=submit], input[type=reset], button, a",controlgroupLabel:".ui-controlgroup-label",checkboxradio:"input[type='checkbox'], input[type='radio']",selectmenu:"select",spinner:".ui-spinner-input"}},_create:function(){this._enhance()},_enhance:function(){this.element.attr("role","toolbar"),this.refresh()},_destroy:function(){this._callChildMethod("destroy"),this.childWidgets.removeData("ui-controlgroup-data"),this.element.removeAttr("role"),this.options.items.controlgroupLabel&&this.element.find(this.options.items.controlgroupLabel).find(".ui-controlgroup-label-contents").contents().unwrap()},_initWidgets:function(){var e=this,i=[];t.each(this.options.items,function(s,n){var o,a={};return n?"controlgroupLabel"===s?(o=e.element.find(n),o.each(function(){var e=t(this);e.children(".ui-controlgroup-label-contents").length||e.contents().wrapAll("")}),e._addClass(o,null,"ui-widget ui-widget-content ui-state-default"),i=i.concat(o.get()),void 0):(t.fn[s]&&(e["_"+s+"Options"]&&(a=e["_"+s+"Options"]("middle")),e.element.find(n).each(function(){var n=t(this),o=n[s]("instance"),r=t.widget.extend({},a);if("button"!==s||!n.parent(".ui-spinner").length){o||(o=n[s]()[s]("instance")),o&&(r.classes=e._resolveClassesValues(r.classes,o)),n[s](r);var h=n[s]("widget");t.data(h[0],"ui-controlgroup-data",o?o:n[s]("instance")),i.push(h[0])}})),void 0):void 0}),this.childWidgets=t(t.unique(i)),this._addClass(this.childWidgets,"ui-controlgroup-item")},_callChildMethod:function(e){this.childWidgets.each(function(){var i=t(this),s=i.data("ui-controlgroup-data");s&&s[e]&&s[e]()})},_updateCornerClass:function(t,e){var i="ui-corner-top ui-corner-bottom ui-corner-left ui-corner-right ui-corner-all",s=this._buildSimpleOptions(e,"label").classes.label;this._removeClass(t,null,i),this._addClass(t,null,s)},_buildSimpleOptions:function(t,e){var i="vertical"===this.options.direction,s={classes:{}};return s.classes[e]={middle:"",first:"ui-corner-"+(i?"top":"left"),last:"ui-corner-"+(i?"bottom":"right"),only:"ui-corner-all"}[t],s},_spinnerOptions:function(t){var e=this._buildSimpleOptions(t,"ui-spinner");return e.classes["ui-spinner-up"]="",e.classes["ui-spinner-down"]="",e},_buttonOptions:function(t){return this._buildSimpleOptions(t,"ui-button")},_checkboxradioOptions:function(t){return this._buildSimpleOptions(t,"ui-checkboxradio-label")},_selectmenuOptions:function(t){var e="vertical"===this.options.direction;return{width:e?"auto":!1,classes:{middle:{"ui-selectmenu-button-open":"","ui-selectmenu-button-closed":""},first:{"ui-selectmenu-button-open":"ui-corner-"+(e?"top":"tl"),"ui-selectmenu-button-closed":"ui-corner-"+(e?"top":"left")},last:{"ui-selectmenu-button-open":e?"":"ui-corner-tr","ui-selectmenu-button-closed":"ui-corner-"+(e?"bottom":"right")},only:{"ui-selectmenu-button-open":"ui-corner-top","ui-selectmenu-button-closed":"ui-corner-all"}}[t]}},_resolveClassesValues:function(e,i){var s={};return t.each(e,function(t){var n=i.options.classes[t]||"";n=n.replace(g,"").trim(),s[t]=(n+" "+e[t]).replace(/\s+/g," ")}),s},_setOption:function(t,e){return"direction"===t&&this._removeClass("ui-controlgroup-"+this.options.direction),this._super(t,e),"disabled"===t?(this._callChildMethod(e?"disable":"enable"),void 0):(this.refresh(),void 0)},refresh:function(){var e,i=this;this._addClass("ui-controlgroup ui-controlgroup-"+this.options.direction),"horizontal"===this.options.direction&&this._addClass(null,"ui-helper-clearfix"),this._initWidgets(),e=this.childWidgets,this.options.onlyVisible&&(e=e.filter(":visible")),e.length&&(t.each(["first","last"],function(t,s){var n=e[s]().data("ui-controlgroup-data");if(n&&i["_"+n.widgetName+"Options"]){var o=i["_"+n.widgetName+"Options"](1===e.length?"only":s);o.classes=i._resolveClassesValues(o.classes,n),n.element[n.widgetName](o)}else i._updateCornerClass(e[s](),s)}),this._callChildMethod("refresh"))}}),t.widget("ui.checkboxradio",[t.ui.formResetMixin,{version:"1.12.0",options:{disabled:null,label:null,icon:!0,classes:{"ui-checkboxradio-label":"ui-corner-all","ui-checkboxradio-icon":"ui-corner-all"}},_getCreateOptions:function(){var e,i,s=this,n=this._super()||{};return this._readType(),i=this.element.labels(),this.label=t(i[i.length-1]),this.label.length||t.error("No label found for checkboxradio widget"),this.originalLabel="",this.label.contents().not(this.element).each(function(){s.originalLabel+=3===this.nodeType?t(this).text():this.outerHTML}),this.originalLabel&&(n.label=this.originalLabel),e=this.element[0].disabled,null!=e&&(n.disabled=e),n},_create:function(){var t=this.element[0].checked;this._bindFormResetHandler(),null==this.options.disabled&&(this.options.disabled=this.element[0].disabled),this._setOption("disabled",this.options.disabled),this._addClass("ui-checkboxradio","ui-helper-hidden-accessible"),this._addClass(this.label,"ui-checkboxradio-label","ui-button ui-widget"),"radio"===this.type&&this._addClass(this.label,"ui-checkboxradio-radio-label"),this.options.label&&this.options.label!==this.originalLabel?this._updateLabel():this.originalLabel&&(this.options.label=this.originalLabel),this._enhance(),t&&(this._addClass(this.label,"ui-checkboxradio-checked","ui-state-active"),this.icon&&this._addClass(this.icon,null,"ui-state-hover")),this._on({change:"_toggleClasses",focus:function(){this._addClass(this.label,null,"ui-state-focus ui-visual-focus")},blur:function(){this._removeClass(this.label,null,"ui-state-focus ui-visual-focus")}})},_readType:function(){var e=this.element[0].nodeName.toLowerCase();this.type=this.element[0].type,"input"===e&&/radio|checkbox/.test(this.type)||t.error("Can't create checkboxradio on element.nodeName="+e+" and element.type="+this.type)},_enhance:function(){this._updateIcon(this.element[0].checked)},widget:function(){return this.label},_getRadioGroup:function(){var e,i=this.element[0].name,s="input[name='"+t.ui.escapeSelector(i)+"']";return i?(e=this.form.length?t(this.form[0].elements).filter(s):t(s).filter(function(){return 0===t(this).form().length}),e.not(this.element)):t([])},_toggleClasses:function(){var e=this.element[0].checked;this._toggleClass(this.label,"ui-checkboxradio-checked","ui-state-active",e),this.options.icon&&"checkbox"===this.type&&this._toggleClass(this.icon,null,"ui-icon-check ui-state-checked",e)._toggleClass(this.icon,null,"ui-icon-blank",!e),"radio"===this.type&&this._getRadioGroup().each(function(){var e=t(this).checkboxradio("instance");e&&e._removeClass(e.label,"ui-checkboxradio-checked","ui-state-active")})},_destroy:function(){this._unbindFormResetHandler(),this.icon&&(this.icon.remove(),this.iconSpace.remove())},_setOption:function(t,e){return"label"!==t||e?(this._super(t,e),"disabled"===t?(this._toggleClass(this.label,null,"ui-state-disabled",e),this.element[0].disabled=e,void 0):(this.refresh(),void 0)):void 0},_updateIcon:function(e){var i="ui-icon ui-icon-background ";this.options.icon?(this.icon||(this.icon=t(""),this.iconSpace=t(" "),this._addClass(this.iconSpace,"ui-checkboxradio-icon-space")),"checkbox"===this.type?(i+=e?"ui-icon-check ui-state-checked":"ui-icon-blank",this._removeClass(this.icon,null,e?"ui-icon-blank":"ui-icon-check")):i+="ui-icon-blank",this._addClass(this.icon,"ui-checkboxradio-icon",i),e||this._removeClass(this.icon,null,"ui-icon-check ui-state-checked"),this.icon.prependTo(this.label).after(this.iconSpace)):void 0!==this.icon&&(this.icon.remove(),this.iconSpace.remove(),delete this.icon)},_updateLabel:function(){this.label.contents().not(this.element.add(this.icon).add(this.iconSpace)).remove(),this.label.append(this.options.label)},refresh:function(){var t=this.element[0].checked,e=this.element[0].disabled;this._updateIcon(t),this._toggleClass(this.label,"ui-checkboxradio-checked","ui-state-active",t),null!==this.options.label&&this._updateLabel(),e!==this.options.disabled&&this._setOptions({disabled:e})}}]),t.ui.checkboxradio,t.widget("ui.button",{version:"1.12.0",defaultElement:"").addClass(this._triggerClass).html(o?t("").attr({src:o,alt:n,title:n}):n)),e[r?"before":"after"](i.trigger),i.trigger.on("click",function(){return t.datepicker._datepickerShowing&&t.datepicker._lastInput===e[0]?t.datepicker._hideDatepicker():t.datepicker._datepickerShowing&&t.datepicker._lastInput!==e[0]?(t.datepicker._hideDatepicker(),t.datepicker._showDatepicker(e[0])):t.datepicker._showDatepicker(e[0]),!1}))},_autoSize:function(t){if(this._get(t,"autoSize")&&!t.inline){var e,i,s,n,o=new Date(2009,11,20),a=this._get(t,"dateFormat");a.match(/[DM]/)&&(e=function(t){for(i=0,s=0,n=0;t.length>n;n++)t[n].length>i&&(i=t[n].length,s=n);return s},o.setMonth(e(this._get(t,a.match(/MM/)?"monthNames":"monthNamesShort"))),o.setDate(e(this._get(t,a.match(/DD/)?"dayNames":"dayNamesShort"))+20-o.getDay())),t.input.attr("size",this._formatDate(t,o).length)}},_inlineDatepicker:function(e,i){var s=t(e);s.hasClass(this.markerClassName)||(s.addClass(this.markerClassName).append(i.dpDiv),t.data(e,"datepicker",i),this._setDate(i,this._getDefaultDate(i),!0),this._updateDatepicker(i),this._updateAlternate(i),i.settings.disabled&&this._disableDatepicker(e),i.dpDiv.css("display","block"))},_dialogDatepicker:function(e,i,s,n,o){var r,h,l,c,u,d=this._dialogInst;return d||(this.uuid+=1,r="dp"+this.uuid,this._dialogInput=t(""),this._dialogInput.on("keydown",this._doKeyDown),t("body").append(this._dialogInput),d=this._dialogInst=this._newInst(this._dialogInput,!1),d.settings={},t.data(this._dialogInput[0],"datepicker",d)),a(d.settings,n||{}),i=i&&i.constructor===Date?this._formatDate(d,i):i,this._dialogInput.val(i),this._pos=o?o.length?o:[o.pageX,o.pageY]:null,this._pos||(h=document.documentElement.clientWidth,l=document.documentElement.clientHeight,c=document.documentElement.scrollLeft||document.body.scrollLeft,u=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[h/2-100+c,l/2-150+u]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),d.settings.onSelect=s,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),t.blockUI&&t.blockUI(this.dpDiv),t.data(this._dialogInput[0],"datepicker",d),this},_destroyDatepicker:function(e){var i,s=t(e),n=t.data(e,"datepicker");s.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),t.removeData(e,"datepicker"),"input"===i?(n.append.remove(),n.trigger.remove(),s.removeClass(this.markerClassName).off("focus",this._showDatepicker).off("keydown",this._doKeyDown).off("keypress",this._doKeyPress).off("keyup",this._doKeyUp)):("div"===i||"span"===i)&&s.removeClass(this.markerClassName).empty(),m===n&&(m=null))},_enableDatepicker:function(e){var i,s,n=t(e),o=t.data(e,"datepicker");n.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),"input"===i?(e.disabled=!1,o.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().removeClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=t.map(this._disabledInputs,function(t){return t===e?null:t}))},_disableDatepicker:function(e){var i,s,n=t(e),o=t.data(e,"datepicker");n.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),"input"===i?(e.disabled=!0,o.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().addClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=t.map(this._disabledInputs,function(t){return t===e?null:t}),this._disabledInputs[this._disabledInputs.length]=e)},_isDisabledDatepicker:function(t){if(!t)return!1;for(var e=0;this._disabledInputs.length>e;e++)if(this._disabledInputs[e]===t)return!0;return!1},_getInst:function(e){try{return t.data(e,"datepicker")}catch(i){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(e,i,s){var n,o,r,h,l=this._getInst(e);return 2===arguments.length&&"string"==typeof i?"defaults"===i?t.extend({},t.datepicker._defaults):l?"all"===i?t.extend({},l.settings):this._get(l,i):null:(n=i||{},"string"==typeof i&&(n={},n[i]=s),l&&(this._curInst===l&&this._hideDatepicker(),o=this._getDateDatepicker(e,!0),r=this._getMinMaxDate(l,"min"),h=this._getMinMaxDate(l,"max"),a(l.settings,n),null!==r&&void 0!==n.dateFormat&&void 0===n.minDate&&(l.settings.minDate=this._formatDate(l,r)),null!==h&&void 0!==n.dateFormat&&void 0===n.maxDate&&(l.settings.maxDate=this._formatDate(l,h)),"disabled"in n&&(n.disabled?this._disableDatepicker(e):this._enableDatepicker(e)),this._attachments(t(e),l),this._autoSize(l),this._setDate(l,o),this._updateAlternate(l),this._updateDatepicker(l)),void 0)},_changeDatepicker:function(t,e,i){this._optionDatepicker(t,e,i)},_refreshDatepicker:function(t){var e=this._getInst(t);e&&this._updateDatepicker(e)},_setDateDatepicker:function(t,e){var i=this._getInst(t);i&&(this._setDate(i,e),this._updateDatepicker(i),this._updateAlternate(i))},_getDateDatepicker:function(t,e){var i=this._getInst(t);return i&&!i.inline&&this._setDateFromField(i,e),i?this._getDate(i):null},_doKeyDown:function(e){var i,s,n,o=t.datepicker._getInst(e.target),a=!0,r=o.dpDiv.is(".ui-datepicker-rtl");if(o._keyEvent=!0,t.datepicker._datepickerShowing)switch(e.keyCode){case 9:t.datepicker._hideDatepicker(),a=!1;break;case 13:return n=t("td."+t.datepicker._dayOverClass+":not(."+t.datepicker._currentClass+")",o.dpDiv),n[0]&&t.datepicker._selectDay(e.target,o.selectedMonth,o.selectedYear,n[0]),i=t.datepicker._get(o,"onSelect"),i?(s=t.datepicker._formatDate(o),i.apply(o.input?o.input[0]:null,[s,o])):t.datepicker._hideDatepicker(),!1;case 27:t.datepicker._hideDatepicker();break;case 33:t.datepicker._adjustDate(e.target,e.ctrlKey?-t.datepicker._get(o,"stepBigMonths"):-t.datepicker._get(o,"stepMonths"),"M");break;case 34:t.datepicker._adjustDate(e.target,e.ctrlKey?+t.datepicker._get(o,"stepBigMonths"):+t.datepicker._get(o,"stepMonths"),"M");break;case 35:(e.ctrlKey||e.metaKey)&&t.datepicker._clearDate(e.target),a=e.ctrlKey||e.metaKey;break;case 36:(e.ctrlKey||e.metaKey)&&t.datepicker._gotoToday(e.target),a=e.ctrlKey||e.metaKey;break;case 37:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,r?1:-1,"D"),a=e.ctrlKey||e.metaKey,e.originalEvent.altKey&&t.datepicker._adjustDate(e.target,e.ctrlKey?-t.datepicker._get(o,"stepBigMonths"):-t.datepicker._get(o,"stepMonths"),"M");break;case 38:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,-7,"D"),a=e.ctrlKey||e.metaKey;break;case 39:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,r?-1:1,"D"),a=e.ctrlKey||e.metaKey,e.originalEvent.altKey&&t.datepicker._adjustDate(e.target,e.ctrlKey?+t.datepicker._get(o,"stepBigMonths"):+t.datepicker._get(o,"stepMonths"),"M");break;case 40:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,7,"D"),a=e.ctrlKey||e.metaKey;break;default:a=!1}else 36===e.keyCode&&e.ctrlKey?t.datepicker._showDatepicker(this):a=!1;a&&(e.preventDefault(),e.stopPropagation())},_doKeyPress:function(e){var i,s,n=t.datepicker._getInst(e.target);return t.datepicker._get(n,"constrainInput")?(i=t.datepicker._possibleChars(t.datepicker._get(n,"dateFormat")),s=String.fromCharCode(null==e.charCode?e.keyCode:e.charCode),e.ctrlKey||e.metaKey||" ">s||!i||i.indexOf(s)>-1):void 0},_doKeyUp:function(e){var i,s=t.datepicker._getInst(e.target);if(s.input.val()!==s.lastVal)try{i=t.datepicker.parseDate(t.datepicker._get(s,"dateFormat"),s.input?s.input.val():null,t.datepicker._getFormatConfig(s)),i&&(t.datepicker._setDateFromField(s),t.datepicker._updateAlternate(s),t.datepicker._updateDatepicker(s))}catch(n){}return!0},_showDatepicker:function(e){if(e=e.target||e,"input"!==e.nodeName.toLowerCase()&&(e=t("input",e.parentNode)[0]),!t.datepicker._isDisabledDatepicker(e)&&t.datepicker._lastInput!==e){var s,n,o,r,h,l,c;s=t.datepicker._getInst(e),t.datepicker._curInst&&t.datepicker._curInst!==s&&(t.datepicker._curInst.dpDiv.stop(!0,!0),s&&t.datepicker._datepickerShowing&&t.datepicker._hideDatepicker(t.datepicker._curInst.input[0])),n=t.datepicker._get(s,"beforeShow"),o=n?n.apply(e,[e,s]):{},o!==!1&&(a(s.settings,o),s.lastVal=null,t.datepicker._lastInput=e,t.datepicker._setDateFromField(s),t.datepicker._inDialog&&(e.value=""),t.datepicker._pos||(t.datepicker._pos=t.datepicker._findPos(e),t.datepicker._pos[1]+=e.offsetHeight),r=!1,t(e).parents().each(function(){return r|="fixed"===t(this).css("position"),!r}),h={left:t.datepicker._pos[0],top:t.datepicker._pos[1]},t.datepicker._pos=null,s.dpDiv.empty(),s.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),t.datepicker._updateDatepicker(s),h=t.datepicker._checkOffset(s,h,r),s.dpDiv.css({position:t.datepicker._inDialog&&t.blockUI?"static":r?"fixed":"absolute",display:"none",left:h.left+"px",top:h.top+"px"}),s.inline||(l=t.datepicker._get(s,"showAnim"),c=t.datepicker._get(s,"duration"),s.dpDiv.css("z-index",i(t(e))+1),t.datepicker._datepickerShowing=!0,t.effects&&t.effects.effect[l]?s.dpDiv.show(l,t.datepicker._get(s,"showOptions"),c):s.dpDiv[l||"show"](l?c:null),t.datepicker._shouldFocusInput(s)&&s.input.trigger("focus"),t.datepicker._curInst=s)) +}},_updateDatepicker:function(e){this.maxRows=4,m=e,e.dpDiv.empty().append(this._generateHTML(e)),this._attachHandlers(e);var i,s=this._getNumberOfMonths(e),n=s[1],a=17,r=e.dpDiv.find("."+this._dayOverClass+" a");r.length>0&&o.apply(r.get(0)),e.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),n>1&&e.dpDiv.addClass("ui-datepicker-multi-"+n).css("width",a*n+"em"),e.dpDiv[(1!==s[0]||1!==s[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),e.dpDiv[(this._get(e,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),e===t.datepicker._curInst&&t.datepicker._datepickerShowing&&t.datepicker._shouldFocusInput(e)&&e.input.trigger("focus"),e.yearshtml&&(i=e.yearshtml,setTimeout(function(){i===e.yearshtml&&e.yearshtml&&e.dpDiv.find("select.ui-datepicker-year:first").replaceWith(e.yearshtml),i=e.yearshtml=null},0))},_shouldFocusInput:function(t){return t.input&&t.input.is(":visible")&&!t.input.is(":disabled")&&!t.input.is(":focus")},_checkOffset:function(e,i,s){var n=e.dpDiv.outerWidth(),o=e.dpDiv.outerHeight(),a=e.input?e.input.outerWidth():0,r=e.input?e.input.outerHeight():0,h=document.documentElement.clientWidth+(s?0:t(document).scrollLeft()),l=document.documentElement.clientHeight+(s?0:t(document).scrollTop());return i.left-=this._get(e,"isRTL")?n-a:0,i.left-=s&&i.left===e.input.offset().left?t(document).scrollLeft():0,i.top-=s&&i.top===e.input.offset().top+r?t(document).scrollTop():0,i.left-=Math.min(i.left,i.left+n>h&&h>n?Math.abs(i.left+n-h):0),i.top-=Math.min(i.top,i.top+o>l&&l>o?Math.abs(o+r):0),i},_findPos:function(e){for(var i,s=this._getInst(e),n=this._get(s,"isRTL");e&&("hidden"===e.type||1!==e.nodeType||t.expr.filters.hidden(e));)e=e[n?"previousSibling":"nextSibling"];return i=t(e).offset(),[i.left,i.top]},_hideDatepicker:function(e){var i,s,n,o,a=this._curInst;!a||e&&a!==t.data(e,"datepicker")||this._datepickerShowing&&(i=this._get(a,"showAnim"),s=this._get(a,"duration"),n=function(){t.datepicker._tidyDialog(a)},t.effects&&(t.effects.effect[i]||t.effects[i])?a.dpDiv.hide(i,t.datepicker._get(a,"showOptions"),s,n):a.dpDiv["slideDown"===i?"slideUp":"fadeIn"===i?"fadeOut":"hide"](i?s:null,n),i||n(),this._datepickerShowing=!1,o=this._get(a,"onClose"),o&&o.apply(a.input?a.input[0]:null,[a.input?a.input.val():"",a]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),t.blockUI&&(t.unblockUI(),t("body").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(t){t.dpDiv.removeClass(this._dialogClass).off(".ui-datepicker-calendar")},_checkExternalClick:function(e){if(t.datepicker._curInst){var i=t(e.target),s=t.datepicker._getInst(i[0]);(i[0].id!==t.datepicker._mainDivId&&0===i.parents("#"+t.datepicker._mainDivId).length&&!i.hasClass(t.datepicker.markerClassName)&&!i.closest("."+t.datepicker._triggerClass).length&&t.datepicker._datepickerShowing&&(!t.datepicker._inDialog||!t.blockUI)||i.hasClass(t.datepicker.markerClassName)&&t.datepicker._curInst!==s)&&t.datepicker._hideDatepicker()}},_adjustDate:function(e,i,s){var n=t(e),o=this._getInst(n[0]);this._isDisabledDatepicker(n[0])||(this._adjustInstDate(o,i+("M"===s?this._get(o,"showCurrentAtPos"):0),s),this._updateDatepicker(o))},_gotoToday:function(e){var i,s=t(e),n=this._getInst(s[0]);this._get(n,"gotoCurrent")&&n.currentDay?(n.selectedDay=n.currentDay,n.drawMonth=n.selectedMonth=n.currentMonth,n.drawYear=n.selectedYear=n.currentYear):(i=new Date,n.selectedDay=i.getDate(),n.drawMonth=n.selectedMonth=i.getMonth(),n.drawYear=n.selectedYear=i.getFullYear()),this._notifyChange(n),this._adjustDate(s)},_selectMonthYear:function(e,i,s){var n=t(e),o=this._getInst(n[0]);o["selected"+("M"===s?"Month":"Year")]=o["draw"+("M"===s?"Month":"Year")]=parseInt(i.options[i.selectedIndex].value,10),this._notifyChange(o),this._adjustDate(n)},_selectDay:function(e,i,s,n){var o,a=t(e);t(n).hasClass(this._unselectableClass)||this._isDisabledDatepicker(a[0])||(o=this._getInst(a[0]),o.selectedDay=o.currentDay=t("a",n).html(),o.selectedMonth=o.currentMonth=i,o.selectedYear=o.currentYear=s,this._selectDate(e,this._formatDate(o,o.currentDay,o.currentMonth,o.currentYear)))},_clearDate:function(e){var i=t(e);this._selectDate(i,"")},_selectDate:function(e,i){var s,n=t(e),o=this._getInst(n[0]);i=null!=i?i:this._formatDate(o),o.input&&o.input.val(i),this._updateAlternate(o),s=this._get(o,"onSelect"),s?s.apply(o.input?o.input[0]:null,[i,o]):o.input&&o.input.trigger("change"),o.inline?this._updateDatepicker(o):(this._hideDatepicker(),this._lastInput=o.input[0],"object"!=typeof o.input[0]&&o.input.trigger("focus"),this._lastInput=null)},_updateAlternate:function(e){var i,s,n,o=this._get(e,"altField");o&&(i=this._get(e,"altFormat")||this._get(e,"dateFormat"),s=this._getDate(e),n=this.formatDate(i,s,this._getFormatConfig(e)),t(o).val(n))},noWeekends:function(t){var e=t.getDay();return[e>0&&6>e,""]},iso8601Week:function(t){var e,i=new Date(t.getTime());return i.setDate(i.getDate()+4-(i.getDay()||7)),e=i.getTime(),i.setMonth(0),i.setDate(1),Math.floor(Math.round((e-i)/864e5)/7)+1},parseDate:function(e,i,s){if(null==e||null==i)throw"Invalid arguments";if(i="object"==typeof i?""+i:i+"",""===i)return null;var n,o,a,r,h=0,l=(s?s.shortYearCutoff:null)||this._defaults.shortYearCutoff,c="string"!=typeof l?l:(new Date).getFullYear()%100+parseInt(l,10),u=(s?s.dayNamesShort:null)||this._defaults.dayNamesShort,d=(s?s.dayNames:null)||this._defaults.dayNames,p=(s?s.monthNamesShort:null)||this._defaults.monthNamesShort,f=(s?s.monthNames:null)||this._defaults.monthNames,g=-1,m=-1,_=-1,v=-1,b=!1,y=function(t){var i=e.length>n+1&&e.charAt(n+1)===t;return i&&n++,i},w=function(t){var e=y(t),s="@"===t?14:"!"===t?20:"y"===t&&e?4:"o"===t?3:2,n="y"===t?s:1,o=RegExp("^\\d{"+n+","+s+"}"),a=i.substring(h).match(o);if(!a)throw"Missing number at position "+h;return h+=a[0].length,parseInt(a[0],10)},k=function(e,s,n){var o=-1,a=t.map(y(e)?n:s,function(t,e){return[[e,t]]}).sort(function(t,e){return-(t[1].length-e[1].length)});if(t.each(a,function(t,e){var s=e[1];return i.substr(h,s.length).toLowerCase()===s.toLowerCase()?(o=e[0],h+=s.length,!1):void 0}),-1!==o)return o+1;throw"Unknown name at position "+h},x=function(){if(i.charAt(h)!==e.charAt(n))throw"Unexpected literal at position "+h;h++};for(n=0;e.length>n;n++)if(b)"'"!==e.charAt(n)||y("'")?x():b=!1;else switch(e.charAt(n)){case"d":_=w("d");break;case"D":k("D",u,d);break;case"o":v=w("o");break;case"m":m=w("m");break;case"M":m=k("M",p,f);break;case"y":g=w("y");break;case"@":r=new Date(w("@")),g=r.getFullYear(),m=r.getMonth()+1,_=r.getDate();break;case"!":r=new Date((w("!")-this._ticksTo1970)/1e4),g=r.getFullYear(),m=r.getMonth()+1,_=r.getDate();break;case"'":y("'")?x():b=!0;break;default:x()}if(i.length>h&&(a=i.substr(h),!/^\s+/.test(a)))throw"Extra/unparsed characters found in date: "+a;if(-1===g?g=(new Date).getFullYear():100>g&&(g+=(new Date).getFullYear()-(new Date).getFullYear()%100+(c>=g?0:-100)),v>-1)for(m=1,_=v;;){if(o=this._getDaysInMonth(g,m-1),o>=_)break;m++,_-=o}if(r=this._daylightSavingAdjust(new Date(g,m-1,_)),r.getFullYear()!==g||r.getMonth()+1!==m||r.getDate()!==_)throw"Invalid date";return r},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:1e7*60*60*24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925)),formatDate:function(t,e,i){if(!e)return"";var s,n=(i?i.dayNamesShort:null)||this._defaults.dayNamesShort,o=(i?i.dayNames:null)||this._defaults.dayNames,a=(i?i.monthNamesShort:null)||this._defaults.monthNamesShort,r=(i?i.monthNames:null)||this._defaults.monthNames,h=function(e){var i=t.length>s+1&&t.charAt(s+1)===e;return i&&s++,i},l=function(t,e,i){var s=""+e;if(h(t))for(;i>s.length;)s="0"+s;return s},c=function(t,e,i,s){return h(t)?s[e]:i[e]},u="",d=!1;if(e)for(s=0;t.length>s;s++)if(d)"'"!==t.charAt(s)||h("'")?u+=t.charAt(s):d=!1;else switch(t.charAt(s)){case"d":u+=l("d",e.getDate(),2);break;case"D":u+=c("D",e.getDay(),n,o);break;case"o":u+=l("o",Math.round((new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime()-new Date(e.getFullYear(),0,0).getTime())/864e5),3);break;case"m":u+=l("m",e.getMonth()+1,2);break;case"M":u+=c("M",e.getMonth(),a,r);break;case"y":u+=h("y")?e.getFullYear():(10>e.getFullYear()%100?"0":"")+e.getFullYear()%100;break;case"@":u+=e.getTime();break;case"!":u+=1e4*e.getTime()+this._ticksTo1970;break;case"'":h("'")?u+="'":d=!0;break;default:u+=t.charAt(s)}return u},_possibleChars:function(t){var e,i="",s=!1,n=function(i){var s=t.length>e+1&&t.charAt(e+1)===i;return s&&e++,s};for(e=0;t.length>e;e++)if(s)"'"!==t.charAt(e)||n("'")?i+=t.charAt(e):s=!1;else switch(t.charAt(e)){case"d":case"m":case"y":case"@":i+="0123456789";break;case"D":case"M":return null;case"'":n("'")?i+="'":s=!0;break;default:i+=t.charAt(e)}return i},_get:function(t,e){return void 0!==t.settings[e]?t.settings[e]:this._defaults[e]},_setDateFromField:function(t,e){if(t.input.val()!==t.lastVal){var i=this._get(t,"dateFormat"),s=t.lastVal=t.input?t.input.val():null,n=this._getDefaultDate(t),o=n,a=this._getFormatConfig(t);try{o=this.parseDate(i,s,a)||n}catch(r){s=e?"":s}t.selectedDay=o.getDate(),t.drawMonth=t.selectedMonth=o.getMonth(),t.drawYear=t.selectedYear=o.getFullYear(),t.currentDay=s?o.getDate():0,t.currentMonth=s?o.getMonth():0,t.currentYear=s?o.getFullYear():0,this._adjustInstDate(t)}},_getDefaultDate:function(t){return this._restrictMinMax(t,this._determineDate(t,this._get(t,"defaultDate"),new Date))},_determineDate:function(e,i,s){var n=function(t){var e=new Date;return e.setDate(e.getDate()+t),e},o=function(i){try{return t.datepicker.parseDate(t.datepicker._get(e,"dateFormat"),i,t.datepicker._getFormatConfig(e))}catch(s){}for(var n=(i.toLowerCase().match(/^c/)?t.datepicker._getDate(e):null)||new Date,o=n.getFullYear(),a=n.getMonth(),r=n.getDate(),h=/([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,l=h.exec(i);l;){switch(l[2]||"d"){case"d":case"D":r+=parseInt(l[1],10);break;case"w":case"W":r+=7*parseInt(l[1],10);break;case"m":case"M":a+=parseInt(l[1],10),r=Math.min(r,t.datepicker._getDaysInMonth(o,a));break;case"y":case"Y":o+=parseInt(l[1],10),r=Math.min(r,t.datepicker._getDaysInMonth(o,a))}l=h.exec(i)}return new Date(o,a,r)},a=null==i||""===i?s:"string"==typeof i?o(i):"number"==typeof i?isNaN(i)?s:n(i):new Date(i.getTime());return a=a&&"Invalid Date"==""+a?s:a,a&&(a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0)),this._daylightSavingAdjust(a)},_daylightSavingAdjust:function(t){return t?(t.setHours(t.getHours()>12?t.getHours()+2:0),t):null},_setDate:function(t,e,i){var s=!e,n=t.selectedMonth,o=t.selectedYear,a=this._restrictMinMax(t,this._determineDate(t,e,new Date));t.selectedDay=t.currentDay=a.getDate(),t.drawMonth=t.selectedMonth=t.currentMonth=a.getMonth(),t.drawYear=t.selectedYear=t.currentYear=a.getFullYear(),n===t.selectedMonth&&o===t.selectedYear||i||this._notifyChange(t),this._adjustInstDate(t),t.input&&t.input.val(s?"":this._formatDate(t))},_getDate:function(t){var e=!t.currentYear||t.input&&""===t.input.val()?null:this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay));return e},_attachHandlers:function(e){var i=this._get(e,"stepMonths"),s="#"+e.id.replace(/\\\\/g,"\\");e.dpDiv.find("[data-handler]").map(function(){var e={prev:function(){t.datepicker._adjustDate(s,-i,"M")},next:function(){t.datepicker._adjustDate(s,+i,"M")},hide:function(){t.datepicker._hideDatepicker()},today:function(){t.datepicker._gotoToday(s)},selectDay:function(){return t.datepicker._selectDay(s,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return t.datepicker._selectMonthYear(s,this,"M"),!1},selectYear:function(){return t.datepicker._selectMonthYear(s,this,"Y"),!1}};t(this).on(this.getAttribute("data-event"),e[this.getAttribute("data-handler")])})},_generateHTML:function(t){var e,i,s,n,o,a,r,h,l,c,u,d,p,f,g,m,_,v,b,y,w,k,x,C,D,I,T,P,M,S,H,z,O,A,N,W,E,F,R,L=new Date,B=this._daylightSavingAdjust(new Date(L.getFullYear(),L.getMonth(),L.getDate())),Y=this._get(t,"isRTL"),j=this._get(t,"showButtonPanel"),q=this._get(t,"hideIfNoPrevNext"),K=this._get(t,"navigationAsDateFormat"),U=this._getNumberOfMonths(t),V=this._get(t,"showCurrentAtPos"),X=this._get(t,"stepMonths"),$=1!==U[0]||1!==U[1],G=this._daylightSavingAdjust(t.currentDay?new Date(t.currentYear,t.currentMonth,t.currentDay):new Date(9999,9,9)),Q=this._getMinMaxDate(t,"min"),J=this._getMinMaxDate(t,"max"),Z=t.drawMonth-V,te=t.drawYear;if(0>Z&&(Z+=12,te--),J)for(e=this._daylightSavingAdjust(new Date(J.getFullYear(),J.getMonth()-U[0]*U[1]+1,J.getDate())),e=Q&&Q>e?Q:e;this._daylightSavingAdjust(new Date(te,Z,1))>e;)Z--,0>Z&&(Z=11,te--);for(t.drawMonth=Z,t.drawYear=te,i=this._get(t,"prevText"),i=K?this.formatDate(i,this._daylightSavingAdjust(new Date(te,Z-X,1)),this._getFormatConfig(t)):i,s=this._canAdjustMonth(t,-1,te,Z)?""+i+"":q?"":""+i+"",n=this._get(t,"nextText"),n=K?this.formatDate(n,this._daylightSavingAdjust(new Date(te,Z+X,1)),this._getFormatConfig(t)):n,o=this._canAdjustMonth(t,1,te,Z)?""+n+"":q?"":""+n+"",a=this._get(t,"currentText"),r=this._get(t,"gotoCurrent")&&t.currentDay?G:B,a=K?this.formatDate(a,r,this._getFormatConfig(t)):a,h=t.inline?"":"",l=j?"
          "+(Y?h:"")+(this._isInRange(t,r)?"":"")+(Y?"":h)+"
          ":"",c=parseInt(this._get(t,"firstDay"),10),c=isNaN(c)?0:c,u=this._get(t,"showWeek"),d=this._get(t,"dayNames"),p=this._get(t,"dayNamesMin"),f=this._get(t,"monthNames"),g=this._get(t,"monthNamesShort"),m=this._get(t,"beforeShowDay"),_=this._get(t,"showOtherMonths"),v=this._get(t,"selectOtherMonths"),b=this._getDefaultDate(t),y="",k=0;U[0]>k;k++){for(x="",this.maxRows=4,C=0;U[1]>C;C++){if(D=this._daylightSavingAdjust(new Date(te,Z,t.selectedDay)),I=" ui-corner-all",T="",$){if(T+="
          "}for(T+="
          "+(/all|left/.test(I)&&0===k?Y?o:s:"")+(/all|right/.test(I)&&0===k?Y?s:o:"")+this._generateMonthYearHeader(t,Z,te,Q,J,k>0||C>0,f,g)+"
          "+"",P=u?"":"",w=0;7>w;w++)M=(w+c)%7,P+="";for(T+=P+"",S=this._getDaysInMonth(te,Z),te===t.selectedYear&&Z===t.selectedMonth&&(t.selectedDay=Math.min(t.selectedDay,S)),H=(this._getFirstDayOfMonth(te,Z)-c+7)%7,z=Math.ceil((H+S)/7),O=$?this.maxRows>z?this.maxRows:z:z,this.maxRows=O,A=this._daylightSavingAdjust(new Date(te,Z,1-H)),N=0;O>N;N++){for(T+="",W=u?"":"",w=0;7>w;w++)E=m?m.apply(t.input?t.input[0]:null,[A]):[!0,""],F=A.getMonth()!==Z,R=F&&!v||!E[0]||Q&&Q>A||J&&A>J,W+="",A.setDate(A.getDate()+1),A=this._daylightSavingAdjust(A);T+=W+""}Z++,Z>11&&(Z=0,te++),T+="
          "+this._get(t,"weekHeader")+"=5?" class='ui-datepicker-week-end'":"")+">"+""+p[M]+"
          "+this._get(t,"calculateWeek")(A)+""+(F&&!_?" ":R?""+A.getDate()+"":""+A.getDate()+"")+"
          "+($?"
          "+(U[0]>0&&C===U[1]-1?"
          ":""):""),x+=T}y+=x}return y+=l,t._keyEvent=!1,y},_generateMonthYearHeader:function(t,e,i,s,n,o,a,r){var h,l,c,u,d,p,f,g,m=this._get(t,"changeMonth"),_=this._get(t,"changeYear"),v=this._get(t,"showMonthAfterYear"),b="
          ",y="";if(o||!m)y+=""+a[e]+"";else{for(h=s&&s.getFullYear()===i,l=n&&n.getFullYear()===i,y+=""}if(v||(b+=y+(!o&&m&&_?"":" ")),!t.yearshtml)if(t.yearshtml="",o||!_)b+=""+i+"";else{for(u=this._get(t,"yearRange").split(":"),d=(new Date).getFullYear(),p=function(t){var e=t.match(/c[+\-].*/)?i+parseInt(t.substring(1),10):t.match(/[+\-].*/)?d+parseInt(t,10):parseInt(t,10);return isNaN(e)?d:e},f=p(u[0]),g=Math.max(f,p(u[1]||"")),f=s?Math.max(f,s.getFullYear()):f,g=n?Math.min(g,n.getFullYear()):g,t.yearshtml+="",b+=t.yearshtml,t.yearshtml=null}return b+=this._get(t,"yearSuffix"),v&&(b+=(!o&&m&&_?"":" ")+y),b+="
          "},_adjustInstDate:function(t,e,i){var s=t.selectedYear+("Y"===i?e:0),n=t.selectedMonth+("M"===i?e:0),o=Math.min(t.selectedDay,this._getDaysInMonth(s,n))+("D"===i?e:0),a=this._restrictMinMax(t,this._daylightSavingAdjust(new Date(s,n,o)));t.selectedDay=a.getDate(),t.drawMonth=t.selectedMonth=a.getMonth(),t.drawYear=t.selectedYear=a.getFullYear(),("M"===i||"Y"===i)&&this._notifyChange(t)},_restrictMinMax:function(t,e){var i=this._getMinMaxDate(t,"min"),s=this._getMinMaxDate(t,"max"),n=i&&i>e?i:e;return s&&n>s?s:n},_notifyChange:function(t){var e=this._get(t,"onChangeMonthYear");e&&e.apply(t.input?t.input[0]:null,[t.selectedYear,t.selectedMonth+1,t])},_getNumberOfMonths:function(t){var e=this._get(t,"numberOfMonths");return null==e?[1,1]:"number"==typeof e?[1,e]:e},_getMinMaxDate:function(t,e){return this._determineDate(t,this._get(t,e+"Date"),null)},_getDaysInMonth:function(t,e){return 32-this._daylightSavingAdjust(new Date(t,e,32)).getDate()},_getFirstDayOfMonth:function(t,e){return new Date(t,e,1).getDay()},_canAdjustMonth:function(t,e,i,s){var n=this._getNumberOfMonths(t),o=this._daylightSavingAdjust(new Date(i,s+(0>e?e:n[0]*n[1]),1));return 0>e&&o.setDate(this._getDaysInMonth(o.getFullYear(),o.getMonth())),this._isInRange(t,o)},_isInRange:function(t,e){var i,s,n=this._getMinMaxDate(t,"min"),o=this._getMinMaxDate(t,"max"),a=null,r=null,h=this._get(t,"yearRange");return h&&(i=h.split(":"),s=(new Date).getFullYear(),a=parseInt(i[0],10),r=parseInt(i[1],10),i[0].match(/[+\-].*/)&&(a+=s),i[1].match(/[+\-].*/)&&(r+=s)),(!n||e.getTime()>=n.getTime())&&(!o||e.getTime()<=o.getTime())&&(!a||e.getFullYear()>=a)&&(!r||r>=e.getFullYear())},_getFormatConfig:function(t){var e=this._get(t,"shortYearCutoff");return e="string"!=typeof e?e:(new Date).getFullYear()%100+parseInt(e,10),{shortYearCutoff:e,dayNamesShort:this._get(t,"dayNamesShort"),dayNames:this._get(t,"dayNames"),monthNamesShort:this._get(t,"monthNamesShort"),monthNames:this._get(t,"monthNames")}},_formatDate:function(t,e,i,s){e||(t.currentDay=t.selectedDay,t.currentMonth=t.selectedMonth,t.currentYear=t.selectedYear);var n=e?"object"==typeof e?e:this._daylightSavingAdjust(new Date(s,i,e)):this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay));return this.formatDate(this._get(t,"dateFormat"),n,this._getFormatConfig(t))}}),t.fn.datepicker=function(e){if(!this.length)return this;t.datepicker.initialized||(t(document).on("mousedown",t.datepicker._checkExternalClick),t.datepicker.initialized=!0),0===t("#"+t.datepicker._mainDivId).length&&t("body").append(t.datepicker.dpDiv);var i=Array.prototype.slice.call(arguments,1);return"string"!=typeof e||"isDisabled"!==e&&"getDate"!==e&&"widget"!==e?"option"===e&&2===arguments.length&&"string"==typeof arguments[1]?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i)):this.each(function(){"string"==typeof e?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this].concat(i)):t.datepicker._attachDatepicker(this,e)}):t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i))},t.datepicker=new s,t.datepicker.initialized=!1,t.datepicker.uuid=(new Date).getTime(),t.datepicker.version="1.12.0",t.datepicker,t.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var _=!1;t(document).on("mouseup",function(){_=!1}),t.widget("ui.mouse",{version:"1.12.0",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).on("click."+this.widgetName,function(i){return!0===t.data(i.target,e.widgetName+".preventClickEvent")?(t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){if(!_){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),this._mouseDownEvent=e;var i=this,s=1===e.which,n="string"==typeof this.options.cancel&&e.target.nodeName?t(e.target).closest(this.options.cancel).length:!1;return s&&!n&&this._mouseCapture(e)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(e)!==!1,!this._mouseStarted)?(e.preventDefault(),!0):(!0===t.data(e.target,this.widgetName+".preventClickEvent")&&t.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return i._mouseMove(t)},this._mouseUpDelegate=function(t){return i._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),_=!0,!0)):!0}},_mouseMove:function(e){if(this._mouseMoved){if(t.ui.ie&&(!document.documentMode||9>document.documentMode)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,e)!==!1,this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,_=!1,e.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),t.ui.plugin={add:function(e,i,s){var n,o=t.ui[e].prototype;for(n in s)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([i,s[n]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;o.length>n;n++)t.options[o[n][0]]&&o[n][1].apply(t.element,i)}},t.ui.safeBlur=function(e){e&&"body"!==e.nodeName.toLowerCase()&&t(e).trigger("blur")},t.widget("ui.draggable",t.ui.mouse,{version:"1.12.0",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"===this.options.helper&&this._setPositionRelative(),this.options.addClasses&&this._addClass("ui-draggable"),this._setHandleClassName(),this._mouseInit()},_setOption:function(t,e){this._super(t,e),"handle"===t&&(this._removeHandleClassName(),this._setHandleClassName())},_destroy:function(){return(this.helper||this.element).is(".ui-draggable-dragging")?(this.destroyOnClear=!0,void 0):(this._removeHandleClassName(),this._mouseDestroy(),void 0)},_mouseCapture:function(e){var i=this.options;return this._blurActiveElement(e),this.helper||i.disabled||t(e.target).closest(".ui-resizable-handle").length>0?!1:(this.handle=this._getHandle(e),this.handle?(this._blockFrames(i.iframeFix===!0?"iframe":i.iframeFix),!0):!1)},_blockFrames:function(e){this.iframeBlocks=this.document.find(e).map(function(){var e=t(this);return t("
          ").css("position","absolute").appendTo(e.parent()).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()).offset(e.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_blurActiveElement:function(e){var i=t.ui.safeActiveElement(this.document[0]),s=t(e.target);this._getHandle(e)&&s.closest(i).length||t.ui.safeBlur(i)},_mouseStart:function(e){var i=this.options;return this.helper=this._createHelper(e),this._addClass(this.helper,"ui-draggable-dragging"),this._cacheHelperProportions(),t.ui.ddmanager&&(t.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(!0),this.offsetParent=this.helper.offsetParent(),this.hasFixedAncestor=this.helper.parents().filter(function(){return"fixed"===t(this).css("position")}).length>0,this.positionAbs=this.element.offset(),this._refreshOffsets(e),this.originalPosition=this.position=this._generatePosition(e,!1),this.originalPageX=e.pageX,this.originalPageY=e.pageY,i.cursorAt&&this._adjustOffsetFromHelper(i.cursorAt),this._setContainment(),this._trigger("start",e)===!1?(this._clear(),!1):(this._cacheHelperProportions(),t.ui.ddmanager&&!i.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this._mouseDrag(e,!0),t.ui.ddmanager&&t.ui.ddmanager.dragStart(this,e),!0)},_refreshOffsets:function(t){this.offset={top:this.positionAbs.top-this.margins.top,left:this.positionAbs.left-this.margins.left,scroll:!1,parent:this._getParentOffset(),relative:this._getRelativeOffset()},this.offset.click={left:t.pageX-this.offset.left,top:t.pageY-this.offset.top}},_mouseDrag:function(e,i){if(this.hasFixedAncestor&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(e,!0),this.positionAbs=this._convertPositionTo("absolute"),!i){var s=this._uiHash();if(this._trigger("drag",e,s)===!1)return this._mouseUp(new t.Event("mouseup",e)),!1;this.position=s.position}return this.helper[0].style.left=this.position.left+"px",this.helper[0].style.top=this.position.top+"px",t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),!1},_mouseStop:function(e){var i=this,s=!1;return t.ui.ddmanager&&!this.options.dropBehaviour&&(s=t.ui.ddmanager.drop(this,e)),this.dropped&&(s=this.dropped,this.dropped=!1),"invalid"===this.options.revert&&!s||"valid"===this.options.revert&&s||this.options.revert===!0||t.isFunction(this.options.revert)&&this.options.revert.call(this.element,s)?t(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){i._trigger("stop",e)!==!1&&i._clear()}):this._trigger("stop",e)!==!1&&this._clear(),!1},_mouseUp:function(e){return this._unblockFrames(),t.ui.ddmanager&&t.ui.ddmanager.dragStop(this,e),this.handleElement.is(e.target)&&this.element.trigger("focus"),t.ui.mouse.prototype._mouseUp.call(this,e)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp(new t.Event("mouseup",{target:this.element[0]})):this._clear(),this},_getHandle:function(e){return this.options.handle?!!t(e.target).closest(this.element.find(this.options.handle)).length:!0},_setHandleClassName:function(){this.handleElement=this.options.handle?this.element.find(this.options.handle):this.element,this._addClass(this.handleElement,"ui-draggable-handle")},_removeHandleClassName:function(){this._removeClass(this.handleElement,"ui-draggable-handle")},_createHelper:function(e){var i=this.options,s=t.isFunction(i.helper),n=s?t(i.helper.apply(this.element[0],[e])):"clone"===i.helper?this.element.clone().removeAttr("id"):this.element;return n.parents("body").length||n.appendTo("parent"===i.appendTo?this.element[0].parentNode:i.appendTo),s&&n[0]===this.element[0]&&this._setPositionRelative(),n[0]===this.element[0]||/(fixed|absolute)/.test(n.css("position"))||n.css("position","absolute"),n},_setPositionRelative:function(){/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative")},_adjustOffsetFromHelper:function(e){"string"==typeof e&&(e=e.split(" ")),t.isArray(e)&&(e={left:+e[0],top:+e[1]||0}),"left"in e&&(this.offset.click.left=e.left+this.margins.left),"right"in e&&(this.offset.click.left=this.helperProportions.width-e.right+this.margins.left),"top"in e&&(this.offset.click.top=e.top+this.margins.top),"bottom"in e&&(this.offset.click.top=this.helperProportions.height-e.bottom+this.margins.top)},_isRootNode:function(t){return/(html|body)/i.test(t.tagName)||t===this.document[0]},_getParentOffset:function(){var e=this.offsetParent.offset(),i=this.document[0];return"absolute"===this.cssPosition&&this.scrollParent[0]!==i&&t.contains(this.scrollParent[0],this.offsetParent[0])&&(e.left+=this.scrollParent.scrollLeft(),e.top+=this.scrollParent.scrollTop()),this._isRootNode(this.offsetParent[0])&&(e={top:0,left:0}),{top:e.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:e.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"!==this.cssPosition)return{top:0,left:0};var t=this.element.position(),e=this._isRootNode(this.scrollParent[0]);return{top:t.top-(parseInt(this.helper.css("top"),10)||0)+(e?0:this.scrollParent.scrollTop()),left:t.left-(parseInt(this.helper.css("left"),10)||0)+(e?0:this.scrollParent.scrollLeft())} +},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e,i,s,n=this.options,o=this.document[0];return this.relativeContainer=null,n.containment?"window"===n.containment?(this.containment=[t(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,t(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,t(window).scrollLeft()+t(window).width()-this.helperProportions.width-this.margins.left,t(window).scrollTop()+(t(window).height()||o.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],void 0):"document"===n.containment?(this.containment=[0,0,t(o).width()-this.helperProportions.width-this.margins.left,(t(o).height()||o.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],void 0):n.containment.constructor===Array?(this.containment=n.containment,void 0):("parent"===n.containment&&(n.containment=this.helper[0].parentNode),i=t(n.containment),s=i[0],s&&(e=/(scroll|auto)/.test(i.css("overflow")),this.containment=[(parseInt(i.css("borderLeftWidth"),10)||0)+(parseInt(i.css("paddingLeft"),10)||0),(parseInt(i.css("borderTopWidth"),10)||0)+(parseInt(i.css("paddingTop"),10)||0),(e?Math.max(s.scrollWidth,s.offsetWidth):s.offsetWidth)-(parseInt(i.css("borderRightWidth"),10)||0)-(parseInt(i.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(e?Math.max(s.scrollHeight,s.offsetHeight):s.offsetHeight)-(parseInt(i.css("borderBottomWidth"),10)||0)-(parseInt(i.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relativeContainer=i),void 0):(this.containment=null,void 0)},_convertPositionTo:function(t,e){e||(e=this.position);var i="absolute"===t?1:-1,s=this._isRootNode(this.scrollParent[0]);return{top:e.top+this.offset.relative.top*i+this.offset.parent.top*i-("fixed"===this.cssPosition?-this.offset.scroll.top:s?0:this.offset.scroll.top)*i,left:e.left+this.offset.relative.left*i+this.offset.parent.left*i-("fixed"===this.cssPosition?-this.offset.scroll.left:s?0:this.offset.scroll.left)*i}},_generatePosition:function(t,e){var i,s,n,o,a=this.options,r=this._isRootNode(this.scrollParent[0]),h=t.pageX,l=t.pageY;return r&&this.offset.scroll||(this.offset.scroll={top:this.scrollParent.scrollTop(),left:this.scrollParent.scrollLeft()}),e&&(this.containment&&(this.relativeContainer?(s=this.relativeContainer.offset(),i=[this.containment[0]+s.left,this.containment[1]+s.top,this.containment[2]+s.left,this.containment[3]+s.top]):i=this.containment,t.pageX-this.offset.click.lefti[2]&&(h=i[2]+this.offset.click.left),t.pageY-this.offset.click.top>i[3]&&(l=i[3]+this.offset.click.top)),a.grid&&(n=a.grid[1]?this.originalPageY+Math.round((l-this.originalPageY)/a.grid[1])*a.grid[1]:this.originalPageY,l=i?n-this.offset.click.top>=i[1]||n-this.offset.click.top>i[3]?n:n-this.offset.click.top>=i[1]?n-a.grid[1]:n+a.grid[1]:n,o=a.grid[0]?this.originalPageX+Math.round((h-this.originalPageX)/a.grid[0])*a.grid[0]:this.originalPageX,h=i?o-this.offset.click.left>=i[0]||o-this.offset.click.left>i[2]?o:o-this.offset.click.left>=i[0]?o-a.grid[0]:o+a.grid[0]:o),"y"===a.axis&&(h=this.originalPageX),"x"===a.axis&&(l=this.originalPageY)),{top:l-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.offset.scroll.top:r?0:this.offset.scroll.top),left:h-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.offset.scroll.left:r?0:this.offset.scroll.left)}},_clear:function(){this._removeClass(this.helper,"ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1,this.destroyOnClear&&this.destroy()},_trigger:function(e,i,s){return s=s||this._uiHash(),t.ui.plugin.call(this,e,[i,s,this],!0),/^(drag|start|stop)/.test(e)&&(this.positionAbs=this._convertPositionTo("absolute"),s.offset=this.positionAbs),t.Widget.prototype._trigger.call(this,e,i,s)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),t.ui.plugin.add("draggable","connectToSortable",{start:function(e,i,s){var n=t.extend({},i,{item:s.element});s.sortables=[],t(s.options.connectToSortable).each(function(){var i=t(this).sortable("instance");i&&!i.options.disabled&&(s.sortables.push(i),i.refreshPositions(),i._trigger("activate",e,n))})},stop:function(e,i,s){var n=t.extend({},i,{item:s.element});s.cancelHelperRemoval=!1,t.each(s.sortables,function(){var t=this;t.isOver?(t.isOver=0,s.cancelHelperRemoval=!0,t.cancelHelperRemoval=!1,t._storedCSS={position:t.placeholder.css("position"),top:t.placeholder.css("top"),left:t.placeholder.css("left")},t._mouseStop(e),t.options.helper=t.options._helper):(t.cancelHelperRemoval=!0,t._trigger("deactivate",e,n))})},drag:function(e,i,s){t.each(s.sortables,function(){var n=!1,o=this;o.positionAbs=s.positionAbs,o.helperProportions=s.helperProportions,o.offset.click=s.offset.click,o._intersectsWith(o.containerCache)&&(n=!0,t.each(s.sortables,function(){return this.positionAbs=s.positionAbs,this.helperProportions=s.helperProportions,this.offset.click=s.offset.click,this!==o&&this._intersectsWith(this.containerCache)&&t.contains(o.element[0],this.element[0])&&(n=!1),n})),n?(o.isOver||(o.isOver=1,s._parent=i.helper.parent(),o.currentItem=i.helper.appendTo(o.element).data("ui-sortable-item",!0),o.options._helper=o.options.helper,o.options.helper=function(){return i.helper[0]},e.target=o.currentItem[0],o._mouseCapture(e,!0),o._mouseStart(e,!0,!0),o.offset.click.top=s.offset.click.top,o.offset.click.left=s.offset.click.left,o.offset.parent.left-=s.offset.parent.left-o.offset.parent.left,o.offset.parent.top-=s.offset.parent.top-o.offset.parent.top,s._trigger("toSortable",e),s.dropped=o.element,t.each(s.sortables,function(){this.refreshPositions()}),s.currentItem=s.element,o.fromOutside=s),o.currentItem&&(o._mouseDrag(e),i.position=o.position)):o.isOver&&(o.isOver=0,o.cancelHelperRemoval=!0,o.options._revert=o.options.revert,o.options.revert=!1,o._trigger("out",e,o._uiHash(o)),o._mouseStop(e,!0),o.options.revert=o.options._revert,o.options.helper=o.options._helper,o.placeholder&&o.placeholder.remove(),i.helper.appendTo(s._parent),s._refreshOffsets(e),i.position=s._generatePosition(e,!0),s._trigger("fromSortable",e),s.dropped=!1,t.each(s.sortables,function(){this.refreshPositions()}))})}}),t.ui.plugin.add("draggable","cursor",{start:function(e,i,s){var n=t("body"),o=s.options;n.css("cursor")&&(o._cursor=n.css("cursor")),n.css("cursor",o.cursor)},stop:function(e,i,s){var n=s.options;n._cursor&&t("body").css("cursor",n._cursor)}}),t.ui.plugin.add("draggable","opacity",{start:function(e,i,s){var n=t(i.helper),o=s.options;n.css("opacity")&&(o._opacity=n.css("opacity")),n.css("opacity",o.opacity)},stop:function(e,i,s){var n=s.options;n._opacity&&t(i.helper).css("opacity",n._opacity)}}),t.ui.plugin.add("draggable","scroll",{start:function(t,e,i){i.scrollParentNotHidden||(i.scrollParentNotHidden=i.helper.scrollParent(!1)),i.scrollParentNotHidden[0]!==i.document[0]&&"HTML"!==i.scrollParentNotHidden[0].tagName&&(i.overflowOffset=i.scrollParentNotHidden.offset())},drag:function(e,i,s){var n=s.options,o=!1,a=s.scrollParentNotHidden[0],r=s.document[0];a!==r&&"HTML"!==a.tagName?(n.axis&&"x"===n.axis||(s.overflowOffset.top+a.offsetHeight-e.pageY=0;d--)h=s.snapElements[d].left-s.margins.left,l=h+s.snapElements[d].width,c=s.snapElements[d].top-s.margins.top,u=c+s.snapElements[d].height,h-g>_||m>l+g||c-g>b||v>u+g||!t.contains(s.snapElements[d].item.ownerDocument,s.snapElements[d].item)?(s.snapElements[d].snapping&&s.options.snap.release&&s.options.snap.release.call(s.element,e,t.extend(s._uiHash(),{snapItem:s.snapElements[d].item})),s.snapElements[d].snapping=!1):("inner"!==f.snapMode&&(n=g>=Math.abs(c-b),o=g>=Math.abs(u-v),a=g>=Math.abs(h-_),r=g>=Math.abs(l-m),n&&(i.position.top=s._convertPositionTo("relative",{top:c-s.helperProportions.height,left:0}).top),o&&(i.position.top=s._convertPositionTo("relative",{top:u,left:0}).top),a&&(i.position.left=s._convertPositionTo("relative",{top:0,left:h-s.helperProportions.width}).left),r&&(i.position.left=s._convertPositionTo("relative",{top:0,left:l}).left)),p=n||o||a||r,"outer"!==f.snapMode&&(n=g>=Math.abs(c-v),o=g>=Math.abs(u-b),a=g>=Math.abs(h-m),r=g>=Math.abs(l-_),n&&(i.position.top=s._convertPositionTo("relative",{top:c,left:0}).top),o&&(i.position.top=s._convertPositionTo("relative",{top:u-s.helperProportions.height,left:0}).top),a&&(i.position.left=s._convertPositionTo("relative",{top:0,left:h}).left),r&&(i.position.left=s._convertPositionTo("relative",{top:0,left:l-s.helperProportions.width}).left)),!s.snapElements[d].snapping&&(n||o||a||r||p)&&s.options.snap.snap&&s.options.snap.snap.call(s.element,e,t.extend(s._uiHash(),{snapItem:s.snapElements[d].item})),s.snapElements[d].snapping=n||o||a||r||p)}}),t.ui.plugin.add("draggable","stack",{start:function(e,i,s){var n,o=s.options,a=t.makeArray(t(o.stack)).sort(function(e,i){return(parseInt(t(e).css("zIndex"),10)||0)-(parseInt(t(i).css("zIndex"),10)||0)});a.length&&(n=parseInt(t(a[0]).css("zIndex"),10)||0,t(a).each(function(e){t(this).css("zIndex",n+e)}),this.css("zIndex",n+a.length))}}),t.ui.plugin.add("draggable","zIndex",{start:function(e,i,s){var n=t(i.helper),o=s.options;n.css("zIndex")&&(o._zIndex=n.css("zIndex")),n.css("zIndex",o.zIndex)},stop:function(e,i,s){var n=s.options;n._zIndex&&t(i.helper).css("zIndex",n._zIndex)}}),t.ui.draggable,t.widget("ui.resizable",t.ui.mouse,{version:"1.12.0",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(t){return parseFloat(t)||0},_isNumber:function(t){return!isNaN(parseFloat(t))},_hasScroll:function(e,i){if("hidden"===t(e).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",n=!1;return e[s]>0?!0:(e[s]=1,n=e[s]>0,e[s]=0,n)},_create:function(){var e,i=this.options,s=this;this._addClass("ui-resizable"),t.extend(this,{_aspectRatio:!!i.aspectRatio,aspectRatio:i.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:i.helper||i.ghost||i.animate?i.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(t("
          ").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,e={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(e),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(e),this._proportionallyResize()),this._setupHandles(),i.autoHide&&t(this.element).on("mouseenter",function(){i.disabled||(s._removeClass("ui-resizable-autohide"),s._handles.show())}).on("mouseleave",function(){i.disabled||s.resizing||(s._addClass("ui-resizable-autohide"),s._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy();var e,i=function(e){t(e).removeData("resizable").removeData("ui-resizable").off(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;default:}},_setupHandles:function(){var e,i,s,n,o,a=this.options,r=this;if(this.handles=a.handles||(t(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=t(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),s=this.handles.split(","),this.handles={},i=0;s.length>i;i++)e=t.trim(s[i]),n="ui-resizable-"+e,o=t("
          "),this._addClass(o,"ui-resizable-handle "+n),o.css({zIndex:a.zIndex}),this.handles[e]=".ui-resizable-"+e,this.element.append(o);this._renderAxis=function(e){var i,s,n,o;e=e||this.element;for(i in this.handles)this.handles[i].constructor===String?this.handles[i]=this.element.children(this.handles[i]).first().show():(this.handles[i].jquery||this.handles[i].nodeType)&&(this.handles[i]=t(this.handles[i]),this._on(this.handles[i],{mousedown:r._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(s=t(this.handles[i],this.element),o=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),e.css(n,o),this._proportionallyResize()),this._handles=this._handles.add(this.handles[i])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){r.resizing||(this.className&&(o=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),r.axis=o&&o[1]?o[1]:"se")}),a.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._handles.remove()},_mouseCapture:function(e){var i,s,n=!1;for(i in this.handles)s=t(this.handles[i])[0],(s===e.target||t.contains(s,e.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(e){var i,s,n,o=this.options,a=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),s=this._num(this.helper.css("top")),o.containment&&(i+=t(o.containment).scrollLeft()||0,s+=t(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:s},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:a.width(),height:a.height()},this.originalSize=this._helper?{width:a.outerWidth(),height:a.outerHeight()}:{width:a.width(),height:a.height()},this.sizeDiff={width:a.outerWidth()-a.width(),height:a.outerHeight()-a.height()},this.originalPosition={left:i,top:s},this.originalMousePosition={left:e.pageX,top:e.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,n=t(".ui-resizable-"+this.axis).css("cursor"),t("body").css("cursor","auto"===n?this.axis+"-resize":n),this._addClass("ui-resizable-resizing"),this._propagate("start",e),!0},_mouseDrag:function(e){var i,s,n=this.originalMousePosition,o=this.axis,a=e.pageX-n.left||0,r=e.pageY-n.top||0,h=this._change[o];return this._updatePrevProperties(),h?(i=h.apply(this,[e,a,r]),this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(i=this._updateRatio(i,e)),i=this._respectSize(i,e),this._updateCache(i),this._propagate("resize",e),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),t.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",e,this.ui()),this._applyChanges()),!1):!1},_mouseStop:function(e){this.resizing=!1;var i,s,n,o,a,r,h,l=this.options,c=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&this._hasScroll(i[0],"left")?0:c.sizeDiff.height,o=s?0:c.sizeDiff.width,a={width:c.helper.width()-o,height:c.helper.height()-n},r=parseFloat(c.element.css("left"))+(c.position.left-c.originalPosition.left)||null,h=parseFloat(c.element.css("top"))+(c.position.top-c.originalPosition.top)||null,l.animate||this.element.css(t.extend(a,{top:h,left:r})),c.helper.height(c.size.height),c.helper.width(c.size.width),this._helper&&!l.animate&&this._proportionallyResize()),t("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",e),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s,n,o,a=this.options;o={minWidth:this._isNumber(a.minWidth)?a.minWidth:0,maxWidth:this._isNumber(a.maxWidth)?a.maxWidth:1/0,minHeight:this._isNumber(a.minHeight)?a.minHeight:0,maxHeight:this._isNumber(a.maxHeight)?a.maxHeight:1/0},(this._aspectRatio||t)&&(e=o.minHeight*this.aspectRatio,s=o.minWidth/this.aspectRatio,i=o.maxHeight*this.aspectRatio,n=o.maxWidth/this.aspectRatio,e>o.minWidth&&(o.minWidth=e),s>o.minHeight&&(o.minHeight=s),o.maxWidth>i&&(o.maxWidth=i),o.maxHeight>n&&(o.maxHeight=n)),this._vBoundaries=o},_updateCache:function(t){this.offset=this.helper.offset(),this._isNumber(t.left)&&(this.position.left=t.left),this._isNumber(t.top)&&(this.position.top=t.top),this._isNumber(t.height)&&(this.size.height=t.height),this._isNumber(t.width)&&(this.size.width=t.width)},_updateRatio:function(t){var e=this.position,i=this.size,s=this.axis;return this._isNumber(t.height)?t.width=t.height*this.aspectRatio:this._isNumber(t.width)&&(t.height=t.width/this.aspectRatio),"sw"===s&&(t.left=e.left+(i.width-t.width),t.top=null),"nw"===s&&(t.top=e.top+(i.height-t.height),t.left=e.left+(i.width-t.width)),t},_respectSize:function(t){var e=this._vBoundaries,i=this.axis,s=this._isNumber(t.width)&&e.maxWidth&&e.maxWidtht.width,a=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,r=this.originalPosition.left+this.originalSize.width,h=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),c=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),a&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=r-e.minWidth),s&&l&&(t.left=r-e.maxWidth),a&&c&&(t.top=h-e.minHeight),n&&c&&(t.top=h-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];4>e;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;this._proportionallyResizeElements.length>e;e++)t=this._proportionallyResizeElements[e],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(t)),t.css({height:i.height()-this.outerDimensions.height||0,width:i.width()-this.outerDimensions.width||0})},_renderProxy:function(){var e=this.element,i=this.options;this.elementOffset=e.offset(),this._helper?(this.helper=this.helper||t("
          "),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize,s=this.originalPosition;return{left:s.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},sw:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,i,s]))},ne:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},nw:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,i,s]))}},_propagate:function(e,i){t.ui.plugin.call(this,e,[i,this.ui()]),"resize"!==e&&this._trigger(e,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),t.ui.plugin.add("resizable","animate",{stop:function(e){var i=t(this).resizable("instance"),s=i.options,n=i._proportionallyResizeElements,o=n.length&&/textarea/i.test(n[0].nodeName),a=o&&i._hasScroll(n[0],"left")?0:i.sizeDiff.height,r=o?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-a},l=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,c=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(t.extend(h,c&&l?{top:c,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};n&&n.length&&t(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",e)}})}}),t.ui.plugin.add("resizable","containment",{start:function(){var e,i,s,n,o,a,r,h=t(this).resizable("instance"),l=h.options,c=h.element,u=l.containment,d=u instanceof t?u.get(0):/parent/.test(u)?c.parent().get(0):u;d&&(h.containerElement=t(d),/document/.test(u)||u===document?(h.containerOffset={left:0,top:0},h.containerPosition={left:0,top:0},h.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(e=t(d),i=[],t(["Top","Right","Left","Bottom"]).each(function(t,s){i[t]=h._num(e.css("padding"+s))}),h.containerOffset=e.offset(),h.containerPosition=e.position(),h.containerSize={height:e.innerHeight()-i[3],width:e.innerWidth()-i[1]},s=h.containerOffset,n=h.containerSize.height,o=h.containerSize.width,a=h._hasScroll(d,"left")?d.scrollWidth:o,r=h._hasScroll(d)?d.scrollHeight:n,h.parentData={element:d,left:s.left,top:s.top,width:a,height:r}))},resize:function(e){var i,s,n,o,a=t(this).resizable("instance"),r=a.options,h=a.containerOffset,l=a.position,c=a._aspectRatio||e.shiftKey,u={top:0,left:0},d=a.containerElement,p=!0;d[0]!==document&&/static/.test(d.css("position"))&&(u=h),l.left<(a._helper?h.left:0)&&(a.size.width=a.size.width+(a._helper?a.position.left-h.left:a.position.left-u.left),c&&(a.size.height=a.size.width/a.aspectRatio,p=!1),a.position.left=r.helper?h.left:0),l.top<(a._helper?h.top:0)&&(a.size.height=a.size.height+(a._helper?a.position.top-h.top:a.position.top),c&&(a.size.width=a.size.height*a.aspectRatio,p=!1),a.position.top=a._helper?h.top:0),n=a.containerElement.get(0)===a.element.parent().get(0),o=/relative|absolute/.test(a.containerElement.css("position")),n&&o?(a.offset.left=a.parentData.left+a.position.left,a.offset.top=a.parentData.top+a.position.top):(a.offset.left=a.element.offset().left,a.offset.top=a.element.offset().top),i=Math.abs(a.sizeDiff.width+(a._helper?a.offset.left-u.left:a.offset.left-h.left)),s=Math.abs(a.sizeDiff.height+(a._helper?a.offset.top-u.top:a.offset.top-h.top)),i+a.size.width>=a.parentData.width&&(a.size.width=a.parentData.width-i,c&&(a.size.height=a.size.width/a.aspectRatio,p=!1)),s+a.size.height>=a.parentData.height&&(a.size.height=a.parentData.height-s,c&&(a.size.width=a.size.height*a.aspectRatio,p=!1)),p||(a.position.left=a.prevPosition.left,a.position.top=a.prevPosition.top,a.size.width=a.prevSize.width,a.size.height=a.prevSize.height)},stop:function(){var e=t(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.containerPosition,o=e.containerElement,a=t(e.helper),r=a.offset(),h=a.outerWidth()-e.sizeDiff.width,l=a.outerHeight()-e.sizeDiff.height;e._helper&&!i.animate&&/relative/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l}),e._helper&&!i.animate&&/static/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),t.ui.plugin.add("resizable","alsoResize",{start:function(){var e=t(this).resizable("instance"),i=e.options;t(i.alsoResize).each(function(){var e=t(this);e.data("ui-resizable-alsoresize",{width:parseFloat(e.width()),height:parseFloat(e.height()),left:parseFloat(e.css("left")),top:parseFloat(e.css("top"))})})},resize:function(e,i){var s=t(this).resizable("instance"),n=s.options,o=s.originalSize,a=s.originalPosition,r={height:s.size.height-o.height||0,width:s.size.width-o.width||0,top:s.position.top-a.top||0,left:s.position.left-a.left||0};t(n.alsoResize).each(function(){var e=t(this),s=t(this).data("ui-resizable-alsoresize"),n={},o=e.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];t.each(o,function(t,e){var i=(s[e]||0)+(r[e]||0);i&&i>=0&&(n[e]=i||null)}),e.css(n)})},stop:function(){t(this).removeData("ui-resizable-alsoresize")}}),t.ui.plugin.add("resizable","ghost",{start:function(){var e=t(this).resizable("instance"),i=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block",position:"relative",height:i.height,width:i.width,margin:0,left:0,top:0}),e._addClass(e.ghost,"ui-resizable-ghost"),t.uiBackCompat!==!1&&"string"==typeof e.options.ghost&&e.ghost.addClass(this.options.ghost),e.ghost.appendTo(e.helper)},resize:function(){var e=t(this).resizable("instance");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=t(this).resizable("instance");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),t.ui.plugin.add("resizable","grid",{resize:function(){var e,i=t(this).resizable("instance"),s=i.options,n=i.size,o=i.originalSize,a=i.originalPosition,r=i.axis,h="number"==typeof s.grid?[s.grid,s.grid]:s.grid,l=h[0]||1,c=h[1]||1,u=Math.round((n.width-o.width)/l)*l,d=Math.round((n.height-o.height)/c)*c,p=o.width+u,f=o.height+d,g=s.maxWidth&&p>s.maxWidth,m=s.maxHeight&&f>s.maxHeight,_=s.minWidth&&s.minWidth>p,v=s.minHeight&&s.minHeight>f;s.grid=h,_&&(p+=l),v&&(f+=c),g&&(p-=l),m&&(f-=c),/^(se|s|e)$/.test(r)?(i.size.width=p,i.size.height=f):/^(ne)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.top=a.top-d):/^(sw)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.left=a.left-u):((0>=f-c||0>=p-l)&&(e=i._getPaddingPlusBorderDimensions(this)),f-c>0?(i.size.height=f,i.position.top=a.top-d):(f=c-e.height,i.size.height=f,i.position.top=a.top+o.height-f),p-l>0?(i.size.width=p,i.position.left=a.left-u):(p=l-e.width,i.size.width=p,i.position.left=a.left+o.width-p))}}),t.ui.resizable,t.widget("ui.dialog",{version:"1.12.0",options:{appendTo:"body",autoOpen:!0,buttons:[],classes:{"ui-dialog":"ui-corner-all","ui-dialog-titlebar":"ui-corner-all"},closeOnEscape:!0,closeText:"Close",draggable:!0,hide:null,height:"auto",maxHeight:null,maxWidth:null,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",of:window,collision:"fit",using:function(e){var i=t(this).css(e).offset().top;0>i&&t(this).css("top",e.top-i)}},resizable:!0,show:null,title:null,width:300,beforeClose:null,close:null,drag:null,dragStart:null,dragStop:null,focus:null,open:null,resize:null,resizeStart:null,resizeStop:null},sizeRelatedOptions:{buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},resizableRelatedOptions:{maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0},_create:function(){this.originalCss={display:this.element[0].style.display,width:this.element[0].style.width,minHeight:this.element[0].style.minHeight,maxHeight:this.element[0].style.maxHeight,height:this.element[0].style.height},this.originalPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)},this.originalTitle=this.element.attr("title"),null==this.options.title&&null!=this.originalTitle&&(this.options.title=this.originalTitle),this.options.disabled&&(this.options.disabled=!1),this._createWrapper(),this.element.show().removeAttr("title").appendTo(this.uiDialog),this._addClass("ui-dialog-content","ui-widget-content"),this._createTitlebar(),this._createButtonPane(),this.options.draggable&&t.fn.draggable&&this._makeDraggable(),this.options.resizable&&t.fn.resizable&&this._makeResizable(),this._isOpen=!1,this._trackFocus()},_init:function(){this.options.autoOpen&&this.open()},_appendTo:function(){var e=this.options.appendTo;return e&&(e.jquery||e.nodeType)?t(e):this.document.find(e||"body").eq(0)},_destroy:function(){var t,e=this.originalPosition;this._untrackInstance(),this._destroyOverlay(),this.element.removeUniqueId().css(this.originalCss).detach(),this.uiDialog.remove(),this.originalTitle&&this.element.attr("title",this.originalTitle),t=e.parent.children().eq(e.index),t.length&&t[0]!==this.element[0]?t.before(this.element):e.parent.append(this.element)},widget:function(){return this.uiDialog +},disable:t.noop,enable:t.noop,close:function(e){var i=this;this._isOpen&&this._trigger("beforeClose",e)!==!1&&(this._isOpen=!1,this._focusedElement=null,this._destroyOverlay(),this._untrackInstance(),this.opener.filter(":focusable").trigger("focus").length||t.ui.safeBlur(t.ui.safeActiveElement(this.document[0])),this._hide(this.uiDialog,this.options.hide,function(){i._trigger("close",e)}))},isOpen:function(){return this._isOpen},moveToTop:function(){this._moveToTop()},_moveToTop:function(e,i){var s=!1,n=this.uiDialog.siblings(".ui-front:visible").map(function(){return+t(this).css("z-index")}).get(),o=Math.max.apply(null,n);return o>=+this.uiDialog.css("z-index")&&(this.uiDialog.css("z-index",o+1),s=!0),s&&!i&&this._trigger("focus",e),s},open:function(){var e=this;return this._isOpen?(this._moveToTop()&&this._focusTabbable(),void 0):(this._isOpen=!0,this.opener=t(t.ui.safeActiveElement(this.document[0])),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this.overlay&&this.overlay.css("z-index",this.uiDialog.css("z-index")-1),this._show(this.uiDialog,this.options.show,function(){e._focusTabbable(),e._trigger("focus")}),this._makeFocusTarget(),this._trigger("open"),void 0)},_focusTabbable:function(){var t=this._focusedElement;t||(t=this.element.find("[autofocus]")),t.length||(t=this.element.find(":tabbable")),t.length||(t=this.uiDialogButtonPane.find(":tabbable")),t.length||(t=this.uiDialogTitlebarClose.filter(":tabbable")),t.length||(t=this.uiDialog),t.eq(0).trigger("focus")},_keepFocus:function(e){function i(){var e=t.ui.safeActiveElement(this.document[0]),i=this.uiDialog[0]===e||t.contains(this.uiDialog[0],e);i||this._focusTabbable()}e.preventDefault(),i.call(this),this._delay(i)},_createWrapper:function(){this.uiDialog=t("
          ").hide().attr({tabIndex:-1,role:"dialog"}).appendTo(this._appendTo()),this._addClass(this.uiDialog,"ui-dialog","ui-widget ui-widget-content ui-front"),this._on(this.uiDialog,{keydown:function(e){if(this.options.closeOnEscape&&!e.isDefaultPrevented()&&e.keyCode&&e.keyCode===t.ui.keyCode.ESCAPE)return e.preventDefault(),this.close(e),void 0;if(e.keyCode===t.ui.keyCode.TAB&&!e.isDefaultPrevented()){var i=this.uiDialog.find(":tabbable"),s=i.filter(":first"),n=i.filter(":last");e.target!==n[0]&&e.target!==this.uiDialog[0]||e.shiftKey?e.target!==s[0]&&e.target!==this.uiDialog[0]||!e.shiftKey||(this._delay(function(){n.trigger("focus")}),e.preventDefault()):(this._delay(function(){s.trigger("focus")}),e.preventDefault())}},mousedown:function(t){this._moveToTop(t)&&this._focusTabbable()}}),this.element.find("[aria-describedby]").length||this.uiDialog.attr({"aria-describedby":this.element.uniqueId().attr("id")})},_createTitlebar:function(){var e;this.uiDialogTitlebar=t("
          "),this._addClass(this.uiDialogTitlebar,"ui-dialog-titlebar","ui-widget-header ui-helper-clearfix"),this._on(this.uiDialogTitlebar,{mousedown:function(e){t(e.target).closest(".ui-dialog-titlebar-close")||this.uiDialog.trigger("focus")}}),this.uiDialogTitlebarClose=t("").button({label:t("").text(this.options.closeText).html(),icon:"ui-icon-closethick",showLabel:!1}).appendTo(this.uiDialogTitlebar),this._addClass(this.uiDialogTitlebarClose,"ui-dialog-titlebar-close"),this._on(this.uiDialogTitlebarClose,{click:function(t){t.preventDefault(),this.close(t)}}),e=t("").uniqueId().prependTo(this.uiDialogTitlebar),this._addClass(e,"ui-dialog-title"),this._title(e),this.uiDialogTitlebar.prependTo(this.uiDialog),this.uiDialog.attr({"aria-labelledby":e.attr("id")})},_title:function(t){this.options.title?t.text(this.options.title):t.html(" ")},_createButtonPane:function(){this.uiDialogButtonPane=t("
          "),this._addClass(this.uiDialogButtonPane,"ui-dialog-buttonpane","ui-widget-content ui-helper-clearfix"),this.uiButtonSet=t("
          ").appendTo(this.uiDialogButtonPane),this._addClass(this.uiButtonSet,"ui-dialog-buttonset"),this._createButtons()},_createButtons:function(){var e=this,i=this.options.buttons;return this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),t.isEmptyObject(i)||t.isArray(i)&&!i.length?(this._removeClass(this.uiDialog,"ui-dialog-buttons"),void 0):(t.each(i,function(i,s){var n,o;s=t.isFunction(s)?{click:s,text:i}:s,s=t.extend({type:"button"},s),n=s.click,o={icon:s.icon,iconPosition:s.iconPosition,showLabel:s.showLabel},delete s.click,delete s.icon,delete s.iconPosition,delete s.showLabel,t("",s).button(o).appendTo(e.uiButtonSet).on("click",function(){n.apply(e.element[0],arguments)})}),this._addClass(this.uiDialog,"ui-dialog-buttons"),this.uiDialogButtonPane.appendTo(this.uiDialog),void 0)},_makeDraggable:function(){function e(t){return{position:t.position,offset:t.offset}}var i=this,s=this.options;this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(s,n){i._addClass(t(this),"ui-dialog-dragging"),i._blockFrames(),i._trigger("dragStart",s,e(n))},drag:function(t,s){i._trigger("drag",t,e(s))},stop:function(n,o){var a=o.offset.left-i.document.scrollLeft(),r=o.offset.top-i.document.scrollTop();s.position={my:"left top",at:"left"+(a>=0?"+":"")+a+" "+"top"+(r>=0?"+":"")+r,of:i.window},i._removeClass(t(this),"ui-dialog-dragging"),i._unblockFrames(),i._trigger("dragStop",n,e(o))}})},_makeResizable:function(){function e(t){return{originalPosition:t.originalPosition,originalSize:t.originalSize,position:t.position,size:t.size}}var i=this,s=this.options,n=s.resizable,o=this.uiDialog.css("position"),a="string"==typeof n?n:"n,e,s,w,se,sw,ne,nw";this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:s.maxWidth,maxHeight:s.maxHeight,minWidth:s.minWidth,minHeight:this._minHeight(),handles:a,start:function(s,n){i._addClass(t(this),"ui-dialog-resizing"),i._blockFrames(),i._trigger("resizeStart",s,e(n))},resize:function(t,s){i._trigger("resize",t,e(s))},stop:function(n,o){var a=i.uiDialog.offset(),r=a.left-i.document.scrollLeft(),h=a.top-i.document.scrollTop();s.height=i.uiDialog.height(),s.width=i.uiDialog.width(),s.position={my:"left top",at:"left"+(r>=0?"+":"")+r+" "+"top"+(h>=0?"+":"")+h,of:i.window},i._removeClass(t(this),"ui-dialog-resizing"),i._unblockFrames(),i._trigger("resizeStop",n,e(o))}}).css("position",o)},_trackFocus:function(){this._on(this.widget(),{focusin:function(e){this._makeFocusTarget(),this._focusedElement=t(e.target)}})},_makeFocusTarget:function(){this._untrackInstance(),this._trackingInstances().unshift(this)},_untrackInstance:function(){var e=this._trackingInstances(),i=t.inArray(this,e);-1!==i&&e.splice(i,1)},_trackingInstances:function(){var t=this.document.data("ui-dialog-instances");return t||(t=[],this.document.data("ui-dialog-instances",t)),t},_minHeight:function(){var t=this.options;return"auto"===t.height?t.minHeight:Math.min(t.minHeight,t.height)},_position:function(){var t=this.uiDialog.is(":visible");t||this.uiDialog.show(),this.uiDialog.position(this.options.position),t||this.uiDialog.hide()},_setOptions:function(e){var i=this,s=!1,n={};t.each(e,function(t,e){i._setOption(t,e),t in i.sizeRelatedOptions&&(s=!0),t in i.resizableRelatedOptions&&(n[t]=e)}),s&&(this._size(),this._position()),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option",n)},_setOption:function(e,i){var s,n,o=this.uiDialog;"disabled"!==e&&(this._super(e,i),"appendTo"===e&&this.uiDialog.appendTo(this._appendTo()),"buttons"===e&&this._createButtons(),"closeText"===e&&this.uiDialogTitlebarClose.button({label:t("").text(""+this.options.closeText).html()}),"draggable"===e&&(s=o.is(":data(ui-draggable)"),s&&!i&&o.draggable("destroy"),!s&&i&&this._makeDraggable()),"position"===e&&this._position(),"resizable"===e&&(n=o.is(":data(ui-resizable)"),n&&!i&&o.resizable("destroy"),n&&"string"==typeof i&&o.resizable("option","handles",i),n||i===!1||this._makeResizable()),"title"===e&&this._title(this.uiDialogTitlebar.find(".ui-dialog-title")))},_size:function(){var t,e,i,s=this.options;this.element.show().css({width:"auto",minHeight:0,maxHeight:"none",height:0}),s.minWidth>s.width&&(s.width=s.minWidth),t=this.uiDialog.css({height:"auto",width:s.width}).outerHeight(),e=Math.max(0,s.minHeight-t),i="number"==typeof s.maxHeight?Math.max(0,s.maxHeight-t):"none","auto"===s.height?this.element.css({minHeight:e,maxHeight:i,height:"auto"}):this.element.height(Math.max(0,s.height-t)),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())},_blockFrames:function(){this.iframeBlocks=this.document.find("iframe").map(function(){var e=t(this);return t("
          ").css({position:"absolute",width:e.outerWidth(),height:e.outerHeight()}).appendTo(e.parent()).offset(e.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_allowInteraction:function(e){return t(e.target).closest(".ui-dialog").length?!0:!!t(e.target).closest(".ui-datepicker").length},_createOverlay:function(){if(this.options.modal){var e=!0;this._delay(function(){e=!1}),this.document.data("ui-dialog-overlays")||this._on(this.document,{focusin:function(t){e||this._allowInteraction(t)||(t.preventDefault(),this._trackingInstances()[0]._focusTabbable())}}),this.overlay=t("
          ").appendTo(this._appendTo()),this._addClass(this.overlay,null,"ui-widget-overlay ui-front"),this._on(this.overlay,{mousedown:"_keepFocus"}),this.document.data("ui-dialog-overlays",(this.document.data("ui-dialog-overlays")||0)+1)}},_destroyOverlay:function(){if(this.options.modal&&this.overlay){var t=this.document.data("ui-dialog-overlays")-1;t?this.document.data("ui-dialog-overlays",t):(this._off(this.document,"focusin"),this.document.removeData("ui-dialog-overlays")),this.overlay.remove(),this.overlay=null}}}),t.uiBackCompat!==!1&&t.widget("ui.dialog",t.ui.dialog,{options:{dialogClass:""},_createWrapper:function(){this._super(),this.uiDialog.addClass(this.options.dialogClass)},_setOption:function(t,e){"dialogClass"===t&&this.uiDialog.removeClass(this.options.dialogClass).addClass(e),this._superApply(arguments)}}),t.ui.dialog,t.widget("ui.droppable",{version:"1.12.0",widgetEventPrefix:"drop",options:{accept:"*",addClasses:!0,greedy:!1,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var e,i=this.options,s=i.accept;this.isover=!1,this.isout=!0,this.accept=t.isFunction(s)?s:function(t){return t.is(s)},this.proportions=function(){return arguments.length?(e=arguments[0],void 0):e?e:e={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight}},this._addToManager(i.scope),i.addClasses&&this._addClass("ui-droppable")},_addToManager:function(e){t.ui.ddmanager.droppables[e]=t.ui.ddmanager.droppables[e]||[],t.ui.ddmanager.droppables[e].push(this)},_splice:function(t){for(var e=0;t.length>e;e++)t[e]===this&&t.splice(e,1)},_destroy:function(){var e=t.ui.ddmanager.droppables[this.options.scope];this._splice(e)},_setOption:function(e,i){if("accept"===e)this.accept=t.isFunction(i)?i:function(t){return t.is(i)};else if("scope"===e){var s=t.ui.ddmanager.droppables[this.options.scope];this._splice(s),this._addToManager(i)}this._super(e,i)},_activate:function(e){var i=t.ui.ddmanager.current;this._addActiveClass(),i&&this._trigger("activate",e,this.ui(i))},_deactivate:function(e){var i=t.ui.ddmanager.current;this._removeActiveClass(),i&&this._trigger("deactivate",e,this.ui(i))},_over:function(e){var i=t.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this._addHoverClass(),this._trigger("over",e,this.ui(i)))},_out:function(e){var i=t.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this._removeHoverClass(),this._trigger("out",e,this.ui(i)))},_drop:function(e,i){var s=i||t.ui.ddmanager.current,n=!1;return s&&(s.currentItem||s.element)[0]!==this.element[0]?(this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function(){var i=t(this).droppable("instance");return i.options.greedy&&!i.options.disabled&&i.options.scope===s.options.scope&&i.accept.call(i.element[0],s.currentItem||s.element)&&v(s,t.extend(i,{offset:i.element.offset()}),i.options.tolerance,e)?(n=!0,!1):void 0}),n?!1:this.accept.call(this.element[0],s.currentItem||s.element)?(this._removeActiveClass(),this._removeHoverClass(),this._trigger("drop",e,this.ui(s)),this.element):!1):!1},ui:function(t){return{draggable:t.currentItem||t.element,helper:t.helper,position:t.position,offset:t.positionAbs}},_addHoverClass:function(){this._addClass("ui-droppable-hover")},_removeHoverClass:function(){this._removeClass("ui-droppable-hover")},_addActiveClass:function(){this._addClass("ui-droppable-active")},_removeActiveClass:function(){this._removeClass("ui-droppable-active")}});var v=t.ui.intersect=function(){function t(t,e,i){return t>=e&&e+i>t}return function(e,i,s,n){if(!i.offset)return!1;var o=(e.positionAbs||e.position.absolute).left+e.margins.left,a=(e.positionAbs||e.position.absolute).top+e.margins.top,r=o+e.helperProportions.width,h=a+e.helperProportions.height,l=i.offset.left,c=i.offset.top,u=l+i.proportions().width,d=c+i.proportions().height;switch(s){case"fit":return o>=l&&u>=r&&a>=c&&d>=h;case"intersect":return o+e.helperProportions.width/2>l&&u>r-e.helperProportions.width/2&&a+e.helperProportions.height/2>c&&d>h-e.helperProportions.height/2;case"pointer":return t(n.pageY,c,i.proportions().height)&&t(n.pageX,l,i.proportions().width);case"touch":return(a>=c&&d>=a||h>=c&&d>=h||c>a&&h>d)&&(o>=l&&u>=o||r>=l&&u>=r||l>o&&r>u);default:return!1}}}();t.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(e,i){var s,n,o=t.ui.ddmanager.droppables[e.options.scope]||[],a=i?i.type:null,r=(e.currentItem||e.element).find(":data(ui-droppable)").addBack();t:for(s=0;o.length>s;s++)if(!(o[s].options.disabled||e&&!o[s].accept.call(o[s].element[0],e.currentItem||e.element))){for(n=0;r.length>n;n++)if(r[n]===o[s].element[0]){o[s].proportions().height=0;continue t}o[s].visible="none"!==o[s].element.css("display"),o[s].visible&&("mousedown"===a&&o[s]._activate.call(o[s],i),o[s].offset=o[s].element.offset(),o[s].proportions({width:o[s].element[0].offsetWidth,height:o[s].element[0].offsetHeight}))}},drop:function(e,i){var s=!1;return t.each((t.ui.ddmanager.droppables[e.options.scope]||[]).slice(),function(){this.options&&(!this.options.disabled&&this.visible&&v(e,this,this.options.tolerance,i)&&(s=this._drop.call(this,i)||s),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],e.currentItem||e.element)&&(this.isout=!0,this.isover=!1,this._deactivate.call(this,i)))}),s},dragStart:function(e,i){e.element.parentsUntil("body").on("scroll.droppable",function(){e.options.refreshPositions||t.ui.ddmanager.prepareOffsets(e,i)})},drag:function(e,i){e.options.refreshPositions&&t.ui.ddmanager.prepareOffsets(e,i),t.each(t.ui.ddmanager.droppables[e.options.scope]||[],function(){if(!this.options.disabled&&!this.greedyChild&&this.visible){var s,n,o,a=v(e,this,this.options.tolerance,i),r=!a&&this.isover?"isout":a&&!this.isover?"isover":null;r&&(this.options.greedy&&(n=this.options.scope,o=this.element.parents(":data(ui-droppable)").filter(function(){return t(this).droppable("instance").options.scope===n}),o.length&&(s=t(o[0]).droppable("instance"),s.greedyChild="isover"===r)),s&&"isover"===r&&(s.isover=!1,s.isout=!0,s._out.call(s,i)),this[r]=!0,this["isout"===r?"isover":"isout"]=!1,this["isover"===r?"_over":"_out"].call(this,i),s&&"isout"===r&&(s.isout=!1,s.isover=!0,s._over.call(s,i)))}})},dragStop:function(e,i){e.element.parentsUntil("body").off("scroll.droppable"),e.options.refreshPositions||t.ui.ddmanager.prepareOffsets(e,i)}},t.uiBackCompat!==!1&&t.widget("ui.droppable",t.ui.droppable,{options:{hoverClass:!1,activeClass:!1},_addActiveClass:function(){this._super(),this.options.activeClass&&this.element.addClass(this.options.activeClass)},_removeActiveClass:function(){this._super(),this.options.activeClass&&this.element.removeClass(this.options.activeClass)},_addHoverClass:function(){this._super(),this.options.hoverClass&&this.element.addClass(this.options.hoverClass)},_removeHoverClass:function(){this._super(),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass)}}),t.ui.droppable,t.widget("ui.progressbar",{version:"1.12.0",options:{classes:{"ui-progressbar":"ui-corner-all","ui-progressbar-value":"ui-corner-left","ui-progressbar-complete":"ui-corner-right"},max:100,value:0,change:null,complete:null},min:0,_create:function(){this.oldValue=this.options.value=this._constrainedValue(),this.element.attr({role:"progressbar","aria-valuemin":this.min}),this._addClass("ui-progressbar","ui-widget ui-widget-content"),this.valueDiv=t("
          ").appendTo(this.element),this._addClass(this.valueDiv,"ui-progressbar-value","ui-widget-header"),this._refreshValue()},_destroy:function(){this.element.removeAttr("role aria-valuemin aria-valuemax aria-valuenow"),this.valueDiv.remove()},value:function(t){return void 0===t?this.options.value:(this.options.value=this._constrainedValue(t),this._refreshValue(),void 0)},_constrainedValue:function(t){return void 0===t&&(t=this.options.value),this.indeterminate=t===!1,"number"!=typeof t&&(t=0),this.indeterminate?!1:Math.min(this.options.max,Math.max(this.min,t))},_setOptions:function(t){var e=t.value;delete t.value,this._super(t),this.options.value=this._constrainedValue(e),this._refreshValue()},_setOption:function(t,e){"max"===t&&(e=Math.max(this.min,e)),this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t),this._toggleClass(null,"ui-state-disabled",!!t)},_percentage:function(){return this.indeterminate?100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var e=this.options.value,i=this._percentage();this.valueDiv.toggle(this.indeterminate||e>this.min).width(i.toFixed(0)+"%"),this._toggleClass(this.valueDiv,"ui-progressbar-complete",null,e===this.options.max)._toggleClass("ui-progressbar-indeterminate",null,this.indeterminate),this.indeterminate?(this.element.removeAttr("aria-valuenow"),this.overlayDiv||(this.overlayDiv=t("
          ").appendTo(this.valueDiv),this._addClass(this.overlayDiv,"ui-progressbar-overlay"))):(this.element.attr({"aria-valuemax":this.options.max,"aria-valuenow":e}),this.overlayDiv&&(this.overlayDiv.remove(),this.overlayDiv=null)),this.oldValue!==e&&(this.oldValue=e,this._trigger("change")),e===this.options.max&&this._trigger("complete")}}),t.widget("ui.selectable",t.ui.mouse,{version:"1.12.0",options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch",selected:null,selecting:null,start:null,stop:null,unselected:null,unselecting:null},_create:function(){var e=this;this._addClass("ui-selectable"),this.dragged=!1,this.refresh=function(){e.elementPos=t(e.element[0]).offset(),e.selectees=t(e.options.filter,e.element[0]),e._addClass(e.selectees,"ui-selectee"),e.selectees.each(function(){var i=t(this),s=i.offset(),n={left:s.left-e.elementPos.left,top:s.top-e.elementPos.top};t.data(this,"selectable-item",{element:this,$element:i,left:n.left,top:n.top,right:n.left+i.outerWidth(),bottom:n.top+i.outerHeight(),startselected:!1,selected:i.hasClass("ui-selected"),selecting:i.hasClass("ui-selecting"),unselecting:i.hasClass("ui-unselecting")})})},this.refresh(),this._mouseInit(),this.helper=t("
          "),this._addClass(this.helper,"ui-selectable-helper")},_destroy:function(){this.selectees.removeData("selectable-item"),this._mouseDestroy()},_mouseStart:function(e){var i=this,s=this.options;this.opos=[e.pageX,e.pageY],this.elementPos=t(this.element[0]).offset(),this.options.disabled||(this.selectees=t(s.filter,this.element[0]),this._trigger("start",e),t(s.appendTo).append(this.helper),this.helper.css({left:e.pageX,top:e.pageY,width:0,height:0}),s.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var s=t.data(this,"selectable-item");s.startselected=!0,e.metaKey||e.ctrlKey||(i._removeClass(s.$element,"ui-selected"),s.selected=!1,i._addClass(s.$element,"ui-unselecting"),s.unselecting=!0,i._trigger("unselecting",e,{unselecting:s.element}))}),t(e.target).parents().addBack().each(function(){var s,n=t.data(this,"selectable-item");return n?(s=!e.metaKey&&!e.ctrlKey||!n.$element.hasClass("ui-selected"),i._removeClass(n.$element,s?"ui-unselecting":"ui-selected")._addClass(n.$element,s?"ui-selecting":"ui-unselecting"),n.unselecting=!s,n.selecting=s,n.selected=s,s?i._trigger("selecting",e,{selecting:n.element}):i._trigger("unselecting",e,{unselecting:n.element}),!1):void 0}))},_mouseDrag:function(e){if(this.dragged=!0,!this.options.disabled){var i,s=this,n=this.options,o=this.opos[0],a=this.opos[1],r=e.pageX,h=e.pageY;return o>r&&(i=r,r=o,o=i),a>h&&(i=h,h=a,a=i),this.helper.css({left:o,top:a,width:r-o,height:h-a}),this.selectees.each(function(){var i=t.data(this,"selectable-item"),l=!1,c={};i&&i.element!==s.element[0]&&(c.left=i.left+s.elementPos.left,c.right=i.right+s.elementPos.left,c.top=i.top+s.elementPos.top,c.bottom=i.bottom+s.elementPos.top,"touch"===n.tolerance?l=!(c.left>r||o>c.right||c.top>h||a>c.bottom):"fit"===n.tolerance&&(l=c.left>o&&r>c.right&&c.top>a&&h>c.bottom),l?(i.selected&&(s._removeClass(i.$element,"ui-selected"),i.selected=!1),i.unselecting&&(s._removeClass(i.$element,"ui-unselecting"),i.unselecting=!1),i.selecting||(s._addClass(i.$element,"ui-selecting"),i.selecting=!0,s._trigger("selecting",e,{selecting:i.element}))):(i.selecting&&((e.metaKey||e.ctrlKey)&&i.startselected?(s._removeClass(i.$element,"ui-selecting"),i.selecting=!1,s._addClass(i.$element,"ui-selected"),i.selected=!0):(s._removeClass(i.$element,"ui-selecting"),i.selecting=!1,i.startselected&&(s._addClass(i.$element,"ui-unselecting"),i.unselecting=!0),s._trigger("unselecting",e,{unselecting:i.element}))),i.selected&&(e.metaKey||e.ctrlKey||i.startselected||(s._removeClass(i.$element,"ui-selected"),i.selected=!1,s._addClass(i.$element,"ui-unselecting"),i.unselecting=!0,s._trigger("unselecting",e,{unselecting:i.element})))))}),!1}},_mouseStop:function(e){var i=this;return this.dragged=!1,t(".ui-unselecting",this.element[0]).each(function(){var s=t.data(this,"selectable-item");i._removeClass(s.$element,"ui-unselecting"),s.unselecting=!1,s.startselected=!1,i._trigger("unselected",e,{unselected:s.element})}),t(".ui-selecting",this.element[0]).each(function(){var s=t.data(this,"selectable-item");i._removeClass(s.$element,"ui-selecting")._addClass(s.$element,"ui-selected"),s.selecting=!1,s.selected=!0,s.startselected=!0,i._trigger("selected",e,{selected:s.element})}),this._trigger("stop",e),this.helper.remove(),!1}}),t.widget("ui.selectmenu",[t.ui.formResetMixin,{version:"1.12.0",defaultElement:"",widgetEventPrefix:"spin",options:{classes:{"ui-spinner":"ui-corner-all","ui-spinner-down":"ui-corner-br","ui-spinner-up":"ui-corner-tr"},culture:null,icons:{down:"ui-icon-triangle-1-s",up:"ui-icon-triangle-1-n"},incremental:!0,max:null,min:null,numberFormat:null,page:10,step:1,change:null,spin:null,start:null,stop:null},_create:function(){this._setOption("max",this.options.max),this._setOption("min",this.options.min),this._setOption("step",this.options.step),""!==this.value()&&this._value(this.element.val(),!0),this._draw(),this._on(this._events),this._refresh(),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_getCreateOptions:function(){var e=this._super(),i=this.element;return t.each(["min","max","step"],function(t,s){var n=i.attr(s);null!=n&&n.length&&(e[s]=n)}),e},_events:{keydown:function(t){this._start(t)&&this._keydown(t)&&t.preventDefault()},keyup:"_stop",focus:function(){this.previous=this.element.val()},blur:function(t){return this.cancelBlur?(delete this.cancelBlur,void 0):(this._stop(),this._refresh(),this.previous!==this.element.val()&&this._trigger("change",t),void 0)},mousewheel:function(t,e){if(e){if(!this.spinning&&!this._start(t))return!1;this._spin((e>0?1:-1)*this.options.step,t),clearTimeout(this.mousewheelTimer),this.mousewheelTimer=this._delay(function(){this.spinning&&this._stop(t)},100),t.preventDefault()}},"mousedown .ui-spinner-button":function(e){function i(){var e=this.element[0]===t.ui.safeActiveElement(this.document[0]);e||(this.element.trigger("focus"),this.previous=s,this._delay(function(){this.previous=s}))}var s;s=this.element[0]===t.ui.safeActiveElement(this.document[0])?this.previous:this.element.val(),e.preventDefault(),i.call(this),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,i.call(this)}),this._start(e)!==!1&&this._repeat(null,t(e.currentTarget).hasClass("ui-spinner-up")?1:-1,e)},"mouseup .ui-spinner-button":"_stop","mouseenter .ui-spinner-button":function(e){return t(e.currentTarget).hasClass("ui-state-active")?this._start(e)===!1?!1:(this._repeat(null,t(e.currentTarget).hasClass("ui-spinner-up")?1:-1,e),void 0):void 0},"mouseleave .ui-spinner-button":"_stop"},_enhance:function(){this.uiSpinner=this.element.attr("autocomplete","off").wrap("").parent().append("")},_draw:function(){this._enhance(),this._addClass(this.uiSpinner,"ui-spinner","ui-widget ui-widget-content"),this._addClass("ui-spinner-input"),this.element.attr("role","spinbutton"),this.buttons=this.uiSpinner.children("a").attr("tabIndex",-1).attr("aria-hidden",!0).button({classes:{"ui-button":""}}),this._removeClass(this.buttons,"ui-corner-all"),this._addClass(this.buttons.first(),"ui-spinner-button ui-spinner-up"),this._addClass(this.buttons.last(),"ui-spinner-button ui-spinner-down"),this.buttons.first().button({icon:this.options.icons.up,showLabel:!1}),this.buttons.last().button({icon:this.options.icons.down,showLabel:!1}),this.buttons.height()>Math.ceil(.5*this.uiSpinner.height())&&this.uiSpinner.height()>0&&this.uiSpinner.height(this.uiSpinner.height())},_keydown:function(e){var i=this.options,s=t.ui.keyCode;switch(e.keyCode){case s.UP:return this._repeat(null,1,e),!0;case s.DOWN:return this._repeat(null,-1,e),!0;case s.PAGE_UP:return this._repeat(null,i.page,e),!0;case s.PAGE_DOWN:return this._repeat(null,-i.page,e),!0}return!1},_start:function(t){return this.spinning||this._trigger("start",t)!==!1?(this.counter||(this.counter=1),this.spinning=!0,!0):!1},_repeat:function(t,e,i){t=t||500,clearTimeout(this.timer),this.timer=this._delay(function(){this._repeat(40,e,i)},t),this._spin(e*this.options.step,i)},_spin:function(t,e){var i=this.value()||0;this.counter||(this.counter=1),i=this._adjustValue(i+t*this._increment(this.counter)),this.spinning&&this._trigger("spin",e,{value:i})===!1||(this._value(i),this.counter++)},_increment:function(e){var i=this.options.incremental;return i?t.isFunction(i)?i(e):Math.floor(e*e*e/5e4-e*e/500+17*e/200+1):1},_precision:function(){var t=this._precisionOf(this.options.step);return null!==this.options.min&&(t=Math.max(t,this._precisionOf(this.options.min))),t},_precisionOf:function(t){var e=""+t,i=e.indexOf(".");return-1===i?0:e.length-i-1},_adjustValue:function(t){var e,i,s=this.options;return e=null!==s.min?s.min:0,i=t-e,i=Math.round(i/s.step)*s.step,t=e+i,t=parseFloat(t.toFixed(this._precision())),null!==s.max&&t>s.max?s.max:null!==s.min&&s.min>t?s.min:t},_stop:function(t){this.spinning&&(clearTimeout(this.timer),clearTimeout(this.mousewheelTimer),this.counter=0,this.spinning=!1,this._trigger("stop",t))},_setOption:function(t,e){var i,s,n;return"culture"===t||"numberFormat"===t?(i=this._parse(this.element.val()),this.options[t]=e,this.element.val(this._format(i)),void 0):(("max"===t||"min"===t||"step"===t)&&"string"==typeof e&&(e=this._parse(e)),"icons"===t&&(s=this.buttons.first().find(".ui-icon"),this._removeClass(s,null,this.options.icons.up),this._addClass(s,null,e.up),n=this.buttons.last().find(".ui-icon"),this._removeClass(n,null,this.options.icons.down),this._addClass(n,null,e.down)),this._super(t,e),void 0)},_setOptionDisabled:function(t){this._super(t),this._toggleClass(this.uiSpinner,null,"ui-state-disabled",!!t),this.element.prop("disabled",!!t),this.buttons.button(t?"disable":"enable")},_setOptions:r(function(t){this._super(t)}),_parse:function(t){return"string"==typeof t&&""!==t&&(t=window.Globalize&&this.options.numberFormat?Globalize.parseFloat(t,10,this.options.culture):+t),""===t||isNaN(t)?null:t},_format:function(t){return""===t?"":window.Globalize&&this.options.numberFormat?Globalize.format(t,this.options.numberFormat,this.options.culture):t},_refresh:function(){this.element.attr({"aria-valuemin":this.options.min,"aria-valuemax":this.options.max,"aria-valuenow":this._parse(this.element.val())})},isValid:function(){var t=this.value();return null===t?!1:t===this._adjustValue(t)},_value:function(t,e){var i;""!==t&&(i=this._parse(t),null!==i&&(e||(i=this._adjustValue(i)),t=this._format(i))),this.element.val(t),this._refresh()},_destroy:function(){this.element.prop("disabled",!1).removeAttr("autocomplete role aria-valuemin aria-valuemax aria-valuenow"),this.uiSpinner.replaceWith(this.element)},stepUp:r(function(t){this._stepUp(t)}),_stepUp:function(t){this._start()&&(this._spin((t||1)*this.options.step),this._stop())},stepDown:r(function(t){this._stepDown(t)}),_stepDown:function(t){this._start()&&(this._spin((t||1)*-this.options.step),this._stop())},pageUp:r(function(t){this._stepUp((t||1)*this.options.page)}),pageDown:r(function(t){this._stepDown((t||1)*this.options.page)}),value:function(t){return arguments.length?(r(this._value).call(this,t),void 0):this._parse(this.element.val())},widget:function(){return this.uiSpinner}}),t.uiBackCompat!==!1&&t.widget("ui.spinner",t.ui.spinner,{_enhance:function(){this.uiSpinner=this.element.attr("autocomplete","off").wrap(this._uiSpinnerHtml()).parent().append(this._buttonHtml())},_uiSpinnerHtml:function(){return""},_buttonHtml:function(){return""}}),t.ui.spinner,t.widget("ui.tabs",{version:"1.12.0",delay:300,options:{active:null,classes:{"ui-tabs":"ui-corner-all","ui-tabs-nav":"ui-corner-all","ui-tabs-panel":"ui-corner-bottom","ui-tabs-tab":"ui-corner-top"},collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_isLocal:function(){var t=/#.*$/;return function(e){var i,s;i=e.href.replace(t,""),s=location.href.replace(t,"");try{i=decodeURIComponent(i)}catch(n){}try{s=decodeURIComponent(s)}catch(n){}return e.hash.length>1&&i===s}}(),_create:function(){var e=this,i=this.options;this.running=!1,this._addClass("ui-tabs","ui-widget ui-widget-content"),this._toggleClass("ui-tabs-collapsible",null,i.collapsible),this._processTabs(),i.active=this._initialActive(),t.isArray(i.disabled)&&(i.disabled=t.unique(i.disabled.concat(t.map(this.tabs.filter(".ui-state-disabled"),function(t){return e.tabs.index(t)}))).sort()),this.active=this.options.active!==!1&&this.anchors.length?this._findActive(i.active):t(),this._refresh(),this.active.length&&this.load(i.active)},_initialActive:function(){var e=this.options.active,i=this.options.collapsible,s=location.hash.substring(1);return null===e&&(s&&this.tabs.each(function(i,n){return t(n).attr("aria-controls")===s?(e=i,!1):void 0}),null===e&&(e=this.tabs.index(this.tabs.filter(".ui-tabs-active"))),(null===e||-1===e)&&(e=this.tabs.length?0:!1)),e!==!1&&(e=this.tabs.index(this.tabs.eq(e)),-1===e&&(e=i?!1:0)),!i&&e===!1&&this.anchors.length&&(e=0),e},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):t()}},_tabKeydown:function(e){var i=t(t.ui.safeActiveElement(this.document[0])).closest("li"),s=this.tabs.index(i),n=!0;if(!this._handlePageNav(e)){switch(e.keyCode){case t.ui.keyCode.RIGHT:case t.ui.keyCode.DOWN:s++;break;case t.ui.keyCode.UP:case t.ui.keyCode.LEFT:n=!1,s--;break;case t.ui.keyCode.END:s=this.anchors.length-1;break;case t.ui.keyCode.HOME:s=0;break;case t.ui.keyCode.SPACE:return e.preventDefault(),clearTimeout(this.activating),this._activate(s),void 0;case t.ui.keyCode.ENTER:return e.preventDefault(),clearTimeout(this.activating),this._activate(s===this.options.active?!1:s),void 0;default:return}e.preventDefault(),clearTimeout(this.activating),s=this._focusNextTab(s,n),e.ctrlKey||e.metaKey||(i.attr("aria-selected","false"),this.tabs.eq(s).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",s)},this.delay))}},_panelKeydown:function(e){this._handlePageNav(e)||e.ctrlKey&&e.keyCode===t.ui.keyCode.UP&&(e.preventDefault(),this.active.trigger("focus"))},_handlePageNav:function(e){return e.altKey&&e.keyCode===t.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):e.altKey&&e.keyCode===t.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):void 0},_findNextTab:function(e,i){function s(){return e>n&&(e=0),0>e&&(e=n),e}for(var n=this.tabs.length-1;-1!==t.inArray(s(),this.options.disabled);)e=i?e+1:e-1;return e},_focusNextTab:function(t,e){return t=this._findNextTab(t,e),this.tabs.eq(t).trigger("focus"),t},_setOption:function(t,e){return"active"===t?(this._activate(e),void 0):(this._super(t,e),"collapsible"===t&&(this._toggleClass("ui-tabs-collapsible",null,e),e||this.options.active!==!1||this._activate(0)),"event"===t&&this._setupEvents(e),"heightStyle"===t&&this._setupHeightStyle(e),void 0)},_sanitizeSelector:function(t){return t?t.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var e=this.options,i=this.tablist.children(":has(a[href])");e.disabled=t.map(i.filter(".ui-state-disabled"),function(t){return i.index(t)}),this._processTabs(),e.active!==!1&&this.anchors.length?this.active.length&&!t.contains(this.tablist[0],this.active[0])?this.tabs.length===e.disabled.length?(e.active=!1,this.active=t()):this._activate(this._findNextTab(Math.max(0,e.active-1),!1)):e.active=this.tabs.index(this.active):(e.active=!1,this.active=t()),this._refresh()},_refresh:function(){this._setOptionDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-hidden":"true"}),this.active.length?(this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}),this._addClass(this.active,"ui-tabs-active","ui-state-active"),this._getPanelForTab(this.active).show().attr({"aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var e=this,i=this.tabs,s=this.anchors,n=this.panels;this.tablist=this._getList().attr("role","tablist"),this._addClass(this.tablist,"ui-tabs-nav","ui-helper-reset ui-helper-clearfix ui-widget-header"),this.tablist.on("mousedown"+this.eventNamespace,"> li",function(e){t(this).is(".ui-state-disabled")&&e.preventDefault()}).on("focus"+this.eventNamespace,".ui-tabs-anchor",function(){t(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this.tabs=this.tablist.find("> li:has(a[href])").attr({role:"tab",tabIndex:-1}),this._addClass(this.tabs,"ui-tabs-tab","ui-state-default"),this.anchors=this.tabs.map(function(){return t("a",this)[0]}).attr({role:"presentation",tabIndex:-1}),this._addClass(this.anchors,"ui-tabs-anchor"),this.panels=t(),this.anchors.each(function(i,s){var n,o,a,r=t(s).uniqueId().attr("id"),h=t(s).closest("li"),l=h.attr("aria-controls");e._isLocal(s)?(n=s.hash,a=n.substring(1),o=e.element.find(e._sanitizeSelector(n))):(a=h.attr("aria-controls")||t({}).uniqueId()[0].id,n="#"+a,o=e.element.find(n),o.length||(o=e._createPanel(a),o.insertAfter(e.panels[i-1]||e.tablist)),o.attr("aria-live","polite")),o.length&&(e.panels=e.panels.add(o)),l&&h.data("ui-tabs-aria-controls",l),h.attr({"aria-controls":a,"aria-labelledby":r}),o.attr("aria-labelledby",r)}),this.panels.attr("role","tabpanel"),this._addClass(this.panels,"ui-tabs-panel","ui-widget-content"),i&&(this._off(i.not(this.tabs)),this._off(s.not(this.anchors)),this._off(n.not(this.panels)))},_getList:function(){return this.tablist||this.element.find("ol, ul").eq(0)},_createPanel:function(e){return t("
          ").attr("id",e).data("ui-tabs-destroy",!0)},_setOptionDisabled:function(e){var i,s,n;for(t.isArray(e)&&(e.length?e.length===this.anchors.length&&(e=!0):e=!1),n=0;s=this.tabs[n];n++)i=t(s),e===!0||-1!==t.inArray(n,e)?(i.attr("aria-disabled","true"),this._addClass(i,null,"ui-state-disabled")):(i.removeAttr("aria-disabled"),this._removeClass(i,null,"ui-state-disabled"));this.options.disabled=e,this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,e===!0)},_setupEvents:function(e){var i={};e&&t.each(e.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(!0,this.anchors,{click:function(t){t.preventDefault()}}),this._on(this.anchors,i),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(e){var i,s=this.element.parent();"fill"===e?(i=s.height(),i-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var e=t(this),s=e.css("position");"absolute"!==s&&"fixed"!==s&&(i-=e.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){i-=t(this).outerHeight(!0)}),this.panels.each(function(){t(this).height(Math.max(0,i-t(this).innerHeight()+t(this).height()))}).css("overflow","auto")):"auto"===e&&(i=0,this.panels.each(function(){i=Math.max(i,t(this).height("").height())}).height(i))},_eventHandler:function(e){var i=this.options,s=this.active,n=t(e.currentTarget),o=n.closest("li"),a=o[0]===s[0],r=a&&i.collapsible,h=r?t():this._getPanelForTab(o),l=s.length?this._getPanelForTab(s):t(),c={oldTab:s,oldPanel:l,newTab:r?t():o,newPanel:h};e.preventDefault(),o.hasClass("ui-state-disabled")||o.hasClass("ui-tabs-loading")||this.running||a&&!i.collapsible||this._trigger("beforeActivate",e,c)===!1||(i.active=r?!1:this.tabs.index(o),this.active=a?t():o,this.xhr&&this.xhr.abort(),l.length||h.length||t.error("jQuery UI Tabs: Mismatching fragment identifier."),h.length&&this.load(this.tabs.index(o),e),this._toggle(e,c))},_toggle:function(e,i){function s(){o.running=!1,o._trigger("activate",e,i)}function n(){o._addClass(i.newTab.closest("li"),"ui-tabs-active","ui-state-active"),a.length&&o.options.show?o._show(a,o.options.show,s):(a.show(),s())}var o=this,a=i.newPanel,r=i.oldPanel;this.running=!0,r.length&&this.options.hide?this._hide(r,this.options.hide,function(){o._removeClass(i.oldTab.closest("li"),"ui-tabs-active","ui-state-active"),n()}):(this._removeClass(i.oldTab.closest("li"),"ui-tabs-active","ui-state-active"),r.hide(),n()),r.attr("aria-hidden","true"),i.oldTab.attr({"aria-selected":"false","aria-expanded":"false"}),a.length&&r.length?i.oldTab.attr("tabIndex",-1):a.length&&this.tabs.filter(function(){return 0===t(this).attr("tabIndex")}).attr("tabIndex",-1),a.attr("aria-hidden","false"),i.newTab.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_activate:function(e){var i,s=this._findActive(e);s[0]!==this.active[0]&&(s.length||(s=this.active),i=s.find(".ui-tabs-anchor")[0],this._eventHandler({target:i,currentTarget:i,preventDefault:t.noop}))},_findActive:function(e){return e===!1?t():this.tabs.eq(e)},_getIndex:function(e){return"string"==typeof e&&(e=this.anchors.index(this.anchors.filter("[href$='"+t.ui.escapeSelector(e)+"']"))),e},_destroy:function(){this.xhr&&this.xhr.abort(),this.tablist.removeAttr("role").off(this.eventNamespace),this.anchors.removeAttr("role tabIndex").removeUniqueId(),this.tabs.add(this.panels).each(function(){t.data(this,"ui-tabs-destroy")?t(this).remove():t(this).removeAttr("role tabIndex aria-live aria-busy aria-selected aria-labelledby aria-hidden aria-expanded")}),this.tabs.each(function(){var e=t(this),i=e.data("ui-tabs-aria-controls");i?e.attr("aria-controls",i).removeData("ui-tabs-aria-controls"):e.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(e){var i=this.options.disabled;i!==!1&&(void 0===e?i=!1:(e=this._getIndex(e),i=t.isArray(i)?t.map(i,function(t){return t!==e?t:null}):t.map(this.tabs,function(t,i){return i!==e?i:null})),this._setOptionDisabled(i))},disable:function(e){var i=this.options.disabled;if(i!==!0){if(void 0===e)i=!0;else{if(e=this._getIndex(e),-1!==t.inArray(e,i))return;i=t.isArray(i)?t.merge([e],i).sort():[e]}this._setOptionDisabled(i)}},load:function(e,i){e=this._getIndex(e);var s=this,n=this.tabs.eq(e),o=n.find(".ui-tabs-anchor"),a=this._getPanelForTab(n),r={tab:n,panel:a},h=function(t,e){"abort"===e&&s.panels.stop(!1,!0),s._removeClass(n,"ui-tabs-loading"),a.removeAttr("aria-busy"),t===s.xhr&&delete s.xhr};this._isLocal(o[0])||(this.xhr=t.ajax(this._ajaxSettings(o,i,r)),this.xhr&&"canceled"!==this.xhr.statusText&&(this._addClass(n,"ui-tabs-loading"),a.attr("aria-busy","true"),this.xhr.done(function(t,e,n){setTimeout(function(){a.html(t),s._trigger("load",i,r),h(n,e)},1)}).fail(function(t,e){setTimeout(function(){h(t,e)},1)})))},_ajaxSettings:function(e,i,s){var n=this;return{url:e.attr("href"),beforeSend:function(e,o){return n._trigger("beforeLoad",i,t.extend({jqXHR:e,ajaxSettings:o},s))}}},_getPanelForTab:function(e){var i=t(e).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+i))}}),t.uiBackCompat!==!1&&t.widget("ui.tabs",t.ui.tabs,{_processTabs:function(){this._superApply(arguments),this._addClass(this.tabs,"ui-tab")}}),t.ui.tabs,t.widget("ui.tooltip",{version:"1.12.0",options:{classes:{"ui-tooltip":"ui-corner-all ui-widget-shadow"},content:function(){var e=t(this).attr("title")||"";return t("").text(e).html()},hide:!0,items:"[title]:not([disabled])",position:{my:"left top+15",at:"left bottom",collision:"flipfit flip"},show:!0,track:!1,close:null,open:null},_addDescribedBy:function(e,i){var s=(e.attr("aria-describedby")||"").split(/\s+/);s.push(i),e.data("ui-tooltip-id",i).attr("aria-describedby",t.trim(s.join(" ")))},_removeDescribedBy:function(e){var i=e.data("ui-tooltip-id"),s=(e.attr("aria-describedby")||"").split(/\s+/),n=t.inArray(i,s);-1!==n&&s.splice(n,1),e.removeData("ui-tooltip-id"),s=t.trim(s.join(" ")),s?e.attr("aria-describedby",s):e.removeAttr("aria-describedby")},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.liveRegion=t("
          ").attr({role:"log","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this.disabledTitles=t([])},_setOption:function(e,i){var s=this;this._super(e,i),"content"===e&&t.each(this.tooltips,function(t,e){s._updateContent(e.element)})},_setOptionDisabled:function(t){this[t?"_disable":"_enable"]()},_disable:function(){var e=this;t.each(this.tooltips,function(i,s){var n=t.Event("blur");n.target=n.currentTarget=s.element[0],e.close(n,!0)}),this.disabledTitles=this.disabledTitles.add(this.element.find(this.options.items).addBack().filter(function(){var e=t(this);return e.is("[title]")?e.data("ui-tooltip-title",e.attr("title")).removeAttr("title"):void 0}))},_enable:function(){this.disabledTitles.each(function(){var e=t(this);e.data("ui-tooltip-title")&&e.attr("title",e.data("ui-tooltip-title"))}),this.disabledTitles=t([])},open:function(e){var i=this,s=t(e?e.target:this.element).closest(this.options.items);s.length&&!s.data("ui-tooltip-id")&&(s.attr("title")&&s.data("ui-tooltip-title",s.attr("title")),s.data("ui-tooltip-open",!0),e&&"mouseover"===e.type&&s.parents().each(function(){var e,s=t(this);s.data("ui-tooltip-open")&&(e=t.Event("blur"),e.target=e.currentTarget=this,i.close(e,!0)),s.attr("title")&&(s.uniqueId(),i.parents[this.id]={element:this,title:s.attr("title")},s.attr("title",""))}),this._registerCloseHandlers(e,s),this._updateContent(s,e))},_updateContent:function(t,e){var i,s=this.options.content,n=this,o=e?e.type:null;return"string"==typeof s||s.nodeType||s.jquery?this._open(e,t,s):(i=s.call(t[0],function(i){n._delay(function(){t.data("ui-tooltip-open")&&(e&&(e.type=o),this._open(e,t,i))})}),i&&this._open(e,t,i),void 0)},_open:function(e,i,s){function n(t){l.of=t,a.is(":hidden")||a.position(l)}var o,a,r,h,l=t.extend({},this.options.position);if(s){if(o=this._find(i))return o.tooltip.find(".ui-tooltip-content").html(s),void 0;i.is("[title]")&&(e&&"mouseover"===e.type?i.attr("title",""):i.removeAttr("title")),o=this._tooltip(i),a=o.tooltip,this._addDescribedBy(i,a.attr("id")),a.find(".ui-tooltip-content").html(s),this.liveRegion.children().hide(),h=t("
          ").html(a.find(".ui-tooltip-content").html()),h.removeAttr("name").find("[name]").removeAttr("name"),h.removeAttr("id").find("[id]").removeAttr("id"),h.appendTo(this.liveRegion),this.options.track&&e&&/^mouse/.test(e.type)?(this._on(this.document,{mousemove:n}),n(e)):a.position(t.extend({of:i},this.options.position)),a.hide(),this._show(a,this.options.show),this.options.track&&this.options.show&&this.options.show.delay&&(r=this.delayedShow=setInterval(function(){a.is(":visible")&&(n(l.of),clearInterval(r))},t.fx.interval)),this._trigger("open",e,{tooltip:a})}},_registerCloseHandlers:function(e,i){var s={keyup:function(e){if(e.keyCode===t.ui.keyCode.ESCAPE){var s=t.Event(e);s.currentTarget=i[0],this.close(s,!0)}}};i[0]!==this.element[0]&&(s.remove=function(){this._removeTooltip(this._find(i).tooltip)}),e&&"mouseover"!==e.type||(s.mouseleave="close"),e&&"focusin"!==e.type||(s.focusout="close"),this._on(!0,i,s)},close:function(e){var i,s=this,n=t(e?e.currentTarget:this.element),o=this._find(n);return o?(i=o.tooltip,o.closing||(clearInterval(this.delayedShow),n.data("ui-tooltip-title")&&!n.attr("title")&&n.attr("title",n.data("ui-tooltip-title")),this._removeDescribedBy(n),o.hiding=!0,i.stop(!0),this._hide(i,this.options.hide,function(){s._removeTooltip(t(this))}),n.removeData("ui-tooltip-open"),this._off(n,"mouseleave focusout keyup"),n[0]!==this.element[0]&&this._off(n,"remove"),this._off(this.document,"mousemove"),e&&"mouseleave"===e.type&&t.each(this.parents,function(e,i){t(i.element).attr("title",i.title),delete s.parents[e]}),o.closing=!0,this._trigger("close",e,{tooltip:i}),o.hiding||(o.closing=!1)),void 0):(n.removeData("ui-tooltip-open"),void 0)},_tooltip:function(e){var i=t("
          ").attr("role","tooltip"),s=t("
          ").appendTo(i),n=i.uniqueId().attr("id");return this._addClass(s,"ui-tooltip-content"),this._addClass(i,"ui-tooltip","ui-widget ui-widget-content"),i.appendTo(this._appendTo(e)),this.tooltips[n]={element:e,tooltip:i}},_find:function(t){var e=t.data("ui-tooltip-id");return e?this.tooltips[e]:null},_removeTooltip:function(t){t.remove(),delete this.tooltips[t.attr("id")]},_appendTo:function(t){var e=t.closest(".ui-front, dialog");return e.length||(e=this.document[0].body),e},_destroy:function(){var e=this;t.each(this.tooltips,function(i,s){var n=t.Event("blur"),o=s.element;n.target=n.currentTarget=o[0],e.close(n,!0),t("#"+i).remove(),o.data("ui-tooltip-title")&&(o.attr("title")||o.attr("title",o.data("ui-tooltip-title")),o.removeData("ui-tooltip-title"))}),this.liveRegion.remove()}}),t.uiBackCompat!==!1&&t.widget("ui.tooltip",t.ui.tooltip,{options:{tooltipClass:null},_tooltip:function(){var t=this._superApply(arguments);return this.options.tooltipClass&&t.tooltip.addClass(this.options.tooltipClass),t}}),t.ui.tooltip}); \ No newline at end of file diff --git a/classroom/assets/js/lib/jquery.js b/classroom/assets/js/lib/jquery.js new file mode 100644 index 00000000..b0614034 --- /dev/null +++ b/classroom/assets/js/lib/jquery.js @@ -0,0 +1,2 @@ +/*! 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-1&&(I(t,e),g(t,r.class_loading)),p(t,e),function(t){s(t,"was-processed","true")}(t),d(r.callback_reveal,t,e),d(r.callback_set,t,e))},z=function(t){return!!n&&(t._observer=new IntersectionObserver(function(e){e.forEach(function(e){return function(t){return t.isIntersecting||t.intersectionRatio>0}(e)?function(t,e,n){var r=n._settings;d(r.callback_enter,t,e,n),r.load_delay?x(t,n):L(t,n)}(e.target,e,t):function(t,e,n){var r=n._settings;d(r.callback_exit,t,e,n),r.load_delay&&O(t)}(e.target,e,t)})},{root:(e=t._settings).container===document?null:e.container,rootMargin:e.thresholds||e.threshold+"px"}),!0);var e},C=["IMG","IFRAME"],N=function(t,e){return function(t){return t.filter(function(t){return!c(t)})}((n=t||function(t){return t.container.querySelectorAll(t.elements_selector)}(e),Array.prototype.slice.call(n)));var n},M=function(t){var e=t._settings;_toConsumableArray(e.container.querySelectorAll("."+e.class_error)).forEach(function(t){y(t,e.class_error),function(t){s(t,"was-processed",null)}(t)}),t.update()},R=function(e,n){var r;this._settings=function(t){return _extends({},o,t)}(e),this._loadingCount=0,z(this),this.update(n),r=this,t&&window.addEventListener("online",function(t){M(r)})};return R.prototype={update:function(t){var n,r=this,o=this._settings;(this._elements=N(t,o),!e&&this._observer)?(function(t){return t.use_native&&"loading"in HTMLImageElement.prototype}(o)&&((n=this)._elements.forEach(function(t){-1!==C.indexOf(t.tagName)&&(t.setAttribute("loading","lazy"),S(t,n))}),this._elements=N(t,o)),this._elements.forEach(function(t){r._observer.observe(t)})):this.loadAll()},destroy:function(){var t=this;this._observer&&(this._elements.forEach(function(e){t._observer.unobserve(e)}),this._observer=null),this._elements=null,this._settings=null},load:function(t,e){S(t,this,e)},loadAll:function(){var t=this;this._elements.forEach(function(e){L(e,t)})}},t&&function(t,e){if(e)if(e.length)for(var n,r=0;n=e[r];r+=1)a(t,n);else a(t,e)}(R,window.lazyLoadOptions),R}); +//# sourceMappingURL=lazyload.min.js.map diff --git a/classroom/assets/js/lib/leader-line.js b/classroom/assets/js/lib/leader-line.js new file mode 100644 index 00000000..b3f2430b --- /dev/null +++ b/classroom/assets/js/lib/leader-line.js @@ -0,0 +1,2 @@ +/*! LeaderLine v1.0.7 (c) anseki https://anseki.github.io/leader-line/ */ +var LeaderLine=function(){"use strict";var Z,w,O,M,I,o,t,s,h,u,n,a,e,_,v,l,r,i,E,x,p,c,d,C="leader-line",b=1,k=2,L=3,A=4,V={top:b,right:k,bottom:L,left:A},P=1,N=2,T=3,W=4,B=5,R={straight:P,arc:N,fluid:T,magnet:W,grid:B},Y="behind",f=C+"-defs",y='',X={disc:{elmId:"leader-line-disc",noRotate:!0,bBox:{left:-5,top:-5,width:10,height:10,right:5,bottom:5},widthR:2.5,heightR:2.5,bCircle:5,sideLen:5,backLen:5,overhead:0,outlineBase:1,outlineMax:4},square:{elmId:"leader-line-square",noRotate:!0,bBox:{left:-5,top:-5,width:10,height:10,right:5,bottom:5},widthR:2.5,heightR:2.5,bCircle:5,sideLen:5,backLen:5,overhead:0,outlineBase:1,outlineMax:4},arrow1:{elmId:"leader-line-arrow1",bBox:{left:-8,top:-8,width:16,height:16,right:8,bottom:8},widthR:4,heightR:4,bCircle:8,sideLen:8,backLen:8,overhead:8,outlineBase:2,outlineMax:1.5},arrow2:{elmId:"leader-line-arrow2",bBox:{left:-7,top:-8,width:11,height:16,right:4,bottom:8},widthR:2.75,heightR:4,bCircle:8,sideLen:8,backLen:7,overhead:4,outlineBase:1,outlineMax:1.75},arrow3:{elmId:"leader-line-arrow3",bBox:{left:-4,top:-5,width:12,height:10,right:8,bottom:5},widthR:3,heightR:2.5,bCircle:8,sideLen:5,backLen:4,overhead:8,outlineBase:1,outlineMax:2.5},hand:{elmId:"leader-line-hand",bBox:{left:-3,top:-12,width:40,height:24,right:37,bottom:12},widthR:10,heightR:6,bCircle:37,sideLen:12,backLen:3,overhead:37},crosshair:{elmId:"leader-line-crosshair",noRotate:!0,bBox:{left:-96,top:-96,width:192,height:192,right:96,bottom:96},widthR:48,heightR:48,bCircle:96,sideLen:96,backLen:96,overhead:0}},F={behind:Y,disc:"disc",square:"square",arrow1:"arrow1",arrow2:"arrow2",arrow3:"arrow3",hand:"hand",crosshair:"crosshair"},q={disc:"disc",square:"square",arrow1:"arrow1",arrow2:"arrow2",arrow3:"arrow3",hand:"hand",crosshair:"crosshair"},G=[b,k,L,A],D="auto",Q={x:"left",y:"top",width:"width",height:"height"},z=80,j=4,H=5,U=120,K=8,J=3.75,$=10,ee=30,te=.5522847,ne=.25*Math.PI,m=/^\s*(\-?[\d\.]+)\s*(\%)?\s*$/,ae="http://www.w3.org/2000/svg",S="-ms-scroll-limit"in document.documentElement.style&&"-ms-ime-align"in document.documentElement.style&&!window.navigator.msPointerEnabled,ie=!S&&!!document.uniqueID,oe="MozAppearance"in document.documentElement.style,le=!(S||oe||!window.chrome||!window.CSS),re=!S&&!ie&&!oe&&!le&&!window.chrome&&"WebkitAppearance"in document.documentElement.style,se=ie||S?.2:.1,ue={path:T,lineColor:"coral",lineSize:4,plugSE:[Y,"arrow1"],plugSizeSE:[1,1],lineOutlineEnabled:!1,lineOutlineColor:"indianred",lineOutlineSize:.25,plugOutlineEnabledSE:[!1,!1],plugOutlineSizeSE:[1,1]},he=(p={}.toString,c={}.hasOwnProperty.toString,d=c.call(Object),function(e){return e&&"[object Object]"===p.call(e)&&(!(e=Object.getPrototypeOf(e))||(e=e.hasOwnProperty("constructor")&&e.constructor)&&"function"==typeof e&&c.call(e)===d)}),pe=Number.isFinite||function(e){return"number"==typeof e&&window.isFinite(e)},g=(_={ease:[.25,.1,.25,1],linear:[0,0,1,1],"ease-in":[.42,0,1,1],"ease-out":[0,0,.58,1],"ease-in-out":[.42,0,.58,1]},v=1e3/60/2,l=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||function(e){setTimeout(e,v)},r=window.cancelAnimationFrame||window.mozCancelAnimationFrame||window.webkitCancelAnimationFrame||window.msCancelAnimationFrame||function(e){clearTimeout(e)},i=Number.isFinite||function(e){return"number"==typeof e&&window.isFinite(e)},E=[],x=0,{add:function(n,e,t,a,i,o,l){var r,s,u,h,p,c,d,f,y,m,S=++x;function g(e,t){return{value:n(t),timeRatio:e,outputRatio:t}}if("string"==typeof i&&(i=_[i]),n=n||function(){},t=this._endIndex||this._string[this._currentIndex]<"0"||"9"=this._endIndex||this._string[this._currentIndex]<"0"||"9"=this._endIndex)return null;var e=null,t=this._string[this._currentIndex];if(this._currentIndex+=1,"0"===t)e=0;else{if("1"!==t)return null;e=1}return this._skipOptionalSpacesOrDelimiter(),e}};function n(e){if(!e||0===e.length)return[];var t=new i(e),n=[];if(t.initialCommandIsMoveTo())for(;t.hasMoreData();){var a=t.parseSegment();if(null===a)break;n.push(a)}return n}function l(e){return e.map(function(e){return{type:e.type,values:Array.prototype.slice.call(e.values)}})}function r(e){var u=[],h=null,p=null,c=null,d=null,f=null,y=null,m=null;return e.forEach(function(e){var t,n,a,i,o,l,r,s;"M"===e.type?(r=e.values[0],s=e.values[1],u.push({type:"M",values:[r,s]}),d=y=r,f=m=s):"C"===e.type?(o=e.values[0],l=e.values[1],t=e.values[2],n=e.values[3],r=e.values[4],s=e.values[5],u.push({type:"C",values:[o,l,t,n,r,s]}),p=t,c=n,d=r,f=s):"L"===e.type?(r=e.values[0],s=e.values[1],u.push({type:"L",values:[r,s]}),d=r,f=s):"H"===e.type?(r=e.values[0],u.push({type:"L",values:[r,f]}),d=r):"V"===e.type?(s=e.values[0],u.push({type:"L",values:[d,s]}),f=s):"S"===e.type?(t=e.values[0],n=e.values[1],r=e.values[2],s=e.values[3],i="C"===h||"S"===h?(a=d+(d-p),f+(f-c)):(a=d,f),u.push({type:"C",values:[a,i,t,n,r,s]}),p=t,c=n,d=r,f=s):"T"===e.type?(r=e.values[0],s=e.values[1],l="Q"===h||"T"===h?(o=d+(d-p),f+(f-c)):(o=d,f),u.push({type:"C",values:[a=d+2*(o-d)/3,i=f+2*(l-f)/3,r+2*(o-r)/3,s+2*(l-s)/3,r,s]}),p=o,c=l,d=r,f=s):"Q"===e.type?(o=e.values[0],l=e.values[1],r=e.values[2],s=e.values[3],u.push({type:"C",values:[a=d+2*(o-d)/3,i=f+2*(l-f)/3,r+2*(o-r)/3,s+2*(l-s)/3,r,s]}),p=o,c=l,d=r,f=s):"A"===e.type?(n=e.values[0],a=e.values[1],i=e.values[2],o=e.values[3],l=e.values[4],r=e.values[5],s=e.values[6],0===n||0===a?(u.push({type:"C",values:[d,f,r,s,r,s]}),d=r,f=s):d===r&&f===s||b(d,f,r,s,n,a,i,o,l).forEach(function(e){u.push({type:"C",values:e}),d=r,f=s})):"Z"===e.type&&(u.push(e),d=y,f=m),h=e.type}),u}var s=e.SVGPathElement.prototype.setAttribute,u=e.SVGPathElement.prototype.removeAttribute,d=e.Symbol?e.Symbol():"__cachedPathData",f=e.Symbol?e.Symbol():"__cachedNormalizedPathData",b=function(e,t,n,a,i,o,l,r,s,u){function h(e,t,n){return{x:e*Math.cos(n)-t*Math.sin(n),y:e*Math.sin(n)+t*Math.cos(n)}}var p=Math.PI*l/180,c=[];u?(_=u[0],v=u[1],S=u[2],g=u[3]):(e=(m=h(e,t,-p)).x,t=m.y,1<(m=(y=(e-(n=(f=h(n,a,-p)).x))/2)*y/(i*i)+(d=(t-(a=f.y))/2)*d/(o*o))&&(i*=m=Math.sqrt(m),o*=m),f=i*i,m=o*o,S=(f=(r===s?-1:1)*Math.sqrt(Math.abs((f*m-f*d*d-m*y*y)/(f*d*d+m*y*y))))*i*d/o+(e+n)/2,g=f*-o*y/i+(t+a)/2,_=Math.asin(parseFloat(((t-g)/o).toFixed(9))),v=Math.asin(parseFloat(((a-g)/o).toFixed(9))),e120*Math.PI/180&&(d=v,f=n,y=a,v=s&&_=e.duration&&e.count&&e.loopsLeft<=1)return a=e.frames[e.lastFrame=e.reverse?0:e.frames.length-1],e.frameCallback(a.value,!0,a.timeRatio,a.outputRatio),void(e.framesStart=null);if(t>e.duration){if(n=Math.floor(t/e.duration),e.count){if(n>=e.loopsLeft)return a=e.frames[e.lastFrame=e.reverse?0:e.frames.length-1],e.frameCallback(a.value,!0,a.timeRatio,a.outputRatio),void(e.framesStart=null);e.loopsLeft-=n}e.framesStart+=e.duration*n,t=i-e.framesStart}e.reverse&&(t=e.duration-t),a=e.frames[e.lastFrame=Math.round(t/v)],!1!==e.frameCallback(a.value,!1,a.timeRatio,a.outputRatio)?o=!0:e.framesStart=null}}),o&&(e=l.call(window,xe))}function be(e,t){e.framesStart=Date.now(),null!=t&&(e.framesStart-=e.duration*(e.reverse?1-t:t)),e.loopsLeft=e.count,e.lastFrame=null,xe()}function ke(t,n){var e,a;return typeof t!=typeof n||(e=he(t)?"obj":Array.isArray(t)?"array":"")!=(he(n)?"obj":Array.isArray(n)?"array":"")||("obj"===e?ke(a=Object.keys(t).sort(),Object.keys(n).sort())||a.some(function(e){return ke(t[e],n[e])}):"array"===e?t.length!==n.length||t.some(function(e,t){return ke(e,n[t])}):t!==n)}function we(n){return n&&(he(n)?Object.keys(n).reduce(function(e,t){return e[t]=we(n[t]),e},{}):Array.isArray(n)?n.map(we):n)}function Oe(e){var t,n,a,i=1,o=e=(e+"").trim();function l(e){var t=1,e=m.exec(e);return e&&(t=parseFloat(e[1]),e[2]?t=0<=t&&t<=100?t/100:1:(t<0||1=Math.abs(n)?0<=t?k:A:0<=n?L:b))})),f.position_path!==y.position_path||f.position_lineStrokeWidth!==y.position_lineStrokeWidth||[0,1].some(function(e){return f.position_plugOverheadSE[e]!==y.position_plugOverheadSE[e]||(t=v[e],n=y.position_socketXYSE[e],t.x!==n.x||t.y!==n.y||t.socketId!==n.socketId)||(t=g[e],n=y.position_socketGravitySE[e],(e=null==t?"auto":Array.isArray(t)?"array":"number")!=(null==n?"auto":Array.isArray(n)?"array":"number")||("array"==e?t[0]!==n[0]||t[1]!==n[1]:t!==n));var t,n})){switch(l.pathList.baseVal=_=[],l.pathList.animVal=null,f.position_path){case P:_.push([E(v[0]),E(v[1])]);break;case N:t="number"==typeof g[0]&&0j?(f.position_lineStrokeWidth-j)*H:0),e.socketId===b?{x:0,y:-(i=(i=(e.y-n.y)/2)=t.x:t.dirId===r?e.y>=t.y:e.x<=t.x}function f(e,t){return t.dirId===i||t.dirId===r?e.x===t.x:e.y===t.y}function y(e){return e[0]?{contain:0,notContain:1}:{contain:1,notContain:0}}function m(e,t,n){return Math.abs(t[n]-e[n])}function S(e,t,n){return"x"===n?e.x=ee?S(u[t.notContain],u[t.contain],o[t.contain]):u[t.contain].dirId)):(i=[{x:u[0].x,y:u[0].y},{x:u[1].x,y:u[1].y}],s.forEach(function(e,t){var n=0===t?1:0,a=m(i[t],i[n],o[t]);a$&&(d[a]-e<$&&(e=d[a]-$),s=Ve(n[0],n[1],(p?e:d[a]-e)/d[a]),_[a]=p?[s,n[1]]:[n[0],s],d[a]-=e)):(d[a]=d[a]||Te.apply(null,n),d[a]>$&&(d[a]-e<$&&(e=d[a]-$),s=Ne(n[0],n[1],n[2],n[3],We(n[0],n[1],n[2],n[3],p?e:d[a]-e)),o=p?(i=n[0],s.toP1):(i=n[3],s.fromP2),l=Math.atan2(i.y-s.y,s.x-i.x),r=Ae(s,o),s.x=i.x+Math.cos(l)*e,s.y=i.y+Math.sin(l)*e*-1,o.x=s.x+Math.cos(l)*r,o.y=s.y+Math.sin(l)*r*-1,_[a]=p?[s,s.toP1,s.toP2,n[3]]:[n[0],s.fromP1,s.fromP2,s],d[a]=null)):e<0&&(n=_[a=p?0:_.length-1],s=v[t].socketId,t=-c[t]["x"==(u=s===A||s===k?"x":"y")?"width":"height"],h=(e=en.outlineMax&&(t=n.outlineMax),t*=2*n.outlineBase,y=Xe(r,u.plugOutline_strokeWidthSE,e,t)||y,y=Xe(r,u.plugOutline_inStrokeWidthSE,e,u.plugOutline_colorTraSE[e]?t-se/(u.line_strokeWidth/ue.lineSize)/s.plugSizeSE[e]*2:t/2)||y)}),y)),(t.faces||U.line||U.plug||U.lineOutline||U.plugOutline)&&(U.faces=(g=(m=e).curStats,_=m.aplStats,v=m.events,E=!1,!g.line_altColor&&Xe(m,_,"line_color",S=g.line_color,v.apl_line_color)&&(m.lineFace.style.stroke=S,E=!0),Xe(m,_,"line_strokeWidth",S=g.line_strokeWidth,v.apl_line_strokeWidth)&&(m.lineShape.style.strokeWidth=S+"px",E=!0,(oe||ie)&&(je(m,m.lineShape),ie&&(je(m,m.lineFace),je(m,m.lineMaskCaps)))),Xe(m,_,"lineOutline_enabled",S=g.lineOutline_enabled,v.apl_lineOutline_enabled)&&(m.lineOutlineFace.style.display=S?"inline":"none",E=!0),g.lineOutline_enabled&&(Xe(m,_,"lineOutline_color",S=g.lineOutline_color,v.apl_lineOutline_color)&&(m.lineOutlineFace.style.stroke=S,E=!0),Xe(m,_,"lineOutline_strokeWidth",S=g.lineOutline_strokeWidth,v.apl_lineOutline_strokeWidth)&&(m.lineOutlineMaskShape.style.strokeWidth=S+"px",E=!0,ie&&(je(m,m.lineOutlineMaskCaps),je(m,m.lineOutlineFace))),Xe(m,_,"lineOutline_inStrokeWidth",S=g.lineOutline_inStrokeWidth,v.apl_lineOutline_inStrokeWidth)&&(m.lineMaskShape.style.strokeWidth=S+"px",E=!0,ie&&(je(m,m.lineOutlineMaskCaps),je(m,m.lineOutlineFace)))),Xe(m,_,"plug_enabled",S=g.plug_enabled,v.apl_plug_enabled)&&(m.plugsFace.style.display=S?"inline":"none",E=!0),g.plug_enabled&&[0,1].forEach(function(n){var e=g.plug_plugSE[n],t=e!==Y?X[q[e]]:null,a=Ze(n,t);Xe(m,_.plug_enabledSE,n,S=g.plug_enabledSE[n],v.apl_plug_enabledSE)&&(m.plugsFace.style[a.prop]=S?"url(#"+m.plugMarkerIdSE[n]+")":"none",E=!0),g.plug_enabledSE[n]&&(Xe(m,_.plug_plugSE,n,e,v.apl_plug_plugSE)&&(m.plugFaceSE[n].href.baseVal="#"+t.elmId,Ue(m,m.plugMarkerSE[n],a.orient,t.bBox,m.svg,m.plugMarkerShapeSE[n],m.plugsFace),E=!0,oe&&je(m,m.plugsFace)),Xe(m,_.plug_colorSE,n,S=g.plug_colorSE[n],v.apl_plug_colorSE)&&(m.plugFaceSE[n].style.fill=S,E=!0,(le||re||ie)&&!g.line_colorTra&&je(m,ie?m.lineMaskCaps:m.capsMaskLine)),["markerWidth","markerHeight"].forEach(function(e){var t="plug_"+e+"SE";Xe(m,_[t],n,S=g[t][n],v["apl_"+t])&&(m.plugMarkerSE[n][e].baseVal.value=S,E=!0)}),Xe(m,_.plugOutline_enabledSE,n,S=g.plugOutline_enabledSE[n],v.apl_plugOutline_enabledSE)&&(S?(m.plugFaceSE[n].style.mask="url(#"+m.plugMaskIdSE[n]+")",m.plugOutlineFaceSE[n].style.display="inline"):(m.plugFaceSE[n].style.mask="none",m.plugOutlineFaceSE[n].style.display="none"),E=!0),g.plugOutline_enabledSE[n]&&(Xe(m,_.plugOutline_plugSE,n,e,v.apl_plugOutline_plugSE)&&(m.plugOutlineFaceSE[n].href.baseVal=m.plugMaskShapeSE[n].href.baseVal=m.plugOutlineMaskShapeSE[n].href.baseVal="#"+t.elmId,[m.plugMaskSE[n],m.plugOutlineMaskSE[n]].forEach(function(e){e.x.baseVal.value=t.bBox.left,e.y.baseVal.value=t.bBox.top,e.width.baseVal.value=t.bBox.width,e.height.baseVal.value=t.bBox.height}),E=!0),Xe(m,_.plugOutline_colorSE,n,S=g.plugOutline_colorSE[n],v.apl_plugOutline_colorSE)&&(m.plugOutlineFaceSE[n].style.fill=S,E=!0,ie&&(je(m,m.lineMaskCaps),je(m,m.lineOutlineMaskCaps))),Xe(m,_.plugOutline_strokeWidthSE,n,S=g.plugOutline_strokeWidthSE[n],v.apl_plugOutline_strokeWidthSE)&&(m.plugOutlineMaskShapeSE[n].style.strokeWidth=S+"px",E=!0),Xe(m,_.plugOutline_inStrokeWidthSE,n,S=g.plugOutline_inStrokeWidthSE[n],v.apl_plugOutline_inStrokeWidthSE)&&(m.plugMaskShapeSE[n].style.strokeWidth=S+"px",E=!0)))}),E)),(t.position||U.line||U.plug)&&(U.position=Ke(e)),(t.path||U.position)&&(U.path=(k=(x=e).curStats,I=x.aplStats,M=x.pathList.animVal||x.pathList.baseVal,w=k.path_edge,C=!1,M&&(w.x1=w.x2=M[0][0].x,w.y1=w.y2=M[0][0].y,k.path_pathData=b=Be(M,function(e){e.xw.x2&&(w.x2=e.x),e.y>w.y2&&(w.y2=e.y)}),Fe(b,I.path_pathData)&&(x.linePath.setPathData(b),I.path_pathData=b,C=!0,ie?(je(x,x.plugsFace),je(x,x.lineMaskCaps)):oe&&je(x,x.linePath),x.events.apl_path&&x.events.apl_path.forEach(function(e){e(x,b)}))),C)),U.viewBox=(M=(O=e).curStats,I=O.aplStats,C=M.path_edge,L=M.viewBox_bBox,A=I.viewBox_bBox,V=O.svg.viewBox.baseVal,P=O.svg.style,N=!1,I=Math.max(M.line_strokeWidth/2,M.viewBox_plugBCircleSE[0]||0,M.viewBox_plugBCircleSE[1]||0),T={x1:C.x1-I,y1:C.y1-I,x2:C.x2+I,y2:C.y2+I},O.events.new_edge4viewBox&&O.events.new_edge4viewBox.forEach(function(e){e(O,T)}),L.x=M.lineMask_x=M.lineOutlineMask_x=M.maskBGRect_x=T.x1,L.y=M.lineMask_y=M.lineOutlineMask_y=M.maskBGRect_y=T.y1,L.width=T.x2-T.x1,L.height=T.y2-T.y1,["x","y","width","height"].forEach(function(e){var t;(t=L[e])!==A[e]&&(V[e]=A[e]=t,P[Q[e]]=t+("x"===e||"y"===e?O.bodyOffset[e]:0)+"px",N=!0)}),N),U.mask=(R=(W=e).curStats,F=W.aplStats,G=!1,R.plug_enabled?[0,1].forEach(function(e){R.capsMaskMarker_enabledSE[e]=R.plug_enabledSE[e]&&R.plug_colorTraSE[e]||R.plugOutline_enabledSE[e]&&R.plugOutline_colorTraSE[e]}):R.capsMaskMarker_enabledSE[0]=R.capsMaskMarker_enabledSE[1]=!1,R.capsMaskMarker_enabled=R.capsMaskMarker_enabledSE[0]||R.capsMaskMarker_enabledSE[1],R.lineMask_outlineMode=R.lineOutline_enabled,R.caps_enabled=R.capsMaskMarker_enabled||R.capsMaskAnchor_enabledSE[0]||R.capsMaskAnchor_enabledSE[1],R.lineMask_enabled=R.caps_enabled||R.lineMask_outlineMode,(R.lineMask_enabled&&!R.lineMask_outlineMode||R.lineOutline_enabled)&&["x","y"].forEach(function(e){var t="maskBGRect_"+e;Xe(W,F,t,B=R[t])&&(W.maskBGRect[e].baseVal.value=B,G=!0)}),Xe(W,F,"lineMask_enabled",B=R.lineMask_enabled)&&(W.lineFace.style.mask=B?"url(#"+W.lineMaskId+")":"none",G=!0,re&&je(W,W.lineMask)),R.lineMask_enabled&&(Xe(W,F,"lineMask_outlineMode",B=R.lineMask_outlineMode)&&(B?(W.lineMaskBG.style.display="none",W.lineMaskShape.style.display="inline"):(W.lineMaskBG.style.display="inline",W.lineMaskShape.style.display="none"),G=!0),["x","y"].forEach(function(e){var t="lineMask_"+e;Xe(W,F,t,B=R[t])&&(W.lineMask[e].baseVal.value=B,G=!0)}),Xe(W,F,"caps_enabled",B=R.caps_enabled)&&(W.lineMaskCaps.style.display=W.lineOutlineMaskCaps.style.display=B?"inline":"none",G=!0,re&&je(W,W.capsMaskLine)),R.caps_enabled&&([0,1].forEach(function(e){var t;Xe(W,F.capsMaskAnchor_enabledSE,e,B=R.capsMaskAnchor_enabledSE[e])&&(W.capsMaskAnchorSE[e].style.display=B?"inline":"none",G=!0,re&&je(W,W.lineMask)),R.capsMaskAnchor_enabledSE[e]&&(Fe(t=R.capsMaskAnchor_pathDataSE[e],F.capsMaskAnchor_pathDataSE[e])&&(W.capsMaskAnchorSE[e].setPathData(t),F.capsMaskAnchor_pathDataSE[e]=t,G=!0),Xe(W,F.capsMaskAnchor_strokeWidthSE,e,B=R.capsMaskAnchor_strokeWidthSE[e])&&(W.capsMaskAnchorSE[e].style.strokeWidth=B+"px",G=!0))}),Xe(W,F,"capsMaskMarker_enabled",B=R.capsMaskMarker_enabled)&&(W.capsMaskLine.style.display=B?"inline":"none",G=!0),R.capsMaskMarker_enabled&&[0,1].forEach(function(n){var e=R.capsMaskMarker_plugSE[n],t=e!==Y?X[q[e]]:null,a=Ze(n,t);Xe(W,F.capsMaskMarker_enabledSE,n,B=R.capsMaskMarker_enabledSE[n])&&(W.capsMaskLine.style[a.prop]=B?"url(#"+W.lineMaskMarkerIdSE[n]+")":"none",G=!0),R.capsMaskMarker_enabledSE[n]&&(Xe(W,F.capsMaskMarker_plugSE,n,e)&&(W.capsMaskMarkerShapeSE[n].href.baseVal="#"+t.elmId,Ue(W,W.capsMaskMarkerSE[n],a.orient,t.bBox,W.svg,W.capsMaskMarkerShapeSE[n],W.capsMaskLine),G=!0,oe&&(je(W,W.capsMaskLine),je(W,W.lineFace))),["markerWidth","markerHeight"].forEach(function(e){var t="capsMaskMarker_"+e+"SE";Xe(W,F[t],n,B=R[t][n])&&(W.capsMaskMarkerSE[n][e].baseVal.value=B,G=!0)}))}))),R.lineOutline_enabled&&["x","y"].forEach(function(e){var t="lineOutlineMask_"+e;Xe(W,F,t,B=R[t])&&(W.lineOutlineMask[e].baseVal.value=B,G=!0)}),G),t.effect&&(j=(D=e).curStats,H=D.aplStats,Object.keys(Z).forEach(function(e){var t=Z[e],n=e+"_enabled",a=e+"_options",e=j[a];Xe(D,H,n,z=j[n])?(z&&(H[a]=we(e)),t[z?"init":"remove"](D)):z&&ke(e,H[a])&&(t.remove(D),H[n]=!0,H[a]=we(e),t.init(D))})),(le||re)&&U.line&&!U.path&&je(e,e.lineShape),le&&U.plug&&!U.line&&je(e,e.plugsFace),He(e)}function et(e,t){return{duration:(pe(e.duration)&&0i.x2&&(i.x2=e.x2),e.y2>i.y2&&(i.y2=e.y2),["x","y"].forEach(function(e){var t,n="dropShadow_"+e;o[n]=t=i[e+"1"],Xe(a,l,n,t)&&(a.efc_dropShadow_elmFilter[e].baseVal.value=t)}))}}},Object.keys(Z).forEach(function(e){var t=Z[e],n=t.stats;n[e+"_enabled"]={iniValue:!1},n[e+"_options"]={hasProps:!0},t.anim&&(n[e+"_animOptions"]={},n[e+"_animId"]={})}),w={none:{defaultAnimOptions:{},init:function(e,t){var n=e.curStats;n.show_animId&&(g.remove(n.show_animId),n.show_animId=null),w.none.start(e,t)},start:function(e,t){w.none.stop(e,!0)},stop:function(e,t,n){var a=e.curStats;return n=null!=n?n:e.aplStats.show_on,a.show_inAnim=!1,t&&Je(e,n),n?1:0}},fade:{defaultAnimOptions:{duration:300,timing:"linear"},init:function(n,e){var t=n.curStats,a=n.aplStats;t.show_animId&&g.remove(t.show_animId),t.show_animId=g.add(function(e){return e},function(e,t){t?w.fade.stop(n,!0):(n.svg.style.opacity=e+"",ie&&(je(n,n.svg),He(n)))},a.show_animOptions.duration,1,a.show_animOptions.timing,null,!1),w.fade.start(n,e)},start:function(e,t){var n,a=e.curStats;a.show_inAnim&&(n=g.stop(a.show_animId)),Je(e,1),a.show_inAnim=!0,g.start(a.show_animId,!e.aplStats.show_on,null!=t?t:n)},stop:function(e,t,n){var a,i=e.curStats;return n=null!=n?n:e.aplStats.show_on,a=i.show_inAnim?g.stop(i.show_animId):n?1:0,i.show_inAnim=!1,t&&(e.svg.style.opacity=n?"":"0",Je(e,n)),a}},draw:{defaultAnimOptions:{duration:500,timing:[.58,0,.42,1]},init:function(n,e){var t=n.curStats,a=n.aplStats,o=n.pathList.baseVal,i=Re(o),l=i.segsLen,r=i.lenAll;t.show_animId&&g.remove(t.show_animId),t.show_animId=g.add(function(e){var t,n,a,i=-1;if(0===e)n=[[o[0][0],o[0][0]]];else if(1===e)n=o;else{for(t=r*e,n=[];t>=l[++i];)n.push(o[i]),t-=l[i];t&&(2===(a=o[i]).length?n.push([a[0],Ve(a[0],a[1],t/l[i])]):(e=Ne(a[0],a[1],a[2],a[3],We(a[0],a[1],a[2],a[3],t)),n.push([a[0],e.fromP1,e.fromP2,e])))}return n},function(e,t){t?w.draw.stop(n,!0):(n.pathList.animVal=e,$e(n,{path:!0}))},a.show_animOptions.duration,1,a.show_animOptions.timing,null,!1),w.draw.start(n,e)},start:function(e,t){var n,a=e.curStats;a.show_inAnim&&(n=g.stop(a.show_animId)),Je(e,1),a.show_inAnim=!0,Ge(e,"apl_position",w.draw.update),g.start(a.show_animId,!e.aplStats.show_on,null!=t?t:n)},stop:function(e,t,n){var a,i=e.curStats;return n=null!=n?n:e.aplStats.show_on,a=i.show_inAnim?g.stop(i.show_animId):n?1:0,i.show_inAnim=!1,t&&(e.pathList.animVal=n?null:[[e.pathList.baseVal[0][0],e.pathList.baseVal[0][0]]],$e(e,{path:!0}),Je(e,n)),a},update:function(e){De(e,"apl_position",w.draw.update),e.curStats.show_inAnim?w.draw.init(e,w.draw.stop(e)):e.aplStats.show_animOptions={}}}},[["start","anchorSE",0],["end","anchorSE",1],["color","lineColor"],["size","lineSize"],["startSocketGravity","socketGravitySE",0],["endSocketGravity","socketGravitySE",1],["startPlugColor","plugColorSE",0],["endPlugColor","plugColorSE",1],["startPlugSize","plugSizeSE",0],["endPlugSize","plugSizeSE",1],["outline","lineOutlineEnabled"],["outlineColor","lineOutlineColor"],["outlineSize","lineOutlineSize"],["startPlugOutline","plugOutlineEnabledSE",0],["endPlugOutline","plugOutlineEnabledSE",1],["startPlugOutlineColor","plugOutlineColorSE",0],["endPlugOutlineColor","plugOutlineColorSE",1],["startPlugOutlineSize","plugOutlineSizeSE",0],["endPlugOutlineSize","plugOutlineSizeSE",1]].forEach(function(e){var t=e[0],n=e[1],a=e[2];Object.defineProperty(ot.prototype,t,{get:function(){var e=null!=a?Se[this._id].options[n][a]:n?Se[this._id].options[n]:Se[this._id].options[t];return null==e?D:we(e)},set:lt(t),enumerable:!0})}),[["path",R],["startSocket",V,"socketSE",0],["endSocket",V,"socketSE",1],["startPlug",F,"plugSE",0],["endPlug",F,"plugSE",1]].forEach(function(e){var a=e[0],i=e[1],o=e[2],l=e[3];Object.defineProperty(ot.prototype,a,{get:function(){var t,n=null!=l?Se[this._id].options[o][l]:o?Se[this._id].options[o]:Se[this._id].options[a];return n?Object.keys(i).some(function(e){return i[e]===n&&(t=e,!0)})?t:new Error("It's broken"):D},set:lt(a),enumerable:!0})}),Object.keys(Z).forEach(function(n){var a=Z[n];Object.defineProperty(ot.prototype,n,{get:function(){var s,e,t=Se[this._id].options[n];return he(t)?(s=t,e=a.optionsConf.reduce(function(e,t){var n,a=t[0],i=t[1],o=t[2],l=t[3],t=t[4],r=null!=t?s[l][t]:l?s[l]:s[i];return e[i]="id"===a?r?Object.keys(o).some(function(e){return o[e]===r&&(n=e,!0)})?n:new Error("It's broken"):D:null==r?D:we(r),e},{}),a.anim&&(e.animation=we(s.animation)),e):t},set:lt(n),enumerable:!0})}),["startLabel","endLabel","middleLabel"].forEach(function(e,n){Object.defineProperty(ot.prototype,e,{get:function(){var e=Se[this._id],t=e.options;return t.labelSEM[n]&&!e.optionIsAttach.labelSEM[n]?_e[t.labelSEM[n]._id].text:t.labelSEM[n]||""},set:lt(e),enumerable:!0})}),ot.prototype.setOptions=function(e){return it(Se[this._id],e),this},ot.prototype.position=function(){return $e(Se[this._id],{position:!0}),this},ot.prototype.remove=function(){var t=Se[this._id],n=t.curStats;Object.keys(Z).forEach(function(e){e+="_animId";n[e]&&g.remove(n[e])}),n.show_animId&&g.remove(n.show_animId),t.attachments.slice().forEach(function(e){at(t,e)}),t.baseWindow&&t.svg&&t.baseWindow.document.body.removeChild(t.svg),delete Se[this._id]},ot.prototype.show=function(e,t){return tt(Se[this._id],!0,e,t),this},ot.prototype.hide=function(e,t){return tt(Se[this._id],!1,e,t),this},o=function(t){t&&_e[t._id]&&(t.boundTargets.slice().forEach(function(e){at(e.props,t,!0)}),t.conf.remove&&t.conf.remove(t),delete _e[t._id])},rt.prototype.remove=function(){var t=this,n=_e[t._id];n&&(n.boundTargets.slice().forEach(function(e){n.conf.removeOption(n,e)}),ze(function(){var e=_e[t._id];e&&(console.error("LeaderLineAttachment was not removed by removeOption"),o(e))}))},M=rt,window.LeaderLineAttachment=M,I=function(e,t){return e instanceof M&&(!(e.isRemoved||t&&_e[e._id].conf.type!==t)||null)},O={pointAnchor:{type:"anchor",argOptions:[{optionName:"element",type:Me}],init:function(e,t){return e.element=O.pointAnchor.checkElement(t.element),e.x=O.pointAnchor.parsePercent(t.x,!0)||[.5,!0],e.y=O.pointAnchor.parsePercent(t.y,!0)||[.5,!0],!0},removeOption:function(e,t){var n=t.props,a={},i=e.element,e=n.options.anchorSE["start"===t.optionName?1:0];i===e&&(i=e===document.body?new M(O.pointAnchor,[i]):document.body),a[t.optionName]=i,it(n,a)},getBBoxNest:function(e,t){var n=Le(e.element,t.baseWindow),a=n.width,t=n.height;return n.width=n.height=0,n.left=n.right=n.left+e.x[0]*(e.x[1]?a:1),n.top=n.bottom=n.top+e.y[0]*(e.y[1]?t:1),n},parsePercent:function(e,t){var n,a,i=!1;return pe(e)?a=e:"string"==typeof e&&(n=m.exec(e))&&n[2]&&(i=0!==(a=parseFloat(n[1])/100)),null!=a&&(t||0<=a)?[a,i]:null},checkElement:function(e){if(null==e)e=document.body;else if(!Me(e))throw new Error("`element` must be Element");return e}},areaAnchor:{type:"anchor",argOptions:[{optionName:"element",type:Me},{optionName:"shape",type:"string"}],stats:{color:{},strokeWidth:{},elementWidth:{},elementHeight:{},elementLeft:{},elementTop:{},pathListRel:{},bBoxRel:{},pathData:{},viewBoxBBox:{hasProps:!0},dashLen:{},dashGap:{}},init:function(a,e){var t,n=[];return a.element=O.pointAnchor.checkElement(e.element),"string"==typeof e.color&&(a.color=e.color.trim()),"string"==typeof e.fillColor&&(a.fill=e.fillColor.trim()),pe(e.size)&&0<=e.size&&(a.size=e.size),e.dash&&(a.dash=!0,pe(e.dash.len)&&0i.right&&(i.right=t),ei.bottom&&(i.bottom=e)):i={left:t,right:t,top:e,bottom:e},o?S.pathListRel.push([o,{x:t,y:e}]):S.pathListRel=[],o={x:t,y:e}}),S.pathListRel.push([]),e=S.strokeWidth/2,e=[{x:i.left-e,y:i.top-e},{x:i.right+e,y:i.bottom+e}],S.bBoxRel={left:e[0].x,top:e[0].y,right:e[1].x,bottom:e[1].y,width:e[1].x-e[0].x,height:e[1].y-e[0].y}}v.pathListRel=v.bBoxRel=!0}return(v.pathListRel||v.elementLeft||v.elementTop)&&(S.pathData=Be(S.pathListRel,function(e){e.x+=n.left,e.y+=n.top})),Xe(t,g,"strokeWidth",a=S.strokeWidth)&&(t.path.style.strokeWidth=a+"px"),Fe(a=S.pathData,g.pathData)&&(t.path.setPathData(a),g.pathData=a,v.pathData=!0),t.dash&&(!v.pathData&&(!v.strokeWidth||t.dashLen&&t.dashGap)||(S.dashLen=t.dashLen||2*S.strokeWidth,S.dashGap=t.dashGap||S.strokeWidth),v.dash=Xe(t,g,"dashLen",S.dashLen)||v.dash,v.dash=Xe(t,g,"dashGap",S.dashGap)||v.dash,v.dash&&(t.path.style.strokeDasharray=g.dashLen+","+g.dashGap)),d=S.viewBoxBBox,f=g.viewBoxBBox,y=t.svg.viewBox.baseVal,m=t.svg.style,d.x=S.bBoxRel.left+n.left,d.y=S.bBoxRel.top+n.top,d.width=S.bBoxRel.width,d.height=S.bBoxRel.height,["x","y","width","height"].forEach(function(e){(a=d[e])!==f[e]&&(y[e]=f[e]=a,m[Q[e]]=a+("x"===e||"y"===e?t.bodyOffset[e]:0)+"px")}),v.strokeWidth||v.pathListRel||v.bBoxRel}},mouseHoverAnchor:{type:"anchor",argOptions:[{optionName:"element",type:Me},{optionName:"showEffectName",type:"string"}],style:{backgroundImage:"url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48cG9seWdvbiBwb2ludHM9IjI0LDAgMCw4IDgsMTEgMCwxOSA1LDI0IDEzLDE2IDE2LDI0IiBmaWxsPSJjb3JhbCIvPjwvc3ZnPg==')",backgroundSize:"",backgroundRepeat:"no-repeat",backgroundColor:"#f8f881",cursor:"default"},hoverStyle:{backgroundImage:"none",backgroundColor:"#fadf8f"},padding:{top:1,right:15,bottom:1,left:2},minHeight:15,backgroundPosition:{right:2,top:2},backgroundSize:{width:12,height:12},dirKeys:[["top","Top"],["right","Right"],["bottom","Bottom"],["left","Left"]],init:function(a,i){var n,t,e,o,l,r,s,u,h,p=O.mouseHoverAnchor,c={};if(a.element=O.pointAnchor.checkElement(i.element),s=a.element,!((u=s.ownerDocument)&&(h=u.defaultView)&&h.HTMLElement&&s instanceof h.HTMLElement))throw new Error("`element` must be HTML element");return p.style.backgroundSize=p.backgroundSize.width+"px "+p.backgroundSize.height+"px",["style","hoverStyle"].forEach(function(e){var n=p[e];a[e]=Object.keys(n).reduce(function(e,t){return e[t]=n[t],e},{})}),"inline"===(n=a.element.ownerDocument.defaultView.getComputedStyle(a.element,"")).display?a.style.display="inline-block":"none"===n.display&&(a.style.display="block"),O.mouseHoverAnchor.dirKeys.forEach(function(e){var t=e[0],e="padding"+e[1];parseFloat(n[e])e.x2&&(e.x2=n.x2),n.y2>e.y2&&(e.y2=n.y2)},newText:function(e,t,n,a,i){var o,l,r=t.createElementNS(ae,"text");return r.textContent=e,[r.x,r.y].forEach(function(e){var t=n.createSVGLength();t.newValueSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_PX,0),e.baseVal.initialize(t)}),"boolean"!=typeof h&&(h="paintOrder"in r.style),i&&!h?(o=t.createElementNS(ae,"defs"),r.id=a,o.appendChild(r),(l=(e=t.createElementNS(ae,"g")).appendChild(t.createElementNS(ae,"use"))).href.baseVal="#"+a,(t=e.appendChild(t.createElementNS(ae,"use"))).href.baseVal="#"+a,(l=l.style).strokeLinejoin="round",{elmPosition:r,styleText:r.style,styleFill:t.style,styleStroke:l,styleShow:e.style,elmsAppend:[o,e]}):(l=r.style,i&&(l.strokeLinejoin="round",l.paintOrder="stroke"),{elmPosition:r,styleText:l,styleFill:l,styleStroke:i?l:null,styleShow:l,elmsAppend:[r]})},getMidPoint:function(e,t){var n,a,i=Re(e),o=i.segsLen,i=i.lenAll,l=-1,r=i/2+(t||0);if(r<=0)return 2===(n=e[0]).length?Ve(n[0],n[1],0):Ne(n[0],n[1],n[2],n[3],0);if(i<=r)return 2===(n=e[e.length-1]).length?Ve(n[0],n[1],1):Ne(n[0],n[1],n[2],n[3],1);for(a=[];r>o[++l];)a.push(e[l]),r-=o[l];return 2===(n=e[l]).length?Ve(n[0],n[1],r/o[l]):Ne(n[0],n[1],n[2],n[3],We(n[0],n[1],n[2],n[3],r))},initSvg:function(t,n){var e,a,i=O.captionLabel.newText(t.text,n.baseWindow.document,n.svg,C+"-captionLabel-"+t._id,t.outlineColor);["elmPosition","styleFill","styleShow","elmsAppend"].forEach(function(e){t[e]=i[e]}),t.isShown=!1,t.styleShow.visibility="hidden",O.captionLabel.textStyleProps.forEach(function(e){null!=t[e]&&(i.styleText[e]=t[e])}),i.elmsAppend.forEach(function(e){n.svg.appendChild(e)}),e=i.elmPosition.getBBox(),t.width=e.width,t.height=e.height,t.outlineColor&&(a=e.height/9,i.styleStroke.strokeWidth=(a=10c?((t=d.points)[1]=Pe(t[0],t[1],-c),d.len=Ae(t[0],t[1])):(d.points=null,d.len=0),e.len>c+n?((t=e.points)[0]=Pe(t[1],t[0],-(c+n)),e.len=Ae(t[0],t[1])):(e.points=null,e.len=0)),e):null}),f.reduce(function(t,e){var n=e.points;return n&&(a&&y(n[0],a)||t.push({type:"M",values:[n[0].x,n[0].y]}),"line"===e.type?t.push({type:"L",values:[n[1].x,n[1].y]}):(n.shift(),n.forEach(function(e){t.push({type:"L",values:[e.x,e.y]})})),a=n[n.length-1]),t},[])},newText:function(e,t,n,a){var i,o,l,r,s=t.createElementNS(ae,"defs"),u=s.appendChild(t.createElementNS(ae,"path"));return u.id=i=n+"-path",(l=(o=t.createElementNS(ae,"text")).appendChild(t.createElementNS(ae,"textPath"))).href.baseVal="#"+i,l.startOffset.baseVal.newValueSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_PX,0),l.textContent=e,"boolean"!=typeof h&&(h="paintOrder"in o.style),a&&!h?(o.id=e=n+"-text",s.appendChild(o),(r=(n=t.createElementNS(ae,"g")).appendChild(t.createElementNS(ae,"use"))).href.baseVal="#"+e,(t=n.appendChild(t.createElementNS(ae,"use"))).href.baseVal="#"+e,(r=r.style).strokeLinejoin="round",{elmPosition:o,elmPath:u,elmOffset:l,styleText:o.style,styleFill:t.style,styleStroke:r,styleShow:n.style,elmsAppend:[s,n]}):(r=o.style,a&&(r.strokeLinejoin="round",r.paintOrder="stroke"),{elmPosition:o,elmPath:u,elmOffset:l,styleText:r,styleFill:r,styleStroke:a?r:null,styleShow:r,elmsAppend:[s,o]})},initSvg:function(t,n){var e,a,i,o=O.pathLabel.newText(t.text,n.baseWindow.document,C+"-pathLabel-"+t._id,t.outlineColor);["elmPosition","elmPath","elmOffset","styleFill","styleShow","elmsAppend"].forEach(function(e){t[e]=o[e]}),t.isShown=!1,t.styleShow.visibility="hidden",O.captionLabel.textStyleProps.forEach(function(e){null!=t[e]&&(o.styleText[e]=t[e])}),o.elmsAppend.forEach(function(e){n.svg.appendChild(e)}),o.elmPath.setPathData([{type:"M",values:[0,100]},{type:"h",values:[100]}]),le&&(i=o.elmOffset.href.baseVal,o.elmOffset.href.baseVal=""),e=o.elmPosition.getBBox(),le&&(o.elmOffset.href.baseVal=i),o.styleText.textAnchor=["start","end","middle"][t.semIndex],2!==t.semIndex||t.lineOffset||o.elmOffset.startOffset.baseVal.newValueSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_PERCENTAGE,50),t.height=e.height,t.outlineColor&&(a=e.height/9,o.styleStroke.strokeWidth=(a=10=0&&(c=c.substring(0,j)+"([\\w._\\+]+)"+c.substring(j+5)),b[e]=new RegExp(c,"i");k.props[a]=b}d(k.oss),d(k.phones),d(k.tablets),d(k.uas),d(k.utils),k.oss0={WindowsPhoneOS:k.oss.WindowsPhoneOS,WindowsMobileOS:k.oss.WindowsMobileOS}}(),g.findMatch=function(a,b){for(var c in a)if(i.call(a,c)&&a[c].test(b))return c;return null},g.findMatches=function(a,b){var c=[];for(var d in a)i.call(a,d)&&a[d].test(b)&&c.push(d);return c},g.getVersionStr=function(a,b){var c,d,e,f,h=g.mobileDetectRules.props;if(i.call(h,a))for(c=h[a],e=c.length,d=0;d1&&(a=b[0]+".",b.shift(),a+=b.join("")),Number(a)},g.isMobileFallback=function(a){return g.detectMobileBrowsers.fullPattern.test(a)||g.detectMobileBrowsers.shortPattern.test(a.substr(0,4))},g.isTabletFallback=function(a){return g.detectMobileBrowsers.tabletPattern.test(a)},g.prepareDetectionCache=function(a,c,d){if(a.mobile===b){var e,h,i;return(h=g.findMatch(g.mobileDetectRules.tablets,c))?(a.mobile=a.tablet=h,void(a.phone=null)):(e=g.findMatch(g.mobileDetectRules.phones,c))?(a.mobile=a.phone=e,void(a.tablet=null)):void(g.isMobileFallback(c)?(i=f.isPhoneSized(d),i===b?(a.mobile=g.FALLBACK_MOBILE,a.tablet=a.phone=null):i?(a.mobile=a.phone=g.FALLBACK_PHONE,a.tablet=null):(a.mobile=a.tablet=g.FALLBACK_TABLET,a.phone=null)):g.isTabletFallback(c)?(a.mobile=a.tablet=g.FALLBACK_TABLET,a.phone=null):a.mobile=a.tablet=a.phone=null)}},g.mobileGrade=function(a){var b=null!==a.mobile();return a.os("iOS")&&a.version("iPad")>=4.3||a.os("iOS")&&a.version("iPhone")>=3.1||a.os("iOS")&&a.version("iPod")>=3.1||a.version("Android")>2.1&&a.is("Webkit")||a.version("Windows Phone OS")>=7||a.is("BlackBerry")&&a.version("BlackBerry")>=6||a.match("Playbook.*Tablet")||a.version("webOS")>=1.4&&a.match("Palm|Pre|Pixi")||a.match("hp.*TouchPad")||a.is("Firefox")&&a.version("Firefox")>=12||a.is("Chrome")&&a.is("AndroidOS")&&a.version("Android")>=4||a.is("Skyfire")&&a.version("Skyfire")>=4.1&&a.is("AndroidOS")&&a.version("Android")>=2.3||a.is("Opera")&&a.version("Opera Mobi")>11&&a.is("AndroidOS")||a.is("MeeGoOS")||a.is("Tizen")||a.is("Dolfin")&&a.version("Bada")>=2||(a.is("UC Browser")||a.is("Dolfin"))&&a.version("Android")>=2.3||a.match("Kindle Fire")||a.is("Kindle")&&a.version("Kindle")>=3||a.is("AndroidOS")&&a.is("NookTablet")||a.version("Chrome")>=11&&!b||a.version("Safari")>=5&&!b||a.version("Firefox")>=4&&!b||a.version("MSIE")>=7&&!b||a.version("Opera")>=10&&!b?"A":a.os("iOS")&&a.version("iPad")<4.3||a.os("iOS")&&a.version("iPhone")<3.1||a.os("iOS")&&a.version("iPod")<3.1||a.is("Blackberry")&&a.version("BlackBerry")>=5&&a.version("BlackBerry")<6||a.version("Opera Mini")>=5&&a.version("Opera Mini")<=6.5&&(a.version("Android")>=2.3||a.is("iOS"))||a.match("NokiaN8|NokiaC7|N97.*Series60|Symbian/3")||a.version("Opera Mobi")>=11&&a.is("SymbianOS")?"B":(a.version("BlackBerry")<5||a.match("MSIEMobile|Windows CE.*Mobile")||a.version("Windows Mobile")<=5.2,"C")},g.detectOS=function(a){return g.findMatch(g.mobileDetectRules.oss0,a)||g.findMatch(g.mobileDetectRules.oss,a)},g.getDeviceSmallerSide=function(){return window.screen.width=o.clientWidth&&n>=o.clientHeight}),l=0a[e]&&!t.escapeWithReference&&(n=Q(f[o],a[e]-('right'===e?f.width:f.height))),ae({},o,n)}};return l.forEach(function(e){var t=-1===['left','top'].indexOf(e)?'secondary':'primary';f=le({},f,m[t](e))}),e.offsets.popper=f,e},priority:['left','right','top','bottom'],padding:5,boundariesElement:'scrollParent'},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,o=t.popper,n=t.reference,i=e.placement.split('-')[0],r=Z,p=-1!==['top','bottom'].indexOf(i),s=p?'right':'bottom',d=p?'left':'top',a=p?'width':'height';return o[s]r(n[s])&&(e.offsets.popper[d]=r(n[s])),e}},arrow:{order:500,enabled:!0,fn:function(e,o){var n;if(!K(e.instance.modifiers,'arrow','keepTogether'))return e;var i=o.element;if('string'==typeof i){if(i=e.instance.popper.querySelector(i),!i)return e;}else if(!e.instance.popper.contains(i))return console.warn('WARNING: `arrow.element` must be child of its popper element!'),e;var r=e.placement.split('-')[0],p=e.offsets,s=p.popper,d=p.reference,a=-1!==['left','right'].indexOf(r),l=a?'height':'width',f=a?'Top':'Left',m=f.toLowerCase(),h=a?'left':'top',c=a?'bottom':'right',u=S(i)[l];d[c]-us[c]&&(e.offsets.popper[m]+=d[m]+u-s[c]),e.offsets.popper=g(e.offsets.popper);var b=d[m]+d[l]/2-u/2,w=t(e.instance.popper),y=parseFloat(w['margin'+f],10),E=parseFloat(w['border'+f+'Width'],10),v=b-e.offsets.popper[m]-y-E;return v=ee(Q(s[l]-u,v),0),e.arrowElement=i,e.offsets.arrow=(n={},ae(n,m,$(v)),ae(n,h,''),n),e},element:'[x-arrow]'},flip:{order:600,enabled:!0,fn:function(e,t){if(W(e.instance.modifiers,'inner'))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;var o=v(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement,e.positionFixed),n=e.placement.split('-')[0],i=T(n),r=e.placement.split('-')[1]||'',p=[];switch(t.behavior){case ce.FLIP:p=[n,i];break;case ce.CLOCKWISE:p=G(n);break;case ce.COUNTERCLOCKWISE:p=G(n,!0);break;default:p=t.behavior;}return p.forEach(function(s,d){if(n!==s||p.length===d+1)return e;n=e.placement.split('-')[0],i=T(n);var a=e.offsets.popper,l=e.offsets.reference,f=Z,m='left'===n&&f(a.right)>f(l.left)||'right'===n&&f(a.left)f(l.top)||'bottom'===n&&f(a.top)f(o.right),g=f(a.top)f(o.bottom),b='left'===n&&h||'right'===n&&c||'top'===n&&g||'bottom'===n&&u,w=-1!==['top','bottom'].indexOf(n),y=!!t.flipVariations&&(w&&'start'===r&&h||w&&'end'===r&&c||!w&&'start'===r&&g||!w&&'end'===r&&u),E=!!t.flipVariationsByContent&&(w&&'start'===r&&c||w&&'end'===r&&h||!w&&'start'===r&&u||!w&&'end'===r&&g),v=y||E;(m||b||v)&&(e.flipped=!0,(m||b)&&(n=p[d+1]),v&&(r=z(r)),e.placement=n+(r?'-'+r:''),e.offsets.popper=le({},e.offsets.popper,C(e.instance.popper,e.offsets.reference,e.placement)),e=P(e.instance.modifiers,e,'flip'))}),e},behavior:'flip',padding:5,boundariesElement:'viewport',flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,o=t.split('-')[0],n=e.offsets,i=n.popper,r=n.reference,p=-1!==['left','right'].indexOf(o),s=-1===['top','left'].indexOf(o);return i[p?'left':'top']=r[o]-(s?i[p?'width':'height']:0),e.placement=T(t),e.offsets.popper=g(i),e}},hide:{order:800,enabled:!0,fn:function(e){if(!K(e.instance.modifiers,'hide','preventOverflow'))return e;var t=e.offsets.reference,o=D(e.instance.modifiers,function(e){return'preventOverflow'===e.name}).boundaries;if(t.bottomo.right||t.top>o.bottom||t.rightwindow.devicePixelRatio||!fe),c='bottom'===o?'top':'bottom',g='right'===n?'left':'right',b=B('transform');if(d='bottom'==c?'HTML'===l.nodeName?-l.clientHeight+h.bottom:-f.height+h.bottom:h.top,s='right'==g?'HTML'===l.nodeName?-l.clientWidth+h.right:-f.width+h.right:h.left,a&&b)m[b]='translate3d('+s+'px, '+d+'px, 0)',m[c]=0,m[g]=0,m.willChange='transform';else{var w='bottom'==c?-1:1,y='right'==g?-1:1;m[c]=d*w,m[g]=s*y,m.willChange=c+', '+g}var E={"x-placement":e.placement};return e.attributes=le({},E,e.attributes),e.styles=le({},m,e.styles),e.arrowStyles=le({},e.offsets.arrow,e.arrowStyles),e},gpuAcceleration:!0,x:'bottom',y:'right'},applyStyle:{order:900,enabled:!0,fn:function(e){return V(e.instance.popper,e.styles),j(e.instance.popper,e.attributes),e.arrowElement&&Object.keys(e.arrowStyles).length&&V(e.arrowElement,e.arrowStyles),e},onLoad:function(e,t,o,n,i){var r=L(i,t,e,o.positionFixed),p=O(o.placement,r,t,e,o.modifiers.flip.boundariesElement,o.modifiers.flip.padding);return t.setAttribute('x-placement',p),V(t,{position:o.positionFixed?'fixed':'absolute'}),o},gpuAcceleration:void 0}}},ge}); +//# sourceMappingURL=popper.min.js.map diff --git a/classroom/assets/js/lib/slick-carrousel.js b/classroom/assets/js/lib/slick-carrousel.js new file mode 100644 index 00000000..42172c2f --- /dev/null +++ b/classroom/assets/js/lib/slick-carrousel.js @@ -0,0 +1 @@ +!function(i){"use strict";"function"==typeof define&&define.amd?define(["jquery"],i):"undefined"!=typeof exports?module.exports=i(require("jquery")):i(jQuery)}(function(i){"use strict";var e=window.Slick||{};(e=function(){var e=0;return function(t,o){var s,n=this;n.defaults={accessibility:!0,adaptiveHeight:!1,appendArrows:i(t),appendDots:i(t),arrows:!0,asNavFor:null,prevArrow:'',nextArrow:'',autoplay:!1,autoplaySpeed:3e3,centerMode:!1,centerPadding:"50px",cssEase:"ease",customPaging:function(e,t){return i('
          - - diff --git a/classroom/registration.html b/classroom/registration.html index bdf71abb..e4b3429b 100644 --- a/classroom/registration.html +++ b/classroom/registration.html @@ -125,9 +125,7 @@ - + diff --git a/classroom/registration.php b/classroom/registration.php index 57ea4482..fa16b0d1 100644 --- a/classroom/registration.php +++ b/classroom/registration.php @@ -51,7 +51,7 @@ ?> - + diff --git a/resources/pageRessources.php b/resources/pageRessources.php index 1e181f6c..755fdc9f 100644 --- a/resources/pageRessources.php +++ b/resources/pageRessources.php @@ -3,7 +3,7 @@ "index.php" => [ [ "type" => "css", - "src" => "https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.css" + "src" => "assets/css/slick.css" ], [ "type" => "css", @@ -11,7 +11,7 @@ ], [ "type" => "js", - "src" => "https://cdn.jsdelivr.net/npm/vanilla-lazyload@12.4.0/dist/lazyload.min.js" + "src" => "assets/js/lib/lazyload.js" ] ], "shop.php" => [ @@ -21,7 +21,7 @@ ], [ "type" => "css", - "src" => "https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.css" + "src" => "assets/css/lib/slick.css" ], [ "type" => "css", From 35cfc0a4260801af7a5fb92279e88f6808025f24 Mon Sep 17 00:00:00 2001 From: Paul Libbrecht Date: Tue, 30 Aug 2022 15:18:16 +0200 Subject: [PATCH 026/340] Removal of CDNs. --- classroom/Views/home_footer.html | 32 +- .../bootstrap.min.css => css/bootstrap.css} | 1 + classroom/assets/css/fontawesome.css | 5 + classroom/assets/css/jquery-ui.css | 1311 +++++++++++++++++ classroom/assets/css/slick.css | 119 ++ classroom/assets/js/lib/bootstrap.js | 7 + classroom/assets/js/lib/bootstrap.min.js | 6 - classroom/assets/js/lib/jquery-3.4.0.min.js | 2 - .../assets/js/lib/jquery-ui-1.12.1.min.js | 1 - classroom/assets/js/lib/jquery-ui.js | 13 + classroom/assets/js/lib/jquery.js | 2 + classroom/assets/js/lib/lazyload.js | 2 + classroom/assets/js/lib/leader-line.js | 2 + classroom/assets/js/lib/mobile-detect.js | 3 + classroom/assets/js/lib/popper.js | 5 + classroom/assets/js/lib/slick-carrousel.js | 1 + classroom/cgu.php | 48 +- classroom/confirm_account.html | 16 +- classroom/confirm_account.php | 16 +- classroom/footer.html | 20 +- classroom/group_invitation.html | 16 +- classroom/header.html | 33 +- classroom/home.html | 114 +- classroom/legal.php | 46 +- classroom/login.html | 54 +- classroom/login.html.old | 45 +- classroom/login.php | 4 +- classroom/password_manager.html | 23 +- classroom/password_manager.php | 10 +- classroom/privacy.php | 50 +- classroom/registration.html | 24 +- classroom/registration.php | 8 +- resources/pageRessources.php | 6 +- 33 files changed, 1740 insertions(+), 305 deletions(-) rename classroom/assets/{js/lib/bootstrap.min.css => css/bootstrap.css} (99%) create mode 100644 classroom/assets/css/fontawesome.css create mode 100644 classroom/assets/css/jquery-ui.css create mode 100644 classroom/assets/css/slick.css create mode 100644 classroom/assets/js/lib/bootstrap.js delete mode 100644 classroom/assets/js/lib/bootstrap.min.js delete mode 100644 classroom/assets/js/lib/jquery-3.4.0.min.js delete mode 100644 classroom/assets/js/lib/jquery-ui-1.12.1.min.js create mode 100644 classroom/assets/js/lib/jquery-ui.js create mode 100644 classroom/assets/js/lib/jquery.js create mode 100644 classroom/assets/js/lib/lazyload.js create mode 100644 classroom/assets/js/lib/leader-line.js create mode 100644 classroom/assets/js/lib/mobile-detect.js create mode 100644 classroom/assets/js/lib/popper.js create mode 100644 classroom/assets/js/lib/slick-carrousel.js diff --git a/classroom/Views/home_footer.html b/classroom/Views/home_footer.html index b5ce7e90..fbb932f2 100644 --- a/classroom/Views/home_footer.html +++ b/classroom/Views/home_footer.html @@ -1,12 +1,10 @@
          - - - - + + + + - - - - - + + + + + @@ -139,9 +133,9 @@ // Update Rémi, allow to return in the manager or groupadmin mode after a refresh function goBackToThePreviousView(administration = []) { - if ($_GET('panel') && - (ClassroomSettings.mixPanels.includes($_GET('panel')) || - ClassroomSettings.teacherPanels.includes($_GET('panel')) || + if ($_GET('panel') && + (ClassroomSettings.mixPanels.includes($_GET('panel')) || + ClassroomSettings.teacherPanels.includes($_GET('panel')) || ClassroomSettings.managerPanels.includes($_GET('panel')) || ClassroomSettings.groupAdminPanels.includes($_GET('panel')))) { if (administration[0] === true && $_GET('panel').includes("manager") && $_GET('nav').includes("manager")) { @@ -178,4 +172,4 @@ - \ No newline at end of file + diff --git a/classroom/assets/js/lib/bootstrap.min.css b/classroom/assets/css/bootstrap.css similarity index 99% rename from classroom/assets/js/lib/bootstrap.min.css rename to classroom/assets/css/bootstrap.css index b498c978..7aebd0ff 100644 --- a/classroom/assets/js/lib/bootstrap.min.css +++ b/classroom/assets/css/bootstrap.css @@ -4,3 +4,4 @@ * Copyright 2011-2018 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}@-ms-viewport{width:device-width}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg:not(:root){overflow:hidden}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-family:inherit;font-weight:500;line-height:1.2;color:inherit}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:"\2014 \00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#e83e8c;word-break:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;max-width:100%;margin-bottom:1rem;background-color:transparent}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table .table{background-color:#fff}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #dee2e6}.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-hover .table-primary:hover{background-color:#9fcdff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-hover .table-secondary:hover{background-color:#c8cbcf}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-hover .table-light:hover{background-color:#ececf6}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#212529;border-color:#32383e}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#212529}.table-dark td,.table-dark th,.table-dark thead th{border-color:#32383e}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media screen and (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}select.form-control:not([size]):not([multiple]){height:calc(2.25rem + 2px)}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm,.input-group-lg>.form-control-plaintext.form-control,.input-group-lg>.input-group-append>.form-control-plaintext.btn,.input-group-lg>.input-group-append>.form-control-plaintext.input-group-text,.input-group-lg>.input-group-prepend>.form-control-plaintext.btn,.input-group-lg>.input-group-prepend>.form-control-plaintext.input-group-text,.input-group-sm>.form-control-plaintext.form-control,.input-group-sm>.input-group-append>.form-control-plaintext.btn,.input-group-sm>.input-group-append>.form-control-plaintext.input-group-text,.input-group-sm>.input-group-prepend>.form-control-plaintext.btn,.input-group-sm>.input-group-prepend>.form-control-plaintext.input-group-text{padding-right:0;padding-left:0}.form-control-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-sm>.input-group-append>select.btn:not([size]):not([multiple]),.input-group-sm>.input-group-append>select.input-group-text:not([size]):not([multiple]),.input-group-sm>.input-group-prepend>select.btn:not([size]):not([multiple]),.input-group-sm>.input-group-prepend>select.input-group-text:not([size]):not([multiple]),.input-group-sm>select.form-control:not([size]):not([multiple]),select.form-control-sm:not([size]):not([multiple]){height:calc(1.8125rem + 2px)}.form-control-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-lg>.input-group-append>select.btn:not([size]):not([multiple]),.input-group-lg>.input-group-append>select.input-group-text:not([size]):not([multiple]),.input-group-lg>.input-group-prepend>select.btn:not([size]):not([multiple]),.input-group-lg>.input-group-prepend>select.input-group-text:not([size]):not([multiple]),.input-group-lg>select.form-control:not([size]):not([multiple]),select.form-control-lg:not([size]):not([multiple]){height:calc(2.875rem + 2px)}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.5rem;margin-top:.1rem;font-size:.875rem;line-height:1;color:#fff;background-color:rgba(40,167,69,.8);border-radius:.2rem}.custom-select.is-valid,.form-control.is-valid,.was-validated .custom-select:valid,.was-validated .form-control:valid{border-color:#28a745}.custom-select.is-valid:focus,.form-control.is-valid:focus,.was-validated .custom-select:valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-select.is-valid~.valid-feedback,.custom-select.is-valid~.valid-tooltip,.form-control.is-valid~.valid-feedback,.form-control.is-valid~.valid-tooltip,.was-validated .custom-select:valid~.valid-feedback,.was-validated .custom-select:valid~.valid-tooltip,.was-validated .form-control:valid~.valid-feedback,.was-validated .form-control:valid~.valid-tooltip{display:block}.form-control-file.is-valid~.valid-feedback,.form-control-file.is-valid~.valid-tooltip,.was-validated .form-control-file:valid~.valid-feedback,.was-validated .form-control-file:valid~.valid-tooltip{display:block}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{background-color:#71dd8a}.custom-control-input.is-valid~.valid-feedback,.custom-control-input.is-valid~.valid-tooltip,.was-validated .custom-control-input:valid~.valid-feedback,.was-validated .custom-control-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(40,167,69,.25)}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid~.custom-file-label::before,.was-validated .custom-file-input:valid~.custom-file-label::before{border-color:inherit}.custom-file-input.is-valid~.valid-feedback,.custom-file-input.is-valid~.valid-tooltip,.was-validated .custom-file-input:valid~.valid-feedback,.was-validated .custom-file-input:valid~.valid-tooltip{display:block}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.5rem;margin-top:.1rem;font-size:.875rem;line-height:1;color:#fff;background-color:rgba(220,53,69,.8);border-radius:.2rem}.custom-select.is-invalid,.form-control.is-invalid,.was-validated .custom-select:invalid,.was-validated .form-control:invalid{border-color:#dc3545}.custom-select.is-invalid:focus,.form-control.is-invalid:focus,.was-validated .custom-select:invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-select.is-invalid~.invalid-feedback,.custom-select.is-invalid~.invalid-tooltip,.form-control.is-invalid~.invalid-feedback,.form-control.is-invalid~.invalid-tooltip,.was-validated .custom-select:invalid~.invalid-feedback,.was-validated .custom-select:invalid~.invalid-tooltip,.was-validated .form-control:invalid~.invalid-feedback,.was-validated .form-control:invalid~.invalid-tooltip{display:block}.form-control-file.is-invalid~.invalid-feedback,.form-control-file.is-invalid~.invalid-tooltip,.was-validated .form-control-file:invalid~.invalid-feedback,.was-validated .form-control-file:invalid~.invalid-tooltip{display:block}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{background-color:#efa2a9}.custom-control-input.is-invalid~.invalid-feedback,.custom-control-input.is-invalid~.invalid-tooltip,.was-validated .custom-control-input:invalid~.invalid-feedback,.was-validated .custom-control-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(220,53,69,.25)}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid~.custom-file-label::before,.was-validated .custom-file-input:invalid~.custom-file-label::before{border-color:inherit}.custom-file-input.is-invalid~.invalid-feedback,.custom-file-input.is-invalid~.invalid-tooltip,.was-validated .custom-file-input:invalid~.invalid-feedback,.was-validated .custom-file-input:invalid~.invalid-tooltip{display:block}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media screen and (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:focus,.btn:hover{text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}.btn:not(:disabled):not(.disabled).active,.btn:not(:disabled):not(.disabled):active{background-image:none}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-primary{color:#007bff;background-color:transparent;background-image:none;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;background-color:transparent;background-image:none;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-success{color:#28a745;background-color:transparent;background-image:none;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;background-color:transparent;background-image:none;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;background-color:transparent;background-image:none;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;background-color:transparent;background-image:none;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;background-color:transparent;background-image:none;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;background-color:transparent;background-image:none;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;background-color:transparent}.btn-link:hover{color:#0056b3;text-decoration:underline;background-color:transparent;border-color:transparent}.btn-link.focus,.btn-link:focus{text-decoration:underline;border-color:transparent;box-shadow:none}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media screen and (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media screen and (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-right{right:0;left:auto}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;width:0;height:0;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-ms-flex:0 1 auto;flex:0 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:1}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:1}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group,.btn-group-vertical .btn+.btn,.btn-group-vertical .btn+.btn-group,.btn-group-vertical .btn-group+.btn,.btn-group-vertical .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center}.btn-group-vertical .btn,.btn-group-vertical .btn-group{width:100%}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;margin-bottom:0}.input-group>.custom-file:focus,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control{margin-left:-1px}.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:-ms-flexbox;display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline{display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;background-color:#007bff}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:active~.custom-control-label::before{color:#fff;background-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#dee2e6}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background-repeat:no-repeat;background-position:center center;background-size:50% 50%}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::before{background-color:#007bff}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::before{background-color:#007bff}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(2.25rem + 2px);padding:.375rem 1.75rem .375rem .75rem;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center;background-size:8px 10px;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:inset 0 1px 2px rgba(0,0,0,.075),0 0 5px rgba(128,189,255,.5)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{opacity:0}.custom-select-sm{height:calc(1.8125rem + 2px);padding-top:.375rem;padding-bottom:.375rem;font-size:75%}.custom-select-lg{height:calc(2.875rem + 2px);padding-top:.375rem;padding-bottom:.375rem;font-size:125%}.custom-file{position:relative;display:inline-block;width:100%;height:calc(2.25rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(2.25rem + 2px);margin:0;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:focus~.custom-file-label::after{border-color:#80bdff}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(2.25rem + 2px);padding:.375rem .75rem;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:2.25rem;padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:1px solid #ced4da;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;padding-left:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:0}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;-webkit-appearance:none;appearance:none}.custom-range::-webkit-slider-thumb:focus{outline:0;box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;-moz-appearance:none;appearance:none}.custom-range::-moz-range-thumb:focus{outline:0;box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;appearance:none}.custom-range::-ms-thumb:focus{outline:0;box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.nav{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item{-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem 1rem}.navbar>.container,.navbar>.container-fluid{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler:not(:disabled):not(.disabled){cursor:pointer}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body{-ms-flex:1 1 auto;flex:1 1 auto;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img{width:100%;border-radius:calc(.25rem - 1px)}.card-img-top{width:100%;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img-bottom{width:100%;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{display:-ms-flexbox;display:flex;-ms-flex:1 0 0%;flex:1 0 0%;-ms-flex-direction:column;flex-direction:column;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:first-child .card-header,.card-group>.card:first-child .card-img-top{border-top-right-radius:0}.card-group>.card:first-child .card-footer,.card-group>.card:first-child .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:last-child .card-header,.card-group>.card:last-child .card-img-top{border-top-left-radius:0}.card-group>.card:last-child .card-footer,.card-group>.card:last-child .card-img-bottom{border-bottom-left-radius:0}.card-group>.card:only-child{border-radius:.25rem}.card-group>.card:only-child .card-header,.card-group>.card:only-child .card-img-top{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card-group>.card:only-child .card-footer,.card-group>.card:only-child .card-img-bottom{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-group>.card:not(:first-child):not(:last-child):not(:only-child){border-radius:0}.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-footer,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-header,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-img-top{border-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion .card:not(:first-of-type):not(:last-of-type){border-bottom:0;border-radius:0}.accordion .card:not(:first-of-type) .card-header:first-child{border-radius:0}.accordion .card:first-of-type{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion .card:last-of-type{border-top-left-radius:0;border-top-right-radius:0}.breadcrumb{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:2;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-link:not(:disabled):not(.disabled){cursor:pointer}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:1;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}.badge-primary[href]:focus,.badge-primary[href]:hover{color:#fff;text-decoration:none;background-color:#0062cc}.badge-secondary{color:#fff;background-color:#6c757d}.badge-secondary[href]:focus,.badge-secondary[href]:hover{color:#fff;text-decoration:none;background-color:#545b62}.badge-success{color:#fff;background-color:#28a745}.badge-success[href]:focus,.badge-success[href]:hover{color:#fff;text-decoration:none;background-color:#1e7e34}.badge-info{color:#fff;background-color:#17a2b8}.badge-info[href]:focus,.badge-info[href]:hover{color:#fff;text-decoration:none;background-color:#117a8b}.badge-warning{color:#212529;background-color:#ffc107}.badge-warning[href]:focus,.badge-warning[href]:hover{color:#212529;text-decoration:none;background-color:#d39e00}.badge-danger{color:#fff;background-color:#dc3545}.badge-danger[href]:focus,.badge-danger[href]:hover{color:#fff;text-decoration:none;background-color:#bd2130}.badge-light{color:#212529;background-color:#f8f9fa}.badge-light[href]:focus,.badge-light[href]:hover{color:#212529;text-decoration:none;background-color:#dae0e5}.badge-dark{color:#fff;background-color:#343a40}.badge-dark[href]:focus,.badge-dark[href]:hover{color:#fff;text-decoration:none;background-color:#1d2124}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}@media screen and (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}.media{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}.media-body{-ms-flex:1;flex:1}.list-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item:focus,.list-group-item:hover{z-index:1;text-decoration:none}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:focus,.close:hover{color:#000;text-decoration:none;opacity:.75}.close:not(:disabled):not(.disabled){cursor:pointer}button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;outline:0}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-25%);transform:translate(0,-25%)}@media screen and (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:translate(0,0);transform:translate(0,0)}.modal-dialog-centered{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:calc(100% - (.5rem * 2))}.modal-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:justify;justify-content:space-between;padding:1rem;border-bottom:1px solid #e9ecef;border-top-left-radius:.3rem;border-top-right-radius:.3rem}.modal-header .close{padding:1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:1rem;border-top:1px solid #e9ecef}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-centered{min-height:calc(100% - (1.75rem * 2))}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg{max-width:800px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow::before,.bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow::before,.bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow::before,.bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top] .arrow,.bs-popover-top .arrow{bottom:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=top] .arrow::after,.bs-popover-auto[x-placement^=top] .arrow::before,.bs-popover-top .arrow::after,.bs-popover-top .arrow::before{border-width:.5rem .5rem 0}.bs-popover-auto[x-placement^=top] .arrow::before,.bs-popover-top .arrow::before{bottom:0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top] .arrow::after,.bs-popover-top .arrow::after{bottom:1px;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right] .arrow,.bs-popover-right .arrow{left:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right] .arrow::after,.bs-popover-auto[x-placement^=right] .arrow::before,.bs-popover-right .arrow::after,.bs-popover-right .arrow::before{border-width:.5rem .5rem .5rem 0}.bs-popover-auto[x-placement^=right] .arrow::before,.bs-popover-right .arrow::before{left:0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right] .arrow::after,.bs-popover-right .arrow::after{left:1px;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom] .arrow,.bs-popover-bottom .arrow{top:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=bottom] .arrow::after,.bs-popover-auto[x-placement^=bottom] .arrow::before,.bs-popover-bottom .arrow::after,.bs-popover-bottom .arrow::before{border-width:0 .5rem .5rem .5rem}.bs-popover-auto[x-placement^=bottom] .arrow::before,.bs-popover-bottom .arrow::before{top:0;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom] .arrow::after,.bs-popover-bottom .arrow::after{top:1px;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left] .arrow,.bs-popover-left .arrow{right:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left] .arrow::after,.bs-popover-auto[x-placement^=left] .arrow::before,.bs-popover-left .arrow::after,.bs-popover-left .arrow::before{border-width:.5rem 0 .5rem .5rem}.bs-popover-auto[x-placement^=left] .arrow::before,.bs-popover-left .arrow::before{right:0;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left] .arrow::after,.bs-popover-left .arrow::after{right:1px;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;color:inherit;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-item{position:relative;display:none;-ms-flex-align:center;align-items:center;width:100%;transition:-webkit-transform .6s ease;transition:transform .6s ease;transition:transform .6s ease,-webkit-transform .6s ease;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}@media screen and (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.carousel-item-next,.carousel-item-prev{position:absolute;top:0}.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translateX(0);transform:translateX(0)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.active.carousel-item-right,.carousel-item-next{-webkit-transform:translateX(100%);transform:translateX(100%)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.active.carousel-item-right,.carousel-item-next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translateX(-100%);transform:translateX(-100%)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.carousel-fade .carousel-item{opacity:0;transition-duration:.6s;transition-property:opacity}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{opacity:0}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-prev,.carousel-fade .carousel-item-next,.carousel-fade .carousel-item-prev,.carousel-fade .carousel-item.active{-webkit-transform:translateX(0);transform:translateX(0)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-prev,.carousel-fade .carousel-item-next,.carousel-fade .carousel-item-prev,.carousel-fade .carousel-item.active{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:transparent no-repeat center center;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E")}.carousel-indicators{position:absolute;right:0;bottom:10px;left:0;z-index:15;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{position:relative;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:rgba(255,255,255,.5)}.carousel-indicators li::before{position:absolute;top:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators li::after{position:absolute;bottom:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators .active{background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-circle{border-radius:50%!important}.rounded-0{border-radius:0!important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.text-justify{text-align:justify!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0062cc!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#545b62!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#1e7e34!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#117a8b!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#d39e00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#bd2130!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#dae0e5!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#1d2124!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px!important}.container{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}} +/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/classroom/assets/css/fontawesome.css b/classroom/assets/css/fontawesome.css new file mode 100644 index 00000000..740543d8 --- /dev/null +++ b/classroom/assets/css/fontawesome.css @@ -0,0 +1,5 @@ +/*! + * Font Awesome Free 5.1.1 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +.fa,.fab,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{animation:a 2s infinite linear}.fa-pulse{animation:a 1s infinite steps(8)}@keyframes a{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"}.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-balance-scale:before{content:"\f24e"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bicycle:before{content:"\f206"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blender:before{content:"\f517"}.fa-blind:before{content:"\f29d"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-open:before{content:"\f518"}.fa-bookmark:before{content:"\f02e"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-certificate:before{content:"\f0a3"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-concierge-bell:before{content:"\f562"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-credit-card:before{content:"\f09d"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-delicious:before{content:"\f1a5"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-deviantart:before{content:"\f1bd"}.fa-diagnoses:before{content:"\f470"}.fa-dice:before{content:"\f522"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edit:before{content:"\f044"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before{content:"\f1c3"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-gift:before{content:"\f06b"}.fa-git:before{content:"\f1d3"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-handshake:before{content:"\f2b5"}.fa-hashtag:before{content:"\f292"}.fa-hdd:before{content:"\f0a0"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hockey-puck:before{content:"\f453"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hot-tub:before{content:"\f593"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-houzz:before{content:"\f27c"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-instagram:before{content:"\f16d"}.fa-internet-explorer:before{content:"\f26b"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mercury:before{content:"\f223"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-motorcycle:before{content:"\f21c"}.fa-mouse-pointer:before{content:"\f245"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-nintendo-switch:before{content:"\f418"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-old-republic:before{content:"\f510"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-osi:before{content:"\f41a"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-people-carry:before{content:"\f4ce"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-volume:before{content:"\f2a0"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poo:before{content:"\f2fe"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-r-project:before{content:"\f4f7"}.fa-random:before{content:"\f074"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-rendact:before{content:"\f3e4"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-rupee-sign:before{content:"\f156"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-sass:before{content:"\f41e"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-search:before{content:"\f002"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-simplybuilt:before{content:"\f215"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skull:before{content:"\f54c"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowflake:before{content:"\f2dc"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-swatchbook:before{content:"\f5c3"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toolbox:before{content:"\f552"}.fa-tooth:before{content:"\f5c9"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-train:before{content:"\f238"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-tripadvisor:before{content:"\f262"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-moving:before{content:"\f4df"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-uikit:before{content:"\f403"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}@font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:normal;src:url(../webfonts/fa-brands-400.eot);src:url(../webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.woff) format("woff"),url(../webfonts/fa-brands-400.ttf) format("truetype"),url(../webfonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:"Font Awesome 5 Brands"}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;src:url(../webfonts/fa-regular-400.eot);src:url(../webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.woff) format("woff"),url(../webfonts/fa-regular-400.ttf) format("truetype"),url(../webfonts/fa-regular-400.svg#fontawesome) format("svg")}.far{font-weight:400}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;src:url(../webfonts/fa-solid-900.eot);src:url(../webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.woff) format("woff"),url(../webfonts/fa-solid-900.ttf) format("truetype"),url(../webfonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.far,.fas{font-family:"Font Awesome 5 Free"}.fa,.fas{font-weight:900} \ No newline at end of file diff --git a/classroom/assets/css/jquery-ui.css b/classroom/assets/css/jquery-ui.css new file mode 100644 index 00000000..294452f1 --- /dev/null +++ b/classroom/assets/css/jquery-ui.css @@ -0,0 +1,1311 @@ +/*! jQuery UI - v1.12.1 - 2016-09-14 +* http://jqueryui.com +* Includes: core.css, accordion.css, autocomplete.css, menu.css, button.css, controlgroup.css, checkboxradio.css, datepicker.css, dialog.css, draggable.css, resizable.css, progressbar.css, selectable.css, selectmenu.css, slider.css, sortable.css, spinner.css, tabs.css, tooltip.css, theme.css +* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana%2CArial%2Csans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=highlight_soft&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=flat&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=glass&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=glass&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=glass&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=glass&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px +* Copyright jQuery Foundation and other contributors; Licensed MIT */ + +/* Layout helpers +----------------------------------*/ +.ui-helper-hidden { + display: none; +} +.ui-helper-hidden-accessible { + border: 0; + clip: rect(0 0 0 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; +} +.ui-helper-reset { + margin: 0; + padding: 0; + border: 0; + outline: 0; + line-height: 1.3; + text-decoration: none; + font-size: 100%; + list-style: none; +} +.ui-helper-clearfix:before, +.ui-helper-clearfix:after { + content: ""; + display: table; + border-collapse: collapse; +} +.ui-helper-clearfix:after { + clear: both; +} +.ui-helper-zfix { + width: 100%; + height: 100%; + top: 0; + left: 0; + position: absolute; + opacity: 0; + filter:Alpha(Opacity=0); /* support: IE8 */ +} + +.ui-front { + z-index: 100; +} + + +/* Interaction Cues +----------------------------------*/ +.ui-state-disabled { + cursor: default !important; + pointer-events: none; +} + + +/* Icons +----------------------------------*/ +.ui-icon { + display: inline-block; + vertical-align: middle; + margin-top: -.25em; + position: relative; + text-indent: -99999px; + overflow: hidden; + background-repeat: no-repeat; +} + +.ui-widget-icon-block { + left: 50%; + margin-left: -8px; + display: block; +} + +/* Misc visuals +----------------------------------*/ + +/* Overlays */ +.ui-widget-overlay { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; +} +.ui-accordion .ui-accordion-header { + display: block; + cursor: pointer; + position: relative; + margin: 2px 0 0 0; + padding: .5em .5em .5em .7em; + font-size: 100%; +} +.ui-accordion .ui-accordion-content { + padding: 1em 2.2em; + border-top: 0; + overflow: auto; +} +.ui-autocomplete { + position: absolute; + top: 0; + left: 0; + cursor: default; +} +.ui-menu { + list-style: none; + padding: 0; + margin: 0; + display: block; + outline: 0; +} +.ui-menu .ui-menu { + position: absolute; +} +.ui-menu .ui-menu-item { + margin: 0; + cursor: pointer; + /* support: IE10, see #8844 */ + list-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"); +} +.ui-menu .ui-menu-item-wrapper { + position: relative; + padding: 3px 1em 3px .4em; +} +.ui-menu .ui-menu-divider { + margin: 5px 0; + height: 0; + font-size: 0; + line-height: 0; + border-width: 1px 0 0 0; +} +.ui-menu .ui-state-focus, +.ui-menu .ui-state-active { + margin: -1px; +} + +/* icon support */ +.ui-menu-icons { + position: relative; +} +.ui-menu-icons .ui-menu-item-wrapper { + padding-left: 2em; +} + +/* left-aligned */ +.ui-menu .ui-icon { + position: absolute; + top: 0; + bottom: 0; + left: .2em; + margin: auto 0; +} + +/* right-aligned */ +.ui-menu .ui-menu-icon { + left: auto; + right: 0; +} +.ui-button { + padding: .4em 1em; + display: inline-block; + position: relative; + line-height: normal; + margin-right: .1em; + cursor: pointer; + vertical-align: middle; + text-align: center; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + + /* Support: IE <= 11 */ + overflow: visible; +} + +.ui-button, +.ui-button:link, +.ui-button:visited, +.ui-button:hover, +.ui-button:active { + text-decoration: none; +} + +/* to make room for the icon, a width needs to be set here */ +.ui-button-icon-only { + width: 2em; + box-sizing: border-box; + text-indent: -9999px; + white-space: nowrap; +} + +/* no icon support for input elements */ +input.ui-button.ui-button-icon-only { + text-indent: 0; +} + +/* button icon element(s) */ +.ui-button-icon-only .ui-icon { + position: absolute; + top: 50%; + left: 50%; + margin-top: -8px; + margin-left: -8px; +} + +.ui-button.ui-icon-notext .ui-icon { + padding: 0; + width: 2.1em; + height: 2.1em; + text-indent: -9999px; + white-space: nowrap; + +} + +input.ui-button.ui-icon-notext .ui-icon { + width: auto; + height: auto; + text-indent: 0; + white-space: normal; + padding: .4em 1em; +} + +/* workarounds */ +/* Support: Firefox 5 - 40 */ +input.ui-button::-moz-focus-inner, +button.ui-button::-moz-focus-inner { + border: 0; + padding: 0; +} +.ui-controlgroup { + vertical-align: middle; + display: inline-block; +} +.ui-controlgroup > .ui-controlgroup-item { + float: left; + margin-left: 0; + margin-right: 0; +} +.ui-controlgroup > .ui-controlgroup-item:focus, +.ui-controlgroup > .ui-controlgroup-item.ui-visual-focus { + z-index: 9999; +} +.ui-controlgroup-vertical > .ui-controlgroup-item { + display: block; + float: none; + width: 100%; + margin-top: 0; + margin-bottom: 0; + text-align: left; +} +.ui-controlgroup-vertical .ui-controlgroup-item { + box-sizing: border-box; +} +.ui-controlgroup .ui-controlgroup-label { + padding: .4em 1em; +} +.ui-controlgroup .ui-controlgroup-label span { + font-size: 80%; +} +.ui-controlgroup-horizontal .ui-controlgroup-label + .ui-controlgroup-item { + border-left: none; +} +.ui-controlgroup-vertical .ui-controlgroup-label + .ui-controlgroup-item { + border-top: none; +} +.ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content { + border-right: none; +} +.ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content { + border-bottom: none; +} + +/* Spinner specific style fixes */ +.ui-controlgroup-vertical .ui-spinner-input { + + /* Support: IE8 only, Android < 4.4 only */ + width: 75%; + width: calc( 100% - 2.4em ); +} +.ui-controlgroup-vertical .ui-spinner .ui-spinner-up { + border-top-style: solid; +} + +.ui-checkboxradio-label .ui-icon-background { + box-shadow: inset 1px 1px 1px #ccc; + border-radius: .12em; + border: none; +} +.ui-checkboxradio-radio-label .ui-icon-background { + width: 16px; + height: 16px; + border-radius: 1em; + overflow: visible; + border: none; +} +.ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon, +.ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon { + background-image: none; + width: 8px; + height: 8px; + border-width: 4px; + border-style: solid; +} +.ui-checkboxradio-disabled { + pointer-events: none; +} +.ui-datepicker { + width: 17em; + padding: .2em .2em 0; + display: none; +} +.ui-datepicker .ui-datepicker-header { + position: relative; + padding: .2em 0; +} +.ui-datepicker .ui-datepicker-prev, +.ui-datepicker .ui-datepicker-next { + position: absolute; + top: 2px; + width: 1.8em; + height: 1.8em; +} +.ui-datepicker .ui-datepicker-prev-hover, +.ui-datepicker .ui-datepicker-next-hover { + top: 1px; +} +.ui-datepicker .ui-datepicker-prev { + left: 2px; +} +.ui-datepicker .ui-datepicker-next { + right: 2px; +} +.ui-datepicker .ui-datepicker-prev-hover { + left: 1px; +} +.ui-datepicker .ui-datepicker-next-hover { + right: 1px; +} +.ui-datepicker .ui-datepicker-prev span, +.ui-datepicker .ui-datepicker-next span { + display: block; + position: absolute; + left: 50%; + margin-left: -8px; + top: 50%; + margin-top: -8px; +} +.ui-datepicker .ui-datepicker-title { + margin: 0 2.3em; + line-height: 1.8em; + text-align: center; +} +.ui-datepicker .ui-datepicker-title select { + font-size: 1em; + margin: 1px 0; +} +.ui-datepicker select.ui-datepicker-month, +.ui-datepicker select.ui-datepicker-year { + width: 45%; +} +.ui-datepicker table { + width: 100%; + font-size: .9em; + border-collapse: collapse; + margin: 0 0 .4em; +} +.ui-datepicker th { + padding: .7em .3em; + text-align: center; + font-weight: bold; + border: 0; +} +.ui-datepicker td { + border: 0; + padding: 1px; +} +.ui-datepicker td span, +.ui-datepicker td a { + display: block; + padding: .2em; + text-align: right; + text-decoration: none; +} +.ui-datepicker .ui-datepicker-buttonpane { + background-image: none; + margin: .7em 0 0 0; + padding: 0 .2em; + border-left: 0; + border-right: 0; + border-bottom: 0; +} +.ui-datepicker .ui-datepicker-buttonpane button { + float: right; + margin: .5em .2em .4em; + cursor: pointer; + padding: .2em .6em .3em .6em; + width: auto; + overflow: visible; +} +.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { + float: left; +} + +/* with multiple calendars */ +.ui-datepicker.ui-datepicker-multi { + width: auto; +} +.ui-datepicker-multi .ui-datepicker-group { + float: left; +} +.ui-datepicker-multi .ui-datepicker-group table { + width: 95%; + margin: 0 auto .4em; +} +.ui-datepicker-multi-2 .ui-datepicker-group { + width: 50%; +} +.ui-datepicker-multi-3 .ui-datepicker-group { + width: 33.3%; +} +.ui-datepicker-multi-4 .ui-datepicker-group { + width: 25%; +} +.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header, +.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { + border-left-width: 0; +} +.ui-datepicker-multi .ui-datepicker-buttonpane { + clear: left; +} +.ui-datepicker-row-break { + clear: both; + width: 100%; + font-size: 0; +} + +/* RTL support */ +.ui-datepicker-rtl { + direction: rtl; +} +.ui-datepicker-rtl .ui-datepicker-prev { + right: 2px; + left: auto; +} +.ui-datepicker-rtl .ui-datepicker-next { + left: 2px; + right: auto; +} +.ui-datepicker-rtl .ui-datepicker-prev:hover { + right: 1px; + left: auto; +} +.ui-datepicker-rtl .ui-datepicker-next:hover { + left: 1px; + right: auto; +} +.ui-datepicker-rtl .ui-datepicker-buttonpane { + clear: right; +} +.ui-datepicker-rtl .ui-datepicker-buttonpane button { + float: left; +} +.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current, +.ui-datepicker-rtl .ui-datepicker-group { + float: right; +} +.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header, +.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { + border-right-width: 0; + border-left-width: 1px; +} + +/* Icons */ +.ui-datepicker .ui-icon { + display: block; + text-indent: -99999px; + overflow: hidden; + background-repeat: no-repeat; + left: .5em; + top: .3em; +} +.ui-dialog { + position: absolute; + top: 0; + left: 0; + padding: .2em; + outline: 0; +} +.ui-dialog .ui-dialog-titlebar { + padding: .4em 1em; + position: relative; +} +.ui-dialog .ui-dialog-title { + float: left; + margin: .1em 0; + white-space: nowrap; + width: 90%; + overflow: hidden; + text-overflow: ellipsis; +} +.ui-dialog .ui-dialog-titlebar-close { + position: absolute; + right: .3em; + top: 50%; + width: 20px; + margin: -10px 0 0 0; + padding: 1px; + height: 20px; +} +.ui-dialog .ui-dialog-content { + position: relative; + border: 0; + padding: .5em 1em; + background: none; + overflow: auto; +} +.ui-dialog .ui-dialog-buttonpane { + text-align: left; + border-width: 1px 0 0 0; + background-image: none; + margin-top: .5em; + padding: .3em 1em .5em .4em; +} +.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { + float: right; +} +.ui-dialog .ui-dialog-buttonpane button { + margin: .5em .4em .5em 0; + cursor: pointer; +} +.ui-dialog .ui-resizable-n { + height: 2px; + top: 0; +} +.ui-dialog .ui-resizable-e { + width: 2px; + right: 0; +} +.ui-dialog .ui-resizable-s { + height: 2px; + bottom: 0; +} +.ui-dialog .ui-resizable-w { + width: 2px; + left: 0; +} +.ui-dialog .ui-resizable-se, +.ui-dialog .ui-resizable-sw, +.ui-dialog .ui-resizable-ne, +.ui-dialog .ui-resizable-nw { + width: 7px; + height: 7px; +} +.ui-dialog .ui-resizable-se { + right: 0; + bottom: 0; +} +.ui-dialog .ui-resizable-sw { + left: 0; + bottom: 0; +} +.ui-dialog .ui-resizable-ne { + right: 0; + top: 0; +} +.ui-dialog .ui-resizable-nw { + left: 0; + top: 0; +} +.ui-draggable .ui-dialog-titlebar { + cursor: move; +} +.ui-draggable-handle { + -ms-touch-action: none; + touch-action: none; +} +.ui-resizable { + position: relative; +} +.ui-resizable-handle { + position: absolute; + font-size: 0.1px; + display: block; + -ms-touch-action: none; + touch-action: none; +} +.ui-resizable-disabled .ui-resizable-handle, +.ui-resizable-autohide .ui-resizable-handle { + display: none; +} +.ui-resizable-n { + cursor: n-resize; + height: 7px; + width: 100%; + top: -5px; + left: 0; +} +.ui-resizable-s { + cursor: s-resize; + height: 7px; + width: 100%; + bottom: -5px; + left: 0; +} +.ui-resizable-e { + cursor: e-resize; + width: 7px; + right: -5px; + top: 0; + height: 100%; +} +.ui-resizable-w { + cursor: w-resize; + width: 7px; + left: -5px; + top: 0; + height: 100%; +} +.ui-resizable-se { + cursor: se-resize; + width: 12px; + height: 12px; + right: 1px; + bottom: 1px; +} +.ui-resizable-sw { + cursor: sw-resize; + width: 9px; + height: 9px; + left: -5px; + bottom: -5px; +} +.ui-resizable-nw { + cursor: nw-resize; + width: 9px; + height: 9px; + left: -5px; + top: -5px; +} +.ui-resizable-ne { + cursor: ne-resize; + width: 9px; + height: 9px; + right: -5px; + top: -5px; +} +.ui-progressbar { + height: 2em; + text-align: left; + overflow: hidden; +} +.ui-progressbar .ui-progressbar-value { + margin: -1px; + height: 100%; +} +.ui-progressbar .ui-progressbar-overlay { + background: url("data:image/gif;base64,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"); + height: 100%; + filter: alpha(opacity=25); /* support: IE8 */ + opacity: 0.25; +} +.ui-progressbar-indeterminate .ui-progressbar-value { + background-image: none; +} +.ui-selectable { + -ms-touch-action: none; + touch-action: none; +} +.ui-selectable-helper { + position: absolute; + z-index: 100; + border: 1px dotted black; +} +.ui-selectmenu-menu { + padding: 0; + margin: 0; + position: absolute; + top: 0; + left: 0; + display: none; +} +.ui-selectmenu-menu .ui-menu { + overflow: auto; + overflow-x: hidden; + padding-bottom: 1px; +} +.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup { + font-size: 1em; + font-weight: bold; + line-height: 1.5; + padding: 2px 0.4em; + margin: 0.5em 0 0 0; + height: auto; + border: 0; +} +.ui-selectmenu-open { + display: block; +} +.ui-selectmenu-text { + display: block; + margin-right: 20px; + overflow: hidden; + text-overflow: ellipsis; +} +.ui-selectmenu-button.ui-button { + text-align: left; + white-space: nowrap; + width: 14em; +} +.ui-selectmenu-icon.ui-icon { + float: right; + margin-top: 0; +} +.ui-slider { + position: relative; + text-align: left; +} +.ui-slider .ui-slider-handle { + position: absolute; + z-index: 2; + width: 1.2em; + height: 1.2em; + cursor: default; + -ms-touch-action: none; + touch-action: none; +} +.ui-slider .ui-slider-range { + position: absolute; + z-index: 1; + font-size: .7em; + display: block; + border: 0; + background-position: 0 0; +} + +/* support: IE8 - See #6727 */ +.ui-slider.ui-state-disabled .ui-slider-handle, +.ui-slider.ui-state-disabled .ui-slider-range { + filter: inherit; +} + +.ui-slider-horizontal { + height: .8em; +} +.ui-slider-horizontal .ui-slider-handle { + top: -.3em; + margin-left: -.6em; +} +.ui-slider-horizontal .ui-slider-range { + top: 0; + height: 100%; +} +.ui-slider-horizontal .ui-slider-range-min { + left: 0; +} +.ui-slider-horizontal .ui-slider-range-max { + right: 0; +} + +.ui-slider-vertical { + width: .8em; + height: 100px; +} +.ui-slider-vertical .ui-slider-handle { + left: -.3em; + margin-left: 0; + margin-bottom: -.6em; +} +.ui-slider-vertical .ui-slider-range { + left: 0; + width: 100%; +} +.ui-slider-vertical .ui-slider-range-min { + bottom: 0; +} +.ui-slider-vertical .ui-slider-range-max { + top: 0; +} +.ui-sortable-handle { + -ms-touch-action: none; + touch-action: none; +} +.ui-spinner { + position: relative; + display: inline-block; + overflow: hidden; + padding: 0; + vertical-align: middle; +} +.ui-spinner-input { + border: none; + background: none; + color: inherit; + padding: .222em 0; + margin: .2em 0; + vertical-align: middle; + margin-left: .4em; + margin-right: 2em; +} +.ui-spinner-button { + width: 1.6em; + height: 50%; + font-size: .5em; + padding: 0; + margin: 0; + text-align: center; + position: absolute; + cursor: default; + display: block; + overflow: hidden; + right: 0; +} +/* more specificity required here to override default borders */ +.ui-spinner a.ui-spinner-button { + border-top-style: none; + border-bottom-style: none; + border-right-style: none; +} +.ui-spinner-up { + top: 0; +} +.ui-spinner-down { + bottom: 0; +} +.ui-tabs { + position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ + padding: .2em; +} +.ui-tabs .ui-tabs-nav { + margin: 0; + padding: .2em .2em 0; +} +.ui-tabs .ui-tabs-nav li { + list-style: none; + float: left; + position: relative; + top: 0; + margin: 1px .2em 0 0; + border-bottom-width: 0; + padding: 0; + white-space: nowrap; +} +.ui-tabs .ui-tabs-nav .ui-tabs-anchor { + float: left; + padding: .5em 1em; + text-decoration: none; +} +.ui-tabs .ui-tabs-nav li.ui-tabs-active { + margin-bottom: -1px; + padding-bottom: 1px; +} +.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor, +.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor, +.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor { + cursor: text; +} +.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor { + cursor: pointer; +} +.ui-tabs .ui-tabs-panel { + display: block; + border-width: 0; + padding: 1em 1.4em; + background: none; +} +.ui-tooltip { + padding: 8px; + position: absolute; + z-index: 9999; + max-width: 300px; +} +body .ui-tooltip { + border-width: 2px; +} +/* Component containers +----------------------------------*/ +.ui-widget { + font-family: Verdana,Arial,sans-serif; + font-size: 1.1em; +} +.ui-widget .ui-widget { + font-size: 1em; +} +.ui-widget input, +.ui-widget select, +.ui-widget textarea, +.ui-widget button { + font-family: Verdana,Arial,sans-serif; + font-size: 1em; +} +.ui-widget.ui-widget-content { + border: 1px solid #d3d3d3; +} +.ui-widget-content { + border: 1px solid #aaaaaa; + background: #ffffff; + color: #222222; +} +.ui-widget-content a { + color: #222222; +} +.ui-widget-header { + border: 1px solid #aaaaaa; + background: #cccccc url("images/ui-bg_highlight-soft_75_cccccc_1x100.png") 50% 50% repeat-x; + color: #222222; + font-weight: bold; +} +.ui-widget-header a { + color: #222222; +} + +/* Interaction states +----------------------------------*/ +.ui-state-default, +.ui-widget-content .ui-state-default, +.ui-widget-header .ui-state-default, +.ui-button, + +/* We use html here because we need a greater specificity to make sure disabled +works properly when clicked or hovered */ +html .ui-button.ui-state-disabled:hover, +html .ui-button.ui-state-disabled:active { + border: 1px solid #d3d3d3; + background: #e6e6e6 url("images/ui-bg_glass_75_e6e6e6_1x400.png") 50% 50% repeat-x; + font-weight: normal; + color: #555555; +} +.ui-state-default a, +.ui-state-default a:link, +.ui-state-default a:visited, +a.ui-button, +a:link.ui-button, +a:visited.ui-button, +.ui-button { + color: #555555; + text-decoration: none; +} +.ui-state-hover, +.ui-widget-content .ui-state-hover, +.ui-widget-header .ui-state-hover, +.ui-state-focus, +.ui-widget-content .ui-state-focus, +.ui-widget-header .ui-state-focus, +.ui-button:hover, +.ui-button:focus { + border: 1px solid #999999; + background: #dadada url("images/ui-bg_glass_75_dadada_1x400.png") 50% 50% repeat-x; + font-weight: normal; + color: #212121; +} +.ui-state-hover a, +.ui-state-hover a:hover, +.ui-state-hover a:link, +.ui-state-hover a:visited, +.ui-state-focus a, +.ui-state-focus a:hover, +.ui-state-focus a:link, +.ui-state-focus a:visited, +a.ui-button:hover, +a.ui-button:focus { + color: #212121; + text-decoration: none; +} + +.ui-visual-focus { + box-shadow: 0 0 3px 1px rgb(94, 158, 214); +} +.ui-state-active, +.ui-widget-content .ui-state-active, +.ui-widget-header .ui-state-active, +a.ui-button:active, +.ui-button:active, +.ui-button.ui-state-active:hover { + border: 1px solid #aaaaaa; + background: #ffffff url("images/ui-bg_glass_65_ffffff_1x400.png") 50% 50% repeat-x; + font-weight: normal; + color: #212121; +} +.ui-icon-background, +.ui-state-active .ui-icon-background { + border: #aaaaaa; + background-color: #212121; +} +.ui-state-active a, +.ui-state-active a:link, +.ui-state-active a:visited { + color: #212121; + text-decoration: none; +} + +/* Interaction Cues +----------------------------------*/ +.ui-state-highlight, +.ui-widget-content .ui-state-highlight, +.ui-widget-header .ui-state-highlight { + border: 1px solid #fcefa1; + background: #fbf9ee url("images/ui-bg_glass_55_fbf9ee_1x400.png") 50% 50% repeat-x; + color: #363636; +} +.ui-state-checked { + border: 1px solid #fcefa1; + background: #fbf9ee; +} +.ui-state-highlight a, +.ui-widget-content .ui-state-highlight a, +.ui-widget-header .ui-state-highlight a { + color: #363636; +} +.ui-state-error, +.ui-widget-content .ui-state-error, +.ui-widget-header .ui-state-error { + border: 1px solid #cd0a0a; + background: #fef1ec url("images/ui-bg_glass_95_fef1ec_1x400.png") 50% 50% repeat-x; + color: #cd0a0a; +} +.ui-state-error a, +.ui-widget-content .ui-state-error a, +.ui-widget-header .ui-state-error a { + color: #cd0a0a; +} +.ui-state-error-text, +.ui-widget-content .ui-state-error-text, +.ui-widget-header .ui-state-error-text { + color: #cd0a0a; +} +.ui-priority-primary, +.ui-widget-content .ui-priority-primary, +.ui-widget-header .ui-priority-primary { + font-weight: bold; +} +.ui-priority-secondary, +.ui-widget-content .ui-priority-secondary, +.ui-widget-header .ui-priority-secondary { + opacity: .7; + filter:Alpha(Opacity=70); /* support: IE8 */ + font-weight: normal; +} +.ui-state-disabled, +.ui-widget-content .ui-state-disabled, +.ui-widget-header .ui-state-disabled { + opacity: .35; + filter:Alpha(Opacity=35); /* support: IE8 */ + background-image: none; +} +.ui-state-disabled .ui-icon { + filter:Alpha(Opacity=35); /* support: IE8 - See #6059 */ +} + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { + width: 16px; + height: 16px; +} +.ui-icon, +.ui-widget-content .ui-icon { + background-image: url("images/ui-icons_222222_256x240.png"); +} +.ui-widget-header .ui-icon { + background-image: url("images/ui-icons_222222_256x240.png"); +} +.ui-state-hover .ui-icon, +.ui-state-focus .ui-icon, +.ui-button:hover .ui-icon, +.ui-button:focus .ui-icon { + background-image: url("images/ui-icons_454545_256x240.png"); +} +.ui-state-active .ui-icon, +.ui-button:active .ui-icon { + background-image: url("images/ui-icons_454545_256x240.png"); +} +.ui-state-highlight .ui-icon, +.ui-button .ui-state-highlight.ui-icon { + background-image: url("images/ui-icons_2e83ff_256x240.png"); +} +.ui-state-error .ui-icon, +.ui-state-error-text .ui-icon { + background-image: url("images/ui-icons_cd0a0a_256x240.png"); +} +.ui-button .ui-icon { + background-image: url("images/ui-icons_888888_256x240.png"); +} + +/* positioning */ +.ui-icon-blank { background-position: 16px 16px; } +.ui-icon-caret-1-n { background-position: 0 0; } +.ui-icon-caret-1-ne { background-position: -16px 0; } +.ui-icon-caret-1-e { background-position: -32px 0; } +.ui-icon-caret-1-se { background-position: -48px 0; } +.ui-icon-caret-1-s { background-position: -65px 0; } +.ui-icon-caret-1-sw { background-position: -80px 0; } +.ui-icon-caret-1-w { background-position: -96px 0; } +.ui-icon-caret-1-nw { background-position: -112px 0; } +.ui-icon-caret-2-n-s { background-position: -128px 0; } +.ui-icon-caret-2-e-w { background-position: -144px 0; } +.ui-icon-triangle-1-n { background-position: 0 -16px; } +.ui-icon-triangle-1-ne { background-position: -16px -16px; } +.ui-icon-triangle-1-e { background-position: -32px -16px; } +.ui-icon-triangle-1-se { background-position: -48px -16px; } +.ui-icon-triangle-1-s { background-position: -65px -16px; } +.ui-icon-triangle-1-sw { background-position: -80px -16px; } +.ui-icon-triangle-1-w { background-position: -96px -16px; } +.ui-icon-triangle-1-nw { background-position: -112px -16px; } +.ui-icon-triangle-2-n-s { background-position: -128px -16px; } +.ui-icon-triangle-2-e-w { background-position: -144px -16px; } +.ui-icon-arrow-1-n { background-position: 0 -32px; } +.ui-icon-arrow-1-ne { background-position: -16px -32px; } +.ui-icon-arrow-1-e { background-position: -32px -32px; } +.ui-icon-arrow-1-se { background-position: -48px -32px; } +.ui-icon-arrow-1-s { background-position: -65px -32px; } +.ui-icon-arrow-1-sw { background-position: -80px -32px; } +.ui-icon-arrow-1-w { background-position: -96px -32px; } +.ui-icon-arrow-1-nw { background-position: -112px -32px; } +.ui-icon-arrow-2-n-s { background-position: -128px -32px; } +.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } +.ui-icon-arrow-2-e-w { background-position: -160px -32px; } +.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } +.ui-icon-arrowstop-1-n { background-position: -192px -32px; } +.ui-icon-arrowstop-1-e { background-position: -208px -32px; } +.ui-icon-arrowstop-1-s { background-position: -224px -32px; } +.ui-icon-arrowstop-1-w { background-position: -240px -32px; } +.ui-icon-arrowthick-1-n { background-position: 1px -48px; } +.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } +.ui-icon-arrowthick-1-e { background-position: -32px -48px; } +.ui-icon-arrowthick-1-se { background-position: -48px -48px; } +.ui-icon-arrowthick-1-s { background-position: -64px -48px; } +.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } +.ui-icon-arrowthick-1-w { background-position: -96px -48px; } +.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } +.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } +.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } +.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } +.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } +.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } +.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } +.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } +.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } +.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } +.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } +.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } +.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } +.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } +.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } +.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } +.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } +.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } +.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } +.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } +.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } +.ui-icon-arrow-4 { background-position: 0 -80px; } +.ui-icon-arrow-4-diag { background-position: -16px -80px; } +.ui-icon-extlink { background-position: -32px -80px; } +.ui-icon-newwin { background-position: -48px -80px; } +.ui-icon-refresh { background-position: -64px -80px; } +.ui-icon-shuffle { background-position: -80px -80px; } +.ui-icon-transfer-e-w { background-position: -96px -80px; } +.ui-icon-transferthick-e-w { background-position: -112px -80px; } +.ui-icon-folder-collapsed { background-position: 0 -96px; } +.ui-icon-folder-open { background-position: -16px -96px; } +.ui-icon-document { background-position: -32px -96px; } +.ui-icon-document-b { background-position: -48px -96px; } +.ui-icon-note { background-position: -64px -96px; } +.ui-icon-mail-closed { background-position: -80px -96px; } +.ui-icon-mail-open { background-position: -96px -96px; } +.ui-icon-suitcase { background-position: -112px -96px; } +.ui-icon-comment { background-position: -128px -96px; } +.ui-icon-person { background-position: -144px -96px; } +.ui-icon-print { background-position: -160px -96px; } +.ui-icon-trash { background-position: -176px -96px; } +.ui-icon-locked { background-position: -192px -96px; } +.ui-icon-unlocked { background-position: -208px -96px; } +.ui-icon-bookmark { background-position: -224px -96px; } +.ui-icon-tag { background-position: -240px -96px; } +.ui-icon-home { background-position: 0 -112px; } +.ui-icon-flag { background-position: -16px -112px; } +.ui-icon-calendar { background-position: -32px -112px; } +.ui-icon-cart { background-position: -48px -112px; } +.ui-icon-pencil { background-position: -64px -112px; } +.ui-icon-clock { background-position: -80px -112px; } +.ui-icon-disk { background-position: -96px -112px; } +.ui-icon-calculator { background-position: -112px -112px; } +.ui-icon-zoomin { background-position: -128px -112px; } +.ui-icon-zoomout { background-position: -144px -112px; } +.ui-icon-search { background-position: -160px -112px; } +.ui-icon-wrench { background-position: -176px -112px; } +.ui-icon-gear { background-position: -192px -112px; } +.ui-icon-heart { background-position: -208px -112px; } +.ui-icon-star { background-position: -224px -112px; } +.ui-icon-link { background-position: -240px -112px; } +.ui-icon-cancel { background-position: 0 -128px; } +.ui-icon-plus { background-position: -16px -128px; } +.ui-icon-plusthick { background-position: -32px -128px; } +.ui-icon-minus { background-position: -48px -128px; } +.ui-icon-minusthick { background-position: -64px -128px; } +.ui-icon-close { background-position: -80px -128px; } +.ui-icon-closethick { background-position: -96px -128px; } +.ui-icon-key { background-position: -112px -128px; } +.ui-icon-lightbulb { background-position: -128px -128px; } +.ui-icon-scissors { background-position: -144px -128px; } +.ui-icon-clipboard { background-position: -160px -128px; } +.ui-icon-copy { background-position: -176px -128px; } +.ui-icon-contact { background-position: -192px -128px; } +.ui-icon-image { background-position: -208px -128px; } +.ui-icon-video { background-position: -224px -128px; } +.ui-icon-script { background-position: -240px -128px; } +.ui-icon-alert { background-position: 0 -144px; } +.ui-icon-info { background-position: -16px -144px; } +.ui-icon-notice { background-position: -32px -144px; } +.ui-icon-help { background-position: -48px -144px; } +.ui-icon-check { background-position: -64px -144px; } +.ui-icon-bullet { background-position: -80px -144px; } +.ui-icon-radio-on { background-position: -96px -144px; } +.ui-icon-radio-off { background-position: -112px -144px; } +.ui-icon-pin-w { background-position: -128px -144px; } +.ui-icon-pin-s { background-position: -144px -144px; } +.ui-icon-play { background-position: 0 -160px; } +.ui-icon-pause { background-position: -16px -160px; } +.ui-icon-seek-next { background-position: -32px -160px; } +.ui-icon-seek-prev { background-position: -48px -160px; } +.ui-icon-seek-end { background-position: -64px -160px; } +.ui-icon-seek-start { background-position: -80px -160px; } +/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ +.ui-icon-seek-first { background-position: -80px -160px; } +.ui-icon-stop { background-position: -96px -160px; } +.ui-icon-eject { background-position: -112px -160px; } +.ui-icon-volume-off { background-position: -128px -160px; } +.ui-icon-volume-on { background-position: -144px -160px; } +.ui-icon-power { background-position: 0 -176px; } +.ui-icon-signal-diag { background-position: -16px -176px; } +.ui-icon-signal { background-position: -32px -176px; } +.ui-icon-battery-0 { background-position: -48px -176px; } +.ui-icon-battery-1 { background-position: -64px -176px; } +.ui-icon-battery-2 { background-position: -80px -176px; } +.ui-icon-battery-3 { background-position: -96px -176px; } +.ui-icon-circle-plus { background-position: 0 -192px; } +.ui-icon-circle-minus { background-position: -16px -192px; } +.ui-icon-circle-close { background-position: -32px -192px; } +.ui-icon-circle-triangle-e { background-position: -48px -192px; } +.ui-icon-circle-triangle-s { background-position: -64px -192px; } +.ui-icon-circle-triangle-w { background-position: -80px -192px; } +.ui-icon-circle-triangle-n { background-position: -96px -192px; } +.ui-icon-circle-arrow-e { background-position: -112px -192px; } +.ui-icon-circle-arrow-s { background-position: -128px -192px; } +.ui-icon-circle-arrow-w { background-position: -144px -192px; } +.ui-icon-circle-arrow-n { background-position: -160px -192px; } +.ui-icon-circle-zoomin { background-position: -176px -192px; } +.ui-icon-circle-zoomout { background-position: -192px -192px; } +.ui-icon-circle-check { background-position: -208px -192px; } +.ui-icon-circlesmall-plus { background-position: 0 -208px; } +.ui-icon-circlesmall-minus { background-position: -16px -208px; } +.ui-icon-circlesmall-close { background-position: -32px -208px; } +.ui-icon-squaresmall-plus { background-position: -48px -208px; } +.ui-icon-squaresmall-minus { background-position: -64px -208px; } +.ui-icon-squaresmall-close { background-position: -80px -208px; } +.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } +.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } +.ui-icon-grip-solid-vertical { background-position: -32px -224px; } +.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } +.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } +.ui-icon-grip-diagonal-se { background-position: -80px -224px; } + + +/* Misc visuals +----------------------------------*/ + +/* Corner radius */ +.ui-corner-all, +.ui-corner-top, +.ui-corner-left, +.ui-corner-tl { + border-top-left-radius: 4px; +} +.ui-corner-all, +.ui-corner-top, +.ui-corner-right, +.ui-corner-tr { + border-top-right-radius: 4px; +} +.ui-corner-all, +.ui-corner-bottom, +.ui-corner-left, +.ui-corner-bl { + border-bottom-left-radius: 4px; +} +.ui-corner-all, +.ui-corner-bottom, +.ui-corner-right, +.ui-corner-br { + border-bottom-right-radius: 4px; +} + +/* Overlays */ +.ui-widget-overlay { + background: #aaaaaa; + opacity: .3; + filter: Alpha(Opacity=30); /* support: IE8 */ +} +.ui-widget-shadow { + -webkit-box-shadow: -8px -8px 8px #aaaaaa; + box-shadow: -8px -8px 8px #aaaaaa; +} diff --git a/classroom/assets/css/slick.css b/classroom/assets/css/slick.css new file mode 100644 index 00000000..57477e84 --- /dev/null +++ b/classroom/assets/css/slick.css @@ -0,0 +1,119 @@ +/* Slider */ +.slick-slider +{ + position: relative; + + display: block; + box-sizing: border-box; + + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + + -webkit-touch-callout: none; + -khtml-user-select: none; + -ms-touch-action: pan-y; + touch-action: pan-y; + -webkit-tap-highlight-color: transparent; +} + +.slick-list +{ + position: relative; + + display: block; + overflow: hidden; + + margin: 0; + padding: 0; +} +.slick-list:focus +{ + outline: none; +} +.slick-list.dragging +{ + cursor: pointer; + cursor: hand; +} + +.slick-slider .slick-track, +.slick-slider .slick-list +{ + -webkit-transform: translate3d(0, 0, 0); + -moz-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} + +.slick-track +{ + position: relative; + top: 0; + left: 0; + + display: block; + margin-left: auto; + margin-right: auto; +} +.slick-track:before, +.slick-track:after +{ + display: table; + + content: ''; +} +.slick-track:after +{ + clear: both; +} +.slick-loading .slick-track +{ + visibility: hidden; +} + +.slick-slide +{ + display: none; + float: left; + + height: 100%; + min-height: 1px; +} +[dir='rtl'] .slick-slide +{ + float: right; +} +.slick-slide img +{ + display: block; +} +.slick-slide.slick-loading img +{ + display: none; +} +.slick-slide.dragging img +{ + pointer-events: none; +} +.slick-initialized .slick-slide +{ + display: block; +} +.slick-loading .slick-slide +{ + visibility: hidden; +} +.slick-vertical .slick-slide +{ + display: block; + + height: auto; + + border: 1px solid transparent; +} +.slick-arrow.slick-hidden { + display: none; +} diff --git a/classroom/assets/js/lib/bootstrap.js b/classroom/assets/js/lib/bootstrap.js new file mode 100644 index 00000000..e5a24299 --- /dev/null +++ b/classroom/assets/js/lib/bootstrap.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v4.4.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jquery"),require("popper.js")):"function"==typeof define&&define.amd?define(["exports","jquery","popper.js"],e):e((t=t||self).bootstrap={},t.jQuery,t.Popper)}(this,function(t,g,u){"use strict";function i(t,e){for(var n=0;nthis._items.length-1||t<0))if(this._isSliding)g(this._element).one(Y.SLID,function(){return e.to(t)});else{if(n===t)return this.pause(),void this.cycle();var i=ndocument.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},t._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},t._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right
          ',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:Se,popperConfig:null},Fe="show",Ue="out",We={HIDE:"hide"+Oe,HIDDEN:"hidden"+Oe,SHOW:"show"+Oe,SHOWN:"shown"+Oe,INSERTED:"inserted"+Oe,CLICK:"click"+Oe,FOCUSIN:"focusin"+Oe,FOCUSOUT:"focusout"+Oe,MOUSEENTER:"mouseenter"+Oe,MOUSELEAVE:"mouseleave"+Oe},qe="fade",Me="show",Ke=".tooltip-inner",Qe=".arrow",Be="hover",Ve="focus",Ye="click",ze="manual",Xe=function(){function i(t,e){if("undefined"==typeof u)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org/)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var t=i.prototype;return t.enable=function(){this._isEnabled=!0},t.disable=function(){this._isEnabled=!1},t.toggleEnabled=function(){this._isEnabled=!this._isEnabled},t.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=g(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(g(this.getTipElement()).hasClass(Me))return void this._leave(null,this);this._enter(null,this)}},t.dispose=function(){clearTimeout(this._timeout),g.removeData(this.element,this.constructor.DATA_KEY),g(this.element).off(this.constructor.EVENT_KEY),g(this.element).closest(".modal").off("hide.bs.modal",this._hideModalHandler),this.tip&&g(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},t.show=function(){var e=this;if("none"===g(this.element).css("display"))throw new Error("Please use show on visible elements");var t=g.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){g(this.element).trigger(t);var n=_.findShadowRoot(this.element),i=g.contains(null!==n?n:this.element.ownerDocument.documentElement,this.element);if(t.isDefaultPrevented()||!i)return;var o=this.getTipElement(),r=_.getUID(this.constructor.NAME);o.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&g(o).addClass(qe);var s="function"==typeof this.config.placement?this.config.placement.call(this,o,this.element):this.config.placement,a=this._getAttachment(s);this.addAttachmentClass(a);var l=this._getContainer();g(o).data(this.constructor.DATA_KEY,this),g.contains(this.element.ownerDocument.documentElement,this.tip)||g(o).appendTo(l),g(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new u(this.element,o,this._getPopperConfig(a)),g(o).addClass(Me),"ontouchstart"in document.documentElement&&g(document.body).children().on("mouseover",null,g.noop);var c=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,g(e.element).trigger(e.constructor.Event.SHOWN),t===Ue&&e._leave(null,e)};if(g(this.tip).hasClass(qe)){var h=_.getTransitionDurationFromElement(this.tip);g(this.tip).one(_.TRANSITION_END,c).emulateTransitionEnd(h)}else c()}},t.hide=function(t){function e(){n._hoverState!==Fe&&i.parentNode&&i.parentNode.removeChild(i),n._cleanTipClass(),n.element.removeAttribute("aria-describedby"),g(n.element).trigger(n.constructor.Event.HIDDEN),null!==n._popper&&n._popper.destroy(),t&&t()}var n=this,i=this.getTipElement(),o=g.Event(this.constructor.Event.HIDE);if(g(this.element).trigger(o),!o.isDefaultPrevented()){if(g(i).removeClass(Me),"ontouchstart"in document.documentElement&&g(document.body).children().off("mouseover",null,g.noop),this._activeTrigger[Ye]=!1,this._activeTrigger[Ve]=!1,this._activeTrigger[Be]=!1,g(this.tip).hasClass(qe)){var r=_.getTransitionDurationFromElement(i);g(i).one(_.TRANSITION_END,e).emulateTransitionEnd(r)}else e();this._hoverState=""}},t.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},t.isWithContent=function(){return Boolean(this.getTitle())},t.addAttachmentClass=function(t){g(this.getTipElement()).addClass(Pe+"-"+t)},t.getTipElement=function(){return this.tip=this.tip||g(this.config.template)[0],this.tip},t.setContent=function(){var t=this.getTipElement();this.setElementContent(g(t.querySelectorAll(Ke)),this.getTitle()),g(t).removeClass(qe+" "+Me)},t.setElementContent=function(t,e){"object"!=typeof e||!e.nodeType&&!e.jquery?this.config.html?(this.config.sanitize&&(e=we(e,this.config.whiteList,this.config.sanitizeFn)),t.html(e)):t.text(e):this.config.html?g(e).parent().is(t)||t.empty().append(e):t.text(g(e).text())},t.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t=t||("function"==typeof this.config.title?this.config.title.call(this.element):this.config.title)},t._getPopperConfig=function(t){var e=this;return l({},{placement:t,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:Qe},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}},{},this.config.popperConfig)},t._getOffset=function(){var e=this,t={};return"function"==typeof this.config.offset?t.fn=function(t){return t.offsets=l({},t.offsets,{},e.config.offset(t.offsets,e.element)||{}),t}:t.offset=this.config.offset,t},t._getContainer=function(){return!1===this.config.container?document.body:_.isElement(this.config.container)?g(this.config.container):g(document).find(this.config.container)},t._getAttachment=function(t){return Re[t.toUpperCase()]},t._setListeners=function(){var i=this;this.config.trigger.split(" ").forEach(function(t){if("click"===t)g(i.element).on(i.constructor.Event.CLICK,i.config.selector,function(t){return i.toggle(t)});else if(t!==ze){var e=t===Be?i.constructor.Event.MOUSEENTER:i.constructor.Event.FOCUSIN,n=t===Be?i.constructor.Event.MOUSELEAVE:i.constructor.Event.FOCUSOUT;g(i.element).on(e,i.config.selector,function(t){return i._enter(t)}).on(n,i.config.selector,function(t){return i._leave(t)})}}),this._hideModalHandler=function(){i.element&&i.hide()},g(this.element).closest(".modal").on("hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=l({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},t._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");!this.element.getAttribute("title")&&"string"==t||(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},t._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||g(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?Ve:Be]=!0),g(e.getTipElement()).hasClass(Me)||e._hoverState===Fe?e._hoverState=Fe:(clearTimeout(e._timeout),e._hoverState=Fe,e.config.delay&&e.config.delay.show?e._timeout=setTimeout(function(){e._hoverState===Fe&&e.show()},e.config.delay.show):e.show())},t._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||g(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?Ve:Be]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=Ue,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout(function(){e._hoverState===Ue&&e.hide()},e.config.delay.hide):e.hide())},t._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},t._getConfig=function(t){var e=g(this.element).data();return Object.keys(e).forEach(function(t){-1!==je.indexOf(t)&&delete e[t]}),"number"==typeof(t=l({},this.constructor.Default,{},e,{},"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),_.typeCheckConfig(Ae,t,this.constructor.DefaultType),t.sanitize&&(t.template=we(t.template,t.whiteList,t.sanitizeFn)),t},t._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},t._cleanTipClass=function(){var t=g(this.getTipElement()),e=t.attr("class").match(Le);null!==e&&e.length&&t.removeClass(e.join(""))},t._handlePopperPlacementChange=function(t){var e=t.instance;this.tip=e.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},t._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(g(t).removeClass(qe),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},i._jQueryInterface=function(n){return this.each(function(){var t=g(this).data(Ne),e="object"==typeof n&&n;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),g(this).data(Ne,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.4.1"}},{key:"Default",get:function(){return xe}},{key:"NAME",get:function(){return Ae}},{key:"DATA_KEY",get:function(){return Ne}},{key:"Event",get:function(){return We}},{key:"EVENT_KEY",get:function(){return Oe}},{key:"DefaultType",get:function(){return He}}]),i}();g.fn[Ae]=Xe._jQueryInterface,g.fn[Ae].Constructor=Xe,g.fn[Ae].noConflict=function(){return g.fn[Ae]=ke,Xe._jQueryInterface};var $e="popover",Ge="bs.popover",Je="."+Ge,Ze=g.fn[$e],tn="bs-popover",en=new RegExp("(^|\\s)"+tn+"\\S+","g"),nn=l({},Xe.Default,{placement:"right",trigger:"click",content:"",template:''}),on=l({},Xe.DefaultType,{content:"(string|element|function)"}),rn="fade",sn="show",an=".popover-header",ln=".popover-body",cn={HIDE:"hide"+Je,HIDDEN:"hidden"+Je,SHOW:"show"+Je,SHOWN:"shown"+Je,INSERTED:"inserted"+Je,CLICK:"click"+Je,FOCUSIN:"focusin"+Je,FOCUSOUT:"focusout"+Je,MOUSEENTER:"mouseenter"+Je,MOUSELEAVE:"mouseleave"+Je},hn=function(t){function i(){return t.apply(this,arguments)||this}!function(t,e){t.prototype=Object.create(e.prototype),(t.prototype.constructor=t).__proto__=e}(i,t);var e=i.prototype;return e.isWithContent=function(){return this.getTitle()||this._getContent()},e.addAttachmentClass=function(t){g(this.getTipElement()).addClass(tn+"-"+t)},e.getTipElement=function(){return this.tip=this.tip||g(this.config.template)[0],this.tip},e.setContent=function(){var t=g(this.getTipElement());this.setElementContent(t.find(an),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(ln),e),t.removeClass(rn+" "+sn)},e._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},e._cleanTipClass=function(){var t=g(this.getTipElement()),e=t.attr("class").match(en);null!==e&&0=this._offsets[o]&&("undefined"==typeof this._offsets[o+1]||tthis._items.length-1||t<0))if(this._isSliding)P(this._element).one(Q.SLID,function(){return e.to(t)});else{if(n===t)return this.pause(),void this.cycle();var i=ndocument.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},t._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},t._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right
          ',trigger:"hover focus",title:"",delay:0,html:!(_e={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"}),selector:!(de={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(number|string)",container:"(string|element|boolean)",fallbackPlacement:"(string|array)",boundary:"(string|element)"}),placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent"},pe="out",ve={HIDE:"hide"+he,HIDDEN:"hidden"+he,SHOW:(me="show")+he,SHOWN:"shown"+he,INSERTED:"inserted"+he,CLICK:"click"+he,FOCUSIN:"focusin"+he,FOCUSOUT:"focusout"+he,MOUSEENTER:"mouseenter"+he,MOUSELEAVE:"mouseleave"+he},Ee="fade",ye="show",Te=".tooltip-inner",Ce=".arrow",Ie="hover",Ae="focus",De="click",be="manual",Se=function(){function i(t,e){if("undefined"==typeof c)throw new TypeError("Bootstrap tooltips require Popper.js (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var t=i.prototype;return t.enable=function(){this._isEnabled=!0},t.disable=function(){this._isEnabled=!1},t.toggleEnabled=function(){this._isEnabled=!this._isEnabled},t.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=oe(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),oe(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(oe(this.getTipElement()).hasClass(ye))return void this._leave(null,this);this._enter(null,this)}},t.dispose=function(){clearTimeout(this._timeout),oe.removeData(this.element,this.constructor.DATA_KEY),oe(this.element).off(this.constructor.EVENT_KEY),oe(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&oe(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,(this._activeTrigger=null)!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},t.show=function(){var e=this;if("none"===oe(this.element).css("display"))throw new Error("Please use show on visible elements");var t=oe.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){oe(this.element).trigger(t);var n=oe.contains(this.element.ownerDocument.documentElement,this.element);if(t.isDefaultPrevented()||!n)return;var i=this.getTipElement(),r=Cn.getUID(this.constructor.NAME);i.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&oe(i).addClass(Ee);var s="function"==typeof this.config.placement?this.config.placement.call(this,i,this.element):this.config.placement,o=this._getAttachment(s);this.addAttachmentClass(o);var a=!1===this.config.container?document.body:oe(this.config.container);oe(i).data(this.constructor.DATA_KEY,this),oe.contains(this.element.ownerDocument.documentElement,this.tip)||oe(i).appendTo(a),oe(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new c(this.element,i,{placement:o,modifiers:{offset:{offset:this.config.offset},flip:{behavior:this.config.fallbackPlacement},arrow:{element:Ce},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){e._handlePopperPlacementChange(t)}}),oe(i).addClass(ye),"ontouchstart"in document.documentElement&&oe(document.body).children().on("mouseover",null,oe.noop);var l=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,oe(e.element).trigger(e.constructor.Event.SHOWN),t===pe&&e._leave(null,e)};if(oe(this.tip).hasClass(Ee)){var h=Cn.getTransitionDurationFromElement(this.tip);oe(this.tip).one(Cn.TRANSITION_END,l).emulateTransitionEnd(h)}else l()}},t.hide=function(t){var e=this,n=this.getTipElement(),i=oe.Event(this.constructor.Event.HIDE),r=function(){e._hoverState!==me&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),oe(e.element).trigger(e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(oe(this.element).trigger(i),!i.isDefaultPrevented()){if(oe(n).removeClass(ye),"ontouchstart"in document.documentElement&&oe(document.body).children().off("mouseover",null,oe.noop),this._activeTrigger[De]=!1,this._activeTrigger[Ae]=!1,this._activeTrigger[Ie]=!1,oe(this.tip).hasClass(Ee)){var s=Cn.getTransitionDurationFromElement(n);oe(n).one(Cn.TRANSITION_END,r).emulateTransitionEnd(s)}else r();this._hoverState=""}},t.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},t.isWithContent=function(){return Boolean(this.getTitle())},t.addAttachmentClass=function(t){oe(this.getTipElement()).addClass(ue+"-"+t)},t.getTipElement=function(){return this.tip=this.tip||oe(this.config.template)[0],this.tip},t.setContent=function(){var t=oe(this.getTipElement());this.setElementContent(t.find(Te),this.getTitle()),t.removeClass(Ee+" "+ye)},t.setElementContent=function(t,e){var n=this.config.html;"object"==typeof e&&(e.nodeType||e.jquery)?n?oe(e).parent().is(t)||t.empty().append(e):t.text(oe(e).text()):t[n?"html":"text"](e)},t.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},t._getAttachment=function(t){return _e[t.toUpperCase()]},t._setListeners=function(){var i=this;this.config.trigger.split(" ").forEach(function(t){if("click"===t)oe(i.element).on(i.constructor.Event.CLICK,i.config.selector,function(t){return i.toggle(t)});else if(t!==be){var e=t===Ie?i.constructor.Event.MOUSEENTER:i.constructor.Event.FOCUSIN,n=t===Ie?i.constructor.Event.MOUSELEAVE:i.constructor.Event.FOCUSOUT;oe(i.element).on(e,i.config.selector,function(t){return i._enter(t)}).on(n,i.config.selector,function(t){return i._leave(t)})}oe(i.element).closest(".modal").on("hide.bs.modal",function(){return i.hide()})}),this.config.selector?this.config=h({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},t._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},t._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||oe(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),oe(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?Ae:Ie]=!0),oe(e.getTipElement()).hasClass(ye)||e._hoverState===me?e._hoverState=me:(clearTimeout(e._timeout),e._hoverState=me,e.config.delay&&e.config.delay.show?e._timeout=setTimeout(function(){e._hoverState===me&&e.show()},e.config.delay.show):e.show())},t._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||oe(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),oe(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?Ae:Ie]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=pe,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout(function(){e._hoverState===pe&&e.hide()},e.config.delay.hide):e.hide())},t._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},t._getConfig=function(t){return"number"==typeof(t=h({},this.constructor.Default,oe(this.element).data(),"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),Cn.typeCheckConfig(ae,t,this.constructor.DefaultType),t},t._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},t._cleanTipClass=function(){var t=oe(this.getTipElement()),e=t.attr("class").match(fe);null!==e&&0

          '}),He=h({},Nn.DefaultType,{content:"(string|element|function)"}),We="fade",xe=".popover-header",Ue=".popover-body",Ke={HIDE:"hide"+ke,HIDDEN:"hidden"+ke,SHOW:(Me="show")+ke,SHOWN:"shown"+ke,INSERTED:"inserted"+ke,CLICK:"click"+ke,FOCUSIN:"focusin"+ke,FOCUSOUT:"focusout"+ke,MOUSEENTER:"mouseenter"+ke,MOUSELEAVE:"mouseleave"+ke},Fe=function(t){var e,n;function i(){return t.apply(this,arguments)||this}n=t,(e=i).prototype=Object.create(n.prototype),(e.prototype.constructor=e).__proto__=n;var r=i.prototype;return r.isWithContent=function(){return this.getTitle()||this._getContent()},r.addAttachmentClass=function(t){we(this.getTipElement()).addClass(Le+"-"+t)},r.getTipElement=function(){return this.tip=this.tip||we(this.config.template)[0],this.tip},r.setContent=function(){var t=we(this.getTipElement());this.setElementContent(t.find(xe),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(Ue),e),t.removeClass(We+" "+Me)},r._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},r._cleanTipClass=function(){var t=we(this.getTipElement()),e=t.attr("class").match(je);null!==e&&0=this._offsets[r]&&("undefined"==typeof this._offsets[r+1]||t+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),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-f]{1,6}"+M+"?|("+M+")|.)","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=/([\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(m.childNodes),m.childNodes),t[m.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&&((e?e.ownerDocument||e:m)!==C&&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)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$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[k]=!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:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),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=k,!C.getElementsByName||!C.getElementsByName(k).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){a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),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("!=",$)}),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===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,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]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&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=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(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 j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.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 k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.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(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(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,ge={option:[1,""],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&&N(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;nx",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ae(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ne(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)Ne(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=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n=void 0,r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n}else r&&(Q.set(this,i,k.event.trigger(k.extend(r.shift(),k.Event.prototype),r,this)),e.stopImmediatePropagation())}})):k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/\s*$/g;function Oe(e,t){return N(e,"table")&&N(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r").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 Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.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(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.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?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="
          ",2===Vt.childNodes.length),k.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=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.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,k.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)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.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"===k.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"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.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)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.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?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.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){k.fn[n]=function(e,t){return 0",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;o
          "),o=n.children()[0];return t("body").append(n),i=o.offsetWidth,n.css("overflow","scroll"),i===(s=o.offsetWidth)&&(s=n[0].clientWidth),n.remove(),e=i-s},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.width0?"right":"center",vertical:c<0?"top":h>0?"bottom":"middle"};di(s(h),s(c))?u.important="horizontal":u.important="vertical",e.using.call(this,t,u)}),a.offset(t.extend(D,{using:o}))})},t.ui.position={fit:{left:function(t,e){var s,n=e.within,o=n.isWindow?n.scrollLeft:n.offset.left,a=n.width,r=t.left-e.collisionPosition.marginLeft,h=o-r,l=r+e.collisionWidth-a-o;e.collisionWidth>a?h>0&&l<=0?(s=t.left+h+e.collisionWidth-a-o,t.left+=h-s):t.left=l>0&&h<=0?o:h>l?o+a-e.collisionWidth:o:h>0?t.left+=h:l>0?t.left-=l:t.left=i(t.left-r,t.left)},top:function(t,e){var s,n=e.within,o=n.isWindow?n.scrollTop:n.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,h=o-r,l=r+e.collisionHeight-a-o;e.collisionHeight>a?h>0&&l<=0?(s=t.top+h+e.collisionHeight-a-o,t.top+=h-s):t.top=l>0&&h<=0?o:h>l?o+a-e.collisionHeight:o:h>0?t.top+=h:l>0?t.top-=l:t.top=i(t.top-r,t.top)}},flip:{left:function(t,e){var i,n,o=e.within,a=o.offset.left+o.scrollLeft,r=o.width,h=o.isWindow?o.scrollLeft:o.offset.left,l=t.left-e.collisionPosition.marginLeft,c=l-h,u=l+e.collisionWidth-r-h,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];c<0?((i=t.left+d+p+f+e.collisionWidth-r-a)<0||i0&&((n=t.left-e.collisionPosition.marginLeft+d+p+f-h)>0||s(n)0&&((i=t.top-e.collisionPosition.marginTop+d+p+f-h)>0||s(i)")[0],c=t.each;function u(t,e,i){var s=r[e.type]||{};return null==t?i||!e.def?null:e.def:(t=s.floor?~~t:parseFloat(t),isNaN(t)?e.def:s.mod?(t+s.mod)%s.mod:0>t?0:s.max-1,c(a,function(t,e){e.cache="_"+t,e.props.alpha={idx:3,type:"percent",def:1}}),o.fn=t.extend(o.prototype,{parse:function(e,s,n,r){if(void 0===e)return this._rgba=[null,null,null,null],this;(e.jquery||e.nodeType)&&(e=t(e).css(s),s=void 0);var h=this,l=t.type(e),p=this._rgba=[];return void 0!==s&&(e=[e,s,n,r],l="array"),"string"===l?this.parse(d(e)||i._default):"array"===l?(c(a.rgba.props,function(t,i){p[i.idx]=u(e[i.idx],i)}),this):"object"===l?(c(a,e instanceof o?function(t,i){e[i.cache]&&(h[i.cache]=e[i.cache].slice())}:function(i,s){var n=s.cache;c(s.props,function(t,i){if(!h[n]&&s.to){if("alpha"===t||null==e[t])return;h[n]=s.to(h._rgba)}h[n][i.idx]=u(e[t],i,!0)}),h[n]&&t.inArray(null,h[n].slice(0,3))<0&&(h[n][3]=1,s.from&&(h._rgba=s.from(h[n])))}),this):void 0},is:function(t){var e=o(t),i=!0,s=this;return c(a,function(t,n){var o,a=e[n.cache];return a&&(o=s[n.cache]||n.to&&n.to(s._rgba)||[],c(n.props,function(t,e){if(null!=a[e.idx])return i=a[e.idx]===o[e.idx]})),i}),i},_space:function(){var t=[],e=this;return c(a,function(i,s){e[s.cache]&&t.push(i)}),t.pop()},transition:function(t,e){var i=o(t),s=i._space(),n=a[s],h=0===this.alpha()?o("transparent"):this,l=h[n.cache]||n.to(h._rgba),d=l.slice();return i=i[n.cache],c(n.props,function(t,s){var n=s.idx,o=l[n],a=i[n],h=r[s.type]||{};null!==a&&(null===o?d[n]=a:(h.mod&&(a-o>h.mod/2?o+=h.mod:o-a>h.mod/2&&(o-=h.mod)),d[n]=u((a-o)*e+o,s)))}),this[s](d)},blend:function(e){if(1===this._rgba[3])return this;var i=this._rgba.slice(),s=i.pop(),n=o(e)._rgba;return o(t.map(i,function(t,e){return(1-s)*n[e]+s*t}))},toRgbaString:function(){var e="rgba(",i=t.map(this._rgba,function(t,e){return null==t?e>2?1:0:t});return 1===i[3]&&(i.pop(),e="rgb("),e+i.join()+")"},toHslaString:function(){var e="hsla(",i=t.map(this.hsla(),function(t,e){return null==t&&(t=e>2?1:0),e&&e<3&&(t=Math.round(100*t)+"%"),t});return 1===i[3]&&(i.pop(),e="hsl("),e+i.join()+")"},toHexString:function(e){var i=this._rgba.slice(),s=i.pop();return e&&i.push(~~(255*s)),"#"+t.map(i,function(t){return 1===(t=(t||0).toString(16)).length?"0"+t:t}).join("")},toString:function(){return 0===this._rgba[3]?"transparent":this.toRgbaString()}}),o.fn.parse.prototype=o.fn,a.hsla.to=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e,i,s=t[0]/255,n=t[1]/255,o=t[2]/255,a=t[3],r=Math.max(s,n,o),h=Math.min(s,n,o),l=r-h,c=r+h,u=.5*c;return e=h===r?0:s===r?60*(n-o)/l+360:n===r?60*(o-s)/l+120:60*(s-n)/l+240,i=0===l?0:u<=.5?l/c:l/(2-c),[Math.round(e)%360,i,u,null==a?1:a]},a.hsla.from=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e=t[0]/360,i=t[1],s=t[2],n=t[3],o=s<=.5?s*(1+i):s+i-s*i,a=2*s-o;return[Math.round(255*p(a,o,e+1/3)),Math.round(255*p(a,o,e)),Math.round(255*p(a,o,e-1/3)),n]},c(a,function(e,i){var n=i.props,a=i.cache,r=i.to,h=i.from;o.fn[e]=function(e){if(r&&!this[a]&&(this[a]=r(this._rgba)),void 0===e)return this[a].slice();var i,s=t.type(e),l="array"===s||"object"===s?e:arguments,d=this[a].slice();return c(n,function(t,e){var i=l["object"===s?t:e.idx];null==i&&(i=d[e.idx]),d[e.idx]=u(i,e)}),h?((i=o(h(d)))[a]=d,i):o(d)},c(n,function(i,n){o.fn[i]||(o.fn[i]=function(o){var a,r=t.type(o),h="alpha"===i?this._hsla?"hsla":"rgba":e,l=this[h](),c=l[n.idx];return"undefined"===r?c:("function"===r&&(o=o.call(this,c),r=t.type(o)),null==o&&n.empty?this:("string"===r&&(a=s.exec(o))&&(o=c+parseFloat(a[2])*("+"===a[1]?1:-1)),l[n.idx]=o,this[h](l)))})})}),o.hook=function(e){var i=e.split(" ");c(i,function(e,i){t.cssHooks[i]={set:function(e,s){var n,a,r="";if("transparent"!==s&&("string"!==t.type(s)||(n=d(s)))){if(s=o(n||s),!h.rgba&&1!==s._rgba[3]){for(a="backgroundColor"===i?e.parentNode:e;(""===r||"transparent"===r)&&a&&a.style;)try{r=t.css(a,"backgroundColor"),a=a.parentNode}catch(t){}s=s.blend(r&&"transparent"!==r?r:"_default")}s=s.toRgbaString()}try{e.style[i]=s}catch(t){}}},t.fx.step[i]=function(e){e.colorInit||(e.start=o(e.elem,i),e.end=o(e.end),e.colorInit=!0),t.cssHooks[i].set(e.elem,e.start.transition(e.end,e.pos))}})},o.hook("backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor"),t.cssHooks.borderColor={expand:function(t){var e={};return c(["Top","Right","Bottom","Left"],function(i,s){e["border"+s+"Color"]=t}),e}},i=t.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"}}(r),function(){var e,i=["add","remove","toggle"],s={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};function n(e){var i,s,n=e.ownerDocument.defaultView?e.ownerDocument.defaultView.getComputedStyle(e,null):e.currentStyle,o={};if(n&&n.length&&n[0]&&n[n[0]])for(s=n.length;s--;)"string"==typeof n[i=n[s]]&&(o[t.camelCase(i)]=n[i]);else for(i in n)"string"==typeof n[i]&&(o[i]=n[i]);return o}t.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(e,i){t.fx.step[i]=function(t){("none"!==t.end&&!t.setAttr||1===t.pos&&!t.setAttr)&&(r.style(t.elem,i,t.end),t.setAttr=!0)}}),t.fn.addBack||(t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.effects.animateClass=function(e,o,a,r){var h=t.speed(o,a,r);return this.queue(function(){var o,a=t(this),r=a.attr("class")||"",l=h.children?a.find("*").addBack():a;l=l.map(function(){return{el:t(this),start:n(this)}}),(o=function(){t.each(i,function(t,i){e[i]&&a[i+"Class"](e[i])})})(),l=l.map(function(){return this.end=n(this.el[0]),this.diff=function(e,i){var n,o,a={};for(n in i)o=i[n],e[n]!==o&&(s[n]||!t.fx.step[n]&&isNaN(parseFloat(o))||(a[n]=o));return a}(this.start,this.end),this}),a.attr("class",r),l=l.map(function(){var e=this,i=t.Deferred(),s=t.extend({},h,{queue:!1,complete:function(){i.resolve(e)}});return this.el.animate(this.diff,s),i.promise()}),t.when.apply(t,l.get()).done(function(){o(),t.each(arguments,function(){var e=this.el;t.each(this.diff,function(t){e.css(t,"")})}),h.complete.call(a[0])})})},t.fn.extend({addClass:(e=t.fn.addClass,function(i,s,n,o){return s?t.effects.animateClass.call(this,{add:i},s,n,o):e.apply(this,arguments)}),removeClass:function(e){return function(i,s,n,o){return arguments.length>1?t.effects.animateClass.call(this,{remove:i},s,n,o):e.apply(this,arguments)}}(t.fn.removeClass),toggleClass:function(e){return function(i,s,n,o,a){return"boolean"==typeof s||void 0===s?n?t.effects.animateClass.call(this,s?{add:i}:{remove:i},n,o,a):e.apply(this,arguments):t.effects.animateClass.call(this,{toggle:i},s,n,o)}}(t.fn.toggleClass),switchClass:function(e,i,s,n,o){return t.effects.animateClass.call(this,{add:i,remove:e},s,n,o)}})}(),function(){var e;function i(e,i,s,n){return t.isPlainObject(e)&&(i=e,e=e.effect),e={effect:e},null==i&&(i={}),t.isFunction(i)&&(n=i,s=null,i={}),("number"==typeof i||t.fx.speeds[i])&&(n=s,s=i,i={}),t.isFunction(s)&&(n=s,s=null),i&&t.extend(e,i),s=s||i.duration,e.duration=t.fx.off?0:"number"==typeof s?s:s in t.fx.speeds?t.fx.speeds[s]:t.fx.speeds._default,e.complete=n||i.complete,e}function s(e){return!(e&&"number"!=typeof e&&!t.fx.speeds[e])||("string"==typeof e&&!t.effects.effect[e]||(!!t.isFunction(e)||"object"==typeof e&&!e.effect))}function n(t,e){var i=e.outerWidth(),s=e.outerHeight(),n=/^rect\((-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto)\)$/.exec(t)||["",0,i,s,0];return{top:parseFloat(n[1])||0,right:"auto"===n[2]?i:parseFloat(n[2]),bottom:"auto"===n[3]?s:parseFloat(n[3]),left:parseFloat(n[4])||0}}t.expr&&t.expr.filters&&t.expr.filters.animated&&(t.expr.filters.animated=(e=t.expr.filters.animated,function(i){return!!t(i).data(a)||e(i)})),!1!==t.uiBackCompat&&t.extend(t.effects,{save:function(t,e){for(var i=0,s=e.length;i
          ").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),n={width:e.width(),height:e.height()},o=document.activeElement;try{o.id}catch(t){o=document.body}return e.wrap(s),(e[0]===o||t.contains(e[0],o))&&t(o).trigger("focus"),s=e.parent(),"static"===e.css("position")?(s.css({position:"relative"}),e.css({position:"relative"})):(t.extend(i,{position:e.css("position"),zIndex:e.css("z-index")}),t.each(["top","left","bottom","right"],function(t,s){i[s]=e.css(s),isNaN(parseInt(i[s],10))&&(i[s]="auto")}),e.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),e.css(n),s.css(i).show()},removeWrapper:function(e){var i=document.activeElement;return e.parent().is(".ui-effects-wrapper")&&(e.parent().replaceWith(e),(e[0]===i||t.contains(e[0],i))&&t(i).trigger("focus")),e}}),t.extend(t.effects,{version:"1.12.1",define:function(e,i,s){return s||(s=i,i="effect"),t.effects.effect[e]=s,t.effects.effect[e].mode=i,s},scaledDimensions:function(t,e,i){if(0===e)return{height:0,width:0,outerHeight:0,outerWidth:0};var s="horizontal"!==i?(e||100)/100:1,n="vertical"!==i?(e||100)/100:1;return{height:t.height()*n,width:t.width()*s,outerHeight:t.outerHeight()*n,outerWidth:t.outerWidth()*s}},clipToBox:function(t){return{width:t.clip.right-t.clip.left,height:t.clip.bottom-t.clip.top,left:t.clip.left,top:t.clip.top}},unshift:function(t,e,i){var s=t.queue();e>1&&s.splice.apply(s,[1,0].concat(s.splice(e,i))),t.dequeue()},saveStyle:function(t){t.data("ui-effects-style",t[0].style.cssText)},restoreStyle:function(t){t[0].style.cssText=t.data("ui-effects-style")||"",t.removeData("ui-effects-style")},mode:function(t,e){var i=t.is(":hidden");return"toggle"===e&&(e=i?"show":"hide"),(i?"hide"===e:"show"===e)&&(e="none"),e},getBaseline:function(t,e){var i,s;switch(t[0]){case"top":i=0;break;case"middle":i=.5;break;case"bottom":i=1;break;default:i=t[0]/e.height}switch(t[1]){case"left":s=0;break;case"center":s=.5;break;case"right":s=1;break;default:s=t[1]/e.width}return{x:s,y:i}},createPlaceholder:function(e){var i,s=e.css("position"),n=e.position();return e.css({marginTop:e.css("marginTop"),marginBottom:e.css("marginBottom"),marginLeft:e.css("marginLeft"),marginRight:e.css("marginRight")}).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()),/^(static|relative)/.test(s)&&(s="absolute",i=t("<"+e[0].nodeName+">").insertAfter(e).css({display:/^(inline|ruby)/.test(e.css("display"))?"inline-block":"block",visibility:"hidden",marginTop:e.css("marginTop"),marginBottom:e.css("marginBottom"),marginLeft:e.css("marginLeft"),marginRight:e.css("marginRight"),float:e.css("float")}).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()).addClass("ui-effects-placeholder"),e.data("ui-effects-placeholder",i)),e.css({position:s,left:n.left,top:n.top}),i},removePlaceholder:function(t){var e="ui-effects-placeholder",i=t.data(e);i&&(i.remove(),t.removeData(e))},cleanUp:function(e){t.effects.restoreStyle(e),t.effects.removePlaceholder(e)},setTransition:function(e,i,s,n){return n=n||{},t.each(i,function(t,i){var o=e.cssUnit(i);o[0]>0&&(n[i]=o[0]*s+o[1])}),n}}),t.fn.extend({effect:function(){var e=i.apply(this,arguments),s=t.effects.effect[e.effect],n=s.mode,o=e.queue,r=o||"fx",h=e.complete,l=e.mode,c=[],u=function(e){var i=t(this),s=t.effects.mode(i,l)||n;i.data(a,!0),c.push(s),n&&("show"===s||s===n&&"hide"===s)&&i.show(),n&&"none"===s||t.effects.saveStyle(i),t.isFunction(e)&&e()};if(t.fx.off||!s)return l?this[l](e.duration,h):this.each(function(){h&&h.call(this)});function d(i){var o=t(this);function r(){t.isFunction(h)&&h.call(o[0]),t.isFunction(i)&&i()}e.mode=c.shift(),!1===t.uiBackCompat||n?"none"===e.mode?(o[l](),r()):s.call(o[0],e,function(){o.removeData(a),t.effects.cleanUp(o),"hide"===e.mode&&o.hide(),r()}):(o.is(":hidden")?"hide"===l:"show"===l)?(o[l](),r()):s.call(o[0],e,r)}return!1===o?this.each(u).each(d):this.queue(r,u).queue(r,d)},show:function(t){return function(e){if(s(e))return t.apply(this,arguments);var n=i.apply(this,arguments);return n.mode="show",this.effect.call(this,n)}}(t.fn.show),hide:function(t){return function(e){if(s(e))return t.apply(this,arguments);var n=i.apply(this,arguments);return n.mode="hide",this.effect.call(this,n)}}(t.fn.hide),toggle:function(t){return function(e){if(s(e)||"boolean"==typeof e)return t.apply(this,arguments);var n=i.apply(this,arguments);return n.mode="toggle",this.effect.call(this,n)}}(t.fn.toggle),cssUnit:function(e){var i=this.css(e),s=[];return t.each(["em","px","%","pt"],function(t,e){i.indexOf(e)>0&&(s=[parseFloat(i),e])}),s},cssClip:function(t){return t?this.css("clip","rect("+t.top+"px "+t.right+"px "+t.bottom+"px "+t.left+"px)"):n(this.css("clip"),this)},transfer:function(e,i){var s=t(this),n=t(e.to),o="fixed"===n.css("position"),a=t("body"),r=o?a.scrollTop():0,h=o?a.scrollLeft():0,l=n.offset(),c={top:l.top-r,left:l.left-h,height:n.innerHeight(),width:n.innerWidth()},u=s.offset(),d=t("
          ").appendTo("body").addClass(e.className).css({top:u.top-r,left:u.left-h,height:s.innerHeight(),width:s.innerWidth(),position:o?"fixed":"absolute"}).animate(c,e.duration,e.easing,function(){d.remove(),t.isFunction(i)&&i()})}}),t.fx.step.clip=function(e){e.clipInit||(e.start=t(e.elem).cssClip(),"string"==typeof e.end&&(e.end=n(e.end,e.elem)),e.clipInit=!0),t(e.elem).cssClip({top:e.pos*(e.end.top-e.start.top)+e.start.top,right:e.pos*(e.end.right-e.start.right)+e.start.right,bottom:e.pos*(e.end.bottom-e.start.bottom)+e.start.bottom,left:e.pos*(e.end.left-e.start.left)+e.start.left})}}(),o={},t.each(["Quad","Cubic","Quart","Quint","Expo"],function(t,e){o[e]=function(e){return Math.pow(e,t+2)}}),t.extend(o,{Sine:function(t){return 1-Math.cos(t*Math.PI/2)},Circ:function(t){return 1-Math.sqrt(1-t*t)},Elastic:function(t){return 0===t||1===t?t:-Math.pow(2,8*(t-1))*Math.sin((80*(t-1)-7.5)*Math.PI/15)},Back:function(t){return t*t*(3*t-2)},Bounce:function(t){for(var e,i=4;t<((e=Math.pow(2,--i))-1)/11;);return 1/Math.pow(4,3-i)-7.5625*Math.pow((3*e-2)/22-t,2)}}),t.each(o,function(e,i){t.easing["easeIn"+e]=i,t.easing["easeOut"+e]=function(t){return 1-i(1-t)},t.easing["easeInOut"+e]=function(t){return t<.5?i(2*t)/2:1-i(-2*t+2)/2}});t.effects,t.effects.define("blind","hide",function(e,i){var s={up:["bottom","top"],vertical:["bottom","top"],down:["top","bottom"],left:["right","left"],horizontal:["right","left"],right:["left","right"]},n=t(this),o=e.direction||"up",a=n.cssClip(),r={clip:t.extend({},a)},h=t.effects.createPlaceholder(n);r.clip[s[o][0]]=r.clip[s[o][1]],"show"===e.mode&&(n.cssClip(r.clip),h&&h.css(t.effects.clipToBox(r)),r.clip=a),h&&h.animate(t.effects.clipToBox(r),e.duration,e.easing),n.animate(r,{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("bounce",function(e,i){var s,n,o,a=t(this),r=e.mode,h="hide"===r,l="show"===r,c=e.direction||"up",u=e.distance,d=e.times||5,p=2*d+(l||h?1:0),f=e.duration/p,g=e.easing,m="up"===c||"down"===c?"top":"left",_="up"===c||"left"===c,v=0,b=a.queue().length;for(t.effects.createPlaceholder(a),o=a.css(m),u||(u=a["top"===m?"outerHeight":"outerWidth"]()/3),l&&((n={opacity:1})[m]=o,a.css("opacity",0).css(m,_?2*-u:2*u).animate(n,f,g)),h&&(u/=Math.pow(2,d-1)),(n={})[m]=o;v
          ").css({position:"absolute",visibility:"visible",left:-n*f,top:-s*g}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:f,height:g,left:o+(d?r*f:0),top:a+(d?h*g:0),opacity:d?0:1}).animate({left:o+(d?0:r*f),top:a+(d?0:h*g),opacity:d?1:0},e.duration||500,e.easing,_)}),t.effects.define("fade","toggle",function(e,i){var s="show"===e.mode;t(this).css("opacity",s?0:1).animate({opacity:s?1:0},{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("fold","hide",function(e,i){var s=t(this),n=e.mode,o="show"===n,a="hide"===n,r=e.size||15,h=/([0-9]+)%/.exec(r),l=!!e.horizFirst?["right","bottom"]:["bottom","right"],c=e.duration/2,u=t.effects.createPlaceholder(s),d=s.cssClip(),p={clip:t.extend({},d)},f={clip:t.extend({},d)},g=[d[l[0]],d[l[1]]],m=s.queue().length;h&&(r=parseInt(h[1],10)/100*g[a?0:1]),p.clip[l[0]]=r,f.clip[l[0]]=r,f.clip[l[1]]=0,o&&(s.cssClip(f.clip),u&&u.css(t.effects.clipToBox(f)),f.clip=d),s.queue(function(i){u&&u.animate(t.effects.clipToBox(p),c,e.easing).animate(t.effects.clipToBox(f),c,e.easing),i()}).animate(p,c,e.easing).animate(f,c,e.easing).queue(i),t.effects.unshift(s,m,4)}),t.effects.define("highlight","show",function(e,i){var s=t(this),n={backgroundColor:s.css("backgroundColor")};"hide"===e.mode&&(n.opacity=0),t.effects.saveStyle(s),s.css({backgroundImage:"none",backgroundColor:e.color||"#ffff99"}).animate(n,{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("size",function(e,i){var s,n,o,a=t(this),r=["fontSize"],h=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],l=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],c=e.mode,u="effect"!==c,d=e.scale||"both",p=e.origin||["middle","center"],f=a.css("position"),g=a.position(),m=t.effects.scaledDimensions(a),_=e.from||m,v=e.to||t.effects.scaledDimensions(a,0);t.effects.createPlaceholder(a),"show"===c&&(o=_,_=v,v=o),n={from:{y:_.height/m.height,x:_.width/m.width},to:{y:v.height/m.height,x:v.width/m.width}},"box"!==d&&"both"!==d||(n.from.y!==n.to.y&&(_=t.effects.setTransition(a,h,n.from.y,_),v=t.effects.setTransition(a,h,n.to.y,v)),n.from.x!==n.to.x&&(_=t.effects.setTransition(a,l,n.from.x,_),v=t.effects.setTransition(a,l,n.to.x,v))),"content"!==d&&"both"!==d||n.from.y!==n.to.y&&(_=t.effects.setTransition(a,r,n.from.y,_),v=t.effects.setTransition(a,r,n.to.y,v)),p&&(s=t.effects.getBaseline(p,m),_.top=(m.outerHeight-_.outerHeight)*s.y+g.top,_.left=(m.outerWidth-_.outerWidth)*s.x+g.left,v.top=(m.outerHeight-v.outerHeight)*s.y+g.top,v.left=(m.outerWidth-v.outerWidth)*s.x+g.left),a.css(_),"content"!==d&&"both"!==d||(h=h.concat(["marginTop","marginBottom"]).concat(r),l=l.concat(["marginLeft","marginRight"]),a.find("*[width]").each(function(){var i=t(this),s=t.effects.scaledDimensions(i),o={height:s.height*n.from.y,width:s.width*n.from.x,outerHeight:s.outerHeight*n.from.y,outerWidth:s.outerWidth*n.from.x},a={height:s.height*n.to.y,width:s.width*n.to.x,outerHeight:s.height*n.to.y,outerWidth:s.width*n.to.x};n.from.y!==n.to.y&&(o=t.effects.setTransition(i,h,n.from.y,o),a=t.effects.setTransition(i,h,n.to.y,a)),n.from.x!==n.to.x&&(o=t.effects.setTransition(i,l,n.from.x,o),a=t.effects.setTransition(i,l,n.to.x,a)),u&&t.effects.saveStyle(i),i.css(o),i.animate(a,e.duration,e.easing,function(){u&&t.effects.restoreStyle(i)})})),a.animate(v,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){var e=a.offset();0===v.opacity&&a.css("opacity",_.opacity),u||(a.css("position","static"===f?"relative":f).offset(e),t.effects.saveStyle(a)),i()}})}),t.effects.define("scale",function(e,i){var s=t(this),n=e.mode,o=parseInt(e.percent,10)||(0===parseInt(e.percent,10)?0:"effect"!==n?0:100),a=t.extend(!0,{from:t.effects.scaledDimensions(s),to:t.effects.scaledDimensions(s,o,e.direction||"both"),origin:e.origin||["middle","center"]},e);e.fade&&(a.from.opacity=1,a.to.opacity=0),t.effects.effect.size.call(this,a,i)}),t.effects.define("puff","hide",function(e,i){var s=t.extend(!0,{},e,{fade:!0,percent:parseInt(e.percent,10)||150});t.effects.effect.scale.call(this,s,i)}),t.effects.define("pulsate","show",function(e,i){var s=t(this),n=e.mode,o="show"===n,a=o||"hide"===n,r=2*(e.times||5)+(a?1:0),h=e.duration/r,l=0,c=1,u=s.queue().length;for(!o&&s.is(":visible")||(s.css("opacity",0).show(),l=1);c0&&o.is(":visible"))):(/^(input|select|textarea|button|object)$/.test(h)?(a=!e.disabled)&&(r=t(e).closest("fieldset")[0])&&(a=!r.disabled):a="a"===h&&e.href||i,a&&t(e).is(":visible")&&function(t){var e=t.css("visibility");for(;"inherit"===e;)t=t.parent(),e=t.css("visibility");return"hidden"!==e}(t(e)))},t.extend(t.expr[":"],{focusable:function(e){return t.ui.focusable(e,null!=t.attr(e,"tabindex"))}});t.ui.focusable,t.fn.form=function(){return"string"==typeof this[0].form?this.closest("form"):t(this[0].form)},t.ui.formResetMixin={_formResetHandler:function(){var e=t(this);setTimeout(function(){var i=e.data("ui-form-reset-instances");t.each(i,function(){this.refresh()})})},_bindFormResetHandler:function(){if(this.form=this.element.form(),this.form.length){var t=this.form.data("ui-form-reset-instances")||[];t.length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t)}},_unbindFormResetHandler:function(){if(this.form.length){var e=this.form.data("ui-form-reset-instances");e.splice(t.inArray(this,e),1),e.length?this.form.data("ui-form-reset-instances",e):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset")}}};"1.7"===t.fn.jquery.substring(0,3)&&(t.each(["Width","Height"],function(e,i){var s="Width"===i?["Left","Right"]:["Top","Bottom"],n=i.toLowerCase(),o={innerWidth:t.fn.innerWidth,innerHeight:t.fn.innerHeight,outerWidth:t.fn.outerWidth,outerHeight:t.fn.outerHeight};function a(e,i,n,o){return t.each(s,function(){i-=parseFloat(t.css(e,"padding"+this))||0,n&&(i-=parseFloat(t.css(e,"border"+this+"Width"))||0),o&&(i-=parseFloat(t.css(e,"margin"+this))||0)}),i}t.fn["inner"+i]=function(e){return void 0===e?o["inner"+i].call(this):this.each(function(){t(this).css(n,a(this,e)+"px")})},t.fn["outer"+i]=function(e,s){return"number"!=typeof e?o["outer"+i].call(this,e):this.each(function(){t(this).css(n,a(this,e,!0,s)+"px")})}}),t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))});var h,l;t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.ui.escapeSelector=(h=/([!"#$%&'()*+,.\/:;<=>?@[\]^`{|}~])/g,function(t){return t.replace(h,"\\$1")}),t.fn.labels=function(){var e,i,s,n,o;return this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(n=this.eq(0).parents("label"),(s=this.attr("id"))&&(o=(e=this.eq(0).parents().last()).add(e.length?e.siblings():this.siblings()),i="label[for='"+t.ui.escapeSelector(s)+"']",n=n.add(o.find(i).addBack(i))),this.pushStack(n))},t.fn.scrollParent=function(e){var i=this.css("position"),s="absolute"===i,n=e?/(auto|scroll|hidden)/:/(auto|scroll)/,o=this.parents().filter(function(){var e=t(this);return(!s||"static"!==e.css("position"))&&n.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))}).eq(0);return"fixed"!==i&&o.length?o:t(this[0].ownerDocument||document)},t.extend(t.expr[":"],{tabbable:function(e){var i=t.attr(e,"tabindex"),s=null!=i;return(!s||i>=0)&&t.ui.focusable(e,s)}}),t.fn.extend({uniqueId:(l=0,function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++l)})}),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.widget("ui.accordion",{version:"1.12.1",options:{active:0,animate:{},classes:{"ui-accordion-header":"ui-corner-top","ui-accordion-header-collapsed":"ui-corner-all","ui-accordion-content":"ui-corner-bottom"},collapsible:!1,event:"click",header:"> li > :first-child, > :not(li):even",heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},hideProps:{borderTopWidth:"hide",borderBottomWidth:"hide",paddingTop:"hide",paddingBottom:"hide",height:"hide"},showProps:{borderTopWidth:"show",borderBottomWidth:"show",paddingTop:"show",paddingBottom:"show",height:"show"},_create:function(){var e=this.options;this.prevShow=this.prevHide=t(),this._addClass("ui-accordion","ui-widget ui-helper-reset"),this.element.attr("role","tablist"),e.collapsible||!1!==e.active&&null!=e.active||(e.active=0),this._processPanels(),e.active<0&&(e.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():t()}},_createIcons:function(){var e,i,s=this.options.icons;s&&(e=t(""),this._addClass(e,"ui-accordion-header-icon","ui-icon "+s.header),e.prependTo(this.headers),i=this.active.children(".ui-accordion-header-icon"),this._removeClass(i,s.header)._addClass(i,null,s.activeHeader)._addClass(this.headers,"ui-accordion-icons"))},_destroyIcons:function(){this._removeClass(this.headers,"ui-accordion-icons"),this.headers.children(".ui-accordion-header-icon").remove()},_destroy:function(){var t;this.element.removeAttr("role"),this.headers.removeAttr("role aria-expanded aria-selected aria-controls tabIndex").removeUniqueId(),this._destroyIcons(),t=this.headers.next().css("display","").removeAttr("role aria-hidden aria-labelledby").removeUniqueId(),"content"!==this.options.heightStyle&&t.css("height","")},_setOption:function(t,e){"active"!==t?("event"===t&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(e)),this._super(t,e),"collapsible"!==t||e||!1!==this.options.active||this._activate(0),"icons"===t&&(this._destroyIcons(),e&&this._createIcons())):this._activate(e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t),this._toggleClass(null,"ui-state-disabled",!!t),this._toggleClass(this.headers.add(this.headers.next()),null,"ui-state-disabled",!!t)},_keydown:function(e){if(!e.altKey&&!e.ctrlKey){var i=t.ui.keyCode,s=this.headers.length,n=this.headers.index(e.target),o=!1;switch(e.keyCode){case i.RIGHT:case i.DOWN:o=this.headers[(n+1)%s];break;case i.LEFT:case i.UP:o=this.headers[(n-1+s)%s];break;case i.SPACE:case i.ENTER:this._eventHandler(e);break;case i.HOME:o=this.headers[0];break;case i.END:o=this.headers[s-1]}o&&(t(e.target).attr("tabIndex",-1),t(o).attr("tabIndex",0),t(o).trigger("focus"),e.preventDefault())}},_panelKeyDown:function(e){e.keyCode===t.ui.keyCode.UP&&e.ctrlKey&&t(e.currentTarget).prev().trigger("focus")},refresh:function(){var e=this.options;this._processPanels(),!1===e.active&&!0===e.collapsible||!this.headers.length?(e.active=!1,this.active=t()):!1===e.active?this._activate(0):this.active.length&&!t.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(e.active=!1,this.active=t()):this._activate(Math.max(0,e.active-1)):e.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){var t=this.headers,e=this.panels;this.headers=this.element.find(this.options.header),this._addClass(this.headers,"ui-accordion-header ui-accordion-header-collapsed","ui-state-default"),this.panels=this.headers.next().filter(":not(.ui-accordion-content-active)").hide(),this._addClass(this.panels,"ui-accordion-content","ui-helper-reset ui-widget-content"),e&&(this._off(t.not(this.headers)),this._off(e.not(this.panels)))},_refresh:function(){var e,i=this.options,s=i.heightStyle,n=this.element.parent();this.active=this._findActive(i.active),this._addClass(this.active,"ui-accordion-header-active","ui-state-active")._removeClass(this.active,"ui-accordion-header-collapsed"),this._addClass(this.active.next(),"ui-accordion-content-active"),this.active.next().show(),this.headers.attr("role","tab").each(function(){var e=t(this),i=e.uniqueId().attr("id"),s=e.next(),n=s.uniqueId().attr("id");e.attr("aria-controls",n),s.attr("aria-labelledby",i)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}).next().attr({"aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}).next().attr({"aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(i.event),"fill"===s?(e=n.height(),this.element.siblings(":visible").each(function(){var i=t(this),s=i.css("position");"absolute"!==s&&"fixed"!==s&&(e-=i.outerHeight(!0))}),this.headers.each(function(){e-=t(this).outerHeight(!0)}),this.headers.next().each(function(){t(this).height(Math.max(0,e-t(this).innerHeight()+t(this).height()))}).css("overflow","auto")):"auto"===s&&(e=0,this.headers.next().each(function(){var i=t(this).is(":visible");i||t(this).show(),e=Math.max(e,t(this).css("height","").height()),i||t(this).hide()}).height(e))},_activate:function(e){var i=this._findActive(e)[0];i!==this.active[0]&&(i=i||this.active[0],this._eventHandler({target:i,currentTarget:i,preventDefault:t.noop}))},_findActive:function(e){return"number"==typeof e?this.headers.eq(e):t()},_setupEvents:function(e){var i={keydown:"_keydown"};e&&t.each(e.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,i),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(e){var i,s,n=this.options,o=this.active,a=t(e.currentTarget),r=a[0]===o[0],h=r&&n.collapsible,l=h?t():a.next(),c=o.next(),u={oldHeader:o,oldPanel:c,newHeader:h?t():a,newPanel:l};e.preventDefault(),r&&!n.collapsible||!1===this._trigger("beforeActivate",e,u)||(n.active=!h&&this.headers.index(a),this.active=r?t():a,this._toggle(u),this._removeClass(o,"ui-accordion-header-active","ui-state-active"),n.icons&&(i=o.children(".ui-accordion-header-icon"),this._removeClass(i,null,n.icons.activeHeader)._addClass(i,null,n.icons.header)),r||(this._removeClass(a,"ui-accordion-header-collapsed")._addClass(a,"ui-accordion-header-active","ui-state-active"),n.icons&&(s=a.children(".ui-accordion-header-icon"),this._removeClass(s,null,n.icons.header)._addClass(s,null,n.icons.activeHeader)),this._addClass(a.next(),"ui-accordion-content-active")))},_toggle:function(e){var i=e.newPanel,s=this.prevShow.length?this.prevShow:e.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=i,this.prevHide=s,this.options.animate?this._animate(i,s,e):(s.hide(),i.show(),this._toggleComplete(e)),s.attr({"aria-hidden":"true"}),s.prev().attr({"aria-selected":"false","aria-expanded":"false"}),i.length&&s.length?s.prev().attr({tabIndex:-1,"aria-expanded":"false"}):i.length&&this.headers.filter(function(){return 0===parseInt(t(this).attr("tabIndex"),10)}).attr("tabIndex",-1),i.attr("aria-hidden","false").prev().attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_animate:function(t,e,i){var s,n,o,a=this,r=0,h=t.css("box-sizing"),l=t.length&&(!e.length||t.index()",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(t){t.preventDefault()},"click .ui-menu-item":function(e){var i=t(e.target),s=t(t.ui.safeActiveElement(this.document[0]));!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.select(e),e.isPropagationStopped()||(this.mouseHandled=!0),i.has(".ui-menu").length?this.expand(e):!this.element.is(":focus")&&s.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(e){if(!this.previousFilter){var i=t(e.target).closest(".ui-menu-item"),s=t(e.currentTarget);i[0]===s[0]&&(this._removeClass(s.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(e,s))}},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this.element.find(this.options.items).eq(0);e||this.focus(t,i)},blur:function(e){this._delay(function(){!t.contains(this.element[0],t.ui.safeActiveElement(this.document[0]))&&this.collapseAll(e)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){this._closeOnDocumentClick(t)&&this.collapseAll(t),this.mouseHandled=!1}})},_destroy:function(){var e=this.element.find(".ui-menu-item").removeAttr("role aria-disabled").children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),e.children().each(function(){var e=t(this);e.data("ui-menu-submenu-caret")&&e.remove()})},_keydown:function(e){var i,s,n,o,a=!0;switch(e.keyCode){case t.ui.keyCode.PAGE_UP:this.previousPage(e);break;case t.ui.keyCode.PAGE_DOWN:this.nextPage(e);break;case t.ui.keyCode.HOME:this._move("first","first",e);break;case t.ui.keyCode.END:this._move("last","last",e);break;case t.ui.keyCode.UP:this.previous(e);break;case t.ui.keyCode.DOWN:this.next(e);break;case t.ui.keyCode.LEFT:this.collapse(e);break;case t.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(e);break;case t.ui.keyCode.ENTER:case t.ui.keyCode.SPACE:this._activate(e);break;case t.ui.keyCode.ESCAPE:this.collapse(e);break;default:a=!1,s=this.previousFilter||"",o=!1,n=e.keyCode>=96&&e.keyCode<=105?(e.keyCode-96).toString():String.fromCharCode(e.keyCode),clearTimeout(this.filterTimer),n===s?o=!0:n=s+n,i=this._filterMenuItems(n),(i=o&&-1!==i.index(this.active.next())?this.active.nextAll(".ui-menu-item"):i).length||(n=String.fromCharCode(e.keyCode),i=this._filterMenuItems(n)),i.length?(this.focus(e,i),this.previousFilter=n,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}a&&e.preventDefault()},_activate:function(t){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var e,i,s,n,o=this,a=this.options.icons.submenu,r=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),i=r.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var e=t(this),i=e.prev(),s=t("").data("ui-menu-submenu-caret",!0);o._addClass(s,"ui-menu-icon","ui-icon "+a),i.attr("aria-haspopup","true").prepend(s),e.attr("aria-labelledby",i.attr("id"))}),this._addClass(i,"ui-menu","ui-widget ui-widget-content ui-front"),(e=r.add(this.element).find(this.options.items)).not(".ui-menu-item").each(function(){var e=t(this);o._isDivider(e)&&o._addClass(e,"ui-menu-divider","ui-widget-content")}),n=(s=e.not(".ui-menu-item, .ui-menu-divider")).children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(s,"ui-menu-item")._addClass(n,"ui-menu-item-wrapper"),e.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!t.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){if("icons"===t){var i=this.element.find(".ui-menu-icon");this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,e.submenu)}this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",String(t)),this._toggleClass(null,"ui-state-disabled",!!t)},focus:function(t,e){var i,s,n;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),s=this.active.children(".ui-menu-item-wrapper"),this._addClass(s,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",s.attr("id")),n=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(n,null,"ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),(i=e.children(".ui-menu")).length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(e){var i,s,n,o,a,r;this._hasScroll()&&(i=parseFloat(t.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(t.css(this.activeMenu[0],"paddingTop"))||0,n=e.offset().top-this.activeMenu.offset().top-i-s,o=this.activeMenu.scrollTop(),a=this.activeMenu.height(),r=e.outerHeight(),n<0?this.activeMenu.scrollTop(o+n):n+r>a&&this.activeMenu.scrollTop(o+n-a+r))},blur:function(t,e){e||clearTimeout(this.timer),this.active&&(this._removeClass(this.active.children(".ui-menu-item-wrapper"),null,"ui-state-active"),this._trigger("blur",t,{item:this.active}),this.active=null)},_startOpening:function(t){clearTimeout(this.timer),"true"===t.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(t)},this.delay))},_open:function(e){var i=t.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(e.parents(".ui-menu")).hide().attr("aria-hidden","true"),e.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(e,i){clearTimeout(this.timer),this.timer=this._delay(function(){var s=i?this.element:t(e&&e.target).closest(this.element.find(".ui-menu"));s.length||(s=this.element),this._close(s),this.blur(e),this._removeClass(s.find(".ui-state-active"),null,"ui-state-active"),this.activeMenu=s},this.delay)},_close:function(t){t||(t=this.active?this.active.parent():this.element),t.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false")},_closeOnDocumentClick:function(e){return!t(e.target).closest(".ui-menu").length},_isDivider:function(t){return!/[^\-\u2014\u2013\s]/.test(t.text())},collapse:function(t){var e=this.active&&this.active.parent().closest(".ui-menu-item",this.element);e&&e.length&&(this._close(),this.focus(t,e))},expand:function(t){var e=this.active&&this.active.children(".ui-menu ").find(this.options.items).first();e&&e.length&&(this._open(e.parent()),this._delay(function(){this.focus(t,e)}))},next:function(t){this._move("next","first",t)},previous:function(t){this._move("prev","last",t)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(t,e,i){var s;this.active&&(s="first"===t||"last"===t?this.active["first"===t?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[t+"All"](".ui-menu-item").eq(0)),s&&s.length&&this.active||(s=this.activeMenu.find(this.options.items)[e]()),this.focus(i,s)},nextPage:function(e){var i,s,n;this.active?this.isLastItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return(i=t(this)).offset().top-s-n<0}),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items)[this.active?"last":"first"]())):this.next(e)},previousPage:function(e){var i,s,n;this.active?this.isFirstItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return(i=t(this)).offset().top-s+n>0}),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items).first())):this.next(e)},_hasScroll:function(){return this.element.outerHeight()",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function(){var e,i,s,n=this.element[0].nodeName.toLowerCase(),o="textarea"===n,a="input"===n;this.isMultiLine=o||!a&&this._isContentEditable(this.element),this.valueMethod=this.element[o||a?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(n){if(this.element.prop("readOnly"))return e=!0,s=!0,void(i=!0);e=!1,s=!1,i=!1;var o=t.ui.keyCode;switch(n.keyCode){case o.PAGE_UP:e=!0,this._move("previousPage",n);break;case o.PAGE_DOWN:e=!0,this._move("nextPage",n);break;case o.UP:e=!0,this._keyEvent("previous",n);break;case o.DOWN:e=!0,this._keyEvent("next",n);break;case o.ENTER:this.menu.active&&(e=!0,n.preventDefault(),this.menu.select(n));break;case o.TAB:this.menu.active&&this.menu.select(n);break;case o.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(n),n.preventDefault());break;default:i=!0,this._searchTimeout(n)}},keypress:function(s){if(e)return e=!1,void(this.isMultiLine&&!this.menu.element.is(":visible")||s.preventDefault());if(!i){var n=t.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:this._move("previousPage",s);break;case n.PAGE_DOWN:this._move("nextPage",s);break;case n.UP:this._keyEvent("previous",s);break;case n.DOWN:this._keyEvent("next",s)}}},input:function(t){if(s)return s=!1,void t.preventDefault();this._searchTimeout(t)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(t){this.cancelBlur?delete this.cancelBlur:(clearTimeout(this.searching),this.close(t),this._change(t))}}),this._initSource(),this.menu=t("
            ").appendTo(this._appendTo()).menu({role:null}).hide().menu("instance"),this._addClass(this.menu.element,"ui-autocomplete","ui-front"),this._on(this.menu.element,{mousedown:function(e){e.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,this.element[0]!==t.ui.safeActiveElement(this.document[0])&&this.element.trigger("focus")})},menufocus:function(e,i){var s,n;if(this.isNewMenu&&(this.isNewMenu=!1,e.originalEvent&&/^mouse/.test(e.originalEvent.type)))return this.menu.blur(),void this.document.one("mousemove",function(){t(e.target).trigger(e.originalEvent)});n=i.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",e,{item:n})&&e.originalEvent&&/^key/.test(e.originalEvent.type)&&this._value(n.value),(s=i.item.attr("aria-label")||n.value)&&t.trim(s).length&&(this.liveRegion.children().hide(),t("
            ").text(s).appendTo(this.liveRegion))},menuselect:function(e,i){var s=i.item.data("ui-autocomplete-item"),n=this.previous;this.element[0]!==t.ui.safeActiveElement(this.document[0])&&(this.element.trigger("focus"),this.previous=n,this._delay(function(){this.previous=n,this.selectedItem=s})),!1!==this._trigger("select",e,{item:s})&&this._value(s.value),this.term=this._value(),this.close(e),this.selectedItem=s}}),this.liveRegion=t("
            ",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(t,e){this._super(t,e),"source"===t&&this._initSource(),"appendTo"===t&&this.menu.element.appendTo(this._appendTo()),"disabled"===t&&e&&this.xhr&&this.xhr.abort()},_isEventTargetInWidget:function(e){var i=this.menu.element[0];return e.target===this.element[0]||e.target===i||t.contains(i,e.target)},_closeOnClickOutside:function(t){this._isEventTargetInWidget(t)||this.close()},_appendTo:function(){var e=this.options.appendTo;return e&&(e=e.jquery||e.nodeType?t(e):this.document.find(e).eq(0)),e&&e[0]||(e=this.element.closest(".ui-front, dialog")),e.length||(e=this.document[0].body),e},_initSource:function(){var e,i,s=this;t.isArray(this.options.source)?(e=this.options.source,this.source=function(i,s){s(t.ui.autocomplete.filter(e,i.term))}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(e,n){s.xhr&&s.xhr.abort(),s.xhr=t.ajax({url:i,data:e,dataType:"json",success:function(t){n(t)},error:function(){n([])}})}):this.source=this.options.source},_searchTimeout:function(t){clearTimeout(this.searching),this.searching=this._delay(function(){var e=this.term===this._value(),i=this.menu.element.is(":visible"),s=t.altKey||t.ctrlKey||t.metaKey||t.shiftKey;e&&(!e||i||s)||(this.selectedItem=null,this.search(null,t))},this.options.delay)},search:function(t,e){return t=null!=t?t:this._value(),this.term=this._value(),t.length").append(t("
            ").text(i.label)).appendTo(e)},_move:function(t,e){if(this.menu.element.is(":visible"))return this.menu.isFirstItem()&&/^previous/.test(t)||this.menu.isLastItem()&&/^next/.test(t)?(this.isMultiLine||this._value(this.term),void this.menu.blur()):void this.menu[t](e);this.search(null,e)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(t,e){this.isMultiLine&&!this.menu.element.is(":visible")||(this._move(t,e),e.preventDefault())},_isContentEditable:function(t){if(!t.length)return!1;var e=t.prop("contentEditable");return"inherit"===e?this._isContentEditable(t.parent()):"true"===e}}),t.extend(t.ui.autocomplete,{escapeRegex:function(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(e,i){var s=new RegExp(t.ui.autocomplete.escapeRegex(i),"i");return t.grep(e,function(t){return s.test(t.label||t.value||t)})}}),t.widget("ui.autocomplete",t.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(t){return t+(t>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(e){var i;this._superApply(arguments),this.options.disabled||this.cancelSearch||(i=e&&e.length?this.options.messages.results(e.length):this.options.messages.noResults,this.liveRegion.children().hide(),t("
            ").text(i).appendTo(this.liveRegion))}});t.ui.autocomplete;var c=/ui-corner-([a-z]){2,6}/g;t.widget("ui.controlgroup",{version:"1.12.1",defaultElement:"
            ",options:{direction:"horizontal",disabled:null,onlyVisible:!0,items:{button:"input[type=button], input[type=submit], input[type=reset], button, a",controlgroupLabel:".ui-controlgroup-label",checkboxradio:"input[type='checkbox'], input[type='radio']",selectmenu:"select",spinner:".ui-spinner-input"}},_create:function(){this._enhance()},_enhance:function(){this.element.attr("role","toolbar"),this.refresh()},_destroy:function(){this._callChildMethod("destroy"),this.childWidgets.removeData("ui-controlgroup-data"),this.element.removeAttr("role"),this.options.items.controlgroupLabel&&this.element.find(this.options.items.controlgroupLabel).find(".ui-controlgroup-label-contents").contents().unwrap()},_initWidgets:function(){var e=this,i=[];t.each(this.options.items,function(s,n){var o,a={};if(n)return"controlgroupLabel"===s?((o=e.element.find(n)).each(function(){var e=t(this);e.children(".ui-controlgroup-label-contents").length||e.contents().wrapAll("")}),e._addClass(o,null,"ui-widget ui-widget-content ui-state-default"),void(i=i.concat(o.get()))):void(t.fn[s]&&(a=e["_"+s+"Options"]?e["_"+s+"Options"]("middle"):{classes:{}},e.element.find(n).each(function(){var n=t(this),o=n[s]("instance"),r=t.widget.extend({},a);if("button"!==s||!n.parent(".ui-spinner").length){o||(o=n[s]()[s]("instance")),o&&(r.classes=e._resolveClassesValues(r.classes,o)),n[s](r);var h=n[s]("widget");t.data(h[0],"ui-controlgroup-data",o||n[s]("instance")),i.push(h[0])}})))}),this.childWidgets=t(t.unique(i)),this._addClass(this.childWidgets,"ui-controlgroup-item")},_callChildMethod:function(e){this.childWidgets.each(function(){var i=t(this).data("ui-controlgroup-data");i&&i[e]&&i[e]()})},_updateCornerClass:function(t,e){var i=this._buildSimpleOptions(e,"label").classes.label;this._removeClass(t,null,"ui-corner-top ui-corner-bottom ui-corner-left ui-corner-right ui-corner-all"),this._addClass(t,null,i)},_buildSimpleOptions:function(t,e){var i="vertical"===this.options.direction,s={classes:{}};return s.classes[e]={middle:"",first:"ui-corner-"+(i?"top":"left"),last:"ui-corner-"+(i?"bottom":"right"),only:"ui-corner-all"}[t],s},_spinnerOptions:function(t){var e=this._buildSimpleOptions(t,"ui-spinner");return e.classes["ui-spinner-up"]="",e.classes["ui-spinner-down"]="",e},_buttonOptions:function(t){return this._buildSimpleOptions(t,"ui-button")},_checkboxradioOptions:function(t){return this._buildSimpleOptions(t,"ui-checkboxradio-label")},_selectmenuOptions:function(t){var e="vertical"===this.options.direction;return{width:!!e&&"auto",classes:{middle:{"ui-selectmenu-button-open":"","ui-selectmenu-button-closed":""},first:{"ui-selectmenu-button-open":"ui-corner-"+(e?"top":"tl"),"ui-selectmenu-button-closed":"ui-corner-"+(e?"top":"left")},last:{"ui-selectmenu-button-open":e?"":"ui-corner-tr","ui-selectmenu-button-closed":"ui-corner-"+(e?"bottom":"right")},only:{"ui-selectmenu-button-open":"ui-corner-top","ui-selectmenu-button-closed":"ui-corner-all"}}[t]}},_resolveClassesValues:function(e,i){var s={};return t.each(e,function(n){var o=i.options.classes[n]||"";o=t.trim(o.replace(c,"")),s[n]=(o+" "+e[n]).replace(/\s+/g," ")}),s},_setOption:function(t,e){"direction"===t&&this._removeClass("ui-controlgroup-"+this.options.direction),this._super(t,e),"disabled"!==t?this.refresh():this._callChildMethod(e?"disable":"enable")},refresh:function(){var e,i=this;this._addClass("ui-controlgroup ui-controlgroup-"+this.options.direction),"horizontal"===this.options.direction&&this._addClass(null,"ui-helper-clearfix"),this._initWidgets(),e=this.childWidgets,this.options.onlyVisible&&(e=e.filter(":visible")),e.length&&(t.each(["first","last"],function(t,s){var n=e[s]().data("ui-controlgroup-data");if(n&&i["_"+n.widgetName+"Options"]){var o=i["_"+n.widgetName+"Options"](1===e.length?"only":s);o.classes=i._resolveClassesValues(o.classes,n),n.element[n.widgetName](o)}else i._updateCornerClass(e[s](),s)}),this._callChildMethod("refresh"))}});t.widget("ui.checkboxradio",[t.ui.formResetMixin,{version:"1.12.1",options:{disabled:null,label:null,icon:!0,classes:{"ui-checkboxradio-label":"ui-corner-all","ui-checkboxradio-icon":"ui-corner-all"}},_getCreateOptions:function(){var e,i,s=this,n=this._super()||{};return this._readType(),i=this.element.labels(),this.label=t(i[i.length-1]),this.label.length||t.error("No label found for checkboxradio widget"),this.originalLabel="",this.label.contents().not(this.element[0]).each(function(){s.originalLabel+=3===this.nodeType?t(this).text():this.outerHTML}),this.originalLabel&&(n.label=this.originalLabel),null!=(e=this.element[0].disabled)&&(n.disabled=e),n},_create:function(){var t=this.element[0].checked;this._bindFormResetHandler(),null==this.options.disabled&&(this.options.disabled=this.element[0].disabled),this._setOption("disabled",this.options.disabled),this._addClass("ui-checkboxradio","ui-helper-hidden-accessible"),this._addClass(this.label,"ui-checkboxradio-label","ui-button ui-widget"),"radio"===this.type&&this._addClass(this.label,"ui-checkboxradio-radio-label"),this.options.label&&this.options.label!==this.originalLabel?this._updateLabel():this.originalLabel&&(this.options.label=this.originalLabel),this._enhance(),t&&(this._addClass(this.label,"ui-checkboxradio-checked","ui-state-active"),this.icon&&this._addClass(this.icon,null,"ui-state-hover")),this._on({change:"_toggleClasses",focus:function(){this._addClass(this.label,null,"ui-state-focus ui-visual-focus")},blur:function(){this._removeClass(this.label,null,"ui-state-focus ui-visual-focus")}})},_readType:function(){var e=this.element[0].nodeName.toLowerCase();this.type=this.element[0].type,"input"===e&&/radio|checkbox/.test(this.type)||t.error("Can't create checkboxradio on element.nodeName="+e+" and element.type="+this.type)},_enhance:function(){this._updateIcon(this.element[0].checked)},widget:function(){return this.label},_getRadioGroup:function(){var e=this.element[0].name,i="input[name='"+t.ui.escapeSelector(e)+"']";return e?(this.form.length?t(this.form[0].elements).filter(i):t(i).filter(function(){return 0===t(this).form().length})).not(this.element):t([])},_toggleClasses:function(){var e=this.element[0].checked;this._toggleClass(this.label,"ui-checkboxradio-checked","ui-state-active",e),this.options.icon&&"checkbox"===this.type&&this._toggleClass(this.icon,null,"ui-icon-check ui-state-checked",e)._toggleClass(this.icon,null,"ui-icon-blank",!e),"radio"===this.type&&this._getRadioGroup().each(function(){var e=t(this).checkboxradio("instance");e&&e._removeClass(e.label,"ui-checkboxradio-checked","ui-state-active")})},_destroy:function(){this._unbindFormResetHandler(),this.icon&&(this.icon.remove(),this.iconSpace.remove())},_setOption:function(t,e){if("label"!==t||e){if(this._super(t,e),"disabled"===t)return this._toggleClass(this.label,null,"ui-state-disabled",e),void(this.element[0].disabled=e);this.refresh()}},_updateIcon:function(e){var i="ui-icon ui-icon-background ";this.options.icon?(this.icon||(this.icon=t(""),this.iconSpace=t(" "),this._addClass(this.iconSpace,"ui-checkboxradio-icon-space")),"checkbox"===this.type?(i+=e?"ui-icon-check ui-state-checked":"ui-icon-blank",this._removeClass(this.icon,null,e?"ui-icon-blank":"ui-icon-check")):i+="ui-icon-blank",this._addClass(this.icon,"ui-checkboxradio-icon",i),e||this._removeClass(this.icon,null,"ui-icon-check ui-state-checked"),this.icon.prependTo(this.label).after(this.iconSpace)):void 0!==this.icon&&(this.icon.remove(),this.iconSpace.remove(),delete this.icon)},_updateLabel:function(){var t=this.label.contents().not(this.element[0]);this.icon&&(t=t.not(this.icon[0])),this.iconSpace&&(t=t.not(this.iconSpace[0])),t.remove(),this.label.append(this.options.label)},refresh:function(){var t=this.element[0].checked,e=this.element[0].disabled;this._updateIcon(t),this._toggleClass(this.label,"ui-checkboxradio-checked","ui-state-active",t),null!==this.options.label&&this._updateLabel(),e!==this.options.disabled&&this._setOptions({disabled:e})}}]);t.ui.checkboxradio;t.widget("ui.button",{version:"1.12.1",defaultElement:"").addClass(this._triggerClass).html(o?t("").attr({src:o,alt:n,title:n}):n)),e[r?"before":"after"](i.trigger),i.trigger.on("click",function(){return t.datepicker._datepickerShowing&&t.datepicker._lastInput===e[0]?t.datepicker._hideDatepicker():t.datepicker._datepickerShowing&&t.datepicker._lastInput!==e[0]?(t.datepicker._hideDatepicker(),t.datepicker._showDatepicker(e[0])):t.datepicker._showDatepicker(e[0]),!1}))},_autoSize:function(t){if(this._get(t,"autoSize")&&!t.inline){var e,i,s,n,o=new Date(2009,11,20),a=this._get(t,"dateFormat");a.match(/[DM]/)&&(e=function(t){for(i=0,s=0,n=0;ni&&(i=t[n].length,s=n);return s},o.setMonth(e(this._get(t,a.match(/MM/)?"monthNames":"monthNamesShort"))),o.setDate(e(this._get(t,a.match(/DD/)?"dayNames":"dayNamesShort"))+20-o.getDay())),t.input.attr("size",this._formatDate(t,o).length)}},_inlineDatepicker:function(e,i){var s=t(e);s.hasClass(this.markerClassName)||(s.addClass(this.markerClassName).append(i.dpDiv),t.data(e,"datepicker",i),this._setDate(i,this._getDefaultDate(i),!0),this._updateDatepicker(i),this._updateAlternate(i),i.settings.disabled&&this._disableDatepicker(e),i.dpDiv.css("display","block"))},_dialogDatepicker:function(e,i,s,n,o){var a,r,h,l,c,u=this._dialogInst;return u||(this.uuid+=1,a="dp"+this.uuid,this._dialogInput=t(""),this._dialogInput.on("keydown",this._doKeyDown),t("body").append(this._dialogInput),(u=this._dialogInst=this._newInst(this._dialogInput,!1)).settings={},t.data(this._dialogInput[0],"datepicker",u)),g(u.settings,n||{}),i=i&&i.constructor===Date?this._formatDate(u,i):i,this._dialogInput.val(i),this._pos=o?o.length?o:[o.pageX,o.pageY]:null,this._pos||(r=document.documentElement.clientWidth,h=document.documentElement.clientHeight,l=document.documentElement.scrollLeft||document.body.scrollLeft,c=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[r/2-100+l,h/2-150+c]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),u.settings.onSelect=s,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),t.blockUI&&t.blockUI(this.dpDiv),t.data(this._dialogInput[0],"datepicker",u),this},_destroyDatepicker:function(e){var i,s=t(e),n=t.data(e,"datepicker");s.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),t.removeData(e,"datepicker"),"input"===i?(n.append.remove(),n.trigger.remove(),s.removeClass(this.markerClassName).off("focus",this._showDatepicker).off("keydown",this._doKeyDown).off("keypress",this._doKeyPress).off("keyup",this._doKeyUp)):"div"!==i&&"span"!==i||s.removeClass(this.markerClassName).empty(),u===n&&(u=null))},_enableDatepicker:function(e){var i,s,n=t(e),o=t.data(e,"datepicker");n.hasClass(this.markerClassName)&&("input"===(i=e.nodeName.toLowerCase())?(e.disabled=!1,o.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):"div"!==i&&"span"!==i||((s=n.children("."+this._inlineClass)).children().removeClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=t.map(this._disabledInputs,function(t){return t===e?null:t}))},_disableDatepicker:function(e){var i,s,n=t(e),o=t.data(e,"datepicker");n.hasClass(this.markerClassName)&&("input"===(i=e.nodeName.toLowerCase())?(e.disabled=!0,o.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):"div"!==i&&"span"!==i||((s=n.children("."+this._inlineClass)).children().addClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=t.map(this._disabledInputs,function(t){return t===e?null:t}),this._disabledInputs[this._disabledInputs.length]=e)},_isDisabledDatepicker:function(t){if(!t)return!1;for(var e=0;e-1},_doKeyUp:function(e){var i=t.datepicker._getInst(e.target);if(i.input.val()!==i.lastVal)try{t.datepicker.parseDate(t.datepicker._get(i,"dateFormat"),i.input?i.input.val():null,t.datepicker._getFormatConfig(i))&&(t.datepicker._setDateFromField(i),t.datepicker._updateAlternate(i),t.datepicker._updateDatepicker(i))}catch(t){}return!0},_showDatepicker:function(e){var i,s,n,o,a,r,h;("input"!==(e=e.target||e).nodeName.toLowerCase()&&(e=t("input",e.parentNode)[0]),t.datepicker._isDisabledDatepicker(e)||t.datepicker._lastInput===e)||(i=t.datepicker._getInst(e),t.datepicker._curInst&&t.datepicker._curInst!==i&&(t.datepicker._curInst.dpDiv.stop(!0,!0),i&&t.datepicker._datepickerShowing&&t.datepicker._hideDatepicker(t.datepicker._curInst.input[0])),!1!==(n=(s=t.datepicker._get(i,"beforeShow"))?s.apply(e,[e,i]):{})&&(g(i.settings,n),i.lastVal=null,t.datepicker._lastInput=e,t.datepicker._setDateFromField(i),t.datepicker._inDialog&&(e.value=""),t.datepicker._pos||(t.datepicker._pos=t.datepicker._findPos(e),t.datepicker._pos[1]+=e.offsetHeight),o=!1,t(e).parents().each(function(){return!(o|="fixed"===t(this).css("position"))}),a={left:t.datepicker._pos[0],top:t.datepicker._pos[1]},t.datepicker._pos=null,i.dpDiv.empty(),i.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),t.datepicker._updateDatepicker(i),a=t.datepicker._checkOffset(i,a,o),i.dpDiv.css({position:t.datepicker._inDialog&&t.blockUI?"static":o?"fixed":"absolute",display:"none",left:a.left+"px",top:a.top+"px"}),i.inline||(r=t.datepicker._get(i,"showAnim"),h=t.datepicker._get(i,"duration"),i.dpDiv.css("z-index",function(t){for(var e,i;t.length&&t[0]!==document;){if(("absolute"===(e=t.css("position"))||"relative"===e||"fixed"===e)&&(i=parseInt(t.css("zIndex"),10),!isNaN(i)&&0!==i))return i;t=t.parent()}return 0}(t(e))+1),t.datepicker._datepickerShowing=!0,t.effects&&t.effects.effect[r]?i.dpDiv.show(r,t.datepicker._get(i,"showOptions"),h):i.dpDiv[r||"show"](r?h:null),t.datepicker._shouldFocusInput(i)&&i.input.trigger("focus"),t.datepicker._curInst=i)))},_updateDatepicker:function(e){this.maxRows=4,u=e,e.dpDiv.empty().append(this._generateHTML(e)),this._attachHandlers(e);var i,s=this._getNumberOfMonths(e),n=s[1],o=e.dpDiv.find("."+this._dayOverClass+" a");o.length>0&&f.apply(o.get(0)),e.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),n>1&&e.dpDiv.addClass("ui-datepicker-multi-"+n).css("width",17*n+"em"),e.dpDiv[(1!==s[0]||1!==s[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),e.dpDiv[(this._get(e,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),e===t.datepicker._curInst&&t.datepicker._datepickerShowing&&t.datepicker._shouldFocusInput(e)&&e.input.trigger("focus"),e.yearshtml&&(i=e.yearshtml,setTimeout(function(){i===e.yearshtml&&e.yearshtml&&e.dpDiv.find("select.ui-datepicker-year:first").replaceWith(e.yearshtml),i=e.yearshtml=null},0))},_shouldFocusInput:function(t){return t.input&&t.input.is(":visible")&&!t.input.is(":disabled")&&!t.input.is(":focus")},_checkOffset:function(e,i,s){var n=e.dpDiv.outerWidth(),o=e.dpDiv.outerHeight(),a=e.input?e.input.outerWidth():0,r=e.input?e.input.outerHeight():0,h=document.documentElement.clientWidth+(s?0:t(document).scrollLeft()),l=document.documentElement.clientHeight+(s?0:t(document).scrollTop());return i.left-=this._get(e,"isRTL")?n-a:0,i.left-=s&&i.left===e.input.offset().left?t(document).scrollLeft():0,i.top-=s&&i.top===e.input.offset().top+r?t(document).scrollTop():0,i.left-=Math.min(i.left,i.left+n>h&&h>n?Math.abs(i.left+n-h):0),i.top-=Math.min(i.top,i.top+o>l&&l>o?Math.abs(o+r):0),i},_findPos:function(e){for(var i,s=this._getInst(e),n=this._get(s,"isRTL");e&&("hidden"===e.type||1!==e.nodeType||t.expr.filters.hidden(e));)e=e[n?"previousSibling":"nextSibling"];return[(i=t(e).offset()).left,i.top]},_hideDatepicker:function(e){var i,s,n,o,a=this._curInst;!a||e&&a!==t.data(e,"datepicker")||this._datepickerShowing&&(i=this._get(a,"showAnim"),s=this._get(a,"duration"),n=function(){t.datepicker._tidyDialog(a)},t.effects&&(t.effects.effect[i]||t.effects[i])?a.dpDiv.hide(i,t.datepicker._get(a,"showOptions"),s,n):a.dpDiv["slideDown"===i?"slideUp":"fadeIn"===i?"fadeOut":"hide"](i?s:null,n),i||n(),this._datepickerShowing=!1,(o=this._get(a,"onClose"))&&o.apply(a.input?a.input[0]:null,[a.input?a.input.val():"",a]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),t.blockUI&&(t.unblockUI(),t("body").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(t){t.dpDiv.removeClass(this._dialogClass).off(".ui-datepicker-calendar")},_checkExternalClick:function(e){if(t.datepicker._curInst){var i=t(e.target),s=t.datepicker._getInst(i[0]);(i[0].id===t.datepicker._mainDivId||0!==i.parents("#"+t.datepicker._mainDivId).length||i.hasClass(t.datepicker.markerClassName)||i.closest("."+t.datepicker._triggerClass).length||!t.datepicker._datepickerShowing||t.datepicker._inDialog&&t.blockUI)&&(!i.hasClass(t.datepicker.markerClassName)||t.datepicker._curInst===s)||t.datepicker._hideDatepicker()}},_adjustDate:function(e,i,s){var n=t(e),o=this._getInst(n[0]);this._isDisabledDatepicker(n[0])||(this._adjustInstDate(o,i+("M"===s?this._get(o,"showCurrentAtPos"):0),s),this._updateDatepicker(o))},_gotoToday:function(e){var i,s=t(e),n=this._getInst(s[0]);this._get(n,"gotoCurrent")&&n.currentDay?(n.selectedDay=n.currentDay,n.drawMonth=n.selectedMonth=n.currentMonth,n.drawYear=n.selectedYear=n.currentYear):(i=new Date,n.selectedDay=i.getDate(),n.drawMonth=n.selectedMonth=i.getMonth(),n.drawYear=n.selectedYear=i.getFullYear()),this._notifyChange(n),this._adjustDate(s)},_selectMonthYear:function(e,i,s){var n=t(e),o=this._getInst(n[0]);o["selected"+("M"===s?"Month":"Year")]=o["draw"+("M"===s?"Month":"Year")]=parseInt(i.options[i.selectedIndex].value,10),this._notifyChange(o),this._adjustDate(n)},_selectDay:function(e,i,s,n){var o,a=t(e);t(n).hasClass(this._unselectableClass)||this._isDisabledDatepicker(a[0])||((o=this._getInst(a[0])).selectedDay=o.currentDay=t("a",n).html(),o.selectedMonth=o.currentMonth=i,o.selectedYear=o.currentYear=s,this._selectDate(e,this._formatDate(o,o.currentDay,o.currentMonth,o.currentYear)))},_clearDate:function(e){var i=t(e);this._selectDate(i,"")},_selectDate:function(e,i){var s,n=t(e),o=this._getInst(n[0]);i=null!=i?i:this._formatDate(o),o.input&&o.input.val(i),this._updateAlternate(o),(s=this._get(o,"onSelect"))?s.apply(o.input?o.input[0]:null,[i,o]):o.input&&o.input.trigger("change"),o.inline?this._updateDatepicker(o):(this._hideDatepicker(),this._lastInput=o.input[0],"object"!=typeof o.input[0]&&o.input.trigger("focus"),this._lastInput=null)},_updateAlternate:function(e){var i,s,n,o=this._get(e,"altField");o&&(i=this._get(e,"altFormat")||this._get(e,"dateFormat"),s=this._getDate(e),n=this.formatDate(i,s,this._getFormatConfig(e)),t(o).val(n))},noWeekends:function(t){var e=t.getDay();return[e>0&&e<6,""]},iso8601Week:function(t){var e,i=new Date(t.getTime());return i.setDate(i.getDate()+4-(i.getDay()||7)),e=i.getTime(),i.setMonth(0),i.setDate(1),Math.floor(Math.round((e-i)/864e5)/7)+1},parseDate:function(e,i,s){if(null==e||null==i)throw"Invalid arguments";if(""===(i="object"==typeof i?i.toString():i+""))return null;var n,o,a,r,h=0,l=(s?s.shortYearCutoff:null)||this._defaults.shortYearCutoff,c="string"!=typeof l?l:(new Date).getFullYear()%100+parseInt(l,10),u=(s?s.dayNamesShort:null)||this._defaults.dayNamesShort,d=(s?s.dayNames:null)||this._defaults.dayNames,p=(s?s.monthNamesShort:null)||this._defaults.monthNamesShort,f=(s?s.monthNames:null)||this._defaults.monthNames,g=-1,m=-1,_=-1,v=-1,b=!1,y=function(t){var i=n+1-1)for(m=1,_=v;;){if(_<=(o=this._getDaysInMonth(g,m-1)))break;m++,_-=o}if((r=this._daylightSavingAdjust(new Date(g,m-1,_))).getFullYear()!==g||r.getMonth()+1!==m||r.getDate()!==_)throw"Invalid date";return r},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*60*60*1e7,formatDate:function(t,e,i){if(!e)return"";var s,n=(i?i.dayNamesShort:null)||this._defaults.dayNamesShort,o=(i?i.dayNames:null)||this._defaults.dayNames,a=(i?i.monthNamesShort:null)||this._defaults.monthNamesShort,r=(i?i.monthNames:null)||this._defaults.monthNames,h=function(e){var i=s+112?t.getHours()+2:0),t):null},_setDate:function(t,e,i){var s=!e,n=t.selectedMonth,o=t.selectedYear,a=this._restrictMinMax(t,this._determineDate(t,e,new Date));t.selectedDay=t.currentDay=a.getDate(),t.drawMonth=t.selectedMonth=t.currentMonth=a.getMonth(),t.drawYear=t.selectedYear=t.currentYear=a.getFullYear(),n===t.selectedMonth&&o===t.selectedYear||i||this._notifyChange(t),this._adjustInstDate(t),t.input&&t.input.val(s?"":this._formatDate(t))},_getDate:function(t){return!t.currentYear||t.input&&""===t.input.val()?null:this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay))},_attachHandlers:function(e){var i=this._get(e,"stepMonths"),s="#"+e.id.replace(/\\\\/g,"\\");e.dpDiv.find("[data-handler]").map(function(){var e={prev:function(){t.datepicker._adjustDate(s,-i,"M")},next:function(){t.datepicker._adjustDate(s,+i,"M")},hide:function(){t.datepicker._hideDatepicker()},today:function(){t.datepicker._gotoToday(s)},selectDay:function(){return t.datepicker._selectDay(s,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return t.datepicker._selectMonthYear(s,this,"M"),!1},selectYear:function(){return t.datepicker._selectMonthYear(s,this,"Y"),!1}};t(this).on(this.getAttribute("data-event"),e[this.getAttribute("data-handler")])})},_generateHTML:function(t){var e,i,s,n,o,a,r,h,l,c,u,d,p,f,g,m,_,v,b,y,w,k,x,C,D,I,T,P,M,S,H,z,O,A,N,W,E,F,L,R=new Date,B=this._daylightSavingAdjust(new Date(R.getFullYear(),R.getMonth(),R.getDate())),Y=this._get(t,"isRTL"),j=this._get(t,"showButtonPanel"),q=this._get(t,"hideIfNoPrevNext"),K=this._get(t,"navigationAsDateFormat"),U=this._getNumberOfMonths(t),V=this._get(t,"showCurrentAtPos"),$=this._get(t,"stepMonths"),X=1!==U[0]||1!==U[1],G=this._daylightSavingAdjust(t.currentDay?new Date(t.currentYear,t.currentMonth,t.currentDay):new Date(9999,9,9)),Q=this._getMinMaxDate(t,"min"),J=this._getMinMaxDate(t,"max"),Z=t.drawMonth-V,tt=t.drawYear;if(Z<0&&(Z+=12,tt--),J)for(e=this._daylightSavingAdjust(new Date(J.getFullYear(),J.getMonth()-U[0]*U[1]+1,J.getDate())),e=Q&&ee;)--Z<0&&(Z=11,tt--);for(t.drawMonth=Z,t.drawYear=tt,i=this._get(t,"prevText"),i=K?this.formatDate(i,this._daylightSavingAdjust(new Date(tt,Z-$,1)),this._getFormatConfig(t)):i,s=this._canAdjustMonth(t,-1,tt,Z)?""+i+"":q?"":""+i+"",n=this._get(t,"nextText"),n=K?this.formatDate(n,this._daylightSavingAdjust(new Date(tt,Z+$,1)),this._getFormatConfig(t)):n,o=this._canAdjustMonth(t,1,tt,Z)?""+n+"":q?"":""+n+"",a=this._get(t,"currentText"),r=this._get(t,"gotoCurrent")&&t.currentDay?G:B,a=K?this.formatDate(a,r,this._getFormatConfig(t)):a,h=t.inline?"":"",l=j?"
            "+(Y?h:"")+(this._isInRange(t,r)?"":"")+(Y?"":h)+"
            ":"",c=parseInt(this._get(t,"firstDay"),10),c=isNaN(c)?0:c,u=this._get(t,"showWeek"),d=this._get(t,"dayNames"),p=this._get(t,"dayNamesMin"),f=this._get(t,"monthNames"),g=this._get(t,"monthNamesShort"),m=this._get(t,"beforeShowDay"),_=this._get(t,"showOtherMonths"),v=this._get(t,"selectOtherMonths"),b=this._getDefaultDate(t),y="",k=0;k1)switch(C){case 0:T+=" ui-datepicker-group-first",I=" ui-corner-"+(Y?"right":"left");break;case U[1]-1:T+=" ui-datepicker-group-last",I=" ui-corner-"+(Y?"left":"right");break;default:T+=" ui-datepicker-group-middle",I=""}T+="'>"}for(T+="
            "+(/all|left/.test(I)&&0===k?Y?o:s:"")+(/all|right/.test(I)&&0===k?Y?s:o:"")+this._generateMonthYearHeader(t,Z,tt,Q,J,k>0||C>0,f,g)+"
            ",P=u?"":"",w=0;w<7;w++)P+="";for(T+=P+"",S=this._getDaysInMonth(tt,Z),tt===t.selectedYear&&Z===t.selectedMonth&&(t.selectedDay=Math.min(t.selectedDay,S)),H=(this._getFirstDayOfMonth(tt,Z)-c+7)%7,z=Math.ceil((H+S)/7),O=X&&this.maxRows>z?this.maxRows:z,this.maxRows=O,A=this._daylightSavingAdjust(new Date(tt,Z,1-H)),N=0;N",W=u?"":"",w=0;w<7;w++)E=m?m.apply(t.input?t.input[0]:null,[A]):[!0,""],L=(F=A.getMonth()!==Z)&&!v||!E[0]||Q&&AJ,W+="",A.setDate(A.getDate()+1),A=this._daylightSavingAdjust(A);T+=W+""}++Z>11&&(Z=0,tt++),x+=T+="
            "+this._get(t,"weekHeader")+"=5?" class='ui-datepicker-week-end'":"")+">"+p[M]+"
            "+this._get(t,"calculateWeek")(A)+""+(F&&!_?" ":L?""+A.getDate()+"":""+A.getDate()+"")+"
            "+(X?"
            "+(U[0]>0&&C===U[1]-1?"
            ":""):"")}y+=x}return y+=l,t._keyEvent=!1,y},_generateMonthYearHeader:function(t,e,i,s,n,o,a,r){var h,l,c,u,d,p,f,g,m=this._get(t,"changeMonth"),_=this._get(t,"changeYear"),v=this._get(t,"showMonthAfterYear"),b="
            ",y="";if(o||!m)y+=""+a[e]+"";else{for(h=s&&s.getFullYear()===i,l=n&&n.getFullYear()===i,y+=""}if(v||(b+=y+(!o&&m&&_?"":" ")),!t.yearshtml)if(t.yearshtml="",o||!_)b+=""+i+"";else{for(u=this._get(t,"yearRange").split(":"),d=(new Date).getFullYear(),f=(p=function(t){var e=t.match(/c[+\-].*/)?i+parseInt(t.substring(1),10):t.match(/[+\-].*/)?d+parseInt(t,10):parseInt(t,10);return isNaN(e)?d:e})(u[0]),g=Math.max(f,p(u[1]||"")),f=s?Math.max(f,s.getFullYear()):f,g=n?Math.min(g,n.getFullYear()):g,t.yearshtml+="",b+=t.yearshtml,t.yearshtml=null}return b+=this._get(t,"yearSuffix"),v&&(b+=(!o&&m&&_?"":" ")+y),b+="
            "},_adjustInstDate:function(t,e,i){var s=t.selectedYear+("Y"===i?e:0),n=t.selectedMonth+("M"===i?e:0),o=Math.min(t.selectedDay,this._getDaysInMonth(s,n))+("D"===i?e:0),a=this._restrictMinMax(t,this._daylightSavingAdjust(new Date(s,n,o)));t.selectedDay=a.getDate(),t.drawMonth=t.selectedMonth=a.getMonth(),t.drawYear=t.selectedYear=a.getFullYear(),"M"!==i&&"Y"!==i||this._notifyChange(t)},_restrictMinMax:function(t,e){var i=this._getMinMaxDate(t,"min"),s=this._getMinMaxDate(t,"max"),n=i&&es?s:n},_notifyChange:function(t){var e=this._get(t,"onChangeMonthYear");e&&e.apply(t.input?t.input[0]:null,[t.selectedYear,t.selectedMonth+1,t])},_getNumberOfMonths:function(t){var e=this._get(t,"numberOfMonths");return null==e?[1,1]:"number"==typeof e?[1,e]:e},_getMinMaxDate:function(t,e){return this._determineDate(t,this._get(t,e+"Date"),null)},_getDaysInMonth:function(t,e){return 32-this._daylightSavingAdjust(new Date(t,e,32)).getDate()},_getFirstDayOfMonth:function(t,e){return new Date(t,e,1).getDay()},_canAdjustMonth:function(t,e,i,s){var n=this._getNumberOfMonths(t),o=this._daylightSavingAdjust(new Date(i,s+(e<0?e:n[0]*n[1]),1));return e<0&&o.setDate(this._getDaysInMonth(o.getFullYear(),o.getMonth())),this._isInRange(t,o)},_isInRange:function(t,e){var i,s,n=this._getMinMaxDate(t,"min"),o=this._getMinMaxDate(t,"max"),a=null,r=null,h=this._get(t,"yearRange");return h&&(i=h.split(":"),s=(new Date).getFullYear(),a=parseInt(i[0],10),r=parseInt(i[1],10),i[0].match(/[+\-].*/)&&(a+=s),i[1].match(/[+\-].*/)&&(r+=s)),(!n||e.getTime()>=n.getTime())&&(!o||e.getTime()<=o.getTime())&&(!a||e.getFullYear()>=a)&&(!r||e.getFullYear()<=r)},_getFormatConfig:function(t){var e=this._get(t,"shortYearCutoff");return{shortYearCutoff:e="string"!=typeof e?e:(new Date).getFullYear()%100+parseInt(e,10),dayNamesShort:this._get(t,"dayNamesShort"),dayNames:this._get(t,"dayNames"),monthNamesShort:this._get(t,"monthNamesShort"),monthNames:this._get(t,"monthNames")}},_formatDate:function(t,e,i,s){e||(t.currentDay=t.selectedDay,t.currentMonth=t.selectedMonth,t.currentYear=t.selectedYear);var n=e?"object"==typeof e?e:this._daylightSavingAdjust(new Date(s,i,e)):this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay));return this.formatDate(this._get(t,"dateFormat"),n,this._getFormatConfig(t))}}),t.fn.datepicker=function(e){if(!this.length)return this;t.datepicker.initialized||(t(document).on("mousedown",t.datepicker._checkExternalClick),t.datepicker.initialized=!0),0===t("#"+t.datepicker._mainDivId).length&&t("body").append(t.datepicker.dpDiv);var i=Array.prototype.slice.call(arguments,1);return"string"!=typeof e||"isDisabled"!==e&&"getDate"!==e&&"widget"!==e?"option"===e&&2===arguments.length&&"string"==typeof arguments[1]?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i)):this.each(function(){"string"==typeof e?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this].concat(i)):t.datepicker._attachDatepicker(this,e)}):t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i))},t.datepicker=new d,t.datepicker.initialized=!1,t.datepicker.uuid=(new Date).getTime(),t.datepicker.version="1.12.1";t.datepicker,t.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var m=!1;t(document).on("mouseup",function(){m=!1});t.widget("ui.mouse",{version:"1.12.1",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).on("click."+this.widgetName,function(i){if(!0===t.data(i.target,e.widgetName+".preventClickEvent"))return t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){if(!m){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),this._mouseDownEvent=e;var i=this,s=1===e.which,n=!("string"!=typeof this.options.cancel||!e.target.nodeName)&&t(e.target).closest(this.options.cancel).length;return!(s&&!n&&this._mouseCapture(e))||(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=!1!==this._mouseStart(e),!this._mouseStarted)?(e.preventDefault(),!0):(!0===t.data(e.target,this.widgetName+".preventClickEvent")&&t.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return i._mouseMove(t)},this._mouseUpDelegate=function(t){return i._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),m=!0,!0))}},_mouseMove:function(e){if(this._mouseMoved){if(t.ui.ie&&(!document.documentMode||document.documentMode<9)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=!1!==this._mouseStart(this._mouseDownEvent,e),this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,m=!1,e.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),t.ui.plugin={add:function(e,i,s){var n,o=t.ui[e].prototype;for(n in s)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([i,s[n]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;n0)&&(this.handle=this._getHandle(e),!!this.handle&&(this._blurActiveElement(e),this._blockFrames(!0===i.iframeFix?"iframe":i.iframeFix),!0))},_blockFrames:function(e){this.iframeBlocks=this.document.find(e).map(function(){var e=t(this);return t("
            ").css("position","absolute").appendTo(e.parent()).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()).offset(e.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_blurActiveElement:function(e){var i=t.ui.safeActiveElement(this.document[0]);t(e.target).closest(i).length||t.ui.safeBlur(i)},_mouseStart:function(e){var i=this.options;return this.helper=this._createHelper(e),this._addClass(this.helper,"ui-draggable-dragging"),this._cacheHelperProportions(),t.ui.ddmanager&&(t.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(!0),this.offsetParent=this.helper.offsetParent(),this.hasFixedAncestor=this.helper.parents().filter(function(){return"fixed"===t(this).css("position")}).length>0,this.positionAbs=this.element.offset(),this._refreshOffsets(e),this.originalPosition=this.position=this._generatePosition(e,!1),this.originalPageX=e.pageX,this.originalPageY=e.pageY,i.cursorAt&&this._adjustOffsetFromHelper(i.cursorAt),this._setContainment(),!1===this._trigger("start",e)?(this._clear(),!1):(this._cacheHelperProportions(),t.ui.ddmanager&&!i.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this._mouseDrag(e,!0),t.ui.ddmanager&&t.ui.ddmanager.dragStart(this,e),!0)},_refreshOffsets:function(t){this.offset={top:this.positionAbs.top-this.margins.top,left:this.positionAbs.left-this.margins.left,scroll:!1,parent:this._getParentOffset(),relative:this._getRelativeOffset()},this.offset.click={left:t.pageX-this.offset.left,top:t.pageY-this.offset.top}},_mouseDrag:function(e,i){if(this.hasFixedAncestor&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(e,!0),this.positionAbs=this._convertPositionTo("absolute"),!i){var s=this._uiHash();if(!1===this._trigger("drag",e,s))return this._mouseUp(new t.Event("mouseup",e)),!1;this.position=s.position}return this.helper[0].style.left=this.position.left+"px",this.helper[0].style.top=this.position.top+"px",t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),!1},_mouseStop:function(e){var i=this,s=!1;return t.ui.ddmanager&&!this.options.dropBehaviour&&(s=t.ui.ddmanager.drop(this,e)),this.dropped&&(s=this.dropped,this.dropped=!1),"invalid"===this.options.revert&&!s||"valid"===this.options.revert&&s||!0===this.options.revert||t.isFunction(this.options.revert)&&this.options.revert.call(this.element,s)?t(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){!1!==i._trigger("stop",e)&&i._clear()}):!1!==this._trigger("stop",e)&&this._clear(),!1},_mouseUp:function(e){return this._unblockFrames(),t.ui.ddmanager&&t.ui.ddmanager.dragStop(this,e),this.handleElement.is(e.target)&&this.element.trigger("focus"),t.ui.mouse.prototype._mouseUp.call(this,e)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp(new t.Event("mouseup",{target:this.element[0]})):this._clear(),this},_getHandle:function(e){return!this.options.handle||!!t(e.target).closest(this.element.find(this.options.handle)).length},_setHandleClassName:function(){this.handleElement=this.options.handle?this.element.find(this.options.handle):this.element,this._addClass(this.handleElement,"ui-draggable-handle")},_removeHandleClassName:function(){this._removeClass(this.handleElement,"ui-draggable-handle")},_createHelper:function(e){var i=this.options,s=t.isFunction(i.helper),n=s?t(i.helper.apply(this.element[0],[e])):"clone"===i.helper?this.element.clone().removeAttr("id"):this.element;return n.parents("body").length||n.appendTo("parent"===i.appendTo?this.element[0].parentNode:i.appendTo),s&&n[0]===this.element[0]&&this._setPositionRelative(),n[0]===this.element[0]||/(fixed|absolute)/.test(n.css("position"))||n.css("position","absolute"),n},_setPositionRelative:function(){/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative")},_adjustOffsetFromHelper:function(e){"string"==typeof e&&(e=e.split(" ")),t.isArray(e)&&(e={left:+e[0],top:+e[1]||0}),"left"in e&&(this.offset.click.left=e.left+this.margins.left),"right"in e&&(this.offset.click.left=this.helperProportions.width-e.right+this.margins.left),"top"in e&&(this.offset.click.top=e.top+this.margins.top),"bottom"in e&&(this.offset.click.top=this.helperProportions.height-e.bottom+this.margins.top)},_isRootNode:function(t){return/(html|body)/i.test(t.tagName)||t===this.document[0]},_getParentOffset:function(){var e=this.offsetParent.offset(),i=this.document[0];return"absolute"===this.cssPosition&&this.scrollParent[0]!==i&&t.contains(this.scrollParent[0],this.offsetParent[0])&&(e.left+=this.scrollParent.scrollLeft(),e.top+=this.scrollParent.scrollTop()),this._isRootNode(this.offsetParent[0])&&(e={top:0,left:0}),{top:e.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:e.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"!==this.cssPosition)return{top:0,left:0};var t=this.element.position(),e=this._isRootNode(this.scrollParent[0]);return{top:t.top-(parseInt(this.helper.css("top"),10)||0)+(e?0:this.scrollParent.scrollTop()),left:t.left-(parseInt(this.helper.css("left"),10)||0)+(e?0:this.scrollParent.scrollLeft())}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e,i,s,n=this.options,o=this.document[0];this.relativeContainer=null,n.containment?"window"!==n.containment?"document"!==n.containment?n.containment.constructor!==Array?("parent"===n.containment&&(n.containment=this.helper[0].parentNode),(s=(i=t(n.containment))[0])&&(e=/(scroll|auto)/.test(i.css("overflow")),this.containment=[(parseInt(i.css("borderLeftWidth"),10)||0)+(parseInt(i.css("paddingLeft"),10)||0),(parseInt(i.css("borderTopWidth"),10)||0)+(parseInt(i.css("paddingTop"),10)||0),(e?Math.max(s.scrollWidth,s.offsetWidth):s.offsetWidth)-(parseInt(i.css("borderRightWidth"),10)||0)-(parseInt(i.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(e?Math.max(s.scrollHeight,s.offsetHeight):s.offsetHeight)-(parseInt(i.css("borderBottomWidth"),10)||0)-(parseInt(i.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relativeContainer=i)):this.containment=n.containment:this.containment=[0,0,t(o).width()-this.helperProportions.width-this.margins.left,(t(o).height()||o.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]:this.containment=[t(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,t(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,t(window).scrollLeft()+t(window).width()-this.helperProportions.width-this.margins.left,t(window).scrollTop()+(t(window).height()||o.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]:this.containment=null},_convertPositionTo:function(t,e){e||(e=this.position);var i="absolute"===t?1:-1,s=this._isRootNode(this.scrollParent[0]);return{top:e.top+this.offset.relative.top*i+this.offset.parent.top*i-("fixed"===this.cssPosition?-this.offset.scroll.top:s?0:this.offset.scroll.top)*i,left:e.left+this.offset.relative.left*i+this.offset.parent.left*i-("fixed"===this.cssPosition?-this.offset.scroll.left:s?0:this.offset.scroll.left)*i}},_generatePosition:function(t,e){var i,s,n,o,a=this.options,r=this._isRootNode(this.scrollParent[0]),h=t.pageX,l=t.pageY;return r&&this.offset.scroll||(this.offset.scroll={top:this.scrollParent.scrollTop(),left:this.scrollParent.scrollLeft()}),e&&(this.containment&&(this.relativeContainer?(s=this.relativeContainer.offset(),i=[this.containment[0]+s.left,this.containment[1]+s.top,this.containment[2]+s.left,this.containment[3]+s.top]):i=this.containment,t.pageX-this.offset.click.lefti[2]&&(h=i[2]+this.offset.click.left),t.pageY-this.offset.click.top>i[3]&&(l=i[3]+this.offset.click.top)),a.grid&&(n=a.grid[1]?this.originalPageY+Math.round((l-this.originalPageY)/a.grid[1])*a.grid[1]:this.originalPageY,l=i?n-this.offset.click.top>=i[1]||n-this.offset.click.top>i[3]?n:n-this.offset.click.top>=i[1]?n-a.grid[1]:n+a.grid[1]:n,o=a.grid[0]?this.originalPageX+Math.round((h-this.originalPageX)/a.grid[0])*a.grid[0]:this.originalPageX,h=i?o-this.offset.click.left>=i[0]||o-this.offset.click.left>i[2]?o:o-this.offset.click.left>=i[0]?o-a.grid[0]:o+a.grid[0]:o),"y"===a.axis&&(h=this.originalPageX),"x"===a.axis&&(l=this.originalPageY)),{top:l-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.offset.scroll.top:r?0:this.offset.scroll.top),left:h-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.offset.scroll.left:r?0:this.offset.scroll.left)}},_clear:function(){this._removeClass(this.helper,"ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1,this.destroyOnClear&&this.destroy()},_trigger:function(e,i,s){return s=s||this._uiHash(),t.ui.plugin.call(this,e,[i,s,this],!0),/^(drag|start|stop)/.test(e)&&(this.positionAbs=this._convertPositionTo("absolute"),s.offset=this.positionAbs),t.Widget.prototype._trigger.call(this,e,i,s)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),t.ui.plugin.add("draggable","connectToSortable",{start:function(e,i,s){var n=t.extend({},i,{item:s.element});s.sortables=[],t(s.options.connectToSortable).each(function(){var i=t(this).sortable("instance");i&&!i.options.disabled&&(s.sortables.push(i),i.refreshPositions(),i._trigger("activate",e,n))})},stop:function(e,i,s){var n=t.extend({},i,{item:s.element});s.cancelHelperRemoval=!1,t.each(s.sortables,function(){this.isOver?(this.isOver=0,s.cancelHelperRemoval=!0,this.cancelHelperRemoval=!1,this._storedCSS={position:this.placeholder.css("position"),top:this.placeholder.css("top"),left:this.placeholder.css("left")},this._mouseStop(e),this.options.helper=this.options._helper):(this.cancelHelperRemoval=!0,this._trigger("deactivate",e,n))})},drag:function(e,i,s){t.each(s.sortables,function(){var n=!1,o=this;o.positionAbs=s.positionAbs,o.helperProportions=s.helperProportions,o.offset.click=s.offset.click,o._intersectsWith(o.containerCache)&&(n=!0,t.each(s.sortables,function(){return this.positionAbs=s.positionAbs,this.helperProportions=s.helperProportions,this.offset.click=s.offset.click,this!==o&&this._intersectsWith(this.containerCache)&&t.contains(o.element[0],this.element[0])&&(n=!1),n})),n?(o.isOver||(o.isOver=1,s._parent=i.helper.parent(),o.currentItem=i.helper.appendTo(o.element).data("ui-sortable-item",!0),o.options._helper=o.options.helper,o.options.helper=function(){return i.helper[0]},e.target=o.currentItem[0],o._mouseCapture(e,!0),o._mouseStart(e,!0,!0),o.offset.click.top=s.offset.click.top,o.offset.click.left=s.offset.click.left,o.offset.parent.left-=s.offset.parent.left-o.offset.parent.left,o.offset.parent.top-=s.offset.parent.top-o.offset.parent.top,s._trigger("toSortable",e),s.dropped=o.element,t.each(s.sortables,function(){this.refreshPositions()}),s.currentItem=s.element,o.fromOutside=s),o.currentItem&&(o._mouseDrag(e),i.position=o.position)):o.isOver&&(o.isOver=0,o.cancelHelperRemoval=!0,o.options._revert=o.options.revert,o.options.revert=!1,o._trigger("out",e,o._uiHash(o)),o._mouseStop(e,!0),o.options.revert=o.options._revert,o.options.helper=o.options._helper,o.placeholder&&o.placeholder.remove(),i.helper.appendTo(s._parent),s._refreshOffsets(e),i.position=s._generatePosition(e,!0),s._trigger("fromSortable",e),s.dropped=!1,t.each(s.sortables,function(){this.refreshPositions()}))})}}),t.ui.plugin.add("draggable","cursor",{start:function(e,i,s){var n=t("body"),o=s.options;n.css("cursor")&&(o._cursor=n.css("cursor")),n.css("cursor",o.cursor)},stop:function(e,i,s){var n=s.options;n._cursor&&t("body").css("cursor",n._cursor)}}),t.ui.plugin.add("draggable","opacity",{start:function(e,i,s){var n=t(i.helper),o=s.options;n.css("opacity")&&(o._opacity=n.css("opacity")),n.css("opacity",o.opacity)},stop:function(e,i,s){var n=s.options;n._opacity&&t(i.helper).css("opacity",n._opacity)}}),t.ui.plugin.add("draggable","scroll",{start:function(t,e,i){i.scrollParentNotHidden||(i.scrollParentNotHidden=i.helper.scrollParent(!1)),i.scrollParentNotHidden[0]!==i.document[0]&&"HTML"!==i.scrollParentNotHidden[0].tagName&&(i.overflowOffset=i.scrollParentNotHidden.offset())},drag:function(e,i,s){var n=s.options,o=!1,a=s.scrollParentNotHidden[0],r=s.document[0];a!==r&&"HTML"!==a.tagName?(n.axis&&"x"===n.axis||(s.overflowOffset.top+a.offsetHeight-e.pageY=0;d--)l=(h=s.snapElements[d].left-s.margins.left)+s.snapElements[d].width,u=(c=s.snapElements[d].top-s.margins.top)+s.snapElements[d].height,_l+g||bu+g||!t.contains(s.snapElements[d].item.ownerDocument,s.snapElements[d].item)?(s.snapElements[d].snapping&&s.options.snap.release&&s.options.snap.release.call(s.element,e,t.extend(s._uiHash(),{snapItem:s.snapElements[d].item})),s.snapElements[d].snapping=!1):("inner"!==f.snapMode&&(n=Math.abs(c-b)<=g,o=Math.abs(u-v)<=g,a=Math.abs(h-_)<=g,r=Math.abs(l-m)<=g,n&&(i.position.top=s._convertPositionTo("relative",{top:c-s.helperProportions.height,left:0}).top),o&&(i.position.top=s._convertPositionTo("relative",{top:u,left:0}).top),a&&(i.position.left=s._convertPositionTo("relative",{top:0,left:h-s.helperProportions.width}).left),r&&(i.position.left=s._convertPositionTo("relative",{top:0,left:l}).left)),p=n||o||a||r,"outer"!==f.snapMode&&(n=Math.abs(c-v)<=g,o=Math.abs(u-b)<=g,a=Math.abs(h-m)<=g,r=Math.abs(l-_)<=g,n&&(i.position.top=s._convertPositionTo("relative",{top:c,left:0}).top),o&&(i.position.top=s._convertPositionTo("relative",{top:u-s.helperProportions.height,left:0}).top),a&&(i.position.left=s._convertPositionTo("relative",{top:0,left:h}).left),r&&(i.position.left=s._convertPositionTo("relative",{top:0,left:l-s.helperProportions.width}).left)),!s.snapElements[d].snapping&&(n||o||a||r||p)&&s.options.snap.snap&&s.options.snap.snap.call(s.element,e,t.extend(s._uiHash(),{snapItem:s.snapElements[d].item})),s.snapElements[d].snapping=n||o||a||r||p)}}),t.ui.plugin.add("draggable","stack",{start:function(e,i,s){var n,o=s.options,a=t.makeArray(t(o.stack)).sort(function(e,i){return(parseInt(t(e).css("zIndex"),10)||0)-(parseInt(t(i).css("zIndex"),10)||0)});a.length&&(n=parseInt(t(a[0]).css("zIndex"),10)||0,t(a).each(function(e){t(this).css("zIndex",n+e)}),this.css("zIndex",n+a.length))}}),t.ui.plugin.add("draggable","zIndex",{start:function(e,i,s){var n=t(i.helper),o=s.options;n.css("zIndex")&&(o._zIndex=n.css("zIndex")),n.css("zIndex",o.zIndex)},stop:function(e,i,s){var n=s.options;n._zIndex&&t(i.helper).css("zIndex",n._zIndex)}});t.ui.draggable;t.widget("ui.resizable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(t){return parseFloat(t)||0},_isNumber:function(t){return!isNaN(parseFloat(t))},_hasScroll:function(e,i){if("hidden"===t(e).css("overflow"))return!1;var s,n=i&&"left"===i?"scrollLeft":"scrollTop";return e[n]>0||(e[n]=1,s=e[n]>0,e[n]=0,s)},_create:function(){var e,i=this.options,s=this;this._addClass("ui-resizable"),t.extend(this,{_aspectRatio:!!i.aspectRatio,aspectRatio:i.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:i.helper||i.ghost||i.animate?i.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(t("
            ").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,e={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(e),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(e),this._proportionallyResize()),this._setupHandles(),i.autoHide&&t(this.element).on("mouseenter",function(){i.disabled||(s._removeClass("ui-resizable-autohide"),s._handles.show())}).on("mouseleave",function(){i.disabled||s.resizing||(s._addClass("ui-resizable-autohide"),s._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy();var e,i=function(e){t(e).removeData("resizable").removeData("ui-resizable").off(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles()}},_setupHandles:function(){var e,i,s,n,o,a=this.options,r=this;if(this.handles=a.handles||(t(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=t(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),s=this.handles.split(","),this.handles={},i=0;i"),this._addClass(o,"ui-resizable-handle "+n),o.css({zIndex:a.zIndex}),this.handles[e]=".ui-resizable-"+e,this.element.append(o);this._renderAxis=function(e){var i,s,n,o;for(i in e=e||this.element,this.handles)this.handles[i].constructor===String?this.handles[i]=this.element.children(this.handles[i]).first().show():(this.handles[i].jquery||this.handles[i].nodeType)&&(this.handles[i]=t(this.handles[i]),this._on(this.handles[i],{mousedown:r._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(s=t(this.handles[i],this.element),o=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),e.css(n,o),this._proportionallyResize()),this._handles=this._handles.add(this.handles[i])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){r.resizing||(this.className&&(o=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),r.axis=o&&o[1]?o[1]:"se")}),a.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._handles.remove()},_mouseCapture:function(e){var i,s,n=!1;for(i in this.handles)((s=t(this.handles[i])[0])===e.target||t.contains(s,e.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(e){var i,s,n,o=this.options,a=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),s=this._num(this.helper.css("top")),o.containment&&(i+=t(o.containment).scrollLeft()||0,s+=t(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:s},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:a.width(),height:a.height()},this.originalSize=this._helper?{width:a.outerWidth(),height:a.outerHeight()}:{width:a.width(),height:a.height()},this.sizeDiff={width:a.outerWidth()-a.width(),height:a.outerHeight()-a.height()},this.originalPosition={left:i,top:s},this.originalMousePosition={left:e.pageX,top:e.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,n=t(".ui-resizable-"+this.axis).css("cursor"),t("body").css("cursor","auto"===n?this.axis+"-resize":n),this._addClass("ui-resizable-resizing"),this._propagate("start",e),!0},_mouseDrag:function(e){var i,s,n=this.originalMousePosition,o=this.axis,a=e.pageX-n.left||0,r=e.pageY-n.top||0,h=this._change[o];return this._updatePrevProperties(),!!h&&(i=h.apply(this,[e,a,r]),this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(i=this._updateRatio(i,e)),i=this._respectSize(i,e),this._updateCache(i),this._propagate("resize",e),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),t.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",e,this.ui()),this._applyChanges()),!1)},_mouseStop:function(e){this.resizing=!1;var i,s,n,o,a,r,h,l=this.options;return this._helper&&(n=(s=(i=this._proportionallyResizeElements).length&&/textarea/i.test(i[0].nodeName))&&this._hasScroll(i[0],"left")?0:this.sizeDiff.height,o=s?0:this.sizeDiff.width,a={width:this.helper.width()-o,height:this.helper.height()-n},r=parseFloat(this.element.css("left"))+(this.position.left-this.originalPosition.left)||null,h=parseFloat(this.element.css("top"))+(this.position.top-this.originalPosition.top)||null,l.animate||this.element.css(t.extend(a,{top:h,left:r})),this.helper.height(this.size.height),this.helper.width(this.size.width),this._helper&&!l.animate&&this._proportionallyResize()),t("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",e),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s,n,o,a=this.options;o={minWidth:this._isNumber(a.minWidth)?a.minWidth:0,maxWidth:this._isNumber(a.maxWidth)?a.maxWidth:1/0,minHeight:this._isNumber(a.minHeight)?a.minHeight:0,maxHeight:this._isNumber(a.maxHeight)?a.maxHeight:1/0},(this._aspectRatio||t)&&(e=o.minHeight*this.aspectRatio,s=o.minWidth/this.aspectRatio,i=o.maxHeight*this.aspectRatio,n=o.maxWidth/this.aspectRatio,e>o.minWidth&&(o.minWidth=e),s>o.minHeight&&(o.minHeight=s),it.width,a=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,r=this.originalPosition.left+this.originalSize.width,h=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),c=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),a&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=r-e.minWidth),s&&l&&(t.left=r-e.maxWidth),a&&c&&(t.top=h-e.minHeight),n&&c&&(t.top=h-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];e<4;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;e
            "),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize;return{left:this.originalPosition.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize;return{top:this.originalPosition.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},sw:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,i,s]))},ne:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},nw:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,i,s]))}},_propagate:function(e,i){t.ui.plugin.call(this,e,[i,this.ui()]),"resize"!==e&&this._trigger(e,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),t.ui.plugin.add("resizable","animate",{stop:function(e){var i=t(this).resizable("instance"),s=i.options,n=i._proportionallyResizeElements,o=n.length&&/textarea/i.test(n[0].nodeName),a=o&&i._hasScroll(n[0],"left")?0:i.sizeDiff.height,r=o?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-a},l=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,c=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(t.extend(h,c&&l?{top:c,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};n&&n.length&&t(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",e)}})}}),t.ui.plugin.add("resizable","containment",{start:function(){var e,i,s,n,o,a,r,h=t(this).resizable("instance"),l=h.options,c=h.element,u=l.containment,d=u instanceof t?u.get(0):/parent/.test(u)?c.parent().get(0):u;d&&(h.containerElement=t(d),/document/.test(u)||u===document?(h.containerOffset={left:0,top:0},h.containerPosition={left:0,top:0},h.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(e=t(d),i=[],t(["Top","Right","Left","Bottom"]).each(function(t,s){i[t]=h._num(e.css("padding"+s))}),h.containerOffset=e.offset(),h.containerPosition=e.position(),h.containerSize={height:e.innerHeight()-i[3],width:e.innerWidth()-i[1]},s=h.containerOffset,n=h.containerSize.height,o=h.containerSize.width,a=h._hasScroll(d,"left")?d.scrollWidth:o,r=h._hasScroll(d)?d.scrollHeight:n,h.parentData={element:d,left:s.left,top:s.top,width:a,height:r}))},resize:function(e){var i,s,n,o,a=t(this).resizable("instance"),r=a.options,h=a.containerOffset,l=a.position,c=a._aspectRatio||e.shiftKey,u={top:0,left:0},d=a.containerElement,p=!0;d[0]!==document&&/static/.test(d.css("position"))&&(u=h),l.left<(a._helper?h.left:0)&&(a.size.width=a.size.width+(a._helper?a.position.left-h.left:a.position.left-u.left),c&&(a.size.height=a.size.width/a.aspectRatio,p=!1),a.position.left=r.helper?h.left:0),l.top<(a._helper?h.top:0)&&(a.size.height=a.size.height+(a._helper?a.position.top-h.top:a.position.top),c&&(a.size.width=a.size.height*a.aspectRatio,p=!1),a.position.top=a._helper?h.top:0),n=a.containerElement.get(0)===a.element.parent().get(0),o=/relative|absolute/.test(a.containerElement.css("position")),n&&o?(a.offset.left=a.parentData.left+a.position.left,a.offset.top=a.parentData.top+a.position.top):(a.offset.left=a.element.offset().left,a.offset.top=a.element.offset().top),i=Math.abs(a.sizeDiff.width+(a._helper?a.offset.left-u.left:a.offset.left-h.left)),s=Math.abs(a.sizeDiff.height+(a._helper?a.offset.top-u.top:a.offset.top-h.top)),i+a.size.width>=a.parentData.width&&(a.size.width=a.parentData.width-i,c&&(a.size.height=a.size.width/a.aspectRatio,p=!1)),s+a.size.height>=a.parentData.height&&(a.size.height=a.parentData.height-s,c&&(a.size.width=a.size.height*a.aspectRatio,p=!1)),p||(a.position.left=a.prevPosition.left,a.position.top=a.prevPosition.top,a.size.width=a.prevSize.width,a.size.height=a.prevSize.height)},stop:function(){var e=t(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.containerPosition,o=e.containerElement,a=t(e.helper),r=a.offset(),h=a.outerWidth()-e.sizeDiff.width,l=a.outerHeight()-e.sizeDiff.height;e._helper&&!i.animate&&/relative/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l}),e._helper&&!i.animate&&/static/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),t.ui.plugin.add("resizable","alsoResize",{start:function(){var e=t(this).resizable("instance").options;t(e.alsoResize).each(function(){var e=t(this);e.data("ui-resizable-alsoresize",{width:parseFloat(e.width()),height:parseFloat(e.height()),left:parseFloat(e.css("left")),top:parseFloat(e.css("top"))})})},resize:function(e,i){var s=t(this).resizable("instance"),n=s.options,o=s.originalSize,a=s.originalPosition,r={height:s.size.height-o.height||0,width:s.size.width-o.width||0,top:s.position.top-a.top||0,left:s.position.left-a.left||0};t(n.alsoResize).each(function(){var e=t(this),s=t(this).data("ui-resizable-alsoresize"),n={},o=e.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];t.each(o,function(t,e){var i=(s[e]||0)+(r[e]||0);i&&i>=0&&(n[e]=i||null)}),e.css(n)})},stop:function(){t(this).removeData("ui-resizable-alsoresize")}}),t.ui.plugin.add("resizable","ghost",{start:function(){var e=t(this).resizable("instance"),i=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block",position:"relative",height:i.height,width:i.width,margin:0,left:0,top:0}),e._addClass(e.ghost,"ui-resizable-ghost"),!1!==t.uiBackCompat&&"string"==typeof e.options.ghost&&e.ghost.addClass(this.options.ghost),e.ghost.appendTo(e.helper)},resize:function(){var e=t(this).resizable("instance");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=t(this).resizable("instance");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),t.ui.plugin.add("resizable","grid",{resize:function(){var e,i=t(this).resizable("instance"),s=i.options,n=i.size,o=i.originalSize,a=i.originalPosition,r=i.axis,h="number"==typeof s.grid?[s.grid,s.grid]:s.grid,l=h[0]||1,c=h[1]||1,u=Math.round((n.width-o.width)/l)*l,d=Math.round((n.height-o.height)/c)*c,p=o.width+u,f=o.height+d,g=s.maxWidth&&s.maxWidthp,v=s.minHeight&&s.minHeight>f;s.grid=h,_&&(p+=l),v&&(f+=c),g&&(p-=l),m&&(f-=c),/^(se|s|e)$/.test(r)?(i.size.width=p,i.size.height=f):/^(ne)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.top=a.top-d):/^(sw)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.left=a.left-u):((f-c<=0||p-l<=0)&&(e=i._getPaddingPlusBorderDimensions(this)),f-c>0?(i.size.height=f,i.position.top=a.top-d):(f=c-e.height,i.size.height=f,i.position.top=a.top+o.height-f),p-l>0?(i.size.width=p,i.position.left=a.left-u):(p=l-e.width,i.size.width=p,i.position.left=a.left+o.width-p))}});t.ui.resizable;t.widget("ui.dialog",{version:"1.12.1",options:{appendTo:"body",autoOpen:!0,buttons:[],classes:{"ui-dialog":"ui-corner-all","ui-dialog-titlebar":"ui-corner-all"},closeOnEscape:!0,closeText:"Close",draggable:!0,hide:null,height:"auto",maxHeight:null,maxWidth:null,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",of:window,collision:"fit",using:function(e){var i=t(this).css(e).offset().top;i<0&&t(this).css("top",e.top-i)}},resizable:!0,show:null,title:null,width:300,beforeClose:null,close:null,drag:null,dragStart:null,dragStop:null,focus:null,open:null,resize:null,resizeStart:null,resizeStop:null},sizeRelatedOptions:{buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},resizableRelatedOptions:{maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0},_create:function(){this.originalCss={display:this.element[0].style.display,width:this.element[0].style.width,minHeight:this.element[0].style.minHeight,maxHeight:this.element[0].style.maxHeight,height:this.element[0].style.height},this.originalPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)},this.originalTitle=this.element.attr("title"),null==this.options.title&&null!=this.originalTitle&&(this.options.title=this.originalTitle),this.options.disabled&&(this.options.disabled=!1),this._createWrapper(),this.element.show().removeAttr("title").appendTo(this.uiDialog),this._addClass("ui-dialog-content","ui-widget-content"),this._createTitlebar(),this._createButtonPane(),this.options.draggable&&t.fn.draggable&&this._makeDraggable(),this.options.resizable&&t.fn.resizable&&this._makeResizable(),this._isOpen=!1,this._trackFocus()},_init:function(){this.options.autoOpen&&this.open()},_appendTo:function(){var e=this.options.appendTo;return e&&(e.jquery||e.nodeType)?t(e):this.document.find(e||"body").eq(0)},_destroy:function(){var t,e=this.originalPosition;this._untrackInstance(),this._destroyOverlay(),this.element.removeUniqueId().css(this.originalCss).detach(),this.uiDialog.remove(),this.originalTitle&&this.element.attr("title",this.originalTitle),(t=e.parent.children().eq(e.index)).length&&t[0]!==this.element[0]?t.before(this.element):e.parent.append(this.element)},widget:function(){return this.uiDialog},disable:t.noop,enable:t.noop,close:function(e){var i=this;this._isOpen&&!1!==this._trigger("beforeClose",e)&&(this._isOpen=!1,this._focusedElement=null,this._destroyOverlay(),this._untrackInstance(),this.opener.filter(":focusable").trigger("focus").length||t.ui.safeBlur(t.ui.safeActiveElement(this.document[0])),this._hide(this.uiDialog,this.options.hide,function(){i._trigger("close",e)}))},isOpen:function(){return this._isOpen},moveToTop:function(){this._moveToTop()},_moveToTop:function(e,i){var s=!1,n=this.uiDialog.siblings(".ui-front:visible").map(function(){return+t(this).css("z-index")}).get(),o=Math.max.apply(null,n);return o>=+this.uiDialog.css("z-index")&&(this.uiDialog.css("z-index",o+1),s=!0),s&&!i&&this._trigger("focus",e),s},open:function(){var e=this;this._isOpen?this._moveToTop()&&this._focusTabbable():(this._isOpen=!0,this.opener=t(t.ui.safeActiveElement(this.document[0])),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this.overlay&&this.overlay.css("z-index",this.uiDialog.css("z-index")-1),this._show(this.uiDialog,this.options.show,function(){e._focusTabbable(),e._trigger("focus")}),this._makeFocusTarget(),this._trigger("open"))},_focusTabbable:function(){var t=this._focusedElement;t||(t=this.element.find("[autofocus]")),t.length||(t=this.element.find(":tabbable")),t.length||(t=this.uiDialogButtonPane.find(":tabbable")),t.length||(t=this.uiDialogTitlebarClose.filter(":tabbable")),t.length||(t=this.uiDialog),t.eq(0).trigger("focus")},_keepFocus:function(e){function i(){var e=t.ui.safeActiveElement(this.document[0]);this.uiDialog[0]===e||t.contains(this.uiDialog[0],e)||this._focusTabbable()}e.preventDefault(),i.call(this),this._delay(i)},_createWrapper:function(){this.uiDialog=t("
            ").hide().attr({tabIndex:-1,role:"dialog"}).appendTo(this._appendTo()),this._addClass(this.uiDialog,"ui-dialog","ui-widget ui-widget-content ui-front"),this._on(this.uiDialog,{keydown:function(e){if(this.options.closeOnEscape&&!e.isDefaultPrevented()&&e.keyCode&&e.keyCode===t.ui.keyCode.ESCAPE)return e.preventDefault(),void this.close(e);if(e.keyCode===t.ui.keyCode.TAB&&!e.isDefaultPrevented()){var i=this.uiDialog.find(":tabbable"),s=i.filter(":first"),n=i.filter(":last");e.target!==n[0]&&e.target!==this.uiDialog[0]||e.shiftKey?e.target!==s[0]&&e.target!==this.uiDialog[0]||!e.shiftKey||(this._delay(function(){n.trigger("focus")}),e.preventDefault()):(this._delay(function(){s.trigger("focus")}),e.preventDefault())}},mousedown:function(t){this._moveToTop(t)&&this._focusTabbable()}}),this.element.find("[aria-describedby]").length||this.uiDialog.attr({"aria-describedby":this.element.uniqueId().attr("id")})},_createTitlebar:function(){var e;this.uiDialogTitlebar=t("
            "),this._addClass(this.uiDialogTitlebar,"ui-dialog-titlebar","ui-widget-header ui-helper-clearfix"),this._on(this.uiDialogTitlebar,{mousedown:function(e){t(e.target).closest(".ui-dialog-titlebar-close")||this.uiDialog.trigger("focus")}}),this.uiDialogTitlebarClose=t("").button({label:t("").text(this.options.closeText).html(),icon:"ui-icon-closethick",showLabel:!1}).appendTo(this.uiDialogTitlebar),this._addClass(this.uiDialogTitlebarClose,"ui-dialog-titlebar-close"),this._on(this.uiDialogTitlebarClose,{click:function(t){t.preventDefault(),this.close(t)}}),e=t("").uniqueId().prependTo(this.uiDialogTitlebar),this._addClass(e,"ui-dialog-title"),this._title(e),this.uiDialogTitlebar.prependTo(this.uiDialog),this.uiDialog.attr({"aria-labelledby":e.attr("id")})},_title:function(t){this.options.title?t.text(this.options.title):t.html(" ")},_createButtonPane:function(){this.uiDialogButtonPane=t("
            "),this._addClass(this.uiDialogButtonPane,"ui-dialog-buttonpane","ui-widget-content ui-helper-clearfix"),this.uiButtonSet=t("
            ").appendTo(this.uiDialogButtonPane),this._addClass(this.uiButtonSet,"ui-dialog-buttonset"),this._createButtons()},_createButtons:function(){var e=this,i=this.options.buttons;this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),t.isEmptyObject(i)||t.isArray(i)&&!i.length?this._removeClass(this.uiDialog,"ui-dialog-buttons"):(t.each(i,function(i,s){var n,o;s=t.isFunction(s)?{click:s,text:i}:s,s=t.extend({type:"button"},s),n=s.click,o={icon:s.icon,iconPosition:s.iconPosition,showLabel:s.showLabel,icons:s.icons,text:s.text},delete s.click,delete s.icon,delete s.iconPosition,delete s.showLabel,delete s.icons,"boolean"==typeof s.text&&delete s.text,t("",s).button(o).appendTo(e.uiButtonSet).on("click",function(){n.apply(e.element[0],arguments)})}),this._addClass(this.uiDialog,"ui-dialog-buttons"),this.uiDialogButtonPane.appendTo(this.uiDialog))},_makeDraggable:function(){var e=this,i=this.options;function s(t){return{position:t.position,offset:t.offset}}this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(i,n){e._addClass(t(this),"ui-dialog-dragging"),e._blockFrames(),e._trigger("dragStart",i,s(n))},drag:function(t,i){e._trigger("drag",t,s(i))},stop:function(n,o){var a=o.offset.left-e.document.scrollLeft(),r=o.offset.top-e.document.scrollTop();i.position={my:"left top",at:"left"+(a>=0?"+":"")+a+" top"+(r>=0?"+":"")+r,of:e.window},e._removeClass(t(this),"ui-dialog-dragging"),e._unblockFrames(),e._trigger("dragStop",n,s(o))}})},_makeResizable:function(){var e=this,i=this.options,s=i.resizable,n=this.uiDialog.css("position"),o="string"==typeof s?s:"n,e,s,w,se,sw,ne,nw";function a(t){return{originalPosition:t.originalPosition,originalSize:t.originalSize,position:t.position,size:t.size}}this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:i.maxWidth,maxHeight:i.maxHeight,minWidth:i.minWidth,minHeight:this._minHeight(),handles:o,start:function(i,s){e._addClass(t(this),"ui-dialog-resizing"),e._blockFrames(),e._trigger("resizeStart",i,a(s))},resize:function(t,i){e._trigger("resize",t,a(i))},stop:function(s,n){var o=e.uiDialog.offset(),r=o.left-e.document.scrollLeft(),h=o.top-e.document.scrollTop();i.height=e.uiDialog.height(),i.width=e.uiDialog.width(),i.position={my:"left top",at:"left"+(r>=0?"+":"")+r+" top"+(h>=0?"+":"")+h,of:e.window},e._removeClass(t(this),"ui-dialog-resizing"),e._unblockFrames(),e._trigger("resizeStop",s,a(n))}}).css("position",n)},_trackFocus:function(){this._on(this.widget(),{focusin:function(e){this._makeFocusTarget(),this._focusedElement=t(e.target)}})},_makeFocusTarget:function(){this._untrackInstance(),this._trackingInstances().unshift(this)},_untrackInstance:function(){var e=this._trackingInstances(),i=t.inArray(this,e);-1!==i&&e.splice(i,1)},_trackingInstances:function(){var t=this.document.data("ui-dialog-instances");return t||(t=[],this.document.data("ui-dialog-instances",t)),t},_minHeight:function(){var t=this.options;return"auto"===t.height?t.minHeight:Math.min(t.minHeight,t.height)},_position:function(){var t=this.uiDialog.is(":visible");t||this.uiDialog.show(),this.uiDialog.position(this.options.position),t||this.uiDialog.hide()},_setOptions:function(e){var i=this,s=!1,n={};t.each(e,function(t,e){i._setOption(t,e),t in i.sizeRelatedOptions&&(s=!0),t in i.resizableRelatedOptions&&(n[t]=e)}),s&&(this._size(),this._position()),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option",n)},_setOption:function(e,i){var s,n,o=this.uiDialog;"disabled"!==e&&(this._super(e,i),"appendTo"===e&&this.uiDialog.appendTo(this._appendTo()),"buttons"===e&&this._createButtons(),"closeText"===e&&this.uiDialogTitlebarClose.button({label:t("").text(""+this.options.closeText).html()}),"draggable"===e&&((s=o.is(":data(ui-draggable)"))&&!i&&o.draggable("destroy"),!s&&i&&this._makeDraggable()),"position"===e&&this._position(),"resizable"===e&&((n=o.is(":data(ui-resizable)"))&&!i&&o.resizable("destroy"),n&&"string"==typeof i&&o.resizable("option","handles",i),n||!1===i||this._makeResizable()),"title"===e&&this._title(this.uiDialogTitlebar.find(".ui-dialog-title")))},_size:function(){var t,e,i,s=this.options;this.element.show().css({width:"auto",minHeight:0,maxHeight:"none",height:0}),s.minWidth>s.width&&(s.width=s.minWidth),t=this.uiDialog.css({height:"auto",width:s.width}).outerHeight(),e=Math.max(0,s.minHeight-t),i="number"==typeof s.maxHeight?Math.max(0,s.maxHeight-t):"none","auto"===s.height?this.element.css({minHeight:e,maxHeight:i,height:"auto"}):this.element.height(Math.max(0,s.height-t)),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())},_blockFrames:function(){this.iframeBlocks=this.document.find("iframe").map(function(){var e=t(this);return t("
            ").css({position:"absolute",width:e.outerWidth(),height:e.outerHeight()}).appendTo(e.parent()).offset(e.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_allowInteraction:function(e){return!!t(e.target).closest(".ui-dialog").length||!!t(e.target).closest(".ui-datepicker").length},_createOverlay:function(){if(this.options.modal){var e=!0;this._delay(function(){e=!1}),this.document.data("ui-dialog-overlays")||this._on(this.document,{focusin:function(t){e||this._allowInteraction(t)||(t.preventDefault(),this._trackingInstances()[0]._focusTabbable())}}),this.overlay=t("
            ").appendTo(this._appendTo()),this._addClass(this.overlay,null,"ui-widget-overlay ui-front"),this._on(this.overlay,{mousedown:"_keepFocus"}),this.document.data("ui-dialog-overlays",(this.document.data("ui-dialog-overlays")||0)+1)}},_destroyOverlay:function(){if(this.options.modal&&this.overlay){var t=this.document.data("ui-dialog-overlays")-1;t?this.document.data("ui-dialog-overlays",t):(this._off(this.document,"focusin"),this.document.removeData("ui-dialog-overlays")),this.overlay.remove(),this.overlay=null}}}),!1!==t.uiBackCompat&&t.widget("ui.dialog",t.ui.dialog,{options:{dialogClass:""},_createWrapper:function(){this._super(),this.uiDialog.addClass(this.options.dialogClass)},_setOption:function(t,e){"dialogClass"===t&&this.uiDialog.removeClass(this.options.dialogClass).addClass(e),this._superApply(arguments)}});t.ui.dialog;t.widget("ui.droppable",{version:"1.12.1",widgetEventPrefix:"drop",options:{accept:"*",addClasses:!0,greedy:!1,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var e,i=this.options,s=i.accept;this.isover=!1,this.isout=!0,this.accept=t.isFunction(s)?s:function(t){return t.is(s)},this.proportions=function(){if(!arguments.length)return e||(e={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight});e=arguments[0]},this._addToManager(i.scope),i.addClasses&&this._addClass("ui-droppable")},_addToManager:function(e){t.ui.ddmanager.droppables[e]=t.ui.ddmanager.droppables[e]||[],t.ui.ddmanager.droppables[e].push(this)},_splice:function(t){for(var e=0;e=e&&t=c&&a<=d||h>=c&&h<=d||ad)&&(o>=l&&o<=u||r>=l&&r<=u||ou);default:return!1}}}();t.ui.ddmanager={current:null,droppables:{default:[]},prepareOffsets:function(e,i){var s,n,o=t.ui.ddmanager.droppables[e.options.scope]||[],a=i?i.type:null,r=(e.currentItem||e.element).find(":data(ui-droppable)").addBack();t:for(s=0;s").appendTo(this.element),this._addClass(this.valueDiv,"ui-progressbar-value","ui-widget-header"),this._refreshValue()},_destroy:function(){this.element.removeAttr("role aria-valuemin aria-valuemax aria-valuenow"),this.valueDiv.remove()},value:function(t){if(void 0===t)return this.options.value;this.options.value=this._constrainedValue(t),this._refreshValue()},_constrainedValue:function(t){return void 0===t&&(t=this.options.value),this.indeterminate=!1===t,"number"!=typeof t&&(t=0),!this.indeterminate&&Math.min(this.options.max,Math.max(this.min,t))},_setOptions:function(t){var e=t.value;delete t.value,this._super(t),this.options.value=this._constrainedValue(e),this._refreshValue()},_setOption:function(t,e){"max"===t&&(e=Math.max(this.min,e)),this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t),this._toggleClass(null,"ui-state-disabled",!!t)},_percentage:function(){return this.indeterminate?100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var e=this.options.value,i=this._percentage();this.valueDiv.toggle(this.indeterminate||e>this.min).width(i.toFixed(0)+"%"),this._toggleClass(this.valueDiv,"ui-progressbar-complete",null,e===this.options.max)._toggleClass("ui-progressbar-indeterminate",null,this.indeterminate),this.indeterminate?(this.element.removeAttr("aria-valuenow"),this.overlayDiv||(this.overlayDiv=t("
            ").appendTo(this.valueDiv),this._addClass(this.overlayDiv,"ui-progressbar-overlay"))):(this.element.attr({"aria-valuemax":this.options.max,"aria-valuenow":e}),this.overlayDiv&&(this.overlayDiv.remove(),this.overlayDiv=null)),this.oldValue!==e&&(this.oldValue=e,this._trigger("change")),e===this.options.max&&this._trigger("complete")}}),t.widget("ui.selectable",t.ui.mouse,{version:"1.12.1",options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch",selected:null,selecting:null,start:null,stop:null,unselected:null,unselecting:null},_create:function(){var e=this;this._addClass("ui-selectable"),this.dragged=!1,this.refresh=function(){e.elementPos=t(e.element[0]).offset(),e.selectees=t(e.options.filter,e.element[0]),e._addClass(e.selectees,"ui-selectee"),e.selectees.each(function(){var i=t(this),s=i.offset(),n={left:s.left-e.elementPos.left,top:s.top-e.elementPos.top};t.data(this,"selectable-item",{element:this,$element:i,left:n.left,top:n.top,right:n.left+i.outerWidth(),bottom:n.top+i.outerHeight(),startselected:!1,selected:i.hasClass("ui-selected"),selecting:i.hasClass("ui-selecting"),unselecting:i.hasClass("ui-unselecting")})})},this.refresh(),this._mouseInit(),this.helper=t("
            "),this._addClass(this.helper,"ui-selectable-helper")},_destroy:function(){this.selectees.removeData("selectable-item"),this._mouseDestroy()},_mouseStart:function(e){var i=this,s=this.options;this.opos=[e.pageX,e.pageY],this.elementPos=t(this.element[0]).offset(),this.options.disabled||(this.selectees=t(s.filter,this.element[0]),this._trigger("start",e),t(s.appendTo).append(this.helper),this.helper.css({left:e.pageX,top:e.pageY,width:0,height:0}),s.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var s=t.data(this,"selectable-item");s.startselected=!0,e.metaKey||e.ctrlKey||(i._removeClass(s.$element,"ui-selected"),s.selected=!1,i._addClass(s.$element,"ui-unselecting"),s.unselecting=!0,i._trigger("unselecting",e,{unselecting:s.element}))}),t(e.target).parents().addBack().each(function(){var s,n=t.data(this,"selectable-item");if(n)return s=!e.metaKey&&!e.ctrlKey||!n.$element.hasClass("ui-selected"),i._removeClass(n.$element,s?"ui-unselecting":"ui-selected")._addClass(n.$element,s?"ui-selecting":"ui-unselecting"),n.unselecting=!s,n.selecting=s,n.selected=s,s?i._trigger("selecting",e,{selecting:n.element}):i._trigger("unselecting",e,{unselecting:n.element}),!1}))},_mouseDrag:function(e){if(this.dragged=!0,!this.options.disabled){var i,s=this,n=this.options,o=this.opos[0],a=this.opos[1],r=e.pageX,h=e.pageY;return o>r&&(i=r,r=o,o=i),a>h&&(i=h,h=a,a=i),this.helper.css({left:o,top:a,width:r-o,height:h-a}),this.selectees.each(function(){var i=t.data(this,"selectable-item"),l=!1,c={};i&&i.element!==s.element[0]&&(c.left=i.left+s.elementPos.left,c.right=i.right+s.elementPos.left,c.top=i.top+s.elementPos.top,c.bottom=i.bottom+s.elementPos.top,"touch"===n.tolerance?l=!(c.left>r||c.righth||c.bottomo&&c.righta&&c.bottom",options:{appendTo:null,classes:{"ui-selectmenu-button-open":"ui-corner-top","ui-selectmenu-button-closed":"ui-corner-all"},disabled:null,icons:{button:"ui-icon-triangle-1-s"},position:{my:"left top",at:"left bottom",collision:"none"},width:!1,change:null,close:null,focus:null,open:null,select:null},_create:function(){var e=this.element.uniqueId().attr("id");this.ids={element:e,button:e+"-button",menu:e+"-menu"},this._drawButton(),this._drawMenu(),this._bindFormResetHandler(),this._rendered=!1,this.menuItems=t()},_drawButton:function(){var e,i=this,s=this._parseOption(this.element.find("option:selected"),this.element[0].selectedIndex);this.labels=this.element.labels().attr("for",this.ids.button),this._on(this.labels,{click:function(t){this.button.focus(),t.preventDefault()}}),this.element.hide(),this.button=t("",{tabindex:this.options.disabled?-1:0,id:this.ids.button,role:"combobox","aria-expanded":"false","aria-autocomplete":"list","aria-owns":this.ids.menu,"aria-haspopup":"true",title:this.element.attr("title")}).insertAfter(this.element),this._addClass(this.button,"ui-selectmenu-button ui-selectmenu-button-closed","ui-button ui-widget"),e=t("").appendTo(this.button),this._addClass(e,"ui-selectmenu-icon","ui-icon "+this.options.icons.button),this.buttonItem=this._renderButtonItem(s).appendTo(this.button),!1!==this.options.width&&this._resizeButton(),this._on(this.button,this._buttonEvents),this.button.one("focusin",function(){i._rendered||i._refreshMenu()})},_drawMenu:function(){var e=this;this.menu=t("
              ",{"aria-hidden":"true","aria-labelledby":this.ids.button,id:this.ids.menu}),this.menuWrap=t("
              ").append(this.menu),this._addClass(this.menuWrap,"ui-selectmenu-menu","ui-front"),this.menuWrap.appendTo(this._appendTo()),this.menuInstance=this.menu.menu({classes:{"ui-menu":"ui-corner-bottom"},role:"listbox",select:function(t,i){t.preventDefault(),e._setSelection(),e._select(i.item.data("ui-selectmenu-item"),t)},focus:function(t,i){var s=i.item.data("ui-selectmenu-item");null!=e.focusIndex&&s.index!==e.focusIndex&&(e._trigger("focus",t,{item:s}),e.isOpen||e._select(s,t)),e.focusIndex=s.index,e.button.attr("aria-activedescendant",e.menuItems.eq(s.index).attr("id"))}}).menu("instance"),this.menuInstance._off(this.menu,"mouseleave"),this.menuInstance._closeOnDocumentClick=function(){return!1},this.menuInstance._isDivider=function(){return!1}},refresh:function(){this._refreshMenu(),this.buttonItem.replaceWith(this.buttonItem=this._renderButtonItem(this._getSelectedItem().data("ui-selectmenu-item")||{})),null===this.options.width&&this._resizeButton()},_refreshMenu:function(){var t,e=this.element.find("option");this.menu.empty(),this._parseOptions(e),this._renderMenu(this.menu,this.items),this.menuInstance.refresh(),this.menuItems=this.menu.find("li").not(".ui-selectmenu-optgroup").find(".ui-menu-item-wrapper"),this._rendered=!0,e.length&&(t=this._getSelectedItem(),this.menuInstance.focus(null,t),this._setAria(t.data("ui-selectmenu-item")),this._setOption("disabled",this.element.prop("disabled")))},open:function(t){this.options.disabled||(this._rendered?(this._removeClass(this.menu.find(".ui-state-active"),null,"ui-state-active"),this.menuInstance.focus(null,this._getSelectedItem())):this._refreshMenu(),this.menuItems.length&&(this.isOpen=!0,this._toggleAttr(),this._resizeMenu(),this._position(),this._on(this.document,this._documentClick),this._trigger("open",t)))},_position:function(){this.menuWrap.position(t.extend({of:this.button},this.options.position))},close:function(t){this.isOpen&&(this.isOpen=!1,this._toggleAttr(),this.range=null,this._off(this.document),this._trigger("close",t))},widget:function(){return this.button},menuWidget:function(){return this.menu},_renderButtonItem:function(e){var i=t("");return this._setText(i,e.label),this._addClass(i,"ui-selectmenu-text"),i},_renderMenu:function(e,i){var s=this,n="";t.each(i,function(i,o){var a;o.optgroup!==n&&(a=t("
            • ",{text:o.optgroup}),s._addClass(a,"ui-selectmenu-optgroup","ui-menu-divider"+(o.element.parent("optgroup").prop("disabled")?" ui-state-disabled":"")),a.appendTo(e),n=o.optgroup),s._renderItemData(e,o)})},_renderItemData:function(t,e){return this._renderItem(t,e).data("ui-selectmenu-item",e)},_renderItem:function(e,i){var s=t("
            • "),n=t("
              ",{title:i.element.attr("title")});return i.disabled&&this._addClass(s,null,"ui-state-disabled"),this._setText(n,i.label),s.append(n).appendTo(e)},_setText:function(t,e){e?t.text(e):t.html(" ")},_move:function(t,e){var i,s,n=".ui-menu-item";this.isOpen?i=this.menuItems.eq(this.focusIndex).parent("li"):(i=this.menuItems.eq(this.element[0].selectedIndex).parent("li"),n+=":not(.ui-state-disabled)"),(s="first"===t||"last"===t?i["first"===t?"prevAll":"nextAll"](n).eq(-1):i[t+"All"](n).eq(0)).length&&this.menuInstance.focus(e,s)},_getSelectedItem:function(){return this.menuItems.eq(this.element[0].selectedIndex).parent("li")},_toggle:function(t){this[this.isOpen?"close":"open"](t)},_setSelection:function(){var t;this.range&&(window.getSelection?((t=window.getSelection()).removeAllRanges(),t.addRange(this.range)):this.range.select(),this.button.focus())},_documentClick:{mousedown:function(e){this.isOpen&&(t(e.target).closest(".ui-selectmenu-menu, #"+t.ui.escapeSelector(this.ids.button)).length||this.close(e))}},_buttonEvents:{mousedown:function(){var t;window.getSelection?(t=window.getSelection()).rangeCount&&(this.range=t.getRangeAt(0)):this.range=document.selection.createRange()},click:function(t){this._setSelection(),this._toggle(t)},keydown:function(e){var i=!0;switch(e.keyCode){case t.ui.keyCode.TAB:case t.ui.keyCode.ESCAPE:this.close(e),i=!1;break;case t.ui.keyCode.ENTER:this.isOpen&&this._selectFocusedItem(e);break;case t.ui.keyCode.UP:e.altKey?this._toggle(e):this._move("prev",e);break;case t.ui.keyCode.DOWN:e.altKey?this._toggle(e):this._move("next",e);break;case t.ui.keyCode.SPACE:this.isOpen?this._selectFocusedItem(e):this._toggle(e);break;case t.ui.keyCode.LEFT:this._move("prev",e);break;case t.ui.keyCode.RIGHT:this._move("next",e);break;case t.ui.keyCode.HOME:case t.ui.keyCode.PAGE_UP:this._move("first",e);break;case t.ui.keyCode.END:case t.ui.keyCode.PAGE_DOWN:this._move("last",e);break;default:this.menu.trigger(e),i=!1}i&&e.preventDefault()}},_selectFocusedItem:function(t){var e=this.menuItems.eq(this.focusIndex).parent("li");e.hasClass("ui-state-disabled")||this._select(e.data("ui-selectmenu-item"),t)},_select:function(t,e){var i=this.element[0].selectedIndex;this.element[0].selectedIndex=t.index,this.buttonItem.replaceWith(this.buttonItem=this._renderButtonItem(t)),this._setAria(t),this._trigger("select",e,{item:t}),t.index!==i&&this._trigger("change",e,{item:t}),this.close(e)},_setAria:function(t){var e=this.menuItems.eq(t.index).attr("id");this.button.attr({"aria-labelledby":e,"aria-activedescendant":e}),this.menu.attr("aria-activedescendant",e)},_setOption:function(t,e){if("icons"===t){var i=this.button.find("span.ui-icon");this._removeClass(i,null,this.options.icons.button)._addClass(i,null,e.button)}this._super(t,e),"appendTo"===t&&this.menuWrap.appendTo(this._appendTo()),"width"===t&&this._resizeButton()},_setOptionDisabled:function(t){this._super(t),this.menuInstance.option("disabled",t),this.button.attr("aria-disabled",t),this._toggleClass(this.button,null,"ui-state-disabled",t),this.element.prop("disabled",t),t?(this.button.attr("tabindex",-1),this.close()):this.button.attr("tabindex",0)},_appendTo:function(){var e=this.options.appendTo;return e&&(e=e.jquery||e.nodeType?t(e):this.document.find(e).eq(0)),e&&e[0]||(e=this.element.closest(".ui-front, dialog")),e.length||(e=this.document[0].body),e},_toggleAttr:function(){this.button.attr("aria-expanded",this.isOpen),this._removeClass(this.button,"ui-selectmenu-button-"+(this.isOpen?"closed":"open"))._addClass(this.button,"ui-selectmenu-button-"+(this.isOpen?"open":"closed"))._toggleClass(this.menuWrap,"ui-selectmenu-open",null,this.isOpen),this.menu.attr("aria-hidden",!this.isOpen)},_resizeButton:function(){var t=this.options.width;!1!==t?(null===t&&(t=this.element.show().outerWidth(),this.element.hide()),this.button.outerWidth(t)):this.button.css("width","")},_resizeMenu:function(){this.menu.outerWidth(Math.max(this.button.outerWidth(),this.menu.width("").outerWidth()+1))},_getCreateOptions:function(){var t=this._super();return t.disabled=this.element.prop("disabled"),t},_parseOptions:function(e){var i=this,s=[];e.each(function(e,n){s.push(i._parseOption(t(n),e))}),this.items=s},_parseOption:function(t,e){var i=t.parent("optgroup");return{element:t,index:e,value:t.val(),label:t.text(),optgroup:i.attr("label")||"",disabled:i.prop("disabled")||t.prop("disabled")}},_destroy:function(){this._unbindFormResetHandler(),this.menuWrap.remove(),this.button.remove(),this.element.show(),this.element.removeUniqueId(),this.labels.attr("for",this.ids.element)}}]),t.widget("ui.slider",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"slide",options:{animate:!1,classes:{"ui-slider":"ui-corner-all","ui-slider-handle":"ui-corner-all","ui-slider-range":"ui-corner-all ui-widget-header"},distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null},numPages:5,_create:function(){this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this._calculateNewMax(),this._addClass("ui-slider ui-slider-"+this.orientation,"ui-widget ui-widget-content"),this._refresh(),this._animateOff=!1},_refresh:function(){this._createRange(),this._createHandles(),this._setupEvents(),this._refreshValue()},_createHandles:function(){var e,i,s=this.options,n=this.element.find(".ui-slider-handle"),o=[];for(i=s.values&&s.values.length||1,n.length>i&&(n.slice(i).remove(),n=n.slice(0,i)),e=n.length;e");this.handles=n.add(t(o.join("")).appendTo(this.element)),this._addClass(this.handles,"ui-slider-handle","ui-state-default"),this.handle=this.handles.eq(0),this.handles.each(function(e){t(this).data("ui-slider-handle-index",e).attr("tabIndex",0)})},_createRange:function(){var e=this.options;e.range?(!0===e.range&&(e.values?e.values.length&&2!==e.values.length?e.values=[e.values[0],e.values[0]]:t.isArray(e.values)&&(e.values=e.values.slice(0)):e.values=[this._valueMin(),this._valueMin()]),this.range&&this.range.length?(this._removeClass(this.range,"ui-slider-range-min ui-slider-range-max"),this.range.css({left:"",bottom:""})):(this.range=t("
              ").appendTo(this.element),this._addClass(this.range,"ui-slider-range")),"min"!==e.range&&"max"!==e.range||this._addClass(this.range,"ui-slider-range-"+e.range)):(this.range&&this.range.remove(),this.range=null)},_setupEvents:function(){this._off(this.handles),this._on(this.handles,this._handleEvents),this._hoverable(this.handles),this._focusable(this.handles)},_destroy:function(){this.handles.remove(),this.range&&this.range.remove(),this._mouseDestroy()},_mouseCapture:function(e){var i,s,n,o,a,r,h,l=this,c=this.options;return!c.disabled&&(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),i={x:e.pageX,y:e.pageY},s=this._normValueFromMouse(i),n=this._valueMax()-this._valueMin()+1,this.handles.each(function(e){var i=Math.abs(s-l.values(e));(n>i||n===i&&(e===l._lastChangedValue||l.values(e)===c.min))&&(n=i,o=t(this),a=e)}),!1!==this._start(e,a)&&(this._mouseSliding=!0,this._handleIndex=a,this._addClass(o,null,"ui-state-active"),o.trigger("focus"),r=o.offset(),h=!t(e.target).parents().addBack().is(".ui-slider-handle"),this._clickOffset=h?{left:0,top:0}:{left:e.pageX-r.left-o.width()/2,top:e.pageY-r.top-o.height()/2-(parseInt(o.css("borderTopWidth"),10)||0)-(parseInt(o.css("borderBottomWidth"),10)||0)+(parseInt(o.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(e,a,s),this._animateOff=!0,!0))},_mouseStart:function(){return!0},_mouseDrag:function(t){var e={x:t.pageX,y:t.pageY},i=this._normValueFromMouse(e);return this._slide(t,this._handleIndex,i),!1},_mouseStop:function(t){return this._removeClass(this.handles,null,"ui-state-active"),this._mouseSliding=!1,this._stop(t,this._handleIndex),this._change(t,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation="vertical"===this.options.orientation?"vertical":"horizontal"},_normValueFromMouse:function(t){var e,i,s,n,o;return"horizontal"===this.orientation?(e=this.elementSize.width,i=t.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(e=this.elementSize.height,i=t.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),(s=i/e)>1&&(s=1),s<0&&(s=0),"vertical"===this.orientation&&(s=1-s),n=this._valueMax()-this._valueMin(),o=this._valueMin()+s*n,this._trimAlignValue(o)},_uiHash:function(t,e,i){var s={handle:this.handles[t],handleIndex:t,value:void 0!==e?e:this.value()};return this._hasMultipleValues()&&(s.value=void 0!==e?e:this.values(t),s.values=i||this.values()),s},_hasMultipleValues:function(){return this.options.values&&this.options.values.length},_start:function(t,e){return this._trigger("start",t,this._uiHash(e))},_slide:function(t,e,i){var s,n=this.value(),o=this.values();this._hasMultipleValues()&&(s=this.values(e?0:1),n=this.values(e),2===this.options.values.length&&!0===this.options.range&&(i=0===e?Math.min(s,i):Math.max(s,i)),o[e]=i),i!==n&&!1!==this._trigger("slide",t,this._uiHash(e,i,o))&&(this._hasMultipleValues()?this.values(e,i):this.value(i))},_stop:function(t,e){this._trigger("stop",t,this._uiHash(e))},_change:function(t,e){this._keySliding||this._mouseSliding||(this._lastChangedValue=e,this._trigger("change",t,this._uiHash(e)))},value:function(t){return arguments.length?(this.options.value=this._trimAlignValue(t),this._refreshValue(),void this._change(null,0)):this._value()},values:function(e,i){var s,n,o;if(arguments.length>1)return this.options.values[e]=this._trimAlignValue(i),this._refreshValue(),void this._change(null,e);if(!arguments.length)return this._values();if(!t.isArray(arguments[0]))return this._hasMultipleValues()?this._values(e):this.value();for(s=this.options.values,n=arguments[0],o=0;o=0;s--)this._change(null,s);this._animateOff=!1;break;case"step":case"min":case"max":this._animateOff=!0,this._calculateNewMax(),this._refreshValue(),this._animateOff=!1;break;case"range":this._animateOff=!0,this._refresh(),this._animateOff=!1}},_setOptionDisabled:function(t){this._super(t),this._toggleClass(null,"ui-state-disabled",!!t)},_value:function(){var t=this.options.value;return t=this._trimAlignValue(t)},_values:function(t){var e,i,s;if(arguments.length)return e=this.options.values[t],e=this._trimAlignValue(e);if(this._hasMultipleValues()){for(i=this.options.values.slice(),s=0;s=this._valueMax())return this._valueMax();var e=this.options.step>0?this.options.step:1,i=(t-this._valueMin())%e,s=t-i;return 2*Math.abs(i)>=e&&(s+=i>0?e:-e),parseFloat(s.toFixed(5))},_calculateNewMax:function(){var t=this.options.max,e=this._valueMin(),i=this.options.step;(t=Math.round((t-e)/i)*i+e)>this.options.max&&(t-=i),this.max=parseFloat(t.toFixed(this._precision()))},_precision:function(){var t=this._precisionOf(this.options.step);return null!==this.options.min&&(t=Math.max(t,this._precisionOf(this.options.min))),t},_precisionOf:function(t){var e=t.toString(),i=e.indexOf(".");return-1===i?0:e.length-i-1},_valueMin:function(){return this.options.min},_valueMax:function(){return this.max},_refreshRange:function(t){"vertical"===t&&this.range.css({width:"",left:""}),"horizontal"===t&&this.range.css({height:"",bottom:""})},_refreshValue:function(){var e,i,s,n,o,a=this.options.range,r=this.options,h=this,l=!this._animateOff&&r.animate,c={};this._hasMultipleValues()?this.handles.each(function(s){i=(h.values(s)-h._valueMin())/(h._valueMax()-h._valueMin())*100,c["horizontal"===h.orientation?"left":"bottom"]=i+"%",t(this).stop(1,1)[l?"animate":"css"](c,r.animate),!0===h.options.range&&("horizontal"===h.orientation?(0===s&&h.range.stop(1,1)[l?"animate":"css"]({left:i+"%"},r.animate),1===s&&h.range[l?"animate":"css"]({width:i-e+"%"},{queue:!1,duration:r.animate})):(0===s&&h.range.stop(1,1)[l?"animate":"css"]({bottom:i+"%"},r.animate),1===s&&h.range[l?"animate":"css"]({height:i-e+"%"},{queue:!1,duration:r.animate}))),e=i}):(s=this.value(),n=this._valueMin(),o=this._valueMax(),i=o!==n?(s-n)/(o-n)*100:0,c["horizontal"===this.orientation?"left":"bottom"]=i+"%",this.handle.stop(1,1)[l?"animate":"css"](c,r.animate),"min"===a&&"horizontal"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({width:i+"%"},r.animate),"max"===a&&"horizontal"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({width:100-i+"%"},r.animate),"min"===a&&"vertical"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({height:i+"%"},r.animate),"max"===a&&"vertical"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({height:100-i+"%"},r.animate))},_handleEvents:{keydown:function(e){var i,s,n,o=t(e.target).data("ui-slider-handle-index");switch(e.keyCode){case t.ui.keyCode.HOME:case t.ui.keyCode.END:case t.ui.keyCode.PAGE_UP:case t.ui.keyCode.PAGE_DOWN:case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(e.preventDefault(),!this._keySliding&&(this._keySliding=!0,this._addClass(t(e.target),null,"ui-state-active"),!1===this._start(e,o)))return}switch(n=this.options.step,i=s=this._hasMultipleValues()?this.values(o):this.value(),e.keyCode){case t.ui.keyCode.HOME:s=this._valueMin();break;case t.ui.keyCode.END:s=this._valueMax();break;case t.ui.keyCode.PAGE_UP:s=this._trimAlignValue(i+(this._valueMax()-this._valueMin())/this.numPages);break;case t.ui.keyCode.PAGE_DOWN:s=this._trimAlignValue(i-(this._valueMax()-this._valueMin())/this.numPages);break;case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:if(i===this._valueMax())return;s=this._trimAlignValue(i+n);break;case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(i===this._valueMin())return;s=this._trimAlignValue(i-n)}this._slide(e,o,s)},keyup:function(e){var i=t(e.target).data("ui-slider-handle-index");this._keySliding&&(this._keySliding=!1,this._stop(e,i),this._change(e,i),this._removeClass(t(e.target),null,"ui-state-active"))}}}),t.widget("ui.sortable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_isOverAxis:function(t,e,i){return t>=e&&t=0;t--)this.items[t].item.removeData(this.widgetName+"-item");return this},_mouseCapture:function(e,i){var s=null,n=!1,o=this;return!this.reverting&&(!this.options.disabled&&"static"!==this.options.type&&(this._refreshItems(e),t(e.target).parents().each(function(){if(t.data(this,o.widgetName+"-item")===o)return s=t(this),!1}),t.data(e.target,o.widgetName+"-item")===o&&(s=t(e.target)),!!s&&(!(this.options.handle&&!i&&(t(this.options.handle,s).find("*").addBack().each(function(){this===e.target&&(n=!0)}),!n))&&(this.currentItem=s,this._removeCurrentsFromItems(),!0))))},_mouseStart:function(e,i,s){var n,o,a=this.options;if(this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(e),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},t.extend(this.offset,{click:{left:e.pageX-this.offset.left,top:e.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(e),this.originalPageX=e.pageX,this.originalPageY=e.pageY,a.cursorAt&&this._adjustOffsetFromHelper(a.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),a.containment&&this._setContainment(),a.cursor&&"auto"!==a.cursor&&(o=this.document.find("body"),this.storedCursor=o.css("cursor"),o.css("cursor",a.cursor),this.storedStylesheet=t("").appendTo(o)),a.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",a.opacity)),a.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",a.zIndex)),this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",e,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!s)for(n=this.containers.length-1;n>=0;n--)this.containers[n]._trigger("activate",e,this._uiHash(this));return t.ui.ddmanager&&(t.ui.ddmanager.current=this),t.ui.ddmanager&&!a.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this.dragging=!0,this._addClass(this.helper,"ui-sortable-helper"),this._mouseDrag(e),!0},_mouseDrag:function(e){var i,s,n,o,a=this.options,r=!1;for(this.position=this._generatePosition(e),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll&&(this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-e.pageY=0;i--)if(n=(s=this.items[i]).item[0],(o=this._intersectsWithPointer(s))&&s.instance===this.currentContainer&&!(n===this.currentItem[0]||this.placeholder[1===o?"next":"prev"]()[0]===n||t.contains(this.placeholder[0],n)||"semi-dynamic"===this.options.type&&t.contains(this.element[0],n))){if(this.direction=1===o?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(s))break;this._rearrange(e,s),this._trigger("change",e,this._uiHash());break}return this._contactContainers(e),t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),this._trigger("sort",e,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(e,i){if(e){if(t.ui.ddmanager&&!this.options.dropBehaviour&&t.ui.ddmanager.drop(this,e),this.options.revert){var s=this,n=this.placeholder.offset(),o=this.options.axis,a={};o&&"x"!==o||(a.left=n.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollLeft)),o&&"y"!==o||(a.top=n.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,t(this.helper).animate(a,parseInt(this.options.revert,10)||500,function(){s._clear(e)})}else this._clear(e,i);return!1}},cancel:function(){if(this.dragging){this._mouseUp(new t.Event("mouseup",{target:null})),"original"===this.options.helper?(this.currentItem.css(this._storedCSS),this._removeClass(this.currentItem,"ui-sortable-helper")):this.currentItem.show();for(var e=this.containers.length-1;e>=0;e--)this.containers[e]._trigger("deactivate",null,this._uiHash(this)),this.containers[e].containerCache.over&&(this.containers[e]._trigger("out",null,this._uiHash(this)),this.containers[e].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),t.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?t(this.domPosition.prev).after(this.currentItem):t(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(e){var i=this._getItemsAsjQuery(e&&e.connected),s=[];return e=e||{},t(i).each(function(){var i=(t(e.item||this).attr(e.attribute||"id")||"").match(e.expression||/(.+)[\-=_](.+)/);i&&s.push((e.key||i[1]+"[]")+"="+(e.key&&e.expression?i[1]:i[2]))}),!s.length&&e.key&&s.push(e.key+"="),s.join("&")},toArray:function(e){var i=this._getItemsAsjQuery(e&&e.connected),s=[];return e=e||{},i.each(function(){s.push(t(e.item||this).attr(e.attribute||"id")||"")}),s},_intersectsWith:function(t){var e=this.positionAbs.left,i=e+this.helperProportions.width,s=this.positionAbs.top,n=s+this.helperProportions.height,o=t.left,a=o+t.width,r=t.top,h=r+t.height,l=this.offset.click.top,c=this.offset.click.left,u="x"===this.options.axis||s+l>r&&s+lo&&e+ct[this.floating?"width":"height"]?p:o0?"down":"up")},_getDragHorizontalDirection:function(){var t=this.positionAbs.left-this.lastPositionAbs.left;return 0!==t&&(t>0?"right":"left")},refresh:function(t){return this._refreshItems(t),this._setHandleClassName(),this.refreshPositions(),this},_connectWith:function(){var t=this.options;return t.connectWith.constructor===String?[t.connectWith]:t.connectWith},_getItemsAsjQuery:function(e){var i,s,n,o,a=[],r=[],h=this._connectWith();if(h&&e)for(i=h.length-1;i>=0;i--)for(s=(n=t(h[i],this.document[0])).length-1;s>=0;s--)(o=t.data(n[s],this.widgetFullName))&&o!==this&&!o.options.disabled&&r.push([t.isFunction(o.options.items)?o.options.items.call(o.element):t(o.options.items,o.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),o]);function l(){a.push(this)}for(r.push([t.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):t(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),i=r.length-1;i>=0;i--)r[i][0].each(l);return t(a)},_removeCurrentsFromItems:function(){var e=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=t.grep(this.items,function(t){for(var i=0;i=0;i--)for(s=(n=t(d[i],this.document[0])).length-1;s>=0;s--)(o=t.data(n[s],this.widgetFullName))&&o!==this&&!o.options.disabled&&(u.push([t.isFunction(o.options.items)?o.options.items.call(o.element[0],e,{item:this.currentItem}):t(o.options.items,o.element),o]),this.containers.push(o));for(i=u.length-1;i>=0;i--)for(a=u[i][1],s=0,l=(r=u[i][0]).length;s=0;i--)(s=this.items[i]).instance!==this.currentContainer&&this.currentContainer&&s.item[0]!==this.currentItem[0]||(n=this.options.toleranceElement?t(this.options.toleranceElement,s.item):s.item,e||(s.width=n.outerWidth(),s.height=n.outerHeight()),o=n.offset(),s.left=o.left,s.top=o.top);if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(i=this.containers.length-1;i>=0;i--)o=this.containers[i].element.offset(),this.containers[i].containerCache.left=o.left,this.containers[i].containerCache.top=o.top,this.containers[i].containerCache.width=this.containers[i].element.outerWidth(),this.containers[i].containerCache.height=this.containers[i].element.outerHeight();return this},_createPlaceholder:function(e){var i,s=(e=e||this).options;s.placeholder&&s.placeholder.constructor!==String||(i=s.placeholder,s.placeholder={element:function(){var s=e.currentItem[0].nodeName.toLowerCase(),n=t("<"+s+">",e.document[0]);return e._addClass(n,"ui-sortable-placeholder",i||e.currentItem[0].className)._removeClass(n,"ui-sortable-helper"),"tbody"===s?e._createTrPlaceholder(e.currentItem.find("tr").eq(0),t("",e.document[0]).appendTo(n)):"tr"===s?e._createTrPlaceholder(e.currentItem,n):"img"===s&&n.attr("src",e.currentItem.attr("src")),i||n.css("visibility","hidden"),n},update:function(t,n){i&&!s.forcePlaceholderSize||(n.height()||n.height(e.currentItem.innerHeight()-parseInt(e.currentItem.css("paddingTop")||0,10)-parseInt(e.currentItem.css("paddingBottom")||0,10)),n.width()||n.width(e.currentItem.innerWidth()-parseInt(e.currentItem.css("paddingLeft")||0,10)-parseInt(e.currentItem.css("paddingRight")||0,10)))}}),e.placeholder=t(s.placeholder.element.call(e.element,e.currentItem)),e.currentItem.after(e.placeholder),s.placeholder.update(e,e.placeholder)},_createTrPlaceholder:function(e,i){var s=this;e.children().each(function(){t(" ",s.document[0]).attr("colspan",t(this).attr("colspan")||1).appendTo(i)})},_contactContainers:function(e){var i,s,n,o,a,r,h,l,c,u,d=null,p=null;for(i=this.containers.length-1;i>=0;i--)if(!t.contains(this.currentItem[0],this.containers[i].element[0]))if(this._intersectsWith(this.containers[i].containerCache)){if(d&&t.contains(this.containers[i].element[0],d.element[0]))continue;d=this.containers[i],p=i}else this.containers[i].containerCache.over&&(this.containers[i]._trigger("out",e,this._uiHash(this)),this.containers[i].containerCache.over=0);if(d)if(1===this.containers.length)this.containers[p].containerCache.over||(this.containers[p]._trigger("over",e,this._uiHash(this)),this.containers[p].containerCache.over=1);else{for(n=1e4,o=null,a=(c=d.floating||this._isFloating(this.currentItem))?"left":"top",r=c?"width":"height",u=c?"pageX":"pageY",s=this.items.length-1;s>=0;s--)t.contains(this.containers[p].element[0],this.items[s].item[0])&&this.items[s].item[0]!==this.currentItem[0]&&(h=this.items[s].item.offset()[a],l=!1,e[u]-h>this.items[s][r]/2&&(l=!0),Math.abs(e[u]-h)this.containment[2]&&(o=this.containment[2]+this.offset.click.left),e.pageY-this.offset.click.top>this.containment[3]&&(a=this.containment[3]+this.offset.click.top)),n.grid&&(i=this.originalPageY+Math.round((a-this.originalPageY)/n.grid[1])*n.grid[1],a=this.containment?i-this.offset.click.top>=this.containment[1]&&i-this.offset.click.top<=this.containment[3]?i:i-this.offset.click.top>=this.containment[1]?i-n.grid[1]:i+n.grid[1]:i,s=this.originalPageX+Math.round((o-this.originalPageX)/n.grid[0])*n.grid[0],o=this.containment?s-this.offset.click.left>=this.containment[0]&&s-this.offset.click.left<=this.containment[2]?s:s-this.offset.click.left>=this.containment[0]?s-n.grid[0]:s+n.grid[0]:s)),{top:a-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():h?0:r.scrollTop()),left:o-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():h?0:r.scrollLeft())}},_rearrange:function(t,e,i,s){i?i[0].appendChild(this.placeholder[0]):e.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?e.item[0]:e.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var n=this.counter;this._delay(function(){n===this.counter&&this.refreshPositions(!s)})},_clear:function(t,e){this.reverting=!1;var i,s=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(i in this._storedCSS)"auto"!==this._storedCSS[i]&&"static"!==this._storedCSS[i]||(this._storedCSS[i]="");this.currentItem.css(this._storedCSS),this._removeClass(this.currentItem,"ui-sortable-helper")}else this.currentItem.show();function n(t,e,i){return function(s){i._trigger(t,s,e._uiHash(e))}}for(this.fromOutside&&!e&&s.push(function(t){this._trigger("receive",t,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||e||s.push(function(t){this._trigger("update",t,this._uiHash())}),this!==this.currentContainer&&(e||(s.push(function(t){this._trigger("remove",t,this._uiHash())}),s.push(function(t){return function(e){t._trigger("receive",e,this._uiHash(this))}}.call(this,this.currentContainer)),s.push(function(t){return function(e){t._trigger("update",e,this._uiHash(this))}}.call(this,this.currentContainer)))),i=this.containers.length-1;i>=0;i--)e||s.push(n("deactivate",this,this.containers[i])),this.containers[i].containerCache.over&&(s.push(n("out",this,this.containers[i])),this.containers[i].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,e||this._trigger("beforeStop",t,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.cancelHelperRemoval||(this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null),!e){for(i=0;i",widgetEventPrefix:"spin",options:{classes:{"ui-spinner":"ui-corner-all","ui-spinner-down":"ui-corner-br","ui-spinner-up":"ui-corner-tr"},culture:null,icons:{down:"ui-icon-triangle-1-s",up:"ui-icon-triangle-1-n"},incremental:!0,max:null,min:null,numberFormat:null,page:10,step:1,change:null,spin:null,start:null,stop:null},_create:function(){this._setOption("max",this.options.max),this._setOption("min",this.options.min),this._setOption("step",this.options.step),""!==this.value()&&this._value(this.element.val(),!0),this._draw(),this._on(this._events),this._refresh(),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_getCreateOptions:function(){var e=this._super(),i=this.element;return t.each(["min","max","step"],function(t,s){var n=i.attr(s);null!=n&&n.length&&(e[s]=n)}),e},_events:{keydown:function(t){this._start(t)&&this._keydown(t)&&t.preventDefault()},keyup:"_stop",focus:function(){this.previous=this.element.val()},blur:function(t){this.cancelBlur?delete this.cancelBlur:(this._stop(),this._refresh(),this.previous!==this.element.val()&&this._trigger("change",t))},mousewheel:function(t,e){if(e){if(!this.spinning&&!this._start(t))return!1;this._spin((e>0?1:-1)*this.options.step,t),clearTimeout(this.mousewheelTimer),this.mousewheelTimer=this._delay(function(){this.spinning&&this._stop(t)},100),t.preventDefault()}},"mousedown .ui-spinner-button":function(e){var i;function s(){this.element[0]===t.ui.safeActiveElement(this.document[0])||(this.element.trigger("focus"),this.previous=i,this._delay(function(){this.previous=i}))}i=this.element[0]===t.ui.safeActiveElement(this.document[0])?this.previous:this.element.val(),e.preventDefault(),s.call(this),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,s.call(this)}),!1!==this._start(e)&&this._repeat(null,t(e.currentTarget).hasClass("ui-spinner-up")?1:-1,e)},"mouseup .ui-spinner-button":"_stop","mouseenter .ui-spinner-button":function(e){if(t(e.currentTarget).hasClass("ui-state-active"))return!1!==this._start(e)&&void this._repeat(null,t(e.currentTarget).hasClass("ui-spinner-up")?1:-1,e)},"mouseleave .ui-spinner-button":"_stop"},_enhance:function(){this.uiSpinner=this.element.attr("autocomplete","off").wrap("").parent().append("")},_draw:function(){this._enhance(),this._addClass(this.uiSpinner,"ui-spinner","ui-widget ui-widget-content"),this._addClass("ui-spinner-input"),this.element.attr("role","spinbutton"),this.buttons=this.uiSpinner.children("a").attr("tabIndex",-1).attr("aria-hidden",!0).button({classes:{"ui-button":""}}),this._removeClass(this.buttons,"ui-corner-all"),this._addClass(this.buttons.first(),"ui-spinner-button ui-spinner-up"),this._addClass(this.buttons.last(),"ui-spinner-button ui-spinner-down"),this.buttons.first().button({icon:this.options.icons.up,showLabel:!1}),this.buttons.last().button({icon:this.options.icons.down,showLabel:!1}),this.buttons.height()>Math.ceil(.5*this.uiSpinner.height())&&this.uiSpinner.height()>0&&this.uiSpinner.height(this.uiSpinner.height())},_keydown:function(e){var i=this.options,s=t.ui.keyCode;switch(e.keyCode){case s.UP:return this._repeat(null,1,e),!0;case s.DOWN:return this._repeat(null,-1,e),!0;case s.PAGE_UP:return this._repeat(null,i.page,e),!0;case s.PAGE_DOWN:return this._repeat(null,-i.page,e),!0}return!1},_start:function(t){return!(!this.spinning&&!1===this._trigger("start",t))&&(this.counter||(this.counter=1),this.spinning=!0,!0)},_repeat:function(t,e,i){t=t||500,clearTimeout(this.timer),this.timer=this._delay(function(){this._repeat(40,e,i)},t),this._spin(e*this.options.step,i)},_spin:function(t,e){var i=this.value()||0;this.counter||(this.counter=1),i=this._adjustValue(i+t*this._increment(this.counter)),this.spinning&&!1===this._trigger("spin",e,{value:i})||(this._value(i),this.counter++)},_increment:function(e){var i=this.options.incremental;return i?t.isFunction(i)?i(e):Math.floor(e*e*e/5e4-e*e/500+17*e/200+1):1},_precision:function(){var t=this._precisionOf(this.options.step);return null!==this.options.min&&(t=Math.max(t,this._precisionOf(this.options.min))),t},_precisionOf:function(t){var e=t.toString(),i=e.indexOf(".");return-1===i?0:e.length-i-1},_adjustValue:function(t){var e,i,s=this.options;return i=t-(e=null!==s.min?s.min:0),t=e+(i=Math.round(i/s.step)*s.step),t=parseFloat(t.toFixed(this._precision())),null!==s.max&&t>s.max?s.max:null!==s.min&&t"},_buttonHtml:function(){return""}});var b;t.ui.spinner;t.widget("ui.tabs",{version:"1.12.1",delay:300,options:{active:null,classes:{"ui-tabs":"ui-corner-all","ui-tabs-nav":"ui-corner-all","ui-tabs-panel":"ui-corner-bottom","ui-tabs-tab":"ui-corner-top"},collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_isLocal:(b=/#.*$/,function(t){var e,i;e=t.href.replace(b,""),i=location.href.replace(b,"");try{e=decodeURIComponent(e)}catch(t){}try{i=decodeURIComponent(i)}catch(t){}return t.hash.length>1&&e===i}),_create:function(){var e=this,i=this.options;this.running=!1,this._addClass("ui-tabs","ui-widget ui-widget-content"),this._toggleClass("ui-tabs-collapsible",null,i.collapsible),this._processTabs(),i.active=this._initialActive(),t.isArray(i.disabled)&&(i.disabled=t.unique(i.disabled.concat(t.map(this.tabs.filter(".ui-state-disabled"),function(t){return e.tabs.index(t)}))).sort()),!1!==this.options.active&&this.anchors.length?this.active=this._findActive(i.active):this.active=t(),this._refresh(),this.active.length&&this.load(i.active)},_initialActive:function(){var e=this.options.active,i=this.options.collapsible,s=location.hash.substring(1);return null===e&&(s&&this.tabs.each(function(i,n){if(t(n).attr("aria-controls")===s)return e=i,!1}),null===e&&(e=this.tabs.index(this.tabs.filter(".ui-tabs-active"))),null!==e&&-1!==e||(e=!!this.tabs.length&&0)),!1!==e&&-1===(e=this.tabs.index(this.tabs.eq(e)))&&(e=!i&&0),!i&&!1===e&&this.anchors.length&&(e=0),e},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):t()}},_tabKeydown:function(e){var i=t(t.ui.safeActiveElement(this.document[0])).closest("li"),s=this.tabs.index(i),n=!0;if(!this._handlePageNav(e)){switch(e.keyCode){case t.ui.keyCode.RIGHT:case t.ui.keyCode.DOWN:s++;break;case t.ui.keyCode.UP:case t.ui.keyCode.LEFT:n=!1,s--;break;case t.ui.keyCode.END:s=this.anchors.length-1;break;case t.ui.keyCode.HOME:s=0;break;case t.ui.keyCode.SPACE:return e.preventDefault(),clearTimeout(this.activating),void this._activate(s);case t.ui.keyCode.ENTER:return e.preventDefault(),clearTimeout(this.activating),void this._activate(s!==this.options.active&&s);default:return}e.preventDefault(),clearTimeout(this.activating),s=this._focusNextTab(s,n),e.ctrlKey||e.metaKey||(i.attr("aria-selected","false"),this.tabs.eq(s).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",s)},this.delay))}},_panelKeydown:function(e){this._handlePageNav(e)||e.ctrlKey&&e.keyCode===t.ui.keyCode.UP&&(e.preventDefault(),this.active.trigger("focus"))},_handlePageNav:function(e){return e.altKey&&e.keyCode===t.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):e.altKey&&e.keyCode===t.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):void 0},_findNextTab:function(e,i){var s=this.tabs.length-1;for(;-1!==t.inArray((e>s&&(e=0),e<0&&(e=s),e),this.options.disabled);)e=i?e+1:e-1;return e},_focusNextTab:function(t,e){return t=this._findNextTab(t,e),this.tabs.eq(t).trigger("focus"),t},_setOption:function(t,e){"active"!==t?(this._super(t,e),"collapsible"===t&&(this._toggleClass("ui-tabs-collapsible",null,e),e||!1!==this.options.active||this._activate(0)),"event"===t&&this._setupEvents(e),"heightStyle"===t&&this._setupHeightStyle(e)):this._activate(e)},_sanitizeSelector:function(t){return t?t.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var e=this.options,i=this.tablist.children(":has(a[href])");e.disabled=t.map(i.filter(".ui-state-disabled"),function(t){return i.index(t)}),this._processTabs(),!1!==e.active&&this.anchors.length?this.active.length&&!t.contains(this.tablist[0],this.active[0])?this.tabs.length===e.disabled.length?(e.active=!1,this.active=t()):this._activate(this._findNextTab(Math.max(0,e.active-1),!1)):e.active=this.tabs.index(this.active):(e.active=!1,this.active=t()),this._refresh()},_refresh:function(){this._setOptionDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-hidden":"true"}),this.active.length?(this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}),this._addClass(this.active,"ui-tabs-active","ui-state-active"),this._getPanelForTab(this.active).show().attr({"aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var e=this,i=this.tabs,s=this.anchors,n=this.panels;this.tablist=this._getList().attr("role","tablist"),this._addClass(this.tablist,"ui-tabs-nav","ui-helper-reset ui-helper-clearfix ui-widget-header"),this.tablist.on("mousedown"+this.eventNamespace,"> li",function(e){t(this).is(".ui-state-disabled")&&e.preventDefault()}).on("focus"+this.eventNamespace,".ui-tabs-anchor",function(){t(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this.tabs=this.tablist.find("> li:has(a[href])").attr({role:"tab",tabIndex:-1}),this._addClass(this.tabs,"ui-tabs-tab","ui-state-default"),this.anchors=this.tabs.map(function(){return t("a",this)[0]}).attr({role:"presentation",tabIndex:-1}),this._addClass(this.anchors,"ui-tabs-anchor"),this.panels=t(),this.anchors.each(function(i,s){var n,o,a,r=t(s).uniqueId().attr("id"),h=t(s).closest("li"),l=h.attr("aria-controls");e._isLocal(s)?(a=(n=s.hash).substring(1),o=e.element.find(e._sanitizeSelector(n))):(n="#"+(a=h.attr("aria-controls")||t({}).uniqueId()[0].id),(o=e.element.find(n)).length||(o=e._createPanel(a)).insertAfter(e.panels[i-1]||e.tablist),o.attr("aria-live","polite")),o.length&&(e.panels=e.panels.add(o)),l&&h.data("ui-tabs-aria-controls",l),h.attr({"aria-controls":a,"aria-labelledby":r}),o.attr("aria-labelledby",r)}),this.panels.attr("role","tabpanel"),this._addClass(this.panels,"ui-tabs-panel","ui-widget-content"),i&&(this._off(i.not(this.tabs)),this._off(s.not(this.anchors)),this._off(n.not(this.panels)))},_getList:function(){return this.tablist||this.element.find("ol, ul").eq(0)},_createPanel:function(e){return t("
              ").attr("id",e).data("ui-tabs-destroy",!0)},_setOptionDisabled:function(e){var i,s,n;for(t.isArray(e)&&(e.length?e.length===this.anchors.length&&(e=!0):e=!1),n=0;s=this.tabs[n];n++)i=t(s),!0===e||-1!==t.inArray(n,e)?(i.attr("aria-disabled","true"),this._addClass(i,null,"ui-state-disabled")):(i.removeAttr("aria-disabled"),this._removeClass(i,null,"ui-state-disabled"));this.options.disabled=e,this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!0===e)},_setupEvents:function(e){var i={};e&&t.each(e.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(!0,this.anchors,{click:function(t){t.preventDefault()}}),this._on(this.anchors,i),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(e){var i,s=this.element.parent();"fill"===e?(i=s.height(),i-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var e=t(this),s=e.css("position");"absolute"!==s&&"fixed"!==s&&(i-=e.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){i-=t(this).outerHeight(!0)}),this.panels.each(function(){t(this).height(Math.max(0,i-t(this).innerHeight()+t(this).height()))}).css("overflow","auto")):"auto"===e&&(i=0,this.panels.each(function(){i=Math.max(i,t(this).height("").height())}).height(i))},_eventHandler:function(e){var i=this.options,s=this.active,n=t(e.currentTarget).closest("li"),o=n[0]===s[0],a=o&&i.collapsible,r=a?t():this._getPanelForTab(n),h=s.length?this._getPanelForTab(s):t(),l={oldTab:s,oldPanel:h,newTab:a?t():n,newPanel:r};e.preventDefault(),n.hasClass("ui-state-disabled")||n.hasClass("ui-tabs-loading")||this.running||o&&!i.collapsible||!1===this._trigger("beforeActivate",e,l)||(i.active=!a&&this.tabs.index(n),this.active=o?t():n,this.xhr&&this.xhr.abort(),h.length||r.length||t.error("jQuery UI Tabs: Mismatching fragment identifier."),r.length&&this.load(this.tabs.index(n),e),this._toggle(e,l))},_toggle:function(e,i){var s=this,n=i.newPanel,o=i.oldPanel;function a(){s.running=!1,s._trigger("activate",e,i)}function r(){s._addClass(i.newTab.closest("li"),"ui-tabs-active","ui-state-active"),n.length&&s.options.show?s._show(n,s.options.show,a):(n.show(),a())}this.running=!0,o.length&&this.options.hide?this._hide(o,this.options.hide,function(){s._removeClass(i.oldTab.closest("li"),"ui-tabs-active","ui-state-active"),r()}):(this._removeClass(i.oldTab.closest("li"),"ui-tabs-active","ui-state-active"),o.hide(),r()),o.attr("aria-hidden","true"),i.oldTab.attr({"aria-selected":"false","aria-expanded":"false"}),n.length&&o.length?i.oldTab.attr("tabIndex",-1):n.length&&this.tabs.filter(function(){return 0===t(this).attr("tabIndex")}).attr("tabIndex",-1),n.attr("aria-hidden","false"),i.newTab.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_activate:function(e){var i,s=this._findActive(e);s[0]!==this.active[0]&&(s.length||(s=this.active),i=s.find(".ui-tabs-anchor")[0],this._eventHandler({target:i,currentTarget:i,preventDefault:t.noop}))},_findActive:function(e){return!1===e?t():this.tabs.eq(e)},_getIndex:function(e){return"string"==typeof e&&(e=this.anchors.index(this.anchors.filter("[href$='"+t.ui.escapeSelector(e)+"']"))),e},_destroy:function(){this.xhr&&this.xhr.abort(),this.tablist.removeAttr("role").off(this.eventNamespace),this.anchors.removeAttr("role tabIndex").removeUniqueId(),this.tabs.add(this.panels).each(function(){t.data(this,"ui-tabs-destroy")?t(this).remove():t(this).removeAttr("role tabIndex aria-live aria-busy aria-selected aria-labelledby aria-hidden aria-expanded")}),this.tabs.each(function(){var e=t(this),i=e.data("ui-tabs-aria-controls");i?e.attr("aria-controls",i).removeData("ui-tabs-aria-controls"):e.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(e){var i=this.options.disabled;!1!==i&&(void 0===e?i=!1:(e=this._getIndex(e),i=t.isArray(i)?t.map(i,function(t){return t!==e?t:null}):t.map(this.tabs,function(t,i){return i!==e?i:null})),this._setOptionDisabled(i))},disable:function(e){var i=this.options.disabled;if(!0!==i){if(void 0===e)i=!0;else{if(e=this._getIndex(e),-1!==t.inArray(e,i))return;i=t.isArray(i)?t.merge([e],i).sort():[e]}this._setOptionDisabled(i)}},load:function(e,i){e=this._getIndex(e);var s=this,n=this.tabs.eq(e),o=n.find(".ui-tabs-anchor"),a=this._getPanelForTab(n),r={tab:n,panel:a},h=function(t,e){"abort"===e&&s.panels.stop(!1,!0),s._removeClass(n,"ui-tabs-loading"),a.removeAttr("aria-busy"),t===s.xhr&&delete s.xhr};this._isLocal(o[0])||(this.xhr=t.ajax(this._ajaxSettings(o,i,r)),this.xhr&&"canceled"!==this.xhr.statusText&&(this._addClass(n,"ui-tabs-loading"),a.attr("aria-busy","true"),this.xhr.done(function(t,e,n){setTimeout(function(){a.html(t),s._trigger("load",i,r),h(n,e)},1)}).fail(function(t,e){setTimeout(function(){h(t,e)},1)})))},_ajaxSettings:function(e,i,s){var n=this;return{url:e.attr("href").replace(/#.*$/,""),beforeSend:function(e,o){return n._trigger("beforeLoad",i,t.extend({jqXHR:e,ajaxSettings:o},s))}}},_getPanelForTab:function(e){var i=t(e).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+i))}}),!1!==t.uiBackCompat&&t.widget("ui.tabs",t.ui.tabs,{_processTabs:function(){this._superApply(arguments),this._addClass(this.tabs,"ui-tab")}});t.ui.tabs;t.widget("ui.tooltip",{version:"1.12.1",options:{classes:{"ui-tooltip":"ui-corner-all ui-widget-shadow"},content:function(){var e=t(this).attr("title")||"";return t("").text(e).html()},hide:!0,items:"[title]:not([disabled])",position:{my:"left top+15",at:"left bottom",collision:"flipfit flip"},show:!0,track:!1,close:null,open:null},_addDescribedBy:function(e,i){var s=(e.attr("aria-describedby")||"").split(/\s+/);s.push(i),e.data("ui-tooltip-id",i).attr("aria-describedby",t.trim(s.join(" ")))},_removeDescribedBy:function(e){var i=e.data("ui-tooltip-id"),s=(e.attr("aria-describedby")||"").split(/\s+/),n=t.inArray(i,s);-1!==n&&s.splice(n,1),e.removeData("ui-tooltip-id"),(s=t.trim(s.join(" ")))?e.attr("aria-describedby",s):e.removeAttr("aria-describedby")},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.liveRegion=t("
              ").attr({role:"log","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this.disabledTitles=t([])},_setOption:function(e,i){var s=this;this._super(e,i),"content"===e&&t.each(this.tooltips,function(t,e){s._updateContent(e.element)})},_setOptionDisabled:function(t){this[t?"_disable":"_enable"]()},_disable:function(){var e=this;t.each(this.tooltips,function(i,s){var n=t.Event("blur");n.target=n.currentTarget=s.element[0],e.close(n,!0)}),this.disabledTitles=this.disabledTitles.add(this.element.find(this.options.items).addBack().filter(function(){var e=t(this);if(e.is("[title]"))return e.data("ui-tooltip-title",e.attr("title")).removeAttr("title")}))},_enable:function(){this.disabledTitles.each(function(){var e=t(this);e.data("ui-tooltip-title")&&e.attr("title",e.data("ui-tooltip-title"))}),this.disabledTitles=t([])},open:function(e){var i=this,s=t(e?e.target:this.element).closest(this.options.items);s.length&&!s.data("ui-tooltip-id")&&(s.attr("title")&&s.data("ui-tooltip-title",s.attr("title")),s.data("ui-tooltip-open",!0),e&&"mouseover"===e.type&&s.parents().each(function(){var e,s=t(this);s.data("ui-tooltip-open")&&((e=t.Event("blur")).target=e.currentTarget=this,i.close(e,!0)),s.attr("title")&&(s.uniqueId(),i.parents[this.id]={element:this,title:s.attr("title")},s.attr("title",""))}),this._registerCloseHandlers(e,s),this._updateContent(s,e))},_updateContent:function(t,e){var i,s=this.options.content,n=this,o=e?e.type:null;if("string"==typeof s||s.nodeType||s.jquery)return this._open(e,t,s);(i=s.call(t[0],function(i){n._delay(function(){t.data("ui-tooltip-open")&&(e&&(e.type=o),this._open(e,t,i))})}))&&this._open(e,t,i)},_open:function(e,i,s){var n,o,a,r,h=t.extend({},this.options.position);function l(t){h.of=t,o.is(":hidden")||o.position(h)}s&&((n=this._find(i))?n.tooltip.find(".ui-tooltip-content").html(s):(i.is("[title]")&&(e&&"mouseover"===e.type?i.attr("title",""):i.removeAttr("title")),n=this._tooltip(i),o=n.tooltip,this._addDescribedBy(i,o.attr("id")),o.find(".ui-tooltip-content").html(s),this.liveRegion.children().hide(),(r=t("
              ").html(o.find(".ui-tooltip-content").html())).removeAttr("name").find("[name]").removeAttr("name"),r.removeAttr("id").find("[id]").removeAttr("id"),r.appendTo(this.liveRegion),this.options.track&&e&&/^mouse/.test(e.type)?(this._on(this.document,{mousemove:l}),l(e)):o.position(t.extend({of:i},this.options.position)),o.hide(),this._show(o,this.options.show),this.options.track&&this.options.show&&this.options.show.delay&&(a=this.delayedShow=setInterval(function(){o.is(":visible")&&(l(h.of),clearInterval(a))},t.fx.interval)),this._trigger("open",e,{tooltip:o})))},_registerCloseHandlers:function(e,i){var s={keyup:function(e){if(e.keyCode===t.ui.keyCode.ESCAPE){var s=t.Event(e);s.currentTarget=i[0],this.close(s,!0)}}};i[0]!==this.element[0]&&(s.remove=function(){this._removeTooltip(this._find(i).tooltip)}),e&&"mouseover"!==e.type||(s.mouseleave="close"),e&&"focusin"!==e.type||(s.focusout="close"),this._on(!0,i,s)},close:function(e){var i,s=this,n=t(e?e.currentTarget:this.element),o=this._find(n);o?(i=o.tooltip,o.closing||(clearInterval(this.delayedShow),n.data("ui-tooltip-title")&&!n.attr("title")&&n.attr("title",n.data("ui-tooltip-title")),this._removeDescribedBy(n),o.hiding=!0,i.stop(!0),this._hide(i,this.options.hide,function(){s._removeTooltip(t(this))}),n.removeData("ui-tooltip-open"),this._off(n,"mouseleave focusout keyup"),n[0]!==this.element[0]&&this._off(n,"remove"),this._off(this.document,"mousemove"),e&&"mouseleave"===e.type&&t.each(this.parents,function(e,i){t(i.element).attr("title",i.title),delete s.parents[e]}),o.closing=!0,this._trigger("close",e,{tooltip:i}),o.hiding||(o.closing=!1))):n.removeData("ui-tooltip-open")},_tooltip:function(e){var i=t("
              ").attr("role","tooltip"),s=t("
              ").appendTo(i),n=i.uniqueId().attr("id");return this._addClass(s,"ui-tooltip-content"),this._addClass(i,"ui-tooltip","ui-widget ui-widget-content"),i.appendTo(this._appendTo(e)),this.tooltips[n]={element:e,tooltip:i}},_find:function(t){var e=t.data("ui-tooltip-id");return e?this.tooltips[e]:null},_removeTooltip:function(t){t.remove(),delete this.tooltips[t.attr("id")]},_appendTo:function(t){var e=t.closest(".ui-front, dialog");return e.length||(e=this.document[0].body),e},_destroy:function(){var e=this;t.each(this.tooltips,function(i,s){var n=t.Event("blur"),o=s.element;n.target=n.currentTarget=o[0],e.close(n,!0),t("#"+i).remove(),o.data("ui-tooltip-title")&&(o.attr("title")||o.attr("title",o.data("ui-tooltip-title")),o.removeData("ui-tooltip-title"))}),this.liveRegion.remove()}}),!1!==t.uiBackCompat&&t.widget("ui.tooltip",t.ui.tooltip,{options:{tooltipClass:null},_tooltip:function(){var t=this._superApply(arguments);return this.options.tooltipClass&&t.tooltip.addClass(this.options.tooltipClass),t}});t.ui.tooltip}); \ No newline at end of file diff --git a/classroom/assets/js/lib/jquery-ui.js b/classroom/assets/js/lib/jquery-ui.js new file mode 100644 index 00000000..32d6b54b --- /dev/null +++ b/classroom/assets/js/lib/jquery-ui.js @@ -0,0 +1,13 @@ +/*! jQuery UI - v1.12.0 - 2016-07-08 +* http://jqueryui.com +* Includes: widget.js, position.js, data.js, disable-selection.js, effect.js, effects/effect-blind.js, effects/effect-bounce.js, effects/effect-clip.js, effects/effect-drop.js, effects/effect-explode.js, effects/effect-fade.js, effects/effect-fold.js, effects/effect-highlight.js, effects/effect-puff.js, effects/effect-pulsate.js, effects/effect-scale.js, effects/effect-shake.js, effects/effect-size.js, effects/effect-slide.js, effects/effect-transfer.js, focusable.js, form-reset-mixin.js, jquery-1-7.js, keycode.js, labels.js, scroll-parent.js, tabbable.js, unique-id.js, widgets/accordion.js, widgets/autocomplete.js, widgets/button.js, widgets/checkboxradio.js, widgets/controlgroup.js, widgets/datepicker.js, widgets/dialog.js, widgets/draggable.js, widgets/droppable.js, widgets/menu.js, widgets/mouse.js, widgets/progressbar.js, widgets/resizable.js, widgets/selectable.js, widgets/selectmenu.js, widgets/slider.js, widgets/sortable.js, widgets/spinner.js, widgets/tabs.js, widgets/tooltip.js +* Copyright jQuery Foundation and other contributors; Licensed MIT */ + +(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)})(function(t){function e(t){for(var e=t.css("visibility");"inherit"===e;)t=t.parent(),e=t.css("visibility");return"hidden"!==e}function i(t){for(var e,i;t.length&&t[0]!==document;){if(e=t.css("position"),("absolute"===e||"relative"===e||"fixed"===e)&&(i=parseInt(t.css("zIndex"),10),!isNaN(i)&&0!==i))return i;t=t.parent()}return 0}function s(){this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},t.extend(this._defaults,this.regional[""]),this.regional.en=t.extend(!0,{},this.regional[""]),this.regional["en-US"]=t.extend(!0,{},this.regional.en),this.dpDiv=n(t("
              "))}function n(e){var i="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return e.on("mouseout",i,function(){t(this).removeClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&t(this).removeClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&t(this).removeClass("ui-datepicker-next-hover")}).on("mouseover",i,o)}function o(){t.datepicker._isDisabledDatepicker(m.inline?m.dpDiv.parent()[0]:m.input[0])||(t(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),t(this).addClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&t(this).addClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&t(this).addClass("ui-datepicker-next-hover"))}function a(e,i){t.extend(e,i);for(var s in i)null==i[s]&&(e[s]=i[s]);return e}function r(t){return function(){var e=this.element.val();t.apply(this,arguments),this._refresh(),e!==this.element.val()&&this._trigger("change")}}t.ui=t.ui||{},t.ui.version="1.12.0";var h=0,l=Array.prototype.slice;t.cleanData=function(e){return function(i){var s,n,o;for(o=0;null!=(n=i[o]);o++)try{s=t._data(n,"events"),s&&s.remove&&t(n).triggerHandler("remove")}catch(a){}e(i)}}(t.cleanData),t.widget=function(e,i,s){var n,o,a,r={},h=e.split(".")[0];e=e.split(".")[1];var l=h+"-"+e;return s||(s=i,i=t.Widget),t.isArray(s)&&(s=t.extend.apply(null,[{}].concat(s))),t.expr[":"][l.toLowerCase()]=function(e){return!!t.data(e,l)},t[h]=t[h]||{},n=t[h][e],o=t[h][e]=function(t,e){return this._createWidget?(arguments.length&&this._createWidget(t,e),void 0):new o(t,e)},t.extend(o,n,{version:s.version,_proto:t.extend({},s),_childConstructors:[]}),a=new i,a.options=t.widget.extend({},a.options),t.each(s,function(e,s){return t.isFunction(s)?(r[e]=function(){function t(){return i.prototype[e].apply(this,arguments)}function n(t){return i.prototype[e].apply(this,t)}return function(){var e,i=this._super,o=this._superApply;return this._super=t,this._superApply=n,e=s.apply(this,arguments),this._super=i,this._superApply=o,e}}(),void 0):(r[e]=s,void 0)}),o.prototype=t.widget.extend(a,{widgetEventPrefix:n?a.widgetEventPrefix||e:e},r,{constructor:o,namespace:h,widgetName:e,widgetFullName:l}),n?(t.each(n._childConstructors,function(e,i){var s=i.prototype;t.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete n._childConstructors):i._childConstructors.push(o),t.widget.bridge(e,o),o},t.widget.extend=function(e){for(var i,s,n=l.call(arguments,1),o=0,a=n.length;a>o;o++)for(i in n[o])s=n[o][i],n[o].hasOwnProperty(i)&&void 0!==s&&(e[i]=t.isPlainObject(s)?t.isPlainObject(e[i])?t.widget.extend({},e[i],s):t.widget.extend({},s):s);return e},t.widget.bridge=function(e,i){var s=i.prototype.widgetFullName||e;t.fn[e]=function(n){var o="string"==typeof n,a=l.call(arguments,1),r=this;return o?this.each(function(){var i,o=t.data(this,s);return"instance"===n?(r=o,!1):o?t.isFunction(o[n])&&"_"!==n.charAt(0)?(i=o[n].apply(o,a),i!==o&&void 0!==i?(r=i&&i.jquery?r.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+n+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+n+"'")}):(a.length&&(n=t.widget.extend.apply(null,[n].concat(a))),this.each(function(){var e=t.data(this,s);e?(e.option(n||{}),e._init&&e._init()):t.data(this,s,new i(n,this))})),r}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"
              ",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,i){i=t(i||this.defaultElement||this)[0],this.element=t(i),this.uuid=h++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},i!==this&&(t.data(i,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===i&&this.destroy()}}),this.document=t(i.style?i.ownerDocument:i.document||i),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var h=s.match(/^([\w:-]*)\s*(.*)$/),l=h[1]+o.eventNamespace,c=h[2];c?n.on(l,c,r):i.on(l,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,function(){function e(t,e,i){return[parseFloat(t[0])*(p.test(t[0])?e/100:1),parseFloat(t[1])*(p.test(t[1])?i/100:1)]}function i(e,i){return parseInt(t.css(e,i),10)||0}function s(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}var n,o,a=Math.max,r=Math.abs,h=Math.round,l=/left|center|right/,c=/top|center|bottom/,u=/[\+\-]\d+(\.[\d]+)?%?/,d=/^\w+/,p=/%$/,f=t.fn.position;o=function(){var e=t("
              ").css("position","absolute").appendTo("body").offset({top:1.5,left:1.5}),i=1.5===e.offset().top;return e.remove(),o=function(){return i},i},t.position={scrollbarWidth:function(){if(void 0!==n)return n;var e,i,s=t("
              "),o=s.children()[0];return t("body").append(s),e=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,e===i&&(i=s[0].clientWidth),s.remove(),n=e-i},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.widthi?"left":e>0?"right":"center",vertical:0>o?"top":s>0?"bottom":"middle"};u>g&&g>r(e+i)&&(h.horizontal="center"),d>m&&m>r(s+o)&&(h.vertical="middle"),h.important=a(r(e),r(i))>a(r(s),r(o))?"horizontal":"vertical",n.using.call(this,t,h)}),c.offset(t.extend(T,{using:l}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,o=s.width,r=t.left-e.collisionPosition.marginLeft,h=n-r,l=r+e.collisionWidth-o-n;e.collisionWidth>o?h>0&&0>=l?(i=t.left+h+e.collisionWidth-o-n,t.left+=h-i):t.left=l>0&&0>=h?n:h>l?n+o-e.collisionWidth:n:h>0?t.left+=h:l>0?t.left-=l:t.left=a(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,o=e.within.height,r=t.top-e.collisionPosition.marginTop,h=n-r,l=r+e.collisionHeight-o-n;e.collisionHeight>o?h>0&&0>=l?(i=t.top+h+e.collisionHeight-o-n,t.top+=h-i):t.top=l>0&&0>=h?n:h>l?n+o-e.collisionHeight:n:h>0?t.top+=h:l>0?t.top-=l:t.top=a(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,a=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=t.left-e.collisionPosition.marginLeft,c=l-h,u=l+e.collisionWidth-a-h,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-a-o,(0>i||r(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-h,(s>0||u>r(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,a=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=t.top-e.collisionPosition.marginTop,c=l-h,u=l+e.collisionHeight-a-h,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,g=-2*e.offset[1];0>c?(s=t.top+p+f+g+e.collisionHeight-a-o,(0>s||r(c)>s)&&(t.top+=p+f+g)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+g-h,(i>0||u>r(i))&&(t.top+=p+f+g))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}}}(),t.ui.position,t.extend(t.expr[":"],{data:t.expr.createPseudo?t.expr.createPseudo(function(e){return function(i){return!!t.data(i,e)}}):function(e,i,s){return!!t.data(e,s[3])}}),t.fn.extend({disableSelection:function(){var t="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}}(),enableSelection:function(){return this.off(".ui-disableSelection")}});var c="ui-effects-",u="ui-effects-style",d="ui-effects-animated",p=t;t.effects={effect:{}},function(t,e){function i(t,e,i){var s=u[e.type]||{};return null==t?i||!e.def?null:e.def:(t=s.floor?~~t:parseFloat(t),isNaN(t)?e.def:s.mod?(t+s.mod)%s.mod:0>t?0:t>s.max?s.max:t)}function s(i){var s=l(),n=s._rgba=[];return i=i.toLowerCase(),f(h,function(t,o){var a,r=o.re.exec(i),h=r&&o.parse(r),l=o.space||"rgba";return h?(a=s[l](h),s[c[l].cache]=a[c[l].cache],n=s._rgba=a._rgba,!1):e}),n.length?("0,0,0,0"===n.join()&&t.extend(n,o.transparent),s):o[i]}function n(t,e,i){return i=(i+1)%1,1>6*i?t+6*(e-t)*i:1>2*i?e:2>3*i?t+6*(e-t)*(2/3-i):t}var o,a="backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",r=/^([\-+])=\s*(\d+\.?\d*)/,h=[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(t){return[t[1],t[2],t[3],t[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(t){return[2.55*t[1],2.55*t[2],2.55*t[3],t[4]]}},{re:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,parse:function(t){return[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)]}},{re:/#([a-f0-9])([a-f0-9])([a-f0-9])/,parse:function(t){return[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16)]}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,space:"hsla",parse:function(t){return[t[1],t[2]/100,t[3]/100,t[4]]}}],l=t.Color=function(e,i,s,n){return new t.Color.fn.parse(e,i,s,n)},c={rgba:{props:{red:{idx:0,type:"byte"},green:{idx:1,type:"byte"},blue:{idx:2,type:"byte"}}},hsla:{props:{hue:{idx:0,type:"degrees"},saturation:{idx:1,type:"percent"},lightness:{idx:2,type:"percent"}}}},u={"byte":{floor:!0,max:255},percent:{max:1},degrees:{mod:360,floor:!0}},d=l.support={},p=t("

              ")[0],f=t.each;p.style.cssText="background-color:rgba(1,1,1,.5)",d.rgba=p.style.backgroundColor.indexOf("rgba")>-1,f(c,function(t,e){e.cache="_"+t,e.props.alpha={idx:3,type:"percent",def:1}}),l.fn=t.extend(l.prototype,{parse:function(n,a,r,h){if(n===e)return this._rgba=[null,null,null,null],this;(n.jquery||n.nodeType)&&(n=t(n).css(a),a=e);var u=this,d=t.type(n),p=this._rgba=[];return a!==e&&(n=[n,a,r,h],d="array"),"string"===d?this.parse(s(n)||o._default):"array"===d?(f(c.rgba.props,function(t,e){p[e.idx]=i(n[e.idx],e)}),this):"object"===d?(n instanceof l?f(c,function(t,e){n[e.cache]&&(u[e.cache]=n[e.cache].slice())}):f(c,function(e,s){var o=s.cache;f(s.props,function(t,e){if(!u[o]&&s.to){if("alpha"===t||null==n[t])return;u[o]=s.to(u._rgba)}u[o][e.idx]=i(n[t],e,!0)}),u[o]&&0>t.inArray(null,u[o].slice(0,3))&&(u[o][3]=1,s.from&&(u._rgba=s.from(u[o])))}),this):e},is:function(t){var i=l(t),s=!0,n=this;return f(c,function(t,o){var a,r=i[o.cache];return r&&(a=n[o.cache]||o.to&&o.to(n._rgba)||[],f(o.props,function(t,i){return null!=r[i.idx]?s=r[i.idx]===a[i.idx]:e})),s}),s},_space:function(){var t=[],e=this;return f(c,function(i,s){e[s.cache]&&t.push(i)}),t.pop()},transition:function(t,e){var s=l(t),n=s._space(),o=c[n],a=0===this.alpha()?l("transparent"):this,r=a[o.cache]||o.to(a._rgba),h=r.slice();return s=s[o.cache],f(o.props,function(t,n){var o=n.idx,a=r[o],l=s[o],c=u[n.type]||{};null!==l&&(null===a?h[o]=l:(c.mod&&(l-a>c.mod/2?a+=c.mod:a-l>c.mod/2&&(a-=c.mod)),h[o]=i((l-a)*e+a,n)))}),this[n](h)},blend:function(e){if(1===this._rgba[3])return this;var i=this._rgba.slice(),s=i.pop(),n=l(e)._rgba;return l(t.map(i,function(t,e){return(1-s)*n[e]+s*t}))},toRgbaString:function(){var e="rgba(",i=t.map(this._rgba,function(t,e){return null==t?e>2?1:0:t});return 1===i[3]&&(i.pop(),e="rgb("),e+i.join()+")"},toHslaString:function(){var e="hsla(",i=t.map(this.hsla(),function(t,e){return null==t&&(t=e>2?1:0),e&&3>e&&(t=Math.round(100*t)+"%"),t});return 1===i[3]&&(i.pop(),e="hsl("),e+i.join()+")"},toHexString:function(e){var i=this._rgba.slice(),s=i.pop();return e&&i.push(~~(255*s)),"#"+t.map(i,function(t){return t=(t||0).toString(16),1===t.length?"0"+t:t}).join("")},toString:function(){return 0===this._rgba[3]?"transparent":this.toRgbaString()}}),l.fn.parse.prototype=l.fn,c.hsla.to=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e,i,s=t[0]/255,n=t[1]/255,o=t[2]/255,a=t[3],r=Math.max(s,n,o),h=Math.min(s,n,o),l=r-h,c=r+h,u=.5*c;return e=h===r?0:s===r?60*(n-o)/l+360:n===r?60*(o-s)/l+120:60*(s-n)/l+240,i=0===l?0:.5>=u?l/c:l/(2-c),[Math.round(e)%360,i,u,null==a?1:a]},c.hsla.from=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e=t[0]/360,i=t[1],s=t[2],o=t[3],a=.5>=s?s*(1+i):s+i-s*i,r=2*s-a;return[Math.round(255*n(r,a,e+1/3)),Math.round(255*n(r,a,e)),Math.round(255*n(r,a,e-1/3)),o]},f(c,function(s,n){var o=n.props,a=n.cache,h=n.to,c=n.from;l.fn[s]=function(s){if(h&&!this[a]&&(this[a]=h(this._rgba)),s===e)return this[a].slice();var n,r=t.type(s),u="array"===r||"object"===r?s:arguments,d=this[a].slice();return f(o,function(t,e){var s=u["object"===r?t:e.idx];null==s&&(s=d[e.idx]),d[e.idx]=i(s,e)}),c?(n=l(c(d)),n[a]=d,n):l(d)},f(o,function(e,i){l.fn[e]||(l.fn[e]=function(n){var o,a=t.type(n),h="alpha"===e?this._hsla?"hsla":"rgba":s,l=this[h](),c=l[i.idx];return"undefined"===a?c:("function"===a&&(n=n.call(this,c),a=t.type(n)),null==n&&i.empty?this:("string"===a&&(o=r.exec(n),o&&(n=c+parseFloat(o[2])*("+"===o[1]?1:-1))),l[i.idx]=n,this[h](l)))})})}),l.hook=function(e){var i=e.split(" ");f(i,function(e,i){t.cssHooks[i]={set:function(e,n){var o,a,r="";if("transparent"!==n&&("string"!==t.type(n)||(o=s(n)))){if(n=l(o||n),!d.rgba&&1!==n._rgba[3]){for(a="backgroundColor"===i?e.parentNode:e;(""===r||"transparent"===r)&&a&&a.style;)try{r=t.css(a,"backgroundColor"),a=a.parentNode}catch(h){}n=n.blend(r&&"transparent"!==r?r:"_default")}n=n.toRgbaString()}try{e.style[i]=n}catch(h){}}},t.fx.step[i]=function(e){e.colorInit||(e.start=l(e.elem,i),e.end=l(e.end),e.colorInit=!0),t.cssHooks[i].set(e.elem,e.start.transition(e.end,e.pos))}})},l.hook(a),t.cssHooks.borderColor={expand:function(t){var e={};return f(["Top","Right","Bottom","Left"],function(i,s){e["border"+s+"Color"]=t}),e}},o=t.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"}}(p),function(){function e(e){var i,s,n=e.ownerDocument.defaultView?e.ownerDocument.defaultView.getComputedStyle(e,null):e.currentStyle,o={};if(n&&n.length&&n[0]&&n[n[0]])for(s=n.length;s--;)i=n[s],"string"==typeof n[i]&&(o[t.camelCase(i)]=n[i]);else for(i in n)"string"==typeof n[i]&&(o[i]=n[i]);return o}function i(e,i){var s,o,a={};for(s in i)o=i[s],e[s]!==o&&(n[s]||(t.fx.step[s]||!isNaN(parseFloat(o)))&&(a[s]=o));return a}var s=["add","remove","toggle"],n={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};t.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(e,i){t.fx.step[i]=function(t){("none"!==t.end&&!t.setAttr||1===t.pos&&!t.setAttr)&&(p.style(t.elem,i,t.end),t.setAttr=!0)}}),t.fn.addBack||(t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.effects.animateClass=function(n,o,a,r){var h=t.speed(o,a,r);return this.queue(function(){var o,a=t(this),r=a.attr("class")||"",l=h.children?a.find("*").addBack():a;l=l.map(function(){var i=t(this);return{el:i,start:e(this)}}),o=function(){t.each(s,function(t,e){n[e]&&a[e+"Class"](n[e])})},o(),l=l.map(function(){return this.end=e(this.el[0]),this.diff=i(this.start,this.end),this}),a.attr("class",r),l=l.map(function(){var e=this,i=t.Deferred(),s=t.extend({},h,{queue:!1,complete:function(){i.resolve(e)}});return this.el.animate(this.diff,s),i.promise()}),t.when.apply(t,l.get()).done(function(){o(),t.each(arguments,function(){var e=this.el;t.each(this.diff,function(t){e.css(t,"")})}),h.complete.call(a[0])})})},t.fn.extend({addClass:function(e){return function(i,s,n,o){return s?t.effects.animateClass.call(this,{add:i},s,n,o):e.apply(this,arguments)}}(t.fn.addClass),removeClass:function(e){return function(i,s,n,o){return arguments.length>1?t.effects.animateClass.call(this,{remove:i},s,n,o):e.apply(this,arguments)}}(t.fn.removeClass),toggleClass:function(e){return function(i,s,n,o,a){return"boolean"==typeof s||void 0===s?n?t.effects.animateClass.call(this,s?{add:i}:{remove:i},n,o,a):e.apply(this,arguments):t.effects.animateClass.call(this,{toggle:i},s,n,o)}}(t.fn.toggleClass),switchClass:function(e,i,s,n,o){return t.effects.animateClass.call(this,{add:i,remove:e},s,n,o)}})}(),function(){function e(e,i,s,n){return t.isPlainObject(e)&&(i=e,e=e.effect),e={effect:e},null==i&&(i={}),t.isFunction(i)&&(n=i,s=null,i={}),("number"==typeof i||t.fx.speeds[i])&&(n=s,s=i,i={}),t.isFunction(s)&&(n=s,s=null),i&&t.extend(e,i),s=s||i.duration,e.duration=t.fx.off?0:"number"==typeof s?s:s in t.fx.speeds?t.fx.speeds[s]:t.fx.speeds._default,e.complete=n||i.complete,e}function i(e){return!e||"number"==typeof e||t.fx.speeds[e]?!0:"string"!=typeof e||t.effects.effect[e]?t.isFunction(e)?!0:"object"!=typeof e||e.effect?!1:!0:!0}function s(t,e){var i=e.outerWidth(),s=e.outerHeight(),n=/^rect\((-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto)\)$/,o=n.exec(t)||["",0,i,s,0];return{top:parseFloat(o[1])||0,right:"auto"===o[2]?i:parseFloat(o[2]),bottom:"auto"===o[3]?s:parseFloat(o[3]),left:parseFloat(o[4])||0}}t.expr&&t.expr.filters&&t.expr.filters.animated&&(t.expr.filters.animated=function(e){return function(i){return!!t(i).data(d)||e(i)}}(t.expr.filters.animated)),t.uiBackCompat!==!1&&t.extend(t.effects,{save:function(t,e){for(var i=0,s=e.length;s>i;i++)null!==e[i]&&t.data(c+e[i],t[0].style[e[i]])},restore:function(t,e){for(var i,s=0,n=e.length;n>s;s++)null!==e[s]&&(i=t.data(c+e[s]),t.css(e[s],i))},setMode:function(t,e){return"toggle"===e&&(e=t.is(":hidden")?"show":"hide"),e},createWrapper:function(e){if(e.parent().is(".ui-effects-wrapper"))return e.parent();var i={width:e.outerWidth(!0),height:e.outerHeight(!0),"float":e.css("float")},s=t("

              ").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),n={width:e.width(),height:e.height()},o=document.activeElement;try{o.id}catch(a){o=document.body}return e.wrap(s),(e[0]===o||t.contains(e[0],o))&&t(o).trigger("focus"),s=e.parent(),"static"===e.css("position")?(s.css({position:"relative"}),e.css({position:"relative"})):(t.extend(i,{position:e.css("position"),zIndex:e.css("z-index")}),t.each(["top","left","bottom","right"],function(t,s){i[s]=e.css(s),isNaN(parseInt(i[s],10))&&(i[s]="auto")}),e.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),e.css(n),s.css(i).show()},removeWrapper:function(e){var i=document.activeElement;return e.parent().is(".ui-effects-wrapper")&&(e.parent().replaceWith(e),(e[0]===i||t.contains(e[0],i))&&t(i).trigger("focus")),e}}),t.extend(t.effects,{version:"1.12.0",define:function(e,i,s){return s||(s=i,i="effect"),t.effects.effect[e]=s,t.effects.effect[e].mode=i,s},scaledDimensions:function(t,e,i){if(0===e)return{height:0,width:0,outerHeight:0,outerWidth:0};var s="horizontal"!==i?(e||100)/100:1,n="vertical"!==i?(e||100)/100:1;return{height:t.height()*n,width:t.width()*s,outerHeight:t.outerHeight()*n,outerWidth:t.outerWidth()*s}},clipToBox:function(t){return{width:t.clip.right-t.clip.left,height:t.clip.bottom-t.clip.top,left:t.clip.left,top:t.clip.top}},unshift:function(t,e,i){var s=t.queue();e>1&&s.splice.apply(s,[1,0].concat(s.splice(e,i))),t.dequeue()},saveStyle:function(t){t.data(u,t[0].style.cssText)},restoreStyle:function(t){t[0].style.cssText=t.data(u)||"",t.removeData(u)},mode:function(t,e){var i=t.is(":hidden");return"toggle"===e&&(e=i?"show":"hide"),(i?"hide"===e:"show"===e)&&(e="none"),e},getBaseline:function(t,e){var i,s;switch(t[0]){case"top":i=0;break;case"middle":i=.5;break;case"bottom":i=1;break;default:i=t[0]/e.height}switch(t[1]){case"left":s=0;break;case"center":s=.5;break;case"right":s=1;break;default:s=t[1]/e.width}return{x:s,y:i}},createPlaceholder:function(e){var i,s=e.css("position"),n=e.position();return e.css({marginTop:e.css("marginTop"),marginBottom:e.css("marginBottom"),marginLeft:e.css("marginLeft"),marginRight:e.css("marginRight")}).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()),/^(static|relative)/.test(s)&&(s="absolute",i=t("<"+e[0].nodeName+">").insertAfter(e).css({display:/^(inline|ruby)/.test(e.css("display"))?"inline-block":"block",visibility:"hidden",marginTop:e.css("marginTop"),marginBottom:e.css("marginBottom"),marginLeft:e.css("marginLeft"),marginRight:e.css("marginRight"),"float":e.css("float")}).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()).addClass("ui-effects-placeholder"),e.data(c+"placeholder",i)),e.css({position:s,left:n.left,top:n.top}),i},removePlaceholder:function(t){var e=c+"placeholder",i=t.data(e);i&&(i.remove(),t.removeData(e))},cleanUp:function(e){t.effects.restoreStyle(e),t.effects.removePlaceholder(e)},setTransition:function(e,i,s,n){return n=n||{},t.each(i,function(t,i){var o=e.cssUnit(i);o[0]>0&&(n[i]=o[0]*s+o[1])}),n}}),t.fn.extend({effect:function(){function i(e){function i(){r.removeData(d),t.effects.cleanUp(r),"hide"===s.mode&&r.hide(),a()}function a(){t.isFunction(h)&&h.call(r[0]),t.isFunction(e)&&e()}var r=t(this);s.mode=c.shift(),t.uiBackCompat===!1||o?"none"===s.mode?(r[l](),a()):n.call(r[0],s,i):(r.is(":hidden")?"hide"===l:"show"===l)?(r[l](),a()):n.call(r[0],s,a)}var s=e.apply(this,arguments),n=t.effects.effect[s.effect],o=n.mode,a=s.queue,r=a||"fx",h=s.complete,l=s.mode,c=[],u=function(e){var i=t(this),s=t.effects.mode(i,l)||o;i.data(d,!0),c.push(s),o&&("show"===s||s===o&&"hide"===s)&&i.show(),o&&"none"===s||t.effects.saveStyle(i),t.isFunction(e)&&e()};return t.fx.off||!n?l?this[l](s.duration,h):this.each(function(){h&&h.call(this)}):a===!1?this.each(u).each(i):this.queue(r,u).queue(r,i)},show:function(t){return function(s){if(i(s))return t.apply(this,arguments);var n=e.apply(this,arguments);return n.mode="show",this.effect.call(this,n)}}(t.fn.show),hide:function(t){return function(s){if(i(s))return t.apply(this,arguments); +var n=e.apply(this,arguments);return n.mode="hide",this.effect.call(this,n)}}(t.fn.hide),toggle:function(t){return function(s){if(i(s)||"boolean"==typeof s)return t.apply(this,arguments);var n=e.apply(this,arguments);return n.mode="toggle",this.effect.call(this,n)}}(t.fn.toggle),cssUnit:function(e){var i=this.css(e),s=[];return t.each(["em","px","%","pt"],function(t,e){i.indexOf(e)>0&&(s=[parseFloat(i),e])}),s},cssClip:function(t){return t?this.css("clip","rect("+t.top+"px "+t.right+"px "+t.bottom+"px "+t.left+"px)"):s(this.css("clip"),this)},transfer:function(e,i){var s=t(this),n=t(e.to),o="fixed"===n.css("position"),a=t("body"),r=o?a.scrollTop():0,h=o?a.scrollLeft():0,l=n.offset(),c={top:l.top-r,left:l.left-h,height:n.innerHeight(),width:n.innerWidth()},u=s.offset(),d=t("
              ").appendTo("body").addClass(e.className).css({top:u.top-r,left:u.left-h,height:s.innerHeight(),width:s.innerWidth(),position:o?"fixed":"absolute"}).animate(c,e.duration,e.easing,function(){d.remove(),t.isFunction(i)&&i()})}}),t.fx.step.clip=function(e){e.clipInit||(e.start=t(e.elem).cssClip(),"string"==typeof e.end&&(e.end=s(e.end,e.elem)),e.clipInit=!0),t(e.elem).cssClip({top:e.pos*(e.end.top-e.start.top)+e.start.top,right:e.pos*(e.end.right-e.start.right)+e.start.right,bottom:e.pos*(e.end.bottom-e.start.bottom)+e.start.bottom,left:e.pos*(e.end.left-e.start.left)+e.start.left})}}(),function(){var e={};t.each(["Quad","Cubic","Quart","Quint","Expo"],function(t,i){e[i]=function(e){return Math.pow(e,t+2)}}),t.extend(e,{Sine:function(t){return 1-Math.cos(t*Math.PI/2)},Circ:function(t){return 1-Math.sqrt(1-t*t)},Elastic:function(t){return 0===t||1===t?t:-Math.pow(2,8*(t-1))*Math.sin((80*(t-1)-7.5)*Math.PI/15)},Back:function(t){return t*t*(3*t-2)},Bounce:function(t){for(var e,i=4;((e=Math.pow(2,--i))-1)/11>t;);return 1/Math.pow(4,3-i)-7.5625*Math.pow((3*e-2)/22-t,2)}}),t.each(e,function(e,i){t.easing["easeIn"+e]=i,t.easing["easeOut"+e]=function(t){return 1-i(1-t)},t.easing["easeInOut"+e]=function(t){return.5>t?i(2*t)/2:1-i(-2*t+2)/2}})}();var f=t.effects;t.effects.define("blind","hide",function(e,i){var s={up:["bottom","top"],vertical:["bottom","top"],down:["top","bottom"],left:["right","left"],horizontal:["right","left"],right:["left","right"]},n=t(this),o=e.direction||"up",a=n.cssClip(),r={clip:t.extend({},a)},h=t.effects.createPlaceholder(n);r.clip[s[o][0]]=r.clip[s[o][1]],"show"===e.mode&&(n.cssClip(r.clip),h&&h.css(t.effects.clipToBox(r)),r.clip=a),h&&h.animate(t.effects.clipToBox(r),e.duration,e.easing),n.animate(r,{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("bounce",function(e,i){var s,n,o,a=t(this),r=e.mode,h="hide"===r,l="show"===r,c=e.direction||"up",u=e.distance,d=e.times||5,p=2*d+(l||h?1:0),f=e.duration/p,g=e.easing,m="up"===c||"down"===c?"top":"left",_="up"===c||"left"===c,v=0,b=a.queue().length;for(t.effects.createPlaceholder(a),o=a.css(m),u||(u=a["top"===m?"outerHeight":"outerWidth"]()/3),l&&(n={opacity:1},n[m]=o,a.css("opacity",0).css(m,_?2*-u:2*u).animate(n,f,g)),h&&(u/=Math.pow(2,d-1)),n={},n[m]=o;d>v;v++)s={},s[m]=(_?"-=":"+=")+u,a.animate(s,f,g).animate(n,f,g),u=h?2*u:u/2;h&&(s={opacity:0},s[m]=(_?"-=":"+=")+u,a.animate(s,f,g)),a.queue(i),t.effects.unshift(a,b,p+1)}),t.effects.define("clip","hide",function(e,i){var s,n={},o=t(this),a=e.direction||"vertical",r="both"===a,h=r||"horizontal"===a,l=r||"vertical"===a;s=o.cssClip(),n.clip={top:l?(s.bottom-s.top)/2:s.top,right:h?(s.right-s.left)/2:s.right,bottom:l?(s.bottom-s.top)/2:s.bottom,left:h?(s.right-s.left)/2:s.left},t.effects.createPlaceholder(o),"show"===e.mode&&(o.cssClip(n.clip),n.clip=s),o.animate(n,{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("drop","hide",function(e,i){var s,n=t(this),o=e.mode,a="show"===o,r=e.direction||"left",h="up"===r||"down"===r?"top":"left",l="up"===r||"left"===r?"-=":"+=",c="+="===l?"-=":"+=",u={opacity:0};t.effects.createPlaceholder(n),s=e.distance||n["top"===h?"outerHeight":"outerWidth"](!0)/2,u[h]=l+s,a&&(n.css(u),u[h]=c+s,u.opacity=1),n.animate(u,{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("explode","hide",function(e,i){function s(){b.push(this),b.length===u*d&&n()}function n(){p.css({visibility:"visible"}),t(b).remove(),i()}var o,a,r,h,l,c,u=e.pieces?Math.round(Math.sqrt(e.pieces)):3,d=u,p=t(this),f=e.mode,g="show"===f,m=p.show().css("visibility","hidden").offset(),_=Math.ceil(p.outerWidth()/d),v=Math.ceil(p.outerHeight()/u),b=[];for(o=0;u>o;o++)for(h=m.top+o*v,c=o-(u-1)/2,a=0;d>a;a++)r=m.left+a*_,l=a-(d-1)/2,p.clone().appendTo("body").wrap("
              ").css({position:"absolute",visibility:"visible",left:-a*_,top:-o*v}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:_,height:v,left:r+(g?l*_:0),top:h+(g?c*v:0),opacity:g?0:1}).animate({left:r+(g?0:l*_),top:h+(g?0:c*v),opacity:g?1:0},e.duration||500,e.easing,s)}),t.effects.define("fade","toggle",function(e,i){var s="show"===e.mode;t(this).css("opacity",s?0:1).animate({opacity:s?1:0},{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("fold","hide",function(e,i){var s=t(this),n=e.mode,o="show"===n,a="hide"===n,r=e.size||15,h=/([0-9]+)%/.exec(r),l=!!e.horizFirst,c=l?["right","bottom"]:["bottom","right"],u=e.duration/2,d=t.effects.createPlaceholder(s),p=s.cssClip(),f={clip:t.extend({},p)},g={clip:t.extend({},p)},m=[p[c[0]],p[c[1]]],_=s.queue().length;h&&(r=parseInt(h[1],10)/100*m[a?0:1]),f.clip[c[0]]=r,g.clip[c[0]]=r,g.clip[c[1]]=0,o&&(s.cssClip(g.clip),d&&d.css(t.effects.clipToBox(g)),g.clip=p),s.queue(function(i){d&&d.animate(t.effects.clipToBox(f),u,e.easing).animate(t.effects.clipToBox(g),u,e.easing),i()}).animate(f,u,e.easing).animate(g,u,e.easing).queue(i),t.effects.unshift(s,_,4)}),t.effects.define("highlight","show",function(e,i){var s=t(this),n={backgroundColor:s.css("backgroundColor")};"hide"===e.mode&&(n.opacity=0),t.effects.saveStyle(s),s.css({backgroundImage:"none",backgroundColor:e.color||"#ffff99"}).animate(n,{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("size",function(e,i){var s,n,o,a=t(this),r=["fontSize"],h=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],l=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],c=e.mode,u="effect"!==c,d=e.scale||"both",p=e.origin||["middle","center"],f=a.css("position"),g=a.position(),m=t.effects.scaledDimensions(a),_=e.from||m,v=e.to||t.effects.scaledDimensions(a,0);t.effects.createPlaceholder(a),"show"===c&&(o=_,_=v,v=o),n={from:{y:_.height/m.height,x:_.width/m.width},to:{y:v.height/m.height,x:v.width/m.width}},("box"===d||"both"===d)&&(n.from.y!==n.to.y&&(_=t.effects.setTransition(a,h,n.from.y,_),v=t.effects.setTransition(a,h,n.to.y,v)),n.from.x!==n.to.x&&(_=t.effects.setTransition(a,l,n.from.x,_),v=t.effects.setTransition(a,l,n.to.x,v))),("content"===d||"both"===d)&&n.from.y!==n.to.y&&(_=t.effects.setTransition(a,r,n.from.y,_),v=t.effects.setTransition(a,r,n.to.y,v)),p&&(s=t.effects.getBaseline(p,m),_.top=(m.outerHeight-_.outerHeight)*s.y+g.top,_.left=(m.outerWidth-_.outerWidth)*s.x+g.left,v.top=(m.outerHeight-v.outerHeight)*s.y+g.top,v.left=(m.outerWidth-v.outerWidth)*s.x+g.left),a.css(_),("content"===d||"both"===d)&&(h=h.concat(["marginTop","marginBottom"]).concat(r),l=l.concat(["marginLeft","marginRight"]),a.find("*[width]").each(function(){var i=t(this),s=t.effects.scaledDimensions(i),o={height:s.height*n.from.y,width:s.width*n.from.x,outerHeight:s.outerHeight*n.from.y,outerWidth:s.outerWidth*n.from.x},a={height:s.height*n.to.y,width:s.width*n.to.x,outerHeight:s.height*n.to.y,outerWidth:s.width*n.to.x};n.from.y!==n.to.y&&(o=t.effects.setTransition(i,h,n.from.y,o),a=t.effects.setTransition(i,h,n.to.y,a)),n.from.x!==n.to.x&&(o=t.effects.setTransition(i,l,n.from.x,o),a=t.effects.setTransition(i,l,n.to.x,a)),u&&t.effects.saveStyle(i),i.css(o),i.animate(a,e.duration,e.easing,function(){u&&t.effects.restoreStyle(i)})})),a.animate(v,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){var e=a.offset();0===v.opacity&&a.css("opacity",_.opacity),u||(a.css("position","static"===f?"relative":f).offset(e),t.effects.saveStyle(a)),i()}})}),t.effects.define("scale",function(e,i){var s=t(this),n=e.mode,o=parseInt(e.percent,10)||(0===parseInt(e.percent,10)?0:"effect"!==n?0:100),a=t.extend(!0,{from:t.effects.scaledDimensions(s),to:t.effects.scaledDimensions(s,o,e.direction||"both"),origin:e.origin||["middle","center"]},e);e.fade&&(a.from.opacity=1,a.to.opacity=0),t.effects.effect.size.call(this,a,i)}),t.effects.define("puff","hide",function(e,i){var s=t.extend(!0,{},e,{fade:!0,percent:parseInt(e.percent,10)||150});t.effects.effect.scale.call(this,s,i)}),t.effects.define("pulsate","show",function(e,i){var s=t(this),n=e.mode,o="show"===n,a="hide"===n,r=o||a,h=2*(e.times||5)+(r?1:0),l=e.duration/h,c=0,u=1,d=s.queue().length;for((o||!s.is(":visible"))&&(s.css("opacity",0).show(),c=1);h>u;u++)s.animate({opacity:c},l,e.easing),c=1-c;s.animate({opacity:c},l,e.easing),s.queue(i),t.effects.unshift(s,d,h+1)}),t.effects.define("shake",function(e,i){var s=1,n=t(this),o=e.direction||"left",a=e.distance||20,r=e.times||3,h=2*r+1,l=Math.round(e.duration/h),c="up"===o||"down"===o?"top":"left",u="up"===o||"left"===o,d={},p={},f={},g=n.queue().length;for(t.effects.createPlaceholder(n),d[c]=(u?"-=":"+=")+a,p[c]=(u?"+=":"-=")+2*a,f[c]=(u?"-=":"+=")+2*a,n.animate(d,l,e.easing);r>s;s++)n.animate(p,l,e.easing).animate(f,l,e.easing);n.animate(p,l,e.easing).animate(d,l/2,e.easing).queue(i),t.effects.unshift(n,g,h+1)}),t.effects.define("slide","show",function(e,i){var s,n,o=t(this),a={up:["bottom","top"],down:["top","bottom"],left:["right","left"],right:["left","right"]},r=e.mode,h=e.direction||"left",l="up"===h||"down"===h?"top":"left",c="up"===h||"left"===h,u=e.distance||o["top"===l?"outerHeight":"outerWidth"](!0),d={};t.effects.createPlaceholder(o),s=o.cssClip(),n=o.position()[l],d[l]=(c?-1:1)*u+n,d.clip=o.cssClip(),d.clip[a[h][1]]=d.clip[a[h][0]],"show"===r&&(o.cssClip(d.clip),o.css(l,d[l]),d.clip=s,d[l]=n),o.animate(d,{queue:!1,duration:e.duration,easing:e.easing,complete:i})});var f;t.uiBackCompat!==!1&&(f=t.effects.define("transfer",function(e,i){t(this).transfer(e,i)})),t.ui.focusable=function(i,s){var n,o,a,r,h,l=i.nodeName.toLowerCase();return"area"===l?(n=i.parentNode,o=n.name,i.href&&o&&"map"===n.nodeName.toLowerCase()?(a=t("img[usemap='#"+o+"']"),a.length>0&&a.is(":visible")):!1):(/^(input|select|textarea|button|object)$/.test(l)?(r=!i.disabled,r&&(h=t(i).closest("fieldset")[0],h&&(r=!h.disabled))):r="a"===l?i.href||s:s,r&&t(i).is(":visible")&&e(t(i)))},t.extend(t.expr[":"],{focusable:function(e){return t.ui.focusable(e,null!=t.attr(e,"tabindex"))}}),t.ui.focusable,t.fn.form=function(){return"string"==typeof this[0].form?this.closest("form"):t(this[0].form)},t.ui.formResetMixin={_formResetHandler:function(){var e=t(this);setTimeout(function(){var i=e.data("ui-form-reset-instances");t.each(i,function(){this.refresh()})})},_bindFormResetHandler:function(){if(this.form=this.element.form(),this.form.length){var t=this.form.data("ui-form-reset-instances")||[];t.length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t)}},_unbindFormResetHandler:function(){if(this.form.length){var e=this.form.data("ui-form-reset-instances");e.splice(t.inArray(this,e),1),e.length?this.form.data("ui-form-reset-instances",e):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset")}}},"1.7"===t.fn.jquery.substring(0,3)&&(t.each(["Width","Height"],function(e,i){function s(e,i,s,o){return t.each(n,function(){i-=parseFloat(t.css(e,"padding"+this))||0,s&&(i-=parseFloat(t.css(e,"border"+this+"Width"))||0),o&&(i-=parseFloat(t.css(e,"margin"+this))||0)}),i}var n="Width"===i?["Left","Right"]:["Top","Bottom"],o=i.toLowerCase(),a={innerWidth:t.fn.innerWidth,innerHeight:t.fn.innerHeight,outerWidth:t.fn.outerWidth,outerHeight:t.fn.outerHeight};t.fn["inner"+i]=function(e){return void 0===e?a["inner"+i].call(this):this.each(function(){t(this).css(o,s(this,e)+"px")})},t.fn["outer"+i]=function(e,n){return"number"!=typeof e?a["outer"+i].call(this,e):this.each(function(){t(this).css(o,s(this,e,!0,n)+"px")})}}),t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.ui.escapeSelector=function(){var t=/([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g;return function(e){return e.replace(t,"\\$1")}}(),t.fn.labels=function(){var e,i,s,n,o;return this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(n=this.eq(0).parents("label"),s=this.attr("id"),s&&(e=this.eq(0).parents().last(),o=e.add(e.length?e.siblings():this.siblings()),i="label[for='"+t.ui.escapeSelector(s)+"']",n=n.add(o.find(i).addBack(i))),this.pushStack(n))},t.fn.scrollParent=function(e){var i=this.css("position"),s="absolute"===i,n=e?/(auto|scroll|hidden)/:/(auto|scroll)/,o=this.parents().filter(function(){var e=t(this);return s&&"static"===e.css("position")?!1:n.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))}).eq(0);return"fixed"!==i&&o.length?o:t(this[0].ownerDocument||document)},t.extend(t.expr[":"],{tabbable:function(e){var i=t.attr(e,"tabindex"),s=null!=i;return(!s||i>=0)&&t.ui.focusable(e,s)}}),t.fn.extend({uniqueId:function(){var t=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.widget("ui.accordion",{version:"1.12.0",options:{active:0,animate:{},classes:{"ui-accordion-header":"ui-corner-top","ui-accordion-header-collapsed":"ui-corner-all","ui-accordion-content":"ui-corner-bottom"},collapsible:!1,event:"click",header:"> li > :first-child, > :not(li):even",heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},hideProps:{borderTopWidth:"hide",borderBottomWidth:"hide",paddingTop:"hide",paddingBottom:"hide",height:"hide"},showProps:{borderTopWidth:"show",borderBottomWidth:"show",paddingTop:"show",paddingBottom:"show",height:"show"},_create:function(){var e=this.options;this.prevShow=this.prevHide=t(),this._addClass("ui-accordion","ui-widget ui-helper-reset"),this.element.attr("role","tablist"),e.collapsible||e.active!==!1&&null!=e.active||(e.active=0),this._processPanels(),0>e.active&&(e.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():t()}},_createIcons:function(){var e,i,s=this.options.icons;s&&(e=t(""),this._addClass(e,"ui-accordion-header-icon","ui-icon "+s.header),e.prependTo(this.headers),i=this.active.children(".ui-accordion-header-icon"),this._removeClass(i,s.header)._addClass(i,null,s.activeHeader)._addClass(this.headers,"ui-accordion-icons"))},_destroyIcons:function(){this._removeClass(this.headers,"ui-accordion-icons"),this.headers.children(".ui-accordion-header-icon").remove()},_destroy:function(){var t;this.element.removeAttr("role"),this.headers.removeAttr("role aria-expanded aria-selected aria-controls tabIndex").removeUniqueId(),this._destroyIcons(),t=this.headers.next().css("display","").removeAttr("role aria-hidden aria-labelledby").removeUniqueId(),"content"!==this.options.heightStyle&&t.css("height","")},_setOption:function(t,e){return"active"===t?(this._activate(e),void 0):("event"===t&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(e)),this._super(t,e),"collapsible"!==t||e||this.options.active!==!1||this._activate(0),"icons"===t&&(this._destroyIcons(),e&&this._createIcons()),void 0)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t),this._toggleClass(null,"ui-state-disabled",!!t),this._toggleClass(this.headers.add(this.headers.next()),null,"ui-state-disabled",!!t)},_keydown:function(e){if(!e.altKey&&!e.ctrlKey){var i=t.ui.keyCode,s=this.headers.length,n=this.headers.index(e.target),o=!1;switch(e.keyCode){case i.RIGHT:case i.DOWN:o=this.headers[(n+1)%s];break;case i.LEFT:case i.UP:o=this.headers[(n-1+s)%s];break;case i.SPACE:case i.ENTER:this._eventHandler(e);break;case i.HOME:o=this.headers[0];break;case i.END:o=this.headers[s-1]}o&&(t(e.target).attr("tabIndex",-1),t(o).attr("tabIndex",0),t(o).trigger("focus"),e.preventDefault())}},_panelKeyDown:function(e){e.keyCode===t.ui.keyCode.UP&&e.ctrlKey&&t(e.currentTarget).prev().trigger("focus")},refresh:function(){var e=this.options;this._processPanels(),e.active===!1&&e.collapsible===!0||!this.headers.length?(e.active=!1,this.active=t()):e.active===!1?this._activate(0):this.active.length&&!t.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(e.active=!1,this.active=t()):this._activate(Math.max(0,e.active-1)):e.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){var t=this.headers,e=this.panels;this.headers=this.element.find(this.options.header),this._addClass(this.headers,"ui-accordion-header ui-accordion-header-collapsed","ui-state-default"),this.panels=this.headers.next().filter(":not(.ui-accordion-content-active)").hide(),this._addClass(this.panels,"ui-accordion-content","ui-helper-reset ui-widget-content"),e&&(this._off(t.not(this.headers)),this._off(e.not(this.panels)))},_refresh:function(){var e,i=this.options,s=i.heightStyle,n=this.element.parent();this.active=this._findActive(i.active),this._addClass(this.active,"ui-accordion-header-active","ui-state-active")._removeClass(this.active,"ui-accordion-header-collapsed"),this._addClass(this.active.next(),"ui-accordion-content-active"),this.active.next().show(),this.headers.attr("role","tab").each(function(){var e=t(this),i=e.uniqueId().attr("id"),s=e.next(),n=s.uniqueId().attr("id");e.attr("aria-controls",n),s.attr("aria-labelledby",i)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}).next().attr({"aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}).next().attr({"aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(i.event),"fill"===s?(e=n.height(),this.element.siblings(":visible").each(function(){var i=t(this),s=i.css("position");"absolute"!==s&&"fixed"!==s&&(e-=i.outerHeight(!0))}),this.headers.each(function(){e-=t(this).outerHeight(!0)}),this.headers.next().each(function(){t(this).height(Math.max(0,e-t(this).innerHeight()+t(this).height()))}).css("overflow","auto")):"auto"===s&&(e=0,this.headers.next().each(function(){var i=t(this).is(":visible");i||t(this).show(),e=Math.max(e,t(this).css("height","").height()),i||t(this).hide()}).height(e))},_activate:function(e){var i=this._findActive(e)[0];i!==this.active[0]&&(i=i||this.active[0],this._eventHandler({target:i,currentTarget:i,preventDefault:t.noop}))},_findActive:function(e){return"number"==typeof e?this.headers.eq(e):t()},_setupEvents:function(e){var i={keydown:"_keydown"};e&&t.each(e.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,i),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(e){var i,s,n=this.options,o=this.active,a=t(e.currentTarget),r=a[0]===o[0],h=r&&n.collapsible,l=h?t():a.next(),c=o.next(),u={oldHeader:o,oldPanel:c,newHeader:h?t():a,newPanel:l};e.preventDefault(),r&&!n.collapsible||this._trigger("beforeActivate",e,u)===!1||(n.active=h?!1:this.headers.index(a),this.active=r?t():a,this._toggle(u),this._removeClass(o,"ui-accordion-header-active","ui-state-active"),n.icons&&(i=o.children(".ui-accordion-header-icon"),this._removeClass(i,null,n.icons.activeHeader)._addClass(i,null,n.icons.header)),r||(this._removeClass(a,"ui-accordion-header-collapsed")._addClass(a,"ui-accordion-header-active","ui-state-active"),n.icons&&(s=a.children(".ui-accordion-header-icon"),this._removeClass(s,null,n.icons.header)._addClass(s,null,n.icons.activeHeader)),this._addClass(a.next(),"ui-accordion-content-active")))},_toggle:function(e){var i=e.newPanel,s=this.prevShow.length?this.prevShow:e.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=i,this.prevHide=s,this.options.animate?this._animate(i,s,e):(s.hide(),i.show(),this._toggleComplete(e)),s.attr({"aria-hidden":"true"}),s.prev().attr({"aria-selected":"false","aria-expanded":"false"}),i.length&&s.length?s.prev().attr({tabIndex:-1,"aria-expanded":"false"}):i.length&&this.headers.filter(function(){return 0===parseInt(t(this).attr("tabIndex"),10)}).attr("tabIndex",-1),i.attr("aria-hidden","false").prev().attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_animate:function(t,e,i){var s,n,o,a=this,r=0,h=t.css("box-sizing"),l=t.length&&(!e.length||t.index()",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(t){t.preventDefault()},"click .ui-menu-item":function(e){var i=t(e.target),s=t(t.ui.safeActiveElement(this.document[0]));!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.select(e),e.isPropagationStopped()||(this.mouseHandled=!0),i.has(".ui-menu").length?this.expand(e):!this.element.is(":focus")&&s.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(e){if(!this.previousFilter){var i=t(e.target).closest(".ui-menu-item"),s=t(e.currentTarget);i[0]===s[0]&&(this._removeClass(s.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(e,s))}},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this.element.find(this.options.items).eq(0);e||this.focus(t,i)},blur:function(e){this._delay(function(){var i=!t.contains(this.element[0],t.ui.safeActiveElement(this.document[0]));i&&this.collapseAll(e)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){this._closeOnDocumentClick(t)&&this.collapseAll(t),this.mouseHandled=!1}})},_destroy:function(){var e=this.element.find(".ui-menu-item").removeAttr("role aria-disabled"),i=e.children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),i.children().each(function(){var e=t(this);e.data("ui-menu-submenu-caret")&&e.remove()})},_keydown:function(e){var i,s,n,o,a=!0;switch(e.keyCode){case t.ui.keyCode.PAGE_UP:this.previousPage(e);break;case t.ui.keyCode.PAGE_DOWN:this.nextPage(e);break;case t.ui.keyCode.HOME:this._move("first","first",e);break;case t.ui.keyCode.END:this._move("last","last",e);break;case t.ui.keyCode.UP:this.previous(e);break;case t.ui.keyCode.DOWN:this.next(e);break;case t.ui.keyCode.LEFT:this.collapse(e);break;case t.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(e);break;case t.ui.keyCode.ENTER:case t.ui.keyCode.SPACE:this._activate(e);break;case t.ui.keyCode.ESCAPE:this.collapse(e);break;default:a=!1,s=this.previousFilter||"",n=String.fromCharCode(e.keyCode),o=!1,clearTimeout(this.filterTimer),n===s?o=!0:n=s+n,i=this._filterMenuItems(n),i=o&&-1!==i.index(this.active.next())?this.active.nextAll(".ui-menu-item"):i,i.length||(n=String.fromCharCode(e.keyCode),i=this._filterMenuItems(n)),i.length?(this.focus(e,i),this.previousFilter=n,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}a&&e.preventDefault()},_activate:function(t){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var e,i,s,n,o,a=this,r=this.options.icons.submenu,h=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),s=h.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var e=t(this),i=e.prev(),s=t("").data("ui-menu-submenu-caret",!0);a._addClass(s,"ui-menu-icon","ui-icon "+r),i.attr("aria-haspopup","true").prepend(s),e.attr("aria-labelledby",i.attr("id"))}),this._addClass(s,"ui-menu","ui-widget ui-widget-content ui-front"),e=h.add(this.element),i=e.find(this.options.items),i.not(".ui-menu-item").each(function(){var e=t(this);a._isDivider(e)&&a._addClass(e,"ui-menu-divider","ui-widget-content")}),n=i.not(".ui-menu-item, .ui-menu-divider"),o=n.children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(n,"ui-menu-item")._addClass(o,"ui-menu-item-wrapper"),i.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!t.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){if("icons"===t){var i=this.element.find(".ui-menu-icon");this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,e.submenu)}this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t+""),this._toggleClass(null,"ui-state-disabled",!!t)},focus:function(t,e){var i,s,n;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),s=this.active.children(".ui-menu-item-wrapper"),this._addClass(s,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",s.attr("id")),n=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(n,null,"ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),i=e.children(".ui-menu"),i.length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(e){var i,s,n,o,a,r;this._hasScroll()&&(i=parseFloat(t.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(t.css(this.activeMenu[0],"paddingTop"))||0,n=e.offset().top-this.activeMenu.offset().top-i-s,o=this.activeMenu.scrollTop(),a=this.activeMenu.height(),r=e.outerHeight(),0>n?this.activeMenu.scrollTop(o+n):n+r>a&&this.activeMenu.scrollTop(o+n-a+r))},blur:function(t,e){e||clearTimeout(this.timer),this.active&&(this._removeClass(this.active.children(".ui-menu-item-wrapper"),null,"ui-state-active"),this._trigger("blur",t,{item:this.active}),this.active=null)},_startOpening:function(t){clearTimeout(this.timer),"true"===t.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(t)},this.delay))},_open:function(e){var i=t.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(e.parents(".ui-menu")).hide().attr("aria-hidden","true"),e.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(e,i){clearTimeout(this.timer),this.timer=this._delay(function(){var s=i?this.element:t(e&&e.target).closest(this.element.find(".ui-menu"));s.length||(s=this.element),this._close(s),this.blur(e),this._removeClass(s.find(".ui-state-active"),null,"ui-state-active"),this.activeMenu=s},this.delay)},_close:function(t){t||(t=this.active?this.active.parent():this.element),t.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false")},_closeOnDocumentClick:function(e){return!t(e.target).closest(".ui-menu").length},_isDivider:function(t){return!/[^\-\u2014\u2013\s]/.test(t.text())},collapse:function(t){var e=this.active&&this.active.parent().closest(".ui-menu-item",this.element);e&&e.length&&(this._close(),this.focus(t,e))},expand:function(t){var e=this.active&&this.active.children(".ui-menu ").find(this.options.items).first();e&&e.length&&(this._open(e.parent()),this._delay(function(){this.focus(t,e)}))},next:function(t){this._move("next","first",t)},previous:function(t){this._move("prev","last",t)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(t,e,i){var s;this.active&&(s="first"===t||"last"===t?this.active["first"===t?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[t+"All"](".ui-menu-item").eq(0)),s&&s.length&&this.active||(s=this.activeMenu.find(this.options.items)[e]()),this.focus(i,s)},nextPage:function(e){var i,s,n;return this.active?(this.isLastItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return i=t(this),0>i.offset().top-s-n}),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items)[this.active?"last":"first"]())),void 0):(this.next(e),void 0)},previousPage:function(e){var i,s,n;return this.active?(this.isFirstItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return i=t(this),i.offset().top-s+n>0}),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items).first())),void 0):(this.next(e),void 0)},_hasScroll:function(){return this.element.outerHeight()",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function(){var e,i,s,n=this.element[0].nodeName.toLowerCase(),o="textarea"===n,a="input"===n;this.isMultiLine=o||!a&&this._isContentEditable(this.element),this.valueMethod=this.element[o||a?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(n){if(this.element.prop("readOnly"))return e=!0,s=!0,i=!0,void 0; +e=!1,s=!1,i=!1;var o=t.ui.keyCode;switch(n.keyCode){case o.PAGE_UP:e=!0,this._move("previousPage",n);break;case o.PAGE_DOWN:e=!0,this._move("nextPage",n);break;case o.UP:e=!0,this._keyEvent("previous",n);break;case o.DOWN:e=!0,this._keyEvent("next",n);break;case o.ENTER:this.menu.active&&(e=!0,n.preventDefault(),this.menu.select(n));break;case o.TAB:this.menu.active&&this.menu.select(n);break;case o.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(n),n.preventDefault());break;default:i=!0,this._searchTimeout(n)}},keypress:function(s){if(e)return e=!1,(!this.isMultiLine||this.menu.element.is(":visible"))&&s.preventDefault(),void 0;if(!i){var n=t.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:this._move("previousPage",s);break;case n.PAGE_DOWN:this._move("nextPage",s);break;case n.UP:this._keyEvent("previous",s);break;case n.DOWN:this._keyEvent("next",s)}}},input:function(t){return s?(s=!1,t.preventDefault(),void 0):(this._searchTimeout(t),void 0)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(t){return this.cancelBlur?(delete this.cancelBlur,void 0):(clearTimeout(this.searching),this.close(t),this._change(t),void 0)}}),this._initSource(),this.menu=t("
                ").appendTo(this._appendTo()).menu({role:null}).hide().menu("instance"),this._addClass(this.menu.element,"ui-autocomplete","ui-front"),this._on(this.menu.element,{mousedown:function(e){e.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,this.element[0]!==t.ui.safeActiveElement(this.document[0])&&this.element.trigger("focus")})},menufocus:function(e,i){var s,n;return this.isNewMenu&&(this.isNewMenu=!1,e.originalEvent&&/^mouse/.test(e.originalEvent.type))?(this.menu.blur(),this.document.one("mousemove",function(){t(e.target).trigger(e.originalEvent)}),void 0):(n=i.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",e,{item:n})&&e.originalEvent&&/^key/.test(e.originalEvent.type)&&this._value(n.value),s=i.item.attr("aria-label")||n.value,s&&t.trim(s).length&&(this.liveRegion.children().hide(),t("
                ").text(s).appendTo(this.liveRegion)),void 0)},menuselect:function(e,i){var s=i.item.data("ui-autocomplete-item"),n=this.previous;this.element[0]!==t.ui.safeActiveElement(this.document[0])&&(this.element.trigger("focus"),this.previous=n,this._delay(function(){this.previous=n,this.selectedItem=s})),!1!==this._trigger("select",e,{item:s})&&this._value(s.value),this.term=this._value(),this.close(e),this.selectedItem=s}}),this.liveRegion=t("
                ",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(t,e){this._super(t,e),"source"===t&&this._initSource(),"appendTo"===t&&this.menu.element.appendTo(this._appendTo()),"disabled"===t&&e&&this.xhr&&this.xhr.abort()},_isEventTargetInWidget:function(e){var i=this.menu.element[0];return e.target===this.element[0]||e.target===i||t.contains(i,e.target)},_closeOnClickOutside:function(t){this._isEventTargetInWidget(t)||this.close()},_appendTo:function(){var e=this.options.appendTo;return e&&(e=e.jquery||e.nodeType?t(e):this.document.find(e).eq(0)),e&&e[0]||(e=this.element.closest(".ui-front, dialog")),e.length||(e=this.document[0].body),e},_initSource:function(){var e,i,s=this;t.isArray(this.options.source)?(e=this.options.source,this.source=function(i,s){s(t.ui.autocomplete.filter(e,i.term))}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(e,n){s.xhr&&s.xhr.abort(),s.xhr=t.ajax({url:i,data:e,dataType:"json",success:function(t){n(t)},error:function(){n([])}})}):this.source=this.options.source},_searchTimeout:function(t){clearTimeout(this.searching),this.searching=this._delay(function(){var e=this.term===this._value(),i=this.menu.element.is(":visible"),s=t.altKey||t.ctrlKey||t.metaKey||t.shiftKey;(!e||e&&!i&&!s)&&(this.selectedItem=null,this.search(null,t))},this.options.delay)},search:function(t,e){return t=null!=t?t:this._value(),this.term=this._value(),t.length").append(t("
                ").text(i.label)).appendTo(e)},_move:function(t,e){return this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(t)||this.menu.isLastItem()&&/^next/.test(t)?(this.isMultiLine||this._value(this.term),this.menu.blur(),void 0):(this.menu[t](e),void 0):(this.search(null,e),void 0)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(t,e){(!this.isMultiLine||this.menu.element.is(":visible"))&&(this._move(t,e),e.preventDefault())},_isContentEditable:function(t){if(!t.length)return!1;var e=t.prop("contentEditable");return"inherit"===e?this._isContentEditable(t.parent()):"true"===e}}),t.extend(t.ui.autocomplete,{escapeRegex:function(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(e,i){var s=RegExp(t.ui.autocomplete.escapeRegex(i),"i");return t.grep(e,function(t){return s.test(t.label||t.value||t)})}}),t.widget("ui.autocomplete",t.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(t){return t+(t>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(e){var i;this._superApply(arguments),this.options.disabled||this.cancelSearch||(i=e&&e.length?this.options.messages.results(e.length):this.options.messages.noResults,this.liveRegion.children().hide(),t("
                ").text(i).appendTo(this.liveRegion))}}),t.ui.autocomplete;var g=/ui-corner-([a-z]){2,6}/g;t.widget("ui.controlgroup",{version:"1.12.0",defaultElement:"
                ",options:{direction:"horizontal",disabled:null,onlyVisible:!0,items:{button:"input[type=button], input[type=submit], input[type=reset], button, a",controlgroupLabel:".ui-controlgroup-label",checkboxradio:"input[type='checkbox'], input[type='radio']",selectmenu:"select",spinner:".ui-spinner-input"}},_create:function(){this._enhance()},_enhance:function(){this.element.attr("role","toolbar"),this.refresh()},_destroy:function(){this._callChildMethod("destroy"),this.childWidgets.removeData("ui-controlgroup-data"),this.element.removeAttr("role"),this.options.items.controlgroupLabel&&this.element.find(this.options.items.controlgroupLabel).find(".ui-controlgroup-label-contents").contents().unwrap()},_initWidgets:function(){var e=this,i=[];t.each(this.options.items,function(s,n){var o,a={};return n?"controlgroupLabel"===s?(o=e.element.find(n),o.each(function(){var e=t(this);e.children(".ui-controlgroup-label-contents").length||e.contents().wrapAll("")}),e._addClass(o,null,"ui-widget ui-widget-content ui-state-default"),i=i.concat(o.get()),void 0):(t.fn[s]&&(e["_"+s+"Options"]&&(a=e["_"+s+"Options"]("middle")),e.element.find(n).each(function(){var n=t(this),o=n[s]("instance"),r=t.widget.extend({},a);if("button"!==s||!n.parent(".ui-spinner").length){o||(o=n[s]()[s]("instance")),o&&(r.classes=e._resolveClassesValues(r.classes,o)),n[s](r);var h=n[s]("widget");t.data(h[0],"ui-controlgroup-data",o?o:n[s]("instance")),i.push(h[0])}})),void 0):void 0}),this.childWidgets=t(t.unique(i)),this._addClass(this.childWidgets,"ui-controlgroup-item")},_callChildMethod:function(e){this.childWidgets.each(function(){var i=t(this),s=i.data("ui-controlgroup-data");s&&s[e]&&s[e]()})},_updateCornerClass:function(t,e){var i="ui-corner-top ui-corner-bottom ui-corner-left ui-corner-right ui-corner-all",s=this._buildSimpleOptions(e,"label").classes.label;this._removeClass(t,null,i),this._addClass(t,null,s)},_buildSimpleOptions:function(t,e){var i="vertical"===this.options.direction,s={classes:{}};return s.classes[e]={middle:"",first:"ui-corner-"+(i?"top":"left"),last:"ui-corner-"+(i?"bottom":"right"),only:"ui-corner-all"}[t],s},_spinnerOptions:function(t){var e=this._buildSimpleOptions(t,"ui-spinner");return e.classes["ui-spinner-up"]="",e.classes["ui-spinner-down"]="",e},_buttonOptions:function(t){return this._buildSimpleOptions(t,"ui-button")},_checkboxradioOptions:function(t){return this._buildSimpleOptions(t,"ui-checkboxradio-label")},_selectmenuOptions:function(t){var e="vertical"===this.options.direction;return{width:e?"auto":!1,classes:{middle:{"ui-selectmenu-button-open":"","ui-selectmenu-button-closed":""},first:{"ui-selectmenu-button-open":"ui-corner-"+(e?"top":"tl"),"ui-selectmenu-button-closed":"ui-corner-"+(e?"top":"left")},last:{"ui-selectmenu-button-open":e?"":"ui-corner-tr","ui-selectmenu-button-closed":"ui-corner-"+(e?"bottom":"right")},only:{"ui-selectmenu-button-open":"ui-corner-top","ui-selectmenu-button-closed":"ui-corner-all"}}[t]}},_resolveClassesValues:function(e,i){var s={};return t.each(e,function(t){var n=i.options.classes[t]||"";n=n.replace(g,"").trim(),s[t]=(n+" "+e[t]).replace(/\s+/g," ")}),s},_setOption:function(t,e){return"direction"===t&&this._removeClass("ui-controlgroup-"+this.options.direction),this._super(t,e),"disabled"===t?(this._callChildMethod(e?"disable":"enable"),void 0):(this.refresh(),void 0)},refresh:function(){var e,i=this;this._addClass("ui-controlgroup ui-controlgroup-"+this.options.direction),"horizontal"===this.options.direction&&this._addClass(null,"ui-helper-clearfix"),this._initWidgets(),e=this.childWidgets,this.options.onlyVisible&&(e=e.filter(":visible")),e.length&&(t.each(["first","last"],function(t,s){var n=e[s]().data("ui-controlgroup-data");if(n&&i["_"+n.widgetName+"Options"]){var o=i["_"+n.widgetName+"Options"](1===e.length?"only":s);o.classes=i._resolveClassesValues(o.classes,n),n.element[n.widgetName](o)}else i._updateCornerClass(e[s](),s)}),this._callChildMethod("refresh"))}}),t.widget("ui.checkboxradio",[t.ui.formResetMixin,{version:"1.12.0",options:{disabled:null,label:null,icon:!0,classes:{"ui-checkboxradio-label":"ui-corner-all","ui-checkboxradio-icon":"ui-corner-all"}},_getCreateOptions:function(){var e,i,s=this,n=this._super()||{};return this._readType(),i=this.element.labels(),this.label=t(i[i.length-1]),this.label.length||t.error("No label found for checkboxradio widget"),this.originalLabel="",this.label.contents().not(this.element).each(function(){s.originalLabel+=3===this.nodeType?t(this).text():this.outerHTML}),this.originalLabel&&(n.label=this.originalLabel),e=this.element[0].disabled,null!=e&&(n.disabled=e),n},_create:function(){var t=this.element[0].checked;this._bindFormResetHandler(),null==this.options.disabled&&(this.options.disabled=this.element[0].disabled),this._setOption("disabled",this.options.disabled),this._addClass("ui-checkboxradio","ui-helper-hidden-accessible"),this._addClass(this.label,"ui-checkboxradio-label","ui-button ui-widget"),"radio"===this.type&&this._addClass(this.label,"ui-checkboxradio-radio-label"),this.options.label&&this.options.label!==this.originalLabel?this._updateLabel():this.originalLabel&&(this.options.label=this.originalLabel),this._enhance(),t&&(this._addClass(this.label,"ui-checkboxradio-checked","ui-state-active"),this.icon&&this._addClass(this.icon,null,"ui-state-hover")),this._on({change:"_toggleClasses",focus:function(){this._addClass(this.label,null,"ui-state-focus ui-visual-focus")},blur:function(){this._removeClass(this.label,null,"ui-state-focus ui-visual-focus")}})},_readType:function(){var e=this.element[0].nodeName.toLowerCase();this.type=this.element[0].type,"input"===e&&/radio|checkbox/.test(this.type)||t.error("Can't create checkboxradio on element.nodeName="+e+" and element.type="+this.type)},_enhance:function(){this._updateIcon(this.element[0].checked)},widget:function(){return this.label},_getRadioGroup:function(){var e,i=this.element[0].name,s="input[name='"+t.ui.escapeSelector(i)+"']";return i?(e=this.form.length?t(this.form[0].elements).filter(s):t(s).filter(function(){return 0===t(this).form().length}),e.not(this.element)):t([])},_toggleClasses:function(){var e=this.element[0].checked;this._toggleClass(this.label,"ui-checkboxradio-checked","ui-state-active",e),this.options.icon&&"checkbox"===this.type&&this._toggleClass(this.icon,null,"ui-icon-check ui-state-checked",e)._toggleClass(this.icon,null,"ui-icon-blank",!e),"radio"===this.type&&this._getRadioGroup().each(function(){var e=t(this).checkboxradio("instance");e&&e._removeClass(e.label,"ui-checkboxradio-checked","ui-state-active")})},_destroy:function(){this._unbindFormResetHandler(),this.icon&&(this.icon.remove(),this.iconSpace.remove())},_setOption:function(t,e){return"label"!==t||e?(this._super(t,e),"disabled"===t?(this._toggleClass(this.label,null,"ui-state-disabled",e),this.element[0].disabled=e,void 0):(this.refresh(),void 0)):void 0},_updateIcon:function(e){var i="ui-icon ui-icon-background ";this.options.icon?(this.icon||(this.icon=t(""),this.iconSpace=t(" "),this._addClass(this.iconSpace,"ui-checkboxradio-icon-space")),"checkbox"===this.type?(i+=e?"ui-icon-check ui-state-checked":"ui-icon-blank",this._removeClass(this.icon,null,e?"ui-icon-blank":"ui-icon-check")):i+="ui-icon-blank",this._addClass(this.icon,"ui-checkboxradio-icon",i),e||this._removeClass(this.icon,null,"ui-icon-check ui-state-checked"),this.icon.prependTo(this.label).after(this.iconSpace)):void 0!==this.icon&&(this.icon.remove(),this.iconSpace.remove(),delete this.icon)},_updateLabel:function(){this.label.contents().not(this.element.add(this.icon).add(this.iconSpace)).remove(),this.label.append(this.options.label)},refresh:function(){var t=this.element[0].checked,e=this.element[0].disabled;this._updateIcon(t),this._toggleClass(this.label,"ui-checkboxradio-checked","ui-state-active",t),null!==this.options.label&&this._updateLabel(),e!==this.options.disabled&&this._setOptions({disabled:e})}}]),t.ui.checkboxradio,t.widget("ui.button",{version:"1.12.0",defaultElement:"").addClass(this._triggerClass).html(o?t("").attr({src:o,alt:n,title:n}):n)),e[r?"before":"after"](i.trigger),i.trigger.on("click",function(){return t.datepicker._datepickerShowing&&t.datepicker._lastInput===e[0]?t.datepicker._hideDatepicker():t.datepicker._datepickerShowing&&t.datepicker._lastInput!==e[0]?(t.datepicker._hideDatepicker(),t.datepicker._showDatepicker(e[0])):t.datepicker._showDatepicker(e[0]),!1}))},_autoSize:function(t){if(this._get(t,"autoSize")&&!t.inline){var e,i,s,n,o=new Date(2009,11,20),a=this._get(t,"dateFormat");a.match(/[DM]/)&&(e=function(t){for(i=0,s=0,n=0;t.length>n;n++)t[n].length>i&&(i=t[n].length,s=n);return s},o.setMonth(e(this._get(t,a.match(/MM/)?"monthNames":"monthNamesShort"))),o.setDate(e(this._get(t,a.match(/DD/)?"dayNames":"dayNamesShort"))+20-o.getDay())),t.input.attr("size",this._formatDate(t,o).length)}},_inlineDatepicker:function(e,i){var s=t(e);s.hasClass(this.markerClassName)||(s.addClass(this.markerClassName).append(i.dpDiv),t.data(e,"datepicker",i),this._setDate(i,this._getDefaultDate(i),!0),this._updateDatepicker(i),this._updateAlternate(i),i.settings.disabled&&this._disableDatepicker(e),i.dpDiv.css("display","block"))},_dialogDatepicker:function(e,i,s,n,o){var r,h,l,c,u,d=this._dialogInst;return d||(this.uuid+=1,r="dp"+this.uuid,this._dialogInput=t(""),this._dialogInput.on("keydown",this._doKeyDown),t("body").append(this._dialogInput),d=this._dialogInst=this._newInst(this._dialogInput,!1),d.settings={},t.data(this._dialogInput[0],"datepicker",d)),a(d.settings,n||{}),i=i&&i.constructor===Date?this._formatDate(d,i):i,this._dialogInput.val(i),this._pos=o?o.length?o:[o.pageX,o.pageY]:null,this._pos||(h=document.documentElement.clientWidth,l=document.documentElement.clientHeight,c=document.documentElement.scrollLeft||document.body.scrollLeft,u=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[h/2-100+c,l/2-150+u]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),d.settings.onSelect=s,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),t.blockUI&&t.blockUI(this.dpDiv),t.data(this._dialogInput[0],"datepicker",d),this},_destroyDatepicker:function(e){var i,s=t(e),n=t.data(e,"datepicker");s.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),t.removeData(e,"datepicker"),"input"===i?(n.append.remove(),n.trigger.remove(),s.removeClass(this.markerClassName).off("focus",this._showDatepicker).off("keydown",this._doKeyDown).off("keypress",this._doKeyPress).off("keyup",this._doKeyUp)):("div"===i||"span"===i)&&s.removeClass(this.markerClassName).empty(),m===n&&(m=null))},_enableDatepicker:function(e){var i,s,n=t(e),o=t.data(e,"datepicker");n.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),"input"===i?(e.disabled=!1,o.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().removeClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=t.map(this._disabledInputs,function(t){return t===e?null:t}))},_disableDatepicker:function(e){var i,s,n=t(e),o=t.data(e,"datepicker");n.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),"input"===i?(e.disabled=!0,o.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().addClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=t.map(this._disabledInputs,function(t){return t===e?null:t}),this._disabledInputs[this._disabledInputs.length]=e)},_isDisabledDatepicker:function(t){if(!t)return!1;for(var e=0;this._disabledInputs.length>e;e++)if(this._disabledInputs[e]===t)return!0;return!1},_getInst:function(e){try{return t.data(e,"datepicker")}catch(i){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(e,i,s){var n,o,r,h,l=this._getInst(e);return 2===arguments.length&&"string"==typeof i?"defaults"===i?t.extend({},t.datepicker._defaults):l?"all"===i?t.extend({},l.settings):this._get(l,i):null:(n=i||{},"string"==typeof i&&(n={},n[i]=s),l&&(this._curInst===l&&this._hideDatepicker(),o=this._getDateDatepicker(e,!0),r=this._getMinMaxDate(l,"min"),h=this._getMinMaxDate(l,"max"),a(l.settings,n),null!==r&&void 0!==n.dateFormat&&void 0===n.minDate&&(l.settings.minDate=this._formatDate(l,r)),null!==h&&void 0!==n.dateFormat&&void 0===n.maxDate&&(l.settings.maxDate=this._formatDate(l,h)),"disabled"in n&&(n.disabled?this._disableDatepicker(e):this._enableDatepicker(e)),this._attachments(t(e),l),this._autoSize(l),this._setDate(l,o),this._updateAlternate(l),this._updateDatepicker(l)),void 0)},_changeDatepicker:function(t,e,i){this._optionDatepicker(t,e,i)},_refreshDatepicker:function(t){var e=this._getInst(t);e&&this._updateDatepicker(e)},_setDateDatepicker:function(t,e){var i=this._getInst(t);i&&(this._setDate(i,e),this._updateDatepicker(i),this._updateAlternate(i))},_getDateDatepicker:function(t,e){var i=this._getInst(t);return i&&!i.inline&&this._setDateFromField(i,e),i?this._getDate(i):null},_doKeyDown:function(e){var i,s,n,o=t.datepicker._getInst(e.target),a=!0,r=o.dpDiv.is(".ui-datepicker-rtl");if(o._keyEvent=!0,t.datepicker._datepickerShowing)switch(e.keyCode){case 9:t.datepicker._hideDatepicker(),a=!1;break;case 13:return n=t("td."+t.datepicker._dayOverClass+":not(."+t.datepicker._currentClass+")",o.dpDiv),n[0]&&t.datepicker._selectDay(e.target,o.selectedMonth,o.selectedYear,n[0]),i=t.datepicker._get(o,"onSelect"),i?(s=t.datepicker._formatDate(o),i.apply(o.input?o.input[0]:null,[s,o])):t.datepicker._hideDatepicker(),!1;case 27:t.datepicker._hideDatepicker();break;case 33:t.datepicker._adjustDate(e.target,e.ctrlKey?-t.datepicker._get(o,"stepBigMonths"):-t.datepicker._get(o,"stepMonths"),"M");break;case 34:t.datepicker._adjustDate(e.target,e.ctrlKey?+t.datepicker._get(o,"stepBigMonths"):+t.datepicker._get(o,"stepMonths"),"M");break;case 35:(e.ctrlKey||e.metaKey)&&t.datepicker._clearDate(e.target),a=e.ctrlKey||e.metaKey;break;case 36:(e.ctrlKey||e.metaKey)&&t.datepicker._gotoToday(e.target),a=e.ctrlKey||e.metaKey;break;case 37:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,r?1:-1,"D"),a=e.ctrlKey||e.metaKey,e.originalEvent.altKey&&t.datepicker._adjustDate(e.target,e.ctrlKey?-t.datepicker._get(o,"stepBigMonths"):-t.datepicker._get(o,"stepMonths"),"M");break;case 38:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,-7,"D"),a=e.ctrlKey||e.metaKey;break;case 39:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,r?-1:1,"D"),a=e.ctrlKey||e.metaKey,e.originalEvent.altKey&&t.datepicker._adjustDate(e.target,e.ctrlKey?+t.datepicker._get(o,"stepBigMonths"):+t.datepicker._get(o,"stepMonths"),"M");break;case 40:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,7,"D"),a=e.ctrlKey||e.metaKey;break;default:a=!1}else 36===e.keyCode&&e.ctrlKey?t.datepicker._showDatepicker(this):a=!1;a&&(e.preventDefault(),e.stopPropagation())},_doKeyPress:function(e){var i,s,n=t.datepicker._getInst(e.target);return t.datepicker._get(n,"constrainInput")?(i=t.datepicker._possibleChars(t.datepicker._get(n,"dateFormat")),s=String.fromCharCode(null==e.charCode?e.keyCode:e.charCode),e.ctrlKey||e.metaKey||" ">s||!i||i.indexOf(s)>-1):void 0},_doKeyUp:function(e){var i,s=t.datepicker._getInst(e.target);if(s.input.val()!==s.lastVal)try{i=t.datepicker.parseDate(t.datepicker._get(s,"dateFormat"),s.input?s.input.val():null,t.datepicker._getFormatConfig(s)),i&&(t.datepicker._setDateFromField(s),t.datepicker._updateAlternate(s),t.datepicker._updateDatepicker(s))}catch(n){}return!0},_showDatepicker:function(e){if(e=e.target||e,"input"!==e.nodeName.toLowerCase()&&(e=t("input",e.parentNode)[0]),!t.datepicker._isDisabledDatepicker(e)&&t.datepicker._lastInput!==e){var s,n,o,r,h,l,c;s=t.datepicker._getInst(e),t.datepicker._curInst&&t.datepicker._curInst!==s&&(t.datepicker._curInst.dpDiv.stop(!0,!0),s&&t.datepicker._datepickerShowing&&t.datepicker._hideDatepicker(t.datepicker._curInst.input[0])),n=t.datepicker._get(s,"beforeShow"),o=n?n.apply(e,[e,s]):{},o!==!1&&(a(s.settings,o),s.lastVal=null,t.datepicker._lastInput=e,t.datepicker._setDateFromField(s),t.datepicker._inDialog&&(e.value=""),t.datepicker._pos||(t.datepicker._pos=t.datepicker._findPos(e),t.datepicker._pos[1]+=e.offsetHeight),r=!1,t(e).parents().each(function(){return r|="fixed"===t(this).css("position"),!r}),h={left:t.datepicker._pos[0],top:t.datepicker._pos[1]},t.datepicker._pos=null,s.dpDiv.empty(),s.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),t.datepicker._updateDatepicker(s),h=t.datepicker._checkOffset(s,h,r),s.dpDiv.css({position:t.datepicker._inDialog&&t.blockUI?"static":r?"fixed":"absolute",display:"none",left:h.left+"px",top:h.top+"px"}),s.inline||(l=t.datepicker._get(s,"showAnim"),c=t.datepicker._get(s,"duration"),s.dpDiv.css("z-index",i(t(e))+1),t.datepicker._datepickerShowing=!0,t.effects&&t.effects.effect[l]?s.dpDiv.show(l,t.datepicker._get(s,"showOptions"),c):s.dpDiv[l||"show"](l?c:null),t.datepicker._shouldFocusInput(s)&&s.input.trigger("focus"),t.datepicker._curInst=s)) +}},_updateDatepicker:function(e){this.maxRows=4,m=e,e.dpDiv.empty().append(this._generateHTML(e)),this._attachHandlers(e);var i,s=this._getNumberOfMonths(e),n=s[1],a=17,r=e.dpDiv.find("."+this._dayOverClass+" a");r.length>0&&o.apply(r.get(0)),e.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),n>1&&e.dpDiv.addClass("ui-datepicker-multi-"+n).css("width",a*n+"em"),e.dpDiv[(1!==s[0]||1!==s[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),e.dpDiv[(this._get(e,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),e===t.datepicker._curInst&&t.datepicker._datepickerShowing&&t.datepicker._shouldFocusInput(e)&&e.input.trigger("focus"),e.yearshtml&&(i=e.yearshtml,setTimeout(function(){i===e.yearshtml&&e.yearshtml&&e.dpDiv.find("select.ui-datepicker-year:first").replaceWith(e.yearshtml),i=e.yearshtml=null},0))},_shouldFocusInput:function(t){return t.input&&t.input.is(":visible")&&!t.input.is(":disabled")&&!t.input.is(":focus")},_checkOffset:function(e,i,s){var n=e.dpDiv.outerWidth(),o=e.dpDiv.outerHeight(),a=e.input?e.input.outerWidth():0,r=e.input?e.input.outerHeight():0,h=document.documentElement.clientWidth+(s?0:t(document).scrollLeft()),l=document.documentElement.clientHeight+(s?0:t(document).scrollTop());return i.left-=this._get(e,"isRTL")?n-a:0,i.left-=s&&i.left===e.input.offset().left?t(document).scrollLeft():0,i.top-=s&&i.top===e.input.offset().top+r?t(document).scrollTop():0,i.left-=Math.min(i.left,i.left+n>h&&h>n?Math.abs(i.left+n-h):0),i.top-=Math.min(i.top,i.top+o>l&&l>o?Math.abs(o+r):0),i},_findPos:function(e){for(var i,s=this._getInst(e),n=this._get(s,"isRTL");e&&("hidden"===e.type||1!==e.nodeType||t.expr.filters.hidden(e));)e=e[n?"previousSibling":"nextSibling"];return i=t(e).offset(),[i.left,i.top]},_hideDatepicker:function(e){var i,s,n,o,a=this._curInst;!a||e&&a!==t.data(e,"datepicker")||this._datepickerShowing&&(i=this._get(a,"showAnim"),s=this._get(a,"duration"),n=function(){t.datepicker._tidyDialog(a)},t.effects&&(t.effects.effect[i]||t.effects[i])?a.dpDiv.hide(i,t.datepicker._get(a,"showOptions"),s,n):a.dpDiv["slideDown"===i?"slideUp":"fadeIn"===i?"fadeOut":"hide"](i?s:null,n),i||n(),this._datepickerShowing=!1,o=this._get(a,"onClose"),o&&o.apply(a.input?a.input[0]:null,[a.input?a.input.val():"",a]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),t.blockUI&&(t.unblockUI(),t("body").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(t){t.dpDiv.removeClass(this._dialogClass).off(".ui-datepicker-calendar")},_checkExternalClick:function(e){if(t.datepicker._curInst){var i=t(e.target),s=t.datepicker._getInst(i[0]);(i[0].id!==t.datepicker._mainDivId&&0===i.parents("#"+t.datepicker._mainDivId).length&&!i.hasClass(t.datepicker.markerClassName)&&!i.closest("."+t.datepicker._triggerClass).length&&t.datepicker._datepickerShowing&&(!t.datepicker._inDialog||!t.blockUI)||i.hasClass(t.datepicker.markerClassName)&&t.datepicker._curInst!==s)&&t.datepicker._hideDatepicker()}},_adjustDate:function(e,i,s){var n=t(e),o=this._getInst(n[0]);this._isDisabledDatepicker(n[0])||(this._adjustInstDate(o,i+("M"===s?this._get(o,"showCurrentAtPos"):0),s),this._updateDatepicker(o))},_gotoToday:function(e){var i,s=t(e),n=this._getInst(s[0]);this._get(n,"gotoCurrent")&&n.currentDay?(n.selectedDay=n.currentDay,n.drawMonth=n.selectedMonth=n.currentMonth,n.drawYear=n.selectedYear=n.currentYear):(i=new Date,n.selectedDay=i.getDate(),n.drawMonth=n.selectedMonth=i.getMonth(),n.drawYear=n.selectedYear=i.getFullYear()),this._notifyChange(n),this._adjustDate(s)},_selectMonthYear:function(e,i,s){var n=t(e),o=this._getInst(n[0]);o["selected"+("M"===s?"Month":"Year")]=o["draw"+("M"===s?"Month":"Year")]=parseInt(i.options[i.selectedIndex].value,10),this._notifyChange(o),this._adjustDate(n)},_selectDay:function(e,i,s,n){var o,a=t(e);t(n).hasClass(this._unselectableClass)||this._isDisabledDatepicker(a[0])||(o=this._getInst(a[0]),o.selectedDay=o.currentDay=t("a",n).html(),o.selectedMonth=o.currentMonth=i,o.selectedYear=o.currentYear=s,this._selectDate(e,this._formatDate(o,o.currentDay,o.currentMonth,o.currentYear)))},_clearDate:function(e){var i=t(e);this._selectDate(i,"")},_selectDate:function(e,i){var s,n=t(e),o=this._getInst(n[0]);i=null!=i?i:this._formatDate(o),o.input&&o.input.val(i),this._updateAlternate(o),s=this._get(o,"onSelect"),s?s.apply(o.input?o.input[0]:null,[i,o]):o.input&&o.input.trigger("change"),o.inline?this._updateDatepicker(o):(this._hideDatepicker(),this._lastInput=o.input[0],"object"!=typeof o.input[0]&&o.input.trigger("focus"),this._lastInput=null)},_updateAlternate:function(e){var i,s,n,o=this._get(e,"altField");o&&(i=this._get(e,"altFormat")||this._get(e,"dateFormat"),s=this._getDate(e),n=this.formatDate(i,s,this._getFormatConfig(e)),t(o).val(n))},noWeekends:function(t){var e=t.getDay();return[e>0&&6>e,""]},iso8601Week:function(t){var e,i=new Date(t.getTime());return i.setDate(i.getDate()+4-(i.getDay()||7)),e=i.getTime(),i.setMonth(0),i.setDate(1),Math.floor(Math.round((e-i)/864e5)/7)+1},parseDate:function(e,i,s){if(null==e||null==i)throw"Invalid arguments";if(i="object"==typeof i?""+i:i+"",""===i)return null;var n,o,a,r,h=0,l=(s?s.shortYearCutoff:null)||this._defaults.shortYearCutoff,c="string"!=typeof l?l:(new Date).getFullYear()%100+parseInt(l,10),u=(s?s.dayNamesShort:null)||this._defaults.dayNamesShort,d=(s?s.dayNames:null)||this._defaults.dayNames,p=(s?s.monthNamesShort:null)||this._defaults.monthNamesShort,f=(s?s.monthNames:null)||this._defaults.monthNames,g=-1,m=-1,_=-1,v=-1,b=!1,y=function(t){var i=e.length>n+1&&e.charAt(n+1)===t;return i&&n++,i},w=function(t){var e=y(t),s="@"===t?14:"!"===t?20:"y"===t&&e?4:"o"===t?3:2,n="y"===t?s:1,o=RegExp("^\\d{"+n+","+s+"}"),a=i.substring(h).match(o);if(!a)throw"Missing number at position "+h;return h+=a[0].length,parseInt(a[0],10)},k=function(e,s,n){var o=-1,a=t.map(y(e)?n:s,function(t,e){return[[e,t]]}).sort(function(t,e){return-(t[1].length-e[1].length)});if(t.each(a,function(t,e){var s=e[1];return i.substr(h,s.length).toLowerCase()===s.toLowerCase()?(o=e[0],h+=s.length,!1):void 0}),-1!==o)return o+1;throw"Unknown name at position "+h},x=function(){if(i.charAt(h)!==e.charAt(n))throw"Unexpected literal at position "+h;h++};for(n=0;e.length>n;n++)if(b)"'"!==e.charAt(n)||y("'")?x():b=!1;else switch(e.charAt(n)){case"d":_=w("d");break;case"D":k("D",u,d);break;case"o":v=w("o");break;case"m":m=w("m");break;case"M":m=k("M",p,f);break;case"y":g=w("y");break;case"@":r=new Date(w("@")),g=r.getFullYear(),m=r.getMonth()+1,_=r.getDate();break;case"!":r=new Date((w("!")-this._ticksTo1970)/1e4),g=r.getFullYear(),m=r.getMonth()+1,_=r.getDate();break;case"'":y("'")?x():b=!0;break;default:x()}if(i.length>h&&(a=i.substr(h),!/^\s+/.test(a)))throw"Extra/unparsed characters found in date: "+a;if(-1===g?g=(new Date).getFullYear():100>g&&(g+=(new Date).getFullYear()-(new Date).getFullYear()%100+(c>=g?0:-100)),v>-1)for(m=1,_=v;;){if(o=this._getDaysInMonth(g,m-1),o>=_)break;m++,_-=o}if(r=this._daylightSavingAdjust(new Date(g,m-1,_)),r.getFullYear()!==g||r.getMonth()+1!==m||r.getDate()!==_)throw"Invalid date";return r},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:1e7*60*60*24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925)),formatDate:function(t,e,i){if(!e)return"";var s,n=(i?i.dayNamesShort:null)||this._defaults.dayNamesShort,o=(i?i.dayNames:null)||this._defaults.dayNames,a=(i?i.monthNamesShort:null)||this._defaults.monthNamesShort,r=(i?i.monthNames:null)||this._defaults.monthNames,h=function(e){var i=t.length>s+1&&t.charAt(s+1)===e;return i&&s++,i},l=function(t,e,i){var s=""+e;if(h(t))for(;i>s.length;)s="0"+s;return s},c=function(t,e,i,s){return h(t)?s[e]:i[e]},u="",d=!1;if(e)for(s=0;t.length>s;s++)if(d)"'"!==t.charAt(s)||h("'")?u+=t.charAt(s):d=!1;else switch(t.charAt(s)){case"d":u+=l("d",e.getDate(),2);break;case"D":u+=c("D",e.getDay(),n,o);break;case"o":u+=l("o",Math.round((new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime()-new Date(e.getFullYear(),0,0).getTime())/864e5),3);break;case"m":u+=l("m",e.getMonth()+1,2);break;case"M":u+=c("M",e.getMonth(),a,r);break;case"y":u+=h("y")?e.getFullYear():(10>e.getFullYear()%100?"0":"")+e.getFullYear()%100;break;case"@":u+=e.getTime();break;case"!":u+=1e4*e.getTime()+this._ticksTo1970;break;case"'":h("'")?u+="'":d=!0;break;default:u+=t.charAt(s)}return u},_possibleChars:function(t){var e,i="",s=!1,n=function(i){var s=t.length>e+1&&t.charAt(e+1)===i;return s&&e++,s};for(e=0;t.length>e;e++)if(s)"'"!==t.charAt(e)||n("'")?i+=t.charAt(e):s=!1;else switch(t.charAt(e)){case"d":case"m":case"y":case"@":i+="0123456789";break;case"D":case"M":return null;case"'":n("'")?i+="'":s=!0;break;default:i+=t.charAt(e)}return i},_get:function(t,e){return void 0!==t.settings[e]?t.settings[e]:this._defaults[e]},_setDateFromField:function(t,e){if(t.input.val()!==t.lastVal){var i=this._get(t,"dateFormat"),s=t.lastVal=t.input?t.input.val():null,n=this._getDefaultDate(t),o=n,a=this._getFormatConfig(t);try{o=this.parseDate(i,s,a)||n}catch(r){s=e?"":s}t.selectedDay=o.getDate(),t.drawMonth=t.selectedMonth=o.getMonth(),t.drawYear=t.selectedYear=o.getFullYear(),t.currentDay=s?o.getDate():0,t.currentMonth=s?o.getMonth():0,t.currentYear=s?o.getFullYear():0,this._adjustInstDate(t)}},_getDefaultDate:function(t){return this._restrictMinMax(t,this._determineDate(t,this._get(t,"defaultDate"),new Date))},_determineDate:function(e,i,s){var n=function(t){var e=new Date;return e.setDate(e.getDate()+t),e},o=function(i){try{return t.datepicker.parseDate(t.datepicker._get(e,"dateFormat"),i,t.datepicker._getFormatConfig(e))}catch(s){}for(var n=(i.toLowerCase().match(/^c/)?t.datepicker._getDate(e):null)||new Date,o=n.getFullYear(),a=n.getMonth(),r=n.getDate(),h=/([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,l=h.exec(i);l;){switch(l[2]||"d"){case"d":case"D":r+=parseInt(l[1],10);break;case"w":case"W":r+=7*parseInt(l[1],10);break;case"m":case"M":a+=parseInt(l[1],10),r=Math.min(r,t.datepicker._getDaysInMonth(o,a));break;case"y":case"Y":o+=parseInt(l[1],10),r=Math.min(r,t.datepicker._getDaysInMonth(o,a))}l=h.exec(i)}return new Date(o,a,r)},a=null==i||""===i?s:"string"==typeof i?o(i):"number"==typeof i?isNaN(i)?s:n(i):new Date(i.getTime());return a=a&&"Invalid Date"==""+a?s:a,a&&(a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0)),this._daylightSavingAdjust(a)},_daylightSavingAdjust:function(t){return t?(t.setHours(t.getHours()>12?t.getHours()+2:0),t):null},_setDate:function(t,e,i){var s=!e,n=t.selectedMonth,o=t.selectedYear,a=this._restrictMinMax(t,this._determineDate(t,e,new Date));t.selectedDay=t.currentDay=a.getDate(),t.drawMonth=t.selectedMonth=t.currentMonth=a.getMonth(),t.drawYear=t.selectedYear=t.currentYear=a.getFullYear(),n===t.selectedMonth&&o===t.selectedYear||i||this._notifyChange(t),this._adjustInstDate(t),t.input&&t.input.val(s?"":this._formatDate(t))},_getDate:function(t){var e=!t.currentYear||t.input&&""===t.input.val()?null:this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay));return e},_attachHandlers:function(e){var i=this._get(e,"stepMonths"),s="#"+e.id.replace(/\\\\/g,"\\");e.dpDiv.find("[data-handler]").map(function(){var e={prev:function(){t.datepicker._adjustDate(s,-i,"M")},next:function(){t.datepicker._adjustDate(s,+i,"M")},hide:function(){t.datepicker._hideDatepicker()},today:function(){t.datepicker._gotoToday(s)},selectDay:function(){return t.datepicker._selectDay(s,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return t.datepicker._selectMonthYear(s,this,"M"),!1},selectYear:function(){return t.datepicker._selectMonthYear(s,this,"Y"),!1}};t(this).on(this.getAttribute("data-event"),e[this.getAttribute("data-handler")])})},_generateHTML:function(t){var e,i,s,n,o,a,r,h,l,c,u,d,p,f,g,m,_,v,b,y,w,k,x,C,D,I,T,P,M,S,H,z,O,A,N,W,E,F,R,L=new Date,B=this._daylightSavingAdjust(new Date(L.getFullYear(),L.getMonth(),L.getDate())),Y=this._get(t,"isRTL"),j=this._get(t,"showButtonPanel"),q=this._get(t,"hideIfNoPrevNext"),K=this._get(t,"navigationAsDateFormat"),U=this._getNumberOfMonths(t),V=this._get(t,"showCurrentAtPos"),X=this._get(t,"stepMonths"),$=1!==U[0]||1!==U[1],G=this._daylightSavingAdjust(t.currentDay?new Date(t.currentYear,t.currentMonth,t.currentDay):new Date(9999,9,9)),Q=this._getMinMaxDate(t,"min"),J=this._getMinMaxDate(t,"max"),Z=t.drawMonth-V,te=t.drawYear;if(0>Z&&(Z+=12,te--),J)for(e=this._daylightSavingAdjust(new Date(J.getFullYear(),J.getMonth()-U[0]*U[1]+1,J.getDate())),e=Q&&Q>e?Q:e;this._daylightSavingAdjust(new Date(te,Z,1))>e;)Z--,0>Z&&(Z=11,te--);for(t.drawMonth=Z,t.drawYear=te,i=this._get(t,"prevText"),i=K?this.formatDate(i,this._daylightSavingAdjust(new Date(te,Z-X,1)),this._getFormatConfig(t)):i,s=this._canAdjustMonth(t,-1,te,Z)?""+i+"":q?"":""+i+"",n=this._get(t,"nextText"),n=K?this.formatDate(n,this._daylightSavingAdjust(new Date(te,Z+X,1)),this._getFormatConfig(t)):n,o=this._canAdjustMonth(t,1,te,Z)?""+n+"":q?"":""+n+"",a=this._get(t,"currentText"),r=this._get(t,"gotoCurrent")&&t.currentDay?G:B,a=K?this.formatDate(a,r,this._getFormatConfig(t)):a,h=t.inline?"":"",l=j?"
                "+(Y?h:"")+(this._isInRange(t,r)?"":"")+(Y?"":h)+"
                ":"",c=parseInt(this._get(t,"firstDay"),10),c=isNaN(c)?0:c,u=this._get(t,"showWeek"),d=this._get(t,"dayNames"),p=this._get(t,"dayNamesMin"),f=this._get(t,"monthNames"),g=this._get(t,"monthNamesShort"),m=this._get(t,"beforeShowDay"),_=this._get(t,"showOtherMonths"),v=this._get(t,"selectOtherMonths"),b=this._getDefaultDate(t),y="",k=0;U[0]>k;k++){for(x="",this.maxRows=4,C=0;U[1]>C;C++){if(D=this._daylightSavingAdjust(new Date(te,Z,t.selectedDay)),I=" ui-corner-all",T="",$){if(T+="
                "}for(T+="
                "+(/all|left/.test(I)&&0===k?Y?o:s:"")+(/all|right/.test(I)&&0===k?Y?s:o:"")+this._generateMonthYearHeader(t,Z,te,Q,J,k>0||C>0,f,g)+"
                "+"",P=u?"":"",w=0;7>w;w++)M=(w+c)%7,P+="";for(T+=P+"",S=this._getDaysInMonth(te,Z),te===t.selectedYear&&Z===t.selectedMonth&&(t.selectedDay=Math.min(t.selectedDay,S)),H=(this._getFirstDayOfMonth(te,Z)-c+7)%7,z=Math.ceil((H+S)/7),O=$?this.maxRows>z?this.maxRows:z:z,this.maxRows=O,A=this._daylightSavingAdjust(new Date(te,Z,1-H)),N=0;O>N;N++){for(T+="",W=u?"":"",w=0;7>w;w++)E=m?m.apply(t.input?t.input[0]:null,[A]):[!0,""],F=A.getMonth()!==Z,R=F&&!v||!E[0]||Q&&Q>A||J&&A>J,W+="",A.setDate(A.getDate()+1),A=this._daylightSavingAdjust(A);T+=W+""}Z++,Z>11&&(Z=0,te++),T+="
                "+this._get(t,"weekHeader")+"=5?" class='ui-datepicker-week-end'":"")+">"+""+p[M]+"
                "+this._get(t,"calculateWeek")(A)+""+(F&&!_?" ":R?""+A.getDate()+"":""+A.getDate()+"")+"
                "+($?"
                "+(U[0]>0&&C===U[1]-1?"
                ":""):""),x+=T}y+=x}return y+=l,t._keyEvent=!1,y},_generateMonthYearHeader:function(t,e,i,s,n,o,a,r){var h,l,c,u,d,p,f,g,m=this._get(t,"changeMonth"),_=this._get(t,"changeYear"),v=this._get(t,"showMonthAfterYear"),b="
                ",y="";if(o||!m)y+=""+a[e]+"";else{for(h=s&&s.getFullYear()===i,l=n&&n.getFullYear()===i,y+=""}if(v||(b+=y+(!o&&m&&_?"":" ")),!t.yearshtml)if(t.yearshtml="",o||!_)b+=""+i+"";else{for(u=this._get(t,"yearRange").split(":"),d=(new Date).getFullYear(),p=function(t){var e=t.match(/c[+\-].*/)?i+parseInt(t.substring(1),10):t.match(/[+\-].*/)?d+parseInt(t,10):parseInt(t,10);return isNaN(e)?d:e},f=p(u[0]),g=Math.max(f,p(u[1]||"")),f=s?Math.max(f,s.getFullYear()):f,g=n?Math.min(g,n.getFullYear()):g,t.yearshtml+="",b+=t.yearshtml,t.yearshtml=null}return b+=this._get(t,"yearSuffix"),v&&(b+=(!o&&m&&_?"":" ")+y),b+="
                "},_adjustInstDate:function(t,e,i){var s=t.selectedYear+("Y"===i?e:0),n=t.selectedMonth+("M"===i?e:0),o=Math.min(t.selectedDay,this._getDaysInMonth(s,n))+("D"===i?e:0),a=this._restrictMinMax(t,this._daylightSavingAdjust(new Date(s,n,o)));t.selectedDay=a.getDate(),t.drawMonth=t.selectedMonth=a.getMonth(),t.drawYear=t.selectedYear=a.getFullYear(),("M"===i||"Y"===i)&&this._notifyChange(t)},_restrictMinMax:function(t,e){var i=this._getMinMaxDate(t,"min"),s=this._getMinMaxDate(t,"max"),n=i&&i>e?i:e;return s&&n>s?s:n},_notifyChange:function(t){var e=this._get(t,"onChangeMonthYear");e&&e.apply(t.input?t.input[0]:null,[t.selectedYear,t.selectedMonth+1,t])},_getNumberOfMonths:function(t){var e=this._get(t,"numberOfMonths");return null==e?[1,1]:"number"==typeof e?[1,e]:e},_getMinMaxDate:function(t,e){return this._determineDate(t,this._get(t,e+"Date"),null)},_getDaysInMonth:function(t,e){return 32-this._daylightSavingAdjust(new Date(t,e,32)).getDate()},_getFirstDayOfMonth:function(t,e){return new Date(t,e,1).getDay()},_canAdjustMonth:function(t,e,i,s){var n=this._getNumberOfMonths(t),o=this._daylightSavingAdjust(new Date(i,s+(0>e?e:n[0]*n[1]),1));return 0>e&&o.setDate(this._getDaysInMonth(o.getFullYear(),o.getMonth())),this._isInRange(t,o)},_isInRange:function(t,e){var i,s,n=this._getMinMaxDate(t,"min"),o=this._getMinMaxDate(t,"max"),a=null,r=null,h=this._get(t,"yearRange");return h&&(i=h.split(":"),s=(new Date).getFullYear(),a=parseInt(i[0],10),r=parseInt(i[1],10),i[0].match(/[+\-].*/)&&(a+=s),i[1].match(/[+\-].*/)&&(r+=s)),(!n||e.getTime()>=n.getTime())&&(!o||e.getTime()<=o.getTime())&&(!a||e.getFullYear()>=a)&&(!r||r>=e.getFullYear())},_getFormatConfig:function(t){var e=this._get(t,"shortYearCutoff");return e="string"!=typeof e?e:(new Date).getFullYear()%100+parseInt(e,10),{shortYearCutoff:e,dayNamesShort:this._get(t,"dayNamesShort"),dayNames:this._get(t,"dayNames"),monthNamesShort:this._get(t,"monthNamesShort"),monthNames:this._get(t,"monthNames")}},_formatDate:function(t,e,i,s){e||(t.currentDay=t.selectedDay,t.currentMonth=t.selectedMonth,t.currentYear=t.selectedYear);var n=e?"object"==typeof e?e:this._daylightSavingAdjust(new Date(s,i,e)):this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay));return this.formatDate(this._get(t,"dateFormat"),n,this._getFormatConfig(t))}}),t.fn.datepicker=function(e){if(!this.length)return this;t.datepicker.initialized||(t(document).on("mousedown",t.datepicker._checkExternalClick),t.datepicker.initialized=!0),0===t("#"+t.datepicker._mainDivId).length&&t("body").append(t.datepicker.dpDiv);var i=Array.prototype.slice.call(arguments,1);return"string"!=typeof e||"isDisabled"!==e&&"getDate"!==e&&"widget"!==e?"option"===e&&2===arguments.length&&"string"==typeof arguments[1]?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i)):this.each(function(){"string"==typeof e?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this].concat(i)):t.datepicker._attachDatepicker(this,e)}):t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i))},t.datepicker=new s,t.datepicker.initialized=!1,t.datepicker.uuid=(new Date).getTime(),t.datepicker.version="1.12.0",t.datepicker,t.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var _=!1;t(document).on("mouseup",function(){_=!1}),t.widget("ui.mouse",{version:"1.12.0",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).on("click."+this.widgetName,function(i){return!0===t.data(i.target,e.widgetName+".preventClickEvent")?(t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){if(!_){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),this._mouseDownEvent=e;var i=this,s=1===e.which,n="string"==typeof this.options.cancel&&e.target.nodeName?t(e.target).closest(this.options.cancel).length:!1;return s&&!n&&this._mouseCapture(e)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(e)!==!1,!this._mouseStarted)?(e.preventDefault(),!0):(!0===t.data(e.target,this.widgetName+".preventClickEvent")&&t.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return i._mouseMove(t)},this._mouseUpDelegate=function(t){return i._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),_=!0,!0)):!0}},_mouseMove:function(e){if(this._mouseMoved){if(t.ui.ie&&(!document.documentMode||9>document.documentMode)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,e)!==!1,this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,_=!1,e.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),t.ui.plugin={add:function(e,i,s){var n,o=t.ui[e].prototype;for(n in s)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([i,s[n]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;o.length>n;n++)t.options[o[n][0]]&&o[n][1].apply(t.element,i)}},t.ui.safeBlur=function(e){e&&"body"!==e.nodeName.toLowerCase()&&t(e).trigger("blur")},t.widget("ui.draggable",t.ui.mouse,{version:"1.12.0",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"===this.options.helper&&this._setPositionRelative(),this.options.addClasses&&this._addClass("ui-draggable"),this._setHandleClassName(),this._mouseInit()},_setOption:function(t,e){this._super(t,e),"handle"===t&&(this._removeHandleClassName(),this._setHandleClassName())},_destroy:function(){return(this.helper||this.element).is(".ui-draggable-dragging")?(this.destroyOnClear=!0,void 0):(this._removeHandleClassName(),this._mouseDestroy(),void 0)},_mouseCapture:function(e){var i=this.options;return this._blurActiveElement(e),this.helper||i.disabled||t(e.target).closest(".ui-resizable-handle").length>0?!1:(this.handle=this._getHandle(e),this.handle?(this._blockFrames(i.iframeFix===!0?"iframe":i.iframeFix),!0):!1)},_blockFrames:function(e){this.iframeBlocks=this.document.find(e).map(function(){var e=t(this);return t("
                ").css("position","absolute").appendTo(e.parent()).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()).offset(e.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_blurActiveElement:function(e){var i=t.ui.safeActiveElement(this.document[0]),s=t(e.target);this._getHandle(e)&&s.closest(i).length||t.ui.safeBlur(i)},_mouseStart:function(e){var i=this.options;return this.helper=this._createHelper(e),this._addClass(this.helper,"ui-draggable-dragging"),this._cacheHelperProportions(),t.ui.ddmanager&&(t.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(!0),this.offsetParent=this.helper.offsetParent(),this.hasFixedAncestor=this.helper.parents().filter(function(){return"fixed"===t(this).css("position")}).length>0,this.positionAbs=this.element.offset(),this._refreshOffsets(e),this.originalPosition=this.position=this._generatePosition(e,!1),this.originalPageX=e.pageX,this.originalPageY=e.pageY,i.cursorAt&&this._adjustOffsetFromHelper(i.cursorAt),this._setContainment(),this._trigger("start",e)===!1?(this._clear(),!1):(this._cacheHelperProportions(),t.ui.ddmanager&&!i.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this._mouseDrag(e,!0),t.ui.ddmanager&&t.ui.ddmanager.dragStart(this,e),!0)},_refreshOffsets:function(t){this.offset={top:this.positionAbs.top-this.margins.top,left:this.positionAbs.left-this.margins.left,scroll:!1,parent:this._getParentOffset(),relative:this._getRelativeOffset()},this.offset.click={left:t.pageX-this.offset.left,top:t.pageY-this.offset.top}},_mouseDrag:function(e,i){if(this.hasFixedAncestor&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(e,!0),this.positionAbs=this._convertPositionTo("absolute"),!i){var s=this._uiHash();if(this._trigger("drag",e,s)===!1)return this._mouseUp(new t.Event("mouseup",e)),!1;this.position=s.position}return this.helper[0].style.left=this.position.left+"px",this.helper[0].style.top=this.position.top+"px",t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),!1},_mouseStop:function(e){var i=this,s=!1;return t.ui.ddmanager&&!this.options.dropBehaviour&&(s=t.ui.ddmanager.drop(this,e)),this.dropped&&(s=this.dropped,this.dropped=!1),"invalid"===this.options.revert&&!s||"valid"===this.options.revert&&s||this.options.revert===!0||t.isFunction(this.options.revert)&&this.options.revert.call(this.element,s)?t(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){i._trigger("stop",e)!==!1&&i._clear()}):this._trigger("stop",e)!==!1&&this._clear(),!1},_mouseUp:function(e){return this._unblockFrames(),t.ui.ddmanager&&t.ui.ddmanager.dragStop(this,e),this.handleElement.is(e.target)&&this.element.trigger("focus"),t.ui.mouse.prototype._mouseUp.call(this,e)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp(new t.Event("mouseup",{target:this.element[0]})):this._clear(),this},_getHandle:function(e){return this.options.handle?!!t(e.target).closest(this.element.find(this.options.handle)).length:!0},_setHandleClassName:function(){this.handleElement=this.options.handle?this.element.find(this.options.handle):this.element,this._addClass(this.handleElement,"ui-draggable-handle")},_removeHandleClassName:function(){this._removeClass(this.handleElement,"ui-draggable-handle")},_createHelper:function(e){var i=this.options,s=t.isFunction(i.helper),n=s?t(i.helper.apply(this.element[0],[e])):"clone"===i.helper?this.element.clone().removeAttr("id"):this.element;return n.parents("body").length||n.appendTo("parent"===i.appendTo?this.element[0].parentNode:i.appendTo),s&&n[0]===this.element[0]&&this._setPositionRelative(),n[0]===this.element[0]||/(fixed|absolute)/.test(n.css("position"))||n.css("position","absolute"),n},_setPositionRelative:function(){/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative")},_adjustOffsetFromHelper:function(e){"string"==typeof e&&(e=e.split(" ")),t.isArray(e)&&(e={left:+e[0],top:+e[1]||0}),"left"in e&&(this.offset.click.left=e.left+this.margins.left),"right"in e&&(this.offset.click.left=this.helperProportions.width-e.right+this.margins.left),"top"in e&&(this.offset.click.top=e.top+this.margins.top),"bottom"in e&&(this.offset.click.top=this.helperProportions.height-e.bottom+this.margins.top)},_isRootNode:function(t){return/(html|body)/i.test(t.tagName)||t===this.document[0]},_getParentOffset:function(){var e=this.offsetParent.offset(),i=this.document[0];return"absolute"===this.cssPosition&&this.scrollParent[0]!==i&&t.contains(this.scrollParent[0],this.offsetParent[0])&&(e.left+=this.scrollParent.scrollLeft(),e.top+=this.scrollParent.scrollTop()),this._isRootNode(this.offsetParent[0])&&(e={top:0,left:0}),{top:e.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:e.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"!==this.cssPosition)return{top:0,left:0};var t=this.element.position(),e=this._isRootNode(this.scrollParent[0]);return{top:t.top-(parseInt(this.helper.css("top"),10)||0)+(e?0:this.scrollParent.scrollTop()),left:t.left-(parseInt(this.helper.css("left"),10)||0)+(e?0:this.scrollParent.scrollLeft())} +},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e,i,s,n=this.options,o=this.document[0];return this.relativeContainer=null,n.containment?"window"===n.containment?(this.containment=[t(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,t(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,t(window).scrollLeft()+t(window).width()-this.helperProportions.width-this.margins.left,t(window).scrollTop()+(t(window).height()||o.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],void 0):"document"===n.containment?(this.containment=[0,0,t(o).width()-this.helperProportions.width-this.margins.left,(t(o).height()||o.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],void 0):n.containment.constructor===Array?(this.containment=n.containment,void 0):("parent"===n.containment&&(n.containment=this.helper[0].parentNode),i=t(n.containment),s=i[0],s&&(e=/(scroll|auto)/.test(i.css("overflow")),this.containment=[(parseInt(i.css("borderLeftWidth"),10)||0)+(parseInt(i.css("paddingLeft"),10)||0),(parseInt(i.css("borderTopWidth"),10)||0)+(parseInt(i.css("paddingTop"),10)||0),(e?Math.max(s.scrollWidth,s.offsetWidth):s.offsetWidth)-(parseInt(i.css("borderRightWidth"),10)||0)-(parseInt(i.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(e?Math.max(s.scrollHeight,s.offsetHeight):s.offsetHeight)-(parseInt(i.css("borderBottomWidth"),10)||0)-(parseInt(i.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relativeContainer=i),void 0):(this.containment=null,void 0)},_convertPositionTo:function(t,e){e||(e=this.position);var i="absolute"===t?1:-1,s=this._isRootNode(this.scrollParent[0]);return{top:e.top+this.offset.relative.top*i+this.offset.parent.top*i-("fixed"===this.cssPosition?-this.offset.scroll.top:s?0:this.offset.scroll.top)*i,left:e.left+this.offset.relative.left*i+this.offset.parent.left*i-("fixed"===this.cssPosition?-this.offset.scroll.left:s?0:this.offset.scroll.left)*i}},_generatePosition:function(t,e){var i,s,n,o,a=this.options,r=this._isRootNode(this.scrollParent[0]),h=t.pageX,l=t.pageY;return r&&this.offset.scroll||(this.offset.scroll={top:this.scrollParent.scrollTop(),left:this.scrollParent.scrollLeft()}),e&&(this.containment&&(this.relativeContainer?(s=this.relativeContainer.offset(),i=[this.containment[0]+s.left,this.containment[1]+s.top,this.containment[2]+s.left,this.containment[3]+s.top]):i=this.containment,t.pageX-this.offset.click.lefti[2]&&(h=i[2]+this.offset.click.left),t.pageY-this.offset.click.top>i[3]&&(l=i[3]+this.offset.click.top)),a.grid&&(n=a.grid[1]?this.originalPageY+Math.round((l-this.originalPageY)/a.grid[1])*a.grid[1]:this.originalPageY,l=i?n-this.offset.click.top>=i[1]||n-this.offset.click.top>i[3]?n:n-this.offset.click.top>=i[1]?n-a.grid[1]:n+a.grid[1]:n,o=a.grid[0]?this.originalPageX+Math.round((h-this.originalPageX)/a.grid[0])*a.grid[0]:this.originalPageX,h=i?o-this.offset.click.left>=i[0]||o-this.offset.click.left>i[2]?o:o-this.offset.click.left>=i[0]?o-a.grid[0]:o+a.grid[0]:o),"y"===a.axis&&(h=this.originalPageX),"x"===a.axis&&(l=this.originalPageY)),{top:l-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.offset.scroll.top:r?0:this.offset.scroll.top),left:h-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.offset.scroll.left:r?0:this.offset.scroll.left)}},_clear:function(){this._removeClass(this.helper,"ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1,this.destroyOnClear&&this.destroy()},_trigger:function(e,i,s){return s=s||this._uiHash(),t.ui.plugin.call(this,e,[i,s,this],!0),/^(drag|start|stop)/.test(e)&&(this.positionAbs=this._convertPositionTo("absolute"),s.offset=this.positionAbs),t.Widget.prototype._trigger.call(this,e,i,s)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),t.ui.plugin.add("draggable","connectToSortable",{start:function(e,i,s){var n=t.extend({},i,{item:s.element});s.sortables=[],t(s.options.connectToSortable).each(function(){var i=t(this).sortable("instance");i&&!i.options.disabled&&(s.sortables.push(i),i.refreshPositions(),i._trigger("activate",e,n))})},stop:function(e,i,s){var n=t.extend({},i,{item:s.element});s.cancelHelperRemoval=!1,t.each(s.sortables,function(){var t=this;t.isOver?(t.isOver=0,s.cancelHelperRemoval=!0,t.cancelHelperRemoval=!1,t._storedCSS={position:t.placeholder.css("position"),top:t.placeholder.css("top"),left:t.placeholder.css("left")},t._mouseStop(e),t.options.helper=t.options._helper):(t.cancelHelperRemoval=!0,t._trigger("deactivate",e,n))})},drag:function(e,i,s){t.each(s.sortables,function(){var n=!1,o=this;o.positionAbs=s.positionAbs,o.helperProportions=s.helperProportions,o.offset.click=s.offset.click,o._intersectsWith(o.containerCache)&&(n=!0,t.each(s.sortables,function(){return this.positionAbs=s.positionAbs,this.helperProportions=s.helperProportions,this.offset.click=s.offset.click,this!==o&&this._intersectsWith(this.containerCache)&&t.contains(o.element[0],this.element[0])&&(n=!1),n})),n?(o.isOver||(o.isOver=1,s._parent=i.helper.parent(),o.currentItem=i.helper.appendTo(o.element).data("ui-sortable-item",!0),o.options._helper=o.options.helper,o.options.helper=function(){return i.helper[0]},e.target=o.currentItem[0],o._mouseCapture(e,!0),o._mouseStart(e,!0,!0),o.offset.click.top=s.offset.click.top,o.offset.click.left=s.offset.click.left,o.offset.parent.left-=s.offset.parent.left-o.offset.parent.left,o.offset.parent.top-=s.offset.parent.top-o.offset.parent.top,s._trigger("toSortable",e),s.dropped=o.element,t.each(s.sortables,function(){this.refreshPositions()}),s.currentItem=s.element,o.fromOutside=s),o.currentItem&&(o._mouseDrag(e),i.position=o.position)):o.isOver&&(o.isOver=0,o.cancelHelperRemoval=!0,o.options._revert=o.options.revert,o.options.revert=!1,o._trigger("out",e,o._uiHash(o)),o._mouseStop(e,!0),o.options.revert=o.options._revert,o.options.helper=o.options._helper,o.placeholder&&o.placeholder.remove(),i.helper.appendTo(s._parent),s._refreshOffsets(e),i.position=s._generatePosition(e,!0),s._trigger("fromSortable",e),s.dropped=!1,t.each(s.sortables,function(){this.refreshPositions()}))})}}),t.ui.plugin.add("draggable","cursor",{start:function(e,i,s){var n=t("body"),o=s.options;n.css("cursor")&&(o._cursor=n.css("cursor")),n.css("cursor",o.cursor)},stop:function(e,i,s){var n=s.options;n._cursor&&t("body").css("cursor",n._cursor)}}),t.ui.plugin.add("draggable","opacity",{start:function(e,i,s){var n=t(i.helper),o=s.options;n.css("opacity")&&(o._opacity=n.css("opacity")),n.css("opacity",o.opacity)},stop:function(e,i,s){var n=s.options;n._opacity&&t(i.helper).css("opacity",n._opacity)}}),t.ui.plugin.add("draggable","scroll",{start:function(t,e,i){i.scrollParentNotHidden||(i.scrollParentNotHidden=i.helper.scrollParent(!1)),i.scrollParentNotHidden[0]!==i.document[0]&&"HTML"!==i.scrollParentNotHidden[0].tagName&&(i.overflowOffset=i.scrollParentNotHidden.offset())},drag:function(e,i,s){var n=s.options,o=!1,a=s.scrollParentNotHidden[0],r=s.document[0];a!==r&&"HTML"!==a.tagName?(n.axis&&"x"===n.axis||(s.overflowOffset.top+a.offsetHeight-e.pageY=0;d--)h=s.snapElements[d].left-s.margins.left,l=h+s.snapElements[d].width,c=s.snapElements[d].top-s.margins.top,u=c+s.snapElements[d].height,h-g>_||m>l+g||c-g>b||v>u+g||!t.contains(s.snapElements[d].item.ownerDocument,s.snapElements[d].item)?(s.snapElements[d].snapping&&s.options.snap.release&&s.options.snap.release.call(s.element,e,t.extend(s._uiHash(),{snapItem:s.snapElements[d].item})),s.snapElements[d].snapping=!1):("inner"!==f.snapMode&&(n=g>=Math.abs(c-b),o=g>=Math.abs(u-v),a=g>=Math.abs(h-_),r=g>=Math.abs(l-m),n&&(i.position.top=s._convertPositionTo("relative",{top:c-s.helperProportions.height,left:0}).top),o&&(i.position.top=s._convertPositionTo("relative",{top:u,left:0}).top),a&&(i.position.left=s._convertPositionTo("relative",{top:0,left:h-s.helperProportions.width}).left),r&&(i.position.left=s._convertPositionTo("relative",{top:0,left:l}).left)),p=n||o||a||r,"outer"!==f.snapMode&&(n=g>=Math.abs(c-v),o=g>=Math.abs(u-b),a=g>=Math.abs(h-m),r=g>=Math.abs(l-_),n&&(i.position.top=s._convertPositionTo("relative",{top:c,left:0}).top),o&&(i.position.top=s._convertPositionTo("relative",{top:u-s.helperProportions.height,left:0}).top),a&&(i.position.left=s._convertPositionTo("relative",{top:0,left:h}).left),r&&(i.position.left=s._convertPositionTo("relative",{top:0,left:l-s.helperProportions.width}).left)),!s.snapElements[d].snapping&&(n||o||a||r||p)&&s.options.snap.snap&&s.options.snap.snap.call(s.element,e,t.extend(s._uiHash(),{snapItem:s.snapElements[d].item})),s.snapElements[d].snapping=n||o||a||r||p)}}),t.ui.plugin.add("draggable","stack",{start:function(e,i,s){var n,o=s.options,a=t.makeArray(t(o.stack)).sort(function(e,i){return(parseInt(t(e).css("zIndex"),10)||0)-(parseInt(t(i).css("zIndex"),10)||0)});a.length&&(n=parseInt(t(a[0]).css("zIndex"),10)||0,t(a).each(function(e){t(this).css("zIndex",n+e)}),this.css("zIndex",n+a.length))}}),t.ui.plugin.add("draggable","zIndex",{start:function(e,i,s){var n=t(i.helper),o=s.options;n.css("zIndex")&&(o._zIndex=n.css("zIndex")),n.css("zIndex",o.zIndex)},stop:function(e,i,s){var n=s.options;n._zIndex&&t(i.helper).css("zIndex",n._zIndex)}}),t.ui.draggable,t.widget("ui.resizable",t.ui.mouse,{version:"1.12.0",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(t){return parseFloat(t)||0},_isNumber:function(t){return!isNaN(parseFloat(t))},_hasScroll:function(e,i){if("hidden"===t(e).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",n=!1;return e[s]>0?!0:(e[s]=1,n=e[s]>0,e[s]=0,n)},_create:function(){var e,i=this.options,s=this;this._addClass("ui-resizable"),t.extend(this,{_aspectRatio:!!i.aspectRatio,aspectRatio:i.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:i.helper||i.ghost||i.animate?i.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(t("
                ").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,e={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(e),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(e),this._proportionallyResize()),this._setupHandles(),i.autoHide&&t(this.element).on("mouseenter",function(){i.disabled||(s._removeClass("ui-resizable-autohide"),s._handles.show())}).on("mouseleave",function(){i.disabled||s.resizing||(s._addClass("ui-resizable-autohide"),s._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy();var e,i=function(e){t(e).removeData("resizable").removeData("ui-resizable").off(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;default:}},_setupHandles:function(){var e,i,s,n,o,a=this.options,r=this;if(this.handles=a.handles||(t(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=t(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),s=this.handles.split(","),this.handles={},i=0;s.length>i;i++)e=t.trim(s[i]),n="ui-resizable-"+e,o=t("
                "),this._addClass(o,"ui-resizable-handle "+n),o.css({zIndex:a.zIndex}),this.handles[e]=".ui-resizable-"+e,this.element.append(o);this._renderAxis=function(e){var i,s,n,o;e=e||this.element;for(i in this.handles)this.handles[i].constructor===String?this.handles[i]=this.element.children(this.handles[i]).first().show():(this.handles[i].jquery||this.handles[i].nodeType)&&(this.handles[i]=t(this.handles[i]),this._on(this.handles[i],{mousedown:r._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(s=t(this.handles[i],this.element),o=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),e.css(n,o),this._proportionallyResize()),this._handles=this._handles.add(this.handles[i])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){r.resizing||(this.className&&(o=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),r.axis=o&&o[1]?o[1]:"se")}),a.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._handles.remove()},_mouseCapture:function(e){var i,s,n=!1;for(i in this.handles)s=t(this.handles[i])[0],(s===e.target||t.contains(s,e.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(e){var i,s,n,o=this.options,a=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),s=this._num(this.helper.css("top")),o.containment&&(i+=t(o.containment).scrollLeft()||0,s+=t(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:s},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:a.width(),height:a.height()},this.originalSize=this._helper?{width:a.outerWidth(),height:a.outerHeight()}:{width:a.width(),height:a.height()},this.sizeDiff={width:a.outerWidth()-a.width(),height:a.outerHeight()-a.height()},this.originalPosition={left:i,top:s},this.originalMousePosition={left:e.pageX,top:e.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,n=t(".ui-resizable-"+this.axis).css("cursor"),t("body").css("cursor","auto"===n?this.axis+"-resize":n),this._addClass("ui-resizable-resizing"),this._propagate("start",e),!0},_mouseDrag:function(e){var i,s,n=this.originalMousePosition,o=this.axis,a=e.pageX-n.left||0,r=e.pageY-n.top||0,h=this._change[o];return this._updatePrevProperties(),h?(i=h.apply(this,[e,a,r]),this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(i=this._updateRatio(i,e)),i=this._respectSize(i,e),this._updateCache(i),this._propagate("resize",e),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),t.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",e,this.ui()),this._applyChanges()),!1):!1},_mouseStop:function(e){this.resizing=!1;var i,s,n,o,a,r,h,l=this.options,c=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&this._hasScroll(i[0],"left")?0:c.sizeDiff.height,o=s?0:c.sizeDiff.width,a={width:c.helper.width()-o,height:c.helper.height()-n},r=parseFloat(c.element.css("left"))+(c.position.left-c.originalPosition.left)||null,h=parseFloat(c.element.css("top"))+(c.position.top-c.originalPosition.top)||null,l.animate||this.element.css(t.extend(a,{top:h,left:r})),c.helper.height(c.size.height),c.helper.width(c.size.width),this._helper&&!l.animate&&this._proportionallyResize()),t("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",e),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s,n,o,a=this.options;o={minWidth:this._isNumber(a.minWidth)?a.minWidth:0,maxWidth:this._isNumber(a.maxWidth)?a.maxWidth:1/0,minHeight:this._isNumber(a.minHeight)?a.minHeight:0,maxHeight:this._isNumber(a.maxHeight)?a.maxHeight:1/0},(this._aspectRatio||t)&&(e=o.minHeight*this.aspectRatio,s=o.minWidth/this.aspectRatio,i=o.maxHeight*this.aspectRatio,n=o.maxWidth/this.aspectRatio,e>o.minWidth&&(o.minWidth=e),s>o.minHeight&&(o.minHeight=s),o.maxWidth>i&&(o.maxWidth=i),o.maxHeight>n&&(o.maxHeight=n)),this._vBoundaries=o},_updateCache:function(t){this.offset=this.helper.offset(),this._isNumber(t.left)&&(this.position.left=t.left),this._isNumber(t.top)&&(this.position.top=t.top),this._isNumber(t.height)&&(this.size.height=t.height),this._isNumber(t.width)&&(this.size.width=t.width)},_updateRatio:function(t){var e=this.position,i=this.size,s=this.axis;return this._isNumber(t.height)?t.width=t.height*this.aspectRatio:this._isNumber(t.width)&&(t.height=t.width/this.aspectRatio),"sw"===s&&(t.left=e.left+(i.width-t.width),t.top=null),"nw"===s&&(t.top=e.top+(i.height-t.height),t.left=e.left+(i.width-t.width)),t},_respectSize:function(t){var e=this._vBoundaries,i=this.axis,s=this._isNumber(t.width)&&e.maxWidth&&e.maxWidtht.width,a=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,r=this.originalPosition.left+this.originalSize.width,h=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),c=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),a&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=r-e.minWidth),s&&l&&(t.left=r-e.maxWidth),a&&c&&(t.top=h-e.minHeight),n&&c&&(t.top=h-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];4>e;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;this._proportionallyResizeElements.length>e;e++)t=this._proportionallyResizeElements[e],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(t)),t.css({height:i.height()-this.outerDimensions.height||0,width:i.width()-this.outerDimensions.width||0})},_renderProxy:function(){var e=this.element,i=this.options;this.elementOffset=e.offset(),this._helper?(this.helper=this.helper||t("
                "),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize,s=this.originalPosition;return{left:s.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},sw:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,i,s]))},ne:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},nw:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,i,s]))}},_propagate:function(e,i){t.ui.plugin.call(this,e,[i,this.ui()]),"resize"!==e&&this._trigger(e,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),t.ui.plugin.add("resizable","animate",{stop:function(e){var i=t(this).resizable("instance"),s=i.options,n=i._proportionallyResizeElements,o=n.length&&/textarea/i.test(n[0].nodeName),a=o&&i._hasScroll(n[0],"left")?0:i.sizeDiff.height,r=o?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-a},l=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,c=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(t.extend(h,c&&l?{top:c,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};n&&n.length&&t(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",e)}})}}),t.ui.plugin.add("resizable","containment",{start:function(){var e,i,s,n,o,a,r,h=t(this).resizable("instance"),l=h.options,c=h.element,u=l.containment,d=u instanceof t?u.get(0):/parent/.test(u)?c.parent().get(0):u;d&&(h.containerElement=t(d),/document/.test(u)||u===document?(h.containerOffset={left:0,top:0},h.containerPosition={left:0,top:0},h.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(e=t(d),i=[],t(["Top","Right","Left","Bottom"]).each(function(t,s){i[t]=h._num(e.css("padding"+s))}),h.containerOffset=e.offset(),h.containerPosition=e.position(),h.containerSize={height:e.innerHeight()-i[3],width:e.innerWidth()-i[1]},s=h.containerOffset,n=h.containerSize.height,o=h.containerSize.width,a=h._hasScroll(d,"left")?d.scrollWidth:o,r=h._hasScroll(d)?d.scrollHeight:n,h.parentData={element:d,left:s.left,top:s.top,width:a,height:r}))},resize:function(e){var i,s,n,o,a=t(this).resizable("instance"),r=a.options,h=a.containerOffset,l=a.position,c=a._aspectRatio||e.shiftKey,u={top:0,left:0},d=a.containerElement,p=!0;d[0]!==document&&/static/.test(d.css("position"))&&(u=h),l.left<(a._helper?h.left:0)&&(a.size.width=a.size.width+(a._helper?a.position.left-h.left:a.position.left-u.left),c&&(a.size.height=a.size.width/a.aspectRatio,p=!1),a.position.left=r.helper?h.left:0),l.top<(a._helper?h.top:0)&&(a.size.height=a.size.height+(a._helper?a.position.top-h.top:a.position.top),c&&(a.size.width=a.size.height*a.aspectRatio,p=!1),a.position.top=a._helper?h.top:0),n=a.containerElement.get(0)===a.element.parent().get(0),o=/relative|absolute/.test(a.containerElement.css("position")),n&&o?(a.offset.left=a.parentData.left+a.position.left,a.offset.top=a.parentData.top+a.position.top):(a.offset.left=a.element.offset().left,a.offset.top=a.element.offset().top),i=Math.abs(a.sizeDiff.width+(a._helper?a.offset.left-u.left:a.offset.left-h.left)),s=Math.abs(a.sizeDiff.height+(a._helper?a.offset.top-u.top:a.offset.top-h.top)),i+a.size.width>=a.parentData.width&&(a.size.width=a.parentData.width-i,c&&(a.size.height=a.size.width/a.aspectRatio,p=!1)),s+a.size.height>=a.parentData.height&&(a.size.height=a.parentData.height-s,c&&(a.size.width=a.size.height*a.aspectRatio,p=!1)),p||(a.position.left=a.prevPosition.left,a.position.top=a.prevPosition.top,a.size.width=a.prevSize.width,a.size.height=a.prevSize.height)},stop:function(){var e=t(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.containerPosition,o=e.containerElement,a=t(e.helper),r=a.offset(),h=a.outerWidth()-e.sizeDiff.width,l=a.outerHeight()-e.sizeDiff.height;e._helper&&!i.animate&&/relative/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l}),e._helper&&!i.animate&&/static/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),t.ui.plugin.add("resizable","alsoResize",{start:function(){var e=t(this).resizable("instance"),i=e.options;t(i.alsoResize).each(function(){var e=t(this);e.data("ui-resizable-alsoresize",{width:parseFloat(e.width()),height:parseFloat(e.height()),left:parseFloat(e.css("left")),top:parseFloat(e.css("top"))})})},resize:function(e,i){var s=t(this).resizable("instance"),n=s.options,o=s.originalSize,a=s.originalPosition,r={height:s.size.height-o.height||0,width:s.size.width-o.width||0,top:s.position.top-a.top||0,left:s.position.left-a.left||0};t(n.alsoResize).each(function(){var e=t(this),s=t(this).data("ui-resizable-alsoresize"),n={},o=e.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];t.each(o,function(t,e){var i=(s[e]||0)+(r[e]||0);i&&i>=0&&(n[e]=i||null)}),e.css(n)})},stop:function(){t(this).removeData("ui-resizable-alsoresize")}}),t.ui.plugin.add("resizable","ghost",{start:function(){var e=t(this).resizable("instance"),i=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block",position:"relative",height:i.height,width:i.width,margin:0,left:0,top:0}),e._addClass(e.ghost,"ui-resizable-ghost"),t.uiBackCompat!==!1&&"string"==typeof e.options.ghost&&e.ghost.addClass(this.options.ghost),e.ghost.appendTo(e.helper)},resize:function(){var e=t(this).resizable("instance");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=t(this).resizable("instance");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),t.ui.plugin.add("resizable","grid",{resize:function(){var e,i=t(this).resizable("instance"),s=i.options,n=i.size,o=i.originalSize,a=i.originalPosition,r=i.axis,h="number"==typeof s.grid?[s.grid,s.grid]:s.grid,l=h[0]||1,c=h[1]||1,u=Math.round((n.width-o.width)/l)*l,d=Math.round((n.height-o.height)/c)*c,p=o.width+u,f=o.height+d,g=s.maxWidth&&p>s.maxWidth,m=s.maxHeight&&f>s.maxHeight,_=s.minWidth&&s.minWidth>p,v=s.minHeight&&s.minHeight>f;s.grid=h,_&&(p+=l),v&&(f+=c),g&&(p-=l),m&&(f-=c),/^(se|s|e)$/.test(r)?(i.size.width=p,i.size.height=f):/^(ne)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.top=a.top-d):/^(sw)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.left=a.left-u):((0>=f-c||0>=p-l)&&(e=i._getPaddingPlusBorderDimensions(this)),f-c>0?(i.size.height=f,i.position.top=a.top-d):(f=c-e.height,i.size.height=f,i.position.top=a.top+o.height-f),p-l>0?(i.size.width=p,i.position.left=a.left-u):(p=l-e.width,i.size.width=p,i.position.left=a.left+o.width-p))}}),t.ui.resizable,t.widget("ui.dialog",{version:"1.12.0",options:{appendTo:"body",autoOpen:!0,buttons:[],classes:{"ui-dialog":"ui-corner-all","ui-dialog-titlebar":"ui-corner-all"},closeOnEscape:!0,closeText:"Close",draggable:!0,hide:null,height:"auto",maxHeight:null,maxWidth:null,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",of:window,collision:"fit",using:function(e){var i=t(this).css(e).offset().top;0>i&&t(this).css("top",e.top-i)}},resizable:!0,show:null,title:null,width:300,beforeClose:null,close:null,drag:null,dragStart:null,dragStop:null,focus:null,open:null,resize:null,resizeStart:null,resizeStop:null},sizeRelatedOptions:{buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},resizableRelatedOptions:{maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0},_create:function(){this.originalCss={display:this.element[0].style.display,width:this.element[0].style.width,minHeight:this.element[0].style.minHeight,maxHeight:this.element[0].style.maxHeight,height:this.element[0].style.height},this.originalPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)},this.originalTitle=this.element.attr("title"),null==this.options.title&&null!=this.originalTitle&&(this.options.title=this.originalTitle),this.options.disabled&&(this.options.disabled=!1),this._createWrapper(),this.element.show().removeAttr("title").appendTo(this.uiDialog),this._addClass("ui-dialog-content","ui-widget-content"),this._createTitlebar(),this._createButtonPane(),this.options.draggable&&t.fn.draggable&&this._makeDraggable(),this.options.resizable&&t.fn.resizable&&this._makeResizable(),this._isOpen=!1,this._trackFocus()},_init:function(){this.options.autoOpen&&this.open()},_appendTo:function(){var e=this.options.appendTo;return e&&(e.jquery||e.nodeType)?t(e):this.document.find(e||"body").eq(0)},_destroy:function(){var t,e=this.originalPosition;this._untrackInstance(),this._destroyOverlay(),this.element.removeUniqueId().css(this.originalCss).detach(),this.uiDialog.remove(),this.originalTitle&&this.element.attr("title",this.originalTitle),t=e.parent.children().eq(e.index),t.length&&t[0]!==this.element[0]?t.before(this.element):e.parent.append(this.element)},widget:function(){return this.uiDialog +},disable:t.noop,enable:t.noop,close:function(e){var i=this;this._isOpen&&this._trigger("beforeClose",e)!==!1&&(this._isOpen=!1,this._focusedElement=null,this._destroyOverlay(),this._untrackInstance(),this.opener.filter(":focusable").trigger("focus").length||t.ui.safeBlur(t.ui.safeActiveElement(this.document[0])),this._hide(this.uiDialog,this.options.hide,function(){i._trigger("close",e)}))},isOpen:function(){return this._isOpen},moveToTop:function(){this._moveToTop()},_moveToTop:function(e,i){var s=!1,n=this.uiDialog.siblings(".ui-front:visible").map(function(){return+t(this).css("z-index")}).get(),o=Math.max.apply(null,n);return o>=+this.uiDialog.css("z-index")&&(this.uiDialog.css("z-index",o+1),s=!0),s&&!i&&this._trigger("focus",e),s},open:function(){var e=this;return this._isOpen?(this._moveToTop()&&this._focusTabbable(),void 0):(this._isOpen=!0,this.opener=t(t.ui.safeActiveElement(this.document[0])),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this.overlay&&this.overlay.css("z-index",this.uiDialog.css("z-index")-1),this._show(this.uiDialog,this.options.show,function(){e._focusTabbable(),e._trigger("focus")}),this._makeFocusTarget(),this._trigger("open"),void 0)},_focusTabbable:function(){var t=this._focusedElement;t||(t=this.element.find("[autofocus]")),t.length||(t=this.element.find(":tabbable")),t.length||(t=this.uiDialogButtonPane.find(":tabbable")),t.length||(t=this.uiDialogTitlebarClose.filter(":tabbable")),t.length||(t=this.uiDialog),t.eq(0).trigger("focus")},_keepFocus:function(e){function i(){var e=t.ui.safeActiveElement(this.document[0]),i=this.uiDialog[0]===e||t.contains(this.uiDialog[0],e);i||this._focusTabbable()}e.preventDefault(),i.call(this),this._delay(i)},_createWrapper:function(){this.uiDialog=t("
                ").hide().attr({tabIndex:-1,role:"dialog"}).appendTo(this._appendTo()),this._addClass(this.uiDialog,"ui-dialog","ui-widget ui-widget-content ui-front"),this._on(this.uiDialog,{keydown:function(e){if(this.options.closeOnEscape&&!e.isDefaultPrevented()&&e.keyCode&&e.keyCode===t.ui.keyCode.ESCAPE)return e.preventDefault(),this.close(e),void 0;if(e.keyCode===t.ui.keyCode.TAB&&!e.isDefaultPrevented()){var i=this.uiDialog.find(":tabbable"),s=i.filter(":first"),n=i.filter(":last");e.target!==n[0]&&e.target!==this.uiDialog[0]||e.shiftKey?e.target!==s[0]&&e.target!==this.uiDialog[0]||!e.shiftKey||(this._delay(function(){n.trigger("focus")}),e.preventDefault()):(this._delay(function(){s.trigger("focus")}),e.preventDefault())}},mousedown:function(t){this._moveToTop(t)&&this._focusTabbable()}}),this.element.find("[aria-describedby]").length||this.uiDialog.attr({"aria-describedby":this.element.uniqueId().attr("id")})},_createTitlebar:function(){var e;this.uiDialogTitlebar=t("
                "),this._addClass(this.uiDialogTitlebar,"ui-dialog-titlebar","ui-widget-header ui-helper-clearfix"),this._on(this.uiDialogTitlebar,{mousedown:function(e){t(e.target).closest(".ui-dialog-titlebar-close")||this.uiDialog.trigger("focus")}}),this.uiDialogTitlebarClose=t("").button({label:t("").text(this.options.closeText).html(),icon:"ui-icon-closethick",showLabel:!1}).appendTo(this.uiDialogTitlebar),this._addClass(this.uiDialogTitlebarClose,"ui-dialog-titlebar-close"),this._on(this.uiDialogTitlebarClose,{click:function(t){t.preventDefault(),this.close(t)}}),e=t("").uniqueId().prependTo(this.uiDialogTitlebar),this._addClass(e,"ui-dialog-title"),this._title(e),this.uiDialogTitlebar.prependTo(this.uiDialog),this.uiDialog.attr({"aria-labelledby":e.attr("id")})},_title:function(t){this.options.title?t.text(this.options.title):t.html(" ")},_createButtonPane:function(){this.uiDialogButtonPane=t("
                "),this._addClass(this.uiDialogButtonPane,"ui-dialog-buttonpane","ui-widget-content ui-helper-clearfix"),this.uiButtonSet=t("
                ").appendTo(this.uiDialogButtonPane),this._addClass(this.uiButtonSet,"ui-dialog-buttonset"),this._createButtons()},_createButtons:function(){var e=this,i=this.options.buttons;return this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),t.isEmptyObject(i)||t.isArray(i)&&!i.length?(this._removeClass(this.uiDialog,"ui-dialog-buttons"),void 0):(t.each(i,function(i,s){var n,o;s=t.isFunction(s)?{click:s,text:i}:s,s=t.extend({type:"button"},s),n=s.click,o={icon:s.icon,iconPosition:s.iconPosition,showLabel:s.showLabel},delete s.click,delete s.icon,delete s.iconPosition,delete s.showLabel,t("",s).button(o).appendTo(e.uiButtonSet).on("click",function(){n.apply(e.element[0],arguments)})}),this._addClass(this.uiDialog,"ui-dialog-buttons"),this.uiDialogButtonPane.appendTo(this.uiDialog),void 0)},_makeDraggable:function(){function e(t){return{position:t.position,offset:t.offset}}var i=this,s=this.options;this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(s,n){i._addClass(t(this),"ui-dialog-dragging"),i._blockFrames(),i._trigger("dragStart",s,e(n))},drag:function(t,s){i._trigger("drag",t,e(s))},stop:function(n,o){var a=o.offset.left-i.document.scrollLeft(),r=o.offset.top-i.document.scrollTop();s.position={my:"left top",at:"left"+(a>=0?"+":"")+a+" "+"top"+(r>=0?"+":"")+r,of:i.window},i._removeClass(t(this),"ui-dialog-dragging"),i._unblockFrames(),i._trigger("dragStop",n,e(o))}})},_makeResizable:function(){function e(t){return{originalPosition:t.originalPosition,originalSize:t.originalSize,position:t.position,size:t.size}}var i=this,s=this.options,n=s.resizable,o=this.uiDialog.css("position"),a="string"==typeof n?n:"n,e,s,w,se,sw,ne,nw";this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:s.maxWidth,maxHeight:s.maxHeight,minWidth:s.minWidth,minHeight:this._minHeight(),handles:a,start:function(s,n){i._addClass(t(this),"ui-dialog-resizing"),i._blockFrames(),i._trigger("resizeStart",s,e(n))},resize:function(t,s){i._trigger("resize",t,e(s))},stop:function(n,o){var a=i.uiDialog.offset(),r=a.left-i.document.scrollLeft(),h=a.top-i.document.scrollTop();s.height=i.uiDialog.height(),s.width=i.uiDialog.width(),s.position={my:"left top",at:"left"+(r>=0?"+":"")+r+" "+"top"+(h>=0?"+":"")+h,of:i.window},i._removeClass(t(this),"ui-dialog-resizing"),i._unblockFrames(),i._trigger("resizeStop",n,e(o))}}).css("position",o)},_trackFocus:function(){this._on(this.widget(),{focusin:function(e){this._makeFocusTarget(),this._focusedElement=t(e.target)}})},_makeFocusTarget:function(){this._untrackInstance(),this._trackingInstances().unshift(this)},_untrackInstance:function(){var e=this._trackingInstances(),i=t.inArray(this,e);-1!==i&&e.splice(i,1)},_trackingInstances:function(){var t=this.document.data("ui-dialog-instances");return t||(t=[],this.document.data("ui-dialog-instances",t)),t},_minHeight:function(){var t=this.options;return"auto"===t.height?t.minHeight:Math.min(t.minHeight,t.height)},_position:function(){var t=this.uiDialog.is(":visible");t||this.uiDialog.show(),this.uiDialog.position(this.options.position),t||this.uiDialog.hide()},_setOptions:function(e){var i=this,s=!1,n={};t.each(e,function(t,e){i._setOption(t,e),t in i.sizeRelatedOptions&&(s=!0),t in i.resizableRelatedOptions&&(n[t]=e)}),s&&(this._size(),this._position()),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option",n)},_setOption:function(e,i){var s,n,o=this.uiDialog;"disabled"!==e&&(this._super(e,i),"appendTo"===e&&this.uiDialog.appendTo(this._appendTo()),"buttons"===e&&this._createButtons(),"closeText"===e&&this.uiDialogTitlebarClose.button({label:t("").text(""+this.options.closeText).html()}),"draggable"===e&&(s=o.is(":data(ui-draggable)"),s&&!i&&o.draggable("destroy"),!s&&i&&this._makeDraggable()),"position"===e&&this._position(),"resizable"===e&&(n=o.is(":data(ui-resizable)"),n&&!i&&o.resizable("destroy"),n&&"string"==typeof i&&o.resizable("option","handles",i),n||i===!1||this._makeResizable()),"title"===e&&this._title(this.uiDialogTitlebar.find(".ui-dialog-title")))},_size:function(){var t,e,i,s=this.options;this.element.show().css({width:"auto",minHeight:0,maxHeight:"none",height:0}),s.minWidth>s.width&&(s.width=s.minWidth),t=this.uiDialog.css({height:"auto",width:s.width}).outerHeight(),e=Math.max(0,s.minHeight-t),i="number"==typeof s.maxHeight?Math.max(0,s.maxHeight-t):"none","auto"===s.height?this.element.css({minHeight:e,maxHeight:i,height:"auto"}):this.element.height(Math.max(0,s.height-t)),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())},_blockFrames:function(){this.iframeBlocks=this.document.find("iframe").map(function(){var e=t(this);return t("
                ").css({position:"absolute",width:e.outerWidth(),height:e.outerHeight()}).appendTo(e.parent()).offset(e.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_allowInteraction:function(e){return t(e.target).closest(".ui-dialog").length?!0:!!t(e.target).closest(".ui-datepicker").length},_createOverlay:function(){if(this.options.modal){var e=!0;this._delay(function(){e=!1}),this.document.data("ui-dialog-overlays")||this._on(this.document,{focusin:function(t){e||this._allowInteraction(t)||(t.preventDefault(),this._trackingInstances()[0]._focusTabbable())}}),this.overlay=t("
                ").appendTo(this._appendTo()),this._addClass(this.overlay,null,"ui-widget-overlay ui-front"),this._on(this.overlay,{mousedown:"_keepFocus"}),this.document.data("ui-dialog-overlays",(this.document.data("ui-dialog-overlays")||0)+1)}},_destroyOverlay:function(){if(this.options.modal&&this.overlay){var t=this.document.data("ui-dialog-overlays")-1;t?this.document.data("ui-dialog-overlays",t):(this._off(this.document,"focusin"),this.document.removeData("ui-dialog-overlays")),this.overlay.remove(),this.overlay=null}}}),t.uiBackCompat!==!1&&t.widget("ui.dialog",t.ui.dialog,{options:{dialogClass:""},_createWrapper:function(){this._super(),this.uiDialog.addClass(this.options.dialogClass)},_setOption:function(t,e){"dialogClass"===t&&this.uiDialog.removeClass(this.options.dialogClass).addClass(e),this._superApply(arguments)}}),t.ui.dialog,t.widget("ui.droppable",{version:"1.12.0",widgetEventPrefix:"drop",options:{accept:"*",addClasses:!0,greedy:!1,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var e,i=this.options,s=i.accept;this.isover=!1,this.isout=!0,this.accept=t.isFunction(s)?s:function(t){return t.is(s)},this.proportions=function(){return arguments.length?(e=arguments[0],void 0):e?e:e={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight}},this._addToManager(i.scope),i.addClasses&&this._addClass("ui-droppable")},_addToManager:function(e){t.ui.ddmanager.droppables[e]=t.ui.ddmanager.droppables[e]||[],t.ui.ddmanager.droppables[e].push(this)},_splice:function(t){for(var e=0;t.length>e;e++)t[e]===this&&t.splice(e,1)},_destroy:function(){var e=t.ui.ddmanager.droppables[this.options.scope];this._splice(e)},_setOption:function(e,i){if("accept"===e)this.accept=t.isFunction(i)?i:function(t){return t.is(i)};else if("scope"===e){var s=t.ui.ddmanager.droppables[this.options.scope];this._splice(s),this._addToManager(i)}this._super(e,i)},_activate:function(e){var i=t.ui.ddmanager.current;this._addActiveClass(),i&&this._trigger("activate",e,this.ui(i))},_deactivate:function(e){var i=t.ui.ddmanager.current;this._removeActiveClass(),i&&this._trigger("deactivate",e,this.ui(i))},_over:function(e){var i=t.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this._addHoverClass(),this._trigger("over",e,this.ui(i)))},_out:function(e){var i=t.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this._removeHoverClass(),this._trigger("out",e,this.ui(i)))},_drop:function(e,i){var s=i||t.ui.ddmanager.current,n=!1;return s&&(s.currentItem||s.element)[0]!==this.element[0]?(this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function(){var i=t(this).droppable("instance");return i.options.greedy&&!i.options.disabled&&i.options.scope===s.options.scope&&i.accept.call(i.element[0],s.currentItem||s.element)&&v(s,t.extend(i,{offset:i.element.offset()}),i.options.tolerance,e)?(n=!0,!1):void 0}),n?!1:this.accept.call(this.element[0],s.currentItem||s.element)?(this._removeActiveClass(),this._removeHoverClass(),this._trigger("drop",e,this.ui(s)),this.element):!1):!1},ui:function(t){return{draggable:t.currentItem||t.element,helper:t.helper,position:t.position,offset:t.positionAbs}},_addHoverClass:function(){this._addClass("ui-droppable-hover")},_removeHoverClass:function(){this._removeClass("ui-droppable-hover")},_addActiveClass:function(){this._addClass("ui-droppable-active")},_removeActiveClass:function(){this._removeClass("ui-droppable-active")}});var v=t.ui.intersect=function(){function t(t,e,i){return t>=e&&e+i>t}return function(e,i,s,n){if(!i.offset)return!1;var o=(e.positionAbs||e.position.absolute).left+e.margins.left,a=(e.positionAbs||e.position.absolute).top+e.margins.top,r=o+e.helperProportions.width,h=a+e.helperProportions.height,l=i.offset.left,c=i.offset.top,u=l+i.proportions().width,d=c+i.proportions().height;switch(s){case"fit":return o>=l&&u>=r&&a>=c&&d>=h;case"intersect":return o+e.helperProportions.width/2>l&&u>r-e.helperProportions.width/2&&a+e.helperProportions.height/2>c&&d>h-e.helperProportions.height/2;case"pointer":return t(n.pageY,c,i.proportions().height)&&t(n.pageX,l,i.proportions().width);case"touch":return(a>=c&&d>=a||h>=c&&d>=h||c>a&&h>d)&&(o>=l&&u>=o||r>=l&&u>=r||l>o&&r>u);default:return!1}}}();t.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(e,i){var s,n,o=t.ui.ddmanager.droppables[e.options.scope]||[],a=i?i.type:null,r=(e.currentItem||e.element).find(":data(ui-droppable)").addBack();t:for(s=0;o.length>s;s++)if(!(o[s].options.disabled||e&&!o[s].accept.call(o[s].element[0],e.currentItem||e.element))){for(n=0;r.length>n;n++)if(r[n]===o[s].element[0]){o[s].proportions().height=0;continue t}o[s].visible="none"!==o[s].element.css("display"),o[s].visible&&("mousedown"===a&&o[s]._activate.call(o[s],i),o[s].offset=o[s].element.offset(),o[s].proportions({width:o[s].element[0].offsetWidth,height:o[s].element[0].offsetHeight}))}},drop:function(e,i){var s=!1;return t.each((t.ui.ddmanager.droppables[e.options.scope]||[]).slice(),function(){this.options&&(!this.options.disabled&&this.visible&&v(e,this,this.options.tolerance,i)&&(s=this._drop.call(this,i)||s),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],e.currentItem||e.element)&&(this.isout=!0,this.isover=!1,this._deactivate.call(this,i)))}),s},dragStart:function(e,i){e.element.parentsUntil("body").on("scroll.droppable",function(){e.options.refreshPositions||t.ui.ddmanager.prepareOffsets(e,i)})},drag:function(e,i){e.options.refreshPositions&&t.ui.ddmanager.prepareOffsets(e,i),t.each(t.ui.ddmanager.droppables[e.options.scope]||[],function(){if(!this.options.disabled&&!this.greedyChild&&this.visible){var s,n,o,a=v(e,this,this.options.tolerance,i),r=!a&&this.isover?"isout":a&&!this.isover?"isover":null;r&&(this.options.greedy&&(n=this.options.scope,o=this.element.parents(":data(ui-droppable)").filter(function(){return t(this).droppable("instance").options.scope===n}),o.length&&(s=t(o[0]).droppable("instance"),s.greedyChild="isover"===r)),s&&"isover"===r&&(s.isover=!1,s.isout=!0,s._out.call(s,i)),this[r]=!0,this["isout"===r?"isover":"isout"]=!1,this["isover"===r?"_over":"_out"].call(this,i),s&&"isout"===r&&(s.isout=!1,s.isover=!0,s._over.call(s,i)))}})},dragStop:function(e,i){e.element.parentsUntil("body").off("scroll.droppable"),e.options.refreshPositions||t.ui.ddmanager.prepareOffsets(e,i)}},t.uiBackCompat!==!1&&t.widget("ui.droppable",t.ui.droppable,{options:{hoverClass:!1,activeClass:!1},_addActiveClass:function(){this._super(),this.options.activeClass&&this.element.addClass(this.options.activeClass)},_removeActiveClass:function(){this._super(),this.options.activeClass&&this.element.removeClass(this.options.activeClass)},_addHoverClass:function(){this._super(),this.options.hoverClass&&this.element.addClass(this.options.hoverClass)},_removeHoverClass:function(){this._super(),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass)}}),t.ui.droppable,t.widget("ui.progressbar",{version:"1.12.0",options:{classes:{"ui-progressbar":"ui-corner-all","ui-progressbar-value":"ui-corner-left","ui-progressbar-complete":"ui-corner-right"},max:100,value:0,change:null,complete:null},min:0,_create:function(){this.oldValue=this.options.value=this._constrainedValue(),this.element.attr({role:"progressbar","aria-valuemin":this.min}),this._addClass("ui-progressbar","ui-widget ui-widget-content"),this.valueDiv=t("
                ").appendTo(this.element),this._addClass(this.valueDiv,"ui-progressbar-value","ui-widget-header"),this._refreshValue()},_destroy:function(){this.element.removeAttr("role aria-valuemin aria-valuemax aria-valuenow"),this.valueDiv.remove()},value:function(t){return void 0===t?this.options.value:(this.options.value=this._constrainedValue(t),this._refreshValue(),void 0)},_constrainedValue:function(t){return void 0===t&&(t=this.options.value),this.indeterminate=t===!1,"number"!=typeof t&&(t=0),this.indeterminate?!1:Math.min(this.options.max,Math.max(this.min,t))},_setOptions:function(t){var e=t.value;delete t.value,this._super(t),this.options.value=this._constrainedValue(e),this._refreshValue()},_setOption:function(t,e){"max"===t&&(e=Math.max(this.min,e)),this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t),this._toggleClass(null,"ui-state-disabled",!!t)},_percentage:function(){return this.indeterminate?100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var e=this.options.value,i=this._percentage();this.valueDiv.toggle(this.indeterminate||e>this.min).width(i.toFixed(0)+"%"),this._toggleClass(this.valueDiv,"ui-progressbar-complete",null,e===this.options.max)._toggleClass("ui-progressbar-indeterminate",null,this.indeterminate),this.indeterminate?(this.element.removeAttr("aria-valuenow"),this.overlayDiv||(this.overlayDiv=t("
                ").appendTo(this.valueDiv),this._addClass(this.overlayDiv,"ui-progressbar-overlay"))):(this.element.attr({"aria-valuemax":this.options.max,"aria-valuenow":e}),this.overlayDiv&&(this.overlayDiv.remove(),this.overlayDiv=null)),this.oldValue!==e&&(this.oldValue=e,this._trigger("change")),e===this.options.max&&this._trigger("complete")}}),t.widget("ui.selectable",t.ui.mouse,{version:"1.12.0",options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch",selected:null,selecting:null,start:null,stop:null,unselected:null,unselecting:null},_create:function(){var e=this;this._addClass("ui-selectable"),this.dragged=!1,this.refresh=function(){e.elementPos=t(e.element[0]).offset(),e.selectees=t(e.options.filter,e.element[0]),e._addClass(e.selectees,"ui-selectee"),e.selectees.each(function(){var i=t(this),s=i.offset(),n={left:s.left-e.elementPos.left,top:s.top-e.elementPos.top};t.data(this,"selectable-item",{element:this,$element:i,left:n.left,top:n.top,right:n.left+i.outerWidth(),bottom:n.top+i.outerHeight(),startselected:!1,selected:i.hasClass("ui-selected"),selecting:i.hasClass("ui-selecting"),unselecting:i.hasClass("ui-unselecting")})})},this.refresh(),this._mouseInit(),this.helper=t("
                "),this._addClass(this.helper,"ui-selectable-helper")},_destroy:function(){this.selectees.removeData("selectable-item"),this._mouseDestroy()},_mouseStart:function(e){var i=this,s=this.options;this.opos=[e.pageX,e.pageY],this.elementPos=t(this.element[0]).offset(),this.options.disabled||(this.selectees=t(s.filter,this.element[0]),this._trigger("start",e),t(s.appendTo).append(this.helper),this.helper.css({left:e.pageX,top:e.pageY,width:0,height:0}),s.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var s=t.data(this,"selectable-item");s.startselected=!0,e.metaKey||e.ctrlKey||(i._removeClass(s.$element,"ui-selected"),s.selected=!1,i._addClass(s.$element,"ui-unselecting"),s.unselecting=!0,i._trigger("unselecting",e,{unselecting:s.element}))}),t(e.target).parents().addBack().each(function(){var s,n=t.data(this,"selectable-item");return n?(s=!e.metaKey&&!e.ctrlKey||!n.$element.hasClass("ui-selected"),i._removeClass(n.$element,s?"ui-unselecting":"ui-selected")._addClass(n.$element,s?"ui-selecting":"ui-unselecting"),n.unselecting=!s,n.selecting=s,n.selected=s,s?i._trigger("selecting",e,{selecting:n.element}):i._trigger("unselecting",e,{unselecting:n.element}),!1):void 0}))},_mouseDrag:function(e){if(this.dragged=!0,!this.options.disabled){var i,s=this,n=this.options,o=this.opos[0],a=this.opos[1],r=e.pageX,h=e.pageY;return o>r&&(i=r,r=o,o=i),a>h&&(i=h,h=a,a=i),this.helper.css({left:o,top:a,width:r-o,height:h-a}),this.selectees.each(function(){var i=t.data(this,"selectable-item"),l=!1,c={};i&&i.element!==s.element[0]&&(c.left=i.left+s.elementPos.left,c.right=i.right+s.elementPos.left,c.top=i.top+s.elementPos.top,c.bottom=i.bottom+s.elementPos.top,"touch"===n.tolerance?l=!(c.left>r||o>c.right||c.top>h||a>c.bottom):"fit"===n.tolerance&&(l=c.left>o&&r>c.right&&c.top>a&&h>c.bottom),l?(i.selected&&(s._removeClass(i.$element,"ui-selected"),i.selected=!1),i.unselecting&&(s._removeClass(i.$element,"ui-unselecting"),i.unselecting=!1),i.selecting||(s._addClass(i.$element,"ui-selecting"),i.selecting=!0,s._trigger("selecting",e,{selecting:i.element}))):(i.selecting&&((e.metaKey||e.ctrlKey)&&i.startselected?(s._removeClass(i.$element,"ui-selecting"),i.selecting=!1,s._addClass(i.$element,"ui-selected"),i.selected=!0):(s._removeClass(i.$element,"ui-selecting"),i.selecting=!1,i.startselected&&(s._addClass(i.$element,"ui-unselecting"),i.unselecting=!0),s._trigger("unselecting",e,{unselecting:i.element}))),i.selected&&(e.metaKey||e.ctrlKey||i.startselected||(s._removeClass(i.$element,"ui-selected"),i.selected=!1,s._addClass(i.$element,"ui-unselecting"),i.unselecting=!0,s._trigger("unselecting",e,{unselecting:i.element})))))}),!1}},_mouseStop:function(e){var i=this;return this.dragged=!1,t(".ui-unselecting",this.element[0]).each(function(){var s=t.data(this,"selectable-item");i._removeClass(s.$element,"ui-unselecting"),s.unselecting=!1,s.startselected=!1,i._trigger("unselected",e,{unselected:s.element})}),t(".ui-selecting",this.element[0]).each(function(){var s=t.data(this,"selectable-item");i._removeClass(s.$element,"ui-selecting")._addClass(s.$element,"ui-selected"),s.selecting=!1,s.selected=!0,s.startselected=!0,i._trigger("selected",e,{selected:s.element})}),this._trigger("stop",e),this.helper.remove(),!1}}),t.widget("ui.selectmenu",[t.ui.formResetMixin,{version:"1.12.0",defaultElement:"",widgetEventPrefix:"spin",options:{classes:{"ui-spinner":"ui-corner-all","ui-spinner-down":"ui-corner-br","ui-spinner-up":"ui-corner-tr"},culture:null,icons:{down:"ui-icon-triangle-1-s",up:"ui-icon-triangle-1-n"},incremental:!0,max:null,min:null,numberFormat:null,page:10,step:1,change:null,spin:null,start:null,stop:null},_create:function(){this._setOption("max",this.options.max),this._setOption("min",this.options.min),this._setOption("step",this.options.step),""!==this.value()&&this._value(this.element.val(),!0),this._draw(),this._on(this._events),this._refresh(),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_getCreateOptions:function(){var e=this._super(),i=this.element;return t.each(["min","max","step"],function(t,s){var n=i.attr(s);null!=n&&n.length&&(e[s]=n)}),e},_events:{keydown:function(t){this._start(t)&&this._keydown(t)&&t.preventDefault()},keyup:"_stop",focus:function(){this.previous=this.element.val()},blur:function(t){return this.cancelBlur?(delete this.cancelBlur,void 0):(this._stop(),this._refresh(),this.previous!==this.element.val()&&this._trigger("change",t),void 0)},mousewheel:function(t,e){if(e){if(!this.spinning&&!this._start(t))return!1;this._spin((e>0?1:-1)*this.options.step,t),clearTimeout(this.mousewheelTimer),this.mousewheelTimer=this._delay(function(){this.spinning&&this._stop(t)},100),t.preventDefault()}},"mousedown .ui-spinner-button":function(e){function i(){var e=this.element[0]===t.ui.safeActiveElement(this.document[0]);e||(this.element.trigger("focus"),this.previous=s,this._delay(function(){this.previous=s}))}var s;s=this.element[0]===t.ui.safeActiveElement(this.document[0])?this.previous:this.element.val(),e.preventDefault(),i.call(this),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,i.call(this)}),this._start(e)!==!1&&this._repeat(null,t(e.currentTarget).hasClass("ui-spinner-up")?1:-1,e)},"mouseup .ui-spinner-button":"_stop","mouseenter .ui-spinner-button":function(e){return t(e.currentTarget).hasClass("ui-state-active")?this._start(e)===!1?!1:(this._repeat(null,t(e.currentTarget).hasClass("ui-spinner-up")?1:-1,e),void 0):void 0},"mouseleave .ui-spinner-button":"_stop"},_enhance:function(){this.uiSpinner=this.element.attr("autocomplete","off").wrap("").parent().append("")},_draw:function(){this._enhance(),this._addClass(this.uiSpinner,"ui-spinner","ui-widget ui-widget-content"),this._addClass("ui-spinner-input"),this.element.attr("role","spinbutton"),this.buttons=this.uiSpinner.children("a").attr("tabIndex",-1).attr("aria-hidden",!0).button({classes:{"ui-button":""}}),this._removeClass(this.buttons,"ui-corner-all"),this._addClass(this.buttons.first(),"ui-spinner-button ui-spinner-up"),this._addClass(this.buttons.last(),"ui-spinner-button ui-spinner-down"),this.buttons.first().button({icon:this.options.icons.up,showLabel:!1}),this.buttons.last().button({icon:this.options.icons.down,showLabel:!1}),this.buttons.height()>Math.ceil(.5*this.uiSpinner.height())&&this.uiSpinner.height()>0&&this.uiSpinner.height(this.uiSpinner.height())},_keydown:function(e){var i=this.options,s=t.ui.keyCode;switch(e.keyCode){case s.UP:return this._repeat(null,1,e),!0;case s.DOWN:return this._repeat(null,-1,e),!0;case s.PAGE_UP:return this._repeat(null,i.page,e),!0;case s.PAGE_DOWN:return this._repeat(null,-i.page,e),!0}return!1},_start:function(t){return this.spinning||this._trigger("start",t)!==!1?(this.counter||(this.counter=1),this.spinning=!0,!0):!1},_repeat:function(t,e,i){t=t||500,clearTimeout(this.timer),this.timer=this._delay(function(){this._repeat(40,e,i)},t),this._spin(e*this.options.step,i)},_spin:function(t,e){var i=this.value()||0;this.counter||(this.counter=1),i=this._adjustValue(i+t*this._increment(this.counter)),this.spinning&&this._trigger("spin",e,{value:i})===!1||(this._value(i),this.counter++)},_increment:function(e){var i=this.options.incremental;return i?t.isFunction(i)?i(e):Math.floor(e*e*e/5e4-e*e/500+17*e/200+1):1},_precision:function(){var t=this._precisionOf(this.options.step);return null!==this.options.min&&(t=Math.max(t,this._precisionOf(this.options.min))),t},_precisionOf:function(t){var e=""+t,i=e.indexOf(".");return-1===i?0:e.length-i-1},_adjustValue:function(t){var e,i,s=this.options;return e=null!==s.min?s.min:0,i=t-e,i=Math.round(i/s.step)*s.step,t=e+i,t=parseFloat(t.toFixed(this._precision())),null!==s.max&&t>s.max?s.max:null!==s.min&&s.min>t?s.min:t},_stop:function(t){this.spinning&&(clearTimeout(this.timer),clearTimeout(this.mousewheelTimer),this.counter=0,this.spinning=!1,this._trigger("stop",t))},_setOption:function(t,e){var i,s,n;return"culture"===t||"numberFormat"===t?(i=this._parse(this.element.val()),this.options[t]=e,this.element.val(this._format(i)),void 0):(("max"===t||"min"===t||"step"===t)&&"string"==typeof e&&(e=this._parse(e)),"icons"===t&&(s=this.buttons.first().find(".ui-icon"),this._removeClass(s,null,this.options.icons.up),this._addClass(s,null,e.up),n=this.buttons.last().find(".ui-icon"),this._removeClass(n,null,this.options.icons.down),this._addClass(n,null,e.down)),this._super(t,e),void 0)},_setOptionDisabled:function(t){this._super(t),this._toggleClass(this.uiSpinner,null,"ui-state-disabled",!!t),this.element.prop("disabled",!!t),this.buttons.button(t?"disable":"enable")},_setOptions:r(function(t){this._super(t)}),_parse:function(t){return"string"==typeof t&&""!==t&&(t=window.Globalize&&this.options.numberFormat?Globalize.parseFloat(t,10,this.options.culture):+t),""===t||isNaN(t)?null:t},_format:function(t){return""===t?"":window.Globalize&&this.options.numberFormat?Globalize.format(t,this.options.numberFormat,this.options.culture):t},_refresh:function(){this.element.attr({"aria-valuemin":this.options.min,"aria-valuemax":this.options.max,"aria-valuenow":this._parse(this.element.val())})},isValid:function(){var t=this.value();return null===t?!1:t===this._adjustValue(t)},_value:function(t,e){var i;""!==t&&(i=this._parse(t),null!==i&&(e||(i=this._adjustValue(i)),t=this._format(i))),this.element.val(t),this._refresh()},_destroy:function(){this.element.prop("disabled",!1).removeAttr("autocomplete role aria-valuemin aria-valuemax aria-valuenow"),this.uiSpinner.replaceWith(this.element)},stepUp:r(function(t){this._stepUp(t)}),_stepUp:function(t){this._start()&&(this._spin((t||1)*this.options.step),this._stop())},stepDown:r(function(t){this._stepDown(t)}),_stepDown:function(t){this._start()&&(this._spin((t||1)*-this.options.step),this._stop())},pageUp:r(function(t){this._stepUp((t||1)*this.options.page)}),pageDown:r(function(t){this._stepDown((t||1)*this.options.page)}),value:function(t){return arguments.length?(r(this._value).call(this,t),void 0):this._parse(this.element.val())},widget:function(){return this.uiSpinner}}),t.uiBackCompat!==!1&&t.widget("ui.spinner",t.ui.spinner,{_enhance:function(){this.uiSpinner=this.element.attr("autocomplete","off").wrap(this._uiSpinnerHtml()).parent().append(this._buttonHtml())},_uiSpinnerHtml:function(){return""},_buttonHtml:function(){return""}}),t.ui.spinner,t.widget("ui.tabs",{version:"1.12.0",delay:300,options:{active:null,classes:{"ui-tabs":"ui-corner-all","ui-tabs-nav":"ui-corner-all","ui-tabs-panel":"ui-corner-bottom","ui-tabs-tab":"ui-corner-top"},collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_isLocal:function(){var t=/#.*$/;return function(e){var i,s;i=e.href.replace(t,""),s=location.href.replace(t,"");try{i=decodeURIComponent(i)}catch(n){}try{s=decodeURIComponent(s)}catch(n){}return e.hash.length>1&&i===s}}(),_create:function(){var e=this,i=this.options;this.running=!1,this._addClass("ui-tabs","ui-widget ui-widget-content"),this._toggleClass("ui-tabs-collapsible",null,i.collapsible),this._processTabs(),i.active=this._initialActive(),t.isArray(i.disabled)&&(i.disabled=t.unique(i.disabled.concat(t.map(this.tabs.filter(".ui-state-disabled"),function(t){return e.tabs.index(t)}))).sort()),this.active=this.options.active!==!1&&this.anchors.length?this._findActive(i.active):t(),this._refresh(),this.active.length&&this.load(i.active)},_initialActive:function(){var e=this.options.active,i=this.options.collapsible,s=location.hash.substring(1);return null===e&&(s&&this.tabs.each(function(i,n){return t(n).attr("aria-controls")===s?(e=i,!1):void 0}),null===e&&(e=this.tabs.index(this.tabs.filter(".ui-tabs-active"))),(null===e||-1===e)&&(e=this.tabs.length?0:!1)),e!==!1&&(e=this.tabs.index(this.tabs.eq(e)),-1===e&&(e=i?!1:0)),!i&&e===!1&&this.anchors.length&&(e=0),e},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):t()}},_tabKeydown:function(e){var i=t(t.ui.safeActiveElement(this.document[0])).closest("li"),s=this.tabs.index(i),n=!0;if(!this._handlePageNav(e)){switch(e.keyCode){case t.ui.keyCode.RIGHT:case t.ui.keyCode.DOWN:s++;break;case t.ui.keyCode.UP:case t.ui.keyCode.LEFT:n=!1,s--;break;case t.ui.keyCode.END:s=this.anchors.length-1;break;case t.ui.keyCode.HOME:s=0;break;case t.ui.keyCode.SPACE:return e.preventDefault(),clearTimeout(this.activating),this._activate(s),void 0;case t.ui.keyCode.ENTER:return e.preventDefault(),clearTimeout(this.activating),this._activate(s===this.options.active?!1:s),void 0;default:return}e.preventDefault(),clearTimeout(this.activating),s=this._focusNextTab(s,n),e.ctrlKey||e.metaKey||(i.attr("aria-selected","false"),this.tabs.eq(s).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",s)},this.delay))}},_panelKeydown:function(e){this._handlePageNav(e)||e.ctrlKey&&e.keyCode===t.ui.keyCode.UP&&(e.preventDefault(),this.active.trigger("focus"))},_handlePageNav:function(e){return e.altKey&&e.keyCode===t.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):e.altKey&&e.keyCode===t.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):void 0},_findNextTab:function(e,i){function s(){return e>n&&(e=0),0>e&&(e=n),e}for(var n=this.tabs.length-1;-1!==t.inArray(s(),this.options.disabled);)e=i?e+1:e-1;return e},_focusNextTab:function(t,e){return t=this._findNextTab(t,e),this.tabs.eq(t).trigger("focus"),t},_setOption:function(t,e){return"active"===t?(this._activate(e),void 0):(this._super(t,e),"collapsible"===t&&(this._toggleClass("ui-tabs-collapsible",null,e),e||this.options.active!==!1||this._activate(0)),"event"===t&&this._setupEvents(e),"heightStyle"===t&&this._setupHeightStyle(e),void 0)},_sanitizeSelector:function(t){return t?t.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var e=this.options,i=this.tablist.children(":has(a[href])");e.disabled=t.map(i.filter(".ui-state-disabled"),function(t){return i.index(t)}),this._processTabs(),e.active!==!1&&this.anchors.length?this.active.length&&!t.contains(this.tablist[0],this.active[0])?this.tabs.length===e.disabled.length?(e.active=!1,this.active=t()):this._activate(this._findNextTab(Math.max(0,e.active-1),!1)):e.active=this.tabs.index(this.active):(e.active=!1,this.active=t()),this._refresh()},_refresh:function(){this._setOptionDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-hidden":"true"}),this.active.length?(this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}),this._addClass(this.active,"ui-tabs-active","ui-state-active"),this._getPanelForTab(this.active).show().attr({"aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var e=this,i=this.tabs,s=this.anchors,n=this.panels;this.tablist=this._getList().attr("role","tablist"),this._addClass(this.tablist,"ui-tabs-nav","ui-helper-reset ui-helper-clearfix ui-widget-header"),this.tablist.on("mousedown"+this.eventNamespace,"> li",function(e){t(this).is(".ui-state-disabled")&&e.preventDefault()}).on("focus"+this.eventNamespace,".ui-tabs-anchor",function(){t(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this.tabs=this.tablist.find("> li:has(a[href])").attr({role:"tab",tabIndex:-1}),this._addClass(this.tabs,"ui-tabs-tab","ui-state-default"),this.anchors=this.tabs.map(function(){return t("a",this)[0]}).attr({role:"presentation",tabIndex:-1}),this._addClass(this.anchors,"ui-tabs-anchor"),this.panels=t(),this.anchors.each(function(i,s){var n,o,a,r=t(s).uniqueId().attr("id"),h=t(s).closest("li"),l=h.attr("aria-controls");e._isLocal(s)?(n=s.hash,a=n.substring(1),o=e.element.find(e._sanitizeSelector(n))):(a=h.attr("aria-controls")||t({}).uniqueId()[0].id,n="#"+a,o=e.element.find(n),o.length||(o=e._createPanel(a),o.insertAfter(e.panels[i-1]||e.tablist)),o.attr("aria-live","polite")),o.length&&(e.panels=e.panels.add(o)),l&&h.data("ui-tabs-aria-controls",l),h.attr({"aria-controls":a,"aria-labelledby":r}),o.attr("aria-labelledby",r)}),this.panels.attr("role","tabpanel"),this._addClass(this.panels,"ui-tabs-panel","ui-widget-content"),i&&(this._off(i.not(this.tabs)),this._off(s.not(this.anchors)),this._off(n.not(this.panels)))},_getList:function(){return this.tablist||this.element.find("ol, ul").eq(0)},_createPanel:function(e){return t("
                ").attr("id",e).data("ui-tabs-destroy",!0)},_setOptionDisabled:function(e){var i,s,n;for(t.isArray(e)&&(e.length?e.length===this.anchors.length&&(e=!0):e=!1),n=0;s=this.tabs[n];n++)i=t(s),e===!0||-1!==t.inArray(n,e)?(i.attr("aria-disabled","true"),this._addClass(i,null,"ui-state-disabled")):(i.removeAttr("aria-disabled"),this._removeClass(i,null,"ui-state-disabled"));this.options.disabled=e,this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,e===!0)},_setupEvents:function(e){var i={};e&&t.each(e.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(!0,this.anchors,{click:function(t){t.preventDefault()}}),this._on(this.anchors,i),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(e){var i,s=this.element.parent();"fill"===e?(i=s.height(),i-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var e=t(this),s=e.css("position");"absolute"!==s&&"fixed"!==s&&(i-=e.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){i-=t(this).outerHeight(!0)}),this.panels.each(function(){t(this).height(Math.max(0,i-t(this).innerHeight()+t(this).height()))}).css("overflow","auto")):"auto"===e&&(i=0,this.panels.each(function(){i=Math.max(i,t(this).height("").height())}).height(i))},_eventHandler:function(e){var i=this.options,s=this.active,n=t(e.currentTarget),o=n.closest("li"),a=o[0]===s[0],r=a&&i.collapsible,h=r?t():this._getPanelForTab(o),l=s.length?this._getPanelForTab(s):t(),c={oldTab:s,oldPanel:l,newTab:r?t():o,newPanel:h};e.preventDefault(),o.hasClass("ui-state-disabled")||o.hasClass("ui-tabs-loading")||this.running||a&&!i.collapsible||this._trigger("beforeActivate",e,c)===!1||(i.active=r?!1:this.tabs.index(o),this.active=a?t():o,this.xhr&&this.xhr.abort(),l.length||h.length||t.error("jQuery UI Tabs: Mismatching fragment identifier."),h.length&&this.load(this.tabs.index(o),e),this._toggle(e,c))},_toggle:function(e,i){function s(){o.running=!1,o._trigger("activate",e,i)}function n(){o._addClass(i.newTab.closest("li"),"ui-tabs-active","ui-state-active"),a.length&&o.options.show?o._show(a,o.options.show,s):(a.show(),s())}var o=this,a=i.newPanel,r=i.oldPanel;this.running=!0,r.length&&this.options.hide?this._hide(r,this.options.hide,function(){o._removeClass(i.oldTab.closest("li"),"ui-tabs-active","ui-state-active"),n()}):(this._removeClass(i.oldTab.closest("li"),"ui-tabs-active","ui-state-active"),r.hide(),n()),r.attr("aria-hidden","true"),i.oldTab.attr({"aria-selected":"false","aria-expanded":"false"}),a.length&&r.length?i.oldTab.attr("tabIndex",-1):a.length&&this.tabs.filter(function(){return 0===t(this).attr("tabIndex")}).attr("tabIndex",-1),a.attr("aria-hidden","false"),i.newTab.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_activate:function(e){var i,s=this._findActive(e);s[0]!==this.active[0]&&(s.length||(s=this.active),i=s.find(".ui-tabs-anchor")[0],this._eventHandler({target:i,currentTarget:i,preventDefault:t.noop}))},_findActive:function(e){return e===!1?t():this.tabs.eq(e)},_getIndex:function(e){return"string"==typeof e&&(e=this.anchors.index(this.anchors.filter("[href$='"+t.ui.escapeSelector(e)+"']"))),e},_destroy:function(){this.xhr&&this.xhr.abort(),this.tablist.removeAttr("role").off(this.eventNamespace),this.anchors.removeAttr("role tabIndex").removeUniqueId(),this.tabs.add(this.panels).each(function(){t.data(this,"ui-tabs-destroy")?t(this).remove():t(this).removeAttr("role tabIndex aria-live aria-busy aria-selected aria-labelledby aria-hidden aria-expanded")}),this.tabs.each(function(){var e=t(this),i=e.data("ui-tabs-aria-controls");i?e.attr("aria-controls",i).removeData("ui-tabs-aria-controls"):e.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(e){var i=this.options.disabled;i!==!1&&(void 0===e?i=!1:(e=this._getIndex(e),i=t.isArray(i)?t.map(i,function(t){return t!==e?t:null}):t.map(this.tabs,function(t,i){return i!==e?i:null})),this._setOptionDisabled(i))},disable:function(e){var i=this.options.disabled;if(i!==!0){if(void 0===e)i=!0;else{if(e=this._getIndex(e),-1!==t.inArray(e,i))return;i=t.isArray(i)?t.merge([e],i).sort():[e]}this._setOptionDisabled(i)}},load:function(e,i){e=this._getIndex(e);var s=this,n=this.tabs.eq(e),o=n.find(".ui-tabs-anchor"),a=this._getPanelForTab(n),r={tab:n,panel:a},h=function(t,e){"abort"===e&&s.panels.stop(!1,!0),s._removeClass(n,"ui-tabs-loading"),a.removeAttr("aria-busy"),t===s.xhr&&delete s.xhr};this._isLocal(o[0])||(this.xhr=t.ajax(this._ajaxSettings(o,i,r)),this.xhr&&"canceled"!==this.xhr.statusText&&(this._addClass(n,"ui-tabs-loading"),a.attr("aria-busy","true"),this.xhr.done(function(t,e,n){setTimeout(function(){a.html(t),s._trigger("load",i,r),h(n,e)},1)}).fail(function(t,e){setTimeout(function(){h(t,e)},1)})))},_ajaxSettings:function(e,i,s){var n=this;return{url:e.attr("href"),beforeSend:function(e,o){return n._trigger("beforeLoad",i,t.extend({jqXHR:e,ajaxSettings:o},s))}}},_getPanelForTab:function(e){var i=t(e).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+i))}}),t.uiBackCompat!==!1&&t.widget("ui.tabs",t.ui.tabs,{_processTabs:function(){this._superApply(arguments),this._addClass(this.tabs,"ui-tab")}}),t.ui.tabs,t.widget("ui.tooltip",{version:"1.12.0",options:{classes:{"ui-tooltip":"ui-corner-all ui-widget-shadow"},content:function(){var e=t(this).attr("title")||"";return t("").text(e).html()},hide:!0,items:"[title]:not([disabled])",position:{my:"left top+15",at:"left bottom",collision:"flipfit flip"},show:!0,track:!1,close:null,open:null},_addDescribedBy:function(e,i){var s=(e.attr("aria-describedby")||"").split(/\s+/);s.push(i),e.data("ui-tooltip-id",i).attr("aria-describedby",t.trim(s.join(" ")))},_removeDescribedBy:function(e){var i=e.data("ui-tooltip-id"),s=(e.attr("aria-describedby")||"").split(/\s+/),n=t.inArray(i,s);-1!==n&&s.splice(n,1),e.removeData("ui-tooltip-id"),s=t.trim(s.join(" ")),s?e.attr("aria-describedby",s):e.removeAttr("aria-describedby")},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.liveRegion=t("
                ").attr({role:"log","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this.disabledTitles=t([])},_setOption:function(e,i){var s=this;this._super(e,i),"content"===e&&t.each(this.tooltips,function(t,e){s._updateContent(e.element)})},_setOptionDisabled:function(t){this[t?"_disable":"_enable"]()},_disable:function(){var e=this;t.each(this.tooltips,function(i,s){var n=t.Event("blur");n.target=n.currentTarget=s.element[0],e.close(n,!0)}),this.disabledTitles=this.disabledTitles.add(this.element.find(this.options.items).addBack().filter(function(){var e=t(this);return e.is("[title]")?e.data("ui-tooltip-title",e.attr("title")).removeAttr("title"):void 0}))},_enable:function(){this.disabledTitles.each(function(){var e=t(this);e.data("ui-tooltip-title")&&e.attr("title",e.data("ui-tooltip-title"))}),this.disabledTitles=t([])},open:function(e){var i=this,s=t(e?e.target:this.element).closest(this.options.items);s.length&&!s.data("ui-tooltip-id")&&(s.attr("title")&&s.data("ui-tooltip-title",s.attr("title")),s.data("ui-tooltip-open",!0),e&&"mouseover"===e.type&&s.parents().each(function(){var e,s=t(this);s.data("ui-tooltip-open")&&(e=t.Event("blur"),e.target=e.currentTarget=this,i.close(e,!0)),s.attr("title")&&(s.uniqueId(),i.parents[this.id]={element:this,title:s.attr("title")},s.attr("title",""))}),this._registerCloseHandlers(e,s),this._updateContent(s,e))},_updateContent:function(t,e){var i,s=this.options.content,n=this,o=e?e.type:null;return"string"==typeof s||s.nodeType||s.jquery?this._open(e,t,s):(i=s.call(t[0],function(i){n._delay(function(){t.data("ui-tooltip-open")&&(e&&(e.type=o),this._open(e,t,i))})}),i&&this._open(e,t,i),void 0)},_open:function(e,i,s){function n(t){l.of=t,a.is(":hidden")||a.position(l)}var o,a,r,h,l=t.extend({},this.options.position);if(s){if(o=this._find(i))return o.tooltip.find(".ui-tooltip-content").html(s),void 0;i.is("[title]")&&(e&&"mouseover"===e.type?i.attr("title",""):i.removeAttr("title")),o=this._tooltip(i),a=o.tooltip,this._addDescribedBy(i,a.attr("id")),a.find(".ui-tooltip-content").html(s),this.liveRegion.children().hide(),h=t("
                ").html(a.find(".ui-tooltip-content").html()),h.removeAttr("name").find("[name]").removeAttr("name"),h.removeAttr("id").find("[id]").removeAttr("id"),h.appendTo(this.liveRegion),this.options.track&&e&&/^mouse/.test(e.type)?(this._on(this.document,{mousemove:n}),n(e)):a.position(t.extend({of:i},this.options.position)),a.hide(),this._show(a,this.options.show),this.options.track&&this.options.show&&this.options.show.delay&&(r=this.delayedShow=setInterval(function(){a.is(":visible")&&(n(l.of),clearInterval(r))},t.fx.interval)),this._trigger("open",e,{tooltip:a})}},_registerCloseHandlers:function(e,i){var s={keyup:function(e){if(e.keyCode===t.ui.keyCode.ESCAPE){var s=t.Event(e);s.currentTarget=i[0],this.close(s,!0)}}};i[0]!==this.element[0]&&(s.remove=function(){this._removeTooltip(this._find(i).tooltip)}),e&&"mouseover"!==e.type||(s.mouseleave="close"),e&&"focusin"!==e.type||(s.focusout="close"),this._on(!0,i,s)},close:function(e){var i,s=this,n=t(e?e.currentTarget:this.element),o=this._find(n);return o?(i=o.tooltip,o.closing||(clearInterval(this.delayedShow),n.data("ui-tooltip-title")&&!n.attr("title")&&n.attr("title",n.data("ui-tooltip-title")),this._removeDescribedBy(n),o.hiding=!0,i.stop(!0),this._hide(i,this.options.hide,function(){s._removeTooltip(t(this))}),n.removeData("ui-tooltip-open"),this._off(n,"mouseleave focusout keyup"),n[0]!==this.element[0]&&this._off(n,"remove"),this._off(this.document,"mousemove"),e&&"mouseleave"===e.type&&t.each(this.parents,function(e,i){t(i.element).attr("title",i.title),delete s.parents[e]}),o.closing=!0,this._trigger("close",e,{tooltip:i}),o.hiding||(o.closing=!1)),void 0):(n.removeData("ui-tooltip-open"),void 0)},_tooltip:function(e){var i=t("
                ").attr("role","tooltip"),s=t("
                ").appendTo(i),n=i.uniqueId().attr("id");return this._addClass(s,"ui-tooltip-content"),this._addClass(i,"ui-tooltip","ui-widget ui-widget-content"),i.appendTo(this._appendTo(e)),this.tooltips[n]={element:e,tooltip:i}},_find:function(t){var e=t.data("ui-tooltip-id");return e?this.tooltips[e]:null},_removeTooltip:function(t){t.remove(),delete this.tooltips[t.attr("id")]},_appendTo:function(t){var e=t.closest(".ui-front, dialog");return e.length||(e=this.document[0].body),e},_destroy:function(){var e=this;t.each(this.tooltips,function(i,s){var n=t.Event("blur"),o=s.element;n.target=n.currentTarget=o[0],e.close(n,!0),t("#"+i).remove(),o.data("ui-tooltip-title")&&(o.attr("title")||o.attr("title",o.data("ui-tooltip-title")),o.removeData("ui-tooltip-title"))}),this.liveRegion.remove()}}),t.uiBackCompat!==!1&&t.widget("ui.tooltip",t.ui.tooltip,{options:{tooltipClass:null},_tooltip:function(){var t=this._superApply(arguments);return this.options.tooltipClass&&t.tooltip.addClass(this.options.tooltipClass),t}}),t.ui.tooltip}); \ No newline at end of file diff --git a/classroom/assets/js/lib/jquery.js b/classroom/assets/js/lib/jquery.js new file mode 100644 index 00000000..b0614034 --- /dev/null +++ b/classroom/assets/js/lib/jquery.js @@ -0,0 +1,2 @@ +/*! 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-1&&(I(t,e),g(t,r.class_loading)),p(t,e),function(t){s(t,"was-processed","true")}(t),d(r.callback_reveal,t,e),d(r.callback_set,t,e))},z=function(t){return!!n&&(t._observer=new IntersectionObserver(function(e){e.forEach(function(e){return function(t){return t.isIntersecting||t.intersectionRatio>0}(e)?function(t,e,n){var r=n._settings;d(r.callback_enter,t,e,n),r.load_delay?x(t,n):L(t,n)}(e.target,e,t):function(t,e,n){var r=n._settings;d(r.callback_exit,t,e,n),r.load_delay&&O(t)}(e.target,e,t)})},{root:(e=t._settings).container===document?null:e.container,rootMargin:e.thresholds||e.threshold+"px"}),!0);var e},C=["IMG","IFRAME"],N=function(t,e){return function(t){return t.filter(function(t){return!c(t)})}((n=t||function(t){return t.container.querySelectorAll(t.elements_selector)}(e),Array.prototype.slice.call(n)));var n},M=function(t){var e=t._settings;_toConsumableArray(e.container.querySelectorAll("."+e.class_error)).forEach(function(t){y(t,e.class_error),function(t){s(t,"was-processed",null)}(t)}),t.update()},R=function(e,n){var r;this._settings=function(t){return _extends({},o,t)}(e),this._loadingCount=0,z(this),this.update(n),r=this,t&&window.addEventListener("online",function(t){M(r)})};return R.prototype={update:function(t){var n,r=this,o=this._settings;(this._elements=N(t,o),!e&&this._observer)?(function(t){return t.use_native&&"loading"in HTMLImageElement.prototype}(o)&&((n=this)._elements.forEach(function(t){-1!==C.indexOf(t.tagName)&&(t.setAttribute("loading","lazy"),S(t,n))}),this._elements=N(t,o)),this._elements.forEach(function(t){r._observer.observe(t)})):this.loadAll()},destroy:function(){var t=this;this._observer&&(this._elements.forEach(function(e){t._observer.unobserve(e)}),this._observer=null),this._elements=null,this._settings=null},load:function(t,e){S(t,this,e)},loadAll:function(){var t=this;this._elements.forEach(function(e){L(e,t)})}},t&&function(t,e){if(e)if(e.length)for(var n,r=0;n=e[r];r+=1)a(t,n);else a(t,e)}(R,window.lazyLoadOptions),R}); +//# sourceMappingURL=lazyload.min.js.map diff --git a/classroom/assets/js/lib/leader-line.js b/classroom/assets/js/lib/leader-line.js new file mode 100644 index 00000000..b3f2430b --- /dev/null +++ b/classroom/assets/js/lib/leader-line.js @@ -0,0 +1,2 @@ +/*! LeaderLine v1.0.7 (c) anseki https://anseki.github.io/leader-line/ */ +var LeaderLine=function(){"use strict";var Z,w,O,M,I,o,t,s,h,u,n,a,e,_,v,l,r,i,E,x,p,c,d,C="leader-line",b=1,k=2,L=3,A=4,V={top:b,right:k,bottom:L,left:A},P=1,N=2,T=3,W=4,B=5,R={straight:P,arc:N,fluid:T,magnet:W,grid:B},Y="behind",f=C+"-defs",y='',X={disc:{elmId:"leader-line-disc",noRotate:!0,bBox:{left:-5,top:-5,width:10,height:10,right:5,bottom:5},widthR:2.5,heightR:2.5,bCircle:5,sideLen:5,backLen:5,overhead:0,outlineBase:1,outlineMax:4},square:{elmId:"leader-line-square",noRotate:!0,bBox:{left:-5,top:-5,width:10,height:10,right:5,bottom:5},widthR:2.5,heightR:2.5,bCircle:5,sideLen:5,backLen:5,overhead:0,outlineBase:1,outlineMax:4},arrow1:{elmId:"leader-line-arrow1",bBox:{left:-8,top:-8,width:16,height:16,right:8,bottom:8},widthR:4,heightR:4,bCircle:8,sideLen:8,backLen:8,overhead:8,outlineBase:2,outlineMax:1.5},arrow2:{elmId:"leader-line-arrow2",bBox:{left:-7,top:-8,width:11,height:16,right:4,bottom:8},widthR:2.75,heightR:4,bCircle:8,sideLen:8,backLen:7,overhead:4,outlineBase:1,outlineMax:1.75},arrow3:{elmId:"leader-line-arrow3",bBox:{left:-4,top:-5,width:12,height:10,right:8,bottom:5},widthR:3,heightR:2.5,bCircle:8,sideLen:5,backLen:4,overhead:8,outlineBase:1,outlineMax:2.5},hand:{elmId:"leader-line-hand",bBox:{left:-3,top:-12,width:40,height:24,right:37,bottom:12},widthR:10,heightR:6,bCircle:37,sideLen:12,backLen:3,overhead:37},crosshair:{elmId:"leader-line-crosshair",noRotate:!0,bBox:{left:-96,top:-96,width:192,height:192,right:96,bottom:96},widthR:48,heightR:48,bCircle:96,sideLen:96,backLen:96,overhead:0}},F={behind:Y,disc:"disc",square:"square",arrow1:"arrow1",arrow2:"arrow2",arrow3:"arrow3",hand:"hand",crosshair:"crosshair"},q={disc:"disc",square:"square",arrow1:"arrow1",arrow2:"arrow2",arrow3:"arrow3",hand:"hand",crosshair:"crosshair"},G=[b,k,L,A],D="auto",Q={x:"left",y:"top",width:"width",height:"height"},z=80,j=4,H=5,U=120,K=8,J=3.75,$=10,ee=30,te=.5522847,ne=.25*Math.PI,m=/^\s*(\-?[\d\.]+)\s*(\%)?\s*$/,ae="http://www.w3.org/2000/svg",S="-ms-scroll-limit"in document.documentElement.style&&"-ms-ime-align"in document.documentElement.style&&!window.navigator.msPointerEnabled,ie=!S&&!!document.uniqueID,oe="MozAppearance"in document.documentElement.style,le=!(S||oe||!window.chrome||!window.CSS),re=!S&&!ie&&!oe&&!le&&!window.chrome&&"WebkitAppearance"in document.documentElement.style,se=ie||S?.2:.1,ue={path:T,lineColor:"coral",lineSize:4,plugSE:[Y,"arrow1"],plugSizeSE:[1,1],lineOutlineEnabled:!1,lineOutlineColor:"indianred",lineOutlineSize:.25,plugOutlineEnabledSE:[!1,!1],plugOutlineSizeSE:[1,1]},he=(p={}.toString,c={}.hasOwnProperty.toString,d=c.call(Object),function(e){return e&&"[object Object]"===p.call(e)&&(!(e=Object.getPrototypeOf(e))||(e=e.hasOwnProperty("constructor")&&e.constructor)&&"function"==typeof e&&c.call(e)===d)}),pe=Number.isFinite||function(e){return"number"==typeof e&&window.isFinite(e)},g=(_={ease:[.25,.1,.25,1],linear:[0,0,1,1],"ease-in":[.42,0,1,1],"ease-out":[0,0,.58,1],"ease-in-out":[.42,0,.58,1]},v=1e3/60/2,l=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||function(e){setTimeout(e,v)},r=window.cancelAnimationFrame||window.mozCancelAnimationFrame||window.webkitCancelAnimationFrame||window.msCancelAnimationFrame||function(e){clearTimeout(e)},i=Number.isFinite||function(e){return"number"==typeof e&&window.isFinite(e)},E=[],x=0,{add:function(n,e,t,a,i,o,l){var r,s,u,h,p,c,d,f,y,m,S=++x;function g(e,t){return{value:n(t),timeRatio:e,outputRatio:t}}if("string"==typeof i&&(i=_[i]),n=n||function(){},t=this._endIndex||this._string[this._currentIndex]<"0"||"9"=this._endIndex||this._string[this._currentIndex]<"0"||"9"=this._endIndex)return null;var e=null,t=this._string[this._currentIndex];if(this._currentIndex+=1,"0"===t)e=0;else{if("1"!==t)return null;e=1}return this._skipOptionalSpacesOrDelimiter(),e}};function n(e){if(!e||0===e.length)return[];var t=new i(e),n=[];if(t.initialCommandIsMoveTo())for(;t.hasMoreData();){var a=t.parseSegment();if(null===a)break;n.push(a)}return n}function l(e){return e.map(function(e){return{type:e.type,values:Array.prototype.slice.call(e.values)}})}function r(e){var u=[],h=null,p=null,c=null,d=null,f=null,y=null,m=null;return e.forEach(function(e){var t,n,a,i,o,l,r,s;"M"===e.type?(r=e.values[0],s=e.values[1],u.push({type:"M",values:[r,s]}),d=y=r,f=m=s):"C"===e.type?(o=e.values[0],l=e.values[1],t=e.values[2],n=e.values[3],r=e.values[4],s=e.values[5],u.push({type:"C",values:[o,l,t,n,r,s]}),p=t,c=n,d=r,f=s):"L"===e.type?(r=e.values[0],s=e.values[1],u.push({type:"L",values:[r,s]}),d=r,f=s):"H"===e.type?(r=e.values[0],u.push({type:"L",values:[r,f]}),d=r):"V"===e.type?(s=e.values[0],u.push({type:"L",values:[d,s]}),f=s):"S"===e.type?(t=e.values[0],n=e.values[1],r=e.values[2],s=e.values[3],i="C"===h||"S"===h?(a=d+(d-p),f+(f-c)):(a=d,f),u.push({type:"C",values:[a,i,t,n,r,s]}),p=t,c=n,d=r,f=s):"T"===e.type?(r=e.values[0],s=e.values[1],l="Q"===h||"T"===h?(o=d+(d-p),f+(f-c)):(o=d,f),u.push({type:"C",values:[a=d+2*(o-d)/3,i=f+2*(l-f)/3,r+2*(o-r)/3,s+2*(l-s)/3,r,s]}),p=o,c=l,d=r,f=s):"Q"===e.type?(o=e.values[0],l=e.values[1],r=e.values[2],s=e.values[3],u.push({type:"C",values:[a=d+2*(o-d)/3,i=f+2*(l-f)/3,r+2*(o-r)/3,s+2*(l-s)/3,r,s]}),p=o,c=l,d=r,f=s):"A"===e.type?(n=e.values[0],a=e.values[1],i=e.values[2],o=e.values[3],l=e.values[4],r=e.values[5],s=e.values[6],0===n||0===a?(u.push({type:"C",values:[d,f,r,s,r,s]}),d=r,f=s):d===r&&f===s||b(d,f,r,s,n,a,i,o,l).forEach(function(e){u.push({type:"C",values:e}),d=r,f=s})):"Z"===e.type&&(u.push(e),d=y,f=m),h=e.type}),u}var s=e.SVGPathElement.prototype.setAttribute,u=e.SVGPathElement.prototype.removeAttribute,d=e.Symbol?e.Symbol():"__cachedPathData",f=e.Symbol?e.Symbol():"__cachedNormalizedPathData",b=function(e,t,n,a,i,o,l,r,s,u){function h(e,t,n){return{x:e*Math.cos(n)-t*Math.sin(n),y:e*Math.sin(n)+t*Math.cos(n)}}var p=Math.PI*l/180,c=[];u?(_=u[0],v=u[1],S=u[2],g=u[3]):(e=(m=h(e,t,-p)).x,t=m.y,1<(m=(y=(e-(n=(f=h(n,a,-p)).x))/2)*y/(i*i)+(d=(t-(a=f.y))/2)*d/(o*o))&&(i*=m=Math.sqrt(m),o*=m),f=i*i,m=o*o,S=(f=(r===s?-1:1)*Math.sqrt(Math.abs((f*m-f*d*d-m*y*y)/(f*d*d+m*y*y))))*i*d/o+(e+n)/2,g=f*-o*y/i+(t+a)/2,_=Math.asin(parseFloat(((t-g)/o).toFixed(9))),v=Math.asin(parseFloat(((a-g)/o).toFixed(9))),e120*Math.PI/180&&(d=v,f=n,y=a,v=s&&_=e.duration&&e.count&&e.loopsLeft<=1)return a=e.frames[e.lastFrame=e.reverse?0:e.frames.length-1],e.frameCallback(a.value,!0,a.timeRatio,a.outputRatio),void(e.framesStart=null);if(t>e.duration){if(n=Math.floor(t/e.duration),e.count){if(n>=e.loopsLeft)return a=e.frames[e.lastFrame=e.reverse?0:e.frames.length-1],e.frameCallback(a.value,!0,a.timeRatio,a.outputRatio),void(e.framesStart=null);e.loopsLeft-=n}e.framesStart+=e.duration*n,t=i-e.framesStart}e.reverse&&(t=e.duration-t),a=e.frames[e.lastFrame=Math.round(t/v)],!1!==e.frameCallback(a.value,!1,a.timeRatio,a.outputRatio)?o=!0:e.framesStart=null}}),o&&(e=l.call(window,xe))}function be(e,t){e.framesStart=Date.now(),null!=t&&(e.framesStart-=e.duration*(e.reverse?1-t:t)),e.loopsLeft=e.count,e.lastFrame=null,xe()}function ke(t,n){var e,a;return typeof t!=typeof n||(e=he(t)?"obj":Array.isArray(t)?"array":"")!=(he(n)?"obj":Array.isArray(n)?"array":"")||("obj"===e?ke(a=Object.keys(t).sort(),Object.keys(n).sort())||a.some(function(e){return ke(t[e],n[e])}):"array"===e?t.length!==n.length||t.some(function(e,t){return ke(e,n[t])}):t!==n)}function we(n){return n&&(he(n)?Object.keys(n).reduce(function(e,t){return e[t]=we(n[t]),e},{}):Array.isArray(n)?n.map(we):n)}function Oe(e){var t,n,a,i=1,o=e=(e+"").trim();function l(e){var t=1,e=m.exec(e);return e&&(t=parseFloat(e[1]),e[2]?t=0<=t&&t<=100?t/100:1:(t<0||1=Math.abs(n)?0<=t?k:A:0<=n?L:b))})),f.position_path!==y.position_path||f.position_lineStrokeWidth!==y.position_lineStrokeWidth||[0,1].some(function(e){return f.position_plugOverheadSE[e]!==y.position_plugOverheadSE[e]||(t=v[e],n=y.position_socketXYSE[e],t.x!==n.x||t.y!==n.y||t.socketId!==n.socketId)||(t=g[e],n=y.position_socketGravitySE[e],(e=null==t?"auto":Array.isArray(t)?"array":"number")!=(null==n?"auto":Array.isArray(n)?"array":"number")||("array"==e?t[0]!==n[0]||t[1]!==n[1]:t!==n));var t,n})){switch(l.pathList.baseVal=_=[],l.pathList.animVal=null,f.position_path){case P:_.push([E(v[0]),E(v[1])]);break;case N:t="number"==typeof g[0]&&0j?(f.position_lineStrokeWidth-j)*H:0),e.socketId===b?{x:0,y:-(i=(i=(e.y-n.y)/2)=t.x:t.dirId===r?e.y>=t.y:e.x<=t.x}function f(e,t){return t.dirId===i||t.dirId===r?e.x===t.x:e.y===t.y}function y(e){return e[0]?{contain:0,notContain:1}:{contain:1,notContain:0}}function m(e,t,n){return Math.abs(t[n]-e[n])}function S(e,t,n){return"x"===n?e.x=ee?S(u[t.notContain],u[t.contain],o[t.contain]):u[t.contain].dirId)):(i=[{x:u[0].x,y:u[0].y},{x:u[1].x,y:u[1].y}],s.forEach(function(e,t){var n=0===t?1:0,a=m(i[t],i[n],o[t]);a$&&(d[a]-e<$&&(e=d[a]-$),s=Ve(n[0],n[1],(p?e:d[a]-e)/d[a]),_[a]=p?[s,n[1]]:[n[0],s],d[a]-=e)):(d[a]=d[a]||Te.apply(null,n),d[a]>$&&(d[a]-e<$&&(e=d[a]-$),s=Ne(n[0],n[1],n[2],n[3],We(n[0],n[1],n[2],n[3],p?e:d[a]-e)),o=p?(i=n[0],s.toP1):(i=n[3],s.fromP2),l=Math.atan2(i.y-s.y,s.x-i.x),r=Ae(s,o),s.x=i.x+Math.cos(l)*e,s.y=i.y+Math.sin(l)*e*-1,o.x=s.x+Math.cos(l)*r,o.y=s.y+Math.sin(l)*r*-1,_[a]=p?[s,s.toP1,s.toP2,n[3]]:[n[0],s.fromP1,s.fromP2,s],d[a]=null)):e<0&&(n=_[a=p?0:_.length-1],s=v[t].socketId,t=-c[t]["x"==(u=s===A||s===k?"x":"y")?"width":"height"],h=(e=en.outlineMax&&(t=n.outlineMax),t*=2*n.outlineBase,y=Xe(r,u.plugOutline_strokeWidthSE,e,t)||y,y=Xe(r,u.plugOutline_inStrokeWidthSE,e,u.plugOutline_colorTraSE[e]?t-se/(u.line_strokeWidth/ue.lineSize)/s.plugSizeSE[e]*2:t/2)||y)}),y)),(t.faces||U.line||U.plug||U.lineOutline||U.plugOutline)&&(U.faces=(g=(m=e).curStats,_=m.aplStats,v=m.events,E=!1,!g.line_altColor&&Xe(m,_,"line_color",S=g.line_color,v.apl_line_color)&&(m.lineFace.style.stroke=S,E=!0),Xe(m,_,"line_strokeWidth",S=g.line_strokeWidth,v.apl_line_strokeWidth)&&(m.lineShape.style.strokeWidth=S+"px",E=!0,(oe||ie)&&(je(m,m.lineShape),ie&&(je(m,m.lineFace),je(m,m.lineMaskCaps)))),Xe(m,_,"lineOutline_enabled",S=g.lineOutline_enabled,v.apl_lineOutline_enabled)&&(m.lineOutlineFace.style.display=S?"inline":"none",E=!0),g.lineOutline_enabled&&(Xe(m,_,"lineOutline_color",S=g.lineOutline_color,v.apl_lineOutline_color)&&(m.lineOutlineFace.style.stroke=S,E=!0),Xe(m,_,"lineOutline_strokeWidth",S=g.lineOutline_strokeWidth,v.apl_lineOutline_strokeWidth)&&(m.lineOutlineMaskShape.style.strokeWidth=S+"px",E=!0,ie&&(je(m,m.lineOutlineMaskCaps),je(m,m.lineOutlineFace))),Xe(m,_,"lineOutline_inStrokeWidth",S=g.lineOutline_inStrokeWidth,v.apl_lineOutline_inStrokeWidth)&&(m.lineMaskShape.style.strokeWidth=S+"px",E=!0,ie&&(je(m,m.lineOutlineMaskCaps),je(m,m.lineOutlineFace)))),Xe(m,_,"plug_enabled",S=g.plug_enabled,v.apl_plug_enabled)&&(m.plugsFace.style.display=S?"inline":"none",E=!0),g.plug_enabled&&[0,1].forEach(function(n){var e=g.plug_plugSE[n],t=e!==Y?X[q[e]]:null,a=Ze(n,t);Xe(m,_.plug_enabledSE,n,S=g.plug_enabledSE[n],v.apl_plug_enabledSE)&&(m.plugsFace.style[a.prop]=S?"url(#"+m.plugMarkerIdSE[n]+")":"none",E=!0),g.plug_enabledSE[n]&&(Xe(m,_.plug_plugSE,n,e,v.apl_plug_plugSE)&&(m.plugFaceSE[n].href.baseVal="#"+t.elmId,Ue(m,m.plugMarkerSE[n],a.orient,t.bBox,m.svg,m.plugMarkerShapeSE[n],m.plugsFace),E=!0,oe&&je(m,m.plugsFace)),Xe(m,_.plug_colorSE,n,S=g.plug_colorSE[n],v.apl_plug_colorSE)&&(m.plugFaceSE[n].style.fill=S,E=!0,(le||re||ie)&&!g.line_colorTra&&je(m,ie?m.lineMaskCaps:m.capsMaskLine)),["markerWidth","markerHeight"].forEach(function(e){var t="plug_"+e+"SE";Xe(m,_[t],n,S=g[t][n],v["apl_"+t])&&(m.plugMarkerSE[n][e].baseVal.value=S,E=!0)}),Xe(m,_.plugOutline_enabledSE,n,S=g.plugOutline_enabledSE[n],v.apl_plugOutline_enabledSE)&&(S?(m.plugFaceSE[n].style.mask="url(#"+m.plugMaskIdSE[n]+")",m.plugOutlineFaceSE[n].style.display="inline"):(m.plugFaceSE[n].style.mask="none",m.plugOutlineFaceSE[n].style.display="none"),E=!0),g.plugOutline_enabledSE[n]&&(Xe(m,_.plugOutline_plugSE,n,e,v.apl_plugOutline_plugSE)&&(m.plugOutlineFaceSE[n].href.baseVal=m.plugMaskShapeSE[n].href.baseVal=m.plugOutlineMaskShapeSE[n].href.baseVal="#"+t.elmId,[m.plugMaskSE[n],m.plugOutlineMaskSE[n]].forEach(function(e){e.x.baseVal.value=t.bBox.left,e.y.baseVal.value=t.bBox.top,e.width.baseVal.value=t.bBox.width,e.height.baseVal.value=t.bBox.height}),E=!0),Xe(m,_.plugOutline_colorSE,n,S=g.plugOutline_colorSE[n],v.apl_plugOutline_colorSE)&&(m.plugOutlineFaceSE[n].style.fill=S,E=!0,ie&&(je(m,m.lineMaskCaps),je(m,m.lineOutlineMaskCaps))),Xe(m,_.plugOutline_strokeWidthSE,n,S=g.plugOutline_strokeWidthSE[n],v.apl_plugOutline_strokeWidthSE)&&(m.plugOutlineMaskShapeSE[n].style.strokeWidth=S+"px",E=!0),Xe(m,_.plugOutline_inStrokeWidthSE,n,S=g.plugOutline_inStrokeWidthSE[n],v.apl_plugOutline_inStrokeWidthSE)&&(m.plugMaskShapeSE[n].style.strokeWidth=S+"px",E=!0)))}),E)),(t.position||U.line||U.plug)&&(U.position=Ke(e)),(t.path||U.position)&&(U.path=(k=(x=e).curStats,I=x.aplStats,M=x.pathList.animVal||x.pathList.baseVal,w=k.path_edge,C=!1,M&&(w.x1=w.x2=M[0][0].x,w.y1=w.y2=M[0][0].y,k.path_pathData=b=Be(M,function(e){e.xw.x2&&(w.x2=e.x),e.y>w.y2&&(w.y2=e.y)}),Fe(b,I.path_pathData)&&(x.linePath.setPathData(b),I.path_pathData=b,C=!0,ie?(je(x,x.plugsFace),je(x,x.lineMaskCaps)):oe&&je(x,x.linePath),x.events.apl_path&&x.events.apl_path.forEach(function(e){e(x,b)}))),C)),U.viewBox=(M=(O=e).curStats,I=O.aplStats,C=M.path_edge,L=M.viewBox_bBox,A=I.viewBox_bBox,V=O.svg.viewBox.baseVal,P=O.svg.style,N=!1,I=Math.max(M.line_strokeWidth/2,M.viewBox_plugBCircleSE[0]||0,M.viewBox_plugBCircleSE[1]||0),T={x1:C.x1-I,y1:C.y1-I,x2:C.x2+I,y2:C.y2+I},O.events.new_edge4viewBox&&O.events.new_edge4viewBox.forEach(function(e){e(O,T)}),L.x=M.lineMask_x=M.lineOutlineMask_x=M.maskBGRect_x=T.x1,L.y=M.lineMask_y=M.lineOutlineMask_y=M.maskBGRect_y=T.y1,L.width=T.x2-T.x1,L.height=T.y2-T.y1,["x","y","width","height"].forEach(function(e){var t;(t=L[e])!==A[e]&&(V[e]=A[e]=t,P[Q[e]]=t+("x"===e||"y"===e?O.bodyOffset[e]:0)+"px",N=!0)}),N),U.mask=(R=(W=e).curStats,F=W.aplStats,G=!1,R.plug_enabled?[0,1].forEach(function(e){R.capsMaskMarker_enabledSE[e]=R.plug_enabledSE[e]&&R.plug_colorTraSE[e]||R.plugOutline_enabledSE[e]&&R.plugOutline_colorTraSE[e]}):R.capsMaskMarker_enabledSE[0]=R.capsMaskMarker_enabledSE[1]=!1,R.capsMaskMarker_enabled=R.capsMaskMarker_enabledSE[0]||R.capsMaskMarker_enabledSE[1],R.lineMask_outlineMode=R.lineOutline_enabled,R.caps_enabled=R.capsMaskMarker_enabled||R.capsMaskAnchor_enabledSE[0]||R.capsMaskAnchor_enabledSE[1],R.lineMask_enabled=R.caps_enabled||R.lineMask_outlineMode,(R.lineMask_enabled&&!R.lineMask_outlineMode||R.lineOutline_enabled)&&["x","y"].forEach(function(e){var t="maskBGRect_"+e;Xe(W,F,t,B=R[t])&&(W.maskBGRect[e].baseVal.value=B,G=!0)}),Xe(W,F,"lineMask_enabled",B=R.lineMask_enabled)&&(W.lineFace.style.mask=B?"url(#"+W.lineMaskId+")":"none",G=!0,re&&je(W,W.lineMask)),R.lineMask_enabled&&(Xe(W,F,"lineMask_outlineMode",B=R.lineMask_outlineMode)&&(B?(W.lineMaskBG.style.display="none",W.lineMaskShape.style.display="inline"):(W.lineMaskBG.style.display="inline",W.lineMaskShape.style.display="none"),G=!0),["x","y"].forEach(function(e){var t="lineMask_"+e;Xe(W,F,t,B=R[t])&&(W.lineMask[e].baseVal.value=B,G=!0)}),Xe(W,F,"caps_enabled",B=R.caps_enabled)&&(W.lineMaskCaps.style.display=W.lineOutlineMaskCaps.style.display=B?"inline":"none",G=!0,re&&je(W,W.capsMaskLine)),R.caps_enabled&&([0,1].forEach(function(e){var t;Xe(W,F.capsMaskAnchor_enabledSE,e,B=R.capsMaskAnchor_enabledSE[e])&&(W.capsMaskAnchorSE[e].style.display=B?"inline":"none",G=!0,re&&je(W,W.lineMask)),R.capsMaskAnchor_enabledSE[e]&&(Fe(t=R.capsMaskAnchor_pathDataSE[e],F.capsMaskAnchor_pathDataSE[e])&&(W.capsMaskAnchorSE[e].setPathData(t),F.capsMaskAnchor_pathDataSE[e]=t,G=!0),Xe(W,F.capsMaskAnchor_strokeWidthSE,e,B=R.capsMaskAnchor_strokeWidthSE[e])&&(W.capsMaskAnchorSE[e].style.strokeWidth=B+"px",G=!0))}),Xe(W,F,"capsMaskMarker_enabled",B=R.capsMaskMarker_enabled)&&(W.capsMaskLine.style.display=B?"inline":"none",G=!0),R.capsMaskMarker_enabled&&[0,1].forEach(function(n){var e=R.capsMaskMarker_plugSE[n],t=e!==Y?X[q[e]]:null,a=Ze(n,t);Xe(W,F.capsMaskMarker_enabledSE,n,B=R.capsMaskMarker_enabledSE[n])&&(W.capsMaskLine.style[a.prop]=B?"url(#"+W.lineMaskMarkerIdSE[n]+")":"none",G=!0),R.capsMaskMarker_enabledSE[n]&&(Xe(W,F.capsMaskMarker_plugSE,n,e)&&(W.capsMaskMarkerShapeSE[n].href.baseVal="#"+t.elmId,Ue(W,W.capsMaskMarkerSE[n],a.orient,t.bBox,W.svg,W.capsMaskMarkerShapeSE[n],W.capsMaskLine),G=!0,oe&&(je(W,W.capsMaskLine),je(W,W.lineFace))),["markerWidth","markerHeight"].forEach(function(e){var t="capsMaskMarker_"+e+"SE";Xe(W,F[t],n,B=R[t][n])&&(W.capsMaskMarkerSE[n][e].baseVal.value=B,G=!0)}))}))),R.lineOutline_enabled&&["x","y"].forEach(function(e){var t="lineOutlineMask_"+e;Xe(W,F,t,B=R[t])&&(W.lineOutlineMask[e].baseVal.value=B,G=!0)}),G),t.effect&&(j=(D=e).curStats,H=D.aplStats,Object.keys(Z).forEach(function(e){var t=Z[e],n=e+"_enabled",a=e+"_options",e=j[a];Xe(D,H,n,z=j[n])?(z&&(H[a]=we(e)),t[z?"init":"remove"](D)):z&&ke(e,H[a])&&(t.remove(D),H[n]=!0,H[a]=we(e),t.init(D))})),(le||re)&&U.line&&!U.path&&je(e,e.lineShape),le&&U.plug&&!U.line&&je(e,e.plugsFace),He(e)}function et(e,t){return{duration:(pe(e.duration)&&0i.x2&&(i.x2=e.x2),e.y2>i.y2&&(i.y2=e.y2),["x","y"].forEach(function(e){var t,n="dropShadow_"+e;o[n]=t=i[e+"1"],Xe(a,l,n,t)&&(a.efc_dropShadow_elmFilter[e].baseVal.value=t)}))}}},Object.keys(Z).forEach(function(e){var t=Z[e],n=t.stats;n[e+"_enabled"]={iniValue:!1},n[e+"_options"]={hasProps:!0},t.anim&&(n[e+"_animOptions"]={},n[e+"_animId"]={})}),w={none:{defaultAnimOptions:{},init:function(e,t){var n=e.curStats;n.show_animId&&(g.remove(n.show_animId),n.show_animId=null),w.none.start(e,t)},start:function(e,t){w.none.stop(e,!0)},stop:function(e,t,n){var a=e.curStats;return n=null!=n?n:e.aplStats.show_on,a.show_inAnim=!1,t&&Je(e,n),n?1:0}},fade:{defaultAnimOptions:{duration:300,timing:"linear"},init:function(n,e){var t=n.curStats,a=n.aplStats;t.show_animId&&g.remove(t.show_animId),t.show_animId=g.add(function(e){return e},function(e,t){t?w.fade.stop(n,!0):(n.svg.style.opacity=e+"",ie&&(je(n,n.svg),He(n)))},a.show_animOptions.duration,1,a.show_animOptions.timing,null,!1),w.fade.start(n,e)},start:function(e,t){var n,a=e.curStats;a.show_inAnim&&(n=g.stop(a.show_animId)),Je(e,1),a.show_inAnim=!0,g.start(a.show_animId,!e.aplStats.show_on,null!=t?t:n)},stop:function(e,t,n){var a,i=e.curStats;return n=null!=n?n:e.aplStats.show_on,a=i.show_inAnim?g.stop(i.show_animId):n?1:0,i.show_inAnim=!1,t&&(e.svg.style.opacity=n?"":"0",Je(e,n)),a}},draw:{defaultAnimOptions:{duration:500,timing:[.58,0,.42,1]},init:function(n,e){var t=n.curStats,a=n.aplStats,o=n.pathList.baseVal,i=Re(o),l=i.segsLen,r=i.lenAll;t.show_animId&&g.remove(t.show_animId),t.show_animId=g.add(function(e){var t,n,a,i=-1;if(0===e)n=[[o[0][0],o[0][0]]];else if(1===e)n=o;else{for(t=r*e,n=[];t>=l[++i];)n.push(o[i]),t-=l[i];t&&(2===(a=o[i]).length?n.push([a[0],Ve(a[0],a[1],t/l[i])]):(e=Ne(a[0],a[1],a[2],a[3],We(a[0],a[1],a[2],a[3],t)),n.push([a[0],e.fromP1,e.fromP2,e])))}return n},function(e,t){t?w.draw.stop(n,!0):(n.pathList.animVal=e,$e(n,{path:!0}))},a.show_animOptions.duration,1,a.show_animOptions.timing,null,!1),w.draw.start(n,e)},start:function(e,t){var n,a=e.curStats;a.show_inAnim&&(n=g.stop(a.show_animId)),Je(e,1),a.show_inAnim=!0,Ge(e,"apl_position",w.draw.update),g.start(a.show_animId,!e.aplStats.show_on,null!=t?t:n)},stop:function(e,t,n){var a,i=e.curStats;return n=null!=n?n:e.aplStats.show_on,a=i.show_inAnim?g.stop(i.show_animId):n?1:0,i.show_inAnim=!1,t&&(e.pathList.animVal=n?null:[[e.pathList.baseVal[0][0],e.pathList.baseVal[0][0]]],$e(e,{path:!0}),Je(e,n)),a},update:function(e){De(e,"apl_position",w.draw.update),e.curStats.show_inAnim?w.draw.init(e,w.draw.stop(e)):e.aplStats.show_animOptions={}}}},[["start","anchorSE",0],["end","anchorSE",1],["color","lineColor"],["size","lineSize"],["startSocketGravity","socketGravitySE",0],["endSocketGravity","socketGravitySE",1],["startPlugColor","plugColorSE",0],["endPlugColor","plugColorSE",1],["startPlugSize","plugSizeSE",0],["endPlugSize","plugSizeSE",1],["outline","lineOutlineEnabled"],["outlineColor","lineOutlineColor"],["outlineSize","lineOutlineSize"],["startPlugOutline","plugOutlineEnabledSE",0],["endPlugOutline","plugOutlineEnabledSE",1],["startPlugOutlineColor","plugOutlineColorSE",0],["endPlugOutlineColor","plugOutlineColorSE",1],["startPlugOutlineSize","plugOutlineSizeSE",0],["endPlugOutlineSize","plugOutlineSizeSE",1]].forEach(function(e){var t=e[0],n=e[1],a=e[2];Object.defineProperty(ot.prototype,t,{get:function(){var e=null!=a?Se[this._id].options[n][a]:n?Se[this._id].options[n]:Se[this._id].options[t];return null==e?D:we(e)},set:lt(t),enumerable:!0})}),[["path",R],["startSocket",V,"socketSE",0],["endSocket",V,"socketSE",1],["startPlug",F,"plugSE",0],["endPlug",F,"plugSE",1]].forEach(function(e){var a=e[0],i=e[1],o=e[2],l=e[3];Object.defineProperty(ot.prototype,a,{get:function(){var t,n=null!=l?Se[this._id].options[o][l]:o?Se[this._id].options[o]:Se[this._id].options[a];return n?Object.keys(i).some(function(e){return i[e]===n&&(t=e,!0)})?t:new Error("It's broken"):D},set:lt(a),enumerable:!0})}),Object.keys(Z).forEach(function(n){var a=Z[n];Object.defineProperty(ot.prototype,n,{get:function(){var s,e,t=Se[this._id].options[n];return he(t)?(s=t,e=a.optionsConf.reduce(function(e,t){var n,a=t[0],i=t[1],o=t[2],l=t[3],t=t[4],r=null!=t?s[l][t]:l?s[l]:s[i];return e[i]="id"===a?r?Object.keys(o).some(function(e){return o[e]===r&&(n=e,!0)})?n:new Error("It's broken"):D:null==r?D:we(r),e},{}),a.anim&&(e.animation=we(s.animation)),e):t},set:lt(n),enumerable:!0})}),["startLabel","endLabel","middleLabel"].forEach(function(e,n){Object.defineProperty(ot.prototype,e,{get:function(){var e=Se[this._id],t=e.options;return t.labelSEM[n]&&!e.optionIsAttach.labelSEM[n]?_e[t.labelSEM[n]._id].text:t.labelSEM[n]||""},set:lt(e),enumerable:!0})}),ot.prototype.setOptions=function(e){return it(Se[this._id],e),this},ot.prototype.position=function(){return $e(Se[this._id],{position:!0}),this},ot.prototype.remove=function(){var t=Se[this._id],n=t.curStats;Object.keys(Z).forEach(function(e){e+="_animId";n[e]&&g.remove(n[e])}),n.show_animId&&g.remove(n.show_animId),t.attachments.slice().forEach(function(e){at(t,e)}),t.baseWindow&&t.svg&&t.baseWindow.document.body.removeChild(t.svg),delete Se[this._id]},ot.prototype.show=function(e,t){return tt(Se[this._id],!0,e,t),this},ot.prototype.hide=function(e,t){return tt(Se[this._id],!1,e,t),this},o=function(t){t&&_e[t._id]&&(t.boundTargets.slice().forEach(function(e){at(e.props,t,!0)}),t.conf.remove&&t.conf.remove(t),delete _e[t._id])},rt.prototype.remove=function(){var t=this,n=_e[t._id];n&&(n.boundTargets.slice().forEach(function(e){n.conf.removeOption(n,e)}),ze(function(){var e=_e[t._id];e&&(console.error("LeaderLineAttachment was not removed by removeOption"),o(e))}))},M=rt,window.LeaderLineAttachment=M,I=function(e,t){return e instanceof M&&(!(e.isRemoved||t&&_e[e._id].conf.type!==t)||null)},O={pointAnchor:{type:"anchor",argOptions:[{optionName:"element",type:Me}],init:function(e,t){return e.element=O.pointAnchor.checkElement(t.element),e.x=O.pointAnchor.parsePercent(t.x,!0)||[.5,!0],e.y=O.pointAnchor.parsePercent(t.y,!0)||[.5,!0],!0},removeOption:function(e,t){var n=t.props,a={},i=e.element,e=n.options.anchorSE["start"===t.optionName?1:0];i===e&&(i=e===document.body?new M(O.pointAnchor,[i]):document.body),a[t.optionName]=i,it(n,a)},getBBoxNest:function(e,t){var n=Le(e.element,t.baseWindow),a=n.width,t=n.height;return n.width=n.height=0,n.left=n.right=n.left+e.x[0]*(e.x[1]?a:1),n.top=n.bottom=n.top+e.y[0]*(e.y[1]?t:1),n},parsePercent:function(e,t){var n,a,i=!1;return pe(e)?a=e:"string"==typeof e&&(n=m.exec(e))&&n[2]&&(i=0!==(a=parseFloat(n[1])/100)),null!=a&&(t||0<=a)?[a,i]:null},checkElement:function(e){if(null==e)e=document.body;else if(!Me(e))throw new Error("`element` must be Element");return e}},areaAnchor:{type:"anchor",argOptions:[{optionName:"element",type:Me},{optionName:"shape",type:"string"}],stats:{color:{},strokeWidth:{},elementWidth:{},elementHeight:{},elementLeft:{},elementTop:{},pathListRel:{},bBoxRel:{},pathData:{},viewBoxBBox:{hasProps:!0},dashLen:{},dashGap:{}},init:function(a,e){var t,n=[];return a.element=O.pointAnchor.checkElement(e.element),"string"==typeof e.color&&(a.color=e.color.trim()),"string"==typeof e.fillColor&&(a.fill=e.fillColor.trim()),pe(e.size)&&0<=e.size&&(a.size=e.size),e.dash&&(a.dash=!0,pe(e.dash.len)&&0i.right&&(i.right=t),ei.bottom&&(i.bottom=e)):i={left:t,right:t,top:e,bottom:e},o?S.pathListRel.push([o,{x:t,y:e}]):S.pathListRel=[],o={x:t,y:e}}),S.pathListRel.push([]),e=S.strokeWidth/2,e=[{x:i.left-e,y:i.top-e},{x:i.right+e,y:i.bottom+e}],S.bBoxRel={left:e[0].x,top:e[0].y,right:e[1].x,bottom:e[1].y,width:e[1].x-e[0].x,height:e[1].y-e[0].y}}v.pathListRel=v.bBoxRel=!0}return(v.pathListRel||v.elementLeft||v.elementTop)&&(S.pathData=Be(S.pathListRel,function(e){e.x+=n.left,e.y+=n.top})),Xe(t,g,"strokeWidth",a=S.strokeWidth)&&(t.path.style.strokeWidth=a+"px"),Fe(a=S.pathData,g.pathData)&&(t.path.setPathData(a),g.pathData=a,v.pathData=!0),t.dash&&(!v.pathData&&(!v.strokeWidth||t.dashLen&&t.dashGap)||(S.dashLen=t.dashLen||2*S.strokeWidth,S.dashGap=t.dashGap||S.strokeWidth),v.dash=Xe(t,g,"dashLen",S.dashLen)||v.dash,v.dash=Xe(t,g,"dashGap",S.dashGap)||v.dash,v.dash&&(t.path.style.strokeDasharray=g.dashLen+","+g.dashGap)),d=S.viewBoxBBox,f=g.viewBoxBBox,y=t.svg.viewBox.baseVal,m=t.svg.style,d.x=S.bBoxRel.left+n.left,d.y=S.bBoxRel.top+n.top,d.width=S.bBoxRel.width,d.height=S.bBoxRel.height,["x","y","width","height"].forEach(function(e){(a=d[e])!==f[e]&&(y[e]=f[e]=a,m[Q[e]]=a+("x"===e||"y"===e?t.bodyOffset[e]:0)+"px")}),v.strokeWidth||v.pathListRel||v.bBoxRel}},mouseHoverAnchor:{type:"anchor",argOptions:[{optionName:"element",type:Me},{optionName:"showEffectName",type:"string"}],style:{backgroundImage:"url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij48cG9seWdvbiBwb2ludHM9IjI0LDAgMCw4IDgsMTEgMCwxOSA1LDI0IDEzLDE2IDE2LDI0IiBmaWxsPSJjb3JhbCIvPjwvc3ZnPg==')",backgroundSize:"",backgroundRepeat:"no-repeat",backgroundColor:"#f8f881",cursor:"default"},hoverStyle:{backgroundImage:"none",backgroundColor:"#fadf8f"},padding:{top:1,right:15,bottom:1,left:2},minHeight:15,backgroundPosition:{right:2,top:2},backgroundSize:{width:12,height:12},dirKeys:[["top","Top"],["right","Right"],["bottom","Bottom"],["left","Left"]],init:function(a,i){var n,t,e,o,l,r,s,u,h,p=O.mouseHoverAnchor,c={};if(a.element=O.pointAnchor.checkElement(i.element),s=a.element,!((u=s.ownerDocument)&&(h=u.defaultView)&&h.HTMLElement&&s instanceof h.HTMLElement))throw new Error("`element` must be HTML element");return p.style.backgroundSize=p.backgroundSize.width+"px "+p.backgroundSize.height+"px",["style","hoverStyle"].forEach(function(e){var n=p[e];a[e]=Object.keys(n).reduce(function(e,t){return e[t]=n[t],e},{})}),"inline"===(n=a.element.ownerDocument.defaultView.getComputedStyle(a.element,"")).display?a.style.display="inline-block":"none"===n.display&&(a.style.display="block"),O.mouseHoverAnchor.dirKeys.forEach(function(e){var t=e[0],e="padding"+e[1];parseFloat(n[e])e.x2&&(e.x2=n.x2),n.y2>e.y2&&(e.y2=n.y2)},newText:function(e,t,n,a,i){var o,l,r=t.createElementNS(ae,"text");return r.textContent=e,[r.x,r.y].forEach(function(e){var t=n.createSVGLength();t.newValueSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_PX,0),e.baseVal.initialize(t)}),"boolean"!=typeof h&&(h="paintOrder"in r.style),i&&!h?(o=t.createElementNS(ae,"defs"),r.id=a,o.appendChild(r),(l=(e=t.createElementNS(ae,"g")).appendChild(t.createElementNS(ae,"use"))).href.baseVal="#"+a,(t=e.appendChild(t.createElementNS(ae,"use"))).href.baseVal="#"+a,(l=l.style).strokeLinejoin="round",{elmPosition:r,styleText:r.style,styleFill:t.style,styleStroke:l,styleShow:e.style,elmsAppend:[o,e]}):(l=r.style,i&&(l.strokeLinejoin="round",l.paintOrder="stroke"),{elmPosition:r,styleText:l,styleFill:l,styleStroke:i?l:null,styleShow:l,elmsAppend:[r]})},getMidPoint:function(e,t){var n,a,i=Re(e),o=i.segsLen,i=i.lenAll,l=-1,r=i/2+(t||0);if(r<=0)return 2===(n=e[0]).length?Ve(n[0],n[1],0):Ne(n[0],n[1],n[2],n[3],0);if(i<=r)return 2===(n=e[e.length-1]).length?Ve(n[0],n[1],1):Ne(n[0],n[1],n[2],n[3],1);for(a=[];r>o[++l];)a.push(e[l]),r-=o[l];return 2===(n=e[l]).length?Ve(n[0],n[1],r/o[l]):Ne(n[0],n[1],n[2],n[3],We(n[0],n[1],n[2],n[3],r))},initSvg:function(t,n){var e,a,i=O.captionLabel.newText(t.text,n.baseWindow.document,n.svg,C+"-captionLabel-"+t._id,t.outlineColor);["elmPosition","styleFill","styleShow","elmsAppend"].forEach(function(e){t[e]=i[e]}),t.isShown=!1,t.styleShow.visibility="hidden",O.captionLabel.textStyleProps.forEach(function(e){null!=t[e]&&(i.styleText[e]=t[e])}),i.elmsAppend.forEach(function(e){n.svg.appendChild(e)}),e=i.elmPosition.getBBox(),t.width=e.width,t.height=e.height,t.outlineColor&&(a=e.height/9,i.styleStroke.strokeWidth=(a=10c?((t=d.points)[1]=Pe(t[0],t[1],-c),d.len=Ae(t[0],t[1])):(d.points=null,d.len=0),e.len>c+n?((t=e.points)[0]=Pe(t[1],t[0],-(c+n)),e.len=Ae(t[0],t[1])):(e.points=null,e.len=0)),e):null}),f.reduce(function(t,e){var n=e.points;return n&&(a&&y(n[0],a)||t.push({type:"M",values:[n[0].x,n[0].y]}),"line"===e.type?t.push({type:"L",values:[n[1].x,n[1].y]}):(n.shift(),n.forEach(function(e){t.push({type:"L",values:[e.x,e.y]})})),a=n[n.length-1]),t},[])},newText:function(e,t,n,a){var i,o,l,r,s=t.createElementNS(ae,"defs"),u=s.appendChild(t.createElementNS(ae,"path"));return u.id=i=n+"-path",(l=(o=t.createElementNS(ae,"text")).appendChild(t.createElementNS(ae,"textPath"))).href.baseVal="#"+i,l.startOffset.baseVal.newValueSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_PX,0),l.textContent=e,"boolean"!=typeof h&&(h="paintOrder"in o.style),a&&!h?(o.id=e=n+"-text",s.appendChild(o),(r=(n=t.createElementNS(ae,"g")).appendChild(t.createElementNS(ae,"use"))).href.baseVal="#"+e,(t=n.appendChild(t.createElementNS(ae,"use"))).href.baseVal="#"+e,(r=r.style).strokeLinejoin="round",{elmPosition:o,elmPath:u,elmOffset:l,styleText:o.style,styleFill:t.style,styleStroke:r,styleShow:n.style,elmsAppend:[s,n]}):(r=o.style,a&&(r.strokeLinejoin="round",r.paintOrder="stroke"),{elmPosition:o,elmPath:u,elmOffset:l,styleText:r,styleFill:r,styleStroke:a?r:null,styleShow:r,elmsAppend:[s,o]})},initSvg:function(t,n){var e,a,i,o=O.pathLabel.newText(t.text,n.baseWindow.document,C+"-pathLabel-"+t._id,t.outlineColor);["elmPosition","elmPath","elmOffset","styleFill","styleShow","elmsAppend"].forEach(function(e){t[e]=o[e]}),t.isShown=!1,t.styleShow.visibility="hidden",O.captionLabel.textStyleProps.forEach(function(e){null!=t[e]&&(o.styleText[e]=t[e])}),o.elmsAppend.forEach(function(e){n.svg.appendChild(e)}),o.elmPath.setPathData([{type:"M",values:[0,100]},{type:"h",values:[100]}]),le&&(i=o.elmOffset.href.baseVal,o.elmOffset.href.baseVal=""),e=o.elmPosition.getBBox(),le&&(o.elmOffset.href.baseVal=i),o.styleText.textAnchor=["start","end","middle"][t.semIndex],2!==t.semIndex||t.lineOffset||o.elmOffset.startOffset.baseVal.newValueSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_PERCENTAGE,50),t.height=e.height,t.outlineColor&&(a=e.height/9,o.styleStroke.strokeWidth=(a=10=0&&(c=c.substring(0,j)+"([\\w._\\+]+)"+c.substring(j+5)),b[e]=new RegExp(c,"i");k.props[a]=b}d(k.oss),d(k.phones),d(k.tablets),d(k.uas),d(k.utils),k.oss0={WindowsPhoneOS:k.oss.WindowsPhoneOS,WindowsMobileOS:k.oss.WindowsMobileOS}}(),g.findMatch=function(a,b){for(var c in a)if(i.call(a,c)&&a[c].test(b))return c;return null},g.findMatches=function(a,b){var c=[];for(var d in a)i.call(a,d)&&a[d].test(b)&&c.push(d);return c},g.getVersionStr=function(a,b){var c,d,e,f,h=g.mobileDetectRules.props;if(i.call(h,a))for(c=h[a],e=c.length,d=0;d1&&(a=b[0]+".",b.shift(),a+=b.join("")),Number(a)},g.isMobileFallback=function(a){return g.detectMobileBrowsers.fullPattern.test(a)||g.detectMobileBrowsers.shortPattern.test(a.substr(0,4))},g.isTabletFallback=function(a){return g.detectMobileBrowsers.tabletPattern.test(a)},g.prepareDetectionCache=function(a,c,d){if(a.mobile===b){var e,h,i;return(h=g.findMatch(g.mobileDetectRules.tablets,c))?(a.mobile=a.tablet=h,void(a.phone=null)):(e=g.findMatch(g.mobileDetectRules.phones,c))?(a.mobile=a.phone=e,void(a.tablet=null)):void(g.isMobileFallback(c)?(i=f.isPhoneSized(d),i===b?(a.mobile=g.FALLBACK_MOBILE,a.tablet=a.phone=null):i?(a.mobile=a.phone=g.FALLBACK_PHONE,a.tablet=null):(a.mobile=a.tablet=g.FALLBACK_TABLET,a.phone=null)):g.isTabletFallback(c)?(a.mobile=a.tablet=g.FALLBACK_TABLET,a.phone=null):a.mobile=a.tablet=a.phone=null)}},g.mobileGrade=function(a){var b=null!==a.mobile();return a.os("iOS")&&a.version("iPad")>=4.3||a.os("iOS")&&a.version("iPhone")>=3.1||a.os("iOS")&&a.version("iPod")>=3.1||a.version("Android")>2.1&&a.is("Webkit")||a.version("Windows Phone OS")>=7||a.is("BlackBerry")&&a.version("BlackBerry")>=6||a.match("Playbook.*Tablet")||a.version("webOS")>=1.4&&a.match("Palm|Pre|Pixi")||a.match("hp.*TouchPad")||a.is("Firefox")&&a.version("Firefox")>=12||a.is("Chrome")&&a.is("AndroidOS")&&a.version("Android")>=4||a.is("Skyfire")&&a.version("Skyfire")>=4.1&&a.is("AndroidOS")&&a.version("Android")>=2.3||a.is("Opera")&&a.version("Opera Mobi")>11&&a.is("AndroidOS")||a.is("MeeGoOS")||a.is("Tizen")||a.is("Dolfin")&&a.version("Bada")>=2||(a.is("UC Browser")||a.is("Dolfin"))&&a.version("Android")>=2.3||a.match("Kindle Fire")||a.is("Kindle")&&a.version("Kindle")>=3||a.is("AndroidOS")&&a.is("NookTablet")||a.version("Chrome")>=11&&!b||a.version("Safari")>=5&&!b||a.version("Firefox")>=4&&!b||a.version("MSIE")>=7&&!b||a.version("Opera")>=10&&!b?"A":a.os("iOS")&&a.version("iPad")<4.3||a.os("iOS")&&a.version("iPhone")<3.1||a.os("iOS")&&a.version("iPod")<3.1||a.is("Blackberry")&&a.version("BlackBerry")>=5&&a.version("BlackBerry")<6||a.version("Opera Mini")>=5&&a.version("Opera Mini")<=6.5&&(a.version("Android")>=2.3||a.is("iOS"))||a.match("NokiaN8|NokiaC7|N97.*Series60|Symbian/3")||a.version("Opera Mobi")>=11&&a.is("SymbianOS")?"B":(a.version("BlackBerry")<5||a.match("MSIEMobile|Windows CE.*Mobile")||a.version("Windows Mobile")<=5.2,"C")},g.detectOS=function(a){return g.findMatch(g.mobileDetectRules.oss0,a)||g.findMatch(g.mobileDetectRules.oss,a)},g.getDeviceSmallerSide=function(){return window.screen.width=o.clientWidth&&n>=o.clientHeight}),l=0a[e]&&!t.escapeWithReference&&(n=Q(f[o],a[e]-('right'===e?f.width:f.height))),ae({},o,n)}};return l.forEach(function(e){var t=-1===['left','top'].indexOf(e)?'secondary':'primary';f=le({},f,m[t](e))}),e.offsets.popper=f,e},priority:['left','right','top','bottom'],padding:5,boundariesElement:'scrollParent'},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,o=t.popper,n=t.reference,i=e.placement.split('-')[0],r=Z,p=-1!==['top','bottom'].indexOf(i),s=p?'right':'bottom',d=p?'left':'top',a=p?'width':'height';return o[s]r(n[s])&&(e.offsets.popper[d]=r(n[s])),e}},arrow:{order:500,enabled:!0,fn:function(e,o){var n;if(!K(e.instance.modifiers,'arrow','keepTogether'))return e;var i=o.element;if('string'==typeof i){if(i=e.instance.popper.querySelector(i),!i)return e;}else if(!e.instance.popper.contains(i))return console.warn('WARNING: `arrow.element` must be child of its popper element!'),e;var r=e.placement.split('-')[0],p=e.offsets,s=p.popper,d=p.reference,a=-1!==['left','right'].indexOf(r),l=a?'height':'width',f=a?'Top':'Left',m=f.toLowerCase(),h=a?'left':'top',c=a?'bottom':'right',u=S(i)[l];d[c]-us[c]&&(e.offsets.popper[m]+=d[m]+u-s[c]),e.offsets.popper=g(e.offsets.popper);var b=d[m]+d[l]/2-u/2,w=t(e.instance.popper),y=parseFloat(w['margin'+f],10),E=parseFloat(w['border'+f+'Width'],10),v=b-e.offsets.popper[m]-y-E;return v=ee(Q(s[l]-u,v),0),e.arrowElement=i,e.offsets.arrow=(n={},ae(n,m,$(v)),ae(n,h,''),n),e},element:'[x-arrow]'},flip:{order:600,enabled:!0,fn:function(e,t){if(W(e.instance.modifiers,'inner'))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;var o=v(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement,e.positionFixed),n=e.placement.split('-')[0],i=T(n),r=e.placement.split('-')[1]||'',p=[];switch(t.behavior){case ce.FLIP:p=[n,i];break;case ce.CLOCKWISE:p=G(n);break;case ce.COUNTERCLOCKWISE:p=G(n,!0);break;default:p=t.behavior;}return p.forEach(function(s,d){if(n!==s||p.length===d+1)return e;n=e.placement.split('-')[0],i=T(n);var a=e.offsets.popper,l=e.offsets.reference,f=Z,m='left'===n&&f(a.right)>f(l.left)||'right'===n&&f(a.left)f(l.top)||'bottom'===n&&f(a.top)f(o.right),g=f(a.top)f(o.bottom),b='left'===n&&h||'right'===n&&c||'top'===n&&g||'bottom'===n&&u,w=-1!==['top','bottom'].indexOf(n),y=!!t.flipVariations&&(w&&'start'===r&&h||w&&'end'===r&&c||!w&&'start'===r&&g||!w&&'end'===r&&u),E=!!t.flipVariationsByContent&&(w&&'start'===r&&c||w&&'end'===r&&h||!w&&'start'===r&&u||!w&&'end'===r&&g),v=y||E;(m||b||v)&&(e.flipped=!0,(m||b)&&(n=p[d+1]),v&&(r=z(r)),e.placement=n+(r?'-'+r:''),e.offsets.popper=le({},e.offsets.popper,C(e.instance.popper,e.offsets.reference,e.placement)),e=P(e.instance.modifiers,e,'flip'))}),e},behavior:'flip',padding:5,boundariesElement:'viewport',flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,o=t.split('-')[0],n=e.offsets,i=n.popper,r=n.reference,p=-1!==['left','right'].indexOf(o),s=-1===['top','left'].indexOf(o);return i[p?'left':'top']=r[o]-(s?i[p?'width':'height']:0),e.placement=T(t),e.offsets.popper=g(i),e}},hide:{order:800,enabled:!0,fn:function(e){if(!K(e.instance.modifiers,'hide','preventOverflow'))return e;var t=e.offsets.reference,o=D(e.instance.modifiers,function(e){return'preventOverflow'===e.name}).boundaries;if(t.bottomo.right||t.top>o.bottom||t.rightwindow.devicePixelRatio||!fe),c='bottom'===o?'top':'bottom',g='right'===n?'left':'right',b=B('transform');if(d='bottom'==c?'HTML'===l.nodeName?-l.clientHeight+h.bottom:-f.height+h.bottom:h.top,s='right'==g?'HTML'===l.nodeName?-l.clientWidth+h.right:-f.width+h.right:h.left,a&&b)m[b]='translate3d('+s+'px, '+d+'px, 0)',m[c]=0,m[g]=0,m.willChange='transform';else{var w='bottom'==c?-1:1,y='right'==g?-1:1;m[c]=d*w,m[g]=s*y,m.willChange=c+', '+g}var E={"x-placement":e.placement};return e.attributes=le({},E,e.attributes),e.styles=le({},m,e.styles),e.arrowStyles=le({},e.offsets.arrow,e.arrowStyles),e},gpuAcceleration:!0,x:'bottom',y:'right'},applyStyle:{order:900,enabled:!0,fn:function(e){return V(e.instance.popper,e.styles),j(e.instance.popper,e.attributes),e.arrowElement&&Object.keys(e.arrowStyles).length&&V(e.arrowElement,e.arrowStyles),e},onLoad:function(e,t,o,n,i){var r=L(i,t,e,o.positionFixed),p=O(o.placement,r,t,e,o.modifiers.flip.boundariesElement,o.modifiers.flip.padding);return t.setAttribute('x-placement',p),V(t,{position:o.positionFixed?'fixed':'absolute'}),o},gpuAcceleration:void 0}}},ge}); +//# sourceMappingURL=popper.min.js.map diff --git a/classroom/assets/js/lib/slick-carrousel.js b/classroom/assets/js/lib/slick-carrousel.js new file mode 100644 index 00000000..42172c2f --- /dev/null +++ b/classroom/assets/js/lib/slick-carrousel.js @@ -0,0 +1 @@ +!function(i){"use strict";"function"==typeof define&&define.amd?define(["jquery"],i):"undefined"!=typeof exports?module.exports=i(require("jquery")):i(jQuery)}(function(i){"use strict";var e=window.Slick||{};(e=function(){var e=0;return function(t,o){var s,n=this;n.defaults={accessibility:!0,adaptiveHeight:!1,appendArrows:i(t),appendDots:i(t),arrows:!0,asNavFor:null,prevArrow:'',nextArrow:'',autoplay:!1,autoplaySpeed:3e3,centerMode:!1,centerPadding:"50px",cssEase:"ease",customPaging:function(e,t){return i('
                - +

                @@ -364,31 +364,29 @@

                < $('#fake-display').text(text); })); - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file + diff --git a/classroom/login.html.old b/classroom/login.html.old index 1234994e..c84cf75d 100644 --- a/classroom/login.html.old +++ b/classroom/login.html.old @@ -45,7 +45,7 @@

                - +

                @@ -225,7 +225,7 @@

                - +

                @@ -371,25 +371,26 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + \ No newline at end of file + diff --git a/classroom/login.php b/classroom/login.php index 3e22a808..68de19e2 100644 --- a/classroom/login.php +++ b/classroom/login.php @@ -34,8 +34,8 @@ ?> - - + + diff --git a/classroom/password_manager.html b/classroom/password_manager.html index 41f188ae..51fbcc8f 100644 --- a/classroom/password_manager.html +++ b/classroom/password_manager.html @@ -100,15 +100,14 @@

                - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + diff --git a/classroom/password_manager.php b/classroom/password_manager.php index b414829c..d375202f 100644 --- a/classroom/password_manager.php +++ b/classroom/password_manager.php @@ -13,7 +13,7 @@ use User\Entity\Regular; -// Load env variables +// Load env variables $dotenv = Dotenv::createImmutable(__DIR__."/../"); $dotenv->safeLoad(); @@ -31,12 +31,12 @@ function showPasswordPage() { require_once(__DIR__ . "/header.html"); ?> - - - + + + Classroom Privacy - - + + - - - + + - - - - - - - - - + + + + + + +
                -

                Place your Privacy Policy here

                +

                Place your Privacy Policy here

                - - - - - - - - + + + + + + + + - + - \ No newline at end of file + diff --git a/classroom/registration.html b/classroom/registration.html index c1c2fc99..41f7a98f 100644 --- a/classroom/registration.html +++ b/classroom/registration.html @@ -125,16 +125,14 @@ - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + diff --git a/classroom/registration.php b/classroom/registration.php index a7ef7408..fa16b0d1 100644 --- a/classroom/registration.php +++ b/classroom/registration.php @@ -14,7 +14,7 @@ use User\Entity\Regular; use Utils\ConnectionManager; -// Load env variables +// Load env variables $dotenv = Dotenv::createImmutable(__DIR__ . "/../"); $dotenv->safeLoad(); @@ -49,9 +49,9 @@ require_once(__DIR__ . "/header.html"); ?> - - - + + + diff --git a/resources/pageRessources.php b/resources/pageRessources.php index 1e181f6c..755fdc9f 100644 --- a/resources/pageRessources.php +++ b/resources/pageRessources.php @@ -3,7 +3,7 @@ "index.php" => [ [ "type" => "css", - "src" => "https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.css" + "src" => "assets/css/slick.css" ], [ "type" => "css", @@ -11,7 +11,7 @@ ], [ "type" => "js", - "src" => "https://cdn.jsdelivr.net/npm/vanilla-lazyload@12.4.0/dist/lazyload.min.js" + "src" => "assets/js/lib/lazyload.js" ] ], "shop.php" => [ @@ -21,7 +21,7 @@ ], [ "type" => "css", - "src" => "https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.css" + "src" => "assets/css/lib/slick.css" ], [ "type" => "css", From 8d2ad944a43e434b99d5731fc7ea6c369494c8dd Mon Sep 17 00:00:00 2001 From: Paul Libbrecht Date: Tue, 30 Aug 2022 18:47:46 +0200 Subject: [PATCH 027/340] get rid of CDNs. --- classroom/header.html | 1 - classroom/legal.php | 12 +++++------- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/classroom/header.html b/classroom/header.html index 69c7b89f..87b9a87a 100644 --- a/classroom/header.html +++ b/classroom/header.html @@ -9,7 +9,6 @@ - diff --git a/classroom/legal.php b/classroom/legal.php index 8f04ec8a..c429fe11 100644 --- a/classroom/legal.php +++ b/classroom/legal.php @@ -12,13 +12,11 @@ - - - - - - + + + + + From 3811c090c08c4f7ed48fe853613184bb22d822a4 Mon Sep 17 00:00:00 2001 From: Paul Libbrecht Date: Wed, 31 Aug 2022 08:10:18 +0200 Subject: [PATCH 028/340] js and not css! --- classroom/home.html | 1 + 1 file changed, 1 insertion(+) diff --git a/classroom/home.html b/classroom/home.html index e097c880..302c07c3 100644 --- a/classroom/home.html +++ b/classroom/home.html @@ -1857,6 +1857,7 @@

                + From dc87897c2865567e9b875329ee7d582b5f77e862 Mon Sep 17 00:00:00 2001 From: Paul Libbrecht Date: Wed, 31 Aug 2022 08:22:44 +0200 Subject: [PATCH 029/340] remove sourcemap reference. --- classroom/assets/js/lib/popper.js | 2 +- classroom/assets/js/lib/qr-creator.min.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/classroom/assets/js/lib/popper.js b/classroom/assets/js/lib/popper.js index 8a17212f..4e455efd 100644 --- a/classroom/assets/js/lib/popper.js +++ b/classroom/assets/js/lib/popper.js @@ -2,4 +2,4 @@ Copyright (C) Federico Zivolo 2019 Distributed under the MIT License (license terms are at http://opensource.org/licenses/MIT). */(function(e,t){'object'==typeof exports&&'undefined'!=typeof module?module.exports=t():'function'==typeof define&&define.amd?define(t):e.Popper=t()})(this,function(){'use strict';function e(e){return e&&'[object Function]'==={}.toString.call(e)}function t(e,t){if(1!==e.nodeType)return[];var o=e.ownerDocument.defaultView,n=o.getComputedStyle(e,null);return t?n[t]:n}function o(e){return'HTML'===e.nodeName?e:e.parentNode||e.host}function n(e){if(!e)return document.body;switch(e.nodeName){case'HTML':case'BODY':return e.ownerDocument.body;case'#document':return e.body;}var i=t(e),r=i.overflow,p=i.overflowX,s=i.overflowY;return /(auto|scroll|overlay)/.test(r+s+p)?e:n(o(e))}function i(e){return e&&e.referenceNode?e.referenceNode:e}function r(e){return 11===e?re:10===e?pe:re||pe}function p(e){if(!e)return document.documentElement;for(var o=r(10)?document.body:null,n=e.offsetParent||null;n===o&&e.nextElementSibling;)n=(e=e.nextElementSibling).offsetParent;var i=n&&n.nodeName;return i&&'BODY'!==i&&'HTML'!==i?-1!==['TH','TD','TABLE'].indexOf(n.nodeName)&&'static'===t(n,'position')?p(n):n:e?e.ownerDocument.documentElement:document.documentElement}function s(e){var t=e.nodeName;return'BODY'!==t&&('HTML'===t||p(e.firstElementChild)===e)}function d(e){return null===e.parentNode?e:d(e.parentNode)}function a(e,t){if(!e||!e.nodeType||!t||!t.nodeType)return document.documentElement;var o=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,n=o?e:t,i=o?t:e,r=document.createRange();r.setStart(n,0),r.setEnd(i,0);var l=r.commonAncestorContainer;if(e!==l&&t!==l||n.contains(i))return s(l)?l:p(l);var f=d(e);return f.host?a(f.host,t):a(e,d(t).host)}function l(e){var t=1=o.clientWidth&&n>=o.clientHeight}),l=0a[e]&&!t.escapeWithReference&&(n=Q(f[o],a[e]-('right'===e?f.width:f.height))),ae({},o,n)}};return l.forEach(function(e){var t=-1===['left','top'].indexOf(e)?'secondary':'primary';f=le({},f,m[t](e))}),e.offsets.popper=f,e},priority:['left','right','top','bottom'],padding:5,boundariesElement:'scrollParent'},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,o=t.popper,n=t.reference,i=e.placement.split('-')[0],r=Z,p=-1!==['top','bottom'].indexOf(i),s=p?'right':'bottom',d=p?'left':'top',a=p?'width':'height';return o[s]r(n[s])&&(e.offsets.popper[d]=r(n[s])),e}},arrow:{order:500,enabled:!0,fn:function(e,o){var n;if(!K(e.instance.modifiers,'arrow','keepTogether'))return e;var i=o.element;if('string'==typeof i){if(i=e.instance.popper.querySelector(i),!i)return e;}else if(!e.instance.popper.contains(i))return console.warn('WARNING: `arrow.element` must be child of its popper element!'),e;var r=e.placement.split('-')[0],p=e.offsets,s=p.popper,d=p.reference,a=-1!==['left','right'].indexOf(r),l=a?'height':'width',f=a?'Top':'Left',m=f.toLowerCase(),h=a?'left':'top',c=a?'bottom':'right',u=S(i)[l];d[c]-us[c]&&(e.offsets.popper[m]+=d[m]+u-s[c]),e.offsets.popper=g(e.offsets.popper);var b=d[m]+d[l]/2-u/2,w=t(e.instance.popper),y=parseFloat(w['margin'+f],10),E=parseFloat(w['border'+f+'Width'],10),v=b-e.offsets.popper[m]-y-E;return v=ee(Q(s[l]-u,v),0),e.arrowElement=i,e.offsets.arrow=(n={},ae(n,m,$(v)),ae(n,h,''),n),e},element:'[x-arrow]'},flip:{order:600,enabled:!0,fn:function(e,t){if(W(e.instance.modifiers,'inner'))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;var o=v(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement,e.positionFixed),n=e.placement.split('-')[0],i=T(n),r=e.placement.split('-')[1]||'',p=[];switch(t.behavior){case ce.FLIP:p=[n,i];break;case ce.CLOCKWISE:p=G(n);break;case ce.COUNTERCLOCKWISE:p=G(n,!0);break;default:p=t.behavior;}return p.forEach(function(s,d){if(n!==s||p.length===d+1)return e;n=e.placement.split('-')[0],i=T(n);var a=e.offsets.popper,l=e.offsets.reference,f=Z,m='left'===n&&f(a.right)>f(l.left)||'right'===n&&f(a.left)f(l.top)||'bottom'===n&&f(a.top)f(o.right),g=f(a.top)f(o.bottom),b='left'===n&&h||'right'===n&&c||'top'===n&&g||'bottom'===n&&u,w=-1!==['top','bottom'].indexOf(n),y=!!t.flipVariations&&(w&&'start'===r&&h||w&&'end'===r&&c||!w&&'start'===r&&g||!w&&'end'===r&&u),E=!!t.flipVariationsByContent&&(w&&'start'===r&&c||w&&'end'===r&&h||!w&&'start'===r&&u||!w&&'end'===r&&g),v=y||E;(m||b||v)&&(e.flipped=!0,(m||b)&&(n=p[d+1]),v&&(r=z(r)),e.placement=n+(r?'-'+r:''),e.offsets.popper=le({},e.offsets.popper,C(e.instance.popper,e.offsets.reference,e.placement)),e=P(e.instance.modifiers,e,'flip'))}),e},behavior:'flip',padding:5,boundariesElement:'viewport',flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,o=t.split('-')[0],n=e.offsets,i=n.popper,r=n.reference,p=-1!==['left','right'].indexOf(o),s=-1===['top','left'].indexOf(o);return i[p?'left':'top']=r[o]-(s?i[p?'width':'height']:0),e.placement=T(t),e.offsets.popper=g(i),e}},hide:{order:800,enabled:!0,fn:function(e){if(!K(e.instance.modifiers,'hide','preventOverflow'))return e;var t=e.offsets.reference,o=D(e.instance.modifiers,function(e){return'preventOverflow'===e.name}).boundaries;if(t.bottomo.right||t.top>o.bottom||t.rightwindow.devicePixelRatio||!fe),c='bottom'===o?'top':'bottom',g='right'===n?'left':'right',b=B('transform');if(d='bottom'==c?'HTML'===l.nodeName?-l.clientHeight+h.bottom:-f.height+h.bottom:h.top,s='right'==g?'HTML'===l.nodeName?-l.clientWidth+h.right:-f.width+h.right:h.left,a&&b)m[b]='translate3d('+s+'px, '+d+'px, 0)',m[c]=0,m[g]=0,m.willChange='transform';else{var w='bottom'==c?-1:1,y='right'==g?-1:1;m[c]=d*w,m[g]=s*y,m.willChange=c+', '+g}var E={"x-placement":e.placement};return e.attributes=le({},E,e.attributes),e.styles=le({},m,e.styles),e.arrowStyles=le({},e.offsets.arrow,e.arrowStyles),e},gpuAcceleration:!0,x:'bottom',y:'right'},applyStyle:{order:900,enabled:!0,fn:function(e){return V(e.instance.popper,e.styles),j(e.instance.popper,e.attributes),e.arrowElement&&Object.keys(e.arrowStyles).length&&V(e.arrowElement,e.arrowStyles),e},onLoad:function(e,t,o,n,i){var r=L(i,t,e,o.positionFixed),p=O(o.placement,r,t,e,o.modifiers.flip.boundariesElement,o.modifiers.flip.padding);return t.setAttribute('x-placement',p),V(t,{position:o.positionFixed?'fixed':'absolute'}),o},gpuAcceleration:void 0}}},ge}); -//# sourceMappingURL=popper.min.js.map +// diff --git a/classroom/assets/js/lib/qr-creator.min.js b/classroom/assets/js/lib/qr-creator.min.js index 72a600e2..7f866df3 100644 --- a/classroom/assets/js/lib/qr-creator.min.js +++ b/classroom/assets/js/lib/qr-creator.min.js @@ -25,4 +25,4 @@ d=0;d=p;p+=1)if(!(0> [21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48], [39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]],e={I:function(b,a){var e=c(b,a);if("undefined"== typeof e)throw Error("bad rs block @ typeNumber:"+b+"/errorCorrectLevel:"+a);b=e.length/3;a=[];for(var d=0;d Date: Wed, 31 Aug 2022 08:27:20 +0200 Subject: [PATCH 030/340] a single popper --- classroom/assets/js/lib/popper-1.12.9.min.js | 4 ---- 1 file changed, 4 deletions(-) delete mode 100644 classroom/assets/js/lib/popper-1.12.9.min.js diff --git a/classroom/assets/js/lib/popper-1.12.9.min.js b/classroom/assets/js/lib/popper-1.12.9.min.js deleted file mode 100644 index 311d3913..00000000 --- a/classroom/assets/js/lib/popper-1.12.9.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/* - Copyright (C) Federico Zivolo 2017 - Distributed under the MIT License (license terms are at http://opensource.org/licenses/MIT). - */(function(e,t){'object'==typeof exports&&'undefined'!=typeof module?module.exports=t():'function'==typeof define&&define.amd?define(t):e.Popper=t()})(this,function(){'use strict';function e(e){return e&&'[object Function]'==={}.toString.call(e)}function t(e,t){if(1!==e.nodeType)return[];var o=getComputedStyle(e,null);return t?o[t]:o}function o(e){return'HTML'===e.nodeName?e:e.parentNode||e.host}function n(e){if(!e)return document.body;switch(e.nodeName){case'HTML':case'BODY':return e.ownerDocument.body;case'#document':return e.body;}var i=t(e),r=i.overflow,p=i.overflowX,s=i.overflowY;return /(auto|scroll)/.test(r+s+p)?e:n(o(e))}function r(e){var o=e&&e.offsetParent,i=o&&o.nodeName;return i&&'BODY'!==i&&'HTML'!==i?-1!==['TD','TABLE'].indexOf(o.nodeName)&&'static'===t(o,'position')?r(o):o:e?e.ownerDocument.documentElement:document.documentElement}function p(e){var t=e.nodeName;return'BODY'!==t&&('HTML'===t||r(e.firstElementChild)===e)}function s(e){return null===e.parentNode?e:s(e.parentNode)}function d(e,t){if(!e||!e.nodeType||!t||!t.nodeType)return document.documentElement;var o=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,i=o?e:t,n=o?t:e,a=document.createRange();a.setStart(i,0),a.setEnd(n,0);var l=a.commonAncestorContainer;if(e!==l&&t!==l||i.contains(n))return p(l)?l:r(l);var f=s(e);return f.host?d(f.host,t):d(e,s(t).host)}function a(e){var t=1=o.clientWidth&&i>=o.clientHeight}),l=0i[e]&&!t.escapeWithReference&&(n=_(p[o],i[e]-('right'===e?p.width:p.height))),pe({},o,n)}};return n.forEach(function(e){var t=-1===['left','top'].indexOf(e)?'secondary':'primary';p=se({},p,s[t](e))}),e.offsets.popper=p,e},priority:['left','right','top','bottom'],padding:5,boundariesElement:'scrollParent'},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,o=t.popper,i=t.reference,n=e.placement.split('-')[0],r=X,p=-1!==['top','bottom'].indexOf(n),s=p?'right':'bottom',d=p?'left':'top',a=p?'width':'height';return o[s]r(i[s])&&(e.offsets.popper[d]=r(i[s])),e}},arrow:{order:500,enabled:!0,fn:function(e,o){var i;if(!F(e.instance.modifiers,'arrow','keepTogether'))return e;var n=o.element;if('string'==typeof n){if(n=e.instance.popper.querySelector(n),!n)return e;}else if(!e.instance.popper.contains(n))return console.warn('WARNING: `arrow.element` must be child of its popper element!'),e;var r=e.placement.split('-')[0],p=e.offsets,s=p.popper,d=p.reference,a=-1!==['left','right'].indexOf(r),l=a?'height':'width',f=a?'Top':'Left',m=f.toLowerCase(),h=a?'left':'top',g=a?'bottom':'right',u=L(n)[l];d[g]-us[g]&&(e.offsets.popper[m]+=d[m]+u-s[g]),e.offsets.popper=c(e.offsets.popper);var b=d[m]+d[l]/2-u/2,w=t(e.instance.popper),y=parseFloat(w['margin'+f],10),E=parseFloat(w['border'+f+'Width'],10),v=b-e.offsets.popper[m]-y-E;return v=J(_(s[l]-u,v),0),e.arrowElement=n,e.offsets.arrow=(i={},pe(i,m,Math.round(v)),pe(i,h,''),i),e},element:'[x-arrow]'},flip:{order:600,enabled:!0,fn:function(e,t){if(k(e.instance.modifiers,'inner'))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;var o=y(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement),i=e.placement.split('-')[0],n=x(i),r=e.placement.split('-')[1]||'',p=[];switch(t.behavior){case le.FLIP:p=[i,n];break;case le.CLOCKWISE:p=q(i);break;case le.COUNTERCLOCKWISE:p=q(i,!0);break;default:p=t.behavior;}return p.forEach(function(s,d){if(i!==s||p.length===d+1)return e;i=e.placement.split('-')[0],n=x(i);var a=e.offsets.popper,l=e.offsets.reference,f=X,m='left'===i&&f(a.right)>f(l.left)||'right'===i&&f(a.left)f(l.top)||'bottom'===i&&f(a.top)f(o.right),g=f(a.top)f(o.bottom),b='left'===i&&h||'right'===i&&c||'top'===i&&g||'bottom'===i&&u,w=-1!==['top','bottom'].indexOf(i),y=!!t.flipVariations&&(w&&'start'===r&&h||w&&'end'===r&&c||!w&&'start'===r&&g||!w&&'end'===r&&u);(m||b||y)&&(e.flipped=!0,(m||b)&&(i=p[d+1]),y&&(r=K(r)),e.placement=i+(r?'-'+r:''),e.offsets.popper=se({},e.offsets.popper,S(e.instance.popper,e.offsets.reference,e.placement)),e=C(e.instance.modifiers,e,'flip'))}),e},behavior:'flip',padding:5,boundariesElement:'viewport'},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,o=t.split('-')[0],i=e.offsets,n=i.popper,r=i.reference,p=-1!==['left','right'].indexOf(o),s=-1===['top','left'].indexOf(o);return n[p?'left':'top']=r[o]-(s?n[p?'width':'height']:0),e.placement=x(t),e.offsets.popper=c(n),e}},hide:{order:800,enabled:!0,fn:function(e){if(!F(e.instance.modifiers,'hide','preventOverflow'))return e;var t=e.offsets.reference,o=T(e.instance.modifiers,function(e){return'preventOverflow'===e.name}).boundaries;if(t.bottomo.right||t.top>o.bottom||t.right Date: Wed, 31 Aug 2022 08:27:53 +0200 Subject: [PATCH 031/340] a single popper and a few cleanups. --- classroom/footer.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/classroom/footer.html b/classroom/footer.html index ac39af20..997d5a8f 100644 --- a/classroom/footer.html +++ b/classroom/footer.html @@ -1,4 +1,4 @@ - + From 984b7099139bb69585a275e430462d09e0c50f59 Mon Sep 17 00:00:00 2001 From: Paul Libbrecht Date: Wed, 31 Aug 2022 08:32:18 +0200 Subject: [PATCH 032/340] no sourcemap --- classroom/assets/js/lib/bootstrap.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/classroom/assets/js/lib/bootstrap.js b/classroom/assets/js/lib/bootstrap.js index e5a24299..2aad8524 100644 --- a/classroom/assets/js/lib/bootstrap.js +++ b/classroom/assets/js/lib/bootstrap.js @@ -4,4 +4,4 @@ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jquery"),require("popper.js")):"function"==typeof define&&define.amd?define(["exports","jquery","popper.js"],e):e((t=t||self).bootstrap={},t.jQuery,t.Popper)}(this,function(t,g,u){"use strict";function i(t,e){for(var n=0;nthis._items.length-1||t<0))if(this._isSliding)g(this._element).one(Y.SLID,function(){return e.to(t)});else{if(n===t)return this.pause(),void this.cycle();var i=ndocument.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},t._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},t._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right

                ',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:Se,popperConfig:null},Fe="show",Ue="out",We={HIDE:"hide"+Oe,HIDDEN:"hidden"+Oe,SHOW:"show"+Oe,SHOWN:"shown"+Oe,INSERTED:"inserted"+Oe,CLICK:"click"+Oe,FOCUSIN:"focusin"+Oe,FOCUSOUT:"focusout"+Oe,MOUSEENTER:"mouseenter"+Oe,MOUSELEAVE:"mouseleave"+Oe},qe="fade",Me="show",Ke=".tooltip-inner",Qe=".arrow",Be="hover",Ve="focus",Ye="click",ze="manual",Xe=function(){function i(t,e){if("undefined"==typeof u)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org/)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var t=i.prototype;return t.enable=function(){this._isEnabled=!0},t.disable=function(){this._isEnabled=!1},t.toggleEnabled=function(){this._isEnabled=!this._isEnabled},t.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=g(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(g(this.getTipElement()).hasClass(Me))return void this._leave(null,this);this._enter(null,this)}},t.dispose=function(){clearTimeout(this._timeout),g.removeData(this.element,this.constructor.DATA_KEY),g(this.element).off(this.constructor.EVENT_KEY),g(this.element).closest(".modal").off("hide.bs.modal",this._hideModalHandler),this.tip&&g(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},t.show=function(){var e=this;if("none"===g(this.element).css("display"))throw new Error("Please use show on visible elements");var t=g.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){g(this.element).trigger(t);var n=_.findShadowRoot(this.element),i=g.contains(null!==n?n:this.element.ownerDocument.documentElement,this.element);if(t.isDefaultPrevented()||!i)return;var o=this.getTipElement(),r=_.getUID(this.constructor.NAME);o.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&g(o).addClass(qe);var s="function"==typeof this.config.placement?this.config.placement.call(this,o,this.element):this.config.placement,a=this._getAttachment(s);this.addAttachmentClass(a);var l=this._getContainer();g(o).data(this.constructor.DATA_KEY,this),g.contains(this.element.ownerDocument.documentElement,this.tip)||g(o).appendTo(l),g(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new u(this.element,o,this._getPopperConfig(a)),g(o).addClass(Me),"ontouchstart"in document.documentElement&&g(document.body).children().on("mouseover",null,g.noop);var c=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,g(e.element).trigger(e.constructor.Event.SHOWN),t===Ue&&e._leave(null,e)};if(g(this.tip).hasClass(qe)){var h=_.getTransitionDurationFromElement(this.tip);g(this.tip).one(_.TRANSITION_END,c).emulateTransitionEnd(h)}else c()}},t.hide=function(t){function e(){n._hoverState!==Fe&&i.parentNode&&i.parentNode.removeChild(i),n._cleanTipClass(),n.element.removeAttribute("aria-describedby"),g(n.element).trigger(n.constructor.Event.HIDDEN),null!==n._popper&&n._popper.destroy(),t&&t()}var n=this,i=this.getTipElement(),o=g.Event(this.constructor.Event.HIDE);if(g(this.element).trigger(o),!o.isDefaultPrevented()){if(g(i).removeClass(Me),"ontouchstart"in document.documentElement&&g(document.body).children().off("mouseover",null,g.noop),this._activeTrigger[Ye]=!1,this._activeTrigger[Ve]=!1,this._activeTrigger[Be]=!1,g(this.tip).hasClass(qe)){var r=_.getTransitionDurationFromElement(i);g(i).one(_.TRANSITION_END,e).emulateTransitionEnd(r)}else e();this._hoverState=""}},t.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},t.isWithContent=function(){return Boolean(this.getTitle())},t.addAttachmentClass=function(t){g(this.getTipElement()).addClass(Pe+"-"+t)},t.getTipElement=function(){return this.tip=this.tip||g(this.config.template)[0],this.tip},t.setContent=function(){var t=this.getTipElement();this.setElementContent(g(t.querySelectorAll(Ke)),this.getTitle()),g(t).removeClass(qe+" "+Me)},t.setElementContent=function(t,e){"object"!=typeof e||!e.nodeType&&!e.jquery?this.config.html?(this.config.sanitize&&(e=we(e,this.config.whiteList,this.config.sanitizeFn)),t.html(e)):t.text(e):this.config.html?g(e).parent().is(t)||t.empty().append(e):t.text(g(e).text())},t.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t=t||("function"==typeof this.config.title?this.config.title.call(this.element):this.config.title)},t._getPopperConfig=function(t){var e=this;return l({},{placement:t,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:Qe},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}},{},this.config.popperConfig)},t._getOffset=function(){var e=this,t={};return"function"==typeof this.config.offset?t.fn=function(t){return t.offsets=l({},t.offsets,{},e.config.offset(t.offsets,e.element)||{}),t}:t.offset=this.config.offset,t},t._getContainer=function(){return!1===this.config.container?document.body:_.isElement(this.config.container)?g(this.config.container):g(document).find(this.config.container)},t._getAttachment=function(t){return Re[t.toUpperCase()]},t._setListeners=function(){var i=this;this.config.trigger.split(" ").forEach(function(t){if("click"===t)g(i.element).on(i.constructor.Event.CLICK,i.config.selector,function(t){return i.toggle(t)});else if(t!==ze){var e=t===Be?i.constructor.Event.MOUSEENTER:i.constructor.Event.FOCUSIN,n=t===Be?i.constructor.Event.MOUSELEAVE:i.constructor.Event.FOCUSOUT;g(i.element).on(e,i.config.selector,function(t){return i._enter(t)}).on(n,i.config.selector,function(t){return i._leave(t)})}}),this._hideModalHandler=function(){i.element&&i.hide()},g(this.element).closest(".modal").on("hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=l({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},t._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");!this.element.getAttribute("title")&&"string"==t||(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},t._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||g(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?Ve:Be]=!0),g(e.getTipElement()).hasClass(Me)||e._hoverState===Fe?e._hoverState=Fe:(clearTimeout(e._timeout),e._hoverState=Fe,e.config.delay&&e.config.delay.show?e._timeout=setTimeout(function(){e._hoverState===Fe&&e.show()},e.config.delay.show):e.show())},t._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||g(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?Ve:Be]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=Ue,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout(function(){e._hoverState===Ue&&e.hide()},e.config.delay.hide):e.hide())},t._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},t._getConfig=function(t){var e=g(this.element).data();return Object.keys(e).forEach(function(t){-1!==je.indexOf(t)&&delete e[t]}),"number"==typeof(t=l({},this.constructor.Default,{},e,{},"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),_.typeCheckConfig(Ae,t,this.constructor.DefaultType),t.sanitize&&(t.template=we(t.template,t.whiteList,t.sanitizeFn)),t},t._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},t._cleanTipClass=function(){var t=g(this.getTipElement()),e=t.attr("class").match(Le);null!==e&&e.length&&t.removeClass(e.join(""))},t._handlePopperPlacementChange=function(t){var e=t.instance;this.tip=e.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},t._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(g(t).removeClass(qe),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},i._jQueryInterface=function(n){return this.each(function(){var t=g(this).data(Ne),e="object"==typeof n&&n;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),g(this).data(Ne,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.4.1"}},{key:"Default",get:function(){return xe}},{key:"NAME",get:function(){return Ae}},{key:"DATA_KEY",get:function(){return Ne}},{key:"Event",get:function(){return We}},{key:"EVENT_KEY",get:function(){return Oe}},{key:"DefaultType",get:function(){return He}}]),i}();g.fn[Ae]=Xe._jQueryInterface,g.fn[Ae].Constructor=Xe,g.fn[Ae].noConflict=function(){return g.fn[Ae]=ke,Xe._jQueryInterface};var $e="popover",Ge="bs.popover",Je="."+Ge,Ze=g.fn[$e],tn="bs-popover",en=new RegExp("(^|\\s)"+tn+"\\S+","g"),nn=l({},Xe.Default,{placement:"right",trigger:"click",content:"",template:''}),on=l({},Xe.DefaultType,{content:"(string|element|function)"}),rn="fade",sn="show",an=".popover-header",ln=".popover-body",cn={HIDE:"hide"+Je,HIDDEN:"hidden"+Je,SHOW:"show"+Je,SHOWN:"shown"+Je,INSERTED:"inserted"+Je,CLICK:"click"+Je,FOCUSIN:"focusin"+Je,FOCUSOUT:"focusout"+Je,MOUSEENTER:"mouseenter"+Je,MOUSELEAVE:"mouseleave"+Je},hn=function(t){function i(){return t.apply(this,arguments)||this}!function(t,e){t.prototype=Object.create(e.prototype),(t.prototype.constructor=t).__proto__=e}(i,t);var e=i.prototype;return e.isWithContent=function(){return this.getTitle()||this._getContent()},e.addAttachmentClass=function(t){g(this.getTipElement()).addClass(tn+"-"+t)},e.getTipElement=function(){return this.tip=this.tip||g(this.config.template)[0],this.tip},e.setContent=function(){var t=g(this.getTipElement());this.setElementContent(t.find(an),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(ln),e),t.removeClass(rn+" "+sn)},e._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},e._cleanTipClass=function(){var t=g(this.getTipElement()),e=t.attr("class").match(en);null!==e&&0=this._offsets[o]&&("undefined"==typeof this._offsets[o+1]||t Date: Wed, 31 Aug 2022 08:36:25 +0200 Subject: [PATCH 033/340] no sourcemap --- classroom/assets/css/bootstrap.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/classroom/assets/css/bootstrap.css b/classroom/assets/css/bootstrap.css index 7aebd0ff..2778c4a6 100644 --- a/classroom/assets/css/bootstrap.css +++ b/classroom/assets/css/bootstrap.css @@ -4,4 +4,4 @@ * Copyright 2011-2018 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}@-ms-viewport{width:device-width}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg:not(:root){overflow:hidden}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-family:inherit;font-weight:500;line-height:1.2;color:inherit}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:"\2014 \00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#e83e8c;word-break:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;max-width:100%;margin-bottom:1rem;background-color:transparent}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table .table{background-color:#fff}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #dee2e6}.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-hover .table-primary:hover{background-color:#9fcdff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-hover .table-secondary:hover{background-color:#c8cbcf}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-hover .table-light:hover{background-color:#ececf6}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#212529;border-color:#32383e}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#212529}.table-dark td,.table-dark th,.table-dark thead th{border-color:#32383e}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media screen and (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}select.form-control:not([size]):not([multiple]){height:calc(2.25rem + 2px)}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm,.input-group-lg>.form-control-plaintext.form-control,.input-group-lg>.input-group-append>.form-control-plaintext.btn,.input-group-lg>.input-group-append>.form-control-plaintext.input-group-text,.input-group-lg>.input-group-prepend>.form-control-plaintext.btn,.input-group-lg>.input-group-prepend>.form-control-plaintext.input-group-text,.input-group-sm>.form-control-plaintext.form-control,.input-group-sm>.input-group-append>.form-control-plaintext.btn,.input-group-sm>.input-group-append>.form-control-plaintext.input-group-text,.input-group-sm>.input-group-prepend>.form-control-plaintext.btn,.input-group-sm>.input-group-prepend>.form-control-plaintext.input-group-text{padding-right:0;padding-left:0}.form-control-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-sm>.input-group-append>select.btn:not([size]):not([multiple]),.input-group-sm>.input-group-append>select.input-group-text:not([size]):not([multiple]),.input-group-sm>.input-group-prepend>select.btn:not([size]):not([multiple]),.input-group-sm>.input-group-prepend>select.input-group-text:not([size]):not([multiple]),.input-group-sm>select.form-control:not([size]):not([multiple]),select.form-control-sm:not([size]):not([multiple]){height:calc(1.8125rem + 2px)}.form-control-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-lg>.input-group-append>select.btn:not([size]):not([multiple]),.input-group-lg>.input-group-append>select.input-group-text:not([size]):not([multiple]),.input-group-lg>.input-group-prepend>select.btn:not([size]):not([multiple]),.input-group-lg>.input-group-prepend>select.input-group-text:not([size]):not([multiple]),.input-group-lg>select.form-control:not([size]):not([multiple]),select.form-control-lg:not([size]):not([multiple]){height:calc(2.875rem + 2px)}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.5rem;margin-top:.1rem;font-size:.875rem;line-height:1;color:#fff;background-color:rgba(40,167,69,.8);border-radius:.2rem}.custom-select.is-valid,.form-control.is-valid,.was-validated .custom-select:valid,.was-validated .form-control:valid{border-color:#28a745}.custom-select.is-valid:focus,.form-control.is-valid:focus,.was-validated .custom-select:valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-select.is-valid~.valid-feedback,.custom-select.is-valid~.valid-tooltip,.form-control.is-valid~.valid-feedback,.form-control.is-valid~.valid-tooltip,.was-validated .custom-select:valid~.valid-feedback,.was-validated .custom-select:valid~.valid-tooltip,.was-validated .form-control:valid~.valid-feedback,.was-validated .form-control:valid~.valid-tooltip{display:block}.form-control-file.is-valid~.valid-feedback,.form-control-file.is-valid~.valid-tooltip,.was-validated .form-control-file:valid~.valid-feedback,.was-validated .form-control-file:valid~.valid-tooltip{display:block}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{background-color:#71dd8a}.custom-control-input.is-valid~.valid-feedback,.custom-control-input.is-valid~.valid-tooltip,.was-validated .custom-control-input:valid~.valid-feedback,.was-validated .custom-control-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(40,167,69,.25)}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid~.custom-file-label::before,.was-validated .custom-file-input:valid~.custom-file-label::before{border-color:inherit}.custom-file-input.is-valid~.valid-feedback,.custom-file-input.is-valid~.valid-tooltip,.was-validated .custom-file-input:valid~.valid-feedback,.was-validated .custom-file-input:valid~.valid-tooltip{display:block}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.5rem;margin-top:.1rem;font-size:.875rem;line-height:1;color:#fff;background-color:rgba(220,53,69,.8);border-radius:.2rem}.custom-select.is-invalid,.form-control.is-invalid,.was-validated .custom-select:invalid,.was-validated .form-control:invalid{border-color:#dc3545}.custom-select.is-invalid:focus,.form-control.is-invalid:focus,.was-validated .custom-select:invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-select.is-invalid~.invalid-feedback,.custom-select.is-invalid~.invalid-tooltip,.form-control.is-invalid~.invalid-feedback,.form-control.is-invalid~.invalid-tooltip,.was-validated .custom-select:invalid~.invalid-feedback,.was-validated .custom-select:invalid~.invalid-tooltip,.was-validated .form-control:invalid~.invalid-feedback,.was-validated .form-control:invalid~.invalid-tooltip{display:block}.form-control-file.is-invalid~.invalid-feedback,.form-control-file.is-invalid~.invalid-tooltip,.was-validated .form-control-file:invalid~.invalid-feedback,.was-validated .form-control-file:invalid~.invalid-tooltip{display:block}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{background-color:#efa2a9}.custom-control-input.is-invalid~.invalid-feedback,.custom-control-input.is-invalid~.invalid-tooltip,.was-validated .custom-control-input:invalid~.invalid-feedback,.was-validated .custom-control-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(220,53,69,.25)}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid~.custom-file-label::before,.was-validated .custom-file-input:invalid~.custom-file-label::before{border-color:inherit}.custom-file-input.is-invalid~.invalid-feedback,.custom-file-input.is-invalid~.invalid-tooltip,.was-validated .custom-file-input:invalid~.invalid-feedback,.was-validated .custom-file-input:invalid~.invalid-tooltip{display:block}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media screen and (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:focus,.btn:hover{text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}.btn:not(:disabled):not(.disabled).active,.btn:not(:disabled):not(.disabled):active{background-image:none}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-primary{color:#007bff;background-color:transparent;background-image:none;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;background-color:transparent;background-image:none;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-success{color:#28a745;background-color:transparent;background-image:none;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;background-color:transparent;background-image:none;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;background-color:transparent;background-image:none;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;background-color:transparent;background-image:none;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;background-color:transparent;background-image:none;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;background-color:transparent;background-image:none;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;background-color:transparent}.btn-link:hover{color:#0056b3;text-decoration:underline;background-color:transparent;border-color:transparent}.btn-link.focus,.btn-link:focus{text-decoration:underline;border-color:transparent;box-shadow:none}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media screen and (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media screen and (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-right{right:0;left:auto}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;width:0;height:0;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-ms-flex:0 1 auto;flex:0 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:1}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:1}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group,.btn-group-vertical .btn+.btn,.btn-group-vertical .btn+.btn-group,.btn-group-vertical .btn-group+.btn,.btn-group-vertical .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center}.btn-group-vertical .btn,.btn-group-vertical .btn-group{width:100%}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;margin-bottom:0}.input-group>.custom-file:focus,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control{margin-left:-1px}.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:-ms-flexbox;display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline{display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;background-color:#007bff}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:active~.custom-control-label::before{color:#fff;background-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#dee2e6}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background-repeat:no-repeat;background-position:center center;background-size:50% 50%}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::before{background-color:#007bff}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::before{background-color:#007bff}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(2.25rem + 2px);padding:.375rem 1.75rem .375rem .75rem;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center;background-size:8px 10px;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:inset 0 1px 2px rgba(0,0,0,.075),0 0 5px rgba(128,189,255,.5)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{opacity:0}.custom-select-sm{height:calc(1.8125rem + 2px);padding-top:.375rem;padding-bottom:.375rem;font-size:75%}.custom-select-lg{height:calc(2.875rem + 2px);padding-top:.375rem;padding-bottom:.375rem;font-size:125%}.custom-file{position:relative;display:inline-block;width:100%;height:calc(2.25rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(2.25rem + 2px);margin:0;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:focus~.custom-file-label::after{border-color:#80bdff}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(2.25rem + 2px);padding:.375rem .75rem;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:2.25rem;padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:1px solid #ced4da;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;padding-left:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:0}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;-webkit-appearance:none;appearance:none}.custom-range::-webkit-slider-thumb:focus{outline:0;box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;-moz-appearance:none;appearance:none}.custom-range::-moz-range-thumb:focus{outline:0;box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;appearance:none}.custom-range::-ms-thumb:focus{outline:0;box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.nav{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item{-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem 1rem}.navbar>.container,.navbar>.container-fluid{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler:not(:disabled):not(.disabled){cursor:pointer}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body{-ms-flex:1 1 auto;flex:1 1 auto;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img{width:100%;border-radius:calc(.25rem - 1px)}.card-img-top{width:100%;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img-bottom{width:100%;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{display:-ms-flexbox;display:flex;-ms-flex:1 0 0%;flex:1 0 0%;-ms-flex-direction:column;flex-direction:column;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:first-child .card-header,.card-group>.card:first-child .card-img-top{border-top-right-radius:0}.card-group>.card:first-child .card-footer,.card-group>.card:first-child .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:last-child .card-header,.card-group>.card:last-child .card-img-top{border-top-left-radius:0}.card-group>.card:last-child .card-footer,.card-group>.card:last-child .card-img-bottom{border-bottom-left-radius:0}.card-group>.card:only-child{border-radius:.25rem}.card-group>.card:only-child .card-header,.card-group>.card:only-child .card-img-top{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card-group>.card:only-child .card-footer,.card-group>.card:only-child .card-img-bottom{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-group>.card:not(:first-child):not(:last-child):not(:only-child){border-radius:0}.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-footer,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-header,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-img-top{border-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion .card:not(:first-of-type):not(:last-of-type){border-bottom:0;border-radius:0}.accordion .card:not(:first-of-type) .card-header:first-child{border-radius:0}.accordion .card:first-of-type{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion .card:last-of-type{border-top-left-radius:0;border-top-right-radius:0}.breadcrumb{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:2;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-link:not(:disabled):not(.disabled){cursor:pointer}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:1;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}.badge-primary[href]:focus,.badge-primary[href]:hover{color:#fff;text-decoration:none;background-color:#0062cc}.badge-secondary{color:#fff;background-color:#6c757d}.badge-secondary[href]:focus,.badge-secondary[href]:hover{color:#fff;text-decoration:none;background-color:#545b62}.badge-success{color:#fff;background-color:#28a745}.badge-success[href]:focus,.badge-success[href]:hover{color:#fff;text-decoration:none;background-color:#1e7e34}.badge-info{color:#fff;background-color:#17a2b8}.badge-info[href]:focus,.badge-info[href]:hover{color:#fff;text-decoration:none;background-color:#117a8b}.badge-warning{color:#212529;background-color:#ffc107}.badge-warning[href]:focus,.badge-warning[href]:hover{color:#212529;text-decoration:none;background-color:#d39e00}.badge-danger{color:#fff;background-color:#dc3545}.badge-danger[href]:focus,.badge-danger[href]:hover{color:#fff;text-decoration:none;background-color:#bd2130}.badge-light{color:#212529;background-color:#f8f9fa}.badge-light[href]:focus,.badge-light[href]:hover{color:#212529;text-decoration:none;background-color:#dae0e5}.badge-dark{color:#fff;background-color:#343a40}.badge-dark[href]:focus,.badge-dark[href]:hover{color:#fff;text-decoration:none;background-color:#1d2124}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}@media screen and (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}.media{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}.media-body{-ms-flex:1;flex:1}.list-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item:focus,.list-group-item:hover{z-index:1;text-decoration:none}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:focus,.close:hover{color:#000;text-decoration:none;opacity:.75}.close:not(:disabled):not(.disabled){cursor:pointer}button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;outline:0}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-25%);transform:translate(0,-25%)}@media screen and (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:translate(0,0);transform:translate(0,0)}.modal-dialog-centered{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:calc(100% - (.5rem * 2))}.modal-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:justify;justify-content:space-between;padding:1rem;border-bottom:1px solid #e9ecef;border-top-left-radius:.3rem;border-top-right-radius:.3rem}.modal-header .close{padding:1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:1rem;border-top:1px solid #e9ecef}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-centered{min-height:calc(100% - (1.75rem * 2))}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg{max-width:800px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow::before,.bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow::before,.bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow::before,.bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top] .arrow,.bs-popover-top .arrow{bottom:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=top] .arrow::after,.bs-popover-auto[x-placement^=top] .arrow::before,.bs-popover-top .arrow::after,.bs-popover-top .arrow::before{border-width:.5rem .5rem 0}.bs-popover-auto[x-placement^=top] .arrow::before,.bs-popover-top .arrow::before{bottom:0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top] .arrow::after,.bs-popover-top .arrow::after{bottom:1px;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right] .arrow,.bs-popover-right .arrow{left:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right] .arrow::after,.bs-popover-auto[x-placement^=right] .arrow::before,.bs-popover-right .arrow::after,.bs-popover-right .arrow::before{border-width:.5rem .5rem .5rem 0}.bs-popover-auto[x-placement^=right] .arrow::before,.bs-popover-right .arrow::before{left:0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right] .arrow::after,.bs-popover-right .arrow::after{left:1px;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom] .arrow,.bs-popover-bottom .arrow{top:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=bottom] .arrow::after,.bs-popover-auto[x-placement^=bottom] .arrow::before,.bs-popover-bottom .arrow::after,.bs-popover-bottom .arrow::before{border-width:0 .5rem .5rem .5rem}.bs-popover-auto[x-placement^=bottom] .arrow::before,.bs-popover-bottom .arrow::before{top:0;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom] .arrow::after,.bs-popover-bottom .arrow::after{top:1px;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left] .arrow,.bs-popover-left .arrow{right:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left] .arrow::after,.bs-popover-auto[x-placement^=left] .arrow::before,.bs-popover-left .arrow::after,.bs-popover-left .arrow::before{border-width:.5rem 0 .5rem .5rem}.bs-popover-auto[x-placement^=left] .arrow::before,.bs-popover-left .arrow::before{right:0;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left] .arrow::after,.bs-popover-left .arrow::after{right:1px;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;color:inherit;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-item{position:relative;display:none;-ms-flex-align:center;align-items:center;width:100%;transition:-webkit-transform .6s ease;transition:transform .6s ease;transition:transform .6s ease,-webkit-transform .6s ease;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}@media screen and (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.carousel-item-next,.carousel-item-prev{position:absolute;top:0}.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translateX(0);transform:translateX(0)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.active.carousel-item-right,.carousel-item-next{-webkit-transform:translateX(100%);transform:translateX(100%)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.active.carousel-item-right,.carousel-item-next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translateX(-100%);transform:translateX(-100%)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.carousel-fade .carousel-item{opacity:0;transition-duration:.6s;transition-property:opacity}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{opacity:0}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-prev,.carousel-fade .carousel-item-next,.carousel-fade .carousel-item-prev,.carousel-fade .carousel-item.active{-webkit-transform:translateX(0);transform:translateX(0)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-prev,.carousel-fade .carousel-item-next,.carousel-fade .carousel-item-prev,.carousel-fade .carousel-item.active{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:transparent no-repeat center center;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E")}.carousel-indicators{position:absolute;right:0;bottom:10px;left:0;z-index:15;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{position:relative;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:rgba(255,255,255,.5)}.carousel-indicators li::before{position:absolute;top:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators li::after{position:absolute;bottom:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators .active{background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-circle{border-radius:50%!important}.rounded-0{border-radius:0!important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.text-justify{text-align:justify!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0062cc!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#545b62!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#1e7e34!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#117a8b!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#d39e00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#bd2130!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#dae0e5!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#1d2124!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px!important}.container{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}} -/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file +/*# */ From f6ab76e428b955f0b0c2034dceca3e5fbba5cbf6 Mon Sep 17 00:00:00 2001 From: Paul Libbrecht Date: Wed, 31 Aug 2022 17:54:12 +0200 Subject: [PATCH 034/340] bootstrap is done as JS --- classroom/Views/home_footer.html | 1 + 1 file changed, 1 insertion(+) diff --git a/classroom/Views/home_footer.html b/classroom/Views/home_footer.html index fbb932f2..641b6987 100644 --- a/classroom/Views/home_footer.html +++ b/classroom/Views/home_footer.html @@ -14,6 +14,7 @@ }) + From 81675718d279d851c86e5d4321028281cb647ab7 Mon Sep 17 00:00:00 2001 From: Paul Libbrecht Date: Thu, 1 Sep 2022 08:57:13 +0200 Subject: [PATCH 035/340] isFromCanope: don't remove class. isFromGar: don't allow class change (but removal!) --- .../assets/js/scripts/dashboardActivities.js | 59 ++++++++++--------- .../assets/js/scripts/manageClassroom.js | 2 +- 2 files changed, 32 insertions(+), 29 deletions(-) diff --git a/classroom/assets/js/scripts/dashboardActivities.js b/classroom/assets/js/scripts/dashboardActivities.js index f596930d..9029ac9c 100644 --- a/classroom/assets/js/scripts/dashboardActivities.js +++ b/classroom/assets/js/scripts/dashboardActivities.js @@ -228,14 +228,17 @@ function classeItem(classe, nbStudents, students) { let maxAct = maxLength(students) let remainingCorrections = getRemainingCorrections(students); let remainingCorrectionsSpanElt = remainingCorrections ? ` ${remainingCorrections}` : ''; + let isFromGar = UserManager.getUser().isFromGar, isFromCanope = document.cookie.indexOf("isFromCanope")>-1; let html = `
                ${nbStudents} ${remainingCorrectionsSpanElt} ` @@ -468,7 +471,7 @@ function statusActivity(activity, state = true, formatedTimePast = '') { } else { return "startwatch" } - + } if (state == "csv") { switch (activity.correction) { @@ -553,7 +556,7 @@ function loadActivityForStudents(isDoable) { $('#warning-icon-container > i').hide(); Activity.evaluation ? $('#warning-icon-evaluation').show().tooltip() : $("#warning-icon-no-evaluation").show().tooltip(); } - + // Check if the correction if available if (Activity.correction >= 1) { $('#activity-details').html(i18next.t("classroom.activities.sentOn") + formatHour(Activity.dateSend), i18next.t("classroom.activities.numberOfTries") + Activity.tries) @@ -592,7 +595,7 @@ function loadActivityForStudents(isDoable) { break; } correction += `
                ${activityResultString}
                ` - + if (Activity.commentary != null && Activity.commentary != "") { correction += '
                ' + Activity.commentary + '
                ' } else { @@ -653,8 +656,8 @@ function loadActivityForTeacher() { correction += `
                ` - - + + correction += ``; correction += ``; correction += ``; @@ -730,7 +733,7 @@ function manageDisplayCustomAndReading(correction, content, correction_div) { $('#activity-input-container').show(); } else if (correction > 0) { $('#activity-correction').html(correction_div); - $('#activity-correction-container').show(); + $('#activity-correction-container').show(); } } @@ -739,7 +742,7 @@ function manageDisplayFree(correction, content, correction_div) { $('#activity-states-container').show(); if (UserManager.getUser().isRegular) { if (Activity.response != null && Activity.response != '') { - if (JSON.parse(Activity.response) != null && JSON.parse(Activity.response) != "") { + if (JSON.parse(Activity.response) != null && JSON.parse(Activity.response) != "") { $('#activity-student-response').show(); let parsed = tryToParse(Activity.response); if (parsed != false) { @@ -790,7 +793,7 @@ function manageDisplayLti(correction, content, correction_div, isDoable, activit `; } } - + if (correction != 1 || UserManager.getUser().isRegular) { document.querySelector('#activity-correction-container').style.display = 'block'; document.querySelector('#activity-correction').innerHTML = correction_div; @@ -846,14 +849,14 @@ function displayQuizTeacherSide() { if (Activity.response != null && Activity.response != "") { data = JSON.parse(Activity.response); } - $('#activity-student-response-content').append(createContentForQuiz(data, false, true)); + $('#activity-student-response-content').append(createContentForQuiz(data, false, true)); $('#activity-student-response').show(); if (data != null && data != "") { Main.getClassroomManager().getActivityAutocorrectionResult(Activity.activity.id, Activity.id).then(result => { for (let i = 1; i < $(`label[id^="correction-student-quiz-suggestion-"]`).length+1; i++) { $('#correction-student-quiz-suggestion-' + i).parent().addClass('quiz-answer-correct'); } - + if (result.success.length > 0) { for (let i = 0; i < result.success.length; i++) { $('#correction-student-quiz-suggestion-' + (result.success[i]+1)).parent().addClass('quiz-answer-incorrect'); @@ -900,7 +903,7 @@ function manageDisplayFillIn(correction, content, correction_div) { $('#activity-states').html(bbcodeToHtml(content.states)); $('#activity-states-container').show(); - + if (correction <= 1 || correction == null) { if (!UserManager.getUser().isRegular) { let studentContent = bbcodeToHtml(content.fillInFields.contentForStudent) @@ -927,7 +930,7 @@ function manageDisplayFillIn(correction, content, correction_div) { } } else if (correction > 1) { displayFillInTeacherSide(correction_div, correction, content); - } + } } function displayFillInTeacherSide(correction_div, correction, content) { @@ -935,7 +938,7 @@ function displayFillInTeacherSide(correction_div, correction, content) { let studentContentString = content.fillInFields.contentForStudent, studentResponses = JSON.parse(Activity.response); - if (studentResponses != null && studentResponses != "") { + if (studentResponses != null && studentResponses != "") { studentResponses.forEach((response, i) => { let autoWidthStyle = 'style="width:' + (response.length + 2) + 'ch"'; @@ -953,7 +956,7 @@ function displayFillInTeacherSide(correction_div, correction, content) { } } }) - + $('#activity-student-response-content').html(bbcodeToHtml(studentContentString)); $('#activity-student-response').show(); } @@ -962,7 +965,7 @@ function displayFillInTeacherSide(correction_div, correction, content) { } function manageDisplayDragAndDrop(correction, content, correction_div) { - + $('#activity-title').html(Activity.activity.title); // Show the content with the response to the teacher if (UserManager.getUser().isRegular) { @@ -975,7 +978,7 @@ function manageDisplayDragAndDrop(correction, content, correction_div) { $('#activity-states').html(bbcodeToHtml(content.states)); $('#activity-states-container').show(); - + if (correction <= 1 || correction == null) { if (!UserManager.getUser().isRegular) { @@ -989,7 +992,7 @@ function manageDisplayDragAndDrop(correction, content, correction_div) { $('#drag-and-drop-fields').append(`

                ${e.trim()}

                `); }); $('#activity-drag-and-drop-container').show(); - + // init dragula if it's not already initialized if (Main.getClassroomManager().dragulaGlobal == false) { Main.getClassroomManager().dragulaGlobal = dragula(); @@ -997,7 +1000,7 @@ function manageDisplayDragAndDrop(correction, content, correction_div) { // Reset the dragula fields Main.getClassroomManager().dragulaGlobal.containers = []; - + Main.getClassroomManager().dragulaGlobal = dragula([document.querySelector('#drag-and-drop-fields')]).on('drop', function(el, target, source) { if (target.id != 'drag-and-drop-fields') { let swap = $(target).find('p').not(el); @@ -1025,7 +1028,7 @@ function manageDisplayDragAndDrop(correction, content, correction_div) { } } else if (correction > 1) { displayDragAndDropTeacherSide(correction_div, correction, content); - } + } } function displayDragAndDropTeacherSide(correction_div, correction, content) { @@ -1041,14 +1044,14 @@ function displayDragAndDropTeacherSide(correction_div, correction, content) { let autoWidthStyle = 'style="width:' + (studentResponses[i].string.toLowerCase().length + 2) + 'ch"'; studentContentString = studentContentString.replace(``, ``); } - + $('#activity-student-response-content').html(bbcodeToHtml(studentContentString)); $('#activity-student-response').show(); Main.getClassroomManager().getActivityAutocorrectionResult(Activity.activity.id, Activity.id).then(result => { for (let i = 0; i < $(`input[id^="corrected-student-response-"]`).length; i++) { $('#corrected-student-response-' + i).addClass("answer-correct"); } - + for (let i = 0; i < result.success.length; i++) { $('#corrected-student-response-' + (result.success[i])).addClass("answer-incorrect"); } @@ -1080,7 +1083,7 @@ function manageCorrectionDiv(correction_div, correction) { manageLabelForActivity(); if (correction > 1 || (UserManager.getUser().isRegular && correction >= 1)) { $('#activity-correction').html(correction_div); - $('#activity-correction-container').show(); + $('#activity-correction-container').show(); } } @@ -1103,12 +1106,12 @@ function isTheActivityIsDoable(doable, hideValidationButton = false) { $('#activity-validate').show(); } } - + if (interface != undefined && interface != null) { $('#activity-save').show() } - if (!Activity.activity.isLti) { + if (!Activity.activity.isLti) { $('#activity-validate').show(); if (Activity.activity.type != 'reading') { $('#activity-save').show(); @@ -1146,4 +1149,4 @@ function setPluriel(number) { if (number > 1) { return 's' } else return '' -} \ No newline at end of file +} diff --git a/classroom/assets/js/scripts/manageClassroom.js b/classroom/assets/js/scripts/manageClassroom.js index 89cc8312..db24b458 100644 --- a/classroom/assets/js/scripts/manageClassroom.js +++ b/classroom/assets/js/scripts/manageClassroom.js @@ -999,7 +999,7 @@ function displayStudentsInClassroom(students, link=false) { $('[data-toggle="tooltip"]').tooltip() }); - if(! (document.cookie.indexOf("isGarTest") || document.cookie.indexOf("isFromGar"))) + if(! UserManager.getUser().isFromGar) $('#body-table-teach').append('').localize(); // get classroom settings from localstorage From ebd22bff0c883fe168c227b88baaae2bc4a6130f Mon Sep 17 00:00:00 2001 From: Paul Libbrecht Date: Thu, 1 Sep 2022 13:41:13 +0200 Subject: [PATCH 036/340] =?UTF-8?q?isFromGar=20hides=20a=20few=20FAQ=20ent?= =?UTF-8?q?ries.=20Other=20adjustments=20in=20the=20translation=20to=20avo?= =?UTF-8?q?id=20wild=20clicking=20that=20take=20students=20out=20of=20the?= =?UTF-8?q?=20"cadre=20de=20confiance".=20All=20is=20a=20consequence=20of?= =?UTF-8?q?=20the=20GAR=20conformit=C3=A9.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- classroom/assets/js/scripts/displayPanel.js | 25 ++++++++++++--------- classroom/assets/js/scripts/login.js | 19 ++++++++-------- classroom/assets/lang/fr/ns.json | 14 ++++++------ 3 files changed, 32 insertions(+), 26 deletions(-) diff --git a/classroom/assets/js/scripts/displayPanel.js b/classroom/assets/js/scripts/displayPanel.js index 046c0c0b..2ccf6618 100644 --- a/classroom/assets/js/scripts/displayPanel.js +++ b/classroom/assets/js/scripts/displayPanel.js @@ -145,13 +145,18 @@ DisplayPanel.prototype.classroom_dashboard_help_panel = function () { DisplayPanel.prototype.classroom_dashboard_help_panel_teacher = function () { let html = ''; let index = [7, 12, 5, 3, 3, 3]; // number of questions+1 per category in faq - + // capitalize demoStudent name let capitalizedDemoStudentName = `${demoStudentName.charAt(0).toUpperCase()}${demoStudentName.slice(1)}`; - + let isFromGar = document.cookie.indexOf("isFromGar")>-1, isFromCanope = document.cookie.indexOf("isFromCanope")>-1; + let filterOut = (i,j) => { + if (isFromGar) return i == 2 && (j == 2 || j == 4 || j == 9 || j == 10); + return false; + } for (let i = 1; i <= index.length; i++) { html += "

                "; for (let j = 1; j < index[i - 1]; j++) { + if( filterOut(i,j) ) continue; html += `
                @@ -229,7 +234,7 @@ DisplayPanel.prototype.classroom_dashboard_form_classe_panel_update = function ( $('#table-students-update ul').html(""); classroom.students.forEach(function (student) { $('#table-students-update ul').append(addStudentRow(student.user.pseudo, student.user.id, true)); - }) + }) } DisplayPanel.prototype.classroom_dashboard_activities_panel_teacher = function () { @@ -277,10 +282,10 @@ DisplayPanel.prototype.classroom_table_panel_teacher = function (link) { fullPath = currentOriginUrl + '/classroom/login.php?link=' + ClassroomSettings.classroom; QrCreator.render({ text: fullPath, - radius: 0.5, + radius: 0.5, ecLevel: 'H', fill: getComputedStyle(document.documentElement).getPropertyValue('--classroom-primary'), - background: "white", + background: "white", size: 300 }, document.querySelector('#classroom-code-share-qr-code')); @@ -398,9 +403,9 @@ function formatDateInput(date) { function getTeacherActivity() { resetInputsForActivity(); - + $('#activity-title').html(Activity.title); - + let autoCorrectionDisclaimerElt = `` Activity.isAutocorrect ? $('#activity-title').append(autoCorrectionDisclaimerElt).tooltip() : null; @@ -445,7 +450,7 @@ function getTeacherActivity() { if (contentParsed.hasOwnProperty('description')) { $('#activity-content').html(bbcodeToHtml(contentParsed.description)); $('#activity-content-container').show(); - } + } } else if (Activity.type == 'fillIn') { $("#activity-states").html(bbcodeToHtml(contentParsed.states)); let contentForTeacher = contentParsed.fillInFields.contentForTeacher; @@ -495,7 +500,7 @@ function getTeacherActivity() { $("#activity-content-container").show(); } } - + } else { $('#activity-content').html(bbcodeToHtml(Activity.content)) $("#activity-content-container").show(); @@ -540,4 +545,4 @@ function getIntelFromClasses() { $('#mode-student-check').show() $('.tocorrect-activities').html(correctionCount) } -} \ No newline at end of file +} diff --git a/classroom/assets/js/scripts/login.js b/classroom/assets/js/scripts/login.js index 41780c6d..556dda3e 100644 --- a/classroom/assets/js/scripts/login.js +++ b/classroom/assets/js/scripts/login.js @@ -37,7 +37,7 @@ function onUrlChange() { // call onUrlChange one time a the initialization of the page for set the views correctly onUrlChange(); -// the function who manage the history without refreshing the page +// the function who manage the history without refreshing the page function navigateLight(page, i = 0) { let link; switch (i) { @@ -95,7 +95,7 @@ function findClassroomToConnect(linkC) { //$('#classroom-create-account .green-form').show(); $('#blocked-class').remove(); $('#class-connexion').attr("disabled", false); - + if (response.exist) { $('#classroom-login-account, #classroom-create-account').show(); $('#classroom-desc').html(response.link.toUpperCase() + ' - CLASSE \"' + response.name + '\"'); @@ -104,10 +104,10 @@ function findClassroomToConnect(linkC) { blockedClassDivElt.id = "blocked-class"; blockedClassDivElt.innerHTML = "Cette classe a été bloquée par l'enseignant.e qui l'a crée, tu ne peux donc pas créer de nouveau compte.
                Si tu as déja un compte, essaye plutot de te connecter."; - + $('#classroom-create-account').hide(); document.getElementById('classroom-desc').append(blockedClassDivElt); - + $('#classroom-create-account .green-form').hide(); $('#create-user').hide(); } @@ -183,6 +183,7 @@ if ($_GET('denied')) { $('#info-div').append(`
                ` + i18next.t('login-page.notConnect') + "
                ") } + function loginFaq() { let html = '' let index = [8, 8, 4] @@ -525,11 +526,11 @@ function createRegistrationTemplateForLogin() { if (res.USER_USERNAME == "false") { $('#registration_pseudo').remove(); } - + if (res.USER_PHONE == "false") { $('#registration_phone').remove(); } - + if (res.USER_BIO == "false") { $('#registration_bio').remove(); } @@ -537,7 +538,7 @@ function createRegistrationTemplateForLogin() { if (res.USER_TEACHER_GRADE == "false") { $('#registration_grade').remove(); } - + if (res.USER_TEACHER_SUBJECT == "false") { $('#registration_subject').remove(); } @@ -545,11 +546,11 @@ function createRegistrationTemplateForLogin() { if (res.USER_TEACHER_SCHOOL == "false") { $('#registration_school').remove(); } - + if ($_GET('p') == "register") { $('#classroom-register-container').show(); } - + }) } diff --git a/classroom/assets/lang/fr/ns.json b/classroom/assets/lang/fr/ns.json index 51069d8d..f96c91ee 100644 --- a/classroom/assets/lang/fr/ns.json +++ b/classroom/assets/lang/fr/ns.json @@ -574,7 +574,7 @@ }, "7": { "title": "Est-ce que la plateforme Cabri est disponible en plusieurs langues ?", - "answer": "Oui, la plateforme Cabri est actuellement disponible en français et en anglais. Pour changer la langue, allez dans l'onglet Profil, cliquez sur le bouton Paramètres, puis sélectionnez la langue qui vous convient." + "answer": "Oui, la plateforme Cabri est actuellement disponible en français, anglais, espagnol et en italien. Pour changer la langue, allez dans l'onglet Profil, cliquez sur le bouton Paramètres, puis sélectionnez la langue qui vous convient." } } }, @@ -592,7 +592,7 @@ }, "3": { "title": "Où peut-on trouver le code source de la plateforme Cabri ?", - "answer": "Le code source de la plateforme Cabri n'est pas disponible pour le moment. Vous pouvez retrouver de nombreux modules open source de la plateforme Vittascience sur le dossier GitHub de Vittascience, n'hésitez pas à contribuer !" + "answer": "Le code source de la plateforme Cabri est disponible open source sur le projet GitHub OpenSTEAM-LMS de Cabri, n'hésitez pas à contribuer !" } } }, @@ -641,7 +641,7 @@ }, "3": { "title": "Où peut-on trouver le code source de la plateforme Cabri ?", - "answer": "Le code source de la plateforme Cabri n'est pas disponible pour le moment. Vous pouvez retrouver de nombreux modules open source de la plateforme Vittascience sur le dossier GitHub de Vittascience, n'hésitez pas à contribuer !" + "answer": "Le code source de la plateforme Cabri est disponible sur le repository git OpenSTEAM-LMS sur GitHub, n'hésitez pas à contribuer !" } } }, @@ -712,7 +712,7 @@ }, "2": { "title": "Où peut-on trouver le code source de la plateforme Cabri ?", - "answer": "Le code source de la plateforme Cabri est disponible sur le repo git associé, n'hésitez pas à contribuer !" + "answer": "Le code source de la plateforme Cabri est disponible sur le repository git OpenSTEAM-LMS sur GitHub, n'hésitez pas à contribuer !" } } }, @@ -755,7 +755,7 @@ "question_list": { "1": { "title": "À quoi sert l’onglet Mes classes ?", - "answer": "Dans l’onglet Mes Classes, vous pouvez :
                1. créer vos propres classes et ajouter des apprenants,
                2. corriger les réponses aux activités de vos apprenants,
                3. suivre leur progression.
                " + "answer": "Dans l’onglet Mes Classes, vous pouvez :
                1. créer vos propres classes et ajouter des apprenants (sauf lorsqu'on est identifié par le GAR),
                2. corriger les réponses aux activités de vos apprenants,
                3. suivre leur progression.
                " }, "2": { "title": "Comment ajouter des apprenants à ma classe ?", @@ -812,7 +812,7 @@ }, "3": { "title": "Comment changer la langue ?", - "answer": "La plateforme Cabri est actuellement disponible en français et en anglais. Pour changer la langue, allez dans l'onglet Profil, cliquez sur le bouton Paramètres, puis sélectionnez la langue qui vous convient." + "answer": "La plateforme Cabri est disponible en plusieurs langues. Pour changer la langue, allez dans l'onglet Profil, cliquez sur le bouton Paramètres, puis sélectionnez la langue qui vous convient." }, "4": { "title": "Qu’est-ce que le mode apprenant ?", @@ -936,7 +936,7 @@ "question_list": { "1": { "title": "Où peut-on trouver le code source de la plateforme Cabri ?", - "answer": "Le code source de la plateforme Cabri est disponible sur le repository git OpenSTEAM-LMS, n'hésite pas à contribuer !" + "answer": "Le code source de la plateforme Cabri est disponible sur le repository git OpenSTEAM-LMS sur GitHub, n'hésitez pas à contribuer !" } } } From 5a2f98c551e636550baee106e3df3c0a13ba5946 Mon Sep 17 00:00:00 2001 From: Paul Libbrecht Date: Thu, 1 Sep 2022 18:05:24 +0200 Subject: [PATCH 037/340] Only bootstrap js comes at end. --- classroom/Views/home_footer.html | 1 - 1 file changed, 1 deletion(-) diff --git a/classroom/Views/home_footer.html b/classroom/Views/home_footer.html index 641b6987..bf7288d9 100644 --- a/classroom/Views/home_footer.html +++ b/classroom/Views/home_footer.html @@ -15,7 +15,6 @@ - From cc34e8f2fa60802d6311ad359ec03f81b7318783 Mon Sep 17 00:00:00 2001 From: thangphan Date: Wed, 5 Oct 2022 11:19:58 +0200 Subject: [PATCH 038/340] Supprimer le mot opensteam sur la landing page de beta.cabri.com MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Supprimer le mot opensteam sur la landing page de beta.cabri.com. À remplacer par "La plateforme Cabri". --- classroom/assets/lang/en/ns.json | 2 +- classroom/assets/lang/es/ns.json | 2 +- classroom/assets/lang/fr/ns.json | 2 +- classroom/assets/lang/it/ns.json | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/classroom/assets/lang/en/ns.json b/classroom/assets/lang/en/ns.json index c262e5b5..2f642d2b 100644 --- a/classroom/assets/lang/en/ns.json +++ b/classroom/assets/lang/en/ns.json @@ -7,7 +7,7 @@ "display": " display", "hello": " Hello !", "title": "Manage your Classrooms
                with Vittascience", - "neutralTitle": "OpenSTEAM LMS", + "neutralTitle": "The Cabri platform", "subtitle": "Discover - Learn - Share", "login": "Log in", "activities": "create easily
                your activities", diff --git a/classroom/assets/lang/es/ns.json b/classroom/assets/lang/es/ns.json index 2b94e7d7..fb99c98f 100644 --- a/classroom/assets/lang/es/ns.json +++ b/classroom/assets/lang/es/ns.json @@ -7,7 +7,7 @@ "display": " ver", "hello": " ¡Hola !", "title": "Gestione sus clases con Vittascience", - "neutralTitle": "OpenSTEAM LMS", + "neutralTitle": "La plataforma Cabri", "subtitle": "Descubrir-Aprender-Compartir", "login": "Conectarse", "activities": "Cree fácilmente
                sus actividades", diff --git a/classroom/assets/lang/fr/ns.json b/classroom/assets/lang/fr/ns.json index f96c91ee..c6e1c603 100644 --- a/classroom/assets/lang/fr/ns.json +++ b/classroom/assets/lang/fr/ns.json @@ -7,7 +7,7 @@ "display":"afficher", "hello": "Bonjour !", "title": "Gérez vos classes
                avec Vittascience", - "neutralTitle": "OpenSTEAM LMS", + "neutralTitle": "La plateforme Cabri", "subtitle": "Découvrir - Apprendre - Partager", "login": "Se connecter", "activities": "Créez facilement
                vos activités", diff --git a/classroom/assets/lang/it/ns.json b/classroom/assets/lang/it/ns.json index 35577039..4cb7c4a3 100644 --- a/classroom/assets/lang/it/ns.json +++ b/classroom/assets/lang/it/ns.json @@ -7,7 +7,7 @@ "display": " vedi", "hello": " Ciao!", "title": " Gestisci le tue classi con Vittascience", - "neutralTitle": "OpenSTEAM LMS", + "neutralTitle": "La piattaforma Cabri", "subtitle": "Scoprire - Imparare - Condividere", "login": "Accedi", "activities": "crea facilmente
                le tue attività", From 315b09aa5e9d03a725669014712fbe6786f75f9b Mon Sep 17 00:00:00 2001 From: thangphan Date: Wed, 5 Oct 2022 17:04:04 +0200 Subject: [PATCH 039/340] Deplacement du titre du siteweb beta.cabri.com Deplacer le titire et le bouton vers le gauche et diminuer la largeur du fenetre. --- classroom/assets/css/login.css | 3 +-- classroom/login.html | 6 +++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/classroom/assets/css/login.css b/classroom/assets/css/login.css index 07aef97a..f87f33f1 100644 --- a/classroom/assets/css/login.css +++ b/classroom/assets/css/login.css @@ -6,12 +6,11 @@ justify-content: center; width: 100%; height: calc(100vh - 2em); - text-align: center; background: no-repeat bottom center/100% url("../media/home_bg.png"); } .jumbotron-neutral { - min-height: 100vh; + min-height: 60vh; } #interactive-elements-container { diff --git a/classroom/login.html b/classroom/login.html index c0ce301d..cf717498 100644 --- a/classroom/login.html +++ b/classroom/login.html @@ -23,12 +23,12 @@ style="color:#009651;" data-i18n="classroom.login.hello">)
                -
                +

                - +
                -
                +

                From 3e62847168b86c9200b5dab10515ac7379ec6b65 Mon Sep 17 00:00:00 2001 From: thangphan Date: Thu, 6 Oct 2022 17:10:34 +0200 Subject: [PATCH 040/340] Deplacer titre Plateforme Cabri Deplacer a gauche --- classroom/assets/css/login.css | 2 +- classroom/login.html | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/classroom/assets/css/login.css b/classroom/assets/css/login.css index f87f33f1..94a0bed2 100644 --- a/classroom/assets/css/login.css +++ b/classroom/assets/css/login.css @@ -10,7 +10,7 @@ } .jumbotron-neutral { - min-height: 60vh; + min-height: 100vh; } #interactive-elements-container { diff --git a/classroom/login.html b/classroom/login.html index cf717498..024199cd 100644 --- a/classroom/login.html +++ b/classroom/login.html @@ -1,7 +1,7 @@
                -
                +
                afficher @@ -23,12 +23,12 @@ style="color:#009651;" data-i18n="classroom.login.hello">)
                -
                +

                -
                +

                From a69aece39087b086b34b09ee8f3374040380aad2 Mon Sep 17 00:00:00 2001 From: Paul Libbrecht Date: Mon, 10 Oct 2022 20:46:15 +0200 Subject: [PATCH 041/340] more cache-busting. --- classroom/Views/groupAdminProfilePanel.html | 2 +- classroom/Views/header.html | 4 +- classroom/Views/home_footer.html | 80 +++++------ classroom/Views/login_by_link.html | 6 +- classroom/Views/login_selection.html | 4 +- classroom/Views/managerProfilePanel.html | 2 +- classroom/Views/sidebar_groupadmin.html | 8 +- classroom/Views/sidebar_manager.html | 6 +- classroom/Views/sidebar_student.html | 6 +- classroom/Views/sidebar_teacher.html | 6 +- classroom/Views/studentActivitiesPanel.html | 6 +- classroom/Views/studentProfilePanel.html | 2 +- classroom/Views/teacherProfilePanel.html | 2 +- classroom/assets/js/constants/modals.js | 16 +-- classroom/assets/js/main/GroupAdminManager.js | 6 +- classroom/assets/js/main/ManagerManager.js | 8 +- classroom/assets/js/scripts/buttons.js | 4 +- .../assets/js/scripts/dashboardActivities.js | 12 +- classroom/assets/js/scripts/displayPanel.js | 2 +- .../assets/js/scripts/manageClassroom.js | 6 +- classroom/assets/js/utils/translate.js | 2 +- classroom/cgu.php | 38 ++--- classroom/confirm_account.html | 22 +-- classroom/confirm_account.php | 8 +- classroom/footer.html | 14 +- classroom/gar_access.php | 6 +- classroom/group_invitation.html | 48 +++---- classroom/group_invitation.php | 2 +- classroom/header.html | 36 ++--- classroom/home.html | 134 +++++++++--------- classroom/legal.php | 40 +++--- classroom/login.html | 80 +++++------ classroom/login.php | 6 +- classroom/password_manager.html | 22 +-- classroom/password_manager.php | 6 +- classroom/privacy.php | 42 +++--- classroom/registration.html | 26 ++-- classroom/registration.php | 2 +- 38 files changed, 361 insertions(+), 361 deletions(-) diff --git a/classroom/Views/groupAdminProfilePanel.html b/classroom/Views/groupAdminProfilePanel.html index 679afadb..3bf7cbde 100644 --- a/classroom/Views/groupAdminProfilePanel.html +++ b/classroom/Views/groupAdminProfilePanel.html @@ -1,7 +1,7 @@
                - - - - + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - + + + + - - - + + + - - + + - - + + - + diff --git a/classroom/Views/login_by_link.html b/classroom/Views/login_by_link.html index 30589bf0..b799994b 100644 --- a/classroom/Views/login_by_link.html +++ b/classroom/Views/login_by_link.html @@ -5,7 +5,7 @@

                Première viste ? Veuillez choisir un identifiant.

                - +
                @@ -19,11 +19,11 @@

                De retour dans cette classe ?

                - +

                - +

                diff --git a/classroom/Views/login_selection.html b/classroom/Views/login_selection.html index d53590b0..2ccf759e 100644 --- a/classroom/Views/login_selection.html +++ b/classroom/Views/login_selection.html @@ -4,7 +4,7 @@

                - +
                @@ -19,7 +19,7 @@

                - Logo GAR + Logo GAR Profitez du mode classe en toute simplicité à l'aide du GAR.
                Cliquez ici pour en savoir plus.
                diff --git a/classroom/Views/managerProfilePanel.html b/classroom/Views/managerProfilePanel.html index fea35ffd..583e74d0 100644 --- a/classroom/Views/managerProfilePanel.html +++ b/classroom/Views/managerProfilePanel.html @@ -1,7 +1,7 @@ diff --git a/classroom/Views/sidebar_manager.html b/classroom/Views/sidebar_manager.html index f76e53c7..f33125bc 100644 --- a/classroom/Views/sidebar_manager.html +++ b/classroom/Views/sidebar_manager.html @@ -4,19 +4,19 @@
                - Icône classe + Icône classe Utilisateurs
                - Icône Apps + Icône Apps Applications
                - Photo de profil + Photo de profil
                diff --git a/classroom/Views/sidebar_student.html b/classroom/Views/sidebar_student.html index b7785343..15bc2586 100644 --- a/classroom/Views/sidebar_student.html +++ b/classroom/Views/sidebar_student.html @@ -2,18 +2,18 @@
                diff --git a/classroom/Views/studentActivitiesPanel.html b/classroom/Views/studentActivitiesPanel.html index 4955c067..b2f94d3d 100644 --- a/classroom/Views/studentActivitiesPanel.html +++ b/classroom/Views/studentActivitiesPanel.html @@ -120,7 +120,7 @@

                - 2 - + 4 + Attribution
                @@ -911,7 +912,7 @@

                @@ -934,7 +935,7 @@

                - +
                @@ -1459,7 +1460,7 @@

                -
                +
                - +
                @@ -1682,40 +1683,40 @@ - - + + - - + + - - + + - - + +
                - +
                @@ -1795,7 +1796,7 @@

                1 Application

                - +
                @@ -1851,7 +1852,6 @@
                @@ -531,7 +531,7 @@

                -
                +

                @@ -568,7 +568,7 @@

                - +
                @@ -674,7 +674,7 @@

                - +

                - +
                @@ -726,14 +726,14 @@

                -
                +
                -
                +
                @@ -746,7 +746,7 @@

                -
                +
                @@ -757,11 +757,11 @@

                +
                - +
                @@ -912,7 +912,7 @@

                @@ -935,7 +935,7 @@

                - +
                @@ -1007,7 +1007,7 @@

                FAQ

                @@ -1354,7 +1354,7 @@

                Restrictions par defaut

                - +
                @@ -1363,7 +1363,7 @@

                Restrictions par defaut

                - +
                - +
                @@ -1683,40 +1683,40 @@ - - + + - - + + - - + + - - + +
                - +
                @@ -1796,7 +1796,7 @@

                1 Application

                - +
                @@ -1927,7 +1927,7 @@

                From 6162af850ea0abeee1817fc0ab5967a932d1ee9c Mon Sep 17 00:00:00 2001 From: Arouz <48770524+Arouz@users.noreply.github.com> Date: Tue, 2 Aug 2022 13:22:19 +0200 Subject: [PATCH 086/340] fix for parameters --- classroom/assets/js/main/CoursesManager.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/classroom/assets/js/main/CoursesManager.js b/classroom/assets/js/main/CoursesManager.js index 08661fc6..5dc0a5f5 100644 --- a/classroom/assets/js/main/CoursesManager.js +++ b/classroom/assets/js/main/CoursesManager.js @@ -12,7 +12,7 @@ class CoursesManager { image: '', parameters: { duration: '', - level: '', + difficulty: '', language: '', support: '', options: { @@ -26,7 +26,7 @@ class CoursesManager { } init() { - + this.dragula = dragula(); } goToCreate(fresh = false) { @@ -51,12 +51,12 @@ class CoursesManager { goToParameters(fromTitle = false) { if (!fromTitle) { document.getElementById('course-duration').value = this.courseData.parameters.duration; - document.getElementById('course-level').value = this.courseData.parameters.level; + document.getElementById('course-difficulty').value = this.courseData.parameters.level; document.getElementById('course-language').value = this.courseData.parameters.language; document.getElementById('course-support').value = this.courseData.parameters.support; } else { document.getElementById('course-duration').value = ''; - document.getElementById('course-level').value = ''; + document.getElementById('course-difficulty').value = ''; document.getElementById('course-language').value = ''; document.getElementById('course-support').value = ''; } From 275d86b1d6997772edb6e85fae1674f5b587baf0 Mon Sep 17 00:00:00 2001 From: Arouz <48770524+Arouz@users.noreply.github.com> Date: Tue, 2 Aug 2022 19:43:49 +0200 Subject: [PATCH 087/340] parameters cfg --- classroom/Views/teacherCoursePanel.html | 19 ++- classroom/assets/js/main/CoursesManager.js | 172 ++++++++++++++++++++- 2 files changed, 180 insertions(+), 11 deletions(-) diff --git a/classroom/Views/teacherCoursePanel.html b/classroom/Views/teacherCoursePanel.html index c1617e54..434d8545 100644 --- a/classroom/Views/teacherCoursePanel.html +++ b/classroom/Views/teacherCoursePanel.html @@ -228,9 +228,10 @@
                +
                - - + +
                @@ -267,15 +268,21 @@
                diff --git a/classroom/assets/js/main/CoursesManager.js b/classroom/assets/js/main/CoursesManager.js index 5dc0a5f5..f2884558 100644 --- a/classroom/assets/js/main/CoursesManager.js +++ b/classroom/assets/js/main/CoursesManager.js @@ -23,10 +23,38 @@ class CoursesManager { } }; this.dragula = null; + this.collections = [ + "Sciences et technologie-Cycle 3", + "Mathématiques-Cycle 3", + "Technologie-Cycle 3", + "Physique-Chimie-Cycle 4", + "Mathématiques-Cycle 4", + "Technologie-Cycle 4", + "SVT-Cycle 4", "SNT-Seconde", + "Physique-Chimie-Seconde", + "Mathématiques-Seconde", + "SVT-Seconde", + "CIT-Seconde", + "Enseignement scientifique-Première", + "NSI-Première", + "Physique-Chimie-Première", + "Mathématiques-Première", + "Sciences de l'ingénieur-Première", + "SVT-Première", + "Enseignement scientifique-Terminale", + "NSI-Terminale", + "Physique-Chimie-Terminale", + "Mathématiques-Terminale", + "Sciences de l'ingénieur-Terminale", + "SVT-Terminale", + "STI2D-Lycée", + "Autre-(tout niveau)" + ]; } init() { this.dragula = dragula(); + } goToCreate(fresh = false) { @@ -54,11 +82,6 @@ class CoursesManager { document.getElementById('course-difficulty').value = this.courseData.parameters.level; document.getElementById('course-language').value = this.courseData.parameters.language; document.getElementById('course-support').value = this.courseData.parameters.support; - } else { - document.getElementById('course-duration').value = ''; - document.getElementById('course-difficulty').value = ''; - document.getElementById('course-language').value = ''; - document.getElementById('course-support').value = ''; } navigatePanel('classroom-dashboard-classes-new-course-parameters', 'dashboard-activities-teacher'); } @@ -213,6 +236,48 @@ class CoursesManager { document.getElementById('add-activity-content').innerHTML = ''; } + addTutorialToCourse() { + let html = `
                +
                +
                +
                Lien vers le tutoriel
                +
                + +
                + +
                +
                +
                `; + } + + addProductToCourse() { + let html = `
                +
                +
                + Nom +
                + +
                +
                +
                + URL +
                +
                + +
                `; + } + + fillCollectionSelect(collection) { + const collectionSelect = document.getElementById('collection-select'); + collectionSelect.innerHTML = ''; + collection.forEach(collection => { + const collectionOption = document.createElement('option'); + collectionOption.value = collection.id; + collectionOption.innerHTML = collection.name; + collectionSelect.appendChild(collectionOption); + }); + } persistTitlePage() { const title = document.getElementById('course-title').value, @@ -228,6 +293,103 @@ class CoursesManager { this.goToParameters(true); } + addChapterToCourse() { + + // check how many "select-collection-" id exist + let nbCollect = document.querySelectorAll('[id^="select-collection-"]').length; + let id = 0; + + const chaptersContent = document.getElementById('course-chapters-content'); + let collections = "", + selectChapter = "", + selectCollection = ""; + + for (let index = 0; index < nbCollect+1; index++) { + if (document.getElementById('select-collection-' + index) == null) { + id = index; + break; + } + } + + for (let i = 0; i < this.collections.length; i++) { + collections += ``; + } + + selectCollection = `
                + + +
                `; + + + this.getChapterByCollection(1, "Sciences et technologie", "Cycle 3").then(chapters => { + let chaptersDiv = ""; + for(let i = 0; i < chapters.length; i++) { + chaptersDiv += ``; + } + + + selectChapter = `
                + + +
                `; + + chaptersContent.innerHTML += `
                + ${selectCollection} + ${selectChapter} +
                `; + + document.getElementById('select-collection-' + id).addEventListener('change', (e) => { + console.log(e) + let selectedValue = this.collections[e.target.value]; + this.getChapterByCollection(parseInt(e.target.value)+1, selectedValue.split("-")[0], selectedValue.split("-")[1]).then(chapters => { + let chaptersDiv = ""; + for(let i = 0; i < chapters.length; i++) { + chaptersDiv += ``; + } + document.getElementById('select-chapter-' + id).innerHTML = chaptersDiv; + }) + }); + }); + } + + deleteChapter(id) { + console.log("deleteChapter"); + document.getElementById('course-chapter-' + id).remove(); + } + + // fetch POST chapter controller=chapter&action=get_chapter_by_collection with params: id, nameCollection, gradeCollection + getChapterByCollection(id, nameCollection, gradeCollection) { + return new Promise(function (resolve, reject) { + $.ajax({ + type: "POST", + url: "/routing/Routing.php?controller=chapter&action=get_chapter_by_collection", + data: { + id: id, + nameCollection: nameCollection, + gradeCollection: gradeCollection + }, + success: function (res) { + resolve(JSON.parse(res)); + }, + error: function () { + reject(); + } + }); + }) + } + + + // make an array of collection + // + + + + } From 329a4f759b36f34a5fc311e59c2019883280f838 Mon Sep 17 00:00:00 2001 From: Arouz Date: Wed, 3 Aug 2022 01:19:19 +0200 Subject: [PATCH 088/340] view added --- classroom/Views/teacherCoursePanel.html | 168 ++++++++++++++++++++- classroom/assets/js/main/CoursesManager.js | 1 - 2 files changed, 167 insertions(+), 2 deletions(-) diff --git a/classroom/Views/teacherCoursePanel.html b/classroom/Views/teacherCoursePanel.html index 434d8545..fa3efdb5 100644 --- a/classroom/Views/teacherCoursePanel.html +++ b/classroom/Views/teacherCoursePanel.html @@ -305,6 +305,172 @@

                +

                \ No newline at end of file diff --git a/classroom/assets/js/main/CoursesManager.js b/classroom/assets/js/main/CoursesManager.js index f2884558..146242a0 100644 --- a/classroom/assets/js/main/CoursesManager.js +++ b/classroom/assets/js/main/CoursesManager.js @@ -54,7 +54,6 @@ class CoursesManager { init() { this.dragula = dragula(); - } goToCreate(fresh = false) { From bd6f94d5d8e3ee1b6a023cfd21f562bdc8c5d393 Mon Sep 17 00:00:00 2001 From: Arouz Date: Wed, 3 Aug 2022 01:43:52 +0200 Subject: [PATCH 089/340] add method for tutorial and product --- classroom/Views/teacherCoursePanel.html | 6 +- classroom/assets/js/main/CoursesManager.js | 65 ++++++++++++++++------ 2 files changed, 51 insertions(+), 20 deletions(-) diff --git a/classroom/Views/teacherCoursePanel.html b/classroom/Views/teacherCoursePanel.html index fa3efdb5..1638a3bd 100644 --- a/classroom/Views/teacherCoursePanel.html +++ b/classroom/Views/teacherCoursePanel.html @@ -272,15 +272,17 @@

                +
                - +
                +
                - +
                diff --git a/classroom/assets/js/main/CoursesManager.js b/classroom/assets/js/main/CoursesManager.js index 146242a0..1e3ea5d7 100644 --- a/classroom/assets/js/main/CoursesManager.js +++ b/classroom/assets/js/main/CoursesManager.js @@ -76,12 +76,6 @@ class CoursesManager { } goToParameters(fromTitle = false) { - if (!fromTitle) { - document.getElementById('course-duration').value = this.courseData.parameters.duration; - document.getElementById('course-difficulty').value = this.courseData.parameters.level; - document.getElementById('course-language').value = this.courseData.parameters.language; - document.getElementById('course-support').value = this.courseData.parameters.support; - } navigatePanel('classroom-dashboard-classes-new-course-parameters', 'dashboard-activities-teacher'); } @@ -236,37 +230,72 @@ class CoursesManager { } addTutorialToCourse() { - let html = `
                + + let nbCollect = document.querySelectorAll('[id^="course-product-"]').length; + let id = 0; + + for (let index = 0; index < nbCollect+1; index++) { + if (document.getElementById('course-product-' + index) == null) { + id = index; + break; + } + } + + let html = `
                Lien vers le tutoriel
                - +
                `; } addProductToCourse() { - let html = `
                + + let nbCollect = document.querySelectorAll('[id^="course-product-"]').length; + let id = 0; + + for (let index = 0; index < nbCollect+1; index++) { + if (document.getElementById('course-product-' + index) == null) { + id = index; + break; + } + } + + let html = `
                Nom
                +
                URL
                -
                -
                + +
                `; + const productsDiv = document.getElementById('course-products-content'); + productsDiv.innerHTML += html; + } + + deleteProductFromCourse(productId) { + document.getElementById('course-product-' + productId).remove(); + } + + deleteTutorialFromCourse(tutorialId) { + document.getElementById('course-tutorial-' + tutorialId).remove(); } + fillCollectionSelect(collection) { const collectionSelect = document.getElementById('collection-select'); collectionSelect.innerHTML = ''; @@ -297,25 +326,25 @@ class CoursesManager { // check how many "select-collection-" id exist let nbCollect = document.querySelectorAll('[id^="select-collection-"]').length; let id = 0; - - const chaptersContent = document.getElementById('course-chapters-content'); - let collections = "", - selectChapter = "", - selectCollection = ""; - + for (let index = 0; index < nbCollect+1; index++) { if (document.getElementById('select-collection-' + index) == null) { id = index; break; } } + const chaptersContent = document.getElementById('course-chapters-content'); + let collections = "", + selectChapter = "", + selectCollection = ""; + for (let i = 0; i < this.collections.length; i++) { collections += ``; } selectCollection = `
                - + From bd4ff9677de627bfe884d51de70400f6e4ffc530 Mon Sep 17 00:00:00 2001 From: Arouz <48770524+Arouz@users.noreply.github.com> Date: Wed, 3 Aug 2022 01:47:09 +0200 Subject: [PATCH 090/340] little fix --- classroom/assets/js/main/CoursesManager.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/classroom/assets/js/main/CoursesManager.js b/classroom/assets/js/main/CoursesManager.js index 1e3ea5d7..bf8ce05b 100644 --- a/classroom/assets/js/main/CoursesManager.js +++ b/classroom/assets/js/main/CoursesManager.js @@ -231,11 +231,11 @@ class CoursesManager { addTutorialToCourse() { - let nbCollect = document.querySelectorAll('[id^="course-product-"]').length; + let nbCollect = document.querySelectorAll('[id^="course-tutorial-"]').length; let id = 0; for (let index = 0; index < nbCollect+1; index++) { - if (document.getElementById('course-product-' + index) == null) { + if (document.getElementById('course-tutorial-' + index) == null) { id = index; break; } @@ -252,6 +252,8 @@ class CoursesManager {
                `; + const tutorialsDiv = document.getElementById('course-tutorials-content'); + tutorialsDiv.innerHTML += html; } addProductToCourse() { From 963b160ea4dbf87c7e69200129a2041f9e555b52 Mon Sep 17 00:00:00 2001 From: Arouz <48770524+Arouz@users.noreply.github.com> Date: Wed, 3 Aug 2022 02:17:17 +0200 Subject: [PATCH 091/340] view updated --- classroom/Views/teacherCoursePanel.html | 28 ++++++++++++++----------- 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/classroom/Views/teacherCoursePanel.html b/classroom/Views/teacherCoursePanel.html index 1638a3bd..d569ec29 100644 --- a/classroom/Views/teacherCoursePanel.html +++ b/classroom/Views/teacherCoursePanel.html @@ -312,36 +312,40 @@
                -
                +
                @@ -300,7 +300,7 @@

                -

                diff --git a/classroom/assets/js/main/CoursesManager.js b/classroom/assets/js/main/CoursesManager.js index bf8ce05b..c5502898 100644 --- a/classroom/assets/js/main/CoursesManager.js +++ b/classroom/assets/js/main/CoursesManager.js @@ -14,16 +14,11 @@ class CoursesManager { duration: '', difficulty: '', language: '', - support: '', - options: { - chapters: [], - products: [], - tutorials: [], - } + license: '', } }; this.dragula = null; - this.collections = [ + /* this.collections = [ "Sciences et technologie-Cycle 3", "Mathématiques-Cycle 3", "Technologie-Cycle 3", @@ -49,7 +44,7 @@ class CoursesManager { "SVT-Terminale", "STI2D-Lycée", "Autre-(tout niveau)" - ]; + ]; */ } init() { @@ -75,7 +70,7 @@ class CoursesManager { navigatePanel('classroom-dashboard-classes-new-course-title', 'dashboard-activities-teacher'); } - goToParameters(fromTitle = false) { + goToParameters() { navigatePanel('classroom-dashboard-classes-new-course-parameters', 'dashboard-activities-teacher'); } @@ -117,7 +112,11 @@ class CoursesManager { if (this.dragula.containers.length > 0) { this.dragula.containers = []; } - this.dragula = dragula([activityFromCourses]); + this.dragula = dragula([activityFromCourses]).on('drop', () => { + setTimeout(() => { + this.sortActualCourseArrayFromDiv(); + }, 100); + }); } @@ -125,6 +124,15 @@ class CoursesManager { navigatePanel('classroom-dashboard-classes-new-course', 'dashboard-activities-teacher'); } + sortActualCourseArrayFromDiv() { + const courseItems = document.querySelectorAll('[class^=course-item]'); + this.actualCourses = []; + courseItems.forEach(item => { + const courseId = parseInt(item.getAttribute('data-course-id')); + this.actualCourses.push(Main.getClassroomManager()._myTeacherActivities.find(activity => activity.id === courseId)); + }); + } + addActivityToCourse() { // get all the activities const activitiesDiv = document.getElementById('add-activity-content'), @@ -229,7 +237,39 @@ class CoursesManager { document.getElementById('add-activity-content').innerHTML = ''; } - addTutorialToCourse() { + persistTitlePage() { + const title = document.getElementById('course-title').value, + description = document.getElementById('course-description').value, + image = document.getElementById('course-image').files[0]; + + if (title && description) { + this.courseData.title = title; + this.courseData.description = description; + this.courseData.image = image; + this.goToParameters(true); + } else { + displayNotification('#notif-div', "informations manquantes", "error"); + } + } + + persistParameters() { + const duration = document.getElementById('course-duration').value, + difficulty = document.getElementById('course-difficulty').value, + language = document.getElementById('course-language').value, + license = document.getElementById('course-license').value; + + if (duration && difficulty && language && license) { + this.courseData.duration = duration; + this.courseData.difficulty = difficulty; + this.courseData.language = language; + this.courseData.license = license; + this.goToAttribution(true); + } else { + displayNotification('#notif-div', "informations manquantes", "error"); + } + } + + /* addTutorialToCourse() { let nbCollect = document.querySelectorAll('[id^="course-tutorial-"]').length; let id = 0; @@ -246,7 +286,7 @@ class CoursesManager {
                Lien vers le tutoriel
                - +
                @@ -273,13 +313,14 @@ class CoursesManager {
                Nom
                - +
                URL -
                +
                +
                - -
                @@ -259,35 +245,7 @@
                - +
                @@ -348,135 +306,33 @@

                -
                -
                - -
                - (0 ) -
                -
                + +
                +

                Parcours créé avec succès

                +
                - -
                -
                -
                - - +
                +
                +
                - -
                -
                - - - -
                -
                -
                -
                - -
                - - - - - - -
                -
                - - +
                +
                - -
                -
                - - -
                -
                - -

                Options facultatives

                -
                - - -
                - - -
                -
                - -
                - -
                - -
                +

                + +
                - - -
                +
                \ No newline at end of file diff --git a/classroom/assets/js/main/CoursesManager.js b/classroom/assets/js/main/CoursesManager.js index c5502898..7895480d 100644 --- a/classroom/assets/js/main/CoursesManager.js +++ b/classroom/assets/js/main/CoursesManager.js @@ -5,67 +5,52 @@ class CoursesManager { * @public */ constructor() { - this.actualCourses = []; this.courseData = { - title: '', - description: '', - image: '', + courses: [], + title: null, + description: null, + image: null, parameters: { - duration: '', - difficulty: '', - language: '', - license: '', + duration: null, + difficulty: null, + language: null, + license: null, } }; this.dragula = null; - /* this.collections = [ - "Sciences et technologie-Cycle 3", - "Mathématiques-Cycle 3", - "Technologie-Cycle 3", - "Physique-Chimie-Cycle 4", - "Mathématiques-Cycle 4", - "Technologie-Cycle 4", - "SVT-Cycle 4", "SNT-Seconde", - "Physique-Chimie-Seconde", - "Mathématiques-Seconde", - "SVT-Seconde", - "CIT-Seconde", - "Enseignement scientifique-Première", - "NSI-Première", - "Physique-Chimie-Première", - "Mathématiques-Première", - "Sciences de l'ingénieur-Première", - "SVT-Première", - "Enseignement scientifique-Terminale", - "NSI-Terminale", - "Physique-Chimie-Terminale", - "Mathématiques-Terminale", - "Sciences de l'ingénieur-Terminale", - "SVT-Terminale", - "STI2D-Lycée", - "Autre-(tout niveau)" - ]; */ + this.resetCourseData = null; } init() { this.dragula = dragula(); + this.courseId = null; + this.resetCourseData = () => { + this.courseData = { + title: null, + description: null, + image: null, + parameters: { + duration: null, + difficulty: null, + language: null, + license: null, + } + } + }; } goToCreate(fresh = false) { if (fresh) { - this.actualCourses = []; + this.courseData.courses = []; } this.refrashCourses(); navigatePanel('classroom-dashboard-classes-new-course', 'dashboard-activities-teacher'); } - goToTitle(fromCreate = false) { - if (!fromCreate) { + goToTitle() { + if (this.courseData.title != null && this.courseData.description != null) { document.getElementById('course-title').value = this.courseData.title; document.getElementById('course-description').value = this.courseData.description; - } else { - document.getElementById('course-title').value = ''; - document.getElementById('course-description').value = ''; } navigatePanel('classroom-dashboard-classes-new-course-title', 'dashboard-activities-teacher'); } @@ -75,7 +60,18 @@ class CoursesManager { } goToAttribution(fromParameters = false) { - navigatePanel('classroom-dashboard-classes-new-course-attribution', 'dashboard-activities-teacher'); + if (fromParameters) { + this._requestAddCourse().then((res) => { + if (res.hasOwnProperty('success')) { + console.log(res); + this.courseId = res.course.id; + navigatePanel('classroom-dashboard-classes-new-course-attribution', 'dashboard-activities-teacher'); + this.resetCourseData(); + } else { + displayNotification('error', res.message); + } + }) + } } facultativeOptions() { @@ -87,7 +83,7 @@ class CoursesManager { refrashCourses() { const coursesDiv = document.getElementById('course-activities-content'); coursesDiv.innerHTML = ''; - this.actualCourses.forEach(course => { + this.courseData.courses.forEach(course => { let activityImg = foldersManager.icons.hasOwnProperty(course.type) ? `${course.type}` : "
                "; const courseDiv = document.createElement('div'); courseDiv.classList.add('course-item'); @@ -126,10 +122,10 @@ class CoursesManager { sortActualCourseArrayFromDiv() { const courseItems = document.querySelectorAll('[class^=course-item]'); - this.actualCourses = []; + this.courseData.courses = []; courseItems.forEach(item => { const courseId = parseInt(item.getAttribute('data-course-id')); - this.actualCourses.push(Main.getClassroomManager()._myTeacherActivities.find(activity => activity.id === courseId)); + this.courseData.courses.push(Main.getClassroomManager()._myTeacherActivities.find(activity => activity.id === courseId)); }); } @@ -140,7 +136,7 @@ class CoursesManager { // filter with the ones that are not in the course let activitiesToAdd = activities.filter(activity => { - return !this.actualCourses.some(course => { + return !this.courseData.courses.some(course => { return course.id === activity.id; }); }); @@ -175,7 +171,7 @@ class CoursesManager { activitiesDiv = document.getElementById('add-activity-content'); let activitiesToAdd = activities.filter(activity => { - return !this.actualCourses.some(course => { + return !this.courseData.courses.some(course => { return course.id === activity.id; }); }); @@ -210,7 +206,7 @@ class CoursesManager { for (let i = 0; i < activitiesChecked.length; i++) { let id = parseInt(activitiesChecked[i].value); if (activitiesChecked[i].checked && id) { - this.actualCourses.push(activities.find(activity => { + this.courseData.courses.push(activities.find(activity => { return activity.id === id; })); } @@ -222,7 +218,7 @@ class CoursesManager { } deleteActivityFromCourse(activityId) { - this.actualCourses = this.actualCourses.filter(course => { + this.courseData.courses = this.courseData.courses.filter(course => { return course.id !== activityId; }); this.refrashCourses(); @@ -259,225 +255,67 @@ class CoursesManager { license = document.getElementById('course-license').value; if (duration && difficulty && language && license) { - this.courseData.duration = duration; - this.courseData.difficulty = difficulty; - this.courseData.language = language; - this.courseData.license = license; + this.courseData.parameters.duration = duration; + this.courseData.parameters.difficulty = difficulty; + this.courseData.parameters.language = language; + this.courseData.parameters.license = license; this.goToAttribution(true); } else { displayNotification('#notif-div', "informations manquantes", "error"); } } - /* addTutorialToCourse() { - - let nbCollect = document.querySelectorAll('[id^="course-tutorial-"]').length; - let id = 0; - - for (let index = 0; index < nbCollect+1; index++) { - if (document.getElementById('course-tutorial-' + index) == null) { - id = index; - break; - } - } - - let html = `
                -
                -
                -
                Lien vers le tutoriel
                -
                - -
                - -
                -
                -
                `; - const tutorialsDiv = document.getElementById('course-tutorials-content'); - tutorialsDiv.innerHTML += html; - } - - addProductToCourse() { - - let nbCollect = document.querySelectorAll('[id^="course-product-"]').length; - let id = 0; - - for (let index = 0; index < nbCollect+1; index++) { - if (document.getElementById('course-product-' + index) == null) { - id = index; - break; - } - } + //création activité vers attribution + attributeActivity(id, ref = null) { - let html = `
                -
                -
                - Nom -
                - -
                - -
                -
                - URL -
                - -
                - - -
                `; - const productsDiv = document.getElementById('course-products-content'); - productsDiv.innerHTML += html; - } + $("#assign-total-student-number").text(0); + Main.getClassroomManager()._idActivityOnAttribution = id; - fillCollectionSelect(collection) { - const collectionSelect = document.getElementById('collection-select'); - collectionSelect.innerHTML = ''; - collection.forEach(collection => { - const collectionOption = document.createElement('option'); - collectionOption.value = collection.id; - collectionOption.innerHTML = collection.name; - collectionSelect.appendChild(collectionOption); - }); - } - */ - - - /* deleteProductFromCourse(productId) { - document.getElementById('course-product-' + productId).remove(); - } - - deleteTutorialFromCourse(tutorialId) { - document.getElementById('course-tutorial-' + tutorialId).remove(); - } */ - -/* addChapterToCourse() { - // check how many "select-collection-" id exist - let nbCollect = document.querySelectorAll('[id^="select-collection-"]').length; - let id = 0; - - for (let index = 0; index < nbCollect+1; index++) { - if (document.getElementById('select-collection-' + index) == null) { - id = index; - break; - } + if (id == 0) { + id = Main.getClassroomManager()._lastCreatedActivity; } - const chaptersContent = document.getElementById('course-chapters-content'); - let collections = "", - selectChapter = "", - selectCollection = ""; + ClassroomSettings.activity = id + ClassroomSettings.ref = ref - for (let i = 0; i < this.collections.length; i++) { - collections += ``; - } + document.getElementsByClassName('student-number')[0].textContent = '0'; - selectCollection = `
                - - -
                `; - - - this.getChapterByCollection(1, "Sciences et technologie", "Cycle 3").then(chapters => { - let chaptersDiv = ""; - for(let i = 0; i < chapters.length; i++) { - chaptersDiv += ``; - } - - - selectChapter = `
                - - -
                `; - - chaptersContent.innerHTML += `
                - ${selectCollection} - ${selectChapter} -
                `; - - document.getElementById('select-collection-' + id).addEventListener('change', (e) => { - console.log(e) - let selectedValue = this.collections[e.target.value]; - this.getChapterByCollection(parseInt(e.target.value)+1, selectedValue.split("-")[0], selectedValue.split("-")[1]).then(chapters => { - let chaptersDiv = ""; - for(let i = 0; i < chapters.length; i++) { - chaptersDiv += ``; - } - document.getElementById('select-chapter-' + id).innerHTML = chaptersDiv; - }) - }); - }); - } */ - -/* deleteChapter(id) { - console.log("deleteChapter"); - document.getElementById('course-chapter-' + id).remove(); - } */ - -/* saveParameters() { - let chapters = []; - let products = []; - let tutorials = []; - - const chaptersContent = document.getElementById('course-chapters-content'); - const productsContent = document.getElementById('course-products-content'); - const tutorialsContent = document.getElementById('course-tutorials-content'); - - for (let i = 0; i < chaptersContent.children.length; i++) { - let chapter = { - collection: document.getElementById('select-collection-' + i).value, - chapter: document.getElementById('select-chapter-' + i).value - } - chapters.push(chapter); - } + $('#list-student-attribute-modal').html('') + listStudentsToAttribute(ref) + $('#form-autocorrect').hide() + ClassroomSettings.willAutocorrect = false; + navigatePanel('classroom-dashboard-new-activity-panel3', 'dashboard-activities-teacher', ref); - for (let i = 0; i < productsContent.children.length; i++) { - let product = { - name: document.getElementById('course-product-name-' + i).value, - url: document.getElementById('course-product-url-' + i).value - } - products.push(product); - } + } - for (let i = 0; i < tutorialsContent.children.length; i++) { - let tutorial = { - url: document.getElementById('course-tutorial-link-' + i).value - } - tutorials.push(tutorial); - } + updateCourse() { - this.courseData.parameters.options.chapters.push(chapters); - this.courseData.parameters.options.products.push(products); - this.courseData.parameters.options.tutorials.push(tutorials); - } */ + } + attributeCourse() { + } -/* getChapterByCollection(id, nameCollection, gradeCollection) { - return new Promise(function (resolve, reject) { + _requestAddCourse() { + return new Promise((resolve, reject) => { $.ajax({ type: "POST", - url: "/routing/Routing.php?controller=chapter&action=get_chapter_by_collection", + url: "/routing/Routing.php?controller=course&action=add_from_classroom", data: { - id: id, - nameCollection: nameCollection, - gradeCollection: gradeCollection + course: JSON.stringify(this.courseData) }, - success: function (res) { - resolve(JSON.parse(res)); + success: function (response) { + resolve(JSON.parse(response)); }, error: function () { - reject(); + reject('error') } }); }) - } */ + } + + } // Initialize const coursesManager = new CoursesManager(); From ad463b5bd9c7d98871683018c156628bcfb31f20 Mon Sep 17 00:00:00 2001 From: Arouz <48770524+Arouz@users.noreply.github.com> Date: Tue, 23 Aug 2022 13:09:30 +0200 Subject: [PATCH 095/340] parcours --- classroom/Views/teacherCoursePanel.html | 110 +++++++++++++++++++++ classroom/assets/js/main/CoursesManager.js | 42 +++++++- routing/Routing.php | 34 +++---- 3 files changed, 166 insertions(+), 20 deletions(-) diff --git a/classroom/Views/teacherCoursePanel.html b/classroom/Views/teacherCoursePanel.html index f27419fc..3473aca5 100644 --- a/classroom/Views/teacherCoursePanel.html +++ b/classroom/Views/teacherCoursePanel.html @@ -335,4 +335,114 @@

                Parcours créé avec

                +
                + + + \ No newline at end of file diff --git a/classroom/assets/js/main/CoursesManager.js b/classroom/assets/js/main/CoursesManager.js index 7895480d..65d6c492 100644 --- a/classroom/assets/js/main/CoursesManager.js +++ b/classroom/assets/js/main/CoursesManager.js @@ -293,10 +293,31 @@ class CoursesManager { } - attributeCourse() { + attributeCourse(courseId, students, classrooms) { + $("#assign-total-student-number-course").text(0); + + if (id == 0) { + id = Main.getClassroomManager()._lastCreatedActivity; + } + + ClassroomSettings.activity = id + ClassroomSettings.ref = ref + + document.getElementsByClassName('student-number')[0].textContent = '0'; + + $('#list-student-attribute-modal').html('') + listStudentsToAttribute(ref) + + navigatePanel('classroom-dashboard-classes-new-course-attribution-select', 'dashboard-activities-teacher'); + + + + this._requestUsersLinkCourse(courseId, students, classrooms); } + + _requestAddCourse() { return new Promise((resolve, reject) => { $.ajax({ @@ -315,6 +336,25 @@ class CoursesManager { }) } + _requestUsersLinkCourse(courseId, students, classrooms) { + return new Promise((resolve, reject) => { + $.ajax({ + type: "POST", + url: "/routing/Routing.php?controller=user_link_course&action=link_user_to_course", + data: { + courseId: courseId, + students: students, + classrooms: classrooms + }, + success: function (response) { + resolve(JSON.parse(response)); + }, + error: function () { + reject('error') + } + }); + }) + } } // Initialize diff --git a/routing/Routing.php b/routing/Routing.php index ad74e6b3..c50fcc93 100644 --- a/routing/Routing.php +++ b/routing/Routing.php @@ -25,21 +25,22 @@ use Learn\Controller\ControllerCollection; use Interfaces\Controller\ControllerProject; use Classroom\Controller\ControllerClassroom; -use Utils\Exceptions\EntityOperatorException; +use Learn\Controller\ControllerNewActivities; +use Utils\Exceptions\EntityOperatorException; use Classroom\Controller\ControllerGroupAdmin; -use Classroom\Controller\ControllerSuperAdmin; -use Learn\Controller\ControllerNewActivities; +use Classroom\Controller\ControllerSuperAdmin; use Learn\Controller\ControllerCourseLinkCourse; +use Classroom\Controller\ControllerCourseLinkUser; use Utils\Exceptions\EntityDataIntegrityException; use Classroom\Controller\ControllerActivityLinkUser; use Interfaces\Controller\ControllerProjectLinkUser; use Classroom\Controller\ControllerClassroomLinkUser; -use Utils\Controller\ControllerUpload; + $dotenv = Dotenv::createImmutable(__DIR__ . "/../"); $dotenv->safeLoad(); @@ -57,12 +58,9 @@ session_start(); $user = null; if (isset($_SESSION["id"])) { - $user = $entityManager->getRepository('User\Entity\User')->find(intval($_SESSION["id"]))->jsonSerialize(); - $storedClassroom = $entityManager->getRepository('Classroom\Entity\ClassroomLinkUser')->findOneBy(['user' => $_SESSION["id"]]); - if ($storedClassroom) { - $classroom = $storedClassroom->jsonSerialize(); - $user["classroom"] = $classroom["classroom"]["id"]; - } + $user = $entityManager->getRepository('User\Entity\User') + ->find(intval($_SESSION["id"]))->jsonSerialize(); + try { $regular = $entityManager->getRepository('User\Entity\Regular') ->find(intval($_SESSION["id"]))->jsonSerialize(); @@ -92,18 +90,18 @@ // get and scan the entire plugins folder $pluginsDir = '../plugins'; if (is_dir($pluginsDir)) { - $pluginsFound = array_diff(scandir($pluginsDir), array('..', '.', '.DS_Store')); + $pluginsFound = array_diff(scandir($pluginsDir), array('..', '.')); // scan each single plugin folder foreach ($pluginsFound as $singlePlugin) { - $singlePluginFolders = array_diff(scandir("../plugins/$singlePlugin"), array('..', '.', '.DS_Store')); + $singlePluginFolders = array_diff(scandir("../plugins/$singlePlugin"), array('..', '.')); // convert snake_case from url param into PascalCase to find the right controller file to instanciate $ControllerToInstanciate = "Controller" . str_replace('_', '', ucwords($controller, '_')); // check if a Controller folder exists in the plugins list if (in_array("Controller", $singlePluginFolders)) { - // check if the required controller file exists and require it + // check if the required controller file exists and require it if (file_exists("../plugins/$singlePlugin/Controller/$ControllerToInstanciate.php")) { require_once "../plugins/$singlePlugin/Controller/" . $ControllerToInstanciate . ".php"; @@ -211,12 +209,10 @@ echo (json_encode($controller->action($action, $_POST))); $log->info($action, OK); break; - case 'upload': - $action = lcfirst(str_replace('_', '', ucwords($action, '_'))); - $controllerUpload = new ControllerUpload($entityManager, $user); - echo json_encode(call_user_func( - array($controllerUpload,$action) - )); + case 'user_link_course': + $controller = new ControllerCourseLinkUser($entityManager, $user); + echo (json_encode($controller->action($action, $_POST))); + $log->info($action, OK); break; default: $log->warning(null, __FILE__, __LINE__, "Non matched controller"); From ce73c8ff518834e11a9e0f5b4ac3654483770ae4 Mon Sep 17 00:00:00 2001 From: Arouz <48770524+Arouz@users.noreply.github.com> Date: Fri, 26 Aug 2022 15:23:33 +0200 Subject: [PATCH 096/340] courses progress --- classroom/Views/teacherCoursePanel.html | 2 +- classroom/assets/css/main.css | 43 ++- classroom/assets/js/main/CoursesManager.js | 250 ++++++++++++++++-- classroom/assets/js/scripts/buttons.js | 20 ++ .../assets/js/scripts/dashboardActivities.js | 1 + classroom/assets/media/cards/card-course.jpg | Bin 0 -> 59140 bytes 6 files changed, 280 insertions(+), 36 deletions(-) create mode 100644 classroom/assets/media/cards/card-course.jpg diff --git a/classroom/Views/teacherCoursePanel.html b/classroom/Views/teacherCoursePanel.html index 3473aca5..b899ed13 100644 --- a/classroom/Views/teacherCoursePanel.html +++ b/classroom/Views/teacherCoursePanel.html @@ -436,7 +436,7 @@

                -

                diff --git a/classroom/assets/css/main.css b/classroom/assets/css/main.css index bfdea2d4..1726e2f4 100644 --- a/classroom/assets/css/main.css +++ b/classroom/assets/css/main.css @@ -1319,7 +1319,8 @@ h3.section-done { } .sandbox-item, -.activity-item { +.activity-item, +.course-item { cursor: pointer; display: grid; grid-template-columns: 100%; @@ -1331,7 +1332,8 @@ h3.section-done { } .sandbox-item-title, -.activity-item-title { +.activity-item-title, +.course-item-title { color: var(--classroom-text-1); font-size: 1em; font-weight: 700; @@ -1363,6 +1365,21 @@ h3.section-done { position: relative; } +.course-card { + height: 100%; + width: 100%; + background-color: var(--classroom-primary); + background: url("../media/cards/card-course.jpg"); + border-radius: 1.2em; + background-clip: content-box; + background-size: cover; + color: white; + + display: grid; + grid-auto-flow: row; + grid-template-rows: auto 1fr auto; + position: relative; +} /* Folders */ @@ -1539,6 +1556,7 @@ h3.section-done { Activities & folders list mode */ .folder-item-list, +.course-item-list, .activity-item-list { width: 100%; height: auto; @@ -1548,6 +1566,7 @@ h3.section-done { } .activity-list, +.course-list, .folder-list { display: grid; grid-template-columns: auto 1fr auto; @@ -1601,7 +1620,8 @@ h3.section-done { position: relative; } -.activity-list .activity-list-center { +.activity-list .activity-list-center, +.course-list .course-list-center { display: flex; justify-content: space-between; flex-direction: row; @@ -1612,12 +1632,14 @@ h3.section-done { /* On medium screens we update the list item to have two rows for better content display */ @media (max-width: 768px) { - .activity-list .activity-list-center { + .activity-list .activity-list-center, + .course-list .course-list-center { flex-direction: column; } } .activity-list-title, +.course-list-title, .folder-list-title { font-weight: bold; @@ -1630,11 +1652,13 @@ h3.section-done { margin-inline: 0.5rem; } -.activity-list-auto svg { +.activity-list-auto svg, +.course-list-auto svg { height: 1rem; } .activity-list-options, +.course-list-options, .folder-list-options { color: var(--classroom-text-2); } @@ -1715,22 +1739,27 @@ h3.section-done { .sandbox-card .sandbox-card-top, .sandbox-card .sandbox-card-bot, .activity-card .activity-card-top, +.course-card .course-card-top, +.course-card .course-card-bot, .activity-card .activity-card-bot { padding: 0.5em; text-align: right; } -.activity-card .activity-card-top { +.activity-card .activity-card-top, +.course-card .course-card-top { display: inline-flex; justify-content: flex-end; } -.activity-card .activity-card-top img { +.activity-card .activity-card-top img, +.course-card .course-card-top img { height: 25px; margin: 0 5px; } .sandbox-card .sandbox-card-top .dropdown i, +.course-card .course-card-top .dropdown i, .activity-card .activity-card-top .dropdown i, .class-card .class-card-top .dropdown i, #body-table-teach .dropdown i { diff --git a/classroom/assets/js/main/CoursesManager.js b/classroom/assets/js/main/CoursesManager.js index 65d6c492..a3f3648b 100644 --- a/classroom/assets/js/main/CoursesManager.js +++ b/classroom/assets/js/main/CoursesManager.js @@ -5,6 +5,7 @@ class CoursesManager { * @public */ constructor() { + this.myCourses = []; this.courseData = { courses: [], title: null, @@ -19,6 +20,11 @@ class CoursesManager { }; this.dragula = null; this.resetCourseData = null; + this.attributeData = { + students: [], + classrooms: [], + courseId: null, + }; } init() { @@ -37,6 +43,15 @@ class CoursesManager { } } }; + + this._requestGetMyCourseTeacher().then((res) => { + this.myCourses = res; + }); + + $('#new-course-attribute').click(function () { + pseudoModal.openModal('attribute-activity-modal'); + $("#attribute-activity-modal").localize(); + }) } goToCreate(fresh = false) { @@ -265,59 +280,177 @@ class CoursesManager { } } - //création activité vers attribution - attributeActivity(id, ref = null) { + updateCourse() { - $("#assign-total-student-number").text(0); + } - Main.getClassroomManager()._idActivityOnAttribution = id; - - if (id == 0) { - id = Main.getClassroomManager()._lastCreatedActivity; + attributeCourse(id = null) { + $("#assign-total-student-number-course").text(0); + + if (id) { + this.actualCourse = id; } - ClassroomSettings.activity = id - ClassroomSettings.ref = ref + if (id < 1) { + displayNotification('#notif-div', "informations manquantes", "error"); + return; + } + //document.getElementsByClassName('course-student-number')[0].textContent = '0'; + document.getElementsByClassName('student-number')[0].textContent = '0'; + + $('#list-student-attribute-modal').html(''); + this.listStudentsToAttributeForCouse(); + + navigatePanel('classroom-dashboard-classes-new-course-attribution-select', 'dashboard-activities-teacher'); + } - $('#list-student-attribute-modal').html('') - listStudentsToAttribute(ref) - $('#form-autocorrect').hide() - ClassroomSettings.willAutocorrect = false; - navigatePanel('classroom-dashboard-new-activity-panel3', 'dashboard-activities-teacher', ref); + persistAttribution() { + let students = [], + classrooms = [], + studentId = $('#attribute-activity-modal .student-attribute-form-row'); + const retroAttribution = $('#retro-attribution-activity-form').prop('checked') + + for (let i = 0; i < studentId.length; i++) { + if ($(studentId[i]).find(".student-id").is(':checked')) { + students.push($(studentId[i]).find(".student-id").val()) + let classId = $(studentId[i]).parent().attr("id").substring(13) + if (!classrooms.includes(classId)) { + classrooms.push(classId) + } + } + } + + if (students.length == 0) { + $('#attribute-course-to-students').attr('disabled', false) + displayNotification('#notif-div', "classroom.notif.mustAttributeToStudent", "error") + } + + this._requestUsersLinkCourse(this.actualCourse, students, classrooms).then((res) => { + if (res == true) { + displayNotification('#notif-div', "classroom.notif.courseAttributed", "success") + $('#attribute-course-to-students').attr('disabled', false) + navigatePanel('classroom-dashboard-activities-panel-teacher&nav=dashboard-activities-teacher', 'dashboard-activities-teacher'); + } else { + displayNotification('#notif-div', "classroom.notif.courseNotAttributed", "error") + } + }); } - updateCourse() { + listStudentsToAttributeForCouse() { + let classes = Main.getClassroomManager()._myClasses; + if (classes.length == 0) { + $('#attribute-activity-to-students-close').after(NO_CLASS); + $('#attribute-activity-to-students-close').hide(); + + } else { + classes.forEach(element => { + $('#list-student-attribute-modal').append(classeList(element)); + }); + $('.no-classes').remove(); + $('#attribute-activity-to-students-close').show(); + } + } + showMyCourses() { + const courses = this.courseData.courses; } - attributeCourse(courseId, students, classrooms) { - $("#assign-total-student-number-course").text(0); + deleteCourse(id) { + this.resetInputs(); + this.actualCourse = id; + pseudoModal.openModal("course-manager-modal"); + } - if (id == 0) { - id = Main.getClassroomManager()._lastCreatedActivity; - } + resetInputs() { + document.getElementById('validation-delete-course').value = ''; + } - ClassroomSettings.activity = id - ClassroomSettings.ref = ref + duplicateCourse(id) { + + } - document.getElementsByClassName('student-number')[0].textContent = '0'; + updateCourse(id) { - $('#list-student-attribute-modal').html('') - listStudentsToAttribute(ref) + } - navigatePanel('classroom-dashboard-classes-new-course-attribution-select', 'dashboard-activities-teacher'); + moveCourseToFolder(id) { + } + teacherCourseItem(course, displayStyle) { + + let content = ""; + if (displayStyle == "card") { + content = `
                +
                +
                +
                + +
                +
                +
                +
                +
                +
                +
                +
                +

                ${course.title}

                +
                +
                ` + } else if (displayStyle == "list") { + + let activityImg = "
                "; + /* let activityTypeImg = activity.type != null && "" ? */ + content = `
                +
                +
                +
                + ${activityImg} +
                - this._requestUsersLinkCourse(courseId, students, classrooms); +
                +
                + ${course.title} +
                +
                + +
                + +
                +
                + +
                +
                +
                ` + } + return content; } - _requestAddCourse() { return new Promise((resolve, reject) => { $.ajax({ @@ -336,6 +469,25 @@ class CoursesManager { }) } + _requestUpdateCourse(id) { + return new Promise((resolve, reject) => { + $.ajax({ + type: "POST", + url: "/routing/Routing.php?controller=course&action=update_from_classroom", + data: { + courseId: id, + course: JSON.stringify(this.courseData) + }, + success: function (response) { + resolve(JSON.parse(response)); + }, + error: function () { + reject('error') + } + }); + }) + } + _requestUsersLinkCourse(courseId, students, classrooms) { return new Promise((resolve, reject) => { $.ajax({ @@ -356,6 +508,48 @@ class CoursesManager { }) } + _requestGetMyCourseTeacher() { + return new Promise((resolve, reject) => { + $.ajax({ + type: "POST", + url: "/routing/Routing.php?controller=user_link_course&action=get_my_courses_as_teacher", + success: (response) => { + let courses = []; + response = JSON.parse(response); + response.forEach(course => { + // keep only course when linked to activity + if (course.hasOwnProperty("activities")) { + courses.push(course); + } + }); + resolve(courses); + }, + error: function () { + reject('error') + } + }); + }) + } + + + _requestMoveCourseToFolder(courseId, folderId) { + return new Promise(function (resolve, reject) { + $.ajax({ + type: "POST", + url: "/routing/Routing.php?controller=course&action=moveCourseToFolder", + data: { + courseId: activityId, + folderId: folderId + }, + success: function (res) { + resolve(JSON.parse(res)); + }, + error: function () { + reject(); + } + }); + }) + } } // Initialize const coursesManager = new CoursesManager(); diff --git a/classroom/assets/js/scripts/buttons.js b/classroom/assets/js/scripts/buttons.js index ef8d5147..cf9b183c 100644 --- a/classroom/assets/js/scripts/buttons.js +++ b/classroom/assets/js/scripts/buttons.js @@ -534,12 +534,16 @@ document.addEventListener('change', (e) => { } document.querySelector('#assign-total-student-number').innerHTML = selectedStudentNumber.toString(); + document.querySelector('#assign-total-student-number-course').innerHTML = selectedStudentNumber.toString(); document.querySelector('#attribuate-student-number').innerText = selectedStudentNumber; if (selectedStudentNumber > 0) { document.querySelector('#attribute-activity-to-students').removeAttribute('disabled'); + document.querySelector('#attribute-course-to-students').removeAttribute('disabled'); + } else { document.querySelector('#attribute-activity-to-students').setAttribute('disabled', ''); + document.querySelector('#attribute-course-to-students').setAttribute('disabled', ''); } } $('.student-number').html(ClassroomSettings.studentCount); @@ -551,6 +555,14 @@ document.addEventListener('change', (e) => { document.getElementById('attribute-activity-to-students').setAttribute('disabled', ''); } } + + if (document.querySelector('#assign-total-student-number-course') != null) { + if (document.querySelector('#assign-total-student-number-course').textContent != '0') { + document.getElementById('attribute-course-to-students').removeAttribute('disabled'); + } else { + document.getElementById('attribute-course-to-students').setAttribute('disabled', ''); + } + } }) $('body').on('change', '.list-students-classroom', function () { @@ -564,8 +576,10 @@ $('body').on('change', '.list-students-classroom', function () { $('.student-number').html(ClassroomSettings.studentCount) if (document.querySelector('.student-number').textContent != '0') { document.getElementById('attribute-activity-to-students').removeAttribute('disabled'); + document.getElementById('attribute-course-to-students').removeAttribute('disabled'); } else { document.getElementById('attribute-activity-to-students').setAttribute('disabled', ''); + document.getElementById('attribute-course-to-students').setAttribute('disabled', ''); } }) @@ -886,6 +900,11 @@ function teacherActivitiesDisplay(list = Main.getClassroomManager()._myTeacherAc }); + coursesManager.myCourses.forEach(course => { + $('#list-activities-teacher').append(coursesManager.teacherCourseItem(course, displayStyle)); + }); + + foldersManager.dragulaInitObjects(); $('[data-toggle="tooltip"]').tooltip(); } @@ -950,6 +969,7 @@ function formatDay(da) { return d.getDate() + " " + (translatedMonth) + " " + d.getFullYear(); } + function formatHour(da) { let d = new Date(da.date); let translatedMonth = i18next.t("classroom.activities.month." + parseInt(d.getMonth() + 1)); diff --git a/classroom/assets/js/scripts/dashboardActivities.js b/classroom/assets/js/scripts/dashboardActivities.js index 729f85e2..f5bac900 100644 --- a/classroom/assets/js/scripts/dashboardActivities.js +++ b/classroom/assets/js/scripts/dashboardActivities.js @@ -217,6 +217,7 @@ function teacherFolder(folder, displayStyle) { return content; } + function classeItem(classe, nbStudents, students) { function maxLength(array) { let count = 0 diff --git a/classroom/assets/media/cards/card-course.jpg b/classroom/assets/media/cards/card-course.jpg new file mode 100644 index 0000000000000000000000000000000000000000..22082a38165795c3409f3fab68c8a8441302e7bb GIT binary patch literal 59140 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 Date: Sat, 27 Aug 2022 05:58:21 +0200 Subject: [PATCH 097/340] parcours --- classroom/assets/js/main/CoursesManager.js | 83 ++++++++++++++-------- classroom/assets/js/main/FoldersManager.js | 23 ++++++ classroom/assets/js/scripts/buttons.js | 8 ++- 3 files changed, 84 insertions(+), 30 deletions(-) diff --git a/classroom/assets/js/main/CoursesManager.js b/classroom/assets/js/main/CoursesManager.js index a3f3648b..b619cb81 100644 --- a/classroom/assets/js/main/CoursesManager.js +++ b/classroom/assets/js/main/CoursesManager.js @@ -44,9 +44,7 @@ class CoursesManager { } }; - this._requestGetMyCourseTeacher().then((res) => { - this.myCourses = res; - }); + this.actualizeCourse(); $('#new-course-attribute').click(function () { pseudoModal.openModal('attribute-activity-modal'); @@ -78,7 +76,6 @@ class CoursesManager { if (fromParameters) { this._requestAddCourse().then((res) => { if (res.hasOwnProperty('success')) { - console.log(res); this.courseId = res.course.id; navigatePanel('classroom-dashboard-classes-new-course-attribution', 'dashboard-activities-teacher'); this.resetCourseData(); @@ -281,7 +278,8 @@ class CoursesManager { } updateCourse() { - + const id = this.actualCourse; + } attributeCourse(id = null) { @@ -291,13 +289,10 @@ class CoursesManager { this.actualCourse = id; } - if (id < 1) { - displayNotification('#notif-div', "informations manquantes", "error"); - return; + if (this.actualCourse < 1) { + return displayNotification('#notif-div', "Id de parcours manquant", "error"); } - //document.getElementsByClassName('course-student-number')[0].textContent = '0'; - document.getElementsByClassName('student-number')[0].textContent = '0'; $('#list-student-attribute-modal').html(''); @@ -377,9 +372,38 @@ class CoursesManager { } - moveCourseToFolder(id) { + actualizeCourse(fromDeletion = false) { + this._requestGetMyCourseTeacher().then((res) => { + this.myCourses = res; + if (fromDeletion) { + teacherActivitiesDisplay(); + } + }); + } + moveCourseToFolder(id) { + foldersManager.moveToFolderModal(id, 'course'); + } + + persistDeleteCourse() { + let id = this.actualCourse; + if ($("#validation-delete-course").val() == $("#validation-delete-course").attr("placeholder")) { + this._requestDeleteCourse(id).then((res) => { + if (res.hasOwnProperty("success")) { + if (res.success) { + this.actualizeCourse(true); + displayNotification('#notif-div', "classroom.notif.courseDeleted", "success"); + pseudoModal.closeModal("course-manager-modal"); + } else { + displayNotification('#notif-div', "classroom.notif.courseNotDeleted", "error"); + } + } else { + displayNotification('#notif-div', "manager.input.writeDelete", "error"); + } + }); + } } + teacherCourseItem(course, displayStyle) { @@ -488,6 +512,24 @@ class CoursesManager { }) } + _requestDeleteCourse(id) { + return new Promise((resolve, reject) => { + $.ajax({ + type: "POST", + url: "/routing/Routing.php?controller=course&action=delete_from_classroom", + data: { + courseId: id, + }, + success: function (response) { + resolve(JSON.parse(response)); + }, + error: function () { + reject('error') + } + }); + }) + } + _requestUsersLinkCourse(courseId, students, classrooms) { return new Promise((resolve, reject) => { $.ajax({ @@ -532,24 +574,7 @@ class CoursesManager { } - _requestMoveCourseToFolder(courseId, folderId) { - return new Promise(function (resolve, reject) { - $.ajax({ - type: "POST", - url: "/routing/Routing.php?controller=course&action=moveCourseToFolder", - data: { - courseId: activityId, - folderId: folderId - }, - success: function (res) { - resolve(JSON.parse(res)); - }, - error: function () { - reject(); - } - }); - }) - } + } // Initialize const coursesManager = new CoursesManager(); diff --git a/classroom/assets/js/main/FoldersManager.js b/classroom/assets/js/main/FoldersManager.js index d3cfffb9..c8902cc6 100644 --- a/classroom/assets/js/main/FoldersManager.js +++ b/classroom/assets/js/main/FoldersManager.js @@ -372,6 +372,10 @@ class FoldersManager { this.moveActivityToFolder(this.objectId, folderId).then(res => { this.manageResponseFromMoved(res); }) + } else if (this.objectToMove == "course") { + this.moveCourseToFolder(this.objectId, folderId).then(res => { + this.manageResponseFromMoved(res); + }) } this.resetInputs(); } @@ -588,6 +592,25 @@ class FoldersManager { }); }) } + + moveCourseToFolder(courseId, folderId) { + return new Promise(function (resolve, reject) { + $.ajax({ + type: "POST", + url: "/routing/Routing.php?controller=course&action=moveCourseToFolder", + data: { + courseId: courseId, + folderId: folderId + }, + success: function (res) { + resolve(JSON.parse(res)); + }, + error: function () { + reject(); + } + }); + }) + } } // Initialize const foldersManager = new FoldersManager(); diff --git a/classroom/assets/js/scripts/buttons.js b/classroom/assets/js/scripts/buttons.js index cf9b183c..f51941c7 100644 --- a/classroom/assets/js/scripts/buttons.js +++ b/classroom/assets/js/scripts/buttons.js @@ -901,7 +901,13 @@ function teacherActivitiesDisplay(list = Main.getClassroomManager()._myTeacherAc coursesManager.myCourses.forEach(course => { - $('#list-activities-teacher').append(coursesManager.teacherCourseItem(course, displayStyle)); + if (course.folder == null && foldersManager.actualFolder == null) { + $('#list-activities-teacher').append(coursesManager.teacherCourseItem(course, displayStyle)); + } else if (course.folder != null) { + if (course.folder.id == foldersManager.actualFolder) { + $('#list-activities-teacher').append(coursesManager.teacherCourseItem(course, displayStyle)); + } + } }); From e675ee60e5517e01d520be35173863f2a554e153 Mon Sep 17 00:00:00 2001 From: Arouz <48770524+Arouz@users.noreply.github.com> Date: Sun, 28 Aug 2022 04:36:41 +0200 Subject: [PATCH 098/340] parcours ... --- classroom/Views/teacherCoursePanel.html | 14 +- classroom/assets/js/main/CoursesManager.js | 188 +++++++++++++++++---- classroom/assets/js/main/FoldersManager.js | 25 ++- 3 files changed, 177 insertions(+), 50 deletions(-) diff --git a/classroom/Views/teacherCoursePanel.html b/classroom/Views/teacherCoursePanel.html index b899ed13..7de4bd7a 100644 --- a/classroom/Views/teacherCoursePanel.html +++ b/classroom/Views/teacherCoursePanel.html @@ -204,7 +204,7 @@
                -
                - - -
                + +
                `; + } + $('#activity-content-container').append(htmlToPush); + + $("#activity-content-container").show(); + $("#activity-states-container").show(); + } else if (Activity.type == 'dragAndDrop') { + + $("#activity-states").html(bbcodeToHtml(contentParsed.states)); + + let contentForTeacher = contentParsed.dragAndDropFields.contentForTeacher; + + contentForTeacher = parseContent(contentForTeacher, "drag-and-drop-answer-teacher", true); + + $("#activity-content").html(bbcodeToHtml(contentForTeacher)); + $("#activity-content-container").show(); + $("#activity-states-container").show(); + // Default behavior + } else { // LTI Activity if (Activity.isLti) { launchLtiResource(Activity.id, Activity.type, JSON.parse(Activity.content).description); @@ -456,8 +497,8 @@ function getTeacherActivity() { $("#activity-content-container").show(); } } + } else { - $('#activity-content').html(bbcodeToHtml(Activity.content)) $("#activity-content-container").show(); } @@ -466,54 +507,6 @@ function getTeacherActivity() { $('#activity-validate').hide() } -function showTeacherReadingAndFreeActivity(contentParsed, Activity) { - if (contentParsed.hasOwnProperty('description')) { - - $('#activity-content').html(bbcodeToHtml(contentParsed.description)); - $('#activity-content-container').show(); - } -} - -function showTeacherFillInActivity(contentParsed, Activity) { - $("#activity-states").html(bbcodeToHtml(contentParsed.states)); - let contentForTeacher = contentParsed.fillInFields.contentForTeacher; - contentForTeacher = parseContent(contentForTeacher, "lms-answer fill-in-answer-teacher", true); - $('#activity-content').html(bbcodeToHtml(contentForTeacher)); - $("#activity-content-container").show(); - $("#activity-states-container").show(); -} - -function showTeacherQuizActivity(contentParsed, Activity) { - $("#activity-states").html(bbcodeToHtml(contentParsed.states)); - $(`div[id^="teacher-suggestion-"]`).each(function() { - $(this).remove(); - }) - - let data = JSON.parse(Activity.solution); - let htmlToPush = ''; - for (let i = 1; i < data.length+1; i++) { - htmlToPush += `
                - - -
                `; - } - $('#activity-content-container').append(htmlToPush); - - $("#activity-content-container").show(); - $("#activity-states-container").show(); -} - -function showTeacherDragAndDropActivity(contentParsed, Activity) { - $("#activity-states").html(bbcodeToHtml(contentParsed.states)); - - let contentForTeacher = contentParsed.dragAndDropFields.contentForTeacher; - - contentForTeacher = parseContent(contentForTeacher, "drag-and-drop-answer-teacher", true); - - $("#activity-content").html(bbcodeToHtml(contentForTeacher)); - $("#activity-content-container").show(); - $("#activity-states-container").show(); -} function getIntelFromClasses() { $('#list-classes').html('') diff --git a/classroom/home.html b/classroom/home.html index a6db7706..607bf6a1 100644 --- a/classroom/home.html +++ b/classroom/home.html @@ -2038,6 +2038,7 @@

                1) { if (response.note == 3) { diff --git a/classroom/assets/js/scripts/buttons.js b/classroom/assets/js/scripts/buttons.js index 0478ec29..65e51ccb 100644 --- a/classroom/assets/js/scripts/buttons.js +++ b/classroom/assets/js/scripts/buttons.js @@ -718,6 +718,10 @@ function studentActivitiesDisplay() { document.querySelector('#saved-activities-list').innerHTML = ''; document.querySelector('#done-activities-list').innerHTML = ''; + Main.getClassroomManager()._myCourses.forEach(course => { + $('#new-activities-list').append(courseItem(course, "newActivities")); + }); + $('.section-new .resource-number').html(activities.newActivities.length) activities.newActivities.forEach(element => { $('#new-activities-list').append(activityItem(element, "newActivities")); diff --git a/classroom/assets/js/scripts/dashboardActivities.js b/classroom/assets/js/scripts/dashboardActivities.js index f5bac900..3cef1c2c 100644 --- a/classroom/assets/js/scripts/dashboardActivities.js +++ b/classroom/assets/js/scripts/dashboardActivities.js @@ -51,6 +51,57 @@ function activityItem(activity, state) { return html; } +function courseItem(course, state) { + + let activityStatus = "", + activityStatusTitle = ""; + + if (state == "doneActivities") { + if (activity.note == 4) { + activityStatus = "ribbon ribbon_no_grade"; + activityStatusTitle = i18next.t('classroom.activities.noProficiency') + } else if (activity.note == 3) { + activityStatus = "ribbon ribbon_accept" + activityStatusTitle = i18next.t('classroom.activities.veryGoodProficiency') + } else if (activity.note == 2) { + activityStatus = "ribbon ribbon_vgood" + activityStatusTitle = i18next.t('classroom.activities.goodProficiency') + } else if (activity.note == 1) { + activityStatus = "ribbon ribbon_good" + activityStatusTitle = i18next.t('classroom.activities.weakProficiency') + } else if (activity.note == 0) { + activityStatus = "ribbon ribbon_refuse" + activityStatusTitle = i18next.t('classroom.activities.insufficientProficiency') + } else { + activityStatus = "" + activityStatusTitle = "?" + } + } + + //let dateEndNotif = activity.activity.isLti ? "style='display:none'" : ""; + let html = `
                +
                +
                +
                + +
                +
                + +
                +
                +
                ` + + if (course.dateEnd != undefined) { + html += ` ` + i18next.t('classroom.activities.dateBefore') + ` ${formatDay(course.dateEnd)} ` + } + + html += `
                ` + html += `

                ${course.course.title}

                ` + html += `
                ` + + return html; +} + function teacherSandboxItem(json) { let html = `
                @@ -397,6 +448,7 @@ $('body').on('click', '.list-students-classroom', function () { }); }) +//COURSEDISPLAY $('body').on('click', '.activity-list, .activity-list-item, .activity-card, .activity-item .activity-item-title', function () { if (!$(this).find("i:hover").length && !$(this).find(".dropdown-menu:hover").length) { let id, state, navigation; @@ -416,6 +468,17 @@ $('body').on('click', '.activity-list, .activity-list-item, .activity-card, .act } }) + +function readCourseFromStudent(id) { + let course = Main.getClassroomManager()._myCourses.filter(course => course.course.id == id)[0]; + let courseState = course.courseState, + activities = course.activities; + + Activity = activities[courseState].activityLinkUser; + navigatePanel('classroom-dashboard-activity-panel', 'dashboard-activities-teacher', 'course', ''); + loadActivityForStudents(true); +} + function activityWatch(id) { navigatePanel('classroom-dashboard-activity-panel', 'dashboard-activities-teacher', 'WK' + id, '') } @@ -426,7 +489,6 @@ $('body').on('click', '.bilan-cell', function () { if (!self.hasClass('no-activity')) { navigatePanel('classroom-dashboard-activity-panel', 'dashboard-activities-teacher', 'AC' + parseInt(self.attr('data-id')), self.attr("data-state")) } - }) $('body').on('click', '#activity-instruction', function () { diff --git a/classroom/assets/js/scripts/displayPanel.js b/classroom/assets/js/scripts/displayPanel.js index ba1f0ae3..8186eb28 100644 --- a/classroom/assets/js/scripts/displayPanel.js +++ b/classroom/assets/js/scripts/displayPanel.js @@ -71,9 +71,9 @@ DisplayPanel.prototype.classroom_dashboard_activities_panel = function () { // Refresh the activities Main.getClassroomManager().getStudentActivities(Main.getClassroomManager()).then(() => { coursesManager._requestGetMyCourseStudent().then((data) => { - + Main.getClassroomManager()._myCourses = data; + studentActivitiesDisplay(); }) - studentActivitiesDisplay(); }); } @@ -346,41 +346,45 @@ DisplayPanel.prototype.classroom_dashboard_new_activity_panel3 = function (ref) } } +//COURSEDISPLAY DisplayPanel.prototype.classroom_dashboard_activity_panel = function (id) { if (id != 'null') { if (UserManager.getUser().isRegular) { if (id.slice(0, 2) == "WK") { - ClassroomSettings.activity = id = Number(id.slice(2)) Activity = getActivity(id); getTeacherActivity(); - } else { ClassroomSettings.activity = id = Number(id.slice(2)) Main.getClassroomManager().getOneUserLinkActivity(id).then(function (result) { Activity = result; loadActivityForTeacher(); - }) + }); } } else { - if ($_GET('interface') == 'newActivities' || $_GET('interface') == 'savedActivities') { - var isDoable = true + console.log($_GET('option')) + if ($_GET('option') == "course") { + console.log("hello") } else { - var isDoable = false - } - ClassroomSettings.activity = id = Number(id.slice(2)) - Activity = getActivity(id, $_GET('interface')) - if (typeof Activity == 'undefined') { - console.error(`The activity can't be loaded!`); - navigatePanel('classroom-dashboard-activities-panel', 'dashboard-activities'); - return; - } - // Run the activity tracker if the current activity is doable or exercise - if (Activity.evaluation != true || Activity.correction == null) { - Main.activityTracker = new ActivityTracker(); - Main.activityTracker.startActivityTracker(); + if ($_GET('interface') == 'newActivities' || $_GET('interface') == 'savedActivities') { + var isDoable = true + } else { + var isDoable = false + } + ClassroomSettings.activity = id = Number(id.slice(2)) + Activity = getActivity(id, $_GET('interface')) + if (typeof Activity == 'undefined') { + console.error(`The activity can't be loaded!`); + navigatePanel('classroom-dashboard-activities-panel', 'dashboard-activities'); + return; + } + // Run the activity tracker if the current activity is doable or exercise + if (Activity.evaluation != true || Activity.correction == null) { + Main.activityTracker = new ActivityTracker(); + Main.activityTracker.startActivityTracker(); + } + loadActivityForStudents(isDoable) } - loadActivityForStudents(isDoable) } } } From faadbc3ed21fe9d3b61c0c48dba21a380486bc5d Mon Sep 17 00:00:00 2001 From: Arouz <48770524+Arouz@users.noreply.github.com> Date: Fri, 14 Oct 2022 10:59:28 +0200 Subject: [PATCH 102/340] student panel for courses --- classroom/Views/studentCoursePanel.html | 90 ++++++++++ classroom/assets/js/main/CoursesManager.js | 181 ++++++++++++++++++++ classroom/assets/js/scripts/displayPanel.js | 4 +- gulp/classroomTasks.js | 3 + 4 files changed, 275 insertions(+), 3 deletions(-) create mode 100644 classroom/Views/studentCoursePanel.html diff --git a/classroom/Views/studentCoursePanel.html b/classroom/Views/studentCoursePanel.html new file mode 100644 index 00000000..381b90ae --- /dev/null +++ b/classroom/Views/studentCoursePanel.html @@ -0,0 +1,90 @@ + \ No newline at end of file diff --git a/classroom/assets/js/main/CoursesManager.js b/classroom/assets/js/main/CoursesManager.js index b0edbc16..496d6985 100644 --- a/classroom/assets/js/main/CoursesManager.js +++ b/classroom/assets/js/main/CoursesManager.js @@ -565,6 +565,187 @@ class CoursesManager { return content; } + resetInputsForCourse() { + // Autocorrect note disclaimer + $("#activity-auto-corrected-disclaimer-course").hide(); + $("#activity-auto-disclaimer-course").hide(); + $("#activity-content-container-course").hide(); + + // Hide all the divs + $('#activity-introduction-course').hide(); + $('#activity-correction-container-course').hide(); + $("#activity-states-container-course").hide(); + + // Field for free activity + $('#activity-input-container-course').hide(); + $('#activity-student-response-course').hide(); + $('#activity-student-response-content-course').text(''); + + // Fields + $('#activity-states-course').html(""); + $('#activity-title-course').html(""); + $('#activity-details-course').html(''); + $('#activity-content-course').html(""); + $('#activity-correction-course').html(""); + + // Hint + $("#activity-hint-course").text(''); + $("#activity-hint-container-course").hide(); + + // Drag and drop + $('#activity-drag-and-drop-container-course').hide(); + $('#drag-and-drop-fields-course').html(''); + $('#drag-and-drop-text-course').html(''); + + // Warning message for + $('#warning-icon-container-course').hide(); + $('#warning-text-evaluation-course').hide(); + $("#warning-text-no-evaluation-course").hide(); + + // Quiz reset input + deleteQcmFields(); + } + + + loadCourseForStudents(isDoable) { + // Reset the inputs + resetInputsForActivity(); + + // Check if the activity has an introduction + if (Activity.introduction != null && Activity.introduction != "") { + $('#text-introduction-course').html(bbcodeToHtml(Activity.introduction)) + $('#activity-introduction-course').show() + } + + let activityType = [ + "reading", + "dragAndDrop", + "fillIn", + "quiz" + ] + + // Disclaimer for eval +/* if (Activity.correction < 2 && (activityType.includes(Activity.activity.type))) { + $('#warning-icon-container-course').show(); + $('#warning-icon-container-course > i').hide(); + Activity.evaluation ? $('#warning-icon-evaluation').show().tooltip() : $("#warning-icon-no-evaluation").show().tooltip(); + } */ + + // Check if the correction if available + if (Activity.correction >= 1) { + $('#activity-details-course').html(i18next.t("classroom.activities.sentOn") + formatHour(Activity.dateSend), i18next.t("classroom.activities.numberOfTries") + Activity.tries) + } else { + $('#activity-details-course').html(i18next.t("classroom.activities.toSend") + formatDay(Activity.dateEnd)) + } + + // Content management + let content = manageContentForActivity(); + let correction = ''; + if (!UserManager.getUser().isRegular && Activity.correction > 1) { + document.querySelector('#activity-correction-course').style.display = 'block'; + let activityResultString, activityResultColor; + switch (Activity.note) { + case 4: + activityResultString = i18next.t('classroom.activities.noProficiency') + activityResultColor = 'var(--classroom-text-2)' + break; + case 3: + activityResultString = i18next.t('classroom.activities.veryGoodProficiency') + activityResultColor = 'var(--correction-3)' + break; + case 2: + activityResultString = i18next.t('classroom.activities.goodProficiency') + activityResultColor = 'var(--correction-2)' + break; + case 1: + activityResultString = i18next.t('classroom.activities.weakProficiency') + activityResultColor = 'var(--correction-1)' + break; + case 0: + activityResultString = i18next.t('classroom.activities.insufficientProficiency') + activityResultColor = 'var(--correction-0)' + break; + default: + break; + } + + correction += `
                ${activityResultString}
                ` + + if (Activity.commentary != null && Activity.commentary != "") { + correction += '
                ' + Activity.commentary + '
                ' + } else { + correction += '
                ' + i18next.t("classroom.activities.bilan.noComment") + '
                ' + } + } else { + document.querySelector('#activity-correction-course').style.display = 'none'; + } + + injectContentForActivity(content, Activity.correction, Activity.activity.type, correction, isDoable, true); + + if (!Activity.evaluation && correction < 2 && !isDoable) { + let allKnownActivity = [...activityType, "free"]; + if (!allKnownActivity.includes(Activity.activity.type)) { + isDoable = false; + } else { + isDoable = true; + } + } + this.isTheActivityIsDoable(isDoable); + } + + validateCourse(state) { + // state = 0 save, 1 validate + if (state == 0) { + console.log("save"); + } else { + console.log("validate"); + } + } + + isTheActivityIsDoable(doable, hideValidationButton = false) { + if (doable == false || UserManager.getUser().isRegular) { + $('#activity-validate-course').hide(); + $('#activity-save-course').hide(); + } else { + //let interface = /\[iframe\].*?vittascience(|.com)\/([a-z0-9]{5,12})\/?/gm.exec(Activity.activity.content) + if (!hideValidationButton) { + if (!Activity.activity.isLti) { + $('#activity-validate-course').show(); + } + } + +/* if (interface != undefined && interface != null) { + $('#activity-save-course').show() + } */ + + if (!Activity.activity.isLti) { + $('#activity-validate-course').show(); + if (Activity.activity.type != 'reading') { + $('#activity-save-course').show(); + } + } + } + } + + _requestUpdateState(state) { + return new Promise((resolve, reject) => { + $.ajax({ + type: "POST", + url: "/routing/Routing.php?controller=course&action=set_state_from_course", + data: { + courseId: id, + state: state + }, + success: function (response) { + resolve(JSON.parse(response)); + }, + error: function () { + reject('error') + } + }); + }) + } + _requestGetOneCourseById(id) { return new Promise((resolve, reject) => { diff --git a/classroom/assets/js/scripts/displayPanel.js b/classroom/assets/js/scripts/displayPanel.js index 8186eb28..8a631fed 100644 --- a/classroom/assets/js/scripts/displayPanel.js +++ b/classroom/assets/js/scripts/displayPanel.js @@ -363,9 +363,7 @@ DisplayPanel.prototype.classroom_dashboard_activity_panel = function (id) { } } else { console.log($_GET('option')) - if ($_GET('option') == "course") { - console.log("hello") - } else { + if ($_GET('option') != "course") { if ($_GET('interface') == 'newActivities' || $_GET('interface') == 'savedActivities') { var isDoable = true } else { diff --git a/gulp/classroomTasks.js b/gulp/classroomTasks.js index 433d5f6f..3fd99fec 100644 --- a/gulp/classroomTasks.js +++ b/gulp/classroomTasks.js @@ -30,6 +30,7 @@ class AutoBuildManager { 'home_topbar.html', 'studentProfilePanel.html', 'studentHelpPanel.html', + 'studentCoursePanel.html', 'sandboxPanel.html', 'studentActivitiesPanel.html', 'teacherProfilePanel.html', @@ -643,6 +644,7 @@ class AutoBuildManager { 'gulp/temp-views/home_topbar.html', 'gulp/temp-views/studentProfilePanel.html', 'gulp/temp-views/studentHelpPanel.html', + 'gulp/temp-views/studentCoursePanel.html', 'gulp/temp-views/sandboxPanel.html', 'gulp/temp-views/studentActivitiesPanel.html', 'gulp/temp-views/teacherProfilePanel.html', @@ -675,6 +677,7 @@ class AutoBuildManager { 'classroom/Views/home_topbar.html', 'classroom/Views/studentProfilePanel.html', 'classroom/Views/studentHelpPanel.html', + 'classroom/Views/studentCoursePanel.html', 'classroom/Views/sandboxPanel.html', 'classroom/Views/studentActivitiesPanel.html', 'classroom/Views/teacherProfilePanel.html', From 539b2e4ba94866fda721b28236a940b87d6daa9c Mon Sep 17 00:00:00 2001 From: Maxence Lavenu Date: Fri, 14 Oct 2022 16:00:38 +0200 Subject: [PATCH 103/340] Added styling to course cards --- classroom/assets/css/main.css | 88 ++++++++--- classroom/assets/css/theme.css | 2 + classroom/assets/js/main/CoursesManager.js | 140 +++++++++--------- .../assets/js/scripts/dashboardActivities.js | 20 +-- 4 files changed, 154 insertions(+), 96 deletions(-) diff --git a/classroom/assets/css/main.css b/classroom/assets/css/main.css index 1726e2f4..4c017e2e 100644 --- a/classroom/assets/css/main.css +++ b/classroom/assets/css/main.css @@ -1365,21 +1365,6 @@ h3.section-done { position: relative; } -.course-card { - height: 100%; - width: 100%; - background-color: var(--classroom-primary); - background: url("../media/cards/card-course.jpg"); - border-radius: 1.2em; - background-clip: content-box; - background-size: cover; - color: white; - - display: grid; - grid-auto-flow: row; - grid-template-rows: auto 1fr auto; - position: relative; -} /* Folders */ @@ -1514,6 +1499,73 @@ h3.section-done { margin-bottom: 2px; } +/* COURSES */ + +.course-card { + height: 100%; + width: 100%; + + background-color: var(--classroom-background-1); + outline: 1px solid rgba(var(--classroom-text-0-rgb), 0.5); + + border-radius: 1.2em; + background-clip: content-box; + background-size: cover; + + color: white; + overflow: auto; + position: relative; +} + +.course-card .course-card-img { + height: 100%; + width: 100%; + + object-fit: cover; +} + +.course-card .course-card-info { + display: grid; + grid-auto-flow: row; + grid-template-rows: auto 1fr auto; + background-color: rgba(0, 0, 0, 0.5); + width: 30%; + height: 100%; + position: absolute; + top: 0; + right: 0; +} + +.course-card .course-card-info .course-card-mid { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + font-weight: bold; + + padding: 0.5em; +} + +.course-card .course-card-info .course-card-mid .course-card-activities-count { + position: relative; + display: block; + + font-size: 1.5em; + padding: 0.25em 0.5em; + border-radius: 0.5em; + + outline: 3px solid currentColor; + outline-offset: -2px; + + box-shadow: 4px -4px 0px 0px; +} + +.course-card .course-card-info .course-card-bot { + font-size: 0.6em; +} + +/* ACTIVITY ASSIGN OPTIONS */ + .section-facultative-options, .section-preview-activity, .section-course-options { @@ -1668,7 +1720,8 @@ h3.section-done { .sandbox-item, .activity-item, - .folder-item { + .folder-item, + .course-item { grid-template-rows: 90px auto; width: 160px; padding: 0.1em; @@ -1677,7 +1730,8 @@ h3.section-done { .sandbox-card, .activity-card, - .folder-card { + .folder-card, + .course-card { border-radius: 0.6em; aspect-ratio: 16/9; } diff --git a/classroom/assets/css/theme.css b/classroom/assets/css/theme.css index 73569231..a017a333 100644 --- a/classroom/assets/css/theme.css +++ b/classroom/assets/css/theme.css @@ -23,6 +23,7 @@ --classroom-background: #fff; --classroom-background-1: #f6f6f6; --classroom-text-0: black; + --classroom-text-0-rgb: 0, 0, 0; --classroom-text-1: #333; --classroom-text-2: #666; @@ -50,6 +51,7 @@ --classroom-background: #181818; --classroom-background-1: #0a0a0a; --classroom-text-0: rgb(255, 255, 255); + --classroom-text-0-rgb: 255, 255, 255; --classroom-text-1: rgb(205, 205, 205); --classroom-text-2: rgb(153, 153, 153); --classroom-shadow-1: rgba(0, 0, 0, 1); diff --git a/classroom/assets/js/main/CoursesManager.js b/classroom/assets/js/main/CoursesManager.js index 496d6985..3ab9565e 100644 --- a/classroom/assets/js/main/CoursesManager.js +++ b/classroom/assets/js/main/CoursesManager.js @@ -1,4 +1,3 @@ - class CoursesManager { /** * Creates an instance of Courses. @@ -127,7 +126,7 @@ class CoursesManager { } }); } - + } } @@ -189,8 +188,8 @@ class CoursesManager { addActivityToCourse() { // get all the activities - const activitiesDiv = document.getElementById('add-activity-content'), - activities = Main.getClassroomManager()._myTeacherActivities; + const activitiesDiv = document.getElementById('add-activity-content'), + activities = Main.getClassroomManager()._myTeacherActivities; // filter with the ones that are not in the course let activitiesToAdd = activities.filter(activity => { @@ -202,8 +201,8 @@ class CoursesManager { activitiesDiv.innerHTML = ''; // create the list of activities activitiesToAdd.forEach(activity => { - const activityImg = foldersManager.icons.hasOwnProperty(activity.type) ? `${activity.type}` : "
                ", - activityDiv = document.createElement('div'); + const activityImg = foldersManager.icons.hasOwnProperty(activity.type) ? `${activity.type}` : "
                ", + activityDiv = document.createElement('div'); activityDiv.classList.add('activity-item-courses'); activityDiv.setAttribute('data-activity-id', activity.id); // add checkbox @@ -225,9 +224,9 @@ class CoursesManager { bindEventsToSearch() { document.getElementById('course-activity-search').addEventListener('input', () => { - const search = document.getElementById('course-activity-search').value, - activities = Main.getClassroomManager()._myTeacherActivities, - activitiesDiv = document.getElementById('add-activity-content'); + const search = document.getElementById('course-activity-search').value, + activities = Main.getClassroomManager()._myTeacherActivities, + activitiesDiv = document.getElementById('add-activity-content'); let activitiesToAdd = activities.filter(activity => { return !this.courseData.courses.some(course => { @@ -292,7 +291,7 @@ class CoursesManager { document.getElementById('add-activity-content').innerHTML = ''; } - persistTitlePage() { + persistTitlePage() { const title = document.getElementById('course-title').value, description = document.getElementById('course-description').value, image = document.getElementById('course-image').files[0]; @@ -304,7 +303,7 @@ class CoursesManager { this.goToParameters(true); } else { displayNotification('#notif-div', "informations manquantes", "error"); - } + } } persistParameters() { @@ -345,7 +344,7 @@ class CoursesManager { attributeCourse(id = null) { $("#assign-total-student-number-course").text(0); - + if (id) { this.courseId = id; } else { @@ -357,7 +356,7 @@ class CoursesManager { } document.getElementsByClassName('student-number')[0].textContent = '0'; - + $('#list-student-attribute-modal').html(''); this.listStudentsToAttributeForCouse(); @@ -370,7 +369,7 @@ class CoursesManager { studentId = $('#attribute-activity-modal .student-attribute-form-row'); const retroAttribution = $('#retro-attribution-activity-form').prop('checked') - + for (let i = 0; i < studentId.length; i++) { if ($(studentId[i]).find(".student-id").is(':checked')) { students.push($(studentId[i]).find(".student-id").val()) @@ -384,7 +383,7 @@ class CoursesManager { if (students.length == 0) { $('#attribute-course-to-students').attr('disabled', false) displayNotification('#notif-div', "classroom.notif.mustAttributeToStudent", "error") - } + } this._requestUsersLinkCourse(this.courseId, students, classrooms).then((res) => { if (res == true) { @@ -402,7 +401,7 @@ class CoursesManager { if (classes.length == 0) { $('#attribute-activity-to-students-close').after(NO_CLASS); $('#attribute-activity-to-students-close').hide(); - + } else { classes.forEach(element => { $('#list-student-attribute-modal').append(classeList(element)); @@ -412,9 +411,9 @@ class CoursesManager { } } -/* showMyCourses() { - const courses = this.courseData.courses; - } */ + /* showMyCourses() { + const courses = this.courseData.courses; + } */ deleteCourse(id) { this.resetInputs(); @@ -427,7 +426,7 @@ class CoursesManager { } duplicateCourse(id) { - + } updateCourse(id = null) { @@ -440,7 +439,7 @@ class CoursesManager { this.restoreParametersForUpdate(res.course); } else { displayNotification('#notif-div', "classroom.notif.errorCourse", "error") - } + } } else { displayNotification('#notif-div', "classroom.notif.undefinedCourse", "error") } @@ -494,40 +493,43 @@ class CoursesManager { } }); } - - teacherCourseItem(course, displayStyle) { + teacherCourseItem(course, displayStyle) { let content = ""; if (displayStyle == "card") { content = `
                + +
                - -
                -
                -
                -
                -
                -

                ${course.title}

                +
                +

                ${course.title}

                ` } else if (displayStyle == "list") { - + let activityImg = "
                "; /* let activityTypeImg = activity.type != null && "" ? */ content = `
                @@ -570,38 +572,38 @@ class CoursesManager { $("#activity-auto-corrected-disclaimer-course").hide(); $("#activity-auto-disclaimer-course").hide(); $("#activity-content-container-course").hide(); - + // Hide all the divs $('#activity-introduction-course').hide(); $('#activity-correction-container-course').hide(); $("#activity-states-container-course").hide(); - + // Field for free activity $('#activity-input-container-course').hide(); $('#activity-student-response-course').hide(); $('#activity-student-response-content-course').text(''); - + // Fields $('#activity-states-course').html(""); $('#activity-title-course').html(""); $('#activity-details-course').html(''); $('#activity-content-course').html(""); $('#activity-correction-course').html(""); - + // Hint $("#activity-hint-course").text(''); $("#activity-hint-container-course").hide(); - + // Drag and drop $('#activity-drag-and-drop-container-course').hide(); $('#drag-and-drop-fields-course').html(''); $('#drag-and-drop-text-course').html(''); - + // Warning message for $('#warning-icon-container-course').hide(); $('#warning-text-evaluation-course').hide(); $("#warning-text-no-evaluation-course").hide(); - + // Quiz reset input deleteQcmFields(); } @@ -610,13 +612,13 @@ class CoursesManager { loadCourseForStudents(isDoable) { // Reset the inputs resetInputsForActivity(); - + // Check if the activity has an introduction if (Activity.introduction != null && Activity.introduction != "") { $('#text-introduction-course').html(bbcodeToHtml(Activity.introduction)) $('#activity-introduction-course').show() } - + let activityType = [ "reading", "dragAndDrop", @@ -625,19 +627,19 @@ class CoursesManager { ] // Disclaimer for eval -/* if (Activity.correction < 2 && (activityType.includes(Activity.activity.type))) { - $('#warning-icon-container-course').show(); - $('#warning-icon-container-course > i').hide(); - Activity.evaluation ? $('#warning-icon-evaluation').show().tooltip() : $("#warning-icon-no-evaluation").show().tooltip(); - } */ - + /* if (Activity.correction < 2 && (activityType.includes(Activity.activity.type))) { + $('#warning-icon-container-course').show(); + $('#warning-icon-container-course > i').hide(); + Activity.evaluation ? $('#warning-icon-evaluation').show().tooltip() : $("#warning-icon-no-evaluation").show().tooltip(); + } */ + // Check if the correction if available if (Activity.correction >= 1) { $('#activity-details-course').html(i18next.t("classroom.activities.sentOn") + formatHour(Activity.dateSend), i18next.t("classroom.activities.numberOfTries") + Activity.tries) } else { $('#activity-details-course').html(i18next.t("classroom.activities.toSend") + formatDay(Activity.dateEnd)) } - + // Content management let content = manageContentForActivity(); let correction = ''; @@ -668,9 +670,9 @@ class CoursesManager { default: break; } - + correction += `
                ${activityResultString}
                ` - + if (Activity.commentary != null && Activity.commentary != "") { correction += '
                ' + Activity.commentary + '
                ' } else { @@ -679,9 +681,9 @@ class CoursesManager { } else { document.querySelector('#activity-correction-course').style.display = 'none'; } - + injectContentForActivity(content, Activity.correction, Activity.activity.type, correction, isDoable, true); - + if (!Activity.evaluation && correction < 2 && !isDoable) { let allKnownActivity = [...activityType, "free"]; if (!allKnownActivity.includes(Activity.activity.type)) { @@ -713,12 +715,12 @@ class CoursesManager { $('#activity-validate-course').show(); } } - -/* if (interface != undefined && interface != null) { - $('#activity-save-course').show() - } */ - - if (!Activity.activity.isLti) { + + /* if (interface != undefined && interface != null) { + $('#activity-save-course').show() + } */ + + if (!Activity.activity.isLti) { $('#activity-validate-course').show(); if (Activity.activity.type != 'reading') { $('#activity-save-course').show(); @@ -908,6 +910,4 @@ class CoursesManager { } // Initialize const coursesManager = new CoursesManager(); -coursesManager.init(); - - +coursesManager.init(); \ No newline at end of file diff --git a/classroom/assets/js/scripts/dashboardActivities.js b/classroom/assets/js/scripts/dashboardActivities.js index 3cef1c2c..fb7dcce3 100644 --- a/classroom/assets/js/scripts/dashboardActivities.js +++ b/classroom/assets/js/scripts/dashboardActivities.js @@ -82,20 +82,22 @@ function courseItem(course, state) { let html = `
                -
                - -
                -
                - -
                -
                -
                ` + +
                +
                + +
                +
                + ${course.activities ? course.activities.length : 0} +
                +
                +
                ` if (course.dateEnd != undefined) { html += ` ` + i18next.t('classroom.activities.dateBefore') + ` ${formatDay(course.dateEnd)} ` } - html += `
                ` + html += `
                ` html += `

                ${course.course.title}

                ` html += `
                ` From 290c2b0bf9f2c3df22659bc03260a2b890900e11 Mon Sep 17 00:00:00 2001 From: Maxence Lavenu Date: Fri, 14 Oct 2022 16:54:36 +0200 Subject: [PATCH 104/340] Added better styling for icon btns --- classroom/Views/studentCoursePanel.html | 16 +++---- classroom/Views/teacherActivitiesPanel.html | 46 +++++++++------------ classroom/assets/css/elements.css | 22 +++++++++- classroom/assets/css/main.css | 26 ++---------- 4 files changed, 50 insertions(+), 60 deletions(-) diff --git a/classroom/Views/studentCoursePanel.html b/classroom/Views/studentCoursePanel.html index 381b90ae..4ac382f4 100644 --- a/classroom/Views/studentCoursePanel.html +++ b/classroom/Views/studentCoursePanel.html @@ -3,22 +3,18 @@
                -
                - -
                -

                Course state 1

                -
                +
                +

                Course state 1

                +
                -

                +

                -

                +

                @@ -54,7 +50,7 @@

                -
                +
                diff --git a/classroom/Views/teacherActivitiesPanel.html b/classroom/Views/teacherActivitiesPanel.html index 5fb0970f..77929574 100644 --- a/classroom/Views/teacherActivitiesPanel.html +++ b/classroom/Views/teacherActivitiesPanel.html @@ -14,18 +14,18 @@
                -
                +
                -
                - -
                @@ -33,26 +33,20 @@
                - -
                - - - -
                - -
                - - -
                - + + + + + +
                - +
                @@ -174,7 +168,7 @@

                --> +

                @@ -203,7 +197,7 @@

                @@ -226,7 +220,7 @@

                - +
                diff --git a/classroom/assets/css/elements.css b/classroom/assets/css/elements.css index 607de63b..5e59b46e 100644 --- a/classroom/assets/css/elements.css +++ b/classroom/assets/css/elements.css @@ -126,6 +126,18 @@ background: transparent; } +.c-btn-icon-only { + display: inline-flex; + background-color: transparent; + padding: 0 !important; + height: fit-content; + align-self: center; +} + +.c-btn-icon-only svg { + height: 100%; +} + .c-btn-outline-primary, .c-btn-primary, .c-btn-outline-secondary, @@ -142,7 +154,11 @@ border-radius: 256px; transition: all 0.2s ease-in-out; filter: brightness(1); +} +.c-btn-icon-only { + transition: all 0.2s ease-in-out; + filter: brightness(1); } .c-btn-outline-primary:focus, @@ -156,7 +172,8 @@ .c-btn-outline-grey:focus, .c-btn-grey:focus, .c-btn-outline-light:focus, -.c-btn-light:focus { +.c-btn-light:focus, +.c-btn-icon-only:focus { outline: 0; box-shadow: 0 0 0 0.2rem rgba(126, 126, 126, 0.25); filter: brightness(0.9); @@ -173,7 +190,8 @@ .c-btn-outline-grey:hover, .c-btn-grey:hover, .c-btn-outline-light:hover, -.c-btn-light:hover { +.c-btn-light:hover, +.c-btn-icon-only:hover { filter: brightness(0.9); } diff --git a/classroom/assets/css/main.css b/classroom/assets/css/main.css index 4c017e2e..d38eba82 100644 --- a/classroom/assets/css/main.css +++ b/classroom/assets/css/main.css @@ -1463,16 +1463,6 @@ h3.section-done { display: inline-flex; } -.btn-folders { - background-color: transparent; - padding: 0 !important; - height: fit-content; - align-self: center; -} - -.btn-folders svg { - height: 100%; -} #folders-seek-tree-content-modal ul, #folders-seek-tree-content-modal li, @@ -2096,7 +2086,7 @@ h3.section-done { .dropable-items { border-radius: 256px; - margin: 0.5em; + margin: 0.25em 0.5em; min-width: none; } @@ -2107,24 +2097,17 @@ h3.section-done { width: auto; height: auto; display: inline-block; + transform: translateY(50%); } -#drag-and-drop-fields, .drag-and-drop-fields { border: 1px solid var(--classroom-text-0); border-radius: 1em; padding: 1em; } -#preview-drag-and-drop-text>div, -#drag-and-drop-text>div { - display: flex; - flex-wrap: wrap; - align-items: center; -} - -#drag-and-drop-fields, .drag-and-drop-fields { + margin-block: 1em; min-height: 60px; display: flex; flex-wrap: wrap; @@ -2296,7 +2279,6 @@ h3.section-done { /* ACTIVITY CORRECTION FORM */ -#activity-title, .activity-title { font-weight: 700; text-align: center; @@ -2315,7 +2297,7 @@ h3.section-done { margin: 5px 10px; } -#activity-details { +.activity-details { text-align: center; font-style: italic; } From 940a31c9630bcf3c397dee7a8018e8efe03ffee1 Mon Sep 17 00:00:00 2001 From: Maxence Lavenu Date: Sat, 15 Oct 2022 00:48:56 +0200 Subject: [PATCH 105/340] Added course state styling --- classroom/Views/studentCoursePanel.html | 3 +- classroom/assets/css/main.css | 40 ++++++++++++++++++---- classroom/assets/js/main/CoursesManager.js | 19 +++++++++- 3 files changed, 53 insertions(+), 9 deletions(-) diff --git a/classroom/Views/studentCoursePanel.html b/classroom/Views/studentCoursePanel.html index 4ac382f4..1e59b1f1 100644 --- a/classroom/Views/studentCoursePanel.html +++ b/classroom/Views/studentCoursePanel.html @@ -4,7 +4,8 @@
                -

                Course state 1

                + +
                diff --git a/classroom/assets/css/main.css b/classroom/assets/css/main.css index d38eba82..646e725d 100644 --- a/classroom/assets/css/main.css +++ b/classroom/assets/css/main.css @@ -1510,7 +1510,7 @@ h3.section-done { .course-card .course-card-img { height: 100%; width: 100%; - + border-radius: 1.2em; object-fit: cover; } @@ -2085,6 +2085,7 @@ h3.section-done { } .dropable-items { + display: inline-flex; border-radius: 256px; margin: 0.25em 0.5em; min-width: none; @@ -2092,12 +2093,10 @@ h3.section-done { .dropable-items:empty { border: 1px solid var(--classroom-text-0); + transform: translateY(50%); min-width: 5em; min-height: 1.8em; - width: auto; - height: auto; - display: inline-block; - transform: translateY(50%); + } .drag-and-drop-fields { @@ -2457,11 +2456,38 @@ h3.section-done { background-color: var(--classroom-white); } -/* ACTIVITY VIEW */ +/* ACTIVITY/COURSE VIEW */ + +.course-state { + display: flex; + height: 1.5em; + width: 100%; + margin-block-end: 1em; +} + +.course-state .course-state-item { + flex-grow: 1; + border-radius: 100vh; + margin: 0.25em; + display: flex; + background-color: var(--classroom-background-1); +} + +.course-state .course-state-item.course-state-done { + height: 100%; + border-radius: 100vh; + background-color: var(--classroom-primary); +} + +.course-state .course-state-item.course-state-todo { + height: 100%; + border-radius: 100vh; + background-color: var(--classroom-cell); +} + .activity-content img { max-width: 100%; - } /* CLASSROOM START */ diff --git a/classroom/assets/js/main/CoursesManager.js b/classroom/assets/js/main/CoursesManager.js index 3ab9565e..42dce94a 100644 --- a/classroom/assets/js/main/CoursesManager.js +++ b/classroom/assets/js/main/CoursesManager.js @@ -609,7 +609,7 @@ class CoursesManager { } - loadCourseForStudents(isDoable) { + loadCourseForStudents(isDoable, currentCourse) { // Reset the inputs resetInputsForActivity(); @@ -625,6 +625,23 @@ class CoursesManager { "fillIn", "quiz" ] + + // Add the current course indicator on top of the given activity + let nbOfExercices = currentCourse.activities.length; + let currentActivityIndex = currentCourse.activities.findIndex(activity => activity.id == Activity.activity.id); + + // add green cells to .course-state until the current activity, then add grey cells + let courseState = ""; + for (let i = 0; i < nbOfExercices; i++) { + if (i <= currentActivityIndex) { + courseState += `
                `; + } else { + courseState += `
                `; + } + } + $('.course-state').html(courseState); + + // Disclaimer for eval /* if (Activity.correction < 2 && (activityType.includes(Activity.activity.type))) { From 6fbc12af0a070e598e0929406224e7634edd5649 Mon Sep 17 00:00:00 2001 From: Arouz <48770524+Arouz@users.noreply.github.com> Date: Mon, 17 Oct 2022 13:17:19 +0200 Subject: [PATCH 106/340] activities transition for courses --- classroom/Views/studentCoursePanel.html | 23 +- classroom/assets/js/main/CoursesManager.js | 292 +++++++++++++++++++-- classroom/assets/js/scripts/buttons.js | 24 +- 3 files changed, 319 insertions(+), 20 deletions(-) diff --git a/classroom/Views/studentCoursePanel.html b/classroom/Views/studentCoursePanel.html index 1e59b1f1..e0e631bd 100644 --- a/classroom/Views/studentCoursePanel.html +++ b/classroom/Views/studentCoursePanel.html @@ -1,6 +1,5 @@ + + \ No newline at end of file diff --git a/classroom/assets/js/main/CoursesManager.js b/classroom/assets/js/main/CoursesManager.js index 42dce94a..0dcc9d0c 100644 --- a/classroom/assets/js/main/CoursesManager.js +++ b/classroom/assets/js/main/CoursesManager.js @@ -5,6 +5,12 @@ class CoursesManager { */ constructor() { this.myCourses = []; + this.actualCourse = { + id: null, + state: null, + link: null, + activity: null + }; this.courseId = null; this.isUpdate = false; this.lastestCourse = null; @@ -35,6 +41,12 @@ class CoursesManager { this.resetCourseData = () => { this.isUpdate = false; this.courseId = null; + this.actualCourse = { + id: null, + state: null, + link: null, + activity: null + }; this.courseData = { courses: [], title: null, @@ -611,8 +623,8 @@ class CoursesManager { loadCourseForStudents(isDoable, currentCourse) { // Reset the inputs - resetInputsForActivity(); - + this.resetInputsForCourse(); + // Check if the activity has an introduction if (Activity.introduction != null && Activity.introduction != "") { $('#text-introduction-course').html(bbcodeToHtml(Activity.introduction)) @@ -712,32 +724,282 @@ class CoursesManager { this.isTheActivityIsDoable(isDoable); } - validateCourse(state) { - // state = 0 save, 1 validate - if (state == 0) { - console.log("save"); + validateCourse(correction) { + switch(Activity.activity.type) { + case 'free': + this.coursesFreeValidateActivity(correction); + break; + case 'quiz': + this.coursesquizValidateActivity(correction); + break; + case 'fillIn': + this.coursesfillInValidateActivity(correction); + break; + case 'reading': + case 'custom': + this.coursesdefaultProcessValidateActivity(); + break; + case 'dragAndDrop': + this.coursesdragAndDropValidateActivity(correction); + break; + default: + this.coursesdefaultProcessValidateActivity(); + break; + } + } + + coursesFreeValidateActivity(correction = 1) { + let studentResponse = $('#activity-input').bbcode(); + Main.getClassroomManager().saveNewStudentActivity(coursesManager.actualCourse.activity, correction, null, studentResponse, coursesManager.actualCourse.link).then((response) => { + this.coursesResponseManager(response, 'free'); + }); + } + + coursesquizValidateActivity(correction = 1) { + let studentResponse = []; + for (let i = 1; i < $(`input[id^="student-quiz-checkbox-"]`).length+1; i++) { + let res = { + inputVal: $(`#student-quiz-suggestion-${i}`).text(), + isCorrect: $(`#student-quiz-checkbox-${i}`).is(':checked') + } + studentResponse.push(res); + } + + Main.getClassroomManager().saveNewStudentActivity(coursesManager.actualCourse.activity, correction, null, JSON.stringify(studentResponse), coursesManager.actualCourse.link).then((response) => { + this.coursesResponseManager(response, 'quiz'); + }); + } + + coursesdragAndDropValidateActivity(correction = 1) { + let studentResponse = []; + for (let i = 0; i < $(`span[id^="dz-"]`).length; i++) { + let string = document.getElementById(`dz-${i}`).children.length > 0 ? document.getElementById(`dz-${i}`).children[0].innerHTML : ""; + studentResponse.push({ + string: string + }); + } + Main.getClassroomManager().saveNewStudentActivity(coursesManager.actualCourse.activity, correction, null, JSON.stringify(studentResponse), coursesManager.actualCourse.link).then((response) => { + this.coursesResponseManager(response, 'drag-and-drop'); + }); + } + + coursesfillInValidateActivity(correction = 1) { + let studentResponse = []; + for (let i = 1; i < $(`input[id^="student-fill-in-field-"]`).length+1; i++) { + let string = document.getElementById(`student-fill-in-field-${i}`).value; + studentResponse.push(string); + } + Main.getClassroomManager().saveNewStudentActivity(coursesManager.actualCourse.activity, correction, null, JSON.stringify(studentResponse), coursesManager.actualCourse.link).then((response) => { + this.coursesResponseManager(response, 'fill-in'); + }); + } + + coursesdefaultProcessValidateActivity() { + $("#activity-validate").attr("disabled", "disabled"); + let getInterface = tryToParse(Activity.activity.content); + const vittaIframeRegex = /\[iframe\].*?vittascience(|.com)\/([a-z0-9]{5,12})\/?/gm; + getInterface = getInterface + ? vittaIframeRegex.exec(getInterface.description) + : false; + if (getInterface == undefined || getInterface == null) { + correction = 2 + Main.getClassroomManager().saveStudentActivity(false, false, Activity.id, correction, 4).then(function (activity) { + if (typeof activity.errors != 'undefined') { + for (let error in activity.errors) { + + displayNotification('#notif-div', `classroom.notif.${error}`, "error"); + $("#activity-validate").attr("disabled", false); + } + } else { + navigatePanel('classroom-dashboard-activity-panel-success', 'dashboard-activities'); + actualizeStudentActivities(activity, correction); + $("#activity-validate").attr("disabled", false); + } + }) + window.localStorage.classroomActivity = null + } else if (Activity.autocorrection == false) { + correction = 1 + const interfaceName = getInterface[2]; + let project = window.localStorage[interfaceName + 'CurrentProject'] + Main.getClassroomManager().saveStudentActivity(JSON.parse(project), interfaceName, Activity.id).then(function (activity) { + if (typeof activity.errors != 'undefined') { + for (let error in activity.errors) { + displayNotification('#notif-div', `classroom.notif.${error}`, "error"); + $("#activity-validate").attr("disabled", false); + } + } else { + actualizeStudentActivities(activity, correction) + $("#activity-validate").attr("disabled", false); + navigatePanel('classroom-dashboard-activity-panel-correcting', 'dashboard-classes-teacher') + } + }) + } else { + + $("#activity-validate").attr("disabled", false); + window.localStorage.autocorrect = true + } + } + + coursesSaveActivitiesResponseManager(activityType = null, response = null) { + if (activityType == 'fill-in') { + + displayNotification('#notif-div', "classroom.activities.wrongAnswerLarge", "error"); + if (response.hasOwnProperty("hint")) { + if (response.hint != null && response.hint != "") { + $("#activity-hint-container-course").show(); + $("#activity-hint-course").text(response.hint); + } + } + + let lengthResponse = $(`input[id^="student-fill-in-field-"]`).length; + for (let i = 1; i < lengthResponse+1; i++) { + if (response.badResponse.includes(i-1)) { + $(`#student-fill-in-field-${i}`).css("border","2px solid var(--correction-0)"); + } else { + $(`#student-fill-in-field-${i}`).css("border","2px solid var(--correction-3)"); + } + } + + } else if (activityType == 'drag-and-drop') { + + displayNotification('#notif-div', "classroom.activities.wrongAnswerLarge", "error"); + for (let i = 0; i < $(`span[id^="dz-"]`).length; i++) { + $('#dz-' + i).css("border","1px solid var(--correction-3)"); + } + + for (let i = 0; i < response.badResponse.length; i++) { + $('#dz-' + (response.badResponse[i])).css("border","1px solid var(--correction-0)"); + } + + if (response.hasOwnProperty("hint")) { + if (response.hint != null && response.hint != "") { + $("#activity-hint-container-course").show(); + $("#activity-hint-course").text(response.hint); + } + } + + } else if (activityType == 'quiz') { + + displayNotification('#notif-div', "classroom.activities.wrongAnswerLarge", "error"); + for (let i = 1; i < $(`input[id^="student-quiz-suggestion-"]`).length+1; i++) { + $('#student-quiz-suggestion-' + i).parent().addClass('quiz-answer-correct'); + } + + for (let i = 0; i < response.badResponse.length; i++) { + $('#student-quiz-suggestion-' + (response.badResponse[i]+1)).parent().addClass('quiz-answer-incorrect'); + } + + if (response.hasOwnProperty("hint")) { + if (response.hint != null && response.hint != "") { + $("#activity-hint-container-course").show(); + $("#activity-hint-course").text(response.hint); + } + } + + } else if (activityType == 'free') { + displayNotification('#notif-div', "classroom.activities.wrongAnswer", "error"); + } + + } + + + coursesResponseManager(response, type) { + if (response) { + if (response.hasOwnProperty("message")) { + if (response.message == "activitySaved") { + return "saved"; + } else if (response.message == "emptyAnswer") { + return "empty"; + } + } else if (response.hasOwnProperty("badResponse")) { + this.coursesSaveActivitiesResponseManager(type, response); + return "bad"; + } else { + this.coursesValidateDefaultResponseManagement(response); + } + } else { + displayNotification('#notif-div', "classroom.notif.errorSending", "error"); + } + } + + coursesValidateDefaultResponseManagement(response) { + $("#activity-validate-course").attr("disabled", false); + + let message = document.getElementById("course-student-end-message"), + nextActivity = document.getElementById("course-next-course"); + + message.style.display = "none"; + nextActivity.style.display = "none"; + + if (response.note != null && response.correction > 1) { + //console.log("affiché page suivante"); + this._requestUpdateState(coursesManager.actualCourse.id, coursesManager.actualCourse.state + 1).then(res => { + if (res.hasOwnProperty('success')) { + if (res.success) { + navigatePanel('classroom-dashboard-course-panel-success', 'dashboard-classes-teacher'); + let course = Main.getClassroomManager()._myCourses.find(course => course.course.id == coursesManager.actualCourse.id); + console.log(course); + if (course.activities.length <= coursesManager.actualCourse.state + 1) { + message.style.display = "block"; + } else { + nextActivity.style.display = "block"; + } + } else { + displayNotification('#notif-div', "classroom.notif.errorSending", "error"); + } + } + }); + } else { - console.log("validate"); + navigatePanel('classroom-dashboard-activity-panel-correcting', 'dashboard-classes-teacher'); } } + readCourseFromStudent(id = null) { + this._requestGetMyCourseStudent().then(res => { + Main.getClassroomManager()._myCourses = res; + if (id == null) { + id = coursesManager.actualCourse.id; + } + + let course = Main.getClassroomManager()._myCourses.find(course => course.course.id == id); + + if (course.courseState == 999) { + console.log("Parcours terminé"); + return false; + } + + Activity = course.activities[course.courseState].activityLinkUser; + + this.actualCourse = { + id: id, + state: course.courseState, + link: Activity.id, + activity: Activity.activity.id + }; + + navigatePanel('classroom-dashboard-course-panel', 'dashboard-activities-teacher', 'course', ''); + this.loadCourseForStudents(true); + }); + } + isTheActivityIsDoable(doable, hideValidationButton = false) { if (doable == false || UserManager.getUser().isRegular) { $('#activity-validate-course').hide(); $('#activity-save-course').hide(); } else { - //let interface = /\[iframe\].*?vittascience(|.com)\/([a-z0-9]{5,12})\/?/gm.exec(Activity.activity.content) + let getInterface = /\[iframe\].*?vittascience(|.com)\/([a-z0-9]{5,12})\/?/gm.exec(Activity.activity.content) if (!hideValidationButton) { if (!Activity.activity.isLti) { $('#activity-validate-course').show(); } } - - /* if (interface != undefined && interface != null) { - $('#activity-save-course').show() - } */ - - if (!Activity.activity.isLti) { + + if (getInterface != undefined && getInterface != null) { + $('#activity-save-course').show() + } + + if (!Activity.activity.isLti) { $('#activity-validate-course').show(); if (Activity.activity.type != 'reading') { $('#activity-save-course').show(); @@ -746,7 +1008,7 @@ class CoursesManager { } } - _requestUpdateState(state) { + _requestUpdateState(id,state) { return new Promise((resolve, reject) => { $.ajax({ type: "POST", diff --git a/classroom/assets/js/scripts/buttons.js b/classroom/assets/js/scripts/buttons.js index 65e51ccb..a97cb89d 100644 --- a/classroom/assets/js/scripts/buttons.js +++ b/classroom/assets/js/scripts/buttons.js @@ -718,10 +718,6 @@ function studentActivitiesDisplay() { document.querySelector('#saved-activities-list').innerHTML = ''; document.querySelector('#done-activities-list').innerHTML = ''; - Main.getClassroomManager()._myCourses.forEach(course => { - $('#new-activities-list').append(courseItem(course, "newActivities")); - }); - $('.section-new .resource-number').html(activities.newActivities.length) activities.newActivities.forEach(element => { $('#new-activities-list').append(activityItem(element, "newActivities")); @@ -746,6 +742,26 @@ function studentActivitiesDisplay() { index++; }); + Main.getClassroomManager()._myCourses.forEach(course => { + if (course.courseState == 0 && course.activities[0].activityLinkUser.response == null) { + let number = $('.section-new .resource-number').html(); + $('.section-new .resource-number').html(parseInt(number) + 1) + $('#new-activities-list').append(courseItem(course, "newActivities")); + } else if (course.courseState == 0 && course.activities[0].activityLinkUser.response != null) { + let number = $('.section-saved .resource-number').html(); + $('.section-saved .resource-number').html(parseInt(number) + 1) + $('#saved-activities-list').append(courseItem(course, "currentActivities")); + } else if (course.courseState > 0 && course.courseState != 999) { + let number = $('.section-current .resource-number').html(); + $('.section-current .resource-number').html(parseInt(number) + 1) + $('#current-activities-list').append(courseItem(course, "currentActivities")); + } else if (course.courseState == 999) { + let number = $('.section-done .resource-number').html(); + $('.section-done .resource-number').html(parseInt(number) + 1); + $('#done-activities-list').append(courseItem(course, "doneActivities")); + } + }); + if (activities.doneActivities.length < 1) { $('#average-score').hide(); } else { From 20813c7b5f2e7298e5cad91db8bf2e59df2ab470 Mon Sep 17 00:00:00 2001 From: Arouz <48770524+Arouz@users.noreply.github.com> Date: Wed, 19 Oct 2022 10:10:56 +0200 Subject: [PATCH 107/340] course style and student part --- classroom/Views/studentCoursePanel.html | 28 +++++++++++++++------- classroom/assets/css/main.css | 9 ++++++- classroom/assets/js/main/CoursesManager.js | 9 +++---- 3 files changed, 30 insertions(+), 16 deletions(-) diff --git a/classroom/Views/studentCoursePanel.html b/classroom/Views/studentCoursePanel.html index e0e631bd..7dfed72b 100644 --- a/classroom/Views/studentCoursePanel.html +++ b/classroom/Views/studentCoursePanel.html @@ -89,19 +89,29 @@

                -
                +
                + Image d'erreur - +
                - +
                + +
                + +
                + +
                + +

                Ton progrès sera sauvegardé en tant que brouillon pour que tu puissses continuer plus tard

                + +
                +
                - -
                diff --git a/classroom/assets/css/main.css b/classroom/assets/css/main.css index 646e725d..8a51df36 100644 --- a/classroom/assets/css/main.css +++ b/classroom/assets/css/main.css @@ -1503,7 +1503,6 @@ h3.section-done { background-size: cover; color: white; - overflow: auto; position: relative; } @@ -2387,6 +2386,14 @@ h3.section-done { font-weight: 600; } +.result-text { + font-size: 1em !important; + color: var(--classroom-text-1); + text-align: center; + text-transform: none !important; + font-weight: 600; +} + .results-panel p i { margin: 0.5em; } diff --git a/classroom/assets/js/main/CoursesManager.js b/classroom/assets/js/main/CoursesManager.js index 0dcc9d0c..829a0e5a 100644 --- a/classroom/assets/js/main/CoursesManager.js +++ b/classroom/assets/js/main/CoursesManager.js @@ -925,10 +925,7 @@ class CoursesManager { coursesValidateDefaultResponseManagement(response) { $("#activity-validate-course").attr("disabled", false); - let message = document.getElementById("course-student-end-message"), - nextActivity = document.getElementById("course-next-course"); - - message.style.display = "none"; + let nextActivity = document.getElementById("course-next-course"); nextActivity.style.display = "none"; if (response.note != null && response.correction > 1) { @@ -940,7 +937,7 @@ class CoursesManager { let course = Main.getClassroomManager()._myCourses.find(course => course.course.id == coursesManager.actualCourse.id); console.log(course); if (course.activities.length <= coursesManager.actualCourse.state + 1) { - message.style.display = "block"; + //message.style.display = "block"; } else { nextActivity.style.display = "block"; } @@ -979,7 +976,7 @@ class CoursesManager { }; navigatePanel('classroom-dashboard-course-panel', 'dashboard-activities-teacher', 'course', ''); - this.loadCourseForStudents(true); + this.loadCourseForStudents(true, course); }); } From b59ee2742a8d6e3b5f25c024dd5b205b68ddff92 Mon Sep 17 00:00:00 2001 From: Arouz <48770524+Arouz@users.noreply.github.com> Date: Mon, 24 Oct 2022 04:51:09 +0200 Subject: [PATCH 108/340] bugs fixes, update message after sending activity from course --- classroom/Views/studentCoursePanel.html | 1 + classroom/assets/js/main/CoursesManager.js | 59 +++++++++------------- classroom/assets/js/scripts/buttons.js | 6 +-- 3 files changed, 26 insertions(+), 40 deletions(-) diff --git a/classroom/Views/studentCoursePanel.html b/classroom/Views/studentCoursePanel.html index 7dfed72b..ba25dfef 100644 --- a/classroom/Views/studentCoursePanel.html +++ b/classroom/Views/studentCoursePanel.html @@ -106,6 +106,7 @@

                +

                Bravo tu as terminé le parcours !

                Ton progrès sera sauvegardé en tant que brouillon pour que tu puissses continuer plus tard

                diff --git a/classroom/assets/js/main/CoursesManager.js b/classroom/assets/js/main/CoursesManager.js index 829a0e5a..b58aefb6 100644 --- a/classroom/assets/js/main/CoursesManager.js +++ b/classroom/assets/js/main/CoursesManager.js @@ -423,9 +423,6 @@ class CoursesManager { } } - /* showMyCourses() { - const courses = this.courseData.courses; - } */ deleteCourse(id) { this.resetInputs(); @@ -437,10 +434,6 @@ class CoursesManager { document.getElementById('validation-delete-course').value = ''; } - duplicateCourse(id) { - - } - updateCourse(id = null) { if (id == null) { id = this.lastestCourse; @@ -653,15 +646,6 @@ class CoursesManager { } $('.course-state').html(courseState); - - - // Disclaimer for eval - /* if (Activity.correction < 2 && (activityType.includes(Activity.activity.type))) { - $('#warning-icon-container-course').show(); - $('#warning-icon-container-course > i').hide(); - Activity.evaluation ? $('#warning-icon-evaluation').show().tooltip() : $("#warning-icon-no-evaluation").show().tooltip(); - } */ - // Check if the correction if available if (Activity.correction >= 1) { $('#activity-details-course').html(i18next.t("classroom.activities.sentOn") + formatHour(Activity.dateSend), i18next.t("classroom.activities.numberOfTries") + Activity.tries) @@ -798,27 +782,22 @@ class CoursesManager { $("#activity-validate").attr("disabled", "disabled"); let getInterface = tryToParse(Activity.activity.content); const vittaIframeRegex = /\[iframe\].*?vittascience(|.com)\/([a-z0-9]{5,12})\/?/gm; - getInterface = getInterface - ? vittaIframeRegex.exec(getInterface.description) - : false; + getInterface = getInterface ? vittaIframeRegex.exec(getInterface.description) : false; if (getInterface == undefined || getInterface == null) { - correction = 2 + let correction = 2; Main.getClassroomManager().saveStudentActivity(false, false, Activity.id, correction, 4).then(function (activity) { if (typeof activity.errors != 'undefined') { for (let error in activity.errors) { - displayNotification('#notif-div', `classroom.notif.${error}`, "error"); $("#activity-validate").attr("disabled", false); } } else { - navigatePanel('classroom-dashboard-activity-panel-success', 'dashboard-activities'); - actualizeStudentActivities(activity, correction); - $("#activity-validate").attr("disabled", false); + coursesManager.manageAllActivityResponse(activity); } }) window.localStorage.classroomActivity = null } else if (Activity.autocorrection == false) { - correction = 1 + let correction = 1; const interfaceName = getInterface[2]; let project = window.localStorage[interfaceName + 'CurrentProject'] Main.getClassroomManager().saveStudentActivity(JSON.parse(project), interfaceName, Activity.id).then(function (activity) { @@ -828,9 +807,7 @@ class CoursesManager { $("#activity-validate").attr("disabled", false); } } else { - actualizeStudentActivities(activity, correction) - $("#activity-validate").attr("disabled", false); - navigatePanel('classroom-dashboard-activity-panel-correcting', 'dashboard-classes-teacher') + coursesManager.manageAllActivityResponse(activity); } }) } else { @@ -925,28 +902,42 @@ class CoursesManager { coursesValidateDefaultResponseManagement(response) { $("#activity-validate-course").attr("disabled", false); - let nextActivity = document.getElementById("course-next-course"); + if (response.note != null && response.correction > 1) { + this._requestUpdateState(coursesManager.actualCourse.id, coursesManager.actualCourse.state + 1).then(res => { + coursesManager.manageAllActivityResponse(response); + }); + } else { + navigatePanel('classroom-dashboard-activity-panel-correcting', 'dashboard-classes-teacher'); + } + } + + manageAllActivityResponse(response) { + + let nextActivity = document.getElementById("course-next-course"), + endCourse = document.getElementById("course-student-message-end"), + disclaimerSave = document.getElementById("course-student-message"); + nextActivity.style.display = "none"; + endCourse.style.display = "none"; + disclaimerSave.style.display = "none"; if (response.note != null && response.correction > 1) { - //console.log("affiché page suivante"); this._requestUpdateState(coursesManager.actualCourse.id, coursesManager.actualCourse.state + 1).then(res => { if (res.hasOwnProperty('success')) { if (res.success) { navigatePanel('classroom-dashboard-course-panel-success', 'dashboard-classes-teacher'); let course = Main.getClassroomManager()._myCourses.find(course => course.course.id == coursesManager.actualCourse.id); - console.log(course); if (course.activities.length <= coursesManager.actualCourse.state + 1) { - //message.style.display = "block"; + endCourse.style.display = "block"; } else { nextActivity.style.display = "block"; + disclaimerSave.style.display = "block"; } } else { displayNotification('#notif-div', "classroom.notif.errorSending", "error"); } } }); - } else { navigatePanel('classroom-dashboard-activity-panel-correcting', 'dashboard-classes-teacher'); } @@ -962,12 +953,10 @@ class CoursesManager { let course = Main.getClassroomManager()._myCourses.find(course => course.course.id == id); if (course.courseState == 999) { - console.log("Parcours terminé"); return false; } Activity = course.activities[course.courseState].activityLinkUser; - this.actualCourse = { id: id, state: course.courseState, diff --git a/classroom/assets/js/scripts/buttons.js b/classroom/assets/js/scripts/buttons.js index a97cb89d..8af93253 100644 --- a/classroom/assets/js/scripts/buttons.js +++ b/classroom/assets/js/scripts/buttons.js @@ -747,14 +747,10 @@ function studentActivitiesDisplay() { let number = $('.section-new .resource-number').html(); $('.section-new .resource-number').html(parseInt(number) + 1) $('#new-activities-list').append(courseItem(course, "newActivities")); - } else if (course.courseState == 0 && course.activities[0].activityLinkUser.response != null) { + } else if ((course.courseState == 0 && course.activities[0].activityLinkUser.response != null) || course.courseState > 0 && course.courseState != 999) { let number = $('.section-saved .resource-number').html(); $('.section-saved .resource-number').html(parseInt(number) + 1) $('#saved-activities-list').append(courseItem(course, "currentActivities")); - } else if (course.courseState > 0 && course.courseState != 999) { - let number = $('.section-current .resource-number').html(); - $('.section-current .resource-number').html(parseInt(number) + 1) - $('#current-activities-list').append(courseItem(course, "currentActivities")); } else if (course.courseState == 999) { let number = $('.section-done .resource-number').html(); $('.section-done .resource-number').html(parseInt(number) + 1); From 0a15f5c3757bb596197d1d9f71b91412850b14b4 Mon Sep 17 00:00:00 2001 From: Arouz <48770524+Arouz@users.noreply.github.com> Date: Mon, 24 Oct 2022 20:05:07 +0200 Subject: [PATCH 109/340] fixes for activity --- classroom/Views/teacherCoursePanel.html | 6 +++--- classroom/assets/js/scripts/displayPanel.js | 7 +++++-- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/classroom/Views/teacherCoursePanel.html b/classroom/Views/teacherCoursePanel.html index 7de4bd7a..9809f1aa 100644 --- a/classroom/Views/teacherCoursePanel.html +++ b/classroom/Views/teacherCoursePanel.html @@ -368,12 +368,12 @@

                Parcours créé avec
                -
                - +
                +

                Options facultatives

                -

En Android con Chrome :

  1. Abra la página: clase/, luego seleccione el botón del menú, después elija \"Agregar a la pantalla de inicio\".
  2. Nombre la página y seleccione \"Agregar\".
  3. El acceso está creado. Solo tiene que hacer doble clic sobre para abrir la página web vinculada

En Android con Firefox :

  1. Abra la página: clase/,luego seleccione el botón del menú, después elija Página.
  2. Seleccione Agregar un acceso directo a la página.
  3. El acceso directo está creado en la pantalla de inicio. Solo tiene que hacer un clic sobre él para abrir la página web vinculada.

En iOS con Safari :

  1. Abra la página : clase/, luego presione el ícono Compartir.
  2. Seleccione la pantalla de inicio, después elija Agregar
  3. El acceso directo está creado en la página de inicio. Solo tiene que hacer clic para abrir la página web vinculada.

Usted puede encontrar otros tutoriales en Internet para crear un acceso directo en la pantalla de inicio.

"}}},"5":{"section_title":"Problema técnico","question_list":{"1":{"title":"Tengo un error ¿Qué debo hacer?","answer":"Cuando comente un error lo primero que debe hacer es intentar actualizar la página. Si el error persiste, puede contactarnos en a pestaña Perfil con el botón \"Ayuda\"."},"2":{"title":"¿Cómo informo los errores y proporciono mis comentarios?","answer":"Si el error persiste, puede contactarnos en la pestaña perfil con el botón \"Ayuda\".
Para hacernos comentarios, igualmente puede contactarnos en la pestaña Perfil con el botón \"Ayuda\""}}},"6":{"section_title":"Licencias y autorizaciones","question_list":{"1":{"title":"¿Se puede hacer una descripción o presentación del módulo Clase?","answer":"Sí, puede reutilizar los elementos visuales del módulo Clase para crear una descripción, presentación, capacitación, tutorial, curso u otro. Si desea incluir imágenes o contenidos de actividades, mencione al autor (ver pregunta siguiente)."},"2":{"title":"¿Dónde se puede encontrar el código fuente del módulo Clase?","answer":"El código fuente del módulo Clase está disponible en href=\"https://github.com/Cabri/OpenSTEAM-LMS/\" target=\"_href\">repository git OpenSTEAM-LMS.¡No dude en contribuir!"}}},"title":"FAQ"},"faqStudentNeutral":{"1":{"section_title":"Actividades","question_list":{"1":{"title":"¿Para qué sirve la pestaña Mis actividades?","answer":"En la pestaña Mis actividades, tu puedes :
  1. Realizar nuevas actividades para tus profesores.
  2. Guardar aquellas que todavía no hayas terminado.
  3. ¡Y revisar aquellas que ya hayas hecho!
"},"2":{"title":"¿Qué es una actividad?","answer":"Una actividad es un contenido interactivo creado a partir de Cabri Express o Cabri autor."}}},"2":{"section_title":"Llamar por ayuda","question_list":{"1":{"title":"¿Para qué sirve la pestaña Llamar por ayuda?","answer":"En la pestaña Llamar por ayuda, podrás :
  1. Pedir ayuda a tus profesores en cualquier momento,
  2. Consultar las preguntas frecuentes.
Podrás seguir el intercambio de tus mensajes en la pestaña Perfil. "}}},"3":{"section_title":"Perfil","question_list":{"1":{"title":"¿Para qué sirve la pestaña Perfil?","answer":"En la pestaña perfil, podrás:
  1. Administrar la configuración de tu cuenta,
  2. Ver tus estadísticas,
  3. e intercambiar mensajes con tus profesores.
"},"2":{"title":"¿Cómo cambio mi contraseña u otras configuraciones de mi cuenta?","answer":"Para cambiar la contraseña u otras configuraciones, vas a la pestaña Perfil."},"3":{"title":"¿Cómo se cambia el idioma?","answer":"El módulo Clase está actualmente disponible en francés e inglés. Para cambiar el idioma, vas a la pestaña perfil, haces un clic sobre el botón \"Configuración\", después selecciona el idioma que más te convenga. "}}},"4":{"section_title":"Preguntas generales","question_list":{"1":{"title":"¿Cómo empiezo con el módulo Clase?","answer":"En cualquier momento, puedes acceder a la ayuda general haciendo clic en el íconoen la parte superior derecha para comenzar con el módulo Clase."},"2":{"title":"¿En qué soporte es compatible el módulo clase?","answer":"

¡Las interfaces funcionan sin instalación, en la computadora, tableta y teléfonos inteligentes! Las actualizaciones son automáticas y sus programas son guardados en la nube.

Para aprovechar al máximo las funcionalidades, te aconsejamos utilizar Chrome o Firefox.

"},"3":{"title":"¿Cómo crear un acceso directo para acceder al módulo Clase?","answer":"

Tienes la posibilidades de poner un ícono sobre el escritorio de la computadora para acceder rápidamente al módulo Clase. Para hacerlo :

en Windows y en Mac:

  1. Abre la página : clase/, después reduce el tamaño de la ventana del navegador para poder ver el escritorio al costado.
  2. En el navegador Web selecciona con el mouse el símbolo situado a la izquierda de la dirección y, sin soltar, desliza el puntero hasta Escritorio. Suelta para crear el acceso directo.
  3. El acceso está creado. Solo tendrás que hace doble clic en él para abrir la página web vinculada..

.

En Android con Chrome :

  1. Abre la página: clase/, luego selecciona el botón del menú, después elige \"Agregar a la pantalla de inicio\".
  2. Nombra la página y selecciona \"Agregar\".
  3. El acceso está creado. Solo tendrás que hacer doble clic sobre él para abrir la página web vinculada

En Android con Firefox :

  1. Abre la página: clase/,luego selecciona el botón del menú, después elige Página.
  2. Selecciona Agregar un acceso directo a la página.
  3. El acceso directo está creado en la pantalla de inicio. Solo tendrás que hacer un clic sobre él para abrir la página web vinculada.

En iOS con Safari :

  1. Abre la página : clase/, luego presiona el ícono Compartir.
  2. Selecciona la pantalla de inicio, después elige Agregar
  3. El acceso directo está creado en la página de inicio. Solo tendrás que hacer clic para abrir la página web vinculada.

Podrás encontrar otros tutoriales en Internet para crear un acceso directo en la pantalla de inicio.

"}}},"5":{"section_title":"Problema técnico","question_list":{"1":{"title":"Tengo un error ¿Qué debo hacer?","answer":"Cuando comentes un error lo primero que debes hacer es intentar actualizar la página. Si el error persiste, puedes contactar a tu profesor en la pestaña \"Llamar por ayuda \"."},"2":{"title":"¿Cómo informo los errores y proporciono mis comentarios?","answer":"Si el error persiste, puedes contactar a tu profesor en la pestaña Ayuda.


Para hacer comentarios a tu profesor, igualmente puedes contactarlo en la pestaña Ayuda.

"}}},"6":{"section_title":"Licencias y autorizaciones","question_list":{"1":{"title":"¿Dónde puedo encontrar el código fuente del módulo Clase?","answer":"El código fuente del módulo Clase está disponible en le repository git OpenSTEAM-LMS¡No dudes en contribuir!"}}},"title":"FAQ"},"manager":{"profil":{"manager":"Pasar al modo gestor","groupAdmin":"Pasar al modo administrador de grupo","bio":"Bio","group":"Grupo","apps":"Aplicaciones","personalApps":"Aplicaciones personales","email":"Correo electrónico *","nickname":"Nombre de usuario","lastname":"Apellido *","firstname":"Nombre *","phone":"Número de teléfono","grade":"Nivel de educación *","subject":"Asunto enseñado *","school":"Institución *","password":"Contraseña *","confirmPassword":"Confirmar la contraseña *","help":"Pide ayuda","onlyVisibleGroupAdmin":"Sólo visible para usted como administrador del grupo:","onlyVisiblemanager":"Sólo visible para usted como gestor:"},"account":{"activate":{"success":"Su cuenta ha sido activada.","alreadyactive":"Su cuenta ya está activa.","noToken":" Este enlace no lleva ningún token."},"active":"Cuenta activa","registration":{"success":"¡Inscripción exitosa!","emailSent":"Se le acaba de enviar un correo electrónico, siga el enlace que contiene para activar su cuenta y continuar su enlace con el grupo \"\"","accountPublic":"¿Acepta que su nombre y apellido sean públicos en el sitio?","newsletter":"¿Desea recibir nuestro boletín por correo electrónico?","mailAlert":"¿Desea recibir alertas por correo electrónico cuando se reciban nuevas publicaciones en el sitio?","allowContact":"¿Le gustaría que otros usuarios del sitio se pusieran en contacto con usted?","confirmAdult":"Confirmo que soy mayor de 18 años (art. 1124 del Código Civil Francés).","disclaimerVittascience":" Vittascience sitúa la seguridad y la confidencialidad de los datos personales de sus usuarios en el centro de sus preocupaciones. Descubra nuestra política de protección de datos personales.","mandatory":"Los campos marcados con un * son obligatorios.","cguVittascience":"Validando este formulario, usted acepta los términos y condiciones.","cguOpenSteam":"Enviando este formulario, acepta los términos y condiciones.","description":"Por favor, rellene los siguientes campos para crear su cuenta.","title":"Inscripción","registrationFinalizationSuccess":"Su inscripción se ha completada, ahora puede conectarse.","registrationFinalization":"Finalice su inscripción.","descriptionFinalization":"Por favor, rellene los siguientes campos para finalizar su inscripción.","noTokenOrUserActive":"Token inválido o usuario ya activo.","noToken":"Falta token"},"notAllowedUpdateUser":"No tiene derechos para editar este usuario.","notAllowedDeleteGroup":"No tiene derecho para eliminar este grupo.","notAllowedDisableUser":"No tiene derecho para desactivar este usuario.","notAllowedDeleteUser":"No tiene derecho para eliminar este usuario.","passwordUpdatedMessage":"Su contraseña ha sido cambiada con éxito.","noUserFound":"Ningún usuario utiliza ese correo electrónico.","noUserFoundToken":"Este token no corresponde a ningún usuario.","missingData":"Falta informaciones para finalizar la operación.","missingDataDate":"Falta información a cerca de la fecha para finalizar la operación.","errorSending":"Se ha producido un error al enviar el correo electrónico.","userNotFound":"Usuario imposible de encontrar y/o ya activo.","userNotFoundId":"Usuario imposible de encontrar","errorActivation":"Se ha producido un error durante la activación.","notAllowedToCreateUserInThisGroup":"No está permitido crear un usuario en este grupo.","subscriptionOudated":"Su solicitud de APPNAME expiró en la FECHA. Para más información, póngase en contacto con un administrador."},"users":{"users":"Usuarios","add":"Añadir un usuario","activated":"La cuenta ha sido activada con éxito.","errorActivation":"Se ha producido un error durante la activación de la cuenta.","create":"Crear un usuario","delete":"Eliminar un usuario","deleteConfirmation":"Por favor, escriba \"borrar\" en el campo de abajo para completar la acción.","deleteIntentionSA":"Está a punto de suprimir el usuario: ","disableIntention":"Está a punto de desactivar el usuario: ","deleteConfirmationTitle":"Confirmar la supresión","disableConfirmationTitle":"Confirmar la desactivación","update":"Modificar un usuario","updateAppUser":"Modificar las aplicaciones de los usuarios","updateApp":"Modificar las aplicaciones","disable":{"message":"Por favor, introduzca \"borrar\" en el campo de abajo para completar la acción.","intention":"Está a punto de surpimir el usuario: "},"mail":{"resetPassword":{"subject":"Reiniciar su contraseña.","bodyTitle":"Reiniciar la contraseña.","textBeforeLink":"Si el botón anterior no funciona, copie y pegue el siguiente enlace en su navegador:"},"finalizeAccount":{"title":"Finalización de la inscripción ","subject":"Finalización de la inscripción","bodyTitle":"Finalice su inscripción.","textBeforeLink":"Si el botón anterior no funciona, copie y pegue el siguiente enlace en su navegador:"}},"showResetLinkTitle":"Reiniciar la contraseña.","showResetLink":"Enlace para restablecer la contraseña.","groupAdmin":"Administrador del grupo","admin":"Gestor","teacher":"Profesor","usersPerPage":"Usuarios por página","userDeleted":"Usuario suprimido.","userDisabled":"Usuario desactivado.","userCreated":"Usuario creado con éxito","userUpdated":"Usuario modificado con éxito","chooseNewPassword":"Elija su nueva contraseña","passwordUpdate":"Su contraseña ha sido cambiada","enterYourEmail":"Introduzca su dirección de correo electrónico","sendResetMailDescription":"Al hacer clic en Enviar, se le enviará un correo electrónico con un enlace para cambiar su contraseña.","yourMail":"Su dirección de correo electrónico","emailSended":"Se le acaba de enviar un correo electrónico con el procedimiento a seguir.","emailNotReceived":"Si no ha recibido el correo electrónico, haga clic en Iniciar de nuevo (puede haber un ligero retraso).","mailSentToUser":"Se envió un correo electrónico al usuario para finalizar el registro.","mailNotSentToUser":"No se ha podido enviar al usuario el correo electrónico de finalización del registro.","mailSentToUserReset":"Se ha enviado un correo electrónico al usuario para que cambie la contraseña.","mailNotSentToUserReset":"No se ha podido enviar el correo electrónico de cambio de contraseña al usuario.","appsUpdated":"Las aplicaciones del usuario han sido actualizadas.","updateAppModalTitle":"Aplicación","teacherGrades":{"0":"Primaria","1":"Colegio","2":"Instituto","3":"Escuela de Formación Profesional","4":"Universitario"},"teacherSubjects":{"0":{"0":"Escuela primaria","1":"Otros (especificar en la biografía)"},"1":{"0":"Educación física y deportiva","1":"Educación moral y cívica","2":"Educación artística","3":"Español","4":"Historia-geografía","5":"Lengua viva","6":"Matemáticas","7":"Física-Química","8":"Ciencias de la Vida y de la Tierra","9":"Tecnología","10":"Otros (especificar en la biografía)"},"2":{"0":"Artes","1":"Artes circenses","2":"Biología Ecología","3":"Biotecnología","4":"Cultura de creación y diseño","5":"Creación e innovación tecnológica","6":"Ecología-agronomía-territorios-desarrollo sostenible","7":"Educación física y deportiva","8":"Educación moral y cívica","9":"Educación científica","10":"Educación tecnológica transversal","11":"Español","12":"Hipología y equitación","13":"Historia-geografía","14":"Historia-geografía, geopolítica y ciencias políticas","15":"Humanidades, literatura y filosofía","16":"Lenguas y culturas antiguas: latín o griego","17":"Lenguas modernas","18":"Lenguas, literatura y culturas extranjeras y regionales","19":"Literatura y lenguas y culturas antiguas","20":"Gestión y administración","21":"Matemáticas","22":"Ciencias digitales e informáticas)","23":"Física y Química","24":"Principios fundamentales de economía y gestión","25":"Salud y social","26":"Ciencias de la Vida y de la Tierra","27":"Ciencias de la ingeniería","28":"Ciencia y laboratorio","29":"Ciencias y técnicas del teatro, la música y la danza","30":"Ciencias y Tecnologías de Laboratorio","31":"Ciencia y tecnología de la hostelería","32":"Ciencia y tecnología de la industria y el desarrollo sostenible","33":"Ciencia y Tecnología del Diseño y las Artes Aplicadas","34":"Ciencias y tecnologías de la gestión y la administración","35":"Ciencia y tecnología digital","36":"Ciencias Económicas y Sociales","37":"Otros (especificar en la biografía)"},"3":{"0":"Artes aplicadas y culturas artísticas","1":"Economía-Derecho","2":"Economía y Gestión","3":"Educación física y deportiva (PSE)","4":"Educación moral y cívica","5":"Educación tecnológica transversal (ETT)","6":"Español","7":"Historia-geografía","8":"Lenguas extranjeras","9":"Matemáticas Física-Química","10":"Prevención de la salud ambiental","11":"Otros (especificar en la biografía)"},"4":{"0":"Educación superior","1":"Otros (especificar en la biografía)"}},"groupFull":" The group is full"},"group":{"generalInfo":"Información general","add":"Añadir un grupo","create":"Crear un grupo","delete":"Suprimir un grupo","deleteIntention":"Está a punto de eliminar el grupo: ","update":"Modificar un grupo","academy":"Academia","join":{"firstVisit":"¿Primera visita?","signin":"Entrar en el sistema","signinSubtitle":"Introduzca sus datos de acceso para acceder a su cuenta","addressMail":"Dirección de correo electrónico","disclaimer":"Al unirse a este grupo, usted autoriza al administrador del grupo a bloquear y/o desactivar su cuenta. También tendrás acceso a las aplicaciones que tiene el grupo.","lastStep":"Sólo queda un paso. Haga clic en el botón de abajo para completar el enlace.","joinGroup":"Está a punto de unirse al grupo \"\"","notfound":"Grupo no encontrado.","notfoundDetails":"No podemos encontrar ningún grupo relacionado con el código .","clickToRedirectLogin":"Haga clic en Continuar para ser redirigido a la página de inicio de sesión.","clickToRedirectHome":"Haga clic en Continuar para ser redirigido a la página de inicio.","invalidLink":"Enlace inválido.","invalidFormatLink":"El formato del enlace introducido no coincide.","success":"Te has unido al grupo \"\".","alreadyLinked":"Usted ya forma parte de este grupo.","error":"Se ha producido un error durante la conexión.","userNotFound":"El usuario no fue encontrado, puede hacer clic en Continuar para ser redirigido a la página de inicio de sesión.","contactAdmin":"Si el problema persiste, póngase en contacto con la administración.","groupFull":"El grupo al que desea unirse está lleno.","onlyOneGroup":"Ya forma parte de un grupo, no puede unirse a un otro.","mail":{"textBeforeName":"El usuario :","textAfterName":"se unió al grupo:","emailSubject":"Un usuario se ha unido al grupo."}},"name":"Nombre del grupo","description":"Descripción del grupo","link":"Enlace de grupo","applications":"Aplicación de grupo(s)","groupsPerPage":"Grupos por página","groupDeleted":"Grupo suprimido","groupCreated":"Grupo establecido con éxito","groupUpdated":"Grupo modificado con éxito","groupCreateFailed":"No se ha podido crear el grupo","showLinkTitle":"Enlace del grupo","usersWithoutGroups":"Usuarios sin grupo","searchResult":"Resultado de la búsqueda","usersInactiveOrNoRegular":"Usuarios inactivos y no habituales","usersWithoutGroupsDescription":"Grupo de usuarios no vinculados a ningún grupo","usersInactiveOrNoRegularDescription":"Grupo de usuarios inactivos y/o no habituales","groupDeleteError":"El grupo no ha podido ser suprimido.","groupFull":"El grupo está completo.","groupFullAdminMessage":"El grupo está completo, no se pueden añadir más usuarios.","toManyStudentsFromTheTeacher":"El profesor que quiere añadir al grupo tiene demasiados alumnos.","toManyStudentsInGroup":"El grupo no puede acoger a tantos alumnos, el profesor tiene demasiados alumnos.","teachersPerGroup":"Profesor por grupo","studentsPerGroup":"Estudiantes por grupo","activitiesPerGroup":"Actividad(es) por grupo","activitiesPerTeacher":"Actividad(es) por profesor","studentsPerTeacher":"Alumnos por profesor","maxStudents":"Número máximo de alumnos","maxActivities":"Número máximo de actividades"},"title":{"activeUsers":"Usuarios activos","inaactiveUsers":" Inactive users"},"buttons":{"continue":"Continuar","validate":"Validar","activate":"Activar","cancel":"Cancelar","finalize":"Finalizar","send":"Enviar","login":"Conectarse","signup":"Inscribirse","join":"Unirse","save":"Grabar","close":"Cerrar","disable":"Desactivar","delete":"Eliminar","reset":"Reiniciar","update":"Editar","search":"Buscar","restart":"Comenzar de nuevo","copyLink":"Copiar el enlace","show":"Ver","manage":"Gestionar","user":{"add":"Añadir usuario","create":"Crear usuario","delete":"Suprimir usuario","update":"Cambiar de usuario","addGroup":"Añadir un grupo","createA":"Crear un usuario","updateA":"Modificar un usuario","updateApp":"Modificar las aplicaciones"},"group":{"add":"Añadir el grupo","create":"Crear el grupo","delete":"Suprimir el grupo","update":"Modificar el grupo","createA":"Crear un grupo","updateA":"Modificar un grupo"}},"sort":{"user":{"bylastname":"Ordenar por apellido","byfirstname":"Ordenar por nombre"},"group":{"byname":"Ordenar por nombre","bydesc":"Ordenar por descripción"}},"input":{"placeholder":{"delete":"suprimir"},"writeDelete":"Debe escribir suprimir para validar la acción.","writeDisable":"Debe escribir desactivar para validar la acción."},"table":{"lastname":"Apellido","firstname":"Nombre","applications":"Aplicaciones","group":"Grupo","description":"Descripción","descriptionMandatory":"Descripción *","right":"Papel","resetPassword":"Reiniciar contraseña","link":"Enlace","name":"Nombre","nameMandatory":"Nombre *","dateBegin":"Fecha de inicio","dateEnd":"Fecha de finalización","outDated":"Expirado","maxStudents":"Número máximo de alumnos","actualStudents":"Estudiantes actuales","maxTeachers":"Número máximo de profesores","actualTeachers":"Profesores actuales","maxStudentsPerTeachers":"Número máximo de alumnos por profesor","maxStudentsPerTeacher":"Número máximo de alumnos por profesor","activityType":"Tipo de actividad","maxActivitiesPerGroup":"Número máximo de actividades por grupo","maxActivitiesPerTeacher":"Número máximo de actividades por profesor","monitoring":"Supervisión de aplicaciones","image":"Imagen","userNoRights":"No hay derechos asignados","userAdmin":"Administrator","userTeacher":"Profesor","restrictions":"Restricciones"},"apps":{"apps":"Aplicaciones","create":"Crear una aplicación","updateSuccess":"Aplicación modificada con éxito","createSuccess":"Aplicación creada con éxito","deleteSuccess":"Aplicación eliminada con éxito","deleteIntention":"Está a punto de eliminar la aplicación: ","outDatedApp":"La aplicación que desea asignar está desactualizada.","infoMaxStudentsPerTeachers":"Determina el número máximo de alumnos que puede tener un profesor en el grupo.","infoMaxStudentsPerGroups":"Determina el número máximo de alumnos que puede tener el grupo (sumando el número total de alumnos de los profesores con esta aplicación)","infoMaxTeachers":"Determina el número máximo de profesores que puede tener la aplicación en este grupo","usersLimitation":"Limitación de alumnos por usuario","groupsLimitation":"Limitaciones del grupo","activitiesLimitation":"Limitaciones de la actividad","defaultRestrictions":"Restricciones por defecto","ltiApps":"Aplicaciones LTI","clientId":"ID del cliente *","deploymentId":"ID predeterminada *","toolUrl":"URL del herramienta *","publicKeySet":"Clave pública *","loginUrl":"Url de acceso *","redirectionUrl":"Url de redireccionamiento *","deepLinkUrl":"Enlace profundo url *","privateKey":"Clave privada *"},"activitiesRestrictions":{"updateAll":"Modificación de las restricciones","update":"Modificar una restricción","create":"Crear una restricción","delete":"Elimina una restricción","updateSuccess":"Restricción modificada con éxito","createSuccess":"Restricción creada con éxito","deleteSuccess":"Restricción eliminada con éxito","deleteIntention":"Está a punto de eliminar la restricción: ","restrictionType":"Tipo de actividad","maxActivity":"Actividad máxima","closeDetail":"Cerrar el detalle","restrictions":"Restricciones de la actividad","appRestricted":"Crear más actividades","appRestrictedUL1":"Ha alcanzado el límite de {{actividades}} asociadas a su cuenta.","appRestrictedUL2":"Para añadir actividades adicionales, póngase en contacto con su administrador.","appRestrictedSubtitle2":"¿Problemas con su suscripción?","appRestrictedSubtitle3":"Contactar con el servicio de asistencia","appRestrictedGarContent1":"Ha alcanzado el límite de {{actividades}} asociadas a tu cuenta.","appRestrictedGarContent2":"Para añadir actividades adicionales, póngase en contacto con el gestor de asignaciones GAR de su centro educativo."},"defaultRestrictions":{"update":"Cambiar las restricciones por defecto","type":"Tipo de actividad","max":"Máximo","add":"Añadir una restricción","updateUsersRestrictionsSuccess":"Restricciones de usuario modificadas con éxito","updateGroupsRestrictionsSuccess":"Restricciones de grupo modificadas con éxito","updateActivitiesRestrictionsSuccess":"Restricciones de actividad modificadas con éxito","deleteActivitiesRestrictionsSuccess":"Restricción de las actividades eliminadas con éxito","getDefaultRestrictions":"Ver las restricciones por defecto","restrictionAlreadyExist":"La restricción ya existe"}},"navbar":{"items":{"kits":"Material","community":{"title":"Comunidad","dropdown":{"vittamap":" Vittamap","blog":"Blog","gallery":"Galería","about":"Nosotros"}},"tooltips":{"backToHome":"Volver a la página de inicio","programming":" Codificación con Vittascience","resources":"Centro de Recursos Educativos","classroom":" Gestione sus clases con Vittascience","hardware":" Descubra nuestros kits y productos"},"programming":"Programa","classroom":"Clase","arduino":" Arduino","microbit":" Microbit","microbit-tutorials":" Microbit Tutorials","ressources":"Recursos","accessibility":"Cambiar el tema y la fuente del sitio","lang":"Cambiar el idioma","user_shortcuts":{"welcome":"Bienvenido.","signup":"Inscribirse","login":"Conctarse","hello":"Hola","account":"Mi cuenta","disconnect":"Desconexión","willSignup":"¡Me apunto!","willSignin":"Conectarse"}}},"newActivities":{"create":"Crear una nueva actividad","delete":"Suprimir","addQuiz":"Añadir una propuesta","states":"Declaración de actividad *","cancel":"Cancelar","autocorrect":"Corrección automática","correction":"Corrección de la actividad","tolerance1":"Añadir una tolerancia de error de","tolerance2":"carácter(es) en la respuesta completa del estudiante.","hint":"Pista * : se muestra si la respuesta es incorrecta","title":"Título de la actividad *","description":"Descripción de la actividad *","content":"Contenido de la actividad *"},"courses":{"addActivity":" Add an activity","addActivities":" Add activities","createActivity":" Create an activity","searchActivity":" Search an activity","placeholderTitle":" Activity title","placeholderDescription":" Activity description","pagination":{"create":" Course's creation","title":" Title","parameters":" Parameters","attribution":" Attribution"},"parameters":{"title":" Course title *","description":" Course's description *","difficulty":" Difficulty *","difficultyLevel":{"choose":" Choose a difficulty level","easy":" Easy","medium":" Medium","advanced":" Advanced","expert":" Expert"},"duration":" Duration (minutes) *","license":" User license *","licenseType":{"1":" Private (only you can see this resource)","2":" Unreferenced (shareable resource by link but not findable on the Resources page)","3":" Public CC-BY-NC-SA (free, non-commercial and modifiable resource)","4":" Public CC-BY-NC-ND (free, non-commercial and non-modifiable resource)","choose":" Choose a license"}},"successfullyCreated":" Course created successfully","attribution":" Course attribution ","return":" Return ","update":" Update the course"}} \ No newline at end of file +{ + "classroom": { + "login": { + "noClass": "El código introducido no corresponde a ninguna clase", + "countdown1": "El módulo de gestión de clases está actualmente en versión beta. Si desea probarlo, contacte con el equipo de Vittascience.", + "countdown2": "Salida oficial en", + "hello1": " Hola!'", + "hello2": " ¡Hola !", + "title": "Gestione sus clases con Vittascience", + "neutralTitle": "OpenSTEAM LMS", + "cabriTitle": " Cabri.com", + "subtitle": "Descubrir-Aprender-Compartir", + "cabriSubtitle": " The platform to succeed in math and science", + "login": "Conectarse", + "activities": "Cree fácilmente
sus actividades", + "cabriActivities": " Create exercises
automatically in
a few minutes", + "attribute": "asígneselos a sus estudiantes", + "cabriProgress": " Follow the progress
of your learners", + "visualize": "visualice
sus resultados", + "cabriRessources": " Access a
variety of activities
and share your creations", + "student": "ALUMNO", + "codeInput": "Ingrese aquí su código de clase", + "teacher": "PROFESOR", + "hasAccount": "¿Ya tiene una cuenta ?", + "gar": "Disfrute con facilidad el módulo aula usando el GAR.
La conexión al GAR todavía no está disponible, estará lista pronto.", + "signup": "INSCRIBIRSE", + "firstVisit": "¿Primera visita? Por favor, elija un nombre de usuario.", + "signin": "CONECTARSE", + "registerLink": "Cree una cuenta", + "hasReturned": "¿De regreso a ésta clase?", + "forgot": "He olvidado mi contraseña", + "error": { + "used": "Ese alias ya se ha utilizado, debe elegir otro", + "badInput": "Su alias o contraseña es errónea." + }, + "suscribe": { + "title": "suscríbase a", + "content": " El módulo de gestión de clases está disponible de forma gratuita como versión de prueba. Benefíciese de toda la funcionalidad con la suscripción Vittascience Premium. Descubra todas las ventajas y detalles de la oferta Vittascience Premium con el botón siguiente.", + "premium": " Descubra Vittascience Premium" + }, + "carousel": { + "activities": { + "title": "cree fácilmente sus actividades", + "content": " El editor de actividades facilita la creación de contenidos educativos, como textos, imágenes, vídeos, interfaces de programación de Vittascience, presentaciones de Genially y mucho más.

Explore el banco de recursos colaborativos de Vittascience, con cientos de actividades gratuitas y reutilizables. Si el autor del recurso lo permite, puedes incluso hacer cambios para adaptar el contenido a tus alumnos." + }, + "attribute": { + "title": "asignarlos a sus alumnos", + "content": "Una vez que haya creado sus actividades, puede asignarlas a sus alumnos. Se pueden asignar individualmente o a grupos enteros, por ejemplo una clase o un club de ciencias.

Los alumnos pueden iniciar sesión de forma segura utilizando un código de clase, un enlace, un código QR o un GAR, y completar las actividades que se les asignen." + }, + "visualize": { + "title": "ver sus resultados", + "content": "El panel de control le permite seguir el progreso de los alumnos a medida que avanzan por las actividades y los cursos. Encuentre el trabajo de sus alumnos en un solo clic con la posibilidad de comentar la representación.

Gracias al sistema de corrección automática de bloques y de Python, el tablero se llena directamente con los resultados de los alumnos. Identifique rápidamente a los alumnos con dificultades y ahorre un tiempo precioso para acompañarlos." + } + }, + "register": { + "title": "Inscripción", + "description": "Le agradecemos que complete los siguientes campos para crear su cuenta.", + "passwordConstraints": "Mínimo 8 caracteres", + "createButton": "Inscripción" + } + }, + "register": { + "accountConfirmationEmail": { + "emailSubject": "Activar mi cuenta", + "bodyTitle": "Activar mi cuenta", + "textBeforeLink": "Si el botón anterior no funciona, copie y pegue el siguiente enlace en su navegador:" + } + }, + "updateUserInfos": { + "emailUpdateConfirmation": { + "emailSubject": "Confirmar mi nuevo correo.", + "bodyTitle": "Confirmar mi nueva dirección electrónica", + "textBeforeLink": "Si el botón anterior no funciona, copie y pegue el siguiente enlace en su navegador:" + } + }, + "successPanel": "¡Bien hecho, lo has conseguido!", + "failPanel": "La respuesta no es correcta", + "toCorrectPanel": "La actividad ha sido enviada a tu profesor,
que se pondrá en contacto contigo ¡en breve! ", + "bank": { + "helpTooltip": "El banco de recursos contiene muchas actividades que puedes practicar por tu cuenta. Tu profesor no tendrá acceso a los resultados de estas actividades." + }, + "help": { + "student": { + "label": "Contacta a tu profesor", + "question": "Haz tus preguntas...", + "title": "Objeto" + }, + "teacher": { + "label": "Contacta a tu profesor" + } + }, + "profil": { + "identity": "Nombre Apellido", + "class": "CLASE : ", + "todo": "Actividades
para hacer", + "done": "Actividades
realizadas", + "create": "Actividades
creadas", + "correctionToDo": "Correcciones
a hacer", + "switchMode": "Pasar al modo alumno", + "switchModeTeacher": "Volver al modo profesor", + "accountSettings": { + "title": "Mi cuenta", + "firstname": "Nombre", + "lastname": "Apellido", + "nickname": "Alias", + "email": "Correo electrónico", + "password": "Contraseña", + "confirmPassword": "Confirmar contraseña", + "updateButton": "Actualizar" + } + }, + "notif": { + "emptyContent": "El contenido no puede estar vacío.", + "emptyTitle": "El título no puede estar vacío.", + "activityRestricted": "No se puede crear más actividades de este tipo.", + "shareProjectTeacher": "El proyecto ha sido compartido con tu profesor", + "addActivities": "Las actividades seleccionadas se han agregado a tu lista", + "addActivity": "La actividad ha sido agregada a tu lista", + "saveProject": "¿Haz pensado guardar tu actividad?", + "savedProject": "El cuaderno de tu actividad ha sido guardado.", + "deleteProject": "El proyecto ha sido eliminado", + "shareProject": "El proyecto ha sido compartido", + "corrections": "Un ejercicio ha sido devuelto a sus clases", + "deleteAccount": "¿Está seguro de querer suprimir la cuenta del alumno?", + "accountIsDelete": "La cuenta del alumno ha sido suprimida", + "newPwd": "La nueva contraseña del alumno {{pseudo}} es {{pwd}}", + "classCreatedButNotUsers": "La clase {{classroomName}} ha sido creada correctamente, pero no las cuentas asociadas (Tu cuenta no te permite tener {{learnerNumber}} alumnos)", + "classUpdatedButNotUsers": "La clase {{classroomName}} ha sido actualizada, pero no las cuentas asociadas (Su cuenta no le permite tener {{learnerNumber}} alumnos)", + "usersNotAdded": "El alumno no ha podido ser agregado (Tu cuenta no te permite tener {{learnerNumber}} alumnos)", + "cantLoginLimitLearners": "No puedes unirte a la clase. Tu profesor ha alcanzado su número máximo de alumnos", + "cantLoginClassroomBlocked": "No puedes unirte a la clase, tu profesor ha bloqueado el acceso.", + "classNotCreated": "No puede tener más de una clase.", + "attributeActivityUndone": "La asignación de la actividad ha sido anulada", + "pseudoUpdated": "El nuevo alias del alumno es {{newPseudo}}", + "classroomDeleted": "La clase {{classroomName}} ha sido eliminada", + "classroomCreated": "La clase {{classroomName}} ha sido creada, así como todas las cuentas asociadas", + "classroomUpdated": "La clase {{classroomName}} ha sido actualizada, así como todas las cuentas asociadas", + "usersAdded": "Las cuentas han sido creadas", + "usersAddedFromCsv": "Las cuentas han sido creadas por medio del archivo csv", + "activityDeleted": "La actividad {{activityName}} ha sido suprimida", + "mustAttributeToStudent": "Debes seleccionar a los alumnos", + "activityAttributed": "La actividad {{activityTitle}} ha sido asignada a los alumnos inscriptos", + "activityAttributionChanged": "La asignación de la actividad {{activityTitle}} se ha modificado para los alumnos inscriptos", + "activityCreated": "La actividad {{activityTitle}} ha sido creada", + "activityChanged": "La actividad {{activityTitle}} ha sido modificada", + "activityTitleMissing": "Debes ingresar el título de la actividad", + "activityPlayerMissing": " Debe introducir una URL de jugador.", + "CsvFileMissing": "No has elegido el archivo csv", + "errorWithCsv": "Error al abrir el archivo csv : {{error}}", + "cantGetPassword": "Error, no puede ver su contraseña", + "cantResetPassword": "Error, no puede reiniciar su contraseña", + "accountUpdated": "Su cuenta ha sido actualizada", + "emailUpdated": "Vaya al enlace de confirmación que se le acaba de enviar a la nueva dirección de correo electrónico para finalizar la actualización", + "firstNameTooShort": "El nombre debe contener al menos 2 caracteres", + "lastNameTooShort": "El apellido debe contener al menos 2 caracteres", + "pseudoTooShort": "El alias debe contener al menos 2 caracteres", + "invalidEmail": "La dirección electrónica dada no es válida", + "invalidPassword": "La contraseña dada no es válida. Debe contener al menos 8 caracteres.", + "passwordAndConfirmMismatch": "¡La contraseña y su confirmación no son idénticas!", + "unknownUser": "Error de actualización de la cuenta: ¡El usuario no existe!", + "passwordInvalid": "La contraseña no respeta las restricciones de seguridad", + "emailInvalid": "La dirección de correo enviada no es válida", + "emailExists": "La dirección de correo ya ha sido atribuida a otra cuenta", + "UserNotExists": "Error al cargar / reiniciar la contraseña: ¡Usuario incorrecto!", + "RegularUserNotAllowed": "Error al cargar / reiniciar la contraseña: sólo los alumnos pueden etiquetar / reiniciar su propia contraseña", + "PasswordLengthInvalid": "Es imposible recuperar la contraseña: ¡Contraseña errónea!", + "accountCreated": "La cuenta ha sido creada. Vaya al enlace de confirmación que se le acaba de enviar por correo electrónico para finalizar el registro y poder conectarse.", + "firstnameMissing": "Debe introducir su nombre", + "surnameMissing": "Debe introducir su apellido", + "pseudoMissing": "Debe introducir su alias", + "emailMissing": "Debe introducir su correo electrónico", + "passwordMissing": "Debe introducir su contraseña", + "passwordConfirmMissing": "Debe confirmar su contraseña", + "passwordsMismatch": "La contraseñas y la confirmación no coinciden", + "invalidUserId": "Error al enviar el mensaje: su identificación no es válida", + "helpRequestFromTeacherSent": "Su mensaje ha sido enviado con éxito. Le responderemos lo más rápido posible.", + "subjectMissingTeacherHelpForm": "Debe ingresar el asunto del mensaje", + "messageMissingTeacherHelpForm": "Debe ingresar su mensaje", + "invalidUserIdTeacherHelpForm": "Error al enviar su mensaje: su identificación no es válida", + "unknownUserTeacherHelpForm": "Error al enviar su mensaje: su identificación no corresponde a ninguna cuenta de profesor", + "helpRequestFromLearnerSent": "Tu mensaje se ha enviado correctamente a tu profesor", + "subjectMissingLearnerHelpForm": "Debes ingresar el asunto del mensaje", + "messageMissingLearnerHelpForm": "Debes ingresar tu mensaje", + "invalidUserIdLearnerHelpForm": "Error al enviar el mensaje: tu identificación no es válida", + "unknownUserLearnerHelpForm": "Error al enviar el mensaje: tu identificación es desconocida", + "unknownEmailLearnerHelpForm": "Error al enviar el mensaje: el correo electrónico de tu profesor es desconocido", + "activityTitleInvalid": "La actividad no pudo ser creada: título no válido", + "activityContentInvalid": "La actividad no pudo ser creada: contenido no válido", + "activityIsFromClassroomInvalid": "La actividad no pudo ser creada: error de contexto", + "activityUserIdInvalid": "La actividad no pudo ser creada: usuario no válido", + "personalLimitationsReached": "Alcanzó el número máximo de alumnos.", + "groupLimitationsGroup": "Su grupo ya no puede acoger a nuevos alumnos.", + "groupLimitationsTeacher": "Ha llegado al límite de alumnos que permite tu grupo.", + "bothLimitationsReached": "Ha llegado a las limitaciones de alumnos que tú y tu grupo podéis tener.", + "ClassroomNameInvalid": "El nombre de la clase es necesario.", + "reservedNickname": "El nombre: \"{{reservedNickname}}\" no puede ser asignado.", + "invalidLink": "El enlace que ha introducido no es válido.", + "noUser": "Tiene que rellenar un estudiante.", + "noUserUsername": "Debe introducir un nombre de usuario.", + "pseudoMissingInCsvFile": "Algunos estudiantes no pudieron ser añadidos porque faltaba algunos alias.", + "backendReplyPseudoMissingInCsv": "Compruebe el archivo CSV: línea vacía o falta el apodo.", + "backendReplyPseudoMissingInUsersArray": "Hay un error en uno o varios nombre(s) de alumno(s).", + "invalidActivityId": "Error al enviar el trabajo: ¡identificación de actividad no válida!", + "invalidCorrection": "Error al enviar el trabajo: ¡estado de la actividad no válido!", + "generalBackendError": " Se ha producido un error, inténtelo de nuevo más tarde.", + "currentPasswordDoesNotMatch": "La contraseña dada no es válida.", + "noAnswerInActivity": " Debe rellenar al menos un campo de respuesta", + "courseMissingData": " You must enter a title and a description", + "courseMissingParameters": " You must set the parameters for the course" + }, + "ids": { + "classroom-dashboard-help-panel-teacher": "Ayuda", + "classroom-dashboard-activities-panel-teacher": "Mis actividades", + "classroom-dashboard-classes-panel-teacher": "Mis clases", + "classroom-dashboard-sandbox-panel": "Cajón de arena", + "classroom-dashboard-profil-panel-teacher": "Perfil", + "classroom-dashboard-activities-panel": "Mis actividades", + "classroom-dashboard-profil-panel": "Perfil", + "classroom-dashboard-help-panel": "Ayuda", + "classroom-dashboard-activities-panel-library-teacher": "Banco de recursos", + "classroom-dashboard-new-activity-panel": "Creación de la actividad", + "classroom-dashboard-new-activity-panel2": "Intermediario", + "classroom-dashboard-new-activity-panel3": "Asignación", + "classroom-table-panel-teacher": "Clase", + "classroom-dashboard-sandbox-creation": "Selección de la interfaz", + "classroom-dashboard-ide-panel": "Caja de arena {{interface}}", + "classroom-dashboard-activity-panel": "Actividad {{name}}" + }, + "displayCode": "Proyección del código", + "navbar": { + "activities": "Actividades" + }, + "classes": { + "add": "Agregar una clase", + "noClasses": "Todavía no tiene una clase.", + "createClassNow": "Empiece por crear una clase ahora.", + "form": { + "title": "Crear una clase", + "updateTitle": "Modificar una clase", + "name": "Nombre de la clase", + "school": "Nombre de la institución", + "addStudent": "Agregar un alumno", + "noStudent": "Aún no hay alumnos en esta clase", + "isBlockedButton": "Límitado a estos alumnos, nadie más podrá unirse a la clase", + "save": "Grabar la clase", + "return": "Regresar a la clase" + }, + "panel": { + "seeActivity": "Ver la actividad", + "editActivity": "Modificar la actividad", + "editAttribution": "Modifier la asignación", + "removeAttribution": "Eliminar la asignación", + "password": "Su contraseña :", + "resetPassword": "Regenerar la contraseña", + "editNickname": "Modificar el seudónimo", + "delete": "Eliminar", + "copyLink": "Copiar el link directo", + "learnerMode": "Modo alumno", + "dueBy": "A entregar por" + } + }, + "activities": { + "title": "Actividades", + "save": "Guardar el cuaderno", + "add": "Añadir una actividad", + "addCabriExpress": " Crear actividad Express", + "addCabriGenius": " Crear una actividad inteligente", + "addOther": " Otro tipo de actividad", + "new": "Nuevos", + "current": "En espera de corrección", + "waiting": "Sin realizar aún", + "done": "Terminados", + "todo": "Para corregir", + "anonymise": "Proteja la lista de sus alumnos con otros nombres para que pueda mostrar el panel a sus alumnos", + "save-draft": "Guardar como borrador", + "validate": "Validar la actividad", + "accept": "Alta competencia", + "vgood": "Competencia satisfactoria", + "good": "Competencia frágil", + "refuse": "Competencia insuficiente", + "instruction": "Consigna", + "commentary": "Comentario", + "sendResults": "Enviar el comentario al alumno", + "noSend": "Ésta actividad no ha sido retroalimentada", + "comments": "Ingrese sus observaciones", + "activitySubmited2": " Activity submitted on", + "sentOn": "Esta actividad fue devuelta el", + "activityOfUser": "Actividad de ", + "userSentOn": "Devuelta el", + "yourAnswer": "Su respuesta", + "studentAnswer": "Respuesta del alumno", + "return": "Volver a las actividades", + "isAutocorrected": "Este ejercicio fue evaluado automáticamente, puede cambiar la nota a continuación.", + "isAutocorrect": "Esta actividad será evaluada automáticamente.", + "bilan": { + "title": "Balance", + "results": "Resultados", + "noComment": "Sin comentario" + }, + "applist": { + "selectApp": "Seleccione la aplicación con la que desea crear una actividad" + }, + "form": { + "1": "Creación de la actividad", + "2": "Contenido", + "3": "Título", + "4": "Asignación", + "title": { + "label": "Título de la actividad", + "labelCabri": " ¿Cuál es el título de la actividad?", + "placeholder": "Titulo del tema", + "placeholderCabri": " Título de la actividad" + }, + "iframe": { + "label": " ¿Cuál es la URL de acceso?", + "placeholder": " Introduzca una URL" + }, + "notebookUpdateMessage": " No edite esta sección si quiere conservar el antiguo libro de actividades.", + "notebookUrl": { + "label": " Añadir la URL de un cuaderno", + "placeholder": " URL del cuaderno" + }, + "playerUrl": { + "label": " Añadir una URL de jugador", + "placeholder": " URL del jugador" + }, + "player": { + "labelFileChooser": " Elija un archivo", + "fileUpload": " El archivo se ha cargado con éxito", + "dragDrop": " Arrastrar y soltar" + }, + "nextButton": " Siguiente", + "endButton": " Acabado", + "content": { + "label": "Contenido de la actividad" + }, + "back": "Volver", + "validate": "Validar", + "buttonContinue": "Guardar y continuar", + "button": "Guardar y validar", + "success": "¡Bravo, ha creado una actividad!", + "attribute": "Asignar ahora la actividad", + "attribute2": "Asignar la actividad", + "return": "Regresar a Mis actividades", + "hint": "Siempre puede asignar más tarde ésta actividad desde el tablero", + "modify": "Modificar la actividad", + "select1": "Seleccionar los alumnos", + "select2": "seleccionados", + "instructions": "Consigna específica para éstos alumnos.", + "autocorrect": "Ésta actividad posee corrección automática ¿Desea activarla?", + "nature": "¿El alumno puede enviar la actividad varias veces?", + "dateBegin": "Fecha de inicio", + "dateEnd": "Fecha de término:", + "retroAttribution": "Esta actividad se asignará a los nuevos alumnos" + }, + "toCopy": "Este código facilita unirse a su clase", + "copyLink": "El enlace a su clase se ha agregado al portapapeles", + "dateBefore": "Para ser devuelto antes de", + "dateBeforeAvailable": " Disponible hasta", + "integrate": "Integrar dentro de una actividad", + "veryGoodProficiency": "Alta competencia", + "goodProficiency": "Competencia satisfactoria", + "weakProficiency": "Competencia frágil", + "insufficientProficiency": "Competencia insuficiente", + "addLearner": "Agregar un alumno", + "addLearners": " Add learners", + "addActivity": " Add an activity", + "exportCsv": "Exportar csv", + "players": { + "STANDARD": { + "title": " Estándar", + "description": " Con el lector estándar, puede leer en línea todos los libros de actividades producidos con la herramienta de autoría Cabri." + }, + "IMUSCICA": { + "title": " iMuSciCA", + "description": " Con el reproductor iMuSciCA, todas las actividades realizadas con la herramienta de autoría Cabri pueden reproducirse en el estudio musical." + }, + "IFRAME": { + "title": " Otros", + "description": " Elija entre una selección de lectores para utilizar las actividades realizadas con la herramienta de autoría Cabri." + }, + "EXPRESS": { + "title": " Express", + "description": " Crear una actividad utilizando herramientas de geometría dinámica y álgebra, calculadora científica y gráfica, etc." + }, + "GENIUS": { + "title": " Inteligente", + "description": " Cree una actividad con las herramientas Express y añada una evaluación automática." + }, + "IFRAME-CABRI3D": { + "title": " Cabri 3D", + "description": " Cree una exploración geométrica dinámica en el espacio." + }, + "LTI-BLOCKLY": { + "title": " Cabri Blockly", + "description": " ¡Añada acciones del usuario a una actividad Cabri, como animaciones, cierres, etc., programadas visualmente del mismo modo que con Scratch o Snap!" + } + }, + "tabs": { + "players": " Libro de actividades", + "iframes": " Vídeo y página web" + }, + "iframes": { + "IFRAME-VIDEO": { + "title": " Vídeo", + "description": " Introduzca la URL de un vídeo publicado en una plataforma de alojamiento." + }, + "IFRAME-PAGE": { + "title": " Página web", + "description": " Introduzca la URL de la página web." + } + }, + "month": { + "1": " Enero", + "2": " Febrero", + "3": " Marzo", + "4": " Abril", + "5": " Mayo", + "6": " Junio", + "7": " Julio", + "8": " Agosto", + "9": " Septiembre", + "10": " Octubre", + "11": " Noviembre", + "12": " Diciembre" + }, + "preview": "Vista previa", + "previewTeacherResult": "El alumno habría recibido la siguiente nota: ", + "studentResult" : "Resultado obtenido:", + "deleteActivityDisclaimer": " Está a punto de eliminar una actividad. Esta acción es irreversible.", + "deleteConfirm": " Confirmar la supresión de la actividad", + "deleteActivity": " Eliminar la actividad", + "correctAnswer": " Respuesta correcta", + "nbActivities": " {{ nbActi }} Actividades

", + "moveToFolder": " Mover a", + "rootFolder": " Carpeta raíz", + "seekFolder": " Ir a la carpeta", + "foldersMessages": { + "errorDelete": " Se ha producido un error al borrar la carpeta", + "errorCreate": " Se ha producido un error al crear el archivo", + "errorLenght": " El nombre de la carpeta debe tener entre 1 y 30 caracteres", + "errorUpdate": " Se ha producido un error al editar el archivo", + "errorMoveTo": " Se ha producido un error al mover el objeto", + "movedTo": " Objeto trasladado con éxito", + "created": " Archivo creado con éxito", + "updated": " Archivo modificado con éxito", + "deleted": " Archivo eliminado con éxito", + "createFolder": " Crear una carpeta", + "deleteFolder": " Confirmar la eliminación del archivo", + "updateFolder": " Modificar el archivo", + "nameMandatory": " Nombre de la carpeta *", + "deleteDisclaimer": " Atención, la carpeta y todo su contenido (actividades y subcarpetas) se eliminará" + }, + "facultative": " Campos opcionales", + "previewActivity": " Vista previa de la actividad", + "infoRetroAttribution": " Esta actividad se asignará a los nuevos alumnos cuando se incorporen a su clase.", + "infoAutocorrect": " Esta actividad tiene corrección automática", + "infoEvaluation": " En el modo de evaluación, los alumnos sólo pueden enviar la actividad una vez y no tienen acceso a las pistas y avisos." + }, + "filter": { + "desc": "Del menos al más reciente", + "asc": "Del más al menos reciente", + "cabriExpress": " Actividades exprés", + "cabriGenius": " Actividades inteligentes", + "cabriVittascience": " Actividades de Vittascience", + "iframe": " Otras actividades", + "placeholder": "Buscar..." + }, + "sandbox": { + "mine": "Mis proyectos", + "shared": "Proyectos compartidos", + "add": "Crear un programa", + "chooseInterface": "Seleccionar una interfaz en la cual desea crear un programa: ", + "teacherSharedDescription": "Encuentre aquí los programas compartidos por sus alumnos", + "studentSharedDescription": "Encuentra aquí los programas compartidos por tu profesor" + }, + "footer": { + "privacy": "Política de privacidad", + "cgu": "Condiciones
generales de uso", + "copyright": "copyright" + }, + "teacherHelpPanel": { + "contactForm": { + "title": "Contáctenos", + "objectPlaceholder": "Objeto", + "messagePlaceholder": "Escriba su mensaje aquí. (Máximo de 800 caracteres)", + "sendButton": "Enviar el mensaje", + "fillInAllTheFields": "Complete todos los campos" + } + }, + "sandBoxCreationPanel": { + "title": "Seleccione la interfaz en la que desea crear un programa", + "knowMoreButton": "Más información sobre las interfaces", + "interfacesDescription": { + "arduino": "Interfaz de programación para la tarjeta Arduino", + "microbit": "Interfaz de programación para la tarjeta micro:bit", + "python": "Interfaz de programación para Python 3 diseñada para la educación", + "texas-instruments": "Interfaz de programación para la calculadora con la tarjeta micro:bit", + "esp32": "Interfaz de programación para tarjetas ESP32 (Wemos D1R32, NodeMCU, Huzzah32, ...)", + "quickpi": "Interfaz de programación para la tarjeta Quick-Pi" + } + }, + "modals": { + "addLtiActivityName": " ¿Cuál es el título de la actividad?", + "addActivity": { + "title": "Agregar una actividad", + "resourceBank": { + "title": "Navegar en la banca de recursos colaborativos", + "button": "Banca de recursos" + }, + "orSeparator": "O", + "attributeActivity": { + "title": "Consultar mis actividades existentes", + "button": "Mis actividades" + }, + "createActivity": { + "title": "Crear una nueva actividad", + "button": "Crear una actividad" + }, + "next": " Siguiente", + "limitTitle": " Límite superado", + "limitDescription": " Límite del número de actividades alcanzadas para esta cuenta.", + "upgradePlan": " Aumentar el límite" + }, + "updateActivity": { + "title": " Modificar una actividad" + }, + "deleteActivity": { + "title": " Borrar una actividad", + "description": " ¿Estás seguro de que quieres eliminar la actividad?", + "confirm": " Confirmar", + "cancel": " Cancelar" + }, + "settingsTeacher": { + "title": "Parámetros de la cuenta", + "lang": "Idioma", + "description": "Para cambiar su contraseña u otros parámetros de su cuenta", + "accessButton": "Acceder a su perfil", + "password": "Contraseña", + "passwordDescription": "He aquí tu contraseña. Recuerda memorizarla, de lo contrario sólo tu profesor puede devolvértela.", + "resetPassword": "Reiniciar" + }, + "addStudent": { + "title": "Agregar estudiantes", + "pseudo": "Seudónimo", + "addStudentButton": "Agregar alumno", + "addStudentByCsvButton": "Agregar un archivo de alumnos (.csv)" + }, + "addStudentByCsv": { + "title": "Agregar estudiantes con un archivo .csv", + "description": "Puede agregar uno o más alumnos a la vez importándolos desde un archivo .csv. Opcionalmente es posible definir la contraseña para cada uno de ellos. Aquí están los archivos modelo .csv :", + "csvTemplate": "archivo modelo con contraseña", + "csvTemplateNoPassword": "archivo modelo sin contraseña", + "importStudentByCsvButton": "Importar alumnos" + }, + "exportCsv": { + "title": "Exportar en formato csv", + "exportLearnersDescription": "Descargar la lista de alumnos para ésta clase así como las contraseñas. El archivo descargado está en formato .csv.", + "exportLearners": "Descargar la lista de alumnos", + "exportDashboardDescription": "Descarga la lista de alumnos de esta clase así como, para cada uno de ellos, sus actividades asignadas y el estatus de cada actividad (aún no realizada, por corregir, finalizada). El archivo descargado está en formato .csv", + "exportDashboard": "Descarga el tablero de control" + }, + "listClass": { + "title": "Cambiar a modo alumno", + "description": "Puede probar fácilmente la interfaz como alumno y volver a su perfil de profesor en cualquier momento. El progreso como alumno se guardará en la cuenta de demostudent.\n\n", + "switchButton": "Cambiar a modo alumno" + }, + "changePseudo": { + "title": "Modificar el alias", + "description": "Modificar el seudónimo", + "validateButton": "Validar" + }, + "attributeActivity": { + "title": "Asignar la actividad" + }, + "shareProject": { + "title": "Compartir el proyecto" + } + } + }, + "login_popup": { + "title": "Login", + "details": "Ingrese sus datos de identificción para acceder a su cuenta", + "form": { + "addressmail": "Dirección de correo", + "addressmail_placeholder": "ejemplo@dominio.com", + "password": "Contraseña", + "password_placeholder": "Su contraseña", + "forgot_password": "He olvidado mi contraseña", + "btn_connect": "Conectarse" + }, + "success": "Identidad confirmada. Redirigiendo...", + "error": "Error. Verifique sus datos de inicio", + "mailSuccess": "Se ha enviado un correo electrónico de activación a su dirección de correo electrónico.", + "mailError": "Se ha producido un error. Por favor, compruebe su dirección de correo electrónico.", + "userNotFound": "No se han encontrado usuario con este nombre de usuario.", + "inactiveAccount": "Su cuenta aún no está activa, haga clic en el botón de abajo para enviar el correo electrónico de validación.", + "accountDeactivated": "Su cuenta ha sido desactivada, contacte con un administrador si el problema persiste.", + "errorBeta": "Debe ser un verificador beta para acceder a esta función. Póngase en contacto con el equipo de Vittascience para obtener más información" + }, + "signup-popup": { + "title": "Inscripción", + "notice": "Complete los siguientes campos para crear su cuenta Vittascience", + "firstName": "Nombre", + "lastName": "Apellido", + "mail": "Dirección de correo", + "telephone": "Teléfono", + "password": "Contraseña", + "passwordConfirmed": "Confirmación", + "firstNamePlaceholder": "Su nombre.", + "lastNamePlaceholder": "Su apellido.", + "mailPlaceholder": "Le será enviado un mail de confirmación.", + "telephonePlaceholder": "Su número de teléfono (optativo).", + "passwordPlaceholder": "Mínimo 8 caracteres. Mayúsculas, minúsculas y cifras.", + "passwordConfirmedPlaceholder": "Repetir su contraseña una segunda vez.", + "mandatory": "Los campos marcados por un * son obligatorios.", + "submit": "Confirmar", + "back": "Regresar", + "title2nd": "Gracias por brindarnos información adicional", + "areYou": "¿Es usted?", + "member": "¿Un particular?", + "teacher": "¿Un profesor?", + "teacher-grade": "Nivel de formación", + "grades": { + "primary": "Primaria", + "middle": "Escuela intermedia", + "high": "Secundaria", + "highbis": "Secundaria Profesional", + "higher": "Post-bachillerato" + }, + "establishement": "Establecimiento", + "establishementPlaceholder": "Busque por nombre de establecimiento o ciudad.", + "subject": "Asignatura enseñada", + "bio": "Mini-bio", + "bioPlaceholder": "Cuéntenos un poco de usted, los otros usuarios del sitio podrán conocer un poco más sobre su trayectoria :) Máximo 800 caracteres.", + "profilPicture": "Foto de perfil (optativo)", + "allowPictures": "Formatos aceptados: jpeg, jpg, png. Max. 10Mb", + "allowPublicName": "¿Acepta que su apellido y nombre sea publicado en este sitio?", + "allowNewsletter": "¿Le gustaría recibir nuestro boletín de noticias por correo electrónico?", + "allowAlertMessage": "¿Le gustaría recibir alertas en su correo electrónico cuando reciba nuevos mensajes en el sitio?", + "allowMessageReceive": "¿Les gustaría ser contactado por los otros usuarios del sitio? ", + "eighteenConfirm": "Confirmo tener más de 18 años (artículo 1124 del código civil)", + "confirmCGU": "Al validar este formulario, acepta las condiciones generales de uso", + "concernedAboutPrivacy": "Vittascience coloca la seguridad y confidencialidad de los datos personales de sus usuarios en el centro de sus preocupaciones. Descubranuestra política de protección de los datos personales", + "errors": { + "mailUsed": "El correo {{ mail }} ya fue utilizado. Por favor elija otro.", + "mailUsedServer": "La dirección de correo electrónico dada ya existe.", + "lastName": "El apellido dado es incorrecto.", + "firstName": "El nombre dado es incorrecto.", + "mailInvalid": "La dirección de correo electrónico es inválida.", + "passwordInvalid": "La contraseña no respeta las exigencias de seguridad.", + "biographyInvalid": "La biografía es incorrecta.", + "telephoneInvalid": "El número telefónico es incorrecto.", + "profilPictureInvalid": "La foto de perfil proporcionada no cumple con el formato indicado.", + "establishementIncorrect": "El nombre del establecimiento es incorrecto.", + "gradeIncorrect": "El nivel de enseñanza es incorrecto.", + "subjectIncorrect": "El nombre de la asignatura enseñada es incorrecto." + }, + "success": { + "main": "¡Su inscripción ha sido registrada con éxito! Se le ha enviado un enlace de conformación a la dirección {{ mail }}", + "notice": "Debe acceder a este enlace antes de poder conectarse. Si no encuentra el correo en cuestión, verifique en su carpeta de correo no deseado." + } + }, + "switchAccessibility": { + "title": "Accesibilidad", + "theme": "Tema", + "light_theme": "Tema claro", + "dark_theme": "Tema oscuro", + "font": "Policía", + "basic_font": "Básico", + "know_more": "Más información" + }, + "words": { + "send": "enviar", + "settings": "parámetros", + "disconnect": "desconexión", + "help": "ayuda", + "duplicate": "duplicar", + "delete": "eliminar", + "attribute": "asignar", + "modify": "modificar", + "optional": "opcional", + "evaluation": "evaluación", + "exercise": "ejercicio", + "return": "regresar", + "anonymize": "dar anonimato", + "days": "días", + "hours": "horas", + "minutes": "minutos", + "seconds": "segundos", + "confirm": "confirmar", + "username": "alias", + "password": "contraseña", + "yes": "Si", + "no": "No" + }, + "faqTeacherNeutral": { + "1": { + "section_title": "Actividades", + "question_list": { + "1": { + "title": "¿Para qué sirve la pestaña Mis actividades?", + "answer": "En la pestaña Mis actividades, Usted podrá :
  1. Crear sus propias actividades.
  2. Y entonces ¡asignarlos a sus alumnos!
" + }, + "2": { + "title": "¿Que es una actividad?", + "answer": "Una actividad es un contenido interactivo creado a partir de Cabri Express, Cabri Smart o un cuaderno Cabri ya existente." + }, + "3": { + "title": "¿Cómo crear o modificar una actividad?", + "answer": "

Usted puede crear fácilmente o modificar las actividades. \n

Para modificar una actividad, vaya a la pestaña Mis actividades y haga clic en el ícono de su actividad y haga clic en Modificar. No olvide guardar sus modificaciones.

" + }, + "4": { + "title": "¿Cómo asignar una actividad?", + "answer": "Para asignar una actividad, cuenta con tres opciones::
  1. Vaya a la pestaña Mis actividades y haga clic en el icono de su actividad y luego haga clic en Asignar. Enseguida, sólo siga los pasos.
  2. Esta opción de Asignar también está disponible en la propia actividad una vez abierta.
  3. De lo contrario, vaya a la pestaña Mis clases y haga clic en una clase. Una vez en el panel de control del aula, todo lo que tiene que hacer es hacer clic en el botón \"Agregar una actividad\".
abierta." + }, + "5": { + "title": "¿Cómo probar una actividad?", + "answer": "Para probar una actividad, tiene dos opciones:
  1. Vaya a Perfil y haga clic en el botón \"Cambiar al modo de alumno\" y luego seleccione la clase en la que se desea colocar. Termina en la cuenta ficticia de un alumno llamado \"demostudent\", donde puede descubrir la interfaz \"Alumno\" y llevar a cabo las actividades que ha asignado.
  2. Vaya a Mis clases en el panel de control de la clase, luego podrá ponerse en el papel del alumno demostudent. Para hacer esto, haga clic en el ícono , tendrá la oportunidad de convertirse en un alumno de la clase y probar las actividades.
Para volver al modo \"Profesor\", simplemente vaya a la pestaña Perfil de la cuenta de demostudent y haga clic en \"Volver al modo profesor\"." + }, + "6": { + "title": "¿Como eliminar la asignación de una actividad sin eliminar la actividad?", + "answer": "Para suprimir la asignación de una actividad, ir a la pestaña Clase, abrir el panel de control de una clase, después haga un clic en la actividad(el icono se convierte en cuando se pasa por debajo) después sobre Modificar la asignación. Solo tiene que cambiar la configuración, seleccionar o anular la selección de los alumnos." + } + } + }, + "2": { + "section_title": "Clase", + "question_list": { + "1": { + "title": "¿Para qué sirve la pestaña Mis clases?", + "answer": "En la pestaña Mis clases, va a poder:
  1. Crear sus propias clases y agregar alumnos
  2. Corregir las respuestas de las actividades de sus alumnos,
  3. y seguir su progreso.
" + }, + "2": { + "title": "¿Cómo agregar mis alumnos a mi clase?", + "answer": "Tiene varias opciones:
  1. En clase, puedeproyectar el código en el tablero.Para hacer esto, vaya a su clase y haga clic sobre el botón para ampliar el código de aquí debajo:
    Sus alumnos solo tendrán que registrarse o conectarse al sitio ingresando el código. Igualmente ellos podrán anotar este código para conectarse desde sus casas.
  2. También puede crear alumnos con el botón\" Agregar un alumno\" y luegocomunicarle su contraseña individualmente , esto es visible en el Panel de control de la clase a continuación :
" + }, + "3": { + "title": "¿Un alumno puede encontrarse en dos clases diferentes?", + "answer": "No, esto no es posible actualmente." + }, + "4": { + "title": "¿Como impedir la llegada de otros alumnos en una clase?", + "answer": "¡Esta opción estará disponible pronto! En especial evitará que los alumnos se inscriban varias veces en una misma clase por error, e igualmente evitará que personas externas entren en la clase sin autorización." + }, + "5": { + "title": "¿Cómo asignar una actividad?", + "answer": "

Usted podrá atribuir una actividad a toda la clase que haya creado o solamente a un alumno en particular.

Para asignar una actividad, usted tiene tres opciones :

  1. O bien, va a la pestaña Mis actividades y hace clic en el icono de su actividad y después hace clic en Asignar. Luego, solo debe seguir los pasos.
  2. Esta opción de Asignar también está disponible en la propia actividad una vez abierta.
  3. De lo contrario, va a la pestaña Mis clases y hace clic en una clase. Una vez en el panel de control del aula, todo lo que tiene que hacer es hacer clic en el botón \"Agregar una actividad\".
" + }, + "6": { + "title": "¿Se puede volver sobre la asignación de una actividad?", + "answer": "Para volver sobre la asignación de una actividad, vaya a la pestaña Clase, abra el panel de control de una clase, después haga un clic sobre la actividad (el ícono se convierte cuando pasa sobre él) después sobre Modificar la asignación. Solo tiene que cambiar la configuración, seleccionar o anular la selección de los alumnos." + }, + "7": { + "title": "¿Cómo se hace la evaluación de las actividades?", + "answer": "Las evaluaciones son:
  • manualmente en 4 niveles: Muy buen dominio; Aprendizaje suficiente; Aprendizaje débil y Aprendizaje insuficiente
  • Automático en 2 niveles: Aprendizaje muy bueno y Aprendizaje bajo.
    Este tipo de evaluación permite al alumno obtener su corrección de inmediato y que el maestro se beneficie de un ahorro significativo de tiempo.

Una vez que el alumno ha terminado su actividad, puede comenzar de nuevo si el profesor ha seleccionado el modo \"Ejercicio\" en la asignación. En el modo \"Evaluación\", el alumno no puede comenzar de nuevo una vez que la actividad ha sido validada.

Para ver los resultados, simplemente vaya al Panel de control de la clase.

Se simboliza una actividad no corregida con un lápiz en el Tablero de control. Para corregirla, haga clic en el lápiz, luego solo tiene que evaluar y comentar el trabajo del alumno.

" + }, + "8": { + "title": "¿Cómo se sabe cuándo los estudiantes han terminado sus actividades?", + "answer": "Cunado un estudiante haya terminado su actividad, usted recibirá unna notificación por correo electrónico.
Este parámetro será ajustable en el futuro, por el momento no es configurable." + }, + "9": { + "title": "¿Cómo modificar el nombre de una clase?", + "answer": "Para cambiar el nombre ded una clase, hace falta hacer un clic sobre el ícono desde la pestaña Mis clases, luego en modificar. No tendrá más que cambiar el nombre." + }, + "10": { + "title": "¿Cómo suprimir un alumno de una clase?", + "answer": "

Para suprimir un alumno, es suficiente hacer un clic sobre el ícono junto al nombre del alumno en el Tablero de control de la clase.

Atención, esta acción es irreversible y cierra la cuenta del alumno.

" + }, + "11": { + "title": "¿Para que sirve el botón anonimizar en el Tablero de control?", + "answer": "Este botón reemplaza el nombre de los estudiantes por números. Esto permite que los resultados de los alumnos se proyecten en el tablero anónimamente para no estigmatizar a ciertos alumnos." + } + } + }, + "3": { + "section_title": "Perfil", + "question_list": { + "1": { + "title": "¿Para qué sirve la pestaña Perfil?", + "answer": "En la pestaña Perfil, podrá :
  1. Administrar la configuración de su cuenta ,
  2. Ver sus estadísticas,
  3. e intercambiar mensajes con sus alumnos, así como con el equipo de Cabrilog si tiene necesita ayuda.
" + }, + "2": { + "title": "¿Cómo cambiar la contraseña u otras configuraciones de la cuenta?", + "answer": "Para cambiar la contraseña u otras configuraciones, vaya a la pestaña Perfil. En el caso de GAR, los parámetros son los de su ENT." + }, + "3": { + "title": "¿Cómo se cambia el idioma?", + "answer": "El módulo Clase está actualmente disponible en francés e inglés. Para cambiar el idioma, vaya a la pestaña perfil, haga un clic sobre el botón \"Configuración\", después seleccione el idioma que más le convenga." + }, + "4": { + "title": "¿Qué significa el modo alumno?", + "answer": "

En su perfil, usted puede hacer un clic sobre el botón \"Pasar al modo alumno\". Después de haber elegido una clase, se encontrará en la cuenta ficticia de un alumno llamado \"demostudent\", donde puede descubrir la interface Alumno y realizar las actividades que usted ha asignado.

Para volver al modo \"Profesor\", es suficiente ir a la pestaña Perfil de la cuenta demostudent y hacer un clic sobre \"Volver al modo profesor\".

" + } + } + }, + "4": { + "section_title": "Preguntas generales", + "question_list": { + "1": { + "title": "¿En qué soporte es compatible el módulo clase?", + "answer": "

¡Las interfaces funcionan sin instalación, en la computadora, tableta y teléfonos inteligentes! Las actualizaciones son automáticas y sus programas son guardados en la nube.

Para aprovechar al máximo las funcionalidades, le aconsejamos utilizar Chrome o Firefox.

" + }, + "2": { + "title": "¿Cómo crear un acceso directo para acceder al módulo Clase?", + "answer": "

Usted tiene posibilidades de poner un ícono sobre el escritorio de la computadora para acceder rápidamente al módulo Clase. Para hacerlo :

en Windows y en Mac:

  1. Abra la página : clase/, después reduzca el tamaño de la ventana del navegador para poder ver el escritorio al costado.
  2. En el navegador Web seleccione con el mouse el símbolo situado a la izquierda de la dirección y, sin soltar, deslice el puntero hasta Escritorio. Suelte para crear el acceso directo.
  3. El acceso está creado. Solo tiene que hace doble clic en él para abrir la página web vinculada..

.

En Android con Chrome :

  1. Abra la página: clase/, luego seleccione el botón del menú, después elija \"Agregar a la pantalla de inicio\".
  2. Nombre la página y seleccione \"Agregar\".
  3. El acceso está creado. Solo tiene que hacer doble clic sobre para abrir la página web vinculada

En Android con Firefox :

  1. Abra la página: clase/,luego seleccione el botón del menú, después elija Página.
  2. Seleccione Agregar un acceso directo a la página.
  3. El acceso directo está creado en la pantalla de inicio. Solo tiene que hacer un clic sobre él para abrir la página web vinculada.

En iOS con Safari :

  1. Abra la página : clase/, luego presione el ícono Compartir.
  2. Seleccione la pantalla de inicio, después elija Agregar
  3. El acceso directo está creado en la página de inicio. Solo tiene que hacer clic para abrir la página web vinculada.

Usted puede encontrar otros tutoriales en Internet para crear un acceso directo en la pantalla de inicio.

" + } + } + }, + "5": { + "section_title": "Problema técnico", + "question_list": { + "1": { + "title": "Tengo un error ¿Qué debo hacer?", + "answer": "Cuando comente un error lo primero que debe hacer es intentar actualizar la página. Si el error persiste, puede contactarnos en a pestaña Perfil con el botón \"Ayuda\"." + }, + "2": { + "title": "¿Cómo informo los errores y proporciono mis comentarios?", + "answer": "Si el error persiste, puede contactarnos en la pestaña perfil con el botón \"Ayuda\".
Para hacernos comentarios, igualmente puede contactarnos en la pestaña Perfil con el botón \"Ayuda\"" + } + } + }, + "6": { + "section_title": "Licencias y autorizaciones", + "question_list": { + "1": { + "title": "¿Se puede hacer una descripción o presentación del módulo Clase?", + "answer": "Sí, puede reutilizar los elementos visuales del módulo Clase para crear una descripción, presentación, capacitación, tutorial, curso u otro. Si desea incluir imágenes o contenidos de actividades, mencione al autor (ver pregunta siguiente)." + }, + "2": { + "title": "¿Dónde se puede encontrar el código fuente del módulo Clase?", + "answer": "El código fuente del módulo Clase está disponible en href=\"https://github.com/Cabri/OpenSTEAM-LMS/\" target=\"_href\">repository git OpenSTEAM-LMS.¡No dude en contribuir!" + } + } + }, + "title": "FAQ" + }, + "faqStudentNeutral": { + "1": { + "section_title": "Actividades", + "question_list": { + "1": { + "title": "¿Para qué sirve la pestaña Mis actividades?", + "answer": "En la pestaña Mis actividades, tu puedes :
  1. Realizar nuevas actividades para tus profesores.
  2. Guardar aquellas que todavía no hayas terminado.
  3. ¡Y revisar aquellas que ya hayas hecho!
" + }, + "2": { + "title": "¿Qué es una actividad?", + "answer": "Una actividad es un contenido interactivo creado a partir de Cabri Express o Cabri autor." + } + } + }, + "2": { + "section_title": "Llamar por ayuda", + "question_list": { + "1": { + "title": "¿Para qué sirve la pestaña Llamar por ayuda?", + "answer": "En la pestaña Llamar por ayuda, podrás :
  1. Pedir ayuda a tus profesores en cualquier momento,
  2. Consultar las preguntas frecuentes.
Podrás seguir el intercambio de tus mensajes en la pestaña Perfil. " + } + } + }, + "3": { + "section_title": "Perfil", + "question_list": { + "1": { + "title": "¿Para qué sirve la pestaña Perfil?", + "answer": "En la pestaña perfil, podrás:
  1. Administrar la configuración de tu cuenta,
  2. Ver tus estadísticas,
  3. e intercambiar mensajes con tus profesores.
" + }, + "2": { + "title": "¿Cómo cambio mi contraseña u otras configuraciones de mi cuenta?", + "answer": "Para cambiar la contraseña u otras configuraciones, vas a la pestaña Perfil." + }, + "3": { + "title": "¿Cómo se cambia el idioma?", + "answer": "El módulo Clase está actualmente disponible en francés e inglés. Para cambiar el idioma, vas a la pestaña perfil, haces un clic sobre el botón \"Configuración\", después selecciona el idioma que más te convenga. " + } + } + }, + "4": { + "section_title": "Preguntas generales", + "question_list": { + "1": { + "title": "¿Cómo empiezo con el módulo Clase?", + "answer": "En cualquier momento, puedes acceder a la ayuda general haciendo clic en el íconoen la parte superior derecha para comenzar con el módulo Clase." + }, + "2": { + "title": "¿En qué soporte es compatible el módulo clase?", + "answer": "

¡Las interfaces funcionan sin instalación, en la computadora, tableta y teléfonos inteligentes! Las actualizaciones son automáticas y sus programas son guardados en la nube.

Para aprovechar al máximo las funcionalidades, te aconsejamos utilizar Chrome o Firefox.

" + }, + "3": { + "title": "¿Cómo crear un acceso directo para acceder al módulo Clase?", + "answer": "

Tienes la posibilidades de poner un ícono sobre el escritorio de la computadora para acceder rápidamente al módulo Clase. Para hacerlo :

en Windows y en Mac:

  1. Abre la página : clase/, después reduce el tamaño de la ventana del navegador para poder ver el escritorio al costado.
  2. En el navegador Web selecciona con el mouse el símbolo situado a la izquierda de la dirección y, sin soltar, desliza el puntero hasta Escritorio. Suelta para crear el acceso directo.
  3. El acceso está creado. Solo tendrás que hace doble clic en él para abrir la página web vinculada..

.

En Android con Chrome :

  1. Abre la página: clase/, luego selecciona el botón del menú, después elige \"Agregar a la pantalla de inicio\".
  2. Nombra la página y selecciona \"Agregar\".
  3. El acceso está creado. Solo tendrás que hacer doble clic sobre él para abrir la página web vinculada

En Android con Firefox :

  1. Abre la página: clase/,luego selecciona el botón del menú, después elige Página.
  2. Selecciona Agregar un acceso directo a la página.
  3. El acceso directo está creado en la pantalla de inicio. Solo tendrás que hacer un clic sobre él para abrir la página web vinculada.

En iOS con Safari :

  1. Abre la página : clase/, luego presiona el ícono Compartir.
  2. Selecciona la pantalla de inicio, después elige Agregar
  3. El acceso directo está creado en la página de inicio. Solo tendrás que hacer clic para abrir la página web vinculada.

Podrás encontrar otros tutoriales en Internet para crear un acceso directo en la pantalla de inicio.

" + } + } + }, + "5": { + "section_title": "Problema técnico", + "question_list": { + "1": { + "title": "Tengo un error ¿Qué debo hacer?", + "answer": "Cuando comentes un error lo primero que debes hacer es intentar actualizar la página. Si el error persiste, puedes contactar a tu profesor en la pestaña \"Llamar por ayuda \"." + }, + "2": { + "title": "¿Cómo informo los errores y proporciono mis comentarios?", + "answer": "Si el error persiste, puedes contactar a tu profesor en la pestaña Ayuda.


Para hacer comentarios a tu profesor, igualmente puedes contactarlo en la pestaña Ayuda.

" + } + } + }, + "6": { + "section_title": "Licencias y autorizaciones", + "question_list": { + "1": { + "title": "¿Dónde puedo encontrar el código fuente del módulo Clase?", + "answer": "El código fuente del módulo Clase está disponible en le repository git OpenSTEAM-LMS¡No dudes en contribuir!" + } + } + }, + "title": "FAQ" + }, + "manager": { + "profil": { + "manager": "Pasar al modo gestor", + "groupAdmin": "Pasar al modo administrador de grupo", + "bio": "Bio", + "group": "Grupo", + "apps": "Aplicaciones", + "personalApps": "Aplicaciones personales", + "email": "Correo electrónico *", + "nickname": "Nombre de usuario", + "lastname": "Apellido *", + "firstname": "Nombre *", + "phone": "Número de teléfono", + "grade": "Nivel de educación *", + "subject": "Asunto enseñado *", + "school": "Institución *", + "password": "Contraseña *", + "confirmPassword": "Confirmar la contraseña *", + "help": "Pide ayuda", + "onlyVisibleGroupAdmin": "Sólo visible para usted como administrador del grupo:", + "onlyVisiblemanager": "Sólo visible para usted como gestor:" + }, + "account": { + "activate": { + "success": "Su cuenta ha sido activada.", + "alreadyactive": "Su cuenta ya está activa.", + "noToken": " Este enlace no lleva ningún token." + }, + "active": "Cuenta activa", + "registration": { + "success": "¡Inscripción exitosa!", + "emailSent": "Se le acaba de enviar un correo electrónico, siga el enlace que contiene para activar su cuenta y continuar su enlace con el grupo \"\"", + "accountPublic": "¿Acepta que su nombre y apellido sean públicos en el sitio?", + "newsletter": "¿Desea recibir nuestro boletín por correo electrónico?", + "mailAlert": "¿Desea recibir alertas por correo electrónico cuando se reciban nuevas publicaciones en el sitio?", + "allowContact": "¿Le gustaría que otros usuarios del sitio se pusieran en contacto con usted?", + "confirmAdult": "Confirmo que soy mayor de 18 años (art. 1124 del Código Civil Francés).", + "disclaimerVittascience": " Vittascience sitúa la seguridad y la confidencialidad de los datos personales de sus usuarios en el centro de sus preocupaciones. Descubra nuestra política de protección de datos personales.", + "mandatory": "Los campos marcados con un * son obligatorios.", + "cguVittascience": "Validando este formulario, usted acepta los términos y condiciones.", + "cguOpenSteam": "Enviando este formulario, acepta los términos y condiciones.", + "description": "Por favor, rellene los siguientes campos para crear su cuenta.", + "title": "Inscripción", + "registrationFinalizationSuccess": "Su inscripción se ha completada, ahora puede conectarse.", + "registrationFinalization": "Finalice su inscripción.", + "descriptionFinalization": "Por favor, rellene los siguientes campos para finalizar su inscripción.", + "noTokenOrUserActive": "Token inválido o usuario ya activo.", + "noToken": "Falta token" + }, + "notAllowedUpdateUser": "No tiene derechos para editar este usuario.", + "notAllowedDeleteGroup": "No tiene derecho para eliminar este grupo.", + "notAllowedDisableUser": "No tiene derecho para desactivar este usuario.", + "notAllowedDeleteUser": "No tiene derecho para eliminar este usuario.", + "passwordUpdatedMessage": "Su contraseña ha sido cambiada con éxito.", + "noUserFound": "Ningún usuario utiliza ese correo electrónico.", + "noUserFoundToken": "Este token no corresponde a ningún usuario.", + "missingData": "Falta informaciones para finalizar la operación.", + "missingDataDate": "Falta información a cerca de la fecha para finalizar la operación.", + "errorSending": "Se ha producido un error al enviar el correo electrónico.", + "userNotFound": "Usuario imposible de encontrar y/o ya activo.", + "userNotFoundId": "Usuario imposible de encontrar", + "errorActivation": "Se ha producido un error durante la activación.", + "notAllowedToCreateUserInThisGroup": "No está permitido crear un usuario en este grupo.", + "subscriptionOudated": "Su solicitud de APPNAME expiró en la FECHA. Para más información, póngase en contacto con un administrador." + }, + "users": { + "users": "Usuarios", + "add": "Añadir un usuario", + "activated": "La cuenta ha sido activada con éxito.", + "errorActivation": "Se ha producido un error durante la activación de la cuenta.", + "create": "Crear un usuario", + "delete": "Eliminar un usuario", + "deleteConfirmation": "Por favor, escriba \"borrar\" en el campo de abajo para completar la acción.", + "deleteIntentionSA": "Está a punto de suprimir el usuario: ", + "disableIntention": "Está a punto de desactivar el usuario: ", + "deleteConfirmationTitle": "Confirmar la supresión", + "disableConfirmationTitle": "Confirmar la desactivación", + "update": "Modificar un usuario", + "updateAppUser": "Modificar las aplicaciones de los usuarios", + "updateApp": "Modificar las aplicaciones", + "disable": { + "message": "Por favor, introduzca \"borrar\" en el campo de abajo para completar la acción.", + "intention": "Está a punto de surpimir el usuario: " + }, + "mail": { + "resetPassword": { + "subject": "Reiniciar su contraseña.", + "bodyTitle": "Reiniciar la contraseña.", + "textBeforeLink": "Si el botón anterior no funciona, copie y pegue el siguiente enlace en su navegador:" + }, + "finalizeAccount": { + "title": "Finalización de la inscripción ", + "subject": "Finalización de la inscripción", + "bodyTitle": "Finalice su inscripción.", + "textBeforeLink": "Si el botón anterior no funciona, copie y pegue el siguiente enlace en su navegador:" + } + }, + "showResetLinkTitle": "Reiniciar la contraseña.", + "showResetLink": "Enlace para restablecer la contraseña.", + "groupAdmin": "Administrador del grupo", + "admin": "Gestor", + "teacher": "Profesor", + "usersPerPage": "Usuarios por página", + "userDeleted": "Usuario suprimido.", + "userDisabled": "Usuario desactivado.", + "userCreated": "Usuario creado con éxito", + "userUpdated": "Usuario modificado con éxito", + "chooseNewPassword": "Elija su nueva contraseña", + "passwordUpdate": "Su contraseña ha sido cambiada", + "enterYourEmail": "Introduzca su dirección de correo electrónico", + "sendResetMailDescription": "Al hacer clic en Enviar, se le enviará un correo electrónico con un enlace para cambiar su contraseña.", + "yourMail": "Su dirección de correo electrónico", + "emailSended": "Se le acaba de enviar un correo electrónico con el procedimiento a seguir.", + "emailNotReceived": "Si no ha recibido el correo electrónico, haga clic en Iniciar de nuevo (puede haber un ligero retraso).", + "mailSentToUser": "Se envió un correo electrónico al usuario para finalizar el registro.", + "mailNotSentToUser": "No se ha podido enviar al usuario el correo electrónico de finalización del registro.", + "mailSentToUserReset": "Se ha enviado un correo electrónico al usuario para que cambie la contraseña.", + "mailNotSentToUserReset": "No se ha podido enviar el correo electrónico de cambio de contraseña al usuario.", + "appsUpdated": "Las aplicaciones del usuario han sido actualizadas.", + "updateAppModalTitle": "Aplicación", + "teacherGrades": { + "0": "Primaria", + "1": "Colegio", + "2": "Instituto", + "3": "Escuela de Formación Profesional", + "4": "Universitario" + }, + "teacherSubjects": { + "0": { + "0": "Escuela primaria", + "1": "Otros (especificar en la biografía)" + }, + "1": { + "0": "Educación física y deportiva", + "1": "Educación moral y cívica", + "2": "Educación artística", + "3": "Español", + "4": "Historia-geografía", + "5": "Lengua viva", + "6": "Matemáticas", + "7": "Física-Química", + "8": "Ciencias de la Vida y de la Tierra", + "9": "Tecnología", + "10": "Otros (especificar en la biografía)" + }, + "2": { + "0": "Artes", + "1": "Artes circenses", + "2": "Biología Ecología", + "3": "Biotecnología", + "4": "Cultura de creación y diseño", + "5": "Creación e innovación tecnológica", + "6": "Ecología-agronomía-territorios-desarrollo sostenible", + "7": "Educación física y deportiva", + "8": "Educación moral y cívica", + "9": "Educación científica", + "10": "Educación tecnológica transversal", + "11": "Español", + "12": "Hipología y equitación", + "13": "Historia-geografía", + "14": "Historia-geografía, geopolítica y ciencias políticas", + "15": "Humanidades, literatura y filosofía", + "16": "Lenguas y culturas antiguas: latín o griego", + "17": "Lenguas modernas", + "18": "Lenguas, literatura y culturas extranjeras y regionales", + "19": "Literatura y lenguas y culturas antiguas", + "20": "Gestión y administración", + "21": "Matemáticas", + "22": "Ciencias digitales e informáticas)", + "23": "Física y Química", + "24": "Principios fundamentales de economía y gestión", + "25": "Salud y social", + "26": "Ciencias de la Vida y de la Tierra", + "27": "Ciencias de la ingeniería", + "28": "Ciencia y laboratorio", + "29": "Ciencias y técnicas del teatro, la música y la danza", + "30": "Ciencias y Tecnologías de Laboratorio", + "31": "Ciencia y tecnología de la hostelería", + "32": "Ciencia y tecnología de la industria y el desarrollo sostenible", + "33": "Ciencia y Tecnología del Diseño y las Artes Aplicadas", + "34": "Ciencias y tecnologías de la gestión y la administración", + "35": "Ciencia y tecnología digital", + "36": "Ciencias Económicas y Sociales", + "37": "Otros (especificar en la biografía)" + }, + "3": { + "0": "Artes aplicadas y culturas artísticas", + "1": "Economía-Derecho", + "2": "Economía y Gestión", + "3": "Educación física y deportiva (PSE)", + "4": "Educación moral y cívica", + "5": "Educación tecnológica transversal (ETT)", + "6": "Español", + "7": "Historia-geografía", + "8": "Lenguas extranjeras", + "9": "Matemáticas Física-Química", + "10": "Prevención de la salud ambiental", + "11": "Otros (especificar en la biografía)" + }, + "4": { + "0": "Educación superior", + "1": "Otros (especificar en la biografía)" + } + }, + "groupFull": " The group is full" + }, + "group": { + "generalInfo": "Información general", + "add": "Añadir un grupo", + "create": "Crear un grupo", + "delete": "Suprimir un grupo", + "deleteIntention": "Está a punto de eliminar el grupo: ", + "update": "Modificar un grupo", + "academy": "Academia", + "join": { + "firstVisit": "¿Primera visita?", + "signin": "Entrar en el sistema", + "signinSubtitle": "Introduzca sus datos de acceso para acceder a su cuenta", + "addressMail": "Dirección de correo electrónico", + "disclaimer": "Al unirse a este grupo, usted autoriza al administrador del grupo a bloquear y/o desactivar su cuenta. También tendrás acceso a las aplicaciones que tiene el grupo.", + "lastStep": "Sólo queda un paso. Haga clic en el botón de abajo para completar el enlace.", + "joinGroup": "Está a punto de unirse al grupo \"\"", + "notfound": "Grupo no encontrado.", + "notfoundDetails": "No podemos encontrar ningún grupo relacionado con el código .", + "clickToRedirectLogin": "Haga clic en Continuar para ser redirigido a la página de inicio de sesión.", + "clickToRedirectHome": "Haga clic en Continuar para ser redirigido a la página de inicio.", + "invalidLink": "Enlace inválido.", + "invalidFormatLink": "El formato del enlace introducido no coincide.", + "success": "Te has unido al grupo \"\".", + "alreadyLinked": "Usted ya forma parte de este grupo.", + "error": "Se ha producido un error durante la conexión.", + "userNotFound": "El usuario no fue encontrado, puede hacer clic en Continuar para ser redirigido a la página de inicio de sesión.", + "contactAdmin": "Si el problema persiste, póngase en contacto con la administración.", + "groupFull": "El grupo al que desea unirse está lleno.", + "onlyOneGroup": "Ya forma parte de un grupo, no puede unirse a un otro.", + "mail": { + "textBeforeName": "El usuario :", + "textAfterName": "se unió al grupo:", + "emailSubject": "Un usuario se ha unido al grupo." + } + }, + "name": "Nombre del grupo", + "description": "Descripción del grupo", + "link": "Enlace de grupo", + "applications": "Aplicación de grupo(s)", + "groupsPerPage": "Grupos por página", + "groupDeleted": "Grupo suprimido", + "groupCreated": "Grupo establecido con éxito", + "groupUpdated": "Grupo modificado con éxito", + "groupCreateFailed": "No se ha podido crear el grupo", + "showLinkTitle": "Enlace del grupo", + "usersWithoutGroups": "Usuarios sin grupo", + "searchResult": "Resultado de la búsqueda", + "usersInactiveOrNoRegular": "Usuarios inactivos y no habituales", + "usersWithoutGroupsDescription": "Grupo de usuarios no vinculados a ningún grupo", + "usersInactiveOrNoRegularDescription": "Grupo de usuarios inactivos y/o no habituales", + "groupDeleteError": "El grupo no ha podido ser suprimido.", + "groupFull": "El grupo está completo.", + "groupFullAdminMessage": "El grupo está completo, no se pueden añadir más usuarios.", + "toManyStudentsFromTheTeacher": "El profesor que quiere añadir al grupo tiene demasiados alumnos.", + "toManyStudentsInGroup": "El grupo no puede acoger a tantos alumnos, el profesor tiene demasiados alumnos.", + "teachersPerGroup": "Profesor por grupo", + "studentsPerGroup": "Estudiantes por grupo", + "activitiesPerGroup": "Actividad(es) por grupo", + "activitiesPerTeacher": "Actividad(es) por profesor", + "studentsPerTeacher": "Alumnos por profesor", + "maxStudents": "Número máximo de alumnos", + "maxActivities": "Número máximo de actividades" + }, + "title": { + "activeUsers": "Usuarios activos", + "inaactiveUsers": " Inactive users" + }, + "buttons": { + "continue": "Continuar", + "validate": "Validar", + "activate": "Activar", + "cancel": "Cancelar", + "finalize": "Finalizar", + "send": "Enviar", + "login": "Conectarse", + "signup": "Inscribirse", + "join": "Unirse", + "save": "Grabar", + "close": "Cerrar", + "disable": "Desactivar", + "delete": "Eliminar", + "reset": "Reiniciar", + "update": "Editar", + "search": "Buscar", + "restart": "Comenzar de nuevo", + "copyLink": "Copiar el enlace", + "show": "Ver", + "manage": "Gestionar", + "user": { + "add": "Añadir usuario", + "create": "Crear usuario", + "delete": "Suprimir usuario", + "update": "Cambiar de usuario", + "addGroup": "Añadir un grupo", + "createA": "Crear un usuario", + "updateA": "Modificar un usuario", + "updateApp": "Modificar las aplicaciones" + }, + "group": { + "add": "Añadir el grupo", + "create": "Crear el grupo", + "delete": "Suprimir el grupo", + "update": "Modificar el grupo", + "createA": "Crear un grupo", + "updateA": "Modificar un grupo" + } + }, + "sort": { + "user": { + "bylastname": "Ordenar por apellido", + "byfirstname": "Ordenar por nombre" + }, + "group": { + "byname": "Ordenar por nombre", + "bydesc": "Ordenar por descripción" + } + }, + "input": { + "placeholder": { + "delete": "suprimir" + }, + "writeDelete": "Debe escribir suprimir para validar la acción.", + "writeDisable": "Debe escribir desactivar para validar la acción." + }, + "table": { + "lastname": "Apellido", + "firstname": "Nombre", + "applications": "Aplicaciones", + "group": "Grupo", + "description": "Descripción", + "descriptionMandatory": "Descripción *", + "right": "Papel", + "resetPassword": "Reiniciar contraseña", + "link": "Enlace", + "name": "Nombre", + "nameMandatory": "Nombre *", + "dateBegin": "Fecha de inicio", + "dateEnd": "Fecha de finalización", + "outDated": "Expirado", + "maxStudents": "Número máximo de alumnos", + "actualStudents": "Estudiantes actuales", + "maxTeachers": "Número máximo de profesores", + "actualTeachers": "Profesores actuales", + "maxStudentsPerTeachers": "Número máximo de alumnos por profesor", + "maxStudentsPerTeacher": "Número máximo de alumnos por profesor", + "activityType": "Tipo de actividad", + "maxActivitiesPerGroup": "Número máximo de actividades por grupo", + "maxActivitiesPerTeacher": "Número máximo de actividades por profesor", + "monitoring": "Supervisión de aplicaciones", + "image": "Imagen", + "userNoRights": "No hay derechos asignados", + "userAdmin": "Administrator", + "userTeacher": "Profesor", + "restrictions": "Restricciones" + }, + "apps": { + "apps": "Aplicaciones", + "create": "Crear una aplicación", + "updateSuccess": "Aplicación modificada con éxito", + "createSuccess": "Aplicación creada con éxito", + "deleteSuccess": "Aplicación eliminada con éxito", + "deleteIntention": "Está a punto de eliminar la aplicación: ", + "outDatedApp": "La aplicación que desea asignar está desactualizada.", + "infoMaxStudentsPerTeachers": "Determina el número máximo de alumnos que puede tener un profesor en el grupo.", + "infoMaxStudentsPerGroups": "Determina el número máximo de alumnos que puede tener el grupo (sumando el número total de alumnos de los profesores con esta aplicación)", + "infoMaxTeachers": "Determina el número máximo de profesores que puede tener la aplicación en este grupo", + "usersLimitation": "Limitación de alumnos por usuario", + "groupsLimitation": "Limitaciones del grupo", + "activitiesLimitation": "Limitaciones de la actividad", + "defaultRestrictions": "Restricciones por defecto", + "ltiApps": "Aplicaciones LTI", + "clientId": "ID del cliente *", + "deploymentId": "ID predeterminada *", + "toolUrl": "URL del herramienta *", + "publicKeySet": "Clave pública *", + "loginUrl": "Url de acceso *", + "redirectionUrl": "Url de redireccionamiento *", + "deepLinkUrl": "Enlace profundo url *", + "privateKey": "Clave privada *" + }, + "activitiesRestrictions": { + "updateAll": "Modificación de las restricciones", + "update": "Modificar una restricción", + "create": "Crear una restricción", + "delete": "Elimina una restricción", + "updateSuccess": "Restricción modificada con éxito", + "createSuccess": "Restricción creada con éxito", + "deleteSuccess": "Restricción eliminada con éxito", + "deleteIntention": "Está a punto de eliminar la restricción: ", + "restrictionType": "Tipo de actividad", + "maxActivity": "Actividad máxima", + "closeDetail": "Cerrar el detalle", + "restrictions": "Restricciones de la actividad", + "appRestricted": "Crear más actividades", + "appRestrictedUL1": "Ha alcanzado el límite de {{actividades}} asociadas a su cuenta.", + "appRestrictedUL2": "Para añadir actividades adicionales, póngase en contacto con su administrador.", + "appRestrictedSubtitle2": "¿Problemas con su suscripción?", + "appRestrictedSubtitle3": "Contactar con el servicio de asistencia", + "appRestrictedGarContent1": "Ha alcanzado el límite de {{actividades}} asociadas a tu cuenta.", + "appRestrictedGarContent2": "Para añadir actividades adicionales, póngase en contacto con el gestor de asignaciones GAR de su centro educativo." + }, + "defaultRestrictions": { + "update": "Cambiar las restricciones por defecto", + "type": "Tipo de actividad", + "max": "Máximo", + "add": "Añadir una restricción", + "updateUsersRestrictionsSuccess": "Restricciones de usuario modificadas con éxito", + "updateGroupsRestrictionsSuccess": "Restricciones de grupo modificadas con éxito", + "updateActivitiesRestrictionsSuccess": "Restricciones de actividad modificadas con éxito", + "deleteActivitiesRestrictionsSuccess": "Restricción de las actividades eliminadas con éxito", + "getDefaultRestrictions": "Ver las restricciones por defecto", + "restrictionAlreadyExist": "La restricción ya existe" + } + }, + "navbar": { + "items": { + "kits": "Material", + "community": { + "title": "Comunidad", + "dropdown": { + "vittamap": " Vittamap", + "blog": "Blog", + "gallery": "Galería", + "about": "Nosotros" + } + }, + "tooltips": { + "backToHome": "Volver a la página de inicio", + "programming": " Codificación con Vittascience", + "resources": "Centro de Recursos Educativos", + "classroom": " Gestione sus clases con Vittascience", + "hardware": " Descubra nuestros kits y productos" + }, + "programming": "Programa", + "classroom": "Clase", + "arduino": " Arduino", + "microbit": " Microbit", + "microbit-tutorials": " Microbit Tutorials", + "ressources": "Recursos", + "accessibility": "Cambiar el tema y la fuente del sitio", + "lang": "Cambiar el idioma", + "user_shortcuts": { + "welcome": "Bienvenido.", + "signup": "Inscribirse", + "login": "Conctarse", + "hello": "Hola", + "account": "Mi cuenta", + "disconnect": "Desconexión", + "willSignup": "¡Me apunto!", + "willSignin": "Conectarse" + } + } + }, + "newActivities": { + "create": "Crear una nueva actividad", + "delete": "Suprimir", + "addQuiz": "Añadir una propuesta", + "states": "Declaración de actividad *", + "cancel": "Cancelar", + "autocorrect": "Corrección automática", + "correction": "Corrección de la actividad", + "tolerance1": "Añadir una tolerancia de error de", + "tolerance2": "carácter(es) en la respuesta completa del estudiante.", + "hint": "Pista * : se muestra si la respuesta es incorrecta", + "title": "Título de la actividad *", + "description": "Descripción de la actividad *", + "content": "Contenido de la actividad *" + }, + "courses": { + "addActivity": " Add an activity", + "addActivities": " Add activities", + "createActivity": " Create an activity", + "searchActivity": " Search an activity", + "placeholderTitle": " Activity title", + "placeholderDescription": " Activity description", + "pagination": { + "create": " Course's creation", + "title": " Title", + "parameters": " Parameters", + "attribution": " Attribution" + }, + "parameters": { + "title": " Course title *", + "description": " Course's description *", + "difficulty": " Difficulty *", + "difficultyLevel": { + "choose": " Choose a difficulty level", + "easy": " Easy", + "medium": " Medium", + "advanced": " Advanced", + "expert": " Expert" + }, + "duration": " Duration (minutes) *", + "license": " User license *", + "licenseType": { + "1": " Private (only you can see this resource)", + "2": " Unreferenced (shareable resource by link but not findable on the Resources page)", + "3": " Public CC-BY-NC-SA (free, non-commercial and modifiable resource)", + "4": " Public CC-BY-NC-ND (free, non-commercial and non-modifiable resource)", + "choose": " Choose a license" + } + }, + "successfullyCreated": " Course created successfully", + "attribution": " Course attribution ", + "return": " Return ", + "update": " Update the course" + } +} \ No newline at end of file diff --git a/classroom/assets/lang/it/ns.json b/classroom/assets/lang/it/ns.json index 72010655..c92fe1c7 100644 --- a/classroom/assets/lang/it/ns.json +++ b/classroom/assets/lang/it/ns.json @@ -1 +1,1432 @@ -{"classroom":{"login":{"noClass":"Il codice inserito non corrisponde a nessuna classe.","countdown1":" Il modulo di gestione delle classi è attualmente in beta. Se vuoi provarlo, per favore contatta il team di Vittascience.","countdown2":" Rilascio ufficiale in","hello1":" Ciao!","hello2":" Ciao!","title":" Gestisci le tue classi con Vittascience","neutralTitle":"La piattaforma Cabri","cabriTitle":" Cabri.com","subtitle":"Scoprire - Imparare - Condividere","cabriSubtitle":" The platform to succeed in math and science","login":"Accedi","activities":"crea facilmente
le tue attività","cabriActivities":" Create exercises
automatically in
a few minutes","attribute":"assegna i
ai tuoi studenti","cabriProgress":" Follow the progress
of your learners","visualize":"visualizza
i loro risultati","cabriRessources":" Access a
variety of activities
and share your creations","student":"STUDENTE","codeInput":"Inserisci qui il codice di classe","teacher":"INSEGNANTE","hasAccount":"Hai già un account?","gar":"Approfittate del modulo di classe con l'aiuto di GAR.
Il collegamento con il GAR non è ancora finalizzato, sarà pronto presto.","signup":"REGISTRARSI","firstVisit":"Prima visita? Si prega di scegliere un login.","signin":"COLLEGARSI","registerLink":"Creare un account","hasReturned":"Di ritorno in questa classe?","forgot":"Ho dimenticato la mia password","error":{"used":"Questo nome utente è già in uso, per favore scegline un altro","badInput":"Il tuo nome utente o la tua password sono sbagliati."},"suscribe":{"title":" sottoscrivere","content":" Il modulo di gestione delle classi è disponibile gratuitamente in una versione di prova. Approfittate di tutte le funzionalità con l'abbonamento Vittascience Premium. Trova tutti i vantaggi e i dettagli dell'offerta Vittascience Premium utilizzando il pulsante qui sotto.","premium":" Scoprire Vittascience Premium"},"carousel":{"activities":{"title":" crea facilmente le tue attività","content":" L'editor di attività rende facile la creazione di contenuti educativi, tra cui testo, immagini, video, API Vittascience, presentazioni Genially e altro ancora.

Sfogliate la banca di risorse collaborative Vittascience con centinaia di attività gratuite e riutilizzabili. Se l'autore della risorsa lo permette, puoi anche fare delle modifiche per adattare il contenuto ai tuoi studenti!"},"attribute":{"title":" assegnarli ai tuoi studenti","content":" Una volta che hai creato le tue attività, puoi assegnarle ai tuoi studenti. Possono essere assegnati individualmente o a interi gruppi, per esempio una classe o un club scientifico.

Gli studenti possono accedere in modo sicuro usando un codice di classe, un link, un QRcode o un GAR, e completare le attività loro assegnate."},"visualize":{"title":" vedere i loro risultati","content":" Il dashboard ti permette di seguire i progressi degli studenti mentre si muovono attraverso le attività e i corsi. Trova il lavoro dei tuoi studenti in un click con la possibilità di commentare il rendering.

Grazie al sistema di correzione automatica per blocchi e Python, la dashboard si riempie direttamente con i risultati degli studenti. Identificare rapidamente gli studenti in difficoltà e risparmiare tempo prezioso per accompagnarli."}},"register":{"title":"Registrazione","description":"Completa i seguenti campi per creare il tuo account.\n","passwordConstraints":"Minimo 8 caratteri.","createButton":"Registrazione"}},"register":{"accountConfirmationEmail":{"emailSubject":"Attivare il mio account","bodyTitle":"Attivare il mio account","textBeforeLink":"Se il pulsante qui sopra non funziona, copia e incolla il seguente link nel tuo browser:"}},"updateUserInfos":{"emailUpdateConfirmation":{"emailSubject":"Conferma il mio nuovo indirizzo e-mail","bodyTitle":"Conferma il mio nuovo indirizzo e-mail","textBeforeLink":"Se il pulsante qui sopra non funziona, copia e incolla il seguente link nel tuo browser:"}},"successPanel":"Bene, ce l'hai fatta!","failPanel":"La risposta non è corretta","toCorrectPanel":"L'attività è stata trasmessa al tuo insegnante,
che ti risponderà presto! ","bank":{"helpTooltip":" La banca delle risorse contiene molte attività che puoi praticare da solo! Il tuo insegnante non avrà accesso ai risultati di queste attività."},"help":{"student":{"label":"Contatta il tuo insegnante","question":"Fai le tue domande...","title":"Oggetto"},"teacher":{"label":"Contatta il tuo insegnante"}},"profil":{"identity":"Nome Cognome","class":"CLASSE : ","todo":"Attività da fare","done":"Attività svolte","create":"Attività create","correctionToDo":"Correzioni da fare","switchMode":"Passare alla modalità studente","switchModeTeacher":"Torna alla modalità insegnante","accountSettings":{"title":"Il mio account","firstname":"Nome","lastname":"Cognome","nickname":"Nome utente","email":"E-mail","password":"Password","confirmPassword":"Conferma la password","updateButton":"Aggiornare"}},"notif":{"emptyContent":" Il contenuto non può essere vuoto.","emptyTitle":" Il titolo non può essere vuoto.","activityRestricted":" Non si possono creare più attività di questo tipo.","shareProjectTeacher":"Il progetto è stato condiviso con il tuo insegnante","addActivities":"Le attività selezionate sono state aggiunte alla tua lista","addActivity":"L'attività è stata aggiunta alla tua lista","saveProject":"Hai pensato di salvare il tuo lavoro?","savedProject":"La bozza della tua attività è stata salvata.","deleteProject":"Il progetto è stato cancellato.","shareProject":"Il progetto è stato condiviso","corrections":"Nelle tue classi è stato fatto un esercizio","deleteAccount":"Sei sicuro di voler cancellare l'account dello studente?","accountIsDelete":"L'account dello studente è stato cancellato","newPwd":"La nuova password dello studente {{pseudo}} è {{pwd}}","classCreatedButNotUsers":"La classe {{nomeAula}} è stata creata, ma non gli account associati (Il tuo account non ti permette di avere studenti {{numero di studenti}})","classUpdatedButNotUsers":"La classe {{classroomName}} è stata aggiornata, ma non gli account associati (Il tuo account non ti permette di avere studenti {{learnerNumber}})","usersNotAdded":"Lo studente non è stato aggiunto (Il tuo account non ti permette di avere {{learnerNumber}} studenti)","cantLoginLimitLearners":"Non puoi unirti alla classe. Il tuo insegnante ha raggiunto il numero massimo di studenti.","cantLoginClassroomBlocked":"Non puoi unirti alla classe, il tuo insegnante l'ha bloccata.","classNotCreated":"Non puoi avere più di una classe.","attributeActivityUndone":"L'attività è stata disattribuita","pseudoUpdated":"Il nuovo nome utente dello studente è {{newPseudo}}","classroomDeleted":"La classe {{classroomName}} è stata cancellata","classroomCreated":"La classe {{nome dell'aula}} è stata creata, insieme a tutti gli account associati","classroomUpdated":"La classe {{classroomName}} è stata aggiornata, insieme a tutti gli account associati","usersAdded":"Gli account sono stati creati","usersAddedFromCsv":"Gli account sono stati creati secondo il file csv","activityDeleted":"L'attività {{attivitàNome}} è stata cancellata","mustAttributeToStudent":"Devi selezionare gli studenti","activityAttributed":"L'attività {{attivitàTitolo}} è stata assegnata agli studenti elencati","activityAttributionChanged":"L'assegnazione dell'attività {{attivitàTitolo}} è stata cambiata per gli studenti elencati","activityCreated":"L'attività {{attivitàTitolo}} è stata creata","activityChanged":"L'attività {{attivitàTitolo}} è stata modificata","activityTitleMissing":"Devi compilare il titolo dell'attività","activityPlayerMissing":" È necessario inserire un URL del giocatore.","CsvFileMissing":"Non hai scelto un file csv","errorWithCsv":"Errore nell'apertura del file csv: {{errore}}","cantGetPassword":"Errore, non puoi vedere la tua password","cantResetPassword":"Errore, non è possibile reimpostare la password","accountUpdated":"Il tuo account è stato aggiornato","emailUpdated":"Vai al link di conferma del nuovo indirizzo e-mail per completare l'aggiornamento","firstNameTooShort":"Il nome deve essere lungo almeno 2 caratteri","lastNameTooShort":"Il cognome deve essere lungo almeno 2 caratteri","pseudoTooShort":"Il nome utente deve essere lungo almeno 2 caratteri","invalidEmail":"L'indirizzo e-mail inserito non è valido","invalidPassword":"La password inserita non è valida. Deve essere lungo almeno 8 caratteri.","passwordAndConfirmMismatch":"La password e la conferma della password non sono identiche!","unknownUser":"Errore durante l'aggiornamento dell'account: l'utente non esiste!","passwordInvalid":"La password non rispetta i vincoli di sicurezza.","emailInvalid":"L'indirizzo e-mail inviato non è valido","emailExists":"L'indirizzo e-mail è già assegnato a un altro account","UserNotExists":"Errore durante il caricamento/ripristino della password: utente sbagliato!","RegularUserNotAllowed":"Errore durante il caricamento/ripristino della password: solo gli studenti possono vedere/ripristinare la loro password!","PasswordLengthInvalid":"Impossibile recuperare la password: password sbagliata!","accountCreated":"L'account è stato creato. Vai al link di conferma che ti è stato inviato per e-mail per concludere la registrazione e poter accedere.","firstnameMissing":"Devi inserire il tuo nome","surnameMissing":"Devi inserire il tuo cognome","pseudoMissing":"Devi inserire il tuo nome utente","emailMissing":"Devi inserire il tuo indirizzo e-mail","passwordMissing":"Devi inserire la tua password","passwordConfirmMissing":"È necessario confermare la password","passwordsMismatch":"La password e la conferma non sono identiche","invalidUserId":"Errore durante l'invio del messaggio: il tuo login non è valido","helpRequestFromTeacherSent":"Il tuo messaggio è stato inviato. Vi risponderemo il più presto possibile.","subjectMissingTeacherHelpForm":"Devi compilare l'oggetto del messaggio","messageMissingTeacherHelpForm":"Devi inserire il tuo messaggio","invalidUserIdTeacherHelpForm":"Errore durante l'invio del messaggio: il tuo login non è valido","unknownUserTeacherHelpForm":"Errore durante l'invio del messaggio: il tuo login non corrisponde a nessun account dell'insegnante","helpRequestFromLearnerSent":"Il tuo messaggio è stato inviato al tuo insegnante","subjectMissingLearnerHelpForm":"Devi compilare l'oggetto del messaggio","messageMissingLearnerHelpForm":"Devi digitare il tuo messaggio","invalidUserIdLearnerHelpForm":"Errore durante l'invio del messaggio: il tuo login non è valido","unknownUserLearnerHelpForm":"Errore durante l'invio del messaggio: il tuo nome utente è sconosciuto","unknownEmailLearnerHelpForm":"Errore durante l'invio del messaggio: l'indirizzo e-mail del tuo insegnante è sconosciuto","activityTitleInvalid":"L'attività non può essere creata: titolo non valido","activityContentInvalid":"L'attività non può essere creata: contenuto non valido","activityIsFromClassroomInvalid":"L'attività non può essere creata: errore di contesto","activityUserIdInvalid":"L'attività non può essere creata: utente non valido","personalLimitationsReached":" Hai raggiunto il tuo numero massimo di studenti.","groupLimitationsGroup":" Il tuo gruppo non può più ospitare allievi.","groupLimitationsTeacher":" Hai raggiunto il limite di studenti che il tuo gruppo permette.","bothLimitationsReached":" Avete raggiunto i limiti dei discenti che voi e il vostro gruppo potete avere.","ClassroomNameInvalid":" Il nome della classe è richiesto.","reservedNickname":" Il nome: \"{{reservedNickname}}\" non può essere assegnato.","invalidLink":" Il link che hai inserito non è valido.","noUser":" Devi compilare uno studente.","noUserUsername":" È necessario inserire un nome utente.","pseudoMissingInCsvFile":" Alcuni studenti non potevano essere aggiunti perché mancava il loro nickname.","backendReplyPseudoMissingInCsv":" Controlla il file CSV: linea vuota o nickname mancante.","backendReplyPseudoMissingInUsersArray":" C'è un errore in uno o più nomi di allievi.","invalidActivityId":" Errore durante l'invio del lavoro: identificatore di attività non valido!","invalidCorrection":" Errore nell'invio del lavoro: stato di attività non valido!","generalBackendError":" Si è verificato un errore, riprovare più tardi.","currentPasswordDoesNotMatch":" La password inserita non è corretta!","noAnswerInActivity":" È necessario compilare almeno un campo di risposta","courseMissingData":" You must enter a title and a description","courseMissingParameters":" You must set the parameters for the course"},"ids":{"classroom-dashboard-help-panel-teacher":"Aiuto","classroom-dashboard-activities-panel-teacher":"Le mie attività","classroom-dashboard-classes-panel-teacher":"Le mie classi","classroom-dashboard-sandbox-panel":"Sandbox","classroom-dashboard-profil-panel-teacher":"Profilo","classroom-dashboard-activities-panel":"Le mie attività","classroom-dashboard-profil-panel":"Profilo","classroom-dashboard-help-panel":"Aiuto","classroom-dashboard-activities-panel-library-teacher":"Banca delle risorse","classroom-dashboard-new-activity-panel":"Creazione dell'attività","classroom-dashboard-new-activity-panel2":"Intermedio","classroom-dashboard-new-activity-panel3":"Assegnazione","classroom-table-panel-teacher":"Classe {{nome}}","classroom-dashboard-sandbox-creation":"Selezione dell'interfaccia","classroom-dashboard-ide-panel":"Sandbox {{interfaccia}}","classroom-dashboard-activity-panel":"Attività {{nome}}"},"displayCode":" Proiettare il codice","navbar":{"activities":"Attività"},"classes":{"add":"Aggiungere una classe","noClasses":" Non hai ancora una classe.","createClassNow":" Inizia a creare una classe ora!","form":{"title":"Creare una classe","updateTitle":"Modificare una classe","name":"Nome della classe","school":"Nome dell'istituto","addStudent":"Aggiungere un allievo","noStudent":"Non ci sono ancora studenti in questa classe","isBlockedButton":"Limitare a questi studenti, nessun altro potrà unirsi alla classe.","save":"Salvare la classe","return":"Tornare in classe"},"panel":{"seeActivity":"Vedere l'attività","editActivity":"Cambiare l'attività","editAttribution":"Cambiare l'assegnazione","removeAttribution":"Ritirare l'assegnazione","password":"La sua password :","resetPassword":"Rigenerare la password","editNickname":"Cambiare il sopranome","delete":"Ritirare","copyLink":"Copiare il link diretto","learnerMode":"Passare alla modalità studente","dueBy":"Dovuto a"}},"activities":{"title":"Attività","save":"Salvare la bozza ","add":"Aggiungere un'attività","addCabriExpress":" Creare l'attività Express","addCabriGenius":" Creare un'attività intelligente","addOther":" Altro tipo di attività","new":"Nuovo","current":"In attesa di correzione","waiting":"Non ancora completato","done":"Completato","todo":"Da correggere","anonymise":"Anonimizza la tua lista di studenti in modo da poter mostrare il dashboard ai tuoi studenti","save-draft":"Salva come bozza","validate":"Convalidare l'attività","accept":"Molto buono","vgood":"Soddisfacente","good":"Fragile","refuse":"Insufficiente","instruction":"Consegna","commentary":"Commento","sendResults":"Invia il commento allo studente ","noSend":"Questa attività non è stata fatta","comments":"Inserisci i tuoi commenti qui","activitySubmited2":" Activity submitted on","sentOn":" Questa attività è stata completata il","activityOfUser":" Attività di","userSentOn":" reso su","yourAnswer":" La tua risposta","studentAnswer":" Risposta dell'allievo","return":" Torna alle attività","bilan":{"title":"Bilancio","results":"Risultati","noComment":" Nessun commento"},"applist":{"selectApp":" Seleziona l'applicazione con cui vuoi creare un'attività"},"form":{"1":"Creazione dell'attività","2":"Assegnazione","3":" Titolo","4":" Assegnazione","title":{"label":"Titolo dell'attività","labelCabri":" Qual è il titolo dell'attività?","placeholder":"Titolo del gioco","placeholderCabri":" Titolo dell'attività"},"iframe":{"label":" Qual è l'URL di accesso?","placeholder":" Immettere un URL"},"notebookUpdateMessage":" Non modificare questa sezione se si vuole mantenere il vecchio libro delle attività!","notebookUrl":{"label":" Aggiungere l'URL di un taccuino","placeholder":" URL del taccuino"},"playerUrl":{"label":" Aggiungere l'URL di un giocatore","placeholder":" URL giocatore"},"player":{"labelFileChooser":" Scegliere un file","fileUpload":" Il file è stato caricato con successo","dragDrop":" Trascinamento e rilascio"},"nextButton":" Avanti","endButton":" Finitura","content":{"label":"Contenuto dell'attività"},"back":" Indietro","validate":" Convalidare","buttonContinue":" Salva e continua","button":"Salvare e convalidare","success":"Congratulazioni, hai creato un'attività!","attribute":"Assegnare l'attività da ora","attribute2":"Attribuisci l'attività ","return":"Torna alle mie attività","hint":"Puoi sempre assegnare questa attività in seguito dalla dashboard.","modify":"Modificare l'attività","select1":"Selezione degli studenti","select2":" selezionati.","instructions":"Consegna specifica per questi studenti\n","autocorrect":"Questa attività dispone di una correzione automatica, vuoi attivarla?","nature":"Lo studente può presentare l'attività più di una volta?","dateBegin":"Data di inizio :","dateEnd":"Data di fine :","retroAttribution":" Questa attività sarà assegnata ai nuovi studenti"},"toCopy":"Questo codice rende facile unirsi alla tua classe\n","copyLink":"Il link alla tua classe è stato aggiunto negli appunti\n","dateBefore":"Termine di scadenza della consegna","dateBeforeAvailable":" Disponibile fino a","integrate":"Integrare in un'attività","veryGoodProficiency":"Molto buono","goodProficiency":"Soddisfacente","weakProficiency":"Fragile","insufficientProficiency":"Insufficiente","addLearner":"Aggiungere uno studente","addLearners":" Add learners","addActivity":" Add an activity","exportCsv":"Esportazione csv","players":{"STANDARD":{"title":" Standard","description":" Utilizzando il lettore standard, è possibile leggere online tutti i libri di attività prodotti con lo strumento di authoring Cabri."},"IMUSCICA":{"title":" iMuSciCA","description":" Utilizzando il player iMuSciCA, tutte le attività svolte con lo strumento di authoring Cabri possono essere riprodotte nello studio musicale."},"IFRAME":{"title":" Altro","description":" Scegliete tra una selezione di lettori per utilizzare le attività svolte con lo strumento di authoring Cabri."},"EXPRESS":{"title":" Espresso","description":" Creare un'attività utilizzando strumenti di geometria dinamica e algebra, calcolatrice scientifica e grafica, ecc."},"GENIUS":{"title":" Intelligente","description":" Create un'attività con gli strumenti Express e aggiungete una valutazione automatica."},"IFRAME-CABRI3D":{"title":" Cabri 3D","description":" Creare un'esplorazione geometrica dinamica nello spazio."},"LTI-BLOCKLY":{"title":" Cabri Blockly","description":" Aggiungere azioni dell'utente a un'attività Cabri, come animazioni, serrature, ecc. programmate visivamente come con Scratch o Snap!"}},"tabs":{"players":" Libro di attività","iframes":" Video e pagina web"},"iframes":{"IFRAME-VIDEO":{"title":" Video","description":" Inserire l'URL di un video pubblicato su una piattaforma di hosting."},"IFRAME-PAGE":{"title":" Pagina web","description":" Inserire l'URL della pagina web."}},"month":{"1":" Gennaio","2":" Febbraio","3":" Marzo","4":" Aprile","5":" Maggio","6":" Giugno","7":" Luglio","8":" Agosto","9":" Settembre","10":" Ottobre","11":" Novembre","12":" Dicembre"},"preview":" Anteprima","deleteActivityDisclaimer":" Si sta per eliminare un'attività. Questa azione è irreversibile.","deleteConfirm":" Confermare la cancellazione dell'attività","deleteActivity":" Cancellare l'attività","correctAnswer":" Risposta corretta","nbActivities":" {{ nbActi }} Attività

","moveToFolder":" Spostarsi a","rootFolder":" Cartella principale","seekFolder":" Andare alla cartella","foldersMessages":{"errorDelete":" Si è verificato un errore durante l'eliminazione della cartella","errorCreate":" Si è verificato un errore durante la creazione del file","errorLenght":" Il nome della cartella deve avere una lunghezza compresa tra 1 e 30 caratteri.","errorUpdate":" Si è verificato un errore durante la modifica del file","errorMoveTo":" Si è verificato un errore durante lo spostamento dell'oggetto","movedTo":" Oggetto spostato con successo","created":" File creato con successo","updated":" File modificato con successo","deleted":" File eliminato con successo","createFolder":" Creare una cartella","deleteFolder":" Confermare l'eliminazione del file","updateFolder":" Modificare il file","nameMandatory":" Nome cartella *","deleteDisclaimer":" Attenzione, la cartella e tutti i suoi contenuti (attività e sottocartelle) verranno eliminati."},"facultative":" Campi opzionali","previewActivity":" Anteprima dell'attività","infoRetroAttribution":" Questa attività sarà assegnata ai nuovi studenti quando saranno aggiunti alla classe.","infoAutocorrect":" Questa attività ha una correzione automatica","infoEvaluation":" Nella modalità di valutazione, i discenti possono inviare l'attività una sola volta e non hanno accesso a suggerimenti e consigli."},"filter":{"desc":"Dal meno recente al più recente","asc":"Dal più recente al meno recente","cabriExpress":" Attività espresse","cabriGenius":" Attività intelligenti","cabriVittascience":" Attività di Vittascienza","iframe":" Altre attività","placeholder":"Cerca..."},"sandbox":{"mine":"I miei progetti","shared":"Progetti condivisi","add":"Creare un programma","chooseInterface":"Selezionate l'interfaccia sulla quale volete creare un programma: ","teacherSharedDescription":"Trova qui i programmi condivisi dai tuoi studenti.","studentSharedDescription":"Trova qui i programmi condivisi dal tuo insegnante"},"footer":{"privacy":"Politica sulla privacy ","cgu":"Condizioni generali d'uso","copyright":"copyright"},"teacherHelpPanel":{"contactForm":{"title":"Contattaci","objectPlaceholder":"Oggetto","messagePlaceholder":"Scrivi qui il tuo messaggio. (Massimo 800 caratteri)","sendButton":"Invia il messaggio","fillInAllTheFields":"Completa tutti i campi"}},"sandBoxCreationPanel":{"title":" Selezionate l'interfaccia sulla quale volete creare un programma","knowMoreButton":" Maggiori informazioni sulle interfacce","interfacesDescription":{"arduino":" Interfaccia di programmazione per la scheda Arduino","microbit":" Interfaccia di programmazione per la scheda micro:bit","python":" Interfaccia di programmazione per Python 3 progettata per l'istruzione","texas-instruments":" Interfaccia di programmazione per la calcolatrice con la scheda micro:bit","esp32":" Interfaccia di programmazione per schede ESP32 (Wemos D1R32, NodeMCU, Huzzah32, ...)","quickpi":" Interfaccia di programmazione per la scheda Quick-Pi"}},"modals":{"addLtiActivityName":" Qual è il titolo dell'attività?","addActivity":{"title":"Aggiungere un'attività","resourceBank":{"title":"Sfoglia la banca di risorse collaborative","button":"Banca delle risorse "},"orSeparator":"O","attributeActivity":{"title":"Visualizza le mie attività esistenti","button":"Le mie attività "},"createActivity":{"title":"Creare una nuova attività","button":"Creare un'attività "},"next":" Avanti","limitTitle":" Limite superato","limitDescription":" Limite del numero di attività raggiunto per questo account.","upgradePlan":" Aumentare il limite"},"updateActivity":{"title":" Modificare un'attività"},"deleteActivity":{"title":" Eliminare un'attività","description":" Siete sicuri di voler eliminare l'attività?","confirm":" Confermare","cancel":" Annullamento"},"settingsTeacher":{"title":"Impostazioni dell'account","lang":"Lingua","description":"Per cambiare la tua password o altre impostazioni dell'account","accessButton":"Vai al tuo profilo","password":"Password","passwordDescription":"Ecco la tua password. Memorizzala, altrimenti solo il vostro insegnante potrà comunicartela.","resetPassword":"Azzerare"},"addStudent":{"title":"Aggiunta di studenti","pseudo":"Nome utente","addStudentButton":"Aggiungi lo studente","addStudentByCsvButton":"Aggiungere un file studente (.csv)"},"addStudentByCsv":{"title":"Aggiungere studenti con un file .csv","description":"Puoi aggiungere uno o più studenti in una volta importandoli da un file .csv. Opzionalmente, è possibile impostare la password per ciascuno di essi. Ecco i file .csv di esempio: ","csvTemplate":"file modello con password","csvTemplateNoPassword":"file modello senza password","importStudentByCsvButton":"Importare gli studenti"},"exportCsv":{"title":"Esportazione in formato csv","exportLearnersDescription":"Scarica la lista degli studenti di questa classe e le loro password. Il file scaricato è in formato .csv.","exportLearners":"Scarica l'elenco degli studenti","exportDashboardDescription":"Scarica la lista degli studenti per questa classe e, per ognuno di loro, le attività assegnate e lo stato di ogni attività (non ancora fatta, da correggere, completata). Il file scaricato è in formato .csv.","exportDashboard":"Scarica il pannello di controllo"},"listClass":{"title":"Passare alla modalità studente","description":"Puoi facilmente testare l'interfaccia come studente e tornare al tuo profilo di insegnante in qualsiasi momento. I tuoi progressi come studente saranno salvati nel tuo account demostudent.","switchButton":"Passare alla modalità studente"},"changePseudo":{"title":"Cambia il nome utente","description":"Cambia il nome utente","validateButton":"Convalidare"},"attributeActivity":{"title":" Allocare l'attività"},"shareProject":{"title":" Condividere il progetto"}}},"login_popup":{"title":"Accedi","details":"Inserisci i tuoi dati di accesso per accedere al tuo account.","form":{"addressmail":"Indirizzo e-mail","addressmail_placeholder":"esempio@dominio.com","password":"Password","password_placeholder":"La tua password.","forgot_password":"Ho dimenticato la mia password.","btn_connect":"Entrare"},"success":"L'autenticazione ha avuto successo. Reindirizzamento...","error":"Errore. Per favore controlla i tuoi dati di accesso.","mailSuccess":" Un'e-mail di attivazione è stata inviata al tuo indirizzo di posta elettronica.","mailError":" Si è verificato un errore. Per favore, controllate il vostro indirizzo e-mail.","userNotFound":" Nessun utente trovato con queste credenziali.","inactiveAccount":" Il tuo account non è ancora attivo, clicca sul pulsante qui sotto per inviare l'email di convalida.","accountDeactivated":" Il tuo account è stato disattivato, contatta un amministratore se il problema persiste.","errorBeta":"Devi essere un beta tester per accedere a questa funzione. Contatta il team Vittascience per saperne di più."},"signup-popup":{"title":"Registrazione","notice":"Completa i seguenti campi per creare il tuo account Vittascience.","firstName":"Nome","lastName":"Cognome","mail":"Indirizzo e-mail","telephone":"Telefono","password":"Password","passwordConfirmed":"Conferma","firstNamePlaceholder":"Il tuo nome.","lastNamePlaceholder":"Il tuo cognome.","mailPlaceholder":"Un'e-mail di conferma vi sarà inviata.","telephonePlaceholder":"Il tuo numero di telefono (opzionale).","passwordPlaceholder":"Minimo 8 caratteri. Maiuscole, minuscole e numeri.","passwordConfirmedPlaceholder":"Ripeti la tua password una seconda volta.","mandatory":"I campi segnati con un * sono obbligatori.","submit":"Confermare","back":"Indietro","title2nd":"Per favore, ci fornisca alcune informazioni aggiuntive","areYou":"Sei...","member":"Un particolare?","teacher":"Un insegnante?","teacher-grade":"Livello di formazione","grades":{"primary":"scuola media","middle":"Collegio","high":"Scuola superiore","highbis":"Scuola professionale","higher":"Post-BAC"},"establishement":"Stabilimento","establishementPlaceholder":"Cerca per nome della scuola o città.","subject":"Materia insegnata","bio":"Mini-bio","bioPlaceholder":"Parlaci un po' di te, in modo che gli altri utenti del sito possano conoscere meglio il tuo background :) Massimo 800 caratteri.","profilPicture":"Foto del profilo (opzionale)","allowPictures":"Formati accettati: jpeg, jpg, png. Max. 10Mb","allowPublicName":"Accettate che il vostro nome e cognome siano pubblici sul sito?","allowNewsletter":"Vuoi ricevere la nostra newsletter via e-mail?","allowAlertMessage":"Vuoi ricevere avvisi via e-mail quando ricevi nuovi messaggi sul sito?","allowMessageReceive":"Vuoi essere contattato da altri utenti del sito?","eighteenConfirm":"Confermo di avere più di 18 anni (articolo 1124 del codice civile)","confirmCGU":"Convalidando questo modulo, accetti i termini e condizioni d'uso.","concernedAboutPrivacy":"Vittascience pone la sicurezza e la riservatezza dei dati personali dei suoi utenti al centro delle sue preoccupazioni. Scopri la nostra politica di protezione dei dati personali","errors":{"mailUsed":"La mail {{ mail }} è già in uso. Per favore, scegline un'altra.","mailUsedServer":"L'indirizzo e-mail fornito esiste già.","lastName":"Il cognome fornito non è corretto.","firstName":"Il nome fornito non è corretto.","mailInvalid":"L'indirizzo e-mail non è valido.","passwordInvalid":"La password non rispetta i vincoli di sicurezza.","biographyInvalid":"La biografia non è corretta.","telephoneInvalid":"Il numero di telefono non è corretto.","profilPictureInvalid":"La foto del profilo fornita non è conforme al formato specificato.","establishementIncorrect":"Il nome dell'istituto non è corretto.","gradeIncorrect":"Il livello di insegnamento non è corretto.","subjectIncorrect":"Il nome della materia insegnata non è corretto."},"success":{"main":"La tua registrazione è avvenuta con successo! Un link di conferma ti è stato inviato a {mail }}.","notice":"Devi accedere a questo link prima di poter effettuare il login. Se non riesci a trovare l'email in questione, controlla la tua cartella spam."}},"switchAccessibility":{"title":"Accessibilità","theme":"Tema","light_theme":"Tema chiaro","dark_theme":"Tema scuro","font":"Polizia","basic_font":"Base","know_more":"Leggi di più"},"words":{"send":"inviare","settings":"parametri","disconnect":"disconnessione","help":"aiutare","duplicate":"duplicato","delete":"cancellare","attribute":"attribuire","modify":"modificare","optional":"opzionale","evaluation":"valutazione","exercise":"esercizio","return":"indietro","anonymize":"anonimizzare","days":"giorni","hours":"ore","minutes":"minuti","seconds":"secondi","confirm":"confermare","username":"nome utente","password":"Password","yes":"Sì","no":"No"},"faqTeacherNeutral":{"1":{"section_title":"Attività","question_list":{"1":{"title":"Qual è lo scopo della scheda Le mie attività?","answer":"Nella scheda Le mie attività, sarai in grado di:
  1. Creare le tue attività.
  2. Poi assegnarle ai tuoi studenti!
"},"2":{"title":"Cos'è un'attività?","answer":"Un'attività è un contenuto interattivo creato da Cabri Express, Cabri Smart o da un quaderno Cabri esistente."},"3":{"title":"Come creare o modificare un'attività?","answer":"

Puoi creare o modificare facilmente le attività.

Per modificare un'attività, vai alla scheda Le mie attività e clicca sull'icona della tua attività e poi clicca su Modifica. Non dimenticare di salvare le tue modifiche.

"},"4":{"title":"Come assegnare un'attività?","answer":"Per assegnare un'attività, hai tre opzioni:
  1. O vai alla scheda Le mie attività e clicca sull'icona della tua attività e poi clicca su Assegna. Poi, dovrai solo seguire i passi.
  2. Questa opzione di assegnazione è disponibile anche nell'attività stessa una volta aperta.
  3. Oppure, vai alla scheda Le mie classi e clicca su una classe. Una volta arrivati al pannello di controllo della classe, tutto quello che devi fare è cliccare sul pulsante \"Aggiungi attività\".
"},"5":{"title":"Come testare un'attività?","answer":"Per testare un'attività, hai due opzioni:
  1. O vai su Profilo e clicca sul pulsante \"Passa alla modalità studente\" e poi seleziona la classe in cui vuoi stare. Vi troverete sull'account fittizio di un allievo chiamato \"demostudent\", potrete scoprire l'interfaccia \"Learner\" e svolgere le attività che avete assegnato.
  2. Oppure andate su Le mie classi nella dashboard di una classe, potrete allora mettervi nella pelle dell'allievo demostudent. Per fare questo, clicca sull'icona , avrai l'opportunità di diventare uno studente della classe e provare le attività.
Per tornare alla modalità \"Insegnante\", basta andare nella scheda Profilo dell'account demostudent e cliccare su \"Torna alla modalità insegnante\"."},"6":{"title":"Come rimuovere l'assegnazione di un'attività senza rimuovere l'attività?","answer":"Per rimuovere l'assegnazione di un'attività, vai alla scheda Classe, apri la dashboard di una delle classi, poi clicca sull'attività (l'icona diventa quando ci passi sopra il mouse) e poi su Modifica assegnazione. Tutto quello che devi fare ora è cambiare le impostazioni, selezionare o deselezionare gli studenti."}}},"2":{"section_title":"Classe","question_list":{"1":{"title":"Qual è lo scopo della scheda Le mie classi?","answer":"Nella scheda Le mie classi, sarai in grado di:
  1. Creare le tue classi e aggiungere studenti
  2. Correggere le risposte dei tuoi studenti alle attività,
  3. e monitorare i loro progressi.
"},"2":{"title":"Come posso aggiungere i miei studenti alla mia classe?","answer":"Ci sono diverse opzioni:
  1. In classe, puoi proiettare il codice sulla lavagna. Per farlo, vai nella tua classe e clicca sul pulsante per ingrandire il codice qui sotto:
    I tuoi studenti dovranno solo registrarsi o accedere al sito inserendo il codice. Saranno anche in grado di scrivere questo codice per accedere da casa.
  2. Puoi anche creare studenti con il pulsante \"Add Learner\" e poi inviare loro la loro password individualmente, questo è visibile sulla dashboard della classe qui sotto:
"},"3":{"title":"Uno studente può essere in due classi diverse?","answer":"No, questo non è attualmente possibile."},"4":{"title":"Come si fa a bloccare l'ingresso di altri studenti in una classe?","answer":"Questa opzione sarà presto disponibile! Questo impedirà agli studenti di iscriversi più volte alla stessa classe per errore e impedirà anche agli estranei di entrare nella classe senza permesso."},"5":{"title":"Come assegnare un'attività?","answer":"

Puoi assegnare un'attività a tutte le classi che hai creato o solo a un particolare studente.

Per assegnare un'attività, hai tre opzioni:

  1. O vai alla scheda Le mie attività e clicca sull'icona della tua attività e poi clicca su Assegna. Poi, dovrai solo seguire i passi.
  2. Questa opzione di assegnazione è disponibile anche nell'attività stessa una volta aperta.
  3. Oppure, vai alla scheda Le mie classi e clicca su una classe. Una volta arrivati al pannello di controllo della classe, tutto quello che devi fare è cliccare sul pulsante \"Aggiungi attività\".
"},"6":{"title":"Si può modificare l'assegnazione di un'attività?","answer":"Per modificare l'assegnazione di un'attività, vai alla scheda Classe, apri la dashboard di una delle classi, poi clicca sull'attività (l'icona diventa quando ci passi sopra) e poi su Modifica assegnazione. Tutto quello che devi fare ora è cambiare le impostazioni, selezionare o deselezionare gli studenti."},"7":{"title":"Come vengono valutate le attività?","answer":"Le valutazioni sono:
  • Manuale su 4 livelli: Molto buono; Sufficiente; debole e insufficiente
  • Automatico su 2 livelli: molto buono e debole.

Una volta che l'allievo ha completato la sua attività, ha la possibilità di ricominciarla se l'insegnante ha selezionato la modalità \"Esercizio\" al momento dell'assegnazione. Nella modalità \"Valutazione\", lo studente non può ricominciare una volta che l'attività è stata convalidata.

Per visualizzare i risultati, basta andare al Pannello di controllo della classe.

Un'attività non corretta è simboleggiata da una matita nel Pannello di controllo. Per correggerla clicca sulla matita, poi semplicemente valuta e commenta il lavoro dello studente.

"},"8":{"title":"Come fai a sapere quando gli studenti hanno completato le loro attività?","answer":"Quando un allievo ha completato la sua attività, riceverai una notifica via email.
Questa impostazione sarà regolabile in futuro, al momento non è configurabile."},"9":{"title":"Come cambiare il nome di una classe?","answer":"Per cambiare il nome della tua classe, dovrai cliccare sull'icona della scheda Le mie classi, poi su modifica. Tutto quello che devi fare è cambiarne il nome."},"10":{"title":"Come posso rimuovere uno studente da una classe?","answer":"

Per cancellare uno studente, basta cliccare sull'icona accanto al nome dello studente nel Pannello di controllo della classe.

Attenzione, questa azione è irreversibile e chiude l'account dello studente.

"},"11":{"title":"Qual è lo scopo del pulsante di anonimizzazione nel Dashboard?","answer":"Questo pulsante sostituisce i nomi degli studenti con dei numeri. Questo permette di proiettare i risultati degli studenti sulla lavagna in modo anonimo per non stigmatizzare alcuni studenti."}}},"3":{"section_title":"Profilo","question_list":{"1":{"title":"A cosa serve la scheda Profilo?","answer":"Nella scheda Profilo, potrai:
  1. gestire le impostazioni del tuo account,
  2. visualizzare le tue statistiche,
  3. e scambiare messaggi con i tuoi studenti e con il team di Cabrilog se hai bisogno di aiuto.
"},"2":{"title":"Come posso cambiare la mia password o altre impostazioni dell'account?","answer":"Per cambiare la tua password o altre impostazioni, vai alla scheda Profilo. Nel caso di GAR, le impostazioni sono quelle del vostro ENT."},"3":{"title":"Come si cambia la lingua?","answer":"Il modulo Classroom è attualmente disponibile in inglese e francese. Per cambiare la lingua, vai alla scheda del profilo, clicca su \"Impostazioni\" e seleziona la lingua che vuoi."},"4":{"title":"Cos'è la modalità studente?","answer":"

Nel tuo profilo, puoi cliccare sul pulsante \"Passa alla modalità studente\". Dopo aver scelto una classe, sarete portati a un account fittizio dello studente chiamato \"demostudent\", dove potrete scoprire l'interfaccia dello studente e svolgere le attività che avete assegnato

Per ritornare alla modalità \"Insegnante\", basta andare al menuProfilodell'account demostudent e clicca su \"Ritorno alla modalità insegnante\".

"}}},"4":{"section_title":"Domande generali","question_list":{"1":{"title":"Con quali supporti è compatibile il modulo di classe?","answer":"

Le interfacce funzionano senza installazione, su computer, tablet e smartphone! Gli aggiornamenti sono automatici e i vostri programmi sono salvati nel cloud.

Per approfittare al massimo di tutte le funzionalità, ti consigliamo di utilizzare Chrome o Firefox.

"},"2":{"title":"Come posso creare un collegamento per accedere al modulo Classroom?","answer":"

Hai la possibilità di mettere un'icona sul desktop del computer per accedere rapidamente al modulo Classroom. Per fare questo:

Su Windows e Mac:

  1. Apri la pagina: classroom/, poi riduci le dimensioni della finestra del browser in modo da poter vedere il desktop accanto ad essa.
  2. Nel tuo browser web, usa il mouse per selezionare il simbolo a sinistra dell'indirizzo e, senza rilasciare il click, trascina il puntatore sul Desktop. Rilascia per creare il collegamento.
  3. Il collegamento viene creato. Dovrai solo fare doppio clic su di esso per aprire la pagina web collegata.

Su Android con Chrome:

  1. Aprire la pagina:classroom/, poi premere il pulsante del menu, quindi selezionare \"Aggiungi alla schermata iniziale\".
  2. Nominare la pagina e premere \"Aggiungi\".
  3. Il collegamento viene creato. Dovrai solo fare doppio clic su di esso per aprire la pagina web collegata.

Su Android con Firefox:

  1. Aprire la pagina:classroom/, poi premere il pulsante del menu, quindi premere Page.
  2. Toccare Aggiungi collegamento alla pagina.
  3. Il collegamento viene creato nella schermata iniziale. Dovrai solo cliccarci sopra per aprire la pagina web collegata.

Su iOS con Safari:

  1. Apri la pagina:classroom/, poi tocca l'icona Condividi.
  2. Seleziona nella schermata iniziale, poi tocca Aggiungi.
  3. Il collegamento viene creato nella schermata iniziale. Dovrai solo cliccarci sopra per aprire la pagina web collegata.

Si possono trovare altri tutorial su internet per creare un collegamento sul desktop.

"}}},"5":{"section_title":"Problema tecnico","question_list":{"1":{"title":"Ho un bug, cosa devo fare?","answer":"Quando si verifica un bug, la prima cosa da fare è cercare di aggiornare la pagina. Se il bug persiste, puoi contattarci nella scheda Profilo con il pulsante \"Aiuto\"."},"2":{"title":"Come posso segnalare bug e dare feedback?","answer":"Se il bug persiste, puoi contattarci nella scheda del profilo con il pulsante \"Aiuto\".
Per darci un feedback, puoi anche contattarci nella scheda del profilo con il pulsante \"Aiuto\"."}}},"6":{"section_title":"Licenze e permessi","question_list":{"1":{"title":"Possiamo fare una descrizione o una presentazione del modulo Class?","answer":"Sì, puoi riutilizzare le immagini del modulo Classroom per creare una descrizione, una presentazione, una formazione, un tutorial, un corso o altro. Se vuoi includere immagini o contenuti di attività, menziona l'autore (vedi la prossima domanda)."},"2":{"title":"Dove posso trovare il codice sorgente del modulo Class?","answer":"Il codice sorgente del modulo Class è disponibile sul repository git OpenSTEAM-LMS, sentiti libero di contribuire!"}}},"title":"FAQ"},"faqStudentNeutral":{"1":{"section_title":"Attività","question_list":{"1":{"title":"Qual è lo scopo della scheda Le mie attività?","answer":"Nella scheda Le mie attività, potrai:
  1. completare le nuove attività dei tuoi insegnanti.
  2. Salvare quelle che non hai ancora finito.
  3. E rivedere quelle che hai fatto!
"},"2":{"title":"Cos'è un'attività?","answer":"Un'attività è un contenuto interattivo creato da Cabri Express o un'attività esistente."}}},"2":{"section_title":"Chiama aiuto","question_list":{"1":{"title":"Qual è lo scopo della scheda Call for Help?","answer":"Nella scheda Chiamata d'aiuto, potrai:
  1. Richiedere aiuto ai tuoi insegnanti in qualsiasi momento,
  2. Consultare le domande frequenti.
Potrai seguire lo scambio dei tuoi messaggi nella scheda Profilo."}}},"3":{"section_title":"Profilo","question_list":{"1":{"title":"A cosa serve la scheda Profilo?","answer":"Nella scheda Profilo, potrai:
  1. gestire le impostazioni del tuo account,
  2. visualizzare le tue statistiche,
  3. e scambiare messaggi con i tuoi insegnanti.
"},"2":{"title":"Come posso cambiare la mia password o altre impostazioni dell'account?","answer":"Per cambiare la tua password o altre impostazioni, vai alla scheda Profilo."},"3":{"title":"Come si cambia la lingua?","answer":"Il modulo Classroom è attualmente disponibile in inglese e francese. Per cambiare la lingua, vai alla scheda del profilo, clicca sul pulsante \"Impostazioni\", poi seleziona la lingua che vuoi."}}},"4":{"section_title":"Domande generali","question_list":{"1":{"title":"Come usare il modulo Classroom?","answer":"In qualsiasi momento, puoi accedere all'aiuto generale cliccando sull'icona in alto a destra per iniziare il modulo Classroom."},"2":{"title":"Con quali supporti è compatibile il modulo di classe?","answer":"

Le interfacce funzionano senza installazione, su computer, tablet e smartphone! Gli aggiornamenti sono automatici e i vostri programmi sono salvati nel cloud.

Per approfittare al massimo di tutte le funzionalità, ti consigliamo di utilizzare Chrome o Firefox.

"},"3":{"title":"Come posso creare un collegamento per accedere al modulo Classroom?","answer":"

Potete mettere un'icona sul desktop per accedere rapidamente al modulo Classroom. Per farlo, cliccate sull'icona:

Su Windows e Mac:

  1. Aprire la pagina:/classroom/Poi riduci la dimensione della finestra del browser per vedere il desktop accanto ad essa.
  2. Nel tuo browser web, seleziona con il mouse il simbolo a sinistra dell'indirizzo e, senza rilasciare il clic, trascina il puntatore sul Desktop. Rilascia per creare il collegamento.
  3. Il collegamento viene creato. Ora devi solo fare doppio clic su di esso per aprire la pagina web collegata.

Su Android con Chrome :

  1. Aprire la pagina: /classroom/, poi premere il pulsante del menu, quindi selezionare \"Aggiungi alla schermata iniziale\".
  2. Dai un nome alla pagina e premi \"Aggiungi\".
  3. Il collegamento viene creato. Tutto quello che devi fare è un doppio clic su di esso per aprire la pagina web collegata.

Su Android con Firefox :

    1. Aprire la pagina: /classroom/, poi premere il pulsante del menu, quindi premere Page.
    2. Premere Aggiungi collegamento alla pagina.
    3. Il collegamento viene creato nella schermata iniziale. Basta cliccarci sopra per aprire la pagina web collegata.

    Su iOS con Safari :

    1. Abrire la pagina: /classroom/, quindi toccare l'icona Condividi.
    2. Selezionare dalla schermata iniziale, quindi premere Aggiungi.
    3. Il collegamento viene creato nella schermata iniziale. Basta cliccarci sopra per aprire la pagina web collegata.

    Puoi trovare altri tutorial su Internet per creare un collegamento sul desktop.

    \n"}}},"5":{"section_title":"Problema tecnico","question_list":{"1":{"title":"Ho un bug, cosa devo fare?","answer":"Quando si verifica un bug, la prima cosa da fare è cercare di aggiornare la pagina. Se il bug persiste, puoi contattare il tuo insegnante nella scheda Chiamata d'aiuto."},"2":{"title":"Come posso segnalare bug e dare feedback?","answer":"

    Se il bug persiste, puoi contattare il tuo insegnante nella scheda Aiuto.

    Per dare un feedback al tuo insegnante, puoi anche contattarlo nella scheda Aiuto.

    "}}},"6":{"section_title":"Licenze e permessi","question_list":{"1":{"title":"Dove posso trovare il codice sorgente del modulo Class?","answer":"Il codice sorgente del modulo Class è disponibile su il repository git di OpenSTEAM-LMS, sentiti libero di contribuire!"}}},"title":"FAQ"},"manager":{"profil":{"manager":" Passa alla modalità manager","groupAdmin":" Passare al modo amministratore di gruppo","bio":" Bio","group":" Gruppo","apps":" Applicazioni","personalApps":" Applicazioni personali","email":" E-mail *","nickname":" Nome utente","lastname":" Nome *","firstname":" Nome *","phone":" Numero di telefono","grade":" Livello di istruzione *","subject":" Oggetto insegnato *","school":" Istituzione *","password":" Password *","confirmPassword":" Conferma la password *","help":" Chiama aiuto","onlyVisibleGroupAdmin":" Visibile solo a te come amministratore del gruppo:","onlyVisiblemanager":" Visibile solo a te come manager:"},"account":{"activate":{"success":" Il tuo account è stato attivato!","alreadyactive":" Il tuo account è già attivo.","noToken":" Nessun token è collegato a questo link."},"active":" Conto attivo","registration":{"success":" Registrazione riuscita!","emailSent":" Ti è stata appena inviata una mail, segui il link in essa contenuto per attivare il tuo account e continuare il tuo collegamento al gruppo \"\"","accountPublic":" Accettate che il vostro nome e cognome siano pubblici sul sito?","newsletter":" Vuoi ricevere la nostra newsletter via e-mail?","mailAlert":" Vuoi ricevere avvisi via e-mail quando ci sono nuovi post sul sito?","allowContact":" Vuoi essere contattato da altri utenti del sito?","confirmAdult":" Confermo di avere più di 18 anni (art. 1124 del Codice Civile).","disclaimerVittascience":" Vittascience pone la sicurezza e la riservatezza dei dati personali dei suoi utenti al centro delle sue preoccupazioni. Scopri la nostra politica di protezione dei dati personali.","mandatory":" I campi segnati con un * sono obbligatori.","cguVittascience":" Convalidando questo modulo, accetti i termini e condizioni.","cguOpenSteam":" Inviando questo modulo, accetti i termini e condizioni.","description":" Completa i seguenti campi per creare il tuo account.","title":" Registrazione","registrationFinalizationSuccess":" La tua registrazione è stata completata, ora puoi accedere.","registrationFinalization":" Completa la tua registrazione.","descriptionFinalization":" Completa i seguenti campi per finalizzare la tua registrazione.","noTokenOrUserActive":" Token non valido o utente già attivo.","noToken":" Gettone mancante"},"notAllowedUpdateUser":" Non hai i diritti per modificare questo utente.","notAllowedDeleteGroup":" Non hai i diritti per cancellare questo gruppo.","notAllowedDisableUser":" Non hai i diritti per disabilitare questo utente.","notAllowedDeleteUser":" Non hai i diritti per cancellare questo utente.","passwordUpdatedMessage":" La tua password è stata cambiata con successo.","noUserFound":" Non è stato trovato nessun utente che usa questo indirizzo.","noUserFoundToken":" Questo token non corrisponde a nessun utente.","missingData":" Mancano informazioni per finalizzare l'operazione.","missingDataDate":" Mancano informazioni sulla data per finalizzare l'operazione.","errorSending":" Si è verificato un errore durante l'invio dell'e-mail.","userNotFound":" Utente non trovato e/o già attivo.","userNotFoundId":" Utente non trovato","errorActivation":" Si è verificato un errore durante l'attivazione.","notAllowedToCreateUserInThisGroup":" Non ti è permesso creare un utente in questo gruppo.","subscriptionOudated":" La tua applicazione APPNAME è scaduta in DATA. Per ulteriori informazioni, contattate un amministratore."},"users":{"users":" Utenti","add":" Aggiungere un utente","activated":" L'account è stato attivato con successo.","errorActivation":" Si è verificato un errore durante l'attivazione dell'account.","create":" Creare un utente","delete":" Cancellare un utente","deleteConfirmation":" Per favore, scrivi \"delete\" nel campo sottostante per completare l'azione.","deleteIntentionSA":" Stai per cancellare l'utente: ","disableIntention":" Stai per disattivare l'utente: ","deleteConfirmationTitle":" Confermare la cancellazione","disableConfirmationTitle":" Confermare la disattivazione","update":" Modificare un utente","updateAppUser":" Modificare le applicazioni dell'utente","updateApp":" Modificare le applicazioni","disable":{"message":" Inserisci \"cancella\" nel campo sottostante per completare l'azione.","intention":" Stai per cancellare l'utente: "},"mail":{"resetPassword":{"subject":" Resetta la tua password.","bodyTitle":" Resettare la password.","textBeforeLink":" Se il pulsante qui sopra non funziona, copia e incolla il seguente link nel tuo browser:"},"finalizeAccount":{"title":" Finalizzazione della registrazione","subject":" Finalizzazione della registrazione","bodyTitle":" Completa la tua registrazione.","textBeforeLink":" Se il pulsante qui sopra non funziona, copia e incolla il seguente link nel tuo browser:"}},"showResetLinkTitle":" Reset della password.","showResetLink":" Link per la reimpostazione della password.","groupAdmin":" Amministratore del gruppo","admin":" Manager","teacher":" Insegnante","usersPerPage":" Utenti per pagina","userDeleted":" Utente cancellato.","userDisabled":" Utente disabilitato.","userCreated":" Utente creato con successo","userUpdated":" Utente modificato con successo","chooseNewPassword":" Scegli la tua nuova password","passwordUpdate":" La tua password è stata cambiata","enterYourEmail":" Inserisci il tuo indirizzo e-mail","sendResetMailDescription":" Cliccando su Invia, ti verrà inviata un'e-mail contenente un link per cambiare la tua password.","yourMail":" Il tuo indirizzo e-mail","emailSended":" Le è stata appena inviata un'e-mail con la procedura da seguire.","emailNotReceived":" Se non avete ricevuto l'e-mail, cliccate su Start again (è possibile un leggero ritardo).","mailSentToUser":" Una e-mail è stata inviata all'utente per finalizzare la registrazione.","mailNotSentToUser":" L'e-mail di completamento della registrazione non può essere inviata all'utente.","mailSentToUserReset":" Un'e-mail è stata inviata all'utente per cambiare la password.","mailNotSentToUserReset":" Non è stato possibile inviare all'utente l'e-mail di cambio password.","appsUpdated":" Le applicazioni dell'utente sono state aggiornate.","updateAppModalTitle":" Applicazione","teacherGrades":{"0":" Primario","1":" College","2":" Scuola superiore","3":" Scuola professionale","4":" POST-BAC"},"teacherSubjects":{"0":{"0":" Scuola elementare","1":" Altro (specificare nella biografia)"},"1":{"0":" Educazione fisica e sportiva (PSE)","1":" Educazione morale e civica","2":" Educazione artistica","3":" Francese","4":" Storia-geografia","5":" Lingua viva","6":" Matematica","7":" Fisica-Chimica","8":" Scienze della vita e della terra (LSE)","9":" Tecnologia","10":" Altro (specificare nella biografia)"},"2":{"0":" Arti","1":" Arti circensi","2":" Biologia Ecologia","3":" Biotecnologia","4":" Cultura della creazione e del design","5":" Creazione e innovazione tecnologica (CIT)","6":" Ecologia-agronomia-territori-sviluppo sostenibile","7":" Educazione fisica e sportiva (PSE)","8":" Educazione morale e civica","9":" Educazione scientifica","10":" Educazione tecnologica trasversale (ETT)","11":" Francese","12":" Ippologia ed equitazione","13":" Storia-geografia","14":" Storia-geografia, geopolitica e scienze politiche","15":" Scienze umane, letteratura e filosofia","16":" Lingue e culture antiche: latino o greco","17":" Lingue moderne","18":" Lingue, letteratura e cultura straniera e regionale","19":" Letteratura e lingue e culture antiche","20":" Gestione e amministrazione","21":" Matematica","22":" Scienza digitale e informatica (NSI)","23":" Fisica e Chimica","24":" Principi fondamentali di economia e gestione","25":" Salute e sociale","26":" Scienze della vita e della terra (LSE)","27":" Scienze ingegneristiche","28":" Scienza e laboratorio","29":" Scienze e tecniche di teatro, musica e danza (S2TMD)","30":" Scienze e tecnologie di laboratorio (STL)","31":" Scienza e tecnologia alberghiera e della ristorazione (STHR)","32":" Scienza e tecnologia dell'industria e sviluppo sostenibile (STI2D)","33":" Scienza e tecnologia del design e delle arti applicate (STD2A)","34":" Scienze e tecnologie di gestione e amministrazione (STMG)","35":" Scienza e tecnologia digitale (NST)","36":" Scienze economiche e sociali (SES)","37":" Altro (specificare nella biografia)"},"3":{"0":" Arti applicate e culture artistiche","1":" Economia-Legge","2":" Economia e gestione","3":" Educazione fisica e sportiva (PSE)","4":" Educazione morale e civica","5":" Educazione tecnologica trasversale (ETT)","6":" Francese","7":" Storia-geografia","8":" Lingue straniere","9":" Matematica Fisica-Chimica","10":" Prevenzione della salute ambientale","11":" Altro (specificare nella biografia)"},"4":{"0":" Educazione superiore","1":" Altro (specificare nella biografia)"}},"groupFull":" The group is full"},"group":{"generalInfo":" Informazioni generali","add":" Aggiungere un gruppo","create":" Creare un gruppo","delete":" Cancellare un gruppo","deleteIntention":" Stai per cancellare il gruppo: ","update":" Modificare un gruppo","academy":" Accademia","join":{"firstVisit":" Prima visita?","signin":" Entrare","signinSubtitle":" Inserisci i tuoi dati di login per accedere al tuo account","addressMail":" Indirizzo e-mail","disclaimer":" Aderendo a questo gruppo, autorizzi l'amministratore del gruppo a bloccare e/o disattivare il tuo account. Avrai anche accesso alle applicazioni che il gruppo ha.","lastStep":" Rimane solo un passo! Clicca sul pulsante qui sotto per completare il link.","joinGroup":" Stai per entrare nel gruppo \"\"","notfound":" Gruppo non trovato!","notfoundDetails":" Non troviamo nessun gruppo relativo al codice .","clickToRedirectLogin":" Clicca su Continua per essere reindirizzato alla pagina di accesso.","clickToRedirectHome":" Clicca su Continua per essere reindirizzato alla pagina iniziale.","invalidLink":" Link non valido!","invalidFormatLink":" Il formato del link che hai inserito non corrisponde.","success":" Ti sei unito al gruppo \"\"!","alreadyLinked":" Lei fa già parte di questo gruppo.","error":" Si è verificato un errore durante la connessione.","userNotFound":" L'utente non è stato trovato, puoi cliccare su Continua per essere reindirizzato alla pagina di login.","contactAdmin":" Se il problema persiste, contattate l'amministrazione.","groupFull":" Il gruppo a cui vuoi unirti è pieno.","onlyOneGroup":" Fai già parte di un gruppo, non puoi unirti ad un altro.","mail":{"textBeforeName":" L'utente :","textAfterName":" si è unito al gruppo:","emailSubject":" Un utente si è unito al gruppo."}},"name":" Nome del gruppo","description":" Descrizione del gruppo","link":" Collegamento del gruppo","applications":" Applicazione(i) di gruppo","groupsPerPage":" Gruppi per pagina","groupDeleted":" Gruppo cancellato","groupCreated":" Gruppo stabilito con successo","groupUpdated":" Gruppo modificato con successo","groupCreateFailed":" Il gruppo non può essere creato","showLinkTitle":" Collegamento del gruppo","usersWithoutGroups":" Utenti senza gruppo","searchResult":" Risultato della ricerca","usersInactiveOrNoRegular":" Utenti inattivi e non regolari","usersWithoutGroupsDescription":" Raggruppamento di utenti non collegati a nessun gruppo","usersInactiveOrNoRegularDescription":" Raggruppamento di utenti inattivi e/o non regolari","groupDeleteError":" Il gruppo non può essere cancellato.","groupFull":" Il gruppo è completo.","groupFullAdminMessage":" Il gruppo è completo, non puoi aggiungere altri utenti.","toManyStudentsFromTheTeacher":" L'insegnante che vuoi aggiungere al gruppo ha troppi studenti.","toManyStudentsInGroup":" Il gruppo non può ospitare così tanti studenti, l'insegnante ha troppi studenti.","teachersPerGroup":" Insegnante per gruppo","studentsPerGroup":" Studenti per gruppo","activitiesPerGroup":" Attività per gruppo","activitiesPerTeacher":" Attività dell'insegnante","studentsPerTeacher":" Studenti per insegnante","maxStudents":" Numero massimo di studenti","maxActivities":" Attività massime"},"title":{"activeUsers":" Utenti attivi","inaactiveUsers":" Inactive users"},"buttons":{"continue":" Continua","validate":" Convalidare","activate":" Attivare","cancel":" Cancella","finalize":" Finalizzare","send":" Invia","login":" Entrare","signup":" Registrazione di","join":" Unisciti a","save":" Registra","close":" Chiudere","disable":" Disattivare","delete":" Cancellare","reset":" Azzerare","update":" Modifica","search":" Cerca","restart":" Ricominciare","copyLink":" Copia il link","show":" Vedi","manage":" Gestire","user":{"add":" Aggiungi utente","create":" Crea utente","delete":" Cancellare l'utente","update":" Cambia utente","addGroup":" Aggiungere un gruppo","createA":" Creare un utente","updateA":" Modificare un utente","updateApp":" Modificare le applicazioni"},"group":{"add":" Aggiungere il gruppo","create":" Creare il gruppo","delete":" Cancellare il gruppo","update":" Modificare il gruppo","createA":" Creare un gruppo","updateA":" Modificare un gruppo"}},"sort":{"user":{"bylastname":" Ordina per nome","byfirstname":" Ordina per nome"},"group":{"byname":" Ordina per nome","bydesc":" Ordina per descrizione"}},"input":{"placeholder":{"delete":" cancellare"},"writeDelete":" Dovete scrivere cancellare per convalidare l'azione.","writeDisable":" Dovete scrivere deactivate per convalidare l'azione."},"table":{"lastname":" Nome","firstname":" Nome","applications":" Applicazioni","group":" Gruppo","description":" Descrizione","descriptionMandatory":" Descrizione *","right":" Ruolo","resetPassword":" Ripristina la password","link":" Link","name":" Nome","nameMandatory":" Nome *","dateBegin":" Data di inizio","dateEnd":" Data di fine","outDated":" Superato","maxStudents":" Numero massimo di studenti","actualStudents":" Studenti attuali","maxTeachers":" Numero massimo di insegnanti","actualTeachers":" Insegnanti attuali","maxStudentsPerTeachers":" Numero massimo di studenti per insegnante","maxStudentsPerTeacher":" Numero massimo di studenti per insegnante","activityType":" Tipo di attività","maxActivitiesPerGroup":" Numero massimo di attività per gruppo","maxActivitiesPerTeacher":" Numero massimo di attività per insegnante","monitoring":" Monitoraggio delle applicazioni","image":" Immagine","userNoRights":" Nessun diritto assegnato","userAdmin":" Direttore","userTeacher":" Insegnante","restrictions":" Restrizioni"},"apps":{"apps":" Applicazioni","create":" Creare un'applicazione","updateSuccess":" Applicazione modificata con successo","createSuccess":" Applicazione creata con successo","deleteSuccess":" Applicazione cancellata con successo","deleteIntention":" Stai per cancellare l'applicazione: ","outDatedApp":" L'applicazione che vuoi assegnare non è aggiornata.","infoMaxStudentsPerTeachers":" Determina il numero massimo di studenti che un insegnante del gruppo può avere.","infoMaxStudentsPerGroups":" Determina il numero massimo di studenti che il gruppo può avere (sommando il numero totale di studenti degli insegnanti con questa applicazione)","infoMaxTeachers":" Determina il numero massimo di insegnanti che possono avere l'applicazione in questo gruppo","usersLimitation":" Limitazione degli studenti per utente","groupsLimitation":" Limiti del gruppo","activitiesLimitation":" Limiti di attività","defaultRestrictions":" Restrizioni predefinite","ltiApps":" Applicazioni LTI","clientId":" ID cliente *","deploymentId":" Deployment id *","toolUrl":" Strumento url *","publicKeySet":" Chiave pubblica *","loginUrl":" Url di accesso *","redirectionUrl":" Redirect Url *","deepLinkUrl":" Link profondo url *","privateKey":" Chiave privata *"},"activitiesRestrictions":{"updateAll":" Cambiare le restrizioni","update":" Modificare una restrizione","create":" Creare una restrizione","delete":" Rimuove una restrizione","updateSuccess":" Restrizione modificata con successo","createSuccess":" Restrizione creata con successo","deleteSuccess":" Restrizione rimossa con successo","deleteIntention":" Stai per rimuovere la restrizione: ","restrictionType":" Tipo di attività","maxActivity":" Attività massima","closeDetail":" Chiudi il dettaglio","restrictions":" Restrizioni di attività","appRestricted":" Creare più attività!","appRestrictedUL1":" Hai raggiunto il limite di {{attività}} associato al tuo account.","appRestrictedUL2":" Per aggiungere altre attività, contatta il tuo amministratore.","appRestrictedSubtitle2":" Un problema con il tuo abbonamento?","appRestrictedSubtitle3":" Contatta il supporto","appRestrictedGarContent1":" Hai raggiunto il limite di {{attività}} associato al tuo account.","appRestrictedGarContent2":" Per aggiungere altre attività, contatta il responsabile delle assegnazioni RBM della tua scuola."},"defaultRestrictions":{"update":" Cambiare le restrizioni predefinite","type":" Tipo di attività","max":" Massimo","add":" Aggiungere una restrizione","updateUsersRestrictionsSuccess":" Restrizioni utente modificate con successo","updateGroupsRestrictionsSuccess":" Restrizioni di gruppo modificate con successo","updateActivitiesRestrictionsSuccess":" Restrizioni di attività modificate con successo","deleteActivitiesRestrictionsSuccess":" Limitazione delle attività cancellate con successo","getDefaultRestrictions":" Vedere le restrizioni predefinite","restrictionAlreadyExist":" La restrizione esiste già"}},"navbar":{"items":{"kits":" Materiale","community":{"title":" Comunità","dropdown":{"vittamap":" Vittamap","blog":" Blog","gallery":" Galleria","about":" Chi siamo"}},"tooltips":{"backToHome":" Ritorna alla pagina iniziale","programming":" Codificare con Vittascience","resources":" Centro risorse educative","classroom":" Gestisci le tue classi con Vittascience","hardware":" Scopri i nostri kit e prodotti"},"programming":" Programma","classroom":" Classe","arduino":" Arduino","microbit":" Microbit","microbit-tutorials":" Microbit Tutorials","ressources":" Risorse","accessibility":" Cambiare il tema e il carattere del sito","lang":" Cambiare lingua","user_shortcuts":{"welcome":" Benvenuti!","signup":" Iscriviti","login":" Entrare","hello":" Ciao","account":" Il mio account","disconnect":" Scollegare","willSignup":" Mi iscrivo!","willSignin":" Sono online"}}},"newActivities":{"create":" Creare una nuova attività","delete":" Cancellare","addQuiz":" Aggiungere una proposta","states":" Dichiarazione di attività *","cancel":" Cancella","autocorrect":" Correzione automatica","correction":" Correzione dell'attività","tolerance1":" Aggiungere una tolleranza d'errore di","tolerance2":" carattere(i) sull'intera risposta dello studente.","hint":" Hint * : visualizzato se la risposta è sbagliata","title":" Titolo dell'attività *","description":" Descrizione dell'attività *","content":" Contenuto dell'attività *"},"courses":{"addActivity":" Add an activity","addActivities":" Add activities","createActivity":" Create an activity","searchActivity":" Search an activity","placeholderTitle":" Activity title","placeholderDescription":" Activity description","pagination":{"create":" Course's creation","title":" Title","parameters":" Parameters","attribution":" Attribution"},"parameters":{"title":" Course title *","description":" Course's description *","difficulty":" Difficulty *","difficultyLevel":{"choose":" Choose a difficulty level","easy":" Easy","medium":" Medium","advanced":" Advanced","expert":" Expert"},"duration":" Duration (minutes) *","license":" User license *","licenseType":{"1":" Private (only you can see this resource)","2":" Unreferenced (shareable resource by link but not findable on the Resources page)","3":" Public CC-BY-NC-SA (free, non-commercial and modifiable resource)","4":" Public CC-BY-NC-ND (free, non-commercial and non-modifiable resource)","choose":" Choose a license"}},"successfullyCreated":" Course created successfully","attribution":" Course attribution ","return":" Return ","update":" Update the course"}} \ No newline at end of file +{ + "classroom": { + "login": { + "noClass": "Il codice inserito non corrisponde a nessuna classe.", + "countdown1": " Il modulo di gestione delle classi è attualmente in beta. Se vuoi provarlo, per favore contatta il team di Vittascience.", + "countdown2": " Rilascio ufficiale in", + "hello1": " Ciao!", + "hello2": " Ciao!", + "title": " Gestisci le tue classi con Vittascience", + "neutralTitle": "La piattaforma Cabri", + "cabriTitle": " Cabri.com", + "subtitle": "Scoprire - Imparare - Condividere", + "cabriSubtitle": " The platform to succeed in math and science", + "login": "Accedi", + "activities": "crea facilmente
    le tue attività", + "cabriActivities": " Create exercises
    automatically in
    a few minutes", + "attribute": "assegna i
    ai tuoi studenti", + "cabriProgress": " Follow the progress
    of your learners", + "visualize": "visualizza
    i loro risultati", + "cabriRessources": " Access a
    variety of activities
    and share your creations", + "student": "STUDENTE", + "codeInput": "Inserisci qui il codice di classe", + "teacher": "INSEGNANTE", + "hasAccount": "Hai già un account?", + "gar": "Approfittate del modulo di classe con l'aiuto di GAR.
    Il collegamento con il GAR non è ancora finalizzato, sarà pronto presto.", + "signup": "REGISTRARSI", + "firstVisit": "Prima visita? Si prega di scegliere un login.", + "signin": "COLLEGARSI", + "registerLink": "Creare un account", + "hasReturned": "Di ritorno in questa classe?", + "forgot": "Ho dimenticato la mia password", + "error": { + "used": "Questo nome utente è già in uso, per favore scegline un altro", + "badInput": "Il tuo nome utente o la tua password sono sbagliati." + }, + "suscribe": { + "title": " sottoscrivere", + "content": " Il modulo di gestione delle classi è disponibile gratuitamente in una versione di prova. Approfittate di tutte le funzionalità con l'abbonamento Vittascience Premium. Trova tutti i vantaggi e i dettagli dell'offerta Vittascience Premium utilizzando il pulsante qui sotto.", + "premium": " Scoprire Vittascience Premium" + }, + "carousel": { + "activities": { + "title": " crea facilmente le tue attività", + "content": " L'editor di attività rende facile la creazione di contenuti educativi, tra cui testo, immagini, video, API Vittascience, presentazioni Genially e altro ancora.

    Sfogliate la banca di risorse collaborative Vittascience con centinaia di attività gratuite e riutilizzabili. Se l'autore della risorsa lo permette, puoi anche fare delle modifiche per adattare il contenuto ai tuoi studenti!" + }, + "attribute": { + "title": " assegnarli ai tuoi studenti", + "content": " Una volta che hai creato le tue attività, puoi assegnarle ai tuoi studenti. Possono essere assegnati individualmente o a interi gruppi, per esempio una classe o un club scientifico.

    Gli studenti possono accedere in modo sicuro usando un codice di classe, un link, un QRcode o un GAR, e completare le attività loro assegnate." + }, + "visualize": { + "title": " vedere i loro risultati", + "content": " Il dashboard ti permette di seguire i progressi degli studenti mentre si muovono attraverso le attività e i corsi. Trova il lavoro dei tuoi studenti in un click con la possibilità di commentare il rendering.

    Grazie al sistema di correzione automatica per blocchi e Python, la dashboard si riempie direttamente con i risultati degli studenti. Identificare rapidamente gli studenti in difficoltà e risparmiare tempo prezioso per accompagnarli." + } + }, + "register": { + "title": "Registrazione", + "description": "Completa i seguenti campi per creare il tuo account.\n", + "passwordConstraints": "Minimo 8 caratteri.", + "createButton": "Registrazione" + } + }, + "register": { + "accountConfirmationEmail": { + "emailSubject": "Attivare il mio account", + "bodyTitle": "Attivare il mio account", + "textBeforeLink": "Se il pulsante qui sopra non funziona, copia e incolla il seguente link nel tuo browser:" + } + }, + "updateUserInfos": { + "emailUpdateConfirmation": { + "emailSubject": "Conferma il mio nuovo indirizzo e-mail", + "bodyTitle": "Conferma il mio nuovo indirizzo e-mail", + "textBeforeLink": "Se il pulsante qui sopra non funziona, copia e incolla il seguente link nel tuo browser:" + } + }, + "successPanel": "Bene, ce l'hai fatta!", + "failPanel": "La risposta non è corretta", + "toCorrectPanel": "L'attività è stata trasmessa al tuo insegnante,
    che ti risponderà presto! ", + "bank": { + "helpTooltip": " La banca delle risorse contiene molte attività che puoi praticare da solo! Il tuo insegnante non avrà accesso ai risultati di queste attività." + }, + "help": { + "student": { + "label": "Contatta il tuo insegnante", + "question": "Fai le tue domande...", + "title": "Oggetto" + }, + "teacher": { + "label": "Contatta il tuo insegnante" + } + }, + "profil": { + "identity": "Nome Cognome", + "class": "CLASSE : ", + "todo": "Attività da fare", + "done": "Attività svolte", + "create": "Attività create", + "correctionToDo": "Correzioni da fare", + "switchMode": "Passare alla modalità studente", + "switchModeTeacher": "Torna alla modalità insegnante", + "accountSettings": { + "title": "Il mio account", + "firstname": "Nome", + "lastname": "Cognome", + "nickname": "Nome utente", + "email": "E-mail", + "password": "Password", + "confirmPassword": "Conferma la password", + "updateButton": "Aggiornare" + } + }, + "notif": { + "emptyContent": " Il contenuto non può essere vuoto.", + "emptyTitle": " Il titolo non può essere vuoto.", + "activityRestricted": " Non si possono creare più attività di questo tipo.", + "shareProjectTeacher": "Il progetto è stato condiviso con il tuo insegnante", + "addActivities": "Le attività selezionate sono state aggiunte alla tua lista", + "addActivity": "L'attività è stata aggiunta alla tua lista", + "saveProject": "Hai pensato di salvare il tuo lavoro?", + "savedProject": "La bozza della tua attività è stata salvata.", + "deleteProject": "Il progetto è stato cancellato.", + "shareProject": "Il progetto è stato condiviso", + "corrections": "Nelle tue classi è stato fatto un esercizio", + "deleteAccount": "Sei sicuro di voler cancellare l'account dello studente?", + "accountIsDelete": "L'account dello studente è stato cancellato", + "newPwd": "La nuova password dello studente {{pseudo}} è {{pwd}}", + "classCreatedButNotUsers": "La classe {{nomeAula}} è stata creata, ma non gli account associati (Il tuo account non ti permette di avere studenti {{numero di studenti}})", + "classUpdatedButNotUsers": "La classe {{classroomName}} è stata aggiornata, ma non gli account associati (Il tuo account non ti permette di avere studenti {{learnerNumber}})", + "usersNotAdded": "Lo studente non è stato aggiunto (Il tuo account non ti permette di avere {{learnerNumber}} studenti)", + "cantLoginLimitLearners": "Non puoi unirti alla classe. Il tuo insegnante ha raggiunto il numero massimo di studenti.", + "cantLoginClassroomBlocked": "Non puoi unirti alla classe, il tuo insegnante l'ha bloccata.", + "classNotCreated": "Non puoi avere più di una classe.", + "attributeActivityUndone": "L'attività è stata disattribuita", + "pseudoUpdated": "Il nuovo nome utente dello studente è {{newPseudo}}", + "classroomDeleted": "La classe {{classroomName}} è stata cancellata", + "classroomCreated": "La classe {{nome dell'aula}} è stata creata, insieme a tutti gli account associati", + "classroomUpdated": "La classe {{classroomName}} è stata aggiornata, insieme a tutti gli account associati", + "usersAdded": "Gli account sono stati creati", + "usersAddedFromCsv": "Gli account sono stati creati secondo il file csv", + "activityDeleted": "L'attività {{attivitàNome}} è stata cancellata", + "mustAttributeToStudent": "Devi selezionare gli studenti", + "activityAttributed": "L'attività {{attivitàTitolo}} è stata assegnata agli studenti elencati", + "activityAttributionChanged": "L'assegnazione dell'attività {{attivitàTitolo}} è stata cambiata per gli studenti elencati", + "activityCreated": "L'attività {{attivitàTitolo}} è stata creata", + "activityChanged": "L'attività {{attivitàTitolo}} è stata modificata", + "activityTitleMissing": "Devi compilare il titolo dell'attività", + "activityPlayerMissing": " È necessario inserire un URL del giocatore.", + "CsvFileMissing": "Non hai scelto un file csv", + "errorWithCsv": "Errore nell'apertura del file csv: {{errore}}", + "cantGetPassword": "Errore, non puoi vedere la tua password", + "cantResetPassword": "Errore, non è possibile reimpostare la password", + "accountUpdated": "Il tuo account è stato aggiornato", + "emailUpdated": "Vai al link di conferma del nuovo indirizzo e-mail per completare l'aggiornamento", + "firstNameTooShort": "Il nome deve essere lungo almeno 2 caratteri", + "lastNameTooShort": "Il cognome deve essere lungo almeno 2 caratteri", + "pseudoTooShort": "Il nome utente deve essere lungo almeno 2 caratteri", + "invalidEmail": "L'indirizzo e-mail inserito non è valido", + "invalidPassword": "La password inserita non è valida. Deve essere lungo almeno 8 caratteri.", + "passwordAndConfirmMismatch": "La password e la conferma della password non sono identiche!", + "unknownUser": "Errore durante l'aggiornamento dell'account: l'utente non esiste!", + "passwordInvalid": "La password non rispetta i vincoli di sicurezza.", + "emailInvalid": "L'indirizzo e-mail inviato non è valido", + "emailExists": "L'indirizzo e-mail è già assegnato a un altro account", + "UserNotExists": "Errore durante il caricamento/ripristino della password: utente sbagliato!", + "RegularUserNotAllowed": "Errore durante il caricamento/ripristino della password: solo gli studenti possono vedere/ripristinare la loro password!", + "PasswordLengthInvalid": "Impossibile recuperare la password: password sbagliata!", + "accountCreated": "L'account è stato creato. Vai al link di conferma che ti è stato inviato per e-mail per concludere la registrazione e poter accedere.", + "firstnameMissing": "Devi inserire il tuo nome", + "surnameMissing": "Devi inserire il tuo cognome", + "pseudoMissing": "Devi inserire il tuo nome utente", + "emailMissing": "Devi inserire il tuo indirizzo e-mail", + "passwordMissing": "Devi inserire la tua password", + "passwordConfirmMissing": "È necessario confermare la password", + "passwordsMismatch": "La password e la conferma non sono identiche", + "invalidUserId": "Errore durante l'invio del messaggio: il tuo login non è valido", + "helpRequestFromTeacherSent": "Il tuo messaggio è stato inviato. Vi risponderemo il più presto possibile.", + "subjectMissingTeacherHelpForm": "Devi compilare l'oggetto del messaggio", + "messageMissingTeacherHelpForm": "Devi inserire il tuo messaggio", + "invalidUserIdTeacherHelpForm": "Errore durante l'invio del messaggio: il tuo login non è valido", + "unknownUserTeacherHelpForm": "Errore durante l'invio del messaggio: il tuo login non corrisponde a nessun account dell'insegnante", + "helpRequestFromLearnerSent": "Il tuo messaggio è stato inviato al tuo insegnante", + "subjectMissingLearnerHelpForm": "Devi compilare l'oggetto del messaggio", + "messageMissingLearnerHelpForm": "Devi digitare il tuo messaggio", + "invalidUserIdLearnerHelpForm": "Errore durante l'invio del messaggio: il tuo login non è valido", + "unknownUserLearnerHelpForm": "Errore durante l'invio del messaggio: il tuo nome utente è sconosciuto", + "unknownEmailLearnerHelpForm": "Errore durante l'invio del messaggio: l'indirizzo e-mail del tuo insegnante è sconosciuto", + "activityTitleInvalid": "L'attività non può essere creata: titolo non valido", + "activityContentInvalid": "L'attività non può essere creata: contenuto non valido", + "activityIsFromClassroomInvalid": "L'attività non può essere creata: errore di contesto", + "activityUserIdInvalid": "L'attività non può essere creata: utente non valido", + "personalLimitationsReached": " Hai raggiunto il tuo numero massimo di studenti.", + "groupLimitationsGroup": " Il tuo gruppo non può più ospitare allievi.", + "groupLimitationsTeacher": " Hai raggiunto il limite di studenti che il tuo gruppo permette.", + "bothLimitationsReached": " Avete raggiunto i limiti dei discenti che voi e il vostro gruppo potete avere.", + "ClassroomNameInvalid": " Il nome della classe è richiesto.", + "reservedNickname": " Il nome: \"{{reservedNickname}}\" non può essere assegnato.", + "invalidLink": " Il link che hai inserito non è valido.", + "noUser": " Devi compilare uno studente.", + "noUserUsername": " È necessario inserire un nome utente.", + "pseudoMissingInCsvFile": " Alcuni studenti non potevano essere aggiunti perché mancava il loro nickname.", + "backendReplyPseudoMissingInCsv": " Controlla il file CSV: linea vuota o nickname mancante.", + "backendReplyPseudoMissingInUsersArray": " C'è un errore in uno o più nomi di allievi.", + "invalidActivityId": " Errore durante l'invio del lavoro: identificatore di attività non valido!", + "invalidCorrection": " Errore nell'invio del lavoro: stato di attività non valido!", + "generalBackendError": " Si è verificato un errore, riprovare più tardi.", + "currentPasswordDoesNotMatch": " La password inserita non è corretta!", + "noAnswerInActivity": " È necessario compilare almeno un campo di risposta", + "courseMissingData": " You must enter a title and a description", + "courseMissingParameters": " You must set the parameters for the course" + }, + "ids": { + "classroom-dashboard-help-panel-teacher": "Aiuto", + "classroom-dashboard-activities-panel-teacher": "Le mie attività", + "classroom-dashboard-classes-panel-teacher": "Le mie classi", + "classroom-dashboard-sandbox-panel": "Sandbox", + "classroom-dashboard-profil-panel-teacher": "Profilo", + "classroom-dashboard-activities-panel": "Le mie attività", + "classroom-dashboard-profil-panel": "Profilo", + "classroom-dashboard-help-panel": "Aiuto", + "classroom-dashboard-activities-panel-library-teacher": "Banca delle risorse", + "classroom-dashboard-new-activity-panel": "Creazione dell'attività", + "classroom-dashboard-new-activity-panel2": "Intermedio", + "classroom-dashboard-new-activity-panel3": "Assegnazione", + "classroom-table-panel-teacher": "Classe {{nome}}", + "classroom-dashboard-sandbox-creation": "Selezione dell'interfaccia", + "classroom-dashboard-ide-panel": "Sandbox {{interfaccia}}", + "classroom-dashboard-activity-panel": "Attività {{nome}}" + }, + "displayCode": " Proiettare il codice", + "navbar": { + "activities": "Attività" + }, + "classes": { + "add": "Aggiungere una classe", + "noClasses": " Non hai ancora una classe.", + "createClassNow": " Inizia a creare una classe ora!", + "form": { + "title": "Creare una classe", + "updateTitle": "Modificare una classe", + "name": "Nome della classe", + "school": "Nome dell'istituto", + "addStudent": "Aggiungere un allievo", + "noStudent": "Non ci sono ancora studenti in questa classe", + "isBlockedButton": "Limitare a questi studenti, nessun altro potrà unirsi alla classe.", + "save": "Salvare la classe", + "return": "Tornare in classe" + }, + "panel": { + "seeActivity": "Vedere l'attività", + "editActivity": "Cambiare l'attività", + "editAttribution": "Cambiare l'assegnazione", + "removeAttribution": "Ritirare l'assegnazione", + "password": "La sua password :", + "resetPassword": "Rigenerare la password", + "editNickname": "Cambiare il sopranome", + "delete": "Ritirare", + "copyLink": "Copiare il link diretto", + "learnerMode": "Passare alla modalità studente", + "dueBy": "Dovuto a" + } + }, + "activities": { + "title": "Attività", + "save": "Salvare la bozza ", + "add": "Aggiungere un'attività", + "addCabriExpress": " Creare l'attività Express", + "addCabriGenius": " Creare un'attività intelligente", + "addOther": " Altro tipo di attività", + "new": "Nuovo", + "current": "In attesa di correzione", + "waiting": "Non ancora completato", + "done": "Completato", + "todo": "Da correggere", + "anonymise": "Anonimizza la tua lista di studenti in modo da poter mostrare il dashboard ai tuoi studenti", + "save-draft": "Salva come bozza", + "validate": "Convalidare l'attività", + "accept": "Molto buono", + "vgood": "Soddisfacente", + "good": "Fragile", + "refuse": "Insufficiente", + "instruction": "Consegna", + "commentary": "Commento", + "sendResults": "Invia il commento allo studente ", + "noSend": "Questa attività non è stata fatta", + "comments": "Inserisci i tuoi commenti qui", + "activitySubmited2": " Activity submitted on", + "sentOn": " Questa attività è stata completata il", + "activityOfUser": " Attività di", + "userSentOn": " reso su", + "yourAnswer": " La tua risposta", + "studentAnswer": " Risposta dell'allievo", + "return": " Torna alle attività", + "isAutocorrected": "Questo esercizio è stato valutato automaticamente; è possibile modificare il voto qui sotto.", + "isAutocorrect": "Questa attività verrà valutata automaticamente.", + "bilan": { + "title": "Bilancio", + "results": "Risultati", + "noComment": " Nessun commento" + }, + "applist": { + "selectApp": " Seleziona l'applicazione con cui vuoi creare un'attività" + }, + "form": { + "1": "Creazione dell'attività", + "2": "Assegnazione", + "3": " Titolo", + "4": " Assegnazione", + "title": { + "label": "Titolo dell'attività", + "labelCabri": " Qual è il titolo dell'attività?", + "placeholder": "Titolo del gioco", + "placeholderCabri": " Titolo dell'attività" + }, + "iframe": { + "label": " Qual è l'URL di accesso?", + "placeholder": " Immettere un URL" + }, + "notebookUpdateMessage": " Non modificare questa sezione se si vuole mantenere il vecchio libro delle attività!", + "notebookUrl": { + "label": " Aggiungere l'URL di un taccuino", + "placeholder": " URL del taccuino" + }, + "playerUrl": { + "label": " Aggiungere l'URL di un giocatore", + "placeholder": " URL giocatore" + }, + "player": { + "labelFileChooser": " Scegliere un file", + "fileUpload": " Il file è stato caricato con successo", + "dragDrop": " Trascinamento e rilascio" + }, + "nextButton": " Avanti", + "endButton": " Finitura", + "content": { + "label": "Contenuto dell'attività" + }, + "back": " Indietro", + "validate": " Convalidare", + "buttonContinue": " Salva e continua", + "button": "Salvare e convalidare", + "success": "Congratulazioni, hai creato un'attività!", + "attribute": "Assegnare l'attività da ora", + "attribute2": "Attribuisci l'attività ", + "return": "Torna alle mie attività", + "hint": "Puoi sempre assegnare questa attività in seguito dalla dashboard.", + "modify": "Modificare l'attività", + "select1": "Selezione degli studenti", + "select2": " selezionati.", + "instructions": "Consegna specifica per questi studenti\n", + "autocorrect": "Questa attività dispone di una correzione automatica, vuoi attivarla?", + "nature": "Lo studente può presentare l'attività più di una volta?", + "dateBegin": "Data di inizio :", + "dateEnd": "Data di fine :", + "retroAttribution": " Questa attività sarà assegnata ai nuovi studenti" + }, + "toCopy": "Questo codice rende facile unirsi alla tua classe\n", + "copyLink": "Il link alla tua classe è stato aggiunto negli appunti\n", + "dateBefore": "Termine di scadenza della consegna", + "dateBeforeAvailable": " Disponibile fino a", + "integrate": "Integrare in un'attività", + "veryGoodProficiency": "Molto buono", + "goodProficiency": "Soddisfacente", + "weakProficiency": "Fragile", + "insufficientProficiency": "Insufficiente", + "addLearner": "Aggiungere uno studente", + "addLearners": " Add learners", + "addActivity": " Add an activity", + "exportCsv": "Esportazione csv", + "players": { + "STANDARD": { + "title": " Standard", + "description": " Utilizzando il lettore standard, è possibile leggere online tutti i libri di attività prodotti con lo strumento di authoring Cabri." + }, + "IMUSCICA": { + "title": " iMuSciCA", + "description": " Utilizzando il player iMuSciCA, tutte le attività svolte con lo strumento di authoring Cabri possono essere riprodotte nello studio musicale." + }, + "IFRAME": { + "title": " Altro", + "description": " Scegliete tra una selezione di lettori per utilizzare le attività svolte con lo strumento di authoring Cabri." + }, + "EXPRESS": { + "title": " Espresso", + "description": " Creare un'attività utilizzando strumenti di geometria dinamica e algebra, calcolatrice scientifica e grafica, ecc." + }, + "GENIUS": { + "title": " Intelligente", + "description": " Create un'attività con gli strumenti Express e aggiungete una valutazione automatica." + }, + "IFRAME-CABRI3D": { + "title": " Cabri 3D", + "description": " Creare un'esplorazione geometrica dinamica nello spazio." + }, + "LTI-BLOCKLY": { + "title": " Cabri Blockly", + "description": " Aggiungere azioni dell'utente a un'attività Cabri, come animazioni, serrature, ecc. programmate visivamente come con Scratch o Snap!" + } + }, + "tabs": { + "players": " Libro di attività", + "iframes": " Video e pagina web" + }, + "iframes": { + "IFRAME-VIDEO": { + "title": " Video", + "description": " Inserire l'URL di un video pubblicato su una piattaforma di hosting." + }, + "IFRAME-PAGE": { + "title": " Pagina web", + "description": " Inserire l'URL della pagina web." + } + }, + "month": { + "1": " Gennaio", + "2": " Febbraio", + "3": " Marzo", + "4": " Aprile", + "5": " Maggio", + "6": " Giugno", + "7": " Luglio", + "8": " Agosto", + "9": " Settembre", + "10": " Ottobre", + "11": " Novembre", + "12": " Dicembre" + }, + "preview": " Anteprima", + "previewTeacherResult": "L'alunno avrebbe ricevuto il seguente voto: ", + "studentResult" : "Risultato ottenuto: ", + "deleteActivityDisclaimer": " Si sta per eliminare un'attività. Questa azione è irreversibile.", + "deleteConfirm": " Confermare la cancellazione dell'attività", + "deleteActivity": " Cancellare l'attività", + "correctAnswer": " Risposta corretta", + "nbActivities": " {{ nbActi }} Attività

    ", + "moveToFolder": " Spostarsi a", + "rootFolder": " Cartella principale", + "seekFolder": " Andare alla cartella", + "foldersMessages": { + "errorDelete": " Si è verificato un errore durante l'eliminazione della cartella", + "errorCreate": " Si è verificato un errore durante la creazione del file", + "errorLenght": " Il nome della cartella deve avere una lunghezza compresa tra 1 e 30 caratteri.", + "errorUpdate": " Si è verificato un errore durante la modifica del file", + "errorMoveTo": " Si è verificato un errore durante lo spostamento dell'oggetto", + "movedTo": " Oggetto spostato con successo", + "created": " File creato con successo", + "updated": " File modificato con successo", + "deleted": " File eliminato con successo", + "createFolder": " Creare una cartella", + "deleteFolder": " Confermare l'eliminazione del file", + "updateFolder": " Modificare il file", + "nameMandatory": " Nome cartella *", + "deleteDisclaimer": " Attenzione, la cartella e tutti i suoi contenuti (attività e sottocartelle) verranno eliminati." + }, + "facultative": " Campi opzionali", + "previewActivity": " Anteprima dell'attività", + "infoRetroAttribution": " Questa attività sarà assegnata ai nuovi studenti quando saranno aggiunti alla classe.", + "infoAutocorrect": " Questa attività ha una correzione automatica", + "infoEvaluation": " Nella modalità di valutazione, i discenti possono inviare l'attività una sola volta e non hanno accesso a suggerimenti e consigli." + }, + "filter": { + "desc": "Dal meno recente al più recente", + "asc": "Dal più recente al meno recente", + "cabriExpress": " Attività espresse", + "cabriGenius": " Attività intelligenti", + "cabriVittascience": " Attività di Vittascienza", + "iframe": " Altre attività", + "placeholder": "Cerca..." + }, + "sandbox": { + "mine": "I miei progetti", + "shared": "Progetti condivisi", + "add": "Creare un programma", + "chooseInterface": "Selezionate l'interfaccia sulla quale volete creare un programma: ", + "teacherSharedDescription": "Trova qui i programmi condivisi dai tuoi studenti.", + "studentSharedDescription": "Trova qui i programmi condivisi dal tuo insegnante" + }, + "footer": { + "privacy": "Politica sulla privacy ", + "cgu": "Condizioni generali d'uso", + "copyright": "copyright" + }, + "teacherHelpPanel": { + "contactForm": { + "title": "Contattaci", + "objectPlaceholder": "Oggetto", + "messagePlaceholder": "Scrivi qui il tuo messaggio. (Massimo 800 caratteri)", + "sendButton": "Invia il messaggio", + "fillInAllTheFields": "Completa tutti i campi" + } + }, + "sandBoxCreationPanel": { + "title": " Selezionate l'interfaccia sulla quale volete creare un programma", + "knowMoreButton": " Maggiori informazioni sulle interfacce", + "interfacesDescription": { + "arduino": " Interfaccia di programmazione per la scheda Arduino", + "microbit": " Interfaccia di programmazione per la scheda micro:bit", + "python": " Interfaccia di programmazione per Python 3 progettata per l'istruzione", + "texas-instruments": " Interfaccia di programmazione per la calcolatrice con la scheda micro:bit", + "esp32": " Interfaccia di programmazione per schede ESP32 (Wemos D1R32, NodeMCU, Huzzah32, ...)", + "quickpi": " Interfaccia di programmazione per la scheda Quick-Pi" + } + }, + "modals": { + "addLtiActivityName": " Qual è il titolo dell'attività?", + "addActivity": { + "title": "Aggiungere un'attività", + "resourceBank": { + "title": "Sfoglia la banca di risorse collaborative", + "button": "Banca delle risorse " + }, + "orSeparator": "O", + "attributeActivity": { + "title": "Visualizza le mie attività esistenti", + "button": "Le mie attività " + }, + "createActivity": { + "title": "Creare una nuova attività", + "button": "Creare un'attività " + }, + "next": " Avanti", + "limitTitle": " Limite superato", + "limitDescription": " Limite del numero di attività raggiunto per questo account.", + "upgradePlan": " Aumentare il limite" + }, + "updateActivity": { + "title": " Modificare un'attività" + }, + "deleteActivity": { + "title": " Eliminare un'attività", + "description": " Siete sicuri di voler eliminare l'attività?", + "confirm": " Confermare", + "cancel": " Annullamento" + }, + "settingsTeacher": { + "title": "Impostazioni dell'account", + "lang": "Lingua", + "description": "Per cambiare la tua password o altre impostazioni dell'account", + "accessButton": "Vai al tuo profilo", + "password": "Password", + "passwordDescription": "Ecco la tua password. Memorizzala, altrimenti solo il vostro insegnante potrà comunicartela.", + "resetPassword": "Azzerare" + }, + "addStudent": { + "title": "Aggiunta di studenti", + "pseudo": "Nome utente", + "addStudentButton": "Aggiungi lo studente", + "addStudentByCsvButton": "Aggiungere un file studente (.csv)" + }, + "addStudentByCsv": { + "title": "Aggiungere studenti con un file .csv", + "description": "Puoi aggiungere uno o più studenti in una volta importandoli da un file .csv. Opzionalmente, è possibile impostare la password per ciascuno di essi. Ecco i file .csv di esempio: ", + "csvTemplate": "file modello con password", + "csvTemplateNoPassword": "file modello senza password", + "importStudentByCsvButton": "Importare gli studenti" + }, + "exportCsv": { + "title": "Esportazione in formato csv", + "exportLearnersDescription": "Scarica la lista degli studenti di questa classe e le loro password. Il file scaricato è in formato .csv.", + "exportLearners": "Scarica l'elenco degli studenti", + "exportDashboardDescription": "Scarica la lista degli studenti per questa classe e, per ognuno di loro, le attività assegnate e lo stato di ogni attività (non ancora fatta, da correggere, completata). Il file scaricato è in formato .csv.", + "exportDashboard": "Scarica il pannello di controllo" + }, + "listClass": { + "title": "Passare alla modalità studente", + "description": "Puoi facilmente testare l'interfaccia come studente e tornare al tuo profilo di insegnante in qualsiasi momento. I tuoi progressi come studente saranno salvati nel tuo account demostudent.", + "switchButton": "Passare alla modalità studente" + }, + "changePseudo": { + "title": "Cambia il nome utente", + "description": "Cambia il nome utente", + "validateButton": "Convalidare" + }, + "attributeActivity": { + "title": " Allocare l'attività" + }, + "shareProject": { + "title": " Condividere il progetto" + } + } + }, + "login_popup": { + "title": "Accedi", + "details": "Inserisci i tuoi dati di accesso per accedere al tuo account.", + "form": { + "addressmail": "Indirizzo e-mail", + "addressmail_placeholder": "esempio@dominio.com", + "password": "Password", + "password_placeholder": "La tua password.", + "forgot_password": "Ho dimenticato la mia password.", + "btn_connect": "Entrare" + }, + "success": "L'autenticazione ha avuto successo. Reindirizzamento...", + "error": "Errore. Per favore controlla i tuoi dati di accesso.", + "mailSuccess": " Un'e-mail di attivazione è stata inviata al tuo indirizzo di posta elettronica.", + "mailError": " Si è verificato un errore. Per favore, controllate il vostro indirizzo e-mail.", + "userNotFound": " Nessun utente trovato con queste credenziali.", + "inactiveAccount": " Il tuo account non è ancora attivo, clicca sul pulsante qui sotto per inviare l'email di convalida.", + "accountDeactivated": " Il tuo account è stato disattivato, contatta un amministratore se il problema persiste.", + "errorBeta": "Devi essere un beta tester per accedere a questa funzione. Contatta il team Vittascience per saperne di più." + }, + "signup-popup": { + "title": "Registrazione", + "notice": "Completa i seguenti campi per creare il tuo account Vittascience.", + "firstName": "Nome", + "lastName": "Cognome", + "mail": "Indirizzo e-mail", + "telephone": "Telefono", + "password": "Password", + "passwordConfirmed": "Conferma", + "firstNamePlaceholder": "Il tuo nome.", + "lastNamePlaceholder": "Il tuo cognome.", + "mailPlaceholder": "Un'e-mail di conferma vi sarà inviata.", + "telephonePlaceholder": "Il tuo numero di telefono (opzionale).", + "passwordPlaceholder": "Minimo 8 caratteri. Maiuscole, minuscole e numeri.", + "passwordConfirmedPlaceholder": "Ripeti la tua password una seconda volta.", + "mandatory": "I campi segnati con un * sono obbligatori.", + "submit": "Confermare", + "back": "Indietro", + "title2nd": "Per favore, ci fornisca alcune informazioni aggiuntive", + "areYou": "Sei...", + "member": "Un particolare?", + "teacher": "Un insegnante?", + "teacher-grade": "Livello di formazione", + "grades": { + "primary": "scuola media", + "middle": "Collegio", + "high": "Scuola superiore", + "highbis": "Scuola professionale", + "higher": "Post-BAC" + }, + "establishement": "Stabilimento", + "establishementPlaceholder": "Cerca per nome della scuola o città.", + "subject": "Materia insegnata", + "bio": "Mini-bio", + "bioPlaceholder": "Parlaci un po' di te, in modo che gli altri utenti del sito possano conoscere meglio il tuo background :) Massimo 800 caratteri.", + "profilPicture": "Foto del profilo (opzionale)", + "allowPictures": "Formati accettati: jpeg, jpg, png. Max. 10Mb", + "allowPublicName": "Accettate che il vostro nome e cognome siano pubblici sul sito?", + "allowNewsletter": "Vuoi ricevere la nostra newsletter via e-mail?", + "allowAlertMessage": "Vuoi ricevere avvisi via e-mail quando ricevi nuovi messaggi sul sito?", + "allowMessageReceive": "Vuoi essere contattato da altri utenti del sito?", + "eighteenConfirm": "Confermo di avere più di 18 anni (articolo 1124 del codice civile)", + "confirmCGU": "Convalidando questo modulo, accetti i termini e condizioni d'uso.", + "concernedAboutPrivacy": "Vittascience pone la sicurezza e la riservatezza dei dati personali dei suoi utenti al centro delle sue preoccupazioni. Scopri la nostra politica di protezione dei dati personali", + "errors": { + "mailUsed": "La mail {{ mail }} è già in uso. Per favore, scegline un'altra.", + "mailUsedServer": "L'indirizzo e-mail fornito esiste già.", + "lastName": "Il cognome fornito non è corretto.", + "firstName": "Il nome fornito non è corretto.", + "mailInvalid": "L'indirizzo e-mail non è valido.", + "passwordInvalid": "La password non rispetta i vincoli di sicurezza.", + "biographyInvalid": "La biografia non è corretta.", + "telephoneInvalid": "Il numero di telefono non è corretto.", + "profilPictureInvalid": "La foto del profilo fornita non è conforme al formato specificato.", + "establishementIncorrect": "Il nome dell'istituto non è corretto.", + "gradeIncorrect": "Il livello di insegnamento non è corretto.", + "subjectIncorrect": "Il nome della materia insegnata non è corretto." + }, + "success": { + "main": "La tua registrazione è avvenuta con successo! Un link di conferma ti è stato inviato a {mail }}.", + "notice": "Devi accedere a questo link prima di poter effettuare il login. Se non riesci a trovare l'email in questione, controlla la tua cartella spam." + } + }, + "switchAccessibility": { + "title": "Accessibilità", + "theme": "Tema", + "light_theme": "Tema chiaro", + "dark_theme": "Tema scuro", + "font": "Polizia", + "basic_font": "Base", + "know_more": "Leggi di più" + }, + "words": { + "send": "inviare", + "settings": "parametri", + "disconnect": "disconnessione", + "help": "aiutare", + "duplicate": "duplicato", + "delete": "cancellare", + "attribute": "attribuire", + "modify": "modificare", + "optional": "opzionale", + "evaluation": "valutazione", + "exercise": "esercizio", + "return": "indietro", + "anonymize": "anonimizzare", + "days": "giorni", + "hours": "ore", + "minutes": "minuti", + "seconds": "secondi", + "confirm": "confermare", + "username": "nome utente", + "password": "Password", + "yes": "Sì", + "no": "No" + }, + "faqTeacherNeutral": { + "1": { + "section_title": "Attività", + "question_list": { + "1": { + "title": "Qual è lo scopo della scheda Le mie attività?", + "answer": "Nella scheda Le mie attività, sarai in grado di:
    1. Creare le tue attività.
    2. Poi assegnarle ai tuoi studenti!
    " + }, + "2": { + "title": "Cos'è un'attività?", + "answer": "Un'attività è un contenuto interattivo creato da Cabri Express, Cabri Smart o da un quaderno Cabri esistente." + }, + "3": { + "title": "Come creare o modificare un'attività?", + "answer": "

    Puoi creare o modificare facilmente le attività.

    Per modificare un'attività, vai alla scheda Le mie attività e clicca sull'icona della tua attività e poi clicca su Modifica. Non dimenticare di salvare le tue modifiche.

    " + }, + "4": { + "title": "Come assegnare un'attività?", + "answer": "Per assegnare un'attività, hai tre opzioni:
    1. O vai alla scheda Le mie attività e clicca sull'icona della tua attività e poi clicca su Assegna. Poi, dovrai solo seguire i passi.
    2. Questa opzione di assegnazione è disponibile anche nell'attività stessa una volta aperta.
    3. Oppure, vai alla scheda Le mie classi e clicca su una classe. Una volta arrivati al pannello di controllo della classe, tutto quello che devi fare è cliccare sul pulsante \"Aggiungi attività\".
    " + }, + "5": { + "title": "Come testare un'attività?", + "answer": "Per testare un'attività, hai due opzioni:
    1. O vai su Profilo e clicca sul pulsante \"Passa alla modalità studente\" e poi seleziona la classe in cui vuoi stare. Vi troverete sull'account fittizio di un allievo chiamato \"demostudent\", potrete scoprire l'interfaccia \"Learner\" e svolgere le attività che avete assegnato.
    2. Oppure andate su Le mie classi nella dashboard di una classe, potrete allora mettervi nella pelle dell'allievo demostudent. Per fare questo, clicca sull'icona , avrai l'opportunità di diventare uno studente della classe e provare le attività.
    Per tornare alla modalità \"Insegnante\", basta andare nella scheda Profilo dell'account demostudent e cliccare su \"Torna alla modalità insegnante\"." + }, + "6": { + "title": "Come rimuovere l'assegnazione di un'attività senza rimuovere l'attività?", + "answer": "Per rimuovere l'assegnazione di un'attività, vai alla scheda Classe, apri la dashboard di una delle classi, poi clicca sull'attività (l'icona diventa quando ci passi sopra il mouse) e poi su Modifica assegnazione. Tutto quello che devi fare ora è cambiare le impostazioni, selezionare o deselezionare gli studenti." + } + } + }, + "2": { + "section_title": "Classe", + "question_list": { + "1": { + "title": "Qual è lo scopo della scheda Le mie classi?", + "answer": "Nella scheda Le mie classi, sarai in grado di:
    1. Creare le tue classi e aggiungere studenti
    2. Correggere le risposte dei tuoi studenti alle attività,
    3. e monitorare i loro progressi.
    " + }, + "2": { + "title": "Come posso aggiungere i miei studenti alla mia classe?", + "answer": "Ci sono diverse opzioni:
    1. In classe, puoi proiettare il codice sulla lavagna. Per farlo, vai nella tua classe e clicca sul pulsante per ingrandire il codice qui sotto:
      I tuoi studenti dovranno solo registrarsi o accedere al sito inserendo il codice. Saranno anche in grado di scrivere questo codice per accedere da casa.
    2. Puoi anche creare studenti con il pulsante \"Add Learner\" e poi inviare loro la loro password individualmente, questo è visibile sulla dashboard della classe qui sotto:
    " + }, + "3": { + "title": "Uno studente può essere in due classi diverse?", + "answer": "No, questo non è attualmente possibile." + }, + "4": { + "title": "Come si fa a bloccare l'ingresso di altri studenti in una classe?", + "answer": "Questa opzione sarà presto disponibile! Questo impedirà agli studenti di iscriversi più volte alla stessa classe per errore e impedirà anche agli estranei di entrare nella classe senza permesso." + }, + "5": { + "title": "Come assegnare un'attività?", + "answer": "

    Puoi assegnare un'attività a tutte le classi che hai creato o solo a un particolare studente.

    Per assegnare un'attività, hai tre opzioni:

    1. O vai alla scheda Le mie attività e clicca sull'icona della tua attività e poi clicca su Assegna. Poi, dovrai solo seguire i passi.
    2. Questa opzione di assegnazione è disponibile anche nell'attività stessa una volta aperta.
    3. Oppure, vai alla scheda Le mie classi e clicca su una classe. Una volta arrivati al pannello di controllo della classe, tutto quello che devi fare è cliccare sul pulsante \"Aggiungi attività\".
    " + }, + "6": { + "title": "Si può modificare l'assegnazione di un'attività?", + "answer": "Per modificare l'assegnazione di un'attività, vai alla scheda Classe, apri la dashboard di una delle classi, poi clicca sull'attività (l'icona diventa quando ci passi sopra) e poi su Modifica assegnazione. Tutto quello che devi fare ora è cambiare le impostazioni, selezionare o deselezionare gli studenti." + }, + "7": { + "title": "Come vengono valutate le attività?", + "answer": "Le valutazioni sono:
    • Manuale su 4 livelli: Molto buono; Sufficiente; debole e insufficiente
    • Automatico su 2 livelli: molto buono e debole.

    Una volta che l'allievo ha completato la sua attività, ha la possibilità di ricominciarla se l'insegnante ha selezionato la modalità \"Esercizio\" al momento dell'assegnazione. Nella modalità \"Valutazione\", lo studente non può ricominciare una volta che l'attività è stata convalidata.

    Per visualizzare i risultati, basta andare al Pannello di controllo della classe.

    Un'attività non corretta è simboleggiata da una matita nel Pannello di controllo. Per correggerla clicca sulla matita, poi semplicemente valuta e commenta il lavoro dello studente.

    " + }, + "8": { + "title": "Come fai a sapere quando gli studenti hanno completato le loro attività?", + "answer": "Quando un allievo ha completato la sua attività, riceverai una notifica via email.
    Questa impostazione sarà regolabile in futuro, al momento non è configurabile." + }, + "9": { + "title": "Come cambiare il nome di una classe?", + "answer": "Per cambiare il nome della tua classe, dovrai cliccare sull'icona della scheda Le mie classi, poi su modifica. Tutto quello che devi fare è cambiarne il nome." + }, + "10": { + "title": "Come posso rimuovere uno studente da una classe?", + "answer": "

    Per cancellare uno studente, basta cliccare sull'icona accanto al nome dello studente nel Pannello di controllo della classe.

    Attenzione, questa azione è irreversibile e chiude l'account dello studente.

    " + }, + "11": { + "title": "Qual è lo scopo del pulsante di anonimizzazione nel Dashboard?", + "answer": "Questo pulsante sostituisce i nomi degli studenti con dei numeri. Questo permette di proiettare i risultati degli studenti sulla lavagna in modo anonimo per non stigmatizzare alcuni studenti." + } + } + }, + "3": { + "section_title": "Profilo", + "question_list": { + "1": { + "title": "A cosa serve la scheda Profilo?", + "answer": "Nella scheda Profilo, potrai:
    1. gestire le impostazioni del tuo account,
    2. visualizzare le tue statistiche,
    3. e scambiare messaggi con i tuoi studenti e con il team di Cabrilog se hai bisogno di aiuto.
    " + }, + "2": { + "title": "Come posso cambiare la mia password o altre impostazioni dell'account?", + "answer": "Per cambiare la tua password o altre impostazioni, vai alla scheda Profilo. Nel caso di GAR, le impostazioni sono quelle del vostro ENT." + }, + "3": { + "title": "Come si cambia la lingua?", + "answer": "Il modulo Classroom è attualmente disponibile in inglese e francese. Per cambiare la lingua, vai alla scheda del profilo, clicca su \"Impostazioni\" e seleziona la lingua che vuoi." + }, + "4": { + "title": "Cos'è la modalità studente?", + "answer": "

    Nel tuo profilo, puoi cliccare sul pulsante \"Passa alla modalità studente\". Dopo aver scelto una classe, sarete portati a un account fittizio dello studente chiamato \"demostudent\", dove potrete scoprire l'interfaccia dello studente e svolgere le attività che avete assegnato

    Per ritornare alla modalità \"Insegnante\", basta andare al menuProfilodell'account demostudent e clicca su \"Ritorno alla modalità insegnante\".

    " + } + } + }, + "4": { + "section_title": "Domande generali", + "question_list": { + "1": { + "title": "Con quali supporti è compatibile il modulo di classe?", + "answer": "

    Le interfacce funzionano senza installazione, su computer, tablet e smartphone! Gli aggiornamenti sono automatici e i vostri programmi sono salvati nel cloud.

    Per approfittare al massimo di tutte le funzionalità, ti consigliamo di utilizzare Chrome o Firefox.

    " + }, + "2": { + "title": "Come posso creare un collegamento per accedere al modulo Classroom?", + "answer": "

    Hai la possibilità di mettere un'icona sul desktop del computer per accedere rapidamente al modulo Classroom. Per fare questo:

    Su Windows e Mac:

    1. Apri la pagina: classroom/, poi riduci le dimensioni della finestra del browser in modo da poter vedere il desktop accanto ad essa.
    2. Nel tuo browser web, usa il mouse per selezionare il simbolo a sinistra dell'indirizzo e, senza rilasciare il click, trascina il puntatore sul Desktop. Rilascia per creare il collegamento.
    3. Il collegamento viene creato. Dovrai solo fare doppio clic su di esso per aprire la pagina web collegata.

    Su Android con Chrome:

    1. Aprire la pagina:classroom/, poi premere il pulsante del menu, quindi selezionare \"Aggiungi alla schermata iniziale\".
    2. Nominare la pagina e premere \"Aggiungi\".
    3. Il collegamento viene creato. Dovrai solo fare doppio clic su di esso per aprire la pagina web collegata.

    Su Android con Firefox:

    1. Aprire la pagina:classroom/, poi premere il pulsante del menu, quindi premere Page.
    2. Toccare Aggiungi collegamento alla pagina.
    3. Il collegamento viene creato nella schermata iniziale. Dovrai solo cliccarci sopra per aprire la pagina web collegata.

    Su iOS con Safari:

    1. Apri la pagina:classroom/, poi tocca l'icona Condividi.
    2. Seleziona nella schermata iniziale, poi tocca Aggiungi.
    3. Il collegamento viene creato nella schermata iniziale. Dovrai solo cliccarci sopra per aprire la pagina web collegata.

    Si possono trovare altri tutorial su internet per creare un collegamento sul desktop.

    " + } + } + }, + "5": { + "section_title": "Problema tecnico", + "question_list": { + "1": { + "title": "Ho un bug, cosa devo fare?", + "answer": "Quando si verifica un bug, la prima cosa da fare è cercare di aggiornare la pagina. Se il bug persiste, puoi contattarci nella scheda Profilo con il pulsante \"Aiuto\"." + }, + "2": { + "title": "Come posso segnalare bug e dare feedback?", + "answer": "Se il bug persiste, puoi contattarci nella scheda del profilo con il pulsante \"Aiuto\".
    Per darci un feedback, puoi anche contattarci nella scheda del profilo con il pulsante \"Aiuto\"." + } + } + }, + "6": { + "section_title": "Licenze e permessi", + "question_list": { + "1": { + "title": "Possiamo fare una descrizione o una presentazione del modulo Class?", + "answer": "Sì, puoi riutilizzare le immagini del modulo Classroom per creare una descrizione, una presentazione, una formazione, un tutorial, un corso o altro. Se vuoi includere immagini o contenuti di attività, menziona l'autore (vedi la prossima domanda)." + }, + "2": { + "title": "Dove posso trovare il codice sorgente del modulo Class?", + "answer": "Il codice sorgente del modulo Class è disponibile sul repository git OpenSTEAM-LMS, sentiti libero di contribuire!" + } + } + }, + "title": "FAQ" + }, + "faqStudentNeutral": { + "1": { + "section_title": "Attività", + "question_list": { + "1": { + "title": "Qual è lo scopo della scheda Le mie attività?", + "answer": "Nella scheda Le mie attività, potrai:
    1. completare le nuove attività dei tuoi insegnanti.
    2. Salvare quelle che non hai ancora finito.
    3. E rivedere quelle che hai fatto!
    " + }, + "2": { + "title": "Cos'è un'attività?", + "answer": "Un'attività è un contenuto interattivo creato da Cabri Express o un'attività esistente." + } + } + }, + "2": { + "section_title": "Chiama aiuto", + "question_list": { + "1": { + "title": "Qual è lo scopo della scheda Call for Help?", + "answer": "Nella scheda Chiamata d'aiuto, potrai:
    1. Richiedere aiuto ai tuoi insegnanti in qualsiasi momento,
    2. Consultare le domande frequenti.
    Potrai seguire lo scambio dei tuoi messaggi nella scheda Profilo." + } + } + }, + "3": { + "section_title": "Profilo", + "question_list": { + "1": { + "title": "A cosa serve la scheda Profilo?", + "answer": "Nella scheda Profilo, potrai:
    1. gestire le impostazioni del tuo account,
    2. visualizzare le tue statistiche,
    3. e scambiare messaggi con i tuoi insegnanti.
    " + }, + "2": { + "title": "Come posso cambiare la mia password o altre impostazioni dell'account?", + "answer": "Per cambiare la tua password o altre impostazioni, vai alla scheda Profilo." + }, + "3": { + "title": "Come si cambia la lingua?", + "answer": "Il modulo Classroom è attualmente disponibile in inglese e francese. Per cambiare la lingua, vai alla scheda del profilo, clicca sul pulsante \"Impostazioni\", poi seleziona la lingua che vuoi." + } + } + }, + "4": { + "section_title": "Domande generali", + "question_list": { + "1": { + "title": "Come usare il modulo Classroom?", + "answer": "In qualsiasi momento, puoi accedere all'aiuto generale cliccando sull'icona in alto a destra per iniziare il modulo Classroom." + }, + "2": { + "title": "Con quali supporti è compatibile il modulo di classe?", + "answer": "

    Le interfacce funzionano senza installazione, su computer, tablet e smartphone! Gli aggiornamenti sono automatici e i vostri programmi sono salvati nel cloud.

    Per approfittare al massimo di tutte le funzionalità, ti consigliamo di utilizzare Chrome o Firefox.

    " + }, + "3": { + "title": "Come posso creare un collegamento per accedere al modulo Classroom?", + "answer": "

    Potete mettere un'icona sul desktop per accedere rapidamente al modulo Classroom. Per farlo, cliccate sull'icona:

    Su Windows e Mac:

    1. Aprire la pagina:/classroom/Poi riduci la dimensione della finestra del browser per vedere il desktop accanto ad essa.
    2. Nel tuo browser web, seleziona con il mouse il simbolo a sinistra dell'indirizzo e, senza rilasciare il clic, trascina il puntatore sul Desktop. Rilascia per creare il collegamento.
    3. Il collegamento viene creato. Ora devi solo fare doppio clic su di esso per aprire la pagina web collegata.

    Su Android con Chrome :

    1. Aprire la pagina: /classroom/, poi premere il pulsante del menu, quindi selezionare \"Aggiungi alla schermata iniziale\".
    2. Dai un nome alla pagina e premi \"Aggiungi\".
    3. Il collegamento viene creato. Tutto quello che devi fare è un doppio clic su di esso per aprire la pagina web collegata.

    Su Android con Firefox :

      1. Aprire la pagina: /classroom/, poi premere il pulsante del menu, quindi premere Page.
      2. Premere Aggiungi collegamento alla pagina.
      3. Il collegamento viene creato nella schermata iniziale. Basta cliccarci sopra per aprire la pagina web collegata.

      Su iOS con Safari :

      1. Abrire la pagina: /classroom/, quindi toccare l'icona Condividi.
      2. Selezionare dalla schermata iniziale, quindi premere Aggiungi.
      3. Il collegamento viene creato nella schermata iniziale. Basta cliccarci sopra per aprire la pagina web collegata.

      Puoi trovare altri tutorial su Internet per creare un collegamento sul desktop.

      \n" + } + } + }, + "5": { + "section_title": "Problema tecnico", + "question_list": { + "1": { + "title": "Ho un bug, cosa devo fare?", + "answer": "Quando si verifica un bug, la prima cosa da fare è cercare di aggiornare la pagina. Se il bug persiste, puoi contattare il tuo insegnante nella scheda Chiamata d'aiuto." + }, + "2": { + "title": "Come posso segnalare bug e dare feedback?", + "answer": "

      Se il bug persiste, puoi contattare il tuo insegnante nella scheda Aiuto.

      Per dare un feedback al tuo insegnante, puoi anche contattarlo nella scheda Aiuto.

      " + } + } + }, + "6": { + "section_title": "Licenze e permessi", + "question_list": { + "1": { + "title": "Dove posso trovare il codice sorgente del modulo Class?", + "answer": "Il codice sorgente del modulo Class è disponibile su il repository git di OpenSTEAM-LMS, sentiti libero di contribuire!" + } + } + }, + "title": "FAQ" + }, + "manager": { + "profil": { + "manager": " Passa alla modalità manager", + "groupAdmin": " Passare al modo amministratore di gruppo", + "bio": " Bio", + "group": " Gruppo", + "apps": " Applicazioni", + "personalApps": " Applicazioni personali", + "email": " E-mail *", + "nickname": " Nome utente", + "lastname": " Nome *", + "firstname": " Nome *", + "phone": " Numero di telefono", + "grade": " Livello di istruzione *", + "subject": " Oggetto insegnato *", + "school": " Istituzione *", + "password": " Password *", + "confirmPassword": " Conferma la password *", + "help": " Chiama aiuto", + "onlyVisibleGroupAdmin": " Visibile solo a te come amministratore del gruppo:", + "onlyVisiblemanager": " Visibile solo a te come manager:" + }, + "account": { + "activate": { + "success": " Il tuo account è stato attivato!", + "alreadyactive": " Il tuo account è già attivo.", + "noToken": " Nessun token è collegato a questo link." + }, + "active": " Conto attivo", + "registration": { + "success": " Registrazione riuscita!", + "emailSent": " Ti è stata appena inviata una mail, segui il link in essa contenuto per attivare il tuo account e continuare il tuo collegamento al gruppo \"\"", + "accountPublic": " Accettate che il vostro nome e cognome siano pubblici sul sito?", + "newsletter": " Vuoi ricevere la nostra newsletter via e-mail?", + "mailAlert": " Vuoi ricevere avvisi via e-mail quando ci sono nuovi post sul sito?", + "allowContact": " Vuoi essere contattato da altri utenti del sito?", + "confirmAdult": " Confermo di avere più di 18 anni (art. 1124 del Codice Civile).", + "disclaimerVittascience": " Vittascience pone la sicurezza e la riservatezza dei dati personali dei suoi utenti al centro delle sue preoccupazioni. Scopri la nostra politica di protezione dei dati personali.", + "mandatory": " I campi segnati con un * sono obbligatori.", + "cguVittascience": " Convalidando questo modulo, accetti i termini e condizioni.", + "cguOpenSteam": " Inviando questo modulo, accetti i termini e condizioni.", + "description": " Completa i seguenti campi per creare il tuo account.", + "title": " Registrazione", + "registrationFinalizationSuccess": " La tua registrazione è stata completata, ora puoi accedere.", + "registrationFinalization": " Completa la tua registrazione.", + "descriptionFinalization": " Completa i seguenti campi per finalizzare la tua registrazione.", + "noTokenOrUserActive": " Token non valido o utente già attivo.", + "noToken": " Gettone mancante" + }, + "notAllowedUpdateUser": " Non hai i diritti per modificare questo utente.", + "notAllowedDeleteGroup": " Non hai i diritti per cancellare questo gruppo.", + "notAllowedDisableUser": " Non hai i diritti per disabilitare questo utente.", + "notAllowedDeleteUser": " Non hai i diritti per cancellare questo utente.", + "passwordUpdatedMessage": " La tua password è stata cambiata con successo.", + "noUserFound": " Non è stato trovato nessun utente che usa questo indirizzo.", + "noUserFoundToken": " Questo token non corrisponde a nessun utente.", + "missingData": " Mancano informazioni per finalizzare l'operazione.", + "missingDataDate": " Mancano informazioni sulla data per finalizzare l'operazione.", + "errorSending": " Si è verificato un errore durante l'invio dell'e-mail.", + "userNotFound": " Utente non trovato e/o già attivo.", + "userNotFoundId": " Utente non trovato", + "errorActivation": " Si è verificato un errore durante l'attivazione.", + "notAllowedToCreateUserInThisGroup": " Non ti è permesso creare un utente in questo gruppo.", + "subscriptionOudated": " La tua applicazione APPNAME è scaduta in DATA. Per ulteriori informazioni, contattate un amministratore." + }, + "users": { + "users": " Utenti", + "add": " Aggiungere un utente", + "activated": " L'account è stato attivato con successo.", + "errorActivation": " Si è verificato un errore durante l'attivazione dell'account.", + "create": " Creare un utente", + "delete": " Cancellare un utente", + "deleteConfirmation": " Per favore, scrivi \"delete\" nel campo sottostante per completare l'azione.", + "deleteIntentionSA": " Stai per cancellare l'utente: ", + "disableIntention": " Stai per disattivare l'utente: ", + "deleteConfirmationTitle": " Confermare la cancellazione", + "disableConfirmationTitle": " Confermare la disattivazione", + "update": " Modificare un utente", + "updateAppUser": " Modificare le applicazioni dell'utente", + "updateApp": " Modificare le applicazioni", + "disable": { + "message": " Inserisci \"cancella\" nel campo sottostante per completare l'azione.", + "intention": " Stai per cancellare l'utente: " + }, + "mail": { + "resetPassword": { + "subject": " Resetta la tua password.", + "bodyTitle": " Resettare la password.", + "textBeforeLink": " Se il pulsante qui sopra non funziona, copia e incolla il seguente link nel tuo browser:" + }, + "finalizeAccount": { + "title": " Finalizzazione della registrazione", + "subject": " Finalizzazione della registrazione", + "bodyTitle": " Completa la tua registrazione.", + "textBeforeLink": " Se il pulsante qui sopra non funziona, copia e incolla il seguente link nel tuo browser:" + } + }, + "showResetLinkTitle": " Reset della password.", + "showResetLink": " Link per la reimpostazione della password.", + "groupAdmin": " Amministratore del gruppo", + "admin": " Manager", + "teacher": " Insegnante", + "usersPerPage": " Utenti per pagina", + "userDeleted": " Utente cancellato.", + "userDisabled": " Utente disabilitato.", + "userCreated": " Utente creato con successo", + "userUpdated": " Utente modificato con successo", + "chooseNewPassword": " Scegli la tua nuova password", + "passwordUpdate": " La tua password è stata cambiata", + "enterYourEmail": " Inserisci il tuo indirizzo e-mail", + "sendResetMailDescription": " Cliccando su Invia, ti verrà inviata un'e-mail contenente un link per cambiare la tua password.", + "yourMail": " Il tuo indirizzo e-mail", + "emailSended": " Le è stata appena inviata un'e-mail con la procedura da seguire.", + "emailNotReceived": " Se non avete ricevuto l'e-mail, cliccate su Start again (è possibile un leggero ritardo).", + "mailSentToUser": " Una e-mail è stata inviata all'utente per finalizzare la registrazione.", + "mailNotSentToUser": " L'e-mail di completamento della registrazione non può essere inviata all'utente.", + "mailSentToUserReset": " Un'e-mail è stata inviata all'utente per cambiare la password.", + "mailNotSentToUserReset": " Non è stato possibile inviare all'utente l'e-mail di cambio password.", + "appsUpdated": " Le applicazioni dell'utente sono state aggiornate.", + "updateAppModalTitle": " Applicazione", + "teacherGrades": { + "0": " Primario", + "1": " College", + "2": " Scuola superiore", + "3": " Scuola professionale", + "4": " POST-BAC" + }, + "teacherSubjects": { + "0": { + "0": " Scuola elementare", + "1": " Altro (specificare nella biografia)" + }, + "1": { + "0": " Educazione fisica e sportiva (PSE)", + "1": " Educazione morale e civica", + "2": " Educazione artistica", + "3": " Francese", + "4": " Storia-geografia", + "5": " Lingua viva", + "6": " Matematica", + "7": " Fisica-Chimica", + "8": " Scienze della vita e della terra (LSE)", + "9": " Tecnologia", + "10": " Altro (specificare nella biografia)" + }, + "2": { + "0": " Arti", + "1": " Arti circensi", + "2": " Biologia Ecologia", + "3": " Biotecnologia", + "4": " Cultura della creazione e del design", + "5": " Creazione e innovazione tecnologica (CIT)", + "6": " Ecologia-agronomia-territori-sviluppo sostenibile", + "7": " Educazione fisica e sportiva (PSE)", + "8": " Educazione morale e civica", + "9": " Educazione scientifica", + "10": " Educazione tecnologica trasversale (ETT)", + "11": " Francese", + "12": " Ippologia ed equitazione", + "13": " Storia-geografia", + "14": " Storia-geografia, geopolitica e scienze politiche", + "15": " Scienze umane, letteratura e filosofia", + "16": " Lingue e culture antiche: latino o greco", + "17": " Lingue moderne", + "18": " Lingue, letteratura e cultura straniera e regionale", + "19": " Letteratura e lingue e culture antiche", + "20": " Gestione e amministrazione", + "21": " Matematica", + "22": " Scienza digitale e informatica (NSI)", + "23": " Fisica e Chimica", + "24": " Principi fondamentali di economia e gestione", + "25": " Salute e sociale", + "26": " Scienze della vita e della terra (LSE)", + "27": " Scienze ingegneristiche", + "28": " Scienza e laboratorio", + "29": " Scienze e tecniche di teatro, musica e danza (S2TMD)", + "30": " Scienze e tecnologie di laboratorio (STL)", + "31": " Scienza e tecnologia alberghiera e della ristorazione (STHR)", + "32": " Scienza e tecnologia dell'industria e sviluppo sostenibile (STI2D)", + "33": " Scienza e tecnologia del design e delle arti applicate (STD2A)", + "34": " Scienze e tecnologie di gestione e amministrazione (STMG)", + "35": " Scienza e tecnologia digitale (NST)", + "36": " Scienze economiche e sociali (SES)", + "37": " Altro (specificare nella biografia)" + }, + "3": { + "0": " Arti applicate e culture artistiche", + "1": " Economia-Legge", + "2": " Economia e gestione", + "3": " Educazione fisica e sportiva (PSE)", + "4": " Educazione morale e civica", + "5": " Educazione tecnologica trasversale (ETT)", + "6": " Francese", + "7": " Storia-geografia", + "8": " Lingue straniere", + "9": " Matematica Fisica-Chimica", + "10": " Prevenzione della salute ambientale", + "11": " Altro (specificare nella biografia)" + }, + "4": { + "0": " Educazione superiore", + "1": " Altro (specificare nella biografia)" + } + }, + "groupFull": " The group is full" + }, + "group": { + "generalInfo": " Informazioni generali", + "add": " Aggiungere un gruppo", + "create": " Creare un gruppo", + "delete": " Cancellare un gruppo", + "deleteIntention": " Stai per cancellare il gruppo: ", + "update": " Modificare un gruppo", + "academy": " Accademia", + "join": { + "firstVisit": " Prima visita?", + "signin": " Entrare", + "signinSubtitle": " Inserisci i tuoi dati di login per accedere al tuo account", + "addressMail": " Indirizzo e-mail", + "disclaimer": " Aderendo a questo gruppo, autorizzi l'amministratore del gruppo a bloccare e/o disattivare il tuo account. Avrai anche accesso alle applicazioni che il gruppo ha.", + "lastStep": " Rimane solo un passo! Clicca sul pulsante qui sotto per completare il link.", + "joinGroup": " Stai per entrare nel gruppo \"\"", + "notfound": " Gruppo non trovato!", + "notfoundDetails": " Non troviamo nessun gruppo relativo al codice .", + "clickToRedirectLogin": " Clicca su Continua per essere reindirizzato alla pagina di accesso.", + "clickToRedirectHome": " Clicca su Continua per essere reindirizzato alla pagina iniziale.", + "invalidLink": " Link non valido!", + "invalidFormatLink": " Il formato del link che hai inserito non corrisponde.", + "success": " Ti sei unito al gruppo \"\"!", + "alreadyLinked": " Lei fa già parte di questo gruppo.", + "error": " Si è verificato un errore durante la connessione.", + "userNotFound": " L'utente non è stato trovato, puoi cliccare su Continua per essere reindirizzato alla pagina di login.", + "contactAdmin": " Se il problema persiste, contattate l'amministrazione.", + "groupFull": " Il gruppo a cui vuoi unirti è pieno.", + "onlyOneGroup": " Fai già parte di un gruppo, non puoi unirti ad un altro.", + "mail": { + "textBeforeName": " L'utente :", + "textAfterName": " si è unito al gruppo:", + "emailSubject": " Un utente si è unito al gruppo." + } + }, + "name": " Nome del gruppo", + "description": " Descrizione del gruppo", + "link": " Collegamento del gruppo", + "applications": " Applicazione(i) di gruppo", + "groupsPerPage": " Gruppi per pagina", + "groupDeleted": " Gruppo cancellato", + "groupCreated": " Gruppo stabilito con successo", + "groupUpdated": " Gruppo modificato con successo", + "groupCreateFailed": " Il gruppo non può essere creato", + "showLinkTitle": " Collegamento del gruppo", + "usersWithoutGroups": " Utenti senza gruppo", + "searchResult": " Risultato della ricerca", + "usersInactiveOrNoRegular": " Utenti inattivi e non regolari", + "usersWithoutGroupsDescription": " Raggruppamento di utenti non collegati a nessun gruppo", + "usersInactiveOrNoRegularDescription": " Raggruppamento di utenti inattivi e/o non regolari", + "groupDeleteError": " Il gruppo non può essere cancellato.", + "groupFull": " Il gruppo è completo.", + "groupFullAdminMessage": " Il gruppo è completo, non puoi aggiungere altri utenti.", + "toManyStudentsFromTheTeacher": " L'insegnante che vuoi aggiungere al gruppo ha troppi studenti.", + "toManyStudentsInGroup": " Il gruppo non può ospitare così tanti studenti, l'insegnante ha troppi studenti.", + "teachersPerGroup": " Insegnante per gruppo", + "studentsPerGroup": " Studenti per gruppo", + "activitiesPerGroup": " Attività per gruppo", + "activitiesPerTeacher": " Attività dell'insegnante", + "studentsPerTeacher": " Studenti per insegnante", + "maxStudents": " Numero massimo di studenti", + "maxActivities": " Attività massime" + }, + "title": { + "activeUsers": " Utenti attivi", + "inaactiveUsers": " Inactive users" + }, + "buttons": { + "continue": " Continua", + "validate": " Convalidare", + "activate": " Attivare", + "cancel": " Cancella", + "finalize": " Finalizzare", + "send": " Invia", + "login": " Entrare", + "signup": " Registrazione di", + "join": " Unisciti a", + "save": " Registra", + "close": " Chiudere", + "disable": " Disattivare", + "delete": " Cancellare", + "reset": " Azzerare", + "update": " Modifica", + "search": " Cerca", + "restart": " Ricominciare", + "copyLink": " Copia il link", + "show": " Vedi", + "manage": " Gestire", + "user": { + "add": " Aggiungi utente", + "create": " Crea utente", + "delete": " Cancellare l'utente", + "update": " Cambia utente", + "addGroup": " Aggiungere un gruppo", + "createA": " Creare un utente", + "updateA": " Modificare un utente", + "updateApp": " Modificare le applicazioni" + }, + "group": { + "add": " Aggiungere il gruppo", + "create": " Creare il gruppo", + "delete": " Cancellare il gruppo", + "update": " Modificare il gruppo", + "createA": " Creare un gruppo", + "updateA": " Modificare un gruppo" + } + }, + "sort": { + "user": { + "bylastname": " Ordina per nome", + "byfirstname": " Ordina per nome" + }, + "group": { + "byname": " Ordina per nome", + "bydesc": " Ordina per descrizione" + } + }, + "input": { + "placeholder": { + "delete": " cancellare" + }, + "writeDelete": " Dovete scrivere cancellare per convalidare l'azione.", + "writeDisable": " Dovete scrivere deactivate per convalidare l'azione." + }, + "table": { + "lastname": " Nome", + "firstname": " Nome", + "applications": " Applicazioni", + "group": " Gruppo", + "description": " Descrizione", + "descriptionMandatory": " Descrizione *", + "right": " Ruolo", + "resetPassword": " Ripristina la password", + "link": " Link", + "name": " Nome", + "nameMandatory": " Nome *", + "dateBegin": " Data di inizio", + "dateEnd": " Data di fine", + "outDated": " Superato", + "maxStudents": " Numero massimo di studenti", + "actualStudents": " Studenti attuali", + "maxTeachers": " Numero massimo di insegnanti", + "actualTeachers": " Insegnanti attuali", + "maxStudentsPerTeachers": " Numero massimo di studenti per insegnante", + "maxStudentsPerTeacher": " Numero massimo di studenti per insegnante", + "activityType": " Tipo di attività", + "maxActivitiesPerGroup": " Numero massimo di attività per gruppo", + "maxActivitiesPerTeacher": " Numero massimo di attività per insegnante", + "monitoring": " Monitoraggio delle applicazioni", + "image": " Immagine", + "userNoRights": " Nessun diritto assegnato", + "userAdmin": " Direttore", + "userTeacher": " Insegnante", + "restrictions": " Restrizioni" + }, + "apps": { + "apps": " Applicazioni", + "create": " Creare un'applicazione", + "updateSuccess": " Applicazione modificata con successo", + "createSuccess": " Applicazione creata con successo", + "deleteSuccess": " Applicazione cancellata con successo", + "deleteIntention": " Stai per cancellare l'applicazione: ", + "outDatedApp": " L'applicazione che vuoi assegnare non è aggiornata.", + "infoMaxStudentsPerTeachers": " Determina il numero massimo di studenti che un insegnante del gruppo può avere.", + "infoMaxStudentsPerGroups": " Determina il numero massimo di studenti che il gruppo può avere (sommando il numero totale di studenti degli insegnanti con questa applicazione)", + "infoMaxTeachers": " Determina il numero massimo di insegnanti che possono avere l'applicazione in questo gruppo", + "usersLimitation": " Limitazione degli studenti per utente", + "groupsLimitation": " Limiti del gruppo", + "activitiesLimitation": " Limiti di attività", + "defaultRestrictions": " Restrizioni predefinite", + "ltiApps": " Applicazioni LTI", + "clientId": " ID cliente *", + "deploymentId": " Deployment id *", + "toolUrl": " Strumento url *", + "publicKeySet": " Chiave pubblica *", + "loginUrl": " Url di accesso *", + "redirectionUrl": " Redirect Url *", + "deepLinkUrl": " Link profondo url *", + "privateKey": " Chiave privata *" + }, + "activitiesRestrictions": { + "updateAll": " Cambiare le restrizioni", + "update": " Modificare una restrizione", + "create": " Creare una restrizione", + "delete": " Rimuove una restrizione", + "updateSuccess": " Restrizione modificata con successo", + "createSuccess": " Restrizione creata con successo", + "deleteSuccess": " Restrizione rimossa con successo", + "deleteIntention": " Stai per rimuovere la restrizione: ", + "restrictionType": " Tipo di attività", + "maxActivity": " Attività massima", + "closeDetail": " Chiudi il dettaglio", + "restrictions": " Restrizioni di attività", + "appRestricted": " Creare più attività!", + "appRestrictedUL1": " Hai raggiunto il limite di {{attività}} associato al tuo account.", + "appRestrictedUL2": " Per aggiungere altre attività, contatta il tuo amministratore.", + "appRestrictedSubtitle2": " Un problema con il tuo abbonamento?", + "appRestrictedSubtitle3": " Contatta il supporto", + "appRestrictedGarContent1": " Hai raggiunto il limite di {{attività}} associato al tuo account.", + "appRestrictedGarContent2": " Per aggiungere altre attività, contatta il responsabile delle assegnazioni RBM della tua scuola." + }, + "defaultRestrictions": { + "update": " Cambiare le restrizioni predefinite", + "type": " Tipo di attività", + "max": " Massimo", + "add": " Aggiungere una restrizione", + "updateUsersRestrictionsSuccess": " Restrizioni utente modificate con successo", + "updateGroupsRestrictionsSuccess": " Restrizioni di gruppo modificate con successo", + "updateActivitiesRestrictionsSuccess": " Restrizioni di attività modificate con successo", + "deleteActivitiesRestrictionsSuccess": " Limitazione delle attività cancellate con successo", + "getDefaultRestrictions": " Vedere le restrizioni predefinite", + "restrictionAlreadyExist": " La restrizione esiste già" + } + }, + "navbar": { + "items": { + "kits": " Materiale", + "community": { + "title": " Comunità", + "dropdown": { + "vittamap": " Vittamap", + "blog": " Blog", + "gallery": " Galleria", + "about": " Chi siamo" + } + }, + "tooltips": { + "backToHome": " Ritorna alla pagina iniziale", + "programming": " Codificare con Vittascience", + "resources": " Centro risorse educative", + "classroom": " Gestisci le tue classi con Vittascience", + "hardware": " Scopri i nostri kit e prodotti" + }, + "programming": " Programma", + "classroom": " Classe", + "arduino": " Arduino", + "microbit": " Microbit", + "microbit-tutorials": " Microbit Tutorials", + "ressources": " Risorse", + "accessibility": " Cambiare il tema e il carattere del sito", + "lang": " Cambiare lingua", + "user_shortcuts": { + "welcome": " Benvenuti!", + "signup": " Iscriviti", + "login": " Entrare", + "hello": " Ciao", + "account": " Il mio account", + "disconnect": " Scollegare", + "willSignup": " Mi iscrivo!", + "willSignin": " Sono online" + } + } + }, + "newActivities": { + "create": " Creare una nuova attività", + "delete": " Cancellare", + "addQuiz": " Aggiungere una proposta", + "states": " Dichiarazione di attività *", + "cancel": " Cancella", + "autocorrect": " Correzione automatica", + "correction": " Correzione dell'attività", + "tolerance1": " Aggiungere una tolleranza d'errore di", + "tolerance2": " carattere(i) sull'intera risposta dello studente.", + "hint": " Hint * : visualizzato se la risposta è sbagliata", + "title": " Titolo dell'attività *", + "description": " Descrizione dell'attività *", + "content": " Contenuto dell'attività *" + }, + "courses": { + "addActivity": " Add an activity", + "addActivities": " Add activities", + "createActivity": " Create an activity", + "searchActivity": " Search an activity", + "placeholderTitle": " Activity title", + "placeholderDescription": " Activity description", + "pagination": { + "create": " Course's creation", + "title": " Title", + "parameters": " Parameters", + "attribution": " Attribution" + }, + "parameters": { + "title": " Course title *", + "description": " Course's description *", + "difficulty": " Difficulty *", + "difficultyLevel": { + "choose": " Choose a difficulty level", + "easy": " Easy", + "medium": " Medium", + "advanced": " Advanced", + "expert": " Expert" + }, + "duration": " Duration (minutes) *", + "license": " User license *", + "licenseType": { + "1": " Private (only you can see this resource)", + "2": " Unreferenced (shareable resource by link but not findable on the Resources page)", + "3": " Public CC-BY-NC-SA (free, non-commercial and modifiable resource)", + "4": " Public CC-BY-NC-ND (free, non-commercial and non-modifiable resource)", + "choose": " Choose a license" + } + }, + "successfullyCreated": " Course created successfully", + "attribution": " Course attribution ", + "return": " Return ", + "update": " Update the course" + } +} \ No newline at end of file From 1882e4d491e573df05f222c6c5c79fcc0e20e541 Mon Sep 17 00:00:00 2001 From: Baptiste LEDOYEN Date: Tue, 4 Apr 2023 14:33:55 +0200 Subject: [PATCH 228/340] add ar and modify es --- classroom/assets/lang/ar/ns.json | 6 ++++-- classroom/assets/lang/es/ns.json | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/classroom/assets/lang/ar/ns.json b/classroom/assets/lang/ar/ns.json index 9c84683e..4d30c437 100644 --- a/classroom/assets/lang/ar/ns.json +++ b/classroom/assets/lang/ar/ns.json @@ -295,8 +295,8 @@ "comments": "اكتب تعليقاتك هناك", "return": "العودة إلى الأنشطة", "numberOfTries": "عدد المحاولات", - "isAutocorrected": "تم تصحيح هذا النشاط تلقائيًا ، يمكنك تغيير الملاحظة أدناه", - "isAutocorrect": "سيتم تصحيح هذا النشاط تلقائيًا", + "isAutocorrected": "تم تقييم هذا التمرين تلقائيا، يمكنك تعديل الدرجة أدناه.", + "isAutocorrect": "سيتم تقييم هذا النشاط تلقائيا.", "states": "حالات النشاط", "content": "محتوى النشاط", "correction": "تصحيح", @@ -354,6 +354,8 @@ "دجنبر" ], "preview": "معاينة", + "previewTeacherResult": "يكون الطالب قد حصل على العلامة التالية:", + "studentResult" : "النتيجة المحصلة:", "deleteActivityDisclaimer": "سيتم حذف هذا النشاط من المنصة", "deleteConfirm": "هل تريد حقًا حذف هذا النشاط؟", "deleteActivity": "احذف النشاط", diff --git a/classroom/assets/lang/es/ns.json b/classroom/assets/lang/es/ns.json index f4c94c20..f49a5069 100644 --- a/classroom/assets/lang/es/ns.json +++ b/classroom/assets/lang/es/ns.json @@ -425,8 +425,8 @@ "12": " Diciembre" }, "preview": "Vista previa", - "previewTeacherResult": "El alumno habría recibido la siguiente nota: ", - "studentResult" : "Resultado obtenido:", + "previewTeacherResult": "El alumno habría recibido la siguiente nota :", + "studentResult" : "Resultado obtenido :", "deleteActivityDisclaimer": " Está a punto de eliminar una actividad. Esta acción es irreversible.", "deleteConfirm": " Confirmar la supresión de la actividad", "deleteActivity": " Eliminar la actividad", From 62b65b65cda28d56a16e7c67660cce21618d4887 Mon Sep 17 00:00:00 2001 From: Baptiste LEDOYEN Date: Tue, 4 Apr 2023 15:00:08 +0200 Subject: [PATCH 229/340] modify panel name [FR] need traduction --- classroom/assets/lang/fr/ns.json | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/classroom/assets/lang/fr/ns.json b/classroom/assets/lang/fr/ns.json index 5adb6520..dc17dd95 100644 --- a/classroom/assets/lang/fr/ns.json +++ b/classroom/assets/lang/fr/ns.json @@ -207,11 +207,12 @@ }, "ids": { "classroom-dashboard-help-panel-teacher": "Aide", - "classroom-dashboard-activities-panel-teacher": "Mes activités", - "classroom-dashboard-classes-panel-teacher": "Mes classes", + "classroom-dashboard-activities-panel-teacher": "Activités", + "classroom-dashboard-classes-panel-teacher": "Classes", "classroom-dashboard-sandbox-panel": "Bac à sable", + "classroom-dashboard-ressources": "Applications", "classroom-dashboard-profil-panel-teacher": "Profil", - "classroom-dashboard-activities-panel": "Mes activités", + "classroom-dashboard-activities-panel": "Activités", "classroom-dashboard-profil-panel": "Profil", "classroom-dashboard-help-panel": "Aide", "classroom-dashboard-activities-panel-library-teacher": "Banque de ressources", From 4d270b912e25fcb4515454803532995749848016 Mon Sep 17 00:00:00 2001 From: Baptiste LEDOYEN Date: Mon, 3 Apr 2023 18:27:50 +0200 Subject: [PATCH 230/340] add event for displayPanel click --- classroom/assets/js/scripts/buttons.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/classroom/assets/js/scripts/buttons.js b/classroom/assets/js/scripts/buttons.js index 0544c176..edb12910 100644 --- a/classroom/assets/js/scripts/buttons.js +++ b/classroom/assets/js/scripts/buttons.js @@ -288,6 +288,10 @@ function navigatePanel(id, idNav, option = "", interface = '', isOnpopstate = fa if (id == 'classroom-dashboard-activities-panel-teacher' && idNav == 'dashboard-activities-teacher') { foldersManager.goToFolder(foldersManager.actualFolder); } + + // custom event to trigger click on panel + const event = new Event('navigatePanel'); + document.dispatchEvent(event); } /** From 1d67efae915c5536317ccec3d211a44b7d59e020 Mon Sep 17 00:00:00 2001 From: Baptiste LEDOYEN Date: Tue, 4 Apr 2023 15:09:02 +0200 Subject: [PATCH 231/340] modify css for better iframe --- classroom/assets/css/main.css | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/classroom/assets/css/main.css b/classroom/assets/css/main.css index 7dcdc333..fcd26d1c 100644 --- a/classroom/assets/css/main.css +++ b/classroom/assets/css/main.css @@ -452,9 +452,6 @@ button { #classroom-dashboard-top-bar { display: flex; padding: 0.5em 1em; - align-items: center; - justify-content: flex-end; - position: absolute; width: 100%; width: -webkit-fill-available; @@ -463,12 +460,13 @@ button { #classroom-dashboard-content { background: var(--classroom-background); - flex: 0; - flex-shrink: 1; - flex-basis: auto; + display: flex; + flex-direction: column; + border-radius: 15px; height: 100%; width: 100%; + position: relative; overflow-y: scroll; @@ -511,9 +509,7 @@ button { padding: 1em; } -.dashboard-block { - margin-top: 2.8em; -} +.dashboard-block {} @media (max-width: 768px) { From 1cfd9e5ab39367d25cc311c6537388412ef9da3a Mon Sep 17 00:00:00 2001 From: Baptiste LEDOYEN Date: Tue, 4 Apr 2023 17:08:22 +0200 Subject: [PATCH 232/340] =?UTF-8?q?modify=20apps=20ic=C3=B4nes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- classroom/assets/media/my_apps.svg | 27 +++++++++++---------------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/classroom/assets/media/my_apps.svg b/classroom/assets/media/my_apps.svg index ce7caefc..5d21bd1b 100644 --- a/classroom/assets/media/my_apps.svg +++ b/classroom/assets/media/my_apps.svg @@ -1,18 +1,13 @@ - - - - + + + + + + + + + + + From 910bb004ff08ce87f7e11f0b4c7445c40b9fdb27 Mon Sep 17 00:00:00 2001 From: Baptiste LEDOYEN Date: Tue, 4 Apr 2023 18:10:15 +0200 Subject: [PATCH 233/340] add new icons of apps --- .../assets/media/applications/ADACRAFT.png | Bin 0 -> 25678 bytes .../assets/media/applications/APPIMUSCICA.png | Bin 0 -> 20438 bytes classroom/assets/media/applications/ARDUINO.png | Bin 0 -> 21065 bytes classroom/assets/media/applications/ESP32.png | Bin 0 -> 23690 bytes classroom/assets/media/applications/EXPRESS.png | Bin 0 -> 29604 bytes .../assets/media/applications/MICROBIT.png | Bin 0 -> 20112 bytes classroom/assets/media/applications/PRIMARY.png | Bin 0 -> 20045 bytes classroom/assets/media/applications/PYTHON.png | Bin 0 -> 24460 bytes classroom/assets/media/applications/README.md | 1 + classroom/assets/media/applications/STM32.png | Bin 0 -> 21760 bytes classroom/assets/media/applications/TI83.png | Bin 0 -> 20765 bytes classroom/assets/media/applications/WEB.png | Bin 0 -> 19676 bytes 12 files changed, 1 insertion(+) create mode 100644 classroom/assets/media/applications/ADACRAFT.png create mode 100644 classroom/assets/media/applications/APPIMUSCICA.png create mode 100644 classroom/assets/media/applications/ARDUINO.png create mode 100644 classroom/assets/media/applications/ESP32.png create mode 100644 classroom/assets/media/applications/EXPRESS.png create mode 100644 classroom/assets/media/applications/MICROBIT.png create mode 100644 classroom/assets/media/applications/PRIMARY.png create mode 100644 classroom/assets/media/applications/PYTHON.png create mode 100644 classroom/assets/media/applications/README.md create mode 100644 classroom/assets/media/applications/STM32.png create mode 100644 classroom/assets/media/applications/TI83.png create mode 100644 classroom/assets/media/applications/WEB.png diff --git a/classroom/assets/media/applications/ADACRAFT.png b/classroom/assets/media/applications/ADACRAFT.png new file mode 100644 index 0000000000000000000000000000000000000000..8e7cf682761b7b8a61fe2c94647892a620e37dff GIT binary patch literal 25678 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%0AwBE>1f}(&#JlYVF+ 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 FV1f~OSyBK1 literal 0 HcmV?d00001 diff --git a/classroom/assets/media/applications/APPIMUSCICA.png b/classroom/assets/media/applications/APPIMUSCICA.png new file mode 100644 index 0000000000000000000000000000000000000000..b62c1fe9ac79c7d88e0918dcb8217448bf8a3001 GIT binary patch literal 20438 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 literal 0 HcmV?d00001 diff --git a/classroom/assets/media/applications/ARDUINO.png b/classroom/assets/media/applications/ARDUINO.png new file mode 100644 index 0000000000000000000000000000000000000000..3e828014cb57b69bc1611b5be9c7b33d2b8c4155 GIT binary patch literal 21065 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 P00000NkvXXu0mjfYF676 literal 0 HcmV?d00001 diff --git a/classroom/assets/media/applications/ESP32.png b/classroom/assets/media/applications/ESP32.png new file mode 100644 index 0000000000000000000000000000000000000000..1dfb5535a493a374be46caf73ac227d77b52d0dc GIT binary patch literal 23690 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 literal 0 HcmV?d00001 diff --git a/classroom/assets/media/applications/EXPRESS.png b/classroom/assets/media/applications/EXPRESS.png new file mode 100644 index 0000000000000000000000000000000000000000..27be8b81f356ff887e76525c5c88df03e5598894 GIT binary patch literal 29604 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 P00000NkvXXu0mjflo>O- literal 0 HcmV?d00001 diff --git a/classroom/assets/media/applications/MICROBIT.png b/classroom/assets/media/applications/MICROBIT.png new file mode 100644 index 0000000000000000000000000000000000000000..bb8aef92869687ad2f27ff174dee71a1c757e163 GIT binary patch literal 20112 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 literal 0 HcmV?d00001 diff --git a/classroom/assets/media/applications/TI83.png b/classroom/assets/media/applications/TI83.png new file mode 100644 index 0000000000000000000000000000000000000000..8c41648605f77e0a3898fb67647280adc90c6026 GIT binary patch literal 20765 zcmXtAWmH>Tv&P*D1ZnZ22~LZY;!xZ}2=2w*ihC*00>x6?-2z2|d(i^L-Q9~8zj?p4 z?vJyQwa>|xnK`p(o_ThnG}Pn?@m}Jgpr8;cD#&V~prCU8ci~_mTYLgyJ&_-{E(&_? zC@6F@|6QnaA{#p>C=4iyvQpqr8ONEp8Gz~JXJ=2lxGC-Lk%a9i1dugW%1bR9coBHxvma+uvnK*l1b$?yrh0{`vcl>ffRD*-ezXj&&&uq&97(6yi37?g`> z;L!>kD1iE)sCFFM)`ZvC7383gk}R~JYm5enOd}G}Aw%S31r8mrV*_g2G%T9nw5=P- z=#XvzV-E9Ta-g^2iL!5v(oD=&w>L@*gb0cY!GQBS#u;So#PjaeO1h0lt05b;27>b% ztVAUSyk#pHD7mhL8ZIigQ7E!#;G{VuQUE|fcer6YUJsYqq1;I~4dNVz4hbPAEhu29 zA;he?>hTIPGx(&`9`9d0KvW9_~O4wU)s9>qBZiUWzaEiEMUi3VRh7v&; zLBvo@S8dW9)8P`&0#kytiy>V>hChr6r|%{l&4y{~q!Z8~ICw9#G*N~q)UUCWZoS z?|Ubs13%S!t2ByI^4#rU7Vwu?U`cu&O(MBrLvZ3()&8N%O&A7P&=ihJ*uae~$}y#K z&z{Po#St=$s+>b*YW1o;H8}jyQJkSCHU$4U6v3HJf@i>rsoi2KmUv(5X`JzTGqy{q z5QQ6?^8>0RO9;95X1esdQ6sa%q*o2E=ee(Mmj0Ud(}0r_H5dFH^hE!9Q^6g~tkB;K zLfyWa0|XE>aGX8@5JyR?tH{sy1J;AyN~V38KN*OWv$NIJl+N{DLF!>CNah7jat?|F9FVP1F z>sA23Tfnr~A=jujL;dl5TXTM8~l%>LH2E}f!E2KcC0ia z?e}XkzjS9VsdfMS+(p!$pRZ8tGDAG;>W{_Ye!81aw2QB91lyM9YW;0{7ED%F*in+X z92Th86lRh~W;;w6C-3IA8ZK?MY(GO3(Lk0^R~LQ}Ah3}cH33&E^N>LJc1pZ{@?*x7 z{pC6vp`D~D@W1*V7 zX5WfF*J6EauhYPbM@NH{BRgolMCS@Z5EeaWa^Bf4Uk{^(L8RwHs#l521pjqWK;YlkhciCUWIaLDqVY9Y&tLIdK_2 zPK_bxY%pEVS1Ch58ei>J8=WuwoIC12U1-NiG(B~k+VLVlBX2b|5=RpeqE^(bWm;%3 z^ciftMIAY`vhM=iWv>E9cgK#!J@%R+LZ@O`s=d_cZ5(x4UapcnJD%SCEvwxL1AYnY z2e4*ho!RNt9L1@|iU0GzAd7oz&|Q+LXVOe-h0EQ6uKn_d3Zwa-@JKoQ3i1#c}&q7lnMwMmtW;!2RL87rr$!+%F z)0$2G&9o!L&D`HIZ!s15#ZOH^{nyWnO_x{2GtYOhvBnC+m6s?V98(V6*Cu2%tx%wQ zYfAie(WFq!V8CoQCG!$!EQ!wla8aIy|8|oSe0BKzhh2%NlLPe!ibmzP@~PNaW88a? zw06g)I{59?<~zoj7V!r!4ED^q#ih&c1(PMOu^kDCzYSO~mW^DUKscS?>(eB;DrG*i z{C1V>eqiZ1@SQ1gEG(d0@SvbjA8K?Ox9B?T#=mNJuV;)qO$d=C5BM4Tk<11FSq3sY7s^gx6a5K5NNuM3UZ*s29;rS zVQKMJor!yY4%lQhG&a_G`+iLO`wQU`$Cxb0qKTi}v7I5{7b_W;i}7QegeKuT3pbml z8l>B3ba=j3zJM8f_9YVh@CerA9!a|2NO)uz^5MWRFQdxUdDBVStwf4;aKRGS@TKRy z<2&@SJ5W_Ky#MS4<<6_?keG$*B>}s`ykdb(EsCwqPESH{i`tiO_A6SKDZ^tbohv@U z*HhBz9E|GSicvKjQB6NYz*vJhSQ`N^5eaCOQ|O>Ae*hMUQ@0RZ$!a-a!!RjmrE`+) zsx&)bTkbY=NJ@z{7(#V66l}kJ9{Doxfj-F2sJ<36MC%nQ8}2x}jpA}jP&?DPK3)jK zE(1~)0>~@Z!hsi51{S#z!LhQ$OP#55>;fM&u}g!`*WO+pjbW{P#;(%s@Ll&uQ+b!f zOfng=y$!$Q!{Xl#quy@NI<3>fuZT}LB(Fe3#$Jsj$ohU1{!dln*))J88i(d*0Ya50zj#;^guTwdk=lW5Yx(C64yq~oZ0Knb8NZIK6IDUtguFz)Q zDfnt%bpBeHQK;UwOG*gSQ%mh{Nk4qO%xQt(t;di^h?|k0V8!!cnrM*M>P+$TM0jxN zZ?um^vTdrd%C|cf<4UTZegIAN-hl|fLnt8b8nq@MIkfoU=}!=DLUAa(+GoATZu9Y` z30@r>>Qdu$N1!9>So9Y0j)-RN=i_w8^Yzs{Ork`J9j8_0mfNl(9;20BUnvYGZo=|H zzZ4ZBJE}CMlWHm#5lDv^>K|>|`GVYd9*Gyvh$ZWVHwaf~w7 z3pDAJca?32MClUl(R#PR_PdA5Cqc&(F{c6u&eD6lmq7C{JP z!0=yW$RWD!RjPZ?$H}|hkfDgceJu?atECwu?~%pJPG?>F_=$B{sjqmHr3qj1!XXmy@w_>2O zdT%kFeiRlYE0-Y|+{mRaCkpxYWzMP9$evrzCb#J4rG7JneCPbxF;wU-2 z!{I9sMZ4QyiN}QCq;H4(BHTQN;Fk!892O_BugJBcLsUkU(uxl-DC*GYe0r8{CrC&P z0l`CJhq}I@)&MsDn@ICUOx)X9?v|~EWoN+#%Pv+_7<+}9-@j7(0(dAzCyeL)YS$2l{Mi1HYRAEfK>^AUsj z@L0JrW@yM|~p%c+rqe;ikPIu<}4%@DPGS?NZYwQ!SR#|pHVOgf2jK@IBY?a>S zP0-zvI%l_xc8LPZZfT8D-Xu^MF0EGU-o^=!oB3zPqFU8LGCl|q#Jzpw5}oB~Is(le z8((}>rr^hB3WbcH@p_pSaxoL&fy&;FJLgxLVp0SRZo`D3B6_%0ln5tgMsuC)_DDMK z`|7Gw&$;!0pN!^!7eEMug_vxwv>fO8TDMH!R!nk(F{NI61g(w~ZAxLw5GBOWftV{q zUdaH>2$ZAUUTZ6dQCxpLy6EJ0s7~Cv@2-K(X$UJ_oBCy|NCUA{D>o$qNwV){JEMd6 zOHWi6JMqqSl&jN@O}CR^Yj+`sHi>Kd*e?24x+AwwUoP5(Ke%fpr)_qVo+WM8dg>dJ zX4&K5>nIZ9mXZbQY1rB`EHK$pkOm+1{^%`21f^z&7hTpm38k{$ihRn-aWi* zj!enSOL#*~j9EnZe4Br`8n{R7%x{(()L!bAg-@(H#_%gEJZ{-+JN1)*2#D6Oq`cM@ zf&x-Vcn1}c8X|KsLU%r8y=d${K6H>e{{?6 z)rJ0mL1nt%OG_bV@9aCRE;y6n2lrSnqL;8dpq&C4C`h}}`l1Fia)rj?8tsO6O}7LZ zvc7+FRZ}0dJ4&d`-SQ6`X;QXV5y9AXB!8yTY!*YmM0}}<_*{buGQ~v~JeE=ldiy@5 zdT3Bj@vtHR12n#;2P@Nr8Kwn`eYag+_C|;wT#zS;(cE0LT!c_yfvPZ=Y(h9Nx#T1( zVjO~#lOWOr8h38XnjGED=GTJta5tc8*A*KFZ{@+F_m*qp^PQhUQy4R6!3iaIbzwY- zCS!K8b341+Eyd{g;}@t^`&Vp$FVeDbXS4t?Lsy3?H;sIG%T| z?`xSagV$pHEkPROW~#?J!|Vf6JTz5fdf{utD>iV%GDlmHk-&_gBNo@`V%zYGqrP9a z2=d*f{Jy}c{enYBBRUo3`LX27y|ykxuqMz$L1DWri3IY?1aog}XsWO#ELl5&#Zl}i zXk&0!6>)v{GyZHG14v{z7f>iK2&@|C)iT8-z$~?5)t$Bq)(2?^L8?5uI0zG@598JS zeRtrc*`i{>j*}Bh=`~X9>YKLSrhQ2PWKIeXjYc8&+;9t|&5;`i zQ{j!dG~sy_zrh7=sE*M=E|1=x&1EmSMp)Sluq<%6?8DD3Ux`HlaN*K;n5DgRm}R4h z1l1e-^*G(y=i>pDiP{Sovs|rW8QM28pTCNJTsbyj$Veutc0;dYcS)7*mCR*43o}=k zNI1DeHIEYGbe_JYHg>a9s+B>mcNVkw4Zd^_t+KIIoN4D^ahAZ2Nyl5w_?GUqh=?dd zk9>^Eh-f`-t-a1#7hNzr`=CMYTj<%{r%$g18iO<@&4qcSi(gY`*>LzO25c z5h)`^E#|$@Gb}~NR*@5*x<_C+WxZ&r8|g=2BX@MDop!7a0-cf7Mo zYTTs53&?Wn&$1lt2Qv}(7C(-@Ewh8j?KwRz3i6v|;F6K4`w~UX$nb;|lp(X4+%?6Ur>Ef}jqzy%0Br3yf3f(#@RtJj zO0{fiKZu9T#GoDIm{)p+Hgf?3<29S@0n5y}KlAKrOEMssX5vYm73{H;rm=Y#6w^wQ z$Gr8e!@OsgiUEGH;tz*QuomC)jS1uiKmA8&)y|(Vg$+tPQ=J`PHJAxPoTwHO$&5W6 z)g3f{e=A#3yju-lqPSYhLbvciCq3)5^4A2zz*FRe0_v40xK$ z@l{A{vDd=akyTh41E5>186C4wewo+%-8vj@tSF*krly<_+~}nj5@Ll5dKB1gC&&Kz zzp&r%G}kmjwS!x2|3xcTN#J!x>ouh*tf-MFf8Z^mIYedcBuQQCyt$X<ZmX)e%Nx!!C*!4cNF7!TBxl{N0;H~MB&TJMp zr~MjmU6or|z0;tD)7})<*AhNx6ty({zid%tqr}<$etRi7QPB*YSCzl1LPq>)e+)Wf zp{b_qZSE_}^4ltx7k|=BQS#%0B4>!MvBdpQ41yo))7xg{IyQNYZ&|XmHeAci?-3FR zr{pfHZ<+4D_c1(5_$XeuRz51>u__@=b#64(O;?1?e9e~rWYOZ^7yMG5(2tAXZdzph z5-{r3$=dIGT9t9Tu~h7%ZX#wr9U3-_m<_OvW-*mG6(^j6l^M5d9o+OXYtbOVmMxAa zWy<*L>#(4U_oGHqKP$^^)U!TkJ?eQLWYdiWgKY3=-;WH}yUgP>Xdj5EA=DB4krl)5 zzS+>e5zEVO;a2}Ke9n_t;@$?QN$H(Ybk`NhE|;e}Skj5cTnm-A6hDXc9qgs=T9u7D zX3Xl#oT9rrvmJ-t_jOw-c1xGZjn^%azXPt;j@D2?(Y*UuX8Ce7MHhWEunn+U2=m*= zo60Y7hVZad-w9}Y5{=q#h!I;3QK*EgmWK)nS>&~UAd67^aD_t zUlh1q^PGK;1aVSV`^Ke9UVCmY=`>@u0TqHAav~1*nl9$Jwb`Zk_%4klZ7(a7-BTo2 zz7BaxZ8TH8^j>Q(%@jvsth-Zq$D zQ@!I9_!JsXNrreI+>3;bMmsqte`uJ-cRluW`3|s&2ORub{T&pBN(S?HmOpWqqoNKt zii8EVjaa{chu?yT6f#;4YLEU)^hijt*ybk!TM^UyxYOjg%3^n`qNA>Y(1iNA({Fm-})a zp?gyuMi;&2o`W+&rNhi5v?QjTZCcWWU!~xR^iBBZpp%Cf#5V**_NBca4hz z=(3951b(siR@%~VzFw)ab-j7+71o+~UNC0a{RC#QQ_$6R9GJH6X3%%KywjF(JFn;3gJu~Cr2yQzAw*T& zB#(kPrT$61DK_Q}+0C1-H311T%y#hL>D>ynsK|` zT-F{ixGS8N*#g8%&DswWTKQ+N8ftUZYA`oSqg*p=spMj!$@N)G{+oESudGq^&C0^u z26}Q<&j#t4)j}OI?QWDNJNf~Q1TX{@@@%?6jm%eav(u!TLCLt-NL-BX%dm-*I`M6{ z5^fIkONOSFRdY2GPJRz*(FN7{Q4Q;94yyt%=J?e^+@av7Xgq9H(Io0Jd--Ndzwg6f z-j|S)k4gtOqJiePnV!Z)TlZ^&^rB>ZR1^Lb$-yvbrCW)_&RP#$Fp;wK)JWI23|CFs z8*^}puB%dq7j=d@RlVlY@7=+O@TQHIKbr}ugj-ktvJo-qV+_CTkJv5-BnID%X^#l! zGY}19@CVQm>1T>cY$bXK|0p#!-by&`W6SwU2s+|qO+Bez&lWp{5^DU| z2=`KutMayS~OmNkkFj^>&;$gqQ1U z6uF^j%a#mMc7+ue2dSkJ?hGG%gS1=&g}@ znG-yxjHXIv%uDOOeA|PDPk1m6&WcR&3o2%7t56ETN-Ay_^b`1x@D|&44w~K>p516U zwXi}ubVFC{0#iGxh5E_4S zG>#z(ufVE`QbyVods?4G|QOu99JsZ8mnMZ8|mj^BVPlFRofe zhAGl2G2#%My?1~QAVyYhhY?2C#*nZKd3aZJr2*;J`5SR4S?9cs;y*nQ?}YJLVn$qlbq`o#cO+> zL@qzwPzi<}?^VrV?BW=Ij>(Eye@%2zPu_5Qvd_RmG}IZ--zKkRU}|=mSP|KMG;kOs z`#Ef=o`h9v%{<5X3J&ZfcoBZ@K(;T+{FctV$`6@l|xg|M;Xqf&y`L$RA z5DhZ)EK(64pT}%l>Q^Hp^I;NMAL3pzNAvD(}0=n4#~mg|LZup`CN+Te4WH zkk);@4frKe5-7#OpSMtkYoCU;8sPDNIyTG7)Ft?d6r|al)r_owsyKOYy5y*#?~#9e zQw3dbOnxJ9Eou{4BMaYPv4`R(lyK$eREFRAM}L`W9r4z^-j~^_R{1@t7NJS5f%EzW zolfJh>y-+gPc3tld-*c);CqqLWI-1qjdDw(SJpqDXz}q~2n}B!25M8drXS+?YbX#$>+!7SG{@Rz{2Q-<3V-cphTS5lq z6N{ZxTtkM4(#C}@7Kpp@Esiq!@4V8|+Aw}8fbJ8}wsWYpK5hRn02#?tS)D^j8w;rh zIPg9-5DjltAcMtR>#HyN=fLDQ>Y_-|o$I>ffBqw+LyqfhL+}L@gt?2-&ZD@obQv5~ zOfxFX*%$74#~8j30o&Uky^z&BCpJIftrcUQpzb%-K2XaT(i=1|6M^M zT&OAmfa_L9-SonkAq&hZkFm%M>`J4XlLBln%=|%Z@NGGwS(YddQNED~i5Pq9uX9B| zE+HBv=Jgu)l-%5o91Tw6r4YhWYma3Q``H7Sp0-^7<~J{UPOdj7Nnpf;t+RBc8#elb z=I|!9cR6zUwVk{GvPx!1Rg%OYQvEP#Mj5Mh;pSC^EIuBMm7zn<$#tr$T|J^`WX%9S z7jVv@ig@^{W?rinv9Bb9KX@DB-HvP{lCFg^H~mctl%%85s}2^cdFs2^K}(TpscAzu ze^_!S-jzM*P#Lw!);LF?$uHNXMgjLj?ga6ckcBLwx!b!0M~sRRnua=^@pRZls16yN z8JEvV%;B*%E1&pv5QMnygYGD=!;lDzUVTP&-oXyrS2wIlKccWQjoShw$T|}IzO0$w z!1eh?oGkX`Q;Pn$=RVs_q~Dfna0XSI8kSDQ=Z4L#ccG2i&(M$HD254b(%5OADg z-!zLG31DJ+#)PlfbhR?(epUDKKu0w^4E#fZPl`VAa67#xp?jp`by=D7bEq(c;7qD@$-V;<@v#wOYb|S9tnfj^Z33Jf~P2i_eUc_Sp8<3Dk^I8h_5g; znKeWkkMXq7IR=RV@_!{%r8oRWjzDBJ^hRE1=h${1VpqxAf=KYcekzwWz4(PdA>VuI37);@DE%YmvzR8Fq*KwIfY>n){p2!Ws?7Gs#rSb z5@DU+s>5TNRd3Bq$modPNS&14t>*pKyrt!N5TQ&HYCqso@OAw>NHwgvXUlK_ObiB<@QIKWu_jU&xe5``l*I`hDJwg#%GskF&s(1{~nWBTDLT5%UJAzXHL08v3G%~)IRK1$d4oT*?6iChBW{7D{j{hc~m{aKfvBi9X#7YIxKh9F?uDc#B zKq~f`=#cG!pCg03KZ>0$u!z(;DlB;j($V4%5l&!U+T0@*`3m%9%Wd9)J4nmevxYx% zn%PNiQ$FY;a{yB8%J(dai2nvIZPOQ*8%oDCYgf=AePW?7CepuEPI8GuC~q-~>uZPR zx#>ppy=4;YHQvv%6tUT6L&h&iQ5ZdynI?d7HL_JNL;;v^v{Mz*tsH=%D;SZEbVaY_ zcalKdy-tqM=?wXRBF6#>r64H8_j%dz_tc%@pcqP>@w?N>s;hD7yl_9H2WolHX9cicf^w|jBc$6S!!zgz5gkaa>;+Kj;78sp%sUT;Kz@6;q6)qJG_J*q}sd(Q@ZPLS33IJuuA6u zy4?YyiEQqbVSl3Bq4y1r%Tk;N48IaQ^)N9hC=%1mXGeV;@2?XW&0c0>E;bCbsiu)4 zvU&AS5ec8Q_TlR1Z=~in+`^C~1uq3A;HvddMAU`8EAw*8(a6d4w}Kue8Bi|wr}R3q zs{dXg+?%~#w&mGfGE(3x4WH;dq8Qb*5Pb+Yn?=bRuXZdU?b6Q?MJA8PN7eKv{lNTJ zLKG2*rL~sl`;Cu901a<&0zCe1sg&IvYN=JZ|6QU+Zvh^dyg5~LuPl12_Mi5Zw+TfO z==i#mID`=1?mwTPu}H+I>#Ko~^#TUxVnv7Lt5naM#-j)9`kFUS=1u`8sTfCc=j0!} zd04GA@vdAFX6E25C0%))G6Ad?3k%k6%~~#BX(`k#(sQPpS{=u-ipsmt}GM_1uo%hPH6l_v0oKk^y1IW5#O27 z9^ls^HQj#&lG#yw;Pt3?`kXphtLk*~ zfFd{vSGb{YhxPKp@3fxo4Dy|dk`B$@)tvz>=-r14{h;02S(rvgwC#vl=~4dcczV+$=#>Yc{Iu1XfUwo7eqejMzk(cMlq9~GQrEf7{IGhV11dXC0j{K?4h^x_T( z(7kUDNG}CU9Mq;!ifc_IpDNDgC|Vb?T81CuH1q5GP6KL!gs`sy3>qB<)!cG3CuaUg zDAVXs>SSF_NW9AuxtjBD7QSNJZW68^c0o#`#^B~e2L7#EAi`F;)ejB!c75S6u|_~m zd4fFw`x5+^;mzKrRw7~6)7a7 zowl{vDmF@miGOwE{atO3?96w@3Ukm(>Z0*k+S^%r6d+ttfSW-+^;gPPWvLK934z0w z?xNfMCcd4H)m1G6odT01K)iv@3jJ~N`1I+xkR?DO93p7x#E+O)Ic-)hd+D569@~C9 z1HC3!#N~HMzt2S90-{DnS zPDK!REWl}I@cptUri9VPx$8PrE3>?ncY<8uWCNC6O4KJU*EcuEi`Nf7n|rzmqB!QO zcqSu8RZ!YW zR=p;C&hN7BO?S8n1FAYV^MyQSQc_lrsVOakMftz|CTpr>U}U89J}^-TI5G5It`7V& z_h+UdePM15qv2ofInflvW9yOK$dJXy~WF2SC%vq>rx-n1Vm4d zr_{2khn{3vT!J-WUY*Y~_9%+Vdy%%tlEHvg%WTDUx6}}$>y>VE3%>{`LM0}Ig@utK zMr-(8Ke86d*pe1v-99mgU&=jT-R8f38~MwG;@=jkR3Ko?%N0F zwn+FSkZf+%XZ;onjnz;qQ-FJ@k*m*zRVb1ri8(uByS8LYpUrCa@s4uLwS|{`=RpR1 z?#lxor0wGI2E)(m{yyEG6A|WW2$n{d{lyxkelLiABEo^0eLHZO|8sq1wPGRzEV}*! zK2}6SaYK+-EICH1l|pDRrY(9dlqoZOURZhG;NpnlCC?#DHMa*X&okd zK!Sdai)VE4!ea{73v_eYHS=I9v7ZdRpBkpj$X@90=Owi0?wZj7>EdT5cEp1t<2Sm+ zESra0bC!oqH!{ctc_QI0FIS*T0cVWGX0NWhyXzor7NPjGST@Na6r7*DO^`_W4$Rki z(!g@sH|ZWdcw~1c>uj0+BT71XBkJr3vQYcES=FWWEG+R?_&YWn?55|(mLR`UDf9%6 zplK)QDr>-0X>DvQ@y-ikDHx;0vqqI$KVaTxMI)C`XMQYs9#vfT8i}euu`LDg=+R(I zcWE%Kk!Lb63!gN!oG*xP?J*p2ZN({r)2ivYzed^<44*cdveO!! z-397i(gy3sNayDYsuHfe!>%1(^bcB0p?#Qi)PvXGqRgf&f4k0!$o~=1lR?hP#AR)~j0TRFpYYT}`NL=2VJ&#Met%gnY`caf19Uzm> z(Jy@G7%r2-^4QY+u*l5WrKiL~Sz3T@9MVEB{piTj3&t8HIGqErC!(^0XgU8FSDiwK zqpe!51%=u)#PY7m=G1~69W%URTws}@c!rSnri#($`T6YM1o6-FcT1Dl_ic>|L)LTv zYQgu~A%xDKV)OclwMpGvU2&wnt2`U6ZfmDM=c#j&gRy#;zI7&@x_@Y>3}2zw%DlZr z{neMp9MQ;Sd~eO@Vbui>0!L@yLkACl1^GbsbusN!ph$O#kar))IK+ zwK5SUjt5Q+zgNP901Y+=w(kU=uCrkEeszSX08BozJ@~Q9e&G^CTCR~CSXmDrxtYfY zf&4f5P4II&3gPeZ2k}-BO3r*4mm|+BCV%q#8RyhG`!G~@k#hV>(etJ($rLjbo_1#z zY>iDBbpCZQpwbswp1orJ3B{J{y(EF7!eNe(sVTv6rHIm6QHk}JW=?y(_RF{_n6w-3 zZ`%7pIZ^(AXv*hT$&bLd(5`^qra7*l#|zLGvhy$ud%mr*HTN|OoEL!ZADx~2A1^S2 z;#fBLd(s=1@5pcZ4dtq|KZR2Eq(mzbLV%NB`q&m{pLePXWfkO;dH2>cC%)psTJi|g zM-ljN&ih~HLfjQKd(t~I$sqle#k#*dQ-k5mRUp?d#)aoY{MCzDTA_d?iKSsn#`$*V z;hh_TCeZU^C8ckJy&0WX$D$-CAHJ&m<>PgIW=?l^25r#&y2Mk|eIB!fgMkY08aWN7 zilntCpNrz>D>Ur~TcvhTx2ooevWdFwg=oK&v2<4m&MP~>gAq3_tJ{W4X^GWY_B2m%H%3B|b^Jl%$@rdgy#hKxK@=ffw6nlCKd?kCIzSzVFCc3lMZ zt<~nB=90@uX*?c@9Gy4P-}S^`cpxlAbxtHzK}_fT&7eM1<@is<403-af=K3k9We&p zr5HV)s;3#Iln2Hc|JQ*I9N7V~lGqFyFsf{NEcUG?c=rQt%e_A;!pR8+<8->2Qg{`L z0w~NUlUQWc=Te@1&efbEGlrv$*J``>e2Yx)SC_!G#G~m;)1PlU0$-peFh3lUkVm_5 zFmj(R%W=ZPxnsg$LB#+xCQc05sK;O5R)f|by;t=<9OGPaqKJtI%ay-rsW9gWEyTFN zoRy-Viw@6*J;S4sj-&f@#;VQ%)xE{Y`KD?HAze zKDk;#8yXnU9jF|wty}n~w9_C&>F3vw)5XC41YO-XNcCee_4X_!TT&J>I6;su>VTN9{jG zV9rR7#Q`*ttH;yI&Ba@*9bwGP$@UHqX|$Ld)y9rsy=oADgcW5fn>^Dtj*Z75wCh4= z8tQNojtimQR(P0=;uo_l$QR+%RFcJ2*RUOb*r?v#A*Wk5q6-w=xU+X5Qlc4uPVWFq zoN^gfC2nZDS%KJDGj#1q_t+#CHCLDiMPaZao|cQq0`r-x%PLM)+( zda5+ze!1mxQtv_nl;KoLd7_v!9;BsL%2T?uiQk{UY8ofO+cgvi>C+yWlznQ^QfrRQ z5{=^`aa?UYeJs>9`dh#&kFMF!#+nDYW*f z6)GckskUT}=^A7x)PQ6P`+g5e@L21XA~2M4(*-BZlp+q{q2b@|qL{ks?|=VF5egDN zm0wbm$~a9p`-7`bXe5qwe^>Z${_RT0vRghSo|e;Kk%v^ru1c_0_Y$Dc#SKcqLUg-T zTSC^wiobf-6FP11biOr)$P9f4fQ84Yoh_|Qlz(LV7!=J%h@$9KwSrgo*ZU$nU^ikn zJ>uj*(u;Syp4~cPd3a(8fQjIaejT};%~SIkN#$e;AgW6-xjBC3+y2Rbdzu5t%z?Ti z(=Wi`IsojloR)ATYV2pVjbyAhfa4Q4?BKi_W=<;ElyAJPz^0~{dwn7L{aXk`V)-+= z_<*&M`}Xp^fmhY87s_3zcU#g2Hid3BRQ<=80W)NL+SPvh!Ri8{+%A5Iiy@9(S2JZ~ z#@a>yckjb%o0DiIdQadG4MhXG7R(Aw4|}rv`)#Y=?}HQ}r++JPh&#^laQkZS@n{Xj zU`U+VYrMNhGu*04zMs{WjaWYA{~anoSILTYhq7ABMTEbrV7}oiwvp}*ZsL4?Pow~K zTeeho|Liy>u{b5{T=mxp)uzcUat~}{1CXhvMFAnyL{KYIj4n=zj~1KzOq@MYQj2I( z2CZBbeMTKi{oQr5HtblYb`OW)VH?u2M5axO|0KlWACaeao|o!=j=SwO=SQibR3c4U zGk!)!L9Mt+hpI|h+u9!}G&tJCp@?Af)JyuKu~65paywI_wbF?Ph4s-UMXi0XE`0W_ zKzgyD<-ZG{ptV@^w8*&o+hrpC7kF7BhHkeknET6S1%9x zMSjmha_;{Qt0GPZiIiUXb#mTRYM;FFn*_}7<5@Oqz4E&#i{CHPema}eK~{X`!vW!3 zYZyv3^k>4DT*mnyjXt(A_Do#RKP%X+WLThsOk&nhe=BPC1X?~l9jzX-H8B2mtY^IC z95sttPL9q^9_MkehEwSlH%PO`Zr7`Hkf)mMXE?8X1bVxuf#@8OWH;a2?hA{ ztGZw<<_Mhz|8+&PSfzIwTwlOo87T#N_rsd=;>-=Sly8_xb*vg9+`!nA_k%67t@Fqn zCZ>9|!+jUaDN@X)tEW)y53a8diV!~TZHc>qOmRlyzh~w;EG4sTkV$-9Ub_C0Xr1lB ziq_}WBo33pVLanp)Zq;|fFSuVL-Ofx;4S9h+~TtR?2)0{e4j+T7|?SRh%n)eJd-VY^*sNA9fNX^Y&C%f#PcRRiu@CeHZ|0P3%=ZiOOw*B{O zZXoYm*S$K?6+RQD?&3+ky*|shRu$q6MCvvSy9zENr*O%36+s?9CNQm6N^E*{kA${b zBT+tRRdOpL+>rpK9k*2&`e&d3_2K|(O)-R z$TA3aM&sRIQb>})OO!rwgQv6wp!w7ktgPtJEGieXZ9=?|~S|MVl}C4&vxqrrVoEaKpYk9lE<@amS`y_6$>O9X6t4)CrW*WGiyKZf(p^(=n~|HqTQrW3gCN!T>> zzM-`{HuB!`tjbW5KkLTPra#K6mCFTZ0(Q$TGst(l5&nP~{*tf?Rd+C$I(%r>sFa;H zWjjV!RrVLV`n)FRubCh{g<{MeB!YoFURzUu>yg6b>KU}uK>eQII(D$Fk-N&g zz<+dS)qdQ#3(3aL!b^P*wp0d;H&-1exXoYY|FztnFAEv2lUqn(?>+@uzQhmXoP3s7X=<8U+O5QP=Sv5fQA)1}$f zt8je*h{?y6i9C(28X8Skn`CZ%G6Ln1)uBlbqJd|X3zE59IPf_+lXgl~I`bsurVY$k z2%c=M$naRPpupDgcy~Qt=$DXTV&1CGx|qpOvkfu)_L-KzCEE!LFWlP+G6e9`fPPvz z+G3O*3JOW%fBy@B=IHk{AH-=TJ{M&~O6B-?y zaxOI}@vRFV1Wc}@b3+nloa`T_S4Axbip4KjY`@@)^@S`Vn>Q%Q>!qud4$Ay*%L+sJ zX{wBYCeVFCu%RnEC6<>BH?U4)Tw5!oFs?=m8~DEWZhT`Yg|Lo)Ql?miR&3{$?nv3e zYzM^m;S5UL3Yga!pv>;nnKt2*zx?!#4F^?s*=+dBN~vrnv@HsfMxh^Vqj`Nny3U6`0+*@k~A8v?GHd&8s6k3YKJ z@<|K{sIYL4D_fvI#Ek=`LjQ7{N4NpCU0cQUD-gY-2f}jS?NWgZQfx71XZZ+N+lRr z$|4CL6k5_`ybZi6z-=A*!<(nqjGJ(Z?KyGaN}hs(N@a6Z4Y%C%Vz#ylt8uak2PJL_ zgO((@j={>Nl3hiWWY<+NU@5uFQW~IC0BCW8)M;74YvhcJCLDV4KYzKhSFZuK=LNvE z@&0>Vs8~Qjj%wJHa{_@1S^(Gl;9L1j%Dy9zsv75#;HGE$IDnZ-7EG1vQdnV??ARDpKCn_n04$|}i%ZB? zXz;RqoW}$za(Q)aUGF1*c=NQH@kg8-8AVdRZR;Yadlh~2a!EJ?%yG5TW}KZ5xKy?f72vh?xn~@_ z5P5Ij0Z2)@CFZne!@5oD@A=hB%?lq{@4LaXKZQ4k(ke!p5k=gq2D;u#^TUl?Sv;r4LwG z7$nby0nQJuaYH^i<>ZBPq97+Vc+%v|*yh{__rK|n@ zefze*{I})n?!NQYmX*tQBB2yENFA2cWl_K~g?=`P^~hkQN(ophJZLEdSjq<{3|NvP zQ;F*`IWH=?-#M-xQP-<>`ix@_nf&oHx(ygOJmgcH5rmKsI>H;0TQlQTi7K6dk^=w| zz^V7x@tIIBj1UjgzAc-#Hb42;t7~rm=`!C9kKOdrP*CEsbVtQGFwRYJ;UAY=m$n9C zV^mRq%2Q&2rJ{9Oih&m9xJ-3hrUbntjO4ake#pl^HFEgW&z;=&m}4h~>AEOE(dxlB zD8G?eV|&((L0B1PXbGVl450qUpO_iK+;HE2HyFYt3IzHz1uRoYXmVk;j;f704i%-d zQW3*S6$!AEz-cKTq&R4qfR%5K%e1Ua>bSgN^sGw{!fWifBMS+yq>F$Q2dEAL0;X^f z3lD?3FKLd7gH%yCD^H0Bma>NySEHpgU{N(&Ql~|QiJVgk3M}q(=5I%QVOss*Nt2K2 zb=cvDbsIP+yexD|1v#l*jjJ|pefF=7O^-difymuZplbKs=oB0%sOW$S0xT)4u$&c@ zqtd~p5O85*WrCG*z{*uXr$voT(4ul%SgtFd92W&7G8{C7sGa-O_n6}b4nFH+WBML> z^kF?mjXtchcTK;@{y7QJ{+69ByWd>Bap%&1Y}~f!ne{CzmhEJ2R?`@BEf}m!VIk+7 z@@e(M0BZu4B4EXZf%o>l)al@7!OJ3QyW67({8ldzW)a0&o7)X=u(y&l6kNYff zQyi?QFiVT!faau|Pl>V6u4<(@@1t3$hUIIF5n-nxD z$SP!hW*B_tM~7GS>t8)!;>n|7rRusvhgDQpXA=6=wRMMv@=x>$oDzI$-}~O)J?qzP zIk0=z-j)^1H}Bv6?!Ik{7d0a{5#|osk>y+{$T=*jy9x>}TS##*#UQMQeYUU?LBRpb zLPBUMVTg!9OX)W<0WL|%$iYe)PIB-W3c&h#&x2lc2UJT1L>A?+?0kyyvhPYA7hDm6JWUcl>5TAFM$>XE-WO*&VeG%naR~k zWV)F!XJrE|E+kY0Fff>y67Ui*Vbc^WDR*cZsPl%M5%=pD#ca1t$`rLzB+GT&HVrhLn>zb(&RbmiHL zq)eOk*6Hv~EA7H5)4s=l0hasz-Uf1QM9#{;zikMdC;%HnLc(n+Z5cPMpJVO@GTn&! z4U2_H)XmR9N(mqn6i%i@KenIPF;VA0pH|v@>RcyQsdreO0yr&2I0Eb@c5R&w-wo?s zd^)(W?dpH){~m>el|jQy%3b+ErU-~(u%bXk0ZQVq^kvx1sfZgMo3Dpc)N(F=Bu$Q+ za#1#*;*O0vH`sYHo#Rd=9agFo9G0huTM?;wHn}b?0WNW0l4+Z;729upo?_-v=hXX* zU3lC)%tiR;Nkc=d<&6Rq1|?JIC~}3N*Y+o9$JcVQl{ln$Hh4v3Mdr3Bm?$6*nDic zl5@ey=H{es@*tq#fFn)ln_y_#U;UUIs0cY=`4j=Pu=ys(h0W7H zOGCGOLOw|dC~;TZd|jN&;%?@kAtLsfgAKM#6BHG*j=oGkJ`=!1a=O0A_+2<%lrAVcWsBLCvG~i8>F|JWLWN!2v*@FL61h&x!#Oo~iwVPpNw#ltO*W9iKC>!j zP)SHrrEFZ5txT>;|I7gg+lFbrzHMx5TF+DFTG(fOUKrr9 z0aTEXkaB;Nq&L14D%A3P@=Z3&#d4t1q?G#qPVI{iEPqXA00000NkvXXu0mjfB;R9M literal 0 HcmV?d00001 diff --git a/classroom/assets/media/applications/WEB.png b/classroom/assets/media/applications/WEB.png new file mode 100644 index 0000000000000000000000000000000000000000..d5c58a8bd9ecad3fb79496ec5e5e21f6059ace68 GIT binary patch literal 19676 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 literal 0 HcmV?d00001 From 3bc29919aff7541940180ae9fe968c2650bf02b1 Mon Sep 17 00:00:00 2001 From: Baptiste LEDOYEN Date: Tue, 4 Apr 2023 19:18:47 +0200 Subject: [PATCH 234/340] trad applications --- classroom/assets/lang/en/ns.json | 1 + classroom/assets/lang/es/ns.json | 1 + classroom/assets/lang/it/ns.json | 1 + 3 files changed, 3 insertions(+) diff --git a/classroom/assets/lang/en/ns.json b/classroom/assets/lang/en/ns.json index cc046a59..7817d50d 100644 --- a/classroom/assets/lang/en/ns.json +++ b/classroom/assets/lang/en/ns.json @@ -214,6 +214,7 @@ "classroom-dashboard-activities-panel-teacher": "My activities", "classroom-dashboard-classes-panel-teacher": "My classes", "classroom-dashboard-sandbox-panel": "Sandbox", + "classroom-dashboard-ressources": "Applications", "classroom-dashboard-profil-panel-teacher": "Profile", "classroom-dashboard-activities-panel": "My activities", "classroom-dashboard-profil-panel": "Profile", diff --git a/classroom/assets/lang/es/ns.json b/classroom/assets/lang/es/ns.json index 6386e0e8..1f2fc042 100644 --- a/classroom/assets/lang/es/ns.json +++ b/classroom/assets/lang/es/ns.json @@ -213,6 +213,7 @@ "classroom-dashboard-activities-panel-teacher": "Mis actividades", "classroom-dashboard-classes-panel-teacher": "Mis clases", "classroom-dashboard-sandbox-panel": "Cajón de arena", + "classroom-dashboard-ressources": "Aplicaciones", "classroom-dashboard-profil-panel-teacher": "Perfil", "classroom-dashboard-activities-panel": "Mis actividades", "classroom-dashboard-profil-panel": "Perfil", diff --git a/classroom/assets/lang/it/ns.json b/classroom/assets/lang/it/ns.json index 41302f7d..a20a751c 100644 --- a/classroom/assets/lang/it/ns.json +++ b/classroom/assets/lang/it/ns.json @@ -213,6 +213,7 @@ "classroom-dashboard-activities-panel-teacher": "Le mie attività", "classroom-dashboard-classes-panel-teacher": "Le mie classi", "classroom-dashboard-sandbox-panel": "Sandbox", + "classroom-dashboard-ressources": "Applicazioni", "classroom-dashboard-profil-panel-teacher": "Profilo", "classroom-dashboard-activities-panel": "Le mie attività", "classroom-dashboard-profil-panel": "Profilo", From 8026f0dcd2667132d835e7f568e52ab0062ffa7f Mon Sep 17 00:00:00 2001 From: Baptiste LEDOYEN Date: Wed, 5 Apr 2023 11:33:47 +0200 Subject: [PATCH 235/340] improve interfaces of iframe and classe --- classroom/Views/newExercicesPanel.html | 4 ++-- classroom/assets/css/main.css | 17 +++++++++++++++-- classroom/home.html | 4 ++-- 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/classroom/Views/newExercicesPanel.html b/classroom/Views/newExercicesPanel.html index 880e7931..7002c626 100644 --- a/classroom/Views/newExercicesPanel.html +++ b/classroom/Views/newExercicesPanel.html @@ -28,7 +28,7 @@ -
      +
      -
      +
      diff --git a/classroom/assets/css/main.css b/classroom/assets/css/main.css index fcd26d1c..3ab9c17c 100644 --- a/classroom/assets/css/main.css +++ b/classroom/assets/css/main.css @@ -1977,9 +1977,21 @@ h3.section-done { object-fit: contain; } +#classroom-dashboard-classes-new-activity { + display: flex; + flex-direction: column; + flex-grow: 1; +} + #activity-custom { - width: 100%; - height: 60vh; + flex-grow: 1; + margin-left: 15px; +} + +#tool-container { + flex-grow: 1; + display: flex; + flex-direction: column; } #lti-loader-container { @@ -3022,6 +3034,7 @@ h3.section-done { grid-column-start: 2; grid-row-start: 1; grid-row-end: 3; + padding-right: 2px; } diff --git a/classroom/home.html b/classroom/home.html index e56f8f59..bc6b46c2 100644 --- a/classroom/home.html +++ b/classroom/home.html @@ -1589,7 +1589,7 @@

      -
      +
      -
      +
      From a80274d5eb9faa1b6871ce1d1b081ff6a73f23f6 Mon Sep 17 00:00:00 2001 From: Baptiste LEDOYEN Date: Wed, 5 Apr 2023 11:53:09 +0200 Subject: [PATCH 236/340] change some css contrast for applications panel --- classroom/assets/css/main.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/classroom/assets/css/main.css b/classroom/assets/css/main.css index 3ab9c17c..668738ae 100644 --- a/classroom/assets/css/main.css +++ b/classroom/assets/css/main.css @@ -2993,7 +2993,7 @@ h3.section-done { } .open-ide:hover { - filter: grayscale(0.70); + filter: contrast(200%); } .open-ide { From 816d9a2843122c5a2ff1897ad401d13cb401ef68 Mon Sep 17 00:00:00 2001 From: Baptiste LEDOYEN Date: Fri, 7 Apr 2023 12:12:30 +0200 Subject: [PATCH 237/340] add missing IT ES --- classroom/assets/lang/es/ns.json | 4 ++++ classroom/assets/lang/it/ns.json | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/classroom/assets/lang/es/ns.json b/classroom/assets/lang/es/ns.json index 1f2fc042..ec6f6245 100644 --- a/classroom/assets/lang/es/ns.json +++ b/classroom/assets/lang/es/ns.json @@ -300,6 +300,8 @@ "yourAnswer": "Su respuesta", "studentAnswer": "Respuesta del alumno", "return": "Volver a las actividades", + "isAutocorrected": "Este ejercicio fue evaluado automáticamente, puede cambiar la nota a continuación.", + "isAutocorrect": "Esta actividad será evaluada automáticamente.", "bilan": { "title": "Balance", "results": "Resultados", @@ -433,6 +435,8 @@ "12": " Diciembre" }, "preview": " Vista previa", + "previewTeacherResult": "El alumno habría recibido la siguiente nota :", + "studentResult" : "Resultado obtenido :", "deleteActivityDisclaimer": " Está a punto de eliminar una actividad. Esta acción es irreversible.", "deleteConfirm": " Confirmar la supresión de la actividad", "deleteActivity": " Eliminar la actividad", diff --git a/classroom/assets/lang/it/ns.json b/classroom/assets/lang/it/ns.json index a20a751c..d826e7ea 100644 --- a/classroom/assets/lang/it/ns.json +++ b/classroom/assets/lang/it/ns.json @@ -300,6 +300,8 @@ "yourAnswer": " La tua risposta", "studentAnswer": " Risposta dell'allievo", "return": " Torna alle attività", + "isAutocorrected": "Questo esercizio è stato valutato automaticamente; è possibile modificare il voto qui sotto.", + "isAutocorrect": "Questa attività verrà valutata automaticamente.", "bilan": { "title": "Bilancio", "results": "Risultati", @@ -433,6 +435,8 @@ "12": " Dicembre" }, "preview": " Anteprima", + "previewTeacherResult": "L'alunno avrebbe ricevuto il seguente voto: ", + "studentResult" : "Risultato ottenuto: ", "deleteActivityDisclaimer": " Si sta per eliminare un'attività. Questa azione è irreversibile.", "deleteConfirm": " Confermare la cancellazione dell'attività", "deleteActivity": " Cancellare l'attività", From 2bcf4ae78e8514812cbc620f97afc283c8db69fe Mon Sep 17 00:00:00 2001 From: Baptiste LEDOYEN Date: Fri, 7 Apr 2023 16:39:13 +0200 Subject: [PATCH 238/340] remove title of preview --- classroom/Views/newExercicesPanel.html | 1 - classroom/Views/studentActivitiesPanel.html | 1 - 2 files changed, 2 deletions(-) diff --git a/classroom/Views/newExercicesPanel.html b/classroom/Views/newExercicesPanel.html index 7002c626..ea263a2d 100644 --- a/classroom/Views/newExercicesPanel.html +++ b/classroom/Views/newExercicesPanel.html @@ -260,7 +260,6 @@ diff --git a/classroom/Views/studentActivitiesPanel.html b/classroom/Views/studentActivitiesPanel.html index 6a247384..c24148b3 100644 --- a/classroom/Views/studentActivitiesPanel.html +++ b/classroom/Views/studentActivitiesPanel.html @@ -71,7 +71,6 @@

      From 5844f1ef51d9df492a0d0c8c16afa720ffdcb043 Mon Sep 17 00:00:00 2001 From: Marine Date: Tue, 11 Apr 2023 11:22:58 +0200 Subject: [PATCH 239/340] Modifications "Mes classes" > "Classes" Lang - Marine --- classroom/assets/lang/en/ns.json | 14 +++++++------- classroom/assets/lang/es/ns.json | 14 +++++++------- classroom/assets/lang/it/ns.json | 14 +++++++------- 3 files changed, 21 insertions(+), 21 deletions(-) diff --git a/classroom/assets/lang/en/ns.json b/classroom/assets/lang/en/ns.json index 48d207d4..676b9026 100644 --- a/classroom/assets/lang/en/ns.json +++ b/classroom/assets/lang/en/ns.json @@ -212,7 +212,7 @@ "ids": { "classroom-dashboard-help-panel-teacher": "Help", "classroom-dashboard-activities-panel-teacher": "My activities", - "classroom-dashboard-classes-panel-teacher": "My classes", + "classroom-dashboard-classes-panel-teacher": "Classes", "classroom-dashboard-sandbox-panel": "Sandbox", "classroom-dashboard-ressources": "Applications", "classroom-dashboard-profil-panel-teacher": "Profile", @@ -759,11 +759,11 @@ }, "4": { "title": "How do I assign an activity?", - "answer": "To assign an activity, you have three options:
      1. Either go to the My Activities tab and click on the icon for your activity and then click on Assign. Then, all you have to do is follow the steps.
      2. This Assign option is also available in the activity itself once opened.
      3. Then, you go to the My Classes tab and click on a class. Once you get to the class dashboard, you simply click the \"Add Activity\" button.
      " + "answer": "To assign an activity, you have three options:
      1. Either go to the My Activities tab and click on the icon for your activity and then click on Assign. Then, all you have to do is follow the steps.
      2. This Assign option is also available in the activity itself once opened.
      3. Then, you go to the Classes tab and click on a class. Once you get to the class dashboard, you simply click the \"Add Activity\" button.
      " }, "5": { "title": "How to test an activity?", - "answer": "To test an activity, you have two options:
      1. Either go to Profile and click on the \"Switch to Learner Mode\" button and then select the class you want to be in. You will find yourself on the fictitious account of a learner called \"demostudent\", you will be able to discover the \"Learner\" interface and perform the activities you have assigned.
      2. Or go to My classes in the dashboard of a class, you will then be able to place yourself in the skin of the learner demostudent. To do this, click on the icon, you will have the opportunity to become a learner in the class and try out the activities.
      To return to the \"Teacher\" mode, simply go to the Profile tab of the demostudent account and click on \"Return to Teacher Mode.\"" + "answer": "To test an activity, you have two options:
      1. Either go to Profile and click on the \"Switch to Learner Mode\" button and then select the class you want to be in. You will find yourself on the fictitious account of a learner called \"demostudent\", you will be able to discover the \"Learner\" interface and perform the activities you have assigned.
      2. Or go to Classes in the dashboard of a class, you will then be able to place yourself in the skin of the learner demostudent. To do this, click on the icon, you will have the opportunity to become a learner in the class and try out the activities.
      To return to the \"Teacher\" mode, simply go to the Profile tab of the demostudent account and click on \"Return to Teacher Mode.\"" }, "6": { "title": "How do you remove an activity allocation without removing the activity?", @@ -775,8 +775,8 @@ "section_title": "Class", "question_list": { "1": { - "title": "What is the purpose of the My Classes tab?", - "answer": "In the My Classes tab, you will be able to:
      1. Create your own classes and add learners
      2. Correct your learners' responses to activities,
      3. and track their progress.
      " + "title": "What is the purpose of the Classes tab?", + "answer": "In the Classes tab, you will be able to:
      1. Create your own classes and add learners
      2. Correct your learners' responses to activities,
      3. and track their progress.
      " }, "2": { "title": "How do I add my learners to my class?", @@ -792,7 +792,7 @@ }, "5": { "title": "How do I assign an activity?", - "answer": "

      You can assign an activity to all the classes you've created or just to a specific learner.

      To assign an activity, you have three options:

      1. Either go to the My Activities tab and click on the icon for your activity and then click Assign. Then, all you have to do is follow the steps.
      2. This Assign option is also available in the activity itself once opened.
      3. Then, you go to the My Classes tab and click on a class. Once you get to the class dashboard, you simply click the \"Add Activity\" button.
      " + "answer": "

      You can assign an activity to all the classes you've created or just to a specific learner.

      To assign an activity, you have three options:

      1. Either go to the My Activities tab and click on the icon for your activity and then click Assign. Then, all you have to do is follow the steps.
      2. This Assign option is also available in the activity itself once opened.
      3. Then, you go to the Classes tab and click on a class. Once you get to the class dashboard, you simply click the \"Add Activity\" button.
      " }, "6": { "title": "Can we go back on the allocation of an activity?", @@ -808,7 +808,7 @@ }, "9": { "title": "How to change the name of a class?", - "answer": "To change the name of your class, you'll need to click on the icon from the My Classes tab, and then on edit. You will then just have to change its name." + "answer": "To change the name of your class, you'll need to click on the icon from the Classes tab, and then on edit. You will then just have to change its name." }, "10": { "title": "How do I remove a learner from a class?", diff --git a/classroom/assets/lang/es/ns.json b/classroom/assets/lang/es/ns.json index ec6f6245..bcde9312 100644 --- a/classroom/assets/lang/es/ns.json +++ b/classroom/assets/lang/es/ns.json @@ -211,7 +211,7 @@ "ids": { "classroom-dashboard-help-panel-teacher": "Ayuda", "classroom-dashboard-activities-panel-teacher": "Mis actividades", - "classroom-dashboard-classes-panel-teacher": "Mis clases", + "classroom-dashboard-classes-panel-teacher": "Clases", "classroom-dashboard-sandbox-panel": "Cajón de arena", "classroom-dashboard-ressources": "Aplicaciones", "classroom-dashboard-profil-panel-teacher": "Perfil", @@ -726,11 +726,11 @@ }, "4": { "title": "¿Cómo asignar una actividad?", - "answer": "Para asignar una actividad, cuenta con tres opciones::
      1. Vaya a la pestaña Mis actividades y haga clic en el icono de su actividad y luego haga clic en Asignar. Enseguida, sólo siga los pasos.
      2. Esta opción de Asignar también está disponible en la propia actividad una vez abierta.
      3. De lo contrario, vaya a la pestaña Mis clases y haga clic en una clase. Una vez en el panel de control del aula, todo lo que tiene que hacer es hacer clic en el botón \"Agregar una actividad\".
      abierta." + "answer": "Para asignar una actividad, cuenta con tres opciones::
      1. Vaya a la pestaña Mis actividades y haga clic en el icono de su actividad y luego haga clic en Asignar. Enseguida, sólo siga los pasos.
      2. Esta opción de Asignar también está disponible en la propia actividad una vez abierta.
      3. De lo contrario, vaya a la pestaña Clases y haga clic en una clase. Una vez en el panel de control del aula, todo lo que tiene que hacer es hacer clic en el botón \"Agregar una actividad\".
      abierta." }, "5": { "title": "¿Cómo probar una actividad?", - "answer": "Para probar una actividad, tiene dos opciones:
      1. Vaya a Perfil y haga clic en el botón \"Cambiar al modo de alumno\" y luego seleccione la clase en la que se desea colocar. Termina en la cuenta ficticia de un alumno llamado \"demostudent\", donde puede descubrir la interfaz \"Alumno\" y llevar a cabo las actividades que ha asignado.
      2. Vaya a Mis clases en el panel de control de la clase, luego podrá ponerse en el papel del alumno demostudent. Para hacer esto, haga clic en el ícono , tendrá la oportunidad de convertirse en un alumno de la clase y probar las actividades.
      Para volver al modo \"Profesor\", simplemente vaya a la pestaña Perfil de la cuenta de demostudent y haga clic en \"Volver al modo profesor\"." + "answer": "Para probar una actividad, tiene dos opciones:
      1. Vaya a Perfil y haga clic en el botón \"Cambiar al modo de alumno\" y luego seleccione la clase en la que se desea colocar. Termina en la cuenta ficticia de un alumno llamado \"demostudent\", donde puede descubrir la interfaz \"Alumno\" y llevar a cabo las actividades que ha asignado.
      2. Vaya a Clases en el panel de control de la clase, luego podrá ponerse en el papel del alumno demostudent. Para hacer esto, haga clic en el ícono , tendrá la oportunidad de convertirse en un alumno de la clase y probar las actividades.
      Para volver al modo \"Profesor\", simplemente vaya a la pestaña Perfil de la cuenta de demostudent y haga clic en \"Volver al modo profesor\"." }, "6": { "title": "¿Como eliminar la asignación de una actividad sin eliminar la actividad?", @@ -742,8 +742,8 @@ "section_title": "Clase", "question_list": { "1": { - "title": "¿Para qué sirve la pestaña Mis clases?", - "answer": "En la pestaña Mis clases, va a poder:
      1. Crear sus propias clases y agregar alumnos
      2. Corregir las respuestas de las actividades de sus alumnos,
      3. y seguir su progreso.
      " + "title": "¿Para qué sirve la pestaña Clases?", + "answer": "En la pestaña Clases, va a poder:
      1. Crear sus propias clases y agregar alumnos
      2. Corregir las respuestas de las actividades de sus alumnos,
      3. y seguir su progreso.
      " }, "2": { "title": "¿Cómo agregar mis alumnos a mi clase?", @@ -759,7 +759,7 @@ }, "5": { "title": "¿Cómo asignar una actividad?", - "answer": "

      Usted podrá atribuir una actividad a toda la clase que haya creado o solamente a un alumno en particular.

      Para asignar una actividad, usted tiene tres opciones :

      1. O bien, va a la pestaña Mis actividades y hace clic en el icono de su actividad y después hace clic en Asignar. Luego, solo debe seguir los pasos.
      2. Esta opción de Asignar también está disponible en la propia actividad una vez abierta.
      3. De lo contrario, va a la pestaña Mis clases y hace clic en una clase. Una vez en el panel de control del aula, todo lo que tiene que hacer es hacer clic en el botón \"Agregar una actividad\".
      " + "answer": "

      Usted podrá atribuir una actividad a toda la clase que haya creado o solamente a un alumno en particular.

      Para asignar una actividad, usted tiene tres opciones :

      1. O bien, va a la pestaña Mis actividades y hace clic en el icono de su actividad y después hace clic en Asignar. Luego, solo debe seguir los pasos.
      2. Esta opción de Asignar también está disponible en la propia actividad una vez abierta.
      3. De lo contrario, va a la pestaña Clases y hace clic en una clase. Una vez en el panel de control del aula, todo lo que tiene que hacer es hacer clic en el botón \"Agregar una actividad\".
      " }, "6": { "title": "¿Se puede volver sobre la asignación de una actividad?", @@ -775,7 +775,7 @@ }, "9": { "title": "¿Cómo modificar el nombre de una clase?", - "answer": "Para cambiar el nombre ded una clase, hace falta hacer un clic sobre el ícono desde la pestaña Mis clases, luego en modificar. No tendrá más que cambiar el nombre." + "answer": "Para cambiar el nombre ded una clase, hace falta hacer un clic sobre el ícono desde la pestaña Clases, luego en modificar. No tendrá más que cambiar el nombre." }, "10": { "title": "¿Cómo suprimir un alumno de una clase?", diff --git a/classroom/assets/lang/it/ns.json b/classroom/assets/lang/it/ns.json index d826e7ea..bd58548f 100644 --- a/classroom/assets/lang/it/ns.json +++ b/classroom/assets/lang/it/ns.json @@ -211,7 +211,7 @@ "ids": { "classroom-dashboard-help-panel-teacher": "Aiuto", "classroom-dashboard-activities-panel-teacher": "Le mie attività", - "classroom-dashboard-classes-panel-teacher": "Le mie classi", + "classroom-dashboard-classes-panel-teacher": "Classi", "classroom-dashboard-sandbox-panel": "Sandbox", "classroom-dashboard-ressources": "Applicazioni", "classroom-dashboard-profil-panel-teacher": "Profilo", @@ -726,11 +726,11 @@ }, "4": { "title": "Come assegnare un'attività?", - "answer": "Per assegnare un'attività, hai tre opzioni:
      1. O vai alla scheda Le mie attività e clicca sull'icona della tua attività e poi clicca su Assegna. Poi, dovrai solo seguire i passi.
      2. Questa opzione di assegnazione è disponibile anche nell'attività stessa una volta aperta.
      3. Oppure, vai alla scheda Le mie classi e clicca su una classe. Una volta arrivati al pannello di controllo della classe, tutto quello che devi fare è cliccare sul pulsante \"Aggiungi attività\".
      " + "answer": "Per assegnare un'attività, hai tre opzioni:
      1. O vai alla scheda Le mie attività e clicca sull'icona della tua attività e poi clicca su Assegna. Poi, dovrai solo seguire i passi.
      2. Questa opzione di assegnazione è disponibile anche nell'attività stessa una volta aperta.
      3. Oppure, vai alla scheda Classi e clicca su una classe. Una volta arrivati al pannello di controllo della classe, tutto quello che devi fare è cliccare sul pulsante \"Aggiungi attività\".
      " }, "5": { "title": "Come testare un'attività?", - "answer": "Per testare un'attività, hai due opzioni:
      1. O vai su Profilo e clicca sul pulsante \"Passa alla modalità studente\" e poi seleziona la classe in cui vuoi stare. Vi troverete sull'account fittizio di un allievo chiamato \"demostudent\", potrete scoprire l'interfaccia \"Learner\" e svolgere le attività che avete assegnato.
      2. Oppure andate su Le mie classi nella dashboard di una classe, potrete allora mettervi nella pelle dell'allievo demostudent. Per fare questo, clicca sull'icona , avrai l'opportunità di diventare uno studente della classe e provare le attività.
      Per tornare alla modalità \"Insegnante\", basta andare nella scheda Profilo dell'account demostudent e cliccare su \"Torna alla modalità insegnante\"." + "answer": "Per testare un'attività, hai due opzioni:
      1. O vai su Profilo e clicca sul pulsante \"Passa alla modalità studente\" e poi seleziona la classe in cui vuoi stare. Vi troverete sull'account fittizio di un allievo chiamato \"demostudent\", potrete scoprire l'interfaccia \"Learner\" e svolgere le attività che avete assegnato.
      2. Oppure andate su Classi nella dashboard di una classe, potrete allora mettervi nella pelle dell'allievo demostudent. Per fare questo, clicca sull'icona , avrai l'opportunità di diventare uno studente della classe e provare le attività.
      Per tornare alla modalità \"Insegnante\", basta andare nella scheda Profilo dell'account demostudent e cliccare su \"Torna alla modalità insegnante\"." }, "6": { "title": "Come rimuovere l'assegnazione di un'attività senza rimuovere l'attività?", @@ -742,8 +742,8 @@ "section_title": "Classe", "question_list": { "1": { - "title": "Qual è lo scopo della scheda Le mie classi?", - "answer": "Nella scheda Le mie classi, sarai in grado di:
      1. Creare le tue classi e aggiungere studenti
      2. Correggere le risposte dei tuoi studenti alle attività,
      3. e monitorare i loro progressi.
      " + "title": "Qual è lo scopo della scheda Classi?", + "answer": "Nella scheda Classi, sarai in grado di:
      1. Creare le tue classi e aggiungere studenti
      2. Correggere le risposte dei tuoi studenti alle attività,
      3. e monitorare i loro progressi.
      " }, "2": { "title": "Come posso aggiungere i miei studenti alla mia classe?", @@ -759,7 +759,7 @@ }, "5": { "title": "Come assegnare un'attività?", - "answer": "

      Puoi assegnare un'attività a tutte le classi che hai creato o solo a un particolare studente.

      Per assegnare un'attività, hai tre opzioni:

      1. O vai alla scheda Le mie attività e clicca sull'icona della tua attività e poi clicca su Assegna. Poi, dovrai solo seguire i passi.
      2. Questa opzione di assegnazione è disponibile anche nell'attività stessa una volta aperta.
      3. Oppure, vai alla scheda Le mie classi e clicca su una classe. Una volta arrivati al pannello di controllo della classe, tutto quello che devi fare è cliccare sul pulsante \"Aggiungi attività\".
      " + "answer": "

      Puoi assegnare un'attività a tutte le classi che hai creato o solo a un particolare studente.

      Per assegnare un'attività, hai tre opzioni:

      1. O vai alla scheda Le mie attività e clicca sull'icona della tua attività e poi clicca su Assegna. Poi, dovrai solo seguire i passi.
      2. Questa opzione di assegnazione è disponibile anche nell'attività stessa una volta aperta.
      3. Oppure, vai alla scheda Classi e clicca su una classe. Una volta arrivati al pannello di controllo della classe, tutto quello che devi fare è cliccare sul pulsante \"Aggiungi attività\".
      " }, "6": { "title": "Si può modificare l'assegnazione di un'attività?", @@ -775,7 +775,7 @@ }, "9": { "title": "Come cambiare il nome di una classe?", - "answer": "Per cambiare il nome della tua classe, dovrai cliccare sull'icona della scheda Le mie classi, poi su modifica. Tutto quello che devi fare è cambiarne il nome." + "answer": "Per cambiare il nome della tua classe, dovrai cliccare sull'icona della scheda Classi, poi su modifica. Tutto quello che devi fare è cambiarne il nome." }, "10": { "title": "Come posso rimuovere uno studente da una classe?", From 4b888674baba097941b51f33a4113b5b0267ec75 Mon Sep 17 00:00:00 2001 From: Baptiste LEDOYEN Date: Tue, 11 Apr 2023 11:23:08 +0200 Subject: [PATCH 240/340] Change my app --- classroom/assets/lang/fr/ns.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/classroom/assets/lang/fr/ns.json b/classroom/assets/lang/fr/ns.json index a0dcb6d2..43dc1a89 100644 --- a/classroom/assets/lang/fr/ns.json +++ b/classroom/assets/lang/fr/ns.json @@ -207,12 +207,12 @@ }, "ids": { "classroom-dashboard-help-panel-teacher": "Aide", - "classroom-dashboard-activities-panel-teacher": "Activités", + "classroom-dashboard-activities-panel-teacher": "Mes activités", "classroom-dashboard-classes-panel-teacher": "Classes", "classroom-dashboard-sandbox-panel": "Bac à sable", "classroom-dashboard-ressources": "Applications", "classroom-dashboard-profil-panel-teacher": "Profil", - "classroom-dashboard-activities-panel": "Activités", + "classroom-dashboard-activities-panel": "Mes activités", "classroom-dashboard-profil-panel": "Profil", "classroom-dashboard-help-panel": "Aide", "classroom-dashboard-activities-panel-library-teacher": "Banque de ressources", From aae81b1a04b16c7c7f1b36782806b21c24db6225 Mon Sep 17 00:00:00 2001 From: Baptiste LEDOYEN Date: Fri, 14 Apr 2023 11:41:00 +0200 Subject: [PATCH 241/340] add bibliotheque 123cabri like autocorrect activity --- classroom/assets/js/scripts/activityManager.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/classroom/assets/js/scripts/activityManager.js b/classroom/assets/js/scripts/activityManager.js index 551cc8dc..a97789ac 100644 --- a/classroom/assets/js/scripts/activityManager.js +++ b/classroom/assets/js/scripts/activityManager.js @@ -189,7 +189,7 @@ function titleBackward() { folder = foldersManager.actualFolder; // is an activity auto evaluate - const autoCorrectTypeApps = ["dragAndDrop", "fillIn", "quiz", "GENIUS"] + const autoCorrectTypeApps = ["dragAndDrop", "fillIn", "quiz", "GENIUS", "1,2,3... Cabri"] if (autoCorrectTypeApps.includes(type)) { autocorrect = true; } From adcf65234717889f9f3b8a18ad5d44e2250241bc Mon Sep 17 00:00:00 2001 From: Baptiste LEDOYEN Date: Tue, 2 May 2023 09:48:47 +0200 Subject: [PATCH 242/340] auto translate in Dutch --- classroom/assets/lang/nl/ns.json | 1491 ++++++++++++++++++++++++++++++ 1 file changed, 1491 insertions(+) create mode 100644 classroom/assets/lang/nl/ns.json diff --git a/classroom/assets/lang/nl/ns.json b/classroom/assets/lang/nl/ns.json new file mode 100644 index 00000000..7ff3bb85 --- /dev/null +++ b/classroom/assets/lang/nl/ns.json @@ -0,0 +1,1491 @@ +{ + "classroom": { + "login": { + "noClass": " De ingevoerde code komt niet overeen met een klaslokaal.", + "countdown1": " De module Klassenbeheer bevindt zich momenteel in de betafase. Als u deze wilt uitproberen, neem dan
      contact op met het team van Vittascience.", + "countdown2": " Officiële vrijgave in", + "hello1": " \"Hallo!", + "hello2": " Hallo!", + "title": " Beheer uw klaslokalen
      met Vittascience", + "neutralTitle": " OpenSTEAM LMS", + "cabriTitle": " Cabri.com", + "subtitle": " Ontdekken - Leren - Delen", + "cabriSubtitle": " Het platform om te slagen in wiskunde en wetenschap", + "login": " Inloggen", + "activities": " gemakkelijk uw activiteiten creëren", + "cabriActivities": " Automatisch oefeningen maken in enkele minuten", + "attribute": " wijs ze toe aan je leerlingen", + "cabriProgress": " Volg de vooruitgang
      van uw leerlingen", + "visualize": " hun resultaten visualiseren", + "cabriRessources": " Krijg toegang tot een verscheidenheid aan activiteiten en deel je creaties.", + "student": " Student", + "codeInput": " Voer uw klaslokaalcode in", + "teacher": " Leraar", + "hasAccount": " Heb je al een account?", + "gar": " Geniet met gemak van de klaslokaalmodule met behulp van GAR.", + "signup": " AANMELDEN", + "firstVisit": " Eerste keer? Kies een gebruikersnaam.", + "signin": " Aanmelden", + "registerLink": " Een account aanmaken", + "hasReturned": " Terug naar deze klas?", + "forgot": " Ik ben mijn wachtwoord vergeten", + "error": { + "used": " Deze gebruikersnaam is al in gebruik, kies een andere", + "badInput": " Uw gebruikersnaam of wachtwoord is verkeerd." + }, + "suscribe": { + "title": " schrijf je in op", + "content": " De module Klassenbeheer is gratis beschikbaar als proefversie. Profiteer van alle functies met het Vittascience Premium abonnement. Ontdek alle voordelen en details van het Vittascience Premium aanbod via onderstaande knop.", + "premium": " Ontdek Vittascience Premium" + }, + "carousel": { + "activities": { + "title": " Eenvoudig uw activiteiten creëren", + "content": " De activiteiteneditor maakt het gemakkelijk om instructie-inhoud te creëren door tekst, afbeeldingen, video's, Vittascience API's, Geniale presentaties en meer op te nemen.

      Bekijk de gezamenlijke bronnenbank van Vittascience, die honderden gratis en herbruikbare activiteiten bevat. Als de auteur van een bron het toestaat, kunt u zelfs wijzigingen aanbrengen om de inhoud aan te passen aan uw leerlingen." + }, + "attribute": { + "title": " Wijs ze toe aan uw leerlingen", + "content": " Zodra uw activiteiten zijn gemaakt, kunt u ze toewijzen aan uw leerlingen. Ze kunnen individueel worden toegewezen of aan hele groepen, zoals een klas of een wetenschapsclub.

      De leerlingen kunnen veilig inloggen met een Classroom-code, link, QR-code of GAR, en de hun toegewezen activiteiten voltooien." + }, + "visualize": { + "title": " Hun resultaten visualiseren", + "content": " Met het dashboard kunt u de voortgang van de leerlingen volgen terwijl ze de activiteiten en cursussen doorlopen. Vind het werk van uw leerlingen in één klik en laat commentaar achter.

      Dankzij het automatische validatie-/correctiesysteem voor blokken en Python vult het dashboard zich automatisch met de resultaten van uw leerlingen. Identificeer snel leerlingen met problemen en win kostbare tijd om ze te begeleiden." + } + }, + "register": { + "title": " Registratie", + "description": " Vul de volgende velden in om uw account aan te maken.", + "passwordConstraints": " Minimaal 8 karakters.", + "createButton": " Registreer" + } + }, + "register": { + "accountConfirmationEmail": { + "emailSubject": " Mijn account activeren", + "bodyTitle": " Mijn account activeren", + "textBeforeLink": " Als de bovenstaande knop niet werkt, kopieer en plak dan de volgende link in uw browser:" + } + }, + "updateUserInfos": { + "emailUpdateConfirmation": { + "emailSubject": " Mijn nieuwe e-mailadres bevestigen", + "bodyTitle": " Mijn nieuwe e-mailadres bevestigen", + "textBeforeLink": " Als de bovenstaande knop niet werkt, kopieer en plak dan de volgende link in uw browser:" + } + }, + "successPanel": " Goed gedaan, het is je gelukt!", + "failPanel": " Het antwoord is niet juist.", + "toCorrectPanel": " De activiteit is doorgegeven aan je leraar,
      die binnenkort contact met je opneemt! ", + "bank": { + "helpTooltip": " Het bronnencentrum bevat talrijke activiteiten die je vrij kunt gebruiken! Je leraar heeft geen toegang tot je activiteitenresultaten" + }, + "help": { + "student": { + "label": " Neem contact op met uw leraar", + "question": " Stel uw vragen...", + "title": " Object" + }, + "teacher": { + "label": " Neem contact op met uw leraar" + } + }, + "profil": { + "identity": " Voornaam Achternaam", + "class": " KLASSE:", + "todo": " Activiteiten om te doen", + "done": " Uitgevoerde activiteiten", + "create": " Gecreëerde activiteiten", + "correctionToDo": " Aan te brengen correcties", + "switchMode": " Overschakelen naar de leerlingmodus", + "switchModeTeacher": " Terug naar de lerarenmodus", + "accountSettings": { + "title": " Mijn rekening", + "firstname": " Voornaam", + "lastname": " Naam", + "nickname": " Gebruikersnaam", + "email": " E-mail", + "password": " Wachtwoord", + "confirmPassword": " Wachtwoord bevestigen", + "updateButton": " Update" + } + }, + "notif": { + "emptyContent": " De inhoud kan niet leeg zijn", + "emptyTitle": " De titel mag niet leeg zijn", + "activityRestricted": " U kunt niet meer activiteiten van dit type maken", + "shareProjectTeacher": " Het project werd gedeeld met je leraar", + "addActivities": " De geselecteerde activiteiten zijn toegevoegd aan uw lijst", + "addActivity": " De activiteit is toegevoegd aan uw lijst", + "saveProject": " Heb je eraan gedacht om je activiteit op te slaan?", + "savedProject": " Het ontwerp van uw activiteit is opgeslagen.", + "deleteProject": " Het project is verwijderd.", + "shareProject": " Het project werd gedeeld", + "corrections": " Een oefening is voltooid in uw lessen", + "deleteAccount": " Weet u zeker dat u het account van de leerling wilt verwijderen?", + "accountIsDelete": " De account van de leerling is verwijderd", + "newPwd": " Het nieuwe leerling-wachtwoord {{pseudo}} is {{pwd}}", + "classCreatedButNotUsers": " De {{classroomName}} klasse is aangemaakt, maar niet de bijbehorende accounts (Uw account staat u niet toe om {{learnerNumber}} leerlingen te hebben)", + "classUpdatedButNotUsers": " De {{classroomName}} klasse is bijgewerkt, maar niet de bijbehorende accounts (Met uw account kunt u geen {{learnerNumber}} leerlingen hebben)", + "usersNotAdded": " De leerling kon niet worden toegevoegd (Uw account staat niet toe dat u {{learnerNumber}} leerlingen heeft)", + "cantLoginLimitLearners": " Je kunt niet deelnemen aan de klas. Uw leraar heeft het maximum aantal leerlingen bereikt.", + "cantLoginClassroomBlocked": " Je kunt niet in de klas komen, je leraar heeft hem gesloten.", + "classNotCreated": " Je kunt niet meer dan één klas hebben.", + "attributeActivityUndone": " De activiteit is geschrapt.", + "pseudoUpdated": " De nieuwe bijnaam van de leerling is {{newPseudo}}", + "classroomDeleted": " De klasse {{classroomName}} is verwijderd.", + "classroomCreated": " De klasse {{classroomName}} is aangemaakt, evenals alle bijbehorende accounts", + "classroomUpdated": " De klasse {{classroomName}} is bijgewerkt, evenals alle bijbehorende accounts.", + "usersAdded": " De rekeningen zijn aangemaakt", + "usersAddedFromCsv": " De rekeningen werden aangemaakt volgens het csv-bestand", + "activityDeleted": " De {{activityName}} activiteit is verwijderd.", + "mustAttributeToStudent": " U moet de activiteit toewijzen aan leerlingen", + "activityAttributed": " De activiteit {{activityTitle}} is toegewezen aan de vermelde cursisten.", + "activityAttributionChanged": " De {{activityTitle}} opdracht is gewijzigd voor de vermelde leerlingen", + "activityCreated": " De activiteit {{activityTitle}} is aangemaakt", + "activityChanged": " De {{activityTitle}} activiteit is gewijzigd", + "activityTitleMissing": " U moet de titel van de activiteit invullen", + "activityPlayerMissing": " U moet de URL van de speler invullen", + "CsvFileMissing": " U hebt geen csv-bestand gekozen", + "errorWithCsv": " Fout bij het openen van csv bestand : {{error}}", + "cantGetPassword": " Fout, u kunt uw wachtwoord niet zien.", + "cantResetPassword": " Fout, u kunt uw wachtwoord niet resetten", + "accountUpdated": " Uw account is bijgewerkt", + "emailUpdated": " Ga naar de bevestigingslink die u zojuist is toegezonden op het nieuwe e-mailadres om de update te voltooien.", + "firstNameTooShort": " De eerste naam moet uit ten minste 2 tekens bestaan", + "lastNameTooShort": " De naam moet minstens 2 tekens lang zijn", + "pseudoTooShort": " De bijnaam moet ten minste 2 tekens lang zijn", + "invalidEmail": " Het ingevoerde e-mailadres is ongeldig", + "invalidPassword": " Het ingevoerde wachtwoord is ongeldig. Het moet minstens 8 tekens bevatten.", + "passwordAndConfirmMismatch": " Het wachtwoord en de wachtwoordbevestiging zijn niet identiek!", + "unknownUser": " Fout bij het bijwerken van de account: de gebruiker bestaat niet!", + "passwordInvalid": " Het wachtwoord voldoet niet aan de veiligheidsvoorschriften.", + "emailInvalid": " Het verzonden e-mailadres is ongeldig", + "emailExists": " Het e-mailadres is al toegewezen aan een andere account", + "UserNotExists": " Fout bij laden/resetten wachtwoord: Onjuiste gebruiker!", + "RegularUserNotAllowed": " Fout bij laden / resetten wachtwoord: alleen leerlingen kunnen hun wachtwoord tonen / resetten!", + "PasswordLengthInvalid": " Kan wachtwoord niet herstellen: verkeerd wachtwoord!", + "accountCreated": " De account is aangemaakt. Ga naar de bevestigingslink die u zojuist per e-mail is toegezonden om de registratie af te ronden en verbinding te kunnen maken.", + "firstnameMissing": " U moet uw voornaam invullen", + "surnameMissing": " U moet uw naam invullen", + "pseudoMissing": " Je moet je bijnaam hernoemen", + "emailMissing": " U moet uw e-mailadres invullen", + "passwordMissing": " U moet uw wachtwoord invoeren", + "passwordConfirmMissing": " U moet de wachtwoordbevestiging invullen", + "passwordsMismatch": " Wachtwoord en bevestiging zijn niet identiek", + "invalidUserId": " Fout bij het verzenden van het bericht: uw login is ongeldig", + "helpRequestFromTeacherSent": " Uw bericht is verzonden. Wij zullen u zo spoedig mogelijk antwoorden.", + "subjectMissingTeacherHelpForm": " U moet het onderwerp van het bericht invullen", + "messageMissingTeacherHelpForm": " U moet uw bericht invoeren", + "invalidUserIdTeacherHelpForm": " Fout bij het verzenden van het bericht: uw login is ongeldig", + "unknownUserTeacherHelpForm": " Fout bij het versturen van het bericht: uw login komt niet overeen met een lerarenaccount", + "helpRequestFromLearnerSent": " Uw bericht is verzonden naar uw leraar", + "subjectMissingLearnerHelpForm": " U moet het onderwerp van het bericht invullen", + "messageMissingLearnerHelpForm": " U moet uw bericht typen", + "invalidUserIdLearnerHelpForm": " Fout bij het verzenden van het bericht: uw login is ongeldig", + "unknownUserLearnerHelpForm": " Fout bij het verzenden van het bericht: uw gebruikersnaam is onbekend", + "unknownEmailLearnerHelpForm": " Fout bij het verzenden van het bericht: het e-mailadres van uw leraar is onbekend", + "activityTitleInvalid": " Activiteit kon niet worden aangemaakt: ongeldige titel", + "activityContentInvalid": " Activiteit kon niet worden aangemaakt: ongeldige inhoud", + "activityIsFromClassroomInvalid": " Activiteit kon niet worden aangemaakt: contextfout", + "activityUserIdInvalid": " Activiteit kon niet worden aangemaakt: ongeldige gebruiker", + "personalLimitationsReached": " Je hebt je maximum aantal studenten bereikt. ({{max}} max)", + "groupLimitationsGroup": " Uw groep kan geen leerlingen meer ontvangen", + "groupLimitationsTeacher": " Je hebt de leerlimiet bereikt die je groep je toekent", + "bothLimitationsReached": " Je hebt de studentenbeperkingen bereikt die jij en je groep kunnen hebben. ({{maxG}} groep max, {{maxP}} persoonlijk max)", + "ClassroomNameInvalid": " De naam van de klas is verplicht", + "reservedNickname": " De naam : \"{{reservedNickname}}\" kan niet worden toegekend.", + "invalidLink": " De ingevoerde link is niet geldig", + "noUser": " Je moet een student toevoegen", + "noUserUsername": " U moet een gebruikersnaam invoeren", + "pseudoMissingInCsvFile": " Sommige studenten konden niet worden toegevoegd omdat hun pseudo ontbrak.", + "backendReplyPseudoMissingInCsv": " Controleer het CSV-bestand: lege regel of pseudo ontbreekt", + "backendReplyPseudoMissingInUsersArray": " Er is een of meer fout(en) in de naam van de student(en)", + "invalidActivityId": " Fout bij het indienen van de opdracht: Ongeldige activiteit ID!", + "invalidCorrection": " Erreur die taak indient: Ongeldige activiteitsstatus!", + "generalBackendError": " Er is een fout opgetreden, probeer het later nog eens", + "currentPasswordDoesNotMatch": " Het ingevoerde wachtwoord is niet correct!", + "noAnswerInActivity": " U moet ten minste één antwoordveld hebben", + "courseMissingData": " U moet een titel en een beschrijving invoeren", + "courseMissingParameters": " U moet de parameters voor de cursus instellen" + }, + "ids": { + "classroom-dashboard-help-panel-teacher": " Help", + "classroom-dashboard-activities-panel-teacher": " Mijn activiteiten", + "classroom-dashboard-classes-panel-teacher": " Klassen", + "classroom-dashboard-sandbox-panel": " Sandbox", + "classroom-dashboard-ressources": " Toepassingen", + "classroom-dashboard-profil-panel-teacher": " Profiel", + "classroom-dashboard-activities-panel": " Mijn activiteiten", + "classroom-dashboard-profil-panel": " Profiel", + "classroom-dashboard-help-panel": " Help", + "classroom-dashboard-activities-panel-library-teacher": " Bronnenbank", + "classroom-dashboard-new-activity-panel": " Creatie van de activiteit", + "classroom-dashboard-new-activity-panel2": " Intermediair", + "classroom-dashboard-new-activity-panel3": " Toewijzing", + "classroom-table-panel-teacher": " Klasse {{naam}}", + "classroom-dashboard-sandbox-creation": " Selectie van de interface", + "classroom-dashboard-ide-panel": " Sandbox {{interface}}", + "classroom-dashboard-activity-panel": " Activiteit {{naam}}" + }, + "displayCode": " De code weergeven", + "navbar": { + "activities": " Activiteiten" + }, + "classes": { + "add": " Een klasse toevoegen", + "noClasses": " Je hebt nog geen klas.", + "createClassNow": " Begin nu met het maken van een klas!", + "form": { + "title": " Een klasse maken", + "updateTitle": " Update klaslokaal", + "name": " Naam van de klas", + "school": " Naam van de instelling", + "addStudent": " Een leerling toevoegen", + "noStudent": " Nog geen leerlingen in deze klas", + "isBlockedButton": " Beperkt tot deze leerlingen, niemand anders zal aan de klas kunnen deelnemen.", + "save": " De klas opslaan", + "return": " Terug naar de klas" + }, + "panel": { + "seeActivity": " Open de activiteit", + "editActivity": " De activiteit bewerken", + "editAttribution": " De toekenning bewerken", + "removeAttribution": " De toekenning verwijderen", + "password": " Uw wachtwoord:", + "resetPassword": " Wachtwoord opnieuw instellen", + "editNickname": " Wijzig uw bijnaam", + "delete": " Verwijder", + "copyLink": " Kopieer de directe link", + "learnerMode": " Leerlingenmodus", + "dueBy": " Verschuldigd door", + "timePassed": " De tijd ging voorbij:" + }, + "copyDirectLink": " Kopieer de directe link", + "selectStudents": " Selecteer leerlingen", + "selectedStudents": " 0 geselecteerde leerlingen", + "activationLink": " Activeringslink geactiveerd", + "activationLinkDisabled": " Activeringslink uitgeschakeld", + "fullscreen": " Bekijk in volledig scherm", + "deleteStudent": " Verwijder dit profiel", + "deleteStudentConfirm": " Wil je dit profiel echt verwijderen?" + }, + "activities": { + "title": " Activiteiten", + "save": " Het ontwerp opslaan", + "add": " Een activiteit toevoegen", + "addCabriExpress": " Express-activiteit creëren", + "addCabriGenius": " Slimme activiteit creëren", + "addOther": " Ander type activiteit", + "new": " Nieuw", + "current": " In afwachting van correctie", + "waiting": " Nog niet voltooid", + "done": " Voltooid", + "todo": " Te corrigeren", + "draft": " Ontwerp", + "anonymise": " Anonimiseer uw cursistenlijst, zodat u het dashboard aan uw cursisten kunt tonen.", + "save-draft": " Opslaan als ontwerp", + "validate": " De activiteit valideren", + "accept": " Zeer goede controle", + "vgood": " Bevredigende controle", + "good": " Breekbare controle", + "refuse": " Onvoldoende beheersing", + "nnoted": " Niet geëvalueerd", + "instruction": " Instructie", + "commentary": " Commentaar", + "sendResults": " Stuur het commentaar naar de leerling", + "noSend": " Deze activiteit is niet gemaakt", + "toSend": " Activiteit verschuldigd voor", + "sentOn": " Deze activiteit is teruggekeerd op", + "comments": " Schrijf uw opmerkingen daar", + "isAutocorrected": " Deze oefening is automatisch gecorrigeerd, je kunt de score hieronder wijzigen.", + "isAutocorrect": " Deze activiteit wordt automatisch gecorrigeerd.", + "timePassed": " De tijd ging voorbij:", + "activitySubmited2": " Activiteit ingediend op", + "activityOfUser": " Activiteit van", + "userSentOn": " verzonden op", + "yourAnswer": " Uw antwoord", + "studentAnswer": " Antwoord van de leerling", + "return": " Terug naar de activiteiten", + "numberOfTries": " Aantal pogingen:", + "bilan": { + "title": " Balans", + "results": " Resultaten", + "noComment": " Nog geen commentaar" + }, + "applist": { + "selectApp": " Selecteer de toepassing waarmee u een activiteit wilt creëren" + }, + "form": { + "1": " Toepassing", + "2": " Inhoud", + "3": " Titel", + "4": " Naamsvermelding", + "title": { + "label": " Titel van de activiteit", + "labelCabri": " Wat is de titel van de activiteit?", + "placeholder": " Titel van het spel", + "placeholderCabri": " Titel van de activiteit" + }, + "iframe": { + "label": " Wat is de toegangs-URL?", + "placeholder": " Voer een URL in" + }, + "notebookUpdateMessage": " Wijzig dit gedeelte niet als u het oude activiteitenboek wilt behouden!", + "notebookUrl": { + "label": " Een URL voor het notitieblok toevoegen", + "placeholder": " Notebook URL" + }, + "playerUrl": { + "label": " Een speler-URL toevoegen", + "placeholder": " Speler URL" + }, + "player": { + "labelFileChooser": " Kies een bestand", + "fileUpload": " Het bestand is succesvol geüpload", + "dragDrop": " Slepen en neerzetten" + }, + "nextButton": " Volgende", + "endButton": " Afwerking", + "content": { + "label": " Inhoud van de activiteit" + }, + "back": " Terug", + "validate": " Valideer", + "buttonContinue": " Opslaan en doorgaan", + "button": " Opslaan en goedkeuren", + "success": " Gefeliciteerd, je hebt een activiteit gecreëerd!", + "attribute": " Schrijf de activiteit nu toe", + "attribute2": " Schrijf de activiteit toe", + "return": " Terug naar mijn activiteiten", + "hint": " U kunt deze activiteit later alsnog toewijzen vanaf uw dashboard.", + "modify": " De activiteit wijzigen", + "select1": " Selecteer de leerlingen", + "select2": " geselecteerd.", + "instructions": " Specifieke instructies voor deze leerlingen", + "autocorrect": " Deze activiteit heeft autocorrectie, wil je die activeren?", + "nature": " Kan de leerling de activiteit meer dan eens indienen?", + "dateBegin": " Startdatum:", + "dateEnd": " Einddatum :", + "retroAttribution": " Deze activiteit zal worden toegevoegd voor elke nieuwe student" + }, + "toCopy": " Met deze code kunt u gemakkelijk uw klas", + "qrCode": " Scan de QR-code:", + "copyLink": " De link naar uw klas is toegevoegd aan het klembord", + "dateBefore": " Terug te sturen voor", + "dateBeforeAvailable": " Beschikbaar tot", + "integrate": " Integreren in een activiteit", + "veryGoodProficiency": " Zeer goede controle", + "goodProficiency": " Bevredigende controle", + "weakProficiency": " Breekbare controle", + "insufficientProficiency": " Onvoldoende beheersing", + "noProficiency": " Niet geëvalueerd", + "addLearner": " Een leerling toevoegen", + "addLearners": " Leerlingen toevoegen", + "addActivity": " Een activiteit toevoegen", + "exportCsv": " Export csv", + "players": { + "STANDARD": { + "title": " Standaard", + "description": " Met de standaardspeler kunt u alle activiteitenboeken lezen die met de Cabri-auteurstool zijn gemaakt." + }, + "IMUSCICA": { + "title": " iMuSciCA", + "description": " De iMuSciCA-speler maakt het mogelijk om in de muziekstudio alle activiteiten te lezen die met de Cabri-auteurstool zijn gerealiseerd." + }, + "IFRAME": { + "title": " Autre", + "description": " Kies uit een selectie van lezers voor gebruik in uw activiteiten met de Cabri authoring tool." + }, + "EXPRESS": { + "title": " Express", + "description": " Dynamisch wiskunde-instrument" + }, + "GENIUS": { + "title": " Slim", + "description": " Automatisch beoordelingsinstrument voor wiskunde" + }, + "IFRAME-CABRI3D": { + "title": " Cabri 3D", + "description": " Maak een dynamische verkenning van de ruimtegeometrie." + }, + "LTI-BLOCKLY": { + "title": " Cabri Blockly", + "description": " Voeg gebruikersacties toe aan een Cabri activiteit, zoals animaties, sloten,... visueel geprogrammeerd in dezelfde geest als met Scratch of Snap !" + } + }, + "tabs": { + "players": " Activiteitenboek", + "iframes": " Video en webpagina" + }, + "iframes": { + "IFRAME-VIDEO": { + "title": " Video", + "description": " Voer de URL in van een video die op een hostingplatform is gepubliceerd." + }, + "IFRAME-PAGE": { + "title": " Webpagina", + "description": " Voer de URL van de webpagina in." + } + }, + "month": { + "1": " Januari", + "2": " Februari", + "3": " Maart", + "4": " April", + "5": " Mei", + "6": " Juni", + "7": " Juli", + "8": " Augustus", + "9": " September", + "10": " Oktober", + "11": " November", + "12": " December" + }, + "preview": " Voorbeeld", + "previewTeacherResult": " De leerling zou de volgende score hebben gekregen:", + "studentResult": " Verkregen resultaat:", + "deleteActivityDisclaimer": " U staat op het punt een activiteit te verwijderen. Deze actie is onomkeerbaar.", + "deleteConfirm": " De verwijdering van de activiteit bevestigen", + "deleteActivity": " De activiteit verwijderen", + "correctAnswer": " Correct antwoord", + "nbActivities": " {{ nbActi }} Activiteiten

      ", + "moveToFolder": " Ga naar", + "rootFolder": " Hoofdmap", + "seekFolder": " Ga naar de map", + "foldersMessages": { + "errorDelete": " Er is een fout opgetreden bij het verwijderen van de map", + "errorCreate": " Er is een fout opgetreden bij het aanmaken van het bestand", + "errorLenght": " De mapnaam moet tussen 1 en 30 tekens bevatten", + "errorUpdate": " Er is een fout opgetreden tijdens het bewerken van het bestand", + "errorMoveTo": " Er is een fout opgetreden bij het verplaatsen van het object", + "movedTo": " Object succesvol verplaatst", + "created": " Succesvol aangemaakt bestand", + "updated": " Succesvol gewijzigd bestand", + "deleted": " Bestand succesvol verwijderd", + "createFolder": " Een map aanmaken", + "deleteFolder": " Bevestig de verwijdering van het bestand", + "updateFolder": " Wijzig het bestand", + "nameMandatory": " Mapnaam *", + "deleteDisclaimer": " Let op, de map en al zijn inhoud (activiteiten en submappen) worden verwijderd." + }, + "facultative": " Facultatieve velden", + "previewActivity": " Voorbeeld van de activiteit", + "infoRetroAttribution": " Deze activiteit wordt toegewezen aan nieuwe leerlingen wanneer zij aan uw klas worden toegevoegd.", + "infoAutocorrect": " Deze activiteit heeft automatische correctie", + "infoEvaluation": " In de beoordelingsmodus kunnen leerlingen de activiteit slechts eenmaal indienen en hebben ze geen toegang tot hints en aanwijzingen." + }, + "filter": { + "desc": " Van de minst recente naar de meest recente", + "asc": " Van meest recent naar minst recent", + "cabriExpress": " Express activiteiten", + "cabriGenius": " Slimme activiteiten", + "cabriVittascience": " Vittascience activiteiten", + "iframe": " Andere activiteiten", + "placeholder": " Zoek naar..." + }, + "sandbox": { + "mine": " Mijn projecten", + "shared": " Gedeelde projecten", + "add": " Maak een programma", + "chooseInterface": " Selecteer de interface waarop u een programma wilt maken:", + "teacherSharedDescription": " Vind hier de programma's die door uw leerlingen worden gedeeld.", + "studentSharedDescription": " Vind hier de programma's gedeeld door uw leraar" + }, + "footer": { + "privacy": " Privacybeleid", + "legal": " Juridische informatie", + "cgu": " Gebruiksvoorwaarden", + "copyright": " " + }, + "teacherHelpPanel": { + "contactForm": { + "title": " Contacteer ons", + "objectPlaceholder": " Object", + "messagePlaceholder": " Schrijf hier uw bericht. (Maximaal 800 tekens)", + "sendButton": " Stuur het bericht", + "fillInAllTheFields": " Vul alle velden in" + } + }, + "sandBoxCreationPanel": { + "title": " Selecteer de interface waarop u een programma wilt maken", + "knowMoreButton": " Meer informatie over interfaces", + "interfacesDescription": { + "arduino": " Programmeerinterface voor het Arduino-bord", + "microbit": " Programmeerinterface voor het Micro:bit bord", + "python": " Programmeerinterface voor Python 3 gedacht voor het onderwijs", + "texas-instruments": " Programmeerinterface voor rekenmachine met het micro:bit bord", + "esp32": " Programmeerinterface voor de ESP32-borden (Wemos D1R32, NodeMCU, Huzzah32, ...)", + "quickpi": " Programmeerinterface voor het Quick-Pi bord" + } + }, + "modals": { + "addLtiActivityName": " Wat is de titel van de activiteit ?", + "addActivity": { + "title": " Een activiteit toevoegen", + "resourceBank": { + "title": " Bekijk de gezamenlijke bronnenbank", + "button": " Bronnenbank" + }, + "orSeparator": " OF", + "attributeActivity": { + "title": " Mijn bestaande activiteiten bekijken", + "button": " Mijn activiteiten" + }, + "shareProject": { + "title": " Deel het project" + }, + "createActivity": { + "title": " Een nieuwe activiteit creëren", + "button": " Een activiteit creëren" + }, + "next": " Volgende", + "limitTitle": " Overschreden limiet", + "limitDescription": " De limiet van het aantal aan deze rekening gekoppelde activiteiten is bereikt.", + "upgradePlan": " Limiet verhogen" + }, + "updateActivity": { + "title": " Een activiteit bijwerken" + }, + "deleteActivity": { + "title": " Activiteit verwijderen", + "description": " Weet je zeker dat je de activiteit wilt verwijderen?", + "confirm": " Bevestig", + "cancel": " Annuleren" + }, + "settingsTeacher": { + "title": " Accountinstellingen", + "lang": " Taal", + "description": " Om uw wachtwoord of andere accountinstellingen te wijzigen", + "accessButton": " Ga naar uw profiel", + "password": " Wachtwoord", + "passwordDescription": " Hier is je wachtwoord. Onthoud het, anders kan alleen je leraar het je teruggeven.", + "resetPassword": " Reset" + }, + "addStudent": { + "title": " Studenten toevoegen", + "pseudo": " Pseudoniem", + "addStudentButton": " Leerling toevoegen", + "addStudentByCsvButton": " Een leerlingbestand toevoegen (.csv)" + }, + "addStudentByCsv": { + "title": " Studenten toevoegen met een .csv-bestand", + "description": " U kunt een of meer deelnemers tegelijk toevoegen door ze te importeren uit een .csv-bestand. Het is optioneel om voor elk van hen een wachtwoord in te stellen. Hier zijn de voorbeeld .csv-bestanden:", + "descriptionUpdate": " Je kunt een of meer deelnemers tegelijk toevoegen door ze te importeren uit een .csv-bestand. Kijk uit Hier worden de wachtwoorden in het csv-bestand niet ondersteund! Hier is het voorbeeld .csv-bestand:", + "csvTemplate": " sjabloonbestand met wachtwoord", + "csvTemplateNoPassword": " sjabloonbestand zonder wachtwoord", + "importStudentByCsvButton": " Leerlingen importeren", + "fileChooser": " Kies een bestand", + "fileName": " Geen bestanden gekozen" + }, + "exportCsv": { + "title": " Exporteren in csv-formaat", + "exportLearnersDescription": " Download de lijst met deelnemers voor deze klas en hun wachtwoorden. Het gedownloade bestand is in .csv-formaat.", + "exportLearners": " Download de lijst van deelnemers", + "exportDashboardDescription": " Download de lijst van leerlingen voor deze klas en, voor elk van hen, hun toegewezen activiteiten en de status van elke activiteit (nog niet gedaan, te corrigeren, voltooid). Het gedownloade bestand is in .csv-formaat.", + "exportDashboard": " Download het dashboard" + }, + "listClass": { + "title": " Overschakelen naar de leerlingmodus", + "description": " U kunt de interface gemakkelijk testen als leerling en op elk moment terugkeren naar uw lerarenprofiel. Uw vorderingen als leerling worden opgeslagen in uw demostudentenaccount.", + "switchButton": " Overschakelen naar de leerlingmodus", + "noClass": " Je moet eerst een klasse maken om deze functie te gebruiken" + }, + "changePseudo": { + "title": " Bijnaam wijzigen", + "description": " Bijnaam wijzigen", + "validateButton": " Valideer" + }, + "attributeActivity": { + "title": " Activiteit toewijzen" + }, + "shareProject": { + "title": " Project delen" + }, + "profileUpdatePasswordConfirm": { + "title": " Bevestiging van het wachtwoord", + "description": " Voer uw huidige wachtwoord in om uw profielwijzigingen te valideren!", + "placeholderInput": " Wachtwoord", + "validateButton": " Valideer" + } + }, + "folders": { + "folderManagement": " Beheer van bestanden", + "name": " Mapnaam *", + "title": " Map", + "image": " Map afbeelding" + } + }, + "login_popup": { + "title": " Inloggen", + "details": " Voer uw inloggegevens in om toegang te krijgen tot uw account.", + "form": { + "addressmail": " E-mailadres", + "addressmail_placeholder": " exemple@domaine.com", + "password": " Wachtwoord", + "password_placeholder": " Uw wachtwoord.", + "forgot_password": " Ik ben mijn wachtwoord vergeten.", + "btn_connect": " Inloggen" + }, + "success": " De authenticatie was succesvol. Omleiding...", + "error": " Fout. Controleer uw inloggegevens.", + "mailSuccess": " Er is een activeringsmail naar uw e-mailadres gestuurd.", + "mailError": " Er is een fout opgetreden. Controleer uw e-mailadres.", + "userNotFound": " Geen gekoppelde gebruiker gevonden bij deze mail.", + "inactiveAccount": " Uw account is niet actief, klik op de knop hieronder om een nieuwe validatiemail te sturen.", + "accountDeactivated": " Uw account is gedeactiveerd, neem contact op met een beheerder als het probleem aanhoudt.", + "errorBeta": " U moet een beta-tester zijn om toegang te krijgen tot deze functie. Contacteer het Vittascience team voor meer informatie." + }, + "signup-popup": { + "title": " Registratie", + "notice": " Vul de volgende velden in om uw Vittascience account aan te maken.", + "firstName": " Voornaam", + "lastName": " Naam", + "mail": " E-mailadres", + "telephone": " Telefoon", + "password": " Wachtwoord", + "passwordConfirmed": " Bevestiging", + "firstNamePlaceholder": " Uw voornaam.", + "lastNamePlaceholder": " Je naam.", + "mailPlaceholder": " U krijgt een bevestigingsmail.", + "telephonePlaceholder": " Uw telefoonnummer (facultatief).", + "passwordPlaceholder": " Minimaal 8 tekens. Hoofdletters, kleine letters en cijfers.", + "passwordConfirmedPlaceholder": " Herhaal uw wachtwoord een tweede keer.", + "mandatory": " Velden gemarkeerd met een * zijn verplicht.", + "submit": " Bevestig", + "back": " Terug", + "title2nd": " Geef ons wat aanvullende informatie", + "areYou": " Bent u...", + "member": " Een individu?", + "teacher": " Een leraar?", + "teacher-grade": " Niveau van de opleiding", + "grades": { + "primary": " Primair", + "middle": " College", + "high": " High School", + "highbis": " Professionele Hoge School", + "higher": " Post-BAC" + }, + "establishement": " Instelling", + "establishementPlaceholder": " Zoek op schoolnaam of stad.", + "subject": " Onderwerp geleerd", + "bio": " Mini-bio", + "bioPlaceholder": " Vertel ons een beetje over jezelf, zodat andere gebruikers van de site iets meer over je achtergrond weten :) Maximaal 800 tekens.", + "profilPicture": " Profielfoto (optioneel)", + "allowPictures": " Geaccepteerde formaten: jpeg, jpg, png. Max. 10Mb", + "allowPublicName": " Accepteert u dat uw naam en achternaam openbaar zijn op de site?", + "allowNewsletter": " Wilt u onze nieuwsbrief per e-mail ontvangen?", + "allowAlertMessage": " Wilt u per e-mail gewaarschuwd worden wanneer er nieuwe berichten op de site binnenkomen?", + "allowMessageReceive": " Wilt u gecontacteerd worden door andere gebruikers van de site?", + "eighteenConfirm": " Ik bevestig dat ik ouder ben dan 18 jaar (artikel 1124 van het burgerlijk wetboek)", + "confirmCGU": " Door dit formulier te valideren, gaat u akkoord met de Voorwaarden.", + "concernedAboutPrivacy": " Vittascience hecht veel belang aan de veiligheid en vertrouwelijkheid van de persoonsgegevens van haar gebruikers. Ontdek onze bescherming van persoonsgegevens", + "errors": { + "mailUsed": " De mail {{ mail }} is al in gebruik. Kies een andere.", + "mailUsedServer": " Het opgegeven e-mailadres bestaat al.", + "lastName": " De opgegeven naam is onjuist.", + "firstName": " De opgegeven voornaam is onjuist.", + "mailInvalid": " Het e-mailadres is ongeldig.", + "passwordInvalid": " Het wachtwoord voldoet niet aan de veiligheidsvoorschriften.", + "biographyInvalid": " De biografie is onjuist.", + "telephoneInvalid": " Het telefoonnummer is onjuist.", + "profilPictureInvalid": " De verstrekte profielfoto voldoet niet aan het aangegeven formaat.", + "establishementIncorrect": " De vestigingsnaam is onjuist.", + "gradeIncorrect": " Het niveau van het onderwijs is onjuist.", + "subjectIncorrect": " De naam van het onderwezen onderwerp is onjuist." + }, + "success": { + "main": " Uw registratie is succesvol geregistreerd! Een bevestigingslink is naar u gestuurd op {mail }}.", + "notice": " U moet deze link openen voordat u kunt inloggen. Als u de betreffende e-mail niet kunt vinden, controleer dan uw spamfolder." + } + }, + "switchAccessibility": { + "title": " Toegankelijkheid", + "theme": " Thema", + "light_theme": " Duidelijk thema", + "dark_theme": " Donker thema", + "font": " Politie", + "basic_font": " Basis", + "know_more": " Meer lezen" + }, + "words": { + "send": " stuur", + "settings": " parameters", + "disconnect": " ontkoppeling", + "help": " help", + "duplicate": " dubbel", + "delete": " verwijder", + "attribute": " toewijzen", + "modify": " edit", + "optional": " optionele", + "evaluation": " evaluatie", + "exercise": " oefening", + "return": " terug", + "anonymize": " anonimiseren", + "monochrome": " Monochrome modus", + "days": " dagen", + "hours": " uren", + "minutes": " minuten", + "seconds": " seconden", + "confirm": " bevestig", + "username": " pseudoniem", + "password": " Wachtwoord", + "yes": " Ja", + "no": " Geen" + }, + "faqTeacherNeutral": { + "1": { + "section_title": " Activiteiten", + "question_list": { + "1": { + "title": " Wat is het doel van het tabblad Mijn activiteiten?", + "answer": " In het tabblad Mijn activiteiten kunt u:
      1. Eigen activiteiten aanmaken.
      2. Toewijzen aan uw leerlingen!
      ." + }, + "2": { + "title": " Wat is een activiteit?", + "answer": " Een activiteit is interactieve inhoud die wordt gecreëerd vanuit Cabri Express, Cabri Smart of een bestaand Cabri-schrift." + }, + "3": { + "title": " Hoe een activiteit creëren of wijzigen?", + "answer": "

      U kunt eenvoudig activiteiten aanmaken of bewerken.

      Om een activiteit te bewerken, gaat u naar het tabblad Mijn activiteiten en klikt u op het pictogram voor uw activiteit en klikt u vervolgens op Bewerken. Vergeet niet uw wijzigingen op te slaan.

      " + }, + "4": { + "title": " Hoe wijs ik een activiteit toe?", + "answer": " Om een activiteit toe te wijzen, hebt u drie opties:
      1. Ofwel gaat u naar het tabblad Mijn activiteiten en klikt u op het pictogram voor uw activiteit en klikt u vervolgens op Toewijzen.
      2. Deze toewijzingsoptie is ook beschikbaar in de activiteit zelf zodra deze is geopend.
      3. Daarna gaat u naar het tabblad Klassen en klikt u op een klas. In het dashboard van de klas klikt u op de knop \"Activiteit toevoegen\"." + }, + "5": { + "title": " Hoe test je een activiteit?", + "answer": " Om een activiteit te testen heb je twee opties:
        1. Of je gaat naar Profiel en klikt op de knop \"Overschakelen naar de Leerlingmodus\" en selecteert vervolgens de klas waarin je wilt zitten. U bevindt zich dan in de fictieve account van een leerling genaamd \"demostudent\", u kunt de interface \"Learner\" ontdekken en de toegewezen activiteiten uitvoeren.
        2. Of ga naar Klassen in het dashboard van een klas, u kunt dan in de huid kruipen van de leerling-demostudent. Klik hiervoor op het pictogram, je krijgt dan de mogelijkheid om leerling te worden in de klas en de activiteiten uit te proberen.
        Om terug te keren naar de \"Leerkracht\"-modus, ga je gewoon naar het tabblad Profiel van de demostudentaccount en klik je op \"Terug naar de Leerkrachtmodus.\"." + }, + "6": { + "title": " Hoe verwijder je een activiteitstoewijzing zonder de activiteit te verwijderen?", + "answer": " Om de opdracht van een activiteit te verwijderen, ga je naar het tabblad Klas, open je het dashboard voor een van de klassen, klik je op de activiteit (het pictogram wordt als je er met de muis overheen gaat) en vervolgens op Opdracht bewerken. U hoeft nu alleen nog maar de instellingen te wijzigen en deelnemers te selecteren of te deselecteren." + } + } + }, + "2": { + "section_title": " Klasse", + "question_list": { + "1": { + "title": " Wat is het doel van het tabblad Klassen?", + "answer": " In het tabblad Klassen kunt u:
        1. Eigen klassen maken en leerlingen toevoegen
        2. De reacties van uw leerlingen op activiteiten corrigeren,
        3. en hun vorderingen bijhouden.
        ." + }, + "2": { + "title": " Hoe voeg ik mijn leerlingen toe aan mijn klas?", + "answer": " Je hebt verschillende opties:
        1. In de klas kun je de code projecteren op het bord. Ga hiervoor naar uw klas en klik op de knop om de onderstaande code te vergroten:
          Uw leerlingen hoeven zich alleen maar te registreren of in te loggen op de site door de code in te voeren. Ze kunnen deze code ook opschrijven om thuis in te loggen.
        2. U kunt ook leerlingen aanmaken met de knop \"Leerling toevoegen\" en ze dan hun wachtwoord individueel toezenden, dit is zichtbaar op het Dashboard van de klas :
        " + }, + "3": { + "title": " Kan een leerling in twee verschillende klassen zitten?", + "answer": " Nee, dit is momenteel niet mogelijk." + }, + "4": { + "title": " Hoe blokkeer je andere leerlingen in een klas?", + "answer": " Deze optie is binnenkort beschikbaar! Dit voorkomt dat leerlingen zich per ongeluk meerdere keren voor dezelfde klas inschrijven, en voorkomt ook dat buitenstaanders zonder toestemming de klas binnenkomen." + }, + "5": { + "title": " Hoe wijs ik een activiteit toe?", + "answer": "

        U kunt een activiteit toewijzen aan alle klassen die u hebt gemaakt of alleen aan een specifieke leerling.

        Om een activiteit toe te wijzen, hebt u drie opties:

        1. Ofwel gaat u naar het tabblad Mijn activiteiten en klikt u op het pictogram voor uw activiteit en klikt u vervolgens op Toewijzen.
        2. Deze toewijzingsoptie is ook beschikbaar in de activiteit zelf zodra deze is geopend.
        3. Vervolgens gaat u naar het tabblad Klassen en klikt u op een klas. In het dashboard van de klas klikt u op de knop \"Activiteit toevoegen\"." + }, + "6": { + "title": " Kunnen we terugkomen op de toewijzing van een activiteit?", + "answer": " Om terug te gaan naar het toewijzen van een activiteit, ga je naar het tabblad Klas, open je het dashboard voor een van de klassen, klik je op de activiteit (het pictogram wordt als je er met de muis overheen gaat) en vervolgens op Opdracht bewerken. U hoeft nu alleen nog maar de instellingen te wijzigen en deelnemers te selecteren of te deselecteren." + }, + "7": { + "title": " Hoe worden de activiteiten geëvalueerd?", + "answer": " De beoordelingen zijn:
          • handmatig op 4 niveaus: Zeer goede beheersing; Voldoende beheersing; Zwakke beheersing en Onvoldoende beheersing
          • Of automatisch op 2 niveaus:
            Dit type beoordeling zorgt ervoor dat de leerling onmiddellijk gecorrigeerd wordt en dat de docent veel tijd bespaart.

          Als de leerling zijn activiteit heeft voltooid, kan hij deze opnieuw starten als de docent bij het toewijzen de modus \"Oefenen\" heeft geselecteerd. In de modus \"Beoordeling\" kan de leerling niet opnieuw beginnen zodra de activiteit is gevalideerd.

          Om de resultaten te bekijken, gaat u naar het Dashboard van de klas.

          Een niet-gecorrigeerde activiteit wordt gesymboliseerd door een potlood in het Dashboard. Om deze te corrigeren klikt u op het potlood, waarna u het werk van de leerling beoordeelt en van commentaar voorziet.

          " + }, + "8": { + "title": " Hoe weten we wanneer leerlingen hun activiteiten hebben voltooid?", + "answer": " Wanneer een leerling zijn activiteit heeft voltooid, ontvangt u een e-mail notificatie.
          Deze instelling zal in de toekomst worden aangepast, voorlopig is het niet instelbaar." + }, + "9": { + "title": " Hoe de naam van een klas veranderen?", + "answer": " Om de naam van je klas te veranderen, moet je klikken op het icoontje van het tabblad Klassen, en dan op bewerken. U hoeft dan alleen de naam te veranderen." + }, + "10": { + "title": " Hoe verwijder ik een leerling uit een klas?", + "answer": "

          Om een leerling te verwijderen, klikt u gewoon op het pictogram naast de naam van de leerling in het Klasdashboard.

          Waarschuwing: deze actie is onomkeerbaar en sluit de account van de leerling.

          " + }, + "11": { + "title": " Wat is het doel van de anonimiseringsknop in het Dashboard?", + "answer": " Deze knop vervangt de namen van de leerlingen door nummers. Zo kunt u de resultaten van de leerlingen anoniem op het bord projecteren om bepaalde leerlingen niet te stigmatiseren." + } + } + }, + "3": { + "section_title": " Profiel", + "question_list": { + "1": { + "title": " Wat is het doel van het tabblad Profiel?", + "answer": " In het tabblad Profiel kunt u:
          1. de instellingen van uw account beheren,
          2. uw statistieken bekijken,
          3. en berichten uitwisselen met uw leerlingen en het Cabrilog-team als u hulp nodig hebt.
          " + }, + "2": { + "title": " Hoe verander ik mijn wachtwoord of andere accountinstellingen?", + "answer": " Om uw wachtwoord of andere instellingen te wijzigen, gaat u naar het tabblad Profiel. In het geval van GAR zijn de instellingen die van uw ENT." + }, + "3": { + "title": " Hoe verander je de taal?", + "answer": " De klaslokaalmodule is momenteel beschikbaar in het Engels en het Frans. Om de taal te wijzigen, gaat u naar het tabblad Profiel, klikt u op de knop \"Instellingen\" en selecteert u de gewenste taal." + }, + "4": { + "title": " Wat is de leerlingmodus?", + "answer": "

          In je profiel kun je op de knop \"Switch to Learner Mode\" klikken. Nadat je een klas hebt gekozen, ga je naar een fictieve leerling-account genaamd \"demostudent\", waar je de Learner-interface kunt ontdekken en de toegewezen activiteiten kunt uitvoeren.

          Om terug te keren naar de \"Docent\"-modus, ga je naar het tabblad Profiel van de demostudent-account en klik je op \"Terug naar Docentenmodus\".

          " + } + } + }, + "4": { + "section_title": " Algemene vragen", + "question_list": { + "1": { + "title": " Op welke media is de klassemodule compatibel?", + "answer": "

          De interfaces werken zonder installatie, op computer, tablet en smartphone! Updates gebeuren automatisch en van uw programma's wordt een back-up gemaakt in de cloud.

          Om alle functies ten volle te benutten, raden wij u aan Chrome of Firefox te gebruiken.

          " + }, + "2": { + "title": " Hoe maak ik een snelkoppeling naar de klaslokaalmodule?", + "answer": "

          U hebt de mogelijkheid om een pictogram op het bureaublad van uw computer te plaatsen om snel toegang te krijgen tot de klaslokaalmodule. Om dit te doen:

          On Windows en Mac:

          1. Open de pagina: klaslokaal/ en verklein vervolgens het browservenster zodat u het bureaublad ernaast kunt zien.
          2. Selecteer in uw webbrowser het symbool links van het adres en sleep de aanwijzer naar het bureaublad zonder de muisknop los te laten. Laat los om de snelkoppeling te maken.
          3. De snelkoppeling is gemaakt. U hoeft er alleen maar op te dubbelklikken om de gekoppelde webpagina te openen.

          Op Android met Chrome:

          1. Open de pagina:classroom/, druk vervolgens op de menuknop en selecteer \"Toevoegen aan beginscherm\".
          2. Noem de pagina en druk op \"Toevoegen\".
          3. De snelkoppeling wordt gemaakt. U hoeft er alleen maar op te dubbelklikken om de gekoppelde webpagina te openen.

          Op Android met Firefox:

          1. Open de pagina:classroom/, druk vervolgens op de menuknop en vervolgens op Pagina.
          2. Tik op Snelkoppeling toevoegen aan pagina.
          3. De snelkoppeling wordt gemaakt op het startscherm. U hoeft er alleen maar op te klikken om de gekoppelde webpagina te openen.

          Op iOS met Safari:

          1. Open de pagina:classroom/ en tik vervolgens op het pictogram Delen.
          2. Selecteer op het startscherm en tik vervolgens op Toevoegen.
          3. De snelkoppeling wordt gemaakt op het startscherm. Je hoeft er alleen maar op te klikken om de gekoppelde webpagina te openen.

          Je kunt op internet meer tutorials vinden om een snelkoppeling op het bureaublad te maken.

          " + } + } + }, + "5": { + "section_title": " Technisch probleem", + "question_list": { + "1": { + "title": " Ik heb een bug, wat kan ik doen?", + "answer": " Wanneer zich een bug voordoet, probeer dan eerst de pagina te verversen. Als de bug blijft bestaan, kunt u contact met ons opnemen in het tabblad Profiel met de knop \"Help\"." + }, + "2": { + "title": " Hoe meld ik bugs en geef ik feedback?", + "answer": " Als de bug blijft bestaan, kunt u contact met ons opnemen in het tabblad Profiel met de knop \"Help\".
          Om ons feedback te geven, kunt u ook contact met ons opnemen in het tabblad Profiel met de knop \"Help\"." + } + } + }, + "6": { + "section_title": " Vergunningen", + "question_list": { + "1": { + "title": " Kunnen we een beschrijving of presentatie van de Klassenmodule maken?", + "answer": " Ja, u kunt de afbeeldingen voor de klaslokaalmodule hergebruiken om een beschrijving, presentatie, training, zelfstudie, cursus of andere te maken. Als u afbeeldingen of inhoud van activiteiten wilt opnemen, vermeld dan de auteur (zie volgende vraag)." + }, + "2": { + "title": " Waar kan ik de broncode van de Class-module vinden?", + "answer": " De broncode van de Class-module is beschikbaar op de OpenSTEAM-LMS git repository, voel je vrij om bij te dragen!" + } + } + }, + "title": " FAQ" + }, + "faqStudentNeutral": { + "1": { + "section_title": " Activiteiten", + "question_list": { + "1": { + "title": " Wat is het doel van het tabblad Mijn activiteiten?", + "answer": " In het tabblad Mijn activiteiten kun je:
          1. Nieuwe activiteiten van je leraren voltooien.
          2. Opslaan die je nog niet hebt voltooid.
          3. En de activiteiten die je al hebt gedaan bekijken!\"
          ." + }, + "2": { + "title": " Wat is een activiteit?", + "answer": " Een activiteit is interactieve inhoud die is gemaakt met Cabri Express of Cabri Author." + } + } + }, + "2": { + "section_title": " Bel voor hulp", + "question_list": { + "1": { + "title": " Wat is het doel van het tabblad Hulpaanvraag?", + "answer": " In het tabblad Vraag om hulp kun je:
          1. Op elk moment hulp vragen aan je docenten,
          2. Veel gestelde vragen raadplegen.
          Je kunt je berichtenuitwisseling volgen in het tabblad Profiel." + } + } + }, + "3": { + "section_title": " Profiel", + "question_list": { + "1": { + "title": " Wat is het doel van het tabblad Profiel?", + "answer": " In het tabblad Profiel kun je:
          1. Je accountinstellingen beheren,
          2. Je statistieken bekijken,
          3. en berichten uitwisselen met je leraren.
          " + }, + "2": { + "title": " Hoe verander ik mijn wachtwoord of andere accountinstellingen?", + "answer": " Om uw wachtwoord of andere instellingen te wijzigen, gaat u naar het tabblad Profiel." + }, + "3": { + "title": " Hoe verander je de taal?", + "answer": " De klaslokaalmodule is momenteel beschikbaar in het Engels en het Frans. Om de taal te wijzigen, gaat u naar het tabblad Profiel, klikt u op de knop \"Instellingen\" en selecteert u de gewenste taal." + } + } + }, + "4": { + "section_title": " Algemene vragen", + "question_list": { + "1": { + "title": " Hoe begin ik met de klaslokaalmodule?", + "answer": " U kunt op elk moment algemene hulp krijgen door te klikken op het pictogram rechtsboven om een handvat te krijgen voor de Klassenmodule." + }, + "2": { + "title": " Op welke media is de klassemodule compatibel?", + "answer": "

          De interfaces werken zonder installatie, op computer, tablet en smartphone! Updates worden automatisch uitgevoerd en uw programma's worden opgeslagen in de cloud.

          Om alle functies ten volle te benutten, raden wij u aan Chrome of Firefox te gebruiken.

          " + }, + "3": { + "title": " Hoe maak ik een snelkoppeling naar de klaslokaalmodule?", + "answer": "

          U hebt de mogelijkheid om een pictogram op het bureaublad van uw computer te plaatsen om snel toegang te krijgen tot de klaslokaalmodule. Om dit te doen:

          On Windows en Mac:

          1. Open de pagina: /klaslokaal/ en verklein vervolgens het browservenster zodat u het bureaublad ernaast kunt zien.
          2. Selecteer in uw webbrowser met de muis het symbool links van het adres en sleep de aanwijzer naar het bureaublad zonder deze los te laten. Laat los om de snelkoppeling te maken.
          3. De snelkoppeling is gemaakt. U hoeft er alleen maar op te dubbelklikken om de gekoppelde webpagina te openen.

          Op Android met Chrome:

          1. Open de pagina: /klaslokaal/, druk vervolgens op de menuknop en selecteer \"Toevoegen aan beginscherm\".
          2. Noem de pagina en druk op \"Toevoegen\".
          3. De snelkoppeling wordt gemaakt. Je hoeft er alleen maar op te dubbelklikken om de gekoppelde webpagina te openen.

          Op Android met Firefox:

          1. Open de pagina: /klaslokaal/, tik op de menuknop en vervolgens op Pagina.
          2. Tik op Snelkoppeling naar pagina toevoegen.
          3. De snelkoppeling wordt gemaakt op het beginscherm. U hoeft er alleen maar op te klikken om de gekoppelde webpagina te openen.

          Op iOS met Safari:

          1. Open de pagina:/klaslokaal/, tik vervolgens op het pictogram Delen.
          2. Selecteer op het startscherm en tik vervolgens op Toevoegen.
          3. De snelkoppeling wordt gemaakt op het startscherm. Je hoeft er alleen maar op te klikken om de gekoppelde webpagina te openen.

          Je kunt op internet meer tutorials vinden voor het maken van een snelkoppeling op het bureaublad.

          " + } + } + }, + "5": { + "section_title": " Technisch probleem", + "question_list": { + "1": { + "title": " Ik heb een bug, wat kan ik doen?", + "answer": " Wanneer zich een bug voordoet, is het eerste wat u moet doen de pagina proberen te verversen. Als de bug blijft bestaan, kunt u contact opnemen met uw leraar in het tabblad Hulp vragen." + }, + "2": { + "title": " Hoe meld ik bugs en geef ik feedback?", + "answer": "

          Als de bug blijft bestaan, kun je contact opnemen met je leraar in het tabblad Help.

          Om feedback te geven aan je leraar, kun je ook contact opnemen met hem/haar in het tabblad Help.

          " + } + } + }, + "6": { + "section_title": " Vergunningen", + "question_list": { + "1": { + "title": " Waar kan ik de broncode van de Class-module vinden?", + "answer": " De broncode van de Klassenmodule is beschikbaar op de OpenSTEAM-LMS git repository, voel je vrij om bij te dragen!" + } + } + }, + "title": " FAQ" + }, + "manager": { + "profil": { + "manager": " Overschakelen naar manager", + "groupAdmin": " Schakel over naar groepsbeheerder", + "bio": " Bio", + "group": " Groep", + "apps": " Apps", + "personalApps": " Persoonlijke apps", + "email": " E-mail *", + "nickname": " Gebruikersnaam", + "lastname": " Achternaam *", + "firstname": " Voornaam *", + "phone": " Telefoonnummer", + "grade": " Niveau van de opleiding *", + "subject": " Onderwezen onderwerp *", + "school": " School *", + "password": " Wachtwoord *", + "confirmPassword": " Wachtwoord bevestigen *", + "help": " Help", + "onlyVisibleGroupAdmin": " Alleen zichtbaar voor u als groepsbeheerder:", + "onlyVisiblemanager": " Alleen zichtbaar voor u als manager:" + }, + "account": { + "activate": { + "success": " Uw account is geactiveerd!", + "alreadyactive": " Uw account is al actief.", + "noToken": " Aan deze link is geen token verbonden." + }, + "active": " Actieve rekening", + "registration": { + "success": " Succesvolle registratie !", + "emailSent": " Er is zojuist een e-mail naar u verzonden, volg de link daarin om uw account te activeren en uw link naar de groep \"\" voort te zetten.", + "accountPublic": " Gaat u ermee akkoord dat uw voor- en achternaam openbaar zijn op de site?", + "newsletter": " Wilt u onze nieuwsbrief per e-mail ontvangen?", + "mailAlert": " Wilt u per e-mail gewaarschuwd worden wanneer u nieuwe berichten op de site ontvangt ?", + "allowContact": " Wilt u gecontacteerd kunnen worden door andere gebruikers van de site ?", + "confirmAdult": " Ik bevestig dat ik ouder ben dan 18 jaar (artikel 1124 du code civil)*.", + "disclaimerVittascience": " Vittascience hecht veel belang aan de veiligheid en vertrouwelijkheid van de persoonsgegevens van haar gebruikers. Ontdek ons beleid inzake de bescherming van persoonsgegevens", + "mandatory": " Velden gemarkeerd met * zijn verplicht.", + "cguVittascience": " Door dit formulier te valideren, aanvaardt u de Servicevoorwaarden.", + "cguOpenSteam": " Door dit formulier te valideren, aanvaardt u de Servicevoorwaarden.", + "description": " Vul de volgende velden in om uw account aan te maken.", + "title": " Registratie", + "registrationFinalizationSuccess": " Uw registratie is voltooid, u kunt nu verbinden", + "registrationFinalization": " Voltooi uw registratie", + "descriptionFinalization": " Vul de volgende velden in om uw registratie te voltooien.", + "noTokenOrUserActive": " Ongeldig token of gebruiker reeds actief", + "noToken": " Ontbrekende penning" + }, + "notAllowedUpdateUser": " Je hebt geen rechten om deze gebruiker bij te werken.", + "notAllowedDeleteGroup": " Je hebt geen rechten om deze groep te verwijderen.", + "notAllowedDisableUser": " Je hebt geen rechten om deze gebruiker uit te schakelen.", + "notAllowedDeleteUser": " Je hebt geen rechten om deze gebruiker te verwijderen.", + "passwordUpdatedMessage": " Uw wachtwoord is succesvol gewijzigd", + "noUserFound": " Er is geen gebruiker gevonden die dit adres gebruikt.", + "noUserFoundToken": " Dit token komt niet overeen met een gebruiker.", + "missingData": " Er ontbreekt informatie om de operatie af te ronden.", + "missingDataDate": " Datuminformatie ontbreekt om de operatie af te ronden.", + "errorSending": " Er is een fout opgetreden tijdens het verzenden van de e-mail", + "userNotFound": " Gebruiker niet gevonden en/of reeds actief", + "userNotFoundId": " Gebruiker niet gevonden", + "errorActivation": " Er is een fout opgetreden tijdens de activering.", + "notAllowedToCreateUserInThisGroup": " U bent niet gemachtigd om een gebruiker in deze groep aan te maken.", + "subscriptionOudated": " Uw APPNAME app is verlopen op DATUM. Neem voor meer informatie contact op met een beheerder." + }, + "users": { + "users": " Gebruikers", + "add": " Gebruiker toevoegen", + "activated": " De rekening is geactiveerd.", + "errorActivation": " Er is een fout opgetreden tijdens de activering.", + "create": " Gebruiker aanmaken", + "delete": " Gebruiker verwijderen", + "deleteConfirmation": " Schrijf \"verwijderen\" in het onderstaande veld om de actie te valideren.", + "deleteIntentionSA": " U staat op het punt de gebruiker te verwijderen : ", + "disableIntention": " U gaat de gebruiker uitschakelen : ", + "deleteConfirmationTitle": " Verwijdering bevestigen", + "disableConfirmationTitle": " Deactivering bevestigen", + "update": " Gebruiker bijwerken", + "updateAppUser": " Gebruikersapps bijwerken", + "updateApp": " Apps bijwerken", + "disable": { + "message": " Schrijf \"verwijderen\" in het onderstaande veld om de actie te valideren.", + "intention": " U staat op het punt de gebruiker te verwijderen : " + }, + "mail": { + "resetPassword": { + "subject": " Uw wachtwoord opnieuw instellen.", + "bodyTitle": " Wachtwoord opnieuw instellen.", + "textBeforeLink": " Als de bovenstaande knop niet werkt, kopieer en plak dan de volgende link in uw browser:" + }, + "finalizeAccount": { + "title": " Definitieve registratie", + "subject": " Definitieve registratie", + "bodyTitle": " Rond uw registratie af.", + "textBeforeLink": " Als de bovenstaande knop niet werkt, kopieer en plak dan de volgende link in uw browser:" + } + }, + "showResetLinkTitle": " Wachtwoord opnieuw instellen.", + "showResetLink": " Wachtwoord reset link.", + "groupAdmin": " Groepsbeheerder", + "admin": " Manager", + "teacher": " Leraar", + "usersPerPage": " Gebruikers per pagina", + "userDeleted": " Gebruiker verwijderd.", + "userDisabled": " Gebruiker uitgeschakeld.", + "userCreated": " Gebruiker succesvol aangemaakt", + "userUpdated": " Gebruiker succesvol bijgewerkt", + "chooseNewPassword": " Kies uw nieuwe wachtwoord", + "passwordUpdate": " Uw wachtwoord is gewijzigd", + "enterYourEmail": " Voer uw e-mailadres in", + "sendResetMailDescription": " Als u op verzenden klikt, krijgt u een e-mail met een link om uw wachtwoord te wijzigen.", + "yourMail": " Uw e-mail", + "emailSended": " Een e-mail met de te volgen procedure is u zojuist toegezonden.", + "emailNotReceived": " Als u de e-mail niet hebt ontvangen, klik dan op opnieuw beginnen (het kan even duren voordat de e-mail aankomt).", + "mailSentToUser": " Er is een e-mail naar de gebruiker gestuurd om zijn registratie te voltooien.", + "mailNotSentToUser": " de registratie-eindmail kon niet worden verzonden naar de gebruiker", + "mailSentToUserReset": " Er is een e-mail gestuurd naar de gebruiker om zijn wachtwoord te wijzigen", + "mailNotSentToUserReset": " De e-mail voor de wachtwoordwijziging kon niet worden verzonden naar de gebruiker", + "appsUpdated": " Gebruikers-apps zijn bijgewerkt", + "updateAppModalTitle": " Toepassing", + "teacherGrades": { + "0": " Basisschool", + "1": " Middelbare school", + "2": " Middelbare school", + "3": " Technisch College", + "4": " POST-BAC" + }, + "teacherSubjects": { + "0": { + "0": " Basisschool", + "1": " Andere (specificeer in biografie)" + }, + "1": { + "0": " Lichamelijke en sportieve opvoeding", + "1": " Moreel en burgerlijk onderwijs", + "2": " Artistiek onderwijs", + "3": " Frans", + "4": " Geschiedenis geografie", + "5": " Levende taal", + "6": " Wiskunde", + "7": " Chemische fysica", + "8": " Levens- en aardwetenschappen", + "9": " Technologie", + "10": " Andere (specificeer in bio)" + }, + "2": { + "0": " Kunst", + "1": " Circus kunsten", + "2": " Biologie Ecologie", + "3": " Biotechnologieën", + "4": " Creatie en ontwerpcultuur", + "5": " Technologische creatie en innovatie", + "6": " Ecologie-agronomie-territoria-ontwikkeling duurzaam", + "7": " Lichamelijke en sportieve opvoeding", + "8": " Moreel en burgerlijk onderwijs", + "9": " Wetenschappelijk onderwijs", + "10": " Transversaal technologisch onderwijs", + "11": " Frans", + "12": " Hippologie en paardrijden", + "13": " Geschiedenis geografie", + "14": " Geschiedenis geografie, geopolitiek en politieke wetenschappen", + "15": " Geesteswetenschappen, literatuur en filosofie", + "16": " Talen en culturen uit de Oudheid: Latijn of Grieks", + "17": " Levende taal", + "18": " Buitenlandse en regionale talen, literaturen en culturen", + "19": " Literatuur en talen en culturen van de Oudheid", + "20": " Beheer", + "21": " Wiskunde", + "22": " Digitale en computerwetenschappen", + "23": " Chemische fysica", + "24": " Grondbeginselen van economie en management", + "25": " Gezondheid en sociale", + "26": " Levens- en aardwetenschappen", + "27": " Ingenieurswetenschappen", + "28": " Wetenschap en laboratorium", + "29": " Wetenschappen en technieken van theater, muziek en dans", + "30": " Laboratoriumwetenschappen en -technologie", + "31": " Hotel- en restaurantwetenschappen en -technologieën", + "32": " Wetenschap en technologie van de industrie en duurzame ontwikkeling", + "33": " Wetenschappen en technologieën van design en toegepaste kunst", + "34": " Management en wetenschappen en technologieën", + "35": " Digitale wetenschap en technologie", + "36": " Economische en sociale wetenschappen", + "37": " Andere (specificeer in biografie)" + }, + "3": { + "0": " Toegepaste kunsten en artistieke culturen", + "1": " Juiste economie", + "2": " Beheer van de economie", + "3": " Lichamelijke opvoeding en sport", + "4": " Moreel en burgerlijk onderwijs", + "5": " Transversaal technologisch onderwijs", + "6": " Frans", + "7": " Geschiedenis geografie", + "8": " Moderne vreemde talen", + "9": " Wiskunde Natuurkunde-Chemie", + "10": " Milieugezondheidspreventie", + "11": " Andere (specificeer in biografie)" + }, + "4": { + "0": " Hoger onderwijs", + "1": " Andere (specificeer in biografie)" + } + }, + "groupFull": " De groep is vol" + }, + "group": { + "generalInfo": " Algemene informatie", + "add": " Groep toevoegen", + "create": " Groep aanmaken", + "delete": " Groep verwijderen", + "deleteIntention": " U staat op het punt de groep te verwijderen : ", + "update": " Update groep", + "academy": " Academie", + "join": { + "firstVisit": " Eerste bezoek?", + "signin": " Aanmelden", + "signinSubtitle": " Voer uw inloggegevens in om toegang te krijgen tot uw account", + "addressMail": " Postadres", + "disclaimer": " Door lid te worden van deze groep geeft u de beheerder van de groep toestemming om uw account te wijzigen en/of te deactiveren. U beschikt ook over de toepassingen die de groep bezit.", + "lastStep": " Er is nog maar één stap! Klik op de knop hieronder om de link definitief te maken.", + "joinGroup": " U staat op het punt lid te worden van de groep : \"\"", + "notfound": " Groep niet gevonden !", + "notfoundDetails": " We kunnen geen groepen vinden die gekoppeld zijn aan de code .", + "clickToRedirectLogin": " Klik op doorgaan om naar de inlogpagina te gaan.", + "clickToRedirectHome": " Klik op doorgaan om naar de startpagina te gaan.", + "invalidLink": " Ongeldige link !", + "invalidFormatLink": " Het formaat van de door u ingevoerde link komt niet overeen.", + "success": " Je bent lid geworden van de groep: \"\"!", + "alreadyLinked": " Je maakt al deel uit van deze groep.", + "error": " Er is een fout opgetreden tijdens het koppelen.", + "userNotFound": " De gebruiker is niet gevonden, u kunt op doorgaan klikken om naar de inlogpagina te gaan.", + "contactAdmin": " Als het probleem aanhoudt, neem dan contact op met de administratie.", + "groupFull": " De groep waar je bij wilt is vol.", + "onlyOneGroup": " U maakt al deel uit van een groep, u kunt geen lid worden van een andere", + "mail": { + "textBeforeName": " De gebruiker:", + "textAfterName": " sloot zich aan bij de groep:", + "emailSubject": " Een gebruiker is lid geworden van de groep" + } + }, + "name": " Naam van de groep *", + "description": " Beschrijving van de groep *", + "link": " Groepsverband", + "applications": " Groepstoepassingen", + "groupsPerPage": " Groepen per pagina", + "groupDeleted": " Groep verwijderd.", + "groupCreated": " Groep succesvol aangemaakt", + "groupUpdated": " Groep succesvol bijgewerkt", + "groupCreateFailed": " De groep kon niet worden aangemaakt, ontbrekende gegevens.", + "showLinkTitle": " Link van de groep", + "usersWithoutGroups": " Gebruikers zonder groepen", + "searchResult": " Resultaat van het onderzoek", + "usersInactiveOrNoRegular": " Inactieve gebruikers of niet regelmatige", + "usersWithoutGroupsDescription": " Gebruikersgroep niet gekoppeld aan een groep", + "usersInactiveOrNoRegularDescription": " Groep niet-reguliere gebruikers", + "groupDeleteError": " De groep kon niet worden verwijderd.", + "groupFull": " De groep is vol.", + "groupFullAdminMessage": " De groep is vol, u kunt geen andere gebruikers toevoegen.", + "toManyStudentsFromTheTeacher": " De leraar die u wilt toevoegen aan de groep heeft te veel leerlingen", + "toManyStudentsInGroup": " De groep kan niet zoveel leerlingen herbergen, de leraar heeft te veel leerlingen.", + "teachersPerGroup": " Leraar per groep", + "studentsPerGroup": " Studenten per groep", + "activitiesPerGroup": " Activiteiten per groep", + "activitiesPerTeacher": " Activiteiten per leraar", + "studentsPerTeacher": " Studenten per leraar", + "maxStudents": " Maximaal aantal studenten", + "maxActivities": " Maximale activiteiten", + "groupsRestrictions": " Beperkingen van de groep", + "classroomPerTeacher": " Klas(sen) per leraar" + }, + "title": { + "activeUsers": " Actieve gebruikers", + "inaactiveUsers": " Inactieve gebruikers" + }, + "buttons": { + "continue": " Ga verder", + "validate": " Valideer", + "activate": " Activeer", + "cancel": " Annuleren", + "finalize": " Afronden", + "send": " Stuur", + "login": " Aanmelden", + "signup": " Registreer", + "join": " Word lid van", + "save": " Sla", + "close": " Sluit", + "disable": " Schakel uit.", + "delete": " Verwijder", + "reset": " Reset", + "update": " Update", + "search": " Zoek op", + "restart": " Herstart", + "copyLink": " Link kopiëren", + "show": " Toon", + "manage": " Beheer", + "user": { + "add": " Gebruiker toevoegen", + "create": " Gebruiker aanmaken", + "delete": " Gebruiker verwijderen", + "update": " Gebruiker bijwerken", + "addGroup": " Groep toevoegen", + "createA": " Gebruiker aanmaken", + "updateA": " Gebruiker bijwerken", + "updateApp": " Toepassingen bijwerken" + }, + "group": { + "add": " Groep toevoegen", + "create": " Groep aanmaken", + "delete": " Groep verwijderen", + "update": " Update groep", + "createA": " Groep aanmaken", + "updateA": " Update groep" + } + }, + "sort": { + "user": { + "bylastname": " Sorteren op achternaam", + "byfirstname": " Sorteren op voornaam" + }, + "group": { + "byname": " Sorteren op naam", + "bydesc": " Sorteren op beschrijving" + } + }, + "input": { + "placeholder": { + "delete": " verwijder" + }, + "writeDelete": " Je moet delete schrijven om de actie te valideren.", + "writeDisable": " U moet uitschakelen schrijven om de actie te valideren." + }, + "table": { + "lastname": " Achternaam", + "firstname": " Voornaam", + "applications": " Toepassingen", + "group": " Groep", + "description": " Beschrijving", + "descriptionMandatory": " Beschrijving *", + "right": " Rechten", + "resetPassword": " Wachtwoord opnieuw instellen", + "link": " Link", + "name": " Naam", + "nameMandatory": " Naam *", + "dateBegin": " Begindatum", + "dateEnd": " Einddatum", + "outDated": " Gedateerd", + "maxStudents": " Maximaal aantal studenten", + "actualStudents": " Huidige studenten", + "maxTeachers": " Maximale leraren", + "actualTeachers": " Huidige leraren", + "maxStudentsPerTeachers": " Maximaal aantal leerlingen per leraar", + "maxStudentsPerTeacher": " Maximaal aantal leerlingen per leraar", + "activityType": " Soort activiteit", + "maxActivitiesPerGroup": " Maximale activiteiten per groep", + "maxActivitiesPerTeacher": " Maximale activiteiten per leraar", + "monitoring": " Controle van apps", + "image": " Afbeelding", + "userNoRights": " Geen rechten toegewezen", + "userAdmin": " Beheerder", + "userTeacher": " Leraar", + "restrictions": " Beperkingen" + }, + "apps": { + "apps": " Apps", + "create": " Een app toevoegen", + "updateSuccess": " App succesvol bijgewerkt", + "createSuccess": " App succesvol gemaakt", + "deleteSuccess": " App succesvol verwijderd", + "deleteIntention": " U staat op het punt de app te verwijderen: ", + "outDatedApp": " De app die u wilt toewijzen is verouderd.", + "infoMaxStudentsPerTeachers": " Bepaal het maximum aantal leerlingen dat een leraar in de groep kan hebben.", + "infoMaxStudentsPerGroups": " Bepaalt het maximum aantal leerlingen dat de groep kan hebben (Door het totaal van de leerlingen van leerkrachten die deze toepassing hebben op te tellen)", + "infoMaxTeachers": " Bepaalt het maximum aantal leerkrachten dat de toepassing in deze groep kan hebben", + "usersLimitation": " Gebruikers studenten beperking", + "groupsLimitation": " Groepsbeperkingen", + "activitiesLimitation": " Beperkingen van de activiteiten", + "defaultRestrictions": " Standaard beperkingen", + "ltiApps": " LTI apps", + "clientId": " Klant Id *", + "deploymentId": " Deployment Id *", + "toolUrl": " Tool Url *", + "publicKeySet": " Openbare sleutel ingesteld *", + "loginUrl": " Login Url *", + "redirectionUrl": " Redirection url *", + "deepLinkUrl": " Deeplink url *", + "privateKey": " Particuliere sleutel *" + }, + "activitiesRestrictions": { + "updateAll": " Beperkingen bijwerken", + "update": " Update beperking", + "create": " Beperking creëren", + "delete": " Beperking verwijderen", + "updateSuccess": " Beperking succesvol bijgewerkt", + "createSuccess": " Beperking succesvol aangemaakt", + "deleteSuccess": " Beperking succesvol verwijderd", + "deleteIntention": " U staat op het punt de beperking te verwijderen: ", + "restrictionType": " Soort activiteit", + "maxActivity": " Activiteit maximaal", + "closeDetail": " Sluit het detail", + "restrictions": " Activiteitsbeperkingen", + "appRestricted": " Maak meer activiteiten !", + "appRestrictedUL1": " Je hebt de limiet bereikt van {{activities}} activiteiten gekoppeld aan je account.", + "appRestrictedUL2": " Om extra activiteiten toe te voegen, kunt u contact opnemen met uw beheerder.", + "appRestrictedSubtitle2": " Een probleem met uw abonnement?", + "appRestrictedSubtitle3": " Contact ondersteuning", + "appRestrictedGarContent1": " Je hebt de limiet bereikt van {{activities}} activiteiten gekoppeld aan je account.", + "appRestrictedGarContent2": " Om extra activiteiten toe te voegen, kunt u contact opnemen met de GAR-toewijzingsbeheerder van uw instelling." + }, + "defaultRestrictions": { + "update": " Standaardbeperkingen bijwerken", + "type": " Soort activiteit", + "max": " Maximum", + "add": " Een beperking toevoegen", + "updateUsersRestrictionsSuccess": " Standaard gebruikersbeperkingen succesvol bijgewerkt", + "updateGroupsRestrictionsSuccess": " Standaard groepsbeperkingen succesvol bijgewerkt", + "updateActivitiesRestrictionsSuccess": " Standaard activiteitenbeperkingen succesvol bijgewerkt", + "deleteActivitiesRestrictionsSuccess": " Standaard activiteitsbeperking succesvol verwijderd", + "getDefaultRestrictions": " Toon de standaard beperkingen", + "restrictionAlreadyExist": " De beperking bestaat al" + } + }, + "navbar": { + "items": { + "kits": " Hardware", + "community": { + "title": " Gemeenschap", + "dropdown": { + "vittamap": " Vittamap", + "blog": " Blog", + "gallery": " Galerie", + "about": " Over" + } + }, + "tooltips": { + "backToHome": " Ga terug naar de homepage", + "programming": " Coderen met Vittascience", + "resources": " Centrum voor leermiddelen", + "classroom": " Beheer uw klassen met Vittascience", + "hardware": " Ontdek onze kits en producten" + }, + "programming": " Programmering", + "classroom": " Klas", + "arduino": " Arduino", + "microbit": " Microbit", + "microbit-tutorials": " Microbit Handleidingen", + "ressources": " Middelen", + "accessibility": " Het thema en het lettertype van de site wijzigen", + "lang": " Taal veranderen", + "user_shortcuts": { + "welcome": " Welkom!", + "signup": " Aanmelden", + "login": " Verbind", + "hello": " Hallo", + "account": " Mijn rekening", + "disconnect": " Ontkoppelen", + "willSignup": " aanmelden", + "willSignin": " Inloggen" + } + } + }, + "newActivities": { + "create": " Een nieuwe activiteit creëren", + "delete": " Verwijder", + "addQuiz": " Een suggestie toevoegen", + "states": " Activiteitenverklaring *", + "cancel": " Annuleren", + "autocorrect": " Autocorrectie", + "contentTitle": " Inhoud van de activiteit", + "correction": " Activiteitscorrectie", + "tolerance1": " Voeg een fouttolerantie toe van", + "tolerance2": " teken(s) op het gehele antwoord van de leerling.", + "hint": " Hint *: weergegeven als het antwoord fout is", + "title": " Titel van de activiteit *", + "description": " Activiteit beschrijving *", + "content": " Activiteit inhoud *", + "addField": " Een antwoordveld toevoegen", + "addFieldTooltip": " Door op de knop Antwoordveld toevoegen te klikken, wordt een gestileerde tekst toegevoegd. In dit veld kunt u het juiste antwoord schrijven. Alternatieve antwoorden worden gescheiden door een dubbele ampersand &&.", + "ActivitiesData": { + "title": { + "reading": " Multimedia", + "free": " Open antwoord", + "quiz": " MCQS", + "fillIn": " In te vullen tekst", + "dragAndDrop": " Vul de lege tekst in" + }, + "description": { + "reading": " Multimediapagina (tekst, afbeeldingen, video's, PDF, Geniaal, ...)", + "free": " Open antwoord op een vraag", + "quiz": " Enkelvoudige of meerkeuzevragenlijst", + "fillIn": " Schriftelijk in te vullen tekst", + "dragAndDrop": " Tekst aan te vullen met etiketten." + } + } + }, + "courses": { + "addActivity": " Een activiteit toevoegen", + "addActivities": " Activiteiten toevoegen", + "createActivity": " Een activiteit creëren", + "searchActivity": " Een activiteit zoeken", + "placeholderTitle": " Titel van de activiteit", + "placeholderDescription": " Beschrijving van de activiteit", + "pagination": { + "create": " Creatie van de cursus", + "title": " Titel", + "parameters": " Parameters", + "attribution": " Naamsvermelding" + }, + "parameters": { + "title": " Cursus titel *", + "description": " Cursusbeschrijving *", + "difficulty": " Moeilijkheid *", + "difficultyLevel": { + "choose": " Kies een moeilijkheidsgraad", + "easy": " Gemakkelijk", + "medium": " Medium", + "advanced": " Geavanceerd", + "expert": " Expert" + }, + "duration": " Duur (minuten) *", + "license": " Gebruikerslicentie *", + "licenseType": { + "1": " Privé (alleen u kunt deze bron zien)", + "2": " Unreferenced (deelbare bron via link maar niet vindbaar op de pagina Resources)", + "3": " Publiek CC-BY-NC-SA (vrije, niet-commerciële en wijzigbare bron)", + "4": " Openbaar CC-BY-NC-ND (vrije, niet-commerciële en niet-wijzigbare bron)", + "choose": " Kies een licentie" + } + }, + "successfullyCreated": " Cursus succesvol gemaakt", + "attribution": " Course attribution ", + "return": " Return ", + "update": " De cursus bijwerken" + } +} \ No newline at end of file From c389b33b363555469e779eb83f225b6a959bbaa8 Mon Sep 17 00:00:00 2001 From: Baptiste LEDOYEN Date: Fri, 12 May 2023 18:59:32 +0200 Subject: [PATCH 243/340] manage collection flow --- classroom/assets/js/scripts/activityManager.js | 8 ++++++-- classroom/assets/js/scripts/manageClassroom.js | 14 ++++++++++++-- classroom/lti/deeplink.php | 12 +++++++++++- 3 files changed, 29 insertions(+), 5 deletions(-) diff --git a/classroom/assets/js/scripts/activityManager.js b/classroom/assets/js/scripts/activityManager.js index a97789ac..eb97bc65 100644 --- a/classroom/assets/js/scripts/activityManager.js +++ b/classroom/assets/js/scripts/activityManager.js @@ -172,7 +172,7 @@ function titleBackward() { /** * Title part */ - function titleForward() { + function titleForward(typeTool) { Main.getClassroomManager()._createActivity.title = $('#global_title').val(); $('#activity-title-forward').attr('disabled', true); // Check if the title is empty @@ -199,7 +199,11 @@ function titleBackward() { if (response.success == true) { Main.getClassroomManager()._lastCreatedActivity = response.id; displayNotification('#notif-div', "classroom.notif.activityCreated", "success", `'{"activityTitle": "${title}"}'`); - navigatePanel('classroom-dashboard-classes-new-activity-attribution', 'dashboard-proactivities-teacher'); + if(typeTool == "collections") { + navigatePanel('classroom-dashboard-activities-panel-teacher', 'dashboard-proactivities-teacher'); + } else { + navigatePanel('classroom-dashboard-classes-new-activity-attribution', 'dashboard-proactivities-teacher'); + } } else { displayNotification('#notif-div', "manager.account.errorSending", "error"); } diff --git a/classroom/assets/js/scripts/manageClassroom.js b/classroom/assets/js/scripts/manageClassroom.js index 8487cd0d..9c6f643a 100644 --- a/classroom/assets/js/scripts/manageClassroom.js +++ b/classroom/assets/js/scripts/manageClassroom.js @@ -89,10 +89,20 @@ async function readEvent (event) { break; // Message received when an LTI deep link has returned case 'end-lti-deeplink': + if(msg.typeTool === "collections") console.log("type lti : ", msg.typeTool); + if(msg.title) console.log("type lti : ", msg.title); // Saving the deeplink response into the activity creation data Main.getClassroomManager()._createActivity.content.description = msg.content; - // Automatically stepping forward in the activity creation process - contentForward(); + + if(msg.typeTool === "collections") { + $('#global_title').val(msg.title); + titleForward(msg.typeTool); + } + else { + // Automatically stepping forward in the activity creation process + contentForward(); + } + // Clear the activity content to close the LTI iframe document.querySelector('#activity-content').innerHTML = ''; break; diff --git a/classroom/lti/deeplink.php b/classroom/lti/deeplink.php index 9e1c0177..7c660e38 100644 --- a/classroom/lti/deeplink.php +++ b/classroom/lti/deeplink.php @@ -39,7 +39,17 @@ From f211209ad53bb5b85b31a80ccb95bb2ca3289768 Mon Sep 17 00:00:00 2001 From: Baptiste LEDOYEN Date: Mon, 15 May 2023 10:57:59 +0200 Subject: [PATCH 244/340] [add] update of activities --- classroom/assets/js/scripts/activityManager.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/classroom/assets/js/scripts/activityManager.js b/classroom/assets/js/scripts/activityManager.js index eb97bc65..74da7868 100644 --- a/classroom/assets/js/scripts/activityManager.js +++ b/classroom/assets/js/scripts/activityManager.js @@ -37,6 +37,7 @@ function LtiDefaultCode(activityType, isUpdate) { function launchCustomActivity(activityType, isUpdate = false, callback = false) { setTextArea(); + $("#classroom-dashboard-classes-new-activity nav").show() const contentForwardButtonElt = document.getElementById('content-forward-button'); contentForwardButtonElt.style.display = 'inline-block'; @@ -200,7 +201,7 @@ function titleBackward() { Main.getClassroomManager()._lastCreatedActivity = response.id; displayNotification('#notif-div', "classroom.notif.activityCreated", "success", `'{"activityTitle": "${title}"}'`); if(typeTool == "collections") { - navigatePanel('classroom-dashboard-activities-panel-teacher', 'dashboard-proactivities-teacher'); + navigatePanel('classroom-dashboard-activities-panel-teacher', 'dashboard-activities-teacher'); } else { navigatePanel('classroom-dashboard-classes-new-activity-attribution', 'dashboard-proactivities-teacher'); } From 3b545b02295280c50e618dd26c15d02d1b5134f6 Mon Sep 17 00:00:00 2001 From: Baptiste LEDOYEN Date: Mon, 15 May 2023 12:19:34 +0200 Subject: [PATCH 245/340] add manage collections --- classroom/Views/newExercicesPanel.html | 33 ++++++++++++++++--- classroom/assets/css/main.css | 8 ++--- .../assets/js/scripts/activityManager.js | 1 - 3 files changed, 33 insertions(+), 9 deletions(-) diff --git a/classroom/Views/newExercicesPanel.html b/classroom/Views/newExercicesPanel.html index ea263a2d..c81916f7 100644 --- a/classroom/Views/newExercicesPanel.html +++ b/classroom/Views/newExercicesPanel.html @@ -1,5 +1,5 @@ -
        4. - - - - + ${listOfOptions(activity)}
      @@ -210,6 +202,22 @@ function teacherActivityItem(activity, displayStyle) { return content; } +function listOfOptions(activity) { + let modifyButton = `
    1. `; + // TODO : automatically consider if its collections type + if(activity.type && activity.type === "123Cabri") { + modifyButton = "" + } + + return ` + + + ${modifyButton} + + + ` +} + function teacherFolder(folder, displayStyle) { let content = ""; if (displayStyle == "card") { From 5e065c75e2a410040f3aef42e3a9a11d8424c4cb Mon Sep 17 00:00:00 2001 From: Paul Libbrecht Date: Tue, 30 May 2023 16:25:20 +0200 Subject: [PATCH 251/340] don't break if having quotes etc. https://trello.com/c/6xRo7jhB --- .../assets/js/scripts/manageClassroom.js | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/classroom/assets/js/scripts/manageClassroom.js b/classroom/assets/js/scripts/manageClassroom.js index 8487cd0d..1ee54df0 100644 --- a/classroom/assets/js/scripts/manageClassroom.js +++ b/classroom/assets/js/scripts/manageClassroom.js @@ -21,27 +21,27 @@ async function readEvent (event) { // Message received when an LTI resource launch has gone to submission case 'end-lti-score': const possibilityNote = [0, 1, 2, 3, 4] - + //teacher preview auto-evaluate activity if(UserManager.getUser().isRegular && Activity.isAutocorrect) { // hidden all notes possibilityNote.forEach(note => { $(`#classroom-dashboard-activity-panel-teacher-result #preview-note-${note}`).hide() }) - + // Update the activities from database await Main.getClassroomManager().getTeacherActivities(Main.getClassroomManager()); // Refresh variable activity from database data const activity = getTeacherActivityInList(Activity.id); if(activity) - Activity = getTeacherActivityInList(Activity.id); - + Activity = getTeacherActivityInList(Activity.id); + // Show note of preview const note = Activity.previewNote; if(note || note === 0) { $(`#classroom-dashboard-activity-panel-teacher-result #preview-note-${note}`).show() - } + } else { $("#classroom-dashboard-activity-panel-teacher-result #preview-note-4").show() } @@ -75,7 +75,7 @@ async function readEvent (event) { const note = Activity.note; if(note || note === 0) { $(`#classroom-dashboard-activity-panel-student-result #preview-note-${note}`).show() - } + } else { $("#classroom-dashboard-activity-panel-student-result #preview-note-4").show() } @@ -996,20 +996,22 @@ function displayStudentsInClassroom(students, link=false) { // Loop in the classroom activities index (with ids) to generate the dashboard table header and body for(let i=0; i +

      Pour modifier votre mot de passe ou d'autres paramètres de votre compte

      diff --git a/classroom/assets/js/utils/translate.js b/classroom/assets/js/utils/translate.js index fd08c422..01f9c21e 100644 --- a/classroom/assets/js/utils/translate.js +++ b/classroom/assets/js/utils/translate.js @@ -2,7 +2,7 @@ i18next.use(window.i18nextXHRBackend) .init({ debug: false, lng: getCookie('lng'), - whitelist: ['fr', 'en', 'es', 'it', 'ar'], + whitelist: ['fr', 'en', 'es', 'it', 'ar', 'nl'], fallbackLng: 'fr', backend: { loadPath: _PATH + 'assets/lang/{{lng}}/ns.json?version=VERSIONNUM' diff --git a/classroom/assets/lang/nl/ns.json b/classroom/assets/lang/nl/ns.json index 7ff3bb85..079c4132 100644 --- a/classroom/assets/lang/nl/ns.json +++ b/classroom/assets/lang/nl/ns.json @@ -1,1491 +1,1491 @@ { - "classroom": { - "login": { - "noClass": " De ingevoerde code komt niet overeen met een klaslokaal.", - "countdown1": " De module Klassenbeheer bevindt zich momenteel in de betafase. Als u deze wilt uitproberen, neem dan contact op met het team van Vittascience.", - "countdown2": " Officiële vrijgave in", - "hello1": " \"Hallo!", - "hello2": " Hallo!", - "title": " Beheer uw klaslokalen
      met Vittascience", - "neutralTitle": " OpenSTEAM LMS", - "cabriTitle": " Cabri.com", - "subtitle": " Ontdekken - Leren - Delen", - "cabriSubtitle": " Het platform om te slagen in wiskunde en wetenschap", - "login": " Inloggen", - "activities": " gemakkelijk uw activiteiten creëren", - "cabriActivities": " Automatisch oefeningen maken in enkele minuten", - "attribute": " wijs ze toe aan je leerlingen", - "cabriProgress": " Volg de vooruitgang
      van uw leerlingen", - "visualize": " hun resultaten visualiseren", - "cabriRessources": " Krijg toegang tot een verscheidenheid aan activiteiten en deel je creaties.", - "student": " Student", - "codeInput": " Voer uw klaslokaalcode in", - "teacher": " Leraar", - "hasAccount": " Heb je al een account?", - "gar": " Geniet met gemak van de klaslokaalmodule met behulp van GAR.", - "signup": " AANMELDEN", - "firstVisit": " Eerste keer? Kies een gebruikersnaam.", - "signin": " Aanmelden", - "registerLink": " Een account aanmaken", - "hasReturned": " Terug naar deze klas?", - "forgot": " Ik ben mijn wachtwoord vergeten", - "error": { - "used": " Deze gebruikersnaam is al in gebruik, kies een andere", - "badInput": " Uw gebruikersnaam of wachtwoord is verkeerd." - }, - "suscribe": { - "title": " schrijf je in op", - "content": " De module Klassenbeheer is gratis beschikbaar als proefversie. Profiteer van alle functies met het Vittascience Premium abonnement. Ontdek alle voordelen en details van het Vittascience Premium aanbod via onderstaande knop.", - "premium": " Ontdek Vittascience Premium" - }, - "carousel": { - "activities": { - "title": " Eenvoudig uw activiteiten creëren", - "content": " De activiteiteneditor maakt het gemakkelijk om instructie-inhoud te creëren door tekst, afbeeldingen, video's, Vittascience API's, Geniale presentaties en meer op te nemen.

      Bekijk de gezamenlijke bronnenbank van Vittascience, die honderden gratis en herbruikbare activiteiten bevat. Als de auteur van een bron het toestaat, kunt u zelfs wijzigingen aanbrengen om de inhoud aan te passen aan uw leerlingen." - }, - "attribute": { - "title": " Wijs ze toe aan uw leerlingen", - "content": " Zodra uw activiteiten zijn gemaakt, kunt u ze toewijzen aan uw leerlingen. Ze kunnen individueel worden toegewezen of aan hele groepen, zoals een klas of een wetenschapsclub.

      De leerlingen kunnen veilig inloggen met een Classroom-code, link, QR-code of GAR, en de hun toegewezen activiteiten voltooien." - }, - "visualize": { - "title": " Hun resultaten visualiseren", - "content": " Met het dashboard kunt u de voortgang van de leerlingen volgen terwijl ze de activiteiten en cursussen doorlopen. Vind het werk van uw leerlingen in één klik en laat commentaar achter.

      Dankzij het automatische validatie-/correctiesysteem voor blokken en Python vult het dashboard zich automatisch met de resultaten van uw leerlingen. Identificeer snel leerlingen met problemen en win kostbare tijd om ze te begeleiden." - } - }, - "register": { - "title": " Registratie", - "description": " Vul de volgende velden in om uw account aan te maken.", - "passwordConstraints": " Minimaal 8 karakters.", - "createButton": " Registreer" - } - }, - "register": { - "accountConfirmationEmail": { - "emailSubject": " Mijn account activeren", - "bodyTitle": " Mijn account activeren", - "textBeforeLink": " Als de bovenstaande knop niet werkt, kopieer en plak dan de volgende link in uw browser:" - } - }, - "updateUserInfos": { - "emailUpdateConfirmation": { - "emailSubject": " Mijn nieuwe e-mailadres bevestigen", - "bodyTitle": " Mijn nieuwe e-mailadres bevestigen", - "textBeforeLink": " Als de bovenstaande knop niet werkt, kopieer en plak dan de volgende link in uw browser:" - } - }, - "successPanel": " Goed gedaan, het is je gelukt!", - "failPanel": " Het antwoord is niet juist.", - "toCorrectPanel": " De activiteit is doorgegeven aan je leraar,
      die binnenkort contact met je opneemt! ", - "bank": { - "helpTooltip": " Het bronnencentrum bevat talrijke activiteiten die je vrij kunt gebruiken! Je leraar heeft geen toegang tot je activiteitenresultaten" - }, - "help": { - "student": { - "label": " Neem contact op met uw leraar", - "question": " Stel uw vragen...", - "title": " Object" - }, - "teacher": { - "label": " Neem contact op met uw leraar" - } - }, - "profil": { - "identity": " Voornaam Achternaam", - "class": " KLASSE:", - "todo": " Activiteiten om te doen", - "done": " Uitgevoerde activiteiten", - "create": " Gecreëerde activiteiten", - "correctionToDo": " Aan te brengen correcties", - "switchMode": " Overschakelen naar de leerlingmodus", - "switchModeTeacher": " Terug naar de lerarenmodus", - "accountSettings": { - "title": " Mijn rekening", - "firstname": " Voornaam", - "lastname": " Naam", - "nickname": " Gebruikersnaam", - "email": " E-mail", - "password": " Wachtwoord", - "confirmPassword": " Wachtwoord bevestigen", - "updateButton": " Update" - } - }, - "notif": { - "emptyContent": " De inhoud kan niet leeg zijn", - "emptyTitle": " De titel mag niet leeg zijn", - "activityRestricted": " U kunt niet meer activiteiten van dit type maken", - "shareProjectTeacher": " Het project werd gedeeld met je leraar", - "addActivities": " De geselecteerde activiteiten zijn toegevoegd aan uw lijst", - "addActivity": " De activiteit is toegevoegd aan uw lijst", - "saveProject": " Heb je eraan gedacht om je activiteit op te slaan?", - "savedProject": " Het ontwerp van uw activiteit is opgeslagen.", - "deleteProject": " Het project is verwijderd.", - "shareProject": " Het project werd gedeeld", - "corrections": " Een oefening is voltooid in uw lessen", - "deleteAccount": " Weet u zeker dat u het account van de leerling wilt verwijderen?", - "accountIsDelete": " De account van de leerling is verwijderd", - "newPwd": " Het nieuwe leerling-wachtwoord {{pseudo}} is {{pwd}}", - "classCreatedButNotUsers": " De {{classroomName}} klasse is aangemaakt, maar niet de bijbehorende accounts (Uw account staat u niet toe om {{learnerNumber}} leerlingen te hebben)", - "classUpdatedButNotUsers": " De {{classroomName}} klasse is bijgewerkt, maar niet de bijbehorende accounts (Met uw account kunt u geen {{learnerNumber}} leerlingen hebben)", - "usersNotAdded": " De leerling kon niet worden toegevoegd (Uw account staat niet toe dat u {{learnerNumber}} leerlingen heeft)", - "cantLoginLimitLearners": " Je kunt niet deelnemen aan de klas. Uw leraar heeft het maximum aantal leerlingen bereikt.", - "cantLoginClassroomBlocked": " Je kunt niet in de klas komen, je leraar heeft hem gesloten.", - "classNotCreated": " Je kunt niet meer dan één klas hebben.", - "attributeActivityUndone": " De activiteit is geschrapt.", - "pseudoUpdated": " De nieuwe bijnaam van de leerling is {{newPseudo}}", - "classroomDeleted": " De klasse {{classroomName}} is verwijderd.", - "classroomCreated": " De klasse {{classroomName}} is aangemaakt, evenals alle bijbehorende accounts", - "classroomUpdated": " De klasse {{classroomName}} is bijgewerkt, evenals alle bijbehorende accounts.", - "usersAdded": " De rekeningen zijn aangemaakt", - "usersAddedFromCsv": " De rekeningen werden aangemaakt volgens het csv-bestand", - "activityDeleted": " De {{activityName}} activiteit is verwijderd.", - "mustAttributeToStudent": " U moet de activiteit toewijzen aan leerlingen", - "activityAttributed": " De activiteit {{activityTitle}} is toegewezen aan de vermelde cursisten.", - "activityAttributionChanged": " De {{activityTitle}} opdracht is gewijzigd voor de vermelde leerlingen", - "activityCreated": " De activiteit {{activityTitle}} is aangemaakt", - "activityChanged": " De {{activityTitle}} activiteit is gewijzigd", - "activityTitleMissing": " U moet de titel van de activiteit invullen", - "activityPlayerMissing": " U moet de URL van de speler invullen", - "CsvFileMissing": " U hebt geen csv-bestand gekozen", - "errorWithCsv": " Fout bij het openen van csv bestand : {{error}}", - "cantGetPassword": " Fout, u kunt uw wachtwoord niet zien.", - "cantResetPassword": " Fout, u kunt uw wachtwoord niet resetten", - "accountUpdated": " Uw account is bijgewerkt", - "emailUpdated": " Ga naar de bevestigingslink die u zojuist is toegezonden op het nieuwe e-mailadres om de update te voltooien.", - "firstNameTooShort": " De eerste naam moet uit ten minste 2 tekens bestaan", - "lastNameTooShort": " De naam moet minstens 2 tekens lang zijn", - "pseudoTooShort": " De bijnaam moet ten minste 2 tekens lang zijn", - "invalidEmail": " Het ingevoerde e-mailadres is ongeldig", - "invalidPassword": " Het ingevoerde wachtwoord is ongeldig. Het moet minstens 8 tekens bevatten.", - "passwordAndConfirmMismatch": " Het wachtwoord en de wachtwoordbevestiging zijn niet identiek!", - "unknownUser": " Fout bij het bijwerken van de account: de gebruiker bestaat niet!", - "passwordInvalid": " Het wachtwoord voldoet niet aan de veiligheidsvoorschriften.", - "emailInvalid": " Het verzonden e-mailadres is ongeldig", - "emailExists": " Het e-mailadres is al toegewezen aan een andere account", - "UserNotExists": " Fout bij laden/resetten wachtwoord: Onjuiste gebruiker!", - "RegularUserNotAllowed": " Fout bij laden / resetten wachtwoord: alleen leerlingen kunnen hun wachtwoord tonen / resetten!", - "PasswordLengthInvalid": " Kan wachtwoord niet herstellen: verkeerd wachtwoord!", - "accountCreated": " De account is aangemaakt. Ga naar de bevestigingslink die u zojuist per e-mail is toegezonden om de registratie af te ronden en verbinding te kunnen maken.", - "firstnameMissing": " U moet uw voornaam invullen", - "surnameMissing": " U moet uw naam invullen", - "pseudoMissing": " Je moet je bijnaam hernoemen", - "emailMissing": " U moet uw e-mailadres invullen", - "passwordMissing": " U moet uw wachtwoord invoeren", - "passwordConfirmMissing": " U moet de wachtwoordbevestiging invullen", - "passwordsMismatch": " Wachtwoord en bevestiging zijn niet identiek", - "invalidUserId": " Fout bij het verzenden van het bericht: uw login is ongeldig", - "helpRequestFromTeacherSent": " Uw bericht is verzonden. Wij zullen u zo spoedig mogelijk antwoorden.", - "subjectMissingTeacherHelpForm": " U moet het onderwerp van het bericht invullen", - "messageMissingTeacherHelpForm": " U moet uw bericht invoeren", - "invalidUserIdTeacherHelpForm": " Fout bij het verzenden van het bericht: uw login is ongeldig", - "unknownUserTeacherHelpForm": " Fout bij het versturen van het bericht: uw login komt niet overeen met een lerarenaccount", - "helpRequestFromLearnerSent": " Uw bericht is verzonden naar uw leraar", - "subjectMissingLearnerHelpForm": " U moet het onderwerp van het bericht invullen", - "messageMissingLearnerHelpForm": " U moet uw bericht typen", - "invalidUserIdLearnerHelpForm": " Fout bij het verzenden van het bericht: uw login is ongeldig", - "unknownUserLearnerHelpForm": " Fout bij het verzenden van het bericht: uw gebruikersnaam is onbekend", - "unknownEmailLearnerHelpForm": " Fout bij het verzenden van het bericht: het e-mailadres van uw leraar is onbekend", - "activityTitleInvalid": " Activiteit kon niet worden aangemaakt: ongeldige titel", - "activityContentInvalid": " Activiteit kon niet worden aangemaakt: ongeldige inhoud", - "activityIsFromClassroomInvalid": " Activiteit kon niet worden aangemaakt: contextfout", - "activityUserIdInvalid": " Activiteit kon niet worden aangemaakt: ongeldige gebruiker", - "personalLimitationsReached": " Je hebt je maximum aantal studenten bereikt. ({{max}} max)", - "groupLimitationsGroup": " Uw groep kan geen leerlingen meer ontvangen", - "groupLimitationsTeacher": " Je hebt de leerlimiet bereikt die je groep je toekent", - "bothLimitationsReached": " Je hebt de studentenbeperkingen bereikt die jij en je groep kunnen hebben. ({{maxG}} groep max, {{maxP}} persoonlijk max)", - "ClassroomNameInvalid": " De naam van de klas is verplicht", - "reservedNickname": " De naam : \"{{reservedNickname}}\" kan niet worden toegekend.", - "invalidLink": " De ingevoerde link is niet geldig", - "noUser": " Je moet een student toevoegen", - "noUserUsername": " U moet een gebruikersnaam invoeren", - "pseudoMissingInCsvFile": " Sommige studenten konden niet worden toegevoegd omdat hun pseudo ontbrak.", - "backendReplyPseudoMissingInCsv": " Controleer het CSV-bestand: lege regel of pseudo ontbreekt", - "backendReplyPseudoMissingInUsersArray": " Er is een of meer fout(en) in de naam van de student(en)", - "invalidActivityId": " Fout bij het indienen van de opdracht: Ongeldige activiteit ID!", - "invalidCorrection": " Erreur die taak indient: Ongeldige activiteitsstatus!", - "generalBackendError": " Er is een fout opgetreden, probeer het later nog eens", - "currentPasswordDoesNotMatch": " Het ingevoerde wachtwoord is niet correct!", - "noAnswerInActivity": " U moet ten minste één antwoordveld hebben", - "courseMissingData": " U moet een titel en een beschrijving invoeren", - "courseMissingParameters": " U moet de parameters voor de cursus instellen" - }, - "ids": { - "classroom-dashboard-help-panel-teacher": " Help", - "classroom-dashboard-activities-panel-teacher": " Mijn activiteiten", - "classroom-dashboard-classes-panel-teacher": " Klassen", - "classroom-dashboard-sandbox-panel": " Sandbox", - "classroom-dashboard-ressources": " Toepassingen", - "classroom-dashboard-profil-panel-teacher": " Profiel", - "classroom-dashboard-activities-panel": " Mijn activiteiten", - "classroom-dashboard-profil-panel": " Profiel", - "classroom-dashboard-help-panel": " Help", - "classroom-dashboard-activities-panel-library-teacher": " Bronnenbank", - "classroom-dashboard-new-activity-panel": " Creatie van de activiteit", - "classroom-dashboard-new-activity-panel2": " Intermediair", - "classroom-dashboard-new-activity-panel3": " Toewijzing", - "classroom-table-panel-teacher": " Klasse {{naam}}", - "classroom-dashboard-sandbox-creation": " Selectie van de interface", - "classroom-dashboard-ide-panel": " Sandbox {{interface}}", - "classroom-dashboard-activity-panel": " Activiteit {{naam}}" - }, - "displayCode": " De code weergeven", - "navbar": { - "activities": " Activiteiten" - }, - "classes": { - "add": " Een klasse toevoegen", - "noClasses": " Je hebt nog geen klas.", - "createClassNow": " Begin nu met het maken van een klas!", - "form": { - "title": " Een klasse maken", - "updateTitle": " Update klaslokaal", - "name": " Naam van de klas", - "school": " Naam van de instelling", - "addStudent": " Een leerling toevoegen", - "noStudent": " Nog geen leerlingen in deze klas", - "isBlockedButton": " Beperkt tot deze leerlingen, niemand anders zal aan de klas kunnen deelnemen.", - "save": " De klas opslaan", - "return": " Terug naar de klas" - }, - "panel": { - "seeActivity": " Open de activiteit", - "editActivity": " De activiteit bewerken", - "editAttribution": " De toekenning bewerken", - "removeAttribution": " De toekenning verwijderen", - "password": " Uw wachtwoord:", - "resetPassword": " Wachtwoord opnieuw instellen", - "editNickname": " Wijzig uw bijnaam", - "delete": " Verwijder", - "copyLink": " Kopieer de directe link", - "learnerMode": " Leerlingenmodus", - "dueBy": " Verschuldigd door", - "timePassed": " De tijd ging voorbij:" - }, - "copyDirectLink": " Kopieer de directe link", - "selectStudents": " Selecteer leerlingen", - "selectedStudents": " 0 geselecteerde leerlingen", - "activationLink": " Activeringslink geactiveerd", - "activationLinkDisabled": " Activeringslink uitgeschakeld", - "fullscreen": " Bekijk in volledig scherm", - "deleteStudent": " Verwijder dit profiel", - "deleteStudentConfirm": " Wil je dit profiel echt verwijderen?" - }, - "activities": { - "title": " Activiteiten", - "save": " Het ontwerp opslaan", - "add": " Een activiteit toevoegen", - "addCabriExpress": " Express-activiteit creëren", - "addCabriGenius": " Slimme activiteit creëren", - "addOther": " Ander type activiteit", - "new": " Nieuw", - "current": " In afwachting van correctie", - "waiting": " Nog niet voltooid", - "done": " Voltooid", - "todo": " Te corrigeren", - "draft": " Ontwerp", - "anonymise": " Anonimiseer uw cursistenlijst, zodat u het dashboard aan uw cursisten kunt tonen.", - "save-draft": " Opslaan als ontwerp", - "validate": " De activiteit valideren", - "accept": " Zeer goede controle", - "vgood": " Bevredigende controle", - "good": " Breekbare controle", - "refuse": " Onvoldoende beheersing", - "nnoted": " Niet geëvalueerd", - "instruction": " Instructie", - "commentary": " Commentaar", - "sendResults": " Stuur het commentaar naar de leerling", - "noSend": " Deze activiteit is niet gemaakt", - "toSend": " Activiteit verschuldigd voor", - "sentOn": " Deze activiteit is teruggekeerd op", - "comments": " Schrijf uw opmerkingen daar", - "isAutocorrected": " Deze oefening is automatisch gecorrigeerd, je kunt de score hieronder wijzigen.", - "isAutocorrect": " Deze activiteit wordt automatisch gecorrigeerd.", - "timePassed": " De tijd ging voorbij:", - "activitySubmited2": " Activiteit ingediend op", - "activityOfUser": " Activiteit van", - "userSentOn": " verzonden op", - "yourAnswer": " Uw antwoord", - "studentAnswer": " Antwoord van de leerling", - "return": " Terug naar de activiteiten", - "numberOfTries": " Aantal pogingen:", - "bilan": { - "title": " Balans", - "results": " Resultaten", - "noComment": " Nog geen commentaar" - }, - "applist": { - "selectApp": " Selecteer de toepassing waarmee u een activiteit wilt creëren" - }, - "form": { - "1": " Toepassing", - "2": " Inhoud", - "3": " Titel", - "4": " Naamsvermelding", - "title": { - "label": " Titel van de activiteit", - "labelCabri": " Wat is de titel van de activiteit?", - "placeholder": " Titel van het spel", - "placeholderCabri": " Titel van de activiteit" - }, - "iframe": { - "label": " Wat is de toegangs-URL?", - "placeholder": " Voer een URL in" - }, - "notebookUpdateMessage": " Wijzig dit gedeelte niet als u het oude activiteitenboek wilt behouden!", - "notebookUrl": { - "label": " Een URL voor het notitieblok toevoegen", - "placeholder": " Notebook URL" - }, - "playerUrl": { - "label": " Een speler-URL toevoegen", - "placeholder": " Speler URL" - }, - "player": { - "labelFileChooser": " Kies een bestand", - "fileUpload": " Het bestand is succesvol geüpload", - "dragDrop": " Slepen en neerzetten" - }, - "nextButton": " Volgende", - "endButton": " Afwerking", - "content": { - "label": " Inhoud van de activiteit" - }, - "back": " Terug", - "validate": " Valideer", - "buttonContinue": " Opslaan en doorgaan", - "button": " Opslaan en goedkeuren", - "success": " Gefeliciteerd, je hebt een activiteit gecreëerd!", - "attribute": " Schrijf de activiteit nu toe", - "attribute2": " Schrijf de activiteit toe", - "return": " Terug naar mijn activiteiten", - "hint": " U kunt deze activiteit later alsnog toewijzen vanaf uw dashboard.", - "modify": " De activiteit wijzigen", - "select1": " Selecteer de leerlingen", - "select2": " geselecteerd.", - "instructions": " Specifieke instructies voor deze leerlingen", - "autocorrect": " Deze activiteit heeft autocorrectie, wil je die activeren?", - "nature": " Kan de leerling de activiteit meer dan eens indienen?", - "dateBegin": " Startdatum:", - "dateEnd": " Einddatum :", - "retroAttribution": " Deze activiteit zal worden toegevoegd voor elke nieuwe student" - }, - "toCopy": " Met deze code kunt u gemakkelijk uw klas", - "qrCode": " Scan de QR-code:", - "copyLink": " De link naar uw klas is toegevoegd aan het klembord", - "dateBefore": " Terug te sturen voor", - "dateBeforeAvailable": " Beschikbaar tot", - "integrate": " Integreren in een activiteit", - "veryGoodProficiency": " Zeer goede controle", - "goodProficiency": " Bevredigende controle", - "weakProficiency": " Breekbare controle", - "insufficientProficiency": " Onvoldoende beheersing", - "noProficiency": " Niet geëvalueerd", - "addLearner": " Een leerling toevoegen", - "addLearners": " Leerlingen toevoegen", - "addActivity": " Een activiteit toevoegen", - "exportCsv": " Export csv", - "players": { - "STANDARD": { - "title": " Standaard", - "description": " Met de standaardspeler kunt u alle activiteitenboeken lezen die met de Cabri-auteurstool zijn gemaakt." - }, - "IMUSCICA": { - "title": " iMuSciCA", - "description": " De iMuSciCA-speler maakt het mogelijk om in de muziekstudio alle activiteiten te lezen die met de Cabri-auteurstool zijn gerealiseerd." - }, - "IFRAME": { - "title": " Autre", - "description": " Kies uit een selectie van lezers voor gebruik in uw activiteiten met de Cabri authoring tool." - }, - "EXPRESS": { - "title": " Express", - "description": " Dynamisch wiskunde-instrument" - }, - "GENIUS": { - "title": " Slim", - "description": " Automatisch beoordelingsinstrument voor wiskunde" - }, - "IFRAME-CABRI3D": { - "title": " Cabri 3D", - "description": " Maak een dynamische verkenning van de ruimtegeometrie." - }, - "LTI-BLOCKLY": { - "title": " Cabri Blockly", - "description": " Voeg gebruikersacties toe aan een Cabri activiteit, zoals animaties, sloten,... visueel geprogrammeerd in dezelfde geest als met Scratch of Snap !" - } - }, - "tabs": { - "players": " Activiteitenboek", - "iframes": " Video en webpagina" - }, - "iframes": { - "IFRAME-VIDEO": { - "title": " Video", - "description": " Voer de URL in van een video die op een hostingplatform is gepubliceerd." - }, - "IFRAME-PAGE": { - "title": " Webpagina", - "description": " Voer de URL van de webpagina in." - } - }, - "month": { - "1": " Januari", - "2": " Februari", - "3": " Maart", - "4": " April", - "5": " Mei", - "6": " Juni", - "7": " Juli", - "8": " Augustus", - "9": " September", - "10": " Oktober", - "11": " November", - "12": " December" - }, - "preview": " Voorbeeld", - "previewTeacherResult": " De leerling zou de volgende score hebben gekregen:", - "studentResult": " Verkregen resultaat:", - "deleteActivityDisclaimer": " U staat op het punt een activiteit te verwijderen. Deze actie is onomkeerbaar.", - "deleteConfirm": " De verwijdering van de activiteit bevestigen", - "deleteActivity": " De activiteit verwijderen", - "correctAnswer": " Correct antwoord", - "nbActivities": " {{ nbActi }} Activiteiten

      ", - "moveToFolder": " Ga naar", - "rootFolder": " Hoofdmap", - "seekFolder": " Ga naar de map", - "foldersMessages": { - "errorDelete": " Er is een fout opgetreden bij het verwijderen van de map", - "errorCreate": " Er is een fout opgetreden bij het aanmaken van het bestand", - "errorLenght": " De mapnaam moet tussen 1 en 30 tekens bevatten", - "errorUpdate": " Er is een fout opgetreden tijdens het bewerken van het bestand", - "errorMoveTo": " Er is een fout opgetreden bij het verplaatsen van het object", - "movedTo": " Object succesvol verplaatst", - "created": " Succesvol aangemaakt bestand", - "updated": " Succesvol gewijzigd bestand", - "deleted": " Bestand succesvol verwijderd", - "createFolder": " Een map aanmaken", - "deleteFolder": " Bevestig de verwijdering van het bestand", - "updateFolder": " Wijzig het bestand", - "nameMandatory": " Mapnaam *", - "deleteDisclaimer": " Let op, de map en al zijn inhoud (activiteiten en submappen) worden verwijderd." - }, - "facultative": " Facultatieve velden", - "previewActivity": " Voorbeeld van de activiteit", - "infoRetroAttribution": " Deze activiteit wordt toegewezen aan nieuwe leerlingen wanneer zij aan uw klas worden toegevoegd.", - "infoAutocorrect": " Deze activiteit heeft automatische correctie", - "infoEvaluation": " In de beoordelingsmodus kunnen leerlingen de activiteit slechts eenmaal indienen en hebben ze geen toegang tot hints en aanwijzingen." - }, - "filter": { - "desc": " Van de minst recente naar de meest recente", - "asc": " Van meest recent naar minst recent", - "cabriExpress": " Express activiteiten", - "cabriGenius": " Slimme activiteiten", - "cabriVittascience": " Vittascience activiteiten", - "iframe": " Andere activiteiten", - "placeholder": " Zoek naar..." - }, - "sandbox": { - "mine": " Mijn projecten", - "shared": " Gedeelde projecten", - "add": " Maak een programma", - "chooseInterface": " Selecteer de interface waarop u een programma wilt maken:", - "teacherSharedDescription": " Vind hier de programma's die door uw leerlingen worden gedeeld.", - "studentSharedDescription": " Vind hier de programma's gedeeld door uw leraar" - }, - "footer": { - "privacy": " Privacybeleid", - "legal": " Juridische informatie", - "cgu": " Gebruiksvoorwaarden", - "copyright": " " - }, - "teacherHelpPanel": { - "contactForm": { - "title": " Contacteer ons", - "objectPlaceholder": " Object", - "messagePlaceholder": " Schrijf hier uw bericht. (Maximaal 800 tekens)", - "sendButton": " Stuur het bericht", - "fillInAllTheFields": " Vul alle velden in" - } - }, - "sandBoxCreationPanel": { - "title": " Selecteer de interface waarop u een programma wilt maken", - "knowMoreButton": " Meer informatie over interfaces", - "interfacesDescription": { - "arduino": " Programmeerinterface voor het Arduino-bord", - "microbit": " Programmeerinterface voor het Micro:bit bord", - "python": " Programmeerinterface voor Python 3 gedacht voor het onderwijs", - "texas-instruments": " Programmeerinterface voor rekenmachine met het micro:bit bord", - "esp32": " Programmeerinterface voor de ESP32-borden (Wemos D1R32, NodeMCU, Huzzah32, ...)", - "quickpi": " Programmeerinterface voor het Quick-Pi bord" - } - }, - "modals": { - "addLtiActivityName": " Wat is de titel van de activiteit ?", - "addActivity": { - "title": " Een activiteit toevoegen", - "resourceBank": { - "title": " Bekijk de gezamenlijke bronnenbank", - "button": " Bronnenbank" - }, - "orSeparator": " OF", - "attributeActivity": { - "title": " Mijn bestaande activiteiten bekijken", - "button": " Mijn activiteiten" - }, - "shareProject": { - "title": " Deel het project" - }, - "createActivity": { - "title": " Een nieuwe activiteit creëren", - "button": " Een activiteit creëren" - }, - "next": " Volgende", - "limitTitle": " Overschreden limiet", - "limitDescription": " De limiet van het aantal aan deze rekening gekoppelde activiteiten is bereikt.", - "upgradePlan": " Limiet verhogen" - }, - "updateActivity": { - "title": " Een activiteit bijwerken" - }, - "deleteActivity": { - "title": " Activiteit verwijderen", - "description": " Weet je zeker dat je de activiteit wilt verwijderen?", - "confirm": " Bevestig", - "cancel": " Annuleren" - }, - "settingsTeacher": { - "title": " Accountinstellingen", - "lang": " Taal", - "description": " Om uw wachtwoord of andere accountinstellingen te wijzigen", - "accessButton": " Ga naar uw profiel", - "password": " Wachtwoord", - "passwordDescription": " Hier is je wachtwoord. Onthoud het, anders kan alleen je leraar het je teruggeven.", - "resetPassword": " Reset" - }, - "addStudent": { - "title": " Studenten toevoegen", - "pseudo": " Pseudoniem", - "addStudentButton": " Leerling toevoegen", - "addStudentByCsvButton": " Een leerlingbestand toevoegen (.csv)" - }, - "addStudentByCsv": { - "title": " Studenten toevoegen met een .csv-bestand", - "description": " U kunt een of meer deelnemers tegelijk toevoegen door ze te importeren uit een .csv-bestand. Het is optioneel om voor elk van hen een wachtwoord in te stellen. Hier zijn de voorbeeld .csv-bestanden:", - "descriptionUpdate": " Je kunt een of meer deelnemers tegelijk toevoegen door ze te importeren uit een .csv-bestand. Kijk uit Hier worden de wachtwoorden in het csv-bestand niet ondersteund! Hier is het voorbeeld .csv-bestand:", - "csvTemplate": " sjabloonbestand met wachtwoord", - "csvTemplateNoPassword": " sjabloonbestand zonder wachtwoord", - "importStudentByCsvButton": " Leerlingen importeren", - "fileChooser": " Kies een bestand", - "fileName": " Geen bestanden gekozen" - }, - "exportCsv": { - "title": " Exporteren in csv-formaat", - "exportLearnersDescription": " Download de lijst met deelnemers voor deze klas en hun wachtwoorden. Het gedownloade bestand is in .csv-formaat.", - "exportLearners": " Download de lijst van deelnemers", - "exportDashboardDescription": " Download de lijst van leerlingen voor deze klas en, voor elk van hen, hun toegewezen activiteiten en de status van elke activiteit (nog niet gedaan, te corrigeren, voltooid). Het gedownloade bestand is in .csv-formaat.", - "exportDashboard": " Download het dashboard" - }, - "listClass": { - "title": " Overschakelen naar de leerlingmodus", - "description": " U kunt de interface gemakkelijk testen als leerling en op elk moment terugkeren naar uw lerarenprofiel. Uw vorderingen als leerling worden opgeslagen in uw demostudentenaccount.", - "switchButton": " Overschakelen naar de leerlingmodus", - "noClass": " Je moet eerst een klasse maken om deze functie te gebruiken" - }, - "changePseudo": { - "title": " Bijnaam wijzigen", - "description": " Bijnaam wijzigen", - "validateButton": " Valideer" - }, - "attributeActivity": { - "title": " Activiteit toewijzen" - }, - "shareProject": { - "title": " Project delen" - }, - "profileUpdatePasswordConfirm": { - "title": " Bevestiging van het wachtwoord", - "description": " Voer uw huidige wachtwoord in om uw profielwijzigingen te valideren!", - "placeholderInput": " Wachtwoord", - "validateButton": " Valideer" - } - }, - "folders": { - "folderManagement": " Beheer van bestanden", - "name": " Mapnaam *", - "title": " Map", - "image": " Map afbeelding" - } - }, - "login_popup": { - "title": " Inloggen", - "details": " Voer uw inloggegevens in om toegang te krijgen tot uw account.", - "form": { - "addressmail": " E-mailadres", - "addressmail_placeholder": " exemple@domaine.com", - "password": " Wachtwoord", - "password_placeholder": " Uw wachtwoord.", - "forgot_password": " Ik ben mijn wachtwoord vergeten.", - "btn_connect": " Inloggen" - }, - "success": " De authenticatie was succesvol. Omleiding...", - "error": " Fout. Controleer uw inloggegevens.", - "mailSuccess": " Er is een activeringsmail naar uw e-mailadres gestuurd.", - "mailError": " Er is een fout opgetreden. Controleer uw e-mailadres.", - "userNotFound": " Geen gekoppelde gebruiker gevonden bij deze mail.", - "inactiveAccount": " Uw account is niet actief, klik op de knop hieronder om een nieuwe validatiemail te sturen.", - "accountDeactivated": " Uw account is gedeactiveerd, neem contact op met een beheerder als het probleem aanhoudt.", - "errorBeta": " U moet een beta-tester zijn om toegang te krijgen tot deze functie. Contacteer het Vittascience team voor meer informatie." - }, - "signup-popup": { - "title": " Registratie", - "notice": " Vul de volgende velden in om uw Vittascience account aan te maken.", - "firstName": " Voornaam", - "lastName": " Naam", - "mail": " E-mailadres", - "telephone": " Telefoon", - "password": " Wachtwoord", - "passwordConfirmed": " Bevestiging", - "firstNamePlaceholder": " Uw voornaam.", - "lastNamePlaceholder": " Je naam.", - "mailPlaceholder": " U krijgt een bevestigingsmail.", - "telephonePlaceholder": " Uw telefoonnummer (facultatief).", - "passwordPlaceholder": " Minimaal 8 tekens. Hoofdletters, kleine letters en cijfers.", - "passwordConfirmedPlaceholder": " Herhaal uw wachtwoord een tweede keer.", - "mandatory": " Velden gemarkeerd met een * zijn verplicht.", - "submit": " Bevestig", - "back": " Terug", - "title2nd": " Geef ons wat aanvullende informatie", - "areYou": " Bent u...", - "member": " Een individu?", - "teacher": " Een leraar?", - "teacher-grade": " Niveau van de opleiding", - "grades": { - "primary": " Primair", - "middle": " College", - "high": " High School", - "highbis": " Professionele Hoge School", - "higher": " Post-BAC" - }, - "establishement": " Instelling", - "establishementPlaceholder": " Zoek op schoolnaam of stad.", - "subject": " Onderwerp geleerd", - "bio": " Mini-bio", - "bioPlaceholder": " Vertel ons een beetje over jezelf, zodat andere gebruikers van de site iets meer over je achtergrond weten :) Maximaal 800 tekens.", - "profilPicture": " Profielfoto (optioneel)", - "allowPictures": " Geaccepteerde formaten: jpeg, jpg, png. Max. 10Mb", - "allowPublicName": " Accepteert u dat uw naam en achternaam openbaar zijn op de site?", - "allowNewsletter": " Wilt u onze nieuwsbrief per e-mail ontvangen?", - "allowAlertMessage": " Wilt u per e-mail gewaarschuwd worden wanneer er nieuwe berichten op de site binnenkomen?", - "allowMessageReceive": " Wilt u gecontacteerd worden door andere gebruikers van de site?", - "eighteenConfirm": " Ik bevestig dat ik ouder ben dan 18 jaar (artikel 1124 van het burgerlijk wetboek)", - "confirmCGU": " Door dit formulier te valideren, gaat u akkoord met de Voorwaarden.", - "concernedAboutPrivacy": " Vittascience hecht veel belang aan de veiligheid en vertrouwelijkheid van de persoonsgegevens van haar gebruikers. Ontdek onze bescherming van persoonsgegevens", - "errors": { - "mailUsed": " De mail {{ mail }} is al in gebruik. Kies een andere.", - "mailUsedServer": " Het opgegeven e-mailadres bestaat al.", - "lastName": " De opgegeven naam is onjuist.", - "firstName": " De opgegeven voornaam is onjuist.", - "mailInvalid": " Het e-mailadres is ongeldig.", - "passwordInvalid": " Het wachtwoord voldoet niet aan de veiligheidsvoorschriften.", - "biographyInvalid": " De biografie is onjuist.", - "telephoneInvalid": " Het telefoonnummer is onjuist.", - "profilPictureInvalid": " De verstrekte profielfoto voldoet niet aan het aangegeven formaat.", - "establishementIncorrect": " De vestigingsnaam is onjuist.", - "gradeIncorrect": " Het niveau van het onderwijs is onjuist.", - "subjectIncorrect": " De naam van het onderwezen onderwerp is onjuist." - }, - "success": { - "main": " Uw registratie is succesvol geregistreerd! Een bevestigingslink is naar u gestuurd op {mail }}.", - "notice": " U moet deze link openen voordat u kunt inloggen. Als u de betreffende e-mail niet kunt vinden, controleer dan uw spamfolder." - } - }, - "switchAccessibility": { - "title": " Toegankelijkheid", - "theme": " Thema", - "light_theme": " Duidelijk thema", - "dark_theme": " Donker thema", - "font": " Politie", - "basic_font": " Basis", - "know_more": " Meer lezen" - }, - "words": { - "send": " stuur", - "settings": " parameters", - "disconnect": " ontkoppeling", - "help": " help", - "duplicate": " dubbel", - "delete": " verwijder", - "attribute": " toewijzen", - "modify": " edit", - "optional": " optionele", - "evaluation": " evaluatie", - "exercise": " oefening", - "return": " terug", - "anonymize": " anonimiseren", - "monochrome": " Monochrome modus", - "days": " dagen", - "hours": " uren", - "minutes": " minuten", - "seconds": " seconden", - "confirm": " bevestig", - "username": " pseudoniem", - "password": " Wachtwoord", - "yes": " Ja", - "no": " Geen" - }, - "faqTeacherNeutral": { - "1": { - "section_title": " Activiteiten", - "question_list": { - "1": { - "title": " Wat is het doel van het tabblad Mijn activiteiten?", - "answer": " In het tabblad Mijn activiteiten kunt u:
      1. Eigen activiteiten aanmaken.
      2. Toewijzen aan uw leerlingen!
      ." - }, - "2": { - "title": " Wat is een activiteit?", - "answer": " Een activiteit is interactieve inhoud die wordt gecreëerd vanuit Cabri Express, Cabri Smart of een bestaand Cabri-schrift." - }, - "3": { - "title": " Hoe een activiteit creëren of wijzigen?", - "answer": "

      U kunt eenvoudig activiteiten aanmaken of bewerken.

      Om een activiteit te bewerken, gaat u naar het tabblad Mijn activiteiten en klikt u op het pictogram voor uw activiteit en klikt u vervolgens op Bewerken. Vergeet niet uw wijzigingen op te slaan.

      " - }, - "4": { - "title": " Hoe wijs ik een activiteit toe?", - "answer": " Om een activiteit toe te wijzen, hebt u drie opties:
      1. Ofwel gaat u naar het tabblad Mijn activiteiten en klikt u op het pictogram voor uw activiteit en klikt u vervolgens op Toewijzen.
      2. Deze toewijzingsoptie is ook beschikbaar in de activiteit zelf zodra deze is geopend.
      3. Daarna gaat u naar het tabblad Klassen en klikt u op een klas. In het dashboard van de klas klikt u op de knop \"Activiteit toevoegen\"." - }, - "5": { - "title": " Hoe test je een activiteit?", - "answer": " Om een activiteit te testen heb je twee opties:
        1. Of je gaat naar Profiel en klikt op de knop \"Overschakelen naar de Leerlingmodus\" en selecteert vervolgens de klas waarin je wilt zitten. U bevindt zich dan in de fictieve account van een leerling genaamd \"demostudent\", u kunt de interface \"Learner\" ontdekken en de toegewezen activiteiten uitvoeren.
        2. Of ga naar Klassen in het dashboard van een klas, u kunt dan in de huid kruipen van de leerling-demostudent. Klik hiervoor op het pictogram, je krijgt dan de mogelijkheid om leerling te worden in de klas en de activiteiten uit te proberen.
        Om terug te keren naar de \"Leerkracht\"-modus, ga je gewoon naar het tabblad Profiel van de demostudentaccount en klik je op \"Terug naar de Leerkrachtmodus.\"." - }, - "6": { - "title": " Hoe verwijder je een activiteitstoewijzing zonder de activiteit te verwijderen?", - "answer": " Om de opdracht van een activiteit te verwijderen, ga je naar het tabblad Klas, open je het dashboard voor een van de klassen, klik je op de activiteit (het pictogram wordt als je er met de muis overheen gaat) en vervolgens op Opdracht bewerken. U hoeft nu alleen nog maar de instellingen te wijzigen en deelnemers te selecteren of te deselecteren." - } - } - }, - "2": { - "section_title": " Klasse", - "question_list": { - "1": { - "title": " Wat is het doel van het tabblad Klassen?", - "answer": " In het tabblad Klassen kunt u:
        1. Eigen klassen maken en leerlingen toevoegen
        2. De reacties van uw leerlingen op activiteiten corrigeren,
        3. en hun vorderingen bijhouden.
        ." - }, - "2": { - "title": " Hoe voeg ik mijn leerlingen toe aan mijn klas?", - "answer": " Je hebt verschillende opties:
        1. In de klas kun je de code projecteren op het bord. Ga hiervoor naar uw klas en klik op de knop om de onderstaande code te vergroten:
          Uw leerlingen hoeven zich alleen maar te registreren of in te loggen op de site door de code in te voeren. Ze kunnen deze code ook opschrijven om thuis in te loggen.
        2. U kunt ook leerlingen aanmaken met de knop \"Leerling toevoegen\" en ze dan hun wachtwoord individueel toezenden, dit is zichtbaar op het Dashboard van de klas :
        " - }, - "3": { - "title": " Kan een leerling in twee verschillende klassen zitten?", - "answer": " Nee, dit is momenteel niet mogelijk." - }, - "4": { - "title": " Hoe blokkeer je andere leerlingen in een klas?", - "answer": " Deze optie is binnenkort beschikbaar! Dit voorkomt dat leerlingen zich per ongeluk meerdere keren voor dezelfde klas inschrijven, en voorkomt ook dat buitenstaanders zonder toestemming de klas binnenkomen." - }, - "5": { - "title": " Hoe wijs ik een activiteit toe?", - "answer": "

        U kunt een activiteit toewijzen aan alle klassen die u hebt gemaakt of alleen aan een specifieke leerling.

        Om een activiteit toe te wijzen, hebt u drie opties:

        1. Ofwel gaat u naar het tabblad Mijn activiteiten en klikt u op het pictogram voor uw activiteit en klikt u vervolgens op Toewijzen.
        2. Deze toewijzingsoptie is ook beschikbaar in de activiteit zelf zodra deze is geopend.
        3. Vervolgens gaat u naar het tabblad Klassen en klikt u op een klas. In het dashboard van de klas klikt u op de knop \"Activiteit toevoegen\"." - }, - "6": { - "title": " Kunnen we terugkomen op de toewijzing van een activiteit?", - "answer": " Om terug te gaan naar het toewijzen van een activiteit, ga je naar het tabblad Klas, open je het dashboard voor een van de klassen, klik je op de activiteit (het pictogram wordt als je er met de muis overheen gaat) en vervolgens op Opdracht bewerken. U hoeft nu alleen nog maar de instellingen te wijzigen en deelnemers te selecteren of te deselecteren." - }, - "7": { - "title": " Hoe worden de activiteiten geëvalueerd?", - "answer": " De beoordelingen zijn:
          • handmatig op 4 niveaus: Zeer goede beheersing; Voldoende beheersing; Zwakke beheersing en Onvoldoende beheersing
          • Of automatisch op 2 niveaus:
            Dit type beoordeling zorgt ervoor dat de leerling onmiddellijk gecorrigeerd wordt en dat de docent veel tijd bespaart.

          Als de leerling zijn activiteit heeft voltooid, kan hij deze opnieuw starten als de docent bij het toewijzen de modus \"Oefenen\" heeft geselecteerd. In de modus \"Beoordeling\" kan de leerling niet opnieuw beginnen zodra de activiteit is gevalideerd.

          Om de resultaten te bekijken, gaat u naar het Dashboard van de klas.

          Een niet-gecorrigeerde activiteit wordt gesymboliseerd door een potlood in het Dashboard. Om deze te corrigeren klikt u op het potlood, waarna u het werk van de leerling beoordeelt en van commentaar voorziet.

          " - }, - "8": { - "title": " Hoe weten we wanneer leerlingen hun activiteiten hebben voltooid?", - "answer": " Wanneer een leerling zijn activiteit heeft voltooid, ontvangt u een e-mail notificatie.
          Deze instelling zal in de toekomst worden aangepast, voorlopig is het niet instelbaar." - }, - "9": { - "title": " Hoe de naam van een klas veranderen?", - "answer": " Om de naam van je klas te veranderen, moet je klikken op het icoontje van het tabblad Klassen, en dan op bewerken. U hoeft dan alleen de naam te veranderen." - }, - "10": { - "title": " Hoe verwijder ik een leerling uit een klas?", - "answer": "

          Om een leerling te verwijderen, klikt u gewoon op het pictogram naast de naam van de leerling in het Klasdashboard.

          Waarschuwing: deze actie is onomkeerbaar en sluit de account van de leerling.

          " - }, - "11": { - "title": " Wat is het doel van de anonimiseringsknop in het Dashboard?", - "answer": " Deze knop vervangt de namen van de leerlingen door nummers. Zo kunt u de resultaten van de leerlingen anoniem op het bord projecteren om bepaalde leerlingen niet te stigmatiseren." - } - } - }, - "3": { - "section_title": " Profiel", - "question_list": { - "1": { - "title": " Wat is het doel van het tabblad Profiel?", - "answer": " In het tabblad Profiel kunt u:
          1. de instellingen van uw account beheren,
          2. uw statistieken bekijken,
          3. en berichten uitwisselen met uw leerlingen en het Cabrilog-team als u hulp nodig hebt.
          " - }, - "2": { - "title": " Hoe verander ik mijn wachtwoord of andere accountinstellingen?", - "answer": " Om uw wachtwoord of andere instellingen te wijzigen, gaat u naar het tabblad Profiel. In het geval van GAR zijn de instellingen die van uw ENT." - }, - "3": { - "title": " Hoe verander je de taal?", - "answer": " De klaslokaalmodule is momenteel beschikbaar in het Engels en het Frans. Om de taal te wijzigen, gaat u naar het tabblad Profiel, klikt u op de knop \"Instellingen\" en selecteert u de gewenste taal." - }, - "4": { - "title": " Wat is de leerlingmodus?", - "answer": "

          In je profiel kun je op de knop \"Switch to Learner Mode\" klikken. Nadat je een klas hebt gekozen, ga je naar een fictieve leerling-account genaamd \"demostudent\", waar je de Learner-interface kunt ontdekken en de toegewezen activiteiten kunt uitvoeren.

          Om terug te keren naar de \"Docent\"-modus, ga je naar het tabblad Profiel van de demostudent-account en klik je op \"Terug naar Docentenmodus\".

          " - } - } - }, - "4": { - "section_title": " Algemene vragen", - "question_list": { - "1": { - "title": " Op welke media is de klassemodule compatibel?", - "answer": "

          De interfaces werken zonder installatie, op computer, tablet en smartphone! Updates gebeuren automatisch en van uw programma's wordt een back-up gemaakt in de cloud.

          Om alle functies ten volle te benutten, raden wij u aan Chrome of Firefox te gebruiken.

          " - }, - "2": { - "title": " Hoe maak ik een snelkoppeling naar de klaslokaalmodule?", - "answer": "

          U hebt de mogelijkheid om een pictogram op het bureaublad van uw computer te plaatsen om snel toegang te krijgen tot de klaslokaalmodule. Om dit te doen:

          On Windows en Mac:

          1. Open de pagina: klaslokaal/ en verklein vervolgens het browservenster zodat u het bureaublad ernaast kunt zien.
          2. Selecteer in uw webbrowser het symbool links van het adres en sleep de aanwijzer naar het bureaublad zonder de muisknop los te laten. Laat los om de snelkoppeling te maken.
          3. De snelkoppeling is gemaakt. U hoeft er alleen maar op te dubbelklikken om de gekoppelde webpagina te openen.

          Op Android met Chrome:

          1. Open de pagina:classroom/, druk vervolgens op de menuknop en selecteer \"Toevoegen aan beginscherm\".
          2. Noem de pagina en druk op \"Toevoegen\".
          3. De snelkoppeling wordt gemaakt. U hoeft er alleen maar op te dubbelklikken om de gekoppelde webpagina te openen.

          Op Android met Firefox:

          1. Open de pagina:classroom/, druk vervolgens op de menuknop en vervolgens op Pagina.
          2. Tik op Snelkoppeling toevoegen aan pagina.
          3. De snelkoppeling wordt gemaakt op het startscherm. U hoeft er alleen maar op te klikken om de gekoppelde webpagina te openen.

          Op iOS met Safari:

          1. Open de pagina:classroom/ en tik vervolgens op het pictogram Delen.
          2. Selecteer op het startscherm en tik vervolgens op Toevoegen.
          3. De snelkoppeling wordt gemaakt op het startscherm. Je hoeft er alleen maar op te klikken om de gekoppelde webpagina te openen.

          Je kunt op internet meer tutorials vinden om een snelkoppeling op het bureaublad te maken.

          " - } - } - }, - "5": { - "section_title": " Technisch probleem", - "question_list": { - "1": { - "title": " Ik heb een bug, wat kan ik doen?", - "answer": " Wanneer zich een bug voordoet, probeer dan eerst de pagina te verversen. Als de bug blijft bestaan, kunt u contact met ons opnemen in het tabblad Profiel met de knop \"Help\"." - }, - "2": { - "title": " Hoe meld ik bugs en geef ik feedback?", - "answer": " Als de bug blijft bestaan, kunt u contact met ons opnemen in het tabblad Profiel met de knop \"Help\".
          Om ons feedback te geven, kunt u ook contact met ons opnemen in het tabblad Profiel met de knop \"Help\"." - } - } - }, - "6": { - "section_title": " Vergunningen", - "question_list": { - "1": { - "title": " Kunnen we een beschrijving of presentatie van de Klassenmodule maken?", - "answer": " Ja, u kunt de afbeeldingen voor de klaslokaalmodule hergebruiken om een beschrijving, presentatie, training, zelfstudie, cursus of andere te maken. Als u afbeeldingen of inhoud van activiteiten wilt opnemen, vermeld dan de auteur (zie volgende vraag)." - }, - "2": { - "title": " Waar kan ik de broncode van de Class-module vinden?", - "answer": " De broncode van de Class-module is beschikbaar op de OpenSTEAM-LMS git repository, voel je vrij om bij te dragen!" - } - } - }, - "title": " FAQ" - }, - "faqStudentNeutral": { - "1": { - "section_title": " Activiteiten", - "question_list": { - "1": { - "title": " Wat is het doel van het tabblad Mijn activiteiten?", - "answer": " In het tabblad Mijn activiteiten kun je:
          1. Nieuwe activiteiten van je leraren voltooien.
          2. Opslaan die je nog niet hebt voltooid.
          3. En de activiteiten die je al hebt gedaan bekijken!\"
          ." - }, - "2": { - "title": " Wat is een activiteit?", - "answer": " Een activiteit is interactieve inhoud die is gemaakt met Cabri Express of Cabri Author." - } - } - }, - "2": { - "section_title": " Bel voor hulp", - "question_list": { - "1": { - "title": " Wat is het doel van het tabblad Hulpaanvraag?", - "answer": " In het tabblad Vraag om hulp kun je:
          1. Op elk moment hulp vragen aan je docenten,
          2. Veel gestelde vragen raadplegen.
          Je kunt je berichtenuitwisseling volgen in het tabblad Profiel." - } - } - }, - "3": { - "section_title": " Profiel", - "question_list": { - "1": { - "title": " Wat is het doel van het tabblad Profiel?", - "answer": " In het tabblad Profiel kun je:
          1. Je accountinstellingen beheren,
          2. Je statistieken bekijken,
          3. en berichten uitwisselen met je leraren.
          " - }, - "2": { - "title": " Hoe verander ik mijn wachtwoord of andere accountinstellingen?", - "answer": " Om uw wachtwoord of andere instellingen te wijzigen, gaat u naar het tabblad Profiel." - }, - "3": { - "title": " Hoe verander je de taal?", - "answer": " De klaslokaalmodule is momenteel beschikbaar in het Engels en het Frans. Om de taal te wijzigen, gaat u naar het tabblad Profiel, klikt u op de knop \"Instellingen\" en selecteert u de gewenste taal." - } - } - }, - "4": { - "section_title": " Algemene vragen", - "question_list": { - "1": { - "title": " Hoe begin ik met de klaslokaalmodule?", - "answer": " U kunt op elk moment algemene hulp krijgen door te klikken op het pictogram rechtsboven om een handvat te krijgen voor de Klassenmodule." - }, - "2": { - "title": " Op welke media is de klassemodule compatibel?", - "answer": "

          De interfaces werken zonder installatie, op computer, tablet en smartphone! Updates worden automatisch uitgevoerd en uw programma's worden opgeslagen in de cloud.

          Om alle functies ten volle te benutten, raden wij u aan Chrome of Firefox te gebruiken.

          " - }, - "3": { - "title": " Hoe maak ik een snelkoppeling naar de klaslokaalmodule?", - "answer": "

          U hebt de mogelijkheid om een pictogram op het bureaublad van uw computer te plaatsen om snel toegang te krijgen tot de klaslokaalmodule. Om dit te doen:

          On Windows en Mac:

          1. Open de pagina: /klaslokaal/ en verklein vervolgens het browservenster zodat u het bureaublad ernaast kunt zien.
          2. Selecteer in uw webbrowser met de muis het symbool links van het adres en sleep de aanwijzer naar het bureaublad zonder deze los te laten. Laat los om de snelkoppeling te maken.
          3. De snelkoppeling is gemaakt. U hoeft er alleen maar op te dubbelklikken om de gekoppelde webpagina te openen.

          Op Android met Chrome:

          1. Open de pagina: /klaslokaal/, druk vervolgens op de menuknop en selecteer \"Toevoegen aan beginscherm\".
          2. Noem de pagina en druk op \"Toevoegen\".
          3. De snelkoppeling wordt gemaakt. Je hoeft er alleen maar op te dubbelklikken om de gekoppelde webpagina te openen.

          Op Android met Firefox:

          1. Open de pagina: /klaslokaal/, tik op de menuknop en vervolgens op Pagina.
          2. Tik op Snelkoppeling naar pagina toevoegen.
          3. De snelkoppeling wordt gemaakt op het beginscherm. U hoeft er alleen maar op te klikken om de gekoppelde webpagina te openen.

          Op iOS met Safari:

          1. Open de pagina:/klaslokaal/, tik vervolgens op het pictogram Delen.
          2. Selecteer op het startscherm en tik vervolgens op Toevoegen.
          3. De snelkoppeling wordt gemaakt op het startscherm. Je hoeft er alleen maar op te klikken om de gekoppelde webpagina te openen.

          Je kunt op internet meer tutorials vinden voor het maken van een snelkoppeling op het bureaublad.

          " - } - } - }, - "5": { - "section_title": " Technisch probleem", - "question_list": { - "1": { - "title": " Ik heb een bug, wat kan ik doen?", - "answer": " Wanneer zich een bug voordoet, is het eerste wat u moet doen de pagina proberen te verversen. Als de bug blijft bestaan, kunt u contact opnemen met uw leraar in het tabblad Hulp vragen." - }, - "2": { - "title": " Hoe meld ik bugs en geef ik feedback?", - "answer": "

          Als de bug blijft bestaan, kun je contact opnemen met je leraar in het tabblad Help.

          Om feedback te geven aan je leraar, kun je ook contact opnemen met hem/haar in het tabblad Help.

          " - } - } - }, - "6": { - "section_title": " Vergunningen", - "question_list": { - "1": { - "title": " Waar kan ik de broncode van de Class-module vinden?", - "answer": " De broncode van de Klassenmodule is beschikbaar op de OpenSTEAM-LMS git repository, voel je vrij om bij te dragen!" - } - } - }, - "title": " FAQ" - }, - "manager": { - "profil": { - "manager": " Overschakelen naar manager", - "groupAdmin": " Schakel over naar groepsbeheerder", - "bio": " Bio", - "group": " Groep", - "apps": " Apps", - "personalApps": " Persoonlijke apps", - "email": " E-mail *", - "nickname": " Gebruikersnaam", - "lastname": " Achternaam *", - "firstname": " Voornaam *", - "phone": " Telefoonnummer", - "grade": " Niveau van de opleiding *", - "subject": " Onderwezen onderwerp *", - "school": " School *", - "password": " Wachtwoord *", - "confirmPassword": " Wachtwoord bevestigen *", - "help": " Help", - "onlyVisibleGroupAdmin": " Alleen zichtbaar voor u als groepsbeheerder:", - "onlyVisiblemanager": " Alleen zichtbaar voor u als manager:" - }, - "account": { - "activate": { - "success": " Uw account is geactiveerd!", - "alreadyactive": " Uw account is al actief.", - "noToken": " Aan deze link is geen token verbonden." - }, - "active": " Actieve rekening", - "registration": { - "success": " Succesvolle registratie !", - "emailSent": " Er is zojuist een e-mail naar u verzonden, volg de link daarin om uw account te activeren en uw link naar de groep \"\" voort te zetten.", - "accountPublic": " Gaat u ermee akkoord dat uw voor- en achternaam openbaar zijn op de site?", - "newsletter": " Wilt u onze nieuwsbrief per e-mail ontvangen?", - "mailAlert": " Wilt u per e-mail gewaarschuwd worden wanneer u nieuwe berichten op de site ontvangt ?", - "allowContact": " Wilt u gecontacteerd kunnen worden door andere gebruikers van de site ?", - "confirmAdult": " Ik bevestig dat ik ouder ben dan 18 jaar (artikel 1124 du code civil)*.", - "disclaimerVittascience": " Vittascience hecht veel belang aan de veiligheid en vertrouwelijkheid van de persoonsgegevens van haar gebruikers. Ontdek ons beleid inzake de bescherming van persoonsgegevens", - "mandatory": " Velden gemarkeerd met * zijn verplicht.", - "cguVittascience": " Door dit formulier te valideren, aanvaardt u de Servicevoorwaarden.", - "cguOpenSteam": " Door dit formulier te valideren, aanvaardt u de Servicevoorwaarden.", - "description": " Vul de volgende velden in om uw account aan te maken.", - "title": " Registratie", - "registrationFinalizationSuccess": " Uw registratie is voltooid, u kunt nu verbinden", - "registrationFinalization": " Voltooi uw registratie", - "descriptionFinalization": " Vul de volgende velden in om uw registratie te voltooien.", - "noTokenOrUserActive": " Ongeldig token of gebruiker reeds actief", - "noToken": " Ontbrekende penning" - }, - "notAllowedUpdateUser": " Je hebt geen rechten om deze gebruiker bij te werken.", - "notAllowedDeleteGroup": " Je hebt geen rechten om deze groep te verwijderen.", - "notAllowedDisableUser": " Je hebt geen rechten om deze gebruiker uit te schakelen.", - "notAllowedDeleteUser": " Je hebt geen rechten om deze gebruiker te verwijderen.", - "passwordUpdatedMessage": " Uw wachtwoord is succesvol gewijzigd", - "noUserFound": " Er is geen gebruiker gevonden die dit adres gebruikt.", - "noUserFoundToken": " Dit token komt niet overeen met een gebruiker.", - "missingData": " Er ontbreekt informatie om de operatie af te ronden.", - "missingDataDate": " Datuminformatie ontbreekt om de operatie af te ronden.", - "errorSending": " Er is een fout opgetreden tijdens het verzenden van de e-mail", - "userNotFound": " Gebruiker niet gevonden en/of reeds actief", - "userNotFoundId": " Gebruiker niet gevonden", - "errorActivation": " Er is een fout opgetreden tijdens de activering.", - "notAllowedToCreateUserInThisGroup": " U bent niet gemachtigd om een gebruiker in deze groep aan te maken.", - "subscriptionOudated": " Uw APPNAME app is verlopen op DATUM. Neem voor meer informatie contact op met een beheerder." - }, - "users": { - "users": " Gebruikers", - "add": " Gebruiker toevoegen", - "activated": " De rekening is geactiveerd.", - "errorActivation": " Er is een fout opgetreden tijdens de activering.", - "create": " Gebruiker aanmaken", - "delete": " Gebruiker verwijderen", - "deleteConfirmation": " Schrijf \"verwijderen\" in het onderstaande veld om de actie te valideren.", - "deleteIntentionSA": " U staat op het punt de gebruiker te verwijderen : ", - "disableIntention": " U gaat de gebruiker uitschakelen : ", - "deleteConfirmationTitle": " Verwijdering bevestigen", - "disableConfirmationTitle": " Deactivering bevestigen", - "update": " Gebruiker bijwerken", - "updateAppUser": " Gebruikersapps bijwerken", - "updateApp": " Apps bijwerken", - "disable": { - "message": " Schrijf \"verwijderen\" in het onderstaande veld om de actie te valideren.", - "intention": " U staat op het punt de gebruiker te verwijderen : " - }, - "mail": { - "resetPassword": { - "subject": " Uw wachtwoord opnieuw instellen.", - "bodyTitle": " Wachtwoord opnieuw instellen.", - "textBeforeLink": " Als de bovenstaande knop niet werkt, kopieer en plak dan de volgende link in uw browser:" - }, - "finalizeAccount": { - "title": " Definitieve registratie", - "subject": " Definitieve registratie", - "bodyTitle": " Rond uw registratie af.", - "textBeforeLink": " Als de bovenstaande knop niet werkt, kopieer en plak dan de volgende link in uw browser:" - } - }, - "showResetLinkTitle": " Wachtwoord opnieuw instellen.", - "showResetLink": " Wachtwoord reset link.", - "groupAdmin": " Groepsbeheerder", - "admin": " Manager", - "teacher": " Leraar", - "usersPerPage": " Gebruikers per pagina", - "userDeleted": " Gebruiker verwijderd.", - "userDisabled": " Gebruiker uitgeschakeld.", - "userCreated": " Gebruiker succesvol aangemaakt", - "userUpdated": " Gebruiker succesvol bijgewerkt", - "chooseNewPassword": " Kies uw nieuwe wachtwoord", - "passwordUpdate": " Uw wachtwoord is gewijzigd", - "enterYourEmail": " Voer uw e-mailadres in", - "sendResetMailDescription": " Als u op verzenden klikt, krijgt u een e-mail met een link om uw wachtwoord te wijzigen.", - "yourMail": " Uw e-mail", - "emailSended": " Een e-mail met de te volgen procedure is u zojuist toegezonden.", - "emailNotReceived": " Als u de e-mail niet hebt ontvangen, klik dan op opnieuw beginnen (het kan even duren voordat de e-mail aankomt).", - "mailSentToUser": " Er is een e-mail naar de gebruiker gestuurd om zijn registratie te voltooien.", - "mailNotSentToUser": " de registratie-eindmail kon niet worden verzonden naar de gebruiker", - "mailSentToUserReset": " Er is een e-mail gestuurd naar de gebruiker om zijn wachtwoord te wijzigen", - "mailNotSentToUserReset": " De e-mail voor de wachtwoordwijziging kon niet worden verzonden naar de gebruiker", - "appsUpdated": " Gebruikers-apps zijn bijgewerkt", - "updateAppModalTitle": " Toepassing", - "teacherGrades": { - "0": " Basisschool", - "1": " Middelbare school", - "2": " Middelbare school", - "3": " Technisch College", - "4": " POST-BAC" - }, - "teacherSubjects": { - "0": { - "0": " Basisschool", - "1": " Andere (specificeer in biografie)" - }, - "1": { - "0": " Lichamelijke en sportieve opvoeding", - "1": " Moreel en burgerlijk onderwijs", - "2": " Artistiek onderwijs", - "3": " Frans", - "4": " Geschiedenis geografie", - "5": " Levende taal", - "6": " Wiskunde", - "7": " Chemische fysica", - "8": " Levens- en aardwetenschappen", - "9": " Technologie", - "10": " Andere (specificeer in bio)" - }, - "2": { - "0": " Kunst", - "1": " Circus kunsten", - "2": " Biologie Ecologie", - "3": " Biotechnologieën", - "4": " Creatie en ontwerpcultuur", - "5": " Technologische creatie en innovatie", - "6": " Ecologie-agronomie-territoria-ontwikkeling duurzaam", - "7": " Lichamelijke en sportieve opvoeding", - "8": " Moreel en burgerlijk onderwijs", - "9": " Wetenschappelijk onderwijs", - "10": " Transversaal technologisch onderwijs", - "11": " Frans", - "12": " Hippologie en paardrijden", - "13": " Geschiedenis geografie", - "14": " Geschiedenis geografie, geopolitiek en politieke wetenschappen", - "15": " Geesteswetenschappen, literatuur en filosofie", - "16": " Talen en culturen uit de Oudheid: Latijn of Grieks", - "17": " Levende taal", - "18": " Buitenlandse en regionale talen, literaturen en culturen", - "19": " Literatuur en talen en culturen van de Oudheid", - "20": " Beheer", - "21": " Wiskunde", - "22": " Digitale en computerwetenschappen", - "23": " Chemische fysica", - "24": " Grondbeginselen van economie en management", - "25": " Gezondheid en sociale", - "26": " Levens- en aardwetenschappen", - "27": " Ingenieurswetenschappen", - "28": " Wetenschap en laboratorium", - "29": " Wetenschappen en technieken van theater, muziek en dans", - "30": " Laboratoriumwetenschappen en -technologie", - "31": " Hotel- en restaurantwetenschappen en -technologieën", - "32": " Wetenschap en technologie van de industrie en duurzame ontwikkeling", - "33": " Wetenschappen en technologieën van design en toegepaste kunst", - "34": " Management en wetenschappen en technologieën", - "35": " Digitale wetenschap en technologie", - "36": " Economische en sociale wetenschappen", - "37": " Andere (specificeer in biografie)" - }, - "3": { - "0": " Toegepaste kunsten en artistieke culturen", - "1": " Juiste economie", - "2": " Beheer van de economie", - "3": " Lichamelijke opvoeding en sport", - "4": " Moreel en burgerlijk onderwijs", - "5": " Transversaal technologisch onderwijs", - "6": " Frans", - "7": " Geschiedenis geografie", - "8": " Moderne vreemde talen", - "9": " Wiskunde Natuurkunde-Chemie", - "10": " Milieugezondheidspreventie", - "11": " Andere (specificeer in biografie)" - }, - "4": { - "0": " Hoger onderwijs", - "1": " Andere (specificeer in biografie)" - } - }, - "groupFull": " De groep is vol" - }, - "group": { - "generalInfo": " Algemene informatie", - "add": " Groep toevoegen", - "create": " Groep aanmaken", - "delete": " Groep verwijderen", - "deleteIntention": " U staat op het punt de groep te verwijderen : ", - "update": " Update groep", - "academy": " Academie", - "join": { - "firstVisit": " Eerste bezoek?", - "signin": " Aanmelden", - "signinSubtitle": " Voer uw inloggegevens in om toegang te krijgen tot uw account", - "addressMail": " Postadres", - "disclaimer": " Door lid te worden van deze groep geeft u de beheerder van de groep toestemming om uw account te wijzigen en/of te deactiveren. U beschikt ook over de toepassingen die de groep bezit.", - "lastStep": " Er is nog maar één stap! Klik op de knop hieronder om de link definitief te maken.", - "joinGroup": " U staat op het punt lid te worden van de groep : \"\"", - "notfound": " Groep niet gevonden !", - "notfoundDetails": " We kunnen geen groepen vinden die gekoppeld zijn aan de code .", - "clickToRedirectLogin": " Klik op doorgaan om naar de inlogpagina te gaan.", - "clickToRedirectHome": " Klik op doorgaan om naar de startpagina te gaan.", - "invalidLink": " Ongeldige link !", - "invalidFormatLink": " Het formaat van de door u ingevoerde link komt niet overeen.", - "success": " Je bent lid geworden van de groep: \"\"!", - "alreadyLinked": " Je maakt al deel uit van deze groep.", - "error": " Er is een fout opgetreden tijdens het koppelen.", - "userNotFound": " De gebruiker is niet gevonden, u kunt op doorgaan klikken om naar de inlogpagina te gaan.", - "contactAdmin": " Als het probleem aanhoudt, neem dan contact op met de administratie.", - "groupFull": " De groep waar je bij wilt is vol.", - "onlyOneGroup": " U maakt al deel uit van een groep, u kunt geen lid worden van een andere", - "mail": { - "textBeforeName": " De gebruiker:", - "textAfterName": " sloot zich aan bij de groep:", - "emailSubject": " Een gebruiker is lid geworden van de groep" - } - }, - "name": " Naam van de groep *", - "description": " Beschrijving van de groep *", - "link": " Groepsverband", - "applications": " Groepstoepassingen", - "groupsPerPage": " Groepen per pagina", - "groupDeleted": " Groep verwijderd.", - "groupCreated": " Groep succesvol aangemaakt", - "groupUpdated": " Groep succesvol bijgewerkt", - "groupCreateFailed": " De groep kon niet worden aangemaakt, ontbrekende gegevens.", - "showLinkTitle": " Link van de groep", - "usersWithoutGroups": " Gebruikers zonder groepen", - "searchResult": " Resultaat van het onderzoek", - "usersInactiveOrNoRegular": " Inactieve gebruikers of niet regelmatige", - "usersWithoutGroupsDescription": " Gebruikersgroep niet gekoppeld aan een groep", - "usersInactiveOrNoRegularDescription": " Groep niet-reguliere gebruikers", - "groupDeleteError": " De groep kon niet worden verwijderd.", - "groupFull": " De groep is vol.", - "groupFullAdminMessage": " De groep is vol, u kunt geen andere gebruikers toevoegen.", - "toManyStudentsFromTheTeacher": " De leraar die u wilt toevoegen aan de groep heeft te veel leerlingen", - "toManyStudentsInGroup": " De groep kan niet zoveel leerlingen herbergen, de leraar heeft te veel leerlingen.", - "teachersPerGroup": " Leraar per groep", - "studentsPerGroup": " Studenten per groep", - "activitiesPerGroup": " Activiteiten per groep", - "activitiesPerTeacher": " Activiteiten per leraar", - "studentsPerTeacher": " Studenten per leraar", - "maxStudents": " Maximaal aantal studenten", - "maxActivities": " Maximale activiteiten", - "groupsRestrictions": " Beperkingen van de groep", - "classroomPerTeacher": " Klas(sen) per leraar" - }, - "title": { - "activeUsers": " Actieve gebruikers", - "inaactiveUsers": " Inactieve gebruikers" - }, - "buttons": { - "continue": " Ga verder", - "validate": " Valideer", - "activate": " Activeer", - "cancel": " Annuleren", - "finalize": " Afronden", - "send": " Stuur", - "login": " Aanmelden", - "signup": " Registreer", - "join": " Word lid van", - "save": " Sla", - "close": " Sluit", - "disable": " Schakel uit.", - "delete": " Verwijder", - "reset": " Reset", - "update": " Update", - "search": " Zoek op", - "restart": " Herstart", - "copyLink": " Link kopiëren", - "show": " Toon", - "manage": " Beheer", - "user": { - "add": " Gebruiker toevoegen", - "create": " Gebruiker aanmaken", - "delete": " Gebruiker verwijderen", - "update": " Gebruiker bijwerken", - "addGroup": " Groep toevoegen", - "createA": " Gebruiker aanmaken", - "updateA": " Gebruiker bijwerken", - "updateApp": " Toepassingen bijwerken" - }, - "group": { - "add": " Groep toevoegen", - "create": " Groep aanmaken", - "delete": " Groep verwijderen", - "update": " Update groep", - "createA": " Groep aanmaken", - "updateA": " Update groep" - } - }, - "sort": { - "user": { - "bylastname": " Sorteren op achternaam", - "byfirstname": " Sorteren op voornaam" - }, - "group": { - "byname": " Sorteren op naam", - "bydesc": " Sorteren op beschrijving" - } - }, - "input": { - "placeholder": { - "delete": " verwijder" - }, - "writeDelete": " Je moet delete schrijven om de actie te valideren.", - "writeDisable": " U moet uitschakelen schrijven om de actie te valideren." - }, - "table": { - "lastname": " Achternaam", - "firstname": " Voornaam", - "applications": " Toepassingen", - "group": " Groep", - "description": " Beschrijving", - "descriptionMandatory": " Beschrijving *", - "right": " Rechten", - "resetPassword": " Wachtwoord opnieuw instellen", - "link": " Link", - "name": " Naam", - "nameMandatory": " Naam *", - "dateBegin": " Begindatum", - "dateEnd": " Einddatum", - "outDated": " Gedateerd", - "maxStudents": " Maximaal aantal studenten", - "actualStudents": " Huidige studenten", - "maxTeachers": " Maximale leraren", - "actualTeachers": " Huidige leraren", - "maxStudentsPerTeachers": " Maximaal aantal leerlingen per leraar", - "maxStudentsPerTeacher": " Maximaal aantal leerlingen per leraar", - "activityType": " Soort activiteit", - "maxActivitiesPerGroup": " Maximale activiteiten per groep", - "maxActivitiesPerTeacher": " Maximale activiteiten per leraar", - "monitoring": " Controle van apps", - "image": " Afbeelding", - "userNoRights": " Geen rechten toegewezen", - "userAdmin": " Beheerder", - "userTeacher": " Leraar", - "restrictions": " Beperkingen" - }, - "apps": { - "apps": " Apps", - "create": " Een app toevoegen", - "updateSuccess": " App succesvol bijgewerkt", - "createSuccess": " App succesvol gemaakt", - "deleteSuccess": " App succesvol verwijderd", - "deleteIntention": " U staat op het punt de app te verwijderen: ", - "outDatedApp": " De app die u wilt toewijzen is verouderd.", - "infoMaxStudentsPerTeachers": " Bepaal het maximum aantal leerlingen dat een leraar in de groep kan hebben.", - "infoMaxStudentsPerGroups": " Bepaalt het maximum aantal leerlingen dat de groep kan hebben (Door het totaal van de leerlingen van leerkrachten die deze toepassing hebben op te tellen)", - "infoMaxTeachers": " Bepaalt het maximum aantal leerkrachten dat de toepassing in deze groep kan hebben", - "usersLimitation": " Gebruikers studenten beperking", - "groupsLimitation": " Groepsbeperkingen", - "activitiesLimitation": " Beperkingen van de activiteiten", - "defaultRestrictions": " Standaard beperkingen", - "ltiApps": " LTI apps", - "clientId": " Klant Id *", - "deploymentId": " Deployment Id *", - "toolUrl": " Tool Url *", - "publicKeySet": " Openbare sleutel ingesteld *", - "loginUrl": " Login Url *", - "redirectionUrl": " Redirection url *", - "deepLinkUrl": " Deeplink url *", - "privateKey": " Particuliere sleutel *" - }, - "activitiesRestrictions": { - "updateAll": " Beperkingen bijwerken", - "update": " Update beperking", - "create": " Beperking creëren", - "delete": " Beperking verwijderen", - "updateSuccess": " Beperking succesvol bijgewerkt", - "createSuccess": " Beperking succesvol aangemaakt", - "deleteSuccess": " Beperking succesvol verwijderd", - "deleteIntention": " U staat op het punt de beperking te verwijderen: ", - "restrictionType": " Soort activiteit", - "maxActivity": " Activiteit maximaal", - "closeDetail": " Sluit het detail", - "restrictions": " Activiteitsbeperkingen", - "appRestricted": " Maak meer activiteiten !", - "appRestrictedUL1": " Je hebt de limiet bereikt van {{activities}} activiteiten gekoppeld aan je account.", - "appRestrictedUL2": " Om extra activiteiten toe te voegen, kunt u contact opnemen met uw beheerder.", - "appRestrictedSubtitle2": " Een probleem met uw abonnement?", - "appRestrictedSubtitle3": " Contact ondersteuning", - "appRestrictedGarContent1": " Je hebt de limiet bereikt van {{activities}} activiteiten gekoppeld aan je account.", - "appRestrictedGarContent2": " Om extra activiteiten toe te voegen, kunt u contact opnemen met de GAR-toewijzingsbeheerder van uw instelling." - }, - "defaultRestrictions": { - "update": " Standaardbeperkingen bijwerken", - "type": " Soort activiteit", - "max": " Maximum", - "add": " Een beperking toevoegen", - "updateUsersRestrictionsSuccess": " Standaard gebruikersbeperkingen succesvol bijgewerkt", - "updateGroupsRestrictionsSuccess": " Standaard groepsbeperkingen succesvol bijgewerkt", - "updateActivitiesRestrictionsSuccess": " Standaard activiteitenbeperkingen succesvol bijgewerkt", - "deleteActivitiesRestrictionsSuccess": " Standaard activiteitsbeperking succesvol verwijderd", - "getDefaultRestrictions": " Toon de standaard beperkingen", - "restrictionAlreadyExist": " De beperking bestaat al" - } - }, - "navbar": { - "items": { - "kits": " Hardware", - "community": { - "title": " Gemeenschap", - "dropdown": { - "vittamap": " Vittamap", - "blog": " Blog", - "gallery": " Galerie", - "about": " Over" - } - }, - "tooltips": { - "backToHome": " Ga terug naar de homepage", - "programming": " Coderen met Vittascience", - "resources": " Centrum voor leermiddelen", - "classroom": " Beheer uw klassen met Vittascience", - "hardware": " Ontdek onze kits en producten" - }, - "programming": " Programmering", - "classroom": " Klas", - "arduino": " Arduino", - "microbit": " Microbit", - "microbit-tutorials": " Microbit Handleidingen", - "ressources": " Middelen", - "accessibility": " Het thema en het lettertype van de site wijzigen", - "lang": " Taal veranderen", - "user_shortcuts": { - "welcome": " Welkom!", - "signup": " Aanmelden", - "login": " Verbind", - "hello": " Hallo", - "account": " Mijn rekening", - "disconnect": " Ontkoppelen", - "willSignup": " aanmelden", - "willSignin": " Inloggen" - } - } - }, - "newActivities": { - "create": " Een nieuwe activiteit creëren", - "delete": " Verwijder", - "addQuiz": " Een suggestie toevoegen", - "states": " Activiteitenverklaring *", - "cancel": " Annuleren", - "autocorrect": " Autocorrectie", - "contentTitle": " Inhoud van de activiteit", - "correction": " Activiteitscorrectie", - "tolerance1": " Voeg een fouttolerantie toe van", - "tolerance2": " teken(s) op het gehele antwoord van de leerling.", - "hint": " Hint *: weergegeven als het antwoord fout is", - "title": " Titel van de activiteit *", - "description": " Activiteit beschrijving *", - "content": " Activiteit inhoud *", - "addField": " Een antwoordveld toevoegen", - "addFieldTooltip": " Door op de knop Antwoordveld toevoegen te klikken, wordt een gestileerde tekst toegevoegd. In dit veld kunt u het juiste antwoord schrijven. Alternatieve antwoorden worden gescheiden door een dubbele ampersand &&.", - "ActivitiesData": { - "title": { - "reading": " Multimedia", - "free": " Open antwoord", - "quiz": " MCQS", - "fillIn": " In te vullen tekst", - "dragAndDrop": " Vul de lege tekst in" - }, - "description": { - "reading": " Multimediapagina (tekst, afbeeldingen, video's, PDF, Geniaal, ...)", - "free": " Open antwoord op een vraag", - "quiz": " Enkelvoudige of meerkeuzevragenlijst", - "fillIn": " Schriftelijk in te vullen tekst", - "dragAndDrop": " Tekst aan te vullen met etiketten." - } - } - }, - "courses": { - "addActivity": " Een activiteit toevoegen", - "addActivities": " Activiteiten toevoegen", - "createActivity": " Een activiteit creëren", - "searchActivity": " Een activiteit zoeken", - "placeholderTitle": " Titel van de activiteit", - "placeholderDescription": " Beschrijving van de activiteit", - "pagination": { - "create": " Creatie van de cursus", - "title": " Titel", - "parameters": " Parameters", - "attribution": " Naamsvermelding" - }, - "parameters": { - "title": " Cursus titel *", - "description": " Cursusbeschrijving *", - "difficulty": " Moeilijkheid *", - "difficultyLevel": { - "choose": " Kies een moeilijkheidsgraad", - "easy": " Gemakkelijk", - "medium": " Medium", - "advanced": " Geavanceerd", - "expert": " Expert" - }, - "duration": " Duur (minuten) *", - "license": " Gebruikerslicentie *", - "licenseType": { - "1": " Privé (alleen u kunt deze bron zien)", - "2": " Unreferenced (deelbare bron via link maar niet vindbaar op de pagina Resources)", - "3": " Publiek CC-BY-NC-SA (vrije, niet-commerciële en wijzigbare bron)", - "4": " Openbaar CC-BY-NC-ND (vrije, niet-commerciële en niet-wijzigbare bron)", - "choose": " Kies een licentie" - } - }, - "successfullyCreated": " Cursus succesvol gemaakt", - "attribution": " Course attribution ", - "return": " Return ", - "update": " De cursus bijwerken" - } + "classroom":{ + "login":{ + "noClass":" De ingevoerde code komt niet overeen met een klas.", + "countdown1":" De module klassenbeheer bevindt zich momenteel in de betafase. Als je deze wil uitproberen, neem dan contact op met het team van Vittascience.", + "countdown2":" Officiële release in", + "hello1":" \"Hallo!", + "hello2":" Hallo!", + "title":" Beheer je klassen
          met Vittascience", + "neutralTitle":" OpenSTEAM LMS", + "cabriTitle":" Cabri.com", + "subtitle":" Ontdekken - Leren - Delen", + "cabriSubtitle":" Het pad naar succes in wiskunde en wetenschap!", + "login":" Inloggen", + "activities":" je activiteiten gemakkelijk creëren", + "cabriActivities":" Stel oefeningen samen in enkele minuten", + "attribute":" deel ze met je leerlingen", + "cabriProgress":" Volg de vorderingen
          van je leerlingen", + "visualize":" hun resultaten visualiseren", + "cabriRessources":" Krijg toegang tot verschillende activiteiten en deel je creaties.", + "student":" Student", + "codeInput":" Voer je klascode in", + "teacher":" Leraar", + "hasAccount":" Heb je al een account?", + "gar":" Gebruik de klasmodule vlot met behulp van GAR.", + "signup":" AANMELDEN", + "firstVisit":" Eerste keer? Kies een gebruikersnaam.", + "signin":" Aanmelden", + "registerLink":" Een account aanmaken", + "hasReturned":" Terug naar deze klas?", + "forgot":" Ik ben mijn wachtwoord vergeten", + "error":{ + "used":" Deze gebruikersnaam is al in gebruik, kies een andere", + "badInput":" je gebruikersnaam of wachtwoord is verkeerd." + }, + "suscribe":{ + "title":" schrijf je in ", + "content":" De module klassenbeheer is gratis als proefversie beschikbaar. Geniet van alle functies met het Vittascience Premium-abonnement. Ontdek alle voordelen en details van het Vittascience Premium-aanbod via onderstaande knop.", + "premium":" Ontdek Vittascience Premium" + }, + "carousel":{ + "activities":{ + "title":" Eenvoudig je activiteiten creëren", + "content":" De activiteiteneditor maakt het gemakkelijk om instructie-inhoud te creëren door tekst, prachtige afbeeldingen, video's, Vittascience API's, geniale presentaties etc. op te nemen.

          Bekijk de gezamenlijke bronnenbank van Vittascience, die honderden gratis en herbruikbare activiteiten bevat. Als de auteur van een bron het toestaat, kan je zelfs wijzigingen aanbrengen om de inhoud aan te passen aan je leerlingen." + }, + "attribute":{ + "title":" Deel ze met je leerlingen", + "content":" Zodra je activiteiten zijn gemaakt, kun je ze delen met je leerlingen. Je kan ze individueel delen of met een klasgroep.

          De leerlingen kunnen veilig inloggen met een klascode, link, QR-code of GAR, en de gedeelde activiteiten afwerken." + }, + "visualize":{ + "title":" Hun resultaten visualiseren", + "content":" Met het dashboard kun je de vorderingen van de leerlingen volgen terwijl ze de activiteiten en cursussen doorlopen. Vind het werk van je leerlingen in één klik en geef feedback.

          Dankzij het automatische validatie-/correctiesysteem voor blokken en Python zie je automatisch de resultaten van je leerlingen. Ontdek snel leerlingen met problemen zodat je ze kan begeleiden." + } + }, + "register":{ + "title":" Registratie", + "description":" Vul de volgende velden in om je account aan te maken.", + "passwordConstraints":" Minimaal 8 karakters.", + "createButton":" Registreer" + } + }, + "register":{ + "accountConfirmationEmail":{ + "emailSubject":" Mijn account activeren", + "bodyTitle":" Mijn account activeren", + "textBeforeLink":" Als de bovenstaande knop niet werkt, kopieer en plak dan de volgende link in je browser:" + } + }, + "updateUserInfos":{ + "emailUpdateConfirmation":{ + "emailSubject":" Mijn nieuwe e-mailadres bevestigen", + "bodyTitle":" Mijn nieuwe e-mailadres bevestigen", + "textBeforeLink":" Als de bovenstaande knop niet werkt, kopieer en plak dan de volgende link in je browser:" + } + }, + "successPanel":" Goed gedaan! Het is je gelukt!", + "failPanel":" Het antwoord is niet juist.", + "toCorrectPanel":" De activiteit is doorgegeven aan je leraar,
          die binnenkort contact met je opneemt! ", + "bank":{ + "helpTooltip":" Het bronnencentrum bevat talrijke activiteiten die je vrij kan gebruiken! Je leraar heeft geen toegang tot je activiteitenresultaten" + }, + "help":{ + "student":{ + "label":" Neem contact op met je leraar", + "question":" Stel je vragen...", + "title":" Object" + }, + "teacher":{ + "label":" Neem contact op met je leraar" + } + }, + "profil":{ + "identity":" Voornaam Achternaam", + "class":" KLAS : ", + "todo":" Activiteiten nog te doen", + "done":" Uitgevoerde activiteiten", + "create":" Gecreëerde activiteiten", + "correctionToDo":" Aan te brengen verbeteringen", + "switchMode":" Overschakelen naar de leerlingenmodus", + "switchModeTeacher":" Terug naar de lerarenmodus", + "accountSettings":{ + "title":" Mijn account", + "firstname":" Voornaam", + "lastname":" Achternaam", + "nickname":" Gebruikersnaam", + "email":" E-mail", + "password":" Wachtwoord", + "confirmPassword":" Wachtwoord bevestigen", + "updateButton":" Update" + } + }, + "notif":{ + "emptyContent":" Dit vak voor de inhoud mag niet leeg zijn.", + "emptyTitle":" Het titelvak mag niet leeg zijn.", + "activityRestricted":" Je kan geen activiteiten van dit type meer maken.", + "shareProjectTeacher":" Het project wordt met je leraar gedeeld.", + "addActivities":" De geselecteerde activiteiten zijn aan je lijst toegevoegd.", + "addActivity":" De activiteit is aan je lijst toegevoegd.", + "saveProject":" Heb je eraan gedacht om je activiteit op te slaan?", + "savedProject":" Het ontwerp van je activiteit is opgeslagen.", + "deleteProject":" Het project is verwijderd.", + "shareProject":" Het project werd gedeeld.", + "corrections":" Een oefening werd in één van je klassen gemaakt.", + "deleteAccount":" Weet je zeker dat je het account van deze leerling wil verwijderen?", + "accountIsDelete":" Het account van de leerling is verwijderd", + "newPwd":" Het nieuwe leerling-wachtwoord {{pseudo}} is {{pwd}}", + "classCreatedButNotUsers":" De {{classroomName}} klas is aangemaakt, maar niet de bijbehorende accounts (Je account staat je niet toe om {{learnerNumber}} leerlingen te hebben)", + "classUpdatedButNotUsers":" De {{classroomName}} klas is bijgewerkt, maar niet de bijbehorende accounts (Met je account kun je geen {{learnerNumber}} leerlingen hebben)", + "usersNotAdded":" De leerling kon niet worden toegevoegd (Je account staat niet toe dat je {{learnerNumber}} leerlingen hebt)", + "cantLoginLimitLearners":" Je hebt geen toegang tot de klas. Je leraar heeft het maximum aantal leerlingen bereikt.", + "cantLoginClassroomBlocked":" Je hebt geen toegang tot de klas, want je leraar heeft ze gesloten.", + "classNotCreated":" Je kan niet meer dan één klas hebben.", + "attributeActivityUndone":" De activiteit is geschrapt.", + "pseudoUpdated":" De nieuwe gebruikersnaam van de leerling is {{newPseudo}}", + "classroomDeleted":" De klas {{classroomName}} is verwijderd.", + "classroomCreated":" De klas {{classroomName}} is aangemaakt, evenals alle bijbehorende accounts", + "classroomUpdated":" De klas {{classroomName}} is bijgewerkt, evenals alle bijbehorende accounts.", + "usersAdded":" De accounts zijn aangemaakt", + "usersAddedFromCsv":" De accounts werden aangemaakt volgens het csv-bestand", + "activityDeleted":" De {{activityName}} activiteit is verwijderd.", + "mustAttributeToStudent":" Je moet de activiteit delen met leerlingen", + "activityAttributed":" De activiteit {{activityTitle}} is met de geselecteerde cursisten gedeeld.", + "activityAttributionChanged":" De {{activityTitle}} opdracht is voor de geselecteerde leerlingen gewijzigd.", + "activityCreated":" De activiteit {{activityTitle}} is aangemaakt", + "activityChanged":" De {{activityTitle}} activiteit is gewijzigd", + "activityTitleMissing":" Je moet de titel van de activiteit invullen", + "activityPlayerMissing":" Je moet de URL van de speler invullen", + "CsvFileMissing":" Je hebt geen csv-bestand gekozen", + "errorWithCsv":" Fout bij het openen van csv-bestand : {{error}}", + "cantGetPassword":" Fout, je kan je wachtwoord niet zien.", + "cantResetPassword":" Fout, je kan je wachtwoord niet resetten", + "accountUpdated":" Je account is bijgewerkt", + "emailUpdated":" Ga naar de bevestigingslink die zojuist is verstuurd naar je e-mailadres om de update te voltooien.", + "firstNameTooShort":" De voornaam moet uit ten minste 2 tekens bestaan.", + "lastNameTooShort":" De achternaam moet uit ten minste 2 tekens bestaan.", + "pseudoTooShort":" De profielnaam moet uit ten minste 2 tekens bestaan.", + "invalidEmail":" Dit e-mailadres is ongeldig.", + "invalidPassword":" Dit wachtwoord is ongeldig. Het moet minstens uit 8 tekens bestaan.", + "passwordAndConfirmMismatch":" Het wachtwoord en de herhaling zijn niet identiek!", + "unknownUser":" Fout bij het bijwerken van het account: het account bestaat niet!", + "passwordInvalid":" Het wachtwoord voldoet niet aan de minimum vereisten", + "emailInvalid":" Dit e-mailadres is ongeldig", + "emailExists":" Dit e-mailadres is reeds toegewezen aan een ander account", + "UserNotExists":" Fout bij het laden/resetten van je wachtwoord: foutieve gebruikersnaam!", + "RegularUserNotAllowed":" Fout bij het laden / resetten van je wachtwoord: alleen leerlingen kunnen hun wachtwoord zien / resetten!", + "PasswordLengthInvalid":" Kan wachtwoord niet herstellen: foutief wachtwoord!", + "accountCreated":" Het account is aangemaakt. Ga naar de bevestigingslink die je zojuist per e-mail hebt ontvangen om de registratie af te ronden en in te loggen.", + "firstnameMissing":"Vul je voornaam in.", + "surnameMissing":" Vul je achternaam in.", + "pseudoMissing":" Verander je gebruikersnaam.", + "emailMissing":" Vul je e-mailadres in.", + "passwordMissing":" Geef je wachtwoord in.", + "passwordConfirmMissing":" Bevestig je wachtwoord.", + "passwordsMismatch":" Wachtwoord en herhaling zijn niet identiek", + "invalidUserId":" Fout bij het verzenden van het bericht: je login is ongeldig", + "helpRequestFromTeacherSent":" Je bericht is verzonden. We antwoorden je zo snel mogelijk.", + "subjectMissingTeacherHelpForm":" Vul het onderwerp in.", + "messageMissingTeacherHelpForm":" Voer je bericht in.", + "invalidUserIdTeacherHelpForm":" Fout bij het verzenden van het bericht: je login is ongeldig.", + "unknownUserTeacherHelpForm":" Fout bij het versturen van het bericht: je login komt niet overeen met een lerarenaccount.", + "helpRequestFromLearnerSent":" Je bericht is verzonden naar je leraar.", + "subjectMissingLearnerHelpForm":" Vul het onderwerp van het bericht in.", + "messageMissingLearnerHelpForm":" Typ je bericht.", + "invalidUserIdLearnerHelpForm":" Fout bij het verzenden van het bericht: je login is ongeldig.", + "unknownUserLearnerHelpForm":" Fout bij het verzenden van het bericht: je gebruikersnaam is onbekend.", + "unknownEmailLearnerHelpForm":" Fout bij het verzenden van het bericht: het e-mailadres van je leraar is onbekend.", + "activityTitleInvalid":" Activiteit kon niet worden aangemaakt: ongeldige titel.", + "activityContentInvalid":" Activiteit kon niet worden aangemaakt: ongeldige inhoud.", + "activityIsFromClassroomInvalid":" Activiteit kon niet worden aangemaakt: contextfout.", + "activityUserIdInvalid":" Activiteit kon niet worden aangemaakt: ongeldige gebruiker.", + "personalLimitationsReached":" Je hebt je maximum aantal studenten bereikt. ({{max}} max)", + "groupLimitationsGroup":" Je kan geen leerlingen meer toevoegen aan deze groep.", + "groupLimitationsTeacher":" Je kan geen leerlingen meer toevoegen aan je groep.", + "bothLimitationsReached":" Je hebt het maximum aantal leerlingen bereikt voor jou en je groep. ({{maxG}} groep max, {{maxP}} persoonlijk max)", + "ClassroomNameInvalid":" De naam van de klas is verplicht", + "reservedNickname":" De naam : \"{{reservedNickname}}\" kan niet worden opgeslagen.", + "invalidLink":" De link is niet geldig.", + "noUser":" Je moet een leerling toevoegen.", + "noUserUsername":" Je moet een gebruikersnaam invoeren.", + "pseudoMissingInCsvFile":" Sommige studenten konden niet worden toegevoegd omdat hun gebruikersnaam ontbrak.", + "backendReplyPseudoMissingInCsv":" Controleer het csv-bestand: er is een lege regel of de gebruikersnaam ontbreekt", + "backendReplyPseudoMissingInUsersArray":" Er zijn een of meerdere fouten in de naam van de student(en)", + "invalidActivityId":" Fout bij het indienen: ongeldige activiteitsnaam!", + "invalidCorrection":" Fout bij het indienen: ongeldige activiteitsstatus!", + "generalBackendError":" Er is een fout opgetreden, probeer het later nog eens.", + "currentPasswordDoesNotMatch":" Het wachtwoord is niet correct!", + "noAnswerInActivity":" Je moet ten minste één antwoordveld hebben.", + "courseMissingData":" Je moet een titel en een beschrijving invoeren.", + "courseMissingParameters":" Je moet de parameters voor de cursus instellen." + }, + "ids":{ + "classroom-dashboard-help-panel-teacher":" Help", + "classroom-dashboard-activities-panel-teacher":" Mijn activiteiten", + "classroom-dashboard-classes-panel-teacher":" Klassen", + "classroom-dashboard-sandbox-panel":" Sandbox", + "classroom-dashboard-ressources":" Toepassingen", + "classroom-dashboard-profil-panel-teacher":" Profiel", + "classroom-dashboard-activities-panel":" Mijn activiteiten", + "classroom-dashboard-profil-panel":" Profiel", + "classroom-dashboard-help-panel":" Help", + "classroom-dashboard-activities-panel-library-teacher":" Bronnenbank", + "classroom-dashboard-new-activity-panel":" Creatie van de activiteit", + "classroom-dashboard-new-activity-panel2":" Intermediair", + "classroom-dashboard-new-activity-panel3":" Delen", + "classroom-table-panel-teacher":" Klas {{naam}}", + "classroom-dashboard-sandbox-creation":" Selectie van de interface", + "classroom-dashboard-ide-panel":" Sandbox {{interface}}", + "classroom-dashboard-activity-panel":" Activiteit {{naam}}" + }, + "displayCode":" De code weergeven", + "navbar":{ + "activities":" Activiteiten" + }, + "classes":{ + "add":" Een klas toevoegen", + "noClasses":" Je hebt nog geen klas.", + "createClassNow":" Begin nu met het maken van een klas!", + "form":{ + "title":" Een klas maken", + "updateTitle":" Update de klas", + "name":" Naam van de klas", + "school":" Naam van de instelling", + "addStudent":" Een leerling toevoegen", + "noStudent":" Nog geen leerlingen in deze klas", + "isBlockedButton":" Beperkt tot deze leerlingen: niemand anders zal aan de klas kunnen deelnemen.", + "save":" De klas opslaan", + "return":" Terug naar de klas" + }, + "panel":{ + "seeActivity":" Open de activiteit", + "editActivity":" De activiteit bewerken", + "editAttribution":" De bron bewerken", + "removeAttribution":" De bron verwijderen", + "password":" Je wachtwoord:", + "resetPassword":" Wachtwoord opnieuw instellen", + "editNickname":" Wijzig je gebruikersnaam", + "delete":" Verwijderen", + "copyLink":" Kopieer de directe link", + "learnerMode":" Leerlingenmodus", + "dueBy":" De deadline is: ", + "timePassed":" De deadline is verstreken:" + }, + "copyDirectLink":" Kopieer de directe link", + "selectStudents":" Selecteer leerlingen", + "selectedStudents":" 0 geselecteerde leerlingen", + "activationLink":" Link geactiveerd", + "activationLinkDisabled":" Link uitgeschakeld", + "fullscreen":" Bekijk in volledig scherm", + "deleteStudent":" Verwijder dit profiel", + "deleteStudentConfirm":" Wil je dit profiel echt verwijderen?" + }, + "activities":{ + "title":" Activiteiten", + "save":" Het ontwerp opslaan", + "add":" Een activiteit toevoegen", + "addCabriExpress":" Express-activiteit creëren", + "addCabriGenius":" Slimme activiteit creëren", + "addOther":" Andere soort activiteit", + "new":" Nieuw", + "current":" In afwachting van verbetering", + "waiting":" Nog niet voltooid", + "done":" Voltooid", + "todo":" Te verbeteren", + "draft":" Ontwerp", + "anonymise":" Maak je studentenlijst anoniem, zodat je het dashboard aan je studenten kan tonen.", + "save-draft":" Opslaan als ontwerp", + "validate":" De activiteit goedkeuren", + "accept":" Zeer goed ", + "vgood":" Goed ", + "good":" Voldoende ", + "refuse":" Onvoldoende ", + "nnoted":" Niet verbeterd", + "instruction":" Instructie", + "commentary":" Feedback", + "sendResults":" Stuur feedback naar de leerling", + "noSend":" Deze activiteit is niet gemaakt", + "toSend":" Activiteit klaar tegen", + "isAutocorrected":" Deze oefening werd automatisch verbeterd. Je kan de score hieronder wijzigen.", + "isAutocorrect":" Deze activiteit wordt automatisch verbeterd.", + "timePassed":" Je kan niet langer indienen:", + "activitySubmited2":" Activiteit ingediend op", + "sentOn":"Deze activiteit werd teruggegeven", + "activityOfUser":" Activiteit van", + "userSentOn":" verzonden op", + "yourAnswer":" je antwoord", + "studentAnswer":" Antwoord van de leerling", + "return":" Terug naar de activiteiten", + "comments":"Schrijf je feedback hier.", + "numberOfTries":" Aantal pogingen:", + "bilan":{ + "title":" Puntenlijst", + "results":" Resultaten", + "noComment":" Nog geen feedback" + }, + "applist":{ + "selectApp":" Selecteer de toepassing waarmee je een activiteit wil creëren." + }, + "form":{ + "1":" Toepassing", + "2":" Inhoud", + "3":" Titel", + "4":" Bronvermelding", + "title":{ + "label":" Titel van de activiteit", + "labelCabri":" Wat is de titel van de activiteit?", + "placeholder":" Titel van het spel", + "placeholderCabri":" Titel van de activiteit" + }, + "iframe":{ + "label":" Wat is de toegangs-URL?", + "placeholder":" Voer een URL in" + }, + "notebookUpdateMessage":" Wijzig dit gedeelte niet als je het oude activiteitenboek wil behouden!", + "notebookUrl":{ + "label":" Een URL voor het activiteitenboek toevoegen", + "placeholder":" activiteitenboek-URL" + }, + "playerUrl":{ + "label":" Een speler-URL toevoegen", + "placeholder":" Speler-URL" + }, + "player":{ + "labelFileChooser":" Kies een bestand", + "fileUpload":" Het bestand is succesvol geüpload", + "dragDrop":" Slepen en neerzetten" + }, + "nextButton":" Volgende", + "endButton":" Afwerking", + "content":{ + "label":" Inhoud van de activiteit" + }, + "back":" Terug", + "validate":" Goedkeuren", + "buttonContinue":" Opslaan en doorgaan", + "button":" Opslaan en goedkeuren", + "success":" Gefeliciteerd! Je hebt een activiteit gecreëerd!", + "attribute":" Deel de activiteit nu", + "attribute2":" Deel de activiteit", + "return":" Terug naar mijn activiteiten", + "hint":" Je kan deze activiteit later delen vanaf je dashboard.", + "modify":" De activiteit wijzigen", + "select1":" Selecteer de leerlingen", + "select2":" geselecteerd.", + "instructions":" Specifieke instructies voor deze leerlingen", + "autocorrect":" Deze activiteit heeft autocorrectie. Wil je die activeren?", + "nature":" Kan de leerling de activiteit meer dan eens maken?", + "dateBegin":" Startdatum:", + "dateEnd":" Einddatum :", + "retroAttribution":" Deze activiteit zal voor elke nieuwe student worden toegevoegd." + }, + "toCopy":" Met deze code krijg je gemakkelijk toegang tot je klas", + "qrCode":" Scan de QR-code:", + "copyLink":" De link naar je klas is aan het klembord toegevoegd", + "dateBefore":" Terugsturen voor", + "dateBeforeAvailable":" Beschikbaar tot", + "integrate":" Integreren in een activiteit", + "veryGoodProficiency":" Zeer goed", + "goodProficiency":" Goed ", + "weakProficiency":" Voldoende", + "insufficientProficiency":" Onvoldoende ", + "noProficiency":" Niet verbeterd", + "addLearner":" Een leerling toevoegen", + "addLearners":" Leerlingen toevoegen", + "addActivity":" Een activiteit toevoegen", + "exportCsv":" Exporteer csv", + "players":{ + "STANDARD":{ + "title":" Standaard", + "description":" Met de standaardspeler kan je alle activiteitenboeken lezen die met de Cabri-auteurstool zijn gemaakt." + }, + "IMUSCICA":{ + "title":" iMuSciCA", + "description":" De iMuSciCA-speler maakt het mogelijk om in de muziekstudio alle activiteiten te spelen die met de Cabri-auteurstool zijn gemaakt." + }, + "IFRAME":{ + "title":" Overige", + "description":" Kies uit een selectie van tools om met de Cabri-auteurstool te gebruiken." + }, + "EXPRESS":{ + "title":" Express", + "description":" Dynamisch wiskunde-instrument" + }, + "GENIUS":{ + "title":" Smart", + "description":" Automatisch beoordelingsinstrument voor wiskunde" + }, + "IFRAME-CABRI3D":{ + "title":" Cabri 3D", + "description":" Maak een dynamische verkenning van de ruimtegeometrie." + }, + "LTI-BLOCKLY":{ + "title":" Cabri Blockly", + "description":" Voeg gebruikersacties toe aan een Cabri activiteit, zoals animaties, sloten,... visueel geprogrammeerd in dezelfde geest als met Scratch of Snap !" + } + }, + "tabs":{ + "players":" Activiteitenboek", + "iframes":" Video en webpagina" + }, + "iframes":{ + "IFRAME-VIDEO":{ + "title":" Video", + "description":" Voer de URL in van een video die op een hostingplatform is gepubliceerd." + }, + "IFRAME-PAGE":{ + "title":" Webpagina", + "description":" Voer de URL van de webpagina in." + } + }, + "month":{ + "1":" januari", + "2":" februari", + "3":" maart", + "4":" april", + "5":" mei", + "6":" juni", + "7":" juli", + "8":" augustus", + "9":" september", + "10":" oktober", + "11":" november", + "12":" december" + }, + "preview":" Voorbeeld", + "previewTeacherResult":" De leerling zou het volgende resultaat hebben gekregen:", + "studentResult":" Verkregen resultaat:", + "deleteActivityDisclaimer":" Je staat op het punt een activiteit te verwijderen. Deze actie is onomkeerbaar.", + "deleteConfirm":" De verwijdering van de activiteit bevestigen", + "deleteActivity":" De activiteit verwijderen", + "correctAnswer":" Correct antwoord", + "nbActivities":" {{ nbActi }} Activiteiten

          ", + "moveToFolder":" Ga naar", + "rootFolder":" Hoofdmap", + "seekFolder":" Ga naar de map", + "foldersMessages":{ + "errorDelete":" Er is een fout opgetreden bij het verwijderen van de map", + "errorCreate":" Er is een fout opgetreden bij het aanmaken van het bestand", + "errorLenght":" De mapnaam moet tussen 1 en 30 tekens bevatten", + "errorUpdate":" Er is een fout opgetreden tijdens het bewerken van het bestand", + "errorMoveTo":" Er is een fout opgetreden bij het verplaatsen van het object", + "movedTo":" Object succesvol verplaatst", + "created":" Succesvol aangemaakt bestand", + "updated":" Succesvol gewijzigd bestand", + "deleted":" Bestand succesvol verwijderd", + "createFolder":" Een map aanmaken", + "deleteFolder":" Bevestig de verwijdering van het bestand", + "updateFolder":" Wijzig het bestand", + "nameMandatory":" Mapnaam *", + "deleteDisclaimer":" Let op: de map en al zijn inhoud (activiteiten en submappen) worden verwijderd." + }, + "facultative":" Optionele velden", + "previewActivity":" Voorbeeld van de activiteit", + "infoRetroAttribution":" Deze activiteit wordt met nieuwe leerlingen gedeeld wanneer zij aan je klas worden toegevoegd.", + "infoAutocorrect":" Deze activiteit heeft automatische correctie", + "infoEvaluation":" In de toetsmodus kunnen leerlingen de activiteit slechts eenmaal indienen en hebben ze geen toegang tot hints en aanwijzingen." + }, + "filter":{ + "desc":" Van de minst recente naar de meest recente", + "asc":" Van de meest recente naar minst recente", + "cabriExpress":" Express activiteiten", + "cabriGenius":" Smart activiteiten", + "cabriVittascience":" Vittascience activiteiten", + "iframe":" Overige activiteiten", + "placeholder":" Zoek naar..." + }, + "sandbox":{ + "mine":" Mijn projecten", + "shared":" Gedeelde projecten", + "add":" Maak een programma", + "chooseInterface":" Selecteer de interface waarin je een programma wil maken:", + "teacherSharedDescription":" Vind hier de programma's gedeeld door je leerlingen.", + "studentSharedDescription":" Vind hier de programma's gedeeld door je leraar." + }, + "footer":{ + "privacy":" Privacybeleid", + "legal":" Juridische informatie", + "cgu":" Gebruiksvoorwaarden", + "copyright":" " + }, + "teacherHelpPanel":{ + "contactForm":{ + "title":" Contacteer ons", + "objectPlaceholder":" Object", + "messagePlaceholder":" Schrijf hier je bericht. (Maximaal 800 tekens)", + "sendButton":" Stuur het bericht", + "fillInAllTheFields":" Vul alle velden in" + } + }, + "sandBoxCreationPanel":{ + "title":" Selecteer de interface waarin je een programma wil maken.", + "knowMoreButton":" Meer informatie over interfaces", + "interfacesDescription":{ + "arduino":" Programmeerinterface voor het Arduino-board", + "microbit":" Programmeerinterface voor het Micro:bit-board", + "python":" Programmeerinterface voor Python 3 voor het onderwijs", + "texas-instruments":" Programmeerinterface voor rekenmachine met het micro:bit-board", + "esp32":" Programmeerinterface voor de ESP32-boards (Wemos D1R32, NodeMCU, Huzzah32...)", + "quickpi":" Programmeerinterface voor het Quick-Piboard" + } + }, + "modals":{ + "addLtiActivityName":" Wat is de titel van de activiteit?", + "addActivity":{ + "title":" Een activiteit toevoegen", + "resourceBank":{ + "title":" Bekijk de gezamenlijke bronnenbank", + "button":" Bronnenbank" + }, + "orSeparator":" OF", + "attributeActivity":{ + "title":" Mijn bestaande activiteiten bekijken", + "button":" Mijn activiteiten" + }, + "shareProject":{ + "title":" Deel het project" + }, + "createActivity":{ + "title":" Een nieuwe activiteit creëren", + "button":" Een activiteit creëren" + }, + "next":" Volgende", + "limitTitle":" Limiet overschreden", + "limitDescription":" De limiet van het aantal activiteiten die aan dit account gekoppeld zijn, is bereikt.", + "upgradePlan":" Limiet verhogen" + }, + "updateActivity":{ + "title":" Een activiteit bijwerken" + }, + "deleteActivity":{ + "title":" Activiteit verwijderen", + "description":" Weet je zeker dat je de activiteit wil verwijderen?", + "confirm":" Bevestig", + "cancel":" Annuleren" + }, + "settingsTeacher":{ + "title":" Accountinstellingen", + "lang":" Taal", + "description":" Wijzig hier je wachtwoord of andere accountinstellingen", + "accessButton":" Ga naar je profiel", + "password":" Wachtwoord", + "passwordDescription":" Dit is je wachtwoord. Onthoud het, want alleen je leraar kan het je teruggeven.", + "resetPassword":" Reset" + }, + "addStudent":{ + "title":" Studenten toevoegen", + "pseudo":" Gebruikersnaam", + "addStudentButton":" Leerling toevoegen", + "addStudentByCsvButton":" Een leerlingbestand toevoegen (.csv)" + }, + "addStudentByCsv":{ + "title":" Studenten toevoegen met een .csv-bestand", + "description":" Je kan een of meer deelnemers tegelijk toevoegen door ze te importeren uit een .csv-bestand. Het is optioneel om voor elk van hen een wachtwoord in te stellen. Hier zijn de voorbeeld .csv-bestanden:", + "descriptionUpdate":" Je kan een of meer deelnemers tegelijk toevoegen door ze te importeren uit een .csv-bestand. Kijk uit Hier worden de wachtwoorden in het .csv-bestand niet ondersteund! Hier is het voorbeeld .csv-bestand:", + "csvTemplate":" sjabloon met wachtwoord", + "csvTemplateNoPassword":" sjabloon zonder wachtwoord", + "importStudentByCsvButton":" Leerlingen importeren", + "fileChooser":" Kies een bestand", + "fileName":" Geen bestanden gekozen" + }, + "exportCsv":{ + "title":" Exporteren in .csv-formaat", + "exportLearnersDescription":" Download de lijst met deelnemers en hun wachtwoorden. Het gedownloade bestand is in .csv-formaat.", + "exportLearners":" Download de lijst van deelnemers", + "exportDashboardDescription":" Download de lijst van leerlingen met hun toegewezen activiteiten en de status hiervan (nog niet gemaakt, te verbeteren, voltooid). Het gedownloade bestand is in .csv-formaat.", + "exportDashboard":" Download het dashboard" + }, + "listClass":{ + "title":" Overschakelen naar de leerlingenmodus", + "description":" Je kan de interface gemakkelijk testen als leerling. Je kan op elk moment terugkeren naar je lerarenprofiel. Je vorderingen als leerling worden opgeslagen in je demoleerlingenaccount.", + "switchButton":" Overschakelen naar de leerlingmodus", + "noClass":" Je moet eerst een klas maken om deze functie te gebruiken" + }, + "changePseudo":{ + "title":" Gebruikersnaam wijzigen", + "description":" Gebruikersnaam wijzigen", + "validateButton":" Bevestigen" + }, + "attributeActivity":{ + "title":" Activiteit delen" + }, + "shareProject":{ + "title":" Project delen" + }, + "profileUpdatePasswordConfirm":{ + "title":" Bevestiging van het wachtwoord", + "description":" Voer je huidige wachtwoord in om je profielwijzigingen te bevestigen!", + "placeholderInput":" Wachtwoord", + "validateButton":" Bevestigen" + } + }, + "folders":{ + "folderManagement":" Bestandsbeheer", + "name":" Mapnaam *", + "title":" Map", + "image":" Coverafbeelding" + } + }, + "login_popup":{ + "title":" Inloggen", + "details":" Voer je inloggegevens in om toegang te krijgen tot je account.", + "form":{ + "addressmail":" E-mailadres", + "addressmail_placeholder":" exemple@domaine.com", + "password":" Wachtwoord", + "password_placeholder":" Je wachtwoord.", + "forgot_password":" Ik ben mijn wachtwoord vergeten.", + "btn_connect":" Inloggen" + }, + "success":" De authenticatie was succesvol. Je wordt aangemeld...", + "error":" Fout. Controleer je inloggegevens.", + "mailSuccess":" Er is een activeringsmail naar je e-mailadres gestuurd.", + "mailError":" Er is een fout opgetreden. Controleer je e-mailadres.", + "userNotFound":" Geen gebruiker gevonden bij deze mail.", + "inactiveAccount":" Je account is niet actief. Klik op de knop hieronder om een nieuwe activeringsemail te sturen.", + "accountDeactivated":" Je account is gedeactiveerd. Neem contact op met een beheerder als het probleem aanhoudt.", + "errorBeta":" Je moet een beta-tester zijn om toegang te krijgen tot deze functie. Contacteer het Vittascience team voor meer informatie." + }, + "signup-popup":{ + "title":" Registratie", + "notice":" Vul de volgende velden in om je Vittascience-account aan te maken.", + "firstName":" Voornaam", + "lastName":" Achternaam", + "mail":" E-mailadres", + "telephone":" Telefoon", + "password":" Wachtwoord", + "passwordConfirmed":" Herhaling", + "firstNamePlaceholder":" Je voornaam.", + "lastNamePlaceholder":" Je achternaam.", + "mailPlaceholder":" Je krijgt een bevestigingsmail.", + "telephonePlaceholder":" Je telefoonnummer (facultatief).", + "passwordPlaceholder":" Minimaal 8 tekens: hoofdletters, kleine letters en cijfers.", + "passwordConfirmedPlaceholder":" Herhaal je wachtwoord een tweede keer.", + "mandatory":" Velden gemarkeerd met een * zijn verplicht.", + "submit":" Bevestig", + "back":" Terug", + "title2nd":" Geef wat meer informatie", + "areYou":" Ben je...", + "member":" Een individu?", + "teacher":" Een leraar?", + "teacher-grade":" Niveau van de opleiding", + "grades":{ + "primary":" Lagere school", + "middle":" Middelbaar onderwijs 1e graad", + "high":" Middelbaar onderwijs 2e-3e graad", + "highbis":" Hogeschool", + "higher":" Universiteit" + }, + "establishement":" Instelling", + "establishementPlaceholder":" Zoek op schoolnaam of stad.", + "subject":" Onderwerp ", + "bio":" Korte biografie", + "bioPlaceholder":" Vertel een beetje over jezelf zodat andere gebruikers van de site iets meer over je achtergrond weten :) Maximaal 800 tekens.", + "profilPicture":" Profielfoto (optioneel)", + "allowPictures":" Geaccepteerde formaten: jpeg, jpg, png. Max. 10Mb", + "allowPublicName":" Aanvaard je dat je naam en achternaam publiek zijn?", + "allowNewsletter":" Wil je onze nieuwsbrief per e-mail ontvangen?", + "allowAlertMessage":" Wil je een e-mail krijgen bij nieuwe berichten op de site?", + "allowMessageReceive":" Wil je door andere gebruikers gecontacteerd worden?", + "eighteenConfirm":" Ik bevestig dat ik ouder ben dan 18 jaar (artikel 1124 van het burgerlijk wetboek)", + "confirmCGU":" Door dit vakje aan te vinken, ga je akkoord met de Voorwaarden.", + "concernedAboutPrivacy":" Vittascience hecht veel belang aan de veiligheid en vertrouwelijkheid van de persoonsgegevens van haar gebruikers. Ontdek onze bescherming van persoonsgegevens", + "errors":{ + "mailUsed":" De mail {{ mail }} is al in gebruik. Kies een andere.", + "mailUsedServer":" Het opgegeven e-mailadres bestaat reeds.", + "lastName":" De opgegeven achternaam is onjuist.", + "firstName":" De opgegeven voornaam is onjuist.", + "mailInvalid":" Het e-mailadres is ongeldig.", + "passwordInvalid":" Het wachtwoord voldoet niet aan de regels.", + "biographyInvalid":" De biografie is onjuist.", + "telephoneInvalid":" Het telefoonnummer is onjuist.", + "profilPictureInvalid":" De profielfoto voldoet niet aan het aangegeven formaat.", + "establishementIncorrect":" De instellingsnaam is onjuist.", + "gradeIncorrect":" Het niveau van het onderwijs is onjuist.", + "subjectIncorrect":" De naam van het onderwezen onderwerp is onjuist." + }, + "success":{ + "main":" Je registratie is succesvol! Een bevestigingslink is gestuurd naar {mail }}.", + "notice":" Je moet deze link openen voor je kan inloggen. Als je de activeringsmail niet kan vinden, controleer dan je spamfolder." + } + }, + "switchAccessibility":{ + "title":" Toegankelijkheid", + "theme":" Thema", + "light_theme":" Licht thema", + "dark_theme":" Donker thema", + "font":" Police", + "basic_font":" Basic", + "know_more":" Lees meer" + }, + "words":{ + "send":" stuur", + "settings":" parameters", + "disconnect":" afmelden", + "help":" help", + "duplicate":" kopieer", + "delete":" verwijder", + "attribute":" delen", + "modify":" bewerk", + "optional":" optioneel", + "evaluation":" verbetering", + "exercise":" oefening", + "return":" terug", + "anonymize":" anoniem maken", + "monochrome":" Monochrome modus", + "days":" dagen", + "hours":" uren", + "minutes":" minuten", + "seconds":" seconden", + "confirm":" bevestig", + "username":" gebruikersnaam", + "password":" wachtwoord", + "yes":" Ja", + "no":" Neen" + }, + "faqTeacherNeutral":{ + "title":"FAQ", + "1":{ + "section_title":" Activiteiten", + "question_list":{ + "1":{ + "title":" Wat is het doel van het tabblad Mijn activiteiten?", + "answer":" In het tabblad Mijn activiteiten kan je:
          1. Je eigen activiteiten aanmaken.
          2. De activiteit met je leerlingen delen!
          ." + }, + "2":{ + "title":" Wat is een activiteit?", + "answer":" Een activiteit is interactieve inhoud die wordt gecreëerd vanuit Cabri Express, Cabri Smart of een bestaande Cabri-activiteitenboek." + }, + "3":{ + "title":" Hoe een activiteit creëren of wijzigen?", + "answer":"

          Je kan gemakkelijk activiteiten aanmaken of bewerken.

          Om een activiteit te bewerken, ga je naar het tabblad Mijn activiteiten en klik je op het pictogram van je activiteit en klik je vervolgens op Bewerken. Vergeet niet je wijzigingen op te slaan.

          " + }, + "4":{ + "title":" Hoe deel ik een activiteit?", + "answer":" Om een activiteit te delen, heb je drie opties:
          1. Ofwel ga je naar het tabblad Mijn activiteiten en klik je op het pictogram van je activiteit en klik je vervolgens op Delen.
          2. Je kan ze zo ook delen als je de activiteit geopend hebt.
          3. Ten derde kan je je naar het tabblad Klassen gaan en klik je op een klas. In het dashboard van de klas klik je op de knop \"Activiteit toevoegen\"." + }, + "5":{ + "title":" Hoe test je een activiteit?", + "answer":" Om een activiteit te testen heb je twee opties:
            1. Ofwel ga je naar Profiel en klik je op de knop \"Overschakelen naar de Leerlingenmodus\" en selecteer je vervolgens de klas waarin je wil zitten. Je bevindt je dan in een fictief account van een leerling: \"demostudent\". Je kan de interface \"Learner\" ontdekken en de toegewezen activiteiten uitvoeren.
            2. Ofwel ga je naar Klassen in het dashboard van een klas en kan je zo in de huid kruipen van de leerling-demostudent. Klik hiervoor op het pictogram, zo word je leerling in de klas en kan je de activiteiten uitproberen.
            Om terug te keren naar de \"Leerkrachten\"-modus, ga je naar het tabblad Profiel van de demostudent en klik je op \"Terug naar de Leerkrachtenmodus.\"." + }, + "6":{ + "title":" Hoe stop je met het delen van een activiteit zonder de activiteit te verwijderen?", + "answer":" Om het delen te stoppen, ga je naar het tabblad Klas, open je het dashboard voor één van de klassen, klik je op de activiteit (Het pictogram wordt als je er met de muis overheen gaat.) en vervolgens op Opdracht bewerken. Wijzig nu de instellingen en (de)selecteer de deelnemers." + } + } + }, + "2":{ + "section_title":" Klas", + "question_list":{ + "1":{ + "title":" Wat is het doel van het tabblad Klassen?", + "answer":" In het tabblad Klassen kan je:
            1. eigen klassen maken en leerlingen toevoegen
            2. de reacties van je leerlingen op activiteiten corrigeren
            3. hun vorderingen bijhouden.
            ." + }, + "2":{ + "title":" Hoe voeg ik mijn leerlingen toe aan mijn klas?", + "answer":" Je hebt verschillende opties:
            1. in de klas kun je de code projecteren op het bord. Ga hiervoor naar je klas en klik op de knop om de onderstaande code te vergroten:
              Je leerlingen hoeven zich alleen maar te registreren of in te loggen op de site door de code in te voeren. Ze kunnen deze code ook opschrijven om thuis in te loggen.
            2. je kan ook leerlingen aanmaken met de knop \"Leerling toevoegen\" en ze dan hun wachtwoord individueel toezenden. Dit is zichtbaar op het Dashboard van de klas :
            " + }, + "3":{ + "title":" Kan een leerling in twee verschillende klassen zitten?", + "answer":" Nee, dit is momenteel niet mogelijk." + }, + "4":{ + "title":" Hoe beperk je de toegang voor andere leerlingen tot een klas?", + "answer":" Deze optie is binnenkort beschikbaar! Dit voorkomt dat leerlingen zonder toestemming toegang krijgten tot de klas en dat leerlingen zich per ongeluk meerdere keren voor dezelfde klas inschrijven." + }, + "5":{ + "title":" Hoe deel ik een activiteit?", + "answer":"

            Je kan een activiteit delen met alle klassen die je hebt gemaakt of alleen met een specifieke leerling.

            Om een activiteit te delen, heb je drie opties:

            1. Ofwel ga je naar het tabblad Mijn activiteiten en klik je op het pictogram van je activiteit. Klik vervolgens op 'Delen'.
            2. De optie 'Delen' is ook beschikbaar in de activiteit zodra deze is geopend.
            3. Ofwel ga je naar het tabblad Klassen en klik je op een klas. In het dashboard van de klas klik je op de knop \"Activiteit toevoegen\"." + }, + "6":{ + "title":" Kan je stoppen met het delen van een activiteit?", + "answer":" Om te stoppen met het delen van een activiteit, ga je naar het tabblad Klas, open je het dashboard voor een van de klassen, klik je op de activiteit (het pictogram wordt als je er met de muis overgaat) en klik je vervolgens op Opdracht bewerken. Je hoeft nu alleen nog maar de instellingen te wijzigen en deelnemers te (de)selecteren." + }, + "7":{ + "title":" Hoe worden de activiteiten geëvalueerd?", + "answer":" Je kan de beoordelingen zelf:
              • instellen op 4 niveaus: Zeer goed; Goed; Voldoende en Onvoldoende
              • Of automatisch op 2 niveaus: 'Zeer goed' en 'Voldoende'.
                Dit type beoordeling zorgt ervoor dat de oefening onmiddellijk gecorrigeerd wordt en de docent veel tijd bespaart.

              Als de leerling zijn activiteit heeft voltooid, kan hij deze opnieuw maken als de docent bij het delen de modus \"Oefenen\" heeft geselecteerd. In de modus \"Toetsmodus\" kan de leerling niet meer opnieuw beginnen zodra de activiteit is ingediend.

              Om de resultaten te bekijken, ga je naar het Dashboard van de klas.

              Een niet-verbeterde activiteit wordt aangeduid met een potlood in het Dashboard. Om deze te verbeteren klik je op het potlood waarna je het werk ook van feedback kan voorzien.

              " + }, + "8":{ + "title":" Hoe weet je wanneer leerlingen hun activiteiten hebben voltooid?", + "answer":" Wanneer een leerling zijn activiteit heeft voltooid, ontvang je een e-mail.
              Deze instelling zal je in de toekomst kunnen wijzigen, voorlopig is dit niet instelbaar." + }, + "9":{ + "title":" Hoe verander je de naam van een klas?", + "answer":" Om de naam van je klas te veranderen, moet je klikken op het icoontje van het tabblad Klassen en daarna op bewerken. Je hoeft dan alleen de naam te veranderen." + }, + "10":{ + "title":" Hoe verwijder je een leerling uit een klas?", + "answer":"

              Om een leerling te verwijderen, klik je gewoon op het pictogram naast de naam van de leerling in het Klasdashboard.

              Let op: deze actie is onomkeerbaar en sluit het account van de leerling af.

              " + }, + "11":{ + "title":" Wat is het doel van de knop 'anoniem maken' in het Dashboard?", + "answer":" Deze knop vervangt de namen van de leerlingen door nummers. Zo kan je de resultaten van de leerlingen anoniem op het bord projecteren om bepaalde leerlingen niet te stigmatiseren." + } + } + }, + "3":{ + "section_title":" Profiel", + "question_list":{ + "1":{ + "title":" Wat is het doel van het tabblad Profiel?", + "answer":" In het tabblad Profiel kan je:
              1. de instellingen van je account beheren,
              2. je statistieken bekijken,
              3. en berichten uitwisselen met je leerlingen en het Cabrilog-team als je hulp nodig hebt.
              " + }, + "2":{ + "title":" Hoe verander je je wachtwoord of andere accountinstellingen?", + "answer":" Om je wachtwoord of andere instellingen te wijzigen, ga je naar het tabblad Profiel." + }, + "3":{ + "title":" Hoe verander je de taal?", + "answer":" De klasmodule is beschikbaar in Engels, Frans, Nederlands, Spaans, Italiaans en Arabisch. Om de taal te wijzigen, ga je naar het tabblad Profiel, klik je op de knop \"Instellingen\" en selecteer je de gewenste taal." + }, + "4":{ + "title":" Wat is de leerlingenmodus?", + "answer":"

              In je profiel kun je op de knop \"Overschakelen naar de leerlingenmodus\" klikken. Nadat je een klas hebt gekozen, ga je naar een fictief leerlingenaccount \"demostudent\", waar je de interface kan ontdekken en de gedeelde activiteiten kan uitvoeren.

              Om terug te keren naar de \"Leraren\"-modus, ga je naar het tabblad Profiel van de demostudent en klik je op \"Terug naar Lerarenmodus\".

              " + } + } + }, + "4":{ + "section_title":" Algemene vragen", + "question_list":{ + "1":{ + "title":" Op welke media is de klasmodule compatibel?", + "answer":"

              De interfaces werken zonder installatie op computer, tablet en smartphone! Updates gebeuren automatisch en van je materiaal wordt een back-up gemaakt in de cloud.

              Om alle functies ten volle te benutten, raden wij je aan Chrome of Firefox te gebruiken.

              " + }, + "2":{ + "title":" Hoe maak je een snelkoppeling naar de klasmodule?", + "answer":"

              Je hebt de mogelijkheid om een pictogram op het bureaublad van je computer te plaatsen om snel toegang te krijgen tot de klasmodule. Om dit te doen:

              Op Windows en Mac:

              1. Open de pagina: klaslokaal/ en verklein vervolgens het browservenster zodat je het bureaublad ernaast kan zien.
              2. Selecteer in je webbrowser het symbool links van het adres en sleep de cursor naar het bureaublad zonder de muisknop los te laten. Laat de knop los om de snelkoppeling te maken.
              3. De snelkoppeling is nu gemaakt. Dubbelklik om de webpagina te openen.

              Op Android met Chrome:

              1. Open de pagina:classroom/, druk vervolgens op de menuknop en selecteer \"Toevoegen aan beginscherm\".
              2. Geef de pagina een naam en druk op \"Toevoegen\".
              3. De snelkoppeling wordt gemaakt. Dubbelklik om de webpagina te openen.

              Op Android met Firefox:

              1. Open de pagina:classroom/, druk eerst op de menuknop en vervolgens op Pagina.
              2. Tik op Snelkoppeling toevoegen aan pagina.
              3. De snelkoppeling wordt gemaakt op het startscherm. Dubbelklik om de webpagina te openen.

              Op iOS met Safari:

              1. Open de pagina:classroom/ en tik vervolgens op het pictogram Delen.
              2. Selecteer op het startscherm en tik vervolgens op Toevoegen.
              3. De snelkoppeling wordt gemaakt op het startscherm. Dubbelklik om de webpagina te openen.

              Je kan ook op het internet tutorials vinden om een snelkoppeling op je bureaublad te maken.

              " + } + } + }, + "5":{ + "section_title":" Technisch probleem", + "question_list":{ + "1":{ + "title":" Ik heb een bug. Wat kan ik doen?", + "answer":" Probeer eerst de pagina te vernieuwen. Als de bug blijft bestaan, kan je contact opnemen met de helpdesk in het tabblad Profiel onder de knop \"Help\"." + }, + "2":{ + "title":" Hoe meld ik bugs of geef ik feedback?", + "answer":" Als een bug blijft bestaan, neem je contact op met de helpdesk in het tabblad Profiel onder de knop \"Help\".
              Ook om feedback te geven, neem je contact op." + } + } + }, + "6":{ + "section_title":"Licenties en vergunningen", + "question_list":{ + "1":{ + "title":" Kan je de Klasmodule gebruiken in presentaties?", + "answer":" Ja, je kan de afbeeldingen van de klasmodule gebruiken om een beschrijving, presentatie, navorming, zelfstudie, cursus of andere te maken. Als je afbeeldingen of inhoud van activiteiten wil gebruiken, vermeld dan de auteur (zie volgende vraag)." + }, + "2":{ + "title":" Waar kan ik de broncode van de klasmodule vinden?", + "answer":" De broncode van de klasmodule is beschikbaar op de OpenSTEAM-LMS git repository, voel je vrij om bij te dragen aan het programma!" + } + } + } + }, + "faqStudentNeutral":{ + "title":" FAQ", + "1":{ + "section_title":" Activiteiten", + "question_list":{ + "1":{ + "title":" Wat is het doel van het tabblad Mijn activiteiten?", + "answer":" In het tabblad Mijn activiteiten kan je:
              1. nieuwe activiteiten van je leraar maken.
              2. activiteiten die je nog niet hebt voltooid opslaan.
              3. activiteiten die je al hebt gemaakt herbekijken.\"
              ." + }, + "2":{ + "title":" Wat is een activiteit?", + "answer":" Een activiteit is interactieve inhoud met Cabri Express of Cabri Author gemaakt." + } + } + }, + "2":{ + "section_title":"Helpdesk", + "question_list":{ + "1":{ + "title":" Wat is het doel van het tabblad Helpdesk?", + "answer":" In het tabblad Helpdesk kan je:
              1. op elk moment hulp vragen aan je leraar,
              2. veel gestelde vragen raadplegen.
              je berichten lezen in het tabblad Profiel." + } + } + }, + "3":{ + "section_title":" Profiel", + "question_list":{ + "1":{ + "title":" Wat is het doel van het tabblad Profiel?", + "answer":" In het tabblad Profiel kan je:
              1. je accountinstellingen beheren.
              2. je statistieken bekijken.
              3. berichten uitwisselen met je leraren.
              " + }, + "2":{ + "title":" Hoe verander je het wachtwoord of andere accountinstellingen?", + "answer":" Om je wachtwoord of andere instellingen te wijzigen, ga je naar het tabblad Profiel." + }, + "3":{ + "title":" Hoe verander je de taal?", + "answer":" De klasmodule is beschikbaar in het Engels, Frans, Nederlands, Spaans, Italiaans en Arabisch. Om de taal te wijzigen, ga je naar het tabblad Profiel, klik je op de knop \"Instellingen\" en selecteer je de gewenste taal." + } + } + }, + "4":{ + "section_title":" Algemene vragen", + "question_list":{ + "1":{ + "title":" Hoe begin je met de klasmodule?", + "answer":" Je kan meer info krijgen door te klikken op het pictogram rechtsboven." + }, + "2":{ + "title":" Op welke media werkt de klasmodule?", + "answer":"

              Cabri werkt zonder installatie op computer, tablet en smartphone! Updates worden automatisch uitgevoerd en je materiaal wordt opgeslagen in de cloud.

              Om alle functies ten volle te benutten, raden wij je aan Chrome of Firefox te gebruiken.

              " + }, + "3":{ + "title":" Hoe maak ik een snelkoppeling naar de klaslokaalmodule?", + "answer":"

              Je hebt de mogelijkheid om een pictogram op het bureaublad van je computer te plaatsen om snel toegang te krijgen tot de klasmodule. Om dit te doen:

              Op Windows en Mac:

              1. Open de pagina: klaslokaal/ en verklein vervolgens het browservenster zodat je het bureaublad ernaast kan zien.
              2. Selecteer in je webbrowser het symbool links van het adres en sleep de cursor naar het bureaublad zonder de muisknop los te laten. Laat de knop los om de snelkoppeling te maken.
              3. De snelkoppeling is nu gemaakt. Dubbelklik om de webpagina te openen.

              Op Android met Chrome:

              1. Open de pagina:classroom/, druk vervolgens op de menuknop en selecteer \"Toevoegen aan beginscherm\".
              2. Geef de pagina een naam en druk op \"Toevoegen\".
              3. De snelkoppeling wordt gemaakt. Dubbelklik om de webpagina te openen.

              Op Android met Firefox:

              1. Open de pagina:classroom/, druk eerst op de menuknop en vervolgens op Pagina.
              2. Tik op Snelkoppeling toevoegen aan pagina.
              3. De snelkoppeling wordt gemaakt op het startscherm. Dubbelklik om de webpagina te openen.

              Op iOS met Safari:

              1. Open de pagina:classroom/ en tik vervolgens op het pictogram Delen.
              2. Selecteer op het startscherm en tik vervolgens op Toevoegen.
              3. De snelkoppeling wordt gemaakt op het startscherm. Dubbelklik om de webpagina te openen.

              Je kan ook op het internet tutorials vinden om een snelkoppeling op je bureaublad te maken.

              " + } + } + }, + "5":{ + "section_title":" Technisch probleem", + "question_list":{ + "1":{ + "title":" Ik heb een bug. Wat kan ik doen?", + "answer":" Probeer eerst de pagina te vernieuwen. Als de bug blijft bestaan, kan je contact opnemen met de helpdesk in het tabblad Profiel onder de knop \"Help\"." + }, + "2":{ + "title":" Hoe meld ik bugs of geef ik feedback?", + "answer":" Als een bug blijft bestaan, neem je contact op met de helpdesk in het tabblad Profiel onder de knop \"Help\".
              Ook om feedback te geven, neem je contact op." + } + } + }, + "6":{ + "section_title":"Licenties en vergunningen", + "question_list":{ + "1":{ + "title":" Waar kan ik de broncode van de klasmodule vinden?", + "answer":" De broncode van de klasmodule is beschikbaar op de OpenSTEAM-LMS git repository, voel je vrij om bij te dragen aan het programma!" + } + } + } + }, + "manager":{ + "profil":{ + "manager":" Overschakelen naar manager", + "groupAdmin":" Schakel over naar groepsbeheerder", + "bio":" Bio", + "group":" Groep", + "apps":" Apps", + "personalApps":" Persoonlijke apps", + "email":" E-mail *", + "nickname":" Gebruikersnaam", + "lastname":" Achternaam *", + "firstname":" Voornaam *", + "phone":" Telefoonnummer", + "grade":" Niveau van de opleiding *", + "subject":" Vakken *", + "school":" School *", + "password":" Wachtwoord *", + "confirmPassword":" Wachtwoord bevestigen *", + "help":" Help", + "onlyVisibleGroupAdmin":" Alleen zichtbaar als groepsbeheerder:", + "onlyVisiblemanager":" Alleen zichtbaar als manager:" + }, + "account":{ + "activate":{ + "success":"Je account is geactiveerd!", + "alreadyactive":"Je account is al actief.", + "noToken":"Aan deze link is geen token verbonden." + }, + "active":"Een geactiveerd account", + "registration":{ + "success":"Succesvolle registratie!", + "emailSent":"Er is zojuist een e-mail naar je verzonden. Volg de link om je account te activeren.", + "accountPublic":" Ga je ermee akkoord dat je voor- en achternaam zichtbaar zijn op de site?", + "newsletter":"Wil je onze nieuwsbrief per e-mail ontvangen?", + "mailAlert":"Wil je per e-mail gewaarschuwd worden wanneer je nieuwe berichten op de site ontvangt?", + "allowContact":" Wil je door andere gebruikers van de site gecontacteerd kunnen worden?", + "confirmAdult":" Ik bevestig dat ik ouder ben dan 18 jaar (artikel 1124 du code civil)*.", + "disclaimerVittascience":" Vittascience hecht veel belang aan een correcte en veilige verwerking van de persoonsgegevens van haar gebruikers. Lees ons beleid inzake de bescherming van persoonsgegevens", + "mandatory":" Velden gemarkeerd met * zijn verplicht.", + "cguVittascience":" Door dit formulier te valideren, aanvaard je de Servicevoorwaarden.", + "cguOpenSteam":" Door dit formulier te valideren, aanvaard je de Servicevoorwaarden.", + "description":" Vul de volgende velden in om je account aan te maken.", + "title":" Registratie", + "registrationFinalizationSuccess":" Je registratie is voltooid. Je kan nu aanmelden.", + "registrationFinalization":" Voltooi je registratie.", + "descriptionFinalization":" Vul de volgende velden in om je registratie te voltooien.", + "noTokenOrUserActive":" Ongeldig token of gebruiker reeds actief", + "noToken":" Ontbrekende token" + }, + "notAllowedUpdateUser":" Je hebt geen rechten om deze gebruiker te wijzigen.", + "notAllowedDeleteGroup":" Je hebt geen rechten om deze groep te verwijderen.", + "notAllowedDisableUser":" Je hebt geen rechten om deze gebruiker uit te schakelen.", + "notAllowedDeleteUser":" Je hebt geen rechten om deze gebruiker te verwijderen.", + "passwordUpdatedMessage":" Je wachtwoord is succesvol gewijzigd.", + "noUserFound":" Er is geen gebruiker gevonden die dit adres gebruikt.", + "noUserFoundToken":" Dit token komt niet overeen met een gebruiker.", + "missingData":" Er ontbreekt informatie om de handeling af te ronden.", + "missingDataDate":" De datum ontbreekt om de handeling af te ronden.", + "errorSending":" Er is een fout opgetreden bij het verzenden van de e-mail.", + "userNotFound":" Gebruiker niet gevonden en/of reeds actief", + "userNotFoundId":" Gebruiker niet gevonden", + "errorActivation":" Er is een fout opgetreden tijdens de activering.", + "notAllowedToCreateUserInThisGroup":" Je bent niet gemachtigd om een gebruiker in deze groep aan te maken.", + "subscriptionOudated":" je APPNAME app is verlopen op DATUM. Neem voor meer informatie contact op met een beheerder." + }, + "users":{ + "users":" Gebruikers", + "add":" Gebruiker toevoegen", + "activated":" Het account is geactiveerd.", + "errorActivation":" Er is een fout opgetreden tijdens de activering.", + "create":" Gebruiker aanmaken", + "delete":" Gebruiker verwijderen", + "deleteConfirmation":" Schrijf \"verwijderen\" in het onderstaande veld om de actie te valideren.", + "deleteIntentionSA":" Je staat op het punt volgende gebruiker te verwijderen: ", + "disableIntention":" Je gaat volgende gebruiker uitschakelen: ", + "deleteConfirmationTitle":" Verwijdering bevestigen", + "disableConfirmationTitle":" Deactivering bevestigen", + "update":" Gebruiker bijwerken", + "updateAppUser":" Gebruikersapps bijwerken", + "updateApp":" Apps bijwerken", + "disable":{ + "message":" Schrijf \"verwijderen\" in het onderstaande veld om de actie te valideren.", + "intention":" Je staat op het punt volgende gebruiker te verwijderen: " + }, + "mail":{ + "resetPassword":{ + "subject":"Je wachtwoord opnieuw instellen.", + "bodyTitle":" Wachtwoord opnieuw instellen.", + "textBeforeLink":" Als de bovenstaande knop niet werkt, kopieer en plak dan de volgende link in je browser:" + }, + "finalizeAccount":{ + "title":" Definitieve registratie", + "subject":" Definitieve registratie", + "bodyTitle":" Rond je registratie af.", + "textBeforeLink":" Als de bovenstaande knop niet werkt, kopieer en plak dan de volgende link in je browser:" + } + }, + "showResetLinkTitle":" Wachtwoord opnieuw instellen.", + "showResetLink":" Link om wachtwoord te resetten.", + "groupAdmin":" Groepsbeheerder", + "admin":" Manager", + "teacher":" Leraar", + "usersPerPage":" Gebruikers per pagina", + "userDeleted":" Gebruiker verwijderd", + "userDisabled":" Gebruiker uitgeschakeld", + "userCreated":" Gebruiker succesvol aangemaakt", + "userUpdated":" Gebruiker succesvol bijgewerkt", + "chooseNewPassword":" Kies je nieuwe wachtwoord.", + "passwordUpdate":" Je wachtwoord is gewijzigd.", + "enterYourEmail":" Voer je e-mailadres in.", + "sendResetMailDescription":" Als je op verzenden klikt, krijg je een e-mail met een link om je wachtwoord te wijzigen.", + "yourMail":" Je e-mail", + "emailSended":" Een e-mail met de te volgen procedure is zojuist verstuurd.", + "emailNotReceived":" Als je de e-mail niet hebt ontvangen, klik dan op 'opnieuw beginnen'. Het kan even duren voor je de e-mail krijgt.", + "mailSentToUser":" Er is een e-mail naar de gebruiker gestuurd om zijn registratie te voltooien.", + "mailNotSentToUser":" De registratiemail kon niet worden verzonden naar de gebruiker.", + "mailSentToUserReset":" Er is een e-mail gestuurd naar de gebruiker om zijn wachtwoord te wijzigen.", + "mailNotSentToUserReset":" De e-mail om het wachtwoord te wijzigen kon niet worden verzonden naar de gebruiker.", + "appsUpdated":" Gebruikers-apps zijn bijgewerkt", + "updateAppModalTitle":" Toepassing", + "teacherGrades":{ + "0":" Basisschool", + "1":" Secundair onderwijs eerste graad", + "2":" Secundair onderwijs tweede & derde graad doorstroom", + "3":" Secundair onderwijs dubbele finaliteit/arbeidsmarkt", + "4":" Hoger onderwijs" + }, + "teacherSubjects":{ + "0":{ + "0":" Basisschool", + "1":" Andere (specificeer in biografie)" + }, + "1":{ + "0":" Lichamelijke en sportieve opvoeding", + "1":" Moreel en burgerlijk onderwijs", + "2":" Artistiek onderwijs", + "3":" Frans", + "4":" Geschiedenis geografie", + "5":" Levende taal", + "6":" Wiskunde", + "7":" Chemische fysica", + "8":" Levens- en aardwetenschappen", + "9":" Technologie", + "10":" Andere (specificeer in bio)" + }, + "2":{ + "0":" Kunst", + "1":" Circus kunsten", + "2":" Biologie Ecologie", + "3":" Biotechnologieën", + "4":" Creatie en ontwerpcultuur", + "5":" Technologische creatie en innovatie", + "6":" Ecologie-agronomie-territoria-ontwikkeling duurzaam", + "7":" Lichamelijke en sportieve opvoeding", + "8":" Moreel en burgerlijk onderwijs", + "9":" Wetenschappelijk onderwijs", + "10":" Transversaal technologisch onderwijs", + "11":" Frans", + "12":" Hippologie en paardrijden", + "13":" Geschiedenis geografie", + "14":" Geschiedenis geografie, geopolitiek en politieke wetenschappen", + "15":" Geesteswetenschappen, literatuur en filosofie", + "16":" Talen en culturen uit de Oudheid: Latijn of Grieks", + "17":" Levende taal", + "18":" Buitenlandse en regionale talen, literaturen en culturen", + "19":" Literatuur en talen en culturen van de Oudheid", + "20":" Beheer", + "21":" Wiskunde", + "22":" Digitale en computerwetenschappen", + "23":" Chemische fysica", + "24":" Grondbeginselen van economie en management", + "25":" Gezondheid en sociale", + "26":" Levens- en aardwetenschappen", + "27":" Ingenieurswetenschappen", + "28":" Wetenschap en laboratorium", + "29":" Wetenschappen en technieken van theater, muziek en dans", + "30":" Laboratoriumwetenschappen en -technologie", + "31":" Hotel- en restaurantwetenschappen en -technologieën", + "32":" Wetenschap en technologie van de industrie en duurzame ontwikkeling", + "33":" Wetenschappen en technologieën van design en toegepaste kunst", + "34":" Management en wetenschappen en technologieën", + "35":" Digitale wetenschap en technologie", + "36":" Economische en sociale wetenschappen", + "37":" Andere (specificeer in biografie)" + }, + "3":{ + "0":" Toegepaste kunsten en artistieke culturen", + "1":" Juiste economie", + "2":" Beheer van de economie", + "3":" Lichamelijke opvoeding en sport", + "4":" Moreel en burgerlijk onderwijs", + "5":" Transversaal technologisch onderwijs", + "6":" Frans", + "7":" Geschiedenis geografie", + "8":" Moderne vreemde talen", + "9":" Wiskunde Natuurkunde-Chemie", + "10":" Milieugezondheidspreventie", + "11":" Andere (specificeer in biografie)" + }, + "4":{ + "0":" Hoger onderwijs", + "1":" Andere (specificeer in biografie)" + } + }, + "groupFull":" De groep heeft zijn limiet bereikt." + }, + "group":{ + "generalInfo":" Algemene informatie", + "add":" Groep toevoegen", + "create":" Groep aanmaken", + "delete":" Groep verwijderen", + "deleteIntention":" Je staat op het punt de groep te verwijderen: ", + "update":" Update groep", + "academy":" Academie", + "join":{ + "firstVisit":" Is dit je eerste bezoek?", + "signin":" Aanmelden", + "signinSubtitle":" Voer je inloggegevens in om toegang te krijgen tot je account.", + "addressMail":" Adres", + "disclaimer":" Door lid te worden van deze groep geef je de beheerder toestemming om je account te wijzigen en/of te deactiveren. Je beschikt ook over de toepassingen van de groep.", + "lastStep":" Klik als laatste op de knop om de inschrijving definitief te maken.", + "joinGroup":" Je staat op het punt lid te worden van de groep: \"\"", + "notfound":" Groep niet gevonden!", + "notfoundDetails":" We kunnen geen groepen vinden die gekoppeld zijn aan de code .", + "clickToRedirectLogin":" Klik op doorgaan om naar de inlogpagina te gaan.", + "clickToRedirectHome":" Klik op doorgaan om naar de startpagina te gaan.", + "invalidLink":" Ongeldige link!", + "invalidFormatLink":" Het formaat van de ingevoerde link is incorrect.", + "success":" Je bent lid geworden van de groep: \"\"!", + "alreadyLinked":" Je maakt al deel uit van deze groep.", + "error":" Er is een fout opgetreden tijdens het koppelen.", + "userNotFound":" De gebruiker werd niet gevonden. Je kan op doorgaan klikken om naar de inlogpagina te gaan.", + "contactAdmin":" Als het probleem aanhoudt, neem dan contact op met de beheerder.", + "groupFull":" De groep waar je bij wil, heeft zijn limiet bereikt.", + "onlyOneGroup":" Je maakt al deel uit van een groep en dus kan je geen lid worden van een andere.", + "mail":{ + "textBeforeName":" De gebruiker:", + "textAfterName":" sloot zich aan bij de groep:", + "emailSubject":" Een gebruiker is lid geworden van de groep." + } + }, + "name":" Naam van de groep *", + "description":" Beschrijving van de groep *", + "link":" Groepsverband", + "applications":" Groepstoepassingen", + "groupsPerPage":" Groepen per pagina", + "groupDeleted":" Groep verwijderd.", + "groupCreated":" Groep succesvol aangemaakt", + "groupUpdated":" Groep succesvol bijgewerkt", + "groupCreateFailed":" De groep kan niet worden aangemaakt, want er ontbreken gegevens.", + "showLinkTitle":" Groepslink", + "usersWithoutGroups":" Gebruikers zonder groepen", + "searchResult":" Zoekresultaat", + "usersInactiveOrNoRegular":" Inactieve of onregelmatige gebruikers", + "usersWithoutGroupsDescription":" Groep van gebruikers die niet gekoppeld zijn aan een groep", + "usersInactiveOrNoRegularDescription":" Groep onregelmatige gebruikers", + "groupDeleteError":" De groep kon niet worden verwijderd.", + "groupFull":" De groep heeft zijn limiet bereikt.", + "groupFullAdminMessage":" De groep heeft zijn limiet bereikt en je kan geen andere gebruikers toevoegen.", + "toManyStudentsFromTheTeacher":" De leraar die je wil toevoegen aan de groep heeft te veel leerlingen.", + "toManyStudentsInGroup":" De groep kan niet zoveel leerlingen herbergen, want de leraar heeft te veel leerlingen.", + "teachersPerGroup":" Lera(a)r(en) per groep", + "studentsPerGroup":" Studenten per groep", + "activitiesPerGroup":" Activiteiten per groep", + "activitiesPerTeacher":" Activiteiten per leraar", + "studentsPerTeacher":" Studenten per leraar", + "maxStudents":" Maximaal aantal studenten", + "maxActivities":" Maximaal aantal activiteiten", + "groupsRestrictions":" Beperkingen van de groep", + "classroomPerTeacher":" Klas(sen) per leraar" + }, + "title":{ + "activeUsers":" Actieve gebruikers", + "inaactiveUsers":" Inactieve gebruikers" + }, + "buttons":{ + "continue":" Ga verder", + "validate":" Bevestigen", + "activate":" Activeren", + "cancel":" Annuleren", + "finalize":" Afronden", + "send":" Versturen", + "login":" Aanmelden", + "signup":" Registreren", + "join":" Word lid van", + "save":" Opslaan", + "close":" Afsluiten", + "disable":" Uitschakelen.", + "delete":" Verwijderen", + "reset":" Resetten", + "update":" Updaten", + "search":" Opzoeken", + "restart":" Herstarten", + "copyLink":" Link kopiëren", + "show":" Tonen", + "manage":" Beheren", + "user":{ + "add":" Gebruiker toevoegen", + "create":" Gebruiker aanmaken", + "delete":" Gebruiker verwijderen", + "update":" Gebruiker bijwerken", + "addGroup":" Groep toevoegen", + "createA":" Gebruiker aanmaken", + "updateA":" Gebruiker bijwerken", + "updateApp":" Toepassingen bijwerken" + }, + "group":{ + "add":" Groep toevoegen", + "create":" Groep aanmaken", + "delete":" Groep verwijderen", + "update":" Groep bijwerken", + "createA":" Groep aanmaken", + "updateA":" Groep bijwerken" + } + }, + "sort":{ + "user":{ + "bylastname":" Sorteren op achternaam", + "byfirstname":" Sorteren op voornaam" + }, + "group":{ + "byname":" Sorteren op naam", + "bydesc":" Sorteren op beschrijving" + } + }, + "input":{ + "placeholder":{ + "delete":" delete" + }, + "writeDelete":" Je moet delete schrijven om de actie te bevestigen.", + "writeDisable":" Je moet uitschakelen schrijven om de actie te bevestigen." + }, + "table":{ + "lastname":" Achternaam", + "firstname":" Voornaam", + "applications":" Toepassingen", + "group":" Groep", + "description":" Beschrijving", + "descriptionMandatory":" Beschrijving *", + "right":" Rechten", + "resetPassword":" Wachtwoord opnieuw instellen", + "link":" Link", + "name":" Naam", + "nameMandatory":" Naam *", + "dateBegin":" Begindatum", + "dateEnd":" Einddatum", + "outDated":" Datum overschreden", + "maxStudents":" Maximaal aantal studenten", + "actualStudents":" Huidige studenten", + "maxTeachers":" Maximale leraren", + "actualTeachers":" Huidige leraren", + "maxStudentsPerTeachers":" Maximaal aantal leerlingen voor alle leraren", + "maxStudentsPerTeacher":" Maximaal aantal leerlingen per leraar", + "activityType":" Soort activiteit", + "maxActivitiesPerGroup":" Maximale activiteiten per groep", + "maxActivitiesPerTeacher":" Maximale activiteiten per leraar", + "monitoring":" Controle van apps", + "image":" Afbeelding", + "userNoRights":" Geen rechten toegewezen", + "userAdmin":" Beheerder", + "userTeacher":" Leraar", + "restrictions":" Beperkingen" + }, + "apps":{ + "apps":" Apps", + "create":" Een app toevoegen", + "updateSuccess":" App succesvol bijgewerkt", + "createSuccess":" App succesvol gemaakt", + "deleteSuccess":" App succesvol verwijderd", + "deleteIntention":" Je staat op het punt de app te verwijderen: ", + "outDatedApp":" De app die je wil toewijzen is verouderd.", + "infoMaxStudentsPerTeachers":" Bepaal het maximum aantal leerlingen dat een leraar in de groep kan hebben.", + "infoMaxStudentsPerGroups":" Bepaal het maximum aantal leerlingen dat de groep kan hebben (Tel het totaal van het aantal leerlingen van leerkrachten, die deze toepassing hebben, op).", + "infoMaxTeachers":" Bepaal het maximum aantal leerkrachten dat de toepassing in deze groep kan hebben.", + "usersLimitation":" Beperkingen van de studenten van de gebruikers", + "groupsLimitation":" Groepsbeperkingen", + "activitiesLimitation":" Beperkingen van de activiteiten", + "defaultRestrictions":" Standaard-beperkingen", + "ltiApps":" LTI-apps", + "clientId":" Klant-Id *", + "deploymentId":" Deployment-Id *", + "toolUrl":" Tool Url *", + "publicKeySet":" Openbare sleutel ingesteld *", + "loginUrl":" Login Url *", + "redirectionUrl":" Redirection url *", + "deepLinkUrl":" Deeplink url *", + "privateKey":" Privésleutel *" + }, + "activitiesRestrictions":{ + "updateAll":" Beperkingen bijwerken", + "update":" Update beperking", + "create":" Beperking creëren", + "delete":" Beperking verwijderen", + "updateSuccess":" Beperking succesvol bijgewerkt", + "createSuccess":" Beperking succesvol aangemaakt", + "deleteSuccess":" Beperking succesvol verwijderd", + "deleteIntention":" Je staat op het punt de beperking te verwijderen: ", + "restrictionType":" Soort activiteit", + "maxActivity":" Maximaal activiteiten bereikt", + "closeDetail":" Sluit het detail", + "restrictions":" Activiteitsbeperkingen", + "appRestricted":" Maak meer activiteiten!", + "appRestrictedUL1":" Je hebt de limiet bereikt van {{activities}} activiteiten gekoppeld aan je account.", + "appRestrictedUL2":" Om extra activiteiten toe te voegen, kan je contact opnemen met je beheerder.", + "appRestrictedSubtitle2":" Heb je een probleem met je abonnement?", + "appRestrictedSubtitle3":" Contacteer de helpdesk.", + "appRestrictedGarContent1":" Je hebt de limiet bereikt van het aantal {{activities}} activiteiten gekoppeld aan je account.", + "appRestrictedGarContent2":" Om extra activiteiten toe te voegen, kan je contact opnemen met de GAR-toewijzingsbeheerder van je instelling." + }, + "defaultRestrictions":{ + "update":" Standaardbeperkingen bijwerken", + "type":" Soort activiteit", + "max":" Maximum", + "add":" Een beperking toevoegen", + "updateUsersRestrictionsSuccess":" Standaard gebruikersbeperkingen succesvol bijgewerkt", + "updateGroupsRestrictionsSuccess":" Standaard groepsbeperkingen succesvol bijgewerkt", + "updateActivitiesRestrictionsSuccess":" Standaard activiteitenbeperkingen succesvol bijgewerkt", + "deleteActivitiesRestrictionsSuccess":" Standaard activiteitsbeperking succesvol verwijderd", + "getDefaultRestrictions":" Toon de standaard beperkingen.", + "restrictionAlreadyExist":" De beperking bestaat al." + } + }, + "navbar":{ + "items":{ + "kits":" Hardware", + "community":{ + "title":" Gemeenschap", + "dropdown":{ + "vittamap":" Vittamap", + "blog":" Blog", + "gallery":" Galerij", + "about":" Over" + } + }, + "tooltips":{ + "backToHome":" Ga terug naar home", + "programming":" Coderen met Vittascience", + "resources":" Centrum voor leermiddelen", + "classroom":" Beheer je klassen met Vittascience", + "hardware":" Ontdek onze pakketten en producten" + }, + "programming":" Programmering", + "classroom":" Klas", + "arduino":" Arduino", + "microbit":" Microbit", + "microbit-tutorials":" Microbit Handleidingen", + "ressources":" Middelen", + "accessibility":" Het thema en het lettertype van de site wijzigen", + "lang":" Taal veranderen", + "user_shortcuts":{ + "welcome":" Welkom!", + "signup":" Registreren", + "login":" Aanmelden", + "hello":" Hallo", + "account":" Mijn account", + "disconnect":" Ontkoppelen", + "willSignup":" Aanmelden", + "willSignin":" Inloggen" + } + } + }, + "newActivities":{ + "create":" Een nieuwe activiteit creëren", + "delete":" Verwijder", + "addQuiz":" Een suggestie toevoegen", + "states":" Status van de activiteit *", + "cancel":" Annuleren", + "autocorrect":" Autocorrectie", + "contentTitle":" Inhoud van de activiteit", + "correction":" Verbetering van de activiteit", + "tolerance1":" Voeg een fouttolerantie toe van", + "tolerance2":" Teken(s) toestaan in het antwoord van de leerling.", + "hint":" Hint *: weergegeven als het antwoord fout is", + "title":" Titel van de activiteit *", + "description":" Activiteitsbeschrijving *", + "content":" Activiteitsinhoud *", + "addField":" Een antwoordveld toevoegen", + "addFieldTooltip":" Door op de knop Antwoordveld toevoegen te klikken, wordt een tekstvak toegevoegd. In dit veld kan je het juiste antwoord schrijven. Alternatieve antwoorden worden gescheiden door een dubbele ampersand &&.", + "ActivitiesData":{ + "title":{ + "reading":" Multimedia", + "free":" Open antwoord", + "quiz":" MCQS", + "fillIn":" In te vullen tekst", + "dragAndDrop":" Vul de lege tekst in." + }, + "description":{ + "reading":" Multimediapagina (tekst, afbeeldingen, video's, PDF, Genially, ...)", + "free":" Open antwoord op een vraag", + "quiz":" Enkelvoudige of meerkeuzevragen", + "fillIn":" Schriftelijk in te vullen tekst", + "dragAndDrop":" Tekst aan te vullen met labels." + } + } + }, + "courses":{ + "addActivity":" Een activiteit toevoegen", + "addActivities":" Activiteiten toevoegen", + "createActivity":" Een activiteit creëren", + "searchActivity":" Een activiteit zoeken", + "placeholderTitle":" Titel van de activiteit", + "placeholderDescription":" Beschrijving van de activiteit", + "pagination":{ + "create":" Creatie van de cursus", + "title":" Titel", + "parameters":" Parameters", + "attribution":" Naamsvermelding" + }, + "parameters":{ + "title":" Cursus titel *", + "description":" Cursusbeschrijving *", + "difficulty":" Moeilijkheid *", + "difficultyLevel":{ + "choose":" Kies een moeilijkheidsgraad", + "easy":" Gemakkelijk", + "medium":" Medium", + "advanced":" Geavanceerd", + "expert":" Expert" + }, + "duration":" Duur (minuten) *", + "license":" Gebruikerslicentie *", + "licenseType":{ + "1":" Privé (alleen jij kan deze bron zien)", + "2":" Zonder referentie (deelbare bron via link maar niet vindbaar op de pagina Resources)", + "3":" Publiek CC-BY-NC-SA (vrije, niet-commerciële en wijzigbare bron)", + "4":" Openbaar CC-BY-NC-ND (vrije, niet-commerciële en niet-wijzigbare bron)", + "choose":" Kies een licentie." + } + }, + "successfullyCreated":" Cursus succesvol gemaakt", + "attribution":" Toewijzen aan ", + "return":" Terug ", + "update":" De cursus bijwerken" + } } \ No newline at end of file From 831744457c3e9bc18d982d92b8cfda3c838f07c1 Mon Sep 17 00:00:00 2001 From: Baptiste LEDOYEN Date: Wed, 31 May 2023 11:56:39 +0200 Subject: [PATCH 253/340] Change name of button --- classroom/assets/js/constants/modals.js | 4 ++-- classroom/assets/lang/nl/ns.json | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/classroom/assets/js/constants/modals.js b/classroom/assets/js/constants/modals.js index 4085e7c0..c4a09e16 100644 --- a/classroom/assets/js/constants/modals.js +++ b/classroom/assets/js/constants/modals.js @@ -116,7 +116,7 @@ const classroomModals = { Español
      @@ -204,7 +204,7 @@ function teacherActivityItem(activity, displayStyle) { function listOfOptions(activity) { let modifyButton = ``; - // TODO : automatically consider if its collections type + if(activity.typeTool && activity.typeTool === "collections") { modifyButton = "" } diff --git a/classroom/assets/js/scripts/displayPanel.js b/classroom/assets/js/scripts/displayPanel.js index cd8665f4..92cc7fe2 100644 --- a/classroom/assets/js/scripts/displayPanel.js +++ b/classroom/assets/js/scripts/displayPanel.js @@ -422,21 +422,7 @@ function getTeacherActivity() { ` $('#activity-title').append(activityDropdownElt); From d084a151d850715a8c1fcc749851632ee376d45a Mon Sep 17 00:00:00 2001 From: Baptiste LEDOYEN Date: Tue, 13 Jun 2023 16:21:47 +0200 Subject: [PATCH 266/340] fix display notification import --- classroom/assets/js/scripts/activityManager.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/classroom/assets/js/scripts/activityManager.js b/classroom/assets/js/scripts/activityManager.js index a98581b4..d3211703 100644 --- a/classroom/assets/js/scripts/activityManager.js +++ b/classroom/assets/js/scripts/activityManager.js @@ -201,9 +201,9 @@ function titleBackward() { if(msg.typeTool !== "collections") { navigatePanel('classroom-dashboard-classes-new-activity-attribution', 'dashboard-proactivities-teacher'); - displayNotification('#notif-div', "classroom.notif.activityImported", "success", `'{"activityTitle": "${title}"}'`); - } else { displayNotification('#notif-div', "classroom.notif.activityCreated", "success", `'{"activityTitle": "${title}"}'`); + } else { + displayNotification('#notif-div', "classroom.notif.activityImported", "success", `'{"activityTitle": "${title}"}'`); } } else { displayNotification('#notif-div', "manager.account.errorSending", "error"); From 5c37150fc0a09530760095ffb686bdb28a818cb4 Mon Sep 17 00:00:00 2001 From: Baptiste LEDOYEN Date: Wed, 14 Jun 2023 14:00:43 +0200 Subject: [PATCH 267/340] fix forgot connect to good function --- classroom/Views/newExercicesPanel.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/classroom/Views/newExercicesPanel.html b/classroom/Views/newExercicesPanel.html index 5e2127fe..24209c20 100644 --- a/classroom/Views/newExercicesPanel.html +++ b/classroom/Views/newExercicesPanel.html @@ -431,12 +431,12 @@

      -
      -
      From f27bbef7acbd3c650658f2e28693cc95ab868964 Mon Sep 17 00:00:00 2001 From: Baptiste LEDOYEN Date: Wed, 14 Jun 2023 15:41:03 +0200 Subject: [PATCH 268/340] fix default variable --- classroom/assets/js/scripts/activityManager.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/classroom/assets/js/scripts/activityManager.js b/classroom/assets/js/scripts/activityManager.js index d3211703..491ba326 100644 --- a/classroom/assets/js/scripts/activityManager.js +++ b/classroom/assets/js/scripts/activityManager.js @@ -172,7 +172,7 @@ function titleBackward() { /** * Title part */ - function titleForward(msg) { + function titleForward(msg = {typeTool: "applications", autocorrect: "false"}) { Main.getClassroomManager()._createActivity.title = $('#global_title').val(); $('#activity-title-forward').attr('disabled', true); // Check if the title is empty From 892206e62e7301a65d9278fda6264de9a469b492 Mon Sep 17 00:00:00 2001 From: Baptiste LEDOYEN Date: Wed, 14 Jun 2023 17:24:13 +0200 Subject: [PATCH 269/340] fix update of composer package --- classroom/lti/deeplink.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/classroom/lti/deeplink.php b/classroom/lti/deeplink.php index d27dcded..dd328b47 100644 --- a/classroom/lti/deeplink.php +++ b/classroom/lti/deeplink.php @@ -27,8 +27,7 @@ // decode jwt token and check signature using jwks public key $validatedToken = JWT::decode( $_REQUEST['JWT'], - JWK::parseKeySet($jwksKeys), - array('RS256') + JWK::parseKeySet($jwksKeys, "RS256") ); $contentItemsLabel = "https://purl.imsglobal.org/spec/lti-dl/claim/content_items"; // here save activity url in db From f734510a9f27ed3fa55f59c5506bf7c13b0f4a9f Mon Sep 17 00:00:00 2001 From: Baptiste LEDOYEN Date: Wed, 14 Jun 2023 18:37:33 +0200 Subject: [PATCH 270/340] Fix problem from update package php --- classroom/lti/deeplink.php | 3 ++- classroom/lti/score.php | 3 +-- classroom/lti/token.php | 3 +-- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/classroom/lti/deeplink.php b/classroom/lti/deeplink.php index dd328b47..f50266b4 100644 --- a/classroom/lti/deeplink.php +++ b/classroom/lti/deeplink.php @@ -24,10 +24,11 @@ $ltiTool = $entityManager->getRepository(LtiTool::class)->findOneByClientId($clientId); $jwksKeys = json_decode(file_get_contents($ltiTool->getPublicKeySet()), true); +$algo = 'RS256'; // decode jwt token and check signature using jwks public key $validatedToken = JWT::decode( $_REQUEST['JWT'], - JWK::parseKeySet($jwksKeys, "RS256") + JWK::parseKeySet($jwksKeys, $algo), ); $contentItemsLabel = "https://purl.imsglobal.org/spec/lti-dl/claim/content_items"; // here save activity url in db diff --git a/classroom/lti/score.php b/classroom/lti/score.php index 98e5d3a4..41bce7f2 100644 --- a/classroom/lti/score.php +++ b/classroom/lti/score.php @@ -42,8 +42,7 @@ $validatedToken = JWT::decode( $jwtToken, - JWK::parseKeySet($jwks), - array('RS256') + JWK::parseKeySet($jwks, 'RS256'), ); } catch (\Exception $e) { echo json_encode(['Error:' => $e->getMessage()]); diff --git a/classroom/lti/token.php b/classroom/lti/token.php index 91923886..a7f21f27 100644 --- a/classroom/lti/token.php +++ b/classroom/lti/token.php @@ -37,8 +37,7 @@ // validate the jwt token using the tool public key (jwk) $validatedToken = JWT::decode( $_REQUEST['client_assertion'], - JWK::parseKeySet(json_decode(file_get_contents($ltiTool->getPublicKeySet()), true)), - array('RS256') + JWK::parseKeySet(json_decode(file_get_contents($ltiTool->getPublicKeySet()), true), 'RS256'), ); $contentItemsLabel = "https://purl.imsglobal.org/spec/lti-dl/claim/content_items"; From 0d11b881fa231c4d841abb67d4897eaa3e1f837d Mon Sep 17 00:00:00 2001 From: Baptiste LEDOYEN Date: Thu, 15 Jun 2023 12:15:09 +0200 Subject: [PATCH 271/340] preview teacher and view student activity --- classroom/assets/css/main.css | 19 +++++++++++++++++++ .../assets/js/scripts/activityManager.js | 4 ++-- classroom/assets/js/scripts/displayPanel.js | 3 +-- 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/classroom/assets/css/main.css b/classroom/assets/css/main.css index cca39b18..27b5da8e 100644 --- a/classroom/assets/css/main.css +++ b/classroom/assets/css/main.css @@ -3638,3 +3638,22 @@ h3.section-done { 100% { transform: rotate(360deg); } } +/* TEACHER PREVIEW ACTIVITY VIEW */ + #activity-content { + height: 100%; + } + + #activity-content-container { + height: 100%; + position: relative; + } + + #classroom-dashboard-activity-panel { + flex-grow: 1; + } + #classroom-dashboard-activity-panel .row { + height: 100%; + } + #classroom-dashboard-activity-panel .container-fluid { + height: 100%; + } \ No newline at end of file diff --git a/classroom/assets/js/scripts/activityManager.js b/classroom/assets/js/scripts/activityManager.js index 491ba326..8cc22e1e 100644 --- a/classroom/assets/js/scripts/activityManager.js +++ b/classroom/assets/js/scripts/activityManager.js @@ -729,8 +729,8 @@ function launchLtiResource(activityId, activityType, activityContent, isStudentL - + `; document.forms["resource_launch_form"].submit(); $("#activity-content-container").show(); diff --git a/classroom/assets/js/scripts/displayPanel.js b/classroom/assets/js/scripts/displayPanel.js index 92cc7fe2..1ec71d3a 100644 --- a/classroom/assets/js/scripts/displayPanel.js +++ b/classroom/assets/js/scripts/displayPanel.js @@ -486,8 +486,7 @@ function showTeacherQuizActivity(contentParsed, Activity) {
      `; } - $('#activity-content-container').append(htmlToPush); - + $('#activity-content').append(htmlToPush); $("#activity-content-container").show(); $("#activity-states-container").show(); } From 45b4b5935199439ce6ed45dfd8dd7428ee99e2a5 Mon Sep 17 00:00:00 2001 From: Baptiste LEDOYEN Date: Thu, 22 Jun 2023 10:09:37 +0200 Subject: [PATCH 272/340] fix orthographe --- classroom/assets/lang/fr/ns.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/classroom/assets/lang/fr/ns.json b/classroom/assets/lang/fr/ns.json index 9bf62f48..331f27d2 100644 --- a/classroom/assets/lang/fr/ns.json +++ b/classroom/assets/lang/fr/ns.json @@ -1246,7 +1246,7 @@ "errorActivation": "Une erreur est survenue lors de l'activation du compte.", "create": "Créer un utilisateur", "delete": "Supprimer un utilisateur", - "deleteConfirmation": "Veuillez écrire \"supprimer\" dans le champ si dessous pour valider l'action.", + "deleteConfirmation": "Veuillez écrire \"supprimer\" dans le champ ci-dessous pour valider l'action.", "deleteIntentionSA": "Vous vous apprêtez à supprimer l'utilisateur : ", "disableIntention": "Vous vous apprêtez à désactiver l'utilisateur : ", "deleteConfirmationTitle": "Confirmer la suppression", @@ -1255,7 +1255,7 @@ "updateAppUser": "Modifier les applications de l'utilisateur", "updateApp": "Modifier les applications", "disable": { - "message": "Veuillez écrire 'supprimer' dans le champ si dessous pour valider l'action.", + "message": "Veuillez écrire 'supprimer' dans le champ ci-dessous pour valider l'action.", "intention": "Vous vous apprêtez à supprimer l'utilisateur : " }, "mail": { From dd3f4c80c2f45b8a89e833777147b4d09ce19a5e Mon Sep 17 00:00:00 2001 From: Baptiste LEDOYEN Date: Mon, 17 Jul 2023 17:24:38 +0200 Subject: [PATCH 273/340] [CHG] delete activity modal --- classroom/assets/js/constants/modals.js | 13 ++++++------- classroom/assets/js/scripts/teacherActivities.js | 10 +++++++++- classroom/assets/lang/fr/ns.json | 4 ++-- 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/classroom/assets/js/constants/modals.js b/classroom/assets/js/constants/modals.js index c4a09e16..01f55f28 100644 --- a/classroom/assets/js/constants/modals.js +++ b/classroom/assets/js/constants/modals.js @@ -1197,16 +1197,15 @@ const classroomModals = { content: `
      -

      Confirmer la désactivation

      +

      Cette activité est liée à un ou plusieurs parcours.

      -

      -
      -

      Veuillez écrire "supprimer" dans le champ si dessous pour valider l'action.

      - +
      + +

      -
      +
      + -
      `, diff --git a/classroom/assets/js/scripts/teacherActivities.js b/classroom/assets/js/scripts/teacherActivities.js index 4ac1585f..813d7ceb 100644 --- a/classroom/assets/js/scripts/teacherActivities.js +++ b/classroom/assets/js/scripts/teacherActivities.js @@ -106,15 +106,23 @@ function cancelDeleteActivity() { //activité modal-->supprimer $('body').on('click', '.modal-activity-delete', function () { - pseudoModal.openModal('delete-activity-modal'); let activityId = ClassroomSettings.activity, courseArray = []; + + // display title of activity in deleting message + const activityTitle = getActivity(activityId).title; + const options = `{"activityName": "${activityTitle}"}`; + document.getElementById('delete-activity-text').setAttribute("data-i18n-options", options); + + // manage display for parcours feature coursesManager.myCourses.forEach(course => { if (course.activities.find(c => c.id == activityId)) { courseArray.push(course.title); } }); document.getElementById('activity-linked-to-course-message').style.display = courseArray.length > 0 ? 'block' : 'none'; + + pseudoModal.openModal('delete-activity-modal'); }) diff --git a/classroom/assets/lang/fr/ns.json b/classroom/assets/lang/fr/ns.json index 331f27d2..5712efee 100644 --- a/classroom/assets/lang/fr/ns.json +++ b/classroom/assets/lang/fr/ns.json @@ -482,7 +482,7 @@ "preview": "Prévisualisation", "previewTeacherResult": "L'élève aurait obtenu la note suivante : ", "studentResult" : "Résultat obtenu :", - "deleteActivityDisclaimer": "Vous êtes sur le point de supprimer une activité. Cette action est irréversible.", + "deleteActivityDisclaimer": "L'activité \"{{activityName}}\" sera définitivement supprimée de même que les travaux de vos élèves s’y référant. ", "deleteConfirm": "Confirmer la suppression de l'activité", "deleteActivity": "Supprimer l'activité", "correctAnswer": "Réponse correcte", @@ -1452,7 +1452,7 @@ }, "buttons": { "continue": "Continuer", - "validate": "Valider", + "validate": "Confirmer", "cancel": "Annuler", "activate": "Activer", "finalize": "Finaliser", From 494be8d5688477990a582c5d75e91570ee86367c Mon Sep 17 00:00:00 2001 From: Baptiste LEDOYEN Date: Wed, 19 Jul 2023 11:01:37 +0200 Subject: [PATCH 274/340] [CHG] modal folder --- classroom/assets/css/modal.css | 4 ++ classroom/assets/js/constants/modals.js | 44 +++++++++++----------- classroom/assets/js/main/FoldersManager.js | 9 ++++- classroom/assets/js/scripts/loadModals.js | 3 +- classroom/assets/lang/fr/ns.json | 5 ++- 5 files changed, 39 insertions(+), 26 deletions(-) diff --git a/classroom/assets/css/modal.css b/classroom/assets/css/modal.css index 6eae76ba..45c32420 100644 --- a/classroom/assets/css/modal.css +++ b/classroom/assets/css/modal.css @@ -271,4 +271,8 @@ div#modal-gpsmap .vitta-modal-content { div#modal-gpsmap .map-container { height: 35vh; } +} + +.btn-blue { + background-color: var(--classroom-primary); } \ No newline at end of file diff --git a/classroom/assets/js/constants/modals.js b/classroom/assets/js/constants/modals.js index 01f55f28..2ffe3a4b 100644 --- a/classroom/assets/js/constants/modals.js +++ b/classroom/assets/js/constants/modals.js @@ -1205,12 +1205,34 @@ const classroomModals = {
      - +
      `, footer: `` }, + 'folder-delete-modal': { + selector: '', + header: { + icon: '', + title: 'classroom.folders.folderDelete' + }, + content: `
      + +
      +
      + +

      +
      + +
      + + +
      +
      +
      `, + footer: `` + }, 'folder-manager-modal': { selector: '', header: { @@ -1235,26 +1257,6 @@ const classroomModals = { - - - - - - -
      -
      -
      - -
      -
      - -
      -
      -
      - \ No newline at end of file + From 4939e2fe597aae770f20626efa9147aa0a4f4fb4 Mon Sep 17 00:00:00 2001 From: Baptiste LEDOYEN Date: Tue, 1 Aug 2023 16:45:55 +0200 Subject: [PATCH 278/340] remove uppercase from return button --- classroom/assets/css/main.css | 1 - 1 file changed, 1 deletion(-) diff --git a/classroom/assets/css/main.css b/classroom/assets/css/main.css index 27b5da8e..3eaa916a 100644 --- a/classroom/assets/css/main.css +++ b/classroom/assets/css/main.css @@ -634,7 +634,6 @@ button { /* BREADCRUMB */ #breadcrumb button { - text-transform: uppercase; padding: 0.1rem 0.8rem; font-weight: 600; font-size: 0.8rem; From 20ec405a82d56e6e5613d11dba014f8fe3650205 Mon Sep 17 00:00:00 2001 From: Baptiste LEDOYEN Date: Wed, 2 Aug 2023 14:52:44 +0200 Subject: [PATCH 279/340] hide accessibility menu when Collections display --- classroom/assets/js/scripts/buttons.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/classroom/assets/js/scripts/buttons.js b/classroom/assets/js/scripts/buttons.js index 94ee77c6..4119aba6 100644 --- a/classroom/assets/js/scripts/buttons.js +++ b/classroom/assets/js/scripts/buttons.js @@ -285,6 +285,9 @@ function navigatePanel(id, idNav, option = "", interface = '', isOnpopstate = fa if (typeof Main.leaderline !== 'undefined') Main.leaderline.hide(); $('[data-toggle="tooltip"]').tooltip() + // make visible accessibility dropdown + $("#dropdownMenuButton").css('visibility', 'visible'); + if (id == 'classroom-dashboard-activities-panel-teacher' && idNav == 'dashboard-activities-teacher') { foldersManager.goToFolder(foldersManager.actualFolder); } From d1cdc1f70ac31f19d5a8e83a1e5dbc785dfb2414 Mon Sep 17 00:00:00 2001 From: Baptiste LEDOYEN Date: Thu, 3 Aug 2023 14:40:20 +0200 Subject: [PATCH 280/340] resources tabs --- classroom/assets/lang/en/ns.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/classroom/assets/lang/en/ns.json b/classroom/assets/lang/en/ns.json index cc646855..6ba0cff2 100644 --- a/classroom/assets/lang/en/ns.json +++ b/classroom/assets/lang/en/ns.json @@ -215,7 +215,7 @@ "classroom-dashboard-activities-panel-teacher": "My activities", "classroom-dashboard-classes-panel-teacher": "Classes", "classroom-dashboard-sandbox-panel": "Sandbox", - "classroom-dashboard-ressources": "Applications", + "classroom-dashboard-ressources": "Resources", "classroom-dashboard-profil-panel-teacher": "Profile", "classroom-dashboard-activities-panel": "My activities", "classroom-dashboard-profil-panel": "Profile", From b8ef78119f42a177f001717acdcfa33096ca3f3a Mon Sep 17 00:00:00 2001 From: Baptiste LEDOYEN Date: Fri, 4 Aug 2023 18:45:36 +0200 Subject: [PATCH 281/340] [ADD] manage smart acivity --- classroom/assets/js/scripts/activityManager.js | 14 +++++++------- classroom/assets/js/scripts/manageClassroom.js | 2 +- classroom/lti/deeplink.php | 10 ++++++++-- 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/classroom/assets/js/scripts/activityManager.js b/classroom/assets/js/scripts/activityManager.js index 8cc22e1e..53370257 100644 --- a/classroom/assets/js/scripts/activityManager.js +++ b/classroom/assets/js/scripts/activityManager.js @@ -172,7 +172,7 @@ function titleBackward() { /** * Title part */ - function titleForward(msg = {typeTool: "applications", autocorrect: "false"}) { + function titleForward(msg = {typeLtiTool: "applications", typeTool: "", autocorrect: "false"}) { Main.getClassroomManager()._createActivity.title = $('#global_title').val(); $('#activity-title-forward').attr('disabled', true); // Check if the title is empty @@ -181,7 +181,7 @@ function titleBackward() { $('#activity-title-forward').attr('disabled', false); } else { let title = Main.getClassroomManager()._createActivity.title, - type = Main.getClassroomManager()._createActivity.id, + type = msg.typeTool !== "" ? msg.typeTool : Main.getClassroomManager()._createActivity.id, content = JSON.stringify(Main.getClassroomManager()._createActivity.content), solution = JSON.stringify(Main.getClassroomManager()._createActivity.solution), tolerance = Main.getClassroomManager()._createActivity.tolerance, @@ -195,22 +195,22 @@ function titleBackward() { } if (Main.getClassroomManager()._createActivity.function == "create") { - Main.getClassroomManager().createNewActivity(title, type, content, solution, tolerance, autocorrect, folder, msg.typeTool).then((response) => { + Main.getClassroomManager().createNewActivity(title, type, content, solution, tolerance, autocorrect, folder, msg.typeLtiTool).then((response) => { if (response.success == true) { Main.getClassroomManager()._lastCreatedActivity = response.id; - if(msg.typeTool !== "collections") { + if(msg.typeLtiTool === "collections" || msg.typeTool !== "") { + displayNotification('#notif-div', "classroom.notif.activityImported", "success", `'{"activityTitle": "${title}"}'`); + } else { navigatePanel('classroom-dashboard-classes-new-activity-attribution', 'dashboard-proactivities-teacher'); displayNotification('#notif-div', "classroom.notif.activityCreated", "success", `'{"activityTitle": "${title}"}'`); - } else { - displayNotification('#notif-div', "classroom.notif.activityImported", "success", `'{"activityTitle": "${title}"}'`); } } else { displayNotification('#notif-div', "manager.account.errorSending", "error"); } }); } else if (Main.getClassroomManager()._createActivity.function == "update") { - Main.getClassroomManager().updateActivity(ClassroomSettings.activity, title, type, content, solution, tolerance, autocorrect, msg.typeTool).then((response) => { + Main.getClassroomManager().updateActivity(ClassroomSettings.activity, title, type, content, solution, tolerance, autocorrect, msg.typeLtiTool).then((response) => { if (response.success == true) { Main.getClassroomManager()._lastCreatedActivity = response.id; displayNotification('#notif-div', "classroom.notif.activityChanged", "success", `'{"activityTitle": "${title}"}'`); diff --git a/classroom/assets/js/scripts/manageClassroom.js b/classroom/assets/js/scripts/manageClassroom.js index 149f3ce9..d137c14a 100644 --- a/classroom/assets/js/scripts/manageClassroom.js +++ b/classroom/assets/js/scripts/manageClassroom.js @@ -92,7 +92,7 @@ async function readEvent (event) { // Saving the deeplink response into the activity creation data Main.getClassroomManager()._createActivity.content.description = msg.content; - if(msg.typeTool === "collections") { + if(msg.typeLtiTool === "collections" || msg.typeTool !== "") { $('#global_title').val(msg.title); titleForward(msg); } diff --git a/classroom/lti/deeplink.php b/classroom/lti/deeplink.php index f50266b4..d0f42c72 100644 --- a/classroom/lti/deeplink.php +++ b/classroom/lti/deeplink.php @@ -43,10 +43,16 @@ type: 'end-lti-deeplink', content: '$contentItemsLabel[0]->url; ?>', title: "$contentItemsLabel[0]->title; ?>", + typeLtiTool: "$contentItemsLabel[0]->custom) && + isset($validatedToken->$contentItemsLabel[0]->custom->typeLtiTool)) { + echo $validatedToken->$contentItemsLabel[0]->custom->typeLtiTool; + } + ?>", typeTool: "$contentItemsLabel[0]->custom) && - isset($validatedToken->$contentItemsLabel[0]->custom->type)) { - echo $validatedToken->$contentItemsLabel[0]->custom->type; + isset($validatedToken->$contentItemsLabel[0]->custom->typeTool)) { + echo $validatedToken->$contentItemsLabel[0]->custom->typeTool; } ?>", autocorrect: " Date: Tue, 3 Oct 2023 19:42:42 +0200 Subject: [PATCH 282/340] [ADD] AI Applications --- classroom/assets/media/applications/IMAGES.png | Bin 0 -> 20740 bytes classroom/assets/media/applications/SOUND.png | Bin 0 -> 20712 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 classroom/assets/media/applications/IMAGES.png create mode 100644 classroom/assets/media/applications/SOUND.png diff --git a/classroom/assets/media/applications/IMAGES.png b/classroom/assets/media/applications/IMAGES.png new file mode 100644 index 0000000000000000000000000000000000000000..96dd23fe87d3e780477166cbc616265034198495 GIT binary patch literal 20740 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

      vv8 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 VBKq#t%C!Ih002ovPDHLkV1m?ax~KpE literal 0 HcmV?d00001 From 2c056a3829e3165da0b3b869208e092a6d74269f Mon Sep 17 00:00:00 2001 From: Paul Libbrecht Date: Sat, 9 Dec 2023 07:30:15 +0100 Subject: [PATCH 283/340] iframe policy for the preview iframes. --- classroom/assets/js/scripts/activityManager.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/classroom/assets/js/scripts/activityManager.js b/classroom/assets/js/scripts/activityManager.js index 53370257..e98bf518 100644 --- a/classroom/assets/js/scripts/activityManager.js +++ b/classroom/assets/js/scripts/activityManager.js @@ -713,7 +713,7 @@ function launchLtiDeepLinkCreate(type, isUpdate) { ${updateInput}

      - +
      `; document.forms["contentitem_request_form"].submit(); From c6bc939d4228ffe252440acb08ccf82b91cb428c Mon Sep 17 00:00:00 2001 From: Paul Libbrecht Date: Wed, 20 Dec 2023 19:08:49 +0100 Subject: [PATCH 284/340] with recontact --- classroom/assets/lang/fr/ns.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/classroom/assets/lang/fr/ns.json b/classroom/assets/lang/fr/ns.json index 0cfb88e6..d1f995e6 100644 --- a/classroom/assets/lang/fr/ns.json +++ b/classroom/assets/lang/fr/ns.json @@ -540,7 +540,7 @@ "contactForm": { "title": "Nous contacter", "objectPlaceholder": "Objet", - "messagePlaceholder": "Écrivez votre message ici (maximum 800 caractères).", + "messagePlaceholder": "Écrivez votre message ici (maximum 800 caractères). Si vous voulez être recontacté, merci d'indiquer votre adresse e-mail.", "sendButton": "Envoyer le message", "fillInAllTheFields": "Complétez tous les champs" } From 7dde98293e34d4105638bf54b6261d79de7ad7e9 Mon Sep 17 00:00:00 2001 From: Paul Libbrecht Date: Wed, 3 Jan 2024 19:31:11 +0100 Subject: [PATCH 285/340] nonce is carried over --- classroom/lti/auth.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/classroom/lti/auth.php b/classroom/lti/auth.php index 18a45704..ee452a3e 100644 --- a/classroom/lti/auth.php +++ b/classroom/lti/auth.php @@ -16,7 +16,7 @@ use Classroom\Entity\LtiTool; use Classroom\Entity\Applications; -$nonce = base64_encode(random_bytes(16)); +$nonce = $_REQUEST['nonce']; //$platform_url = isset($_SERVER['HTTPS']) ? 'https://' : 'http://' . $_SERVER['HTTP_HOST']; $platform_url = $_ENV['VS_HOST']; @@ -134,4 +134,4 @@ document.getElementsByName('post_redirect')[0].style.display = 'none'; document.forms["post_redirect"].submit(); } - \ No newline at end of file + From 2775d33713d2f8a930ec37af9d74514368e3799c Mon Sep 17 00:00:00 2001 From: Pedagogie-Cabri <126769695+Pedagogie-Cabri@users.noreply.github.com> Date: Thu, 4 Jan 2024 14:59:54 +0100 Subject: [PATCH 286/340] Test Gwenn + Paul --- classroom/assets/lang/en/ns.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/classroom/assets/lang/en/ns.json b/classroom/assets/lang/en/ns.json index 6ba0cff2..437f2eb8 100644 --- a/classroom/assets/lang/en/ns.json +++ b/classroom/assets/lang/en/ns.json @@ -21,8 +21,8 @@ "student": "Student", "codeInput": " Enter your Classroom code", "teacher": "Teacher", - "hasAccount": "Already have an account?", - "gar": "Enjoy the Classroom module with ease using GAR.", + "hasAccount": "Do you already have an account?", + "gar": "You can also log-in with the French education single sign-on solution (GAR).", "signup": "SIGN UP", "firstVisit": "First time? Please choose a username.", "signin": "Sign in", From 331e1a111739ef6abe88520a5e30e1d13381b198 Mon Sep 17 00:00:00 2001 From: Pedagogie-Cabri <126769695+Pedagogie-Cabri@users.noreply.github.com> Date: Wed, 10 Jan 2024 11:41:32 +0100 Subject: [PATCH 287/340] Traduction des textes dans le panneau pour rejoindre une classe --- classroom/assets/lang/fr/ns.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/classroom/assets/lang/fr/ns.json b/classroom/assets/lang/fr/ns.json index d1f995e6..a39c220a 100644 --- a/classroom/assets/lang/fr/ns.json +++ b/classroom/assets/lang/fr/ns.json @@ -255,8 +255,8 @@ "editNickname": "Modifier le pseudonyme", "delete": "Supprimer", "copyLink": "Copier le lien direct", - "copyImage": "Copy the image", - "downloadImage": "Download the image", + "copyImage": "Copier l'image", + "downloadImage": "Télécharger l'image", "learnerMode": "Mode apprenant", "dueBy": "À rendre avant le", "timePassed": "Temps passé : " From 1cd84c484fbcc74fdaa190a69a9409414a2803ad Mon Sep 17 00:00:00 2001 From: Pedagogie-Cabri <126769695+Pedagogie-Cabri@users.noreply.github.com> Date: Thu, 18 Jan 2024 12:10:26 +0100 Subject: [PATCH 288/340] Update ns.json Marine Traduction ES : Modifications : - faqTeacherNeutral 4.answer - classroom.activities.addActivity - classroom.activities.addLearners - classroom.classes.panel.editAttributions - classroom.activities.form.success - classroom.notif.activityduplicated --- classroom/assets/lang/es/ns.json | 39 ++++++++++++++++---------------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/classroom/assets/lang/es/ns.json b/classroom/assets/lang/es/ns.json index bdbd42b9..dda85efb 100644 --- a/classroom/assets/lang/es/ns.json +++ b/classroom/assets/lang/es/ns.json @@ -146,6 +146,7 @@ "activityImported": "La actividad {{activityTitle}} fue importada", "activityTitleMissing": "Debes ingresar el título de la actividad", "activityPlayerMissing": " Debe introducir una URL de jugador.", + "activityDuplicated": "La actividad {{activityName}} ha sido duplicada.", "CsvFileMissing": "No has elegido el archivo csv", "errorWithCsv": "Error al abrir el archivo csv : {{error}}", "cantGetPassword": "Error, no puede ver su contraseña", @@ -250,7 +251,7 @@ "panel": { "seeActivity": "Ver la actividad", "editActivity": "Modificar la actividad", - "editAttribution": "Modifier la asignación", + "editAttribution": "Modificar la asignación", "removeAttribution": "Eliminar la asignación", "password": "Su contraseña :", "resetPassword": "Regenerar la contraseña", @@ -349,7 +350,7 @@ "validate": "Validar", "buttonContinue": "Guardar y continuar", "button": "Guardar y validar", - "success": "¡Bravo, ha creado una actividad!", + "success": "¡Muy bien, ha creado una actividad!", "attribute": "Asignar ahora la actividad", "attribute2": "Asignar la actividad", "return": "Regresar a Mis actividades", @@ -374,8 +375,8 @@ "weakProficiency": "Competencia frágil", "insufficientProficiency": "Competencia insuficiente", "addLearner": "Agregar un alumno", - "addLearners": " Add learners", - "addActivity": " Add an activity", + "addLearners": " Agregar un alumno", + "addActivity": " Agregar una actividad", "exportCsv": "Exportar csv", "players": { "STANDARD": { @@ -733,7 +734,7 @@ }, "4": { "title": "¿Cómo asignar una actividad?", - "answer": "Para asignar una actividad, cuenta con tres opciones::
      1. Vaya a la pestaña Mis actividades y haga clic en el icono de su actividad y luego haga clic en Asignar. Enseguida, sólo siga los pasos.
      2. Esta opción de Asignar también está disponible en la propia actividad una vez abierta.
      3. De lo contrario, vaya a la pestaña Clases y haga clic en una clase. Una vez en el panel de control del aula, todo lo que tiene que hacer es hacer clic en el botón \"Agregar una actividad\".
      abierta." + "answer": "Para asignar una actividad, cuenta con tres opciones:
    2. Vaya a la pestaña Mis actividades y haga clic en el icono de su actividad y luego haga clic en Asignar. Enseguida, sólo siga los pasos.
    3. Esta opción de Asignar también está disponible en la propia actividad una vez abierta.
    4. De lo contrario, vaya a la pestaña Clases y haga clic en una clase. Una vez en el panel de control del aula, todo lo que tiene que hacer es hacer clic en el botón \"Agregar una actividad\".
    5. ." }, "5": { "title": "¿Cómo probar una actividad?", @@ -1430,24 +1431,24 @@ } }, "courses": { - "addActivity": " Add an activity", - "addActivities": " Add activities", - "createActivity": " Create an activity", - "searchActivity": " Search an activity", - "placeholderTitle": " Activity title", - "placeholderDescription": " Activity description", + "addActivity": " Añadir actividades", + "addActivities": " Añadir actividades", + "createActivity": " Crear una actividad", + "searchActivity": " Buscar una actividad", + "placeholderTitle": " Título de la actividad", + "placeholderDescription": " Descripción de la actividad", "pagination": { - "create": " Course's creation", - "title": " Title", - "parameters": " Parameters", - "attribution": " Attribution" + "create": " Creación del curso", + "title": " Título", + "parameters": " Parámetros", + "attribution": " Asignación" }, "parameters": { - "title": " Course title *", - "description": " Course's description *", + "title": " Título de la actividad *", + "description": " Descripción de la actividad *", "difficulty": " Difficulty *", "difficultyLevel": { - "choose": " Choose a difficulty level", + "choose": " Elige un nivel de dificultad", "easy": " Easy", "medium": " Medium", "advanced": " Advanced", @@ -1468,4 +1469,4 @@ "return": " Return ", "update": " Update the course" } -} \ No newline at end of file +} From 53a7aa55ef8009433848c2420cdfd6bcf0e0461f Mon Sep 17 00:00:00 2001 From: Pedagogie-Cabri <126769695+Pedagogie-Cabri@users.noreply.github.com> Date: Thu, 18 Jan 2024 12:27:37 +0100 Subject: [PATCH 289/340] Update ns.json Marine traduction Ajout de lignes dans le code ns.json en ES. --- classroom/assets/lang/es/ns.json | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/classroom/assets/lang/es/ns.json b/classroom/assets/lang/es/ns.json index dda85efb..34f8c856 100644 --- a/classroom/assets/lang/es/ns.json +++ b/classroom/assets/lang/es/ns.json @@ -258,8 +258,12 @@ "editNickname": "Modificar el seudónimo", "delete": "Eliminar", "copyLink": "Copiar el link directo", + "copyImage": "Copiar imagen ", + "downloadImage": "Descargar imagen", "learnerMode": "Modo alumno", - "dueBy": "A entregar por" + "dueBy": "A entregar por", + "qrCode": "Escanear el código QR :", + "timePassed": "Tiempo empleado: " }, "copyDirectLink": "Copiar el enlace directo", "selectStudents": "Seleccionar alumnos", @@ -290,8 +294,13 @@ "vgood": "Competencia satisfactoria", "good": "Competencia frágil", "refuse": "Competencia insuficiente", + "nnoted": "No calificado", "instruction": "Consigna", "commentary": "Comentario", + "numberOfTries": "Número de pruebas : ", + "sendResults": "Enviar", + "noSend": "Esta actividad no se ha rendido", + "toSend": "Actividad prevista para ", "sendResults": "Enviar el comentario al alumno", "noSend": "Ésta actividad no ha sido retroalimentada", "comments": "Ingrese sus observaciones", From f0141da04af0c279a963dc175470fa7c73fb40aa Mon Sep 17 00:00:00 2001 From: Pedagogie-Cabri <126769695+Pedagogie-Cabri@users.noreply.github.com> Date: Thu, 18 Jan 2024 14:19:19 +0100 Subject: [PATCH 290/340] Update ns.json Marine Ajout d'une ligne dans notif --- classroom/assets/lang/en/ns.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/classroom/assets/lang/en/ns.json b/classroom/assets/lang/en/ns.json index 437f2eb8..aee8b103 100644 --- a/classroom/assets/lang/en/ns.json +++ b/classroom/assets/lang/en/ns.json @@ -145,6 +145,8 @@ "activityCreated": "The activity {{activityTitle}} has been created", "activityChanged": "The {{activityTitle}} activity has been modified", "activityImported": "The activity {{activityTitle}} has been imported", + "activityDuplicated": "The activity {{activityName}} has been duplicated", + "activityTitleMissing": "You must fill in the title of the activity", "activityPlayerMissing": "You must fill in the player URL", "CsvFileMissing": "You did not choose a csv file", From 729ffa363dc2dd5e4877d80423c140bf04c1707b Mon Sep 17 00:00:00 2001 From: Pedagogie-Cabri <126769695+Pedagogie-Cabri@users.noreply.github.com> Date: Fri, 19 Jan 2024 11:07:02 +0100 Subject: [PATCH 291/340] Update ns.json Marine modification texte AddLearner AddActivity etc. --- classroom/assets/lang/it/ns.json | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/classroom/assets/lang/it/ns.json b/classroom/assets/lang/it/ns.json index ff75782f..096fb125 100644 --- a/classroom/assets/lang/it/ns.json +++ b/classroom/assets/lang/it/ns.json @@ -373,9 +373,10 @@ "goodProficiency": "Soddisfacente", "weakProficiency": "Fragile", "insufficientProficiency": "Insufficiente", + "noProficiency": "Non valutato", "addLearner": "Aggiungere uno studente", - "addLearners": " Add learners", - "addActivity": " Add an activity", + "addLearners": "Aggiungere uno studente", + "addActivity": " Aggiungere un'attività", "exportCsv": "Esportazione csv", "players": { "STANDARD": { @@ -1470,4 +1471,4 @@ "return": " Return ", "update": " Update the course" } -} \ No newline at end of file +} From 2dbbfbb0eda427d3e5e813b2d7c18ff6299784e4 Mon Sep 17 00:00:00 2001 From: Pedagogie-Cabri <126769695+Pedagogie-Cabri@users.noreply.github.com> Date: Fri, 19 Jan 2024 11:19:01 +0100 Subject: [PATCH 292/340] Update ns.json Marine modificiations Ajout de lignes "numberOfTires" "SendResults" "noSend" "toSend" "timePassed" "dueBy" "copyImage" "dowloadImage" "qrCode" --- classroom/assets/lang/it/ns.json | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/classroom/assets/lang/it/ns.json b/classroom/assets/lang/it/ns.json index 096fb125..b04ae306 100644 --- a/classroom/assets/lang/it/ns.json +++ b/classroom/assets/lang/it/ns.json @@ -257,8 +257,12 @@ "editNickname": "Cambiare il sopranome", "delete": "Ritirare", "copyLink": "Copiare il link diretto", + "copyImage": "Copia dell'immagine", + "downloadImage": "Scarica l'immagine", "learnerMode": "Passare alla modalità studente", "dueBy": "Dovuto a" + "dueBy": "Da consegnare entro", + "timePassed": "Tempo trascorso :" }, "copyDirectLink": "Copiare il link diretto", "selectStudents": "Selezione degli studenti", @@ -291,6 +295,10 @@ "refuse": "Insufficiente", "instruction": "Consegna", "commentary": "Commento", + "numberOfTries": "Numero di test : ", + "sendResults": "Inviare", + "noSend": "Questa attività non è stata resa", + "toSend": "Attività dovuta entro ", "sendResults": "Invia il commento allo studente ", "noSend": "Questa attività non è stata fatta", "comments": "Inserisci i tuoi commenti qui", @@ -365,6 +373,7 @@ "retroAttribution": " Questa attività sarà assegnata ai nuovi studenti" }, "toCopy": "Questo codice rende facile unirsi alla tua classe\n", + "qrCode": "Scansione del codice QR :", "copyLink": "Il link alla tua classe è stato aggiunto negli appunti\n", "dateBefore": "Termine di scadenza della consegna", "dateBeforeAvailable": " Disponibile fino a", From d95eecb46839c7bfeeb98df2ff96f365de3cf213 Mon Sep 17 00:00:00 2001 From: Pedagogie-Cabri <126769695+Pedagogie-Cabri@users.noreply.github.com> Date: Fri, 19 Jan 2024 11:59:39 +0100 Subject: [PATCH 293/340] Update ns.json Marine modification QR code --- classroom/assets/lang/es/ns.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/classroom/assets/lang/es/ns.json b/classroom/assets/lang/es/ns.json index 34f8c856..883cdf5e 100644 --- a/classroom/assets/lang/es/ns.json +++ b/classroom/assets/lang/es/ns.json @@ -262,7 +262,6 @@ "downloadImage": "Descargar imagen", "learnerMode": "Modo alumno", "dueBy": "A entregar por", - "qrCode": "Escanear el código QR :", "timePassed": "Tiempo empleado: " }, "copyDirectLink": "Copiar el enlace directo", @@ -303,6 +302,7 @@ "toSend": "Actividad prevista para ", "sendResults": "Enviar el comentario al alumno", "noSend": "Ésta actividad no ha sido retroalimentada", + "qrCode": "Escanear el código QR :", "comments": "Ingrese sus observaciones", "activitySubmited2": " Activity submitted on", "sentOn": "Esta actividad fue devuelta el", @@ -383,6 +383,7 @@ "goodProficiency": "Competencia satisfactoria", "weakProficiency": "Competencia frágil", "insufficientProficiency": "Competencia insuficiente", + "noProficiency": "Non valutato", "addLearner": "Agregar un alumno", "addLearners": " Agregar un alumno", "addActivity": " Agregar una actividad", From c026c6277ecfcb2338f31808a55a638e3d3b0e98 Mon Sep 17 00:00:00 2001 From: Pedagogie-Cabri <126769695+Pedagogie-Cabri@users.noreply.github.com> Date: Fri, 19 Jan 2024 12:02:08 +0100 Subject: [PATCH 294/340] Update ns.json Marine Modification Lignes 303 / 302 --- classroom/assets/lang/it/ns.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/classroom/assets/lang/it/ns.json b/classroom/assets/lang/it/ns.json index b04ae306..39425194 100644 --- a/classroom/assets/lang/it/ns.json +++ b/classroom/assets/lang/it/ns.json @@ -299,6 +299,8 @@ "sendResults": "Inviare", "noSend": "Questa attività non è stata resa", "toSend": "Attività dovuta entro ", + "qrCode": "Scansionare il codice QR :", + "noProficiency": "Non valutato", "sendResults": "Invia il commento allo studente ", "noSend": "Questa attività non è stata fatta", "comments": "Inserisci i tuoi commenti qui", From fd23eb45342d059e1d78907c0ee4565ee9e2019c Mon Sep 17 00:00:00 2001 From: Pedagogie-Cabri <126769695+Pedagogie-Cabri@users.noreply.github.com> Date: Fri, 19 Jan 2024 12:04:20 +0100 Subject: [PATCH 295/340] Update ns.json Marine Ligne 303 ajout --- classroom/assets/lang/es/ns.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/classroom/assets/lang/es/ns.json b/classroom/assets/lang/es/ns.json index 883cdf5e..a6ee714a 100644 --- a/classroom/assets/lang/es/ns.json +++ b/classroom/assets/lang/es/ns.json @@ -300,6 +300,7 @@ "sendResults": "Enviar", "noSend": "Esta actividad no se ha rendido", "toSend": "Actividad prevista para ", + "noProficiency": "No evaluado", "sendResults": "Enviar el comentario al alumno", "noSend": "Ésta actividad no ha sido retroalimentada", "qrCode": "Escanear el código QR :", @@ -383,7 +384,6 @@ "goodProficiency": "Competencia satisfactoria", "weakProficiency": "Competencia frágil", "insufficientProficiency": "Competencia insuficiente", - "noProficiency": "Non valutato", "addLearner": "Agregar un alumno", "addLearners": " Agregar un alumno", "addActivity": " Agregar una actividad", From ddfa3fd750098d9764e0682412b2bd5df74d2636 Mon Sep 17 00:00:00 2001 From: Pedagogie-Cabri <126769695+Pedagogie-Cabri@users.noreply.github.com> Date: Mon, 22 Jan 2024 09:58:26 +0100 Subject: [PATCH 296/340] Update ns.json Marine Modification onglet Trad ES --- classroom/assets/lang/es/ns.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/classroom/assets/lang/es/ns.json b/classroom/assets/lang/es/ns.json index a6ee714a..762bc8d9 100644 --- a/classroom/assets/lang/es/ns.json +++ b/classroom/assets/lang/es/ns.json @@ -215,7 +215,8 @@ "classroom-dashboard-activities-panel-teacher": "Mis actividades", "classroom-dashboard-classes-panel-teacher": "Clases", "classroom-dashboard-sandbox-panel": "Cajón de arena", - "classroom-dashboard-ressources": "Aplicaciones", + "classroom-dashboard-applications": "Aplicaciones", + "classroom-dashboard-ressources": "Recursos", "classroom-dashboard-profil-panel-teacher": "Perfil", "classroom-dashboard-activities-panel": "Mis actividades", "classroom-dashboard-profil-panel": "Perfil", From a78150df3d39c1417db05af8f626e9483de9011d Mon Sep 17 00:00:00 2001 From: Pedagogie-Cabri <126769695+Pedagogie-Cabri@users.noreply.github.com> Date: Mon, 22 Jan 2024 10:03:07 +0100 Subject: [PATCH 297/340] Update ns.json Marine Trad EN Onglet Ressources / Applications --- classroom/assets/lang/en/ns.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/classroom/assets/lang/en/ns.json b/classroom/assets/lang/en/ns.json index aee8b103..0c9c8670 100644 --- a/classroom/assets/lang/en/ns.json +++ b/classroom/assets/lang/en/ns.json @@ -217,7 +217,8 @@ "classroom-dashboard-activities-panel-teacher": "My activities", "classroom-dashboard-classes-panel-teacher": "Classes", "classroom-dashboard-sandbox-panel": "Sandbox", - "classroom-dashboard-ressources": "Resources", + "classroom-dashboard-applications": "Aplications", + "classroom-dashboard-ressources": "Resources", "classroom-dashboard-profil-panel-teacher": "Profile", "classroom-dashboard-activities-panel": "My activities", "classroom-dashboard-profil-panel": "Profile", From 4eb0ce41d471a9e8c315ddbdad2ba259f8a8e122 Mon Sep 17 00:00:00 2001 From: Pedagogie-Cabri <126769695+Pedagogie-Cabri@users.noreply.github.com> Date: Mon, 22 Jan 2024 10:08:02 +0100 Subject: [PATCH 298/340] Update ns.json Marine Modifications Trad onglet applications et ressources --- classroom/assets/lang/it/ns.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/classroom/assets/lang/it/ns.json b/classroom/assets/lang/it/ns.json index 39425194..c87faf2e 100644 --- a/classroom/assets/lang/it/ns.json +++ b/classroom/assets/lang/it/ns.json @@ -214,7 +214,8 @@ "classroom-dashboard-activities-panel-teacher": "Le mie attività", "classroom-dashboard-classes-panel-teacher": "Classi", "classroom-dashboard-sandbox-panel": "Sandbox", - "classroom-dashboard-ressources": "Applicazioni", + "classroom-dashboard-applications": "Applicazioni", + "classroom-dashboard-ressources": "Risorse", "classroom-dashboard-profil-panel-teacher": "Profilo", "classroom-dashboard-activities-panel": "Le mie attività", "classroom-dashboard-profil-panel": "Profilo", From ce0d91ecee574315d5ca1d0fbac2ce932d5638ae Mon Sep 17 00:00:00 2001 From: Pedagogie-Cabri <126769695+Pedagogie-Cabri@users.noreply.github.com> Date: Tue, 23 Jan 2024 11:15:30 +0100 Subject: [PATCH 299/340] Update ns.json Marine Ligne 263 ajout virgule --- classroom/assets/lang/it/ns.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/classroom/assets/lang/it/ns.json b/classroom/assets/lang/it/ns.json index c87faf2e..896431b8 100644 --- a/classroom/assets/lang/it/ns.json +++ b/classroom/assets/lang/it/ns.json @@ -261,7 +261,7 @@ "copyImage": "Copia dell'immagine", "downloadImage": "Scarica l'immagine", "learnerMode": "Passare alla modalità studente", - "dueBy": "Dovuto a" + "dueBy": "Dovuto a", "dueBy": "Da consegnare entro", "timePassed": "Tempo trascorso :" }, From 05b2888b38c73f8296e2935c71d49f85ad25ffc4 Mon Sep 17 00:00:00 2001 From: Paul Libbrecht Date: Mon, 19 Feb 2024 14:59:54 +0100 Subject: [PATCH 300/340] all forms of iframe must be allowed --- classroom/assets/js/scripts/activityManager.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/classroom/assets/js/scripts/activityManager.js b/classroom/assets/js/scripts/activityManager.js index e98bf518..3082f8ac 100644 --- a/classroom/assets/js/scripts/activityManager.js +++ b/classroom/assets/js/scripts/activityManager.js @@ -713,7 +713,8 @@ function launchLtiDeepLinkCreate(type, isUpdate) { ${updateInput}
      - +
      `; document.forms["contentitem_request_form"].submit(); @@ -730,7 +731,7 @@ function launchLtiResource(activityId, activityType, activityContent, isStudentL + allow="fullscreen *; microphone *; camera *; serial *; usb *"> `; document.forms["resource_launch_form"].submit(); $("#activity-content-container").show(); @@ -893,4 +894,4 @@ function resetPreviewViews() { ContentViews.forEach(e => { e.html(''); }); -} +} \ No newline at end of file From 715adcc9a1cc7aafe701e5fbeab6037f49ece743 Mon Sep 17 00:00:00 2001 From: StrippoliJules Date: Wed, 24 Jul 2024 10:15:22 +0200 Subject: [PATCH 301/340] feat: modify db, auth and routing to add a session system --- classroom/lti/auth.php | 124 ++++++++++++++-------------- routing/Routing.php | 9 ++ sql-files/steam-lms-generate-db.sql | 18 ++++ 3 files changed, 90 insertions(+), 61 deletions(-) diff --git a/classroom/lti/auth.php b/classroom/lti/auth.php index ee452a3e..8d579ab7 100644 --- a/classroom/lti/auth.php +++ b/classroom/lti/auth.php @@ -15,6 +15,10 @@ use \Firebase\JWT\JWT; use Classroom\Entity\LtiTool; use Classroom\Entity\Applications; +use Classroom\Entity\Session; + +session_start(); +$session_id = session_id(); $nonce = $_REQUEST['nonce']; @@ -23,7 +27,7 @@ $loginHint = json_decode($_REQUEST['login_hint'], true); $activityType = $loginHint['activityType']; -if(isset($activityType)) { +if (isset($activityType)) { $ltiApplication = $entityManager->getRepository(Applications::class)->findOneBy(["name" => $activityType])->getId(); $ltiTool = $entityManager->getRepository(LtiTool::class)->findOneBy(["application" => $ltiApplication]); } else { @@ -31,10 +35,9 @@ $ltiTool = $entityManager->getRepository(LtiTool::class)->findOneByClientId($_REQUEST['client_id']); } - if (!$ltiTool) { - echo 'Tool not found!'; - exit; + echo 'Tool not found!'; + exit; } $jwt_payload = [ @@ -46,80 +49,79 @@ "nonce" => $nonce, "https://purl.imsglobal.org/spec/lti/claim/deployment_id" => $loginHint['deploymentId'], "https://purl.imsglobal.org/spec/lti/claim/version" => "1.3.0", - "https://purl.imsglobal.org/spec/lti/claim/custom" => [ + "https://purl.imsglobal.org/spec/lti/claim/custom" => [ "activityType" => $loginHint['activityType'], "isUpdate" => isset($loginHint['isUpdate']) ? true : false, "updateUrl" => $loginHint['updateUrl'] ?? '', "redirectionUrl" => $platform_url . '/lti/redirection.html', - "studentResourceUrl" => isset($loginHint['studentResourceUrl']) ? $loginHint['studentResourceUrl'] : false - ] + "studentResourceUrl" => isset($loginHint['studentResourceUrl']) ? $loginHint['studentResourceUrl'] : false, + "sessionId" => $session_id // Ajout de l'identifiant de session + ] ]; -if($loginHint['deepLink']) { - // Deep link launch - $jwt_payload[ "https://purl.imsglobal.org/spec/lti/claim/roles"] = [ - "http://purl.imsglobal.org/vocab/lis/v2/institution/person#Instructor" - ]; - $jwt_payload["https://purl.imsglobal.org/spec/lti/claim/message_type"] = "LtiDeepLinkingRequest"; - $jwt_payload["https://purl.imsglobal.org/spec/lti-dl/claim/deep_linking_settings"] = - [ - "deep_link_return_url" => $platform_url . "/classroom/lti/deeplink.php", - "accept_types" => ["ltiResourceLink"], - "accept_presentation_document_targets"=> [ - "frame", - "iframe", - "window" - ] +if ($loginHint['deepLink']) { + // Deep link launch + $jwt_payload["https://purl.imsglobal.org/spec/lti/claim/roles"] = [ + "http://purl.imsglobal.org/vocab/lis/v2/institution/person#Instructor" ]; - $jwt_payload["https://purl.imsglobal.org/spec/lti/claim/target_link_uri"] = $ltiTool->getDeepLinkUrl(); -} -else { - // Resource launch - if ($loginHint['isStudentLaunch']) { - $jwt_payload[ "https://purl.imsglobal.org/spec/lti/claim/roles"] = [ - "https://purl.imsglobal.org/vocab/lis/v2/membership#Learner", + $jwt_payload["https://purl.imsglobal.org/spec/lti/claim/message_type"] = "LtiDeepLinkingRequest"; + $jwt_payload["https://purl.imsglobal.org/spec/lti-dl/claim/deep_linking_settings"] = [ + "deep_link_return_url" => $platform_url . "/classroom/lti/deeplink.php", + "accept_types" => ["ltiResourceLink"], + "accept_presentation_document_targets"=> [ + "frame", + "iframe", + "window" + ] ]; - } else { - $jwt_payload[ "https://purl.imsglobal.org/spec/lti/claim/roles"] = [ - "http://purl.imsglobal.org/vocab/lis/v2/institution/person#Instructor" + $jwt_payload["https://purl.imsglobal.org/spec/lti/claim/target_link_uri"] = $ltiTool->getDeepLinkUrl(); +} else { + // Resource launch + if ($loginHint['isStudentLaunch']) { + $jwt_payload["https://purl.imsglobal.org/spec/lti/claim/roles"] = [ + "https://purl.imsglobal.org/vocab/lis/v2/membership#Learner", + ]; + } else { + $jwt_payload["https://purl.imsglobal.org/spec/lti/claim/roles"] = [ + "http://purl.imsglobal.org/vocab/lis/v2/institution/person#Instructor" + ]; + } + $jwt_payload['https://purl.imsglobal.org/spec/lti/claim/message_type'] = 'LtiResourceLinkRequest'; + $jwt_payload['https://purl.imsglobal.org/spec/lti/claim/resource_link'] = [ + "id" => $loginHint['lineitemId'] + ]; + $jwt_payload["https://purl.imsglobal.org/spec/lti/claim/target_link_uri"] = $loginHint['lineitemId']; + $jwt_payload["https://purl.imsglobal.org/spec/lti-ags/claim/endpoint"] = [ + "scope" => [ + "https://purl.imsglobal.org/spec/lti-ags/scope/lineitem", + "https://purl.imsglobal.org/spec/lti-ags/scope/lineitem.readonly", + "https://purl.imsglobal.org/spec/lti-ags/scope/result.readonly", + "https://purl.imsglobal.org/spec/lti-ags/scope/score" + ], + "lineitems" => $platform_url . "/classroom/lti/score.php", + "lineitem" => $platform_url . "/classroom/lti/score.php?activity_id=" . urlencode($loginHint['activitiesLinkUser']) ]; - } - $jwt_payload['https://purl.imsglobal.org/spec/lti/claim/message_type'] = 'LtiResourceLinkRequest'; - $jwt_payload['https://purl.imsglobal.org/spec/lti/claim/resource_link'] = [ - "id" => $loginHint['lineitemId'] - ]; - $jwt_payload["https://purl.imsglobal.org/spec/lti/claim/target_link_uri"] = $loginHint['lineitemId']; - $jwt_payload["https://purl.imsglobal.org/spec/lti-ags/claim/endpoint"] = [ - "scope" => [ - "https://purl.imsglobal.org/spec/lti-ags/scope/lineitem", - "https://purl.imsglobal.org/spec/lti-ags/scope/lineitem.readonly", - "https://purl.imsglobal.org/spec/lti-ags/scope/result.readonly", - "https://purl.imsglobal.org/spec/lti-ags/scope/score" - ], - "lineitems" => $platform_url . "/classroom/lti/score.php", - "lineitem" => $platform_url . "/classroom/lti/score.php?activity_id=" . urlencode($loginHint['activitiesLinkUser']) - ]; -} -if(array_key_exists("lng", $_COOKIE)){ - $lang = htmlspecialchars($_COOKIE["lng"]) ?? "fr"; } -else{ - $lang = "fr"; +if (array_key_exists("lng", $_COOKIE)) { + $lang = htmlspecialchars($_COOKIE["lng"]) ?? "fr"; +} else { + $lang = "fr"; } $jwt_payload["https://purl.imsglobal.org/spec/lti/claim/launch_presentation"] = [ - "locale" => $lang ?? "fr", - "document_target" => "iframe", - "return_url" => $platform_url . "/classroom/lti/redirection.html" + "locale" => $lang ?? "fr", + "document_target" => "iframe", + "return_url" => $platform_url . "/classroom/lti/redirection.html" ]; - $token = JWT::encode( - $jwt_payload, - $ltiTool->getPrivateKey(), - 'RS256', - $ltiTool->getKid() + $jwt_payload, + $ltiTool->getPrivateKey(), + 'RS256', + $ltiTool->getKid() ); +$sessionRepository = $entityManager->getRepository(Session::class); +$sessionRepository->createSession($session_id, $loginHint['userId']); ?>
      diff --git a/routing/Routing.php b/routing/Routing.php index 8ebd77be..65407089 100644 --- a/routing/Routing.php +++ b/routing/Routing.php @@ -41,6 +41,8 @@ use Interfaces\Controller\ControllerProjectLinkUser; use Classroom\Controller\ControllerClassroomLinkUser; +use Classroom\Entity\Session; + $dotenv = Dotenv::createImmutable(__DIR__ . "/../"); $dotenv->safeLoad(); @@ -119,6 +121,13 @@ } switch ($controller) { + case 'session': + $session_id = session_id(); + $sessionRepository = $entityManager->getRepository(Session::class); + $sessionRepository->createSession($session_id, $user['id']); + echo (json_encode(["session_id" => $session_id])); + $log->info($action, OK); + break; case 'user': $controller = new ControllerUser($entityManager, $user); echo (json_encode($controller->action($action, $_POST))); diff --git a/sql-files/steam-lms-generate-db.sql b/sql-files/steam-lms-generate-db.sql index d551f3ca..0725788a 100644 --- a/sql-files/steam-lms-generate-db.sql +++ b/sql-files/steam-lms-generate-db.sql @@ -40,6 +40,24 @@ CREATE TABLE `classrooms` ( `gar_code` varchar(255) COLLATE utf8mb3_unicode_ci DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci; +-- -------------------------------------------------------- + +-- +-- Structure de la table `sessions` +-- + +CREATE TABLE `sessions` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `session_id` varchar(255) COLLATE utf8mb3_unicode_ci NOT NULL, + `user_id` int(11) NOT NULL, + `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + UNIQUE KEY `session_id` (`session_id`), + KEY `user_id` (`user_id`), + CONSTRAINT `sessions_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_unicode_ci; + + -- -------------------------------------------------------- -- From 53c642dbb4d21151d5f86b560ec2ecf84cdf9057 Mon Sep 17 00:00:00 2001 From: StrippoliJules Date: Wed, 24 Jul 2024 15:13:49 +0200 Subject: [PATCH 302/340] Add log to debug user --- routing/Routing.php | 38 +++++++++++++++++++++++++++++--------- 1 file changed, 29 insertions(+), 9 deletions(-) diff --git a/routing/Routing.php b/routing/Routing.php index 65407089..80bc7ad4 100644 --- a/routing/Routing.php +++ b/routing/Routing.php @@ -58,23 +58,30 @@ try { // Get User. session_start(); + error_log("Session started."); $user = null; if (isset($_SESSION["id"])) { - $user = $entityManager->getRepository('User\Entity\User') - ->find(intval($_SESSION["id"]))->jsonSerialize(); + error_log("User ID in session: " . $_SESSION["id"]); + $userEntity = $entityManager->getRepository('User\Entity\User')->find(intval($_SESSION["id"])); + if ($userEntity) { + $user = $userEntity->jsonSerialize(); + error_log("User found: " . print_r($user, true)); + } else { + error_log("User not found in the database."); + } try { - $regular = $entityManager->getRepository('User\Entity\Regular') - ->find(intval($_SESSION["id"]))->jsonSerialize(); - $user['isRegular'] = $regular['email']; - } catch (error $e) { + $regular = $entityManager->getRepository('User\Entity\Regular')->find(intval($_SESSION["id"]))->jsonSerialize(); + $user['isRegular'] = $regular['email']; + } catch (Exception $e) { + error_log("Regular user not found: " . $e->getMessage()); $user['isRegular'] = false; } - $isFromGar = $entityManager->getRepository('User\Entity\ClassroomUser') - ->find(intval($_SESSION["id"])); + $isFromGar = $entityManager->getRepository('User\Entity\ClassroomUser')->find(intval($_SESSION["id"])); if ($isFromGar) { $garUser = $isFromGar->jsonSerialize(); + error_log("GAR user found: " . print_r($garUser, true)); if ($garUser['garId'] != null) { $user['isFromGar'] = true; @@ -87,6 +94,14 @@ } } } + } else { + error_log("User ID is not set in session."); + } + + if (!$user) { + error_log("User is null. Cannot proceed."); + echo json_encode(["error" => "User not authenticated"]); + exit; } // get and scan the entire plugins folder @@ -123,6 +138,11 @@ switch ($controller) { case 'session': $session_id = session_id(); + if (!isset($user['id'])) { + error_log("User ID is not set. User: " . print_r($user, true)); + throw new Exception("User ID is not set."); + } + error_log("Creating session with session_id: $session_id and user_id: " . $user['id']); $sessionRepository = $entityManager->getRepository(Session::class); $sessionRepository->createSession($session_id, $user['id']); echo (json_encode(["session_id" => $session_id])); @@ -245,4 +265,4 @@ } catch (Exception $e) { $log->error($action, $e->getFile(), $e->getLine(), $e->getMessage()); echo (json_encode(Errors::createError($e->getMessage()))); -} +} \ No newline at end of file From 4f9c4dabd61b5df5ca853afd67ba6d6e004d433e Mon Sep 17 00:00:00 2001 From: StrippoliJules Date: Wed, 24 Jul 2024 15:29:44 +0200 Subject: [PATCH 303/340] remove log --- routing/Routing.php | 38 +++++++++----------------------------- 1 file changed, 9 insertions(+), 29 deletions(-) diff --git a/routing/Routing.php b/routing/Routing.php index 80bc7ad4..65407089 100644 --- a/routing/Routing.php +++ b/routing/Routing.php @@ -58,30 +58,23 @@ try { // Get User. session_start(); - error_log("Session started."); $user = null; if (isset($_SESSION["id"])) { - error_log("User ID in session: " . $_SESSION["id"]); - $userEntity = $entityManager->getRepository('User\Entity\User')->find(intval($_SESSION["id"])); - if ($userEntity) { - $user = $userEntity->jsonSerialize(); - error_log("User found: " . print_r($user, true)); - } else { - error_log("User not found in the database."); - } + $user = $entityManager->getRepository('User\Entity\User') + ->find(intval($_SESSION["id"]))->jsonSerialize(); try { - $regular = $entityManager->getRepository('User\Entity\Regular')->find(intval($_SESSION["id"]))->jsonSerialize(); - $user['isRegular'] = $regular['email']; - } catch (Exception $e) { - error_log("Regular user not found: " . $e->getMessage()); + $regular = $entityManager->getRepository('User\Entity\Regular') + ->find(intval($_SESSION["id"]))->jsonSerialize(); + $user['isRegular'] = $regular['email']; + } catch (error $e) { $user['isRegular'] = false; } - $isFromGar = $entityManager->getRepository('User\Entity\ClassroomUser')->find(intval($_SESSION["id"])); + $isFromGar = $entityManager->getRepository('User\Entity\ClassroomUser') + ->find(intval($_SESSION["id"])); if ($isFromGar) { $garUser = $isFromGar->jsonSerialize(); - error_log("GAR user found: " . print_r($garUser, true)); if ($garUser['garId'] != null) { $user['isFromGar'] = true; @@ -94,14 +87,6 @@ } } } - } else { - error_log("User ID is not set in session."); - } - - if (!$user) { - error_log("User is null. Cannot proceed."); - echo json_encode(["error" => "User not authenticated"]); - exit; } // get and scan the entire plugins folder @@ -138,11 +123,6 @@ switch ($controller) { case 'session': $session_id = session_id(); - if (!isset($user['id'])) { - error_log("User ID is not set. User: " . print_r($user, true)); - throw new Exception("User ID is not set."); - } - error_log("Creating session with session_id: $session_id and user_id: " . $user['id']); $sessionRepository = $entityManager->getRepository(Session::class); $sessionRepository->createSession($session_id, $user['id']); echo (json_encode(["session_id" => $session_id])); @@ -265,4 +245,4 @@ } catch (Exception $e) { $log->error($action, $e->getFile(), $e->getLine(), $e->getMessage()); echo (json_encode(Errors::createError($e->getMessage()))); -} \ No newline at end of file +} From 64d468653de3a1adfa503b3009a71f40dbad8d41 Mon Sep 17 00:00:00 2001 From: StrippoliJules Date: Wed, 24 Jul 2024 15:44:28 +0200 Subject: [PATCH 304/340] add log --- routing/Routing.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/routing/Routing.php b/routing/Routing.php index 65407089..adc2a33e 100644 --- a/routing/Routing.php +++ b/routing/Routing.php @@ -60,9 +60,12 @@ session_start(); $user = null; if (isset($_SESSION["id"])) { + $log->info('User ID in session: ' . $_SESSION["id"]); $user = $entityManager->getRepository('User\Entity\User') ->find(intval($_SESSION["id"]))->jsonSerialize(); + $log->info('User data retrieved: ' . json_encode($user)); + try { $regular = $entityManager->getRepository('User\Entity\Regular') ->find(intval($_SESSION["id"]))->jsonSerialize(); From 32b838aa905be532af394ebf00afb526634d46e0 Mon Sep 17 00:00:00 2001 From: StrippoliJules Date: Wed, 24 Jul 2024 15:54:05 +0200 Subject: [PATCH 305/340] delete log --- routing/Routing.php | 3 --- 1 file changed, 3 deletions(-) diff --git a/routing/Routing.php b/routing/Routing.php index adc2a33e..65407089 100644 --- a/routing/Routing.php +++ b/routing/Routing.php @@ -60,12 +60,9 @@ session_start(); $user = null; if (isset($_SESSION["id"])) { - $log->info('User ID in session: ' . $_SESSION["id"]); $user = $entityManager->getRepository('User\Entity\User') ->find(intval($_SESSION["id"]))->jsonSerialize(); - $log->info('User data retrieved: ' . json_encode($user)); - try { $regular = $entityManager->getRepository('User\Entity\Regular') ->find(intval($_SESSION["id"]))->jsonSerialize(); From b7d2b41b90ec2552b875739ad9be8a1fef44977d Mon Sep 17 00:00:00 2001 From: StrippoliJules Date: Wed, 24 Jul 2024 17:43:54 +0200 Subject: [PATCH 306/340] modifie session --- classroom/lti/auth.php | 2 +- routing/Routing.php | 12 +++++------- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/classroom/lti/auth.php b/classroom/lti/auth.php index 8d579ab7..0f35cfb0 100644 --- a/classroom/lti/auth.php +++ b/classroom/lti/auth.php @@ -55,7 +55,7 @@ "updateUrl" => $loginHint['updateUrl'] ?? '', "redirectionUrl" => $platform_url . '/lti/redirection.html', "studentResourceUrl" => isset($loginHint['studentResourceUrl']) ? $loginHint['studentResourceUrl'] : false, - "sessionId" => $session_id // Ajout de l'identifiant de session + "sessionId" => $session_id ] ]; diff --git a/routing/Routing.php b/routing/Routing.php index 65407089..5f6f7f99 100644 --- a/routing/Routing.php +++ b/routing/Routing.php @@ -121,13 +121,6 @@ } switch ($controller) { - case 'session': - $session_id = session_id(); - $sessionRepository = $entityManager->getRepository(Session::class); - $sessionRepository->createSession($session_id, $user['id']); - echo (json_encode(["session_id" => $session_id])); - $log->info($action, OK); - break; case 'user': $controller = new ControllerUser($entityManager, $user); echo (json_encode($controller->action($action, $_POST))); @@ -202,6 +195,11 @@ case 'session': echo (json_encode($user)); $log->info($action, OK); + $session_id = session_id(); + $sessionRepository = $entityManager->getRepository(Session::class); + $sessionRepository->createSession($session_id, $user['id']); + echo (json_encode(["session_id" => $session_id])); + $log->info($action, OK); break; case 'superadmin': $controller = new ControllerSuperAdmin($entityManager, $user); From 4fe428cf0423646b693c3d16b55933f8ff96ee1f Mon Sep 17 00:00:00 2001 From: StrippoliJules Date: Wed, 24 Jul 2024 17:56:29 +0200 Subject: [PATCH 307/340] test null user log --- routing/Routing.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/routing/Routing.php b/routing/Routing.php index 5f6f7f99..6e622526 100644 --- a/routing/Routing.php +++ b/routing/Routing.php @@ -193,6 +193,12 @@ $log->info($action, OK); break; case 'session': + $log->info('Starting session case'); + if ($user) { + $log->info('User data:', ['user' => json_encode($user)]); + } else { + $log->info('No user data found'); + } echo (json_encode($user)); $log->info($action, OK); $session_id = session_id(); From 9fb672da7df3c37a7311de4232487888a5b34868 Mon Sep 17 00:00:00 2001 From: StrippoliJules Date: Wed, 24 Jul 2024 18:06:01 +0200 Subject: [PATCH 308/340] push fix error --- routing/Routing.php | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/routing/Routing.php b/routing/Routing.php index 6e622526..930b8979 100644 --- a/routing/Routing.php +++ b/routing/Routing.php @@ -193,19 +193,8 @@ $log->info($action, OK); break; case 'session': - $log->info('Starting session case'); - if ($user) { - $log->info('User data:', ['user' => json_encode($user)]); - } else { - $log->info('No user data found'); - } echo (json_encode($user)); $log->info($action, OK); - $session_id = session_id(); - $sessionRepository = $entityManager->getRepository(Session::class); - $sessionRepository->createSession($session_id, $user['id']); - echo (json_encode(["session_id" => $session_id])); - $log->info($action, OK); break; case 'superadmin': $controller = new ControllerSuperAdmin($entityManager, $user); From b3bf058bee9f2ae3ec147549fd11254d149b3b27 Mon Sep 17 00:00:00 2001 From: StrippoliJules Date: Thu, 25 Jul 2024 11:11:33 +0200 Subject: [PATCH 309/340] add session for user in Routing.php --- routing/Routing.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/routing/Routing.php b/routing/Routing.php index 930b8979..906a6b3b 100644 --- a/routing/Routing.php +++ b/routing/Routing.php @@ -124,7 +124,11 @@ case 'user': $controller = new ControllerUser($entityManager, $user); echo (json_encode($controller->action($action, $_POST))); - $log->info($action, OK); + $session_id = session_id(); + $sessionRepository = $entityManager->getRepository(Session::class); + $sessionRepository->createSession($session_id, $user['id']); + echo (json_encode(["session_id" => $session_id])); + $log->info($action, OK); break; case 'project': $controller = new ControllerProject($entityManager, $user); From 6ef8c1c65babe453e798824484d8a42e0a2fa741 Mon Sep 17 00:00:00 2001 From: StrippoliJules Date: Thu, 25 Jul 2024 11:47:12 +0200 Subject: [PATCH 310/340] log for user --- routing/Routing.php | 1 + sql-files/steam-lms-generate-db.sql | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/routing/Routing.php b/routing/Routing.php index 906a6b3b..51be1b66 100644 --- a/routing/Routing.php +++ b/routing/Routing.php @@ -124,6 +124,7 @@ case 'user': $controller = new ControllerUser($entityManager, $user); echo (json_encode($controller->action($action, $_POST))); + error_log("User data: " . print_r($user, true)); $session_id = session_id(); $sessionRepository = $entityManager->getRepository(Session::class); $sessionRepository->createSession($session_id, $user['id']); diff --git a/sql-files/steam-lms-generate-db.sql b/sql-files/steam-lms-generate-db.sql index 0725788a..23bc5ee4 100644 --- a/sql-files/steam-lms-generate-db.sql +++ b/sql-files/steam-lms-generate-db.sql @@ -43,7 +43,7 @@ CREATE TABLE `classrooms` ( -- -------------------------------------------------------- -- --- Structure de la table `sessions` +-- Structure de la table `sessions`, ce n'est pas testé -- CREATE TABLE `sessions` ( From ba061da1dcd876b1a521830f10127be362eda819 Mon Sep 17 00:00:00 2001 From: StrippoliJules Date: Thu, 25 Jul 2024 11:52:40 +0200 Subject: [PATCH 311/340] modify switch into project_link_user --- routing/Routing.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/routing/Routing.php b/routing/Routing.php index 51be1b66..25a40835 100644 --- a/routing/Routing.php +++ b/routing/Routing.php @@ -124,11 +124,6 @@ case 'user': $controller = new ControllerUser($entityManager, $user); echo (json_encode($controller->action($action, $_POST))); - error_log("User data: " . print_r($user, true)); - $session_id = session_id(); - $sessionRepository = $entityManager->getRepository(Session::class); - $sessionRepository->createSession($session_id, $user['id']); - echo (json_encode(["session_id" => $session_id])); $log->info($action, OK); break; case 'project': @@ -139,6 +134,11 @@ case 'project_link_user': $controller = new ControllerProjectLinkUser($entityManager, $user); echo (json_encode($controller->action($action, $_POST))); + error_log("User data: " . print_r($user, true)); + $session_id = session_id(); + $sessionRepository = $entityManager->getRepository(Session::class); + $sessionRepository->createSession($session_id, $user['id']); + echo (json_encode(["session_id" => $session_id])); $log->info($action, OK); break; case 'classroom': From e862ef066b99e5e5b22d045f09a36b0558ef648b Mon Sep 17 00:00:00 2001 From: StrippoliJules Date: Thu, 25 Jul 2024 12:09:35 +0200 Subject: [PATCH 312/340] modify switch --- routing/Routing.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/routing/Routing.php b/routing/Routing.php index 25a40835..439d6db7 100644 --- a/routing/Routing.php +++ b/routing/Routing.php @@ -134,16 +134,16 @@ case 'project_link_user': $controller = new ControllerProjectLinkUser($entityManager, $user); echo (json_encode($controller->action($action, $_POST))); - error_log("User data: " . print_r($user, true)); - $session_id = session_id(); - $sessionRepository = $entityManager->getRepository(Session::class); - $sessionRepository->createSession($session_id, $user['id']); - echo (json_encode(["session_id" => $session_id])); $log->info($action, OK); break; case 'classroom': $controller = new ControllerClassroom($entityManager, $user); echo (json_encode($controller->action($action, $_POST))); + error_log("User data: " . print_r($user, true)); + $session_id = session_id(); + $sessionRepository = $entityManager->getRepository(Session::class); + $sessionRepository->createSession($session_id, $user['id']); + echo (json_encode(["session_id" => $session_id])); $log->info($action, OK); break; case 'classroom_link_user': From 61f31fa9cfaa552017e3e7c1bb05de469ff65ff9 Mon Sep 17 00:00:00 2001 From: StrippoliJules Date: Thu, 25 Jul 2024 15:22:36 +0200 Subject: [PATCH 313/340] modify classroom case to ensure the userid and session --- routing/Routing.php | 70 ++++++++++++++++++++++++++++++++++++++------- 1 file changed, 60 insertions(+), 10 deletions(-) diff --git a/routing/Routing.php b/routing/Routing.php index 439d6db7..f4ca6c61 100644 --- a/routing/Routing.php +++ b/routing/Routing.php @@ -136,16 +136,66 @@ echo (json_encode($controller->action($action, $_POST))); $log->info($action, OK); break; - case 'classroom': - $controller = new ControllerClassroom($entityManager, $user); - echo (json_encode($controller->action($action, $_POST))); - error_log("User data: " . print_r($user, true)); - $session_id = session_id(); - $sessionRepository = $entityManager->getRepository(Session::class); - $sessionRepository->createSession($session_id, $user['id']); - echo (json_encode(["session_id" => $session_id])); - $log->info($action, OK); - break; + case 'classroom': + try { + // Log initial action + error_log("Starting action: $action with POST data: " . print_r($_POST, true)); + + // Assuming $entityManager and $user are defined elsewhere + $controller = new ControllerClassroom($entityManager, $user); + $result = $controller->action($action, $_POST); + + // Log result of the action + error_log("Action result: " . print_r($result, true)); + // Delay the response for the action result until session creation is complete + $action_result = $result; + } catch (Exception $e) { + // Log exception details + error_log("Error processing action: " . $e->getMessage()); + echo json_encode(["error" => $e->getMessage()]); + break; // Exit case if there is an error + } + + try { + // Initialize session and log the session ID + $session_id = session_id(); + if (!$session_id) { + throw new Exception("Session ID is null"); + } + error_log("Session ID: " . $session_id); + + // Check user ID + if (!isset($user['id'])) { + throw new Exception("User ID is not set"); + } + error_log("User ID: " . $user['id']); + + // Create and persist the session + $sessionRepository = $entityManager->getRepository(Session::class); + $sessionRepository->createSession($session_id, $user['id']); + error_log("Session created in repository with session_id: $session_id and user_id: " . $user['id']); + + // Formulate the response + $response = [ + "session_id" => $session_id, + "action_result" => $action_result + ]; + $json_response = json_encode($response); + if ($json_response === false) { + throw new Exception("JSON encoding error: " . json_last_error_msg()); + } + error_log("Response: " . $json_response); + echo $json_response; + } catch (Exception $e) { + // Log exception details + error_log("Error creating session: " . $e->getMessage()); + echo json_encode(["error" => $e->getMessage()]); + } + + // Ensure logging action is correct + $log->info($action, OK); + error_log("End of processing"); + break; case 'classroom_link_user': $controller = new ControllerClassroomLinkUser($entityManager, $user); echo (json_encode($controller->action($action, $_POST))); From a77d4b2642bc3ea708e26d9b0ad0b1eb858e058c Mon Sep 17 00:00:00 2001 From: StrippoliJules Date: Thu, 25 Jul 2024 15:33:37 +0200 Subject: [PATCH 314/340] classroom switch change --- routing/Routing.php | 70 +++++++-------------------------------------- 1 file changed, 10 insertions(+), 60 deletions(-) diff --git a/routing/Routing.php b/routing/Routing.php index f4ca6c61..439d6db7 100644 --- a/routing/Routing.php +++ b/routing/Routing.php @@ -136,66 +136,16 @@ echo (json_encode($controller->action($action, $_POST))); $log->info($action, OK); break; - case 'classroom': - try { - // Log initial action - error_log("Starting action: $action with POST data: " . print_r($_POST, true)); - - // Assuming $entityManager and $user are defined elsewhere - $controller = new ControllerClassroom($entityManager, $user); - $result = $controller->action($action, $_POST); - - // Log result of the action - error_log("Action result: " . print_r($result, true)); - // Delay the response for the action result until session creation is complete - $action_result = $result; - } catch (Exception $e) { - // Log exception details - error_log("Error processing action: " . $e->getMessage()); - echo json_encode(["error" => $e->getMessage()]); - break; // Exit case if there is an error - } - - try { - // Initialize session and log the session ID - $session_id = session_id(); - if (!$session_id) { - throw new Exception("Session ID is null"); - } - error_log("Session ID: " . $session_id); - - // Check user ID - if (!isset($user['id'])) { - throw new Exception("User ID is not set"); - } - error_log("User ID: " . $user['id']); - - // Create and persist the session - $sessionRepository = $entityManager->getRepository(Session::class); - $sessionRepository->createSession($session_id, $user['id']); - error_log("Session created in repository with session_id: $session_id and user_id: " . $user['id']); - - // Formulate the response - $response = [ - "session_id" => $session_id, - "action_result" => $action_result - ]; - $json_response = json_encode($response); - if ($json_response === false) { - throw new Exception("JSON encoding error: " . json_last_error_msg()); - } - error_log("Response: " . $json_response); - echo $json_response; - } catch (Exception $e) { - // Log exception details - error_log("Error creating session: " . $e->getMessage()); - echo json_encode(["error" => $e->getMessage()]); - } - - // Ensure logging action is correct - $log->info($action, OK); - error_log("End of processing"); - break; + case 'classroom': + $controller = new ControllerClassroom($entityManager, $user); + echo (json_encode($controller->action($action, $_POST))); + error_log("User data: " . print_r($user, true)); + $session_id = session_id(); + $sessionRepository = $entityManager->getRepository(Session::class); + $sessionRepository->createSession($session_id, $user['id']); + echo (json_encode(["session_id" => $session_id])); + $log->info($action, OK); + break; case 'classroom_link_user': $controller = new ControllerClassroomLinkUser($entityManager, $user); echo (json_encode($controller->action($action, $_POST))); From 3f7ebf8ada1f68dc9e3f54954bc9290cc58c56db Mon Sep 17 00:00:00 2001 From: StrippoliJules Date: Thu, 25 Jul 2024 15:49:51 +0200 Subject: [PATCH 315/340] classroom switch modification in Routing.php --- routing/Routing.php | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/routing/Routing.php b/routing/Routing.php index 439d6db7..1225c575 100644 --- a/routing/Routing.php +++ b/routing/Routing.php @@ -136,16 +136,22 @@ echo (json_encode($controller->action($action, $_POST))); $log->info($action, OK); break; - case 'classroom': - $controller = new ControllerClassroom($entityManager, $user); - echo (json_encode($controller->action($action, $_POST))); - error_log("User data: " . print_r($user, true)); - $session_id = session_id(); - $sessionRepository = $entityManager->getRepository(Session::class); - $sessionRepository->createSession($session_id, $user['id']); - echo (json_encode(["session_id" => $session_id])); - $log->info($action, OK); - break; + case 'classroom': + $controller = new ControllerClassroom($entityManager, $user); + + $action_result = $controller->action($action, $_POST); + echo json_encode($action_result); + + error_log("User data: " . print_r($user, true)); + + $session_id = session_id(); + $sessionRepository = $entityManager->getRepository(Session::class); + $sessionRepository->createSession($session_id, $user['id']); + + echo json_encode(["session_id" => $session_id]); + + $log->info($action, OK); + break; case 'classroom_link_user': $controller = new ControllerClassroomLinkUser($entityManager, $user); echo (json_encode($controller->action($action, $_POST))); From 0ed573a05d8115fe5d32bdc5b4aa0a3fb8ba1ff6 Mon Sep 17 00:00:00 2001 From: StrippoliJules Date: Thu, 25 Jul 2024 16:33:40 +0200 Subject: [PATCH 316/340] combine json response for user and session --- routing/Routing.php | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/routing/Routing.php b/routing/Routing.php index 1225c575..b787c2ac 100644 --- a/routing/Routing.php +++ b/routing/Routing.php @@ -138,18 +138,20 @@ break; case 'classroom': $controller = new ControllerClassroom($entityManager, $user); - $action_result = $controller->action($action, $_POST); - echo json_encode($action_result); - - error_log("User data: " . print_r($user, true)); + // Create session after action $session_id = session_id(); $sessionRepository = $entityManager->getRepository(Session::class); $sessionRepository->createSession($session_id, $user['id']); - - echo json_encode(["session_id" => $session_id]); - + + $response = [ + 'action_result' => $action_result, + 'session_id' => $session_id, + ]; + echo json_encode($response); + + error_log("User data: " . print_r($user, true)); $log->info($action, OK); break; case 'classroom_link_user': From c6a7a88524b5cb85039a07b5d8c7d969d1eb4902 Mon Sep 17 00:00:00 2001 From: StrippoliJules Date: Thu, 25 Jul 2024 16:47:50 +0200 Subject: [PATCH 317/340] modify action result to include session_id --- routing/Routing.php | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/routing/Routing.php b/routing/Routing.php index b787c2ac..81f4565d 100644 --- a/routing/Routing.php +++ b/routing/Routing.php @@ -136,21 +136,22 @@ echo (json_encode($controller->action($action, $_POST))); $log->info($action, OK); break; - case 'classroom': + case 'classroom': $controller = new ControllerClassroom($entityManager, $user); $action_result = $controller->action($action, $_POST); - // Create session after action $session_id = session_id(); $sessionRepository = $entityManager->getRepository(Session::class); $sessionRepository->createSession($session_id, $user['id']); - - $response = [ - 'action_result' => $action_result, - 'session_id' => $session_id, - ]; - echo json_encode($response); - + + if (is_array($action_result)) { + $action_result['session_id'] = $session_id; + } else if (is_object($action_result)) { + $action_result->session_id = $session_id; + } + + echo json_encode($action_result); + error_log("User data: " . print_r($user, true)); $log->info($action, OK); break; From b7363d32828bc557105c032ded6c16e60f1f6d37 Mon Sep 17 00:00:00 2001 From: StrippoliJules Date: Thu, 25 Jul 2024 17:01:57 +0200 Subject: [PATCH 318/340] add action result to ClassroomManager.js --- classroom/assets/js/main/ClassroomManager.js | 2 +- routing/Routing.php | 16 +++++++--------- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/classroom/assets/js/main/ClassroomManager.js b/classroom/assets/js/main/ClassroomManager.js index 05e2b0df..2128db4e 100644 --- a/classroom/assets/js/main/ClassroomManager.js +++ b/classroom/assets/js/main/ClassroomManager.js @@ -126,7 +126,7 @@ class ClassroomManager { if (JSON.parse(response).error_message && JSON.parse(response).error_message !== undefined) { container.errors.push(GET_PUBLIC_PROJECTS_ERROR) } - let responseParsed = JSON.parse(response); + let responseParsed = JSON.parse(response).action_result; for (let classroom of responseParsed){ if(classroom.classroom.groupe) { classroom.classroom.name = `${classroom.classroom.name} | ${classroom.classroom.groupe}`; diff --git a/routing/Routing.php b/routing/Routing.php index 81f4565d..fb328d53 100644 --- a/routing/Routing.php +++ b/routing/Routing.php @@ -143,15 +143,13 @@ $session_id = session_id(); $sessionRepository = $entityManager->getRepository(Session::class); $sessionRepository->createSession($session_id, $user['id']); - - if (is_array($action_result)) { - $action_result['session_id'] = $session_id; - } else if (is_object($action_result)) { - $action_result->session_id = $session_id; - } - - echo json_encode($action_result); - + + $response = [ + 'action_result' => $action_result, + 'session_id' => $session_id, + ]; + echo json_encode($response); + error_log("User data: " . print_r($user, true)); $log->info($action, OK); break; From e450448d610044521746931edb3cb14c4f9b05f9 Mon Sep 17 00:00:00 2001 From: Baptiste Ledoyen Date: Tue, 30 Jul 2024 16:01:11 +0200 Subject: [PATCH 319/340] Test fix apostrophe fix fix sepcial add html fix delete activity and notif test log try fix delete notif fix forgot fix test fix fix back fix remove html back to +/- fix title try fix change delete modal name of activity restore notif test fix modal text title test fix notif fix --- classroom/assets/js/constants/modals.js | 2 +- .../assets/js/scripts/dashboardActivities.js | 2 +- .../assets/js/scripts/manageClassroom.js | 2 +- .../assets/js/scripts/teacherActivities.js | 29 +++++++++++++++---- 4 files changed, 26 insertions(+), 9 deletions(-) diff --git a/classroom/assets/js/constants/modals.js b/classroom/assets/js/constants/modals.js index 2ffe3a4b..369b4bfe 100644 --- a/classroom/assets/js/constants/modals.js +++ b/classroom/assets/js/constants/modals.js @@ -1201,7 +1201,7 @@ const classroomModals = {

      Cette activité est liée à un ou plusieurs parcours.

      -

      +

      diff --git a/classroom/assets/js/scripts/dashboardActivities.js b/classroom/assets/js/scripts/dashboardActivities.js index 55fd5e63..eab1a1e7 100644 --- a/classroom/assets/js/scripts/dashboardActivities.js +++ b/classroom/assets/js/scripts/dashboardActivities.js @@ -140,7 +140,7 @@ function teacherActivityItem(activity, displayStyle) {
      ${activity.isAutocorrect ? `` : "" } -