diff --git a/ConductivityGroupBox.py b/ConductivityGroupBox.py index 9e6742f..0839720 100644 --- a/ConductivityGroupBox.py +++ b/ConductivityGroupBox.py @@ -2,7 +2,7 @@ # Form implementation generated from reading ui file 'ConductivityGroupBox.ui' # -# Created: Mon Apr 14 14:36:45 2014 +# Created: Tue Apr 15 15:17:02 2014 # by: PyQt4 UI code generator 4.10.4 # # WARNING! All changes made in this file will be lost! diff --git a/Container.py b/Container.py index 429f887..85a3406 100644 --- a/Container.py +++ b/Container.py @@ -6,7 +6,7 @@ import numpy as np import pyqtgraph as pg import ContainerWidgets import libyaff -from mathlib import Functions, id_to_color +from Mathlib import Functions, id_to_color __author__ = 'markusro' @@ -213,6 +213,7 @@ class YAFF(BaseObject): super(YAFF, self).__init__(plt_real=plt_real, plt_imag=plt_imag, limits=limits) self.widget = ContainerWidgets.YaffWidget() self.widget.on_model_changed.connect(self.change_model) + self.widget.configuration_changed.connect(self.change_configuration) self.color = QColor(32, 120, 29, int(255*0.82)) self._libyaff = libyaff.Yaff(self.widget.getYaffType()) self.id_label = self._libyaff.label @@ -228,6 +229,11 @@ class YAFF(BaseObject): def param_number(self, num=None): self._param_number = self._libyaff.params + def change_configuration(self, t_list, tau_list): + self._libyaff.dist_tau = tau_list + self._libyaff.time_points = t_list + self.updateData() + def change_model(self): self._libyaff = libyaff.Yaff(self.widget.getYaffType()) self._selector_mask = self.widget.selector_mask diff --git a/ContainerWidgets.py b/ContainerWidgets.py index f6b51a0..4366f94 100644 --- a/ContainerWidgets.py +++ b/ContainerWidgets.py @@ -7,7 +7,7 @@ import ConductivityGroupBox import PeakGroupBox import PowerLawGroupBox import StaticGroupBox -import YAFFparameters +import YAFFparameters, YAFFConfig from PyQt4.QtGui import * @@ -115,6 +115,12 @@ class BaseWidget(QGroupBox): self.errors[i].setStyleSheet(sd_style) self.errors[i].setText(sd) + def replaceDoubleSpinBox(self, layout, widget): + ndx = layout.indexOf(widget) + row, column, cols, rows = layout.getItemPosition(ndx) + widget.setParent(None) + widget = LogFSpinBox(self) + layout.addWidget(widget, row,column) @@ -329,10 +335,10 @@ class ConductivityWidget(BaseWidget, QGroupBox): -class PowerLawWidget(BaseWidget, QGroupBox): +class PowerLawWidget(BaseWidget): def __init__(self, parent=None): - QGroupBox.__init__(self) + #QGroupBox.__init__(self) BaseWidget.__init__(self) super(PowerLawWidget, self).__init__(parent) @@ -359,6 +365,7 @@ class PowerLawWidget(BaseWidget, QGroupBox): class YaffWidget(BaseWidget): on_model_changed = pyqtSignal() + configuration_changed = pyqtSignal(list,list) def __init__(self, parent=None): #QGroupBox.__init__(self) @@ -381,6 +388,7 @@ class YaffWidget(BaseWidget): self.ui.gridLayout.addWidget(self.ui.doubleSpinBox_9, 12, 1) self.ui.removeButton.clicked.connect(self.remove) + self.ui.configButton.clicked.connect(self.configure) self.ui.comboBox.currentIndexChanged.connect(self.change_model) self._names = [ @@ -446,6 +454,17 @@ class YaffWidget(BaseWidget): for dsb in self.inputs: dsb.valueChanged.connect(self.changeValues) self.change_model(0) + self._t_list, self._tau_list = None, None + + def configure(self): + qd = YaffConfigWidget(t_list = self._t_list, tau_list = self._tau_list) + qd.configuration_changed.connect(self._store_config) + qd.exec_() + #qd.show() + def _store_config(self,t_list,tau_list): + self._t_list = t_list + self._tau_list = tau_list + self.configuration_changed.emit(t_list,tau_list) def getYaffType(self): return self.ui.comboBox.currentIndex() @@ -477,3 +496,74 @@ class YaffWidget(BaseWidget): if mask[ndx][i]==0: self.names.append(self._names[i]) self.selector_mask = [not i for i in mask[ndx] ] self.on_model_changed.emit() + +class YaffConfigWidget(QDialog): + configuration_changed = pyqtSignal(list,list) + + def __init__(self, parent=None, t_list=None, tau_list=None): + super(YaffConfigWidget,self).__init__(parent) + + self.ui = YAFFConfig.Ui_Dialog() + self.ui.setupUi(self) + + # not working; cannot set values + #self.replaceDoubleSpinBox(self.ui.gridLayout_time, self.ui.doubleSpinBox_tmin) + #self.replaceDoubleSpinBox(self.ui.gridLayout_time, self.ui.doubleSpinBox_tmax) + #self.replaceDoubleSpinBox(self.ui.gridLayout_tau, self.ui.doubleSpinBox_taumin) + #self.replaceDoubleSpinBox(self.ui.gridLayout_tau, self.ui.doubleSpinBox_taumax) + + ndx = self.ui.gridLayout_time.indexOf(self.ui.doubleSpinBox_tmin) + row, column, cols, rows = self.ui.gridLayout_time.getItemPosition(ndx) + self.ui.doubleSpinBox_tmin.setParent(None) + self.ui.doubleSpinBox_tmin = LogFSpinBox(self) + self.ui.gridLayout_time.addWidget(self.ui.doubleSpinBox_tmin, row,column) + + ndx = self.ui.gridLayout_time.indexOf(self.ui.doubleSpinBox_tmax) + row, column, cols, rows = self.ui.gridLayout_time.getItemPosition(ndx) + self.ui.doubleSpinBox_tmax.setParent(None) + self.ui.doubleSpinBox_tmax = LogFSpinBox(self) + self.ui.gridLayout_time.addWidget(self.ui.doubleSpinBox_tmax, row,column) + + ndx = self.ui.gridLayout_tau.indexOf(self.ui.doubleSpinBox_taumin) + row, column, cols, rows = self.ui.gridLayout_tau.getItemPosition(ndx) + self.ui.doubleSpinBox_taumin.setParent(None) + self.ui.doubleSpinBox_taumin = LogFSpinBox(self) + self.ui.gridLayout_tau.addWidget(self.ui.doubleSpinBox_taumin, row,column) + + ndx = self.ui.gridLayout_tau.indexOf(self.ui.doubleSpinBox_taumax) + row, column, cols, rows = self.ui.gridLayout_tau.getItemPosition(ndx) + self.ui.doubleSpinBox_taumax.setParent(None) + self.ui.doubleSpinBox_taumax = LogFSpinBox(self) + self.ui.gridLayout_tau.addWidget(self.ui.doubleSpinBox_taumax, row,column) + + if t_list is not None: + self.ui.doubleSpinBox_tmin.setValue(t_list[0]) + self.ui.doubleSpinBox_tmax.setValue(t_list[1]) + else: + self.ui.doubleSpinBox_tmin.setValue(1e-10) + self.ui.doubleSpinBox_tmax.setValue(1e5) + + if tau_list is not None: + self.ui.doubleSpinBox_taumin.setValue(tau_list[0]) + self.ui.doubleSpinBox_taumax.setValue(tau_list[1]) + else: + self.ui.doubleSpinBox_taumin.setValue(1e-10) + self.ui.doubleSpinBox_taumax.setValue(1e5) + + values = [self.ui.doubleSpinBox_tmin, + self.ui.doubleSpinBox_tmax, + self.ui.spinBox_tn, + self.ui.doubleSpinBox_taumin, + self.ui.doubleSpinBox_taumax, + self.ui.spinBox_taun] + for val in values: val.valueChanged.connect(self.changedConfiguration) + + def changedConfiguration(self): + t_list = [self.ui.doubleSpinBox_tmin.value(), + self.ui.doubleSpinBox_tmax.value(), + self.ui.spinBox_tn.value()] + tau_list = [self.ui.doubleSpinBox_taumin.value(), + self.ui.doubleSpinBox_taumax.value(), + self.ui.spinBox_taun.value()] + self.configuration_changed.emit(t_list,tau_list) + diff --git a/Makefile b/Makefile index 37f5796..875acef 100644 --- a/Makefile +++ b/Makefile @@ -6,5 +6,6 @@ all: pyuic4 PowerLawGroupBox.ui -o PowerLawGroupBox.py pyuic4 StaticGroupBox.ui -o StaticGroupBox.py pyuic4 YAFFparameters.ui -o YAFFparameters.py + pyuic4 YAFFConfig.ui -o YAFFConfig.py stats: wc -l QDS.py ContainerWidgets.py Container.py libyaff.py mathlib.py data.py diff --git a/PeakGroupBox.py b/PeakGroupBox.py index 839bf24..d0a92eb 100644 --- a/PeakGroupBox.py +++ b/PeakGroupBox.py @@ -2,7 +2,7 @@ # Form implementation generated from reading ui file 'PeakGroupBox.ui' # -# Created: Mon Apr 14 14:36:45 2014 +# Created: Tue Apr 15 15:17:02 2014 # by: PyQt4 UI code generator 4.10.4 # # WARNING! All changes made in this file will be lost! diff --git a/PowerLawGroupBox.py b/PowerLawGroupBox.py index 2d26783..8d6f6c1 100644 --- a/PowerLawGroupBox.py +++ b/PowerLawGroupBox.py @@ -2,7 +2,7 @@ # Form implementation generated from reading ui file 'PowerLawGroupBox.ui' # -# Created: Mon Apr 14 14:36:45 2014 +# Created: Tue Apr 15 15:17:02 2014 # by: PyQt4 UI code generator 4.10.4 # # WARNING! All changes made in this file will be lost! diff --git a/QDS.py b/QDS.py index 679603d..f4e49d4 100755 --- a/QDS.py +++ b/QDS.py @@ -1,33 +1,28 @@ #!/usr/bin/env python # -*- encoding: utf-8 -*- -import os -import sys -import re -import signal +_author_ = "Markus Rosenstihl" + +import os,sys,re,signal -from PyQt4.QtCore import * -from PyQt4.QtGui import * import matplotlib -from Container import Conductivity, PowerComplex, Static, Peak, YAFF - -from mathlib import FunctionRegister, FitRoutine - matplotlib.use('agg') - - from matplotlib import pyplot from matplotlib.colors import hex2color #matplotlib.rc_file("default.mplrc") + +from PyQt4.QtCore import * +from PyQt4.QtGui import * + import numpy as np - -import QDSMain - -from data import Data import pyqtgraph as pg +from Container import Conductivity, PowerComplex, Static, Peak, YAFF from ContainerWidgets import ParameterWidget +from Mathlib import FunctionRegister, FitRoutine +from Data import Data +import QDSMain class AppWindow(QMainWindow): @@ -141,6 +136,8 @@ class AppWindow(QMainWindow): fit_annealAction = QAction("&Simulated Annealing", self) fitMenu.addAction(fit_annealAction) + self.ui.actionActionAbortFit.triggered.connect(self.abortFit) + self.signalMapper = QSignalMapper(self) for i, fit_action in enumerate([fit_lmAction, fit_lbfgsbAction, fit_annealAction ]): @@ -208,6 +205,9 @@ class AppWindow(QMainWindow): msgBox.exec_() + def abortFit(self): + self._fit_thread.quit() + def saveFitResult(self): """ Saving fit parameters to fitresults.log @@ -505,7 +505,8 @@ class AppWindow(QMainWindow): self.fit_boundary_imag.setRegion(self.fit_boundary_real.getRegion()) def sigint_handler(*args): - """Handler for the SIGINT signal (CTRL + C). + """ + Handler for the SIGINT signal (CTRL + C). """ sys.stderr.write('\r') if QMessageBox.question(None, '', "Are you sure you want to quit?", @@ -513,6 +514,7 @@ def sigint_handler(*args): QMessageBox.Yes) == QMessageBox.Yes: QApplication.quit() + if __name__ == '__main__': signal.signal(signal.SIGINT, sigint_handler) files = sys.argv[1:] diff --git a/QDSMain.py b/QDSMain.py index 8c4a36c..dec1a3b 100644 --- a/QDSMain.py +++ b/QDSMain.py @@ -2,7 +2,7 @@ # Form implementation generated from reading ui file 'QDSMain.ui' # -# Created: Mon Apr 14 14:36:45 2014 +# Created: Tue Apr 15 15:17:02 2014 # by: PyQt4 UI code generator 4.10.4 # # WARNING! All changes made in this file will be lost! @@ -70,6 +70,7 @@ class Ui_MainWindow(object): self.statusbar.setObjectName(_fromUtf8("statusbar")) MainWindow.setStatusBar(self.statusbar) self.toolBar = QtGui.QToolBar(MainWindow) + self.toolBar.setIconSize(QtCore.QSize(48, 48)) self.toolBar.setToolButtonStyle(QtCore.Qt.ToolButtonTextUnderIcon) self.toolBar.setObjectName(_fromUtf8("toolBar")) MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.toolBar) @@ -113,6 +114,11 @@ class Ui_MainWindow(object): icon4.addPixmap(QtGui.QPixmap(_fromUtf8(":/icons/add_yaff.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.actionYAFF.setIcon(icon4) self.actionYAFF.setObjectName(_fromUtf8("actionYAFF")) + self.actionActionAbortFit = QtGui.QAction(MainWindow) + icon5 = QtGui.QIcon() + icon5.addPixmap(QtGui.QPixmap(_fromUtf8(":/icons/qds_fit_abort.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) + self.actionActionAbortFit.setIcon(icon5) + self.actionActionAbortFit.setObjectName(_fromUtf8("actionActionAbortFit")) self.toolBar.addAction(self.actionAdd_Peak) self.toolBar.addAction(self.actionAdd_Cond) self.toolBar.addAction(self.actionAdd_PowerLaw) @@ -121,6 +127,7 @@ class Ui_MainWindow(object): self.toolBar.addAction(self.actionYAFF) self.toolBar.addSeparator() self.toolBar.addAction(self.actionSave_FitResult) + self.toolBar.addAction(self.actionActionAbortFit) self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow) @@ -139,6 +146,8 @@ class Ui_MainWindow(object): self.actionAdd_Eps_Infty.setToolTip(_translate("MainWindow", "Add eps_infty", None)) self.actionYAFF.setText(_translate("MainWindow", "YAFF", None)) self.actionYAFF.setToolTip(_translate("MainWindow", "Fit with YAFF", None)) + self.actionActionAbortFit.setText(_translate("MainWindow", "Abort Fit", None)) + self.actionActionAbortFit.setShortcut(_translate("MainWindow", "Ctrl+C", None)) from pyqtgraph import PlotWidget import images_rc diff --git a/QDSMain.ui b/QDSMain.ui index 3da1287..dd25060 100644 --- a/QDSMain.ui +++ b/QDSMain.ui @@ -73,6 +73,12 @@ toolBar + + + 48 + 48 + + Qt::ToolButtonTextUnderIcon @@ -90,6 +96,7 @@ + @@ -184,6 +191,18 @@ Fit with YAFF + + + + :/icons/qds_fit_abort.png:/icons/qds_fit_abort.png + + + Abort Fit + + + Ctrl+C + + diff --git a/StaticGroupBox.py b/StaticGroupBox.py index c0e56ed..2e8605d 100644 --- a/StaticGroupBox.py +++ b/StaticGroupBox.py @@ -2,7 +2,7 @@ # Form implementation generated from reading ui file 'StaticGroupBox.ui' # -# Created: Mon Apr 14 14:36:45 2014 +# Created: Tue Apr 15 15:17:03 2014 # by: PyQt4 UI code generator 4.10.4 # # WARNING! All changes made in this file will be lost! diff --git a/YAFFConfig.py b/YAFFConfig.py new file mode 100644 index 0000000..a2c190b --- /dev/null +++ b/YAFFConfig.py @@ -0,0 +1,107 @@ +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'YAFFConfig.ui' +# +# Created: Tue Apr 15 15:17:03 2014 +# by: PyQt4 UI code generator 4.10.4 +# +# WARNING! All changes made in this file will be lost! + +from PyQt4 import QtCore, QtGui + +try: + _fromUtf8 = QtCore.QString.fromUtf8 +except AttributeError: + def _fromUtf8(s): + return s + +try: + _encoding = QtGui.QApplication.UnicodeUTF8 + def _translate(context, text, disambig): + return QtGui.QApplication.translate(context, text, disambig, _encoding) +except AttributeError: + def _translate(context, text, disambig): + return QtGui.QApplication.translate(context, text, disambig) + +class Ui_Dialog(object): + def setupUi(self, Dialog): + Dialog.setObjectName(_fromUtf8("Dialog")) + Dialog.resize(250, 229) + self.gridLayout_3 = QtGui.QGridLayout(Dialog) + self.gridLayout_3.setObjectName(_fromUtf8("gridLayout_3")) + self.groupBox_time = QtGui.QGroupBox(Dialog) + self.groupBox_time.setObjectName(_fromUtf8("groupBox_time")) + self.gridLayout_time = QtGui.QGridLayout(self.groupBox_time) + self.gridLayout_time.setObjectName(_fromUtf8("gridLayout_time")) + self.label = QtGui.QLabel(self.groupBox_time) + self.label.setObjectName(_fromUtf8("label")) + self.gridLayout_time.addWidget(self.label, 0, 0, 1, 1) + self.label_2 = QtGui.QLabel(self.groupBox_time) + self.label_2.setObjectName(_fromUtf8("label_2")) + self.gridLayout_time.addWidget(self.label_2, 0, 1, 1, 1) + self.label_3 = QtGui.QLabel(self.groupBox_time) + self.label_3.setObjectName(_fromUtf8("label_3")) + self.gridLayout_time.addWidget(self.label_3, 0, 2, 1, 1) + self.doubleSpinBox_tmin = QtGui.QDoubleSpinBox(self.groupBox_time) + self.doubleSpinBox_tmin.setObjectName(_fromUtf8("doubleSpinBox_tmin")) + self.gridLayout_time.addWidget(self.doubleSpinBox_tmin, 1, 0, 1, 1) + self.doubleSpinBox_tmax = QtGui.QDoubleSpinBox(self.groupBox_time) + self.doubleSpinBox_tmax.setObjectName(_fromUtf8("doubleSpinBox_tmax")) + self.gridLayout_time.addWidget(self.doubleSpinBox_tmax, 1, 1, 1, 1) + self.spinBox_tn = QtGui.QSpinBox(self.groupBox_time) + self.spinBox_tn.setMinimum(256) + self.spinBox_tn.setMaximum(8192) + self.spinBox_tn.setSingleStep(256) + self.spinBox_tn.setProperty("value", 512) + self.spinBox_tn.setObjectName(_fromUtf8("spinBox_tn")) + self.gridLayout_time.addWidget(self.spinBox_tn, 1, 2, 1, 1) + self.gridLayout_3.addWidget(self.groupBox_time, 0, 0, 1, 1) + self.groupBox_tau = QtGui.QGroupBox(Dialog) + self.groupBox_tau.setObjectName(_fromUtf8("groupBox_tau")) + self.gridLayout_tau = QtGui.QGridLayout(self.groupBox_tau) + self.gridLayout_tau.setObjectName(_fromUtf8("gridLayout_tau")) + self.label_7 = QtGui.QLabel(self.groupBox_tau) + self.label_7.setObjectName(_fromUtf8("label_7")) + self.gridLayout_tau.addWidget(self.label_7, 0, 0, 1, 1) + self.label_8 = QtGui.QLabel(self.groupBox_tau) + self.label_8.setObjectName(_fromUtf8("label_8")) + self.gridLayout_tau.addWidget(self.label_8, 0, 1, 1, 1) + self.label_9 = QtGui.QLabel(self.groupBox_tau) + self.label_9.setObjectName(_fromUtf8("label_9")) + self.gridLayout_tau.addWidget(self.label_9, 0, 2, 1, 1) + self.doubleSpinBox_taumin = QtGui.QDoubleSpinBox(self.groupBox_tau) + self.doubleSpinBox_taumin.setObjectName(_fromUtf8("doubleSpinBox_taumin")) + self.gridLayout_tau.addWidget(self.doubleSpinBox_taumin, 1, 0, 1, 1) + self.doubleSpinBox_taumax = QtGui.QDoubleSpinBox(self.groupBox_tau) + self.doubleSpinBox_taumax.setObjectName(_fromUtf8("doubleSpinBox_taumax")) + self.gridLayout_tau.addWidget(self.doubleSpinBox_taumax, 1, 1, 1, 1) + self.spinBox_taun = QtGui.QSpinBox(self.groupBox_tau) + self.spinBox_taun.setMinimum(256) + self.spinBox_taun.setMaximum(8192) + self.spinBox_taun.setSingleStep(256) + self.spinBox_taun.setProperty("value", 512) + self.spinBox_taun.setObjectName(_fromUtf8("spinBox_taun")) + self.gridLayout_tau.addWidget(self.spinBox_taun, 1, 2, 1, 1) + self.gridLayout_3.addWidget(self.groupBox_tau, 1, 0, 1, 1) + self.buttonBox = QtGui.QDialogButtonBox(Dialog) + self.buttonBox.setOrientation(QtCore.Qt.Horizontal) + self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok) + self.buttonBox.setObjectName(_fromUtf8("buttonBox")) + self.gridLayout_3.addWidget(self.buttonBox, 2, 0, 1, 1) + + self.retranslateUi(Dialog) + QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), Dialog.accept) + QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), Dialog.reject) + QtCore.QMetaObject.connectSlotsByName(Dialog) + + def retranslateUi(self, Dialog): + Dialog.setWindowTitle(_translate("Dialog", "YAFF Configuration", None)) + self.groupBox_time.setTitle(_translate("Dialog", "Time values (log10[t])", None)) + self.label.setText(_translate("Dialog", "

tmin

", None)) + self.label_2.setText(_translate("Dialog", "

tmax

", None)) + self.label_3.setText(_translate("Dialog", "N", None)) + self.groupBox_tau.setTitle(_translate("Dialog", "τ-Distribution (log10[τ])", None)) + self.label_7.setText(_translate("Dialog", "

tmin

", None)) + self.label_8.setText(_translate("Dialog", "

tmax

", None)) + self.label_9.setText(_translate("Dialog", "N", None)) + diff --git a/YAFFConfig.ui b/YAFFConfig.ui new file mode 100644 index 0000000..1a5c9d7 --- /dev/null +++ b/YAFFConfig.ui @@ -0,0 +1,168 @@ + + + Dialog + + + + 0 + 0 + 250 + 229 + + + + YAFF Configuration + + + + + + Time values (log10[t]) + + + + + + <html><head/><body><p>t<span style=" vertical-align:sub;">min</span></p></body></html> + + + + + + + <html><head/><body><p>t<span style=" vertical-align:sub;">max</span></p></body></html> + + + + + + + N + + + + + + + + + + + + + 256 + + + 8192 + + + 256 + + + 512 + + + + + + + + + + τ-Distribution (log10[τ]) + + + + + + <html><head/><body><p>t<span style=" vertical-align:sub;">min</span></p></body></html> + + + + + + + <html><head/><body><p>t<span style=" vertical-align:sub;">max</span></p></body></html> + + + + + + + N + + + + + + + + + + + + + 256 + + + 8192 + + + 256 + + + 512 + + + + + + + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + + + buttonBox + accepted() + Dialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + Dialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + diff --git a/YAFFparameters.py b/YAFFparameters.py index 9e2dda7..6c61bcb 100644 --- a/YAFFparameters.py +++ b/YAFFparameters.py @@ -2,7 +2,7 @@ # Form implementation generated from reading ui file 'YAFFparameters.ui' # -# Created: Mon Apr 14 14:36:45 2014 +# Created: Tue Apr 15 15:17:03 2014 # by: PyQt4 UI code generator 4.10.4 # # WARNING! All changes made in this file will be lost! @@ -26,7 +26,7 @@ except AttributeError: class Ui_Form(object): def setupUi(self, Form): Form.setObjectName(_fromUtf8("Form")) - Form.resize(263, 320) + Form.resize(271, 322) self.gridLayout = QtGui.QGridLayout(Form) self.gridLayout.setMargin(0) self.gridLayout.setSpacing(1) @@ -259,6 +259,9 @@ class Ui_Form(object): self.removeButton = QtGui.QPushButton(Form) self.removeButton.setObjectName(_fromUtf8("removeButton")) self.gridLayout.addWidget(self.removeButton, 0, 2, 1, 1) + self.configButton = QtGui.QPushButton(Form) + self.configButton.setObjectName(_fromUtf8("configButton")) + self.gridLayout.addWidget(self.configButton, 1, 2, 1, 1) self.retranslateUi(Form) QtCore.QMetaObject.connectSlotsByName(Form) @@ -293,4 +296,5 @@ class Ui_Form(object): self.comboBox.setItemText(2, _translate("Form", "GG + b", None)) self.comboBox.setItemText(3, _translate("Form", "GGe + b", None)) self.removeButton.setText(_translate("Form", "Remove", None)) + self.configButton.setText(_translate("Form", "Configure", None)) diff --git a/YAFFparameters.ui b/YAFFparameters.ui index f306f84..bb165ec 100644 --- a/YAFFparameters.ui +++ b/YAFFparameters.ui @@ -6,8 +6,8 @@ 0 0 - 263 - 320 + 271 + 322 @@ -460,6 +460,13 @@ + + + + Configure + + + diff --git a/data.py b/data.py index 5ff85d6..851f89b 100644 --- a/data.py +++ b/data.py @@ -3,7 +3,8 @@ from PyQt4.QtGui import QColor import numpy as np import pyqtgraph as pg -from mathlib import FitFunctionCreator +from Mathlib import FitFunctionCreator + class Data: diff --git a/icons/images.qrc b/icons/images.qrc index a4ceff9..311a85a 100644 --- a/icons/images.qrc +++ b/icons/images.qrc @@ -3,6 +3,7 @@ add_cond.svg add_yaff.png add_eps_infty.png + qds_fit_abort.png add_peak.svg fit_limits.png save_fit.png diff --git a/icons/qds_icons.graffle b/icons/qds_icons.graffle index 14b45c4..f3cf4ac 100644 Binary files a/icons/qds_icons.graffle and b/icons/qds_icons.graffle differ diff --git a/images_rc.py b/images_rc.py index 50157ac..25d5c10 100644 --- a/images_rc.py +++ b/images_rc.py @@ -2,7 +2,7 @@ # Resource object code # -# Created: Mo. Apr. 14 14:36:45 2014 +# Created: Di. Apr. 15 15:17:02 2014 # by: The Resource Compiler for PyQt (Qt v4.8.5) # # WARNING! All changes made in this file will be lost! @@ -4916,6 +4916,1008 @@ qt_resource_data = "\ \x85\x40\x21\x50\x08\x14\x02\xbb\x11\x81\xff\x1f\xb1\x52\x54\x81\ \x7e\xf0\xe3\x29\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ \ +\x00\x00\x3e\x7e\ +\x89\ +\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\ +\x00\x01\x8d\x00\x00\x01\x87\x08\x06\x00\x00\x00\x4c\x3c\x0e\xb7\ +\x00\x00\x0a\x41\x69\x43\x43\x50\x49\x43\x43\x20\x50\x72\x6f\x66\ +\x69\x6c\x65\x00\x00\x48\x0d\x9d\x96\x77\x54\x53\xd9\x16\x87\xcf\ +\xbd\x37\xbd\xd0\x12\x22\x20\x25\xf4\x1a\x7a\x09\x20\xd2\x3b\x48\ +\x15\x04\x51\x89\x49\x80\x50\x02\x86\x84\x26\x76\x44\x05\x46\x14\ +\x11\x29\x56\x64\x54\xc0\x01\x47\x87\x22\x63\x45\x14\x0b\x83\x82\ +\x62\xd7\x09\xf2\x10\x50\xc6\xc1\x51\x44\x45\xe5\xdd\x8c\x6b\x09\ +\xef\xad\x35\xf3\xde\x9a\xfd\xc7\x59\xdf\xd9\xe7\xb7\xd7\xd9\x67\ +\xef\x7d\xd7\xba\x00\x50\xfc\x82\x04\xc2\x74\x58\x01\x80\x34\xa1\ +\x58\x14\xee\xeb\xc1\x5c\x12\x13\xcb\xc4\xf7\x02\x18\x10\x01\x0e\ +\x58\x01\xc0\xe1\x66\x66\x04\x47\xf8\x44\x02\xd4\xfc\xbd\x3d\x99\ +\x99\xa8\x48\xc6\xb3\xf6\xee\x2e\x80\x64\xbb\xdb\x2c\xbf\x50\x26\ +\x73\xd6\xff\x7f\x91\x22\x37\x43\x24\x06\x00\x0a\x45\xd5\x36\x3c\ +\x7e\x26\x17\xe5\x02\x94\x53\xb3\xc5\x19\x32\xff\x04\xca\xf4\x95\ +\x29\x32\x86\x31\x32\x16\xa1\x09\xa2\xac\x22\xe3\xc4\xaf\x6c\xf6\ +\xa7\xe6\x2b\xbb\xc9\x98\x97\x26\xe4\xa1\x1a\x59\xce\x19\xbc\x34\ +\x9e\x8c\xbb\x50\xde\x9a\x25\xe1\xa3\x8c\x04\xa1\x5c\x98\x25\xe0\ +\x67\xa3\x7c\x07\x65\xbd\x54\x49\x9a\x00\xe5\xf7\x28\xd3\xd3\xf8\ +\x9c\x4c\x00\x30\x14\x99\x5f\xcc\xe7\x26\xa1\x6c\x89\x32\x45\x14\ +\x19\xee\x89\xf2\x02\x00\x08\x94\xc4\x39\xbc\x72\x0e\x8b\xf9\x39\ +\x68\x9e\x00\x78\xa6\x67\xe4\x8a\x04\x89\x49\x62\xa6\x11\xd7\x98\ +\x69\xe5\xe8\xc8\x66\xfa\xf1\xb3\x53\xf9\x62\x31\x2b\x94\xc3\x4d\ +\xe1\x88\x78\x4c\xcf\xf4\xb4\x0c\x8e\x30\x17\x80\xaf\x6f\x96\x45\ +\x01\x25\x59\x6d\x99\x68\x91\xed\xad\x1c\xed\xed\x59\xd6\xe6\x68\ +\xf9\xbf\xd9\xdf\x1e\x7e\x53\xfd\x3d\xc8\x7a\xfb\x55\xf1\x26\xec\ +\xcf\x9e\x41\x8c\x9e\x59\xdf\x6c\xec\xac\x2f\xbd\x16\x00\xf6\x24\ +\x5a\x9b\x1d\xb3\xbe\x95\x55\x00\xb4\x6d\x06\x40\xe5\xe1\xac\x4f\ +\xef\x20\x00\xf2\x05\x00\xb4\xde\x9c\xf3\x1e\x86\x6c\x5e\x92\xc4\ +\xe2\x0c\x27\x0b\x8b\xec\xec\x6c\x73\x01\x9f\x6b\x2e\x2b\xe8\x37\ +\xfb\x9f\x82\x6f\xca\xbf\x86\x39\xf7\x99\xcb\xee\xfb\x56\x3b\xa6\ +\x17\x3f\x81\x23\x49\x15\x33\x65\x45\xe5\xa6\xa7\xa6\x4b\x44\xcc\ +\xcc\x0c\x0e\x97\xcf\x64\xfd\xf7\x10\xff\xe3\xc0\x39\x69\xcd\xc9\ +\xc3\x2c\x9c\x9f\xc0\x17\xf1\x85\xe8\x55\x51\xe8\x94\x09\x84\x89\ +\x68\xbb\x85\x3c\x81\x58\x90\x2e\x64\x0a\x84\x7f\xd5\xe1\x7f\x18\ +\x36\x27\x07\x19\x7e\x9d\x6b\x14\x68\x75\x5f\x00\x7d\x85\x39\x50\ +\xb8\x49\x07\xc8\x6f\x3d\x00\x43\x23\x03\x24\x6e\x3f\x7a\x02\x7d\ +\xeb\x5b\x10\x31\x0a\xc8\xbe\xbc\x68\xad\x91\xaf\x73\x8f\x32\x7a\ +\xfe\xe7\xfa\x1f\x0b\x5c\x8a\x6e\xe1\x4c\x41\x22\x53\xe6\xf6\x0c\ +\x8f\x64\x72\x25\xa2\x2c\x19\xa3\xdf\x84\x6c\xc1\x02\x12\x90\x07\ +\x74\xa0\x0a\x34\x81\x2e\x30\x02\x2c\x60\x0d\x1c\x80\x33\x70\x03\ +\xde\x20\x00\x84\x80\x48\x10\x03\x96\x03\x2e\x48\x02\x69\x40\x04\ +\xb2\x41\x3e\xd8\x00\x0a\x41\x31\xd8\x01\x76\x83\x6a\x70\x00\xd4\ +\x81\x7a\xd0\x04\x4e\x82\x36\x70\x06\x5c\x04\x57\xc0\x0d\x70\x0b\ +\x0c\x80\x47\x40\x0a\x86\xc1\x4b\x30\x01\xde\x81\x69\x08\x82\xf0\ +\x10\x15\xa2\x41\xaa\x90\x16\xa4\x0f\x99\x42\xd6\x10\x1b\x5a\x08\ +\x79\x43\x41\x50\x38\x14\x03\xc5\x43\x89\x90\x10\x92\x40\xf9\xd0\ +\x26\xa8\x18\x2a\x83\xaa\xa1\x43\x50\x3d\xf4\x23\x74\x1a\xba\x08\ +\x5d\x83\xfa\xa0\x07\xd0\x20\x34\x06\xfd\x01\x7d\x84\x11\x98\x02\ +\xd3\x61\x0d\xd8\x00\xb6\x80\xd9\xb0\x3b\x1c\x08\x47\xc2\xcb\xe0\ +\x44\x78\x15\x9c\x07\x17\xc0\xdb\xe1\x4a\xb8\x16\x3e\x0e\xb7\xc2\ +\x17\xe1\x1b\xf0\x00\x2c\x85\x5f\xc2\x93\x08\x40\xc8\x08\x03\xd1\ +\x46\x58\x08\x1b\xf1\x44\x42\x90\x58\x24\x01\x11\x21\x6b\x91\x22\ +\xa4\x02\xa9\x45\x9a\x90\x0e\xa4\x1b\xb9\x8d\x48\x91\x71\xe4\x03\ +\x06\x87\xa1\x61\x98\x18\x16\xc6\x19\xe3\x87\x59\x8c\xe1\x62\x56\ +\x61\xd6\x62\x4a\x30\xd5\x98\x63\x98\x56\x4c\x17\xe6\x36\x66\x10\ +\x33\x81\xf9\x82\xa5\x62\xd5\xb1\xa6\x58\x27\xac\x3f\x76\x09\x36\ +\x11\x9b\x8d\x2d\xc4\x56\x60\x8f\x60\x5b\xb0\x97\xb1\x03\xd8\x61\ +\xec\x3b\x1c\x0e\xc7\xc0\x19\xe2\x1c\x70\x7e\xb8\x18\x5c\x32\x6e\ +\x35\xae\x04\xb7\x0f\xd7\x8c\xbb\x80\xeb\xc3\x0d\xe1\x26\xf1\x78\ +\xbc\x2a\xde\x14\xef\x82\x0f\xc1\x73\xf0\x62\x7c\x21\xbe\x0a\x7f\ +\x1c\x7f\x1e\xdf\x8f\x1f\xc6\xbf\x27\x90\x09\x5a\x04\x6b\x82\x0f\ +\x21\x96\x20\x24\x6c\x24\x54\x10\x1a\x08\xe7\x08\xfd\x84\x11\xc2\ +\x34\x51\x81\xa8\x4f\x74\x22\x86\x10\x79\xc4\x5c\x62\x29\xb1\x8e\ +\xd8\x41\xbc\x49\x1c\x26\x4e\x93\x14\x49\x86\x24\x17\x52\x24\x29\ +\x99\xb4\x81\x54\x49\x6a\x22\x5d\x26\x3d\x26\xbd\x21\x93\xc9\x3a\ +\x64\x47\x72\x18\x59\x40\x5e\x4f\xae\x24\x9f\x20\x5f\x25\x0f\x92\ +\x3f\x50\x94\x28\x26\x14\x4f\x4a\x1c\x45\x42\xd9\x4e\x39\x4a\xb9\ +\x40\x79\x40\x79\x43\xa5\x52\x0d\xa8\x6e\xd4\x58\xaa\x98\xba\x9d\ +\x5a\x4f\xbd\x44\x7d\x4a\x7d\x2f\x47\x93\x33\x97\xf3\x97\xe3\xc9\ +\xad\x93\xab\x91\x6b\x95\xeb\x97\x7b\x25\x4f\x94\xd7\x97\x77\x97\ +\x5f\x2e\x9f\x27\x5f\x21\x7f\x4a\xfe\xa6\xfc\xb8\x02\x51\xc1\x40\ +\xc1\x53\x81\xa3\xb0\x56\xa1\x46\xe1\xb4\xc2\x3d\x85\x49\x45\x9a\ +\xa2\x95\x62\x88\x62\x9a\x62\x89\x62\x83\xe2\x35\xc5\x51\x25\xbc\ +\x92\x81\x92\xb7\x12\x4f\xa9\x40\xe9\xb0\xd2\x25\xa5\x21\x1a\x42\ +\xd3\xa5\x79\xd2\xb8\xb4\x4d\xb4\x3a\xda\x65\xda\x30\x1d\x47\x37\ +\xa4\xfb\xd3\x93\xe9\xc5\xf4\x1f\xe8\xbd\xf4\x09\x65\x25\x65\x5b\ +\xe5\x28\xe5\x1c\xe5\x1a\xe5\xb3\xca\x52\x06\xc2\x30\x60\xf8\x33\ +\x52\x19\xa5\x8c\x93\x8c\xbb\x8c\x8f\xf3\x34\xe6\xb9\xcf\xe3\xcf\ +\xdb\x36\xaf\x69\x5e\xff\xbc\x29\x95\xf9\x2a\x6e\x2a\x7c\x95\x22\ +\x95\x66\x95\x01\x95\x8f\xaa\x4c\x55\x6f\xd5\x14\xd5\x9d\xaa\x6d\ +\xaa\x4f\xd4\x30\x6a\x26\x6a\x61\x6a\xd9\x6a\xfb\xd5\x2e\xab\x8d\ +\xcf\xa7\xcf\x77\x9e\xcf\x9d\x5f\x34\xff\xe4\xfc\x87\xea\xb0\xba\ +\x89\x7a\xb8\xfa\x6a\xf5\xc3\xea\x3d\xea\x93\x1a\x9a\x1a\xbe\x1a\ +\x19\x1a\x55\x1a\x97\x34\xc6\x35\x19\x9a\x6e\x9a\xc9\x9a\xe5\x9a\ +\xe7\x34\xc7\xb4\x68\x5a\x0b\xb5\x04\x5a\xe5\x5a\xe7\xb5\x5e\x30\ +\x95\x99\xee\xcc\x54\x66\x25\xb3\x8b\x39\xa1\xad\xae\xed\xa7\x2d\ +\xd1\x3e\xa4\xdd\xab\x3d\xad\x63\xa8\xb3\x58\x67\xa3\x4e\xb3\xce\ +\x13\x5d\x92\x2e\x5b\x37\x41\xb7\x5c\xb7\x53\x77\x42\x4f\x4b\x2f\ +\x58\x2f\x5f\xaf\x51\xef\xa1\x3e\x51\x9f\xad\x9f\xa4\xbf\x47\xbf\ +\x5b\x7f\xca\xc0\xd0\x20\xda\x60\x8b\x41\x9b\xc1\xa8\xa1\x8a\xa1\ +\xbf\x61\x9e\x61\xa3\xe1\x63\x23\xaa\x91\xab\xd1\x2a\xa3\x5a\xa3\ +\x3b\xc6\x38\x63\xb6\x71\x8a\xf1\x3e\xe3\x5b\x26\xb0\x89\x9d\x49\ +\x92\x49\x8d\xc9\x4d\x53\xd8\xd4\xde\x54\x60\xba\xcf\xb4\xcf\x0c\ +\x6b\xe6\x68\x26\x34\xab\x35\xbb\xc7\xa2\xb0\xdc\x59\x59\xac\x46\ +\xd6\xa0\x39\xc3\x3c\xc8\x7c\xa3\x79\x9b\xf9\x2b\x0b\x3d\x8b\x58\ +\x8b\x9d\x16\xdd\x16\x5f\x2c\xed\x2c\x53\x2d\xeb\x2c\x1f\x59\x29\ +\x59\x05\x58\x6d\xb4\xea\xb0\xfa\xc3\xda\xc4\x9a\x6b\x5d\x63\x7d\ +\xc7\x86\x6a\xe3\x63\xb3\xce\xa6\xdd\xe6\xb5\xad\xa9\x2d\xdf\x76\ +\xbf\xed\x7d\x3b\x9a\x5d\xb0\xdd\x16\xbb\x4e\xbb\xcf\xf6\x0e\xf6\ +\x22\xfb\x26\xfb\x31\x07\x3d\x87\x78\x87\xbd\x0e\xf7\xd8\x74\x76\ +\x28\xbb\x84\x7d\xd5\x11\xeb\xe8\xe1\xb8\xce\xf1\x8c\xe3\x07\x27\ +\x7b\x27\xb1\xd3\x49\xa7\xdf\x9d\x59\xce\x29\xce\x0d\xce\xa3\x0b\ +\x0c\x17\xf0\x17\xd4\x2d\x18\x72\xd1\x71\xe1\xb8\x1c\x72\x91\x2e\ +\x64\x2e\x8c\x5f\x78\x70\xa1\xd4\x55\xdb\x95\xe3\x5a\xeb\xfa\xcc\ +\x4d\xd7\x8d\xe7\x76\xc4\x6d\xc4\xdd\xd8\x3d\xd9\xfd\xb8\xfb\x2b\ +\x0f\x4b\x0f\x91\x47\x8b\xc7\x94\xa7\x93\xe7\x1a\xcf\x0b\x5e\x88\ +\x97\xaf\x57\x91\x57\xaf\xb7\x92\xf7\x62\xef\x6a\xef\xa7\x3e\x3a\ +\x3e\x89\x3e\x8d\x3e\x13\xbe\x76\xbe\xab\x7d\x2f\xf8\x61\xfd\x02\ +\xfd\x76\xfa\xdd\xf3\xd7\xf0\xe7\xfa\xd7\xfb\x4f\x04\x38\x04\xac\ +\x09\xe8\x0a\xa4\x04\x46\x04\x56\x07\x3e\x0b\x32\x09\x12\x05\x75\ +\x04\xc3\xc1\x01\xc1\xbb\x82\x1f\x2f\xd2\x5f\x24\x5c\xd4\x16\x02\ +\x42\xfc\x43\x76\x85\x3c\x09\x35\x0c\x5d\x15\xfa\x73\x18\x2e\x2c\ +\x34\xac\x26\xec\x79\xb8\x55\x78\x7e\x78\x77\x04\x2d\x62\x45\x44\ +\x43\xc4\xbb\x48\x8f\xc8\xd2\xc8\x47\x8b\x8d\x16\x4b\x16\x77\x46\ +\xc9\x47\xc5\x45\xd5\x47\x4d\x45\x7b\x45\x97\x45\x4b\x97\x58\x2c\ +\x59\xb3\xe4\x46\x8c\x5a\x8c\x20\xa6\x3d\x16\x1f\x1b\x15\x7b\x24\ +\x76\x72\xa9\xf7\xd2\xdd\x4b\x87\xe3\xec\xe2\x0a\xe3\xee\x2e\x33\ +\x5c\x96\xb3\xec\xda\x72\xb5\xe5\xa9\xcb\xcf\xae\x90\x5f\xc1\x59\ +\x71\x2a\x1e\x1b\x1f\x1d\xdf\x10\xff\x89\x13\xc2\xa9\xe5\x4c\xae\ +\xf4\x5f\xb9\x77\xe5\x04\xd7\x93\xbb\x87\xfb\x92\xe7\xc6\x2b\xe7\ +\x8d\xf1\x5d\xf8\x65\xfc\x91\x04\x97\x84\xb2\x84\xd1\x44\x97\xc4\ +\x5d\x89\x63\x49\xae\x49\x15\x49\xe3\x02\x4f\x41\xb5\xe0\x75\xb2\ +\x5f\xf2\x81\xe4\xa9\x94\x90\x94\xa3\x29\x33\xa9\xd1\xa9\xcd\x69\ +\x84\xb4\xf8\xb4\xd3\x42\x25\x61\x8a\xb0\x2b\x5d\x33\x3d\x27\xbd\ +\x2f\xc3\x34\xa3\x30\x43\xba\xca\x69\xd5\xee\x55\x13\xa2\x40\xd1\ +\x91\x4c\x28\x73\x59\x66\xbb\x98\x8e\xfe\x4c\xf5\x48\x8c\x24\x9b\ +\x25\x83\x59\x0b\xb3\x6a\xb2\xde\x67\x47\x65\x9f\xca\x51\xcc\x11\ +\xe6\xf4\xe4\x9a\xe4\x6e\xcb\x1d\xc9\xf3\xc9\xfb\x7e\x35\x66\x35\ +\x77\x75\x67\xbe\x76\xfe\x86\xfc\xc1\x35\xee\x6b\x0e\xad\x85\xd6\ +\xae\x5c\xdb\xb9\x4e\x77\x5d\xc1\xba\xe1\xf5\xbe\xeb\x8f\x6d\x20\ +\x6d\x48\xd9\xf0\xcb\x46\xcb\x8d\x65\x1b\xdf\x6e\x8a\xde\xd4\x51\ +\xa0\x51\xb0\xbe\x60\x68\xb3\xef\xe6\xc6\x42\xb9\x42\x51\xe1\xbd\ +\x2d\xce\x5b\x0e\x6c\xc5\x6c\x15\x6c\xed\xdd\x66\xb3\xad\x6a\xdb\ +\x97\x22\x5e\xd1\xf5\x62\xcb\xe2\x8a\xe2\x4f\x25\xdc\x92\xeb\xdf\ +\x59\x7d\x57\xf9\xdd\xcc\xf6\x84\xed\xbd\xa5\xf6\xa5\xfb\x77\xe0\ +\x76\x08\x77\xdc\xdd\xe9\xba\xf3\x58\x99\x62\x59\x5e\xd9\xd0\xae\ +\xe0\x5d\xad\xe5\xcc\xf2\xa2\xf2\xb7\xbb\x57\xec\xbe\x56\x61\x5b\ +\x71\x60\x0f\x69\x8f\x64\x8f\xb4\x32\xa8\xb2\xbd\x4a\xaf\x6a\x47\ +\xd5\xa7\xea\xa4\xea\x81\x1a\x8f\x9a\xe6\xbd\xea\x7b\xb7\xed\x9d\ +\xda\xc7\xdb\xd7\xbf\xdf\x6d\x7f\xd3\x01\x8d\x03\xc5\x07\x3e\x1e\ +\x14\x1c\xbc\x7f\xc8\xf7\x50\x6b\xad\x41\x6d\xc5\x61\xdc\xe1\xac\ +\xc3\xcf\xeb\xa2\xea\xba\xbf\x67\x7f\x5f\x7f\x44\xed\x48\xf1\x91\ +\xcf\x47\x85\x47\xa5\xc7\xc2\x8f\x75\xd5\x3b\xd4\xd7\x37\xa8\x37\ +\x94\x36\xc2\x8d\x92\xc6\xb1\xe3\x71\xc7\x6f\xfd\xe0\xf5\x43\x7b\ +\x13\xab\xe9\x50\x33\xa3\xb9\xf8\x04\x38\x21\x39\xf1\xe2\xc7\xf8\ +\x1f\xef\x9e\x0c\x3c\xd9\x79\x8a\x7d\xaa\xe9\x27\xfd\x9f\xf6\xb6\ +\xd0\x5a\x8a\x5a\xa1\xd6\xdc\xd6\x89\xb6\xa4\x36\x69\x7b\x4c\x7b\ +\xdf\xe9\x80\xd3\x9d\x1d\xce\x1d\x2d\x3f\x9b\xff\x7c\xf4\x8c\xf6\ +\x99\x9a\xb3\xca\x67\x4b\xcf\x91\xce\x15\x9c\x9b\x39\x9f\x77\x7e\ +\xf2\x42\xc6\x85\xf1\x8b\x89\x17\x87\x3a\x57\x74\x3e\xba\xb4\xe4\ +\xd2\x9d\xae\xb0\xae\xde\xcb\x81\x97\xaf\x5e\xf1\xb9\x72\xa9\xdb\ +\xbd\xfb\xfc\x55\x97\xab\x67\xae\x39\x5d\x3b\x7d\x9d\x7d\xbd\xed\ +\x86\xfd\x8d\xd6\x1e\xbb\x9e\x96\x5f\xec\x7e\x69\xe9\xb5\xef\x6d\ +\xbd\xe9\x70\xb3\xfd\x96\xe3\xad\x8e\xbe\x05\x7d\xe7\xfa\x5d\xfb\ +\x2f\xde\xf6\xba\x7d\xe5\x8e\xff\x9d\x1b\x03\x8b\x06\xfa\xee\x2e\ +\xbe\x7b\xff\x5e\xdc\x3d\xe9\x7d\xde\xfd\xd1\x07\xa9\x0f\x5e\x3f\ +\xcc\x7a\x38\xfd\x68\xfd\x63\xec\xe3\xa2\x27\x0a\x4f\x2a\x9e\xaa\ +\x3f\xad\xfd\xd5\xf8\xd7\x66\xa9\xbd\xf4\xec\xa0\xd7\x60\xcf\xb3\ +\x88\x67\x8f\x86\xb8\x43\x2f\xff\x95\xf9\xaf\x4f\xc3\x05\xcf\xa9\ +\xcf\x2b\x46\xb4\x46\xea\x47\xad\x47\xcf\x8c\xf9\x8c\xdd\x7a\xb1\ +\xf4\xc5\xf0\xcb\x8c\x97\xd3\xe3\x85\xbf\x29\xfe\xb6\xf7\x95\xd1\ +\xab\x9f\x7e\x77\xfb\xbd\x67\x62\xc9\xc4\xf0\x6b\xd1\xeb\x99\x3f\ +\x4a\xde\xa8\xbe\x39\xfa\xd6\xf6\x6d\xe7\x64\xe8\xe4\xd3\x77\x69\ +\xef\xa6\xa7\x8a\xde\xab\xbe\x3f\xf6\x81\xfd\xa1\xfb\x63\xf4\xc7\ +\x91\xe9\xec\x4f\xf8\x4f\x95\x9f\x8d\x3f\x77\x7c\x09\xfc\xf2\x78\ +\x26\x6d\x66\xe6\xdf\xf7\x84\xf3\xfb\x32\x3a\x59\x7e\x00\x00\x00\ +\x09\x70\x48\x59\x73\x00\x00\x1e\xc2\x00\x00\x1e\xc2\x01\x6e\xd0\ +\x75\x3e\x00\x00\x01\xd5\x69\x54\x58\x74\x58\x4d\x4c\x3a\x63\x6f\ +\x6d\x2e\x61\x64\x6f\x62\x65\x2e\x78\x6d\x70\x00\x00\x00\x00\x00\ +\x3c\x78\x3a\x78\x6d\x70\x6d\x65\x74\x61\x20\x78\x6d\x6c\x6e\x73\ +\x3a\x78\x3d\x22\x61\x64\x6f\x62\x65\x3a\x6e\x73\x3a\x6d\x65\x74\ +\x61\x2f\x22\x20\x78\x3a\x78\x6d\x70\x74\x6b\x3d\x22\x58\x4d\x50\ +\x20\x43\x6f\x72\x65\x20\x35\x2e\x34\x2e\x30\x22\x3e\x0a\x20\x20\ +\x20\x3c\x72\x64\x66\x3a\x52\x44\x46\x20\x78\x6d\x6c\x6e\x73\x3a\ +\x72\x64\x66\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\ +\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x30\x32\x2f\x32\ +\x32\x2d\x72\x64\x66\x2d\x73\x79\x6e\x74\x61\x78\x2d\x6e\x73\x23\ +\x22\x3e\x0a\x20\x20\x20\x20\x20\x20\x3c\x72\x64\x66\x3a\x44\x65\ +\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x20\x72\x64\x66\x3a\x61\x62\ +\x6f\x75\x74\x3d\x22\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\ +\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3a\x74\x69\x66\x66\x3d\x22\x68\ +\x74\x74\x70\x3a\x2f\x2f\x6e\x73\x2e\x61\x64\x6f\x62\x65\x2e\x63\ +\x6f\x6d\x2f\x74\x69\x66\x66\x2f\x31\x2e\x30\x2f\x22\x3e\x0a\x20\ +\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x74\x69\x66\x66\x3a\x43\x6f\ +\x6d\x70\x72\x65\x73\x73\x69\x6f\x6e\x3e\x35\x3c\x2f\x74\x69\x66\ +\x66\x3a\x43\x6f\x6d\x70\x72\x65\x73\x73\x69\x6f\x6e\x3e\x0a\x20\ +\x20\x20\x20\x20\x20\x20\x20\x20\x3c\x74\x69\x66\x66\x3a\x50\x68\ +\x6f\x74\x6f\x6d\x65\x74\x72\x69\x63\x49\x6e\x74\x65\x72\x70\x72\ +\x65\x74\x61\x74\x69\x6f\x6e\x3e\x32\x3c\x2f\x74\x69\x66\x66\x3a\ +\x50\x68\x6f\x74\x6f\x6d\x65\x74\x72\x69\x63\x49\x6e\x74\x65\x72\ +\x70\x72\x65\x74\x61\x74\x69\x6f\x6e\x3e\x0a\x20\x20\x20\x20\x20\ +\x20\x20\x20\x20\x3c\x74\x69\x66\x66\x3a\x4f\x72\x69\x65\x6e\x74\ +\x61\x74\x69\x6f\x6e\x3e\x31\x3c\x2f\x74\x69\x66\x66\x3a\x4f\x72\ +\x69\x65\x6e\x74\x61\x74\x69\x6f\x6e\x3e\x0a\x20\x20\x20\x20\x20\ +\x20\x3c\x2f\x72\x64\x66\x3a\x44\x65\x73\x63\x72\x69\x70\x74\x69\ +\x6f\x6e\x3e\x0a\x20\x20\x20\x3c\x2f\x72\x64\x66\x3a\x52\x44\x46\ +\x3e\x0a\x3c\x2f\x78\x3a\x78\x6d\x70\x6d\x65\x74\x61\x3e\x0a\xb0\ +\xe3\x32\xdd\x00\x00\x32\x02\x49\x44\x41\x54\x78\x01\xed\x9d\x0b\ +\xb0\x1d\x55\x99\xef\x57\x9e\x24\x3c\x05\x42\x08\x21\x01\x21\x12\ +\x30\x3c\x46\x50\x40\x18\x35\x40\x02\x0a\xc3\xc5\xf1\xa2\x88\x97\ +\x87\x58\x17\x86\xba\x26\x53\x8c\x50\x22\x16\x52\x16\x35\x73\x2d\ +\x19\x73\x0b\x19\x14\x50\x01\x05\x1d\xc0\x19\x40\xef\xbd\x82\x17\ +\x54\x82\xc8\x43\x67\xd0\x10\x4c\xf1\x08\x04\x82\x90\x98\xf0\x48\ +\x48\x30\x81\x24\x24\xb9\xdf\xbf\x93\x6f\x67\x65\x73\xce\x3e\xbb\ +\xf7\xd9\xdd\xbb\x1f\xbf\x55\xf5\x65\xad\xee\xdd\xdd\x6b\xf5\x6f\ +\xed\xac\xdf\x59\xdd\x7b\xf7\x0e\x81\x04\x01\x08\x40\x00\x02\x10\ +\x80\x00\x04\x20\x00\x01\x08\x40\x00\x02\x10\x80\x00\x04\x20\x00\ +\x01\x08\x40\x00\x02\x10\x80\x00\x04\x20\x00\x01\x08\x40\x00\x02\ +\x10\x80\x00\x04\x20\x00\x01\x08\x40\x00\x02\x10\x80\x00\x04\x20\ +\x00\x01\x08\x40\x00\x02\x10\x80\x00\x04\x20\xd0\x0d\x02\x43\xba\ +\x71\x90\x92\x1d\xa3\x8e\xe7\x5c\xb2\x2e\xa2\xb9\x10\x28\x1d\x81\ +\x8d\xa5\x6b\x71\x87\x0d\xae\xda\x00\x1a\x9f\x8f\x97\x9b\xf3\xbe\ +\x50\xf9\x36\x7d\xbd\xc6\x3a\x08\x40\x00\x02\x31\x81\x56\x82\x88\ +\x5f\xf3\x72\x73\x1e\x1f\xab\x74\xe5\xb2\x0f\x96\xde\x7e\xe5\x1e\ +\xea\x84\x1d\x2c\x0e\xb1\xd8\xc7\xe2\xdd\x16\x7b\x6f\x8e\x1d\x86\ +\x0e\x1d\x3a\x6a\xc8\x90\x21\xa3\x86\x0d\x1b\xb6\xcd\x86\x0d\x1b\ +\x46\xd8\x7a\xed\x47\x82\x00\x04\x20\x90\x96\xc0\x86\x8d\x1b\x37\ +\xae\xb1\x78\xcb\xc6\x92\xb7\x6c\xe7\xb5\x16\x2f\x5b\x2c\xb4\x78\ +\x7e\x73\xfe\x8c\xe5\x4f\x59\x48\x1c\x1e\x56\xdc\xaa\xac\xe5\xd2\ +\xa4\x32\x0e\x98\x6a\xb3\xb7\x5b\xf9\x50\x8b\x3d\x2c\xa6\x5a\x1c\ +\x6d\x71\x94\xc5\x41\x16\xc3\x2c\x48\x10\x80\x00\x04\x7a\x4d\x60\ +\x99\x35\xe0\x11\x8b\x87\x2c\x1e\xb4\xf8\x9d\xc5\x06\x0b\x97\x88\ +\xe7\xb6\xaa\xf8\xc9\x07\xdf\xa2\xb7\xd4\xdb\xa9\xdc\x45\xb1\xbb\ +\x95\xff\xab\xc5\xa7\x2c\xfe\x7a\xf3\x7a\xcb\xfa\x4f\xc3\x87\x0f\ +\x0f\x23\x47\x8e\x6c\xc4\x88\x11\x23\x82\xcd\x3a\xfa\xdf\x81\x57\ +\x20\x00\x01\x08\xf4\x43\xc0\x66\x17\x61\xed\xda\xb5\x49\xac\x59\ +\xb3\x26\xc9\x6d\xd6\xd1\xcf\xd6\x5b\xad\x5e\x62\x4b\xb7\x5b\xfc\ +\x9b\x45\xe9\x04\x52\xf4\x11\xd3\x25\xe1\xb9\x66\x15\x27\x5a\xfc\ +\xbd\xc5\x31\x16\xef\x98\x4d\xd8\x65\xa7\x70\xc8\x21\x87\x84\xa3\ +\x8e\x3a\x2a\x4c\x9e\x3c\x39\xbc\xfb\xdd\xef\x4e\x62\x9f\x7d\xf6\ +\x09\x3b\xee\xb8\xa3\xed\x42\x82\x00\x04\x20\xd0\x7d\x02\x12\xc6\ +\xa2\x45\x8b\xc2\xf3\xcf\x3f\xdf\x88\x39\x73\xe6\x84\x87\x1e\x7a\ +\x28\xbc\xfa\xea\xab\xfd\x55\xb8\xd0\x5e\xb8\xc1\xe2\x3b\x16\xaf\ +\x5b\x34\xcf\x40\x6c\x55\xb1\x52\x51\xa5\xe1\x92\x50\x2e\x51\x6c\ +\x63\xf1\xdf\x2c\xfe\xc1\xe2\xbd\x16\x5b\xa5\x29\x53\xa6\x84\x53\ +\x4f\x3d\x35\x7c\xe4\x23\x1f\x09\x47\x1e\x79\x64\xd8\x61\x07\xdd\ +\xd2\x20\x41\x00\x02\x10\xe8\x3d\x01\xc9\xe4\xa9\xa7\x9e\x0a\x0f\ +\x3e\xf8\x60\xb8\xfb\xee\xbb\xc3\xcf\x7f\xfe\xf3\xa0\x99\x49\x53\ +\x5a\x69\xcb\x92\xc7\xbf\x58\x2c\xb2\xd0\x94\x25\x16\x88\x2d\x16\ +\x23\x15\x4d\x1a\xcd\xb2\x90\x30\x24\x8b\x7f\xb2\x18\x1f\x23\x7b\ +\xcf\x7b\xde\x13\x4e\x3f\xfd\xf4\xf0\xe9\x4f\x7f\x3a\x1c\x74\x90\ +\x6e\x61\x90\x20\x00\x01\x08\x14\x9f\xc0\x8a\x15\x2b\xc2\x4f\x7e\ +\xf2\x93\x70\xeb\xad\xb7\x86\x5f\xfe\xf2\x97\x41\x97\xb9\xa2\xb4\ +\xd6\xca\xd7\x59\x68\xcc\x2b\xe4\xcc\xa3\x48\xd2\xf0\x59\x85\xe7\ +\x87\x1b\xb4\xff\x65\x71\xa4\x45\x23\x7d\xf8\xc3\x1f\x0e\x5f\xfc\ +\xe2\x17\xc3\xc9\x27\x9f\xcc\xfd\x88\x06\x15\x0a\x10\x80\x40\x19\ +\x09\x3c\xfb\xec\xb3\x61\xd6\xac\x59\xe1\xa6\x9b\x6e\x0a\x6f\xbd\ +\xa5\x0f\x60\x35\xd2\x52\x2b\x7d\xc5\xe2\x87\x16\xb2\x4a\x3c\xeb\ +\x68\xeb\xc6\x89\xed\x93\x49\x2a\x82\x34\xd4\x06\x17\x85\x66\x16\ +\xdb\x5b\x7c\xc3\xe2\x73\x9b\xd7\x5b\x16\xc2\x29\xa7\x9c\x12\x2e\ +\xbd\xf4\xd2\x70\xc4\x11\x47\x24\xcb\xfc\x03\x01\x08\x40\xa0\x2a\ +\x04\x96\x2e\x5d\x1a\xbe\xf9\xcd\x6f\x86\xab\xae\xba\x2a\xbc\xf9\ +\xe6\x9b\xf1\x69\xfd\xd6\x16\xfe\xbb\xc5\xb3\x16\xcd\xf2\x88\xb7\ +\xcb\xad\xdc\x6b\x69\xc4\xb2\x90\x30\x0e\xb3\xb8\xd9\xe2\x3d\x4e\ +\xe0\xc0\x03\x0f\x4c\x60\x4e\x9f\x3e\xdd\x57\x91\x43\x00\x02\x10\ +\xa8\x24\x81\x17\x5e\x78\x21\x5c\x78\xe1\x85\xe1\xce\x3b\xef\x8c\ +\xcf\xef\x0d\x5b\xb8\xc0\xe2\x56\x8b\xf5\x16\x3e\xeb\x50\x9e\x7b\ +\xd2\x40\xdd\xab\xa4\xba\x15\xfa\x04\x94\xe2\x0b\x16\xf7\x5b\x24\ +\xc2\xd0\xcd\x6c\x59\xf7\xb1\xc7\x1e\x0b\x08\xc3\xa8\x90\x20\x00\ +\x81\xca\x13\xd8\x7b\xef\xbd\xc3\x1d\x77\xdc\x11\xee\xbd\xf7\xde\ +\xb0\xdf\x7e\xfb\xf9\xf9\xea\x93\x3d\x37\x5a\x7c\xd7\x42\x65\x8d\ +\x97\x3e\x7e\xe6\xfe\x87\x7f\xee\x15\xda\xc9\xaa\xce\x78\x86\x31\ +\xda\x96\xbf\x67\xa1\xef\x5b\x24\x49\x97\xa0\x6e\xb9\xe5\x96\x30\ +\x69\xd2\x24\x5f\x45\x0e\x01\x08\x40\xa0\x56\x04\x56\xad\x5a\x15\ +\x3e\xff\xf9\xcf\x87\x9b\x6f\xbe\x39\x3e\xef\xb9\xb6\xf0\x09\x8b\ +\xc5\x16\xf1\xac\x23\xb7\xfb\x1c\xb2\x55\x9e\x29\x16\x86\x6c\xb9\ +\xab\xc5\xff\xb1\x48\x84\x61\x8f\xf8\x08\x97\x5c\x72\x49\xf2\xd1\ +\x34\x84\x91\x67\xb7\x50\x17\x04\x20\x50\x34\x02\xdb\x6d\xb7\x5d\ +\x72\x83\xfc\x87\x3f\xfc\x61\xd8\x7e\x7b\xdd\xea\x4d\xd2\x5f\xd9\ +\xbf\xf7\x59\x1c\x60\x31\xdc\xc2\x67\x1d\xb9\x4d\x00\x72\xab\xc8\ +\x4e\x2e\x9e\x5d\xe8\x44\xf7\xb2\xf8\x89\xc5\x14\x8b\x20\x40\xb7\ +\xdd\x76\x5b\xf2\xa9\x28\x2d\x93\x20\x00\x01\x08\x40\x60\x13\x81\ +\x27\x9f\x7c\x32\x9c\x78\xe2\x89\x41\xf7\x3c\x36\x27\x7d\x5b\xf0\ +\x93\x16\xff\x61\xf1\xb6\x85\xee\x6f\x28\x32\x9f\x71\xe4\x25\x8d\ +\x66\x61\xe8\x59\x51\xbf\xb0\x48\xae\x3f\x8d\x1d\x3b\x36\xfc\xec\ +\x67\x3f\x0b\x87\x1f\xae\x4f\xd9\x92\x20\x00\x01\x08\x40\xa0\x99\ +\xc0\xe2\xc5\x8b\x13\x71\x3c\xfe\xf8\xe3\xfe\xd2\x4a\x2b\xe8\x09\ +\x19\x73\x2c\x74\xa9\x2a\xbe\x5c\x65\x8b\xd9\xa4\x3c\x2e\x4f\x35\ +\x0b\x43\x97\xa4\xfe\xb7\x45\x22\x0c\xdd\xec\x79\xe4\x91\x47\x10\ +\x46\x36\xfd\xcb\x51\x21\x00\x81\x8a\x10\x18\x3f\x7e\x7c\x78\xe0\ +\x81\x07\xc2\x31\xc7\x1c\xe3\x67\xa4\xe7\x22\xe9\x63\x56\xba\x63\ +\xae\xab\x37\x0a\x8d\xe9\x99\x4e\x06\x32\x3d\xf8\xe6\xc6\xeb\x24\ +\x14\x3a\x21\xdd\xf9\xd7\x3d\x8c\x0f\x5a\x04\x7d\x52\x40\x5f\xad\ +\x9f\x30\x61\x82\x16\x49\x10\x80\x00\x04\x20\x30\x00\x81\xd5\xab\ +\x57\x87\xe3\x8f\x3f\x3e\x3c\xfc\xf0\xc3\xbe\xe5\x42\x2b\x1c\x6f\ +\xa1\xc7\x8f\x64\x3e\xe3\xc8\x52\x1a\x3a\xb6\xc2\x0d\x38\xc2\xca\ +\x37\x5b\xfc\xad\x45\xd0\x25\x29\x09\x23\xfa\x58\x99\x56\x93\x20\ +\x00\x01\x08\x40\x60\x00\x02\xcb\x97\x2f\x4f\x9e\xb5\x37\x6f\xde\ +\x3c\xdf\x52\x97\xa8\x24\x8e\xd5\x16\x99\xde\xe3\xd0\x0c\x20\x8b\ +\xe4\xc2\xf0\x19\x86\x84\xf1\x3f\x2c\x12\x61\xec\xb4\xd3\x4e\xe1\ +\x9e\x7b\xee\x41\x18\x59\x90\xe7\x98\x10\x80\x40\xe5\x09\xec\xbc\ +\xf3\xce\xc9\x18\xaa\xab\x35\x9b\xd3\xa1\x96\xff\x4f\x8b\xe6\x4f\ +\x54\x75\x7d\x62\xd0\xf5\x03\x6e\x3e\x01\xc9\x22\x16\x86\x9e\x1f\ +\x75\xb7\xc5\x48\xfd\x7e\xc5\x4f\x7f\xfa\xd3\xe4\xb1\x20\x9b\xb7\ +\x25\x83\x00\x04\x20\x00\x81\x0e\x08\xe8\xcb\xcf\xfa\x19\x88\xe8\ +\xb9\x55\x67\xdb\x61\x7e\x6a\xb1\xce\x22\x9e\x71\x74\x70\xf4\xbe\ +\x77\xd1\xa5\xa3\x6e\x27\x89\x28\x16\x86\x7f\x17\x63\x17\x55\xa4\ +\x87\x0d\xce\x9c\x39\xb3\xdb\x75\x72\x3c\x08\x40\x00\x02\xb5\x23\ +\x30\x6e\xdc\xb8\x30\x66\xcc\x98\x70\xd7\x5d\x77\xf9\xb9\x1f\x67\ +\x05\x49\x63\x85\x85\x7f\xfc\xd6\x73\xdf\x66\x50\x79\xb7\xa5\x11\ +\x0b\x43\xd3\x24\x5d\x96\xfa\x9a\xc5\x31\x16\xe1\x43\x1f\xfa\x50\ +\xd0\x17\x55\xf4\x25\x3e\x12\x04\x20\x00\x01\x08\x0c\x9e\xc0\x07\ +\x3e\xf0\x81\xf0\xf4\xd3\x4f\x87\xcd\xf7\x37\x46\xd9\x11\x27\x59\ +\xe8\x53\x55\x92\x45\x57\x85\x61\xc7\xeb\xfa\x47\xb3\x7c\x86\x21\ +\x19\x8d\xb4\xd0\x17\x2f\xee\xb5\x18\xaa\x2f\xef\xe9\x0b\x2a\x13\ +\x27\x4e\xb4\x45\x12\x04\x20\x00\x01\x08\x74\x8b\xc0\xca\x95\x2b\ +\xc3\x7b\xdf\xfb\xde\xa0\xef\x72\x6c\x4e\x67\x59\xfe\x7f\x2d\xf4\ +\xfb\x1c\xba\x4c\xe5\xdf\xe1\xb0\xe2\xe0\x52\x37\xff\xe4\xd7\x2c\ +\xc3\x67\x1a\x9a\x65\x48\x1a\xfa\x3d\x8c\xa4\x8e\xcb\x2f\xbf\x1c\ +\x61\x18\x0c\x12\x04\x20\x00\x81\x6e\x13\xd0\x4f\x59\x5f\x79\xe5\ +\x95\xf1\x61\x75\x85\x47\x5f\x71\x68\xbe\x31\x1e\x6f\xd3\x51\xb9\ +\x5b\x97\xa7\x5c\x18\x6a\xa0\x5f\x96\xfa\x9c\x95\x75\x53\x26\xf9\ +\xcd\xee\x1b\x6f\xbc\x91\xcb\x52\x82\x41\x82\x00\x04\x20\x90\x01\ +\x01\xfd\x8c\x84\x7e\x8f\xfc\xb9\xe7\x9e\xd3\xd1\x77\xb2\xd0\x63\ +\x45\x1e\xb2\xe8\xea\x65\x2a\x0d\xf6\xdd\x48\x3a\x8e\x04\xe4\x33\ +\x8c\x6d\xad\xac\x67\xa2\x24\xd7\xa2\x74\x22\x47\x1f\x7d\xb4\x2d\ +\x92\x20\x00\x01\x08\x40\x20\x2b\x02\xf3\xe7\xcf\x4f\x7e\xfe\x7a\ +\xdd\x3a\x7d\x78\x2a\xb9\x19\xae\x8f\xe2\x2e\xb3\xd0\x65\x2a\xad\ +\x94\x48\x14\x1d\xa7\x6e\x5c\x9e\x92\x30\x74\x1c\x85\x8b\xe3\x74\ +\x2b\x27\xc2\x38\xe9\xa4\x93\x10\x86\xc1\x20\x41\x00\x02\x10\xc8\ +\x9a\xc0\xe4\xc9\x93\xc3\x59\x67\xe9\x76\x46\x92\x34\xdb\x38\xd7\ +\x42\x7f\xcc\x6b\x6c\x56\x68\xbc\x1e\xd4\x64\x61\x50\x3b\x5b\xe5\ +\x4a\x2e\x0c\x7d\x52\x4a\xf7\x31\x34\xcb\xd0\x94\x68\x1f\x8b\xe4\ +\xab\xee\xfa\x1c\x31\x09\x02\x10\x80\x00\x04\xb2\x27\xf0\xcc\x33\ +\xcf\x84\x03\x0e\x38\x20\x6c\xd8\x90\x4c\x28\xf4\x34\x5c\x7d\x20\ +\xe9\x75\x8b\x35\x16\x83\xbe\x29\x3e\xd8\x99\x86\x5b\xcb\x2d\x26\ +\xa3\xfd\x17\x8b\x44\x18\xd3\xa6\x4d\x4b\xbe\x78\x62\xcb\x24\x08\ +\x40\x00\x02\x10\xc8\x81\x80\x1e\xcd\x74\xda\x69\xa7\x79\x4d\x63\ +\xac\xa0\x2b\x3f\x1a\x9b\x15\x1a\xf3\x7d\xdc\xb6\x62\xfa\x34\x58\ +\x69\xa8\x46\x9f\x69\xa8\x41\x9a\x6d\x7c\x5a\x2b\x95\xf4\x83\x4a\ +\x24\x08\x40\x00\x02\x10\xc8\x97\xc0\x97\xbe\xf4\xa5\xb8\x42\x19\ +\x44\x63\xb3\xff\x71\xef\xe2\x88\xb7\x69\xbb\x2c\xe3\x0c\x26\xa9\ +\x11\x2e\x0b\x7d\xa9\x64\x82\xc5\x7f\x6a\xdd\x5e\x7b\xed\x15\x16\ +\x2e\x5c\x18\xf4\xd8\x10\x12\x04\x20\x00\x01\x08\xe4\x4b\xe0\x7d\ +\xef\x7b\x5f\x98\x3b\x77\xae\x57\xfa\x11\x2b\x3c\x69\xa1\x4b\x54\ +\xfe\xdd\x0d\x5d\xbf\x4a\xfd\xe5\xbf\xc1\xcc\x34\x7c\x8a\xa3\x63\ +\xb8\x3c\x4e\xb5\xb2\x24\x12\xce\x3c\xf3\x4c\x84\x21\x10\x24\x08\ +\x40\x00\x02\x3d\x20\x10\xdd\x10\x57\xed\xfa\x95\x3f\x8d\xcd\x1a\ +\xab\x7b\x36\xd3\x50\xc5\xf1\x2c\x63\xb4\x2d\xeb\xa1\x84\x07\x5b\ +\x84\xa7\x9e\x7a\x2a\xec\xbf\xff\xfe\x2a\x92\x20\x00\x81\x1e\x12\ +\xd0\x0d\xd1\xba\x3f\xba\xa7\x8e\x0c\xf4\xed\x70\x3d\x81\x63\xf3\ +\x0d\xf1\x17\xec\x2d\xf8\x61\x8b\xd5\x16\xcd\xb3\x8d\x54\xef\xce\ +\x4e\x67\x1a\xcd\xb3\x0c\xd9\x6b\xac\xc5\x41\xaa\xfd\xb0\xc3\x0e\ +\x43\x18\x02\x41\x82\x40\x8f\x09\xdc\x74\xd3\x4d\xc9\x6f\xd7\x1c\ +\x77\xdc\x71\xe1\x95\x57\x5e\xe9\x71\x6b\x7a\x53\xfd\xf7\xbe\xf7\ +\xbd\xe4\xa1\x7e\x27\x9c\x70\x42\x58\xb6\x4c\x5f\x59\xa8\x47\xd2\ +\x2f\xfd\x4d\x9d\x3a\xd5\x4f\x76\x6f\x2b\xbc\xdb\x22\x9e\x6d\x74\ +\x34\xe3\xe8\x54\x1a\x6a\x88\xf6\x55\xf8\xa5\x29\x7d\x7b\x4f\x32\ +\x09\xd3\xa7\x4f\x57\x46\x82\x00\x04\x7a\x48\x40\x4f\x61\xf8\xdc\ +\xe7\x3e\x17\x5e\x7b\xed\xb5\x30\x7b\xf6\xec\x50\x47\x71\x5c\x7b\ +\xed\xb5\xe1\xfc\xf3\xcf\x0f\xfa\xd1\xa2\x5f\xfc\xe2\x17\xc9\xd8\ +\x54\x27\x71\xe8\x13\xac\x51\xfa\x6b\x2b\xc7\xd2\xf0\x3f\xfe\xa3\ +\x4d\x06\x2e\x76\x2a\x0d\xaf\x2c\x96\x86\x1a\x94\x24\xbd\x39\x49\ +\x10\x80\x40\xef\x08\xdc\x70\xc3\x0d\xe1\xdc\x73\xcf\x0d\x1b\x37\ +\x6e\xb9\xcf\xa9\xa7\xa0\xd6\x49\x1c\x12\xc6\x8c\x19\x33\xb6\x62\ +\x30\x67\xce\x9c\x5a\x89\xe3\xd8\x63\x8f\x8d\xdf\x84\xfa\xc2\x9c\ +\x4b\xc3\xef\x6d\xc4\xaf\xb7\x55\x1e\x8c\x34\xb4\x6f\x2c\x0d\xfd\ +\xd0\x52\x18\x31\x62\x44\xf2\x08\xf4\xb6\x6a\x67\x23\x08\x40\xa0\ +\xeb\x04\x24\x8c\xf3\xce\x3b\xaf\x31\x58\x4e\xdf\x65\xd7\xb0\xab\ +\xfd\xbf\x54\xaa\x8b\x38\x9a\x85\xf1\xb1\x5d\xc7\x84\x9d\x87\x6f\ +\x62\x50\x27\x71\x1c\x7e\xf8\xe1\x41\x4f\x18\xdf\x9c\x8e\xb0\x5c\ +\xb2\x70\x61\xe8\x8f\x7f\x8d\xe1\xca\xdb\x4e\x9d\x48\xa3\x79\x96\ +\xa1\x06\xec\x68\xb1\x8f\x6a\xd5\xb3\xdd\xa3\x46\x6a\x15\x09\x02\ +\x10\xc8\x89\x80\x2e\x49\xc5\xc2\x38\x65\xcc\xd8\xf0\xf9\x09\x7b\ +\x87\x7f\xdc\x77\x72\x6d\xc4\xd1\x2c\x8c\x53\xc7\x8e\x0b\x7f\xb7\ +\xe7\x5e\xe1\x1f\x27\xed\x57\x3b\x71\xe8\x8f\xf8\x0f\x7e\xf0\x83\ +\xfe\xee\x1b\x67\x05\xdd\x7b\x76\x69\xa4\x16\x86\x0e\xd4\xa9\x34\ +\xb4\x9f\x87\x1a\xb0\xaf\x0e\xa6\xa4\x27\x2d\x92\x20\x00\x81\xfc\ +\x09\x48\x18\xf1\x25\x29\x09\xe3\x9c\xf1\xfa\xea\x54\x08\xe3\xb6\ +\xd9\xa6\x16\xe2\xe8\x4b\x18\x67\x8c\x1b\x9f\x30\x18\xbf\xcd\xa8\ +\x5a\x8a\x63\xca\x94\x29\xc9\xf9\x6f\xfe\x67\x92\xe5\x1a\xb3\x5d\ +\x1c\x3e\x09\x88\xb7\x69\x59\xee\x44\x1a\x3a\xa0\x57\xe4\x95\xbf\ +\xc7\x6b\xd1\x03\xb3\x48\x10\x80\x40\xbe\x04\x5a\x09\xc3\x5b\x52\ +\x75\x71\xb4\x12\x86\x33\xa8\xa3\x38\x9a\xc6\x64\x5d\x11\x72\x61\ +\x68\xfc\xf7\xb1\xdc\x11\x0d\x98\x77\x22\x0d\xaf\x44\xfb\x2a\xd4\ +\x00\x35\x24\x49\x7c\x37\xc3\x49\x90\x43\x20\x1f\x02\xed\x08\xc3\ +\x5b\x52\x55\x71\xb4\x23\x0c\x67\x50\x37\x71\xe8\x59\x54\x51\x72\ +\x69\x34\x8b\x23\xda\xa4\x75\x31\xad\x34\x9a\x85\xe1\xd2\xd0\x67\ +\x80\x93\xd4\x64\x35\x5f\x4d\x0e\x01\x08\x64\x40\x20\x8d\x30\xbc\ +\xfa\xaa\x89\x23\x8d\x30\x9c\x41\x9d\xc4\xd1\x24\x8d\xbd\x8c\x81\ +\xff\xc1\xef\xe3\xb9\xb0\xa8\xdc\x56\x4a\x2b\x0d\x1d\xd4\x2b\x72\ +\x61\x28\xd7\x8d\xf0\x24\x8d\x1d\xab\xfb\x2c\x24\x08\x40\x20\x6b\ +\x02\x9d\x08\xc3\xdb\x54\x15\x71\x74\x22\x0c\x67\x50\x17\x71\xec\ +\xb6\xdb\x6e\x7e\xca\xca\xf5\x13\xb0\xcd\xb3\x8c\xb6\x85\xa1\x03\ +\xa4\x95\x86\x0b\xc3\x73\x17\x87\x7e\x43\x23\x49\x3b\xec\xa0\x36\ +\x91\x20\x00\x81\x2c\x09\x0c\x46\x18\xde\xae\xb2\x8b\x63\x30\xc2\ +\x70\x06\x75\x10\x47\xd3\xa7\x59\xf5\xb8\x27\x8d\xdb\x1e\x3e\x96\ +\xb7\x2d\x8e\xb4\xd2\x10\x6b\xaf\x44\xfb\xaa\xac\x3c\x91\xc6\xc8\ +\x91\x23\x93\xef\x69\xd8\x32\x09\x02\x10\xc8\x88\x40\x37\x84\xe1\ +\x4d\x2b\xab\x38\xba\x21\x0c\x67\x50\x75\x71\xe8\xb9\x63\xa3\x46\ +\xe9\x21\xe4\x49\x8a\xa5\xe1\x63\x79\xdb\xc2\xd0\x11\xd2\x4a\xc3\ +\x0f\xee\x95\x69\xff\x86\x34\xb6\xdf\x7e\xfb\xa4\x55\xfc\x03\x01\ +\x08\x64\x43\xa0\x9b\xc2\xf0\x16\x96\x4d\x1c\xdd\x14\x86\x33\xa8\ +\xba\x38\xa2\xd9\x86\xec\xa1\x31\xdb\xc7\xf0\x78\x4c\x77\x1c\x2d\ +\xf3\xb4\xd2\xd0\xc1\xe2\xca\xbc\xbc\x8d\x5e\x18\x3d\x5a\x12\x23\ +\x41\x00\x02\x59\x10\xc8\x42\x18\xde\xce\xb2\x88\x23\x0b\x61\x38\ +\x83\x2a\x8b\x23\x9a\x69\x68\xac\xf6\x71\x3b\xce\x1d\xc3\x80\x79\ +\x27\xd2\xd0\x41\xe3\xca\xbc\xcc\xef\x67\x0c\x88\x9b\x0d\x20\xd0\ +\x19\x81\x2c\x85\xe1\x2d\x2a\xba\x38\xb2\x14\x86\x33\xa8\xaa\x38\ +\xa2\x1f\xc3\xd3\x78\xdd\x3c\xd3\xd0\xba\xb6\x53\x5a\x69\x34\x04\ +\x61\x35\x78\x39\x55\x85\x6d\xb7\x8c\x0d\x21\x00\x81\x84\x40\x1e\ +\xc2\x70\xd4\x45\x15\x47\x1e\xc2\x70\x06\x55\x15\x87\x9f\x9f\xe5\ +\x7d\x8d\xdd\x6d\x8f\xe3\x69\xa5\xe1\xf5\x7a\x05\x5e\xb9\xaf\x27\ +\x87\x00\x04\xba\x48\x20\x4f\x61\x78\xb3\x8b\x26\x8e\x3c\x85\xe1\ +\x0c\x6a\x22\x0e\x9d\xae\x8f\xe5\x7e\xea\x03\xe6\x9d\x48\xc3\x2b\ +\x69\xce\x07\xac\x8c\x0d\x20\x00\x81\xf6\x09\xf4\x42\x18\xde\xba\ +\xa2\x88\xa3\x17\xc2\x70\x06\x15\x16\x47\xf3\xd8\xed\xcb\x7e\xea\ +\x2d\xf3\x4e\xa4\x11\x1f\x30\x55\x65\xf1\x8e\x94\x21\x00\x81\xfe\ +\x09\xf4\x52\x18\xde\xaa\x5e\x8b\xa3\x97\xc2\x70\x06\x35\x10\x87\ +\x9f\x6a\xdb\x79\xa7\xd2\x88\x65\x11\x97\xdb\xae\x98\x0d\x21\x00\ +\x81\xbe\x09\x14\x41\x18\xde\xb2\x5e\x89\xa3\x08\xc2\x70\x06\x15\ +\x14\x47\x3c\x66\xc7\x65\x3f\xe5\x96\x79\xa7\xd2\x68\x79\x50\x5e\ +\x84\x00\x04\x3a\x23\x50\x24\x61\xf8\x19\xe4\x2d\x8e\x22\x09\xc3\ +\x19\x54\x50\x1c\x7e\x6a\xa9\x73\xa4\x91\x1a\x19\x3b\x40\x20\x1b\ +\x02\x45\x14\x86\x9f\x69\x5e\xe2\x28\xa2\x30\x9c\x01\xe2\xd8\x44\ +\x22\x8d\x34\x52\x4f\x63\x1c\x36\x39\x04\x20\xd0\x9a\x40\x91\x85\ +\xe1\x2d\xcf\x5a\x1c\x45\x16\x86\x33\xa8\xb8\x38\xda\x1a\xe3\xd3\ +\x48\xc3\xb9\x91\x43\x00\x02\x5d\x24\x50\x06\x61\xf8\xe9\x66\x25\ +\x8e\x32\x08\xc3\x19\x54\x5c\x1c\x7e\x9a\xfd\xe6\x83\x91\x46\x5b\ +\x56\xea\xb7\x66\x5e\x80\x00\x04\x42\x99\x84\xe1\xdd\xd5\x6d\x71\ +\x94\x49\x18\xce\xa0\x22\xe2\xe8\x68\x0c\x4f\x2b\x8d\xe6\x4a\x9a\ +\x97\x9d\x29\x39\x04\x20\x30\x00\x81\x32\x0a\xc3\x4f\xa9\x5b\xe2\ +\x28\xa3\x30\x9c\x41\xc9\xc5\xd1\x3c\x76\x37\x2f\xfb\x69\xbe\x23\ +\x4f\x2b\x8d\x77\x1c\x80\x15\x10\x80\x40\x7a\x02\x65\x16\x86\x9f\ +\xed\x60\xc5\x51\x66\x61\x38\x83\x92\x8b\xc3\x4f\x23\x55\x8e\x34\ +\x52\xe1\x62\x63\x08\x0c\x9e\x40\x15\x84\xe1\x14\x3a\x15\x47\x15\ +\x84\xe1\x0c\xb6\x88\x63\x78\xb2\x6a\xce\x9c\x39\x61\xfa\xf4\xe9\ +\x61\xd9\xb2\x65\xbe\x49\xa5\x72\xa4\x51\xa9\xee\xe4\x64\x8a\x4e\ +\xa0\x4a\xc2\x70\xd6\x69\xc5\x51\x25\x61\x38\x83\x4d\xe2\x98\x1c\ +\x76\x1e\x5e\x7d\x71\x20\x0d\xef\x75\x72\x08\x64\x4c\xa0\x8a\xc2\ +\x70\x64\xed\x8a\xa3\x8a\xc2\x70\x06\x75\x11\x07\xd2\xf0\x1e\x27\ +\x87\x40\x86\x04\xaa\x2c\x0c\xc7\x36\x90\x38\xaa\x2c\x0c\x67\x50\ +\x07\x71\x20\x0d\xef\x6d\x72\x08\x64\x44\xe0\x86\x1b\x6e\x08\xe7\ +\x9e\x7b\x6e\xd8\xb8\x71\x63\x52\xc3\x29\x63\xc6\x86\x73\xc6\x4f\ +\xc8\xa8\xb6\xde\x1e\xb6\x3f\x71\x7c\xfd\xeb\x5f\x0f\x33\x66\xcc\ +\x68\x30\x38\x75\xec\xb8\x70\xc6\xb8\xf1\xbd\x6d\x6c\x46\xb5\x57\ +\x5d\x1c\x48\x23\xa3\x37\x0e\x87\x85\x80\x08\xfc\xe0\x07\x3f\x08\ +\xe7\x9d\x77\x5e\x63\xb0\xac\xb2\x30\xbc\xc7\xfb\x12\xc7\x97\xbf\ +\xfc\xe5\x06\x83\x2a\x0b\xc3\x19\xf4\x27\x8e\x15\x2b\x56\xf8\x26\ +\xa5\xcd\x91\x46\x69\xbb\x8e\x86\x17\x9d\xc0\xba\x75\xeb\xc2\x85\ +\x17\x5e\xd8\x18\x2c\x4f\xd8\x65\x4c\x65\x67\x18\xcd\x7d\xd1\x2c\ +\x0e\x7f\xbd\x0e\xc2\xf0\x73\x75\x71\x8c\x1a\xba\x69\x98\xd5\xa7\ +\xaa\xae\xbf\xfe\x7a\x7f\xb9\xb4\x39\xd2\x28\x6d\xd7\xd1\xf0\xa2\ +\x13\x18\x31\x62\x44\xd8\x7f\xff\xfd\x1b\xcd\x9c\xfb\x97\x95\xe1\ +\xd5\xb5\x6b\x1b\xcb\x55\x2f\xb8\x38\xf6\x18\xb9\x4d\xf2\xa3\xd4\ +\xa7\x55\xf8\x92\x54\x7f\x7d\xf9\xf0\xeb\xcb\xc3\x5b\x1b\x36\x34\ +\x5e\x3e\xe8\xa0\x83\x1a\xe5\xb2\x16\x90\x46\x59\x7b\x8e\x76\x97\ +\x82\xc0\x1d\x77\xdc\x11\x26\x4f\x9e\x9c\xb4\x75\xa9\x09\xe3\xb2\ +\xe7\xe6\xd7\x4e\x1c\x57\xef\x3f\x25\xdc\x38\xe5\x90\x70\x7a\x45\ +\xef\x61\xf4\xf7\x46\xfc\xf7\xa5\x7f\x0e\xb7\x58\x78\x9a\x35\x6b\ +\x56\xf8\xe8\x47\x3f\xea\x8b\xa5\xcd\x91\x46\x69\xbb\x8e\x86\x97\ +\x81\xc0\xf8\xf1\xe3\xc3\xec\xd9\xb3\x6b\x2d\x8e\xa1\x43\x86\x84\ +\x1d\x37\x7f\x7f\xa1\x0c\x7d\xd6\x8d\x36\xde\x6e\xb2\xb8\xb5\x49\ +\x18\x17\x5d\x74\x51\x37\x0e\xdd\xf3\x63\x20\x8d\x9e\x77\x01\x0d\ +\xa8\x3a\x01\xc4\x51\xf5\x1e\xde\xfa\xfc\x24\x8c\xe6\x19\x46\x55\ +\x84\xa1\x33\x45\x1a\x5b\xf7\x37\x4b\x10\xc8\x84\x00\xe2\xc8\x04\ +\x6b\xe1\x0e\x5a\x75\x61\x08\x38\xd2\x28\xdc\xdb\x8e\x06\x55\x95\ +\x00\xe2\xa8\x6a\xcf\x6e\x3a\xaf\x3a\x08\x43\x67\x8a\x34\xaa\xfd\ +\x3e\xe6\xec\x0a\x46\x00\x71\x14\xac\x43\xba\xd4\x9c\xba\x08\x43\ +\xb8\x90\x46\x97\xde\x34\x1c\x06\x02\xed\x12\x40\x1c\xed\x92\x2a\ +\xc7\x76\x75\x12\x86\x7a\x04\x69\x94\xe3\x7d\x49\x2b\x2b\x46\x00\ +\x71\x54\xa3\x43\xeb\x26\x0c\xf5\x1a\xd2\xa8\xc6\x7b\x97\xb3\x28\ +\x21\x01\xc4\x51\xc2\x4e\x8b\x9a\x7c\xfb\xd2\x25\x95\xfe\x94\x54\ +\x74\xaa\x5b\x15\x91\xc6\x56\x38\x58\x80\x40\xbe\x04\x10\x47\xbe\ +\xbc\xbb\x55\xdb\x26\x61\x2c\x6e\x1c\x4e\x5f\xdc\xab\xd2\xc7\x6a\ +\x1b\x27\xd6\x47\x01\x69\xf4\x01\x85\x55\x10\xc8\x93\x00\xe2\xc8\ +\x93\xf6\xe0\xeb\xaa\xb3\x30\x44\x0f\x69\x0c\xfe\x3d\xc4\x11\x20\ +\x30\x68\x02\x88\x63\xd0\x08\x73\x39\x40\xdd\x85\x21\xc8\x48\x23\ +\x97\xb7\x1a\x95\x40\x60\x60\x02\x88\x63\x60\x46\xbd\xdc\x02\x61\ +\x6c\xa2\x8f\x34\x7a\xf9\x2e\xa4\x6e\x08\x34\x11\x40\x1c\x4d\x40\ +\x0a\xb2\x88\x30\xb6\x74\x04\xd2\xd8\xc2\x82\x12\x04\x0a\x41\x00\ +\x71\x14\xa2\x1b\x1a\x8d\x40\x18\x0d\x14\x49\x01\x69\x6c\xcd\x83\ +\x25\x08\x14\x82\x00\xe2\x28\x44\x37\x04\x84\xf1\xce\x7e\x40\x1a\ +\xef\x64\xc2\x1a\x08\x14\x82\x00\xe2\xe8\x6d\x37\x20\x8c\xbe\xf9\ +\x23\x8d\xbe\xb9\xb0\x16\x02\x85\x20\x80\x38\x7a\xd3\x0d\x08\xa3\ +\x7f\xee\x48\xa3\x7f\x36\xbc\x02\x81\x42\x10\x40\x1c\xf9\x76\x03\ +\xc2\x68\xcd\x1b\x69\xb4\xe6\xc3\xab\x10\x28\x04\x01\xc4\x91\x4f\ +\x37\x20\x8c\x81\x39\x23\x8d\x81\x19\xb1\x05\x04\x0a\x41\x00\x71\ +\x64\xdb\x0d\x08\xa3\x3d\xbe\x48\xa3\x3d\x4e\x6c\x05\x81\x42\x10\ +\x40\x1c\xd9\x74\x03\xc2\x68\x9f\x2b\xd2\x68\x9f\x15\x5b\x42\xa0\ +\x10\x04\x10\x47\x77\xbb\x01\x61\xa4\xe3\x89\x34\xd2\xf1\x62\x6b\ +\x08\x14\x82\x00\xe2\xe8\x4e\x37\x20\x8c\xf4\x1c\x91\x46\x7a\x66\ +\xec\x01\x81\x42\x10\x40\x1c\x83\xeb\x06\x84\xd1\x19\x3f\xa4\xd1\ +\x19\x37\xf6\x82\x40\x21\x08\x20\x8e\xce\xba\x01\x61\x74\xc6\x4d\ +\x7b\x21\x8d\xce\xd9\xb1\x27\x04\x0a\x41\x00\x71\xa4\xeb\x06\x84\ +\x91\x8e\x57\xf3\xd6\x48\xa3\x99\x08\xcb\x10\x28\x21\x01\xc4\xd1\ +\x5e\xa7\x21\x8c\xf6\x38\xb5\xda\x0a\x69\xb4\xa2\xc3\x6b\x10\x28\ +\x11\x01\xc4\xd1\xba\xb3\x10\x46\x6b\x3e\xed\xbe\x8a\x34\xda\x25\ +\xc5\x76\x10\x28\x01\x01\xc4\xd1\x77\x27\x21\x8c\xbe\xb9\x74\xb2\ +\x16\x69\x74\x42\x8d\x7d\x20\x50\x60\x02\x7d\x89\xe3\x9f\x9e\x7f\ +\x36\x6c\xdc\xb8\xb1\xc0\xad\xce\xae\x69\x0f\xbf\xbe\x3c\xdc\xb2\ +\x74\x71\xa3\x82\x59\xb3\x66\x85\x8b\x2e\xba\xa8\xb1\x4c\x21\x1d\ +\x01\xa4\x91\x8e\x17\x5b\x43\xa0\x14\x04\x24\x8e\xb3\xcf\x3e\xbb\ +\xd1\xd6\x45\x6b\xde\x0a\xab\xd6\xaf\x6f\x2c\xd7\xa9\x30\x7f\xf5\ +\xaa\xc6\xe9\x36\x73\x69\xbc\x40\xa1\x6d\x02\x48\xa3\x6d\x54\x6c\ +\x08\x81\xf2\x10\xb8\xf6\xda\x6b\xc3\x65\x97\x5d\xd6\x68\xf0\xa9\ +\x63\xc7\x85\xed\x87\x0f\x6f\x2c\xd7\xa9\x70\xf2\x98\xb1\x61\xd7\ +\x11\x23\x92\x53\x5e\xbc\x78\x71\x38\xee\xb8\xe3\xc2\x2b\xaf\xbc\ +\x52\x27\x04\x5d\x3d\x57\xa4\xd1\x55\x9c\x1c\x0c\x02\xbd\x27\x20\ +\x61\xcc\x98\x31\xa3\x71\x39\x4a\xc2\x38\x7d\xdc\xf8\xde\x37\xac\ +\x47\x2d\x18\x33\x72\x64\xf8\xc7\x7d\x27\x37\xc4\x31\x6f\xde\x3c\ +\xc4\x31\x88\xbe\x40\x1a\x83\x80\xc7\xae\x10\x28\x1a\x81\xbe\x84\ +\x71\x46\x8d\x85\xe1\xfd\x33\x6e\x9b\x6d\x10\x87\xc3\x18\x64\x8e\ +\x34\x06\x09\x90\xdd\x21\x50\x14\x02\x08\xa3\x75\x4f\x20\x8e\xd6\ +\x7c\xda\x7d\x15\x69\xb4\x4b\x8a\xed\x20\x50\x60\x02\x08\xa3\xbd\ +\xce\x41\x1c\xed\x71\x6a\xb5\x15\xd2\x68\x45\x87\xd7\x20\x50\x02\ +\x02\x08\x23\x5d\x27\x21\x8e\x74\xbc\x9a\xb7\x46\x1a\xcd\x44\x58\ +\x86\x40\x89\x08\x20\x8c\xce\x3a\x0b\x71\x74\xc6\x4d\x7b\x21\x8d\ +\xce\xd9\xb1\x27\x04\x7a\x4a\x00\x61\x0c\x0e\x3f\xe2\xe8\x8c\x1f\ +\xd2\xe8\x8c\x1b\x7b\x41\xa0\xa7\x04\x10\x46\x77\xf0\x23\x8e\xf4\ +\x1c\x91\x46\x7a\x66\xec\x01\x81\x9e\x12\x40\x18\xdd\xc5\x8f\x38\ +\xd2\xf1\x44\x1a\xe9\x78\xb1\x35\x04\x7a\x4a\x00\x61\x64\x83\x1f\ +\x71\xb4\xcf\x15\x69\xb4\xcf\x8a\x2d\x21\xd0\x53\x02\x08\x23\x5b\ +\xfc\x88\xa3\x3d\xbe\x48\xa3\x3d\x4e\x6c\x05\x81\x9e\x12\x40\x18\ +\xf9\xe0\x47\x1c\x03\x73\x46\x1a\x03\x33\x62\x0b\x08\xf4\x94\x00\ +\xc2\xc8\x17\x3f\xe2\x68\xcd\x1b\x69\xb4\xe6\xc3\xab\x10\xe8\x29\ +\x01\x84\xd1\x1b\xfc\x88\xa3\x7f\xee\x48\xa3\x7f\x36\xbc\x02\x81\ +\x9e\x12\x40\x18\x3d\xc5\x1f\x10\x47\xdf\xfc\x91\x46\xdf\x5c\x58\ +\x0b\x81\x9e\x12\x40\x18\x3d\xc5\xdf\xa8\x1c\x71\x34\x50\x34\x0a\ +\x48\xa3\x81\x82\x02\x04\x8a\x41\x00\x61\x14\xa3\x1f\xbc\x15\x88\ +\xc3\x49\x6c\xca\x91\xc6\xd6\x3c\x58\x82\x40\x4f\x09\x20\x8c\x9e\ +\xe2\xef\xb7\x72\xc4\xb1\x05\x0d\xd2\xd8\xc2\x82\x12\x04\x7a\x4a\ +\x00\x61\xf4\x14\xff\x80\x95\x23\x8e\x4d\x88\x90\xc6\x80\x6f\x15\ +\x36\x80\x40\xf6\x04\x10\x46\xf6\x8c\xbb\x51\x03\xe2\xe0\x29\xb7\ +\xdd\x78\x1f\x71\x0c\x08\x0c\x8a\x00\xc2\x18\x14\xbe\xdc\x77\xae\ +\xbb\x38\x98\x69\xe4\xfe\x96\xa3\x42\x08\x6c\x21\x80\x30\xb6\xb0\ +\x28\x53\xa9\xce\xe2\x40\x1a\x65\x7a\xa7\xd2\xd6\x4a\x11\x40\x18\ +\xe5\xee\xce\xba\x8a\x03\x69\x94\xfb\x7d\x4b\xeb\x4b\x4a\x00\x61\ +\x94\xb4\xe3\x9a\x9a\x5d\x47\x71\x20\x8d\xa6\x37\x01\x8b\x10\xc8\ +\x9a\x00\xc2\xc8\x9a\x70\xbe\xc7\xaf\x9b\x38\x90\x46\xbe\xef\x2f\ +\x6a\xab\x39\x01\x84\x51\xcd\x37\x40\x9d\xc4\x81\x34\xaa\xf9\x1e\ +\xe6\xac\x0a\x48\x00\x61\x14\xb0\x53\xba\xd8\xa4\xba\x88\x03\x69\ +\x74\xf1\x4d\xc3\xa1\x20\xd0\x1f\x01\x84\xd1\x1f\x99\x6a\xad\xaf\ +\x83\x38\x90\x46\xb5\xde\xb3\x9c\x4d\x01\x09\x20\x8c\x02\x76\x4a\ +\x86\x4d\xaa\xba\x38\x90\x46\x86\x6f\x1e\x0e\x0d\x81\xef\x7e\xf7\ +\xbb\x61\xc6\x8c\x19\x61\xe3\xc6\x8d\x09\x8c\x53\xc7\x8e\x0b\x67\ +\x8c\x1b\x5f\x2b\x30\xbf\x5d\xb1\x3c\xfc\xeb\x92\x45\x61\xd9\xba\ +\x75\xb5\x39\xef\xfe\xc4\xb1\x7c\xf9\xf2\xd2\x33\x40\x1a\xa5\xef\ +\x42\x4e\xa0\xa8\x04\xd6\xd9\x20\x79\xf1\xc5\x17\x37\x84\x71\xe2\ +\xae\x63\x6a\x27\x8c\x3b\x5e\x5e\x12\xfe\xf9\x85\xe7\xc3\x1d\x2f\ +\x2f\x0d\x97\x2e\x78\x3a\xbc\xba\x76\x6d\x51\xbb\xab\xeb\xed\x72\ +\x71\x8c\x1e\xba\x69\x98\x9d\x37\x6f\x5e\xb8\xfe\xfa\xeb\xbb\x5e\ +\x4f\xde\x07\x44\x1a\x79\x13\xa7\xbe\xda\x10\x18\x31\x62\x44\x38\ +\xf8\xe0\x83\x1b\xe7\xfb\xe8\xca\x95\xe1\xe5\xb5\x6b\x1a\xcb\x55\ +\x2f\x48\x18\xff\xba\x64\x71\xe3\x34\x97\x9a\x30\x2e\x7b\x6e\x7e\ +\xad\xc4\x31\x7b\xf9\x6b\xe1\xcd\x0d\x1b\x1a\x0c\x0e\x3b\xec\xb0\ +\x46\xb9\xac\x05\xa4\x51\xd6\x9e\xa3\xdd\xa5\x20\x70\xc7\x1d\x77\ +\x84\x29\x53\xa6\x24\x6d\x7d\x65\x9d\x0d\x9a\x0b\x9e\xa9\x85\x38\ +\x9a\x85\x31\x76\xec\xd8\x84\x41\x9d\xc4\x71\xab\x09\xf3\xdf\x4d\ +\x9c\x9e\xae\xbe\xfa\xea\x30\x6d\xda\x34\x5f\x2c\x6d\x8e\x34\x4a\ +\xdb\x75\x34\xbc\x0c\x04\x34\x58\xce\x9e\x3d\xbb\x56\xe2\x68\x16\ +\xc6\xac\x59\xb3\xc2\x9c\x39\x73\xc2\xe4\xc9\x93\x93\x2e\xab\x83\ +\x38\xfa\x12\xc6\xcc\x99\x33\xcb\xf0\x96\x1d\xb0\x8d\x48\x63\x40\ +\x44\x6c\x00\x81\xc1\x11\xa8\x93\x38\xfa\x12\xc6\x45\x17\x5d\x14\ +\xc6\x8f\x1f\x9f\xc8\xb3\x0e\xe2\xa8\xb2\x30\xf4\x3f\x01\x69\x0c\ +\x6e\x3c\x60\x6f\x08\xb4\x45\xa0\x0e\xe2\xe8\x4f\x18\x0e\xa8\x0e\ +\xe2\xa8\xba\x30\xd4\x97\x48\xc3\xdf\xd1\xe4\x10\xc8\x98\x40\x95\ +\xc5\x31\x90\x30\x1c\x6d\x95\xc5\x51\x07\x61\xa8\x1f\x91\x86\xbf\ +\x9b\xc9\x21\x90\x03\x81\x2a\x8a\xa3\x5d\x61\x38\xde\x2a\x8a\xa3\ +\x2e\xc2\x50\x1f\x22\x0d\x7f\x27\x93\x43\x20\x27\x02\x55\x12\x47\ +\x5a\x61\x38\xe2\x2a\x89\xa3\x4e\xc2\x50\xff\x21\x0d\x7f\x17\x93\ +\x43\x20\x47\x02\x55\x10\x47\xa7\xc2\x70\xcc\x55\x10\x47\xdd\x84\ +\xa1\xbe\x43\x1a\xfe\x0e\x26\x87\x40\xce\x04\xca\x2c\x8e\xc1\x0a\ +\xc3\x51\x97\x59\x1c\x75\x14\x86\xfa\x0d\x69\xf8\xbb\x97\x1c\x02\ +\x3d\x20\x50\x46\x71\x74\x4b\x18\x8e\xbb\x8c\xe2\xa8\xab\x30\xd4\ +\x67\x48\xc3\xdf\xb9\xe4\x10\xe8\x11\x81\x32\x89\xa3\xdb\xc2\x70\ +\xe4\x65\x12\x47\x9d\x85\xa1\xfe\x42\x1a\xfe\xae\x25\x87\x40\x0f\ +\x09\x94\x41\x1c\x59\x09\xc3\xb1\x97\x41\x1c\x75\x17\x86\xfa\x0a\ +\x69\xf8\x3b\x96\x1c\x02\x3d\x26\x50\x64\x71\x64\x2d\x0c\x47\x5f\ +\x64\x71\x20\x8c\x4d\xbd\x84\x34\xfc\xdd\x4a\x0e\x81\x02\x10\x28\ +\xa2\x38\xf2\x12\x86\xe3\x2f\xa2\x38\x10\x86\xf7\x0e\x33\x8d\x2d\ +\x24\x28\x41\xa0\x20\x04\x8a\x24\x8e\xbc\x85\xe1\x5d\x50\x24\x71\ +\x20\x0c\xef\x95\x4d\x39\x33\x8d\xad\x79\xb0\x04\x81\x42\x10\x28\ +\x82\x38\x7a\x25\x0c\xef\x80\x22\x88\x03\x61\x78\x6f\x6c\xc9\x91\ +\xc6\x16\x16\x94\x20\x50\x28\x02\xbd\x14\x47\xaf\x85\xe1\x1d\xd1\ +\x4b\x71\x20\x0c\xef\x85\xad\x73\xa4\xb1\x35\x0f\x96\x20\x50\x28\ +\x02\xbd\x10\x47\x51\x84\xe1\x1d\xd1\x0b\x71\x20\x0c\xa7\xff\xce\ +\x1c\x69\xbc\x93\x09\x6b\x20\x50\x28\x02\x79\x8a\xa3\x68\xc2\xf0\ +\x8e\xc8\x53\x1c\x08\xc3\xa9\xf7\x9d\x23\x8d\xbe\xb9\xb0\x16\x02\ +\x85\x22\x90\x87\x38\x6e\x5f\xba\xf5\x6f\x7a\xeb\x17\xf7\xf4\x03\ +\x4a\x45\x49\x79\x88\x03\x61\x0c\xdc\xdb\x48\x63\x60\x46\x6c\x01\ +\x81\x42\x10\xc8\x52\x1c\x12\xc6\x2d\x4b\x17\x37\xce\xb3\x68\xc2\ +\xf0\x86\x65\x29\x0e\x84\xe1\x94\x5b\xe7\x48\xa3\x35\x1f\x5e\x85\ +\x40\xa1\x08\x64\x21\x8e\xb2\x08\xc3\x3b\x22\x0b\x71\x20\x0c\xa7\ +\x3b\x70\x8e\x34\x06\x66\xc4\x16\x10\x28\x14\x81\x6e\x8a\xa3\x6c\ +\xc2\xf0\x8e\xe8\xa6\x38\x10\x86\x53\x6d\x2f\x47\x1a\xed\x71\x62\ +\x2b\x08\x14\x8a\x40\x37\xc4\x51\x56\x61\x78\x47\x74\x43\x1c\x08\ +\xc3\x69\xb6\x9f\x23\x8d\xf6\x59\xb1\x25\x04\x0a\x45\x60\x30\xe2\ +\x28\xbb\x30\xbc\x23\x06\x23\x0e\x84\xe1\x14\xd3\xe5\x48\x23\x1d\ +\x2f\xb6\x86\x40\xa1\x08\x74\x22\x8e\xaa\x08\xc3\x3b\xa2\x13\x71\ +\x20\x0c\xa7\x97\x3e\x47\x1a\xe9\x99\xb1\x07\x04\x0a\x45\x20\x8d\ +\x38\xaa\x26\x0c\xef\x88\x34\xe2\x40\x18\x4e\xad\xb3\x1c\x69\x74\ +\xc6\x8d\xbd\x20\x50\x28\x02\xed\x88\xa3\xaa\xc2\xf0\x8e\x68\x47\ +\x1c\x08\xc3\x69\x75\x9e\x23\x8d\xce\xd9\xb1\x27\x04\x0a\x45\xa0\ +\x95\x38\xaa\x2e\x0c\xef\x88\x56\xe2\x40\x18\x4e\x69\x70\xf9\x90\ +\x14\xbb\x6b\xdb\xe1\x16\x23\x2c\x46\x59\x6c\x6b\xb1\xbd\xc5\x0e\ +\x16\x77\x59\xec\x36\x61\xc2\x84\xf0\xe2\x8b\x2f\x5a\x91\x04\x01\ +\x08\xf4\x8a\xc0\xcb\x2f\xbf\x1c\x8e\x3d\xf6\xd8\xf0\xc4\x13\x4f\ +\x24\x4d\xd8\x76\xe8\xb0\xb0\x7a\xc3\xfa\x46\x73\x8a\xfa\xc5\xbd\ +\x46\x03\xbb\x50\x58\xbc\x78\x71\xc2\x60\xfe\xfc\xf9\x7d\x32\xb8\ +\xfa\xea\xab\xc3\xcc\x99\x33\xbb\x50\x53\x39\x0e\x31\x71\xe2\xc4\ +\xf0\xd2\x4b\x2f\xa9\xb1\xaf\x58\xfc\x8d\xc5\x1b\x16\x7f\xb1\x58\ +\x6d\xf1\x96\xc5\x3a\x8b\xb7\x2d\x36\x5a\xb4\x4c\xcc\x34\x5a\xe2\ +\xe1\x45\x08\x94\x8f\x40\xf3\x8c\xa3\x6e\xc2\x50\x8f\x35\xcf\x38\ +\x62\x06\x75\x13\x46\xb7\xdf\xc1\x48\xa3\xdb\x44\x39\x1e\x04\x0a\ +\x40\xa0\x59\x1c\x6a\x52\x1d\x66\x18\x31\xfa\x66\x71\xe8\x35\x84\ +\x11\x13\xea\xac\xac\xcb\x4d\x24\x08\x40\xa0\x82\x04\x24\x8e\x07\ +\x1e\x78\x20\x7c\xe7\x3b\xdf\x09\x87\x1e\x7a\x68\x38\xf1\xc4\x13\ +\x2b\x78\x96\xad\x4f\x49\xe2\x78\xf0\xc1\x07\x13\x06\x47\x1c\x71\ +\x44\x38\xe1\x84\x13\x5a\xef\xc0\xab\x03\x12\xe0\x9e\xc6\x80\x88\ +\xd8\x00\x02\x10\x80\x40\xb9\x09\x70\x4f\xa3\xdc\xfd\x47\xeb\x21\ +\x00\x01\x08\x94\x96\x00\xf7\x34\x4a\xdb\x75\x34\x1c\x02\x10\x80\ +\x40\xfe\x04\x90\x46\xfe\xcc\xa9\x11\x02\x10\x80\x40\x69\x09\x20\ +\x8d\xd2\x76\x1d\x0d\x87\x00\x04\x20\x90\x3f\x01\xa4\x91\x3f\x73\ +\x6a\x84\x00\x04\x20\x50\x5a\x02\x48\xa3\xb4\x5d\x47\xc3\x21\x00\ +\x01\x08\xe4\x4f\x00\x69\xe4\xcf\x9c\x1a\x21\x00\x01\x08\x94\x96\ +\x00\xd2\x28\x6d\xd7\xd1\x70\x08\x40\x00\x02\xf9\x13\x40\x1a\xf9\ +\x33\xa7\x46\x08\x40\x00\x02\xa5\x25\x80\x34\x4a\xdb\x75\x34\x1c\ +\x02\x10\x80\x40\xfe\x04\x90\x46\xfe\xcc\xa9\x11\x02\x10\x80\x40\ +\x69\x09\x20\x8d\xd2\x76\x1d\x0d\x87\x00\x04\x20\x90\x3f\x01\xa4\ +\x91\x3f\x73\x6a\x84\x00\x04\x20\x50\x5a\x02\x48\xa3\xb4\x5d\x47\ +\xc3\x21\x00\x01\x08\xe4\x4f\x00\x69\xe4\xcf\x9c\x1a\x21\x00\x01\ +\x08\x94\x96\x00\xd2\x28\x6d\xd7\xd1\x70\x08\x40\x00\x02\xf9\x13\ +\x40\x1a\xf9\x33\xa7\x46\x08\x40\x00\x02\xa5\x25\x80\x34\x4a\xdb\ +\x75\x34\x1c\x02\x10\x80\x40\xfe\x04\x90\x46\xfe\xcc\xa9\x11\x02\ +\x10\x80\x40\x69\x09\x20\x8d\xd2\x76\x1d\x0d\x87\x00\x04\x20\x90\ +\x3f\x01\xa4\x91\x3f\x73\x6a\x84\x00\x04\x20\x50\x5a\x02\x48\xa3\ +\xb4\x5d\x47\xc3\x21\x00\x01\x08\xe4\x4f\x00\x69\xe4\xcf\x9c\x1a\ +\x21\x00\x01\x08\x94\x96\x00\xd2\x28\x6d\xd7\xd1\x70\x08\x40\x00\ +\x02\xf9\x13\x40\x1a\xf9\x33\xa7\x46\x08\x40\x00\x02\xa5\x25\x80\ +\x34\x4a\xdb\x75\x34\x1c\x02\x10\x80\x40\xfe\x04\x90\x46\xfe\xcc\ +\xa9\x11\x02\x10\x80\x40\x69\x09\x20\x8d\xd2\x76\x1d\x0d\x87\x00\ +\x04\x20\x90\x3f\x01\xa4\x91\x3f\x73\x6a\x84\x00\x04\x20\x50\x5a\ +\x02\x48\xa3\xb4\x5d\x47\xc3\x21\x00\x01\x08\xe4\x4f\x00\x69\xe4\ +\xcf\x9c\x1a\x21\x00\x01\x08\x94\x96\x00\xd2\x28\x6d\xd7\xd1\x70\ +\x08\x40\x00\x02\xf9\x13\x40\x1a\xf9\x33\xa7\x46\x08\x40\x00\x02\ +\xa5\x25\x80\x34\x4a\xdb\x75\x34\x1c\x02\x10\x80\x40\xfe\x04\x90\ +\x46\xfe\xcc\xa9\x11\x02\x10\x80\x40\x69\x09\x20\x8d\xd2\x76\x1d\ +\x0d\x87\x00\x04\x20\x90\x3f\x01\xa4\x91\x3f\x73\x6a\x84\x00\x04\ +\x20\x50\x5a\x02\x48\xa3\xb4\x5d\x47\xc3\x21\x00\x01\x08\xe4\x4f\ +\x00\x69\xe4\xcf\x9c\x1a\x21\x00\x01\x08\x94\x96\x00\xd2\x28\x6d\ +\xd7\xd1\x70\x08\x40\x00\x02\xf9\x13\x40\x1a\xf9\x33\xa7\x46\x08\ +\x40\x00\x02\xa5\x25\x80\x34\x4a\xdb\x75\x34\x1c\x02\x10\x80\x40\ +\xfe\x04\x90\x46\xfe\xcc\xa9\x11\x02\x10\x80\x40\x69\x09\x0c\x2f\ +\x6d\xcb\x33\x6a\xf8\x05\x17\x5c\x10\xee\xba\xeb\xae\x8c\x8e\x5e\ +\xfc\xc3\x3e\xfd\xf4\xd3\x61\xd8\xb0\x61\x6d\x35\xb4\x6a\xac\xae\ +\xb8\xe2\x8a\x70\xea\xa9\xa7\x0e\x78\xee\x5f\xfb\xda\xd7\xc2\x8d\ +\x37\xde\x38\xe0\x76\x6c\xb0\x35\x81\xbd\xf6\xda\x2b\xdc\x77\xdf\ +\x7d\x5b\xaf\x64\xa9\x74\x04\x90\x46\x53\x97\x2d\x59\xb2\x24\x2c\ +\x58\xb0\xa0\x69\x6d\x7d\x16\x37\x6e\xdc\xd8\xf6\xc9\x2e\x5d\xba\ +\xb4\x52\xac\x56\xae\x5c\xd9\xd6\xb9\xbf\xf6\xda\x6b\x95\x3a\xef\ +\xb6\x4e\xba\x0b\x1b\xa5\x79\x6f\x75\xa1\x3a\x0e\x91\x11\x01\x2e\ +\x4f\x65\x04\x96\xc3\x42\x00\x02\x10\xa8\x22\x01\xa4\x51\xc5\x5e\ +\xe5\x9c\x20\x00\x01\x08\x64\x44\x00\x69\x64\x04\x96\xc3\x42\x00\ +\x02\x10\xa8\x22\x01\xa4\x51\xc5\x5e\xe5\x9c\x20\x00\x01\x08\x64\ +\x44\x00\x69\x64\x04\x96\xc3\x42\x00\x02\x10\xa8\x22\x01\xa4\x51\ +\xc5\x5e\xe5\x9c\x20\x00\x01\x08\x64\x44\x00\x69\x64\x04\x96\xc3\ +\x42\x00\x02\x10\xa8\x22\x01\xa4\x51\xc5\x5e\xe5\x9c\x20\x00\x01\ +\x08\x64\x44\x00\x69\x64\x04\x96\xc3\x42\x00\x02\x10\xa8\x22\x01\ +\xa4\x51\xc5\x5e\xe5\x9c\x20\x00\x01\x08\x64\x44\x00\x69\x64\x04\ +\x96\xc3\x42\x00\x02\x10\xa8\x22\x01\xa4\x51\xc5\x5e\xe5\x9c\x20\ +\x00\x01\x08\x64\x44\x00\x69\x64\x04\x96\xc3\x42\x00\x02\x10\xa8\ +\x22\x01\x9e\x72\x5b\xc5\x5e\xcd\xe9\x9c\x76\xd9\x65\x97\xb0\xe7\ +\x9e\x7b\xa6\xae\x6d\xfd\xfa\xf5\x41\x4f\x13\xce\x22\x0d\x1f\x3e\ +\x3c\xec\xbe\xfb\xee\x1d\x1d\x7a\xbb\xed\xb6\xeb\x68\x3f\x76\x82\ +\x40\x9d\x08\x20\x8d\x3a\xf5\x76\x97\xcf\xf5\x9a\x6b\xae\x09\x8a\ +\xb4\xe9\xcf\x7f\xfe\x73\x18\x3f\x7e\x7c\xda\xdd\xda\xda\x7e\xca\ +\x94\x29\x61\xee\xdc\xb9\x6d\x6d\xcb\x46\x10\x80\x40\x7a\x02\x48\ +\x23\x3d\xb3\x8e\xf7\xf8\xf6\xb7\xbf\xdd\xf1\x5f\xc1\x1d\x57\x9a\ +\x72\xc7\x76\x7f\x80\x29\xe5\x61\x2b\xb5\xf9\x67\x3f\xfb\xd9\x70\ +\xf4\xd1\x47\xe7\x76\x4e\x17\x5f\x7c\x71\x78\xee\xb9\xe7\x32\xa9\ +\xef\xba\xeb\xae\x0b\x63\xc6\x8c\xc9\xe4\xd8\xcd\x07\x65\x26\xd7\ +\x4c\xa4\x9c\xcb\x48\x23\xc7\x7e\xfb\xd8\xc7\x3e\x16\xf6\xdd\x77\ +\xdf\x1c\x6b\xa4\xaa\x2c\x08\x1c\x72\xc8\x21\x41\x91\x57\xd2\x2f\ +\x05\x66\x95\x4e\x3a\xe9\xa4\x30\x71\xe2\xc4\xac\x0e\xcf\x71\x2b\ +\x48\x80\x1b\xe1\x15\xec\x54\x4e\x09\x02\x10\x80\x40\x56\x04\x90\ +\x46\x56\x64\x39\x2e\x04\x20\x00\x81\x0a\x12\x40\x1a\x15\xec\x54\ +\x4e\x09\x02\x10\x80\x40\x56\x04\x90\x46\x56\x64\x39\x2e\x04\x20\ +\x00\x81\x0a\x12\x40\x1a\x15\xec\x54\x4e\x09\x02\x10\x80\x40\x56\ +\x04\x90\x46\x56\x64\x39\x2e\x04\x20\x00\x81\x0a\x12\x40\x1a\x15\ +\xec\x54\x4e\x09\x02\x10\x80\x40\x56\x04\x90\x46\x56\x64\x39\x2e\ +\x04\x20\x00\x81\x0a\x12\x40\x1a\x15\xec\x54\x4e\x09\x02\x10\x80\ +\x40\x56\x04\x90\x46\x56\x64\x39\x2e\x04\x20\x00\x81\x0a\x12\x40\ +\x1a\x15\xec\x54\x4e\x09\x02\x10\x80\x40\x56\x04\x90\x46\x56\x64\ +\x39\x2e\x04\x20\x00\x81\x0a\x12\x40\x1a\x15\xec\x54\x4e\x09\x02\ +\x10\x80\x40\x56\x04\x90\x46\x56\x64\x39\x2e\x04\x20\x00\x81\x0a\ +\x12\xe0\xd1\xe8\x39\x76\xea\xc2\x85\x0b\xc3\x86\x0d\x1b\x72\xac\ +\xb1\xbd\xaa\x26\x4d\x9a\x14\x86\x0c\x19\xd2\xde\xc6\x6c\x05\x01\ +\x08\xd4\x9a\x00\xd2\xc8\xb1\xfb\xa7\x4d\x9b\x96\x63\x6d\xed\x57\ +\xf5\xe6\x9b\x6f\x86\x51\xa3\x46\xb5\xbf\x03\x5b\x42\x00\x02\xb5\ +\x25\xc0\xe5\xa9\xda\x76\x3d\x27\x0e\x01\x08\x40\x20\x3d\x01\xa4\ +\x91\x9e\x19\x7b\x40\x00\x02\x10\xa8\x2d\x01\xa4\x51\xdb\xae\xe7\ +\xc4\x21\x00\x01\x08\xa4\x27\x80\x34\xd2\x33\x63\x0f\x08\x40\x00\ +\x02\xb5\x25\x80\x34\x6a\xdb\xf5\x9c\x38\x04\x20\x00\x81\xf4\x04\ +\x90\x46\x7a\x66\xec\x01\x01\x08\x40\xa0\xb6\x04\x90\x46\x6d\xbb\ +\x9e\x13\x87\x00\x04\x20\x90\x9e\x00\xd2\x48\xcf\x8c\x3d\x20\x00\ +\x01\x08\xd4\x96\x00\xd2\xa8\x6d\xd7\x73\xe2\x10\x80\x00\x04\xd2\ +\x13\x40\x1a\xe9\x99\xb1\x07\x04\x20\x00\x81\xda\x12\x40\x1a\xb5\ +\xed\x7a\x4e\x1c\x02\x10\x80\x40\x7a\x02\x48\x23\x3d\x33\xf6\x80\ +\x00\x04\x20\x50\x5b\x02\x48\xa3\xb6\x5d\xcf\x89\x43\x00\x02\x10\ +\x48\x4f\x00\x69\xa4\x67\xc6\x1e\x10\x80\x00\x04\x6a\x4b\x00\x69\ +\xd4\xb6\xeb\x39\x71\x08\x40\x00\x02\xe9\x09\x20\x8d\xf4\xcc\xd8\ +\x03\x02\x10\x80\x40\x6d\x09\xf0\x23\x4c\x39\x76\xfd\x1f\xff\xf8\ +\xc7\xb0\xcf\x3e\xfb\xe4\x58\x63\x7b\x55\xf1\x03\x4c\xed\x71\x62\ +\x2b\x08\x40\x20\x04\xa4\x91\xe3\xbb\x60\xdb\x6d\xb7\x0d\xdb\x6d\ +\xb7\x5d\x8e\x35\x52\x15\x04\x20\x00\x81\xee\x12\xe0\xf2\x54\x77\ +\x79\x72\x34\x08\x40\x00\x02\x95\x26\x80\x34\x2a\xdd\xbd\x9c\x1c\ +\x04\x20\x00\x81\xee\x12\x40\x1a\xdd\xe5\xc9\xd1\x20\x00\x01\x08\ +\x54\x9a\x00\xd2\xa8\x74\xf7\x72\x72\x10\x80\x00\x04\xba\x4b\x00\ +\x69\x74\x97\x27\x47\x83\x00\x04\x20\x50\x69\x02\x48\xa3\xd2\xdd\ +\xcb\xc9\x41\x00\x02\x10\xe8\x2e\x01\xa4\xd1\x5d\x9e\x1c\x0d\x02\ +\x10\x80\x40\xa5\x09\x20\x8d\x4a\x77\x2f\x27\x07\x01\x08\x40\xa0\ +\xbb\x04\x90\x46\x77\x79\x72\x34\x08\x40\x00\x02\x95\x26\x80\x34\ +\x2a\xdd\xbd\x9c\x1c\x04\x20\x00\x81\xee\x12\x40\x1a\xdd\xe5\xc9\ +\xd1\x20\x00\x01\x08\x54\x9a\x00\xd2\xa8\x74\xf7\x72\x72\x10\x80\ +\x00\x04\xba\x4b\x00\x69\x74\x97\x27\x47\x83\x00\x04\x20\x50\x69\ +\x02\x48\xa3\xd2\xdd\xcb\xc9\x41\x00\x02\x10\xe8\x2e\x01\xa4\xd1\ +\x5d\x9e\x1c\x0d\x02\x10\x80\x40\xa5\x09\x20\x8d\x4a\x77\x2f\x27\ +\x07\x01\x08\x40\xa0\xbb\x04\x90\x46\x77\x79\x72\x34\x08\x40\x00\ +\x02\x95\x26\x80\x34\x2a\xdd\xbd\x9c\x1c\x04\x20\x00\x81\xee\x12\ +\x40\x1a\xdd\xe5\xc9\xd1\x20\x00\x01\x08\x54\x9a\x00\xd2\xa8\x74\ +\xf7\x72\x72\x10\x80\x00\x04\xba\x4b\x60\x78\x77\x0f\xc7\xd1\xea\ +\x44\xe0\xf2\xcb\x2f\x0f\xf7\xdd\x77\x5f\xea\x53\x5e\xbb\x76\x6d\ +\xea\x7d\xda\xdd\x61\xc1\x82\x05\x61\xea\xd4\xa9\xed\x6e\xbe\xd5\ +\x76\x97\x5c\x72\x49\x38\xf1\xc4\x13\xb7\x5a\xc7\x02\x04\x20\xb0\ +\x35\x01\xa4\xb1\x35\x0f\x96\x52\x10\x78\xf2\xc9\x27\xc3\x03\x0f\ +\x3c\x90\x62\x8f\xec\x37\x5d\xb5\x6a\x55\xc7\x6d\x3a\xe7\x9c\x73\ +\xb2\x6f\x20\x35\x40\xa0\xe4\x04\xb8\x3c\x55\xf2\x0e\xa4\xf9\x10\ +\x80\x00\x04\xf2\x24\x80\x34\xf2\xa4\x4d\x5d\x10\x80\x00\x04\x4a\ +\x4e\x00\x69\x94\xbc\x03\x69\x3e\x04\x20\x00\x81\x3c\x09\x20\x8d\ +\x3c\x69\x53\x17\x04\x20\x00\x81\x92\x13\x40\x1a\x25\xef\x40\x9a\ +\x0f\x01\x08\x40\x20\x4f\x02\x48\x23\x4f\xda\xd4\x05\x01\x08\x40\ +\xa0\xe4\x04\x90\x46\xc9\x3b\x90\xe6\x43\x00\x02\x10\xc8\x93\x00\ +\xd2\xc8\x93\x36\x75\x41\x00\x02\x10\x28\x39\x01\xa4\x51\xf2\x0e\ +\xa4\xf9\x10\x80\x00\x04\xf2\x24\x80\x34\xf2\xa4\x4d\x5d\x10\x80\ +\x00\x04\x4a\x4e\x00\x69\x94\xbc\x03\x69\x3e\x04\x20\x00\x81\x3c\ +\x09\x20\x8d\x3c\x69\x53\x17\x04\x20\x00\x81\x92\x13\x40\x1a\x25\ +\xef\x40\x9a\x0f\x01\x08\x40\x20\x4f\x02\x48\x23\x4f\xda\xd4\x05\ +\x01\x08\x40\xa0\xe4\x04\x86\xa4\x68\xbf\xb6\xd5\xa3\xd4\x47\x58\ +\x8c\xb2\xd8\xd6\x62\x7b\x8b\x1d\x2c\xee\xb2\xd8\x6d\xc2\x84\x09\ +\xe1\xc5\x17\x5f\xb4\x22\x09\x02\x10\x80\x00\x04\x8a\x42\x60\xe2\ +\xc4\x89\xe1\xa5\x97\x5e\x52\x73\x5e\xb1\xf8\x1b\x8b\x37\x2c\xfe\ +\x62\xb1\xda\xe2\x2d\x8b\x75\x16\x6f\x5b\x6c\xb4\x68\x99\x98\x69\ +\xb4\xc4\xc3\x8b\x10\x80\x00\x04\x20\x10\x13\x40\x1a\x31\x0d\xca\ +\x10\x80\x00\x04\x20\xd0\x92\x00\xd2\x68\x89\x87\x17\x21\x00\x01\ +\x08\x40\x20\x26\x80\x34\x62\x1a\x94\x21\x00\x01\x08\x40\xa0\x25\ +\x01\xa4\xd1\x12\x0f\x2f\x42\x00\x02\x10\x80\x40\x4c\x00\x69\xc4\ +\x34\x28\x43\x00\x02\x10\x80\x40\x4b\x02\x48\xa3\x25\x1e\x5e\x84\ +\x00\x04\x20\x00\x81\x98\x00\xd2\x88\x69\x50\x86\x00\x04\x20\x00\ +\x81\x96\x04\x90\x46\x4b\x3c\xbc\x08\x01\x08\x40\x00\x02\x31\x01\ +\xa4\x11\xd3\xa0\x0c\x01\x08\x40\x00\x02\x2d\x09\x20\x8d\x96\x78\ +\x78\x11\x02\x10\x80\x00\x04\x62\x02\x69\xa5\xd1\xfc\x5c\x92\xe6\ +\xe5\xf8\xd8\x94\x21\x00\x01\x08\x40\xa0\x98\x04\x9a\xc7\xee\xe6\ +\xe5\x7e\x5b\x9d\x56\x1a\xf1\x81\xda\xae\x24\xde\x89\x32\x04\x20\ +\x00\x01\x08\x94\x97\xc0\x60\xa4\x11\x9f\xb5\x9e\x90\x18\xd6\xac\ +\x59\x13\xaf\xa3\x0c\x01\x08\x40\x00\x02\x05\x20\xb0\x76\xed\x5a\ +\x6f\x85\x9e\x64\xeb\xa9\xa3\x3f\xfc\xd3\x48\xa3\x55\x05\x6f\xaa\ +\x15\x7f\xf9\x8b\x9e\xb4\x4b\x82\x00\x04\x20\x00\x81\x22\x11\x58\ +\xb5\x6a\x95\x37\x47\x8f\x41\x1f\x54\x4a\x23\x8d\x56\x15\x25\xd2\ +\x78\xf3\xcd\x37\xc3\xfa\xf5\xeb\x5b\x6d\xc7\x6b\x10\x80\x00\x04\ +\x20\x90\x23\x81\x8d\x1b\x37\x86\xd5\xab\xf5\xb3\x19\x49\x4a\xc6\ +\x6a\x5f\x68\xca\x5b\x4d\x0c\x1a\x9b\x76\x55\x1a\x3a\x2a\xb3\x8d\ +\x06\x5b\x0a\x10\x80\x00\x04\x7a\x4e\x40\x7f\xcc\x4b\x1c\x9b\x53\ +\xcf\x66\x1a\x8d\x16\x58\x43\x54\x6e\xcc\x7d\x96\x2d\x5b\xe6\x8d\ +\x23\x87\x00\x04\x20\x00\x81\x1e\x13\x58\xbe\x7c\x79\xdc\x02\xcd\ +\x34\xe2\xf1\x3b\x7e\xad\xad\xf2\x60\x67\x1a\x5e\xf9\x12\xaf\xed\ +\xd9\x67\x9f\xf5\x22\x39\x04\x20\x00\x01\x08\xf4\x98\x40\xd3\x98\ +\xfc\xe7\xa6\xe6\xf8\x18\xde\xb4\xba\xff\xc5\x4e\xa4\xe1\x95\xc4\ +\xf9\x9f\xbc\x8a\xa7\x9f\x7e\xda\x8b\xe4\x10\x80\x00\x04\x20\xd0\ +\x63\x02\xcf\x3c\xf3\x4c\xdc\x02\xfd\x50\xb8\xc6\x6e\x1f\xbf\xf5\ +\x5a\x5c\xd6\x72\xcb\xd4\x89\x34\x74\x40\xaf\xc4\xf3\x17\xbd\x96\ +\xf9\xf3\xe7\x7b\x91\x1c\x02\x10\x80\x00\x04\x7a\x4c\xa0\x69\x4c\ +\x96\x34\x94\x34\x76\xfb\xf8\x9d\xac\x68\xf7\x9f\xb4\xd2\x88\x2b\ +\xf1\x4a\x95\x37\xa4\xf1\xe4\x93\x4f\xb6\x5b\x37\xdb\x41\x00\x02\ +\x10\x80\x40\xc6\x04\x9a\xae\xfe\xf8\x4c\x43\xb5\xfa\x18\xee\xe5\ +\xb6\x5a\x92\x56\x1a\x7e\x70\xaf\x4c\xf9\x06\x8b\xd7\x2d\x5e\xd3\ +\x8b\xbf\xfd\xed\x6f\xc3\xdb\x6f\xc7\xdf\x1f\xd1\x5a\x12\x04\x20\ +\x00\x01\x08\xe4\x4d\x40\x9f\x9a\x7a\xf8\xe1\x87\xbd\x5a\x7d\x91\ +\x4e\xf7\x9f\xe3\xf1\xdb\xcb\xbe\xcd\x80\x79\x37\xa4\xe1\x95\xfe\ +\x51\xb5\xe9\x23\xb7\x8f\x3e\xfa\xe8\x80\x15\xb3\x01\x04\x20\x00\ +\x01\x08\x64\x4b\x60\xde\xbc\x79\xe1\xd5\x57\x5f\xf5\x4a\x34\x46\ +\xfb\x1f\xfa\xfa\x63\x5f\xe5\xd4\x29\xad\x34\xbc\x12\x17\x45\xdc\ +\x80\xb9\x5e\xfb\x7d\xf7\xdd\xe7\x45\x72\x08\x40\x00\x02\x10\xe8\ +\x11\x81\xfb\xef\xbf\x3f\xae\x59\xd2\x90\x2c\x5c\x18\xf1\x38\xee\ +\x63\x7b\xbc\x7d\x9f\xe5\xb4\xd2\xd0\x41\xe2\x8a\xbc\x01\xfa\x1a\ +\xf8\x63\x5e\x03\xd2\x70\x12\xe4\x10\x80\x00\x04\x7a\x47\x60\xf6\ +\xec\xd9\x71\xe5\x1a\xa3\x5d\x18\x9e\xfb\x78\x1e\x6f\xd7\xb2\x9c\ +\x56\x1a\x5e\x81\x72\x17\x86\xe7\x8b\x6c\xdd\x52\xd5\xf6\xeb\x5f\ +\xff\x3a\xbc\xfc\xf2\xcb\x2a\x92\x20\x00\x01\x08\x40\xa0\x07\x04\ +\xde\x78\xe3\x8d\x70\xcf\x3d\xf7\x78\xcd\x2b\xac\xb0\xc0\x42\x7f\ +\xe0\x2b\x7c\xdc\x8e\xe5\x61\xab\x07\x4e\x69\xa5\xa1\x23\xba\x38\ +\xbc\x52\x6f\x84\xf2\xdf\x68\x03\xdd\x08\xbf\xed\xb6\xdb\x54\x24\ +\x41\x00\x02\x10\x80\x40\x0f\x08\xdc\x79\xe7\x9d\xf1\x33\xa7\x1e\ +\xb2\x26\xf4\x27\x0b\x8d\xe9\x6d\xa7\xb4\xd2\xf0\x83\xf7\x27\x8e\ +\x5f\x79\xcd\x37\xdf\x7c\xb3\x17\xc9\x21\x00\x01\x08\x40\x20\x67\ +\x02\x3f\xfa\xd1\x8f\xe2\x1a\x67\xdb\x42\xfc\x07\xbe\xff\xd1\x1f\ +\x8f\xe9\xf1\xf6\xfd\x96\xd3\x4a\x43\x07\x52\x25\x5e\x61\xdc\x08\ +\x95\xff\x64\xb1\xc0\x22\xfc\xfe\xf7\xbf\x0f\x4f\x3c\xf1\x84\x8a\ +\x24\x08\x40\x00\x02\x10\xc8\x91\xc0\xa2\x45\x8b\x42\x74\x6f\x59\ +\x1f\xb3\xd5\x60\xac\x31\x5a\xdf\x87\xf0\xf1\x5b\xb9\x4f\x00\xac\ +\xd8\x5e\xea\x54\x1a\xcd\xe2\x50\x43\x3c\xee\xf7\xaa\x67\xcd\x9a\ +\xe5\x45\x72\x08\x40\x00\x02\x10\xc8\x89\xc0\x95\x57\x5e\x19\x36\ +\x6c\x90\x13\x92\xf4\x6b\xfb\xd7\x85\xa1\x5c\xd1\x2c\x8e\x64\xc3\ +\x76\xfe\x19\xd2\xce\x46\x4d\xdb\x68\x9f\xe1\x16\x23\x2c\x46\x59\ +\x8c\xb6\xd8\xce\x62\xc7\xcd\xb1\x9b\xe5\x37\x68\xdd\x88\x11\x23\ +\x82\x1e\x96\xb5\xd7\x5e\x7b\xd9\x22\x09\x02\x10\x80\x00\x04\xb2\ +\x26\xa0\x27\x8d\xef\xbd\xf7\xde\xfe\x33\x15\xfa\xc9\xbe\xbf\xb3\ +\xd0\x53\x3b\xde\xb0\x58\x69\xa1\xa7\x92\xeb\x07\x36\xf4\x53\xab\ +\x7a\x5d\x7f\xf0\xfb\x65\x2a\x2b\xb6\x4e\x9d\xcc\x34\x74\x44\x9f\ +\x69\xb8\xb5\x94\xeb\x27\x5f\x15\xfa\xd6\xe1\xcf\x2d\xc2\xba\x75\ +\xeb\xc2\x37\xbe\xf1\x0d\x15\x49\x10\x80\x00\x04\x20\x90\x03\x81\ +\xab\xaf\xbe\xda\x85\xa1\xda\x66\x5b\xe8\x69\x1d\x12\x83\xc6\x67\ +\xbf\x22\xe4\x33\x8d\xb6\x65\x61\xfb\x26\xa9\x93\x99\x86\x76\x94\ +\x6c\x34\xd3\x18\x69\xa1\xd9\xc6\xb6\x16\xdb\x5b\x68\xb6\xb1\x83\ +\xc5\x1e\x16\xd7\x59\x8c\x1a\x3d\x7a\x74\xd0\x53\x16\xf7\xdc\x73\ +\x4f\x5b\x24\x41\x00\x02\x10\x80\x40\x56\x04\x5e\x7f\xfd\xf5\x30\ +\x69\xd2\xa4\xb0\xf9\x77\x8d\x24\x88\xbf\xb7\x78\xde\x42\x33\x0c\ +\xcd\x34\xf4\x47\xbd\x66\x1a\xfa\x31\x26\x9f\x65\xe8\x8f\xfe\xb6\ +\x53\xa7\x33\x0d\x55\x20\x53\xf9\x4c\xc3\x2d\xa6\x46\xc8\x66\xfa\ +\xd5\x8f\x5f\x5a\x04\xfd\x6a\xd4\x17\xbe\xf0\x05\x15\x49\x10\x80\ +\x00\x04\x20\x90\x21\x81\x4b\x2f\xbd\xd4\x85\xa1\x5a\xf4\xd0\x29\ +\xfd\x7e\x86\xc6\x64\x0f\x8d\xd5\x1a\xb7\x73\x9f\x69\x68\x86\x32\ +\xcc\x42\xf7\x36\xb6\xb1\xd0\x6c\x43\xf7\x35\xe2\xd9\xc6\x58\x5b\ +\xfe\x17\x0b\xcd\x3e\xc2\xbd\xf7\xde\x1b\x8e\x3f\xfe\x78\x15\x49\ +\x10\x80\x00\x04\x20\xd0\x65\x02\x7f\xf8\xc3\x1f\xc2\xe1\x87\x1f\ +\xee\x37\xc0\x35\x93\xf8\x07\x8b\xf8\x5e\x86\xcf\x32\xf4\xeb\x7d\ +\xfe\x07\xbe\x04\x92\xea\x12\x55\xa7\x33\x0d\x55\xe2\xa6\xf2\xd9\ +\x86\x9b\x4c\x8d\x51\xe8\x1b\x88\xb7\x5a\x24\x69\xe6\xcc\x99\x61\ +\xed\x5a\xad\x26\x41\x00\x02\x10\x80\x40\x37\x09\xe8\x69\xb6\x33\ +\x66\xcc\x70\x61\xe8\xd0\x3f\xb1\xd0\x63\x39\x7c\x3c\xf6\xf1\x39\ +\x9e\x69\x68\x1c\x4f\x25\x0c\xdb\x3e\x99\x2d\x28\xef\x34\x49\x3a\ +\x9a\x75\x28\xd7\xcc\x43\xb9\x66\x1f\x1e\x8b\xac\xfc\x57\x16\xbb\ +\xbe\xf6\xda\x6b\xc9\xa5\xaa\x13\x4e\x38\xc1\x16\x49\x10\x80\x00\ +\x04\x20\xd0\x2d\x02\xfa\x7a\xc3\xf7\xbf\xff\x7d\x3f\xdc\x62\x2b\ +\x7c\xdb\x42\x9f\x90\xd2\xac\xc2\x43\xb3\x0f\xc9\xa3\x59\x1c\xb6\ +\xaa\xfd\xa4\x81\xbe\xd3\xe4\x37\xd1\x5d\x1a\x12\x86\xcb\x43\xd2\ +\xf0\xcb\x57\x2f\x59\x79\xaa\x96\xf5\x5b\x1b\xef\x7f\xff\xfb\xc3\ +\xe4\xc9\x93\x6d\x91\x04\x01\x08\x40\x00\x02\x83\x25\xa0\x71\xf5\ +\xac\xb3\xce\xf2\x59\x86\xae\x00\x5d\x6d\xf1\x27\x8b\x58\x1a\x12\ +\x46\xfc\x11\xdb\xd4\x97\xa5\x6c\xff\x24\x69\x90\xef\x34\xf9\xd4\ +\xc6\x6f\x88\xcb\x5e\xb2\x98\xa6\x43\xde\x38\xe5\xcf\x59\xfc\xd8\ +\x22\x68\x0a\x75\xce\x39\xe7\x84\x17\x5f\x7c\x51\x8b\x24\x08\x40\ +\x00\x02\x10\x18\x04\x01\x7d\x5a\xea\xf4\xd3\x4f\x4f\xbe\xde\xb0\ +\xf9\x30\x77\x59\xae\x47\xa0\xc7\x63\xb0\xc6\xe4\xbe\x66\x18\xa9\ +\x2f\x4d\xa9\x8e\xc1\x48\x43\xfb\xab\xd2\x58\x1a\x12\x87\x4b\x43\ +\x8d\xf6\xd0\xf7\x36\x7e\x6f\x11\x74\x99\xea\x53\x9f\xfa\x54\x72\ +\xa9\x4a\xcb\x24\x08\x40\x00\x02\x10\x48\x4f\x60\xfd\xfa\xf5\xe1\ +\xcc\x33\xcf\x0c\x2f\xbc\xf0\x82\xef\xfc\x8c\x15\xfe\xcd\xc2\xc7\ +\x5d\xcf\x63\x69\x68\xbc\x56\x74\x24\x0c\xdb\xaf\x2b\xd2\x88\xc5\ +\x21\x9b\xc5\xb3\x0d\x35\xda\x3f\x0f\xfc\x3d\x2b\x27\x3f\x21\xf5\ +\xbb\xdf\xfd\x2e\x9c\x76\xda\x69\xfc\x2c\xac\x01\x21\x41\x00\x02\ +\x10\xe8\x84\xc0\xf9\xe7\x9f\x1f\xee\xba\x4b\x13\x8b\x24\xe9\x93\ +\x51\xba\x8f\xe1\x97\xa1\x62\x61\x48\x1a\x7e\x1f\xc3\x2f\x4b\x75\ +\x2c\x8d\xc1\xdc\xd3\x48\x5a\x1a\xfd\xa3\x7b\x1b\xf1\xfd\x0d\x2f\ +\xab\x0e\xcd\x68\x64\xb7\x05\x16\x1f\xb4\x18\x31\x7f\xfe\xfc\xf0\ +\xd2\x4b\x2f\x85\x8f\x7f\xfc\xe3\xb6\x48\x82\x00\x04\x20\x00\x81\ +\x76\x09\x7c\xe5\x2b\x5f\x09\x57\x5d\x75\x95\x6f\xae\x3f\xd4\x75\ +\x1f\xe3\x59\x0b\xdd\xf4\xee\xeb\x5e\x86\xb6\x71\x71\x74\x2c\x0c\ +\x3b\xc6\xa0\x3f\x3d\xa5\x63\x28\xb9\x30\xe2\x5c\xa2\x88\x43\xf2\ +\x90\x0d\xff\x64\x71\x84\xc5\xb0\xc7\x1e\x7b\x2c\xac\x5c\xb9\x32\ +\xe8\x13\x55\x43\x86\x68\x57\x12\x04\x20\x00\x01\x08\xb4\x22\xa0\ +\x4f\x4a\x5d\x76\xd9\x65\xbe\x89\xfe\x18\xbf\xde\xe2\x51\x0b\x17\ +\x86\xa4\xe1\xe2\xf0\x2b\x3d\x2e\x8c\x41\x5d\x9a\xb2\xe3\x76\x4d\ +\x1a\x3a\x96\xa7\x58\x1c\x2a\xbb\x38\xbc\xac\x6f\x8b\xeb\x32\xd5\ +\x61\x16\x43\x74\xe7\x7f\xe1\xc2\x85\xe1\xe4\x93\x4f\x0e\x43\x87\ +\x6a\x53\x12\x04\x20\x00\x01\x08\xf4\x45\xe0\x92\x4b\x2e\x09\x5f\ +\xfd\xea\x57\xe3\x97\x6e\xb3\x85\xfb\x2d\x5c\x18\x9e\x4b\x1a\x2e\ +\x8c\xae\xcd\x32\xec\x98\x5d\x95\x86\x4f\x15\xe2\xdc\x45\xd1\x9c\ +\xeb\x67\x61\xf5\x2c\x94\x43\x2c\x86\xcc\x9d\x3b\x37\xcc\x99\x33\ +\x27\x7c\xe2\x13\x9f\x08\x7a\x32\x2e\x09\x02\x10\x80\x00\x04\xb6\ +\x10\xd0\x4d\xef\xf3\xce\x3b\x2f\x7c\xeb\x5b\xdf\xda\xb2\x32\x84\ +\x9f\xda\xc2\xdd\x16\x2e\x8a\x38\x57\x59\xf7\x35\xfc\x26\xf8\xa0\ +\xef\x65\xd8\xb1\x92\xd4\xcd\x7b\x1a\x7e\x4c\xcf\x25\x8a\x38\x34\ +\x8d\xf0\x65\x95\xf5\x05\x14\xc9\x43\x5f\xfe\x1b\xa6\x7b\x1c\x7a\ +\xd4\x88\x2e\x55\xbd\xeb\x5d\xef\xb2\x55\x24\x08\x40\x00\x02\x10\ +\x78\xf5\xd5\x57\xc3\x27\x3f\xf9\xc9\x70\xfb\xed\xb7\x3b\x0c\x5d\ +\x62\xd2\xd3\x36\x7e\x6e\xa1\xd9\x84\x5f\x8e\xf2\x4b\x52\x7d\x09\ +\x63\xd0\x97\xa5\xac\x9e\x24\x65\x2d\x0d\x55\xe2\xa2\xe8\x2b\x97\ +\x34\x16\x5a\xbc\xcf\x62\xc4\xe2\xc5\x8b\xc3\x4d\x37\xdd\x14\x0e\ +\x38\xe0\x80\x24\x6c\x1d\x09\x02\x10\x80\x40\x6d\x09\x3c\xf8\xe0\ +\x83\x61\xfa\xf4\xe9\xc9\x95\x98\xcd\x10\x74\x6f\xe2\x46\x8b\xdf\ +\x58\x48\x18\x3e\xbb\x88\xc5\xa1\xf5\x3e\xcb\xd0\x0c\x43\x51\x68\ +\x69\x48\x0e\x71\x72\x59\x68\x5d\x5f\x65\xdd\xe3\x78\xd2\xe2\xbd\ +\x16\xdb\xbd\xf5\xd6\x5b\xe1\xb6\xdb\x6e\x4b\x6e\x90\x4f\x9d\x3a\ +\x35\x0c\x1f\xae\x2f\x97\x93\x20\x00\x01\x08\xd4\x87\x80\x2e\x47\ +\x5d\x71\xc5\x15\xc9\x97\xa1\x57\xac\xd0\x63\xfc\x92\xa4\x4b\xfa\ +\xd7\x59\xcc\xb1\x88\x85\x11\x8b\x23\x16\x86\xdf\xfc\xd6\xa7\xa5\ +\x06\xf5\x89\x29\xdb\xbf\x91\xb2\x98\x69\x78\xe3\x9a\xe5\xa1\x4a\ +\xe3\x75\x5e\x56\xae\xe7\xbc\xff\xa7\xc5\xee\x16\x7b\x58\x04\xdd\ +\x20\xbf\xf5\xd6\x5b\xc3\x7e\xfb\xed\x97\x84\xd6\x91\x20\x00\x01\ +\x08\x54\x9d\xc0\x23\x8f\x3c\x12\x4e\x39\xe5\x94\x70\xcb\x2d\xb7\ +\xf8\xa3\x41\x74\xca\xf3\x2d\xf4\x19\xdb\x85\x16\x12\x83\xcf\x2c\ +\x5c\x18\xca\x15\x3e\xc3\x70\x61\x74\x6d\x86\x61\xc7\x4e\x52\x16\ +\xd2\xf0\x63\x0f\x94\xbb\x34\x7c\x3b\x9d\xe4\x5c\x0b\xc1\xd8\xdf\ +\x62\xe8\xf2\xe5\xcb\x13\x70\x8f\x3f\xfe\x78\x38\xea\xa8\xa3\xc2\ +\x4e\x3b\xed\x64\xab\x49\x10\x80\x00\x04\xaa\x47\x40\xf7\x2e\x2e\ +\xb8\xe0\x82\xa0\x27\x82\x2f\x59\xb2\xc4\x4f\x50\x83\xfe\xff\xb3\ +\xb8\xd9\x42\x33\x8d\x78\x86\xa1\xb1\x72\x95\x85\xf2\x56\xc2\xf0\ +\x3f\xe4\x6d\xb3\xc1\xa7\x5e\x4a\xa3\xbf\x13\xf9\x93\x9d\xd6\xe3\ +\x16\x9a\x71\xec\xaa\x53\x7c\xea\xa9\xa7\xc2\x35\xd7\x5c\x93\x3c\ +\xb3\xea\xc0\x03\x0f\x0c\x3b\xef\xbc\xb3\x56\x93\x20\x00\x01\x08\ +\x94\x9e\x80\x04\x71\xf9\xe5\x97\x27\x8f\x04\xd1\xd3\x32\xa2\xf4\ +\xa2\x95\xaf\xb7\x78\xc4\x42\xb2\x88\x85\x21\x49\x48\x18\xca\xfd\ +\x35\xff\xa4\x54\x66\xb3\x0c\xab\x6b\xab\xcb\x45\x5a\xee\x76\xd2\ +\x6c\x42\x9f\x94\x92\x9c\x74\x73\x42\x9f\xa7\xdd\xc6\x42\x3f\xda\ +\xa4\xd0\xcf\xc4\x2a\x46\x47\xa1\xf5\xda\x66\xa4\xc5\x91\x16\x7f\ +\x6b\x91\xfc\x90\x93\xe5\xc9\x3d\x8e\xcf\x7c\xe6\x33\xc9\xaf\x01\ +\x1e\x7a\xe8\xa1\x5a\x45\x82\x00\x04\x20\x50\x3a\x02\xfa\xc4\xa8\ +\x7e\xcf\xfb\xfa\xeb\xaf\x0f\xba\x97\x1b\x25\x89\xe0\x6e\x8b\xfb\ +\x2d\x74\xb9\x49\xe1\xc2\xd0\x6b\x0a\xcd\x2e\xe2\x19\x86\xb6\xf1\ +\xef\x63\x48\x1a\x5d\xbf\x2c\x65\xc7\x4c\x52\xf3\x25\x22\x5f\xdf\ +\xcd\xbc\x3f\x71\xb8\x3c\x9a\xa5\x21\x81\x48\x1c\x92\x86\x42\xc2\ +\x98\x6e\xf1\x61\x0b\xbd\xd6\x48\x07\x1f\x7c\x70\x38\xfb\xec\xb3\ +\xc3\x19\x67\x9c\x11\xf6\xd8\x43\x13\x13\x12\x04\x20\x00\x81\xe2\ +\x12\xd0\x25\xf7\x1f\xff\xf8\xc7\xc9\xa7\x44\x75\xdf\xb6\x29\x69\ +\xd0\xd7\xac\xe2\x1e\x8b\x65\x16\x9a\x39\xb8\x30\xfa\x92\x46\xab\ +\x19\x86\xa4\x91\x49\xca\x43\x1a\x6a\xb8\x66\x1b\x1e\x3e\xe3\x90\ +\x10\x5c\x1c\xcd\x33\x0d\x2d\xeb\x35\x85\xb6\xd3\x0c\x65\x7b\x8b\ +\x63\x2c\xa6\x5a\xe8\xa7\x65\x1b\x69\xd8\xb0\x61\xc9\x3d\x8f\x69\ +\xd3\xa6\x05\xc5\x91\x47\x1e\x19\x46\x8e\xd4\x6e\x24\x08\x40\x00\ +\x02\xbd\x23\xa0\x4f\x41\xe9\x67\x58\x7f\xf5\xab\x5f\x25\xf1\x9b\ +\xdf\xfc\x26\xac\x59\x23\x0f\x6c\x95\xb4\xe2\x21\x8b\x5f\x59\xbc\ +\x6e\x21\x79\xf4\x25\x8c\x58\x1c\x2a\x6b\xbf\xbe\x2e\x49\x65\x26\ +\x0c\xab\x2f\xf3\xcb\x53\xaa\xc3\x93\xa4\x21\x49\xf9\xa5\x2a\xc9\ +\xc3\xc5\xd1\x2c\x0f\xcd\x34\xfc\x32\x95\x8b\x43\xdb\x6a\x1f\xcd\ +\x4c\x0e\xdf\x1c\xfb\x58\xfe\x8e\xb4\xed\xb6\xdb\x26\xbf\x95\xeb\ +\xdf\xf7\x50\xae\x4f\x61\xe9\x5e\xc8\x8e\x3b\xee\xc8\xc7\x78\xdf\ +\x41\x8c\x15\x10\x80\x40\xa7\x04\x24\x06\x3d\x43\x4f\x1f\x8d\x5d\ +\xb0\x60\x41\x72\x0f\x56\xf7\x61\x15\x8f\x3e\xfa\x68\xd0\x6f\x5e\ +\xf4\x93\x16\xd9\x7a\x7d\x6a\xf4\x3f\x2c\x74\x93\x5b\xb2\x88\x85\ +\xe1\xb3\x0c\x5d\x8e\x72\x61\xb8\x2c\x9a\x85\x21\x51\x78\x58\x31\ +\xbb\x94\xd7\x4c\xc3\xcf\x20\x16\x87\xe4\xa1\x19\x84\xc2\xe5\xe1\ +\xa2\xf0\x99\x86\xcb\xc3\x5f\xf7\xed\x25\x0f\xc5\x58\x0b\x09\x44\ +\x5f\x0e\x54\xb9\xad\x34\x7a\xf4\xe8\x44\x1e\x3c\xb2\xa4\x2d\x5c\ +\x6c\x04\x01\x08\xf4\x41\xe0\xed\xb7\xdf\x4e\x64\xb1\x7a\xb5\x6e\ +\x2d\xb4\x9d\x74\xd9\x49\x1f\xf4\x91\x2c\x5e\xb2\xd0\xfd\x07\x0f\ +\xcd\x1a\x7c\x86\xe1\xc2\x50\xee\xd2\x50\xd9\x43\x72\xf1\xfd\x5c\ +\x16\x99\xce\x30\xac\xbe\x24\xe5\x2d\x0d\x55\xaa\x3a\xfd\x52\x95\ +\xcf\x3a\x5c\x1c\x2e\x07\x97\x87\xe7\xf1\xa5\x2a\x6d\xa3\xed\x5d\ +\x1c\x3a\x86\xe2\x5d\x16\xfb\x5b\xec\x67\x31\xc9\x82\x8f\x58\x19\ +\x04\x12\x04\x20\xd0\x53\x02\xfa\x0e\xda\x02\x8b\x67\x2c\x9e\xb6\ +\xd0\xc3\x5a\xf5\x0d\x6d\x85\x0f\xfa\x7d\xcd\x30\x24\x07\x9f\x55\ +\x78\xae\x75\xbe\xad\xf6\xf5\xe3\xe8\x93\xa8\xb9\x08\xc3\xea\xc9\ +\xf5\xf2\x94\xea\xf3\x14\x8b\x43\x02\x71\x01\xb8\x3c\xfc\x92\x94\ +\x72\x17\x87\x0b\xc5\xa5\xa1\x6d\x5d\x1e\x2e\x0e\xe5\x2e\x24\xed\ +\xb7\xbb\xc5\x38\x0b\xcd\x42\x24\x11\xad\xf3\xe3\x29\xd7\xf6\x24\ +\x08\x40\x00\x02\x9d\x10\xd0\xa0\xad\x99\x81\x06\x75\x8f\x15\x56\ +\x5e\x6a\xf1\xb2\xc5\x12\x0b\x7d\x2c\xd6\x67\x02\x3e\xc8\x37\x0b\ +\xc3\x67\x18\x9e\xc7\x92\x90\x28\x7c\xbd\x0b\xc3\x8f\xe3\xc7\xed\ +\xef\xeb\x0b\xb6\x6b\xf7\x53\x2f\x66\x1a\x7e\x16\xaa\x3b\x96\x87\ +\x06\x70\xc9\xc3\x65\x20\x39\x78\xc4\x12\x71\x69\x78\xde\x4a\x1c\ +\x7e\x39\xcc\xeb\xf2\xdc\x0e\x9d\x24\x2d\x93\x20\x00\x01\x08\x74\ +\x4a\xc0\x07\x6c\xe5\xcd\xe1\x83\xba\x72\x1f\xe8\x5d\x18\x12\x80\ +\x66\x0b\xb1\x10\x5c\x10\xca\xbd\xac\xed\xb4\x8d\xcf\x4a\xfc\x38\ +\x3a\xa6\xd7\x67\xc5\xfc\x92\x06\xe9\x5e\x25\x87\x1d\x9f\xbc\xd6\ +\xc5\x80\xdd\xac\xca\x25\x07\xc1\x53\xee\xc2\xf0\xdc\x67\x2a\xca\ +\x7d\xd6\xe1\x33\x0e\xc4\x61\x50\x48\x10\x80\x40\x57\x09\xf8\xf8\ +\xa5\x83\xfa\xe0\x1d\xe7\x1a\xc7\x3c\x7c\xa0\x8f\x85\x11\x8f\x6d\ +\x2e\x0e\xcf\x5d\x14\xca\x5d\x16\x7e\x39\xaa\x79\xbc\x54\xfd\xb9\ +\xa6\xa2\xfc\xa5\xed\x33\x00\x1f\xe8\x7d\xe0\x77\x19\xf8\xec\x23\ +\x16\x46\xbc\x4e\xdb\x69\x39\x96\x86\x8e\xe1\xc7\x73\x71\x78\x2e\ +\xc8\xf1\xb9\xc7\x65\xbd\x46\x82\x00\x04\x20\xd0\x1f\x81\x66\x61\ +\x68\x3b\x17\x86\x0f\xea\xca\x25\x09\xe5\x3e\xe0\xc7\x02\x68\x96\ +\x46\xbc\xdc\x2c\x8b\xf8\x58\x5e\x8f\x1d\xb6\x37\xa9\x48\x83\xa5\ +\x8b\x43\xb9\x0f\xf6\x2e\x0f\xe5\xb1\x18\x5c\x10\xcd\x79\xb3\x34\ +\xfa\x12\x87\xd7\x23\xe2\xcd\xe7\xdf\xbc\xac\x6d\x48\x10\x80\x00\ +\x04\x44\x20\x96\x45\xbc\xec\x03\xb9\x72\x0d\xf0\x1e\xf1\x0c\xc3\ +\x67\x19\x2e\x0e\x17\x43\x73\xee\xaf\xfb\xbe\x7e\xac\xb8\x0e\xd5\ +\xdd\xb3\x54\xc4\x41\xd2\x07\x75\xe5\x7d\xc9\xc3\x05\x22\x41\x78\ +\xf8\xba\x38\x77\x61\x78\x1e\x1f\x37\x2e\xf7\x0c\x3e\x15\x43\x00\ +\x02\xa5\x26\xe0\x03\xb9\x4e\xc2\x85\xe1\xb9\xcf\x0e\x7c\xf0\x77\ +\x69\x78\x1e\xcb\x21\x2e\xeb\x75\xdf\x57\xb9\xd7\xa1\xbc\x10\x49\ +\x83\x67\x51\x53\x3c\xb0\xbb\x3c\x94\x4b\x02\x03\x85\x6f\x17\xef\ +\xa7\xe3\x69\xd9\xcf\xd9\x8f\x6f\xab\x48\x10\x80\x00\x04\x52\x13\ +\xf0\x81\x3c\x1e\xd8\x7d\x66\x10\xe7\xb1\x38\xfa\x2b\x37\x8b\x22\ +\x16\x46\xea\x86\x65\xb9\x83\x0f\xa0\x59\xd6\x31\xd8\x63\xfb\xe0\ +\xae\xdc\x07\x7d\x97\x81\xcf\x22\x3c\xd7\xfa\xb8\xec\xdb\xc5\xc7\ +\x88\xcb\xad\xda\xa6\xed\x48\x10\x80\x40\xbd\x09\xb8\x18\xfa\xa3\ +\xe0\xc2\xd0\xeb\xf1\x40\x1f\x4b\xc3\xcb\xcd\xb3\x08\x5f\x1f\xe7\ +\x7e\xbc\x81\xea\xed\xaf\x3d\x99\xaf\x2f\xd3\xc0\xe8\x6d\x55\x1e\ +\xcb\xc3\x97\x5d\x10\xf1\x6b\x5e\xd6\x36\xcd\x11\xc3\xd5\x6b\x24\ +\x08\x40\x00\x02\xed\x10\x68\x1e\xd0\xe3\x81\x3e\x2e\x4b\x06\x5a\ +\x8e\xa5\xd0\xbc\x2e\xde\xde\xcb\xed\xb4\xa1\x67\xdb\x94\x75\xb0\ +\x6c\x16\x40\xbc\xdc\x4a\x14\xbe\x9d\x03\x2f\xeb\xf9\x7b\xfb\xc9\ +\x21\x00\x81\xde\x11\xd0\x20\xef\x29\x1e\xf0\xbd\xec\x82\xe8\x6f\ +\xd9\xd7\x2b\x2f\x4d\xaa\xc2\xa0\xe9\xe7\xe0\x42\xe8\x6b\x39\x5e\ +\xa7\xce\xf1\xe5\xd2\x74\x14\x0d\x85\x00\x04\x0a\x4b\xc0\x07\xfd\ +\x38\x77\x21\xa8\xd1\x5e\xf6\xdc\xd7\x15\xf6\x84\x5a\x35\xac\x8a\ +\x83\x67\x7c\x4e\x5e\x6e\xce\xfb\x62\xe2\xdb\xf4\xf5\x1a\xeb\x20\ +\x00\x01\x08\x88\x80\x8b\xa1\x2f\x1a\xfe\x5a\x73\x3e\xd0\x7e\x7d\ +\x1d\xab\xb0\xeb\xea\x3a\x50\xd6\xf5\xbc\x0b\xfb\x46\xa4\x61\x10\ +\x28\x31\x01\x97\x44\x89\x4f\x81\xa6\x43\x00\x02\x10\x80\x00\x04\ +\x20\x00\x01\x08\x40\x00\x02\x10\x80\x00\x04\x20\x00\x01\x08\x40\ +\x00\x02\x10\x80\x00\x04\x20\x00\x01\x08\x40\x00\x02\x10\x80\x00\ +\x04\x20\x00\x01\x08\x40\x00\x02\x10\x80\x00\x04\x20\x00\x01\x08\ +\x40\x00\x02\x10\x80\x00\x04\x20\x00\x01\x08\x40\x00\x02\x10\x80\ +\x00\x04\x20\x00\x01\x08\x40\x00\x02\x10\x80\x00\x04\x20\x00\x01\ +\x08\x40\x00\x02\x35\x22\xf0\xff\x01\x8d\x64\x70\x0b\x93\x8e\x82\ +\x10\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\ " qt_resource_name = "\ @@ -4948,17 +5950,23 @@ qt_resource_name = "\ \x01\xfa\x1c\x07\ \x00\x66\ \x00\x69\x00\x74\x00\x5f\x00\x6c\x00\x69\x00\x6d\x00\x69\x00\x74\x00\x73\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\x00\x11\ +\x0d\x45\x1d\x07\ +\x00\x71\ +\x00\x64\x00\x73\x00\x5f\x00\x66\x00\x69\x00\x74\x00\x5f\x00\x61\x00\x62\x00\x6f\x00\x72\x00\x74\x00\x2e\x00\x70\x00\x6e\x00\x67\ +\ " qt_resource_struct = "\ \x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\ -\x00\x00\x00\x00\x00\x02\x00\x00\x00\x06\x00\x00\x00\x02\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x07\x00\x00\x00\x02\ \x00\x00\x00\xb0\x00\x00\x00\x00\x00\x01\x00\x00\xda\x7e\ \x00\x00\x00\x2e\x00\x00\x00\x00\x00\x01\x00\x00\x08\xa7\ \x00\x00\x00\x6a\x00\x00\x00\x00\x00\x01\x00\x00\x5b\x00\ \x00\x00\x00\x4c\x00\x00\x00\x00\x00\x01\x00\x00\x52\x01\ \x00\x00\x00\x10\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ \x00\x00\x00\x92\x00\x00\x00\x00\x00\x01\x00\x00\x9e\x67\ +\x00\x00\x00\xd2\x00\x00\x00\x00\x00\x01\x00\x01\x31\xb3\ " def qInitResources(): diff --git a/libyaff.py b/libyaff.py index 79a53aa..89ff99b 100644 --- a/libyaff.py +++ b/libyaff.py @@ -38,8 +38,10 @@ class Yaff(QObject): step_signal = pyqtSignal(list) def __init__(self, dist_type=0): super(Yaff,self).__init__() - self.dist_x = logspace(-10,5,512) - self.dist_y = zeros(self.dist_x.size) + self._dist_tau = logspace(-12,6,512) + self.dist_y = zeros(self.dist_tau.size) + self._time_points = logspace(-10,5,512*2) + yaff = [ (self.yaff_gg, "GG"), (self.yaff_gge, "GGe"), @@ -48,6 +50,29 @@ class Yaff(QObject): ] self.loss, self.label = yaff[dist_type] self.params = 10 + + + @property + def time_points(self): + return self._time_points + + @time_points.setter + def time_points(self, t_list): + tmin, tmax, num = t_list + tmi,tma = tmin, tmax + self._time_points = logspace(log10(tmi), log10(tma), num) + + @property + def dist_tau(self): + return self._dist_tau + + @dist_tau.setter + def dist_tau(self, tau_list): + tmin, tmax, num = tau_list + tmi,tma = tmin, tmax + self._dist_tau = logspace(log10(tmi), log10(tma), num) + + def gg(self, p, tau): tau0, a, b = p """ @@ -136,21 +161,21 @@ class Yaff(QObject): """ delta_eps, tau1, a1, b1, lambd, tau2, a2, b2, s, g = p - dist_ggb = self.ggb(p=[tau2,a2,b2], tau=self.dist_x) - dist_gg = self.gg_hw (p=[tau1,a1,b1,s,g], tau=self.dist_x) + dist_ggb = self.ggb(p=[tau2,a2,b2], tau=self.dist_tau) + dist_gg = self.gg_hw (p=[tau1,a1,b1,s,g], tau=self.dist_tau) - ts = logspace(-10,5,512) + #ts = logspace(-10,5,512*2) self.dist_y = dist_ggb - phi_beta = self.dist_to_relax(ts, self.dist_x, self.dist_y).real + phi_beta = self.dist_to_relax(self.time_points, self.dist_tau, self.dist_y).real self.dist_y = dist_gg - phi_alpha = self.dist_to_relax(ts, self.dist_x, self.dist_y).real + phi_alpha = self.dist_to_relax(self.time_points, self.dist_tau, self.dist_y).real # William-Watts-Ansatz phi_tot = (1-lambd) + lambd*phi_beta phi_tot *= phi_alpha - epp = delta_eps*2*pi*x*filon(2*pi*x, ts, phi_tot) + epp = delta_eps*2*pi*x*filon(2*pi*x, self.time_points, phi_tot) self.step_signal.emit(list(p)) return epp @@ -161,21 +186,21 @@ class Yaff(QObject): """ delta_eps, tau1, a1, b1, lambd, tau2, a2, b2, s, g = p - dist_ggb = self.ggb(p=[tau2,a2,b2], tau=self.dist_x) - dist_gg = self.gg (p=[tau1,a1,b1], tau=self.dist_x) + dist_ggb = self.ggb(p=[tau2,a2,b2], tau=self.dist_tau) + dist_gg = self.gg (p=[tau1,a1,b1], tau=self.dist_tau) - ts = logspace(-10,5,512) + #ts = logspace(-10,5,512*2) self.dist_y = dist_ggb - phi_beta = self.dist_to_relax(ts, self.dist_x, self.dist_y).real + phi_beta = self.dist_to_relax(self.time_points, self.dist_tau, self.dist_y).real self.dist_y = dist_gg - phi_alpha = self.dist_to_relax(ts, self.dist_x, self.dist_y).real + phi_alpha = self.dist_to_relax(self.time_points, self.dist_tau, self.dist_y).real # William-Watts-Ansatz phi_tot = (1-lambd) + lambd*phi_beta phi_tot *= phi_alpha - epp = delta_eps*2*pi*x*filon(2*pi*x, ts, phi_tot) + epp = delta_eps*2*pi*x*filon(2*pi*x, self.time_points, phi_tot) self.step_signal.emit(list(p)) return epp @@ -185,11 +210,11 @@ class Yaff(QObject): GG """ delta_eps, tau1, a1, b1, lambd, tau2, a2, b2, s, g = p - ts = logspace(-10,5,512) - dist_gg = self.gg(p=[tau1,a1,b1], tau=self.dist_x) + #ts = logspace(-10,5,512*2) + dist_gg = self.gg(p=[tau1,a1,b1], tau=self.dist_tau) self.dist_y = dist_gg - phi_alpha = self.dist_to_relax(ts, self.dist_x, self.dist_y).real - epp = delta_eps*2*pi*x*filon(2*pi*x, ts, phi_alpha ) + phi_alpha = self.dist_to_relax(self.time_points, self.dist_tau, self.dist_y).real + epp = delta_eps*2*pi*x*filon(2*pi*x, self.time_points, phi_alpha ) self.step_signal.emit(list(p)) return epp @@ -198,11 +223,11 @@ class Yaff(QObject): GG """ delta_eps, tau1, a1, b1, lambd, tau2, a2, b2, s, g = p - ts = logspace(-10,5,512) - dist_gg = self.gg_hw(p=[tau1, a1, b1, s, g], tau=self.dist_x) + #ts = logspace(-10,5,512*2) + dist_gg = self.gg_hw(p=[tau1, a1, b1, s, g], tau=self.dist_tau) self.dist_y = dist_gg - phi_alpha = self.dist_to_relax(ts, self.dist_x, self.dist_y).real - epp = delta_eps*2*pi*x*filon(2*pi*x, ts, phi_alpha ) + phi_alpha = self.dist_to_relax(self.time_points, self.dist_tau, self.dist_y).real + epp = delta_eps*2*pi*x*filon(2*pi*x, self.time_points, phi_alpha ) self.step_signal.emit(list(p)) return epp