@ 2013-11-14T18:12:50Z <?php
/***
*
*/
verifyPageAccessibility();
$viewTemplate = getProtectedFolder() . '.form_programSubmission';
define ('STATE_INPUT', 'FORM_INPUT_AREA', true);
define ('STATE_CONFIRMED', 'DATA_CONFIRMED_AREA', true);
define ('STATE_PROGRM_SUBMIT', 'Submit my program!', true);
define ('FORM_LEVEL_ERROR', 'FORM_LEVEL_ERROR', true);
define ('EMAIL_SENDER_IDENTIFIER', 'Rutgers Day Program Request Form Submission', true);
$VIEW_ONLY_MODE= false;
// Adding Multiple form recipients
$emailRecipients = array('huacyang@gmail.com' => 'Hua Yang', 'dwsoares@ucm.rutgers.edu' => 'Danielle Weber-Soares');
//$emailRecipients = array('rudayforms@ucm.rutgers.edu' => 'Rutgers Day Program Submission Form');
//$emailRecipients = array('dwsoares@ucm.rutgers.edu' => 'Danielle Weber-Soares', 'rudayforms@ucm.rutgers.edu' => 'Rutgers Day Program Submission Form');
// Contains Form Display Building Funcitons
App::loadFunction('forms.formFunctions');
App::loadFunction('forms.programSubmissionFormFunctions');
App::loadFunction('forms.fixProgramSubmissionFormData');
App::loadFunction('validation.programSubmissionFormValidationFunctions');
App::loadFunction('helpers.getSchoolListArray');
App::loadFunction('helpers.getCampusListArray');
App::loadFunction('helpers.getProgramCategoryArray');
App::loadFunction('helpers.getIndoorProgramRoomsList');
// Utility & helper classes
App::loadClass('util.ErrorHandler');
App::loadClass('util.Sanitize');
App::loadClass('util.DataMsg');
App::loadClass('database.DBHandler');
// Load Aggregators
App::loadClass('aggregators.ProgramAudienceAggregator');
App::loadClass('aggregators.ProgramTimeAggregator');
// Form Helpers
App::loadClass('form.ProgramAudienceFormSubmission');
App::loadClass('form.ProgramTimeFormSubmission');
// Entities
App::loadClass('entities.Program');
App::loadClass('entities.ProgramAudienceOption');
App::loadClass('entities.StudentOrg');
App::loadClass('entities.RudayProgramTimeOption');
App::loadClass('entities.IndoorProgramOption');
App::loadClass('entities.OutdoorProgramOption');
App::loadClass('entities.StagePerformanceOption');
// Load Persistent classes
App::loadClass('persistent.ProgramPersistent');
App::loadClass('persistent.ProgramAudiencePersistent');
App::loadClass('persistent.StudentOrgPersistent');
App::loadClass('persistent.RudayProgramTimeOptionPersistent');
App::loadclass('persistent.IndoorProgramOptionPersistent');
App::loadclass('persistent.OutdoorProgramOptionPersistent');
App::loadclass('persistent.StagePerformanceOptionPersistent');
if (empty($_SESSION['FORM_EDIT_MODE']) && empty($_SESSION['FORM_VIEW_ONLY_MODE'])) {
$_SESSION['FORM_EDIT_MODE'] = true;
}
// error handler
$errorHandler = new ErrorHandler();
// instantiate program object
$program = new Program();
$program->set('netid', $_SESSION['netid']);
$studentOrg = new StudentOrg();
//
$programAudienceFormSubmission = new ProgramAudienceFormSubmission();
$programTimeFormSubmission = new ProgramTimeFormSubmission();
$indoorProgramOption = new IndoorProgramOption();
$outdoorProgramOption = new OutdoorProgramOption();
$stagePerformanceOption = new StagePerformanceOption();
if (isset($_POST) && sizeof($_POST) > 0) {
// fix data before continuing
fixProgramSubmissionFormData();
foreach ($_POST as $key=> $value) {
if (!is_array($value) && !is_numeric($value)) {
$value = Sanitize::fix_ms_smart_quotes($value);
}
$program->set($key, $value);
$programAudienceFormSubmission->set($key, $value);
$studentOrg->set($key, $value);
$programTimeFormSubmission->set($key, $value);
$indoorProgramOption->set($key, $value);
$outdoorProgramOption->set($key, $value);
$stagePerformanceOption->set($key, $value);
} // end of foreach ($_POST as $key=> $value)
// validate submitted form data
// Validate Program class instance
validateSubmittedProgramData($program, $errorHandler);
validateRudayContactPersonInformation($program, $errorHandler);
// Validate Select which best describes your audience: (check all that apply)
validateDescribeYourAudience($programAudienceFormSubmission, $errorHandler);
// Only validate student Org information IFF `program provider` is 'Student Organization'
$programProviderSelected = $program->get('prog_provider_cat');
if (strcasecmp($programProviderSelected , 'Student Organization') == 0) {
validateStudentOrg($studentOrg, $errorHandler);
}
// Validate submitted programming times
validateRutgersDayProgramTimes($programTimeFormSubmission, $errorHandler);
// validate indoor programs
$program_logistics_locality = $program->get('logistics_locality');
$indoorLocalityList = array ('Indoors', 'Either');
if (in_array($program_logistics_locality, $indoorLocalityList)) {
validateIndoorProgramOptions($indoorProgramOption, $errorHandler);
}
// Validate Outdoor programs
$outdoorLocalityList = array ('Outdoor', 'Either');
if (in_array($program_logistics_locality, $outdoorLocalityList)) {
validateOutdoorProgramOptions($outdoorProgramOption, $errorHandler);
}
// Validate Stage Performance
$program_desc_stage_performance = $program->get('prog_cat');
if (strcasecmp($program_desc_stage_performance, 'Stage Performance') == 0) {
validateStagePerformanceOptions($stagePerformanceOption, $errorHandler);
}
if (!$errorHandler->isError()) {
// IF NO ERRORS PROCESS FORM
// Decide what to do with the submitted data
$referrer = $_POST['referrer'];
if (!empty($_SESSION['FORM_EDIT_MODE']) && ($_SESSION['FORM_EDIT_MODE'] === true) && (strcasecmp($referrer, STATE_INPUT) == 0) ) {
$_SESSION['FORM_EDIT_MODE'] = false;
unset($_SESSION['FORM_EDIT_MODE']);
$_SESSION['FORM_VIEW_ONLY_MODE'] = true;
//$viewTemplate = getProtectedFolder() . '.form_programSubmissionConfirm';
}
else if (!empty($_SESSION['FORM_VIEW_ONLY_MODE']) && ($_SESSION['FORM_VIEW_ONLY_MODE'] === true) && (strcasecmp($referrer, STATE_CONFIRMED) == 0)) {
$_SESSION['FORM_VIEW_ONLY_MODE'] = false;
unset($_SESSION['FORM_VIEW_ONLY_MODE']);
$clickedButton = $_POST['submit'];
//echo $clickedButton; exit;
if (!empty($clickedButton) && strcasecmp($clickedButton, STATE_PROGRM_SUBMIT) == 0) {
// Insert submitted information into the DB
// **** START INSERTING INTO DB ****
// Insert Program Information
$programPersistent = new ProgramPersistent($program);
$dBHandler = new DBHandler(App::getDatabaseConnection());
$dBHandler->setEntity($programPersistent);
$program = $dBHandler->insert();
if ($program && is_a($program, 'Program')) {
// Program information submitted successfully
// tracking number
$trackingNumber = $program->get('program_id');
// class handles the db insert
$audienceIdArray = $programAudienceFormSubmission->getAudienceIdArray();
if (is_array($audienceIdArray)) {
foreach ($audienceIdArray as $audience_type_id) {
if (is_numeric($audience_type_id)) {
$programAudienceOption = new ProgramAudienceOption();
$programAudienceOption->set('audience_type_id', $audience_type_id);
$programAudienceOption->set('program_id', $trackingNumber);
$programAudiencePersistent = new ProgramAudiencePersistent($programAudienceOption);
$dBHandler->setEntity($programAudiencePersistent);
$dBHandler->insert();
} // end of if (is_numeric($audience_type_id))
} // end of foreach ($audienceObjectList as $programAudience)
} // end of if (is_array($audienceObjectList))
// Insert student org information
$studentOrg->set('program_id', $trackingNumber);
$studentOrgPersistent = new StudentOrgPersistent($studentOrg);
$dBHandler->setEntity($studentOrgPersistent);
$dBHandler->insert();
$programTimesArray = $programTimeFormSubmission->getTimeArray();
if (is_array($programTimesArray)) {
foreach ($programTimesArray as $time_id) {
if (is_numeric($time_id)) {
$rudayProgramTimeOption = new RudayProgramTimeOption();
$rudayProgramTimeOption->set('program_id', $trackingNumber);
$rudayProgramTimeOption->set('time_id', $time_id);
$rudayProgramTimeOptionPersistent = new RudayProgramTimeOptionPersistent($rudayProgramTimeOption);
$dBHandler->setEntity($rudayProgramTimeOptionPersistent);
$dBHandler->insert();
} // end of if (is_numeric($time_id))
} // end of foreach ($programTimesArray as $time_id)
} // end of if (is_array($programTimesArray))
// Insert indoor program information
$indoorProgramOption->set('program_id', $trackingNumber);
$indoorProgramOptionPersistent = new IndoorProgramOptionPersistent($indoorProgramOption);
$dBHandler->setEntity($indoorProgramOptionPersistent);
$dBHandler->insert();
// Insert outdoor program information
$outdoorProgramOption->set('program_id', $trackingNumber);
$outdoorProgramOptionPersistent = new OutdoorProgramOptionPersistent($outdoorProgramOption);
$dBHandler->setEntity($outdoorProgramOptionPersistent);
$dBHandler->insert();
// Insert outdoor program information
$stagePerformanceOption->set('program_id', $trackingNumber);
$stagePerformanceOptionPersistent = new StagePerformanceOptionPersistent($stagePerformanceOption);
$dBHandler->setEntity($stagePerformanceOptionPersistent);
$dBHandler->insert();
// ----- Prepare the email with the submitted data -------------------
$submittedFormDataPage = getProtectedFolder() . '.programSubmissionConfirmationForm';
App::loadClass('util.RudayMailer');
include_once(App::importView($submittedFormDataPage));
// $data array is populated from the programSubmissionConfirmationForm.tpl.php page
// Contains all the submitted data, this is used by the confirmation page to build the output
// This will be used to build the email mesages as well.
$txtOnlyMsg = '';
$htmlMsg = '';
$outputMsg = '';
if (is_array($data)) {
$htmlMsg .= '<table border="1" width="100%" >';
foreach ($data as $dataMsg) {
$header = $dataMsg->getSectionLabel();
if (!empty($header)) {
$backgroundColor = 'background-color: #A9A9A9';
if (!$dataMsg->isHeader()) {
$backgroundColor = 'background-color: #DCDCDC';
}
$htmlMsg .='<tr style="'. $backgroundColor .'" >';
$htmlMsg .='<td colspan="2">';
$htmlMsg .= '<strong>'. $header . '</strong>';
$htmlMsg .= '</td>';
$htmlMsg .= '</tr>';
$outputMsg .= "\n". ''. $header . "\n";
}
else {
$label = $dataMsg->getLabel();
$ans = $dataMsg->getAnswersInLine();
// clean html characters
$ans = Sanitize::htmlSpecialchars($ans);
if (!empty($label) && empty($ans)) {
$htmlMsg .='<tr style="'. $backgroundColor .'" >';
$htmlMsg .= '<td colspan="2">';
$htmlMsg .= '<strong>';
$htmlMsg .= $label;
$htmlMsg .= '</strong>';
$htmlMsg .= '</td>';
$htmlMsg .= '</tr>';
}
else {
$htmlMsg .= '<tr>';
$htmlMsg .= '<td width="20%" >';
$htmlMsg .= '<strong>';
if (strpos($label, 'phone?') !== false) {
$label = 'Microphone';
}
$htmlMsg .= $label;
$htmlMsg .= '</strong>';
$htmlMsg .= '</td>';
$htmlMsg .= '<td>';
if (strpos($label, 'audience') !== false) {
$ans = preg_replace('/\s+/', ', ', $ans);
}
$htmlMsg .= $ans;
$htmlMsg .= '</td>';
$htmlMsg .= '</tr>';
}
$outputMsg .= ''. $label . '';
$outputMsg .= $ans;
$outputMsg .= '\n\n';
}
}
$htmlMsg .= '</table>';
$rudayEmailer = new RudayMailer();
$rudayEmailer->isHTML(true);
$rudayEmailer->setSubject(EMAIL_SENDER_IDENTIFIER);
$rudayEmailer->setFrom(App::getDefaultEmailAddress(), EMAIL_SENDER_IDENTIFIER);
$rudayEmailer->setBody($htmlMsg);
$rudayEmailer->setAltBody($outputMsg);
if (is_array($emailRecipients) && sizeof($emailRecipients) > 0) {
foreach ($emailRecipients as $recipientAddress=>$recipient) {
$rudayEmailer->AddAddress($recipientAddress, $recipient);
} // end of foreach ($emailRecipients as $recipientAddress=>$recipient)
}// end of if (is_array($emailRecipients) && sizeof($emailRecipients) > 0)
$rudayEmailer->AddReplyTo('noreply@rutgersday.rutgers.edu', 'noreply');
// send email to the rutgers day administrators
$rudayEmailer->Send();
$rudayEmailer->ClearAddresses();
// send another email to the client
$emailThankYouMsg ="Thank you for submitting a program for Rutgers Day. Look for more information on our website about <a href=\"http://rutgersday.rutgers.edu\" target=\"_blank\">Rutgers Day</a> (http://rutgersday.rutgers.edu), along with tips for hosting a successful program.\r\n
<p style=\"font-weight: bold;background-color: yellow; border-style:solid; padding: 10px;\" >Remember Your Tracking Number is: {$trackingNumber}</p>
For questions or to make changes to your submission, please contact Terre Martin at 732-932-7823, ext. 672 or by email at rutgersday@rutgers.edu.\r\n
Please use your tracking number on all correspondence, and when you call, so we can find your program in our database.\r\n\r\n";
$rudayEmailer->setBody( nl2br($emailThankYouMsg) . $htmlMsg);
$rudayEmailer->setAltBody($emailThankYouMsg . $outputMsg);
$rudayEmailer->AddAddress($program->get('prime_contact_email'),$program->get('prime_contact_first_name') . ' '. $program->get('prime_contact_last_name') );
$rudayEmailer->Send();
$rudayEmailer->ClearAddresses();
$rudayEmailer->IsHTML(false);
header('Location:?q=programSubmissionThankyou&tracking_number=' . $trackingNumber );
exit(0);
} // end of if (is_array($data)) {
} // end of
else {
// if db insert error
$errorHandler->addError(FORM_LEVEL_ERROR, _ERROR_DATABASE_, _ERROR_INSERT_FAILED_MSG_ . ' [PROGRAM ENTITY]');
} // end else
} // end of if (!empty($clickedButton) && strcasecmp($clickedButton, STATE_PROGRM_SUBMIT) == 0)
} // end of else if (strcasecmp($referrer, STATE_CONFIRMED) == 0)
} // end of if (!$errorHandler->isError())
}// end of if (isset($_POST) && sizeof($_POST) > 0)
else {
$_SESSION['FORM_VIEW_ONLY_MODE'] = false;
unset($_SESSION['FORM_VIEW_ONLY_MODE']);
// Not Applicable
$program->set('prime_contact_school', 'Not Applicable');
$program->set('prime_contact_campus', 'Not Applicable');
}
if (!empty($_SESSION['FORM_VIEW_ONLY_MODE']) && ($_SESSION['FORM_VIEW_ONLY_MODE'] === true)) {
$VIEW_ONLY_MODE = true;
}
else {
$_SESSION['FORM_EDIT_MODE'] = true;
$VIEW_ONLY_MODE = false;
}
include_once(App::importView($viewTemplate));
?>
Enable javascript to submit You have javascript disabled. You will not be able to edit any code.
Here you find the average performance (time & memory) of each version. A grayed out version indicates it didn't complete successfully (based on exit-code).
Version System time (s) User time (s) Memory (MiB) 8.3.7 0.014 0.007 18.23 8.3.6 0.012 0.003 18.30 8.3.5 0.011 0.010 21.26 8.3.4 0.004 0.011 18.95 8.3.3 0.014 0.000 20.43 8.3.2 0.003 0.006 20.59 8.3.1 0.004 0.004 21.09 8.3.0 0.000 0.010 23.55 8.2.18 0.016 0.003 18.30 8.2.17 0.006 0.009 22.96 8.2.16 0.010 0.010 20.61 8.2.15 0.005 0.003 24.18 8.2.14 0.000 0.008 24.66 8.2.13 0.004 0.004 26.16 8.2.12 0.003 0.007 21.13 8.2.11 0.006 0.003 19.45 8.2.10 0.006 0.006 18.03 8.2.9 0.005 0.003 19.42 8.2.8 0.005 0.003 18.29 8.2.7 0.005 0.009 17.88 8.2.6 0.003 0.007 18.18 8.2.5 0.004 0.004 18.07 8.2.4 0.003 0.006 18.29 8.2.3 0.000 0.007 19.66 8.2.2 0.008 0.000 17.98 8.2.1 0.000 0.008 17.97 8.2.0 0.007 0.003 17.90 8.1.28 0.009 0.009 25.92 8.1.27 0.008 0.000 23.99 8.1.26 0.005 0.003 26.35 8.1.25 0.004 0.004 28.09 8.1.24 0.008 0.004 20.95 8.1.23 0.009 0.003 21.10 8.1.22 0.000 0.008 18.77 8.1.21 0.003 0.006 19.02 8.1.20 0.006 0.003 17.48 8.1.19 0.008 0.000 17.65 8.1.18 0.000 0.008 18.10 8.1.17 0.005 0.003 18.71 8.1.16 0.004 0.004 19.00 8.1.15 0.000 0.008 18.73 8.1.14 0.004 0.004 17.51 8.1.13 0.004 0.004 18.00 8.1.12 0.004 0.004 17.62 8.1.11 0.003 0.005 17.55 8.1.10 0.004 0.004 17.45 8.1.9 0.000 0.007 17.45 8.1.8 0.002 0.005 17.56 8.1.7 0.004 0.004 17.46 8.1.6 0.004 0.004 17.70 8.1.5 0.006 0.003 17.65 8.1.4 0.003 0.006 17.58 8.1.3 0.004 0.004 17.70 8.1.2 0.000 0.009 17.72 8.1.1 0.000 0.008 17.72 8.1.0 0.003 0.006 17.59 8.0.30 0.005 0.003 20.14 8.0.29 0.005 0.002 17.28 8.0.28 0.000 0.007 18.59 8.0.27 0.004 0.004 17.42 8.0.26 0.000 0.008 16.91 8.0.25 0.000 0.008 17.05 8.0.24 0.000 0.008 17.16 8.0.23 0.003 0.005 17.16 8.0.22 0.003 0.003 17.10 8.0.21 0.004 0.004 17.10 8.0.20 0.007 0.000 17.10 8.0.19 0.003 0.007 17.18 8.0.18 0.008 0.000 17.02 8.0.17 0.002 0.005 17.09 8.0.16 0.004 0.004 17.21 8.0.15 0.006 0.003 17.08 8.0.14 0.000 0.009 17.08 8.0.13 0.000 0.007 13.52 8.0.12 0.000 0.009 16.94 8.0.11 0.004 0.004 16.95 8.0.10 0.008 0.000 16.98 8.0.9 0.005 0.003 17.09 8.0.8 0.012 0.006 17.03 8.0.7 0.004 0.004 16.96 8.0.6 0.000 0.008 17.07 8.0.5 0.000 0.008 17.07 8.0.3 0.014 0.005 17.12 8.0.2 0.007 0.017 17.46 8.0.1 0.000 0.007 17.02 8.0.0 0.011 0.008 16.91 7.4.33 0.003 0.003 15.24 7.4.32 0.003 0.005 16.55 7.4.30 0.000 0.007 16.80 7.4.29 0.000 0.007 16.81 7.4.28 0.012 0.000 16.54 7.4.27 0.000 0.007 16.69 7.4.26 0.000 0.006 13.46 7.4.25 0.003 0.005 16.64 7.4.24 0.002 0.005 16.74 7.4.23 0.000 0.008 16.58 7.4.22 0.009 0.010 16.82 7.4.21 0.012 0.004 16.76 7.4.20 0.008 0.000 16.59 7.4.19 0.007 0.000 16.95 7.4.16 0.006 0.009 16.62 7.4.15 0.009 0.009 17.40 7.4.14 0.007 0.014 17.86 7.4.13 0.015 0.009 16.64 7.4.12 0.013 0.007 16.62 7.4.11 0.010 0.010 16.64 7.4.10 0.008 0.008 16.74 7.4.9 0.009 0.010 16.70 7.4.8 0.014 0.007 19.39 7.4.7 0.010 0.007 16.86 7.4.6 0.007 0.011 16.81 7.4.5 0.000 0.009 16.80 7.4.4 0.000 0.019 22.77 7.4.3 0.007 0.010 16.68 7.4.0 0.007 0.007 14.87 7.3.33 0.000 0.006 13.23 7.3.32 0.005 0.000 13.36 7.3.31 0.000 0.008 16.35 7.3.30 0.005 0.003 16.49 7.3.29 0.013 0.006 16.52 7.3.28 0.002 0.014 16.54 7.3.27 0.007 0.010 17.40 7.3.26 0.014 0.007 18.24 7.3.25 0.011 0.008 16.58 7.3.24 0.004 0.015 16.60 7.3.23 0.011 0.011 16.76 7.3.21 0.015 0.006 16.56 7.3.20 0.011 0.011 19.39 7.3.19 0.008 0.009 16.44 7.3.18 0.015 0.004 16.48 7.3.17 0.010 0.007 16.49 7.3.16 0.010 0.007 16.53 7.3.12 0.004 0.011 15.05 7.2.33 0.014 0.003 16.87 7.2.32 0.003 0.015 16.70 7.2.31 0.007 0.016 16.63 7.2.30 0.011 0.012 16.82 7.2.29 0.014 0.006 16.81 7.2.6 0.000 0.011 16.68 7.2.0 0.008 0.003 19.23 7.1.20 0.003 0.009 15.75 7.1.10 0.004 0.011 17.84 7.1.7 0.000 0.008 17.02 7.1.6 0.014 0.010 19.17 7.1.5 0.014 0.007 16.85 7.1.0 0.010 0.063 22.29 7.0.20 0.005 0.003 16.37 7.0.14 0.000 0.077 22.10 7.0.10 0.013 0.040 20.18 7.0.9 0.003 0.033 20.05 7.0.8 0.000 0.037 20.33 7.0.7 0.003 0.040 20.22 7.0.6 0.007 0.030 20.12 7.0.5 0.007 0.030 20.49 7.0.4 0.007 0.030 20.19 7.0.3 0.003 0.037 20.07 7.0.2 0.003 0.033 20.09 7.0.1 0.000 0.053 20.04 7.0.0 0.010 0.030 19.96 5.6.28 0.007 0.070 21.02 5.6.25 0.007 0.037 20.79 5.6.24 0.000 0.047 20.64 5.6.23 0.010 0.030 20.63 5.6.22 0.007 0.037 20.78 5.6.21 0.003 0.033 20.75 5.6.20 0.000 0.040 21.09 5.6.19 0.013 0.030 21.17 5.6.18 0.000 0.037 21.16 5.6.17 0.000 0.037 21.30 5.6.16 0.003 0.033 21.21 5.6.15 0.000 0.037 21.09 5.6.14 0.003 0.037 21.23 5.6.13 0.007 0.030 21.19 5.6.12 0.013 0.027 21.21 5.6.11 0.000 0.043 21.14 5.6.10 0.007 0.030 21.18 5.6.9 0.007 0.033 21.13 5.6.8 0.007 0.030 20.64 5.6.7 0.013 0.023 20.59 5.6.6 0.010 0.067 20.46 5.6.5 0.017 0.060 20.63 5.6.4 0.003 0.050 20.57 5.6.3 0.007 0.037 20.59 5.6.2 0.010 0.030 20.53 5.6.1 0.010 0.070 20.43 5.6.0 0.010 0.083 20.50 5.5.38 0.007 0.037 20.51 5.5.37 0.003 0.033 20.50 5.5.36 0.000 0.043 20.51 5.5.35 0.007 0.030 20.55 5.5.34 0.003 0.033 20.93 5.5.33 0.003 0.033 20.77 5.5.32 0.007 0.043 20.96 5.5.31 0.003 0.040 20.90 5.5.30 0.000 0.040 20.73 5.5.29 0.000 0.040 20.90 5.5.28 0.003 0.037 20.93 5.5.27 0.003 0.033 20.91 5.5.26 0.020 0.030 21.05 5.5.25 0.007 0.033 20.83 5.5.24 0.003 0.033 20.39 5.5.23 0.007 0.030 20.34 5.5.22 0.007 0.043 20.43 5.5.21 0.003 0.037 20.27 5.5.20 0.007 0.063 20.25 5.5.19 0.007 0.057 20.35 5.5.18 0.007 0.077 20.25 5.5.16 0.007 0.033 20.12 5.5.15 0.003 0.040 20.37 5.5.14 0.007 0.067 20.41 5.5.13 0.003 0.080 20.21 5.5.12 0.000 0.040 20.11 5.5.11 0.003 0.040 20.24 5.5.10 0.010 0.033 20.21 5.5.9 0.000 0.040 20.20 5.5.8 0.007 0.043 20.29 5.5.7 0.017 0.027 20.22 5.5.6 0.010 0.033 20.19 5.5.5 0.007 0.060 20.09 5.5.4 0.010 0.060 20.21 5.5.3 0.007 0.043 20.21 5.5.2 0.003 0.040 20.16 5.5.1 0.010 0.077 20.10 5.5.0 0.003 0.063 20.20 5.4.45 0.003 0.033 19.36 5.4.44 0.000 0.037 19.36 5.4.43 0.007 0.030 19.35 5.4.42 0.003 0.033 19.17 5.4.41 0.007 0.030 19.04 5.4.40 0.003 0.030 19.02 5.4.39 0.010 0.030 19.23 5.4.38 0.003 0.037 18.95 5.4.37 0.000 0.043 19.11 5.4.36 0.010 0.033 18.99 5.4.35 0.003 0.043 19.08 5.4.34 0.003 0.047 19.11 5.4.32 0.003 0.037 19.08 5.4.31 0.007 0.033 19.17 5.4.30 0.000 0.040 19.03 5.4.29 0.000 0.040 18.98 5.4.28 0.003 0.050 18.85 5.4.27 0.003 0.057 19.18 5.4.26 0.010 0.030 19.02 5.4.25 0.003 0.040 19.03 5.4.24 0.007 0.070 18.84 5.4.23 0.007 0.073 19.23 5.4.22 0.007 0.043 19.09 5.4.21 0.010 0.087 19.20 5.4.20 0.010 0.083 19.23 5.4.19 0.003 0.040 18.85 5.4.18 0.003 0.043 18.94 5.4.17 0.010 0.067 19.13 5.4.16 0.007 0.047 18.83 5.4.15 0.010 0.040 19.01 5.4.14 0.010 0.033 16.33 5.4.13 0.007 0.043 16.30 5.4.12 0.000 0.053 16.16 5.4.11 0.007 0.033 16.31 5.4.10 0.003 0.033 16.33 5.4.9 0.003 0.037 16.55 5.4.8 0.003 0.050 16.32 5.4.7 0.003 0.037 16.31 5.4.6 0.000 0.050 16.37 5.4.5 0.007 0.033 16.48 5.4.4 0.003 0.037 16.43 5.4.3 0.020 0.063 16.36 5.4.2 0.007 0.033 16.28 5.4.1 0.000 0.047 16.48 5.4.0 0.007 0.040 15.85 5.3.29 0.007 0.033 14.73 5.3.28 0.003 0.037 14.69 5.3.27 0.013 0.067 14.57 5.3.26 0.010 0.053 14.65 5.3.25 0.007 0.037 14.68 5.3.24 0.003 0.037 14.67 5.3.23 0.010 0.030 14.71 5.3.22 0.007 0.033 14.67 5.3.21 0.003 0.077 14.66 5.3.20 0.007 0.057 14.52 5.3.19 0.000 0.070 14.63 5.3.18 0.003 0.070 14.51 5.3.17 0.010 0.030 14.66 5.3.16 0.003 0.043 14.53 5.3.15 0.003 0.037 14.63 5.3.14 0.010 0.087 14.67 5.3.13 0.003 0.040 14.56 5.3.12 0.010 0.053 14.64 5.3.11 0.000 0.040 14.64 5.3.10 0.003 0.037 14.08 5.3.9 0.000 0.040 13.98 5.3.8 0.003 0.033 14.13 5.3.7 0.000 0.040 14.06 5.3.6 0.000 0.043 13.97 5.3.5 0.003 0.037 14.03 5.3.4 0.003 0.047 14.01 5.3.3 0.000 0.040 13.95 5.3.2 0.003 0.033 13.79 5.3.1 0.003 0.033 13.62 5.3.0 0.007 0.070 13.65
preferences:dark mode live preview
52.93 ms | 401 KiB | 5 Q