From nobody Mon Apr 29 07:03:00 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=qq.com ARC-Seal: i=1; a=rsa-sha256; t=1593839928; cv=none; d=zohomail.com; s=zohoarc; b=nr+ZiA31FKwxM6ofYTNLjCnemUtZAnS97yzRCtD24q33MYfzotqeUgXRquafUEXrA3S6sxU081Awr369HA1725CLQg7xvB65cJ2BL3l4dicKiXmu/VY2tfdHc6FzOVTYDBiLYGwTfQJ/UEGxkWNKMn+tZUPZ4eM3pydV28haCSc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593839928; h=Content-Type:Content-Transfer-Encoding:Date:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:To; bh=Douq0gcZwqFb7vHNxqzVs3pkvHAq5ZuDQ53so98JsQs=; b=AjOE5+vuwpDBZLEI/xRoHeTn9cSjyhQaX1xZCJgRVY4ARI31sllL7yL7E/5P03fgRaddN8uh8uBUBkGiiXe4KjRT4+xQU11xRMVy8knuSMjTMYGZBIILAF98YrA2EzaiuA2I6bmxGIlW1lOg4jKyA88ELkBYvLaYcaww2rpT9Ks= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from=<1482995675@qq.com> (p=none dis=none) header.from=<1482995675@qq.com> Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1593839928588536.4154426362134; Fri, 3 Jul 2020 22:18:48 -0700 (PDT) Received: from localhost ([::1]:48102 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jraZa-0006NK-0y for importer@patchew.org; Sat, 04 Jul 2020 01:18:46 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:58226) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <1482995675@qq.com>) id 1jraYp-0005yF-SI for qemu-devel@nongnu.org; Sat, 04 Jul 2020 01:17:59 -0400 Received: from smtpbgbr2.qq.com ([54.207.22.56]:50708) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <1482995675@qq.com>) id 1jraYW-0004xS-NX for qemu-devel@nongnu.org; Sat, 04 Jul 2020 01:17:57 -0400 Received: from qq.com (unknown [127.0.0.1]) by smtp.qq.com (ESMTP) with SMTP id ; Sat, 04 Jul 2020 13:17:24 +0800 (CST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qq.com; s=s201512; t=1593839845; bh=Douq0gcZwqFb7vHNxqzVs3pkvHAq5ZuDQ53so98JsQs=; h=From:To:Subject:Mime-Version:Date:Message-ID; b=D5HM4biYmYUlLi0rLChuvjutLch5Wmp017cl7QVTWwQyK4lPcwGHs8wCiVLnEKKto we5ZFiLKSNT/HeG63SEyQC2SSsVlVFhKNP7NOIhl4YYnPTi2TkvXK6WnvRHwXXBrEy 7eHuBpdk2RkQ/E5S3zN/VyidNYAhyKZZqX0ASEsk= X-QQ-FEAT: 2pw5OC2cRqjTg0+gPzWIDe2sU09allHshN8ibvdJJZw9Y9wqN1FRZ3Q7RoMXZ OFkGLXyuT/47KanDJfveP+tsN7zh0Y+l7PYHrCQIo+ZD8yxsXXjYTnMR1aj+kJc05KEmWzH kxRpNx8kdDcKsCzeRsL1sV3nqHFfydl1VbWwfTluFHCZVxKk2GgnkKKyyOA252lpq5/gFQ8 7DOtf7Zxvpr2MJ39AnvwD1W0D/LPMyP+HfjSKhTEbs5xUG8bM/GsRQfmpC6PXE7u37/O3ss 5pzwXAGB1mHBn9OPWLjMg+EpcPPRrGm9JAK03bha8/Aq3T X-QQ-SSF: 00000000000000F000000000000000D X-QQ-XMAILINFO: OZIT+3QNSiTOm8sX7CDNd+EIxiWtPfk3kkHVVYPfofUyrSWRR2NjOdhi8jFrUA L0g4g50IpmiBYAURslc2NeZhCR5O+UpNtp78feEU6/URga2BdohXFnLpGVrLPxPd2GbqyKplwFCmY 3psX8X3tcFeb4Y/7f7I5/+ZIcqZhONUC4cjlM9toGH2K6NjQw9NHZ317sAIiXe2gbQiL39kAhs6lv LRhTpfyHGRzCm3VCpyaT+YV6Y1qFsubP11tCaUPoaY33S2DH/IzAGjuIk3X4tt7tFv4pnHrFUF5ti V8rkERAJxFWcOgZs746rRIEFgVQBRW86udVFG3rr29sETeJPGkNeLewCiQuXWZzRkjVGnLaV5CvWe OpfQOZVY7EA0RFQw3rSHxwqBbYL2GYTu6jq26FXs7twB/3wo0dG3/nFfIqXOgfUbTpLKH6ar0YoUR P7JNH3WGLGKp72vgB1Kq7XFmE72eh0JSc4a0kHr5e0AcOgIO8y5qUsYJbdBJmemgwM1MGU3ZzKY4E S/3tcs/UJp8TXbqoKrP/MdEGYxgDKSM/ngzEXxILwiMWz7IRZRn9a6WQJQJfIntnCxSDinhBVm3Jm 8d5ynHcnd2wvODny9k720jUALn/7dGhLy7I6Rf9Hz/NvnYVkFigevyNS0TPKoE2uuloBFBfY2y/cW /g1CxAgU2gCa8PXvJEbwQQvgYHc7k32Ji7n82FE+gMSUnliqn4ks4g9H/PKI7K+Jds4pso X-HAS-ATTACH: no X-QQ-BUSINESS-ORIGIN: 2 X-Originating-IP: 111.199.170.91 X-QQ-STYLE: X-QQ-mid: webmail725t1593839844t836838 From: "=?gb18030?B?Y2FzbWFj?=" <1482995675@qq.com> To: "=?gb18030?B?QnVnIDE4ODU4Mjc=?=" <1885827@bugs.launchpad.net>, "=?gb18030?B?cWVtdS1kZXZlbA==?=" Subject: =?gb18030?B?cmWjultCdWcgMTg4NTgyN10gUmU6IGJ1aWxkaW5n?= =?gb18030?B?IHBsdWdpbiBmYWlsZWQgb24gV2luZG93cyB3aXRo?= =?gb18030?B?IG1pbmd3?= Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_5F0010E4_102CD6A0_2F8B7CC4" Content-Transfer-Encoding: 8Bit Date: Sat, 4 Jul 2020 13:17:24 +0800 X-Priority: 3 Message-ID: X-QQ-MIME: TCMime 1.0 by Tencent X-Mailer: QQMail 2.x X-QQ-Mailer: QQMail 2.x X-QQ-SENDSIZE: 520 Feedback-ID: webmail:qq.com:bgforeign:bgforeign11 X-QQ-Bgrelay: 1 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=54.207.22.56; envelope-from=1482995675@qq.com; helo=smtpbgbr2.qq.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/07/04 01:17:31 X-ACL-Warn: Detected OS = Linux 3.1-3.10 [fuzzy] X-Spam_score_int: 28 X-Spam_score: 2.8 X-Spam_bar: ++ X-Spam_report: (2.8 / 5.0 requ) BAYES_00=-1.9, CHARSET_FARAWAY_HEADER=3.2, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, FROM_EXCESS_BASE64=0.001, HTML_MESSAGE=0.001, MIME_CHARSET_FARAWAY=2.45, MSGID_FROM_MTA_HEADER=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-1, T_SPF_TEMPERROR=0.01, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @qq.com) This is a multi-part message in MIME format. ------=_NextPart_5F0010E4_102CD6A0_2F8B7CC4 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" hello Emilio,   Thanks for looking at this issue. After adding  -DBUILDING_DLL = to QEMU_CFLAGS, I still got linking error as follows, and it seems $LDLIB i= s empty: x86_64-w64-mingw32-gcc -shared -Wl,-soname,libbb.so -o libbb.so bb.o C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.1.0/../../../../x86_= 64-w64-mingw32/bin/ld.exe: bb.o: in function `g_autoptr_cleanup_generic_gfr= ee': C:/msys64/mingw64/include/glib-2.0/glib/glib-autocleanups.h:28: undefined r= eference to `g_free' C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.1.0/../../../../x86_= 64-w64-mingw32/bin/ld.exe: bb.o: in function `plugin_exit': D:/emu_devl/qemu_src/qemu-sr-dsp-a/qemu_tidsp_c3x/tests/plugin/bb.c:26: und= efined reference to `g_strdup_printf' C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.1.0/../../../../x86_= 64-w64-mingw32/bin/ld.exe: D:/emu_devl/qemu_src/qemu-sr-dsp-a/qemu_tidsp_c3= x/tests/plugin/bb.c:28: undefined reference to `qemu_plugin_outs' C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.1.0/../../../../x86_= 64-w64-mingw32/bin/ld.exe: D:/emu_devl/qemu_src/qemu-sr-dsp-a/qemu_tidsp_c3= x/tests/plugin/bb.c:29: undefined reference to `__stack_chk_fail' C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.1.0/../../../../x86_= 64-w64-mingw32/bin/ld.exe: bb.o: in function `vcpu_tb_trans': D:/emu_devl/qemu_src/qemu-sr-dsp-a/qemu_tidsp_c3x/tests/plugin/bb.c:41: und= efined reference to `qemu_plugin_tb_n_insns' C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.1.0/../../../../x86_= 64-w64-mingw32/bin/ld.exe: D:/emu_devl/qemu_src/qemu-sr-dsp-a/qemu_tidsp_c3= x/tests/plugin/bb.c:44: undefined reference to `qemu_plugin_register_vcpu_t= b_exec_inline' C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.1.0/../../../../x86_= 64-w64-mingw32/bin/ld.exe: D:/emu_devl/qemu_src/qemu-sr-dsp-a/qemu_tidsp_c3= x/tests/plugin/bb.c:46: undefined reference to `qemu_plugin_register_vcpu_t= b_exec_inline' C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.1.0/../../../../x86_= 64-w64-mingw32/bin/ld.exe: D:/emu_devl/qemu_src/qemu-sr-dsp-a/qemu_tidsp_c3= x/tests/plugin/bb.c:49: undefined reference to `qemu_plugin_register_vcpu_t= b_exec_cb' C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.1.0/../../../../x86_= 64-w64-mingw32/bin/ld.exe: bb.o: in function `qemu_plugin_install': D:/emu_devl/qemu_src/qemu-sr-dsp-a/qemu_tidsp_c3x/tests/plugin/bb.c:63: und= efined reference to `qemu_plugin_register_vcpu_tb_trans_cb' C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.1.0/../../../../x86_= 64-w64-mingw32/bin/ld.exe: D:/emu_devl/qemu_src/qemu-sr-dsp-a/qemu_tidsp_c3= x/tests/plugin/bb.c:64: undefined reference to `qemu_plugin_register_atexit= _cb' C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.1.0/../../../../x86_= 64-w64-mingw32/bin/ld.exe: bb.o:bb.c:(.rdata$.refptr.__stack_chk_guard[.ref= ptr.__stack_chk_guard]+0x0): undefined reference to `__stack_chk_guard' collect2.exe: error: ld returned 1 exit status        If I replace $LDLIBS with $LIBS, linking error to glib functio= ns disappeared , and other error remains: x86_64-w64-mingw32-gcc -shared -Wl,-soname,libbb.so -o libbb.so bb.o -ldl -= LC:/msys64/mingw64/lib -lz -LC:/msys64/mingw64/lib -lgmodule-2.0 -pthread -= lglib-2.0 -lintl -LC:/msys64/mingw64/lib -lgthread-2.0 -pthread -lglib-2.0 = -lintl -lwinmm -lws2_32 -liphlpapi C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.1.0/../../../../x86_= 64-w64-mingw32/bin/ld.exe: bb.o: in function `plugin_exit': D:/emu_devl/qemu_src/qemu-sr-dsp-a/qemu_tidsp_c3x/tests/plugin/bb.c:28: und= efined reference to `qemu_plugin_outs' C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.1.0/../../../../x86_= 64-w64-mingw32/bin/ld.exe: D:/emu_devl/qemu_src/qemu-sr-dsp-a/qemu_tidsp_c3= x/tests/plugin/bb.c:29: undefined reference to `__stack_chk_fail' C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.1.0/../../../../x86_= 64-w64-mingw32/bin/ld.exe: bb.o: in function `vcpu_tb_trans': D:/emu_devl/qemu_src/qemu-sr-dsp-a/qemu_tidsp_c3x/tests/plugin/bb.c:41: und= efined reference to `qemu_plugin_tb_n_insns' C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.1.0/../../../../x86_= 64-w64-mingw32/bin/ld.exe: D:/emu_devl/qemu_src/qemu-sr-dsp-a/qemu_tidsp_c3= x/tests/plugin/bb.c:44: undefined reference to `qemu_plugin_register_vcpu_t= b_exec_inline' C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.1.0/../../../../x86_= 64-w64-mingw32/bin/ld.exe: D:/emu_devl/qemu_src/qemu-sr-dsp-a/qemu_tidsp_c3= x/tests/plugin/bb.c:46: undefined reference to `qemu_plugin_register_vcpu_t= b_exec_inline' C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.1.0/../../../../x86_= 64-w64-mingw32/bin/ld.exe: D:/emu_devl/qemu_src/qemu-sr-dsp-a/qemu_tidsp_c3= x/tests/plugin/bb.c:49: undefined reference to `qemu_plugin_register_vcpu_t= b_exec_cb' C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.1.0/../../../../x86_= 64-w64-mingw32/bin/ld.exe: bb.o: in function `qemu_plugin_install': D:/emu_devl/qemu_src/qemu-sr-dsp-a/qemu_tidsp_c3x/tests/plugin/bb.c:63: und= efined reference to `qemu_plugin_register_vcpu_tb_trans_cb' C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.1.0/../../../../x86_= 64-w64-mingw32/bin/ld.exe: D:/emu_devl/qemu_src/qemu-sr-dsp-a/qemu_tidsp_c3= x/tests/plugin/bb.c:64: undefined reference to `qemu_plugin_register_atexit= _cb' C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.1.0/../../../../x86_= 64-w64-mingw32/bin/ld.exe: bb.o:bb.c:(.rdata$.refptr.__stack_chk_guard[.ref= ptr.__stack_chk_guard]+0x0): undefined reference to `__stack_chk_guard' collect2.exe: error: ld returned 1 exit status   The libdl library (where dlopen() is defined) is compiled from = source(https://github.com/dlfcn-win32/dlfcn-win32), and I place the generat= ed libdl.dll, libdl.a, libdl.dll.a in C:\msys64\mingw64\include.  dlfc= n.h in C:\msys64\mingw64\include.   regards, xiaolei ------------------ =E5=8E=9F=E5=A7=8B=E9=82=AE=E4=BB=B6 ------------------ : "Emilio G. Cota"<1885827@bugs.launchpad.net>; : 2020=E5=B9=B47=E6=9C=884=E6=97=A5(=E6=98=9F=E6=9C=9F=E5=85=AD) =E4= =B8=AD=E5=8D=8811:16: "casmac"<1482995675@qq.com>; : [Bug 1885827] Re: building plugin failed on Windows with mingw I never built the plugin code on anything other than Linux :( All I did for Windows is to try to follow https://gcc.gnu.org/wiki/Visibili= ty Can you please try the following patch (with no other changes)? The patch applies on top of v4.2.0. diff --git a/tests/plugin/Makefile b/tests/plugin/Makefile index 75467b6db8..5b3611ad63 100644 --- a/tests/plugin/Makefile +++ b/tests/plugin/Makefile @@ -16,7 +16,7 @@ NAMES +=3D hotpages  SONAMES :=3D $(addsuffix .so,$(addprefix lib,$(NAMES))) -QEMU_CFLAGS +=3D -fPIC +QEMU_CFLAGS +=3D -fPIC -DBUILDING_DLL  QEMU_CFLAGS +=3D -I$(SRC_PATH)/include/qemu  all: $(SONAMES) --=20 You received this bug notification because you are subscribed to the bug report. https://bugs.launchpad.net/bugs/1885827 Title:   building plugin failed on Windows with mingw Status in QEMU:   New Bug description:   I want to build QEMU 4.2.0's plugin module on Windows 7/10 with Ming= w, but the building process faild.   =20   The step I follow is listed below:   1. create "dsp_build" diretory under source file folder   2.  change directory to dsp_build , and run ../configure --targ= et-list=3Ddsp-softmmu --cross-prefix=3Dx86_64-w64-mingw32- --enable-gtk --e= nable-sdl --enable-debug --enable-plugins   3. build qemu project   4. switch dir to /dsp_build, make -C tests/plugin, yeilds error:=20      CC      bb.o    D:/emu_devl/qemu_src/qemu-sr-dsp-a/qemu_tidsp_c3x/tests/plugin= /bb.c:17:24: error: variable 'qemu_plugin_version' definition is marked dll= import      17 | QEMU_PLUGIN_EXPORT int qemu_plugin_version =3D QEM= U_PLUGIN_VERSION;         |      =             &nb= sp;     ^~~~~~~~~~~~~~~~~~~    D:/emu_devl/qemu_src/qemu-sr-dsp-a/qemu_tidsp_c3x/tests/plugin= /bb.c:17:24: warning: 'qemu_plugin_version' redeclared without dllimport at= tribute: previous dllimport ignored [-Wattributes]    D:/emu_devl/qemu_src/qemu-sr-dsp-a/qemu_tidsp_c3x/tests/plugin= /bb.c: In function 'vcpu_tb_exec':    D:/emu_devl/qemu_src/qemu-sr-dsp-a/qemu_tidsp_c3x/tests/plugin= /bb.c:33:29: warning: cast from pointer to integer of different size [-Wpoi= nter-to-int-cast]      33 |     unsigned long n_insns =3D (unsi= gned long)udata;         |      =             &nb= sp;          ^    D:/emu_devl/qemu_src/qemu-sr-dsp-a/qemu_tidsp_c3x/tests/plugin= /bb.c: In function 'vcpu_tb_trans':    D:/emu_devl/qemu_src/qemu-sr-dsp-a/qemu_tidsp_c3x/tests/plugin= /bb.c:51:46: warning: cast to pointer from integer of different size [-Wint= -to-pointer-cast]      51 |        &nb= sp;            =             &nb= sp;            (void *)n_= insns);   5.  Then , I modified the QEMU_flags and the compilation command   arguments($(CC) ..) in  the  makefile :             &nb= sp;     BUILD_DIR :=3D $(CURDIR)/../..   include $(BUILD_DIR)/config-host.mak   include $(SRC_PATH)/rules.mak             &nb= sp;     $(call set-vpath, $(SRC_PATH)/tests/plugin)   NAMES :=3D   NAMES +=3D bb   NAMES +=3D empty   NAMES +=3D insn   NAMES +=3D mem   NAMES +=3D hotblocks   NAMES +=3D howvec   NAMES +=3D hotpages             &nb= sp;     SONAMES :=3D $(addsuffix .so,$(addprefix lib,$(NAMES= )))   QEMU_CFLAGS +=3D -fPIC -DBUILDING_DLL  #added  -DBUILD= ING_DLL   QEMU_CFLAGS +=3D -I$(SRC_PATH)/include/qemu             &nb= sp;     all: $(SONAMES)   lib%.so: %.o   $(CC) -fPIC -shared -o $@ $^ $(LDLIBS) -L /c/msys64/mingw64/lib/ = -lglib-2.0   # original cmd: $(CC) -shared -Wl,-soname,$@ -o $@ $^ $(LDLIBS)   clean:   rm -f *.o *.so *.d   rm -Rf .libs             &nb= sp;     .PHONY: all clean   6.  Executing make yeilds:   make: enter   =E2=80=9C/d/emu_devl/qemu_src/qemu-sr-dsp-a/qemu_= tidsp_c3x/build_dsp/tests/plugin=E2=80=9D     CC      bb.o   x86_64-w64-mingw32-gcc -fPIC -shared -o libbb.so bb.o  -L /c/ms= ys64/mingw64/lib/ -lglib-2.0   C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.1.0/../../../= ../x86_64-w64-mingw32/bin/ld.exe: bb.o: in function `plugin_exit':   D:/emu_devl/qemu_src/qemu-sr-dsp-a/qemu_tidsp_c3x/tests/plugin/bb.c:= 28: undefined reference to `qemu_plugin_outs'   C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.1.0/../../../= ../x86_64-w64-mingw32/bin/ld.exe: D:/emu_devl/qemu_src/qemu-sr-dsp-a/qemu_t= idsp_c3x/tests/plugin/bb.c:29: undefined reference to `__stack_chk_fail'   C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.1.0/../../../= ../x86_64-w64-mingw32/bin/ld.exe: bb.o: in function `vcpu_tb_trans':   D:/emu_devl/qemu_src/qemu-sr-dsp-a/qemu_tidsp_c3x/tests/plugin/bb.c:= 41: undefined reference to `qemu_plugin_tb_n_insns'   C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.1.0/../../../= ../x86_64-w64-mingw32/bin/ld.exe: D:/emu_devl/qemu_src/qemu-sr-dsp-a/qemu_t= idsp_c3x/tests/plugin/bb.c:44: undefined reference to `qemu_plugin_register= _vcpu_tb_exec_inline'   C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.1.0/../../../= ../x86_64-w64-mingw32/bin/ld.exe: D:/emu_devl/qemu_src/qemu-sr-dsp-a/qemu_t= idsp_c3x/tests/plugin/bb.c:46: undefined reference to `qemu_plugin_register= _vcpu_tb_exec_inline'   C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.1.0/../../../= ../x86_64-w64-mingw32/bin/ld.exe: D:/emu_devl/qemu_src/qemu-sr-dsp-a/qemu_t= idsp_c3x/tests/plugin/bb.c:49: undefined reference to `qemu_plugin_register= _vcpu_tb_exec_cb'   C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.1.0/../../../= ../x86_64-w64-mingw32/bin/ld.exe: bb.o: in function `qemu_plugin_install':   D:/emu_devl/qemu_src/qemu-sr-dsp-a/qemu_tidsp_c3x/tests/plugin/bb.c:= 63: undefined reference to `qemu_plugin_register_vcpu_tb_trans_cb'   C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.1.0/../../../= ../x86_64-w64-mingw32/bin/ld.exe: D:/emu_devl/qemu_src/qemu-sr-dsp-a/qemu_t= idsp_c3x/tests/plugin/bb.c:64: undefined reference to `qemu_plugin_register= _atexit_cb'   C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.1.0/../../../= ../x86_64-w64-mingw32/bin/ld.exe: bb.o:bb.c:(.rdata$.refptr.__stack_chk_gua= rd[.refptr.__stack_chk_guard]+0x0): undefined reference to `__stack_chk_gua= rd'   collect2.exe: error: ld returned 1 exit status      It looks like linking problem(fail to link functions de= fined in api.c, core.c...), but I have no idea what goes wrong. If I mannua= ly add api.o, core.o in the compilation command, still get error like undef= ined reference to '__stack_chk_guard'.=20      My collegue can build 4.2.0  plugins on Ubuntu Lin= ux without any problem. To manage notifications about this bug go to: https://bugs.launchpad.net/qemu/+bug/1885827/+subscriptions ------=_NextPart_5F0010E4_102CD6A0_2F8B7CC4 Content-Type: text/html; charset="gb18030" Content-Transfer-Encoding: base64 PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNo YXJzZXQ9R0IxODAzMCI+PGRpdj5oZWxsbyBFbWlsaW8sPC9kaXY+PGRpdj4mbmJzcDsgVGhh bmtzIGZvciBsb29raW5nIGF0IHRoaXMgaXNzdWUuIEFmdGVyIGFkZGluZyZuYnNwOyAtREJV SUxESU5HX0RMTCB0byBRRU1VX0NGTEFHUywgSSBzdGlsbCBnb3QgbGlua2luZyBlcnJvciBh cyBmb2xsb3dzLCBhbmQgaXQgc2VlbXMgJExETElCIGlzIGVtcHR5OjwvZGl2PjxkaXY+PGJy PjwvZGl2PjxkaXY+PGRpdj54ODZfNjQtdzY0LW1pbmd3MzItZ2NjIC1zaGFyZWQgLVdsLC1z b25hbWUsbGliYmIuc28gLW8gbGliYmIuc28gYmIubzwvZGl2PjxkaXY+QzovbXN5czY0L21p bmd3NjQvYmluLy4uL2xpYi9nY2MveDg2XzY0LXc2NC1taW5ndzMyLzEwLjEuMC8uLi8uLi8u Li8uLi94ODZfNjQtdzY0LW1pbmd3MzIvYmluL2xkLmV4ZTogYmIubzogaW4gZnVuY3Rpb24g YGdfYXV0b3B0cl9jbGVhbnVwX2dlbmVyaWNfZ2ZyZWUnOjwvZGl2PjxkaXY+QzovbXN5czY0 L21pbmd3NjQvaW5jbHVkZS9nbGliLTIuMC9nbGliL2dsaWItYXV0b2NsZWFudXBzLmg6Mjg6 IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGdfZnJlZSc8L2Rpdj48ZGl2PkM6L21zeXM2NC9t aW5ndzY0L2Jpbi8uLi9saWIvZ2NjL3g4Nl82NC13NjQtbWluZ3czMi8xMC4xLjAvLi4vLi4v Li4vLi4veDg2XzY0LXc2NC1taW5ndzMyL2Jpbi9sZC5leGU6IGJiLm86IGluIGZ1bmN0aW9u IGBwbHVnaW5fZXhpdCc6PC9kaXY+PGRpdj5EOi9lbXVfZGV2bC9xZW11X3NyYy9xZW11LXNy LWRzcC1hL3FlbXVfdGlkc3BfYzN4L3Rlc3RzL3BsdWdpbi9iYi5jOjI2OiB1bmRlZmluZWQg cmVmZXJlbmNlIHRvIGBnX3N0cmR1cF9wcmludGYnPC9kaXY+PGRpdj5DOi9tc3lzNjQvbWlu Z3c2NC9iaW4vLi4vbGliL2djYy94ODZfNjQtdzY0LW1pbmd3MzIvMTAuMS4wLy4uLy4uLy4u Ly4uL3g4Nl82NC13NjQtbWluZ3czMi9iaW4vbGQuZXhlOiBEOi9lbXVfZGV2bC9xZW11X3Ny Yy9xZW11LXNyLWRzcC1hL3FlbXVfdGlkc3BfYzN4L3Rlc3RzL3BsdWdpbi9iYi5jOjI4OiB1 bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBxZW11X3BsdWdpbl9vdXRzJzwvZGl2PjxkaXY+Qzov bXN5czY0L21pbmd3NjQvYmluLy4uL2xpYi9nY2MveDg2XzY0LXc2NC1taW5ndzMyLzEwLjEu MC8uLi8uLi8uLi8uLi94ODZfNjQtdzY0LW1pbmd3MzIvYmluL2xkLmV4ZTogRDovZW11X2Rl dmwvcWVtdV9zcmMvcWVtdS1zci1kc3AtYS9xZW11X3RpZHNwX2MzeC90ZXN0cy9wbHVnaW4v YmIuYzoyOTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX19zdGFja19jaGtfZmFpbCc8L2Rp dj48ZGl2PkM6L21zeXM2NC9taW5ndzY0L2Jpbi8uLi9saWIvZ2NjL3g4Nl82NC13NjQtbWlu Z3czMi8xMC4xLjAvLi4vLi4vLi4vLi4veDg2XzY0LXc2NC1taW5ndzMyL2Jpbi9sZC5leGU6 IGJiLm86IGluIGZ1bmN0aW9uIGB2Y3B1X3RiX3RyYW5zJzo8L2Rpdj48ZGl2PkQ6L2VtdV9k ZXZsL3FlbXVfc3JjL3FlbXUtc3ItZHNwLWEvcWVtdV90aWRzcF9jM3gvdGVzdHMvcGx1Z2lu L2JiLmM6NDE6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHFlbXVfcGx1Z2luX3RiX25faW5z bnMnPC9kaXY+PGRpdj5DOi9tc3lzNjQvbWluZ3c2NC9iaW4vLi4vbGliL2djYy94ODZfNjQt dzY0LW1pbmd3MzIvMTAuMS4wLy4uLy4uLy4uLy4uL3g4Nl82NC13NjQtbWluZ3czMi9iaW4v bGQuZXhlOiBEOi9lbXVfZGV2bC9xZW11X3NyYy9xZW11LXNyLWRzcC1hL3FlbXVfdGlkc3Bf YzN4L3Rlc3RzL3BsdWdpbi9iYi5jOjQ0OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBxZW11 X3BsdWdpbl9yZWdpc3Rlcl92Y3B1X3RiX2V4ZWNfaW5saW5lJzwvZGl2PjxkaXY+QzovbXN5 czY0L21pbmd3NjQvYmluLy4uL2xpYi9nY2MveDg2XzY0LXc2NC1taW5ndzMyLzEwLjEuMC8u Li8uLi8uLi8uLi94ODZfNjQtdzY0LW1pbmd3MzIvYmluL2xkLmV4ZTogRDovZW11X2Rldmwv cWVtdV9zcmMvcWVtdS1zci1kc3AtYS9xZW11X3RpZHNwX2MzeC90ZXN0cy9wbHVnaW4vYmIu Yzo0NjogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgcWVtdV9wbHVnaW5fcmVnaXN0ZXJfdmNw dV90Yl9leGVjX2lubGluZSc8L2Rpdj48ZGl2PkM6L21zeXM2NC9taW5ndzY0L2Jpbi8uLi9s aWIvZ2NjL3g4Nl82NC13NjQtbWluZ3czMi8xMC4xLjAvLi4vLi4vLi4vLi4veDg2XzY0LXc2 NC1taW5ndzMyL2Jpbi9sZC5leGU6IEQ6L2VtdV9kZXZsL3FlbXVfc3JjL3FlbXUtc3ItZHNw LWEvcWVtdV90aWRzcF9jM3gvdGVzdHMvcGx1Z2luL2JiLmM6NDk6IHVuZGVmaW5lZCByZWZl cmVuY2UgdG8gYHFlbXVfcGx1Z2luX3JlZ2lzdGVyX3ZjcHVfdGJfZXhlY19jYic8L2Rpdj48 ZGl2PkM6L21zeXM2NC9taW5ndzY0L2Jpbi8uLi9saWIvZ2NjL3g4Nl82NC13NjQtbWluZ3cz Mi8xMC4xLjAvLi4vLi4vLi4vLi4veDg2XzY0LXc2NC1taW5ndzMyL2Jpbi9sZC5leGU6IGJi Lm86IGluIGZ1bmN0aW9uIGBxZW11X3BsdWdpbl9pbnN0YWxsJzo8L2Rpdj48ZGl2PkQ6L2Vt dV9kZXZsL3FlbXVfc3JjL3FlbXUtc3ItZHNwLWEvcWVtdV90aWRzcF9jM3gvdGVzdHMvcGx1 Z2luL2JiLmM6NjM6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHFlbXVfcGx1Z2luX3JlZ2lz dGVyX3ZjcHVfdGJfdHJhbnNfY2InPC9kaXY+PGRpdj5DOi9tc3lzNjQvbWluZ3c2NC9iaW4v Li4vbGliL2djYy94ODZfNjQtdzY0LW1pbmd3MzIvMTAuMS4wLy4uLy4uLy4uLy4uL3g4Nl82 NC13NjQtbWluZ3czMi9iaW4vbGQuZXhlOiBEOi9lbXVfZGV2bC9xZW11X3NyYy9xZW11LXNy LWRzcC1hL3FlbXVfdGlkc3BfYzN4L3Rlc3RzL3BsdWdpbi9iYi5jOjY0OiB1bmRlZmluZWQg cmVmZXJlbmNlIHRvIGBxZW11X3BsdWdpbl9yZWdpc3Rlcl9hdGV4aXRfY2InPC9kaXY+PGRp dj5DOi9tc3lzNjQvbWluZ3c2NC9iaW4vLi4vbGliL2djYy94ODZfNjQtdzY0LW1pbmd3MzIv MTAuMS4wLy4uLy4uLy4uLy4uL3g4Nl82NC13NjQtbWluZ3czMi9iaW4vbGQuZXhlOiBiYi5v OmJiLmM6KC5yZGF0YSQucmVmcHRyLl9fc3RhY2tfY2hrX2d1YXJkWy5yZWZwdHIuX19zdGFj a19jaGtfZ3VhcmRdKzB4MCk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9fc3RhY2tfY2hr X2d1YXJkJzwvZGl2PjxkaXY+Y29sbGVjdDIuZXhlOiBlcnJvcjogbGQgcmV0dXJuZWQgMSBl eGl0IHN0YXR1czwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOzwvZGl2PjxkaXY+Jm5ic3A7ICZu YnNwO0lmIEkgcmVwbGFjZSAkTERMSUJTIHdpdGggJExJQlMsIGxpbmtpbmcgZXJyb3IgdG8g Z2xpYiBmdW5jdGlvbnMgZGlzYXBwZWFyZWQgLCBhbmQgb3RoZXIgZXJyb3IgcmVtYWluczo8 L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PjxkaXY+eDg2XzY0LXc2NC1taW5ndzMyLWdjYyAt c2hhcmVkIC1XbCwtc29uYW1lLGxpYmJiLnNvIC1vIGxpYmJiLnNvIGJiLm8gLWxkbCAtTEM6 L21zeXM2NC9taW5ndzY0L2xpYiAtbHogLUxDOi9tc3lzNjQvbWluZ3c2NC9saWIgLWxnbW9k dWxlLTIuMCAtcHRocmVhZCAtbGdsaWItMi4wIC1saW50bCAtTEM6L21zeXM2NC9taW5ndzY0 L2xpYiAtbGd0aHJlYWQtMi4wIC1wdGhyZWFkIC1sZ2xpYi0yLjAgLWxpbnRsIC1sd2lubW0g LWx3czJfMzIgLWxpcGhscGFwaTwvZGl2PjxkaXY+QzovbXN5czY0L21pbmd3NjQvYmluLy4u L2xpYi9nY2MveDg2XzY0LXc2NC1taW5ndzMyLzEwLjEuMC8uLi8uLi8uLi8uLi94ODZfNjQt dzY0LW1pbmd3MzIvYmluL2xkLmV4ZTogYmIubzogaW4gZnVuY3Rpb24gYHBsdWdpbl9leGl0 Jzo8L2Rpdj48ZGl2PkQ6L2VtdV9kZXZsL3FlbXVfc3JjL3FlbXUtc3ItZHNwLWEvcWVtdV90 aWRzcF9jM3gvdGVzdHMvcGx1Z2luL2JiLmM6Mjg6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8g YHFlbXVfcGx1Z2luX291dHMnPC9kaXY+PGRpdj5DOi9tc3lzNjQvbWluZ3c2NC9iaW4vLi4v bGliL2djYy94ODZfNjQtdzY0LW1pbmd3MzIvMTAuMS4wLy4uLy4uLy4uLy4uL3g4Nl82NC13 NjQtbWluZ3czMi9iaW4vbGQuZXhlOiBEOi9lbXVfZGV2bC9xZW11X3NyYy9xZW11LXNyLWRz cC1hL3FlbXVfdGlkc3BfYzN4L3Rlc3RzL3BsdWdpbi9iYi5jOjI5OiB1bmRlZmluZWQgcmVm ZXJlbmNlIHRvIGBfX3N0YWNrX2Noa19mYWlsJzwvZGl2PjxkaXY+QzovbXN5czY0L21pbmd3 NjQvYmluLy4uL2xpYi9nY2MveDg2XzY0LXc2NC1taW5ndzMyLzEwLjEuMC8uLi8uLi8uLi8u Li94ODZfNjQtdzY0LW1pbmd3MzIvYmluL2xkLmV4ZTogYmIubzogaW4gZnVuY3Rpb24gYHZj cHVfdGJfdHJhbnMnOjwvZGl2PjxkaXY+RDovZW11X2RldmwvcWVtdV9zcmMvcWVtdS1zci1k c3AtYS9xZW11X3RpZHNwX2MzeC90ZXN0cy9wbHVnaW4vYmIuYzo0MTogdW5kZWZpbmVkIHJl ZmVyZW5jZSB0byBgcWVtdV9wbHVnaW5fdGJfbl9pbnNucyc8L2Rpdj48ZGl2PkM6L21zeXM2 NC9taW5ndzY0L2Jpbi8uLi9saWIvZ2NjL3g4Nl82NC13NjQtbWluZ3czMi8xMC4xLjAvLi4v Li4vLi4vLi4veDg2XzY0LXc2NC1taW5ndzMyL2Jpbi9sZC5leGU6IEQ6L2VtdV9kZXZsL3Fl bXVfc3JjL3FlbXUtc3ItZHNwLWEvcWVtdV90aWRzcF9jM3gvdGVzdHMvcGx1Z2luL2JiLmM6 NDQ6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHFlbXVfcGx1Z2luX3JlZ2lzdGVyX3ZjcHVf dGJfZXhlY19pbmxpbmUnPC9kaXY+PGRpdj5DOi9tc3lzNjQvbWluZ3c2NC9iaW4vLi4vbGli L2djYy94ODZfNjQtdzY0LW1pbmd3MzIvMTAuMS4wLy4uLy4uLy4uLy4uL3g4Nl82NC13NjQt bWluZ3czMi9iaW4vbGQuZXhlOiBEOi9lbXVfZGV2bC9xZW11X3NyYy9xZW11LXNyLWRzcC1h L3FlbXVfdGlkc3BfYzN4L3Rlc3RzL3BsdWdpbi9iYi5jOjQ2OiB1bmRlZmluZWQgcmVmZXJl bmNlIHRvIGBxZW11X3BsdWdpbl9yZWdpc3Rlcl92Y3B1X3RiX2V4ZWNfaW5saW5lJzwvZGl2 PjxkaXY+QzovbXN5czY0L21pbmd3NjQvYmluLy4uL2xpYi9nY2MveDg2XzY0LXc2NC1taW5n dzMyLzEwLjEuMC8uLi8uLi8uLi8uLi94ODZfNjQtdzY0LW1pbmd3MzIvYmluL2xkLmV4ZTog RDovZW11X2RldmwvcWVtdV9zcmMvcWVtdS1zci1kc3AtYS9xZW11X3RpZHNwX2MzeC90ZXN0 cy9wbHVnaW4vYmIuYzo0OTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgcWVtdV9wbHVnaW5f cmVnaXN0ZXJfdmNwdV90Yl9leGVjX2NiJzwvZGl2PjxkaXY+QzovbXN5czY0L21pbmd3NjQv YmluLy4uL2xpYi9nY2MveDg2XzY0LXc2NC1taW5ndzMyLzEwLjEuMC8uLi8uLi8uLi8uLi94 ODZfNjQtdzY0LW1pbmd3MzIvYmluL2xkLmV4ZTogYmIubzogaW4gZnVuY3Rpb24gYHFlbXVf cGx1Z2luX2luc3RhbGwnOjwvZGl2PjxkaXY+RDovZW11X2RldmwvcWVtdV9zcmMvcWVtdS1z ci1kc3AtYS9xZW11X3RpZHNwX2MzeC90ZXN0cy9wbHVnaW4vYmIuYzo2MzogdW5kZWZpbmVk IHJlZmVyZW5jZSB0byBgcWVtdV9wbHVnaW5fcmVnaXN0ZXJfdmNwdV90Yl90cmFuc19jYic8 L2Rpdj48ZGl2PkM6L21zeXM2NC9taW5ndzY0L2Jpbi8uLi9saWIvZ2NjL3g4Nl82NC13NjQt bWluZ3czMi8xMC4xLjAvLi4vLi4vLi4vLi4veDg2XzY0LXc2NC1taW5ndzMyL2Jpbi9sZC5l eGU6IEQ6L2VtdV9kZXZsL3FlbXVfc3JjL3FlbXUtc3ItZHNwLWEvcWVtdV90aWRzcF9jM3gv dGVzdHMvcGx1Z2luL2JiLmM6NjQ6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHFlbXVfcGx1 Z2luX3JlZ2lzdGVyX2F0ZXhpdF9jYic8L2Rpdj48ZGl2PkM6L21zeXM2NC9taW5ndzY0L2Jp bi8uLi9saWIvZ2NjL3g4Nl82NC13NjQtbWluZ3czMi8xMC4xLjAvLi4vLi4vLi4vLi4veDg2 XzY0LXc2NC1taW5ndzMyL2Jpbi9sZC5leGU6IGJiLm86YmIuYzooLnJkYXRhJC5yZWZwdHIu X19zdGFja19jaGtfZ3VhcmRbLnJlZnB0ci5fX3N0YWNrX2Noa19ndWFyZF0rMHgwKTogdW5k ZWZpbmVkIHJlZmVyZW5jZSB0byBgX19zdGFja19jaGtfZ3VhcmQnPC9kaXY+PGRpdj5jb2xs ZWN0Mi5leGU6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzPC9kaXY+PC9kaXY+ PGRpdj4mbmJzcDsmbmJzcDs8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O2x1Y2lk YSBHcmFuZGUmcXVvdDssIFZlcmRhbmEsICZxdW90O01pY3Jvc29mdCBZYUhlaSZxdW90Ozsi PlRoZSBsaWJkbCBsaWJyYXJ5ICh3aGVyZSBkbG9wZW4oKSBpcyBkZWZpbmVkKSBpcyBjb21w aWxlZCBmcm9tIHNvdXJjZSg8L3NwYW4+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2Rs ZmNuLXdpbjMyL2RsZmNuLXdpbjMyIiByZWw9Im5vb3BlbmVyIiB0YXJnZXQ9Il9ibGFuayIg c3R5bGU9Im91dGxpbmU6IG5vbmU7IGN1cnNvcjogcG9pbnRlcjsgY29sb3I6IHJnYigzMCwg ODQsIDE0OCk7IGZvbnQtZmFtaWx5OiAmcXVvdDtsdWNpZGEgR3JhbmRlJnF1b3Q7LCBWZXJk YW5hLCAmcXVvdDtNaWNyb3NvZnQgWWFIZWkmcXVvdDs7Ij5odHRwczovL2dpdGg8d2JyPnVi LmNvbS9kbGZjbjx3YnI+LXdpbjMyL2RsZmNuPHdicj4td2luMzI8L2E+PHNwYW4gc3R5bGU9 ImZvbnQtZmFtaWx5OiAmcXVvdDtsdWNpZGEgR3JhbmRlJnF1b3Q7LCBWZXJkYW5hLCAmcXVv dDtNaWNyb3NvZnQgWWFIZWkmcXVvdDs7Ij4pLCBhbmQgSSBwbGFjZSB0aGUgZ2VuZXJhdGVk IGxpYmRsLmRsbCwgbGliZGwuYSwgbGliZGwuZGxsLmEgaW4gQzpcbXN5czY0XG1pbmd3NjRc aW5jbHVkZS4mbmJzcDsgZGxmY24uaCBpbiBDOlxtc3lzNjRcbWluZ3c2NFxpbmNsdWRlLjwv c3Bhbj4mbmJzcDsmbmJzcDs8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PnJlZ2FyZHMsPC9k aXY+PGRpdj54aWFvbGVpPC9kaXY+PC9kaXY+PGRpdj48ZGl2Pjxicj48L2Rpdj48ZGl2Pjxi cj48L2Rpdj48ZGl2IHN0eWxlPSJmb250LXNpemU6IDEycHg7Zm9udC1mYW1pbHk6IEFyaWFs IE5hcnJvdztwYWRkaW5nOjJweCAwIDJweCAwOyI+LS0tLS0tLS0tLS0tLS0tLS0tINStyrzT yrz+IC0tLS0tLS0tLS0tLS0tLS0tLTwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMTJw eDtiYWNrZ3JvdW5kOiNlZmVmZWY7cGFkZGluZzo4cHg7Ij48ZGl2PjxiPjo8L2I+Jm5ic3A7 IkVtaWxpbyBHLiBDb3RhIiZsdDsxODg1ODI3QGJ1Z3MubGF1bmNocGFkLm5ldCZndDs7PC9k aXY+PGRpdj48Yj46PC9iPiZuYnNwOzIwMjDE6jfUwjTI1SjQx8bawfkpINbQzucxMToxNjxi Pjo8L2I+Jm5ic3A7ImNhc21hYyImbHQ7MTQ4Mjk5NTY3NUBxcS5jb20mZ3Q7OzwvZGl2Pjxk aXY+PHdicj48L2Rpdj48ZGl2PjwvZGl2PjxkaXY+PGI+OjwvYj4mbmJzcDtbQnVnIDE4ODU4 MjddIFJlOiBidWlsZGluZyBwbHVnaW4gZmFpbGVkIG9uIFdpbmRvd3Mgd2l0aCBtaW5ndzwv ZGl2PjwvZGl2PjxkaXY+PGJyPjwvZGl2PkkgbmV2ZXIgYnVpbHQgdGhlIHBsdWdpbiBjb2Rl IG9uIGFueXRoaW5nIG90aGVyIHRoYW4gTGludXggOig8YnI+QWxsIEkgZGlkIGZvciBXaW5k b3dzIGlzIHRvIHRyeSB0byBmb2xsb3cgaHR0cHM6Ly9nY2MuZ251Lm9yZy93aWtpL1Zpc2li aWxpdHk8YnI+PGJyPkNhbiB5b3UgcGxlYXNlIHRyeSB0aGUgZm9sbG93aW5nIHBhdGNoICh3 aXRoIG5vIG90aGVyIGNoYW5nZXMpPzxicj5UaGUgcGF0Y2ggYXBwbGllcyBvbiB0b3Agb2Yg djQuMi4wLjxicj48YnI+ZGlmZiAtLWdpdCBhL3Rlc3RzL3BsdWdpbi9NYWtlZmlsZSBiL3Rl c3RzL3BsdWdpbi9NYWtlZmlsZTxicj5pbmRleCA3NTQ2N2I2ZGI4Li41YjM2MTFhZDYzIDEw MDY0NDxicj4tLS0gYS90ZXN0cy9wbHVnaW4vTWFrZWZpbGU8YnI+KysrIGIvdGVzdHMvcGx1 Z2luL01ha2VmaWxlPGJyPkBAIC0xNiw3ICsxNiw3IEBAIE5BTUVTICs9IGhvdHBhZ2VzPGJy Pjxicj4mbmJzcDtTT05BTUVTIDo9ICQoYWRkc3VmZml4IC5zbywkKGFkZHByZWZpeCBsaWIs JChOQU1FUykpKTxicj48YnI+LVFFTVVfQ0ZMQUdTICs9IC1mUElDPGJyPitRRU1VX0NGTEFH UyArPSAtZlBJQyAtREJVSUxESU5HX0RMTDxicj4mbmJzcDtRRU1VX0NGTEFHUyArPSAtSSQo U1JDX1BBVEgpL2luY2x1ZGUvcWVtdTxicj48YnI+Jm5ic3A7YWxsOiAkKFNPTkFNRVMpPGJy Pjxicj4tLSA8YnI+WW91IHJlY2VpdmVkIHRoaXMgYnVnIG5vdGlmaWNhdGlvbiBiZWNhdXNl IHlvdSBhcmUgc3Vic2NyaWJlZCB0byB0aGUgYnVnPGJyPnJlcG9ydC48YnI+aHR0cHM6Ly9i dWdzLmxhdW5jaHBhZC5uZXQvYnVncy8xODg1ODI3PGJyPjxicj5UaXRsZTo8YnI+Jm5ic3A7 IGJ1aWxkaW5nIHBsdWdpbiBmYWlsZWQgb24gV2luZG93cyB3aXRoIG1pbmd3PGJyPjxicj5T dGF0dXMgaW4gUUVNVTo8YnI+Jm5ic3A7IE5ldzxicj48YnI+QnVnIGRlc2NyaXB0aW9uOjxi cj4mbmJzcDsgSSB3YW50IHRvIGJ1aWxkIFFFTVUgNC4yLjAncyBwbHVnaW4gbW9kdWxlIG9u IFdpbmRvd3MgNy8xMCB3aXRoIE1pbmd3LCBidXQgdGhlIGJ1aWxkaW5nIHByb2Nlc3MgZmFp bGQuPGJyPiZuYnNwOyZuYnNwOyA8YnI+Jm5ic3A7IFRoZSBzdGVwIEkgZm9sbG93IGlzIGxp c3RlZCBiZWxvdzo8YnI+Jm5ic3A7IDEuIGNyZWF0ZSAiZHNwX2J1aWxkIiBkaXJldG9yeSB1 bmRlciBzb3VyY2UgZmlsZSBmb2xkZXI8YnI+PGJyPiZuYnNwOyAyLiZuYnNwOyBjaGFuZ2Ug ZGlyZWN0b3J5IHRvIGRzcF9idWlsZCAsIGFuZCBydW4gLi4vY29uZmlndXJlIC0tdGFyZ2V0 LWxpc3Q9ZHNwLXNvZnRtbXUgLS1jcm9zcy1wcmVmaXg9eDg2XzY0LXc2NC1taW5ndzMyLSAt LWVuYWJsZS1ndGsgLS1lbmFibGUtc2RsIC0tZW5hYmxlLWRlYnVnIC0tZW5hYmxlLXBsdWdp bnM8YnI+Jm5ic3A7IDMuIGJ1aWxkIHFlbXUgcHJvamVjdDxicj4mbmJzcDsgNC4gc3dpdGNo IGRpciB0byAvZHNwX2J1aWxkLCBtYWtlIC1DIHRlc3RzL3BsdWdpbiwgeWVpbGRzIGVycm9y OiA8YnI+Jm5ic3A7Jm5ic3A7ICZuYnNwOyBDQyZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDsg YmIubzxicj4mbmJzcDsmbmJzcDsgRDovZW11X2RldmwvcWVtdV9zcmMvcWVtdS1zci1kc3At YS9xZW11X3RpZHNwX2MzeC90ZXN0cy9wbHVnaW4vYmIuYzoxNzoyNDogZXJyb3I6IHZhcmlh YmxlICdxZW11X3BsdWdpbl92ZXJzaW9uJyBkZWZpbml0aW9uIGlzIG1hcmtlZCBkbGxpbXBv cnQ8YnI+Jm5ic3A7Jm5ic3A7ICZuYnNwOyAxNyB8IFFFTVVfUExVR0lOX0VYUE9SVCBpbnQg cWVtdV9wbHVnaW5fdmVyc2lvbiA9IFFFTVVfUExVR0lOX1ZFUlNJT047PGJyPiZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDsgfCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmbmJz cDsgXn5+fn5+fn5+fn5+fn5+fn5+fjxicj4mbmJzcDsmbmJzcDsgRDovZW11X2RldmwvcWVt dV9zcmMvcWVtdS1zci1kc3AtYS9xZW11X3RpZHNwX2MzeC90ZXN0cy9wbHVnaW4vYmIuYzox NzoyNDogd2FybmluZzogJ3FlbXVfcGx1Z2luX3ZlcnNpb24nIHJlZGVjbGFyZWQgd2l0aG91 dCBkbGxpbXBvcnQgYXR0cmlidXRlOiBwcmV2aW91cyBkbGxpbXBvcnQgaWdub3JlZCBbLVdh dHRyaWJ1dGVzXTxicj4mbmJzcDsmbmJzcDsgRDovZW11X2RldmwvcWVtdV9zcmMvcWVtdS1z ci1kc3AtYS9xZW11X3RpZHNwX2MzeC90ZXN0cy9wbHVnaW4vYmIuYzogSW4gZnVuY3Rpb24g J3ZjcHVfdGJfZXhlYyc6PGJyPiZuYnNwOyZuYnNwOyBEOi9lbXVfZGV2bC9xZW11X3NyYy9x ZW11LXNyLWRzcC1hL3FlbXVfdGlkc3BfYzN4L3Rlc3RzL3BsdWdpbi9iYi5jOjMzOjI5OiB3 YXJuaW5nOiBjYXN0IGZyb20gcG9pbnRlciB0byBpbnRlZ2VyIG9mIGRpZmZlcmVudCBzaXpl IFstV3BvaW50ZXItdG8taW50LWNhc3RdPGJyPiZuYnNwOyZuYnNwOyAmbmJzcDsgMzMgfCZu YnNwOyZuYnNwOyAmbmJzcDsgdW5zaWduZWQgbG9uZyBuX2luc25zID0gKHVuc2lnbmVkIGxv bmcpdWRhdGE7PGJyPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDsgfCZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDsg Xjxicj4mbmJzcDsmbmJzcDsgRDovZW11X2RldmwvcWVtdV9zcmMvcWVtdS1zci1kc3AtYS9x ZW11X3RpZHNwX2MzeC90ZXN0cy9wbHVnaW4vYmIuYzogSW4gZnVuY3Rpb24gJ3ZjcHVfdGJf dHJhbnMnOjxicj4mbmJzcDsmbmJzcDsgRDovZW11X2RldmwvcWVtdV9zcmMvcWVtdS1zci1k c3AtYS9xZW11X3RpZHNwX2MzeC90ZXN0cy9wbHVnaW4vYmIuYzo1MTo0Njogd2FybmluZzog Y2FzdCB0byBwb2ludGVyIGZyb20gaW50ZWdlciBvZiBkaWZmZXJlbnQgc2l6ZSBbLVdpbnQt dG8tcG9pbnRlci1jYXN0XTxicj4mbmJzcDsmbmJzcDsgJm5ic3A7IDUxIHwmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7ICh2b2lkICopbl9pbnNu cyk7PGJyPjxicj4mbmJzcDsgNS4mbmJzcDsgVGhlbiAsIEkgbW9kaWZpZWQgdGhlIFFFTVVf ZmxhZ3MgYW5kIHRoZSBjb21waWxhdGlvbiBjb21tYW5kPGJyPiZuYnNwOyBhcmd1bWVudHMo JChDQykgLi4pIGluJm5ic3A7IHRoZSZuYnNwOyBtYWtlZmlsZSA6PGJyPjxicj4mbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7IEJVSUxEX0RJUiA6PSAkKENV UkRJUikvLi4vLi48YnI+PGJyPiZuYnNwOyAJCWluY2x1ZGUgJChCVUlMRF9ESVIpL2NvbmZp Zy1ob3N0Lm1hazxicj4mbmJzcDsgCQlpbmNsdWRlICQoU1JDX1BBVEgpL3J1bGVzLm1hazxi cj48YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZuYnNwOyAkKGNh bGwgc2V0LXZwYXRoLCAkKFNSQ19QQVRIKS90ZXN0cy9wbHVnaW4pPGJyPjxicj4mbmJzcDsg CQlOQU1FUyA6PTxicj4mbmJzcDsgCQlOQU1FUyArPSBiYjxicj4mbmJzcDsgCQlOQU1FUyAr PSBlbXB0eTxicj4mbmJzcDsgCQlOQU1FUyArPSBpbnNuPGJyPiZuYnNwOyAJCU5BTUVTICs9 IG1lbTxicj4mbmJzcDsgCQlOQU1FUyArPSBob3RibG9ja3M8YnI+Jm5ic3A7IAkJTkFNRVMg Kz0gaG93dmVjPGJyPiZuYnNwOyAJCU5BTUVTICs9IGhvdHBhZ2VzPGJyPjxicj4mbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7IFNPTkFNRVMgOj0gJChhZGRz dWZmaXggLnNvLCQoYWRkcHJlZml4IGxpYiwkKE5BTUVTKSkpPGJyPjxicj4mbmJzcDsgCQlR RU1VX0NGTEFHUyArPSAtZlBJQwktREJVSUxESU5HX0RMTCZuYnNwOyAJCSNhZGRlZCZuYnNw OyAtREJVSUxESU5HX0RMTDxicj4mbmJzcDsgCQlRRU1VX0NGTEFHUyArPSAtSSQoU1JDX1BB VEgpL2luY2x1ZGUvcWVtdTxicj48YnI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7ICZuYnNwOyBhbGw6ICQoU09OQU1FUyk8YnI+PGJyPiZuYnNwOyAJCWxpYiUuc286 ICUubzxicj4mbmJzcDsgCQkJJChDQykgLWZQSUMgLXNoYXJlZCAtbyAkQCAkXiAkKExETElC UykgLUwgL2MvbXN5czY0L21pbmd3NjQvbGliLyAtbGdsaWItMi4wPGJyPiZuYnNwOyAJCQkj IG9yaWdpbmFsIGNtZDogJChDQykgLXNoYXJlZCAtV2wsLXNvbmFtZSwkQCAtbyAkQCAkXiAk KExETElCUyk8YnI+PGJyPiZuYnNwOyAJCWNsZWFuOjxicj4mbmJzcDsgCQkJcm0gLWYgKi5v ICouc28gKi5kPGJyPiZuYnNwOyAJCQlybSAtUmYgLmxpYnM8YnI+PGJyPiZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDsgLlBIT05ZOiBhbGwgY2xlYW48YnI+ PGJyPiZuYnNwOyA2LiZuYnNwOyBFeGVjdXRpbmcgbWFrZSB5ZWlsZHM6PGJyPjxicj4mbmJz cDsgbWFrZTogZW50ZXIgJm5ic3A7IKGwL2QvZW11X2RldmwvcWVtdV9zcmMvcWVtdS1zci1k c3AtYS9xZW11X3RpZHNwX2MzeC9idWlsZF9kc3AvdGVzdHMvcGx1Z2luobE8YnI+Jm5ic3A7 ICZuYnNwOyBDQyZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDsgYmIubzxicj4mbmJzcDsgeDg2 XzY0LXc2NC1taW5ndzMyLWdjYyAtZlBJQyAtc2hhcmVkIC1vIGxpYmJiLnNvIGJiLm8mbmJz cDsgLUwgL2MvbXN5czY0L21pbmd3NjQvbGliLyAtbGdsaWItMi4wPGJyPiZuYnNwOyBDOi9t c3lzNjQvbWluZ3c2NC9iaW4vLi4vbGliL2djYy94ODZfNjQtdzY0LW1pbmd3MzIvMTAuMS4w Ly4uLy4uLy4uLy4uL3g4Nl82NC13NjQtbWluZ3czMi9iaW4vbGQuZXhlOiBiYi5vOiBpbiBm dW5jdGlvbiBgcGx1Z2luX2V4aXQnOjxicj4mbmJzcDsgRDovZW11X2RldmwvcWVtdV9zcmMv cWVtdS1zci1kc3AtYS9xZW11X3RpZHNwX2MzeC90ZXN0cy9wbHVnaW4vYmIuYzoyODogdW5k ZWZpbmVkIHJlZmVyZW5jZSB0byBgcWVtdV9wbHVnaW5fb3V0cyc8YnI+Jm5ic3A7IEM6L21z eXM2NC9taW5ndzY0L2Jpbi8uLi9saWIvZ2NjL3g4Nl82NC13NjQtbWluZ3czMi8xMC4xLjAv Li4vLi4vLi4vLi4veDg2XzY0LXc2NC1taW5ndzMyL2Jpbi9sZC5leGU6IEQ6L2VtdV9kZXZs L3FlbXVfc3JjL3FlbXUtc3ItZHNwLWEvcWVtdV90aWRzcF9jM3gvdGVzdHMvcGx1Z2luL2Ji LmM6Mjk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9fc3RhY2tfY2hrX2ZhaWwnPGJyPiZu YnNwOyBDOi9tc3lzNjQvbWluZ3c2NC9iaW4vLi4vbGliL2djYy94ODZfNjQtdzY0LW1pbmd3 MzIvMTAuMS4wLy4uLy4uLy4uLy4uL3g4Nl82NC13NjQtbWluZ3czMi9iaW4vbGQuZXhlOiBi Yi5vOiBpbiBmdW5jdGlvbiBgdmNwdV90Yl90cmFucyc6PGJyPiZuYnNwOyBEOi9lbXVfZGV2 bC9xZW11X3NyYy9xZW11LXNyLWRzcC1hL3FlbXVfdGlkc3BfYzN4L3Rlc3RzL3BsdWdpbi9i Yi5jOjQxOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBxZW11X3BsdWdpbl90Yl9uX2luc25z Jzxicj4mbmJzcDsgQzovbXN5czY0L21pbmd3NjQvYmluLy4uL2xpYi9nY2MveDg2XzY0LXc2 NC1taW5ndzMyLzEwLjEuMC8uLi8uLi8uLi8uLi94ODZfNjQtdzY0LW1pbmd3MzIvYmluL2xk LmV4ZTogRDovZW11X2RldmwvcWVtdV9zcmMvcWVtdS1zci1kc3AtYS9xZW11X3RpZHNwX2Mz eC90ZXN0cy9wbHVnaW4vYmIuYzo0NDogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgcWVtdV9w bHVnaW5fcmVnaXN0ZXJfdmNwdV90Yl9leGVjX2lubGluZSc8YnI+Jm5ic3A7IEM6L21zeXM2 NC9taW5ndzY0L2Jpbi8uLi9saWIvZ2NjL3g4Nl82NC13NjQtbWluZ3czMi8xMC4xLjAvLi4v Li4vLi4vLi4veDg2XzY0LXc2NC1taW5ndzMyL2Jpbi9sZC5leGU6IEQ6L2VtdV9kZXZsL3Fl bXVfc3JjL3FlbXUtc3ItZHNwLWEvcWVtdV90aWRzcF9jM3gvdGVzdHMvcGx1Z2luL2JiLmM6 NDY6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHFlbXVfcGx1Z2luX3JlZ2lzdGVyX3ZjcHVf dGJfZXhlY19pbmxpbmUnPGJyPiZuYnNwOyBDOi9tc3lzNjQvbWluZ3c2NC9iaW4vLi4vbGli L2djYy94ODZfNjQtdzY0LW1pbmd3MzIvMTAuMS4wLy4uLy4uLy4uLy4uL3g4Nl82NC13NjQt bWluZ3czMi9iaW4vbGQuZXhlOiBEOi9lbXVfZGV2bC9xZW11X3NyYy9xZW11LXNyLWRzcC1h L3FlbXVfdGlkc3BfYzN4L3Rlc3RzL3BsdWdpbi9iYi5jOjQ5OiB1bmRlZmluZWQgcmVmZXJl bmNlIHRvIGBxZW11X3BsdWdpbl9yZWdpc3Rlcl92Y3B1X3RiX2V4ZWNfY2InPGJyPiZuYnNw OyBDOi9tc3lzNjQvbWluZ3c2NC9iaW4vLi4vbGliL2djYy94ODZfNjQtdzY0LW1pbmd3MzIv MTAuMS4wLy4uLy4uLy4uLy4uL3g4Nl82NC13NjQtbWluZ3czMi9iaW4vbGQuZXhlOiBiYi5v OiBpbiBmdW5jdGlvbiBgcWVtdV9wbHVnaW5faW5zdGFsbCc6PGJyPiZuYnNwOyBEOi9lbXVf ZGV2bC9xZW11X3NyYy9xZW11LXNyLWRzcC1hL3FlbXVfdGlkc3BfYzN4L3Rlc3RzL3BsdWdp bi9iYi5jOjYzOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBxZW11X3BsdWdpbl9yZWdpc3Rl cl92Y3B1X3RiX3RyYW5zX2NiJzxicj4mbmJzcDsgQzovbXN5czY0L21pbmd3NjQvYmluLy4u L2xpYi9nY2MveDg2XzY0LXc2NC1taW5ndzMyLzEwLjEuMC8uLi8uLi8uLi8uLi94ODZfNjQt dzY0LW1pbmd3MzIvYmluL2xkLmV4ZTogRDovZW11X2RldmwvcWVtdV9zcmMvcWVtdS1zci1k c3AtYS9xZW11X3RpZHNwX2MzeC90ZXN0cy9wbHVnaW4vYmIuYzo2NDogdW5kZWZpbmVkIHJl ZmVyZW5jZSB0byBgcWVtdV9wbHVnaW5fcmVnaXN0ZXJfYXRleGl0X2NiJzxicj4mbmJzcDsg QzovbXN5czY0L21pbmd3NjQvYmluLy4uL2xpYi9nY2MveDg2XzY0LXc2NC1taW5ndzMyLzEw LjEuMC8uLi8uLi8uLi8uLi94ODZfNjQtdzY0LW1pbmd3MzIvYmluL2xkLmV4ZTogYmIubzpi Yi5jOigucmRhdGEkLnJlZnB0ci5fX3N0YWNrX2Noa19ndWFyZFsucmVmcHRyLl9fc3RhY2tf Y2hrX2d1YXJkXSsweDApOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfX3N0YWNrX2Noa19n dWFyZCc8YnI+Jm5ic3A7IGNvbGxlY3QyLmV4ZTogZXJyb3I6IGxkIHJldHVybmVkIDEgZXhp dCBzdGF0dXM8YnI+PGJyPiZuYnNwOyZuYnNwOyAmbmJzcDsgSXQgbG9va3MgbGlrZSBsaW5r aW5nIHByb2JsZW0oZmFpbCB0byBsaW5rIGZ1bmN0aW9ucyBkZWZpbmVkIGluIGFwaS5jLCBj b3JlLmMuLi4pLCBidXQgSSBoYXZlIG5vIGlkZWEgd2hhdCBnb2VzIHdyb25nLiBJZiBJIG1h bm51YWx5IGFkZCBhcGkubywgY29yZS5vIGluIHRoZSBjb21waWxhdGlvbiBjb21tYW5kLCBz dGlsbCBnZXQgZXJyb3IgbGlrZSB1bmRlZmluZWQgcmVmZXJlbmNlIHRvICdfX3N0YWNrX2No a19ndWFyZCcuIDxicj4mbmJzcDsmbmJzcDsgJm5ic3A7IE15IGNvbGxlZ3VlIGNhbiBidWls ZCA0LjIuMCZuYnNwOyBwbHVnaW5zIG9uIFVidW50dSBMaW51eCB3aXRob3V0IGFueSBwcm9i bGVtLjxicj48YnI+VG8gbWFuYWdlIG5vdGlmaWNhdGlvbnMgYWJvdXQgdGhpcyBidWcgZ28g dG86PGJyPmh0dHBzOi8vYnVncy5sYXVuY2hwYWQubmV0L3FlbXUvK2J1Zy8xODg1ODI3Lytz dWJzY3JpcHRpb25zPGJyPjwvZGl2Pg== ------=_NextPart_5F0010E4_102CD6A0_2F8B7CC4--