Moved docu to new training repro

This commit is contained in:
bartels-rausch committed 2026-08-21 17:10:01 +02:00
1 parent 4d6500ba85
commit 0629ece97c
83 files changed
-8575

No files matched your search

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 MiB

-222
View File
@@ -1,222 +0,0 @@
%% How do I ....
clc;clearvars; close all
load FileList.mat
%% ... quick-and-dirty normalize
%
% Normalize counts per second to a reference intensity? You need to plot the
% two spectra and use the cursor to read the intensities from the figures.
% Then change the spectra intensities directly in the table as shown here:
%
% Do not save the FileList. This way you can reload it from the MAT file to
% start fresh.
close all;clc
tmpDataSelection = matches(FileList.name,"0146146_Cl2p_850eV.ibw");
FileList = nappGenerateSpectra(FileList,tmpDataSelection);
nappPlot(FileList,tmpDataSelection,'tableVariable','spectrum_countsPerSecond','mode','OneEach');
xlim([647 652])
FileList(tmpDataSelection,:).spectrum_countsPerSecond{:} = FileList(tmpDataSelection,:).spectrum_countsPerSecond{:} .* 22335./39687;
nappPlot(FileList,tmpDataSelection,'tableVariable','spectrum_countsPerSecond','mode','OneEach');
xlim([647 652])
ylabel("counts [norm to Al]")
legend
distFig
%% ... quick-and-dirty shift spectra
%
% If you do not want to generate the binding-energy scale using the
% nappMATLAB function.
close all;clc
% Select your data based on the filename
tmpDataSelection = startsWith(FileList.name, "0191191_O1s_VB_525eV");
% List the selected files in the command window
disp(FileList(tmpDataSelection,{'name','lastModifiedDatestr','scientaPassEnergy_eV'}))
% Generate spectra
FileList = nappGenerateSpectra(FileList,tmpDataSelection);
% Plot in kinetic-energy mode
nappPlot(FileList,tmpDataSelection,'tableVariable','spectrum_countsPerSecond','mode','AllInOne','energyScale','kinetic');
% Apply the shift to kinetic energy manually and plot
FileList(tmpDataSelection,:).scientaEkin_eV{:} = FileList(tmpDataSelection,:).scientaEkin_eV{:}-20;
nappPlot(FileList,tmpDataSelection,'tableVariable','spectrum_countsPerSecond','mode','AllInOne','energyScale','kinetic');
distFig
%% ... remove a sweep (sequence iteration) from data
close all; clc
% Remove sweep 3:
tmpDataSelection = contains(FileList.name,'0146146_Al2p_850eV.ibw');
nappPlot(FileList,tmpDataSelection,'tableVariable','image')
FileList(tmpDataSelection,:).image{:}(:,3)=[];
nappPlot(FileList,tmpDataSelection,'tableVariable','image')
distFig
%% ... remove several sweeps
close all; clc
tmpDataSelection = contains(FileList.name,'0146146_Al2p_850eV.ibw');
% Remove sweeps 5–9
nappPlot(FileList,tmpDataSelection,'tableVariable','image')
FileList(tmpDataSelection,:).image{:}(:,5:9)=[];
nappPlot(FileList,tmpDataSelection,'tableVariable','image')
distFig
%% ... correct beamline offset
% This will correct 1.6 eV on the X-ray energies, which is particularly
% important for NEXAFS data. One can also do this on selected data only.
FileList.xRayEkin_eV = cellfun(@(x) x+1.6,FileList.xRayEkin_eV,'UniformOutput',false);
%% ... on-the-fly shift data in a figure
tmpDataSelection = month(FileList.lastModifiedDatenum) == 11 ...
& year(FileList.lastModifiedDatenum) == 2025 ...
& ~contains(FileList.sample,"(bad data)") ...
& contains(FileList.name,"O_Kedge_Resonant") ...
& contains(FileList.name,"0025");
nappPlot(FileList,tmpDataSelection,'tableVariable','image','mode','AugerMeitner','AugerMeitnerEnergies',[525,545,550]);
hax = gca;
hax.XDir = 'reverse';
xlabel('Auger-Meitner binding energy [eV]');
% Shift data (same works in Y direction)
dataObjs = findobj(gcf,'-property','YData');
dataObjs(1).XData = dataObjs(1).XData -10;
dataObjs(2).XData = dataObjs(2).XData +10;
dataObjs(3).XData = dataObjs(3).XData +20;
%% ... on-the-fly smooth data in a figure
clc;close all
tmpDataSelection = month(FileList.lastModifiedDatenum) == 11 ...
& year(FileList.lastModifiedDatenum) == 2025 ...
& ~contains(FileList.sample,"(bad data)") ...
& contains(FileList.name,"O_Kedge_Resonant") ...
& contains(FileList.name,"0025");
nappPlot(FileList,tmpDataSelection,'tableVariable','image','mode','AugerMeitner','AugerMeitnerEnergies',[525,545,550]);
hax = gca;
hax.XDir = 'reverse';
xlabel('Auger-Meitner binding energy [eV]');
dataObjs = findobj(gcf,'-property','YData');
y = dataObjs(1).YData;
dataObjs(1).YData = smoothdata(y ,'sgolay',10);
y = dataObjs(2).YData;
dataObjs(2).YData = smoothdata(y ,'sgolay',10);
y = dataObjs(3).YData;
dataObjs(3).YData = smoothdata(y ,'sgolay',10);
%% ... on-the-fly remove data from a figure
clc;close all
tmpDataSelection = month(FileList.lastModifiedDatenum) == 11 ...
& year(FileList.lastModifiedDatenum) == 2025 ...
& ~contains(FileList.sample,"(bad data)") ...
& contains(FileList.name,"O_Kedge_Resonant") ...
& contains(FileList.name,"0025");
nappPlot(FileList,tmpDataSelection,'tableVariable','image','mode','AugerMeitner','AugerMeitnerEnergies',[525,545,550]);
hax = gca;
hax.XDir = 'reverse';
xlabel('Auger-Meitner binding energy [eV]');
dataObjs = findobj(gcf,'-property','YData');
delete(dataObjs(1))
legend('545','550');
%% ... on-the-fly change colors in a figure
clc;close all
tmpDataSelection = month(FileList.lastModifiedDatenum) == 11 ...
& year(FileList.lastModifiedDatenum) == 2025 ...
& ~contains(FileList.sample,"(bad data)") ...
& contains(FileList.name,"O_Kedge_Resonant") ...
& contains(FileList.name,"0025");
nappPlot(FileList,tmpDataSelection,'tableVariable','image','mode','AugerMeitner','AugerMeitnerEnergies',[525,545,550]);
hax = gca;
hax.XDir = 'reverse';
xlabel('Auger-Meitner binding energy [eV]');
dataObjs = findobj(gcf,'-property','YData');
dataObjs(2).Color = [184 184 185]/255;
dataObjs(3).Color = [58 162 190]/255;
%% ... combine two tables with common and different columns (variables) into one?
%
% This example shows how a helper function (outerjoinRowToTable) can
% append rows from one table to another even if the tables do not start
% with exactly the same set of variables (columns).[web:59]
for ii=1
%% Create simple table 1
%
% --- Table 1: one row, six columns of different types --------------------
%
% Types requested:
% 1) character -> stored as cell containing a char vector
% 2) string -> string scalar
% 3) cell array -> heterogeneous container
% 4) cell -> cell holding a scalar
% 5) array -> numeric vector
% 6) number -> scalar double
%
% MATLAB tables can hold mixed data types column-wise as long as each
% column has the same number of rows.[web:59]
%
% For "character": use a 1x1 cell that contains a char vector
charCol = {'name1'}; % cell containing a character vector
stringCol = "hello"; % string scalar
cellArrayCol = {1 2 3}; % 1x3 cell array
cellCol = {42}; % 1x1 cell, holding a number
arrayCol = 1:5; % numeric row vector
numberCol = 3.14; % scalar double
Table1 = table(charCol, stringCol, cellArrayCol, cellCol, arrayCol, numberCol, ...
'VariableNames', {'CharCol','StringCol','CellArrayCol','CellCol','ArrayCol','NumberCol'});
%% Create Table 2
%
% --- Table 2: one row, with a different set of variables -----------------
%
% Table2 shares the variable CharCol with Table1, but also has a new
% variable OneNumber that does not exist in Table1.
%
% When we combine the tables, CharCol will become a column with two rows
% (name1 and name2). The new variable OneNumber will be added to Table1,
% and the missing value for the first row will be filled with a numeric
% placeholder (NaN).
oneNumber = 99; % scalar double
charCol = {'name2'}; % cell containing a character vector
Table2 = table(oneNumber, charCol, ...
'VariableNames', {'OneNumber', 'CharCol'});
disp(Table1);
disp(Table2);
%% Combine both into one
%
% outerjoinRowToTable does the following:
% 1) It compares the VariableNames of both tables.
% - Columns with the same name (here CharCol) are aligned and will
% end up as a single column with multiple rows.
% 2) For variables that only exist in one table:
% - If a variable is missing in the incoming rows, a new column is
% added to that smaller table and filled with placeholder values
% (NaN for numeric types, ' ' or " " for text/cell/string types),
% so that the column exists for all rows.
% - This ensures both tables have the same set of columns before
% concatenation.
% 3) After the variable sets are harmonized, the rows are concatenated
% with standard vertical stacking, so the result is one table where:
% - Shared columns (CharCol) contain data from both input tables
% in separate rows.
% - Columns that were unique to one input (e.g. OneNumber or
% ArrayCol) show data where available and placeholder values where
% that column did not exist originally.[web:59]
Table3 = outerjoinRowToTable(Table1,Table2);
disp(Table3)
% In a real workflow, this pattern allows you to successively append
% FileList tables from multiple beamtimes, even if new metadata
% columns were introduced later. Older rows are back-filled with
% placeholder values for new variables, while shared columns accumulate
% additional rows representing more files / experiments.
%
% Example:
% tmpData = load('../beamtimes/20220828BeamTimeIceNappIss/FileList.mat');
% tmpData2 = load('../beamtimes/20211216BeamTimeLjSim/FileList.mat');
% FileList = outerjoinRowToTable(tmpData.FileList,tmpData2.FileList);
end
@@ -1,464 +0,0 @@
%[text] # SOP Beamtime analysis
%[text] This document outlines standard procedures for data analysis during beamtime. Help on how to use the functions can be found here:
%[text] [https://gitea.psi.ch/5505/functionsMatlab/src/branch/main/beamtime](https://gitea.psi.ch/5505/functionsMatlab/src/branch/main/beamtime)
%[text] and
%[text] [https://gitea.psi.ch/5505/functionsMatlab/src/branch/main/beamtime/documentedExampleScripts](https://gitea.psi.ch/5505/functionsMatlab/src/branch/main/beamtime/documentedExampleScripts)
%%
%[text] ## Load Data
%[text] Import raw beamtime data into the Matlab workspace for analysis. Data is organized in a single *matlab data table* where XPS intensities from region iterations are averaged and normalized to counts per second (CPS). This ensures comparison regardless of dwell time or region iteration settings.
%[text] There are several options to import. The preferred way is to write a importData.m script to call the import function and to add notes to data. Once imported, data is saved to a FileList.mat file, which should be updated regularly to ensure the MATLAB works with the most recent data.
clc
close all
clearvars
run('importData.m'); % or load("FileList.mat","FileList") %[output:35471fec]
% add another FileList.mat to the FileList table
tmpData = load('nappIceHowToData.mat');
FileList = outerjoinRowToTable(FileList,tmpData.FileList);
clearvars tmp*
%%
%[text] ## Align sample
%[text] - Approach and take spectra too far away, too close, in working distance.
%[text] - At least note dwell time and pass energy and area reading for a few distances
%[text] - also note x,y,z \
%[text] ## Reference spectra
%[text] 1. sample prior to dosing.
%[text] 2. sample prior to adding dosing carrier gas.
%[text] 3. gas-phase with all settings used for sample.
%[text] 4. cold and warm sample holder without sample (if contamination is an issue). \
%[text] ## Survey: Characterize sample
%[text] Survey spectra are used to characterize new samples and to monitor samples over time. They should show all expected elements and no unexpected ones, and are typically recorded at key times (before/after experiments, when dosing changes, at regular intervals).
%[text] **If unexpected peaks appear**
%[text] 1. Identify the element(s) based on peak binding energy, expected additional peaks for that element, and plausible sources in the setup.
%[text] 2. Decide whether to accept the contamination (and document it) or to remove its source by changing or cleaning the sample or cell, or otherwise eliminating the contamination source. \
%%
%[text] ### Plot the survey
% select the survey to plot using filtering rules
tmpDataSelection = month(FileList.lastModifiedDatenum) == 11 ...
& year(FileList.lastModifiedDatenum) == 2025 ...
& ~contains(FileList.sample,"(bad data)") ...
& contains(FileList.name,"Survey") ...
& (contains(FileList.name,"128"));
% List the selected spectra to always ensure that you select the spectra you intended.
disp(FileList(tmpDataSelection,{'name','lastModifiedDatestr','sample'})) %[output:4e5ecffd]
% Generate spectrum
FileList = nappGenerateSpectra(FileList,tmpDataSelection);
% Plot spectrum
nappPlot(FileList,tmpDataSelection,'tableVariable','spectrum_countsPerSecond','mode','OneEach'); %[output:04fdda4a]
%%
%[text] ### Identify all peaks
%[text] Use the example peak list as a template to identify and document all relevant features in your own survey. Note that the binding energies are rough estimates – to use this further we need to confirm them and add the source/reference. Select what you need for your data, add what is missing.
dataObjs = findobj(gcf,'-property','YData');
% BE shift due to charging and analyzer off-set
tmpxShift = 7;
% xray energy of this survey
tmpxRayEnergy = 850;
% adjust the height in y-scale units of annotations.
tmpyPosition = 0.5E5;
tmpyPositionTwo = 0.8E5;
% Au peaks
%nappAnnotateSurvey(tmpxRayEnergy-57-tmpxShift,tmpyPosition-tmpyPositionTwo,dataObjs(1),'Au5p3/2');
%nappAnnotateSurvey(tmpxRayEnergy-74-tmpxShift,tmpyPosition+tmpyPositionTwo,dataObjs(1),'Au5p5/2');
nappAnnotateSurvey(tmpxRayEnergy-84-tmpxShift,tmpyPosition,dataObjs(1),'Au4f7/2'); %[output:8d5664cd]
nappAnnotateSurvey(tmpxRayEnergy-88-tmpxShift,tmpyPosition-tmpyPositionTwo,dataObjs(1),'Au4f5/2'); %[output:8d5664cd]
%nappAnnotateSurvey(tmpxRayEnergy-107-tmpxShift,tmpyPosition,dataObjs(1),'Au5s');
%nappAnnotateSurvey(tmpxRayEnergy-335-tmpxShift,tmpyPosition+tmpyPositionTwo,dataObjs(1),'Au4d1/2');
%nappAnnotateSurvey(tmpxRayEnergy-353-tmpxShift,tmpyPosition,dataObjs(1),'Au4d3/2');
%nappAnnotateSurvey(tmpxRayEnergy-546-tmpxShift,tmpyPosition+tmpyPositionTwo,dataObjs(1),'Au4p3/2');
%nappAnnotateSurvey(tmpxRayEnergy-643-tmpxShift,tmpyPosition,dataObjs(1),'Au4p1/2');
nappAnnotateSurvey(tmpxRayEnergy-762-tmpxShift,tmpyPosition+tmpyPositionTwo,dataObjs(1),'Au4s'); %[output:8d5664cd]
nappAnnotateSurvey(tmpxRayEnergy-8-tmpxShift,tmpyPosition,dataObjs(1),'AuVB'); %[output:8d5664cd]
% Usual suspects
nappAnnotateSurvey(tmpxRayEnergy-285-tmpxShift,tmpyPosition+tmpyPositionTwo,dataObjs(1),'C1s'); %[output:8d5664cd]
nappAnnotateSurvey(tmpxRayEnergy-534-tmpxShift,tmpyPosition,dataObjs(1),'O1s'); %[output:8d5664cd]
nappAnnotateSurvey(tmpxRayEnergy-30-tmpxShift,tmpyPosition+tmpyPositionTwo,dataObjs(1),'O2s'); %[output:8d5664cd]
nappAnnotateSurvey(tmpxRayEnergy-405-tmpxShift,tmpyPosition+tmpyPositionTwo,dataObjs(1),'N1s'); %[output:8d5664cd]
%nappAnnotateSurvey(tmpxRayEnergy-495-tmpxShift,tmpyPosition,dataObjs(1),'Sn3d');
%nappAnnotateSurvey(tmpxRayEnergy-691-tmpxShift,tmpyPosition+tmpyPositionTwo,dataObjs(1),'F1s');
%nappAnnotateSurvey(tmpxRayEnergy-295-tmpxShift,tmpyPosition,dataObjs(1),'K2p');
%nappAnnotateSurvey(tmpxRayEnergy-380-tmpxShift,tmpyPosition+tmpyPositionTwo,dataObjs(1),'K2s');
nappAnnotateSurvey(tmpxRayEnergy-153-tmpxShift,tmpyPosition,dataObjs(1),'Si2s'); %[output:8d5664cd]
nappAnnotateSurvey(tmpxRayEnergy-100-tmpxShift,tmpyPosition+tmpyPositionTwo,dataObjs(1),'Si2p'); %[output:8d5664cd]
nappAnnotateSurvey(tmpxRayEnergy-197-tmpxShift,tmpyPosition,dataObjs(1),'Cl2p'); %[output:8d5664cd]
nappAnnotateSurvey(tmpxRayEnergy-271-tmpxShift,tmpyPosition,dataObjs(1),'Cl2s'); %[output:8d5664cd]
nappAnnotateSurvey(tmpxRayEnergy-286-tmpxShift,tmpyPosition-tmpyPositionTwo,dataObjs(1),'Sn3p'); %[output:8d5664cd]
% Clay
%nappAnnotateSurvey(tmpxRayEnergy-351-tmpxShift,tmpyPosition+tmpyPositionTwo,dataObjs(1),'Ca2p');
%nappAnnotateSurvey(tmpxRayEnergy-347-tmpxShift,tmpyPosition+tmpyPositionTwo,dataObjs(1),'Ca2p');
%nappAnnotateSurvey(tmpxRayEnergy-440-tmpxShift,tmpyPosition+tmpyPositionTwo,dataObjs(1),'Ca2s');
%nappAnnotateSurvey(tmpxRayEnergy-34-tmpxShift,tmpyPosition+tmpyPosition,dataObjs(1),'Ca3s');
%nappAnnotateSurvey(tmpxRayEnergy-26-tmpxShift,tmpyPosition+tmpyPositionTwo,dataObjs(1),'Ca3p');
%nappAnnotateSurvey(tmpxRayEnergy-297-tmpxShift,tmpyPosition+tmpyPositionTwo,dataObjs(1),'K2p');
%nappAnnotateSurvey(tmpxRayEnergy-294-tmpxShift,tmpyPosition+tmpyPositionTwo,dataObjs(1),'K2p');
%nappAnnotateSurvey(tmpxRayEnergy-35-tmpxShift,tmpyPosition+tmpyPositionTwo,dataObjs(1),'K3s');
%nappAnnotateSurvey(tmpxRayEnergy-19-tmpxShift,tmpyPosition+tmpyPositionTwo,dataObjs(1),'K3p');
nappAnnotateSurvey(tmpxRayEnergy-118-tmpxShift,tmpyPosition+tmpyPositionTwo,dataObjs(1),'Al'); %[output:8d5664cd]
nappAnnotateSurvey(tmpxRayEnergy-72.5-tmpxShift,tmpyPosition+tmpyPositionTwo,dataObjs(1),'Al'); %[output:8d5664cd]
% Ar gas
nappAnnotateSurvey(tmpxRayEnergy-245-tmpxShift,tmpyPosition+tmpyPositionTwo,dataObjs(1),'Ar2p'); %[output:8d5664cd]
nappAnnotateSurvey(tmpxRayEnergy-323-tmpxShift,tmpyPosition+tmpyPositionTwo,dataObjs(1),'Ar2s'); %[output:8d5664cd]
nappAnnotateSurvey(tmpxRayEnergy-12-tmpxShift,tmpyPosition+tmpyPositionTwo,dataObjs(1),'Ar3p'); %[output:8d5664cd]
% Some Auger
nappAnnotateSurvey(363,tmpyPosition-tmpyPositionTwo,dataObjs(1),'N KLL'); %[output:8d5664cd]
nappAnnotateSurvey(203,tmpyPosition-tmpyPositionTwo,dataObjs(1),'Ar LMN'); %[output:8d5664cd]
nappAnnotateSurvey(500,tmpyPosition-tmpyPositionTwo,dataObjs(1),'O KLL'); %[output:8d5664cd]
%%
%[text] ## Optimize settings
%[text] Before recording region spectra:
%[text] - Make the kinetic energy window wide enough for reliable background and peak fitting (about 1–3 eV margin on each side) and robust against small charging shifts, so peaks stay fully inside the window.
%[text] - Adjust region iterations and dwell time to balance signal-to-noise ratio and acquisition time.
%[text] - Check that the background is smooth; if not, shift the window slightly.
%[text] - Avoid overlaps with other features such as N KLL at ~363 eV or Ar LMN at ~203 eV (kinetic energy).
%[text] - Choose pressure to minimize charging, maximize signal intensity, and allow dosing of trace gases
%[text] - Is the signal intensity optimal? Consider realigning the beam, the sample - cone distance, find a better sample spot to maximize counts. \
%[text] ## Image: Stability and trends
%[text] Monitor the stability of kinetic energy across sequence iterations using *images.* If peaks shift continuously, as seen in the August 2021, stop the measurement to troubleshoot sample equilibrium or experimental settings.
%[text] 1. Is the sample not yet in equilibrium or a steady-state: Wait or make a new sample with less material
%[text] 2. If the sample is in equilibrium or a steady-state: Optimize temperature, humidity, cone distance. \
%[text] Short shifts are okay if enough stable iterations remain to average after removing the outliers. Reasons for such shifts could be changes in gas dosing, temperature, opening the beamline shutter.
% Filter data
tmpDataSelection = month(FileList.lastModifiedDatenum) == 11 ...
& year(FileList.lastModifiedDatenum) == 2025 ...
& ~contains(FileList.sample,"(bad data)") ...
& ~contains(FileList.name,"Survey") ...
& ~contains(FileList.name,"Resonant") ...
& (contains(FileList.name,"146"));
% List the selected files in the command window.
disp(FileList(tmpDataSelection,{'name','lastModifiedDatestr','scientaPassEnergy_eV'})) %[output:3f09c9f5]
%%
%[text] ### Plot the images
nappPlot(FileList,tmpDataSelection,'tableVariable','image'); %[output:340587e5] %[output:7b803654] %[output:7ec3927c] %[output:5e5ac45c] %[output:244f5944]
%[text] These November 29 data look quite okay. Al2p appears to be deceasing in intensity with time. To look at this in more detail one plot individual iterations. Compare trends of all regions to decide if this is chemical feature, a change in intensity with time, caused by masking (because for example carbon is deposited on the sample, or water adsorbs).
%%
%[text] ### Plot iterations
% Filter data
tmpDataSelection = month(FileList.lastModifiedDatenum) == 11 ...
& year(FileList.lastModifiedDatenum) == 2025 ...
& matches(FileList.name,"0146146_Al2p_850eV.ibw");
% List the selected files in the command window.
disp(FileList(tmpDataSelection,{'name','lastModifiedDatestr','scientaPassEnergy_eV'})) %[output:2f867eb6]
% plot
nappPlot(FileList,tmpDataSelection,'tableVariable','image','mode','iterations','plotStep',2); %[output:30898c2d] %[output:0b22a369]
legend %[output:0b22a369]
%%
%[text] ### Plot shifting images
%[text] The two O1s images MgO ice in Ar HONO, 21-Aug-2021 and MgO ice AA in N2, 25-Oct-2021 illustrate the difference between unusable and usable data.
%[text] - In the 21-Aug-2021 example, the bright band clearly shifts in kinetic energy over the sequence, making the dataset unusable for analysis.
%[text] - In the 25-Oct-2021 example, the band is horizontal overall, except for one iteration with a visible shift; here you can keep the dataset after removing that single bad iteration. \
%[text] These figures also illustrate that the same file name can appear in different beamtimes, so you must always check the date and time when selecting data.
% filter data
tmpDataSelection = matches(FileList.name,'0067067_O1s_1000eV.ibw');
% List the selected files in the command window.
disp(FileList(tmpDataSelection,{'name','lastModifiedDatestr','scientaPassEnergy_eV'})) %[output:27ab5aa8]
% plot
nappPlot(FileList,tmpDataSelection); %[output:3f52d2f2] %[output:2edd5c8e]
%[text]
%%
%[text] #### Remove a single iteration from image
% filter data
tmpDataSelection = month(FileList.lastModifiedDatenum) == 10 ...
& year(FileList.lastModifiedDatenum) == 2021 ...
& matches(FileList.name,'0067067_O1s_1000eV.ibw');
% List the selected files in the command window.
disp(FileList(tmpDataSelection,{'name','lastModifiedDatestr','scientaPassEnergy_eV'})) %[output:9949b5fb]
% plot
nappPlot(FileList,tmpDataSelection); %[output:0ab749aa]
% remove iteration #9
FileList(tmpDataSelection,:).image{:}(:,9)=[];
% plot again
nappPlot(FileList,tmpDataSelection,'tableVariable','image'); %[output:26c3d5db]
%%
%[text] ## Binding energy scale
%[text] To compare spectra taken at different photon energies or to present your data, convert kinetic energy to binding energy using three steps:
%[text] 1. Use  *nappDetermineShiftXps*  to determine the kinetic energy shift relative to a chosen reference peak (e.g. O 1s at 535 eV binding energy for this ice example).
%[text] 2. Use  \*nappCopyShift \* to copy this kinetic energy shift to other regions (e.g. C 1s) recorded in the same sequence.
%[text] 3. Use  \*nappBindingEnergyXps \* to apply the shift and calculate binding energies for all spectra. \
%[text] The example shows how a shift determined from selected O1s spectra is applied to C1s spectra with the same file numbers. If the resulting binding energies do not match expectations during beamtime, stop and find the reason (wrong reference, unstable charging, wrong photon energy or the peak is a different species).
% generate spectra for C1s and O1s
tmpDataSelection = matches(FileList.sample,'Ice with N2')...
& ~contains(FileList.sample,'(bad data)')...
& (contains(FileList.name,'O1s') | contains(FileList.name,'C1s'))...
& FileList.xRayEkinRange_eV(:,1) == 900 ...
& FileList.scientaPassEnergy_eV == 50 ...
& (month(FileList.lastModifiedDatenum) == 2) ...
& (year(FileList.lastModifiedDatenum) == 2022) ...
& (day(FileList.lastModifiedDatenum) >= 27);
FileList = nappGenerateSpectra(FileList,tmpDataSelection);
FileList = nappBackground(FileList,367,370,'tableSelection',tmpDataSelection,'energyScale','kinetic',...
'mode','mean');
% determine shift of O1s
tmpDataSelection = matches(FileList.sample,'Ice with N2')...
& ~contains(FileList.sample,'(bad data)')...
& contains(FileList.name,'O1s')...
& FileList.xRayEkinRange_eV(:,1) == 900 ...
& FileList.scientaPassEnergy_eV == 50 ...
& (month(FileList.lastModifiedDatenum) == 2) ...
& (year(FileList.lastModifiedDatenum) == 2022) ...
& (day(FileList.lastModifiedDatenum) >= 27);
FileList = nappDetermineShiftXps(FileList,'tableSelection',tmpDataSelection,...
'showFigures','off','tableVariable','spectrum_countsPerSecond','binEnReference',533);
% copy shift from O1s to C1s
FileList = nappCopyShift(FileList,tmpDataSelection,'energyScale','binding');
% calculate binding energy of these C1s
tmpDataSelection = matches(FileList.sample,'Ice with N2')...
& ~contains(FileList.sample,'(bad data)')...
& contains(FileList.name,'C1s') & FileList.xRayEkinRange_eV(:,1) == 900 ...
& FileList.scientaPassEnergy_eV == 50 ...
& (month(FileList.lastModifiedDatenum) == 2) ...
& (year(FileList.lastModifiedDatenum) == 2022) ...
& (day(FileList.lastModifiedDatenum) >= 27);
FileList = nappBindingEnergyXps(FileList,'tableSelection',tmpDataSelection);
% plot C1s spectra
nappPlot(FileList,tmpDataSelection,'tableVariable','spectrum_countsPerSecond',... %[output:group:1b93bfe3] %[output:6c799ef9]
'mode','AllInOne','energyScale','kinetic'); %[output:group:1b93bfe3] %[output:6c799ef9]
nappPlot(FileList,tmpDataSelection,'tableVariable','spectrum_countsPerSecond',... %[output:group:01cb9662] %[output:644d063f]
'mode','AllInOne','energyScale','binding'); %[output:group:01cb9662] %[output:644d063f]
%[text] ## Normalize spectra
%[text] Normalization is done to get an estimate of surface concentration and to identify changes in intensity driven by chemical or physical processes from experimental variations, such as changes in working distance.
%%
%[text] ### Fit peak area
%[text] To obtain O1s peak areas for normalization, fit selected O1s spectra with a peak model and background (here: unconstrained peak with linear background). The example output for  0035035\_O1s\_900eV.ibw ,  0056056\_O1s\_900eV.ibw , and  0060060\_O1s\_900eV.ibw  shows how the peak position, area, and background parameters are reported for each spectrum.
clearvars tmpFitParameters;
% initial fit parameter
tmpFitParameters.peakArea = 5e5; % <- 1 value => 1 peaks
tmpFitParameters.peakWidth = 2;
tmpFitParameters.peakPos = 363;
% Bounds for areas (lower and upper)
tmpFitParameters.peakAreaLowerBound = 1e3;
tmpFitParameters.peakAreaUpperBound = Inf;
% Bounds for widths
tmpFitParameters.peakWidthLowerBound = 1.0;
tmpFitParameters.peakWidthUpperBound = 3.0;
% Bounds for positions
tmpFitParameters.peakPosLowerBound = 361;
tmpFitParameters.peakPosUpperBound = 365;
tmpFitParameters.backgroundRange = [5 3];
% filter
tmpDataSelection = (month(FileList.lastModifiedDatenum) == 2) ...
& (year(FileList.lastModifiedDatenum) == 2022) ...
& (day(FileList.lastModifiedDatenum) >= 27) ...
& matches(FileList.name,"0035035_O1s_900eV.ibw");
% show data
disp(FileList(tmpDataSelection,{'name','lastModifiedDatestr','scientaPassEnergy_eV'})) %[output:1cf215b8]
%%
% fit
FileList = nappFitGaussXps(FileList,tmpFitParameters,tmpDataSelection,... %[output:group:67ea982a] %[output:22c700e4] %[output:3b9a689c] %[output:712f3db2] %[output:7541066b]
'tableVariable','spectrum_countsPerSecond','energyScale','kinetic',... %[output:22c700e4] %[output:3b9a689c] %[output:712f3db2] %[output:7541066b]
'mode','unconstrained','backgroundMode','linear','showFigures','on'); %[output:group:67ea982a] %[output:22c700e4] %[output:3b9a689c] %[output:712f3db2] %[output:7541066b]
xlim([360, 366]); %[output:7541066b]
%%
% filter
tmpDataSelection = (month(FileList.lastModifiedDatenum) == 2) ...
& (year(FileList.lastModifiedDatenum) == 2022) ...
& (day(FileList.lastModifiedDatenum) >= 27) ...
& matches(FileList.name,"0056056_O1s_900eV.ibw");
% show data
disp(FileList(tmpDataSelection,{'name','lastModifiedDatestr','scientaPassEnergy_eV'})) %[output:969d4f09]
% fit
FileList = nappFitGaussXps(FileList,tmpFitParameters,tmpDataSelection,... %[output:group:1a1bf894] %[output:880f99d8] %[output:608e038f] %[output:598292bc] %[output:342429e8]
'tableVariable','spectrum_countsPerSecond','energyScale','kinetic',... %[output:880f99d8] %[output:608e038f] %[output:598292bc] %[output:342429e8]
'mode','unconstrained','backgroundMode','linear','showFigures','on'); %[output:group:1a1bf894] %[output:880f99d8] %[output:608e038f] %[output:598292bc] %[output:342429e8]
xlim([360, 366]); %[output:342429e8]
% select
tmpDataSelection = (month(FileList.lastModifiedDatenum) == 2) ...
& (year(FileList.lastModifiedDatenum) == 2022) ...
& (day(FileList.lastModifiedDatenum) >= 27) ...
& matches(FileList.name,"0060060_O1s_900eV.ibw");
% List the selected files in the command window.
disp(FileList(tmpDataSelection,{'name','lastModifiedDatestr','scientaPassEnergy_eV'})) %[output:326c5622]
%%
% fit
FileList = nappFitGaussXps(FileList,tmpFitParameters,tmpDataSelection,... %[output:group:9c54ed73] %[output:7f2dd5ee] %[output:5bd5684a] %[output:42116ac3] %[output:31491535]
'tableVariable','spectrum_countsPerSecond','energyScale','kinetic',... %[output:7f2dd5ee] %[output:5bd5684a] %[output:42116ac3] %[output:31491535]
'mode','unconstrained','backgroundMode','linear','showFigures','on'); %[output:group:9c54ed73] %[output:7f2dd5ee] %[output:5bd5684a] %[output:42116ac3] %[output:31491535]
xlim([360, 366]); %[output:31491535]
%%
%[text] ### Norm the spectra
%[text] The example table lists the three C1s spectra ( 0035035\_C1s\_900eV.ibw ,  0056056\_C1s\_900eV.ibw ,  0060060\_C1s\_900eV.ibw ) and their plots. After scaling, you can compare the C1s spectra directly, since the intensities now reflect a concentration (carbon relative to ice).
% filter the data C1s
tmpDataSelection = matches(FileList.sample,'Ice with N2')...
& ~contains(FileList.sample,'(bad data)')...
& contains(FileList.name,'C1s') & FileList.xRayEkinRange_eV(:,1) == 900 ...
& FileList.scientaPassEnergy_eV == 50 ...
& (month(FileList.lastModifiedDatenum) == 2) ...
& (year(FileList.lastModifiedDatenum) == 2022) ...
& (day(FileList.lastModifiedDatenum) >= 27);
% show data
disp(FileList(tmpDataSelection,{'name','lastModifiedDatestr','sample'})) %[output:65618880]
disp(FileList(tmpDataSelection,{'name','sampleTemp_dC','cellPressure_mbar'})) %[output:9c77f960]
% scale
FileList = nappScale(FileList,tmpDataSelection,'regionOld','C1s','regionNew','O1s'); % C1s with O1s area
% plot scaled data
nappPlot(FileList,tmpDataSelection,'tableVariable','spectrum_countsNorm'); %[output:43e6e41e]
% plot original data
nappPlot(FileList,tmpDataSelection,'tableVariable','spectrum_countsPerSecond'); %[output:8d96736e]
% filter the data O1s
tmpDataSelection = matches(FileList.sample,'Ice with N2')...
& ~contains(FileList.sample,'(bad data)')...
& contains(FileList.name,'O1s') & FileList.xRayEkinRange_eV(:,1) == 900 ...
& FileList.scientaPassEnergy_eV == 50 ...
& (month(FileList.lastModifiedDatenum) == 2) ...
& (year(FileList.lastModifiedDatenum) == 2022) ...
& (day(FileList.lastModifiedDatenum) >= 27);
% show data
disp(FileList(tmpDataSelection,{'name','lastModifiedDatestr','sample'})) %[output:506ce9c9]
disp(FileList(tmpDataSelection,{'name','sampleTemp_dC','cellPressure_mbar'})) %[output:5432d349]
% scale
FileList = nappScale(FileList,tmpDataSelection,'regionOld','O1s','regionNew','O1s'); % O1s with O1s area
% plot scaled data
nappPlot(FileList,tmpDataSelection,'tableVariable','spectrum_countsNorm'); %[output:15414432]
% plot original data
nappPlot(FileList,tmpDataSelection,'tableVariable','spectrum_countsPerSecond'); %[output:93ebe7fc]
%%
%[text] ## Calculate surface coverage
%[text] Ensure that the dosing yields a surface coverage that is low enough to address your science question, but high enough to provide spectra with sufficient intensity for reliable fitting and interpretation (remember, you can always measure longer to improve signal‑to‑noise).
%[text]
%[text] I think Celia has an example for this
%[appendix]{"version":"1.0"}
%---
%[metadata:view]
% data: {"layout":"inline","rightPanelPercent":6.5}
%---
%[output:35471fec]
% data: {"dataType":"text","outputData":{"text":"*************************************************\n* Voila: Splitting NEXAFS files done *\n*************************************************\n*************************************************\n* Voila: Done reading & writing XPS data! *\n*************************************************\n*************************************************\n* Voila: Done reading and writing NEXAFS data! *\n*************************************************\n*************************************************\n* Voila: Done creating data list! *\n*************************************************\n*************************************************\n* Voila: nappFileList.m finished ! *\n*************************************************\n","truncated":false}}
%---
%[output:4e5ecffd]
% data: {"dataType":"text","outputData":{"text":" <strong>name<\/strong> <strong>lastModifiedDatestr<\/strong> <strong>sample<\/strong> \n <strong>____________________________<\/strong> <strong>________________________<\/strong> <strong>________________________________<\/strong>\n\n {'0128128_Survey_850eV.ibw'} {'28-Nov-2025 14:08:31'} {'this is a sample description'}\n\n","truncated":false}}
%---
%[output:04fdda4a]
% data: {"dataType":"image","outputData":{"dataUri":"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAABXoAAANsCAYAAADlaRC9AAAAAXNSR0IArs4c6QAAIABJREFUeF7snQW0XEXWtguCfgNBEyQQLAQI7jDY4O7BXQfXQQdPcBIYNAxOcAZ3h+DMwCDBnaAJEJyBQf71nu+r\/qvrnu4+3Xf3vZ3qZ6+VNUN3nX1qP7u6773v2bVrvN9\/\/\/13h0EAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgMA4S2A8hN5xNndMHAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIBARgChl4UAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQGAcJ4DQO44nkOlDAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEEDoZQ1AAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEBjHCSD0juMJZPoQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABBB6WQMQgAAEIAABCEAAAl1O4JdffnG\/\/vqrm3jiibv83twQAhCAAAQgAAEIQAACKRJA6E0xq8QEAQhAAAIQaDECv\/32m3v\/\/ffdf\/\/7Xzf77LO7CSaYoKEZjhkzpnTdpJNO6iabbLLCfiQsag49e\/Z0vXr1KnydH6i5f\/TRR+733393M800k5twwgkb8vHVV1+VrptiiincRBNNVNhPK8RQeLLRwC+\/\/NJddtll7pVXXnHvvPOOe\/fdd7MR00wzjZtnnnncfPPN57bffnvXu3fvRm\/BdV1I4Pvvv3cff\/xx9hmcbrrp3Pjjj9+Fd\/\/fW3366afu888\/d7PNNpv7wx\/+0LT7a60++uijZf779+\/vllpqqar3fOKJJ9xbb71VNmb55Zd3s846a+51+owMGzas7L0tttgii0\/27bffujvvvLP0vpivtdZaTY29aVBxDAEIQAACEIBAUwgg9DYFK04hAAEIQAACEBCBK6+80t17773uueeecxKGvC2++OJu2WWXdbvvvnth0VeCzhJLLFHyIZHlqquuqgp69OjRbvjw4e6f\/\/yne+aZZ0pjJQoNGDDA7bbbbm7FFVes6OPnn392V1xxRRaHFyb9YIm92223ndtmm20Ki7VioXt6O+CAA9xee+01TsVQ78qWQH7ppZe6M888s2wNVPKz6667un333ddJyMdai4CEyL\/97W+Z2PjFF1+UTW6BBRbI1vIqq6ySO2mJnoMHDy4c0I477ugGDhzYYbz86HP\/9NNPl81h7rnndosssojbb7\/93LTTTlv4PkUGPvbYY27bbbctG6rvj9tvv73q5SuvvHKH7w0Jxn369Mm97tVXX3Vrr7122XvXXHNN6XtP30HyGdoNN9zgFl544SJhMAYCEIAABCAAgTYggNDbBkkmRAhAAAIQgEBXE1DV66mnntqhOi2eh6rRhg4dWkgoPeOMMzKx0FstoVfVv5tvvnkHoSWeg4QpzVXVtaF98sknbuutt655vartJCbPOOOMNTFvsskm7tlnny2N23\/\/\/d3ee+9d8bpWjKFmkNGAk08+2Z1\/\/vl1XaZ1oVx3R5VoXRNto8ESO\/VgJnxgkxe+Pk\/nnntuhwc4quY+9thjCxM77LDD3C677FI2\/v7773d6EFDN9HnUg5npp5++8L1qDVQlvcTUOHaJzpXu8+GHHzpV74a26KKLuuuvv77i7RB6a2WC9yEAAQhAAAIQqEUAobcWId6HAAQgAAEIQKBuArEoW82BRL2zzz674pCffvopE27iasBqQu\/YsWPdVltt5V577bVCc99ggw0ywdmbhB1dr0rgIqZKY1X+VmpJIcFWTK6++uoyd9WE3laLoQiHeMxDDz3kdtppp0Yuzap69Q\/rfgJ66LHaaqvVFHn9TPfZZ5+ssja0448\/3l100UWFg4mFXlXCqoK+iKnaXtW2atNiZcccc4y7\/PLLy9wNGTLEbbjhhrm3UCXu4YcfXvaefMSVweEAhF6rbOEHAhCAAAQg0L4EEHrbN\/dEDgEIQAACEGgKgR9\/\/NHNO++8HXyvu+662Xb8O+64o4Ng9MADD5T6UOpCVQ8+\/\/zzWf9NtTtQL87Yqgm92l6uf6GpXcMf\/\/hHJxFXAmRs6o0pMUtWSaBUDD169HA333xzh+v\/\/ve\/l21bV+WeepiOGjXK3Xjjjbmsqwm9rRBDZxeItvKHPUXlTz1H1S5D1Y3KhXr2ilU8TmPfeOONwq09OjtXrq9MIK8qW72V1WZA\/Zb1eY1NletTTTVV6WVV4qoit6ideOKJbrPNNisNV\/\/mESNGlF2u9i\/9+vXL\/KqCNrTTTjvNbbTRRkVvV3PcU0895bbccsuycYr\/rLPOyr02L95qFcByolYz4cMgVbRrV4HnSOuGmmliAAQgAAEIQKDtCSD0tv0SAAAEIAABCEDAlsDdd9\/t9thjjzKnoYg6cuRIt95665W9\/5e\/\/KXsGlXCqSKumlUTerVlOhR+5phjDnfdddeVBJM8ITes6j3llFM6tJ0Ie2vqULbllluubHpxFaNE5TyBOryomtDbCjF0ZmX8+uuvbqGFFioT9SXyqrIzNh3WpzUQC+h6KKCD2rrKvvvuO\/fee+85VWAvs8wyhVqK1Ds3cfnggw+yliCTTz55Fl89hwrWez+L8fpsvPjiiyVXao9wzz33lET42267rUP1tapfJcR6W3XVVd3bb7+d\/adE4qLV8hqvfCy55JJloeywww7uyCOPzF5T3vSQJvy86d5xBW7ooN486KHE0ksvXdYXWA+P\/v3vf3d4GJH3sEtV\/7W+02rlqpbQq8Pa9OBEbWRU1TzeeOPVcsn7EIAABCAAAQgkRgChN7GEEg4EIAABCECguwlI5JXY602HNMUCnrbkSxzyJuFIVb3eOiP0fvPNN5nAGFpcbav38oTU++67L7tMomNYhZsnKqu6T1V+3uL2D50Relslhs6spTxx7oQTTsj6JueZhL+wglNjwqpO3z4gvFb+VGUdWt449QhWPmSqFNcBet5ULfnII4+4Cy64wJ100kml13XIVbzNXkKf1lJsOhhs5513LntZvZfDfrKqTh80aFDZuvcX6EGEDtnac889M\/HXmyqiNbfQVPk888wzd5iD+j+HrUp69+5d9pnqTC51eGJ4+Fr8gCJP2Axzp57ditGbHpKoZ29Rk2CrtgehvfDCC2Ws8lol5FXQNpIHf9\/jjjsuO1gwNFWjqzo9tLzD26qtfX+tqqPXX3\/9Ml+6n\/dfSeh96623sgPqxMSbRGiJ6+IWtrDQ95QX3DVWeQm\/n30\/4nASqlwOPxsS1vVZCE0V1wceeGDRlDIOAhCAAAQgAIEmEUDobRJY3EIAAhCAAATalUAsCqmv5tFHH12GQ70648pOVQz6ykaJNk8++WTZNRJtQrGpUkXv66+\/7tZcc82ya\/NOus\/ruSkBRFVwEvNCYSMWouU8rFDUfx900EHZYVXedPDUl19+WTaPUNzWG5Uqelslhs6sYQlG\/fv3L3MxYMCArMpy6qmn7uBa499\/\/\/2y11WZqHYfsrwq6rzt+cqhchOaREVfgR33epUgJpE2bvUh8VaiW1yVHa5Tf4+8CnA9NPDipirIVfFd6yAzVbpKYO7bt2\/mOu9zIrFY\/aNDq1Xx2pk86tq4bYKE8vBgNbUc0OcxtFAAjecn3nH\/2mpzjB+85H0eJXLG\/XIvueQSt8IKK5RcN5oH7yDvYUReP2KJuhdeeGFZSFpPvXr1qpqKRnr06oFV3NIivIkqe8XBr8WYpcbq4YcXg\/PmIB\/hPRSLqvND01pVSxYMAhCAAAQgAIHuJYDQ2738uTsEIAABCEAgKQLagq+emaHlVbLlHaykysW8SkXvS4KxrvNWSejVIWY6vE1VhN7+\/Oc\/d9iGH4tX4XbyvH6cqlBUNZxMgu3BBx9cFme8VT0vsbPPPnvZy5WE3laOoZ4FqypT9WqNTb1TJcCpUlFibhFrltBb6d7PPPNMdsDemWeeWTYkT9CKRX8J2joMTJY372rxSsTUtRK4866VmBYfanbrrbd2OPxMgvHCCy9cBG3NMepDe\/rpp5fGSRy\/+OKL3WKLLea++uqrTCSP2ySEgvhLL71UVqmqA\/p++OEH9\/LLL2fVpao+FrOVVlopG6fetKHFn1VVccfCvKpMtXsgtPBBQGfy4H2q3YO+d8IHTnPPPXeH\/tLxboGiFcyNCL01k+dc1v\/ct9rIa7Ohde4r3rWTQWJwbP\/6179KD2jiB2EaqxxrXWAQgAAEIAABCHQvAYTe7uXP3SEAAQhAAAJJEfj66687iEvnnHNOhwpb9bXceOONy2KXwBC3XAgHFBV6iwDNu7\/EGb8tWyKx7hcfMuWFjLgyU8LTkCFDah4cVlTobeUYiszNj4kFwrxrp59++qyNhnqYqg9rnz59cm\/RHUKvBPfVV1+9bD4SHY866qjSa3nzUrW4b\/uQdyCdxFq1apA4qZYRoXAoxxIxfUsKtbqQ6BxaXFV8wAEHlG2\/F9PHH3\/crEerOChH8brXw5F47pqnWhzoEDFvd911V9aWoohJ\/FeFtMRJb2uttVZZW4q4otiPiz9fhx56aKl9Rmfz4O+hnQix0B62iMhrr6B4Bg4cWDP8zgi9yoWEbq2VvMrxoUOHZg+q8qq\/w90IqhhXBXBsYVV8zDLv4UPNYBkAAQhAAAIQgEBTCCD0NgUrTiEAAQhAAALtSUA9JldZZZWy4PMqIPMEDW11VkVfJbMSekeNGpVtfQ8Pa9M9zzjjjLJD4nSwkbYn63CjaiaBUv0x4yrEvGushN7ujKGela12DKreDCuxa10vgXO33XbrcAhbs4VeVWZKnFWO1Cd3zjnnzIT7ddZZp2wNxNvY83rD+Line truncated
%---
%[output:8d5664cd]
% data: {"dataType":"image","outputData":{"dataUri":"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAABXoAAANsCAYAAADlaRC9AAAAAXNSR0IArs4c6QAAIABJREFUeF7snQW0XEXWtguCfgNBEyQQLAQI7jDY4O7BXQfXQQdPcBIYNAxOcAZ3h+DMwCDBnaAJEJyBQf71nu+r\/qvrnu4+3Xf3vZ3qZ6+VNUN3nX1qP7u6773v2bVrvN9\/\/\/13h0EAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgMA4S2A8hN5xNndMHAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIBARgChl4UAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQGAcJ4DQO44nkOlDAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEEDoZQ1AAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEBjHCSD0juMJZPoQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABBB6WQMQgAAEIAABCEAAAl1O4JdffnG\/\/vqrm3jiibv83twQAhCAAAQgAAEIQAACKRJA6E0xq8QEAQhAAAIQaDECv\/32m3v\/\/ffdf\/\/7Xzf77LO7CSaYoKEZjhkzpnTdpJNO6iabbLLCfiQsag49e\/Z0vXr1KnydH6i5f\/TRR+733393M800k5twwgkb8vHVV1+VrptiiincRBNNVNhPK8RQeLLRwC+\/\/NJddtll7pVXXnHvvPOOe\/fdd7MR00wzjZtnnnncfPPN57bffnvXu3fvRm\/BdV1I4Pvvv3cff\/xx9hmcbrrp3Pjjj9+Fd\/\/fW3366afu888\/d7PNNpv7wx\/+0LT7a60++uijZf779+\/vllpqqar3fOKJJ9xbb71VNmb55Zd3s846a+51+owMGzas7L0tttgii0\/27bffujvvvLP0vpivtdZaTY29aVBxDAEIQAACEIBAUwgg9DYFK04hAAEIQAACEBCBK6+80t17773uueeecxKGvC2++OJu2WWXdbvvvnth0VeCzhJLLFHyIZHlqquuqgp69OjRbvjw4e6f\/\/yne+aZZ0pjJQoNGDDA7bbbbm7FFVes6OPnn392V1xxRRaHFyb9YIm92223ndtmm20Ki7VioXt6O+CAA9xee+01TsVQ78qWQH7ppZe6M888s2wNVPKz6667un333ddJyMdai4CEyL\/97W+Z2PjFF1+UTW6BBRbI1vIqq6ySO2mJnoMHDy4c0I477ugGDhzYYbz86HP\/9NNPl81h7rnndosssojbb7\/93LTTTlv4PkUGPvbYY27bbbctG6rvj9tvv73q5SuvvHKH7w0Jxn369Mm97tVXX3Vrr7122XvXXHNN6XtP30HyGdoNN9zgFl544SJhMAYCEIAABCAAgTYggNDbBkkmRAhAAAIQgEBXE1DV66mnntqhOi2eh6rRhg4dWkgoPeOMMzKx0FstoVfVv5tvvnkHoSWeg4QpzVXVtaF98sknbuutt655vartJCbPOOOMNTFvsskm7tlnny2N23\/\/\/d3ee+9d8bpWjKFmkNGAk08+2Z1\/\/vl1XaZ1oVx3R5VoXRNto8ESO\/VgJnxgkxe+Pk\/nnntuhwc4quY+9thjCxM77LDD3C677FI2\/v7773d6EFDN9HnUg5npp5++8L1qDVQlvcTUOHaJzpXu8+GHHzpV74a26KKLuuuvv77i7RB6a2WC9yEAAQhAAAIQqEUAobcWId6HAAQgAAEIQKBuArEoW82BRL2zzz674pCffvopE27iasBqQu\/YsWPdVltt5V577bVCc99ggw0ywdmbhB1dr0rgIqZKY1X+VmpJIcFWTK6++uoyd9WE3laLoQiHeMxDDz3kdtppp0Yuzap69Q\/rfgJ66LHaaqvVFHn9TPfZZ5+ssja0448\/3l100UWFg4mFXlXCqoK+iKnaXtW2atNiZcccc4y7\/PLLy9wNGTLEbbjhhrm3UCXu4YcfXvaefMSVweEAhF6rbOEHAhCAAAQg0L4EEHrbN\/dEDgEIQAACEGgKgR9\/\/NHNO++8HXyvu+662Xb8O+64o4Ng9MADD5T6UOpCVQ8+\/\/zzWf9NtTtQL87Yqgm92l6uf6GpXcMf\/\/hHJxFXAmRs6o0pMUtWSaBUDD169HA333xzh+v\/\/ve\/l21bV+WeepiOGjXK3Xjjjbmsqwm9rRBDZxeItvKHPUXlTz1H1S5D1Y3KhXr2ilU8TmPfeOONwq09OjtXrq9MIK8qW72V1WZA\/Zb1eY1NletTTTVV6WVV4qoit6ideOKJbrPNNisNV\/\/mESNGlF2u9i\/9+vXL\/KqCNrTTTjvNbbTRRkVvV3PcU0895bbccsuycYr\/rLPOyr02L95qFcByolYz4cMgVbRrV4HnSOuGmmliAAQgAAEIQKDtCSD0tv0SAAAEIAABCEDAlsDdd9\/t9thjjzKnoYg6cuRIt95665W9\/5e\/\/KXsGlXCqSKumlUTerVlOhR+5phjDnfdddeVBJM8ITes6j3llFM6tJ0Ie2vqULbllluubHpxFaNE5TyBOryomtDbCjF0ZmX8+uuvbqGFFioT9SXyqrIzNh3WpzUQC+h6KKCD2rrKvvvuO\/fee+85VWAvs8wyhVqK1Ds3cfnggw+yliCTTz55Fl89hwrWez+L8fpsvPjiiyVXao9wzz33lET42267rUP1tapfJcR6W3XVVd3bb7+d\/adE4qLV8hqvfCy55JJloeywww7uyCOPzF5T3vSQJvy86d5xBW7ooN486KHE0ksvXdYXWA+P\/v3vf3d4GJH3sEtV\/7W+02rlqpbQq8Pa9OBEbWRU1TzeeOPVcsn7EIAABCAAAQgkRgChN7GEEg4EIAABCECguwlI5JXY602HNMUCnrbkSxzyJuFIVb3eOiP0fvPNN5nAGFpcbav38oTU++67L7tMomNYhZsnKqu6T1V+3uL2D50Relslhs6spTxx7oQTTsj6JueZhL+wglNjwqpO3z4gvFb+VGUdWt449QhWPmSqFNcBet5ULfnII4+4Cy64wJ100kml13XIVbzNXkKf1lJsOhhs5513LntZvZfDfrKqTh80aFDZuvcX6EGEDtnac889M\/HXmyqiNbfQVPk888wzd5iD+j+HrUp69+5d9pnqTC51eGJ4+Fr8gCJP2Axzp57ditGbHpKoZ29Rk2CrtgehvfDCC2Ws8lol5FXQNpIHf9\/jjjsuO1gwNFWjqzo9tLzD26qtfX+tqqPXX3\/9Ml+6n\/dfSeh96623sgPqxMSbRGiJ6+IWtrDQ95QX3DVWeQm\/n30\/4nASqlwOPxsS1vVZCE0V1wceeGDRlDIOAhCAAAQgAIEmEUDobRJY3EIAAhCAAATalUAsCqmv5tFHH12GQ70648pOVQz6ykaJNk8++WTZNRJtQrGpUkXv66+\/7tZcc82ya\/NOus\/ruSkBRFVwEvNCYSMWouU8rFDUfx900EHZYVXedPDUl19+WTaPUNzWG5Uqelslhs6sYQlG\/fv3L3MxYMCArMpy6qmn7uBa499\/\/\/2y11WZqHYfsrwq6rzt+cqhchOaREVfgR33epUgJpE2bvUh8VaiW1yVHa5Tf4+8CnA9NPDipirIVfFd6yAzVbpKYO7bt2\/mOu9zIrFY\/aNDq1Xx2pk86tq4bYKE8vBgNbUc0OcxtFAAjecn3nH\/2mpzjB+85H0eJXLG\/XIvueQSt8IKK5RcN5oH7yDvYUReP2KJuhdeeGFZSFpPvXr1qpqKRnr06oFV3NIivIkqe8XBr8WYpcbq4YcXg\/PmIB\/hPRSLqvND01pVSxYMAhCAAAQgAIHuJYDQ2738uTsEIAABCEAgKQLagq+emaHlVbLlHaykysW8SkXvS4KxrvNWSejVIWY6vE1VhN7+\/Oc\/d9iGH4tX4XbyvH6cqlBUNZxMgu3BBx9cFme8VT0vsbPPPnvZy5WE3laOoZ4FqypT9WqNTb1TJcCpUlFibhFrltBb6d7PPPNMdsDemWeeWTYkT9CKRX8J2joMTJY372rxSsTUtRK4866VmBYfanbrrbd2OPxMgvHCCy9cBG3NMepDe\/rpp5fGSRy\/+OKL3WKLLea++uqrTCSP2ySEgvhLL71UVqmqA\/p++OEH9\/LLL2fVpao+FrOVVlopG6fetKHFn1VVccfCvKpMtXsgtPBBQGfy4H2q3YO+d8IHTnPPPXeH\/tLxboGiFcyNCL01k+dc1v\/ct9rIa7Ohde4r3rWTQWJwbP\/6179KD2jiB2EaqxxrXWAQgAAEIAABCHQvAYTe7uXP3SEAAQhAAAJJEfj66687iEvnnHNOhwpb9bXceOONy2KXwBC3XAgHFBV6iwDNu7\/EGb8tWyKx7hcfMuWFjLgyU8LTkCFDah4cVlTobeUYiszNj4kFwrxrp59++qyNhnqYqg9rnz59cm\/RHUKvBPfVV1+9bD4SHY866qjSa3nzUrW4b\/uQdyCdxFq1apA4qZYRoXAoxxIxfUsKtbqQ6BxaXFV8wAEHlG2\/F9PHH3\/crEerOChH8brXw5F47pqnWhzoEDFvd911V9aWoohJ\/FeFtMRJb2uttVZZW4q4otiPiz9fhx56aKl9Rmfz4O+hnQix0B62iMhrr6B4Bg4cWDP8zgi9yoWEbq2VvMrxoUOHZg+q8qq\/w90IqhhXBXBsYVV8zDLv4UPNYBkAAQhAAAIQgEBTCCD0NgUrTiEAAQhAAALtSUA9JldZZZWy4PMqIPMEDW11VkVfJbMSekeNGpVtfQ8Pa9M9zzjjjLJD4nSwkbYn63CjaiaBUv0x4yrEvGushN7ujKGela12DKreDCuxa10vgXO33XbrcAhbs4VeVWZKnFWO1Cd3zjnnzIT7ddZZp2wNxNvY83rD+Line truncated
%---
%[output:3f09c9f5]
% data: {"dataType":"text","outputData":{"text":" <strong>name<\/strong> <strong>lastModifiedDatestr<\/strong> <strong>scientaPassEnergy_eV<\/strong>\n <strong>__________________________<\/strong> <strong>________________________<\/strong> <strong>____________________<\/strong>\n\n {'0146146_Al2p_850eV.ibw'} {'29-Nov-2025 15:25:25'} 50 \n {'0146146_Ar2p_850eV.ibw'} {'29-Nov-2025 15:25:25'} 50 \n {'0146146_C1s_850eV.ibw' } {'29-Nov-2025 15:25:25'} 50 \n {'0146146_Cl2p_850eV.ibw'} {'29-Nov-2025 15:25:25'} 50 \n {'0146146_O1s_850eV.ibw' } {'29-Nov-2025 15:25:25'} 50 \n\n","truncated":false}}
%---
%[output:340587e5]
% data: {"dataType":"image","outputData":{"dataUri":"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAABXoAAANsCAYAAADlaRC9AAAAAXNSR0IArs4c6QAAIABJREFUeF7snQe4HFX5h7\/dvSU9gZDQMSKEIiC9CUpVEQQpigiIIipYEKQJfyBSRJQqoqJIExREpAnSFAERAcWCGkoAKaGFUJKQ5Lbd\/T+\/uZnLzOzszjl7997cu\/c9z8PDk7vfnDnzzpnZ2Xe\/\/U6uXC6XjQYBCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAALDlkAO0Ttszx0DhwAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAQEED0MhEgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCAxzAojeYX4CGT4EIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAUQvcwACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAwDAngOgd5ieQ4UMAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQQPQyByAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIDHMCiN5hfgIZPgQgAAEIQGAkEXjllVds7ty59u53v9vGjh1b16G\/9tprfduNHj3axo0bV1c\/9Wz09ttv2wsvvGCvv\/66TZkyxVZZZZW6jmNpHoP2\/dJLL9nChQttxRVXDI6htbW1Hhz92kbjuO222yr6+NCHPmQrrLBCzb51Hm666SYrFot9cbvssktwTqq1crlss2fPtlwuFxx3oVDo1\/iX5sZvvvmmiZ+Od5llllkqQ2nEtewy8AcffNCefPLJWOi2224b3ENqtRtuuMEWLFgQC\/nEJz5humektTfeeMMuuuii2Ev77bdf336eeeYZ++tf\/9r3uu47u+66q8shEAMBCEAAAhCAAAScCSB6nVERCAEIQAACEIDA0iDwwAMP2C9\/+Ut76KGHAkEatrXXXts23nhjO+KII2y55ZZzGpok8eabb94Xu+WWWwZ9+7Q\/\/elPdtBBB8U2kVjUOKs1SbVzzjnHrr322oqQDTbYwE444YTYuGqNZ2kdw7\/+9a\/gGO6\/\/\/6K4UlYHXPMMbbaaqv5oOxX7MUXX2zf+c53Kvo48sgj7Wtf+1rNvp9++mnbeeedYzG\/+c1vbKONNor9rbu7237+858Hc+8vf\/lLILej82+fffaxAw88cKmIbl94kp1nn312xXHoCxNdB0cffbSttdZaqd1qbp9++unOuzz44INNbJKtkdey62DOP\/98u+CCC2LhX\/ziF+2b3\/xmzet1iy22iL2uLzTuvffeQPSntccee6xC3F5zzTV91\/V1111nxx57bGxTyV8aBCAAAQhAAAIQaCQBRG8jadIXBCAAAQhAAAINJfD73\/\/eJGVqNWXm\/eIXv8jM4lQfSenjK3o7OzsDQajMzmibPHlyLFsv+poy\/fbdd1+TXKzVJCclKbPa0jiGf\/7zn7bXXntlDc0uueQS23777TPjGhHw0Y9+1B5\/\/PGKriTk7rvvvpq7cBG9PT09wfm49dZba\/b1nve8JxCJ66yzTiMOa0D6+OlPf2pnnnlmZt+S9YcddlhF3BVXXGGnnHJK5vZhwPHHH29f+MIXYvGNvpZdB5MmYHXP+MMf\/lC1ixtvvNG+8Y1vxF7Puj4Rva5nhDgIQAACEIAABAaSAKJ3IOnSNwQgAAEIQAACdRNIy5yt1pnk3i233GITJkxIDZGglQxOZiX6it4LL7zQzj333Ip9VBO98+bNs\/33399mzpzpxEFCbqeddhpSxyCB9clPfjKWzVrtYJQdqnIKOh8D2dKkWnR\/+tn9+973vqpDyBK9pVIpyL68\/vrrnQ5Dx6vjrreciNNO6gzyuY60C2Uwb7PNNrG9ffvb3w4kvmtLil6fMWRdy65jiMbtuOOO9r\/\/\/S+26T333FM1A\/3rX\/+6\/fa3v43FS\/jXkvmI3nrODNtAAAIQgAAEINBoAojeRhOlPwhAAAIQgAAEGkLgs5\/9bEVmpgTUGmusYcoOTGbV6mfp0axTlRhQJqpKHdx5552mmqDJ5iN6n3\/+edtuu+1Sj62a6D355JPtqquuim2jUg2SuepPP+eONr2mbMKwLe1jkPBUBnNSkkmcbbLJJsH5UQ3UaDv00EMrfqLekAkR6UQlJH74wx9W7faQQw4JymFUa1miV8f06U9\/umJzzT99maCf8EfLOCjwc5\/7nJ100kmNPtR+9\/fxj3\/cHn300Vg\/ykLWXJbsTGaaqyTK7373u1i8sup1zbk2ldRQFnvY+nstu+63WtwPfvADO++882Iv60uftHOsTG6V8Iie36wMYHU8Z84cu\/rqq\/v2kc\/n7YADDuirgUzphv6eRbaHAAQgAAEIQMCFAKLXhRIxEIAABCAAAQgMKgHVtE3WyIyKNC2mpUW3ovJWEk7ZiGGT6FONzFrNR\/Tqp+jVfu6dJnq14JVkaLRJ8CprN2xpwvKRRx7pk0NL+xjSMjFnzJjRV6NYUkwZy9FFptZdd90gu3qgmuSz5ka0XnNyXzofqqnb0tKSOows0ft\/\/\/d\/MWmnTrR42\/rrrx\/09+KLL9pHPvKRmAysVb4jOggt6vbqq68Gi\/JpQa4111yz6jj7y1CLiSUzm7VAmDJ0w3biiSdW1Kn+73\/\/G1t0TLI\/FMKuxxn234hrOclBGfqqbyuGq666avDlT60FAVWfWOer1rUYvqbrT4uuRZvKOHz1q1\/t1+nIEr0vv\/xy8OWPJLxrzfF+DYiNIQABCEAAAhBoSgKI3qY8rRwUBCAAAQhAYHgTkLD91re+FTsILQY2fvz4vr9J4iazNrXYkxZGU2ukJE3WF9XiY9HarWny6+abbw4Wios2Leo1ZcqUvj9JVN9xxx19\/9ZCT8pKlgAcCseQZKiMYy1aVigU+sas86LM6bAp43XPPfccsAkohpKV0aYs1GS93rQSBOE2WaJ3t912i5XbSMsQTpPBf\/vb32zZZZcNdqMawhKRYfve975nU6dOtdNOO60iw\/YDH\/hA8HdJy0Y2ZWIr+zralHUa\/RIljafm++qrrx5sJjEt+Ri2bbfd1lSz17U14loO96XyCMqSl4xNNn2p8rGPfSz44iE6P8O4qKyO9tfe3h7rSpm\/ygCONl2jEvK1msTzHnvsEQu5\/PLL+77sSRO9TzzxRFAKRveS6C8UdA9TtrHqJUePRdnZ0QxsnZfoLwDCbOToIHSvitZn1pdkW221VWycyrg+6qijXE8pcRCAAAQgAAEIDGECiN4hfHIYGgQgAAEIQGCkEjj66KNj9VHTfjotwZgUipdddpl98IMfDLBJBCurM9okgqOZoC4ZvYsXLw5kWZg9LJkkURKVzGmi99RTTzWJnrBJ5kX\/7XJul\/YxJOVY2iJbLsfRyJi0DFSJMgmtaFNd4WoLkGWJXmXuRn+6rwXwdt9991j\/2qcW6Io2SXD97F9N5zsq7\/Qz\/mQZjyQXlaPYZZddGoZL4m\/69Omx\/pL7uP322+3LX\/5yLEbSvK2tLfhbMiM3qyxGcvCNuJbV549\/\/GM766yzMtkos\/\/iiy+2pMBNq6+d9mVAcpG\/tFIWaYOop0avrq+77rqr6jHpviMRHH7BlWSpDfUlS1ibPG0MycUJ08T+YC6imHkCCYAABCAAAQhAoF8EEL39wsfGEIAABCAAAQgMBIFkTU\/J1e9\/\/\/uxXSkzTRmm0Zas05sc20EHHWQqRxA2F9EryXfBBRf0baPt9V+W6NXPv6OZh4cffnhQm1fZklqcTQu1SSKp1IEkZZjFm8VzsI5Bgvu9731vbDgSlYsWLbKHH344yKBVBrLGL7kpaaV\/D2TTT\/Y33XTTmITdfvvtg4XC0mrRJksQhGPLEr2XXnppbB\/K8NWXDdEmmahatNF2991327Rp04I\/JUWvK5c\/\/\/nPtuKKK7qGZ8Z96lOfCs5X2JT5quxiHY8yfr\/5zW\/GSm\/o9V\/\/+td98f\/+979jmaqf\/\/zngzkgtuKoLGXNgR122CGIU23aaGvEtayF7r7yla9kHmsYsM8++wTHGG3KuE0udJiU1iqf8P73vz+2nRblU93prFaP6M3qU68rszdcRFILxGmhuGjTNbn11lsHf9LigZLByRbNNFfpmOQXIDrHQ3EhQRc+xEAAAhCAAAQgECeA6GVGQAACEIAABCAw5Agks+oOPPBAO+WUUyrGGf68PHxB0koLR1VrvpI0KYfCWp3JshFpGb2SL9EawsqsSy4gF45Tr0lkh9mgtU7IYB2Dyg6E2dHheCT0JKnTmn7S\/93vfrevdMZATKpkCQ3tQ0JPYi9NYP3oRz+qqM2qbbJEb9bYJeklDZN1glULNqwLXEv0Sk5LKibLTWi\/Kt2hLywa1SR5JXuTTeUBkgsUSvYpyzU6D30ka1Qih\/vr77WczKgP+1WGtL6IePbZZ+0nP\/lJxfHpy5iVV1459vfkWJK\/FEgrr6C63EnJn3Zu+iN6VYJBJV2SCxuG+9GieauttlpFdrVeP+aYY4ISD2oq\/6FfNSSbSm3o+lRTreHoYnvhFyWNmm\/0AwEIQAACEIDA0iWA6F26\/Nk7BCAAAQhAAAIpBDbbbLOYRPvSl75kxx13XEVk8if21eLCDX0laTReYkzSZ\/To0UFZiKyM3qSEdjnRKgewzjrr1AwdrGP4z3\/+U1GuIOsYxEg\/RR+o7MCkpNJ4wmzFNHmrBbgke5OtP6JX4lHj+OMf\/xjrVjL1jDPO6PtbmuiVaNRP8cOyCBJuaYt8JWs5Z3HPej2tzETaNsrkTS4gqGzp6OJtWfuSFNVxhaUT+nstp9X4Vf3uz3zmM31D0blQpnG0pX3pk1b+IZSo2jY5v3wWFqxX9N5wwLine truncated
%---
%[output:7b803654]
% data: {"dataType":"image","outputData":{"dataUri":"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAABXoAAANsCAYAAADlaRC9AAAAAXNSR0IArs4c6QAAIABJREFUeF7snQeYXFX9v8\/M7OzOZjc9m5CQAIYeOgIBfqj0Ik0IvYgiCIKgCIJEOggoRUBUVDooYAFEmqg0EQUBaQICKYTUTSGbsn1n\/v\/Pndzhzj1n2tbZ3fc8T548e+fcc89577l3Zt77ne+JpFKplKFAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIBAvyUQQfT223NHxyEAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIeAQQvUwECEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAL9nACit5+fQLoPAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQADRyxyAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEINDPCSB6+\/kJpPsQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABBC9zAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAv2cAKK3n59Aug8BCEAAAhAYDARWrFhhPvroIzN+\/HgzZsyYTg25qanJrFq1KrOv2olEIp1qq9SdWltbzdy5c83ChQtNTU2NWWeddczIkSNLbcY0NDQYtaVSUVHRqTZKPuiaHbprDJ09vr9fKpUy9913n2lvb89qaquttjL619NFx9VcHDZsmKmrq+vpw\/VY+8lk0ixatMi7JiZMmODNy94uLS0tZubMmaa2ttZMnDixR6\/Hhx9+2Og+EizTpk3LO27V137Bouv2wAMPzInqT3\/6k3nrrbcyr+taP+644zJ\/\/+tf\/\/Lmj18mT55stt9++95Gz\/EgAAEIQAACEBigBBC9A\/TEMiwIQAACEIBAfycgMXrzzTebf\/\/732bWrFmZ4ay11lqeGDnxxBNLEnuXX365ueOOOzLtPPDAAyUJFomxo48+2utPsFx33XXmkEMOceJua2szP\/vZz8ytt95qVq9enVVn9OjR5rzzzjNf+tKXPGlbTNlrr73MjBkzMlXff\/\/9ovfVTuUwhmLGma\/OG2+84eS94447mt\/85jddbd65f319vbnnnnu8c\/\/yyy9n6kiOTpkyxZx66qlmt91265Fjd3ejTz\/9tLnpppvMm2++ac3H\/fff33zzm9\/M+TDltNNOM7Nnzy6qS9Fo1Dz66KNWXT1w0fElPHUu\/SKWO+ywg3c95BOpRR3cUenwww83r776atYrui533333nE0+8cQT5vTTT896\/aijjjJXXnllzn1OOeUU85e\/\/CXzusZ0\/\/33Z\/4+55xzzIMPPpj5+3Of+5y56667Ojss9oMABCAAAQhAAAJZBBC9TAgIQAACEIAABMqOgMTuEUccYZYuXZq3b4rsnDp1asH+f\/LJJ+bzn\/98lmwtdl+\/8d\/\/\/vfm3HPPtY71ox\/9yBx22GHWdkV+nn322UYRfvmKRJAkYjwez1vvhRdeMF\/+8pez6pQqevt6DAVPVBEVwsI+uIsYKTq1O8vixYuN5F7wYYOr\/T333NNcc801Zvjw4d15+G5rS\/NR0jIoIV2NS7j+\/Oc\/N7vssov1sqJPSymK1g0WRQ9LFus85SsXXHCB9yCnO8vdd99tLrnkkqwmdT2FtwUrfO973zO\/\/e1vs\/ZROy42fiVEb3eeNdqCAAQgAAEIQKBUAojeUolRHwIQgAAEIACBHiWg9AaK6Cskef1OPPTQQ3kje999911z6aWXZkViat9SRK9LFPvHd4leRc5Onz7dkkS5wH3ta18z3\/\/+950vK1XB3\/72N3PRRRd5qR+CpRTR25dj6K4JI1m5zTbbWNHRfvtiKJbdVcTs2GOPNe+9915RTSoa9frrry+qbm9XUuT5T3\/606IOK9mrOTd27NhMfbH47Gc\/W9T+fqWg6NU8ljAPR8TnalACNvxgo6SDhyrr2tl5552zturXAS+++KKzWV3DeogUvA+Jy3\/+85+8UfSI3q6cJfaFAAQgAAEIQKCrBBC9XSXI\/hCAAAQgAAEIdCuBX\/7yl+bqq6\/OanOTTTYxO+20k\/dz8\/DPrw899FBz7bXXZuoralASV\/ls\/\/e\/\/3nCylVKEb2SrPfee6+zHZfoffzxx72fwAeLpNLBBx9sYrGYl84hXF5\/\/XUv76uKBNlTTz1lli1b5gnq8M\/s\/X1LEb29PYZunRRrGvv73\/9uTjjhhJxNa56IfXeVG2+80ehfsEj2SRhKOj\/zzDPWoW655Raz9957d1cXuqUd5ZrdeuutrbaU7mKjjTYyjz32mPVg5aSTTvIeVvjl7bffNgcddFDR\/VFqkqDUlSBVTtxgUZ199tnHKGo6HGms60WRv0oB0V1FojmYekPtPvnkkx6DcHGNt1AEsNpQBH9QcG+88cZm3333zTRP6obuOpu0AwEIQAACEICAiwCil3kBAQhAAAIQgEBZEQjnoVUOVC2I5OexlUANy7z\/\/ve\/prq62hvHvHnzjPJeFirFit5cOWH99l2iVzl7g\/lHJbSUG3Xo0KHebi5hGcwX+sgjj5hvf\/vbhYZgihW9fTGGgp3vRIWwJHM1kUvcFTqc8ikrPYMWKJMw1kJrSvehXNF+WX\/99b0obX8hPYnecARxsVG9ylU7Z84cs3z5cqN2O7vIYKFx6fXnnnvOfPWrX82qKoHt58KVtJZwDaanUPTu7373u8w+evCgXMT55n2+vlx22WXmzjvvzKqi62Dttdf2trlSKxTKo71y5Urz4YcfepJ6gw02MOuuu27eBd1+\/etfmwsvvDCrD7nSRCh9hVJxBIty7SrVSldKPtGrqOcPPvjAi1iXfO6LBfK6Mjb2hQAEIAABCECg7wkgevv+HNADCEAAAhCAAATWEFCaBS0IFSxaQO0LX\/hCZpNEiKRUsPzkJz\/J7Nedorejo8OLQvQjapWbU5GJwYXVwqLXdfzwok\/6WbgihCV2\/CKp+JnPfMb7sztFb1+NobsntZhvscUWWc1KyIbTKpx55pk5JXlLS4uXX7W5uTnTzh\/\/+EdvgTEJPz81hiKuFbUbjoJVtLly8QaLSwb70amKlFWeV79IREqeqv1wGgVFsEqkHn\/88XllZWe4unIzBx+OqE1dQz\/+8Y8zzYcjcm+\/\/XZzxRVXZF7\/wx\/+4KXRKKZIom+77bZZ143GGsx5rXmqCONgqoRcEbR60KOo\/6CEVz\/8Bd0ktV15dLWono4RLKonyRwu4cXbxEMLyCkiP1\/R+dZ594vE8G233Zb52yV6JZQ1Hs2b4L1FDwC++93vZkWI\/\/WvfzVnnXVWVhd03oLzUucqeC79e4p\/f9HfEv26LwWLIqjLNcd0MfOMOhCAAAQgAAEIGIPoZRZAAAIQgAAEIFA2BLQavURIsLz00ktedKVfJIQ23HDDrDpBaaR0B8rJGyzKLxpeAKqYiN7f\/OY3ngD0i6JFJX7ziV7V0YJTwaIUEoUWWwvW10\/ew6ki3nnnHTNjxoysdouJ6O2rMXT3pNJP4r\/1rW9lNSuBdvHFF2cJPwnTf\/zjH05ZqrQeW265ZVYbOr9BgakXlX5BUna\/\/fbLqhuMQPVfUC7ZsCjUeYpEIt7P+IN9Vt8kq\/MtiLbbbrt5ks5P49EdHF1pE5SbVv3xSzjiNixAw68rhYof2VyojxLpu+++e1Y1ie4w35NPPjkr1YrOlaL5\/aIUFIrILbTAoepr4TkthhguxxxzjCdsg0UPcmprazObdA\/ZbrvtsupIHoejgV3jLjVH78SJE71mwtI62LYeXuif0lgo6nqPPfbIOrSOed5552W2uX71EIzgVsUwB\/1y4tFHHy10KnkdAhCAAAQgAIEyJ4DoLfMTRPcgAAEIQAACg4lAOD+vIvTeeustC4F+Hh\/MW3vEEUdYeX2DO0lKKUIvWAqJXuUNlZzype5XvvIVb0E0ibp8oleSTtGRftFP4BXBKWGliOWPP\/7Yk4gSK8rl6oueQufZ9VPyQqK33MZQaIz5Xg9LQM2NV155xYtMlJgNllzRpi7R6zqm2tt+++2NfuofjLqWUKusrMzaRfPi+eefz2wLRsK65HQxDIqVisW0pTpKE7HZZptlVZfo+853vuPJ2tdee81oHMF5HY6MDvIXey18J2GtOa0UCmpf14ZyKIfntEs0a19FrAaLcm0H81eHF0vTA5y77rqr2GEbLUCnNCrBonQQ559\/fta2cKS267wVG8FcqugtdjBBURuOIg+n2VA0enjhxuCcUqqOcF5iPZAIP0gptm\/UgwAEIAABCECgfAggesvnXNATCEAAAhCAwKAncOWVV2b9nFg\/NXYtphaWa4qCDP48OgyyM6JXP8FWPlYViS3JPEmxQqI3uJ+\/byKRsBa78vvoyvHrmgidEb3lNobOTnAJ66lTp2bt7i\/C55KIvpQPH68U0VvMgmquY0vC+blo84leSc511lnHWxwsKFj9Pusn+pMnT+4sMmu\/cGoGv4LEdDBdgrarb4oED0bSK4o0mMM3X8ckgYO5izWWr3\/961m7hCP19aJrIUY\/OtqV1kXXpdodO3asUYRyONJXwln5iRVd7RfXXAqniAinVyhlYbiuiF49XNBcUPR+uOhe+Oc\/\/9nLVX755ZcbpbQJFqUw0UMI1\/hULxgd7WKpX1O4FuzrtglIQxCAAAQgAAEI9AoBRG+vYOYgEIAABCAAAQgUQ0ARhsGfaod\/uu23Ef5pcqGfHZcqesP1JVaOPfZY7\/CFRG9Y9BQz7mD7ueqXKnrLcQzFsHDVcS2i5UdhKt+xJHBQVkoAKko1nC4jl+hV\/TPOOMNsuumm3qJoEyZMKJirVJHZmhPhn9zfcMMN5qCLine truncated
%---
%[output:7ec3927c]
% data: {"dataType":"image","outputData":{"dataUri":"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAABXoAAANsCAYAAADlaRC9AAAAAXNSR0IArs4c6QAAIABJREFUeF7snXe8FNX5hw\/l0nvnCohKEVQi2I1RIPb6Q+xGjcbYYtdoNIqxG41YYu+9xRY7FlQ0KJbELiCgIF2k91v4fb5znWVmdnbP2XsX7tzd53w+\/MHuO2fPPOfM7p1n331PvTVr1qwxNAhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEKizBOoheuvs3DFwCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIeAUQvCwECEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAQB0ngOit4xPI8CEAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIIHpZAxCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAE6jgBRG8dn0CGDwEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAA0csagAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCBQxwkgeuv4BDJ8CEAAAhCAQDETqKysNFOnTjVlZWVm4403Ng0bNqwWjp9++il1XNOmTU2LFi2q1U91DtJrz5w50yxbtsx07drVdOvWzZSUlOTUlc5\/4cKFqWNat25tGjVqlFMfNQnOxznU5PV17IwZM8x\/\/\/tfM3HiRPPNN9+YWbNmmTZt2piOHTuaAQMGmCFDhnhrJNe2aNEis3r1au8wra+2bdvm2kWtxmtdaX1pTXfu3NnUr19\/vY9n9uzZZt68eWajjTYyzZs3X2ev\/\/3335v33nsv1H+fPn3M9ttvn\/U1x44dayZNmhSK2XnnnU3Pnj1jj5s\/f7654447Qs8dfvjh3vmpLVmyxLzyyiup58V87733Xqfnvs6g0jEEIAABCEAAAnWKAKK3Tk0Xg4UABCAAAQhAQAQeffRR8\/rrr3tiTyLLb9tss43ZaaedzMknn+wsfSWgtt1221QfkkKPPfZYTqAll4455pjQMV26dDESSJna559\/bq6\/\/nrz\/vvvp4Xss88+5s9\/\/rPp0aOH0zjE4qSTTkrFnn322ebUU091OtYPqu1zyGmwgeDy8nJz9913m+uuu87aheTd3\/72t4wCL66D3XbbzUyePDn1lERydb9QsA4wTwESkTfddJMnG3\/++edQr5LeWhu77rpr7KtpzV5xxRXOIznuuOPMQQcdlBavfnQdjRs3LjSGTTfd1AwaNMiceeaZpkOHDs6v4xKoa+noo48Ohfbv39+89NJLWQ\/\/7W9\/aySJg03XwwYbbBB73Lfffmt0jQbbE088kXofUV\/qM9ieeeYZM3DgQJfTIAYCEIAABCAAAQhUmwCit9roOBACEIAABCAAgfVNYM2aNZ7Qi2bTRceh7LmRI0c6ZbXeeOON5uabb051kavoXbVqlZEMnD59emgY7du3Nx9\/\/HEsos8++8wceOCBVnz33nuvl4lqawcffLD59NNPU2FnnXWWOe2002yHpZ5Pwjk4DzYQKKGmc\/3iiy9yOjwo5bIdGCcOky56NWZ90RH8AiTuHCV6b7vttjRp\/eCDD5pLL73UmecFF1xg\/vjHP4bi33zzTXPCCSdk7UPZr\/rCRl+I5KtJ+kumRs9d0jnT6+i61RcAwbbVVluZf\/3rXxmHhejN14zRDwQgAAEIQAAC+SaA6M03UfqDAAQgAAEIQGCdEYhK2WwvJNl7yy23ZAyR3JRoimYv5ip69RqSytGWSfRKEh1yyCFWEaf+9DP3V1991SvnENdUMkFMHn\/88dDTuYre2jyH6i4WSb3\/+7\/\/88o0VKe99tprRj\/rj2v6QuGtt94yI0aMMCo7EGxJFr0qV7H77rs7rS2d0+mnn+5l1gbblVdeafQFg2uLit64zPBMfWldK9u2VatWri9njVPG9kMPPRSKU+b8sGHDYo+V9L\/wwgtDz6mPaGZwMADRa50GAiAAAQhAAAIQqCUCiN5aAs\/LQgACEIAABCCQG4EVK1aYzTbbLO2g\/fbbz6iu7ssvv5wmuCTr\/LqZOlDZjsqmVbkGlTuISjzF5CJ6p02bZgYPHhx7InGiVzWFlf0b\/Zm4fuatLMIxY8aYDz\/8MNSfSjKcd955qceUaaiaqz\/++KN59tlnY187F9FbG+eQ28zHR0vmSchFm0oTKFtVEnfu3Lle+QxJ3WhTiY+gEJwyZYq3JlT24KOPPsqYJZxk0fv3v\/\/d3HnnnaFT1TpUmQGdX1yZEGWCB+sOKxNXGbmu7eqrrzaHHnpoKvz3v\/+9t46DTax79erl9RvNfP\/HP\/7hlN3uOh5dP0cccUQoXOf\/z3\/+M7aLuPPNlgGsTrSugl+uqAbv7373uxRHSje4zhZxEIAABCAAAQjkmwCiN99E6Q8CEIAABCAAgXVCQLLulFNOCfWtEg7KYFT76quvzP777x96\/txzzw0do8w9ZfBla7mIXv1kXTI5rsWJ3rhsx0suuSRV31dZqkceeWSo5EO0xuiOO+4YK6iDY8hF9NbGOdR0gUjQi0O0qVasMlKjm9kpK\/pPf\/pTWvyTTz5pVNdZ7YUXXkjLbo0bp6vo1SZukvH616BBA9OpUyevfEA+SxVEx6cM52AZC33JMWrUqFR5hhdffNGcccYZocMkuyVi\/RasSZyt\/EgcG2WYb7fddqGnjj32WHPxxRd7jy1dutS7XoNfsESFe7TfiooKoy8jJE9btmxp+vXrl3WzRF1DO+ywQ6gusDLj\/\/e\/\/6WVqYj78kj1um3vEbb1axO92qxNmeilpaVetn69evVsXfI8BCAAAQhAAAIQcCKA6HXCRBAEIAABCEAAArVNQJI3mJmpzM3nn38+NCxJLMksv0l0BUVsPkVvtA6psgaVVey3OEkWfX2dgzZpkgj0mzZpU9ax3\/Sz9uDPzvMpemvrHGq6li6\/\/HJz\/\/33h7qRMFR92UzSTBvURddLsHRBvkSvMmeV5ZrpCwCJZZUFiG7mVVMmOl59Bzdfiwr\/OLEZzMhVyYpNNtkkNZTf\/OY3HlPXFpdlrfUsQeu3uFIJcRm0yrrXPAevZ78PjVFZ8JL3wb795y+77DLzwAMPhIatTHhlzQdbXA3mq666yhx22GFZT1lzfMABB4Ri9Hp+\/5lE76RJk7wN6sTEb5LQkuvKTg+WsJC0D24CqHMOrl+\/HnFwEFpT11xzTeohiXVJ72BTxvU555zjOqXEQQACEIAABCBQxwggeuvYhDFcCEAAAhCAQLESiEqsY445xigbNthUW1QZncGmDMcWLVp4D0kyffDBB6HnJZmCcswlo1fCTKLJz0xU+QgJlWCtzzjRG8yW1CDiNrKyza82ylJ5gWCLyjCXjN7aPAfbOdqeV6mA6EZ3EpISk5nahAkTjDJ+g2348OGp8g\/q75FHHgk9r6zLoGzTk9kyekePHm2OP\/542\/C95\/\/yl79YNyxz6igQFC2bcNRRR4U2VlPJAa3vYAsK0GhGrs4lWr8225iUQR8sJxL9okXHSnJG6+VK2u+yyy6prt9++22vfrBtQzldY\/qipEePHqFhaS6D5ST0ZFw9Yknde+65J3TsuHHjTMeOHbOir06NXm34Fi1pEXwRZfaKgy\/aoywVqy+AfBkcNwb1EXwNncvhhx8eOhfXDR5zXXvEQwACEIAABCCQDAKI3mTMA6OAAAQgAAEIQCALAdW2VY3PYIvLvIsrjfDuu++a7t27Z+xdwljH+c1F9EY3hdPx+pdN9MZlU0osLl++3KsJO378eC8bVaUaBg4c6GX5uf6ke+ONNw6dn4voTdo55HIBbLHFFiEJqHIIys5UrdR8tttvv91cd911oS4ziV7VTd5jjz2scjLYmb54UKmAfDXVob3hhhtS3Slb9L777jNbb721WbhwobnpppvSNioLfhHy5ZdfhjJV\/\/CHP3jr8+uvv\/aEt8pPaH0OHTrUi4vyjopmfQGi1ww2ZZkqkz3YgnV6Z8yYkVXYR1lJJmtDN9Xp9pvKPeg6Dn6Bs+mmm5pXXnkldLjka7BmsGsGc3VEr8scB0ttxJXZ0PuFX7JEQl0yONo++eQT065dO+\/hu+66K5Thq8c0x1oXNAhAAAIQgAAECpMAorcw55WzggAEIAABCBQUAdU7lfwMtltvvdXstddeocdUh1NZmsEmIbLllltm5JGr6NXPtrXZl99UEuDUU0\/1soWziV7Vag1mLep4STNljcY1SSdtruVS0zVX0ZvEc3BdsAsWLEj7Cb6EXfSn+q79ZYvLRfQqo1jZ1sGmn+MrE71Ro0ZGdYJHjhwZej7XjFnbOYmNWEQzYZX5GpSefj8qcaBNxPyWqZZx3OuqTMG1114b2uxw77339r6w8Fs0o9h\/PLpeg9nNupaiQnbIkCFeBr0k8d133512LpLJksrBpsx+Za8GW7BERFx5BZ1PNOs77txrIno1FxLd+nInLmNZa0RlG+LqHf\/5z382J598sjekuPIlejyY2R5lKY5RJrY1xfMQgAAEIAABCNQtAojeujVfjBYCEIAABCBQlASiYlIQ4n6CHCdg9NNsZSBmarmK3mC8JKxqsSqb0CZ64zaLs02m+n\/jjTesGXi5it4knoONhf+8fr5+4IEHhsL18\/RoyQ7X\/rLF5SJ6TzzxRG+u\/CahJ7EY3BjuhBNOMKqL7Le4LNOajluZt8oGtzXVs45uzBZX+iRbP8pAlZRt3LixFxYtryIm559\/floX0YxsPy7u+pU8Vqayn92usiXKUA62ONH\/6aefmoMPPjgUd\/3116fKRig7dsSIEaHndUzbtm1t6Ex1RW9QrKvGrv4fLRei0g3+OopurqcvmJSlq6byF8Fav\/6gg9n80fmIin3riRIAAQhAAAIQgECLine truncated
%---
%[output:5e5ac45c]
% data: {"dataType":"image","outputData":{"dataUri":"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAABXoAAANsCAYAAADlaRC9AAAAAXNSR0IArs4c6QAAIABJREFUeF7snQeYVNX5hw+9LV1EQBQRREARG0asWBKNLYolxpYYEzX5x0hs0SjWqIndGGOK3diS2GI31qjEXlEUEZGm9I70\/\/O735zZe+7e2ZndnV0u8J7n8cEzt537nu\/O7r7zzXcarVq1apWjQQACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAwBpLoBGid42dOwYOAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQCAigOglECAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIrOEEEL1r+AQyfAhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACiF5iAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIDAGk4A0buGTyDDhwAEIAABCEAAAhCAAAQgAAEIQAACEIAABCCA6CUGIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQis4QQQvWv4BDJ8CEAAAhCAwLpE4KuvvnIzZsxwm2yyiWvTpk2tbn369On541q1auUqKipqdZ7aHLRgwQI3ceJEN3PmTNelSxe34YYb1uo+Vuc96NpTpkxxCxcudN26dYvuoVmzZrXBUetj5s6d69566y33ySefuI8++siNGzcu4ti1a9coNvbYYw83aNAg16RJk9RraB4efvhht2LFivz2fffdN5qTQm3VqlVu0qRJrlGjRtF9Fzp3rW+qAQ+cPXu20zzqfjt27NiAV668VDme5VIG\/r\/\/\/c99+umnwa677LJLFCfVtQcffNDNnz8\/2OWwww5zes9Ia7NmzXI33XRTsOnII4\/MX+fzzz93b7zxRn673nf222+\/Um6BfSAAAQhAAAIQgEDJBBC9JaNiRwhAAAIQgAAEVgeBV1991d19993utddeiwSpb5tvvrnbZptt3KmnnurWW2+9koYmSTxkyJD8vt\/61reic9ek\/fe\/\/3XHHXdccMgGG2zgNM5CTVLtqquucvfff3+VXSQkzznnnGBc1Y1ndd3De++9F93Dyy+\/XGV4ElZnnHGG22ijjWqCslb7\/uc\/\/3Fnn312EAtpJ5LIu\/jii93QoUOrbJYY3nvvvYPX\/\/Wvf7mtt946eG3ZsmXujjvuiGJv1KhRkdyOx9+hhx7qjjnmmAYX3bUBJ9l55ZVXVrkPCXI9B6effrrr169f6qkV25dccknJlz3++OOd2CRbOZ\/lUgdz7bXXuuuvvz7Y\/ac\/\/an79a9\/Xe3zusMOOwTb9YHGiy++GIn+tPbxxx9XEbf33ntv\/rn+5z\/\/6c4888zgUMlfGgQgAAEIQAACECgnAURvOWlyLghAAAIQgAAEykpAUk9Spromoff3v\/\/dSbYWa0npU1PRu2TJkkgQKrMz3jp37hxk68W3KdPviCOOiLJOq2u\/+MUv3IgRI4rdglsd9\/Duu++6Qw45pOjYbr75Zjds2LCi+9VmB2Xhjhw50j300EM1OlxCLxlDpYje5cuXR\/Px2GOPVXu9TTfdNBKJ\/fv3r9G4GnLnv\/zlL+7yyy8veknJ+pNPPrnKfrfffru78MILix7vd5CI\/8lPfhLsX+5nudTBpAlYvWc8++yzBU+hGPvVr34VbC\/2fCJ6S50R9oMABCAAAQhAoD4JIHrrky7nhgAEIAABCECg1gTSMmcLnUzZdo8++qhr165d6i4StJLByazEmoreG264wV199dVVrlFI9KrEwFFHHRWVFyilScjttddemboHCazDDz88yGYtdC\/KDn3iiSeicg7lbsrOvfXWW2t1WmWyxkV1MdG7cuXKKPvygQceKOl6ul\/dd23LiZR0kVruVJPnSJdQBvPOO+8cXO23v\/2tk8QvtSVFb03GUOxZLnUM8f323HNPN378+ODQF154oWAG+i9\/+Uv373\/\/O9hfwr86mY\/orc3McAwEIAABCEAAAuUmgOgtN1HOBwEIQAACEIBAWQj88Ic\/dC+99FJwLgmoPn36OGUHJrNqkzJPJQaUiapSB08\/\/bRTTdBkq4no\/fLLL93uu++eem+FRK8yUO+6667gGJVqkMzV+fR17njTtnjG6uq+BwlPZTAnJZnE2bbbbhvNj2qgxttJJ51U5SvqdQ2IDz\/80B144IFVTiPuBx98sBs8eLBbtGiRGz16tFP2abJJwKpsQNu2baNNxUSv7ukHP\/hBlfMo\/vRhgr7CHy\/joB1\/9KMfufPOO6+ut1r247\/3ve+5999\/PzivspAVy5KdyUxzlUR5\/PHHg\/2VEa1nrtR22WWXRVnsvtX1WS71uoX2+8Mf\/uCuueaaYLM+9EmbY2Vyq4RHfH6LZQDrxNOmTXP33HNP\/hqNGzd2Rx99dL4GMqUb6jqLHA8BCEAAAhCAQCkEEL2lUGIfCEAAAhCAAAQalIBq2iZrZMZFmr7G\/+1vfzuQt5Jwykb0TXVvVSOzulYT0auvohf6unea6NWCV5Kh8SbBq6xd31Tz9o9\/\/GOwjxYZ8wtkre57SMvEPP\/88\/M1iiXFlLEcX2RqwIABUXZ1uZoWTBs+fHgVWanrKMM3uYCaMiuPPfbYKjV89VX8\/\/u\/\/4uGVUz0\/uY3vwmknY7R4m1bbrlldPzkyZPdPvvsE8jA6sp3xFloUbevv\/46WpRPC3L17dvXNW3atFy4gvNoMbGtttoqeE0LhClD17dzzz23Sp1qCfP4omOS\/V4Il3qf\/vzleJaTcJShr\/q2YtizZ8\/ow5\/qFgRUfWLNV3XPot+m50+LrsVbPHZqO1HFRO\/UqVOjD38k4UutOV7bsXAcBCAAAQhAAAJrLwFE79o7t9wZBCAAAQhAYI0lIGF7wQUXBOPXYmA+I1MbJHElQuNNWZu+Vm85JWmyvqgWH4vXbk2TX4888ki0UFy8aVGvuJhUlvFTTz2V30ULPanEgASg2uq+h+T1lXGsRcuaNGmSH7PmRZnTvinjVVm25WrKxlaWcLwpQ\/eVV14pWKrjvvvuixZsizdJ93\/84x\/RS8VE7\/777x+U2zjhhBOqxFqaDH7zzTddp06domt897vfjUSkb7\/\/\/e\/d+uuvHy0Ql8yw3XXXXaPXJS3L2ZSJrezreFPWafxDFMWk5G+8Kd579+4dvSQxLfno2y677JKaNV1o3OV4lv25JfGVJS8Zm2ya3wMOOCD64CEen36\/uKyOn69FixbBqZT5qwzgeNMzKiFfXZN4Puigg4JdbrvttvyHPWmi95NPPolKwei9JP4NBb2HKdtY9ZLj96Ls7HgGtuYl\/g0An40cH4Teq+L1mfUh2Y477hiMUxnXp512WjlDj3NBAAIQgAAEILCaCCB6VxN4LgsBCEAAAhCAQGECp59+elAfNe2r0xKMSaGoDM\/ddtstOrFE8KhRo4KLSATPnDkz\/1opGb2LFy+OZJkv\/SCZJFESl8xpoveiiy5yEj2+SebF+6XM\/+q+h6QcS1tkq5T7qMs+1113ndN\/8fazn\/3MKUYKNWV8StbGy3VInj3zzDPRIcVErzJ341\/d1wJ4ydIRknNaoCveJMH1tX81zXdc3ulr\/MkyHsnxK7t73333rQuu4FiJv8022yx4LXmNJ5980olnvI0ZM8Y1b948eimZkZsmvasbcDmeZZ3\/T3\/6k7viiiuKslFm\/1\/\/+leXFLhp9bXT6hFL0Ov+fUsrZZE2iNrU6NXz5WMy7Zx635EI9h9wJVnqGH3I4muTp41BNY\/jJXDSxH59LqJYdMLYAQIQgAAEIACBshJA9JYVJyeDAAQgAAEIQKAcBJI1PSVXk7JPmWnKMI23ZJ3e5FiOO+44p3IEvpUieiX5rr\/++vwxOl7\/FRO9+vp3PPPwlFNOiWrzKltSi7NpoTZJJJUgUNadz+Itxq+h7kGCe+DAgcFwJCpVC\/f111+PZJgykDV+yU1JK\/XL3dIWxqpuIa1Srl9M9N5yyy2B6JU01ocN8SaZqFq08fbcc8+5Xr16RS8lRW8p49I+ylTu1q1bqbsX3e\/73\/9+NF++KfNV2cW6H2X8\/vrXvw5Kb8Qzn3XMBx98EGSq\/vjHP87XQxZHZSkrBvbYY49oP9WmjbdyPMta6O7nP\/950Xv1Oxx66KHRPcabMm6TCx0mpbXKJ+y0007BcVqUL5lRnjaQ2ojeUm5Imb1+EUktEKfnId70TA4dOjR6SYsHpn0AEs80V+mYeIavn+MsLiRYCh\/2gQAEIAABCEAgJIDoJSIgAAEIQAACEMgcgWRW3THHHOMuvPDCKuP0Xy\/3GySttHBUoVZTSZqUQ75WZ7JsRFpGr+RLPKNUmXXJBeT8OLVNIttng1Y3IQ11Dyo74LOj\/Xgk9CSp05q+0v+73\/0uXzqjXEGVjAWd97PPPqsiFGtyvWKit9i5JOklDePZ4TpGtWB9vd3qRO+wYcOcpGI8c9RfU6U79IFFuZokr2RvsinDOblAoWSfslzjcVgTyRqXyP56dX2Wkxn1\/rzKkNYHEV988YX785\/\/XOX+9GFMjx49gteTY0l+UyCtvILqciclf9rc1EX0qgSDSrokFzb01\/EfbKTVOz7jjDOiEg9qKv+hbzUkmxYo1POppjrV8cX2FIvK6KVBAAIQgAAEILB2EED0rh3zyF1AAAIQgAAE1ioC22+\/fSDRTjzxRHfWWWdVucfkV+wL7ecPrKkkje8vMSbpo0WqShG9SQldygSpHED\/\/v2r3bWh7uHDDz+sUq6g2D348gjlyg7UQmzJ2qjJr6IXG1Pa9rqIXolHybLnn38+OLVk6qWXXpp\/LU30SjTqq\/i+LIKEm18gLn6yZC3n2txj\/Line truncated
%---
%[output:244f5944]
% data: {"dataType":"image","outputData":{"dataUri":"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAABXoAAANsCAYAAADlaRC9AAAAAXNSR0IArs4c6QAAIABJREFUeF7snQeYJEX5\/9+dTZe4yB1HRgROQJAgIP5AD5SMKFlERBGVoAiCJMkgQckiIkiOogKSg8KBShL+KBIOBBTuCN4RLnB7G2f+z7f3eunp6Zmq3p2dnZ351PPw6G3XVFd9qrpn+jPvvNWQy+VyRoEABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAIFhS6AB0Tts546OQwACEIAABCAAAQhAAAIQgAAEIAABCEAAAhAICCB6WQgQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABIY5AUTvMJ9Aug8BCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAANHLGoAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgMMwJIHqH+QTSfQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACiF7WAAQgAAEIQAACEIBATRHo7u62trY2Gzt2bE2Ni8FAAAIQgAAEIAABCECgFAFEL+sDAhCAAAQgAIFhS+Cdd96xd9991z72sY\/Z6NGj+zWOuXPn9r1u5MiRNmbMmH61058XffjhhzZr1ix77733bPLkybbCCiv0axy1MIb+8Atfo3Xwu9\/9zl5++WV79dVXbebMmcEhrYm11lrLVlttNVt\/\/fXtK1\/5ijU1NaU+1VDyTd3ZhBd88MEHpjFojU2YMKEcTaZuoxzXqs9JH3\/88WAdRMvmm28e3CNKlVtvvdUWLlyYV2X33Xc33ROSyj\/+8Q+7++678w4dddRR1tjYGPzttddes7\/\/\/e99x3Vf2WGHHXyGQB0IQAACEIAABCDQbwKI3n6j44UQgAAEIAABCAwFgUcffdRuuOEGe+KJJwJBGpZPfOITtsEGG9ihhx5qSy+9tFfXJIk33njjvrqf+cxngrbTFAm0Lbfc0hYtWpT3sgcffNBWWWWVxKb0mnPOOcduvvnmguPrrruuHXvssXn9KtWfcozhL3\/5i+277755p5k6daqJdbFSzjGk4R2tm81mA4Y\/\/elPC\/gntSnpe+aZZ9onP\/lJ71OWg6\/3ycpYUbLz7LPPtsceeyyPjeS31vkRRxxh06ZNSzzjJZdcYrfffrt3b7SW11xzzYL65bxWfTtz\/vnn24UXXphX\/bvf\/a4dffTRJdfyJptskndcX7o8\/PDD1tDQkPi6a665xk466aS8Y2IefpHw+9\/\/3o488si845K\/FAhAAAIQgAAEIDCYBBC9g0mXtiEAAQhAAAIQKCuBP\/3pTyZpU6oocu\/66683iUpXiUuh\/oheCbNbbrml4FR\/\/vOfE6MI33\/\/fdtzzz2DyNNS5Qc\/+IEddthhriHYQMfQ0dFhW221lc2ePTvvXJMmTcqLSIweLPcYnINMqNDZ2Wnf\/OY3TRGcacupp55qe++9t9fLBsrX6yRlrnTppZcGQttVfvzjH9uBBx5YUO173\/uePfDAA66X9x3\/wx\/+EERMR0u5r1Xfzrz44osFkbO6J+h6LFZuu+02+9GPfpR32HX9IXp9Z4R6EIAABCAAAQhUkgCit5K0ORcEIAABCEAAAv0mkBR1WqwxRePdeeedRXO0Sm5KBp922ml5TaQVvYoq3muvvRK7kSR658+fHwjGF154wYuDhN0Xv\/jFxLrlGsNFF11k5557bsE5ioneco7BC0KRSooi\/eUvf9nvJiQyP\/7xjxd9fbn49ruD\/XxhmutEp5Cw3GyzzfLOtv322\/elv\/DpRlz0pumD61r1OX+8zhe+8AX7z3\/+k\/fnGTNm2EorrZTY3A9\/+EO744478o7dddddiVHKYSVEb39mhtdAAAIQgAAEIDDYBBC9g02Y9iEAAQhAAAIQKAsBRW8+8sgjeW1JUCn\/qqIH4xGp+tn6Lrvs0lf\/r3\/9qymvpn6Kf\/\/995tyhsZLGtHb1dVlEmLFInOTRO8JJ5xg1113Xd5plapBMveNN94w\/dw7WnRM0YZhKfcYdM7p06cnzk8x0TvQMZRjMTz99NOm\/KnxoihuRVgrNcMyyywT5GoVs1\/84hcFdT\/1qU8FeX2jOXvLzbccY03bhvIQP\/vss3kvk9DWPEt2xterUp5Ec83mcrmSAjypP\/fdd5+tvvrqfYcGeq2mHXO8vub7vPPOy\/uzvtT52te+VtC0Nu5TNHI09YorAliNPPPMM3n3I+Xg3W+\/\/fpSPZC6YaCzyOshAAEIQAACEOgPAURvf6jxGghAAAIQgAAEKkpA+WDjOTS\/9a1v2fHHHx\/0Q5uabb311nnyVhJYUXdhUd7bm266qWS\/04jeK664oiAiONp4XPRqQ6wNN9ww7\/wSvIraDUtSlKqkZriBVrnH8J3vfKfoT9qTRG85xjDQhSMx97nPfa5A1GvDLaVZSNpsTLlilY4gnkf5uOOOC+TcYK0RRT9rsz39p026pkyZEqQU8Ukr0h9O2kxMAjtaFHGuHMZh0Zjjeaiff\/75vk3H4jmJ9WWJvjTxLeW4VuPnUnS18tuK44orrhh8udPc3Fy0SxL82267bclrLTyY9KWB0jh8\/\/vf9x1yYj2X6H377beDL3ck4X1zig+oQ7wYAhCAAAQgAIG6IIDorYtpZpAQgAAEIACB4U0g6WfS\/\/znP22ppZbqG5gkrkRotEjwhVKtnJJUkub\/\/u\/\/+k61ww47mH7qHS1x0avNrbRRXLQo9cPkyZP7\/qQoY0VHhkUbQUm0KVpQpZxjiOdQjY8hSfSWYwwDXYlJOVi1wdjf\/va3oqk6dE7lUVa0b7TEN5wrF19JyTPOOKOoRN9oo43sG9\/4RkEu2YGyUboCpS2IlhtvvDHvS5KkdCNaC6uuumrwsueee8522mmnvia0odgBBxzg3bVyXKvhyTTXiiCXjI0XfWnypS99KUiFIokeL8o7HY9eVnutra15VRX5G4\/4jkcoJw1eIvfkk0\/OO6Qo31Kbsb300ktBmhTdK6K\/QNA6VLSx8iVHx6Lo7OgYJIWjEf5hNHK0E7qOo\/mZ9SXYpptumtdPRVwffvjh3nNKRQhAAAIQgAAEhg8BRO\/wmSt6CgEIQAACEKhbAvENz5J+Wi3xu\/POO+cxuvLKK+3zn\/988DeJ4MceeyzvuETwe++91\/c334hebdQUil1JGkXlRuWYGoyL3lNOOcWuuuqqvnMpKjX6b5\/JLdcYFi9eHAjBMH2FhJlkUFSUJ4necozBZ5yl6ijdwlFHHZVXRZvWaU5KFaXa0FqIp+yIRrOWg++DDz5o+++\/v9cwjz76aOfmgl4NLakk8bfGGmvkvUR5jLfbbru+v91777120EEH5dWZOXOmtbS0BH+LHy+VJzqpb+W4VtXur371K\/v5z3\/uHL4i9y+77LICgZuUe9onH3E8lUWxDvQnR6\/kc6lN7nRNSgSHX2AlbfSo9DNjx44NupX0pYdyHkdT3CSJ\/csvv9y22GILJ1sqQAACEIAABCAw\/AggeoffnNFjCEAAAhCAQN0RiOf8lJi84IIL8jgock05baMlnqc3Dm7fffc1bRwVFh\/RqzyuisYMy8UXXxzkJ5XEiZa46FVO2Whk4iGHHBLk5lU0pTZn08\/8JZnWWmutINIzjOJ1TXZ\/xqAUBxdeeGFf02Kg\/1yid7DG4Bpj9PhPfvITU5RqtCiad9lll3U2k5S71bXpVhq+b731lm2zzTYFKSJKdUxyeeONN3b23bfCV7\/6VXvyySf7qivy9Wc\/+5npyxFF\/Eou\/\/3vf887LnkelnhKkhNPPDGoL6mo12t9KgfyrrvuaopMjpdyXKv33HOPHXzwwb5Dtt122y0YY7Qoqjq+kaEEfHSNxyPz9XrfCOb+iF6fASmyN9wkUhvEaaO4aFGO789+9rPBn5Ki1PX3p556yiZOnBjUkaiPRvjqb\/\/6179MUfAUCEAAAhCAAARqjwCit\/bmlBFBAAIQgAAEao6ANj1T1GFY9tlnn4KfTetY+PPzsJ4rYjKNxFObyhWqvkh4qYRiWD+vdoleyZloNKki7+IbyIX91jGJbG0S5SppxxAXYGE+0njqi6SI3sEag2uM0ePxtaBjr7zyimUyGWczSakn4hGv8UbS8L366qsL1uVJJ50UCFFFzEpgKmIzWuLy0TkIRwVJXsneeFHkeTyaWbJPwjK6zpSOQOPwKXvssYcp52\/0S4mBXqvxaPOwH1\/\/+tdt7bXXtv\/+97\/261\/\/uqB7+qJi+eWXz\/t7vC\/xXwIk5dFN2kQxicVARK9SMChly+OPP56IWZvmrbTSSpaU7\/jHP\/5xkOJB5dRTTzX9aiFeNH\/KWa2iXMPRzfYUyauIXgoEIAABCEAAArVJANFbm\/PKqCAAAQhAAAI1RUCiLJpiQRtrxX++rwGvs846edGUxeqFcNJIPL0m\/nPyMBrUR\/TGJbTPBLmiTdVG2jFE60v+SWyNHDkySG3hiugdrDH4sAjrxPuQlMajWHuKTN1zzz3zDrs23krDV+st+tN8yXKlB4luHPbd7343iOIOi2+qgDSMtG5cqSzUniJ54xsEltqgL6kPkr3RiNGBXqtJAlWyPBpF\/9BDD9m3v\/3tvO4kfamTlP4hlKh6cVyCKlr5zjvv9ELdX9F766239m2Yp18hSMoroj9aohtNKk\/vs88+23c4uoGjUtUoZU28RFOZxOdD6VckzSkQgAAEIAABCNQmAURvbc4ro4IABCAAAQjUFIG43CuWkzUuNeISKg4ljcRT9K3y6oZF4kkCSmWgoldCMCqyw3N86lOfMkUdJm02FdZJM4b4T+KVykBpIlQGKnoHMoY0izW+FpSuI7pBVLine truncated
%---
%[output:2f867eb6]
% data: {"dataType":"text","outputData":{"text":" <strong>name<\/strong> <strong>lastModifiedDatestr<\/strong> <strong>scientaPassEnergy_eV<\/strong>\n <strong>__________________________<\/strong> <strong>________________________<\/strong> <strong>____________________<\/strong>\n\n {'0146146_Al2p_850eV.ibw'} {'29-Nov-2025 15:25:25'} 50 \n\n","truncated":false}}
%---
%[output:30898c2d]
% data: {"dataType":"image","outputData":{"dataUri":"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAABXoAAANsCAYAAADlaRC9AAAAAXNSR0IArs4c6QAAIABJREFUeF7snQe4HFX5h7\/dvSU9gZDQMSKEIiC9CUpVEQQpigiIIipYEKQJfyBSRJQqoqJIExREpAnSFAERAcWCGkoAKaGFUJKQ5Lbd\/T+\/uZnLzOzszjl7997cu\/c9z8PDk7vfnDnzzpnZ2Xe\/\/U6uXC6XjQYBCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAALDlkAO0Ttszx0DhwAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAQEED0MhEgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCAxzAojeYX4CGT4EIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAUQvcwACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAwDAngOgd5ieQ4UMAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQQPQyByAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIDHMCiN5hfgIZPgQgAAEIQGAkEXjllVds7ty59u53v9vGjh1b16G\/9tprfduNHj3axo0bV1c\/9Wz09ttv2wsvvGCvv\/66TZkyxVZZZZW6jmNpHoP2\/dJLL9nChQttxRVXDI6htbW1Hhz92kbjuO222yr6+NCHPmQrrLBCzb51Hm666SYrFot9cbvssktwTqq1crlss2fPtlwuFxx3oVDo1\/iX5sZvvvmmiZ+Od5llllkqQ2nEtewy8AcffNCefPLJWOi2224b3ENqtRtuuMEWLFgQC\/nEJz5humektTfeeMMuuuii2Ev77bdf336eeeYZ++tf\/9r3uu47u+66q8shEAMBCEAAAhCAAAScCSB6nVERCAEIQAACEIDA0iDwwAMP2C9\/+Ut76KGHAkEatrXXXts23nhjO+KII2y55ZZzGpok8eabb94Xu+WWWwZ9+7Q\/\/elPdtBBB8U2kVjUOKs1SbVzzjnHrr322oqQDTbYwE444YTYuGqNZ2kdw7\/+9a\/gGO6\/\/\/6K4UlYHXPMMbbaaqv5oOxX7MUXX2zf+c53Kvo48sgj7Wtf+1rNvp9++mnbeeedYzG\/+c1vbKONNor9rbu7237+858Hc+8vf\/lLILej82+fffaxAw88cKmIbl94kp1nn312xXHoCxNdB0cffbSttdZaqd1qbp9++unOuzz44INNbJKtkdey62DOP\/98u+CCC2LhX\/ziF+2b3\/xmzet1iy22iL2uLzTuvffeQPSntccee6xC3F5zzTV91\/V1111nxx57bGxTyV8aBCAAAQhAAAIQaCQBRG8jadIXBCAAAQhAAAINJfD73\/\/eJGVqNWXm\/eIXv8jM4lQfSenjK3o7OzsDQajMzmibPHlyLFsv+poy\/fbdd1+TXKzVJCclKbPa0jiGf\/7zn7bXXntlDc0uueQS23777TPjGhHw0Y9+1B5\/\/PGKriTk7rvvvpq7cBG9PT09wfm49dZba\/b1nve8JxCJ66yzTiMOa0D6+OlPf2pnnnlmZt+S9YcddlhF3BVXXGGnnHJK5vZhwPHHH29f+MIXYvGNvpZdB5MmYHXP+MMf\/lC1ixtvvNG+8Y1vxF7Puj4Rva5nhDgIQAACEIAABAaSAKJ3IOnSNwQgAAEIQAACdRNIy5yt1pnk3i233GITJkxIDZGglQxOZiX6it4LL7zQzj333Ip9VBO98+bNs\/33399mzpzpxEFCbqeddhpSxyCB9clPfjKWzVrtYJQdqnIKOh8D2dKkWnR\/+tn9+973vqpDyBK9pVIpyL68\/vrrnQ5Dx6vjrreciNNO6gzyuY60C2Uwb7PNNrG9ffvb3w4kvmtLil6fMWRdy65jiMbtuOOO9r\/\/\/S+26T333FM1A\/3rX\/+6\/fa3v43FS\/jXkvmI3nrODNtAAAIQgAAEINBoAojeRhOlPwhAAAIQgAAEGkLgs5\/9bEVmpgTUGmusYcoOTGbV6mfp0axTlRhQJqpKHdx5552mmqDJ5iN6n3\/+edtuu+1Sj62a6D355JPtqquuim2jUg2SuepPP+eONr2mbMKwLe1jkPBUBnNSkkmcbbLJJsH5UQ3UaDv00EMrfqLekAkR6UQlJH74wx9W7faQQw4JymFUa1miV8f06U9\/umJzzT99maCf8EfLOCjwc5\/7nJ100kmNPtR+9\/fxj3\/cHn300Vg\/ykLWXJbsTGaaqyTK7373u1i8sup1zbk2ldRQFnvY+nstu+63WtwPfvADO++882Iv60uftHOsTG6V8Iie36wMYHU8Z84cu\/rqq\/v2kc\/n7YADDuirgUzphv6eRbaHAAQgAAEIQMCFAKLXhRIxEIAABCAAAQgMKgHVtE3WyIyKNC2mpUW3ovJWEk7ZiGGT6FONzFrNR\/Tqp+jVfu6dJnq14JVkaLRJ8CprN2xpwvKRRx7pk0NL+xjSMjFnzJjRV6NYUkwZy9FFptZdd90gu3qgmuSz5ka0XnNyXzofqqnb0tKSOows0ft\/\/\/d\/MWmnTrR42\/rrrx\/09+KLL9pHPvKRmAysVb4jOggt6vbqq68Gi\/JpQa4111yz6jj7y1CLiSUzm7VAmDJ0w3biiSdW1Kn+73\/\/G1t0TLI\/FMKuxxn234hrOclBGfqqbyuGq666avDlT60FAVWfWOer1rUYvqbrT4uuRZvKOHz1q1\/t1+nIEr0vv\/xy8OWPJLxrzfF+DYiNIQABCEAAAhBoSgKI3qY8rRwUBCAAAQhAYHgTkLD91re+FTsILQY2fvz4vr9J4iazNrXYkxZGU2ukJE3WF9XiY9HarWny6+abbw4Wios2Leo1ZcqUvj9JVN9xxx19\/9ZCT8pKlgAcCseQZKiMYy1aVigU+sas86LM6bAp43XPPfccsAkohpKV0aYs1GS93rQSBOE2WaJ3t912i5XbSMsQTpPBf\/vb32zZZZcNdqMawhKRYfve975nU6dOtdNOO60iw\/YDH\/hA8HdJy0Y2ZWIr+zralHUa\/RIljafm++qrrx5sJjEt+Ri2bbfd1lSz17U14loO96XyCMqSl4xNNn2p8rGPfSz44iE6P8O4qKyO9tfe3h7rSpm\/ygCONl2jEvK1msTzHnvsEQu5\/PLL+77sSRO9TzzxRFAKRveS6C8UdA9TtrHqJUePRdnZ0QxsnZfoLwDCbOToIHSvitZn1pdkW221VWycyrg+6qijXE8pcRCAAAQgAAEIDGECiN4hfHIYGgQgAAEIQGCkEjj66KNj9VHTfjotwZgUipdddpl98IMfDLBJBCurM9okgqOZoC4ZvYsXLw5kWZg9LJkkURKVzGmi99RTTzWJnrBJ5kX\/7XJul\/YxJOVY2iJbLsfRyJi0DFSJMgmtaFNd4WoLkGWJXmXuRn+6rwXwdt9991j\/2qcW6Io2SXD97F9N5zsq7\/Qz\/mQZjyQXlaPYZZddGoZL4m\/69Omx\/pL7uP322+3LX\/5yLEbSvK2tLfhbMiM3qyxGcvCNuJbV549\/\/GM766yzMtkos\/\/iiy+2pMBNq6+d9mVAcpG\/tFIWaYOop0avrq+77rqr6jHpviMRHH7BlWSpDfUlS1ibPG0MycUJ08T+YC6imHkCCYAABCAAAQhAoF8EEL39wsfGEIAABCAAAQgMBIFkTU\/J1e9\/\/\/uxXSkzTRmm0Zas05sc20EHHWQqRxA2F9EryXfBBRf0baPt9V+W6NXPv6OZh4cffnhQm1fZklqcTQu1SSKp1IEkZZjFm8VzsI5Bgvu9731vbDgSlYsWLbKHH344yKBVBrLGL7kpaaV\/D2TTT\/Y33XTTmITdfvvtg4XC0mrRJksQhGPLEr2XXnppbB\/K8NWXDdEmmahatNF2991327Rp04I\/JUWvK5c\/\/\/nPtuKKK7qGZ8Z96lOfCs5X2JT5quxiHY8yfr\/5zW\/GSm\/o9V\/\/+td98f\/+979jmaqf\/\/zngzkgtuKoLGXNgR122CGIU23aaGvEtayF7r7yla9kHmsYsM8++wTHGG3KuE0udJiU1iqf8P73vz+2nRblU93prFaP6M3qU68rszdcRFILxGmhuGjTNbn11lsHf9LigZLByRbNNFfpmOQXIDrHQ3EhQRc+xEAAAhCAAAQgECeA6GVGQAACEIAABCAw5Agks+oOPPBAO+WUUyrGGf68PHxB0koLR1VrvpI0KYfCWp3JshFpGb2SL9EawsqsSy4gF45Tr0lkh9mgtU7IYB2Dyg6E2dHheCT0JKnTmn7S\/93vfrevdMZATKpkCQ3tQ0JPYi9NYP3oRz+qqM2qbbJEb9bYJeklDZN1glULNqwLXEv0Sk5LKibLTWi\/Kt2hLywa1SR5JXuTTeUBkgsUSvYpyzU6D30ka1Qih\/vr77WczKgP+1WGtL6IePbZZ+0nP\/lJxfHpy5iVV1459vfkWJK\/FEgrr6C63EnJn3Zu+iN6VYJBJV2SCxuG+9GieauttlpFdrVeP+aYY4ISD2oq\/6FfNSSbSm3o+lRTreHoYnvhFyWNmm\/0AwEIQAACEIDA0iWA6F26\/Nk7BCAAAQhAAAIpBDbbbLOYRPvSl75kxx13XEVk8if21eLCDX0laTReYkzSZ\/To0UFZiKyM3qSEdjnRKgewzjrr1AwdrGP4z3\/+U1GuIOsYxEg\/RR+o7MCkpNJ4wmzFNHmrBbgke5OtP6JX4lHj+OMf\/xjrVjL1jDPO6PtbmuiVaNRP8cOyCBJuaYt8JWs5Z3HPej2tzETaNsrkTS4gqGzp6OJtWfuSFNVxhaUT+nstp9X4Vf3uz3zmM31D0blQpnG0pX3pk1b+IZSo2jY5v3wWFqxX9N5wwLine truncated
%---
%[output:0b22a369]
% data: {"dataType":"image","outputData":{"dataUri":"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAABXoAAANsCAYAAADlaRC9AAAAAXNSR0IArs4c6QAAIABJREFUeF7snQv8VGP+xx8Km7so11xWV5K7Wkskt5bCslqXpCxyyV1kicLK2hC5ZW0REbYIyf26LiUUUUshUkpC4e9S\/V+fs3tmnzlzZubMmTMz55x5P69XL34zz+X7vL\/f+f3mfM73fJ+VVqxYscLQIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAILEEVkLoTazvMBwCEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAgEMAoZdAgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCCQcAIIvQl3IOZDAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEEDoJQYgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCCScAEJvwh2I+RCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEEHqJAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACCSeA0JtwB2I+BCAAAQhAoJ4IzJ8\/33z55Zdmq622MmussUaorS9cuDAzrlGjRmbNNdcMNU+YQUuXLjWffvqpWbRokWnSpInZbLPNQu2jlnvQ2p9\/\/rn57rvvzMYbb+zsYZVVVgmDo6wxsuPxxx\/PmWP\/\/fc3G220UcG55YeHH37YLFu2LNOvS5cujk\/ytRUrVpjPPvvMrLTSSs6+GzRoUJb9tRy8ePFiI37a73rrrVcTU6L4LAcx\/LXXXjP\/\/ve\/s7ruueeezu+QQm3cuHFmyZIlWV3+8Ic\/GP3O8GtfffWVufXWW7PeOuqoozLrzJ4920yePDnzvn7vHHTQQUG2QB8IQAACEIAABCAQmABCb2BUdIQABCAAAQhAoBYEXnnlFTN69Gjz+uuvOwKp21q3bm122mknc9ZZZ5kNNtggkGkSiXfbbbdM3w4dOjhzl9Jeeukl07Nnz6whEhZlZ74mUW3IkCHm\/vvvz+nSrl07c9FFF2XZVcieWu1h6tSpzh5efvnlHPMkWJ1\/\/vlm8803LwVlWX1vv\/12c9VVV+XMcfbZZ5u+ffsWnHvWrFlmv\/32y+rzz3\/+0+y4445Zr\/3888\/mrrvucmLv1VdfdcRtO\/6OOOII06NHj5oI3aXCk9j5t7\/9LWcfumGiz8F5551nWrVq5TutYvuKK64IvGTv3r2N2HhblJ\/loMZcf\/315oYbbsjqftJJJ5kLL7yw4Oe1ffv2We\/rhsYLL7zgCP1+7f33388Rbu+7777M5\/rBBx80\/fr1yxoq8ZcGAQhAAAIQgAAEoiSA0BslTeaCAAQgAAEIQCBSAk8\/\/bSRKFOoKTPvnnvuKZrFqTm8ok+pQu+PP\/7oCITK7LTb+uuvn5WtZ7+nTL\/u3bsbiYuFmsRJiZTFWi328Pbbb5vf\/\/73xUwzd9xxh+nUqVPRflF0+N3vfmdmzJiRM5UEuRdffLHgEkGE3l9++cXxx2OPPVZwrq233toREtu0aRPFtioyx\/Dhw83gwYOLzi2x\/pRTTsnpd+edd5qBAwcWHe926N+\/vznxxBOz+kf9WQ5qjJ8Aq98ZzzzzTN4pHnroIXPOOedkvV\/s84nQG9Qj9IMABCAAAQhAoJIEEHorSZe5IQABCEAAAhAITcAvczbfZBL3Hn30UbP22mv7dpFAKzHYm5VYqtA7bNgwc+211+askU\/o\/eabb8wxxxxj3nvvvUAcJMjtu+++sdqDBKwjjzwyK5s132aUHapyCvJHJZufqGavp8fut99++7wmFBN6ly9f7mRfjh07NtA2tF\/tO2w5kUCLhOxUyudISyiDeY899sha7corr3RE\/KDNK\/SWYkOxz3JQG+x+nTt3Nh999FHW0Oeffz5vBvqZZ55pHnnkkaz+EvwLifkIvWE8wxgIQAACEIAABKImgNAbNVHmgwAEIAABCEAgEgLHH398TmamBKjmzZsbZQd6s2r1WLqddaoSA8pEVamDJ5980qgmqLeVIvTOmTPH7L333r57yyf0DhgwwNx9991ZY1SqQWKu5tPj3HbTe8omdFut9yDBUxnMXpFMwtnOO+\/s+Ec1UO3Wp0+fnEfUIwkIaxKVkLjpppvyTvunP\/3JKYeRrxUTerWno48+Ome44k83E\/QIv13GQR179eplLrnkkqi3WvZ8hx56qJk2bVrWPMpCVixL7PRmmqskyoQJE7L6K6ten7mgTSU1lMXutnI\/y0HXzdfvxhtvNNddd13W27rp4+djZXKrhIft32IZwJp4wYIF5t57782ssfLKK5tjjz02UwOZ0g3lepHxEIAABCAAAQgEIYDQG4QSfSAAAQhAAAIQqCoB1bT11si0hTQdpqVDt2zxViKcshHdJqFPNTILtVKEXj2Knu9xbz+hVwdeSQy1mwReZe26zU+wnDJlSkYcqvUe\/DIxL7300kyNYoliyli2D5naZpttnOzqSjWJz4oNu16zdy35QzV1GzZs6GtGMaH3z3\/+c5Zop0l0eNt2223nzDd37lxz4IEHZomBhcp32EboULcvvvjCOZRPB3K1aNEir53lMtRhYt7MZh0Qpgxdt1188cU5daqnT5+edeiYxH5XEA66T3f+KD7LXg7K0Fd9WzFs1qyZc\/On0IGAqk8sfxX6LLrv6fOnQ9fspjIOp59+elnuKCb0zps3z7n5IxE+aM3xsgxiMAQgAAEIQAACqSSA0JtKt7IpCEAAAhCAQLIJSLC97LLLsjahw8DWWmutzGsScb1ZmzrsSQejqUUpknrri+rwMbt2q5\/4NX78eOegOLvpUK8mTZpkXpJQ\/cQTT2R+1kFPykqWABiHPXgZKuNYh5Y1aNAgY7P8osxptynj9bDDDqtYAIqhxEq7KQvVW6\/XrwSBO6aY0HvwwQdnldvwyxD2E4PfeOMN07hxY2cZ1RCWEOm2v\/71r6Zp06bm8ssvz8mw7dixo\/O6RMsomzKxlX1tN2Wd2jdR\/Hgq3n\/96187wyRMS3x025577mlUszdoi+Kz7K6l8gjKkpcY6226qdK1a1fnxoMdn24\/W6y251tttdWyplLmrzKA7abPqAT5Qk3C8yGHHJLVZeTIkZmbPX5C78yZM51SMPpdYj+hoN9hyjZWvWR7L8rOtjOw5Rf7CQA3G9k2Qr+r7PrMukn2m9\/8JstOZVyfe+65QV1KPwhAAAIQgAAEYkwAoTfGzsE0CEAAAhCAQL0SOO+887Lqo\/o9Oi2B0Ssojhgxwuy1114ONgnByuq0m4RgOxM0SEbvDz\/84IhlbvawxCQJJbbI7Cf0Dho0yEjocZvEPPvnIL6t9R684pjfIVtB9hFlH78MVAllErTsprrC+Q4gKyb0KnPXfnRfB+B169Yta36tqQO67CYRXI\/9q8nftninx\/i9ZTy8XFSOokuXLpHhkvDXsmXLrPm8a0ycONGceuqpWX0kmq+66qrOa96M3GJlMbzGR\/FZ1py33HKLueaaa4qyUWb\/7bffbrwCrl99bb+bAd5D\/vxKWfgZEaZGrz5fTz31VN496feOhGD3BpeXpQbqJotbm9zPBu\/hhH7CfjUPUSzqQDpAAAIQgAAEIFAWAYTesvAxGAIQgAAEIACBShDw1vSUuDp06NCspZSZpgxTu3nr9Hpt69mzp1E5ArcFEXol8t1www2ZMRqvf8WEXj3+bWcennHGGU5tXmVL6nA2HdQmEUmlDiRSulm8xXhWaw8SuLfddtsscyRUfv\/992bSpElOBq0ykGW\/xE2JVvq5kk2P7O+yyy5ZImynTp2cg8L8atF6SxC4thUTev\/xj39kraEMX91ssJvERNWitduzzz5rttxyS+clr9AblMu\/\/vUvs\/HGGwftXrTfH\/\/4R8dfblPmq7KLtR9l\/F544YVZpTf0\/gMPPJDp\/84772Rlqp5wwglODIitOCpLWTGwzz77OP1Um9ZuUXyWddDdaaedVnSvbocjjjjC2aPdlHHrPejQK1qrfMJvf\/vbrHE6lE91p4u1MEJvsTn1vjJ73UMkdUCcDoqzmz6Tu+++u\/OSDg+UGOxtdqa5Ssd4b4DIx3E8SDAIH\/pAAAIQgAAEIJBNAKGXiIAABCAAAQhAIHYEvFl1PXr0MAMHDsyx03283H1DopUOjsrXShVJveKQW6vTWzbCL6NX4otdQ1iZdd4D5Fw79Z6EbDcbtJBDqrUHlR1ws6NdeyToSaT2a3qk\/+qrr86UzqhEUHlLaGgNCXoS9vwErJtvvjmnNqvGFBN6i9kukV6iobdOsGrBunWBCwm9EqclKnrLTWhdle7QDYuomkReib3epvIA3gMKJfYpy9WOw1JEVltEdtcr97Pszah351WGtG5EfPzxx+a2227L2Z9uxmy66aZZr3tt8T4p4FdeQXW5vSK\/n2\/KEXpVgkElXbwHG7rr6NC8zTffPCe7Wu+ff\/75TokHNZX\/0FMN3qZSG\/p8qqnWsH3YnnujJKp4Yx4IQAACEIAABGpLAKG3tvxZHQIQgAAEIAABHwK77rprloh28sknmwsuuCCnp\/cR+3z93IGliqR2fwljEn0aNWrklIUoltHrFaGDOFrlANq0aVOwa7X28O677+aUKyi2BzHSo+iVyg70ilSyx81W9BNvdQCXxF5vK0folfAoO5577rmsaSWm\/uUvf8m85if0SmjUo\/huWQQJbn6HfHlrORfjXux9vzITfmOUyes9QFDZ0vbhbcXWkiiqfbmlE8r9LPvV+FX97uOOOy5jinyhTGO7+d308Sv\/4IqoGuuNr1IOFgwr9I4bNy5zYJ6eUlAceW+m2AdRejPX7QMeVcpGJW287eyzz86UGfH6QyVmJJrTIAABCEAAAhBIBLine truncated
%---
%[output:27ab5aa8]
% data: {"dataType":"text","outputData":{"text":" <strong>name<\/strong> <strong>lastModifiedDatestr<\/strong> <strong>scientaPassEnergy_eV<\/strong>\n <strong>__________________________<\/strong> <strong>________________________<\/strong> <strong>____________________<\/strong>\n\n {'0067067_O1s_1000eV.ibw'} {'21-Aug-2021 18:05:35'} 50 \n {'0067067_O1s_1000eV.ibw'} {'25-Okt-2021 09:04:27'} 50 \n\n","truncated":false}}
%---
%[output:3f52d2f2]
% data: {"dataType":"image","outputData":{"dataUri":"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAABXoAAANsCAYAAADlaRC9AAAAAXNSR0IArs4c6QAAIABJREFUeF7snQeYFMX69Ws2kkTJCqaLimJGxZwwi5hARS6YIwZMmMWsqJjTX6\/XnFHRK1fMCXNOqBivGEBRkSSbZ77v9HR1v1VTPdM7u7Px1PP4uHRXVVf9qjrM6bdPJVKpVEoxkQAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJtFoCCQq9rXbs2HASIAESIAESIAESIAESIAESIAESIAESIAESIAES8AhQ6OVEIAESIAESIAESIAESIAESIAESIAESIAESIAESIIFWToBCbysfQDafBEiABEiABEiABEiABEiABEiABEiABEiABEiABCj0cg6QAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQQCsnQKG3lQ8gm08CJEACJEACJEACJEACJEACJEACJEACJEACJEACFHo5B0iABEiABEiABEiABFoVgdraWrVkyRLVtWvXVtVuNpYESIAESIAESIAESIAECkmAQm8h6bJuEiABEiABEiCBBhH49ddf1R9\/\/KH+8Y9\/qM6dO9e7roULF6pZs2ap5ZZbTvXs2bNe5ZPJpJozZ46aPXu2V2755ZdXffr0UUVFRfWqp6GZ20IfGsoA8+CRRx5RX3\/9tfruu+\/UzJkzvSoxJ9Zcc0216qqrqkGDBqm99tpLlZSU1Ptwv\/\/+e1CmY8eOqkuXLvWuo7kLNKQPVVVV6vvvv\/f6jXmeSCTq1R2cKzjPampqVP\/+\/fMag4ae63Eb\/L\/\/\/U+99tprRvYBAwaoTTfdNGsVb775pvr222+NPFtvvbVaeeWVneXmzZunbrnlFmPfqFGjvGsZEni\/9957wX6w32233eJ2g\/lIgARIgARIgARIwEmAQi8nBgmQAAmQAAmQQIsiAEHlgQceUO+88476888\/g7atscYaaoMNNlAnnnhiVtH2559\/VjfeeKMnokDU0WnZZZdVgwcPVoceeqhab731svZ56tSp6tprrzXK6wLHHnusOvLII9VSSy0V1PHyyy+rSZMm5cVx5513VieccIJRti30IS8YViEIiJMnT1aXXHKJ+vvvv3NWCdH3sssuU2uvvXbOvDoDXiRsvPHGQX4Ifph\/rSnl04eKigp1\/fXXq7ffflt98sknQXchnoMHRPPdd989K4b7779fPffcc+rDDz80xgfn2ZZbbqnGjh2bVfRt6Lmezxi9\/vrr6sADDzSKYt7897\/\/zVrd9ttvn3E9gGDcr18\/Z7kvv\/wyQ7h96KGHgrn26KOPqtNOO80oC\/GXiQRIgARIgARIgAQaQoBCb0PosSwJkAAJkAAJkECjEnjhhRc8ETVbQkQcBCYIt3aCsLvffvsZArGrrgcffFBtsskmzsOg7gkTJmRtQ48ePdQTTzwRiDz4++STT86LBdoLcVKnttCHvEBYhaqrq9XBBx\/sCZH1TRdddJEaPXp0rGIQ9CF46tQahd769mHx4sXqmGOOURA9s6VzzjnHezFip1Qq5b3YsCNW7XxDhw5VV199tSorK8uoo6HneqzBdWSC7Qeiv+0XBxCdXdcUVIEXL4jelWnDDTf0osyjEoXefEeI5UiABEiABEiABBpCgEJvQ+ixLAmQAAmQAAmQQKMRQHTcQQcdFKs+fF6OCDzp0YpPvxGBKKOAs1X2+OOPZ0T2uqLsoupYd911vWhTiFhTpkxR48ePj9V2O5MUettCH\/KC4Ch01VVXqZtuuinv6p5\/\/nm1yiqrRJaHXQFE\/YsvvtjI05qE3nz6AJF2\/\/33N2wDskE+\/\/zzMyJgbWE5W3mIvYiwl6mh53rek8IviD7dc889RjWYb3vvvbezakTinnXWWcY+FxeZgUJvQ0eJ5UmABEiABEiABPIhQKE3H2osQwIkQAIkQAIk0OgEEL05ffp0o158\/g3\/VUT\/IapOpiuvvFINHz482PSvf\/3LiIzFDtg9bLbZZurTTz9VH3zwgVEeZVGHTr\/88ovaaqutjDz4jB2+mRCWIerabbjzzjvVNttsox5++GF15pln5sUE\/T733HO9sm2hD3lBsAphrPbdd9+MqhBxCUEd1gzwS4ZnL6JSb7jhhoy8sOdAxKX07EXejz\/+2PN9huUAhHU7tXSht6F9+Oijj9SIESOMbiNCHRYi8PmFQC4TmOOY2psalg9rrbVWBje8ZIG\/8VNPPZURLfviiy8G3rQo2NBzvaFzDFHi\/\/znP41qcJ675hEy4SsDXINkyhYBjHxz585V+HJAJ\/AbM2aM6tatm7eJ1g0NHUWWJwESIAESIAEScBGg0Mt5QQIkQAIkQAIk0OwEIDDZVgqHHHJIYKGAT8132mknQ5iDCCyj8nbccUdvoS6d4LsJSwUt9B133HFq2rRpRl8\/\/\/xzT5xCckWQyqhf2wdVC0BnnHGGwoJp2J8rnX766YbgDBsKRAMvvfTSXtG20IdcDHLtx6f1+EzeFmEhwiOSVAtlsh6IbkcddVSGwGhbDyAqE9GZ2VJcoReRsb\/99pvCCwIs2IfFtCCK9u3bNxjPXH3NZ39D+3DhhRequ+66yzi09JrFOYVoVZnwIgO+u0jPPPOMZ\/sgEywccH4izZgxQ+2xxx7GfojzukxjnOs2t7q6OvXjjz96Hrrwzh44cGDWBfUwx\/ACSEb\/46UORHB7MT+XsA0P41zzKNfY5hJ6sRAk+oSo9PouJJnr2NxPAiRAAiRAAiTQdglQ6G27Y8uekQAJkAAJkECrIeASl7BAlFzwzPX5tI6qc30mraNtNYRvvvnGi1qUCRF8eqX7zTff3BAXIRxCmJUJUaAQYHRabbXVFMrFSa4+Ikqwf\/\/+XvG20Ic4HHLlcXGACPfGG28YVh12PS77DAivmCM6NVQk1fUgwvWCCy4wXizI9iC6Nc6if7lYuPY3pA81NTXegobSn\/boo482FgWDaAqxW4qgWLxMi78QbCH26gQLE7xQkQmLC2JBQ53wQgNRvUgNPdflcfByBX7M8lh6PwRSLKCGxRPldUTvdwneiACH965MrsXbLr30Us\/+IlvCwmp77rmnkQUCu67fJfR+9dVXnqcxoqLl1wOYx4hAxuJ2xcXFQZ1YME++3EKf5VhoP2LZCFzvpCc4XqJB9JYJEdennHJKPtOTZUiABEiABEiABJqZAIXeZh4AHp4ESIAESIAESEB5n+NDqNNJCkN6G4Rf20NTi7kuke+dd95RvXr1CuqEgAVhViYtcrmiDB977DFv0abGSC7x0raeaAt9aAxWENtsgf2kk05Sxx9\/fNbqIWLCRsOOBJZR23hZ8NZbbxn1QAiWomauiF6M28033xyrq9kW\/YtVgSNTQ\/rwww8\/qO22286oFT7Iu+66q7HtiCOOCIRZ7JBiLiJ7JS\/4ap933nlG+dtvv11dcsklxjbYpyDquaHnuq705ZdfVuPGjcuI4raRwZYC5\/KKK65o7HrvvffUyJEjjW2o78QTTzS2QdT997\/\/bWyzry2usczHoxcR\/bZ1hqwbwjWEYC1c2yyRF9Yk2rvc1QbY0EiLHPRl1KhRGeM3ZMiQfKcoy5EACZAACZAACTQjAQq9zQifhyYBEiABEiABEkgTsD07ERF53XXXGXgQeQbBSSYtltretogA\/eyzzzLwIgIOgpNOeiE0V9QehGVE1qEeeMHCE3b11VdXsIyojwCMqLp99tnHOC5sCO6++26jfW2hD40xn88++2zD2xR1Ipp3ueWWy1k9IrSvueYaIx\/GEJ\/yRyUIlbAu0Cmb0PvSSy+pww8\/PGc7dAbMQwjJrojS2JXEyBi3Dy5\/XteidbaYrSOjk8mk55ktkyu61bXY2quvvqpWWGGFBp\/rOLbLTzsbJrw4wuKN2qYFeV2Ry\/D0tu1dYCMio2td567r2PkIvTGG2ovs1QsIIpIZ0dMy3XfffcFXBlGLRL7\/\/vuqe\/fuXjGXLziueZi7TCRAAiRAAiRAAq2PAIXe1jdmbDEJkAAJkAAJtDkCQ4cOVTNnzgz6dcABB3ifxttJ2xzo7fDHxUJJdtSdKyIYZWxBGVFriD50CSIQlaUoLNsCsQ+fNpeXl+cci9tuu01NnDjRyIdP3wcMGGBsawt9yAkjRgZ7LqDIt99+GywGlq2KJ598MiMi0xWxKuuIK5KijL0oF6JFMU8hJMMO4dZbb\/VeDsgEIW2HHXaI0fP8s8TtA6xC0AeZXNGpLvEPFgHworZfcrj4ugRlnGPrr7++aui5jra7\/LZxLiPiFS+EcM7JqGOUwYsjvECSCVHHOP9lkouswfMXdcp0xRVXeC9ucqWGCL2wYMDXCFg0zpVeeeUVL0LZ9SXCqaee6lk8IMHWAl892AkvmfTCkzZLfU3M1T\/uJwESIAESIAESaJkEKPS2zHFhq0iABEiABEigXRGwPwd3+eMCyDrrrGN8qq3znXzyyYY3pcs3FOVtUQMLtiHSD8KHS1jONggQrG688cas4+QSYqJE7LbQh8aYtLaYHyXau47l+hwfXDHuUSmuSIrydtvsOVBdXe15sEoPXLwUgK9uIVPcPmBRtTPPPNNoivzUX+9w+egiHzxxbdEaQqn9mb9L5IT9AWwjGnquu+rGOCCaO5FIeF2YN2+e2mijjYx+IjLXXoTugw8+UPvuu6+RD4syaosYRMeee+65xn6UcS0IaI9vvkKvXAASojW8gL\/44gujerlQpf2VAsYHQj0S+oEvE+wkrVDs8YB38ZgxYwo5XVk3CZAACZAACZBAAQlQ6C0gXFZNAiRAAiRAAiQQj4AtoEV5stqihLZesCN1N954YwUvUzvZnpb6k3RXBKMuqz9hluKd3mcv+GYfLine truncated
%---
%[output:2edd5c8e]
% data: {"dataType":"image","outputData":{"dataUri":"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAABXoAAANsCAYAAADlaRC9AAAAAXNSR0IArs4c6QAAIABJREFUeF7snQecG8X5v9\/TNXfjQjPdgOkY0yFAYiAETAvFhGJIoRM6BEIxpoZeA4SE3gmh\/UIwBEINhNCS0IxD6BhMM+7lmvT\/f9desbtaaWd1Ovt098zn40+CNDs788ysTnr23XdqcrlczigQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCBQtQRqEL1VO3d0HAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEICARwDRy0KAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIFDlBBC9VT6BdB8CEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAKKXNQABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAoMoJIHqrfALpPgQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABRC9rAAIQgAAEIAABCECgqgi0trbanDlzrF+\/flXVbzoLAQhAAAIQgAAEIACBjiSA6O1IurQNAQhAAAIQgEC7CHzxxRf2zTff2EorrWS9e\/dO3daMGTPs448\/tqWXXtoGDx6c6vhsNmuTJ0+2zz\/\/3Dtu2WWXtSWXXNIymUyqdtpbuSuMob0MtA7+9Kc\/2bvvvmvvv\/++TZw40WtSa2LNNde0VVZZxUaMGGE\/\/vGPra6uLvXpvv766\/wxPXv2tD59+qRuY1Ef0J4xNDU12QcffOCNW+u8pqYm1XB0reg6a2lpsaFDh5Y1B+291l07\/OGHH9rf\/\/73UPVhw4bZpptuWrKJf\/zjH\/bee++F6my11Va24oorxh737bff2nXXXRd6b5999vE+y1TE+5VXXsm\/L\/Y77rij6zCoBwEIQAACEIAABGIJIHpZGBCAAAQgAAEIdCoCEip33XWXvfTSSzZlypR831ZffXVbf\/317dhjjy0pbSdNmmRXX321J1Ekdfyy1FJL2UYbbWS\/+MUvbPjw4SXH\/PDDD9sVV1wROt4\/4Je\/\/KUdcsgh1rdv33wbTz\/9tF188cVlcfzRj35kxxxzTOjYrjCGsmBEDpJAvPfee+28886z2bNnJzYp6XvBBRfY2muvnVjXr6AbCRtvvHG+voSf1l81lXLGMHfuXLvqqqvsn\/\/8p73++uv54Uqei4ek+c4771wSw5133mmPP\/64\/etf\/wrNj66zLbbYwg4\/\/PCS0re913o5c\/T888\/bAQccEDpU6+Yvf\/lLyea22Wabgs8DCeNlllkm9rh33nmnQNzec889+bV233332UknnRQ6VvKXAgEIQAACEIAABNpDANHbHnocCwEIQAACEIBARQn87W9\/8yRqqaKIOAkmidtokdjda6+9QoI4rq27777bNtlkk9jTqO2xY8eW7MOgQYPsoYceykse\/f\/jjz++LBbqr+SkX7rCGMoCETmoubnZfvazn3kiMm0555xzbL\/99nM6TEJfwtMv1Sh6045h1qxZdsQRR5ikZ6ly+umnezdGoiWXy3k3NqIRq9F6o0aNsssuu8waGhoK2mjvte40uTGVlPZD0d\/RGweSznGfKWpCN14UvRssG2ywgRdlXqwgesudIY6DAAQgAAEIQKA9BBC97aHHsRCAAAQgAAEIVIyAouN++tOfOrWnx8sVgRfM0apHvxWBGIwCLtXYgw8+WBDZGxdlV6yNdddd14s2lcR64IEH7MQTT3Tqe7RSUPR2hTGUBSHmoEsvvdSuueaaspt74oknbOWVVy56vNIVSOqfe+65oTrVJHrLGYMk7d577x1KG1AK8plnnlkQARsVy6WOl+xVhH2wtPdaL3tRLDhQY7rttttCzWi97bbbbrFNKxL31FNPDb0XxyVYAdHb3lnieAhAAAIQgAAEyiGA6C2HGsdAAAIQgAAEIFBxAorefO6550Lt6vFv5V9V9J+i6oLlkksusd133z3\/0h\/+8IdQZKzeULqHzTbbzN544w177bXXQsfrWLXhl88++8y23HLLUB09xq68mRLLkrrRPtx88832\/e9\/3\/74xz\/aKaecUhYTjfuMM87wju0KYygLQuQgzdXo0aMLmlLEpYS6UjMoX7Jy9ioq9be\/\/W1BXaXnUMRlMGev6v7nP\/\/x8j4r5YDEerR0dtHb3jH8+9\/\/tj322CM0bEWoK4WI8vxKkAeLmOucfm5qpXxYa621CrjpJovyGz\/yyCMF0bJPPvlkPjetDmzvtd7eNaYo8X333TfUjK7zuHWkSnrKQJ9BwVIqAlj1vvrqK9OTA34RvzFjxtiAAQO8l0jd0N5Z5HgIQAACEIAABOIIIHpZFxCAAAQgAAEILHICEkzRVAo\/\/\/nP8ykU9Kj5dtttFxJzksDBqLwf\/vCH3kZdflHeTaVU8EXfkUceaePHjw+N9e233\/bklEpcBGkw6jeaB9UXQL\/+9a9NG6bp\/aRy8sknh4Sz0lAoGrh\/\/\/7eoV1hDEkMkt7Xo\/V6TD4qYSXhFUnqi7JgO5Juhx56aIFgjKYeUFSmojNLFVfRq8jYL7\/80nSDQBv2aTMtSdEhQ4bk5zNprOW8394xnH322XbLLbeETh3MNatrStGqwaIbGcq7q\/LYY495aR+CRSkcdH2qvPXWW7bLLruE3pec94+pxLUe5dbW1maffPKJl0NXubPXWGONkhvqaY3pBlAw+l83dSTBo5v5xYlt5TBOWkdJc5skerURpMakqPS0G0kmnZv3IQABCEAAAhDougQQvV13bhkZBCAAAQhAoGoIxMklbRAV3PAs7vFpP6ou7jFpP9rWh\/C\/\/\/3Pi1oMFkXw+Tvdb7755iG5KHEoMRssigKVgPHLqquuajrOpcSNUVGCQ4cO9Q7vCmNw4ZBUJ46DJNwLL7wQStURbScufYbEq9aIX9orSf12FOF61llnhW4sBPuj6FaXTf+SWMS9354xtLS0eBsaBvPTHnbYYaFNwSRNJbuDElSbl\/nyV8JWstcvSmGiGyrBos0FtaGhX3RDQ1G9Ku291oPn0c0V5WMOnst\/X4JUG6hp88Tg54j\/fpzwVgS4cu8GS9zmbb\/5zW+89BelijZW23XXXUNVJNj99uNE73\/\/+18vp7GiooNPD2gdKwJZm9vV1tbm29SGecGbWxpzcC78fMTBTujzLpgTXDfRJL2DRRHXJ5xwQjnLk2MgAAEIQAACEFjEBBC9i3gCOD0EIAABCEAAAuY9ji9R55egGPJfk\/iN5tD0ZW6c5HvppZds8cUXz7cpgSUxGyy+5IqLMrz\/\/vu9TZsqUeLkZTT1RFcYQyVYSbZFBftxxx1nRx11VMnmJTGVRiMaCRyM2tbNghdffDHUjkRwUGomRfRq3q699lqnoZba9M+pgZhK7RnDRx99ZFtvvXWoVeVB3mGHHUKvHXzwwXkxqzeCMleRvUFeyqs9bty40PE33nijnXfeeaHXlD5FUc\/tvdb9Rp9++mk7+uijC6K4o8iUlkLX8vLLLx9665VXXrGf\/OQnodfU3rHHHht6TVL3hhtuCL0W\/WyJm8tycvQqoj+aOiPYtsS1RLAvrqMsVVepSfzc5XF9UBqaYIocjWWfffYpmL+RI0eWu0Q5DgIQgAAEIACBRUgA0bsI4XNqCEAAAhCAAATmE4jm7FRE5JVXXhnCo8gzCadg8WVpNLetIkDffPPNAryKgJNw8ou\/EVpc1J7EsiLr1I5ywSon7GqrrWZKGZFGACuqbs899wydV2kIbr311lD\/usIYKrGeTzvttFBuU7WpaN6ll146sXlFaF9++eWheppDPcpfrEhUKnWBX0qJ3qeeesoOOuigxH74FbQOJZLjIkqdG3Go6DqGuPy8cZvWRWW2HxmdzWa9nNnBEhfdGrfZ2rPPPmvLLbdcu691nTsun3YpTLpxpM0b\/TQtqhsXuayc3tH0LkojEoyujbt2485djuh1mGovstffQFCRzIqeDpY77rgj\/5RBsU0iX331VRs4cKB3WFxecH3mae1SIAABCEAAAhCoPgKI3uqbM3oMAQhAAAIQ6HIERo0aZRMnTsyPa\/\/99\/cejY8WP82B\/7ry42qjpGjUXVxEsI6JCmVFrSn6ME6ISCoHpXCwL5J9erS5sbExcS6uv\/56O\/\/880P19Oj7sGHDQq91hTEkwnCoEF0LOuS9997LbwZWqok\/\/\/nPBRGZcRGrwTZcJamOiW7KpWhRrVOJZKVD+P3vf+\/dHAgWibRtt93WYeTlV3Edg1KFaAzBEhedGif\/lCJAuaijNzni+MYJZV1j6623nrX3Wlff4\/Jt61pWxKtuCOmaC0Yd6xjdONINpGBR1LGu\/2AJbrKmnL9qM1guuugi78ZNUmmP6FUKBj2NoE3j4sozzzzjRSjHPYnwq1\/9ykvxoKK0FnrqIVp0k8nfeDLK0v9MTBof70MAAhCAAAQg0DkJIHo757zQKwhAAAIQgEC3IhB9HDwuP66ArLPOOqFHtf16xx9\/fCg3ZVzeUB0flRrasE2RfhIfcWK51CRIWF199dUl5ylOxBST2F1hDJVYtFGZX0zax50r7nF8cdW8FyuuklTHR\/sWXQPNzc1eDtZgDlzdFFBe3Y4srmPQpmqnnHJKqCvBR\/39N+Ly6KqecuJGpbVEafQx\/zjJqfQHShvR3ms9rm3Ng6K5a2pqvCF8++23tuGGG4bGqcjc6CZ0r732mo0ePTpUT5sy+iliFB17xhlnhN7XMXEbAkbnt1zRG9wAUtJauYAnTJgQaj64UWX0KQXNj0S9isahJxOiJZgKJTofyl08ZsyYjlyutA0BCEAAAhCAQAcSQPR2IFyahgAEIAABCEDAjUBUoBXLyRqVEn7qhWLine truncated
%---
%[output:9949b5fb]
% data: {"dataType":"text","outputData":{"text":" <strong>name<\/strong> <strong>lastModifiedDatestr<\/strong> <strong>scientaPassEnergy_eV<\/strong>\n <strong>__________________________<\/strong> <strong>________________________<\/strong> <strong>____________________<\/strong>\n\n {'0067067_O1s_1000eV.ibw'} {'25-Okt-2021 09:04:27'} 50 \n\n","truncated":false}}
%---
%[output:0ab749aa]
% data: {"dataType":"image","outputData":{"dataUri":"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAABXoAAANsCAYAAADlaRC9AAAAAXNSR0IArs4c6QAAIABJREFUeF7snQecG8X5v9\/TNXfjQjPdgOkY0yFAYiAETAvFhGJIoRM6BEIxpoZeA4SE3gmh\/UIwBEINhNCS0IxD6BhMM+7lmvT\/f9desbtaaWd1Ovt098zn40+CNDs788ysTnr23XdqcrlczigQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCBQtQRqEL1VO3d0HAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEICARwDRy0KAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIFDlBBC9VT6BdB8CEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAKKXNQABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAoMoJIHqrfALpPgQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABRC9rAAIQgAAEIAABCECgqgi0trbanDlzrF+\/flXVbzoLAQhAAAIQgAAEIACBjiSA6O1IurQNAQhAAAIQgEC7CHzxxRf2zTff2EorrWS9e\/dO3daMGTPs448\/tqWXXtoGDx6c6vhsNmuTJ0+2zz\/\/3Dtu2WWXtSWXXNIymUyqdtpbuSuMob0MtA7+9Kc\/2bvvvmvvv\/++TZw40WtSa2LNNde0VVZZxUaMGGE\/\/vGPra6uLvXpvv766\/wxPXv2tD59+qRuY1Ef0J4xNDU12QcffOCNW+u8pqYm1XB0reg6a2lpsaFDh5Y1B+291l07\/OGHH9rf\/\/73UPVhw4bZpptuWrKJf\/zjH\/bee++F6my11Va24oorxh737bff2nXXXRd6b5999vE+y1TE+5VXXsm\/L\/Y77rij6zCoBwEIQAACEIAABGIJIHpZGBCAAAQgAAEIdCoCEip33XWXvfTSSzZlypR831ZffXVbf\/317dhjjy0pbSdNmmRXX321J1Ekdfyy1FJL2UYbbWS\/+MUvbPjw4SXH\/PDDD9sVV1wROt4\/4Je\/\/KUdcsgh1rdv33wbTz\/9tF188cVlcfzRj35kxxxzTOjYrjCGsmBEDpJAvPfee+28886z2bNnJzYp6XvBBRfY2muvnVjXr6AbCRtvvHG+voSf1l81lXLGMHfuXLvqqqvsn\/\/8p73++uv54Uqei4ek+c4771wSw5133mmPP\/64\/etf\/wrNj66zLbbYwg4\/\/PCS0re913o5c\/T888\/bAQccEDpU6+Yvf\/lLyea22Wabgs8DCeNlllkm9rh33nmnQNzec889+bV233332UknnRQ6VvKXAgEIQAACEIAABNpDANHbHnocCwEIQAACEIBARQn87W9\/8yRqqaKIOAkmidtokdjda6+9QoI4rq27777bNtlkk9jTqO2xY8eW7MOgQYPsoYceykse\/f\/jjz++LBbqr+SkX7rCGMoCETmoubnZfvazn3kiMm0555xzbL\/99nM6TEJfwtMv1Sh6045h1qxZdsQRR5ikZ6ly+umnezdGoiWXy3k3NqIRq9F6o0aNsssuu8waGhoK2mjvte40uTGVlPZD0d\/RGweSznGfKWpCN14UvRssG2ywgRdlXqwgesudIY6DAAQgAAEIQKA9BBC97aHHsRCAAAQgAAEIVIyAouN++tOfOrWnx8sVgRfM0apHvxWBGIwCLtXYgw8+WBDZGxdlV6yNdddd14s2lcR64IEH7MQTT3Tqe7RSUPR2hTGUBSHmoEsvvdSuueaaspt74oknbOWVVy56vNIVSOqfe+65oTrVJHrLGYMk7d577x1KG1AK8plnnlkQARsVy6WOl+xVhH2wtPdaL3tRLDhQY7rttttCzWi97bbbbrFNKxL31FNPDb0XxyVYAdHb3lnieAhAAAIQgAAEyiGA6C2HGsdAAAIQgAAEIFBxAorefO6550Lt6vFv5V9V9J+i6oLlkksusd133z3\/0h\/+8IdQZKzeULqHzTbbzN544w177bXXQsfrWLXhl88++8y23HLLUB09xq68mRLLkrrRPtx88832\/e9\/3\/74xz\/aKaecUhYTjfuMM87wju0KYygLQuQgzdXo0aMLmlLEpYS6UjMoX7Jy9ioq9be\/\/W1BXaXnUMRlMGev6v7nP\/\/x8j4r5YDEerR0dtHb3jH8+9\/\/tj322CM0bEWoK4WI8vxKkAeLmOucfm5qpXxYa621CrjpJovyGz\/yyCMF0bJPPvlkPjetDmzvtd7eNaYo8X333TfUjK7zuHWkSnrKQJ9BwVIqAlj1vvrqK9OTA34RvzFjxtiAAQO8l0jd0N5Z5HgIQAACEIAABOIIIHpZFxCAAAQgAAEILHICEkzRVAo\/\/\/nP8ykU9Kj5dtttFxJzksDBqLwf\/vCH3kZdflHeTaVU8EXfkUceaePHjw+N9e233\/bklEpcBGkw6jeaB9UXQL\/+9a9NG6bp\/aRy8sknh4Sz0lAoGrh\/\/\/7eoV1hDEkMkt7Xo\/V6TD4qYSXhFUnqi7JgO5Juhx56aIFgjKYeUFSmojNLFVfRq8jYL7\/80nSDQBv2aTMtSdEhQ4bk5zNprOW8394xnH322XbLLbeETh3MNatrStGqwaIbGcq7q\/LYY495aR+CRSkcdH2qvPXWW7bLLruE3pec94+pxLUe5dbW1maffPKJl0NXubPXWGONkhvqaY3pBlAw+l83dSTBo5v5xYlt5TBOWkdJc5skerURpMakqPS0G0kmnZv3IQABCEAAAhDougQQvV13bhkZBCAAAQhAoGoIxMklbRAV3PAs7vFpP6ou7jFpP9rWh\/C\/\/\/3Pi1oMFkXw+Tvdb7755iG5KHEoMRssigKVgPHLqquuajrOpcSNUVGCQ4cO9Q7vCmNw4ZBUJ46DJNwLL7wQStURbScufYbEq9aIX9orSf12FOF61llnhW4sBPuj6FaXTf+SWMS9354xtLS0eBsaBvPTHnbYYaFNwSRNJbuDElSbl\/nyV8JWstcvSmGiGyrBos0FtaGhX3RDQ1G9Ku291oPn0c0V5WMOnst\/X4JUG6hp88Tg54j\/fpzwVgS4cu8GS9zmbb\/5zW+89BelijZW23XXXUNVJNj99uNE73\/\/+18vp7GiooNPD2gdKwJZm9vV1tbm29SGecGbWxpzcC78fMTBTujzLpgTXDfRJL2DRRHXJ5xwQjnLk2MgAAEIQAACEFjEBBC9i3gCOD0EIAABCEAAAuY9ji9R55egGPJfk\/iN5tD0ZW6c5HvppZds8cUXz7cpgSUxGyy+5IqLMrz\/\/vu9TZsqUeLkZTT1RFcYQyVYSbZFBftxxx1nRx11VMnmJTGVRiMaCRyM2tbNghdffDHUjkRwUGomRfRq3q699lqnoZba9M+pgZhK7RnDRx99ZFtvvXWoVeVB3mGHHUKvHXzwwXkxqzeCMleRvUFeyqs9bty40PE33nijnXfeeaHXlD5FUc\/tvdb9Rp9++mk7+uijC6K4o8iUlkLX8vLLLx9665VXXrGf\/OQnodfU3rHHHht6TVL3hhtuCL0W\/WyJm8tycvQqoj+aOiPYtsS1RLAvrqMsVVepSfzc5XF9UBqaYIocjWWfffYpmL+RI0eWu0Q5DgIQgAAEIACBRUgA0bsI4XNqCEAAAhCAAATmE4jm7FRE5JVXXhnCo8gzCadg8WVpNLetIkDffPPNAryKgJNw8ou\/EVpc1J7EsiLr1I5ywSon7GqrrWZKGZFGACuqbs899wydV2kIbr311lD\/usIYKrGeTzvttFBuU7WpaN6ll146sXlFaF9++eWheppDPcpfrEhUKnWBX0qJ3qeeesoOOuigxH74FbQOJZLjIkqdG3Go6DqGuPy8cZvWRWW2HxmdzWa9nNnBEhfdGrfZ2rPPPmvLLbdcu691nTsun3YpTLpxpM0b\/TQtqhsXuayc3tH0LkojEoyujbt2485djuh1mGovstffQFCRzIqeDpY77rgj\/5RBsU0iX331VRs4cKB3WFxecH3mae1SIAABCEAAAhCoPgKI3uqbM3oMAQhAAAIQ6HIERo0aZRMnTsyPa\/\/99\/cejY8WP82B\/7ry42qjpGjUXVxEsI6JCmVFrSn6ME6ISCoHpXCwL5J9erS5sbExcS6uv\/56O\/\/880P19Oj7sGHDQq91hTEkwnCoEF0LOuS9997LbwZWqok\/\/\/nPBRGZcRGrwTZcJamOiW7KpWhRrVOJZKVD+P3vf+\/dHAgWibRtt93WYeTlV3Edg1KFaAzBEhedGif\/lCJAuaijNzni+MYJZV1j6623nrX3Wlff4\/Jt61pWxKtuCOmaC0Yd6xjdONINpGBR1LGu\/2AJbrKmnL9qM1guuugi78ZNUmmP6FUKBj2NoE3j4sozzzzjRSjHPYnwq1\/9ykvxoKK0FnrqIVp0k8nfeDLK0v9MTBof70MAAhCAAAQg0DkJIHo757zQKwhAAAIQgEC3IhB9HDwuP66ArLPOOqFHtf16xx9\/fCg3ZVzeUB0flRrasE2RfhIfcWK51CRIWF199dUl5ylOxBST2F1hDJVYtFGZX0zax50r7nF8cdW8FyuuklTHR\/sWXQPNzc1eDtZgDlzdFFBe3Y4srmPQpmqnnHJKqCvBR\/39N+Ly6KqecuJGpbVEafQx\/zjJqfQHShvR3ms9rm3Ng6K5a2pqvCF8++23tuGGG4bGqcjc6CZ0r732mo0ePTpUT5sy+iliFB17xhlnhN7XMXEbAkbnt1zRG9wAUtJauYAnTJgQaj64UWX0KQXNj0S9isahJxOiJZgKJTofyl08ZsyYjlyutA0BCEAAAhCAQAcSQPR2IFyahgAEIAABCEDAjUBUoBXLyRqVEn7qhWLine truncated
%---
%[output:26c3d5db]
% data: {"dataType":"image","outputData":{"dataUri":"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAABXoAAANsCAYAAADlaRC9AAAAAXNSR0IArs4c6QAAIABJREFUeF7snQe8FNX5v9+7t1EuIGDFEiUqtojYNWqCGgu2WDAWNDH2XmNHrLHXqDExauzG2H5RscWuMbYYuxKsoNgA6dy6\/\/93YNaZ2dmdM3v3wr13n\/P58Em8e+bMOc85s+WZd95Tlc1ms0aBAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIACBLkugCtHbZeeOjkMAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQ8AggelkIEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAS6OAFEbxefQLoPAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQADRyxqAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEINDFCSB6u\/gE0n0IQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAohe1gAEIAABCEAAAhCAQJci0NLSYrNnz7a+fft2qX7TWQhAAAIQgAAEIAABCHQkAURvR9KlbQhAAAIQgAAE2kXgq6++su+++85WWGEF6927d+q2pk+fbp999pkttdRStuiii6Y6vq2tzSZNmmRffvmld9wyyyxjSyyxhGUymVTttLdydxhDexloHfz973+3cePG2UcffWQffPCB16TWxGqrrWYrrriiDRs2zH75y19aTU1N6tN9++23uWN69uxpDQ0NqdtY2Ae0ZwyNjY328ccfe+PWOq+qqko1HF0rus6am5tt8ODBJc1Be6911w5\/8skn9vzzz4eqr7zyyrbhhhsWbeJf\/\/qXjR8\/PlRns802s+WXXz72uClTpth1110Xem3PPff03stUxPvVV1\/NvS722223neswqAcBCEAAAhCAAARiCSB6WRgQgAAEIAABCHQqAhIqd9xxh7388ss2efLkXN9WWWUVW3vtte2YY44pKm0nTpxoV199tSdRJHX8suSSS9p6661nv\/3tb23o0KFFx\/zggw\/aFVdcETreP+Dwww+3gw46yPr06ZNr4+mnn7aLL764JI5bb721HX300aFju8MYSoIROUgC8e6777bzzjvPZs2aldikpO8FF1xga6yxRmJdv4JuJKy\/\/vq5+hJ+Wn9dqZQyhjlz5thVV11l\/\/73v+3NN9\/MDVfyXDwkzXfYYYeiGG6\/\/XZ7\/PHH7T\/\/+U9ofnSdbbLJJnbooYcWlb7tvdZLmaMXXnjB9t1339ChWjcPPfRQ0ea22GKLvPcDCeOll1469rj3338\/T9zeddddubV2zz332Iknnhg6VvKXAgEIQAACEIAABNpDANHbHnocCwEIQAACEIBAWQn885\/\/9CRqsaKIOAkmidtokdjdfffdQ4I4rq0777zTNthgg9jTqO3Ro0cX7cPAgQPtgQceyEke\/f\/jjjuuJBbqr+SkX7rDGEoCETmoqanJfvOb33giMm0555xzbO+993Y6TEJfwtMvXVH0ph3DzJkz7bDDDjNJz2Ll9NNP926MREs2m\/VubEQjVqP1RowYYZdddpnV1dXltdHea91pcmMqKe2Hor+jNw4knePeU9SEbrwoejdY1llnHS\/KvFBB9JY6QxwHAQhAAAIQgEB7CCB620OPYyEAAQhAAAIQKBsBRcf9+te\/dmpPj5crAi+Yo1WPfisCMRgFXKyx+++\/Py+yNy7KrlAba665phdtKol133332QknnODU92iloOjtDmMoCULMQZdeeqldc801JTf3xBNP2I9\/\/OOCxytdgaT+ueeeG6rTlURvKWOQpN1jjz1CaQOKQT7zzDPzImCjYrnY8ZK9irAPlvZe6yUvivkHaky33HJLqBmtt5133jm2aUXinnrqqaHX4rgEKyB62ztLHA8BCEAAAhCAQCkEEL2lUOMYCEAAAhCAAATKTkDRm88991yoXT3+rfyriv5TVF2wXHLJJbbLLrvk\/vTnP\/85FBmrF5TuYaONNrK33nrLXn\/99dDxOlZt+OWLL76wTTfdNFRHj7Erb6bEsqRutA833XST\/exnP7O\/\/e1vdsopp5TEROM+44wzvGO7wxhKghA5SHM1cuTIvKYUcSmhrtQMypesnL2KSv3DH\/6QV1fpORRxGczZq7r\/\/e9\/vbzPSjkgsR4tnV30tncMb7zxhu26666hYStCXSlElOdXgjxYxFzn9HNTK+XD6quvnsdNN1mU3\/jhhx\/Oi5Z98sknc7lpdWB7r\/X2rjFFie+1116hZnSdx60jVdJTBnoPCpZiEcCq980335ieHPCL+I0aNcr69+\/v\/YnUDe2dRY6HAAQgAAEIQCCOAKKXdQEBCEAAAhCAwEInIMEUTaWw33775VIo6FHzrbbaKiTmJIGDUXm\/+MUvvI26\/KK8m0qp4Iu+I444wsaOHRsa67vvvuvJKZW4CNJg1G80D6ovgE4++WTThml6PamcdNJJIeGsNBSKBu7Xr593aHcYQxKDpNf1aL0ek49KWEl4RZL6oizYjqTbwQcfnCcYo6kHFJWp6MxixVX0KjL266+\/Nt0g0IZ92kxLUnTQoEG5+Uwaaymvt3cMZ599tv31r38NnTqYa1bXlKJVg0U3MpR3V+XRRx\/10j4Ei1I46PpUeeedd2zHHXcMvS457x9Tjms9yq21tdU+\/\/xzL4eucmevuuqqRTfU0xrTDaBg9L9u6kiCRzfzixPbymGctI6S5jZJ9GojSI1JUelpN5JMOjevQwACEIAABCDQfQkgervv3DIyCEAAAhCAQJchECeXtEFUcMOzuMen\/ai6uMek\/WhbH8L\/\/vc\/L2oxWBTB5+90v\/HGG4fkosShxGywKApUAsYvK620kuk4lxI3RkUJDh482Du8O4zBhUNSnTgOknAvvvhiKFVHtJ249BkSr1ojfmmvJPXbUYTrWWedFbqxEOyPoltdNv1LYhH3envG0Nzc7G1oGMxPe8ghh4Q2BZM0lewOSlBtXubLXwlbyV6\/KIWJbqgEizYX1IaGftENDUX1qrT3Wg+eRzdXlI85eC7\/dQlSbaCmzROD7yP+63HCWxHgyr0bLHGbt\/3+97\/30l8UK9pYbaeddgpVkWD3248TvR9++KGX01hR0cGnB7SOFYGsze2qq6tzbWrDvODNLY05OBd+PuJgJ\/R+F8wJrptokt7Boojr448\/vpTlyTEQgAAEIAABCCxkAojehTwBnB4CEIAABCAAAfMex5eo80tQDPl\/k\/iN5tD0ZW6c5Hv55ZdtscUWy7UpgSUxGyy+5IqLMrz33nu9TZvKUeLkZTT1RHcYQzlYSbZFBfuxxx5rRx55ZNHmJTGVRiMaCRyM2tbNgpdeeinUjkRwUGomRfRq3q699lqnoRbb9M+pgZhK7RnDp59+aptvvnmoVeVB3nbbbUN\/O\/DAA3NiVi8EZa4ie4O8lFd7zJgxoeNvuOEGO++880J\/U\/oURT2391r3G3366aftqKOOyovijiJTWgpdy8stt1zopVdffdV+9atfhf6m9o455pjQ3yR1\/\/KXv4T+Fn1viZvLUnL0KqI\/mjoj2LbEtUSwL66jLFVXqUn83OVxfVAammCKHI1lzz33zJu\/4cOHl7pEOQ4CEIAABCAAgYVIANG7EOFzaghAAAIQgAAE5hGI5uxUROSVV14ZwqPIMwmnYPFlaTS3rSJA33777Ty8ioCTcPKLvxFaXNSexLIi69SOcsEqJ+yQIUNMKSPSCGBF1e22226h8yoNwc033xzqX3cYQznW82mnnRbKbao2Fc271FJLJTavCO3LL788VE9zqEf5CxWJSqUu8Esx0fvUU0\/ZAQcckNgPv4LWoURyXESpcyMOFV3HEJefN27TuqjM9iOj29ravJzZwRIX3Rq32dqzzz5ryy67bLuvdZ07Lp92MUy6caTNG\/00LaobF7msnN7R9C5KIxKMro27duPOXYrodZhqL7LX30BQkcyKng6W2267LfeUQaFNIl977TUbMGCAd1hcXnC952ntUiAAAQhAAAIQ6HoEEL1db87oMQQgAAEIQKDbERgxYoR98MEHuXHts88+3qPx0eKnOfD\/rvy42igpGnUXFxGsY6JCWVFrij6MEyKSykEpHOyLZJ8eba6vr0+ci+uvv97OP\/\/8UD09+r7yyiuH\/tYdxpAIw6FCdC3okPHjx+c2AyvWxD\/+8Y+8iMy4iNVgG66SVMdEN+VStKjWqUSy0iH86U9\/8m4OBItE2pZbbukw8tKruI5BqUI0hmCJi06Nk39KEaBc1NGbHHF844SyrrG11lrL2nutq+9x+bZ1LSviVTeEdM0Fo451jG4c6QZSsCjqWNd\/sAQ3WVPOX7UZLBdddJF34yaptEf0KgWDnkbQpnFx5ZlnnvEilOOeRPjd737npXhQUVoLPfUQLbrJ5G88GWXpvycmjY\/XIQABCEAAAhDonAQQvZ1zXugVBCAAAQhAoKIIRB8Hj8uPKyA\/+clPQo9q+\/WOO+64UG7KuLyhOj4qNbRhmyL9JD7ixHKxSZCwuvrqq4vOU5yIKSSxu8MYyrFoozK\/kLSPO1fc4\/jiqnkvVFwlqY6P9i26BpqamrwcrMEcuLopoLy6HVlcx6BN1U455ZRQV4KP+vsvxOXRVT3lxI1Ka4nS6GP+cZJT6Q+UNqK913pc25oHRXNXVVV5Q5gyZYqtu+66oXEqMje6Cd3rr79uI0eODNXTpox+ihhFx55xxhmh13VM3IaA0fktVfQGN4CUtFYu4Pfeey\/UfHCjyuhTCpofiXoVjUNPJkRLMBVKdD6Uu3jUqFEduVxpGwIQgAAEIACBDiSA6O1AuDQNAQhAAAIQgIAbgahAK5STNSol\/NQL0Ujd9ddf35TLNLine truncated
%---
%[output:6c799ef9]
% data: {"dataType":"image","outputData":{"dataUri":"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAABXoAAANsCAYAAADlaRC9AAAAAXNSR0IArs4c6QAAIABJREFUeF7snQncVmP+\/68oNJQkS9n\/Ik2hxKjs2UnWGIwlwthLxr4NIoxk32WZkX0nuywl+5CoKRoaIrsYW\/i\/3pffdc91n+ec+z7Pfc5zeu5zPt\/Xy0vPfa71c13nWd7nez5Xi19\/\/fVXo5ACUkAKSAEpIAWkgBSQAlJACkgBKSAFpIAUkAJSQApIgbpVoIVAb92unQYuBaSAFJACUkAKSAEpIAWkgBSQAlJACkgBKSAFpIAUsAoI9GojSAEpIAWkgBSQAlJACkgBKSAFpIAUkAJSQApIASkgBepcAYHeOl9ADV8KSAEpIAWkgBSQAlJACkgBKSAFpIAUkAJSQApIASkg0Ks9IAWkgBSQAlJACkgBKSAFpIAUkAJSQApIASkgBaSAFKhzBQR663wBNXwpIAWkgBSQAlJACkgBKSAFpIAUkAJSQApIASkgBaSAQK\/2gBSQAlJACkgBKSAFpIAUkAJSQApIASkgBaSAFJACUqDOFRDorfMF1PClgBSQAlJACkgBKSAFpIAUkAJSQApIASkgBaSAFJACAr3aA1JACkgBKSAFpIAUkAJSQApIASkgBaSAFJACUkAKSIE6V0Cgt84XUMOXAlJACkgBKSAFpIAUkAJSQApIASkgBaSAFJACUkAKCPRqD0gBKSAFpIAUkAJSQApIASkgBaSAFJACUkAKSAEpIAXqXAGB3jpfQA1fCkgBKSAFpIAUkAJSQApIASkgBaSAFJACUkAKSAEpINCrPSAFpIAUkAJSQApIASkgBaSAFJACUkAKSAEpIAWkgBSocwUEeut8ATV8KSAFpIAUkAJSQApIASkgBaSAFJACUkAKSAEpIAWkgECv9oAUkAJSQApIASkgBaSAFJACUkAKSAEpIAWkgBSQAlKgzhUQ6K3zBdTwpYAUkAJSQApIASkgBaSAFJACUkAKSAEpIAWkgBSQAgK92gNSQApIASkgBaSAFJACUkAKSAEpIAWkgBSQAlJACkiBOldAoLfOF1DDlwJSQApIASkgBaSAFJACUkAKSAEpIAWkgBSQAlJACgj0ag9IASkgBaSAFJACUkAKSAEpIAWkgBSQAlJACkgBKSAF6lwBgd46X0ANXwpIASkgBaSAFJACUkAKSAEpIAWkgBSQAlJACkgBKSDQqz0gBaSAFJACUkAKSAEpIAWkgBSQAlJACkgBKSAFpIAUqHMFBHrrfAE1fCkgBaSAFJACUkAKSAEpIAWkgBSQAlJACkgBKSAFpIBAr\/aAFJACUkAKSAEpIAWkgBSQAlJACkgBKSAFpIAUkAJSoM4VEOit8wXU8KWAFJACUkAKSAEpIAWkgBSQAlJACkgBKSAFpIAUkAICvdoDUkAKSAEpIAWkgBSQAlJACkgBKSAFpIAUkAJSQApIgTpXQKC3zhdQw5cCUkAKSAEpIAWkgBSQAlJACkgBKSAFpIAUkAJSQAoI9GoPSAEpIAWkgBSQAlJACkgBKSAFpIAUkAJSQApIASkgBepcAYHeOl9ADV8KSAEpIAWkgBSQAlJACkgBKSAFpIAUkAJSQApIASkg0Ks9IAWkgBSQAlJACkgBKSAFpIAUkAJSQApIASkgBaSAFKhzBQR663wBNXwpIAWkgBSQAlJACkgBKSAFpIAUkAJSQApIASkgBaSAQK\/2gBSQAlJACkgBKSAFpIAUkAJSQApIASkgBaSAFJACUqDOFRDorfMF1PClgBSQAlJACkgBKSAFpIAUkAJSQApIASkgBaSAFJACAr3aA1JACkgBKSAFpIAUkAJSQApIASkgBaSAFJACUkAKSIE6V0Cgt84XUMOXAlJACkgBKSAFpIAUkAJSQApIASkgBaSAFJACUkAKCPRqD0gBKSAFpIAUmMcKfPfdd6Z169bzeBTqXgpIASkgBaSAFJACUkAKSAEpIAXqWQGB3npePY1dCkgBKVAgBd5\/\/30zbty4qjNeZJFFzHLLLWeWXXZZs\/TSS5sWLVqE1nnllVfM5MmTq7YXVWCLLbaw7Tc2fvzxR3PbbbeZiRMnmnfffddMmTLFNrHwwgub1VZbzayyyipmjz32MN27d29s0yovBaSAFJACUkAKSAEpIAWkgBSQAgVWQKC3wIuvqUsBKSAF6kmBxx9\/3Bx44IGNGnKvXr3MCSecYHr27Nmg3t\/+9jdz2WWXNao9v\/Ctt95q1llnnUbVf\/TRR82ZZ55p\/vOf\/1Stt80225hjjz3WQus8x5w5c8ynn35amiLAe8kll8zzlDU3KSAFpIAUkAJSQApIASkgBaRAkygg0NsksqpRKSAFpIAUSFuBWkCvG8Opp55q9tlnn7IhZQ16n3zySTN48OBGyUJW8v33328WXXTRRtWrp8JHHnmknaOLbbfd1lx88cX1NAWNVQpIASkgBaSAFJACUkAKSAEp0CwUEOhtFsugQUgBKSAFpEA1BZKAXtp++OGHzaqrrlrqJkvQ+9FHH5nNN9\/cfPvtt9Wm2eD6+uuvb6677jrTsmXLRtethwqHHXaYeeihhwR662GxNEYpIAWkgBSQAlJACkgBKSAFmrUCAr3Nenk0OCkgBaSAFHAKhIHeTTfd1HTp0qUkEkD1kUceCQWqW221VZlVQxjo3WmnncyCCy4YS3Syc1daaaVYZW+88UZz2mmnlZUF4O6www7mD3\/4g2nXrp15++23zXPPPReazXr33XebNddcM1Zf9VZIoLfeVkzjlQJSQApIASkgBaSAFJACUqC5KiDQ21xXRuOSAlJACkiBMgXCQO\/IkSMtLPXj559\/Nk899VQDP18OTpswYUKpaBjoffHFF02HDh1SV\/6ggw4yjz32WKndlVde2Tz44INmgQUWaNAX3r\/HH3982edA4r333rvquH799Vfz8ccfm5kzZxoOpeNgt8ZkAuOXO336dPPZZ5+Zzp07mxVWWCHyMLuowXzzzTe2Df7fsWNHe2AdvrtRkRT0fvLJJ4aD+ubOnWvWXXfdBt2gCWXee+8988MPP1j\/X8bUtm3bqnqqgBSQAlJACkgBKSAFpIAUkAJSoJ4UEOitp9XSWKWAFJACBVYgLuh1Eh1wwAHmiSeeKFNs8uTJpnXr1vazLEEvmcczZswojWW77bYzF154Yehqfvfdd6Zbt25l14DZQG0XHNQGzHVx7rnnWoB5xhlnmDfeeKOs7oYbbmg\/r3SoG9YJI0aMaHBIHICWjONBgwYZMpCj4pdffjGjR482N9xwQ+hBcxtssIFhPdZbb70SOAbwcijdO++8U5aBTZ+AcOL888+3\/8a64oILLih1j4\/viSeeaIYPH25uu+02+znlfJj+wQcf2Czq4B5wjTAfMriDDwoKfItp6lJACkgBKSAFpIAUkAJSQArUuQICvXW+gBq+FJACUqAoCjQW9J5yyinm73\/\/e5k848aNM8svv7z9LEvQu\/\/++9ssYxfAzDFjxpju3buHLh8Zqj\/99FPp2mKLLWbat29f+hp4CyR18ac\/\/anBXIMNX3rppWbrrbcu+\/jrr782J598ctlhaFH76dBDDzXDhg1rcHn27NnmL3\/5i3n22WerbkUOXuM\/IjiHsMr33Xef1Si4VoDuzz\/\/3EycOLFUzQe9Y8eONcccc0wsT2TW5oQTTmh05nLVyaqAFJACUkAKSAEpIAWkgBSQAlIgYwUEejMWXN1JASkgBaRAbQo0FvRidYDnrR+AQTJfiTDQS0ZqnFf6sTWoZEcQnOGoUaPMRRdd1GDiwM5+\/fqZ3r17W6uE+eabL5Y4cSBpWEPjx4+3dgou\/vrXv9os3LhBhu2OO+5YVnyPPfYoA67V2rrqqqvMZpttlgj0hvXhQC8+zX379q02jLLr11xzjV0HhRSQAlJACkgBKSAFpIAUkAJSoJ4VEOit59XT2KWAFJACBVIgLujFhxUrgmD2KWAWW4MWLVpY1cJAb1w5L7vsMsPhbnEDwAwQrRSMD4sDfGaxS+jatWtk8Uqgd5NNNjGzZs0yU6ZMaVAfqwLmTXD4GxYIfjCGAw880MJw\/Izvv\/\/+suvLLrusefrpp0sakqVMRmwwGN9qq61mnnnmmQbjWGeddQw+xLRNRjGZzW+99VapCfrA03j++ec322+\/vbXaiLNWDvRecsklZTYXNLz55pvbbOZvv\/3WPP\/883Z\/+HH44YeboUOHxl1OlZMCUkAKSAEpIAWkgBSQAlJACjRLBQR6m+WyaFBSQApIASkQVCAM9Pbq1cusvfbapaIffvhhpA1B0Bc3DjyMWoXGgl7aCQOQlVaZuR188MFm4403bpDpGwZ6sTPAx9cd8AbMxAc3GC+88IJZYokl7LUg8OSAOB8wn3POOebKK68sa+LOO+80PXv2tJ\/RZxAo+9mxQHdsJV555ZWyNiZNmlTKiI5zGFvUWgFwgdXYcQCpOXwuePAdwNmfJ4e2oR+Zvy6A49dee61uOikgBaSAFJACUkAKSAEpIAWkQF0rINBb18unwUsBKSAFiqNAGOhtzOzx6\/Vf6c8a9P76668Gn1zAKZmlcQNbB+wVWrVqVaoSBL2LL764efLJJ02bNm3KmuXAMjJm\/XCgFi182Ek\/N998c1lZvIIBzX5gicEhZ2GHxgFdL7744rLyZO46X153wYfFtYLeXXfd1Zx11lkNIDhewe+9915pDBxs58A0kPe1114z++23X9kahM097vqonBSQAlJACkgBKSAFpIAUkAJSoLkoINDbXFZC45ACUkAKSIGKCiQBvf4hYK6TMNC75pprmgUXXLDqShx11FHWXqGWmDNnjmEuHAwHnI0DfQcNGmQPTXMRBL077LBDA7sCypJJO3DgwLJhXnjhhWaLine truncated
%---
%[output:644d063f]
% data: {"dataType":"image","outputData":{"dataUri":"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAABXoAAANsCAYAAADlaRC9AAAAAXNSR0IArs4c6QAAIABJREFUeF7snQm8VtP+\/1cUQkllyvwXSUmJqzJnuIYkQ1zcEOGaS655uohMyTzLcK\/MZMosQ8l8SdQVXbpEkiGuoeT\/ei93Pb\/17LP38+zz7H2ezrP35\/t69arz7DW+19rndD77uz+ryW+\/\/fabUYiACIiACIiACIiACIiACIiACIiACIiACIiACIiACNQsgSYSemt27TRwERABERABERABERABERABERABERABERABERABEbAEJPRqI4iACIiACIiACIiACIiACIiACIiACIiACIiACIhAjROQ0FvjC6jhi4AIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiICEXu0BERABERABERABERABERABERABERABERABERABEahxAhJ6a3wBNXwREAEREAEREAEREAEREAEREAEREAEREAEREAERkNCrPSACIiACIiACIiACIiACIiACIiACIiACIiACIiACNU5AQm+NL6CGLwIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAISerUHREAEREAEREAEREAEREAEREAEREAEREAEREAERKDGCUjorfEF1PBFQAREQAREQAREQAREQAREQAREQAREQAREQAREQEKv9oAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAI1DgBCb01voAavgiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAhI6NUeEAEREAEREAEREAEREAEREAEREAEREAEREAEREIEaJyCht8YXUMMXAREQAREQAREQAREQAREQAREQAREQAREQAREQAQm92gMiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiUOMEJPTW+AJq+CIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgoVd7QAREQAREQAREQAREQAREQAREQAREQAREQAREQARqnICE3hpfQA1fBERABERABERABERABERABERABERABERABERABCT0ag+IgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIQI0TkNBb4wuo4YuACIiACIiACIiACIiACIiACIiACIiACIiACIiAhF7tAREQAREQAREQAREQAREQAREQAREQAREQAREQARGocQISemt8ATV8ERABERABERABERABERABERABERABERABERABEZDQqz0gAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAjVOQEJvjS+ghi8CIiACIiACIiACIiACIiACIiACIiACIiACIiACEnq1B0RABERABERABERABERABERABERABERABERABESgxglI6K3xBdTwRUAEREAEREAEREAEREAEREAEREAEREAEREAEREBCr\/aACIiACIiACIiACIiACIiACIiACIiACIiACIiACNQ4AQm9Nb6AGr4IiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAISOjVHhABERABERABERABERABERABERABERABERABERCBGicgobfGF1DDFwEREAEREAEREAEREAEREAEREAEREAEREAEREAEJvdoDIiACIiACIiACIiACIiACIiACIiACIiACIiACIlDjBCT01vgCavgiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIKFXe0AEREAEREAEREAEREAEREAEREAEREAEREAEREAEapyAhN4aX0ANXwREQAREQAREQAREQAREQAREQAREQAREQAREQAQk9GoPiIAIiIAIiMBCJvDjjz+a5s2bL+RRqHsREAEREAEREAEREAEREAEREIFaJiCht5ZXT2MXAREQgRwR+OSTT8y4cePKznjppZc2q666qllllVXMiiuuaJo0aRJa54033jCTJ08u215Uge233962X9\/45ZdfzN13320mTpxoPvroIzNlyhTbxFJLLWXWXXdds\/baa5t9993XdO7cub5Nq7wIiIAIiIAIiIAIiIAIiIAIiECOCUjozfHia+oiIAIiUEsEnn76aXPooYfWa8jdu3c3p5xyiunWrVudehdffLG5+uqr69WeX\/iuu+4yG2+8cb3qP\/nkk+bcc881\/\/nPf8rW22mnncyJJ55oRessx9y5c83s2bMLU0TwXn755bM8Zc1NBERABERABERABERABERABBqEgITeBsGqRkVABERABNImUInQ68Zw5plnmgMOOKBoSNUWep999lkzaNCgemEhK\/nhhx82yyyzTL3q1VLhY4891s7Rxc4772yuuOKKWpqCxioCIiACIiACIiACIiACIiACjYKAhN5GsQwahAiIgAiIQDkCSYRe2n788cfNOuusU+immkLv559\/brbbbjvzww8\/lJtmneubbbaZufnmm03Tpk3rXbcWKhx11FHmsccek9BbC4ulMYqACIiACIiACIiACIiACDRqAhJ6G\/XyaHAiIAIiIAKOQJjQu80225gOHToUICGoPvHEE6GC6g477FBk1RAm9O6+++5m8cUXjwWd7Nw111wzVtnbbrvNnHXWWUVlEXD79etn\/vCHP5hWrVqZ999\/37z00kuh2awPPPCA2WCDDWL1VWuFJPTW2oppvCIgAiIgAiIgAiIgAiIgAo2VgITexroyGpcIiIAIiEARgTChd8SIEVYs9ePXX381zz33XB0\/Xw5OmzBhQqFomND76quvmrZt26ZO\/rDDDjNPPfVUod211lrLPProo2axxRar0xfevyeffHLR54jE+++\/f9lx\/fbbb+aLL74wM2bMMBxKx8Fu9ckExi932rRp5quvvjLt27c3q6++euRhdlGD+f77720b\/L3SSivZA+vw3Y2KpELvl19+aTiob\/78+WaTTTap0w1MKPPxxx+bn3\/+2fr\/MqaWLVuW5akCIiACIiACIiACIiACIiACIlBLBCT01tJqaawiIAIikGMCcYVeh+iQQw4xzzzzTBGxyZMnm+bNm9vPqin0knk8ffr0wlh22WUXc9lll4Wu5o8\/\/mg6depUdA0xG1HbBQe1Iea6uPDCC62Aec4555h33nmnqO4WW2xhPy91qBvWCcOHD69zSBwCLRnHAwcONGQgR8WCBQvMqFGjzK233hp60Nzmm29uWI9NN920IBwj8HIo3YcffliUgU2fCOHEJZdcYv+NdcWll15a6B4f31NPPdUMGzbM3H333fZzyvli+qeffmqzqIN7wDXCfMjgDj4oyPEtpqmLgAiIgAiIgAiIgAiIgAjUOAEJvTW+gBq+CIiACOSFQH2F3jPOOMP8\/e9\/L8Izbtw4s9pqq9nPqin0HnzwwTbL2AVi5ujRo03nzp1Dl48M1Xnz5hWuLbvssqZ169aFrxFvEUld\/PnPf64z12DDV111ldlxxx2LPv7uu+\/M6aefXnQYWtR+OvLII83QoUPrXJ41a5b561\/\/al588cWyW5GD1\/hDBOcQVvmhhx6yjIJrhdA9Z84cM3HixEI1X+gdO3asOeGEE2J5IrM2p5xySr0zl8tOVgVEQAREQAREQAREQAREQAREoMoEJPRWGbi6EwEREAERqIxAfYVerA7wvPUDYZDMVyJM6CUjNc4r\/dgalLIjCM5w5MiR5vLLL68zccTO3r17mx49elirhEUWWSQWnDgiaVhD48ePt3YKLv72t7\/ZLNy4QYbtbrvtVlR83333LRJcy7V1\/fXXm2233TaR0BvWhxN68Wnu1atXuWEUXb\/xxhvtOihEQAREQAREQAREQAREQAREoJYJSOit5dXT2EVABEQgRwTiCr34sGJFEMw+RZjF1qBJkyaWWpjQGxfn1VdfbTjcLW4gMCOIlgrGh8UBPrPYJXTs2DGyeCmhd+uttzYzZ840U6ZMqVMfqwLmTXD4GxYIfjCGQw891Irh+Bk\/\/PDDRddXWWUV8\/zzzxcYkqVMRmwwGN+6665rXnjhhTrj2HjjjQ0+xLRNRjGZze+9916hCfrA03jRRRc1u+66q7XaiLNWTui98sori2wuaHi77baz2cw\/\/PCDefnll+3+8OPoo482Q4YMibucKicCIiACIiACIiACIiACIiACjZKAhN5GuSwalAiIgAiIQJBAmNDbvXt3s9FGGxWKfvbZZ5E2BEFf3DjiYdQq1FfopZ0wAbLUKjO3ww8\/3Gy11VZ1Mn3DhF7sDPDxdQe8IWbigxuMV155xSy33HL2WlDw5IA4X2C+4IILzHXXXVfUxH333We6detmP6PPoKDsZ8ciumMr8cYbbxS1MWnSpEJGdJzD2KLWCgEXsRo7DkRqDp8LHnyH4OzPk0Pb4EfmrwvE8Ztuukk3nQiIgAiIgAiIgAiIgAiIgAjUNAEJvTW9fBq8CIiACOSHQJjQW5\/Z49frv9JfbaH3t99+M\/jkIpySWRo3sHXAXqFZs2aFKkGht02bNubZZ581LVq0KGqWA8vImPXDCbWw8MVO+rnjjjuKyuIVjNDsB5YYHHIWdmgcousVV1xRVJ7MXefL6y74YnGlQu9ee+1lzjvvvDoiOF7BH3\/8cWEMHGznhGlE3rfeesscdNBBRWsQNve466NyIiACIiACIiACIiACIiACItBYCEjobSwroXGIgAiIgAiUJJBE6PUPAXOdhAm9G2ywgVl88cXLrsRxxx1n7RUqiblz5xrmwsFwiLNxRN+BAwfaQ9NcBIXefv361bEroCyZtP379y8a5mWXXWa23377OtYQiMXYKgTj8ccfL\/qoS5cu5sEHHzQfffSR9dr147TTTrMian2iUqEXQXfllVcu2RX2FFhNTJs2zYq\/wcxiV1lCb31WTGVFQAREQAREQAREQAREQAQaKwEJvY11ZLine truncated
%---
%[output:1cf215b8]
% data: {"dataType":"text","outputData":{"text":" <strong>name<\/strong> <strong>lastModifiedDatestr<\/strong> <strong>scientaPassEnergy_eV<\/strong>\n <strong>_________________________<\/strong> <strong>________________________<\/strong> <strong>____________________<\/strong>\n\n {'0035035_O1s_900eV.ibw'} {'27-Feb-2022 19:46:48'} 50 \n\n","truncated":false}}
%---
%[output:22c700e4]
% data: {"dataType":"text","outputData":{"text":"Validating FitParameter structure...\n Number of peaks detected: 1\n Checking core parameters (required for all modes)...\n Checking mode-specific parameters for mode 'unconstrained'...\n Checking background model parameters for 'linear'...\n✓ FitParameter validation successful for 1 peak(s) in 'unconstrained' mode with 'linear' background.\n\n","truncated":false}}
%---
%[output:3b9a689c]
% data: {"dataType":"warning","outputData":{"text":"Warning: Data sizes do not match. Converting all data to column vectors."}}
%---
%[output:712f3db2]
% data: {"dataType":"text","outputData":{"text":"\nGlobalSearch stopped because it analyzed all the trial points.\n\n29 out of 30 local solver runs converged with a positive local solver exit flag.\n <strong>name<\/strong> <strong>peakPosition<\/strong> \n <strong>_________________________<\/strong> <strong>_________________________________________<\/strong>\n\n {'0035035_O1s_900eV.ibw'} 363.6 NaN NaN NaN NaN\n\n <strong>name<\/strong> <strong>peakArea<\/strong> \n <strong>_________________________<\/strong> <strong>__________________________________________________________________<\/strong>\n\n {'0035035_O1s_900eV.ibw'} 5.8028e+05 NaN NaN NaN NaN\n\n <strong>name<\/strong> <strong>peakFWHM<\/strong> \n <strong>_________________________<\/strong> <strong>______________________________________________<\/strong>\n\n {'0035035_O1s_900eV.ibw'} 1.9598 NaN NaN NaN NaN\n\n <strong>name<\/strong> <strong>peakBackground<\/strong> \n <strong>_________________________<\/strong> <strong>__________________<\/strong>\n\n {'0035035_O1s_900eV.ibw'} -34.088 17290\n\nFound 1 valid peaks (non-NaN)\n","truncated":false}}
%---
%[output:7541066b]
% data: {"dataType":"image","outputData":{"dataUri":"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAABGAAAAKiCAYAAACZ\/qosAAAAAXNSR0IArs4c6QAAIABJREFUeF7snQe4FsX59h8UUT5iQWLUIBawYNcQBQVRo8beGzZs2EEsRFFUsCtiQcVesAQLBg0odo2CRiX8ETWChRIbaiDYiBFBv+vekzmZd86WmW1nd997ritX8LyzM8\/8ZnZ35t5nnmnx888\/\/yxMJEACJEACJEACJEACJEACJEACJEACJEACmRFoQQEmM7YsmARIgARIgARIgARIgARIgARIgARIgAQ8AhRgOBBIgARIgARIgARIgARIgARIgARIgARIIGMCFGAyBsziSYAESIAESIAESIAESIAESIAESIAESIACDMcACZAACZAACZAACZAACZAACZAACZAACWRMgAJMxoBZPAmQAAmQAAmQAAmQAAmQAAmQAAmQAAlQgOEYIAESIAESIAESIAESIAESIAESIAESIIGMCVCAyRgwiycBEiABEiABEiABEiABEiABEiABEiABCjAcAyRAAiRAAiRAAiRAAiRAAiRAAiRAAiSQMQEKMBkDZvEkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAGGY4AESIAESIAESIAESIAESIAESIAESIAEMiZAASZjwCyeBEiABEiABEiABEiABEiABEiABEiABCjAcAyQAAmQAAmQAAmQAAmQAAmQAAmQAAmQQMYEKMBkDJjFkwAJkAAJkAAJkAAJkAAJkAAJkAAJkAAFGI4BEiABEiABEiABEiABEiABEiABEiABEsiYAAWYjAGzeBIgARIgARIgARIgARIgARIgARIgARKgAMMxQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAIZE6AAkzFgFk8CJEACJEACJEACJEACJEACJEACJEACFGA4BkiABEiABEiABEiABEiABEiABEiABEggYwIUYDIGzOJJgARIgARIgARIgARIgARIgARIgARIgAIMxwAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJZEyAAkzGgFk8CZAACZAACZAACZAACZAACZAACZAACVCA4RggARIgARIgARIgARIgARIgARIgARIggYwJUIDJGDCLJwESIAESIAESIAESIAESIAESIAESIAEKMBwDJEACJEACJEACJEACJEACJEACJEACJJAxAQowGQNm8cUhMG3aNHn11VflmGOOkRYtWhTHMFpCAiRAAiRAAiRAAiRAAiRAAiRQeQIUYCrfxWwgCHzzzTeyyy67yOeffy4ffvihLLHEEgRDAiRAAiRAAiRAAiRAAiRAAiRAArkRoACTG2pW1JwE+vfvL+PGjfNMoADTnD3BukmABEiABEiABEiABEiABEigPglQgKnPfq+rVj\/66KNy5plnykEHHSQPP\/wwBZi66n02lgRIgARIgARIgARIgARIgASKQYACTDH6gVZkRGDWrFmyww47yOWXXy4LFiyQSy65hAJMRqxZLAmQAAmQAAmQAAmQAAmQAAmQQDABCjAcHYUi8N1338m+++4r6623ntx4442+ti1atEgee+wxeeSRR+Sjjz6StddeW7bcckvZa6+9ZPXVV2+8ZuHChZ7Xy8orryy33nqr3HXXXRRgCtXbNIYESIAESIAESIAESIAESIAE6ocABZj66etStHTUqFFy3nnnySabbOKJLGb66aef5KyzzpIxY8Y0+a1du3be3zt06OD9NnToUBk9erQ8\/fTTsuKKK1KAKcUIoJEkQAIkQAIkQAIkQAIkQAIkUE0CFGCq2a+latU\/\/\/lPmTlzpkyYMEFuuukmz\/YgAWb8+PHSt29fL8+gQYM8r5e5c+d6W4wmTpwoq622mrzwwgvSsmVL6dixo7Rp00Y6derk5f\/0009l3rx5XtmHHHKIHHzwwaXiRGNJgARIgARIgARIgARIgARIgATKS4ACTHn7rjKWI0YLYrXoKUiAwfakqVOnyhFHHCEXXnhh4yUQcX73u995cV7uvfde6dGjh+fxgu1KKv3tb3+T5557TgYOHChdunTx\/sdEAiRAAiRAAiRAAiRAAiRAAiRAAnkQoACTB+U6qgPeKBA+TjvtNGnVqlWTlr\/zzjvyxhtvyDHHHNP4G2K9wDMFadq0ad7vfgIMth8h3gsSthptttlmNeWfcMIJ8uyzz0rv3r1lyJAhTeqGMIO\/8xjqOhqQbCoJkAAJkAAJkAAJkAAJkAAJFIQABZiCdERVzOjVq5cnoOyyyy5y3XXX1YgwEF+w9QdeKvgN24fMhMC6iPHiJ8BgC9E222zjXfLBBx\/IkksuWXP57bff7m1F6tmzp4wcObJJ2ffff79ccMEFMmPGDGnRokVVkLMdJEACJEACJEACJEACJEACJEACJSBAAaYEnVQmE7E96PDDD\/dEFl2E0cUXCCQ333yztG7d2kmAefXVV72yV1llFcG\/zQSvmAEDBkjnzp0FsWKYSIAESIAESIAESIAESIAESIAESKAoBCjAFKUnKmSHKcIcd9xx3rYgiDJh4gsQhHnAPPjgg3LuuefKBhtsII8\/\/ngTYk8++aSccsopgQJNhRCzKSRAAiRAAiRAAiRAAiRAAiRAAiUjQAGmZB1WFnN1EUbZHCW+RAkwOFL67LPPDhRgHn30UTnzzDPpAVOWQUI7SYAESIAESIAESIAESIAESKCOCFCAqaPOzrupymNF1fvmm2\/KcsstF2pGmAcMjpfu06dPoIcLgv9ecskl3glICLjLRAIkQAIkQAIkQAIkQAIkQAIkQAJFIUABpig9UTE79Jgvqmk4bhonHi299NKBrQ0TYOBVg2OokfzEnIsuusgLvotAv5deemnFiLI5JEACJEACJEACJEACJEACJEACZSZAAabMvVdQ282Au\/BaQQwYpCgRJkyAWbhwoXTp0sWLJXPDDTfI7rvv3khg0aJFstVWW3nHWd9yyy3y+9\/\/vqB0aBYJkEAQgVdmfCXdO61AQCRAAiRAAiRAAiRAAiRQSQIUYCrZrc3XqKDTjiZPniwHHnhgpAgTJsDg4sGDB8t9990n7dq1E2xJWnbZZb0yIboMHTpU2rRpI6+88krkVqfmI8SaSaDaBFxFlCufni1XPj2rBkqPtRtEmLN3XouCTLWHC1tHAiRAAiRAAiRAAnVFgAJMXXV39o09+OCDZdKkSb6nHekizLBhw2S\/\/fZrYlCUADNnzhzZf\/\/95fPPP\/fElp122kk+++wzeeONN7yyEPsFMWCYSIAE8iMQR0TRr4HQokQXWD3xw6\/klRnzvf\/Hb2fvvGZ+jWFNJEACJEACJEACJEACJJARAQowGYGt12K\/\/PJLuemmm7zTilq3bt0Ew5QpUzwPlb59+\/oiUicZbbrppoJ\/+6XZs2fLscceK7Nm\/e+rOTxicAJSr1696hU9200CuROIK6Ko66LEFdt8uTecFZIACZAACZAACZAACZBADAIUYGJA4yXFIPDpp5\/KW2+9JWuuuaZ39HSLFi2KYRitIIE6IGArjpj51H+PO2Vzq+1F2NK054gp9ISpgzHFJpIACZAACZAACZBA1QlQgKl6D7N9JEACJJAygbgiCrYZxdlWpOr71zXbp9wSFkcCJEACJEACJEACJEAC+RGgAJMfa9ZEAiRAAqUnENcjRYkoEGHGnry5M4cVz3iRXjDO1HgBCZAACZAACZAACZBAkQhQgClSb9AWEiABEig4gb1umuJZmLeIQi+Ygg8MmkcCJEACJEACJEACJBBJgAJMJCJmIAESIIH6IxB0nDQEmO6d2sY6mQheLEhxthIpz5s419Zf77HFJEACJEACJEACJEACRSRAAaaIvVIim15\/\/XU55JBDSmQxTSUBEggi8J\/Oe8t\/Ou9V83PLue95\/73M9D8L\/v3VPnfKLyYO9f5tmxb9cj0v63c9zvpvWWNrLsXvKBO\/q3rMspEHv7vWbWsj85EACZAACZAACZBAmQnMnDmzzObXje0UYOqmq7NpqBJgHnjggWwqYKmVJzB8+HCvjf379698W4vawCufniV\/+WplzzwcDY04LSohaO4rM+Z7wXO3W+ELL9+gLj9Ij7XbNmkOykFSZQW1V5UPTxo96fXADj1N\/HC+XDp5aXny4P\/XpNgD+w2RMw\/bRbp161ZUxLSrwARee+01wXOI77ECd1LBTeN7rOAdVALz8DET8yC+x0rQWQU0Ub3HKMAUsHN8TKIAU45+KqyVSoDhDV\/YLiq8YYceeqhn46hRowpva9kMDNpGpLfD9ThpXGseIa3KwG+6cPI\/oaVB0LHZgqS2GuFalNW9U8O1+DsEHhV7Rq9TtUfVp19Xtj6jvfkT4Hssf+ZVq5Hvsar1aP7t6dixoycCd+3aNf\/KWWPpCfA9Vq4upABTrv7Kzdqvv\/5avvjiC+nQoYO0bt06sF7e8Ll1SWUr4sQ13a51ESbiHicNgePsndcUU3jB38KSbSBdJbboR1ar4L\/wmlGeNspbR305XPTLzo3eOsrGdOmytCoS4Husir2ab5v4HsuXdxVrowBTxV7Nr018j+XHOo2aKMCkQbEiZfz0009y\/fXXy7hx42TWrIatBEhrrbWWXHzxxbL11ls3aSlv+Ip0fjM2gxPXdOCbYkjQNiIlTCQ9TlpZ7SJ0QETRRZWolutHV+M6tMnvenPiauvVE1U\/f68PAnyP1Uc\/Z9lKvseypFsfZVOAqY9+zqqVfI9lRTabcinAZMO1dKUuXrxYBg0aJA8\/\/LBne5s2bWTZZZeVzz\/\/vLEtI0aMkF133bWmbbzhS9fVhTOYE9fkXWIrOOj5EG8FyfY4aVyLpLxPIIbYXttw3WzvWiWimNuYgiiYHj1+1\/lNXOMKTMl7gyWUjQDfY2XrseLZm+Q9ZrNVtHgtpkVpLine truncated
%---
%[output:969d4f09]
% data: {"dataType":"text","outputData":{"text":" <strong>name<\/strong> <strong>lastModifiedDatestr<\/strong> <strong>scientaPassEnergy_eV<\/strong>\n <strong>_________________________<\/strong> <strong>________________________<\/strong> <strong>____________________<\/strong>\n\n {'0056056_O1s_900eV.ibw'} {'28-Feb-2022 12:15:48'} 50 \n\n","truncated":false}}
%---
%[output:880f99d8]
% data: {"dataType":"text","outputData":{"text":"Validating FitParameter structure...\n Number of peaks detected: 1\n Checking core parameters (required for all modes)...\n Checking mode-specific parameters for mode 'unconstrained'...\n Checking background model parameters for 'linear'...\n✓ FitParameter validation successful for 1 peak(s) in 'unconstrained' mode with 'linear' background.\n\n","truncated":false}}
%---
%[output:608e038f]
% data: {"dataType":"warning","outputData":{"text":"Warning: Data sizes do not match. Converting all data to column vectors."}}
%---
%[output:598292bc]
% data: {"dataType":"text","outputData":{"text":"\nGlobalSearch stopped because it analyzed all the trial points.\n\nAll 18 local solver runs converged with a positive local solver exit flag.\n <strong>name<\/strong> <strong>peakPosition<\/strong> \n <strong>_________________________<\/strong> <strong>_________________________________________<\/strong>\n\n {'0056056_O1s_900eV.ibw'} 363.2 NaN NaN NaN NaN\n\n <strong>name<\/strong> <strong>peakArea<\/strong> \n <strong>_________________________<\/strong> <strong>__________________________________________________________________<\/strong>\n\n {'0056056_O1s_900eV.ibw'} 2.6848e+05 NaN NaN NaN NaN\n\n <strong>name<\/strong> <strong>peakFWHM<\/strong> \n <strong>_________________________<\/strong> <strong>______________________________________________<\/strong>\n\n {'0056056_O1s_900eV.ibw'} 2.1012 NaN NaN NaN NaN\n\n <strong>name<\/strong> <strong>peakBackground<\/strong> \n <strong>_________________________<\/strong> <strong>________________<\/strong>\n\n {'0056056_O1s_900eV.ibw'} 54.186 -15436\n\nFound 1 valid peaks (non-NaN)\n","truncated":false}}
%---
%[output:342429e8]
% data: {"dataType":"image","outputData":{"dataUri":"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAABGAAAAKiCAYAAACZ\/qosAAAAAXNSR0IArs4c6QAAIABJREFUeF7snQnYHUPa\/guxTRBBMIIhscY+GWIkYgzGThBr7GJNJHbBDLEMEpEIQmIZsYxYRswIsceQMCFfPowlGSNiZ3wxQcS+\/K+78q+j3nq7u5buPqe7z93X5fLmdHV11e+prq66+6mnFvrxxx9\/FDxIgARIgARIgARIgARIgARIgARIgARIgARyI7AQBZjc2DJjEiABEiABEiABEiABEiABEiABEiABEpAEKMCwIZAACZAACZAACZAACZAACZAACZAACZBAzgQowOQMmNmTAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAUYtgESIAESIAESIAESIAESIAESIAESIAESyJkABZicATN7EiABEiABEiABEiABEiABEiABEiABEqAAwzZAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAjkToACTM2BmTwIkQAIkQAIkQAIkQAIkQAIkQAIkQAIUYNgGSIAESIAESIAESIAESIAESIAESIAESCBnAhRgcgbM7EmABEiABEiABEiABEiABEiABEiABEiAAgzbAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAnkTIACTM6AmT0JkAAJkAAJkAAJkAAJkAAJkAAJkAAJUIBhGyABEiABEiABEiABEiABEiABEiABEiCBnAlQgMkZMLMnARIgARIgARIgARIgARIgARIgARIgAQowbAMkQAIkQAIkQAIkQAIkQAIkQAIkQAIkkDMBCjA5A2b2JEACJEACJEACJEACJEACJEACJEACJEABhm2ABEiABEiABEiABEiABEiABEiABEiABHImQAEmZ8DMngRIgARIgARIgARIgARIgARIgARIgAQowLANkAAJkAAJkAAJkAAJkAAJkAAJkAAJkEDOBCjA5AyY2ZMACZAACZAACZAACZAACZAACZAACZAABRi2ARIgARIgARIgARIgARIgARIgARIgARLImQAFmJwBM3sSIAESIAESIAESIAESIAESIAESIAESoADDNkACJEACJEACJEACJEACJEACJEACJEACOROgAJMzYGZPAiRAAiRAAiRAAiRAAiRAAiRAAiRAAhRg2AZIgARIgARIgARIgARIgARIgARIgARIIGcCFGByBszsSYAESIAESIAESIAESIAESIAESIAESIACDNsACZAACZAACZAACZAACZAACZAACZAACeRMgAJMzoCZPQmQAAmQAAmQAAmQAAmQAAmQAAmQAAlQgGEbIAESIAESIAESIAESIAESIAESIAESIIGcCVCAyRkwsycBEiABEiABEiABEiABEiABEiABEiABCjBsAyRAAiRAAiRAAiRAAiRAAiRAAiRAAiSQMwEKMDkDZvYkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAGGbYAESIAESIAESIAESIAESIAESIAESIAEciZAASZnwMyeBEiABEiABEiABEiABEiABEiABEiABCjAsA2QAAmQAAmQAAmQAAmQAAmQAAmQAAmQQM4EKMDkDJjZkwAJkAAJkAAJkAAJkAAJkAAJkAAJkAAFGLYBEiABEiABEiABEiABEiABEiABEiABEsiZAAWYnAEzexIgARIgARIgARIgARIgARIgARIgARKgAMM2QAIkQAIkQAIkQAIkQAIkQAIkQAIkQAI5E6AAkzNgZk8CJEACJEACJEACJEACJEACJEACJEACFGDYBkiABEiABEiABEiABEiABEiABEiABEggZwIUYHIGzOxJgARIgARIgARIoMwEnp71iejeedkyV4FlJwESIAESIIFCEKAAUwgzsBAkQAIkQAIkQAIkUBwCQx5+Uwx5eHaLAvVYa4EIc+aOa1KQKY6pWBISIAESIIESEaAAUyJjsagkQAIkQAIkQAIkkCcBXXiB0KJEF9xzyuufiKdnzZX\/x7kzd1wjz6IwbxIgARIgARKoHAEKMJUzKStEAiRAAiRAAiRAAv4ElPhiE1dc0\/mXgFeQAAmQAAmQQLUJUICptn1ZOxIgARIgARIggZwIVCk2ihJVJvTbzGl5Eeq++6jn6QmTU9titiRAAiRAAtUkQAGmmnZlrUiABEiABEiABHIgUMXYKKFiimLx3+Hb5kCaWZIACZAACZBA9QhQgKmeTVkjEiCBHAlU6Yt3jpiYNQlUjkBRYqPk0Qftcc3z0l73nbCZt92WO+UJesF4U+MFJEACJEACzUqAAkyzWp71JgEScCZQxS\/ezpVnQhIgAeEa88Q1nS\/SvPsgCDDdO7cPCqpLLxhfazI9CZAACZBAMxOgANPM1mfdSSBDAnl8lc2weEFZFeWLd1DheREJkEAmBBoZG6VefRC8WFxjv5hQ1fIlLkPKpLkxExIgARIggYoToABTcQPnXb1nn31WHHjggXnfhvkXlMBX6+0pvlpvjxalazPnX\/LfS8z8m1B\/F7T4icVSdVti5n2yLnGHa7oyMmCZSaDZCXy3wrri8x5nCFs\/YHJS\/cKyfz0qGKFr3+KaLqkgn\/S6USw1ZWhsn43zcQwUo6TrgyHwQhIgARIgAWcCb7zxhnNaJmwcAQowjWOf+s7z5s0TX331lejQoYM1rx9\/\/FHMmTNHLLHEEmLppZfOLL0SYMaNG2fNkwmqQ2DIw7PF3z9ZSVYI25X2WGvZWuWmvP6JeHrWXIH\/\/2bZ\/8jzScfIkSPl6YEDBxYGkKrfOV2\/Fj3Wam8tFyYg2A3Epb7WzJjAmwBEYLSfLbfc0vtaXkACU6dOFeiHot5jf5y+mAR0TtdvvEHtfOcXwX1CvfsglDWuv5vy+lzxx+mLx9ZFnX9w\/595M6rKBUV8j1WFbbPUg++xZrF0PvVU7zEKMPnwzTpXCjBZE\/XMb8qUKeLkk0+OvWq77bYTl156aYvzTz75pLjooovErFmz5O8rr7yy2GqrrcSgQYPECius0CIthJebbrpJjBgxQsyfP1+eW2+99cQOO+wgTjzxRNGmTZtU6ZUAwwfe0\/AlTu4a48A13UEHHSRp3H777YWgwt1ACmEGr0J06tRJTp67devmdR0TkwAIJL3HGhEbpRF9UFIgXTCAoA4x\/cwd12jVaFBeCEYhAXyr0gKL9h6rCtdmqgffY81k7ezryvlY9kzzzJECTJ50HfK+5ZZbxODBg2NTbrvttuLGG2+snZ80aZLo27dv7d+rrrqqePfdd+W\/u3TpIiexyyyzTO38kCFDxJgxY2r\/Xn755cXHH38s\/73ffvuJSy65RCy00ELB6fnAOxi5QknyiIVQtIErdwMpX4PlwLV8NitSiZPeY7bYKOgv4oSH0NgojeiD4gLpqjooL8eouqYpb5HaQZqyFO09lqYuvLYxBPgeawz3qtyV87FyWZICTIPtdcEFF4ixY8eKiy++WHTv3r1VabBkSC0x+vrrr0WPHj2kgAJX+9GjR0ux5b333hO9evWSv++9995i2LBhMp\/XXntN7LTTTvLvfv36iQEDBohFF11UTJ48WRx22GHy96FDh4revXsHpcdFfOAb3IDqePu8vsoWbeDaiC\/edTRjJW\/FgWslzVq3SqURYCDQ4IgKQKv6TN\/gto3qg6K8YPR+H14uZj19Rfm6GbXONyrae6zO1eftMiDA91gGEJs4C87HymV8CjANttfhhx8unnrqKfHQQw+JddZZJ7E0jz32mDjmmGNkmunTp4v27X+KTaGfe+mll0Tbtm2lqHPDDTeIjTfeWIwfP14svPDCtfzVOQg5aumHb3oKMA1uPHW+fZqvnEnu7UUbuDbii3edTVm523HgWjmT1rVCoQKMEidQ2KjlOaEeMLY+KAlO6D2RZ5SYovp91A9xrnQxKVSUr6tx63Szor3H6lRt3iZDAnyPZQizCbOiAFMuo1OAabC9ELvlww8\/FK+88opYcsklE0tz\/fXXyyVD5rIkXIT4LhtttJG8HkuWkEaJO4gNo4QbdQPEnjn00EPlP1944QXpSeObngJM\/o2nSFs75\/VVtmgD16TJj4qFAHf8KFf80C\/e+bekat+BA9dq2zfv2tkEmLjYJ0qc6N65vYyBYnqHhMZGsQkwLsuefL1uFGM9dhf6OV100YV01xhfeduuKPkX7T1WFC4shzsBvsfcWTFlawIUYMrVKijANNBeWFK0\/vrrS28VBMSdNm2aQDBbxHX55S9\/KY488sgWOxZBSLnrrrvE6aefLo4\/\/vhWJd9ll13EzJkzpUiz\/\/77y8C8EHfuvvtu0bVr1xbp586dW\/sN3jPo+H3TU4DJp\/Goga2eu1p\/j4lA984\/7TiUTwmic7VNCpLKkvRVtmgD17h66oEoMdmKEmHSfH3Ow5ZFEvDyqJ\/KkwPXPOlWP++kgWtcbBRQ0UXpKC+\/UK\/BpL7WJnxk0Qfp7yD0c2onO\/R7OBCQF0ecMFX9FtO6hkV7jzWjDcpeZ77Hym7BxpafAkxj+fvenQKMI7Fvv\/1Weqm88847Ys0115Q7CZk7CDlmVUs2e\/ZsgV2O4g4EzEWQXog0OPbdd1+59EgJLOZ18GiBZ8spp5wijjrqKLHBBhvIJEpg0dN\/\/\/33Yu2115Y\/3XnnnWLDDTf0Sr\/55pvLa9UDb9tCGEuduENJcgvRB71JWzs3atCbNCmwuaIneYYUbeAaNZEyXfPVl21YVPeECf3i7dt3JKVvtIDXCNGHA9csW1Dz5WUbuCbFRlGeJmYfkSY2StySTT0gLkSQuLgzWexIpC+vMltEo95BRW6ZRXuPFZkVyxZNgO8xtowkAmqre1sa7kpbjnZEAcawE5by3HPPPeLee+8VhxxyiAxq+\/nnn8slPNhjXR3wKLniiitEx44dgy2tB8M94ogjxB57Line truncated
%---
%[output:326c5622]
% data: {"dataType":"text","outputData":{"text":" <strong>name<\/strong> <strong>lastModifiedDatestr<\/strong> <strong>scientaPassEnergy_eV<\/strong>\n <strong>_________________________<\/strong> <strong>________________________<\/strong> <strong>____________________<\/strong>\n\n {'0060060_O1s_900eV.ibw'} {'28-Feb-2022 12:47:15'} 50 \n\n","truncated":false}}
%---
%[output:7f2dd5ee]
% data: {"dataType":"text","outputData":{"text":"Validating FitParameter structure...\n Number of peaks detected: 1\n Checking core parameters (required for all modes)...\n Checking mode-specific parameters for mode 'unconstrained'...\n Checking background model parameters for 'linear'...\n✓ FitParameter validation successful for 1 peak(s) in 'unconstrained' mode with 'linear' background.\n\n","truncated":false}}
%---
%[output:5bd5684a]
% data: {"dataType":"warning","outputData":{"text":"Warning: Data sizes do not match. Converting all data to column vectors."}}
%---
%[output:42116ac3]
% data: {"dataType":"text","outputData":{"text":"\nGlobalSearch stopped because it analyzed all the trial points.\n\nAll 28 local solver runs converged with a positive local solver exit flag.\n <strong>name<\/strong> <strong>peakPosition<\/strong> \n <strong>_________________________<\/strong> <strong>______________________________________________<\/strong>\n\n {'0060060_O1s_900eV.ibw'} 363.34 NaN NaN NaN NaN\n\n <strong>name<\/strong> <strong>peakArea<\/strong> \n <strong>_________________________<\/strong> <strong>__________________________________________________________________<\/strong>\n\n {'0060060_O1s_900eV.ibw'} 2.6879e+05 NaN NaN NaN NaN\n\n <strong>name<\/strong> <strong>peakFWHM<\/strong> \n <strong>_________________________<\/strong> <strong>_________________________________________<\/strong>\n\n {'0060060_O1s_900eV.ibw'} 2.119 NaN NaN NaN NaN\n\n <strong>name<\/strong> <strong>peakBackground<\/strong> \n <strong>_________________________<\/strong> <strong>________________<\/strong>\n\n {'0060060_O1s_900eV.ibw'} 201.94 -68423\n\nFound 1 valid peaks (non-NaN)\n","truncated":false}}
%---
%[output:31491535]
% data: {"dataType":"image","outputData":{"dataUri":"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAABGAAAAKiCAYAAACZ\/qosAAAAAXNSR0IArs4c6QAAIABJREFUeF7snQn8V1P+\/09KIkWIRjKSJSFME0bJGIydJNnLkrXNLsyQNNKihCjLiDGSRuYnskcLE379aSw1RrJk+ZkI2UP\/x+s05+N87\/fee8652+fe+3mdx8ND38899yzPc+6557zu+7xPg1WrVq0SDCRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAqkRaEABJjW2TJgESIAESIAESIAESIAESIAESIAESIAEJAEKMOwIJEACJEACJEACJEACJEACJEACJEACJJAyAQowKQNm8iRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAYZ9gARIgARIgARIgARIgARIgARIgARIgARSJkABJmXATJ4ESIAESIAESIAESIAESIAESIAESIAEKMCwD5AACZAACZAACZAACZAACZAACZAACZBAygQowKQMmMmTAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAUY9gESIAESIAESIAESIAESIAESIAESIAESSJkABZiUATN5EiABEiABEiABEiABEiABEiABEiABEqAAwz5AAiRAAiRAAiRAAiRAAiRAAiRAAiRAAikToACTMmAmTwIkQAIkQAIkQAIkQAIkQAIkQAIkQAIUYNgHSIAESIAESIAESIAESIAESIAESIAESCBlAhRgUgbM5EmABEiABEiABEiABEiABEiABEiABEiAAgz7AAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmkTIACTMqAmTwJkAAJkAAJkAAJkAAJkAAJkAAJkAAJUIBhHyABEiABEiABEiABEiABEiABEiABEiCBlAlQgEkZMJMnARIgARIgARIgARIgARIgARIgARIgAQow7AMkQAIkQAIkQAIkQAIkQAIkQAIkQAIkkDIBCjApA2byJEACJEACJEACJEACJEACJEACJEACJEABhn2ABEiABEiABEiABEiABEiABEiABEiABFImQAEmZcBMngRIgARIgARIgARIgARIgARIgARIgAQowLAPkAAJkAAJkAAJkAAJkAAJkAAJkAAJkEDKBCjApAyYyZMACZAACZAACZAACZAACZAACZAACZAABRj2ARIgARIgARIgARIgARIgARIgARIgARJImQAFmJQBM3kSIAESIAESIAESIAESIAESIAESIAESoADDPkACJEACJEACJEACJEACJEACJEACJEACKROgAJMyYCZPAiRAAiRAAiRAAiRAAiRAAiRAAiRAAhRg2AdIgARIgARIgARIgARIgARIgARIgARIIGUCFGBSBszkSYAESIAESIAESIAESIAESIAESIAESIACDPsACZAACZAACZAACZAACZAACZAACZAACaRMgAJMyoCZPAmQAAmQAAmQAAmQAAmQAAmQAAmQAAlQgGEfIAESIAESIAESIAESIAESIAESIAESIIGUCVCASRkwkycBEiABEiABEiABEiABEiABEiABEiABCjDsAyRAAiRAAiRAAiRAAiRAAiRAAiRAAiSQMgEKMCkDZvIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAGGfYAESIAESIAESIAESIAESIAESIAESIAEUiZAASZlwEyeBEiABEiABEiABEiABEiABEiABEiABCjAsA+QAAmQAAmQAAmQAAmQAAmQAAmQAAmQQMoEKMCkDJjJkwAJkAAJkAAJkAAJkAAJkAAJkAAJkAAFGPYBEiABEiABEiABEiABEiABEiABEiABEkiZAAWYlAEzeRIgARIgARIgARIggfwTeHbxZ6JLu\/XzX1CWkARIgARIoLAEKMAUtulYcBIgARIgARIgARIggTgERjz2thjx2JI6SXTdarUIc\/H+bSnIxIHLe0mABEiABOoRoADDTkECJEACJEACJEACJFBTBHThBUKLEl0AYe6bn4lnFy+X\/8e1i\/ffoqbYsLIkQAIkQALpEaAAkx5bpkwCJEACJEACJEACuSHALTarm0KJLyZxxTZebhqYBSEBEiABEsg9AQowuW8iFpAESIAESIAESIAEohHgFpu63BSP6f12sdpeBNHq0PEv0RImWvfjXSRAAiRAAh4CFGDYJUiABEiABEiABEigZAS4xaZ+g0YVUxTLT8fsXbJewuqQAAmQAAlkTYACTNbEmR8JkEBNEqDpf002OytNAlUhYLt1xjZeWcavw256SbbHg2fv4twuG5z3NK1gnKnxBhIgARIgAS8BCjDsEyRAAiSQEgGa\/qcElsmSAAkEEkhqi00Zxy8IMF3atYjkVJdWMHzoSIAESIAEkiBAASYJikyDBEiABDQCNP1ndyABEqgGgSS22JR5\/IIVi63vF2\/7KbbchlSNns08SYAESKA8BCjAlKctq1KT559\/Xhx77LFVyZuZkkAeCXzb\/nDxbfvDRJNFD4omi\/4nsIi28fJYR5aJBEggnwS+7HqRLNi6c0c6F\/Cz7reLRsv+JX7YaNvSjl+oI9ignt6AeoPf+n8\/1Zeduh50vzNw3kACJEACCRN46623Ek6RyaVBgAJMGlQzSnPFihXi22+\/FS1btjTmuGrVKrFs2TLRpEkT0axZs8TiKwFm8uTJxjQZgQT8CIwbN07+PGjQoMIDGvHYEvHMZ5uIyzp9J7pu1cJYH0zocbrGb9f\/P+lbIOkw983lVuXwyzfOvUnXw5QeRGD0n913390UlddJoB6BefPmCYxDZXiP\/Wl+YykuRBlPcO\/cNz\/LzfiVRlc9cMrXgfVT9Q8ajzEm\/mn+WuKRo9epV7QyvcfS4M40zQT4HjMzYoxgAuo9RgGmGL2EAkyV22nu3Lni3HPPDSzFPvvsI6655po612fNmiWGDRsmFi9eLH9v1aqV2GOPPcTgwYPFRhttVCcuhJc77rhDjB07Vnz11VfyWvv27cV+++0nBgwYIBo1ahQrvhJg+MBXuSMVOPvjjjtOlv6ee+4pcC2ESML0PwkAcfw2xLk3ibJHTWPLLbeUi+fddtstahK8r4YJlOk9FnWLjRq\/0A1cttgUzS9KkCNdVf+uW60vnwQ\/J72IA5Hd71pZ3mM1PAxUvep8j1W9CQpdgDK9xwrdEJaFpwBjCSqtaHfddZcYMmRIYPJ77723uP322yvXZ86cKfr27Vv5e7PNNhNLly6Vf3fo0EEuYps3b165PmLECDFx4sTK3xtuuKH45JNP5N+9evUSw4cPFw0aNIgcnw98Wj2jdtIty8S12qdrxPHbEOfePPRUTlzz0ArFLUOZ3mNhAox6zpXIAGe06t8QFmD9guDqI6VIpwMFCUZq\/AYTsPATocLG+LK8x4r7FBe\/5HyPFb8Nq1mDMr3Hqskxq7wpwGRFOiCfoUOHikmTJomrr75adOnSpV4sbBlSW4y+++470bVrVymgwNR+woQJUmx5\/\/33Rffu3eXvPXr0EKNHj5bpvPHGG+KAAw6Q\/+7Xr58YOHCgWHPNNcWcOXNEnz595O8jR44UPXv2jBQfNxXtgS\/LUZpV7raJZl+WiWuap2uY+q3tUbJ+8eLcm2hHiJEYJ64x4PHWwr3HwposSIDRLfRw\/7OLl8tklOiCf0OMwd8QYBC6tFttDWIKRbeCUWyU8OQnKJlOlirLe8zU1ryeHgG+x9JjWwspF209VgttElZHCjBV7gEnnXSSmD17tnj00UfFNttsE1qaJ598Upx++ukyzvz580WLFj\/7mNCvvfLKK6Jp06ZS1LnttttEx44dxbRp08Qaa6xRSV9dg5Cjtn64xi+KAFPUbRVV7pqZZV+WiWtU0\/\/Vi6HPpC8Y\/aurbb81LQy8DeldiOFrr+0X76jbrNLuTJy4pk243OmXaeIaZI0SZr2hb7\/RBRnV6hBmwo5uLtrpQN4x08vGK6bbjHtleY+V+0nPd+34Hst3++S9dGV6j+WddRLlowCTBMUYacB3y0cffSRee+01sfbaa4emdOutt8otQ95tSbgJ\/l123HFHeT+2LCGOEnfgG0YJNyoD+J7p3bu3\/PPll1+WljSu8fMuwBR9W0WMblWoW8sycTUJMGqSD+eY3i\/L+hdYLIAgiiAgrtoigL9xDV+u8X91DcIN\/n3x\/ltYt7v32Yhyr4ufCOuCRYzIiWtEcLxNEijTxNXPGsVr4eHX7Bi\/EDDeKB8nuM875viNFTbp562r6duxlNWPGpdxDeMsONhaCJblPZa3dqql8vA9VkutnXxdy\/QeS55O\/lKkAFPFNsGWou22205aq8Ah7osvvijgzBZ+XX71q1+JU045pc6JRRBS7rvvPnHhhReKs846q17JDzroILFo0SIp0hx99NHSMS\/EnalTp4pOnTrVib98+fLKb7CewcDvGj\/PE1fbSZNtvCp2k9JnXZaJq63vBUz2scjRhRj9CyvEF5Ogogso+oLJpbOgvHHuNZXRpSxx43LiGpdgbd9ftomr1wrGxj+VEmCCrOHCthkVzQJG9XZ9HFXbrnBN94ejhHCTSF2W91htjwTVrT3fY9XlX\/Tcy\/YeK3p7mMpfswLMypUrpdXJe++9J9q2bStPBvKeCGSCF\/f6kiVLBE45CgpwmAsnvRBpEI466ii59UgJLN77YNECy5bzzjtPnHrqqWL77beXUZTAosf\/8ccfxdZbby1\/mjJlithhhx2c4nfu3Fneqx540xHC2OqU1QklcbZkmCZZcduc99cnUJaJa5Dpv1fkUydp6EIMqMCSBSGr7UBYlKEMUSxZ8ubzgRNXjixxCJRt4qq\/A9XYEjau6FuQ\/E74UWzDThAKOh0oTrukfa\/XCsabn4tAXZb3WNrMmX4wAb7H2DvCCKij7k1xeCptMfpR6QUYbM25\/\/77xQMPPCBOPPFE6aT2yLine truncated
%---
%[output:65618880]
% data: {"dataType":"text","outputData":{"text":" <strong>name<\/strong> <strong>lastModifiedDatestr<\/strong> <strong>sample<\/strong> \n <strong>_________________________<\/strong> <strong>________________________<\/strong> <strong>_______________<\/strong>\n\n {'0035035_C1s_900eV.ibw'} {'27-Feb-2022 19:46:48'} {'Ice with N2'}\n {'0056056_C1s_900eV.ibw'} {'28-Feb-2022 12:15:48'} {'Ice with N2'}\n {'0060060_C1s_900eV.ibw'} {'28-Feb-2022 12:47:15'} {'Ice with N2'}\n\n","truncated":false}}
%---
%[output:9c77f960]
% data: {"dataType":"text","outputData":{"text":" <strong>name<\/strong> <strong>sampleTemp_dC<\/strong> <strong>cellPressure_mbar<\/strong>\n <strong>_________________________<\/strong> <strong>_____________<\/strong> <strong>_________________<\/strong>\n\n {'0035035_C1s_900eV.ibw'} -22.031 1.4358 \n {'0056056_C1s_900eV.ibw'} -39.039 1.4357 \n {'0060060_C1s_900eV.ibw'} -39.003 1.4216 \n\n","truncated":false}}
%---
%[output:43e6e41e]
% data: {"dataType":"image","outputData":{"dataUri":"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAABXoAAANsCAYAAADlaRC9AAAAAXNSR0IArs4c6QAAIABJREFUeF7snQe0FUXW\/QvFgAoqRswBRQQVRSUYB9QxIJhzwpwFcdAxo6KICph1zGFEncGsKCYMoJ9xFFEcEUYZRcERFR0z\/Nevvq\/6X7df9719w7uvu98+a7Hk3a6uOrXPucy83bt3tZg\/f\/58oxACQkAICAEhIASEgBAQAkJACAgBISAEhIAQEAJCQAgIgcwi0EJEb2Zrp8SFgBAQAkJACAgBISAEhIAQEAJCQAgIASEgBISAEBACFgERvWoEISAEhIAQEAJCQAgIASEgBISAEBACQkAICAEhIASEQMYRENGb8QIqfSEgBISAEBACQkAICAEhIASEgBAQAkJACAgBISAEhICIXvWAEBACQkAICAEhIASEgBAQAkJACAgBISAEhIAQEAJCIOMIiOjNeAGVvhAQAkJACAgBISAEhIAQEAJCQAgIASEgBISAEBACQkBEr3pACAgBISAEhIAQEAJCQAgIASEgBISAEBACQkAICAEhkHEERPRmvIBKXwgIASEgBISAEBACQkAICAEhIASEgBAQAkJACAgBISCiVz0gBISAEBACQkAICAEhIASEgBAQAkJACAgBISAEhIAQyDgCInozXkClLwSEgBAQAkJACAgBISAEhIAQEAJCQAgIASEgBISAEBDRqx4QAkJACAgBISAEhIAQEAJCQAgIASEgBISAEBACQkAIZBwBEb0ZL6DSFwJCQAgIASEgBISAEBACQkAICAEhIASEgBAQAkJACIjoVQ8IASEgBISAEBACQkAICAEhIASEgBAQAkJACAgBISAEMo6AiN6MF1DpCwEhIASEgBAQAkJACAgBISAEhIAQEAJCQAgIASEgBET0qgeEgBAQAkJACAgBISAEhIAQEAJCQAgIASEgBISAEBACGUdARG\/GC6j0hYAQEAJCQAgIASEgBISAEBACQkAICAEhIASEgBAQAiJ61QNCQAgIASEgBISAEBACQkAICAEhIASEgBAQAkJACAiBjCMgojfjBVT6QkAICAEhIASEgBAQAkJACAgBISAEhIAQEAJCQAgIARG96gEhIASEgBAQAkJACAgBISAEhIAQEAJCQAgIASEgBIRAxhEQ0ZvxAip9ISAEhIAQEAJCQAgIASEgBISAEBACQkAICAEhIASEgIhe9YAQEAJCQAgIASEgBISAEBACQkAICAEhIASEgBAQAkIg4wiI6M14AZW+EBACQkAICAEhIASEgBAQAkJACAgBISAEhIAQEAJCQESvekAICAEhIASEgBAQAkJACAgBISAEhIAQEAJCQAgIASGQcQRE9Ga8gEpfCAgBISAEhIAQEAJCQAgIASEgBISAEBACQkAICAEhIKJXPSAEhIAQEAJCQAgIASEgBISAEBACQkAICAEhIASEgBDIOAIiejNeQKUvBISAEBACQkAICAEhIASEgBAQAkJACAgBISAEhIAQENGrHhACQkAICAEhIASEgBAQAkJACAgBISAEhIAQEAJCQAhkHAERvRkvoNIXAkJACAgBISAEhIAQEAJCQAgIASEgBISAEBACQkAIiOhVDwgBISAEhIAQEAJCQAgIASEgBISAEBACQkAICAEhIAQyjoCI3owXUOkLASEgBISAEBACQkAICAEhIASEgBAQAkJACAgBISAERPSqB4SAEBACQkAICAEhIASEgBAQAkJACAgBISAEhIAQEAIZR0BEb8YLqPSFgBAQAkJACAgBISAEhIAQEAJCQAgIASEgBISAEBACInrVA0JACAgBISAEhIAQEAJCQAgIASEgBISAEBACQkAICIGMIyCiN+MFVPpCQAgIASEgBISAEBACQkAICAEhIASEgBAQAkJACAgBEb3qASEgBISAEBACdUDgxx9\/NK1atarDSlpCCAgBISAEhIAQEAJCQAgIASEgBJojAiJ6m2PVtWchIASEQEoR+PTTT8348eNLZrfEEkuYVVdd1ayyyipmxRVXNC1atIi858033zSTJ08uOV\/cgB122MHOX2788ssv5v777zevvvqqmTZtmpkyZYqdYvHFFzfrrbeeWWeddcwBBxxgOnfuXO7UGi8EhIAQEAJCQAgIASEgBISAEBACQiASARG9agwhIASEgBBIDQLPPPOMOfroo8vKp2vXrubMM880G2+8cYP7Lr\/8cnPdddeVNZ8\/+L777jObbbZZWfePGzfOXHTRRebf\/\/53yft23nlnc\/rpp1vSOs8xd+5c89VXXwVbhPBefvnl87xl7U0ICAEhIASEgBAQAkJACAgBIVB3BET01h1yLSgEhIAQEAJxCFRC9Lq5zjvvPHPooYcWTF1vove5554zRx55ZFkFRpX86KOPmiWXXLKs+7I0+JRTTrF7dLHLLruYq6++OktbUK5CQAgIASEgBISAEBACQkAICIHUIyCiN\/UlUoJCQAgIgeaDQDVELyg9+eSTZt111w0AqyfR+8UXX5jtt9\/e\/PDDD2UXbMsttzS33nqradmyZdn3ZuGGE0880TzxxBMierNQLOUoBISAEBACQkAICAEhIASEQGYRENGb2dIpcSEgBIRA\/hCIInp79+5tOnToEGwWQvWpp56KJFR33HHHAquGKKJ3jz32MIssskgi8FDnrrnmmonG3nnnneb8888vGAuBu9tuu5nNN9\/cLLXUUuaDDz4wL7\/8cqSa9cEHHzQbbbRRorWyNkhEb9YqpnyFgBAQAkJACAgBISAEhIAQyCICInqzWDXlLASEgBDIKQJRRO+IESMsWerH77\/\/bp5\/\/vkGfr4cnDZx4sRgaBTR+9prr5lll1225ggec8wx5umnnw7mXXvttc3jjz9uFl544QZr4f375z\/\/ueBzSOJDDjmkZF7z5883X375pZkxY4bhUDoOditHCYxf7tSpU81\/\/vMf0759e7P66qvHHmYXl8z3339v5+C\/7dq1swfW4bsbF9USvbNnzzYc1Pfbb7+Zbt26NVgGTBjzySefmJ9\/\/tn6\/5JTmzZtSuKpAUJACAgBISAEhIAQEAJCQAgIgbwgIKI3L5XUPoSAEBACOUAgKdHrtnrUUUeZZ599tmDnkydPNq1atbKf1ZPoRXk8ffr0IJddd93VXHnllZFV+fHHH02nTp0KrkFmQ2q74KA2yFwXw4cPtwTmhRdeaN59992Ce7feemv7ebFD3bBOGDZsWIND4iBoURz379\/foECOi3nz5pnbbrvN3HHHHZEHzW211VaGemyxxRYBcQzBy6F0H3\/8cYECmzUhwokrrrjC\/h3ripEjRwbL4+N71llnmaFDh5r777\/ffs44n0z\/7LPPrIo63ANuEvaDgjv8oCAHXxVtQQgIASEgBISAEBACQkAICAEh0AABEb1qCiEgBISAEEgNAuUSveeee665++67C\/IfP368WW211exn9SR6jzjiCKsydgGZOXr0aNO5c+dIfFGo\/vrrr8G1pZde2rRt2zb4GfIWktTFQQcd1GCv4YmvvfZas9NOOxV8\/N1335lzzjmn4DC0uIKfcMIJZtCgQQ0uz5o1y\/zpT38yL730Usle4eA1\/hDhPUTd\/Mgjj1iMwrWC6P7666\/Nq6++GtzmE71jx441gwcPTuSJTG3OPPPMspXLJTerAUJACAgBISAEhIAQEAJCQAgIgRQhIKI3RcVQKkJACAiB5o5AuUQvVgd43voBMYjylYgielGkJnmlH1uDYnYE4VqNGjXKXHXVVQ1KCNnZq1cv0717d2uVsMACCyQqcxKSNGqiCRMmWDsFF0OGDLEq3KSBwnb33XcvGH7AAQcUEK6l5vrLX\/5itttuu6qI3qg1HNGLT3PPnj1LpVFw\/eabb7Z1UAgBISAEhIAQEAJCQAgIASEgBPKKgIjevFZW+xICQkAIZBCBpEQvPqxYEYTVpxCz2Bq0aNHC7j6K6E0Ky3XXXWc43C1pQDBDiBYL8sPiAJ9Z7BI6duwYO7wY0fuHP\/zBzJw500yZMqXB\/VgVsG+Cw9+wQPCDHI4++mhLhuNn\/OijjxZcX2WVVcwLL7wQYIhKGUVsOMhvvfXWMy+++GKDPDbbbDODDzFzoyhG2fz+++8HU7AGnsYLLrig6devn7XaSFIrR\/Rec801BTYXTLz99ttbNfMPP\/xgXnnlFdsffpx00klm4MCBScupcUJACAgBISAEhIAQEAJCQAgIgcwhIKI3cyVTwkJACAiB\/CIQRfR27drVbLrppsGmP\/\/881gbgrAvbhLyMA7Ncole5okiIItVi70dd9xxZtttt22g9I0ierEzwMfXHfAGmYkPbjj+53\/+xyy33HL2Wpjw5IA4n2C+9NJLzY033lgwxZgxY8zGG29sP2PNMKHsq2Mh3bGVePPNNwvmmDRpUqCITnIYW1ytIHAhq7HjgKTm8LnwwXcQzv4+ObQN\/FD+uoAcv+WWW\/L75dHOhIAQEAJCQAgIASEgBISAEGj2CIjobfYtIACEgBAQAulBIIroLSc7\/Hr9V\/rrTfTOnz\/f4JMLcYqyNGlg64C9wkILLRTcEiZ6l1lmGfPcc8+Z1q1bF0zLgWUoZv1wRC1Y+GQn69xzzz0FY\/EKhmj2A0sMDjmLOjQO0vXqq68uGI9y1\/nyugs+WVwp0bvPPvuYiy++uAEJjlfwJ598EuTAwXaOmIbkffvtt83hhx9eUIOovSetj8YJASEgBISAEBACQkAICAEhIASygICI3ixUSTkKASEgBJoJAtUQvf4hYA6uKKJ3o402MossskhJRE899VRrr1BJzJ0717AXDoaDnE1C+vbv398emuYiTPTutttuDewKGIuSdu+99y5I88orrzQ77LBDA2sIyGJsLine truncated
%---
%[output:8d96736e]
% data: {"dataType":"image","outputData":{"dataUri":"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAABXoAAANsCAYAAADlaRC9AAAAAXNSR0IArs4c6QAAIABJREFUeF7snQncVmP+\/68oNJQkS9n\/Ik2hxKjs2UnWGIwlwthLxr4NIoxk32WZkX0nuywl+5CoKRoaIrsYW\/i\/3pffdc91n+ec+z7Pfc5zeu5zPt\/Xy0vPfa71c13nWd7nez5Xi19\/\/fVXo5ACUkAKSAEpIAWkgBSQAlJACkgBKSAFpIAUkAJSQApIgbpVoIVAb92unQYuBaSAFJACUkAKSAEpIAWkgBSQAlJACkgBKSAFpIAUsAoI9GojSAEpIAWkgBSQAlJACkgBKSAFpIAUkAJSQApIASkgBepcAYHeOl9ADV8KSAEpIAWkgBSQAlJACkgBKSAFpIAUkAJSQApIASkg0Ks9IAWkgBSQAlJACkgBKSAFpIAUkAJSQApIASkgBaSAFKhzBQR663wBNXwpIAWkgBSQAlJACkgBKSAFpIAUkAJSQApIASkgBaSAQK\/2gBSQAlJACkgBKSAFpIAUkAJSQApIASkgBaSAFJACUqDOFRDorfMF1PClgBSQAlJACkgBKSAFpIAUkAJSQApIASkgBaSAFJACAr3aA1JACkgBKSAFpIAUkAJSQApIASkgBaSAFJACUkAKSIE6V0Cgt84XUMOXAlJACkgBKSAFpIAUkAJSQApIASkgBaSAFJACUkAKCPRqD0gBKSAFpIAUkAJSQApIASkgBaSAFJACUkAKSAEpIAXqXAGB3jpfQA1fCkgBKSAFpIAUkAJSQApIASkgBaSAFJACUkAKSAEpINCrPSAFpIAUkAJSQApIASkgBaSAFJACUkAKSAEpIAWkgBSocwUEeut8ATV8KSAFpIAUkAJSQApIASkgBaSAFJACUkAKSAEpIAWkgECv9oAUkAJSQApIASkgBaSAFJACUkAKSAEpIAWkgBSQAlKgzhUQ6K3zBdTwpYAUkAJSQApIASkgBaSAFJACUkAKSAEpIAWkgBSQAgK92gNSQApIASkgBaSAFJACUkAKSAEpIAWkgBSQAlJACkiBOldAoLfOF1DDlwJSQApIASkgBaSAFJACUkAKSAEpIAWkgBSQAlJACgj0ag9IASkgBaSAFJACUkAKSAEpIAWkgBSQAlJACkgBKSAF6lwBgd46X0ANXwpIASkgBaSAFJACUkAKSAEpIAWkgBSQAlJACkgBKSDQqz0gBaSAFJACUkAKSAEpIAWkgBSQAlJACkgBKSAFpIAUqHMFBHrrfAE1fCkgBaSAFJACUkAKSAEpIAWkgBSQAlJACkgBKSAFpIBAr\/aAFJACUkAKSAEpIAWkgBSQAlJACkgBKSAFpIAUkAJSoM4VEOit8wXU8KWAFJACUkAKSAEpIAWkgBSQAlJACkgBKSAFpIAUkAICvdoDUkAKSAEpIAWkgBSQAlJACkgBKSAFpIAUkAJSQApIgTpXQKC3zhdQw5cCUkAKSAEpIAWkgBSQAlJACkgBKSAFpIAUkAJSQAoI9GoPSAEpIAWkgBSQAlJACkgBKSAFpIAUkAJSQApIASkgBepcAYHeOl9ADV8KSAEpIAWkgBSQAlJACkgBKSAFpIAUkAJSQApIASkg0Ks9IAWkgBSQAlJACkgBKSAFpIAUkAJSQApIASkgBaSAFKhzBQR663wBNXwpIAWkgBSQAlJACkgBKSAFpIAUkAJSQApIASkgBaSAQK\/2gBSQAlJACkgBKSAFpIAUkAJSQApIASkgBaSAFJACUqDOFRDorfMF1PClgBSQAlJACkgBKSAFpIAUkAJSQApIASkgBaSAFJACAr3aA1JACkgBKSAFpIAUkAJSQApIASkgBaSAFJACUkAKSIE6V0Cgt84XUMOXAlJACkgBKSAFpIAUkAJSQApIASkgBaSAFJACUkAKCPRqD0gBKSAFpIAUmMcKfPfdd6Z169bzeBTqXgpIASkgBaSAFJACUkAKSAEpIAXqWQGB3npePY1dCkgBKVAgBd5\/\/30zbty4qjNeZJFFzHLLLWeWXXZZs\/TSS5sWLVqE1nnllVfM5MmTq7YXVWCLLbaw7Tc2fvzxR3PbbbeZiRMnmnfffddMmTLFNrHwwgub1VZbzayyyipmjz32MN27d29s0yovBaSAFJACUkAKSAEpIAWkgBSQAgVWQKC3wIuvqUsBKSAF6kmBxx9\/3Bx44IGNGnKvXr3MCSecYHr27Nmg3t\/+9jdz2WWXNao9v\/Ctt95q1llnnUbVf\/TRR82ZZ55p\/vOf\/1Stt80225hjjz3WQus8x5w5c8ynn35amiLAe8kll8zzlDU3KSAFpIAUkAJSQApIASkgBaRAkygg0NsksqpRKSAFpIAUSFuBWkCvG8Opp55q9tlnn7IhZQ16n3zySTN48OBGyUJW8v33328WXXTRRtWrp8JHHnmknaOLbbfd1lx88cX1NAWNVQpIASkgBaSAFJACUkAKSAEp0CwUEOhtFsugQUgBKSAFpEA1BZKAXtp++OGHzaqrrlrqJkvQ+9FHH5nNN9\/cfPvtt9Wm2eD6+uuvb6677jrTsmXLRtethwqHHXaYeeihhwR662GxNEYpIAWkgBSQAlJACkgBKSAFmrUCAr3Nenk0OCkgBaSAFHAKhIHeTTfd1HTp0qUkEkD1kUceCQWqW221VZlVQxjo3WmnncyCCy4YS3Syc1daaaVYZW+88UZz2mmnlZUF4O6www7mD3\/4g2nXrp15++23zXPPPReazXr33XebNddcM1Zf9VZIoLfeVkzjlQJSQApIASkgBaSAFJACUqC5KiDQ21xXRuOSAlJACkiBMgXCQO\/IkSMtLPXj559\/Nk899VQDP18OTpswYUKpaBjoffHFF02HDh1SV\/6ggw4yjz32WKndlVde2Tz44INmgQUWaNAX3r\/HH3982edA4r333rvquH799Vfz8ccfm5kzZxoOpeNgt8ZkAuOXO336dPPZZ5+Zzp07mxVWWCHyMLuowXzzzTe2Df7fsWNHe2AdvrtRkRT0fvLJJ4aD+ubOnWvWXXfdBt2gCWXee+8988MPP1j\/X8bUtm3bqnqqgBSQAlJACkgBKSAFpIAUkAJSoJ4UEOitp9XSWKWAFJACBVYgLuh1Eh1wwAHmiSeeKFNs8uTJpnXr1vazLEEvmcczZswojWW77bYzF154Yehqfvfdd6Zbt25l14DZQG0XHNQGzHVx7rnnWoB5xhlnmDfeeKOs7oYbbmg\/r3SoG9YJI0aMaHBIHICWjONBgwYZMpCj4pdffjGjR482N9xwQ+hBcxtssIFhPdZbb70SOAbwcijdO++8U5aBTZ+AcOL888+3\/8a64oILLih1j4\/viSeeaIYPH25uu+02+znlfJj+wQcf2Czq4B5wjTAfMriDDwoKfItp6lJACkgBKSAFpIAUkAJSQArUuQICvXW+gBq+FJACUqAoCjQW9J5yyinm73\/\/e5k848aNM8svv7z9LEvQu\/\/++9ssYxfAzDFjxpju3buHLh8Zqj\/99FPp2mKLLWbat29f+hp4CyR18ac\/\/anBXIMNX3rppWbrrbcu+\/jrr782J598ctlhaFH76dBDDzXDhg1rcHn27NnmL3\/5i3n22WerbkUOXuM\/IjiHsMr33Xef1Si4VoDuzz\/\/3EycOLFUzQe9Y8eONcccc0wsT2TW5oQTTmh05nLVyaqAFJACUkAKSAEpIAWkgBSQAlIgYwUEejMWXN1JASkgBaRAbQo0FvRidYDnrR+AQTJfiTDQS0ZqnFf6sTWoZEcQnOGoUaPMRRdd1GDiwM5+\/fqZ3r17W6uE+eabL5Y4cSBpWEPjx4+3dgou\/vrXv9os3LhBhu2OO+5YVnyPPfYoA67V2rrqqqvMZpttlgj0hvXhQC8+zX379q02jLLr11xzjV0HhRSQAlJACkgBKSAFpIAUkAJSoJ4VEOit59XT2KWAFJACBVIgLujFhxUrgmD2KWAWW4MWLVpY1cJAb1w5L7vsMsPhbnEDwAwQrRSMD4sDfGaxS+jatWtk8Uqgd5NNNjGzZs0yU6ZMaVAfqwLmTXD4GxYIfjCGAw880MJw\/Izvv\/\/+suvLLrusefrpp0sakqVMRmwwGN9qq61mnnnmmQbjWGeddQw+xLRNRjGZzW+99VapCfrA03j++ec322+\/vbXaiLNWDvRecsklZTYXNLz55pvbbOZvv\/3WPP\/883Z\/+HH44YeboUOHxl1OlZMCUkAKSAEpIAWkgBSQAlJACjRLBQR6m+WyaFBSQApIASkQVCAM9Pbq1cusvfbapaIffvhhpA1B0Bc3DjyMWoXGgl7aCQOQlVaZuR188MFm4403bpDpGwZ6sTPAx9cd8AbMxAc3GC+88IJZYokl7LUg8OSAOB8wn3POOebKK68sa+LOO+80PXv2tJ\/RZxAo+9mxQHdsJV555ZWyNiZNmlTKiI5zGFvUWgFwgdXYcQCpOXwuePAdwNmfJ4e2oR+Zvy6A49dee61uOikgBaSAFJACUkAKSAEpIAWkQF0rINBb18unwUsBKSAFiqNAGOhtzOzx6\/Vf6c8a9P76668Gn1zAKZmlcQNbB+wVWrVqVaoSBL2LL764efLJJ02bNm3KmuXAMjJm\/XCgFi182Ek\/N998c1lZvIIBzX5gicEhZ2GHxgFdL7744rLyZO46X153wYfFtYLeXXfd1Zx11lkNIDhewe+9915pDBxs58A0kPe1114z++23X9kahM097vqonBSQAlJACkgBKSAFpIAUkAJSoLkoINDbXFZC45ACUkAKSIGKCiQBvf4hYK6TMNC75pprmgUXXLDqShx11FHWXqGWmDNnjmEuHAwHnI0DfQcNGmQPTXMRBL077LBDA7sCypJJO3DgwLJhXnjhhWaLine truncated
%---
%[output:506ce9c9]
% data: {"dataType":"text","outputData":{"text":" <strong>name<\/strong> <strong>lastModifiedDatestr<\/strong> <strong>sample<\/strong> \n <strong>_________________________<\/strong> <strong>________________________<\/strong> <strong>_______________<\/strong>\n\n {'0035035_O1s_900eV.ibw'} {'27-Feb-2022 19:46:48'} {'Ice with N2'}\n {'0056056_O1s_900eV.ibw'} {'28-Feb-2022 12:15:48'} {'Ice with N2'}\n {'0060060_O1s_900eV.ibw'} {'28-Feb-2022 12:47:15'} {'Ice with N2'}\n\n","truncated":false}}
%---
%[output:5432d349]
% data: {"dataType":"text","outputData":{"text":" <strong>name<\/strong> <strong>sampleTemp_dC<\/strong> <strong>cellPressure_mbar<\/strong>\n <strong>_________________________<\/strong> <strong>_____________<\/strong> <strong>_________________<\/strong>\n\n {'0035035_O1s_900eV.ibw'} -22.031 1.4358 \n {'0056056_O1s_900eV.ibw'} -39.039 1.4357 \n {'0060060_O1s_900eV.ibw'} -39.003 1.4216 \n\n","truncated":false}}
%---
%[output:15414432]
% data: {"dataType":"image","outputData":{"dataUri":"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAABXoAAANsCAYAAADlaRC9AAAAAXNSR0IArs4c6QAAIABJREFUeF7snQncTVX7\/m+hPAoPiUqKKEQkFUVlqDQhQkWS5gyFhqdJhlSUKEU08Da8Kc0kSUkZXqnQQPoZ4y0l8YTelMr\/fy3v2u86++x9zj7DPufsfa778\/Ep56y9hute+8F33\/taJfbs2bNHGFSAClABKkAFqAAVoAJUgApQASpABagAFaACVIAKUAEqEFgFShD0BjZ3nDgVoAJUgApQASpABagAFaACVIAKUAEqQAWoABWgAlRAKUDQy41ABagAFaACVIAKUAEqQAWoABWgAlSAClABKkAFqAAVCLgCBL0BTyCnTwWoABWgAlSAClABKkAFqAAVoAJUgApQASpABagAFSDo5R6gAlSAClABKkAFqAAVoAJUgApQASpABagAFaACVIAKBFwBgt6AJ5DTpwJUgApQASpABagAFaACVIAKUAEqQAWoABWgAlSAChD0cg9QASpABagAFaACVIAKUAEqQAWoABWgAlSAClABKkAFAq4AQW\/AE8jpUwEqQAWoABWgAlSAClABKkAFqAAVoAJUgApQASpABQh6uQeoABWgAlSAClABKkAFqAAVoAJUgApQASpABagAFaACAVeAoDfgCeT0qQAVoAJUgApQASpABagAFaACVIAKUAEqQAWoABWgAgS93ANUgApQASpABagAFaACVIAKUAEqQAWoABWgAlSAClCBgCtA0BvwBHL6VIAKUAEqQAWoABWgAlSAClABKkAFqAAVoAJUgApQAYJe7gEqQAWoABWgAlSAClABKkAFqAAVoAJUgApQASpABahAwBUg6A14Ajl9KkAFqAAVoAJUgApQASpABagAFaACVIAKUAEqQAWoAEEv9wAVoAJUgApQASpABagAFaACVIAKUAEqQAWoABWgAlQg4AoQ9AY8gZw+FaACVIAKUAEqQAWoABWgAlSAClABKkAFqAAVoAJUgKCXe4AKUAEqQAWoABWgAlSAClABKkAFqAAVoAJUgApQASoQcAUIegOeQE6fClABKkAFqAAVoAJUgApQASpABagAFaACVIAKUAEqQNDLPUAFqAAVoAJUgApQASpABagAFaACVIAKUAEqQAWoABUIuAIEvQFPIKdPBagAFaACVIAKUAEqQAWoABWgAlSAClABKkAFqAAVIOjlHqACVIAKUAEqQAWoABWgAlSAClABKkAFqAAVoAJUgAoEXAGC3oAnkNOnAlSAClABKkAFqAAVoAJUgApQASpABagAFaACVIAKEPRyD1ABKkAFqAAVoAJUgApQASpABagAFaACVIAKUAEqQAUCrgBBb8ATyOlTASpABagAFaACVIAKUAEqQAWoABWgAlSAClABKkAFCHq5B6gAFaACVIAKUAEqQAWoABWgAlSAClABKkAFqAAVoAIBV4CgN+AJ5PSpABWgAlSAClABKkAFqAAVoAJUgApQASpABagAFaACBL3cA1SAClABKkAFqAAVoAJUgApQASpABagAFaACVIAKUIGAK0DQG\/AEcvpUgApQASpABagAFaACVIAKUAEqQAWoABWgAlSAClABgl7uASpABagAFaACVIAKUAEqQAWoABWgAlSAClABKkAFqEDAFSDoDXgCOX0qQAWoABWgAlSAClABKkAFqAAVoAJUgApQASpABagAQS\/3ABWgAlSAClABKkAFqAAVoAJUgApQASpABagAFaACVCDgChD0BjyBnD4VoAJUgApQASpABagAFaACVIAKUAEqQAWoABWgAlSAoJd7gApQASpABagAFaACVIAKUAEqQAWoABWgAlSAClABKhBwBQh6A55ATp8KUAEqQAWoABWgAlSAClABKkAFqAAVoAJUgApQASpA0Ms9QAWoABWgAlQgzQr89ttvUlBQkOZe2R0VoAJUgApQASpABagAFaACVIAKUAF3BQh6uTuoABWgAlQgKwps2LBB5s6dG3fsAw44QKpXry6HHXaYHHzwwVKiRAnHaz777DNZvnx53P7cGpx11lmq\/0Tjjz\/+kKlTp8qiRYtk7dq1snLlStXF\/vvvL3Xr1pWjjjpKunXrJg0aNEi0a7anAlSAClABKkAFqAAVoAJUgApQASrgWQGCXs9SsSEVoAJUgAqkU4H33ntPrrnmmoS6bNKkidxxxx3SuHHjqOtGjRol48ePT6g\/s\/FLL70kJ554YkLXv\/vuuzJ8+HD597\/\/Hfe6c889V4qKihS0DnPs2LFDtmzZYi0RwLtKlSphXjLXRgWoABWgAlSAClABKkAFqAAVyAkFCHpzIg2cBBWgAlQg\/xRIBvRqlQYPHiw9e\/aMEC3ToHfOnDly1VVXJZQ4VCVPnz5dKlSokNB1QWp84403qjXqOO+88+TRRx8N0hI4VypABagAFaACVIAKUAEqQAWoQCAVIOgNZNo4aSpABahA8BVIBfRi9e+8844cffTRlhCZBL0\/\/PCDnHnmmfLrr78mnIgWLVrIpEmTpFSpUglfG4QL+vbtK2+\/\/TZBbxCSxTlSASpABagAFaACVIAKUAEqECoFCHpDlU4uhgpQASoQHAWcQG+bNm2kTp061iIAVGfNmuUIVM8+++wIqwYn0NupUyfZb7\/9PImC6tyaNWt6avvss8\/KkCFDItoC4F5wwQVy0kknSWFhoXz99dcyf\/58x2rW119\/XRo1auRprKA1IugNWsY4XypABagAFaACVIAKUAEqQAXCogBBb1gyyXVQASpABQKmgBPoHT16tIKlZvz111\/ywQcfRPn54uC0hQsXWk2dQO\/ixYulcuXKaVfm2muvldmzZ1v91qpVS2bMmCH77rtv1Fjw\/r399tsjPgckvuyyy+LOa8+ePfLjjz\/Kxo0bBYfS4WC3RCqB4Ze7evVq+fnnn6V27dpyxBFHuB5m5zaZnTt3qj7w30MOOUQdWAffXbdIFfT+9NNPgoP6\/vzzT2natGnUMNAEbb799lv5\/ffflf8v5lS+fPm4erIBFaACVIAKUAEqQAWoABWgAlQgzAoQ9IY5u1wbFaACVCCHFfAKevUSrr76ann\/\/fcjVrR8+XIpKChQn2US9KLyeN26ddZc2rVrJ4888oij2r\/99pvUr18\/4jvAbEBtHTioDTBXxwMPPKAA5j333CNffPFFxLWnnXaa+jzWoW6wThgxYkTUIXEAtKg47tWrl6AC2S3+\/vtvmTx5sjzzzDOOB82deuqpgnw0b97cAscAvDiUbs2aNREV2BgTIBzx0EMPqf+HdcWYMWOs4eHje+edd8q9994rU6dOVZ+jnQnTv\/vuO1VFbd8DuhOsBxXc9gcFOXwLcGpUgApQASpABagAFaACVIAKUIG0KkDQm1Y52RkVoAJUgAp4VSBR0Hv33XfL888\/H9H93Llz5fDDD1efZRL0XnnllarKWAdg5pQpU6RBgwaOy0eF6u7du63vKlasKJUqVbJ+D3gLSKrj0ksvjVqrveNx48bJOeecE\/Hx9u3bZdCgQRGHobnlo0+fPnLTTTdFfb1582a55ZZbZN68eXFTiYPX8AthX4PTxdOmTVMa2XMF0L1161ZZtGiRdZkJemfOnCm33nqrJ09k5OaOO+5IuHI57mLZgApQASpABagAFaACVIAKUAEqkOMKEPTmeII4PSpABahAWBVIFPTC6gCet2YADKLyFeEEelGR6uWVftgaxLIjsOfg4YcflrFjx0alBrCzdevW0qxZM2WVsM8++3hKnxdI6tTRggULlJ2CjqFDh6oqXK+BCtuOHTtGNO\/WrVsEcI3X1xNPPCFnnHFGSqDXaQwNeuHTfMopp8SbRsT3Tz31lMoDgwpQASpABagAFaACVIAKUAEqkE8KEPTmU7a5VipABahADingFfTChxVWBPbqU4BZ2BqUKFFCrcoJ9Hpd7vjx4wWHu3kNAGYA0ViB+cHiAD6zsEuoV6+ea\/NYoLdVq1ayadMmWblyZdT1sCrAuhE4\/A0WCGZgDtdcc42C4fAznj59esT3hx12mHz44YeWhqhSRkWsPTC\/unXrykcffRQ1jxNPPFHgQ4y+UVGMyuYVK1ZYXWAMeBqXLFlSOnTooKw2vORKg97HHnsswuYCHZ955pmqmvnXX3+Vf\/3rX2p\/mNGvXz8ZMGCA13SyHRWgAlSAClABKkAFqAAVoAJUIBQKEPSGIo1cBBWgAlQgeAo4gd4mTZrICSecYC3m+++\/d7UhsPvieoGHbiolCnrRjxOAjJUFrO3666+Xli1bRlX6OoFe2BnAx1cf8AaYCR9ce3z88cdy0EEHqe\/swBMHxJmAeeTIkTJx4sSILl599VVp3Lix+gxj2oGyWR0L6A5bic8++yyijy+\/\/NKqiPZyGJtbrgBwAathxwFIjcPn7AffATib68ShbdAPlb86AMeffvrp4N0UnDEVoAJUgApQASpABagAFaACVCAFBQh6UxCPl1IBKkAFqEDyCjiB3kR6g1+v+Up\/pkHvnj17BD65AKeoLPUasHWAvULp0qWtS+yg98ADD5Q5c+ZIuXLlIrrFgWWomDVDg1poYcJOjPPCCy9EtIVXMECzGbDEwCFnTofGAbo++uijEe1Ruat9efUXJixOFvR27dpV7rvvvigIDq\/gb7\/91poDDrbTYBqQd+nSpXLFFVdE5MBp7V7zw3ZUgApQASpABagAFaACVIAKUIGgKkDQG9TMcd5UgApQgYArkAroNQ8B0zI4gd5GjRrJfvvtF1epgQMHKnuFZGLHjh2CteBgOMBZL9C3V69e6tA0HXbQe8EFF0TZFaAtKmm7dOkSMc1HHnlEzjrrrChrCMBi2CrY45133on4qGHDhvLGG2\/I2rVrldeuGXfddZeCLine truncated
%---
%[output:93ebe7fc]
% data: {"dataType":"image","outputData":{"dataUri":"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAABXoAAANsCAYAAADlaRC9AAAAAXNSR0IArs4c6QAAIABJREFUeF7snQfYFNX5vo8CKhqlqNh7A8GCJaioEEvQqFgi9t6lxBbFhoqigg3FEksUWyzYxQYoooIaa+wYii2WnxJALLH7v+6T\/5mcnW9md7bP7D7vdXEpu3Pa8575gHveec58v\/76669GIQWkgBSQAlJACkgBKSAFpIAUkAJSQApIASkgBaSAFJACmVVgPoHezOZOE5cCUkAKSAEpIAWkgBSQAlJACkgBKSAFpIAUkAJSQApYBQR6tRGkgBSQAlJACkgBKSAFpIAUkAJSQApIASkgBaSAFJACGVdAoDfjCdT0pYAUkAJSQApIASkgBaSAFJACUkAKSAEpIAWkgBSQAgK92gNSQApIASkgBaSAFJACUkAKSAEpIAWkgBSQAlJACkiBjCsg0JvxBGr6UkAKSAEpIAWkgBSQAlJACkgBKSAFpIAUkAJSQApIAYFe7QEpIAWkgBSQAlJACkgBKSAFpIAUkAJSQApIASkgBaRAxhUQ6M14AjV9KSAFpIAUkAJSQApIASkgBaSAFJACUkAKSAEpIAWkgECv9oAUkAJSQApIASkgBaSAFJACUkAKSAEpIAWkgBSQAlIg4woI9GY8gZq+FJACUkAKSAEpIAWkgBSQAlJACkgBKSAFpIAUkAJSQKBXe0AKSAEpIAWkgBSQAlJACkgBKSAFpIAUkAJSQApIASmQcQUEejOeQE1fCkgBKSAFpIAUkAJSQApIASkgBaSAFJACUkAKSAEpINCrPSAFpIAUkAJSQApIASkgBaSAFJACUkAKSAEpIAWkgBTIuAICvRlPoKYvBaSAFJACUkAKSAEpIAWkgBSQAlJACkgBKSAFpIAUEOjVHpACUkAKSAEpIAWkgBSQAlJACkgBKSAFpIAUkAJSQApkXAGB3ownUNOXAlJACkgBKSAFpIAUkAJSQApIASkgBaSAFJACUkAKCPRqD0gBKSAFpIAUkAJSQApIASkgBaSAFJACUkAKSAEpIAUyroBAb8YTqOlLASkgBaSAFJACUkAKSAEpIAWkgBSQAlJACkgBKSAFBHq1B6SAFJACUkAKSAEpIAWkgBSQAlJACkgBKSAFpIAUkAIZV0CgN+MJ1PSlgBSQAlJACkgBKSAFpIAUkAJSQApIASkgBaSAFJACAr3aA1JACkgBKSAFpIAUkAJSQApIASkgBaSAFJACUkAKSIGMKyDQm\/EEavpSQApIASkgBaSAFJACUkAKSAEpIAWkgBSQAlJACkgBgV7tASkgBaSAFJACUkAKSAEpIAWkgBSQAlJACkgBKSAFpEDGFRDozXgCNX0pIAWkgBSQAlJACkgBKSAFpIAUkAJSQApIASkgBaSAQK\/2gBSQAlJACkgBKSAFpIAUkAJSQApIASkgBaSAFJACUiDjCgj0ZjyBmr4UkAJSQApIASkgBaSAFJACUkAKSAEpIAWkgBSQAlJAoFd7QApIASkgBaSAFJACUkAKSAEpIAWkgBSQAlJACkgBKZBxBQR6M55ATV8KSAEpIAWkgBSQAlJACkgBKSAFpIAUkAJSQApIASkg0Ks9IAWkgBSQAlJACkgBKSAFpIAUkAJSQApIASkgBaSAFMi4AgK9GU+gpi8FpIAUkAJSQApIASkgBaSAFJACUkAKSAEpIAWkgBQQ6NUekAJSQApIASkgBaSAFJACUkAKSAEpIAWkgBSQAlJACmRcAYHejCdQ05cCUkAKSAEpIAWkgBSQAlJACkgBKSAFpIAUkAJSQAoI9GoPZFKBTz\/91Hz22WeRc+\/UqZNZbrnlMrkuTVoKSAEpIAWkgBSQAlJACkgBKSAFpIAUkAJSQAqUooBAbymqqU3dFRg0aJC54oorIucxePBgM3z48LrPUROQAlJACkgBKSAFpIAUkAJSQApIASkgBaSAFJACtVJAoLdWSmuciirw+9\/\/3kyYMMEMHDiwRb\/bbbed2WGHHSo6njqTAlJAChSjwH\/+8x\/Ttm3bYproWikgBaSAFJACUkAKSAEpIAWkgBSQAmUpINBblnxqXC8FllpqKbPSSiuZF154oV5T0LhSQAqUqcCHH35oJk2aVLCX3\/zmN2aFFVYwyy+\/vFl66aXNfPPNF9nm5ZdfNm+99VbB\/uIu4AES\/RcbP\/zwgxkzZox5\/vnnzcyZM83UqVNtF4sssojp3LmzWWONNcw+++xjunXrVmzXul4KSAEpIAWkgBSQAlJACkgBKSAFpEBiBQR6E0ulC9OiwLfffmsByoEHHmhuvPHGtExL85ACUqBIBR5\/\/HFzxBFHFNVqww03NKeeeqrp3r17i3YXXXSRueqqq4rqz7\/4zjvvNBtvvHFR7cePH2+GDRtm\/vWvfxVs94c\/\/MFgLQO0buT46quvzKxZs4Il8vMa73SFFJACUkAKSAEpIAWkgBSQAlJAClRXAYHe6urbtL1zWBrBP+5btWqVSIfvv\/\/eHrDWvn17065du9g277zzjll77bXN\/vvvb1ZddVXz+uuvW\/C70UYbmcMOO8z+v0IKSIH0K1AK6HWrOvPMM+3DHj9qDXonTpxof+YUE1Qljx07Nu\/PuGL6S+O1xxxzjF2jC6x0Lr\/88jROVXOSAlJACkgBKSAFpIAUkAJSQAo0lAICvQ2VznQs5u233zZdu3a1k3nllVciK+\/8mU6ePNkMGTIk5xXuDTbYwPzud7+zHrwrr7xyzsIefvhhs+OOO0YuFojy5JNPmtVXXz0dYmgWUkAKxCpQDuil08cee8ysueaaQf+1BL08lNp2223NN998U3SGN998c3PDDTeY1q1bF902Cw34uf3II48EUxXozULWNEcpIAWkgBSQAlJACkgBKSAFGkEBgd5GyGLK1nDyySebESNGJAK9d9xxh9l7771jVwC4\/fvf\/26WXXbZ4JorrrjCDBo0yACDr7vuOgt6AEZAnilTpthXr2kT5+OZMrk0HSnQtApEgd6tt97arLXWWoEmANVx48ZFAlUOXvStGqJA72677WYWXHDBRBpTnbvKKqskuvbmm282Z511Vs61ANxddtnF\/Pa3v7VvJvD2AQ+yoqpZ77vvPrPeeuslGitrFwn0Zi1jmq8UkAJSQApIASkgBaSAFJACjaKAQG+jZDIF68B64dZbb815lTlfRa9f+cv0d9ppJ9O3b1\/DwUb333+\/mTBhgl0VIPfZZ581iy++uP393LlzDdYQK664Yo5Nw5w5c+wBbfhDzpgxw9o6KKSAFEivAlGg95JLLrGw1I+ff\/7ZVuqH\/Xw5OI2fDS6iQC8HNi6xxBIVF+HII48MfkbR+WqrrWZ422CBBRZoMRbev6ecckrO50DiAw44oOC8fv31V\/N\/\/\/d\/5qOPPjIcSsfBbsVUAvPzcPr06ebf\/\/63fdOBn5HFPgT7+uuvbR\/8d5lllrEH1uWzyCkX9H7xxReGg\/p++ukn06NHjxYaoQnXfPDBB4Y\/d7AIYk6LLbZYQT11gRSQAlJACkgBKSAFpIAUkAJSoJEVEOht5OzWYG3fffedOe2004LKNaCCH\/lA77777mtuu+02e\/lBBx1kRo8eHTQF7PC6L5V8xIUXXmj+\/Oc\/F1wRdg+TJk2yFb5UBiqkgBRIrwJJQa9bweGHH26eeOKJnAW99dZbpm3btvazWoJefr689957wVx4UHXZZZdFiv2f\/\/wnsLNxFwCzgdouOKgNmOviggsusADznHPOsT7kfmy55Zb283yHumGdMHz48BaHxAFoqTg++OCDDRXIcfHLL7\/Yn8k33XRT5EFzW2yxhSEfPXv2DMAxgJdD6XjQ5ltaMCYgnLj44ovt\/2NdMXLkyGB4ft7zZ8m5555rxowZYz\/nOvfAj99\/\/PHHtoo6vAdcJ6yHCu7wg4L03gGamRSQAlJACkgBKSAFpIAUkAJSoLIKCPRWVs+m643q2g4dOsSuOw70zp49O6jQXXTRRW11Vvj1av5Rj3UDse6665rXXnvN\/j8wgCqu8847L6d6DugMGAE2T506Nef176ZLjBYsBTKgQLGg94wzzrBvDfjBgx2q+4lagt5DDz3UVhm7AGbefvvtplu3bpHKU6H6448\/Bt\/xc7Njx47B74G3QFIX++23X4u1hju+8sorzfbbb5\/z8bx586znuX8YWtxWGDBggDnhhBNafP3555+bE0880TzzzDMFdxEHr\/GLCK8hqvGDDz5oNQrnCtDNnwvPP\/980MwHvY8++qg56aSTEnkik5tTTz216MrlgovVBVJACkgBKSAFpIAUkAJSQApIgZQrINCb8gRVe3q8AkuFFP9Az1cBy3VDhw41m222mfn9738fTAu4etxxx+VMc\/z48WbmzJn2szjQ6x+oduCBB5obb7wxcqkc6obFAzFt2jT76jFzBUAAVfbaa6+g3V133WX22GMPC3uBxMW83lxtndW\/FJACLRUoFvRidYDnrR+AQe55Igr0UpGa5JV+frbksyMIz\/7SSy81o0aNarEofj5ttdVWZpNNNrE\/r+aff\/5EqU8CSaM6wpccOwUX\/JxmzUmDCttdd9015\/J99tknB7gW6uvaa68122yzTVmgN2oMB3rxaebPnmLir3\/9q82DQgpIASkgBaSAFJACUkAKSAEp0EwKCPQ2U7Yj1uofnBZndwDkxTbBvWaMnYIPe8PdHn300ebqq6+2H8eBXqqtzj\/\/fHtNGNj6\/QGRASoEr+vyD3cHdPmM7\/Hwff\/994MD4PL11+Tp1vKlQKoUSAp6qeDHiiBcfQqYxdbAec5Ggd6kC+ZQNw53SxoAZoBovmB+WBzgM4tdQpcuXWIvzwd6saTBl5w3FcKBVQHrLine truncated
%---
File diff suppressed because it is too large. Load diff
@@ -1,58 +0,0 @@
%% Fitting spectra with Gauss
%
% The nappFitGaussXps.m allows to set-up your own model reflecting the
% physics of your peaks. Here is an example. Check the documentation. This
% needs some test-and try.
%% SES #0157 Ar2p (gas-phase reference)
%
% * Core level: Ar 2p, file 0157157_Ar2p_850eV.
% * Model: Gaussian spin–orbit doublet, splitting fixed at 2.2 eV, area ratio 0.5.
% * Peak 1 area: initial 1e5; lower bound 10; upper bound Inf.
% * Peak 1 width: initial 0.5 eV; bounds 0.5–3 eV.
% * Peak 1 position: initial 603 eV; bounds 602–604 eV.
% * Background: linear, 8 eV window below and 5 eV above the peak.
clc
close all
tmpDataSelection = month(FileList.lastModifiedDatenum) == 11 ...
& year(FileList.lastModifiedDatenum) == 2025 ...
& ~contains(FileList.sample,"(bad data)") ...
& ~contains(FileList.name,"Survey") ...
& ~contains(FileList.name,"Resonant") ...
& startsWith(FileList.name,"0157") ...
& contains(FileList.name, "Ar2p");
FileList = nappGenerateSpectra(FileList,tmpDataSelection);
disp(FileList(tmpDataSelection,{'name','lastModifiedDatestr','scientaPassEnergy_eV'}))
% Defining the mode as 'widthPositionAreaRatio', the first element of the input
% parameters defines the first peak (initial value, upper and lower bond for
% fitting) in absolute terms. The second element is then the area ratio
% relative to the first, and the position relative to the first.
tmpFitParameters.peakArea = [1e5 0.5 0.1 0.1 0.1] ;
tmpFitParameters.peakWidth = 0.5;
tmpFitParameters.peakPos = [603 -2.2 10 10 10];
tmpFitParameters.peakAreaUpperBond = [Inf 0.5 0.1 0.1 0.1];
tmpFitParameters.peakWidthUpperBond = [3 NaN NaN NaN NaN];
tmpFitParameters.peakPosUpperBond = [604 -2.2 10 10 10];
tmpFitParameters.peakAreaLowerBond = [10 0.5 0.1 0.1 0.1];
tmpFitParameters.peakWidthLowerBond = [0.5 NaN NaN NaN NaN];
tmpFitParameters.peakPosLowerBond = [602 -2.2 0.1 0.1 0.1];
% spectrum range
tmpFitParameters.backgroundRange = [8 5];
FileList= nappFitGaussXps(FileList,tmpFitParameters,tmpDataSelection,...
'energyScale','kinetic','mode','widthPositionAreaRatio','showFigures','on');
%% RESULTS – SES 0157 Ar2p (gas-phase reference)
% The gas‑phase Ar2p reference is well described by the doublet: peak 1 at
% 603.0 eV and peak 2 at 600.8 eV (FWHM ≈ 1.2 eV, width 1.0 eV) match both
% the height and the base of the experimental lines. The residuals are very small and essentially
% structureless over the full fit range, indicating that, in contrast to
% the Cl2p fits, a simple Gaussian doublet provides an excellent and
% internally consistent description of the Ar2p line shape.
@@ -1,311 +0,0 @@
%% Generate Spectra
%
% Here we plot all spectra and all regions to confirm that we get what we
% need.
%
% This file shows some typical out-of-the-box examples.
%% Start fresh
clc
close all
clearvars
%% Import Data
%
% This was generated by importData.m. You can either force that it runs
% again before this script runs (preferred, ensures you always have recent
% data in MATLAB's data table) or load the FileList.
run('importData.m')
% load("FileList.mat","FileList")
%% Plot a Survey
for ii = 1
%% Start fresh
close all
clc
%% Select data
% It is convenient to add date and year of the beamtime. This ensures you
% can use the code also when you work with data from several beamtimes
% (indexing of the files starts with 0 for each beamtime by default).
tmpDataSelection = month(FileList.lastModifiedDatenum) == 11 ...
& year(FileList.lastModifiedDatenum) == 2025 ...
& ~contains(FileList.sample,"(bad data)") ...
& contains(FileList.name,"Survey") ...
& (contains(FileList.name,"128"));
% Always ensure that you select the spectra you intended.
disp(FileList(tmpDataSelection,{'name','lastModifiedDatestr'}))
%% Generate spectrum and plot
FileList = nappGenerateSpectra(FileList,tmpDataSelection);
nappPlot(FileList,tmpDataSelection,'tableVariable','spectrum_countsPerSecond','mode','OneEach');
%% Add annotation to the figure
%
% In a survey, we usually want to identify all peaks. Here, based on
% binding energies from the literature and a shift, we add common regions:
%
% **Note that the binding energies are rough estimates – to use this further
% we need to confirm them and add the source/reference.**
dataObjs = findobj(gcf,'-property','YData');
tmpxShift = 7;
tmpxRayEnergy = 850;
tmpyPosition = 0.5E5;
tmpyPositionTwo = 0.8E5;
% Au peaks
%nappAnnotateSurvey(tmpxRayEnergy-57-tmpxShift,tmpyPosition-tmpyPositionTwo,dataObjs(1),'Au5p3/2');
%nappAnnotateSurvey(tmpxRayEnergy-74-tmpxShift,tmpyPosition+tmpyPositionTwo,dataObjs(1),'Au5p5/2');
nappAnnotateSurvey(tmpxRayEnergy-84-tmpxShift,tmpyPosition,dataObjs(1),'Au4f7/2');
nappAnnotateSurvey(tmpxRayEnergy-88-tmpxShift,tmpyPosition-tmpyPositionTwo,dataObjs(1),'Au4f5/2');
%nappAnnotateSurvey(tmpxRayEnergy-107-tmpxShift,tmpyPosition,dataObjs(1),'Au5s');
%nappAnnotateSurvey(tmpxRayEnergy-335-tmpxShift,tmpyPosition+tmpyPositionTwo,dataObjs(1),'Au4d1/2');
%nappAnnotateSurvey(tmpxRayEnergy-353-tmpxShift,tmpyPosition,dataObjs(1),'Au4d3/2');
%nappAnnotateSurvey(tmpxRayEnergy-546-tmpxShift,tmpyPosition+tmpyPositionTwo,dataObjs(1),'Au4p3/2');
%nappAnnotateSurvey(tmpxRayEnergy-643-tmpxShift,tmpyPosition,dataObjs(1),'Au4p1/2');
nappAnnotateSurvey(tmpxRayEnergy-762-tmpxShift,tmpyPosition+tmpyPositionTwo,dataObjs(1),'Au4s');
nappAnnotateSurvey(tmpxRayEnergy-8-tmpxShift,tmpyPosition,dataObjs(1),'AuVB');
% Usual suspects
nappAnnotateSurvey(tmpxRayEnergy-285-tmpxShift,tmpyPosition+tmpyPositionTwo,dataObjs(1),'C1s');
nappAnnotateSurvey(tmpxRayEnergy-534-tmpxShift,tmpyPosition,dataObjs(1),'O1s');
nappAnnotateSurvey(tmpxRayEnergy-30-tmpxShift,tmpyPosition+tmpyPositionTwo,dataObjs(1),'O2s');
nappAnnotateSurvey(tmpxRayEnergy-405-tmpxShift,tmpyPosition+tmpyPositionTwo,dataObjs(1),'N1s');
%nappAnnotateSurvey(tmpxRayEnergy-495-tmpxShift,tmpyPosition,dataObjs(1),'Sn3d');
%nappAnnotateSurvey(tmpxRayEnergy-691-tmpxShift,tmpyPosition+tmpyPositionTwo,dataObjs(1),'F1s');
nappAnnotateSurvey(tmpxRayEnergy-295-tmpxShift,tmpyPosition,dataObjs(1),'K2p');
nappAnnotateSurvey(tmpxRayEnergy-380-tmpxShift,tmpyPosition+tmpyPositionTwo,dataObjs(1),'K2s');
nappAnnotateSurvey(tmpxRayEnergy-153-tmpxShift,tmpyPosition,dataObjs(1),'Si2s');
nappAnnotateSurvey(tmpxRayEnergy-100-tmpxShift,tmpyPosition+tmpyPositionTwo,dataObjs(1),'Si2p');
nappAnnotateSurvey(tmpxRayEnergy-197-tmpxShift,tmpyPosition,dataObjs(1),'Cl2p');
nappAnnotateSurvey(tmpxRayEnergy-271-tmpxShift,tmpyPosition,dataObjs(1),'Cl2s');
nappAnnotateSurvey(tmpxRayEnergy-286-tmpxShift,tmpyPosition-tmpyPositionTwo,dataObjs(1),'Sn3p');
% Clay
%nappAnnotateSurvey(tmpxRayEnergy-351-tmpxShift,tmpyPosition+tmpyPositionTwo,dataObjs(1),'Ca2p');
%nappAnnotateSurvey(tmpxRayEnergy-347-tmpxShift,tmpyPosition+tmpyPositionTwo,dataObjs(1),'Ca2p');
%nappAnnotateSurvey(tmpxRayEnergy-440-tmpxShift,tmpyPosition+tmpyPositionTwo,dataObjs(1),'Ca2s');
%nappAnnotateSurvey(tmpxRayEnergy-34-tmpxShift,tmpyPosition+tmpyPosition,dataObjs(1),'Ca3s');
%nappAnnotateSurvey(tmpxRayEnergy-26-tmpxShift,tmpyPosition+tmpyPositionTwo,dataObjs(1),'Ca3p');
%nappAnnotateSurvey(tmpxRayEnergy-297-tmpxShift,tmpyPosition+tmpyPositionTwo,dataObjs(1),'K2p');
%nappAnnotateSurvey(tmpxRayEnergy-294-tmpxShift,tmpyPosition+tmpyPositionTwo,dataObjs(1),'K2p');
%nappAnnotateSurvey(tmpxRayEnergy-35-tmpxShift,tmpyPosition+tmpyPositionTwo,dataObjs(1),'K3s');
%nappAnnotateSurvey(tmpxRayEnergy-19-tmpxShift,tmpyPosition+tmpyPositionTwo,dataObjs(1),'K3p');
nappAnnotateSurvey(tmpxRayEnergy-118-tmpxShift,tmpyPosition+tmpyPositionTwo,dataObjs(1),'Al');
nappAnnotateSurvey(tmpxRayEnergy-72.5-tmpxShift,tmpyPosition+tmpyPositionTwo,dataObjs(1),'Al');
% Ar gas
nappAnnotateSurvey(tmpxRayEnergy-245-tmpxShift,tmpyPosition+tmpyPositionTwo,dataObjs(1),'Ar2p');
nappAnnotateSurvey(tmpxRayEnergy-323-tmpxShift,tmpyPosition+tmpyPositionTwo,dataObjs(1),'Ar2s');
nappAnnotateSurvey(tmpxRayEnergy-12-tmpxShift,tmpyPosition+tmpyPositionTwo,dataObjs(1),'Ar3p');
% Some Auger
nappAnnotateSurvey(363,tmpyPosition-tmpyPositionTwo,dataObjs(1),'N KLL');
nappAnnotateSurvey(203,tmpyPosition-tmpyPositionTwo,dataObjs(1),'Ar LMN');
nappAnnotateSurvey(500,tmpyPosition-tmpyPositionTwo,dataObjs(1),'O KLL');
end
%% Plot NEXAFS & Resonant Data
%
% You can plot images (raw data from SES) without generating the spectra.
% (You can also first generate the spectra, but to plot images the spectra
% are not needed.)
for ii = 1
%% Start fresh
clc; close all
%% Select data
tmpDataSelection = ...
~contains(FileList.sample,"(bad data)") ...
& contains(FileList.name,"O_Kedge_Resonant") ...
& contains(FileList.name,"0025");
% Always ensure that you select the spectra you intended.
disp(FileList(tmpDataSelection,{'name','lastModifiedDatestr'}))
%% Plot images
% This one shows x, y in energy scales (data were interpolated).
nappPlot(FileList,tmpDataSelection,'tableVariable','image',...
'mode','OneEach');
% This one shows sweeps (original data).
nappPlot(FileList,tmpDataSelection,'tableVariable','image','energyScale','sweep');
%% Plot selected Auger-Meitner
%
% This plots the electron intensity vs. kinetic energy for chosen X-ray
% energies (directly from the image).
tmpDataSelection = month(FileList.lastModifiedDatenum) == 11 ...
& year(FileList.lastModifiedDatenum) == 2025 ...
& ~contains(FileList.sample,"(bad data)") ...
& contains(FileList.name,"O_Kedge_Resonant") ...
& contains(FileList.name,"0025");
nappPlot(FileList,tmpDataSelection,'tableVariable','image','mode','AugerMeitner','AugerMeitnerEnergies',[525,545,550]);
% It also shows an example of how the current plot can be edited manually
% after its generation by nappPlot.
hax = gca;
hax.XDir = 'reverse';
xlabel('Auger-Meitner binding energy [eV]');
%% Plot image interactive
%
% Use the mouse: click once in the image, then the Auger-Meitner and NEXAFS will
% follow the mouse position.
% Select data (Nov 2025, O_Kedge resonant, and file number 25):
tmpDataSelection = month(FileList.lastModifiedDatenum) == 11 ...
& year(FileList.lastModifiedDatenum) == 2025 ...
& ~contains(FileList.sample,"(bad data)") ...
& contains(FileList.name,"O_Kedge_Resonant") ...
& contains(FileList.name,"0025");
% Plot the selected data in an interactive figure:
nappPlot(FileList,tmpDataSelection,'tableVariable','image','mode','interactive');
%% Generate spectra and plot
FileList = nappGenerateSpectra(FileList,tmpDataSelection);
nappPlot(FileList,tmpDataSelection,'tableVariable','spectrum_counts',...
'mode','OneEach');
%% arrange figures
distFig
end
%% Plot iterations
for ii = 1
%% Select your data
%
% You can change the plotStep to show fewer iterations (for example 2 for every second one).
% However, the total number of sequence iterations needs to be a multiple of
% that factor. This is nice to follow a signal with time, e.g. upon dosing.
% It requires that each sequence iteration has long enough dwell time and
% iterations to give a signal with decent S/N.
%% Select data
close all; clc
tmpDataSelection = startsWith(FileList.name, "0191191_O1s_VB_525eV");
% List the selected files in the command window.
disp(FileList(tmpDataSelection,{'name','lastModifiedDatestr','scientaPassEnergy_eV'}))
%% Plot the iterations
nappPlot(FileList,tmpDataSelection,'tableVariable','image','mode','iterations','plotStep',6);
%% Modify the top figure
legend
distFig
end
%% Look at all regions
%
% To confirm you see what you expect or to change the experimental settings
% if not.
for ii = 1
%% Start fresh
close all
clc
% Filter data (select all regions of two files).
tmpDataSelection = month(FileList.lastModifiedDatenum) == 11 ...
& year(FileList.lastModifiedDatenum) == 2025 ...
& ~contains(FileList.sample,"(bad data)") ...
& ~contains(FileList.name,"Survey") ...
& ~contains(FileList.name,"Resonant") ...
& (contains(FileList.name,"146") | contains(FileList.name,"148"));
% List the selected files in the command window.
disp(FileList(tmpDataSelection,{'name','lastModifiedDatestr','scientaPassEnergy_eV'}))
%% Generate spectra and plot
FileList = nappGenerateSpectra(FileList,tmpDataSelection);
nappPlot(FileList,tmpDataSelection,'tableVariable','spectrum_countsPerSecond','mode','OneEach');
distFig
%% Discussion
%
% Your observation and comments could go here
end
%% Look at one region in detail
%
% To confirm you see what you expect or to change the experimental settings
% if not.
for ii = 1
%% Start fresh
clc; close all
%% Select data
tmpDataSelection = month(FileList.lastModifiedDatenum) == 11 ...
& year(FileList.lastModifiedDatenum) == 2025 ...
& ~contains(FileList.sample,"(bad data)") ...
& ~contains(FileList.name,"Survey") ...
& ~contains(FileList.name,"Resonant") ...
& (contains(FileList.name,"Al2p") | contains(FileList.name,"Cl2p")) ...
& (contains(FileList.name,"146") | contains(FileList.name,"148"));
% List the selected files in the command window.
disp(FileList(tmpDataSelection,{'name','lastModifiedDatestr'}))
%% Plot
FileList = nappGenerateSpectra(FileList,tmpDataSelection);
nappPlot(FileList,tmpDataSelection,'tableVariable','spectrum_countsPerSecond','mode','OneEach');
%% Normalize Cl2p intensity to that of Al2p
tmpDataSelection = month(FileList.lastModifiedDatenum) == 11 ...
& year(FileList.lastModifiedDatenum) == 2025 ...
& ~contains(FileList.sample,"(bad data)") ...
& ~contains(FileList.name,"Survey") ...
& ~contains(FileList.name,"Resonant") ...
& contains(FileList.name,"Cl2p") ...
& contains(FileList.name,"146");
FileList(tmpDataSelection,:).spectrum_countsPerSecond{:} = FileList(tmpDataSelection,:).spectrum_countsPerSecond{:} .* 22335./39687;
tmpDataSelection = month(FileList.lastModifiedDatenum) == 11 ...
& year(FileList.lastModifiedDatenum) == 2025 ...
& ~contains(FileList.sample,"(bad data)") ...
& ~contains(FileList.name,"Survey") ...
& ~contains(FileList.name,"Resonant") ...
& contains(FileList.name,"Al2p") ...
& contains(FileList.name,"146");
FileList(tmpDataSelection,:).spectrum_countsPerSecond{:} = FileList(tmpDataSelection,:).spectrum_countsPerSecond{:} .* 22335./39687;
%% Align to same background
tmpDataSelection = month(FileList.lastModifiedDatenum) == 11 ...
& year(FileList.lastModifiedDatenum) == 2025 ...
& ~contains(FileList.sample,"(bad data)") ...
& ~contains(FileList.name,"Survey") ...
& ~contains(FileList.name,"Resonant") ...
& contains(FileList.name,"Cl2p") ...
& (contains(FileList.name,"146") | contains(FileList.name,"148"));
FileList = nappBackground(FileList,647,648,'tableSelection',tmpDataSelection,'energyScale','kinetic',...
'mode','mean','showFigures','on');
%% Plot again
nappPlot(FileList,tmpDataSelection,'tableVariable','spectrum_countsPerSecond','mode','AllInOne');
% Optimize figure
xlim([647 652])
ylabel("counts [norm to Al]")
legend
distFig
end
%% Plot several spectra in one figure
clc; close all
for ii = 1
close all
clc
tmpDataSelection = month(FileList.lastModifiedDatenum) == 11 ...
& year(FileList.lastModifiedDatenum) == 2025 ...
& ~contains(FileList.sample,"(bad data)") ...
& contains(FileList.name, "Cl2p")...
& ~contains(FileList.name,"Survey") ...
& contains(FileList.name,"680eV") ...
& (contains(FileList.name,"77") | contains(FileList.name,"116") | contains(FileList.name,"130") | contains(FileList.name,"132") | contains(FileList.name,"133"));
FileList = nappGenerateSpectra(FileList,tmpDataSelection);
nappPlot(FileList,tmpDataSelection,'tableVariable','spectrum_countsPerSecond','mode','AllInOne');
disp(FileList(tmpDataSelection,{'name','lastModifiedDatestr','scientaRegionIterations','scientaSequenceIterations','scientaDwellTime_ms','scientaPassEnergy_eV'}))
end
%% helper functions
% Check if the environment is MATLAB or Octave
if exist('OCTAVE_VERSION', 'builtin')
% Anonymous function mimicking contains
contains = @(str, pattern) ~cellfun('isempty', strfind(str, pattern));
end
File diff suppressed because it is too large. Load diff
Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 67 KiB

@@ -1,51 +0,0 @@
%% 20251119 ISS BeamTime
%
% We do this for ALL spectra during each beamtime. The code here is just
% for illustration and sample names might not make sense.
%% Start fresh
close all
clearvars
clc
%% Import Data
FileList = nappFileList('2025/20251119_NappIss','mode','local','importLabView','off');
save("FileList.mat","FileList")
%% Add sample label
%
% Typical info includes: sample, gas environment, purpose, project.
FileList = addSampleNotes(FileList,0:3,'test, empty file',11,2025,".h5");
FileList = addSampleNotes(FileList,1,'test, empty file',11,2025,"XPS");
FileList = addSampleNotes(FileList,128,'this is a sample description',11,2025,"XPS");
FileList = addSampleNotes(FileList,[74,78,80,82,83,84,85,86], ...
'Al-oxide, water, optimize peak separation, Celia',11,2025,"XPS"); % not ideal E_kin windows
% List selected files
tmpDataSelection = startsWith(FileList.name, "0074");
% disp(FileList(tmpDataSelection,{'name','lastModifiedDatestr','sample'}))
%% Identify faulty data and files
%
% We use the phrase "(bad data)" at the end of the sample description to
% filter faulty files during the later analysis.
%
% Running addSampleNotes again will overwrite the old entry. If you want to
% keep notes on the sample and only add (bad data) at the end, you need to
% paste the whole text string:
FileList = addSampleNotes(FileList,[4,6,7,8,19,43],'(bad data)',11,2025,"XPS"); % data file corrupted
FileList = addSampleNotes(FileList,[74,78,80,82,83,84,85,86], ...
'Al-oxide, water, optimize peak separation, Celia (bad data)',11,2025,"XPS"); % not ideal E_kin windows
% List selected files
tmpDataSelection = startsWith(FileList.name, "0074");
% disp(FileList(tmpDataSelection,{'name','lastModifiedDatestr','sample'}))
%% Add photon energy
FileList = addPhotonEnergy(FileList,91:94,750,11,2025);
%% Save
%
% The FileList table holds data and metadata for all beamtime data. It is
% saved in a mat file for further use.
close all
clearvars -except FileList
save("FileList.mat","FileList")
@@ -1,151 +0,0 @@
function plotExportedData(dataDirectory)
%plotExportedData Plot all exported ASCII data files in one figure
%
% This function reads all .txt files from the exported data (created by
% exportFigureData) and plots them in a single figure for visual comparison.
% File names are parsed to extract axis labels and legend entries.
%
% SYNTAX:
% plotExportedData() % Uses current working directory
% plotExportedData(dataDirectory) % Uses specified directory path
%
% INPUTS:
% dataDirectory : char or string (optional)
% Path to directory containing exported .txt files.
% If omitted, uses current working directory (pwd).
%
% OUTPUT:
% A new figure with all data plotted as lines. Axis labels and legend
% entries are reconstructed from the file names.
%
% NOTES:
% - Reads all .txt files in the specified directory
% - File name format expected: <FigureTitle>_[<TileTitle>_]<YLabel>_vs_<XLabel>_<LineLabel>.txt
% - Plots are created with underscores converted back to spaces for display
% - X and Y axis labels are set based on parsed filename
% - Legend shows line labels from filenames
% - All data is plotted in a single axes for direct visual comparison
%
% EXAMPLE:
% % After running exportFigureData():
% plotExportedData()
% % or
% plotExportedData('../exported_data/')
% Handle input: use current directory if none provided
if nargin == 0 || isempty(dataDirectory)
dataDirectory = pwd;
end
% Get all .txt files in the directory
fileStruct = dir(fullfile(dataDirectory, '*.txt'));
if isempty(fileStruct)
warning('plotExportedData:NoFiles', 'No .txt files found in %s', dataDirectory);
return;
end
% Create a new figure
fig = figure('Name', 'Exported Data Comparison', 'NumberTitle', 'off');
ax = axes(fig);
hold(ax, 'on');
grid(ax, 'on');
% Storage for axis labels (to ensure consistency)
xLabelStr = '';
yLabelStr = '';
legendEntries = {};
% Loop over all .txt files
for ii = 1:length(fileStruct)
fileName = fileStruct(ii).name;
filePath = fullfile(dataDirectory, fileName);
% Read the data
try
data = readmatrix(filePath);
catch ME
warning('plotExportedData:ReadFailed', 'Could not read file: %s\n%s', fileName, ME.message);
continue;
end
% Check if data has at least 2 columns
if size(data, 2) < 2 || size(data, 1) < 1
warning('plotExportedData:InvalidData', 'File %s does not have valid X,Y columns', fileName);
continue;
end
xData = data(:, 1);
yData = data(:, 2);
% Parse filename to extract labels
% Expected format: <FigureTitle>_[<TileTitle>_]<YLabel>_vs_<XLabel>_<LineLabel>.txt
% Remove .txt extension
nameNoExt = fileName(1:end-4);
% Split by '_vs_' to separate y-axis label from the rest
parts = strsplit(nameNoExt, '_vs_');
if length(parts) >= 2
% Extract line label (after _vs_<XLabel>_)
rightPart = parts{2}; % <XLabel>_<LineLabel>
% Find the last underscore to separate XLabel from LineLabel
underscores = find(rightPart == '_');
if ~isempty(underscores)
lastUnderscore = underscores(end);
xLabelExtracted = rightPart(1:lastUnderscore-1);
lineLabel = rightPart(lastUnderscore+1:end);
else
xLabelExtracted = rightPart;
lineLabel = 'data';
end
% Extract y-axis label (before _vs_)
yLabelExtracted = parts{1};
% Remove figure title (first part before first underscore)
% This is tricky, so we'll keep what we have and note it's approximate
% Convert underscores back to spaces for display
xLabelDisplay = strrep(xLabelExtracted, '_', ' ');
yLabelDisplay = strrep(yLabelExtracted, '_', ' ');
lineLabel = strrep(lineLabel, '_', ' ');
% Store axis labels (use the first valid ones found)
if isempty(xLabelStr)
xLabelStr = xLabelDisplay;
end
if isempty(yLabelStr)
yLabelStr = yLabelDisplay;
end
else
% Fallback if filename parsing fails
lineLabel = nameNoExt;
end
% Plot the data
plot(ax, xData, yData, 'DisplayName', lineLabel, 'LineWidth', 1.5, 'Marker', 'o', 'MarkerSize', 4);
% Store legend entry
legendEntries{end+1} = lineLabel;
end
% Set axis labels
xlabel(ax, xLabelStr, 'Interpreter', 'none');
ylabel(ax, yLabelStr, 'Interpreter', 'none');
title(ax, 'Exported Data Comparison', 'Interpreter', 'none');
% Add legend
if ~isempty(legendEntries)
legend(ax, legendEntries, 'Interpreter', 'none', 'Location', 'best');
end
% Optimize figure appearance
grid(ax, 'on');
hold(ax, 'off');
fprintf('Plotted %d data files from: %s\n', length(fileStruct), dataDirectory);
end
-22
View File
@@ -1,22 +0,0 @@
%% Start fresh
close all
clearvars
clc
%% Import Data
FileList = nappFileList('2026/testImport','mode','local','importLabView','off');
%% Display Data
disp(FileList(:,{'name','creationDate','lastModifiedDatestr','image','originalFileName'}))
%% Plot images
nappPlot(FileList);
%% Plot iterations
close all
nappPlot(FileList,'tableVariable','image','mode','iterations');
%% Generate spectra and plot
close all
FileList = nappGenerateSpectra(FileList);
nappPlot(FileList,'tableVariable','spectrum_countsPerSecond','mode','OneEach');
%% Generate spectra, remove background and plot
close all
FileList = nappGenerateSpectra(FileList);
nappPlot(FileList,'tableVariable','spectrum_countsPerSecond','mode','OneEach');