From 7e35edac4a1aaf8d7d58bda780ab25af0b53e15a Mon Sep 17 00:00:00 2001 From: gythialy Date: Sat, 10 Jun 2017 13:36:01 +0800 Subject: [PATCH] sync v1.2.0 Signed-off-by: gythialy --- build.gradle | 46 ++--- configuration.gradle | 68 +++---- doc/CHANGELOG.txt | 6 + doc/user-guide/j60870-doc.pdf | Bin 102410 -> 0 bytes gradle/wrapper/gradle-wrapper.jar | Bin 52928 -> 54208 bytes gradle/wrapper/gradle-wrapper.properties | 2 +- gradlew | 19 +- gradlew.bat | 168 +++++++++--------- license/NOTICE | 2 +- run-scripts/j60870-console-client | 0 run-scripts/j60870-sample-server | 0 src/docs/asciidoc/pdf-theme.yml | 13 +- src/main/java/org/openmuc/j60870/APdu.java | 2 +- src/main/java/org/openmuc/j60870/ASdu.java | 2 +- .../openmuc/j60870/CauseOfTransmission.java | 2 +- .../j60870/ClientConnectionBuilder.java | 2 +- .../org/openmuc/j60870/CommonBuilder.java | 2 +- .../java/org/openmuc/j60870/Connection.java | 28 +-- .../j60870/ConnectionEventListener.java | 2 +- .../j60870/IeAbstractQualifierOfCommand.java | 2 +- .../org/openmuc/j60870/IeAbstractQuality.java | 2 +- .../j60870/IeAckFileOrSectionQualifier.java | 2 +- .../j60870/IeBinaryCounterReading.java | 2 +- .../j60870/IeBinaryStateInformation.java | 2 +- .../j60870/IeCauseOfInitialization.java | 2 +- .../java/org/openmuc/j60870/IeChecksum.java | 2 +- .../org/openmuc/j60870/IeDoubleCommand.java | 2 +- .../j60870/IeDoublePointWithQuality.java | 2 +- .../openmuc/j60870/IeFileReadyQualifier.java | 2 +- .../org/openmuc/j60870/IeFileSegment.java | 2 +- .../openmuc/j60870/IeFixedTestBitPattern.java | 2 +- .../IeLastSectionOrSegmentQualifier.java | 2 +- .../j60870/IeLengthOfFileOrSection.java | 2 +- .../java/org/openmuc/j60870/IeNameOfFile.java | 2 +- .../org/openmuc/j60870/IeNameOfSection.java | 2 +- .../org/openmuc/j60870/IeNormalizedValue.java | 2 +- .../IeProtectionOutputCircuitInformation.java | 2 +- .../openmuc/j60870/IeProtectionQuality.java | 2 +- .../j60870/IeProtectionStartEvent.java | 2 +- .../IeQualifierOfCounterInterrogation.java | 2 +- .../j60870/IeQualifierOfInterrogation.java | 2 +- .../IeQualifierOfParameterActivation.java | 2 +- ...eQualifierOfParameterOfMeasuredValues.java | 2 +- .../IeQualifierOfResetProcessCommand.java | 2 +- .../j60870/IeQualifierOfSetPointCommand.java | 2 +- .../java/org/openmuc/j60870/IeQuality.java | 2 +- .../j60870/IeRegulatingStepCommand.java | 2 +- .../org/openmuc/j60870/IeScaledValue.java | 2 +- .../j60870/IeSectionReadyQualifier.java | 2 +- .../j60870/IeSelectAndCallQualifier.java | 2 +- .../java/org/openmuc/j60870/IeShortFloat.java | 2 +- .../org/openmuc/j60870/IeSingleCommand.java | 2 +- .../j60870/IeSinglePointWithQuality.java | 2 +- .../j60870/IeSingleProtectionEvent.java | 2 +- .../j60870/IeStatusAndStatusChanges.java | 2 +- .../org/openmuc/j60870/IeStatusOfFile.java | 2 +- .../openmuc/j60870/IeTestSequenceCounter.java | 2 +- .../java/org/openmuc/j60870/IeTime16.java | 2 +- .../java/org/openmuc/j60870/IeTime24.java | 2 +- .../java/org/openmuc/j60870/IeTime56.java | 2 +- .../j60870/IeValueWithTransientState.java | 2 +- .../openmuc/j60870/InformationElement.java | 2 +- .../org/openmuc/j60870/InformationObject.java | 2 +- src/main/java/org/openmuc/j60870/Server.java | 2 +- .../openmuc/j60870/ServerEventListener.java | 2 +- .../java/org/openmuc/j60870/ServerThread.java | 2 +- src/main/java/org/openmuc/j60870/TypeId.java | 2 +- src/main/java/org/openmuc/j60870/Util.java | 2 +- .../org/openmuc/j60870/app/ConsoleClient.java | 2 +- .../j60870/internal/ConnectionSettings.java | 2 +- .../j60870/test/ClientServerITest.java | 5 +- .../test/IeBinaryStateInformationTest.java | 2 +- .../j60870/test/IeValueWithTransientTest.java | 2 +- .../org/openmuc/j60870/test/UtilTest.java | 2 +- 74 files changed, 244 insertions(+), 233 deletions(-) delete mode 100644 doc/user-guide/j60870-doc.pdf mode change 100644 => 100755 run-scripts/j60870-console-client mode change 100644 => 100755 run-scripts/j60870-sample-server diff --git a/build.gradle b/build.gradle index df7add1..73d9ce7 100644 --- a/build.gradle +++ b/build.gradle @@ -49,6 +49,8 @@ configure(javaProjects) { apply plugin: "net.saliman.cobertura" apply plugin: "biz.aQute.bnd.builder" + uploadArchives.enabled = false + group = cfgGroup if (!project.properties.containsKey("cfgJavaVersion")) { @@ -162,6 +164,8 @@ configure(javaProjects) { configure(repositoryProjects) { + uploadArchives.enabled = true + if (cfgSignPom) { signing { if ( project.hasProperty("signing.keyId") ) { @@ -235,31 +239,33 @@ task javadocAll(type: Javadoc) { } -task writeSettings << { - Writer out = new OutputStreamWriter(new FileOutputStream("build/settings.gradle")); - out.write("include "); - boolean first = true; - for (Project myproject: distributionProjects) { - if (!myproject.getProjectDir().equals(getProjectDir())) { - if (first == true) { - first = false; - } - else { - out.write ", "; +task writeSettings { + doLast { + Writer out = new OutputStreamWriter(new FileOutputStream("build/settings.gradle")); + out.write("include "); + boolean first = true; + for (Project myproject: distributionProjects) { + if (!myproject.getProjectDir().equals(getProjectDir())) { + if (first == true) { + first = false; + } + else { + out.write ", "; + } + out.write '"' + myproject.name + '"' } - out.write '"' + myproject.name + '"' } - } - out .write "\n\n"; + out .write "\n\n"; - for (Project myproject: distributionProjects) { - if (!myproject.getProjectDir().equals(getProjectDir())) { - println myproject.name - out.write 'project(":' + myproject.name + '").projectDir = file("' + myproject.getProjectDir().toString().substring((int)(getProjectDir().toString().size() + 1)) + '")\n'; + for (Project myproject: distributionProjects) { + if (!myproject.getProjectDir().equals(getProjectDir())) { + println myproject.name + out.write 'project(":' + myproject.name + '").projectDir = file("' + myproject.getProjectDir().toString().substring((int)(getProjectDir().toString().size() + 1)) + '")\n'; + } } - } - out.close(); + out.close(); + } } task buildDistProjects { diff --git a/configuration.gradle b/configuration.gradle index a82d388..39fe67b 100644 --- a/configuration.gradle +++ b/configuration.gradle @@ -1,9 +1,9 @@ project.ext { - cfgVersion = '1.1.0' + cfgVersion = "1.2.0" - cfgGroup = 'org.openmuc' + cfgGroup = "org.openmuc" cfgCopyDependencies = false @@ -31,37 +31,37 @@ project.ext { tasks.withType(Tar) { into(project.name) { - from('./') { - include 'build.gradle' - include 'configuration.gradle' - include 'license/**' - include 'doc/CHANGELOG.txt' - include 'run-scripts/**' - include 'gradle/wrapper/**' - include 'gradlew' - include 'gradlew.bat' - include 'build/libs/**' - include 'src/**' + from("./") { + include "build.gradle" + include "configuration.gradle" + include "license/**" + include "doc/CHANGELOG.txt" + include "run-scripts/**" + include "gradle/wrapper/**" + include "gradlew" + include "gradlew.bat" + include "build/libs/**" + include "src/**" } if (name.equals("tar") ){ - exclude '**/dependencies/**/src' + exclude "**/dependencies/**/src" } } - into(project.name + '/doc/user-guide/') { - from('./build/asciidoc/html5/') { - include '**' + into(project.name + "/doc/user-guide/") { + from("./build/asciidoc/html5/") { + include "**" } - from('./build/asciidoc/pdf/') { - include '**' + from("./build/asciidoc/pdf/") { + include "*.pdf" } } - into(project.name + '/doc/') { - from('./build/docs/') { - include 'javadoc/**' + into(project.name + "/doc/") { + from("./build/docs/") { + include "javadoc/**" } } @@ -70,17 +70,17 @@ tasks.withType(Tar) { //------------------project specific configurations-------------------- -apply plugin: 'java' -apply plugin: 'eclipse' -apply plugin: 'osgi' -apply plugin: 'maven' -apply plugin: 'signing' +apply plugin: "java" +apply plugin: "eclipse" +apply plugin: "osgi" +apply plugin: "maven" +apply plugin: "signing" jar { manifest { - name = 'j60870' - instruction 'Export-Package', '!*.internal.*,*' + name = "j60870" + instruction "Export-Package", "!*.internal.*,*" } } @@ -88,14 +88,14 @@ uploadArchives { repositories { mavenDeployer { pom.project { - name 'j60870' - description 'j60870 is an IEC 60870-5-104 client and server library.' + name "j60870" + description "j60870 is an IEC 60870-5-104 client and server library." licenses { license { - name 'GNU General Public License' - url 'http://www.gnu.org/copyleft/gpl-3.0.html' - distribution 'repo' + name "GNU General Public License" + url "http://www.gnu.org/copyleft/gpl-3.0.html" + distribution "repo" } } diff --git a/doc/CHANGELOG.txt b/doc/CHANGELOG.txt index c6698cd..00708bb 100644 --- a/doc/CHANGELOG.txt +++ b/doc/CHANGELOG.txt @@ -1,3 +1,9 @@ +v1.2.0 04-Jan-2017 +------------------ + +- CauseOfTransmission field can now be set explicilty when sending + SingleCommand (thanks to Dean Ouelette from RTDS). + v1.1.1 04-Oct-2016 ------------------ diff --git a/doc/user-guide/j60870-doc.pdf b/doc/user-guide/j60870-doc.pdf deleted file mode 100644 index 9a2888649a8a6ca7c9cffa45e29d1563bca08868..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 102410 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

p_`y zVVPvWQ5GG zt8QYU80j|+)zLaR6v{}HAe4>etM&e6biCc>urx0T% z>wgQ%k}E?u0oq?cnVe>LEocf{%3SVJyZ-zkRJ1njMoV{tj)6fxK3>#G)0JgaQrps2 zY+{0ucXxN!@PnH`GR0qvnP9O+Ub;RU=ccI{aA%4+EGye8=dr-%LT6xSCtJ8&+NA=+ zh7YBsUCV_-n*AWkbZ!k}jC6?_XBKfkg+5{~Yp~SV{ z-ua^jo)w-Z%`b>G27cz}P3kX|Grd)`Q?_&JH!gbR;HreS7n{U#8{feX^fil#i8(86 zs%9Ft-Gnik{~TO%>B`-Xmv(1;ah>=cJb2I!hP@neIRgtxINt{pBb3lOK*vBh~jJNaPa$amm%7k-AZDCk8|Q7|7aubVhCMBAZEYHgP34TUl|#0bM_I*=TZ`Z+18y61 zFPWOTAZT9De&z)@Sv=YJN~c?X(6P{|N`WhR_8+jsoY%BS8~cD9#r|jY zKGqj^CkJfQ$fq@khD3|*HwcQ-Ei6Muu6mp4%Llewa1Z>2m>5;io_Nzmj)k!G-cg&+;o%EnF;bkYST_-f*9faVWn^aY3+-wo!OE^fKLXXM z23HR2e4g37;+RUV_CO0~N?Q*eWOsD9h&4n#`PLe&3~3Xf{;vo>{&Y!(Qo(RUWMo8? z)*pjX!U(wq-u^M+c`MeL23n@?*kKr=C@j)HU+I8mCbXH_LD&OU5hEQ#;Sbm&pD|Ap zNkjRgGQsJ|BA&AMpUO)XE5b4qhAe*ZIq|{Te_+34un*2Ps!=lr9>PL)lHAo8=UjX& z!0pZaJetr@?9nqd=?`UGw)rzy;6NoR8tcCKn#9aG@>QOhtQ1 zyFxM`x?5j~N6y^HaY{PHVQW$GO?oI{@_1Tvo0mD(V^CPRIC$Qqb z^%1y?!5m71BNona=fy=Gr|^R%@+9}(W6-&QC!ho)Ab;LQur$i!;!+lg9)1>fih6Ku zU=_|cmD7fm_QnO?i6aKb>oz=(7Q5gsH1*saoYaZTKL*f_j?UMf*U+v&&viz8h=Y!7 zn3MSUbX1EFTK7TvDw1e1b+}-fB=btuMF$-RN8PdU&AgUBudZFy1=1{bj8FXLxJe!y zEYS5{Azfmd@O16`lH5Rm)0AE!f{5Y&sJM>?E&!MPE|wVZ(9WUoSKTH>-&b7x@KVrs z^4z=BP_)6JsBULv74D-T7P)M32q^c&UF~>&ezCZuBts#Z-i1s;h2#%f5Sqb>w2c|((kqw_fH`k7a_zEK2t`Q3GhilHB_7|X?=6lFOpns?Wd0E zi(a#vL@rM~b!$ef+=km1e&G@>acNi5a&fsm*Sp#gbKZ}DkV0M`o5YzNqdwlilaInb z{d3Aj5yYwH%+a|SF7-Z0_7{NtpNxY7W|As-O zg|Y2aoKzsi^$6JyY!t?(ki!EKZh-qVt)#^|dQTg%xxUy}f@3H)#8yHgCX34`}@ka^o!oRRI%V-PFp^G zINZte&}?yWfkU^RosEqr9QUpcRDTYwJ|%&jYk=kng{IpVj9b>Cwu4!w9`eV=KOf+) z$IZe~BHie=I}Ut&wyvo6&-WDKx4eEo`LVdXu|s_n8e3!eGU@(O933sEzy#)WFuD9# z1@#h+(B3|JIHCV@Do#$Z6hq`r_z2jLMZl%Qeb3!@jLC%1xb7WFC(oeRtY|<338jND zZO9NIsL6HS53LZ1K71M+RRBJLV3Gi}r)!L|oGR2uv?`Or%H)#ZrR;|M{Hgi*<#3)4 zT9x&zPds2?27JoNch=t0(2VTJvJn!pdr8%EMtE1qj`KbwQv3E0%@;^wwNcnjuXXY+ z=(gM?TjVVH$o+L*x4`M=chlj?$)hQnsf)3fD6FC^%5)TO*WVNpdbv$c+WMBJ;h|y{ zz}aVtg{F=GMRp_lTUF(j8#jx8#6**WD0Ym(>E7#tYLHEg(@ za#?JS(_2hQ$S$RKrkn7Y%CACXfqAK$i2!74UWh3Jx2@AT$`XRGW#vQVK_m+(vMp?` z0P{|4_g!kZIXs{e6uPVm8Ijj&puqSDdP zW{)(AApFy2^W3(y|2$nT#Oza%Y@=aJz6vm!UDwfJ;r zeyLiMpAuu9%TPfo?i~ruY|OW}Qi0@=5fO3#X1#VRnl~qtb-u^<$+xMRbS){z(BY?t zWmAO#QQ@h%xw!*Y48^x!NT;}Ows6ee)zGqYI@E*PAtZOw)XZn&ue01_lzbN*VOdm86MGKxKkz08K55K`#H~ zrr7R>6{mIg*|*n+1J_1rM5E%v>cEk3k8ttPqeuSbW@P}!q=~MUWV*Os#@n&!l_%Vz>KrQ`!Y?QAft{)gfA&P*tL{`qP1VuPUfowKT{p>|bkL!elh^cc^h zV<$Jb4ApqX%61o*mSpwuNp5IkOeo2Co$mwi^C7ODJz_2&crIww#+MNkpn zz!37k6iCG5V^$t3S$1UPRxKrOX!x(oE{A&vL@VU)+0o{X4982$>z_e(A+Bd+)LqAV zuI+82u#1j|hqQ->&UcYO9Mx}l7{-EI$%p+3-@LfkS}_`=xK4?%^?wJhEwPwW`s%ip zA%*VKr-ykJlhsDw4#({pM8)XDKJhhc7#RG7IY3HSgOxid{AM|3zz0HW79{|NQ&oj%hBQu&fG>&SyPIvIs_5KJ z5Z6Q8EQ@V1uKLQB?Q4Zzo@MXhqJ7O9dp2W!VD4$AlsxU(-X1D^LY=%JGb@Mcq3V5$cOa;a zLw$G%Z;QWaz5=zzcz7OxvjFp-2)y1l8lR_&UEsp}^R1Y$&vGAAR_C+d7BA7d21(AJ zfd~uB*MPNeGDFcdUBZ(RVRm&&;sYOPyf;3K@E@5uSy`=s72VLaZ4LAnXU)rQunD+9 z0g5ds{EqgA#LGn&nM9E1kl;+H`zb`{zrFRVP_4wON)K$o57!@36Lxg6eOk)P9$Ojd zo%pYdxuero+#3PP;G47;t_a$Lf4tw)KwFD7zli>&WM%JTBEt@DhuKu4hLp-KQi>=L zwd{`sa&8IoeXbXQ2$rCrWm(yNP&?2uF)@Ln7V1z4GM$zH4-wcAEs2>Wk7{bFt5Z2K zMs1QyFKe*`;fnfC0K7zbw%Vf(EdWjwpj=#CZ40J2%U{0y12%Qt(kCHL6z<)_cj&%v z*O&TAN@oqG3dsw(Trhf3Ac#n`HEgSusz9Wh-OxY}6q4$!cQw>2!Ald=#f52g)HQAu z$1|TJl&oXeXup;y*j-vt0fofH&pP~dgC(JzCo*EexCMla zm=zOoaHNB$MJry)V?z4asj2#Sz6P?`OVdS9N0VCuqbR0BARW(GXi9gb!`xz5g1)-? z`_NE&7Y+&Mz0b^0&EmIxs#7owx)%5E52?0;ZO8cPA7+B-D@cI(yfq)6anXWoO z_Qo2k7VP>UGg*K8b3a8|h-v6kk6N0ltU4_>_I&NL4RhkBa6F{+8eL%=Y>+oA`n@(@ z;Wkm}U|K-A1;{QfD+{Ky@6WtHTR@az{dQKoyIT>v?~S0=;%tB4wCco z6hn6*$NcOBcK1Y;6U3>q$YMAS^0EOA;G)7;0ZFP^z{w_VWft|aJOsa%o;V=}X3+nU z68H|_`o+T%ZGx6*too6%{=>zfAoB-BpXm2nHD=BP!0@(Ytxm*+U(%= zV8Qzy&zF6NW6JI1*z1FP0h|faDZN&KCWntDF$;s3$YBK5+aR!tzu$9RyKja*qvzJB zfmMDqFPXiw77FFF-$kyL?R)44OgjL&z)Ossh2{MX2A)rLL=w{Se@$EVpiTq$4)V?4 zS##?!>)-#TbodpmV9?QFraHVG;wQrhUN4fD9Ey6+7WaTD4|L_g-4&P}Hp`F3bwZe~ z%Vtrg_L2t3aAy7mtwQU^#x<*N-BVWP8X%9%WqDBKICHQGRx3X* zXX+8R$*Xg&!)rk*rDm48y0QK9uLs$#DZICr3d+~3`sVO;@LSm)TNIZFHN){i@snD9 zrF-{2M@N@D>1~1-50B$-2tLsex~@6ubJG|zLVF9H=CJe+F$F8_{s^VFNcmAYI_&TG z=s+n^Y_h-K>G*Jugp|j!&urXi02SN%hPuLfl$!1dx@;qSB!fYiHu3xu;=;kfobpkn zCg+RU%_`C2l$5z{fhp41O9k2wiormYSI#ZUAX>U@pkY|xMC4BBST#Z3yQAjqJ=GO0 z^!y|Pa~RM*3`xR4;7+VcfzS?sHr%a~qhic$d`u}`c+eI6@2m8T*DvzY%gW+-Rf%4C z7ZJhd@%#Jz6x&~EdY@P+|3wZ~{6Ew)+LKpnJ+<;iKGA|nuVmM|JoBE&H8&-e953J; z)k+-;j^fI(;k-5&E&tfjNXhtB$P$2yqZ1>F6QM$Ejq-p0D>XyoXJq7c2KDkRUP`_}M!_&J zksg_Ju&C;ksp_WcS6QWv1Vao}w+PXX8r!!HHLJoUF7ktJ3Hxsz6F~^AuavKr2&bT^ zL6w+IVuRyevCS>liILigiQ3u;@WJn)xri#If9%Usd_2n$So%Cmvz5m0ai%7@@W&!Bt*xvq&xa{0X)tLT-kSc%=SO;U#k-hD;l7fr!E6BT zhjrPs%U|}itNra1Xe!%IOyjjE@3P5IK?)ruaE#4RB4_X0k)KjVa8vZ`|Aru?PhRQQz)x>984q~);_;8lb)XLb7UKK$;`|wx7ukC z3iZ8?B;Pw6QVdpvID-C1W^XR@EOtb&UH!uC`a?T{_3>0~6=}Ix&1`Edqb+iE| z?rm{yApWq88%|c6ud3M8+7vq#^MR!!U(cb#{n{rsUR>Pl+{@sX<^7Z$F7IWS5t(yc zVZ`RqnvKEzhz>q0HHLkl)4pt&34s(8Ce4*cx#mDyjTXODk%ND7N~_Fl0zqvDtG z^IGf(zV1XTx8F|i~?nj+^rCHs~z9U|?r-k5}yBy-xd(A5Q# zXPBv!YSZE(?Y@K9_rcVO8Ts9r95CF$XQWUV=5oi6595bp8~}guqYL$^38v#J81l6d z5^ZD82WY5}Yq^9l_Ka~Fx=V>vBlwHWraI&cM(4Gcf#k>^TGf1o#uK~YH;z<(#D)Qk%ib+*PtSPy#&u{*y^>HXg6<>&Bf;qdg!t*kMv$ z_pVPX0+`~!Y&|tv@`_o-b#{6OIEn0cMQAx+k-3J7XGtjI~GduUIBDt`91$#Y>*S5$h!Fz?trH2@Ra3V zH5N*wy%3(_wilB4I+whQ-%X$3u8dZL#cMpRLxglOwZn@W(X505VUKsrmZ&3m@G=DN zKnsP`E~N1RJ^DiEv|MWcTJU0cyqnIKOD>fX@KbJDGtwC12wrB5IvpG?-??9ny3ZvP zaV^2FMJ4?vM+j7%0eXD7UUOX!Lf5Id#q8d0boPWKb}3wx*>3~rqodDrIX%-pGG1WU zVXDvG8h$d0Q^%H|E#`)=L1DiA@8l|j;{~1xd2;BXsVCshDq?i8=_Y)AnZ#N_B8=bt zH^yRzsUOGwdLqV3GXnj=3y7r29+3o1m@WEyK+E6vZWf;4&9tXtVoxs=VnX{-r9ll? zjwMUz9g6z&10&rg(O;Hij`_K;ZuJci74}GQoF2e}A**``e$9=v{jw8veiio%=g3>XP-xXAXaV zlOT1)2#6A_i!&-=SeX9a1^pdECF;JQ^_Rb?_*gpsj*%3hFBrr~C9%OFOe?Z}wt-3uyY=7G>u;-#KcG=G@4}2JV%Hn>+;Owq{Pwj^@TT z=x=r=Rs=${+_dPww{FpLsk_^o({gDmn^>8fIumfIxtKU(ev!2?eq>I-bb)#jEzrS$r z+MdMBYiw%lXWy+I?ny7|^r>8HunbIJltA9E1iMQ8hG*wC-<@ubvt^ZZEys_n@ zRZW77O!}vyT|Q9@6Qz72`*X`n%qN}e^`v=ti0jrpjB}xO{`BIU_8l+ZpoQn6p)=^EjK%;UDiz4+!x9Hi#M-zWRR3O+}{K^EB-C zGpV0KME(Nsyve=)cS7E+MCbbcWuY%o^&7j_68C1MzL{e+>i_NF$~x=#(*=h8jU$0| zpBVA|3A?vG-%bt^30MgbSBY_6fN%b#$5u#zx8S%Kt%At(pULU9!|^v;{)tCI4F`k`JH!OS*AczDm;qD&cx+qrch@L1>>QlPkY}IVZ}%ZU#=r8Tx9D}8 zCB%4a?@`?PV2#h8gN9ps%Unl#qdt^~?%x;aeSt zwP3gx{Cm5mVI!^iI17nEm0JQFpYcly#E<<}d+Ihn8tZzB?HoFMNzPwgqL>87r-Me%wc^9t*=hQ%!Awk7C!H9fp zq_BkLz+*k7B0xQ(WGo-?`UHmHP9Yi4ar`?*5#G*ZbprW45Y(@oft4KjMci4XpaOsBAh# zoX9hwe!-CjDcg?U<%SWYQvSV{&36U$cD8|ryK#8-`b<7rSS*UpQ=y#SNZyz#gPVP$ ztJfrN-SXnnY5!a^txuN7FrXzzQgoT%+&s%>nmptzn)Cb8nr_*)N8&&!v0ZeB-00%t zrqa1mKQX5eED7Ij7sIUXImc`vwV%_`hdq5vNG1s^V&Lz!GyQM+-=wiY4~sh`-CE_f zNmds_7QAPRoN*D>m%KzHcSXbUXOiCF^?{hce^ar4T(d2EQOaudxge3zhnR*;B%Cgk zbEZ)#92%gA6#9RA>Kgt!Hf9~Y=s?+c!IH92dgO#Z6-TSNBWzy zyeOtVUL(T(vqn)$wE9?x5y$#KRgPtK_Qeo$hkcIa3yAtDXfI{da;JY7w+|$!A%g9P zp8ch2gY{ENk1O3-9T82yXL(_P<(PwT0vZ6mTXn6UwAP=F#x7_%a`|{m#^EIauH^p= z1;-3kWBLGsEAZB?etp28gu@L>%oOg7MSrg!QMsLN>2YmP&pAerh*l;BkNra`AxUot z$bj~`-+zqp>W{K%%<>``O${jssk|%&?Oj<4SUuUb310olR?DRx@u++Rbql6+db;Uy z9Ul`!SI?w#A9&cc-S4+kcj{g4GIXbdc{-$8HlCBKM(FB6P(e|JU-flbTG4hQ({~=D zQ^KKz390nq;@?LDYYV{cy85_FQN+6j^dtYEy`#gcgdu#VcnyhPf! zVMfyE8EJzJfcc;if`3$U1z#bdRGWI8KdrBmm(c%%6TaSQ7Wr2VLWg#W3&a=Aa z^al)t2rHBGjxD;^mf`zXW_gWn07y7Y`Y2j78jQXfDE5=>UYsb$&DB`;^g;-d0k^5> zbA$cm=&+|}_w7i}hNe|Bp(43dd4%=_(47Rplev}#q>4BK^?SYL)?a|hW=O^1S!*oF zUce&#pmsm2h$LUz!?5RP;*Z*h(()EONHOR3eRYUV)0^nb}TF3 zOuT|byr{447X8kH6t1GLs{tK?>|^QATDQjf$nL43X{2_lx##|}M)A!yG$zgk@)GeT zgmOy6tp#r(DpHtDs2oj8BUhgr_e*y!W#b_)Pwj_g zHgf9+c51;=;le@Eot{dViI1jpZ8m2DoyQ&@_5+nx1-nnZm)HVSKLj+ZzYGOFVr?Fi zPWa%l$G2{ePnKxDZqD$Z);joz#J%sNlf3aQ%g=kXUJrfEj~+&-pt-c^$Zv)5uzUph zG0-CxaGW^;1ei$b)pYYp%O}gEZ-BKFG}bWONYk;|daKPhaYvcVyY(hX#;EY<7@~(Cj8Ma0r?!i=3uEX!)`M=8*AV&uLNuY=|uAm-vYk6jk0XLHl>sK5T2v* zy^Rgxt#5?dDXa~?NH}m2mFv#ic&O%I9;4~C+#KGQ4#m%Mcz*t2A zD($ne^&c>sbdfNT<)r722Q~0C3l{VvI9MX?YS|%zj3*%EMTZMN7DO;R8;&g%p;Svm zFxB`bi;s{mm-sEkep9MOQ8Y_X1u{67w~g4}vlI^DG`{9|~i-5b^(L}+S65K3V5yy4K~wN4k>i6WHkN|!~!4CbMI{I6iODI zM@Ho=`hNkwY+*;V41`GV007cx03y-*0YSPYfFHutRUV-EG=lKrz>?AXDcWHUufOjz zqu-~%$v}6A?q3o;VKi@r37@|TXiGYU{$p%zyaYu5T7MXN#LL-k&9kU zK*}?K`5nOA_YY=l4-Xt7^rU#nJ@o7Stct?pt7u9HhVk~t3|KK(W04SWlh#a^IT~PWdPAj763PFvfWC(oahDiv+i3~p^?EspZfupaWj{^V!P1xw? zIvZ$-27q>gL5(l**AeoC!xn=A86dO8z&=(X{xmOupGxF@itB#7XyWq+Y6}LzB=g_OSiOO1yoPCTzWIxm?m9Ys1Vs;PWrg9k2+AYH zhSGu*dXPhNONkQqggMVXDfPy-h>P;WND?EACkx|kgD8ohm^o86F%fe&(<&E50TDvWqr0i>%w|Uea@jIIrnW6GAb-t zb*0Q|7c&*#45LCNr}zqvFvA`^y?q zF?cI2+loQy*Q+hoT)h=}y7M0u8^w2M;vgE5uQ}UqX@+Irznw73+Dpj_i#_miX)iyS zquM!7Nvv4Wu+evCtV8F!%>5lPz`koOUle-cA0~#6gLJPoKp)dTK7GeBlB^Qjx;CU z?%u)PmG||k3^(~CyZTGnbfjDWCsqz#3w!h5tvaZ(T|`_$<%Y45mMzi5EBYE+3h`d2 zdUvT#^D6fqtCR+HfUFqt?I6Jazqmc`i!FT5M2nft==3Cq`8^!2a2 zj#)dh;VOpxk%=wdtf7$Stiaf8`bOFt7r=|3|$GAG=}OWUEC%U%uKpl-OIzBfYbt(FUkQ>I+C^Y(}_A zaZ#(quCsWS;F~nU+ZWwCQ`B<_zY>~CrBFc<4^eEss~!46JEmEz z*+8)2xl|-+d9J^IT;>=+%qp?&k6AIR$P_tW&b(3Ps1Re|53jTnV+%i-`}3r6@GR=Z zoGqt9(p8!JtonE>9pm;vLNF3##dwAy;#VJY`Rg22yKe-Wg#m!~*beQ#s!{ozTduR6IU zC5tb`PO7}b!f%fh?nq8-i7njQGS#Ql6%R^jh*XzZRRl_8KPNx(=)6;~3S9cayR;&M zrRTSZlFV*@=HnW&h>!a!Mc~;X;%2Cnp5Bo5n(1*Ca84D$VqX5vU(Vto(4$ip7LTh@ zn8A9`@zjV+Li#l&ll__}p=s)5FuKm?Ph2DETl?;xTh5|XpWw90o5uEgi-+c8@y$lt zD8x(w_DJQWeit@VD?LZGYhZ;Z(Kw1wjF)|RK^wt|T^3TInDNDI;e0;uG+zScG&TvM zQiJ;M{Q#lS&v)%@_7zHZws>6^qHR__Wpv6^0_!CWV7vSybLn(Y0-g$sc)BrVjYWKp zL^a-kDzTshEN{TkzN=aD+;j&%UyG2HwT8Lv_uJ$N0ojOrI zN*4|d<6AMfg*D`$2YH6yKhk_(A+Gh@t&+hgHirI#KC;}jY$a4 ztGu-QF=vqpSSNb&FsI+ys*jgYX&Mg6*LMW$eq`{OIVvD6_77N)gXNbWoX=#|?}blo z}380y9zd5!0P7b7$^Csy(8;?zvu~l3W zMi=j)m7C+;k?iM1nK&ED zX`!mCQhPXmz7vq?@lpMy^j_Jd$dUCmbm#l{@{i^CXK=BNpefAei-eE~yuHRCqJ~hxm*u;xU{(Zy%*k$u-;{7=ry>@tw$yjy03^cW` z@Ae}*jY*aWuA}KJud56p!%x>bK4H78hrg<0fi9jscLG?cURol)j{fXnzSN2bA+X@j zRvFR?-X^zRfeoT6V8VLy$IFLUh!j=aJ%H$v+wx*CwO(S&!T#Cl_jBU-DlB7og@K(Y zw#$gG+TEYuXKlImK>$%X?QZ&eBv#x&-;0tE7Tf3}D)92eH+GO-Bp9mby8A1e1p|O? zMCa!yqHxl-j0fz9eLJ#PVfXTKJ}jKf0b<2QrK{43rWUq1b0@(*IitM2iMtURTu45(GNIuV%MLA~~@lw&@k1SDSg8-gWlKt*(B)u*@lt5Id5vfAJ2{ z$>Xq4yHl=)q!qpWlv^#3*ykzsCWfil78vwGk{4w~9pxv`ITYTmQ1-E#;HH+$awf`* zcsf)B2|pL#`uy(taqsQ$<}?mV;5e}bbz>hdWhy9B3w@`TA~`jK{ttWK0Z;YbKmL`X zG~9*;87(APXW2AV=va}IJ+sT6(Nu&=5;Br4#0h0LDJzbVUCCbAS^2-ehf24)&%Hg* z@80M2e?8~kaL)OBKi~J~z1QdSeX^+~DrMbFS}k#UxK6J0Y@T@0pp*P0-5+V1&)ynYe$$M$HeJhv)m`r)cwK06+>ghqkSyv zZtcY)s*;Ka9xfI9M)>}lOl8SN0px4Dz?K;do#iQ^#s{yUy#$$9v#Q=zv59sYmLCFp zB>zNeMka^z@cs27spP;6Kkn<#btIraOc`qPzKFY%W2#62TB z{E`DJC&5aeSf3kFlwte)$;HFQ2*ayhuD;GXL+n{tazzOK{DF-&SK z_b&O?d8)+XM;9W>*JIY)iDl}sT3=9s3*RufJx9xynM1H1TOA)8 z0a6qBAXjObuBngWD(el@;XK)>zmdTot#-vH%1e^;zW0?Sy%CWdeb#;^P+VK7-xNF$ zPOWkA8jLMLF133-dLQ{Di^%AD`$moD(vJm=*I4MDB8Xlp`PexoZbBp1t`}Dj3IM{Q zo_2O`2$QoP!4f;vXv0fIn`6S1HM~h|%(ClF8(KBvvRq{Pi`>TCs*bf5hpxGs;Pf$> zN}2jE@TjL!DgO=Uq7 zya^rG*mbv2WfO~a6>BM%Ve|4@kJu>*t6-)MR333d%2~Y6%C_5+d8*9xgM&+X_p5C- z1=}5aw#V~=f~&(FX}cv)J|0Kxio{Q;w^pcjwdbLL``g)Ff8!hU?Lmn)-j{;;AD_r5_RECh7^IBTBE~Z({J5& zHcMQhSC{h#cY9(`wDE8WuH>wS-0-4h12nB4G*;ghD|M_(!r}ov3$llP` z?G%266(*Ez87`I9yVc&+;~5maz0&K`@C)&C4@g;I#=5()V<#2)LzAa8J_*RTZ1pMP ziCznI@w@58Xf=YbU375mVck_rJtGHM8r075a4KFtm=s;hIHD`=R#;Vkd8A!_ln{L5 zxboHH>v^h{ens3$G20jpF#$eqU(d~~S%)8fjH%&Ob1F^JeBi!|zprY_MJvEdy@beC zxi>VPl((g!-nLllZO;=9Loi@B6I^WbCbh|eUX{<*9^!>r##2p$MAeQ}Y4Ziy2enQt zIzQ+?G0gG))5p%uszZL>POk#%aIAaR?o7o^dc7p7SDp^r)=As6j%C})YipGbPD2K% zr~{8{-55*k4S#OjWU~&VB_Pu>lI1^P`ed(RY@omNIAgV$tB~5|GB(LO_&$qkpL#5J z`bvzvFi+mdVTV`pi>Auzlw~C8!(o_e2^XkcTXk2RlY3?3{%n(jj(p}h^XJ>e9xGxd z{EPWU05U%Z7>l6?4G>!uUh)A#n78xJquFV<-$Hn~y2rJXh!ofZ@r^O-5gyDKrm-Y%PP*uIqxJRFc_$I?;TY>knMWf_;8n_uI9*AyE}TWAFy=tBcG(+#4a5&u{>Ft74(o*-L?v?T|SUK`*=9M zNYLby{|ZDq*-n28ZQ3f9QHL-uGql7p=LVEiXM9?7j0s&e(r|lHDf5hg82t+}@@nrGQ(c4B zhK;=+!^Y1wP2cG+lGtvzC*GrbMsO)p94ney)~2CBzD{L-+mq z@nvqLb)2iAmV3z2U5*$uS`*W`wYK3vV<(n$H3+TLrWX}><7#8;pRT1w?)e35t0NLC z0@Nai8F^xsZq-jBRclCsOGofwzC9}TlN)T>2TQywPx{>u-UcQ3d;Y=I$8UE!2Q9w{ z&!RncL$B&Nd*@akdqF9aGxu1SLgXI_O{cJy%V*QE5Ajz8d}=fraA~z9~etqE+05|M0lknS-n05A-#DnY1!ox+-i;u7SCS)F zdRIoGK+7;b6t3Qx5p#SIQn{CkSmAXju&q6=dtv)TK32MnF)nL>+a%Aw4-WJppaOur zHcZbnY$>m0Lb_sO**hP)Z1B4JvgSguhin1<65^HJ5Lt-vB{^1V}u zlLmLsbwiSL^uoSF1F~Yn{JQBvh-q309$){|t+k`6DNLfuH+0gGwZGELcZH@J4v-#> z_!S;JS^My!*jpKQ+RcWzo9nc0meP`sZ`Po5mr*hl2@wmjX)e!_?}%v%FW{_vRIIFROEs8M^@mZEy@J_p{(qr*r2TDzS3SD7|SM~iL6NyDKzS2rcE*1gv9fN#f#vMSsrHzIq$>R zae8x^GN0P1fRQ!Jq3St^B-q^5?rriIY~ zW5d!Nf_`t}LQO^lRVJ87H%w{Lj8T*x!G<*jx27Toj&Xb1wn+ipv7%*WBe6JwFagfT zv46Wc%Go)CXZQ4*3ejh))F{X)uu?;~PD`aAJ$n300$GElkkU$*CGLC0YO=_$L*%=N zLDeYUMQ;=>VDm+X6=3Qsm*_SYIZp|ypE9j*JC?D=Myd7bj^s2*Ya=i70rZ{dlFy=p zi!k+CMb3_SgMOyX8z)FjO>vF~>hD8t!rhAdMp0J<`?;e7KoWj-jkV7f+zWGw=$mO6 zHgRmP9+B;8&&ipg9x4=3S3{E-?x|0^E`>IUTuGvK_dnBPI<@!NV*@01IdAjyhW%rM zEO#AuHPugw6!Y(pJdWbRSCglk`{AT5qVVATWfYVr$2KFH(7kNGAAe$zqGofk) z`aJ`ZXMm9t{>+?seyMwn7H%XiLpv_lWl;r`f|I z8(nf!H0^&A&h#6*G~RR^Pf#;S--ef~zTj^>LF+cCCl&H?$b~Q&lQzaA@wQ{2Hb)lY z;h?T8gmi5)3-g%1ZNq?=$c|-iB~o)fHCsP?mtS~vH@R^VyZD{9c7;#pd-LL>3v-6U z7ahLpZCp2#)vWx~_?rZrxJ_22aX_32K zH&v|I+_@XUo;FIq^Q?uB&bcNwAaDmZTgQE|zy{{vUcaUv{iKUa4;vLIEk7_6+ zAc=AulWNQb16TGgKe82DU;2#mfK)f4uzyJLGW5`J?rp+{@Pr*WdpsQDyM$cBdsxZu z{M1K2f0di(jWdI%-DcXT-`!`8-R(E5lvN`#qaYMRqadYoQ+}%Xq0`FfRFM1)W%oB2 zw#;zMQ3R}y}c-!fRMxsOFG%bZ0gGQq3dE2{*MtP@;?NwX~=@JTa zu{pzSR?m~^7ZxGfIR>GI54n+JtzNo9`o@UVA;aJ{`s~wzhQ*Fm1o?v#<&ralo!O^Y z+8T2XS-*Y9oSH9_Dg?$rg?kWNWI*-WEQNEe8lz;nI;o^S^ofhrg`!iUGZqnpJN*5^ zSpy5&GOpSeF4)mYaZv&borUqVAqj_bz*2qrXOGbLhJFZ z4{}Zz#W&&Capl^v=9orxD9t_HYrGZGfYWQ)#uHDEe`S=DTY?@pcG$?K7Ix4iRN%+Q@{U2#iimGkT3VAhQsU8U=2rQ53~xhZ}c zf&{mkllu*{dc96e$~L}z7<$&sge6wME1qiZB5rx|Oq!bP1hy8hk|EA=HK$@r-&GP}|&R z$EHDx>_DppEW`=7d~WQTjxlMdcffJGmPM(rv~=h+`O zhb`c|o=EK;B}yW$_0_XXKYWAWynCBij&mQcmY@8d=$E`nPz!{sbi`#|2uTxoHL1ci zvpcxTDoO>{>|E%cI4Iue*SgxTPsA|s?p8kfJtUs$;TK)c_J=0q?76NAm0Bd$uh2QD zy|bE>MlxRz%S6cTYTe%wqq+4c9U}X1C&^1SjOnAHK~l*%V3xHUYR*>OTt1-!Y}&AN)*saV7~v^F{;bgad%ww&}jYoyVk zH76ai*OD3~LpGDTCHptJbAbma1DVcPWrCh7a54j;Bf z(U|NQ+NUnHER3d0Z&tG{;v|JMb(HizGkkXX>R8QnwH@89AD*Y}6L!{!OH+Z&AJSzO z8soejkcUe-vc?M}d)45Mi%dlFt_bH>2b&dFa}0!a8~LoZo!%B;*zK>b5ry(rlc8g# zZKlPU-;gRyXOL7%VFkjqIqX2s(I7jIc0&zr93TCp{BYX7$<5iLxs_%rFRCc6dlyd` zIXSWjxpyZY>H)D=M2X2w{;DrhnnK2hE;3KH3AbR?LLLV%iUA>dg$T>jM|r_mioV$` zO7aenU&b?>t>41&b}&wQ%v@|ktzv_g`2HX}wD$$!lw1S7Iod`#oDht1x00=5hCEK` zhdMB*v+ltU-|=a=A8MO5)IMZ?B?HqTUFgZ(3SZl`) z%V3LI(dAro>ZdiZm(%Ud^RnS#y)AByi&H=K-H=tHKxdRH5jK&(me#GC zh*`gaRFhts#nGmdm0ib`eAU?LRq*sdn~m-7rQ9aHD9ceA->Tcs?(}r{K5Osb4RE1J zjVTjnEvxBO)Rl~@Y6`JpY8#gHH@R9`nnc2{359t z2?WaE!O+q{8_OAa83gutl?@76%y|Q^&l4mBiKD^#QDLKP9;2EXSgZ5gNPavg-Q#p2 z;a>W_a=)ed7Rs+*&_CDN3hkIZFOO|Z)5`6N$;u@z_ZjY!|8(8)w{^!3xmL0fC(mkV zZIIe_g9^c=7m^dn?g=j88#M(@V^Hz&%?=oKn_4$glCOtbZ13d9)TVb-)8*6t;nE#< z?j4QY6=Wxpl`D`tx$UJ^XB8{Ebf%jaIHcgBiPKN+=`?X~J2^S6#%c*}8sk9msM}1r z_A3EGfFI^ZL#_$g*0&RK-SI$0?dK%IAzd9CvU#a^iTA=(N?E=Z~KuL`+ut zR)AvzS*Kn)c4M303vJj&n3@uP%F@V!AffZK#_NX6)v>ml?#C)o@Z*bbVLzep9iwM_DYbZLN_o51V>@{e&p)QK5QZDrDe#798(+c)u zr`8U)5R>~?6x%*^XxcPYao-$_dGm>qgXEO%{Sz~7VH5Itokx-IqiY>AYee*%EW?pL zwlEjeySZ?^Hk!2mY~j>CkxYkjEoX1OJjVyw=L*LnI}HP$#^oNFdWZ%KvA3j9|MSh; zHb391aPw77$=w_Yr+P|dNB$eeyx%dLDzd%%gKkGo8FQx>%FBDY#Ub{+;_S@hL= zWe?-$fWGZzW?&stC|=pn>%0La{~$gwS7%$6_NfnTvWexd(v4%fJK>?en@&R3uv(lM zIKHwuK@VN6YLm5yhAY=)8mG1KrQPjsUuxJ}UXdr-_P!Vw$*Jf{cwiW9jB#lyCsoVU z*uo)-9iq(J?DJOS+wBR1Ri*c~MsglmfyIC$&yg%*o1R;r8mt-DrSo;}H zfJj@m)+2EUdt=8!gp1n~dToQ;^P~}zVoZHeuzbNOt+6hPyj#n!9ya7lBPB&ynJA?v zYMfybvY4oIG743Iy}Qs2XE5&GUQdoa_&B3DUM(cym2E@E<8z(sx(zQD*2m{u>q^Mn z7v0%WHTcnS>+F;4lmm>?2ZH(|yUZ~LoyLP1he#{lwEAf`zK@FRd>&}S8WuQ{P+(*^ z5=Bu}?p!bHqseK_OcP}zNz*m9T78`&Ox4%rR7>^3_Q6&a>D}aU3A#gXccZ|B2c<_D z8&$YXVMtF@o3x*7=&=a4sN~k?QfF}{gdGue)Cia1qI56Bb89Wx-ZX4J<7`OVbm2y) z<0=WRyAe*t%0YcLeNOMvHHD(k2_>VplR_*$Cav39QCa@X>rebN&mI-0Q z&E<(TiAFE#9zIthrP(kF)J2aCn$OvWO~9TRd2g5dlzcJ^pR}isI3OYFG%cFl*eK$b zp}NnpYJX6Z$4m(L;Q2ZWb=FJQAj&jun-Hv@X?jL|^po7cP_s3W<1NyvQoUwwtA_6c zC#N|nSyl|QG#ml%UGU01G}#61L;kOr??YD+G!(|X%MFYkdf#(U)z7*o@LZ!XecKXe z9yf=vo-*&fK}{h{8PF%~{$z2gZ~17E;(FP23oahIox9JB_NvV$MB#p|c6)bDMk8nc zdsmXG{rbSBW_Zlk*w|xkFK6TJ+YWCeUFqdXwcUV2MwgVNTd#DEFhJgc=V^Ij397GG zIT(s$j;c%GbS4G|5*bn|`s(#^B#4s zlshycVJAK_KKW@w*6_ibjgeHy(sQ>vTUu?BG|xe%5Vqp=l=wWqt7&4Wy(!^a7g}hG5 zSoxumN^Wu2p!jEp3{Bh5kRv-Aiysd=L(VM!Ex5nk*d_Y1R4aH7$PK;N|Dpn6+`-x> z>{WWoCCROqSk~7;Vs-@KaOJ<%XeK|D5um8udNtbqZRz9T)~FMkpb;Cj3i4U@*=vtq zw{QyewPll~KF-7294P&;@sX)tqSp9Z4a?wR*5FG;KIB}-jlqc_39MDx4fjO}rA9-! z%6D_<@_D=l$lL*og5N_demQ{Vm04(Q(CFj7e3u5_vkn0S_ITE=XE9-mT&E{e9Fyxh z6PND^$_f_wJn?bvu5vaErckbtI7)d-^c<_jw&20{D z*^={TR8QEZNy_(&EaKN;bT3&uog<=pmE#zlf;eyHOJ1(dmgV7{gD1-_F}3B5?Xx_e zm1n<7l;6892V0osSsxf}9Gv^aCCK417IEHL7o*0rl$ZftubnYc5+J{E^y=3B_l?cg z3Z^|Cu8ob8q95~0^i<#(4ZG@x?M{gmu(jLF zhKSuW{!O-@E;#D9j!+ppF%eus$|TxunXB0>N4WXQ$ca38E6R`fB?bE3;9j0j*Js7p zSKji;RlJGZ=Qr@~ks{T$Dku>w^)JqJCN{5-T1w?kcasvFhl`%xbAv|P`x#w1Ifm`*!gr(5dbl#hW8QdiEbRTH>f0yJPee5e_P?Lb_%!Kp zLs{ZJF?poC!vsxs!0O?}xNX|s#qHKYdLeJ7XwphDepK_0xl>~Qbkq1suSe*JNCnFr$6R$1SZ~&s}+nRn3IorH#un+P>#Ha4V7AE=fk7huNkB8VtkN0#AB`Up8G`0 zla4dNl$@)A+W49Va;~v@pL)(~H*apbH76 z&ee3ttYPjUJgs7Wzna)tX=8i=+;Z5Etw-s{M#9%P*4uOmzGV}A;d33)_2e;_RaoQjLxN(2Ii5cGAIZ6TNu3J^O+* zyK81U!(petQl(&L8FS2*V<9ePoAC8FOdH=l zhOkbO|M93}{xYA~2YunaP=D9H5zVU_R;MGJ+U@7N)4PPvM1m*vu`pWsqFbrY8X4mC z>^H9PGlM5j_p)7sBy=RC3X;X_+imm-?5xLRN`^GAE~;Jtw^z9M%FNf-()IBI27cDA z{ViCen0=G1g=m%lv)WACn1#G}`kLV8WX+UqfFE=?Xa8jDt%YwPywzTgs?X@FsQO$o zeqASH)sU5NY7OsWn-L~cxXVk+$b`*H?=C_E-rwG8<8Q=|+-+u+QKeRIAC))S556oY z_HBdMoW8NQb)ALPa^mUNW2};2(RD*RHp2OQ>t#c4x849#OLc0cHgcQ3#r-tIJ)~hO zLpOUg*sHT}Vw%%!R_hjB_HHL&teFpIT%Xryom~rQ3-@=$M!XNLAIiMZhR|MU;vkZLFf^L%-5ll? zp253srjg$AmW$c;7crYiJBfMFmyd)i>W*y9BR2{YscV(oFMDc%8vS_5Qwo%JS7FSs zPe%6U!tI&&G_9$C~^zb z_l6W+c=E|@IA!Vs!3|q?3WDZDSu)68D>O_Zwrd@Y4q3m-y(m_zq>bav3_9Q08MyA! zjRi;*bR9A?lQhQ8)|O{9*ycL4-d($im~6Wh;H*3*SVj&>xX5(<%G(R7B!*}bH?t>P zqvGd#x;8ZW?66H}#Ig3cx`{gUW{ShZG{|-Bhw5v|S9dM+(xu8bd}$U_FCM0Houf}x zVtfw?kbdm3eNcb)efM`J=b)Y|xxL~|qH0^Xt<25mZ;5BrZk`%Be8uxHK;<{aRDaE9 z`Xjh`<$itgr7>HanH__hPZ*~k(?oarAd=D*eSTM)d?S~h_TNp)(OY#Cxpzoh z`6ZX!U)>U8$batkn9qj1D%r>0PcoE9DpCwbR!4T)?vn>6)O}xJK#^xuk-L8cKME?1 zV^Gs8`{L!RF-J@d78IPekG4N{IIr06p{jzb?V|^s$DTjg1s%8u_Pi#~4rq3^quT=o zD)$jcD%70fUH^WILFwTbvA{Bq)RQB!71&#f*Ph!Kuck*{%c402*?~K>Nbq|<%NWyK zOqfeg^+F%x-_9S4-csb3VZIa;O)_P>EBJzO*)9Q16Bi`-TB1VAGkpwFx>nd!_GN35 z4)6Xnal^Ex_|9eY7ytzEaxio@z47YVdp%3bn>M=jHu{E5mi3Hi;sajVD-F^KL08xL z`R24NC*)cW+33gBUYm6jiI9vKDKFdQWMarFGDK6~B)p{A>GoLS(0%7#rj%L>^<4>p zz}A#m%FI;B_hrh6H%<*4cBmu@kURR?QRt z+zFLHs1b<`Mt8cb>T6_Y%`(R`2U-V>4so!vYaXknB+_8S=#k!zoR;@`8E~mHKG=ub z@>aSjqW~xhc)fmtsefH-3X@m78R)XncMM85rDO@v@AR7RIqh)awyqbTYhJv3XufM! zy*fJ>PWn%Cux9NX4Fz7CJnwH^4;!-32}cV#nm$?fVa8vZU$r+J9PXUaW?>QQ(6@yi zK=galSeLP#PNXrImbkn5;QrB+soP_(hN_l;zJu4@w>y3MaB%TZXQ9Qd#sza&cphUk z=`1g9SMMU6dN3pW5Jj89aI?45RW37KRDQmVYbOK7A8C<{pBc}sZ1c3o_$NWdMWMI@ zhC{v@Ys>Akc_@i1xK8kTe_*dKkLCzjSFV#@c<2c$XWQkG+2b6L*N?SWShUVd4HwxN z?NBXaVL0(Ta}L=%2k(mnC9Vpgp%>S=8RVZ(AU|}ea4M14Vl8atLQVuH@Y1-rJ{u^L z4zN1DuC_+71mCH>Mgx)_2v0KTUhV=*dyrAc;_R$0xP|FZSS(a29Bl&wIGqpTIqq zdG=9`;X6CxPOsu>-ZYO&sQG{iKqCcrV)hnP)+ zD64+TnrwNw?6_xTjKr;J8HwJ4OSuKvzOTpcPuvs#*k!aTYM6J%W$$Q=CwKb01LPW; zzEew(@O`OE7a624?6}rBSyC``q5EWfaN>{~72;t;!z<({ZfE5EtmaOsua?`M?vD=5 z5_%_d>9ySYIV1|l$k{CwcW0DNCE%LI=;H)YyQY&`bfITr(`3NHol%XNn)(JWgtN|h zcCJ`~7?fKZ@^F;hE%wkd9hE+@BU-CV+q}ZIM{p#!Uj`Ttd&c-Y`)*bF(7VLov?bMQ z@zK13i0C;BtLjH;LL)uLO!t)qJvPFeylL12tnM=r>lAd@XUMpdaRnFn^r>N+``%FJ z%cbt13%MP5;O^QR#A@=^vZ|EhklNQ&!RQQSQXB(9F zxGDF&Qk(KEJ#~@2t@)_^Da2jrW74Ja`+I6s>>9C?*-SC)$~E!Zp>6bWld_F@Xpu}z z#LGxyYqdy^%(SQ-adgvruz9m#VK~Tu) z=k@Vcy_S?xxeob$F89k%I!QM-7boMRFFk3cagQDlZB}WB$f#Ewr9Kfa(Z((vRH3{) zT>602qNC9f(pDdoZNjmM{h6GnG-Y%QtpYVHI+m{JbVA;25|w`_PUuXz?phqk@@5Mh z4KhIvytqbV#n8!<9m>jfLDlP|Sjf*dKAy7DyQN|J)CQqdASCr?HP}5fEK&$@EnWhf zyCyd?Fc*t5XvnR&;wd9bu9aFT!MC~2oUAM+r|0@;6Kq6lcrlbpzf9Oxk1#G(AxKmb ze~(mB#T|HQmaXtGF7_NY(S{&)6kJ_}kPT7WmscV2FUMS(Td1igizMDhF9~Fnw7u%d zb-O`X`FK#Z1phL-gd08&w^;|W^KXf#Qoi^p`@_Sh`A_Z(dmUt!1$bm5Bf0{kBDU_t zGca6_Cb6y$TF2GX(IGh5x#8qPs_+G=>wC$q%b&f#j0k#@)I5poeIQ=5o>R8T-}3raV{Q#PMC7Wc$(?-V;c#rP(M>|M zVO?*_A)}zDdrc6J$g}t5V+hwv)Hi9cFVRRrHm-_`y)dY}MuJbNnLx~X+1@1UnkF1_ z$XWs#mKVA&TCt^NqmO+O-gL%EJY;4|Lwxy>< z>-yf^L#L^XGh4=v&|83iEZK6!laXCs%6ZJBjsrLrbD8#dgk5s`!4`*`GV2zEZ*SWfM8K zb%$*>Z8bp_u`%EpLgS7HV0+_vRQKVJk2$pm4Dj7ZqLwr-XZNPtqDbw)rgU}N=m9DF zXyfGis4Zuue0=1h_XNdKHJnw_xQ6B8k*!>2zTgCJv~F`iIq8K6rg;68*yllUP_DJ0-U?XxCUdCB5$wX z>h>x=xhUvOSQ@$6tI^*RA7z}(bi!PpFmz|Nv?^72SEi@wvdW5q6zdJ;?M(U1*%o2G zLRscSscy2(D}#994%U!IC-OIkAowo3tl|EBuFPW2`@(7NEstAV*QR`*o#;I6?zQFp z(VV7Mca~0rlp5=ribR?fS?2;@aVE3$z z-M^CHL)9S3_1M<*P`NiYaX0&^0%9VWyiNx_(uQuy0&(tFTSHcC35Ju0xE`CEDwU^U zOXQd1J4Oo0h+)V01sYxb)$Rne865l&t=ux(ZA&%jojRGJk--BXw(Bs&{pNJ zKx@KJ^ww;+`}p7{_mBfpuQftFSvsBhmaWL|bAt107P#*@w6bR1Jvz*J1izU|Ftkb5|5>8G~av6!q`X!&lXt7<43r8N{r1@1xb0h&c&Qm2s!mg=wF{wB|7Fp&Ono zj`sz%wQi$lb-ex9kl+y|m+k(d5OKcZc`rjjjP5+_Q?pe@FWj@~;1kV)l+AL~)o{L! zGtMb_ozF5%BKftbi=}0D0S#gIygz;X+ zUMQP+tb`!wfZjV|{@Ozq@H&<+?mXbopzbo_giX>2Xz?fph{ zgTrP)A!_tLkuxG`%Sic*_q-FU3x@KSRaz(x`?7pUu!ti?*cFMb`(0YW>9tO9GQvq7_-)wc@k1qHdecA%uspdx=Sj#TExj%o2Pk5r9fK_c7NFTLr_u51-VvQ=4A7MxV{GM%P$xL{A$N@RL`{8-mYNfVzG z_wm@JDo-E!sH`y+uJ_=OKi9s|!$YNO6C&oML@sW$@ON4$>88BW$SE!&Ao#bnJ0=-F zRv6YsvMhL&kao+k?Ng47*n)7?_=}jS_z10x;dY*d-jKqWoypraDQ@Wh=EB&d`Aqc(;p>^-(*#J8l$ON9$Zl3;qT!*beh$d z2$O8*p7C>9c%}HZnG!wK0iA(J&yV@_Tu$~5_3s|}ua|pO!KY;vR9nXrRJjLPrN*PO zk|R4gB5&h)78X&f3mGdCV%SI4yW7YVSPIAopEqyf(~G}2CZ}AkWg=YU=@GR~ZYtGT z-5EzUboefF-iu|-zN;3s$ubPojdt#32#M`1uBOr4SS@ec#gBA~eF}A2_=?n+DkHX# zO-$u!`F<6f%xKcxBccz+PK};Q+9^vNVrAeMq;}G0(FtYlfcWF1;z<#{CYdTc>!M39 zo2z!CpuBZ(xZmhq`&#sHoCmVZgDWVb*JNa1q)OgI7-QRJO1e>ze{B58*-*o^cD@O) zCYpT=B~@izLtGQt(WD2h&c@Eo*&Df-vQHoKEO3irSr0^|3H7~ML*=+={yn+{ged+c6dq$su8PKQB5iG1}T zW>?lxY3hJ`Z-YB)#asuA54(>kmoL;%lnSV}QNEy1*FjiWAD^DZ^q|3N;8@qD{F05; zH=<4#omXNYKKEC#ArkjXiP)?AY{<~iP*v&Lh1_W^q>X;pZW7|OIRAKD#K5E+gT^s( zNUFi$HxqQqt^U%}UmZa0C>#@Dp2U4jXr0A|}*i-UxW3?$@@7N(Jy%SHkG8Kue=OY%M zuf<5#+dap!+*{Bf%d+;7yxTtgEX~Qp#SPwEjPb#$nG5Q`|??`*8a-|ry z*)?-z9wV~0_P*zLov4z#>6$inl~d`^kv$b_(@Z}s zdz7@(I3Vcsu1odyD&>h$u@R?CC!{nDH|?;tZ*?oMYsOYboZhvgNWm#ia(8fgq}a)2 z>$z2IsHGD)iNu)-Vt7QMDD9}ahj2pu620w=>%Fpfn(Vi%$TK&WW?b*x&Xs!9HT|@* z;=7T>fB*`18&X}K;fw#wb~{q6hx!A84i4;Qm$<>;r|C>@5t>9Yyf)~0N0^jn(aStUnEkEeNCCq5WuskJN%h*U>#QWX0Ajg9dcJY;yw@Vq^ znF@I@ubmH#!YJ$`dG(J>MxWR5P2%QqjALlqljC_x}!+n&NWgWHXh2= ztFN?ejAU6Pd34husY{nLqvboI%TKaA%Nom~&&gA&XGw-Vs7~BdFH% z;+E$xyf3Zs{Ek3K63)yc)4b#EOVOjt+?Objk%KadPvchvF6w^!T7NPrB5@Bj-*&iP z+{>cZ)dSP4aUKE^!Q9WS{h!$*H@Ct>8}A!5<{EACtF|XK7A)%cc(9LaL;(q>g==ar zX=t?7P1NJn)|HKjTPHCfL$KzXSrLNIZKv)eNst=tI~&CI7873~#UapknDMT{HlX_C zfYWndOuc?VR69@TPI2md5fervw{p>F%01sOxr7u#W3$Rsf=HH(Fm--SB^FWNnLYlh z$_`)L`!2ZMw~Xn2m~-vJGUNmfw;ZuwEq5wtdP7scYi?W4_?x^u?{}&@iq-~Fy|MU2 zfBLLR>-Pt~^7DOn;_E(3i}}aBqQ}6Z$EoUA8=&97xv<9O2G%>3EX{Q+=y;_p-~?A= z3nMl-1J+`fg|+eL5747k=MI(S=bv|vxkFxY7@Xj|(^pTT2fL!@!Yb|G&8BBf$H&9R z2awJCX{`r$`#NUNp&yJnv`3DPZnrWW2G7ICMi3qdTk3anuR-6D27K<19@|uO3ABCEK7HSN?fC0cLM1f5JZ}|5>M-bw{!cD)t z2yBFZ4Jr!g|Ni~waqw#-M+E|h5{(b{N5sSN;AR<3hj0FUzOwNwWB)NT<8T-rg5V$B z<|{kTzsv819TkrMq4@ziM##1u);)w0{l%|K#h}oZz)io zvIP&iLZ6|9fv=V5c!}_+E1lhz4(JoJ_}FklI358(HbE>ukDw4d8fy=vXJIfr{R&OE z!f+)6YfD=zJp*gD*#~7=>K!t$fhTGy?A-@xTmuJ4=29N!wR`UOp1I%BFc~G+i(d9Q zcS@OYHfMs~TnWwI!vDOxEG#VHp2q|T=%;J|5ak#8Brzp63}q-Ah5`^923;k5NLdXV z20Qx>H~R}e`)hU<3}qI|^SM4JkLpa5Q5L8xZqn# zE*#zqqM3255EdTrCcyXA*%8pk;NTxWI6qhcJ^~*E9fmO45RYch_23gqNDn~>C9ucC z7(5i$jXNfZ-&m~YZOLf_*ACj>G9wIvV=C>Wrmr?4JaeLxbtpXWUT z;(&cVvl2wD0x(t|-b2n6#-j{@k{%fJvo8+su>>590(SeBsb*Q{M}+t}+JMRVDa89C z7L-|0=A*DQ1>SF1cUG8y2$akfjGiYlzh>b6y0^uK7sT=i^8Wz!6xI+xu?WlvIKxBS zf(qGBNP>nqXlO$a{1W0|D9#y5CLxHE_$WmCEPZo&0Z@a1TL=L!LZu8wqB0J;gd*=S z7Ot8biGBkh&B?X^0EUhe(Er^GkbeJF)cro>nk`ZM{?o7ZHa0vK3snltXD?M~4vF(? zgqZ)DasbF1o==E}U+`-x=m$i{^5gM<@mX>CLQzT~gC8h`YWG>~`I##4$9e-w5!xEC*N3i96I+Q7-zkykYpY4XP5P4J$Bpp@F`~cuHa( z-chVK$SCmAtSnQc8x+YbPvCW79ttPnL1_YY4BZCv;ZCh91gw@ic|PYXTEoUrkw!CfL{U>A}RhQf%1+I^`HPRILg)Y z<pIYw-Ul zG(tmqG)eY16?1?FSRn$miF{2u{D2041In7(EcnN|Yo=gx}hT!03?CtQP$pB3NF4N6}E zsM%&E_#V^%jHL7@U{Ti!HPjSGK%5OQ1fJhNMI$H*fq?<@JNLr;_mJyPfc7nZKT8H+ znquI7XpGRqDQZ{XzVl2R$|K;?p}Ye8L4oP3xi$Ef7rq(*igNz~ z%@-X3Rl>P=ituY3@>gRPilktKFi^z!0V{mFc2v#&DV#$#5Y!-O8`7f0(dNQuODy$U}6q$u<|*0(a&IAkPE@$=4S;_4-{P;igUoq zY)ph2d!PqO1B%;aKyleng^xF>lipCAuG=&SSa1B}CZ=Vh=_yis%%a3jEv##FjzfRE?tFiJ)Q z@H?A8{H)QwPm!U)&m8Lt&JTKKI{_#YqMZ^SkUVzo)oP2^Y@Ss{-GFs@siOyqxYehD^!{MmDD!^J8-59H zD6T9;K4H#p1c%~JpgANo?*#cAkWF-bzgS=WHFk&2bs@r6OV5Y@K3w^;JVjaFKNWWg z2!Q(uZt$1ae@~eFXF&T&m4Z@(_@WMgJ7*Q+H{tKB%K4%aD1q}Vr-3>_y$94Xpx5bB z>;t?9zWqfq{cLjrVEvn2OJA!FlnqEg8vGZ+@WF0i1D&}d;+=YgjClJxntrTzPi!v`H%&?xfd^@F_6KgBpd0qq;cnTyQ6)L%da z1MX2L^B-g%NPr7M`R-q1_Rp}-d?xwKIN!6>Kg2$Q{5%4%lm5$VZY%G65&4I>=O>VT z%RE>^>@PbPf2~YJfDMD-+kAQPv;73X`KX&?k6AzJi?>d3H-4JY`G*(*2kXPnbIt#I z7~%Jj%>~K7XM|bT10t-yWk)#y2koHq>Y+kxKLPW5b^x~;?aZdQ&R}3*Q~bO%FZiLT z7cy&ver+iyf4Zv|nD;x!nV-#`j*m?S{+ZAnW7B~CPyN4CF#O(0|Ih6!7Qn$K5g@Q25Kq97VeSKalu;NgQxGcm((b*kGq8WIDbNc=_p`zuIroZBWpAH4Z01M`b9iXz<)Tg%Zl>(7nT|9)%vTqpY9 z(ON$51QE1H99_dP{@JE+-Xm&9;iK8scQy-KGc%1Zr;VVEM{FGxv{RTjj^T0b~fnAM4Q|>wTujGY~W-REo&PcD;ooSxL~#!o>R-%!p6!HM$UG= zb86WbSeYAJSejWHIl?GPulzTy?`SjpX8>m@_~*`O*==bC9TJ~UWckA*T2P>WfMAF; zc(54$uk9z_;+nFeA6$kLf-MPrKfmnrfiS-#C&(-hhEMQ|BLfMNZ%8XJf0xAE9ssNW z2K&txfO%odyz^oxXUhD@t(rH6a;D7h$9&G<%yym-pnlEwqg?nuJ)2tw{SF!(^g3FWfZ0BGFn(^B_!1kV-=VgEQmBAyC<&PF ziZ}52H+Mzvgk}*b-DGh6-()w?W+MUtx|g9l@Vn-x&lO05AlNe~SV7VQs<4!-CqM{} z9QqFM0g%tj4Zyp(wxn4PWqzgd->bfVZ{hz{?=5<269x+b?pJ*?XT2$`J$HT+>_0(^ zL8u2c+qwSPj-yqBe`s^=?Dj{YZ;!$Fk>>%uw`i4x!ku%DHgGwGD}g|0?*kTAf$|{; z?d(0>h0+OJbKq_Y-=TF9N-l`<37VOpq>X21qU0!`E(G)a;20YU{oz_vx=?PX z@G@Fe!c*!ldK8{U|Ayu>7(=-aj6`!E{|dq{apde8poK}`yLA9p&RZwc1b#gS|9f5i z$A=Tm(nyf+$J-{*Iv5)Iz$&5M1-fIdp7ot9p%F9i9*p}eH(&axXLSuq5x5@JDnFnh zT!-qOFB>$zxf9F?-_L3=%H9i@W43pjLY1$Ty>EC0l?I>>$S+z|`v&^2eHQa!gE44d zHKaocf0F^2#XTPM*SwAQKadZAX|~4$#WL(@_zFLYPs-|0zJ+x{A(x`X(8g7YG<~Jl zEEd1P+-wOQa7m%uch^#Ov3>5LfV+Id#}uoA%IaKw^*h|_pnUVWPX?$9TIh3Y9Z+{( zF9tdaa6T{TOyRfLoGxYMe~%rRr3UPR5tz4G`v=s(0v-rhO3{SkFyK&Y40u4Xi1x7m zDzwlJ1Ht~+pR;oN_5J^A?@D&uHlpBNU%`t3=OT)$*nuy$;Q$5{h#9wpRt#pEyP}T;b~JUs}K~KqjkV zTdm-DPoGPy<}fO9rPo{sfTE}kg=$&;Lk&l2a&97 zaY|G$k$|LlSBaM9FiWiqgmG{M9HZkgu*8eQ@k4v;Ls@JPapJi|spxrmeoHZJm0l<5 z&sVQk{3m((+v)WAkMGm;{{DV__}uP4op0BNHazeP`Bz?2ne`NfN zTZFq9)(_C68pvxULha@_7M(%B$7}Tq8O4I%p+!Ma{UXJJSg>y3nmSxw0c|bOFCg_t z=z_iahqA@M%2W$qWBA(Oh&M!&62TtST2;df6+?ZDfVPFgOWr=jZD&|@eA=7S^`9dq2-8-@;QOX*NrDh z%5Xdod)48>;TJeEW<`RP!Me7dj5l?O$}+>!LQICJ0F@zXIVgLq9BIn7Y(7cS2F=-8 zVbgyCZWP-bku1=p>?h+*$+n_gj>ixbATk6k2Q)R5n!e^*ET%ZB8}v4SFc&z=wy zt=QBKL`^ZZV4$8sWhlb=U>BF6XgL^r)b1yicjwdHZcm%p%flJrry48@c1O%!Fe7kP zkiNO$jc-Ylr)DJiX?MD7lV@GqbvT}Vvq20Y{KW>jfPsg8J^Y#cRd6cB5od8Oh5Nds z(G{L2Zfdw4)+L`|5n^ItiGj^P+pN;JjAT`c*{nD6CGQ29S&BGT!iOndJ`qJ*@r`ge zfeZ+>j&JW#)hr20LDVG?^S%XALHO`9Ts7y=N+c{~I<|ifq)M-S54$z(hcOGMh26G< zIZPM8odc6#BzqbknT0MjhfAAxdt45s6P8yCmpyE|xbXe~7x@A<);hTpY{ZH@taag& z_rmWiX0gK>E;X^5OUGI~X3VtU+oQY-A5aJQXq;>k0$mq{G}lNc?UgPTn-GgOG>>w& zD6+gZMbUK;E6SLG)hdcTKe$B!WK$Gr=`0Fh)*tX!w-{lbEuS^OzNluQi<#U&*HsdO zK5FE(u-g-fi=92uv~E&Q?C6pFUwSI=048_WAJPi$A-%MU8!#^o zN@wR~?;Gsn$ae9&w0pE<+467$k JUcLKa^$){iI%xm^ diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 6ffa237849ef3607e39c3b334a92a65367962071..53ed745163151666855de2c7a385c8c57982659d 100644 GIT binary patch delta 17812 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 delta 16531 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 2>&1 -if "%ERRORLEVEL%" == "0" goto init - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto init - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:init -@rem Get command-line arguments, handling Windows variants - -if not "%OS%" == "Windows_NT" goto win9xME_args - -:win9xME_args -@rem Slurp the command line arguments. -set CMD_LINE_ARGS= -set _SKIP=2 - -:win9xME_args_slurp -if "x%~1" == "x" goto execute - -set CMD_LINE_ARGS=%* - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% - -:end -@rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windows variants + +if not "%OS%" == "Windows_NT" goto win9xME_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/license/NOTICE b/license/NOTICE index 43e2cdf..3637539 100644 --- a/license/NOTICE +++ b/license/NOTICE @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/run-scripts/j60870-console-client b/run-scripts/j60870-console-client old mode 100644 new mode 100755 diff --git a/run-scripts/j60870-sample-server b/run-scripts/j60870-sample-server old mode 100644 new mode 100755 diff --git a/src/docs/asciidoc/pdf-theme.yml b/src/docs/asciidoc/pdf-theme.yml index f498497..d6f579a 100644 --- a/src/docs/asciidoc/pdf-theme.yml +++ b/src/docs/asciidoc/pdf-theme.yml @@ -40,10 +40,15 @@ footer: height: 0.75in line_height: 1 recto_content: - right: '{chapter-title} | *{page-number}*' + right: '*{page-number}*' verso_content: - left: '*{page-number}* | {chapter-title}' + left: '*{page-number}*' + caption: - align: center + align: left font_color: #000000 - font_size: 9 \ No newline at end of file + font_size: 9 + +code: + border_color: #cccccc + \ No newline at end of file diff --git a/src/main/java/org/openmuc/j60870/APdu.java b/src/main/java/org/openmuc/j60870/APdu.java index 2e67326..4b9f6f3 100644 --- a/src/main/java/org/openmuc/j60870/APdu.java +++ b/src/main/java/org/openmuc/j60870/APdu.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/ASdu.java b/src/main/java/org/openmuc/j60870/ASdu.java index 7189649..30ddc84 100644 --- a/src/main/java/org/openmuc/j60870/ASdu.java +++ b/src/main/java/org/openmuc/j60870/ASdu.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/CauseOfTransmission.java b/src/main/java/org/openmuc/j60870/CauseOfTransmission.java index fcd36b1..c2c8de0 100644 --- a/src/main/java/org/openmuc/j60870/CauseOfTransmission.java +++ b/src/main/java/org/openmuc/j60870/CauseOfTransmission.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/ClientConnectionBuilder.java b/src/main/java/org/openmuc/j60870/ClientConnectionBuilder.java index 7b66b57..5d8ea82 100644 --- a/src/main/java/org/openmuc/j60870/ClientConnectionBuilder.java +++ b/src/main/java/org/openmuc/j60870/ClientConnectionBuilder.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/CommonBuilder.java b/src/main/java/org/openmuc/j60870/CommonBuilder.java index 8e000bd..ba101de 100644 --- a/src/main/java/org/openmuc/j60870/CommonBuilder.java +++ b/src/main/java/org/openmuc/j60870/CommonBuilder.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/Connection.java b/src/main/java/org/openmuc/j60870/Connection.java index f5725d2..f3d7c89 100644 --- a/src/main/java/org/openmuc/j60870/Connection.java +++ b/src/main/java/org/openmuc/j60870/Connection.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org @@ -566,6 +566,8 @@ else if (cot == CauseOfTransmission.DEACTIVATION) { * * @param commonAddress * the Common ASDU Address. Valid value are 1...255 or 1...65535 for field lengths 1 or 2 respectively. + * @param cot + * the cause of transmission. Allowed are activation and deactivation. * @param informationObjectAddress * the information object address. * @param singleCommand @@ -573,15 +575,8 @@ else if (cot == CauseOfTransmission.DEACTIVATION) { * @throws IOException * if a fatal communication error occurred. */ - public void singleCommand(int commonAddress, int informationObjectAddress, IeSingleCommand singleCommand) - throws IOException { - CauseOfTransmission cot; - if (singleCommand.isCommandStateOn()) { - cot = CauseOfTransmission.ACTIVATION; - } - else { - cot = CauseOfTransmission.DEACTIVATION; - } + public void singleCommand(int commonAddress, CauseOfTransmission cot, int informationObjectAddress, + IeSingleCommand singleCommand) throws IOException { ASdu aSdu = new ASdu(TypeId.C_SC_NA_1, false, cot, false, false, originatorAddress, commonAddress, new InformationObject[] { new InformationObject(informationObjectAddress, new InformationElement[][] { { singleCommand } }) }); @@ -593,6 +588,8 @@ public void singleCommand(int commonAddress, int informationObjectAddress, IeSin * * @param commonAddress * the Common ASDU Address. Valid value are 1...255 or 1...65535 for field lengths 1 or 2 respectively. + * @param cot + * the cause of transmission. Allowed are activation and deactivation. * @param informationObjectAddress * the information object address. * @param singleCommand @@ -602,15 +599,8 @@ public void singleCommand(int commonAddress, int informationObjectAddress, IeSin * @throws IOException * if a fatal communication error occurred. */ - public void singleCommandWithTimeTag(int commonAddress, int informationObjectAddress, IeSingleCommand singleCommand, - IeTime56 timeTag) throws IOException { - CauseOfTransmission cot; - if (singleCommand.isCommandStateOn()) { - cot = CauseOfTransmission.ACTIVATION; - } - else { - cot = CauseOfTransmission.DEACTIVATION; - } + public void singleCommandWithTimeTag(int commonAddress, CauseOfTransmission cot, int informationObjectAddress, + IeSingleCommand singleCommand, IeTime56 timeTag) throws IOException { ASdu aSdu = new ASdu(TypeId.C_SC_TA_1, false, cot, false, false, originatorAddress, commonAddress, new InformationObject[] { new InformationObject(informationObjectAddress, new InformationElement[][] { { singleCommand, timeTag } }) }); diff --git a/src/main/java/org/openmuc/j60870/ConnectionEventListener.java b/src/main/java/org/openmuc/j60870/ConnectionEventListener.java index 5dc4369..f861740 100644 --- a/src/main/java/org/openmuc/j60870/ConnectionEventListener.java +++ b/src/main/java/org/openmuc/j60870/ConnectionEventListener.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/IeAbstractQualifierOfCommand.java b/src/main/java/org/openmuc/j60870/IeAbstractQualifierOfCommand.java index e92eb07..2d311f2 100644 --- a/src/main/java/org/openmuc/j60870/IeAbstractQualifierOfCommand.java +++ b/src/main/java/org/openmuc/j60870/IeAbstractQualifierOfCommand.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/IeAbstractQuality.java b/src/main/java/org/openmuc/j60870/IeAbstractQuality.java index 4409a54..1e58003 100644 --- a/src/main/java/org/openmuc/j60870/IeAbstractQuality.java +++ b/src/main/java/org/openmuc/j60870/IeAbstractQuality.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/IeAckFileOrSectionQualifier.java b/src/main/java/org/openmuc/j60870/IeAckFileOrSectionQualifier.java index 9211128..d95d00a 100644 --- a/src/main/java/org/openmuc/j60870/IeAckFileOrSectionQualifier.java +++ b/src/main/java/org/openmuc/j60870/IeAckFileOrSectionQualifier.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/IeBinaryCounterReading.java b/src/main/java/org/openmuc/j60870/IeBinaryCounterReading.java index bd72699..9a5493a 100644 --- a/src/main/java/org/openmuc/j60870/IeBinaryCounterReading.java +++ b/src/main/java/org/openmuc/j60870/IeBinaryCounterReading.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/IeBinaryStateInformation.java b/src/main/java/org/openmuc/j60870/IeBinaryStateInformation.java index 22f9619..2b9380d 100644 --- a/src/main/java/org/openmuc/j60870/IeBinaryStateInformation.java +++ b/src/main/java/org/openmuc/j60870/IeBinaryStateInformation.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/IeCauseOfInitialization.java b/src/main/java/org/openmuc/j60870/IeCauseOfInitialization.java index 7c0fe46..0c1f736 100644 --- a/src/main/java/org/openmuc/j60870/IeCauseOfInitialization.java +++ b/src/main/java/org/openmuc/j60870/IeCauseOfInitialization.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/IeChecksum.java b/src/main/java/org/openmuc/j60870/IeChecksum.java index 023f74b..357c358 100644 --- a/src/main/java/org/openmuc/j60870/IeChecksum.java +++ b/src/main/java/org/openmuc/j60870/IeChecksum.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/IeDoubleCommand.java b/src/main/java/org/openmuc/j60870/IeDoubleCommand.java index 816b95c..ae06230 100644 --- a/src/main/java/org/openmuc/j60870/IeDoubleCommand.java +++ b/src/main/java/org/openmuc/j60870/IeDoubleCommand.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/IeDoublePointWithQuality.java b/src/main/java/org/openmuc/j60870/IeDoublePointWithQuality.java index b2cb1f3..c50f005 100644 --- a/src/main/java/org/openmuc/j60870/IeDoublePointWithQuality.java +++ b/src/main/java/org/openmuc/j60870/IeDoublePointWithQuality.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/IeFileReadyQualifier.java b/src/main/java/org/openmuc/j60870/IeFileReadyQualifier.java index 53878d5..7da9be7 100644 --- a/src/main/java/org/openmuc/j60870/IeFileReadyQualifier.java +++ b/src/main/java/org/openmuc/j60870/IeFileReadyQualifier.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/IeFileSegment.java b/src/main/java/org/openmuc/j60870/IeFileSegment.java index 652fbe9..43b61df 100644 --- a/src/main/java/org/openmuc/j60870/IeFileSegment.java +++ b/src/main/java/org/openmuc/j60870/IeFileSegment.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/IeFixedTestBitPattern.java b/src/main/java/org/openmuc/j60870/IeFixedTestBitPattern.java index 5fb5a2a..293415a 100644 --- a/src/main/java/org/openmuc/j60870/IeFixedTestBitPattern.java +++ b/src/main/java/org/openmuc/j60870/IeFixedTestBitPattern.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/IeLastSectionOrSegmentQualifier.java b/src/main/java/org/openmuc/j60870/IeLastSectionOrSegmentQualifier.java index 433ce26..9a36e22 100644 --- a/src/main/java/org/openmuc/j60870/IeLastSectionOrSegmentQualifier.java +++ b/src/main/java/org/openmuc/j60870/IeLastSectionOrSegmentQualifier.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/IeLengthOfFileOrSection.java b/src/main/java/org/openmuc/j60870/IeLengthOfFileOrSection.java index f64d143..dced285 100644 --- a/src/main/java/org/openmuc/j60870/IeLengthOfFileOrSection.java +++ b/src/main/java/org/openmuc/j60870/IeLengthOfFileOrSection.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/IeNameOfFile.java b/src/main/java/org/openmuc/j60870/IeNameOfFile.java index dc7dc21..a01b7cf 100644 --- a/src/main/java/org/openmuc/j60870/IeNameOfFile.java +++ b/src/main/java/org/openmuc/j60870/IeNameOfFile.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/IeNameOfSection.java b/src/main/java/org/openmuc/j60870/IeNameOfSection.java index 4a41423..c456922 100644 --- a/src/main/java/org/openmuc/j60870/IeNameOfSection.java +++ b/src/main/java/org/openmuc/j60870/IeNameOfSection.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/IeNormalizedValue.java b/src/main/java/org/openmuc/j60870/IeNormalizedValue.java index 121efdb..146ba11 100644 --- a/src/main/java/org/openmuc/j60870/IeNormalizedValue.java +++ b/src/main/java/org/openmuc/j60870/IeNormalizedValue.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/IeProtectionOutputCircuitInformation.java b/src/main/java/org/openmuc/j60870/IeProtectionOutputCircuitInformation.java index 19a1ebb..65ee7ac 100644 --- a/src/main/java/org/openmuc/j60870/IeProtectionOutputCircuitInformation.java +++ b/src/main/java/org/openmuc/j60870/IeProtectionOutputCircuitInformation.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/IeProtectionQuality.java b/src/main/java/org/openmuc/j60870/IeProtectionQuality.java index 53c74cd..c4044fa 100644 --- a/src/main/java/org/openmuc/j60870/IeProtectionQuality.java +++ b/src/main/java/org/openmuc/j60870/IeProtectionQuality.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/IeProtectionStartEvent.java b/src/main/java/org/openmuc/j60870/IeProtectionStartEvent.java index e7e435f..581c2f6 100644 --- a/src/main/java/org/openmuc/j60870/IeProtectionStartEvent.java +++ b/src/main/java/org/openmuc/j60870/IeProtectionStartEvent.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/IeQualifierOfCounterInterrogation.java b/src/main/java/org/openmuc/j60870/IeQualifierOfCounterInterrogation.java index 09e6d5e..c0b7ff9 100644 --- a/src/main/java/org/openmuc/j60870/IeQualifierOfCounterInterrogation.java +++ b/src/main/java/org/openmuc/j60870/IeQualifierOfCounterInterrogation.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/IeQualifierOfInterrogation.java b/src/main/java/org/openmuc/j60870/IeQualifierOfInterrogation.java index 24e8e36..a1acf75 100644 --- a/src/main/java/org/openmuc/j60870/IeQualifierOfInterrogation.java +++ b/src/main/java/org/openmuc/j60870/IeQualifierOfInterrogation.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/IeQualifierOfParameterActivation.java b/src/main/java/org/openmuc/j60870/IeQualifierOfParameterActivation.java index 1d711eb..ce674e8 100644 --- a/src/main/java/org/openmuc/j60870/IeQualifierOfParameterActivation.java +++ b/src/main/java/org/openmuc/j60870/IeQualifierOfParameterActivation.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/IeQualifierOfParameterOfMeasuredValues.java b/src/main/java/org/openmuc/j60870/IeQualifierOfParameterOfMeasuredValues.java index 4e3caad..3cc2970 100644 --- a/src/main/java/org/openmuc/j60870/IeQualifierOfParameterOfMeasuredValues.java +++ b/src/main/java/org/openmuc/j60870/IeQualifierOfParameterOfMeasuredValues.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/IeQualifierOfResetProcessCommand.java b/src/main/java/org/openmuc/j60870/IeQualifierOfResetProcessCommand.java index 1dcdb08..497b9a0 100644 --- a/src/main/java/org/openmuc/j60870/IeQualifierOfResetProcessCommand.java +++ b/src/main/java/org/openmuc/j60870/IeQualifierOfResetProcessCommand.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/IeQualifierOfSetPointCommand.java b/src/main/java/org/openmuc/j60870/IeQualifierOfSetPointCommand.java index d8e414b..a31267a 100644 --- a/src/main/java/org/openmuc/j60870/IeQualifierOfSetPointCommand.java +++ b/src/main/java/org/openmuc/j60870/IeQualifierOfSetPointCommand.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/IeQuality.java b/src/main/java/org/openmuc/j60870/IeQuality.java index 90b757a..5fcb423 100644 --- a/src/main/java/org/openmuc/j60870/IeQuality.java +++ b/src/main/java/org/openmuc/j60870/IeQuality.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/IeRegulatingStepCommand.java b/src/main/java/org/openmuc/j60870/IeRegulatingStepCommand.java index eb8659e..74aa9b3 100644 --- a/src/main/java/org/openmuc/j60870/IeRegulatingStepCommand.java +++ b/src/main/java/org/openmuc/j60870/IeRegulatingStepCommand.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/IeScaledValue.java b/src/main/java/org/openmuc/j60870/IeScaledValue.java index ad7c333..4e38a1b 100644 --- a/src/main/java/org/openmuc/j60870/IeScaledValue.java +++ b/src/main/java/org/openmuc/j60870/IeScaledValue.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/IeSectionReadyQualifier.java b/src/main/java/org/openmuc/j60870/IeSectionReadyQualifier.java index a6593f0..29b158b 100644 --- a/src/main/java/org/openmuc/j60870/IeSectionReadyQualifier.java +++ b/src/main/java/org/openmuc/j60870/IeSectionReadyQualifier.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/IeSelectAndCallQualifier.java b/src/main/java/org/openmuc/j60870/IeSelectAndCallQualifier.java index a5b8608..9071a2b 100644 --- a/src/main/java/org/openmuc/j60870/IeSelectAndCallQualifier.java +++ b/src/main/java/org/openmuc/j60870/IeSelectAndCallQualifier.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/IeShortFloat.java b/src/main/java/org/openmuc/j60870/IeShortFloat.java index 648d809..db042bc 100644 --- a/src/main/java/org/openmuc/j60870/IeShortFloat.java +++ b/src/main/java/org/openmuc/j60870/IeShortFloat.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/IeSingleCommand.java b/src/main/java/org/openmuc/j60870/IeSingleCommand.java index 4f4ca6f..e82139f 100644 --- a/src/main/java/org/openmuc/j60870/IeSingleCommand.java +++ b/src/main/java/org/openmuc/j60870/IeSingleCommand.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/IeSinglePointWithQuality.java b/src/main/java/org/openmuc/j60870/IeSinglePointWithQuality.java index d33bb9c..fd71967 100644 --- a/src/main/java/org/openmuc/j60870/IeSinglePointWithQuality.java +++ b/src/main/java/org/openmuc/j60870/IeSinglePointWithQuality.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/IeSingleProtectionEvent.java b/src/main/java/org/openmuc/j60870/IeSingleProtectionEvent.java index ee8c05d..e7b72c0 100644 --- a/src/main/java/org/openmuc/j60870/IeSingleProtectionEvent.java +++ b/src/main/java/org/openmuc/j60870/IeSingleProtectionEvent.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/IeStatusAndStatusChanges.java b/src/main/java/org/openmuc/j60870/IeStatusAndStatusChanges.java index f97850d..b4ca52c 100644 --- a/src/main/java/org/openmuc/j60870/IeStatusAndStatusChanges.java +++ b/src/main/java/org/openmuc/j60870/IeStatusAndStatusChanges.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/IeStatusOfFile.java b/src/main/java/org/openmuc/j60870/IeStatusOfFile.java index 916c8a8..acc101a 100644 --- a/src/main/java/org/openmuc/j60870/IeStatusOfFile.java +++ b/src/main/java/org/openmuc/j60870/IeStatusOfFile.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/IeTestSequenceCounter.java b/src/main/java/org/openmuc/j60870/IeTestSequenceCounter.java index 0181055..5ee307b 100644 --- a/src/main/java/org/openmuc/j60870/IeTestSequenceCounter.java +++ b/src/main/java/org/openmuc/j60870/IeTestSequenceCounter.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/IeTime16.java b/src/main/java/org/openmuc/j60870/IeTime16.java index dc978a0..eeeb5ed 100644 --- a/src/main/java/org/openmuc/j60870/IeTime16.java +++ b/src/main/java/org/openmuc/j60870/IeTime16.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/IeTime24.java b/src/main/java/org/openmuc/j60870/IeTime24.java index fc35bae..79943f3 100644 --- a/src/main/java/org/openmuc/j60870/IeTime24.java +++ b/src/main/java/org/openmuc/j60870/IeTime24.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/IeTime56.java b/src/main/java/org/openmuc/j60870/IeTime56.java index b000c00..19f2e86 100644 --- a/src/main/java/org/openmuc/j60870/IeTime56.java +++ b/src/main/java/org/openmuc/j60870/IeTime56.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/IeValueWithTransientState.java b/src/main/java/org/openmuc/j60870/IeValueWithTransientState.java index 8400596..9fd257f 100644 --- a/src/main/java/org/openmuc/j60870/IeValueWithTransientState.java +++ b/src/main/java/org/openmuc/j60870/IeValueWithTransientState.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/InformationElement.java b/src/main/java/org/openmuc/j60870/InformationElement.java index 895903c..413d511 100644 --- a/src/main/java/org/openmuc/j60870/InformationElement.java +++ b/src/main/java/org/openmuc/j60870/InformationElement.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/InformationObject.java b/src/main/java/org/openmuc/j60870/InformationObject.java index 24296ec..4184deb 100644 --- a/src/main/java/org/openmuc/j60870/InformationObject.java +++ b/src/main/java/org/openmuc/j60870/InformationObject.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/Server.java b/src/main/java/org/openmuc/j60870/Server.java index 6ea5a2e..79b15ec 100644 --- a/src/main/java/org/openmuc/j60870/Server.java +++ b/src/main/java/org/openmuc/j60870/Server.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/ServerEventListener.java b/src/main/java/org/openmuc/j60870/ServerEventListener.java index 5c9a9cc..c0d6f2e 100644 --- a/src/main/java/org/openmuc/j60870/ServerEventListener.java +++ b/src/main/java/org/openmuc/j60870/ServerEventListener.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/ServerThread.java b/src/main/java/org/openmuc/j60870/ServerThread.java index 16bf13c..78998e0 100644 --- a/src/main/java/org/openmuc/j60870/ServerThread.java +++ b/src/main/java/org/openmuc/j60870/ServerThread.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/TypeId.java b/src/main/java/org/openmuc/j60870/TypeId.java index c219fc7..be3fa76 100644 --- a/src/main/java/org/openmuc/j60870/TypeId.java +++ b/src/main/java/org/openmuc/j60870/TypeId.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/Util.java b/src/main/java/org/openmuc/j60870/Util.java index 097b8aa..a5502de 100644 --- a/src/main/java/org/openmuc/j60870/Util.java +++ b/src/main/java/org/openmuc/j60870/Util.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/app/ConsoleClient.java b/src/main/java/org/openmuc/j60870/app/ConsoleClient.java index b086535..d0f228f 100644 --- a/src/main/java/org/openmuc/j60870/app/ConsoleClient.java +++ b/src/main/java/org/openmuc/j60870/app/ConsoleClient.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/main/java/org/openmuc/j60870/internal/ConnectionSettings.java b/src/main/java/org/openmuc/j60870/internal/ConnectionSettings.java index a71ed83..2470f02 100644 --- a/src/main/java/org/openmuc/j60870/internal/ConnectionSettings.java +++ b/src/main/java/org/openmuc/j60870/internal/ConnectionSettings.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/test/java/org/openmuc/j60870/test/ClientServerITest.java b/src/test/java/org/openmuc/j60870/test/ClientServerITest.java index d2fffa4..2a46752 100644 --- a/src/test/java/org/openmuc/j60870/test/ClientServerITest.java +++ b/src/test/java/org/openmuc/j60870/test/ClientServerITest.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org @@ -356,7 +356,8 @@ public void testClientServerCom() throws Exception { int commonAddress = 1; - clientConnection.singleCommand(Util.convertToCommonAddress(63, 203), 1, new IeSingleCommand(true, 3, true)); + clientConnection.singleCommand(Util.convertToCommonAddress(63, 203), CauseOfTransmission.ACTIVATION, 1, + new IeSingleCommand(true, 3, true)); clientConnection.synchronizeClocks(commonAddress, new IeTime56(System.currentTimeMillis())); diff --git a/src/test/java/org/openmuc/j60870/test/IeBinaryStateInformationTest.java b/src/test/java/org/openmuc/j60870/test/IeBinaryStateInformationTest.java index 1052bb9..6901c59 100644 --- a/src/test/java/org/openmuc/j60870/test/IeBinaryStateInformationTest.java +++ b/src/test/java/org/openmuc/j60870/test/IeBinaryStateInformationTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/test/java/org/openmuc/j60870/test/IeValueWithTransientTest.java b/src/test/java/org/openmuc/j60870/test/IeValueWithTransientTest.java index e11d929..c5b4767 100644 --- a/src/test/java/org/openmuc/j60870/test/IeValueWithTransientTest.java +++ b/src/test/java/org/openmuc/j60870/test/IeValueWithTransientTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org diff --git a/src/test/java/org/openmuc/j60870/test/UtilTest.java b/src/test/java/org/openmuc/j60870/test/UtilTest.java index 9b201e6..36b64f0 100644 --- a/src/test/java/org/openmuc/j60870/test/UtilTest.java +++ b/src/test/java/org/openmuc/j60870/test/UtilTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-16 Fraunhofer ISE + * Copyright 2014-17 Fraunhofer ISE * * This file is part of j60870. * For more information visit http://www.openmuc.org